codex 1.7.15__py3-none-any.whl → 1.8.0__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.
- codex/__init__.py +6 -1
- codex/applications/lifespan.py +16 -12
- codex/asgi.py +1 -2
- codex/choices/admin.py +64 -60
- codex/choices/browser.py +7 -10
- codex/choices/choices_to_json.py +21 -9
- codex/choices/search.py +133 -0
- codex/choices/statii.py +40 -0
- codex/librarian/bookmark/bookmarkd.py +56 -17
- codex/librarian/bookmark/latest_version.py +65 -0
- codex/librarian/bookmark/tasks.py +13 -2
- codex/librarian/bookmark/update.py +1 -1
- codex/librarian/bookmark/user_active.py +2 -3
- codex/librarian/covers/coverd.py +4 -1
- codex/librarian/covers/create.py +31 -22
- codex/librarian/covers/path.py +1 -1
- codex/librarian/covers/purge.py +22 -22
- codex/librarian/covers/status.py +37 -6
- codex/librarian/covers/tasks.py +2 -1
- codex/librarian/cron/crond.py +5 -3
- codex/librarian/librariand.py +59 -84
- codex/librarian/notifier/notifierd.py +8 -3
- codex/librarian/restarter/__init__.py +1 -0
- codex/librarian/restarter/restarter.py +55 -0
- codex/librarian/restarter/status.py +32 -0
- codex/librarian/restarter/tasks.py +15 -0
- codex/librarian/scribe/__init__.py +1 -0
- codex/librarian/scribe/importer/__init__.py +1 -0
- codex/librarian/scribe/importer/const.py +369 -0
- codex/librarian/scribe/importer/create/__init__.py +37 -0
- codex/librarian/scribe/importer/create/comics.py +172 -0
- codex/librarian/scribe/importer/create/const.py +131 -0
- codex/librarian/scribe/importer/create/covers.py +123 -0
- codex/librarian/scribe/importer/create/folders.py +98 -0
- codex/librarian/scribe/importer/create/foreign_keys.py +253 -0
- codex/librarian/scribe/importer/create/link_fks.py +73 -0
- codex/librarian/scribe/importer/delete/__init__.py +28 -0
- codex/librarian/scribe/importer/delete/comics.py +68 -0
- codex/librarian/scribe/importer/delete/covers.py +37 -0
- codex/librarian/scribe/importer/delete/folders.py +33 -0
- codex/librarian/scribe/importer/failed/__init__.py +1 -0
- codex/librarian/scribe/importer/failed/create.py +97 -0
- codex/librarian/scribe/importer/failed/failed.py +54 -0
- codex/librarian/scribe/importer/failed/query.py +103 -0
- codex/librarian/scribe/importer/finish.py +70 -0
- codex/librarian/scribe/importer/importer.py +31 -0
- codex/librarian/scribe/importer/init.py +338 -0
- codex/librarian/scribe/importer/link/__init__.py +15 -0
- codex/librarian/scribe/importer/link/const.py +31 -0
- codex/librarian/scribe/importer/link/covers.py +70 -0
- codex/librarian/scribe/importer/link/delete.py +106 -0
- codex/librarian/scribe/importer/link/many_to_many.py +88 -0
- codex/librarian/scribe/importer/link/prepare.py +132 -0
- codex/librarian/scribe/importer/link/sum.py +19 -0
- codex/librarian/scribe/importer/moved/__init__.py +52 -0
- codex/librarian/scribe/importer/moved/comics.py +125 -0
- codex/librarian/scribe/importer/moved/covers.py +88 -0
- codex/librarian/scribe/importer/moved/folders.py +205 -0
- codex/librarian/scribe/importer/query/__init__.py +44 -0
- codex/librarian/scribe/importer/query/covers.py +55 -0
- codex/librarian/scribe/importer/query/filters.py +61 -0
- codex/librarian/scribe/importer/query/foreign_keys.py +203 -0
- codex/librarian/scribe/importer/query/links.py +29 -0
- codex/librarian/scribe/importer/query/links_fk.py +99 -0
- codex/librarian/scribe/importer/query/links_m2m.py +102 -0
- codex/librarian/scribe/importer/query/update_comics.py +59 -0
- codex/librarian/scribe/importer/query/update_fks.py +140 -0
- codex/librarian/scribe/importer/read/__init__.py +14 -0
- codex/librarian/scribe/importer/read/aggregate_path.py +110 -0
- codex/librarian/scribe/importer/read/const.py +144 -0
- codex/librarian/scribe/importer/read/extract.py +128 -0
- codex/librarian/scribe/importer/read/folders.py +37 -0
- codex/librarian/scribe/importer/read/foreign_keys.py +145 -0
- codex/librarian/scribe/importer/read/many_to_many.py +237 -0
- codex/librarian/scribe/importer/search/__init__.py +34 -0
- codex/librarian/scribe/importer/search/const.py +50 -0
- codex/librarian/scribe/importer/search/prepare.py +85 -0
- codex/librarian/scribe/importer/search/sync_m2m.py +86 -0
- codex/librarian/scribe/importer/search/update.py +273 -0
- codex/librarian/scribe/importer/statii/__init__.py +21 -0
- codex/librarian/scribe/importer/statii/create.py +67 -0
- codex/librarian/scribe/importer/statii/delete.py +39 -0
- codex/librarian/scribe/importer/statii/failed.py +50 -0
- codex/librarian/scribe/importer/statii/link.py +27 -0
- codex/librarian/scribe/importer/statii/moved.py +39 -0
- codex/librarian/scribe/importer/statii/query.py +46 -0
- codex/librarian/scribe/importer/statii/read.py +30 -0
- codex/librarian/scribe/importer/statii/search.py +28 -0
- codex/librarian/scribe/importer/status.py +9 -0
- codex/librarian/scribe/importer/tasks.py +49 -0
- codex/librarian/scribe/janitor/__init__.py +1 -0
- codex/librarian/scribe/janitor/adopt_folders.py +81 -0
- codex/librarian/scribe/janitor/cleanup.py +199 -0
- codex/librarian/scribe/janitor/failed_imports.py +27 -0
- codex/librarian/scribe/janitor/integrity.py +375 -0
- codex/librarian/scribe/janitor/janitor.py +133 -0
- codex/librarian/scribe/janitor/scheduled_time.py +13 -0
- codex/librarian/scribe/janitor/status.py +152 -0
- codex/librarian/scribe/janitor/tasks.py +71 -0
- codex/librarian/scribe/janitor/update.py +88 -0
- codex/librarian/scribe/janitor/vacuum.py +53 -0
- codex/librarian/scribe/lazy_importer.py +51 -0
- codex/librarian/scribe/priority.py +69 -0
- codex/librarian/scribe/scribed.py +130 -0
- codex/librarian/scribe/search/__init__.py +1 -0
- codex/librarian/scribe/search/handler.py +28 -0
- codex/librarian/scribe/search/optimize.py +30 -0
- codex/librarian/scribe/search/remove.py +44 -0
- codex/librarian/scribe/search/status.py +66 -0
- codex/librarian/scribe/search/sync.py +398 -0
- codex/librarian/scribe/search/tasks.py +28 -0
- codex/librarian/scribe/status.py +21 -0
- codex/librarian/scribe/tasks.py +32 -0
- codex/librarian/scribe/timestamp_update.py +135 -0
- codex/librarian/status.py +76 -0
- codex/librarian/status_controller.py +196 -0
- codex/librarian/tasks.py +0 -10
- codex/librarian/telemeter/scheduled_time.py +11 -4
- codex/librarian/telemeter/stats.py +0 -2
- codex/librarian/telemeter/tasks.py +3 -1
- codex/librarian/telemeter/telemeter.py +17 -11
- codex/librarian/threads.py +148 -0
- codex/librarian/watchdog/const.py +139 -0
- codex/librarian/watchdog/db_snapshot.py +16 -10
- codex/librarian/watchdog/dir_snapshot_diff.py +19 -1
- codex/librarian/watchdog/emitter.py +140 -124
- codex/librarian/watchdog/event_batcherd.py +134 -88
- codex/librarian/watchdog/events.py +22 -211
- codex/librarian/watchdog/handlers.py +203 -0
- codex/librarian/watchdog/memory.py +56 -0
- codex/librarian/watchdog/observers.py +89 -55
- codex/librarian/watchdog/status.py +18 -5
- codex/librarian/watchdog/tasks.py +2 -1
- codex/librarian/worker.py +32 -0
- codex/middleware.py +6 -8
- codex/migrations/0011_library_groups_and_metadata_changes.py +2 -1
- codex/migrations/0013_int_issue_count_longer_charfields.py +2 -1
- codex/migrations/0023_rename_credit_creator_and_more.py +2 -1
- codex/migrations/0026_comicbox_1.py +9 -9
- codex/migrations/0034_comicbox2.py +792 -0
- codex/models/__init__.py +1 -0
- codex/models/admin.py +14 -22
- codex/models/base.py +21 -2
- codex/models/comic.py +80 -43
- codex/models/fields.py +81 -0
- codex/models/functions.py +8 -2
- codex/models/groups.py +99 -34
- codex/models/identifier.py +79 -0
- codex/models/library.py +17 -3
- codex/models/named.py +52 -55
- codex/models/paths.py +16 -12
- codex/models/query.py +7 -5
- codex/run.py +12 -18
- codex/serializers/admin/groups.py +3 -0
- codex/serializers/admin/libraries.py +13 -1
- codex/serializers/admin/stats.py +5 -4
- codex/serializers/admin/tasks.py +3 -5
- codex/serializers/admin/users.py +9 -3
- codex/serializers/auth.py +13 -6
- codex/serializers/browser/choices.py +35 -18
- codex/serializers/browser/filters.py +7 -5
- codex/serializers/browser/metadata.py +12 -10
- codex/serializers/browser/mixins.py +6 -8
- codex/serializers/browser/mtime.py +6 -2
- codex/serializers/browser/page.py +8 -3
- codex/serializers/browser/settings.py +35 -5
- codex/serializers/fields/__init__.py +2 -2
- codex/serializers/fields/auth.py +4 -5
- codex/serializers/fields/base.py +16 -0
- codex/serializers/fields/browser.py +15 -31
- codex/serializers/fields/group.py +11 -8
- codex/serializers/fields/reader.py +14 -10
- codex/serializers/fields/sanitized.py +2 -0
- codex/serializers/fields/session.py +3 -8
- codex/serializers/fields/stats.py +3 -5
- codex/serializers/fields/vuetify.py +21 -10
- codex/serializers/mixins.py +42 -0
- codex/serializers/models/base.py +1 -1
- codex/serializers/models/comic.py +6 -2
- codex/serializers/models/named.py +62 -37
- codex/serializers/models/pycountry.py +0 -3
- codex/serializers/opds/v1.py +6 -6
- codex/serializers/opds/v2/feed.py +2 -4
- codex/serializers/opds/v2/publication.py +14 -14
- codex/serializers/opds/v2/unused.py +2 -0
- codex/serializers/reader.py +52 -31
- codex/serializers/route.py +6 -4
- codex/serializers/settings.py +6 -6
- codex/settings/__init__.py +423 -1
- codex/signals/django_signals.py +2 -35
- codex/signals/os_signals.py +4 -5
- codex/startup/__init__.py +180 -0
- codex/startup/db.py +130 -0
- codex/startup/logger_init.py +45 -0
- codex/startup/registration.py +13 -0
- codex/static_root/assets/VCheckbox-BD4eUg4g.3d575d473135.js +1 -0
- codex/static_root/assets/VCheckbox-BD4eUg4g.3d575d473135.js.br +0 -0
- codex/static_root/assets/VCheckbox-BD4eUg4g.3d575d473135.js.gz +0 -0
- codex/static_root/assets/VCheckbox-BD4eUg4g.js +1 -0
- codex/static_root/assets/VCheckbox-BD4eUg4g.js.br +0 -0
- codex/static_root/assets/VCheckbox-BD4eUg4g.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-BwlWS4y9.b40b085f1d67.js +1 -0
- codex/static_root/assets/VCheckboxBtn-BwlWS4y9.b40b085f1d67.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-BwlWS4y9.b40b085f1d67.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-BwlWS4y9.js +1 -0
- codex/static_root/assets/VCheckboxBtn-BwlWS4y9.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-BwlWS4y9.js.gz +0 -0
- codex/static_root/assets/VCombobox-DyLCrBiS.3e13940cf92c.js +1 -0
- codex/static_root/assets/VCombobox-DyLCrBiS.3e13940cf92c.js.br +0 -0
- codex/static_root/assets/VCombobox-DyLCrBiS.3e13940cf92c.js.gz +0 -0
- codex/static_root/assets/VCombobox-DyLCrBiS.js +1 -0
- codex/static_root/assets/VCombobox-DyLCrBiS.js.br +0 -0
- codex/static_root/assets/VCombobox-DyLCrBiS.js.gz +0 -0
- codex/static_root/assets/VDialog-CpWjrJ0R.610ffc6302d4.css +1 -0
- codex/static_root/assets/VDialog-CpWjrJ0R.610ffc6302d4.css.br +0 -0
- codex/static_root/assets/VDialog-CpWjrJ0R.610ffc6302d4.css.gz +0 -0
- codex/static_root/assets/VDialog-CpWjrJ0R.css +1 -0
- codex/static_root/assets/VDialog-CpWjrJ0R.css.br +0 -0
- codex/static_root/assets/VDialog-CpWjrJ0R.css.gz +0 -0
- codex/static_root/assets/VDialog-N7erUTvb.ea9a9b29fb16.js +1 -0
- codex/static_root/assets/VDialog-N7erUTvb.ea9a9b29fb16.js.br +0 -0
- codex/static_root/assets/VDialog-N7erUTvb.ea9a9b29fb16.js.gz +0 -0
- codex/static_root/assets/VDialog-N7erUTvb.js +1 -0
- codex/static_root/assets/VDialog-N7erUTvb.js.br +0 -0
- codex/static_root/assets/VDialog-N7erUTvb.js.gz +0 -0
- codex/static_root/assets/VDivider-DFsQRi0x.d079d29e9764.js +1 -0
- codex/static_root/assets/VDivider-DFsQRi0x.d079d29e9764.js.br +0 -0
- codex/static_root/assets/VDivider-DFsQRi0x.d079d29e9764.js.gz +0 -0
- codex/static_root/assets/VDivider-DFsQRi0x.js +1 -0
- codex/static_root/assets/VDivider-DFsQRi0x.js.br +0 -0
- codex/static_root/assets/VDivider-DFsQRi0x.js.gz +0 -0
- codex/static_root/assets/VExpansionPanels-D_1ryJs5.c67ae2359ced.js +1 -0
- codex/static_root/assets/VExpansionPanels-D_1ryJs5.c67ae2359ced.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-D_1ryJs5.c67ae2359ced.js.gz +0 -0
- codex/static_root/assets/VExpansionPanels-D_1ryJs5.js +1 -0
- codex/static_root/assets/VExpansionPanels-D_1ryJs5.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-D_1ryJs5.js.gz +0 -0
- codex/static_root/assets/VForm-Bhq1UjFg.c9c80e741c2a.js +1 -0
- codex/static_root/assets/VForm-Bhq1UjFg.c9c80e741c2a.js.br +0 -0
- codex/static_root/assets/VForm-Bhq1UjFg.c9c80e741c2a.js.gz +0 -0
- codex/static_root/assets/VForm-Bhq1UjFg.js +1 -0
- codex/static_root/assets/VForm-Bhq1UjFg.js.br +0 -0
- codex/static_root/assets/VForm-Bhq1UjFg.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-IJTnZQT5.731c3f06cee5.js +1 -0
- codex/static_root/assets/VRadioGroup-IJTnZQT5.731c3f06cee5.js.br +0 -0
- codex/static_root/assets/VRadioGroup-IJTnZQT5.731c3f06cee5.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-IJTnZQT5.js +1 -0
- codex/static_root/assets/VRadioGroup-IJTnZQT5.js.br +0 -0
- codex/static_root/assets/VRadioGroup-IJTnZQT5.js.gz +0 -0
- codex/static_root/assets/VSelect-C857NCMc.567124f78bac.js +1 -0
- codex/static_root/assets/VSelect-C857NCMc.567124f78bac.js.br +0 -0
- codex/static_root/assets/VSelect-C857NCMc.567124f78bac.js.gz +0 -0
- codex/static_root/assets/VSelect-C857NCMc.js +1 -0
- codex/static_root/assets/VSelect-C857NCMc.js.br +0 -0
- codex/static_root/assets/VSelect-C857NCMc.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-BUBBamEF.2e9636e900d8.js +1 -0
- codex/static_root/assets/VSelectionControl-BUBBamEF.2e9636e900d8.js.br +0 -0
- codex/static_root/assets/VSelectionControl-BUBBamEF.2e9636e900d8.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-BUBBamEF.js +1 -0
- codex/static_root/assets/VSelectionControl-BUBBamEF.js.br +0 -0
- codex/static_root/assets/VSelectionControl-BUBBamEF.js.gz +0 -0
- codex/static_root/assets/VTable-CQyv0wyO.1740239d481b.css +1 -0
- codex/static_root/assets/VTable-CQyv0wyO.1740239d481b.css.br +0 -0
- codex/static_root/assets/VTable-CQyv0wyO.1740239d481b.css.gz +0 -0
- codex/static_root/assets/VTable-CQyv0wyO.css +1 -0
- codex/static_root/assets/VTable-CQyv0wyO.css.br +0 -0
- codex/static_root/assets/VTable-CQyv0wyO.css.gz +0 -0
- codex/static_root/assets/VTable-CwYzcGki.ddd22f371cdb.js +1 -0
- codex/static_root/assets/VTable-CwYzcGki.ddd22f371cdb.js.br +0 -0
- codex/static_root/assets/VTable-CwYzcGki.ddd22f371cdb.js.gz +0 -0
- codex/static_root/assets/VTable-CwYzcGki.js +1 -0
- codex/static_root/assets/VTable-CwYzcGki.js.br +0 -0
- codex/static_root/assets/VTable-CwYzcGki.js.gz +0 -0
- codex/static_root/assets/VWindowItem-ChYLiXSE.a9c679a2977e.css +1 -0
- codex/static_root/assets/VWindowItem-ChYLiXSE.a9c679a2977e.css.br +0 -0
- codex/static_root/assets/VWindowItem-ChYLiXSE.a9c679a2977e.css.gz +0 -0
- codex/static_root/assets/VWindowItem-ChYLiXSE.css +1 -0
- codex/static_root/assets/VWindowItem-ChYLiXSE.css.br +0 -0
- codex/static_root/assets/VWindowItem-ChYLiXSE.css.gz +0 -0
- codex/static_root/assets/VWindowItem-WsjNvbu_.0c1a85eba03e.js +1 -0
- codex/static_root/assets/VWindowItem-WsjNvbu_.0c1a85eba03e.js.br +0 -0
- codex/static_root/assets/VWindowItem-WsjNvbu_.0c1a85eba03e.js.gz +0 -0
- codex/static_root/assets/VWindowItem-WsjNvbu_.js +1 -0
- codex/static_root/assets/VWindowItem-WsjNvbu_.js.br +0 -0
- codex/static_root/assets/VWindowItem-WsjNvbu_.js.gz +0 -0
- codex/static_root/assets/admin-ByuViOU9.9a1ee0a29ae2.js +1 -0
- codex/static_root/assets/admin-ByuViOU9.9a1ee0a29ae2.js.br +0 -0
- codex/static_root/assets/admin-ByuViOU9.9a1ee0a29ae2.js.gz +0 -0
- codex/static_root/assets/admin-ByuViOU9.js +1 -0
- codex/static_root/assets/admin-ByuViOU9.js.br +0 -0
- codex/static_root/assets/admin-ByuViOU9.js.gz +0 -0
- codex/static_root/assets/admin-CJauEn2X.b0c66e357083.js +1 -0
- codex/static_root/assets/admin-CJauEn2X.b0c66e357083.js.br +0 -0
- codex/static_root/assets/admin-CJauEn2X.b0c66e357083.js.gz +0 -0
- codex/static_root/assets/admin-CJauEn2X.js +1 -0
- codex/static_root/assets/admin-CJauEn2X.js.br +0 -0
- codex/static_root/assets/admin-CJauEn2X.js.gz +0 -0
- codex/static_root/assets/admin-DJCVf2PA.7ba26fd73264.css +1 -0
- codex/static_root/assets/admin-DJCVf2PA.7ba26fd73264.css.br +0 -0
- codex/static_root/assets/admin-DJCVf2PA.7ba26fd73264.css.gz +0 -0
- codex/static_root/assets/admin-DJCVf2PA.css +1 -0
- codex/static_root/assets/admin-DJCVf2PA.css.br +0 -0
- codex/static_root/assets/admin-DJCVf2PA.css.gz +0 -0
- codex/static_root/assets/admin-menu-BRVAx54U.2c7d6cfd8a50.js +1 -0
- codex/static_root/assets/admin-menu-BRVAx54U.2c7d6cfd8a50.js.br +0 -0
- codex/static_root/assets/admin-menu-BRVAx54U.2c7d6cfd8a50.js.gz +0 -0
- codex/static_root/assets/admin-menu-BRVAx54U.js +1 -0
- codex/static_root/assets/admin-menu-BRVAx54U.js.br +0 -0
- codex/static_root/assets/admin-menu-BRVAx54U.js.gz +0 -0
- codex/static_root/assets/admin-menu-hpyUS8ku.18284a11084d.css +1 -0
- codex/static_root/assets/admin-menu-hpyUS8ku.18284a11084d.css.br +0 -0
- codex/static_root/assets/admin-menu-hpyUS8ku.18284a11084d.css.gz +0 -0
- codex/static_root/assets/admin-menu-hpyUS8ku.css +1 -0
- codex/static_root/assets/admin-menu-hpyUS8ku.css.br +0 -0
- codex/static_root/assets/admin-menu-hpyUS8ku.css.gz +0 -0
- codex/static_root/assets/admin-settings-button-progress-Cks9_KN-.a592809d4008.css +1 -0
- codex/static_root/assets/admin-settings-button-progress-Cks9_KN-.css +1 -0
- codex/static_root/assets/admin-settings-button-progress-Do1FKRa_.4fe043a87c09.js +1 -0
- codex/static_root/assets/admin-settings-button-progress-Do1FKRa_.4fe043a87c09.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-Do1FKRa_.4fe043a87c09.js.gz +0 -0
- codex/static_root/assets/admin-settings-button-progress-Do1FKRa_.js +1 -0
- codex/static_root/assets/admin-settings-button-progress-Do1FKRa_.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-Do1FKRa_.js.gz +0 -0
- codex/static_root/assets/browser-Cdi7U5ku.bab9fccf0326.css +1 -0
- codex/static_root/assets/browser-Cdi7U5ku.bab9fccf0326.css.br +0 -0
- codex/static_root/assets/browser-Cdi7U5ku.bab9fccf0326.css.gz +0 -0
- codex/static_root/assets/browser-Cdi7U5ku.css +1 -0
- codex/static_root/assets/browser-Cdi7U5ku.css.br +0 -0
- codex/static_root/assets/browser-Cdi7U5ku.css.gz +0 -0
- codex/static_root/assets/browser-OtRiWIux.be28cec0e65a.js +1 -0
- codex/static_root/assets/browser-OtRiWIux.be28cec0e65a.js.br +0 -0
- codex/static_root/assets/browser-OtRiWIux.be28cec0e65a.js.gz +0 -0
- codex/static_root/assets/browser-OtRiWIux.js +1 -0
- codex/static_root/assets/browser-OtRiWIux.js.br +0 -0
- codex/static_root/assets/browser-OtRiWIux.js.gz +0 -0
- codex/static_root/assets/change-password-dialog-DE8R9FId.f3180b3946dd.js +1 -0
- codex/static_root/assets/change-password-dialog-DE8R9FId.f3180b3946dd.js.br +0 -0
- codex/static_root/assets/change-password-dialog-DE8R9FId.f3180b3946dd.js.gz +0 -0
- codex/static_root/assets/change-password-dialog-DE8R9FId.js +1 -0
- codex/static_root/assets/change-password-dialog-DE8R9FId.js.br +0 -0
- codex/static_root/assets/change-password-dialog-DE8R9FId.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-Dy-4G4rU.c2de2d0acce1.js +1 -0
- codex/static_root/assets/confirm-dialog-Dy-4G4rU.c2de2d0acce1.js.br +0 -0
- codex/static_root/assets/confirm-dialog-Dy-4G4rU.c2de2d0acce1.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-Dy-4G4rU.js +1 -0
- codex/static_root/assets/confirm-dialog-Dy-4G4rU.js.br +0 -0
- codex/static_root/assets/confirm-dialog-Dy-4G4rU.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-YfC8mRQA.be37e8f67e0f.css +1 -0
- codex/static_root/assets/confirm-dialog-YfC8mRQA.css +1 -0
- codex/static_root/assets/datetime-column-Bt7J1qEf.css +1 -0
- codex/static_root/assets/datetime-column-Bt7J1qEf.css.br +0 -0
- codex/static_root/assets/datetime-column-Bt7J1qEf.d83164b4d4cb.css +1 -0
- codex/static_root/assets/datetime-column-Bt7J1qEf.d83164b4d4cb.css.br +0 -0
- codex/static_root/assets/datetime-column-C86OiFxS.32dca850b5fb.js +1 -0
- codex/static_root/assets/datetime-column-C86OiFxS.32dca850b5fb.js.br +0 -0
- codex/static_root/assets/datetime-column-C86OiFxS.32dca850b5fb.js.gz +0 -0
- codex/static_root/assets/datetime-column-C86OiFxS.js +1 -0
- codex/static_root/assets/datetime-column-C86OiFxS.js.br +0 -0
- codex/static_root/assets/datetime-column-C86OiFxS.js.gz +0 -0
- codex/static_root/assets/filter-OaiDOf0D.41d89efe9cd5.js +1 -0
- codex/static_root/assets/filter-OaiDOf0D.41d89efe9cd5.js.br +0 -0
- codex/static_root/assets/filter-OaiDOf0D.41d89efe9cd5.js.gz +0 -0
- codex/static_root/assets/filter-OaiDOf0D.js +1 -0
- codex/static_root/assets/filter-OaiDOf0D.js.br +0 -0
- codex/static_root/assets/filter-OaiDOf0D.js.gz +0 -0
- codex/static_root/assets/flag-tab-ChsErni6.0fca30995a0e.js +1 -0
- codex/static_root/assets/flag-tab-ChsErni6.0fca30995a0e.js.br +0 -0
- codex/static_root/assets/flag-tab-ChsErni6.0fca30995a0e.js.gz +0 -0
- codex/static_root/assets/flag-tab-ChsErni6.js +1 -0
- codex/static_root/assets/flag-tab-ChsErni6.js.br +0 -0
- codex/static_root/assets/flag-tab-ChsErni6.js.gz +0 -0
- codex/static_root/assets/forwardRefs-B_sUWZn6.5114f206ca9c.css +1 -0
- codex/static_root/assets/forwardRefs-B_sUWZn6.5114f206ca9c.css.br +0 -0
- codex/static_root/assets/forwardRefs-B_sUWZn6.5114f206ca9c.css.gz +0 -0
- codex/static_root/assets/forwardRefs-B_sUWZn6.css +1 -0
- codex/static_root/assets/forwardRefs-B_sUWZn6.css.br +0 -0
- codex/static_root/assets/forwardRefs-B_sUWZn6.css.gz +0 -0
- codex/static_root/assets/forwardRefs-BjkhALLr.1bfbdea189d7.js +1 -0
- codex/static_root/assets/forwardRefs-BjkhALLr.1bfbdea189d7.js.br +0 -0
- codex/static_root/assets/forwardRefs-BjkhALLr.1bfbdea189d7.js.gz +0 -0
- codex/static_root/assets/forwardRefs-BjkhALLr.js +1 -0
- codex/static_root/assets/forwardRefs-BjkhALLr.js.br +0 -0
- codex/static_root/assets/forwardRefs-BjkhALLr.js.gz +0 -0
- codex/static_root/assets/group-tab-CQ_Qw6h8.078d0a9225ba.css +1 -0
- codex/static_root/assets/group-tab-CQ_Qw6h8.078d0a9225ba.css.br +0 -0
- codex/static_root/assets/group-tab-CQ_Qw6h8.078d0a9225ba.css.gz +0 -0
- codex/static_root/assets/group-tab-CQ_Qw6h8.css +1 -0
- codex/static_root/assets/group-tab-CQ_Qw6h8.css.br +0 -0
- codex/static_root/assets/group-tab-CQ_Qw6h8.css.gz +0 -0
- codex/static_root/assets/group-tab-DB4vz9MA.42dd130d0118.js +1 -0
- codex/static_root/assets/group-tab-DB4vz9MA.42dd130d0118.js.br +0 -0
- codex/static_root/assets/group-tab-DB4vz9MA.42dd130d0118.js.gz +0 -0
- codex/static_root/assets/group-tab-DB4vz9MA.js +1 -0
- codex/static_root/assets/group-tab-DB4vz9MA.js.br +0 -0
- codex/static_root/assets/group-tab-DB4vz9MA.js.gz +0 -0
- codex/static_root/assets/http-error-7Kkr0CW4.c16118f162ac.js +1 -0
- codex/static_root/assets/http-error-7Kkr0CW4.c16118f162ac.js.br +0 -0
- codex/static_root/assets/http-error-7Kkr0CW4.c16118f162ac.js.gz +0 -0
- codex/static_root/assets/http-error-7Kkr0CW4.js +1 -0
- codex/static_root/assets/http-error-7Kkr0CW4.js.br +0 -0
- codex/static_root/assets/http-error-7Kkr0CW4.js.gz +0 -0
- codex/static_root/assets/http-error-CB3k5P-n.82d886ac81c7.css +1 -0
- codex/static_root/assets/http-error-CB3k5P-n.82d886ac81c7.css.br +0 -0
- codex/static_root/assets/http-error-CB3k5P-n.82d886ac81c7.css.gz +0 -0
- codex/static_root/assets/http-error-CB3k5P-n.css +1 -0
- codex/static_root/assets/http-error-CB3k5P-n.css.br +0 -0
- codex/static_root/assets/http-error-CB3k5P-n.css.gz +0 -0
- codex/static_root/assets/index-yvfyzOV3.c886587fcfb6.js +1 -0
- codex/static_root/assets/index-yvfyzOV3.c886587fcfb6.js.br +0 -0
- codex/static_root/assets/index-yvfyzOV3.c886587fcfb6.js.gz +0 -0
- codex/static_root/assets/index-yvfyzOV3.js +1 -0
- codex/static_root/assets/index-yvfyzOV3.js.br +0 -0
- codex/static_root/assets/index-yvfyzOV3.js.gz +0 -0
- codex/static_root/assets/library-tab-5StL67ei.0fad8998a237.css +1 -0
- codex/static_root/assets/library-tab-5StL67ei.0fad8998a237.css.br +0 -0
- codex/static_root/assets/library-tab-5StL67ei.0fad8998a237.css.gz +0 -0
- codex/static_root/assets/library-tab-5StL67ei.css +1 -0
- codex/static_root/assets/library-tab-5StL67ei.css.br +0 -0
- codex/static_root/assets/library-tab-5StL67ei.css.gz +0 -0
- codex/static_root/assets/library-tab-BJM2q4YE.0eb19632c084.js +1 -0
- codex/static_root/assets/library-tab-BJM2q4YE.0eb19632c084.js.br +0 -0
- codex/static_root/assets/library-tab-BJM2q4YE.0eb19632c084.js.gz +0 -0
- codex/static_root/assets/library-tab-BJM2q4YE.js +1 -0
- codex/static_root/assets/library-tab-BJM2q4YE.js.br +0 -0
- codex/static_root/assets/library-tab-BJM2q4YE.js.gz +0 -0
- codex/static_root/assets/main-0gkU-bgy.475633238e98.js +39 -0
- codex/static_root/assets/main-0gkU-bgy.475633238e98.js.br +0 -0
- codex/static_root/assets/main-0gkU-bgy.475633238e98.js.gz +0 -0
- codex/static_root/assets/main-0gkU-bgy.js +39 -0
- codex/static_root/assets/main-0gkU-bgy.js.br +0 -0
- codex/static_root/assets/main-0gkU-bgy.js.gz +0 -0
- codex/static_root/assets/main-B8_0rUnw.a9be0875ae25.css +5 -0
- codex/static_root/assets/main-B8_0rUnw.a9be0875ae25.css.br +0 -0
- codex/static_root/assets/main-B8_0rUnw.a9be0875ae25.css.gz +0 -0
- codex/static_root/assets/main-B8_0rUnw.css +5 -0
- codex/static_root/assets/main-B8_0rUnw.css.br +0 -0
- codex/static_root/assets/main-B8_0rUnw.css.gz +0 -0
- codex/static_root/assets/pager-full-pdf-dMflY9TZ.14b64093d057.js +1 -0
- codex/static_root/assets/pager-full-pdf-dMflY9TZ.14b64093d057.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-dMflY9TZ.14b64093d057.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-dMflY9TZ.js +1 -0
- codex/static_root/assets/pager-full-pdf-dMflY9TZ.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-dMflY9TZ.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-741OafNw.4f9155469274.css +1 -0
- codex/static_root/assets/pagination-toolbar-741OafNw.4f9155469274.css.br +0 -0
- codex/static_root/assets/pagination-toolbar-741OafNw.4f9155469274.css.gz +0 -0
- codex/static_root/assets/pagination-toolbar-741OafNw.css +1 -0
- codex/static_root/assets/pagination-toolbar-741OafNw.css.br +0 -0
- codex/static_root/assets/pagination-toolbar-741OafNw.css.gz +0 -0
- codex/static_root/assets/pagination-toolbar-BzWY1XTi.b1fbe47f722d.js +1 -0
- codex/static_root/assets/pagination-toolbar-BzWY1XTi.b1fbe47f722d.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-BzWY1XTi.b1fbe47f722d.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-BzWY1XTi.js +1 -0
- codex/static_root/assets/pagination-toolbar-BzWY1XTi.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-BzWY1XTi.js.gz +0 -0
- codex/static_root/assets/pdf-doc-remlTMFH.4063b6ec0033.js +372 -0
- codex/static_root/assets/pdf-doc-remlTMFH.4063b6ec0033.js.br +0 -0
- codex/static_root/assets/pdf-doc-remlTMFH.4063b6ec0033.js.gz +0 -0
- codex/static_root/assets/pdf-doc-remlTMFH.js +372 -0
- codex/static_root/assets/pdf-doc-remlTMFH.js.br +0 -0
- codex/static_root/assets/pdf-doc-remlTMFH.js.gz +0 -0
- codex/static_root/assets/reader-CmiUt5h2.65e3cb07aac9.js +2 -0
- codex/static_root/assets/reader-CmiUt5h2.65e3cb07aac9.js.br +0 -0
- codex/static_root/assets/reader-CmiUt5h2.65e3cb07aac9.js.gz +0 -0
- codex/static_root/assets/reader-CmiUt5h2.js +2 -0
- codex/static_root/assets/reader-CmiUt5h2.js.br +0 -0
- codex/static_root/assets/reader-CmiUt5h2.js.gz +0 -0
- codex/static_root/assets/reader-HE07eoaG.8626eeb7c718.css +1 -0
- codex/static_root/assets/reader-HE07eoaG.8626eeb7c718.css.br +0 -0
- codex/static_root/assets/reader-HE07eoaG.8626eeb7c718.css.gz +0 -0
- codex/static_root/assets/reader-HE07eoaG.css +1 -0
- codex/static_root/assets/reader-HE07eoaG.css.br +0 -0
- codex/static_root/assets/reader-HE07eoaG.css.gz +0 -0
- codex/static_root/assets/relation-chips-CcFgPQOM.0b468249b62e.css +1 -0
- codex/static_root/assets/relation-chips-CcFgPQOM.0b468249b62e.css.br +0 -0
- codex/static_root/assets/relation-chips-CcFgPQOM.0b468249b62e.css.gz +0 -0
- codex/static_root/assets/relation-chips-CcFgPQOM.css +1 -0
- codex/static_root/assets/relation-chips-CcFgPQOM.css.br +0 -0
- codex/static_root/assets/relation-chips-CcFgPQOM.css.gz +0 -0
- codex/static_root/assets/relation-chips-Dl0i3EP7.1f365f5c1e41.js +1 -0
- codex/static_root/assets/relation-chips-Dl0i3EP7.1f365f5c1e41.js.br +0 -0
- codex/static_root/assets/relation-chips-Dl0i3EP7.1f365f5c1e41.js.gz +0 -0
- codex/static_root/assets/relation-chips-Dl0i3EP7.js +1 -0
- codex/static_root/assets/relation-chips-Dl0i3EP7.js.br +0 -0
- codex/static_root/assets/relation-chips-Dl0i3EP7.js.gz +0 -0
- codex/static_root/assets/settings-drawer-CpKXWPSA.82625de924bb.js +2 -0
- codex/static_root/assets/settings-drawer-CpKXWPSA.82625de924bb.js.br +0 -0
- codex/static_root/assets/settings-drawer-CpKXWPSA.82625de924bb.js.gz +0 -0
- codex/static_root/assets/settings-drawer-CpKXWPSA.js +2 -0
- codex/static_root/assets/settings-drawer-CpKXWPSA.js.br +0 -0
- codex/static_root/assets/settings-drawer-CpKXWPSA.js.gz +0 -0
- codex/static_root/assets/settings-drawer-CpS_aX4Z.9d4d9533d033.css +1 -0
- codex/static_root/assets/settings-drawer-CpS_aX4Z.9d4d9533d033.css.br +0 -0
- codex/static_root/assets/settings-drawer-CpS_aX4Z.9d4d9533d033.css.gz +0 -0
- codex/static_root/assets/settings-drawer-CpS_aX4Z.css +1 -0
- codex/static_root/assets/settings-drawer-CpS_aX4Z.css.br +0 -0
- codex/static_root/assets/settings-drawer-CpS_aX4Z.css.gz +0 -0
- codex/static_root/assets/ssrBoot-D4fyL90J.0eef13056f93.js +1 -0
- codex/static_root/assets/ssrBoot-D4fyL90J.0eef13056f93.js.br +0 -0
- codex/static_root/assets/ssrBoot-D4fyL90J.0eef13056f93.js.gz +0 -0
- codex/static_root/assets/ssrBoot-D4fyL90J.js +1 -0
- codex/static_root/assets/ssrBoot-D4fyL90J.js.br +0 -0
- codex/static_root/assets/ssrBoot-D4fyL90J.js.gz +0 -0
- codex/static_root/assets/stats-tab-Cu7saNBy.8ad3f7a0995a.js +1 -0
- codex/static_root/assets/stats-tab-Cu7saNBy.8ad3f7a0995a.js.br +0 -0
- codex/static_root/assets/stats-tab-Cu7saNBy.8ad3f7a0995a.js.gz +0 -0
- codex/static_root/assets/stats-tab-Cu7saNBy.js +1 -0
- codex/static_root/assets/stats-tab-Cu7saNBy.js.br +0 -0
- codex/static_root/assets/stats-tab-Cu7saNBy.js.gz +0 -0
- codex/static_root/assets/stats-tab-Dpqh5pF9.8dba36f90032.css +1 -0
- codex/static_root/assets/stats-tab-Dpqh5pF9.8dba36f90032.css.br +0 -0
- codex/static_root/assets/stats-tab-Dpqh5pF9.8dba36f90032.css.gz +0 -0
- codex/static_root/assets/stats-tab-Dpqh5pF9.css +1 -0
- codex/static_root/assets/stats-tab-Dpqh5pF9.css.br +0 -0
- codex/static_root/assets/stats-tab-Dpqh5pF9.css.gz +0 -0
- codex/static_root/assets/task-tab-B66NRaoH.fdb8c98f0652.js +1 -0
- codex/static_root/assets/task-tab-B66NRaoH.fdb8c98f0652.js.br +0 -0
- codex/static_root/assets/task-tab-B66NRaoH.fdb8c98f0652.js.gz +0 -0
- codex/static_root/assets/task-tab-B66NRaoH.js +1 -0
- codex/static_root/assets/task-tab-B66NRaoH.js.br +0 -0
- codex/static_root/assets/task-tab-B66NRaoH.js.gz +0 -0
- codex/static_root/assets/unauthorized-BBwsmi0O.19d4882b821d.css +1 -0
- codex/static_root/assets/unauthorized-BBwsmi0O.19d4882b821d.css.br +0 -0
- codex/static_root/assets/unauthorized-BBwsmi0O.19d4882b821d.css.gz +0 -0
- codex/static_root/assets/unauthorized-BBwsmi0O.css +1 -0
- codex/static_root/assets/unauthorized-BBwsmi0O.css.br +0 -0
- codex/static_root/assets/unauthorized-BBwsmi0O.css.gz +0 -0
- codex/static_root/assets/unauthorized-CLNP5Zx1.9f072de5e06c.js +1 -0
- codex/static_root/assets/unauthorized-CLNP5Zx1.9f072de5e06c.js.br +0 -0
- codex/static_root/assets/unauthorized-CLNP5Zx1.9f072de5e06c.js.gz +0 -0
- codex/static_root/assets/unauthorized-CLNP5Zx1.js +1 -0
- codex/static_root/assets/unauthorized-CLNP5Zx1.js.br +0 -0
- codex/static_root/assets/unauthorized-CLNP5Zx1.js.gz +0 -0
- codex/static_root/assets/user-tab-BqhQ3sls.cacf99be60fb.js +1 -0
- codex/static_root/assets/user-tab-BqhQ3sls.cacf99be60fb.js.br +0 -0
- codex/static_root/assets/user-tab-BqhQ3sls.cacf99be60fb.js.gz +0 -0
- codex/static_root/assets/user-tab-BqhQ3sls.js +1 -0
- codex/static_root/assets/user-tab-BqhQ3sls.js.br +0 -0
- codex/static_root/assets/user-tab-BqhQ3sls.js.gz +0 -0
- codex/static_root/img/folder.83168d8d3119.svg +1 -0
- codex/static_root/img/folder.83168d8d3119.svg.br +1 -0
- codex/static_root/img/folder.83168d8d3119.svg.gz +0 -0
- codex/static_root/img/folder.svg +1 -1
- codex/static_root/img/folder.svg.br +0 -0
- codex/static_root/img/folder.svg.gz +0 -0
- codex/static_root/img/imprint.3ca7a779b949.svg +1 -0
- codex/static_root/img/imprint.3ca7a779b949.svg.br +0 -0
- codex/static_root/img/imprint.3ca7a779b949.svg.gz +0 -0
- codex/static_root/img/imprint.svg +1 -1
- codex/static_root/img/imprint.svg.br +0 -0
- codex/static_root/img/imprint.svg.gz +0 -0
- codex/static_root/img/logo-maskable.aeef5c2fffc8.svg +1 -0
- codex/static_root/img/logo-maskable.aeef5c2fffc8.svg.br +0 -0
- codex/static_root/img/logo-maskable.aeef5c2fffc8.svg.gz +0 -0
- codex/static_root/img/logo-maskable.svg +1 -1
- codex/static_root/img/logo-maskable.svg.br +0 -0
- codex/static_root/img/logo-maskable.svg.gz +0 -0
- codex/static_root/img/logo.00c902973831.svg +1 -0
- codex/static_root/img/logo.00c902973831.svg.br +0 -0
- codex/static_root/img/logo.00c902973831.svg.gz +0 -0
- codex/static_root/img/logo.svg +1 -1
- codex/static_root/img/logo.svg.br +0 -0
- codex/static_root/img/logo.svg.gz +0 -0
- codex/static_root/img/missing-cover-165.f4bb7740084c.webp +0 -0
- codex/static_root/img/missing-cover-165.webp +0 -0
- codex/static_root/img/missing-cover.7329518c5972.svg +1 -0
- codex/static_root/img/missing-cover.7329518c5972.svg.br +0 -0
- codex/static_root/img/missing-cover.7329518c5972.svg.gz +0 -0
- codex/static_root/img/missing-cover.svg +1 -1
- codex/static_root/img/missing-cover.svg.br +0 -0
- codex/static_root/img/missing-cover.svg.gz +0 -0
- codex/static_root/img/series.b092bbac0c2a.svg +1 -0
- codex/static_root/img/series.b092bbac0c2a.svg.br +0 -0
- codex/static_root/img/series.b092bbac0c2a.svg.gz +0 -0
- codex/static_root/img/series.svg +1 -1
- codex/static_root/img/series.svg.br +0 -0
- codex/static_root/img/series.svg.gz +0 -0
- codex/static_root/img/story-arc.884f7b1d95bd.svg +1 -0
- codex/static_root/img/story-arc.884f7b1d95bd.svg.br +0 -0
- codex/static_root/img/story-arc.884f7b1d95bd.svg.gz +0 -0
- codex/static_root/img/story-arc.svg +1 -1
- codex/static_root/img/story-arc.svg.br +0 -0
- codex/static_root/img/story-arc.svg.gz +0 -0
- codex/static_root/img/volume.516ec0c3018d.svg +1 -0
- codex/static_root/img/volume.516ec0c3018d.svg.br +0 -0
- codex/static_root/img/volume.516ec0c3018d.svg.gz +0 -0
- codex/static_root/img/volume.svg +1 -1
- codex/static_root/img/volume.svg.br +0 -0
- codex/static_root/img/volume.svg.gz +0 -0
- codex/static_root/manifest.474fa7aff739.json +760 -0
- codex/static_root/manifest.474fa7aff739.json.br +0 -0
- codex/static_root/manifest.474fa7aff739.json.gz +0 -0
- codex/static_root/manifest.json +341 -338
- codex/static_root/manifest.json.br +0 -0
- codex/static_root/manifest.json.gz +0 -0
- codex/static_root/staticfiles.json +1 -1
- codex/templates/headers-script-globals.html +1 -0
- codex/urls/api/browser.py +10 -1
- codex/urls/converters.py +2 -5
- codex/urls/root.py +1 -1
- codex/util.py +14 -8
- codex/views/admin/api_key.py +1 -1
- codex/views/admin/flag.py +10 -9
- codex/views/admin/group.py +5 -3
- codex/views/admin/library.py +15 -9
- codex/views/admin/permissions.py +21 -0
- codex/views/admin/stats.py +6 -8
- codex/views/admin/tasks.py +48 -48
- codex/views/admin/user.py +5 -3
- codex/views/auth.py +29 -11
- codex/views/bookmark.py +25 -14
- codex/views/browser/annotate/bookmark.py +0 -3
- codex/views/browser/annotate/card.py +20 -5
- codex/views/browser/annotate/order.py +3 -7
- codex/views/browser/bookmark.py +10 -7
- codex/views/browser/breadcrumbs.py +8 -7
- codex/views/browser/browser.py +16 -16
- codex/views/browser/choices.py +81 -65
- codex/views/browser/cover.py +21 -19
- codex/views/browser/download.py +5 -5
- codex/views/browser/filters/bookmark.py +5 -0
- codex/views/browser/filters/field.py +3 -3
- codex/views/browser/filters/filter.py +3 -5
- codex/views/browser/filters/group.py +5 -5
- codex/views/browser/filters/search/field/column.py +13 -9
- codex/views/browser/filters/search/field/expression.py +1 -3
- codex/views/browser/filters/search/field/filter.py +2 -4
- codex/views/browser/filters/search/field/optimize.py +1 -1
- codex/views/browser/filters/search/field/parse.py +28 -7
- codex/views/browser/filters/search/fts.py +3 -4
- codex/views/browser/filters/search/parse.py +26 -26
- codex/views/browser/group_mtime.py +13 -10
- codex/views/browser/metadata/__init__.py +90 -1
- codex/views/browser/metadata/annotate.py +13 -27
- codex/views/browser/metadata/const.py +83 -0
- codex/views/browser/metadata/copy_intersections.py +14 -9
- codex/views/browser/metadata/query_intersections.py +67 -48
- codex/views/browser/mtime.py +4 -7
- codex/views/browser/order_by.py +4 -1
- codex/views/browser/page_in_bounds.py +6 -7
- codex/views/browser/paginate.py +3 -5
- codex/views/browser/params.py +23 -36
- codex/views/browser/settings.py +18 -4
- codex/views/browser/title.py +9 -5
- codex/views/browser/validate.py +6 -8
- codex/views/const.py +11 -9
- codex/views/download.py +2 -2
- codex/views/error.py +1 -1
- codex/views/exceptions.py +82 -0
- codex/views/frontend.py +8 -18
- codex/views/lazy_import.py +24 -0
- codex/views/mixins.py +34 -12
- codex/views/opds/auth.py +2 -2
- codex/views/opds/authentication_v1.py +2 -1
- codex/views/opds/const.py +1 -1
- codex/views/opds/urls.py +2 -1
- codex/views/opds/util.py +14 -41
- codex/views/opds/v1/entry/entry.py +12 -15
- codex/views/opds/v1/entry/links.py +15 -19
- codex/views/opds/v1/facets.py +8 -5
- codex/views/opds/v1/feed.py +23 -22
- codex/views/opds/v1/links.py +3 -7
- codex/views/opds/v1/opensearch_v1.py +7 -4
- codex/views/opds/v2/feed.py +14 -15
- codex/views/opds/v2/href.py +17 -12
- codex/views/opds/v2/links.py +3 -1
- codex/views/opds/v2/progression.py +31 -15
- codex/views/opds/v2/publications.py +18 -17
- codex/views/opds/v2/top_links.py +7 -2
- codex/views/public.py +12 -15
- codex/views/reader/arcs.py +153 -74
- codex/views/reader/books.py +72 -97
- codex/views/reader/page.py +13 -9
- codex/views/reader/params.py +33 -96
- codex/views/reader/reader.py +18 -73
- codex/views/reader/settings.py +4 -2
- codex/views/session.py +13 -19
- codex/views/settings.py +4 -9
- codex/views/template.py +8 -4
- codex/views/timezone.py +4 -5
- codex/views/util.py +3 -24
- codex/views/version.py +5 -3
- codex/websockets/consumers.py +7 -7
- codex/websockets/listener.py +4 -5
- codex-1.8.0.dist-info/METADATA +592 -0
- codex-1.8.0.dist-info/RECORD +1101 -0
- codex-1.8.0.dist-info/WHEEL +4 -0
- codex-1.8.0.dist-info/entry_points.txt +2 -0
- codex/db.py +0 -134
- codex/exceptions.py +0 -88
- codex/librarian/README.md +0 -4
- codex/librarian/delayed_taskd.py +0 -21
- codex/librarian/importer/__init__.py +0 -1
- codex/librarian/importer/aggregate.py +0 -256
- codex/librarian/importer/cache.py +0 -90
- codex/librarian/importer/const.py +0 -244
- codex/librarian/importer/create_comics.py +0 -139
- codex/librarian/importer/create_covers.py +0 -96
- codex/librarian/importer/create_fks.py +0 -346
- codex/librarian/importer/deleted.py +0 -138
- codex/librarian/importer/extract.py +0 -284
- codex/librarian/importer/failed_imports.py +0 -165
- codex/librarian/importer/importer.py +0 -101
- codex/librarian/importer/importerd.py +0 -122
- codex/librarian/importer/init.py +0 -264
- codex/librarian/importer/link_comics.py +0 -270
- codex/librarian/importer/link_covers.py +0 -73
- codex/librarian/importer/moved.py +0 -368
- codex/librarian/importer/query_covers.py +0 -53
- codex/librarian/importer/query_fks.py +0 -653
- codex/librarian/importer/status.py +0 -29
- codex/librarian/importer/tasks.py +0 -55
- codex/librarian/janitor/__init__.py +0 -1
- codex/librarian/janitor/cleanup.py +0 -167
- codex/librarian/janitor/failed_imports.py +0 -27
- codex/librarian/janitor/integrity.py +0 -378
- codex/librarian/janitor/janitor.py +0 -161
- codex/librarian/janitor/latest_version.py +0 -55
- codex/librarian/janitor/scheduled_time.py +0 -12
- codex/librarian/janitor/status.py +0 -22
- codex/librarian/janitor/tasks.py +0 -109
- codex/librarian/janitor/update.py +0 -109
- codex/librarian/janitor/vacuum.py +0 -51
- codex/librarian/search/__init__.py +0 -1
- codex/librarian/search/optimize.py +0 -43
- codex/librarian/search/remove.py +0 -53
- codex/librarian/search/searchd.py +0 -28
- codex/librarian/search/status.py +0 -13
- codex/librarian/search/tasks.py +0 -37
- codex/librarian/search/update.py +0 -305
- codex/librarian/watchdog/README.md +0 -11
- codex/logger/__init__.py +0 -1
- codex/logger/formatter.py +0 -36
- codex/logger/logger.py +0 -46
- codex/logger/loggerd.py +0 -102
- codex/logger/mp_queue.py +0 -5
- codex/logger_base.py +0 -12
- codex/memory.py +0 -56
- codex/permissions.py +0 -19
- codex/registration.py +0 -16
- codex/serializers/README.md +0 -4
- codex/settings/README.md +0 -4
- codex/settings/settings.py +0 -389
- codex/startup.py +0 -182
- codex/static_root/assets/VCheckbox-DraWPvy6.30c95a5ce5e6.js +0 -1
- codex/static_root/assets/VCheckbox-DraWPvy6.30c95a5ce5e6.js.br +0 -0
- codex/static_root/assets/VCheckbox-DraWPvy6.30c95a5ce5e6.js.gz +0 -0
- codex/static_root/assets/VCheckbox-DraWPvy6.js +0 -1
- codex/static_root/assets/VCheckbox-DraWPvy6.js.br +0 -0
- codex/static_root/assets/VCheckbox-DraWPvy6.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-Bxf1MS02.f38524c2448d.js +0 -1
- codex/static_root/assets/VCheckboxBtn-Bxf1MS02.f38524c2448d.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-Bxf1MS02.f38524c2448d.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-Bxf1MS02.js +0 -1
- codex/static_root/assets/VCheckboxBtn-Bxf1MS02.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-Bxf1MS02.js.gz +0 -0
- codex/static_root/assets/VCombobox-DKyNgHNV.b4e08dd5606d.js +0 -1
- codex/static_root/assets/VCombobox-DKyNgHNV.b4e08dd5606d.js.br +0 -0
- codex/static_root/assets/VCombobox-DKyNgHNV.b4e08dd5606d.js.gz +0 -0
- codex/static_root/assets/VCombobox-DKyNgHNV.js +0 -1
- codex/static_root/assets/VCombobox-DKyNgHNV.js.br +0 -0
- codex/static_root/assets/VCombobox-DKyNgHNV.js.gz +0 -0
- codex/static_root/assets/VDialog-C_zlnjF1.6c58e08b5374.css +0 -1
- codex/static_root/assets/VDialog-C_zlnjF1.6c58e08b5374.css.br +0 -0
- codex/static_root/assets/VDialog-C_zlnjF1.6c58e08b5374.css.gz +0 -0
- codex/static_root/assets/VDialog-C_zlnjF1.css +0 -1
- codex/static_root/assets/VDialog-C_zlnjF1.css.br +0 -0
- codex/static_root/assets/VDialog-C_zlnjF1.css.gz +0 -0
- codex/static_root/assets/VDialog-tf0N3lvG.eecb009783ed.js +0 -1
- codex/static_root/assets/VDialog-tf0N3lvG.eecb009783ed.js.br +0 -0
- codex/static_root/assets/VDialog-tf0N3lvG.eecb009783ed.js.gz +0 -0
- codex/static_root/assets/VDialog-tf0N3lvG.js +0 -1
- codex/static_root/assets/VDialog-tf0N3lvG.js.br +0 -0
- codex/static_root/assets/VDialog-tf0N3lvG.js.gz +0 -0
- codex/static_root/assets/VDivider-CTvTvFr_.3d0b477ddae0.js +0 -1
- codex/static_root/assets/VDivider-CTvTvFr_.3d0b477ddae0.js.br +0 -0
- codex/static_root/assets/VDivider-CTvTvFr_.3d0b477ddae0.js.gz +0 -0
- codex/static_root/assets/VDivider-CTvTvFr_.js +0 -1
- codex/static_root/assets/VDivider-CTvTvFr_.js.br +0 -0
- codex/static_root/assets/VDivider-CTvTvFr_.js.gz +0 -0
- codex/static_root/assets/VExpansionPanels-BjwwzLx6.203715bfa684.js +0 -1
- codex/static_root/assets/VExpansionPanels-BjwwzLx6.203715bfa684.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-BjwwzLx6.203715bfa684.js.gz +0 -0
- codex/static_root/assets/VExpansionPanels-BjwwzLx6.js +0 -1
- codex/static_root/assets/VExpansionPanels-BjwwzLx6.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-BjwwzLx6.js.gz +0 -0
- codex/static_root/assets/VForm-Dw7aCtM5.9266634dfe00.js +0 -1
- codex/static_root/assets/VForm-Dw7aCtM5.9266634dfe00.js.br +0 -0
- codex/static_root/assets/VForm-Dw7aCtM5.9266634dfe00.js.gz +0 -0
- codex/static_root/assets/VForm-Dw7aCtM5.js +0 -1
- codex/static_root/assets/VForm-Dw7aCtM5.js.br +0 -0
- codex/static_root/assets/VForm-Dw7aCtM5.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-DJBFM2Br.79fa65084b8d.js +0 -1
- codex/static_root/assets/VRadioGroup-DJBFM2Br.79fa65084b8d.js.br +0 -0
- codex/static_root/assets/VRadioGroup-DJBFM2Br.79fa65084b8d.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-DJBFM2Br.js +0 -1
- codex/static_root/assets/VRadioGroup-DJBFM2Br.js.br +0 -0
- codex/static_root/assets/VRadioGroup-DJBFM2Br.js.gz +0 -0
- codex/static_root/assets/VSelect-Cv8OuNtL.a5e2fe245f1a.js +0 -1
- codex/static_root/assets/VSelect-Cv8OuNtL.a5e2fe245f1a.js.br +0 -0
- codex/static_root/assets/VSelect-Cv8OuNtL.a5e2fe245f1a.js.gz +0 -0
- codex/static_root/assets/VSelect-Cv8OuNtL.js +0 -1
- codex/static_root/assets/VSelect-Cv8OuNtL.js.br +0 -0
- codex/static_root/assets/VSelect-Cv8OuNtL.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-DoFzRlEh.a927b53c246b.js +0 -1
- codex/static_root/assets/VSelectionControl-DoFzRlEh.a927b53c246b.js.br +0 -0
- codex/static_root/assets/VSelectionControl-DoFzRlEh.a927b53c246b.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-DoFzRlEh.js +0 -1
- codex/static_root/assets/VSelectionControl-DoFzRlEh.js.br +0 -0
- codex/static_root/assets/VSelectionControl-DoFzRlEh.js.gz +0 -0
- codex/static_root/assets/VTable-C-cNChDa.b2aabb112acf.js +0 -1
- codex/static_root/assets/VTable-C-cNChDa.b2aabb112acf.js.br +0 -0
- codex/static_root/assets/VTable-C-cNChDa.b2aabb112acf.js.gz +0 -0
- codex/static_root/assets/VTable-C-cNChDa.js +0 -1
- codex/static_root/assets/VTable-C-cNChDa.js.br +0 -0
- codex/static_root/assets/VTable-C-cNChDa.js.gz +0 -0
- codex/static_root/assets/VTable-CHRVGI94.0a75643f6486.css +0 -1
- codex/static_root/assets/VTable-CHRVGI94.0a75643f6486.css.br +0 -0
- codex/static_root/assets/VTable-CHRVGI94.0a75643f6486.css.gz +0 -0
- codex/static_root/assets/VTable-CHRVGI94.css +0 -1
- codex/static_root/assets/VTable-CHRVGI94.css.br +0 -0
- codex/static_root/assets/VTable-CHRVGI94.css.gz +0 -0
- codex/static_root/assets/VWindowItem-CWBhiE_Y.css +0 -1
- codex/static_root/assets/VWindowItem-CWBhiE_Y.css.br +0 -0
- codex/static_root/assets/VWindowItem-CWBhiE_Y.css.gz +0 -0
- codex/static_root/assets/VWindowItem-CWBhiE_Y.f7fb19752bf3.css +0 -1
- codex/static_root/assets/VWindowItem-CWBhiE_Y.f7fb19752bf3.css.br +0 -0
- codex/static_root/assets/VWindowItem-CWBhiE_Y.f7fb19752bf3.css.gz +0 -0
- codex/static_root/assets/VWindowItem-DL6bN3h7.45f85724527c.js +0 -1
- codex/static_root/assets/VWindowItem-DL6bN3h7.45f85724527c.js.br +0 -0
- codex/static_root/assets/VWindowItem-DL6bN3h7.45f85724527c.js.gz +0 -0
- codex/static_root/assets/VWindowItem-DL6bN3h7.js +0 -1
- codex/static_root/assets/VWindowItem-DL6bN3h7.js.br +0 -0
- codex/static_root/assets/VWindowItem-DL6bN3h7.js.gz +0 -0
- codex/static_root/assets/admin-BQ68PA7O.8bf1f757ca31.js +0 -1
- codex/static_root/assets/admin-BQ68PA7O.8bf1f757ca31.js.br +0 -0
- codex/static_root/assets/admin-BQ68PA7O.8bf1f757ca31.js.gz +0 -0
- codex/static_root/assets/admin-BQ68PA7O.js +0 -1
- codex/static_root/assets/admin-BQ68PA7O.js.br +0 -0
- codex/static_root/assets/admin-BQ68PA7O.js.gz +0 -0
- codex/static_root/assets/admin-Cg7RkTjo.191b04128f17.js +0 -1
- codex/static_root/assets/admin-Cg7RkTjo.191b04128f17.js.br +0 -0
- codex/static_root/assets/admin-Cg7RkTjo.191b04128f17.js.gz +0 -0
- codex/static_root/assets/admin-Cg7RkTjo.js +0 -1
- codex/static_root/assets/admin-Cg7RkTjo.js.br +0 -0
- codex/static_root/assets/admin-Cg7RkTjo.js.gz +0 -0
- codex/static_root/assets/admin-klMr_GZK.3784e4f1d624.css +0 -1
- codex/static_root/assets/admin-klMr_GZK.3784e4f1d624.css.br +0 -0
- codex/static_root/assets/admin-klMr_GZK.3784e4f1d624.css.gz +0 -0
- codex/static_root/assets/admin-klMr_GZK.css +0 -1
- codex/static_root/assets/admin-klMr_GZK.css.br +0 -0
- codex/static_root/assets/admin-klMr_GZK.css.gz +0 -0
- codex/static_root/assets/admin-menu-CKlcsy9S.41b2cf82b873.css +0 -1
- codex/static_root/assets/admin-menu-CKlcsy9S.41b2cf82b873.css.br +0 -0
- codex/static_root/assets/admin-menu-CKlcsy9S.41b2cf82b873.css.gz +0 -0
- codex/static_root/assets/admin-menu-CKlcsy9S.css +0 -1
- codex/static_root/assets/admin-menu-CKlcsy9S.css.br +0 -0
- codex/static_root/assets/admin-menu-CKlcsy9S.css.gz +0 -0
- codex/static_root/assets/admin-menu-Chx211s6.c63738168d93.js +0 -1
- codex/static_root/assets/admin-menu-Chx211s6.c63738168d93.js.br +0 -0
- codex/static_root/assets/admin-menu-Chx211s6.c63738168d93.js.gz +0 -0
- codex/static_root/assets/admin-menu-Chx211s6.js +0 -1
- codex/static_root/assets/admin-menu-Chx211s6.js.br +0 -0
- codex/static_root/assets/admin-menu-Chx211s6.js.gz +0 -0
- codex/static_root/assets/admin-settings-button-progress-DPuwgSVv.7689648ee782.js +0 -1
- codex/static_root/assets/admin-settings-button-progress-DPuwgSVv.7689648ee782.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-DPuwgSVv.7689648ee782.js.gz +0 -0
- codex/static_root/assets/admin-settings-button-progress-DPuwgSVv.js +0 -1
- codex/static_root/assets/admin-settings-button-progress-DPuwgSVv.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-DPuwgSVv.js.gz +0 -0
- codex/static_root/assets/admin-settings-button-progress-XVi7SeHr.435dc945daf1.css +0 -1
- codex/static_root/assets/admin-settings-button-progress-XVi7SeHr.css +0 -1
- codex/static_root/assets/browser-BKDmwxmv.6f4eca6489a1.js +0 -1
- codex/static_root/assets/browser-BKDmwxmv.6f4eca6489a1.js.br +0 -0
- codex/static_root/assets/browser-BKDmwxmv.6f4eca6489a1.js.gz +0 -0
- codex/static_root/assets/browser-BKDmwxmv.js +0 -1
- codex/static_root/assets/browser-BKDmwxmv.js.br +0 -0
- codex/static_root/assets/browser-BKDmwxmv.js.gz +0 -0
- codex/static_root/assets/browser-sNm790x9.305a6a4f38fd.css +0 -1
- codex/static_root/assets/browser-sNm790x9.305a6a4f38fd.css.br +0 -0
- codex/static_root/assets/browser-sNm790x9.305a6a4f38fd.css.gz +0 -0
- codex/static_root/assets/browser-sNm790x9.css +0 -1
- codex/static_root/assets/browser-sNm790x9.css.br +0 -0
- codex/static_root/assets/browser-sNm790x9.css.gz +0 -0
- codex/static_root/assets/change-password-dialog-DqupgUbt.e35dc497629b.js +0 -1
- codex/static_root/assets/change-password-dialog-DqupgUbt.e35dc497629b.js.br +0 -0
- codex/static_root/assets/change-password-dialog-DqupgUbt.e35dc497629b.js.gz +0 -0
- codex/static_root/assets/change-password-dialog-DqupgUbt.js +0 -1
- codex/static_root/assets/change-password-dialog-DqupgUbt.js.br +0 -0
- codex/static_root/assets/change-password-dialog-DqupgUbt.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-AMnfyuMm.278235fdacbf.js +0 -1
- codex/static_root/assets/confirm-dialog-AMnfyuMm.278235fdacbf.js.br +0 -0
- codex/static_root/assets/confirm-dialog-AMnfyuMm.278235fdacbf.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-AMnfyuMm.js +0 -1
- codex/static_root/assets/confirm-dialog-AMnfyuMm.js.br +0 -0
- codex/static_root/assets/confirm-dialog-AMnfyuMm.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-BI5kQLy_.1b5309ad95ec.css +0 -1
- codex/static_root/assets/confirm-dialog-BI5kQLy_.1b5309ad95ec.css.br +0 -0
- codex/static_root/assets/confirm-dialog-BI5kQLy_.css +0 -1
- codex/static_root/assets/confirm-dialog-BI5kQLy_.css.br +0 -0
- codex/static_root/assets/datetime-column-BavtvLnf.1f3bf499e063.css +0 -1
- codex/static_root/assets/datetime-column-BavtvLnf.css +0 -1
- codex/static_root/assets/datetime-column-m-oshrDM.7e17980c4b7a.js +0 -1
- codex/static_root/assets/datetime-column-m-oshrDM.7e17980c4b7a.js.br +0 -0
- codex/static_root/assets/datetime-column-m-oshrDM.7e17980c4b7a.js.gz +0 -0
- codex/static_root/assets/datetime-column-m-oshrDM.js +0 -1
- codex/static_root/assets/datetime-column-m-oshrDM.js.br +0 -0
- codex/static_root/assets/datetime-column-m-oshrDM.js.gz +0 -0
- codex/static_root/assets/filter-BucmWboA.c5589372c258.js +0 -1
- codex/static_root/assets/filter-BucmWboA.c5589372c258.js.br +0 -0
- codex/static_root/assets/filter-BucmWboA.c5589372c258.js.gz +0 -0
- codex/static_root/assets/filter-BucmWboA.js +0 -1
- codex/static_root/assets/filter-BucmWboA.js.br +0 -0
- codex/static_root/assets/filter-BucmWboA.js.gz +0 -0
- codex/static_root/assets/flag-tab-C434E1_2.49632d2b141d.js +0 -1
- codex/static_root/assets/flag-tab-C434E1_2.49632d2b141d.js.br +0 -0
- codex/static_root/assets/flag-tab-C434E1_2.49632d2b141d.js.gz +0 -0
- codex/static_root/assets/flag-tab-C434E1_2.js +0 -1
- codex/static_root/assets/flag-tab-C434E1_2.js.br +0 -0
- codex/static_root/assets/flag-tab-C434E1_2.js.gz +0 -0
- codex/static_root/assets/forwardRefs-C8KYLdfc.css +0 -1
- codex/static_root/assets/forwardRefs-C8KYLdfc.css.br +0 -0
- codex/static_root/assets/forwardRefs-C8KYLdfc.css.gz +0 -0
- codex/static_root/assets/forwardRefs-C8KYLdfc.f5843191eb9e.css +0 -1
- codex/static_root/assets/forwardRefs-C8KYLdfc.f5843191eb9e.css.br +0 -0
- codex/static_root/assets/forwardRefs-C8KYLdfc.f5843191eb9e.css.gz +0 -0
- codex/static_root/assets/forwardRefs-CGpIPavG.d61e8212d1dc.js +0 -1
- codex/static_root/assets/forwardRefs-CGpIPavG.d61e8212d1dc.js.br +0 -0
- codex/static_root/assets/forwardRefs-CGpIPavG.d61e8212d1dc.js.gz +0 -0
- codex/static_root/assets/forwardRefs-CGpIPavG.js +0 -1
- codex/static_root/assets/forwardRefs-CGpIPavG.js.br +0 -0
- codex/static_root/assets/forwardRefs-CGpIPavG.js.gz +0 -0
- codex/static_root/assets/group-tab-Bi681uR0.3246ac0f7cec.css +0 -1
- codex/static_root/assets/group-tab-Bi681uR0.3246ac0f7cec.css.br +0 -0
- codex/static_root/assets/group-tab-Bi681uR0.3246ac0f7cec.css.gz +0 -0
- codex/static_root/assets/group-tab-Bi681uR0.css +0 -1
- codex/static_root/assets/group-tab-Bi681uR0.css.br +0 -0
- codex/static_root/assets/group-tab-Bi681uR0.css.gz +0 -0
- codex/static_root/assets/group-tab-MrhEvTPy.9233e2e5e80e.js +0 -1
- codex/static_root/assets/group-tab-MrhEvTPy.9233e2e5e80e.js.br +0 -0
- codex/static_root/assets/group-tab-MrhEvTPy.9233e2e5e80e.js.gz +0 -0
- codex/static_root/assets/group-tab-MrhEvTPy.js +0 -1
- codex/static_root/assets/group-tab-MrhEvTPy.js.br +0 -0
- codex/static_root/assets/group-tab-MrhEvTPy.js.gz +0 -0
- codex/static_root/assets/http-error-CODU7jcH.8c13689ae574.css +0 -1
- codex/static_root/assets/http-error-CODU7jcH.8c13689ae574.css.br +0 -0
- codex/static_root/assets/http-error-CODU7jcH.8c13689ae574.css.gz +0 -0
- codex/static_root/assets/http-error-CODU7jcH.css +0 -1
- codex/static_root/assets/http-error-CODU7jcH.css.br +0 -0
- codex/static_root/assets/http-error-CODU7jcH.css.gz +0 -0
- codex/static_root/assets/http-error-gBWEusWz.be314a60dc2e.js +0 -1
- codex/static_root/assets/http-error-gBWEusWz.be314a60dc2e.js.br +0 -0
- codex/static_root/assets/http-error-gBWEusWz.be314a60dc2e.js.gz +0 -0
- codex/static_root/assets/http-error-gBWEusWz.js +0 -1
- codex/static_root/assets/http-error-gBWEusWz.js.br +0 -0
- codex/static_root/assets/http-error-gBWEusWz.js.gz +0 -0
- codex/static_root/assets/index-Cu_QC2K8.de1f7935ff98.js +0 -1
- codex/static_root/assets/index-Cu_QC2K8.de1f7935ff98.js.br +0 -0
- codex/static_root/assets/index-Cu_QC2K8.de1f7935ff98.js.gz +0 -0
- codex/static_root/assets/index-Cu_QC2K8.js +0 -1
- codex/static_root/assets/index-Cu_QC2K8.js.br +0 -0
- codex/static_root/assets/index-Cu_QC2K8.js.gz +0 -0
- codex/static_root/assets/library-tab-Ce1d8Ypk.c87088afd4e1.js +0 -1
- codex/static_root/assets/library-tab-Ce1d8Ypk.c87088afd4e1.js.br +0 -0
- codex/static_root/assets/library-tab-Ce1d8Ypk.c87088afd4e1.js.gz +0 -0
- codex/static_root/assets/library-tab-Ce1d8Ypk.js +0 -1
- codex/static_root/assets/library-tab-Ce1d8Ypk.js.br +0 -0
- codex/static_root/assets/library-tab-Ce1d8Ypk.js.gz +0 -0
- codex/static_root/assets/library-tab-DLpvMqPW.2989f610950b.css +0 -1
- codex/static_root/assets/library-tab-DLpvMqPW.2989f610950b.css.br +0 -0
- codex/static_root/assets/library-tab-DLpvMqPW.2989f610950b.css.gz +0 -0
- codex/static_root/assets/library-tab-DLpvMqPW.css +0 -1
- codex/static_root/assets/library-tab-DLpvMqPW.css.br +0 -0
- codex/static_root/assets/library-tab-DLpvMqPW.css.gz +0 -0
- codex/static_root/assets/main-CpP-5rLh.ce09dfd7874f.js +0 -39
- codex/static_root/assets/main-CpP-5rLh.ce09dfd7874f.js.br +0 -0
- codex/static_root/assets/main-CpP-5rLh.ce09dfd7874f.js.gz +0 -0
- codex/static_root/assets/main-CpP-5rLh.js +0 -39
- codex/static_root/assets/main-CpP-5rLh.js.br +0 -0
- codex/static_root/assets/main-CpP-5rLh.js.gz +0 -0
- codex/static_root/assets/main-Of3aYkZ7.91c75c4fbaa6.css +0 -5
- codex/static_root/assets/main-Of3aYkZ7.91c75c4fbaa6.css.br +0 -0
- codex/static_root/assets/main-Of3aYkZ7.91c75c4fbaa6.css.gz +0 -0
- codex/static_root/assets/main-Of3aYkZ7.css +0 -5
- codex/static_root/assets/main-Of3aYkZ7.css.br +0 -0
- codex/static_root/assets/main-Of3aYkZ7.css.gz +0 -0
- codex/static_root/assets/pager-full-pdf-D8B8_31l.f1659a2dac96.js +0 -1
- codex/static_root/assets/pager-full-pdf-D8B8_31l.f1659a2dac96.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-D8B8_31l.f1659a2dac96.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-D8B8_31l.js +0 -1
- codex/static_root/assets/pager-full-pdf-D8B8_31l.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-D8B8_31l.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-OKWewkNI.a2773ff43624.js +0 -1
- codex/static_root/assets/pagination-toolbar-OKWewkNI.a2773ff43624.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-OKWewkNI.a2773ff43624.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-OKWewkNI.js +0 -1
- codex/static_root/assets/pagination-toolbar-OKWewkNI.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-OKWewkNI.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-aHRrdz48.2cbd38f9256c.css +0 -1
- codex/static_root/assets/pagination-toolbar-aHRrdz48.2cbd38f9256c.css.br +0 -0
- codex/static_root/assets/pagination-toolbar-aHRrdz48.2cbd38f9256c.css.gz +0 -0
- codex/static_root/assets/pagination-toolbar-aHRrdz48.css +0 -1
- codex/static_root/assets/pagination-toolbar-aHRrdz48.css.br +0 -0
- codex/static_root/assets/pagination-toolbar-aHRrdz48.css.gz +0 -0
- codex/static_root/assets/pdf-doc-DpmuaK3i.2dca76dcae13.js +0 -372
- codex/static_root/assets/pdf-doc-DpmuaK3i.2dca76dcae13.js.br +0 -0
- codex/static_root/assets/pdf-doc-DpmuaK3i.2dca76dcae13.js.gz +0 -0
- codex/static_root/assets/pdf-doc-DpmuaK3i.js +0 -372
- codex/static_root/assets/pdf-doc-DpmuaK3i.js.br +0 -0
- codex/static_root/assets/pdf-doc-DpmuaK3i.js.gz +0 -0
- codex/static_root/assets/reader-BwgJtbgj.c8b86f482c17.css +0 -1
- codex/static_root/assets/reader-BwgJtbgj.c8b86f482c17.css.br +0 -0
- codex/static_root/assets/reader-BwgJtbgj.c8b86f482c17.css.gz +0 -0
- codex/static_root/assets/reader-BwgJtbgj.css +0 -1
- codex/static_root/assets/reader-BwgJtbgj.css.br +0 -0
- codex/static_root/assets/reader-BwgJtbgj.css.gz +0 -0
- codex/static_root/assets/reader-CyitMKSa.d70f4fc1c014.js +0 -2
- codex/static_root/assets/reader-CyitMKSa.d70f4fc1c014.js.br +0 -0
- codex/static_root/assets/reader-CyitMKSa.d70f4fc1c014.js.gz +0 -0
- codex/static_root/assets/reader-CyitMKSa.js +0 -2
- codex/static_root/assets/reader-CyitMKSa.js.br +0 -0
- codex/static_root/assets/reader-CyitMKSa.js.gz +0 -0
- codex/static_root/assets/relation-chips-BuShhy1e.822bb69b0cfe.css +0 -1
- codex/static_root/assets/relation-chips-BuShhy1e.822bb69b0cfe.css.br +0 -0
- codex/static_root/assets/relation-chips-BuShhy1e.822bb69b0cfe.css.gz +0 -0
- codex/static_root/assets/relation-chips-BuShhy1e.css +0 -1
- codex/static_root/assets/relation-chips-BuShhy1e.css.br +0 -0
- codex/static_root/assets/relation-chips-BuShhy1e.css.gz +0 -0
- codex/static_root/assets/relation-chips-QzwrdJWs.99957808773d.js +0 -1
- codex/static_root/assets/relation-chips-QzwrdJWs.99957808773d.js.br +0 -0
- codex/static_root/assets/relation-chips-QzwrdJWs.99957808773d.js.gz +0 -0
- codex/static_root/assets/relation-chips-QzwrdJWs.js +0 -1
- codex/static_root/assets/relation-chips-QzwrdJWs.js.br +0 -0
- codex/static_root/assets/relation-chips-QzwrdJWs.js.gz +0 -0
- codex/static_root/assets/settings-drawer-DYzm391t.67fd6c1c26cd.js +0 -2
- codex/static_root/assets/settings-drawer-DYzm391t.67fd6c1c26cd.js.br +0 -0
- codex/static_root/assets/settings-drawer-DYzm391t.67fd6c1c26cd.js.gz +0 -0
- codex/static_root/assets/settings-drawer-DYzm391t.js +0 -2
- codex/static_root/assets/settings-drawer-DYzm391t.js.br +0 -0
- codex/static_root/assets/settings-drawer-DYzm391t.js.gz +0 -0
- codex/static_root/assets/settings-drawer-WyG6HLH-.css +0 -1
- codex/static_root/assets/settings-drawer-WyG6HLH-.css.br +0 -0
- codex/static_root/assets/settings-drawer-WyG6HLH-.css.gz +0 -0
- codex/static_root/assets/settings-drawer-WyG6HLH-.fe251f6d0a75.css +0 -1
- codex/static_root/assets/settings-drawer-WyG6HLH-.fe251f6d0a75.css.br +0 -0
- codex/static_root/assets/settings-drawer-WyG6HLH-.fe251f6d0a75.css.gz +0 -0
- codex/static_root/assets/ssrBoot-D216TWr1.0b11737afb21.js +0 -1
- codex/static_root/assets/ssrBoot-D216TWr1.0b11737afb21.js.br +0 -0
- codex/static_root/assets/ssrBoot-D216TWr1.0b11737afb21.js.gz +0 -0
- codex/static_root/assets/ssrBoot-D216TWr1.js +0 -1
- codex/static_root/assets/ssrBoot-D216TWr1.js.br +0 -0
- codex/static_root/assets/ssrBoot-D216TWr1.js.gz +0 -0
- codex/static_root/assets/stats-tab-CGY8r-es.b06c55bdaeaa.css +0 -1
- codex/static_root/assets/stats-tab-CGY8r-es.b06c55bdaeaa.css.br +0 -0
- codex/static_root/assets/stats-tab-CGY8r-es.b06c55bdaeaa.css.gz +0 -0
- codex/static_root/assets/stats-tab-CGY8r-es.css +0 -1
- codex/static_root/assets/stats-tab-CGY8r-es.css.br +0 -0
- codex/static_root/assets/stats-tab-CGY8r-es.css.gz +0 -0
- codex/static_root/assets/stats-tab-CXkOoD0h.1e2709686bf6.js +0 -1
- codex/static_root/assets/stats-tab-CXkOoD0h.1e2709686bf6.js.br +0 -0
- codex/static_root/assets/stats-tab-CXkOoD0h.1e2709686bf6.js.gz +0 -0
- codex/static_root/assets/stats-tab-CXkOoD0h.js +0 -1
- codex/static_root/assets/stats-tab-CXkOoD0h.js.br +0 -0
- codex/static_root/assets/stats-tab-CXkOoD0h.js.gz +0 -0
- codex/static_root/assets/task-tab-BlzgZqUZ.9448f1240271.js +0 -1
- codex/static_root/assets/task-tab-BlzgZqUZ.9448f1240271.js.br +0 -0
- codex/static_root/assets/task-tab-BlzgZqUZ.9448f1240271.js.gz +0 -0
- codex/static_root/assets/task-tab-BlzgZqUZ.js +0 -1
- codex/static_root/assets/task-tab-BlzgZqUZ.js.br +0 -0
- codex/static_root/assets/task-tab-BlzgZqUZ.js.gz +0 -0
- codex/static_root/assets/unauthorized-DE63n2Pi.b0357009b13d.css +0 -1
- codex/static_root/assets/unauthorized-DE63n2Pi.b0357009b13d.css.br +0 -0
- codex/static_root/assets/unauthorized-DE63n2Pi.b0357009b13d.css.gz +0 -0
- codex/static_root/assets/unauthorized-DE63n2Pi.css +0 -1
- codex/static_root/assets/unauthorized-DE63n2Pi.css.br +0 -0
- codex/static_root/assets/unauthorized-DE63n2Pi.css.gz +0 -0
- codex/static_root/assets/unauthorized-_61uqek6.56ab5c978077.js +0 -1
- codex/static_root/assets/unauthorized-_61uqek6.56ab5c978077.js.br +0 -0
- codex/static_root/assets/unauthorized-_61uqek6.56ab5c978077.js.gz +0 -0
- codex/static_root/assets/unauthorized-_61uqek6.js +0 -1
- codex/static_root/assets/unauthorized-_61uqek6.js.br +0 -0
- codex/static_root/assets/unauthorized-_61uqek6.js.gz +0 -0
- codex/static_root/assets/user-tab-CNxfPmZf.aed110a6c62b.js +0 -1
- codex/static_root/assets/user-tab-CNxfPmZf.aed110a6c62b.js.br +0 -0
- codex/static_root/assets/user-tab-CNxfPmZf.aed110a6c62b.js.gz +0 -0
- codex/static_root/assets/user-tab-CNxfPmZf.js +0 -1
- codex/static_root/assets/user-tab-CNxfPmZf.js.br +0 -0
- codex/static_root/assets/user-tab-CNxfPmZf.js.gz +0 -0
- codex/static_root/img/folder.f28936a3701d.svg +0 -1
- codex/static_root/img/folder.f28936a3701d.svg.br +0 -0
- codex/static_root/img/folder.f28936a3701d.svg.gz +0 -0
- codex/static_root/img/imprint.7c2adebb76d6.svg +0 -1
- codex/static_root/img/imprint.7c2adebb76d6.svg.br +0 -0
- codex/static_root/img/imprint.7c2adebb76d6.svg.gz +0 -0
- codex/static_root/img/logo-maskable.8f7de7f1c6a8.svg +0 -1
- codex/static_root/img/logo-maskable.8f7de7f1c6a8.svg.br +0 -0
- codex/static_root/img/logo-maskable.8f7de7f1c6a8.svg.gz +0 -0
- codex/static_root/img/logo.0f5344a028ca.svg +0 -1
- codex/static_root/img/logo.0f5344a028ca.svg.br +0 -0
- codex/static_root/img/logo.0f5344a028ca.svg.gz +0 -0
- codex/static_root/img/missing-cover-165.0743171f2148.webp +0 -0
- codex/static_root/img/missing-cover.ddb038cc2c56.svg +0 -1
- codex/static_root/img/missing-cover.ddb038cc2c56.svg.br +0 -0
- codex/static_root/img/missing-cover.ddb038cc2c56.svg.gz +0 -0
- codex/static_root/img/series.ec8a889b8f95.svg +0 -1
- codex/static_root/img/series.ec8a889b8f95.svg.br +0 -0
- codex/static_root/img/series.ec8a889b8f95.svg.gz +0 -0
- codex/static_root/img/story-arc.ca10014355ef.svg +0 -1
- codex/static_root/img/story-arc.ca10014355ef.svg.br +0 -1
- codex/static_root/img/story-arc.ca10014355ef.svg.gz +0 -0
- codex/static_root/img/volume.814e4c79461a.svg +0 -1
- codex/static_root/img/volume.814e4c79461a.svg.br +0 -0
- codex/static_root/img/volume.814e4c79461a.svg.gz +0 -0
- codex/static_root/manifest.95906ea9e563.json +0 -757
- codex/static_root/manifest.95906ea9e563.json.br +0 -0
- codex/static_root/manifest.95906ea9e563.json.gz +0 -0
- codex/status.py +0 -35
- codex/status_controller.py +0 -153
- codex/templates/README.md +0 -3
- codex/threads.py +0 -130
- codex/views/README.md +0 -4
- codex/views/browser/filters/search/aliases.py +0 -81
- codex/views/browser/metadata/metadata.py +0 -83
- codex/websockets/README.md +0 -4
- codex/worker_base.py +0 -14
- codex-1.7.15.dist-info/METADATA +0 -599
- codex-1.7.15.dist-info/RECORD +0 -1052
- codex-1.7.15.dist-info/WHEEL +0 -4
- codex-1.7.15.dist-info/entry_points.txt +0 -3
- {codex-1.7.15.dist-info → codex-1.8.0.dist-info/licenses}/LICENSE +0 -0
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/pdf-doc-remlTMFH.js","assets/main-0gkU-bgy.js","assets/main-B8_0rUnw.css","assets/pdf-doc-DxqOo2k2.css","assets/pager-full-pdf-dMflY9TZ.js","assets/settings-drawer-CpKXWPSA.js","assets/forwardRefs-BjkhALLr.js","assets/forwardRefs-B_sUWZn6.css","assets/unauthorized-CLNP5Zx1.js","assets/VDialog-N7erUTvb.js","assets/VDialog-CpWjrJ0R.css","assets/change-password-dialog-DE8R9FId.js","assets/VForm-Bhq1UjFg.js","assets/VSelectionControl-BUBBamEF.js","assets/VSelectionControl-RqBzwjYi.css","assets/VForm-DxBt30-N.css","assets/admin-CJauEn2X.js","assets/change-password-dialog-DL8UMjmX.css","assets/ssrBoot-D4fyL90J.js","assets/unauthorized-BBwsmi0O.css","assets/copy-to-clipboard-DoUvDJVx.js","assets/VDivider-DFsQRi0x.js","assets/VDivider-DU47sRrT.css","assets/settings-drawer-CpS_aX4Z.css","assets/VWindowItem-WsjNvbu_.js","assets/VWindowItem-ChYLiXSE.css","assets/VSelect-C857NCMc.js","assets/VCheckboxBtn-BwlWS4y9.js","assets/VSelect-DQPZyfSb.css","assets/pagination-toolbar-BzWY1XTi.js","assets/VTable-CwYzcGki.js","assets/VTable-CQyv0wyO.css","assets/confirm-dialog-Dy-4G4rU.js","assets/confirm-dialog-YfC8mRQA.css","assets/pagination-toolbar-741OafNw.css","assets/VExpansionPanels-D_1ryJs5.js","assets/VExpansionPanels-RsCANmDP.css","assets/VRadioGroup-IJTnZQT5.js","assets/VRadioGroup-Cp9mZ7cb.css","assets/VCheckbox-BD4eUg4g.js","assets/VCheckbox-CvH8ekHL.css","assets/index-yvfyzOV3.js","assets/index-Czf-fUM7.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{_ as b,B as v,D as k,ak as d,x as m,G as T,w as g,d as R,s as h,v as u,a as r,y as w,A as L,q as _,aa as we,F as D,al as it,am as lt,m as ee,an as Ce,ao as ct,ap as Te,H as Re,n as O,aq as Be,ar as q,as as ut,S as $,a5 as dt,at as ht,au as De,z as U,k as Ie,b as n,av as pt,C as $e,aw as gt,ax as mt,ay as kt,g as xe,p as ae,az as Le,u as Ve,aA as Oe,J as Ae,aB as ft,aC as bt,c as x,aD as vt,aE as yt,aF as _t,aG as Pt,aH as St,aI as wt,aJ as Ct,E as F,ab as Tt,$ as Rt,aK as Bt,O as Dt,P as It,Q as $t,R as xt,aL as Lt,aM as Vt,aN as Ot,aO as At,L as te,aP as Et,V as Nt,aQ as Ee,aR as Ut}from"./main-0gkU-bgy.js";import{V as Ft,a as Wt,S as zt}from"./settings-drawer-CpKXWPSA.js";import{k as K,I as Mt,r as Ne,i as Ue,c as Kt,t as Fe,v as We,d as Ht,j as ze,w as Me,x as jt,V as Ke}from"./forwardRefs-BjkhALLr.js";import{P as qt,E as He,A as Gt,V as Yt,a as Jt,U as Qt,c as Xt}from"./unauthorized-CLNP5Zx1.js";import{V as je,a as qe}from"./VWindowItem-WsjNvbu_.js";import{b as Zt}from"./VSelect-C857NCMc.js";import{C as ne,a as eo}from"./VDialog-N7erUTvb.js";import{D as to,T as oo,b as so,V as G,a as ao,P as Ge,c as no,d as ro}from"./pagination-toolbar-BzWY1XTi.js";import{V as io,a as lo,b as co,c as uo}from"./VExpansionPanels-D_1ryJs5.js";import{d as ho,V as po,e as go}from"./VSelectionControl-BUBBamEF.js";import{V as Y,a as J}from"./VRadioGroup-IJTnZQT5.js";import{a as oe}from"./VDivider-DFsQRi0x.js";import{V as N}from"./VCheckbox-BD4eUg4g.js";import{T as Q}from"./index-yvfyzOV3.js";const mo={control:"ctrl",command:"cmd",option:"alt",up:"arrowup",down:"arrowdown",left:"arrowleft",right:"arrowright",esc:"escape",spacebar:" ",space:" ",return:"enter",del:"delete",minus:"-",hyphen:"-"};function ge(e){const t=e.toLowerCase();return mo[t]||t}function Ye(e){if(!e)return[];const l=(e.startsWith("+")||e.startsWith("_"))&&!(e.startsWith("++")||e.startsWith("__"));if(e.length>1&&l||e.includes("++")||e.includes("__")||e==="+"||e==="_"||e.length>1&&(e.endsWith("+")||e.endsWith("_"))&&e.at(-2)!==e.at(-1)||e==="++"||e==="--"||e==="__")return[];const a=[];let o="";const s=()=>{o&&(a.push(ge(o)),o="")};for(let p=0;p<e.length;p++){const f=e[p],B=e[p+1];f==="+"||f==="_"||f==="-"?f===B?(s(),a.push(f),p++):f==="+"||f==="_"?s():o+=f:o+=f}return s(),a.some(p=>p.length>1&&p.includes("-")&&p!=="--")?[]:a.length===0&&e?[ge(e)]:a}function ko(e){if(!e)return[];const t=e.startsWith("-")&&!["---","--+"].includes(e),l=e.endsWith("-")&&!e.endsWith("+-")&&!e.endsWith("_-")&&e!=="-"&&e!=="---";if(t||l)return[];const c=[];let a="",o=0;for(;o<e.length;){const f=e[o];if(f==="-"){const B=e[o-1],A=o>1?e[o-2]:void 0;(B==="+"||B==="_")&&A!=="+"?(a+=f,o++):(a?(c.push(a),a=""):c.push("-"),o++)}else a+=f,o++}a&&c.push(a);const s=[];let i=0;for(const f of c)f==="-"?(i%2===0&&s.push("-"),i++):(i=0,s.push(f));return s.every(f=>Ye(f).length>0)?s:[]}function Je(e,t){const{self:l=!1}=t.modifiers??{},c=t.value,a=typeof c=="object"&&c.options||{passive:!0},o=typeof c=="function"||"handleEvent"in c?c:c.handler,s=l?e:t.arg?document.querySelector(t.arg):window;s&&(s.addEventListener("scroll",o,a),e._onScroll=Object(e._onScroll),e._onScroll[t.instance.$.uid]={handler:o,options:a,target:l?void 0:s})}function Qe(e,t){if(!e._onScroll?.[t.instance.$.uid])return;const{handler:l,options:c,target:a=e}=e._onScroll[t.instance.$.uid];a.removeEventListener("scroll",l,c),delete e._onScroll[t.instance.$.uid]}function fo(e,t){t.value!==t.oldValue&&(Qe(e,t),Je(e,t))}const bo={mounted:Je,unmounted:Qe,updated:fo},vo={name:"BookChangeDrawer",props:{direction:{type:String,required:!0}},head(){if(this.isDrawerOpen)return this.prefetchLinks(this.params,this.computedDirection,!0)},computed:{...k(d,["isBTT"]),...k(d,{computedDirection(){return this.normalizeDirection(this.direction)},params(e){return e.routes.books[this.computedDirection]},isDrawerOpen(e){return e.bookChange===this.computedDirection},icon(){return this.bookChangeIcon(this.computedDirection)}}),drawerLocation(){return this.bookChangeLocation(this.direction)},cursorClass(){return this.bookChangeCursorClass(this.computedDirection)},show(){return this.bookChangeShow(this.computedDirection)},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Book")}},methods:{...v(d,["linkLabel","normalizeDirection","prefetchLinks","toRoute","bookChangeLocation","bookChangeCursorClass","bookChangeShow","bookChangeIcon"])}};function yo(e,t,l,c,a,o){const s=h("router-link");return o.show?(u(),m(Ft,{key:0,class:R(["bookChangeDrawer",{drawerActivated:e.isDrawerOpen}]),"disable-resize-watcher":"","disable-route-watcher":"",location:o.drawerLocation,"model-value":e.isDrawerOpen,scrim:!1,temporary:"",touchless:""},{default:g(()=>[r(s,{class:R({navLink:!0,[o.cursorClass]:!0}),to:o.route,"aria-label":o.label,title:o.label,onClick:t[0]||(t[0]=i=>i.stopImmediatePropagation())},{default:g(()=>[r(K,{class:"bookChangeIcon"},{default:g(()=>[w(L(e.icon),1)]),_:1})]),_:1},8,["class","to","aria-label","title"])]),_:1},8,["location","model-value","class"])):T("",!0)}const _o=b(vo,[["render",yo],["__scopeId","data-v-0340b976"]]),Po={name:"BookChangeActivator",components:{BookChangeDrawer:_o},props:{direction:{type:String,required:!0}},computed:{show(){return this.bookChangeShow(this.computedDirection)},computedDirection(){return this.normalizeDirection(this.direction)},positionClass(){return this.bookChangeLocation(this.direction)+"Pos"},cursorClass(){return this.bookChangeCursorClass(this.direction)}},methods:{...v(d,["bookChangeCursorClass","bookChangeLocation","bookChangeShow","normalizeDirection","setBookChangeFlag"])}};function So(e,t,l,c,a,o){const s=h("BookChangeDrawer");return u(),_(D,null,[o.show?(u(),_("div",{key:0,class:R(["changeColumn",{[o.positionClass]:!0,[o.cursorClass]:!0}]),onClick:t[0]||(t[0]=we(i=>e.setBookChangeFlag(l.direction),["stop"]))},null,2)):T("",!0),r(s,{direction:l.direction},null,8,["direction"])],64)}const wo=b(Po,[["render",So],["__scopeId","data-v-67df236c"]]),Co={name:"LoadingPage",components:{Placeholder:qt},props:{twoPages:{type:Boolean,required:!0}}};function To(e,t,l,c,a,o){const s=h("Placeholder");return u(),_("div",{class:R(["pageLoading",{twoPages:l.twoPages}])},[r(s,{class:"pagePlaceholder"})],2)}const Ro=b(Co,[["render",To],["__scopeId","data-v-04027168"]]),me="unauthorized",Bo={name:"ErrorPage",components:{EmptyState:He},props:{twoPages:{type:Boolean,required:!0},type:{type:String,required:!0}},emits:["retry"],computed:{text(){return this.type===me?"Protected page":"Failed to load page"},icon(){return this.type===me?it:lt}},methods:{onAction(e){this.$emit("retry",e)}}};function Do(e,t,l,c,a,o){const s=h("EmptyState");return u(),m(s,{class:R(["pageError",{twoPages:l.twoPages}]),headline:o.text,icon:o.icon,"action-text":"Retry","onClick:action":o.onAction},null,8,["class","headline","icon","onClick:action"])}const Io=b(Bo,[["render",Do],["__scopeId","data-v-97fa48e8"]]),$o={name:"ImgPage",props:{book:{type:Object,required:!0},src:{type:String,required:!0}},emits:["load","error"],computed:{...k(d,{scale:e=>e.clientSettings.scale}),style(){const e={};if(this.scale==1)return e;const t=this.$el;if(!t?.naturalWidth)return e;const l=t.naturalWidth/2;return e.transformOrigin=`${l}px top`,e.transform=`scale(${this.scale})`,e},bookSettings(){return this.getBookSettings(this.book)},classes(){return this.bookSettings.fitToClass}},methods:{...v(d,["getBookSettings"])}},xo=["src"];function Lo(e,t,l,c,a,o){return u(),_("img",ee({class:[o.classes,"img"],draggable:"false",src:l.src,style:o.style},e.$attrs,{onError:t[0]||(t[0]=s=>e.$emit("error",s)),onLoad:t[1]||(t[1]=s=>e.$emit("load",s))}),null,16,xo)}const ke=b($o,[["render",Lo],["__scopeId","data-v-014c2ac0"]]),fe=Ce(Te(()=>Be(()=>import("./pdf-doc-remlTMFH.js"),__vite__mapDeps([0,1,2,3])))),Vo=333,Oo={name:"BookPage",components:{ErrorPage:Io,LoadingPage:Ro,PDFDoc:fe,ImgPage:ke},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},data(){return{showProgress:!1,loaded:!1,error:"",ts:0}},computed:{...k(d,{scale:e=>e.clientSettings.scale}),style(){const e={};if(this.book.fileType==="PDF"||this.scale==1)return e;const t=this.$refs.pageComponent?.$el;return t?.naturalHeight&&(e.height=t.naturalHeight*this.scale+"px",e.width=t.naturalWidth*this.scale+"px"),e},src(){const e=Math.max(this.book.mtime,this.ts),t={pk:this.book.pk,page:this.page,mtime:e};return ct(t)},component(){return this.book.fileType==="PDF"?fe:ke},bookSettings(){return this.getBookSettings(this.book)},twoPages(){return this.bookSettings.twoPages}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},Vo)},methods:{...v(d,["getBookSettings"]),onLoad(){this.showProgress=!1,this.loaded=!0,this.error=!1},onError(){this.error="load",this.showProgress=!1},onUnauthorized(){this.error="unauthorized",this.showProgress=!1},onRetry(){this.ts=Date.now()}}},Ao=["id","data-page"];function Eo(e,t,l,c,a,o){const s=h("ErrorPage"),i=h("LoadingPage");return u(),_("div",{id:`page${l.page}`,key:a.ts,"data-page":l.page,class:"page",style:O(o.style)},[a.error?(u(),m(s,{key:0,"two-pages":o.twoPages,type:a.error,onRetry:o.onRetry},null,8,["two-pages","type","onRetry"])):a.showProgress&&!a.loaded?(u(),m(i,{key:1,"two-pages":o.twoPages},null,8,["two-pages"])):(u(),m(Re(o.component),{key:2,ref:"pageComponent",book:l.book,page:1,src:o.src,onError:o.onError,onLoad:o.onLoad,onUnauthorized:o.onUnauthorized},null,40,["book","src","onError","onLoad","onUnauthorized"]))],12,Ao)}const Xe=b(Oo,[["render",Eo],["__scopeId","data-v-cdb69b0e"]]),No=.5,Uo={name:"ScaleForScroll",emits:["click"],data(){return{mdiMagnifyMinusOutline:ut}},computed:{...k(d,{scale:e=>e.clientSettings.scale}),showReset(){return this.scale!=q},style(){return{cursor:this.scale==q?"zoom-in":"all-scroll"}}},methods:{...v(d,["setSettingsClient"]),clearSelection(){globalThis.getSelection&&globalThis.getSelection().removeAllRanges()},onDoubleClick(){this.clearSelection();const e=this.scale+No;this.setSettingsClient({scale:e})},scaleReset(){this.setSettingsClient({scale:q})}}};function Fo(e,t,l,c,a,o){const s=ht("drag-scroller");return $((u(),_("div",{class:"scaleForScroll",style:O(o.style),onDblclick:t[0]||(t[0]=(...i)=>o.onDoubleClick&&o.onDoubleClick(...i))},[dt(e.$slots,"default",{},void 0,!0),o.showReset?(u(),m(K,{key:0,class:"resetIcon",onClick:we(o.scaleReset,["stop"])},{default:g(()=>[w(L(a.mdiMagnifyMinusOutline),1)]),_:1},8,["onClick"])):T("",!0)],36)),[[s,,void 0,{onlyX:!0}]])}const Ze=b(Uo,[["render",Fo],["__scopeId","data-v-88f3df90"]]),Wo={name:"HorizontalPages",components:{BookPage:Xe,ScaleForScroll:Ze},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},emits:["click"],computed:{bookSettings(){return this.getBookSettings(this.book)},isReadInReverse(){return this.bookSettings.isReadInReverse},showSecondPage(){return this.bookSettings.twoPages&&this.page<this.book.maxPage&&!this.isCoverPage(this.book,this.page)},showPageOne(){return!this.isReadInReverse||this.showSecondPage},showPageTwo(){return this.isReadInReverse||this.showSecondPage},pageOne(){return this.isReadInReverse?this.page+1:this.page},pageTwo(){return this.isReadInReverse?this.page:this.page+1}},methods:{...v(d,["getBookSettings","isCoverPage"])}};function zo(e,t,l,c,a,o){const s=h("BookPage"),i=h("ScaleForScroll");return u(),m(i,{class:"noWrap"},{default:g(()=>[o.showPageOne?(u(),m(s,{key:0,ref:"pageOne",book:l.book,page:o.pageOne,class:"horizontalPage"},null,8,["book","page"])):T("",!0),o.showPageTwo?(u(),m(s,{key:1,book:l.book,page:o.pageTwo,class:"horizontalPage"},null,8,["book","page"])):T("",!0)]),_:1})}const Mo=b(Wo,[["render",zo],["__scopeId","data-v-ce77a1b1"]]),Ko={name:"PageChangeLink",props:{direction:{type:String,required:!0}},head(){return this.prefetchLinks(this.params,this.computedDirection)},computed:{...k(d,["isFirstPage","isLastPage"]),...k(d,{params(e){return e.routes[this.computedDirection]}}),computedDirection(){return this.normalizeDirection(this.direction)},show(){return this.computedDirection==="prev"?!this.isFirstPage:!this.isLastPage},pageChangeClass(){return"pageChangeColumn"},directionClass(){return this.direction},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Page")}},methods:{...v(d,["linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function Ho(e,t,l,c,a,o){const s=h("router-link");return o.show?(u(),m(s,{key:0,to:o.route,"aria-label":o.label,class:R(["changeColumn",{[o.directionClass]:!0}]),onClick:t[0]||(t[0]=i=>i.stopImmediatePropagation())},null,8,["to","aria-label","class"])):T("",!0)}const jo=b(Ko,[["render",Ho],["__scopeId","data-v-8a0b30bf"]]),qo=48,Go=48,Yo={name:"PagerHorizontal",components:{HorizontalPages:Mo,PageChangeLink:jo},props:{book:{type:Object,required:!0}},data(){return{activePage:0,pages:[]}},computed:{...k(d,{prevBook:e=>e.routes.books?.prev,nextBook:e=>e.routes.books?.next,storePage:e=>e.page,storePk:e=>e.books.current.pk,transition:e=>e.readerSettings.pageTransition}),bookSettings(){return this.getBookSettings(this.book)},twoPages(){return this.bookSettings.twoPages},isReadInReverse(){return this.bookSettings.isReadInReverse},windowIndex(){const e=this.activePage-this.pages[0];return Math.min(Math.max(0,e),this.book.maxPage)}},watch:{twoPages(){this.setActivePage(this.storePage,!0)},storePage(e){if(this.book.pk===this.storePk){this.activePage=e;const t=this.pages.at(0),l=this.pages.at(-1);(e<t||e>l)&&this.setPages()}}},created(){this.book.pk===this.storePk?this.activePage=+this.$route.params.page:this.book.pk===this.prevBook.pk?this.activePage=this.book.maxPage:this.activePage=0,this.setPages()},methods:{...v(d,["getBookSettings","setBookChangeFlag","setActivePage"]),setPages(){const e=Math.max(this.activePage-qo,0),t=Math.min(this.activePage+Go,this.book.maxPage);this.pages=De(e,t+1)}}};function Jo(e,t,l,c,a,o){const s=h("PageChangeLink"),i=h("HorizontalPages");return u(),m(je,{"show-arrows":"",continuous:"","model-value":o.windowIndex,reverse:o.isReadInReverse},{prev:g(()=>[r(s,{direction:"prev"})]),next:g(()=>[r(s,{direction:"next"})]),default:g(()=>[(u(!0),_(D,null,U(a.pages,p=>(u(),m(qe,{key:`c/${l.book.pk}/${p}`,class:"windowItem",disabled:"",eager:p>=e.storePage-1&&p<=e.storePage+2,"model-value":p,transition:e.transition,"reverse-transition":e.transition},{default:g(()=>[r(i,{book:l.book,page:p},null,8,["book","page"])]),_:2},1032,["eager","model-value","transition","reverse-transition"]))),128))]),_:1},8,["model-value","reverse"])}const be=b(Yo,[["render",Jo],["__scopeId","data-v-a55977d3"]]),ve=250,Qo={name:"PagerVertical",components:{BookPage:Xe,ScaleForScroll:Ze},props:{book:{type:Object,required:!0}},data(){return{innerHeight:window.innerHeight,innerWidth:window.innerWidth,intersectorOn:!1,programmaticScroll:!1,intersectOptions:{handler:this.onIntersect,options:{threshold:[.75]}}}},computed:{...k(d,{storePage:e=>e.page,showToolbars:e=>e.showToolbars}),...Ie(d,["reactWithScroll"]),bookSettings(){return this.getBookSettings(this.book)},isReadInReverse(){return this.bookSettings.isReadInReverse},items(){const e=this.book?.maxPage?this.book.maxPage+1:0,t=De(0,e);return this.isReadInReverse&&t.reverse(),t}},watch:{storePage(e){this.reactWithScroll&&this.scrollToPage(e)}},mounted(){window.addEventListener("resize",this.onResize),setTimeout(()=>{this.scrollToPage(this.storePage)},ve)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{...v(d,["getBookSettings","setActivePage","setBookChangeFlag"]),onIntersect(e,t){if(e&&this.intersectorOn){const c=+t[0].target.dataset.page;this.setActivePage(c,!1)}},onScroll(){if(this.programmaticScroll)return;this.intersectorOn=!0;const e=this.$refs.verticalScroll.$el,t=e.scrollTop;if(this.storePage===0&&t===0)this.setBookChangeFlag("prev");else if(this.storePage===this.book.maxPage){const l=e.scrollTopMax||e.scrollHeight-e.clientTop;window.innerHeight+t+1>=l&&this.setBookChangeFlag("next")}},scrollToPage(e){this.intersectorOn=!1,this.programmaticScroll=!0;const t=this.$refs.verticalScroll;t?t.scrollToIndex(e):console.debug("Can't find verticalScroll component."),setTimeout(()=>{this.programmaticScroll=!1},ve)},onResize(){this.innerHeight=window.innerHeight,this.innerWidth=window.innerWidth}}},Xo=["data-page"];function Zo(e,t,l,c,a,o){const s=h("BookPage"),i=h("ScaleForScroll");return u(),m(i,null,{default:g(()=>[$((u(),m(Zt,{id:"verticalScroll",key:o.isReadInReverse,ref:"verticalScroll",items:o.items,height:a.innerHeight,width:a.innerWidth},{default:g(({item:p})=>[r(s,{book:l.book,page:p,class:"verticalPage"},null,8,["book","page"]),$(n("div",{class:R(["pageTracker",{pageTrackerToolbars:e.showToolbars}]),"data-page":p},null,10,Xo),[[Mt,a.intersectOptions,void 0,{quiet:!0}]])]),_:1},8,["items","height","width"])),[[bo,o.onScroll,"#verticalScroll"]])]),_:1})}const ye=b(Qo,[["render",Zo],["__scopeId","data-v-4fdc17f1"]]),_e=Ce(Te(()=>Be(()=>import("./pager-full-pdf-dMflY9TZ.js"),__vite__mapDeps([4,1,2,0,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42])))),es={name:"PagerSelector",components:{PagerHorizontal:be,PagerPDF:_e,PagerVertical:ye},props:{book:{type:Object,required:!0}},emits:["click"],head(){return this.prefetchBook(this.book)},computed:{...k(d,["cacheBook"]),...k(d,{storePk:e=>e.books?.current?.pk||0}),isActiveBook(){return this.book&&this.storePk===this.book?.pk},bookSettings(){return this.getBookSettings(this.book)},readerFullPdf(){return this.book?.fileType=="PDF"&&this.cacheBook&&!this.bookSettings.isVertical},component(){let e;return this.readerFullPdf?e=_e:this.bookSettings.isVertical?e=ye:e=be,e}},watch:{$route(e){+e.params.pk===this.book.pk&&this.setActivePage(+e.params.page,!0)}},created(){this.isActiveBook&&this.setActivePage(+this.$route.params.page,!0)},methods:{...v(d,["getBookSettings","isBookVertical","setActivePage","prefetchBook"])}};function ts(e,t,l,c,a,o){return u(),m(Re(o.component),{book:l.book},null,8,["book"])}const os=b(es,[["render",ts]]),ss={name:"BooksWindow",components:{BookChangeActivator:wo,Pager:os},computed:{...k(d,["isBTT"]),...k(d,{books:e=>[e.books.prev,e.books.current,e.books.next].filter(Boolean),bookChange:e=>e.bookChange,currentBookPk:e=>e.books?.current?.pk||0,bookRoutes:e=>e.routes.books,transition:e=>e.readerSettings.pageTransition}),bookChangePrev(){return this.bookChangeShow("prev")},bookChangeNext(){return this.bookChangeShow("next")}},watch:{$route(e,t){(!t||!t.params||+e.params.pk!=+t.params.pk)&&this.loadBooks({params:e.params})}},beforeMount(){this.setBookChangeFlag(),this.loadBooks({})},methods:{...v(d,["loadBooks","setBookChangeFlag","toggleToolbars"]),click(){this.toggleToolbars(),this.setBookChangeFlag()},eager(e){return this.bookChange&&this.bookRoutes[this.bookChange]&&this.bookRoutes[this.bookChange].pk===e}}};function as(e,t,l,c,a,o){const s=h("BookChangeActivator"),i=h("Pager");return u(),m(je,{id:"booksWindow",direction:"vertical","model-value":e.currentBookPk,reverse:e.isBTT,"show-arrows":"",onClick:e.toggleToolbars},{prev:g(()=>[r(s,{direction:"prev"})]),next:g(()=>[r(s,{direction:"next"})]),default:g(()=>[(u(!0),_(D,null,U(e.books,p=>(u(),m(qe,{key:`c/${p.pk}`,class:"windowItem",disabled:"",eager:o.eager(p.pk),value:p.pk,transition:e.transition,"reverse-transitin":e.transition},{default:g(()=>[r(i,{book:p,onClick:o.click},null,8,["book","onClick"])]),_:2},1032,["eager","value","transition","reverse-transitin"]))),128))]),_:1},8,["model-value","reverse","onClick"])}const ns=b(ss,[["render",as],["__scopeId","data-v-3b8d07f2"]]),rs={name:"DownloadPanel",components:{CodexListItem:ne,DownloadButton:to},data(){return{mdiDownload:kt,mdiFileImage:mt}},computed:{...k(d,["activeTitle","routeParams"]),...k(d,{currentBook:e=>e.books?.current,fileType:e=>e.books?.current?.fileType,mtime:e=>e.books?.current?.mtime,pk:e=>e.books?.current?.pk,filename:e=>e.books?.current?.filename,storePage:e=>e.page}),pageSrc(){const e={pk:this.pk,page:this.storePage,ts:this.ts};return gt(e)},pageName(){const e=this.fileType==="PDF"?"pdf":"jpg";return`${this.activeTitle} - page ${this.storePage}.${e}`},downloadPageTitle(){return`Download Page ${this.storePage}`},downloadItem(){return{group:"c",ids:[this.pk],childCount:1,name:this.filename,mtime:this.mtime}}},methods:{...v($e,["downloadIOSPWAFix"]),downloadPage(){pt(this.pageSrc,this.pageName)}}},is={key:0,id:"downloadPanel"};function ls(e,t,l,c,a,o){const s=h("CodexListItem"),i=h("DownloadButton");return e.currentBook?(u(),_("div",is,[r(s,{"prepend-icon":a.mdiFileImage,title:o.downloadPageTitle,onClick:o.downloadPage},null,8,["prepend-icon","title","onClick"]),r(i,{button:!1,item:o.downloadItem},null,8,["item"])])):T("",!0)}const cs=b(rs,[["render",ls],["__scopeId","data-v-a873b002"]]),us=ae({color:String,...Me(),...Ae(),...ze(),...Ht({tag:"kbd"}),...Oe(),...We()},"VKbd"),Pe=xe()({name:"VKbd",props:us(),setup(e,t){let{slots:l}=t;const{themeClasses:c}=Le(e),{borderClasses:a}=Ne(e),{roundedClasses:o}=Ue(e),{backgroundColorClasses:s,backgroundColorStyles:i}=Kt(()=>e.color),{elevationClasses:p}=Fe(e);return Ve(()=>r(e.tag,{class:R(["v-kbd",c.value,s.value,a.value,p.value,o.value,e.class]),style:O([i.value,e.style])},l)),{}}});function et(e,t,l){const c=l&&e.mac?e.mac:e.default,a=t==="icon"&&!l||t==="icon"&&!c.icon||t==="symbol"&&!c.symbol?"text":t;let o=c[a]??c.text;return a==="text"&&typeof o=="string"&&o.startsWith("$")&&!o.startsWith("$vuetify.")&&(o=o.slice(1).toUpperCase()),a==="icon"?["icon",o]:[a,o]}const tt={ctrl:{mac:{symbol:"⌃",icon:"$ctrl",text:"$vuetify.hotkey.ctrl"},default:{text:"Ctrl"}},meta:{mac:{symbol:"⌘",icon:"$command",text:"$vuetify.hotkey.command"},default:{text:"Ctrl"}},cmd:{mac:{symbol:"⌘",icon:"$command",text:"$vuetify.hotkey.command"},default:{text:"Ctrl"}},shift:{mac:{symbol:"⇧",icon:"$shift",text:"$vuetify.hotkey.shift"},default:{text:"Shift"}},alt:{mac:{symbol:"⌥",icon:"$alt",text:"$vuetify.hotkey.option"},default:{text:"Alt"}},enter:{default:{symbol:"↵",icon:"$enter",text:"$vuetify.hotkey.enter"}},arrowup:{default:{symbol:"↑",icon:"$arrowup",text:"$vuetify.hotkey.upArrow"}},arrowdown:{default:{symbol:"↓",icon:"$arrowdown",text:"$vuetify.hotkey.downArrow"}},arrowleft:{default:{symbol:"←",icon:"$arrowleft",text:"$vuetify.hotkey.leftArrow"}},arrowright:{default:{symbol:"→",icon:"$arrowright",text:"$vuetify.hotkey.rightArrow"}},backspace:{default:{symbol:"⌫",icon:"$backspace",text:"$vuetify.hotkey.backspace"}},escape:{default:{text:"$vuetify.hotkey.escape"}}," ":{mac:{symbol:"␣",icon:"$space",text:"$vuetify.hotkey.space"},default:{text:"$vuetify.hotkey.space"}},"-":{default:{text:"-"}}},ds=ae({variant:{type:String,default:"elevated",validator:e=>["elevated","flat","tonal","outlined","text","plain","contained"].includes(e)}},"VHotkeyVariant"),hs=ae({keys:String,displayMode:{type:String,default:"icon"},keyMap:{type:Object,default:()=>tt},platform:{type:String,default:"auto"},inline:Boolean,disabled:Boolean,prefix:String,suffix:String,...Ae(),...Oe(),...Me(),...ze(),...We(),...ds(),color:String},"VHotkey");class se{constructor(t){if(["and","then"].includes(t))this.val=t;else throw new Error("Not a valid delineator")}isEqual(t){return this.val===t.val}}function X(e){return e instanceof se}function ps(e){return typeof e=="string"}function gs(e,t,l){const c=t.toLowerCase();if(c in e){const a=et(e[c],"text",l);return typeof a[1]=="string"?a[1]:String(a[1])}return t.toUpperCase()}function Se(e,t,l,c){const a=l.toLowerCase();if(a in e){const o=et(e[a],t,c);return o[0]==="text"&&typeof o[1]=="string"&&o[1].startsWith("$")&&!o[1].startsWith("$vuetify.")?["text",o[1].replace("$","").toUpperCase(),l]:[...o,l]}return["text",l.toUpperCase(),l]}const ms=xe()({name:"VHotkey",props:hs(),setup(e){const{t}=ft(),{themeClasses:l}=Le(e),{rtlClasses:c}=bt(),{borderClasses:a}=Ne(e),{roundedClasses:o}=Ue(e),{elevationClasses:s}=Fe(e),i=x(()=>e.variant==="contained"),p=x(()=>({...e,variant:i.value?"elevated":e.variant})),{colorClasses:f,colorStyles:B,variantClasses:A}=jt(p),W=x(()=>e.platform==="auto"?typeof navigator<"u"&&/macintosh/i.test(navigator.userAgent):e.platform==="mac"),re=x(()=>e.displayMode),H=new se("and"),ie=new se("then"),le=x(()=>e.keyMap),E=x(()=>e.keys?e.keys.split(" ").map(y=>{const P=ko(y);return P.flatMap((S,C)=>{const he=Ye(S).reduce((V,pe,rt)=>rt!==0?[...V,H,pe]:[...V,pe],[]).map(V=>ps(V)?Se(le.value,re.value,V,W.value):V);return C<P.length-1&&he.push(ie),he})}):[]),at=x(()=>{if(!e.keys)return"";const P=E.value.map(S=>{const C=[];for(const I of S)if(X(I))H.isEqual(I)?C.push(t("$vuetify.hotkey.plus")):ie.isEqual(I)&&C.push(t("$vuetify.hotkey.then"));else{const de=I[0]==="icon"||I[0]==="symbol"?Se(vt(tt,e.keyMap),"text",String(I[1]),W.value)[1]:I[1];C.push(j(de))}return C.join(" ")}).join(", ");return t("$vuetify.hotkey.shortcut",P)});function j(y){return y.startsWith("$vuetify.")?t(y):y}function nt(y){if(re.value==="text")return;const P=gs(le.value,String(y[2]),W.value);return j(P)}function ce(y,P,S){const C=S?"kbd":Pe,I=["v-hotkey__key",`v-hotkey__key-${y[0]}`,...S?["v-hotkey__key--nested"]:[a.value,o.value,s.value,f.value]];return r(C,{key:P,class:R(I),style:O(S?void 0:B.value),"aria-hidden":"true",title:nt(y)},{default:()=>[y[0]==="icon"?r(K,{icon:y[1],"aria-hidden":"true"},null):j(y[1])]})}function ue(y,P){return n("span",{key:P,class:"v-hotkey__divider","aria-hidden":"true"},[H.isEqual(y)?"+":t("$vuetify.hotkey.then")])}Ve(()=>n("div",{class:R(["v-hotkey",{"v-hotkey--disabled":e.disabled,"v-hotkey--inline":e.inline,"v-hotkey--contained":i.value},l.value,c.value,A.value,e.class]),style:O(e.style),role:"img","aria-label":at.value},[i.value?r(Pe,{key:"contained",class:R(["v-hotkey__contained-wrapper",a.value,o.value,s.value,f.value]),style:O(B.value),"aria-hidden":"true"},{default:()=>[e.prefix&&n("span",{key:"contained-prefix",class:"v-hotkey__prefix"},[e.prefix]),E.value.map((y,P)=>n("span",{class:"v-hotkey__combination",key:P},[y.map((S,C)=>X(S)?ue(S,C):ce(S,C,!0)),P<E.value.length-1&&n("span",{"aria-hidden":"true"},[w(" ")])])),e.suffix&&n("span",{key:"contained-suffix",class:"v-hotkey__suffix"},[e.suffix])]}):n(D,null,[e.prefix&&n("span",{key:"prefix",class:"v-hotkey__prefix"},[e.prefix]),E.value.map((y,P)=>n("span",{class:"v-hotkey__combination",key:P},[y.map((S,C)=>X(S)?ue(S,C):ce(S,C,!1)),P<E.value.length-1&&n("span",{"aria-hidden":"true"},[w(" ")])])),e.suffix&&n("span",{key:"suffix",class:"v-hotkey__suffix"},[e.suffix])])]))}}),ks={name:"KeyboardShortcutsTable",components:{VHotkey:ms},data(){return{mdiMenuLeft:St,mdiMenuRight:Pt,mdiKeyboardSpace:_t,mdiAppleKeyboardShift:yt}}},fs={class:"highlight-table"},bs={class:"highlight-table"},vs={class:"highlight-table"};function ys(e,t,l,c,a,o){const s=h("v-hotkey");return u(),_(D,null,[t[22]||(t[22]=n("h4",null,"Navigation",-1)),n("table",fs,[n("tbody",null,[n("tr",null,[n("td",null,[r(s,{keys:"j"}),t[0]||(t[0]=w(", ")),r(s,{keys:"arrowleft"}),t[1]||(t[1]=w(", ")),r(s,{keys:"shift+space"})]),t[2]||(t[2]=n("td",null,"Previous page",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"k"}),t[3]||(t[3]=w(", ")),r(s,{keys:"arrowright"}),t[4]||(t[4]=w(", ")),r(s,{keys:"space"})]),t[5]||(t[5]=n("td",null,"Next page",-1))]),n("tr",null,[n("td",null,[r(s,{keys:","})]),t[6]||(t[6]=n("td",null,[w("Next "),n("em",null,"only"),w(" one page in two page mode.")],-1))]),n("tr",null,[n("td",null,[r(s,{keys:"."})]),t[7]||(t[7]=n("td",null,[w("Previous "),n("em",null,"only"),w(" one page in two page mode.")],-1))]),n("tr",null,[n("td",null,[r(s,{keys:"p"})]),t[8]||(t[8]=n("td",null,"Previous Book",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"n"})]),t[9]||(t[9]=n("td",null,"Next Book",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"esc"})]),t[10]||(t[10]=n("td",null,"Close book",-1))])])]),t[23]||(t[23]=n("h4",null,"Fit Page To",-1)),n("table",bs,[n("tbody",null,[n("tr",null,[n("td",null,[r(s,{keys:"s"})]),t[11]||(t[11]=n("td",null,"screen",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"h"})]),t[12]||(t[12]=n("td",null,"screen height",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"w"})]),t[13]||(t[13]=n("td",null,"screen width",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"o"})]),t[14]||(t[14]=n("td",null,"Show page at original size",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"2"})]),t[15]||(t[15]=n("td",null,"Toggle two page view",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"r"})]),t[16]||(t[16]=n("td",null,"Read Right to Left",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"l"})]),t[17]||(t[17]=n("td",null,"Read Left to Right",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"t"})]),t[18]||(t[18]=n("td",null,"Read Top to Bottom",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"b"})]),t[19]||(t[19]=n("td",null,"Read in Bottom to Top",-1))])])]),t[24]||(t[24]=n("h4",null,"Other",-1)),n("table",vs,[n("tbody",null,[n("tr",null,[n("td",null,[r(s,{keys:"m"})]),t[20]||(t[20]=n("td",null,"Show comic's metadata",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"doubleclick"})]),t[21]||(t[21]=n("td",null,"Zoom page",-1))])])])],64)}const _s=b(ks,[["render",ys],["__scopeId","data-v-11cb1561"]]),Ps=/iP(?:ad|hone|od)|Android/,Ss=Ps.test(navigator.userAgent),ws=Ss||globalThis.orientation!==void 0,Cs={name:"KeyboardShortcutsPanel",components:{CodexListItem:ne,KeyboardShortcutsTable:_s},data(){return{mdiKeyboardOutline:wt,IS_MOBILE:ws}}};function Ts(e,t,l,c,a,o){const s=h("CodexListItem"),i=h("KeyboardShortcutsTable");return a.IS_MOBILE?T("",!0):(u(),m(io,{key:0},{default:g(()=>[r(lo,{id:"readerKeyboardShortcuts"},{default:g(()=>[r(co,{id:"shortcutsTitle"},{default:g(()=>[r(s,{id:"keyboardShortcutsItem","prepend-icon":a.mdiKeyboardOutline,title:"Keyboard Shortcuts"},null,8,["prepend-icon"])]),_:1}),r(uo,null,{default:g(()=>[r(i)]),_:1})]),_:1})]),_:1}))}const Rs=b(Cs,[["render",Ts],["__scopeId","data-v-8285795a"]]),ot=["fitTo","readingDirection","twoPages"];Object.freeze(ot);const Bs={name:"ReaderSettingsPanel",components:{CodexListItem:ne},data(){return{isGlobalScope:!1,mdiOpenInNew:Rt,mdiEye:Tt,openDelay:2e3,scopeItems:[{title:"Only this comic",value:!1},{title:"Default for all comics",value:!0}]}},computed:{...k(F,["isAuthDialogOpen"]),...k(d,["isVertical","isPDF","cacheBook"]),...k(d,{choices:e=>e.choices,validBook:e=>!!e.books?.current,selectedSettings(e){return this.isGlobalScope||!e.books?.current?e.readerSettings:e.books?.current.settings},isClearSettingsButtonDisabled(e){if(this.isGlobalScope||!e.books?.current)return!0;for(const t of ot){const l=e.books?.current.settings[t];if(!e.choices.nullValues.has(l))return!1}return!0},pdfInBrowserURL(e){return this.isPDF&&e.books?.current?Ct(e.books?.current):""},finishOnLastPage:e=>e.readerSettings.finishOnLastPage,pageTransition:e=>e.readerSettings.pageTransition}),...Ie(d,["readRtlInReverse"]),fitToChoices(){return this.choicesWithoutNull("fitTo")},readingDirectionChoices(){return this.choicesWithoutNull("readingDirection")},disableTwoPages(){return this.isVertical||this.isPDF&&this.cacheBook},disableCacheBook(){return this.isVertical&&this.isPDF},disablePageTransition(){return this.isVertical&&this.isPDF}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...v(d,["clearSettingsLocal","setSettingsGlobal","setSettingsLocal","setSettingsClient"]),settingsDialogChanged(e){this.isGlobalScope?this.setSettingsGlobal(e):this.setSettingsLocal(e)},choicesWithoutNull(e){const t=[];for(const l of this.choices[e])l.value&&t.push(l);return Object.freeze(t),t},_keyUpListener(e){if(e.stopPropagation(),this.isAuthDialogOpen)return;let t;switch(e.key){case"w":t={fitTo:"W"};break;case"h":t={fitTo:"H"};break;case"s":t={fitTo:"S"};break;case"o":t={fitTo:"O"};break;case"2":t={twoPages:!this.selectedSettings.twoPages};break;case"l":t={readingDirection:"ltr"};break;case"r":t={readingDirection:"rtl"};break;case"t":t={readingDirection:"ttb"};break;case"b":t={readingDirection:"bbt"};break}t&&this.setSettingsLocal(t)}}},Ds={id:"readerScopedSettings",class:"readerCodexListItem"};function Is(e,t,l,c,a,o){const s=h("CodexListItem");return u(),_(D,null,[t[9]||(t[9]=n("h4",{class:"readerSettingsHeader"},"Comic Settings Scope",-1)),r(Y,{modelValue:a.isGlobalScope,"onUpdate:modelValue":t[0]||(t[0]=i=>a.isGlobalScope=i),class:"scopeRadioGroup readerCodexListItem",density:"compact","hide-details":"auto"},{default:g(()=>[(u(!0),_(D,null,U(a.scopeItems,i=>(u(),m(J,{key:i.value,label:i.title,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),r(ho,null,{default:g(()=>[n("div",Ds,[r(Y,{class:"displayRadioGroup",density:"compact",label:"Display","hide-details":"auto","model-value":e.selectedSettings.fitTo,"onUpdate:modelValue":t[1]||(t[1]=i=>o.settingsDialogChanged({fitTo:i}))},{default:g(()=>[(u(!0),_(D,null,U(o.fitToChoices,i=>(u(),m(J,{key:i.value,label:i.title,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),r(N,{disabled:o.disableTwoPages,class:"scopedCheckbox",density:"compact",label:"Two pages","hide-details":"auto","model-value":e.selectedSettings.twoPages,"true-value":!0,indeterminate:e.selectedSettings.twoPages===null||e.selectedSettings.twoPages===void 0,"onUpdate:modelValue":t[2]||(t[2]=i=>o.settingsDialogChanged({twoPages:i}))},null,8,["disabled","model-value","indeterminate"]),r(Y,{class:"displayRadioGroup",density:"compact",label:"Reading Direction","hide-details":"auto","model-value":e.selectedSettings.readingDirection,"onUpdate:modelValue":t[3]||(t[3]=i=>o.settingsDialogChanged({readingDirection:i}))},{default:g(()=>[(u(!0),_(D,null,U(o.readingDirectionChoices,i=>(u(),m(J,{key:i.value,label:i.title,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),r(N,{"model-value":e.selectedSettings.readRtlInReverse,class:"scopedCheckbox",density:"compact",label:"Read RTL Comics LTR","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[4]||(t[4]=i=>o.settingsDialogChanged({readRtlInReverse:i}))},null,8,["model-value"]),a.isGlobalScope?T("",!0):$((u(),m(Ke,{key:0,id:"clearSettingsButton",disabled:e.isClearSettingsButtonDisabled,onClick:e.clearSettingsLocal},{default:g(()=>t[8]||(t[8]=[w(" Clear Settings ")])),_:1,__:[8]},8,["disabled","onClick"])),[[Q,{openDelay:a.openDelay,text:"Use the default settings for all comics for this comic"}]])])]),_:1}),r(oe),t[10]||(t[10]=n("h4",{class:"readerSettingsHeader"},"Reader Settings",-1)),r(N,{class:"readerCodexListItem","model-value":e.finishOnLastPage,density:"compact",label:"Finish Book On Last Page","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[5]||(t[5]=i=>e.setSettingsGlobal({finishOnLastPage:i}))},null,8,["model-value"]),$(r(N,{"model-value":e.pageTransition,class:"readerCodexListItem",density:"compact",disabled:o.disablePageTransition,label:"Animate Page Turns","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[6]||(t[6]=i=>e.setSettingsGlobal({pageTransition:i}))},null,8,["model-value","disabled"]),[[Q,{openDelay:a.openDelay,text:"Animate page turns when reading horizontally."}]]),$(r(N,{"model-value":e.cacheBook,class:"readerCodexListItem",density:"compact",disabled:o.disableCacheBook,label:"Cache Entire Book","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[7]||(t[7]=i=>e.setSettingsClient({cacheBook:i}))},null,8,["model-value","disabled"]),[[Q,{openDelay:a.openDelay,text:"Cache all pages from this book in the browser"}]]),e.pdfInBrowserURL?(u(),m(s,{key:0,"prepend-icon":a.mdiEye,"append-icon":a.mdiOpenInNew,title:"Read in Tab",href:e.pdfInBrowserURL,target:"_blank"},null,8,["prepend-icon","append-icon","href"])):T("",!0)],64)}const $s=b(Bs,[["render",Is],["__scopeId","data-v-252309d7"]]),xs={name:"ReaderSettingsSuperPanel",components:{DownloadPanel:cs,ReaderKeyboardShortcutsPanel:Rs,ReaderSettingsPanel:$s}};function Ls(e,t,l,c,a,o){const s=h("ReaderSettingsPanel"),i=h("ReaderKeyboardShortcutsPanel"),p=h("DownloadPanel");return u(),_(D,null,[r(s),r(oe),r(i),r(oe),r(p)],64)}const Vs=b(xs,[["render",Ls]]),Os={name:"ReaderSettingsDrawer",components:{SettingsDrawer:Wt,ReaderSettingsSuperPanel:Vs}};function As(e,t,l,c,a,o){const s=h("ReaderSettingsSuperPanel"),i=h("SettingsDrawer");return u(),m(i,{title:"Reader",temporary:"","disable-resize-watcher":""},{panel:g(()=>[r(s)]),_:1})}const Es=b(Os,[["render",As]]),Z={a:Lt,f:xt,p:$t,i:It,s:Dt,v:Bt},Ns={name:"ReaderArcSelect",components:{ToolbarSelect:oo},data(){return{mdiFilterOutline:At}},computed:{...k(d,{arc:e=>e.arc,arcs:e=>e.arcs}),items(){const e=[];if(!this.arcs)return e;for(const[t,l]of Object.entries(this.arcs))for(const[c,a]of Object.entries(l)){let o=Vt[t];t!=="s"&&(o=o.slice(0,-1));const s=Z[t],i=t===this.arc?.group&&c==this.arc?.ids?Ot:"",p={group:t,ids:c,prependIcon:s,...a},f={group:t,value:p,title:a.name,subtitle:o,prependIcon:s,appendIcon:i};e.push(f)}return e},arcInfo(){if(!this.arcs||!this.arc)return{};const e=this.arcs[this.arc?.group];return e?e[this.arc?.ids]:{}},arcIcon(){return Z[this.arc?.group]}},methods:{...v(d,["loadBooks"]),onUpdate(e){const t={group:e.group,ids:e.ids.split(",").map(Number)};this.loadBooks({arc:t})},prependIcon(e){return Z[e]}}},Us={id:"arcPos"};function Fs(e,t,l,c,a,o){const s=h("ToolbarSelect");return u(),m(s,{"model-value":e.arc,class:"arcSelect","select-label":"reading order",items:o.items,disabled:!o.items||o.items.length<=1,"onUpdate:modelValue":o.onUpdate},{item:g(({item:i,props:p})=>[r(eo,ee(p,{density:"compact",variant:"plain","prepend-icon":i.raw.prependIcon,subtitle:i.raw.subtitle,"append-icon":i.raw.appendIcon}),null,16,["prepend-icon","subtitle","append-icon"])]),selection:g(({props:i})=>[r(K,ee({icon:o.prependIcon(e.arc.group),size:"large"},i,{class:"arcSelectIcon"}),null,16,["icon"]),n("span",Us,L(e.arc.index)+" / "+L(e.arc.count),1)]),_:1},8,["model-value","items","disabled","onUpdate:modelValue"])}const Ws=b(Ns,[["render",Fs],["__scopeId","data-v-0f33d301"]]),zs={name:"ReaderTitleToolbar",components:{AppBanner:Gt,MetadataDialog:so,ReaderArcSelect:Ws,SettingsDrawerButton:zt},data(){return{mdiClose:Et,routeChanged:!1}},head(){const e=`Read / ${this.activeTitle} / page ${this.storePage}`,t=`reader ${e}`;return{title:e,meta:[{hid:"description",name:"description",content:t}]}},computed:{...k(F,["isAuthDialogOpen"]),...k(d,["activeTitle","closeBookRoute"]),...k(d,{showToolbars:e=>e.showToolbars,currentBook:e=>e.books?.current||{},empty:e=>e.empty,subtitle:e=>e.books?.current?.name||"",storePage:e=>e.page}),title(){return this.activeTitle},extensionHeight(){let e=32;return this.subtitle&&(e*=2),e+=4,e},closeRoute(){const e=te(this.closeBookRoute),t=te(e.params);return delete t.name,e.params=t,e},metadataBook(){const e={...this.currentBook};return e.group="c",e.childCount=0,e}},watch:{$route(e,t){t&&(this.routeChanged=!0)}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...v($e,["setTimestamp"]),...v(d,["routeToDirection","routeToDirectionOne","routeToBook","setBookChangeFlag"]),openMetadata(){this.$refs.metadataDialog.dialog=!0},onCloseBook(){this.routeChanged&&this.setTimestamp()},_keyUpListener(e){if(e.stopPropagation(),!this.isAuthDialogOpen)switch(e.key){case"Escape":this.$refs.closeBook.$el.click();break;case"m":this.empty||this.openMetadata();break}}}},Ms={id:"readerTopToolbarHeader"},Ks={id:"title"},Hs={key:0,id:"subtitle"};function js(e,t,l,c,a,o){const s=h("AppBanner"),i=h("ReaderArcSelect"),p=h("MetadataDialog"),f=h("SettingsDrawerButton");return u(),m(po,null,{default:g(()=>[$(n("header",Ms,[r(s),r(Yt,{id:"readerToolbarTop",density:"compact","extension-height":o.extensionHeight},Nt({default:g(()=>[r(G,null,{default:g(()=>[r(Ke,{ref:"closeBook",class:"closeBook",to:o.closeRoute,size:"large",density:"compact",variant:"plain",onClick:o.onCloseBook},{default:g(()=>t[0]||(t[0]=[w(" close book ")])),_:1,__:[0]},8,["to","onClick"])]),_:1}),r(ao),e.empty?T("",!0):(u(),m(G,{key:0},{default:g(()=>[r(i),r(p,{ref:"metadataDialog",book:o.metadataBook,toolbar:!0},null,8,["book"])]),_:1})),r(G,null,{default:g(()=>[r(f)]),_:1})]),_:2},[o.title?{name:"extension",fn:g(()=>[r(Jt,{class:"readerTitle"},{default:g(()=>[n("div",Ks,L(o.title),1),e.subtitle?(u(),_("div",Hs,L(e.subtitle),1)):T("",!0)]),_:1})]),key:"0"}:void 0]),1032,["extension-height"])],512),[[Ee,e.showToolbars]])]),_:1})}const st=b(zs,[["render",js],["__scopeId","data-v-ac089588"]]),qs={name:"ReaderEmptyBooks",components:{ReaderTopToolbar:st,EmptyState:He},data(){return{mdiBookRemoveOutline:Ut}},methods:{...v(d,["loadBooks","setShowToolbars"]),onAction(){this.loadBooks({mtime:Date.now()})}},created(){this.setShowToolbars()}};function Gs(e,t,l,c,a,o){const s=h("ReaderTopToolbar"),i=h("EmptyState");return u(),_(D,null,[r(s),r(i,{headline:"Book Not Found",title:"Close the reader and find another book",icon:a.mdiBookRemoveOutline,"action-text":"Try to load book again","onClick:action":o.onAction},null,8,["icon","onClick:action"])],64)}const Ys=b(qs,[["render",Gs]]),Js={name:"ReaderBookChangeNavButton",components:{PaginationNavButton:Ge},props:{direction:{type:String,required:!0}},computed:{...k(d,["isBTT"]),...k(d,{toRoute(e){const t=e?.routes?.books[this.direction];return t?{params:te(t)}:""}}),title(){return(this.direction==="prev"?"Previous":"Next")+" Book"},icon(){return this.bookChangeIcon(this.direction)},classes(){return{bookChangeNavButtonLeft:this.direction==="prev",bookChangeNavButtonRight:this.direction==="next"}}},methods:{...v(d,["bookChangeIcon"])}};function Qs(e,t,l,c,a,o){const s=h("PaginationNavButton");return e.toRoute?(u(),m(s,{key:0,class:R(o.classes),icon:o.icon,variant:"plain",title:o.title,to:e.toRoute},null,8,["class","icon","title","to"])):T("",!0)}const Xs=b(Js,[["render",Qs],["__scopeId","data-v-e6c3b493"]]),Zs={name:"ReaderNavButton",components:{PaginationNavButton:Ge},props:{value:{type:Number,required:!0},twoPages:{type:Boolean,default:!1}},computed:{...k(d,["isVertical"]),...k(d,{storePage:e=>e.page,toRoute(e){if(!this.isVertical)return{params:{pk:e.books.current.pk,page:this.value}}},isBookPrev:e=>!!e.routes.books.prev,isBookNext:e=>!!e.routes.books.next}),classes(){return{readerNavButtonLeft:!this.isBookPrev&&this.value===0,readerNavButtonRight:!this.isBookNext&&this.value!=0}},title(){return"Page "+this.value},disabled(){return this.value===this.storePage||this.twoPages&&!!(this.value%2)&&this.value-1===this.storePage}},methods:{...v(d,["setActivePage"]),onClick(){this.isVertical&&this.setActivePage(this.value,!0)}}};function ea(e,t,l,c,a,o){const s=h("PaginationNavButton");return u(),m(s,{key:e.isVertical,disabled:o.disabled,class:R(["readerNavButton",o.classes]),title:o.title,to:e.toRoute,onClick:o.onClick},{default:g(()=>[w(L(l.value),1)]),_:1},8,["disabled","class","title","to","onClick"])}const ta=b(Zs,[["render",ea],["__scopeId","data-v-f60d8fb5"]]),z="prev",M="next",oa={name:"ReaderNavToolbar",components:{PaginationSlider:ro,ReaderNavButton:ta,PaginationToolbar:no,ReaderBookChangeNavButton:Xs},computed:{...k(F,["isAuthDialogOpen"]),...k(d,["activeSettings","isReadInReverse","isVertical"]),...k(d,{showToolbars:e=>e.showToolbars,storePage:e=>e.page,key(e){return`${e.books?.current?.pk}:${this.step}:${this.isReadInReverse}`},maxPage:e=>e.books?.current?.maxPage||0}),twoPages(){return this.activeSettings.twoPages},step(){return this.activeSettings.twoPages?2:1},trackColor(){return this.twoPages&&+this.storePage>=this.maxPage-1?this.$vuetify.theme.current.colors.primary:""},min(){return this.isReadInReverse?this.maxPage:0},max(){return this.isReadInReverse?0:this.maxPage},bookPrev(){return this.isReadInReverse?"next":"prev"},bookNext(){return this.isReadInReverse?"prev":"next"}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...v(d,["routeToBook","routeToDirection","routeToDirectionOne","routeToPage","setActivePage"]),onSliderUpdate(e){this.isVertical?this.setActivePage(e,!0):this.routeToPage(e)},_keyUpListener(e){if(e.stopPropagation(),!this.isAuthDialogOpen)switch(e.key){case" ":!e.shiftKey&&window.innerHeight+window.scrollY+1>=document.body.scrollHeight?this.routeToDirection(M):e.shiftKey&&window.scrollY===0&&this.routeToDirection(z);break;case"j":case"ArrowRight":this.routeToDirection(M);break;case"k":case"ArrowLeft":this.routeToDirection(z);break;case",":this.routeToDirectionOne(z);break;case".":this.routeToDirectionOne(M);break;case"n":this.routeToBook(M);break;case"p":this.routeToBook(z);break}}}};function sa(e,t,l,c,a,o){const s=h("ReaderBookChangeNavButton"),i=h("ReaderNavButton"),p=h("PaginationSlider"),f=h("PaginationToolbar");return u(),m(go,null,{default:g(()=>[e.maxPage?$((u(),m(f,{key:0,id:"readerToolbarNav"},{default:g(()=>[r(s,{direction:o.bookPrev,narrow:!1},null,8,["direction"]),r(i,{value:o.min,"two-pages":o.twoPages},null,8,["value","two-pages"]),(u(),m(p,{key:e.key,"model-value":e.storePage,min:0,max:e.maxPage,step:o.step,"track-color":o.trackColor,reverse:e.isReadInReverse,"onUpdate:modelValue":t[0]||(t[0]=B=>o.onSliderUpdate(B))},null,8,["model-value","max","step","track-color","reverse"])),r(i,{value:o.max,"two-pages":o.twoPages},null,8,["value","two-pages"]),r(s,{direction:o.bookNext,narrow:!1},null,8,["direction"])]),_:1},512)),[[Ee,e.showToolbars]]):T("",!0)]),_:1})}const aa=b(oa,[["render",sa],["__scopeId","data-v-ebe715c2"]]),na={name:"MainReader",components:{BooksWindow:ns,ReaderEmpty:Ys,ReaderNavToolbar:aa,ReaderTopToolbar:st,ReaderSettingsDrawer:Es,Unauthorized:Qt},data(){return{showToolbars:!1}},computed:{...k(F,["isAuthorized"]),...k(F,{user:e=>e.user}),...k(d,{empty:e=>e.empty})},watch:{user(){this.loadReaderSettings()}},created(){this.reset();const e=this.user?0:300,t=this.user;setTimeout(()=>{this.user?.id===t?.id&&this.loadReaderSettings()},e)},methods:{...v(d,["loadReaderSettings","reset"])}},ra={key:0},ia={id:"readerContainer"};function la(e,t,l,c,a,o){const s=h("ReaderTopToolbar"),i=h("BooksWindow"),p=h("ReaderNavToolbar"),f=h("ReaderEmpty"),B=h("ReaderSettingsDrawer"),A=h("Unauthorized");return e.isAuthorized?(u(),m(Xt,{key:0,id:"readerWrapper"},{default:g(()=>[e.empty?(u(),m(f,{key:1})):(u(),_("div",ra,[n("div",ia,[r(s),r(i),r(p)])])),r(B)]),_:1})):(u(),m(A,{key:1}))}const ca=b(na,[["render",la],["__scopeId","data-v-6df2b556"]]),wa=Object.freeze(Object.defineProperty({__proto__:null,default:ca},Symbol.toStringTag,{value:"Module"}));export{jo as P,Ze as S,wa as r};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/pdf-doc-remlTMFH.js","assets/main-0gkU-bgy.js","assets/main-B8_0rUnw.css","assets/pdf-doc-DxqOo2k2.css","assets/pager-full-pdf-dMflY9TZ.js","assets/settings-drawer-CpKXWPSA.js","assets/forwardRefs-BjkhALLr.js","assets/forwardRefs-B_sUWZn6.css","assets/unauthorized-CLNP5Zx1.js","assets/VDialog-N7erUTvb.js","assets/VDialog-CpWjrJ0R.css","assets/change-password-dialog-DE8R9FId.js","assets/VForm-Bhq1UjFg.js","assets/VSelectionControl-BUBBamEF.js","assets/VSelectionControl-RqBzwjYi.css","assets/VForm-DxBt30-N.css","assets/admin-CJauEn2X.js","assets/change-password-dialog-DL8UMjmX.css","assets/ssrBoot-D4fyL90J.js","assets/unauthorized-BBwsmi0O.css","assets/copy-to-clipboard-DoUvDJVx.js","assets/VDivider-DFsQRi0x.js","assets/VDivider-DU47sRrT.css","assets/settings-drawer-CpS_aX4Z.css","assets/VWindowItem-WsjNvbu_.js","assets/VWindowItem-ChYLiXSE.css","assets/VSelect-C857NCMc.js","assets/VCheckboxBtn-BwlWS4y9.js","assets/VSelect-DQPZyfSb.css","assets/pagination-toolbar-BzWY1XTi.js","assets/VTable-CwYzcGki.js","assets/VTable-CQyv0wyO.css","assets/confirm-dialog-Dy-4G4rU.js","assets/confirm-dialog-YfC8mRQA.css","assets/pagination-toolbar-741OafNw.css","assets/VExpansionPanels-D_1ryJs5.js","assets/VExpansionPanels-RsCANmDP.css","assets/VRadioGroup-IJTnZQT5.js","assets/VRadioGroup-Cp9mZ7cb.css","assets/VCheckbox-BD4eUg4g.js","assets/VCheckbox-CvH8ekHL.css","assets/index-yvfyzOV3.js","assets/index-Czf-fUM7.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{_ as b,B as v,D as k,ak as d,x as m,G as T,w as g,d as R,s as h,v as u,a as r,y as w,A as L,q as _,aa as we,F as D,al as it,am as lt,m as ee,an as Ce,ao as ct,ap as Te,H as Re,n as O,aq as Be,ar as q,as as ut,S as $,a5 as dt,at as ht,au as De,z as U,k as Ie,b as n,av as pt,C as $e,aw as gt,ax as mt,ay as kt,g as xe,p as ae,az as Le,u as Ve,aA as Oe,J as Ae,aB as ft,aC as bt,c as x,aD as vt,aE as yt,aF as _t,aG as Pt,aH as St,aI as wt,aJ as Ct,E as F,ab as Tt,$ as Rt,aK as Bt,O as Dt,P as It,Q as $t,R as xt,aL as Lt,aM as Vt,aN as Ot,aO as At,L as te,aP as Et,V as Nt,aQ as Ee,aR as Ut}from"./main-0gkU-bgy.js";import{V as Ft,a as Wt,S as zt}from"./settings-drawer-CpKXWPSA.js";import{k as K,I as Mt,r as Ne,i as Ue,c as Kt,t as Fe,v as We,d as Ht,j as ze,w as Me,x as jt,V as Ke}from"./forwardRefs-BjkhALLr.js";import{P as qt,E as He,A as Gt,V as Yt,a as Jt,U as Qt,c as Xt}from"./unauthorized-CLNP5Zx1.js";import{V as je,a as qe}from"./VWindowItem-WsjNvbu_.js";import{b as Zt}from"./VSelect-C857NCMc.js";import{C as ne,a as eo}from"./VDialog-N7erUTvb.js";import{D as to,T as oo,b as so,V as G,a as ao,P as Ge,c as no,d as ro}from"./pagination-toolbar-BzWY1XTi.js";import{V as io,a as lo,b as co,c as uo}from"./VExpansionPanels-D_1ryJs5.js";import{d as ho,V as po,e as go}from"./VSelectionControl-BUBBamEF.js";import{V as Y,a as J}from"./VRadioGroup-IJTnZQT5.js";import{a as oe}from"./VDivider-DFsQRi0x.js";import{V as N}from"./VCheckbox-BD4eUg4g.js";import{T as Q}from"./index-yvfyzOV3.js";const mo={control:"ctrl",command:"cmd",option:"alt",up:"arrowup",down:"arrowdown",left:"arrowleft",right:"arrowright",esc:"escape",spacebar:" ",space:" ",return:"enter",del:"delete",minus:"-",hyphen:"-"};function ge(e){const t=e.toLowerCase();return mo[t]||t}function Ye(e){if(!e)return[];const l=(e.startsWith("+")||e.startsWith("_"))&&!(e.startsWith("++")||e.startsWith("__"));if(e.length>1&&l||e.includes("++")||e.includes("__")||e==="+"||e==="_"||e.length>1&&(e.endsWith("+")||e.endsWith("_"))&&e.at(-2)!==e.at(-1)||e==="++"||e==="--"||e==="__")return[];const a=[];let o="";const s=()=>{o&&(a.push(ge(o)),o="")};for(let p=0;p<e.length;p++){const f=e[p],B=e[p+1];f==="+"||f==="_"||f==="-"?f===B?(s(),a.push(f),p++):f==="+"||f==="_"?s():o+=f:o+=f}return s(),a.some(p=>p.length>1&&p.includes("-")&&p!=="--")?[]:a.length===0&&e?[ge(e)]:a}function ko(e){if(!e)return[];const t=e.startsWith("-")&&!["---","--+"].includes(e),l=e.endsWith("-")&&!e.endsWith("+-")&&!e.endsWith("_-")&&e!=="-"&&e!=="---";if(t||l)return[];const c=[];let a="",o=0;for(;o<e.length;){const f=e[o];if(f==="-"){const B=e[o-1],A=o>1?e[o-2]:void 0;(B==="+"||B==="_")&&A!=="+"?(a+=f,o++):(a?(c.push(a),a=""):c.push("-"),o++)}else a+=f,o++}a&&c.push(a);const s=[];let i=0;for(const f of c)f==="-"?(i%2===0&&s.push("-"),i++):(i=0,s.push(f));return s.every(f=>Ye(f).length>0)?s:[]}function Je(e,t){const{self:l=!1}=t.modifiers??{},c=t.value,a=typeof c=="object"&&c.options||{passive:!0},o=typeof c=="function"||"handleEvent"in c?c:c.handler,s=l?e:t.arg?document.querySelector(t.arg):window;s&&(s.addEventListener("scroll",o,a),e._onScroll=Object(e._onScroll),e._onScroll[t.instance.$.uid]={handler:o,options:a,target:l?void 0:s})}function Qe(e,t){if(!e._onScroll?.[t.instance.$.uid])return;const{handler:l,options:c,target:a=e}=e._onScroll[t.instance.$.uid];a.removeEventListener("scroll",l,c),delete e._onScroll[t.instance.$.uid]}function fo(e,t){t.value!==t.oldValue&&(Qe(e,t),Je(e,t))}const bo={mounted:Je,unmounted:Qe,updated:fo},vo={name:"BookChangeDrawer",props:{direction:{type:String,required:!0}},head(){if(this.isDrawerOpen)return this.prefetchLinks(this.params,this.computedDirection,!0)},computed:{...k(d,["isBTT"]),...k(d,{computedDirection(){return this.normalizeDirection(this.direction)},params(e){return e.routes.books[this.computedDirection]},isDrawerOpen(e){return e.bookChange===this.computedDirection},icon(){return this.bookChangeIcon(this.computedDirection)}}),drawerLocation(){return this.bookChangeLocation(this.direction)},cursorClass(){return this.bookChangeCursorClass(this.computedDirection)},show(){return this.bookChangeShow(this.computedDirection)},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Book")}},methods:{...v(d,["linkLabel","normalizeDirection","prefetchLinks","toRoute","bookChangeLocation","bookChangeCursorClass","bookChangeShow","bookChangeIcon"])}};function yo(e,t,l,c,a,o){const s=h("router-link");return o.show?(u(),m(Ft,{key:0,class:R(["bookChangeDrawer",{drawerActivated:e.isDrawerOpen}]),"disable-resize-watcher":"","disable-route-watcher":"",location:o.drawerLocation,"model-value":e.isDrawerOpen,scrim:!1,temporary:"",touchless:""},{default:g(()=>[r(s,{class:R({navLink:!0,[o.cursorClass]:!0}),to:o.route,"aria-label":o.label,title:o.label,onClick:t[0]||(t[0]=i=>i.stopImmediatePropagation())},{default:g(()=>[r(K,{class:"bookChangeIcon"},{default:g(()=>[w(L(e.icon),1)]),_:1})]),_:1},8,["class","to","aria-label","title"])]),_:1},8,["location","model-value","class"])):T("",!0)}const _o=b(vo,[["render",yo],["__scopeId","data-v-0340b976"]]),Po={name:"BookChangeActivator",components:{BookChangeDrawer:_o},props:{direction:{type:String,required:!0}},computed:{show(){return this.bookChangeShow(this.computedDirection)},computedDirection(){return this.normalizeDirection(this.direction)},positionClass(){return this.bookChangeLocation(this.direction)+"Pos"},cursorClass(){return this.bookChangeCursorClass(this.direction)}},methods:{...v(d,["bookChangeCursorClass","bookChangeLocation","bookChangeShow","normalizeDirection","setBookChangeFlag"])}};function So(e,t,l,c,a,o){const s=h("BookChangeDrawer");return u(),_(D,null,[o.show?(u(),_("div",{key:0,class:R(["changeColumn",{[o.positionClass]:!0,[o.cursorClass]:!0}]),onClick:t[0]||(t[0]=we(i=>e.setBookChangeFlag(l.direction),["stop"]))},null,2)):T("",!0),r(s,{direction:l.direction},null,8,["direction"])],64)}const wo=b(Po,[["render",So],["__scopeId","data-v-67df236c"]]),Co={name:"LoadingPage",components:{Placeholder:qt},props:{twoPages:{type:Boolean,required:!0}}};function To(e,t,l,c,a,o){const s=h("Placeholder");return u(),_("div",{class:R(["pageLoading",{twoPages:l.twoPages}])},[r(s,{class:"pagePlaceholder"})],2)}const Ro=b(Co,[["render",To],["__scopeId","data-v-04027168"]]),me="unauthorized",Bo={name:"ErrorPage",components:{EmptyState:He},props:{twoPages:{type:Boolean,required:!0},type:{type:String,required:!0}},emits:["retry"],computed:{text(){return this.type===me?"Protected page":"Failed to load page"},icon(){return this.type===me?it:lt}},methods:{onAction(e){this.$emit("retry",e)}}};function Do(e,t,l,c,a,o){const s=h("EmptyState");return u(),m(s,{class:R(["pageError",{twoPages:l.twoPages}]),headline:o.text,icon:o.icon,"action-text":"Retry","onClick:action":o.onAction},null,8,["class","headline","icon","onClick:action"])}const Io=b(Bo,[["render",Do],["__scopeId","data-v-97fa48e8"]]),$o={name:"ImgPage",props:{book:{type:Object,required:!0},src:{type:String,required:!0}},emits:["load","error"],computed:{...k(d,{scale:e=>e.clientSettings.scale}),style(){const e={};if(this.scale==1)return e;const t=this.$el;if(!t?.naturalWidth)return e;const l=t.naturalWidth/2;return e.transformOrigin=`${l}px top`,e.transform=`scale(${this.scale})`,e},bookSettings(){return this.getBookSettings(this.book)},classes(){return this.bookSettings.fitToClass}},methods:{...v(d,["getBookSettings"])}},xo=["src"];function Lo(e,t,l,c,a,o){return u(),_("img",ee({class:[o.classes,"img"],draggable:"false",src:l.src,style:o.style},e.$attrs,{onError:t[0]||(t[0]=s=>e.$emit("error",s)),onLoad:t[1]||(t[1]=s=>e.$emit("load",s))}),null,16,xo)}const ke=b($o,[["render",Lo],["__scopeId","data-v-014c2ac0"]]),fe=Ce(Te(()=>Be(()=>import("./pdf-doc-remlTMFH.js"),__vite__mapDeps([0,1,2,3])))),Vo=333,Oo={name:"BookPage",components:{ErrorPage:Io,LoadingPage:Ro,PDFDoc:fe,ImgPage:ke},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},data(){return{showProgress:!1,loaded:!1,error:"",ts:0}},computed:{...k(d,{scale:e=>e.clientSettings.scale}),style(){const e={};if(this.book.fileType==="PDF"||this.scale==1)return e;const t=this.$refs.pageComponent?.$el;return t?.naturalHeight&&(e.height=t.naturalHeight*this.scale+"px",e.width=t.naturalWidth*this.scale+"px"),e},src(){const e=Math.max(this.book.mtime,this.ts),t={pk:this.book.pk,page:this.page,mtime:e};return ct(t)},component(){return this.book.fileType==="PDF"?fe:ke},bookSettings(){return this.getBookSettings(this.book)},twoPages(){return this.bookSettings.twoPages}},mounted(){setTimeout(function(){this.loaded||(this.loading=!0)},Vo)},methods:{...v(d,["getBookSettings"]),onLoad(){this.showProgress=!1,this.loaded=!0,this.error=!1},onError(){this.error="load",this.showProgress=!1},onUnauthorized(){this.error="unauthorized",this.showProgress=!1},onRetry(){this.ts=Date.now()}}},Ao=["id","data-page"];function Eo(e,t,l,c,a,o){const s=h("ErrorPage"),i=h("LoadingPage");return u(),_("div",{id:`page${l.page}`,key:a.ts,"data-page":l.page,class:"page",style:O(o.style)},[a.error?(u(),m(s,{key:0,"two-pages":o.twoPages,type:a.error,onRetry:o.onRetry},null,8,["two-pages","type","onRetry"])):a.showProgress&&!a.loaded?(u(),m(i,{key:1,"two-pages":o.twoPages},null,8,["two-pages"])):(u(),m(Re(o.component),{key:2,ref:"pageComponent",book:l.book,page:1,src:o.src,onError:o.onError,onLoad:o.onLoad,onUnauthorized:o.onUnauthorized},null,40,["book","src","onError","onLoad","onUnauthorized"]))],12,Ao)}const Xe=b(Oo,[["render",Eo],["__scopeId","data-v-cdb69b0e"]]),No=.5,Uo={name:"ScaleForScroll",emits:["click"],data(){return{mdiMagnifyMinusOutline:ut}},computed:{...k(d,{scale:e=>e.clientSettings.scale}),showReset(){return this.scale!=q},style(){return{cursor:this.scale==q?"zoom-in":"all-scroll"}}},methods:{...v(d,["setSettingsClient"]),clearSelection(){globalThis.getSelection&&globalThis.getSelection().removeAllRanges()},onDoubleClick(){this.clearSelection();const e=this.scale+No;this.setSettingsClient({scale:e})},scaleReset(){this.setSettingsClient({scale:q})}}};function Fo(e,t,l,c,a,o){const s=ht("drag-scroller");return $((u(),_("div",{class:"scaleForScroll",style:O(o.style),onDblclick:t[0]||(t[0]=(...i)=>o.onDoubleClick&&o.onDoubleClick(...i))},[dt(e.$slots,"default",{},void 0,!0),o.showReset?(u(),m(K,{key:0,class:"resetIcon",onClick:we(o.scaleReset,["stop"])},{default:g(()=>[w(L(a.mdiMagnifyMinusOutline),1)]),_:1},8,["onClick"])):T("",!0)],36)),[[s,,void 0,{onlyX:!0}]])}const Ze=b(Uo,[["render",Fo],["__scopeId","data-v-88f3df90"]]),Wo={name:"HorizontalPages",components:{BookPage:Xe,ScaleForScroll:Ze},props:{book:{type:Object,required:!0},page:{type:Number,required:!0}},emits:["click"],computed:{bookSettings(){return this.getBookSettings(this.book)},isReadInReverse(){return this.bookSettings.isReadInReverse},showSecondPage(){return this.bookSettings.twoPages&&this.page<this.book.maxPage&&!this.isCoverPage(this.book,this.page)},showPageOne(){return!this.isReadInReverse||this.showSecondPage},showPageTwo(){return this.isReadInReverse||this.showSecondPage},pageOne(){return this.isReadInReverse?this.page+1:this.page},pageTwo(){return this.isReadInReverse?this.page:this.page+1}},methods:{...v(d,["getBookSettings","isCoverPage"])}};function zo(e,t,l,c,a,o){const s=h("BookPage"),i=h("ScaleForScroll");return u(),m(i,{class:"noWrap"},{default:g(()=>[o.showPageOne?(u(),m(s,{key:0,ref:"pageOne",book:l.book,page:o.pageOne,class:"horizontalPage"},null,8,["book","page"])):T("",!0),o.showPageTwo?(u(),m(s,{key:1,book:l.book,page:o.pageTwo,class:"horizontalPage"},null,8,["book","page"])):T("",!0)]),_:1})}const Mo=b(Wo,[["render",zo],["__scopeId","data-v-ce77a1b1"]]),Ko={name:"PageChangeLink",props:{direction:{type:String,required:!0}},head(){return this.prefetchLinks(this.params,this.computedDirection)},computed:{...k(d,["isFirstPage","isLastPage"]),...k(d,{params(e){return e.routes[this.computedDirection]}}),computedDirection(){return this.normalizeDirection(this.direction)},show(){return this.computedDirection==="prev"?!this.isFirstPage:!this.isLastPage},pageChangeClass(){return"pageChangeColumn"},directionClass(){return this.direction},route(){return this.toRoute(this.params)},label(){return this.linkLabel(this.computedDirection,"Page")}},methods:{...v(d,["linkLabel","normalizeDirection","prefetchLinks","toRoute"])}};function Ho(e,t,l,c,a,o){const s=h("router-link");return o.show?(u(),m(s,{key:0,to:o.route,"aria-label":o.label,class:R(["changeColumn",{[o.directionClass]:!0}]),onClick:t[0]||(t[0]=i=>i.stopImmediatePropagation())},null,8,["to","aria-label","class"])):T("",!0)}const jo=b(Ko,[["render",Ho],["__scopeId","data-v-8a0b30bf"]]),qo=48,Go=48,Yo={name:"PagerHorizontal",components:{HorizontalPages:Mo,PageChangeLink:jo},props:{book:{type:Object,required:!0}},data(){return{activePage:0,pages:[]}},computed:{...k(d,{prevBook:e=>e.routes.books?.prev,nextBook:e=>e.routes.books?.next,storePage:e=>e.page,storePk:e=>e.books.current.pk,transition:e=>e.readerSettings.pageTransition}),bookSettings(){return this.getBookSettings(this.book)},twoPages(){return this.bookSettings.twoPages},isReadInReverse(){return this.bookSettings.isReadInReverse},windowIndex(){const e=this.activePage-this.pages[0];return Math.min(Math.max(0,e),this.book.maxPage)}},watch:{twoPages(){this.setActivePage(this.storePage,!0)},storePage(e){if(this.book.pk===this.storePk){this.activePage=e;const t=this.pages.at(0),l=this.pages.at(-1);(e<t||e>l)&&this.setPages()}}},created(){this.book.pk===this.storePk?this.activePage=+this.$route.params.page:this.book.pk===this.prevBook.pk?this.activePage=this.book.maxPage:this.activePage=0,this.setPages()},methods:{...v(d,["getBookSettings","setBookChangeFlag","setActivePage"]),setPages(){const e=Math.max(this.activePage-qo,0),t=Math.min(this.activePage+Go,this.book.maxPage);this.pages=De(e,t+1)}}};function Jo(e,t,l,c,a,o){const s=h("PageChangeLink"),i=h("HorizontalPages");return u(),m(je,{"show-arrows":"",continuous:"","model-value":o.windowIndex,reverse:o.isReadInReverse},{prev:g(()=>[r(s,{direction:"prev"})]),next:g(()=>[r(s,{direction:"next"})]),default:g(()=>[(u(!0),_(D,null,U(a.pages,p=>(u(),m(qe,{key:`c/${l.book.pk}/${p}`,class:"windowItem",disabled:"",eager:p>=e.storePage-1&&p<=e.storePage+2,"model-value":p,transition:e.transition,"reverse-transition":e.transition},{default:g(()=>[r(i,{book:l.book,page:p},null,8,["book","page"])]),_:2},1032,["eager","model-value","transition","reverse-transition"]))),128))]),_:1},8,["model-value","reverse"])}const be=b(Yo,[["render",Jo],["__scopeId","data-v-a55977d3"]]),ve=250,Qo={name:"PagerVertical",components:{BookPage:Xe,ScaleForScroll:Ze},props:{book:{type:Object,required:!0}},data(){return{innerHeight:window.innerHeight,innerWidth:window.innerWidth,intersectorOn:!1,programmaticScroll:!1,intersectOptions:{handler:this.onIntersect,options:{threshold:[.75]}}}},computed:{...k(d,{storePage:e=>e.page,showToolbars:e=>e.showToolbars}),...Ie(d,["reactWithScroll"]),bookSettings(){return this.getBookSettings(this.book)},isReadInReverse(){return this.bookSettings.isReadInReverse},items(){const e=this.book?.maxPage?this.book.maxPage+1:0,t=De(0,e);return this.isReadInReverse&&t.reverse(),t}},watch:{storePage(e){this.reactWithScroll&&this.scrollToPage(e)}},mounted(){window.addEventListener("resize",this.onResize),setTimeout(()=>{this.scrollToPage(this.storePage)},ve)},beforeUnmount(){window.removeEventListener("resize",this.onResize)},methods:{...v(d,["getBookSettings","setActivePage","setBookChangeFlag"]),onIntersect(e,t){if(e&&this.intersectorOn){const c=+t[0].target.dataset.page;this.setActivePage(c,!1)}},onScroll(){if(this.programmaticScroll)return;this.intersectorOn=!0;const e=this.$refs.verticalScroll.$el,t=e.scrollTop;if(this.storePage===0&&t===0)this.setBookChangeFlag("prev");else if(this.storePage===this.book.maxPage){const l=e.scrollTopMax||e.scrollHeight-e.clientTop;window.innerHeight+t+1>=l&&this.setBookChangeFlag("next")}},scrollToPage(e){this.intersectorOn=!1,this.programmaticScroll=!0;const t=this.$refs.verticalScroll;t?t.scrollToIndex(e):console.debug("Can't find verticalScroll component."),setTimeout(()=>{this.programmaticScroll=!1},ve)},onResize(){this.innerHeight=window.innerHeight,this.innerWidth=window.innerWidth}}},Xo=["data-page"];function Zo(e,t,l,c,a,o){const s=h("BookPage"),i=h("ScaleForScroll");return u(),m(i,null,{default:g(()=>[$((u(),m(Zt,{id:"verticalScroll",key:o.isReadInReverse,ref:"verticalScroll",items:o.items,height:a.innerHeight,width:a.innerWidth},{default:g(({item:p})=>[r(s,{book:l.book,page:p,class:"verticalPage"},null,8,["book","page"]),$(n("div",{class:R(["pageTracker",{pageTrackerToolbars:e.showToolbars}]),"data-page":p},null,10,Xo),[[Mt,a.intersectOptions,void 0,{quiet:!0}]])]),_:1},8,["items","height","width"])),[[bo,o.onScroll,"#verticalScroll"]])]),_:1})}const ye=b(Qo,[["render",Zo],["__scopeId","data-v-4fdc17f1"]]),_e=Ce(Te(()=>Be(()=>import("./pager-full-pdf-dMflY9TZ.js"),__vite__mapDeps([4,1,2,0,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42])))),es={name:"PagerSelector",components:{PagerHorizontal:be,PagerPDF:_e,PagerVertical:ye},props:{book:{type:Object,required:!0}},emits:["click"],head(){return this.prefetchBook(this.book)},computed:{...k(d,["cacheBook"]),...k(d,{storePk:e=>e.books?.current?.pk||0}),isActiveBook(){return this.book&&this.storePk===this.book?.pk},bookSettings(){return this.getBookSettings(this.book)},readerFullPdf(){return this.book?.fileType=="PDF"&&this.cacheBook&&!this.bookSettings.isVertical},component(){let e;return this.readerFullPdf?e=_e:this.bookSettings.isVertical?e=ye:e=be,e}},watch:{$route(e){+e.params.pk===this.book.pk&&this.setActivePage(+e.params.page,!0)}},created(){this.isActiveBook&&this.setActivePage(+this.$route.params.page,!0)},methods:{...v(d,["getBookSettings","isBookVertical","setActivePage","prefetchBook"])}};function ts(e,t,l,c,a,o){return u(),m(Re(o.component),{book:l.book},null,8,["book"])}const os=b(es,[["render",ts]]),ss={name:"BooksWindow",components:{BookChangeActivator:wo,Pager:os},computed:{...k(d,["isBTT"]),...k(d,{books:e=>[e.books.prev,e.books.current,e.books.next].filter(Boolean),bookChange:e=>e.bookChange,currentBookPk:e=>e.books?.current?.pk||0,bookRoutes:e=>e.routes.books,transition:e=>e.readerSettings.pageTransition}),bookChangePrev(){return this.bookChangeShow("prev")},bookChangeNext(){return this.bookChangeShow("next")}},watch:{$route(e,t){(!t||!t.params||+e.params.pk!=+t.params.pk)&&this.loadBooks({params:e.params})}},beforeMount(){this.setBookChangeFlag(),this.loadBooks({})},methods:{...v(d,["loadBooks","setBookChangeFlag","toggleToolbars"]),click(){this.toggleToolbars(),this.setBookChangeFlag()},eager(e){return this.bookChange&&this.bookRoutes[this.bookChange]&&this.bookRoutes[this.bookChange].pk===e}}};function as(e,t,l,c,a,o){const s=h("BookChangeActivator"),i=h("Pager");return u(),m(je,{id:"booksWindow",direction:"vertical","model-value":e.currentBookPk,reverse:e.isBTT,"show-arrows":"",onClick:e.toggleToolbars},{prev:g(()=>[r(s,{direction:"prev"})]),next:g(()=>[r(s,{direction:"next"})]),default:g(()=>[(u(!0),_(D,null,U(e.books,p=>(u(),m(qe,{key:`c/${p.pk}`,class:"windowItem",disabled:"",eager:o.eager(p.pk),value:p.pk,transition:e.transition,"reverse-transitin":e.transition},{default:g(()=>[r(i,{book:p,onClick:o.click},null,8,["book","onClick"])]),_:2},1032,["eager","value","transition","reverse-transitin"]))),128))]),_:1},8,["model-value","reverse","onClick"])}const ns=b(ss,[["render",as],["__scopeId","data-v-3b8d07f2"]]),rs={name:"DownloadPanel",components:{CodexListItem:ne,DownloadButton:to},data(){return{mdiDownload:kt,mdiFileImage:mt}},computed:{...k(d,["activeTitle","routeParams"]),...k(d,{currentBook:e=>e.books?.current,fileType:e=>e.books?.current?.fileType,mtime:e=>e.books?.current?.mtime,pk:e=>e.books?.current?.pk,filename:e=>e.books?.current?.filename,storePage:e=>e.page}),pageSrc(){const e={pk:this.pk,page:this.storePage,ts:this.ts};return gt(e)},pageName(){const e=this.fileType==="PDF"?"pdf":"jpg";return`${this.activeTitle} - page ${this.storePage}.${e}`},downloadPageTitle(){return`Download Page ${this.storePage}`},downloadItem(){return{group:"c",ids:[this.pk],childCount:1,name:this.filename,mtime:this.mtime}}},methods:{...v($e,["downloadIOSPWAFix"]),downloadPage(){pt(this.pageSrc,this.pageName)}}},is={key:0,id:"downloadPanel"};function ls(e,t,l,c,a,o){const s=h("CodexListItem"),i=h("DownloadButton");return e.currentBook?(u(),_("div",is,[r(s,{"prepend-icon":a.mdiFileImage,title:o.downloadPageTitle,onClick:o.downloadPage},null,8,["prepend-icon","title","onClick"]),r(i,{button:!1,item:o.downloadItem},null,8,["item"])])):T("",!0)}const cs=b(rs,[["render",ls],["__scopeId","data-v-a873b002"]]),us=ae({color:String,...Me(),...Ae(),...ze(),...Ht({tag:"kbd"}),...Oe(),...We()},"VKbd"),Pe=xe()({name:"VKbd",props:us(),setup(e,t){let{slots:l}=t;const{themeClasses:c}=Le(e),{borderClasses:a}=Ne(e),{roundedClasses:o}=Ue(e),{backgroundColorClasses:s,backgroundColorStyles:i}=Kt(()=>e.color),{elevationClasses:p}=Fe(e);return Ve(()=>r(e.tag,{class:R(["v-kbd",c.value,s.value,a.value,p.value,o.value,e.class]),style:O([i.value,e.style])},l)),{}}});function et(e,t,l){const c=l&&e.mac?e.mac:e.default,a=t==="icon"&&!l||t==="icon"&&!c.icon||t==="symbol"&&!c.symbol?"text":t;let o=c[a]??c.text;return a==="text"&&typeof o=="string"&&o.startsWith("$")&&!o.startsWith("$vuetify.")&&(o=o.slice(1).toUpperCase()),a==="icon"?["icon",o]:[a,o]}const tt={ctrl:{mac:{symbol:"⌃",icon:"$ctrl",text:"$vuetify.hotkey.ctrl"},default:{text:"Ctrl"}},meta:{mac:{symbol:"⌘",icon:"$command",text:"$vuetify.hotkey.command"},default:{text:"Ctrl"}},cmd:{mac:{symbol:"⌘",icon:"$command",text:"$vuetify.hotkey.command"},default:{text:"Ctrl"}},shift:{mac:{symbol:"⇧",icon:"$shift",text:"$vuetify.hotkey.shift"},default:{text:"Shift"}},alt:{mac:{symbol:"⌥",icon:"$alt",text:"$vuetify.hotkey.option"},default:{text:"Alt"}},enter:{default:{symbol:"↵",icon:"$enter",text:"$vuetify.hotkey.enter"}},arrowup:{default:{symbol:"↑",icon:"$arrowup",text:"$vuetify.hotkey.upArrow"}},arrowdown:{default:{symbol:"↓",icon:"$arrowdown",text:"$vuetify.hotkey.downArrow"}},arrowleft:{default:{symbol:"←",icon:"$arrowleft",text:"$vuetify.hotkey.leftArrow"}},arrowright:{default:{symbol:"→",icon:"$arrowright",text:"$vuetify.hotkey.rightArrow"}},backspace:{default:{symbol:"⌫",icon:"$backspace",text:"$vuetify.hotkey.backspace"}},escape:{default:{text:"$vuetify.hotkey.escape"}}," ":{mac:{symbol:"␣",icon:"$space",text:"$vuetify.hotkey.space"},default:{text:"$vuetify.hotkey.space"}},"-":{default:{text:"-"}}},ds=ae({variant:{type:String,default:"elevated",validator:e=>["elevated","flat","tonal","outlined","text","plain","contained"].includes(e)}},"VHotkeyVariant"),hs=ae({keys:String,displayMode:{type:String,default:"icon"},keyMap:{type:Object,default:()=>tt},platform:{type:String,default:"auto"},inline:Boolean,disabled:Boolean,prefix:String,suffix:String,...Ae(),...Oe(),...Me(),...ze(),...We(),...ds(),color:String},"VHotkey");class se{constructor(t){if(["and","then"].includes(t))this.val=t;else throw new Error("Not a valid delineator")}isEqual(t){return this.val===t.val}}function X(e){return e instanceof se}function ps(e){return typeof e=="string"}function gs(e,t,l){const c=t.toLowerCase();if(c in e){const a=et(e[c],"text",l);return typeof a[1]=="string"?a[1]:String(a[1])}return t.toUpperCase()}function Se(e,t,l,c){const a=l.toLowerCase();if(a in e){const o=et(e[a],t,c);return o[0]==="text"&&typeof o[1]=="string"&&o[1].startsWith("$")&&!o[1].startsWith("$vuetify.")?["text",o[1].replace("$","").toUpperCase(),l]:[...o,l]}return["text",l.toUpperCase(),l]}const ms=xe()({name:"VHotkey",props:hs(),setup(e){const{t}=ft(),{themeClasses:l}=Le(e),{rtlClasses:c}=bt(),{borderClasses:a}=Ne(e),{roundedClasses:o}=Ue(e),{elevationClasses:s}=Fe(e),i=x(()=>e.variant==="contained"),p=x(()=>({...e,variant:i.value?"elevated":e.variant})),{colorClasses:f,colorStyles:B,variantClasses:A}=jt(p),W=x(()=>e.platform==="auto"?typeof navigator<"u"&&/macintosh/i.test(navigator.userAgent):e.platform==="mac"),re=x(()=>e.displayMode),H=new se("and"),ie=new se("then"),le=x(()=>e.keyMap),E=x(()=>e.keys?e.keys.split(" ").map(y=>{const P=ko(y);return P.flatMap((S,C)=>{const he=Ye(S).reduce((V,pe,rt)=>rt!==0?[...V,H,pe]:[...V,pe],[]).map(V=>ps(V)?Se(le.value,re.value,V,W.value):V);return C<P.length-1&&he.push(ie),he})}):[]),at=x(()=>{if(!e.keys)return"";const P=E.value.map(S=>{const C=[];for(const I of S)if(X(I))H.isEqual(I)?C.push(t("$vuetify.hotkey.plus")):ie.isEqual(I)&&C.push(t("$vuetify.hotkey.then"));else{const de=I[0]==="icon"||I[0]==="symbol"?Se(vt(tt,e.keyMap),"text",String(I[1]),W.value)[1]:I[1];C.push(j(de))}return C.join(" ")}).join(", ");return t("$vuetify.hotkey.shortcut",P)});function j(y){return y.startsWith("$vuetify.")?t(y):y}function nt(y){if(re.value==="text")return;const P=gs(le.value,String(y[2]),W.value);return j(P)}function ce(y,P,S){const C=S?"kbd":Pe,I=["v-hotkey__key",`v-hotkey__key-${y[0]}`,...S?["v-hotkey__key--nested"]:[a.value,o.value,s.value,f.value]];return r(C,{key:P,class:R(I),style:O(S?void 0:B.value),"aria-hidden":"true",title:nt(y)},{default:()=>[y[0]==="icon"?r(K,{icon:y[1],"aria-hidden":"true"},null):j(y[1])]})}function ue(y,P){return n("span",{key:P,class:"v-hotkey__divider","aria-hidden":"true"},[H.isEqual(y)?"+":t("$vuetify.hotkey.then")])}Ve(()=>n("div",{class:R(["v-hotkey",{"v-hotkey--disabled":e.disabled,"v-hotkey--inline":e.inline,"v-hotkey--contained":i.value},l.value,c.value,A.value,e.class]),style:O(e.style),role:"img","aria-label":at.value},[i.value?r(Pe,{key:"contained",class:R(["v-hotkey__contained-wrapper",a.value,o.value,s.value,f.value]),style:O(B.value),"aria-hidden":"true"},{default:()=>[e.prefix&&n("span",{key:"contained-prefix",class:"v-hotkey__prefix"},[e.prefix]),E.value.map((y,P)=>n("span",{class:"v-hotkey__combination",key:P},[y.map((S,C)=>X(S)?ue(S,C):ce(S,C,!0)),P<E.value.length-1&&n("span",{"aria-hidden":"true"},[w(" ")])])),e.suffix&&n("span",{key:"contained-suffix",class:"v-hotkey__suffix"},[e.suffix])]}):n(D,null,[e.prefix&&n("span",{key:"prefix",class:"v-hotkey__prefix"},[e.prefix]),E.value.map((y,P)=>n("span",{class:"v-hotkey__combination",key:P},[y.map((S,C)=>X(S)?ue(S,C):ce(S,C,!1)),P<E.value.length-1&&n("span",{"aria-hidden":"true"},[w(" ")])])),e.suffix&&n("span",{key:"suffix",class:"v-hotkey__suffix"},[e.suffix])])]))}}),ks={name:"KeyboardShortcutsTable",components:{VHotkey:ms},data(){return{mdiMenuLeft:St,mdiMenuRight:Pt,mdiKeyboardSpace:_t,mdiAppleKeyboardShift:yt}}},fs={class:"highlight-table"},bs={class:"highlight-table"},vs={class:"highlight-table"};function ys(e,t,l,c,a,o){const s=h("v-hotkey");return u(),_(D,null,[t[22]||(t[22]=n("h4",null,"Navigation",-1)),n("table",fs,[n("tbody",null,[n("tr",null,[n("td",null,[r(s,{keys:"j"}),t[0]||(t[0]=w(", ")),r(s,{keys:"arrowleft"}),t[1]||(t[1]=w(", ")),r(s,{keys:"shift+space"})]),t[2]||(t[2]=n("td",null,"Previous page",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"k"}),t[3]||(t[3]=w(", ")),r(s,{keys:"arrowright"}),t[4]||(t[4]=w(", ")),r(s,{keys:"space"})]),t[5]||(t[5]=n("td",null,"Next page",-1))]),n("tr",null,[n("td",null,[r(s,{keys:","})]),t[6]||(t[6]=n("td",null,[w("Next "),n("em",null,"only"),w(" one page in two page mode.")],-1))]),n("tr",null,[n("td",null,[r(s,{keys:"."})]),t[7]||(t[7]=n("td",null,[w("Previous "),n("em",null,"only"),w(" one page in two page mode.")],-1))]),n("tr",null,[n("td",null,[r(s,{keys:"p"})]),t[8]||(t[8]=n("td",null,"Previous Book",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"n"})]),t[9]||(t[9]=n("td",null,"Next Book",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"esc"})]),t[10]||(t[10]=n("td",null,"Close book",-1))])])]),t[23]||(t[23]=n("h4",null,"Fit Page To",-1)),n("table",bs,[n("tbody",null,[n("tr",null,[n("td",null,[r(s,{keys:"s"})]),t[11]||(t[11]=n("td",null,"screen",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"h"})]),t[12]||(t[12]=n("td",null,"screen height",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"w"})]),t[13]||(t[13]=n("td",null,"screen width",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"o"})]),t[14]||(t[14]=n("td",null,"Show page at original size",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"2"})]),t[15]||(t[15]=n("td",null,"Toggle two page view",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"r"})]),t[16]||(t[16]=n("td",null,"Read Right to Left",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"l"})]),t[17]||(t[17]=n("td",null,"Read Left to Right",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"t"})]),t[18]||(t[18]=n("td",null,"Read Top to Bottom",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"b"})]),t[19]||(t[19]=n("td",null,"Read in Bottom to Top",-1))])])]),t[24]||(t[24]=n("h4",null,"Other",-1)),n("table",vs,[n("tbody",null,[n("tr",null,[n("td",null,[r(s,{keys:"m"})]),t[20]||(t[20]=n("td",null,"Show comic's metadata",-1))]),n("tr",null,[n("td",null,[r(s,{keys:"doubleclick"})]),t[21]||(t[21]=n("td",null,"Zoom page",-1))])])])],64)}const _s=b(ks,[["render",ys],["__scopeId","data-v-11cb1561"]]),Ps=/iP(?:ad|hone|od)|Android/,Ss=Ps.test(navigator.userAgent),ws=Ss||globalThis.orientation!==void 0,Cs={name:"KeyboardShortcutsPanel",components:{CodexListItem:ne,KeyboardShortcutsTable:_s},data(){return{mdiKeyboardOutline:wt,IS_MOBILE:ws}}};function Ts(e,t,l,c,a,o){const s=h("CodexListItem"),i=h("KeyboardShortcutsTable");return a.IS_MOBILE?T("",!0):(u(),m(io,{key:0},{default:g(()=>[r(lo,{id:"readerKeyboardShortcuts"},{default:g(()=>[r(co,{id:"shortcutsTitle"},{default:g(()=>[r(s,{id:"keyboardShortcutsItem","prepend-icon":a.mdiKeyboardOutline,title:"Keyboard Shortcuts"},null,8,["prepend-icon"])]),_:1}),r(uo,null,{default:g(()=>[r(i)]),_:1})]),_:1})]),_:1}))}const Rs=b(Cs,[["render",Ts],["__scopeId","data-v-8285795a"]]),ot=["fitTo","readingDirection","twoPages"];Object.freeze(ot);const Bs={name:"ReaderSettingsPanel",components:{CodexListItem:ne},data(){return{isGlobalScope:!1,mdiOpenInNew:Rt,mdiEye:Tt,openDelay:2e3,scopeItems:[{title:"Only this comic",value:!1},{title:"Default for all comics",value:!0}]}},computed:{...k(F,["isAuthDialogOpen"]),...k(d,["isVertical","isPDF","cacheBook"]),...k(d,{choices:e=>e.choices,validBook:e=>!!e.books?.current,selectedSettings(e){return this.isGlobalScope||!e.books?.current?e.readerSettings:e.books?.current.settings},isClearSettingsButtonDisabled(e){if(this.isGlobalScope||!e.books?.current)return!0;for(const t of ot){const l=e.books?.current.settings[t];if(!e.choices.nullValues.has(l))return!1}return!0},pdfInBrowserURL(e){return this.isPDF&&e.books?.current?Ct(e.books?.current):""},finishOnLastPage:e=>e.readerSettings.finishOnLastPage,pageTransition:e=>e.readerSettings.pageTransition}),...Ie(d,["readRtlInReverse"]),fitToChoices(){return this.choicesWithoutNull("fitTo")},readingDirectionChoices(){return this.choicesWithoutNull("readingDirection")},disableTwoPages(){return this.isVertical||this.isPDF&&this.cacheBook},disableCacheBook(){return this.isVertical&&this.isPDF},disablePageTransition(){return this.isVertical&&this.isPDF}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...v(d,["clearSettingsLocal","setSettingsGlobal","setSettingsLocal","setSettingsClient"]),settingsDialogChanged(e){this.isGlobalScope?this.setSettingsGlobal(e):this.setSettingsLocal(e)},choicesWithoutNull(e){const t=[];for(const l of this.choices[e])l.value&&t.push(l);return Object.freeze(t),t},_keyUpListener(e){if(e.stopPropagation(),this.isAuthDialogOpen)return;let t;switch(e.key){case"w":t={fitTo:"W"};break;case"h":t={fitTo:"H"};break;case"s":t={fitTo:"S"};break;case"o":t={fitTo:"O"};break;case"2":t={twoPages:!this.selectedSettings.twoPages};break;case"l":t={readingDirection:"ltr"};break;case"r":t={readingDirection:"rtl"};break;case"t":t={readingDirection:"ttb"};break;case"b":t={readingDirection:"bbt"};break}t&&this.setSettingsLocal(t)}}},Ds={id:"readerScopedSettings",class:"readerCodexListItem"};function Is(e,t,l,c,a,o){const s=h("CodexListItem");return u(),_(D,null,[t[9]||(t[9]=n("h4",{class:"readerSettingsHeader"},"Comic Settings Scope",-1)),r(Y,{modelValue:a.isGlobalScope,"onUpdate:modelValue":t[0]||(t[0]=i=>a.isGlobalScope=i),class:"scopeRadioGroup readerCodexListItem",density:"compact","hide-details":"auto"},{default:g(()=>[(u(!0),_(D,null,U(a.scopeItems,i=>(u(),m(J,{key:i.value,label:i.title,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),r(ho,null,{default:g(()=>[n("div",Ds,[r(Y,{class:"displayRadioGroup",density:"compact",label:"Display","hide-details":"auto","model-value":e.selectedSettings.fitTo,"onUpdate:modelValue":t[1]||(t[1]=i=>o.settingsDialogChanged({fitTo:i}))},{default:g(()=>[(u(!0),_(D,null,U(o.fitToChoices,i=>(u(),m(J,{key:i.value,label:i.title,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),r(N,{disabled:o.disableTwoPages,class:"scopedCheckbox",density:"compact",label:"Two pages","hide-details":"auto","model-value":e.selectedSettings.twoPages,"true-value":!0,indeterminate:e.selectedSettings.twoPages===null||e.selectedSettings.twoPages===void 0,"onUpdate:modelValue":t[2]||(t[2]=i=>o.settingsDialogChanged({twoPages:i}))},null,8,["disabled","model-value","indeterminate"]),r(Y,{class:"displayRadioGroup",density:"compact",label:"Reading Direction","hide-details":"auto","model-value":e.selectedSettings.readingDirection,"onUpdate:modelValue":t[3]||(t[3]=i=>o.settingsDialogChanged({readingDirection:i}))},{default:g(()=>[(u(!0),_(D,null,U(o.readingDirectionChoices,i=>(u(),m(J,{key:i.value,label:i.title,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"]),r(N,{"model-value":e.selectedSettings.readRtlInReverse,class:"scopedCheckbox",density:"compact",label:"Read RTL Comics LTR","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[4]||(t[4]=i=>o.settingsDialogChanged({readRtlInReverse:i}))},null,8,["model-value"]),a.isGlobalScope?T("",!0):$((u(),m(Ke,{key:0,id:"clearSettingsButton",disabled:e.isClearSettingsButtonDisabled,onClick:e.clearSettingsLocal},{default:g(()=>t[8]||(t[8]=[w(" Clear Settings ")])),_:1,__:[8]},8,["disabled","onClick"])),[[Q,{openDelay:a.openDelay,text:"Use the default settings for all comics for this comic"}]])])]),_:1}),r(oe),t[10]||(t[10]=n("h4",{class:"readerSettingsHeader"},"Reader Settings",-1)),r(N,{class:"readerCodexListItem","model-value":e.finishOnLastPage,density:"compact",label:"Finish Book On Last Page","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[5]||(t[5]=i=>e.setSettingsGlobal({finishOnLastPage:i}))},null,8,["model-value"]),$(r(N,{"model-value":e.pageTransition,class:"readerCodexListItem",density:"compact",disabled:o.disablePageTransition,label:"Animate Page Turns","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[6]||(t[6]=i=>e.setSettingsGlobal({pageTransition:i}))},null,8,["model-value","disabled"]),[[Q,{openDelay:a.openDelay,text:"Animate page turns when reading horizontally."}]]),$(r(N,{"model-value":e.cacheBook,class:"readerCodexListItem",density:"compact",disabled:o.disableCacheBook,label:"Cache Entire Book","hide-details":"auto","true-value":!0,"onUpdate:modelValue":t[7]||(t[7]=i=>e.setSettingsClient({cacheBook:i}))},null,8,["model-value","disabled"]),[[Q,{openDelay:a.openDelay,text:"Cache all pages from this book in the browser"}]]),e.pdfInBrowserURL?(u(),m(s,{key:0,"prepend-icon":a.mdiEye,"append-icon":a.mdiOpenInNew,title:"Read in Tab",href:e.pdfInBrowserURL,target:"_blank"},null,8,["prepend-icon","append-icon","href"])):T("",!0)],64)}const $s=b(Bs,[["render",Is],["__scopeId","data-v-252309d7"]]),xs={name:"ReaderSettingsSuperPanel",components:{DownloadPanel:cs,ReaderKeyboardShortcutsPanel:Rs,ReaderSettingsPanel:$s}};function Ls(e,t,l,c,a,o){const s=h("ReaderSettingsPanel"),i=h("ReaderKeyboardShortcutsPanel"),p=h("DownloadPanel");return u(),_(D,null,[r(s),r(oe),r(i),r(oe),r(p)],64)}const Vs=b(xs,[["render",Ls]]),Os={name:"ReaderSettingsDrawer",components:{SettingsDrawer:Wt,ReaderSettingsSuperPanel:Vs}};function As(e,t,l,c,a,o){const s=h("ReaderSettingsSuperPanel"),i=h("SettingsDrawer");return u(),m(i,{title:"Reader",temporary:"","disable-resize-watcher":""},{panel:g(()=>[r(s)]),_:1})}const Es=b(Os,[["render",As]]),Z={a:Lt,f:xt,p:$t,i:It,s:Dt,v:Bt},Ns={name:"ReaderArcSelect",components:{ToolbarSelect:oo},data(){return{mdiFilterOutline:At}},computed:{...k(d,{arc:e=>e.arc,arcs:e=>e.arcs}),items(){const e=[];if(!this.arcs)return e;for(const[t,l]of Object.entries(this.arcs))for(const[c,a]of Object.entries(l)){let o=Vt[t];t!=="s"&&(o=o.slice(0,-1));const s=Z[t],i=t===this.arc?.group&&c==this.arc?.ids?Ot:"",p={group:t,ids:c,prependIcon:s,...a},f={group:t,value:p,title:a.name,subtitle:o,prependIcon:s,appendIcon:i};e.push(f)}return e},arcInfo(){if(!this.arcs||!this.arc)return{};const e=this.arcs[this.arc?.group];return e?e[this.arc?.ids]:{}},arcIcon(){return Z[this.arc?.group]}},methods:{...v(d,["loadBooks"]),onUpdate(e){const t={group:e.group,ids:e.ids.split(",").map(Number)};this.loadBooks({arc:t})},prependIcon(e){return Z[e]}}},Us={id:"arcPos"};function Fs(e,t,l,c,a,o){const s=h("ToolbarSelect");return u(),m(s,{"model-value":e.arc,class:"arcSelect","select-label":"reading order",items:o.items,disabled:!o.items||o.items.length<=1,"onUpdate:modelValue":o.onUpdate},{item:g(({item:i,props:p})=>[r(eo,ee(p,{density:"compact",variant:"plain","prepend-icon":i.raw.prependIcon,subtitle:i.raw.subtitle,"append-icon":i.raw.appendIcon}),null,16,["prepend-icon","subtitle","append-icon"])]),selection:g(({props:i})=>[r(K,ee({icon:o.prependIcon(e.arc.group),size:"large"},i,{class:"arcSelectIcon"}),null,16,["icon"]),n("span",Us,L(e.arc.index)+" / "+L(e.arc.count),1)]),_:1},8,["model-value","items","disabled","onUpdate:modelValue"])}const Ws=b(Ns,[["render",Fs],["__scopeId","data-v-0f33d301"]]),zs={name:"ReaderTitleToolbar",components:{AppBanner:Gt,MetadataDialog:so,ReaderArcSelect:Ws,SettingsDrawerButton:zt},data(){return{mdiClose:Et,routeChanged:!1}},head(){const e=`Read / ${this.activeTitle} / page ${this.storePage}`,t=`reader ${e}`;return{title:e,meta:[{hid:"description",name:"description",content:t}]}},computed:{...k(F,["isAuthDialogOpen"]),...k(d,["activeTitle","closeBookRoute"]),...k(d,{showToolbars:e=>e.showToolbars,currentBook:e=>e.books?.current||{},empty:e=>e.empty,subtitle:e=>e.books?.current?.name||"",storePage:e=>e.page}),title(){return this.activeTitle},extensionHeight(){let e=32;return this.subtitle&&(e*=2),e+=4,e},closeRoute(){const e=te(this.closeBookRoute),t=te(e.params);return delete t.name,e.params=t,e},metadataBook(){const e={...this.currentBook};return e.group="c",e.childCount=0,e}},watch:{$route(e,t){t&&(this.routeChanged=!0)}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...v($e,["setTimestamp"]),...v(d,["routeToDirection","routeToDirectionOne","routeToBook","setBookChangeFlag"]),openMetadata(){this.$refs.metadataDialog.dialog=!0},onCloseBook(){this.routeChanged&&this.setTimestamp()},_keyUpListener(e){if(e.stopPropagation(),!this.isAuthDialogOpen)switch(e.key){case"Escape":this.$refs.closeBook.$el.click();break;case"m":this.empty||this.openMetadata();break}}}},Ms={id:"readerTopToolbarHeader"},Ks={id:"title"},Hs={key:0,id:"subtitle"};function js(e,t,l,c,a,o){const s=h("AppBanner"),i=h("ReaderArcSelect"),p=h("MetadataDialog"),f=h("SettingsDrawerButton");return u(),m(po,null,{default:g(()=>[$(n("header",Ms,[r(s),r(Yt,{id:"readerToolbarTop",density:"compact","extension-height":o.extensionHeight},Nt({default:g(()=>[r(G,null,{default:g(()=>[r(Ke,{ref:"closeBook",class:"closeBook",to:o.closeRoute,size:"large",density:"compact",variant:"plain",onClick:o.onCloseBook},{default:g(()=>t[0]||(t[0]=[w(" close book ")])),_:1,__:[0]},8,["to","onClick"])]),_:1}),r(ao),e.empty?T("",!0):(u(),m(G,{key:0},{default:g(()=>[r(i),r(p,{ref:"metadataDialog",book:o.metadataBook,toolbar:!0},null,8,["book"])]),_:1})),r(G,null,{default:g(()=>[r(f)]),_:1})]),_:2},[o.title?{name:"extension",fn:g(()=>[r(Jt,{class:"readerTitle"},{default:g(()=>[n("div",Ks,L(o.title),1),e.subtitle?(u(),_("div",Hs,L(e.subtitle),1)):T("",!0)]),_:1})]),key:"0"}:void 0]),1032,["extension-height"])],512),[[Ee,e.showToolbars]])]),_:1})}const st=b(zs,[["render",js],["__scopeId","data-v-ac089588"]]),qs={name:"ReaderEmptyBooks",components:{ReaderTopToolbar:st,EmptyState:He},data(){return{mdiBookRemoveOutline:Ut}},methods:{...v(d,["loadBooks","setShowToolbars"]),onAction(){this.loadBooks({mtime:Date.now()})}},created(){this.setShowToolbars()}};function Gs(e,t,l,c,a,o){const s=h("ReaderTopToolbar"),i=h("EmptyState");return u(),_(D,null,[r(s),r(i,{headline:"Book Not Found",title:"Close the reader and find another book",icon:a.mdiBookRemoveOutline,"action-text":"Try to load book again","onClick:action":o.onAction},null,8,["icon","onClick:action"])],64)}const Ys=b(qs,[["render",Gs]]),Js={name:"ReaderBookChangeNavButton",components:{PaginationNavButton:Ge},props:{direction:{type:String,required:!0}},computed:{...k(d,["isBTT"]),...k(d,{toRoute(e){const t=e?.routes?.books[this.direction];return t?{params:te(t)}:""}}),title(){return(this.direction==="prev"?"Previous":"Next")+" Book"},icon(){return this.bookChangeIcon(this.direction)},classes(){return{bookChangeNavButtonLeft:this.direction==="prev",bookChangeNavButtonRight:this.direction==="next"}}},methods:{...v(d,["bookChangeIcon"])}};function Qs(e,t,l,c,a,o){const s=h("PaginationNavButton");return e.toRoute?(u(),m(s,{key:0,class:R(o.classes),icon:o.icon,variant:"plain",title:o.title,to:e.toRoute},null,8,["class","icon","title","to"])):T("",!0)}const Xs=b(Js,[["render",Qs],["__scopeId","data-v-e6c3b493"]]),Zs={name:"ReaderNavButton",components:{PaginationNavButton:Ge},props:{value:{type:Number,required:!0},twoPages:{type:Boolean,default:!1}},computed:{...k(d,["isVertical"]),...k(d,{storePage:e=>e.page,toRoute(e){if(!this.isVertical)return{params:{pk:e.books.current.pk,page:this.value}}},isBookPrev:e=>!!e.routes.books.prev,isBookNext:e=>!!e.routes.books.next}),classes(){return{readerNavButtonLeft:!this.isBookPrev&&this.value===0,readerNavButtonRight:!this.isBookNext&&this.value!=0}},title(){return"Page "+this.value},disabled(){return this.value===this.storePage||this.twoPages&&!!(this.value%2)&&this.value-1===this.storePage}},methods:{...v(d,["setActivePage"]),onClick(){this.isVertical&&this.setActivePage(this.value,!0)}}};function ea(e,t,l,c,a,o){const s=h("PaginationNavButton");return u(),m(s,{key:e.isVertical,disabled:o.disabled,class:R(["readerNavButton",o.classes]),title:o.title,to:e.toRoute,onClick:o.onClick},{default:g(()=>[w(L(l.value),1)]),_:1},8,["disabled","class","title","to","onClick"])}const ta=b(Zs,[["render",ea],["__scopeId","data-v-f60d8fb5"]]),z="prev",M="next",oa={name:"ReaderNavToolbar",components:{PaginationSlider:ro,ReaderNavButton:ta,PaginationToolbar:no,ReaderBookChangeNavButton:Xs},computed:{...k(F,["isAuthDialogOpen"]),...k(d,["activeSettings","isReadInReverse","isVertical"]),...k(d,{showToolbars:e=>e.showToolbars,storePage:e=>e.page,key(e){return`${e.books?.current?.pk}:${this.step}:${this.isReadInReverse}`},maxPage:e=>e.books?.current?.maxPage||0}),twoPages(){return this.activeSettings.twoPages},step(){return this.activeSettings.twoPages?2:1},trackColor(){return this.twoPages&&+this.storePage>=this.maxPage-1?this.$vuetify.theme.current.colors.primary:""},min(){return this.isReadInReverse?this.maxPage:0},max(){return this.isReadInReverse?0:this.maxPage},bookPrev(){return this.isReadInReverse?"next":"prev"},bookNext(){return this.isReadInReverse?"prev":"next"}},mounted(){document.addEventListener("keyup",this._keyUpListener)},beforeUnmount(){document.removeEventListener("keyup",this._keyUpListener)},methods:{...v(d,["routeToBook","routeToDirection","routeToDirectionOne","routeToPage","setActivePage"]),onSliderUpdate(e){this.isVertical?this.setActivePage(e,!0):this.routeToPage(e)},_keyUpListener(e){if(e.stopPropagation(),!this.isAuthDialogOpen)switch(e.key){case" ":!e.shiftKey&&window.innerHeight+window.scrollY+1>=document.body.scrollHeight?this.routeToDirection(M):e.shiftKey&&window.scrollY===0&&this.routeToDirection(z);break;case"j":case"ArrowRight":this.routeToDirection(M);break;case"k":case"ArrowLeft":this.routeToDirection(z);break;case",":this.routeToDirectionOne(z);break;case".":this.routeToDirectionOne(M);break;case"n":this.routeToBook(M);break;case"p":this.routeToBook(z);break}}}};function sa(e,t,l,c,a,o){const s=h("ReaderBookChangeNavButton"),i=h("ReaderNavButton"),p=h("PaginationSlider"),f=h("PaginationToolbar");return u(),m(go,null,{default:g(()=>[e.maxPage?$((u(),m(f,{key:0,id:"readerToolbarNav"},{default:g(()=>[r(s,{direction:o.bookPrev,narrow:!1},null,8,["direction"]),r(i,{value:o.min,"two-pages":o.twoPages},null,8,["value","two-pages"]),(u(),m(p,{key:e.key,"model-value":e.storePage,min:0,max:e.maxPage,step:o.step,"track-color":o.trackColor,reverse:e.isReadInReverse,"onUpdate:modelValue":t[0]||(t[0]=B=>o.onSliderUpdate(B))},null,8,["model-value","max","step","track-color","reverse"])),r(i,{value:o.max,"two-pages":o.twoPages},null,8,["value","two-pages"]),r(s,{direction:o.bookNext,narrow:!1},null,8,["direction"])]),_:1},512)),[[Ee,e.showToolbars]]):T("",!0)]),_:1})}const aa=b(oa,[["render",sa],["__scopeId","data-v-ebe715c2"]]),na={name:"MainReader",components:{BooksWindow:ns,ReaderEmpty:Ys,ReaderNavToolbar:aa,ReaderTopToolbar:st,ReaderSettingsDrawer:Es,Unauthorized:Qt},data(){return{showToolbars:!1}},computed:{...k(F,["isAuthorized"]),...k(F,{user:e=>e.user}),...k(d,{empty:e=>e.empty})},watch:{user(){this.loadReaderSettings()}},created(){this.reset();const e=this.user?0:300,t=this.user;setTimeout(()=>{this.user?.id===t?.id&&this.loadReaderSettings()},e)},methods:{...v(d,["loadReaderSettings","reset"])}},ra={key:0},ia={id:"readerContainer"};function la(e,t,l,c,a,o){const s=h("ReaderTopToolbar"),i=h("BooksWindow"),p=h("ReaderNavToolbar"),f=h("ReaderEmpty"),B=h("ReaderSettingsDrawer"),A=h("Unauthorized");return e.isAuthorized?(u(),m(Xt,{key:0,id:"readerWrapper"},{default:g(()=>[e.empty?(u(),m(f,{key:1})):(u(),_("div",ra,[n("div",ia,[r(s),r(i),r(p)])])),r(B)]),_:1})):(u(),m(A,{key:1}))}const ca=b(na,[["render",la],["__scopeId","data-v-6df2b556"]]),wa=Object.freeze(Object.defineProperty({__proto__:null,default:ca},Symbol.toStringTag,{value:"Module"}));export{jo as P,Ze as S,wa as r};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.bookChangeDrawer[data-v-0340b976]{opacity:.75!important;z-index:15!important}.drawerActivated[data-v-0340b976]{width:33vw!important}.prevCursor[data-v-0340b976]{cursor:n-resize}.nextCursor[data-v-0340b976]{cursor:s-resize}.navLink[data-v-0340b976]{display:block;height:100%}.bookChangeIcon[data-v-0340b976]{top:50%;left:50%;transform:translate(-50%) translateY(-50%);height:25%;width:25%;color:#fff}.changeColumn[data-v-67df236c]{position:fixed;top:48px;height:calc(100vh - 96px);width:33vw}.leftPos[data-v-67df236c]{left:0}.rightPos[data-v-67df236c]{right:0}.upCursor[data-v-67df236c]{cursor:n-resize}.downCursor[data-v-67df236c]{cursor:s-resize}.pageLoading[data-v-04027168]{display:inline-flex;height:100vh;width:100vw;justify-content:center;align-items:center}.twoPages[data-v-04027168]{max-width:50vw}.pagePlaceholder[data-v-04027168]{height:50%!important;width:50%!important}.pageError[data-v-97fa48e8]{height:100vh}.pageError[data-v-97fa48e8] .v-icon,.pageError[data-v-97fa48e8] .v-empty-state__headline{color:rgb(var(--v-theme-error))!important}.twoPages[data-v-97fa48e8]{max-width:50vw}.fitToScreen[data-v-014c2ac0],.fitToScreenTwo[data-v-014c2ac0],.fitToScreenVertical[data-v-014c2ac0]{object-fit:contain}.fitToScreen[data-v-014c2ac0],.fitToScreenTwo[data-v-014c2ac0],.fitToScreenVertical[data-v-014c2ac0],.fitToHeight[data-v-014c2ac0],.fitToHeightTwo[data-v-014c2ac0],.fitToHeightVertical[data-v-014c2ac0]{height:100vh}.fitToScreenTwo[data-v-014c2ac0]{max-width:50vw}.fitToWidth[data-v-014c2ac0],.fitToWidthVertical[data-v-014c2ac0],.fitToScreen[data-v-014c2ac0],.fitToScreenVertical[data-v-014c2ac0]{width:100vw}.fitToWidthTwo[data-v-014c2ac0]{width:50vw}.fitToOrig[data-v-014c2ac0],.fitToOrigTwo[data-v-014c2ac0],.fitToOrigVertical[data-v-014c2ac0]{object-fit:none}.page[data-v-cdb69b0e]{font-size:0}.scaleForScroll[data-v-88f3df90]{overflow:scroll;-webkit-overflow-scrolling:touch}.resetIcon[data-v-88f3df90]{position:fixed;bottom:calc(env(safe-area-inset-bottom) + 45px);right:50%;transform:translate(50%);z-index:200;font-size:50px;color:#fff;filter:drop-shadow(1px 1px 1px black);opacity:.666}.resetIcon[data-v-88f3df90]:hover{opacity:1}.noWrap[data-v-ce77a1b1]{white-space:nowrap}.horizontalPage[data-v-ce77a1b1]{display:inline-block}.changeColumn[data-v-8a0b30bf]{position:fixed;top:48px;height:calc(100vh - 96px);width:33vw}.prev[data-v-8a0b30bf]{left:0;cursor:w-resize}.next[data-v-8a0b30bf]{right:0;cursor:e-resize}.windowItem[data-v-a55977d3]{font-size:0}.verticalPage[data-v-4fdc17f1]{display:block}[data-v-4fdc17f1] .v-virtual-scroll__item{position:relative}.pageTracker[data-v-4fdc17f1]{position:absolute;top:0;z-index:15;width:100%;height:calc((100vh - env(safe-area-inset-bottom))*.95)}.pageTrackerToolbars[data-v-4fdc17f1]{height:calc((100vh - env(safe-area-inset-bottom) - 186px)*.95)!important}[data-v-3b8d07f2] .windowItem{min-height:100vh;text-align:center}[data-v-3b8d07f2] .v-window__controls{position:fixed;top:48px;height:calc(100vh - 96px);padding:0}#downloadPanel[data-v-a873b002]{background-color:rgb(var(--v-theme-background))}.v-hotkey{align-items:center;display:inline-flex;gap:4px;vertical-align:middle;line-height:1.5}.v-hotkey--disabled{opacity:.26}.v-hotkey--inline{align-items:baseline;max-height:1lh;vertical-align:baseline;font-size:1em;line-height:1}.v-hotkey__prefix,.v-hotkey__suffix{opacity:var(--v-medium-emphasis-opacity);font-weight:400;vertical-align:baseline}.v-hotkey--contained .v-hotkey__contained-wrapper{display:inline-flex;align-items:center;gap:2px;padding:.2rem 4px;box-sizing:border-box;background:unset;box-shadow:unset;min-height:1em;font-size:.75rem;line-height:1.5}.v-hotkey--contained .v-hotkey__contained-wrapper .v-hotkey__prefix,.v-hotkey--contained .v-hotkey__contained-wrapper .v-hotkey__suffix{opacity:var(--v-high-emphasis-opacity)}.v-hotkey--contained .v-hotkey__contained-wrapper .v-hotkey__prefix{margin-right:2px}.v-hotkey--contained .v-hotkey__contained-wrapper .v-hotkey__suffix{margin-left:2px}.v-hotkey--contained .v-hotkey__divider{opacity:var(--v-medium-emphasis-opacity);font-size:inherit}.v-hotkey--contained .v-hotkey__combination{display:inline-flex;align-items:center;gap:2px}.v-hotkey--contained.v-hotkey--inline .v-hotkey__contained-wrapper.v-kbd{align-self:baseline;align-items:baseline;font-size:1em;line-height:1;padding:2px 4px;gap:2px;margin-left:0;margin-right:0}.v-hotkey--contained.v-hotkey--inline .v-hotkey__divider{font-size:1em;align-self:baseline}.v-hotkey--contained.v-hotkey--inline .v-hotkey__combination{gap:2px;align-items:baseline}.v-hotkey__key.v-kbd{min-height:unset;font-size:.75rem;line-height:1.5;padding:.2rem;min-width:1.5em}.v-hotkey__key.v-kbd--variant-plain,.v-hotkey__key.v-kbd--variant-outlined,.v-hotkey__key.v-kbd--variant-text,.v-hotkey__key.v-kbd--variant-tonal{background:transparent;color:inherit}.v-hotkey__key.v-kbd--variant-plain{opacity:.62}.v-hotkey__key.v-kbd--variant-plain:focus,.v-hotkey__key.v-kbd--variant-plain:hover{opacity:1}.v-hotkey__key.v-kbd--variant-plain .v-hotkey__overlay{display:none}.v-hotkey__key.v-kbd--variant-elevated,.v-hotkey__key.v-kbd--variant-flat{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-hotkey__key.v-kbd--variant-elevated{box-shadow:0 3px 1px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 2px 2px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 5px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-hotkey__key.v-kbd--variant-flat{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-hotkey__key.v-kbd--variant-outlined{border:thin solid currentColor}.v-hotkey__key.v-kbd--variant-text .v-hotkey__overlay{background:currentColor}.v-hotkey__key.v-kbd--variant-tonal .v-hotkey__underlay{background:currentColor;opacity:var(--v-activated-opacity);border-radius:inherit;inset:0;pointer-events:none}.v-hotkey__key.v-kbd .v-hotkey__underlay{position:absolute}.v-hotkey__key-symbol.v-kbd{line-height:normal;font-size:1em}.v-hotkey__key-icon .v-icon{max-width:.75em;min-width:unset}.v-hotkey__key--nested{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;display:inline-flex;align-items:center;min-width:auto;min-height:auto;align-self:baseline}.v-hotkey__key--nested.v-hotkey__key-icon{align-self:center}.v-hotkey__key--nested .v-icon{max-width:.75em;min-width:unset}.v-hotkey__divider{align-items:center;display:inline-flex;opacity:var(--v-medium-emphasis-opacity);font-size:1em}.v-hotkey__combination{align-self:baseline;display:flex;gap:2px}.v-hotkey--inline .v-hotkey__key-symbol.v-kbd,.v-hotkey--inline .v-hotkey__key-text.v-kbd{align-self:baseline}.v-hotkey--inline .v-hotkey__key.v-kbd{font-size:1em;line-height:1;padding:2px 4px;min-width:20px}.v-hotkey--inline .v-hotkey__key-icon{align-self:stretch}.v-hotkey--inline .v-hotkey__key-icon.v-kbd{padding-top:0;padding-bottom:0}.v-hotkey--inline .v-hotkey__key-icon .v-icon{width:min-content;min-width:fit-content;max-height:calc(1ex + 2px)}.v-hotkey--inline .v-hotkey__key-icon .v-icon .v-icon__svg{height:100%;width:unset}.v-hotkey--inline .v-hotkey__combination{height:inherit;align-self:baseline;display:flex;gap:1px}.v-hotkey--inline .v-hotkey__divider{font-size:1em}.v-hotkey--inline .v-hotkey__prefix,.v-hotkey--inline .v-hotkey__suffix{align-self:baseline;font-size:inherit}.v-hotkey--variant-elevated .v-hotkey__key.v-kbd{box-shadow:0 3px 1px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 2px 2px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 5px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-hotkey--variant-flat .v-hotkey__key.v-kbd{box-shadow:none}.v-hotkey--variant-outlined .v-hotkey__key.v-kbd{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-hotkey--variant-outlined .v-hotkey__key.v-kbd{background:none}.v-hotkey--variant-text .v-hotkey__key.v-kbd{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-hotkey--variant-text .v-hotkey__key.v-kbd{background:transparent!important;border:none!important;padding-left:0;padding-right:0;min-width:auto}.v-hotkey--variant-text .v-hotkey__combination{gap:1px}.v-hotkey--variant-tonal .v-hotkey__key.v-kbd{border:unset;box-shadow:unset}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.v-kbd{font-family:Roboto,sans-serif;align-items:center;align-self:stretch;background:rgb(var(--v-theme-kbd));color:rgb(var(--v-theme-on-kbd));display:inline-flex;font-size:.875em;font-weight:400;line-height:1;justify-content:center;min-height:1em;min-width:20px;padding:3px 6px;vertical-align:baseline;margin-inline:1px}.v-kbd{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:thin}.v-kbd--border{border-width:thin;box-shadow:none}.v-kbd{box-shadow:0 2px 1px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 1px 1px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 3px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-kbd{border-radius:4px}[data-v-11cb1561] .v-expansion-panel-title--active{min-height:48px!important}[data-v-11cb1561] .v-expansion-panel-text__wrapper{padding-left:10px;padding-right:10px}.highlight-table[data-v-11cb1561]{margin-top:10px;border-collapse:collapse;color:rgb(var(--v-theme-textDisabled))}h4[data-v-11cb1561]{padding-left:.5em;color:rgb(var(--v-theme-textSecondary))}.highlight-table tr[data-v-11cb1561]:nth-child(odd){background-color:rgb(var(--v-theme-surface))!important}.highlight-table td[data-v-11cb1561]{min-width:60px;padding:5px}.highlight-table td[data-v-11cb1561]:first-child{text-align:center}.keyIcon[data-v-11cb1561]{margin:0}#readerKeyboardShortcuts[data-v-8285795a]{background-color:rgb(var(--v-theme-background))}#shortcutsTitle[data-v-8285795a]{padding:0 10px 0 17px;font-size:16px}#keyboardShortcutsItem[data-v-8285795a]{padding-left:0}[data-v-8285795a] .v-expansion-panel-title--active{min-height:48px!important}[data-v-8285795a] .v-expansion-panel-text__wrapper{padding-left:10px;padding-right:10px}.readerSettingsHeader[data-v-252309d7]{padding-top:10px;color:rgb(var(--v-theme-textDisabled));padding-left:15px}.scopeRadioGroup[data-v-252309d7]{padding-top:10px;padding-bottom:4px}.scopedCheckbox[data-v-252309d7]{padding-left:6px;padding-top:5px;padding-bottom:10px}.readerCodexListItem[data-v-252309d7]{padding-left:15px;padding-right:env(safe-area-inset-right)}#clearSettingsButton[data-v-252309d7]{margin-top:6px;margin-bottom:4px}#readerScopedSettings[data-v-252309d7]{background-color:rgba(var(--v-theme-surface));margin-left:10px;padding-left:5px;padding-top:4px;margin-right:8px;margin-bottom:5px}.arcSelect[data-v-0f33d301]{min-width:79px}#arcPos[data-v-0f33d301]{height:22.75px;padding-top:4px;font-size:16px;letter-spacing:-.15em}[data-v-0f33d301] .v-select__selection{color:rgb(var(--v-theme-textSecondary))!important}[data-v-0f33d301] .v-select__selection .arcSelectIcon{top:4px;color:rgb(var(--v-theme-textSecondary))}[data-v-0f33d301] .v-select__selection:hover .arcSelectIcon{color:#fff}[data-v-0f33d301] .v-list-item__spacer{max-width:12px}#readerTopToolbarHeader[data-v-ac089588]{position:fixed;width:100%;z-index:20}#readerToolbarTop[data-v-ac089588]{padding-left:0;padding-right:0}.closeBook[data-v-ac089588]{padding-left:max(18px,env(safe-area-inset-left) / 2)}.readerTitle[data-v-ac089588]{padding-left:calc(env(safe-area-inset-left)/2);padding-right:calc(env(safe-area-inset-left)/2);text-align:center;white-space:nowrap;overflow:scroll}.readerTitle[data-v-ac089588]{padding-bottom:4px}#title[data-v-ac089588]{font-size:clamp(18px,3vw,20px)}#subtitle[data-v-ac089588]{font-size:clamp(16px,3vw,18px);color:rgb(var(--v-theme-textSecondary));padding-bottom:10px}@media (max-width: 959.98px){.closeBook[data-v-ac089588]{font-size:small;padding-left:max(10px,env(safe-area-inset-left) / 2)}}.bookChangeNavButtonLeft[data-v-e6c3b493]{padding-left:max(15px,env(safe-area-inset-left) / 3)}.bookChangeNavButtonRight[data-v-e6c3b493]{padding-right:max(15px,env(safe-area-inset-right) / 3)}.readerNavButton[data-v-f60d8fb5]{padding-left:15px;padding-right:15px}.readerNavButtonLeft[data-v-f60d8fb5]{padding-left:max(15px,env(safe-area-inset-left) / 3)!important}.readerNavButtonRight[data-v-f60d8fb5]{padding-right:max(15px,env(safe-area-inset-right) / 3)!important}#readerToolbarNav[data-v-ebe715c2]{padding-left:0;padding-right:0;padding-bottom:env(safe-area-inset-top)}#readerContainer[data-v-6df2b556]{max-width:100%;position:relative}
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.bookChangeDrawer[data-v-0340b976]{opacity:.75!important;z-index:15!important}.drawerActivated[data-v-0340b976]{width:33vw!important}.prevCursor[data-v-0340b976]{cursor:n-resize}.nextCursor[data-v-0340b976]{cursor:s-resize}.navLink[data-v-0340b976]{display:block;height:100%}.bookChangeIcon[data-v-0340b976]{top:50%;left:50%;transform:translate(-50%) translateY(-50%);height:25%;width:25%;color:#fff}.changeColumn[data-v-67df236c]{position:fixed;top:48px;height:calc(100vh - 96px);width:33vw}.leftPos[data-v-67df236c]{left:0}.rightPos[data-v-67df236c]{right:0}.upCursor[data-v-67df236c]{cursor:n-resize}.downCursor[data-v-67df236c]{cursor:s-resize}.pageLoading[data-v-04027168]{display:inline-flex;height:100vh;width:100vw;justify-content:center;align-items:center}.twoPages[data-v-04027168]{max-width:50vw}.pagePlaceholder[data-v-04027168]{height:50%!important;width:50%!important}.pageError[data-v-97fa48e8]{height:100vh}.pageError[data-v-97fa48e8] .v-icon,.pageError[data-v-97fa48e8] .v-empty-state__headline{color:rgb(var(--v-theme-error))!important}.twoPages[data-v-97fa48e8]{max-width:50vw}.fitToScreen[data-v-014c2ac0],.fitToScreenTwo[data-v-014c2ac0],.fitToScreenVertical[data-v-014c2ac0]{object-fit:contain}.fitToScreen[data-v-014c2ac0],.fitToScreenTwo[data-v-014c2ac0],.fitToScreenVertical[data-v-014c2ac0],.fitToHeight[data-v-014c2ac0],.fitToHeightTwo[data-v-014c2ac0],.fitToHeightVertical[data-v-014c2ac0]{height:100vh}.fitToScreenTwo[data-v-014c2ac0]{max-width:50vw}.fitToWidth[data-v-014c2ac0],.fitToWidthVertical[data-v-014c2ac0],.fitToScreen[data-v-014c2ac0],.fitToScreenVertical[data-v-014c2ac0]{width:100vw}.fitToWidthTwo[data-v-014c2ac0]{width:50vw}.fitToOrig[data-v-014c2ac0],.fitToOrigTwo[data-v-014c2ac0],.fitToOrigVertical[data-v-014c2ac0]{object-fit:none}.page[data-v-cdb69b0e]{font-size:0}.scaleForScroll[data-v-88f3df90]{overflow:scroll;-webkit-overflow-scrolling:touch}.resetIcon[data-v-88f3df90]{position:fixed;bottom:calc(env(safe-area-inset-bottom) + 45px);right:50%;transform:translate(50%);z-index:200;font-size:50px;color:#fff;filter:drop-shadow(1px 1px 1px black);opacity:.666}.resetIcon[data-v-88f3df90]:hover{opacity:1}.noWrap[data-v-ce77a1b1]{white-space:nowrap}.horizontalPage[data-v-ce77a1b1]{display:inline-block}.changeColumn[data-v-8a0b30bf]{position:fixed;top:48px;height:calc(100vh - 96px);width:33vw}.prev[data-v-8a0b30bf]{left:0;cursor:w-resize}.next[data-v-8a0b30bf]{right:0;cursor:e-resize}.windowItem[data-v-a55977d3]{font-size:0}.verticalPage[data-v-4fdc17f1]{display:block}[data-v-4fdc17f1] .v-virtual-scroll__item{position:relative}.pageTracker[data-v-4fdc17f1]{position:absolute;top:0;z-index:15;width:100%;height:calc((100vh - env(safe-area-inset-bottom))*.95)}.pageTrackerToolbars[data-v-4fdc17f1]{height:calc((100vh - env(safe-area-inset-bottom) - 186px)*.95)!important}[data-v-3b8d07f2] .windowItem{min-height:100vh;text-align:center}[data-v-3b8d07f2] .v-window__controls{position:fixed;top:48px;height:calc(100vh - 96px);padding:0}#downloadPanel[data-v-a873b002]{background-color:rgb(var(--v-theme-background))}.v-hotkey{align-items:center;display:inline-flex;gap:4px;vertical-align:middle;line-height:1.5}.v-hotkey--disabled{opacity:.26}.v-hotkey--inline{align-items:baseline;max-height:1lh;vertical-align:baseline;font-size:1em;line-height:1}.v-hotkey__prefix,.v-hotkey__suffix{opacity:var(--v-medium-emphasis-opacity);font-weight:400;vertical-align:baseline}.v-hotkey--contained .v-hotkey__contained-wrapper{display:inline-flex;align-items:center;gap:2px;padding:.2rem 4px;box-sizing:border-box;background:unset;box-shadow:unset;min-height:1em;font-size:.75rem;line-height:1.5}.v-hotkey--contained .v-hotkey__contained-wrapper .v-hotkey__prefix,.v-hotkey--contained .v-hotkey__contained-wrapper .v-hotkey__suffix{opacity:var(--v-high-emphasis-opacity)}.v-hotkey--contained .v-hotkey__contained-wrapper .v-hotkey__prefix{margin-right:2px}.v-hotkey--contained .v-hotkey__contained-wrapper .v-hotkey__suffix{margin-left:2px}.v-hotkey--contained .v-hotkey__divider{opacity:var(--v-medium-emphasis-opacity);font-size:inherit}.v-hotkey--contained .v-hotkey__combination{display:inline-flex;align-items:center;gap:2px}.v-hotkey--contained.v-hotkey--inline .v-hotkey__contained-wrapper.v-kbd{align-self:baseline;align-items:baseline;font-size:1em;line-height:1;padding:2px 4px;gap:2px;margin-left:0;margin-right:0}.v-hotkey--contained.v-hotkey--inline .v-hotkey__divider{font-size:1em;align-self:baseline}.v-hotkey--contained.v-hotkey--inline .v-hotkey__combination{gap:2px;align-items:baseline}.v-hotkey__key.v-kbd{min-height:unset;font-size:.75rem;line-height:1.5;padding:.2rem;min-width:1.5em}.v-hotkey__key.v-kbd--variant-plain,.v-hotkey__key.v-kbd--variant-outlined,.v-hotkey__key.v-kbd--variant-text,.v-hotkey__key.v-kbd--variant-tonal{background:transparent;color:inherit}.v-hotkey__key.v-kbd--variant-plain{opacity:.62}.v-hotkey__key.v-kbd--variant-plain:focus,.v-hotkey__key.v-kbd--variant-plain:hover{opacity:1}.v-hotkey__key.v-kbd--variant-plain .v-hotkey__overlay{display:none}.v-hotkey__key.v-kbd--variant-elevated,.v-hotkey__key.v-kbd--variant-flat{background:rgb(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-hotkey__key.v-kbd--variant-elevated{box-shadow:0 3px 1px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 2px 2px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 5px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-hotkey__key.v-kbd--variant-flat{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-hotkey__key.v-kbd--variant-outlined{border:thin solid currentColor}.v-hotkey__key.v-kbd--variant-text .v-hotkey__overlay{background:currentColor}.v-hotkey__key.v-kbd--variant-tonal .v-hotkey__underlay{background:currentColor;opacity:var(--v-activated-opacity);border-radius:inherit;inset:0;pointer-events:none}.v-hotkey__key.v-kbd .v-hotkey__underlay{position:absolute}.v-hotkey__key-symbol.v-kbd{line-height:normal;font-size:1em}.v-hotkey__key-icon .v-icon{max-width:.75em;min-width:unset}.v-hotkey__key--nested{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;display:inline-flex;align-items:center;min-width:auto;min-height:auto;align-self:baseline}.v-hotkey__key--nested.v-hotkey__key-icon{align-self:center}.v-hotkey__key--nested .v-icon{max-width:.75em;min-width:unset}.v-hotkey__divider{align-items:center;display:inline-flex;opacity:var(--v-medium-emphasis-opacity);font-size:1em}.v-hotkey__combination{align-self:baseline;display:flex;gap:2px}.v-hotkey--inline .v-hotkey__key-symbol.v-kbd,.v-hotkey--inline .v-hotkey__key-text.v-kbd{align-self:baseline}.v-hotkey--inline .v-hotkey__key.v-kbd{font-size:1em;line-height:1;padding:2px 4px;min-width:20px}.v-hotkey--inline .v-hotkey__key-icon{align-self:stretch}.v-hotkey--inline .v-hotkey__key-icon.v-kbd{padding-top:0;padding-bottom:0}.v-hotkey--inline .v-hotkey__key-icon .v-icon{width:min-content;min-width:fit-content;max-height:calc(1ex + 2px)}.v-hotkey--inline .v-hotkey__key-icon .v-icon .v-icon__svg{height:100%;width:unset}.v-hotkey--inline .v-hotkey__combination{height:inherit;align-self:baseline;display:flex;gap:1px}.v-hotkey--inline .v-hotkey__divider{font-size:1em}.v-hotkey--inline .v-hotkey__prefix,.v-hotkey--inline .v-hotkey__suffix{align-self:baseline;font-size:inherit}.v-hotkey--variant-elevated .v-hotkey__key.v-kbd{box-shadow:0 3px 1px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 2px 2px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 5px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-hotkey--variant-flat .v-hotkey__key.v-kbd{box-shadow:none}.v-hotkey--variant-outlined .v-hotkey__key.v-kbd{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-hotkey--variant-outlined .v-hotkey__key.v-kbd{background:none}.v-hotkey--variant-text .v-hotkey__key.v-kbd{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-hotkey--variant-text .v-hotkey__key.v-kbd{background:transparent!important;border:none!important;padding-left:0;padding-right:0;min-width:auto}.v-hotkey--variant-text .v-hotkey__combination{gap:1px}.v-hotkey--variant-tonal .v-hotkey__key.v-kbd{border:unset;box-shadow:unset}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.v-kbd{font-family:Roboto,sans-serif;align-items:center;align-self:stretch;background:rgb(var(--v-theme-kbd));color:rgb(var(--v-theme-on-kbd));display:inline-flex;font-size:.875em;font-weight:400;line-height:1;justify-content:center;min-height:1em;min-width:20px;padding:3px 6px;vertical-align:baseline;margin-inline:1px}.v-kbd{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:thin}.v-kbd--border{border-width:thin;box-shadow:none}.v-kbd{box-shadow:0 2px 1px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 1px 1px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 3px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-kbd{border-radius:4px}[data-v-11cb1561] .v-expansion-panel-title--active{min-height:48px!important}[data-v-11cb1561] .v-expansion-panel-text__wrapper{padding-left:10px;padding-right:10px}.highlight-table[data-v-11cb1561]{margin-top:10px;border-collapse:collapse;color:rgb(var(--v-theme-textDisabled))}h4[data-v-11cb1561]{padding-left:.5em;color:rgb(var(--v-theme-textSecondary))}.highlight-table tr[data-v-11cb1561]:nth-child(odd){background-color:rgb(var(--v-theme-surface))!important}.highlight-table td[data-v-11cb1561]{min-width:60px;padding:5px}.highlight-table td[data-v-11cb1561]:first-child{text-align:center}.keyIcon[data-v-11cb1561]{margin:0}#readerKeyboardShortcuts[data-v-8285795a]{background-color:rgb(var(--v-theme-background))}#shortcutsTitle[data-v-8285795a]{padding:0 10px 0 17px;font-size:16px}#keyboardShortcutsItem[data-v-8285795a]{padding-left:0}[data-v-8285795a] .v-expansion-panel-title--active{min-height:48px!important}[data-v-8285795a] .v-expansion-panel-text__wrapper{padding-left:10px;padding-right:10px}.readerSettingsHeader[data-v-252309d7]{padding-top:10px;color:rgb(var(--v-theme-textDisabled));padding-left:15px}.scopeRadioGroup[data-v-252309d7]{padding-top:10px;padding-bottom:4px}.scopedCheckbox[data-v-252309d7]{padding-left:6px;padding-top:5px;padding-bottom:10px}.readerCodexListItem[data-v-252309d7]{padding-left:15px;padding-right:env(safe-area-inset-right)}#clearSettingsButton[data-v-252309d7]{margin-top:6px;margin-bottom:4px}#readerScopedSettings[data-v-252309d7]{background-color:rgba(var(--v-theme-surface));margin-left:10px;padding-left:5px;padding-top:4px;margin-right:8px;margin-bottom:5px}.arcSelect[data-v-0f33d301]{min-width:79px}#arcPos[data-v-0f33d301]{height:22.75px;padding-top:4px;font-size:16px;letter-spacing:-.15em}[data-v-0f33d301] .v-select__selection{color:rgb(var(--v-theme-textSecondary))!important}[data-v-0f33d301] .v-select__selection .arcSelectIcon{top:4px;color:rgb(var(--v-theme-textSecondary))}[data-v-0f33d301] .v-select__selection:hover .arcSelectIcon{color:#fff}[data-v-0f33d301] .v-list-item__spacer{max-width:12px}#readerTopToolbarHeader[data-v-ac089588]{position:fixed;width:100%;z-index:20}#readerToolbarTop[data-v-ac089588]{padding-left:0;padding-right:0}.closeBook[data-v-ac089588]{padding-left:max(18px,env(safe-area-inset-left) / 2)}.readerTitle[data-v-ac089588]{padding-left:calc(env(safe-area-inset-left)/2);padding-right:calc(env(safe-area-inset-left)/2);text-align:center;white-space:nowrap;overflow:scroll}.readerTitle[data-v-ac089588]{padding-bottom:4px}#title[data-v-ac089588]{font-size:clamp(18px,3vw,20px)}#subtitle[data-v-ac089588]{font-size:clamp(16px,3vw,18px);color:rgb(var(--v-theme-textSecondary));padding-bottom:10px}@media (max-width: 959.98px){.closeBook[data-v-ac089588]{font-size:small;padding-left:max(10px,env(safe-area-inset-left) / 2)}}.bookChangeNavButtonLeft[data-v-e6c3b493]{padding-left:max(15px,env(safe-area-inset-left) / 3)}.bookChangeNavButtonRight[data-v-e6c3b493]{padding-right:max(15px,env(safe-area-inset-right) / 3)}.readerNavButton[data-v-f60d8fb5]{padding-left:15px;padding-right:15px}.readerNavButtonLeft[data-v-f60d8fb5]{padding-left:max(15px,env(safe-area-inset-left) / 3)!important}.readerNavButtonRight[data-v-f60d8fb5]{padding-right:max(15px,env(safe-area-inset-right) / 3)!important}#readerToolbarNav[data-v-ebe715c2]{padding-left:0;padding-right:0;padding-bottom:env(safe-area-inset-top)}#readerContainer[data-v-6df2b556]{max-width:100%;position:relative}
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.cuForm[data-v-b61575f9]{padding:20px;max-height:100%;overflow-y:scroll}.include[data-v-fe7786ef]{background-color:rgb(var(--v-theme-includeGroup))}.exclude[data-v-fe7786ef]{background-color:rgb(var(--v-theme-excludeGroup))}.adminTable[data-v-8b5d9183] thead>tr>th{background-color:rgb(var(--v-theme-background))!important}[data-v-8b5d9183] .adminNoData{padding:1em;text-align:center}.v-data-table{width:100%}.v-data-table__table{width:100%;border-collapse:separate;border-spacing:0}.v-data-table__tr--focus{border:1px dotted black}.v-data-table__tr--clickable{cursor:pointer}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--align-end,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--align-end,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--align-end,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--align-end{text-align:end}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--align-end .v-data-table-header__content,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--align-end .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--align-end .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--align-end .v-data-table-header__content{flex-direction:row-reverse}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--align-center,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--align-center,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--align-center,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--align-center{text-align:center}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--align-center .v-data-table-header__content,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--align-center .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--align-center .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--align-center .v-data-table-header__content{justify-content:center}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--no-padding,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--no-padding,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--no-padding,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--no-padding{padding:0 8px}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--nowrap,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--nowrap,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--nowrap,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--nowrap{text-overflow:ellipsis;text-wrap:nowrap;overflow:hidden}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--nowrap .v-data-table-header__content,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--nowrap .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--nowrap .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--nowrap .v-data-table-header__content{display:contents}.v-data-table .v-table__wrapper>table>thead>tr>th,.v-data-table .v-table__wrapper>table tbody>tr>th{align-items:center}.v-data-table .v-table__wrapper>table>thead>tr>th.v-data-table__th--fixed,.v-data-table .v-table__wrapper>table tbody>tr>th.v-data-table__th--fixed{position:sticky}.v-data-table .v-table__wrapper>table>thead>tr>th.v-data-table__th--sortable:hover,.v-data-table .v-table__wrapper>table>thead>tr>th.v-data-table__th--sortable:focus,.v-data-table .v-table__wrapper>table tbody>tr>th.v-data-table__th--sortable:hover,.v-data-table .v-table__wrapper>table tbody>tr>th.v-data-table__th--sortable:focus{cursor:pointer;color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-data-table .v-table__wrapper>table>thead>tr>th:not(.v-data-table__th--sorted) .v-data-table-header__sort-icon,.v-data-table .v-table__wrapper>table tbody>tr>th:not(.v-data-table__th--sorted) .v-data-table-header__sort-icon{opacity:0}.v-data-table .v-table__wrapper>table>thead>tr>th:not(.v-data-table__th--sorted):hover .v-data-table-header__sort-icon,.v-data-table .v-table__wrapper>table>thead>tr>th:not(.v-data-table__th--sorted):focus .v-data-table-header__sort-icon,.v-data-table .v-table__wrapper>table tbody>tr>th:not(.v-data-table__th--sorted):hover .v-data-table-header__sort-icon,.v-data-table .v-table__wrapper>table tbody>tr>th:not(.v-data-table__th--sorted):focus .v-data-table-header__sort-icon{opacity:.5}.v-data-table .v-table__wrapper>table>thead>tr.v-data-table__tr--mobile>td,.v-data-table .v-table__wrapper>table tbody>tr.v-data-table__tr--mobile>td{height:fit-content}.v-data-table-column--fixed,.v-data-table-column--fixed-end,.v-data-table__th--sticky{background:rgb(var(--v-theme-surface));position:sticky!important;left:0;z-index:1}.v-data-table-column--fixed-end{left:unset;right:0}.v-data-table-column--last-fixed{border-right:1px solid rgba(var(--v-border-color),var(--v-border-opacity))}.v-data-table-column--first-fixed-end{border-left:1px solid rgba(var(--v-border-color),var(--v-border-opacity))}.v-data-table.v-table--fixed-header>.v-table__wrapper>table>thead>tr>th.v-data-table-column--fixed,.v-data-table.v-table--fixed-header>.v-table__wrapper>table>thead>tr>th.v-data-table-column--fixed-end{z-index:2}.v-data-table-group-header-row td{background:rgba(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface))}.v-data-table-group-header-row td>span{padding-left:5px}.v-data-table--loading .v-data-table__td{opacity:var(--v-disabled-opacity)}.v-data-table-group-header-row__column{padding-left:calc(var(--v-data-table-group-header-row-depth) * 16px)!important}.v-data-table-header__content{display:flex;align-items:center}.v-data-table-header__sort-badge{display:inline-flex;justify-content:center;align-items:center;font-size:.875rem;padding:4px;border-radius:50%;background:rgba(var(--v-border-color),var(--v-border-opacity));min-width:20px;min-height:20px;width:20px;height:20px}.v-data-table-progress>th{border:none!important;height:auto!important;padding:0!important}.v-data-table-progress__loader{position:relative}.v-data-table-rows-loading,.v-data-table-rows-no-data{text-align:center}.v-data-table__tr--mobile>.v-data-table__td--expanded-row{grid-template-columns:auto;justify-content:center}.v-data-table__tr--mobile>.v-data-table__td--select-row{grid-template-columns:0;justify-content:end}.v-data-table__tr--mobile>td{align-items:center;column-gap:4px;display:grid;grid-template-columns:repeat(2,1fr);min-height:var(--v-table-row-height)}.v-data-table__tr--mobile>td:not(:last-child){border-bottom:0!important}.v-data-table__td-title{font-weight:500;text-align:start}.v-data-table__td-value{text-align:end}.v-data-table__td-sort-icon{color:rgba(var(--v-theme-on-surface),var(--v-disabled-opacity))}.v-data-table__td-sort-icon-active{color:rgba(var(--v-theme-on-surface))}.v-data-table-footer{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:8px 4px}.v-data-table-footer__items-per-page{align-items:center;display:flex;justify-content:center}.v-data-table-footer__items-per-page>span{padding-inline-end:8px}.v-data-table-footer__items-per-page>.v-select{width:90px}.v-data-table-footer__info{display:flex;justify-content:flex-end;min-width:116px;padding:0 16px}.v-data-table-footer__paginationz{align-items:center;display:flex;margin-inline-start:16px}.v-data-table-footer__page{padding:0 8px}.v-pagination__list{display:inline-flex;list-style-type:none;justify-content:center;width:100%}.v-pagination__item,.v-pagination__first,.v-pagination__prev,.v-pagination__next,.v-pagination__last{margin:.3rem}
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.cuForm[data-v-b61575f9]{padding:20px;max-height:100%;overflow-y:scroll}.include[data-v-fe7786ef]{background-color:rgb(var(--v-theme-includeGroup))}.exclude[data-v-fe7786ef]{background-color:rgb(var(--v-theme-excludeGroup))}.adminTable[data-v-8b5d9183] thead>tr>th{background-color:rgb(var(--v-theme-background))!important}[data-v-8b5d9183] .adminNoData{padding:1em;text-align:center}.v-data-table{width:100%}.v-data-table__table{width:100%;border-collapse:separate;border-spacing:0}.v-data-table__tr--focus{border:1px dotted black}.v-data-table__tr--clickable{cursor:pointer}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--align-end,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--align-end,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--align-end,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--align-end{text-align:end}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--align-end .v-data-table-header__content,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--align-end .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--align-end .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--align-end .v-data-table-header__content{flex-direction:row-reverse}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--align-center,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--align-center,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--align-center,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--align-center{text-align:center}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--align-center .v-data-table-header__content,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--align-center .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--align-center .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--align-center .v-data-table-header__content{justify-content:center}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--no-padding,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--no-padding,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--no-padding,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--no-padding{padding:0 8px}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--nowrap,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--nowrap,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--nowrap,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--nowrap{text-overflow:ellipsis;text-wrap:nowrap;overflow:hidden}.v-data-table .v-table__wrapper>table>thead>tr>td.v-data-table-column--nowrap .v-data-table-header__content,.v-data-table .v-table__wrapper>table>thead>tr th.v-data-table-column--nowrap .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr>td.v-data-table-column--nowrap .v-data-table-header__content,.v-data-table .v-table__wrapper>table tbody>tr th.v-data-table-column--nowrap .v-data-table-header__content{display:contents}.v-data-table .v-table__wrapper>table>thead>tr>th,.v-data-table .v-table__wrapper>table tbody>tr>th{align-items:center}.v-data-table .v-table__wrapper>table>thead>tr>th.v-data-table__th--fixed,.v-data-table .v-table__wrapper>table tbody>tr>th.v-data-table__th--fixed{position:sticky}.v-data-table .v-table__wrapper>table>thead>tr>th.v-data-table__th--sortable:hover,.v-data-table .v-table__wrapper>table>thead>tr>th.v-data-table__th--sortable:focus,.v-data-table .v-table__wrapper>table tbody>tr>th.v-data-table__th--sortable:hover,.v-data-table .v-table__wrapper>table tbody>tr>th.v-data-table__th--sortable:focus{cursor:pointer;color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-data-table .v-table__wrapper>table>thead>tr>th:not(.v-data-table__th--sorted) .v-data-table-header__sort-icon,.v-data-table .v-table__wrapper>table tbody>tr>th:not(.v-data-table__th--sorted) .v-data-table-header__sort-icon{opacity:0}.v-data-table .v-table__wrapper>table>thead>tr>th:not(.v-data-table__th--sorted):hover .v-data-table-header__sort-icon,.v-data-table .v-table__wrapper>table>thead>tr>th:not(.v-data-table__th--sorted):focus .v-data-table-header__sort-icon,.v-data-table .v-table__wrapper>table tbody>tr>th:not(.v-data-table__th--sorted):hover .v-data-table-header__sort-icon,.v-data-table .v-table__wrapper>table tbody>tr>th:not(.v-data-table__th--sorted):focus .v-data-table-header__sort-icon{opacity:.5}.v-data-table .v-table__wrapper>table>thead>tr.v-data-table__tr--mobile>td,.v-data-table .v-table__wrapper>table tbody>tr.v-data-table__tr--mobile>td{height:fit-content}.v-data-table-column--fixed,.v-data-table-column--fixed-end,.v-data-table__th--sticky{background:rgb(var(--v-theme-surface));position:sticky!important;left:0;z-index:1}.v-data-table-column--fixed-end{left:unset;right:0}.v-data-table-column--last-fixed{border-right:1px solid rgba(var(--v-border-color),var(--v-border-opacity))}.v-data-table-column--first-fixed-end{border-left:1px solid rgba(var(--v-border-color),var(--v-border-opacity))}.v-data-table.v-table--fixed-header>.v-table__wrapper>table>thead>tr>th.v-data-table-column--fixed,.v-data-table.v-table--fixed-header>.v-table__wrapper>table>thead>tr>th.v-data-table-column--fixed-end{z-index:2}.v-data-table-group-header-row td{background:rgba(var(--v-theme-surface));color:rgba(var(--v-theme-on-surface))}.v-data-table-group-header-row td>span{padding-left:5px}.v-data-table--loading .v-data-table__td{opacity:var(--v-disabled-opacity)}.v-data-table-group-header-row__column{padding-left:calc(var(--v-data-table-group-header-row-depth) * 16px)!important}.v-data-table-header__content{display:flex;align-items:center}.v-data-table-header__sort-badge{display:inline-flex;justify-content:center;align-items:center;font-size:.875rem;padding:4px;border-radius:50%;background:rgba(var(--v-border-color),var(--v-border-opacity));min-width:20px;min-height:20px;width:20px;height:20px}.v-data-table-progress>th{border:none!important;height:auto!important;padding:0!important}.v-data-table-progress__loader{position:relative}.v-data-table-rows-loading,.v-data-table-rows-no-data{text-align:center}.v-data-table__tr--mobile>.v-data-table__td--expanded-row{grid-template-columns:auto;justify-content:center}.v-data-table__tr--mobile>.v-data-table__td--select-row{grid-template-columns:0;justify-content:end}.v-data-table__tr--mobile>td{align-items:center;column-gap:4px;display:grid;grid-template-columns:repeat(2,1fr);min-height:var(--v-table-row-height)}.v-data-table__tr--mobile>td:not(:last-child){border-bottom:0!important}.v-data-table__td-title{font-weight:500;text-align:start}.v-data-table__td-value{text-align:end}.v-data-table__td-sort-icon{color:rgba(var(--v-theme-on-surface),var(--v-disabled-opacity))}.v-data-table__td-sort-icon-active{color:rgba(var(--v-theme-on-surface))}.v-data-table-footer{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:8px 4px}.v-data-table-footer__items-per-page{align-items:center;display:flex;justify-content:center}.v-data-table-footer__items-per-page>span{padding-inline-end:8px}.v-data-table-footer__items-per-page>.v-select{width:90px}.v-data-table-footer__info{display:flex;justify-content:flex-end;min-width:116px;padding:0 16px}.v-data-table-footer__paginationz{align-items:center;display:flex;margin-inline-start:16px}.v-data-table-footer__page{padding:0 8px}.v-pagination__list{display:inline-flex;list-style-type:none;justify-content:center;width:100%}.v-pagination__item,.v-pagination__first,.v-pagination__prev,.v-pagination__next,.v-pagination__last{margin:.3rem}
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{bL as qt,_ as Z,bM as Kt,x as M,m as V,w as ae,v as N,b,A as Oe,B as Ze,bN as ze,L as Me,s as se,a as S,H as Ut,d as J,r as Y,bO as Wt,g as U,p as B,e as Q,aB as oe,aC as Yt,az as Jt,bo as pe,aT as fe,f as ve,be as Qt,c as _,b6 as ie,t as I,u as ee,n as et,aA as Xt,J as Zt,K as j,b8 as qe,aW as Ke,aU as $e,bP as tt,b7 as Fe,i as le,aV as ne,bQ as ea,h as A,bi as ta,bR as aa,bS as la,bD as Re,bE as at,bT as me,bU as ue,F as X,br as Le,y as Ue,bV as Ae,aa as de,bW as ce,bX as lt,o as na,V as ra,z as nt,a5 as sa,bY as oa,q as We}from"./main-0gkU-bgy.js";import{V as z,B as ia,d as ua,G as da,j as ca,v as fa,e as va,w as ma,E as ga,c as ba,L as ha,J as ya,k as Ye}from"./forwardRefs-BjkhALLr.js";import{S as pa,V as xa}from"./VForm-Bhq1UjFg.js";import{useAdminStore as rt}from"./admin-CJauEn2X.js";import{V as Sa}from"./VDialog-N7erUTvb.js";import{d as st,c as Ne,g as wa,h as Pa,i as ka}from"./VSelect-C857NCMc.js";import{V as Ge}from"./VCheckboxBtn-BwlWS4y9.js";import{m as _a,V as ge}from"./VTable-CwYzcGki.js";import{m as ot,u as it}from"./filter-OaiDOf0D.js";import{a as Da}from"./VDivider-DFsQRi0x.js";import{C as Ia}from"./confirm-dialog-Dy-4G4rU.js";function Je(e,l,t){return Object.keys(e).filter(a=>qt(a)&&a.endsWith(l)).reduce((a,n)=>(a[n.slice(0,-l.length)]=o=>e[n](o,t(o)),a),{})}const Ta={name:"AdminCreateUpdateButton",props:{update:{type:Boolean,default:!1},table:{type:String,required:!0},size:{type:String,default:"default"},density:{type:String,default:"default"}},data(){return{mdiPencil:Kt}}};function Va(e,l,t,a,n,o){return t.update?(N(),M(z,V({key:0,icon:n.mdiPencil},e.$attrs,{size:t.size,density:t.density}),null,16,["icon","size","density"])):(N(),M(z,V({key:1},e.$attrs,{size:t.size,density:t.density}),{default:ae(()=>[b("span",null,"+ "+Oe(t.table),1)]),_:1},16,["size","density"]))}const Ca=Z(Ta,[["render",Va]]),Ba={name:"AdminCreateUpdateDialog",components:{AdminCreateUpdateButton:Ca,SubmitFooter:pa},props:{table:{type:String,required:!0},label:{type:String,default:""},oldRow:{type:[Object,Boolean],default:!1},inputs:{type:Object,required:!0},size:{type:String,default:"default"},density:{type:String,default:"default"}},data(){return{row:{},showDialog:!1,submitButtonEnabled:!1}},computed:{verb(){return this.oldRow?"Update":"Add"},title(){return this.label||this.table},buttonTitle(){return(this.oldRow?"Edit":"Add")+" "+this.title}},watch:{showDialog(e){this.row=this.getRow(e)}},methods:{...Ze(rt,["createRow","updateRow"]),validate(){let e=!1;for(const[t,a]of Object.entries(this.row))if(!ze(this.oldRow[t],a)){e=!0;break}if(!e)return!1;const l=this.$refs.form;return l?l.validate().then(({valid:t})=>t).catch(()=>!1):!1},change(e){this.row=e,this.submitButtonEnabled=this.validate()},getRow(e){if(!e||!this.oldRow)return Me(this.inputs.EMPTY_ROW);const l={};for(const t of this.inputs.UPDATE_KEYS)l[t]=Me(this.oldRow[t]);return l},doUpdate:function(){const e={};for(const[l,t]of Object.entries(this.row))ze(this.oldRow[l],t)||(e[l]=t);this.updateRow(this.table,this.oldRow.pk,e).then(()=>(this.showDialog=!1,!0)).catch(console.error)},doCreate:function(){this.createRow(this.table,this.row).then(()=>(this.showDialog=!1,!0)).catch(console.error)},submit:function(){const e=this.$refs.form;e&&e.validate().then(({valid:l})=>{if(l)return this.oldRow?this.doUpdate():this.doCreate()}).catch(console.warn)}}};function Fa(e,l,t,a,n,o){const i=se("AdminCreateUpdateButton"),r=se("SubmitFooter");return N(),M(Sa,V({modelValue:n.showDialog,"onUpdate:modelValue":l[1]||(l[1]=s=>n.showDialog=s),transition:"scale-transition"},e.$attrs),{activator:ae(({props:s})=>[S(i,V({update:!!t.oldRow,table:t.table,label:t.label},s,{size:t.size,density:t.density,title:o.buttonTitle}),null,16,["update","table","label","size","density","title"])]),default:ae(()=>[S(xa,{ref:"form",class:"cuForm"},{default:ae(()=>[b("h2",null,Oe(o.title),1),(N(),M(Ut(t.inputs),{"old-row":t.oldRow,onChange:o.change},null,40,["old-row","onChange"])),S(r,{verb:o.verb,table:t.table,label:t.label,disabled:!n.submitButtonEnabled,onSubmit:o.submit,onCancel:l[0]||(l[0]=s=>n.showDialog=!1)},null,8,["verb","table","label","disabled","onSubmit"])]),_:1},512)]),_:1},16,["modelValue"])}const Tl=Z(Ba,[["render",Fa],["__scopeId","data-v-b61575f9"]]),Ra={name:"GroupChip",props:{titleKey:{type:String,default:""},groupType:{type:Boolean,default:void 0},item:{type:Object,default:void 0}},computed:{classes(){let e={};return this.groupType&&this.item&&(e.include=!this.item.exclude,e.exclude=this.item.exclude),e},text(){return this.item&&this.titleKey?this.item[this.titleKey]:""},value(){if(this.item)return this.groupType?this.item.exclude:this.item.value}}};function Aa(e,l,t,a,n,o){return N(),M(st,{class:J(o.classes),text:o.text,value:o.value},null,8,["class","text","value"])}const ut=Z(Ra,[["render",Aa],["__scopeId","data-v-fe7786ef"]]),Ea={name:"AdminRelationPicker",components:{GroupChip:ut},props:{objs:{type:Object,required:!0},titleKey:{type:String,required:!0},groupType:{type:Boolean,default:!1}},computed:{vuetifyItems(){const e=[];for(const l of this.objs)e.push({...l,value:l.pk,title:l[this.titleKey]});return e}}};function Oa(e,l,t,a,n,o){const i=se("GroupChip");return N(),M(Ne,V({chips:!0,"closable-chips":!0,density:"compact",multiple:!0,items:o.vuetifyItems},e.$attrs),{chip:ae(({item:r})=>[S(i,{"title-key":"title",item:r,"group-type":t.groupType},null,8,["item","group-type"])]),_:1},16,["items"])}const Vl=Z(Ea,[["render",Oa]]);function $a(){const e=Y([]);Wt(()=>e.value=[]);function l(t,a){e.value[a]=t}return{refs:e,updateRef:l}}const La=B({activeColor:String,start:{type:[Number,String],default:1},modelValue:{type:Number,default:e=>e.start},disabled:Boolean,length:{type:[Number,String],default:1,validator:e=>e%1===0},totalVisible:[Number,String],firstIcon:{type:j,default:"$first"},prevIcon:{type:j,default:"$prev"},nextIcon:{type:j,default:"$next"},lastIcon:{type:j,default:"$last"},ariaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.root"},pageAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.page"},currentPageAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.currentPage"},firstAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.first"},previousAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.previous"},nextAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.next"},lastAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.last"},ellipsis:{type:String,default:"..."},showFirstLastPage:Boolean,...ma(),...Zt(),...va(),...fa(),...ca(),...da(),...ua({tag:"nav"}),...Xt(),...ia({variant:"text"})},"VPagination"),Qe=U()({name:"VPagination",props:La(),emits:{"update:modelValue":e=>!0,first:e=>!0,prev:e=>!0,next:e=>!0,last:e=>!0},setup(e,l){let{slots:t,emit:a}=l;const n=Q(e,"modelValue"),{t:o,n:i}=oe(),{isRtl:r}=Yt(),{themeClasses:s}=Jt(e),{width:u}=pe(),f=fe(-1);ve(void 0,{scoped:!0});const{resizeRef:g}=Qt(y=>{if(!y.length)return;const{target:h,contentRect:c}=y[0],P=h.querySelector(".v-pagination__list > *");if(!P)return;const T=c.width,L=P.offsetWidth+parseFloat(getComputedStyle(P).marginRight)*2;f.value=w(T,L)}),d=_(()=>parseInt(e.length,10)),v=_(()=>parseInt(e.start,10)),x=_(()=>e.totalVisible!=null?parseInt(e.totalVisible,10):f.value>=0?f.value:w(u.value,58));function w(y,h){const c=e.showFirstLastPage?5:3;return Math.max(0,Math.floor(Number(((y-h*c)/h).toFixed(2))))}const m=_(()=>{if(d.value<=0||isNaN(d.value)||d.value>Number.MAX_SAFE_INTEGER)return[];if(x.value<=0)return[];if(x.value===1)return[n.value];if(d.value<=x.value)return ie(d.value,v.value);const y=x.value%2===0,h=y?x.value/2:Math.floor(x.value/2),c=y?h:h+1,P=d.value-h;if(c-n.value>=0)return[...ie(Math.max(1,x.value-1),v.value),e.ellipsis,d.value];if(n.value-P>=(y?1:0)){const T=x.value-1,L=d.value-T+v.value;return[v.value,e.ellipsis,...ie(T,L)]}else{const T=Math.max(1,x.value-2),L=T===1?n.value:n.value-Math.ceil(T/2)+v.value;return[v.value,e.ellipsis,...ie(T,L),e.ellipsis,d.value]}});function C(y,h,c){y.preventDefault(),n.value=h,c&&a(c,h)}const{refs:p,updateRef:D}=$a();ve({VPaginationBtn:{color:I(()=>e.color),border:I(()=>e.border),density:I(()=>e.density),size:I(()=>e.size),variant:I(()=>e.variant),rounded:I(()=>e.rounded),elevation:I(()=>e.elevation)}});const F=_(()=>m.value.map((y,h)=>{const c=P=>D(P,h);if(typeof y=="string")return{isActive:!1,key:`ellipsis-${h}`,page:y,props:{ref:c,ellipsis:!0,icon:!0,disabled:!0}};{const P=y===n.value;return{isActive:P,key:y,page:i(y),props:{ref:c,ellipsis:!1,icon:!0,disabled:!!e.disabled||Number(e.length)<2,color:P?e.activeColor:e.color,"aria-current":P,"aria-label":o(P?e.currentPageAriaLabel:e.pageAriaLabel,y),onClick:T=>C(T,y)}}}})),k=_(()=>{const y=!!e.disabled||n.value<=v.value,h=!!e.disabled||n.value>=v.value+d.value-1;return{first:e.showFirstLastPage?{icon:r.value?e.lastIcon:e.firstIcon,onClick:c=>C(c,v.value,"first"),disabled:y,"aria-label":o(e.firstAriaLabel),"aria-disabled":y}:void 0,prev:{icon:r.value?e.nextIcon:e.prevIcon,onClick:c=>C(c,n.value-1,"prev"),disabled:y,"aria-label":o(e.previousAriaLabel),"aria-disabled":y},next:{icon:r.value?e.prevIcon:e.nextIcon,onClick:c=>C(c,n.value+1,"next"),disabled:h,"aria-label":o(e.nextAriaLabel),"aria-disabled":h},last:e.showFirstLastPage?{icon:r.value?e.firstIcon:e.lastIcon,onClick:c=>C(c,v.value+d.value-1,"last"),disabled:h,"aria-label":o(e.lastAriaLabel),"aria-disabled":h}:void 0}});function R(){const y=n.value-v.value;p.value[y]?.$el.focus()}function $(y){y.key===qe.left&&!e.disabled&&n.value>Number(e.start)?(n.value=n.value-1,Ke(R)):y.key===qe.right&&!e.disabled&&n.value<v.value+d.value-1&&(n.value=n.value+1,Ke(R))}return ee(()=>S(e.tag,{ref:g,class:J(["v-pagination",s.value,e.class]),style:et(e.style),role:"navigation","aria-label":o(e.ariaLabel),onKeydown:$,"data-test":"v-pagination-root"},{default:()=>[b("ul",{class:"v-pagination__list"},[e.showFirstLastPage&&b("li",{key:"first",class:"v-pagination__first","data-test":"v-pagination-first"},[t.first?t.first(k.value.first):S(z,V({_as:"VPaginationBtn"},k.value.first),null)]),b("li",{key:"prev",class:"v-pagination__prev","data-test":"v-pagination-prev"},[t.prev?t.prev(k.value.prev):S(z,V({_as:"VPaginationBtn"},k.value.prev),null)]),F.value.map((y,h)=>b("li",{key:y.key,class:J(["v-pagination__item",{"v-pagination__item--is-active":y.isActive}]),"data-test":"v-pagination-item"},[t.item?t.item(y):S(z,V({_as:"VPaginationBtn"},y.props),{default:()=>[y.page]})])),b("li",{key:"next",class:"v-pagination__next","data-test":"v-pagination-next"},[t.next?t.next(k.value.next):S(z,V({_as:"VPaginationBtn"},k.value.next),null)]),e.showFirstLastPage&&b("li",{key:"last",class:"v-pagination__last","data-test":"v-pagination-last"},[t.last?t.last(k.value.last):S(z,V({_as:"VPaginationBtn"},k.value.last),null)])])]})),{}}}),Na=B({page:{type:[Number,String],default:1},itemsPerPage:{type:[Number,String],default:10}},"DataTable-paginate"),dt=Symbol.for("vuetify:data-table-pagination");function Ga(e){const l=Q(e,"page",void 0,a=>Number(a??1)),t=Q(e,"itemsPerPage",void 0,a=>Number(a??10));return{page:l,itemsPerPage:t}}function Ha(e){const{page:l,itemsPerPage:t,itemsLength:a}=e,n=_(()=>t.value===-1?0:t.value*(l.value-1)),o=_(()=>t.value===-1?a.value:Math.min(a.value,n.value+t.value)),i=_(()=>t.value===-1||a.value===0?1:Math.ceil(a.value/t.value));$e([l,i],()=>{l.value>i.value&&(l.value=i.value)});function r(d){t.value=d,l.value=1}function s(){l.value=Fe(l.value+1,1,i.value)}function u(){l.value=Fe(l.value-1,1,i.value)}function f(d){l.value=Fe(d,1,i.value)}const g={page:l,itemsPerPage:t,startIndex:n,stopIndex:o,pageCount:i,itemsLength:a,nextPage:s,prevPage:u,setPage:f,setItemsPerPage:r};return ne(dt,g),g}function ja(){const e=le(dt);if(!e)throw new Error("Missing pagination!");return e}function za(e){const l=tt("usePaginatedItems"),{items:t,startIndex:a,stopIndex:n,itemsPerPage:o}=e,i=_(()=>o.value<=0?t.value:t.value.slice(a.value,n.value));return $e(i,r=>{l.emit("update:currentItems",r)},{immediate:!0}),{paginatedItems:i}}const ct=B({prevIcon:{type:j,default:"$prev"},nextIcon:{type:j,default:"$next"},firstIcon:{type:j,default:"$first"},lastIcon:{type:j,default:"$last"},itemsPerPageText:{type:String,default:"$vuetify.dataFooter.itemsPerPageText"},pageText:{type:String,default:"$vuetify.dataFooter.pageText"},firstPageLabel:{type:String,default:"$vuetify.dataFooter.firstPage"},prevPageLabel:{type:String,default:"$vuetify.dataFooter.prevPage"},nextPageLabel:{type:String,default:"$vuetify.dataFooter.nextPage"},lastPageLabel:{type:String,default:"$vuetify.dataFooter.lastPage"},itemsPerPageOptions:{type:Array,default:()=>[{value:10,title:"10"},{value:25,title:"25"},{value:50,title:"50"},{value:100,title:"100"},{value:-1,title:"$vuetify.dataFooter.itemsPerPageAll"}]},showCurrentPage:Boolean},"VDataTableFooter"),Xe=U()({name:"VDataTableFooter",props:ct(),setup(e,l){let{slots:t}=l;const{t:a}=oe(),{page:n,pageCount:o,startIndex:i,stopIndex:r,itemsLength:s,itemsPerPage:u,setItemsPerPage:f}=ja(),g=_(()=>e.itemsPerPageOptions.map(d=>typeof d=="number"?{value:d,title:d===-1?a("$vuetify.dataFooter.itemsPerPageAll"):String(d)}:{...d,title:isNaN(Number(d.title))?a(d.title):d.title}));return ee(()=>{const d=Qe.filterProps(e);return b("div",{class:"v-data-table-footer"},[t.prepend?.(),b("div",{class:"v-data-table-footer__items-per-page"},[b("span",{"aria-label":a(e.itemsPerPageText)},[a(e.itemsPerPageText)]),S(Ne,{items:g.value,modelValue:u.value,"onUpdate:modelValue":v=>f(Number(v)),density:"compact",variant:"outlined",hideDetails:!0},null)]),b("div",{class:"v-data-table-footer__info"},[b("div",null,[a(e.pageText,s.value?i.value+1:0,r.value,s.value)])]),b("div",{class:"v-data-table-footer__pagination"},[S(Qe,V({modelValue:n.value,"onUpdate:modelValue":v=>n.value=v,density:"comfortable",firstAriaLabel:e.firstPageLabel,lastAriaLabel:e.lastPageLabel,length:o.value,nextAriaLabel:e.nextPageLabel,previousAriaLabel:e.prevPageLabel,rounded:!0,showFirstLastPage:!0,totalVisible:e.showCurrentPage?1:0,variant:"plain"},d),null)])])}),{}}}),be=ea({align:{type:String,default:"start"},fixed:{type:[Boolean,String],default:!1},fixedOffset:[Number,String],fixedEndOffset:[Number,String],height:[Number,String],lastFixed:Boolean,firstFixedEnd:Boolean,noPadding:Boolean,tag:String,width:[Number,String],maxWidth:[Number,String],nowrap:Boolean},(e,l)=>{let{slots:t}=l;const a=e.tag??"td",n=typeof e.fixed=="string"?e.fixed:e.fixed?"start":"none";return S(a,{class:J(["v-data-table__td",{"v-data-table-column--fixed":n==="start","v-data-table-column--fixed-end":n==="end","v-data-table-column--last-fixed":e.lastFixed,"v-data-table-column--first-fixed-end":e.firstFixedEnd,"v-data-table-column--no-padding":e.noPadding,"v-data-table-column--nowrap":e.nowrap},`v-data-table-column--align-${e.align}`]),style:{height:A(e.height),width:A(e.width),maxWidth:A(e.maxWidth),left:n==="start"?A(e.fixedOffset||null):void 0,right:n==="end"?A(e.fixedEndOffset||null):void 0}},{default:()=>[t.default?.()]})}),Ma=B({headers:Array},"DataTable-header"),ft=Symbol.for("vuetify:data-table-headers"),vt={title:"",sortable:!1},qa={...vt,width:48};function Ka(){const l=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).map(t=>({element:t,priority:0}));return{enqueue:(t,a)=>{let n=!1;for(let o=0;o<l.length;o++)if(l[o].priority>a){l.splice(o,0,{element:t,priority:a}),n=!0;break}n||l.push({element:t,priority:a})},size:()=>l.length,count:()=>{let t=0;if(!l.length)return 0;const a=Math.floor(l[0].priority);for(let n=0;n<l.length;n++)Math.floor(l[n].priority)===a&&(t+=1);return t},dequeue:()=>l.shift()}}function Ee(e){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];if(!e.children)l.push(e);else for(const t of e.children)Ee(t,l);return l}function mt(e){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Set;for(const t of e)t.key&&l.add(t.key),t.children&&mt(t.children,l);return l}function Ua(e){if(e.key){if(e.key==="data-table-group")return vt;if(["data-table-expand","data-table-select"].includes(e.key))return qa}}function He(e){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.children?Math.max(l,...e.children.map(t=>He(t,l+1))):l}function Wa(e){let l=!1;function t(r,s){let u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"none";if(!r)return;u!=="none"&&(r.fixed=u),r.fixed===!0&&(r.fixed="start");const f=s==="start"?r.children?.toReversed():r.children;if(r.fixed===s)if(f)for(const g of f)t(g,s,s);else!l&&s==="start"?r.lastFixed=!0:!l&&s==="end"?r.firstFixedEnd=!0:isNaN(Number(r.width))?la(`Multiple fixed columns should have a static width (key: ${r.key})`):r.minWidth=Math.max(Number(r.width)||0,Number(r.minWidth)||0),l=!0;else if(f)for(const g of f)t(g,s);else l=!1}for(const r of e.toReversed())t(r,"start");for(const r of e)t(r,"end");function a(r){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!r)return s;if(r.children){r.fixedOffset=s;for(const u of r.children)s=a(u,s)}else r.fixed&&r.fixed!=="end"&&(r.fixedOffset=s,s+=parseFloat(r.width||"0")||0);return s}let n=0;for(const r of e)n=a(r,n);function o(r){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!r)return s;if(r.children){r.fixedEndOffset=s;for(const u of r.children)s=o(u,s)}else r.fixed==="end"&&(r.fixedEndOffset=s,s+=parseFloat(r.width||"0")||0);return s}let i=0;for(const r of e.toReversed())i=o(r,i)}function Ya(e,l){const t=[];let a=0;const n=Ka(e);for(;n.size()>0;){let i=n.count();const r=[];let s=1;for(;i>0;){const{element:u,priority:f}=n.dequeue(),g=l-a-He(u);if(r.push({...u,rowspan:g??1,colspan:u.children?Ee(u).length:1}),u.children)for(const d of u.children){const v=f%1+s/Math.pow(10,a+2);n.enqueue(d,a+g+v)}s+=1,i-=1}a+=1,t.push(r)}return{columns:e.map(i=>Ee(i)).flat(),headers:t}}function gt(e){const l=[];for(const t of e){const a={...Ua(t),...t},n=a.key??(typeof a.value=="string"?a.value:null),o=a.value??n??null,i={...a,key:n,value:o,sortable:a.sortable??(a.key!=null||!!a.sort),children:a.children?gt(a.children):void 0};l.push(i)}return l}function bt(e,l){const t=Y([]),a=Y([]),n=Y({}),o=Y({}),i=Y({});ta(()=>{const u=(e.headers||Object.keys(e.items[0]??{}).map(w=>({key:w,title:aa(w)}))).slice(),f=mt(u);l?.groupBy?.value.length&&!f.has("data-table-group")&&u.unshift({key:"data-table-group",title:"Group"}),l?.showSelect?.value&&!f.has("data-table-select")&&u.unshift({key:"data-table-select"}),l?.showExpand?.value&&!f.has("data-table-expand")&&u.push({key:"data-table-expand"});const g=gt(u);Wa(g);const d=Math.max(...g.map(w=>He(w)))+1,v=Ya(g,d);t.value=v.headers,a.value=v.columns;const x=v.headers.flat(1);for(const w of x)w.key&&(w.sortable&&(w.sort&&(n.value[w.key]=w.sort),w.sortRaw&&(o.value[w.key]=w.sortRaw)),w.filter&&(i.value[w.key]=w.filter))});const r={headers:t,columns:a,sortFunctions:n,sortRawFunctions:o,filterFunctions:i};return ne(ft,r),r}function xe(){const e=le(ft);if(!e)throw new Error("Missing headers!");return e}const Ja={showSelectAll:!1,allSelected:()=>[],select:e=>{let{items:l,value:t}=e;return new Set(t?[l[0]?.value]:[])},selectAll:e=>{let{selected:l}=e;return l}},ht={showSelectAll:!0,allSelected:e=>{let{currentPage:l}=e;return l},select:e=>{let{items:l,value:t,selected:a}=e;for(const n of l)t?a.add(n.value):a.delete(n.value);return a},selectAll:e=>{let{value:l,currentPage:t,selected:a}=e;return ht.select({items:t,value:l,selected:a})}},yt={showSelectAll:!0,allSelected:e=>{let{allItems:l}=e;return l},select:e=>{let{items:l,value:t,selected:a}=e;for(const n of l)t?a.add(n.value):a.delete(n.value);return a},selectAll:e=>{let{value:l,allItems:t,selected:a}=e;return yt.select({items:t,value:l,selected:a})}},Qa=B({showSelect:Boolean,selectStrategy:{type:[String,Object],default:"page"},modelValue:{type:Array,default:()=>[]},valueComparator:{type:Function,default:at}},"DataTable-select"),pt=Symbol.for("vuetify:data-table-selection");function xt(e,l){let{allItems:t,currentPage:a}=l;const n=Q(e,"modelValue",e.modelValue,p=>new Set(Re(p).map(D=>t.value.find(F=>e.valueComparator(D,F.value))?.value??D)),p=>[...p.values()]),o=_(()=>t.value.filter(p=>p.selectable)),i=_(()=>a.value.filter(p=>p.selectable)),r=_(()=>{if(typeof e.selectStrategy=="object")return e.selectStrategy;switch(e.selectStrategy){case"single":return Ja;case"all":return yt;case"page":default:return ht}}),s=fe(null);function u(p){return Re(p).every(D=>n.value.has(D.value))}function f(p){return Re(p).some(D=>n.value.has(D.value))}function g(p,D){const F=r.value.select({items:p,value:D,selected:new Set(n.value)});n.value=F}function d(p,D,F){const k=[];if(D=D??a.value.findIndex(R=>R.value===p.value),e.selectStrategy!=="single"&&F?.shiftKey&&s.value!==null){const[R,$]=[s.value,D].sort((y,h)=>y-h);k.push(...a.value.slice(R,$+1).filter(y=>y.selectable))}else k.push(p),s.value=D;g(k,!u([p]))}function v(p){const D=r.value.selectAll({value:p,allItems:o.value,currentPage:i.value,selected:new Set(n.value)});n.value=D}const x=_(()=>n.value.size>0),w=_(()=>{const p=r.value.allSelected({allItems:o.value,currentPage:i.value});return!!p.length&&u(p)}),m=I(()=>r.value.showSelectAll),C={toggleSelect:d,select:g,selectAll:v,isSelected:u,isSomeSelected:f,someSelected:x,allSelected:w,showSelectAll:m,lastSelectedIndex:s,selectStrategy:r};return ne(pt,C),C}function Se(){const e=le(pt);if(!e)throw new Error("Missing selection!");return e}const Xa=B({sortBy:{type:Array,default:()=>[]},customKeySort:Object,multiSort:Boolean,mustSort:Boolean},"DataTable-sort"),St=Symbol.for("vuetify:data-table-sort");function wt(e){const l=Q(e,"sortBy"),t=I(()=>e.mustSort),a=I(()=>e.multiSort);return{sortBy:l,mustSort:t,multiSort:a}}function Pt(e){const{sortBy:l,mustSort:t,multiSort:a,page:n}=e,o=s=>{if(s.key==null)return;let u=l.value.map(g=>({...g}))??[];const f=u.find(g=>g.key===s.key);f?f.order==="desc"?t.value&&u.length===1?f.order="asc":u=u.filter(g=>g.key!==s.key):f.order="desc":a.value?u.push({key:s.key,order:"asc"}):u=[{key:s.key,order:"asc"}],l.value=u,n&&(n.value=1)};function i(s){return!!l.value.find(u=>u.key===s.key)}const r={sortBy:l,toggleSort:o,isSorted:i};return ne(St,r),r}function kt(){const e=le(St);if(!e)throw new Error("Missing sort!");return e}function _t(e,l,t,a){const n=oe();return{sortedItems:_(()=>t.value.length?Za(l.value,t.value,n.current.value,{transform:a?.transform,sortFunctions:{...e.customKeySort,...a?.sortFunctions?.value},sortRawFunctions:a?.sortRawFunctions?.value}):l.value)}}function Za(e,l,t,a){const n=new Intl.Collator(t,{sensitivity:"accent",usage:"sort"});return e.map(i=>[i,a?.transform?a.transform(i):i]).sort((i,r)=>{for(let s=0;s<l.length;s++){let u=!1;const f=l[s].key,g=l[s].order??"asc";if(g===!1)continue;let d=me(i[1],f),v=me(r[1],f),x=i[0].raw,w=r[0].raw;if(g==="desc"&&([d,v]=[v,d],[x,w]=[w,x]),a?.sortRawFunctions?.[f]){const m=a.sortRawFunctions[f](x,w);if(m==null)continue;if(u=!0,m)return m}if(a?.sortFunctions?.[f]){const m=a.sortFunctions[f](d,v);if(m==null)continue;if(u=!0,m)return m}if(!u&&(d instanceof Date&&v instanceof Date&&(d=d.getTime(),v=v.getTime()),[d,v]=[d,v].map(m=>m!=null?m.toString().toLocaleLowerCase():m),d!==v))return ue(d)&&ue(v)?0:ue(d)?-1:ue(v)?1:!isNaN(d)&&!isNaN(v)?Number(d)-Number(v):n.compare(d,v)}return 0}).map(i=>{let[r]=i;return r})}const Dt=B({color:String,disableSort:Boolean,fixedHeader:Boolean,multiSort:Boolean,sortAscIcon:{type:j,default:"$sortAsc"},sortDescIcon:{type:j,default:"$sortDesc"},headerProps:{type:Object},sticky:Boolean,...Le(),...ya()},"VDataTableHeaders"),he=U()({name:"VDataTableHeaders",props:Dt(),setup(e,l){let{slots:t}=l;const{t:a}=oe(),{toggleSort:n,sortBy:o,isSorted:i}=kt(),{someSelected:r,allSelected:s,selectAll:u,showSelectAll:f}=Se(),{columns:g,headers:d}=xe(),{loaderClasses:v}=ga(e);function x(h,c){if(!(e.sticky||e.fixedHeader)&&!h.fixed)return;const P=typeof h.fixed=="string"?h.fixed:h.fixed?"start":"none";return{position:"sticky",left:P==="start"?A(h.fixedOffset):void 0,right:P==="end"?A(h.fixedEndOffset):void 0,top:e.sticky||e.fixedHeader?`calc(var(--v-table-header-height) * ${c})`:void 0}}function w(h,c){h.key==="Enter"&&!e.disableSort&&n(c)}function m(h){const c=o.value.find(P=>P.key===h.key);return c?c.order==="asc"?e.sortAscIcon:e.sortDescIcon:e.sortAscIcon}const{backgroundColorClasses:C,backgroundColorStyles:p}=ba(()=>e.color),{displayClasses:D,mobile:F}=pe(e),k=_(()=>({headers:d.value,columns:g.value,toggleSort:n,isSorted:i,sortBy:o.value,someSelected:r.value,allSelected:s.value,selectAll:u,getSortIcon:m})),R=_(()=>["v-data-table__th",{"v-data-table__th--sticky":e.sticky||e.fixedHeader},D.value,v.value]),$=h=>{let{column:c,x:P,y:T}=h;const L=c.key==="data-table-select"||c.key==="data-table-expand",re=V(e.headerProps??{},c.headerProps??{});return S(be,V({tag:"th",align:c.align,class:[{"v-data-table__th--sortable":c.sortable&&!e.disableSort,"v-data-table__th--sorted":i(c),"v-data-table__th--fixed":c.fixed},...R.value],style:{width:A(c.width),minWidth:A(c.minWidth),maxWidth:A(c.maxWidth),...x(c,T)},colspan:c.colspan,rowspan:c.rowspan,fixed:c.fixed,nowrap:c.nowrap,lastFixed:c.lastFixed,firstFixedEnd:c.firstFixedEnd,noPadding:L,tabindex:c.sortable?0:void 0,onClick:c.sortable?()=>n(c):void 0,onKeydown:c.sortable?q=>w(q,c):void 0},re),{default:()=>{const q=`header.${c.key}`,K={column:c,selectAll:u,isSorted:i,toggleSort:n,sortBy:o.value,someSelected:r.value,allSelected:s.value,getSortIcon:m};return t[q]?t[q](K):c.key==="data-table-select"?t["header.data-table-select"]?.(K)??(f.value&&S(Ge,{modelValue:s.value,indeterminate:r.value&&!s.value,"onUpdate:modelValue":u},null)):b("div",{class:"v-data-table-header__content"},[b("span",null,[c.title]),c.sortable&&!e.disableSort&&S(Ye,{key:"icon",class:"v-data-table-header__sort-icon",icon:m(c)},null),e.multiSort&&i(c)&&b("div",{key:"badge",class:J(["v-data-table-header__sort-badge",...C.value]),style:et(p.value)},[o.value.findIndex(W=>W.key===c.key)+1])])}})},y=()=>{const h=_(()=>g.value.filter(P=>P?.sortable&&!e.disableSort)),c=_(()=>{if(g.value.find(T=>T.key==="data-table-select")!=null)return s.value?"$checkboxOn":r.value?"$checkboxIndeterminate":"$checkboxOff"});return S(be,V({tag:"th",class:[...R.value],colspan:d.value.length+1},e.headerProps),{default:()=>[b("div",{class:"v-data-table-header__content"},[S(Ne,{chips:!0,class:"v-data-table__td-sort-select",clearable:!0,density:"default",items:h.value,label:a("$vuetify.dataTable.sortBy"),multiple:e.multiSort,variant:"underlined","onClick:clear":()=>o.value=[],appendIcon:c.value,"onClick:append":()=>u(!s.value)},{...t,chip:P=>S(st,{onClick:P.item.raw?.sortable?()=>n(P.item.raw):void 0,onMousedown:T=>{T.preventDefault(),T.stopPropagation()}},{default:()=>[P.item.title,S(Ye,{class:J(["v-data-table__td-sort-icon",i(P.item.raw)&&"v-data-table__td-sort-icon-active"]),icon:m(P.item.raw),size:"small"},null)]})})])]})};ee(()=>F.value?b("tr",null,[S(y,null,null)]):b(X,null,[t.headers?t.headers(k.value):d.value.map((h,c)=>b("tr",null,[h.map((P,T)=>S($,{column:P,x:T,y:c},null))])),e.loading&&b("tr",{class:"v-data-table-progress"},[b("th",{colspan:g.value.length},[S(ha,{name:"v-data-table-progress",absolute:!0,active:!0,color:typeof e.loading=="boolean"?void 0:e.loading,indeterminate:!0},{default:t.loader})])])]))}}),It=B({groupBy:{type:Array,default:()=>[]}},"DataTable-group"),Tt=Symbol.for("vuetify:data-table-group");function Vt(e){return{groupBy:Q(e,"groupBy")}}function Ct(e){const{disableSort:l,groupBy:t,sortBy:a}=e,n=Y(new Set),o=_(()=>t.value.map(f=>({...f,order:f.order??!1})).concat(l?.value?[]:a.value));function i(f){return n.value.has(f.id)}function r(f){const g=new Set(n.value);i(f)?g.delete(f.id):g.add(f.id),n.value=g}function s(f){function g(d){const v=[];for(const x of d.items)"type"in x&&x.type==="group"?v.push(...g(x)):v.push(x);return[...new Set(v)]}return g({items:f})}const u={sortByWithGroups:o,toggleGroup:r,opened:n,groupBy:t,extractRows:s,isGroupOpen:i};return ne(Tt,u),u}function Bt(){const e=le(Tt);if(!e)throw new Error("Missing group!");return e}function el(e,l){if(!e.length)return[];const t=new Map;for(const a of e){const n=me(a.raw,l);t.has(n)||t.set(n,[]),t.get(n).push(a)}return t}function Ft(e,l){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"root";if(!l.length)return[];const n=el(e,l[0]),o=[],i=l.slice(1);return n.forEach((r,s)=>{const u=l[0],f=`${a}_${u}_${s}`;o.push({depth:t,id:f,key:u,value:s,items:i.length?Ft(r,i,t+1,f):r,type:"group"})}),o}function Rt(e,l){const t=[];for(const a of e)"type"in a&&a.type==="group"?(a.value!=null&&t.push(a),(l.has(a.id)||a.value==null)&&t.push(...Rt(a.items,l))):t.push(a);return t}function At(e,l,t){return{flatItems:_(()=>{if(!l.value.length)return e.value;const n=Ft(e.value,l.value.map(o=>o.key));return Rt(n,t.value)})}}const tl=B({item:{type:Object,required:!0}},"VDataTableGroupHeaderRow"),al=U()({name:"VDataTableGroupHeaderRow",props:tl(),setup(e,l){let{slots:t}=l;const{isGroupOpen:a,toggleGroup:n,extractRows:o}=Bt(),{isSelected:i,isSomeSelected:r,select:s}=Se(),{columns:u}=xe(),f=_(()=>o([e.item]));return()=>b("tr",{class:"v-data-table-group-header-row",style:{"--v-data-table-group-header-row-depth":e.item.depth}},[u.value.map(g=>{if(g.key==="data-table-group"){const d=a(e.item)?"$expand":"$next",v=()=>n(e.item);return t["data-table-group"]?.({item:e.item,count:f.value.length,props:{icon:d,onClick:v}})??S(be,{class:"v-data-table-group-header-row__column"},{default:()=>[S(z,{size:"small",variant:"text",icon:d,onClick:v},null),b("span",null,[e.item.value]),b("span",null,[Ue("("),f.value.length,Ue(")")])]})}if(g.key==="data-table-select"){const d=i(f.value),v=r(f.value)&&!d,x=w=>s(f.value,w);return t["data-table-select"]?.({props:{modelValue:d,indeterminate:v,"onUpdate:modelValue":x}})??b("td",null,[S(Ge,{modelValue:d,indeterminate:v,"onUpdate:modelValue":x},null)])}return b("td",null,null)})])}}),ll=B({expandOnClick:Boolean,showExpand:Boolean,expanded:{type:Array,default:()=>[]}},"DataTable-expand"),Et=Symbol.for("vuetify:datatable:expanded");function Ot(e){const l=I(()=>e.expandOnClick),t=Q(e,"expanded",e.expanded,r=>new Set(r),r=>[...r.values()]);function a(r,s){const u=new Set(t.value);s?u.add(r.value):u.delete(r.value),t.value=u}function n(r){return t.value.has(r.value)}function o(r){a(r,!n(r))}const i={expand:a,expanded:t,expandOnClick:l,isExpanded:n,toggleExpand:o};return ne(Et,i),i}function $t(){const e=le(Et);if(!e)throw new Error("foo");return e}const nl=B({index:Number,item:Object,cellProps:[Object,Function],onClick:Ae(),onContextmenu:Ae(),onDblclick:Ae(),...Le()},"VDataTableRow"),Lt=U()({name:"VDataTableRow",props:nl(),setup(e,l){let{slots:t}=l;const{displayClasses:a,mobile:n}=pe(e,"v-data-table__tr"),{isSelected:o,toggleSelect:i,someSelected:r,allSelected:s,selectAll:u}=Se(),{isExpanded:f,toggleExpand:g}=$t(),{toggleSort:d,sortBy:v,isSorted:x}=kt(),{columns:w}=xe();ee(()=>b("tr",{class:J(["v-data-table__tr",{"v-data-table__tr--clickable":!!(e.onClick||e.onContextmenu||e.onDblclick)},a.value]),onClick:e.onClick,onContextmenu:e.onContextmenu,onDblclick:e.onDblclick},[e.item&&w.value.map((m,C)=>{const p=e.item,D=`item.${m.key}`,F=`header.${m.key}`,k={index:e.index,item:p.raw,internalItem:p,value:me(p.columns,m.key),column:m,isSelected:o,toggleSelect:i,isExpanded:f,toggleExpand:g},R={column:m,selectAll:u,isSorted:x,toggleSort:d,sortBy:v.value,someSelected:r.value,allSelected:s.value,getSortIcon:()=>""},$=typeof e.cellProps=="function"?e.cellProps({index:k.index,item:k.item,internalItem:k.internalItem,value:k.value,column:m}):e.cellProps,y=typeof m.cellProps=="function"?m.cellProps({index:k.index,item:k.item,internalItem:k.internalItem,value:k.value}):m.cellProps;return S(be,V({align:m.align,class:{"v-data-table__td--expanded-row":m.key==="data-table-expand","v-data-table__td--select-row":m.key==="data-table-select"},fixed:m.fixed,fixedOffset:m.fixedOffset,fixedEndOffset:m.fixedEndOffset,lastFixed:m.lastFixed,firstFixedEnd:m.firstFixedEnd,maxWidth:n.value?void 0:m.maxWidth,noPadding:m.key==="data-table-select"||m.key==="data-table-expand",nowrap:m.nowrap,width:n.value?void 0:m.width},$,y),{default:()=>{if(m.key==="data-table-select")return t["item.data-table-select"]?.({...k,props:{disabled:!p.selectable,modelValue:o([p]),onClick:de(()=>i(p),["stop"])}})??S(Ge,{disabled:!p.selectable,modelValue:o([p]),onClick:de(c=>i(p,e.index,c),["stop"])},null);if(m.key==="data-table-expand")return t["item.data-table-expand"]?.({...k,props:{icon:f(p)?"$collapse":"$expand",size:"small",variant:"text",onClick:de(()=>g(p),["stop"])}})??S(z,{icon:f(p)?"$collapse":"$expand",size:"small",variant:"text",onClick:de(()=>g(p),["stop"])},null);if(t[D]&&!n.value)return t[D](k);const h=Oe(k.value);return n.value?b(X,null,[b("div",{class:"v-data-table__td-title"},[t[F]?.(R)??m.title]),b("div",{class:"v-data-table__td-value"},[t[D]?.(k)??h])]):h}})})]))}}),Nt=B({loading:[Boolean,String],loadingText:{type:String,default:"$vuetify.dataIterator.loadingText"},hideNoData:Boolean,items:{type:Array,default:()=>[]},noDataText:{type:String,default:"$vuetify.noDataText"},rowProps:[Object,Function],cellProps:[Object,Function],...Le()},"VDataTableRows"),ye=U()({name:"VDataTableRows",inheritAttrs:!1,props:Nt(),setup(e,l){let{attrs:t,slots:a}=l;const{columns:n}=xe(),{expandOnClick:o,toggleExpand:i,isExpanded:r}=$t(),{isSelected:s,toggleSelect:u}=Se(),{toggleGroup:f,isGroupOpen:g}=Bt(),{t:d}=oe(),{mobile:v}=pe(e);return ee(()=>e.loading&&(!e.items.length||a.loading)?b("tr",{class:"v-data-table-rows-loading",key:"loading"},[b("td",{colspan:n.value.length},[a.loading?.()??d(e.loadingText)])]):!e.loading&&!e.items.length&&!e.hideNoData?b("tr",{class:"v-data-table-rows-no-data",key:"no-data"},[b("td",{colspan:n.value.length},[a["no-data"]?.()??d(e.noDataText)])]):b(X,null,[e.items.map((x,w)=>{if(x.type==="group"){const p={index:w,item:x,columns:n.value,isExpanded:r,toggleExpand:i,isSelected:s,toggleSelect:u,toggleGroup:f,isGroupOpen:g};return a["group-header"]?a["group-header"](p):S(al,V({key:`group-header_${x.id}`,item:x},Je(t,":group-header",()=>p)),a)}const m={index:w,item:x.raw,internalItem:x,columns:n.value,isExpanded:r,toggleExpand:i,isSelected:s,toggleSelect:u},C={...m,props:V({key:`item_${x.key??x.index}`,onClick:o.value?()=>{i(x)}:void 0,index:w,item:x,cellProps:e.cellProps,mobile:v.value},Je(t,":row",()=>m),typeof e.rowProps=="function"?e.rowProps({item:m.item,index:m.index,internalItem:m.internalItem}):e.rowProps)};return b(X,{key:C.props.key},[a.item?a.item(C):S(Lt,C.props,a),r(x)&&a["expanded-row"]?.(m)])})])),{}}}),rl=B({items:{type:Array,default:()=>[]},itemValue:{type:[String,Array,Function],default:"id"},itemSelectable:{type:[String,Array,Function],default:null},rowProps:[Object,Function],cellProps:[Object,Function],returnObject:Boolean},"DataTable-items");function sl(e,l,t,a){const n=e.returnObject?l:ce(l,e.itemValue),o=ce(l,e.itemSelectable,!0),i=a.reduce((r,s)=>(s.key!=null&&(r[s.key]=ce(l,s.value)),r),{});return{type:"item",key:e.returnObject?ce(l,e.itemValue):n,index:t,value:n,selectable:o,columns:i,raw:l}}function ol(e,l,t){return l.map((a,n)=>sl(e,a,n,t))}function Gt(e,l){return{items:_(()=>ol(e,e.items,l.value))}}function Ht(e){let{page:l,itemsPerPage:t,sortBy:a,groupBy:n,search:o}=e;const i=tt("VDataTable"),r=()=>({page:l.value,itemsPerPage:t.value,sortBy:a.value,groupBy:n.value,search:o.value});let s=null;$e(r,u=>{at(s,u)||(s&&s.search!==u.search&&(l.value=1),i.emit("update:options",u),s=u)},{deep:!0,immediate:!0})}const jt=B({...Nt(),hideDefaultBody:Boolean,hideDefaultFooter:Boolean,hideDefaultHeader:Boolean,width:[String,Number],search:String,...ll(),...It(),...Ma(),...rl(),...Qa(),...Xa(),...Dt(),..._a()},"DataTable"),il=B({...Na(),...jt(),...ot(),...ct()},"VDataTable");U()({name:"VDataTable",props:il(),emits:{"update:modelValue":e=>!0,"update:page":e=>!0,"update:itemsPerPage":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:groupBy":e=>!0,"update:expanded":e=>!0,"update:currentItems":e=>!0},setup(e,l){let{attrs:t,slots:a}=l;const{groupBy:n}=Vt(e),{sortBy:o,multiSort:i,mustSort:r}=wt(e),{page:s,itemsPerPage:u}=Ga(e),{disableSort:f}=lt(e),{columns:g,headers:d,sortFunctions:v,sortRawFunctions:x,filterFunctions:w}=bt(e,{groupBy:n,showSelect:I(()=>e.showSelect),showExpand:I(()=>e.showExpand)}),{items:m}=Gt(e,g),C=I(()=>e.search),{filteredItems:p}=it(e,m,C,{transform:G=>G.columns,customKeyFilter:w}),{toggleSort:D}=Pt({sortBy:o,multiSort:i,mustSort:r,page:s}),{sortByWithGroups:F,opened:k,extractRows:R,isGroupOpen:$,toggleGroup:y}=Ct({groupBy:n,sortBy:o,disableSort:f}),{sortedItems:h}=_t(e,p,F,{transform:G=>({...G.raw,...G.columns}),sortFunctions:v,sortRawFunctions:x}),{flatItems:c}=At(h,n,k),P=_(()=>c.value.length),{startIndex:T,stopIndex:L,pageCount:re,setItemsPerPage:q}=Ha({page:s,itemsPerPage:u,itemsLength:P}),{paginatedItems:K}=za({items:c,startIndex:T,stopIndex:L,itemsPerPage:u}),W=_(()=>R(K.value)),{isSelected:we,select:Pe,selectAll:ke,toggleSelect:_e,someSelected:De,allSelected:Ie}=xt(e,{allItems:m,currentPage:W}),{isExpanded:Te,toggleExpand:Ve}=Ot(e);Ht({page:s,itemsPerPage:u,sortBy:o,groupBy:n,search:C}),ve({VDataTableRows:{hideNoData:I(()=>e.hideNoData),noDataText:I(()=>e.noDataText),loading:I(()=>e.loading),loadingText:I(()=>e.loadingText)}});const E=_(()=>({page:s.value,itemsPerPage:u.value,sortBy:o.value,pageCount:re.value,toggleSort:D,setItemsPerPage:q,someSelected:De.value,allSelected:Ie.value,isSelected:we,select:Pe,selectAll:ke,toggleSelect:_e,isExpanded:Te,toggleExpand:Ve,isGroupOpen:$,toggleGroup:y,items:W.value.map(G=>G.raw),internalItems:W.value,groupedItems:K.value,columns:g.value,headers:d.value}));return ee(()=>{const G=Xe.filterProps(e),Ce=he.filterProps(e),H=ye.filterProps(e),O=ge.filterProps(e);return S(ge,V({class:["v-data-table",{"v-data-table--show-select":e.showSelect,"v-data-table--loading":e.loading},e.class],style:e.style},O,{fixedHeader:e.fixedHeader||e.sticky}),{top:()=>a.top?.(E.value),default:()=>a.default?a.default(E.value):b(X,null,[a.colgroup?.(E.value),!e.hideDefaultHeader&&b("thead",{key:"thead"},[S(he,Ce,a)]),a.thead?.(E.value),!e.hideDefaultBody&&b("tbody",null,[a["body.prepend"]?.(E.value),a.body?a.body(E.value):S(ye,V(t,H,{items:K.value}),a),a["body.append"]?.(E.value)]),a.tbody?.(E.value),a.tfoot?.(E.value)]),bottom:()=>a.bottom?a.bottom(E.value):!e.hideDefaultFooter&&b(X,null,[S(Da,null,null),S(Xe,G,{prepend:a["footer.prepend"]})])})}),{}}});const ul=B({...na(jt(),["hideDefaultFooter"]),...It(),...Pa(),...ot()},"VDataTableVirtual"),dl=U()({name:"VDataTableVirtual",props:ul(),emits:{"update:modelValue":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:groupBy":e=>!0,"update:expanded":e=>!0},setup(e,l){let{attrs:t,slots:a}=l;const{groupBy:n}=Vt(e),{sortBy:o,multiSort:i,mustSort:r}=wt(e),{disableSort:s}=lt(e),{columns:u,headers:f,filterFunctions:g,sortFunctions:d,sortRawFunctions:v}=bt(e,{groupBy:n,showSelect:I(()=>e.showSelect),showExpand:I(()=>e.showExpand)}),{items:x}=Gt(e,u),w=I(()=>e.search),{filteredItems:m}=it(e,x,w,{transform:O=>O.columns,customKeyFilter:g}),{toggleSort:C}=Pt({sortBy:o,multiSort:i,mustSort:r}),{sortByWithGroups:p,opened:D,extractRows:F,isGroupOpen:k,toggleGroup:R}=Ct({groupBy:n,sortBy:o,disableSort:s}),{sortedItems:$}=_t(e,m,p,{transform:O=>({...O.raw,...O.columns}),sortFunctions:d,sortRawFunctions:v}),{flatItems:y}=At($,n,D),h=_(()=>F(y.value)),{isSelected:c,select:P,selectAll:T,toggleSelect:L,someSelected:re,allSelected:q}=xt(e,{allItems:h,currentPage:h}),{isExpanded:K,toggleExpand:W}=Ot(e),{containerRef:we,markerRef:Pe,paddingTop:ke,paddingBottom:_e,computedItems:De,handleItemResize:Ie,handleScroll:Te,handleScrollend:Ve,calculateVisibleItems:E,scrollToIndex:G}=wa(e,y),Ce=_(()=>De.value.map(O=>O.raw));Ht({sortBy:o,page:fe(1),itemsPerPage:fe(-1),groupBy:n,search:w}),ve({VDataTableRows:{hideNoData:I(()=>e.hideNoData),noDataText:I(()=>e.noDataText),loading:I(()=>e.loading),loadingText:I(()=>e.loadingText)}});const H=_(()=>({sortBy:o.value,toggleSort:C,someSelected:re.value,allSelected:q.value,isSelected:c,select:P,selectAll:T,toggleSelect:L,isExpanded:K,toggleExpand:W,isGroupOpen:k,toggleGroup:R,items:h.value.map(O=>O.raw),internalItems:h.value,groupedItems:y.value,columns:u.value,headers:f.value}));return ee(()=>{const O=he.filterProps(e),zt=ye.filterProps(e),Mt=ge.filterProps(e);return S(ge,V({class:["v-data-table",{"v-data-table--loading":e.loading},e.class],style:e.style},Mt,{fixedHeader:e.fixedHeader||e.sticky}),{top:()=>a.top?.(H.value),wrapper:()=>b("div",{ref:we,onScrollPassive:Te,onScrollend:Ve,class:"v-table__wrapper",style:{height:A(e.height)}},[b("table",null,[a.colgroup?.(H.value),!e.hideDefaultHeader&&b("thead",{key:"thead"},[S(he,O,a)]),a.thead?.(H.value),!e.hideDefaultBody&&b("tbody",{key:"tbody"},[b("tr",{ref:Pe,style:{height:A(ke.value),border:0}},[b("td",{colspan:u.value.length,style:{height:0,border:0}},null)]),a["body.prepend"]?.(H.value),S(ye,V(t,zt,{items:Ce.value}),{...a,item:te=>S(ka,{key:te.internalItem.index,renderless:!0,"onUpdate:height":Be=>Ie(te.internalItem.index,Be)},{default:Be=>{let{itemRef:je}=Be;return a.item?.({...te,itemRef:je})??S(Lt,V(te.props,{ref:je,key:te.internalItem.index,index:te.internalItem.index}),a)}})}),a["body.append"]?.(H.value),b("tr",{style:{height:A(_e.value),border:0}},[b("td",{colspan:u.value.length,style:{height:0,border:0}},null)])]),a.tbody?.(H.value),a.tfoot?.(H.value)])]),bottom:()=>a.bottom?.(H.value)})}),{calculateVisibleItems:E,scrollToIndex:G}}}),cl={name:"AdminTable"};function fl(e,l,t,a,n,o){return N(),M(dl,{"fixed-header":"","item-value":"pk",mobile:e.$vuetify.display.xs},ra({_:2},[nt(e.$slots,(i,r)=>({name:r,fn:ae(s=>[sa(e.$slots,r,V({props:i},s),void 0,!0)])}))]),1032,["mobile"])}const Cl=Z(cl,[["render",fl],["__scopeId","data-v-8b5d9183"]]),vl={name:"AdminDeleteRowDialog",components:{ConfirmDialog:Ia},props:{table:{type:String,required:!0},pk:{type:Number,required:!0},name:{type:String,required:!0}},data(){return{mdiTrashCan:oa}},computed:{titleText(){return`Delete ${this.table}`}},methods:{...Ze(rt,["deleteRow"]),confirm(){this.deleteRow(this.table,this.pk),this.showDialog=!1}}};function ml(e,l,t,a,n,o){const i=se("ConfirmDialog");return N(),M(i,{icon:n.mdiTrashCan,"title-text":o.titleText,text:t.name,"confirm-text":o.titleText,onConfirm:o.confirm},null,8,["icon","title-text","text","confirm-text","onConfirm"])}const Bl=Z(vl,[["render",ml]]),gl={name:"RelationChips",components:{GroupChip:ut},props:{pks:{type:Array,required:!0},objs:{type:Object,required:!0},titleKey:{type:String,required:!0},groupType:{type:Boolean,default:!1}},computed:{map(){const e={};for(const l of this.objs)e[l.pk]=l;return e}}};function bl(e,l,t,a,n,o){const i=se("GroupChip");return N(),We("span",null,[(N(!0),We(X,null,nt(t.pks,r=>(N(),M(i,{key:r,"title-key":t.titleKey,"group-type":t.groupType,item:o.map[r]},null,8,["title-key","group-type","item"]))),128))])}const Fl=Z(gl,[["render",bl]]);export{Vl as A,ut as G,Fl as R,Tl as a,Bl as b,Cl as c};
|
|
Binary file
|
|
Binary file
|