codex 1.8.14__py3-none-any.whl → 1.8.16__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of codex might be problematic. Click here for more details.

Files changed (466) hide show
  1. codex/__init__.py +1 -1
  2. codex/librarian/scribe/importer/link/delete.py +2 -2
  3. codex/librarian/scribe/importer/tasks.py +3 -3
  4. codex/librarian/telemeter/scheduled_time.py +2 -1
  5. codex/serializers/browser/choices.py +1 -1
  6. codex/startup/__init__.py +2 -2
  7. codex/startup/logger_init.py +2 -2
  8. codex/static_root/assets/{VCheckbox-DSiToISz.36b2c3106f70.js → VCheckbox-BY6G_rgf.269e45107a7a.js} +1 -1
  9. codex/static_root/assets/VCheckbox-BY6G_rgf.269e45107a7a.js.br +0 -0
  10. codex/static_root/assets/VCheckbox-BY6G_rgf.269e45107a7a.js.gz +0 -0
  11. codex/static_root/assets/{VCheckbox-DSiToISz.js → VCheckbox-BY6G_rgf.js} +1 -1
  12. codex/static_root/assets/VCheckbox-BY6G_rgf.js.br +0 -0
  13. codex/static_root/assets/VCheckbox-BY6G_rgf.js.gz +0 -0
  14. codex/static_root/assets/{VCheckboxBtn-CYmOhPsT.064f0ca6833f.js → VCheckboxBtn-zhUZJChm.9761785b500b.js} +1 -1
  15. codex/static_root/assets/VCheckboxBtn-zhUZJChm.9761785b500b.js.br +0 -0
  16. codex/static_root/assets/VCheckboxBtn-zhUZJChm.9761785b500b.js.gz +0 -0
  17. codex/static_root/assets/{VCheckboxBtn-CYmOhPsT.js → VCheckboxBtn-zhUZJChm.js} +1 -1
  18. codex/static_root/assets/VCheckboxBtn-zhUZJChm.js.br +0 -0
  19. codex/static_root/assets/VCheckboxBtn-zhUZJChm.js.gz +0 -0
  20. codex/static_root/assets/VCombobox-O2BHnDUr.88a9aab6b95b.js +1 -0
  21. codex/static_root/assets/VCombobox-O2BHnDUr.88a9aab6b95b.js.br +0 -0
  22. codex/static_root/assets/VCombobox-O2BHnDUr.88a9aab6b95b.js.gz +0 -0
  23. codex/static_root/assets/VCombobox-O2BHnDUr.js +1 -0
  24. codex/static_root/assets/VCombobox-O2BHnDUr.js.br +0 -0
  25. codex/static_root/assets/VCombobox-O2BHnDUr.js.gz +0 -0
  26. codex/static_root/assets/{VDialog-cfA1435M.css → VDialog-BN4XvYQH.b7408d9d3262.css} +1 -1
  27. codex/static_root/assets/VDialog-BN4XvYQH.b7408d9d3262.css.br +0 -0
  28. codex/static_root/assets/VDialog-BN4XvYQH.b7408d9d3262.css.gz +0 -0
  29. codex/static_root/assets/{VDialog-cfA1435M.9d74582347d0.css → VDialog-BN4XvYQH.css} +1 -1
  30. codex/static_root/assets/VDialog-BN4XvYQH.css.br +0 -0
  31. codex/static_root/assets/VDialog-BN4XvYQH.css.gz +0 -0
  32. codex/static_root/assets/VDialog-mZQ1Va-c.d771d0ac6517.js +1 -0
  33. codex/static_root/assets/VDialog-mZQ1Va-c.d771d0ac6517.js.br +0 -0
  34. codex/static_root/assets/VDialog-mZQ1Va-c.d771d0ac6517.js.gz +0 -0
  35. codex/static_root/assets/VDialog-mZQ1Va-c.js +1 -0
  36. codex/static_root/assets/VDialog-mZQ1Va-c.js.br +0 -0
  37. codex/static_root/assets/VDialog-mZQ1Va-c.js.gz +0 -0
  38. codex/static_root/assets/{VDivider-DU47sRrT.3d2e17799e5c.css → VDivider-CCqJA_fj.b56fac1426ae.css} +1 -1
  39. codex/static_root/assets/VDivider-CCqJA_fj.b56fac1426ae.css.br +0 -0
  40. codex/static_root/assets/VDivider-CCqJA_fj.b56fac1426ae.css.gz +0 -0
  41. codex/static_root/assets/{VDivider-DU47sRrT.css → VDivider-CCqJA_fj.css} +1 -1
  42. codex/static_root/assets/VDivider-CCqJA_fj.css.br +0 -0
  43. codex/static_root/assets/VDivider-CCqJA_fj.css.gz +0 -0
  44. codex/static_root/assets/{VDivider-Dtis_q2S.9e74f9b00677.js → VDivider-CHTeIL4W.13805a003963.js} +1 -1
  45. codex/static_root/assets/VDivider-CHTeIL4W.13805a003963.js.br +0 -0
  46. codex/static_root/assets/VDivider-CHTeIL4W.13805a003963.js.gz +0 -0
  47. codex/static_root/assets/{VDivider-Dtis_q2S.js → VDivider-CHTeIL4W.js} +1 -1
  48. codex/static_root/assets/VDivider-CHTeIL4W.js.br +0 -0
  49. codex/static_root/assets/VDivider-CHTeIL4W.js.gz +0 -0
  50. codex/static_root/assets/{VExpansionPanels-DFJglYob.df0a5305e017.js → VExpansionPanels-B8bQXRWn.de33285def27.js} +1 -1
  51. codex/static_root/assets/VExpansionPanels-B8bQXRWn.de33285def27.js.br +0 -0
  52. codex/static_root/assets/VExpansionPanels-B8bQXRWn.de33285def27.js.gz +0 -0
  53. codex/static_root/assets/{VExpansionPanels-DFJglYob.js → VExpansionPanels-B8bQXRWn.js} +1 -1
  54. codex/static_root/assets/VExpansionPanels-B8bQXRWn.js.br +0 -0
  55. codex/static_root/assets/VExpansionPanels-B8bQXRWn.js.gz +0 -0
  56. codex/static_root/assets/{VForm-BNXhV_uk.f87afb6d84da.js → VForm-Dt0Uesri.5f3eb2e10d58.js} +1 -1
  57. codex/static_root/assets/VForm-Dt0Uesri.5f3eb2e10d58.js.br +0 -0
  58. codex/static_root/assets/VForm-Dt0Uesri.5f3eb2e10d58.js.gz +0 -0
  59. codex/static_root/assets/{VForm-BNXhV_uk.js → VForm-Dt0Uesri.js} +1 -1
  60. codex/static_root/assets/VForm-Dt0Uesri.js.br +0 -0
  61. codex/static_root/assets/VForm-Dt0Uesri.js.gz +0 -0
  62. codex/static_root/assets/VRadioGroup-CU9nYUHk.a25611eb0aff.js +1 -0
  63. codex/static_root/assets/VRadioGroup-CU9nYUHk.a25611eb0aff.js.br +0 -0
  64. codex/static_root/assets/VRadioGroup-CU9nYUHk.a25611eb0aff.js.gz +0 -0
  65. codex/static_root/assets/VRadioGroup-CU9nYUHk.js +1 -0
  66. codex/static_root/assets/VRadioGroup-CU9nYUHk.js.br +0 -0
  67. codex/static_root/assets/VRadioGroup-CU9nYUHk.js.gz +0 -0
  68. codex/static_root/assets/VSelect-DpnHasju.6b0e31d58987.js +1 -0
  69. codex/static_root/assets/VSelect-DpnHasju.6b0e31d58987.js.br +0 -0
  70. codex/static_root/assets/VSelect-DpnHasju.6b0e31d58987.js.gz +0 -0
  71. codex/static_root/assets/VSelect-DpnHasju.js +1 -0
  72. codex/static_root/assets/VSelect-DpnHasju.js.br +0 -0
  73. codex/static_root/assets/VSelect-DpnHasju.js.gz +0 -0
  74. codex/static_root/assets/{VSelectionControl-xYnmeS9J.279721e1b13d.js → VSelectionControl-DFaQ_klW.4c77eed94aca.js} +1 -1
  75. codex/static_root/assets/VSelectionControl-DFaQ_klW.4c77eed94aca.js.br +0 -0
  76. codex/static_root/assets/VSelectionControl-DFaQ_klW.4c77eed94aca.js.gz +0 -0
  77. codex/static_root/assets/{VSelectionControl-xYnmeS9J.js → VSelectionControl-DFaQ_klW.js} +1 -1
  78. codex/static_root/assets/VSelectionControl-DFaQ_klW.js.br +0 -0
  79. codex/static_root/assets/VSelectionControl-DFaQ_klW.js.gz +0 -0
  80. codex/static_root/assets/VTable-MenML-QS.8d54c08274e1.js +1 -0
  81. codex/static_root/assets/VTable-MenML-QS.8d54c08274e1.js.br +0 -0
  82. codex/static_root/assets/VTable-MenML-QS.8d54c08274e1.js.gz +0 -0
  83. codex/static_root/assets/VTable-MenML-QS.js +1 -0
  84. codex/static_root/assets/VTable-MenML-QS.js.br +0 -0
  85. codex/static_root/assets/VTable-MenML-QS.js.gz +0 -0
  86. codex/static_root/assets/{VWindowItem-0tN6eYpd.773c981aa12a.js → VWindowItem-62YwEvjG.b8bdaea824b5.js} +1 -1
  87. codex/static_root/assets/VWindowItem-62YwEvjG.b8bdaea824b5.js.br +0 -0
  88. codex/static_root/assets/VWindowItem-62YwEvjG.b8bdaea824b5.js.gz +0 -0
  89. codex/static_root/assets/{VWindowItem-0tN6eYpd.js → VWindowItem-62YwEvjG.js} +1 -1
  90. codex/static_root/assets/VWindowItem-62YwEvjG.js.br +0 -0
  91. codex/static_root/assets/VWindowItem-62YwEvjG.js.gz +0 -0
  92. codex/static_root/assets/{admin-C6VbbEgi.1b7afd86e270.js → admin-BStn9kk0.b50ab54d4a08.js} +1 -1
  93. codex/static_root/assets/admin-BStn9kk0.b50ab54d4a08.js.br +0 -0
  94. codex/static_root/assets/admin-BStn9kk0.b50ab54d4a08.js.gz +0 -0
  95. codex/static_root/assets/{admin-C6VbbEgi.js → admin-BStn9kk0.js} +1 -1
  96. codex/static_root/assets/admin-BStn9kk0.js.br +0 -0
  97. codex/static_root/assets/admin-BStn9kk0.js.gz +0 -0
  98. codex/static_root/assets/{admin-menu-CJIeXccy.a8f894508762.js → admin-menu-8MqbD6SS.de80d9c3a174.js} +1 -1
  99. codex/static_root/assets/admin-menu-8MqbD6SS.de80d9c3a174.js.br +0 -0
  100. codex/static_root/assets/admin-menu-8MqbD6SS.de80d9c3a174.js.gz +0 -0
  101. codex/static_root/assets/{admin-menu-CJIeXccy.js → admin-menu-8MqbD6SS.js} +1 -1
  102. codex/static_root/assets/admin-menu-8MqbD6SS.js.br +0 -0
  103. codex/static_root/assets/admin-menu-8MqbD6SS.js.gz +0 -0
  104. codex/static_root/assets/{admin-BSeSK58M.5e0ec404b68a.js → admin-ri1JM4_Z.fc516b4b96f2.js} +1 -1
  105. codex/static_root/assets/admin-ri1JM4_Z.fc516b4b96f2.js.br +0 -0
  106. codex/static_root/assets/admin-ri1JM4_Z.fc516b4b96f2.js.gz +0 -0
  107. codex/static_root/assets/{admin-BSeSK58M.js → admin-ri1JM4_Z.js} +1 -1
  108. codex/static_root/assets/admin-ri1JM4_Z.js.br +0 -0
  109. codex/static_root/assets/admin-ri1JM4_Z.js.gz +0 -0
  110. codex/static_root/assets/{admin-settings-button-progress-vOeMypwd.5db8039f1f8b.js → admin-settings-button-progress-HmQvm62f.6d2798eb3429.js} +1 -1
  111. codex/static_root/assets/admin-settings-button-progress-HmQvm62f.6d2798eb3429.js.br +0 -0
  112. codex/static_root/assets/admin-settings-button-progress-HmQvm62f.6d2798eb3429.js.gz +0 -0
  113. codex/static_root/assets/{admin-settings-button-progress-vOeMypwd.js → admin-settings-button-progress-HmQvm62f.js} +1 -1
  114. codex/static_root/assets/admin-settings-button-progress-HmQvm62f.js.br +0 -0
  115. codex/static_root/assets/admin-settings-button-progress-HmQvm62f.js.gz +0 -0
  116. codex/static_root/assets/{browser-CKD3rgcs.31efed76525d.js → browser-BQva2GCO.2748e733040b.js} +1 -1
  117. codex/static_root/assets/browser-BQva2GCO.2748e733040b.js.br +0 -0
  118. codex/static_root/assets/browser-BQva2GCO.2748e733040b.js.gz +0 -0
  119. codex/static_root/assets/{browser-CKD3rgcs.js → browser-BQva2GCO.js} +1 -1
  120. codex/static_root/assets/browser-BQva2GCO.js.br +0 -0
  121. codex/static_root/assets/browser-BQva2GCO.js.gz +0 -0
  122. codex/static_root/assets/{change-password-dialog-DoBLv9WU.2f5b656e6981.js → change-password-dialog-CEdhZwC3.c41faf4b7311.js} +1 -1
  123. codex/static_root/assets/change-password-dialog-CEdhZwC3.c41faf4b7311.js.br +0 -0
  124. codex/static_root/assets/change-password-dialog-CEdhZwC3.c41faf4b7311.js.gz +0 -0
  125. codex/static_root/assets/{change-password-dialog-DoBLv9WU.js → change-password-dialog-CEdhZwC3.js} +1 -1
  126. codex/static_root/assets/change-password-dialog-CEdhZwC3.js.br +0 -0
  127. codex/static_root/assets/change-password-dialog-CEdhZwC3.js.gz +0 -0
  128. codex/static_root/assets/{confirm-dialog-WKjj039l.7945cc0aca6f.js → confirm-dialog-X8W3euvh.d9b87f1eeefe.js} +1 -1
  129. codex/static_root/assets/confirm-dialog-X8W3euvh.d9b87f1eeefe.js.br +0 -0
  130. codex/static_root/assets/confirm-dialog-X8W3euvh.d9b87f1eeefe.js.gz +0 -0
  131. codex/static_root/assets/{confirm-dialog-WKjj039l.js → confirm-dialog-X8W3euvh.js} +1 -1
  132. codex/static_root/assets/confirm-dialog-X8W3euvh.js.br +0 -0
  133. codex/static_root/assets/confirm-dialog-X8W3euvh.js.gz +0 -0
  134. codex/static_root/assets/{datetime-column-cHNNkd7r.0fa4cabd2ff5.js → datetime-column-CzIyyJDK.f9be11efa2e2.js} +1 -1
  135. codex/static_root/assets/datetime-column-CzIyyJDK.f9be11efa2e2.js.br +0 -0
  136. codex/static_root/assets/datetime-column-CzIyyJDK.f9be11efa2e2.js.gz +0 -0
  137. codex/static_root/assets/{datetime-column-cHNNkd7r.js → datetime-column-CzIyyJDK.js} +1 -1
  138. codex/static_root/assets/datetime-column-CzIyyJDK.js.br +0 -0
  139. codex/static_root/assets/datetime-column-CzIyyJDK.js.gz +0 -0
  140. codex/static_root/assets/{filter-Bu2xCEP4.d632e004db3e.js → filter-BfEbIpVl.ec48ef2a75bc.js} +1 -1
  141. codex/static_root/assets/filter-BfEbIpVl.ec48ef2a75bc.js.br +0 -0
  142. codex/static_root/assets/filter-BfEbIpVl.ec48ef2a75bc.js.gz +0 -0
  143. codex/static_root/assets/{filter-Bu2xCEP4.js → filter-BfEbIpVl.js} +1 -1
  144. codex/static_root/assets/filter-BfEbIpVl.js.br +0 -0
  145. codex/static_root/assets/filter-BfEbIpVl.js.gz +0 -0
  146. codex/static_root/assets/flag-tab-BtZ098bQ.2c417cda39c8.js +1 -0
  147. codex/static_root/assets/flag-tab-BtZ098bQ.2c417cda39c8.js.br +0 -0
  148. codex/static_root/assets/flag-tab-BtZ098bQ.2c417cda39c8.js.gz +0 -0
  149. codex/static_root/assets/flag-tab-BtZ098bQ.js +1 -0
  150. codex/static_root/assets/flag-tab-BtZ098bQ.js.br +0 -0
  151. codex/static_root/assets/flag-tab-BtZ098bQ.js.gz +0 -0
  152. codex/static_root/assets/forwardRefs-CnxuGwpi.1c01bc84723c.js +1 -0
  153. codex/static_root/assets/forwardRefs-CnxuGwpi.1c01bc84723c.js.br +0 -0
  154. codex/static_root/assets/forwardRefs-CnxuGwpi.1c01bc84723c.js.gz +0 -0
  155. codex/static_root/assets/forwardRefs-CnxuGwpi.js +1 -0
  156. codex/static_root/assets/forwardRefs-CnxuGwpi.js.br +0 -0
  157. codex/static_root/assets/forwardRefs-CnxuGwpi.js.gz +0 -0
  158. codex/static_root/assets/{group-tab-CqHKA3Rv.bd829d9ff902.js → group-tab-FI6afuX5.a569809fb228.js} +1 -1
  159. codex/static_root/assets/group-tab-FI6afuX5.a569809fb228.js.br +0 -0
  160. codex/static_root/assets/group-tab-FI6afuX5.a569809fb228.js.gz +0 -0
  161. codex/static_root/assets/{group-tab-CqHKA3Rv.js → group-tab-FI6afuX5.js} +1 -1
  162. codex/static_root/assets/group-tab-FI6afuX5.js.br +0 -0
  163. codex/static_root/assets/group-tab-FI6afuX5.js.gz +0 -0
  164. codex/static_root/assets/http-error-BmuMBbvn.9f6b9dc6dc16.js +1 -0
  165. codex/static_root/assets/http-error-BmuMBbvn.9f6b9dc6dc16.js.br +0 -0
  166. codex/static_root/assets/http-error-BmuMBbvn.9f6b9dc6dc16.js.gz +0 -0
  167. codex/static_root/assets/http-error-BmuMBbvn.js +1 -0
  168. codex/static_root/assets/http-error-BmuMBbvn.js.br +0 -0
  169. codex/static_root/assets/http-error-BmuMBbvn.js.gz +0 -0
  170. codex/static_root/assets/index-DXqyJRWg.58b55c49a1ba.js +1 -0
  171. codex/static_root/assets/index-DXqyJRWg.58b55c49a1ba.js.br +0 -0
  172. codex/static_root/assets/index-DXqyJRWg.58b55c49a1ba.js.gz +0 -0
  173. codex/static_root/assets/index-DXqyJRWg.js +1 -0
  174. codex/static_root/assets/index-DXqyJRWg.js.br +0 -0
  175. codex/static_root/assets/index-DXqyJRWg.js.gz +0 -0
  176. codex/static_root/assets/{library-tab-DHtd9G39.a6068c595e8f.js → library-tab-DlGRxHD-.e2e3049de8fe.js} +1 -1
  177. codex/static_root/assets/library-tab-DlGRxHD-.e2e3049de8fe.js.br +0 -0
  178. codex/static_root/assets/library-tab-DlGRxHD-.e2e3049de8fe.js.gz +0 -0
  179. codex/static_root/assets/{library-tab-DHtd9G39.js → library-tab-DlGRxHD-.js} +1 -1
  180. codex/static_root/assets/library-tab-DlGRxHD-.js.br +0 -0
  181. codex/static_root/assets/library-tab-DlGRxHD-.js.gz +0 -0
  182. codex/static_root/assets/main-CWTxsB_K.4890bf9782af.js +34 -0
  183. codex/static_root/assets/main-CWTxsB_K.4890bf9782af.js.br +0 -0
  184. codex/static_root/assets/main-CWTxsB_K.4890bf9782af.js.gz +0 -0
  185. codex/static_root/assets/main-CWTxsB_K.js +34 -0
  186. codex/static_root/assets/main-CWTxsB_K.js.br +0 -0
  187. codex/static_root/assets/main-CWTxsB_K.js.gz +0 -0
  188. codex/static_root/assets/pager-full-pdf-BPlguGsn.12749407ef31.js +1 -0
  189. codex/static_root/assets/pager-full-pdf-BPlguGsn.12749407ef31.js.br +0 -0
  190. codex/static_root/assets/pager-full-pdf-BPlguGsn.12749407ef31.js.gz +0 -0
  191. codex/static_root/assets/pager-full-pdf-BPlguGsn.js +1 -0
  192. codex/static_root/assets/pager-full-pdf-BPlguGsn.js.br +0 -0
  193. codex/static_root/assets/pager-full-pdf-BPlguGsn.js.gz +0 -0
  194. codex/static_root/assets/pagination-toolbar-BBoV7kGz.3812691bafd5.js +1 -0
  195. codex/static_root/assets/pagination-toolbar-BBoV7kGz.3812691bafd5.js.br +0 -0
  196. codex/static_root/assets/pagination-toolbar-BBoV7kGz.3812691bafd5.js.gz +0 -0
  197. codex/static_root/assets/pagination-toolbar-BBoV7kGz.js +1 -0
  198. codex/static_root/assets/pagination-toolbar-BBoV7kGz.js.br +0 -0
  199. codex/static_root/assets/pagination-toolbar-BBoV7kGz.js.gz +0 -0
  200. codex/static_root/assets/{pdf-doc-CAzVDc80.440339054422.js → pdf-doc-DY8a-Suh.4ef483220f83.js} +1 -1
  201. codex/static_root/assets/pdf-doc-DY8a-Suh.4ef483220f83.js.br +0 -0
  202. codex/static_root/assets/pdf-doc-DY8a-Suh.4ef483220f83.js.gz +0 -0
  203. codex/static_root/assets/{pdf-doc-CAzVDc80.js → pdf-doc-DY8a-Suh.js} +1 -1
  204. codex/static_root/assets/pdf-doc-DY8a-Suh.js.br +0 -0
  205. codex/static_root/assets/pdf-doc-DY8a-Suh.js.gz +0 -0
  206. codex/static_root/assets/{reader-Bi_CT2rk.2048477e3d9a.js → reader-Dqa95yj4.a16f078ebed6.js} +2 -2
  207. codex/static_root/assets/reader-Dqa95yj4.a16f078ebed6.js.br +0 -0
  208. codex/static_root/assets/reader-Dqa95yj4.a16f078ebed6.js.gz +0 -0
  209. codex/static_root/assets/{reader-Bi_CT2rk.js → reader-Dqa95yj4.js} +2 -2
  210. codex/static_root/assets/reader-Dqa95yj4.js.br +0 -0
  211. codex/static_root/assets/reader-Dqa95yj4.js.gz +0 -0
  212. codex/static_root/assets/relation-chips-DnkUXW6y.ae4d455a85e4.js +1 -0
  213. codex/static_root/assets/relation-chips-DnkUXW6y.ae4d455a85e4.js.br +0 -0
  214. codex/static_root/assets/relation-chips-DnkUXW6y.ae4d455a85e4.js.gz +0 -0
  215. codex/static_root/assets/relation-chips-DnkUXW6y.js +1 -0
  216. codex/static_root/assets/relation-chips-DnkUXW6y.js.br +0 -0
  217. codex/static_root/assets/relation-chips-DnkUXW6y.js.gz +0 -0
  218. codex/static_root/assets/{settings-drawer-CjqFmP5f.a1c27430b554.js → settings-drawer-CrJwaDTj.0ea90e35f48a.js} +2 -2
  219. codex/static_root/assets/settings-drawer-CrJwaDTj.0ea90e35f48a.js.br +0 -0
  220. codex/static_root/assets/settings-drawer-CrJwaDTj.0ea90e35f48a.js.gz +0 -0
  221. codex/static_root/assets/{settings-drawer-CjqFmP5f.js → settings-drawer-CrJwaDTj.js} +2 -2
  222. codex/static_root/assets/settings-drawer-CrJwaDTj.js.br +0 -0
  223. codex/static_root/assets/settings-drawer-CrJwaDTj.js.gz +0 -0
  224. codex/static_root/assets/{ssrBoot-Bn2PfqMS.a3d5b2b28349.js → ssrBoot-yM9n-WhK.33a34fb51966.js} +1 -1
  225. codex/static_root/assets/ssrBoot-yM9n-WhK.33a34fb51966.js.br +0 -0
  226. codex/static_root/assets/ssrBoot-yM9n-WhK.33a34fb51966.js.gz +0 -0
  227. codex/static_root/assets/{ssrBoot-Bn2PfqMS.js → ssrBoot-yM9n-WhK.js} +1 -1
  228. codex/static_root/assets/ssrBoot-yM9n-WhK.js.br +0 -0
  229. codex/static_root/assets/ssrBoot-yM9n-WhK.js.gz +0 -0
  230. codex/static_root/assets/{stats-tab-CQYF0r5W.3eeaa933ecfd.js → stats-tab-R3_2S5KJ.1b8dcb544e56.js} +1 -1
  231. codex/static_root/assets/stats-tab-R3_2S5KJ.1b8dcb544e56.js.br +0 -0
  232. codex/static_root/assets/stats-tab-R3_2S5KJ.1b8dcb544e56.js.gz +0 -0
  233. codex/static_root/assets/{stats-tab-CQYF0r5W.js → stats-tab-R3_2S5KJ.js} +1 -1
  234. codex/static_root/assets/stats-tab-R3_2S5KJ.js.br +0 -0
  235. codex/static_root/assets/stats-tab-R3_2S5KJ.js.gz +0 -0
  236. codex/static_root/assets/{task-tab-DZ6XCKiv.11d725b52725.js → task-tab-DcwExi-z.7745f5bdd4f6.js} +1 -1
  237. codex/static_root/assets/task-tab-DcwExi-z.7745f5bdd4f6.js.br +0 -0
  238. codex/static_root/assets/task-tab-DcwExi-z.7745f5bdd4f6.js.gz +0 -0
  239. codex/static_root/assets/{task-tab-DZ6XCKiv.js → task-tab-DcwExi-z.js} +1 -1
  240. codex/static_root/assets/task-tab-DcwExi-z.js.br +0 -0
  241. codex/static_root/assets/task-tab-DcwExi-z.js.gz +0 -0
  242. codex/static_root/assets/{unauthorized-B0KN5ef3.3e4c44632a20.js → unauthorized-DQOfB_66.153b77e5dba9.js} +1 -1
  243. codex/static_root/assets/unauthorized-DQOfB_66.153b77e5dba9.js.br +0 -0
  244. codex/static_root/assets/unauthorized-DQOfB_66.153b77e5dba9.js.gz +0 -0
  245. codex/static_root/assets/{unauthorized-B0KN5ef3.js → unauthorized-DQOfB_66.js} +1 -1
  246. codex/static_root/assets/unauthorized-DQOfB_66.js.br +0 -0
  247. codex/static_root/assets/unauthorized-DQOfB_66.js.gz +0 -0
  248. codex/static_root/assets/{user-tab-WoOwFzFw.2e07ebc79118.js → user-tab-BKyrq81A.7412792291c7.js} +1 -1
  249. codex/static_root/assets/user-tab-BKyrq81A.7412792291c7.js.br +0 -0
  250. codex/static_root/assets/user-tab-BKyrq81A.7412792291c7.js.gz +0 -0
  251. codex/static_root/assets/{user-tab-WoOwFzFw.js → user-tab-BKyrq81A.js} +1 -1
  252. codex/static_root/assets/user-tab-BKyrq81A.js.br +0 -0
  253. codex/static_root/assets/user-tab-BKyrq81A.js.gz +0 -0
  254. codex/static_root/img/missing-cover-165.ef301b6fcf8c.webp +0 -0
  255. codex/static_root/img/missing-cover-165.webp +0 -0
  256. codex/static_root/{manifest.69541e47c159.json → manifest.d1e85b766092.json} +314 -314
  257. codex/static_root/manifest.d1e85b766092.json.br +0 -0
  258. codex/static_root/manifest.d1e85b766092.json.gz +0 -0
  259. codex/static_root/manifest.json +314 -314
  260. codex/static_root/manifest.json.br +0 -0
  261. codex/static_root/manifest.json.gz +0 -0
  262. codex/static_root/staticfiles.json +1 -1
  263. codex/templates/headers-icons.html +0 -5
  264. codex/templates/pwa/headers.html +1 -1
  265. codex/templates/pwa/serviceworker.js +0 -1
  266. codex/urls/root.py +1 -1
  267. codex/views/browser/annotate/order.py +1 -1
  268. codex/views/browser/group_mtime.py +1 -1
  269. {codex-1.8.14.dist-info → codex-1.8.16.dist-info}/METADATA +3 -3
  270. codex-1.8.16.dist-info/RECORD +1102 -0
  271. {codex-1.8.14.dist-info → codex-1.8.16.dist-info}/WHEEL +1 -1
  272. codex/static_root/assets/VCheckbox-DSiToISz.36b2c3106f70.js.br +0 -0
  273. codex/static_root/assets/VCheckbox-DSiToISz.36b2c3106f70.js.gz +0 -0
  274. codex/static_root/assets/VCheckbox-DSiToISz.js.br +0 -0
  275. codex/static_root/assets/VCheckbox-DSiToISz.js.gz +0 -0
  276. codex/static_root/assets/VCheckboxBtn-CYmOhPsT.064f0ca6833f.js.br +0 -0
  277. codex/static_root/assets/VCheckboxBtn-CYmOhPsT.064f0ca6833f.js.gz +0 -0
  278. codex/static_root/assets/VCheckboxBtn-CYmOhPsT.js.br +0 -0
  279. codex/static_root/assets/VCheckboxBtn-CYmOhPsT.js.gz +0 -0
  280. codex/static_root/assets/VCombobox-BPA3Li01.560d65a1fd9e.js +0 -1
  281. codex/static_root/assets/VCombobox-BPA3Li01.560d65a1fd9e.js.br +0 -0
  282. codex/static_root/assets/VCombobox-BPA3Li01.560d65a1fd9e.js.gz +0 -0
  283. codex/static_root/assets/VCombobox-BPA3Li01.js +0 -1
  284. codex/static_root/assets/VCombobox-BPA3Li01.js.br +0 -0
  285. codex/static_root/assets/VCombobox-BPA3Li01.js.gz +0 -0
  286. codex/static_root/assets/VDialog-BFf48e97.3689a9d36779.js +0 -1
  287. codex/static_root/assets/VDialog-BFf48e97.3689a9d36779.js.br +0 -0
  288. codex/static_root/assets/VDialog-BFf48e97.3689a9d36779.js.gz +0 -0
  289. codex/static_root/assets/VDialog-BFf48e97.js +0 -1
  290. codex/static_root/assets/VDialog-BFf48e97.js.br +0 -0
  291. codex/static_root/assets/VDialog-BFf48e97.js.gz +0 -0
  292. codex/static_root/assets/VDialog-cfA1435M.9d74582347d0.css.br +0 -0
  293. codex/static_root/assets/VDialog-cfA1435M.9d74582347d0.css.gz +0 -0
  294. codex/static_root/assets/VDialog-cfA1435M.css.br +0 -0
  295. codex/static_root/assets/VDialog-cfA1435M.css.gz +0 -0
  296. codex/static_root/assets/VDivider-DU47sRrT.3d2e17799e5c.css.br +0 -0
  297. codex/static_root/assets/VDivider-DU47sRrT.3d2e17799e5c.css.gz +0 -0
  298. codex/static_root/assets/VDivider-DU47sRrT.css.br +0 -0
  299. codex/static_root/assets/VDivider-DU47sRrT.css.gz +0 -0
  300. codex/static_root/assets/VDivider-Dtis_q2S.9e74f9b00677.js.br +0 -0
  301. codex/static_root/assets/VDivider-Dtis_q2S.9e74f9b00677.js.gz +0 -0
  302. codex/static_root/assets/VDivider-Dtis_q2S.js.br +0 -0
  303. codex/static_root/assets/VDivider-Dtis_q2S.js.gz +0 -0
  304. codex/static_root/assets/VExpansionPanels-DFJglYob.df0a5305e017.js.br +0 -0
  305. codex/static_root/assets/VExpansionPanels-DFJglYob.df0a5305e017.js.gz +0 -0
  306. codex/static_root/assets/VExpansionPanels-DFJglYob.js.br +0 -0
  307. codex/static_root/assets/VExpansionPanels-DFJglYob.js.gz +0 -0
  308. codex/static_root/assets/VForm-BNXhV_uk.f87afb6d84da.js.br +0 -0
  309. codex/static_root/assets/VForm-BNXhV_uk.f87afb6d84da.js.gz +0 -0
  310. codex/static_root/assets/VForm-BNXhV_uk.js.br +0 -0
  311. codex/static_root/assets/VForm-BNXhV_uk.js.gz +0 -0
  312. codex/static_root/assets/VRadioGroup-BlGhrl3W.93a79cebc3eb.js +0 -1
  313. codex/static_root/assets/VRadioGroup-BlGhrl3W.93a79cebc3eb.js.br +0 -0
  314. codex/static_root/assets/VRadioGroup-BlGhrl3W.93a79cebc3eb.js.gz +0 -0
  315. codex/static_root/assets/VRadioGroup-BlGhrl3W.js +0 -1
  316. codex/static_root/assets/VRadioGroup-BlGhrl3W.js.br +0 -0
  317. codex/static_root/assets/VRadioGroup-BlGhrl3W.js.gz +0 -0
  318. codex/static_root/assets/VSelect-DIXHkKJm.22846e456715.js +0 -1
  319. codex/static_root/assets/VSelect-DIXHkKJm.22846e456715.js.br +0 -0
  320. codex/static_root/assets/VSelect-DIXHkKJm.22846e456715.js.gz +0 -0
  321. codex/static_root/assets/VSelect-DIXHkKJm.js +0 -1
  322. codex/static_root/assets/VSelect-DIXHkKJm.js.br +0 -0
  323. codex/static_root/assets/VSelect-DIXHkKJm.js.gz +0 -0
  324. codex/static_root/assets/VSelectionControl-xYnmeS9J.279721e1b13d.js.br +0 -0
  325. codex/static_root/assets/VSelectionControl-xYnmeS9J.279721e1b13d.js.gz +0 -0
  326. codex/static_root/assets/VSelectionControl-xYnmeS9J.js.br +0 -0
  327. codex/static_root/assets/VSelectionControl-xYnmeS9J.js.gz +0 -0
  328. codex/static_root/assets/VTable-BK7gXlps.d1758b79332d.js +0 -1
  329. codex/static_root/assets/VTable-BK7gXlps.d1758b79332d.js.br +0 -0
  330. codex/static_root/assets/VTable-BK7gXlps.d1758b79332d.js.gz +0 -0
  331. codex/static_root/assets/VTable-BK7gXlps.js +0 -1
  332. codex/static_root/assets/VTable-BK7gXlps.js.br +0 -0
  333. codex/static_root/assets/VTable-BK7gXlps.js.gz +0 -0
  334. codex/static_root/assets/VWindowItem-0tN6eYpd.773c981aa12a.js.br +0 -0
  335. codex/static_root/assets/VWindowItem-0tN6eYpd.773c981aa12a.js.gz +0 -0
  336. codex/static_root/assets/VWindowItem-0tN6eYpd.js.br +0 -0
  337. codex/static_root/assets/VWindowItem-0tN6eYpd.js.gz +0 -0
  338. codex/static_root/assets/admin-BSeSK58M.5e0ec404b68a.js.br +0 -0
  339. codex/static_root/assets/admin-BSeSK58M.5e0ec404b68a.js.gz +0 -0
  340. codex/static_root/assets/admin-BSeSK58M.js.br +0 -0
  341. codex/static_root/assets/admin-BSeSK58M.js.gz +0 -0
  342. codex/static_root/assets/admin-C6VbbEgi.1b7afd86e270.js.br +0 -0
  343. codex/static_root/assets/admin-C6VbbEgi.1b7afd86e270.js.gz +0 -0
  344. codex/static_root/assets/admin-C6VbbEgi.js.br +0 -0
  345. codex/static_root/assets/admin-C6VbbEgi.js.gz +0 -0
  346. codex/static_root/assets/admin-menu-CJIeXccy.a8f894508762.js.br +0 -0
  347. codex/static_root/assets/admin-menu-CJIeXccy.a8f894508762.js.gz +0 -0
  348. codex/static_root/assets/admin-menu-CJIeXccy.js.br +0 -0
  349. codex/static_root/assets/admin-menu-CJIeXccy.js.gz +0 -0
  350. codex/static_root/assets/admin-settings-button-progress-vOeMypwd.5db8039f1f8b.js.br +0 -3
  351. codex/static_root/assets/admin-settings-button-progress-vOeMypwd.5db8039f1f8b.js.gz +0 -0
  352. codex/static_root/assets/admin-settings-button-progress-vOeMypwd.js.br +0 -3
  353. codex/static_root/assets/admin-settings-button-progress-vOeMypwd.js.gz +0 -0
  354. codex/static_root/assets/browser-CKD3rgcs.31efed76525d.js.br +0 -0
  355. codex/static_root/assets/browser-CKD3rgcs.31efed76525d.js.gz +0 -0
  356. codex/static_root/assets/browser-CKD3rgcs.js.br +0 -0
  357. codex/static_root/assets/browser-CKD3rgcs.js.gz +0 -0
  358. codex/static_root/assets/change-password-dialog-DoBLv9WU.2f5b656e6981.js.br +0 -0
  359. codex/static_root/assets/change-password-dialog-DoBLv9WU.2f5b656e6981.js.gz +0 -0
  360. codex/static_root/assets/change-password-dialog-DoBLv9WU.js.br +0 -0
  361. codex/static_root/assets/change-password-dialog-DoBLv9WU.js.gz +0 -0
  362. codex/static_root/assets/confirm-dialog-WKjj039l.7945cc0aca6f.js.br +0 -0
  363. codex/static_root/assets/confirm-dialog-WKjj039l.7945cc0aca6f.js.gz +0 -0
  364. codex/static_root/assets/confirm-dialog-WKjj039l.js.br +0 -0
  365. codex/static_root/assets/confirm-dialog-WKjj039l.js.gz +0 -0
  366. codex/static_root/assets/datetime-column-cHNNkd7r.0fa4cabd2ff5.js.br +0 -1
  367. codex/static_root/assets/datetime-column-cHNNkd7r.0fa4cabd2ff5.js.gz +0 -0
  368. codex/static_root/assets/datetime-column-cHNNkd7r.js.br +0 -1
  369. codex/static_root/assets/datetime-column-cHNNkd7r.js.gz +0 -0
  370. codex/static_root/assets/filter-Bu2xCEP4.d632e004db3e.js.br +0 -0
  371. codex/static_root/assets/filter-Bu2xCEP4.d632e004db3e.js.gz +0 -0
  372. codex/static_root/assets/filter-Bu2xCEP4.js.br +0 -0
  373. codex/static_root/assets/filter-Bu2xCEP4.js.gz +0 -0
  374. codex/static_root/assets/flag-tab-COY8uzS6.05e7ab1f0aef.js +0 -1
  375. codex/static_root/assets/flag-tab-COY8uzS6.05e7ab1f0aef.js.br +0 -0
  376. codex/static_root/assets/flag-tab-COY8uzS6.05e7ab1f0aef.js.gz +0 -0
  377. codex/static_root/assets/flag-tab-COY8uzS6.js +0 -1
  378. codex/static_root/assets/flag-tab-COY8uzS6.js.br +0 -0
  379. codex/static_root/assets/flag-tab-COY8uzS6.js.gz +0 -0
  380. codex/static_root/assets/forwardRefs-BXEe8ItZ.a2cf13851d8e.js +0 -1
  381. codex/static_root/assets/forwardRefs-BXEe8ItZ.a2cf13851d8e.js.br +0 -0
  382. codex/static_root/assets/forwardRefs-BXEe8ItZ.a2cf13851d8e.js.gz +0 -0
  383. codex/static_root/assets/forwardRefs-BXEe8ItZ.js +0 -1
  384. codex/static_root/assets/forwardRefs-BXEe8ItZ.js.br +0 -0
  385. codex/static_root/assets/forwardRefs-BXEe8ItZ.js.gz +0 -0
  386. codex/static_root/assets/group-tab-CqHKA3Rv.bd829d9ff902.js.br +0 -0
  387. codex/static_root/assets/group-tab-CqHKA3Rv.bd829d9ff902.js.gz +0 -0
  388. codex/static_root/assets/group-tab-CqHKA3Rv.js.br +0 -0
  389. codex/static_root/assets/group-tab-CqHKA3Rv.js.gz +0 -0
  390. codex/static_root/assets/http-error-BAYySiBp.392f8e13b8a9.js +0 -1
  391. codex/static_root/assets/http-error-BAYySiBp.392f8e13b8a9.js.br +0 -0
  392. codex/static_root/assets/http-error-BAYySiBp.392f8e13b8a9.js.gz +0 -0
  393. codex/static_root/assets/http-error-BAYySiBp.js +0 -1
  394. codex/static_root/assets/http-error-BAYySiBp.js.br +0 -0
  395. codex/static_root/assets/http-error-BAYySiBp.js.gz +0 -0
  396. codex/static_root/assets/index-CuPwxeMJ.096be94db12c.js +0 -1
  397. codex/static_root/assets/index-CuPwxeMJ.096be94db12c.js.br +0 -0
  398. codex/static_root/assets/index-CuPwxeMJ.096be94db12c.js.gz +0 -0
  399. codex/static_root/assets/index-CuPwxeMJ.js +0 -1
  400. codex/static_root/assets/index-CuPwxeMJ.js.br +0 -0
  401. codex/static_root/assets/index-CuPwxeMJ.js.gz +0 -0
  402. codex/static_root/assets/library-tab-DHtd9G39.a6068c595e8f.js.br +0 -0
  403. codex/static_root/assets/library-tab-DHtd9G39.a6068c595e8f.js.gz +0 -0
  404. codex/static_root/assets/library-tab-DHtd9G39.js.br +0 -0
  405. codex/static_root/assets/library-tab-DHtd9G39.js.gz +0 -0
  406. codex/static_root/assets/main-d46UvpG6.9af3aed7efe8.js +0 -39
  407. codex/static_root/assets/main-d46UvpG6.9af3aed7efe8.js.br +0 -0
  408. codex/static_root/assets/main-d46UvpG6.9af3aed7efe8.js.gz +0 -0
  409. codex/static_root/assets/main-d46UvpG6.js +0 -39
  410. codex/static_root/assets/main-d46UvpG6.js.br +0 -0
  411. codex/static_root/assets/main-d46UvpG6.js.gz +0 -0
  412. codex/static_root/assets/pager-full-pdf-8uR2kH3x.2618772c88d6.js +0 -1
  413. codex/static_root/assets/pager-full-pdf-8uR2kH3x.2618772c88d6.js.br +0 -0
  414. codex/static_root/assets/pager-full-pdf-8uR2kH3x.2618772c88d6.js.gz +0 -0
  415. codex/static_root/assets/pager-full-pdf-8uR2kH3x.js +0 -1
  416. codex/static_root/assets/pager-full-pdf-8uR2kH3x.js.br +0 -0
  417. codex/static_root/assets/pager-full-pdf-8uR2kH3x.js.gz +0 -0
  418. codex/static_root/assets/pagination-toolbar-Bj2tvIp6.b956898491b1.js +0 -1
  419. codex/static_root/assets/pagination-toolbar-Bj2tvIp6.b956898491b1.js.br +0 -0
  420. codex/static_root/assets/pagination-toolbar-Bj2tvIp6.b956898491b1.js.gz +0 -0
  421. codex/static_root/assets/pagination-toolbar-Bj2tvIp6.js +0 -1
  422. codex/static_root/assets/pagination-toolbar-Bj2tvIp6.js.br +0 -0
  423. codex/static_root/assets/pagination-toolbar-Bj2tvIp6.js.gz +0 -0
  424. codex/static_root/assets/pdf-doc-CAzVDc80.440339054422.js.br +0 -0
  425. codex/static_root/assets/pdf-doc-CAzVDc80.440339054422.js.gz +0 -0
  426. codex/static_root/assets/pdf-doc-CAzVDc80.js.br +0 -0
  427. codex/static_root/assets/pdf-doc-CAzVDc80.js.gz +0 -0
  428. codex/static_root/assets/reader-Bi_CT2rk.2048477e3d9a.js.br +0 -0
  429. codex/static_root/assets/reader-Bi_CT2rk.2048477e3d9a.js.gz +0 -0
  430. codex/static_root/assets/reader-Bi_CT2rk.js.br +0 -0
  431. codex/static_root/assets/reader-Bi_CT2rk.js.gz +0 -0
  432. codex/static_root/assets/relation-chips-D2XLYFHm.c0c38d2a39ae.js +0 -1
  433. codex/static_root/assets/relation-chips-D2XLYFHm.c0c38d2a39ae.js.br +0 -0
  434. codex/static_root/assets/relation-chips-D2XLYFHm.c0c38d2a39ae.js.gz +0 -0
  435. codex/static_root/assets/relation-chips-D2XLYFHm.js +0 -1
  436. codex/static_root/assets/relation-chips-D2XLYFHm.js.br +0 -0
  437. codex/static_root/assets/relation-chips-D2XLYFHm.js.gz +0 -0
  438. codex/static_root/assets/settings-drawer-CjqFmP5f.a1c27430b554.js.br +0 -0
  439. codex/static_root/assets/settings-drawer-CjqFmP5f.a1c27430b554.js.gz +0 -0
  440. codex/static_root/assets/settings-drawer-CjqFmP5f.js.br +0 -0
  441. codex/static_root/assets/settings-drawer-CjqFmP5f.js.gz +0 -0
  442. codex/static_root/assets/ssrBoot-Bn2PfqMS.a3d5b2b28349.js.br +0 -0
  443. codex/static_root/assets/ssrBoot-Bn2PfqMS.a3d5b2b28349.js.gz +0 -0
  444. codex/static_root/assets/ssrBoot-Bn2PfqMS.js.br +0 -0
  445. codex/static_root/assets/ssrBoot-Bn2PfqMS.js.gz +0 -0
  446. codex/static_root/assets/stats-tab-CQYF0r5W.3eeaa933ecfd.js.br +0 -0
  447. codex/static_root/assets/stats-tab-CQYF0r5W.3eeaa933ecfd.js.gz +0 -0
  448. codex/static_root/assets/stats-tab-CQYF0r5W.js.br +0 -0
  449. codex/static_root/assets/stats-tab-CQYF0r5W.js.gz +0 -0
  450. codex/static_root/assets/task-tab-DZ6XCKiv.11d725b52725.js.br +0 -0
  451. codex/static_root/assets/task-tab-DZ6XCKiv.11d725b52725.js.gz +0 -0
  452. codex/static_root/assets/task-tab-DZ6XCKiv.js.br +0 -0
  453. codex/static_root/assets/task-tab-DZ6XCKiv.js.gz +0 -0
  454. codex/static_root/assets/unauthorized-B0KN5ef3.3e4c44632a20.js.br +0 -0
  455. codex/static_root/assets/unauthorized-B0KN5ef3.3e4c44632a20.js.gz +0 -0
  456. codex/static_root/assets/unauthorized-B0KN5ef3.js.br +0 -0
  457. codex/static_root/assets/unauthorized-B0KN5ef3.js.gz +0 -0
  458. codex/static_root/assets/user-tab-WoOwFzFw.2e07ebc79118.js.br +0 -0
  459. codex/static_root/assets/user-tab-WoOwFzFw.2e07ebc79118.js.gz +0 -0
  460. codex/static_root/assets/user-tab-WoOwFzFw.js.br +0 -0
  461. codex/static_root/assets/user-tab-WoOwFzFw.js.gz +0 -0
  462. codex/static_root/img/missing-cover-165.f4bb7740084c.webp +0 -0
  463. codex/static_root/manifest.69541e47c159.json.br +0 -0
  464. codex/static_root/manifest.69541e47c159.json.gz +0 -0
  465. codex-1.8.14.dist-info/RECORD +0 -1102
  466. {codex-1.8.14.dist-info → codex-1.8.16.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1 @@
1
+ import{bP as Zt,bQ as Jt,_ as Z,bR as ea,z as q,m as C,x as ae,y as G,A as $e,C as Ge,D as at,bS as Ke,N as Ue,w as oe,a as S,b as x,J as ta,d as Y,r as U,bT as aa,g as K,p as B,e as X,aD as ue,aE as la,aB as na,br as Se,aV as ge,f as be,bh as ra,c as _,b9 as de,t as D,u as J,n as lt,aC as sa,L as oa,M as E,bb as Ye,aZ as Xe,aW as He,bU as nt,ba as Ae,i as le,aY as ne,bV as ia,h as A,bl as ua,bW as da,bX as ca,bG as Ee,bI as rt,bY as he,bZ as ce,F as Q,bu as je,b_ as fa,b$ as fe,c0 as Oe,ac as ve,j as Le,c1 as me,c2 as st,o as va,X as ma,B as ot,a7 as ga,c3 as ba,v as Qe}from"./main-CWTxsB_K.js";import{V as M,A as ha,d as ya,F as pa,j as xa,t as Sa,e as we,v as wa,D as Pa,c as ka,L as Ia,H as _a,k as Ze}from"./forwardRefs-CnxuGwpi.js";import{S as Da,V as Va}from"./VForm-Dt0Uesri.js";import{useAdminStore as it}from"./admin-BStn9kk0.js";import{V as Ta}from"./VDialog-mZQ1Va-c.js";import{d as ut,c as ze,h as Ca,i as Ba,j as Fa}from"./VSelect-DpnHasju.js";import{V as Me}from"./VCheckboxBtn-zhUZJChm.js";import{m as Ra,V as ye}from"./VTable-MenML-QS.js";import{m as dt,u as ct}from"./filter-BfEbIpVl.js";import{a as Aa}from"./VDivider-CHTeIL4W.js";import{C as Ea}from"./confirm-dialog-X8W3euvh.js";function Je(e,t,a){return Object.keys(e).filter(l=>Zt(l)&&l.endsWith(t)).reduce((l,n)=>(l[n.slice(0,-t.length)]=r=>Jt(e[n],r,a(r)),l),{})}const Oa={name:"AdminCreateUpdateButton",props:{update:{type:Boolean,default:!1},table:{type:String,required:!0},size:{type:String,default:"default"},density:{type:String,default:"default"}},data(){return{mdiPencil:ea}}};function $a(e,t,a,l,n,r){return a.update?(G(),q(M,C({key:0,icon:n.mdiPencil},e.$attrs,{size:a.size,density:a.density}),null,16,["icon","size","density"])):(G(),q(M,C({key:1},e.$attrs,{size:a.size,density:a.density}),{default:ae(()=>[$e(" + "+Ge(a.table),1)]),_:1},16,["size","density"]))}const La=Z(Oa,[["render",$a]]),Na={name:"AdminCreateUpdateDialog",components:{AdminCreateUpdateButton:La,SubmitFooter:Da},props:{table:{type:String,required:!0},label:{type:String,default:""},oldRow:{type:[Object,Boolean],default:!1},inputs:{type:Object,required:!0},size:{type:String,default:"default"},density:{type:String,default:"default"}},data(){return{row:{},showDialog:!1,submitButtonEnabled:!1}},computed:{verb(){return this.oldRow?"Update":"Add"},title(){return this.label||this.table},buttonTitle(){return(this.oldRow?"Edit":"Add")+" "+this.title}},watch:{showDialog(e){this.row=this.getRow(e)}},methods:{...at(it,["createRow","updateRow"]),validate(){let e=!1;for(const[a,l]of Object.entries(this.row))if(!Ke(this.oldRow[a],l)){e=!0;break}if(!e)return!1;const t=this.$refs.form;return t?t.validate().then(({valid:a})=>a).catch(()=>!1):!1},change(e){this.row=e,this.submitButtonEnabled=this.validate()},getRow(e){if(!e||!this.oldRow)return Ue(this.inputs.EMPTY_ROW);const t={};for(const a of this.inputs.UPDATE_KEYS)t[a]=Ue(this.oldRow[a]);return t},doUpdate:function(){const e={};for(const[t,a]of Object.entries(this.row))Ke(this.oldRow[t],a)||(e[t]=a);this.updateRow(this.table,this.oldRow.pk,e).then(()=>(this.showDialog=!1,!0)).catch(console.error)},doCreate:function(){this.createRow(this.table,this.row).then(()=>(this.showDialog=!1,!0)).catch(console.error)},submit:function(){const e=this.$refs.form;e&&e.validate().then(({valid:t})=>{if(t)return this.oldRow?this.doUpdate():this.doCreate()}).catch(console.warn)}}};function Ga(e,t,a,l,n,r){const s=oe("AdminCreateUpdateButton"),i=oe("SubmitFooter");return G(),q(Ta,C({modelValue:n.showDialog,"onUpdate:modelValue":t[1]||(t[1]=o=>n.showDialog=o),transition:"scale-transition"},e.$attrs),{activator:ae(({props:o})=>[S(s,C({update:!!a.oldRow,table:a.table,label:a.label},o,{size:a.size,density:a.density,title:r.buttonTitle}),null,16,["update","table","label","size","density","title"])]),default:ae(()=>[S(Va,{ref:"form",class:"cuForm"},{default:ae(()=>[x("h2",null,Ge(r.title),1),(G(),q(ta(a.inputs),{"old-row":a.oldRow,onChange:r.change},null,40,["old-row","onChange"])),S(i,{verb:r.verb,table:a.table,label:a.label,disabled:!n.submitButtonEnabled,onSubmit:r.submit,onCancel:t[0]||(t[0]=o=>n.showDialog=!1)},null,8,["verb","table","label","disabled","onSubmit"])]),_:1},512)]),_:1},16,["modelValue"])}const Al=Z(Na,[["render",Ga],["__scopeId","data-v-b61575f9"]]),Ha={name:"GroupChip",props:{titleKey:{type:String,default:""},groupType:{type:Boolean,default:void 0},item:{type:Object,default:void 0}},computed:{classes(){let e={};return this.groupType&&this.item&&(e.include=!this.item.exclude,e.exclude=this.item.exclude),e},text(){return this.item&&this.titleKey?this.item[this.titleKey]:""},value(){if(this.item)return this.groupType?this.item.exclude:this.item.value}}};function ja(e,t,a,l,n,r){return G(),q(ut,{class:Y(r.classes),text:r.text,value:r.value},null,8,["class","text","value"])}const ft=Z(Ha,[["render",ja],["__scopeId","data-v-fe7786ef"]]),za={name:"AdminRelationPicker",components:{GroupChip:ft},props:{objs:{type:Object,required:!0},titleKey:{type:String,required:!0},groupType:{type:Boolean,default:!1}},computed:{vuetifyItems(){const e=[];for(const t of this.objs)e.push({...t,value:t.pk,title:t[this.titleKey]});return e}}};function Ma(e,t,a,l,n,r){const s=oe("GroupChip");return G(),q(ze,C({chips:!0,"closable-chips":!0,density:"compact",multiple:!0,items:r.vuetifyItems},e.$attrs),{chip:ae(({item:i})=>[S(s,{"title-key":"title",item:i,"group-type":a.groupType},null,8,["item","group-type"])]),_:1},16,["items"])}const El=Z(za,[["render",Ma]]);function qa(){const e=U([]);aa(()=>e.value=[]);function t(a,l){e.value[l]=a}return{refs:e,updateRef:t}}const Wa=B({activeColor:String,start:{type:[Number,String],default:1},modelValue:{type:Number,default:e=>e.start},disabled:Boolean,length:{type:[Number,String],default:1,validator:e=>e%1===0},totalVisible:[Number,String],firstIcon:{type:E,default:"$first"},prevIcon:{type:E,default:"$prev"},nextIcon:{type:E,default:"$next"},lastIcon:{type:E,default:"$last"},ariaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.root"},pageAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.page"},currentPageAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.currentPage"},firstAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.first"},previousAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.previous"},nextAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.next"},lastAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.last"},ellipsis:{type:String,default:"..."},showFirstLastPage:Boolean,...wa(),...oa(),...we(),...Sa(),...xa(),...pa(),...ya({tag:"nav"}),...sa(),...ha({variant:"text"})},"VPagination"),et=K()({name:"VPagination",props:Wa(),emits:{"update:modelValue":e=>!0,first:e=>!0,prev:e=>!0,next:e=>!0,last:e=>!0},setup(e,t){let{slots:a,emit:l}=t;const n=X(e,"modelValue"),{t:r,n:s}=ue(),{isRtl:i}=la(),{themeClasses:o}=na(e),{width:u}=Se(),f=ge(-1);be(void 0,{scoped:!0});const{resizeRef:g}=ra(y=>{if(!y.length)return;const{target:p,contentRect:d}=y[0],P=p.querySelector(".v-pagination__list > *");if(!P)return;const V=d.width,N=P.offsetWidth+parseFloat(getComputedStyle(P).marginRight)*2;f.value=b(V,N)}),c=_(()=>parseInt(e.length,10)),m=_(()=>parseInt(e.start,10)),w=_(()=>e.totalVisible!=null?parseInt(e.totalVisible,10):f.value>=0?f.value:b(u.value,58));function b(y,p){const d=e.showFirstLastPage?5:3;return Math.max(0,Math.floor(Number(((y-p*d)/p).toFixed(2))))}const v=_(()=>{if(c.value<=0||isNaN(c.value)||c.value>Number.MAX_SAFE_INTEGER)return[];if(w.value<=0)return[];if(w.value===1)return[n.value];if(c.value<=w.value)return de(c.value,m.value);const y=w.value%2===0,p=y?w.value/2:Math.floor(w.value/2),d=y?p:p+1,P=c.value-p;if(d-n.value>=0)return[...de(Math.max(1,w.value-1),m.value),e.ellipsis,c.value];if(n.value-P>=(y?1:0)){const V=w.value-1,N=c.value-V+m.value;return[m.value,e.ellipsis,...de(V,N)]}else{const V=Math.max(1,w.value-2),N=V===1?n.value:n.value-Math.ceil(V/2)+m.value;return[m.value,e.ellipsis,...de(V,N),e.ellipsis,c.value]}});function T(y,p,d){y.preventDefault(),n.value=p,d&&l(d,p)}const{refs:h,updateRef:k}=qa();be({VPaginationBtn:{color:D(()=>e.color),border:D(()=>e.border),density:D(()=>e.density),size:D(()=>e.size),variant:D(()=>e.variant),rounded:D(()=>e.rounded),elevation:D(()=>e.elevation)}});const F=_(()=>v.value.map((y,p)=>{const d=P=>k(P,p);if(typeof y=="string")return{isActive:!1,key:`ellipsis-${p}`,page:y,props:{ref:d,ellipsis:!0,icon:!0,disabled:!0}};{const P=y===n.value;return{isActive:P,key:y,page:s(y),props:{ref:d,ellipsis:!1,icon:!0,disabled:!!e.disabled||Number(e.length)<2,color:P?e.activeColor:e.color,"aria-current":P,"aria-label":r(P?e.currentPageAriaLabel:e.pageAriaLabel,y),onClick:V=>T(V,y)}}}})),I=_(()=>{const y=!!e.disabled||n.value<=m.value,p=!!e.disabled||n.value>=m.value+c.value-1;return{first:e.showFirstLastPage?{icon:i.value?e.lastIcon:e.firstIcon,onClick:d=>T(d,m.value,"first"),disabled:y,"aria-label":r(e.firstAriaLabel),"aria-disabled":y}:void 0,prev:{icon:i.value?e.nextIcon:e.prevIcon,onClick:d=>T(d,n.value-1,"prev"),disabled:y,"aria-label":r(e.previousAriaLabel),"aria-disabled":y},next:{icon:i.value?e.prevIcon:e.nextIcon,onClick:d=>T(d,n.value+1,"next"),disabled:p,"aria-label":r(e.nextAriaLabel),"aria-disabled":p},last:e.showFirstLastPage?{icon:i.value?e.firstIcon:e.lastIcon,onClick:d=>T(d,m.value+c.value-1,"last"),disabled:p,"aria-label":r(e.lastAriaLabel),"aria-disabled":p}:void 0}});function R(){const y=n.value-m.value;h.value[y]?.$el.focus()}function L(y){y.key===Ye.left&&!e.disabled&&n.value>Number(e.start)?(n.value=n.value-1,Xe(R)):y.key===Ye.right&&!e.disabled&&n.value<m.value+c.value-1&&(n.value=n.value+1,Xe(R))}return J(()=>S(e.tag,{ref:g,class:Y(["v-pagination",o.value,e.class]),style:lt(e.style),role:"navigation","aria-label":r(e.ariaLabel),onKeydown:L,"data-test":"v-pagination-root"},{default:()=>[x("ul",{class:"v-pagination__list"},[e.showFirstLastPage&&x("li",{key:"first",class:"v-pagination__first","data-test":"v-pagination-first"},[a.first?a.first(I.value.first):S(M,C({_as:"VPaginationBtn"},I.value.first),null)]),x("li",{key:"prev",class:"v-pagination__prev","data-test":"v-pagination-prev"},[a.prev?a.prev(I.value.prev):S(M,C({_as:"VPaginationBtn"},I.value.prev),null)]),F.value.map((y,p)=>x("li",{key:y.key,class:Y(["v-pagination__item",{"v-pagination__item--is-active":y.isActive}]),"data-test":"v-pagination-item"},[a.item?a.item(y):S(M,C({_as:"VPaginationBtn"},y.props),{default:()=>[y.page]})])),x("li",{key:"next",class:"v-pagination__next","data-test":"v-pagination-next"},[a.next?a.next(I.value.next):S(M,C({_as:"VPaginationBtn"},I.value.next),null)]),e.showFirstLastPage&&x("li",{key:"last",class:"v-pagination__last","data-test":"v-pagination-last"},[a.last?a.last(I.value.last):S(M,C({_as:"VPaginationBtn"},I.value.last),null)])])]})),{}}}),Ka=B({page:{type:[Number,String],default:1},itemsPerPage:{type:[Number,String],default:10}},"DataTable-paginate"),vt=Symbol.for("vuetify:data-table-pagination");function Ua(e){const t=X(e,"page",void 0,l=>Number(l??1)),a=X(e,"itemsPerPage",void 0,l=>Number(l??10));return{page:t,itemsPerPage:a}}function Ya(e){const{page:t,itemsPerPage:a,itemsLength:l}=e,n=_(()=>a.value===-1?0:a.value*(t.value-1)),r=_(()=>a.value===-1?l.value:Math.min(l.value,n.value+a.value)),s=_(()=>a.value===-1||l.value===0?1:Math.ceil(l.value/a.value));He([t,s],()=>{t.value>s.value&&(t.value=s.value)});function i(c){a.value=c,t.value=1}function o(){t.value=Ae(t.value+1,1,s.value)}function u(){t.value=Ae(t.value-1,1,s.value)}function f(c){t.value=Ae(c,1,s.value)}const g={page:t,itemsPerPage:a,startIndex:n,stopIndex:r,pageCount:s,itemsLength:l,nextPage:o,prevPage:u,setPage:f,setItemsPerPage:i};return ne(vt,g),g}function Xa(){const e=le(vt);if(!e)throw new Error("Missing pagination!");return e}function Qa(e){const t=nt("usePaginatedItems"),{items:a,startIndex:l,stopIndex:n,itemsPerPage:r}=e,s=_(()=>r.value<=0?a.value:a.value.slice(l.value,n.value));return He(s,i=>{t.emit("update:currentItems",i)},{immediate:!0}),{paginatedItems:s}}const mt=B({prevIcon:{type:E,default:"$prev"},nextIcon:{type:E,default:"$next"},firstIcon:{type:E,default:"$first"},lastIcon:{type:E,default:"$last"},itemsPerPageText:{type:String,default:"$vuetify.dataFooter.itemsPerPageText"},pageText:{type:String,default:"$vuetify.dataFooter.pageText"},firstPageLabel:{type:String,default:"$vuetify.dataFooter.firstPage"},prevPageLabel:{type:String,default:"$vuetify.dataFooter.prevPage"},nextPageLabel:{type:String,default:"$vuetify.dataFooter.nextPage"},lastPageLabel:{type:String,default:"$vuetify.dataFooter.lastPage"},itemsPerPageOptions:{type:Array,default:()=>[{value:10,title:"10"},{value:25,title:"25"},{value:50,title:"50"},{value:100,title:"100"},{value:-1,title:"$vuetify.dataFooter.itemsPerPageAll"}]},showCurrentPage:Boolean},"VDataTableFooter"),tt=K()({name:"VDataTableFooter",props:mt(),setup(e,t){let{slots:a}=t;const{t:l}=ue(),{page:n,pageCount:r,startIndex:s,stopIndex:i,itemsLength:o,itemsPerPage:u,setItemsPerPage:f}=Xa(),g=_(()=>e.itemsPerPageOptions.map(c=>typeof c=="number"?{value:c,title:c===-1?l("$vuetify.dataFooter.itemsPerPageAll"):String(c)}:{...c,title:isNaN(Number(c.title))?l(c.title):c.title}));return J(()=>{const c=et.filterProps(e);return x("div",{class:"v-data-table-footer"},[a.prepend?.(),x("div",{class:"v-data-table-footer__items-per-page"},[x("span",{"aria-label":l(e.itemsPerPageText)},[l(e.itemsPerPageText)]),S(ze,{items:g.value,modelValue:u.value,"onUpdate:modelValue":m=>f(Number(m)),density:"compact",variant:"outlined",hideDetails:!0},null)]),x("div",{class:"v-data-table-footer__info"},[x("div",null,[l(e.pageText,o.value?s.value+1:0,i.value,o.value)])]),x("div",{class:"v-data-table-footer__pagination"},[S(et,C({modelValue:n.value,"onUpdate:modelValue":m=>n.value=m,density:"comfortable",firstAriaLabel:e.firstPageLabel,lastAriaLabel:e.lastPageLabel,length:r.value,nextAriaLabel:e.nextPageLabel,previousAriaLabel:e.prevPageLabel,rounded:!0,showFirstLastPage:!0,totalVisible:e.showCurrentPage?1:0,variant:"plain"},c),null)])])}),{}}}),ie=ia({align:{type:String,default:"start"},fixed:{type:[Boolean,String],default:!1},fixedOffset:[Number,String],fixedEndOffset:[Number,String],height:[Number,String],lastFixed:Boolean,firstFixedEnd:Boolean,noPadding:Boolean,indent:[Number,String],empty:Boolean,tag:String,width:[Number,String],maxWidth:[Number,String],nowrap:Boolean},(e,t)=>{let{slots:a}=t;const l=e.tag??"td",n=typeof e.fixed=="string"?e.fixed:e.fixed?"start":"none";return S(l,{class:Y(["v-data-table__td",{"v-data-table-column--fixed":n==="start","v-data-table-column--fixed-end":n==="end","v-data-table-column--last-fixed":e.lastFixed,"v-data-table-column--first-fixed-end":e.firstFixedEnd,"v-data-table-column--no-padding":e.noPadding,"v-data-table-column--nowrap":e.nowrap,"v-data-table-column--empty":e.empty},`v-data-table-column--align-${e.align}`]),style:{height:A(e.height),width:A(e.width),maxWidth:A(e.maxWidth),left:n==="start"?A(e.fixedOffset||null):void 0,right:n==="end"?A(e.fixedEndOffset||null):void 0,paddingInlineStart:e.indent?A(e.indent):void 0}},{default:()=>[a.default?.()]})}),Za=B({headers:Array},"DataTable-header"),gt=Symbol.for("vuetify:data-table-headers"),bt={title:"",sortable:!1},Ja={...bt,width:48};function el(){const t=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).map(a=>({element:a,priority:0}));return{enqueue:(a,l)=>{let n=!1;for(let r=0;r<t.length;r++)if(t[r].priority>l){t.splice(r,0,{element:a,priority:l}),n=!0;break}n||t.push({element:a,priority:l})},size:()=>t.length,count:()=>{let a=0;if(!t.length)return 0;const l=Math.floor(t[0].priority);for(let n=0;n<t.length;n++)Math.floor(t[n].priority)===l&&(a+=1);return a},dequeue:()=>t.shift()}}function Ne(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];if(!e.children)t.push(e);else for(const a of e.children)Ne(a,t);return t}function ht(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Set;for(const a of e)a.key&&t.add(a.key),a.children&&ht(a.children,t);return t}function tl(e){if(e.key){if(e.key==="data-table-group")return bt;if(["data-table-expand","data-table-select"].includes(e.key))return Ja}}function qe(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.children?Math.max(t,...e.children.map(a=>qe(a,t+1))):t}function al(e){let t=!1;function a(r,s){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"none";if(r)if(i!=="none"&&(r.fixed=i),r.fixed===!0&&(r.fixed="start"),r.fixed===s)if(r.children)if(s==="start")for(let o=r.children.length-1;o>=0;o--)a(r.children[o],s,s);else for(let o=0;o<r.children.length;o++)a(r.children[o],s,s);else!t&&s==="start"?r.lastFixed=!0:!t&&s==="end"?r.firstFixedEnd=!0:isNaN(Number(r.width))?ca(`Multiple fixed columns should have a static width (key: ${r.key})`):r.minWidth=Math.max(Number(r.width)||0,Number(r.minWidth)||0),t=!0;else if(r.children)if(s==="start")for(let o=r.children.length-1;o>=0;o--)a(r.children[o],s);else for(let o=0;o<r.children.length;o++)a(r.children[o],s);else t=!1}for(let r=e.length-1;r>=0;r--)a(e[r],"start");for(let r=0;r<e.length;r++)a(e[r],"end");let l=0;for(let r=0;r<e.length;r++)l=yt(e[r],l);let n=0;for(let r=e.length-1;r>=0;r--)n=pt(e[r],n)}function yt(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!e)return t;if(e.children){e.fixedOffset=t;for(const a of e.children)t=yt(a,t)}else e.fixed&&e.fixed!=="end"&&(e.fixedOffset=t,t+=parseFloat(e.width||"0")||0);return t}function pt(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!e)return t;if(e.children){e.fixedEndOffset=t;for(const a of e.children)t=pt(a,t)}else e.fixed==="end"&&(e.fixedEndOffset=t,t+=parseFloat(e.width||"0")||0);return t}function ll(e,t){const a=[];let l=0;const n=el(e);for(;n.size()>0;){let s=n.count();const i=[];let o=1;for(;s>0;){const{element:u,priority:f}=n.dequeue(),g=t-l-qe(u);if(i.push({...u,rowspan:g??1,colspan:u.children?Ne(u).length:1}),u.children)for(const c of u.children){const m=f%1+o/Math.pow(10,l+2);n.enqueue(c,l+g+m)}o+=1,s-=1}l+=1,a.push(i)}return{columns:e.map(s=>Ne(s)).flat(),headers:a}}function xt(e){const t=[];for(const a of e){const l={...tl(a),...a},n=l.key??(typeof l.value=="string"?l.value:null),r=l.value??n??null,s={...l,key:n,value:r,sortable:l.sortable??(l.key!=null||!!l.sort),children:l.children?xt(l.children):void 0};t.push(s)}return t}function St(e,t){const a=U([]),l=U([]),n=U({}),r=U({}),s=U({});ua(()=>{const u=(e.headers||Object.keys(e.items[0]??{}).map(b=>({key:b,title:da(b)}))).slice(),f=ht(u);t?.groupBy?.value.length&&!f.has("data-table-group")&&u.unshift({key:"data-table-group",title:"Group"}),t?.showSelect?.value&&!f.has("data-table-select")&&u.unshift({key:"data-table-select"}),t?.showExpand?.value&&!f.has("data-table-expand")&&u.push({key:"data-table-expand"});const g=xt(u);al(g);const c=Math.max(...g.map(b=>qe(b)))+1,m=ll(g,c);a.value=m.headers,l.value=m.columns;const w=m.headers.flat(1);for(const b of w)b.key&&(b.sortable&&(b.sort&&(n.value[b.key]=b.sort),b.sortRaw&&(r.value[b.key]=b.sortRaw)),b.filter&&(s.value[b.key]=b.filter))});const i={headers:a,columns:l,sortFunctions:n,sortRawFunctions:r,filterFunctions:s};return ne(gt,i),i}function Pe(){const e=le(gt);if(!e)throw new Error("Missing headers!");return e}const nl={showSelectAll:!1,allSelected:()=>[],select:e=>{let{items:t,value:a}=e;return new Set(a?[t[0]?.value]:[])},selectAll:e=>{let{selected:t}=e;return t}},wt={showSelectAll:!0,allSelected:e=>{let{currentPage:t}=e;return t},select:e=>{let{items:t,value:a,selected:l}=e;for(const n of t)a?l.add(n.value):l.delete(n.value);return l},selectAll:e=>{let{value:t,currentPage:a,selected:l}=e;return wt.select({items:a,value:t,selected:l})}},Pt={showSelectAll:!0,allSelected:e=>{let{allItems:t}=e;return t},select:e=>{let{items:t,value:a,selected:l}=e;for(const n of t)a?l.add(n.value):l.delete(n.value);return l},selectAll:e=>{let{value:t,allItems:a,selected:l}=e;return Pt.select({items:a,value:t,selected:l})}},rl=B({showSelect:Boolean,selectStrategy:{type:[String,Object],default:"page"},modelValue:{type:Array,default:()=>[]},valueComparator:{type:Function,default:rt}},"DataTable-select"),kt=Symbol.for("vuetify:data-table-selection");function It(e,t){let{allItems:a,currentPage:l}=t;const n=X(e,"modelValue",e.modelValue,h=>new Set(Ee(h).map(k=>a.value.find(F=>e.valueComparator(k,F.value))?.value??k)),h=>[...h.values()]),r=_(()=>a.value.filter(h=>h.selectable)),s=_(()=>l.value.filter(h=>h.selectable)),i=_(()=>{if(typeof e.selectStrategy=="object")return e.selectStrategy;switch(e.selectStrategy){case"single":return nl;case"all":return Pt;case"page":default:return wt}}),o=ge(null);function u(h){return Ee(h).every(k=>n.value.has(k.value))}function f(h){return Ee(h).some(k=>n.value.has(k.value))}function g(h,k){const F=i.value.select({items:h,value:k,selected:new Set(n.value)});n.value=F}function c(h,k,F){const I=[];if(k=k??l.value.findIndex(R=>R.value===h.value),e.selectStrategy!=="single"&&F?.shiftKey&&o.value!==null){const[R,L]=[o.value,k].sort((y,p)=>y-p);I.push(...l.value.slice(R,L+1).filter(y=>y.selectable))}else I.push(h),o.value=k;g(I,!u([h]))}function m(h){const k=i.value.selectAll({value:h,allItems:r.value,currentPage:s.value,selected:new Set(n.value)});n.value=k}const w=_(()=>n.value.size>0),b=_(()=>{const h=i.value.allSelected({allItems:r.value,currentPage:s.value});return!!h.length&&u(h)}),v=D(()=>i.value.showSelectAll),T={toggleSelect:c,select:g,selectAll:m,isSelected:u,isSomeSelected:f,someSelected:w,allSelected:b,showSelectAll:v,lastSelectedIndex:o,selectStrategy:i};return ne(kt,T),T}function ke(){const e=le(kt);if(!e)throw new Error("Missing selection!");return e}const sl=B({sortBy:{type:Array,default:()=>[]},customKeySort:Object,multiSort:Boolean,mustSort:Boolean},"DataTable-sort"),_t=Symbol.for("vuetify:data-table-sort");function Dt(e){const t=X(e,"sortBy"),a=D(()=>e.mustSort),l=D(()=>e.multiSort);return{sortBy:t,mustSort:a,multiSort:l}}function Vt(e){const{sortBy:t,mustSort:a,multiSort:l,page:n}=e,r=o=>{if(o.key==null)return;let u=t.value.map(g=>({...g}))??[];const f=u.find(g=>g.key===o.key);f?f.order==="desc"?a.value&&u.length===1?f.order="asc":u=u.filter(g=>g.key!==o.key):f.order="desc":l.value?u.push({key:o.key,order:"asc"}):u=[{key:o.key,order:"asc"}],t.value=u,n&&(n.value=1)};function s(o){return!!t.value.find(u=>u.key===o.key)}const i={sortBy:t,toggleSort:r,isSorted:s};return ne(_t,i),i}function Tt(){const e=le(_t);if(!e)throw new Error("Missing sort!");return e}function Ct(e,t,a,l){const n=ue();return{sortedItems:_(()=>a.value.length?ol(t.value,a.value,n.current.value,{transform:l?.transform,sortFunctions:{...e.customKeySort,...l?.sortFunctions?.value},sortRawFunctions:l?.sortRawFunctions?.value}):t.value)}}function ol(e,t,a,l){const n=new Intl.Collator(a,{sensitivity:"accent",usage:"sort"});return e.map(s=>[s,l?.transform?l.transform(s):s]).sort((s,i)=>{for(let o=0;o<t.length;o++){let u=!1;const f=t[o].key,g=t[o].order??"asc";if(g===!1)continue;let c=he(s[1],f),m=he(i[1],f),w=s[0].raw,b=i[0].raw;if(g==="desc"&&([c,m]=[m,c],[w,b]=[b,w]),l?.sortRawFunctions?.[f]){const v=l.sortRawFunctions[f](w,b);if(v==null)continue;if(u=!0,v)return v}if(l?.sortFunctions?.[f]){const v=l.sortFunctions[f](c,m);if(v==null)continue;if(u=!0,v)return v}if(!u&&(c instanceof Date&&m instanceof Date&&(c=c.getTime(),m=m.getTime()),[c,m]=[c,m].map(v=>v!=null?v.toString().toLocaleLowerCase():v),c!==m))return ce(c)&&ce(m)?0:ce(c)?-1:ce(m)?1:!isNaN(c)&&!isNaN(m)?Number(c)-Number(m):n.compare(c,m)}return 0}).map(s=>{let[i]=s;return i})}const Bt=B({color:String,disableSort:Boolean,fixedHeader:Boolean,multiSort:Boolean,sortAscIcon:{type:E,default:"$sortAsc"},sortDescIcon:{type:E,default:"$sortDesc"},headerProps:{type:Object},sticky:Boolean,...we(),...je(),..._a()},"VDataTableHeaders"),pe=K()({name:"VDataTableHeaders",props:Bt(),setup(e,t){let{slots:a}=t;const{t:l}=ue(),{toggleSort:n,sortBy:r,isSorted:s}=Tt(),{someSelected:i,allSelected:o,selectAll:u,showSelectAll:f}=ke(),{columns:g,headers:c}=Pe(),{loaderClasses:m}=Pa(e);function w(p,d){if(!(e.sticky||e.fixedHeader)&&!p.fixed)return;const P=typeof p.fixed=="string"?p.fixed:p.fixed?"start":"none";return{position:"sticky",left:P==="start"?A(p.fixedOffset):void 0,right:P==="end"?A(p.fixedEndOffset):void 0,top:e.sticky||e.fixedHeader?`calc(var(--v-table-header-height) * ${d})`:void 0}}function b(p,d){p.key==="Enter"&&!e.disableSort&&n(d)}function v(p){const d=r.value.find(P=>P.key===p.key);return d?d.order==="asc"?e.sortAscIcon:e.sortDescIcon:e.sortAscIcon}const{backgroundColorClasses:T,backgroundColorStyles:h}=ka(()=>e.color),{displayClasses:k,mobile:F}=Se(e),I=_(()=>({headers:c.value,columns:g.value,toggleSort:n,isSorted:s,sortBy:r.value,someSelected:i.value,allSelected:o.value,selectAll:u,getSortIcon:v})),R=_(()=>["v-data-table__th",{"v-data-table__th--sticky":e.sticky||e.fixedHeader},k.value,m.value]),L=p=>{let{column:d,x:P,y:V}=p;const N=d.key==="data-table-select"||d.key==="data-table-expand",ee=d.key==="data-table-group"&&d.width===0&&!d.title,re=C(e.headerProps??{},d.headerProps??{});return S(ie,C({tag:"th",align:d.align,class:[{"v-data-table__th--sortable":d.sortable&&!e.disableSort,"v-data-table__th--sorted":s(d),"v-data-table__th--fixed":d.fixed},...R.value],style:{width:A(d.width),minWidth:A(d.minWidth),maxWidth:A(d.maxWidth),...w(d,V)},colspan:d.colspan,rowspan:d.rowspan,fixed:d.fixed,nowrap:d.nowrap,lastFixed:d.lastFixed,firstFixedEnd:d.firstFixedEnd,noPadding:N,empty:ee,tabindex:d.sortable?0:void 0,onClick:d.sortable?()=>n(d):void 0,onKeydown:d.sortable?H=>b(H,d):void 0},re),{default:()=>{const H=`header.${d.key}`,W={column:d,selectAll:u,isSorted:s,toggleSort:n,sortBy:r.value,someSelected:i.value,allSelected:o.value,getSortIcon:v};return a[H]?a[H](W):ee?"":d.key==="data-table-select"?a["header.data-table-select"]?.(W)??(f.value&&S(Me,{density:e.density,modelValue:o.value,indeterminate:i.value&&!o.value,"onUpdate:modelValue":u},null)):x("div",{class:"v-data-table-header__content"},[x("span",null,[d.title]),d.sortable&&!e.disableSort&&S(Ze,{key:"icon",class:"v-data-table-header__sort-icon",icon:v(d)},null),e.multiSort&&s(d)&&x("div",{key:"badge",class:Y(["v-data-table-header__sort-badge",...T.value]),style:lt(h.value)},[r.value.findIndex(se=>se.key===d.key)+1])])}})},y=()=>{const p=_(()=>g.value.filter(P=>P?.sortable&&!e.disableSort)),d=_(()=>{if(g.value.find(V=>V.key==="data-table-select")!=null)return o.value?"$checkboxOn":i.value?"$checkboxIndeterminate":"$checkboxOff"});return S(ie,C({tag:"th",class:[...R.value],colspan:c.value.length+1},e.headerProps),{default:()=>[x("div",{class:"v-data-table-header__content"},[S(ze,{chips:!0,class:"v-data-table__td-sort-select",clearable:!0,density:"default",items:p.value,label:l("$vuetify.dataTable.sortBy"),multiple:e.multiSort,variant:"underlined","onClick:clear":()=>r.value=[],appendIcon:d.value,"onClick:append":()=>u(!o.value)},{chip:P=>S(ut,{onClick:P.item.raw?.sortable?()=>n(P.item.raw):void 0,onMousedown:V=>{V.preventDefault(),V.stopPropagation()}},{default:()=>[P.item.title,S(Ze,{class:Y(["v-data-table__td-sort-icon",s(P.item.raw)&&"v-data-table__td-sort-icon-active"]),icon:v(P.item.raw),size:"small"},null)]})})])]})};J(()=>F.value?x("tr",null,[S(y,null,null)]):x(Q,null,[a.headers?a.headers(I.value):c.value.map((p,d)=>x("tr",null,[p.map((P,V)=>S(L,{column:P,x:V,y:d},null))])),e.loading&&x("tr",{class:"v-data-table-progress"},[x("th",{colspan:g.value.length},[S(Ia,{name:"v-data-table-progress",absolute:!0,active:!0,color:typeof e.loading=="boolean"?void 0:e.loading,indeterminate:!0},{default:a.loader})])])]))}}),Ft=B({groupBy:{type:Array,default:()=>[]}},"DataTable-group"),Rt=Symbol.for("vuetify:data-table-group");function At(e){return{groupBy:X(e,"groupBy")}}function Et(e){const{disableSort:t,groupBy:a,sortBy:l}=e,n=U(new Set),r=_(()=>a.value.map(f=>({...f,order:f.order??!1})).concat(t?.value?[]:l.value));function s(f){return n.value.has(f.id)}function i(f){const g=new Set(n.value);s(f)?g.delete(f.id):g.add(f.id),n.value=g}function o(f){function g(c){const m=[];for(const w of c.items)"type"in w&&w.type==="group"?m.push(...g(w)):m.push(w);return[...new Set(m)]}return g({items:f})}const u={sortByWithGroups:r,toggleGroup:i,opened:n,groupBy:a,extractRows:o,isGroupOpen:s};return ne(Rt,u),u}function Ot(){const e=le(Rt);if(!e)throw new Error("Missing group!");return e}function il(e,t){if(!e.length)return[];const a=new Map;for(const l of e){const n=he(l.raw,t);a.has(n)||a.set(n,[]),a.get(n).push(l)}return a}function $t(e,t){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"root";if(!t.length)return[];const n=il(e,t[0]),r=[],s=t.slice(1);return n.forEach((i,o)=>{const u=t[0],f=`${l}_${u}_${o}`;r.push({depth:a,id:f,key:u,value:o,items:s.length?$t(i,s,a+1,f):i,type:"group"})}),r}function Lt(e,t,a){const l=[];for(const n of e)"type"in n&&n.type==="group"?(n.value!=null&&l.push(n),(t.has(n.id)||n.value==null)&&(l.push(...Lt(n.items,t,a)),a&&l.push({...n,type:"group-summary"}))):l.push(n);return l}function Nt(e,t,a,l){return{flatItems:_(()=>{if(!t.value.length)return e.value;const r=$t(e.value,t.value.map(s=>s.key));return Lt(r,a.value,fa(l))})}}const Gt=B({item:{type:Object,required:!0},groupCollapseIcon:{type:E,default:"$tableGroupCollapse"},groupExpandIcon:{type:E,default:"$tableGroupExpand"},...we()},"VDataTableGroupHeaderRow"),ul=K()({name:"VDataTableGroupHeaderRow",props:Gt(),setup(e,t){let{slots:a}=t;const{isGroupOpen:l,toggleGroup:n,extractRows:r}=Ot(),{isSelected:s,isSomeSelected:i,select:o}=ke(),{columns:u}=Pe(),f=_(()=>r([e.item])),g=D(()=>u.value.length-(u.value.some(c=>c.key==="data-table-select")?1:0));return()=>x("tr",{class:"v-data-table-group-header-row",style:{"--v-data-table-group-header-row-depth":e.item.depth}},[u.value.map(c=>{if(c.key==="data-table-group"){const m=l(e.item)?e.groupCollapseIcon:e.groupExpandIcon,w=()=>n(e.item);return a["data-table-group"]?.({item:e.item,count:f.value.length,props:{icon:m,onClick:w}})??S(ie,{class:"v-data-table-group-header-row__column",colspan:g.value},{default:()=>[S(M,{size:"small",variant:"text",icon:m,onClick:w},null),x("span",null,[e.item.value]),x("span",null,[$e("("),f.value.length,$e(")")])]})}else if(c.key==="data-table-select"){const m=s(f.value),w=i(f.value)&&!m,b=v=>o(f.value,v);return a["data-table-select"]?.({props:{modelValue:m,indeterminate:w,"onUpdate:modelValue":b}})??S(ie,{class:"v-data-table__td--select-row",noPadding:!0},{default:()=>[S(Me,{density:e.density,modelValue:m,indeterminate:w,"onUpdate:modelValue":b},null)]})}return""})])}}),dl=B({expandOnClick:Boolean,showExpand:Boolean,expanded:{type:Array,default:()=>[]}},"DataTable-expand"),Ht=Symbol.for("vuetify:datatable:expanded");function jt(e){const t=D(()=>e.expandOnClick),a=X(e,"expanded",e.expanded,i=>new Set(i),i=>[...i.values()]);function l(i,o){const u=new Set(a.value),f=fe(i.value);if(o)u.add(f);else{const g=[...a.value].find(c=>fe(c)===f);u.delete(g)}a.value=u}function n(i){const o=fe(i.value);return[...a.value].some(u=>fe(u)===o)}function r(i){l(i,!n(i))}const s={expand:l,expanded:a,expandOnClick:t,isExpanded:n,toggleExpand:r};return ne(Ht,s),s}function zt(){const e=le(Ht);if(!e)throw new Error("foo");return e}const Mt=B({index:Number,item:Object,cellProps:[Object,Function],collapseIcon:{type:E,default:"$collapse"},expandIcon:{type:E,default:"$expand"},onClick:Oe(),onContextmenu:Oe(),onDblclick:Oe(),...we(),...je()},"VDataTableRow"),qt=K()({name:"VDataTableRow",props:Mt(),setup(e,t){let{slots:a}=t;const{displayClasses:l,mobile:n}=Se(e,"v-data-table__tr"),{isSelected:r,toggleSelect:s,someSelected:i,allSelected:o,selectAll:u}=ke(),{isExpanded:f,toggleExpand:g}=zt(),{toggleSort:c,sortBy:m,isSorted:w}=Tt(),{columns:b}=Pe();J(()=>x("tr",{class:Y(["v-data-table__tr",{"v-data-table__tr--clickable":!!(e.onClick||e.onContextmenu||e.onDblclick)},l.value]),onClick:e.onClick,onContextmenu:e.onContextmenu,onDblclick:e.onDblclick},[e.item&&b.value.map((v,T)=>{const h=e.item,k=`item.${v.key}`,F=`header.${v.key}`,I={index:e.index,item:h.raw,internalItem:h,value:he(h.columns,v.key),column:v,isSelected:r,toggleSelect:s,isExpanded:f,toggleExpand:g},R={column:v,selectAll:u,isSorted:w,toggleSort:c,sortBy:m.value,someSelected:i.value,allSelected:o.value,getSortIcon:()=>""},L=typeof e.cellProps=="function"?e.cellProps({index:I.index,item:I.item,internalItem:I.internalItem,value:I.value,column:v}):e.cellProps,y=typeof v.cellProps=="function"?v.cellProps({index:I.index,item:I.item,internalItem:I.internalItem,value:I.value}):v.cellProps,p=v.key==="data-table-select"||v.key==="data-table-expand",d=v.key==="data-table-group"&&v.width===0&&!v.title;return S(ie,C({align:v.align,indent:v.intent,class:{"v-data-table__td--expanded-row":v.key==="data-table-expand","v-data-table__td--select-row":v.key==="data-table-select"},fixed:v.fixed,fixedOffset:v.fixedOffset,fixedEndOffset:v.fixedEndOffset,lastFixed:v.lastFixed,firstFixedEnd:v.firstFixedEnd,maxWidth:n.value?void 0:v.maxWidth,noPadding:p,empty:d,nowrap:v.nowrap,width:n.value?void 0:v.width},L,y),{default:()=>{if(v.key==="data-table-select")return a["item.data-table-select"]?.({...I,props:{disabled:!h.selectable,modelValue:r([h]),onClick:ve(()=>s(h),["stop"])}})??S(Me,{disabled:!h.selectable,density:e.density,modelValue:r([h]),onClick:ve(V=>s(h,e.index,V),["stop"])},null);if(v.key==="data-table-expand")return a["item.data-table-expand"]?.({...I,props:{icon:f(h)?e.collapseIcon:e.expandIcon,size:"small",variant:"text",onClick:ve(()=>g(h),["stop"])}})??S(M,{icon:f(h)?e.collapseIcon:e.expandIcon,size:"small",variant:"text",onClick:ve(()=>g(h),["stop"])},null);if(a[k]&&!n.value)return a[k](I);const P=Ge(I.value);return n.value?x(Q,null,[x("div",{class:"v-data-table__td-title"},[a[F]?.(R)??v.title]),x("div",{class:"v-data-table__td-value"},[a[k]?.(I)??P])]):P}})})]))}}),Wt=B({loading:[Boolean,String],loadingText:{type:String,default:"$vuetify.dataIterator.loadingText"},hideNoData:Boolean,items:{type:Array,default:()=>[]},noDataText:{type:String,default:"$vuetify.noDataText"},rowProps:[Object,Function],cellProps:[Object,Function],...Le(Mt(),["collapseIcon","expandIcon","density"]),...Le(Gt(),["groupCollapseIcon","groupExpandIcon","density"]),...je()},"VDataTableRows"),xe=K()({name:"VDataTableRows",inheritAttrs:!1,props:Wt(),setup(e,t){let{attrs:a,slots:l}=t;const{columns:n}=Pe(),{expandOnClick:r,toggleExpand:s,isExpanded:i}=zt(),{isSelected:o,toggleSelect:u}=ke(),{toggleGroup:f,isGroupOpen:g}=Ot(),{t:c}=ue(),{mobile:m}=Se(e);return J(()=>{const w=Le(e,["groupCollapseIcon","groupExpandIcon","density"]);return e.loading&&(!e.items.length||l.loading)?x("tr",{class:"v-data-table-rows-loading",key:"loading"},[x("td",{colspan:n.value.length},[l.loading?.()??c(e.loadingText)])]):!e.loading&&!e.items.length&&!e.hideNoData?x("tr",{class:"v-data-table-rows-no-data",key:"no-data"},[x("td",{colspan:n.value.length},[l["no-data"]?.()??c(e.noDataText)])]):x(Q,null,[e.items.map((b,v)=>{if(b.type==="group"){const k={index:v,item:b,columns:n.value,isExpanded:i,toggleExpand:s,isSelected:o,toggleSelect:u,toggleGroup:f,isGroupOpen:g};return l["group-header"]?l["group-header"](k):S(ul,C({key:`group-header_${b.id}`,item:b},Je(a,":groupHeader",()=>k),w),l)}if(b.type==="group-summary"){const k={index:v,item:b,columns:n.value,toggleGroup:f};return l["group-summary"]?.(k)??""}const T={index:v,item:b.raw,internalItem:b,columns:n.value,isExpanded:i,toggleExpand:s,isSelected:o,toggleSelect:u},h={...T,props:C({key:`item_${b.key??b.index}`,onClick:r.value?()=>{s(b)}:void 0,index:v,item:b,cellProps:e.cellProps,collapseIcon:e.collapseIcon,expandIcon:e.expandIcon,density:e.density,mobile:m.value},Je(a,":row",()=>T),typeof e.rowProps=="function"?e.rowProps({item:T.item,index:T.index,internalItem:T.internalItem}):e.rowProps)};return x(Q,{key:h.props.key},[l.item?l.item(h):S(qt,h.props,l),i(b)&&l["expanded-row"]?.(T)])})])}),{}}}),cl=B({items:{type:Array,default:()=>[]},itemValue:{type:[String,Array,Function],default:"id"},itemSelectable:{type:[String,Array,Function],default:null},rowProps:[Object,Function],cellProps:[Object,Function],returnObject:Boolean},"DataTable-items");function fl(e,t,a,l){const n=e.returnObject?t:me(t,e.itemValue),r=me(t,e.itemSelectable,!0),s=l.reduce((i,o)=>(o.key!=null&&(i[o.key]=me(t,o.value)),i),{});return{type:"item",key:e.returnObject?me(t,e.itemValue):n,index:a,value:n,selectable:r,columns:s,raw:t}}function vl(e,t,a){return t.map((l,n)=>fl(e,l,n,a))}function Kt(e,t){return{items:_(()=>vl(e,e.items,t.value))}}function Ut(e){let{page:t,itemsPerPage:a,sortBy:l,groupBy:n,search:r}=e;const s=nt("VDataTable"),i=()=>({page:t.value,itemsPerPage:a.value,sortBy:l.value,groupBy:n.value,search:r.value});let o=null;He(i,u=>{rt(o,u)||(o&&o.search!==u.search&&(t.value=1),s.emit("update:options",u),o=u)},{deep:!0,immediate:!0})}const Yt=B({...Wt(),hideDefaultBody:Boolean,hideDefaultFooter:Boolean,hideDefaultHeader:Boolean,width:[String,Number],search:String,...dl(),...Ft(),...Za(),...cl(),...rl(),...sl(),...Bt(),...Ra()},"DataTable"),ml=B({...Ka(),...Yt(),...dt(),...mt()},"VDataTable");K()({name:"VDataTable",props:ml(),emits:{"update:modelValue":e=>!0,"update:page":e=>!0,"update:itemsPerPage":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:groupBy":e=>!0,"update:expanded":e=>!0,"update:currentItems":e=>!0},setup(e,t){let{attrs:a,slots:l}=t;const{groupBy:n}=At(e),{sortBy:r,multiSort:s,mustSort:i}=Dt(e),{page:o,itemsPerPage:u}=Ua(e),{disableSort:f}=st(e),{columns:g,headers:c,sortFunctions:m,sortRawFunctions:w,filterFunctions:b}=St(e,{groupBy:n,showSelect:D(()=>e.showSelect),showExpand:D(()=>e.showExpand)}),{items:v}=Kt(e,g),T=D(()=>e.search),{filteredItems:h}=ct(e,v,T,{transform:j=>j.columns,customKeyFilter:b}),{toggleSort:k}=Vt({sortBy:r,multiSort:s,mustSort:i,page:o}),{sortByWithGroups:F,opened:I,extractRows:R,isGroupOpen:L,toggleGroup:y}=Et({groupBy:n,sortBy:r,disableSort:f}),{sortedItems:p}=Ct(e,h,F,{transform:j=>({...j.raw,...j.columns}),sortFunctions:m,sortRawFunctions:w}),{flatItems:d}=Nt(p,n,I,()=>!!l["group-summary"]),P=_(()=>d.value.length),{startIndex:V,stopIndex:N,pageCount:ee,setItemsPerPage:re}=Ya({page:o,itemsPerPage:u,itemsLength:P}),{paginatedItems:H}=Qa({items:d,startIndex:V,stopIndex:N,itemsPerPage:u}),W=_(()=>R(H.value)),{isSelected:se,select:Ie,selectAll:_e,toggleSelect:De,someSelected:Ve,allSelected:Te}=It(e,{allItems:v,currentPage:W}),{isExpanded:Ce,toggleExpand:Be}=jt(e);Ut({page:o,itemsPerPage:u,sortBy:r,groupBy:n,search:T}),be({VDataTableRows:{hideNoData:D(()=>e.hideNoData),noDataText:D(()=>e.noDataText),loading:D(()=>e.loading),loadingText:D(()=>e.loadingText)}});const O=_(()=>({page:o.value,itemsPerPage:u.value,sortBy:r.value,pageCount:ee.value,toggleSort:k,setItemsPerPage:re,someSelected:Ve.value,allSelected:Te.value,isSelected:se,select:Ie,selectAll:_e,toggleSelect:De,isExpanded:Ce,toggleExpand:Be,isGroupOpen:L,toggleGroup:y,items:W.value.map(j=>j.raw),internalItems:W.value,groupedItems:H.value,columns:g.value,headers:c.value}));return J(()=>{const j=tt.filterProps(e),Fe=pe.filterProps(e),z=xe.filterProps(e),$=ye.filterProps(e);return S(ye,C({class:["v-data-table",{"v-data-table--show-select":e.showSelect,"v-data-table--loading":e.loading},e.class],style:e.style},$,{fixedHeader:e.fixedHeader||e.sticky}),{top:()=>l.top?.(O.value),default:()=>l.default?l.default(O.value):x(Q,null,[l.colgroup?.(O.value),!e.hideDefaultHeader&&x("thead",{key:"thead"},[S(pe,Fe,l)]),l.thead?.(O.value),!e.hideDefaultBody&&x("tbody",null,[l["body.prepend"]?.(O.value),l.body?l.body(O.value):S(xe,C(a,z,{items:H.value}),l),l["body.append"]?.(O.value)]),l.tbody?.(O.value),l.tfoot?.(O.value)]),bottom:()=>l.bottom?l.bottom(O.value):!e.hideDefaultFooter&&x(Q,null,[S(Aa,null,null),S(tt,j,{prepend:l["footer.prepend"]})])})}),{}}});const gl=B({...va(Yt(),["hideDefaultFooter"]),...Ft(),...Ba(),...dt()},"VDataTableVirtual"),bl=K()({name:"VDataTableVirtual",props:gl(),emits:{"update:modelValue":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:groupBy":e=>!0,"update:expanded":e=>!0},setup(e,t){let{attrs:a,slots:l}=t;const{groupBy:n}=At(e),{sortBy:r,multiSort:s,mustSort:i}=Dt(e),{disableSort:o}=st(e),{columns:u,headers:f,filterFunctions:g,sortFunctions:c,sortRawFunctions:m}=St(e,{groupBy:n,showSelect:D(()=>e.showSelect),showExpand:D(()=>e.showExpand)}),{items:w}=Kt(e,u),b=D(()=>e.search),{filteredItems:v}=ct(e,w,b,{transform:$=>$.columns,customKeyFilter:g}),{toggleSort:T}=Vt({sortBy:r,multiSort:s,mustSort:i}),{sortByWithGroups:h,opened:k,extractRows:F,isGroupOpen:I,toggleGroup:R}=Et({groupBy:n,sortBy:r,disableSort:o}),{sortedItems:L}=Ct(e,v,h,{transform:$=>({...$.raw,...$.columns}),sortFunctions:c,sortRawFunctions:m}),{flatItems:y}=Nt(L,n,k,()=>!!l["group-summary"]),p=_(()=>F(y.value)),{isSelected:d,select:P,selectAll:V,toggleSelect:N,someSelected:ee,allSelected:re}=It(e,{allItems:p,currentPage:p}),{isExpanded:H,toggleExpand:W}=jt(e),{containerRef:se,markerRef:Ie,paddingTop:_e,paddingBottom:De,computedItems:Ve,handleItemResize:Te,handleScroll:Ce,handleScrollend:Be,calculateVisibleItems:O,scrollToIndex:j}=Ca(e,y),Fe=_(()=>Ve.value.map($=>$.raw));Ut({sortBy:r,page:ge(1),itemsPerPage:ge(-1),groupBy:n,search:b}),be({VDataTableRows:{hideNoData:D(()=>e.hideNoData),noDataText:D(()=>e.noDataText),loading:D(()=>e.loading),loadingText:D(()=>e.loadingText)}});const z=_(()=>({sortBy:r.value,toggleSort:T,someSelected:ee.value,allSelected:re.value,isSelected:d,select:P,selectAll:V,toggleSelect:N,isExpanded:H,toggleExpand:W,isGroupOpen:I,toggleGroup:R,items:p.value.map($=>$.raw),internalItems:p.value,groupedItems:y.value,columns:u.value,headers:f.value}));return J(()=>{const $=pe.filterProps(e),Xt=xe.filterProps(e),Qt=ye.filterProps(e);return S(ye,C({class:["v-data-table",{"v-data-table--loading":e.loading},e.class],style:e.style},Qt,{fixedHeader:e.fixedHeader||e.sticky}),{top:()=>l.top?.(z.value),wrapper:()=>x("div",{ref:se,onScrollPassive:Ce,onScrollend:Be,class:"v-table__wrapper",style:{height:A(e.height)}},[x("table",null,[l.colgroup?.(z.value),!e.hideDefaultHeader&&x("thead",{key:"thead"},[S(pe,$,l)]),l.thead?.(z.value),!e.hideDefaultBody&&x("tbody",{key:"tbody"},[x("tr",{ref:Ie,style:{height:A(_e.value),border:0}},[x("td",{colspan:u.value.length,style:{height:0,border:0}},null)]),l["body.prepend"]?.(z.value),S(xe,C(a,Xt,{items:Fe.value}),{...l,item:te=>S(Fa,{key:te.internalItem.index,renderless:!0,"onUpdate:height":Re=>Te(te.internalItem.index,Re)},{default:Re=>{let{itemRef:We}=Re;return l.item?.({...te,itemRef:We})??S(qt,C(te.props,{ref:We,key:te.internalItem.index,index:te.internalItem.index}),l)}})}),l["body.append"]?.(z.value),x("tr",{style:{height:A(De.value),border:0}},[x("td",{colspan:u.value.length,style:{height:0,border:0}},null)])]),l.tbody?.(z.value),l.tfoot?.(z.value)])]),bottom:()=>l.bottom?.(z.value)})}),{calculateVisibleItems:O,scrollToIndex:j}}}),hl={name:"AdminTable"};function yl(e,t,a,l,n,r){return G(),q(bl,{"fixed-header":"","item-value":"pk",mobile:e.$vuetify.display.xs},ma({_:2},[ot(e.$slots,(s,i)=>({name:i,fn:ae(o=>[ga(e.$slots,i,C({props:s},o),void 0,!0)])}))]),1032,["mobile"])}const Ol=Z(hl,[["render",yl],["__scopeId","data-v-8b5d9183"]]),pl={name:"AdminDeleteRowDialog",components:{ConfirmDialog:Ea},props:{table:{type:String,required:!0},pk:{type:Number,required:!0},name:{type:String,required:!0}},data(){return{mdiTrashCan:ba}},computed:{titleText(){return`Delete ${this.table}`}},methods:{...at(it,["deleteRow"]),confirm(){this.deleteRow(this.table,this.pk),this.showDialog=!1}}};function xl(e,t,a,l,n,r){const s=oe("ConfirmDialog");return G(),q(s,{icon:n.mdiTrashCan,"title-text":r.titleText,text:a.name,"confirm-text":r.titleText,onConfirm:r.confirm},null,8,["icon","title-text","text","confirm-text","onConfirm"])}const $l=Z(pl,[["render",xl]]),Sl={name:"RelationChips",components:{GroupChip:ft},props:{pks:{type:Array,required:!0},objs:{type:Object,required:!0},titleKey:{type:String,required:!0},groupType:{type:Boolean,default:!1}},computed:{map(){const e={};for(const t of this.objs)e[t.pk]=t;return e}}};function wl(e,t,a,l,n,r){const s=oe("GroupChip");return G(),Qe("span",null,[(G(!0),Qe(Q,null,ot(a.pks,i=>(G(),q(s,{key:i,"title-key":a.titleKey,"group-type":a.groupType,item:r.map[i]},null,8,["title-key","group-type","item"]))),128))])}const Ll=Z(Sl,[["render",wl]]);export{El as A,ft as G,Ll as R,Al as a,$l as b,Ol as c};
@@ -0,0 +1 @@
1
+ import{bP as Zt,bQ as Jt,_ as Z,bR as ea,z as q,m as C,x as ae,y as G,A as $e,C as Ge,D as at,bS as Ke,N as Ue,w as oe,a as S,b as x,J as ta,d as Y,r as U,bT as aa,g as K,p as B,e as X,aD as ue,aE as la,aB as na,br as Se,aV as ge,f as be,bh as ra,c as _,b9 as de,t as D,u as J,n as lt,aC as sa,L as oa,M as E,bb as Ye,aZ as Xe,aW as He,bU as nt,ba as Ae,i as le,aY as ne,bV as ia,h as A,bl as ua,bW as da,bX as ca,bG as Ee,bI as rt,bY as he,bZ as ce,F as Q,bu as je,b_ as fa,b$ as fe,c0 as Oe,ac as ve,j as Le,c1 as me,c2 as st,o as va,X as ma,B as ot,a7 as ga,c3 as ba,v as Qe}from"./main-CWTxsB_K.js";import{V as M,A as ha,d as ya,F as pa,j as xa,t as Sa,e as we,v as wa,D as Pa,c as ka,L as Ia,H as _a,k as Ze}from"./forwardRefs-CnxuGwpi.js";import{S as Da,V as Va}from"./VForm-Dt0Uesri.js";import{useAdminStore as it}from"./admin-BStn9kk0.js";import{V as Ta}from"./VDialog-mZQ1Va-c.js";import{d as ut,c as ze,h as Ca,i as Ba,j as Fa}from"./VSelect-DpnHasju.js";import{V as Me}from"./VCheckboxBtn-zhUZJChm.js";import{m as Ra,V as ye}from"./VTable-MenML-QS.js";import{m as dt,u as ct}from"./filter-BfEbIpVl.js";import{a as Aa}from"./VDivider-CHTeIL4W.js";import{C as Ea}from"./confirm-dialog-X8W3euvh.js";function Je(e,t,a){return Object.keys(e).filter(l=>Zt(l)&&l.endsWith(t)).reduce((l,n)=>(l[n.slice(0,-t.length)]=r=>Jt(e[n],r,a(r)),l),{})}const Oa={name:"AdminCreateUpdateButton",props:{update:{type:Boolean,default:!1},table:{type:String,required:!0},size:{type:String,default:"default"},density:{type:String,default:"default"}},data(){return{mdiPencil:ea}}};function $a(e,t,a,l,n,r){return a.update?(G(),q(M,C({key:0,icon:n.mdiPencil},e.$attrs,{size:a.size,density:a.density}),null,16,["icon","size","density"])):(G(),q(M,C({key:1},e.$attrs,{size:a.size,density:a.density}),{default:ae(()=>[$e(" + "+Ge(a.table),1)]),_:1},16,["size","density"]))}const La=Z(Oa,[["render",$a]]),Na={name:"AdminCreateUpdateDialog",components:{AdminCreateUpdateButton:La,SubmitFooter:Da},props:{table:{type:String,required:!0},label:{type:String,default:""},oldRow:{type:[Object,Boolean],default:!1},inputs:{type:Object,required:!0},size:{type:String,default:"default"},density:{type:String,default:"default"}},data(){return{row:{},showDialog:!1,submitButtonEnabled:!1}},computed:{verb(){return this.oldRow?"Update":"Add"},title(){return this.label||this.table},buttonTitle(){return(this.oldRow?"Edit":"Add")+" "+this.title}},watch:{showDialog(e){this.row=this.getRow(e)}},methods:{...at(it,["createRow","updateRow"]),validate(){let e=!1;for(const[a,l]of Object.entries(this.row))if(!Ke(this.oldRow[a],l)){e=!0;break}if(!e)return!1;const t=this.$refs.form;return t?t.validate().then(({valid:a})=>a).catch(()=>!1):!1},change(e){this.row=e,this.submitButtonEnabled=this.validate()},getRow(e){if(!e||!this.oldRow)return Ue(this.inputs.EMPTY_ROW);const t={};for(const a of this.inputs.UPDATE_KEYS)t[a]=Ue(this.oldRow[a]);return t},doUpdate:function(){const e={};for(const[t,a]of Object.entries(this.row))Ke(this.oldRow[t],a)||(e[t]=a);this.updateRow(this.table,this.oldRow.pk,e).then(()=>(this.showDialog=!1,!0)).catch(console.error)},doCreate:function(){this.createRow(this.table,this.row).then(()=>(this.showDialog=!1,!0)).catch(console.error)},submit:function(){const e=this.$refs.form;e&&e.validate().then(({valid:t})=>{if(t)return this.oldRow?this.doUpdate():this.doCreate()}).catch(console.warn)}}};function Ga(e,t,a,l,n,r){const s=oe("AdminCreateUpdateButton"),i=oe("SubmitFooter");return G(),q(Ta,C({modelValue:n.showDialog,"onUpdate:modelValue":t[1]||(t[1]=o=>n.showDialog=o),transition:"scale-transition"},e.$attrs),{activator:ae(({props:o})=>[S(s,C({update:!!a.oldRow,table:a.table,label:a.label},o,{size:a.size,density:a.density,title:r.buttonTitle}),null,16,["update","table","label","size","density","title"])]),default:ae(()=>[S(Va,{ref:"form",class:"cuForm"},{default:ae(()=>[x("h2",null,Ge(r.title),1),(G(),q(ta(a.inputs),{"old-row":a.oldRow,onChange:r.change},null,40,["old-row","onChange"])),S(i,{verb:r.verb,table:a.table,label:a.label,disabled:!n.submitButtonEnabled,onSubmit:r.submit,onCancel:t[0]||(t[0]=o=>n.showDialog=!1)},null,8,["verb","table","label","disabled","onSubmit"])]),_:1},512)]),_:1},16,["modelValue"])}const Al=Z(Na,[["render",Ga],["__scopeId","data-v-b61575f9"]]),Ha={name:"GroupChip",props:{titleKey:{type:String,default:""},groupType:{type:Boolean,default:void 0},item:{type:Object,default:void 0}},computed:{classes(){let e={};return this.groupType&&this.item&&(e.include=!this.item.exclude,e.exclude=this.item.exclude),e},text(){return this.item&&this.titleKey?this.item[this.titleKey]:""},value(){if(this.item)return this.groupType?this.item.exclude:this.item.value}}};function ja(e,t,a,l,n,r){return G(),q(ut,{class:Y(r.classes),text:r.text,value:r.value},null,8,["class","text","value"])}const ft=Z(Ha,[["render",ja],["__scopeId","data-v-fe7786ef"]]),za={name:"AdminRelationPicker",components:{GroupChip:ft},props:{objs:{type:Object,required:!0},titleKey:{type:String,required:!0},groupType:{type:Boolean,default:!1}},computed:{vuetifyItems(){const e=[];for(const t of this.objs)e.push({...t,value:t.pk,title:t[this.titleKey]});return e}}};function Ma(e,t,a,l,n,r){const s=oe("GroupChip");return G(),q(ze,C({chips:!0,"closable-chips":!0,density:"compact",multiple:!0,items:r.vuetifyItems},e.$attrs),{chip:ae(({item:i})=>[S(s,{"title-key":"title",item:i,"group-type":a.groupType},null,8,["item","group-type"])]),_:1},16,["items"])}const El=Z(za,[["render",Ma]]);function qa(){const e=U([]);aa(()=>e.value=[]);function t(a,l){e.value[l]=a}return{refs:e,updateRef:t}}const Wa=B({activeColor:String,start:{type:[Number,String],default:1},modelValue:{type:Number,default:e=>e.start},disabled:Boolean,length:{type:[Number,String],default:1,validator:e=>e%1===0},totalVisible:[Number,String],firstIcon:{type:E,default:"$first"},prevIcon:{type:E,default:"$prev"},nextIcon:{type:E,default:"$next"},lastIcon:{type:E,default:"$last"},ariaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.root"},pageAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.page"},currentPageAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.currentPage"},firstAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.first"},previousAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.previous"},nextAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.next"},lastAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.last"},ellipsis:{type:String,default:"..."},showFirstLastPage:Boolean,...wa(),...oa(),...we(),...Sa(),...xa(),...pa(),...ya({tag:"nav"}),...sa(),...ha({variant:"text"})},"VPagination"),et=K()({name:"VPagination",props:Wa(),emits:{"update:modelValue":e=>!0,first:e=>!0,prev:e=>!0,next:e=>!0,last:e=>!0},setup(e,t){let{slots:a,emit:l}=t;const n=X(e,"modelValue"),{t:r,n:s}=ue(),{isRtl:i}=la(),{themeClasses:o}=na(e),{width:u}=Se(),f=ge(-1);be(void 0,{scoped:!0});const{resizeRef:g}=ra(y=>{if(!y.length)return;const{target:p,contentRect:d}=y[0],P=p.querySelector(".v-pagination__list > *");if(!P)return;const V=d.width,N=P.offsetWidth+parseFloat(getComputedStyle(P).marginRight)*2;f.value=b(V,N)}),c=_(()=>parseInt(e.length,10)),m=_(()=>parseInt(e.start,10)),w=_(()=>e.totalVisible!=null?parseInt(e.totalVisible,10):f.value>=0?f.value:b(u.value,58));function b(y,p){const d=e.showFirstLastPage?5:3;return Math.max(0,Math.floor(Number(((y-p*d)/p).toFixed(2))))}const v=_(()=>{if(c.value<=0||isNaN(c.value)||c.value>Number.MAX_SAFE_INTEGER)return[];if(w.value<=0)return[];if(w.value===1)return[n.value];if(c.value<=w.value)return de(c.value,m.value);const y=w.value%2===0,p=y?w.value/2:Math.floor(w.value/2),d=y?p:p+1,P=c.value-p;if(d-n.value>=0)return[...de(Math.max(1,w.value-1),m.value),e.ellipsis,c.value];if(n.value-P>=(y?1:0)){const V=w.value-1,N=c.value-V+m.value;return[m.value,e.ellipsis,...de(V,N)]}else{const V=Math.max(1,w.value-2),N=V===1?n.value:n.value-Math.ceil(V/2)+m.value;return[m.value,e.ellipsis,...de(V,N),e.ellipsis,c.value]}});function T(y,p,d){y.preventDefault(),n.value=p,d&&l(d,p)}const{refs:h,updateRef:k}=qa();be({VPaginationBtn:{color:D(()=>e.color),border:D(()=>e.border),density:D(()=>e.density),size:D(()=>e.size),variant:D(()=>e.variant),rounded:D(()=>e.rounded),elevation:D(()=>e.elevation)}});const F=_(()=>v.value.map((y,p)=>{const d=P=>k(P,p);if(typeof y=="string")return{isActive:!1,key:`ellipsis-${p}`,page:y,props:{ref:d,ellipsis:!0,icon:!0,disabled:!0}};{const P=y===n.value;return{isActive:P,key:y,page:s(y),props:{ref:d,ellipsis:!1,icon:!0,disabled:!!e.disabled||Number(e.length)<2,color:P?e.activeColor:e.color,"aria-current":P,"aria-label":r(P?e.currentPageAriaLabel:e.pageAriaLabel,y),onClick:V=>T(V,y)}}}})),I=_(()=>{const y=!!e.disabled||n.value<=m.value,p=!!e.disabled||n.value>=m.value+c.value-1;return{first:e.showFirstLastPage?{icon:i.value?e.lastIcon:e.firstIcon,onClick:d=>T(d,m.value,"first"),disabled:y,"aria-label":r(e.firstAriaLabel),"aria-disabled":y}:void 0,prev:{icon:i.value?e.nextIcon:e.prevIcon,onClick:d=>T(d,n.value-1,"prev"),disabled:y,"aria-label":r(e.previousAriaLabel),"aria-disabled":y},next:{icon:i.value?e.prevIcon:e.nextIcon,onClick:d=>T(d,n.value+1,"next"),disabled:p,"aria-label":r(e.nextAriaLabel),"aria-disabled":p},last:e.showFirstLastPage?{icon:i.value?e.firstIcon:e.lastIcon,onClick:d=>T(d,m.value+c.value-1,"last"),disabled:p,"aria-label":r(e.lastAriaLabel),"aria-disabled":p}:void 0}});function R(){const y=n.value-m.value;h.value[y]?.$el.focus()}function L(y){y.key===Ye.left&&!e.disabled&&n.value>Number(e.start)?(n.value=n.value-1,Xe(R)):y.key===Ye.right&&!e.disabled&&n.value<m.value+c.value-1&&(n.value=n.value+1,Xe(R))}return J(()=>S(e.tag,{ref:g,class:Y(["v-pagination",o.value,e.class]),style:lt(e.style),role:"navigation","aria-label":r(e.ariaLabel),onKeydown:L,"data-test":"v-pagination-root"},{default:()=>[x("ul",{class:"v-pagination__list"},[e.showFirstLastPage&&x("li",{key:"first",class:"v-pagination__first","data-test":"v-pagination-first"},[a.first?a.first(I.value.first):S(M,C({_as:"VPaginationBtn"},I.value.first),null)]),x("li",{key:"prev",class:"v-pagination__prev","data-test":"v-pagination-prev"},[a.prev?a.prev(I.value.prev):S(M,C({_as:"VPaginationBtn"},I.value.prev),null)]),F.value.map((y,p)=>x("li",{key:y.key,class:Y(["v-pagination__item",{"v-pagination__item--is-active":y.isActive}]),"data-test":"v-pagination-item"},[a.item?a.item(y):S(M,C({_as:"VPaginationBtn"},y.props),{default:()=>[y.page]})])),x("li",{key:"next",class:"v-pagination__next","data-test":"v-pagination-next"},[a.next?a.next(I.value.next):S(M,C({_as:"VPaginationBtn"},I.value.next),null)]),e.showFirstLastPage&&x("li",{key:"last",class:"v-pagination__last","data-test":"v-pagination-last"},[a.last?a.last(I.value.last):S(M,C({_as:"VPaginationBtn"},I.value.last),null)])])]})),{}}}),Ka=B({page:{type:[Number,String],default:1},itemsPerPage:{type:[Number,String],default:10}},"DataTable-paginate"),vt=Symbol.for("vuetify:data-table-pagination");function Ua(e){const t=X(e,"page",void 0,l=>Number(l??1)),a=X(e,"itemsPerPage",void 0,l=>Number(l??10));return{page:t,itemsPerPage:a}}function Ya(e){const{page:t,itemsPerPage:a,itemsLength:l}=e,n=_(()=>a.value===-1?0:a.value*(t.value-1)),r=_(()=>a.value===-1?l.value:Math.min(l.value,n.value+a.value)),s=_(()=>a.value===-1||l.value===0?1:Math.ceil(l.value/a.value));He([t,s],()=>{t.value>s.value&&(t.value=s.value)});function i(c){a.value=c,t.value=1}function o(){t.value=Ae(t.value+1,1,s.value)}function u(){t.value=Ae(t.value-1,1,s.value)}function f(c){t.value=Ae(c,1,s.value)}const g={page:t,itemsPerPage:a,startIndex:n,stopIndex:r,pageCount:s,itemsLength:l,nextPage:o,prevPage:u,setPage:f,setItemsPerPage:i};return ne(vt,g),g}function Xa(){const e=le(vt);if(!e)throw new Error("Missing pagination!");return e}function Qa(e){const t=nt("usePaginatedItems"),{items:a,startIndex:l,stopIndex:n,itemsPerPage:r}=e,s=_(()=>r.value<=0?a.value:a.value.slice(l.value,n.value));return He(s,i=>{t.emit("update:currentItems",i)},{immediate:!0}),{paginatedItems:s}}const mt=B({prevIcon:{type:E,default:"$prev"},nextIcon:{type:E,default:"$next"},firstIcon:{type:E,default:"$first"},lastIcon:{type:E,default:"$last"},itemsPerPageText:{type:String,default:"$vuetify.dataFooter.itemsPerPageText"},pageText:{type:String,default:"$vuetify.dataFooter.pageText"},firstPageLabel:{type:String,default:"$vuetify.dataFooter.firstPage"},prevPageLabel:{type:String,default:"$vuetify.dataFooter.prevPage"},nextPageLabel:{type:String,default:"$vuetify.dataFooter.nextPage"},lastPageLabel:{type:String,default:"$vuetify.dataFooter.lastPage"},itemsPerPageOptions:{type:Array,default:()=>[{value:10,title:"10"},{value:25,title:"25"},{value:50,title:"50"},{value:100,title:"100"},{value:-1,title:"$vuetify.dataFooter.itemsPerPageAll"}]},showCurrentPage:Boolean},"VDataTableFooter"),tt=K()({name:"VDataTableFooter",props:mt(),setup(e,t){let{slots:a}=t;const{t:l}=ue(),{page:n,pageCount:r,startIndex:s,stopIndex:i,itemsLength:o,itemsPerPage:u,setItemsPerPage:f}=Xa(),g=_(()=>e.itemsPerPageOptions.map(c=>typeof c=="number"?{value:c,title:c===-1?l("$vuetify.dataFooter.itemsPerPageAll"):String(c)}:{...c,title:isNaN(Number(c.title))?l(c.title):c.title}));return J(()=>{const c=et.filterProps(e);return x("div",{class:"v-data-table-footer"},[a.prepend?.(),x("div",{class:"v-data-table-footer__items-per-page"},[x("span",{"aria-label":l(e.itemsPerPageText)},[l(e.itemsPerPageText)]),S(ze,{items:g.value,modelValue:u.value,"onUpdate:modelValue":m=>f(Number(m)),density:"compact",variant:"outlined",hideDetails:!0},null)]),x("div",{class:"v-data-table-footer__info"},[x("div",null,[l(e.pageText,o.value?s.value+1:0,i.value,o.value)])]),x("div",{class:"v-data-table-footer__pagination"},[S(et,C({modelValue:n.value,"onUpdate:modelValue":m=>n.value=m,density:"comfortable",firstAriaLabel:e.firstPageLabel,lastAriaLabel:e.lastPageLabel,length:r.value,nextAriaLabel:e.nextPageLabel,previousAriaLabel:e.prevPageLabel,rounded:!0,showFirstLastPage:!0,totalVisible:e.showCurrentPage?1:0,variant:"plain"},c),null)])])}),{}}}),ie=ia({align:{type:String,default:"start"},fixed:{type:[Boolean,String],default:!1},fixedOffset:[Number,String],fixedEndOffset:[Number,String],height:[Number,String],lastFixed:Boolean,firstFixedEnd:Boolean,noPadding:Boolean,indent:[Number,String],empty:Boolean,tag:String,width:[Number,String],maxWidth:[Number,String],nowrap:Boolean},(e,t)=>{let{slots:a}=t;const l=e.tag??"td",n=typeof e.fixed=="string"?e.fixed:e.fixed?"start":"none";return S(l,{class:Y(["v-data-table__td",{"v-data-table-column--fixed":n==="start","v-data-table-column--fixed-end":n==="end","v-data-table-column--last-fixed":e.lastFixed,"v-data-table-column--first-fixed-end":e.firstFixedEnd,"v-data-table-column--no-padding":e.noPadding,"v-data-table-column--nowrap":e.nowrap,"v-data-table-column--empty":e.empty},`v-data-table-column--align-${e.align}`]),style:{height:A(e.height),width:A(e.width),maxWidth:A(e.maxWidth),left:n==="start"?A(e.fixedOffset||null):void 0,right:n==="end"?A(e.fixedEndOffset||null):void 0,paddingInlineStart:e.indent?A(e.indent):void 0}},{default:()=>[a.default?.()]})}),Za=B({headers:Array},"DataTable-header"),gt=Symbol.for("vuetify:data-table-headers"),bt={title:"",sortable:!1},Ja={...bt,width:48};function el(){const t=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).map(a=>({element:a,priority:0}));return{enqueue:(a,l)=>{let n=!1;for(let r=0;r<t.length;r++)if(t[r].priority>l){t.splice(r,0,{element:a,priority:l}),n=!0;break}n||t.push({element:a,priority:l})},size:()=>t.length,count:()=>{let a=0;if(!t.length)return 0;const l=Math.floor(t[0].priority);for(let n=0;n<t.length;n++)Math.floor(t[n].priority)===l&&(a+=1);return a},dequeue:()=>t.shift()}}function Ne(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];if(!e.children)t.push(e);else for(const a of e.children)Ne(a,t);return t}function ht(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Set;for(const a of e)a.key&&t.add(a.key),a.children&&ht(a.children,t);return t}function tl(e){if(e.key){if(e.key==="data-table-group")return bt;if(["data-table-expand","data-table-select"].includes(e.key))return Ja}}function qe(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.children?Math.max(t,...e.children.map(a=>qe(a,t+1))):t}function al(e){let t=!1;function a(r,s){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"none";if(r)if(i!=="none"&&(r.fixed=i),r.fixed===!0&&(r.fixed="start"),r.fixed===s)if(r.children)if(s==="start")for(let o=r.children.length-1;o>=0;o--)a(r.children[o],s,s);else for(let o=0;o<r.children.length;o++)a(r.children[o],s,s);else!t&&s==="start"?r.lastFixed=!0:!t&&s==="end"?r.firstFixedEnd=!0:isNaN(Number(r.width))?ca(`Multiple fixed columns should have a static width (key: ${r.key})`):r.minWidth=Math.max(Number(r.width)||0,Number(r.minWidth)||0),t=!0;else if(r.children)if(s==="start")for(let o=r.children.length-1;o>=0;o--)a(r.children[o],s);else for(let o=0;o<r.children.length;o++)a(r.children[o],s);else t=!1}for(let r=e.length-1;r>=0;r--)a(e[r],"start");for(let r=0;r<e.length;r++)a(e[r],"end");let l=0;for(let r=0;r<e.length;r++)l=yt(e[r],l);let n=0;for(let r=e.length-1;r>=0;r--)n=pt(e[r],n)}function yt(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!e)return t;if(e.children){e.fixedOffset=t;for(const a of e.children)t=yt(a,t)}else e.fixed&&e.fixed!=="end"&&(e.fixedOffset=t,t+=parseFloat(e.width||"0")||0);return t}function pt(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!e)return t;if(e.children){e.fixedEndOffset=t;for(const a of e.children)t=pt(a,t)}else e.fixed==="end"&&(e.fixedEndOffset=t,t+=parseFloat(e.width||"0")||0);return t}function ll(e,t){const a=[];let l=0;const n=el(e);for(;n.size()>0;){let s=n.count();const i=[];let o=1;for(;s>0;){const{element:u,priority:f}=n.dequeue(),g=t-l-qe(u);if(i.push({...u,rowspan:g??1,colspan:u.children?Ne(u).length:1}),u.children)for(const c of u.children){const m=f%1+o/Math.pow(10,l+2);n.enqueue(c,l+g+m)}o+=1,s-=1}l+=1,a.push(i)}return{columns:e.map(s=>Ne(s)).flat(),headers:a}}function xt(e){const t=[];for(const a of e){const l={...tl(a),...a},n=l.key??(typeof l.value=="string"?l.value:null),r=l.value??n??null,s={...l,key:n,value:r,sortable:l.sortable??(l.key!=null||!!l.sort),children:l.children?xt(l.children):void 0};t.push(s)}return t}function St(e,t){const a=U([]),l=U([]),n=U({}),r=U({}),s=U({});ua(()=>{const u=(e.headers||Object.keys(e.items[0]??{}).map(b=>({key:b,title:da(b)}))).slice(),f=ht(u);t?.groupBy?.value.length&&!f.has("data-table-group")&&u.unshift({key:"data-table-group",title:"Group"}),t?.showSelect?.value&&!f.has("data-table-select")&&u.unshift({key:"data-table-select"}),t?.showExpand?.value&&!f.has("data-table-expand")&&u.push({key:"data-table-expand"});const g=xt(u);al(g);const c=Math.max(...g.map(b=>qe(b)))+1,m=ll(g,c);a.value=m.headers,l.value=m.columns;const w=m.headers.flat(1);for(const b of w)b.key&&(b.sortable&&(b.sort&&(n.value[b.key]=b.sort),b.sortRaw&&(r.value[b.key]=b.sortRaw)),b.filter&&(s.value[b.key]=b.filter))});const i={headers:a,columns:l,sortFunctions:n,sortRawFunctions:r,filterFunctions:s};return ne(gt,i),i}function Pe(){const e=le(gt);if(!e)throw new Error("Missing headers!");return e}const nl={showSelectAll:!1,allSelected:()=>[],select:e=>{let{items:t,value:a}=e;return new Set(a?[t[0]?.value]:[])},selectAll:e=>{let{selected:t}=e;return t}},wt={showSelectAll:!0,allSelected:e=>{let{currentPage:t}=e;return t},select:e=>{let{items:t,value:a,selected:l}=e;for(const n of t)a?l.add(n.value):l.delete(n.value);return l},selectAll:e=>{let{value:t,currentPage:a,selected:l}=e;return wt.select({items:a,value:t,selected:l})}},Pt={showSelectAll:!0,allSelected:e=>{let{allItems:t}=e;return t},select:e=>{let{items:t,value:a,selected:l}=e;for(const n of t)a?l.add(n.value):l.delete(n.value);return l},selectAll:e=>{let{value:t,allItems:a,selected:l}=e;return Pt.select({items:a,value:t,selected:l})}},rl=B({showSelect:Boolean,selectStrategy:{type:[String,Object],default:"page"},modelValue:{type:Array,default:()=>[]},valueComparator:{type:Function,default:rt}},"DataTable-select"),kt=Symbol.for("vuetify:data-table-selection");function It(e,t){let{allItems:a,currentPage:l}=t;const n=X(e,"modelValue",e.modelValue,h=>new Set(Ee(h).map(k=>a.value.find(F=>e.valueComparator(k,F.value))?.value??k)),h=>[...h.values()]),r=_(()=>a.value.filter(h=>h.selectable)),s=_(()=>l.value.filter(h=>h.selectable)),i=_(()=>{if(typeof e.selectStrategy=="object")return e.selectStrategy;switch(e.selectStrategy){case"single":return nl;case"all":return Pt;case"page":default:return wt}}),o=ge(null);function u(h){return Ee(h).every(k=>n.value.has(k.value))}function f(h){return Ee(h).some(k=>n.value.has(k.value))}function g(h,k){const F=i.value.select({items:h,value:k,selected:new Set(n.value)});n.value=F}function c(h,k,F){const I=[];if(k=k??l.value.findIndex(R=>R.value===h.value),e.selectStrategy!=="single"&&F?.shiftKey&&o.value!==null){const[R,L]=[o.value,k].sort((y,p)=>y-p);I.push(...l.value.slice(R,L+1).filter(y=>y.selectable))}else I.push(h),o.value=k;g(I,!u([h]))}function m(h){const k=i.value.selectAll({value:h,allItems:r.value,currentPage:s.value,selected:new Set(n.value)});n.value=k}const w=_(()=>n.value.size>0),b=_(()=>{const h=i.value.allSelected({allItems:r.value,currentPage:s.value});return!!h.length&&u(h)}),v=D(()=>i.value.showSelectAll),T={toggleSelect:c,select:g,selectAll:m,isSelected:u,isSomeSelected:f,someSelected:w,allSelected:b,showSelectAll:v,lastSelectedIndex:o,selectStrategy:i};return ne(kt,T),T}function ke(){const e=le(kt);if(!e)throw new Error("Missing selection!");return e}const sl=B({sortBy:{type:Array,default:()=>[]},customKeySort:Object,multiSort:Boolean,mustSort:Boolean},"DataTable-sort"),_t=Symbol.for("vuetify:data-table-sort");function Dt(e){const t=X(e,"sortBy"),a=D(()=>e.mustSort),l=D(()=>e.multiSort);return{sortBy:t,mustSort:a,multiSort:l}}function Vt(e){const{sortBy:t,mustSort:a,multiSort:l,page:n}=e,r=o=>{if(o.key==null)return;let u=t.value.map(g=>({...g}))??[];const f=u.find(g=>g.key===o.key);f?f.order==="desc"?a.value&&u.length===1?f.order="asc":u=u.filter(g=>g.key!==o.key):f.order="desc":l.value?u.push({key:o.key,order:"asc"}):u=[{key:o.key,order:"asc"}],t.value=u,n&&(n.value=1)};function s(o){return!!t.value.find(u=>u.key===o.key)}const i={sortBy:t,toggleSort:r,isSorted:s};return ne(_t,i),i}function Tt(){const e=le(_t);if(!e)throw new Error("Missing sort!");return e}function Ct(e,t,a,l){const n=ue();return{sortedItems:_(()=>a.value.length?ol(t.value,a.value,n.current.value,{transform:l?.transform,sortFunctions:{...e.customKeySort,...l?.sortFunctions?.value},sortRawFunctions:l?.sortRawFunctions?.value}):t.value)}}function ol(e,t,a,l){const n=new Intl.Collator(a,{sensitivity:"accent",usage:"sort"});return e.map(s=>[s,l?.transform?l.transform(s):s]).sort((s,i)=>{for(let o=0;o<t.length;o++){let u=!1;const f=t[o].key,g=t[o].order??"asc";if(g===!1)continue;let c=he(s[1],f),m=he(i[1],f),w=s[0].raw,b=i[0].raw;if(g==="desc"&&([c,m]=[m,c],[w,b]=[b,w]),l?.sortRawFunctions?.[f]){const v=l.sortRawFunctions[f](w,b);if(v==null)continue;if(u=!0,v)return v}if(l?.sortFunctions?.[f]){const v=l.sortFunctions[f](c,m);if(v==null)continue;if(u=!0,v)return v}if(!u&&(c instanceof Date&&m instanceof Date&&(c=c.getTime(),m=m.getTime()),[c,m]=[c,m].map(v=>v!=null?v.toString().toLocaleLowerCase():v),c!==m))return ce(c)&&ce(m)?0:ce(c)?-1:ce(m)?1:!isNaN(c)&&!isNaN(m)?Number(c)-Number(m):n.compare(c,m)}return 0}).map(s=>{let[i]=s;return i})}const Bt=B({color:String,disableSort:Boolean,fixedHeader:Boolean,multiSort:Boolean,sortAscIcon:{type:E,default:"$sortAsc"},sortDescIcon:{type:E,default:"$sortDesc"},headerProps:{type:Object},sticky:Boolean,...we(),...je(),..._a()},"VDataTableHeaders"),pe=K()({name:"VDataTableHeaders",props:Bt(),setup(e,t){let{slots:a}=t;const{t:l}=ue(),{toggleSort:n,sortBy:r,isSorted:s}=Tt(),{someSelected:i,allSelected:o,selectAll:u,showSelectAll:f}=ke(),{columns:g,headers:c}=Pe(),{loaderClasses:m}=Pa(e);function w(p,d){if(!(e.sticky||e.fixedHeader)&&!p.fixed)return;const P=typeof p.fixed=="string"?p.fixed:p.fixed?"start":"none";return{position:"sticky",left:P==="start"?A(p.fixedOffset):void 0,right:P==="end"?A(p.fixedEndOffset):void 0,top:e.sticky||e.fixedHeader?`calc(var(--v-table-header-height) * ${d})`:void 0}}function b(p,d){p.key==="Enter"&&!e.disableSort&&n(d)}function v(p){const d=r.value.find(P=>P.key===p.key);return d?d.order==="asc"?e.sortAscIcon:e.sortDescIcon:e.sortAscIcon}const{backgroundColorClasses:T,backgroundColorStyles:h}=ka(()=>e.color),{displayClasses:k,mobile:F}=Se(e),I=_(()=>({headers:c.value,columns:g.value,toggleSort:n,isSorted:s,sortBy:r.value,someSelected:i.value,allSelected:o.value,selectAll:u,getSortIcon:v})),R=_(()=>["v-data-table__th",{"v-data-table__th--sticky":e.sticky||e.fixedHeader},k.value,m.value]),L=p=>{let{column:d,x:P,y:V}=p;const N=d.key==="data-table-select"||d.key==="data-table-expand",ee=d.key==="data-table-group"&&d.width===0&&!d.title,re=C(e.headerProps??{},d.headerProps??{});return S(ie,C({tag:"th",align:d.align,class:[{"v-data-table__th--sortable":d.sortable&&!e.disableSort,"v-data-table__th--sorted":s(d),"v-data-table__th--fixed":d.fixed},...R.value],style:{width:A(d.width),minWidth:A(d.minWidth),maxWidth:A(d.maxWidth),...w(d,V)},colspan:d.colspan,rowspan:d.rowspan,fixed:d.fixed,nowrap:d.nowrap,lastFixed:d.lastFixed,firstFixedEnd:d.firstFixedEnd,noPadding:N,empty:ee,tabindex:d.sortable?0:void 0,onClick:d.sortable?()=>n(d):void 0,onKeydown:d.sortable?H=>b(H,d):void 0},re),{default:()=>{const H=`header.${d.key}`,W={column:d,selectAll:u,isSorted:s,toggleSort:n,sortBy:r.value,someSelected:i.value,allSelected:o.value,getSortIcon:v};return a[H]?a[H](W):ee?"":d.key==="data-table-select"?a["header.data-table-select"]?.(W)??(f.value&&S(Me,{density:e.density,modelValue:o.value,indeterminate:i.value&&!o.value,"onUpdate:modelValue":u},null)):x("div",{class:"v-data-table-header__content"},[x("span",null,[d.title]),d.sortable&&!e.disableSort&&S(Ze,{key:"icon",class:"v-data-table-header__sort-icon",icon:v(d)},null),e.multiSort&&s(d)&&x("div",{key:"badge",class:Y(["v-data-table-header__sort-badge",...T.value]),style:lt(h.value)},[r.value.findIndex(se=>se.key===d.key)+1])])}})},y=()=>{const p=_(()=>g.value.filter(P=>P?.sortable&&!e.disableSort)),d=_(()=>{if(g.value.find(V=>V.key==="data-table-select")!=null)return o.value?"$checkboxOn":i.value?"$checkboxIndeterminate":"$checkboxOff"});return S(ie,C({tag:"th",class:[...R.value],colspan:c.value.length+1},e.headerProps),{default:()=>[x("div",{class:"v-data-table-header__content"},[S(ze,{chips:!0,class:"v-data-table__td-sort-select",clearable:!0,density:"default",items:p.value,label:l("$vuetify.dataTable.sortBy"),multiple:e.multiSort,variant:"underlined","onClick:clear":()=>r.value=[],appendIcon:d.value,"onClick:append":()=>u(!o.value)},{chip:P=>S(ut,{onClick:P.item.raw?.sortable?()=>n(P.item.raw):void 0,onMousedown:V=>{V.preventDefault(),V.stopPropagation()}},{default:()=>[P.item.title,S(Ze,{class:Y(["v-data-table__td-sort-icon",s(P.item.raw)&&"v-data-table__td-sort-icon-active"]),icon:v(P.item.raw),size:"small"},null)]})})])]})};J(()=>F.value?x("tr",null,[S(y,null,null)]):x(Q,null,[a.headers?a.headers(I.value):c.value.map((p,d)=>x("tr",null,[p.map((P,V)=>S(L,{column:P,x:V,y:d},null))])),e.loading&&x("tr",{class:"v-data-table-progress"},[x("th",{colspan:g.value.length},[S(Ia,{name:"v-data-table-progress",absolute:!0,active:!0,color:typeof e.loading=="boolean"?void 0:e.loading,indeterminate:!0},{default:a.loader})])])]))}}),Ft=B({groupBy:{type:Array,default:()=>[]}},"DataTable-group"),Rt=Symbol.for("vuetify:data-table-group");function At(e){return{groupBy:X(e,"groupBy")}}function Et(e){const{disableSort:t,groupBy:a,sortBy:l}=e,n=U(new Set),r=_(()=>a.value.map(f=>({...f,order:f.order??!1})).concat(t?.value?[]:l.value));function s(f){return n.value.has(f.id)}function i(f){const g=new Set(n.value);s(f)?g.delete(f.id):g.add(f.id),n.value=g}function o(f){function g(c){const m=[];for(const w of c.items)"type"in w&&w.type==="group"?m.push(...g(w)):m.push(w);return[...new Set(m)]}return g({items:f})}const u={sortByWithGroups:r,toggleGroup:i,opened:n,groupBy:a,extractRows:o,isGroupOpen:s};return ne(Rt,u),u}function Ot(){const e=le(Rt);if(!e)throw new Error("Missing group!");return e}function il(e,t){if(!e.length)return[];const a=new Map;for(const l of e){const n=he(l.raw,t);a.has(n)||a.set(n,[]),a.get(n).push(l)}return a}function $t(e,t){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"root";if(!t.length)return[];const n=il(e,t[0]),r=[],s=t.slice(1);return n.forEach((i,o)=>{const u=t[0],f=`${l}_${u}_${o}`;r.push({depth:a,id:f,key:u,value:o,items:s.length?$t(i,s,a+1,f):i,type:"group"})}),r}function Lt(e,t,a){const l=[];for(const n of e)"type"in n&&n.type==="group"?(n.value!=null&&l.push(n),(t.has(n.id)||n.value==null)&&(l.push(...Lt(n.items,t,a)),a&&l.push({...n,type:"group-summary"}))):l.push(n);return l}function Nt(e,t,a,l){return{flatItems:_(()=>{if(!t.value.length)return e.value;const r=$t(e.value,t.value.map(s=>s.key));return Lt(r,a.value,fa(l))})}}const Gt=B({item:{type:Object,required:!0},groupCollapseIcon:{type:E,default:"$tableGroupCollapse"},groupExpandIcon:{type:E,default:"$tableGroupExpand"},...we()},"VDataTableGroupHeaderRow"),ul=K()({name:"VDataTableGroupHeaderRow",props:Gt(),setup(e,t){let{slots:a}=t;const{isGroupOpen:l,toggleGroup:n,extractRows:r}=Ot(),{isSelected:s,isSomeSelected:i,select:o}=ke(),{columns:u}=Pe(),f=_(()=>r([e.item])),g=D(()=>u.value.length-(u.value.some(c=>c.key==="data-table-select")?1:0));return()=>x("tr",{class:"v-data-table-group-header-row",style:{"--v-data-table-group-header-row-depth":e.item.depth}},[u.value.map(c=>{if(c.key==="data-table-group"){const m=l(e.item)?e.groupCollapseIcon:e.groupExpandIcon,w=()=>n(e.item);return a["data-table-group"]?.({item:e.item,count:f.value.length,props:{icon:m,onClick:w}})??S(ie,{class:"v-data-table-group-header-row__column",colspan:g.value},{default:()=>[S(M,{size:"small",variant:"text",icon:m,onClick:w},null),x("span",null,[e.item.value]),x("span",null,[$e("("),f.value.length,$e(")")])]})}else if(c.key==="data-table-select"){const m=s(f.value),w=i(f.value)&&!m,b=v=>o(f.value,v);return a["data-table-select"]?.({props:{modelValue:m,indeterminate:w,"onUpdate:modelValue":b}})??S(ie,{class:"v-data-table__td--select-row",noPadding:!0},{default:()=>[S(Me,{density:e.density,modelValue:m,indeterminate:w,"onUpdate:modelValue":b},null)]})}return""})])}}),dl=B({expandOnClick:Boolean,showExpand:Boolean,expanded:{type:Array,default:()=>[]}},"DataTable-expand"),Ht=Symbol.for("vuetify:datatable:expanded");function jt(e){const t=D(()=>e.expandOnClick),a=X(e,"expanded",e.expanded,i=>new Set(i),i=>[...i.values()]);function l(i,o){const u=new Set(a.value),f=fe(i.value);if(o)u.add(f);else{const g=[...a.value].find(c=>fe(c)===f);u.delete(g)}a.value=u}function n(i){const o=fe(i.value);return[...a.value].some(u=>fe(u)===o)}function r(i){l(i,!n(i))}const s={expand:l,expanded:a,expandOnClick:t,isExpanded:n,toggleExpand:r};return ne(Ht,s),s}function zt(){const e=le(Ht);if(!e)throw new Error("foo");return e}const Mt=B({index:Number,item:Object,cellProps:[Object,Function],collapseIcon:{type:E,default:"$collapse"},expandIcon:{type:E,default:"$expand"},onClick:Oe(),onContextmenu:Oe(),onDblclick:Oe(),...we(),...je()},"VDataTableRow"),qt=K()({name:"VDataTableRow",props:Mt(),setup(e,t){let{slots:a}=t;const{displayClasses:l,mobile:n}=Se(e,"v-data-table__tr"),{isSelected:r,toggleSelect:s,someSelected:i,allSelected:o,selectAll:u}=ke(),{isExpanded:f,toggleExpand:g}=zt(),{toggleSort:c,sortBy:m,isSorted:w}=Tt(),{columns:b}=Pe();J(()=>x("tr",{class:Y(["v-data-table__tr",{"v-data-table__tr--clickable":!!(e.onClick||e.onContextmenu||e.onDblclick)},l.value]),onClick:e.onClick,onContextmenu:e.onContextmenu,onDblclick:e.onDblclick},[e.item&&b.value.map((v,T)=>{const h=e.item,k=`item.${v.key}`,F=`header.${v.key}`,I={index:e.index,item:h.raw,internalItem:h,value:he(h.columns,v.key),column:v,isSelected:r,toggleSelect:s,isExpanded:f,toggleExpand:g},R={column:v,selectAll:u,isSorted:w,toggleSort:c,sortBy:m.value,someSelected:i.value,allSelected:o.value,getSortIcon:()=>""},L=typeof e.cellProps=="function"?e.cellProps({index:I.index,item:I.item,internalItem:I.internalItem,value:I.value,column:v}):e.cellProps,y=typeof v.cellProps=="function"?v.cellProps({index:I.index,item:I.item,internalItem:I.internalItem,value:I.value}):v.cellProps,p=v.key==="data-table-select"||v.key==="data-table-expand",d=v.key==="data-table-group"&&v.width===0&&!v.title;return S(ie,C({align:v.align,indent:v.intent,class:{"v-data-table__td--expanded-row":v.key==="data-table-expand","v-data-table__td--select-row":v.key==="data-table-select"},fixed:v.fixed,fixedOffset:v.fixedOffset,fixedEndOffset:v.fixedEndOffset,lastFixed:v.lastFixed,firstFixedEnd:v.firstFixedEnd,maxWidth:n.value?void 0:v.maxWidth,noPadding:p,empty:d,nowrap:v.nowrap,width:n.value?void 0:v.width},L,y),{default:()=>{if(v.key==="data-table-select")return a["item.data-table-select"]?.({...I,props:{disabled:!h.selectable,modelValue:r([h]),onClick:ve(()=>s(h),["stop"])}})??S(Me,{disabled:!h.selectable,density:e.density,modelValue:r([h]),onClick:ve(V=>s(h,e.index,V),["stop"])},null);if(v.key==="data-table-expand")return a["item.data-table-expand"]?.({...I,props:{icon:f(h)?e.collapseIcon:e.expandIcon,size:"small",variant:"text",onClick:ve(()=>g(h),["stop"])}})??S(M,{icon:f(h)?e.collapseIcon:e.expandIcon,size:"small",variant:"text",onClick:ve(()=>g(h),["stop"])},null);if(a[k]&&!n.value)return a[k](I);const P=Ge(I.value);return n.value?x(Q,null,[x("div",{class:"v-data-table__td-title"},[a[F]?.(R)??v.title]),x("div",{class:"v-data-table__td-value"},[a[k]?.(I)??P])]):P}})})]))}}),Wt=B({loading:[Boolean,String],loadingText:{type:String,default:"$vuetify.dataIterator.loadingText"},hideNoData:Boolean,items:{type:Array,default:()=>[]},noDataText:{type:String,default:"$vuetify.noDataText"},rowProps:[Object,Function],cellProps:[Object,Function],...Le(Mt(),["collapseIcon","expandIcon","density"]),...Le(Gt(),["groupCollapseIcon","groupExpandIcon","density"]),...je()},"VDataTableRows"),xe=K()({name:"VDataTableRows",inheritAttrs:!1,props:Wt(),setup(e,t){let{attrs:a,slots:l}=t;const{columns:n}=Pe(),{expandOnClick:r,toggleExpand:s,isExpanded:i}=zt(),{isSelected:o,toggleSelect:u}=ke(),{toggleGroup:f,isGroupOpen:g}=Ot(),{t:c}=ue(),{mobile:m}=Se(e);return J(()=>{const w=Le(e,["groupCollapseIcon","groupExpandIcon","density"]);return e.loading&&(!e.items.length||l.loading)?x("tr",{class:"v-data-table-rows-loading",key:"loading"},[x("td",{colspan:n.value.length},[l.loading?.()??c(e.loadingText)])]):!e.loading&&!e.items.length&&!e.hideNoData?x("tr",{class:"v-data-table-rows-no-data",key:"no-data"},[x("td",{colspan:n.value.length},[l["no-data"]?.()??c(e.noDataText)])]):x(Q,null,[e.items.map((b,v)=>{if(b.type==="group"){const k={index:v,item:b,columns:n.value,isExpanded:i,toggleExpand:s,isSelected:o,toggleSelect:u,toggleGroup:f,isGroupOpen:g};return l["group-header"]?l["group-header"](k):S(ul,C({key:`group-header_${b.id}`,item:b},Je(a,":groupHeader",()=>k),w),l)}if(b.type==="group-summary"){const k={index:v,item:b,columns:n.value,toggleGroup:f};return l["group-summary"]?.(k)??""}const T={index:v,item:b.raw,internalItem:b,columns:n.value,isExpanded:i,toggleExpand:s,isSelected:o,toggleSelect:u},h={...T,props:C({key:`item_${b.key??b.index}`,onClick:r.value?()=>{s(b)}:void 0,index:v,item:b,cellProps:e.cellProps,collapseIcon:e.collapseIcon,expandIcon:e.expandIcon,density:e.density,mobile:m.value},Je(a,":row",()=>T),typeof e.rowProps=="function"?e.rowProps({item:T.item,index:T.index,internalItem:T.internalItem}):e.rowProps)};return x(Q,{key:h.props.key},[l.item?l.item(h):S(qt,h.props,l),i(b)&&l["expanded-row"]?.(T)])})])}),{}}}),cl=B({items:{type:Array,default:()=>[]},itemValue:{type:[String,Array,Function],default:"id"},itemSelectable:{type:[String,Array,Function],default:null},rowProps:[Object,Function],cellProps:[Object,Function],returnObject:Boolean},"DataTable-items");function fl(e,t,a,l){const n=e.returnObject?t:me(t,e.itemValue),r=me(t,e.itemSelectable,!0),s=l.reduce((i,o)=>(o.key!=null&&(i[o.key]=me(t,o.value)),i),{});return{type:"item",key:e.returnObject?me(t,e.itemValue):n,index:a,value:n,selectable:r,columns:s,raw:t}}function vl(e,t,a){return t.map((l,n)=>fl(e,l,n,a))}function Kt(e,t){return{items:_(()=>vl(e,e.items,t.value))}}function Ut(e){let{page:t,itemsPerPage:a,sortBy:l,groupBy:n,search:r}=e;const s=nt("VDataTable"),i=()=>({page:t.value,itemsPerPage:a.value,sortBy:l.value,groupBy:n.value,search:r.value});let o=null;He(i,u=>{rt(o,u)||(o&&o.search!==u.search&&(t.value=1),s.emit("update:options",u),o=u)},{deep:!0,immediate:!0})}const Yt=B({...Wt(),hideDefaultBody:Boolean,hideDefaultFooter:Boolean,hideDefaultHeader:Boolean,width:[String,Number],search:String,...dl(),...Ft(),...Za(),...cl(),...rl(),...sl(),...Bt(),...Ra()},"DataTable"),ml=B({...Ka(),...Yt(),...dt(),...mt()},"VDataTable");K()({name:"VDataTable",props:ml(),emits:{"update:modelValue":e=>!0,"update:page":e=>!0,"update:itemsPerPage":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:groupBy":e=>!0,"update:expanded":e=>!0,"update:currentItems":e=>!0},setup(e,t){let{attrs:a,slots:l}=t;const{groupBy:n}=At(e),{sortBy:r,multiSort:s,mustSort:i}=Dt(e),{page:o,itemsPerPage:u}=Ua(e),{disableSort:f}=st(e),{columns:g,headers:c,sortFunctions:m,sortRawFunctions:w,filterFunctions:b}=St(e,{groupBy:n,showSelect:D(()=>e.showSelect),showExpand:D(()=>e.showExpand)}),{items:v}=Kt(e,g),T=D(()=>e.search),{filteredItems:h}=ct(e,v,T,{transform:j=>j.columns,customKeyFilter:b}),{toggleSort:k}=Vt({sortBy:r,multiSort:s,mustSort:i,page:o}),{sortByWithGroups:F,opened:I,extractRows:R,isGroupOpen:L,toggleGroup:y}=Et({groupBy:n,sortBy:r,disableSort:f}),{sortedItems:p}=Ct(e,h,F,{transform:j=>({...j.raw,...j.columns}),sortFunctions:m,sortRawFunctions:w}),{flatItems:d}=Nt(p,n,I,()=>!!l["group-summary"]),P=_(()=>d.value.length),{startIndex:V,stopIndex:N,pageCount:ee,setItemsPerPage:re}=Ya({page:o,itemsPerPage:u,itemsLength:P}),{paginatedItems:H}=Qa({items:d,startIndex:V,stopIndex:N,itemsPerPage:u}),W=_(()=>R(H.value)),{isSelected:se,select:Ie,selectAll:_e,toggleSelect:De,someSelected:Ve,allSelected:Te}=It(e,{allItems:v,currentPage:W}),{isExpanded:Ce,toggleExpand:Be}=jt(e);Ut({page:o,itemsPerPage:u,sortBy:r,groupBy:n,search:T}),be({VDataTableRows:{hideNoData:D(()=>e.hideNoData),noDataText:D(()=>e.noDataText),loading:D(()=>e.loading),loadingText:D(()=>e.loadingText)}});const O=_(()=>({page:o.value,itemsPerPage:u.value,sortBy:r.value,pageCount:ee.value,toggleSort:k,setItemsPerPage:re,someSelected:Ve.value,allSelected:Te.value,isSelected:se,select:Ie,selectAll:_e,toggleSelect:De,isExpanded:Ce,toggleExpand:Be,isGroupOpen:L,toggleGroup:y,items:W.value.map(j=>j.raw),internalItems:W.value,groupedItems:H.value,columns:g.value,headers:c.value}));return J(()=>{const j=tt.filterProps(e),Fe=pe.filterProps(e),z=xe.filterProps(e),$=ye.filterProps(e);return S(ye,C({class:["v-data-table",{"v-data-table--show-select":e.showSelect,"v-data-table--loading":e.loading},e.class],style:e.style},$,{fixedHeader:e.fixedHeader||e.sticky}),{top:()=>l.top?.(O.value),default:()=>l.default?l.default(O.value):x(Q,null,[l.colgroup?.(O.value),!e.hideDefaultHeader&&x("thead",{key:"thead"},[S(pe,Fe,l)]),l.thead?.(O.value),!e.hideDefaultBody&&x("tbody",null,[l["body.prepend"]?.(O.value),l.body?l.body(O.value):S(xe,C(a,z,{items:H.value}),l),l["body.append"]?.(O.value)]),l.tbody?.(O.value),l.tfoot?.(O.value)]),bottom:()=>l.bottom?l.bottom(O.value):!e.hideDefaultFooter&&x(Q,null,[S(Aa,null,null),S(tt,j,{prepend:l["footer.prepend"]})])})}),{}}});const gl=B({...va(Yt(),["hideDefaultFooter"]),...Ft(),...Ba(),...dt()},"VDataTableVirtual"),bl=K()({name:"VDataTableVirtual",props:gl(),emits:{"update:modelValue":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:groupBy":e=>!0,"update:expanded":e=>!0},setup(e,t){let{attrs:a,slots:l}=t;const{groupBy:n}=At(e),{sortBy:r,multiSort:s,mustSort:i}=Dt(e),{disableSort:o}=st(e),{columns:u,headers:f,filterFunctions:g,sortFunctions:c,sortRawFunctions:m}=St(e,{groupBy:n,showSelect:D(()=>e.showSelect),showExpand:D(()=>e.showExpand)}),{items:w}=Kt(e,u),b=D(()=>e.search),{filteredItems:v}=ct(e,w,b,{transform:$=>$.columns,customKeyFilter:g}),{toggleSort:T}=Vt({sortBy:r,multiSort:s,mustSort:i}),{sortByWithGroups:h,opened:k,extractRows:F,isGroupOpen:I,toggleGroup:R}=Et({groupBy:n,sortBy:r,disableSort:o}),{sortedItems:L}=Ct(e,v,h,{transform:$=>({...$.raw,...$.columns}),sortFunctions:c,sortRawFunctions:m}),{flatItems:y}=Nt(L,n,k,()=>!!l["group-summary"]),p=_(()=>F(y.value)),{isSelected:d,select:P,selectAll:V,toggleSelect:N,someSelected:ee,allSelected:re}=It(e,{allItems:p,currentPage:p}),{isExpanded:H,toggleExpand:W}=jt(e),{containerRef:se,markerRef:Ie,paddingTop:_e,paddingBottom:De,computedItems:Ve,handleItemResize:Te,handleScroll:Ce,handleScrollend:Be,calculateVisibleItems:O,scrollToIndex:j}=Ca(e,y),Fe=_(()=>Ve.value.map($=>$.raw));Ut({sortBy:r,page:ge(1),itemsPerPage:ge(-1),groupBy:n,search:b}),be({VDataTableRows:{hideNoData:D(()=>e.hideNoData),noDataText:D(()=>e.noDataText),loading:D(()=>e.loading),loadingText:D(()=>e.loadingText)}});const z=_(()=>({sortBy:r.value,toggleSort:T,someSelected:ee.value,allSelected:re.value,isSelected:d,select:P,selectAll:V,toggleSelect:N,isExpanded:H,toggleExpand:W,isGroupOpen:I,toggleGroup:R,items:p.value.map($=>$.raw),internalItems:p.value,groupedItems:y.value,columns:u.value,headers:f.value}));return J(()=>{const $=pe.filterProps(e),Xt=xe.filterProps(e),Qt=ye.filterProps(e);return S(ye,C({class:["v-data-table",{"v-data-table--loading":e.loading},e.class],style:e.style},Qt,{fixedHeader:e.fixedHeader||e.sticky}),{top:()=>l.top?.(z.value),wrapper:()=>x("div",{ref:se,onScrollPassive:Ce,onScrollend:Be,class:"v-table__wrapper",style:{height:A(e.height)}},[x("table",null,[l.colgroup?.(z.value),!e.hideDefaultHeader&&x("thead",{key:"thead"},[S(pe,$,l)]),l.thead?.(z.value),!e.hideDefaultBody&&x("tbody",{key:"tbody"},[x("tr",{ref:Ie,style:{height:A(_e.value),border:0}},[x("td",{colspan:u.value.length,style:{height:0,border:0}},null)]),l["body.prepend"]?.(z.value),S(xe,C(a,Xt,{items:Fe.value}),{...l,item:te=>S(Fa,{key:te.internalItem.index,renderless:!0,"onUpdate:height":Re=>Te(te.internalItem.index,Re)},{default:Re=>{let{itemRef:We}=Re;return l.item?.({...te,itemRef:We})??S(qt,C(te.props,{ref:We,key:te.internalItem.index,index:te.internalItem.index}),l)}})}),l["body.append"]?.(z.value),x("tr",{style:{height:A(De.value),border:0}},[x("td",{colspan:u.value.length,style:{height:0,border:0}},null)])]),l.tbody?.(z.value),l.tfoot?.(z.value)])]),bottom:()=>l.bottom?.(z.value)})}),{calculateVisibleItems:O,scrollToIndex:j}}}),hl={name:"AdminTable"};function yl(e,t,a,l,n,r){return G(),q(bl,{"fixed-header":"","item-value":"pk",mobile:e.$vuetify.display.xs},ma({_:2},[ot(e.$slots,(s,i)=>({name:i,fn:ae(o=>[ga(e.$slots,i,C({props:s},o),void 0,!0)])}))]),1032,["mobile"])}const Ol=Z(hl,[["render",yl],["__scopeId","data-v-8b5d9183"]]),pl={name:"AdminDeleteRowDialog",components:{ConfirmDialog:Ea},props:{table:{type:String,required:!0},pk:{type:Number,required:!0},name:{type:String,required:!0}},data(){return{mdiTrashCan:ba}},computed:{titleText(){return`Delete ${this.table}`}},methods:{...at(it,["deleteRow"]),confirm(){this.deleteRow(this.table,this.pk),this.showDialog=!1}}};function xl(e,t,a,l,n,r){const s=oe("ConfirmDialog");return G(),q(s,{icon:n.mdiTrashCan,"title-text":r.titleText,text:a.name,"confirm-text":r.titleText,onConfirm:r.confirm},null,8,["icon","title-text","text","confirm-text","onConfirm"])}const $l=Z(pl,[["render",xl]]),Sl={name:"RelationChips",components:{GroupChip:ft},props:{pks:{type:Array,required:!0},objs:{type:Object,required:!0},titleKey:{type:String,required:!0},groupType:{type:Boolean,default:!1}},computed:{map(){const e={};for(const t of this.objs)e[t.pk]=t;return e}}};function wl(e,t,a,l,n,r){const s=oe("GroupChip");return G(),Qe("span",null,[(G(!0),Qe(Q,null,ot(a.pks,i=>(G(),q(s,{key:i,"title-key":a.titleKey,"group-type":a.groupType,item:r.map[i]},null,8,["title-key","group-type","item"]))),128))])}const Ll=Z(Sl,[["render",wl]]);export{El as A,ft as G,Ll as R,Al as a,$l as b,Ol as c};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/admin-settings-button-progress-vOeMypwd.js","assets/main-d46UvpG6.js","assets/main-CZN13qLI.css","assets/admin-C6VbbEgi.js","assets/forwardRefs-BXEe8ItZ.js","assets/forwardRefs-CecUXkvN.css","assets/admin-settings-button-progress-Cks9_KN-.css","assets/admin-menu-CJIeXccy.js","assets/change-password-dialog-DoBLv9WU.js","assets/VDialog-BFf48e97.js","assets/VDialog-cfA1435M.css","assets/VForm-BNXhV_uk.js","assets/VSelectionControl-xYnmeS9J.js","assets/VSelectionControl-R4GtShoa.css","assets/VForm-DxBt30-N.css","assets/change-password-dialog-DL8UMjmX.css","assets/VDivider-Dtis_q2S.js","assets/VDivider-DU47sRrT.css","assets/index-CuPwxeMJ.js","assets/index-Czf-fUM7.css","assets/admin-menu-BdgFc4sK.css"])))=>i.map(i=>d[i]);
2
- import{_ as x,z as T,w as S,X as ze,B as Fe,y as w,a7 as ie,m as j,D as G,G as F,ap as re,E as M,H as ee,bc as He,ar as ue,ac as Ne,x as I,as as ce,a as f,I as O,A as E,C as P,J as de,a1 as ve,bd as Ye,v as U,be as We,bf as Xe,bg as me,b,U as qe,aS as Ze,g as he,p as fe,r as ge,aB as pe,aV as R,bh as je,c as D,bi as q,u as ye,n as Ge,d as Je,h as _e,aC as be,bj as we,L as Se,bk as ke,t as z,bl as De,bm as Ke,bn as Ce,aW as X,bo as Pe,bp as Qe,ba as et,bq as tt,aE as at,br as ot,e as nt,bs as st,f as lt,bt as it,F as rt,bu as ut,aZ as ct}from"./main-d46UvpG6.js";import{V as Be,k as H,c as Q,r as Ve,s as Te,i as Ee,d as Oe,j as $e,t as Ie,v as Re,B as dt,C as vt,l as mt}from"./forwardRefs-BXEe8ItZ.js";import{P as ht,d as ft}from"./unauthorized-B0KN5ef3.js";import{c as gt}from"./copy-to-clipboard-DoUvDJVx.js";import{j as pt}from"./VSelectionControl-xYnmeS9J.js";import{V as yt,u as _t,e as bt,f as wt,d as St}from"./VDialog-BFf48e97.js";import{u as kt}from"./ssrBoot-Bn2PfqMS.js";import{a as K}from"./VDivider-Dtis_q2S.js";const Dt={name:"ScaleButton",props:{scale:{type:Boolean,default:!1}},computed:{breakPoint(){return this.$vuetify.display.xs},density(){return this.breakPoint?"compact":"default"}}};function Ct(e,o,s,c,t,a){return S(),T(Be,{density:a.density},ze({_:2},[Fe(e.$slots,(n,u)=>({name:u,fn:w(g=>[ie(e.$slots,u,j({props:n},g))])}))]),1032,["density"])}const Pt=x(Dt,[["render",Ct]]),ne=re(ue(()=>ce(()=>import("./admin-settings-button-progress-vOeMypwd.js"),__vite__mapDeps([0,1,2,3,4,5,6])))),Bt={name:"SettingsDrawerButton",components:{AdminSettingsButtonProgress:ne,ScaleButton:Pt},data(){return{mdiMenu:He,AdminSettingsButtonProgress:ne}},computed:{...F(ee,["isUserAdmin"])},methods:{...G(M,["setSettingsDrawerOpen"]),onClick(){this.setSettingsDrawerOpen(!0)}}};function Vt(e,o,s,c,t,a){const n=I("ScaleButton");return S(),T(n,{id:"settingsDrawerButton",variant:"plain",icon:"",title:"Settings",onClick:Ne(a.onClick,["prevent"])},{default:w(()=>[f(H,null,{default:w(()=>[E(P(t.mdiMenu),1)]),_:1}),e.isUserAdmin?(S(),T(de(t.AdminSettingsButtonProgress),{key:0})):O("",!0)]),_:1},8,["onClick"])}const wa=x(Bt,[["render",Vt],["__scopeId","data-v-cdf6ad8a"]]),Tt={name:"DocsFooter",data(){return{mdiBookOpenVariantOutline:Ye,mdiOpenInNew:ve}}},Et={id:"repo",href:"https://codex-comic-reader.readthedocs.io/",title:"Codex Documentation",target:"_blank"};function Ot(e,o,s,c,t,a){return S(),U("a",Et,[f(H,{id:"repoIcon",size:"x-small"},{default:w(()=>[E(P(t.mdiBookOpenVariantOutline),1)]),_:1}),o[0]||(o[0]=E(" documentation",-1)),f(H,{color:e.$vuetify.theme.current.colors.iconsInactive,size:"x-small"},{default:w(()=>[E(P(t.mdiOpenInNew),1)]),_:1},8,["color"])])}const $t=x(Tt,[["render",Ot],["__scopeId","data-v-6eb88e3c"]]),It={name:"OPDSUrl",props:{title:{type:String,required:!0},subtitle:{type:String,default:void 0},urlPath:{type:String,required:!0}},data(){return{mdiRss:me,showTooltip:{show:!1}}},computed:{clipBoardEnabled(){return location.protocol=="https:"},clipBoardIcon(){return this.showTooltip.show?We:Xe},tooltip(){return this.clipBoardEnabled},url(){return globalThis.origin+this.urlPath}},methods:{onClickURL(){this.clipBoardEnabled&&gt(this.url,this.showTooltip)}}},Rt=["title"],Mt={key:0},xt={class:"copied"},Lt={key:1,class:"subtitle"},At={class:"opdsUrl"};function Ut(e,o,s,c,t,a){return S(),U("div",{class:"opdsVersion",title:a.tooltip,onClick:o[0]||(o[0]=(...n)=>a.onClickURL&&a.onClickURL(...n))},[b("h3",null,[E(P(s.title)+" ",1),a.clipBoardEnabled?(S(),U("span",Mt,[f(H,{class:"clipBoardIcon",size:"small"},{default:w(()=>[E(P(a.clipBoardIcon),1)]),_:1}),f(pt,null,{default:w(()=>[qe(b("span",xt,"Copied",512),[[Ze,t.showTooltip.show]])]),_:1})])):O("",!0),s.subtitle?(S(),U("span",Lt,P(s.subtitle),1)):O("",!0)]),b("div",At,P(a.url),1)],8,Rt)}const zt=x(It,[["render",Ut],["__scopeId","data-v-feac632b"]]),Ft={name:"OPDSDialog",components:{OPDSUrl:zt,PlaceholderLoading:ht},data(){return{mdiRss:me}},computed:{...F(M,{opdsURLs:e=>e.opdsURLs})},methods:{...G(M,["loadOPDSURLs"])}},Ht={key:0,id:"opds"};function Nt(e,o,s,c,t,a){const n=I("OPDSUrl"),u=I("PlaceholderLoading");return S(),T(yt,{"max-width":"30em"},{activator:w(({props:g})=>[f(Be,j({id:"opdsButton",icon:"",size:"small",variant:"plain"},g,{onClick:e.loadOPDSURLs}),{default:w(()=>[f(H,null,{default:w(()=>[E(P(t.mdiRss),1)]),_:1}),o[0]||(o[0]=E(" OPDS ",-1))]),_:1},16,["onClick"])]),default:w(()=>[e.opdsURLs?(S(),U("div",Ht,[b("h2",null,[f(H,{size:"x=small",class:"inline"},{default:w(()=>[E(P(t.mdiRss),1)]),_:1}),o[1]||(o[1]=E(" OPDS ",-1))]),f(n,{title:"v1.2","url-path":e.opdsURLs.v1},null,8,["url-path"]),f(n,{title:"v2.0","url-path":e.opdsURLs.v2,subtitle:"Experimental and not widely or well supported by clients"},null,8,["url-path"])])):(S(),T(u,{key:1}))]),_:1})}const Yt=x(Ft,[["render",Nt],["__scopeId","data-v-5646b9a1"]]),Wt=fe({app:Boolean,color:String,height:{type:[Number,String],default:"auto"},...Re(),...Se(),...Ie(),...we(),...$e(),...Oe({tag:"footer"}),...be()},"VFooter"),Me=he()({name:"VFooter",props:Wt(),setup(e,o){let{slots:s}=o;const c=ge(),{themeClasses:t}=pe(e),{backgroundColorClasses:a,backgroundColorStyles:n}=Q(()=>e.color),{borderClasses:u}=Ve(e),{elevationClasses:g}=Te(e),{roundedClasses:r}=Ee(e),p=R(32),{resizeRef:m}=je(y=>{y.length&&(p.value=y[0].target.clientHeight)}),d=D(()=>e.height==="auto"?p.value:parseInt(e.height,10));return q(()=>e.app,()=>{const y=ke({id:e.name,order:D(()=>parseInt(e.order,10)),position:z(()=>"bottom"),layoutSize:d,elementSize:D(()=>e.height==="auto"?void 0:d.value),active:z(()=>e.app),absolute:z(()=>e.absolute)});De(()=>{c.value=y.layoutItemStyles.value})}),ye(()=>f(e.tag,{ref:m,class:Je(["v-footer",t.value,a.value,u.value,g.value,r.value,e.class]),style:Ge([n.value,e.app?c.value:{height:_e(e.height)},e.style])},s)),{}}}),Xt={name:"VersionFooter",data(){return{mdiOpenInNew:ve,mdiContentCopy:Ke}},computed:{...F(M,{versions:e=>e.versions}),...F(ee,["isUserAdmin"]),outdated:function(){return this.isUserAdmin&&this.semverGreaterThan(this.versions.latest>this.versions.installed)},versionTitle:function(){return this.outdated?`v${this.versions.latest} is available`:"up to date"}},created(){this.loadVersions()},methods:{...G(M,["loadVersions"]),semverGreaterThan(e,o){try{if(!e||!o)return!1;const s=e.split("."),c=o.split(".");for(const[t,a]of s.entries())if(+a>+c[t])return!0}catch(s){console.debug("compare codex versions",e,">",o,s)}return!1}}},qt={id:"version"},Zt={key:0,id:"latest"};function jt(e,o,s,c,t,a){return S(),T(Me,{id:"version-footer",title:a.versionTitle},{default:w(()=>[b("div",qt,"codex v"+P(e.versions.installed),1),a.outdated?(S(),U("div",Zt," codex v"+P(e.versions.latest)+" is available ",1)):O("",!0)]),_:1},8,["title"])}const Gt=x(Xt,[["render",jt],["__scopeId","data-v-b77f3bde"]]);function Jt(e){let{rootEl:o,isSticky:s,layoutItemStyles:c}=e;const t=R(!1),a=R(0),n=D(()=>{const r=typeof t.value=="boolean"?"top":t.value;return[s.value?{top:"auto",bottom:"auto",height:void 0}:void 0,t.value?{[r]:_e(a.value)}:{top:c.value.top}]});Ce(()=>{X(s,r=>{r?window.addEventListener("scroll",g,{passive:!0}):window.removeEventListener("scroll",g)},{immediate:!0})}),Pe(()=>{window.removeEventListener("scroll",g)});let u=0;function g(){const r=u>window.scrollY?"up":"down",p=o.value.getBoundingClientRect(),m=parseFloat(c.value.top??0),d=window.scrollY-Math.max(0,a.value-m),y=p.height+Math.max(a.value,m)-window.scrollY-window.innerHeight,_=parseFloat(getComputedStyle(o.value).getPropertyValue("--v-body-scroll-y"))||0;p.height<window.innerHeight-m?(t.value="top",a.value=m):r==="up"&&t.value==="bottom"||r==="down"&&t.value==="top"?(a.value=window.scrollY+p.top-_,t.value=!0):r==="down"&&y<=0?(a.value=0,t.value="bottom"):r==="up"&&d<=0&&(_?t.value!=="top"&&(a.value=-d+_+m,t.value="top"):(a.value=p.top+d,t.value="top")),u=window.scrollY}return{isStuck:t,stickyStyles:n}}const Kt=100,Qt=20;function se(e){return(e<0?-1:1)*Math.sqrt(Math.abs(e))*1.41421356237}function le(e){if(e.length<2)return 0;if(e.length===2)return e[1].t===e[0].t?0:(e[1].d-e[0].d)/(e[1].t-e[0].t);let o=0;for(let s=e.length-1;s>0;s--){if(e[s].t===e[s-1].t)continue;const c=se(o),t=(e[s].d-e[s-1].d)/(e[s].t-e[s-1].t);o+=(t-c)*Math.abs(t),s===e.length-1&&(o*=.5)}return se(o)*1e3}function ea(){const e={};function o(t){Array.from(t.changedTouches).forEach(a=>{(e[a.identifier]??(e[a.identifier]=new Qe(Qt))).push([t.timeStamp,a])})}function s(t){Array.from(t.changedTouches).forEach(a=>{delete e[a.identifier]})}function c(t){const a=e[t]?.values().reverse();if(!a)throw new Error(`No samples for touch id ${t}`);const n=a[0],u=[],g=[];for(const r of a){if(n[0]-r[0]>Kt)break;u.push({t:r[0],d:r[1].clientX}),g.push({t:r[0],d:r[1].clientY})}return{x:le(u),y:le(g),get direction(){const{x:r,y:p}=this,[m,d]=[Math.abs(r),Math.abs(p)];return m>d&&r>=0?"right":m>d&&r<=0?"left":d>m&&p>=0?"down":d>m&&p<=0?"up":ta()}}}return{addMovement:o,endTouch:s,getVelocity:c}}function ta(){throw new Error}function aa(e){let{el:o,isActive:s,isTemporary:c,width:t,touchless:a,position:n}=e;Ce(()=>{window.addEventListener("touchstart",L,{passive:!0}),window.addEventListener("touchmove",$,{passive:!1}),window.addEventListener("touchend",Z,{passive:!0})}),Pe(()=>{window.removeEventListener("touchstart",L),window.removeEventListener("touchmove",$),window.removeEventListener("touchend",Z)});const u=D(()=>["left","right"].includes(n.value)),{addMovement:g,endTouch:r,getVelocity:p}=ea();let m=!1;const d=R(!1),y=R(0),_=R(0);let C;function N(l,i){return(n.value==="left"?l:n.value==="right"?document.documentElement.clientWidth-l:n.value==="top"?l:n.value==="bottom"?document.documentElement.clientHeight-l:A())-(i?t.value:0)}function Y(l){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const v=n.value==="left"?(l-_.value)/t.value:n.value==="right"?(document.documentElement.clientWidth-l-_.value)/t.value:n.value==="top"?(l-_.value)/t.value:n.value==="bottom"?(document.documentElement.clientHeight-l-_.value)/t.value:A();return i?et(v):v}function L(l){if(a.value)return;const i=l.changedTouches[0].clientX,v=l.changedTouches[0].clientY,h=25,B=n.value==="left"?i<h:n.value==="right"?i>document.documentElement.clientWidth-h:n.value==="top"?v<h:n.value==="bottom"?v>document.documentElement.clientHeight-h:A(),V=s.value&&(n.value==="left"?i<t.value:n.value==="right"?i>document.documentElement.clientWidth-t.value:n.value==="top"?v<t.value:n.value==="bottom"?v>document.documentElement.clientHeight-t.value:A());(B||V||s.value&&c.value)&&(C=[i,v],_.value=N(u.value?i:v,s.value),y.value=Y(u.value?i:v),m=_.value>-20&&_.value<80,r(l),g(l))}function $(l){const i=l.changedTouches[0].clientX,v=l.changedTouches[0].clientY;if(m){if(!l.cancelable){m=!1;return}const B=Math.abs(i-C[0]),V=Math.abs(v-C[1]);(u.value?B>V&&B>3:V>B&&V>3)?(d.value=!0,m=!1):(u.value?V:B)>3&&(m=!1)}if(!d.value)return;l.preventDefault(),g(l);const h=Y(u.value?i:v,!1);y.value=Math.max(0,Math.min(1,h)),h>1?_.value=N(u.value?i:v,!0):h<0&&(_.value=N(u.value?i:v,!1))}function Z(l){if(m=!1,!d.value)return;g(l),d.value=!1;const i=p(l.changedTouches[0].identifier),v=Math.abs(i.x),h=Math.abs(i.y);(u.value?v>h&&v>400:h>v&&h>3)?s.value=i.direction===({left:"right",right:"left",top:"down",bottom:"up"}[n.value]||A()):s.value=y.value>.5}const W=D(()=>d.value?{transform:n.value==="left"?`translateX(calc(-100% + ${y.value*t.value}px))`:n.value==="right"?`translateX(calc(100% - ${y.value*t.value}px))`:n.value==="top"?`translateY(calc(-100% + ${y.value*t.value}px))`:n.value==="bottom"?`translateY(calc(100% - ${y.value*t.value}px))`:A(),transition:"none"}:void 0);return q(d,()=>{const l=o.value?.style.transform??null,i=o.value?.style.transition??null;De(()=>{o.value?.style.setProperty("transform",W.value?.transform||"none"),o.value?.style.setProperty("transition",W.value?.transition||null)}),tt(()=>{o.value?.style.setProperty("transform",l),o.value?.style.setProperty("transition",i)})}),{isDragging:d,dragProgress:y,dragStyles:W}}function A(){throw new Error}const oa=["start","end","left","right","top","bottom"],na=fe({color:String,disableResizeWatcher:Boolean,disableRouteWatcher:Boolean,expandOnHover:Boolean,floating:Boolean,modelValue:{type:Boolean,default:null},permanent:Boolean,rail:{type:Boolean,default:null},railWidth:{type:[Number,String],default:56},scrim:{type:[Boolean,String],default:!0},image:String,temporary:Boolean,persistent:Boolean,touchless:Boolean,width:{type:[Number,String],default:256},location:{type:String,default:"start",validator:e=>oa.includes(e)},sticky:Boolean,...Re(),...Se(),...wt(),...ut({mobile:null}),...Ie(),...we(),...$e(),...Oe({tag:"nav"}),...be()},"VNavigationDrawer"),sa=he()({name:"VNavigationDrawer",props:na(),emits:{"update:modelValue":e=>!0,"update:rail":e=>!0},setup(e,o){let{attrs:s,emit:c,slots:t}=o;const{isRtl:a}=at(),{themeClasses:n}=pe(e),{borderClasses:u}=Ve(e),{backgroundColorClasses:g,backgroundColorStyles:r}=Q(()=>e.color),{elevationClasses:p}=Te(e),{displayClasses:m,mobile:d}=ot(e),{roundedClasses:y}=Ee(e),_=dt(),C=nt(e,"modelValue",null,k=>!!k),{ssrBootStyles:N}=kt(),{scopeId:Y}=_t(),L=ge(),$=R(!1),{runOpenDelay:Z,runCloseDelay:W}=bt(e,k=>{$.value=k}),l=D(()=>e.rail&&e.expandOnHover&&$.value?Number(e.width):Number(e.rail?e.railWidth:e.width)),i=D(()=>vt(e.location,a.value)),v=z(()=>e.persistent),h=D(()=>!e.permanent&&(d.value||e.temporary)),B=D(()=>e.sticky&&!h.value&&i.value!=="bottom");q(()=>e.expandOnHover&&e.rail!=null,()=>{X($,k=>c("update:rail",!k))}),q(()=>!e.disableResizeWatcher,()=>{X(h,k=>!e.permanent&&ct(()=>C.value=!k))}),q(()=>!e.disableRouteWatcher&&!!_,()=>{X(_.currentRoute,()=>h.value&&(C.value=!1))}),X(()=>e.permanent,k=>{k&&(C.value=!0)}),e.modelValue==null&&!h.value&&(C.value=e.permanent||!d.value);const{isDragging:V,dragProgress:J}=aa({el:L,isActive:C,isTemporary:h,width:l,touchless:z(()=>e.touchless),position:i}),xe=D(()=>{const k=h.value?0:e.rail&&e.expandOnHover?Number(e.railWidth):l.value;return V.value?k*J.value:k}),{layoutItemStyles:te,layoutItemScrimStyles:Le}=ke({id:e.name,order:D(()=>parseInt(e.order,10)),position:i,layoutSize:xe,elementSize:l,active:st(C),disableTransitions:z(()=>V.value),absolute:D(()=>e.absolute||B.value&&typeof ae.value!="string")}),{isStuck:ae,stickyStyles:Ae}=Jt({rootEl:L,isSticky:B,layoutItemStyles:te}),oe=Q(()=>typeof e.scrim=="string"?e.scrim:null),Ue=D(()=>({...V.value?{opacity:J.value*.2,transition:"none"}:void 0,...Le.value}));return lt({VList:{bgColor:"transparent"}}),ye(()=>{const k=t.image||e.image;return b(rt,null,[f(e.tag,j({ref:L,onMouseenter:Z,onMouseleave:W,class:["v-navigation-drawer",`v-navigation-drawer--${i.value}`,{"v-navigation-drawer--expand-on-hover":e.expandOnHover,"v-navigation-drawer--floating":e.floating,"v-navigation-drawer--is-hovering":$.value,"v-navigation-drawer--rail":e.rail,"v-navigation-drawer--temporary":h.value,"v-navigation-drawer--persistent":v.value,"v-navigation-drawer--active":C.value,"v-navigation-drawer--sticky":B.value},n.value,g.value,u.value,m.value,p.value,y.value,e.class],style:[r.value,te.value,N.value,Ae.value,e.style]},Y,s),{default:()=>[k&&b("div",{key:"image",class:"v-navigation-drawer__img"},[t.image?f(mt,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{alt:"",cover:!0,height:"inherit",src:e.image}}},t.image):f(St,{key:"image-img",alt:"",cover:!0,height:"inherit",src:e.image},null)]),t.prepend&&b("div",{class:"v-navigation-drawer__prepend"},[t.prepend?.()]),b("div",{class:"v-navigation-drawer__content"},[t.default?.()]),t.append&&b("div",{class:"v-navigation-drawer__append"},[t.append?.()])]}),f(it,{name:"fade-transition"},{default:()=>[h.value&&(V.value||C.value)&&!!e.scrim&&b("div",j({class:["v-navigation-drawer__scrim",oe.backgroundColorClasses.value],style:[Ue.value,oe.backgroundColorStyles.value],onClick:()=>{v.value||(C.value=!1)}},Y),null)]})])}),{isStuck:ae}}}),la=re(ue(()=>ce(()=>import("./admin-menu-CJIeXccy.js"),__vite__mapDeps([7,1,2,4,5,8,9,10,11,12,13,14,3,15,16,17,18,19,20])))),ia={name:"SettingsDrawer",components:{AuthMenu:ft,DocsFooter:$t,OPDSDialog:Yt,VersionFooter:Gt},props:{title:{type:String,required:!0}},data(){return{AdminMenu:la}},computed:{...F(ee,["isUserAdmin","isAuthorized"]),...F(M,{isSettingsDrawerOpen:e=>e.isSettingsDrawerOpen}),open:{get(){return this.isSettingsDrawerOpen||!this.isAuthorized},set(e){this.setSettingsDrawerOpen(e)}}},methods:{...G(M,["setSettingsDrawerOpen"])}},ra={class:"settingsDrawerContainer"},ua={id:"topBlock"},ca={class:"settingsHeader"},da={id:"scrollFooter",class:"footer"};function va(e,o,s,c,t,a){const n=I("AuthMenu"),u=I("OPDSDialog"),g=I("DocsFooter"),r=I("VersionFooter");return S(),T(sa,{modelValue:a.open,"onUpdate:modelValue":o[0]||(o[0]=p=>a.open=p),"disable-route-watcher":"",location:"right",touchless:""},{append:w(()=>[f(Me,{id:"bottomFooter",class:"footer"},{default:w(()=>[f(r)]),_:1})]),default:w(()=>[b("div",ra,[b("div",ua,[b("header",ca,[b("h3",null,P(s.title),1)]),f(K),e.isAuthorized?ie(e.$slots,"panel",{key:0},void 0,!0):O("",!0),e.isAuthorized?(S(),T(K,{key:1})):O("",!0),f(n),e.isUserAdmin?(S(),T(de(t.AdminMenu),{key:2})):O("",!0),f(K)]),b("div",da,[e.isAuthorized?(S(),T(u,{key:0})):O("",!0),f(g)])])]),_:3},8,["modelValue"])}const Sa=x(ia,[["render",va],["__scopeId","data-v-492da9d6"]]);export{wa as S,sa as V,Sa as a,Pt as b};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/admin-settings-button-progress-HmQvm62f.js","assets/main-CWTxsB_K.js","assets/main-CZN13qLI.css","assets/admin-BStn9kk0.js","assets/forwardRefs-CnxuGwpi.js","assets/forwardRefs-CecUXkvN.css","assets/admin-settings-button-progress-Cks9_KN-.css","assets/admin-menu-8MqbD6SS.js","assets/change-password-dialog-CEdhZwC3.js","assets/VDialog-mZQ1Va-c.js","assets/VDialog-BN4XvYQH.css","assets/VForm-Dt0Uesri.js","assets/VSelectionControl-DFaQ_klW.js","assets/VSelectionControl-R4GtShoa.css","assets/VForm-DxBt30-N.css","assets/change-password-dialog-DL8UMjmX.css","assets/VDivider-CHTeIL4W.js","assets/VDivider-CCqJA_fj.css","assets/index-DXqyJRWg.js","assets/index-Czf-fUM7.css","assets/admin-menu-BdgFc4sK.css"])))=>i.map(i=>d[i]);
2
+ import{_ as x,z as T,X as ze,B as Fe,y as S,x as w,a7 as ie,m as G,D as j,G as F,ap as re,E as M,H as ee,bc as He,ar as ue,ac as Ne,w as I,as as ce,a as f,I as O,A as E,C as P,J as de,a1 as ve,bd as Ye,v as U,be as We,bf as Xe,bg as me,b,U as qe,aS as Ze,g as he,p as fe,r as ge,aB as pe,aV as R,bh as Ge,c as D,bi as q,u as ye,n as je,d as Je,h as _e,aC as be,bj as we,L as Se,bk as ke,t as z,bl as De,bm as Ke,bn as Ce,aW as X,bo as Pe,bp as Qe,ba as et,bq as tt,aE as at,br as ot,e as nt,bs as st,f as lt,bt as it,F as rt,bu as ut,aZ as ct}from"./main-CWTxsB_K.js";import{V as Be,k as H,c as Q,r as Ve,s as Te,i as Ee,d as Oe,j as $e,t as Ie,v as Re,B as dt,C as vt,l as mt}from"./forwardRefs-CnxuGwpi.js";import{P as ht,d as ft}from"./unauthorized-DQOfB_66.js";import{c as gt}from"./copy-to-clipboard-DoUvDJVx.js";import{k as pt}from"./VSelectionControl-DFaQ_klW.js";import{V as yt,u as _t,e as bt,f as wt,d as St}from"./VDialog-mZQ1Va-c.js";import{u as kt}from"./ssrBoot-yM9n-WhK.js";import{a as K}from"./VDivider-CHTeIL4W.js";const Dt={name:"ScaleButton",props:{scale:{type:Boolean,default:!1}},computed:{breakPoint(){return this.$vuetify.display.xs},density(){return this.breakPoint?"compact":"default"}}};function Ct(e,o,s,c,t,a){return S(),T(Be,{density:a.density},ze({_:2},[Fe(e.$slots,(n,u)=>({name:u,fn:w(g=>[ie(e.$slots,u,G({props:n},g))])}))]),1032,["density"])}const Pt=x(Dt,[["render",Ct]]),ne=re(ue(()=>ce(()=>import("./admin-settings-button-progress-HmQvm62f.js"),__vite__mapDeps([0,1,2,3,4,5,6])))),Bt={name:"SettingsDrawerButton",components:{AdminSettingsButtonProgress:ne,ScaleButton:Pt},data(){return{mdiMenu:He,AdminSettingsButtonProgress:ne}},computed:{...F(ee,["isUserAdmin"])},methods:{...j(M,["setSettingsDrawerOpen"]),onClick(){this.setSettingsDrawerOpen(!0)}}};function Vt(e,o,s,c,t,a){const n=I("ScaleButton");return S(),T(n,{id:"settingsDrawerButton",variant:"plain",icon:"",title:"Settings",onClick:Ne(a.onClick,["prevent"])},{default:w(()=>[f(H,null,{default:w(()=>[E(P(t.mdiMenu),1)]),_:1}),e.isUserAdmin?(S(),T(de(t.AdminSettingsButtonProgress),{key:0})):O("",!0)]),_:1},8,["onClick"])}const wa=x(Bt,[["render",Vt],["__scopeId","data-v-cdf6ad8a"]]),Tt={name:"DocsFooter",data(){return{mdiBookOpenVariantOutline:Ye,mdiOpenInNew:ve}}},Et={id:"repo",href:"https://codex-comic-reader.readthedocs.io/",title:"Codex Documentation",target:"_blank"};function Ot(e,o,s,c,t,a){return S(),U("a",Et,[f(H,{id:"repoIcon",size:"x-small"},{default:w(()=>[E(P(t.mdiBookOpenVariantOutline),1)]),_:1}),o[0]||(o[0]=E(" documentation",-1)),f(H,{color:e.$vuetify.theme.current.colors.iconsInactive,size:"x-small"},{default:w(()=>[E(P(t.mdiOpenInNew),1)]),_:1},8,["color"])])}const $t=x(Tt,[["render",Ot],["__scopeId","data-v-6eb88e3c"]]),It={name:"OPDSUrl",props:{title:{type:String,required:!0},subtitle:{type:String,default:void 0},urlPath:{type:String,required:!0}},data(){return{mdiRss:me,showTooltip:{show:!1}}},computed:{clipBoardEnabled(){return location.protocol=="https:"},clipBoardIcon(){return this.showTooltip.show?We:Xe},tooltip(){return this.clipBoardEnabled},url(){return globalThis.origin+this.urlPath}},methods:{onClickURL(){this.clipBoardEnabled&&gt(this.url,this.showTooltip)}}},Rt=["title"],Mt={key:0},xt={class:"copied"},Lt={key:1,class:"subtitle"},At={class:"opdsUrl"};function Ut(e,o,s,c,t,a){return S(),U("div",{class:"opdsVersion",title:a.tooltip,onClick:o[0]||(o[0]=(...n)=>a.onClickURL&&a.onClickURL(...n))},[b("h3",null,[E(P(s.title)+" ",1),a.clipBoardEnabled?(S(),U("span",Mt,[f(H,{class:"clipBoardIcon",size:"small"},{default:w(()=>[E(P(a.clipBoardIcon),1)]),_:1}),f(pt,null,{default:w(()=>[qe(b("span",xt,"Copied",512),[[Ze,t.showTooltip.show]])]),_:1})])):O("",!0),s.subtitle?(S(),U("span",Lt,P(s.subtitle),1)):O("",!0)]),b("div",At,P(a.url),1)],8,Rt)}const zt=x(It,[["render",Ut],["__scopeId","data-v-feac632b"]]),Ft={name:"OPDSDialog",components:{OPDSUrl:zt,PlaceholderLoading:ht},data(){return{mdiRss:me}},computed:{...F(M,{opdsURLs:e=>e.opdsURLs})},methods:{...j(M,["loadOPDSURLs"])}},Ht={key:0,id:"opds"};function Nt(e,o,s,c,t,a){const n=I("OPDSUrl"),u=I("PlaceholderLoading");return S(),T(yt,{"max-width":"30em"},{activator:w(({props:g})=>[f(Be,G({id:"opdsButton",icon:"",size:"small",variant:"plain"},g,{onClick:e.loadOPDSURLs}),{default:w(()=>[f(H,null,{default:w(()=>[E(P(t.mdiRss),1)]),_:1}),o[0]||(o[0]=E(" OPDS ",-1))]),_:1},16,["onClick"])]),default:w(()=>[e.opdsURLs?(S(),U("div",Ht,[b("h2",null,[f(H,{size:"x=small",class:"inline"},{default:w(()=>[E(P(t.mdiRss),1)]),_:1}),o[1]||(o[1]=E(" OPDS ",-1))]),f(n,{title:"v1.2","url-path":e.opdsURLs.v1},null,8,["url-path"]),f(n,{title:"v2.0","url-path":e.opdsURLs.v2,subtitle:"Experimental and not widely or well supported by clients"},null,8,["url-path"])])):(S(),T(u,{key:1}))]),_:1})}const Yt=x(Ft,[["render",Nt],["__scopeId","data-v-5646b9a1"]]),Wt=fe({app:Boolean,color:String,height:{type:[Number,String],default:"auto"},...Re(),...Se(),...Ie(),...we(),...$e(),...Oe({tag:"footer"}),...be()},"VFooter"),Me=he()({name:"VFooter",props:Wt(),setup(e,o){let{slots:s}=o;const c=ge(),{themeClasses:t}=pe(e),{backgroundColorClasses:a,backgroundColorStyles:n}=Q(()=>e.color),{borderClasses:u}=Ve(e),{elevationClasses:g}=Te(e),{roundedClasses:r}=Ee(e),p=R(32),{resizeRef:m}=Ge(y=>{y.length&&(p.value=y[0].target.clientHeight)}),d=D(()=>e.height==="auto"?p.value:parseInt(e.height,10));return q(()=>e.app,()=>{const y=ke({id:e.name,order:D(()=>parseInt(e.order,10)),position:z(()=>"bottom"),layoutSize:d,elementSize:D(()=>e.height==="auto"?void 0:d.value),active:z(()=>e.app),absolute:z(()=>e.absolute)});De(()=>{c.value=y.layoutItemStyles.value})}),ye(()=>f(e.tag,{ref:m,class:Je(["v-footer",t.value,a.value,u.value,g.value,r.value,e.class]),style:je([n.value,e.app?c.value:{height:_e(e.height)},e.style])},s)),{}}}),Xt={name:"VersionFooter",data(){return{mdiOpenInNew:ve,mdiContentCopy:Ke}},computed:{...F(M,{versions:e=>e.versions}),...F(ee,["isUserAdmin"]),outdated:function(){return this.isUserAdmin&&this.semverGreaterThan(this.versions.latest>this.versions.installed)},versionTitle:function(){return this.outdated?`v${this.versions.latest} is available`:"up to date"}},created(){this.loadVersions()},methods:{...j(M,["loadVersions"]),semverGreaterThan(e,o){try{if(!e||!o)return!1;const s=e.split("."),c=o.split(".");for(const[t,a]of s.entries())if(+a>+c[t])return!0}catch(s){console.debug("compare codex versions",e,">",o,s)}return!1}}},qt={id:"version"},Zt={key:0,id:"latest"};function Gt(e,o,s,c,t,a){return S(),T(Me,{id:"version-footer",title:a.versionTitle},{default:w(()=>[b("div",qt,"codex v"+P(e.versions.installed),1),a.outdated?(S(),U("div",Zt," codex v"+P(e.versions.latest)+" is available ",1)):O("",!0)]),_:1},8,["title"])}const jt=x(Xt,[["render",Gt],["__scopeId","data-v-b77f3bde"]]);function Jt(e){let{rootEl:o,isSticky:s,layoutItemStyles:c}=e;const t=R(!1),a=R(0),n=D(()=>{const r=typeof t.value=="boolean"?"top":t.value;return[s.value?{top:"auto",bottom:"auto",height:void 0}:void 0,t.value?{[r]:_e(a.value)}:{top:c.value.top}]});Ce(()=>{X(s,r=>{r?window.addEventListener("scroll",g,{passive:!0}):window.removeEventListener("scroll",g)},{immediate:!0})}),Pe(()=>{window.removeEventListener("scroll",g)});let u=0;function g(){const r=u>window.scrollY?"up":"down",p=o.value.getBoundingClientRect(),m=parseFloat(c.value.top??0),d=window.scrollY-Math.max(0,a.value-m),y=p.height+Math.max(a.value,m)-window.scrollY-window.innerHeight,_=parseFloat(getComputedStyle(o.value).getPropertyValue("--v-body-scroll-y"))||0;p.height<window.innerHeight-m?(t.value="top",a.value=m):r==="up"&&t.value==="bottom"||r==="down"&&t.value==="top"?(a.value=window.scrollY+p.top-_,t.value=!0):r==="down"&&y<=0?(a.value=0,t.value="bottom"):r==="up"&&d<=0&&(_?t.value!=="top"&&(a.value=-d+_+m,t.value="top"):(a.value=p.top+d,t.value="top")),u=window.scrollY}return{isStuck:t,stickyStyles:n}}const Kt=100,Qt=20;function se(e){return(e<0?-1:1)*Math.sqrt(Math.abs(e))*1.41421356237}function le(e){if(e.length<2)return 0;if(e.length===2)return e[1].t===e[0].t?0:(e[1].d-e[0].d)/(e[1].t-e[0].t);let o=0;for(let s=e.length-1;s>0;s--){if(e[s].t===e[s-1].t)continue;const c=se(o),t=(e[s].d-e[s-1].d)/(e[s].t-e[s-1].t);o+=(t-c)*Math.abs(t),s===e.length-1&&(o*=.5)}return se(o)*1e3}function ea(){const e={};function o(t){Array.from(t.changedTouches).forEach(a=>{(e[a.identifier]??(e[a.identifier]=new Qe(Qt))).push([t.timeStamp,a])})}function s(t){Array.from(t.changedTouches).forEach(a=>{delete e[a.identifier]})}function c(t){const a=e[t]?.values().reverse();if(!a)throw new Error(`No samples for touch id ${t}`);const n=a[0],u=[],g=[];for(const r of a){if(n[0]-r[0]>Kt)break;u.push({t:r[0],d:r[1].clientX}),g.push({t:r[0],d:r[1].clientY})}return{x:le(u),y:le(g),get direction(){const{x:r,y:p}=this,[m,d]=[Math.abs(r),Math.abs(p)];return m>d&&r>=0?"right":m>d&&r<=0?"left":d>m&&p>=0?"down":d>m&&p<=0?"up":ta()}}}return{addMovement:o,endTouch:s,getVelocity:c}}function ta(){throw new Error}function aa(e){let{el:o,isActive:s,isTemporary:c,width:t,touchless:a,position:n}=e;Ce(()=>{window.addEventListener("touchstart",L,{passive:!0}),window.addEventListener("touchmove",$,{passive:!1}),window.addEventListener("touchend",Z,{passive:!0})}),Pe(()=>{window.removeEventListener("touchstart",L),window.removeEventListener("touchmove",$),window.removeEventListener("touchend",Z)});const u=D(()=>["left","right"].includes(n.value)),{addMovement:g,endTouch:r,getVelocity:p}=ea();let m=!1;const d=R(!1),y=R(0),_=R(0);let C;function N(l,i){return(n.value==="left"?l:n.value==="right"?document.documentElement.clientWidth-l:n.value==="top"?l:n.value==="bottom"?document.documentElement.clientHeight-l:A())-(i?t.value:0)}function Y(l){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const v=n.value==="left"?(l-_.value)/t.value:n.value==="right"?(document.documentElement.clientWidth-l-_.value)/t.value:n.value==="top"?(l-_.value)/t.value:n.value==="bottom"?(document.documentElement.clientHeight-l-_.value)/t.value:A();return i?et(v):v}function L(l){if(a.value)return;const i=l.changedTouches[0].clientX,v=l.changedTouches[0].clientY,h=25,B=n.value==="left"?i<h:n.value==="right"?i>document.documentElement.clientWidth-h:n.value==="top"?v<h:n.value==="bottom"?v>document.documentElement.clientHeight-h:A(),V=s.value&&(n.value==="left"?i<t.value:n.value==="right"?i>document.documentElement.clientWidth-t.value:n.value==="top"?v<t.value:n.value==="bottom"?v>document.documentElement.clientHeight-t.value:A());(B||V||s.value&&c.value)&&(C=[i,v],_.value=N(u.value?i:v,s.value),y.value=Y(u.value?i:v),m=_.value>-20&&_.value<80,r(l),g(l))}function $(l){const i=l.changedTouches[0].clientX,v=l.changedTouches[0].clientY;if(m){if(!l.cancelable){m=!1;return}const B=Math.abs(i-C[0]),V=Math.abs(v-C[1]);(u.value?B>V&&B>3:V>B&&V>3)?(d.value=!0,m=!1):(u.value?V:B)>3&&(m=!1)}if(!d.value)return;l.preventDefault(),g(l);const h=Y(u.value?i:v,!1);y.value=Math.max(0,Math.min(1,h)),h>1?_.value=N(u.value?i:v,!0):h<0&&(_.value=N(u.value?i:v,!1))}function Z(l){if(m=!1,!d.value)return;g(l),d.value=!1;const i=p(l.changedTouches[0].identifier),v=Math.abs(i.x),h=Math.abs(i.y);(u.value?v>h&&v>400:h>v&&h>3)?s.value=i.direction===({left:"right",right:"left",top:"down",bottom:"up"}[n.value]||A()):s.value=y.value>.5}const W=D(()=>d.value?{transform:n.value==="left"?`translateX(calc(-100% + ${y.value*t.value}px))`:n.value==="right"?`translateX(calc(100% - ${y.value*t.value}px))`:n.value==="top"?`translateY(calc(-100% + ${y.value*t.value}px))`:n.value==="bottom"?`translateY(calc(100% - ${y.value*t.value}px))`:A(),transition:"none"}:void 0);return q(d,()=>{const l=o.value?.style.transform??null,i=o.value?.style.transition??null;De(()=>{o.value?.style.setProperty("transform",W.value?.transform||"none"),o.value?.style.setProperty("transition",W.value?.transition||null)}),tt(()=>{o.value?.style.setProperty("transform",l),o.value?.style.setProperty("transition",i)})}),{isDragging:d,dragProgress:y,dragStyles:W}}function A(){throw new Error}const oa=["start","end","left","right","top","bottom"],na=fe({color:String,disableResizeWatcher:Boolean,disableRouteWatcher:Boolean,expandOnHover:Boolean,floating:Boolean,modelValue:{type:Boolean,default:null},permanent:Boolean,rail:{type:Boolean,default:null},railWidth:{type:[Number,String],default:56},scrim:{type:[Boolean,String],default:!0},image:String,temporary:Boolean,persistent:Boolean,touchless:Boolean,width:{type:[Number,String],default:256},location:{type:String,default:"start",validator:e=>oa.includes(e)},sticky:Boolean,...Re(),...Se(),...wt(),...ut({mobile:null}),...Ie(),...we(),...$e(),...Oe({tag:"nav"}),...be()},"VNavigationDrawer"),sa=he()({name:"VNavigationDrawer",props:na(),emits:{"update:modelValue":e=>!0,"update:rail":e=>!0},setup(e,o){let{attrs:s,emit:c,slots:t}=o;const{isRtl:a}=at(),{themeClasses:n}=pe(e),{borderClasses:u}=Ve(e),{backgroundColorClasses:g,backgroundColorStyles:r}=Q(()=>e.color),{elevationClasses:p}=Te(e),{displayClasses:m,mobile:d}=ot(e),{roundedClasses:y}=Ee(e),_=dt(),C=nt(e,"modelValue",null,k=>!!k),{ssrBootStyles:N}=kt(),{scopeId:Y}=_t(),L=ge(),$=R(!1),{runOpenDelay:Z,runCloseDelay:W}=bt(e,k=>{$.value=k}),l=D(()=>e.rail&&e.expandOnHover&&$.value?Number(e.width):Number(e.rail?e.railWidth:e.width)),i=D(()=>vt(e.location,a.value)),v=z(()=>e.persistent),h=D(()=>!e.permanent&&(d.value||e.temporary)),B=D(()=>e.sticky&&!h.value&&i.value!=="bottom");q(()=>e.expandOnHover&&e.rail!=null,()=>{X($,k=>c("update:rail",!k))}),q(()=>!e.disableResizeWatcher,()=>{X(h,k=>!e.permanent&&ct(()=>C.value=!k))}),q(()=>!e.disableRouteWatcher&&!!_,()=>{X(_.currentRoute,()=>h.value&&(C.value=!1))}),X(()=>e.permanent,k=>{k&&(C.value=!0)}),e.modelValue==null&&!h.value&&(C.value=e.permanent||!d.value);const{isDragging:V,dragProgress:J}=aa({el:L,isActive:C,isTemporary:h,width:l,touchless:z(()=>e.touchless),position:i}),xe=D(()=>{const k=h.value?0:e.rail&&e.expandOnHover?Number(e.railWidth):l.value;return V.value?k*J.value:k}),{layoutItemStyles:te,layoutItemScrimStyles:Le}=ke({id:e.name,order:D(()=>parseInt(e.order,10)),position:i,layoutSize:xe,elementSize:l,active:st(C),disableTransitions:z(()=>V.value),absolute:D(()=>e.absolute||B.value&&typeof ae.value!="string")}),{isStuck:ae,stickyStyles:Ae}=Jt({rootEl:L,isSticky:B,layoutItemStyles:te}),oe=Q(()=>typeof e.scrim=="string"?e.scrim:null),Ue=D(()=>({...V.value?{opacity:J.value*.2,transition:"none"}:void 0,...Le.value}));return lt({VList:{bgColor:"transparent"}}),ye(()=>{const k=t.image||e.image;return b(rt,null,[f(e.tag,G({ref:L,onMouseenter:Z,onMouseleave:W,class:["v-navigation-drawer",`v-navigation-drawer--${i.value}`,{"v-navigation-drawer--expand-on-hover":e.expandOnHover,"v-navigation-drawer--floating":e.floating,"v-navigation-drawer--is-hovering":$.value,"v-navigation-drawer--rail":e.rail,"v-navigation-drawer--temporary":h.value,"v-navigation-drawer--persistent":v.value,"v-navigation-drawer--active":C.value,"v-navigation-drawer--sticky":B.value},n.value,g.value,u.value,m.value,p.value,y.value,e.class],style:[r.value,te.value,N.value,Ae.value,e.style]},Y,s),{default:()=>[k&&b("div",{key:"image",class:"v-navigation-drawer__img"},[t.image?f(mt,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{alt:"",cover:!0,height:"inherit",src:e.image}}},t.image):f(St,{key:"image-img",alt:"",cover:!0,height:"inherit",src:e.image},null)]),t.prepend&&b("div",{class:"v-navigation-drawer__prepend"},[t.prepend?.()]),b("div",{class:"v-navigation-drawer__content"},[t.default?.()]),t.append&&b("div",{class:"v-navigation-drawer__append"},[t.append?.()])]}),f(it,{name:"fade-transition"},{default:()=>[h.value&&(V.value||C.value)&&!!e.scrim&&b("div",G({class:["v-navigation-drawer__scrim",oe.backgroundColorClasses.value],style:[Ue.value,oe.backgroundColorStyles.value],onClick:()=>{v.value||(C.value=!1)}},Y),null)]})])}),{isStuck:ae}}}),la=re(ue(()=>ce(()=>import("./admin-menu-8MqbD6SS.js"),__vite__mapDeps([7,1,2,4,5,8,9,10,11,12,13,14,3,15,16,17,18,19,20])))),ia={name:"SettingsDrawer",components:{AuthMenu:ft,DocsFooter:$t,OPDSDialog:Yt,VersionFooter:jt},props:{title:{type:String,required:!0}},data(){return{AdminMenu:la}},computed:{...F(ee,["isUserAdmin","isAuthorized"]),...F(M,{isSettingsDrawerOpen:e=>e.isSettingsDrawerOpen}),open:{get(){return this.isSettingsDrawerOpen||!this.isAuthorized},set(e){this.setSettingsDrawerOpen(e)}}},methods:{...j(M,["setSettingsDrawerOpen"])}},ra={class:"settingsDrawerContainer"},ua={id:"topBlock"},ca={class:"settingsHeader"},da={id:"scrollFooter",class:"footer"};function va(e,o,s,c,t,a){const n=I("AuthMenu"),u=I("OPDSDialog"),g=I("DocsFooter"),r=I("VersionFooter");return S(),T(sa,{modelValue:a.open,"onUpdate:modelValue":o[0]||(o[0]=p=>a.open=p),"disable-route-watcher":"",location:"right",touchless:""},{append:w(()=>[f(Me,{id:"bottomFooter",class:"footer"},{default:w(()=>[f(r)]),_:1})]),default:w(()=>[b("div",ra,[b("div",ua,[b("header",ca,[b("h3",null,P(s.title),1)]),f(K),e.isAuthorized?ie(e.$slots,"panel",{key:0},void 0,!0):O("",!0),e.isAuthorized?(S(),T(K,{key:1})):O("",!0),f(n),e.isUserAdmin?(S(),T(de(t.AdminMenu),{key:2})):O("",!0),f(K)]),b("div",da,[e.isAuthorized?(S(),T(u,{key:0})):O("",!0),f(g)])])]),_:3},8,["modelValue"])}const Sa=x(ia,[["render",va],["__scopeId","data-v-492da9d6"]]);export{wa as S,sa as V,Sa as a,Pt as b};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/admin-settings-button-progress-vOeMypwd.js","assets/main-d46UvpG6.js","assets/main-CZN13qLI.css","assets/admin-C6VbbEgi.js","assets/forwardRefs-BXEe8ItZ.js","assets/forwardRefs-CecUXkvN.css","assets/admin-settings-button-progress-Cks9_KN-.css","assets/admin-menu-CJIeXccy.js","assets/change-password-dialog-DoBLv9WU.js","assets/VDialog-BFf48e97.js","assets/VDialog-cfA1435M.css","assets/VForm-BNXhV_uk.js","assets/VSelectionControl-xYnmeS9J.js","assets/VSelectionControl-R4GtShoa.css","assets/VForm-DxBt30-N.css","assets/change-password-dialog-DL8UMjmX.css","assets/VDivider-Dtis_q2S.js","assets/VDivider-DU47sRrT.css","assets/index-CuPwxeMJ.js","assets/index-Czf-fUM7.css","assets/admin-menu-BdgFc4sK.css"])))=>i.map(i=>d[i]);
2
- import{_ as x,z as T,w as S,X as ze,B as Fe,y as w,a7 as ie,m as j,D as G,G as F,ap as re,E as M,H as ee,bc as He,ar as ue,ac as Ne,x as I,as as ce,a as f,I as O,A as E,C as P,J as de,a1 as ve,bd as Ye,v as U,be as We,bf as Xe,bg as me,b,U as qe,aS as Ze,g as he,p as fe,r as ge,aB as pe,aV as R,bh as je,c as D,bi as q,u as ye,n as Ge,d as Je,h as _e,aC as be,bj as we,L as Se,bk as ke,t as z,bl as De,bm as Ke,bn as Ce,aW as X,bo as Pe,bp as Qe,ba as et,bq as tt,aE as at,br as ot,e as nt,bs as st,f as lt,bt as it,F as rt,bu as ut,aZ as ct}from"./main-d46UvpG6.js";import{V as Be,k as H,c as Q,r as Ve,s as Te,i as Ee,d as Oe,j as $e,t as Ie,v as Re,B as dt,C as vt,l as mt}from"./forwardRefs-BXEe8ItZ.js";import{P as ht,d as ft}from"./unauthorized-B0KN5ef3.js";import{c as gt}from"./copy-to-clipboard-DoUvDJVx.js";import{j as pt}from"./VSelectionControl-xYnmeS9J.js";import{V as yt,u as _t,e as bt,f as wt,d as St}from"./VDialog-BFf48e97.js";import{u as kt}from"./ssrBoot-Bn2PfqMS.js";import{a as K}from"./VDivider-Dtis_q2S.js";const Dt={name:"ScaleButton",props:{scale:{type:Boolean,default:!1}},computed:{breakPoint(){return this.$vuetify.display.xs},density(){return this.breakPoint?"compact":"default"}}};function Ct(e,o,s,c,t,a){return S(),T(Be,{density:a.density},ze({_:2},[Fe(e.$slots,(n,u)=>({name:u,fn:w(g=>[ie(e.$slots,u,j({props:n},g))])}))]),1032,["density"])}const Pt=x(Dt,[["render",Ct]]),ne=re(ue(()=>ce(()=>import("./admin-settings-button-progress-vOeMypwd.js"),__vite__mapDeps([0,1,2,3,4,5,6])))),Bt={name:"SettingsDrawerButton",components:{AdminSettingsButtonProgress:ne,ScaleButton:Pt},data(){return{mdiMenu:He,AdminSettingsButtonProgress:ne}},computed:{...F(ee,["isUserAdmin"])},methods:{...G(M,["setSettingsDrawerOpen"]),onClick(){this.setSettingsDrawerOpen(!0)}}};function Vt(e,o,s,c,t,a){const n=I("ScaleButton");return S(),T(n,{id:"settingsDrawerButton",variant:"plain",icon:"",title:"Settings",onClick:Ne(a.onClick,["prevent"])},{default:w(()=>[f(H,null,{default:w(()=>[E(P(t.mdiMenu),1)]),_:1}),e.isUserAdmin?(S(),T(de(t.AdminSettingsButtonProgress),{key:0})):O("",!0)]),_:1},8,["onClick"])}const wa=x(Bt,[["render",Vt],["__scopeId","data-v-cdf6ad8a"]]),Tt={name:"DocsFooter",data(){return{mdiBookOpenVariantOutline:Ye,mdiOpenInNew:ve}}},Et={id:"repo",href:"https://codex-comic-reader.readthedocs.io/",title:"Codex Documentation",target:"_blank"};function Ot(e,o,s,c,t,a){return S(),U("a",Et,[f(H,{id:"repoIcon",size:"x-small"},{default:w(()=>[E(P(t.mdiBookOpenVariantOutline),1)]),_:1}),o[0]||(o[0]=E(" documentation",-1)),f(H,{color:e.$vuetify.theme.current.colors.iconsInactive,size:"x-small"},{default:w(()=>[E(P(t.mdiOpenInNew),1)]),_:1},8,["color"])])}const $t=x(Tt,[["render",Ot],["__scopeId","data-v-6eb88e3c"]]),It={name:"OPDSUrl",props:{title:{type:String,required:!0},subtitle:{type:String,default:void 0},urlPath:{type:String,required:!0}},data(){return{mdiRss:me,showTooltip:{show:!1}}},computed:{clipBoardEnabled(){return location.protocol=="https:"},clipBoardIcon(){return this.showTooltip.show?We:Xe},tooltip(){return this.clipBoardEnabled},url(){return globalThis.origin+this.urlPath}},methods:{onClickURL(){this.clipBoardEnabled&&gt(this.url,this.showTooltip)}}},Rt=["title"],Mt={key:0},xt={class:"copied"},Lt={key:1,class:"subtitle"},At={class:"opdsUrl"};function Ut(e,o,s,c,t,a){return S(),U("div",{class:"opdsVersion",title:a.tooltip,onClick:o[0]||(o[0]=(...n)=>a.onClickURL&&a.onClickURL(...n))},[b("h3",null,[E(P(s.title)+" ",1),a.clipBoardEnabled?(S(),U("span",Mt,[f(H,{class:"clipBoardIcon",size:"small"},{default:w(()=>[E(P(a.clipBoardIcon),1)]),_:1}),f(pt,null,{default:w(()=>[qe(b("span",xt,"Copied",512),[[Ze,t.showTooltip.show]])]),_:1})])):O("",!0),s.subtitle?(S(),U("span",Lt,P(s.subtitle),1)):O("",!0)]),b("div",At,P(a.url),1)],8,Rt)}const zt=x(It,[["render",Ut],["__scopeId","data-v-feac632b"]]),Ft={name:"OPDSDialog",components:{OPDSUrl:zt,PlaceholderLoading:ht},data(){return{mdiRss:me}},computed:{...F(M,{opdsURLs:e=>e.opdsURLs})},methods:{...G(M,["loadOPDSURLs"])}},Ht={key:0,id:"opds"};function Nt(e,o,s,c,t,a){const n=I("OPDSUrl"),u=I("PlaceholderLoading");return S(),T(yt,{"max-width":"30em"},{activator:w(({props:g})=>[f(Be,j({id:"opdsButton",icon:"",size:"small",variant:"plain"},g,{onClick:e.loadOPDSURLs}),{default:w(()=>[f(H,null,{default:w(()=>[E(P(t.mdiRss),1)]),_:1}),o[0]||(o[0]=E(" OPDS ",-1))]),_:1},16,["onClick"])]),default:w(()=>[e.opdsURLs?(S(),U("div",Ht,[b("h2",null,[f(H,{size:"x=small",class:"inline"},{default:w(()=>[E(P(t.mdiRss),1)]),_:1}),o[1]||(o[1]=E(" OPDS ",-1))]),f(n,{title:"v1.2","url-path":e.opdsURLs.v1},null,8,["url-path"]),f(n,{title:"v2.0","url-path":e.opdsURLs.v2,subtitle:"Experimental and not widely or well supported by clients"},null,8,["url-path"])])):(S(),T(u,{key:1}))]),_:1})}const Yt=x(Ft,[["render",Nt],["__scopeId","data-v-5646b9a1"]]),Wt=fe({app:Boolean,color:String,height:{type:[Number,String],default:"auto"},...Re(),...Se(),...Ie(),...we(),...$e(),...Oe({tag:"footer"}),...be()},"VFooter"),Me=he()({name:"VFooter",props:Wt(),setup(e,o){let{slots:s}=o;const c=ge(),{themeClasses:t}=pe(e),{backgroundColorClasses:a,backgroundColorStyles:n}=Q(()=>e.color),{borderClasses:u}=Ve(e),{elevationClasses:g}=Te(e),{roundedClasses:r}=Ee(e),p=R(32),{resizeRef:m}=je(y=>{y.length&&(p.value=y[0].target.clientHeight)}),d=D(()=>e.height==="auto"?p.value:parseInt(e.height,10));return q(()=>e.app,()=>{const y=ke({id:e.name,order:D(()=>parseInt(e.order,10)),position:z(()=>"bottom"),layoutSize:d,elementSize:D(()=>e.height==="auto"?void 0:d.value),active:z(()=>e.app),absolute:z(()=>e.absolute)});De(()=>{c.value=y.layoutItemStyles.value})}),ye(()=>f(e.tag,{ref:m,class:Je(["v-footer",t.value,a.value,u.value,g.value,r.value,e.class]),style:Ge([n.value,e.app?c.value:{height:_e(e.height)},e.style])},s)),{}}}),Xt={name:"VersionFooter",data(){return{mdiOpenInNew:ve,mdiContentCopy:Ke}},computed:{...F(M,{versions:e=>e.versions}),...F(ee,["isUserAdmin"]),outdated:function(){return this.isUserAdmin&&this.semverGreaterThan(this.versions.latest>this.versions.installed)},versionTitle:function(){return this.outdated?`v${this.versions.latest} is available`:"up to date"}},created(){this.loadVersions()},methods:{...G(M,["loadVersions"]),semverGreaterThan(e,o){try{if(!e||!o)return!1;const s=e.split("."),c=o.split(".");for(const[t,a]of s.entries())if(+a>+c[t])return!0}catch(s){console.debug("compare codex versions",e,">",o,s)}return!1}}},qt={id:"version"},Zt={key:0,id:"latest"};function jt(e,o,s,c,t,a){return S(),T(Me,{id:"version-footer",title:a.versionTitle},{default:w(()=>[b("div",qt,"codex v"+P(e.versions.installed),1),a.outdated?(S(),U("div",Zt," codex v"+P(e.versions.latest)+" is available ",1)):O("",!0)]),_:1},8,["title"])}const Gt=x(Xt,[["render",jt],["__scopeId","data-v-b77f3bde"]]);function Jt(e){let{rootEl:o,isSticky:s,layoutItemStyles:c}=e;const t=R(!1),a=R(0),n=D(()=>{const r=typeof t.value=="boolean"?"top":t.value;return[s.value?{top:"auto",bottom:"auto",height:void 0}:void 0,t.value?{[r]:_e(a.value)}:{top:c.value.top}]});Ce(()=>{X(s,r=>{r?window.addEventListener("scroll",g,{passive:!0}):window.removeEventListener("scroll",g)},{immediate:!0})}),Pe(()=>{window.removeEventListener("scroll",g)});let u=0;function g(){const r=u>window.scrollY?"up":"down",p=o.value.getBoundingClientRect(),m=parseFloat(c.value.top??0),d=window.scrollY-Math.max(0,a.value-m),y=p.height+Math.max(a.value,m)-window.scrollY-window.innerHeight,_=parseFloat(getComputedStyle(o.value).getPropertyValue("--v-body-scroll-y"))||0;p.height<window.innerHeight-m?(t.value="top",a.value=m):r==="up"&&t.value==="bottom"||r==="down"&&t.value==="top"?(a.value=window.scrollY+p.top-_,t.value=!0):r==="down"&&y<=0?(a.value=0,t.value="bottom"):r==="up"&&d<=0&&(_?t.value!=="top"&&(a.value=-d+_+m,t.value="top"):(a.value=p.top+d,t.value="top")),u=window.scrollY}return{isStuck:t,stickyStyles:n}}const Kt=100,Qt=20;function se(e){return(e<0?-1:1)*Math.sqrt(Math.abs(e))*1.41421356237}function le(e){if(e.length<2)return 0;if(e.length===2)return e[1].t===e[0].t?0:(e[1].d-e[0].d)/(e[1].t-e[0].t);let o=0;for(let s=e.length-1;s>0;s--){if(e[s].t===e[s-1].t)continue;const c=se(o),t=(e[s].d-e[s-1].d)/(e[s].t-e[s-1].t);o+=(t-c)*Math.abs(t),s===e.length-1&&(o*=.5)}return se(o)*1e3}function ea(){const e={};function o(t){Array.from(t.changedTouches).forEach(a=>{(e[a.identifier]??(e[a.identifier]=new Qe(Qt))).push([t.timeStamp,a])})}function s(t){Array.from(t.changedTouches).forEach(a=>{delete e[a.identifier]})}function c(t){const a=e[t]?.values().reverse();if(!a)throw new Error(`No samples for touch id ${t}`);const n=a[0],u=[],g=[];for(const r of a){if(n[0]-r[0]>Kt)break;u.push({t:r[0],d:r[1].clientX}),g.push({t:r[0],d:r[1].clientY})}return{x:le(u),y:le(g),get direction(){const{x:r,y:p}=this,[m,d]=[Math.abs(r),Math.abs(p)];return m>d&&r>=0?"right":m>d&&r<=0?"left":d>m&&p>=0?"down":d>m&&p<=0?"up":ta()}}}return{addMovement:o,endTouch:s,getVelocity:c}}function ta(){throw new Error}function aa(e){let{el:o,isActive:s,isTemporary:c,width:t,touchless:a,position:n}=e;Ce(()=>{window.addEventListener("touchstart",L,{passive:!0}),window.addEventListener("touchmove",$,{passive:!1}),window.addEventListener("touchend",Z,{passive:!0})}),Pe(()=>{window.removeEventListener("touchstart",L),window.removeEventListener("touchmove",$),window.removeEventListener("touchend",Z)});const u=D(()=>["left","right"].includes(n.value)),{addMovement:g,endTouch:r,getVelocity:p}=ea();let m=!1;const d=R(!1),y=R(0),_=R(0);let C;function N(l,i){return(n.value==="left"?l:n.value==="right"?document.documentElement.clientWidth-l:n.value==="top"?l:n.value==="bottom"?document.documentElement.clientHeight-l:A())-(i?t.value:0)}function Y(l){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const v=n.value==="left"?(l-_.value)/t.value:n.value==="right"?(document.documentElement.clientWidth-l-_.value)/t.value:n.value==="top"?(l-_.value)/t.value:n.value==="bottom"?(document.documentElement.clientHeight-l-_.value)/t.value:A();return i?et(v):v}function L(l){if(a.value)return;const i=l.changedTouches[0].clientX,v=l.changedTouches[0].clientY,h=25,B=n.value==="left"?i<h:n.value==="right"?i>document.documentElement.clientWidth-h:n.value==="top"?v<h:n.value==="bottom"?v>document.documentElement.clientHeight-h:A(),V=s.value&&(n.value==="left"?i<t.value:n.value==="right"?i>document.documentElement.clientWidth-t.value:n.value==="top"?v<t.value:n.value==="bottom"?v>document.documentElement.clientHeight-t.value:A());(B||V||s.value&&c.value)&&(C=[i,v],_.value=N(u.value?i:v,s.value),y.value=Y(u.value?i:v),m=_.value>-20&&_.value<80,r(l),g(l))}function $(l){const i=l.changedTouches[0].clientX,v=l.changedTouches[0].clientY;if(m){if(!l.cancelable){m=!1;return}const B=Math.abs(i-C[0]),V=Math.abs(v-C[1]);(u.value?B>V&&B>3:V>B&&V>3)?(d.value=!0,m=!1):(u.value?V:B)>3&&(m=!1)}if(!d.value)return;l.preventDefault(),g(l);const h=Y(u.value?i:v,!1);y.value=Math.max(0,Math.min(1,h)),h>1?_.value=N(u.value?i:v,!0):h<0&&(_.value=N(u.value?i:v,!1))}function Z(l){if(m=!1,!d.value)return;g(l),d.value=!1;const i=p(l.changedTouches[0].identifier),v=Math.abs(i.x),h=Math.abs(i.y);(u.value?v>h&&v>400:h>v&&h>3)?s.value=i.direction===({left:"right",right:"left",top:"down",bottom:"up"}[n.value]||A()):s.value=y.value>.5}const W=D(()=>d.value?{transform:n.value==="left"?`translateX(calc(-100% + ${y.value*t.value}px))`:n.value==="right"?`translateX(calc(100% - ${y.value*t.value}px))`:n.value==="top"?`translateY(calc(-100% + ${y.value*t.value}px))`:n.value==="bottom"?`translateY(calc(100% - ${y.value*t.value}px))`:A(),transition:"none"}:void 0);return q(d,()=>{const l=o.value?.style.transform??null,i=o.value?.style.transition??null;De(()=>{o.value?.style.setProperty("transform",W.value?.transform||"none"),o.value?.style.setProperty("transition",W.value?.transition||null)}),tt(()=>{o.value?.style.setProperty("transform",l),o.value?.style.setProperty("transition",i)})}),{isDragging:d,dragProgress:y,dragStyles:W}}function A(){throw new Error}const oa=["start","end","left","right","top","bottom"],na=fe({color:String,disableResizeWatcher:Boolean,disableRouteWatcher:Boolean,expandOnHover:Boolean,floating:Boolean,modelValue:{type:Boolean,default:null},permanent:Boolean,rail:{type:Boolean,default:null},railWidth:{type:[Number,String],default:56},scrim:{type:[Boolean,String],default:!0},image:String,temporary:Boolean,persistent:Boolean,touchless:Boolean,width:{type:[Number,String],default:256},location:{type:String,default:"start",validator:e=>oa.includes(e)},sticky:Boolean,...Re(),...Se(),...wt(),...ut({mobile:null}),...Ie(),...we(),...$e(),...Oe({tag:"nav"}),...be()},"VNavigationDrawer"),sa=he()({name:"VNavigationDrawer",props:na(),emits:{"update:modelValue":e=>!0,"update:rail":e=>!0},setup(e,o){let{attrs:s,emit:c,slots:t}=o;const{isRtl:a}=at(),{themeClasses:n}=pe(e),{borderClasses:u}=Ve(e),{backgroundColorClasses:g,backgroundColorStyles:r}=Q(()=>e.color),{elevationClasses:p}=Te(e),{displayClasses:m,mobile:d}=ot(e),{roundedClasses:y}=Ee(e),_=dt(),C=nt(e,"modelValue",null,k=>!!k),{ssrBootStyles:N}=kt(),{scopeId:Y}=_t(),L=ge(),$=R(!1),{runOpenDelay:Z,runCloseDelay:W}=bt(e,k=>{$.value=k}),l=D(()=>e.rail&&e.expandOnHover&&$.value?Number(e.width):Number(e.rail?e.railWidth:e.width)),i=D(()=>vt(e.location,a.value)),v=z(()=>e.persistent),h=D(()=>!e.permanent&&(d.value||e.temporary)),B=D(()=>e.sticky&&!h.value&&i.value!=="bottom");q(()=>e.expandOnHover&&e.rail!=null,()=>{X($,k=>c("update:rail",!k))}),q(()=>!e.disableResizeWatcher,()=>{X(h,k=>!e.permanent&&ct(()=>C.value=!k))}),q(()=>!e.disableRouteWatcher&&!!_,()=>{X(_.currentRoute,()=>h.value&&(C.value=!1))}),X(()=>e.permanent,k=>{k&&(C.value=!0)}),e.modelValue==null&&!h.value&&(C.value=e.permanent||!d.value);const{isDragging:V,dragProgress:J}=aa({el:L,isActive:C,isTemporary:h,width:l,touchless:z(()=>e.touchless),position:i}),xe=D(()=>{const k=h.value?0:e.rail&&e.expandOnHover?Number(e.railWidth):l.value;return V.value?k*J.value:k}),{layoutItemStyles:te,layoutItemScrimStyles:Le}=ke({id:e.name,order:D(()=>parseInt(e.order,10)),position:i,layoutSize:xe,elementSize:l,active:st(C),disableTransitions:z(()=>V.value),absolute:D(()=>e.absolute||B.value&&typeof ae.value!="string")}),{isStuck:ae,stickyStyles:Ae}=Jt({rootEl:L,isSticky:B,layoutItemStyles:te}),oe=Q(()=>typeof e.scrim=="string"?e.scrim:null),Ue=D(()=>({...V.value?{opacity:J.value*.2,transition:"none"}:void 0,...Le.value}));return lt({VList:{bgColor:"transparent"}}),ye(()=>{const k=t.image||e.image;return b(rt,null,[f(e.tag,j({ref:L,onMouseenter:Z,onMouseleave:W,class:["v-navigation-drawer",`v-navigation-drawer--${i.value}`,{"v-navigation-drawer--expand-on-hover":e.expandOnHover,"v-navigation-drawer--floating":e.floating,"v-navigation-drawer--is-hovering":$.value,"v-navigation-drawer--rail":e.rail,"v-navigation-drawer--temporary":h.value,"v-navigation-drawer--persistent":v.value,"v-navigation-drawer--active":C.value,"v-navigation-drawer--sticky":B.value},n.value,g.value,u.value,m.value,p.value,y.value,e.class],style:[r.value,te.value,N.value,Ae.value,e.style]},Y,s),{default:()=>[k&&b("div",{key:"image",class:"v-navigation-drawer__img"},[t.image?f(mt,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{alt:"",cover:!0,height:"inherit",src:e.image}}},t.image):f(St,{key:"image-img",alt:"",cover:!0,height:"inherit",src:e.image},null)]),t.prepend&&b("div",{class:"v-navigation-drawer__prepend"},[t.prepend?.()]),b("div",{class:"v-navigation-drawer__content"},[t.default?.()]),t.append&&b("div",{class:"v-navigation-drawer__append"},[t.append?.()])]}),f(it,{name:"fade-transition"},{default:()=>[h.value&&(V.value||C.value)&&!!e.scrim&&b("div",j({class:["v-navigation-drawer__scrim",oe.backgroundColorClasses.value],style:[Ue.value,oe.backgroundColorStyles.value],onClick:()=>{v.value||(C.value=!1)}},Y),null)]})])}),{isStuck:ae}}}),la=re(ue(()=>ce(()=>import("./admin-menu-CJIeXccy.js"),__vite__mapDeps([7,1,2,4,5,8,9,10,11,12,13,14,3,15,16,17,18,19,20])))),ia={name:"SettingsDrawer",components:{AuthMenu:ft,DocsFooter:$t,OPDSDialog:Yt,VersionFooter:Gt},props:{title:{type:String,required:!0}},data(){return{AdminMenu:la}},computed:{...F(ee,["isUserAdmin","isAuthorized"]),...F(M,{isSettingsDrawerOpen:e=>e.isSettingsDrawerOpen}),open:{get(){return this.isSettingsDrawerOpen||!this.isAuthorized},set(e){this.setSettingsDrawerOpen(e)}}},methods:{...G(M,["setSettingsDrawerOpen"])}},ra={class:"settingsDrawerContainer"},ua={id:"topBlock"},ca={class:"settingsHeader"},da={id:"scrollFooter",class:"footer"};function va(e,o,s,c,t,a){const n=I("AuthMenu"),u=I("OPDSDialog"),g=I("DocsFooter"),r=I("VersionFooter");return S(),T(sa,{modelValue:a.open,"onUpdate:modelValue":o[0]||(o[0]=p=>a.open=p),"disable-route-watcher":"",location:"right",touchless:""},{append:w(()=>[f(Me,{id:"bottomFooter",class:"footer"},{default:w(()=>[f(r)]),_:1})]),default:w(()=>[b("div",ra,[b("div",ua,[b("header",ca,[b("h3",null,P(s.title),1)]),f(K),e.isAuthorized?ie(e.$slots,"panel",{key:0},void 0,!0):O("",!0),e.isAuthorized?(S(),T(K,{key:1})):O("",!0),f(n),e.isUserAdmin?(S(),T(de(t.AdminMenu),{key:2})):O("",!0),f(K)]),b("div",da,[e.isAuthorized?(S(),T(u,{key:0})):O("",!0),f(g)])])]),_:3},8,["modelValue"])}const Sa=x(ia,[["render",va],["__scopeId","data-v-492da9d6"]]);export{wa as S,sa as V,Sa as a,Pt as b};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/admin-settings-button-progress-HmQvm62f.js","assets/main-CWTxsB_K.js","assets/main-CZN13qLI.css","assets/admin-BStn9kk0.js","assets/forwardRefs-CnxuGwpi.js","assets/forwardRefs-CecUXkvN.css","assets/admin-settings-button-progress-Cks9_KN-.css","assets/admin-menu-8MqbD6SS.js","assets/change-password-dialog-CEdhZwC3.js","assets/VDialog-mZQ1Va-c.js","assets/VDialog-BN4XvYQH.css","assets/VForm-Dt0Uesri.js","assets/VSelectionControl-DFaQ_klW.js","assets/VSelectionControl-R4GtShoa.css","assets/VForm-DxBt30-N.css","assets/change-password-dialog-DL8UMjmX.css","assets/VDivider-CHTeIL4W.js","assets/VDivider-CCqJA_fj.css","assets/index-DXqyJRWg.js","assets/index-Czf-fUM7.css","assets/admin-menu-BdgFc4sK.css"])))=>i.map(i=>d[i]);
2
+ import{_ as x,z as T,X as ze,B as Fe,y as S,x as w,a7 as ie,m as G,D as j,G as F,ap as re,E as M,H as ee,bc as He,ar as ue,ac as Ne,w as I,as as ce,a as f,I as O,A as E,C as P,J as de,a1 as ve,bd as Ye,v as U,be as We,bf as Xe,bg as me,b,U as qe,aS as Ze,g as he,p as fe,r as ge,aB as pe,aV as R,bh as Ge,c as D,bi as q,u as ye,n as je,d as Je,h as _e,aC as be,bj as we,L as Se,bk as ke,t as z,bl as De,bm as Ke,bn as Ce,aW as X,bo as Pe,bp as Qe,ba as et,bq as tt,aE as at,br as ot,e as nt,bs as st,f as lt,bt as it,F as rt,bu as ut,aZ as ct}from"./main-CWTxsB_K.js";import{V as Be,k as H,c as Q,r as Ve,s as Te,i as Ee,d as Oe,j as $e,t as Ie,v as Re,B as dt,C as vt,l as mt}from"./forwardRefs-CnxuGwpi.js";import{P as ht,d as ft}from"./unauthorized-DQOfB_66.js";import{c as gt}from"./copy-to-clipboard-DoUvDJVx.js";import{k as pt}from"./VSelectionControl-DFaQ_klW.js";import{V as yt,u as _t,e as bt,f as wt,d as St}from"./VDialog-mZQ1Va-c.js";import{u as kt}from"./ssrBoot-yM9n-WhK.js";import{a as K}from"./VDivider-CHTeIL4W.js";const Dt={name:"ScaleButton",props:{scale:{type:Boolean,default:!1}},computed:{breakPoint(){return this.$vuetify.display.xs},density(){return this.breakPoint?"compact":"default"}}};function Ct(e,o,s,c,t,a){return S(),T(Be,{density:a.density},ze({_:2},[Fe(e.$slots,(n,u)=>({name:u,fn:w(g=>[ie(e.$slots,u,G({props:n},g))])}))]),1032,["density"])}const Pt=x(Dt,[["render",Ct]]),ne=re(ue(()=>ce(()=>import("./admin-settings-button-progress-HmQvm62f.js"),__vite__mapDeps([0,1,2,3,4,5,6])))),Bt={name:"SettingsDrawerButton",components:{AdminSettingsButtonProgress:ne,ScaleButton:Pt},data(){return{mdiMenu:He,AdminSettingsButtonProgress:ne}},computed:{...F(ee,["isUserAdmin"])},methods:{...j(M,["setSettingsDrawerOpen"]),onClick(){this.setSettingsDrawerOpen(!0)}}};function Vt(e,o,s,c,t,a){const n=I("ScaleButton");return S(),T(n,{id:"settingsDrawerButton",variant:"plain",icon:"",title:"Settings",onClick:Ne(a.onClick,["prevent"])},{default:w(()=>[f(H,null,{default:w(()=>[E(P(t.mdiMenu),1)]),_:1}),e.isUserAdmin?(S(),T(de(t.AdminSettingsButtonProgress),{key:0})):O("",!0)]),_:1},8,["onClick"])}const wa=x(Bt,[["render",Vt],["__scopeId","data-v-cdf6ad8a"]]),Tt={name:"DocsFooter",data(){return{mdiBookOpenVariantOutline:Ye,mdiOpenInNew:ve}}},Et={id:"repo",href:"https://codex-comic-reader.readthedocs.io/",title:"Codex Documentation",target:"_blank"};function Ot(e,o,s,c,t,a){return S(),U("a",Et,[f(H,{id:"repoIcon",size:"x-small"},{default:w(()=>[E(P(t.mdiBookOpenVariantOutline),1)]),_:1}),o[0]||(o[0]=E(" documentation",-1)),f(H,{color:e.$vuetify.theme.current.colors.iconsInactive,size:"x-small"},{default:w(()=>[E(P(t.mdiOpenInNew),1)]),_:1},8,["color"])])}const $t=x(Tt,[["render",Ot],["__scopeId","data-v-6eb88e3c"]]),It={name:"OPDSUrl",props:{title:{type:String,required:!0},subtitle:{type:String,default:void 0},urlPath:{type:String,required:!0}},data(){return{mdiRss:me,showTooltip:{show:!1}}},computed:{clipBoardEnabled(){return location.protocol=="https:"},clipBoardIcon(){return this.showTooltip.show?We:Xe},tooltip(){return this.clipBoardEnabled},url(){return globalThis.origin+this.urlPath}},methods:{onClickURL(){this.clipBoardEnabled&&gt(this.url,this.showTooltip)}}},Rt=["title"],Mt={key:0},xt={class:"copied"},Lt={key:1,class:"subtitle"},At={class:"opdsUrl"};function Ut(e,o,s,c,t,a){return S(),U("div",{class:"opdsVersion",title:a.tooltip,onClick:o[0]||(o[0]=(...n)=>a.onClickURL&&a.onClickURL(...n))},[b("h3",null,[E(P(s.title)+" ",1),a.clipBoardEnabled?(S(),U("span",Mt,[f(H,{class:"clipBoardIcon",size:"small"},{default:w(()=>[E(P(a.clipBoardIcon),1)]),_:1}),f(pt,null,{default:w(()=>[qe(b("span",xt,"Copied",512),[[Ze,t.showTooltip.show]])]),_:1})])):O("",!0),s.subtitle?(S(),U("span",Lt,P(s.subtitle),1)):O("",!0)]),b("div",At,P(a.url),1)],8,Rt)}const zt=x(It,[["render",Ut],["__scopeId","data-v-feac632b"]]),Ft={name:"OPDSDialog",components:{OPDSUrl:zt,PlaceholderLoading:ht},data(){return{mdiRss:me}},computed:{...F(M,{opdsURLs:e=>e.opdsURLs})},methods:{...j(M,["loadOPDSURLs"])}},Ht={key:0,id:"opds"};function Nt(e,o,s,c,t,a){const n=I("OPDSUrl"),u=I("PlaceholderLoading");return S(),T(yt,{"max-width":"30em"},{activator:w(({props:g})=>[f(Be,G({id:"opdsButton",icon:"",size:"small",variant:"plain"},g,{onClick:e.loadOPDSURLs}),{default:w(()=>[f(H,null,{default:w(()=>[E(P(t.mdiRss),1)]),_:1}),o[0]||(o[0]=E(" OPDS ",-1))]),_:1},16,["onClick"])]),default:w(()=>[e.opdsURLs?(S(),U("div",Ht,[b("h2",null,[f(H,{size:"x=small",class:"inline"},{default:w(()=>[E(P(t.mdiRss),1)]),_:1}),o[1]||(o[1]=E(" OPDS ",-1))]),f(n,{title:"v1.2","url-path":e.opdsURLs.v1},null,8,["url-path"]),f(n,{title:"v2.0","url-path":e.opdsURLs.v2,subtitle:"Experimental and not widely or well supported by clients"},null,8,["url-path"])])):(S(),T(u,{key:1}))]),_:1})}const Yt=x(Ft,[["render",Nt],["__scopeId","data-v-5646b9a1"]]),Wt=fe({app:Boolean,color:String,height:{type:[Number,String],default:"auto"},...Re(),...Se(),...Ie(),...we(),...$e(),...Oe({tag:"footer"}),...be()},"VFooter"),Me=he()({name:"VFooter",props:Wt(),setup(e,o){let{slots:s}=o;const c=ge(),{themeClasses:t}=pe(e),{backgroundColorClasses:a,backgroundColorStyles:n}=Q(()=>e.color),{borderClasses:u}=Ve(e),{elevationClasses:g}=Te(e),{roundedClasses:r}=Ee(e),p=R(32),{resizeRef:m}=Ge(y=>{y.length&&(p.value=y[0].target.clientHeight)}),d=D(()=>e.height==="auto"?p.value:parseInt(e.height,10));return q(()=>e.app,()=>{const y=ke({id:e.name,order:D(()=>parseInt(e.order,10)),position:z(()=>"bottom"),layoutSize:d,elementSize:D(()=>e.height==="auto"?void 0:d.value),active:z(()=>e.app),absolute:z(()=>e.absolute)});De(()=>{c.value=y.layoutItemStyles.value})}),ye(()=>f(e.tag,{ref:m,class:Je(["v-footer",t.value,a.value,u.value,g.value,r.value,e.class]),style:je([n.value,e.app?c.value:{height:_e(e.height)},e.style])},s)),{}}}),Xt={name:"VersionFooter",data(){return{mdiOpenInNew:ve,mdiContentCopy:Ke}},computed:{...F(M,{versions:e=>e.versions}),...F(ee,["isUserAdmin"]),outdated:function(){return this.isUserAdmin&&this.semverGreaterThan(this.versions.latest>this.versions.installed)},versionTitle:function(){return this.outdated?`v${this.versions.latest} is available`:"up to date"}},created(){this.loadVersions()},methods:{...j(M,["loadVersions"]),semverGreaterThan(e,o){try{if(!e||!o)return!1;const s=e.split("."),c=o.split(".");for(const[t,a]of s.entries())if(+a>+c[t])return!0}catch(s){console.debug("compare codex versions",e,">",o,s)}return!1}}},qt={id:"version"},Zt={key:0,id:"latest"};function Gt(e,o,s,c,t,a){return S(),T(Me,{id:"version-footer",title:a.versionTitle},{default:w(()=>[b("div",qt,"codex v"+P(e.versions.installed),1),a.outdated?(S(),U("div",Zt," codex v"+P(e.versions.latest)+" is available ",1)):O("",!0)]),_:1},8,["title"])}const jt=x(Xt,[["render",Gt],["__scopeId","data-v-b77f3bde"]]);function Jt(e){let{rootEl:o,isSticky:s,layoutItemStyles:c}=e;const t=R(!1),a=R(0),n=D(()=>{const r=typeof t.value=="boolean"?"top":t.value;return[s.value?{top:"auto",bottom:"auto",height:void 0}:void 0,t.value?{[r]:_e(a.value)}:{top:c.value.top}]});Ce(()=>{X(s,r=>{r?window.addEventListener("scroll",g,{passive:!0}):window.removeEventListener("scroll",g)},{immediate:!0})}),Pe(()=>{window.removeEventListener("scroll",g)});let u=0;function g(){const r=u>window.scrollY?"up":"down",p=o.value.getBoundingClientRect(),m=parseFloat(c.value.top??0),d=window.scrollY-Math.max(0,a.value-m),y=p.height+Math.max(a.value,m)-window.scrollY-window.innerHeight,_=parseFloat(getComputedStyle(o.value).getPropertyValue("--v-body-scroll-y"))||0;p.height<window.innerHeight-m?(t.value="top",a.value=m):r==="up"&&t.value==="bottom"||r==="down"&&t.value==="top"?(a.value=window.scrollY+p.top-_,t.value=!0):r==="down"&&y<=0?(a.value=0,t.value="bottom"):r==="up"&&d<=0&&(_?t.value!=="top"&&(a.value=-d+_+m,t.value="top"):(a.value=p.top+d,t.value="top")),u=window.scrollY}return{isStuck:t,stickyStyles:n}}const Kt=100,Qt=20;function se(e){return(e<0?-1:1)*Math.sqrt(Math.abs(e))*1.41421356237}function le(e){if(e.length<2)return 0;if(e.length===2)return e[1].t===e[0].t?0:(e[1].d-e[0].d)/(e[1].t-e[0].t);let o=0;for(let s=e.length-1;s>0;s--){if(e[s].t===e[s-1].t)continue;const c=se(o),t=(e[s].d-e[s-1].d)/(e[s].t-e[s-1].t);o+=(t-c)*Math.abs(t),s===e.length-1&&(o*=.5)}return se(o)*1e3}function ea(){const e={};function o(t){Array.from(t.changedTouches).forEach(a=>{(e[a.identifier]??(e[a.identifier]=new Qe(Qt))).push([t.timeStamp,a])})}function s(t){Array.from(t.changedTouches).forEach(a=>{delete e[a.identifier]})}function c(t){const a=e[t]?.values().reverse();if(!a)throw new Error(`No samples for touch id ${t}`);const n=a[0],u=[],g=[];for(const r of a){if(n[0]-r[0]>Kt)break;u.push({t:r[0],d:r[1].clientX}),g.push({t:r[0],d:r[1].clientY})}return{x:le(u),y:le(g),get direction(){const{x:r,y:p}=this,[m,d]=[Math.abs(r),Math.abs(p)];return m>d&&r>=0?"right":m>d&&r<=0?"left":d>m&&p>=0?"down":d>m&&p<=0?"up":ta()}}}return{addMovement:o,endTouch:s,getVelocity:c}}function ta(){throw new Error}function aa(e){let{el:o,isActive:s,isTemporary:c,width:t,touchless:a,position:n}=e;Ce(()=>{window.addEventListener("touchstart",L,{passive:!0}),window.addEventListener("touchmove",$,{passive:!1}),window.addEventListener("touchend",Z,{passive:!0})}),Pe(()=>{window.removeEventListener("touchstart",L),window.removeEventListener("touchmove",$),window.removeEventListener("touchend",Z)});const u=D(()=>["left","right"].includes(n.value)),{addMovement:g,endTouch:r,getVelocity:p}=ea();let m=!1;const d=R(!1),y=R(0),_=R(0);let C;function N(l,i){return(n.value==="left"?l:n.value==="right"?document.documentElement.clientWidth-l:n.value==="top"?l:n.value==="bottom"?document.documentElement.clientHeight-l:A())-(i?t.value:0)}function Y(l){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const v=n.value==="left"?(l-_.value)/t.value:n.value==="right"?(document.documentElement.clientWidth-l-_.value)/t.value:n.value==="top"?(l-_.value)/t.value:n.value==="bottom"?(document.documentElement.clientHeight-l-_.value)/t.value:A();return i?et(v):v}function L(l){if(a.value)return;const i=l.changedTouches[0].clientX,v=l.changedTouches[0].clientY,h=25,B=n.value==="left"?i<h:n.value==="right"?i>document.documentElement.clientWidth-h:n.value==="top"?v<h:n.value==="bottom"?v>document.documentElement.clientHeight-h:A(),V=s.value&&(n.value==="left"?i<t.value:n.value==="right"?i>document.documentElement.clientWidth-t.value:n.value==="top"?v<t.value:n.value==="bottom"?v>document.documentElement.clientHeight-t.value:A());(B||V||s.value&&c.value)&&(C=[i,v],_.value=N(u.value?i:v,s.value),y.value=Y(u.value?i:v),m=_.value>-20&&_.value<80,r(l),g(l))}function $(l){const i=l.changedTouches[0].clientX,v=l.changedTouches[0].clientY;if(m){if(!l.cancelable){m=!1;return}const B=Math.abs(i-C[0]),V=Math.abs(v-C[1]);(u.value?B>V&&B>3:V>B&&V>3)?(d.value=!0,m=!1):(u.value?V:B)>3&&(m=!1)}if(!d.value)return;l.preventDefault(),g(l);const h=Y(u.value?i:v,!1);y.value=Math.max(0,Math.min(1,h)),h>1?_.value=N(u.value?i:v,!0):h<0&&(_.value=N(u.value?i:v,!1))}function Z(l){if(m=!1,!d.value)return;g(l),d.value=!1;const i=p(l.changedTouches[0].identifier),v=Math.abs(i.x),h=Math.abs(i.y);(u.value?v>h&&v>400:h>v&&h>3)?s.value=i.direction===({left:"right",right:"left",top:"down",bottom:"up"}[n.value]||A()):s.value=y.value>.5}const W=D(()=>d.value?{transform:n.value==="left"?`translateX(calc(-100% + ${y.value*t.value}px))`:n.value==="right"?`translateX(calc(100% - ${y.value*t.value}px))`:n.value==="top"?`translateY(calc(-100% + ${y.value*t.value}px))`:n.value==="bottom"?`translateY(calc(100% - ${y.value*t.value}px))`:A(),transition:"none"}:void 0);return q(d,()=>{const l=o.value?.style.transform??null,i=o.value?.style.transition??null;De(()=>{o.value?.style.setProperty("transform",W.value?.transform||"none"),o.value?.style.setProperty("transition",W.value?.transition||null)}),tt(()=>{o.value?.style.setProperty("transform",l),o.value?.style.setProperty("transition",i)})}),{isDragging:d,dragProgress:y,dragStyles:W}}function A(){throw new Error}const oa=["start","end","left","right","top","bottom"],na=fe({color:String,disableResizeWatcher:Boolean,disableRouteWatcher:Boolean,expandOnHover:Boolean,floating:Boolean,modelValue:{type:Boolean,default:null},permanent:Boolean,rail:{type:Boolean,default:null},railWidth:{type:[Number,String],default:56},scrim:{type:[Boolean,String],default:!0},image:String,temporary:Boolean,persistent:Boolean,touchless:Boolean,width:{type:[Number,String],default:256},location:{type:String,default:"start",validator:e=>oa.includes(e)},sticky:Boolean,...Re(),...Se(),...wt(),...ut({mobile:null}),...Ie(),...we(),...$e(),...Oe({tag:"nav"}),...be()},"VNavigationDrawer"),sa=he()({name:"VNavigationDrawer",props:na(),emits:{"update:modelValue":e=>!0,"update:rail":e=>!0},setup(e,o){let{attrs:s,emit:c,slots:t}=o;const{isRtl:a}=at(),{themeClasses:n}=pe(e),{borderClasses:u}=Ve(e),{backgroundColorClasses:g,backgroundColorStyles:r}=Q(()=>e.color),{elevationClasses:p}=Te(e),{displayClasses:m,mobile:d}=ot(e),{roundedClasses:y}=Ee(e),_=dt(),C=nt(e,"modelValue",null,k=>!!k),{ssrBootStyles:N}=kt(),{scopeId:Y}=_t(),L=ge(),$=R(!1),{runOpenDelay:Z,runCloseDelay:W}=bt(e,k=>{$.value=k}),l=D(()=>e.rail&&e.expandOnHover&&$.value?Number(e.width):Number(e.rail?e.railWidth:e.width)),i=D(()=>vt(e.location,a.value)),v=z(()=>e.persistent),h=D(()=>!e.permanent&&(d.value||e.temporary)),B=D(()=>e.sticky&&!h.value&&i.value!=="bottom");q(()=>e.expandOnHover&&e.rail!=null,()=>{X($,k=>c("update:rail",!k))}),q(()=>!e.disableResizeWatcher,()=>{X(h,k=>!e.permanent&&ct(()=>C.value=!k))}),q(()=>!e.disableRouteWatcher&&!!_,()=>{X(_.currentRoute,()=>h.value&&(C.value=!1))}),X(()=>e.permanent,k=>{k&&(C.value=!0)}),e.modelValue==null&&!h.value&&(C.value=e.permanent||!d.value);const{isDragging:V,dragProgress:J}=aa({el:L,isActive:C,isTemporary:h,width:l,touchless:z(()=>e.touchless),position:i}),xe=D(()=>{const k=h.value?0:e.rail&&e.expandOnHover?Number(e.railWidth):l.value;return V.value?k*J.value:k}),{layoutItemStyles:te,layoutItemScrimStyles:Le}=ke({id:e.name,order:D(()=>parseInt(e.order,10)),position:i,layoutSize:xe,elementSize:l,active:st(C),disableTransitions:z(()=>V.value),absolute:D(()=>e.absolute||B.value&&typeof ae.value!="string")}),{isStuck:ae,stickyStyles:Ae}=Jt({rootEl:L,isSticky:B,layoutItemStyles:te}),oe=Q(()=>typeof e.scrim=="string"?e.scrim:null),Ue=D(()=>({...V.value?{opacity:J.value*.2,transition:"none"}:void 0,...Le.value}));return lt({VList:{bgColor:"transparent"}}),ye(()=>{const k=t.image||e.image;return b(rt,null,[f(e.tag,G({ref:L,onMouseenter:Z,onMouseleave:W,class:["v-navigation-drawer",`v-navigation-drawer--${i.value}`,{"v-navigation-drawer--expand-on-hover":e.expandOnHover,"v-navigation-drawer--floating":e.floating,"v-navigation-drawer--is-hovering":$.value,"v-navigation-drawer--rail":e.rail,"v-navigation-drawer--temporary":h.value,"v-navigation-drawer--persistent":v.value,"v-navigation-drawer--active":C.value,"v-navigation-drawer--sticky":B.value},n.value,g.value,u.value,m.value,p.value,y.value,e.class],style:[r.value,te.value,N.value,Ae.value,e.style]},Y,s),{default:()=>[k&&b("div",{key:"image",class:"v-navigation-drawer__img"},[t.image?f(mt,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{alt:"",cover:!0,height:"inherit",src:e.image}}},t.image):f(St,{key:"image-img",alt:"",cover:!0,height:"inherit",src:e.image},null)]),t.prepend&&b("div",{class:"v-navigation-drawer__prepend"},[t.prepend?.()]),b("div",{class:"v-navigation-drawer__content"},[t.default?.()]),t.append&&b("div",{class:"v-navigation-drawer__append"},[t.append?.()])]}),f(it,{name:"fade-transition"},{default:()=>[h.value&&(V.value||C.value)&&!!e.scrim&&b("div",G({class:["v-navigation-drawer__scrim",oe.backgroundColorClasses.value],style:[Ue.value,oe.backgroundColorStyles.value],onClick:()=>{v.value||(C.value=!1)}},Y),null)]})])}),{isStuck:ae}}}),la=re(ue(()=>ce(()=>import("./admin-menu-8MqbD6SS.js"),__vite__mapDeps([7,1,2,4,5,8,9,10,11,12,13,14,3,15,16,17,18,19,20])))),ia={name:"SettingsDrawer",components:{AuthMenu:ft,DocsFooter:$t,OPDSDialog:Yt,VersionFooter:jt},props:{title:{type:String,required:!0}},data(){return{AdminMenu:la}},computed:{...F(ee,["isUserAdmin","isAuthorized"]),...F(M,{isSettingsDrawerOpen:e=>e.isSettingsDrawerOpen}),open:{get(){return this.isSettingsDrawerOpen||!this.isAuthorized},set(e){this.setSettingsDrawerOpen(e)}}},methods:{...j(M,["setSettingsDrawerOpen"])}},ra={class:"settingsDrawerContainer"},ua={id:"topBlock"},ca={class:"settingsHeader"},da={id:"scrollFooter",class:"footer"};function va(e,o,s,c,t,a){const n=I("AuthMenu"),u=I("OPDSDialog"),g=I("DocsFooter"),r=I("VersionFooter");return S(),T(sa,{modelValue:a.open,"onUpdate:modelValue":o[0]||(o[0]=p=>a.open=p),"disable-route-watcher":"",location:"right",touchless:""},{append:w(()=>[f(Me,{id:"bottomFooter",class:"footer"},{default:w(()=>[f(r)]),_:1})]),default:w(()=>[b("div",ra,[b("div",ua,[b("header",ca,[b("h3",null,P(s.title),1)]),f(K),e.isAuthorized?ie(e.$slots,"panel",{key:0},void 0,!0):O("",!0),e.isAuthorized?(S(),T(K,{key:1})):O("",!0),f(n),e.isUserAdmin?(S(),T(de(t.AdminMenu),{key:2})):O("",!0),f(K)]),b("div",da,[e.isAuthorized?(S(),T(u,{key:0})):O("",!0),f(g)])])]),_:3},8,["modelValue"])}const Sa=x(ia,[["render",va],["__scopeId","data-v-492da9d6"]]);export{wa as S,sa as V,Sa as a,Pt as b};
@@ -1 +1 @@
1
- import{aV as t,bn as s,t as e,bs as n}from"./main-d46UvpG6.js";function i(){const o=t(!1);return s(()=>{window.requestAnimationFrame(()=>{o.value=!0})}),{ssrBootStyles:e(()=>o.value?void 0:{transition:"none !important"}),isBooted:n(o)}}export{i as u};
1
+ import{aV as t,bn as s,t as e,bs as n}from"./main-CWTxsB_K.js";function i(){const o=t(!1);return s(()=>{window.requestAnimationFrame(()=>{o.value=!0})}),{ssrBootStyles:e(()=>o.value?void 0:{transition:"none !important"}),isBooted:n(o)}}export{i as u};
@@ -1 +1 @@
1
- import{aV as t,bn as s,t as e,bs as n}from"./main-d46UvpG6.js";function i(){const o=t(!1);return s(()=>{window.requestAnimationFrame(()=>{o.value=!0})}),{ssrBootStyles:e(()=>o.value?void 0:{transition:"none !important"}),isBooted:n(o)}}export{i as u};
1
+ import{aV as t,bn as s,t as e,bs as n}from"./main-CWTxsB_K.js";function i(){const o=t(!1);return s(()=>{window.requestAnimationFrame(()=>{o.value=!0})}),{ssrBootStyles:e(()=>o.value?void 0:{transition:"none !important"}),isBooted:n(o)}}export{i as u};
@@ -1 +1 @@
1
- import{_ as C,af as j,v as i,w as c,b as n,a as u,C as b,y as g,a7 as I,F as f,B as p,d as K,D as w,G as h,I as B,x as _,q as y,ck as L,cl as P,cm as D,aO as E,cn as v,be as x,bf as G,E as N,A as R}from"./main-d46UvpG6.js";import{V}from"./VTable-BK7gXlps.js";import{C as U}from"./confirm-dialog-WKjj039l.js";import{c as z}from"./copy-to-clipboard-DoUvDJVx.js";import{useAdminStore as T}from"./admin-C6VbbEgi.js";import"./forwardRefs-BXEe8ItZ.js";import"./VDialog-BFf48e97.js";const F={name:"StatsTable",props:{title:{type:String,required:!0},items:{type:Object,required:!0}},data(){return{}},methods:{valueTable(e){return e&&typeof e=="object"?e:{}},tdClasses(e){return{indent:e[0]==="+"}},tdLabel(e){return e.replace(/^\+/,"")},nf(e){return typeof e=="number"?j.format(e):e}}},$={class:"statBlock"},q={key:0},H={colspan:"2",class:"subtitleRow"},M={key:1},X={class:"indent"};function Y(e,t,a,s,l,o){return c(),i("div",$,[n("h3",null,b(a.title),1),u(V,{class:"highlight-table"},{default:g(()=>[(c(!0),i(f,null,p(Object.entries(a.items),([r,d])=>(c(),i("tbody",{key:r},[typeof d=="object"?(c(),i("tr",q,[n("th",H,b(r),1)])):(c(),i("tr",M,[n("td",{class:K(o.tdClasses(r))},b(o.tdLabel(r)),3),n("td",null,b(o.nf(d)),1)])),(c(!0),i(f,null,p(Object.entries(o.valueTable(d)),([m,A])=>(c(),i("tr",{key:m},[n("td",X,b(m),1),n("td",null,b(o.nf(A)),1)]))),128))]))),128)),I(e.$slots,"default",{},void 0,!0)]),_:3})])}const J=C(F,[["render",Y],["__scopeId","data-v-4bb3ecd9"]]),k={topGroup:E,orderBy:D,fitTo:P,readingDirection:L},O={authGroupCount:"Authorization Groups",libraryCount:"Libraries",userAnonymousCount:"Anonymous Users",userRegisteredCount:"Registered Users"};Object.freeze(O);Object.freeze(k);const S=new Set(["creditPersonsCount","creditRolesCount","identifierSourcesCount","storyArcNumbersCount"]);Object.freeze(S);const Q={name:"AdminTasksTab",components:{ConfirmDialog:U,StatsTable:J},data(){return{showTooltip:{show:!1},schemaHref:globalThis.CODEX.API_V3_PATH+"#/api/api_v3_admin_stats_retrieve"}},computed:{...h(N,{}),...h(T,{stats:e=>e.stats}),clipBoardEnabled(){return location.prototcal=="https:"},apiTooltip(){return this.clipBoardEnabled},clipBoardIcon(){return this.showTooltip?x:G},platformTable(){const e={};for(const[t,a]of Object.entries(this.stats?.platform)){const s=this.keyToLabel(t),l=t==="system"?`${a.name} ${a.release}`:a;e[s]=l}return e},configTable(){const e={};let t="";for(const[a,s]of Object.entries(this.stats?.config)){let l;if(a=="apiKey"){t=s;continue}else l=O[a];e[l]=s}return e["API Key"]=t,e},userSettingsTable(){const e={};for(const[t,a]of Object.entries(this.stats?.sessions)){const s={},l=k[t];for(const[r,d]of Object.entries(a)){let m;m=l?l[v(r)]:r,s[m]=d}const o=this.keyToLabel(t);e[o]=s}return e},browserGroupsTable(){const e={};for(const[t,a]of Object.entries(this.stats?.groups)){let s=this.keyToLabel(t);s!=="Series"&&(s+="s"),e[s]=a}return e},fileTypesTable(){const e={};for(const[t,a]of Object.entries(this.stats?.fileTypes)){const s=t==="unknown"?y(t):this.keyToLabel(t).toUpperCase();e[s]=a}return e},metadataTable(){const e={};for(const[t,a]of Object.entries(this.stats?.metadata)){let s=t==="countryCount"?"Countries":this.keyToLabel(t)+"s";S.has(t)&&(s=s.replace(/^\w+ /,"+")),e[s]=a}return e}},created(){this.loadStats()},methods:{...w(T,["loadStats","updateAPIKey"]),regenAPIKey(){this.updateAPIKey().then(this.loadStats).catch(console.warn)},onClickAPIKey(){this.clipBoardEnabled&&z(this.stats.config.apiKey,this.showTooltip)},keyToLabel(e){return e=e.replace(/Count$/,""),y(e)}}},W={key:0,id:"stats"},Z={id:"schemaDoc"},ee={colspan:"2"},te=["href"],se={colspan:"2"};function ae(e,t,a,s,l,o){const r=_("StatsTable"),d=_("ConfirmDialog");return e.stats?(c(),i("div",W,[u(r,{title:"Platform",items:o.platformTable},null,8,["items"]),u(r,{title:"Config",items:o.configTable},{default:g(()=>[n("tbody",null,[n("tr",Z,[n("td",ee,[t[0]||(t[0]=R(" The only endpoint accessible by API Key is ",-1)),n("a",{href:l.schemaHref,target:"_blank"},"/admin/stats",8,te)])]),n("tr",null,[n("td",se,[u(d,{"button-text":"Regenerate API Key","title-text":"Regenerate",text:"API Key","confirm-text":"Regenerate",onConfirm:o.regenAPIKey},null,8,["onConfirm"])])])])]),_:1},8,["items"]),u(r,{title:"User Settings",items:o.userSettingsTable},null,8,["items"]),u(r,{title:"Browser Groups",items:o.browserGroupsTable},null,8,["items"]),u(r,{title:"File Types",items:o.fileTypesTable},null,8,["items"]),u(r,{title:"Metadata",items:o.metadataTable},null,8,["items"])])):B("",!0)}const de=C(Q,[["render",ae],["__scopeId","data-v-b8d4ace0"]]);export{de as default};
1
+ import{_ as C,af as j,v as i,b as n,a as c,C as b,x as g,y as u,a7 as I,F as f,B as p,d as K,D as w,G as h,I as B,w as _,q as y,cm as L,cn as P,co as D,aO as E,cp as v,be as x,bf as G,E as N,A as R}from"./main-CWTxsB_K.js";import{V}from"./VTable-MenML-QS.js";import{C as U}from"./confirm-dialog-X8W3euvh.js";import{c as z}from"./copy-to-clipboard-DoUvDJVx.js";import{useAdminStore as T}from"./admin-BStn9kk0.js";import"./forwardRefs-CnxuGwpi.js";import"./VDialog-mZQ1Va-c.js";const F={name:"StatsTable",props:{title:{type:String,required:!0},items:{type:Object,required:!0}},data(){return{}},methods:{valueTable(e){return e&&typeof e=="object"?e:{}},tdClasses(e){return{indent:e[0]==="+"}},tdLabel(e){return e.replace(/^\+/,"")},nf(e){return typeof e=="number"?j.format(e):e}}},$={class:"statBlock"},q={key:0},H={colspan:"2",class:"subtitleRow"},M={key:1},X={class:"indent"};function Y(e,t,a,s,l,o){return u(),i("div",$,[n("h3",null,b(a.title),1),c(V,{class:"highlight-table"},{default:g(()=>[(u(!0),i(f,null,p(Object.entries(a.items),([r,d])=>(u(),i("tbody",{key:r},[typeof d=="object"?(u(),i("tr",q,[n("th",H,b(r),1)])):(u(),i("tr",M,[n("td",{class:K(o.tdClasses(r))},b(o.tdLabel(r)),3),n("td",null,b(o.nf(d)),1)])),(u(!0),i(f,null,p(Object.entries(o.valueTable(d)),([m,A])=>(u(),i("tr",{key:m},[n("td",X,b(m),1),n("td",null,b(o.nf(A)),1)]))),128))]))),128)),I(e.$slots,"default",{},void 0,!0)]),_:3})])}const J=C(F,[["render",Y],["__scopeId","data-v-4bb3ecd9"]]),O={topGroup:E,orderBy:D,fitTo:P,readingDirection:L},S={authGroupCount:"Authorization Groups",libraryCount:"Libraries",userAnonymousCount:"Anonymous Users",userRegisteredCount:"Registered Users"};Object.freeze(S);Object.freeze(O);const k=new Set(["creditPersonsCount","creditRolesCount","identifierSourcesCount","storyArcNumbersCount"]);Object.freeze(k);const Q={name:"AdminTasksTab",components:{ConfirmDialog:U,StatsTable:J},data(){return{showTooltip:{show:!1},schemaHref:globalThis.CODEX.API_V3_PATH+"#/api/api_v3_admin_stats_retrieve"}},computed:{...h(N,{}),...h(T,{stats:e=>e.stats}),clipBoardEnabled(){return location.prototcal=="https:"},apiTooltip(){return this.clipBoardEnabled},clipBoardIcon(){return this.showTooltip?x:G},platformTable(){const e={};for(const[t,a]of Object.entries(this.stats?.platform)){const s=this.keyToLabel(t),l=t==="system"?`${a.name} ${a.release}`:a;e[s]=l}return e},configTable(){const e={};let t="";for(const[a,s]of Object.entries(this.stats?.config)){let l;if(a=="apiKey"){t=s;continue}else l=S[a];e[l]=s}return e["API Key"]=t,e},userSettingsTable(){const e={};for(const[t,a]of Object.entries(this.stats?.sessions)){const s={},l=O[t];for(const[r,d]of Object.entries(a)){let m;m=l?l[v(r)]:r,s[m]=d}const o=this.keyToLabel(t);e[o]=s}return e},browserGroupsTable(){const e={};for(const[t,a]of Object.entries(this.stats?.groups)){let s=this.keyToLabel(t);s!=="Series"&&(s+="s"),e[s]=a}return e},fileTypesTable(){const e={};for(const[t,a]of Object.entries(this.stats?.fileTypes)){const s=t==="unknown"?y(t):this.keyToLabel(t).toUpperCase();e[s]=a}return e},metadataTable(){const e={};for(const[t,a]of Object.entries(this.stats?.metadata)){let s=t==="countryCount"?"Countries":this.keyToLabel(t)+"s";k.has(t)&&(s=s.replace(/^\w+ /,"+")),e[s]=a}return e}},created(){this.loadStats()},methods:{...w(T,["loadStats","updateAPIKey"]),regenAPIKey(){this.updateAPIKey().then(this.loadStats).catch(console.warn)},onClickAPIKey(){this.clipBoardEnabled&&z(this.stats.config.apiKey,this.showTooltip)},keyToLabel(e){return e=e.replace(/Count$/,""),y(e)}}},W={key:0,id:"stats"},Z={id:"schemaDoc"},ee={colspan:"2"},te=["href"],se={colspan:"2"};function ae(e,t,a,s,l,o){const r=_("StatsTable"),d=_("ConfirmDialog");return e.stats?(u(),i("div",W,[c(r,{title:"Platform",items:o.platformTable},null,8,["items"]),c(r,{title:"Config",items:o.configTable},{default:g(()=>[n("tbody",null,[n("tr",Z,[n("td",ee,[t[0]||(t[0]=R(" The only endpoint accessible by API Key is ",-1)),n("a",{href:l.schemaHref,target:"_blank"},"/admin/stats",8,te)])]),n("tr",null,[n("td",se,[c(d,{"button-text":"Regenerate API Key","title-text":"Regenerate",text:"API Key","confirm-text":"Regenerate",onConfirm:o.regenAPIKey},null,8,["onConfirm"])])])])]),_:1},8,["items"]),c(r,{title:"User Settings",items:o.userSettingsTable},null,8,["items"]),c(r,{title:"Browser Groups",items:o.browserGroupsTable},null,8,["items"]),c(r,{title:"File Types",items:o.fileTypesTable},null,8,["items"]),c(r,{title:"Metadata",items:o.metadataTable},null,8,["items"])])):B("",!0)}const de=C(Q,[["render",ae],["__scopeId","data-v-b8d4ace0"]]);export{de as default};
@@ -1 +1 @@
1
- import{_ as C,af as j,v as i,w as c,b as n,a as u,C as b,y as g,a7 as I,F as f,B as p,d as K,D as w,G as h,I as B,x as _,q as y,ck as L,cl as P,cm as D,aO as E,cn as v,be as x,bf as G,E as N,A as R}from"./main-d46UvpG6.js";import{V}from"./VTable-BK7gXlps.js";import{C as U}from"./confirm-dialog-WKjj039l.js";import{c as z}from"./copy-to-clipboard-DoUvDJVx.js";import{useAdminStore as T}from"./admin-C6VbbEgi.js";import"./forwardRefs-BXEe8ItZ.js";import"./VDialog-BFf48e97.js";const F={name:"StatsTable",props:{title:{type:String,required:!0},items:{type:Object,required:!0}},data(){return{}},methods:{valueTable(e){return e&&typeof e=="object"?e:{}},tdClasses(e){return{indent:e[0]==="+"}},tdLabel(e){return e.replace(/^\+/,"")},nf(e){return typeof e=="number"?j.format(e):e}}},$={class:"statBlock"},q={key:0},H={colspan:"2",class:"subtitleRow"},M={key:1},X={class:"indent"};function Y(e,t,a,s,l,o){return c(),i("div",$,[n("h3",null,b(a.title),1),u(V,{class:"highlight-table"},{default:g(()=>[(c(!0),i(f,null,p(Object.entries(a.items),([r,d])=>(c(),i("tbody",{key:r},[typeof d=="object"?(c(),i("tr",q,[n("th",H,b(r),1)])):(c(),i("tr",M,[n("td",{class:K(o.tdClasses(r))},b(o.tdLabel(r)),3),n("td",null,b(o.nf(d)),1)])),(c(!0),i(f,null,p(Object.entries(o.valueTable(d)),([m,A])=>(c(),i("tr",{key:m},[n("td",X,b(m),1),n("td",null,b(o.nf(A)),1)]))),128))]))),128)),I(e.$slots,"default",{},void 0,!0)]),_:3})])}const J=C(F,[["render",Y],["__scopeId","data-v-4bb3ecd9"]]),k={topGroup:E,orderBy:D,fitTo:P,readingDirection:L},O={authGroupCount:"Authorization Groups",libraryCount:"Libraries",userAnonymousCount:"Anonymous Users",userRegisteredCount:"Registered Users"};Object.freeze(O);Object.freeze(k);const S=new Set(["creditPersonsCount","creditRolesCount","identifierSourcesCount","storyArcNumbersCount"]);Object.freeze(S);const Q={name:"AdminTasksTab",components:{ConfirmDialog:U,StatsTable:J},data(){return{showTooltip:{show:!1},schemaHref:globalThis.CODEX.API_V3_PATH+"#/api/api_v3_admin_stats_retrieve"}},computed:{...h(N,{}),...h(T,{stats:e=>e.stats}),clipBoardEnabled(){return location.prototcal=="https:"},apiTooltip(){return this.clipBoardEnabled},clipBoardIcon(){return this.showTooltip?x:G},platformTable(){const e={};for(const[t,a]of Object.entries(this.stats?.platform)){const s=this.keyToLabel(t),l=t==="system"?`${a.name} ${a.release}`:a;e[s]=l}return e},configTable(){const e={};let t="";for(const[a,s]of Object.entries(this.stats?.config)){let l;if(a=="apiKey"){t=s;continue}else l=O[a];e[l]=s}return e["API Key"]=t,e},userSettingsTable(){const e={};for(const[t,a]of Object.entries(this.stats?.sessions)){const s={},l=k[t];for(const[r,d]of Object.entries(a)){let m;m=l?l[v(r)]:r,s[m]=d}const o=this.keyToLabel(t);e[o]=s}return e},browserGroupsTable(){const e={};for(const[t,a]of Object.entries(this.stats?.groups)){let s=this.keyToLabel(t);s!=="Series"&&(s+="s"),e[s]=a}return e},fileTypesTable(){const e={};for(const[t,a]of Object.entries(this.stats?.fileTypes)){const s=t==="unknown"?y(t):this.keyToLabel(t).toUpperCase();e[s]=a}return e},metadataTable(){const e={};for(const[t,a]of Object.entries(this.stats?.metadata)){let s=t==="countryCount"?"Countries":this.keyToLabel(t)+"s";S.has(t)&&(s=s.replace(/^\w+ /,"+")),e[s]=a}return e}},created(){this.loadStats()},methods:{...w(T,["loadStats","updateAPIKey"]),regenAPIKey(){this.updateAPIKey().then(this.loadStats).catch(console.warn)},onClickAPIKey(){this.clipBoardEnabled&&z(this.stats.config.apiKey,this.showTooltip)},keyToLabel(e){return e=e.replace(/Count$/,""),y(e)}}},W={key:0,id:"stats"},Z={id:"schemaDoc"},ee={colspan:"2"},te=["href"],se={colspan:"2"};function ae(e,t,a,s,l,o){const r=_("StatsTable"),d=_("ConfirmDialog");return e.stats?(c(),i("div",W,[u(r,{title:"Platform",items:o.platformTable},null,8,["items"]),u(r,{title:"Config",items:o.configTable},{default:g(()=>[n("tbody",null,[n("tr",Z,[n("td",ee,[t[0]||(t[0]=R(" The only endpoint accessible by API Key is ",-1)),n("a",{href:l.schemaHref,target:"_blank"},"/admin/stats",8,te)])]),n("tr",null,[n("td",se,[u(d,{"button-text":"Regenerate API Key","title-text":"Regenerate",text:"API Key","confirm-text":"Regenerate",onConfirm:o.regenAPIKey},null,8,["onConfirm"])])])])]),_:1},8,["items"]),u(r,{title:"User Settings",items:o.userSettingsTable},null,8,["items"]),u(r,{title:"Browser Groups",items:o.browserGroupsTable},null,8,["items"]),u(r,{title:"File Types",items:o.fileTypesTable},null,8,["items"]),u(r,{title:"Metadata",items:o.metadataTable},null,8,["items"])])):B("",!0)}const de=C(Q,[["render",ae],["__scopeId","data-v-b8d4ace0"]]);export{de as default};
1
+ import{_ as C,af as j,v as i,b as n,a as c,C as b,x as g,y as u,a7 as I,F as f,B as p,d as K,D as w,G as h,I as B,w as _,q as y,cm as L,cn as P,co as D,aO as E,cp as v,be as x,bf as G,E as N,A as R}from"./main-CWTxsB_K.js";import{V}from"./VTable-MenML-QS.js";import{C as U}from"./confirm-dialog-X8W3euvh.js";import{c as z}from"./copy-to-clipboard-DoUvDJVx.js";import{useAdminStore as T}from"./admin-BStn9kk0.js";import"./forwardRefs-CnxuGwpi.js";import"./VDialog-mZQ1Va-c.js";const F={name:"StatsTable",props:{title:{type:String,required:!0},items:{type:Object,required:!0}},data(){return{}},methods:{valueTable(e){return e&&typeof e=="object"?e:{}},tdClasses(e){return{indent:e[0]==="+"}},tdLabel(e){return e.replace(/^\+/,"")},nf(e){return typeof e=="number"?j.format(e):e}}},$={class:"statBlock"},q={key:0},H={colspan:"2",class:"subtitleRow"},M={key:1},X={class:"indent"};function Y(e,t,a,s,l,o){return u(),i("div",$,[n("h3",null,b(a.title),1),c(V,{class:"highlight-table"},{default:g(()=>[(u(!0),i(f,null,p(Object.entries(a.items),([r,d])=>(u(),i("tbody",{key:r},[typeof d=="object"?(u(),i("tr",q,[n("th",H,b(r),1)])):(u(),i("tr",M,[n("td",{class:K(o.tdClasses(r))},b(o.tdLabel(r)),3),n("td",null,b(o.nf(d)),1)])),(u(!0),i(f,null,p(Object.entries(o.valueTable(d)),([m,A])=>(u(),i("tr",{key:m},[n("td",X,b(m),1),n("td",null,b(o.nf(A)),1)]))),128))]))),128)),I(e.$slots,"default",{},void 0,!0)]),_:3})])}const J=C(F,[["render",Y],["__scopeId","data-v-4bb3ecd9"]]),O={topGroup:E,orderBy:D,fitTo:P,readingDirection:L},S={authGroupCount:"Authorization Groups",libraryCount:"Libraries",userAnonymousCount:"Anonymous Users",userRegisteredCount:"Registered Users"};Object.freeze(S);Object.freeze(O);const k=new Set(["creditPersonsCount","creditRolesCount","identifierSourcesCount","storyArcNumbersCount"]);Object.freeze(k);const Q={name:"AdminTasksTab",components:{ConfirmDialog:U,StatsTable:J},data(){return{showTooltip:{show:!1},schemaHref:globalThis.CODEX.API_V3_PATH+"#/api/api_v3_admin_stats_retrieve"}},computed:{...h(N,{}),...h(T,{stats:e=>e.stats}),clipBoardEnabled(){return location.prototcal=="https:"},apiTooltip(){return this.clipBoardEnabled},clipBoardIcon(){return this.showTooltip?x:G},platformTable(){const e={};for(const[t,a]of Object.entries(this.stats?.platform)){const s=this.keyToLabel(t),l=t==="system"?`${a.name} ${a.release}`:a;e[s]=l}return e},configTable(){const e={};let t="";for(const[a,s]of Object.entries(this.stats?.config)){let l;if(a=="apiKey"){t=s;continue}else l=S[a];e[l]=s}return e["API Key"]=t,e},userSettingsTable(){const e={};for(const[t,a]of Object.entries(this.stats?.sessions)){const s={},l=O[t];for(const[r,d]of Object.entries(a)){let m;m=l?l[v(r)]:r,s[m]=d}const o=this.keyToLabel(t);e[o]=s}return e},browserGroupsTable(){const e={};for(const[t,a]of Object.entries(this.stats?.groups)){let s=this.keyToLabel(t);s!=="Series"&&(s+="s"),e[s]=a}return e},fileTypesTable(){const e={};for(const[t,a]of Object.entries(this.stats?.fileTypes)){const s=t==="unknown"?y(t):this.keyToLabel(t).toUpperCase();e[s]=a}return e},metadataTable(){const e={};for(const[t,a]of Object.entries(this.stats?.metadata)){let s=t==="countryCount"?"Countries":this.keyToLabel(t)+"s";k.has(t)&&(s=s.replace(/^\w+ /,"+")),e[s]=a}return e}},created(){this.loadStats()},methods:{...w(T,["loadStats","updateAPIKey"]),regenAPIKey(){this.updateAPIKey().then(this.loadStats).catch(console.warn)},onClickAPIKey(){this.clipBoardEnabled&&z(this.stats.config.apiKey,this.showTooltip)},keyToLabel(e){return e=e.replace(/Count$/,""),y(e)}}},W={key:0,id:"stats"},Z={id:"schemaDoc"},ee={colspan:"2"},te=["href"],se={colspan:"2"};function ae(e,t,a,s,l,o){const r=_("StatsTable"),d=_("ConfirmDialog");return e.stats?(u(),i("div",W,[c(r,{title:"Platform",items:o.platformTable},null,8,["items"]),c(r,{title:"Config",items:o.configTable},{default:g(()=>[n("tbody",null,[n("tr",Z,[n("td",ee,[t[0]||(t[0]=R(" The only endpoint accessible by API Key is ",-1)),n("a",{href:l.schemaHref,target:"_blank"},"/admin/stats",8,te)])]),n("tr",null,[n("td",se,[c(d,{"button-text":"Regenerate API Key","title-text":"Regenerate",text:"API Key","confirm-text":"Regenerate",onConfirm:o.regenAPIKey},null,8,["onConfirm"])])])])]),_:1},8,["items"]),c(r,{title:"User Settings",items:o.userSettingsTable},null,8,["items"]),c(r,{title:"Browser Groups",items:o.browserGroupsTable},null,8,["items"]),c(r,{title:"File Types",items:o.fileTypesTable},null,8,["items"]),c(r,{title:"Metadata",items:o.metadataTable},null,8,["items"])])):B("",!0)}const de=C(Q,[["render",ae],["__scopeId","data-v-b8d4ace0"]]);export{de as default};