codex 1.6.0a6__py3-none-any.whl → 1.6.0a7__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 (548) hide show
  1. codex/exceptions.py +1 -0
  2. codex/librarian/importer/aggregate_metadata.py +2 -10
  3. codex/librarian/importer/{covers.py → cache.py} +2 -2
  4. codex/librarian/importer/importerd.py +5 -3
  5. codex/librarian/janitor/janitor.py +1 -1
  6. codex/librarian/librariand.py +1 -1
  7. codex/permissions.py +1 -1
  8. codex/serializers/admin.py +1 -2
  9. codex/serializers/browser/filters.py +8 -101
  10. codex/serializers/browser/mixins.py +20 -3
  11. codex/serializers/browser/page.py +2 -2
  12. codex/serializers/browser/settings.py +2 -0
  13. codex/serializers/fields.py +123 -0
  14. codex/serializers/mtime.py +25 -0
  15. codex/serializers/opds/v2.py +7 -11
  16. codex/serializers/opds/v2_unused.py +5 -3
  17. codex/serializers/reader.py +5 -2
  18. codex/serializers/route.py +7 -3
  19. codex/static_root/assets/VCheckbox-BOUtyxuo.c690f0cdbe48.js +1 -0
  20. codex/static_root/assets/VCheckbox-BOUtyxuo.c690f0cdbe48.js.br +0 -0
  21. codex/static_root/assets/VCheckbox-BOUtyxuo.c690f0cdbe48.js.gz +0 -0
  22. codex/static_root/assets/VCheckbox-BOUtyxuo.js +1 -0
  23. codex/static_root/assets/VCheckbox-BOUtyxuo.js.br +0 -0
  24. codex/static_root/assets/VCheckbox-BOUtyxuo.js.gz +0 -0
  25. codex/static_root/assets/VCheckboxBtn-B1-m5pEh.e2b8cbdb92c9.js +1 -0
  26. codex/static_root/assets/VCheckboxBtn-B1-m5pEh.e2b8cbdb92c9.js.br +0 -0
  27. codex/static_root/assets/VCheckboxBtn-B1-m5pEh.e2b8cbdb92c9.js.gz +0 -0
  28. codex/static_root/assets/VCheckboxBtn-B1-m5pEh.js +1 -0
  29. codex/static_root/assets/VCheckboxBtn-B1-m5pEh.js.br +0 -0
  30. codex/static_root/assets/VCheckboxBtn-B1-m5pEh.js.gz +0 -0
  31. codex/static_root/assets/VCombobox-DjkDXe33.22617ea193b1.js +1 -0
  32. codex/static_root/assets/VCombobox-DjkDXe33.22617ea193b1.js.br +0 -0
  33. codex/static_root/assets/VCombobox-DjkDXe33.22617ea193b1.js.gz +0 -0
  34. codex/static_root/assets/VCombobox-DjkDXe33.js +1 -0
  35. codex/static_root/assets/VCombobox-DjkDXe33.js.br +0 -0
  36. codex/static_root/assets/VCombobox-DjkDXe33.js.gz +0 -0
  37. codex/static_root/assets/VDialog-X0zn9AGX.0d89c749b9a6.js +1 -0
  38. codex/static_root/assets/VDialog-X0zn9AGX.0d89c749b9a6.js.br +0 -0
  39. codex/static_root/assets/VDialog-X0zn9AGX.0d89c749b9a6.js.gz +0 -0
  40. codex/static_root/assets/VDialog-X0zn9AGX.js +1 -0
  41. codex/static_root/assets/VDialog-X0zn9AGX.js.br +0 -0
  42. codex/static_root/assets/VDialog-X0zn9AGX.js.gz +0 -0
  43. codex/static_root/assets/VExpansionPanels-CRevojaF.43d65c777c58.js +1 -0
  44. codex/static_root/assets/VExpansionPanels-CRevojaF.43d65c777c58.js.br +0 -0
  45. codex/static_root/assets/VExpansionPanels-CRevojaF.43d65c777c58.js.gz +0 -0
  46. codex/static_root/assets/VExpansionPanels-CRevojaF.js +1 -0
  47. codex/static_root/assets/VExpansionPanels-CRevojaF.js.br +0 -0
  48. codex/static_root/assets/VExpansionPanels-CRevojaF.js.gz +0 -0
  49. codex/static_root/assets/VRadioGroup-8nrrxjDv.2b4dfb984a8c.js +1 -0
  50. codex/static_root/assets/VRadioGroup-8nrrxjDv.2b4dfb984a8c.js.br +0 -0
  51. codex/static_root/assets/VRadioGroup-8nrrxjDv.2b4dfb984a8c.js.gz +0 -0
  52. codex/static_root/assets/VRadioGroup-8nrrxjDv.js +1 -0
  53. codex/static_root/assets/VRadioGroup-8nrrxjDv.js.br +0 -0
  54. codex/static_root/assets/VRadioGroup-8nrrxjDv.js.gz +0 -0
  55. codex/static_root/assets/VSelect-DgfIKRnC.fa7a73a9c415.js +1 -0
  56. codex/static_root/assets/VSelect-DgfIKRnC.fa7a73a9c415.js.br +0 -0
  57. codex/static_root/assets/VSelect-DgfIKRnC.fa7a73a9c415.js.gz +0 -0
  58. codex/static_root/assets/VSelect-DgfIKRnC.js +1 -0
  59. codex/static_root/assets/VSelect-DgfIKRnC.js.br +0 -0
  60. codex/static_root/assets/VSelect-DgfIKRnC.js.gz +0 -0
  61. codex/static_root/assets/VSelectionControl-CGu0oz0K.3030b7a270d6.js +1 -0
  62. codex/static_root/assets/VSelectionControl-CGu0oz0K.3030b7a270d6.js.br +0 -0
  63. codex/static_root/assets/VSelectionControl-CGu0oz0K.3030b7a270d6.js.gz +0 -0
  64. codex/static_root/assets/VSelectionControl-CGu0oz0K.js +1 -0
  65. codex/static_root/assets/VSelectionControl-CGu0oz0K.js.br +0 -0
  66. codex/static_root/assets/VSelectionControl-CGu0oz0K.js.gz +0 -0
  67. codex/static_root/assets/VSlideGroup-D_oNvCOd.71a7101cdddd.js +1 -0
  68. codex/static_root/assets/VSlideGroup-D_oNvCOd.71a7101cdddd.js.br +0 -0
  69. codex/static_root/assets/VSlideGroup-D_oNvCOd.71a7101cdddd.js.gz +0 -0
  70. codex/static_root/assets/VSlideGroup-D_oNvCOd.js +1 -0
  71. codex/static_root/assets/VSlideGroup-D_oNvCOd.js.br +0 -0
  72. codex/static_root/assets/VSlideGroup-D_oNvCOd.js.gz +0 -0
  73. codex/static_root/assets/{VTable-C0gAriFq.fa6e4b60d4ef.js → VTable-C7pKI7gU.087912f706f5.js} +1 -1
  74. codex/static_root/assets/VTable-C7pKI7gU.087912f706f5.js.br +0 -0
  75. codex/static_root/assets/VTable-C7pKI7gU.087912f706f5.js.gz +0 -0
  76. codex/static_root/assets/{VTable-C0gAriFq.js → VTable-C7pKI7gU.js} +1 -1
  77. codex/static_root/assets/VTable-C7pKI7gU.js.br +0 -0
  78. codex/static_root/assets/VTable-C7pKI7gU.js.gz +0 -0
  79. codex/static_root/assets/{VTextField-Da_Hs7ls.c295f24c251e.js → VTextField-Bs8oq9mk.7999fef12a03.js} +1 -1
  80. codex/static_root/assets/VTextField-Bs8oq9mk.7999fef12a03.js.br +0 -0
  81. codex/static_root/assets/VTextField-Bs8oq9mk.7999fef12a03.js.gz +0 -0
  82. codex/static_root/assets/{VTextField-Da_Hs7ls.js → VTextField-Bs8oq9mk.js} +1 -1
  83. codex/static_root/assets/VTextField-Bs8oq9mk.js.br +0 -0
  84. codex/static_root/assets/VTextField-Bs8oq9mk.js.gz +0 -0
  85. codex/static_root/assets/{VWindowItem-CFhKCj49.b2458002a937.js → VWindowItem-iyZ1XOkP.409f7d292253.js} +1 -1
  86. codex/static_root/assets/VWindowItem-iyZ1XOkP.409f7d292253.js.br +0 -0
  87. codex/static_root/assets/VWindowItem-iyZ1XOkP.409f7d292253.js.gz +0 -0
  88. codex/static_root/assets/{VWindowItem-CFhKCj49.js → VWindowItem-iyZ1XOkP.js} +1 -1
  89. codex/static_root/assets/VWindowItem-iyZ1XOkP.js.br +0 -0
  90. codex/static_root/assets/VWindowItem-iyZ1XOkP.js.gz +0 -0
  91. codex/static_root/assets/admin-B0pCBjma.2407da79bd20.js +1 -0
  92. codex/static_root/assets/admin-B0pCBjma.2407da79bd20.js.br +0 -0
  93. codex/static_root/assets/admin-B0pCBjma.2407da79bd20.js.gz +0 -0
  94. codex/static_root/assets/admin-B0pCBjma.js +1 -0
  95. codex/static_root/assets/admin-B0pCBjma.js.br +0 -0
  96. codex/static_root/assets/admin-B0pCBjma.js.gz +0 -0
  97. codex/static_root/assets/admin-drawer-panel-BxoNUHQr.5e2e1a4a255d.js +30 -0
  98. codex/static_root/assets/admin-drawer-panel-BxoNUHQr.5e2e1a4a255d.js.br +0 -0
  99. codex/static_root/assets/admin-drawer-panel-BxoNUHQr.5e2e1a4a255d.js.gz +0 -0
  100. codex/static_root/assets/admin-drawer-panel-BxoNUHQr.js +30 -0
  101. codex/static_root/assets/admin-drawer-panel-BxoNUHQr.js.br +0 -0
  102. codex/static_root/assets/admin-drawer-panel-BxoNUHQr.js.gz +0 -0
  103. codex/static_root/assets/{admin-drawer-panel-BHdNPwzF.bd2c1d6148bb.css → admin-drawer-panel-o87BwD38.ce39427c8201.css} +1 -1
  104. codex/static_root/assets/admin-drawer-panel-o87BwD38.ce39427c8201.css.br +0 -0
  105. codex/static_root/assets/{admin-drawer-panel-BHdNPwzF.bd2c1d6148bb.css.gz → admin-drawer-panel-o87BwD38.ce39427c8201.css.gz} +0 -0
  106. codex/static_root/assets/{admin-drawer-panel-BHdNPwzF.css → admin-drawer-panel-o87BwD38.css} +1 -1
  107. codex/static_root/assets/admin-drawer-panel-o87BwD38.css.br +0 -0
  108. codex/static_root/assets/{admin-drawer-panel-BHdNPwzF.css.gz → admin-drawer-panel-o87BwD38.css.gz} +0 -0
  109. codex/static_root/assets/browser-DbyAjCNh.577a228a966b.js +1 -0
  110. codex/static_root/assets/browser-DbyAjCNh.577a228a966b.js.br +0 -0
  111. codex/static_root/assets/browser-DbyAjCNh.577a228a966b.js.gz +0 -0
  112. codex/static_root/assets/browser-DbyAjCNh.js +1 -0
  113. codex/static_root/assets/browser-DbyAjCNh.js.br +0 -0
  114. codex/static_root/assets/browser-DbyAjCNh.js.gz +0 -0
  115. codex/static_root/assets/browser-VnzNj1t3.cff861ad2ca3.css +1 -0
  116. codex/static_root/assets/browser-VnzNj1t3.cff861ad2ca3.css.br +0 -0
  117. codex/static_root/assets/browser-VnzNj1t3.cff861ad2ca3.css.gz +0 -0
  118. codex/static_root/assets/browser-VnzNj1t3.css +1 -0
  119. codex/static_root/assets/browser-VnzNj1t3.css.br +0 -0
  120. codex/static_root/assets/browser-VnzNj1t3.css.gz +0 -0
  121. codex/static_root/assets/{change-password-dialog-JYM9aAR9.f71d378f4fa6.js → change-password-dialog-DZ9dP8_F.930f4cae3cb0.js} +1 -1
  122. codex/static_root/assets/change-password-dialog-DZ9dP8_F.930f4cae3cb0.js.br +0 -0
  123. codex/static_root/assets/change-password-dialog-DZ9dP8_F.930f4cae3cb0.js.gz +0 -0
  124. codex/static_root/assets/{change-password-dialog-JYM9aAR9.js → change-password-dialog-DZ9dP8_F.js} +1 -1
  125. codex/static_root/assets/change-password-dialog-DZ9dP8_F.js.br +0 -0
  126. codex/static_root/assets/change-password-dialog-DZ9dP8_F.js.gz +0 -0
  127. codex/static_root/assets/{confirm-dialog-ZAZ6P1Rc.515858dd21e8.js → confirm-dialog-RP7JNStF.a752a7c1e697.js} +1 -1
  128. codex/static_root/assets/confirm-dialog-RP7JNStF.a752a7c1e697.js.br +0 -0
  129. codex/static_root/assets/confirm-dialog-RP7JNStF.a752a7c1e697.js.gz +0 -0
  130. codex/static_root/assets/{confirm-dialog-ZAZ6P1Rc.js → confirm-dialog-RP7JNStF.js} +1 -1
  131. codex/static_root/assets/confirm-dialog-RP7JNStF.js.br +0 -0
  132. codex/static_root/assets/confirm-dialog-RP7JNStF.js.gz +0 -0
  133. codex/static_root/assets/copy-to-clipboard-DoUvDJVx.bec27f144aca.js +1 -0
  134. codex/static_root/assets/copy-to-clipboard-DoUvDJVx.bec27f144aca.js.br +0 -0
  135. codex/static_root/assets/copy-to-clipboard-DoUvDJVx.js +1 -0
  136. codex/static_root/assets/copy-to-clipboard-DoUvDJVx.js.br +0 -0
  137. codex/static_root/assets/{datetime-column-BT1MSP82.9617f6b94ebf.js → datetime-column-Cu3WYyPj.54b4c3817b74.js} +1 -1
  138. codex/static_root/assets/datetime-column-Cu3WYyPj.54b4c3817b74.js.br +0 -0
  139. codex/static_root/assets/datetime-column-Cu3WYyPj.54b4c3817b74.js.gz +0 -0
  140. codex/static_root/assets/{datetime-column-BT1MSP82.js → datetime-column-Cu3WYyPj.js} +1 -1
  141. codex/static_root/assets/datetime-column-Cu3WYyPj.js.br +0 -0
  142. codex/static_root/assets/datetime-column-Cu3WYyPj.js.gz +0 -0
  143. codex/static_root/assets/filter-DAdGUt-1.3261cbcd50b5.js +1 -0
  144. codex/static_root/assets/filter-DAdGUt-1.3261cbcd50b5.js.br +0 -0
  145. codex/static_root/assets/filter-DAdGUt-1.3261cbcd50b5.js.gz +0 -0
  146. codex/static_root/assets/filter-DAdGUt-1.js +1 -0
  147. codex/static_root/assets/filter-DAdGUt-1.js.br +0 -0
  148. codex/static_root/assets/filter-DAdGUt-1.js.gz +0 -0
  149. codex/static_root/assets/flag-tab-BP7Zs7iQ.cb16ef6363d4.js +1 -0
  150. codex/static_root/assets/flag-tab-BP7Zs7iQ.cb16ef6363d4.js.br +0 -0
  151. codex/static_root/assets/flag-tab-BP7Zs7iQ.cb16ef6363d4.js.gz +0 -0
  152. codex/static_root/assets/flag-tab-BP7Zs7iQ.js +1 -0
  153. codex/static_root/assets/flag-tab-BP7Zs7iQ.js.br +0 -0
  154. codex/static_root/assets/flag-tab-BP7Zs7iQ.js.gz +0 -0
  155. codex/static_root/assets/{group-tab-DFma2R-E.879c37b15bbd.js → group-tab-DEwh4jfB.a95097b5e320.js} +1 -1
  156. codex/static_root/assets/group-tab-DEwh4jfB.a95097b5e320.js.br +0 -0
  157. codex/static_root/assets/group-tab-DEwh4jfB.a95097b5e320.js.gz +0 -0
  158. codex/static_root/assets/{group-tab-DFma2R-E.js → group-tab-DEwh4jfB.js} +1 -1
  159. codex/static_root/assets/group-tab-DEwh4jfB.js.br +0 -0
  160. codex/static_root/assets/group-tab-DEwh4jfB.js.gz +0 -0
  161. codex/static_root/assets/http-error-xs3mIL8U.e143c472a96c.js +1 -0
  162. codex/static_root/assets/http-error-xs3mIL8U.e143c472a96c.js.br +0 -0
  163. codex/static_root/assets/http-error-xs3mIL8U.e143c472a96c.js.gz +0 -0
  164. codex/static_root/assets/http-error-xs3mIL8U.js +1 -0
  165. codex/static_root/assets/http-error-xs3mIL8U.js.br +0 -0
  166. codex/static_root/assets/http-error-xs3mIL8U.js.gz +0 -0
  167. codex/static_root/assets/{library-tab-V8DUGoHN.809c548ff347.js → library-tab-DrXvD9B2.f765f9d3bae4.js} +1 -1
  168. codex/static_root/assets/library-tab-DrXvD9B2.f765f9d3bae4.js.br +0 -0
  169. codex/static_root/assets/library-tab-DrXvD9B2.f765f9d3bae4.js.gz +0 -0
  170. codex/static_root/assets/{library-tab-V8DUGoHN.js → library-tab-DrXvD9B2.js} +1 -1
  171. codex/static_root/assets/library-tab-DrXvD9B2.js.br +0 -0
  172. codex/static_root/assets/library-tab-DrXvD9B2.js.gz +0 -0
  173. codex/static_root/assets/main-Dy9Uqpmh.2f99b1914b3e.js +32 -0
  174. codex/static_root/assets/main-Dy9Uqpmh.2f99b1914b3e.js.br +0 -0
  175. codex/static_root/assets/main-Dy9Uqpmh.2f99b1914b3e.js.gz +0 -0
  176. codex/static_root/assets/main-Dy9Uqpmh.js +32 -0
  177. codex/static_root/assets/main-Dy9Uqpmh.js.br +0 -0
  178. codex/static_root/assets/main-Dy9Uqpmh.js.gz +0 -0
  179. codex/static_root/assets/{main-sK7HC5h4.css → main-Ztp855PW.css} +1 -1
  180. codex/static_root/assets/main-Ztp855PW.css.br +0 -0
  181. codex/static_root/assets/{main-sK7HC5h4.css.gz → main-Ztp855PW.css.gz} +0 -0
  182. codex/static_root/assets/{main-sK7HC5h4.6f04ddfc5f1a.css → main-Ztp855PW.d46d718fac45.css} +1 -1
  183. codex/static_root/assets/main-Ztp855PW.d46d718fac45.css.br +0 -0
  184. codex/static_root/assets/{main-sK7HC5h4.6f04ddfc5f1a.css.gz → main-Ztp855PW.d46d718fac45.css.gz} +0 -0
  185. codex/static_root/assets/pagination-toolbar-DbS_HOT1.81222ab51ef4.js +1 -0
  186. codex/static_root/assets/pagination-toolbar-DbS_HOT1.81222ab51ef4.js.br +0 -0
  187. codex/static_root/assets/pagination-toolbar-DbS_HOT1.81222ab51ef4.js.gz +0 -0
  188. codex/static_root/assets/pagination-toolbar-DbS_HOT1.js +1 -0
  189. codex/static_root/assets/pagination-toolbar-DbS_HOT1.js.br +0 -0
  190. codex/static_root/assets/pagination-toolbar-DbS_HOT1.js.gz +0 -0
  191. codex/static_root/assets/{pagination-toolbar-ClZui9Zf.697d7ae11c21.css → pagination-toolbar-r6nbtWxg.4088ab042c0c.css} +1 -1
  192. codex/static_root/assets/pagination-toolbar-r6nbtWxg.4088ab042c0c.css.br +0 -0
  193. codex/static_root/assets/pagination-toolbar-r6nbtWxg.4088ab042c0c.css.gz +0 -0
  194. codex/static_root/assets/{pagination-toolbar-ClZui9Zf.css → pagination-toolbar-r6nbtWxg.css} +1 -1
  195. codex/static_root/assets/pagination-toolbar-r6nbtWxg.css.br +0 -0
  196. codex/static_root/assets/pagination-toolbar-r6nbtWxg.css.gz +0 -0
  197. codex/static_root/assets/pdf-doc-obrBwxa6.ec9bd13a5786.js +305 -0
  198. codex/static_root/assets/pdf-doc-obrBwxa6.ec9bd13a5786.js.br +0 -0
  199. codex/static_root/assets/pdf-doc-obrBwxa6.ec9bd13a5786.js.gz +0 -0
  200. codex/static_root/assets/pdf-doc-obrBwxa6.js +305 -0
  201. codex/static_root/assets/pdf-doc-obrBwxa6.js.br +0 -0
  202. codex/static_root/assets/pdf-doc-obrBwxa6.js.gz +0 -0
  203. codex/static_root/assets/reader-BXKUaUeC.953d30b969ef.js +2 -0
  204. codex/static_root/assets/reader-BXKUaUeC.953d30b969ef.js.br +0 -0
  205. codex/static_root/assets/reader-BXKUaUeC.953d30b969ef.js.gz +0 -0
  206. codex/static_root/assets/reader-BXKUaUeC.js +2 -0
  207. codex/static_root/assets/reader-BXKUaUeC.js.br +0 -0
  208. codex/static_root/assets/reader-BXKUaUeC.js.gz +0 -0
  209. codex/static_root/assets/{reader-N2Ei_y2K.8c0cdc0d513f.css → reader-OXJ1KVaW.a463b19d0508.css} +1 -1
  210. codex/static_root/assets/reader-OXJ1KVaW.a463b19d0508.css.br +0 -0
  211. codex/static_root/assets/reader-OXJ1KVaW.a463b19d0508.css.gz +0 -0
  212. codex/static_root/assets/{reader-N2Ei_y2K.css → reader-OXJ1KVaW.css} +1 -1
  213. codex/static_root/assets/reader-OXJ1KVaW.css.br +0 -0
  214. codex/static_root/assets/reader-OXJ1KVaW.css.gz +0 -0
  215. codex/static_root/assets/relation-chips-CZJcLjc8.1d7426dab654.js +1 -0
  216. codex/static_root/assets/relation-chips-CZJcLjc8.1d7426dab654.js.br +0 -0
  217. codex/static_root/assets/relation-chips-CZJcLjc8.1d7426dab654.js.gz +0 -0
  218. codex/static_root/assets/relation-chips-CZJcLjc8.js +1 -0
  219. codex/static_root/assets/relation-chips-CZJcLjc8.js.br +0 -0
  220. codex/static_root/assets/relation-chips-CZJcLjc8.js.gz +0 -0
  221. codex/static_root/assets/settings-drawer-7iTnAdjf.337eecf2fdbb.js +2 -0
  222. codex/static_root/assets/settings-drawer-7iTnAdjf.337eecf2fdbb.js.br +0 -0
  223. codex/static_root/assets/settings-drawer-7iTnAdjf.337eecf2fdbb.js.gz +0 -0
  224. codex/static_root/assets/settings-drawer-7iTnAdjf.js +2 -0
  225. codex/static_root/assets/settings-drawer-7iTnAdjf.js.br +0 -0
  226. codex/static_root/assets/settings-drawer-7iTnAdjf.js.gz +0 -0
  227. codex/static_root/assets/stats-tab-CQsK1n8O.544bf50ffb22.js +1 -0
  228. codex/static_root/assets/stats-tab-CQsK1n8O.544bf50ffb22.js.br +0 -0
  229. codex/static_root/assets/stats-tab-CQsK1n8O.544bf50ffb22.js.gz +0 -0
  230. codex/static_root/assets/stats-tab-CQsK1n8O.js +1 -0
  231. codex/static_root/assets/stats-tab-CQsK1n8O.js.br +0 -0
  232. codex/static_root/assets/stats-tab-CQsK1n8O.js.gz +0 -0
  233. codex/static_root/assets/task-tab-C60TLP6e.63aa929a4ed6.js +1 -0
  234. codex/static_root/assets/task-tab-C60TLP6e.63aa929a4ed6.js.br +0 -0
  235. codex/static_root/assets/task-tab-C60TLP6e.63aa929a4ed6.js.gz +0 -0
  236. codex/static_root/assets/task-tab-C60TLP6e.js +1 -0
  237. codex/static_root/assets/task-tab-C60TLP6e.js.br +0 -0
  238. codex/static_root/assets/task-tab-C60TLP6e.js.gz +0 -0
  239. codex/static_root/assets/to-case-CR9beRR0.21bb805fdab4.js +1 -0
  240. codex/static_root/assets/to-case-CR9beRR0.js +1 -0
  241. codex/static_root/assets/unauthorized-Bs7NSqea.c55650fac055.js +1 -0
  242. codex/static_root/assets/unauthorized-Bs7NSqea.c55650fac055.js.br +0 -0
  243. codex/static_root/assets/unauthorized-Bs7NSqea.c55650fac055.js.gz +0 -0
  244. codex/static_root/assets/unauthorized-Bs7NSqea.js +1 -0
  245. codex/static_root/assets/unauthorized-Bs7NSqea.js.br +0 -0
  246. codex/static_root/assets/unauthorized-Bs7NSqea.js.gz +0 -0
  247. codex/static_root/assets/user-tab-ChuH7Atm.7e80cf1fb78e.js +1 -0
  248. codex/static_root/assets/user-tab-ChuH7Atm.7e80cf1fb78e.js.br +0 -0
  249. codex/static_root/assets/user-tab-ChuH7Atm.7e80cf1fb78e.js.gz +0 -0
  250. codex/static_root/assets/user-tab-ChuH7Atm.js +1 -0
  251. codex/static_root/assets/user-tab-ChuH7Atm.js.br +0 -0
  252. codex/static_root/assets/user-tab-ChuH7Atm.js.gz +0 -0
  253. codex/static_root/js/choices.079a01e0be1a.json +1 -0
  254. codex/static_root/js/choices.079a01e0be1a.json.br +0 -0
  255. codex/static_root/js/choices.079a01e0be1a.json.gz +0 -0
  256. codex/static_root/js/choices.json +1 -1
  257. codex/static_root/js/choices.json.br +0 -0
  258. codex/static_root/js/choices.json.gz +0 -0
  259. codex/static_root/manifest.dad79c8475ae.json +629 -0
  260. codex/static_root/manifest.dad79c8475ae.json.br +0 -0
  261. codex/static_root/manifest.dad79c8475ae.json.gz +0 -0
  262. codex/static_root/manifest.json +263 -276
  263. codex/static_root/manifest.json.br +0 -0
  264. codex/static_root/manifest.json.gz +0 -0
  265. codex/static_root/staticfiles.json +1 -1
  266. codex/urls/api/auth.py +2 -1
  267. codex/urls/api/browser.py +2 -2
  268. codex/urls/api/reader.py +2 -2
  269. codex/urls/api/v3.py +2 -0
  270. codex/util.py +10 -0
  271. codex/views/admin/api_key.py +2 -6
  272. codex/views/admin/auth.py +30 -0
  273. codex/views/admin/flag.py +2 -7
  274. codex/views/admin/group.py +2 -6
  275. codex/views/admin/library.py +7 -20
  276. codex/views/admin/stats.py +7 -66
  277. codex/views/admin/tasks.py +12 -11
  278. codex/views/admin/user.py +3 -9
  279. codex/views/auth.py +31 -52
  280. codex/views/bookmark.py +7 -11
  281. codex/views/browser/{browser_annotations.py → annotations.py} +91 -61
  282. codex/views/browser/base.py +23 -71
  283. codex/views/browser/breadcrumbs.py +200 -0
  284. codex/views/browser/browser.py +64 -337
  285. codex/views/browser/choices.py +25 -33
  286. codex/views/browser/filters/annotations.py +2 -2
  287. codex/views/browser/filters/bookmark.py +9 -13
  288. codex/views/browser/filters/field.py +6 -5
  289. codex/views/browser/filters/group.py +8 -5
  290. codex/views/browser/filters/search.py +11 -8
  291. codex/views/browser/metadata.py +3 -7
  292. codex/views/browser/{browser_order_by.py → order_by.py} +2 -6
  293. codex/views/browser/paginate.py +106 -0
  294. codex/views/browser/{session.py → settings.py} +4 -3
  295. codex/views/browser/title.py +48 -0
  296. codex/views/browser/validate.py +158 -0
  297. codex/views/const.py +97 -0
  298. codex/views/cover.py +4 -6
  299. codex/views/download.py +5 -8
  300. codex/views/frontend.py +4 -2
  301. codex/views/mtime.py +70 -0
  302. codex/views/opds/auth.py +17 -0
  303. codex/views/opds/authentication_v1.py +46 -45
  304. codex/views/opds/binary.py +4 -9
  305. codex/views/opds/const.py +13 -0
  306. codex/views/opds/urls.py +5 -4
  307. codex/views/opds/util.py +2 -8
  308. codex/views/opds/v1/facets.py +6 -7
  309. codex/views/opds/v1/feed.py +10 -17
  310. codex/views/opds/v1/links.py +6 -5
  311. codex/views/opds/v1/opensearch_v1.py +2 -6
  312. codex/views/opds/v2/feed.py +12 -15
  313. codex/views/opds/v2/links.py +3 -2
  314. codex/views/opds/v2/publications.py +21 -20
  315. codex/views/opds/v2/top_links.py +2 -2
  316. codex/views/public.py +38 -0
  317. codex/views/reader/arcs.py +101 -0
  318. codex/views/reader/books.py +199 -0
  319. codex/views/reader/page.py +3 -7
  320. codex/views/reader/reader.py +53 -298
  321. codex/views/reader/{session.py → settings.py} +4 -2
  322. codex/views/session.py +74 -102
  323. codex/views/settings.py +34 -0
  324. codex/views/template.py +3 -3
  325. codex/views/util.py +31 -0
  326. codex/views/utils.py +26 -0
  327. codex/views/version.py +2 -2
  328. {codex-1.6.0a6.dist-info → codex-1.6.0a7.dist-info}/METADATA +12 -8
  329. {codex-1.6.0a6.dist-info → codex-1.6.0a7.dist-info}/RECORD +332 -320
  330. codex/static_root/assets/VCheckbox-BS5fdM4M.a5d446e4aeb3.js +0 -1
  331. codex/static_root/assets/VCheckbox-BS5fdM4M.a5d446e4aeb3.js.br +0 -0
  332. codex/static_root/assets/VCheckbox-BS5fdM4M.a5d446e4aeb3.js.gz +0 -0
  333. codex/static_root/assets/VCheckbox-BS5fdM4M.js +0 -1
  334. codex/static_root/assets/VCheckbox-BS5fdM4M.js.br +0 -0
  335. codex/static_root/assets/VCheckbox-BS5fdM4M.js.gz +0 -0
  336. codex/static_root/assets/VCheckboxBtn-m4IbdjEe.f0c4a814ded8.js +0 -1
  337. codex/static_root/assets/VCheckboxBtn-m4IbdjEe.f0c4a814ded8.js.br +0 -0
  338. codex/static_root/assets/VCheckboxBtn-m4IbdjEe.f0c4a814ded8.js.gz +0 -0
  339. codex/static_root/assets/VCheckboxBtn-m4IbdjEe.js +0 -1
  340. codex/static_root/assets/VCheckboxBtn-m4IbdjEe.js.br +0 -0
  341. codex/static_root/assets/VCheckboxBtn-m4IbdjEe.js.gz +0 -0
  342. codex/static_root/assets/VCombobox-jg7SI5mn.af66f18b4c54.js +0 -1
  343. codex/static_root/assets/VCombobox-jg7SI5mn.af66f18b4c54.js.br +0 -0
  344. codex/static_root/assets/VCombobox-jg7SI5mn.af66f18b4c54.js.gz +0 -0
  345. codex/static_root/assets/VCombobox-jg7SI5mn.js +0 -1
  346. codex/static_root/assets/VCombobox-jg7SI5mn.js.br +0 -0
  347. codex/static_root/assets/VCombobox-jg7SI5mn.js.gz +0 -0
  348. codex/static_root/assets/VDialog-DiixpkQL.f84fd1fd1f84.js +0 -1
  349. codex/static_root/assets/VDialog-DiixpkQL.f84fd1fd1f84.js.br +0 -0
  350. codex/static_root/assets/VDialog-DiixpkQL.f84fd1fd1f84.js.gz +0 -0
  351. codex/static_root/assets/VDialog-DiixpkQL.js +0 -1
  352. codex/static_root/assets/VDialog-DiixpkQL.js.br +0 -0
  353. codex/static_root/assets/VDialog-DiixpkQL.js.gz +0 -0
  354. codex/static_root/assets/VExpansionPanels-Db5mPFue.56d0ad094a62.js +0 -1
  355. codex/static_root/assets/VExpansionPanels-Db5mPFue.56d0ad094a62.js.br +0 -0
  356. codex/static_root/assets/VExpansionPanels-Db5mPFue.56d0ad094a62.js.gz +0 -0
  357. codex/static_root/assets/VExpansionPanels-Db5mPFue.js +0 -1
  358. codex/static_root/assets/VExpansionPanels-Db5mPFue.js.br +0 -0
  359. codex/static_root/assets/VExpansionPanels-Db5mPFue.js.gz +0 -0
  360. codex/static_root/assets/VRadioGroup-DULWiMSI.4ae535e01d2b.js +0 -1
  361. codex/static_root/assets/VRadioGroup-DULWiMSI.4ae535e01d2b.js.br +0 -0
  362. codex/static_root/assets/VRadioGroup-DULWiMSI.4ae535e01d2b.js.gz +0 -0
  363. codex/static_root/assets/VRadioGroup-DULWiMSI.js +0 -1
  364. codex/static_root/assets/VRadioGroup-DULWiMSI.js.br +0 -0
  365. codex/static_root/assets/VRadioGroup-DULWiMSI.js.gz +0 -0
  366. codex/static_root/assets/VSelect-BnoCfCLY.4d50fd11c77c.js +0 -1
  367. codex/static_root/assets/VSelect-BnoCfCLY.4d50fd11c77c.js.br +0 -0
  368. codex/static_root/assets/VSelect-BnoCfCLY.4d50fd11c77c.js.gz +0 -0
  369. codex/static_root/assets/VSelect-BnoCfCLY.js +0 -1
  370. codex/static_root/assets/VSelect-BnoCfCLY.js.br +0 -0
  371. codex/static_root/assets/VSelect-BnoCfCLY.js.gz +0 -0
  372. codex/static_root/assets/VSelectionControl-BSL0qeL9.5b5835d286df.js +0 -1
  373. codex/static_root/assets/VSelectionControl-BSL0qeL9.5b5835d286df.js.br +0 -0
  374. codex/static_root/assets/VSelectionControl-BSL0qeL9.5b5835d286df.js.gz +0 -0
  375. codex/static_root/assets/VSelectionControl-BSL0qeL9.js +0 -1
  376. codex/static_root/assets/VSelectionControl-BSL0qeL9.js.br +0 -0
  377. codex/static_root/assets/VSelectionControl-BSL0qeL9.js.gz +0 -0
  378. codex/static_root/assets/VSlideGroup-BQtz8h9p.ff97dbf209e1.js +0 -1
  379. codex/static_root/assets/VSlideGroup-BQtz8h9p.ff97dbf209e1.js.br +0 -0
  380. codex/static_root/assets/VSlideGroup-BQtz8h9p.ff97dbf209e1.js.gz +0 -0
  381. codex/static_root/assets/VSlideGroup-BQtz8h9p.js +0 -1
  382. codex/static_root/assets/VSlideGroup-BQtz8h9p.js.br +0 -0
  383. codex/static_root/assets/VSlideGroup-BQtz8h9p.js.gz +0 -0
  384. codex/static_root/assets/VTable-C0gAriFq.fa6e4b60d4ef.js.br +0 -0
  385. codex/static_root/assets/VTable-C0gAriFq.fa6e4b60d4ef.js.gz +0 -0
  386. codex/static_root/assets/VTable-C0gAriFq.js.br +0 -0
  387. codex/static_root/assets/VTable-C0gAriFq.js.gz +0 -0
  388. codex/static_root/assets/VTextField-Da_Hs7ls.c295f24c251e.js.br +0 -0
  389. codex/static_root/assets/VTextField-Da_Hs7ls.c295f24c251e.js.gz +0 -0
  390. codex/static_root/assets/VTextField-Da_Hs7ls.js.br +0 -0
  391. codex/static_root/assets/VTextField-Da_Hs7ls.js.gz +0 -0
  392. codex/static_root/assets/VWindowItem-CFhKCj49.b2458002a937.js.br +0 -0
  393. codex/static_root/assets/VWindowItem-CFhKCj49.b2458002a937.js.gz +0 -0
  394. codex/static_root/assets/VWindowItem-CFhKCj49.js.br +0 -0
  395. codex/static_root/assets/VWindowItem-CFhKCj49.js.gz +0 -0
  396. codex/static_root/assets/admin-BpGFsvOH.d7193c78d0dd.js +0 -1
  397. codex/static_root/assets/admin-BpGFsvOH.d7193c78d0dd.js.br +0 -0
  398. codex/static_root/assets/admin-BpGFsvOH.d7193c78d0dd.js.gz +0 -0
  399. codex/static_root/assets/admin-BpGFsvOH.js +0 -1
  400. codex/static_root/assets/admin-BpGFsvOH.js.br +0 -0
  401. codex/static_root/assets/admin-BpGFsvOH.js.gz +0 -0
  402. codex/static_root/assets/admin-drawer-panel-BHdNPwzF.bd2c1d6148bb.css.br +0 -0
  403. codex/static_root/assets/admin-drawer-panel-BHdNPwzF.css.br +0 -0
  404. codex/static_root/assets/admin-drawer-panel-C34Ze3-5.113c50cdf2cc.js +0 -30
  405. codex/static_root/assets/admin-drawer-panel-C34Ze3-5.113c50cdf2cc.js.br +0 -0
  406. codex/static_root/assets/admin-drawer-panel-C34Ze3-5.113c50cdf2cc.js.gz +0 -0
  407. codex/static_root/assets/admin-drawer-panel-C34Ze3-5.js +0 -30
  408. codex/static_root/assets/admin-drawer-panel-C34Ze3-5.js.br +0 -0
  409. codex/static_root/assets/admin-drawer-panel-C34Ze3-5.js.gz +0 -0
  410. codex/static_root/assets/browser-CRPvEdqv.f355a71f4380.js +0 -1
  411. codex/static_root/assets/browser-CRPvEdqv.f355a71f4380.js.br +0 -0
  412. codex/static_root/assets/browser-CRPvEdqv.f355a71f4380.js.gz +0 -0
  413. codex/static_root/assets/browser-CRPvEdqv.js +0 -1
  414. codex/static_root/assets/browser-CRPvEdqv.js.br +0 -0
  415. codex/static_root/assets/browser-CRPvEdqv.js.gz +0 -0
  416. codex/static_root/assets/browser-Zqc9cR6T.b7d6ddeff130.css +0 -1
  417. codex/static_root/assets/browser-Zqc9cR6T.b7d6ddeff130.css.br +0 -0
  418. codex/static_root/assets/browser-Zqc9cR6T.b7d6ddeff130.css.gz +0 -0
  419. codex/static_root/assets/browser-Zqc9cR6T.css +0 -1
  420. codex/static_root/assets/browser-Zqc9cR6T.css.br +0 -0
  421. codex/static_root/assets/browser-Zqc9cR6T.css.gz +0 -0
  422. codex/static_root/assets/change-password-dialog-JYM9aAR9.f71d378f4fa6.js.br +0 -0
  423. codex/static_root/assets/change-password-dialog-JYM9aAR9.f71d378f4fa6.js.gz +0 -0
  424. codex/static_root/assets/change-password-dialog-JYM9aAR9.js.br +0 -0
  425. codex/static_root/assets/change-password-dialog-JYM9aAR9.js.gz +0 -0
  426. codex/static_root/assets/confirm-dialog-ZAZ6P1Rc.515858dd21e8.js.br +0 -0
  427. codex/static_root/assets/confirm-dialog-ZAZ6P1Rc.515858dd21e8.js.gz +0 -0
  428. codex/static_root/assets/confirm-dialog-ZAZ6P1Rc.js.br +0 -0
  429. codex/static_root/assets/confirm-dialog-ZAZ6P1Rc.js.gz +0 -0
  430. codex/static_root/assets/datetime-column-BT1MSP82.9617f6b94ebf.js.br +0 -0
  431. codex/static_root/assets/datetime-column-BT1MSP82.9617f6b94ebf.js.gz +0 -0
  432. codex/static_root/assets/datetime-column-BT1MSP82.js.br +0 -0
  433. codex/static_root/assets/datetime-column-BT1MSP82.js.gz +0 -0
  434. codex/static_root/assets/filter-frSNsexx.eab1570bd32d.js +0 -1
  435. codex/static_root/assets/filter-frSNsexx.eab1570bd32d.js.br +0 -0
  436. codex/static_root/assets/filter-frSNsexx.eab1570bd32d.js.gz +0 -0
  437. codex/static_root/assets/filter-frSNsexx.js +0 -1
  438. codex/static_root/assets/filter-frSNsexx.js.br +0 -0
  439. codex/static_root/assets/filter-frSNsexx.js.gz +0 -0
  440. codex/static_root/assets/flag-tab-Ci_XcDT0.a5ea640a08d6.js +0 -1
  441. codex/static_root/assets/flag-tab-Ci_XcDT0.a5ea640a08d6.js.br +0 -0
  442. codex/static_root/assets/flag-tab-Ci_XcDT0.a5ea640a08d6.js.gz +0 -0
  443. codex/static_root/assets/flag-tab-Ci_XcDT0.js +0 -1
  444. codex/static_root/assets/flag-tab-Ci_XcDT0.js.br +0 -0
  445. codex/static_root/assets/flag-tab-Ci_XcDT0.js.gz +0 -0
  446. codex/static_root/assets/group-tab-DFma2R-E.879c37b15bbd.js.br +0 -0
  447. codex/static_root/assets/group-tab-DFma2R-E.879c37b15bbd.js.gz +0 -0
  448. codex/static_root/assets/group-tab-DFma2R-E.js.br +0 -0
  449. codex/static_root/assets/group-tab-DFma2R-E.js.gz +0 -0
  450. codex/static_root/assets/http-error-B3fQGxpt.9efc29496e30.js +0 -1
  451. codex/static_root/assets/http-error-B3fQGxpt.9efc29496e30.js.br +0 -0
  452. codex/static_root/assets/http-error-B3fQGxpt.9efc29496e30.js.gz +0 -0
  453. codex/static_root/assets/http-error-B3fQGxpt.js +0 -1
  454. codex/static_root/assets/http-error-B3fQGxpt.js.br +0 -0
  455. codex/static_root/assets/http-error-B3fQGxpt.js.gz +0 -0
  456. codex/static_root/assets/index-DUjeNg4x.36d50c91b2c1.js +0 -1
  457. codex/static_root/assets/index-DUjeNg4x.36d50c91b2c1.js.br +0 -0
  458. codex/static_root/assets/index-DUjeNg4x.36d50c91b2c1.js.gz +0 -0
  459. codex/static_root/assets/index-DUjeNg4x.js +0 -1
  460. codex/static_root/assets/index-DUjeNg4x.js.br +0 -0
  461. codex/static_root/assets/index-DUjeNg4x.js.gz +0 -0
  462. codex/static_root/assets/library-tab-V8DUGoHN.809c548ff347.js.br +0 -0
  463. codex/static_root/assets/library-tab-V8DUGoHN.809c548ff347.js.gz +0 -0
  464. codex/static_root/assets/library-tab-V8DUGoHN.js.br +0 -0
  465. codex/static_root/assets/library-tab-V8DUGoHN.js.gz +0 -0
  466. codex/static_root/assets/main-Cavvqkyp.a9c4df906406.js +0 -32
  467. codex/static_root/assets/main-Cavvqkyp.a9c4df906406.js.br +0 -0
  468. codex/static_root/assets/main-Cavvqkyp.a9c4df906406.js.gz +0 -0
  469. codex/static_root/assets/main-Cavvqkyp.js +0 -32
  470. codex/static_root/assets/main-Cavvqkyp.js.br +0 -0
  471. codex/static_root/assets/main-Cavvqkyp.js.gz +0 -0
  472. codex/static_root/assets/main-sK7HC5h4.6f04ddfc5f1a.css.br +0 -0
  473. codex/static_root/assets/main-sK7HC5h4.css.br +0 -0
  474. codex/static_root/assets/pagination-toolbar-ClZui9Zf.697d7ae11c21.css.br +0 -0
  475. codex/static_root/assets/pagination-toolbar-ClZui9Zf.697d7ae11c21.css.gz +0 -0
  476. codex/static_root/assets/pagination-toolbar-ClZui9Zf.css.br +0 -0
  477. codex/static_root/assets/pagination-toolbar-ClZui9Zf.css.gz +0 -0
  478. codex/static_root/assets/pagination-toolbar-Dg9tH1Ju.b2eb1e0c6985.js +0 -1
  479. codex/static_root/assets/pagination-toolbar-Dg9tH1Ju.b2eb1e0c6985.js.br +0 -0
  480. codex/static_root/assets/pagination-toolbar-Dg9tH1Ju.b2eb1e0c6985.js.gz +0 -0
  481. codex/static_root/assets/pagination-toolbar-Dg9tH1Ju.js +0 -1
  482. codex/static_root/assets/pagination-toolbar-Dg9tH1Ju.js.br +0 -0
  483. codex/static_root/assets/pagination-toolbar-Dg9tH1Ju.js.gz +0 -0
  484. codex/static_root/assets/pdf-doc-4PKLN-Z3.62d8de4d1fd8.js +0 -35
  485. codex/static_root/assets/pdf-doc-4PKLN-Z3.62d8de4d1fd8.js.br +0 -0
  486. codex/static_root/assets/pdf-doc-4PKLN-Z3.62d8de4d1fd8.js.gz +0 -0
  487. codex/static_root/assets/pdf-doc-4PKLN-Z3.js +0 -35
  488. codex/static_root/assets/pdf-doc-4PKLN-Z3.js.br +0 -0
  489. codex/static_root/assets/pdf-doc-4PKLN-Z3.js.gz +0 -0
  490. codex/static_root/assets/reader-C39uGGxn.67b0f324cd5e.js +0 -2
  491. codex/static_root/assets/reader-C39uGGxn.67b0f324cd5e.js.br +0 -0
  492. codex/static_root/assets/reader-C39uGGxn.67b0f324cd5e.js.gz +0 -0
  493. codex/static_root/assets/reader-C39uGGxn.js +0 -2
  494. codex/static_root/assets/reader-C39uGGxn.js.br +0 -0
  495. codex/static_root/assets/reader-C39uGGxn.js.gz +0 -0
  496. codex/static_root/assets/reader-N2Ei_y2K.8c0cdc0d513f.css.br +0 -0
  497. codex/static_root/assets/reader-N2Ei_y2K.8c0cdc0d513f.css.gz +0 -0
  498. codex/static_root/assets/reader-N2Ei_y2K.css.br +0 -0
  499. codex/static_root/assets/reader-N2Ei_y2K.css.gz +0 -0
  500. codex/static_root/assets/relation-chips-CAC5ytqH.f205d920ffea.js +0 -1
  501. codex/static_root/assets/relation-chips-CAC5ytqH.f205d920ffea.js.br +0 -0
  502. codex/static_root/assets/relation-chips-CAC5ytqH.f205d920ffea.js.gz +0 -0
  503. codex/static_root/assets/relation-chips-CAC5ytqH.js +0 -1
  504. codex/static_root/assets/relation-chips-CAC5ytqH.js.br +0 -0
  505. codex/static_root/assets/relation-chips-CAC5ytqH.js.gz +0 -0
  506. codex/static_root/assets/settings-drawer-CT73ieiV.fac6f69e86ff.js +0 -2
  507. codex/static_root/assets/settings-drawer-CT73ieiV.fac6f69e86ff.js.br +0 -0
  508. codex/static_root/assets/settings-drawer-CT73ieiV.fac6f69e86ff.js.gz +0 -0
  509. codex/static_root/assets/settings-drawer-CT73ieiV.js +0 -2
  510. codex/static_root/assets/settings-drawer-CT73ieiV.js.br +0 -0
  511. codex/static_root/assets/settings-drawer-CT73ieiV.js.gz +0 -0
  512. codex/static_root/assets/stats-tab-C6qAnV6-.f08c46b5f141.js +0 -1
  513. codex/static_root/assets/stats-tab-C6qAnV6-.f08c46b5f141.js.br +0 -0
  514. codex/static_root/assets/stats-tab-C6qAnV6-.f08c46b5f141.js.gz +0 -0
  515. codex/static_root/assets/stats-tab-C6qAnV6-.js +0 -1
  516. codex/static_root/assets/stats-tab-C6qAnV6-.js.br +0 -0
  517. codex/static_root/assets/stats-tab-C6qAnV6-.js.gz +0 -0
  518. codex/static_root/assets/task-tab-JcG2vvgt.eed6e03db487.js +0 -1
  519. codex/static_root/assets/task-tab-JcG2vvgt.eed6e03db487.js.br +0 -0
  520. codex/static_root/assets/task-tab-JcG2vvgt.eed6e03db487.js.gz +0 -0
  521. codex/static_root/assets/task-tab-JcG2vvgt.js +0 -1
  522. codex/static_root/assets/task-tab-JcG2vvgt.js.br +0 -0
  523. codex/static_root/assets/task-tab-JcG2vvgt.js.gz +0 -0
  524. codex/static_root/assets/to-case-kUm8NPpW.5b3369f511b8.js +0 -1
  525. codex/static_root/assets/to-case-kUm8NPpW.js +0 -1
  526. codex/static_root/assets/unauthorized-28bmiwAU.c74825b5c16f.js +0 -1
  527. codex/static_root/assets/unauthorized-28bmiwAU.c74825b5c16f.js.br +0 -0
  528. codex/static_root/assets/unauthorized-28bmiwAU.c74825b5c16f.js.gz +0 -0
  529. codex/static_root/assets/unauthorized-28bmiwAU.js +0 -1
  530. codex/static_root/assets/unauthorized-28bmiwAU.js.br +0 -0
  531. codex/static_root/assets/unauthorized-28bmiwAU.js.gz +0 -0
  532. codex/static_root/assets/user-tab-BOq4BMMc.b64ac15dd772.js +0 -1
  533. codex/static_root/assets/user-tab-BOq4BMMc.b64ac15dd772.js.br +0 -0
  534. codex/static_root/assets/user-tab-BOq4BMMc.b64ac15dd772.js.gz +0 -0
  535. codex/static_root/assets/user-tab-BOq4BMMc.js +0 -1
  536. codex/static_root/assets/user-tab-BOq4BMMc.js.br +0 -0
  537. codex/static_root/assets/user-tab-BOq4BMMc.js.gz +0 -0
  538. codex/static_root/js/choices.23fedac2b9ba.json +0 -1
  539. codex/static_root/js/choices.23fedac2b9ba.json.br +0 -0
  540. codex/static_root/js/choices.23fedac2b9ba.json.gz +0 -0
  541. codex/static_root/manifest.ad9da9714e46.json +0 -642
  542. codex/static_root/manifest.ad9da9714e46.json.br +0 -0
  543. codex/static_root/manifest.ad9da9714e46.json.gz +0 -0
  544. codex/views/browser/browser_breadcrumbs.py +0 -175
  545. codex/views/browser/const.py +0 -3
  546. {codex-1.6.0a6.dist-info → codex-1.6.0a7.dist-info}/LICENSE +0 -0
  547. {codex-1.6.0a6.dist-info → codex-1.6.0a7.dist-info}/WHEEL +0 -0
  548. {codex-1.6.0a6.dist-info → codex-1.6.0a7.dist-info}/entry_points.txt +0 -0
@@ -1 +0,0 @@
1
- import{x as ae,E as be,bX as xe,G as me,ay as We,ax as F,K as ve,L as i,bY as ge,_ as z,R as d,aA as T,bZ as Xe,ae as te,aD as I,ai as V,b_ as Ze,H as ye,b$ as Le,c0 as Je,aJ as De,N as ne,O as ue,aN as m,T as S,M as ke,aB as se,P as B,ad as L,ah as ce,Q as K,l as Qe,aI as et,bE as tt,c1 as at,ag as st,m as lt,aT as rt,aU as ot,aW as Ve,k as it,aX as nt,ap as Y,aS as ut,ao as de,b4 as dt,bj as ct,aO as mt,aP as vt,bh as Se,bt as _e,ak as ft,c2 as ht,bb as pt,c3 as bt,h as v,c4 as Be,J as Ce,s as Pe,r as pe,U as gt,p as yt,a0 as Ae,c5 as kt,i as $e,c6 as St,an as _t,C as X,b0 as Re,b1 as Ct,c7 as Tt,b3 as wt,c8 as Vt,bc as Bt,aw as Ie,as as Pt}from"./admin-drawer-panel-C34Ze3-5.js";import{C as Rt,u as Z,B as It}from"./main-Cavvqkyp.js";import{c as Mt,d as Nt,V as Et}from"./VSelect-BnoCfCLY.js";import{c as Ft}from"./to-case-kUm8NPpW.js";import{P as Lt}from"./unauthorized-28bmiwAU.js";import{V as Dt}from"./VDialog-DiixpkQL.js";import{m as At,a as $t,u as Ot,V as Me,b as jt}from"./VSelectionControl-BSL0qeL9.js";import{a as Ut}from"./settings-drawer-CT73ieiV.js";const zt=ae({...be(),...xe({variant:"text"})},"VToolbarItems"),Ls=me()({name:"VToolbarItems",props:zt(),setup(e,t){let{slots:a}=t;return We({VBtn:{color:F(e,"color"),height:"inherit",variant:F(e,"variant")}}),ve(()=>{var l;return i("div",{class:["v-toolbar-items",e.class],style:e.style},[(l=a.default)==null?void 0:l.call(a)])}),{}}}),Gt={p:"publisher",i:"imprint",s:"series",v:"volume",a:"story-arc",f:"folder",c:"missing-cover"},qt=(e,t,a,l)=>{let o;if(e)o=`${ge(e)}/cover.webp?ts=${t}`,a&&(o+=`&group=${a}`),l&&(o+="&custom=1");else{const s=Gt[a];o=window.CODEX.STATIC+"img/"+s+".svg"}return o},Ht={name:"BookCover",props:{group:{type:String,required:!0},childCount:{type:Number,default:1},finished:{type:Boolean},coverPk:{type:Number,default:0},coverMtime:{type:String,required:!0},coverCustom:{type:Boolean,required:!0},multiGroup:{type:Boolean,required:!0}},data(){return{showPlaceholder:!1}},computed:{coverSrc(){return qt(this.coverPk,this.coverMtime,this.group,this.coverCustom)},childCountClasses(){return{childCount:!0,multiGroup:this.multiGroup}}},mounted:function(){this.delayPlaceholder()},methods:{delayPlaceholder:function(){setTimeout(()=>{this.showPlaceholder=!0},2e3)}}},Kt={class:"bookCover"};function Yt(e,t,a,l,o,s){return d(),T("div",Kt,[i(Xe,{src:s.coverSrc,class:"coverImg"},null,8,["src"]),a.finished!==!0?(d(),T("div",{key:0,class:te({unreadFlag:!0,mixedreadFlag:a.finished===null})},null,2)):I("",!0),a.group!=="c"?(d(),T("span",{key:1,class:te(s.childCountClasses)},V(a.childCount),3)):I("",!0)])}const xt=z(Ht,[["render",Yt],["__scopeId","data-v-0b75ebbb"]]),Wt=["B","kB","MB","GB","TB","PB","EB","ZB","YB"],Xt=["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],Zt=["b","kbit","Mbit","Gbit","Tbit","Pbit","Ebit","Zbit","Ybit"],Jt=["b","kibit","Mibit","Gibit","Tibit","Pibit","Eibit","Zibit","Yibit"],Ne=(e,t,a)=>{let l=e;return typeof t=="string"||Array.isArray(t)?l=e.toLocaleString(t,a):(t===!0||a!==void 0)&&(l=e.toLocaleString(void 0,a)),l};function Qt(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?Jt:Zt:t.binary?Xt:Wt,l=t.space?" ":"";if(t.signed&&e===0)return` 0${l}${a[0]}`;const o=e<0,s=o?"-":t.signed?"+":"";o&&(e=-e);let n;if(t.minimumFractionDigits!==void 0&&(n={minimumFractionDigits:t.minimumFractionDigits}),t.maximumFractionDigits!==void 0&&(n={maximumFractionDigits:t.maximumFractionDigits,...n}),e<1){const P=Ne(e,t.locale,n);return s+P+l+a[0]}const r=Math.min(Math.floor(t.binary?Math.log(e)/Math.log(1024):Math.log10(e)/3),a.length-1);e/=(t.binary?1024:1e3)**r,n||(e=e.toPrecision(3));const c=Ne(Number(e),t.locale,n),f=a[r];return s+c+l+f}const ea=e=>{const t=e.pk,a=Ze();return e={...e,...a},delete e.pk,ye.get(`c/${t}`,{params:e})},ta=()=>ye.get("c/settings"),aa=e=>ye.put("c/settings",e),sa=({pk:e,mtime:t})=>`${Le(e)}/download/comic-${e}.cbz?mtime=${t}`,Ds=({pk:e,page:t,mtime:a})=>`${Le(e)}/${t}/page.jpg?mtime=${a}`,As=({pk:e,page:t,mtime:a})=>`${ge(e)}/${t}/page.jpg?mtime=${a}`,la=({pk:e,mtime:t})=>`/c/${e}/book.pdf?mtime=${t}`,$s={getPdfBookSource:la,getReaderBasePath:ge,getReaderInfo:ea,getReaderSettings:ta,setReaderSettings:aa},ra=function(e){let t;return e?t=e.length===4&&!Number.isNaN(e)?" ("+e+")":" v"+e:t="",t},Oe=function({issueNumber:e,issueSuffix:t},a){let l;try{e==null&&!t&&(e=0);const o=Number.parseFloat(e),s=Math.floor(o);a===void 0&&(a=0),o===s?l=s.toString():(l=o.toString(),a+=l.split(".")[1].length+1),l=l.padStart(a,"0")}catch{l=""}return t&&(l+=t),l},oa=function({issueNumber:e,issueSuffix:t,issueCount:a},l){let o="#"+Oe({issueNumber:e,issueSuffix:t},l);return a&&(o+=` of ${a}`),o},ia=function({seriesName:e,volumeName:t,issueNumber:a,issueSuffix:l,issueCount:o},s){const n=ra(t),r=oa({issueNumber:a,issueSuffix:l,issueCount:o},s);return[e,n,r].filter(Boolean).join(" ")},Ee=Rt.browser.vuetifyNullCode,na=new Set(["",Ee,Ee.toString(),void 0]),ua=function(e){let t;return e===void 0?t=e:e instanceof Object?t={value:e.pk,title:e.name}:t={value:e,title:e.toString()},e.url&&(t.url=e.url),t},da=function(e,t){return e.title<t.title?-1:e.title>t.title?1:0},ca=function(e,t){return Number.parseFloat(e.title)-Number.parseFloat(t.title)},ma=function(e,t,a=!1){const l=e||[],o=t&&t.toLowerCase();let s=[];for(const r of l){if(!r||na.has(r.pk))continue;const c=ua(r);c&&(!o||c.title&&c.title.toLowerCase().includes(o))&&s.push(c)}const n=a?ca:da;return s.sort(n)},va={name:"MetadataTags",props:{label:{type:String,required:!0},values:{type:Array,default(){return[]}},filter:{type:String,required:!1,default:void 0}},data(){return{mdiFilter:Je,mdiOpenInNew:De}},computed:{...ne(Z,{filterValues(e){const t=this.filter||this.label.toLowerCase();return e.settings.filters[t]},topGroup:e=>e.settings.topGroup}),model(){return ma(this.values)},chipClass(e){return{browseChip:this.filter&&e}}},methods:{...ue(Z,["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 n={filters:{[this.filter]:[e]}};this.setSettings(n)}const s={name:"browser",params:{group:t,pk:a?e:0,page:1}};this.$router.push(s)}}},fa={key:0,class:"tags"},ha={class:"chipGroupLabel"},pa=["href"];function ba(e,t,a,l,o,s){return s.model&&s.model.length>0?(d(),T("div",fa,[m("div",ha,V(a.label),1),i(Nt,{column:!0,multiple:"",value:s.model},{default:S(()=>[(d(!0),T(ke,null,se(s.model,n=>(d(),B(Mt,{key:`${a.label}/${n.value}`,color:s.chipColor(n.value),value:n.value,onClick:r=>s.onClick(n.value)},{default:S(()=>[n.url?(d(),T("a",{key:0,href:n.url,target:"_blank"},[L(V(n.title),1),i(ce,null,{default:S(()=>[L(V(o.mdiOpenInNew),1)]),_:1})],8,pa)):(d(),T("span",{key:1,class:te(s.chipClass)},V(n.title),3))]),_:2},1032,["color","value","onClick"]))),128))]),_:1},8,["value"])])):I("",!0)}const je=z(va,[["render",ba],["__scopeId","data-v-ea0e4633"]]),ga={name:"MetadataContributorsTable",components:{MetadataTags:je},props:{value:{type:Array,default:void 0}},computed:{contributorsDict(){const e={};if(!this.value)return e;for(const{role:l,person:o}of this.value){const s=Ft(l.name)+"s";e[s]||(e[s]=[]),e[s].push(o)}const t=Object.keys(e).sort((l,o)=>l.localeCompare(o)),a={};for(const l of t)a[l]=e[l].sort((o,s)=>o.name.localeCompare(s.name));return a}}},ya={key:0},ka=m("h3",null,"Contributors",-1);function Sa(e,t,a,l,o,s){const n=K("MetadataTags");return Object.keys(s.contributorsDict).length>0?(d(),T("div",ya,[ka,(d(!0),T(ke,null,se(Object.entries(s.contributorsDict),([r,c])=>(d(),B(n,{key:r,values:c,label:r,filter:"contributors"},null,8,["values","label"]))),128))])):I("",!0)}const _a=z(ga,[["render",Sa]]),Ca={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:De}},computed:{computedValue(){return this.value!=null&&this.value instanceof Object?this.value.name:this.value},linkValue(){return this.link===!0?this.computedValue:this.link?this.link:!1},highlight(){var e;return((e=this.obj)==null?void 0:e.group)===this.group},pathArray(){if(this.computedValue)return this.computedValue.split("/")},folderPath(){if(this.pathArray)return this.pathArray.slice(0,-1).join("/")},basePath(){if(this.pathArray)return this.pathArray.at(-1)},groupTo(){var o;const e=Z();if(this.group!=="f"&&!e.settings.show[this.group]||this.group==="f"&&!e.page.adminFlags.folderView)return;const a=(((o=this.obj)==null?void 0:o.group)==this.group?this.obj.ids:[this.value.pk]).join(",");if(!a)return;const l=this.$router.currentRoute.value.params;if(!(l.group===this.group&&l.pks===a))return{name:"browser",params:{group:this.group,pks:a}}}}},Ta={class:"textLabel"},wa={class:"textValue"},Va=["href"],Ba={key:3,class:"textContent"},Pa={key:4,id:"basePath"};function Ra(e,t,a,l,o,s){const n=K("router-link");return s.computedValue?(d(),T("div",{key:0,class:te(["text",{highlight:s.highlight}])},[m("div",Ta,V(a.label),1),m("div",wa,[s.groupTo&&a.group==="f"?(d(),B(n,{key:0,id:"folderPath",to:s.groupTo,title:"Browse Folder"},{default:S(()=>[L(V(s.folderPath)+"/ ",1)]),_:1},8,["to"])):s.groupTo?(d(),B(n,{key:1,class:"textContent",to:s.groupTo,title:`Browse ${a.label}`},{default:S(()=>[L(V(s.computedValue),1)]),_:1},8,["to","title"])):a.link?(d(),T("a",{key:2,href:s.linkValue,target:"_blank"},[L(V(s.computedValue)+" ",1),i(ce,{size:"small"},{default:S(()=>[L(V(o.mdiOpenInNew),1)]),_:1})],8,Va)):(d(),T("div",Ba,V(s.computedValue),1)),s.groupTo&&a.group==="f"?(d(),T("span",Pa,V(s.basePath),1)):I("",!0)])],2)):I("",!0)}const Ia=z(Ca,[["render",Ra],["__scopeId","data-v-e94baf62"]]),Ue=new Set("rtl","btt");Object.freeze(Ue);const Ma=({ids:e,page:t,readingDirection:a,pageCount:l},o)=>{if(e.length<1||o&&!l)return;const s=e[0];if(t)t=Number(t);else if(Ue.has(a)){const n=Number(l)-1;t=Math.max(n,0)}else t=0;return{name:"reader",params:{pk:s,page:t}}},Fe=Qe("metadata",{state:()=>({md:void 0}),actions:{async loadMetadata({group:e,pks:t}){const a=Z();await It.getMetadata({group:e,pks:t},a.settings).then(l=>{const o={...l.data};return o.loaded=!0,this.md=o,!0}).catch(l=>{console.error(l),this.clearMetadata()})},clearMetadata(){this.md=void 0}}}),Na=1160,Ea=.05,Fa=250,La={name:"MetadataButton",components:{BookCover:xt,CloseButton:et,MetadataContributorsTable:_a,MetadataTags:je,MetadataText:Ia,PlaceholderLoading:Lt},props:{group:{type:String,required:!0},book:{type:Object,required:!0},children:{type:Number,default:1},toolbar:{type:Boolean,default:!1}},data(){return{mdiDownload:tt,mdiTagOutline:at,dialog:!1,progress:0}},computed:{...st(lt,["isUserAdmin"]),...ne(Z,{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}}),...ne(Fe,{md:e=>e.md}),...ne(Z,{q:e=>e.settings.q}),showContainer(){var e;return((e=this.md)==null?void 0:e.loaded)||!1},downloadFileName(){var t;const e=this.md;return e?(t=this.md)!=null&&t.filename?e.filename:ia({seriesName:e.series.name||"",volumeName:e.volume.name||"",issueNumber:e.issueNumber,issueSuffix:e.issueSuffix})+"."+this.fileType.toLowerCase():"Unknown.cbz"},buttonVariant(){return this.toolbar?"plain":"text"},downloadURL(){return this.book?sa(this.book):""},isReadButtonShown(){return this.group==="c"&&this.$route.name!="reader"},isReadButtonEnabled(){return!!this.readerRoute},readButtonIcon(){return this.isReadButtonEnabled?rt:ot},readerRoute(){var e;return(e=this.md)!=null&&e.ids?Ma(this.md,this.importMetadata):{}},formattedIssue(){if(!this.md)return"Unknown";if(!((this.md.issueNumber===null||this.md.issueNumber===void 0)&&!this.md.issueSuffix))return Oe(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=Ve.format(this.md.page);e+=`Read ${a} of `}const t=Ve.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?Qt(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 l=a.name.split(":"),o=l[0],s=l[1],n=this.identifierTypeTitle(o);let r="";n&&n!=="None"&&(r+=n+":"),r+=s,e.push({...a,name:r})}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:{...ue(Fe,["clearMetadata","loadMetadata"]),...ue(it,["downloadIOSPWAFix"]),...ue(Z,["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(Ea,this.children/Na)*1e3,this.updateProgress()},updateProgress(){const e=Date.now()-this.startTime;this.progress=e/this.estimatedMS*100,!(this.progress>=100||this.md)&&setTimeout(()=>{this.updateProgress()},Fa)},formatDateTime(e){return nt(e,this.twentyFourHourTime)},download(){this.downloadIOSPWAFix(this.downloadURL,this.md.filename)}}},Da=e=>(mt("data-v-c06a2b18"),e=e(),vt(),e),Aa={id:"metadataHeader"},$a={id:"metadataBookCoverWrapper"},Oa={class:"inlineRow"},ja={class:"inlineRow"},Ua={class:"inlineRow"},za={key:1,class:"inlineRow"},Ga={id:"metadataBody"},qa={class:"mdSection"},Ha={class:"quintRow"},Ka={class:"mdSection"},Ya={class:"quarterRow"},xa={class:"lastSmallRow"},Wa={class:"halfRow mdSection"},Xa={class:"mdSection"},Za={class:"mdSection"},Ja={class:"mdSection"},Qa={class:"mdSection"},es={class:"mdSection"},ts={class:"mdSection inlineRow"},as={class:"inlineRow"},ss={id:"footerLinks"},ls={id:"bottomRightButtons"},rs={key:1,id:"placeholderContainer"},os=Da(()=>m("div",{id:"placeholderTitle"},"Tags Loading",-1));function is(e,t,a,l,o,s){const n=K("CloseButton"),r=K("MetadataText"),c=K("BookCover"),f=K("MetadataTags"),P=K("MetadataContributorsTable"),k=K("PlaceholderLoading");return d(),B(Dt,{modelValue:o.dialog,"onUpdate:modelValue":t[5]||(t[5]=p=>o.dialog=p),fullscreen:"",transition:"dialog-bottom-transition"},{activator:S(({props:p})=>[i(de,Y({"aria-label":"tags",class:"tagButton cardControlButton",variant:s.buttonVariant,icon:o.mdiTagOutline,title:"Tags"},p,{onClick:t[0]||(t[0]=ut(()=>{},["prevent"]))}),null,16,["variant","icon"])]),default:S(()=>[s.showContainer?(d(),T("div",{key:0,id:"metadataContainer",onKeyup:t[3]||(t[3]=ct(p=>o.dialog=!1,["esc"]))},[m("header",Aa,[i(n,{class:"closeButton",title:"Close Metadata (esc)",onClick:t[1]||(t[1]=p=>o.dialog=!1)}),e.q?(d(),B(r,{key:0,id:"search",value:e.q,label:"Search Query",highlight:!0},null,8,["value"])):I("",!0),m("div",$a,[i(c,{id:"bookCover","cover-pk":e.md.coverPk,"cover-mtime":e.md.coverMtime||"","cover-custom":e.md.coverCustom||!1,group:a.group,"child-count":e.md.childCount,finished:e.md.finished,"multi-group":s.multiGroup},null,8,["cover-pk","cover-mtime","cover-custom","group","child-count","finished","multi-group"]),i(dt,{class:"bookCoverProgress","model-value":e.md.progress,rounded:"","background-color":"inherit",height:"2","aria-label":"% read"},null,8,["model-value"])]),m("div",Oa,[i(r,{id:"publisher",value:e.md.publisher,group:"p",label:"Publisher",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]),i(r,{id:"imprint",value:e.md.imprint,group:"i",label:"Imprint",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"])]),m("div",ja,[i(r,{id:"series",value:e.md.series,label:"Series",group:"s",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"])]),m("div",Ua,[i(r,{id:"volume",value:e.md.volume,label:"Volume",group:"v",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]),i(r,{value:e.md.seriesVolumeCount,label:"Volume Count"},null,8,["value"]),i(r,{id:"issue",value:s.formattedIssue,label:"Issue",group:"c",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]),i(r,{value:e.md.volumeIssueCount,label:"Issue Count"},null,8,["value"]),i(r,{value:e.md.name,label:"Title"},null,8,["value"])]),e.md.year||e.md.month||e.md.day?(d(),T("div",za,[i(r,{value:e.md.year,label:"Year",class:"datePicker",type:"number"},null,8,["value"]),i(r,{value:e.md.month,label:"Month",class:"datePicker"},null,8,["value"]),i(r,{value:e.md.day,label:"Day",class:"datePicker"},null,8,["value"])])):I("",!0)]),m("div",Ga,[m("section",qa,[m("div",Ha,[i(r,{value:s.pages,label:"Pages"},null,8,["value"]),i(r,{label:"Finished",value:(!!e.md.finished).toString()},null,8,["value"]),i(r,{label:"Reading Direction",value:s.readingDirectionText},null,8,["value"]),i(r,{value:(!!e.md.monochrome).toString(),label:"Monochrome"},null,8,["value"]),i(r,{value:e.md.original_format,label:"Original Format"},null,8,["value"])])]),m("section",Ka,[m("div",Ya,[e.md.createdAt?(d(),B(r,{key:0,value:s.formatDateTime(e.md.createdAt),label:"Created at",class:"mtime"},null,8,["value"])):I("",!0),e.md.updatedAt?(d(),B(r,{key:1,value:s.formatDateTime(e.md.updatedAt),label:"Updated at",class:"mtime"},null,8,["value"])):I("",!0),i(r,{value:s.size,label:"Size"},null,8,["value"]),i(r,{value:s.fileType,label:"File Type"},null,8,["value"])]),m("div",xa,[i(r,{group:"f",value:{pk:e.md.parentFolderId,name:e.md.path},label:"Path"},null,8,["value"])])]),m("section",Wa,[i(r,{value:e.md.country,label:"Country"},null,8,["value"]),i(r,{value:e.md.language,label:"Language"},null,8,["value"])]),m("section",Xa,[i(f,{values:s.titledIdentifiers,label:"Identifiers"},null,8,["values"])]),m("section",Za,[i(r,{value:e.md.summary,label:"Summary"},null,8,["value"]),i(r,{value:e.md.review,label:"Review"},null,8,["value"])]),m("section",Ja,[i(r,{value:e.md.communityRating,label:"Community Rating"},null,8,["value"]),i(r,{value:e.md.criticalRating,label:"Critical Rating"},null,8,["value"]),i(r,{value:e.md.ageRating,label:"Age Rating"},null,8,["value"])]),m("section",Qa,[i(f,{values:e.md.genres,label:"Genres",filter:"genres"},null,8,["values"]),i(f,{values:e.md.characters,label:"Characters",filter:"characters"},null,8,["values"]),i(f,{values:e.md.teams,label:"Teams",filter:"teams"},null,8,["values"]),i(f,{values:e.md.locations,label:"Locations",filter:"locations"},null,8,["values"]),i(f,{values:e.md.seriesGroups,label:"Series Groups",filter:"seriesGroups"},null,8,["values"]),i(f,{values:e.md.stories,label:"Stories",filter:"stories"},null,8,["values"]),i(f,{values:e.md.storyArcNumbers,label:"Story Arcs",filter:"storyArcs"},null,8,["values"]),i(f,{values:e.md.tags,label:"Tags",filter:"tags"},null,8,["values"])]),m("section",es,[i(P,{value:e.md.contributors},null,8,["value"])]),m("section",ts,[i(r,{value:e.md.notes,label:"Notes"},null,8,["value"])]),m("section",as,[i(r,{value:e.md.tagger,label:"Tagger"},null,8,["value"]),i(r,{value:e.md.scanInfo,label:"Scan"},null,8,["value"])])]),m("footer",ss,[a.group==="c"?(d(),B(de,{key:0,id:"downloadButton",title:"Download Comic Archive",onClick:s.download},{default:S(()=>[a.group==="c"?(d(),B(ce,{key:0},{default:S(()=>[L(V(o.mdiDownload),1)]),_:1})):I("",!0),L(" Download ")]),_:1},8,["onClick"])):I("",!0),s.isReadButtonShown?(d(),B(de,{key:1,to:s.readerRoute,title:"Read Comic",disabled:!s.isReadButtonEnabled},{default:S(()=>[i(ce,null,{default:S(()=>[L(V(s.readButtonIcon),1)]),_:1}),L(" Read ")]),_:1},8,["to","disabled"])):I("",!0),m("span",ls,[i(n,{class:"closeButton",title:"Close Metadata (esc)",onClick:t[2]||(t[2]=p=>o.dialog=!1)})])])],32)):(d(),T("div",rs,[i(n,{class:"closeButton",title:"Close Metadata (esc)",onClick:t[4]||(t[4]=p=>o.dialog=!1)}),os,i(k,{"model-value":o.progress,indeterminate:o.progress>=100,class:"placeholder"},null,8,["model-value","indeterminate"])]))]),_:1},8,["modelValue"])}const Os=z(La,[["render",is],["__scopeId","data-v-c06a2b18"]]),ns={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 us(e,t,a,l,o,s){return d(),B(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:s.style,variant:"plain"}),Se({item:S(({item:n,props:r})=>[i(ft,Y(r,{density:"compact",variant:"plain",title:n.title,value:n.value}),null,16,["title","value"])]),_:2},[se(e.$slots,(n,r)=>({name:r,fn:S(c=>[_e(e.$slots,r,Y({props:n},c),void 0,!0)])}))]),1040,["label","aria-label","style"])}const js=z(ns,[["render",us],["__scopeId","data-v-e88da460"]]),Us=ht("v-spacer","div","VSpacer"),ds={name:"PaginationNavButton",props:{narrow:{type:Boolean,default:!0}},computed:{classes(){return{narrowButton:this.narrow}}}};function cs(e,t,a,l,o,s){return d(),B(de,{variant:"plain",density:"compact",class:te(["paginationNavButton",s.classes]),size:"medium"},Se({_:2},[se(e.$slots,(n,r)=>({name:r,fn:S(c=>[_e(e.$slots,r,Y({props:n},c),void 0,!0)])}))]),1032,["class"])}const zs=z(ds,[["render",cs],["__scopeId","data-v-0450dab6"]]),Te=Symbol.for("vuetify:v-slider");function ms(e,t,a){const l=a==="vertical",o=t.getBoundingClientRect(),s="touches"in e?e.touches[0]:e;return l?s.clientY-(o.top+o.height/2):s.clientX-(o.left+o.width/2)}function vs(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 fs=ae({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,...pt(),...bt({elevation:2}),ripple:{type:Boolean,default:!0}},"Slider"),hs=e=>{const t=v(()=>parseFloat(e.min)),a=v(()=>parseFloat(e.max)),l=v(()=>+e.step>0?parseFloat(e.step):0),o=v(()=>Math.max(Be(l.value),Be(t.value)));function s(n){if(n=parseFloat(n),l.value<=0)return n;const r=Ae(n,t.value,a.value),c=t.value%l.value,f=Math.round((r-c)/l.value)*l.value+c;return parseFloat(Math.min(f,a.value).toFixed(o.value))}return{min:t,max:a,step:l,decimals:o,roundValue:s}},ps=e=>{let{props:t,steps:a,onSliderStart:l,onSliderMove:o,onSliderEnd:s,getActiveThumb:n}=e;const{isRtl:r}=Ce(),c=F(t,"reverse"),f=v(()=>t.direction==="vertical"),P=v(()=>f.value!==c.value),{min:k,max:p,step:D,decimals:G,roundValue:O}=a,x=v(()=>parseInt(t.thumbSize,10)),q=v(()=>parseInt(t.tickSize,10)),j=v(()=>parseInt(t.trackSize,10)),A=v(()=>(p.value-k.value)/D.value),W=F(t,"disabled"),$=v(()=>t.error||t.disabled?void 0:t.thumbColor??t.color),b=v(()=>t.error||t.disabled?void 0:t.trackColor??t.color),M=v(()=>t.error||t.disabled?void 0:t.trackFillColor??t.color),_=Pe(!1),C=Pe(0),N=pe(),E=pe();function h(u){var we;const y=t.direction==="vertical",ze=y?"top":"left",Ge=y?"height":"width",qe=y?"clientY":"clientX",{[ze]:He,[Ge]:Ke}=(we=N.value)==null?void 0:we.$el.getBoundingClientRect(),Ye=vs(u,qe);let he=Math.min(Math.max((Ye-He-C.value)/Ke,0),1)||0;return(y?P.value:P.value!==r.value)&&(he=1-he),O(k.value+he*(p.value-k.value))}const U=u=>{s({value:h(u)}),_.value=!1,C.value=0},H=u=>{E.value=n(u),E.value&&(E.value.focus(),_.value=!0,E.value.contains(u.target)?C.value=ms(u,E.value,t.direction):(C.value=0,o({value:h(u)})),l({value:h(u)}))},R={passive:!0,capture:!0};function J(u){o({value:h(u)})}function le(u){u.stopPropagation(),u.preventDefault(),U(u),window.removeEventListener("mousemove",J,R),window.removeEventListener("mouseup",le)}function re(u){var y;U(u),window.removeEventListener("touchmove",J,R),(y=u.target)==null||y.removeEventListener("touchend",re)}function fe(u){var y;H(u),window.addEventListener("touchmove",J,R),(y=u.target)==null||y.addEventListener("touchend",re,{passive:!1})}function w(u){u.preventDefault(),H(u),window.addEventListener("mousemove",J,R),window.addEventListener("mouseup",le,{passive:!1})}const g=u=>{const y=(u-k.value)/(p.value-k.value)*100;return Ae(isNaN(y)?0:y,0,100)},Q=F(t,"showTicks"),ee=v(()=>Q.value?t.ticks?Array.isArray(t.ticks)?t.ticks.map(u=>({value:u,position:g(u),label:u.toString()})):Object.keys(t.ticks).map(u=>({value:parseFloat(u),position:g(parseFloat(u)),label:t.ticks[u]})):A.value!==1/0?gt(A.value+1).map(u=>{const y=k.value+u*D.value;return{value:y,position:g(y)}}):[]:[]),oe=v(()=>ee.value.some(u=>{let{label:y}=u;return!!y})),ie={activeThumbRef:E,color:F(t,"color"),decimals:G,disabled:W,direction:F(t,"direction"),elevation:F(t,"elevation"),hasLabels:oe,isReversed:c,indexFromEnd:P,min:k,max:p,mousePressed:_,numTicks:A,onSliderMousedown:w,onSliderTouchstart:fe,parsedTicks:ee,parseMouseMove:h,position:g,readonly:F(t,"readonly"),rounded:F(t,"rounded"),roundValue:O,showTicks:Q,startOffset:C,step:D,thumbSize:x,thumbColor:$,thumbLabel:F(t,"thumbLabel"),ticks:F(t,"ticks"),tickSize:q,trackColor:b,trackContainerRef:N,trackFillColor:M,trackSize:j,vertical:f};return yt(Te,ie),ie},bs=ae({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},...be()},"VSliderThumb"),gs=me()({name:"VSliderThumb",directives:{Ripple:kt},props:bs(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:a,emit:l}=t;const o=$e(Te),{isRtl:s,rtlClasses:n}=Ce();if(!o)throw new Error("[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider");const{thumbColor:r,step:c,disabled:f,thumbSize:P,thumbLabel:k,direction:p,isReversed:D,vertical:G,readonly:O,elevation:x,mousePressed:q,decimals:j,indexFromEnd:A}=o,W=v(()=>f.value?void 0:x.value),{elevationClasses:$}=St(W),{textColorClasses:b,textColorStyles:M}=_t(r),{pageup:_,pagedown:C,end:N,home:E,left:h,right:U,down:H,up:R}=Vt,J=[_,C,N,E,h,U,H,R],le=v(()=>c.value?[1,2,3]:[1,5,10]);function re(w,g){if(!J.includes(w.key))return;w.preventDefault();const Q=c.value||.1,ee=(e.max-e.min)/Q;if([h,U,H,R].includes(w.key)){const ie=(G.value?[s.value?h:U,D.value?H:R]:A.value!==s.value?[h,R]:[U,R]).includes(w.key)?1:-1,u=w.shiftKey?2:w.ctrlKey?1:0;g=g+ie*Q*le.value[u]}else if(w.key===E)g=e.min;else if(w.key===N)g=e.max;else{const oe=w.key===C?1:-1;g=g-oe*Q*(ee>100?ee/10:10)}return Math.max(e.min,Math.min(e.max,g))}function fe(w){const g=re(w,e.modelValue);g!=null&&l("update:modelValue",g)}return ve(()=>{const w=X(A.value?100-e.position:e.position,"%");return i("div",{class:["v-slider-thumb",{"v-slider-thumb--focused":e.focused,"v-slider-thumb--pressed":e.focused&&q.value},e.class,n.value],style:[{"--v-slider-thumb-position":w,"--v-slider-thumb-size":X(P.value)},e.style],role:"slider",tabindex:f.value?-1:0,"aria-valuemin":e.min,"aria-valuemax":e.max,"aria-valuenow":e.modelValue,"aria-readonly":!!O.value,"aria-orientation":p.value,onKeydown:O.value?void 0:fe},[i("div",{class:["v-slider-thumb__surface",b.value,$.value],style:{...M.value}},null),Re(i("div",{class:["v-slider-thumb__ripple",b.value],style:M.value},null),[[Ct("ripple"),e.ripple,null,{circle:!0,center:!0}]]),i(Tt,{origin:"bottom center"},{default:()=>{var g;return[Re(i("div",{class:"v-slider-thumb__label-container"},[i("div",{class:["v-slider-thumb__label"]},[i("div",null,[((g=a["thumb-label"])==null?void 0:g.call(a,{modelValue:e.modelValue}))??e.modelValue.toFixed(c.value?j.value:1)])])]),[[wt,k.value&&e.focused||k.value==="always"]])]}})])}),{}}}),ys=ae({start:{type:Number,required:!0},stop:{type:Number,required:!0},...be()},"VSliderTrack"),ks=me()({name:"VSliderTrack",props:ys(),emits:{},setup(e,t){let{slots:a}=t;const l=$e(Te);if(!l)throw new Error("[Vuetify] v-slider-track must be inside v-slider or v-range-slider");const{color:o,parsedTicks:s,rounded:n,showTicks:r,tickSize:c,trackColor:f,trackFillColor:P,trackSize:k,vertical:p,min:D,max:G,indexFromEnd:O}=l,{roundedClasses:x}=Bt(n),{backgroundColorClasses:q,backgroundColorStyles:j}=Ie(P),{backgroundColorClasses:A,backgroundColorStyles:W}=Ie(f),$=v(()=>`inset-${p.value?"block":"inline"}-${O.value?"end":"start"}`),b=v(()=>p.value?"height":"width"),M=v(()=>({[$.value]:"0%",[b.value]:"100%"})),_=v(()=>e.stop-e.start),C=v(()=>({[$.value]:X(e.start,"%"),[b.value]:X(_.value,"%")})),N=v(()=>r.value?(p.value?s.value.slice().reverse():s.value).map((h,U)=>{var R;const H=h.value!==D.value&&h.value!==G.value?X(h.position,"%"):void 0;return i("div",{key:h.value,class:["v-slider-track__tick",{"v-slider-track__tick--filled":h.position>=e.start&&h.position<=e.stop,"v-slider-track__tick--first":h.value===D.value,"v-slider-track__tick--last":h.value===G.value}],style:{[$.value]:H}},[(h.label||a["tick-label"])&&i("div",{class:"v-slider-track__tick-label"},[((R=a["tick-label"])==null?void 0:R.call(a,{tick:h,index:U}))??h.label])])}):[]);return ve(()=>i("div",{class:["v-slider-track",x.value,e.class],style:[{"--v-slider-track-size":X(k.value),"--v-slider-tick-size":X(c.value)},e.style]},[i("div",{class:["v-slider-track__background",A.value,{"v-slider-track__background--opacity":!!o.value||!P.value}],style:{...M.value,...W.value}},null),i("div",{class:["v-slider-track__fill",q.value],style:{...C.value,...j.value}},null),r.value&&i("div",{class:["v-slider-track__ticks",{"v-slider-track__ticks--always-show":r.value==="always"}]},[N.value])])),{}}}),Ss=ae({...At(),...fs(),...$t(),modelValue:{type:[Number,String],default:0}},"VSlider"),_s=me()({name:"VSlider",props:Ss(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,start:e=>!0,end:e=>!0},setup(e,t){let{slots:a,emit:l}=t;const o=pe(),{rtlClasses:s}=Ce(),n=hs(e),r=Pt(e,"modelValue",void 0,b=>n.roundValue(b??n.min.value)),{min:c,max:f,mousePressed:P,roundValue:k,onSliderMousedown:p,onSliderTouchstart:D,trackContainerRef:G,position:O,hasLabels:x,readonly:q}=ps({props:e,steps:n,onSliderStart:()=>{l("start",r.value)},onSliderEnd:b=>{let{value:M}=b;const _=k(M);r.value=_,l("end",_)},onSliderMove:b=>{let{value:M}=b;return r.value=k(M)},getActiveThumb:()=>{var b;return(b=o.value)==null?void 0:b.$el}}),{isFocused:j,focus:A,blur:W}=Ot(e),$=v(()=>O(r.value));return ve(()=>{const b=Me.filterProps(e),M=!!(e.label||a.label||a.prepend);return i(Me,Y({class:["v-slider",{"v-slider--has-labels":!!a["tick-label"]||x.value,"v-slider--focused":j.value,"v-slider--pressed":P.value,"v-slider--disabled":e.disabled},s.value,e.class],style:e.style},b,{focused:j.value}),{...a,prepend:M?_=>{var C,N;return i(ke,null,[((C=a.label)==null?void 0:C.call(a,_))??(e.label?i(jt,{id:_.id.value,class:"v-slider__label",text:e.label},null):void 0),(N=a.prepend)==null?void 0:N.call(a,_)])}:void 0,default:_=>{let{id:C,messagesId:N}=_;return i("div",{class:"v-slider__container",onMousedown:q.value?void 0:p,onTouchstartPassive:q.value?void 0:D},[i("input",{id:C.value,name:e.name||C.value,disabled:!!e.disabled,readonly:!!e.readonly,tabindex:"-1",value:r.value},null),i(ks,{ref:G,start:0,stop:$.value},{"tick-label":a["tick-label"]}),i(gs,{ref:o,"aria-describedby":N.value,focused:j.value,min:c.value,max:f.value,modelValue:r.value,"onUpdate:modelValue":E=>r.value=E,position:$.value,elevation:e.elevation,onFocus:A,onBlur:W,ripple:e.ripple},{"thumb-label":a["thumb-label"]})])}})}),{}}}),Cs={name:"PaginationSlider",props:{min:{type:Number,default:0}}};function Ts(e,t,a,l,o,s){return d(),B(_s,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":S(({index:n})=>[L(V(n+a.min),1)]),_:1},16,["min"])}const Gs=z(Cs,[["render",Ts],["__scopeId","data-v-01b67afd"]]),ws={name:"PaginationToolbar"};function Vs(e,t,a,l,o,s){return d(),B(Ut,{class:"paginationToolbar codexToolbar",density:"compact",transform:"center bottom"},Se({_:2},[se(e.$slots,(n,r)=>({name:r,fn:S(c=>[_e(e.$slots,r,Y({props:n},c),void 0,!0)])}))]),1024)}const qs=z(ws,[["render",Vs],["__scopeId","data-v-cfa8cce0"]]);export{$s as A,xt as B,Os as M,na as N,zs as P,js as T,Ls as V,oa as a,Ma as b,Us as c,Gs as d,qs as e,ra as f,ia as g,As as h,sa as i,Ds as j,Qt as p,ma as t};
@@ -1 +0,0 @@
1
- import{x as ae,E as be,bX as xe,G as me,ay as We,ax as F,K as ve,L as i,bY as ge,_ as z,R as d,aA as T,bZ as Xe,ae as te,aD as I,ai as V,b_ as Ze,H as ye,b$ as Le,c0 as Je,aJ as De,N as ne,O as ue,aN as m,T as S,M as ke,aB as se,P as B,ad as L,ah as ce,Q as K,l as Qe,aI as et,bE as tt,c1 as at,ag as st,m as lt,aT as rt,aU as ot,aW as Ve,k as it,aX as nt,ap as Y,aS as ut,ao as de,b4 as dt,bj as ct,aO as mt,aP as vt,bh as Se,bt as _e,ak as ft,c2 as ht,bb as pt,c3 as bt,h as v,c4 as Be,J as Ce,s as Pe,r as pe,U as gt,p as yt,a0 as Ae,c5 as kt,i as $e,c6 as St,an as _t,C as X,b0 as Re,b1 as Ct,c7 as Tt,b3 as wt,c8 as Vt,bc as Bt,aw as Ie,as as Pt}from"./admin-drawer-panel-C34Ze3-5.js";import{C as Rt,u as Z,B as It}from"./main-Cavvqkyp.js";import{c as Mt,d as Nt,V as Et}from"./VSelect-BnoCfCLY.js";import{c as Ft}from"./to-case-kUm8NPpW.js";import{P as Lt}from"./unauthorized-28bmiwAU.js";import{V as Dt}from"./VDialog-DiixpkQL.js";import{m as At,a as $t,u as Ot,V as Me,b as jt}from"./VSelectionControl-BSL0qeL9.js";import{a as Ut}from"./settings-drawer-CT73ieiV.js";const zt=ae({...be(),...xe({variant:"text"})},"VToolbarItems"),Ls=me()({name:"VToolbarItems",props:zt(),setup(e,t){let{slots:a}=t;return We({VBtn:{color:F(e,"color"),height:"inherit",variant:F(e,"variant")}}),ve(()=>{var l;return i("div",{class:["v-toolbar-items",e.class],style:e.style},[(l=a.default)==null?void 0:l.call(a)])}),{}}}),Gt={p:"publisher",i:"imprint",s:"series",v:"volume",a:"story-arc",f:"folder",c:"missing-cover"},qt=(e,t,a,l)=>{let o;if(e)o=`${ge(e)}/cover.webp?ts=${t}`,a&&(o+=`&group=${a}`),l&&(o+="&custom=1");else{const s=Gt[a];o=window.CODEX.STATIC+"img/"+s+".svg"}return o},Ht={name:"BookCover",props:{group:{type:String,required:!0},childCount:{type:Number,default:1},finished:{type:Boolean},coverPk:{type:Number,default:0},coverMtime:{type:String,required:!0},coverCustom:{type:Boolean,required:!0},multiGroup:{type:Boolean,required:!0}},data(){return{showPlaceholder:!1}},computed:{coverSrc(){return qt(this.coverPk,this.coverMtime,this.group,this.coverCustom)},childCountClasses(){return{childCount:!0,multiGroup:this.multiGroup}}},mounted:function(){this.delayPlaceholder()},methods:{delayPlaceholder:function(){setTimeout(()=>{this.showPlaceholder=!0},2e3)}}},Kt={class:"bookCover"};function Yt(e,t,a,l,o,s){return d(),T("div",Kt,[i(Xe,{src:s.coverSrc,class:"coverImg"},null,8,["src"]),a.finished!==!0?(d(),T("div",{key:0,class:te({unreadFlag:!0,mixedreadFlag:a.finished===null})},null,2)):I("",!0),a.group!=="c"?(d(),T("span",{key:1,class:te(s.childCountClasses)},V(a.childCount),3)):I("",!0)])}const xt=z(Ht,[["render",Yt],["__scopeId","data-v-0b75ebbb"]]),Wt=["B","kB","MB","GB","TB","PB","EB","ZB","YB"],Xt=["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],Zt=["b","kbit","Mbit","Gbit","Tbit","Pbit","Ebit","Zbit","Ybit"],Jt=["b","kibit","Mibit","Gibit","Tibit","Pibit","Eibit","Zibit","Yibit"],Ne=(e,t,a)=>{let l=e;return typeof t=="string"||Array.isArray(t)?l=e.toLocaleString(t,a):(t===!0||a!==void 0)&&(l=e.toLocaleString(void 0,a)),l};function Qt(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?Jt:Zt:t.binary?Xt:Wt,l=t.space?" ":"";if(t.signed&&e===0)return` 0${l}${a[0]}`;const o=e<0,s=o?"-":t.signed?"+":"";o&&(e=-e);let n;if(t.minimumFractionDigits!==void 0&&(n={minimumFractionDigits:t.minimumFractionDigits}),t.maximumFractionDigits!==void 0&&(n={maximumFractionDigits:t.maximumFractionDigits,...n}),e<1){const P=Ne(e,t.locale,n);return s+P+l+a[0]}const r=Math.min(Math.floor(t.binary?Math.log(e)/Math.log(1024):Math.log10(e)/3),a.length-1);e/=(t.binary?1024:1e3)**r,n||(e=e.toPrecision(3));const c=Ne(Number(e),t.locale,n),f=a[r];return s+c+l+f}const ea=e=>{const t=e.pk,a=Ze();return e={...e,...a},delete e.pk,ye.get(`c/${t}`,{params:e})},ta=()=>ye.get("c/settings"),aa=e=>ye.put("c/settings",e),sa=({pk:e,mtime:t})=>`${Le(e)}/download/comic-${e}.cbz?mtime=${t}`,Ds=({pk:e,page:t,mtime:a})=>`${Le(e)}/${t}/page.jpg?mtime=${a}`,As=({pk:e,page:t,mtime:a})=>`${ge(e)}/${t}/page.jpg?mtime=${a}`,la=({pk:e,mtime:t})=>`/c/${e}/book.pdf?mtime=${t}`,$s={getPdfBookSource:la,getReaderBasePath:ge,getReaderInfo:ea,getReaderSettings:ta,setReaderSettings:aa},ra=function(e){let t;return e?t=e.length===4&&!Number.isNaN(e)?" ("+e+")":" v"+e:t="",t},Oe=function({issueNumber:e,issueSuffix:t},a){let l;try{e==null&&!t&&(e=0);const o=Number.parseFloat(e),s=Math.floor(o);a===void 0&&(a=0),o===s?l=s.toString():(l=o.toString(),a+=l.split(".")[1].length+1),l=l.padStart(a,"0")}catch{l=""}return t&&(l+=t),l},oa=function({issueNumber:e,issueSuffix:t,issueCount:a},l){let o="#"+Oe({issueNumber:e,issueSuffix:t},l);return a&&(o+=` of ${a}`),o},ia=function({seriesName:e,volumeName:t,issueNumber:a,issueSuffix:l,issueCount:o},s){const n=ra(t),r=oa({issueNumber:a,issueSuffix:l,issueCount:o},s);return[e,n,r].filter(Boolean).join(" ")},Ee=Rt.browser.vuetifyNullCode,na=new Set(["",Ee,Ee.toString(),void 0]),ua=function(e){let t;return e===void 0?t=e:e instanceof Object?t={value:e.pk,title:e.name}:t={value:e,title:e.toString()},e.url&&(t.url=e.url),t},da=function(e,t){return e.title<t.title?-1:e.title>t.title?1:0},ca=function(e,t){return Number.parseFloat(e.title)-Number.parseFloat(t.title)},ma=function(e,t,a=!1){const l=e||[],o=t&&t.toLowerCase();let s=[];for(const r of l){if(!r||na.has(r.pk))continue;const c=ua(r);c&&(!o||c.title&&c.title.toLowerCase().includes(o))&&s.push(c)}const n=a?ca:da;return s.sort(n)},va={name:"MetadataTags",props:{label:{type:String,required:!0},values:{type:Array,default(){return[]}},filter:{type:String,required:!1,default:void 0}},data(){return{mdiFilter:Je,mdiOpenInNew:De}},computed:{...ne(Z,{filterValues(e){const t=this.filter||this.label.toLowerCase();return e.settings.filters[t]},topGroup:e=>e.settings.topGroup}),model(){return ma(this.values)},chipClass(e){return{browseChip:this.filter&&e}}},methods:{...ue(Z,["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 n={filters:{[this.filter]:[e]}};this.setSettings(n)}const s={name:"browser",params:{group:t,pk:a?e:0,page:1}};this.$router.push(s)}}},fa={key:0,class:"tags"},ha={class:"chipGroupLabel"},pa=["href"];function ba(e,t,a,l,o,s){return s.model&&s.model.length>0?(d(),T("div",fa,[m("div",ha,V(a.label),1),i(Nt,{column:!0,multiple:"",value:s.model},{default:S(()=>[(d(!0),T(ke,null,se(s.model,n=>(d(),B(Mt,{key:`${a.label}/${n.value}`,color:s.chipColor(n.value),value:n.value,onClick:r=>s.onClick(n.value)},{default:S(()=>[n.url?(d(),T("a",{key:0,href:n.url,target:"_blank"},[L(V(n.title),1),i(ce,null,{default:S(()=>[L(V(o.mdiOpenInNew),1)]),_:1})],8,pa)):(d(),T("span",{key:1,class:te(s.chipClass)},V(n.title),3))]),_:2},1032,["color","value","onClick"]))),128))]),_:1},8,["value"])])):I("",!0)}const je=z(va,[["render",ba],["__scopeId","data-v-ea0e4633"]]),ga={name:"MetadataContributorsTable",components:{MetadataTags:je},props:{value:{type:Array,default:void 0}},computed:{contributorsDict(){const e={};if(!this.value)return e;for(const{role:l,person:o}of this.value){const s=Ft(l.name)+"s";e[s]||(e[s]=[]),e[s].push(o)}const t=Object.keys(e).sort((l,o)=>l.localeCompare(o)),a={};for(const l of t)a[l]=e[l].sort((o,s)=>o.name.localeCompare(s.name));return a}}},ya={key:0},ka=m("h3",null,"Contributors",-1);function Sa(e,t,a,l,o,s){const n=K("MetadataTags");return Object.keys(s.contributorsDict).length>0?(d(),T("div",ya,[ka,(d(!0),T(ke,null,se(Object.entries(s.contributorsDict),([r,c])=>(d(),B(n,{key:r,values:c,label:r,filter:"contributors"},null,8,["values","label"]))),128))])):I("",!0)}const _a=z(ga,[["render",Sa]]),Ca={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:De}},computed:{computedValue(){return this.value!=null&&this.value instanceof Object?this.value.name:this.value},linkValue(){return this.link===!0?this.computedValue:this.link?this.link:!1},highlight(){var e;return((e=this.obj)==null?void 0:e.group)===this.group},pathArray(){if(this.computedValue)return this.computedValue.split("/")},folderPath(){if(this.pathArray)return this.pathArray.slice(0,-1).join("/")},basePath(){if(this.pathArray)return this.pathArray.at(-1)},groupTo(){var o;const e=Z();if(this.group!=="f"&&!e.settings.show[this.group]||this.group==="f"&&!e.page.adminFlags.folderView)return;const a=(((o=this.obj)==null?void 0:o.group)==this.group?this.obj.ids:[this.value.pk]).join(",");if(!a)return;const l=this.$router.currentRoute.value.params;if(!(l.group===this.group&&l.pks===a))return{name:"browser",params:{group:this.group,pks:a}}}}},Ta={class:"textLabel"},wa={class:"textValue"},Va=["href"],Ba={key:3,class:"textContent"},Pa={key:4,id:"basePath"};function Ra(e,t,a,l,o,s){const n=K("router-link");return s.computedValue?(d(),T("div",{key:0,class:te(["text",{highlight:s.highlight}])},[m("div",Ta,V(a.label),1),m("div",wa,[s.groupTo&&a.group==="f"?(d(),B(n,{key:0,id:"folderPath",to:s.groupTo,title:"Browse Folder"},{default:S(()=>[L(V(s.folderPath)+"/ ",1)]),_:1},8,["to"])):s.groupTo?(d(),B(n,{key:1,class:"textContent",to:s.groupTo,title:`Browse ${a.label}`},{default:S(()=>[L(V(s.computedValue),1)]),_:1},8,["to","title"])):a.link?(d(),T("a",{key:2,href:s.linkValue,target:"_blank"},[L(V(s.computedValue)+" ",1),i(ce,{size:"small"},{default:S(()=>[L(V(o.mdiOpenInNew),1)]),_:1})],8,Va)):(d(),T("div",Ba,V(s.computedValue),1)),s.groupTo&&a.group==="f"?(d(),T("span",Pa,V(s.basePath),1)):I("",!0)])],2)):I("",!0)}const Ia=z(Ca,[["render",Ra],["__scopeId","data-v-e94baf62"]]),Ue=new Set("rtl","btt");Object.freeze(Ue);const Ma=({ids:e,page:t,readingDirection:a,pageCount:l},o)=>{if(e.length<1||o&&!l)return;const s=e[0];if(t)t=Number(t);else if(Ue.has(a)){const n=Number(l)-1;t=Math.max(n,0)}else t=0;return{name:"reader",params:{pk:s,page:t}}},Fe=Qe("metadata",{state:()=>({md:void 0}),actions:{async loadMetadata({group:e,pks:t}){const a=Z();await It.getMetadata({group:e,pks:t},a.settings).then(l=>{const o={...l.data};return o.loaded=!0,this.md=o,!0}).catch(l=>{console.error(l),this.clearMetadata()})},clearMetadata(){this.md=void 0}}}),Na=1160,Ea=.05,Fa=250,La={name:"MetadataButton",components:{BookCover:xt,CloseButton:et,MetadataContributorsTable:_a,MetadataTags:je,MetadataText:Ia,PlaceholderLoading:Lt},props:{group:{type:String,required:!0},book:{type:Object,required:!0},children:{type:Number,default:1},toolbar:{type:Boolean,default:!1}},data(){return{mdiDownload:tt,mdiTagOutline:at,dialog:!1,progress:0}},computed:{...st(lt,["isUserAdmin"]),...ne(Z,{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}}),...ne(Fe,{md:e=>e.md}),...ne(Z,{q:e=>e.settings.q}),showContainer(){var e;return((e=this.md)==null?void 0:e.loaded)||!1},downloadFileName(){var t;const e=this.md;return e?(t=this.md)!=null&&t.filename?e.filename:ia({seriesName:e.series.name||"",volumeName:e.volume.name||"",issueNumber:e.issueNumber,issueSuffix:e.issueSuffix})+"."+this.fileType.toLowerCase():"Unknown.cbz"},buttonVariant(){return this.toolbar?"plain":"text"},downloadURL(){return this.book?sa(this.book):""},isReadButtonShown(){return this.group==="c"&&this.$route.name!="reader"},isReadButtonEnabled(){return!!this.readerRoute},readButtonIcon(){return this.isReadButtonEnabled?rt:ot},readerRoute(){var e;return(e=this.md)!=null&&e.ids?Ma(this.md,this.importMetadata):{}},formattedIssue(){if(!this.md)return"Unknown";if(!((this.md.issueNumber===null||this.md.issueNumber===void 0)&&!this.md.issueSuffix))return Oe(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=Ve.format(this.md.page);e+=`Read ${a} of `}const t=Ve.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?Qt(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 l=a.name.split(":"),o=l[0],s=l[1],n=this.identifierTypeTitle(o);let r="";n&&n!=="None"&&(r+=n+":"),r+=s,e.push({...a,name:r})}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:{...ue(Fe,["clearMetadata","loadMetadata"]),...ue(it,["downloadIOSPWAFix"]),...ue(Z,["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(Ea,this.children/Na)*1e3,this.updateProgress()},updateProgress(){const e=Date.now()-this.startTime;this.progress=e/this.estimatedMS*100,!(this.progress>=100||this.md)&&setTimeout(()=>{this.updateProgress()},Fa)},formatDateTime(e){return nt(e,this.twentyFourHourTime)},download(){this.downloadIOSPWAFix(this.downloadURL,this.md.filename)}}},Da=e=>(mt("data-v-c06a2b18"),e=e(),vt(),e),Aa={id:"metadataHeader"},$a={id:"metadataBookCoverWrapper"},Oa={class:"inlineRow"},ja={class:"inlineRow"},Ua={class:"inlineRow"},za={key:1,class:"inlineRow"},Ga={id:"metadataBody"},qa={class:"mdSection"},Ha={class:"quintRow"},Ka={class:"mdSection"},Ya={class:"quarterRow"},xa={class:"lastSmallRow"},Wa={class:"halfRow mdSection"},Xa={class:"mdSection"},Za={class:"mdSection"},Ja={class:"mdSection"},Qa={class:"mdSection"},es={class:"mdSection"},ts={class:"mdSection inlineRow"},as={class:"inlineRow"},ss={id:"footerLinks"},ls={id:"bottomRightButtons"},rs={key:1,id:"placeholderContainer"},os=Da(()=>m("div",{id:"placeholderTitle"},"Tags Loading",-1));function is(e,t,a,l,o,s){const n=K("CloseButton"),r=K("MetadataText"),c=K("BookCover"),f=K("MetadataTags"),P=K("MetadataContributorsTable"),k=K("PlaceholderLoading");return d(),B(Dt,{modelValue:o.dialog,"onUpdate:modelValue":t[5]||(t[5]=p=>o.dialog=p),fullscreen:"",transition:"dialog-bottom-transition"},{activator:S(({props:p})=>[i(de,Y({"aria-label":"tags",class:"tagButton cardControlButton",variant:s.buttonVariant,icon:o.mdiTagOutline,title:"Tags"},p,{onClick:t[0]||(t[0]=ut(()=>{},["prevent"]))}),null,16,["variant","icon"])]),default:S(()=>[s.showContainer?(d(),T("div",{key:0,id:"metadataContainer",onKeyup:t[3]||(t[3]=ct(p=>o.dialog=!1,["esc"]))},[m("header",Aa,[i(n,{class:"closeButton",title:"Close Metadata (esc)",onClick:t[1]||(t[1]=p=>o.dialog=!1)}),e.q?(d(),B(r,{key:0,id:"search",value:e.q,label:"Search Query",highlight:!0},null,8,["value"])):I("",!0),m("div",$a,[i(c,{id:"bookCover","cover-pk":e.md.coverPk,"cover-mtime":e.md.coverMtime||"","cover-custom":e.md.coverCustom||!1,group:a.group,"child-count":e.md.childCount,finished:e.md.finished,"multi-group":s.multiGroup},null,8,["cover-pk","cover-mtime","cover-custom","group","child-count","finished","multi-group"]),i(dt,{class:"bookCoverProgress","model-value":e.md.progress,rounded:"","background-color":"inherit",height:"2","aria-label":"% read"},null,8,["model-value"])]),m("div",Oa,[i(r,{id:"publisher",value:e.md.publisher,group:"p",label:"Publisher",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]),i(r,{id:"imprint",value:e.md.imprint,group:"i",label:"Imprint",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"])]),m("div",ja,[i(r,{id:"series",value:e.md.series,label:"Series",group:"s",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"])]),m("div",Ua,[i(r,{id:"volume",value:e.md.volume,label:"Volume",group:"v",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]),i(r,{value:e.md.seriesVolumeCount,label:"Volume Count"},null,8,["value"]),i(r,{id:"issue",value:s.formattedIssue,label:"Issue",group:"c",obj:{ids:e.md.ids,group:e.md.group}},null,8,["value","obj"]),i(r,{value:e.md.volumeIssueCount,label:"Issue Count"},null,8,["value"]),i(r,{value:e.md.name,label:"Title"},null,8,["value"])]),e.md.year||e.md.month||e.md.day?(d(),T("div",za,[i(r,{value:e.md.year,label:"Year",class:"datePicker",type:"number"},null,8,["value"]),i(r,{value:e.md.month,label:"Month",class:"datePicker"},null,8,["value"]),i(r,{value:e.md.day,label:"Day",class:"datePicker"},null,8,["value"])])):I("",!0)]),m("div",Ga,[m("section",qa,[m("div",Ha,[i(r,{value:s.pages,label:"Pages"},null,8,["value"]),i(r,{label:"Finished",value:(!!e.md.finished).toString()},null,8,["value"]),i(r,{label:"Reading Direction",value:s.readingDirectionText},null,8,["value"]),i(r,{value:(!!e.md.monochrome).toString(),label:"Monochrome"},null,8,["value"]),i(r,{value:e.md.original_format,label:"Original Format"},null,8,["value"])])]),m("section",Ka,[m("div",Ya,[e.md.createdAt?(d(),B(r,{key:0,value:s.formatDateTime(e.md.createdAt),label:"Created at",class:"mtime"},null,8,["value"])):I("",!0),e.md.updatedAt?(d(),B(r,{key:1,value:s.formatDateTime(e.md.updatedAt),label:"Updated at",class:"mtime"},null,8,["value"])):I("",!0),i(r,{value:s.size,label:"Size"},null,8,["value"]),i(r,{value:s.fileType,label:"File Type"},null,8,["value"])]),m("div",xa,[i(r,{group:"f",value:{pk:e.md.parentFolderId,name:e.md.path},label:"Path"},null,8,["value"])])]),m("section",Wa,[i(r,{value:e.md.country,label:"Country"},null,8,["value"]),i(r,{value:e.md.language,label:"Language"},null,8,["value"])]),m("section",Xa,[i(f,{values:s.titledIdentifiers,label:"Identifiers"},null,8,["values"])]),m("section",Za,[i(r,{value:e.md.summary,label:"Summary"},null,8,["value"]),i(r,{value:e.md.review,label:"Review"},null,8,["value"])]),m("section",Ja,[i(r,{value:e.md.communityRating,label:"Community Rating"},null,8,["value"]),i(r,{value:e.md.criticalRating,label:"Critical Rating"},null,8,["value"]),i(r,{value:e.md.ageRating,label:"Age Rating"},null,8,["value"])]),m("section",Qa,[i(f,{values:e.md.genres,label:"Genres",filter:"genres"},null,8,["values"]),i(f,{values:e.md.characters,label:"Characters",filter:"characters"},null,8,["values"]),i(f,{values:e.md.teams,label:"Teams",filter:"teams"},null,8,["values"]),i(f,{values:e.md.locations,label:"Locations",filter:"locations"},null,8,["values"]),i(f,{values:e.md.seriesGroups,label:"Series Groups",filter:"seriesGroups"},null,8,["values"]),i(f,{values:e.md.stories,label:"Stories",filter:"stories"},null,8,["values"]),i(f,{values:e.md.storyArcNumbers,label:"Story Arcs",filter:"storyArcs"},null,8,["values"]),i(f,{values:e.md.tags,label:"Tags",filter:"tags"},null,8,["values"])]),m("section",es,[i(P,{value:e.md.contributors},null,8,["value"])]),m("section",ts,[i(r,{value:e.md.notes,label:"Notes"},null,8,["value"])]),m("section",as,[i(r,{value:e.md.tagger,label:"Tagger"},null,8,["value"]),i(r,{value:e.md.scanInfo,label:"Scan"},null,8,["value"])])]),m("footer",ss,[a.group==="c"?(d(),B(de,{key:0,id:"downloadButton",title:"Download Comic Archive",onClick:s.download},{default:S(()=>[a.group==="c"?(d(),B(ce,{key:0},{default:S(()=>[L(V(o.mdiDownload),1)]),_:1})):I("",!0),L(" Download ")]),_:1},8,["onClick"])):I("",!0),s.isReadButtonShown?(d(),B(de,{key:1,to:s.readerRoute,title:"Read Comic",disabled:!s.isReadButtonEnabled},{default:S(()=>[i(ce,null,{default:S(()=>[L(V(s.readButtonIcon),1)]),_:1}),L(" Read ")]),_:1},8,["to","disabled"])):I("",!0),m("span",ls,[i(n,{class:"closeButton",title:"Close Metadata (esc)",onClick:t[2]||(t[2]=p=>o.dialog=!1)})])])],32)):(d(),T("div",rs,[i(n,{class:"closeButton",title:"Close Metadata (esc)",onClick:t[4]||(t[4]=p=>o.dialog=!1)}),os,i(k,{"model-value":o.progress,indeterminate:o.progress>=100,class:"placeholder"},null,8,["model-value","indeterminate"])]))]),_:1},8,["modelValue"])}const Os=z(La,[["render",is],["__scopeId","data-v-c06a2b18"]]),ns={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 us(e,t,a,l,o,s){return d(),B(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:s.style,variant:"plain"}),Se({item:S(({item:n,props:r})=>[i(ft,Y(r,{density:"compact",variant:"plain",title:n.title,value:n.value}),null,16,["title","value"])]),_:2},[se(e.$slots,(n,r)=>({name:r,fn:S(c=>[_e(e.$slots,r,Y({props:n},c),void 0,!0)])}))]),1040,["label","aria-label","style"])}const js=z(ns,[["render",us],["__scopeId","data-v-e88da460"]]),Us=ht("v-spacer","div","VSpacer"),ds={name:"PaginationNavButton",props:{narrow:{type:Boolean,default:!0}},computed:{classes(){return{narrowButton:this.narrow}}}};function cs(e,t,a,l,o,s){return d(),B(de,{variant:"plain",density:"compact",class:te(["paginationNavButton",s.classes]),size:"medium"},Se({_:2},[se(e.$slots,(n,r)=>({name:r,fn:S(c=>[_e(e.$slots,r,Y({props:n},c),void 0,!0)])}))]),1032,["class"])}const zs=z(ds,[["render",cs],["__scopeId","data-v-0450dab6"]]),Te=Symbol.for("vuetify:v-slider");function ms(e,t,a){const l=a==="vertical",o=t.getBoundingClientRect(),s="touches"in e?e.touches[0]:e;return l?s.clientY-(o.top+o.height/2):s.clientX-(o.left+o.width/2)}function vs(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 fs=ae({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,...pt(),...bt({elevation:2}),ripple:{type:Boolean,default:!0}},"Slider"),hs=e=>{const t=v(()=>parseFloat(e.min)),a=v(()=>parseFloat(e.max)),l=v(()=>+e.step>0?parseFloat(e.step):0),o=v(()=>Math.max(Be(l.value),Be(t.value)));function s(n){if(n=parseFloat(n),l.value<=0)return n;const r=Ae(n,t.value,a.value),c=t.value%l.value,f=Math.round((r-c)/l.value)*l.value+c;return parseFloat(Math.min(f,a.value).toFixed(o.value))}return{min:t,max:a,step:l,decimals:o,roundValue:s}},ps=e=>{let{props:t,steps:a,onSliderStart:l,onSliderMove:o,onSliderEnd:s,getActiveThumb:n}=e;const{isRtl:r}=Ce(),c=F(t,"reverse"),f=v(()=>t.direction==="vertical"),P=v(()=>f.value!==c.value),{min:k,max:p,step:D,decimals:G,roundValue:O}=a,x=v(()=>parseInt(t.thumbSize,10)),q=v(()=>parseInt(t.tickSize,10)),j=v(()=>parseInt(t.trackSize,10)),A=v(()=>(p.value-k.value)/D.value),W=F(t,"disabled"),$=v(()=>t.error||t.disabled?void 0:t.thumbColor??t.color),b=v(()=>t.error||t.disabled?void 0:t.trackColor??t.color),M=v(()=>t.error||t.disabled?void 0:t.trackFillColor??t.color),_=Pe(!1),C=Pe(0),N=pe(),E=pe();function h(u){var we;const y=t.direction==="vertical",ze=y?"top":"left",Ge=y?"height":"width",qe=y?"clientY":"clientX",{[ze]:He,[Ge]:Ke}=(we=N.value)==null?void 0:we.$el.getBoundingClientRect(),Ye=vs(u,qe);let he=Math.min(Math.max((Ye-He-C.value)/Ke,0),1)||0;return(y?P.value:P.value!==r.value)&&(he=1-he),O(k.value+he*(p.value-k.value))}const U=u=>{s({value:h(u)}),_.value=!1,C.value=0},H=u=>{E.value=n(u),E.value&&(E.value.focus(),_.value=!0,E.value.contains(u.target)?C.value=ms(u,E.value,t.direction):(C.value=0,o({value:h(u)})),l({value:h(u)}))},R={passive:!0,capture:!0};function J(u){o({value:h(u)})}function le(u){u.stopPropagation(),u.preventDefault(),U(u),window.removeEventListener("mousemove",J,R),window.removeEventListener("mouseup",le)}function re(u){var y;U(u),window.removeEventListener("touchmove",J,R),(y=u.target)==null||y.removeEventListener("touchend",re)}function fe(u){var y;H(u),window.addEventListener("touchmove",J,R),(y=u.target)==null||y.addEventListener("touchend",re,{passive:!1})}function w(u){u.preventDefault(),H(u),window.addEventListener("mousemove",J,R),window.addEventListener("mouseup",le,{passive:!1})}const g=u=>{const y=(u-k.value)/(p.value-k.value)*100;return Ae(isNaN(y)?0:y,0,100)},Q=F(t,"showTicks"),ee=v(()=>Q.value?t.ticks?Array.isArray(t.ticks)?t.ticks.map(u=>({value:u,position:g(u),label:u.toString()})):Object.keys(t.ticks).map(u=>({value:parseFloat(u),position:g(parseFloat(u)),label:t.ticks[u]})):A.value!==1/0?gt(A.value+1).map(u=>{const y=k.value+u*D.value;return{value:y,position:g(y)}}):[]:[]),oe=v(()=>ee.value.some(u=>{let{label:y}=u;return!!y})),ie={activeThumbRef:E,color:F(t,"color"),decimals:G,disabled:W,direction:F(t,"direction"),elevation:F(t,"elevation"),hasLabels:oe,isReversed:c,indexFromEnd:P,min:k,max:p,mousePressed:_,numTicks:A,onSliderMousedown:w,onSliderTouchstart:fe,parsedTicks:ee,parseMouseMove:h,position:g,readonly:F(t,"readonly"),rounded:F(t,"rounded"),roundValue:O,showTicks:Q,startOffset:C,step:D,thumbSize:x,thumbColor:$,thumbLabel:F(t,"thumbLabel"),ticks:F(t,"ticks"),tickSize:q,trackColor:b,trackContainerRef:N,trackFillColor:M,trackSize:j,vertical:f};return yt(Te,ie),ie},bs=ae({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},...be()},"VSliderThumb"),gs=me()({name:"VSliderThumb",directives:{Ripple:kt},props:bs(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:a,emit:l}=t;const o=$e(Te),{isRtl:s,rtlClasses:n}=Ce();if(!o)throw new Error("[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider");const{thumbColor:r,step:c,disabled:f,thumbSize:P,thumbLabel:k,direction:p,isReversed:D,vertical:G,readonly:O,elevation:x,mousePressed:q,decimals:j,indexFromEnd:A}=o,W=v(()=>f.value?void 0:x.value),{elevationClasses:$}=St(W),{textColorClasses:b,textColorStyles:M}=_t(r),{pageup:_,pagedown:C,end:N,home:E,left:h,right:U,down:H,up:R}=Vt,J=[_,C,N,E,h,U,H,R],le=v(()=>c.value?[1,2,3]:[1,5,10]);function re(w,g){if(!J.includes(w.key))return;w.preventDefault();const Q=c.value||.1,ee=(e.max-e.min)/Q;if([h,U,H,R].includes(w.key)){const ie=(G.value?[s.value?h:U,D.value?H:R]:A.value!==s.value?[h,R]:[U,R]).includes(w.key)?1:-1,u=w.shiftKey?2:w.ctrlKey?1:0;g=g+ie*Q*le.value[u]}else if(w.key===E)g=e.min;else if(w.key===N)g=e.max;else{const oe=w.key===C?1:-1;g=g-oe*Q*(ee>100?ee/10:10)}return Math.max(e.min,Math.min(e.max,g))}function fe(w){const g=re(w,e.modelValue);g!=null&&l("update:modelValue",g)}return ve(()=>{const w=X(A.value?100-e.position:e.position,"%");return i("div",{class:["v-slider-thumb",{"v-slider-thumb--focused":e.focused,"v-slider-thumb--pressed":e.focused&&q.value},e.class,n.value],style:[{"--v-slider-thumb-position":w,"--v-slider-thumb-size":X(P.value)},e.style],role:"slider",tabindex:f.value?-1:0,"aria-valuemin":e.min,"aria-valuemax":e.max,"aria-valuenow":e.modelValue,"aria-readonly":!!O.value,"aria-orientation":p.value,onKeydown:O.value?void 0:fe},[i("div",{class:["v-slider-thumb__surface",b.value,$.value],style:{...M.value}},null),Re(i("div",{class:["v-slider-thumb__ripple",b.value],style:M.value},null),[[Ct("ripple"),e.ripple,null,{circle:!0,center:!0}]]),i(Tt,{origin:"bottom center"},{default:()=>{var g;return[Re(i("div",{class:"v-slider-thumb__label-container"},[i("div",{class:["v-slider-thumb__label"]},[i("div",null,[((g=a["thumb-label"])==null?void 0:g.call(a,{modelValue:e.modelValue}))??e.modelValue.toFixed(c.value?j.value:1)])])]),[[wt,k.value&&e.focused||k.value==="always"]])]}})])}),{}}}),ys=ae({start:{type:Number,required:!0},stop:{type:Number,required:!0},...be()},"VSliderTrack"),ks=me()({name:"VSliderTrack",props:ys(),emits:{},setup(e,t){let{slots:a}=t;const l=$e(Te);if(!l)throw new Error("[Vuetify] v-slider-track must be inside v-slider or v-range-slider");const{color:o,parsedTicks:s,rounded:n,showTicks:r,tickSize:c,trackColor:f,trackFillColor:P,trackSize:k,vertical:p,min:D,max:G,indexFromEnd:O}=l,{roundedClasses:x}=Bt(n),{backgroundColorClasses:q,backgroundColorStyles:j}=Ie(P),{backgroundColorClasses:A,backgroundColorStyles:W}=Ie(f),$=v(()=>`inset-${p.value?"block":"inline"}-${O.value?"end":"start"}`),b=v(()=>p.value?"height":"width"),M=v(()=>({[$.value]:"0%",[b.value]:"100%"})),_=v(()=>e.stop-e.start),C=v(()=>({[$.value]:X(e.start,"%"),[b.value]:X(_.value,"%")})),N=v(()=>r.value?(p.value?s.value.slice().reverse():s.value).map((h,U)=>{var R;const H=h.value!==D.value&&h.value!==G.value?X(h.position,"%"):void 0;return i("div",{key:h.value,class:["v-slider-track__tick",{"v-slider-track__tick--filled":h.position>=e.start&&h.position<=e.stop,"v-slider-track__tick--first":h.value===D.value,"v-slider-track__tick--last":h.value===G.value}],style:{[$.value]:H}},[(h.label||a["tick-label"])&&i("div",{class:"v-slider-track__tick-label"},[((R=a["tick-label"])==null?void 0:R.call(a,{tick:h,index:U}))??h.label])])}):[]);return ve(()=>i("div",{class:["v-slider-track",x.value,e.class],style:[{"--v-slider-track-size":X(k.value),"--v-slider-tick-size":X(c.value)},e.style]},[i("div",{class:["v-slider-track__background",A.value,{"v-slider-track__background--opacity":!!o.value||!P.value}],style:{...M.value,...W.value}},null),i("div",{class:["v-slider-track__fill",q.value],style:{...C.value,...j.value}},null),r.value&&i("div",{class:["v-slider-track__ticks",{"v-slider-track__ticks--always-show":r.value==="always"}]},[N.value])])),{}}}),Ss=ae({...At(),...fs(),...$t(),modelValue:{type:[Number,String],default:0}},"VSlider"),_s=me()({name:"VSlider",props:Ss(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,start:e=>!0,end:e=>!0},setup(e,t){let{slots:a,emit:l}=t;const o=pe(),{rtlClasses:s}=Ce(),n=hs(e),r=Pt(e,"modelValue",void 0,b=>n.roundValue(b??n.min.value)),{min:c,max:f,mousePressed:P,roundValue:k,onSliderMousedown:p,onSliderTouchstart:D,trackContainerRef:G,position:O,hasLabels:x,readonly:q}=ps({props:e,steps:n,onSliderStart:()=>{l("start",r.value)},onSliderEnd:b=>{let{value:M}=b;const _=k(M);r.value=_,l("end",_)},onSliderMove:b=>{let{value:M}=b;return r.value=k(M)},getActiveThumb:()=>{var b;return(b=o.value)==null?void 0:b.$el}}),{isFocused:j,focus:A,blur:W}=Ot(e),$=v(()=>O(r.value));return ve(()=>{const b=Me.filterProps(e),M=!!(e.label||a.label||a.prepend);return i(Me,Y({class:["v-slider",{"v-slider--has-labels":!!a["tick-label"]||x.value,"v-slider--focused":j.value,"v-slider--pressed":P.value,"v-slider--disabled":e.disabled},s.value,e.class],style:e.style},b,{focused:j.value}),{...a,prepend:M?_=>{var C,N;return i(ke,null,[((C=a.label)==null?void 0:C.call(a,_))??(e.label?i(jt,{id:_.id.value,class:"v-slider__label",text:e.label},null):void 0),(N=a.prepend)==null?void 0:N.call(a,_)])}:void 0,default:_=>{let{id:C,messagesId:N}=_;return i("div",{class:"v-slider__container",onMousedown:q.value?void 0:p,onTouchstartPassive:q.value?void 0:D},[i("input",{id:C.value,name:e.name||C.value,disabled:!!e.disabled,readonly:!!e.readonly,tabindex:"-1",value:r.value},null),i(ks,{ref:G,start:0,stop:$.value},{"tick-label":a["tick-label"]}),i(gs,{ref:o,"aria-describedby":N.value,focused:j.value,min:c.value,max:f.value,modelValue:r.value,"onUpdate:modelValue":E=>r.value=E,position:$.value,elevation:e.elevation,onFocus:A,onBlur:W,ripple:e.ripple},{"thumb-label":a["thumb-label"]})])}})}),{}}}),Cs={name:"PaginationSlider",props:{min:{type:Number,default:0}}};function Ts(e,t,a,l,o,s){return d(),B(_s,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":S(({index:n})=>[L(V(n+a.min),1)]),_:1},16,["min"])}const Gs=z(Cs,[["render",Ts],["__scopeId","data-v-01b67afd"]]),ws={name:"PaginationToolbar"};function Vs(e,t,a,l,o,s){return d(),B(Ut,{class:"paginationToolbar codexToolbar",density:"compact",transform:"center bottom"},Se({_:2},[se(e.$slots,(n,r)=>({name:r,fn:S(c=>[_e(e.$slots,r,Y({props:n},c),void 0,!0)])}))]),1024)}const qs=z(ws,[["render",Vs],["__scopeId","data-v-cfa8cce0"]]);export{$s as A,xt as B,Os as M,na as N,zs as P,js as T,Ls as V,oa as a,Ma as b,Us as c,Gs as d,qs as e,ra as f,ia as g,As as h,sa as i,Ds as j,Qt as p,ma as t};