codex 1.6.2__py3-none-any.whl → 1.6.4__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 (513) hide show
  1. codex/exceptions.py +42 -16
  2. codex/librarian/importer/importer.py +1 -1
  3. codex/librarian/janitor/cleanup.py +2 -4
  4. codex/librarian/janitor/update.py +10 -9
  5. codex/librarian/search/merge.py +37 -40
  6. codex/librarian/search/remove.py +30 -26
  7. codex/librarian/search/update.py +47 -38
  8. codex/librarian/stats.py +177 -0
  9. codex/librarian/watchdog/events.py +2 -2
  10. codex/serializers/admin/__init__.py +1 -0
  11. codex/serializers/admin/flags.py +15 -0
  12. codex/serializers/admin/groups.py +38 -0
  13. codex/serializers/admin/libraries.py +90 -0
  14. codex/serializers/admin/stats.py +126 -0
  15. codex/serializers/admin/tasks.py +16 -0
  16. codex/serializers/admin/users.py +40 -0
  17. codex/serializers/fields.py +30 -0
  18. codex/serializers/reader.py +8 -3
  19. codex/settings/settings.py +3 -3
  20. codex/static_root/assets/VCheckbox-DtXDauZz.54986ad416a1.js +1 -0
  21. codex/static_root/assets/VCheckbox-DtXDauZz.54986ad416a1.js.br +0 -0
  22. codex/static_root/assets/VCheckbox-DtXDauZz.54986ad416a1.js.gz +0 -0
  23. codex/static_root/assets/VCheckbox-DtXDauZz.js +1 -0
  24. codex/static_root/assets/VCheckbox-DtXDauZz.js.br +0 -0
  25. codex/static_root/assets/VCheckbox-DtXDauZz.js.gz +0 -0
  26. codex/static_root/assets/VCheckboxBtn-B-iT1MnG.8505f6eed0fe.js +1 -0
  27. codex/static_root/assets/VCheckboxBtn-B-iT1MnG.8505f6eed0fe.js.br +0 -0
  28. codex/static_root/assets/VCheckboxBtn-B-iT1MnG.8505f6eed0fe.js.gz +0 -0
  29. codex/static_root/assets/VCheckboxBtn-B-iT1MnG.js +1 -0
  30. codex/static_root/assets/VCheckboxBtn-B-iT1MnG.js.br +0 -0
  31. codex/static_root/assets/VCheckboxBtn-B-iT1MnG.js.gz +0 -0
  32. codex/static_root/assets/{VCombobox-CGyBgdqr.2f85598cc1a4.js → VCombobox-DZmum3X-.330883d59742.js} +1 -1
  33. codex/static_root/assets/VCombobox-DZmum3X-.330883d59742.js.br +0 -0
  34. codex/static_root/assets/VCombobox-DZmum3X-.330883d59742.js.gz +0 -0
  35. codex/static_root/assets/{VCombobox-CGyBgdqr.js → VCombobox-DZmum3X-.js} +1 -1
  36. codex/static_root/assets/VCombobox-DZmum3X-.js.br +0 -0
  37. codex/static_root/assets/VCombobox-DZmum3X-.js.gz +0 -0
  38. codex/static_root/assets/VDialog-DUdNpXLj.6088d518d3af.js +1 -0
  39. codex/static_root/assets/VDialog-DUdNpXLj.6088d518d3af.js.br +0 -0
  40. codex/static_root/assets/VDialog-DUdNpXLj.6088d518d3af.js.gz +0 -0
  41. codex/static_root/assets/VDialog-DUdNpXLj.js +1 -0
  42. codex/static_root/assets/VDialog-DUdNpXLj.js.br +0 -0
  43. codex/static_root/assets/VDialog-DUdNpXLj.js.gz +0 -0
  44. codex/static_root/assets/VExpansionPanels-CurqcyFg.860017abf25d.js +1 -0
  45. codex/static_root/assets/VExpansionPanels-CurqcyFg.860017abf25d.js.br +0 -0
  46. codex/static_root/assets/VExpansionPanels-CurqcyFg.860017abf25d.js.gz +0 -0
  47. codex/static_root/assets/VExpansionPanels-CurqcyFg.js +1 -0
  48. codex/static_root/assets/VExpansionPanels-CurqcyFg.js.br +0 -0
  49. codex/static_root/assets/VExpansionPanels-CurqcyFg.js.gz +0 -0
  50. codex/static_root/assets/VRadioGroup-B7n5ReZ-.8acbc71ac411.js +1 -0
  51. codex/static_root/assets/VRadioGroup-B7n5ReZ-.8acbc71ac411.js.br +0 -0
  52. codex/static_root/assets/VRadioGroup-B7n5ReZ-.8acbc71ac411.js.gz +0 -0
  53. codex/static_root/assets/VRadioGroup-B7n5ReZ-.js +1 -0
  54. codex/static_root/assets/VRadioGroup-B7n5ReZ-.js.br +0 -0
  55. codex/static_root/assets/VRadioGroup-B7n5ReZ-.js.gz +0 -0
  56. codex/static_root/assets/VSelect-FYWbH55D.83e91b93fdd1.js +1 -0
  57. codex/static_root/assets/VSelect-FYWbH55D.83e91b93fdd1.js.br +0 -0
  58. codex/static_root/assets/VSelect-FYWbH55D.83e91b93fdd1.js.gz +0 -0
  59. codex/static_root/assets/VSelect-FYWbH55D.js +1 -0
  60. codex/static_root/assets/VSelect-FYWbH55D.js.br +0 -0
  61. codex/static_root/assets/VSelect-FYWbH55D.js.gz +0 -0
  62. codex/static_root/assets/{VSelectionControl-DXxRmssH.js → VSelectionControl-CUlT3cc_.63f60240eb49.js} +1 -1
  63. codex/static_root/assets/VSelectionControl-CUlT3cc_.63f60240eb49.js.br +0 -0
  64. codex/static_root/assets/VSelectionControl-CUlT3cc_.63f60240eb49.js.gz +0 -0
  65. codex/static_root/assets/{VSelectionControl-DXxRmssH.252890f79cc6.js → VSelectionControl-CUlT3cc_.js} +1 -1
  66. codex/static_root/assets/VSelectionControl-CUlT3cc_.js.br +0 -0
  67. codex/static_root/assets/VSelectionControl-CUlT3cc_.js.gz +0 -0
  68. codex/static_root/assets/{VSlideGroup-DYJ3EYZI.a2542c5f90c4.js → VSlideGroup-CRJazQeR.cb89b2222518.js} +1 -1
  69. codex/static_root/assets/VSlideGroup-CRJazQeR.cb89b2222518.js.br +0 -0
  70. codex/static_root/assets/VSlideGroup-CRJazQeR.cb89b2222518.js.gz +0 -0
  71. codex/static_root/assets/{VSlideGroup-DYJ3EYZI.js → VSlideGroup-CRJazQeR.js} +1 -1
  72. codex/static_root/assets/VSlideGroup-CRJazQeR.js.br +0 -0
  73. codex/static_root/assets/VSlideGroup-CRJazQeR.js.gz +0 -0
  74. codex/static_root/assets/{VTable-BveGtxei.7f76f4ef812b.js → VTable-DtyBEZ5i.6848f15ea03f.js} +1 -1
  75. codex/static_root/assets/VTable-DtyBEZ5i.6848f15ea03f.js.br +0 -0
  76. codex/static_root/assets/VTable-DtyBEZ5i.6848f15ea03f.js.gz +0 -0
  77. codex/static_root/assets/{VTable-BveGtxei.js → VTable-DtyBEZ5i.js} +1 -1
  78. codex/static_root/assets/VTable-DtyBEZ5i.js.br +0 -0
  79. codex/static_root/assets/VTable-DtyBEZ5i.js.gz +0 -0
  80. codex/static_root/assets/VTextField-DEiVah7O.fbf3130f2dea.js +1 -0
  81. codex/static_root/assets/VTextField-DEiVah7O.fbf3130f2dea.js.br +0 -0
  82. codex/static_root/assets/VTextField-DEiVah7O.fbf3130f2dea.js.gz +0 -0
  83. codex/static_root/assets/VTextField-DEiVah7O.js +1 -0
  84. codex/static_root/assets/VTextField-DEiVah7O.js.br +0 -0
  85. codex/static_root/assets/VTextField-DEiVah7O.js.gz +0 -0
  86. codex/static_root/assets/{VWindowItem-FBuIO_rT.8610c7e83905.js → VWindowItem-BVIaHO-S.419e4ecf523d.js} +1 -1
  87. codex/static_root/assets/VWindowItem-BVIaHO-S.419e4ecf523d.js.br +0 -0
  88. codex/static_root/assets/VWindowItem-BVIaHO-S.419e4ecf523d.js.gz +0 -0
  89. codex/static_root/assets/{VWindowItem-FBuIO_rT.js → VWindowItem-BVIaHO-S.js} +1 -1
  90. codex/static_root/assets/VWindowItem-BVIaHO-S.js.br +0 -0
  91. codex/static_root/assets/VWindowItem-BVIaHO-S.js.gz +0 -0
  92. codex/static_root/assets/{admin-B8Bp2Uih.82c98714bcf1.css → admin-D4sw3N4T.b590f88a62cf.css} +1 -1
  93. codex/static_root/assets/admin-D4sw3N4T.b590f88a62cf.css.br +0 -0
  94. codex/static_root/assets/admin-D4sw3N4T.b590f88a62cf.css.gz +0 -0
  95. codex/static_root/assets/{admin-B8Bp2Uih.css → admin-D4sw3N4T.css} +1 -1
  96. codex/static_root/assets/admin-D4sw3N4T.css.br +0 -0
  97. codex/static_root/assets/admin-D4sw3N4T.css.gz +0 -0
  98. codex/static_root/assets/admin-S53JleJt.f629d90f73a1.js +1 -0
  99. codex/static_root/assets/admin-S53JleJt.f629d90f73a1.js.br +0 -0
  100. codex/static_root/assets/admin-S53JleJt.f629d90f73a1.js.gz +0 -0
  101. codex/static_root/assets/admin-S53JleJt.js +1 -0
  102. codex/static_root/assets/admin-S53JleJt.js.br +0 -0
  103. codex/static_root/assets/admin-S53JleJt.js.gz +0 -0
  104. codex/static_root/assets/admin-drawer-panel-CnAnGx7w.1e4eb021cb21.js +56 -0
  105. codex/static_root/assets/admin-drawer-panel-CnAnGx7w.1e4eb021cb21.js.br +0 -0
  106. codex/static_root/assets/admin-drawer-panel-CnAnGx7w.1e4eb021cb21.js.gz +0 -0
  107. codex/static_root/assets/admin-drawer-panel-CnAnGx7w.js +56 -0
  108. codex/static_root/assets/admin-drawer-panel-CnAnGx7w.js.br +0 -0
  109. codex/static_root/assets/admin-drawer-panel-CnAnGx7w.js.gz +0 -0
  110. codex/static_root/assets/browser-BHHgqDP7.7ada4400d63f.js +1 -0
  111. codex/static_root/assets/browser-BHHgqDP7.7ada4400d63f.js.br +0 -0
  112. codex/static_root/assets/browser-BHHgqDP7.7ada4400d63f.js.gz +0 -0
  113. codex/static_root/assets/browser-BHHgqDP7.js +1 -0
  114. codex/static_root/assets/browser-BHHgqDP7.js.br +0 -0
  115. codex/static_root/assets/browser-BHHgqDP7.js.gz +0 -0
  116. codex/static_root/assets/{browser-DP9eEJ0M.css → browser-Cy0OgQJC.css} +1 -1
  117. codex/static_root/assets/browser-Cy0OgQJC.css.br +0 -0
  118. codex/static_root/assets/browser-Cy0OgQJC.css.gz +0 -0
  119. codex/static_root/assets/{browser-DP9eEJ0M.276e8636f8fc.css → browser-Cy0OgQJC.fabbd1aaffcf.css} +1 -1
  120. codex/static_root/assets/browser-Cy0OgQJC.fabbd1aaffcf.css.br +0 -0
  121. codex/static_root/assets/browser-Cy0OgQJC.fabbd1aaffcf.css.gz +0 -0
  122. codex/static_root/assets/change-password-dialog-Du1bwEt1.a4c0205c9bc4.js +1 -0
  123. codex/static_root/assets/change-password-dialog-Du1bwEt1.a4c0205c9bc4.js.br +0 -0
  124. codex/static_root/assets/change-password-dialog-Du1bwEt1.a4c0205c9bc4.js.gz +0 -0
  125. codex/static_root/assets/change-password-dialog-Du1bwEt1.js +1 -0
  126. codex/static_root/assets/change-password-dialog-Du1bwEt1.js.br +0 -0
  127. codex/static_root/assets/change-password-dialog-Du1bwEt1.js.gz +0 -0
  128. codex/static_root/assets/confirm-dialog-eKN71B8a.af6187dc12bd.js +1 -0
  129. codex/static_root/assets/confirm-dialog-eKN71B8a.af6187dc12bd.js.br +0 -0
  130. codex/static_root/assets/confirm-dialog-eKN71B8a.af6187dc12bd.js.gz +0 -0
  131. codex/static_root/assets/confirm-dialog-eKN71B8a.js +1 -0
  132. codex/static_root/assets/confirm-dialog-eKN71B8a.js.br +0 -0
  133. codex/static_root/assets/confirm-dialog-eKN71B8a.js.gz +0 -0
  134. codex/static_root/assets/{datetime-column-uaXWFgF_.29c6d50b483e.js → datetime-column-CWp600fz.e8a969126bf5.js} +1 -1
  135. codex/static_root/assets/datetime-column-CWp600fz.e8a969126bf5.js.br +0 -0
  136. codex/static_root/assets/datetime-column-CWp600fz.e8a969126bf5.js.gz +0 -0
  137. codex/static_root/assets/{datetime-column-uaXWFgF_.js → datetime-column-CWp600fz.js} +1 -1
  138. codex/static_root/assets/datetime-column-CWp600fz.js.br +0 -0
  139. codex/static_root/assets/datetime-column-CWp600fz.js.gz +0 -0
  140. codex/static_root/assets/{filter-DS84uTvk.4fbebd4832bc.js → filter-_XbKRiIR.2c7ac68a2d03.js} +1 -1
  141. codex/static_root/assets/filter-_XbKRiIR.2c7ac68a2d03.js.br +0 -0
  142. codex/static_root/assets/filter-_XbKRiIR.2c7ac68a2d03.js.gz +0 -0
  143. codex/static_root/assets/{filter-DS84uTvk.js → filter-_XbKRiIR.js} +1 -1
  144. codex/static_root/assets/filter-_XbKRiIR.js.br +0 -0
  145. codex/static_root/assets/filter-_XbKRiIR.js.gz +0 -0
  146. codex/static_root/assets/flag-tab-DBqpLKi7.css +1 -0
  147. codex/static_root/assets/flag-tab-DBqpLKi7.css.br +0 -0
  148. codex/static_root/assets/flag-tab-DBqpLKi7.css.gz +0 -0
  149. codex/static_root/assets/flag-tab-DBqpLKi7.dcfef39f541e.css +1 -0
  150. codex/static_root/assets/flag-tab-DBqpLKi7.dcfef39f541e.css.br +0 -0
  151. codex/static_root/assets/flag-tab-DBqpLKi7.dcfef39f541e.css.gz +0 -0
  152. codex/static_root/assets/flag-tab-DR_nY0Jg.7323e386c6ed.js +1 -0
  153. codex/static_root/assets/flag-tab-DR_nY0Jg.7323e386c6ed.js.br +0 -0
  154. codex/static_root/assets/flag-tab-DR_nY0Jg.7323e386c6ed.js.gz +0 -0
  155. codex/static_root/assets/flag-tab-DR_nY0Jg.js +1 -0
  156. codex/static_root/assets/flag-tab-DR_nY0Jg.js.br +0 -0
  157. codex/static_root/assets/flag-tab-DR_nY0Jg.js.gz +0 -0
  158. codex/static_root/assets/group-tab-JKsMHOmK.d2c2f3fceec1.js +1 -0
  159. codex/static_root/assets/group-tab-JKsMHOmK.d2c2f3fceec1.js.br +0 -0
  160. codex/static_root/assets/group-tab-JKsMHOmK.d2c2f3fceec1.js.gz +0 -0
  161. codex/static_root/assets/group-tab-JKsMHOmK.js +1 -0
  162. codex/static_root/assets/group-tab-JKsMHOmK.js.br +0 -0
  163. codex/static_root/assets/group-tab-JKsMHOmK.js.gz +0 -0
  164. codex/static_root/assets/http-error-Bw1wUv3U.c8313a2fb129.js +1 -0
  165. codex/static_root/assets/http-error-Bw1wUv3U.c8313a2fb129.js.br +0 -0
  166. codex/static_root/assets/http-error-Bw1wUv3U.c8313a2fb129.js.gz +0 -0
  167. codex/static_root/assets/http-error-Bw1wUv3U.js +1 -0
  168. codex/static_root/assets/http-error-Bw1wUv3U.js.br +0 -0
  169. codex/static_root/assets/http-error-Bw1wUv3U.js.gz +0 -0
  170. codex/static_root/assets/{library-tab-BN0SfPcH.913e236f625e.css → library-tab-BygwYPnO.94e92aa60bf2.css} +1 -1
  171. codex/static_root/assets/library-tab-BygwYPnO.94e92aa60bf2.css.br +0 -0
  172. codex/static_root/assets/library-tab-BygwYPnO.94e92aa60bf2.css.gz +0 -0
  173. codex/static_root/assets/{library-tab-BN0SfPcH.css → library-tab-BygwYPnO.css} +1 -1
  174. codex/static_root/assets/library-tab-BygwYPnO.css.br +0 -0
  175. codex/static_root/assets/library-tab-BygwYPnO.css.gz +0 -0
  176. codex/static_root/assets/library-tab-D9GTugZ6.8e3e6ebd38b7.js +1 -0
  177. codex/static_root/assets/library-tab-D9GTugZ6.8e3e6ebd38b7.js.br +0 -0
  178. codex/static_root/assets/library-tab-D9GTugZ6.8e3e6ebd38b7.js.gz +0 -0
  179. codex/static_root/assets/library-tab-D9GTugZ6.js +1 -0
  180. codex/static_root/assets/library-tab-D9GTugZ6.js.br +0 -0
  181. codex/static_root/assets/library-tab-D9GTugZ6.js.gz +0 -0
  182. codex/static_root/assets/main-BJiV8IG3.9d708627091f.js +6 -0
  183. codex/static_root/assets/main-BJiV8IG3.9d708627091f.js.br +0 -0
  184. codex/static_root/assets/main-BJiV8IG3.9d708627091f.js.gz +0 -0
  185. codex/static_root/assets/main-BJiV8IG3.js +6 -0
  186. codex/static_root/assets/main-BJiV8IG3.js.br +0 -0
  187. codex/static_root/assets/main-BJiV8IG3.js.gz +0 -0
  188. codex/static_root/assets/pagination-toolbar-i2VoXaGH.c3dbb703af2e.js +1 -0
  189. codex/static_root/assets/pagination-toolbar-i2VoXaGH.c3dbb703af2e.js.br +0 -0
  190. codex/static_root/assets/pagination-toolbar-i2VoXaGH.c3dbb703af2e.js.gz +0 -0
  191. codex/static_root/assets/pagination-toolbar-i2VoXaGH.js +1 -0
  192. codex/static_root/assets/pagination-toolbar-i2VoXaGH.js.br +0 -0
  193. codex/static_root/assets/pagination-toolbar-i2VoXaGH.js.gz +0 -0
  194. codex/static_root/assets/{pdf-doc-C-4EM9-d.ce9cf66bd4c3.js → pdf-doc-BLxZLD38.4cf9622c535f.js} +1 -1
  195. codex/static_root/assets/pdf-doc-BLxZLD38.4cf9622c535f.js.br +0 -0
  196. codex/static_root/assets/pdf-doc-BLxZLD38.4cf9622c535f.js.gz +0 -0
  197. codex/static_root/assets/{pdf-doc-C-4EM9-d.js → pdf-doc-BLxZLD38.js} +1 -1
  198. codex/static_root/assets/pdf-doc-BLxZLD38.js.br +0 -0
  199. codex/static_root/assets/pdf-doc-BLxZLD38.js.gz +0 -0
  200. codex/static_root/assets/reader-D2O_yHTW.70d616ddc2cc.js +2 -0
  201. codex/static_root/assets/reader-D2O_yHTW.70d616ddc2cc.js.br +0 -0
  202. codex/static_root/assets/reader-D2O_yHTW.70d616ddc2cc.js.gz +0 -0
  203. codex/static_root/assets/reader-D2O_yHTW.js +2 -0
  204. codex/static_root/assets/reader-D2O_yHTW.js.br +0 -0
  205. codex/static_root/assets/reader-D2O_yHTW.js.gz +0 -0
  206. codex/static_root/assets/{reader-DOQuhDYO.css → reader-YbzUiD0T.css} +1 -1
  207. codex/static_root/assets/reader-YbzUiD0T.css.br +0 -0
  208. codex/static_root/assets/reader-YbzUiD0T.css.gz +0 -0
  209. codex/static_root/assets/{reader-DOQuhDYO.df559ad29ab3.css → reader-YbzUiD0T.efb15835b39d.css} +1 -1
  210. codex/static_root/assets/reader-YbzUiD0T.efb15835b39d.css.br +0 -0
  211. codex/static_root/assets/reader-YbzUiD0T.efb15835b39d.css.gz +0 -0
  212. codex/static_root/assets/{relation-chips-Bsc-gUxE.98e65384c3c9.css → relation-chips-BGitp3yx.b3e7d178a615.css} +1 -1
  213. codex/static_root/assets/relation-chips-BGitp3yx.b3e7d178a615.css.br +0 -0
  214. codex/static_root/assets/relation-chips-BGitp3yx.b3e7d178a615.css.gz +0 -0
  215. codex/static_root/assets/{relation-chips-Bsc-gUxE.css → relation-chips-BGitp3yx.css} +1 -1
  216. codex/static_root/assets/relation-chips-BGitp3yx.css.br +0 -0
  217. codex/static_root/assets/relation-chips-BGitp3yx.css.gz +0 -0
  218. codex/static_root/assets/relation-chips-CmeSIsRq.f169f7c3f48d.js +1 -0
  219. codex/static_root/assets/relation-chips-CmeSIsRq.f169f7c3f48d.js.br +0 -0
  220. codex/static_root/assets/relation-chips-CmeSIsRq.f169f7c3f48d.js.gz +0 -0
  221. codex/static_root/assets/relation-chips-CmeSIsRq.js +1 -0
  222. codex/static_root/assets/relation-chips-CmeSIsRq.js.br +0 -0
  223. codex/static_root/assets/relation-chips-CmeSIsRq.js.gz +0 -0
  224. codex/static_root/assets/settings-drawer-XH4sNDNT.98ee4b24901c.js +2 -0
  225. codex/static_root/assets/settings-drawer-XH4sNDNT.98ee4b24901c.js.br +0 -0
  226. codex/static_root/assets/settings-drawer-XH4sNDNT.98ee4b24901c.js.gz +0 -0
  227. codex/static_root/assets/settings-drawer-XH4sNDNT.js +2 -0
  228. codex/static_root/assets/settings-drawer-XH4sNDNT.js.br +0 -0
  229. codex/static_root/assets/settings-drawer-XH4sNDNT.js.gz +0 -0
  230. codex/static_root/assets/stats-tab-BGxkeKnY.44cf18ca895d.js +1 -0
  231. codex/static_root/assets/stats-tab-BGxkeKnY.44cf18ca895d.js.br +0 -0
  232. codex/static_root/assets/stats-tab-BGxkeKnY.44cf18ca895d.js.gz +0 -0
  233. codex/static_root/assets/stats-tab-BGxkeKnY.js +1 -0
  234. codex/static_root/assets/stats-tab-BGxkeKnY.js.br +0 -0
  235. codex/static_root/assets/stats-tab-BGxkeKnY.js.gz +0 -0
  236. codex/static_root/assets/stats-tab-CI0u-X7Y.2d1b6a0d4139.css +1 -0
  237. codex/static_root/assets/stats-tab-CI0u-X7Y.2d1b6a0d4139.css.br +0 -0
  238. codex/static_root/assets/stats-tab-CI0u-X7Y.2d1b6a0d4139.css.gz +0 -0
  239. codex/static_root/assets/stats-tab-CI0u-X7Y.css +1 -0
  240. codex/static_root/assets/stats-tab-CI0u-X7Y.css.br +0 -0
  241. codex/static_root/assets/stats-tab-CI0u-X7Y.css.gz +0 -0
  242. codex/static_root/assets/task-tab-B74Kah_b.58627993d3c6.js +1 -0
  243. codex/static_root/assets/task-tab-B74Kah_b.58627993d3c6.js.br +0 -0
  244. codex/static_root/assets/task-tab-B74Kah_b.58627993d3c6.js.gz +0 -0
  245. codex/static_root/assets/task-tab-B74Kah_b.js +1 -0
  246. codex/static_root/assets/task-tab-B74Kah_b.js.br +0 -0
  247. codex/static_root/assets/task-tab-B74Kah_b.js.gz +0 -0
  248. codex/static_root/assets/unauthorized-BF45der6.d34f8022124b.js +1 -0
  249. codex/static_root/assets/unauthorized-BF45der6.d34f8022124b.js.br +0 -0
  250. codex/static_root/assets/unauthorized-BF45der6.d34f8022124b.js.gz +0 -0
  251. codex/static_root/assets/unauthorized-BF45der6.js +1 -0
  252. codex/static_root/assets/unauthorized-BF45der6.js.br +0 -0
  253. codex/static_root/assets/unauthorized-BF45der6.js.gz +0 -0
  254. codex/static_root/assets/user-tab-BP2TTPg5.e63a5661a1a5.js +1 -0
  255. codex/static_root/assets/user-tab-BP2TTPg5.e63a5661a1a5.js.br +0 -0
  256. codex/static_root/assets/user-tab-BP2TTPg5.e63a5661a1a5.js.gz +0 -0
  257. codex/static_root/assets/user-tab-BP2TTPg5.js +1 -0
  258. codex/static_root/assets/user-tab-BP2TTPg5.js.br +0 -0
  259. codex/static_root/assets/user-tab-BP2TTPg5.js.gz +0 -0
  260. codex/static_root/{manifest.80e911824648.json → manifest.7033f9a22987.json} +230 -242
  261. codex/static_root/manifest.7033f9a22987.json.br +0 -0
  262. codex/static_root/manifest.7033f9a22987.json.gz +0 -0
  263. codex/static_root/manifest.json +230 -242
  264. codex/static_root/manifest.json.br +0 -0
  265. codex/static_root/manifest.json.gz +0 -0
  266. codex/static_root/staticfiles.json +1 -1
  267. codex/urls/root.py +12 -2
  268. codex/views/admin/api_key.py +1 -1
  269. codex/views/admin/flag.py +1 -1
  270. codex/views/admin/group.py +1 -1
  271. codex/views/admin/library.py +1 -1
  272. codex/views/admin/stats.py +41 -155
  273. codex/views/admin/tasks.py +1 -1
  274. codex/views/admin/user.py +1 -1
  275. codex/views/browser/browser.py +4 -1
  276. codex/views/browser/filters/field.py +15 -6
  277. codex/views/browser/paginate.py +61 -11
  278. codex/views/browser/validate.py +7 -5
  279. codex/views/opds/binary.py +1 -3
  280. codex/views/opds/const.py +10 -0
  281. codex/views/opds/util.py +10 -0
  282. codex/views/opds/v1/entry/entry.py +14 -18
  283. codex/views/opds/v1/feed.py +10 -24
  284. codex/views/opds/v1/links.py +1 -0
  285. codex/views/reader/arcs.py +65 -53
  286. codex/views/reader/books.py +38 -38
  287. codex/views/reader/init.py +7 -5
  288. codex/views/reader/reader.py +0 -2
  289. {codex-1.6.2.dist-info → codex-1.6.4.dist-info}/METADATA +18 -7
  290. {codex-1.6.2.dist-info → codex-1.6.4.dist-info}/RECORD +293 -289
  291. codex/serializers/admin.py +0 -268
  292. codex/settings/logging.py +0 -20
  293. codex/static_root/assets/VCheckbox-DUxuAZcY.46ab94043464.js +0 -1
  294. codex/static_root/assets/VCheckbox-DUxuAZcY.46ab94043464.js.br +0 -0
  295. codex/static_root/assets/VCheckbox-DUxuAZcY.46ab94043464.js.gz +0 -0
  296. codex/static_root/assets/VCheckbox-DUxuAZcY.js +0 -1
  297. codex/static_root/assets/VCheckbox-DUxuAZcY.js.br +0 -0
  298. codex/static_root/assets/VCheckbox-DUxuAZcY.js.gz +0 -0
  299. codex/static_root/assets/VCheckboxBtn-BTFFFGx3.0cbde4eb9a65.js +0 -1
  300. codex/static_root/assets/VCheckboxBtn-BTFFFGx3.0cbde4eb9a65.js.br +0 -0
  301. codex/static_root/assets/VCheckboxBtn-BTFFFGx3.0cbde4eb9a65.js.gz +0 -0
  302. codex/static_root/assets/VCheckboxBtn-BTFFFGx3.js +0 -1
  303. codex/static_root/assets/VCheckboxBtn-BTFFFGx3.js.br +0 -0
  304. codex/static_root/assets/VCheckboxBtn-BTFFFGx3.js.gz +0 -0
  305. codex/static_root/assets/VCombobox-CGyBgdqr.2f85598cc1a4.js.br +0 -0
  306. codex/static_root/assets/VCombobox-CGyBgdqr.2f85598cc1a4.js.gz +0 -0
  307. codex/static_root/assets/VCombobox-CGyBgdqr.js.br +0 -0
  308. codex/static_root/assets/VCombobox-CGyBgdqr.js.gz +0 -0
  309. codex/static_root/assets/VDialog-DTWAoZBU.b8c4c276e9b2.js +0 -1
  310. codex/static_root/assets/VDialog-DTWAoZBU.b8c4c276e9b2.js.br +0 -0
  311. codex/static_root/assets/VDialog-DTWAoZBU.b8c4c276e9b2.js.gz +0 -0
  312. codex/static_root/assets/VDialog-DTWAoZBU.js +0 -1
  313. codex/static_root/assets/VDialog-DTWAoZBU.js.br +0 -0
  314. codex/static_root/assets/VDialog-DTWAoZBU.js.gz +0 -0
  315. codex/static_root/assets/VExpansionPanels-D4psrz4h.b55b901da65f.js +0 -1
  316. codex/static_root/assets/VExpansionPanels-D4psrz4h.b55b901da65f.js.br +0 -0
  317. codex/static_root/assets/VExpansionPanels-D4psrz4h.b55b901da65f.js.gz +0 -0
  318. codex/static_root/assets/VExpansionPanels-D4psrz4h.js +0 -1
  319. codex/static_root/assets/VExpansionPanels-D4psrz4h.js.br +0 -0
  320. codex/static_root/assets/VExpansionPanels-D4psrz4h.js.gz +0 -0
  321. codex/static_root/assets/VRadioGroup-BY572TP-.6d47a94795de.js +0 -1
  322. codex/static_root/assets/VRadioGroup-BY572TP-.6d47a94795de.js.br +0 -2
  323. codex/static_root/assets/VRadioGroup-BY572TP-.6d47a94795de.js.gz +0 -0
  324. codex/static_root/assets/VRadioGroup-BY572TP-.js +0 -1
  325. codex/static_root/assets/VRadioGroup-BY572TP-.js.br +0 -2
  326. codex/static_root/assets/VRadioGroup-BY572TP-.js.gz +0 -0
  327. codex/static_root/assets/VSelect-Bnhj5kBc.fdcd87c9e253.js +0 -1
  328. codex/static_root/assets/VSelect-Bnhj5kBc.fdcd87c9e253.js.br +0 -0
  329. codex/static_root/assets/VSelect-Bnhj5kBc.fdcd87c9e253.js.gz +0 -0
  330. codex/static_root/assets/VSelect-Bnhj5kBc.js +0 -1
  331. codex/static_root/assets/VSelect-Bnhj5kBc.js.br +0 -0
  332. codex/static_root/assets/VSelect-Bnhj5kBc.js.gz +0 -0
  333. codex/static_root/assets/VSelectionControl-DXxRmssH.252890f79cc6.js.br +0 -0
  334. codex/static_root/assets/VSelectionControl-DXxRmssH.252890f79cc6.js.gz +0 -0
  335. codex/static_root/assets/VSelectionControl-DXxRmssH.js.br +0 -0
  336. codex/static_root/assets/VSelectionControl-DXxRmssH.js.gz +0 -0
  337. codex/static_root/assets/VSlideGroup-DYJ3EYZI.a2542c5f90c4.js.br +0 -0
  338. codex/static_root/assets/VSlideGroup-DYJ3EYZI.a2542c5f90c4.js.gz +0 -0
  339. codex/static_root/assets/VSlideGroup-DYJ3EYZI.js.br +0 -0
  340. codex/static_root/assets/VSlideGroup-DYJ3EYZI.js.gz +0 -0
  341. codex/static_root/assets/VTable-BveGtxei.7f76f4ef812b.js.br +0 -0
  342. codex/static_root/assets/VTable-BveGtxei.7f76f4ef812b.js.gz +0 -0
  343. codex/static_root/assets/VTable-BveGtxei.js.br +0 -0
  344. codex/static_root/assets/VTable-BveGtxei.js.gz +0 -0
  345. codex/static_root/assets/VTextField-BayL7C1D.6e53c61b3760.js +0 -1
  346. codex/static_root/assets/VTextField-BayL7C1D.6e53c61b3760.js.br +0 -0
  347. codex/static_root/assets/VTextField-BayL7C1D.6e53c61b3760.js.gz +0 -0
  348. codex/static_root/assets/VTextField-BayL7C1D.js +0 -1
  349. codex/static_root/assets/VTextField-BayL7C1D.js.br +0 -0
  350. codex/static_root/assets/VTextField-BayL7C1D.js.gz +0 -0
  351. codex/static_root/assets/VWindowItem-FBuIO_rT.8610c7e83905.js.br +0 -0
  352. codex/static_root/assets/VWindowItem-FBuIO_rT.8610c7e83905.js.gz +0 -0
  353. codex/static_root/assets/VWindowItem-FBuIO_rT.js.br +0 -0
  354. codex/static_root/assets/VWindowItem-FBuIO_rT.js.gz +0 -0
  355. codex/static_root/assets/admin-B8Bp2Uih.82c98714bcf1.css.br +0 -0
  356. codex/static_root/assets/admin-B8Bp2Uih.82c98714bcf1.css.gz +0 -0
  357. codex/static_root/assets/admin-B8Bp2Uih.css.br +0 -0
  358. codex/static_root/assets/admin-B8Bp2Uih.css.gz +0 -0
  359. codex/static_root/assets/admin-BH6uiYBb.d51c720fa05c.js +0 -1
  360. codex/static_root/assets/admin-BH6uiYBb.d51c720fa05c.js.br +0 -0
  361. codex/static_root/assets/admin-BH6uiYBb.d51c720fa05c.js.gz +0 -0
  362. codex/static_root/assets/admin-BH6uiYBb.js +0 -1
  363. codex/static_root/assets/admin-BH6uiYBb.js.br +0 -0
  364. codex/static_root/assets/admin-BH6uiYBb.js.gz +0 -0
  365. codex/static_root/assets/admin-drawer-panel-DsgLbfnD.7c409b430d79.js +0 -30
  366. codex/static_root/assets/admin-drawer-panel-DsgLbfnD.7c409b430d79.js.br +0 -0
  367. codex/static_root/assets/admin-drawer-panel-DsgLbfnD.7c409b430d79.js.gz +0 -0
  368. codex/static_root/assets/admin-drawer-panel-DsgLbfnD.js +0 -30
  369. codex/static_root/assets/admin-drawer-panel-DsgLbfnD.js.br +0 -0
  370. codex/static_root/assets/admin-drawer-panel-DsgLbfnD.js.gz +0 -0
  371. codex/static_root/assets/browser-BVciW8XB.ab1d75272aa7.js +0 -1
  372. codex/static_root/assets/browser-BVciW8XB.ab1d75272aa7.js.br +0 -0
  373. codex/static_root/assets/browser-BVciW8XB.ab1d75272aa7.js.gz +0 -0
  374. codex/static_root/assets/browser-BVciW8XB.js +0 -1
  375. codex/static_root/assets/browser-BVciW8XB.js.br +0 -0
  376. codex/static_root/assets/browser-BVciW8XB.js.gz +0 -0
  377. codex/static_root/assets/browser-DP9eEJ0M.276e8636f8fc.css.br +0 -0
  378. codex/static_root/assets/browser-DP9eEJ0M.276e8636f8fc.css.gz +0 -0
  379. codex/static_root/assets/browser-DP9eEJ0M.css.br +0 -0
  380. codex/static_root/assets/browser-DP9eEJ0M.css.gz +0 -0
  381. codex/static_root/assets/change-password-dialog-B-Sd5U5p.adf0a0f02866.js +0 -1
  382. codex/static_root/assets/change-password-dialog-B-Sd5U5p.adf0a0f02866.js.br +0 -0
  383. codex/static_root/assets/change-password-dialog-B-Sd5U5p.adf0a0f02866.js.gz +0 -0
  384. codex/static_root/assets/change-password-dialog-B-Sd5U5p.js +0 -1
  385. codex/static_root/assets/change-password-dialog-B-Sd5U5p.js.br +0 -0
  386. codex/static_root/assets/change-password-dialog-B-Sd5U5p.js.gz +0 -0
  387. codex/static_root/assets/confirm-dialog-CYEBgtj5.a5f142656c12.js +0 -1
  388. codex/static_root/assets/confirm-dialog-CYEBgtj5.a5f142656c12.js.br +0 -0
  389. codex/static_root/assets/confirm-dialog-CYEBgtj5.a5f142656c12.js.gz +0 -0
  390. codex/static_root/assets/confirm-dialog-CYEBgtj5.js +0 -1
  391. codex/static_root/assets/confirm-dialog-CYEBgtj5.js.br +0 -0
  392. codex/static_root/assets/confirm-dialog-CYEBgtj5.js.gz +0 -0
  393. codex/static_root/assets/datetime-column-uaXWFgF_.29c6d50b483e.js.br +0 -0
  394. codex/static_root/assets/datetime-column-uaXWFgF_.29c6d50b483e.js.gz +0 -0
  395. codex/static_root/assets/datetime-column-uaXWFgF_.js.br +0 -0
  396. codex/static_root/assets/datetime-column-uaXWFgF_.js.gz +0 -0
  397. codex/static_root/assets/filter-DS84uTvk.4fbebd4832bc.js.br +0 -0
  398. codex/static_root/assets/filter-DS84uTvk.4fbebd4832bc.js.gz +0 -0
  399. codex/static_root/assets/filter-DS84uTvk.js.br +0 -0
  400. codex/static_root/assets/filter-DS84uTvk.js.gz +0 -0
  401. codex/static_root/assets/flag-tab-BNwbLfrN.b755a99fff7e.css +0 -1
  402. codex/static_root/assets/flag-tab-BNwbLfrN.b755a99fff7e.css.br +0 -0
  403. codex/static_root/assets/flag-tab-BNwbLfrN.b755a99fff7e.css.gz +0 -0
  404. codex/static_root/assets/flag-tab-BNwbLfrN.css +0 -1
  405. codex/static_root/assets/flag-tab-BNwbLfrN.css.br +0 -0
  406. codex/static_root/assets/flag-tab-BNwbLfrN.css.gz +0 -0
  407. codex/static_root/assets/flag-tab-iJTJldQ1.213201f8e03b.js +0 -1
  408. codex/static_root/assets/flag-tab-iJTJldQ1.213201f8e03b.js.br +0 -0
  409. codex/static_root/assets/flag-tab-iJTJldQ1.213201f8e03b.js.gz +0 -0
  410. codex/static_root/assets/flag-tab-iJTJldQ1.js +0 -1
  411. codex/static_root/assets/flag-tab-iJTJldQ1.js.br +0 -0
  412. codex/static_root/assets/flag-tab-iJTJldQ1.js.gz +0 -0
  413. codex/static_root/assets/group-tab-DdmGE4gB.48ef83a4c7cd.js +0 -1
  414. codex/static_root/assets/group-tab-DdmGE4gB.48ef83a4c7cd.js.br +0 -0
  415. codex/static_root/assets/group-tab-DdmGE4gB.48ef83a4c7cd.js.gz +0 -0
  416. codex/static_root/assets/group-tab-DdmGE4gB.js +0 -1
  417. codex/static_root/assets/group-tab-DdmGE4gB.js.br +0 -0
  418. codex/static_root/assets/group-tab-DdmGE4gB.js.gz +0 -0
  419. codex/static_root/assets/http-error-HtOe8jPa.141ad665f81d.js +0 -1
  420. codex/static_root/assets/http-error-HtOe8jPa.141ad665f81d.js.br +0 -0
  421. codex/static_root/assets/http-error-HtOe8jPa.141ad665f81d.js.gz +0 -0
  422. codex/static_root/assets/http-error-HtOe8jPa.js +0 -1
  423. codex/static_root/assets/http-error-HtOe8jPa.js.br +0 -0
  424. codex/static_root/assets/http-error-HtOe8jPa.js.gz +0 -0
  425. codex/static_root/assets/library-tab-BN0SfPcH.913e236f625e.css.br +0 -0
  426. codex/static_root/assets/library-tab-BN0SfPcH.913e236f625e.css.gz +0 -0
  427. codex/static_root/assets/library-tab-BN0SfPcH.css.br +0 -0
  428. codex/static_root/assets/library-tab-BN0SfPcH.css.gz +0 -0
  429. codex/static_root/assets/library-tab-DLAJV6j2.dae6292bbf28.js +0 -1
  430. codex/static_root/assets/library-tab-DLAJV6j2.dae6292bbf28.js.br +0 -0
  431. codex/static_root/assets/library-tab-DLAJV6j2.dae6292bbf28.js.gz +0 -0
  432. codex/static_root/assets/library-tab-DLAJV6j2.js +0 -1
  433. codex/static_root/assets/library-tab-DLAJV6j2.js.br +0 -0
  434. codex/static_root/assets/library-tab-DLAJV6j2.js.gz +0 -0
  435. codex/static_root/assets/main-BjGE3kSi.22c1b19a9e19.js +0 -32
  436. codex/static_root/assets/main-BjGE3kSi.22c1b19a9e19.js.br +0 -0
  437. codex/static_root/assets/main-BjGE3kSi.22c1b19a9e19.js.gz +0 -0
  438. codex/static_root/assets/main-BjGE3kSi.js +0 -32
  439. codex/static_root/assets/main-BjGE3kSi.js.br +0 -0
  440. codex/static_root/assets/main-BjGE3kSi.js.gz +0 -0
  441. codex/static_root/assets/pagination-toolbar-C8CSryCU.9b61f95fd710.js +0 -1
  442. codex/static_root/assets/pagination-toolbar-C8CSryCU.9b61f95fd710.js.br +0 -0
  443. codex/static_root/assets/pagination-toolbar-C8CSryCU.9b61f95fd710.js.gz +0 -0
  444. codex/static_root/assets/pagination-toolbar-C8CSryCU.js +0 -1
  445. codex/static_root/assets/pagination-toolbar-C8CSryCU.js.br +0 -0
  446. codex/static_root/assets/pagination-toolbar-C8CSryCU.js.gz +0 -0
  447. codex/static_root/assets/pdf-doc-C-4EM9-d.ce9cf66bd4c3.js.br +0 -0
  448. codex/static_root/assets/pdf-doc-C-4EM9-d.ce9cf66bd4c3.js.gz +0 -0
  449. codex/static_root/assets/pdf-doc-C-4EM9-d.js.br +0 -0
  450. codex/static_root/assets/pdf-doc-C-4EM9-d.js.gz +0 -0
  451. codex/static_root/assets/reader-C5OTEQ7N.fae52c1fee51.js +0 -2
  452. codex/static_root/assets/reader-C5OTEQ7N.fae52c1fee51.js.br +0 -0
  453. codex/static_root/assets/reader-C5OTEQ7N.fae52c1fee51.js.gz +0 -0
  454. codex/static_root/assets/reader-C5OTEQ7N.js +0 -2
  455. codex/static_root/assets/reader-C5OTEQ7N.js.br +0 -0
  456. codex/static_root/assets/reader-C5OTEQ7N.js.gz +0 -0
  457. codex/static_root/assets/reader-DOQuhDYO.css.br +0 -0
  458. codex/static_root/assets/reader-DOQuhDYO.css.gz +0 -0
  459. codex/static_root/assets/reader-DOQuhDYO.df559ad29ab3.css.br +0 -0
  460. codex/static_root/assets/reader-DOQuhDYO.df559ad29ab3.css.gz +0 -0
  461. codex/static_root/assets/relation-chips-Bsc-gUxE.98e65384c3c9.css.br +0 -0
  462. codex/static_root/assets/relation-chips-Bsc-gUxE.98e65384c3c9.css.gz +0 -0
  463. codex/static_root/assets/relation-chips-Bsc-gUxE.css.br +0 -0
  464. codex/static_root/assets/relation-chips-Bsc-gUxE.css.gz +0 -0
  465. codex/static_root/assets/relation-chips-C4LQSHRc.3c85433df91c.js +0 -1
  466. codex/static_root/assets/relation-chips-C4LQSHRc.3c85433df91c.js.br +0 -0
  467. codex/static_root/assets/relation-chips-C4LQSHRc.3c85433df91c.js.gz +0 -0
  468. codex/static_root/assets/relation-chips-C4LQSHRc.js +0 -1
  469. codex/static_root/assets/relation-chips-C4LQSHRc.js.br +0 -0
  470. codex/static_root/assets/relation-chips-C4LQSHRc.js.gz +0 -0
  471. codex/static_root/assets/settings-drawer-aTAAoX2A.2f21008ade35.js +0 -2
  472. codex/static_root/assets/settings-drawer-aTAAoX2A.2f21008ade35.js.br +0 -0
  473. codex/static_root/assets/settings-drawer-aTAAoX2A.2f21008ade35.js.gz +0 -0
  474. codex/static_root/assets/settings-drawer-aTAAoX2A.js +0 -2
  475. codex/static_root/assets/settings-drawer-aTAAoX2A.js.br +0 -0
  476. codex/static_root/assets/settings-drawer-aTAAoX2A.js.gz +0 -0
  477. codex/static_root/assets/stats-tab-B4yKuY0c.a5728396494b.css +0 -1
  478. codex/static_root/assets/stats-tab-B4yKuY0c.a5728396494b.css.br +0 -0
  479. codex/static_root/assets/stats-tab-B4yKuY0c.a5728396494b.css.gz +0 -0
  480. codex/static_root/assets/stats-tab-B4yKuY0c.css +0 -1
  481. codex/static_root/assets/stats-tab-B4yKuY0c.css.br +0 -0
  482. codex/static_root/assets/stats-tab-B4yKuY0c.css.gz +0 -0
  483. codex/static_root/assets/stats-tab-DL4J3pvZ.b9056e70a70f.js +0 -1
  484. codex/static_root/assets/stats-tab-DL4J3pvZ.b9056e70a70f.js.br +0 -0
  485. codex/static_root/assets/stats-tab-DL4J3pvZ.b9056e70a70f.js.gz +0 -0
  486. codex/static_root/assets/stats-tab-DL4J3pvZ.js +0 -1
  487. codex/static_root/assets/stats-tab-DL4J3pvZ.js.br +0 -0
  488. codex/static_root/assets/stats-tab-DL4J3pvZ.js.gz +0 -0
  489. codex/static_root/assets/task-tab-0t7ZJlwL.1ff1cc14a6aa.js +0 -1
  490. codex/static_root/assets/task-tab-0t7ZJlwL.1ff1cc14a6aa.js.br +0 -0
  491. codex/static_root/assets/task-tab-0t7ZJlwL.1ff1cc14a6aa.js.gz +0 -0
  492. codex/static_root/assets/task-tab-0t7ZJlwL.js +0 -1
  493. codex/static_root/assets/task-tab-0t7ZJlwL.js.br +0 -0
  494. codex/static_root/assets/task-tab-0t7ZJlwL.js.gz +0 -0
  495. codex/static_root/assets/to-case-BCB751sX.4afb5ae1b77d.js +0 -1
  496. codex/static_root/assets/to-case-BCB751sX.js +0 -1
  497. codex/static_root/assets/unauthorized-Ovy_BO5R.598527e8e4fe.js +0 -1
  498. codex/static_root/assets/unauthorized-Ovy_BO5R.598527e8e4fe.js.br +0 -0
  499. codex/static_root/assets/unauthorized-Ovy_BO5R.598527e8e4fe.js.gz +0 -0
  500. codex/static_root/assets/unauthorized-Ovy_BO5R.js +0 -1
  501. codex/static_root/assets/unauthorized-Ovy_BO5R.js.br +0 -0
  502. codex/static_root/assets/unauthorized-Ovy_BO5R.js.gz +0 -0
  503. codex/static_root/assets/user-tab-Cdspo8ie.8e886a1a28e8.js +0 -1
  504. codex/static_root/assets/user-tab-Cdspo8ie.8e886a1a28e8.js.br +0 -0
  505. codex/static_root/assets/user-tab-Cdspo8ie.8e886a1a28e8.js.gz +0 -0
  506. codex/static_root/assets/user-tab-Cdspo8ie.js +0 -1
  507. codex/static_root/assets/user-tab-Cdspo8ie.js.br +0 -0
  508. codex/static_root/assets/user-tab-Cdspo8ie.js.gz +0 -0
  509. codex/static_root/manifest.80e911824648.json.br +0 -0
  510. codex/static_root/manifest.80e911824648.json.gz +0 -0
  511. {codex-1.6.2.dist-info → codex-1.6.4.dist-info}/LICENSE +0 -0
  512. {codex-1.6.2.dist-info → codex-1.6.4.dist-info}/WHEEL +0 -0
  513. {codex-1.6.2.dist-info → codex-1.6.4.dist-info}/entry_points.txt +0 -0
@@ -1 +0,0 @@
1
- import{V as me,D as te,W as be,_ as ye,Y as ge,Z as E,aF as L,aO as Ce,U as M,aG as xe,aH as le,S as t,E as N,M as Y,O,r as T,R as U,at as oe,b3 as he,bo as ke,h as m,aT as J,bV as ie,b7 as Ve,bd as X,d3 as Z,d1 as _e,be as Fe,N as Ie,P as Pe,cA as Se,bf as Be,Q as we,F as Re,aA as $e,aB as Te,aq as Ae,a as De,dn as Ee,K as Le,au as pe,cC as Me,di as Ne,bg as Oe,as as W,dp as Ue,dq as qe,av as Ke,b4 as je,aw as We,cB as Ye,b6 as ze,dr as Ge,n as ne,ds as He}from"./admin-drawer-panel-DsgLbfnD.js";import{C as Qe}from"./VDialog-DTWAoZBU.js";import{h as Xe,i as Ze,b as Je,m as et,u as se,j as tt,a as lt,V as ae}from"./VSelectionControl-DXxRmssH.js";const nt={name:"SubmitFooter",components:{ConfirmFooter:Qe},props:{verb:{type:String,required:!0},table:{type:String,required:!0},label:{type:String,default:""},disabled:{type:Boolean,default:!1}},emits:["cancel","submit"],computed:{...me(te,{errors:e=>e.form.errors,success:e=>e.form.success}),confirmText(){const e=this.label||this.table;return`${this.verb} ${e}`}},beforeMount(){this.clearErrors()},methods:{...be(te,["clearErrors"])}},at={key:0,class:"errors"},ot={key:1,class:"success"},it={key:2};function st(e,o,a,k,l,s){const b=ge("ConfirmFooter");return E(),L("footer",null,[Ce("div",null,[e.errors&&e.errors.length>0?(E(),L("small",at,[(E(!0),L(M,null,xe(e.errors,(V,d)=>(E(),L("div",{key:d},le(V),1))),128))])):e.success?(E(),L("small",ot,le(e.success),1)):(E(),L("small",it," "))]),t(b,{"confirm-text":s.confirmText,disabled:a.disabled,onConfirm:o[0]||(o[0]=V=>e.$emit("submit")),onCancel:o[1]||(o[1]=V=>e.$emit("cancel"))},null,8,["confirm-text","disabled"])])}const xt=ye(nt,[["render",st],["__scopeId","data-v-d960409d"]]),rt=N({...Y(),...Xe()},"VForm"),ht=O()({name:"VForm",props:rt(),emits:{"update:modelValue":e=>!0,submit:e=>!0},setup(e,o){let{slots:a,emit:k}=o;const l=Ze(e),s=T();function b(d){d.preventDefault(),l.reset()}function V(d){const c=d,r=l.validate();c.then=r.then.bind(r),c.catch=r.catch.bind(r),c.finally=r.finally.bind(r),k("submit",c),c.defaultPrevented||r.then(F=>{var P;let{valid:p}=F;p&&((P=s.value)==null||P.submit())}),c.preventDefault()}return U(()=>{var d;return t("form",{ref:s,class:["v-form",e.class],style:e.style,novalidate:!0,onReset:b,onSubmit:V},[(d=a.default)==null?void 0:d.call(a,l)])}),oe(l,s)}}),ut=N({active:Boolean,disabled:Boolean,max:[Number,String],value:{type:[Number,String],default:0},...Y(),...he({transition:{component:ke}})},"VCounter"),dt=O()({name:"VCounter",functional:!0,props:ut(),setup(e,o){let{slots:a}=o;const k=m(()=>e.max?`${e.value} / ${e.max}`:String(e.value));return U(()=>t(Ve,{transition:e.transition},{default:()=>[J(t("div",{class:["v-counter",{"text-error":e.max&&!e.disabled&&parseFloat(e.value)>parseFloat(e.max)},e.class],style:e.style},[a.default?a.default({counter:k.value,max:e.max,value:e.value}):k.value]),[[ie,e.active]])]})),{}}}),ct=N({floating:Boolean,...Y()},"VFieldLabel"),j=O()({name:"VFieldLabel",props:ct(),setup(e,o){let{slots:a}=o;return U(()=>t(Je,{class:["v-field-label",{"v-field-label--floating":e.floating},e.class],style:e.style,"aria-hidden":e.floating||void 0},a)),{}}}),ft=["underlined","outlined","filled","solo","solo-inverted","solo-filled","plain"],re=N({appendInnerIcon:X,bgColor:String,clearable:Boolean,clearIcon:{type:X,default:"$clear"},active:Boolean,centerAffix:{type:Boolean,default:void 0},color:String,baseColor:String,dirty:Boolean,disabled:{type:Boolean,default:null},error:Boolean,flat:Boolean,label:String,persistentClear:Boolean,prependInnerIcon:X,reverse:Boolean,singleLine:Boolean,variant:{type:String,default:"filled",validator:e=>ft.includes(e)},"onClick:clear":Z(),"onClick:appendInner":Z(),"onClick:prependInner":Z(),...Y(),..._e(),...Fe(),...Ie()},"VField"),ue=O()({name:"VField",inheritAttrs:!1,props:{id:String,...et(),...re()},emits:{"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,o){let{attrs:a,emit:k,slots:l}=o;const{themeClasses:s}=Pe(e),{loaderClasses:b}=Se(e),{focusClasses:V,isFocused:d,focus:c,blur:r}=se(e),{InputIcon:F}=tt(e),{roundedClasses:p}=Be(e),{rtlClasses:P}=we(),S=m(()=>e.dirty||e.active),C=m(()=>!e.singleLine&&!!(e.label||l.label)),z=Re(),f=m(()=>e.id||`input-${z}`),G=m(()=>`${f.value}-messages`),q=T(),A=T(),K=T(),n=m(()=>["plain","underlined"].includes(e.variant)),{backgroundColorClasses:y,backgroundColorStyles:g}=$e(Te(e,"bgColor")),{textColorClasses:x,textColorStyles:H}=Ae(m(()=>e.error||e.disabled?void 0:S.value&&d.value?e.color:e.baseColor));De(S,i=>{if(C.value){const u=q.value.$el,h=A.value.$el;requestAnimationFrame(()=>{const _=Ee(u),v=h.getBoundingClientRect(),D=v.x-_.x,w=v.y-_.y-(_.height/2-v.height/2),R=v.width/.75,$=Math.abs(R-_.width)>1?{maxWidth:Le(R)}:void 0,de=getComputedStyle(u),ee=getComputedStyle(h),ce=parseFloat(de.transitionDuration)*1e3||150,fe=parseFloat(ee.getPropertyValue("--v-field-label-scale")),ve=ee.getPropertyValue("color");u.style.visibility="visible",h.style.visibility="hidden",pe(u,{transform:`translate(${D}px, ${w}px) scale(${fe})`,color:ve,...$},{duration:ce,easing:Ke,direction:i?"normal":"reverse"}).finished.then(()=>{u.style.removeProperty("visibility"),h.style.removeProperty("visibility")})})}},{flush:"post"});const B=m(()=>({isActive:S,isFocused:d,controlRef:K,blur:r,focus:c}));function Q(i){i.target!==document.activeElement&&i.preventDefault()}function I(i){var u;i.key!=="Enter"&&i.key!==" "||(i.preventDefault(),i.stopPropagation(),(u=e["onClick:clear"])==null||u.call(e,new MouseEvent("click")))}return U(()=>{var D,w,R;const i=e.variant==="outlined",u=!!(l["prepend-inner"]||e.prependInnerIcon),h=!!(e.clearable||l.clear),_=!!(l["append-inner"]||e.appendInnerIcon||h),v=()=>l.label?l.label({...B.value,label:e.label,props:{for:f.value}}):e.label;return t("div",W({class:["v-field",{"v-field--active":S.value,"v-field--appended":_,"v-field--center-affix":e.centerAffix??!n.value,"v-field--disabled":e.disabled,"v-field--dirty":e.dirty,"v-field--error":e.error,"v-field--flat":e.flat,"v-field--has-background":!!e.bgColor,"v-field--persistent-clear":e.persistentClear,"v-field--prepended":u,"v-field--reverse":e.reverse,"v-field--single-line":e.singleLine,"v-field--no-label":!v(),[`v-field--variant-${e.variant}`]:!0},s.value,y.value,V.value,b.value,p.value,P.value,e.class],style:[g.value,e.style],onClick:Q},a),[t("div",{class:"v-field__overlay"},null),t(Me,{name:"v-field",active:!!e.loading,color:e.error?"error":typeof e.loading=="string"?e.loading:e.color},{default:l.loader}),u&&t("div",{key:"prepend",class:"v-field__prepend-inner"},[e.prependInnerIcon&&t(F,{key:"prepend-icon",name:"prependInner"},null),(D=l["prepend-inner"])==null?void 0:D.call(l,B.value)]),t("div",{class:"v-field__field","data-no-activator":""},[["filled","solo","solo-inverted","solo-filled"].includes(e.variant)&&C.value&&t(j,{key:"floating-label",ref:A,class:[x.value],floating:!0,for:f.value,style:H.value},{default:()=>[v()]}),t(j,{ref:q,for:f.value},{default:()=>[v()]}),(w=l.default)==null?void 0:w.call(l,{...B.value,props:{id:f.value,class:"v-field__input","aria-describedby":G.value},focus:c,blur:r})]),h&&t(Ne,{key:"clear"},{default:()=>[J(t("div",{class:"v-field__clearable",onMousedown:$=>{$.preventDefault(),$.stopPropagation()}},[t(Oe,{defaults:{VIcon:{icon:e.clearIcon}}},{default:()=>[l.clear?l.clear({...B.value,props:{onKeydown:I,onFocus:c,onBlur:r,onClick:e["onClick:clear"]}}):t(F,{name:"clear",onKeydown:I,onFocus:c,onBlur:r},null)]})]),[[ie,e.dirty]])]}),_&&t("div",{key:"append",class:"v-field__append-inner"},[(R=l["append-inner"])==null?void 0:R.call(l,B.value),e.appendInnerIcon&&t(F,{key:"append-icon",name:"appendInner"},null)]),t("div",{class:["v-field__outline",x.value],style:H.value},[i&&t(M,null,[t("div",{class:"v-field__outline__start"},null),C.value&&t("div",{class:"v-field__outline__notch"},[t(j,{ref:A,floating:!0,for:f.value},{default:()=>[v()]})]),t("div",{class:"v-field__outline__end"},null)]),n.value&&C.value&&t(j,{ref:A,floating:!0,for:f.value},{default:()=>[v()]})])])}),{controlRef:K}}});function vt(e){const o=Object.keys(ue.props).filter(a=>!Ue(a)&&a!=="class"&&a!=="style");return qe(e,o)}const mt=["color","file","time","date","datetime-local","week","month"],bt=N({autofocus:Boolean,counter:[Boolean,Number,String],counterValue:[Number,Function],prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,suffix:String,role:String,type:{type:String,default:"text"},modelModifiers:Object,...lt(),...re()},"VTextField"),kt=O()({name:"VTextField",directives:{Intersect:je},inheritAttrs:!1,props:bt(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,o){let{attrs:a,emit:k,slots:l}=o;const s=We(e,"modelValue"),{isFocused:b,focus:V,blur:d}=se(e),c=m(()=>typeof e.counterValue=="function"?e.counterValue(s.value):typeof e.counterValue=="number"?e.counterValue:(s.value??"").toString().length),r=m(()=>{if(a.maxlength)return a.maxlength;if(!(!e.counter||typeof e.counter!="number"&&typeof e.counter!="string"))return e.counter}),F=m(()=>["plain","underlined"].includes(e.variant));function p(n,y){var g,x;!e.autofocus||!n||(x=(g=y[0].target)==null?void 0:g.focus)==null||x.call(g)}const P=T(),S=T(),C=T(),z=m(()=>mt.includes(e.type)||e.persistentPlaceholder||b.value||e.active);function f(){var n;C.value!==document.activeElement&&((n=C.value)==null||n.focus()),b.value||V()}function G(n){k("mousedown:control",n),n.target!==C.value&&(f(),n.preventDefault())}function q(n){f(),k("click:control",n)}function A(n){n.stopPropagation(),f(),ne(()=>{s.value=null,He(e["onClick:clear"],n)})}function K(n){var g;const y=n.target;if(s.value=y.value,(g=e.modelModifiers)!=null&&g.trim&&["text","search","password","tel","url"].includes(e.type)){const x=[y.selectionStart,y.selectionEnd];ne(()=>{y.selectionStart=x[0],y.selectionEnd=x[1]})}}return U(()=>{const n=!!(l.counter||e.counter!==!1&&e.counter!=null),y=!!(n||l.details),[g,x]=Ye(a),{modelValue:H,...B}=ae.filterProps(e),Q=vt(e);return t(ae,W({ref:P,modelValue:s.value,"onUpdate:modelValue":I=>s.value=I,class:["v-text-field",{"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-input--plain-underlined":F.value},e.class],style:e.style},g,B,{centerAffix:!F.value,focused:b.value}),{...l,default:I=>{let{id:i,isDisabled:u,isDirty:h,isReadonly:_,isValid:v}=I;return t(ue,W({ref:S,onMousedown:G,onClick:q,"onClick:clear":A,"onClick:prependInner":e["onClick:prependInner"],"onClick:appendInner":e["onClick:appendInner"],role:e.role},Q,{id:i.value,active:z.value||h.value,dirty:h.value||e.dirty,disabled:u.value,focused:b.value,error:v.value===!1}),{...l,default:D=>{let{props:{class:w,...R}}=D;const $=J(t("input",W({ref:C,value:s.value,onInput:K,autofocus:e.autofocus,readonly:_.value,disabled:u.value,name:e.name,placeholder:e.placeholder,size:1,type:e.type,onFocus:f,onBlur:d},R,x),null),[[ze("intersect"),{handler:p},null,{once:!0}]]);return t(M,null,[e.prefix&&t("span",{class:"v-text-field__prefix"},[t("span",{class:"v-text-field__prefix__text"},[e.prefix])]),l.default?t("div",{class:w,"data-no-activator":""},[l.default(),$]):Ge($,{class:w}),e.suffix&&t("span",{class:"v-text-field__suffix"},[t("span",{class:"v-text-field__suffix__text"},[e.suffix])])])}})},details:y?I=>{var i;return t(M,null,[(i=l.details)==null?void 0:i.call(l,I),n&&t(M,null,[t("span",null,null),t(dt,{active:e.persistentCounter||b.value,value:c.value,max:r.value,disabled:e.disabled},l.counter)])])}:void 0})}),oe({},P,S,C)}});export{xt as S,kt as V,ht as a,bt as m};
@@ -1 +0,0 @@
1
- import{V as me,D as te,W as be,_ as ye,Y as ge,Z as E,aF as L,aO as Ce,U as M,aG as xe,aH as le,S as t,E as N,M as Y,O,r as T,R as U,at as oe,b3 as he,bo as ke,h as m,aT as J,bV as ie,b7 as Ve,bd as X,d3 as Z,d1 as _e,be as Fe,N as Ie,P as Pe,cA as Se,bf as Be,Q as we,F as Re,aA as $e,aB as Te,aq as Ae,a as De,dn as Ee,K as Le,au as pe,cC as Me,di as Ne,bg as Oe,as as W,dp as Ue,dq as qe,av as Ke,b4 as je,aw as We,cB as Ye,b6 as ze,dr as Ge,n as ne,ds as He}from"./admin-drawer-panel-DsgLbfnD.js";import{C as Qe}from"./VDialog-DTWAoZBU.js";import{h as Xe,i as Ze,b as Je,m as et,u as se,j as tt,a as lt,V as ae}from"./VSelectionControl-DXxRmssH.js";const nt={name:"SubmitFooter",components:{ConfirmFooter:Qe},props:{verb:{type:String,required:!0},table:{type:String,required:!0},label:{type:String,default:""},disabled:{type:Boolean,default:!1}},emits:["cancel","submit"],computed:{...me(te,{errors:e=>e.form.errors,success:e=>e.form.success}),confirmText(){const e=this.label||this.table;return`${this.verb} ${e}`}},beforeMount(){this.clearErrors()},methods:{...be(te,["clearErrors"])}},at={key:0,class:"errors"},ot={key:1,class:"success"},it={key:2};function st(e,o,a,k,l,s){const b=ge("ConfirmFooter");return E(),L("footer",null,[Ce("div",null,[e.errors&&e.errors.length>0?(E(),L("small",at,[(E(!0),L(M,null,xe(e.errors,(V,d)=>(E(),L("div",{key:d},le(V),1))),128))])):e.success?(E(),L("small",ot,le(e.success),1)):(E(),L("small",it," "))]),t(b,{"confirm-text":s.confirmText,disabled:a.disabled,onConfirm:o[0]||(o[0]=V=>e.$emit("submit")),onCancel:o[1]||(o[1]=V=>e.$emit("cancel"))},null,8,["confirm-text","disabled"])])}const xt=ye(nt,[["render",st],["__scopeId","data-v-d960409d"]]),rt=N({...Y(),...Xe()},"VForm"),ht=O()({name:"VForm",props:rt(),emits:{"update:modelValue":e=>!0,submit:e=>!0},setup(e,o){let{slots:a,emit:k}=o;const l=Ze(e),s=T();function b(d){d.preventDefault(),l.reset()}function V(d){const c=d,r=l.validate();c.then=r.then.bind(r),c.catch=r.catch.bind(r),c.finally=r.finally.bind(r),k("submit",c),c.defaultPrevented||r.then(F=>{var P;let{valid:p}=F;p&&((P=s.value)==null||P.submit())}),c.preventDefault()}return U(()=>{var d;return t("form",{ref:s,class:["v-form",e.class],style:e.style,novalidate:!0,onReset:b,onSubmit:V},[(d=a.default)==null?void 0:d.call(a,l)])}),oe(l,s)}}),ut=N({active:Boolean,disabled:Boolean,max:[Number,String],value:{type:[Number,String],default:0},...Y(),...he({transition:{component:ke}})},"VCounter"),dt=O()({name:"VCounter",functional:!0,props:ut(),setup(e,o){let{slots:a}=o;const k=m(()=>e.max?`${e.value} / ${e.max}`:String(e.value));return U(()=>t(Ve,{transition:e.transition},{default:()=>[J(t("div",{class:["v-counter",{"text-error":e.max&&!e.disabled&&parseFloat(e.value)>parseFloat(e.max)},e.class],style:e.style},[a.default?a.default({counter:k.value,max:e.max,value:e.value}):k.value]),[[ie,e.active]])]})),{}}}),ct=N({floating:Boolean,...Y()},"VFieldLabel"),j=O()({name:"VFieldLabel",props:ct(),setup(e,o){let{slots:a}=o;return U(()=>t(Je,{class:["v-field-label",{"v-field-label--floating":e.floating},e.class],style:e.style,"aria-hidden":e.floating||void 0},a)),{}}}),ft=["underlined","outlined","filled","solo","solo-inverted","solo-filled","plain"],re=N({appendInnerIcon:X,bgColor:String,clearable:Boolean,clearIcon:{type:X,default:"$clear"},active:Boolean,centerAffix:{type:Boolean,default:void 0},color:String,baseColor:String,dirty:Boolean,disabled:{type:Boolean,default:null},error:Boolean,flat:Boolean,label:String,persistentClear:Boolean,prependInnerIcon:X,reverse:Boolean,singleLine:Boolean,variant:{type:String,default:"filled",validator:e=>ft.includes(e)},"onClick:clear":Z(),"onClick:appendInner":Z(),"onClick:prependInner":Z(),...Y(),..._e(),...Fe(),...Ie()},"VField"),ue=O()({name:"VField",inheritAttrs:!1,props:{id:String,...et(),...re()},emits:{"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,o){let{attrs:a,emit:k,slots:l}=o;const{themeClasses:s}=Pe(e),{loaderClasses:b}=Se(e),{focusClasses:V,isFocused:d,focus:c,blur:r}=se(e),{InputIcon:F}=tt(e),{roundedClasses:p}=Be(e),{rtlClasses:P}=we(),S=m(()=>e.dirty||e.active),C=m(()=>!e.singleLine&&!!(e.label||l.label)),z=Re(),f=m(()=>e.id||`input-${z}`),G=m(()=>`${f.value}-messages`),q=T(),A=T(),K=T(),n=m(()=>["plain","underlined"].includes(e.variant)),{backgroundColorClasses:y,backgroundColorStyles:g}=$e(Te(e,"bgColor")),{textColorClasses:x,textColorStyles:H}=Ae(m(()=>e.error||e.disabled?void 0:S.value&&d.value?e.color:e.baseColor));De(S,i=>{if(C.value){const u=q.value.$el,h=A.value.$el;requestAnimationFrame(()=>{const _=Ee(u),v=h.getBoundingClientRect(),D=v.x-_.x,w=v.y-_.y-(_.height/2-v.height/2),R=v.width/.75,$=Math.abs(R-_.width)>1?{maxWidth:Le(R)}:void 0,de=getComputedStyle(u),ee=getComputedStyle(h),ce=parseFloat(de.transitionDuration)*1e3||150,fe=parseFloat(ee.getPropertyValue("--v-field-label-scale")),ve=ee.getPropertyValue("color");u.style.visibility="visible",h.style.visibility="hidden",pe(u,{transform:`translate(${D}px, ${w}px) scale(${fe})`,color:ve,...$},{duration:ce,easing:Ke,direction:i?"normal":"reverse"}).finished.then(()=>{u.style.removeProperty("visibility"),h.style.removeProperty("visibility")})})}},{flush:"post"});const B=m(()=>({isActive:S,isFocused:d,controlRef:K,blur:r,focus:c}));function Q(i){i.target!==document.activeElement&&i.preventDefault()}function I(i){var u;i.key!=="Enter"&&i.key!==" "||(i.preventDefault(),i.stopPropagation(),(u=e["onClick:clear"])==null||u.call(e,new MouseEvent("click")))}return U(()=>{var D,w,R;const i=e.variant==="outlined",u=!!(l["prepend-inner"]||e.prependInnerIcon),h=!!(e.clearable||l.clear),_=!!(l["append-inner"]||e.appendInnerIcon||h),v=()=>l.label?l.label({...B.value,label:e.label,props:{for:f.value}}):e.label;return t("div",W({class:["v-field",{"v-field--active":S.value,"v-field--appended":_,"v-field--center-affix":e.centerAffix??!n.value,"v-field--disabled":e.disabled,"v-field--dirty":e.dirty,"v-field--error":e.error,"v-field--flat":e.flat,"v-field--has-background":!!e.bgColor,"v-field--persistent-clear":e.persistentClear,"v-field--prepended":u,"v-field--reverse":e.reverse,"v-field--single-line":e.singleLine,"v-field--no-label":!v(),[`v-field--variant-${e.variant}`]:!0},s.value,y.value,V.value,b.value,p.value,P.value,e.class],style:[g.value,e.style],onClick:Q},a),[t("div",{class:"v-field__overlay"},null),t(Me,{name:"v-field",active:!!e.loading,color:e.error?"error":typeof e.loading=="string"?e.loading:e.color},{default:l.loader}),u&&t("div",{key:"prepend",class:"v-field__prepend-inner"},[e.prependInnerIcon&&t(F,{key:"prepend-icon",name:"prependInner"},null),(D=l["prepend-inner"])==null?void 0:D.call(l,B.value)]),t("div",{class:"v-field__field","data-no-activator":""},[["filled","solo","solo-inverted","solo-filled"].includes(e.variant)&&C.value&&t(j,{key:"floating-label",ref:A,class:[x.value],floating:!0,for:f.value,style:H.value},{default:()=>[v()]}),t(j,{ref:q,for:f.value},{default:()=>[v()]}),(w=l.default)==null?void 0:w.call(l,{...B.value,props:{id:f.value,class:"v-field__input","aria-describedby":G.value},focus:c,blur:r})]),h&&t(Ne,{key:"clear"},{default:()=>[J(t("div",{class:"v-field__clearable",onMousedown:$=>{$.preventDefault(),$.stopPropagation()}},[t(Oe,{defaults:{VIcon:{icon:e.clearIcon}}},{default:()=>[l.clear?l.clear({...B.value,props:{onKeydown:I,onFocus:c,onBlur:r,onClick:e["onClick:clear"]}}):t(F,{name:"clear",onKeydown:I,onFocus:c,onBlur:r},null)]})]),[[ie,e.dirty]])]}),_&&t("div",{key:"append",class:"v-field__append-inner"},[(R=l["append-inner"])==null?void 0:R.call(l,B.value),e.appendInnerIcon&&t(F,{key:"append-icon",name:"appendInner"},null)]),t("div",{class:["v-field__outline",x.value],style:H.value},[i&&t(M,null,[t("div",{class:"v-field__outline__start"},null),C.value&&t("div",{class:"v-field__outline__notch"},[t(j,{ref:A,floating:!0,for:f.value},{default:()=>[v()]})]),t("div",{class:"v-field__outline__end"},null)]),n.value&&C.value&&t(j,{ref:A,floating:!0,for:f.value},{default:()=>[v()]})])])}),{controlRef:K}}});function vt(e){const o=Object.keys(ue.props).filter(a=>!Ue(a)&&a!=="class"&&a!=="style");return qe(e,o)}const mt=["color","file","time","date","datetime-local","week","month"],bt=N({autofocus:Boolean,counter:[Boolean,Number,String],counterValue:[Number,Function],prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,suffix:String,role:String,type:{type:String,default:"text"},modelModifiers:Object,...lt(),...re()},"VTextField"),kt=O()({name:"VTextField",directives:{Intersect:je},inheritAttrs:!1,props:bt(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,o){let{attrs:a,emit:k,slots:l}=o;const s=We(e,"modelValue"),{isFocused:b,focus:V,blur:d}=se(e),c=m(()=>typeof e.counterValue=="function"?e.counterValue(s.value):typeof e.counterValue=="number"?e.counterValue:(s.value??"").toString().length),r=m(()=>{if(a.maxlength)return a.maxlength;if(!(!e.counter||typeof e.counter!="number"&&typeof e.counter!="string"))return e.counter}),F=m(()=>["plain","underlined"].includes(e.variant));function p(n,y){var g,x;!e.autofocus||!n||(x=(g=y[0].target)==null?void 0:g.focus)==null||x.call(g)}const P=T(),S=T(),C=T(),z=m(()=>mt.includes(e.type)||e.persistentPlaceholder||b.value||e.active);function f(){var n;C.value!==document.activeElement&&((n=C.value)==null||n.focus()),b.value||V()}function G(n){k("mousedown:control",n),n.target!==C.value&&(f(),n.preventDefault())}function q(n){f(),k("click:control",n)}function A(n){n.stopPropagation(),f(),ne(()=>{s.value=null,He(e["onClick:clear"],n)})}function K(n){var g;const y=n.target;if(s.value=y.value,(g=e.modelModifiers)!=null&&g.trim&&["text","search","password","tel","url"].includes(e.type)){const x=[y.selectionStart,y.selectionEnd];ne(()=>{y.selectionStart=x[0],y.selectionEnd=x[1]})}}return U(()=>{const n=!!(l.counter||e.counter!==!1&&e.counter!=null),y=!!(n||l.details),[g,x]=Ye(a),{modelValue:H,...B}=ae.filterProps(e),Q=vt(e);return t(ae,W({ref:P,modelValue:s.value,"onUpdate:modelValue":I=>s.value=I,class:["v-text-field",{"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-input--plain-underlined":F.value},e.class],style:e.style},g,B,{centerAffix:!F.value,focused:b.value}),{...l,default:I=>{let{id:i,isDisabled:u,isDirty:h,isReadonly:_,isValid:v}=I;return t(ue,W({ref:S,onMousedown:G,onClick:q,"onClick:clear":A,"onClick:prependInner":e["onClick:prependInner"],"onClick:appendInner":e["onClick:appendInner"],role:e.role},Q,{id:i.value,active:z.value||h.value,dirty:h.value||e.dirty,disabled:u.value,focused:b.value,error:v.value===!1}),{...l,default:D=>{let{props:{class:w,...R}}=D;const $=J(t("input",W({ref:C,value:s.value,onInput:K,autofocus:e.autofocus,readonly:_.value,disabled:u.value,name:e.name,placeholder:e.placeholder,size:1,type:e.type,onFocus:f,onBlur:d},R,x),null),[[ze("intersect"),{handler:p},null,{once:!0}]]);return t(M,null,[e.prefix&&t("span",{class:"v-text-field__prefix"},[t("span",{class:"v-text-field__prefix__text"},[e.prefix])]),l.default?t("div",{class:w,"data-no-activator":""},[l.default(),$]):Ge($,{class:w}),e.suffix&&t("span",{class:"v-text-field__suffix"},[t("span",{class:"v-text-field__suffix__text"},[e.suffix])])])}})},details:y?I=>{var i;return t(M,null,[(i=l.details)==null?void 0:i.call(l,I),n&&t(M,null,[t("span",null,null),t(dt,{active:e.persistentCounter||b.value,value:c.value,max:r.value,disabled:e.disabled},l.counter)])])}:void 0})}),oe({},P,S,C)}});export{xt as S,kt as V,ht as a,bt as m};
@@ -1 +0,0 @@
1
- import{_ as A,Y as v,Z as m,X as w,$ as f,S as i,aj as q,ak as E,al as re,am as ie,an as G,W as K,D as le,E as P,ao as J,ap as de,O as I,aq as ce,r as j,h as $,R as W,ar as H,U as B,as as x,at as ue,au as me,av as be,i as fe,aw as Z,ax as ve,ay as we,az as pe,aA as ge,aB as h,aC as _e,aD as he,K as ye,aE as Te,B as z,V as Ve,aF as k,aG as X,aH as Se,aI as xe,aJ as Ae,aK as Ce,m as De}from"./admin-drawer-panel-DsgLbfnD.js";import{S as ke,V as $e,a as Be,b as Pe}from"./settings-drawer-aTAAoX2A.js";import{u as Ie,t as We}from"./main-BjGE3kSi.js";import{m as Ue,V as M,a as Le,b as R}from"./VWindowItem-FBuIO_rT.js";import{m as ze,V as Y}from"./VSlideGroup-DYJ3EYZI.js";import{U as Ee,V as Me}from"./unauthorized-Ovy_BO5R.js";import"./copy-to-clipboard-DoUvDJVx.js";import"./VDialog-DTWAoZBU.js";import"./change-password-dialog-B-Sd5U5p.js";import"./VTextField-BayL7C1D.js";import"./VSelectionControl-DXxRmssH.js";const Re={name:"AdminTitleToolbar",components:{SettingsDrawerButton:ke},computed:{mdAndDown(){return this.$vuetify.display.mdAndDown}}};function Ge(e,s,l,t,o,r){const a=v("SettingsDrawerButton");return m(),w(Be,{id:"titleBar",class:E(["codexToolbar",{drawerMargin:!r.mdAndDown}]),density:"compact",elevation:"8"},{default:f(()=>[i($e,{class:"codexToolbarTitle"},{default:f(()=>[q(" Codex Administration ")]),_:1}),(m(),w(a,{key:r.mdAndDown,class:E({invisible:!r.mdAndDown}),disabled:!r.mdAndDown},null,8,["class","disabled"]))]),_:1},8,["class"])}const Oe=A(Re,[["render",Ge],["__scopeId","data-v-355452b0"]]),Fe={name:"AdminSettingsPanel",components:{DrawerItem:re},data(){return{mdiBookshelf:ie}},computed:{...G(Ie,["lastRoute"])}};function Ne(e,s,l,t,o,r){const a=v("DrawerItem");return m(),w(a,{to:e.lastRoute,"prepend-icon":o.mdiBookshelf,title:"Browser"},null,8,["to","prepend-icon"])}const je=A(Fe,[["render",Ne]]),He={name:"AdminSettingsDrawer",components:{SettingsDrawer:Pe,AdminSettingsPanel:je},computed:{mdAndDown(){return this.$vuetify.display.mdAndDown}},watch:{mdAndDown(e){e||this.setSettingsDrawerOpen(!0)}},mounted(){this.mdAndDown||this.setSettingsDrawerOpen(!0)},methods:{...K(le,["setSettingsDrawerOpen"])}};function Xe(e,s,l,t,o,r){const a=v("AdminSettingsPanel"),n=v("SettingsDrawer");return m(),w(n,{title:"Admin",temporary:r.mdAndDown},{panel:f(()=>[i(a)]),_:1},8,["temporary"])}const Ye=A(He,[["render",Xe]]),O=Symbol.for("vuetify:v-tabs"),qe=P({fixed:Boolean,sliderColor:String,hideSlider:Boolean,direction:{type:String,default:"horizontal"},...J(de({selectedClass:"v-tab--selected",variant:"text"}),["active","block","flat","location","position","symbol"])},"VTab"),Q=I()({name:"VTab",props:qe(),setup(e,s){let{slots:l,attrs:t}=s;const{textColorClasses:o,textColorStyles:r}=ce(e,"sliderColor"),a=j(),n=j(),u=$(()=>e.direction==="horizontal"),_=$(()=>{var p,d;return((d=(p=a.value)==null?void 0:p.group)==null?void 0:d.isSelected.value)??!1});function U(p){var c,g;let{value:d}=p;if(d){const b=(g=(c=a.value)==null?void 0:c.$el.parentElement)==null?void 0:g.querySelector(".v-tab--selected .v-tab__slider"),L=n.value;if(!b||!L)return;const ee=getComputedStyle(b).color,y=b.getBoundingClientRect(),T=L.getBoundingClientRect(),C=u.value?"x":"y",D=u.value?"X":"Y",F=u.value?"right":"bottom",V=u.value?"width":"height",te=y[C],ae=T[C],S=te>ae?y[F]-T[F]:y[C]-T[C],se=Math.sign(S)>0?u.value?"right":"bottom":Math.sign(S)<0?u.value?"left":"top":"center",oe=(Math.abs(S)+(Math.sign(S)<0?y[V]:T[V]))/Math.max(y[V],T[V])||0,ne=y[V]/T[V]||0,N=1.5;me(L,{backgroundColor:[ee,"currentcolor"],transform:[`translate${D}(${S}px) scale${D}(${ne})`,`translate${D}(${S/N}px) scale${D}(${(oe-1)/N+1})`,"none"],transformOrigin:Array(3).fill(se)},{duration:225,easing:be})}}return W(()=>{const p=H.filterProps(e);return i(H,x({symbol:O,ref:a,class:["v-tab",e.class],style:e.style,tabindex:_.value?0:-1,role:"tab","aria-selected":String(_.value),active:!1},p,t,{block:e.fixed,maxWidth:e.fixed?300:void 0,"onGroup:selected":U}),{...l,default:()=>{var d;return i(B,null,[((d=l.default)==null?void 0:d.call(l))??e.text,!e.hideSlider&&i("div",{ref:n,class:["v-tab__slider",o.value],style:r.value},null)])}})}),ue({},a)}}),Ke=P({...J(Ue(),["continuous","nextIcon","prevIcon","showArrows","touch","mandatory"])},"VTabsWindow"),Je=I()({name:"VTabsWindow",props:Ke(),emits:{"update:modelValue":e=>!0},setup(e,s){let{slots:l}=s;const t=fe(O,null),o=Z(e,"modelValue"),r=$({get(){var a;return o.value!=null||!t?o.value:(a=t.items.value.find(n=>t.selected.value.includes(n.id)))==null?void 0:a.value},set(a){o.value=a}});return W(()=>{const a=M.filterProps(e);return i(M,x({_as:"VTabsWindow"},a,{modelValue:r.value,"onUpdate:modelValue":n=>r.value=n,class:["v-tabs-window",e.class],style:e.style,mandatory:!1,touch:!1}),l)}),{}}}),Ze=P({...Le()},"VTabsWindowItem"),Qe=I()({name:"VTabsWindowItem",props:Ze(),setup(e,s){let{slots:l}=s;return W(()=>{const t=R.filterProps(e);return i(R,x({_as:"VTabsWindowItem"},t,{class:["v-tabs-window-item",e.class],style:e.style}),l)}),{}}});function et(e){return e?e.map(s=>Te(s)?s:{text:s,value:s}):[]}const tt=P({alignTabs:{type:String,default:"start"},color:String,fixedTabs:Boolean,items:{type:Array,default:()=>[]},stacked:Boolean,bgColor:String,grow:Boolean,height:{type:[Number,String],default:void 0},hideSlider:Boolean,sliderColor:String,...ze({mandatory:"force",selectedClass:"v-tab-item--selected"}),...ve(),...we()},"VTabs"),at=I()({name:"VTabs",props:tt(),emits:{"update:modelValue":e=>!0},setup(e,s){let{attrs:l,slots:t}=s;const o=Z(e,"modelValue"),r=$(()=>et(e.items)),{densityClasses:a}=pe(e),{backgroundColorClasses:n,backgroundColorStyles:u}=ge(h(e,"bgColor")),{scopeId:_}=_e();return he({VTab:{color:h(e,"color"),direction:h(e,"direction"),stacked:h(e,"stacked"),fixed:h(e,"fixedTabs"),sliderColor:h(e,"sliderColor"),hideSlider:h(e,"hideSlider")}}),W(()=>{const U=Y.filterProps(e),p=!!(t.window||e.items.length>0);return i(B,null,[i(Y,x(U,{modelValue:o.value,"onUpdate:modelValue":d=>o.value=d,class:["v-tabs",`v-tabs--${e.direction}`,`v-tabs--align-tabs-${e.alignTabs}`,{"v-tabs--fixed-tabs":e.fixedTabs,"v-tabs--grow":e.grow,"v-tabs--stacked":e.stacked},a.value,n.value,e.class],style:[{"--v-tabs-height":ye(e.height)},u.value,e.style],role:"tablist",symbol:O},_,l),{default:()=>{var d;return[((d=t.default)==null?void 0:d.call(t))??r.value.map(c=>{var g;return((g=t.tab)==null?void 0:g.call(t,{item:c}))??i(Q,x(c,{key:c.text,value:c.value}),{default:t[`tab.${c.value}`]?()=>{var b;return(b=t[`tab.${c.value}`])==null?void 0:b.call(t,{item:c})}:void 0})})]}}),p&&i(Je,x({modelValue:o.value,"onUpdate:modelValue":d=>o.value=d,key:"tabs-window"},_),{default:()=>{var d;return[r.value.map(c=>{var g;return((g=t.item)==null?void 0:g.call(t,{item:c}))??i(Qe,{value:c.value},{default:()=>{var b;return(b=t[`item.${c.value}`])==null?void 0:b.call(t,{item:c})}})}),(d=t.window)==null?void 0:d.call(t)]}})])}),{}}}),st={name:"AdminTabs",data(){return{activeTab:"Libraries",tabs:["Users","Groups","Libraries","Flags","Tasks","Stats"]}},computed:{...G(z,["comicLibrariesExist"]),...Ve(z,{librariesLoaded:e=>!!e.libraries}),mdAndDown(){return this.$vuetify.display.mdAndDown}},watch:{$route(e){const l=e.path.split("/").at(-1);this.activeTab=We(l)}},mounted(){this.librariesLoaded||this.loadTables(["Library"])},methods:{...K(z,["loadTables"])}},ot={id:"tabContainer"},nt={key:0,id:"noLibraries"};function rt(e,s,l,t,o,r){const a=v("router-view");return m(),k("div",ot,[i(at,{class:E(["adminTabs",{drawerMargin:!r.mdAndDown}]),grow:"","show-arrows":""},{default:f(()=>[(m(!0),k(B,null,X(o.tabs,n=>(m(),w(Q,{key:n,modelValue:o.activeTab,"onUpdate:modelValue":s[0]||(s[0]=u=>o.activeTab=u),to:n.toLowerCase()},{default:f(()=>[q(Se(n),1)]),_:2},1032,["modelValue","to"]))),128))]),_:1},8,["class"]),i(M,{id:"tabItems",modelValue:o.activeTab,"onUpdate:modelValue":s[1]||(s[1]=n=>o.activeTab=n),touch:!1},{default:f(()=>[(m(!0),k(B,null,X(o.tabs,n=>(m(),w(a,{key:n},{default:f(({Component:u})=>[i(R,{value:n,class:"tabItemContainer"},{default:f(()=>[(m(),w(xe(u)))]),_:2},1032,["value"])]),_:2},1024))),128))]),_:1},8,["modelValue"]),e.comicLibrariesExist?Ae("",!0):(m(),k("div",nt," Codex has no libraries. Select the Libraries tab and add a comic library. "))])}const it=A(st,[["render",rt],["__scopeId","data-v-f7a7ae94"]]),lt={name:"MainAdmin",components:{AdminTitleToolbar:Oe,AdminTabs:it,AdminSettingsDrawer:Ye,Unauthorized:Ee},data(){return{mdiLogin:Ce}},computed:{...G(De,["isUserAdmin"])}};function dt(e,s,l,t,o,r){const a=v("AdminTitleToolbar"),n=v("AdminTabs"),u=v("AdminSettingsDrawer"),_=v("Unauthorized");return e.isUserAdmin?(m(),w(Me,{key:0},{default:f(()=>[i(a),i(n),i(u)]),_:1})):(m(),w(_,{key:1}))}const Tt=A(lt,[["render",dt]]);export{Tt as default};
@@ -1 +0,0 @@
1
- import{_ as A,Y as v,Z as m,X as w,$ as f,S as i,aj as q,ak as E,al as re,am as ie,an as G,W as K,D as le,E as P,ao as J,ap as de,O as I,aq as ce,r as j,h as $,R as W,ar as H,U as B,as as x,at as ue,au as me,av as be,i as fe,aw as Z,ax as ve,ay as we,az as pe,aA as ge,aB as h,aC as _e,aD as he,K as ye,aE as Te,B as z,V as Ve,aF as k,aG as X,aH as Se,aI as xe,aJ as Ae,aK as Ce,m as De}from"./admin-drawer-panel-DsgLbfnD.js";import{S as ke,V as $e,a as Be,b as Pe}from"./settings-drawer-aTAAoX2A.js";import{u as Ie,t as We}from"./main-BjGE3kSi.js";import{m as Ue,V as M,a as Le,b as R}from"./VWindowItem-FBuIO_rT.js";import{m as ze,V as Y}from"./VSlideGroup-DYJ3EYZI.js";import{U as Ee,V as Me}from"./unauthorized-Ovy_BO5R.js";import"./copy-to-clipboard-DoUvDJVx.js";import"./VDialog-DTWAoZBU.js";import"./change-password-dialog-B-Sd5U5p.js";import"./VTextField-BayL7C1D.js";import"./VSelectionControl-DXxRmssH.js";const Re={name:"AdminTitleToolbar",components:{SettingsDrawerButton:ke},computed:{mdAndDown(){return this.$vuetify.display.mdAndDown}}};function Ge(e,s,l,t,o,r){const a=v("SettingsDrawerButton");return m(),w(Be,{id:"titleBar",class:E(["codexToolbar",{drawerMargin:!r.mdAndDown}]),density:"compact",elevation:"8"},{default:f(()=>[i($e,{class:"codexToolbarTitle"},{default:f(()=>[q(" Codex Administration ")]),_:1}),(m(),w(a,{key:r.mdAndDown,class:E({invisible:!r.mdAndDown}),disabled:!r.mdAndDown},null,8,["class","disabled"]))]),_:1},8,["class"])}const Oe=A(Re,[["render",Ge],["__scopeId","data-v-355452b0"]]),Fe={name:"AdminSettingsPanel",components:{DrawerItem:re},data(){return{mdiBookshelf:ie}},computed:{...G(Ie,["lastRoute"])}};function Ne(e,s,l,t,o,r){const a=v("DrawerItem");return m(),w(a,{to:e.lastRoute,"prepend-icon":o.mdiBookshelf,title:"Browser"},null,8,["to","prepend-icon"])}const je=A(Fe,[["render",Ne]]),He={name:"AdminSettingsDrawer",components:{SettingsDrawer:Pe,AdminSettingsPanel:je},computed:{mdAndDown(){return this.$vuetify.display.mdAndDown}},watch:{mdAndDown(e){e||this.setSettingsDrawerOpen(!0)}},mounted(){this.mdAndDown||this.setSettingsDrawerOpen(!0)},methods:{...K(le,["setSettingsDrawerOpen"])}};function Xe(e,s,l,t,o,r){const a=v("AdminSettingsPanel"),n=v("SettingsDrawer");return m(),w(n,{title:"Admin",temporary:r.mdAndDown},{panel:f(()=>[i(a)]),_:1},8,["temporary"])}const Ye=A(He,[["render",Xe]]),O=Symbol.for("vuetify:v-tabs"),qe=P({fixed:Boolean,sliderColor:String,hideSlider:Boolean,direction:{type:String,default:"horizontal"},...J(de({selectedClass:"v-tab--selected",variant:"text"}),["active","block","flat","location","position","symbol"])},"VTab"),Q=I()({name:"VTab",props:qe(),setup(e,s){let{slots:l,attrs:t}=s;const{textColorClasses:o,textColorStyles:r}=ce(e,"sliderColor"),a=j(),n=j(),u=$(()=>e.direction==="horizontal"),_=$(()=>{var p,d;return((d=(p=a.value)==null?void 0:p.group)==null?void 0:d.isSelected.value)??!1});function U(p){var c,g;let{value:d}=p;if(d){const b=(g=(c=a.value)==null?void 0:c.$el.parentElement)==null?void 0:g.querySelector(".v-tab--selected .v-tab__slider"),L=n.value;if(!b||!L)return;const ee=getComputedStyle(b).color,y=b.getBoundingClientRect(),T=L.getBoundingClientRect(),C=u.value?"x":"y",D=u.value?"X":"Y",F=u.value?"right":"bottom",V=u.value?"width":"height",te=y[C],ae=T[C],S=te>ae?y[F]-T[F]:y[C]-T[C],se=Math.sign(S)>0?u.value?"right":"bottom":Math.sign(S)<0?u.value?"left":"top":"center",oe=(Math.abs(S)+(Math.sign(S)<0?y[V]:T[V]))/Math.max(y[V],T[V])||0,ne=y[V]/T[V]||0,N=1.5;me(L,{backgroundColor:[ee,"currentcolor"],transform:[`translate${D}(${S}px) scale${D}(${ne})`,`translate${D}(${S/N}px) scale${D}(${(oe-1)/N+1})`,"none"],transformOrigin:Array(3).fill(se)},{duration:225,easing:be})}}return W(()=>{const p=H.filterProps(e);return i(H,x({symbol:O,ref:a,class:["v-tab",e.class],style:e.style,tabindex:_.value?0:-1,role:"tab","aria-selected":String(_.value),active:!1},p,t,{block:e.fixed,maxWidth:e.fixed?300:void 0,"onGroup:selected":U}),{...l,default:()=>{var d;return i(B,null,[((d=l.default)==null?void 0:d.call(l))??e.text,!e.hideSlider&&i("div",{ref:n,class:["v-tab__slider",o.value],style:r.value},null)])}})}),ue({},a)}}),Ke=P({...J(Ue(),["continuous","nextIcon","prevIcon","showArrows","touch","mandatory"])},"VTabsWindow"),Je=I()({name:"VTabsWindow",props:Ke(),emits:{"update:modelValue":e=>!0},setup(e,s){let{slots:l}=s;const t=fe(O,null),o=Z(e,"modelValue"),r=$({get(){var a;return o.value!=null||!t?o.value:(a=t.items.value.find(n=>t.selected.value.includes(n.id)))==null?void 0:a.value},set(a){o.value=a}});return W(()=>{const a=M.filterProps(e);return i(M,x({_as:"VTabsWindow"},a,{modelValue:r.value,"onUpdate:modelValue":n=>r.value=n,class:["v-tabs-window",e.class],style:e.style,mandatory:!1,touch:!1}),l)}),{}}}),Ze=P({...Le()},"VTabsWindowItem"),Qe=I()({name:"VTabsWindowItem",props:Ze(),setup(e,s){let{slots:l}=s;return W(()=>{const t=R.filterProps(e);return i(R,x({_as:"VTabsWindowItem"},t,{class:["v-tabs-window-item",e.class],style:e.style}),l)}),{}}});function et(e){return e?e.map(s=>Te(s)?s:{text:s,value:s}):[]}const tt=P({alignTabs:{type:String,default:"start"},color:String,fixedTabs:Boolean,items:{type:Array,default:()=>[]},stacked:Boolean,bgColor:String,grow:Boolean,height:{type:[Number,String],default:void 0},hideSlider:Boolean,sliderColor:String,...ze({mandatory:"force",selectedClass:"v-tab-item--selected"}),...ve(),...we()},"VTabs"),at=I()({name:"VTabs",props:tt(),emits:{"update:modelValue":e=>!0},setup(e,s){let{attrs:l,slots:t}=s;const o=Z(e,"modelValue"),r=$(()=>et(e.items)),{densityClasses:a}=pe(e),{backgroundColorClasses:n,backgroundColorStyles:u}=ge(h(e,"bgColor")),{scopeId:_}=_e();return he({VTab:{color:h(e,"color"),direction:h(e,"direction"),stacked:h(e,"stacked"),fixed:h(e,"fixedTabs"),sliderColor:h(e,"sliderColor"),hideSlider:h(e,"hideSlider")}}),W(()=>{const U=Y.filterProps(e),p=!!(t.window||e.items.length>0);return i(B,null,[i(Y,x(U,{modelValue:o.value,"onUpdate:modelValue":d=>o.value=d,class:["v-tabs",`v-tabs--${e.direction}`,`v-tabs--align-tabs-${e.alignTabs}`,{"v-tabs--fixed-tabs":e.fixedTabs,"v-tabs--grow":e.grow,"v-tabs--stacked":e.stacked},a.value,n.value,e.class],style:[{"--v-tabs-height":ye(e.height)},u.value,e.style],role:"tablist",symbol:O},_,l),{default:()=>{var d;return[((d=t.default)==null?void 0:d.call(t))??r.value.map(c=>{var g;return((g=t.tab)==null?void 0:g.call(t,{item:c}))??i(Q,x(c,{key:c.text,value:c.value}),{default:t[`tab.${c.value}`]?()=>{var b;return(b=t[`tab.${c.value}`])==null?void 0:b.call(t,{item:c})}:void 0})})]}}),p&&i(Je,x({modelValue:o.value,"onUpdate:modelValue":d=>o.value=d,key:"tabs-window"},_),{default:()=>{var d;return[r.value.map(c=>{var g;return((g=t.item)==null?void 0:g.call(t,{item:c}))??i(Qe,{value:c.value},{default:()=>{var b;return(b=t[`item.${c.value}`])==null?void 0:b.call(t,{item:c})}})}),(d=t.window)==null?void 0:d.call(t)]}})])}),{}}}),st={name:"AdminTabs",data(){return{activeTab:"Libraries",tabs:["Users","Groups","Libraries","Flags","Tasks","Stats"]}},computed:{...G(z,["comicLibrariesExist"]),...Ve(z,{librariesLoaded:e=>!!e.libraries}),mdAndDown(){return this.$vuetify.display.mdAndDown}},watch:{$route(e){const l=e.path.split("/").at(-1);this.activeTab=We(l)}},mounted(){this.librariesLoaded||this.loadTables(["Library"])},methods:{...K(z,["loadTables"])}},ot={id:"tabContainer"},nt={key:0,id:"noLibraries"};function rt(e,s,l,t,o,r){const a=v("router-view");return m(),k("div",ot,[i(at,{class:E(["adminTabs",{drawerMargin:!r.mdAndDown}]),grow:"","show-arrows":""},{default:f(()=>[(m(!0),k(B,null,X(o.tabs,n=>(m(),w(Q,{key:n,modelValue:o.activeTab,"onUpdate:modelValue":s[0]||(s[0]=u=>o.activeTab=u),to:n.toLowerCase()},{default:f(()=>[q(Se(n),1)]),_:2},1032,["modelValue","to"]))),128))]),_:1},8,["class"]),i(M,{id:"tabItems",modelValue:o.activeTab,"onUpdate:modelValue":s[1]||(s[1]=n=>o.activeTab=n),touch:!1},{default:f(()=>[(m(!0),k(B,null,X(o.tabs,n=>(m(),w(a,{key:n},{default:f(({Component:u})=>[i(R,{value:n,class:"tabItemContainer"},{default:f(()=>[(m(),w(xe(u)))]),_:2},1032,["value"])]),_:2},1024))),128))]),_:1},8,["modelValue"]),e.comicLibrariesExist?Ae("",!0):(m(),k("div",nt," Codex has no libraries. Select the Libraries tab and add a comic library. "))])}const it=A(st,[["render",rt],["__scopeId","data-v-f7a7ae94"]]),lt={name:"MainAdmin",components:{AdminTitleToolbar:Oe,AdminTabs:it,AdminSettingsDrawer:Ye,Unauthorized:Ee},data(){return{mdiLogin:Ce}},computed:{...G(De,["isUserAdmin"])}};function dt(e,s,l,t,o,r){const a=v("AdminTitleToolbar"),n=v("AdminTabs"),u=v("AdminSettingsDrawer"),_=v("Unauthorized");return e.isUserAdmin?(m(),w(Me,{key:0},{default:f(()=>[i(a),i(n),i(u)]),_:1})):(m(),w(_,{key:1}))}const Tt=A(lt,[["render",dt]]);export{Tt as default};