codex 1.7.3a2__py3-none-any.whl → 1.7.5__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 (632) hide show
  1. codex/asgi.py +2 -1
  2. codex/choices/__init__.py +1 -0
  3. codex/{choices.py → choices/admin.py} +47 -146
  4. codex/choices/browser.py +85 -0
  5. codex/{choices_to_json.py → choices/choices_to_json.py} +25 -19
  6. codex/choices/notifications.py +16 -0
  7. codex/choices/reader.py +33 -0
  8. codex/db.py +2 -2
  9. codex/exceptions.py +7 -8
  10. codex/librarian/bookmark/bookmarkd.py +8 -4
  11. codex/librarian/bookmark/update.py +84 -49
  12. codex/librarian/covers/create.py +10 -8
  13. codex/librarian/covers/path.py +6 -5
  14. codex/librarian/covers/purge.py +4 -4
  15. codex/librarian/importer/aggregate.py +2 -2
  16. codex/librarian/importer/cache.py +1 -4
  17. codex/librarian/importer/create_comics.py +2 -2
  18. codex/librarian/importer/create_covers.py +1 -1
  19. codex/librarian/importer/create_fks.py +4 -3
  20. codex/librarian/importer/deleted.py +3 -3
  21. codex/librarian/importer/extract.py +56 -37
  22. codex/librarian/importer/failed_imports.py +1 -1
  23. codex/librarian/importer/importer.py +8 -3
  24. codex/librarian/importer/importerd.py +3 -3
  25. codex/librarian/importer/link_comics.py +2 -1
  26. codex/librarian/importer/moved.py +2 -7
  27. codex/librarian/importer/query_fks.py +1 -4
  28. codex/librarian/importer/tasks.py +1 -1
  29. codex/librarian/janitor/integrity.py +27 -20
  30. codex/librarian/janitor/janitor.py +1 -1
  31. codex/librarian/janitor/latest_version.py +1 -1
  32. codex/librarian/janitor/update.py +5 -2
  33. codex/librarian/janitor/vacuum.py +1 -1
  34. codex/librarian/librariand.py +3 -2
  35. codex/librarian/notifier/notifierd.py +2 -1
  36. codex/librarian/notifier/tasks.py +17 -3
  37. codex/librarian/search/optimize.py +1 -1
  38. codex/librarian/search/remove.py +1 -1
  39. codex/librarian/search/update.py +4 -4
  40. codex/librarian/telemeter/stats.py +7 -6
  41. codex/librarian/telemeter/telemeter.py +0 -1
  42. codex/librarian/watchdog/db_snapshot.py +3 -3
  43. codex/librarian/watchdog/dir_snapshot_diff.py +3 -4
  44. codex/librarian/watchdog/emitter.py +4 -4
  45. codex/librarian/watchdog/event_batcherd.py +2 -1
  46. codex/librarian/watchdog/events.py +1 -2
  47. codex/librarian/watchdog/observers.py +15 -10
  48. codex/logger/logging.py +1 -1
  49. codex/memory.py +3 -2
  50. codex/migrations/0001_init.py +1 -2
  51. codex/migrations/0014_pdf_issue_suffix_remove_cover_image_sort_name.py +1 -2
  52. codex/migrations/0018_rename_userbookmark_bookmark.py +1 -2
  53. codex/migrations/0028_telemeter.py +1 -5
  54. codex/models/base.py +3 -1
  55. codex/models/bookmark.py +4 -7
  56. codex/models/comic.py +2 -2
  57. codex/models/functions.py +12 -5
  58. codex/models/groups.py +1 -1
  59. codex/models/library.py +1 -1
  60. codex/models/paths.py +4 -4
  61. codex/models/query.py +8 -4
  62. codex/models/util.py +1 -1
  63. codex/permissions.py +1 -1
  64. codex/run.py +1 -1
  65. codex/serializers/admin/libraries.py +1 -3
  66. codex/serializers/admin/stats.py +4 -4
  67. codex/serializers/admin/tasks.py +12 -2
  68. codex/serializers/auth.py +4 -2
  69. codex/serializers/browser/choices.py +87 -9
  70. codex/serializers/browser/filters.py +9 -37
  71. codex/serializers/browser/metadata.py +2 -1
  72. codex/serializers/browser/mixins.py +7 -3
  73. codex/serializers/browser/mtime.py +3 -5
  74. codex/serializers/browser/page.py +5 -4
  75. codex/serializers/browser/settings.py +8 -6
  76. codex/serializers/fields/__init__.py +37 -0
  77. codex/serializers/fields/auth.py +45 -0
  78. codex/serializers/fields/browser.py +85 -0
  79. codex/serializers/fields/group.py +13 -0
  80. codex/serializers/fields/reader.py +22 -0
  81. codex/serializers/fields/sanitized.py +13 -0
  82. codex/serializers/fields/session.py +16 -0
  83. codex/serializers/fields/stats.py +36 -0
  84. codex/serializers/fields/vuetify.py +62 -0
  85. codex/serializers/models/base.py +1 -1
  86. codex/serializers/models/comic.py +2 -2
  87. codex/serializers/models/groups.py +0 -2
  88. codex/serializers/models/named.py +1 -1
  89. codex/serializers/models/pycountry.py +1 -1
  90. codex/serializers/opds/authentication.py +4 -2
  91. codex/serializers/opds/urls.py +2 -1
  92. codex/serializers/opds/v1.py +4 -3
  93. codex/serializers/opds/v2/feed.py +2 -1
  94. codex/serializers/opds/v2/links.py +23 -21
  95. codex/serializers/opds/v2/metadata.py +4 -8
  96. codex/serializers/opds/v2/progression.py +5 -3
  97. codex/serializers/opds/v2/publication.py +16 -18
  98. codex/serializers/opds/v2/unused.py +15 -8
  99. codex/serializers/reader.py +16 -14
  100. codex/serializers/redirect.py +2 -1
  101. codex/serializers/route.py +6 -4
  102. codex/serializers/settings.py +5 -3
  103. codex/serializers/versions.py +2 -1
  104. codex/settings/settings.py +4 -3
  105. codex/signals/django_signals.py +1 -1
  106. codex/startup.py +2 -2
  107. codex/static_root/assets/{VCheckbox-FaT6MGfu.f6732060f734.js → VCheckbox-CWBDr4kF.6da5bf3a4d90.js} +1 -1
  108. codex/static_root/assets/VCheckbox-CWBDr4kF.6da5bf3a4d90.js.br +0 -0
  109. codex/static_root/assets/VCheckbox-CWBDr4kF.6da5bf3a4d90.js.gz +0 -0
  110. codex/static_root/assets/{VCheckbox-FaT6MGfu.js → VCheckbox-CWBDr4kF.js} +1 -1
  111. codex/static_root/assets/VCheckbox-CWBDr4kF.js.br +0 -0
  112. codex/static_root/assets/VCheckbox-CWBDr4kF.js.gz +0 -0
  113. codex/static_root/assets/{VCheckboxBtn-CZ_P-qUM.847452d574cf.js → VCheckboxBtn-COaoh3uF.fc880a386827.js} +1 -1
  114. codex/static_root/assets/VCheckboxBtn-COaoh3uF.fc880a386827.js.br +0 -0
  115. codex/static_root/assets/VCheckboxBtn-COaoh3uF.fc880a386827.js.gz +0 -0
  116. codex/static_root/assets/{VCheckboxBtn-CZ_P-qUM.js → VCheckboxBtn-COaoh3uF.js} +1 -1
  117. codex/static_root/assets/VCheckboxBtn-COaoh3uF.js.br +0 -0
  118. codex/static_root/assets/VCheckboxBtn-COaoh3uF.js.gz +0 -0
  119. codex/static_root/assets/{VCombobox-C8QLNlSl.6f431e19a453.js → VCombobox-DkOruNH0.f30f163ee632.js} +1 -1
  120. codex/static_root/assets/VCombobox-DkOruNH0.f30f163ee632.js.br +0 -0
  121. codex/static_root/assets/VCombobox-DkOruNH0.f30f163ee632.js.gz +0 -0
  122. codex/static_root/assets/{VCombobox-C8QLNlSl.js → VCombobox-DkOruNH0.js} +1 -1
  123. codex/static_root/assets/VCombobox-DkOruNH0.js.br +0 -0
  124. codex/static_root/assets/VCombobox-DkOruNH0.js.gz +0 -0
  125. codex/static_root/assets/{VDialog-RVLeW7je.c0c7eef71eec.js → VDialog-Dr7SuC2S.b6ec7df390f4.js} +1 -1
  126. codex/static_root/assets/VDialog-Dr7SuC2S.b6ec7df390f4.js.br +0 -0
  127. codex/static_root/assets/VDialog-Dr7SuC2S.b6ec7df390f4.js.gz +0 -0
  128. codex/static_root/assets/{VDialog-RVLeW7je.js → VDialog-Dr7SuC2S.js} +1 -1
  129. codex/static_root/assets/VDialog-Dr7SuC2S.js.br +0 -0
  130. codex/static_root/assets/VDialog-Dr7SuC2S.js.gz +0 -0
  131. codex/static_root/assets/{VDivider-D1Ot4vR2.9dbee744fb3c.js → VDivider-By4u2EsM.fd5ee9cce906.js} +1 -1
  132. codex/static_root/assets/VDivider-By4u2EsM.fd5ee9cce906.js.br +0 -0
  133. codex/static_root/assets/VDivider-By4u2EsM.fd5ee9cce906.js.gz +0 -0
  134. codex/static_root/assets/{VDivider-D1Ot4vR2.js → VDivider-By4u2EsM.js} +1 -1
  135. codex/static_root/assets/VDivider-By4u2EsM.js.br +0 -0
  136. codex/static_root/assets/VDivider-By4u2EsM.js.gz +0 -0
  137. codex/static_root/assets/{VExpansionPanels-DQilGHZk.43f06d0a45e0.js → VExpansionPanels-BhO9oj0a.e99bea455c78.js} +1 -1
  138. codex/static_root/assets/VExpansionPanels-BhO9oj0a.e99bea455c78.js.br +0 -0
  139. codex/static_root/assets/VExpansionPanels-BhO9oj0a.e99bea455c78.js.gz +0 -0
  140. codex/static_root/assets/{VExpansionPanels-DQilGHZk.js → VExpansionPanels-BhO9oj0a.js} +1 -1
  141. codex/static_root/assets/VExpansionPanels-BhO9oj0a.js.br +0 -0
  142. codex/static_root/assets/VExpansionPanels-BhO9oj0a.js.gz +0 -0
  143. codex/static_root/assets/VForm-XhA6T0Lc.70c9c6fcb9e3.js +1 -0
  144. codex/static_root/assets/VForm-XhA6T0Lc.70c9c6fcb9e3.js.br +0 -0
  145. codex/static_root/assets/VForm-XhA6T0Lc.70c9c6fcb9e3.js.gz +0 -0
  146. codex/static_root/assets/VForm-XhA6T0Lc.js +1 -0
  147. codex/static_root/assets/VForm-XhA6T0Lc.js.br +0 -0
  148. codex/static_root/assets/VForm-XhA6T0Lc.js.gz +0 -0
  149. codex/static_root/assets/{VRadioGroup-DoayJpcS.fe5e0e74ffee.js → VRadioGroup-C1WCG0rO.6ebc88e4f144.js} +1 -1
  150. codex/static_root/assets/VRadioGroup-C1WCG0rO.6ebc88e4f144.js.br +3 -0
  151. codex/static_root/assets/VRadioGroup-C1WCG0rO.6ebc88e4f144.js.gz +0 -0
  152. codex/static_root/assets/{VRadioGroup-DoayJpcS.js → VRadioGroup-C1WCG0rO.js} +1 -1
  153. codex/static_root/assets/VRadioGroup-C1WCG0rO.js.br +3 -0
  154. codex/static_root/assets/VRadioGroup-C1WCG0rO.js.gz +0 -0
  155. codex/static_root/assets/VSelect-Bbt1vrBg.ec45ee26818a.js +1 -0
  156. codex/static_root/assets/VSelect-Bbt1vrBg.ec45ee26818a.js.br +0 -0
  157. codex/static_root/assets/VSelect-Bbt1vrBg.ec45ee26818a.js.gz +0 -0
  158. codex/static_root/assets/VSelect-Bbt1vrBg.js +1 -0
  159. codex/static_root/assets/VSelect-Bbt1vrBg.js.br +0 -0
  160. codex/static_root/assets/VSelect-Bbt1vrBg.js.gz +0 -0
  161. codex/static_root/assets/{VSelectionControl-TaKCeZgb.ad6c96efe57c.js → VSelectionControl-BkZZAsWo.ba6eca944e2e.js} +1 -1
  162. codex/static_root/assets/VSelectionControl-BkZZAsWo.ba6eca944e2e.js.br +0 -0
  163. codex/static_root/assets/VSelectionControl-BkZZAsWo.ba6eca944e2e.js.gz +0 -0
  164. codex/static_root/assets/{VSelectionControl-TaKCeZgb.js → VSelectionControl-BkZZAsWo.js} +1 -1
  165. codex/static_root/assets/VSelectionControl-BkZZAsWo.js.br +0 -0
  166. codex/static_root/assets/VSelectionControl-BkZZAsWo.js.gz +0 -0
  167. codex/static_root/assets/{VTable-BfcOiEpa.77ef3973bb54.js → VTable-D7P2eIc2.5e94bf2a515b.js} +1 -1
  168. codex/static_root/assets/VTable-D7P2eIc2.5e94bf2a515b.js.br +0 -0
  169. codex/static_root/assets/VTable-D7P2eIc2.5e94bf2a515b.js.gz +0 -0
  170. codex/static_root/assets/{VTable-BfcOiEpa.js → VTable-D7P2eIc2.js} +1 -1
  171. codex/static_root/assets/VTable-D7P2eIc2.js.br +0 -0
  172. codex/static_root/assets/VTable-D7P2eIc2.js.gz +0 -0
  173. codex/static_root/assets/VWindowItem-Dm2szrjK.e77444188aa3.js +1 -0
  174. codex/static_root/assets/VWindowItem-Dm2szrjK.e77444188aa3.js.br +0 -0
  175. codex/static_root/assets/VWindowItem-Dm2szrjK.e77444188aa3.js.gz +0 -0
  176. codex/static_root/assets/VWindowItem-Dm2szrjK.js +1 -0
  177. codex/static_root/assets/VWindowItem-Dm2szrjK.js.br +0 -0
  178. codex/static_root/assets/VWindowItem-Dm2szrjK.js.gz +0 -0
  179. codex/static_root/assets/{admin-80eqCqtz.d6deb9edb8cb.js → admin-B4z2nA5P.da0c92500311.js} +1 -1
  180. codex/static_root/assets/admin-B4z2nA5P.da0c92500311.js.br +0 -0
  181. codex/static_root/assets/admin-B4z2nA5P.da0c92500311.js.gz +0 -0
  182. codex/static_root/assets/{admin-80eqCqtz.js → admin-B4z2nA5P.js} +1 -1
  183. codex/static_root/assets/admin-B4z2nA5P.js.br +0 -0
  184. codex/static_root/assets/admin-B4z2nA5P.js.gz +0 -0
  185. codex/static_root/assets/admin-BhW3PNO0.e444048e548d.js +1 -0
  186. codex/static_root/assets/admin-BhW3PNO0.e444048e548d.js.br +0 -0
  187. codex/static_root/assets/admin-BhW3PNO0.e444048e548d.js.gz +0 -0
  188. codex/static_root/assets/admin-BhW3PNO0.js +1 -0
  189. codex/static_root/assets/admin-BhW3PNO0.js.br +0 -0
  190. codex/static_root/assets/admin-BhW3PNO0.js.gz +0 -0
  191. codex/static_root/assets/{admin-menu-_aAGknKO.0c08c9bd2e7d.js → admin-menu-CL7S-xqR.92b6d84c4b70.js} +1 -1
  192. codex/static_root/assets/admin-menu-CL7S-xqR.92b6d84c4b70.js.br +0 -0
  193. codex/static_root/assets/admin-menu-CL7S-xqR.92b6d84c4b70.js.gz +0 -0
  194. codex/static_root/assets/{admin-menu-_aAGknKO.js → admin-menu-CL7S-xqR.js} +1 -1
  195. codex/static_root/assets/admin-menu-CL7S-xqR.js.br +0 -0
  196. codex/static_root/assets/admin-menu-CL7S-xqR.js.gz +0 -0
  197. codex/static_root/assets/{admin-settings-button-progress-BqRFyhjf.2bb1194b21e2.js → admin-settings-button-progress-BgBgdELw.52d052e38bc1.js} +1 -1
  198. codex/static_root/assets/admin-settings-button-progress-BgBgdELw.52d052e38bc1.js.br +0 -0
  199. codex/static_root/assets/admin-settings-button-progress-BgBgdELw.52d052e38bc1.js.gz +0 -0
  200. codex/static_root/assets/{admin-settings-button-progress-BqRFyhjf.js → admin-settings-button-progress-BgBgdELw.js} +1 -1
  201. codex/static_root/assets/admin-settings-button-progress-BgBgdELw.js.br +0 -0
  202. codex/static_root/assets/admin-settings-button-progress-BgBgdELw.js.gz +0 -0
  203. codex/static_root/assets/browser-Bi5ov5k8.a4af87c2a667.js +1 -0
  204. codex/static_root/assets/browser-Bi5ov5k8.a4af87c2a667.js.br +0 -0
  205. codex/static_root/assets/browser-Bi5ov5k8.a4af87c2a667.js.gz +0 -0
  206. codex/static_root/assets/browser-Bi5ov5k8.js +1 -0
  207. codex/static_root/assets/browser-Bi5ov5k8.js.br +0 -0
  208. codex/static_root/assets/browser-Bi5ov5k8.js.gz +0 -0
  209. codex/static_root/assets/{browser-chTZ1CM4.521193ab0710.css → browser-DNzQvgkY.aea8b7d7ca40.css} +1 -1
  210. codex/static_root/assets/browser-DNzQvgkY.aea8b7d7ca40.css.br +0 -0
  211. codex/static_root/assets/browser-DNzQvgkY.aea8b7d7ca40.css.gz +0 -0
  212. codex/static_root/assets/{browser-chTZ1CM4.css → browser-DNzQvgkY.css} +1 -1
  213. codex/static_root/assets/browser-DNzQvgkY.css.br +0 -0
  214. codex/static_root/assets/browser-DNzQvgkY.css.gz +0 -0
  215. codex/static_root/assets/{change-password-dialog-1ZVP_Q2w.ae0d9e5bd42b.js → change-password-dialog-BKar2Bhb.3dbc2feb3c5a.js} +1 -1
  216. codex/static_root/assets/change-password-dialog-BKar2Bhb.3dbc2feb3c5a.js.br +0 -0
  217. codex/static_root/assets/change-password-dialog-BKar2Bhb.3dbc2feb3c5a.js.gz +0 -0
  218. codex/static_root/assets/{change-password-dialog-1ZVP_Q2w.js → change-password-dialog-BKar2Bhb.js} +1 -1
  219. codex/static_root/assets/change-password-dialog-BKar2Bhb.js.br +0 -0
  220. codex/static_root/assets/change-password-dialog-BKar2Bhb.js.gz +0 -0
  221. codex/static_root/assets/{confirm-dialog-DqCey9Iq.e315d7f8f752.js → confirm-dialog-BoBL4OoS.abef9614fea9.js} +1 -1
  222. codex/static_root/assets/confirm-dialog-BoBL4OoS.abef9614fea9.js.br +0 -0
  223. codex/static_root/assets/confirm-dialog-BoBL4OoS.abef9614fea9.js.gz +0 -0
  224. codex/static_root/assets/{confirm-dialog-DqCey9Iq.js → confirm-dialog-BoBL4OoS.js} +1 -1
  225. codex/static_root/assets/confirm-dialog-BoBL4OoS.js.br +0 -0
  226. codex/static_root/assets/confirm-dialog-BoBL4OoS.js.gz +0 -0
  227. codex/static_root/assets/{datetime-column-CBA8bYeO.17a31f189d66.js → datetime-column-BsiYRUKO.cadd764c06f4.js} +1 -1
  228. codex/static_root/assets/datetime-column-BsiYRUKO.cadd764c06f4.js.br +0 -0
  229. codex/static_root/assets/datetime-column-BsiYRUKO.cadd764c06f4.js.gz +0 -0
  230. codex/static_root/assets/{datetime-column-CBA8bYeO.js → datetime-column-BsiYRUKO.js} +1 -1
  231. codex/static_root/assets/datetime-column-BsiYRUKO.js.br +0 -0
  232. codex/static_root/assets/datetime-column-BsiYRUKO.js.gz +0 -0
  233. codex/static_root/assets/{filter-mnO3lLPo.659442401b16.js → filter-HnY0knto.07f807227dcc.js} +1 -1
  234. codex/static_root/assets/filter-HnY0knto.07f807227dcc.js.br +0 -0
  235. codex/static_root/assets/filter-HnY0knto.07f807227dcc.js.gz +0 -0
  236. codex/static_root/assets/{filter-mnO3lLPo.js → filter-HnY0knto.js} +1 -1
  237. codex/static_root/assets/filter-HnY0knto.js.br +0 -0
  238. codex/static_root/assets/filter-HnY0knto.js.gz +0 -0
  239. codex/static_root/assets/{flag-tab-Bc677pNb.1b8a2f7c0dc3.js → flag-tab-CcS5pve2.a1df5d92e222.js} +1 -1
  240. codex/static_root/assets/flag-tab-CcS5pve2.a1df5d92e222.js.br +0 -0
  241. codex/static_root/assets/flag-tab-CcS5pve2.a1df5d92e222.js.gz +0 -0
  242. codex/static_root/assets/{flag-tab-Bc677pNb.js → flag-tab-CcS5pve2.js} +1 -1
  243. codex/static_root/assets/flag-tab-CcS5pve2.js.br +0 -0
  244. codex/static_root/assets/flag-tab-CcS5pve2.js.gz +0 -0
  245. codex/static_root/assets/flag-tab-D2MYXCHk.0f57e109c01b.css +1 -0
  246. codex/static_root/assets/flag-tab-D2MYXCHk.0f57e109c01b.css.br +0 -0
  247. codex/static_root/assets/flag-tab-D2MYXCHk.0f57e109c01b.css.gz +0 -0
  248. codex/static_root/assets/flag-tab-D2MYXCHk.css +1 -0
  249. codex/static_root/assets/flag-tab-D2MYXCHk.css.br +0 -0
  250. codex/static_root/assets/flag-tab-D2MYXCHk.css.gz +0 -0
  251. codex/static_root/assets/{forwardRefs-DPRKg5wq.6f09e9d22fa6.js → forwardRefs-i80xmxX3.db393aeef392.js} +1 -1
  252. codex/static_root/assets/forwardRefs-i80xmxX3.db393aeef392.js.br +0 -0
  253. codex/static_root/assets/forwardRefs-i80xmxX3.db393aeef392.js.gz +0 -0
  254. codex/static_root/assets/{forwardRefs-DPRKg5wq.js → forwardRefs-i80xmxX3.js} +1 -1
  255. codex/static_root/assets/forwardRefs-i80xmxX3.js.br +0 -0
  256. codex/static_root/assets/forwardRefs-i80xmxX3.js.gz +0 -0
  257. codex/static_root/assets/group-tab-SY0gxmHW.f72e944c0ff1.js +1 -0
  258. codex/static_root/assets/group-tab-SY0gxmHW.f72e944c0ff1.js.br +0 -0
  259. codex/static_root/assets/group-tab-SY0gxmHW.f72e944c0ff1.js.gz +0 -0
  260. codex/static_root/assets/group-tab-SY0gxmHW.js +1 -0
  261. codex/static_root/assets/group-tab-SY0gxmHW.js.br +0 -0
  262. codex/static_root/assets/group-tab-SY0gxmHW.js.gz +0 -0
  263. codex/static_root/assets/http-error-EE8gtq5A.07e291d9d955.js +1 -0
  264. codex/static_root/assets/http-error-EE8gtq5A.07e291d9d955.js.br +0 -0
  265. codex/static_root/assets/http-error-EE8gtq5A.07e291d9d955.js.gz +0 -0
  266. codex/static_root/assets/http-error-EE8gtq5A.js +1 -0
  267. codex/static_root/assets/http-error-EE8gtq5A.js.br +0 -0
  268. codex/static_root/assets/http-error-EE8gtq5A.js.gz +0 -0
  269. codex/static_root/assets/{index-9nBCksDQ.4561d2608773.js → index-gVdawuuE.a940fadbac00.js} +1 -1
  270. codex/static_root/assets/index-gVdawuuE.a940fadbac00.js.br +0 -0
  271. codex/static_root/assets/index-gVdawuuE.a940fadbac00.js.gz +0 -0
  272. codex/static_root/assets/{index-9nBCksDQ.js → index-gVdawuuE.js} +1 -1
  273. codex/static_root/assets/index-gVdawuuE.js.br +0 -0
  274. codex/static_root/assets/index-gVdawuuE.js.gz +0 -0
  275. codex/static_root/assets/library-tab-BkDIAvyS.4b4c606b77d6.js +1 -0
  276. codex/static_root/assets/library-tab-BkDIAvyS.4b4c606b77d6.js.br +0 -0
  277. codex/static_root/assets/library-tab-BkDIAvyS.4b4c606b77d6.js.gz +0 -0
  278. codex/static_root/assets/library-tab-BkDIAvyS.js +1 -0
  279. codex/static_root/assets/library-tab-BkDIAvyS.js.br +0 -0
  280. codex/static_root/assets/library-tab-BkDIAvyS.js.gz +0 -0
  281. codex/static_root/assets/main-B5uflU6E.77f3fcd6873f.js +35 -0
  282. codex/static_root/assets/main-B5uflU6E.77f3fcd6873f.js.br +0 -0
  283. codex/static_root/assets/main-B5uflU6E.77f3fcd6873f.js.gz +0 -0
  284. codex/static_root/assets/main-B5uflU6E.js +35 -0
  285. codex/static_root/assets/main-B5uflU6E.js.br +0 -0
  286. codex/static_root/assets/main-B5uflU6E.js.gz +0 -0
  287. codex/static_root/assets/pager-full-pdf-wuQbceLs.111d9b9d4133.js +1 -0
  288. codex/static_root/assets/pager-full-pdf-wuQbceLs.111d9b9d4133.js.br +0 -0
  289. codex/static_root/assets/pager-full-pdf-wuQbceLs.111d9b9d4133.js.gz +0 -0
  290. codex/static_root/assets/pager-full-pdf-wuQbceLs.js +1 -0
  291. codex/static_root/assets/pager-full-pdf-wuQbceLs.js.br +0 -0
  292. codex/static_root/assets/pager-full-pdf-wuQbceLs.js.gz +0 -0
  293. codex/static_root/assets/{pagination-toolbar-Dx5JwWG-.ba0e8b645dfa.js → pagination-toolbar-D3JQmDiD.8513a4db85f0.js} +1 -1
  294. codex/static_root/assets/pagination-toolbar-D3JQmDiD.8513a4db85f0.js.br +0 -0
  295. codex/static_root/assets/pagination-toolbar-D3JQmDiD.8513a4db85f0.js.gz +0 -0
  296. codex/static_root/assets/{pagination-toolbar-Dx5JwWG-.js → pagination-toolbar-D3JQmDiD.js} +1 -1
  297. codex/static_root/assets/pagination-toolbar-D3JQmDiD.js.br +0 -0
  298. codex/static_root/assets/pagination-toolbar-D3JQmDiD.js.gz +0 -0
  299. codex/static_root/assets/{pdf-doc-6ZE_HmLT.10d1e16abc78.js → pdf-doc-DRBtl9_2.225a6d89e842.js} +1 -1
  300. codex/static_root/assets/pdf-doc-DRBtl9_2.225a6d89e842.js.br +0 -0
  301. codex/static_root/assets/pdf-doc-DRBtl9_2.225a6d89e842.js.gz +0 -0
  302. codex/static_root/assets/{pdf-doc-6ZE_HmLT.js → pdf-doc-DRBtl9_2.js} +1 -1
  303. codex/static_root/assets/pdf-doc-DRBtl9_2.js.br +0 -0
  304. codex/static_root/assets/pdf-doc-DRBtl9_2.js.gz +0 -0
  305. codex/static_root/assets/reader-DycvjN42.3e2b4f43235e.js +2 -0
  306. codex/static_root/assets/reader-DycvjN42.3e2b4f43235e.js.br +0 -0
  307. codex/static_root/assets/reader-DycvjN42.3e2b4f43235e.js.gz +0 -0
  308. codex/static_root/assets/reader-DycvjN42.js +2 -0
  309. codex/static_root/assets/reader-DycvjN42.js.br +0 -0
  310. codex/static_root/assets/reader-DycvjN42.js.gz +0 -0
  311. codex/static_root/assets/{relation-chips-C96hi5jm.js → relation-chips-CeHIEjvZ.04d302f4fa89.js} +1 -1
  312. codex/static_root/assets/relation-chips-CeHIEjvZ.04d302f4fa89.js.br +0 -0
  313. codex/static_root/assets/relation-chips-CeHIEjvZ.04d302f4fa89.js.gz +0 -0
  314. codex/static_root/assets/{relation-chips-C96hi5jm.9f07c9eb533a.js → relation-chips-CeHIEjvZ.js} +1 -1
  315. codex/static_root/assets/relation-chips-CeHIEjvZ.js.br +0 -0
  316. codex/static_root/assets/relation-chips-CeHIEjvZ.js.gz +0 -0
  317. codex/static_root/assets/settings-drawer-DY8o-jF3.48dfaafaa00e.js +2 -0
  318. codex/static_root/assets/settings-drawer-DY8o-jF3.48dfaafaa00e.js.br +0 -0
  319. codex/static_root/assets/settings-drawer-DY8o-jF3.48dfaafaa00e.js.gz +0 -0
  320. codex/static_root/assets/settings-drawer-DY8o-jF3.js +2 -0
  321. codex/static_root/assets/settings-drawer-DY8o-jF3.js.br +0 -0
  322. codex/static_root/assets/settings-drawer-DY8o-jF3.js.gz +0 -0
  323. codex/static_root/assets/ssrBoot-DRKt_yWP.3b5868abdd61.js +1 -0
  324. codex/static_root/assets/ssrBoot-DRKt_yWP.3b5868abdd61.js.br +0 -0
  325. codex/static_root/assets/ssrBoot-DRKt_yWP.3b5868abdd61.js.gz +0 -0
  326. codex/static_root/assets/ssrBoot-DRKt_yWP.js +1 -0
  327. codex/static_root/assets/ssrBoot-DRKt_yWP.js.br +0 -0
  328. codex/static_root/assets/ssrBoot-DRKt_yWP.js.gz +0 -0
  329. codex/static_root/assets/{stats-tab-CkT2ZGUQ.b704fa46dc88.js → stats-tab-C1XYGBKj.812896e1d09c.js} +1 -1
  330. codex/static_root/assets/stats-tab-C1XYGBKj.812896e1d09c.js.br +0 -0
  331. codex/static_root/assets/stats-tab-C1XYGBKj.812896e1d09c.js.gz +0 -0
  332. codex/static_root/assets/{stats-tab-CkT2ZGUQ.js → stats-tab-C1XYGBKj.js} +1 -1
  333. codex/static_root/assets/stats-tab-C1XYGBKj.js.br +0 -0
  334. codex/static_root/assets/stats-tab-C1XYGBKj.js.gz +0 -0
  335. codex/static_root/assets/task-tab-CW4DQ3KN.81812f9208e5.css +1 -0
  336. codex/static_root/assets/{task-tab-DfdUY9Rc.478e74041f80.css.br → task-tab-CW4DQ3KN.81812f9208e5.css.br} +1 -1
  337. codex/static_root/assets/task-tab-CW4DQ3KN.81812f9208e5.css.gz +0 -0
  338. codex/static_root/assets/task-tab-CW4DQ3KN.css +1 -0
  339. codex/static_root/assets/{task-tab-DfdUY9Rc.css.br → task-tab-CW4DQ3KN.css.br} +1 -1
  340. codex/static_root/assets/task-tab-CW4DQ3KN.css.gz +0 -0
  341. codex/static_root/assets/task-tab-lFRZ0NMd.6b90f40a1a9f.js +1 -0
  342. codex/static_root/assets/task-tab-lFRZ0NMd.6b90f40a1a9f.js.br +0 -0
  343. codex/static_root/assets/task-tab-lFRZ0NMd.6b90f40a1a9f.js.gz +0 -0
  344. codex/static_root/assets/task-tab-lFRZ0NMd.js +1 -0
  345. codex/static_root/assets/task-tab-lFRZ0NMd.js.br +0 -0
  346. codex/static_root/assets/task-tab-lFRZ0NMd.js.gz +0 -0
  347. codex/static_root/assets/unauthorized-Dld9cV8d.4e675fd9991c.js +1 -0
  348. codex/static_root/assets/unauthorized-Dld9cV8d.4e675fd9991c.js.br +0 -0
  349. codex/static_root/assets/unauthorized-Dld9cV8d.4e675fd9991c.js.gz +0 -0
  350. codex/static_root/assets/unauthorized-Dld9cV8d.js +1 -0
  351. codex/static_root/assets/unauthorized-Dld9cV8d.js.br +0 -0
  352. codex/static_root/assets/unauthorized-Dld9cV8d.js.gz +0 -0
  353. codex/static_root/assets/user-tab-CN9nBOMS.f88d8b1c8afe.js +1 -0
  354. codex/static_root/assets/user-tab-CN9nBOMS.f88d8b1c8afe.js.br +0 -0
  355. codex/static_root/assets/user-tab-CN9nBOMS.f88d8b1c8afe.js.gz +0 -0
  356. codex/static_root/assets/user-tab-CN9nBOMS.js +1 -0
  357. codex/static_root/assets/user-tab-CN9nBOMS.js.br +0 -0
  358. codex/static_root/assets/user-tab-CN9nBOMS.js.gz +0 -0
  359. codex/static_root/{manifest.225989a17f49.json → manifest.66d7229aa07a.json} +297 -277
  360. codex/static_root/manifest.66d7229aa07a.json.br +0 -0
  361. codex/static_root/manifest.66d7229aa07a.json.gz +0 -0
  362. codex/static_root/manifest.json +297 -277
  363. codex/static_root/manifest.json.br +0 -0
  364. codex/static_root/manifest.json.gz +0 -0
  365. codex/static_root/staticfiles.json +1 -1
  366. codex/status_controller.py +10 -13
  367. codex/urls/root.py +4 -3
  368. codex/views/admin/api_key.py +1 -4
  369. codex/views/admin/flag.py +2 -2
  370. codex/views/admin/group.py +2 -2
  371. codex/views/admin/library.py +4 -4
  372. codex/views/admin/stats.py +10 -10
  373. codex/views/admin/tasks.py +32 -13
  374. codex/views/admin/user.py +36 -10
  375. codex/views/auth.py +3 -8
  376. codex/views/bookmark.py +3 -3
  377. codex/views/browser/annotate/card.py +2 -2
  378. codex/views/browser/annotate/order.py +6 -7
  379. codex/views/browser/bookmark.py +3 -1
  380. codex/views/browser/breadcrumbs.py +6 -5
  381. codex/views/browser/browser.py +2 -2
  382. codex/views/browser/choices.py +7 -8
  383. codex/views/browser/cover.py +6 -3
  384. codex/views/browser/download.py +2 -1
  385. codex/views/browser/filters/bookmark.py +1 -1
  386. codex/views/browser/filters/field.py +1 -1
  387. codex/views/browser/filters/filter.py +6 -8
  388. codex/views/browser/filters/group.py +8 -8
  389. codex/views/browser/filters/search/field/expression.py +1 -2
  390. codex/views/browser/filters/search/field/optimize.py +1 -1
  391. codex/views/browser/filters/search/field/parse.py +2 -2
  392. codex/views/browser/filters/search/parse.py +4 -19
  393. codex/views/browser/group_mtime.py +1 -1
  394. codex/views/browser/metadata/copy_intersections.py +1 -1
  395. codex/views/browser/metadata/metadata.py +1 -1
  396. codex/views/browser/mtime.py +1 -1
  397. codex/views/browser/order_by.py +3 -5
  398. codex/views/browser/params.py +1 -1
  399. codex/views/browser/settings.py +1 -1
  400. codex/views/browser/validate.py +9 -6
  401. codex/views/const.py +0 -3
  402. codex/views/frontend.py +1 -1
  403. codex/views/mixins.py +3 -2
  404. codex/views/opds/authentication_v1.py +1 -1
  405. codex/views/opds/const.py +4 -4
  406. codex/views/opds/urls.py +1 -1
  407. codex/views/opds/util.py +4 -4
  408. codex/views/opds/v1/entry/entry.py +4 -2
  409. codex/views/opds/v1/entry/links.py +4 -5
  410. codex/views/opds/v1/facets.py +8 -4
  411. codex/views/opds/v1/feed.py +5 -5
  412. codex/views/opds/v1/links.py +11 -6
  413. codex/views/opds/v2/const.py +5 -2
  414. codex/views/opds/v2/feed.py +3 -3
  415. codex/views/opds/v2/links.py +18 -11
  416. codex/views/opds/v2/progression.py +8 -9
  417. codex/views/opds/v2/publications.py +10 -20
  418. codex/views/public.py +2 -2
  419. codex/views/reader/books.py +3 -2
  420. codex/views/reader/page.py +3 -3
  421. codex/views/reader/params.py +2 -2
  422. codex/views/reader/reader.py +6 -6
  423. codex/views/reader/settings.py +1 -1
  424. codex/views/session.py +10 -3
  425. codex/views/settings.py +2 -2
  426. codex/views/timezone.py +2 -2
  427. codex/views/util.py +10 -9
  428. codex/views/version.py +1 -1
  429. {codex-1.7.3a2.dist-info → codex-1.7.5.dist-info}/METADATA +3 -1
  430. {codex-1.7.3a2.dist-info → codex-1.7.5.dist-info}/RECORD +433 -415
  431. {codex-1.7.3a2.dist-info → codex-1.7.5.dist-info}/WHEEL +1 -1
  432. codex/serializers/fields.py +0 -183
  433. codex/static_root/assets/VCheckbox-FaT6MGfu.f6732060f734.js.br +0 -0
  434. codex/static_root/assets/VCheckbox-FaT6MGfu.f6732060f734.js.gz +0 -0
  435. codex/static_root/assets/VCheckbox-FaT6MGfu.js.br +0 -0
  436. codex/static_root/assets/VCheckbox-FaT6MGfu.js.gz +0 -0
  437. codex/static_root/assets/VCheckboxBtn-CZ_P-qUM.847452d574cf.js.br +0 -0
  438. codex/static_root/assets/VCheckboxBtn-CZ_P-qUM.847452d574cf.js.gz +0 -0
  439. codex/static_root/assets/VCheckboxBtn-CZ_P-qUM.js.br +0 -0
  440. codex/static_root/assets/VCheckboxBtn-CZ_P-qUM.js.gz +0 -0
  441. codex/static_root/assets/VCombobox-C8QLNlSl.6f431e19a453.js.br +0 -0
  442. codex/static_root/assets/VCombobox-C8QLNlSl.6f431e19a453.js.gz +0 -0
  443. codex/static_root/assets/VCombobox-C8QLNlSl.js.br +0 -0
  444. codex/static_root/assets/VCombobox-C8QLNlSl.js.gz +0 -0
  445. codex/static_root/assets/VDialog-RVLeW7je.c0c7eef71eec.js.br +0 -0
  446. codex/static_root/assets/VDialog-RVLeW7je.c0c7eef71eec.js.gz +0 -0
  447. codex/static_root/assets/VDialog-RVLeW7je.js.br +0 -0
  448. codex/static_root/assets/VDialog-RVLeW7je.js.gz +0 -0
  449. codex/static_root/assets/VDivider-D1Ot4vR2.9dbee744fb3c.js.br +0 -0
  450. codex/static_root/assets/VDivider-D1Ot4vR2.9dbee744fb3c.js.gz +0 -0
  451. codex/static_root/assets/VDivider-D1Ot4vR2.js.br +0 -0
  452. codex/static_root/assets/VDivider-D1Ot4vR2.js.gz +0 -0
  453. codex/static_root/assets/VExpansionPanels-DQilGHZk.43f06d0a45e0.js.br +0 -0
  454. codex/static_root/assets/VExpansionPanels-DQilGHZk.43f06d0a45e0.js.gz +0 -0
  455. codex/static_root/assets/VExpansionPanels-DQilGHZk.js.br +0 -0
  456. codex/static_root/assets/VExpansionPanels-DQilGHZk.js.gz +0 -0
  457. codex/static_root/assets/VForm-DNmY-qFJ.81f3a5ff7ec3.js +0 -1
  458. codex/static_root/assets/VForm-DNmY-qFJ.81f3a5ff7ec3.js.br +0 -0
  459. codex/static_root/assets/VForm-DNmY-qFJ.81f3a5ff7ec3.js.gz +0 -0
  460. codex/static_root/assets/VForm-DNmY-qFJ.js +0 -1
  461. codex/static_root/assets/VForm-DNmY-qFJ.js.br +0 -0
  462. codex/static_root/assets/VForm-DNmY-qFJ.js.gz +0 -0
  463. codex/static_root/assets/VRadioGroup-DoayJpcS.fe5e0e74ffee.js.br +0 -0
  464. codex/static_root/assets/VRadioGroup-DoayJpcS.fe5e0e74ffee.js.gz +0 -0
  465. codex/static_root/assets/VRadioGroup-DoayJpcS.js.br +0 -0
  466. codex/static_root/assets/VRadioGroup-DoayJpcS.js.gz +0 -0
  467. codex/static_root/assets/VSelect-BSLmHX_P.9ab865ec0fad.js +0 -1
  468. codex/static_root/assets/VSelect-BSLmHX_P.9ab865ec0fad.js.br +0 -0
  469. codex/static_root/assets/VSelect-BSLmHX_P.9ab865ec0fad.js.gz +0 -0
  470. codex/static_root/assets/VSelect-BSLmHX_P.js +0 -1
  471. codex/static_root/assets/VSelect-BSLmHX_P.js.br +0 -0
  472. codex/static_root/assets/VSelect-BSLmHX_P.js.gz +0 -0
  473. codex/static_root/assets/VSelectionControl-TaKCeZgb.ad6c96efe57c.js.br +0 -0
  474. codex/static_root/assets/VSelectionControl-TaKCeZgb.ad6c96efe57c.js.gz +0 -0
  475. codex/static_root/assets/VSelectionControl-TaKCeZgb.js.br +0 -0
  476. codex/static_root/assets/VSelectionControl-TaKCeZgb.js.gz +0 -0
  477. codex/static_root/assets/VTable-BfcOiEpa.77ef3973bb54.js.br +0 -0
  478. codex/static_root/assets/VTable-BfcOiEpa.77ef3973bb54.js.gz +0 -0
  479. codex/static_root/assets/VTable-BfcOiEpa.js.br +0 -0
  480. codex/static_root/assets/VTable-BfcOiEpa.js.gz +0 -0
  481. codex/static_root/assets/VWindowItem-D8lWcbQY.e4c75ad78718.js +0 -1
  482. codex/static_root/assets/VWindowItem-D8lWcbQY.e4c75ad78718.js.br +0 -0
  483. codex/static_root/assets/VWindowItem-D8lWcbQY.e4c75ad78718.js.gz +0 -0
  484. codex/static_root/assets/VWindowItem-D8lWcbQY.js +0 -1
  485. codex/static_root/assets/VWindowItem-D8lWcbQY.js.br +0 -0
  486. codex/static_root/assets/VWindowItem-D8lWcbQY.js.gz +0 -0
  487. codex/static_root/assets/admin-80eqCqtz.d6deb9edb8cb.js.br +0 -0
  488. codex/static_root/assets/admin-80eqCqtz.d6deb9edb8cb.js.gz +0 -0
  489. codex/static_root/assets/admin-80eqCqtz.js.br +0 -0
  490. codex/static_root/assets/admin-80eqCqtz.js.gz +0 -0
  491. codex/static_root/assets/admin-CBLHOrM9.8c3c2268bc96.js +0 -1
  492. codex/static_root/assets/admin-CBLHOrM9.8c3c2268bc96.js.br +0 -0
  493. codex/static_root/assets/admin-CBLHOrM9.8c3c2268bc96.js.gz +0 -0
  494. codex/static_root/assets/admin-CBLHOrM9.js +0 -1
  495. codex/static_root/assets/admin-CBLHOrM9.js.br +0 -0
  496. codex/static_root/assets/admin-CBLHOrM9.js.gz +0 -0
  497. codex/static_root/assets/admin-menu-_aAGknKO.0c08c9bd2e7d.js.br +0 -0
  498. codex/static_root/assets/admin-menu-_aAGknKO.0c08c9bd2e7d.js.gz +0 -0
  499. codex/static_root/assets/admin-menu-_aAGknKO.js.br +0 -0
  500. codex/static_root/assets/admin-menu-_aAGknKO.js.gz +0 -0
  501. codex/static_root/assets/admin-settings-button-progress-BqRFyhjf.2bb1194b21e2.js.br +0 -0
  502. codex/static_root/assets/admin-settings-button-progress-BqRFyhjf.2bb1194b21e2.js.gz +0 -0
  503. codex/static_root/assets/admin-settings-button-progress-BqRFyhjf.js.br +0 -0
  504. codex/static_root/assets/admin-settings-button-progress-BqRFyhjf.js.gz +0 -0
  505. codex/static_root/assets/browser-DAprXYuP.8bb92965dd9d.js +0 -1
  506. codex/static_root/assets/browser-DAprXYuP.8bb92965dd9d.js.br +0 -0
  507. codex/static_root/assets/browser-DAprXYuP.8bb92965dd9d.js.gz +0 -0
  508. codex/static_root/assets/browser-DAprXYuP.js +0 -1
  509. codex/static_root/assets/browser-DAprXYuP.js.br +0 -0
  510. codex/static_root/assets/browser-DAprXYuP.js.gz +0 -0
  511. codex/static_root/assets/browser-chTZ1CM4.521193ab0710.css.br +0 -0
  512. codex/static_root/assets/browser-chTZ1CM4.521193ab0710.css.gz +0 -0
  513. codex/static_root/assets/browser-chTZ1CM4.css.br +0 -0
  514. codex/static_root/assets/browser-chTZ1CM4.css.gz +0 -0
  515. codex/static_root/assets/change-password-dialog-1ZVP_Q2w.ae0d9e5bd42b.js.br +0 -0
  516. codex/static_root/assets/change-password-dialog-1ZVP_Q2w.ae0d9e5bd42b.js.gz +0 -0
  517. codex/static_root/assets/change-password-dialog-1ZVP_Q2w.js.br +0 -0
  518. codex/static_root/assets/change-password-dialog-1ZVP_Q2w.js.gz +0 -0
  519. codex/static_root/assets/confirm-dialog-DqCey9Iq.e315d7f8f752.js.br +0 -0
  520. codex/static_root/assets/confirm-dialog-DqCey9Iq.e315d7f8f752.js.gz +0 -0
  521. codex/static_root/assets/confirm-dialog-DqCey9Iq.js.br +0 -0
  522. codex/static_root/assets/confirm-dialog-DqCey9Iq.js.gz +0 -0
  523. codex/static_root/assets/datetime-column-CBA8bYeO.17a31f189d66.js.br +0 -0
  524. codex/static_root/assets/datetime-column-CBA8bYeO.17a31f189d66.js.gz +0 -0
  525. codex/static_root/assets/datetime-column-CBA8bYeO.js.br +0 -0
  526. codex/static_root/assets/datetime-column-CBA8bYeO.js.gz +0 -0
  527. codex/static_root/assets/filter-mnO3lLPo.659442401b16.js.br +0 -0
  528. codex/static_root/assets/filter-mnO3lLPo.659442401b16.js.gz +0 -0
  529. codex/static_root/assets/filter-mnO3lLPo.js.br +0 -0
  530. codex/static_root/assets/filter-mnO3lLPo.js.gz +0 -0
  531. codex/static_root/assets/flag-tab-Bc677pNb.1b8a2f7c0dc3.js.br +0 -0
  532. codex/static_root/assets/flag-tab-Bc677pNb.1b8a2f7c0dc3.js.gz +0 -0
  533. codex/static_root/assets/flag-tab-Bc677pNb.js.br +0 -0
  534. codex/static_root/assets/flag-tab-Bc677pNb.js.gz +0 -0
  535. codex/static_root/assets/flag-tab-glFvEgEl.be8eed14384e.css +0 -1
  536. codex/static_root/assets/flag-tab-glFvEgEl.be8eed14384e.css.br +0 -0
  537. codex/static_root/assets/flag-tab-glFvEgEl.be8eed14384e.css.gz +0 -0
  538. codex/static_root/assets/flag-tab-glFvEgEl.css +0 -1
  539. codex/static_root/assets/flag-tab-glFvEgEl.css.br +0 -0
  540. codex/static_root/assets/flag-tab-glFvEgEl.css.gz +0 -0
  541. codex/static_root/assets/forwardRefs-DPRKg5wq.6f09e9d22fa6.js.br +0 -0
  542. codex/static_root/assets/forwardRefs-DPRKg5wq.6f09e9d22fa6.js.gz +0 -0
  543. codex/static_root/assets/forwardRefs-DPRKg5wq.js.br +0 -0
  544. codex/static_root/assets/forwardRefs-DPRKg5wq.js.gz +0 -0
  545. codex/static_root/assets/group-tab-BVlBrMwo.1127b51be6e7.js +0 -1
  546. codex/static_root/assets/group-tab-BVlBrMwo.1127b51be6e7.js.br +0 -0
  547. codex/static_root/assets/group-tab-BVlBrMwo.1127b51be6e7.js.gz +0 -0
  548. codex/static_root/assets/group-tab-BVlBrMwo.js +0 -1
  549. codex/static_root/assets/group-tab-BVlBrMwo.js.br +0 -0
  550. codex/static_root/assets/group-tab-BVlBrMwo.js.gz +0 -0
  551. codex/static_root/assets/http-error-C9-_aEBF.d29b164e80de.js +0 -1
  552. codex/static_root/assets/http-error-C9-_aEBF.d29b164e80de.js.br +0 -0
  553. codex/static_root/assets/http-error-C9-_aEBF.d29b164e80de.js.gz +0 -0
  554. codex/static_root/assets/http-error-C9-_aEBF.js +0 -1
  555. codex/static_root/assets/http-error-C9-_aEBF.js.br +0 -0
  556. codex/static_root/assets/http-error-C9-_aEBF.js.gz +0 -0
  557. codex/static_root/assets/index-9nBCksDQ.4561d2608773.js.br +0 -0
  558. codex/static_root/assets/index-9nBCksDQ.4561d2608773.js.gz +0 -0
  559. codex/static_root/assets/index-9nBCksDQ.js.br +0 -0
  560. codex/static_root/assets/index-9nBCksDQ.js.gz +0 -0
  561. codex/static_root/assets/library-tab-BMe3dKzy.22b6e123ecfb.js +0 -1
  562. codex/static_root/assets/library-tab-BMe3dKzy.22b6e123ecfb.js.br +0 -0
  563. codex/static_root/assets/library-tab-BMe3dKzy.22b6e123ecfb.js.gz +0 -0
  564. codex/static_root/assets/library-tab-BMe3dKzy.js +0 -1
  565. codex/static_root/assets/library-tab-BMe3dKzy.js.br +0 -0
  566. codex/static_root/assets/library-tab-BMe3dKzy.js.gz +0 -0
  567. codex/static_root/assets/main-BbNUiWEb.565b616eb122.js +0 -35
  568. codex/static_root/assets/main-BbNUiWEb.565b616eb122.js.br +0 -0
  569. codex/static_root/assets/main-BbNUiWEb.565b616eb122.js.gz +0 -0
  570. codex/static_root/assets/main-BbNUiWEb.js +0 -35
  571. codex/static_root/assets/main-BbNUiWEb.js.br +0 -0
  572. codex/static_root/assets/main-BbNUiWEb.js.gz +0 -0
  573. codex/static_root/assets/pager-full-pdf-JwAUlsNI.6d4ec47c14f7.js +0 -1
  574. codex/static_root/assets/pager-full-pdf-JwAUlsNI.6d4ec47c14f7.js.br +0 -0
  575. codex/static_root/assets/pager-full-pdf-JwAUlsNI.6d4ec47c14f7.js.gz +0 -0
  576. codex/static_root/assets/pager-full-pdf-JwAUlsNI.js +0 -1
  577. codex/static_root/assets/pager-full-pdf-JwAUlsNI.js.br +0 -0
  578. codex/static_root/assets/pager-full-pdf-JwAUlsNI.js.gz +0 -0
  579. codex/static_root/assets/pagination-toolbar-Dx5JwWG-.ba0e8b645dfa.js.br +0 -0
  580. codex/static_root/assets/pagination-toolbar-Dx5JwWG-.ba0e8b645dfa.js.gz +0 -0
  581. codex/static_root/assets/pagination-toolbar-Dx5JwWG-.js.br +0 -0
  582. codex/static_root/assets/pagination-toolbar-Dx5JwWG-.js.gz +0 -0
  583. codex/static_root/assets/pdf-doc-6ZE_HmLT.10d1e16abc78.js.br +0 -0
  584. codex/static_root/assets/pdf-doc-6ZE_HmLT.10d1e16abc78.js.gz +0 -0
  585. codex/static_root/assets/pdf-doc-6ZE_HmLT.js.br +0 -0
  586. codex/static_root/assets/pdf-doc-6ZE_HmLT.js.gz +0 -0
  587. codex/static_root/assets/reader-DdPKDuh5.0c55cef1e98b.js +0 -2
  588. codex/static_root/assets/reader-DdPKDuh5.0c55cef1e98b.js.br +0 -0
  589. codex/static_root/assets/reader-DdPKDuh5.0c55cef1e98b.js.gz +0 -0
  590. codex/static_root/assets/reader-DdPKDuh5.js +0 -2
  591. codex/static_root/assets/reader-DdPKDuh5.js.br +0 -0
  592. codex/static_root/assets/reader-DdPKDuh5.js.gz +0 -0
  593. codex/static_root/assets/relation-chips-C96hi5jm.9f07c9eb533a.js.br +0 -0
  594. codex/static_root/assets/relation-chips-C96hi5jm.9f07c9eb533a.js.gz +0 -0
  595. codex/static_root/assets/relation-chips-C96hi5jm.js.br +0 -0
  596. codex/static_root/assets/relation-chips-C96hi5jm.js.gz +0 -0
  597. codex/static_root/assets/settings-drawer-CqbT1rid.5639fa00b301.js +0 -2
  598. codex/static_root/assets/settings-drawer-CqbT1rid.5639fa00b301.js.br +0 -0
  599. codex/static_root/assets/settings-drawer-CqbT1rid.5639fa00b301.js.gz +0 -0
  600. codex/static_root/assets/settings-drawer-CqbT1rid.js +0 -2
  601. codex/static_root/assets/settings-drawer-CqbT1rid.js.br +0 -0
  602. codex/static_root/assets/settings-drawer-CqbT1rid.js.gz +0 -0
  603. codex/static_root/assets/stats-tab-CkT2ZGUQ.b704fa46dc88.js.br +0 -0
  604. codex/static_root/assets/stats-tab-CkT2ZGUQ.b704fa46dc88.js.gz +0 -0
  605. codex/static_root/assets/stats-tab-CkT2ZGUQ.js.br +0 -0
  606. codex/static_root/assets/stats-tab-CkT2ZGUQ.js.gz +0 -0
  607. codex/static_root/assets/task-tab-DfdUY9Rc.478e74041f80.css +0 -1
  608. codex/static_root/assets/task-tab-DfdUY9Rc.478e74041f80.css.gz +0 -0
  609. codex/static_root/assets/task-tab-DfdUY9Rc.css +0 -1
  610. codex/static_root/assets/task-tab-DfdUY9Rc.css.gz +0 -0
  611. codex/static_root/assets/task-tab-a-DcU3Tj.8c2f7bf3c4c9.js +0 -1
  612. codex/static_root/assets/task-tab-a-DcU3Tj.8c2f7bf3c4c9.js.br +0 -0
  613. codex/static_root/assets/task-tab-a-DcU3Tj.8c2f7bf3c4c9.js.gz +0 -0
  614. codex/static_root/assets/task-tab-a-DcU3Tj.js +0 -1
  615. codex/static_root/assets/task-tab-a-DcU3Tj.js.br +0 -0
  616. codex/static_root/assets/task-tab-a-DcU3Tj.js.gz +0 -0
  617. codex/static_root/assets/unauthorized-BOl5YpL3.f3c4b52718d5.js +0 -1
  618. codex/static_root/assets/unauthorized-BOl5YpL3.f3c4b52718d5.js.br +0 -0
  619. codex/static_root/assets/unauthorized-BOl5YpL3.f3c4b52718d5.js.gz +0 -0
  620. codex/static_root/assets/unauthorized-BOl5YpL3.js +0 -1
  621. codex/static_root/assets/unauthorized-BOl5YpL3.js.br +0 -0
  622. codex/static_root/assets/unauthorized-BOl5YpL3.js.gz +0 -0
  623. codex/static_root/assets/user-tab-BBDZvD8G.aa4263a68b22.js +0 -1
  624. codex/static_root/assets/user-tab-BBDZvD8G.aa4263a68b22.js.br +0 -0
  625. codex/static_root/assets/user-tab-BBDZvD8G.aa4263a68b22.js.gz +0 -0
  626. codex/static_root/assets/user-tab-BBDZvD8G.js +0 -1
  627. codex/static_root/assets/user-tab-BBDZvD8G.js.br +0 -0
  628. codex/static_root/assets/user-tab-BBDZvD8G.js.gz +0 -0
  629. codex/static_root/manifest.225989a17f49.json.br +0 -0
  630. codex/static_root/manifest.225989a17f49.json.gz +0 -0
  631. {codex-1.7.3a2.dist-info → codex-1.7.5.dist-info}/LICENSE +0 -0
  632. {codex-1.7.3a2.dist-info → codex-1.7.5.dist-info}/entry_points.txt +0 -0
@@ -1 +1 @@
1
- import{g as O,c9 as ce,bs as ve,ca as fe,p as w,cb as He,b as Z,c as r,aT as te,r as U,aU as Y,aV as ye,ap as We,t as $,i as ge,J as G,u as p,a as o,S as ie,aM as me,bW as q,aP as se,aS as qe,cc as be,K,aQ as he,aR as Ve,bu as ne,e as Ke,F as ee,m as Q,bL as Je,bJ as Xe,bI as J,bP as Ye,b_ as Qe,cd as Ze,bn as et,bm as tt,bi as re,aW as le,ce as nt,bv as Ce,aj as Se,cf as at,cg as lt,bT as it,bp as st,d as ot,c6 as ut}from"./main-BbNUiWEb.js";import{p as xe,M as ke,k as Ie,H as rt,i as dt,D as ct,j as vt,e as _e,u as oe,O as ft,a as yt,L as gt,l as mt,s as bt,b as Pe,o as ht,d as Be,q as Vt,I as Ct,f as St,R as xt}from"./forwardRefs-DPRKg5wq.js";const kt=w({disabled:Boolean,group:Boolean,hideOnLeave:Boolean,leaveAbsolute:Boolean,mode:String,origin:String},"transition");function M(e,u,s){return O()({name:e,props:kt({mode:s,origin:u}),setup(t,a){let{slots:l}=a;const n={onBeforeEnter(i){t.origin&&(i.style.transformOrigin=t.origin)},onLeave(i){if(t.leaveAbsolute){const{offsetTop:g,offsetLeft:S,offsetWidth:f,offsetHeight:c}=i;i._transitionInitialStyles={position:i.style.position,top:i.style.top,left:i.style.left,width:i.style.width,height:i.style.height},i.style.position="absolute",i.style.top=`${g}px`,i.style.left=`${S}px`,i.style.width=`${f}px`,i.style.height=`${c}px`}t.hideOnLeave&&i.style.setProperty("display","none","important")},onAfterLeave(i){if(t.leaveAbsolute&&(i!=null&&i._transitionInitialStyles)){const{position:g,top:S,left:f,width:c,height:y}=i._transitionInitialStyles;delete i._transitionInitialStyles,i.style.position=g||"",i.style.top=S||"",i.style.left=f||"",i.style.width=c||"",i.style.height=y||""}}};return()=>{const i=t.group?ce:ve;return fe(i,{name:t.disabled?"":e,css:!t.disabled,...t.group?void 0:{mode:t.mode},...t.disabled?{}:n},l.default)}}})}function we(e,u){let s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"in-out";return O()({name:e,props:{mode:{type:String,default:s},disabled:Boolean,group:Boolean},setup(t,a){let{slots:l}=a;const n=t.group?ce:ve;return()=>fe(n,{name:t.disabled?"":e,css:!t.disabled,...t.disabled?{}:u},l.default)}})}function Fe(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";const s=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1)?"width":"height",t=He(`offset-${s}`);return{onBeforeEnter(n){n._parent=n.parentNode,n._initialStyle={transition:n.style.transition,overflow:n.style.overflow,[s]:n.style[s]}},onEnter(n){const i=n._initialStyle;n.style.setProperty("transition","none","important"),n.style.overflow="hidden";const g=`${n[t]}px`;n.style[s]="0",n.offsetHeight,n.style.transition=i.transition,e&&n._parent&&n._parent.classList.add(e),requestAnimationFrame(()=>{n.style[s]=g})},onAfterEnter:l,onEnterCancelled:l,onLeave(n){n._initialStyle={transition:"",overflow:n.style.overflow,[s]:n.style[s]},n.style.overflow="hidden",n.style[s]=`${n[t]}px`,n.offsetHeight,requestAnimationFrame(()=>n.style[s]="0")},onAfterLeave:a,onLeaveCancelled:a};function a(n){e&&n._parent&&n._parent.classList.remove(e),l(n)}function l(n){const i=n._initialStyle[s];n.style.overflow=n._initialStyle.overflow,i!=null&&(n.style[s]=i),delete n._initialStyle}}M("fab-transition","center center","out-in");M("dialog-bottom-transition");M("dialog-top-transition");const Gt=M("fade-transition"),jt=M("scale-transition");M("scroll-x-transition");M("scroll-x-reverse-transition");M("scroll-y-transition");M("scroll-y-reverse-transition");const Ht=M("slide-x-transition"),Wt=M("slide-x-reverse-transition"),Ae=M("slide-y-transition"),qt=M("slide-y-reverse-transition"),Kt=we("expand-transition",Fe()),It=we("expand-x-transition",Fe("",!0)),$e=Symbol.for("vuetify:form"),Jt=w({disabled:Boolean,fastFail:Boolean,readonly:Boolean,modelValue:{type:Boolean,default:null},validateOn:{type:String,default:"input"}},"form");function Xt(e){const u=Z(e,"modelValue"),s=r(()=>e.disabled),t=r(()=>e.readonly),a=te(!1),l=U([]),n=U([]);async function i(){const f=[];let c=!0;n.value=[],a.value=!0;for(const y of l.value){const v=await y.validate();if(v.length>0&&(c=!1,f.push({id:y.id,errorMessages:v})),!c&&e.fastFail)break}return n.value=f,a.value=!1,{valid:c,errors:n.value}}function g(){l.value.forEach(f=>f.reset())}function S(){l.value.forEach(f=>f.resetValidation())}return Y(l,()=>{let f=0,c=0;const y=[];for(const v of l.value)v.isValid===!1?(c++,y.push({id:v.id,errorMessages:v.errorMessages})):v.isValid===!0&&f++;n.value=y,u.value=c>0?!1:f===l.value.length?!0:null},{deep:!0,flush:"post"}),ye($e,{register:f=>{let{id:c,vm:y,validate:v,reset:b,resetValidation:C}=f;l.value.some(P=>P.id===c),l.value.push({id:c,validate:v,reset:b,resetValidation:C,vm:We(y),isValid:null,errorMessages:[]})},unregister:f=>{l.value=l.value.filter(c=>c.id!==f)},update:(f,c,y)=>{const v=l.value.find(b=>b.id===f);v&&(v.isValid=c,v.errorMessages=y)},isDisabled:s,isReadonly:t,isValidating:a,isValid:u,items:l,validateOn:$(e,"validateOn")}),{errors:n,isDisabled:s,isReadonly:t,isValidating:a,isValid:u,items:l,validate:i,reset:g,resetValidation:S}}function _t(){return ge($e,null)}const Pt=w({active:Boolean,disabled:Boolean,max:[Number,String],value:{type:[Number,String],default:0},...G(),...xe({transition:{component:Ae}})},"VCounter"),Bt=O()({name:"VCounter",functional:!0,props:Pt(),setup(e,u){let{slots:s}=u;const t=r(()=>e.max?`${e.value} / ${e.max}`:String(e.value));return p(()=>o(ke,{transition:e.transition},{default:()=>[ie(o("div",{class:["v-counter",{"text-error":e.max&&!e.disabled&&parseFloat(e.value)>parseFloat(e.max)},e.class],style:e.style},[s.default?s.default({counter:t.value,max:e.max,value:e.value}):t.value]),[[me,e.active]])]})),{}}}),wt=w({text:String,onClick:q(),...G(),...se()},"VLabel"),Me=O()({name:"VLabel",props:wt(),setup(e,u){let{slots:s}=u;return p(()=>{var t;return o("label",{class:["v-label",{"v-label--clickable":!!e.onClick},e.class],style:e.style,onClick:e.onClick},[e.text,(t=s.default)==null?void 0:t.call(s)])}),{}}}),Ft=w({floating:Boolean,...G()},"VFieldLabel"),ae=O()({name:"VFieldLabel",props:Ft(),setup(e,u){let{slots:s}=u;return p(()=>o(Me,{class:["v-field-label",{"v-field-label--floating":e.floating},e.class],style:e.style,"aria-hidden":e.floating||void 0},s)),{}}});function Te(e){const{t:u}=qe();function s(t){let{name:a}=t;const l={prepend:"prependAction",prependInner:"prependAction",append:"appendAction",appendInner:"appendAction",clear:"clear"}[a],n=e[`onClick:${a}`],i=n&&l?u(`$vuetify.input.${l}`,e.label??""):void 0;return o(Ie,{icon:e[`${a}Icon`],"aria-label":i,onClick:n},null)}return{InputIcon:s}}const Le=w({focused:Boolean,"onUpdate:focused":q()},"focus");function De(e){let u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:be();const s=Z(e,"focused"),t=r(()=>({[`${u}--focused`]:s.value}));function a(){s.value=!0}function l(){s.value=!1}return{focusClasses:t,isFocused:s,focus:a,blur:l}}const At=["underlined","outlined","filled","solo","solo-inverted","solo-filled","plain"],Ee=w({appendInnerIcon:K,bgColor:String,clearable:Boolean,clearIcon:{type:K,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:K,reverse:Boolean,singleLine:Boolean,variant:{type:String,default:"filled",validator:e=>At.includes(e)},"onClick:clear":q(),"onClick:appendInner":q(),"onClick:prependInner":q(),...G(),...rt(),...dt(),...se()},"VField"),Re=O()({name:"VField",inheritAttrs:!1,props:{id:String,...Le(),...Ee()},emits:{"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,u){let{attrs:s,emit:t,slots:a}=u;const{themeClasses:l}=he(e),{loaderClasses:n}=ct(e),{focusClasses:i,isFocused:g,focus:S,blur:f}=De(e),{InputIcon:c}=Te(e),{roundedClasses:y}=vt(e),{rtlClasses:v}=Ve(),b=r(()=>e.dirty||e.active),C=r(()=>!e.singleLine&&!!(e.label||a.label)),P=ne(),V=r(()=>e.id||`input-${P}`),T=r(()=>`${V.value}-messages`),F=U(),k=U(),m=U(),d=r(()=>["plain","underlined"].includes(e.variant)),{backgroundColorClasses:h,backgroundColorStyles:I}=_e($(e,"bgColor")),{textColorClasses:x,textColorStyles:R}=oe(r(()=>e.error||e.disabled?void 0:b.value&&g.value?e.color:e.baseColor));Y(b,_=>{if(C.value){const B=F.value.$el,A=k.value.$el;requestAnimationFrame(()=>{const D=ft(B),E=A.getBoundingClientRect(),X=E.x-D.x,j=E.y-D.y-(D.height/2-E.height/2),H=E.width/.75,W=Math.abs(H-D.width)>1?{maxWidth:Ke(H)}:void 0,Ne=getComputedStyle(B),ue=getComputedStyle(A),pe=parseFloat(Ne.transitionDuration)*1e3||150,Ge=parseFloat(ue.getPropertyValue("--v-field-label-scale")),je=ue.getPropertyValue("color");B.style.visibility="visible",A.style.visibility="hidden",yt(B,{transform:`translate(${X}px, ${j}px) scale(${Ge})`,color:je,...W},{duration:pe,easing:bt,direction:_?"normal":"reverse"}).finished.then(()=>{B.style.removeProperty("visibility"),A.style.removeProperty("visibility")})})}},{flush:"post"});const L=r(()=>({isActive:b,isFocused:g,controlRef:m,blur:f,focus:S}));function N(_){_.target!==document.activeElement&&_.preventDefault()}function z(_){var B;_.key!=="Enter"&&_.key!==" "||(_.preventDefault(),_.stopPropagation(),(B=e["onClick:clear"])==null||B.call(e,new MouseEvent("click")))}return p(()=>{var X,j,H;const _=e.variant==="outlined",B=!!(a["prepend-inner"]||e.prependInnerIcon),A=!!(e.clearable||a.clear),D=!!(a["append-inner"]||e.appendInnerIcon||A),E=()=>a.label?a.label({...L.value,label:e.label,props:{for:V.value}}):e.label;return o("div",Q({class:["v-field",{"v-field--active":b.value,"v-field--appended":D,"v-field--center-affix":e.centerAffix??!d.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":B,"v-field--reverse":e.reverse,"v-field--single-line":e.singleLine,"v-field--no-label":!E(),[`v-field--variant-${e.variant}`]:!0},l.value,h.value,i.value,n.value,y.value,v.value,e.class],style:[I.value,e.style],onClick:N},s),[o("div",{class:"v-field__overlay"},null),o(gt,{name:"v-field",active:!!e.loading,color:e.error?"error":typeof e.loading=="string"?e.loading:e.color},{default:a.loader}),B&&o("div",{key:"prepend",class:"v-field__prepend-inner"},[e.prependInnerIcon&&o(c,{key:"prepend-icon",name:"prependInner"},null),(X=a["prepend-inner"])==null?void 0:X.call(a,L.value)]),o("div",{class:"v-field__field","data-no-activator":""},[["filled","solo","solo-inverted","solo-filled"].includes(e.variant)&&C.value&&o(ae,{key:"floating-label",ref:k,class:[x.value],floating:!0,for:V.value,style:R.value},{default:()=>[E()]}),o(ae,{ref:F,for:V.value},{default:()=>[E()]}),(j=a.default)==null?void 0:j.call(a,{...L.value,props:{id:V.value,class:"v-field__input","aria-describedby":T.value},focus:S,blur:f})]),A&&o(It,{key:"clear"},{default:()=>[ie(o("div",{class:"v-field__clearable",onMousedown:W=>{W.preventDefault(),W.stopPropagation()}},[o(mt,{defaults:{VIcon:{icon:e.clearIcon}}},{default:()=>[a.clear?a.clear({...L.value,props:{onKeydown:z,onFocus:S,onBlur:f,onClick:e["onClick:clear"]}}):o(c,{name:"clear",onKeydown:z,onFocus:S,onBlur:f},null)]})]),[[me,e.dirty]])]}),D&&o("div",{key:"append",class:"v-field__append-inner"},[(H=a["append-inner"])==null?void 0:H.call(a,L.value),e.appendInnerIcon&&o(c,{key:"append-icon",name:"appendInner"},null)]),o("div",{class:["v-field__outline",x.value],style:R.value},[_&&o(ee,null,[o("div",{class:"v-field__outline__start"},null),C.value&&o("div",{class:"v-field__outline__notch"},[o(ae,{ref:k,floating:!0,for:V.value},{default:()=>[E()]})]),o("div",{class:"v-field__outline__end"},null)]),d.value&&C.value&&o(ae,{ref:k,floating:!0,for:V.value},{default:()=>[E()]})])])}),{controlRef:m}}});function $t(e){const u=Object.keys(Re.props).filter(s=>!Je(s)&&s!=="class"&&s!=="style");return Xe(e,u)}const Mt=w({active:Boolean,color:String,messages:{type:[Array,String],default:()=>[]},...G(),...xe({transition:{component:Ae,leaveAbsolute:!0,group:!0}})},"VMessages"),Tt=O()({name:"VMessages",props:Mt(),setup(e,u){let{slots:s}=u;const t=r(()=>J(e.messages)),{textColorClasses:a,textColorStyles:l}=oe(r(()=>e.color));return p(()=>o(ke,{transition:e.transition,tag:"div",class:["v-messages",a.value,e.class],style:[l.value,e.style],role:"alert","aria-live":"polite"},{default:()=>[e.active&&t.value.map((n,i)=>o("div",{class:"v-messages__message",key:`${i}-${t.value}`},[s.message?s.message({message:n}):n]))]})),{}}}),Lt=w({disabled:{type:Boolean,default:null},error:Boolean,errorMessages:{type:[Array,String],default:()=>[]},maxErrors:{type:[Number,String],default:1},name:String,label:String,readonly:{type:Boolean,default:null},rules:{type:Array,default:()=>[]},modelValue:null,validateOn:String,validationValue:null,...Le()},"validation");function Dt(e){let u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:be(),s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ne();const t=Z(e,"modelValue"),a=r(()=>e.validationValue===void 0?t.value:e.validationValue),l=_t(),n=U([]),i=te(!0),g=r(()=>!!(J(t.value===""?null:t.value).length||J(a.value===""?null:a.value).length)),S=r(()=>!!(e.disabled??(l==null?void 0:l.isDisabled.value))),f=r(()=>!!(e.readonly??(l==null?void 0:l.isReadonly.value))),c=r(()=>{var m;return(m=e.errorMessages)!=null&&m.length?J(e.errorMessages).concat(n.value).slice(0,Math.max(0,+e.maxErrors)):n.value}),y=r(()=>{let m=(e.validateOn??(l==null?void 0:l.validateOn.value))||"input";m==="lazy"&&(m="input lazy"),m==="eager"&&(m="input eager");const d=new Set((m==null?void 0:m.split(" "))??[]);return{input:d.has("input"),blur:d.has("blur")||d.has("input")||d.has("invalid-input"),invalidInput:d.has("invalid-input"),lazy:d.has("lazy"),eager:d.has("eager")}}),v=r(()=>{var m;return e.error||(m=e.errorMessages)!=null&&m.length?!1:e.rules.length?i.value?n.value.length||y.value.lazy?null:!0:!n.value.length:!0}),b=te(!1),C=r(()=>({[`${u}--error`]:v.value===!1,[`${u}--dirty`]:g.value,[`${u}--disabled`]:S.value,[`${u}--readonly`]:f.value})),P=Ye("validation"),V=r(()=>e.name??Qe(s));Ze(()=>{l==null||l.register({id:V.value,vm:P,validate:k,reset:T,resetValidation:F})}),et(()=>{l==null||l.unregister(V.value)}),tt(async()=>{y.value.lazy||await k(!y.value.eager),l==null||l.update(V.value,v.value,c.value)}),re(()=>y.value.input||y.value.invalidInput&&v.value===!1,()=>{Y(a,()=>{if(a.value!=null)k();else if(e.focused){const m=Y(()=>e.focused,d=>{d||k(),m()})}})}),re(()=>y.value.blur,()=>{Y(()=>e.focused,m=>{m||k()})}),Y([v,c],()=>{l==null||l.update(V.value,v.value,c.value)});async function T(){t.value=null,await le(),await F()}async function F(){i.value=!0,y.value.lazy?n.value=[]:await k(!y.value.eager)}async function k(){let m=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;const d=[];b.value=!0;for(const h of e.rules){if(d.length>=+(e.maxErrors??1))break;const x=await(typeof h=="function"?h:()=>h)(a.value);if(x!==!0){if(x!==!1&&typeof x!="string"){console.warn(`${x} is not a valid value. Rule functions must return boolean true or a string.`);continue}d.push(x||"")}}return n.value=d,b.value=!1,i.value=m,n.value}return{errorMessages:c,isDirty:g,isDisabled:S,isReadonly:f,isPristine:i,isValid:v,isValidating:b,reset:T,resetValidation:F,validate:k,validationClasses:C}}const Oe=w({id:String,appendIcon:K,centerAffix:{type:Boolean,default:!0},prependIcon:K,hideDetails:[Boolean,String],hideSpinButtons:Boolean,hint:String,persistentHint:Boolean,messages:{type:[Array,String],default:()=>[]},direction:{type:String,default:"horizontal",validator:e=>["horizontal","vertical"].includes(e)},"onClick:prepend":q(),"onClick:append":q(),...G(),...Pe(),...nt(ht(),["maxWidth","minWidth","width"]),...se(),...Lt()},"VInput"),de=O()({name:"VInput",props:{...Oe()},emits:{"update:modelValue":e=>!0},setup(e,u){let{attrs:s,slots:t,emit:a}=u;const{densityClasses:l}=Be(e),{dimensionStyles:n}=Vt(e),{themeClasses:i}=he(e),{rtlClasses:g}=Ve(),{InputIcon:S}=Te(e),f=ne(),c=r(()=>e.id||`input-${f}`),y=r(()=>`${c.value}-messages`),{errorMessages:v,isDirty:b,isDisabled:C,isReadonly:P,isPristine:V,isValid:T,isValidating:F,reset:k,resetValidation:m,validate:d,validationClasses:h}=Dt(e,"v-input",c),I=r(()=>({id:c,messagesId:y,isDirty:b,isDisabled:C,isReadonly:P,isPristine:V,isValid:T,isValidating:F,reset:k,resetValidation:m,validate:d})),x=r(()=>{var R;return(R=e.errorMessages)!=null&&R.length||!V.value&&v.value.length?v.value:e.hint&&(e.persistentHint||e.focused)?e.hint:e.messages});return p(()=>{var _,B,A,D;const R=!!(t.prepend||e.prependIcon),L=!!(t.append||e.appendIcon),N=x.value.length>0,z=!e.hideDetails||e.hideDetails==="auto"&&(N||!!t.details);return o("div",{class:["v-input",`v-input--${e.direction}`,{"v-input--center-affix":e.centerAffix,"v-input--hide-spin-buttons":e.hideSpinButtons},l.value,i.value,g.value,h.value,e.class],style:[n.value,e.style]},[R&&o("div",{key:"prepend",class:"v-input__prepend"},[(_=t.prepend)==null?void 0:_.call(t,I.value),e.prependIcon&&o(S,{key:"prepend-icon",name:"prepend"},null)]),t.default&&o("div",{class:"v-input__control"},[(B=t.default)==null?void 0:B.call(t,I.value)]),L&&o("div",{key:"append",class:"v-input__append"},[e.appendIcon&&o(S,{key:"append-icon",name:"append"},null),(A=t.append)==null?void 0:A.call(t,I.value)]),z&&o("div",{class:"v-input__details"},[o(Tt,{id:y.value,active:N,messages:x.value},{message:t.message}),(D=t.details)==null?void 0:D.call(t,I.value)])])}),{reset:k,resetValidation:m,validate:d,isValid:T,errorMessages:v}}}),Et=["color","file","time","date","datetime-local","week","month"],Rt=w({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,...Oe(),...Ee()},"VTextField"),Yt=O()({name:"VTextField",directives:{Intersect:Ct},inheritAttrs:!1,props:Rt(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,u){let{attrs:s,emit:t,slots:a}=u;const l=Z(e,"modelValue"),{isFocused:n,focus:i,blur:g}=De(e),S=r(()=>typeof e.counterValue=="function"?e.counterValue(l.value):typeof e.counterValue=="number"?e.counterValue:(l.value??"").toString().length),f=r(()=>{if(s.maxlength)return s.maxlength;if(!(!e.counter||typeof e.counter!="number"&&typeof e.counter!="string"))return e.counter}),c=r(()=>["plain","underlined"].includes(e.variant));function y(d,h){var I,x;!e.autofocus||!d||(x=(I=h[0].target)==null?void 0:I.focus)==null||x.call(I)}const v=U(),b=U(),C=U(),P=r(()=>Et.includes(e.type)||e.persistentPlaceholder||n.value||e.active);function V(){var d;C.value!==document.activeElement&&((d=C.value)==null||d.focus()),n.value||i()}function T(d){t("mousedown:control",d),d.target!==C.value&&(V(),d.preventDefault())}function F(d){V(),t("click:control",d)}function k(d){d.stopPropagation(),V(),le(()=>{l.value=null,lt(e["onClick:clear"],d)})}function m(d){var I;const h=d.target;if(l.value=h.value,(I=e.modelModifiers)!=null&&I.trim&&["text","search","password","tel","url"].includes(e.type)){const x=[h.selectionStart,h.selectionEnd];le(()=>{h.selectionStart=x[0],h.selectionEnd=x[1]})}}return p(()=>{const d=!!(a.counter||e.counter!==!1&&e.counter!=null),h=!!(d||a.details),[I,x]=Ce(s),{modelValue:R,...L}=de.filterProps(e),N=$t(e);return o(de,Q({ref:v,modelValue:l.value,"onUpdate:modelValue":z=>l.value=z,class:["v-text-field",{"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-input--plain-underlined":c.value},e.class],style:e.style},I,L,{centerAffix:!c.value,focused:n.value}),{...a,default:z=>{let{id:_,isDisabled:B,isDirty:A,isReadonly:D,isValid:E}=z;return o(Re,Q({ref:b,onMousedown:T,onClick:F,"onClick:clear":k,"onClick:prependInner":e["onClick:prependInner"],"onClick:appendInner":e["onClick:appendInner"],role:e.role},N,{id:_.value,active:P.value||A.value,dirty:A.value||e.dirty,disabled:B.value,focused:n.value,error:E.value===!1}),{...a,default:X=>{let{props:{class:j,...H}}=X;const W=ie(o("input",Q({ref:C,value:l.value,onInput:m,autofocus:e.autofocus,readonly:D.value,disabled:B.value,name:e.name,placeholder:e.placeholder,size:1,type:e.type,onFocus:V,onBlur:g},H,x),null),[[Se("intersect"),{handler:y},null,{once:!0}]]);return o(ee,null,[e.prefix&&o("span",{class:"v-text-field__prefix"},[o("span",{class:"v-text-field__prefix__text"},[e.prefix])]),a.default?o("div",{class:j,"data-no-activator":""},[a.default(),W]):at(W,{class:j}),e.suffix&&o("span",{class:"v-text-field__suffix"},[o("span",{class:"v-text-field__suffix__text"},[e.suffix])])])}})},details:h?z=>{var _;return o(ee,null,[(_=a.details)==null?void 0:_.call(a,z),d&&o(ee,null,[o("span",null,null),o(Bt,{active:e.persistentCounter||n.value,value:S.value,max:f.value,disabled:e.disabled},a.counter)])])}:void 0})}),St({},v,b,C)}}),ze=Symbol.for("vuetify:selection-control-group"),Ue=w({color:String,disabled:{type:Boolean,default:null},defaultsTarget:String,error:Boolean,id:String,inline:Boolean,falseIcon:K,trueIcon:K,ripple:{type:[Boolean,Object],default:!0},multiple:{type:Boolean,default:null},name:String,readonly:{type:Boolean,default:null},modelValue:null,type:String,valueComparator:{type:Function,default:it},...G(),...Pe(),...se()},"SelectionControlGroup"),Ot=w({...Ue({defaultsTarget:"VSelectionControl"})},"VSelectionControlGroup"),Qt=O()({name:"VSelectionControlGroup",props:Ot(),emits:{"update:modelValue":e=>!0},setup(e,u){let{slots:s}=u;const t=Z(e,"modelValue"),a=ne(),l=r(()=>e.id||`v-selection-control-group-${a}`),n=r(()=>e.name||l.value),i=new Set;return ye(ze,{modelValue:t,forceUpdate:()=>{i.forEach(g=>g())},onForceUpdate:g=>{i.add(g),st(()=>{i.delete(g)})}}),ot({[e.defaultsTarget]:{color:$(e,"color"),disabled:$(e,"disabled"),density:$(e,"density"),error:$(e,"error"),inline:$(e,"inline"),modelValue:t,multiple:r(()=>!!e.multiple||e.multiple==null&&Array.isArray(t.value)),name:n,falseIcon:$(e,"falseIcon"),trueIcon:$(e,"trueIcon"),readonly:$(e,"readonly"),ripple:$(e,"ripple"),type:$(e,"type"),valueComparator:$(e,"valueComparator")}}),p(()=>{var g;return o("div",{class:["v-selection-control-group",{"v-selection-control-group--inline":e.inline},e.class],style:e.style,role:e.type==="radio"?"radiogroup":void 0},[(g=s.default)==null?void 0:g.call(s)])}),{}}}),zt=w({label:String,baseColor:String,trueValue:null,falseValue:null,value:null,...G(),...Ue()},"VSelectionControl");function Ut(e){const u=ge(ze,void 0),{densityClasses:s}=Be(e),t=Z(e,"modelValue"),a=r(()=>e.trueValue!==void 0?e.trueValue:e.value!==void 0?e.value:!0),l=r(()=>e.falseValue!==void 0?e.falseValue:!1),n=r(()=>!!e.multiple||e.multiple==null&&Array.isArray(t.value)),i=r({get(){const v=u?u.modelValue.value:t.value;return n.value?J(v).some(b=>e.valueComparator(b,a.value)):e.valueComparator(v,a.value)},set(v){if(e.readonly)return;const b=v?a.value:l.value;let C=b;n.value&&(C=v?[...J(t.value),b]:J(t.value).filter(P=>!e.valueComparator(P,a.value))),u?u.modelValue.value=C:t.value=C}}),{textColorClasses:g,textColorStyles:S}=oe(r(()=>{if(!(e.error||e.disabled))return i.value?e.color:e.baseColor})),{backgroundColorClasses:f,backgroundColorStyles:c}=_e(r(()=>i.value&&!e.error&&!e.disabled?e.color:e.baseColor)),y=r(()=>i.value?e.trueIcon:e.falseIcon);return{group:u,densityClasses:s,trueValue:a,falseValue:l,model:i,textColorClasses:g,textColorStyles:S,backgroundColorClasses:f,backgroundColorStyles:c,icon:y}}const Zt=O()({name:"VSelectionControl",directives:{Ripple:xt},inheritAttrs:!1,props:zt(),emits:{"update:modelValue":e=>!0},setup(e,u){let{attrs:s,slots:t}=u;const{group:a,densityClasses:l,icon:n,model:i,textColorClasses:g,textColorStyles:S,backgroundColorClasses:f,backgroundColorStyles:c,trueValue:y}=Ut(e),v=ne(),b=te(!1),C=te(!1),P=U(),V=r(()=>e.id||`input-${v}`),T=r(()=>!e.disabled&&!e.readonly);a==null||a.onForceUpdate(()=>{P.value&&(P.value.checked=i.value)});function F(h){T.value&&(b.value=!0,ut(h.target,":focus-visible")!==!1&&(C.value=!0))}function k(){b.value=!1,C.value=!1}function m(h){h.stopPropagation()}function d(h){if(!T.value){P.value&&(P.value.checked=i.value);return}e.readonly&&a&&le(()=>a.forceUpdate()),i.value=h.target.checked}return p(()=>{var L,N;const h=t.label?t.label({label:e.label,props:{for:V.value}}):e.label,[I,x]=Ce(s),R=o("input",Q({ref:P,checked:i.value,disabled:!!e.disabled,id:V.value,onBlur:k,onFocus:F,onInput:d,"aria-disabled":!!e.disabled,"aria-label":e.label,type:e.type,value:y.value,name:e.name,"aria-checked":e.type==="checkbox"?i.value:void 0},x),null);return o("div",Q({class:["v-selection-control",{"v-selection-control--dirty":i.value,"v-selection-control--disabled":e.disabled,"v-selection-control--error":e.error,"v-selection-control--focused":b.value,"v-selection-control--focus-visible":C.value,"v-selection-control--inline":e.inline},l.value,e.class]},I,{style:e.style}),[o("div",{class:["v-selection-control__wrapper",g.value],style:S.value},[(L=t.default)==null?void 0:L.call(t,{backgroundColorClasses:f,backgroundColorStyles:c}),ie(o("div",{class:["v-selection-control__input"]},[((N=t.input)==null?void 0:N.call(t,{model:i,textColorClasses:g,textColorStyles:S,backgroundColorClasses:f,backgroundColorStyles:c,inputNode:R,icon:n.value,props:{onFocus:F,onBlur:k,id:V.value}}))??o(ee,null,[n.value&&o(Ie,{key:"icon",icon:n.value},null),R])]),[[Se("ripple"),e.ripple&&[!e.disabled&&!e.readonly,null,["center","circle"]]]])]),h&&o(Me,{for:V.value,onClick:m},{default:()=>[h]})])}),{isFocused:b,input:P}}});export{Ae as V,Ht as a,Yt as b,Wt as c,Kt as d,qt as e,jt as f,Oe as g,de as h,Me as i,Gt as j,zt as k,Zt as l,Le as m,Ue as n,Qt as o,Rt as p,_t as q,It as r,Jt as s,Xt as t,De as u};
1
+ import{g as O,c9 as ce,bs as ve,ca as fe,p as w,cb as He,b as Z,c as r,aT as te,r as U,aU as Y,aV as ye,ap as We,t as $,i as ge,J as G,u as p,a as o,S as ie,aM as me,bW as q,aP as se,aS as qe,cc as be,K,aQ as he,aR as Ve,bu as ne,e as Ke,F as ee,m as Q,bL as Je,bJ as Xe,bI as J,bP as Ye,b_ as Qe,cd as Ze,bn as et,bm as tt,bi as re,aW as le,ce as nt,bv as Ce,aj as Se,cf as at,cg as lt,bT as it,bp as st,d as ot,c6 as ut}from"./main-B5uflU6E.js";import{p as xe,M as ke,k as Ie,H as rt,i as dt,D as ct,j as vt,e as _e,u as oe,O as ft,a as yt,L as gt,l as mt,s as bt,b as Pe,o as ht,d as Be,q as Vt,I as Ct,f as St,R as xt}from"./forwardRefs-i80xmxX3.js";const kt=w({disabled:Boolean,group:Boolean,hideOnLeave:Boolean,leaveAbsolute:Boolean,mode:String,origin:String},"transition");function M(e,u,s){return O()({name:e,props:kt({mode:s,origin:u}),setup(t,a){let{slots:l}=a;const n={onBeforeEnter(i){t.origin&&(i.style.transformOrigin=t.origin)},onLeave(i){if(t.leaveAbsolute){const{offsetTop:g,offsetLeft:S,offsetWidth:f,offsetHeight:c}=i;i._transitionInitialStyles={position:i.style.position,top:i.style.top,left:i.style.left,width:i.style.width,height:i.style.height},i.style.position="absolute",i.style.top=`${g}px`,i.style.left=`${S}px`,i.style.width=`${f}px`,i.style.height=`${c}px`}t.hideOnLeave&&i.style.setProperty("display","none","important")},onAfterLeave(i){if(t.leaveAbsolute&&(i!=null&&i._transitionInitialStyles)){const{position:g,top:S,left:f,width:c,height:y}=i._transitionInitialStyles;delete i._transitionInitialStyles,i.style.position=g||"",i.style.top=S||"",i.style.left=f||"",i.style.width=c||"",i.style.height=y||""}}};return()=>{const i=t.group?ce:ve;return fe(i,{name:t.disabled?"":e,css:!t.disabled,...t.group?void 0:{mode:t.mode},...t.disabled?{}:n},l.default)}}})}function we(e,u){let s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"in-out";return O()({name:e,props:{mode:{type:String,default:s},disabled:Boolean,group:Boolean},setup(t,a){let{slots:l}=a;const n=t.group?ce:ve;return()=>fe(n,{name:t.disabled?"":e,css:!t.disabled,...t.disabled?{}:u},l.default)}})}function Fe(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";const s=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1)?"width":"height",t=He(`offset-${s}`);return{onBeforeEnter(n){n._parent=n.parentNode,n._initialStyle={transition:n.style.transition,overflow:n.style.overflow,[s]:n.style[s]}},onEnter(n){const i=n._initialStyle;n.style.setProperty("transition","none","important"),n.style.overflow="hidden";const g=`${n[t]}px`;n.style[s]="0",n.offsetHeight,n.style.transition=i.transition,e&&n._parent&&n._parent.classList.add(e),requestAnimationFrame(()=>{n.style[s]=g})},onAfterEnter:l,onEnterCancelled:l,onLeave(n){n._initialStyle={transition:"",overflow:n.style.overflow,[s]:n.style[s]},n.style.overflow="hidden",n.style[s]=`${n[t]}px`,n.offsetHeight,requestAnimationFrame(()=>n.style[s]="0")},onAfterLeave:a,onLeaveCancelled:a};function a(n){e&&n._parent&&n._parent.classList.remove(e),l(n)}function l(n){const i=n._initialStyle[s];n.style.overflow=n._initialStyle.overflow,i!=null&&(n.style[s]=i),delete n._initialStyle}}M("fab-transition","center center","out-in");M("dialog-bottom-transition");M("dialog-top-transition");const Gt=M("fade-transition"),jt=M("scale-transition");M("scroll-x-transition");M("scroll-x-reverse-transition");M("scroll-y-transition");M("scroll-y-reverse-transition");const Ht=M("slide-x-transition"),Wt=M("slide-x-reverse-transition"),Ae=M("slide-y-transition"),qt=M("slide-y-reverse-transition"),Kt=we("expand-transition",Fe()),It=we("expand-x-transition",Fe("",!0)),$e=Symbol.for("vuetify:form"),Jt=w({disabled:Boolean,fastFail:Boolean,readonly:Boolean,modelValue:{type:Boolean,default:null},validateOn:{type:String,default:"input"}},"form");function Xt(e){const u=Z(e,"modelValue"),s=r(()=>e.disabled),t=r(()=>e.readonly),a=te(!1),l=U([]),n=U([]);async function i(){const f=[];let c=!0;n.value=[],a.value=!0;for(const y of l.value){const v=await y.validate();if(v.length>0&&(c=!1,f.push({id:y.id,errorMessages:v})),!c&&e.fastFail)break}return n.value=f,a.value=!1,{valid:c,errors:n.value}}function g(){l.value.forEach(f=>f.reset())}function S(){l.value.forEach(f=>f.resetValidation())}return Y(l,()=>{let f=0,c=0;const y=[];for(const v of l.value)v.isValid===!1?(c++,y.push({id:v.id,errorMessages:v.errorMessages})):v.isValid===!0&&f++;n.value=y,u.value=c>0?!1:f===l.value.length?!0:null},{deep:!0,flush:"post"}),ye($e,{register:f=>{let{id:c,vm:y,validate:v,reset:b,resetValidation:C}=f;l.value.some(P=>P.id===c),l.value.push({id:c,validate:v,reset:b,resetValidation:C,vm:We(y),isValid:null,errorMessages:[]})},unregister:f=>{l.value=l.value.filter(c=>c.id!==f)},update:(f,c,y)=>{const v=l.value.find(b=>b.id===f);v&&(v.isValid=c,v.errorMessages=y)},isDisabled:s,isReadonly:t,isValidating:a,isValid:u,items:l,validateOn:$(e,"validateOn")}),{errors:n,isDisabled:s,isReadonly:t,isValidating:a,isValid:u,items:l,validate:i,reset:g,resetValidation:S}}function _t(){return ge($e,null)}const Pt=w({active:Boolean,disabled:Boolean,max:[Number,String],value:{type:[Number,String],default:0},...G(),...xe({transition:{component:Ae}})},"VCounter"),Bt=O()({name:"VCounter",functional:!0,props:Pt(),setup(e,u){let{slots:s}=u;const t=r(()=>e.max?`${e.value} / ${e.max}`:String(e.value));return p(()=>o(ke,{transition:e.transition},{default:()=>[ie(o("div",{class:["v-counter",{"text-error":e.max&&!e.disabled&&parseFloat(e.value)>parseFloat(e.max)},e.class],style:e.style},[s.default?s.default({counter:t.value,max:e.max,value:e.value}):t.value]),[[me,e.active]])]})),{}}}),wt=w({text:String,onClick:q(),...G(),...se()},"VLabel"),Me=O()({name:"VLabel",props:wt(),setup(e,u){let{slots:s}=u;return p(()=>{var t;return o("label",{class:["v-label",{"v-label--clickable":!!e.onClick},e.class],style:e.style,onClick:e.onClick},[e.text,(t=s.default)==null?void 0:t.call(s)])}),{}}}),Ft=w({floating:Boolean,...G()},"VFieldLabel"),ae=O()({name:"VFieldLabel",props:Ft(),setup(e,u){let{slots:s}=u;return p(()=>o(Me,{class:["v-field-label",{"v-field-label--floating":e.floating},e.class],style:e.style,"aria-hidden":e.floating||void 0},s)),{}}});function Te(e){const{t:u}=qe();function s(t){let{name:a}=t;const l={prepend:"prependAction",prependInner:"prependAction",append:"appendAction",appendInner:"appendAction",clear:"clear"}[a],n=e[`onClick:${a}`],i=n&&l?u(`$vuetify.input.${l}`,e.label??""):void 0;return o(Ie,{icon:e[`${a}Icon`],"aria-label":i,onClick:n},null)}return{InputIcon:s}}const Le=w({focused:Boolean,"onUpdate:focused":q()},"focus");function De(e){let u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:be();const s=Z(e,"focused"),t=r(()=>({[`${u}--focused`]:s.value}));function a(){s.value=!0}function l(){s.value=!1}return{focusClasses:t,isFocused:s,focus:a,blur:l}}const At=["underlined","outlined","filled","solo","solo-inverted","solo-filled","plain"],Ee=w({appendInnerIcon:K,bgColor:String,clearable:Boolean,clearIcon:{type:K,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:K,reverse:Boolean,singleLine:Boolean,variant:{type:String,default:"filled",validator:e=>At.includes(e)},"onClick:clear":q(),"onClick:appendInner":q(),"onClick:prependInner":q(),...G(),...rt(),...dt(),...se()},"VField"),Re=O()({name:"VField",inheritAttrs:!1,props:{id:String,...Le(),...Ee()},emits:{"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,u){let{attrs:s,emit:t,slots:a}=u;const{themeClasses:l}=he(e),{loaderClasses:n}=ct(e),{focusClasses:i,isFocused:g,focus:S,blur:f}=De(e),{InputIcon:c}=Te(e),{roundedClasses:y}=vt(e),{rtlClasses:v}=Ve(),b=r(()=>e.dirty||e.active),C=r(()=>!e.singleLine&&!!(e.label||a.label)),P=ne(),V=r(()=>e.id||`input-${P}`),T=r(()=>`${V.value}-messages`),F=U(),k=U(),m=U(),d=r(()=>["plain","underlined"].includes(e.variant)),{backgroundColorClasses:h,backgroundColorStyles:I}=_e($(e,"bgColor")),{textColorClasses:x,textColorStyles:R}=oe(r(()=>e.error||e.disabled?void 0:b.value&&g.value?e.color:e.baseColor));Y(b,_=>{if(C.value){const B=F.value.$el,A=k.value.$el;requestAnimationFrame(()=>{const D=ft(B),E=A.getBoundingClientRect(),X=E.x-D.x,j=E.y-D.y-(D.height/2-E.height/2),H=E.width/.75,W=Math.abs(H-D.width)>1?{maxWidth:Ke(H)}:void 0,Ne=getComputedStyle(B),ue=getComputedStyle(A),pe=parseFloat(Ne.transitionDuration)*1e3||150,Ge=parseFloat(ue.getPropertyValue("--v-field-label-scale")),je=ue.getPropertyValue("color");B.style.visibility="visible",A.style.visibility="hidden",yt(B,{transform:`translate(${X}px, ${j}px) scale(${Ge})`,color:je,...W},{duration:pe,easing:bt,direction:_?"normal":"reverse"}).finished.then(()=>{B.style.removeProperty("visibility"),A.style.removeProperty("visibility")})})}},{flush:"post"});const L=r(()=>({isActive:b,isFocused:g,controlRef:m,blur:f,focus:S}));function N(_){_.target!==document.activeElement&&_.preventDefault()}function z(_){var B;_.key!=="Enter"&&_.key!==" "||(_.preventDefault(),_.stopPropagation(),(B=e["onClick:clear"])==null||B.call(e,new MouseEvent("click")))}return p(()=>{var X,j,H;const _=e.variant==="outlined",B=!!(a["prepend-inner"]||e.prependInnerIcon),A=!!(e.clearable||a.clear),D=!!(a["append-inner"]||e.appendInnerIcon||A),E=()=>a.label?a.label({...L.value,label:e.label,props:{for:V.value}}):e.label;return o("div",Q({class:["v-field",{"v-field--active":b.value,"v-field--appended":D,"v-field--center-affix":e.centerAffix??!d.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":B,"v-field--reverse":e.reverse,"v-field--single-line":e.singleLine,"v-field--no-label":!E(),[`v-field--variant-${e.variant}`]:!0},l.value,h.value,i.value,n.value,y.value,v.value,e.class],style:[I.value,e.style],onClick:N},s),[o("div",{class:"v-field__overlay"},null),o(gt,{name:"v-field",active:!!e.loading,color:e.error?"error":typeof e.loading=="string"?e.loading:e.color},{default:a.loader}),B&&o("div",{key:"prepend",class:"v-field__prepend-inner"},[e.prependInnerIcon&&o(c,{key:"prepend-icon",name:"prependInner"},null),(X=a["prepend-inner"])==null?void 0:X.call(a,L.value)]),o("div",{class:"v-field__field","data-no-activator":""},[["filled","solo","solo-inverted","solo-filled"].includes(e.variant)&&C.value&&o(ae,{key:"floating-label",ref:k,class:[x.value],floating:!0,for:V.value,style:R.value},{default:()=>[E()]}),o(ae,{ref:F,for:V.value},{default:()=>[E()]}),(j=a.default)==null?void 0:j.call(a,{...L.value,props:{id:V.value,class:"v-field__input","aria-describedby":T.value},focus:S,blur:f})]),A&&o(It,{key:"clear"},{default:()=>[ie(o("div",{class:"v-field__clearable",onMousedown:W=>{W.preventDefault(),W.stopPropagation()}},[o(mt,{defaults:{VIcon:{icon:e.clearIcon}}},{default:()=>[a.clear?a.clear({...L.value,props:{onKeydown:z,onFocus:S,onBlur:f,onClick:e["onClick:clear"]}}):o(c,{name:"clear",onKeydown:z,onFocus:S,onBlur:f},null)]})]),[[me,e.dirty]])]}),D&&o("div",{key:"append",class:"v-field__append-inner"},[(H=a["append-inner"])==null?void 0:H.call(a,L.value),e.appendInnerIcon&&o(c,{key:"append-icon",name:"appendInner"},null)]),o("div",{class:["v-field__outline",x.value],style:R.value},[_&&o(ee,null,[o("div",{class:"v-field__outline__start"},null),C.value&&o("div",{class:"v-field__outline__notch"},[o(ae,{ref:k,floating:!0,for:V.value},{default:()=>[E()]})]),o("div",{class:"v-field__outline__end"},null)]),d.value&&C.value&&o(ae,{ref:k,floating:!0,for:V.value},{default:()=>[E()]})])])}),{controlRef:m}}});function $t(e){const u=Object.keys(Re.props).filter(s=>!Je(s)&&s!=="class"&&s!=="style");return Xe(e,u)}const Mt=w({active:Boolean,color:String,messages:{type:[Array,String],default:()=>[]},...G(),...xe({transition:{component:Ae,leaveAbsolute:!0,group:!0}})},"VMessages"),Tt=O()({name:"VMessages",props:Mt(),setup(e,u){let{slots:s}=u;const t=r(()=>J(e.messages)),{textColorClasses:a,textColorStyles:l}=oe(r(()=>e.color));return p(()=>o(ke,{transition:e.transition,tag:"div",class:["v-messages",a.value,e.class],style:[l.value,e.style],role:"alert","aria-live":"polite"},{default:()=>[e.active&&t.value.map((n,i)=>o("div",{class:"v-messages__message",key:`${i}-${t.value}`},[s.message?s.message({message:n}):n]))]})),{}}}),Lt=w({disabled:{type:Boolean,default:null},error:Boolean,errorMessages:{type:[Array,String],default:()=>[]},maxErrors:{type:[Number,String],default:1},name:String,label:String,readonly:{type:Boolean,default:null},rules:{type:Array,default:()=>[]},modelValue:null,validateOn:String,validationValue:null,...Le()},"validation");function Dt(e){let u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:be(),s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ne();const t=Z(e,"modelValue"),a=r(()=>e.validationValue===void 0?t.value:e.validationValue),l=_t(),n=U([]),i=te(!0),g=r(()=>!!(J(t.value===""?null:t.value).length||J(a.value===""?null:a.value).length)),S=r(()=>!!(e.disabled??(l==null?void 0:l.isDisabled.value))),f=r(()=>!!(e.readonly??(l==null?void 0:l.isReadonly.value))),c=r(()=>{var m;return(m=e.errorMessages)!=null&&m.length?J(e.errorMessages).concat(n.value).slice(0,Math.max(0,+e.maxErrors)):n.value}),y=r(()=>{let m=(e.validateOn??(l==null?void 0:l.validateOn.value))||"input";m==="lazy"&&(m="input lazy"),m==="eager"&&(m="input eager");const d=new Set((m==null?void 0:m.split(" "))??[]);return{input:d.has("input"),blur:d.has("blur")||d.has("input")||d.has("invalid-input"),invalidInput:d.has("invalid-input"),lazy:d.has("lazy"),eager:d.has("eager")}}),v=r(()=>{var m;return e.error||(m=e.errorMessages)!=null&&m.length?!1:e.rules.length?i.value?n.value.length||y.value.lazy?null:!0:!n.value.length:!0}),b=te(!1),C=r(()=>({[`${u}--error`]:v.value===!1,[`${u}--dirty`]:g.value,[`${u}--disabled`]:S.value,[`${u}--readonly`]:f.value})),P=Ye("validation"),V=r(()=>e.name??Qe(s));Ze(()=>{l==null||l.register({id:V.value,vm:P,validate:k,reset:T,resetValidation:F})}),et(()=>{l==null||l.unregister(V.value)}),tt(async()=>{y.value.lazy||await k(!y.value.eager),l==null||l.update(V.value,v.value,c.value)}),re(()=>y.value.input||y.value.invalidInput&&v.value===!1,()=>{Y(a,()=>{if(a.value!=null)k();else if(e.focused){const m=Y(()=>e.focused,d=>{d||k(),m()})}})}),re(()=>y.value.blur,()=>{Y(()=>e.focused,m=>{m||k()})}),Y([v,c],()=>{l==null||l.update(V.value,v.value,c.value)});async function T(){t.value=null,await le(),await F()}async function F(){i.value=!0,y.value.lazy?n.value=[]:await k(!y.value.eager)}async function k(){let m=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;const d=[];b.value=!0;for(const h of e.rules){if(d.length>=+(e.maxErrors??1))break;const x=await(typeof h=="function"?h:()=>h)(a.value);if(x!==!0){if(x!==!1&&typeof x!="string"){console.warn(`${x} is not a valid value. Rule functions must return boolean true or a string.`);continue}d.push(x||"")}}return n.value=d,b.value=!1,i.value=m,n.value}return{errorMessages:c,isDirty:g,isDisabled:S,isReadonly:f,isPristine:i,isValid:v,isValidating:b,reset:T,resetValidation:F,validate:k,validationClasses:C}}const Oe=w({id:String,appendIcon:K,centerAffix:{type:Boolean,default:!0},prependIcon:K,hideDetails:[Boolean,String],hideSpinButtons:Boolean,hint:String,persistentHint:Boolean,messages:{type:[Array,String],default:()=>[]},direction:{type:String,default:"horizontal",validator:e=>["horizontal","vertical"].includes(e)},"onClick:prepend":q(),"onClick:append":q(),...G(),...Pe(),...nt(ht(),["maxWidth","minWidth","width"]),...se(),...Lt()},"VInput"),de=O()({name:"VInput",props:{...Oe()},emits:{"update:modelValue":e=>!0},setup(e,u){let{attrs:s,slots:t,emit:a}=u;const{densityClasses:l}=Be(e),{dimensionStyles:n}=Vt(e),{themeClasses:i}=he(e),{rtlClasses:g}=Ve(),{InputIcon:S}=Te(e),f=ne(),c=r(()=>e.id||`input-${f}`),y=r(()=>`${c.value}-messages`),{errorMessages:v,isDirty:b,isDisabled:C,isReadonly:P,isPristine:V,isValid:T,isValidating:F,reset:k,resetValidation:m,validate:d,validationClasses:h}=Dt(e,"v-input",c),I=r(()=>({id:c,messagesId:y,isDirty:b,isDisabled:C,isReadonly:P,isPristine:V,isValid:T,isValidating:F,reset:k,resetValidation:m,validate:d})),x=r(()=>{var R;return(R=e.errorMessages)!=null&&R.length||!V.value&&v.value.length?v.value:e.hint&&(e.persistentHint||e.focused)?e.hint:e.messages});return p(()=>{var _,B,A,D;const R=!!(t.prepend||e.prependIcon),L=!!(t.append||e.appendIcon),N=x.value.length>0,z=!e.hideDetails||e.hideDetails==="auto"&&(N||!!t.details);return o("div",{class:["v-input",`v-input--${e.direction}`,{"v-input--center-affix":e.centerAffix,"v-input--hide-spin-buttons":e.hideSpinButtons},l.value,i.value,g.value,h.value,e.class],style:[n.value,e.style]},[R&&o("div",{key:"prepend",class:"v-input__prepend"},[(_=t.prepend)==null?void 0:_.call(t,I.value),e.prependIcon&&o(S,{key:"prepend-icon",name:"prepend"},null)]),t.default&&o("div",{class:"v-input__control"},[(B=t.default)==null?void 0:B.call(t,I.value)]),L&&o("div",{key:"append",class:"v-input__append"},[e.appendIcon&&o(S,{key:"append-icon",name:"append"},null),(A=t.append)==null?void 0:A.call(t,I.value)]),z&&o("div",{class:"v-input__details"},[o(Tt,{id:y.value,active:N,messages:x.value},{message:t.message}),(D=t.details)==null?void 0:D.call(t,I.value)])])}),{reset:k,resetValidation:m,validate:d,isValid:T,errorMessages:v}}}),Et=["color","file","time","date","datetime-local","week","month"],Rt=w({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,...Oe(),...Ee()},"VTextField"),Yt=O()({name:"VTextField",directives:{Intersect:Ct},inheritAttrs:!1,props:Rt(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,u){let{attrs:s,emit:t,slots:a}=u;const l=Z(e,"modelValue"),{isFocused:n,focus:i,blur:g}=De(e),S=r(()=>typeof e.counterValue=="function"?e.counterValue(l.value):typeof e.counterValue=="number"?e.counterValue:(l.value??"").toString().length),f=r(()=>{if(s.maxlength)return s.maxlength;if(!(!e.counter||typeof e.counter!="number"&&typeof e.counter!="string"))return e.counter}),c=r(()=>["plain","underlined"].includes(e.variant));function y(d,h){var I,x;!e.autofocus||!d||(x=(I=h[0].target)==null?void 0:I.focus)==null||x.call(I)}const v=U(),b=U(),C=U(),P=r(()=>Et.includes(e.type)||e.persistentPlaceholder||n.value||e.active);function V(){var d;C.value!==document.activeElement&&((d=C.value)==null||d.focus()),n.value||i()}function T(d){t("mousedown:control",d),d.target!==C.value&&(V(),d.preventDefault())}function F(d){V(),t("click:control",d)}function k(d){d.stopPropagation(),V(),le(()=>{l.value=null,lt(e["onClick:clear"],d)})}function m(d){var I;const h=d.target;if(l.value=h.value,(I=e.modelModifiers)!=null&&I.trim&&["text","search","password","tel","url"].includes(e.type)){const x=[h.selectionStart,h.selectionEnd];le(()=>{h.selectionStart=x[0],h.selectionEnd=x[1]})}}return p(()=>{const d=!!(a.counter||e.counter!==!1&&e.counter!=null),h=!!(d||a.details),[I,x]=Ce(s),{modelValue:R,...L}=de.filterProps(e),N=$t(e);return o(de,Q({ref:v,modelValue:l.value,"onUpdate:modelValue":z=>l.value=z,class:["v-text-field",{"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-input--plain-underlined":c.value},e.class],style:e.style},I,L,{centerAffix:!c.value,focused:n.value}),{...a,default:z=>{let{id:_,isDisabled:B,isDirty:A,isReadonly:D,isValid:E}=z;return o(Re,Q({ref:b,onMousedown:T,onClick:F,"onClick:clear":k,"onClick:prependInner":e["onClick:prependInner"],"onClick:appendInner":e["onClick:appendInner"],role:e.role},N,{id:_.value,active:P.value||A.value,dirty:A.value||e.dirty,disabled:B.value,focused:n.value,error:E.value===!1}),{...a,default:X=>{let{props:{class:j,...H}}=X;const W=ie(o("input",Q({ref:C,value:l.value,onInput:m,autofocus:e.autofocus,readonly:D.value,disabled:B.value,name:e.name,placeholder:e.placeholder,size:1,type:e.type,onFocus:V,onBlur:g},H,x),null),[[Se("intersect"),{handler:y},null,{once:!0}]]);return o(ee,null,[e.prefix&&o("span",{class:"v-text-field__prefix"},[o("span",{class:"v-text-field__prefix__text"},[e.prefix])]),a.default?o("div",{class:j,"data-no-activator":""},[a.default(),W]):at(W,{class:j}),e.suffix&&o("span",{class:"v-text-field__suffix"},[o("span",{class:"v-text-field__suffix__text"},[e.suffix])])])}})},details:h?z=>{var _;return o(ee,null,[(_=a.details)==null?void 0:_.call(a,z),d&&o(ee,null,[o("span",null,null),o(Bt,{active:e.persistentCounter||n.value,value:S.value,max:f.value,disabled:e.disabled},a.counter)])])}:void 0})}),St({},v,b,C)}}),ze=Symbol.for("vuetify:selection-control-group"),Ue=w({color:String,disabled:{type:Boolean,default:null},defaultsTarget:String,error:Boolean,id:String,inline:Boolean,falseIcon:K,trueIcon:K,ripple:{type:[Boolean,Object],default:!0},multiple:{type:Boolean,default:null},name:String,readonly:{type:Boolean,default:null},modelValue:null,type:String,valueComparator:{type:Function,default:it},...G(),...Pe(),...se()},"SelectionControlGroup"),Ot=w({...Ue({defaultsTarget:"VSelectionControl"})},"VSelectionControlGroup"),Qt=O()({name:"VSelectionControlGroup",props:Ot(),emits:{"update:modelValue":e=>!0},setup(e,u){let{slots:s}=u;const t=Z(e,"modelValue"),a=ne(),l=r(()=>e.id||`v-selection-control-group-${a}`),n=r(()=>e.name||l.value),i=new Set;return ye(ze,{modelValue:t,forceUpdate:()=>{i.forEach(g=>g())},onForceUpdate:g=>{i.add(g),st(()=>{i.delete(g)})}}),ot({[e.defaultsTarget]:{color:$(e,"color"),disabled:$(e,"disabled"),density:$(e,"density"),error:$(e,"error"),inline:$(e,"inline"),modelValue:t,multiple:r(()=>!!e.multiple||e.multiple==null&&Array.isArray(t.value)),name:n,falseIcon:$(e,"falseIcon"),trueIcon:$(e,"trueIcon"),readonly:$(e,"readonly"),ripple:$(e,"ripple"),type:$(e,"type"),valueComparator:$(e,"valueComparator")}}),p(()=>{var g;return o("div",{class:["v-selection-control-group",{"v-selection-control-group--inline":e.inline},e.class],style:e.style,role:e.type==="radio"?"radiogroup":void 0},[(g=s.default)==null?void 0:g.call(s)])}),{}}}),zt=w({label:String,baseColor:String,trueValue:null,falseValue:null,value:null,...G(),...Ue()},"VSelectionControl");function Ut(e){const u=ge(ze,void 0),{densityClasses:s}=Be(e),t=Z(e,"modelValue"),a=r(()=>e.trueValue!==void 0?e.trueValue:e.value!==void 0?e.value:!0),l=r(()=>e.falseValue!==void 0?e.falseValue:!1),n=r(()=>!!e.multiple||e.multiple==null&&Array.isArray(t.value)),i=r({get(){const v=u?u.modelValue.value:t.value;return n.value?J(v).some(b=>e.valueComparator(b,a.value)):e.valueComparator(v,a.value)},set(v){if(e.readonly)return;const b=v?a.value:l.value;let C=b;n.value&&(C=v?[...J(t.value),b]:J(t.value).filter(P=>!e.valueComparator(P,a.value))),u?u.modelValue.value=C:t.value=C}}),{textColorClasses:g,textColorStyles:S}=oe(r(()=>{if(!(e.error||e.disabled))return i.value?e.color:e.baseColor})),{backgroundColorClasses:f,backgroundColorStyles:c}=_e(r(()=>i.value&&!e.error&&!e.disabled?e.color:e.baseColor)),y=r(()=>i.value?e.trueIcon:e.falseIcon);return{group:u,densityClasses:s,trueValue:a,falseValue:l,model:i,textColorClasses:g,textColorStyles:S,backgroundColorClasses:f,backgroundColorStyles:c,icon:y}}const Zt=O()({name:"VSelectionControl",directives:{Ripple:xt},inheritAttrs:!1,props:zt(),emits:{"update:modelValue":e=>!0},setup(e,u){let{attrs:s,slots:t}=u;const{group:a,densityClasses:l,icon:n,model:i,textColorClasses:g,textColorStyles:S,backgroundColorClasses:f,backgroundColorStyles:c,trueValue:y}=Ut(e),v=ne(),b=te(!1),C=te(!1),P=U(),V=r(()=>e.id||`input-${v}`),T=r(()=>!e.disabled&&!e.readonly);a==null||a.onForceUpdate(()=>{P.value&&(P.value.checked=i.value)});function F(h){T.value&&(b.value=!0,ut(h.target,":focus-visible")!==!1&&(C.value=!0))}function k(){b.value=!1,C.value=!1}function m(h){h.stopPropagation()}function d(h){if(!T.value){P.value&&(P.value.checked=i.value);return}e.readonly&&a&&le(()=>a.forceUpdate()),i.value=h.target.checked}return p(()=>{var L,N;const h=t.label?t.label({label:e.label,props:{for:V.value}}):e.label,[I,x]=Ce(s),R=o("input",Q({ref:P,checked:i.value,disabled:!!e.disabled,id:V.value,onBlur:k,onFocus:F,onInput:d,"aria-disabled":!!e.disabled,"aria-label":e.label,type:e.type,value:y.value,name:e.name,"aria-checked":e.type==="checkbox"?i.value:void 0},x),null);return o("div",Q({class:["v-selection-control",{"v-selection-control--dirty":i.value,"v-selection-control--disabled":e.disabled,"v-selection-control--error":e.error,"v-selection-control--focused":b.value,"v-selection-control--focus-visible":C.value,"v-selection-control--inline":e.inline},l.value,e.class]},I,{style:e.style}),[o("div",{class:["v-selection-control__wrapper",g.value],style:S.value},[(L=t.default)==null?void 0:L.call(t,{backgroundColorClasses:f,backgroundColorStyles:c}),ie(o("div",{class:["v-selection-control__input"]},[((N=t.input)==null?void 0:N.call(t,{model:i,textColorClasses:g,textColorStyles:S,backgroundColorClasses:f,backgroundColorStyles:c,inputNode:R,icon:n.value,props:{onFocus:F,onBlur:k,id:V.value}}))??o(ee,null,[n.value&&o(Ie,{key:"icon",icon:n.value},null),R])]),[[Se("ripple"),e.ripple&&[!e.disabled&&!e.readonly,null,["center","circle"]]]])]),h&&o(Me,{for:V.value,onClick:m},{default:()=>[h]})])}),{isFocused:b,input:P}}});export{Ae as V,Ht as a,Yt as b,Wt as c,Kt as d,qt as e,jt as f,Oe as g,de as h,Me as i,Gt as j,zt as k,Zt as l,Le as m,Ue as n,Qt as o,Rt as p,_t as q,Jt as r,Xt as s,It as t,De as u};
@@ -1 +1 @@
1
- import{p as m,J as d,aP as h,g as b,aQ as v,u as f,a as t,e as c}from"./main-BbNUiWEb.js";import{b as u,c as g,d as x}from"./forwardRefs-DPRKg5wq.js";const T=m({fixedHeader:Boolean,fixedFooter:Boolean,height:[Number,String],hover:Boolean,...d(),...u(),...g(),...h()},"VTable"),V=b()({name:"VTable",props:T(),setup(a,r){let{slots:e,emit:y}=r;const{themeClasses:i}=v(a),{densityClasses:n}=x(a);return f(()=>t(a.tag,{class:["v-table",{"v-table--fixed-height":!!a.height,"v-table--fixed-header":a.fixedHeader,"v-table--fixed-footer":a.fixedFooter,"v-table--has-top":!!e.top,"v-table--has-bottom":!!e.bottom,"v-table--hover":a.hover},i.value,n.value,a.class],style:a.style},{default:()=>{var o,s,l;return[(o=e.top)==null?void 0:o.call(e),e.default?t("div",{class:"v-table__wrapper",style:{height:c(a.height)}},[t("table",null,[e.default()])]):(s=e.wrapper)==null?void 0:s.call(e),(l=e.bottom)==null?void 0:l.call(e)]}})),{}}});export{V,T as m};
1
+ import{p as m,J as d,aP as h,g as b,aQ as v,u as f,a as t,e as c}from"./main-B5uflU6E.js";import{b as u,c as g,d as x}from"./forwardRefs-i80xmxX3.js";const T=m({fixedHeader:Boolean,fixedFooter:Boolean,height:[Number,String],hover:Boolean,...d(),...u(),...g(),...h()},"VTable"),V=b()({name:"VTable",props:T(),setup(a,r){let{slots:e,emit:y}=r;const{themeClasses:i}=v(a),{densityClasses:n}=x(a);return f(()=>t(a.tag,{class:["v-table",{"v-table--fixed-height":!!a.height,"v-table--fixed-header":a.fixedHeader,"v-table--fixed-footer":a.fixedFooter,"v-table--has-top":!!e.top,"v-table--has-bottom":!!e.bottom,"v-table--hover":a.hover},i.value,n.value,a.class],style:a.style},{default:()=>{var o,s,l;return[(o=e.top)==null?void 0:o.call(e),e.default?t("div",{class:"v-table__wrapper",style:{height:c(a.height)}},[t("table",null,[e.default()])]):(s=e.wrapper)==null?void 0:s.call(e),(l=e.bottom)==null?void 0:l.call(e)]}})),{}}});export{V,T as m};
@@ -1 +1 @@
1
- import{p as m,J as d,aP as h,g as b,aQ as v,u as f,a as t,e as c}from"./main-BbNUiWEb.js";import{b as u,c as g,d as x}from"./forwardRefs-DPRKg5wq.js";const T=m({fixedHeader:Boolean,fixedFooter:Boolean,height:[Number,String],hover:Boolean,...d(),...u(),...g(),...h()},"VTable"),V=b()({name:"VTable",props:T(),setup(a,r){let{slots:e,emit:y}=r;const{themeClasses:i}=v(a),{densityClasses:n}=x(a);return f(()=>t(a.tag,{class:["v-table",{"v-table--fixed-height":!!a.height,"v-table--fixed-header":a.fixedHeader,"v-table--fixed-footer":a.fixedFooter,"v-table--has-top":!!e.top,"v-table--has-bottom":!!e.bottom,"v-table--hover":a.hover},i.value,n.value,a.class],style:a.style},{default:()=>{var o,s,l;return[(o=e.top)==null?void 0:o.call(e),e.default?t("div",{class:"v-table__wrapper",style:{height:c(a.height)}},[t("table",null,[e.default()])]):(s=e.wrapper)==null?void 0:s.call(e),(l=e.bottom)==null?void 0:l.call(e)]}})),{}}});export{V,T as m};
1
+ import{p as m,J as d,aP as h,g as b,aQ as v,u as f,a as t,e as c}from"./main-B5uflU6E.js";import{b as u,c as g,d as x}from"./forwardRefs-i80xmxX3.js";const T=m({fixedHeader:Boolean,fixedFooter:Boolean,height:[Number,String],hover:Boolean,...d(),...u(),...g(),...h()},"VTable"),V=b()({name:"VTable",props:T(),setup(a,r){let{slots:e,emit:y}=r;const{themeClasses:i}=v(a),{densityClasses:n}=x(a);return f(()=>t(a.tag,{class:["v-table",{"v-table--fixed-height":!!a.height,"v-table--fixed-header":a.fixedHeader,"v-table--fixed-footer":a.fixedFooter,"v-table--has-top":!!e.top,"v-table--has-bottom":!!e.bottom,"v-table--hover":a.hover},i.value,n.value,a.class],style:a.style},{default:()=>{var o,s,l;return[(o=e.top)==null?void 0:o.call(e),e.default?t("div",{class:"v-table__wrapper",style:{height:c(a.height)}},[t("table",null,[e.default()])]):(s=e.wrapper)==null?void 0:s.call(e),(l=e.bottom)==null?void 0:l.call(e)]}})),{}}});export{V,T as m};
@@ -0,0 +1 @@
1
+ import{aO as Y,p as V,J as _,aP as j,g as H,aQ as A,aR as O,aS as G,r as E,c as h,aT as x,aU as F,aV as z,a as m,u as R,S as W,aj as D,i as U,aM as J,e as w,aW as Q}from"./main-B5uflU6E.js";import{c as q,r as K,V as X,t as Z,v as N,M as p}from"./forwardRefs-i80xmxX3.js";import{m as ee,b as te}from"./VDialog-Dr7SuC2S.js";import{u as ne}from"./ssrBoot-DRKt_yWP.js";const oe=e=>{const{touchstartX:o,touchendX:t,touchstartY:n,touchendY:i}=e,u=.5,s=16;e.offsetX=t-o,e.offsetY=i-n,Math.abs(e.offsetY)<u*Math.abs(e.offsetX)&&(e.left&&t<o-s&&e.left(e),e.right&&t>o+s&&e.right(e)),Math.abs(e.offsetX)<u*Math.abs(e.offsetY)&&(e.up&&i<n-s&&e.up(e),e.down&&i>n+s&&e.down(e))};function se(e,o){var n;const t=e.changedTouches[0];o.touchstartX=t.clientX,o.touchstartY=t.clientY,(n=o.start)==null||n.call(o,{originalEvent:e,...o})}function ie(e,o){var n;const t=e.changedTouches[0];o.touchendX=t.clientX,o.touchendY=t.clientY,(n=o.end)==null||n.call(o,{originalEvent:e,...o}),oe(o)}function ae(e,o){var n;const t=e.changedTouches[0];o.touchmoveX=t.clientX,o.touchmoveY=t.clientY,(n=o.move)==null||n.call(o,{originalEvent:e,...o})}function ue(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const o={touchstartX:0,touchstartY:0,touchendX:0,touchendY:0,touchmoveX:0,touchmoveY:0,offsetX:0,offsetY:0,left:e.left,right:e.right,up:e.up,down:e.down,start:e.start,move:e.move,end:e.end};return{touchstart:t=>se(t,o),touchend:t=>ie(t,o),touchmove:t=>ae(t,o)}}function ce(e,o){var v;const t=o.value,n=t!=null&&t.parent?e.parentElement:e,i=(t==null?void 0:t.options)??{passive:!0},u=(v=o.instance)==null?void 0:v.$.uid;if(!n||!u)return;const s=ue(o.value);n._touchHandlers=n._touchHandlers??Object.create(null),n._touchHandlers[u]=s,Y(s).forEach(r=>{n.addEventListener(r,s[r],i)})}function le(e,o){var u,s;const t=(u=o.value)!=null&&u.parent?e.parentElement:e,n=(s=o.instance)==null?void 0:s.$.uid;if(!(t!=null&&t._touchHandlers)||!n)return;const i=t._touchHandlers[n];Y(i).forEach(v=>{t.removeEventListener(v,i[v])}),delete t._touchHandlers[n]}const k={mounted:ce,unmounted:le},P=Symbol.for("vuetify:v-window"),$=Symbol.for("vuetify:v-window-group"),re=V({continuous:Boolean,nextIcon:{type:[Boolean,String,Function,Object],default:"$next"},prevIcon:{type:[Boolean,String,Function,Object],default:"$prev"},reverse:Boolean,showArrows:{type:[Boolean,String],validator:e=>typeof e=="boolean"||e==="hover"},touch:{type:[Object,Boolean],default:void 0},direction:{type:String,default:"horizontal"},modelValue:null,disabled:Boolean,selectedClass:{type:String,default:"v-window-item--active"},mandatory:{type:[Boolean,String],default:"force"},..._(),...q(),...j()},"VWindow"),ge=H()({name:"VWindow",directives:{Touch:k},props:re(),emits:{"update:modelValue":e=>!0},setup(e,o){let{slots:t}=o;const{themeClasses:n}=A(e),{isRtl:i}=O(),{t:u}=G(),s=K(e,$),v=E(),r=h(()=>i.value?!e.reverse:e.reverse),d=x(!1),y=h(()=>{const a=e.direction==="vertical"?"y":"x",f=(r.value?!d.value:d.value)?"-reverse":"";return`v-window-${a}${f}-transition`}),b=x(0),T=E(void 0),g=h(()=>s.items.value.findIndex(a=>s.selected.value.includes(a.id)));F(g,(a,l)=>{const f=s.items.value.length,I=f-1;f<=2?d.value=a<l:a===I&&l===0?d.value=!0:a===0&&l===I?d.value=!1:d.value=a<l}),z(P,{transition:y,isReversed:d,transitionCount:b,transitionHeight:T,rootRef:v});const c=h(()=>e.continuous||g.value!==0),S=h(()=>e.continuous||g.value!==s.items.value.length-1);function B(){c.value&&s.prev()}function C(){S.value&&s.next()}const L=h(()=>{const a=[],l={icon:i.value?e.nextIcon:e.prevIcon,class:`v-window__${r.value?"right":"left"}`,onClick:s.prev,"aria-label":u("$vuetify.carousel.prev")};a.push(c.value?t.prev?t.prev({props:l}):m(X,l,null):m("div",null,null));const f={icon:i.value?e.prevIcon:e.nextIcon,class:`v-window__${r.value?"left":"right"}`,onClick:s.next,"aria-label":u("$vuetify.carousel.next")};return a.push(S.value?t.next?t.next({props:f}):m(X,f,null):m("div",null,null)),a}),M=h(()=>e.touch===!1?e.touch:{...{left:()=>{r.value?B():C()},right:()=>{r.value?C():B()},start:l=>{let{originalEvent:f}=l;f.stopPropagation()}},...e.touch===!0?{}:e.touch});return R(()=>W(m(e.tag,{ref:v,class:["v-window",{"v-window--show-arrows-on-hover":e.showArrows==="hover"},n.value,e.class],style:e.style},{default:()=>{var a,l;return[m("div",{class:"v-window__container",style:{height:T.value}},[(a=t.default)==null?void 0:a.call(t,{group:s}),e.showArrows!==!1&&m("div",{class:"v-window__controls"},[L.value])]),(l=t.additional)==null?void 0:l.call(t,{group:s})]}}),[[D("touch"),M.value]])),{group:s}}}),ve=V({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},..._(),...Z(),...ee()},"VWindowItem"),ye=H()({name:"VWindowItem",directives:{Touch:k},props:ve(),emits:{"group:selected":e=>!0},setup(e,o){let{slots:t}=o;const n=U(P),i=N(e,$),{isBooted:u}=ne();if(!n||!i)throw new Error("[Vuetify] VWindowItem must be used inside VWindow");const s=x(!1),v=h(()=>u.value&&(n.isReversed.value?e.reverseTransition!==!1:e.transition!==!1));function r(){!s.value||!n||(s.value=!1,n.transitionCount.value>0&&(n.transitionCount.value-=1,n.transitionCount.value===0&&(n.transitionHeight.value=void 0)))}function d(){var c;s.value||!n||(s.value=!0,n.transitionCount.value===0&&(n.transitionHeight.value=w((c=n.rootRef.value)==null?void 0:c.clientHeight)),n.transitionCount.value+=1)}function y(){r()}function b(c){s.value&&Q(()=>{!v.value||!s.value||!n||(n.transitionHeight.value=w(c.clientHeight))})}const T=h(()=>{const c=n.isReversed.value?e.reverseTransition:e.transition;return v.value?{name:typeof c!="string"?n.transition.value:c,onBeforeEnter:d,onAfterEnter:r,onEnterCancelled:y,onBeforeLeave:d,onAfterLeave:r,onLeaveCancelled:y,onEnter:b}:!1}),{hasContent:g}=te(e,i.isSelected);return R(()=>m(p,{transition:T.value,disabled:!u.value},{default:()=>{var c;return[W(m("div",{class:["v-window-item",i.selectedClass.value,e.class],style:e.style},[g.value&&((c=t.default)==null?void 0:c.call(t))]),[[J,i.isSelected.value]])]}})),{groupItem:i}}});export{ge as V,ve as a,ye as b,re as m};
@@ -0,0 +1 @@
1
+ import{aO as Y,p as V,J as _,aP as j,g as H,aQ as A,aR as O,aS as G,r as E,c as h,aT as x,aU as F,aV as z,a as m,u as R,S as W,aj as D,i as U,aM as J,e as w,aW as Q}from"./main-B5uflU6E.js";import{c as q,r as K,V as X,t as Z,v as N,M as p}from"./forwardRefs-i80xmxX3.js";import{m as ee,b as te}from"./VDialog-Dr7SuC2S.js";import{u as ne}from"./ssrBoot-DRKt_yWP.js";const oe=e=>{const{touchstartX:o,touchendX:t,touchstartY:n,touchendY:i}=e,u=.5,s=16;e.offsetX=t-o,e.offsetY=i-n,Math.abs(e.offsetY)<u*Math.abs(e.offsetX)&&(e.left&&t<o-s&&e.left(e),e.right&&t>o+s&&e.right(e)),Math.abs(e.offsetX)<u*Math.abs(e.offsetY)&&(e.up&&i<n-s&&e.up(e),e.down&&i>n+s&&e.down(e))};function se(e,o){var n;const t=e.changedTouches[0];o.touchstartX=t.clientX,o.touchstartY=t.clientY,(n=o.start)==null||n.call(o,{originalEvent:e,...o})}function ie(e,o){var n;const t=e.changedTouches[0];o.touchendX=t.clientX,o.touchendY=t.clientY,(n=o.end)==null||n.call(o,{originalEvent:e,...o}),oe(o)}function ae(e,o){var n;const t=e.changedTouches[0];o.touchmoveX=t.clientX,o.touchmoveY=t.clientY,(n=o.move)==null||n.call(o,{originalEvent:e,...o})}function ue(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const o={touchstartX:0,touchstartY:0,touchendX:0,touchendY:0,touchmoveX:0,touchmoveY:0,offsetX:0,offsetY:0,left:e.left,right:e.right,up:e.up,down:e.down,start:e.start,move:e.move,end:e.end};return{touchstart:t=>se(t,o),touchend:t=>ie(t,o),touchmove:t=>ae(t,o)}}function ce(e,o){var v;const t=o.value,n=t!=null&&t.parent?e.parentElement:e,i=(t==null?void 0:t.options)??{passive:!0},u=(v=o.instance)==null?void 0:v.$.uid;if(!n||!u)return;const s=ue(o.value);n._touchHandlers=n._touchHandlers??Object.create(null),n._touchHandlers[u]=s,Y(s).forEach(r=>{n.addEventListener(r,s[r],i)})}function le(e,o){var u,s;const t=(u=o.value)!=null&&u.parent?e.parentElement:e,n=(s=o.instance)==null?void 0:s.$.uid;if(!(t!=null&&t._touchHandlers)||!n)return;const i=t._touchHandlers[n];Y(i).forEach(v=>{t.removeEventListener(v,i[v])}),delete t._touchHandlers[n]}const k={mounted:ce,unmounted:le},P=Symbol.for("vuetify:v-window"),$=Symbol.for("vuetify:v-window-group"),re=V({continuous:Boolean,nextIcon:{type:[Boolean,String,Function,Object],default:"$next"},prevIcon:{type:[Boolean,String,Function,Object],default:"$prev"},reverse:Boolean,showArrows:{type:[Boolean,String],validator:e=>typeof e=="boolean"||e==="hover"},touch:{type:[Object,Boolean],default:void 0},direction:{type:String,default:"horizontal"},modelValue:null,disabled:Boolean,selectedClass:{type:String,default:"v-window-item--active"},mandatory:{type:[Boolean,String],default:"force"},..._(),...q(),...j()},"VWindow"),ge=H()({name:"VWindow",directives:{Touch:k},props:re(),emits:{"update:modelValue":e=>!0},setup(e,o){let{slots:t}=o;const{themeClasses:n}=A(e),{isRtl:i}=O(),{t:u}=G(),s=K(e,$),v=E(),r=h(()=>i.value?!e.reverse:e.reverse),d=x(!1),y=h(()=>{const a=e.direction==="vertical"?"y":"x",f=(r.value?!d.value:d.value)?"-reverse":"";return`v-window-${a}${f}-transition`}),b=x(0),T=E(void 0),g=h(()=>s.items.value.findIndex(a=>s.selected.value.includes(a.id)));F(g,(a,l)=>{const f=s.items.value.length,I=f-1;f<=2?d.value=a<l:a===I&&l===0?d.value=!0:a===0&&l===I?d.value=!1:d.value=a<l}),z(P,{transition:y,isReversed:d,transitionCount:b,transitionHeight:T,rootRef:v});const c=h(()=>e.continuous||g.value!==0),S=h(()=>e.continuous||g.value!==s.items.value.length-1);function B(){c.value&&s.prev()}function C(){S.value&&s.next()}const L=h(()=>{const a=[],l={icon:i.value?e.nextIcon:e.prevIcon,class:`v-window__${r.value?"right":"left"}`,onClick:s.prev,"aria-label":u("$vuetify.carousel.prev")};a.push(c.value?t.prev?t.prev({props:l}):m(X,l,null):m("div",null,null));const f={icon:i.value?e.prevIcon:e.nextIcon,class:`v-window__${r.value?"left":"right"}`,onClick:s.next,"aria-label":u("$vuetify.carousel.next")};return a.push(S.value?t.next?t.next({props:f}):m(X,f,null):m("div",null,null)),a}),M=h(()=>e.touch===!1?e.touch:{...{left:()=>{r.value?B():C()},right:()=>{r.value?C():B()},start:l=>{let{originalEvent:f}=l;f.stopPropagation()}},...e.touch===!0?{}:e.touch});return R(()=>W(m(e.tag,{ref:v,class:["v-window",{"v-window--show-arrows-on-hover":e.showArrows==="hover"},n.value,e.class],style:e.style},{default:()=>{var a,l;return[m("div",{class:"v-window__container",style:{height:T.value}},[(a=t.default)==null?void 0:a.call(t,{group:s}),e.showArrows!==!1&&m("div",{class:"v-window__controls"},[L.value])]),(l=t.additional)==null?void 0:l.call(t,{group:s})]}}),[[D("touch"),M.value]])),{group:s}}}),ve=V({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},..._(),...Z(),...ee()},"VWindowItem"),ye=H()({name:"VWindowItem",directives:{Touch:k},props:ve(),emits:{"group:selected":e=>!0},setup(e,o){let{slots:t}=o;const n=U(P),i=N(e,$),{isBooted:u}=ne();if(!n||!i)throw new Error("[Vuetify] VWindowItem must be used inside VWindow");const s=x(!1),v=h(()=>u.value&&(n.isReversed.value?e.reverseTransition!==!1:e.transition!==!1));function r(){!s.value||!n||(s.value=!1,n.transitionCount.value>0&&(n.transitionCount.value-=1,n.transitionCount.value===0&&(n.transitionHeight.value=void 0)))}function d(){var c;s.value||!n||(s.value=!0,n.transitionCount.value===0&&(n.transitionHeight.value=w((c=n.rootRef.value)==null?void 0:c.clientHeight)),n.transitionCount.value+=1)}function y(){r()}function b(c){s.value&&Q(()=>{!v.value||!s.value||!n||(n.transitionHeight.value=w(c.clientHeight))})}const T=h(()=>{const c=n.isReversed.value?e.reverseTransition:e.transition;return v.value?{name:typeof c!="string"?n.transition.value:c,onBeforeEnter:d,onAfterEnter:r,onEnterCancelled:y,onBeforeLeave:d,onAfterLeave:r,onLeaveCancelled:y,onEnter:b}:!1}),{hasContent:g}=te(e,i.isSelected);return R(()=>m(p,{transition:T.value,disabled:!u.value},{default:()=>{var c;return[W(m("div",{class:["v-window-item",i.selectedClass.value,e.class],style:e.style},[g.value&&((c=t.default)==null?void 0:c.call(t))]),[[J,i.isSelected.value]])]}})),{groupItem:i}}});export{ge as V,ve as a,ye as b,re as m};
@@ -1 +1 @@
1
- import{cI as e,cJ as c,b3 as l,D as m,B as o}from"./main-BbNUiWEb.js";const p=r=>e.post("/admin/user",r),f=()=>{const r=c();return e.get("/admin/user",{params:r})},h=(r,t)=>e.put(`/admin/user/${r}/`,t),b=(r,t)=>e.put(`/admin/user/${r}/password`,t),g=r=>e.delete(`/admin/user/${r}/`),y=r=>e.post("/admin/group",r),w=()=>{const r=c();return e.get("/admin/group",{params:r})},S=(r,t)=>e.put(`/admin/group/${r}/`,t),A=r=>e.delete(`/admin/group/${r}/`),L=r=>e.post("/admin/library",r),U=()=>{const r=c();return e.get("/admin/library",{params:r})},T=(r,t)=>e.put(`/admin/library/${r}/`,t),F=r=>e.delete(`/admin/library/${r}/`),P=(r,t)=>{const s={path:r,showHidden:t};return e.get("/admin/folders",{params:s})},E=()=>{const r=c();return e.get("/admin/failed-import",{params:r})},k=()=>{const r=c();return e.get("/admin/flag",{params:r})},I=(r,t)=>e.put(`/admin/flag/${r}/`,t),$=async r=>await e.post("/admin/librarian/task",r),G=()=>{const r={ts:Date.now()};return e.get("/admin/librarian/status",{params:r})},R=()=>{const r={ts:Date.now()};return e.get("/admin/stats",{params:r})},O=async()=>await e.put("/admin/api_key"),n={changeUserPassword:b,createGroup:y,createLibrary:L,createUser:p,deleteLibrary:F,deleteGroup:A,deleteUser:g,getFailedImports:E,getFlags:k,getFolders:P,getGroups:w,getLibrarianStatuses:G,getLibraries:U,getStats:R,getUsers:f,postLibrarianTask:$,updateAPIKey:O,updateFlag:I,updateGroup:S,updateLibrary:T,updateUser:h},j=r=>console.warn(r),u={LibrarianStatus:"LibrarianStatuses",Library:"Libraries"};Object.freeze(u);const v=["Users","Groups","Libraries","Flags","Tasks","Stats"];Object.freeze(v);const C=r=>r in u?u[r]:r+"s",D=l("admin",{state:()=>({librarianStatuses:[],unseenFailedImports:!1,users:[],groups:[],libraries:void 0,failedImports:[],flags:[],folderPicker:{root:void 0,folders:[]},timestamps:{},stats:void 0,activeTab:"Libraries"}),getters:{isUserAdmin(){return m().isUserAdmin},normalLibraries(){const r=[];if(this.libraries)for(const t of this.libraries)t.coversOnly||r.push(t);return r},customCoverLibraries(){const r=[];if(this.libraries)for(const t of this.libraries)t.coversOnly&&r.push(t);return r},doNormalComicLibrariesExist(){return Object.keys(this.normalLibraries).length>0}},actions:{async loadTable(r){if(!this.isUserAdmin)return!1;const t=C(r),s="get"+t;await n[s]().then(a=>{const i=t.charAt(0).toLowerCase()+t.slice(1);return Array.isArray(a.data)?(this[i]=a.data,!0):(console.warn(i,"response not an array"),!1)}).catch(j)},loadTables(r){for(const t of r)this.loadTable(t)},async loadFolders(r,t){if(!this.isUserAdmin)return!1;await n.getFolders(r,t).then(s=>(this.folderPicker=s.data,!0)).catch(o().setErrors)},async clearFolders(r){if(!this.isUserAdmin)return!1;this.folderPicker={root:r,folders:[""]}},async createRow(r,t){if(!this.isUserAdmin)return!1;const s="create"+r,a=o();await n[s](t).then(()=>(a.clearErrors(),this.loadTable(r))).catch(a.setErrors)},async updateRow(r,t,s){if(!this.isUserAdmin)return!1;const a="update"+r,i=o();await n[a](t,s).then(()=>(i.clearErrors(),this.loadTable(r))).catch(i.setErrors)},async changeUserPassword(r,t){if(!this.isUserAdmin)return!1;const s=o();await n.changeUserPassword(r,t).then(a=>(s.setSuccess(a.data.detail),!0)).catch(s.setErrors)},async deleteRow(r,t){if(!this.isUserAdmin)return!1;const s="delete"+r,a=o();await n[s](t).then(()=>(a.clearErrors(),this.loadTable(r))).catch(a.setErrors)},async librarianTask(r,t,s){if(!this.isUserAdmin)return!1;const a=o();await n.postLibrarianTask({task:r,libraryId:s}).then(()=>a.setSuccess(t)).catch(a.setErrors)},nameSet(r,t,s,a){const i=new Set;if(r)for(const d of r)(!a||!s||d[t]!==s[t])&&i.add(d[t]);return i},async loadStats(){await n.getStats().then(r=>(this.stats=r.data,!0)).catch(console.warn)},async updateAPIKey(){await n.updateAPIKey().then(()=>!0).catch(console.warn)}}});export{v as TABS,D as useAdminStore};
1
+ import{cI as e,cJ as c,b3 as l,D as m,B as o}from"./main-B5uflU6E.js";const p=r=>e.post("/admin/user",r),f=()=>{const r=c();return e.get("/admin/user",{params:r})},h=(r,t)=>e.put(`/admin/user/${r}/`,t),b=(r,t)=>e.put(`/admin/user/${r}/password`,t),g=r=>e.delete(`/admin/user/${r}/`),y=r=>e.post("/admin/group",r),w=()=>{const r=c();return e.get("/admin/group",{params:r})},S=(r,t)=>e.put(`/admin/group/${r}/`,t),A=r=>e.delete(`/admin/group/${r}/`),L=r=>e.post("/admin/library",r),U=()=>{const r=c();return e.get("/admin/library",{params:r})},T=(r,t)=>e.put(`/admin/library/${r}/`,t),F=r=>e.delete(`/admin/library/${r}/`),P=(r,t)=>{const s={path:r,showHidden:t};return e.get("/admin/folders",{params:s})},E=()=>{const r=c();return e.get("/admin/failed-import",{params:r})},k=()=>{const r=c();return e.get("/admin/flag",{params:r})},I=(r,t)=>e.put(`/admin/flag/${r}/`,t),$=async r=>await e.post("/admin/librarian/task",r),G=()=>{const r={ts:Date.now()};return e.get("/admin/librarian/status",{params:r})},R=()=>{const r={ts:Date.now()};return e.get("/admin/stats",{params:r})},O=async()=>await e.put("/admin/api_key"),n={changeUserPassword:b,createGroup:y,createLibrary:L,createUser:p,deleteLibrary:F,deleteGroup:A,deleteUser:g,getFailedImports:E,getFlags:k,getFolders:P,getGroups:w,getLibrarianStatuses:G,getLibraries:U,getStats:R,getUsers:f,postLibrarianTask:$,updateAPIKey:O,updateFlag:I,updateGroup:S,updateLibrary:T,updateUser:h},j=r=>console.warn(r),u={LibrarianStatus:"LibrarianStatuses",Library:"Libraries"};Object.freeze(u);const v=["Users","Groups","Libraries","Flags","Tasks","Stats"];Object.freeze(v);const C=r=>r in u?u[r]:r+"s",D=l("admin",{state:()=>({librarianStatuses:[],unseenFailedImports:!1,users:[],groups:[],libraries:void 0,failedImports:[],flags:[],folderPicker:{root:void 0,folders:[]},timestamps:{},stats:void 0,activeTab:"Libraries"}),getters:{isUserAdmin(){return m().isUserAdmin},normalLibraries(){const r=[];if(this.libraries)for(const t of this.libraries)t.coversOnly||r.push(t);return r},customCoverLibraries(){const r=[];if(this.libraries)for(const t of this.libraries)t.coversOnly&&r.push(t);return r},doNormalComicLibrariesExist(){return Object.keys(this.normalLibraries).length>0}},actions:{async loadTable(r){if(!this.isUserAdmin)return!1;const t=C(r),s="get"+t;await n[s]().then(a=>{const i=t.charAt(0).toLowerCase()+t.slice(1);return Array.isArray(a.data)?(this[i]=a.data,!0):(console.warn(i,"response not an array"),!1)}).catch(j)},loadTables(r){for(const t of r)this.loadTable(t)},async loadFolders(r,t){if(!this.isUserAdmin)return!1;await n.getFolders(r,t).then(s=>(this.folderPicker=s.data,!0)).catch(o().setErrors)},async clearFolders(r){if(!this.isUserAdmin)return!1;this.folderPicker={root:r,folders:[""]}},async createRow(r,t){if(!this.isUserAdmin)return!1;const s="create"+r,a=o();await n[s](t).then(()=>(a.clearErrors(),this.loadTable(r))).catch(a.setErrors)},async updateRow(r,t,s){if(!this.isUserAdmin)return!1;const a="update"+r,i=o();await n[a](t,s).then(()=>(i.clearErrors(),this.loadTable(r))).catch(i.setErrors)},async changeUserPassword(r,t){if(!this.isUserAdmin)return!1;const s=o();await n.changeUserPassword(r,t).then(a=>(s.setSuccess(a.data.detail),!0)).catch(s.setErrors)},async deleteRow(r,t){if(!this.isUserAdmin)return!1;const s="delete"+r,a=o();await n[s](t).then(()=>(a.clearErrors(),this.loadTable(r))).catch(a.setErrors)},async librarianTask(r,t,s){if(!this.isUserAdmin)return!1;const a=o();await n.postLibrarianTask({task:r,libraryId:s}).then(()=>a.setSuccess(t)).catch(a.setErrors)},nameSet(r,t,s,a){const i=new Set;if(r)for(const d of r)(!a||!s||d[t]!==s[t])&&i.add(d[t]);return i},async loadStats(){await n.getStats().then(r=>(this.stats=r.data,!0)).catch(console.warn)},async updateAPIKey(){await n.updateAPIKey().then(()=>!0).catch(console.warn)}}});export{v as TABS,D as useAdminStore};
@@ -1 +1 @@
1
- import{cI as e,cJ as c,b3 as l,D as m,B as o}from"./main-BbNUiWEb.js";const p=r=>e.post("/admin/user",r),f=()=>{const r=c();return e.get("/admin/user",{params:r})},h=(r,t)=>e.put(`/admin/user/${r}/`,t),b=(r,t)=>e.put(`/admin/user/${r}/password`,t),g=r=>e.delete(`/admin/user/${r}/`),y=r=>e.post("/admin/group",r),w=()=>{const r=c();return e.get("/admin/group",{params:r})},S=(r,t)=>e.put(`/admin/group/${r}/`,t),A=r=>e.delete(`/admin/group/${r}/`),L=r=>e.post("/admin/library",r),U=()=>{const r=c();return e.get("/admin/library",{params:r})},T=(r,t)=>e.put(`/admin/library/${r}/`,t),F=r=>e.delete(`/admin/library/${r}/`),P=(r,t)=>{const s={path:r,showHidden:t};return e.get("/admin/folders",{params:s})},E=()=>{const r=c();return e.get("/admin/failed-import",{params:r})},k=()=>{const r=c();return e.get("/admin/flag",{params:r})},I=(r,t)=>e.put(`/admin/flag/${r}/`,t),$=async r=>await e.post("/admin/librarian/task",r),G=()=>{const r={ts:Date.now()};return e.get("/admin/librarian/status",{params:r})},R=()=>{const r={ts:Date.now()};return e.get("/admin/stats",{params:r})},O=async()=>await e.put("/admin/api_key"),n={changeUserPassword:b,createGroup:y,createLibrary:L,createUser:p,deleteLibrary:F,deleteGroup:A,deleteUser:g,getFailedImports:E,getFlags:k,getFolders:P,getGroups:w,getLibrarianStatuses:G,getLibraries:U,getStats:R,getUsers:f,postLibrarianTask:$,updateAPIKey:O,updateFlag:I,updateGroup:S,updateLibrary:T,updateUser:h},j=r=>console.warn(r),u={LibrarianStatus:"LibrarianStatuses",Library:"Libraries"};Object.freeze(u);const v=["Users","Groups","Libraries","Flags","Tasks","Stats"];Object.freeze(v);const C=r=>r in u?u[r]:r+"s",D=l("admin",{state:()=>({librarianStatuses:[],unseenFailedImports:!1,users:[],groups:[],libraries:void 0,failedImports:[],flags:[],folderPicker:{root:void 0,folders:[]},timestamps:{},stats:void 0,activeTab:"Libraries"}),getters:{isUserAdmin(){return m().isUserAdmin},normalLibraries(){const r=[];if(this.libraries)for(const t of this.libraries)t.coversOnly||r.push(t);return r},customCoverLibraries(){const r=[];if(this.libraries)for(const t of this.libraries)t.coversOnly&&r.push(t);return r},doNormalComicLibrariesExist(){return Object.keys(this.normalLibraries).length>0}},actions:{async loadTable(r){if(!this.isUserAdmin)return!1;const t=C(r),s="get"+t;await n[s]().then(a=>{const i=t.charAt(0).toLowerCase()+t.slice(1);return Array.isArray(a.data)?(this[i]=a.data,!0):(console.warn(i,"response not an array"),!1)}).catch(j)},loadTables(r){for(const t of r)this.loadTable(t)},async loadFolders(r,t){if(!this.isUserAdmin)return!1;await n.getFolders(r,t).then(s=>(this.folderPicker=s.data,!0)).catch(o().setErrors)},async clearFolders(r){if(!this.isUserAdmin)return!1;this.folderPicker={root:r,folders:[""]}},async createRow(r,t){if(!this.isUserAdmin)return!1;const s="create"+r,a=o();await n[s](t).then(()=>(a.clearErrors(),this.loadTable(r))).catch(a.setErrors)},async updateRow(r,t,s){if(!this.isUserAdmin)return!1;const a="update"+r,i=o();await n[a](t,s).then(()=>(i.clearErrors(),this.loadTable(r))).catch(i.setErrors)},async changeUserPassword(r,t){if(!this.isUserAdmin)return!1;const s=o();await n.changeUserPassword(r,t).then(a=>(s.setSuccess(a.data.detail),!0)).catch(s.setErrors)},async deleteRow(r,t){if(!this.isUserAdmin)return!1;const s="delete"+r,a=o();await n[s](t).then(()=>(a.clearErrors(),this.loadTable(r))).catch(a.setErrors)},async librarianTask(r,t,s){if(!this.isUserAdmin)return!1;const a=o();await n.postLibrarianTask({task:r,libraryId:s}).then(()=>a.setSuccess(t)).catch(a.setErrors)},nameSet(r,t,s,a){const i=new Set;if(r)for(const d of r)(!a||!s||d[t]!==s[t])&&i.add(d[t]);return i},async loadStats(){await n.getStats().then(r=>(this.stats=r.data,!0)).catch(console.warn)},async updateAPIKey(){await n.updateAPIKey().then(()=>!0).catch(console.warn)}}});export{v as TABS,D as useAdminStore};
1
+ import{cI as e,cJ as c,b3 as l,D as m,B as o}from"./main-B5uflU6E.js";const p=r=>e.post("/admin/user",r),f=()=>{const r=c();return e.get("/admin/user",{params:r})},h=(r,t)=>e.put(`/admin/user/${r}/`,t),b=(r,t)=>e.put(`/admin/user/${r}/password`,t),g=r=>e.delete(`/admin/user/${r}/`),y=r=>e.post("/admin/group",r),w=()=>{const r=c();return e.get("/admin/group",{params:r})},S=(r,t)=>e.put(`/admin/group/${r}/`,t),A=r=>e.delete(`/admin/group/${r}/`),L=r=>e.post("/admin/library",r),U=()=>{const r=c();return e.get("/admin/library",{params:r})},T=(r,t)=>e.put(`/admin/library/${r}/`,t),F=r=>e.delete(`/admin/library/${r}/`),P=(r,t)=>{const s={path:r,showHidden:t};return e.get("/admin/folders",{params:s})},E=()=>{const r=c();return e.get("/admin/failed-import",{params:r})},k=()=>{const r=c();return e.get("/admin/flag",{params:r})},I=(r,t)=>e.put(`/admin/flag/${r}/`,t),$=async r=>await e.post("/admin/librarian/task",r),G=()=>{const r={ts:Date.now()};return e.get("/admin/librarian/status",{params:r})},R=()=>{const r={ts:Date.now()};return e.get("/admin/stats",{params:r})},O=async()=>await e.put("/admin/api_key"),n={changeUserPassword:b,createGroup:y,createLibrary:L,createUser:p,deleteLibrary:F,deleteGroup:A,deleteUser:g,getFailedImports:E,getFlags:k,getFolders:P,getGroups:w,getLibrarianStatuses:G,getLibraries:U,getStats:R,getUsers:f,postLibrarianTask:$,updateAPIKey:O,updateFlag:I,updateGroup:S,updateLibrary:T,updateUser:h},j=r=>console.warn(r),u={LibrarianStatus:"LibrarianStatuses",Library:"Libraries"};Object.freeze(u);const v=["Users","Groups","Libraries","Flags","Tasks","Stats"];Object.freeze(v);const C=r=>r in u?u[r]:r+"s",D=l("admin",{state:()=>({librarianStatuses:[],unseenFailedImports:!1,users:[],groups:[],libraries:void 0,failedImports:[],flags:[],folderPicker:{root:void 0,folders:[]},timestamps:{},stats:void 0,activeTab:"Libraries"}),getters:{isUserAdmin(){return m().isUserAdmin},normalLibraries(){const r=[];if(this.libraries)for(const t of this.libraries)t.coversOnly||r.push(t);return r},customCoverLibraries(){const r=[];if(this.libraries)for(const t of this.libraries)t.coversOnly&&r.push(t);return r},doNormalComicLibrariesExist(){return Object.keys(this.normalLibraries).length>0}},actions:{async loadTable(r){if(!this.isUserAdmin)return!1;const t=C(r),s="get"+t;await n[s]().then(a=>{const i=t.charAt(0).toLowerCase()+t.slice(1);return Array.isArray(a.data)?(this[i]=a.data,!0):(console.warn(i,"response not an array"),!1)}).catch(j)},loadTables(r){for(const t of r)this.loadTable(t)},async loadFolders(r,t){if(!this.isUserAdmin)return!1;await n.getFolders(r,t).then(s=>(this.folderPicker=s.data,!0)).catch(o().setErrors)},async clearFolders(r){if(!this.isUserAdmin)return!1;this.folderPicker={root:r,folders:[""]}},async createRow(r,t){if(!this.isUserAdmin)return!1;const s="create"+r,a=o();await n[s](t).then(()=>(a.clearErrors(),this.loadTable(r))).catch(a.setErrors)},async updateRow(r,t,s){if(!this.isUserAdmin)return!1;const a="update"+r,i=o();await n[a](t,s).then(()=>(i.clearErrors(),this.loadTable(r))).catch(i.setErrors)},async changeUserPassword(r,t){if(!this.isUserAdmin)return!1;const s=o();await n.changeUserPassword(r,t).then(a=>(s.setSuccess(a.data.detail),!0)).catch(s.setErrors)},async deleteRow(r,t){if(!this.isUserAdmin)return!1;const s="delete"+r,a=o();await n[s](t).then(()=>(a.clearErrors(),this.loadTable(r))).catch(a.setErrors)},async librarianTask(r,t,s){if(!this.isUserAdmin)return!1;const a=o();await n.postLibrarianTask({task:r,libraryId:s}).then(()=>a.setSuccess(t)).catch(a.setErrors)},nameSet(r,t,s,a){const i=new Set;if(r)for(const d of r)(!a||!s||d[t]!==s[t])&&i.add(d[t]);return i},async loadStats(){await n.getStats().then(r=>(this.stats=r.data,!0)).catch(console.warn)},async updateAPIKey(){await n.updateAPIKey().then(()=>!0).catch(console.warn)}}});export{v as TABS,D as useAdminStore};
@@ -0,0 +1 @@
1
+ import{p as I,o as Y,g as W,r as j,c as P,u as L,a as s,F as x,m as A,i as le,b as J,t as S,d as de,e as ce,f as ue,h as me,j as be,_ as B,k as b,l as m,n as C,w as p,q as fe,s as F,v as _,x as E,y as K,z as ve,A as Q,B as pe,C as M,D as Z,E as we,G as ge,H as _e,I as Se}from"./main-B5uflU6E.js";import{A as he,V as ye,a as Ve,b as Te,U as Ae,c as Ce}from"./unauthorized-Dld9cV8d.js";import{S as xe,a as Be}from"./settings-drawer-DY8o-jF3.js";import{TABS as ee,useAdminStore as D}from"./admin-B4z2nA5P.js";import{m as $e,u as ke,V as q,f as De,a as Pe,s as Ie,b as We,c as Le,d as Ue,e as ze}from"./forwardRefs-i80xmxX3.js";import{m as Ee,V as H,a as Me,b as N}from"./VWindowItem-Dm2szrjK.js";import{m as He,V as X}from"./VDivider-By4u2EsM.js";import{u as Ne}from"./VDialog-Dr7SuC2S.js";import"./change-password-dialog-BKar2Bhb.js";import"./VForm-XhA6T0Lc.js";import"./VSelectionControl-BkZZAsWo.js";import"./ssrBoot-DRKt_yWP.js";import"./copy-to-clipboard-DoUvDJVx.js";const G=Symbol.for("vuetify:v-tabs"),Ge=I({fixed:Boolean,sliderColor:String,hideSlider:Boolean,direction:{type:String,default:"horizontal"},...Y($e({selectedClass:"v-tab--selected",variant:"text"}),["active","block","flat","location","position","symbol"])},"VTab"),te=W()({name:"VTab",props:Ge(),setup(e,a){let{slots:i,attrs:t}=a;const{textColorClasses:l,textColorStyles:r}=ke(e,"sliderColor"),n=j(),o=j(),c=P(()=>e.direction==="horizontal"),f=P(()=>{var w,d;return((d=(w=n.value)==null?void 0:w.group)==null?void 0:d.isSelected.value)??!1});function U(w){var u,g;let{value:d}=w;if(d){const v=(g=(u=n.value)==null?void 0:u.$el.parentElement)==null?void 0:g.querySelector(".v-tab--selected .v-tab__slider"),z=o.value;if(!v||!z)return;const ae=getComputedStyle(v).color,h=v.getBoundingClientRect(),y=z.getBoundingClientRect(),$=c.value?"x":"y",k=c.value?"X":"Y",O=c.value?"right":"bottom",V=c.value?"width":"height",ne=h[$],se=y[$],T=ne>se?h[O]-y[O]:h[$]-y[$],oe=Math.sign(T)>0?c.value?"right":"bottom":Math.sign(T)<0?c.value?"left":"top":"center",re=(Math.abs(T)+(Math.sign(T)<0?h[V]:y[V]))/Math.max(h[V],y[V])||0,ie=h[V]/y[V]||0,R=1.5;Pe(z,{backgroundColor:[ae,"currentcolor"],transform:[`translate${k}(${T}px) scale${k}(${ie})`,`translate${k}(${T/R}px) scale${k}(${(re-1)/R+1})`,"none"],transformOrigin:Array(3).fill(oe)},{duration:225,easing:Ie})}}return L(()=>{const w=q.filterProps(e);return s(q,A({symbol:G,ref:n,class:["v-tab",e.class],style:e.style,tabindex:f.value?0:-1,role:"tab","aria-selected":String(f.value),active:!1},w,t,{block:e.fixed,maxWidth:e.fixed?300:void 0,"onGroup:selected":U}),{...i,default:()=>{var d;return s(x,null,[((d=i.default)==null?void 0:d.call(i))??e.text,!e.hideSlider&&s("div",{ref:o,class:["v-tab__slider",l.value],style:r.value},null)])}})}),De({},n)}}),Oe=I({...Y(Ee(),["continuous","nextIcon","prevIcon","showArrows","touch","mandatory"])},"VTabsWindow"),Re=W()({name:"VTabsWindow",props:Oe(),emits:{"update:modelValue":e=>!0},setup(e,a){let{slots:i}=a;const t=le(G,null),l=J(e,"modelValue"),r=P({get(){var n;return l.value!=null||!t?l.value:(n=t.items.value.find(o=>t.selected.value.includes(o.id)))==null?void 0:n.value},set(n){l.value=n}});return L(()=>{const n=H.filterProps(e);return s(H,A({_as:"VTabsWindow"},n,{modelValue:r.value,"onUpdate:modelValue":o=>r.value=o,class:["v-tabs-window",e.class],style:e.style,mandatory:!1,touch:!1}),i)}),{}}}),je=I({...Me()},"VTabsWindowItem"),Fe=W()({name:"VTabsWindowItem",props:je(),setup(e,a){let{slots:i}=a;return L(()=>{const t=N.filterProps(e);return s(N,A({_as:"VTabsWindowItem"},t,{class:["v-tabs-window-item",e.class],style:e.style}),i)}),{}}});function qe(e){return e?e.map(a=>ue(a)?a:{text:a,value:a}):[]}const Xe=I({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,...He({mandatory:"force",selectedClass:"v-tab-item--selected"}),...We(),...Le()},"VTabs"),Ye=W()({name:"VTabs",props:Xe(),emits:{"update:modelValue":e=>!0},setup(e,a){let{attrs:i,slots:t}=a;const l=J(e,"modelValue"),r=P(()=>qe(e.items)),{densityClasses:n}=Ue(e),{backgroundColorClasses:o,backgroundColorStyles:c}=ze(S(e,"bgColor")),{scopeId:f}=Ne();return de({VTab:{color:S(e,"color"),direction:S(e,"direction"),stacked:S(e,"stacked"),fixed:S(e,"fixedTabs"),sliderColor:S(e,"sliderColor"),hideSlider:S(e,"hideSlider")}}),L(()=>{const U=X.filterProps(e),w=!!(t.window||e.items.length>0);return s(x,null,[s(X,A(U,{modelValue:l.value,"onUpdate:modelValue":d=>l.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},n.value,o.value,e.class],style:[{"--v-tabs-height":ce(e.height)},c.value,e.style],role:"tablist",symbol:G},f,i),{default:()=>{var d;return[((d=t.default)==null?void 0:d.call(t))??r.value.map(u=>{var g;return((g=t.tab)==null?void 0:g.call(t,{item:u}))??s(te,A(u,{key:u.text,value:u.value}),{default:t[`tab.${u.value}`]?()=>{var v;return(v=t[`tab.${u.value}`])==null?void 0:v.call(t,{item:u})}:void 0})})]}}),w&&s(Re,A({modelValue:l.value,"onUpdate:modelValue":d=>l.value=d,key:"tabs-window"},f),{default:()=>{var d;return[r.value.map(u=>{var g;return((g=t.item)==null?void 0:g.call(t,{item:u}))??s(Fe,{value:u.value},{default:()=>{var v;return(v=t[`item.${u.value}`])==null?void 0:v.call(t,{item:u})}})}),(d=t.window)==null?void 0:d.call(t)]}})])}),{}}}),Je={name:"AdminTitleToolbar",components:{AppBanner:he,SettingsDrawerButton:xe},data(){return{TABS:ee}},computed:{...me(D,["activeTab"]),mdAndDown(){return this.$vuetify.display.mdAndDown}},watch:{$route(e){const i=e.path.split("/").at(-1);this.activeTab=be(i)}}};function Ke(e,a,i,t,l,r){const n=b("AppBanner"),o=b("SettingsDrawerButton");return m(),C("header",{id:"adminHeader",class:E({drawerMargin:!r.mdAndDown})},[s(n),s(Ve,{id:"titleBar",flat:"",density:"compact"},{default:p(()=>[a[2]||(a[2]=fe("span",{id:"buttonSpacer"},null,-1)),s(ye,{class:"codexToolbarTitle"},{default:p(()=>a[1]||(a[1]=[F(" Codex Administration ")])),_:1}),(m(),_(o,{key:r.mdAndDown,class:E(["adminSettingsButton",{invisible:!r.mdAndDown}]),disabled:!r.mdAndDown},null,8,["class","disabled"]))]),_:1}),s(Ye,{class:"adminTabs",grow:"","show-arrows":""},{default:p(()=>[(m(!0),C(x,null,K(l.TABS,c=>(m(),_(te,{key:c,modelValue:e.activeTab,"onUpdate:modelValue":a[0]||(a[0]=f=>e.activeTab=f),to:c.toLowerCase()},{default:p(()=>[F(ve(c),1)]),_:2},1032,["modelValue","to"]))),128))]),_:1})],2)}const Qe=B(Je,[["render",Ke],["__scopeId","data-v-026356a3"]]),Ze={name:"AdminSettingsPanel",components:{AdminBrowserLink:Te}};function et(e,a,i,t,l,r){const n=b("AdminBrowserLink");return m(),_(n)}const tt=B(Ze,[["render",et]]),at={name:"AdminSettingsDrawer",components:{SettingsDrawer:Be,AdminSettingsPanel:tt},computed:{mdAndDown(){return this.$vuetify.display.mdAndDown}},watch:{mdAndDown(e){e||this.setSettingsDrawerOpen(!0)}},mounted(){this.mdAndDown||this.setSettingsDrawerOpen(!0)},methods:{...Q(pe,["setSettingsDrawerOpen"])}};function nt(e,a,i,t,l,r){const n=b("AdminSettingsPanel"),o=b("SettingsDrawer");return m(),_(o,{title:"Admin",temporary:r.mdAndDown},{panel:p(()=>[s(n)]),_:1},8,["temporary"])}const st=B(at,[["render",nt]]),ot={name:"AdminTabs",data(){return{TABS:ee}},computed:{...M(D,["doNormalComicLibrariesExist"]),...M(Z,["isBanner"]),...we(D,{librariesLoaded:e=>!!e.libraries,activeTab:e=>e.activeTab}),classes(){let e="tabItems";return this.isBanner&&(e+="Banner"),{[e]:!0}}},mounted(){this.librariesLoaded||this.loadTables(["Library"])},methods:{...Q(D,["loadTables"])}},rt={key:0,id:"noLibraries"};function it(e,a,i,t,l,r){const n=b("router-view");return m(),C(x,null,[s(H,{modelValue:e.activeTab,"onUpdate:modelValue":a[0]||(a[0]=o=>e.activeTab=o),class:E(r.classes),touch:!1},{default:p(()=>[(m(!0),C(x,null,K(l.TABS,o=>(m(),_(n,{key:o},{default:p(({Component:c})=>[s(N,{value:o,class:"tabItemContainer"},{default:p(()=>[(m(),_(ge(c)))]),_:2},1032,["value"])]),_:2},1024))),128))]),_:1},8,["modelValue","class"]),e.doNormalComicLibrariesExist?_e("",!0):(m(),C("div",rt," Codex has no libraries. Select the Libraries tab and add a comic library. "))],64)}const lt=B(ot,[["render",it],["__scopeId","data-v-a3adef35"]]),dt={name:"MainAdmin",components:{AdminHeader:Qe,AdminSettingsDrawer:st,AdminTabs:lt,Unauthorized:Ae},data(){return{mdiLogin:Se}},computed:{...M(Z,["isUserAdmin"])}};function ct(e,a,i,t,l,r){const n=b("AdminHeader"),o=b("AdminTabs"),c=b("AdminSettingsDrawer"),f=b("Unauthorized");return e.isUserAdmin?(m(),_(Ce,{key:0},{default:p(()=>[s(n),s(o),s(c)]),_:1})):(m(),_(f,{key:1}))}const At=B(dt,[["render",ct]]);export{At as default};
@@ -0,0 +1 @@
1
+ import{p as I,o as Y,g as W,r as j,c as P,u as L,a as s,F as x,m as A,i as le,b as J,t as S,d as de,e as ce,f as ue,h as me,j as be,_ as B,k as b,l as m,n as C,w as p,q as fe,s as F,v as _,x as E,y as K,z as ve,A as Q,B as pe,C as M,D as Z,E as we,G as ge,H as _e,I as Se}from"./main-B5uflU6E.js";import{A as he,V as ye,a as Ve,b as Te,U as Ae,c as Ce}from"./unauthorized-Dld9cV8d.js";import{S as xe,a as Be}from"./settings-drawer-DY8o-jF3.js";import{TABS as ee,useAdminStore as D}from"./admin-B4z2nA5P.js";import{m as $e,u as ke,V as q,f as De,a as Pe,s as Ie,b as We,c as Le,d as Ue,e as ze}from"./forwardRefs-i80xmxX3.js";import{m as Ee,V as H,a as Me,b as N}from"./VWindowItem-Dm2szrjK.js";import{m as He,V as X}from"./VDivider-By4u2EsM.js";import{u as Ne}from"./VDialog-Dr7SuC2S.js";import"./change-password-dialog-BKar2Bhb.js";import"./VForm-XhA6T0Lc.js";import"./VSelectionControl-BkZZAsWo.js";import"./ssrBoot-DRKt_yWP.js";import"./copy-to-clipboard-DoUvDJVx.js";const G=Symbol.for("vuetify:v-tabs"),Ge=I({fixed:Boolean,sliderColor:String,hideSlider:Boolean,direction:{type:String,default:"horizontal"},...Y($e({selectedClass:"v-tab--selected",variant:"text"}),["active","block","flat","location","position","symbol"])},"VTab"),te=W()({name:"VTab",props:Ge(),setup(e,a){let{slots:i,attrs:t}=a;const{textColorClasses:l,textColorStyles:r}=ke(e,"sliderColor"),n=j(),o=j(),c=P(()=>e.direction==="horizontal"),f=P(()=>{var w,d;return((d=(w=n.value)==null?void 0:w.group)==null?void 0:d.isSelected.value)??!1});function U(w){var u,g;let{value:d}=w;if(d){const v=(g=(u=n.value)==null?void 0:u.$el.parentElement)==null?void 0:g.querySelector(".v-tab--selected .v-tab__slider"),z=o.value;if(!v||!z)return;const ae=getComputedStyle(v).color,h=v.getBoundingClientRect(),y=z.getBoundingClientRect(),$=c.value?"x":"y",k=c.value?"X":"Y",O=c.value?"right":"bottom",V=c.value?"width":"height",ne=h[$],se=y[$],T=ne>se?h[O]-y[O]:h[$]-y[$],oe=Math.sign(T)>0?c.value?"right":"bottom":Math.sign(T)<0?c.value?"left":"top":"center",re=(Math.abs(T)+(Math.sign(T)<0?h[V]:y[V]))/Math.max(h[V],y[V])||0,ie=h[V]/y[V]||0,R=1.5;Pe(z,{backgroundColor:[ae,"currentcolor"],transform:[`translate${k}(${T}px) scale${k}(${ie})`,`translate${k}(${T/R}px) scale${k}(${(re-1)/R+1})`,"none"],transformOrigin:Array(3).fill(oe)},{duration:225,easing:Ie})}}return L(()=>{const w=q.filterProps(e);return s(q,A({symbol:G,ref:n,class:["v-tab",e.class],style:e.style,tabindex:f.value?0:-1,role:"tab","aria-selected":String(f.value),active:!1},w,t,{block:e.fixed,maxWidth:e.fixed?300:void 0,"onGroup:selected":U}),{...i,default:()=>{var d;return s(x,null,[((d=i.default)==null?void 0:d.call(i))??e.text,!e.hideSlider&&s("div",{ref:o,class:["v-tab__slider",l.value],style:r.value},null)])}})}),De({},n)}}),Oe=I({...Y(Ee(),["continuous","nextIcon","prevIcon","showArrows","touch","mandatory"])},"VTabsWindow"),Re=W()({name:"VTabsWindow",props:Oe(),emits:{"update:modelValue":e=>!0},setup(e,a){let{slots:i}=a;const t=le(G,null),l=J(e,"modelValue"),r=P({get(){var n;return l.value!=null||!t?l.value:(n=t.items.value.find(o=>t.selected.value.includes(o.id)))==null?void 0:n.value},set(n){l.value=n}});return L(()=>{const n=H.filterProps(e);return s(H,A({_as:"VTabsWindow"},n,{modelValue:r.value,"onUpdate:modelValue":o=>r.value=o,class:["v-tabs-window",e.class],style:e.style,mandatory:!1,touch:!1}),i)}),{}}}),je=I({...Me()},"VTabsWindowItem"),Fe=W()({name:"VTabsWindowItem",props:je(),setup(e,a){let{slots:i}=a;return L(()=>{const t=N.filterProps(e);return s(N,A({_as:"VTabsWindowItem"},t,{class:["v-tabs-window-item",e.class],style:e.style}),i)}),{}}});function qe(e){return e?e.map(a=>ue(a)?a:{text:a,value:a}):[]}const Xe=I({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,...He({mandatory:"force",selectedClass:"v-tab-item--selected"}),...We(),...Le()},"VTabs"),Ye=W()({name:"VTabs",props:Xe(),emits:{"update:modelValue":e=>!0},setup(e,a){let{attrs:i,slots:t}=a;const l=J(e,"modelValue"),r=P(()=>qe(e.items)),{densityClasses:n}=Ue(e),{backgroundColorClasses:o,backgroundColorStyles:c}=ze(S(e,"bgColor")),{scopeId:f}=Ne();return de({VTab:{color:S(e,"color"),direction:S(e,"direction"),stacked:S(e,"stacked"),fixed:S(e,"fixedTabs"),sliderColor:S(e,"sliderColor"),hideSlider:S(e,"hideSlider")}}),L(()=>{const U=X.filterProps(e),w=!!(t.window||e.items.length>0);return s(x,null,[s(X,A(U,{modelValue:l.value,"onUpdate:modelValue":d=>l.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},n.value,o.value,e.class],style:[{"--v-tabs-height":ce(e.height)},c.value,e.style],role:"tablist",symbol:G},f,i),{default:()=>{var d;return[((d=t.default)==null?void 0:d.call(t))??r.value.map(u=>{var g;return((g=t.tab)==null?void 0:g.call(t,{item:u}))??s(te,A(u,{key:u.text,value:u.value}),{default:t[`tab.${u.value}`]?()=>{var v;return(v=t[`tab.${u.value}`])==null?void 0:v.call(t,{item:u})}:void 0})})]}}),w&&s(Re,A({modelValue:l.value,"onUpdate:modelValue":d=>l.value=d,key:"tabs-window"},f),{default:()=>{var d;return[r.value.map(u=>{var g;return((g=t.item)==null?void 0:g.call(t,{item:u}))??s(Fe,{value:u.value},{default:()=>{var v;return(v=t[`item.${u.value}`])==null?void 0:v.call(t,{item:u})}})}),(d=t.window)==null?void 0:d.call(t)]}})])}),{}}}),Je={name:"AdminTitleToolbar",components:{AppBanner:he,SettingsDrawerButton:xe},data(){return{TABS:ee}},computed:{...me(D,["activeTab"]),mdAndDown(){return this.$vuetify.display.mdAndDown}},watch:{$route(e){const i=e.path.split("/").at(-1);this.activeTab=be(i)}}};function Ke(e,a,i,t,l,r){const n=b("AppBanner"),o=b("SettingsDrawerButton");return m(),C("header",{id:"adminHeader",class:E({drawerMargin:!r.mdAndDown})},[s(n),s(Ve,{id:"titleBar",flat:"",density:"compact"},{default:p(()=>[a[2]||(a[2]=fe("span",{id:"buttonSpacer"},null,-1)),s(ye,{class:"codexToolbarTitle"},{default:p(()=>a[1]||(a[1]=[F(" Codex Administration ")])),_:1}),(m(),_(o,{key:r.mdAndDown,class:E(["adminSettingsButton",{invisible:!r.mdAndDown}]),disabled:!r.mdAndDown},null,8,["class","disabled"]))]),_:1}),s(Ye,{class:"adminTabs",grow:"","show-arrows":""},{default:p(()=>[(m(!0),C(x,null,K(l.TABS,c=>(m(),_(te,{key:c,modelValue:e.activeTab,"onUpdate:modelValue":a[0]||(a[0]=f=>e.activeTab=f),to:c.toLowerCase()},{default:p(()=>[F(ve(c),1)]),_:2},1032,["modelValue","to"]))),128))]),_:1})],2)}const Qe=B(Je,[["render",Ke],["__scopeId","data-v-026356a3"]]),Ze={name:"AdminSettingsPanel",components:{AdminBrowserLink:Te}};function et(e,a,i,t,l,r){const n=b("AdminBrowserLink");return m(),_(n)}const tt=B(Ze,[["render",et]]),at={name:"AdminSettingsDrawer",components:{SettingsDrawer:Be,AdminSettingsPanel:tt},computed:{mdAndDown(){return this.$vuetify.display.mdAndDown}},watch:{mdAndDown(e){e||this.setSettingsDrawerOpen(!0)}},mounted(){this.mdAndDown||this.setSettingsDrawerOpen(!0)},methods:{...Q(pe,["setSettingsDrawerOpen"])}};function nt(e,a,i,t,l,r){const n=b("AdminSettingsPanel"),o=b("SettingsDrawer");return m(),_(o,{title:"Admin",temporary:r.mdAndDown},{panel:p(()=>[s(n)]),_:1},8,["temporary"])}const st=B(at,[["render",nt]]),ot={name:"AdminTabs",data(){return{TABS:ee}},computed:{...M(D,["doNormalComicLibrariesExist"]),...M(Z,["isBanner"]),...we(D,{librariesLoaded:e=>!!e.libraries,activeTab:e=>e.activeTab}),classes(){let e="tabItems";return this.isBanner&&(e+="Banner"),{[e]:!0}}},mounted(){this.librariesLoaded||this.loadTables(["Library"])},methods:{...Q(D,["loadTables"])}},rt={key:0,id:"noLibraries"};function it(e,a,i,t,l,r){const n=b("router-view");return m(),C(x,null,[s(H,{modelValue:e.activeTab,"onUpdate:modelValue":a[0]||(a[0]=o=>e.activeTab=o),class:E(r.classes),touch:!1},{default:p(()=>[(m(!0),C(x,null,K(l.TABS,o=>(m(),_(n,{key:o},{default:p(({Component:c})=>[s(N,{value:o,class:"tabItemContainer"},{default:p(()=>[(m(),_(ge(c)))]),_:2},1032,["value"])]),_:2},1024))),128))]),_:1},8,["modelValue","class"]),e.doNormalComicLibrariesExist?_e("",!0):(m(),C("div",rt," Codex has no libraries. Select the Libraries tab and add a comic library. "))],64)}const lt=B(ot,[["render",it],["__scopeId","data-v-a3adef35"]]),dt={name:"MainAdmin",components:{AdminHeader:Qe,AdminSettingsDrawer:st,AdminTabs:lt,Unauthorized:Ae},data(){return{mdiLogin:Se}},computed:{...M(Z,["isUserAdmin"])}};function ct(e,a,i,t,l,r){const n=b("AdminHeader"),o=b("AdminTabs"),c=b("AdminSettingsDrawer"),f=b("Unauthorized");return e.isUserAdmin?(m(),_(Ce,{key:0},{default:p(()=>[s(n),s(o),s(c)]),_:1})):(m(),_(f,{key:1}))}const At=B(dt,[["render",ct]]);export{At as default};
@@ -1 +1 @@
1
- import{a1 as F,E as v,A as _,ag as J,_ as b,k as S,l as o,n as a,v as C,H as i,a as r,w as d,q as p,F as h,y as L,s as k,z as m,Z as g,bB as B,cK as M,C as y,D as A,bD as O,S as x}from"./main-BbNUiWEb.js";import{C as R}from"./change-password-dialog-1ZVP_Q2w.js";import{useAdminStore as I}from"./admin-80eqCqtz.js";import{d as D}from"./VSelectionControl-TaKCeZgb.js";import{a as f}from"./VDivider-D1Ot4vR2.js";import{n as U}from"./forwardRefs-DPRKg5wq.js";import{v as w,a as P,C as V}from"./VDialog-RVLeW7je.js";import{T as N}from"./index-9nBCksDQ.js";import"./VForm-DNmY-qFJ.js";const E="Create Covers",Q="Remove Covers",z="Find Orphan Covers",G="Adopt Orphan Folders",W="Create Custom Covers",K="Delete Custom Covers",X="Link Custom Covers",q="Custom Covers Moved",H="Discover Missing Custom Covers",Z="Modify Custom Covers",j="Remove Folders",Y="Move Folders",$="Modify Folders",ee="Create Books",te="Remove Books",se="Record Failed Imports",oe="Move Books",ne="Modify Books",ae="Update First Covers",re="Link Books to Tags",ie="Prepare Tags for Linking",le="Create Missing Tags",ce="Discover Missing Tags",de="Read Book Tags",me="Cleanup Orphan Bookmarks",Ce="Cleanup Custom Covers",Ie="Restart Codex",ue="Stop Codex",pe="Update Codex Software",ke="Backup Database",Se="Optimize Database",he="Search Index Integrity Check",De="Search Index Repair",ve="Database Integrity Check",_e="Database Foreign Key Check",be="Check Codex Latest Version",fe="Cleanup Expired Sessions",Te="Cleanup Stale Tags",Fe="Search Index Create",Je="Search Index Remove Stale Records",Le="Search Index Optimize",ge="Search Index Update",Be="Search Index Clear",Me="Poll Library",ye={CCC:E,CCD:Q,CFO:z,IAF:G,ICC:W,ICD:K,ICL:X,ICM:q,ICQ:H,ICU:Z,IDD:j,IDM:Y,IDU:$,IFC:ee,IFD:te,IFI:se,IFM:oe,IFU:ne,IGU:ae,IMC:re,IMQ:ie,ITC:le,ITQ:ce,ITR:de,JCB:me,JCD:Ce,JCR:Ie,JCS:ue,JCU:pe,JDB:ke,JDO:Se,JFC:he,JFR:De,JIC:ve,JIF:_e,JLV:be,JSD:fe,JTD:Te,SIC:Fe,SID:Je,SIO:Le,SIU:ge,SIX:Be,WPO:Me},Ae={name:"AdminStatusList",components:{CloseButton:R},data(){return{mdiCloseCircleOutline:F}},computed:{...v(I,{librarianStatuses:e=>e.librarianStatuses,show:e=>e.librarianStatuses.length>0})},created(){this.load()},methods:{..._(I,["loadTable","librarianTask"]),showComplete:e=>Number.isInteger(e.complete),indeterminate:e=>!e.preactive&&(!e.total||!Number.isInteger(e.complete)),progress(e){return e.preactive||self.indeterminate?0:100*+e.complete/+e.total},load(){this.loadTable("LibrarianStatus")},clear(){this.librarianTask("librarian_clear_status","")},title(e){return ye[e.statusType]},nf(e){return Number.isInteger(e)?J.format(e):"?"}}},Oe={key:0},xe={nav:"",class:"statusItem"},Re={class:"statusItemTitle"},Ue={key:0,class:"statusItemSubtitle"},we={key:1,class:"statusItemSubtitle"},Pe={key:0};function Ve(e,n,l,T,u,t){const c=S("CloseButton");return o(),a(h,null,[e.show?(o(),C(f,{key:0})):i("",!0),r(P,{onClick:t.load},{default:d(()=>[r(D,null,{default:d(()=>[e.show?(o(),a("div",Oe,[r(c,{id:"clearButton",title:"Clear Librarian Statuses",size:"small",onClick:t.clear},null,8,["onClick"]),n[0]||(n[0]=p("h4",null,"Librarian Tasks",-1)),(o(!0),a(h,null,L(e.librarianStatuses,s=>(o(),C(D,{key:s.statusType},{default:d(()=>[p("div",xe,[p("div",Re,[k(m(t.title(s))+" ",1),s.subtitle?(o(),a("div",Ue,m(s.subtitle),1)):i("",!0),t.showComplete(s)||Number.isInteger(s.total)?(o(),a("div",we,[t.showComplete(s)?(o(),a("span",Pe,m(t.nf(s.complete))+" / ",1)):i("",!0),k(" "+m(t.nf(s.total)),1)])):i("",!0)]),r(U,{indeterminate:t.indeterminate(s),"model-value":t.progress(s),bottom:""},null,8,["indeterminate","model-value"])])]),_:2},1024))),128))])):(o(),C(w,{key:1,id:"noTasksRunning"},{default:d(()=>n[1]||(n[1]=[k(" No librarian tasks running ")])),_:1}))]),_:1})]),_:1},8,["onClick"])],64)}const Ne=b(Ae,[["render",Ve],["__scopeId","data-v-0b2eebdc"]]),Ee={name:"AdminMenu",components:{AdminStatusList:Ne,CodexListItem:V},data(){return{mdiOpenInNew:g,mdiDatabaseClockOutline:B,mdiCrownOutline:M}},computed:{...y(A,["isUserAdmin"]),...v(I,["unseenFailedImports"]),failedImportsIcon(){return this.unseenFailedImports?O:void 0},showAdminPanelLink(){var e,n,l;return!((l=(n=(e=this.$router.currentRoute)==null?void 0:e.value)==null?void 0:n.name)!=null&&l.startsWith("admin"))}},methods:{..._(I,["clearFailedImports","librarianTask"]),onPoll(){this.librarianTask("poll")}}},Qe={key:0};function ze(e,n,l,T,u,t){const c=S("CodexListItem"),s=S("AdminStatusList");return e.isUserAdmin?(o(),a("div",Qe,[r(f),x(r(c,{title:"Poll All Libraries","prepend-icon":u.mdiDatabaseClockOutline,onClick:t.onPoll},null,8,["prepend-icon","onClick"]),[[N,{openDelay:2e3,text:"for updated comics"}]]),t.showAdminPanelLink?(o(),C(c,{key:0,class:"adminPanelLink",to:{name:"admin"},"prepend-icon":u.mdiCrownOutline,title:"Admin Panel","append-icon":t.failedImportsIcon},null,8,["prepend-icon","append-icon"])):i("",!0),r(s)])):i("",!0)}const $e=b(Ee,[["render",ze]]);export{$e as default};
1
+ import{a1 as F,E as v,A as _,ag as J,_ as b,k as S,l as o,n as a,v as C,H as i,a as r,w as d,q as p,F as h,y as L,s as k,z as m,Z as g,bB as B,cK as M,C as y,D as A,bD as O,S as x}from"./main-B5uflU6E.js";import{C as R}from"./change-password-dialog-BKar2Bhb.js";import{useAdminStore as I}from"./admin-B4z2nA5P.js";import{d as D}from"./VSelectionControl-BkZZAsWo.js";import{a as f}from"./VDivider-By4u2EsM.js";import{n as U}from"./forwardRefs-i80xmxX3.js";import{v as w,a as P,C as V}from"./VDialog-Dr7SuC2S.js";import{T as N}from"./index-gVdawuuE.js";import"./VForm-XhA6T0Lc.js";const E="Create Covers",Q="Remove Covers",z="Find Orphan Covers",G="Adopt Orphan Folders",W="Create Custom Covers",K="Delete Custom Covers",X="Link Custom Covers",q="Custom Covers Moved",H="Discover Missing Custom Covers",Z="Modify Custom Covers",j="Remove Folders",Y="Move Folders",$="Modify Folders",ee="Create Books",te="Remove Books",se="Record Failed Imports",oe="Move Books",ne="Modify Books",ae="Update First Covers",re="Link Books to Tags",ie="Prepare Tags for Linking",le="Create Missing Tags",ce="Discover Missing Tags",de="Read Book Tags",me="Cleanup Orphan Bookmarks",Ce="Cleanup Custom Covers",Ie="Restart Codex",ue="Stop Codex",pe="Update Codex Software",ke="Backup Database",Se="Optimize Database",he="Search Index Integrity Check",De="Search Index Repair",ve="Database Integrity Check",_e="Database Foreign Key Check",be="Check Codex Latest Version",fe="Cleanup Expired Sessions",Te="Cleanup Stale Tags",Fe="Search Index Create",Je="Search Index Remove Stale Records",Le="Search Index Optimize",ge="Search Index Update",Be="Search Index Clear",Me="Poll Library",ye={CCC:E,CCD:Q,CFO:z,IAF:G,ICC:W,ICD:K,ICL:X,ICM:q,ICQ:H,ICU:Z,IDD:j,IDM:Y,IDU:$,IFC:ee,IFD:te,IFI:se,IFM:oe,IFU:ne,IGU:ae,IMC:re,IMQ:ie,ITC:le,ITQ:ce,ITR:de,JCB:me,JCD:Ce,JCR:Ie,JCS:ue,JCU:pe,JDB:ke,JDO:Se,JFC:he,JFR:De,JIC:ve,JIF:_e,JLV:be,JSD:fe,JTD:Te,SIC:Fe,SID:Je,SIO:Le,SIU:ge,SIX:Be,WPO:Me},Ae={name:"AdminStatusList",components:{CloseButton:R},data(){return{mdiCloseCircleOutline:F}},computed:{...v(I,{librarianStatuses:e=>e.librarianStatuses,show:e=>e.librarianStatuses.length>0})},created(){this.load()},methods:{..._(I,["loadTable","librarianTask"]),showComplete:e=>Number.isInteger(e.complete),indeterminate:e=>!e.preactive&&(!e.total||!Number.isInteger(e.complete)),progress(e){return e.preactive||self.indeterminate?0:100*+e.complete/+e.total},load(){this.loadTable("LibrarianStatus")},clear(){this.librarianTask("librarian_clear_status","")},title(e){return ye[e.statusType]},nf(e){return Number.isInteger(e)?J.format(e):"?"}}},Oe={key:0},xe={nav:"",class:"statusItem"},Re={class:"statusItemTitle"},Ue={key:0,class:"statusItemSubtitle"},we={key:1,class:"statusItemSubtitle"},Pe={key:0};function Ve(e,n,l,T,u,t){const c=S("CloseButton");return o(),a(h,null,[e.show?(o(),C(f,{key:0})):i("",!0),r(P,{onClick:t.load},{default:d(()=>[r(D,null,{default:d(()=>[e.show?(o(),a("div",Oe,[r(c,{id:"clearButton",title:"Clear Librarian Statuses",size:"small",onClick:t.clear},null,8,["onClick"]),n[0]||(n[0]=p("h4",null,"Librarian Tasks",-1)),(o(!0),a(h,null,L(e.librarianStatuses,s=>(o(),C(D,{key:s.statusType},{default:d(()=>[p("div",xe,[p("div",Re,[k(m(t.title(s))+" ",1),s.subtitle?(o(),a("div",Ue,m(s.subtitle),1)):i("",!0),t.showComplete(s)||Number.isInteger(s.total)?(o(),a("div",we,[t.showComplete(s)?(o(),a("span",Pe,m(t.nf(s.complete))+" / ",1)):i("",!0),k(" "+m(t.nf(s.total)),1)])):i("",!0)]),r(U,{indeterminate:t.indeterminate(s),"model-value":t.progress(s),bottom:""},null,8,["indeterminate","model-value"])])]),_:2},1024))),128))])):(o(),C(w,{key:1,id:"noTasksRunning"},{default:d(()=>n[1]||(n[1]=[k(" No librarian tasks running ")])),_:1}))]),_:1})]),_:1},8,["onClick"])],64)}const Ne=b(Ae,[["render",Ve],["__scopeId","data-v-0b2eebdc"]]),Ee={name:"AdminMenu",components:{AdminStatusList:Ne,CodexListItem:V},data(){return{mdiOpenInNew:g,mdiDatabaseClockOutline:B,mdiCrownOutline:M}},computed:{...y(A,["isUserAdmin"]),...v(I,["unseenFailedImports"]),failedImportsIcon(){return this.unseenFailedImports?O:void 0},showAdminPanelLink(){var e,n,l;return!((l=(n=(e=this.$router.currentRoute)==null?void 0:e.value)==null?void 0:n.name)!=null&&l.startsWith("admin"))}},methods:{..._(I,["clearFailedImports","librarianTask"]),onPoll(){this.librarianTask("poll")}}},Qe={key:0};function ze(e,n,l,T,u,t){const c=S("CodexListItem"),s=S("AdminStatusList");return e.isUserAdmin?(o(),a("div",Qe,[r(f),x(r(c,{title:"Poll All Libraries","prepend-icon":u.mdiDatabaseClockOutline,onClick:t.onPoll},null,8,["prepend-icon","onClick"]),[[N,{openDelay:2e3,text:"for updated comics"}]]),t.showAdminPanelLink?(o(),C(c,{key:0,class:"adminPanelLink",to:{name:"admin"},"prepend-icon":u.mdiCrownOutline,title:"Admin Panel","append-icon":t.failedImportsIcon},null,8,["prepend-icon","append-icon"])):i("",!0),r(s)])):i("",!0)}const $e=b(Ee,[["render",ze]]);export{$e as default};
@@ -1 +1 @@
1
- import{a1 as F,E as v,A as _,ag as J,_ as b,k as S,l as o,n as a,v as C,H as i,a as r,w as d,q as p,F as h,y as L,s as k,z as m,Z as g,bB as B,cK as M,C as y,D as A,bD as O,S as x}from"./main-BbNUiWEb.js";import{C as R}from"./change-password-dialog-1ZVP_Q2w.js";import{useAdminStore as I}from"./admin-80eqCqtz.js";import{d as D}from"./VSelectionControl-TaKCeZgb.js";import{a as f}from"./VDivider-D1Ot4vR2.js";import{n as U}from"./forwardRefs-DPRKg5wq.js";import{v as w,a as P,C as V}from"./VDialog-RVLeW7je.js";import{T as N}from"./index-9nBCksDQ.js";import"./VForm-DNmY-qFJ.js";const E="Create Covers",Q="Remove Covers",z="Find Orphan Covers",G="Adopt Orphan Folders",W="Create Custom Covers",K="Delete Custom Covers",X="Link Custom Covers",q="Custom Covers Moved",H="Discover Missing Custom Covers",Z="Modify Custom Covers",j="Remove Folders",Y="Move Folders",$="Modify Folders",ee="Create Books",te="Remove Books",se="Record Failed Imports",oe="Move Books",ne="Modify Books",ae="Update First Covers",re="Link Books to Tags",ie="Prepare Tags for Linking",le="Create Missing Tags",ce="Discover Missing Tags",de="Read Book Tags",me="Cleanup Orphan Bookmarks",Ce="Cleanup Custom Covers",Ie="Restart Codex",ue="Stop Codex",pe="Update Codex Software",ke="Backup Database",Se="Optimize Database",he="Search Index Integrity Check",De="Search Index Repair",ve="Database Integrity Check",_e="Database Foreign Key Check",be="Check Codex Latest Version",fe="Cleanup Expired Sessions",Te="Cleanup Stale Tags",Fe="Search Index Create",Je="Search Index Remove Stale Records",Le="Search Index Optimize",ge="Search Index Update",Be="Search Index Clear",Me="Poll Library",ye={CCC:E,CCD:Q,CFO:z,IAF:G,ICC:W,ICD:K,ICL:X,ICM:q,ICQ:H,ICU:Z,IDD:j,IDM:Y,IDU:$,IFC:ee,IFD:te,IFI:se,IFM:oe,IFU:ne,IGU:ae,IMC:re,IMQ:ie,ITC:le,ITQ:ce,ITR:de,JCB:me,JCD:Ce,JCR:Ie,JCS:ue,JCU:pe,JDB:ke,JDO:Se,JFC:he,JFR:De,JIC:ve,JIF:_e,JLV:be,JSD:fe,JTD:Te,SIC:Fe,SID:Je,SIO:Le,SIU:ge,SIX:Be,WPO:Me},Ae={name:"AdminStatusList",components:{CloseButton:R},data(){return{mdiCloseCircleOutline:F}},computed:{...v(I,{librarianStatuses:e=>e.librarianStatuses,show:e=>e.librarianStatuses.length>0})},created(){this.load()},methods:{..._(I,["loadTable","librarianTask"]),showComplete:e=>Number.isInteger(e.complete),indeterminate:e=>!e.preactive&&(!e.total||!Number.isInteger(e.complete)),progress(e){return e.preactive||self.indeterminate?0:100*+e.complete/+e.total},load(){this.loadTable("LibrarianStatus")},clear(){this.librarianTask("librarian_clear_status","")},title(e){return ye[e.statusType]},nf(e){return Number.isInteger(e)?J.format(e):"?"}}},Oe={key:0},xe={nav:"",class:"statusItem"},Re={class:"statusItemTitle"},Ue={key:0,class:"statusItemSubtitle"},we={key:1,class:"statusItemSubtitle"},Pe={key:0};function Ve(e,n,l,T,u,t){const c=S("CloseButton");return o(),a(h,null,[e.show?(o(),C(f,{key:0})):i("",!0),r(P,{onClick:t.load},{default:d(()=>[r(D,null,{default:d(()=>[e.show?(o(),a("div",Oe,[r(c,{id:"clearButton",title:"Clear Librarian Statuses",size:"small",onClick:t.clear},null,8,["onClick"]),n[0]||(n[0]=p("h4",null,"Librarian Tasks",-1)),(o(!0),a(h,null,L(e.librarianStatuses,s=>(o(),C(D,{key:s.statusType},{default:d(()=>[p("div",xe,[p("div",Re,[k(m(t.title(s))+" ",1),s.subtitle?(o(),a("div",Ue,m(s.subtitle),1)):i("",!0),t.showComplete(s)||Number.isInteger(s.total)?(o(),a("div",we,[t.showComplete(s)?(o(),a("span",Pe,m(t.nf(s.complete))+" / ",1)):i("",!0),k(" "+m(t.nf(s.total)),1)])):i("",!0)]),r(U,{indeterminate:t.indeterminate(s),"model-value":t.progress(s),bottom:""},null,8,["indeterminate","model-value"])])]),_:2},1024))),128))])):(o(),C(w,{key:1,id:"noTasksRunning"},{default:d(()=>n[1]||(n[1]=[k(" No librarian tasks running ")])),_:1}))]),_:1})]),_:1},8,["onClick"])],64)}const Ne=b(Ae,[["render",Ve],["__scopeId","data-v-0b2eebdc"]]),Ee={name:"AdminMenu",components:{AdminStatusList:Ne,CodexListItem:V},data(){return{mdiOpenInNew:g,mdiDatabaseClockOutline:B,mdiCrownOutline:M}},computed:{...y(A,["isUserAdmin"]),...v(I,["unseenFailedImports"]),failedImportsIcon(){return this.unseenFailedImports?O:void 0},showAdminPanelLink(){var e,n,l;return!((l=(n=(e=this.$router.currentRoute)==null?void 0:e.value)==null?void 0:n.name)!=null&&l.startsWith("admin"))}},methods:{..._(I,["clearFailedImports","librarianTask"]),onPoll(){this.librarianTask("poll")}}},Qe={key:0};function ze(e,n,l,T,u,t){const c=S("CodexListItem"),s=S("AdminStatusList");return e.isUserAdmin?(o(),a("div",Qe,[r(f),x(r(c,{title:"Poll All Libraries","prepend-icon":u.mdiDatabaseClockOutline,onClick:t.onPoll},null,8,["prepend-icon","onClick"]),[[N,{openDelay:2e3,text:"for updated comics"}]]),t.showAdminPanelLink?(o(),C(c,{key:0,class:"adminPanelLink",to:{name:"admin"},"prepend-icon":u.mdiCrownOutline,title:"Admin Panel","append-icon":t.failedImportsIcon},null,8,["prepend-icon","append-icon"])):i("",!0),r(s)])):i("",!0)}const $e=b(Ee,[["render",ze]]);export{$e as default};
1
+ import{a1 as F,E as v,A as _,ag as J,_ as b,k as S,l as o,n as a,v as C,H as i,a as r,w as d,q as p,F as h,y as L,s as k,z as m,Z as g,bB as B,cK as M,C as y,D as A,bD as O,S as x}from"./main-B5uflU6E.js";import{C as R}from"./change-password-dialog-BKar2Bhb.js";import{useAdminStore as I}from"./admin-B4z2nA5P.js";import{d as D}from"./VSelectionControl-BkZZAsWo.js";import{a as f}from"./VDivider-By4u2EsM.js";import{n as U}from"./forwardRefs-i80xmxX3.js";import{v as w,a as P,C as V}from"./VDialog-Dr7SuC2S.js";import{T as N}from"./index-gVdawuuE.js";import"./VForm-XhA6T0Lc.js";const E="Create Covers",Q="Remove Covers",z="Find Orphan Covers",G="Adopt Orphan Folders",W="Create Custom Covers",K="Delete Custom Covers",X="Link Custom Covers",q="Custom Covers Moved",H="Discover Missing Custom Covers",Z="Modify Custom Covers",j="Remove Folders",Y="Move Folders",$="Modify Folders",ee="Create Books",te="Remove Books",se="Record Failed Imports",oe="Move Books",ne="Modify Books",ae="Update First Covers",re="Link Books to Tags",ie="Prepare Tags for Linking",le="Create Missing Tags",ce="Discover Missing Tags",de="Read Book Tags",me="Cleanup Orphan Bookmarks",Ce="Cleanup Custom Covers",Ie="Restart Codex",ue="Stop Codex",pe="Update Codex Software",ke="Backup Database",Se="Optimize Database",he="Search Index Integrity Check",De="Search Index Repair",ve="Database Integrity Check",_e="Database Foreign Key Check",be="Check Codex Latest Version",fe="Cleanup Expired Sessions",Te="Cleanup Stale Tags",Fe="Search Index Create",Je="Search Index Remove Stale Records",Le="Search Index Optimize",ge="Search Index Update",Be="Search Index Clear",Me="Poll Library",ye={CCC:E,CCD:Q,CFO:z,IAF:G,ICC:W,ICD:K,ICL:X,ICM:q,ICQ:H,ICU:Z,IDD:j,IDM:Y,IDU:$,IFC:ee,IFD:te,IFI:se,IFM:oe,IFU:ne,IGU:ae,IMC:re,IMQ:ie,ITC:le,ITQ:ce,ITR:de,JCB:me,JCD:Ce,JCR:Ie,JCS:ue,JCU:pe,JDB:ke,JDO:Se,JFC:he,JFR:De,JIC:ve,JIF:_e,JLV:be,JSD:fe,JTD:Te,SIC:Fe,SID:Je,SIO:Le,SIU:ge,SIX:Be,WPO:Me},Ae={name:"AdminStatusList",components:{CloseButton:R},data(){return{mdiCloseCircleOutline:F}},computed:{...v(I,{librarianStatuses:e=>e.librarianStatuses,show:e=>e.librarianStatuses.length>0})},created(){this.load()},methods:{..._(I,["loadTable","librarianTask"]),showComplete:e=>Number.isInteger(e.complete),indeterminate:e=>!e.preactive&&(!e.total||!Number.isInteger(e.complete)),progress(e){return e.preactive||self.indeterminate?0:100*+e.complete/+e.total},load(){this.loadTable("LibrarianStatus")},clear(){this.librarianTask("librarian_clear_status","")},title(e){return ye[e.statusType]},nf(e){return Number.isInteger(e)?J.format(e):"?"}}},Oe={key:0},xe={nav:"",class:"statusItem"},Re={class:"statusItemTitle"},Ue={key:0,class:"statusItemSubtitle"},we={key:1,class:"statusItemSubtitle"},Pe={key:0};function Ve(e,n,l,T,u,t){const c=S("CloseButton");return o(),a(h,null,[e.show?(o(),C(f,{key:0})):i("",!0),r(P,{onClick:t.load},{default:d(()=>[r(D,null,{default:d(()=>[e.show?(o(),a("div",Oe,[r(c,{id:"clearButton",title:"Clear Librarian Statuses",size:"small",onClick:t.clear},null,8,["onClick"]),n[0]||(n[0]=p("h4",null,"Librarian Tasks",-1)),(o(!0),a(h,null,L(e.librarianStatuses,s=>(o(),C(D,{key:s.statusType},{default:d(()=>[p("div",xe,[p("div",Re,[k(m(t.title(s))+" ",1),s.subtitle?(o(),a("div",Ue,m(s.subtitle),1)):i("",!0),t.showComplete(s)||Number.isInteger(s.total)?(o(),a("div",we,[t.showComplete(s)?(o(),a("span",Pe,m(t.nf(s.complete))+" / ",1)):i("",!0),k(" "+m(t.nf(s.total)),1)])):i("",!0)]),r(U,{indeterminate:t.indeterminate(s),"model-value":t.progress(s),bottom:""},null,8,["indeterminate","model-value"])])]),_:2},1024))),128))])):(o(),C(w,{key:1,id:"noTasksRunning"},{default:d(()=>n[1]||(n[1]=[k(" No librarian tasks running ")])),_:1}))]),_:1})]),_:1},8,["onClick"])],64)}const Ne=b(Ae,[["render",Ve],["__scopeId","data-v-0b2eebdc"]]),Ee={name:"AdminMenu",components:{AdminStatusList:Ne,CodexListItem:V},data(){return{mdiOpenInNew:g,mdiDatabaseClockOutline:B,mdiCrownOutline:M}},computed:{...y(A,["isUserAdmin"]),...v(I,["unseenFailedImports"]),failedImportsIcon(){return this.unseenFailedImports?O:void 0},showAdminPanelLink(){var e,n,l;return!((l=(n=(e=this.$router.currentRoute)==null?void 0:e.value)==null?void 0:n.name)!=null&&l.startsWith("admin"))}},methods:{..._(I,["clearFailedImports","librarianTask"]),onPoll(){this.librarianTask("poll")}}},Qe={key:0};function ze(e,n,l,T,u,t){const c=S("CodexListItem"),s=S("AdminStatusList");return e.isUserAdmin?(o(),a("div",Qe,[r(f),x(r(c,{title:"Poll All Libraries","prepend-icon":u.mdiDatabaseClockOutline,onClick:t.onPoll},null,8,["prepend-icon","onClick"]),[[N,{openDelay:2e3,text:"for updated comics"}]]),t.showAdminPanelLink?(o(),C(c,{key:0,class:"adminPanelLink",to:{name:"admin"},"prepend-icon":u.mdiCrownOutline,title:"Admin Panel","append-icon":t.failedImportsIcon},null,8,["prepend-icon","append-icon"])):i("",!0),r(s)])):i("",!0)}const $e=b(Ee,[["render",ze]]);export{$e as default};
@@ -1 +1 @@
1
- import{_ as n,E as i,A as o,l,v as u,H as d}from"./main-BbNUiWEb.js";import{useAdminStore as a}from"./admin-80eqCqtz.js";import{E as c}from"./forwardRefs-DPRKg5wq.js";const m={name:"AdminSettingsButtonProgress",computed:{...i(a,["librarianStatuses"]),progressEnabled:function(){return this.librarianStatuses.length>0},progress:function(){let s=0,t=0;if(!(!this.librarianStatuses||this.librarianStatuses.length===0)){for(const e of this.librarianStatuses){if(e.total===null||e.total===void 0||e.complete===void 0)return;s+=+e.complete,t+=+e.total}if(!(t<=0))return 100*s/t}},size(){return this.$vuetify.display.xs?"small":"default"}},created(){this.loadTable("LibrarianStatus")},methods:{...o(a,["loadTable"])}};function p(s,t,e,f,g,r){return r.progressEnabled?(l(),u(c,{key:0,class:"progress",indeterminate:r.progress==null,"model-value":r.progress,size:r.size,"aria-label":"`Librarian tasks in progress ${Math.round(progress)}%`"},null,8,["indeterminate","model-value","size"])):d("",!0)}const S=n(m,[["render",p],["__scopeId","data-v-ac66848a"]]);export{S as default};
1
+ import{_ as n,E as i,A as o,l,v as u,H as d}from"./main-B5uflU6E.js";import{useAdminStore as a}from"./admin-B4z2nA5P.js";import{E as c}from"./forwardRefs-i80xmxX3.js";const m={name:"AdminSettingsButtonProgress",computed:{...i(a,["librarianStatuses"]),progressEnabled:function(){return this.librarianStatuses.length>0},progress:function(){let s=0,t=0;if(!(!this.librarianStatuses||this.librarianStatuses.length===0)){for(const e of this.librarianStatuses){if(e.total===null||e.total===void 0||e.complete===void 0)return;s+=+e.complete,t+=+e.total}if(!(t<=0))return 100*s/t}},size(){return this.$vuetify.display.xs?"small":"default"}},created(){this.loadTable("LibrarianStatus")},methods:{...o(a,["loadTable"])}};function p(s,t,e,f,g,r){return r.progressEnabled?(l(),u(c,{key:0,class:"progress",indeterminate:r.progress==null,"model-value":r.progress,size:r.size,"aria-label":"`Librarian tasks in progress ${Math.round(progress)}%`"},null,8,["indeterminate","model-value","size"])):d("",!0)}const S=n(m,[["render",p],["__scopeId","data-v-ac66848a"]]);export{S as default};
@@ -1 +1 @@
1
- import{_ as n,E as i,A as o,l,v as u,H as d}from"./main-BbNUiWEb.js";import{useAdminStore as a}from"./admin-80eqCqtz.js";import{E as c}from"./forwardRefs-DPRKg5wq.js";const m={name:"AdminSettingsButtonProgress",computed:{...i(a,["librarianStatuses"]),progressEnabled:function(){return this.librarianStatuses.length>0},progress:function(){let s=0,t=0;if(!(!this.librarianStatuses||this.librarianStatuses.length===0)){for(const e of this.librarianStatuses){if(e.total===null||e.total===void 0||e.complete===void 0)return;s+=+e.complete,t+=+e.total}if(!(t<=0))return 100*s/t}},size(){return this.$vuetify.display.xs?"small":"default"}},created(){this.loadTable("LibrarianStatus")},methods:{...o(a,["loadTable"])}};function p(s,t,e,f,g,r){return r.progressEnabled?(l(),u(c,{key:0,class:"progress",indeterminate:r.progress==null,"model-value":r.progress,size:r.size,"aria-label":"`Librarian tasks in progress ${Math.round(progress)}%`"},null,8,["indeterminate","model-value","size"])):d("",!0)}const S=n(m,[["render",p],["__scopeId","data-v-ac66848a"]]);export{S as default};
1
+ import{_ as n,E as i,A as o,l,v as u,H as d}from"./main-B5uflU6E.js";import{useAdminStore as a}from"./admin-B4z2nA5P.js";import{E as c}from"./forwardRefs-i80xmxX3.js";const m={name:"AdminSettingsButtonProgress",computed:{...i(a,["librarianStatuses"]),progressEnabled:function(){return this.librarianStatuses.length>0},progress:function(){let s=0,t=0;if(!(!this.librarianStatuses||this.librarianStatuses.length===0)){for(const e of this.librarianStatuses){if(e.total===null||e.total===void 0||e.complete===void 0)return;s+=+e.complete,t+=+e.total}if(!(t<=0))return 100*s/t}},size(){return this.$vuetify.display.xs?"small":"default"}},created(){this.loadTable("LibrarianStatus")},methods:{...o(a,["loadTable"])}};function p(s,t,e,f,g,r){return r.progressEnabled?(l(),u(c,{key:0,class:"progress",indeterminate:r.progress==null,"model-value":r.progress,size:r.size,"aria-label":"`Librarian tasks in progress ${Math.round(progress)}%`"},null,8,["indeterminate","model-value","size"])):d("",!0)}const S=n(m,[["render",p],["__scopeId","data-v-ac66848a"]]);export{S as default};