codex 1.7.2__py3-none-any.whl → 1.7.3__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/asgi.py +2 -1
- codex/choices.py +10 -11
- codex/choices_to_json.py +8 -8
- codex/db.py +2 -2
- codex/exceptions.py +5 -6
- codex/librarian/bookmark/bookmarkd.py +9 -6
- codex/librarian/bookmark/tasks.py +1 -1
- codex/librarian/bookmark/update.py +17 -31
- codex/librarian/covers/create.py +10 -8
- codex/librarian/covers/path.py +6 -5
- codex/librarian/covers/purge.py +2 -2
- codex/librarian/cron/crond.py +1 -1
- codex/librarian/importer/aggregate.py +2 -2
- codex/librarian/importer/cache.py +1 -4
- codex/librarian/importer/create_comics.py +2 -2
- codex/librarian/importer/create_covers.py +1 -1
- codex/librarian/importer/create_fks.py +4 -3
- codex/librarian/importer/deleted.py +3 -3
- codex/librarian/importer/extract.py +2 -2
- codex/librarian/importer/failed_imports.py +1 -1
- codex/librarian/importer/importer.py +3 -1
- codex/librarian/importer/importerd.py +3 -3
- codex/librarian/importer/link_comics.py +2 -1
- codex/librarian/importer/moved.py +2 -7
- codex/librarian/importer/query_fks.py +3 -6
- codex/librarian/importer/tasks.py +1 -1
- codex/librarian/janitor/integrity.py +27 -20
- codex/librarian/janitor/janitor.py +5 -2
- codex/librarian/janitor/latest_version.py +1 -1
- codex/librarian/janitor/update.py +2 -2
- codex/librarian/janitor/vacuum.py +1 -1
- codex/librarian/librariand.py +16 -15
- codex/librarian/notifier/notifierd.py +2 -1
- codex/librarian/search/optimize.py +1 -1
- codex/librarian/search/remove.py +1 -1
- codex/librarian/search/update.py +11 -7
- codex/librarian/telemeter/stats.py +7 -6
- codex/librarian/telemeter/telemeter.py +0 -1
- codex/librarian/watchdog/db_snapshot.py +3 -3
- codex/librarian/watchdog/dir_snapshot_diff.py +3 -4
- codex/librarian/watchdog/emitter.py +4 -4
- codex/librarian/watchdog/event_batcherd.py +2 -1
- codex/librarian/watchdog/events.py +1 -2
- codex/librarian/watchdog/observers.py +15 -10
- codex/logger/loggerd.py +40 -17
- codex/logger/logging.py +1 -1
- codex/memory.py +3 -2
- codex/migrations/0001_init.py +1 -2
- codex/migrations/0014_pdf_issue_suffix_remove_cover_image_sort_name.py +1 -2
- codex/migrations/0018_rename_userbookmark_bookmark.py +1 -2
- codex/migrations/0028_telemeter.py +1 -5
- codex/migrations/0031_adminflag_banner.py +50 -0
- codex/models/admin.py +4 -3
- codex/models/base.py +3 -1
- codex/models/bookmark.py +4 -7
- codex/models/comic.py +2 -2
- codex/models/functions.py +12 -5
- codex/models/groups.py +1 -1
- codex/models/library.py +1 -1
- codex/models/paths.py +4 -4
- codex/models/query.py +8 -4
- codex/models/util.py +1 -1
- codex/permissions.py +1 -1
- codex/run.py +1 -1
- codex/serializers/admin/flags.py +1 -1
- codex/serializers/admin/libraries.py +1 -3
- codex/serializers/auth.py +1 -0
- codex/serializers/browser/choices.py +2 -2
- codex/serializers/browser/mixins.py +5 -1
- codex/serializers/browser/settings.py +2 -2
- codex/serializers/fields.py +7 -7
- codex/serializers/models/base.py +1 -1
- codex/serializers/models/comic.py +2 -2
- codex/serializers/models/groups.py +0 -2
- codex/serializers/opds/authentication.py +2 -1
- codex/serializers/opds/v2/__init__.py +1 -0
- codex/serializers/opds/v2/facet.py +13 -0
- codex/serializers/opds/v2/feed.py +36 -0
- codex/serializers/opds/v2/links.py +75 -0
- codex/serializers/opds/v2/metadata.py +23 -0
- codex/serializers/opds/v2/progression.py +65 -0
- codex/serializers/opds/v2/publication.py +81 -0
- codex/serializers/opds/{v2_unused.py → v2/unused.py} +16 -9
- codex/serializers/route.py +2 -2
- codex/settings/settings.py +4 -3
- codex/signals/django_signals.py +1 -1
- codex/static_root/assets/VCheckbox-Dv6fwaDb.56abbfb00c8a.js +1 -0
- codex/static_root/assets/VCheckbox-Dv6fwaDb.56abbfb00c8a.js.br +0 -0
- codex/static_root/assets/VCheckbox-Dv6fwaDb.56abbfb00c8a.js.gz +0 -0
- codex/static_root/assets/VCheckbox-Dv6fwaDb.js +1 -0
- codex/static_root/assets/VCheckbox-Dv6fwaDb.js.br +0 -0
- codex/static_root/assets/VCheckbox-Dv6fwaDb.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-CNMFahfF.4ee9778a562e.js +1 -0
- codex/static_root/assets/VCheckboxBtn-CNMFahfF.4ee9778a562e.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-CNMFahfF.4ee9778a562e.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-CNMFahfF.js +1 -0
- codex/static_root/assets/VCheckboxBtn-CNMFahfF.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-CNMFahfF.js.gz +0 -0
- codex/static_root/assets/VCombobox-DqBFki-9.2806f95c938d.js +1 -0
- codex/static_root/assets/VCombobox-DqBFki-9.2806f95c938d.js.br +0 -0
- codex/static_root/assets/VCombobox-DqBFki-9.2806f95c938d.js.gz +0 -0
- codex/static_root/assets/VCombobox-DqBFki-9.js +1 -0
- codex/static_root/assets/VCombobox-DqBFki-9.js.br +0 -0
- codex/static_root/assets/VCombobox-DqBFki-9.js.gz +0 -0
- codex/static_root/assets/VDialog-CQXjBvDZ.1a576c5e472f.js +1 -0
- codex/static_root/assets/VDialog-CQXjBvDZ.1a576c5e472f.js.br +0 -0
- codex/static_root/assets/VDialog-CQXjBvDZ.1a576c5e472f.js.gz +0 -0
- codex/static_root/assets/VDialog-CQXjBvDZ.js +1 -0
- codex/static_root/assets/VDialog-CQXjBvDZ.js.br +0 -0
- codex/static_root/assets/VDialog-CQXjBvDZ.js.gz +0 -0
- codex/static_root/assets/VDialog-DWos4S54.b07aca713774.css +1 -0
- codex/static_root/assets/VDialog-DWos4S54.b07aca713774.css.br +0 -0
- codex/static_root/assets/VDialog-DWos4S54.b07aca713774.css.gz +0 -0
- codex/static_root/assets/VDialog-DWos4S54.css +1 -0
- codex/static_root/assets/VDialog-DWos4S54.css.br +0 -0
- codex/static_root/assets/VDialog-DWos4S54.css.gz +0 -0
- codex/static_root/assets/VDivider-DU47sRrT.3d2e17799e5c.css +1 -0
- codex/static_root/assets/VDivider-DU47sRrT.3d2e17799e5c.css.br +0 -0
- codex/static_root/assets/VDivider-DU47sRrT.3d2e17799e5c.css.gz +0 -0
- codex/static_root/assets/VDivider-DU47sRrT.css +1 -0
- codex/static_root/assets/VDivider-DU47sRrT.css.br +0 -0
- codex/static_root/assets/VDivider-DU47sRrT.css.gz +0 -0
- codex/static_root/assets/VDivider-DUxQu-IZ.73d92ae2a07e.js +1 -0
- codex/static_root/assets/VDivider-DUxQu-IZ.73d92ae2a07e.js.br +0 -0
- codex/static_root/assets/VDivider-DUxQu-IZ.73d92ae2a07e.js.gz +0 -0
- codex/static_root/assets/VDivider-DUxQu-IZ.js +1 -0
- codex/static_root/assets/VDivider-DUxQu-IZ.js.br +0 -0
- codex/static_root/assets/VDivider-DUxQu-IZ.js.gz +0 -0
- codex/static_root/assets/VExpansionPanels-BaYzHUJp.5346826103eb.js +1 -0
- codex/static_root/assets/VExpansionPanels-BaYzHUJp.5346826103eb.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-BaYzHUJp.5346826103eb.js.gz +0 -0
- codex/static_root/assets/VExpansionPanels-BaYzHUJp.js +1 -0
- codex/static_root/assets/VExpansionPanels-BaYzHUJp.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-BaYzHUJp.js.gz +0 -0
- codex/static_root/assets/VForm-DxBt30-N.138c0b89b6fc.css +1 -0
- codex/static_root/assets/VForm-DxBt30-N.138c0b89b6fc.css.br +0 -0
- codex/static_root/assets/VForm-DxBt30-N.138c0b89b6fc.css.gz +0 -0
- codex/static_root/assets/VForm-DxBt30-N.css +1 -0
- codex/static_root/assets/VForm-DxBt30-N.css.br +0 -0
- codex/static_root/assets/VForm-DxBt30-N.css.gz +0 -0
- codex/static_root/assets/VForm-hB4C5jVd.a2b90ddcd8ee.js +1 -0
- codex/static_root/assets/VForm-hB4C5jVd.a2b90ddcd8ee.js.br +0 -0
- codex/static_root/assets/VForm-hB4C5jVd.a2b90ddcd8ee.js.gz +0 -0
- codex/static_root/assets/VForm-hB4C5jVd.js +1 -0
- codex/static_root/assets/VForm-hB4C5jVd.js.br +0 -0
- codex/static_root/assets/VForm-hB4C5jVd.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-DOjw38qB.cbf2922d05af.js +1 -0
- codex/static_root/assets/VRadioGroup-DOjw38qB.cbf2922d05af.js.br +0 -0
- codex/static_root/assets/VRadioGroup-DOjw38qB.cbf2922d05af.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-DOjw38qB.js +1 -0
- codex/static_root/assets/VRadioGroup-DOjw38qB.js.br +0 -0
- codex/static_root/assets/VRadioGroup-DOjw38qB.js.gz +0 -0
- codex/static_root/assets/VSelect-CP_CVb8s.6309f7bf17bb.css +1 -0
- codex/static_root/assets/VSelect-CP_CVb8s.6309f7bf17bb.css.br +0 -0
- codex/static_root/assets/VSelect-CP_CVb8s.6309f7bf17bb.css.gz +0 -0
- codex/static_root/assets/VSelect-CP_CVb8s.css +1 -0
- codex/static_root/assets/VSelect-CP_CVb8s.css.br +0 -0
- codex/static_root/assets/VSelect-CP_CVb8s.css.gz +0 -0
- codex/static_root/assets/VSelect-L4v_m3ag.db9fb8348617.js +1 -0
- codex/static_root/assets/VSelect-L4v_m3ag.db9fb8348617.js.br +0 -0
- codex/static_root/assets/VSelect-L4v_m3ag.db9fb8348617.js.gz +0 -0
- codex/static_root/assets/VSelect-L4v_m3ag.js +1 -0
- codex/static_root/assets/VSelect-L4v_m3ag.js.br +0 -0
- codex/static_root/assets/VSelect-L4v_m3ag.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-BqB1JeKa.2fb68a673402.js +1 -0
- codex/static_root/assets/VSelectionControl-BqB1JeKa.2fb68a673402.js.br +0 -0
- codex/static_root/assets/VSelectionControl-BqB1JeKa.2fb68a673402.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-BqB1JeKa.js +1 -0
- codex/static_root/assets/VSelectionControl-BqB1JeKa.js.br +0 -0
- codex/static_root/assets/VSelectionControl-BqB1JeKa.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-DPpfgCW2.cc18de4e83f6.css +1 -0
- codex/static_root/assets/VSelectionControl-DPpfgCW2.cc18de4e83f6.css.br +0 -0
- codex/static_root/assets/VSelectionControl-DPpfgCW2.cc18de4e83f6.css.gz +0 -0
- codex/static_root/assets/VSelectionControl-DPpfgCW2.css +1 -0
- codex/static_root/assets/VSelectionControl-DPpfgCW2.css.br +0 -0
- codex/static_root/assets/VSelectionControl-DPpfgCW2.css.gz +0 -0
- codex/static_root/assets/VTable-CtorAbOx.bbda450cbd73.js +1 -0
- codex/static_root/assets/VTable-CtorAbOx.bbda450cbd73.js.br +0 -0
- codex/static_root/assets/VTable-CtorAbOx.bbda450cbd73.js.gz +0 -0
- codex/static_root/assets/VTable-CtorAbOx.js +1 -0
- codex/static_root/assets/VTable-CtorAbOx.js.br +0 -0
- codex/static_root/assets/VTable-CtorAbOx.js.gz +0 -0
- codex/static_root/assets/VWindowItem-Bl-fa3ss.334e6b813775.js +1 -0
- codex/static_root/assets/VWindowItem-Bl-fa3ss.334e6b813775.js.br +0 -0
- codex/static_root/assets/VWindowItem-Bl-fa3ss.334e6b813775.js.gz +0 -0
- codex/static_root/assets/VWindowItem-Bl-fa3ss.js +1 -0
- codex/static_root/assets/VWindowItem-Bl-fa3ss.js.br +0 -0
- codex/static_root/assets/VWindowItem-Bl-fa3ss.js.gz +0 -0
- codex/static_root/assets/admin-BAVKNREt.23c0966bd683.js +1 -0
- codex/static_root/assets/admin-BAVKNREt.23c0966bd683.js.br +0 -0
- codex/static_root/assets/admin-BAVKNREt.23c0966bd683.js.gz +0 -0
- codex/static_root/assets/admin-BAVKNREt.js +1 -0
- codex/static_root/assets/admin-BAVKNREt.js.br +0 -0
- codex/static_root/assets/admin-BAVKNREt.js.gz +0 -0
- codex/static_root/assets/admin-C3iCIUnm.06cb213f624d.css +1 -0
- codex/static_root/assets/admin-C3iCIUnm.06cb213f624d.css.br +0 -0
- codex/static_root/assets/admin-C3iCIUnm.06cb213f624d.css.gz +0 -0
- codex/static_root/assets/admin-C3iCIUnm.css +1 -0
- codex/static_root/assets/admin-C3iCIUnm.css.br +0 -0
- codex/static_root/assets/admin-C3iCIUnm.css.gz +0 -0
- codex/static_root/assets/admin-CHuFhx_t.a54700f97fc8.js +1 -0
- codex/static_root/assets/admin-CHuFhx_t.a54700f97fc8.js.br +0 -0
- codex/static_root/assets/admin-CHuFhx_t.a54700f97fc8.js.gz +0 -0
- codex/static_root/assets/admin-CHuFhx_t.js +1 -0
- codex/static_root/assets/admin-CHuFhx_t.js.br +0 -0
- codex/static_root/assets/admin-CHuFhx_t.js.gz +0 -0
- codex/static_root/assets/admin-menu-T8WJ_x0C.4f011540bb4c.js +1 -0
- codex/static_root/assets/admin-menu-T8WJ_x0C.4f011540bb4c.js.br +0 -0
- codex/static_root/assets/admin-menu-T8WJ_x0C.4f011540bb4c.js.gz +0 -0
- codex/static_root/assets/admin-menu-T8WJ_x0C.js +1 -0
- codex/static_root/assets/admin-menu-T8WJ_x0C.js.br +0 -0
- codex/static_root/assets/admin-menu-T8WJ_x0C.js.gz +0 -0
- codex/static_root/assets/admin-settings-button-progress-w_CqTSMl.7b36216f68b5.js +1 -0
- codex/static_root/assets/admin-settings-button-progress-w_CqTSMl.7b36216f68b5.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-w_CqTSMl.7b36216f68b5.js.gz +0 -0
- codex/static_root/assets/admin-settings-button-progress-w_CqTSMl.js +1 -0
- codex/static_root/assets/admin-settings-button-progress-w_CqTSMl.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-w_CqTSMl.js.gz +0 -0
- codex/static_root/assets/browser-DNzQvgkY.aea8b7d7ca40.css +1 -0
- codex/static_root/assets/browser-DNzQvgkY.aea8b7d7ca40.css.br +0 -0
- codex/static_root/assets/browser-DNzQvgkY.aea8b7d7ca40.css.gz +0 -0
- codex/static_root/assets/browser-DNzQvgkY.css +1 -0
- codex/static_root/assets/browser-DNzQvgkY.css.br +0 -0
- codex/static_root/assets/browser-DNzQvgkY.css.gz +0 -0
- codex/static_root/assets/browser-DdLCtUlr.380b79bea4a7.js +1 -0
- codex/static_root/assets/browser-DdLCtUlr.380b79bea4a7.js.br +0 -0
- codex/static_root/assets/browser-DdLCtUlr.380b79bea4a7.js.gz +0 -0
- codex/static_root/assets/browser-DdLCtUlr.js +1 -0
- codex/static_root/assets/browser-DdLCtUlr.js.br +0 -0
- codex/static_root/assets/browser-DdLCtUlr.js.gz +0 -0
- codex/static_root/assets/change-password-dialog-Cy1tU-tj.416ef5bdfd46.js +1 -0
- codex/static_root/assets/change-password-dialog-Cy1tU-tj.416ef5bdfd46.js.br +0 -0
- codex/static_root/assets/change-password-dialog-Cy1tU-tj.416ef5bdfd46.js.gz +0 -0
- codex/static_root/assets/change-password-dialog-Cy1tU-tj.js +1 -0
- codex/static_root/assets/change-password-dialog-Cy1tU-tj.js.br +0 -0
- codex/static_root/assets/change-password-dialog-Cy1tU-tj.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-B_Y3KKiL.1070d18f6b2d.js +1 -0
- codex/static_root/assets/confirm-dialog-B_Y3KKiL.1070d18f6b2d.js.br +0 -0
- codex/static_root/assets/confirm-dialog-B_Y3KKiL.1070d18f6b2d.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-B_Y3KKiL.js +1 -0
- codex/static_root/assets/confirm-dialog-B_Y3KKiL.js.br +0 -0
- codex/static_root/assets/confirm-dialog-B_Y3KKiL.js.gz +0 -0
- codex/static_root/assets/datetime-column-DVC0YqHC.03bb52c198e9.js +1 -0
- codex/static_root/assets/datetime-column-DVC0YqHC.03bb52c198e9.js.br +0 -0
- codex/static_root/assets/datetime-column-DVC0YqHC.03bb52c198e9.js.gz +0 -0
- codex/static_root/assets/datetime-column-DVC0YqHC.js +1 -0
- codex/static_root/assets/datetime-column-DVC0YqHC.js.br +0 -0
- codex/static_root/assets/datetime-column-DVC0YqHC.js.gz +0 -0
- codex/static_root/assets/{filter-ud5mPZpn.0f0a537959aa.js → filter-xcEcgcIx.be1bb4725c89.js} +1 -1
- codex/static_root/assets/filter-xcEcgcIx.be1bb4725c89.js.br +0 -0
- codex/static_root/assets/filter-xcEcgcIx.be1bb4725c89.js.gz +0 -0
- codex/static_root/assets/{filter-ud5mPZpn.js → filter-xcEcgcIx.js} +1 -1
- codex/static_root/assets/filter-xcEcgcIx.js.br +0 -0
- codex/static_root/assets/filter-xcEcgcIx.js.gz +0 -0
- codex/static_root/assets/flag-tab-BOyQb0kr.842fca93f19c.js +1 -0
- codex/static_root/assets/flag-tab-BOyQb0kr.842fca93f19c.js.br +0 -0
- codex/static_root/assets/flag-tab-BOyQb0kr.842fca93f19c.js.gz +0 -0
- codex/static_root/assets/flag-tab-BOyQb0kr.js +1 -0
- codex/static_root/assets/flag-tab-BOyQb0kr.js.br +0 -0
- codex/static_root/assets/flag-tab-BOyQb0kr.js.gz +0 -0
- codex/static_root/assets/flag-tab-D2MYXCHk.0f57e109c01b.css +1 -0
- codex/static_root/assets/flag-tab-D2MYXCHk.0f57e109c01b.css.br +0 -0
- codex/static_root/assets/flag-tab-D2MYXCHk.0f57e109c01b.css.gz +0 -0
- codex/static_root/assets/flag-tab-D2MYXCHk.css +1 -0
- codex/static_root/assets/flag-tab-D2MYXCHk.css.br +0 -0
- codex/static_root/assets/flag-tab-D2MYXCHk.css.gz +0 -0
- codex/static_root/assets/forwardRefs-CFNX6kJ2.9b56b4459240.css +1 -0
- codex/static_root/assets/forwardRefs-CFNX6kJ2.9b56b4459240.css.br +0 -0
- codex/static_root/assets/forwardRefs-CFNX6kJ2.9b56b4459240.css.gz +0 -0
- codex/static_root/assets/forwardRefs-CFNX6kJ2.css +1 -0
- codex/static_root/assets/forwardRefs-CFNX6kJ2.css.br +0 -0
- codex/static_root/assets/forwardRefs-CFNX6kJ2.css.gz +0 -0
- codex/static_root/assets/forwardRefs-D1ZDjzWx.96fccf773093.js +1 -0
- codex/static_root/assets/forwardRefs-D1ZDjzWx.96fccf773093.js.br +0 -0
- codex/static_root/assets/forwardRefs-D1ZDjzWx.96fccf773093.js.gz +0 -0
- codex/static_root/assets/forwardRefs-D1ZDjzWx.js +1 -0
- codex/static_root/assets/forwardRefs-D1ZDjzWx.js.br +0 -0
- codex/static_root/assets/forwardRefs-D1ZDjzWx.js.gz +0 -0
- codex/static_root/assets/group-tab-DkAIGL8z.527cad03c21d.js +1 -0
- codex/static_root/assets/group-tab-DkAIGL8z.527cad03c21d.js.br +0 -0
- codex/static_root/assets/group-tab-DkAIGL8z.527cad03c21d.js.gz +0 -0
- codex/static_root/assets/group-tab-DkAIGL8z.js +1 -0
- codex/static_root/assets/group-tab-DkAIGL8z.js.br +0 -0
- codex/static_root/assets/group-tab-DkAIGL8z.js.gz +0 -0
- codex/static_root/assets/http-error-CODU7jcH.8c13689ae574.css +1 -0
- 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 +1 -0
- 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-CjSb8orc.ad6fc5733ed8.js +1 -0
- codex/static_root/assets/http-error-CjSb8orc.ad6fc5733ed8.js.br +0 -0
- codex/static_root/assets/http-error-CjSb8orc.ad6fc5733ed8.js.gz +0 -0
- codex/static_root/assets/http-error-CjSb8orc.js +1 -0
- codex/static_root/assets/http-error-CjSb8orc.js.br +0 -0
- codex/static_root/assets/http-error-CjSb8orc.js.gz +0 -0
- codex/static_root/assets/index-CoFXW6I0.27f397e1425e.js +1 -0
- codex/static_root/assets/index-CoFXW6I0.27f397e1425e.js.br +0 -0
- codex/static_root/assets/index-CoFXW6I0.27f397e1425e.js.gz +0 -0
- codex/static_root/assets/index-CoFXW6I0.js +1 -0
- codex/static_root/assets/index-CoFXW6I0.js.br +0 -0
- codex/static_root/assets/index-CoFXW6I0.js.gz +0 -0
- codex/static_root/assets/{library-tab-Cat0MAK5.5911f022188e.css → library-tab-CgsXOX_r.75baedb7e976.css} +1 -1
- codex/static_root/assets/library-tab-CgsXOX_r.75baedb7e976.css.br +0 -0
- codex/static_root/assets/library-tab-CgsXOX_r.75baedb7e976.css.gz +0 -0
- codex/static_root/assets/{library-tab-Cat0MAK5.css → library-tab-CgsXOX_r.css} +1 -1
- codex/static_root/assets/library-tab-CgsXOX_r.css.br +0 -0
- codex/static_root/assets/library-tab-CgsXOX_r.css.gz +0 -0
- codex/static_root/assets/library-tab-hkMMBz1x.02270491d822.js +1 -0
- codex/static_root/assets/library-tab-hkMMBz1x.02270491d822.js.br +0 -0
- codex/static_root/assets/library-tab-hkMMBz1x.02270491d822.js.gz +0 -0
- codex/static_root/assets/library-tab-hkMMBz1x.js +1 -0
- codex/static_root/assets/library-tab-hkMMBz1x.js.br +0 -0
- codex/static_root/assets/library-tab-hkMMBz1x.js.gz +0 -0
- codex/static_root/assets/main-DCaPxp2h.076707ddd123.js +35 -0
- codex/static_root/assets/main-DCaPxp2h.076707ddd123.js.br +0 -0
- codex/static_root/assets/main-DCaPxp2h.076707ddd123.js.gz +0 -0
- codex/static_root/assets/main-DCaPxp2h.js +35 -0
- codex/static_root/assets/main-DCaPxp2h.js.br +0 -0
- codex/static_root/assets/main-DCaPxp2h.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-CwmA9y3l.e7dfdd2a6937.js +1 -0
- codex/static_root/assets/pager-full-pdf-CwmA9y3l.e7dfdd2a6937.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-CwmA9y3l.e7dfdd2a6937.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-CwmA9y3l.js +1 -0
- codex/static_root/assets/pager-full-pdf-CwmA9y3l.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-CwmA9y3l.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-D5VQREy5.css +1 -0
- codex/static_root/assets/pagination-toolbar-D5VQREy5.css.br +0 -0
- codex/static_root/assets/pagination-toolbar-D5VQREy5.css.gz +0 -0
- codex/static_root/assets/pagination-toolbar-D5VQREy5.dcb0eba65827.css +1 -0
- codex/static_root/assets/pagination-toolbar-D5VQREy5.dcb0eba65827.css.br +0 -0
- codex/static_root/assets/pagination-toolbar-D5VQREy5.dcb0eba65827.css.gz +0 -0
- codex/static_root/assets/pagination-toolbar-DoqxSygU.f985bc705fe5.js +1 -0
- codex/static_root/assets/pagination-toolbar-DoqxSygU.f985bc705fe5.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-DoqxSygU.f985bc705fe5.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-DoqxSygU.js +1 -0
- codex/static_root/assets/pagination-toolbar-DoqxSygU.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-DoqxSygU.js.gz +0 -0
- codex/static_root/assets/pdf-doc-BwxvAx1z.96cbc39c321d.js +348 -0
- codex/static_root/assets/pdf-doc-BwxvAx1z.96cbc39c321d.js.br +0 -0
- codex/static_root/assets/pdf-doc-BwxvAx1z.96cbc39c321d.js.gz +0 -0
- codex/static_root/assets/pdf-doc-BwxvAx1z.js +348 -0
- codex/static_root/assets/pdf-doc-BwxvAx1z.js.br +0 -0
- codex/static_root/assets/pdf-doc-BwxvAx1z.js.gz +0 -0
- codex/static_root/assets/{reader-Dd2KmdCN.115d4bfe9280.css → reader-D_3ruSqa.2ed32f08e906.css} +1 -1
- codex/static_root/assets/reader-D_3ruSqa.2ed32f08e906.css.br +0 -0
- codex/static_root/assets/reader-D_3ruSqa.2ed32f08e906.css.gz +0 -0
- codex/static_root/assets/{reader-Dd2KmdCN.css → reader-D_3ruSqa.css} +1 -1
- codex/static_root/assets/reader-D_3ruSqa.css.br +0 -0
- codex/static_root/assets/reader-D_3ruSqa.css.gz +0 -0
- codex/static_root/assets/reader-hHIonVbA.4c12219242a9.js +2 -0
- codex/static_root/assets/reader-hHIonVbA.4c12219242a9.js.br +0 -0
- codex/static_root/assets/reader-hHIonVbA.4c12219242a9.js.gz +0 -0
- codex/static_root/assets/reader-hHIonVbA.js +2 -0
- codex/static_root/assets/reader-hHIonVbA.js.br +0 -0
- codex/static_root/assets/reader-hHIonVbA.js.gz +0 -0
- codex/static_root/assets/relation-chips-D7-5kPem.4443b085aca2.js +1 -0
- codex/static_root/assets/relation-chips-D7-5kPem.4443b085aca2.js.br +0 -0
- codex/static_root/assets/relation-chips-D7-5kPem.4443b085aca2.js.gz +0 -0
- codex/static_root/assets/relation-chips-D7-5kPem.js +1 -0
- codex/static_root/assets/relation-chips-D7-5kPem.js.br +0 -0
- codex/static_root/assets/relation-chips-D7-5kPem.js.gz +0 -0
- codex/static_root/assets/settings-drawer-CdFmOhnd.f7dcd12b3ebc.js +2 -0
- codex/static_root/assets/settings-drawer-CdFmOhnd.f7dcd12b3ebc.js.br +0 -0
- codex/static_root/assets/settings-drawer-CdFmOhnd.f7dcd12b3ebc.js.gz +0 -0
- codex/static_root/assets/settings-drawer-CdFmOhnd.js +2 -0
- codex/static_root/assets/settings-drawer-CdFmOhnd.js.br +0 -0
- codex/static_root/assets/settings-drawer-CdFmOhnd.js.gz +0 -0
- codex/static_root/assets/settings-drawer-DMSsWF8c.75a6ea969e71.css +1 -0
- codex/static_root/assets/settings-drawer-DMSsWF8c.75a6ea969e71.css.br +0 -0
- codex/static_root/assets/settings-drawer-DMSsWF8c.75a6ea969e71.css.gz +0 -0
- codex/static_root/assets/settings-drawer-DMSsWF8c.css +1 -0
- codex/static_root/assets/settings-drawer-DMSsWF8c.css.br +0 -0
- codex/static_root/assets/settings-drawer-DMSsWF8c.css.gz +0 -0
- codex/static_root/assets/stats-tab-BzaipD0m.b6bf627ea860.js +1 -0
- codex/static_root/assets/stats-tab-BzaipD0m.b6bf627ea860.js.br +0 -0
- codex/static_root/assets/stats-tab-BzaipD0m.b6bf627ea860.js.gz +0 -0
- codex/static_root/assets/stats-tab-BzaipD0m.js +1 -0
- codex/static_root/assets/stats-tab-BzaipD0m.js.br +0 -0
- codex/static_root/assets/stats-tab-BzaipD0m.js.gz +0 -0
- codex/static_root/assets/task-tab-DCnS1sM9.44d8435b4989.js +1 -0
- codex/static_root/assets/task-tab-DCnS1sM9.44d8435b4989.js.br +0 -0
- codex/static_root/assets/task-tab-DCnS1sM9.44d8435b4989.js.gz +0 -0
- codex/static_root/assets/task-tab-DCnS1sM9.js +1 -0
- codex/static_root/assets/task-tab-DCnS1sM9.js.br +0 -0
- codex/static_root/assets/task-tab-DCnS1sM9.js.gz +0 -0
- codex/static_root/assets/unauthorized-CsSak07X.c5536d9dae75.css +1 -0
- codex/static_root/assets/unauthorized-CsSak07X.c5536d9dae75.css.br +0 -0
- codex/static_root/assets/unauthorized-CsSak07X.c5536d9dae75.css.gz +0 -0
- codex/static_root/assets/unauthorized-CsSak07X.css +1 -0
- codex/static_root/assets/unauthorized-CsSak07X.css.br +0 -0
- codex/static_root/assets/unauthorized-CsSak07X.css.gz +0 -0
- codex/static_root/assets/unauthorized-DJSr03Dw.7555cbcf1064.js +1 -0
- codex/static_root/assets/unauthorized-DJSr03Dw.7555cbcf1064.js.br +0 -0
- codex/static_root/assets/unauthorized-DJSr03Dw.7555cbcf1064.js.gz +0 -0
- codex/static_root/assets/unauthorized-DJSr03Dw.js +1 -0
- codex/static_root/assets/unauthorized-DJSr03Dw.js.br +0 -0
- codex/static_root/assets/unauthorized-DJSr03Dw.js.gz +0 -0
- codex/static_root/assets/user-tab-DAK_Deoh.1832877d449a.js +1 -0
- codex/static_root/assets/user-tab-DAK_Deoh.1832877d449a.js.br +0 -0
- codex/static_root/assets/user-tab-DAK_Deoh.1832877d449a.js.gz +0 -0
- codex/static_root/assets/user-tab-DAK_Deoh.js +1 -0
- codex/static_root/assets/user-tab-DAK_Deoh.js.br +0 -0
- codex/static_root/assets/user-tab-DAK_Deoh.js.gz +0 -0
- codex/static_root/manifest.cbc39bca88fc.json +735 -0
- codex/static_root/manifest.cbc39bca88fc.json.br +0 -0
- codex/static_root/manifest.cbc39bca88fc.json.gz +0 -0
- codex/static_root/manifest.json +388 -365
- codex/static_root/manifest.json.br +0 -0
- codex/static_root/manifest.json.gz +0 -0
- codex/static_root/staticfiles.json +1 -1
- codex/status_controller.py +9 -12
- codex/templates/index.html +1 -1
- codex/threads.py +3 -3
- codex/urls/api/admin.py +4 -3
- codex/urls/api/browser.py +1 -1
- codex/urls/opds/v2.py +6 -0
- codex/urls/root.py +4 -3
- codex/views/admin/api_key.py +1 -4
- codex/views/admin/flag.py +5 -1
- codex/views/admin/library.py +4 -4
- codex/views/admin/stats.py +10 -10
- codex/views/admin/tasks.py +9 -9
- codex/views/auth.py +3 -8
- codex/views/bookmark.py +53 -41
- codex/views/browser/annotate/bookmark.py +6 -4
- codex/views/browser/annotate/card.py +3 -18
- codex/views/browser/annotate/order.py +51 -25
- codex/views/browser/bookmark.py +53 -0
- codex/views/browser/breadcrumbs.py +6 -5
- codex/views/browser/browser.py +2 -2
- codex/views/browser/choices.py +6 -5
- codex/views/browser/cover.py +6 -3
- codex/views/browser/download.py +4 -1
- codex/views/browser/filters/bookmark.py +5 -33
- codex/views/browser/filters/field.py +1 -1
- codex/views/browser/filters/filter.py +6 -8
- codex/views/browser/filters/group.py +5 -4
- codex/views/browser/filters/search/field/expression.py +1 -2
- codex/views/browser/filters/search/field/optimize.py +1 -1
- codex/views/browser/filters/search/field/parse.py +2 -2
- codex/views/browser/filters/search/parse.py +4 -19
- codex/views/browser/group_mtime.py +3 -3
- codex/views/browser/metadata/annotate.py +1 -1
- codex/views/browser/metadata/copy_intersections.py +1 -1
- codex/views/browser/metadata/metadata.py +2 -2
- codex/views/browser/mtime.py +1 -1
- codex/views/browser/order_by.py +9 -6
- codex/views/browser/params.py +1 -1
- codex/views/browser/settings.py +1 -1
- codex/views/browser/validate.py +8 -5
- codex/views/const.py +0 -3
- codex/views/frontend.py +20 -5
- codex/views/mixins.py +19 -30
- codex/views/opds/authentication_v1.py +1 -1
- codex/views/opds/const.py +6 -4
- codex/views/opds/util.py +5 -5
- codex/views/opds/v1/entry/entry.py +4 -2
- codex/views/opds/v1/entry/links.py +5 -7
- codex/views/opds/v1/facets.py +8 -4
- codex/views/opds/v1/feed.py +5 -5
- codex/views/opds/v1/links.py +11 -6
- codex/views/opds/v2/const.py +5 -2
- codex/views/opds/v2/feed.py +6 -5
- codex/views/opds/v2/href.py +60 -0
- codex/views/opds/v2/links.py +13 -47
- codex/views/opds/v2/progression.py +136 -0
- codex/views/opds/v2/publications.py +31 -21
- codex/views/opds/v2/top_links.py +2 -1
- codex/views/public.py +12 -5
- codex/views/reader/books.py +22 -10
- codex/views/reader/page.py +8 -8
- codex/views/reader/params.py +2 -2
- codex/views/reader/reader.py +6 -6
- codex/views/reader/settings.py +1 -1
- codex/views/session.py +8 -2
- codex/views/settings.py +2 -2
- codex/views/timezone.py +2 -2
- codex/views/util.py +10 -9
- codex/views/version.py +1 -1
- {codex-1.7.2.dist-info → codex-1.7.3.dist-info}/METADATA +21 -26
- codex-1.7.3.dist-info/RECORD +1031 -0
- {codex-1.7.2.dist-info → codex-1.7.3.dist-info}/WHEEL +1 -1
- codex/serializers/opds/v2.py +0 -178
- codex/static_root/assets/VCheckbox-DLMzIII1.1ff8fc2d9a21.js +0 -1
- codex/static_root/assets/VCheckbox-DLMzIII1.1ff8fc2d9a21.js.br +0 -0
- codex/static_root/assets/VCheckbox-DLMzIII1.1ff8fc2d9a21.js.gz +0 -0
- codex/static_root/assets/VCheckbox-DLMzIII1.js +0 -1
- codex/static_root/assets/VCheckbox-DLMzIII1.js.br +0 -0
- codex/static_root/assets/VCheckbox-DLMzIII1.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-BzoQl8XC.094679a3624b.js +0 -1
- codex/static_root/assets/VCheckboxBtn-BzoQl8XC.094679a3624b.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-BzoQl8XC.094679a3624b.js.gz +0 -0
- codex/static_root/assets/VCheckboxBtn-BzoQl8XC.js +0 -1
- codex/static_root/assets/VCheckboxBtn-BzoQl8XC.js.br +0 -0
- codex/static_root/assets/VCheckboxBtn-BzoQl8XC.js.gz +0 -0
- codex/static_root/assets/VCombobox-CBY8K5CP.fcf2221a9edd.js +0 -1
- codex/static_root/assets/VCombobox-CBY8K5CP.fcf2221a9edd.js.br +0 -0
- codex/static_root/assets/VCombobox-CBY8K5CP.fcf2221a9edd.js.gz +0 -0
- codex/static_root/assets/VCombobox-CBY8K5CP.js +0 -1
- codex/static_root/assets/VCombobox-CBY8K5CP.js.br +0 -0
- codex/static_root/assets/VCombobox-CBY8K5CP.js.gz +0 -0
- codex/static_root/assets/VDialog-DXQz0Ylp.7b23d86dbd0d.css +0 -1
- codex/static_root/assets/VDialog-DXQz0Ylp.7b23d86dbd0d.css.br +0 -0
- codex/static_root/assets/VDialog-DXQz0Ylp.7b23d86dbd0d.css.gz +0 -0
- codex/static_root/assets/VDialog-DXQz0Ylp.css +0 -1
- codex/static_root/assets/VDialog-DXQz0Ylp.css.br +0 -0
- codex/static_root/assets/VDialog-DXQz0Ylp.css.gz +0 -0
- codex/static_root/assets/VDialog-Db4tJYqR.e21a79a5030e.js +0 -1
- codex/static_root/assets/VDialog-Db4tJYqR.e21a79a5030e.js.br +0 -0
- codex/static_root/assets/VDialog-Db4tJYqR.e21a79a5030e.js.gz +0 -0
- codex/static_root/assets/VDialog-Db4tJYqR.js +0 -1
- codex/static_root/assets/VDialog-Db4tJYqR.js.br +0 -0
- codex/static_root/assets/VDialog-Db4tJYqR.js.gz +0 -0
- codex/static_root/assets/VExpansionPanels-DN4yGbOt.163e59e38865.js +0 -1
- codex/static_root/assets/VExpansionPanels-DN4yGbOt.163e59e38865.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-DN4yGbOt.163e59e38865.js.gz +0 -0
- codex/static_root/assets/VExpansionPanels-DN4yGbOt.js +0 -1
- codex/static_root/assets/VExpansionPanels-DN4yGbOt.js.br +0 -0
- codex/static_root/assets/VExpansionPanels-DN4yGbOt.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-D2-PWEfs.ce7644863c25.js +0 -1
- codex/static_root/assets/VRadioGroup-D2-PWEfs.ce7644863c25.js.br +0 -0
- codex/static_root/assets/VRadioGroup-D2-PWEfs.ce7644863c25.js.gz +0 -0
- codex/static_root/assets/VRadioGroup-D2-PWEfs.js +0 -1
- codex/static_root/assets/VRadioGroup-D2-PWEfs.js.br +0 -0
- codex/static_root/assets/VRadioGroup-D2-PWEfs.js.gz +0 -0
- codex/static_root/assets/VSelect-DLu8bpcs.98bdcf35411c.css +0 -1
- codex/static_root/assets/VSelect-DLu8bpcs.98bdcf35411c.css.br +0 -0
- codex/static_root/assets/VSelect-DLu8bpcs.98bdcf35411c.css.gz +0 -0
- codex/static_root/assets/VSelect-DLu8bpcs.css +0 -1
- codex/static_root/assets/VSelect-DLu8bpcs.css.br +0 -0
- codex/static_root/assets/VSelect-DLu8bpcs.css.gz +0 -0
- codex/static_root/assets/VSelect-DqXJ23Pc.a1360cbed050.js +0 -1
- codex/static_root/assets/VSelect-DqXJ23Pc.a1360cbed050.js.br +0 -0
- codex/static_root/assets/VSelect-DqXJ23Pc.a1360cbed050.js.gz +0 -0
- codex/static_root/assets/VSelect-DqXJ23Pc.js +0 -1
- codex/static_root/assets/VSelect-DqXJ23Pc.js.br +0 -0
- codex/static_root/assets/VSelect-DqXJ23Pc.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-CiViEYoC.c77bb19a4a06.css +0 -1
- codex/static_root/assets/VSelectionControl-CiViEYoC.c77bb19a4a06.css.br +0 -0
- codex/static_root/assets/VSelectionControl-CiViEYoC.c77bb19a4a06.css.gz +0 -0
- codex/static_root/assets/VSelectionControl-CiViEYoC.css +0 -1
- codex/static_root/assets/VSelectionControl-CiViEYoC.css.br +0 -0
- codex/static_root/assets/VSelectionControl-CiViEYoC.css.gz +0 -0
- codex/static_root/assets/VSelectionControl-CxhDNufT.dd7ca99567fc.js +0 -1
- codex/static_root/assets/VSelectionControl-CxhDNufT.dd7ca99567fc.js.br +0 -0
- codex/static_root/assets/VSelectionControl-CxhDNufT.dd7ca99567fc.js.gz +0 -0
- codex/static_root/assets/VSelectionControl-CxhDNufT.js +0 -1
- codex/static_root/assets/VSelectionControl-CxhDNufT.js.br +0 -0
- codex/static_root/assets/VSelectionControl-CxhDNufT.js.gz +0 -0
- codex/static_root/assets/VSlideGroup-BtXPhMOT.830f136ffd41.css +0 -1
- codex/static_root/assets/VSlideGroup-BtXPhMOT.830f136ffd41.css.br +0 -0
- codex/static_root/assets/VSlideGroup-BtXPhMOT.830f136ffd41.css.gz +0 -0
- codex/static_root/assets/VSlideGroup-BtXPhMOT.css +0 -1
- codex/static_root/assets/VSlideGroup-BtXPhMOT.css.br +0 -0
- codex/static_root/assets/VSlideGroup-BtXPhMOT.css.gz +0 -0
- codex/static_root/assets/VSlideGroup-DRbthp6q.7365c5542d47.js +0 -1
- codex/static_root/assets/VSlideGroup-DRbthp6q.7365c5542d47.js.br +0 -0
- codex/static_root/assets/VSlideGroup-DRbthp6q.7365c5542d47.js.gz +0 -0
- codex/static_root/assets/VSlideGroup-DRbthp6q.js +0 -1
- codex/static_root/assets/VSlideGroup-DRbthp6q.js.br +0 -0
- codex/static_root/assets/VSlideGroup-DRbthp6q.js.gz +0 -0
- codex/static_root/assets/VTable-Cbq-yJos.c884706cac21.js +0 -1
- codex/static_root/assets/VTable-Cbq-yJos.c884706cac21.js.br +0 -0
- codex/static_root/assets/VTable-Cbq-yJos.c884706cac21.js.gz +0 -0
- codex/static_root/assets/VTable-Cbq-yJos.js +0 -1
- codex/static_root/assets/VTable-Cbq-yJos.js.br +0 -0
- codex/static_root/assets/VTable-Cbq-yJos.js.gz +0 -0
- codex/static_root/assets/VTextField-Crc3gdNh.39995ccf4d52.css +0 -1
- codex/static_root/assets/VTextField-Crc3gdNh.39995ccf4d52.css.br +0 -0
- codex/static_root/assets/VTextField-Crc3gdNh.39995ccf4d52.css.gz +0 -0
- codex/static_root/assets/VTextField-Crc3gdNh.css +0 -1
- codex/static_root/assets/VTextField-Crc3gdNh.css.br +0 -0
- codex/static_root/assets/VTextField-Crc3gdNh.css.gz +0 -0
- codex/static_root/assets/VTextField-X5yAw35c.155e276dd747.js +0 -1
- codex/static_root/assets/VTextField-X5yAw35c.155e276dd747.js.br +0 -0
- codex/static_root/assets/VTextField-X5yAw35c.155e276dd747.js.gz +0 -0
- codex/static_root/assets/VTextField-X5yAw35c.js +0 -1
- codex/static_root/assets/VTextField-X5yAw35c.js.br +0 -0
- codex/static_root/assets/VTextField-X5yAw35c.js.gz +0 -0
- codex/static_root/assets/VWindowItem-CRqhVh-9.cd73d01e0591.js +0 -1
- codex/static_root/assets/VWindowItem-CRqhVh-9.cd73d01e0591.js.br +0 -0
- codex/static_root/assets/VWindowItem-CRqhVh-9.cd73d01e0591.js.gz +0 -0
- codex/static_root/assets/VWindowItem-CRqhVh-9.js +0 -1
- codex/static_root/assets/VWindowItem-CRqhVh-9.js.br +0 -0
- codex/static_root/assets/VWindowItem-CRqhVh-9.js.gz +0 -0
- codex/static_root/assets/admin-BFvQwinN.6cfff21f780a.js +0 -1
- codex/static_root/assets/admin-BFvQwinN.6cfff21f780a.js.br +0 -0
- codex/static_root/assets/admin-BFvQwinN.6cfff21f780a.js.gz +0 -0
- codex/static_root/assets/admin-BFvQwinN.js +0 -1
- codex/static_root/assets/admin-BFvQwinN.js.br +0 -0
- codex/static_root/assets/admin-BFvQwinN.js.gz +0 -0
- codex/static_root/assets/admin-DJ7pIXDQ.css +0 -1
- codex/static_root/assets/admin-DJ7pIXDQ.css.br +0 -0
- codex/static_root/assets/admin-DJ7pIXDQ.css.gz +0 -0
- codex/static_root/assets/admin-DJ7pIXDQ.e2a77af73ef2.css +0 -1
- codex/static_root/assets/admin-DJ7pIXDQ.e2a77af73ef2.css.br +0 -0
- codex/static_root/assets/admin-DJ7pIXDQ.e2a77af73ef2.css.gz +0 -0
- codex/static_root/assets/admin-menu-Jfmp_Yd8.39fa7a18b3b4.js +0 -1
- codex/static_root/assets/admin-menu-Jfmp_Yd8.39fa7a18b3b4.js.br +0 -0
- codex/static_root/assets/admin-menu-Jfmp_Yd8.39fa7a18b3b4.js.gz +0 -0
- codex/static_root/assets/admin-menu-Jfmp_Yd8.js +0 -1
- codex/static_root/assets/admin-menu-Jfmp_Yd8.js.br +0 -0
- codex/static_root/assets/admin-menu-Jfmp_Yd8.js.gz +0 -0
- codex/static_root/assets/admin-settings-button-progress-BAk-B1sR.cbf73c71330d.js +0 -1
- codex/static_root/assets/admin-settings-button-progress-BAk-B1sR.cbf73c71330d.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-BAk-B1sR.cbf73c71330d.js.gz +0 -0
- codex/static_root/assets/admin-settings-button-progress-BAk-B1sR.js +0 -1
- codex/static_root/assets/admin-settings-button-progress-BAk-B1sR.js.br +0 -0
- codex/static_root/assets/admin-settings-button-progress-BAk-B1sR.js.gz +0 -0
- codex/static_root/assets/browser-CctlSJji.css +0 -1
- codex/static_root/assets/browser-CctlSJji.css.br +0 -0
- codex/static_root/assets/browser-CctlSJji.css.gz +0 -0
- codex/static_root/assets/browser-CctlSJji.d42d796476d2.css +0 -1
- codex/static_root/assets/browser-CctlSJji.d42d796476d2.css.br +0 -0
- codex/static_root/assets/browser-CctlSJji.d42d796476d2.css.gz +0 -0
- codex/static_root/assets/browser-DJnEeVHz.a78c47516b08.js +0 -1
- codex/static_root/assets/browser-DJnEeVHz.a78c47516b08.js.br +0 -0
- codex/static_root/assets/browser-DJnEeVHz.a78c47516b08.js.gz +0 -0
- codex/static_root/assets/browser-DJnEeVHz.js +0 -1
- codex/static_root/assets/browser-DJnEeVHz.js.br +0 -0
- codex/static_root/assets/browser-DJnEeVHz.js.gz +0 -0
- codex/static_root/assets/change-password-dialog-DJtOQw7K.be7fa5ec653d.js +0 -1
- codex/static_root/assets/change-password-dialog-DJtOQw7K.be7fa5ec653d.js.br +0 -0
- codex/static_root/assets/change-password-dialog-DJtOQw7K.be7fa5ec653d.js.gz +0 -0
- codex/static_root/assets/change-password-dialog-DJtOQw7K.js +0 -1
- codex/static_root/assets/change-password-dialog-DJtOQw7K.js.br +0 -0
- codex/static_root/assets/change-password-dialog-DJtOQw7K.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-CME4gKSZ.1606233e784c.js +0 -1
- codex/static_root/assets/confirm-dialog-CME4gKSZ.1606233e784c.js.br +0 -0
- codex/static_root/assets/confirm-dialog-CME4gKSZ.1606233e784c.js.gz +0 -0
- codex/static_root/assets/confirm-dialog-CME4gKSZ.js +0 -1
- codex/static_root/assets/confirm-dialog-CME4gKSZ.js.br +0 -0
- codex/static_root/assets/confirm-dialog-CME4gKSZ.js.gz +0 -0
- codex/static_root/assets/datetime-column-D_F30OLW.09cdce0ef96e.js +0 -1
- codex/static_root/assets/datetime-column-D_F30OLW.09cdce0ef96e.js.br +0 -2
- codex/static_root/assets/datetime-column-D_F30OLW.09cdce0ef96e.js.gz +0 -0
- codex/static_root/assets/datetime-column-D_F30OLW.js +0 -1
- codex/static_root/assets/datetime-column-D_F30OLW.js.br +0 -2
- codex/static_root/assets/datetime-column-D_F30OLW.js.gz +0 -0
- codex/static_root/assets/filter-ud5mPZpn.0f0a537959aa.js.br +0 -0
- codex/static_root/assets/filter-ud5mPZpn.0f0a537959aa.js.gz +0 -0
- codex/static_root/assets/filter-ud5mPZpn.js.br +0 -0
- codex/static_root/assets/filter-ud5mPZpn.js.gz +0 -0
- codex/static_root/assets/flag-tab-CqWovuBu.4dfc6b251e85.css +0 -1
- codex/static_root/assets/flag-tab-CqWovuBu.4dfc6b251e85.css.br +0 -0
- codex/static_root/assets/flag-tab-CqWovuBu.4dfc6b251e85.css.gz +0 -0
- codex/static_root/assets/flag-tab-CqWovuBu.css +0 -1
- codex/static_root/assets/flag-tab-CqWovuBu.css.br +0 -0
- codex/static_root/assets/flag-tab-CqWovuBu.css.gz +0 -0
- codex/static_root/assets/flag-tab-k2g6u_vi.3e1da9318af9.js +0 -1
- codex/static_root/assets/flag-tab-k2g6u_vi.3e1da9318af9.js.br +0 -0
- codex/static_root/assets/flag-tab-k2g6u_vi.3e1da9318af9.js.gz +0 -0
- codex/static_root/assets/flag-tab-k2g6u_vi.js +0 -1
- codex/static_root/assets/flag-tab-k2g6u_vi.js.br +0 -0
- codex/static_root/assets/flag-tab-k2g6u_vi.js.gz +0 -0
- codex/static_root/assets/group-tab-C6Ykf03Z.ff0cc204013a.js +0 -1
- codex/static_root/assets/group-tab-C6Ykf03Z.ff0cc204013a.js.br +0 -0
- codex/static_root/assets/group-tab-C6Ykf03Z.ff0cc204013a.js.gz +0 -0
- codex/static_root/assets/group-tab-C6Ykf03Z.js +0 -1
- codex/static_root/assets/group-tab-C6Ykf03Z.js.br +0 -0
- codex/static_root/assets/group-tab-C6Ykf03Z.js.gz +0 -0
- codex/static_root/assets/http-error-Ctcws1xe.cfd378a792d2.css +0 -1
- codex/static_root/assets/http-error-Ctcws1xe.cfd378a792d2.css.br +0 -0
- codex/static_root/assets/http-error-Ctcws1xe.cfd378a792d2.css.gz +0 -0
- codex/static_root/assets/http-error-Ctcws1xe.css +0 -1
- codex/static_root/assets/http-error-Ctcws1xe.css.br +0 -0
- codex/static_root/assets/http-error-Ctcws1xe.css.gz +0 -0
- codex/static_root/assets/http-error-DQBHK8v5.aea50b1327fd.js +0 -1
- codex/static_root/assets/http-error-DQBHK8v5.aea50b1327fd.js.br +0 -0
- codex/static_root/assets/http-error-DQBHK8v5.aea50b1327fd.js.gz +0 -0
- codex/static_root/assets/http-error-DQBHK8v5.js +0 -1
- codex/static_root/assets/http-error-DQBHK8v5.js.br +0 -0
- codex/static_root/assets/http-error-DQBHK8v5.js.gz +0 -0
- codex/static_root/assets/index-ClGiHwWc.0717bacf5135.js +0 -1
- codex/static_root/assets/index-ClGiHwWc.0717bacf5135.js.br +0 -0
- codex/static_root/assets/index-ClGiHwWc.0717bacf5135.js.gz +0 -0
- codex/static_root/assets/index-ClGiHwWc.js +0 -1
- codex/static_root/assets/index-ClGiHwWc.js.br +0 -0
- codex/static_root/assets/index-ClGiHwWc.js.gz +0 -0
- codex/static_root/assets/library-tab-BpinbqAu.53fa2625e727.js +0 -1
- codex/static_root/assets/library-tab-BpinbqAu.53fa2625e727.js.br +0 -0
- codex/static_root/assets/library-tab-BpinbqAu.53fa2625e727.js.gz +0 -0
- codex/static_root/assets/library-tab-BpinbqAu.js +0 -1
- codex/static_root/assets/library-tab-BpinbqAu.js.br +0 -0
- codex/static_root/assets/library-tab-BpinbqAu.js.gz +0 -0
- codex/static_root/assets/library-tab-Cat0MAK5.5911f022188e.css.br +0 -0
- codex/static_root/assets/library-tab-Cat0MAK5.5911f022188e.css.gz +0 -0
- codex/static_root/assets/library-tab-Cat0MAK5.css.br +0 -0
- codex/static_root/assets/library-tab-Cat0MAK5.css.gz +0 -0
- codex/static_root/assets/main-BVKrDunc.1c6f8cdc3afb.js +0 -35
- codex/static_root/assets/main-BVKrDunc.1c6f8cdc3afb.js.br +0 -0
- codex/static_root/assets/main-BVKrDunc.1c6f8cdc3afb.js.gz +0 -0
- codex/static_root/assets/main-BVKrDunc.js +0 -35
- codex/static_root/assets/main-BVKrDunc.js.br +0 -0
- codex/static_root/assets/main-BVKrDunc.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-C1ZSyXfG.f2e95b19621c.js +0 -1
- codex/static_root/assets/pager-full-pdf-C1ZSyXfG.f2e95b19621c.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-C1ZSyXfG.f2e95b19621c.js.gz +0 -0
- codex/static_root/assets/pager-full-pdf-C1ZSyXfG.js +0 -1
- codex/static_root/assets/pager-full-pdf-C1ZSyXfG.js.br +0 -0
- codex/static_root/assets/pager-full-pdf-C1ZSyXfG.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-Cx_9nh6D.546121fa7a0d.css +0 -1
- codex/static_root/assets/pagination-toolbar-Cx_9nh6D.546121fa7a0d.css.br +0 -0
- codex/static_root/assets/pagination-toolbar-Cx_9nh6D.546121fa7a0d.css.gz +0 -0
- codex/static_root/assets/pagination-toolbar-Cx_9nh6D.css +0 -1
- codex/static_root/assets/pagination-toolbar-Cx_9nh6D.css.br +0 -0
- codex/static_root/assets/pagination-toolbar-Cx_9nh6D.css.gz +0 -0
- codex/static_root/assets/pagination-toolbar-Diad0EdD.140911bf86af.js +0 -1
- codex/static_root/assets/pagination-toolbar-Diad0EdD.140911bf86af.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-Diad0EdD.140911bf86af.js.gz +0 -0
- codex/static_root/assets/pagination-toolbar-Diad0EdD.js +0 -1
- codex/static_root/assets/pagination-toolbar-Diad0EdD.js.br +0 -0
- codex/static_root/assets/pagination-toolbar-Diad0EdD.js.gz +0 -0
- codex/static_root/assets/pdf-doc-b-GyNR6z.c9d18f0d36ed.js +0 -305
- codex/static_root/assets/pdf-doc-b-GyNR6z.c9d18f0d36ed.js.br +0 -0
- codex/static_root/assets/pdf-doc-b-GyNR6z.c9d18f0d36ed.js.gz +0 -0
- codex/static_root/assets/pdf-doc-b-GyNR6z.js +0 -305
- codex/static_root/assets/pdf-doc-b-GyNR6z.js.br +0 -0
- codex/static_root/assets/pdf-doc-b-GyNR6z.js.gz +0 -0
- codex/static_root/assets/reader-2up6WEuE.c56ad81d14c6.js +0 -2
- codex/static_root/assets/reader-2up6WEuE.c56ad81d14c6.js.br +0 -0
- codex/static_root/assets/reader-2up6WEuE.c56ad81d14c6.js.gz +0 -0
- codex/static_root/assets/reader-2up6WEuE.js +0 -2
- codex/static_root/assets/reader-2up6WEuE.js.br +0 -0
- codex/static_root/assets/reader-2up6WEuE.js.gz +0 -0
- codex/static_root/assets/reader-Dd2KmdCN.115d4bfe9280.css.br +0 -0
- codex/static_root/assets/reader-Dd2KmdCN.115d4bfe9280.css.gz +0 -0
- codex/static_root/assets/reader-Dd2KmdCN.css.br +0 -0
- codex/static_root/assets/reader-Dd2KmdCN.css.gz +0 -0
- codex/static_root/assets/relation-chips-piYv1IcD.f8a2ae79de89.js +0 -1
- codex/static_root/assets/relation-chips-piYv1IcD.f8a2ae79de89.js.br +0 -0
- codex/static_root/assets/relation-chips-piYv1IcD.f8a2ae79de89.js.gz +0 -0
- codex/static_root/assets/relation-chips-piYv1IcD.js +0 -1
- codex/static_root/assets/relation-chips-piYv1IcD.js.br +0 -0
- codex/static_root/assets/relation-chips-piYv1IcD.js.gz +0 -0
- codex/static_root/assets/settings-drawer-DKncO_vX.0a2cd24cd904.css +0 -1
- codex/static_root/assets/settings-drawer-DKncO_vX.0a2cd24cd904.css.br +0 -0
- codex/static_root/assets/settings-drawer-DKncO_vX.0a2cd24cd904.css.gz +0 -0
- codex/static_root/assets/settings-drawer-DKncO_vX.css +0 -1
- codex/static_root/assets/settings-drawer-DKncO_vX.css.br +0 -0
- codex/static_root/assets/settings-drawer-DKncO_vX.css.gz +0 -0
- codex/static_root/assets/settings-drawer-yVoY-WCS.1240cc47a246.js +0 -2
- codex/static_root/assets/settings-drawer-yVoY-WCS.1240cc47a246.js.br +0 -0
- codex/static_root/assets/settings-drawer-yVoY-WCS.1240cc47a246.js.gz +0 -0
- codex/static_root/assets/settings-drawer-yVoY-WCS.js +0 -2
- codex/static_root/assets/settings-drawer-yVoY-WCS.js.br +0 -0
- codex/static_root/assets/settings-drawer-yVoY-WCS.js.gz +0 -0
- codex/static_root/assets/stats-tab-bqSPLvTp.05106cb03ef0.js +0 -1
- codex/static_root/assets/stats-tab-bqSPLvTp.05106cb03ef0.js.br +0 -0
- codex/static_root/assets/stats-tab-bqSPLvTp.05106cb03ef0.js.gz +0 -0
- codex/static_root/assets/stats-tab-bqSPLvTp.js +0 -1
- codex/static_root/assets/stats-tab-bqSPLvTp.js.br +0 -0
- codex/static_root/assets/stats-tab-bqSPLvTp.js.gz +0 -0
- codex/static_root/assets/task-tab-DWPKaGPT.da4df28dde5c.js +0 -1
- codex/static_root/assets/task-tab-DWPKaGPT.da4df28dde5c.js.br +0 -0
- codex/static_root/assets/task-tab-DWPKaGPT.da4df28dde5c.js.gz +0 -0
- codex/static_root/assets/task-tab-DWPKaGPT.js +0 -1
- codex/static_root/assets/task-tab-DWPKaGPT.js.br +0 -0
- codex/static_root/assets/task-tab-DWPKaGPT.js.gz +0 -0
- codex/static_root/assets/transition-5LRFTPo5.3d726f9bbcb0.css +0 -1
- codex/static_root/assets/transition-5LRFTPo5.3d726f9bbcb0.css.br +0 -4
- codex/static_root/assets/transition-5LRFTPo5.3d726f9bbcb0.css.gz +0 -0
- codex/static_root/assets/transition-5LRFTPo5.css +0 -1
- codex/static_root/assets/transition-5LRFTPo5.css.br +0 -4
- codex/static_root/assets/transition-5LRFTPo5.css.gz +0 -0
- codex/static_root/assets/transition-DWVQ2EZ3.0bdfaa37b937.js +0 -1
- codex/static_root/assets/transition-DWVQ2EZ3.0bdfaa37b937.js.br +0 -0
- codex/static_root/assets/transition-DWVQ2EZ3.0bdfaa37b937.js.gz +0 -0
- codex/static_root/assets/transition-DWVQ2EZ3.js +0 -1
- codex/static_root/assets/transition-DWVQ2EZ3.js.br +0 -0
- codex/static_root/assets/transition-DWVQ2EZ3.js.gz +0 -0
- codex/static_root/assets/unauthorized-CEGD20tR.064b0993a944.js +0 -1
- codex/static_root/assets/unauthorized-CEGD20tR.064b0993a944.js.br +0 -0
- codex/static_root/assets/unauthorized-CEGD20tR.064b0993a944.js.gz +0 -0
- codex/static_root/assets/unauthorized-CEGD20tR.js +0 -1
- codex/static_root/assets/unauthorized-CEGD20tR.js.br +0 -0
- codex/static_root/assets/unauthorized-CEGD20tR.js.gz +0 -0
- codex/static_root/assets/unauthorized-DyojW2ic.css +0 -1
- codex/static_root/assets/unauthorized-DyojW2ic.css.br +0 -0
- codex/static_root/assets/unauthorized-DyojW2ic.css.gz +0 -0
- codex/static_root/assets/unauthorized-DyojW2ic.feefa7628a23.css +0 -1
- codex/static_root/assets/unauthorized-DyojW2ic.feefa7628a23.css.br +0 -0
- codex/static_root/assets/unauthorized-DyojW2ic.feefa7628a23.css.gz +0 -0
- codex/static_root/assets/user-tab-EsokzMCB.b0acc46b56a3.js +0 -1
- codex/static_root/assets/user-tab-EsokzMCB.b0acc46b56a3.js.br +0 -0
- codex/static_root/assets/user-tab-EsokzMCB.b0acc46b56a3.js.gz +0 -0
- codex/static_root/assets/user-tab-EsokzMCB.js +0 -1
- codex/static_root/assets/user-tab-EsokzMCB.js.br +0 -0
- codex/static_root/assets/user-tab-EsokzMCB.js.gz +0 -0
- codex/static_root/manifest.4a38de3db1c5.json +0 -712
- codex/static_root/manifest.4a38de3db1c5.json.br +0 -0
- codex/static_root/manifest.4a38de3db1c5.json.gz +0 -0
- codex-1.7.2.dist-info/RECORD +0 -1015
- /codex/static_root/assets/{VCheckbox-CMKdyl0R.016ed8d222c4.css → VCheckbox-CvH8ekHL.016ed8d222c4.css} +0 -0
- /codex/static_root/assets/{VCheckbox-CMKdyl0R.016ed8d222c4.css.br → VCheckbox-CvH8ekHL.016ed8d222c4.css.br} +0 -0
- /codex/static_root/assets/{VCheckbox-CMKdyl0R.016ed8d222c4.css.gz → VCheckbox-CvH8ekHL.016ed8d222c4.css.gz} +0 -0
- /codex/static_root/assets/{VCheckbox-CMKdyl0R.css → VCheckbox-CvH8ekHL.css} +0 -0
- /codex/static_root/assets/{VCheckbox-CMKdyl0R.css.br → VCheckbox-CvH8ekHL.css.br} +0 -0
- /codex/static_root/assets/{VCheckbox-CMKdyl0R.css.gz → VCheckbox-CvH8ekHL.css.gz} +0 -0
- /codex/static_root/assets/{VCombobox-bwEYrXCg.9f25a34994e2.css → VCombobox-BQHELb_o.9f25a34994e2.css} +0 -0
- /codex/static_root/assets/{VCombobox-bwEYrXCg.9f25a34994e2.css.br → VCombobox-BQHELb_o.9f25a34994e2.css.br} +0 -0
- /codex/static_root/assets/{VCombobox-bwEYrXCg.9f25a34994e2.css.gz → VCombobox-BQHELb_o.9f25a34994e2.css.gz} +0 -0
- /codex/static_root/assets/{VCombobox-bwEYrXCg.css → VCombobox-BQHELb_o.css} +0 -0
- /codex/static_root/assets/{VCombobox-bwEYrXCg.css.br → VCombobox-BQHELb_o.css.br} +0 -0
- /codex/static_root/assets/{VCombobox-bwEYrXCg.css.gz → VCombobox-BQHELb_o.css.gz} +0 -0
- /codex/static_root/assets/{VExpansionPanels-6G1AUajL.5b17872981df.css → VExpansionPanels-RsCANmDP.5b17872981df.css} +0 -0
- /codex/static_root/assets/{VExpansionPanels-6G1AUajL.5b17872981df.css.br → VExpansionPanels-RsCANmDP.5b17872981df.css.br} +0 -0
- /codex/static_root/assets/{VExpansionPanels-6G1AUajL.5b17872981df.css.gz → VExpansionPanels-RsCANmDP.5b17872981df.css.gz} +0 -0
- /codex/static_root/assets/{VExpansionPanels-6G1AUajL.css → VExpansionPanels-RsCANmDP.css} +0 -0
- /codex/static_root/assets/{VExpansionPanels-6G1AUajL.css.br → VExpansionPanels-RsCANmDP.css.br} +0 -0
- /codex/static_root/assets/{VExpansionPanels-6G1AUajL.css.gz → VExpansionPanels-RsCANmDP.css.gz} +0 -0
- /codex/static_root/assets/{VRadioGroup-i2qP9Wu9.8e3741381961.css → VRadioGroup-Cp9mZ7cb.8e3741381961.css} +0 -0
- /codex/static_root/assets/{VRadioGroup-i2qP9Wu9.8e3741381961.css.br → VRadioGroup-Cp9mZ7cb.8e3741381961.css.br} +0 -0
- /codex/static_root/assets/{VRadioGroup-i2qP9Wu9.8e3741381961.css.gz → VRadioGroup-Cp9mZ7cb.8e3741381961.css.gz} +0 -0
- /codex/static_root/assets/{VRadioGroup-i2qP9Wu9.css → VRadioGroup-Cp9mZ7cb.css} +0 -0
- /codex/static_root/assets/{VRadioGroup-i2qP9Wu9.css.br → VRadioGroup-Cp9mZ7cb.css.br} +0 -0
- /codex/static_root/assets/{VRadioGroup-i2qP9Wu9.css.gz → VRadioGroup-Cp9mZ7cb.css.gz} +0 -0
- /codex/static_root/assets/{VTable-Y5Sc3hJd.c36f0a6a30cf.css → VTable-BnxSZ_W5.c36f0a6a30cf.css} +0 -0
- /codex/static_root/assets/{VTable-Y5Sc3hJd.c36f0a6a30cf.css.br → VTable-BnxSZ_W5.c36f0a6a30cf.css.br} +0 -0
- /codex/static_root/assets/{VTable-Y5Sc3hJd.c36f0a6a30cf.css.gz → VTable-BnxSZ_W5.c36f0a6a30cf.css.gz} +0 -0
- /codex/static_root/assets/{VTable-Y5Sc3hJd.css → VTable-BnxSZ_W5.css} +0 -0
- /codex/static_root/assets/{VTable-Y5Sc3hJd.css.br → VTable-BnxSZ_W5.css.br} +0 -0
- /codex/static_root/assets/{VTable-Y5Sc3hJd.css.gz → VTable-BnxSZ_W5.css.gz} +0 -0
- /codex/static_root/assets/{VWindowItem-ByIod57Y.css → VWindowItem-CWBhiE_Y.css} +0 -0
- /codex/static_root/assets/{VWindowItem-ByIod57Y.css.br → VWindowItem-CWBhiE_Y.css.br} +0 -0
- /codex/static_root/assets/{VWindowItem-ByIod57Y.css.gz → VWindowItem-CWBhiE_Y.css.gz} +0 -0
- /codex/static_root/assets/{VWindowItem-ByIod57Y.f7fb19752bf3.css → VWindowItem-CWBhiE_Y.f7fb19752bf3.css} +0 -0
- /codex/static_root/assets/{VWindowItem-ByIod57Y.f7fb19752bf3.css.br → VWindowItem-CWBhiE_Y.f7fb19752bf3.css.br} +0 -0
- /codex/static_root/assets/{VWindowItem-ByIod57Y.f7fb19752bf3.css.gz → VWindowItem-CWBhiE_Y.f7fb19752bf3.css.gz} +0 -0
- /codex/static_root/assets/{admin-menu-B9bzD6hV.c13b7df2ff57.css → admin-menu-B3iXsOyy.c13b7df2ff57.css} +0 -0
- /codex/static_root/assets/{admin-menu-B9bzD6hV.c13b7df2ff57.css.br → admin-menu-B3iXsOyy.c13b7df2ff57.css.br} +0 -0
- /codex/static_root/assets/{admin-menu-B9bzD6hV.c13b7df2ff57.css.gz → admin-menu-B3iXsOyy.c13b7df2ff57.css.gz} +0 -0
- /codex/static_root/assets/{admin-menu-B9bzD6hV.css → admin-menu-B3iXsOyy.css} +0 -0
- /codex/static_root/assets/{admin-menu-B9bzD6hV.css.br → admin-menu-B3iXsOyy.css.br} +0 -0
- /codex/static_root/assets/{admin-menu-B9bzD6hV.css.gz → admin-menu-B3iXsOyy.css.gz} +0 -0
- /codex/static_root/assets/{admin-settings-button-progress-DUUQfVsZ.2548c49a853e.css → admin-settings-button-progress-BGB22oTD.2548c49a853e.css} +0 -0
- /codex/static_root/assets/{admin-settings-button-progress-DUUQfVsZ.css → admin-settings-button-progress-BGB22oTD.css} +0 -0
- /codex/static_root/assets/{change-password-dialog-C_EOKOn9.a30e68c6e303.css → change-password-dialog-D0ymWcl_.a30e68c6e303.css} +0 -0
- /codex/static_root/assets/{change-password-dialog-C_EOKOn9.a30e68c6e303.css.br → change-password-dialog-D0ymWcl_.a30e68c6e303.css.br} +0 -0
- /codex/static_root/assets/{change-password-dialog-C_EOKOn9.a30e68c6e303.css.gz → change-password-dialog-D0ymWcl_.a30e68c6e303.css.gz} +0 -0
- /codex/static_root/assets/{change-password-dialog-C_EOKOn9.css → change-password-dialog-D0ymWcl_.css} +0 -0
- /codex/static_root/assets/{change-password-dialog-C_EOKOn9.css.br → change-password-dialog-D0ymWcl_.css.br} +0 -0
- /codex/static_root/assets/{change-password-dialog-C_EOKOn9.css.gz → change-password-dialog-D0ymWcl_.css.gz} +0 -0
- /codex/static_root/assets/{confirm-dialog-54rblwf7.9b5915b112c0.css → confirm-dialog-B1ABbGMU.9b5915b112c0.css} +0 -0
- /codex/static_root/assets/{confirm-dialog-54rblwf7.9b5915b112c0.css.br → confirm-dialog-B1ABbGMU.9b5915b112c0.css.br} +0 -0
- /codex/static_root/assets/{confirm-dialog-54rblwf7.css → confirm-dialog-B1ABbGMU.css} +0 -0
- /codex/static_root/assets/{confirm-dialog-54rblwf7.css.br → confirm-dialog-B1ABbGMU.css.br} +0 -0
- /codex/static_root/assets/{datetime-column-DeCthByU.1f3bf499e063.css → datetime-column-BavtvLnf.1f3bf499e063.css} +0 -0
- /codex/static_root/assets/{datetime-column-DeCthByU.css → datetime-column-BavtvLnf.css} +0 -0
- /codex/static_root/assets/{group-tab-DkIN1Heu.948e907b1e6b.css → group-tab-_vKWzoyd.948e907b1e6b.css} +0 -0
- /codex/static_root/assets/{group-tab-DkIN1Heu.948e907b1e6b.css.br → group-tab-_vKWzoyd.948e907b1e6b.css.br} +0 -0
- /codex/static_root/assets/{group-tab-DkIN1Heu.948e907b1e6b.css.gz → group-tab-_vKWzoyd.948e907b1e6b.css.gz} +0 -0
- /codex/static_root/assets/{group-tab-DkIN1Heu.css → group-tab-_vKWzoyd.css} +0 -0
- /codex/static_root/assets/{group-tab-DkIN1Heu.css.br → group-tab-_vKWzoyd.css.br} +0 -0
- /codex/static_root/assets/{group-tab-DkIN1Heu.css.gz → group-tab-_vKWzoyd.css.gz} +0 -0
- /codex/static_root/assets/{index-CL_6g4tJ.523d7b3d350f.css → index-BHXJTQ4V.523d7b3d350f.css} +0 -0
- /codex/static_root/assets/{index-CL_6g4tJ.523d7b3d350f.css.br → index-BHXJTQ4V.523d7b3d350f.css.br} +0 -0
- /codex/static_root/assets/{index-CL_6g4tJ.523d7b3d350f.css.gz → index-BHXJTQ4V.523d7b3d350f.css.gz} +0 -0
- /codex/static_root/assets/{index-CL_6g4tJ.css → index-BHXJTQ4V.css} +0 -0
- /codex/static_root/assets/{index-CL_6g4tJ.css.br → index-BHXJTQ4V.css.br} +0 -0
- /codex/static_root/assets/{index-CL_6g4tJ.css.gz → index-BHXJTQ4V.css.gz} +0 -0
- /codex/static_root/assets/{main-BZ73p_WW.css → main-K8cER0IH.css} +0 -0
- /codex/static_root/assets/{main-BZ73p_WW.css.br → main-K8cER0IH.css.br} +0 -0
- /codex/static_root/assets/{main-BZ73p_WW.css.gz → main-K8cER0IH.css.gz} +0 -0
- /codex/static_root/assets/{main-BZ73p_WW.d529e8b3f52a.css → main-K8cER0IH.d529e8b3f52a.css} +0 -0
- /codex/static_root/assets/{main-BZ73p_WW.d529e8b3f52a.css.br → main-K8cER0IH.d529e8b3f52a.css.br} +0 -0
- /codex/static_root/assets/{main-BZ73p_WW.d529e8b3f52a.css.gz → main-K8cER0IH.d529e8b3f52a.css.gz} +0 -0
- /codex/static_root/assets/{pdf-doc-CG5-AZ2M.b94aac7e3313.css → pdf-doc-B4cGW_Hl.b94aac7e3313.css} +0 -0
- /codex/static_root/assets/{pdf-doc-CG5-AZ2M.b94aac7e3313.css.br → pdf-doc-B4cGW_Hl.b94aac7e3313.css.br} +0 -0
- /codex/static_root/assets/{pdf-doc-CG5-AZ2M.b94aac7e3313.css.gz → pdf-doc-B4cGW_Hl.b94aac7e3313.css.gz} +0 -0
- /codex/static_root/assets/{pdf-doc-CG5-AZ2M.css → pdf-doc-B4cGW_Hl.css} +0 -0
- /codex/static_root/assets/{pdf-doc-CG5-AZ2M.css.br → pdf-doc-B4cGW_Hl.css.br} +0 -0
- /codex/static_root/assets/{pdf-doc-CG5-AZ2M.css.gz → pdf-doc-B4cGW_Hl.css.gz} +0 -0
- /codex/static_root/assets/{relation-chips-ByfWwuQc.01269a188e01.css → relation-chips-DpbzrZxT.01269a188e01.css} +0 -0
- /codex/static_root/assets/{relation-chips-ByfWwuQc.01269a188e01.css.br → relation-chips-DpbzrZxT.01269a188e01.css.br} +0 -0
- /codex/static_root/assets/{relation-chips-ByfWwuQc.01269a188e01.css.gz → relation-chips-DpbzrZxT.01269a188e01.css.gz} +0 -0
- /codex/static_root/assets/{relation-chips-ByfWwuQc.css → relation-chips-DpbzrZxT.css} +0 -0
- /codex/static_root/assets/{relation-chips-ByfWwuQc.css.br → relation-chips-DpbzrZxT.css.br} +0 -0
- /codex/static_root/assets/{relation-chips-ByfWwuQc.css.gz → relation-chips-DpbzrZxT.css.gz} +0 -0
- /codex/static_root/assets/{stats-tab-BlXGStge.9fdb0106124d.css → stats-tab-WvF2acoZ.9fdb0106124d.css} +0 -0
- /codex/static_root/assets/{stats-tab-BlXGStge.9fdb0106124d.css.br → stats-tab-WvF2acoZ.9fdb0106124d.css.br} +0 -0
- /codex/static_root/assets/{stats-tab-BlXGStge.9fdb0106124d.css.gz → stats-tab-WvF2acoZ.9fdb0106124d.css.gz} +0 -0
- /codex/static_root/assets/{stats-tab-BlXGStge.css → stats-tab-WvF2acoZ.css} +0 -0
- /codex/static_root/assets/{stats-tab-BlXGStge.css.br → stats-tab-WvF2acoZ.css.br} +0 -0
- /codex/static_root/assets/{stats-tab-BlXGStge.css.gz → stats-tab-WvF2acoZ.css.gz} +0 -0
- /codex/static_root/assets/{task-tab-EGlhcKTH.478e74041f80.css → task-tab-DfdUY9Rc.478e74041f80.css} +0 -0
- /codex/static_root/assets/{task-tab-EGlhcKTH.478e74041f80.css.br → task-tab-DfdUY9Rc.478e74041f80.css.br} +0 -0
- /codex/static_root/assets/{task-tab-EGlhcKTH.478e74041f80.css.gz → task-tab-DfdUY9Rc.478e74041f80.css.gz} +0 -0
- /codex/static_root/assets/{task-tab-EGlhcKTH.css → task-tab-DfdUY9Rc.css} +0 -0
- /codex/static_root/assets/{task-tab-EGlhcKTH.css.br → task-tab-DfdUY9Rc.css.br} +0 -0
- /codex/static_root/assets/{task-tab-EGlhcKTH.css.gz → task-tab-DfdUY9Rc.css.gz} +0 -0
- {codex-1.7.2.dist-info → codex-1.7.3.dist-info}/LICENSE +0 -0
- {codex-1.7.2.dist-info → codex-1.7.3.dist-info}/entry_points.txt +0 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"""OPDS v2.0 Feed Serializer."""
|
|
2
|
+
|
|
3
|
+
from rest_framework.fields import (
|
|
4
|
+
ListField,
|
|
5
|
+
)
|
|
6
|
+
from rest_framework.serializers import Serializer
|
|
7
|
+
|
|
8
|
+
from codex.serializers.opds.v2.facet import OPDS2FacetSerializer
|
|
9
|
+
from codex.serializers.opds.v2.links import OPDS2LinkListField
|
|
10
|
+
from codex.serializers.opds.v2.publication import (
|
|
11
|
+
OPDS2MetadataSerializer,
|
|
12
|
+
OPDS2PublicationSerializer,
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class OPDS2GroupSerializer(Serializer):
|
|
17
|
+
"""Group."""
|
|
18
|
+
|
|
19
|
+
metadata = OPDS2MetadataSerializer(read_only=True)
|
|
20
|
+
links = OPDS2LinkListField(read_only=True, required=False)
|
|
21
|
+
publications = ListField(
|
|
22
|
+
child=OPDS2PublicationSerializer(), read_only=True, required=False
|
|
23
|
+
)
|
|
24
|
+
navigation = OPDS2LinkListField(read_only=True, required=False)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class OPDS2FeedSerializer(OPDS2GroupSerializer):
|
|
28
|
+
"""
|
|
29
|
+
Feed.
|
|
30
|
+
|
|
31
|
+
https://drafts.opds.io/schema/feed.schema.json
|
|
32
|
+
https://readium.org/webpub-manifest/schema/subcollection.schema.json
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
facets = ListField(child=OPDS2FacetSerializer(), read_only=True, required=False)
|
|
36
|
+
groups = ListField(child=OPDS2GroupSerializer(), read_only=True, required=False)
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"""OPDS v2.0 Links Serializers."""
|
|
2
|
+
|
|
3
|
+
from rest_framework.fields import (
|
|
4
|
+
BooleanField,
|
|
5
|
+
CharField,
|
|
6
|
+
IntegerField,
|
|
7
|
+
ListField,
|
|
8
|
+
SerializerMethodField,
|
|
9
|
+
)
|
|
10
|
+
from rest_framework.serializers import Serializer
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class OPSD2AuthenticateSerializer(Serializer):
|
|
14
|
+
"""Minimal Link Serializer for Authenticate."""
|
|
15
|
+
|
|
16
|
+
href = CharField(
|
|
17
|
+
read_only=True,
|
|
18
|
+
)
|
|
19
|
+
rel = SerializerMethodField(
|
|
20
|
+
read_only=True,
|
|
21
|
+
)
|
|
22
|
+
type = CharField(read_only=True, required=False)
|
|
23
|
+
|
|
24
|
+
def get_rel(self, obj) -> str | None:
|
|
25
|
+
"""Allow for CharField or CharListField types."""
|
|
26
|
+
rel = obj.get("rel")
|
|
27
|
+
if not isinstance(rel, list | str):
|
|
28
|
+
reason = "OPDS2LinkSerializer.rel is not a list or a string."
|
|
29
|
+
raise TypeError(reason)
|
|
30
|
+
return obj.get("rel")
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class OPDS2LinkPropertiesSerializer(Serializer):
|
|
34
|
+
"""
|
|
35
|
+
Link Properties.
|
|
36
|
+
|
|
37
|
+
https://drafts.opds.io/schema/properties.schema.json
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
number_of_items = IntegerField(read_only=True, required=False)
|
|
41
|
+
# price = OPDS2PriceSerializer(read_only=True, required=False) unused
|
|
42
|
+
# indirect_aquisition = OPDS2AcquisitionObjectSerializer( unused
|
|
43
|
+
# read_only=True, many=True, required=False unused
|
|
44
|
+
# ) unused
|
|
45
|
+
# holds = OPDS2HoldsSerializer(read_only=True, required=False) unused
|
|
46
|
+
# copies = OPDS2CopiesSerializer(read_only=True, required=False) unused
|
|
47
|
+
# availability = OPDS2AvailabilitySerializer(read_only=True, required=False) unused
|
|
48
|
+
authenticate = OPSD2AuthenticateSerializer(required=False)
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
class OPDS2LinkSerializer(OPSD2AuthenticateSerializer):
|
|
52
|
+
"""
|
|
53
|
+
Link.
|
|
54
|
+
|
|
55
|
+
https://readium.org/webpub-manifest/schema/link.schema.json
|
|
56
|
+
"""
|
|
57
|
+
|
|
58
|
+
templated = BooleanField(read_only=True, required=False)
|
|
59
|
+
title = CharField(read_only=True, required=False)
|
|
60
|
+
|
|
61
|
+
# Uncommon
|
|
62
|
+
height = IntegerField(read_only=True, required=False)
|
|
63
|
+
width = IntegerField(read_only=True, required=False)
|
|
64
|
+
# bitrate = IntegerField(read_only=True, required=False) unused
|
|
65
|
+
# duration = IntegerField(read_only=True, required=False) unused
|
|
66
|
+
# language = CharField(many=True, read_only=True, required=False) unused
|
|
67
|
+
alternate = ListField(child=CharField(), read_only=True, required=False)
|
|
68
|
+
children = ListField(child=CharField(), read_only=True, required=False)
|
|
69
|
+
properties = OPDS2LinkPropertiesSerializer(read_only=True, required=False)
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
class OPDS2LinkListField(ListField):
|
|
73
|
+
"""Link List."""
|
|
74
|
+
|
|
75
|
+
child = OPDS2LinkSerializer()
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"""OPDS 2.0 Metadata Serializer."""
|
|
2
|
+
|
|
3
|
+
from rest_framework.fields import (
|
|
4
|
+
CharField,
|
|
5
|
+
DateTimeField,
|
|
6
|
+
)
|
|
7
|
+
from rest_framework.serializers import Serializer
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class OPDS2MetadataSerializer(Serializer):
|
|
11
|
+
"""
|
|
12
|
+
Metadata.
|
|
13
|
+
|
|
14
|
+
https://drafts.opds.io/schema/feed-metadata.schema.json
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
identifier = CharField(read_only=True, required=False)
|
|
18
|
+
title = CharField(
|
|
19
|
+
read_only=True,
|
|
20
|
+
)
|
|
21
|
+
subtitle = CharField(read_only=True, required=False)
|
|
22
|
+
modified = DateTimeField(read_only=True, required=False)
|
|
23
|
+
description = CharField(read_only=True, required=False)
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"""
|
|
2
|
+
OPDS v2 Progression Serializer.
|
|
3
|
+
|
|
4
|
+
https://github.com/opds-community/drafts/discussions/67
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from decimal import Decimal
|
|
8
|
+
|
|
9
|
+
from rest_framework.fields import (
|
|
10
|
+
CharField,
|
|
11
|
+
DateTimeField,
|
|
12
|
+
DecimalField,
|
|
13
|
+
IntegerField,
|
|
14
|
+
ListField,
|
|
15
|
+
)
|
|
16
|
+
from rest_framework.serializers import Serializer
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class OPDS2ProgressionDeviceSerializer(Serializer):
|
|
20
|
+
"""Progression Device Element."""
|
|
21
|
+
|
|
22
|
+
id = CharField(read_only=True)
|
|
23
|
+
name = CharField(read_only=True)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class OPDS2ProgressionLocationsSerializer(Serializer):
|
|
27
|
+
"""Progression Location Element."""
|
|
28
|
+
|
|
29
|
+
fragments = ListField(child=CharField(), read_only=True)
|
|
30
|
+
position = IntegerField(read_only=True)
|
|
31
|
+
progression = DecimalField(
|
|
32
|
+
max_digits=7,
|
|
33
|
+
decimal_places=6,
|
|
34
|
+
max_value=Decimal(1.0),
|
|
35
|
+
min_value=Decimal(0.0),
|
|
36
|
+
read_only=True,
|
|
37
|
+
)
|
|
38
|
+
total_progression = DecimalField(
|
|
39
|
+
max_digits=7,
|
|
40
|
+
decimal_places=6,
|
|
41
|
+
max_value=Decimal(1.0),
|
|
42
|
+
min_value=Decimal(0.0),
|
|
43
|
+
read_only=True,
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
class OPDS2ProgressionLocatorSerializer(Serializer):
|
|
48
|
+
"""Progression Locator Element."""
|
|
49
|
+
|
|
50
|
+
title = CharField(read_only=True)
|
|
51
|
+
href = CharField(read_only=True)
|
|
52
|
+
type = CharField(read_only=True)
|
|
53
|
+
locations = OPDS2ProgressionLocationsSerializer()
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
class OPDS2ProgressionSerializer(Serializer):
|
|
57
|
+
"""
|
|
58
|
+
Progression.
|
|
59
|
+
|
|
60
|
+
https://github.com/opds-community/drafts/discussions/67#discussioncomment-6414507
|
|
61
|
+
"""
|
|
62
|
+
|
|
63
|
+
modified = DateTimeField(read_only=True)
|
|
64
|
+
device = OPDS2ProgressionDeviceSerializer()
|
|
65
|
+
locator = OPDS2ProgressionLocatorSerializer()
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"""OPDS 2 Publication Serializers."""
|
|
2
|
+
|
|
3
|
+
from rest_framework.fields import (
|
|
4
|
+
CharField,
|
|
5
|
+
DateField,
|
|
6
|
+
IntegerField,
|
|
7
|
+
ListField,
|
|
8
|
+
)
|
|
9
|
+
from rest_framework.serializers import Serializer
|
|
10
|
+
|
|
11
|
+
from codex.serializers.opds.v2.facet import OPDS2FacetSerializer
|
|
12
|
+
from codex.serializers.opds.v2.links import OPDS2LinkListField
|
|
13
|
+
from codex.serializers.opds.v2.metadata import OPDS2MetadataSerializer
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class OPDS2FeedMetadataSerializer(OPDS2MetadataSerializer):
|
|
17
|
+
"""Feed Metadata."""
|
|
18
|
+
|
|
19
|
+
items_per_page = IntegerField(read_only=True, required=False)
|
|
20
|
+
current_page = IntegerField(read_only=True, required=False)
|
|
21
|
+
number_of_items = IntegerField(read_only=True, required=False)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class OPDS2ContributorObjectSerializer(Serializer):
|
|
25
|
+
"""
|
|
26
|
+
Contributor Object.
|
|
27
|
+
|
|
28
|
+
https://readium.org/webpub-manifest/schema/contributor-object.schema.json
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
name = CharField(read_only=True)
|
|
32
|
+
# identifier= CharField(read_only=True, required=False) unused
|
|
33
|
+
# sort_as = CharField(read_only=True, required=False) unused
|
|
34
|
+
role = CharField(read_only=True, source="role_name")
|
|
35
|
+
# role = CharListField(read_only=True) unused
|
|
36
|
+
# position = IntegerField(read_only=True, required=False) unused
|
|
37
|
+
# links = LinkListField(read_only=True) unused
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class OPDS2PublicationMetadataSerializer(OPDS2MetadataSerializer):
|
|
41
|
+
"""
|
|
42
|
+
Metadata for publications.
|
|
43
|
+
|
|
44
|
+
https://readium.org/webpub-manifest/schema/metadata.schema.json
|
|
45
|
+
"""
|
|
46
|
+
|
|
47
|
+
# possibly change to @ on output if this is really needed
|
|
48
|
+
# @type = CharField(read_only=True, required=False)
|
|
49
|
+
publisher = CharField(read_only=True, required=False)
|
|
50
|
+
imprint = CharField(read_only=True, required=False)
|
|
51
|
+
language = CharField(read_only=True, required=False)
|
|
52
|
+
published = DateField(read_only=True, required=False)
|
|
53
|
+
number_of_pages = IntegerField(read_only=True, required=False)
|
|
54
|
+
# reading_progression = ChoiceField() unused
|
|
55
|
+
|
|
56
|
+
#####################
|
|
57
|
+
# Extended metadata #
|
|
58
|
+
#####################
|
|
59
|
+
subject = ListField(child=CharField(), read_only=True, required=False)
|
|
60
|
+
author = OPDS2ContributorObjectSerializer(many=True, required=False)
|
|
61
|
+
# translator = OPDS2ContributorObjectSerializer(many=True, required=False) unused
|
|
62
|
+
editor = OPDS2ContributorObjectSerializer(many=True, required=False)
|
|
63
|
+
artist = OPDS2ContributorObjectSerializer(many=True, required=False)
|
|
64
|
+
# illustrator = OPDS2ContributorObjectSerializer(many=True, required=False) unused
|
|
65
|
+
letterer = OPDS2ContributorObjectSerializer(many=True, required=False)
|
|
66
|
+
peniciller = OPDS2ContributorObjectSerializer(many=True, required=False)
|
|
67
|
+
colorist = OPDS2ContributorObjectSerializer(many=True, required=False)
|
|
68
|
+
inker = OPDS2ContributorObjectSerializer(many=True, required=False)
|
|
69
|
+
contributor = OPDS2ContributorObjectSerializer(many=True, required=False)
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
class OPDS2PublicationSerializer(OPDS2FacetSerializer):
|
|
73
|
+
"""
|
|
74
|
+
Publication.
|
|
75
|
+
|
|
76
|
+
https://drafts.opds.io/schema/publication.schema.json
|
|
77
|
+
"""
|
|
78
|
+
|
|
79
|
+
metadata = OPDS2PublicationMetadataSerializer(read_only=True)
|
|
80
|
+
links = OPDS2LinkListField(read_only=True)
|
|
81
|
+
images = OPDS2LinkListField(read_only=True, required=False)
|
|
@@ -3,11 +3,12 @@
|
|
|
3
3
|
from rest_framework.fields import CharField, DateTimeField, DecimalField, IntegerField
|
|
4
4
|
from rest_framework.serializers import ChoiceField, Serializer
|
|
5
5
|
|
|
6
|
-
from codex.serializers.opds.v2 import OPDS2LinkListField
|
|
6
|
+
from codex.serializers.opds.v2.links import OPDS2LinkListField
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
class RecursiveField(Serializer):
|
|
10
|
-
"""
|
|
10
|
+
"""
|
|
11
|
+
A recursive field type.
|
|
11
12
|
|
|
12
13
|
There is a more comprehensive solution at
|
|
13
14
|
https://pypi.org/project/djangorestframework-recursive/
|
|
@@ -17,12 +18,13 @@ class RecursiveField(Serializer):
|
|
|
17
18
|
"""Represent with own class."""
|
|
18
19
|
parent = self.parent
|
|
19
20
|
# Should not be ignored but is currently unused
|
|
20
|
-
serializer = parent.parent.__class__(instance, context=self.context)
|
|
21
|
+
serializer = parent.parent.__class__(instance, context=self.context)
|
|
21
22
|
return serializer.data
|
|
22
23
|
|
|
23
24
|
|
|
24
25
|
class OPDS2PriceSerializer(Serializer):
|
|
25
|
-
"""
|
|
26
|
+
"""
|
|
27
|
+
Prices.
|
|
26
28
|
|
|
27
29
|
https://drafts.opds.io/schema/properties.schema.json
|
|
28
30
|
"""
|
|
@@ -33,7 +35,8 @@ class OPDS2PriceSerializer(Serializer):
|
|
|
33
35
|
|
|
34
36
|
|
|
35
37
|
class OPDS2HoldsSerializer(Serializer):
|
|
36
|
-
"""
|
|
38
|
+
"""
|
|
39
|
+
Holds.
|
|
37
40
|
|
|
38
41
|
https://drafts.opds.io/schema/properties.schema.json
|
|
39
42
|
"""
|
|
@@ -43,7 +46,8 @@ class OPDS2HoldsSerializer(Serializer):
|
|
|
43
46
|
|
|
44
47
|
|
|
45
48
|
class OPDS2CopiesSerializer(Serializer):
|
|
46
|
-
"""
|
|
49
|
+
"""
|
|
50
|
+
Copies.
|
|
47
51
|
|
|
48
52
|
https://drafts.opds.io/schema/properties.schema.json
|
|
49
53
|
"""
|
|
@@ -53,7 +57,8 @@ class OPDS2CopiesSerializer(Serializer):
|
|
|
53
57
|
|
|
54
58
|
|
|
55
59
|
class OPDS2AcquisitionObjectSerializer(Serializer):
|
|
56
|
-
"""
|
|
60
|
+
"""
|
|
61
|
+
Acquisition Object.
|
|
57
62
|
|
|
58
63
|
https://drafts.opds.io/schema/acquisition-object.schema.json
|
|
59
64
|
"""
|
|
@@ -63,7 +68,8 @@ class OPDS2AcquisitionObjectSerializer(Serializer):
|
|
|
63
68
|
|
|
64
69
|
|
|
65
70
|
class OPDS2ProfileSerializer(Serializer):
|
|
66
|
-
"""
|
|
71
|
+
"""
|
|
72
|
+
Profile.
|
|
67
73
|
|
|
68
74
|
https://drafts.opds.io/schema/profile.schema.json
|
|
69
75
|
"""
|
|
@@ -76,7 +82,8 @@ class OPDS2ProfileSerializer(Serializer):
|
|
|
76
82
|
|
|
77
83
|
|
|
78
84
|
class OPDS2AvailabilitySerializer(Serializer):
|
|
79
|
-
"""
|
|
85
|
+
"""
|
|
86
|
+
Availability.
|
|
80
87
|
|
|
81
88
|
https://drafts.opds.io/schema/properties.schema.json
|
|
82
89
|
"""
|
codex/serializers/route.py
CHANGED
|
@@ -30,9 +30,9 @@ class SimpleRouteSerializer(Serializer):
|
|
|
30
30
|
pks = instance.get("pks")
|
|
31
31
|
if isinstance(pks, str):
|
|
32
32
|
pks = tuple(sorted(int(pk) for pk in pks.split(",")))
|
|
33
|
-
if 0 in pks:
|
|
33
|
+
if 0 in pks:
|
|
34
34
|
pks = ()
|
|
35
|
-
instance["pks"] = tuple(pks)
|
|
35
|
+
instance["pks"] = tuple(pks)
|
|
36
36
|
except ValueError:
|
|
37
37
|
instance["pks"] = ()
|
|
38
38
|
return instance
|
codex/settings/settings.py
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
"""
|
|
1
|
+
"""
|
|
2
|
+
Django settings for codex project.
|
|
2
3
|
|
|
3
4
|
Generated by 'django-admin startproject' using Django 3.0.3.
|
|
4
5
|
|
|
@@ -10,7 +11,7 @@ https://docs.djangoproject.com/en/dev/ref/settings/
|
|
|
10
11
|
"""
|
|
11
12
|
|
|
12
13
|
import logging
|
|
13
|
-
from logging import
|
|
14
|
+
from logging import WARNING, getLogger
|
|
14
15
|
from os import environ
|
|
15
16
|
from pathlib import Path
|
|
16
17
|
from types import MappingProxyType
|
|
@@ -152,7 +153,7 @@ if DEBUG:
|
|
|
152
153
|
"nplusone.ext.django.NPlusOneMiddleware",
|
|
153
154
|
]
|
|
154
155
|
NPLUSONE_LOGGER = getLogger("nplusone")
|
|
155
|
-
NPLUSONE_LOG_LEVEL =
|
|
156
|
+
NPLUSONE_LOG_LEVEL = WARNING
|
|
156
157
|
|
|
157
158
|
if LOG_RESPONSE_TIME:
|
|
158
159
|
MIDDLEWARE += [
|
codex/signals/django_signals.py
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{m as A,V as t}from"./VCheckboxBtn-CNMFahfF.js";import{g as F,u as I,h as l}from"./VSelectionControl-BqB1JeKa.js";import{p as B,o as U,g as R,b as D,bu as M,c as N,u as $,bv as j,a as u,m as r}from"./main-DCaPxp2h.js";const q=B({...F(),...U(A(),["inline"])},"VCheckbox"),G=R()({name:"VCheckbox",inheritAttrs:!1,props:q(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,c){let{attrs:d,slots:a}=c;const s=D(e,"modelValue"),{isFocused:n,focus:i,blur:m}=I(e),V=M(),b=N(()=>e.id||`checkbox-${V}`);return $(()=>{const[p,v]=j(d),f=l.filterProps(e),k=t.filterProps(e);return u(l,r({class:["v-checkbox",e.class]},p,f,{modelValue:s.value,"onUpdate:modelValue":o=>s.value=o,id:b.value,focused:n.value,style:e.style}),{...a,default:o=>{let{id:h,messagesId:x,isDisabled:P,isReadonly:C,isValid:g}=o;return u(t,r(k,{id:h.value,"aria-describedby":x.value,disabled:P.value,readonly:C.value},v,{error:g.value===!1,modelValue:s.value,"onUpdate:modelValue":y=>s.value=y,onFocus:i,onBlur:m}),a)}})}),{}}});export{G as V};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{m as A,V as t}from"./VCheckboxBtn-CNMFahfF.js";import{g as F,u as I,h as l}from"./VSelectionControl-BqB1JeKa.js";import{p as B,o as U,g as R,b as D,bu as M,c as N,u as $,bv as j,a as u,m as r}from"./main-DCaPxp2h.js";const q=B({...F(),...U(A(),["inline"])},"VCheckbox"),G=R()({name:"VCheckbox",inheritAttrs:!1,props:q(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,c){let{attrs:d,slots:a}=c;const s=D(e,"modelValue"),{isFocused:n,focus:i,blur:m}=I(e),V=M(),b=N(()=>e.id||`checkbox-${V}`);return $(()=>{const[p,v]=j(d),f=l.filterProps(e),k=t.filterProps(e);return u(l,r({class:["v-checkbox",e.class]},p,f,{modelValue:s.value,"onUpdate:modelValue":o=>s.value=o,id:b.value,focused:n.value,style:e.style}),{...a,default:o=>{let{id:h,messagesId:x,isDisabled:P,isReadonly:C,isValid:g}=o;return u(t,r(k,{id:h.value,"aria-describedby":x.value,disabled:P.value,readonly:C.value},v,{error:g.value===!1,modelValue:s.value,"onUpdate:modelValue":y=>s.value=y,onFocus:i,onBlur:m}),a)}})}),{}}});export{G as V};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{k as f,l as a}from"./VSelectionControl-BqB1JeKa.js";import{p as V,K as k,g as v,b as c,c as l,u as I,o as x,a as b,m as h}from"./main-DCaPxp2h.js";const C=V({indeterminate:Boolean,indeterminateIcon:{type:k,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),y=v()({name:"VCheckboxBtn",props:C(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,r){let{slots:u}=r;const t=c(e,"indeterminate"),n=c(e,"modelValue");function s(o){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),m=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return I(()=>{const o=x(a.filterProps(e),["modelValue"]);return b(a,h(o,{modelValue:n.value,"onUpdate:modelValue":[d=>n.value=d,s],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:i.value,trueIcon:m.value,"aria-checked":t.value?"mixed":void 0}),u)}),{}}});export{y as V,C as m};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{k as f,l as a}from"./VSelectionControl-BqB1JeKa.js";import{p as V,K as k,g as v,b as c,c as l,u as I,o as x,a as b,m as h}from"./main-DCaPxp2h.js";const C=V({indeterminate:Boolean,indeterminateIcon:{type:k,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),y=v()({name:"VCheckboxBtn",props:C(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,r){let{slots:u}=r;const t=c(e,"indeterminate"),n=c(e,"modelValue");function s(o){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),m=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return I(()=>{const o=x(a.filterProps(e),["modelValue"]);return b(a,h(o,{modelValue:n.value,"onUpdate:modelValue":[d=>n.value=d,s],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:i.value,trueIcon:m.value,"aria-checked":t.value?"mixed":void 0}),u)}),{}}});export{y as V,C as m};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{m as pe,u as Ce,t as P,f as we,a as Se,V as Fe,b as Ie,d as Pe}from"./VSelect-L4v_m3ag.js";import{p as Ae,q as De,b as X}from"./VSelectionControl-BqB1JeKa.js";import{p as Re,u as _e,k as Y,l as Ee,f as Te}from"./forwardRefs-D1ZDjzWx.js";import{m as Me,u as Ne}from"./filter-xcEcgcIx.js";import{p as Le,o as Oe,g as Ke,aS as Ue,r as N,aT as A,b as Z,c as b,aU as D,aW as ee,bt as Be,u as ze,a as i,F as L,m as I,bE as He,s as je,bF as qe,bG as We,bH as $e,bI as Ge}from"./main-DCaPxp2h.js";import{a as le,g as Je}from"./VDialog-CQXjBvDZ.js";import{V as Qe}from"./VCheckboxBtn-CNMFahfF.js";function Xe(e,g,R){if(g==null)return e;if(Array.isArray(g))throw new Error("Multiple matches is not implemented");return typeof g=="number"&&~g?i(L,null,[i("span",{class:"v-combobox__unmask"},[e.substr(0,g)]),i("span",{class:"v-combobox__mask"},[e.substr(g,R)]),i("span",{class:"v-combobox__unmask"},[e.substr(g+R)])]):e}const Ye=Le({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Me({filterKeys:["title"]}),...pe({hideNoData:!0,returnObject:!0}),...Oe(Ae({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...Re({transition:!1})},"VCombobox"),ol=Ke()({name:"VCombobox",props:Ye(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:search":e=>!0,"update:menu":e=>!0},setup(e,g){var G;let{emit:R,slots:o}=g;const{t:O}=Ue(),x=N(),y=A(!1),k=A(!0),K=A(!1),W=N(),U=N(),B=Z(e,"menu"),c=b({get:()=>B.value,set:l=>{var a;B.value&&!l&&((a=W.value)!=null&&a.ΨopenChildren.size)||(B.value=l)}}),s=A(-1);let z=!1;const ae=b(()=>{var l;return(l=x.value)==null?void 0:l.color}),$=b(()=>c.value?e.closeText:e.openText),{items:te,transformIn:ne,transformOut:ue}=Ce(e),{textColorClasses:oe,textColorStyles:ie}=_e(ae),n=Z(e,"modelValue",[],l=>ne(Ge(l)),l=>{const a=ue(l);return e.multiple?a:a[0]??null}),F=De(),_=b(()=>!!(e.chips||o.chip)),V=b(()=>_.value||!!o.selection),p=A(!e.multiple&&!V.value?((G=n.value[0])==null?void 0:G.title)??"":""),v=b({get:()=>p.value,set:l=>{var a;if(p.value=l??"",!e.multiple&&!V.value&&(n.value=[P(e,l)]),l&&e.multiple&&((a=e.delimiters)!=null&&a.length)){const r=l.split(new RegExp(`(?:${e.delimiters.join("|")})+`));r.length>1&&(r.forEach(t=>{t=t.trim(),t&&h(P(e,t))}),p.value="")}l||(s.value=-1),k.value=!l}}),se=b(()=>typeof e.counterValue=="function"?e.counterValue(n.value):typeof e.counterValue=="number"?e.counterValue:e.multiple?n.value.length:v.value.length);D(p,l=>{z?ee(()=>z=!1):y.value&&!c.value&&(c.value=!0),R("update:search",l)}),D(n,l=>{var a;!e.multiple&&!V.value&&(p.value=((a=l[0])==null?void 0:a.title)??"")});const{filteredItems:E,getMatches:re}=Ne(e,te,()=>k.value?"":v.value),C=b(()=>e.hideSelected?E.value.filter(l=>!n.value.some(a=>a.value===l.value)):E.value),ce=b(()=>n.value.map(l=>l.value)),H=b(()=>{var a;return(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&v.value===((a=C.value[0])==null?void 0:a.title))&&C.value.length>0&&!k.value&&!K.value}),j=b(()=>e.hideNoData&&!C.value.length||e.readonly||(F==null?void 0:F.isReadonly.value)),q=N(),ve=we(q,x);function de(l){z=!0,e.openOnClear&&(c.value=!0)}function fe(){j.value||(c.value=!0)}function me(l){j.value||(y.value&&(l.preventDefault(),l.stopPropagation()),c.value=!c.value)}function be(l){var a;We(l)&&((a=x.value)==null||a.focus())}function he(l){var t;if($e(l)||e.readonly||F!=null&&F.isReadonly.value)return;const a=x.value.selectionStart,r=n.value.length;if((s.value>-1||["Enter","ArrowDown","ArrowUp"].includes(l.key))&&l.preventDefault(),["Enter","ArrowDown"].includes(l.key)&&(c.value=!0),["Escape"].includes(l.key)&&(c.value=!1),["Enter","Escape","Tab"].includes(l.key)&&(H.value&&["Enter","Tab"].includes(l.key)&&!n.value.some(u=>{let{value:m}=u;return m===C.value[0].value})&&h(E.value[0]),k.value=!0),l.key==="ArrowDown"&&H.value&&((t=q.value)==null||t.focus("next")),l.key==="Enter"&&v.value&&(h(P(e,v.value)),V.value&&(p.value="")),["Backspace","Delete"].includes(l.key)){if(!e.multiple&&V.value&&n.value.length>0&&!v.value)return h(n.value[0],!1);if(~s.value){const u=s.value;h(n.value[s.value],!1),s.value=u>=r-1?r-2:u}else l.key==="Backspace"&&!v.value&&(s.value=r-1)}if(e.multiple){if(l.key==="ArrowLeft"){if(s.value<0&&a>0)return;const u=s.value>-1?s.value-1:r-1;n.value[u]?s.value=u:(s.value=-1,x.value.setSelectionRange(v.value.length,v.value.length))}if(l.key==="ArrowRight"){if(s.value<0)return;const u=s.value+1;n.value[u]?s.value=u:(s.value=-1,x.value.setSelectionRange(0,0))}}}function ge(){var l;e.eager&&((l=U.value)==null||l.calculateVisibleItems())}function xe(){var l;y.value&&(k.value=!0,(l=x.value)==null||l.focus())}function h(l){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!l||l.props.disabled))if(e.multiple){const r=n.value.findIndex(u=>e.valueComparator(u.value,l.value)),t=a??!~r;if(~r){const u=t?[...n.value,l]:[...n.value];u.splice(r,1),n.value=u}else t&&(n.value=[...n.value,l]);e.clearOnSelect&&(v.value="")}else{const r=a!==!1;n.value=r?[l]:[],p.value=r&&!V.value?l.title:"",ee(()=>{c.value=!1,k.value=!0})}}function ye(l){y.value=!0,setTimeout(()=>{K.value=!0})}function Ve(l){K.value=!1}function ke(l){(l==null||l===""&&!e.multiple&&!V.value)&&(n.value=[])}return D(y,(l,a)=>{if(!(l||l===a)&&(s.value=-1,c.value=!1,v.value)){if(e.multiple){h(P(e,v.value));return}if(!V.value)return;n.value.some(r=>{let{title:t}=r;return t===v.value})?p.value="":h(P(e,v.value))}}),D(c,()=>{if(!e.hideSelected&&c.value&&n.value.length){const l=C.value.findIndex(a=>n.value.some(r=>e.valueComparator(r.value,a.value)));Be&&window.requestAnimationFrame(()=>{var a;l>=0&&((a=U.value)==null||a.scrollToIndex(l))})}}),D(()=>e.items,(l,a)=>{c.value||y.value&&!a.length&&l.length&&(c.value=!0)}),ze(()=>{const l=!!(!e.hideNoData||C.value.length||o["prepend-item"]||o["append-item"]||o["no-data"]),a=n.value.length>0,r=X.filterProps(e);return i(X,I({ref:x},r,{modelValue:v.value,"onUpdate:modelValue":[t=>v.value=t,ke],focused:y.value,"onUpdate:focused":t=>y.value=t,validationValue:n.externalValue,counterValue:se.value,dirty:a,class:["v-combobox",{"v-combobox--active-menu":c.value,"v-combobox--chips":!!e.chips,"v-combobox--selection-slot":!!V.value,"v-combobox--selecting-index":s.value>-1,[`v-combobox--${e.multiple?"multiple":"single"}`]:!0},e.class],style:e.style,readonly:e.readonly,placeholder:a?void 0:e.placeholder,"onClick:clear":de,"onMousedown:control":fe,onKeydown:he}),{...o,default:()=>i(L,null,[i(Se,I({ref:W,modelValue:c.value,"onUpdate:modelValue":t=>c.value=t,activator:"parent",contentClass:"v-combobox__content",disabled:j.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterEnter:ge,onAfterLeave:xe},e.menuProps),{default:()=>[l&&i(Fe,I({ref:q,selected:ce.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:t=>t.preventDefault(),onKeydown:be,onFocusin:ye,onFocusout:Ve,tabindex:"-1","aria-live":"polite",color:e.itemColor??e.color},ve,e.listProps),{default:()=>{var t,u,m;return[(t=o["prepend-item"])==null?void 0:t.call(o),!C.value.length&&!e.hideNoData&&(((u=o["no-data"])==null?void 0:u.call(o))??i(le,{title:O(e.noDataText)},null)),i(Ie,{ref:U,renderless:!0,items:C.value},{default:w=>{var Q;let{item:d,index:S,itemRef:f}=w;const J=I(d.props,{ref:f,key:S,active:H.value&&S===0?!0:void 0,onClick:()=>h(d,null)});return((Q=o.item)==null?void 0:Q.call(o,{item:d,index:S,props:J}))??i(le,I(J,{role:"option"}),{prepend:T=>{let{isSelected:M}=T;return i(L,null,[e.multiple&&!e.hideSelected?i(Qe,{key:d.value,modelValue:M,ripple:!1,tabindex:"-1"},null):void 0,d.props.prependAvatar&&i(Je,{image:d.props.prependAvatar},null),d.props.prependIcon&&i(Y,{icon:d.props.prependIcon},null)])},title:()=>{var T,M;return k.value?d.title:Xe(d.title,(T=re(d))==null?void 0:T.title,((M=v.value)==null?void 0:M.length)??0)}})}}),(m=o["append-item"])==null?void 0:m.call(o)]}})]}),n.value.map((t,u)=>{function m(f){f.stopPropagation(),f.preventDefault(),h(t,!1)}const w={"onClick:close":m,onKeydown(f){f.key!=="Enter"&&f.key!==" "||(f.preventDefault(),f.stopPropagation(),m(f))},onMousedown(f){f.preventDefault(),f.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},d=_.value?!!o.chip:!!o.selection,S=d?He(_.value?o.chip({item:t,index:u,props:w}):o.selection({item:t,index:u})):void 0;if(!(d&&!S))return i("div",{key:t.value,class:["v-combobox__selection",u===s.value&&["v-combobox__selection--selected",oe.value]],style:u===s.value?ie.value:{}},[_.value?o.chip?i(Ee,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:t.title}}},{default:()=>[S]}):i(Pe,I({key:"chip",closable:e.closableChips,size:"small",text:t.title,disabled:t.props.disabled},w),null):S??i("span",{class:"v-combobox__selection-text"},[t.title,e.multiple&&u<n.value.length-1&&i("span",{class:"v-combobox__selection-comma"},[je(",")])])])})]),"append-inner":function(){var w;for(var t=arguments.length,u=new Array(t),m=0;m<t;m++)u[m]=arguments[m];return i(L,null,[(w=o["append-inner"])==null?void 0:w.call(o,...u),(!e.hideNoData||e.items.length)&&e.menuIcon?i(Y,{class:"v-combobox__menu-icon",icon:e.menuIcon,onMousedown:me,onClick:qe,"aria-label":O($.value),title:O($.value),tabindex:"-1"},null):void 0])}})}),Te({isFocused:y,isPristine:k,menu:c,search:v,selectionIndex:s,filteredItems:E,select:h},x)}});export{ol as V};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{m as pe,u as Ce,t as P,f as we,a as Se,V as Fe,b as Ie,d as Pe}from"./VSelect-L4v_m3ag.js";import{p as Ae,q as De,b as X}from"./VSelectionControl-BqB1JeKa.js";import{p as Re,u as _e,k as Y,l as Ee,f as Te}from"./forwardRefs-D1ZDjzWx.js";import{m as Me,u as Ne}from"./filter-xcEcgcIx.js";import{p as Le,o as Oe,g as Ke,aS as Ue,r as N,aT as A,b as Z,c as b,aU as D,aW as ee,bt as Be,u as ze,a as i,F as L,m as I,bE as He,s as je,bF as qe,bG as We,bH as $e,bI as Ge}from"./main-DCaPxp2h.js";import{a as le,g as Je}from"./VDialog-CQXjBvDZ.js";import{V as Qe}from"./VCheckboxBtn-CNMFahfF.js";function Xe(e,g,R){if(g==null)return e;if(Array.isArray(g))throw new Error("Multiple matches is not implemented");return typeof g=="number"&&~g?i(L,null,[i("span",{class:"v-combobox__unmask"},[e.substr(0,g)]),i("span",{class:"v-combobox__mask"},[e.substr(g,R)]),i("span",{class:"v-combobox__unmask"},[e.substr(g+R)])]):e}const Ye=Le({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Me({filterKeys:["title"]}),...pe({hideNoData:!0,returnObject:!0}),...Oe(Ae({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...Re({transition:!1})},"VCombobox"),ol=Ke()({name:"VCombobox",props:Ye(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:search":e=>!0,"update:menu":e=>!0},setup(e,g){var G;let{emit:R,slots:o}=g;const{t:O}=Ue(),x=N(),y=A(!1),k=A(!0),K=A(!1),W=N(),U=N(),B=Z(e,"menu"),c=b({get:()=>B.value,set:l=>{var a;B.value&&!l&&((a=W.value)!=null&&a.ΨopenChildren.size)||(B.value=l)}}),s=A(-1);let z=!1;const ae=b(()=>{var l;return(l=x.value)==null?void 0:l.color}),$=b(()=>c.value?e.closeText:e.openText),{items:te,transformIn:ne,transformOut:ue}=Ce(e),{textColorClasses:oe,textColorStyles:ie}=_e(ae),n=Z(e,"modelValue",[],l=>ne(Ge(l)),l=>{const a=ue(l);return e.multiple?a:a[0]??null}),F=De(),_=b(()=>!!(e.chips||o.chip)),V=b(()=>_.value||!!o.selection),p=A(!e.multiple&&!V.value?((G=n.value[0])==null?void 0:G.title)??"":""),v=b({get:()=>p.value,set:l=>{var a;if(p.value=l??"",!e.multiple&&!V.value&&(n.value=[P(e,l)]),l&&e.multiple&&((a=e.delimiters)!=null&&a.length)){const r=l.split(new RegExp(`(?:${e.delimiters.join("|")})+`));r.length>1&&(r.forEach(t=>{t=t.trim(),t&&h(P(e,t))}),p.value="")}l||(s.value=-1),k.value=!l}}),se=b(()=>typeof e.counterValue=="function"?e.counterValue(n.value):typeof e.counterValue=="number"?e.counterValue:e.multiple?n.value.length:v.value.length);D(p,l=>{z?ee(()=>z=!1):y.value&&!c.value&&(c.value=!0),R("update:search",l)}),D(n,l=>{var a;!e.multiple&&!V.value&&(p.value=((a=l[0])==null?void 0:a.title)??"")});const{filteredItems:E,getMatches:re}=Ne(e,te,()=>k.value?"":v.value),C=b(()=>e.hideSelected?E.value.filter(l=>!n.value.some(a=>a.value===l.value)):E.value),ce=b(()=>n.value.map(l=>l.value)),H=b(()=>{var a;return(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&v.value===((a=C.value[0])==null?void 0:a.title))&&C.value.length>0&&!k.value&&!K.value}),j=b(()=>e.hideNoData&&!C.value.length||e.readonly||(F==null?void 0:F.isReadonly.value)),q=N(),ve=we(q,x);function de(l){z=!0,e.openOnClear&&(c.value=!0)}function fe(){j.value||(c.value=!0)}function me(l){j.value||(y.value&&(l.preventDefault(),l.stopPropagation()),c.value=!c.value)}function be(l){var a;We(l)&&((a=x.value)==null||a.focus())}function he(l){var t;if($e(l)||e.readonly||F!=null&&F.isReadonly.value)return;const a=x.value.selectionStart,r=n.value.length;if((s.value>-1||["Enter","ArrowDown","ArrowUp"].includes(l.key))&&l.preventDefault(),["Enter","ArrowDown"].includes(l.key)&&(c.value=!0),["Escape"].includes(l.key)&&(c.value=!1),["Enter","Escape","Tab"].includes(l.key)&&(H.value&&["Enter","Tab"].includes(l.key)&&!n.value.some(u=>{let{value:m}=u;return m===C.value[0].value})&&h(E.value[0]),k.value=!0),l.key==="ArrowDown"&&H.value&&((t=q.value)==null||t.focus("next")),l.key==="Enter"&&v.value&&(h(P(e,v.value)),V.value&&(p.value="")),["Backspace","Delete"].includes(l.key)){if(!e.multiple&&V.value&&n.value.length>0&&!v.value)return h(n.value[0],!1);if(~s.value){const u=s.value;h(n.value[s.value],!1),s.value=u>=r-1?r-2:u}else l.key==="Backspace"&&!v.value&&(s.value=r-1)}if(e.multiple){if(l.key==="ArrowLeft"){if(s.value<0&&a>0)return;const u=s.value>-1?s.value-1:r-1;n.value[u]?s.value=u:(s.value=-1,x.value.setSelectionRange(v.value.length,v.value.length))}if(l.key==="ArrowRight"){if(s.value<0)return;const u=s.value+1;n.value[u]?s.value=u:(s.value=-1,x.value.setSelectionRange(0,0))}}}function ge(){var l;e.eager&&((l=U.value)==null||l.calculateVisibleItems())}function xe(){var l;y.value&&(k.value=!0,(l=x.value)==null||l.focus())}function h(l){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!l||l.props.disabled))if(e.multiple){const r=n.value.findIndex(u=>e.valueComparator(u.value,l.value)),t=a??!~r;if(~r){const u=t?[...n.value,l]:[...n.value];u.splice(r,1),n.value=u}else t&&(n.value=[...n.value,l]);e.clearOnSelect&&(v.value="")}else{const r=a!==!1;n.value=r?[l]:[],p.value=r&&!V.value?l.title:"",ee(()=>{c.value=!1,k.value=!0})}}function ye(l){y.value=!0,setTimeout(()=>{K.value=!0})}function Ve(l){K.value=!1}function ke(l){(l==null||l===""&&!e.multiple&&!V.value)&&(n.value=[])}return D(y,(l,a)=>{if(!(l||l===a)&&(s.value=-1,c.value=!1,v.value)){if(e.multiple){h(P(e,v.value));return}if(!V.value)return;n.value.some(r=>{let{title:t}=r;return t===v.value})?p.value="":h(P(e,v.value))}}),D(c,()=>{if(!e.hideSelected&&c.value&&n.value.length){const l=C.value.findIndex(a=>n.value.some(r=>e.valueComparator(r.value,a.value)));Be&&window.requestAnimationFrame(()=>{var a;l>=0&&((a=U.value)==null||a.scrollToIndex(l))})}}),D(()=>e.items,(l,a)=>{c.value||y.value&&!a.length&&l.length&&(c.value=!0)}),ze(()=>{const l=!!(!e.hideNoData||C.value.length||o["prepend-item"]||o["append-item"]||o["no-data"]),a=n.value.length>0,r=X.filterProps(e);return i(X,I({ref:x},r,{modelValue:v.value,"onUpdate:modelValue":[t=>v.value=t,ke],focused:y.value,"onUpdate:focused":t=>y.value=t,validationValue:n.externalValue,counterValue:se.value,dirty:a,class:["v-combobox",{"v-combobox--active-menu":c.value,"v-combobox--chips":!!e.chips,"v-combobox--selection-slot":!!V.value,"v-combobox--selecting-index":s.value>-1,[`v-combobox--${e.multiple?"multiple":"single"}`]:!0},e.class],style:e.style,readonly:e.readonly,placeholder:a?void 0:e.placeholder,"onClick:clear":de,"onMousedown:control":fe,onKeydown:he}),{...o,default:()=>i(L,null,[i(Se,I({ref:W,modelValue:c.value,"onUpdate:modelValue":t=>c.value=t,activator:"parent",contentClass:"v-combobox__content",disabled:j.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterEnter:ge,onAfterLeave:xe},e.menuProps),{default:()=>[l&&i(Fe,I({ref:q,selected:ce.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:t=>t.preventDefault(),onKeydown:be,onFocusin:ye,onFocusout:Ve,tabindex:"-1","aria-live":"polite",color:e.itemColor??e.color},ve,e.listProps),{default:()=>{var t,u,m;return[(t=o["prepend-item"])==null?void 0:t.call(o),!C.value.length&&!e.hideNoData&&(((u=o["no-data"])==null?void 0:u.call(o))??i(le,{title:O(e.noDataText)},null)),i(Ie,{ref:U,renderless:!0,items:C.value},{default:w=>{var Q;let{item:d,index:S,itemRef:f}=w;const J=I(d.props,{ref:f,key:S,active:H.value&&S===0?!0:void 0,onClick:()=>h(d,null)});return((Q=o.item)==null?void 0:Q.call(o,{item:d,index:S,props:J}))??i(le,I(J,{role:"option"}),{prepend:T=>{let{isSelected:M}=T;return i(L,null,[e.multiple&&!e.hideSelected?i(Qe,{key:d.value,modelValue:M,ripple:!1,tabindex:"-1"},null):void 0,d.props.prependAvatar&&i(Je,{image:d.props.prependAvatar},null),d.props.prependIcon&&i(Y,{icon:d.props.prependIcon},null)])},title:()=>{var T,M;return k.value?d.title:Xe(d.title,(T=re(d))==null?void 0:T.title,((M=v.value)==null?void 0:M.length)??0)}})}}),(m=o["append-item"])==null?void 0:m.call(o)]}})]}),n.value.map((t,u)=>{function m(f){f.stopPropagation(),f.preventDefault(),h(t,!1)}const w={"onClick:close":m,onKeydown(f){f.key!=="Enter"&&f.key!==" "||(f.preventDefault(),f.stopPropagation(),m(f))},onMousedown(f){f.preventDefault(),f.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},d=_.value?!!o.chip:!!o.selection,S=d?He(_.value?o.chip({item:t,index:u,props:w}):o.selection({item:t,index:u})):void 0;if(!(d&&!S))return i("div",{key:t.value,class:["v-combobox__selection",u===s.value&&["v-combobox__selection--selected",oe.value]],style:u===s.value?ie.value:{}},[_.value?o.chip?i(Ee,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:t.title}}},{default:()=>[S]}):i(Pe,I({key:"chip",closable:e.closableChips,size:"small",text:t.title,disabled:t.props.disabled},w),null):S??i("span",{class:"v-combobox__selection-text"},[t.title,e.multiple&&u<n.value.length-1&&i("span",{class:"v-combobox__selection-comma"},[je(",")])])])})]),"append-inner":function(){var w;for(var t=arguments.length,u=new Array(t),m=0;m<t;m++)u[m]=arguments[m];return i(L,null,[(w=o["append-inner"])==null?void 0:w.call(o,...u),(!e.hideNoData||e.items.length)&&e.menuIcon?i(Y,{class:"v-combobox__menu-icon",icon:e.menuIcon,onMousedown:me,onClick:qe,"aria-label":O($.value),title:O($.value),tabindex:"-1"},null):void 0])}})}),Te({isFocused:y,isPristine:k,menu:c,search:v,selectionIndex:s,filteredItems:E,select:h},x)}});export{ol as V};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{bL as yt,cl as ht,g as K,bR as Yt,cb as Kt,J as ne,ca as Xt,a as y,m as W,bs as Be,p as j,u as ae,c as k,t as he,bP as le,aT as D,r as V,aU as T,cd as Jt,cm as Qt,aW as ve,bn as Ae,S as Se,aj as Fe,F as be,e as U,aM as St,i as oe,aV as fe,cn as I,bI as bt,b as ue,bu as Zt,K as Ve,aP as Ne,aQ as ze,bW as Xe,co as en,_ as wt,l as kt,v as tn,n as nn,w as Je,s as Qe,z as an,bt as ee,bi as $e,bp as X,cp as ln,b9 as Ze,bk as De,cq as Et,cr as on,cs as et,c6 as rn,br as sn,bm as cn,ct as At,c8 as un,aR as dn,cu as vn,c3 as fn}from"./main-DCaPxp2h.js";import{a as se,P as gn,s as Le,Q as mn,S as Pt,O as xt,o as He,q as je,i as We,p as Ct,I as yn,e as Ot,j as qe,M as ce,c as Ue,z as pt,b as _t,F as hn,w as Bt,A as Vt,J as Lt,d as It,K as Sn,k as Ie,l as we,N as Tt,x as bn,g as wn,R as kn,h as En,y as An,V as tt,T as nt,U as xe,W as Ce,X as at,Y as Oe,Z as lt,_ as ot,B as Pn,$ as xn,f as Cn}from"./forwardRefs-D1ZDjzWx.js";const me=new WeakMap;function On(e,a){Object.keys(a).forEach(t=>{if(yt(t)){const n=ht(t),l=me.get(e);if(a[t]==null)l==null||l.forEach(o=>{const[i,r]=o;i===n&&(e.removeEventListener(n,r),l.delete(o))});else if(!l||![...l].some(o=>o[0]===n&&o[1]===a[t])){e.addEventListener(n,a[t]);const o=l||new Set;o.add([n,a[t]]),me.has(e)||me.set(e,o)}}else a[t]==null?e.removeAttribute(t):e.setAttribute(t,a[t])})}function pn(e,a){Object.keys(a).forEach(t=>{if(yt(t)){const n=ht(t),l=me.get(e);l==null||l.forEach(o=>{const[i,r]=o;i===n&&(e.removeEventListener(n,r),l.delete(o))})}else e.removeAttribute(t)})}function _n(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"div",t=arguments.length>2?arguments[2]:void 0;return K()({name:t??Yt(Kt(e.replace(/__/g,"-"))),props:{tag:{type:String,default:a},...ne()},setup(n,l){let{slots:o}=l;return()=>{var i;return Xt(n.tag,{class:[e,n.class],style:n.style},(i=o.default)==null?void 0:i.call(o))}}})}function Mt(e){if(typeof e.getRootNode!="function"){for(;e.parentNode;)e=e.parentNode;return e!==document?null:document}const a=e.getRootNode();return a!==document&&a.getRootNode({composed:!0})!==document?null:a}function Bn(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;for(;e;){if(a?Vn(e):Ge(e))return e;e=e.parentElement}return document.scrollingElement}function ke(e,a){const t=[];if(a&&e&&!a.contains(e))return t;for(;e&&(Ge(e)&&t.push(e),e!==a);)e=e.parentElement;return t}function Ge(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;const a=window.getComputedStyle(e);return a.overflowY==="scroll"||a.overflowY==="auto"&&e.scrollHeight>e.clientHeight}function Vn(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;const a=window.getComputedStyle(e);return["scroll","auto"].includes(a.overflowY)}function Ln(e){for(;e;){if(window.getComputedStyle(e).position==="fixed")return!0;e=e.offsetParent}return!1}const In=j({target:[Object,Array]},"v-dialog-transition"),Tn=K()({name:"VDialogTransition",props:In(),setup(e,a){let{slots:t}=a;const n={onBeforeEnter(l){l.style.pointerEvents="none",l.style.visibility="hidden"},async onEnter(l,o){var b;await new Promise(f=>requestAnimationFrame(f)),await new Promise(f=>requestAnimationFrame(f)),l.style.visibility="";const{x:i,y:r,sx:v,sy:d,speed:c}=rt(e.target,l),g=se(l,[{transform:`translate(${i}px, ${r}px) scale(${v}, ${d})`,opacity:0},{}],{duration:225*c,easing:gn});(b=it(l))==null||b.forEach(f=>{se(f,[{opacity:0},{opacity:0,offset:.33},{}],{duration:225*2*c,easing:Le})}),g.finished.then(()=>o())},onAfterEnter(l){l.style.removeProperty("pointer-events")},onBeforeLeave(l){l.style.pointerEvents="none"},async onLeave(l,o){var b;await new Promise(f=>requestAnimationFrame(f));const{x:i,y:r,sx:v,sy:d,speed:c}=rt(e.target,l);se(l,[{},{transform:`translate(${i}px, ${r}px) scale(${v}, ${d})`,opacity:0}],{duration:125*c,easing:mn}).finished.then(()=>o()),(b=it(l))==null||b.forEach(f=>{se(f,[{},{opacity:0,offset:.2},{opacity:0}],{duration:125*2*c,easing:Le})})},onAfterLeave(l){l.style.removeProperty("pointer-events")}};return()=>e.target?y(Be,W({name:"dialog-transition"},n,{css:!1}),t):y(Be,{name:"dialog-transition"},t)}});function it(e){var t;const a=(t=e.querySelector(":scope > .v-card, :scope > .v-sheet, :scope > .v-list"))==null?void 0:t.children;return a&&[...a]}function rt(e,a){const t=Pt(e),n=xt(a),[l,o]=getComputedStyle(a).transformOrigin.split(" ").map(E=>parseFloat(E)),[i,r]=getComputedStyle(a).getPropertyValue("--v-overlay-anchor-origin").split(" ");let v=t.left+t.width/2;i==="left"||r==="left"?v-=t.width/2:(i==="right"||r==="right")&&(v+=t.width/2);let d=t.top+t.height/2;i==="top"||r==="top"?d-=t.height/2:(i==="bottom"||r==="bottom")&&(d+=t.height/2);const c=t.width/n.width,g=t.height/n.height,b=Math.max(1,c,g),f=c/b||0,s=g/b||0,u=n.width*n.height/(window.innerWidth*window.innerHeight),h=u>.12?Math.min(1.5,(u-.12)*10+1):1;return{x:v-(l+n.left),y:d-(o+n.top),sx:f,sy:s,speed:h}}function Mn(e){return{aspectStyles:k(()=>{const a=Number(e.aspectRatio);return a?{paddingBottom:String(1/a*100)+"%"}:void 0})}}const Rt=j({aspectRatio:[String,Number],contentClass:null,inline:Boolean,...ne(),...He()},"VResponsive"),st=K()({name:"VResponsive",props:Rt(),setup(e,a){let{slots:t}=a;const{aspectStyles:n}=Mn(e),{dimensionStyles:l}=je(e);return ae(()=>{var o;return y("div",{class:["v-responsive",{"v-responsive--inline":e.inline},e.class],style:[l.value,e.style]},[y("div",{class:"v-responsive__sizer",style:n.value},null),(o=t.additional)==null?void 0:o.call(t),t.default&&y("div",{class:["v-responsive__content",e.contentClass]},[t.default()])])}),{}}}),Rn=j({absolute:Boolean,alt:String,cover:Boolean,color:String,draggable:{type:[Boolean,String],default:void 0},eager:Boolean,gradient:String,lazySrc:String,options:{type:Object,default:()=>({root:void 0,rootMargin:void 0,threshold:void 0})},sizes:String,src:{type:[String,Object],default:""},crossorigin:String,referrerpolicy:String,srcset:String,position:String,...Rt(),...ne(),...We(),...Ct()},"VImg"),Fn=K()({name:"VImg",directives:{intersect:yn},props:Rn(),emits:{loadstart:e=>!0,load:e=>!0,error:e=>!0},setup(e,a){let{emit:t,slots:n}=a;const{backgroundColorClasses:l,backgroundColorStyles:o}=Ot(he(e,"color")),{roundedClasses:i}=qe(e),r=le("VImg"),v=D(""),d=V(),c=D(e.eager?"loading":"idle"),g=D(),b=D(),f=k(()=>e.src&&typeof e.src=="object"?{src:e.src.src,srcset:e.srcset||e.src.srcset,lazySrc:e.lazySrc||e.src.lazySrc,aspect:Number(e.aspectRatio||e.src.aspect||0)}:{src:e.src,srcset:e.srcset,lazySrc:e.lazySrc,aspect:Number(e.aspectRatio||0)}),s=k(()=>f.value.aspect||g.value/b.value||0);T(()=>e.src,()=>{u(c.value!=="idle")}),T(s,(S,w)=>{!S&&w&&d.value&&p(d.value)}),Jt(()=>u());function u(S){if(!(e.eager&&S)&&!(Qt&&!S&&!e.eager)){if(c.value="loading",f.value.lazySrc){const w=new Image;w.src=f.value.lazySrc,p(w,null)}f.value.src&&ve(()=>{var w;t("loadstart",((w=d.value)==null?void 0:w.currentSrc)||f.value.src),setTimeout(()=>{var A;if(!r.isUnmounted)if((A=d.value)!=null&&A.complete){if(d.value.naturalWidth||E(),c.value==="error")return;s.value||p(d.value,null),c.value==="loading"&&h()}else s.value||p(d.value),P()})})}}function h(){var S;r.isUnmounted||(P(),p(d.value),c.value="loaded",t("load",((S=d.value)==null?void 0:S.currentSrc)||f.value.src))}function E(){var S;r.isUnmounted||(c.value="error",t("error",((S=d.value)==null?void 0:S.currentSrc)||f.value.src))}function P(){const S=d.value;S&&(v.value=S.currentSrc||S.src)}let x=-1;Ae(()=>{clearTimeout(x)});function p(S){let w=arguments.length>1&&arguments[1]!==void 0?arguments[1]:100;const A=()=>{if(clearTimeout(x),r.isUnmounted)return;const{naturalHeight:N,naturalWidth:z}=S;N||z?(g.value=z,b.value=N):!S.complete&&c.value==="loading"&&w!=null?x=window.setTimeout(A,w):(S.currentSrc.endsWith(".svg")||S.currentSrc.startsWith("data:image/svg+xml"))&&(g.value=1,b.value=1)};A()}const _=k(()=>({"v-img__img--cover":e.cover,"v-img__img--contain":!e.cover})),F=()=>{var A;if(!f.value.src||c.value==="idle")return null;const S=y("img",{class:["v-img__img",_.value],style:{objectPosition:e.position},src:f.value.src,srcset:f.value.srcset,alt:e.alt,crossorigin:e.crossorigin,referrerpolicy:e.referrerpolicy,draggable:e.draggable,sizes:e.sizes,ref:d,onLoad:h,onError:E},null),w=(A=n.sources)==null?void 0:A.call(n);return y(ce,{transition:e.transition,appear:!0},{default:()=>[Se(w?y("picture",{class:"v-img__picture"},[w,S]):S,[[St,c.value==="loaded"]])]})},L=()=>y(ce,{transition:e.transition},{default:()=>[f.value.lazySrc&&c.value!=="loaded"&&y("img",{class:["v-img__img","v-img__img--preload",_.value],style:{objectPosition:e.position},src:f.value.lazySrc,alt:e.alt,crossorigin:e.crossorigin,referrerpolicy:e.referrerpolicy,draggable:e.draggable},null)]}),m=()=>n.placeholder?y(ce,{transition:e.transition,appear:!0},{default:()=>[(c.value==="loading"||c.value==="error"&&!n.error)&&y("div",{class:"v-img__placeholder"},[n.placeholder()])]}):null,M=()=>n.error?y(ce,{transition:e.transition,appear:!0},{default:()=>[c.value==="error"&&y("div",{class:"v-img__error"},[n.error()])]}):null,te=()=>e.gradient?y("div",{class:"v-img__gradient",style:{backgroundImage:`linear-gradient(${e.gradient})`}},null):null,B=D(!1);{const S=T(s,w=>{w&&(requestAnimationFrame(()=>{requestAnimationFrame(()=>{B.value=!0})}),S())})}return ae(()=>{const S=st.filterProps(e);return Se(y(st,W({class:["v-img",{"v-img--absolute":e.absolute,"v-img--booting":!B.value},l.value,i.value,e.class],style:[{width:U(e.width==="auto"?g.value:e.width)},o.value,e.style]},S,{aspectRatio:s.value,"aria-label":e.alt,role:e.alt?"img":void 0}),{additional:()=>y(be,null,[y(F,null,null),y(L,null,null),y(te,null,null),y(m,null,null),y(M,null,null)]),default:n.default}),[[Fe("intersect"),{handler:u,options:e.options},null,{once:!0}]])}),{currentSrc:v,image:d,state:c,naturalWidth:g,naturalHeight:b}}}),Nn=j({eager:Boolean},"lazy");function zn(e,a){const t=D(!1),n=k(()=>t.value||e.eager||a.value);T(a,()=>t.value=!0);function l(){e.eager||(t.value=!1)}return{isBooted:t,hasContent:n,onAfterLeave:l}}function Ft(){const a=le("useScopeId").vnode.scopeId;return{scopeId:a?{[a]:""}:void 0}}const Te=Symbol.for("vuetify:list");function Ta(){const e=oe(Te,{hasPrepend:D(!1),updateHasPrepend:()=>null}),a={hasPrepend:D(!1),updateHasPrepend:t=>{t&&(a.hasPrepend.value=t)}};return fe(Te,a),e}function $n(){return oe(Te,null)}const Ye=e=>{const a={activate:t=>{let{id:n,value:l,activated:o}=t;return n=I(n),e&&!l&&o.size===1&&o.has(n)||(l?o.add(n):o.delete(n)),o},in:(t,n,l)=>{let o=new Set;if(t!=null)for(const i of bt(t))o=a.activate({id:i,value:!0,activated:new Set(o),children:n,parents:l});return o},out:t=>Array.from(t)};return a},Nt=e=>{const a=Ye(e);return{activate:n=>{let{activated:l,id:o,...i}=n;o=I(o);const r=l.has(o)?new Set([o]):new Set;return a.activate({...i,id:o,activated:r})},in:(n,l,o)=>{let i=new Set;if(n!=null){const r=bt(n);r.length&&(i=a.in(r.slice(0,1),l,o))}return i},out:(n,l,o)=>a.out(n,l,o)}},Dn=e=>{const a=Ye(e);return{activate:n=>{let{id:l,activated:o,children:i,...r}=n;return l=I(l),i.has(l)?o:a.activate({id:l,activated:o,children:i,...r})},in:a.in,out:a.out}},Hn=e=>{const a=Nt(e);return{activate:n=>{let{id:l,activated:o,children:i,...r}=n;return l=I(l),i.has(l)?o:a.activate({id:l,activated:o,children:i,...r})},in:a.in,out:a.out}},jn={open:e=>{let{id:a,value:t,opened:n,parents:l}=e;if(t){const o=new Set;o.add(a);let i=l.get(a);for(;i!=null;)o.add(i),i=l.get(i);return o}else return n.delete(a),n},select:()=>null},zt={open:e=>{let{id:a,value:t,opened:n,parents:l}=e;if(t){let o=l.get(a);for(n.add(a);o!=null&&o!==a;)n.add(o),o=l.get(o);return n}else n.delete(a);return n},select:()=>null},Wn={open:zt.open,select:e=>{let{id:a,value:t,opened:n,parents:l}=e;if(!t)return n;const o=[];let i=l.get(a);for(;i!=null;)o.push(i),i=l.get(i);return new Set(o)}},Ke=e=>{const a={select:t=>{let{id:n,value:l,selected:o}=t;if(n=I(n),e&&!l){const i=Array.from(o.entries()).reduce((r,v)=>{let[d,c]=v;return c==="on"&&r.push(d),r},[]);if(i.length===1&&i[0]===n)return o}return o.set(n,l?"on":"off"),o},in:(t,n,l)=>{let o=new Map;for(const i of t||[])o=a.select({id:i,value:!0,selected:new Map(o),children:n,parents:l});return o},out:t=>{const n=[];for(const[l,o]of t.entries())o==="on"&&n.push(l);return n}};return a},$t=e=>{const a=Ke(e);return{select:n=>{let{selected:l,id:o,...i}=n;o=I(o);const r=l.has(o)?new Map([[o,l.get(o)]]):new Map;return a.select({...i,id:o,selected:r})},in:(n,l,o)=>{let i=new Map;return n!=null&&n.length&&(i=a.in(n.slice(0,1),l,o)),i},out:(n,l,o)=>a.out(n,l,o)}},qn=e=>{const a=Ke(e);return{select:n=>{let{id:l,selected:o,children:i,...r}=n;return l=I(l),i.has(l)?o:a.select({id:l,selected:o,children:i,...r})},in:a.in,out:a.out}},Un=e=>{const a=$t(e);return{select:n=>{let{id:l,selected:o,children:i,...r}=n;return l=I(l),i.has(l)?o:a.select({id:l,selected:o,children:i,...r})},in:a.in,out:a.out}},Gn=e=>{const a={select:t=>{let{id:n,value:l,selected:o,children:i,parents:r}=t;n=I(n);const v=new Map(o),d=[n];for(;d.length;){const g=d.shift();o.set(I(g),l?"on":"off"),i.has(g)&&d.push(...i.get(g))}let c=I(r.get(n));for(;c;){const g=i.get(c),b=g.every(s=>o.get(I(s))==="on"),f=g.every(s=>!o.has(I(s))||o.get(I(s))==="off");o.set(c,b?"on":f?"off":"indeterminate"),c=I(r.get(c))}return e&&!l&&Array.from(o.entries()).reduce((b,f)=>{let[s,u]=f;return u==="on"&&b.push(s),b},[]).length===0?v:o},in:(t,n,l)=>{let o=new Map;for(const i of t||[])o=a.select({id:i,value:!0,selected:new Map(o),children:n,parents:l});return o},out:(t,n)=>{const l=[];for(const[o,i]of t.entries())i==="on"&&!n.has(o)&&l.push(o);return l}};return a},de=Symbol.for("vuetify:nested"),Dt={id:D(),root:{register:()=>null,unregister:()=>null,parents:V(new Map),children:V(new Map),open:()=>null,openOnSelect:()=>null,activate:()=>null,select:()=>null,activatable:V(!1),selectable:V(!1),opened:V(new Set),activated:V(new Set),selected:V(new Map),selectedValues:V([]),getPath:()=>[]}},Ma=j({activatable:Boolean,selectable:Boolean,activeStrategy:[String,Function,Object],selectStrategy:[String,Function,Object],openStrategy:[String,Object],opened:null,activated:null,selected:null,mandatory:Boolean},"nested"),Ra=e=>{let a=!1;const t=V(new Map),n=V(new Map),l=ue(e,"opened",e.opened,s=>new Set(s),s=>[...s.values()]),o=k(()=>{if(typeof e.activeStrategy=="object")return e.activeStrategy;if(typeof e.activeStrategy=="function")return e.activeStrategy(e.mandatory);switch(e.activeStrategy){case"leaf":return Dn(e.mandatory);case"single-leaf":return Hn(e.mandatory);case"independent":return Ye(e.mandatory);case"single-independent":default:return Nt(e.mandatory)}}),i=k(()=>{if(typeof e.selectStrategy=="object")return e.selectStrategy;if(typeof e.selectStrategy=="function")return e.selectStrategy(e.mandatory);switch(e.selectStrategy){case"single-leaf":return Un(e.mandatory);case"leaf":return qn(e.mandatory);case"independent":return Ke(e.mandatory);case"single-independent":return $t(e.mandatory);case"classic":default:return Gn(e.mandatory)}}),r=k(()=>{if(typeof e.openStrategy=="object")return e.openStrategy;switch(e.openStrategy){case"list":return Wn;case"single":return jn;case"multiple":default:return zt}}),v=ue(e,"activated",e.activated,s=>o.value.in(s,t.value,n.value),s=>o.value.out(s,t.value,n.value)),d=ue(e,"selected",e.selected,s=>i.value.in(s,t.value,n.value),s=>i.value.out(s,t.value,n.value));Ae(()=>{a=!0});function c(s){const u=[];let h=s;for(;h!=null;)u.unshift(h),h=n.value.get(h);return u}const g=le("nested"),b=new Set,f={id:D(),root:{opened:l,activatable:he(e,"activatable"),selectable:he(e,"selectable"),activated:v,selected:d,selectedValues:k(()=>{const s=[];for(const[u,h]of d.value.entries())h==="on"&&s.push(u);return s}),register:(s,u,h)=>{if(b.has(s)){c(s).map(String).join(" -> "),c(u).concat(s).map(String).join(" -> ");return}else b.add(s);u&&s!==u&&n.value.set(s,u),h&&t.value.set(s,[]),u!=null&&t.value.set(u,[...t.value.get(u)||[],s])},unregister:s=>{if(a)return;b.delete(s),t.value.delete(s);const u=n.value.get(s);if(u){const h=t.value.get(u)??[];t.value.set(u,h.filter(E=>E!==s))}n.value.delete(s)},open:(s,u,h)=>{g.emit("click:open",{id:s,value:u,path:c(s),event:h});const E=r.value.open({id:s,value:u,opened:new Set(l.value),children:t.value,parents:n.value,event:h});E&&(l.value=E)},openOnSelect:(s,u,h)=>{const E=r.value.select({id:s,value:u,selected:new Map(d.value),opened:new Set(l.value),children:t.value,parents:n.value,event:h});E&&(l.value=E)},select:(s,u,h)=>{g.emit("click:select",{id:s,value:u,path:c(s),event:h});const E=i.value.select({id:s,value:u,selected:new Map(d.value),children:t.value,parents:n.value,event:h});E&&(d.value=E),f.root.openOnSelect(s,u,h)},activate:(s,u,h)=>{if(!e.activatable)return f.root.select(s,!0,h);g.emit("click:activate",{id:s,value:u,path:c(s),event:h});const E=o.value.activate({id:s,value:u,activated:new Set(v.value),children:t.value,parents:n.value,event:h});E&&(v.value=E)},children:t,parents:n,getPath:c}};return fe(de,f),f.root},Yn=(e,a)=>{const t=oe(de,Dt),n=Symbol(Zt()),l=k(()=>e.value!==void 0?e.value:n),o={...t,id:l,open:(i,r)=>t.root.open(l.value,i,r),openOnSelect:(i,r)=>t.root.openOnSelect(l.value,i,r),isOpen:k(()=>t.root.opened.value.has(l.value)),parent:k(()=>t.root.parents.value.get(l.value)),activate:(i,r)=>t.root.activate(l.value,i,r),isActivated:k(()=>t.root.activated.value.has(I(l.value))),select:(i,r)=>t.root.select(l.value,i,r),isSelected:k(()=>t.root.selected.value.get(I(l.value))==="on"),isIndeterminate:k(()=>t.root.selected.value.get(l.value)==="indeterminate"),isLeaf:k(()=>!t.root.children.value.get(l.value)),isGroupActivator:t.isGroupActivator};return!t.isGroupActivator&&t.root.register(l.value,t.id.value,a),Ae(()=>{!t.isGroupActivator&&t.root.unregister(l.value)}),a&&fe(de,o),o},Fa=()=>{const e=oe(de,Dt);fe(de,{...e,isGroupActivator:!0})},Kn=j({opacity:[Number,String],...ne(),...Ue()},"VListItemSubtitle"),Xn=K()({name:"VListItemSubtitle",props:Kn(),setup(e,a){let{slots:t}=a;return ae(()=>y(e.tag,{class:["v-list-item-subtitle",e.class],style:[{"--v-list-item-subtitle-opacity":e.opacity},e.style]},t)),{}}}),Jn=_n("v-list-item-title"),Qn=j({start:Boolean,end:Boolean,icon:Ve,image:String,text:String,...pt(),...ne(),..._t(),...We(),...hn(),...Ue(),...Ne(),...Bt({variant:"flat"})},"VAvatar"),ct=K()({name:"VAvatar",props:Qn(),setup(e,a){let{slots:t}=a;const{themeClasses:n}=ze(e),{borderClasses:l}=Vt(e),{colorClasses:o,colorStyles:i,variantClasses:r}=Lt(e),{densityClasses:v}=It(e),{roundedClasses:d}=qe(e),{sizeClasses:c,sizeStyles:g}=Sn(e);return ae(()=>y(e.tag,{class:["v-avatar",{"v-avatar--start":e.start,"v-avatar--end":e.end},n.value,l.value,o.value,v.value,d.value,c.value,r.value,e.class],style:[i.value,g.value,e.style]},{default:()=>[t.default?y(we,{key:"content-defaults",defaults:{VImg:{cover:!0,src:e.image},VIcon:{icon:e.icon}}},{default:()=>[t.default()]}):e.image?y(Fn,{key:"image",src:e.image,alt:"",cover:!0},null):e.icon?y(Ie,{key:"icon",icon:e.icon},null):e.text,Tt(!1,"v-avatar")]})),{}}}),Zn=j({active:{type:Boolean,default:void 0},activeClass:String,activeColor:String,appendAvatar:String,appendIcon:Ve,baseColor:String,disabled:Boolean,lines:[Boolean,String],link:{type:Boolean,default:void 0},nav:Boolean,prependAvatar:String,prependIcon:Ve,ripple:{type:[Boolean,Object],default:!0},slim:Boolean,subtitle:[String,Number],title:[String,Number],value:null,onClick:Xe(),onClickOnce:Xe(),...pt(),...ne(),..._t(),...He(),...bn(),...We(),...wn(),...Ue(),...Ne(),...Bt({variant:"text"})},"VListItem"),ea=K()({name:"VListItem",directives:{Ripple:kn},props:Zn(),emits:{click:e=>!0},setup(e,a){let{attrs:t,slots:n,emit:l}=a;const o=En(e,t),i=k(()=>e.value===void 0?o.href.value:e.value),{activate:r,isActivated:v,select:d,isOpen:c,isSelected:g,isIndeterminate:b,isGroupActivator:f,root:s,parent:u,openOnSelect:h,id:E}=Yn(i,!1),P=$n(),x=k(()=>{var O;return e.active!==!1&&(e.active||((O=o.isActive)==null?void 0:O.value)||(s.activatable.value?v.value:g.value))}),p=k(()=>e.link!==!1&&o.isLink.value),_=k(()=>!e.disabled&&e.link!==!1&&(e.link||o.isClickable.value||!!P&&(s.selectable.value||s.activatable.value||e.value!=null))),F=k(()=>e.rounded||e.nav),L=k(()=>e.color??e.activeColor),m=k(()=>({color:x.value?L.value??e.baseColor:e.baseColor,variant:e.variant}));T(()=>{var O;return(O=o.isActive)==null?void 0:O.value},O=>{O&&u.value!=null&&s.open(u.value,!0),O&&h(O)},{immediate:!0});const{themeClasses:M}=ze(e),{borderClasses:te}=Vt(e),{colorClasses:B,colorStyles:S,variantClasses:w}=Lt(m),{densityClasses:A}=It(e),{dimensionStyles:N}=je(e),{elevationClasses:z}=An(e),{roundedClasses:J}=qe(F),R=k(()=>e.lines?`v-list-item--${e.lines}-line`:void 0),q=k(()=>({isActive:x.value,select:d,isOpen:c.value,isSelected:g.value,isIndeterminate:b.value}));function Q(O){var G;l("click",O),_.value&&((G=o.navigate)==null||G.call(o,O),!f&&(s.activatable.value?r(!v.value,O):(s.selectable.value||e.value!=null)&&d(!g.value,O)))}function Z(O){(O.key==="Enter"||O.key===" ")&&(O.preventDefault(),O.target.dispatchEvent(new MouseEvent("click",O)))}return ae(()=>{const O=p.value?"a":e.tag,G=n.title||e.title!=null,Pe=n.subtitle||e.subtitle!=null,ge=!!(e.appendAvatar||e.appendIcon),C=!!(ge||n.append),$=!!(e.prependAvatar||e.prependIcon),Y=!!($||n.prepend);return P==null||P.updateHasPrepend(Y),e.activeColor&&en("active-color",["color","base-color"]),Se(y(O,W({class:["v-list-item",{"v-list-item--active":x.value,"v-list-item--disabled":e.disabled,"v-list-item--link":_.value,"v-list-item--nav":e.nav,"v-list-item--prepend":!Y&&(P==null?void 0:P.hasPrepend.value),"v-list-item--slim":e.slim,[`${e.activeClass}`]:e.activeClass&&x.value},M.value,te.value,B.value,A.value,z.value,R.value,J.value,w.value,e.class],style:[S.value,N.value,e.style],tabindex:_.value?P?-2:0:void 0,"aria-selected":s.activatable.value?v.value:g.value,onClick:Q,onKeydown:_.value&&!p.value&&Z},o.linkProps),{default:()=>{var ie;return[Tt(_.value||x.value,"v-list-item"),Y&&y("div",{key:"prepend",class:"v-list-item__prepend"},[n.prepend?y(we,{key:"prepend-defaults",disabled:!$,defaults:{VAvatar:{density:e.density,image:e.prependAvatar},VIcon:{density:e.density,icon:e.prependIcon},VListItemAction:{start:!0}}},{default:()=>{var H;return[(H=n.prepend)==null?void 0:H.call(n,q.value)]}}):y(be,null,[e.prependAvatar&&y(ct,{key:"prepend-avatar",density:e.density,image:e.prependAvatar},null),e.prependIcon&&y(Ie,{key:"prepend-icon",density:e.density,icon:e.prependIcon},null)]),y("div",{class:"v-list-item__spacer"},null)]),y("div",{class:"v-list-item__content","data-no-activator":""},[G&&y(Jn,{key:"title"},{default:()=>{var H;return[((H=n.title)==null?void 0:H.call(n,{title:e.title}))??e.title]}}),Pe&&y(Xn,{key:"subtitle"},{default:()=>{var H;return[((H=n.subtitle)==null?void 0:H.call(n,{subtitle:e.subtitle}))??e.subtitle]}}),(ie=n.default)==null?void 0:ie.call(n,q.value)]),C&&y("div",{key:"append",class:"v-list-item__append"},[n.append?y(we,{key:"append-defaults",disabled:!ge,defaults:{VAvatar:{density:e.density,image:e.appendAvatar},VIcon:{density:e.density,icon:e.appendIcon},VListItemAction:{end:!0}}},{default:()=>{var H;return[(H=n.append)==null?void 0:H.call(n,q.value)]}}):y(be,null,[e.appendIcon&&y(Ie,{key:"append-icon",density:e.density,icon:e.appendIcon},null),e.appendAvatar&&y(ct,{key:"append-avatar",density:e.density,image:e.appendAvatar},null)]),y("div",{class:"v-list-item__spacer"},null)])]}}),[[Fe("ripple"),_.value&&e.ripple]])}),{activate:r,isActivated:v,isGroupActivator:f,isSelected:g,list:P,select:d,root:s,id:E}}}),ta={name:"CodexListItem"};function na(e,a,t,n,l,o){return kt(),tn(ea,{class:"codexListItem",slim:"",compact:""})}const Na=wt(ta,[["render",na],["__scopeId","data-v-6fce5087"]]),aa={name:"ConfirmFooter",props:{confirmText:{type:String,required:!0},disabled:{type:Boolean,default:!1}},emits:["confirm","cancel"]},la={class:"confirmFooter"};function oa(e,a,t,n,l,o){return kt(),nn("footer",la,[y(tt,{class:"confirmButton",disabled:t.disabled,onClick:a[0]||(a[0]=i=>e.$emit("confirm"))},{default:Je(()=>[Qe(an(t.confirmText),1)]),_:1},8,["disabled"]),y(tt,{class:"cancelButton",onClick:a[1]||(a[1]=i=>e.$emit("cancel"))},{default:Je(()=>a[2]||(a[2]=[Qe(" Cancel ")])),_:1})])}const za=wt(aa,[["render",oa],["__scopeId","data-v-24df1550"]]);function pe(e,a){return{x:e.x+a.x,y:e.y+a.y}}function ia(e,a){return{x:e.x-a.x,y:e.y-a.y}}function ut(e,a){if(e.side==="top"||e.side==="bottom"){const{side:t,align:n}=e,l=n==="left"?0:n==="center"?a.width/2:n==="right"?a.width:n,o=t==="top"?0:t==="bottom"?a.height:t;return pe({x:l,y:o},a)}else if(e.side==="left"||e.side==="right"){const{side:t,align:n}=e,l=t==="left"?0:t==="right"?a.width:t,o=n==="top"?0:n==="center"?a.height/2:n==="bottom"?a.height:n;return pe({x:l,y:o},a)}return pe({x:a.width/2,y:a.height/2},a)}const Ht={static:ca,connected:da},ra=j({locationStrategy:{type:[String,Function],default:"static",validator:e=>typeof e=="function"||e in Ht},location:{type:String,default:"bottom"},origin:{type:String,default:"auto"},offset:[Number,String,Array]},"VOverlay-location-strategies");function sa(e,a){const t=V({}),n=V();ee&&$e(()=>!!(a.isActive.value&&e.locationStrategy),o=>{var i,r;T(()=>e.locationStrategy,o),X(()=>{window.removeEventListener("resize",l),n.value=void 0}),window.addEventListener("resize",l,{passive:!0}),typeof e.locationStrategy=="function"?n.value=(i=e.locationStrategy(a,e,t))==null?void 0:i.updateLocation:n.value=(r=Ht[e.locationStrategy](a,e,t))==null?void 0:r.updateLocation});function l(o){var i;(i=n.value)==null||i.call(n,o)}return{contentStyles:t,updateLocation:n}}function ca(){}function ua(e,a){const t=xt(e);return a?t.x+=parseFloat(e.style.right||0):t.x-=parseFloat(e.style.left||0),t.y-=parseFloat(e.style.top||0),t}function da(e,a,t){(Array.isArray(e.target.value)||Ln(e.target.value))&&Object.assign(t.value,{position:"fixed",top:0,[e.isRtl.value?"right":"left"]:0});const{preferredAnchor:l,preferredOrigin:o}=ln(()=>{const s=nt(a.location,e.isRtl.value),u=a.origin==="overlap"?s:a.origin==="auto"?xe(s):nt(a.origin,e.isRtl.value);return s.side===u.side&&s.align===Ce(u).align?{preferredAnchor:at(s),preferredOrigin:at(u)}:{preferredAnchor:s,preferredOrigin:u}}),[i,r,v,d]=["minWidth","minHeight","maxWidth","maxHeight"].map(s=>k(()=>{const u=parseFloat(a[s]);return isNaN(u)?1/0:u})),c=k(()=>{if(Array.isArray(a.offset))return a.offset;if(typeof a.offset=="string"){const s=a.offset.split(" ").map(parseFloat);return s.length<2&&s.push(0),s}return typeof a.offset=="number"?[a.offset,0]:[0,0]});let g=!1;const b=new ResizeObserver(()=>{g&&f()});T([e.target,e.contentEl],(s,u)=>{let[h,E]=s,[P,x]=u;P&&!Array.isArray(P)&&b.unobserve(P),h&&!Array.isArray(h)&&b.observe(h),x&&b.unobserve(x),E&&b.observe(E)},{immediate:!0}),X(()=>{b.disconnect()});function f(){if(g=!1,requestAnimationFrame(()=>g=!0),!e.target.value||!e.contentEl.value)return;const s=Pt(e.target.value),u=ua(e.contentEl.value,e.isRtl.value),h=ke(e.contentEl.value),E=12;h.length||(h.push(document.documentElement),e.contentEl.value.style.top&&e.contentEl.value.style.left||(u.x-=parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-x")||0),u.y-=parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-y")||0)));const P=h.reduce((B,S)=>{const w=S.getBoundingClientRect(),A=new Oe({x:S===document.documentElement?0:w.x,y:S===document.documentElement?0:w.y,width:S.clientWidth,height:S.clientHeight});return B?new Oe({x:Math.max(B.left,A.left),y:Math.max(B.top,A.top),width:Math.min(B.right,A.right)-Math.max(B.left,A.left),height:Math.min(B.bottom,A.bottom)-Math.max(B.top,A.top)}):A},void 0);P.x+=E,P.y+=E,P.width-=E*2,P.height-=E*2;let x={anchor:l.value,origin:o.value};function p(B){const S=new Oe(u),w=ut(B.anchor,s),A=ut(B.origin,S);let{x:N,y:z}=ia(w,A);switch(B.anchor.side){case"top":z-=c.value[0];break;case"bottom":z+=c.value[0];break;case"left":N-=c.value[0];break;case"right":N+=c.value[0];break}switch(B.anchor.align){case"top":z-=c.value[1];break;case"bottom":z+=c.value[1];break;case"left":N-=c.value[1];break;case"right":N+=c.value[1];break}return S.x+=N,S.y+=z,S.width=Math.min(S.width,v.value),S.height=Math.min(S.height,d.value),{overflows:ot(S,P),x:N,y:z}}let _=0,F=0;const L={x:0,y:0},m={x:!1,y:!1};let M=-1;for(;!(M++>10);){const{x:B,y:S,overflows:w}=p(x);_+=B,F+=S,u.x+=B,u.y+=S;{const A=lt(x.anchor),N=w.x.before||w.x.after,z=w.y.before||w.y.after;let J=!1;if(["x","y"].forEach(R=>{if(R==="x"&&N&&!m.x||R==="y"&&z&&!m.y){const q={anchor:{...x.anchor},origin:{...x.origin}},Q=R==="x"?A==="y"?Ce:xe:A==="y"?xe:Ce;q.anchor=Q(q.anchor),q.origin=Q(q.origin);const{overflows:Z}=p(q);(Z[R].before<=w[R].before&&Z[R].after<=w[R].after||Z[R].before+Z[R].after<(w[R].before+w[R].after)/2)&&(x=q,J=m[R]=!0)}}),J)continue}w.x.before&&(_+=w.x.before,u.x+=w.x.before),w.x.after&&(_-=w.x.after,u.x-=w.x.after),w.y.before&&(F+=w.y.before,u.y+=w.y.before),w.y.after&&(F-=w.y.after,u.y-=w.y.after);{const A=ot(u,P);L.x=P.width-A.x.before-A.x.after,L.y=P.height-A.y.before-A.y.after,_+=A.x.before,u.x+=A.x.before,F+=A.y.before,u.y+=A.y.before}break}const te=lt(x.anchor);return Object.assign(t.value,{"--v-overlay-anchor-origin":`${x.anchor.side} ${x.anchor.align}`,transformOrigin:`${x.origin.side} ${x.origin.align}`,top:U(_e(F)),left:e.isRtl.value?void 0:U(_e(_)),right:e.isRtl.value?U(_e(-_)):void 0,minWidth:U(te==="y"?Math.min(i.value,s.width):i.value),maxWidth:U(dt(Ze(L.x,i.value===1/0?0:i.value,v.value))),maxHeight:U(dt(Ze(L.y,r.value===1/0?0:r.value,d.value)))}),{available:L,contentBox:u}}return T(()=>[l.value,o.value,a.offset,a.minWidth,a.minHeight,a.maxWidth,a.maxHeight],()=>f()),ve(()=>{const s=f();if(!s)return;const{available:u,contentBox:h}=s;h.height>u.y&&requestAnimationFrame(()=>{f(),requestAnimationFrame(()=>{f()})})}),{updateLocation:f}}function _e(e){return Math.round(e*devicePixelRatio)/devicePixelRatio}function dt(e){return Math.ceil(e*devicePixelRatio)/devicePixelRatio}let Me=!0;const Ee=[];function va(e){!Me||Ee.length?(Ee.push(e),Re()):(Me=!1,e(),Re())}let vt=-1;function Re(){cancelAnimationFrame(vt),vt=requestAnimationFrame(()=>{const e=Ee.shift();e&&e(),Ee.length?Re():Me=!0})}const ye={none:null,close:ma,block:ya,reposition:ha},fa=j({scrollStrategy:{type:[String,Function],default:"block",validator:e=>typeof e=="function"||e in ye}},"VOverlay-scroll-strategies");function ga(e,a){if(!ee)return;let t;De(async()=>{t==null||t.stop(),a.isActive.value&&e.scrollStrategy&&(t=Et(),await new Promise(n=>setTimeout(n)),t.active&&t.run(()=>{var n;typeof e.scrollStrategy=="function"?e.scrollStrategy(a,e,t):(n=ye[e.scrollStrategy])==null||n.call(ye,a,e,t)}))}),X(()=>{t==null||t.stop()})}function ma(e){function a(t){e.isActive.value=!1}jt(e.targetEl.value??e.contentEl.value,a)}function ya(e,a){var i;const t=(i=e.root.value)==null?void 0:i.offsetParent,n=[...new Set([...ke(e.targetEl.value,a.contained?t:void 0),...ke(e.contentEl.value,a.contained?t:void 0)])].filter(r=>!r.classList.contains("v-overlay-scroll-blocked")),l=window.innerWidth-document.documentElement.offsetWidth,o=(r=>Ge(r)&&r)(t||document.documentElement);o&&e.root.value.classList.add("v-overlay--scroll-blocked"),n.forEach((r,v)=>{r.style.setProperty("--v-body-scroll-x",U(-r.scrollLeft)),r.style.setProperty("--v-body-scroll-y",U(-r.scrollTop)),r!==document.documentElement&&r.style.setProperty("--v-scrollbar-offset",U(l)),r.classList.add("v-overlay-scroll-blocked")}),X(()=>{n.forEach((r,v)=>{const d=parseFloat(r.style.getPropertyValue("--v-body-scroll-x")),c=parseFloat(r.style.getPropertyValue("--v-body-scroll-y")),g=r.style.scrollBehavior;r.style.scrollBehavior="auto",r.style.removeProperty("--v-body-scroll-x"),r.style.removeProperty("--v-body-scroll-y"),r.style.removeProperty("--v-scrollbar-offset"),r.classList.remove("v-overlay-scroll-blocked"),r.scrollLeft=-d,r.scrollTop=-c,r.style.scrollBehavior=g}),o&&e.root.value.classList.remove("v-overlay--scroll-blocked")})}function ha(e,a,t){let n=!1,l=-1,o=-1;function i(r){va(()=>{var c,g;const v=performance.now();(g=(c=e.updateLocation).value)==null||g.call(c,r),n=(performance.now()-v)/(1e3/60)>2})}o=(typeof requestIdleCallback>"u"?r=>r():requestIdleCallback)(()=>{t.run(()=>{jt(e.targetEl.value??e.contentEl.value,r=>{n?(cancelAnimationFrame(l),l=requestAnimationFrame(()=>{l=requestAnimationFrame(()=>{i(r)})})):i(r)})})}),X(()=>{typeof cancelIdleCallback<"u"&&cancelIdleCallback(o),cancelAnimationFrame(l)})}function jt(e,a){const t=[document,...ke(e)];t.forEach(n=>{n.addEventListener("scroll",a,{passive:!0})}),X(()=>{t.forEach(n=>{n.removeEventListener("scroll",a)})})}const Sa=Symbol.for("vuetify:v-menu"),ba=j({closeDelay:[Number,String],openDelay:[Number,String]},"delay");function wa(e,a){let t=()=>{};function n(i){t==null||t();const r=Number(i?e.openDelay:e.closeDelay);return new Promise(v=>{t=on(r,()=>{a==null||a(i),v(i)})})}function l(){return n(!0)}function o(){return n(!1)}return{clearDelay:t,runOpenDelay:l,runCloseDelay:o}}const ka=j({target:[String,Object],activator:[String,Object],activatorProps:{type:Object,default:()=>({})},openOnClick:{type:Boolean,default:void 0},openOnHover:Boolean,openOnFocus:{type:Boolean,default:void 0},closeOnContentClick:Boolean,...ba()},"VOverlay-activator");function Ea(e,a){let{isActive:t,isTop:n,contentEl:l}=a;const o=le("useActivator"),i=V();let r=!1,v=!1,d=!0;const c=k(()=>e.openOnFocus||e.openOnFocus==null&&e.openOnHover),g=k(()=>e.openOnClick||e.openOnClick==null&&!e.openOnHover&&!c.value),{runOpenDelay:b,runCloseDelay:f}=wa(e,m=>{m===(e.openOnHover&&r||c.value&&v)&&!(e.openOnHover&&t.value&&!n.value)&&(t.value!==m&&(d=!0),t.value=m)}),s=V(),u={onClick:m=>{m.stopPropagation(),i.value=m.currentTarget||m.target,t.value||(s.value=[m.clientX,m.clientY]),t.value=!t.value},onMouseenter:m=>{var M;(M=m.sourceCapabilities)!=null&&M.firesTouchEvents||(r=!0,i.value=m.currentTarget||m.target,b())},onMouseleave:m=>{r=!1,f()},onFocus:m=>{rn(m.target,":focus-visible")!==!1&&(v=!0,m.stopPropagation(),i.value=m.currentTarget||m.target,b())},onBlur:m=>{v=!1,m.stopPropagation(),f()}},h=k(()=>{const m={};return g.value&&(m.onClick=u.onClick),e.openOnHover&&(m.onMouseenter=u.onMouseenter,m.onMouseleave=u.onMouseleave),c.value&&(m.onFocus=u.onFocus,m.onBlur=u.onBlur),m}),E=k(()=>{const m={};if(e.openOnHover&&(m.onMouseenter=()=>{r=!0,b()},m.onMouseleave=()=>{r=!1,f()}),c.value&&(m.onFocusin=()=>{v=!0,b()},m.onFocusout=()=>{v=!1,f()}),e.closeOnContentClick){const M=oe(Sa,null);m.onClick=()=>{t.value=!1,M==null||M.closeParents()}}return m}),P=k(()=>{const m={};return e.openOnHover&&(m.onMouseenter=()=>{d&&(r=!0,d=!1,b())},m.onMouseleave=()=>{r=!1,f()}),m});T(n,m=>{var M;m&&(e.openOnHover&&!r&&(!c.value||!v)||c.value&&!v&&(!e.openOnHover||!r))&&!((M=l.value)!=null&&M.contains(document.activeElement))&&(t.value=!1)}),T(t,m=>{m||setTimeout(()=>{s.value=void 0})},{flush:"post"});const x=et();De(()=>{x.value&&ve(()=>{i.value=x.el})});const p=et(),_=k(()=>e.target==="cursor"&&s.value?s.value:p.value?p.el:Wt(e.target,o)||i.value),F=k(()=>Array.isArray(_.value)?void 0:_.value);let L;return T(()=>!!e.activator,m=>{m&&ee?(L=Et(),L.run(()=>{Aa(e,o,{activatorEl:i,activatorEvents:h})})):L&&L.stop()},{flush:"post",immediate:!0}),X(()=>{L==null||L.stop()}),{activatorEl:i,activatorRef:x,target:_,targetEl:F,targetRef:p,activatorEvents:h,contentEvents:E,scrimEvents:P}}function Aa(e,a,t){let{activatorEl:n,activatorEvents:l}=t;T(()=>e.activator,(v,d)=>{if(d&&v!==d){const c=r(d);c&&i(c)}v&&ve(()=>o())},{immediate:!0}),T(()=>e.activatorProps,()=>{o()}),X(()=>{i()});function o(){let v=arguments.length>0&&arguments[0]!==void 0?arguments[0]:r(),d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.activatorProps;v&&On(v,W(l.value,d))}function i(){let v=arguments.length>0&&arguments[0]!==void 0?arguments[0]:r(),d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.activatorProps;v&&pn(v,W(l.value,d))}function r(){let v=arguments.length>0&&arguments[0]!==void 0?arguments[0]:e.activator;const d=Wt(v,a);return n.value=(d==null?void 0:d.nodeType)===Node.ELEMENT_NODE?d:void 0,n.value}}function Wt(e,a){var n,l;if(!e)return;let t;if(e==="parent"){let o=(l=(n=a==null?void 0:a.proxy)==null?void 0:n.$el)==null?void 0:l.parentNode;for(;o!=null&&o.hasAttribute("data-no-activator");)o=o.parentNode;t=o}else typeof e=="string"?t=document.querySelector(e):"$el"in e?t=e.$el:t=e;return t}function Pa(){if(!ee)return D(!1);const{ssr:e}=sn();if(e){const a=D(!1);return cn(()=>{a.value=!0}),a}else return D(!0)}const ft=Symbol.for("vuetify:stack"),re=At([]);function xa(e,a,t){const n=le("useStack"),l=!t,o=oe(ft,void 0),i=At({activeChildren:new Set});fe(ft,i);const r=D(+a.value);$e(e,()=>{var g;const c=(g=re.at(-1))==null?void 0:g[1];r.value=c?c+10:+a.value,l&&re.push([n.uid,r.value]),o==null||o.activeChildren.add(n.uid),X(()=>{if(l){const b=I(re).findIndex(f=>f[0]===n.uid);re.splice(b,1)}o==null||o.activeChildren.delete(n.uid)})});const v=D(!0);l&&De(()=>{var g;const c=((g=re.at(-1))==null?void 0:g[0])===n.uid;setTimeout(()=>v.value=c)});const d=k(()=>!i.activeChildren.size);return{globalTop:un(v),localTop:d,stackStyles:k(()=>({zIndex:r.value}))}}function Ca(e){return{teleportTarget:k(()=>{const t=e();if(t===!0||!ee)return;const n=t===!1?document.body:typeof t=="string"?document.querySelector(t):t;if(n==null)return;let l=[...n.children].find(o=>o.matches(".v-overlay-container"));return l||(l=document.createElement("div"),l.className="v-overlay-container",n.appendChild(l)),l})}}function Oa(){return!0}function qt(e,a,t){if(!e||Ut(e,t)===!1)return!1;const n=Mt(a);if(typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&n.host===e.target)return!1;const l=(typeof t.value=="object"&&t.value.include||(()=>[]))();return l.push(a),!l.some(o=>o==null?void 0:o.contains(e.target))}function Ut(e,a){return(typeof a.value=="object"&&a.value.closeConditional||Oa)(e)}function pa(e,a,t){const n=typeof t.value=="function"?t.value:t.value.handler;e.shadowTarget=e.target,a._clickOutside.lastMousedownWasOutside&&qt(e,a,t)&&setTimeout(()=>{Ut(e,t)&&n&&n(e)},0)}function gt(e,a){const t=Mt(e);a(document),typeof ShadowRoot<"u"&&t instanceof ShadowRoot&&a(t)}const _a={mounted(e,a){const t=l=>pa(l,e,a),n=l=>{e._clickOutside.lastMousedownWasOutside=qt(l,e,a)};gt(e,l=>{l.addEventListener("click",t,!0),l.addEventListener("mousedown",n,!0)}),e._clickOutside||(e._clickOutside={lastMousedownWasOutside:!1}),e._clickOutside[a.instance.$.uid]={onClick:t,onMousedown:n}},beforeUnmount(e,a){e._clickOutside&&(gt(e,t=>{var o;if(!t||!((o=e._clickOutside)!=null&&o[a.instance.$.uid]))return;const{onClick:n,onMousedown:l}=e._clickOutside[a.instance.$.uid];t.removeEventListener("click",n,!0),t.removeEventListener("mousedown",l,!0)}),delete e._clickOutside[a.instance.$.uid])}};function Ba(e){const{modelValue:a,color:t,...n}=e;return y(Be,{name:"fade-transition",appear:!0},{default:()=>[e.modelValue&&y("div",W({class:["v-overlay__scrim",e.color.backgroundColorClasses.value],style:e.color.backgroundColorStyles.value},n),null)]})}const Gt=j({absolute:Boolean,attach:[Boolean,String,Object],closeOnBack:{type:Boolean,default:!0},contained:Boolean,contentClass:null,contentProps:null,disabled:Boolean,opacity:[Number,String],noClickAnimation:Boolean,modelValue:Boolean,persistent:Boolean,scrim:{type:[Boolean,String],default:!0},zIndex:{type:[Number,String],default:2e3},...ka(),...ne(),...He(),...Nn(),...ra(),...fa(),...Ne(),...Ct()},"VOverlay"),mt=K()({name:"VOverlay",directives:{ClickOutside:_a},inheritAttrs:!1,props:{_disableGlobalStack:Boolean,...Gt()},emits:{"click:outside":e=>!0,"update:modelValue":e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(e,a){let{slots:t,attrs:n,emit:l}=a;const o=le("VOverlay"),i=V(),r=V(),v=V(),d=ue(e,"modelValue"),c=k({get:()=>d.value,set:C=>{C&&e.disabled||(d.value=C)}}),{themeClasses:g}=ze(e),{rtlClasses:b,isRtl:f}=dn(),{hasContent:s,onAfterLeave:u}=zn(e,c),h=Ot(k(()=>typeof e.scrim=="string"?e.scrim:null)),{globalTop:E,localTop:P,stackStyles:x}=xa(c,he(e,"zIndex"),e._disableGlobalStack),{activatorEl:p,activatorRef:_,target:F,targetEl:L,targetRef:m,activatorEvents:M,contentEvents:te,scrimEvents:B}=Ea(e,{isActive:c,isTop:P,contentEl:v}),{teleportTarget:S}=Ca(()=>{var Y,ie,H;const C=e.attach||e.contained;if(C)return C;const $=((Y=p==null?void 0:p.value)==null?void 0:Y.getRootNode())||((H=(ie=o.proxy)==null?void 0:ie.$el)==null?void 0:H.getRootNode());return $ instanceof ShadowRoot?$:!1}),{dimensionStyles:w}=je(e),A=Pa(),{scopeId:N}=Ft();T(()=>e.disabled,C=>{C&&(c.value=!1)});const{contentStyles:z,updateLocation:J}=sa(e,{isRtl:f,contentEl:v,target:F,isActive:c});ga(e,{root:i,contentEl:v,targetEl:L,isActive:c,updateLocation:J});function R(C){l("click:outside",C),e.persistent?G():c.value=!1}function q(C){return c.value&&E.value&&(!e.scrim||C.target===r.value||C instanceof MouseEvent&&C.shadowTarget===r.value)}ee&&T(c,C=>{C?window.addEventListener("keydown",Q):window.removeEventListener("keydown",Q)},{immediate:!0}),Ae(()=>{ee&&window.removeEventListener("keydown",Q)});function Q(C){var $,Y;C.key==="Escape"&&E.value&&(e.persistent?G():(c.value=!1,($=v.value)!=null&&$.contains(document.activeElement)&&((Y=p.value)==null||Y.focus())))}const Z=Pn();$e(()=>e.closeOnBack,()=>{xn(Z,C=>{E.value&&c.value?(C(!1),e.persistent?G():c.value=!1):C()})});const O=V();T(()=>c.value&&(e.absolute||e.contained)&&S.value==null,C=>{if(C){const $=Bn(i.value);$&&$!==document.scrollingElement&&(O.value=$.scrollTop)}});function G(){e.noClickAnimation||v.value&&se(v.value,[{transformOrigin:"center"},{transform:"scale(1.03)"},{transformOrigin:"center"}],{duration:150,easing:Le})}function Pe(){l("afterEnter")}function ge(){u(),l("afterLeave")}return ae(()=>{var C;return y(be,null,[(C=t.activator)==null?void 0:C.call(t,{isActive:c.value,targetRef:m,props:W({ref:_},M.value,e.activatorProps)}),A.value&&s.value&&y(vn,{disabled:!S.value,to:S.value},{default:()=>[y("div",W({class:["v-overlay",{"v-overlay--absolute":e.absolute||e.contained,"v-overlay--active":c.value,"v-overlay--contained":e.contained},g.value,b.value,e.class],style:[x.value,{"--v-overlay-opacity":e.opacity,top:U(O.value)},e.style],ref:i},N,n),[y(Ba,W({color:h,modelValue:c.value&&!!e.scrim,ref:r},B.value),null),y(ce,{appear:!0,persisted:!0,transition:e.transition,target:F.value,onAfterEnter:Pe,onAfterLeave:ge},{default:()=>{var $;return[Se(y("div",W({ref:v,class:["v-overlay__content",e.contentClass],style:[w.value,z.value]},te.value,e.contentProps),[($=t.default)==null?void 0:$.call(t,{isActive:c})]),[[St,c.value],[Fe("click-outside"),{handler:R,closeConditional:q,include:()=>[p.value]}]])]}})])]})])}),{activatorEl:p,scrimEl:r,target:F,animateClick:G,contentEl:v,globalTop:E,localTop:P,updateLocation:J}}}),Va=j({fullscreen:Boolean,retainFocus:{type:Boolean,default:!0},scrollable:Boolean,...Gt({origin:"center center",scrollStrategy:"block",transition:{component:Tn},zIndex:2400})},"VDialog"),$a=K()({name:"VDialog",props:Va(),emits:{"update:modelValue":e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(e,a){let{emit:t,slots:n}=a;const l=ue(e,"modelValue"),{scopeId:o}=Ft(),i=V();function r(c){var f,s;const g=c.relatedTarget,b=c.target;if(g!==b&&((f=i.value)!=null&&f.contentEl)&&((s=i.value)!=null&&s.globalTop)&&![document,i.value.contentEl].includes(b)&&!i.value.contentEl.contains(b)){const u=fn(i.value.contentEl);if(!u.length)return;const h=u[0],E=u[u.length-1];g===h?E.focus():h.focus()}}ee&&T(()=>l.value&&e.retainFocus,c=>{c?document.addEventListener("focusin",r):document.removeEventListener("focusin",r)},{immediate:!0});function v(){var c;t("afterEnter"),(c=i.value)!=null&&c.contentEl&&!i.value.contentEl.contains(document.activeElement)&&i.value.contentEl.focus({preventScroll:!0})}function d(){t("afterLeave")}return T(l,async c=>{var g;c||(await ve(),(g=i.value.activatorEl)==null||g.focus({preventScroll:!0}))}),ae(()=>{const c=mt.filterProps(e),g=W({"aria-haspopup":"dialog"},e.activatorProps),b=W({tabindex:-1},e.contentProps);return y(mt,W({ref:i,class:["v-dialog",{"v-dialog--fullscreen":e.fullscreen,"v-dialog--scrollable":e.scrollable},e.class],style:e.style},c,{modelValue:l.value,"onUpdate:modelValue":f=>l.value=f,"aria-modal":"true",activatorProps:g,contentProps:b,role:"dialog",onAfterEnter:v,onAfterLeave:d},o),{activator:n.activator,default:function(){for(var f=arguments.length,s=new Array(f),u=0;u<f;u++)s[u]=arguments[u];return y(we,{root:"VDialog"},{default:()=>{var h;return[(h=n.default)==null?void 0:h.call(n,...s)]}})}})}),Cn({},i)}});export{Na as C,$a as V,ea as a,zn as b,_n as c,Fn as d,ba as e,wa as f,ct as g,Fa as h,Yn as i,$n as j,Ta as k,Ma as l,Nn as m,Ra as n,Gt as o,Tn as p,Sa as q,mt as r,Bn as s,za as t,Ft as u,Jn as v};
|
|
Binary file
|
|
Binary file
|