codex 1.6.2__py3-none-any.whl → 1.6.4__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (513) hide show
  1. codex/exceptions.py +42 -16
  2. codex/librarian/importer/importer.py +1 -1
  3. codex/librarian/janitor/cleanup.py +2 -4
  4. codex/librarian/janitor/update.py +10 -9
  5. codex/librarian/search/merge.py +37 -40
  6. codex/librarian/search/remove.py +30 -26
  7. codex/librarian/search/update.py +47 -38
  8. codex/librarian/stats.py +177 -0
  9. codex/librarian/watchdog/events.py +2 -2
  10. codex/serializers/admin/__init__.py +1 -0
  11. codex/serializers/admin/flags.py +15 -0
  12. codex/serializers/admin/groups.py +38 -0
  13. codex/serializers/admin/libraries.py +90 -0
  14. codex/serializers/admin/stats.py +126 -0
  15. codex/serializers/admin/tasks.py +16 -0
  16. codex/serializers/admin/users.py +40 -0
  17. codex/serializers/fields.py +30 -0
  18. codex/serializers/reader.py +8 -3
  19. codex/settings/settings.py +3 -3
  20. codex/static_root/assets/VCheckbox-DtXDauZz.54986ad416a1.js +1 -0
  21. codex/static_root/assets/VCheckbox-DtXDauZz.54986ad416a1.js.br +0 -0
  22. codex/static_root/assets/VCheckbox-DtXDauZz.54986ad416a1.js.gz +0 -0
  23. codex/static_root/assets/VCheckbox-DtXDauZz.js +1 -0
  24. codex/static_root/assets/VCheckbox-DtXDauZz.js.br +0 -0
  25. codex/static_root/assets/VCheckbox-DtXDauZz.js.gz +0 -0
  26. codex/static_root/assets/VCheckboxBtn-B-iT1MnG.8505f6eed0fe.js +1 -0
  27. codex/static_root/assets/VCheckboxBtn-B-iT1MnG.8505f6eed0fe.js.br +0 -0
  28. codex/static_root/assets/VCheckboxBtn-B-iT1MnG.8505f6eed0fe.js.gz +0 -0
  29. codex/static_root/assets/VCheckboxBtn-B-iT1MnG.js +1 -0
  30. codex/static_root/assets/VCheckboxBtn-B-iT1MnG.js.br +0 -0
  31. codex/static_root/assets/VCheckboxBtn-B-iT1MnG.js.gz +0 -0
  32. codex/static_root/assets/{VCombobox-CGyBgdqr.2f85598cc1a4.js → VCombobox-DZmum3X-.330883d59742.js} +1 -1
  33. codex/static_root/assets/VCombobox-DZmum3X-.330883d59742.js.br +0 -0
  34. codex/static_root/assets/VCombobox-DZmum3X-.330883d59742.js.gz +0 -0
  35. codex/static_root/assets/{VCombobox-CGyBgdqr.js → VCombobox-DZmum3X-.js} +1 -1
  36. codex/static_root/assets/VCombobox-DZmum3X-.js.br +0 -0
  37. codex/static_root/assets/VCombobox-DZmum3X-.js.gz +0 -0
  38. codex/static_root/assets/VDialog-DUdNpXLj.6088d518d3af.js +1 -0
  39. codex/static_root/assets/VDialog-DUdNpXLj.6088d518d3af.js.br +0 -0
  40. codex/static_root/assets/VDialog-DUdNpXLj.6088d518d3af.js.gz +0 -0
  41. codex/static_root/assets/VDialog-DUdNpXLj.js +1 -0
  42. codex/static_root/assets/VDialog-DUdNpXLj.js.br +0 -0
  43. codex/static_root/assets/VDialog-DUdNpXLj.js.gz +0 -0
  44. codex/static_root/assets/VExpansionPanels-CurqcyFg.860017abf25d.js +1 -0
  45. codex/static_root/assets/VExpansionPanels-CurqcyFg.860017abf25d.js.br +0 -0
  46. codex/static_root/assets/VExpansionPanels-CurqcyFg.860017abf25d.js.gz +0 -0
  47. codex/static_root/assets/VExpansionPanels-CurqcyFg.js +1 -0
  48. codex/static_root/assets/VExpansionPanels-CurqcyFg.js.br +0 -0
  49. codex/static_root/assets/VExpansionPanels-CurqcyFg.js.gz +0 -0
  50. codex/static_root/assets/VRadioGroup-B7n5ReZ-.8acbc71ac411.js +1 -0
  51. codex/static_root/assets/VRadioGroup-B7n5ReZ-.8acbc71ac411.js.br +0 -0
  52. codex/static_root/assets/VRadioGroup-B7n5ReZ-.8acbc71ac411.js.gz +0 -0
  53. codex/static_root/assets/VRadioGroup-B7n5ReZ-.js +1 -0
  54. codex/static_root/assets/VRadioGroup-B7n5ReZ-.js.br +0 -0
  55. codex/static_root/assets/VRadioGroup-B7n5ReZ-.js.gz +0 -0
  56. codex/static_root/assets/VSelect-FYWbH55D.83e91b93fdd1.js +1 -0
  57. codex/static_root/assets/VSelect-FYWbH55D.83e91b93fdd1.js.br +0 -0
  58. codex/static_root/assets/VSelect-FYWbH55D.83e91b93fdd1.js.gz +0 -0
  59. codex/static_root/assets/VSelect-FYWbH55D.js +1 -0
  60. codex/static_root/assets/VSelect-FYWbH55D.js.br +0 -0
  61. codex/static_root/assets/VSelect-FYWbH55D.js.gz +0 -0
  62. codex/static_root/assets/{VSelectionControl-DXxRmssH.js → VSelectionControl-CUlT3cc_.63f60240eb49.js} +1 -1
  63. codex/static_root/assets/VSelectionControl-CUlT3cc_.63f60240eb49.js.br +0 -0
  64. codex/static_root/assets/VSelectionControl-CUlT3cc_.63f60240eb49.js.gz +0 -0
  65. codex/static_root/assets/{VSelectionControl-DXxRmssH.252890f79cc6.js → VSelectionControl-CUlT3cc_.js} +1 -1
  66. codex/static_root/assets/VSelectionControl-CUlT3cc_.js.br +0 -0
  67. codex/static_root/assets/VSelectionControl-CUlT3cc_.js.gz +0 -0
  68. codex/static_root/assets/{VSlideGroup-DYJ3EYZI.a2542c5f90c4.js → VSlideGroup-CRJazQeR.cb89b2222518.js} +1 -1
  69. codex/static_root/assets/VSlideGroup-CRJazQeR.cb89b2222518.js.br +0 -0
  70. codex/static_root/assets/VSlideGroup-CRJazQeR.cb89b2222518.js.gz +0 -0
  71. codex/static_root/assets/{VSlideGroup-DYJ3EYZI.js → VSlideGroup-CRJazQeR.js} +1 -1
  72. codex/static_root/assets/VSlideGroup-CRJazQeR.js.br +0 -0
  73. codex/static_root/assets/VSlideGroup-CRJazQeR.js.gz +0 -0
  74. codex/static_root/assets/{VTable-BveGtxei.7f76f4ef812b.js → VTable-DtyBEZ5i.6848f15ea03f.js} +1 -1
  75. codex/static_root/assets/VTable-DtyBEZ5i.6848f15ea03f.js.br +0 -0
  76. codex/static_root/assets/VTable-DtyBEZ5i.6848f15ea03f.js.gz +0 -0
  77. codex/static_root/assets/{VTable-BveGtxei.js → VTable-DtyBEZ5i.js} +1 -1
  78. codex/static_root/assets/VTable-DtyBEZ5i.js.br +0 -0
  79. codex/static_root/assets/VTable-DtyBEZ5i.js.gz +0 -0
  80. codex/static_root/assets/VTextField-DEiVah7O.fbf3130f2dea.js +1 -0
  81. codex/static_root/assets/VTextField-DEiVah7O.fbf3130f2dea.js.br +0 -0
  82. codex/static_root/assets/VTextField-DEiVah7O.fbf3130f2dea.js.gz +0 -0
  83. codex/static_root/assets/VTextField-DEiVah7O.js +1 -0
  84. codex/static_root/assets/VTextField-DEiVah7O.js.br +0 -0
  85. codex/static_root/assets/VTextField-DEiVah7O.js.gz +0 -0
  86. codex/static_root/assets/{VWindowItem-FBuIO_rT.8610c7e83905.js → VWindowItem-BVIaHO-S.419e4ecf523d.js} +1 -1
  87. codex/static_root/assets/VWindowItem-BVIaHO-S.419e4ecf523d.js.br +0 -0
  88. codex/static_root/assets/VWindowItem-BVIaHO-S.419e4ecf523d.js.gz +0 -0
  89. codex/static_root/assets/{VWindowItem-FBuIO_rT.js → VWindowItem-BVIaHO-S.js} +1 -1
  90. codex/static_root/assets/VWindowItem-BVIaHO-S.js.br +0 -0
  91. codex/static_root/assets/VWindowItem-BVIaHO-S.js.gz +0 -0
  92. codex/static_root/assets/{admin-B8Bp2Uih.82c98714bcf1.css → admin-D4sw3N4T.b590f88a62cf.css} +1 -1
  93. codex/static_root/assets/admin-D4sw3N4T.b590f88a62cf.css.br +0 -0
  94. codex/static_root/assets/admin-D4sw3N4T.b590f88a62cf.css.gz +0 -0
  95. codex/static_root/assets/{admin-B8Bp2Uih.css → admin-D4sw3N4T.css} +1 -1
  96. codex/static_root/assets/admin-D4sw3N4T.css.br +0 -0
  97. codex/static_root/assets/admin-D4sw3N4T.css.gz +0 -0
  98. codex/static_root/assets/admin-S53JleJt.f629d90f73a1.js +1 -0
  99. codex/static_root/assets/admin-S53JleJt.f629d90f73a1.js.br +0 -0
  100. codex/static_root/assets/admin-S53JleJt.f629d90f73a1.js.gz +0 -0
  101. codex/static_root/assets/admin-S53JleJt.js +1 -0
  102. codex/static_root/assets/admin-S53JleJt.js.br +0 -0
  103. codex/static_root/assets/admin-S53JleJt.js.gz +0 -0
  104. codex/static_root/assets/admin-drawer-panel-CnAnGx7w.1e4eb021cb21.js +56 -0
  105. codex/static_root/assets/admin-drawer-panel-CnAnGx7w.1e4eb021cb21.js.br +0 -0
  106. codex/static_root/assets/admin-drawer-panel-CnAnGx7w.1e4eb021cb21.js.gz +0 -0
  107. codex/static_root/assets/admin-drawer-panel-CnAnGx7w.js +56 -0
  108. codex/static_root/assets/admin-drawer-panel-CnAnGx7w.js.br +0 -0
  109. codex/static_root/assets/admin-drawer-panel-CnAnGx7w.js.gz +0 -0
  110. codex/static_root/assets/browser-BHHgqDP7.7ada4400d63f.js +1 -0
  111. codex/static_root/assets/browser-BHHgqDP7.7ada4400d63f.js.br +0 -0
  112. codex/static_root/assets/browser-BHHgqDP7.7ada4400d63f.js.gz +0 -0
  113. codex/static_root/assets/browser-BHHgqDP7.js +1 -0
  114. codex/static_root/assets/browser-BHHgqDP7.js.br +0 -0
  115. codex/static_root/assets/browser-BHHgqDP7.js.gz +0 -0
  116. codex/static_root/assets/{browser-DP9eEJ0M.css → browser-Cy0OgQJC.css} +1 -1
  117. codex/static_root/assets/browser-Cy0OgQJC.css.br +0 -0
  118. codex/static_root/assets/browser-Cy0OgQJC.css.gz +0 -0
  119. codex/static_root/assets/{browser-DP9eEJ0M.276e8636f8fc.css → browser-Cy0OgQJC.fabbd1aaffcf.css} +1 -1
  120. codex/static_root/assets/browser-Cy0OgQJC.fabbd1aaffcf.css.br +0 -0
  121. codex/static_root/assets/browser-Cy0OgQJC.fabbd1aaffcf.css.gz +0 -0
  122. codex/static_root/assets/change-password-dialog-Du1bwEt1.a4c0205c9bc4.js +1 -0
  123. codex/static_root/assets/change-password-dialog-Du1bwEt1.a4c0205c9bc4.js.br +0 -0
  124. codex/static_root/assets/change-password-dialog-Du1bwEt1.a4c0205c9bc4.js.gz +0 -0
  125. codex/static_root/assets/change-password-dialog-Du1bwEt1.js +1 -0
  126. codex/static_root/assets/change-password-dialog-Du1bwEt1.js.br +0 -0
  127. codex/static_root/assets/change-password-dialog-Du1bwEt1.js.gz +0 -0
  128. codex/static_root/assets/confirm-dialog-eKN71B8a.af6187dc12bd.js +1 -0
  129. codex/static_root/assets/confirm-dialog-eKN71B8a.af6187dc12bd.js.br +0 -0
  130. codex/static_root/assets/confirm-dialog-eKN71B8a.af6187dc12bd.js.gz +0 -0
  131. codex/static_root/assets/confirm-dialog-eKN71B8a.js +1 -0
  132. codex/static_root/assets/confirm-dialog-eKN71B8a.js.br +0 -0
  133. codex/static_root/assets/confirm-dialog-eKN71B8a.js.gz +0 -0
  134. codex/static_root/assets/{datetime-column-uaXWFgF_.29c6d50b483e.js → datetime-column-CWp600fz.e8a969126bf5.js} +1 -1
  135. codex/static_root/assets/datetime-column-CWp600fz.e8a969126bf5.js.br +0 -0
  136. codex/static_root/assets/datetime-column-CWp600fz.e8a969126bf5.js.gz +0 -0
  137. codex/static_root/assets/{datetime-column-uaXWFgF_.js → datetime-column-CWp600fz.js} +1 -1
  138. codex/static_root/assets/datetime-column-CWp600fz.js.br +0 -0
  139. codex/static_root/assets/datetime-column-CWp600fz.js.gz +0 -0
  140. codex/static_root/assets/{filter-DS84uTvk.4fbebd4832bc.js → filter-_XbKRiIR.2c7ac68a2d03.js} +1 -1
  141. codex/static_root/assets/filter-_XbKRiIR.2c7ac68a2d03.js.br +0 -0
  142. codex/static_root/assets/filter-_XbKRiIR.2c7ac68a2d03.js.gz +0 -0
  143. codex/static_root/assets/{filter-DS84uTvk.js → filter-_XbKRiIR.js} +1 -1
  144. codex/static_root/assets/filter-_XbKRiIR.js.br +0 -0
  145. codex/static_root/assets/filter-_XbKRiIR.js.gz +0 -0
  146. codex/static_root/assets/flag-tab-DBqpLKi7.css +1 -0
  147. codex/static_root/assets/flag-tab-DBqpLKi7.css.br +0 -0
  148. codex/static_root/assets/flag-tab-DBqpLKi7.css.gz +0 -0
  149. codex/static_root/assets/flag-tab-DBqpLKi7.dcfef39f541e.css +1 -0
  150. codex/static_root/assets/flag-tab-DBqpLKi7.dcfef39f541e.css.br +0 -0
  151. codex/static_root/assets/flag-tab-DBqpLKi7.dcfef39f541e.css.gz +0 -0
  152. codex/static_root/assets/flag-tab-DR_nY0Jg.7323e386c6ed.js +1 -0
  153. codex/static_root/assets/flag-tab-DR_nY0Jg.7323e386c6ed.js.br +0 -0
  154. codex/static_root/assets/flag-tab-DR_nY0Jg.7323e386c6ed.js.gz +0 -0
  155. codex/static_root/assets/flag-tab-DR_nY0Jg.js +1 -0
  156. codex/static_root/assets/flag-tab-DR_nY0Jg.js.br +0 -0
  157. codex/static_root/assets/flag-tab-DR_nY0Jg.js.gz +0 -0
  158. codex/static_root/assets/group-tab-JKsMHOmK.d2c2f3fceec1.js +1 -0
  159. codex/static_root/assets/group-tab-JKsMHOmK.d2c2f3fceec1.js.br +0 -0
  160. codex/static_root/assets/group-tab-JKsMHOmK.d2c2f3fceec1.js.gz +0 -0
  161. codex/static_root/assets/group-tab-JKsMHOmK.js +1 -0
  162. codex/static_root/assets/group-tab-JKsMHOmK.js.br +0 -0
  163. codex/static_root/assets/group-tab-JKsMHOmK.js.gz +0 -0
  164. codex/static_root/assets/http-error-Bw1wUv3U.c8313a2fb129.js +1 -0
  165. codex/static_root/assets/http-error-Bw1wUv3U.c8313a2fb129.js.br +0 -0
  166. codex/static_root/assets/http-error-Bw1wUv3U.c8313a2fb129.js.gz +0 -0
  167. codex/static_root/assets/http-error-Bw1wUv3U.js +1 -0
  168. codex/static_root/assets/http-error-Bw1wUv3U.js.br +0 -0
  169. codex/static_root/assets/http-error-Bw1wUv3U.js.gz +0 -0
  170. codex/static_root/assets/{library-tab-BN0SfPcH.913e236f625e.css → library-tab-BygwYPnO.94e92aa60bf2.css} +1 -1
  171. codex/static_root/assets/library-tab-BygwYPnO.94e92aa60bf2.css.br +0 -0
  172. codex/static_root/assets/library-tab-BygwYPnO.94e92aa60bf2.css.gz +0 -0
  173. codex/static_root/assets/{library-tab-BN0SfPcH.css → library-tab-BygwYPnO.css} +1 -1
  174. codex/static_root/assets/library-tab-BygwYPnO.css.br +0 -0
  175. codex/static_root/assets/library-tab-BygwYPnO.css.gz +0 -0
  176. codex/static_root/assets/library-tab-D9GTugZ6.8e3e6ebd38b7.js +1 -0
  177. codex/static_root/assets/library-tab-D9GTugZ6.8e3e6ebd38b7.js.br +0 -0
  178. codex/static_root/assets/library-tab-D9GTugZ6.8e3e6ebd38b7.js.gz +0 -0
  179. codex/static_root/assets/library-tab-D9GTugZ6.js +1 -0
  180. codex/static_root/assets/library-tab-D9GTugZ6.js.br +0 -0
  181. codex/static_root/assets/library-tab-D9GTugZ6.js.gz +0 -0
  182. codex/static_root/assets/main-BJiV8IG3.9d708627091f.js +6 -0
  183. codex/static_root/assets/main-BJiV8IG3.9d708627091f.js.br +0 -0
  184. codex/static_root/assets/main-BJiV8IG3.9d708627091f.js.gz +0 -0
  185. codex/static_root/assets/main-BJiV8IG3.js +6 -0
  186. codex/static_root/assets/main-BJiV8IG3.js.br +0 -0
  187. codex/static_root/assets/main-BJiV8IG3.js.gz +0 -0
  188. codex/static_root/assets/pagination-toolbar-i2VoXaGH.c3dbb703af2e.js +1 -0
  189. codex/static_root/assets/pagination-toolbar-i2VoXaGH.c3dbb703af2e.js.br +0 -0
  190. codex/static_root/assets/pagination-toolbar-i2VoXaGH.c3dbb703af2e.js.gz +0 -0
  191. codex/static_root/assets/pagination-toolbar-i2VoXaGH.js +1 -0
  192. codex/static_root/assets/pagination-toolbar-i2VoXaGH.js.br +0 -0
  193. codex/static_root/assets/pagination-toolbar-i2VoXaGH.js.gz +0 -0
  194. codex/static_root/assets/{pdf-doc-C-4EM9-d.ce9cf66bd4c3.js → pdf-doc-BLxZLD38.4cf9622c535f.js} +1 -1
  195. codex/static_root/assets/pdf-doc-BLxZLD38.4cf9622c535f.js.br +0 -0
  196. codex/static_root/assets/pdf-doc-BLxZLD38.4cf9622c535f.js.gz +0 -0
  197. codex/static_root/assets/{pdf-doc-C-4EM9-d.js → pdf-doc-BLxZLD38.js} +1 -1
  198. codex/static_root/assets/pdf-doc-BLxZLD38.js.br +0 -0
  199. codex/static_root/assets/pdf-doc-BLxZLD38.js.gz +0 -0
  200. codex/static_root/assets/reader-D2O_yHTW.70d616ddc2cc.js +2 -0
  201. codex/static_root/assets/reader-D2O_yHTW.70d616ddc2cc.js.br +0 -0
  202. codex/static_root/assets/reader-D2O_yHTW.70d616ddc2cc.js.gz +0 -0
  203. codex/static_root/assets/reader-D2O_yHTW.js +2 -0
  204. codex/static_root/assets/reader-D2O_yHTW.js.br +0 -0
  205. codex/static_root/assets/reader-D2O_yHTW.js.gz +0 -0
  206. codex/static_root/assets/{reader-DOQuhDYO.css → reader-YbzUiD0T.css} +1 -1
  207. codex/static_root/assets/reader-YbzUiD0T.css.br +0 -0
  208. codex/static_root/assets/reader-YbzUiD0T.css.gz +0 -0
  209. codex/static_root/assets/{reader-DOQuhDYO.df559ad29ab3.css → reader-YbzUiD0T.efb15835b39d.css} +1 -1
  210. codex/static_root/assets/reader-YbzUiD0T.efb15835b39d.css.br +0 -0
  211. codex/static_root/assets/reader-YbzUiD0T.efb15835b39d.css.gz +0 -0
  212. codex/static_root/assets/{relation-chips-Bsc-gUxE.98e65384c3c9.css → relation-chips-BGitp3yx.b3e7d178a615.css} +1 -1
  213. codex/static_root/assets/relation-chips-BGitp3yx.b3e7d178a615.css.br +0 -0
  214. codex/static_root/assets/relation-chips-BGitp3yx.b3e7d178a615.css.gz +0 -0
  215. codex/static_root/assets/{relation-chips-Bsc-gUxE.css → relation-chips-BGitp3yx.css} +1 -1
  216. codex/static_root/assets/relation-chips-BGitp3yx.css.br +0 -0
  217. codex/static_root/assets/relation-chips-BGitp3yx.css.gz +0 -0
  218. codex/static_root/assets/relation-chips-CmeSIsRq.f169f7c3f48d.js +1 -0
  219. codex/static_root/assets/relation-chips-CmeSIsRq.f169f7c3f48d.js.br +0 -0
  220. codex/static_root/assets/relation-chips-CmeSIsRq.f169f7c3f48d.js.gz +0 -0
  221. codex/static_root/assets/relation-chips-CmeSIsRq.js +1 -0
  222. codex/static_root/assets/relation-chips-CmeSIsRq.js.br +0 -0
  223. codex/static_root/assets/relation-chips-CmeSIsRq.js.gz +0 -0
  224. codex/static_root/assets/settings-drawer-XH4sNDNT.98ee4b24901c.js +2 -0
  225. codex/static_root/assets/settings-drawer-XH4sNDNT.98ee4b24901c.js.br +0 -0
  226. codex/static_root/assets/settings-drawer-XH4sNDNT.98ee4b24901c.js.gz +0 -0
  227. codex/static_root/assets/settings-drawer-XH4sNDNT.js +2 -0
  228. codex/static_root/assets/settings-drawer-XH4sNDNT.js.br +0 -0
  229. codex/static_root/assets/settings-drawer-XH4sNDNT.js.gz +0 -0
  230. codex/static_root/assets/stats-tab-BGxkeKnY.44cf18ca895d.js +1 -0
  231. codex/static_root/assets/stats-tab-BGxkeKnY.44cf18ca895d.js.br +0 -0
  232. codex/static_root/assets/stats-tab-BGxkeKnY.44cf18ca895d.js.gz +0 -0
  233. codex/static_root/assets/stats-tab-BGxkeKnY.js +1 -0
  234. codex/static_root/assets/stats-tab-BGxkeKnY.js.br +0 -0
  235. codex/static_root/assets/stats-tab-BGxkeKnY.js.gz +0 -0
  236. codex/static_root/assets/stats-tab-CI0u-X7Y.2d1b6a0d4139.css +1 -0
  237. codex/static_root/assets/stats-tab-CI0u-X7Y.2d1b6a0d4139.css.br +0 -0
  238. codex/static_root/assets/stats-tab-CI0u-X7Y.2d1b6a0d4139.css.gz +0 -0
  239. codex/static_root/assets/stats-tab-CI0u-X7Y.css +1 -0
  240. codex/static_root/assets/stats-tab-CI0u-X7Y.css.br +0 -0
  241. codex/static_root/assets/stats-tab-CI0u-X7Y.css.gz +0 -0
  242. codex/static_root/assets/task-tab-B74Kah_b.58627993d3c6.js +1 -0
  243. codex/static_root/assets/task-tab-B74Kah_b.58627993d3c6.js.br +0 -0
  244. codex/static_root/assets/task-tab-B74Kah_b.58627993d3c6.js.gz +0 -0
  245. codex/static_root/assets/task-tab-B74Kah_b.js +1 -0
  246. codex/static_root/assets/task-tab-B74Kah_b.js.br +0 -0
  247. codex/static_root/assets/task-tab-B74Kah_b.js.gz +0 -0
  248. codex/static_root/assets/unauthorized-BF45der6.d34f8022124b.js +1 -0
  249. codex/static_root/assets/unauthorized-BF45der6.d34f8022124b.js.br +0 -0
  250. codex/static_root/assets/unauthorized-BF45der6.d34f8022124b.js.gz +0 -0
  251. codex/static_root/assets/unauthorized-BF45der6.js +1 -0
  252. codex/static_root/assets/unauthorized-BF45der6.js.br +0 -0
  253. codex/static_root/assets/unauthorized-BF45der6.js.gz +0 -0
  254. codex/static_root/assets/user-tab-BP2TTPg5.e63a5661a1a5.js +1 -0
  255. codex/static_root/assets/user-tab-BP2TTPg5.e63a5661a1a5.js.br +0 -0
  256. codex/static_root/assets/user-tab-BP2TTPg5.e63a5661a1a5.js.gz +0 -0
  257. codex/static_root/assets/user-tab-BP2TTPg5.js +1 -0
  258. codex/static_root/assets/user-tab-BP2TTPg5.js.br +0 -0
  259. codex/static_root/assets/user-tab-BP2TTPg5.js.gz +0 -0
  260. codex/static_root/{manifest.80e911824648.json → manifest.7033f9a22987.json} +230 -242
  261. codex/static_root/manifest.7033f9a22987.json.br +0 -0
  262. codex/static_root/manifest.7033f9a22987.json.gz +0 -0
  263. codex/static_root/manifest.json +230 -242
  264. codex/static_root/manifest.json.br +0 -0
  265. codex/static_root/manifest.json.gz +0 -0
  266. codex/static_root/staticfiles.json +1 -1
  267. codex/urls/root.py +12 -2
  268. codex/views/admin/api_key.py +1 -1
  269. codex/views/admin/flag.py +1 -1
  270. codex/views/admin/group.py +1 -1
  271. codex/views/admin/library.py +1 -1
  272. codex/views/admin/stats.py +41 -155
  273. codex/views/admin/tasks.py +1 -1
  274. codex/views/admin/user.py +1 -1
  275. codex/views/browser/browser.py +4 -1
  276. codex/views/browser/filters/field.py +15 -6
  277. codex/views/browser/paginate.py +61 -11
  278. codex/views/browser/validate.py +7 -5
  279. codex/views/opds/binary.py +1 -3
  280. codex/views/opds/const.py +10 -0
  281. codex/views/opds/util.py +10 -0
  282. codex/views/opds/v1/entry/entry.py +14 -18
  283. codex/views/opds/v1/feed.py +10 -24
  284. codex/views/opds/v1/links.py +1 -0
  285. codex/views/reader/arcs.py +65 -53
  286. codex/views/reader/books.py +38 -38
  287. codex/views/reader/init.py +7 -5
  288. codex/views/reader/reader.py +0 -2
  289. {codex-1.6.2.dist-info → codex-1.6.4.dist-info}/METADATA +18 -7
  290. {codex-1.6.2.dist-info → codex-1.6.4.dist-info}/RECORD +293 -289
  291. codex/serializers/admin.py +0 -268
  292. codex/settings/logging.py +0 -20
  293. codex/static_root/assets/VCheckbox-DUxuAZcY.46ab94043464.js +0 -1
  294. codex/static_root/assets/VCheckbox-DUxuAZcY.46ab94043464.js.br +0 -0
  295. codex/static_root/assets/VCheckbox-DUxuAZcY.46ab94043464.js.gz +0 -0
  296. codex/static_root/assets/VCheckbox-DUxuAZcY.js +0 -1
  297. codex/static_root/assets/VCheckbox-DUxuAZcY.js.br +0 -0
  298. codex/static_root/assets/VCheckbox-DUxuAZcY.js.gz +0 -0
  299. codex/static_root/assets/VCheckboxBtn-BTFFFGx3.0cbde4eb9a65.js +0 -1
  300. codex/static_root/assets/VCheckboxBtn-BTFFFGx3.0cbde4eb9a65.js.br +0 -0
  301. codex/static_root/assets/VCheckboxBtn-BTFFFGx3.0cbde4eb9a65.js.gz +0 -0
  302. codex/static_root/assets/VCheckboxBtn-BTFFFGx3.js +0 -1
  303. codex/static_root/assets/VCheckboxBtn-BTFFFGx3.js.br +0 -0
  304. codex/static_root/assets/VCheckboxBtn-BTFFFGx3.js.gz +0 -0
  305. codex/static_root/assets/VCombobox-CGyBgdqr.2f85598cc1a4.js.br +0 -0
  306. codex/static_root/assets/VCombobox-CGyBgdqr.2f85598cc1a4.js.gz +0 -0
  307. codex/static_root/assets/VCombobox-CGyBgdqr.js.br +0 -0
  308. codex/static_root/assets/VCombobox-CGyBgdqr.js.gz +0 -0
  309. codex/static_root/assets/VDialog-DTWAoZBU.b8c4c276e9b2.js +0 -1
  310. codex/static_root/assets/VDialog-DTWAoZBU.b8c4c276e9b2.js.br +0 -0
  311. codex/static_root/assets/VDialog-DTWAoZBU.b8c4c276e9b2.js.gz +0 -0
  312. codex/static_root/assets/VDialog-DTWAoZBU.js +0 -1
  313. codex/static_root/assets/VDialog-DTWAoZBU.js.br +0 -0
  314. codex/static_root/assets/VDialog-DTWAoZBU.js.gz +0 -0
  315. codex/static_root/assets/VExpansionPanels-D4psrz4h.b55b901da65f.js +0 -1
  316. codex/static_root/assets/VExpansionPanels-D4psrz4h.b55b901da65f.js.br +0 -0
  317. codex/static_root/assets/VExpansionPanels-D4psrz4h.b55b901da65f.js.gz +0 -0
  318. codex/static_root/assets/VExpansionPanels-D4psrz4h.js +0 -1
  319. codex/static_root/assets/VExpansionPanels-D4psrz4h.js.br +0 -0
  320. codex/static_root/assets/VExpansionPanels-D4psrz4h.js.gz +0 -0
  321. codex/static_root/assets/VRadioGroup-BY572TP-.6d47a94795de.js +0 -1
  322. codex/static_root/assets/VRadioGroup-BY572TP-.6d47a94795de.js.br +0 -2
  323. codex/static_root/assets/VRadioGroup-BY572TP-.6d47a94795de.js.gz +0 -0
  324. codex/static_root/assets/VRadioGroup-BY572TP-.js +0 -1
  325. codex/static_root/assets/VRadioGroup-BY572TP-.js.br +0 -2
  326. codex/static_root/assets/VRadioGroup-BY572TP-.js.gz +0 -0
  327. codex/static_root/assets/VSelect-Bnhj5kBc.fdcd87c9e253.js +0 -1
  328. codex/static_root/assets/VSelect-Bnhj5kBc.fdcd87c9e253.js.br +0 -0
  329. codex/static_root/assets/VSelect-Bnhj5kBc.fdcd87c9e253.js.gz +0 -0
  330. codex/static_root/assets/VSelect-Bnhj5kBc.js +0 -1
  331. codex/static_root/assets/VSelect-Bnhj5kBc.js.br +0 -0
  332. codex/static_root/assets/VSelect-Bnhj5kBc.js.gz +0 -0
  333. codex/static_root/assets/VSelectionControl-DXxRmssH.252890f79cc6.js.br +0 -0
  334. codex/static_root/assets/VSelectionControl-DXxRmssH.252890f79cc6.js.gz +0 -0
  335. codex/static_root/assets/VSelectionControl-DXxRmssH.js.br +0 -0
  336. codex/static_root/assets/VSelectionControl-DXxRmssH.js.gz +0 -0
  337. codex/static_root/assets/VSlideGroup-DYJ3EYZI.a2542c5f90c4.js.br +0 -0
  338. codex/static_root/assets/VSlideGroup-DYJ3EYZI.a2542c5f90c4.js.gz +0 -0
  339. codex/static_root/assets/VSlideGroup-DYJ3EYZI.js.br +0 -0
  340. codex/static_root/assets/VSlideGroup-DYJ3EYZI.js.gz +0 -0
  341. codex/static_root/assets/VTable-BveGtxei.7f76f4ef812b.js.br +0 -0
  342. codex/static_root/assets/VTable-BveGtxei.7f76f4ef812b.js.gz +0 -0
  343. codex/static_root/assets/VTable-BveGtxei.js.br +0 -0
  344. codex/static_root/assets/VTable-BveGtxei.js.gz +0 -0
  345. codex/static_root/assets/VTextField-BayL7C1D.6e53c61b3760.js +0 -1
  346. codex/static_root/assets/VTextField-BayL7C1D.6e53c61b3760.js.br +0 -0
  347. codex/static_root/assets/VTextField-BayL7C1D.6e53c61b3760.js.gz +0 -0
  348. codex/static_root/assets/VTextField-BayL7C1D.js +0 -1
  349. codex/static_root/assets/VTextField-BayL7C1D.js.br +0 -0
  350. codex/static_root/assets/VTextField-BayL7C1D.js.gz +0 -0
  351. codex/static_root/assets/VWindowItem-FBuIO_rT.8610c7e83905.js.br +0 -0
  352. codex/static_root/assets/VWindowItem-FBuIO_rT.8610c7e83905.js.gz +0 -0
  353. codex/static_root/assets/VWindowItem-FBuIO_rT.js.br +0 -0
  354. codex/static_root/assets/VWindowItem-FBuIO_rT.js.gz +0 -0
  355. codex/static_root/assets/admin-B8Bp2Uih.82c98714bcf1.css.br +0 -0
  356. codex/static_root/assets/admin-B8Bp2Uih.82c98714bcf1.css.gz +0 -0
  357. codex/static_root/assets/admin-B8Bp2Uih.css.br +0 -0
  358. codex/static_root/assets/admin-B8Bp2Uih.css.gz +0 -0
  359. codex/static_root/assets/admin-BH6uiYBb.d51c720fa05c.js +0 -1
  360. codex/static_root/assets/admin-BH6uiYBb.d51c720fa05c.js.br +0 -0
  361. codex/static_root/assets/admin-BH6uiYBb.d51c720fa05c.js.gz +0 -0
  362. codex/static_root/assets/admin-BH6uiYBb.js +0 -1
  363. codex/static_root/assets/admin-BH6uiYBb.js.br +0 -0
  364. codex/static_root/assets/admin-BH6uiYBb.js.gz +0 -0
  365. codex/static_root/assets/admin-drawer-panel-DsgLbfnD.7c409b430d79.js +0 -30
  366. codex/static_root/assets/admin-drawer-panel-DsgLbfnD.7c409b430d79.js.br +0 -0
  367. codex/static_root/assets/admin-drawer-panel-DsgLbfnD.7c409b430d79.js.gz +0 -0
  368. codex/static_root/assets/admin-drawer-panel-DsgLbfnD.js +0 -30
  369. codex/static_root/assets/admin-drawer-panel-DsgLbfnD.js.br +0 -0
  370. codex/static_root/assets/admin-drawer-panel-DsgLbfnD.js.gz +0 -0
  371. codex/static_root/assets/browser-BVciW8XB.ab1d75272aa7.js +0 -1
  372. codex/static_root/assets/browser-BVciW8XB.ab1d75272aa7.js.br +0 -0
  373. codex/static_root/assets/browser-BVciW8XB.ab1d75272aa7.js.gz +0 -0
  374. codex/static_root/assets/browser-BVciW8XB.js +0 -1
  375. codex/static_root/assets/browser-BVciW8XB.js.br +0 -0
  376. codex/static_root/assets/browser-BVciW8XB.js.gz +0 -0
  377. codex/static_root/assets/browser-DP9eEJ0M.276e8636f8fc.css.br +0 -0
  378. codex/static_root/assets/browser-DP9eEJ0M.276e8636f8fc.css.gz +0 -0
  379. codex/static_root/assets/browser-DP9eEJ0M.css.br +0 -0
  380. codex/static_root/assets/browser-DP9eEJ0M.css.gz +0 -0
  381. codex/static_root/assets/change-password-dialog-B-Sd5U5p.adf0a0f02866.js +0 -1
  382. codex/static_root/assets/change-password-dialog-B-Sd5U5p.adf0a0f02866.js.br +0 -0
  383. codex/static_root/assets/change-password-dialog-B-Sd5U5p.adf0a0f02866.js.gz +0 -0
  384. codex/static_root/assets/change-password-dialog-B-Sd5U5p.js +0 -1
  385. codex/static_root/assets/change-password-dialog-B-Sd5U5p.js.br +0 -0
  386. codex/static_root/assets/change-password-dialog-B-Sd5U5p.js.gz +0 -0
  387. codex/static_root/assets/confirm-dialog-CYEBgtj5.a5f142656c12.js +0 -1
  388. codex/static_root/assets/confirm-dialog-CYEBgtj5.a5f142656c12.js.br +0 -0
  389. codex/static_root/assets/confirm-dialog-CYEBgtj5.a5f142656c12.js.gz +0 -0
  390. codex/static_root/assets/confirm-dialog-CYEBgtj5.js +0 -1
  391. codex/static_root/assets/confirm-dialog-CYEBgtj5.js.br +0 -0
  392. codex/static_root/assets/confirm-dialog-CYEBgtj5.js.gz +0 -0
  393. codex/static_root/assets/datetime-column-uaXWFgF_.29c6d50b483e.js.br +0 -0
  394. codex/static_root/assets/datetime-column-uaXWFgF_.29c6d50b483e.js.gz +0 -0
  395. codex/static_root/assets/datetime-column-uaXWFgF_.js.br +0 -0
  396. codex/static_root/assets/datetime-column-uaXWFgF_.js.gz +0 -0
  397. codex/static_root/assets/filter-DS84uTvk.4fbebd4832bc.js.br +0 -0
  398. codex/static_root/assets/filter-DS84uTvk.4fbebd4832bc.js.gz +0 -0
  399. codex/static_root/assets/filter-DS84uTvk.js.br +0 -0
  400. codex/static_root/assets/filter-DS84uTvk.js.gz +0 -0
  401. codex/static_root/assets/flag-tab-BNwbLfrN.b755a99fff7e.css +0 -1
  402. codex/static_root/assets/flag-tab-BNwbLfrN.b755a99fff7e.css.br +0 -0
  403. codex/static_root/assets/flag-tab-BNwbLfrN.b755a99fff7e.css.gz +0 -0
  404. codex/static_root/assets/flag-tab-BNwbLfrN.css +0 -1
  405. codex/static_root/assets/flag-tab-BNwbLfrN.css.br +0 -0
  406. codex/static_root/assets/flag-tab-BNwbLfrN.css.gz +0 -0
  407. codex/static_root/assets/flag-tab-iJTJldQ1.213201f8e03b.js +0 -1
  408. codex/static_root/assets/flag-tab-iJTJldQ1.213201f8e03b.js.br +0 -0
  409. codex/static_root/assets/flag-tab-iJTJldQ1.213201f8e03b.js.gz +0 -0
  410. codex/static_root/assets/flag-tab-iJTJldQ1.js +0 -1
  411. codex/static_root/assets/flag-tab-iJTJldQ1.js.br +0 -0
  412. codex/static_root/assets/flag-tab-iJTJldQ1.js.gz +0 -0
  413. codex/static_root/assets/group-tab-DdmGE4gB.48ef83a4c7cd.js +0 -1
  414. codex/static_root/assets/group-tab-DdmGE4gB.48ef83a4c7cd.js.br +0 -0
  415. codex/static_root/assets/group-tab-DdmGE4gB.48ef83a4c7cd.js.gz +0 -0
  416. codex/static_root/assets/group-tab-DdmGE4gB.js +0 -1
  417. codex/static_root/assets/group-tab-DdmGE4gB.js.br +0 -0
  418. codex/static_root/assets/group-tab-DdmGE4gB.js.gz +0 -0
  419. codex/static_root/assets/http-error-HtOe8jPa.141ad665f81d.js +0 -1
  420. codex/static_root/assets/http-error-HtOe8jPa.141ad665f81d.js.br +0 -0
  421. codex/static_root/assets/http-error-HtOe8jPa.141ad665f81d.js.gz +0 -0
  422. codex/static_root/assets/http-error-HtOe8jPa.js +0 -1
  423. codex/static_root/assets/http-error-HtOe8jPa.js.br +0 -0
  424. codex/static_root/assets/http-error-HtOe8jPa.js.gz +0 -0
  425. codex/static_root/assets/library-tab-BN0SfPcH.913e236f625e.css.br +0 -0
  426. codex/static_root/assets/library-tab-BN0SfPcH.913e236f625e.css.gz +0 -0
  427. codex/static_root/assets/library-tab-BN0SfPcH.css.br +0 -0
  428. codex/static_root/assets/library-tab-BN0SfPcH.css.gz +0 -0
  429. codex/static_root/assets/library-tab-DLAJV6j2.dae6292bbf28.js +0 -1
  430. codex/static_root/assets/library-tab-DLAJV6j2.dae6292bbf28.js.br +0 -0
  431. codex/static_root/assets/library-tab-DLAJV6j2.dae6292bbf28.js.gz +0 -0
  432. codex/static_root/assets/library-tab-DLAJV6j2.js +0 -1
  433. codex/static_root/assets/library-tab-DLAJV6j2.js.br +0 -0
  434. codex/static_root/assets/library-tab-DLAJV6j2.js.gz +0 -0
  435. codex/static_root/assets/main-BjGE3kSi.22c1b19a9e19.js +0 -32
  436. codex/static_root/assets/main-BjGE3kSi.22c1b19a9e19.js.br +0 -0
  437. codex/static_root/assets/main-BjGE3kSi.22c1b19a9e19.js.gz +0 -0
  438. codex/static_root/assets/main-BjGE3kSi.js +0 -32
  439. codex/static_root/assets/main-BjGE3kSi.js.br +0 -0
  440. codex/static_root/assets/main-BjGE3kSi.js.gz +0 -0
  441. codex/static_root/assets/pagination-toolbar-C8CSryCU.9b61f95fd710.js +0 -1
  442. codex/static_root/assets/pagination-toolbar-C8CSryCU.9b61f95fd710.js.br +0 -0
  443. codex/static_root/assets/pagination-toolbar-C8CSryCU.9b61f95fd710.js.gz +0 -0
  444. codex/static_root/assets/pagination-toolbar-C8CSryCU.js +0 -1
  445. codex/static_root/assets/pagination-toolbar-C8CSryCU.js.br +0 -0
  446. codex/static_root/assets/pagination-toolbar-C8CSryCU.js.gz +0 -0
  447. codex/static_root/assets/pdf-doc-C-4EM9-d.ce9cf66bd4c3.js.br +0 -0
  448. codex/static_root/assets/pdf-doc-C-4EM9-d.ce9cf66bd4c3.js.gz +0 -0
  449. codex/static_root/assets/pdf-doc-C-4EM9-d.js.br +0 -0
  450. codex/static_root/assets/pdf-doc-C-4EM9-d.js.gz +0 -0
  451. codex/static_root/assets/reader-C5OTEQ7N.fae52c1fee51.js +0 -2
  452. codex/static_root/assets/reader-C5OTEQ7N.fae52c1fee51.js.br +0 -0
  453. codex/static_root/assets/reader-C5OTEQ7N.fae52c1fee51.js.gz +0 -0
  454. codex/static_root/assets/reader-C5OTEQ7N.js +0 -2
  455. codex/static_root/assets/reader-C5OTEQ7N.js.br +0 -0
  456. codex/static_root/assets/reader-C5OTEQ7N.js.gz +0 -0
  457. codex/static_root/assets/reader-DOQuhDYO.css.br +0 -0
  458. codex/static_root/assets/reader-DOQuhDYO.css.gz +0 -0
  459. codex/static_root/assets/reader-DOQuhDYO.df559ad29ab3.css.br +0 -0
  460. codex/static_root/assets/reader-DOQuhDYO.df559ad29ab3.css.gz +0 -0
  461. codex/static_root/assets/relation-chips-Bsc-gUxE.98e65384c3c9.css.br +0 -0
  462. codex/static_root/assets/relation-chips-Bsc-gUxE.98e65384c3c9.css.gz +0 -0
  463. codex/static_root/assets/relation-chips-Bsc-gUxE.css.br +0 -0
  464. codex/static_root/assets/relation-chips-Bsc-gUxE.css.gz +0 -0
  465. codex/static_root/assets/relation-chips-C4LQSHRc.3c85433df91c.js +0 -1
  466. codex/static_root/assets/relation-chips-C4LQSHRc.3c85433df91c.js.br +0 -0
  467. codex/static_root/assets/relation-chips-C4LQSHRc.3c85433df91c.js.gz +0 -0
  468. codex/static_root/assets/relation-chips-C4LQSHRc.js +0 -1
  469. codex/static_root/assets/relation-chips-C4LQSHRc.js.br +0 -0
  470. codex/static_root/assets/relation-chips-C4LQSHRc.js.gz +0 -0
  471. codex/static_root/assets/settings-drawer-aTAAoX2A.2f21008ade35.js +0 -2
  472. codex/static_root/assets/settings-drawer-aTAAoX2A.2f21008ade35.js.br +0 -0
  473. codex/static_root/assets/settings-drawer-aTAAoX2A.2f21008ade35.js.gz +0 -0
  474. codex/static_root/assets/settings-drawer-aTAAoX2A.js +0 -2
  475. codex/static_root/assets/settings-drawer-aTAAoX2A.js.br +0 -0
  476. codex/static_root/assets/settings-drawer-aTAAoX2A.js.gz +0 -0
  477. codex/static_root/assets/stats-tab-B4yKuY0c.a5728396494b.css +0 -1
  478. codex/static_root/assets/stats-tab-B4yKuY0c.a5728396494b.css.br +0 -0
  479. codex/static_root/assets/stats-tab-B4yKuY0c.a5728396494b.css.gz +0 -0
  480. codex/static_root/assets/stats-tab-B4yKuY0c.css +0 -1
  481. codex/static_root/assets/stats-tab-B4yKuY0c.css.br +0 -0
  482. codex/static_root/assets/stats-tab-B4yKuY0c.css.gz +0 -0
  483. codex/static_root/assets/stats-tab-DL4J3pvZ.b9056e70a70f.js +0 -1
  484. codex/static_root/assets/stats-tab-DL4J3pvZ.b9056e70a70f.js.br +0 -0
  485. codex/static_root/assets/stats-tab-DL4J3pvZ.b9056e70a70f.js.gz +0 -0
  486. codex/static_root/assets/stats-tab-DL4J3pvZ.js +0 -1
  487. codex/static_root/assets/stats-tab-DL4J3pvZ.js.br +0 -0
  488. codex/static_root/assets/stats-tab-DL4J3pvZ.js.gz +0 -0
  489. codex/static_root/assets/task-tab-0t7ZJlwL.1ff1cc14a6aa.js +0 -1
  490. codex/static_root/assets/task-tab-0t7ZJlwL.1ff1cc14a6aa.js.br +0 -0
  491. codex/static_root/assets/task-tab-0t7ZJlwL.1ff1cc14a6aa.js.gz +0 -0
  492. codex/static_root/assets/task-tab-0t7ZJlwL.js +0 -1
  493. codex/static_root/assets/task-tab-0t7ZJlwL.js.br +0 -0
  494. codex/static_root/assets/task-tab-0t7ZJlwL.js.gz +0 -0
  495. codex/static_root/assets/to-case-BCB751sX.4afb5ae1b77d.js +0 -1
  496. codex/static_root/assets/to-case-BCB751sX.js +0 -1
  497. codex/static_root/assets/unauthorized-Ovy_BO5R.598527e8e4fe.js +0 -1
  498. codex/static_root/assets/unauthorized-Ovy_BO5R.598527e8e4fe.js.br +0 -0
  499. codex/static_root/assets/unauthorized-Ovy_BO5R.598527e8e4fe.js.gz +0 -0
  500. codex/static_root/assets/unauthorized-Ovy_BO5R.js +0 -1
  501. codex/static_root/assets/unauthorized-Ovy_BO5R.js.br +0 -0
  502. codex/static_root/assets/unauthorized-Ovy_BO5R.js.gz +0 -0
  503. codex/static_root/assets/user-tab-Cdspo8ie.8e886a1a28e8.js +0 -1
  504. codex/static_root/assets/user-tab-Cdspo8ie.8e886a1a28e8.js.br +0 -0
  505. codex/static_root/assets/user-tab-Cdspo8ie.8e886a1a28e8.js.gz +0 -0
  506. codex/static_root/assets/user-tab-Cdspo8ie.js +0 -1
  507. codex/static_root/assets/user-tab-Cdspo8ie.js.br +0 -0
  508. codex/static_root/assets/user-tab-Cdspo8ie.js.gz +0 -0
  509. codex/static_root/manifest.80e911824648.json.br +0 -0
  510. codex/static_root/manifest.80e911824648.json.gz +0 -0
  511. {codex-1.6.2.dist-info → codex-1.6.4.dist-info}/LICENSE +0 -0
  512. {codex-1.6.2.dist-info → codex-1.6.4.dist-info}/WHEEL +0 -0
  513. {codex-1.6.2.dist-info → codex-1.6.4.dist-info}/entry_points.txt +0 -0
@@ -1,268 +0,0 @@
1
- """Admin view serializers."""
2
-
3
- from pathlib import Path
4
-
5
- from django.contrib.auth.models import Group, User
6
- from rest_framework.fields import MultipleChoiceField
7
- from rest_framework.serializers import (
8
- BooleanField,
9
- CharField,
10
- ChoiceField,
11
- DateTimeField,
12
- IntegerField,
13
- ListField,
14
- Serializer,
15
- ValidationError,
16
- )
17
-
18
- from codex.logger.logging import get_logger
19
- from codex.models import AdminFlag, FailedImport, Library
20
- from codex.models.admin import GroupAuth
21
- from codex.serializers.choices import CHOICES
22
- from codex.serializers.models.base import BaseModelSerializer
23
-
24
- LOG = get_logger(__name__)
25
-
26
-
27
- class UserSerializer(BaseModelSerializer):
28
- """User Serializer."""
29
-
30
- last_active = DateTimeField(
31
- read_only=True, source="useractive.updated_at", allow_null=True
32
- )
33
-
34
- class Meta(BaseModelSerializer.Meta):
35
- """Specify Model."""
36
-
37
- model = User
38
- fields = (
39
- "pk",
40
- "username",
41
- "groups",
42
- "is_staff",
43
- "is_active",
44
- "last_active",
45
- "last_login",
46
- "date_joined",
47
- )
48
- read_only_fields = ("pk", "last_active", "last_login", "date_joined")
49
-
50
-
51
- class UserChangePasswordSerializer(Serializer):
52
- """Special User Change Password Serializer."""
53
-
54
- password = CharField(write_only=True)
55
-
56
-
57
- class GroupSerializer(BaseModelSerializer):
58
- """Group Serialier."""
59
-
60
- exclude = BooleanField(default=False, source="groupauth.exclude")
61
-
62
- class Meta(BaseModelSerializer.Meta):
63
- """Specify Model."""
64
-
65
- model = Group
66
- fields = ("pk", "name", "library_set", "user_set", "exclude")
67
- read_only_fields = ("pk",)
68
-
69
- def update(self, instance, validated_data):
70
- """Update with nested GroupAuth."""
71
- exclude = validated_data.pop("groupauth", {}).get("exclude")
72
- if exclude is not None:
73
- groupauth = GroupAuth.objects.get(group=instance)
74
- groupauth.exclude = exclude
75
- groupauth.save()
76
- return super().update(instance, validated_data)
77
-
78
- def create(self, validated_data):
79
- """Create with nested GroupAuth."""
80
- exclude = validated_data.pop("groupauth", {}).get("exclude", False)
81
- instance = super().create(validated_data)
82
- GroupAuth.objects.create(group=instance, exclude=exclude)
83
- return instance
84
-
85
-
86
- class AdminFlagSerializer(BaseModelSerializer):
87
- """Admin Flag Serializer."""
88
-
89
- class Meta(BaseModelSerializer.Meta):
90
- """Specify Model."""
91
-
92
- model = AdminFlag
93
- fields = ("key", "on")
94
- read_only_fields = ("key",)
95
-
96
-
97
- class LibrarySerializer(BaseModelSerializer):
98
- """Library Serializer."""
99
-
100
- class Meta(BaseModelSerializer.Meta):
101
- """Specify Model."""
102
-
103
- model = Library
104
- fields = (
105
- "pk",
106
- "path",
107
- "events",
108
- "last_poll",
109
- "poll",
110
- "poll_every",
111
- "groups",
112
- "covers_only",
113
- )
114
- read_only_fields = ("last_poll", "pk", "covers_only")
115
-
116
- def validate_path(self, path):
117
- """Validate new library paths."""
118
- ppath = Path(path).resolve()
119
- if not ppath.is_dir():
120
- reason = "Not a valid folder on this server"
121
- raise ValidationError(reason)
122
- existing_path_strs = Library.objects.values_list("path", flat=True)
123
- for existing_path_str in existing_path_strs:
124
- existing_path = Path(existing_path_str)
125
- if existing_path.is_relative_to(ppath):
126
- reason = "Parent of existing library path"
127
- raise ValidationError(reason)
128
- if ppath.is_relative_to(existing_path):
129
- reason = "Child of existing library path"
130
- raise ValidationError(reason)
131
- return path
132
-
133
-
134
- class FailedImportSerializer(BaseModelSerializer):
135
- """Failed Import Serializer."""
136
-
137
- class Meta(BaseModelSerializer.Meta):
138
- """Specify Model."""
139
-
140
- model = FailedImport
141
- fields = ("pk", "path", "created_at")
142
- read_only_fields = ("pk", "path", "created_at")
143
-
144
-
145
- class AdminLibrarianTaskSerializer(Serializer):
146
- """Get tasks from front end."""
147
-
148
- task = ChoiceField(choices=CHOICES["admin"]["tasks"])
149
- library_id = IntegerField(required=False)
150
-
151
-
152
- class AdminFolderListSerializer(Serializer):
153
- """Get a list of dirs."""
154
-
155
- root_folder = CharField(read_only=True)
156
- folders = ListField(child=CharField(read_only=True))
157
-
158
-
159
- class AdminFolderSerializer(Serializer):
160
- """Validate a dir."""
161
-
162
- path = CharField(default=".")
163
- show_hidden = BooleanField(default=False)
164
-
165
- def validate_path(self, path):
166
- """Validate the path is an existing directory."""
167
- ppath = Path(path)
168
- if not ppath.resolve().is_dir():
169
- reason = "Not a directory"
170
- raise ValidationError(reason)
171
- return path
172
-
173
- def validate_show_hidden(self, show_hidden):
174
- """Snakecase the showHidden field."""
175
- return (
176
- show_hidden == "true" or self.initial_data.get("showHidden") == "true" # type: ignore
177
- )
178
-
179
-
180
- class AdminGroupSerializer(Serializer):
181
- """Group Counts."""
182
-
183
- publishers_count = IntegerField(required=False, read_only=True)
184
- imprints_count = IntegerField(required=False, read_only=True)
185
- series_count = IntegerField(required=False, read_only=True)
186
- volumes_count = IntegerField(required=False, read_only=True)
187
- issues_count = IntegerField(required=False, read_only=True)
188
- folders_count = IntegerField(required=False, read_only=True)
189
- story_arcs_count = IntegerField(required=False, read_only=True)
190
-
191
-
192
- class AdminFileTypeSerializer(Serializer):
193
- """File Type Counts."""
194
-
195
- pdf_count = IntegerField(required=False, read_only=True)
196
- cbz_count = IntegerField(required=False, read_only=True)
197
- cbr_count = IntegerField(required=False, read_only=True)
198
- cbt_count = IntegerField(required=False, read_only=True)
199
- unknown_count = IntegerField(required=False, read_only=True)
200
-
201
-
202
- class AdminComicMetadataSerializer(Serializer):
203
- """Metadata Counts."""
204
-
205
- age_ratings_count = IntegerField(required=False, read_only=True)
206
- characters_count = IntegerField(required=False, read_only=True)
207
- contributors_count = IntegerField(required=False, read_only=True)
208
- contributor_persons_count = IntegerField(required=False, read_only=True)
209
- contributor_roles_count = IntegerField(required=False, read_only=True)
210
- countries_count = IntegerField(required=False, read_only=True)
211
- genres_count = IntegerField(required=False, read_only=True)
212
- identifiers_count = IntegerField(required=False, read_only=True)
213
- identifier_types_count = IntegerField(required=False, read_only=True)
214
- languages_count = IntegerField(required=False, read_only=True)
215
- locations_count = IntegerField(required=False, read_only=True)
216
- original_formats_count = IntegerField(required=False, read_only=True)
217
- series_groups_count = IntegerField(required=False, read_only=True)
218
- scan_infos_count = IntegerField(required=False, read_only=True)
219
- story_arcs_count = IntegerField(required=False)
220
- story_arc_numbers_count = IntegerField(required=False, read_only=True)
221
- tags_count = IntegerField(required=False, read_only=True)
222
- taggers_count = IntegerField(required=False, read_only=True)
223
- teams_count = IntegerField(required=False, read_only=True)
224
-
225
-
226
- class AdminConfigSerializer(Serializer):
227
- """Config Information."""
228
-
229
- api_key = CharField(required=False, read_only=True)
230
- groups_count = IntegerField(required=False, read_only=True)
231
- libraries_count = IntegerField(required=False, read_only=True)
232
- sessions_anon_count = IntegerField(required=False, read_only=True)
233
- sessions_count = IntegerField(required=False, read_only=True)
234
- users_count = IntegerField(required=False, read_only=True)
235
-
236
-
237
- class AdminPlatformSerializer(Serializer):
238
- """Platform Information."""
239
-
240
- docker = BooleanField(read_only=True)
241
- machine = CharField(read_only=True)
242
- system = CharField(read_only=True)
243
- system_release = CharField(read_only=True)
244
- python = CharField(read_only=True)
245
- codex = CharField(read_only=True)
246
-
247
-
248
- class AdminStatsSerializer(Serializer):
249
- """Admin Stats Tab."""
250
-
251
- platform = AdminPlatformSerializer(required=False)
252
- config = AdminConfigSerializer(required=False)
253
- groups = AdminGroupSerializer(required=False)
254
- file_types = AdminFileTypeSerializer(required=False)
255
- metadata = AdminComicMetadataSerializer(required=False)
256
-
257
-
258
- class AdminStatsRequestSerializer(Serializer):
259
- """Admin Stats Tab Request."""
260
-
261
- PARAMS_CHOICES = ("groups", "fileTypes", "platform", "config", "groups", "metadata")
262
- params = MultipleChoiceField(choices=PARAMS_CHOICES, required=False)
263
-
264
-
265
- class APIKeySerializer(Serializer):
266
- """API Key."""
267
-
268
- api_key = CharField(source="name")
codex/settings/logging.py DELETED
@@ -1,20 +0,0 @@
1
- """Logging settings functions."""
2
-
3
- import logging
4
- from os import environ
5
-
6
-
7
- def get_loglevel(debug):
8
- """Get the loglevel for the environment."""
9
- loglevel = environ.get("LOGLEVEL")
10
- if loglevel:
11
- if loglevel == "VERBOSE":
12
- environ["LOGLEVEL"] = "INFO"
13
- loglevel = logging.INFO
14
- print(
15
- "LOGLEVEL=VERBOSE has been deprecated."
16
- " Setting LOGLEVEL to INFO (the default)."
17
- " Use DEBUG for more verbose logging."
18
- )
19
- return loglevel
20
- return logging.DEBUG if debug else logging.INFO
@@ -1 +0,0 @@
1
- import{m as g,V as t}from"./VCheckboxBtn-BTFFFGx3.js";import{a as A,u as B,V as l}from"./VSelectionControl-DXxRmssH.js";import{E as I,ao as R,O as U,aw as w,F as D,h as E,R as M,cB as N,S as u,as as r}from"./admin-drawer-panel-DsgLbfnD.js";const O=I({...A(),...R(g(),["inline"])},"VCheckbox"),q=U()({name:"VCheckbox",inheritAttrs:!1,props:O(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,c){let{attrs:d,slots:a}=c;const s=w(e,"modelValue"),{isFocused:n,focus:i,blur:m}=B(e),V=D(),p=E(()=>e.id||`checkbox-${V}`);return M(()=>{const[b,f]=N(d),v=l.filterProps(e),k=t.filterProps(e);return u(l,r({class:["v-checkbox",e.class]},b,v,{modelValue:s.value,"onUpdate:modelValue":o=>s.value=o,id:p.value,focused:n.value,style:e.style}),{...a,default:o=>{let{id:h,messagesId:x,isDisabled:P,isReadonly:C,isValid:y}=o;return u(t,r(k,{id:h.value,"aria-describedby":x.value,disabled:P.value,readonly:C.value},f,{error:y.value===!1,modelValue:s.value,"onUpdate:modelValue":F=>s.value=F,onFocus:i,onBlur:m}),a)}})}),{}}});export{q as V};
@@ -1 +0,0 @@
1
- import{m as g,V as t}from"./VCheckboxBtn-BTFFFGx3.js";import{a as A,u as B,V as l}from"./VSelectionControl-DXxRmssH.js";import{E as I,ao as R,O as U,aw as w,F as D,h as E,R as M,cB as N,S as u,as as r}from"./admin-drawer-panel-DsgLbfnD.js";const O=I({...A(),...R(g(),["inline"])},"VCheckbox"),q=U()({name:"VCheckbox",inheritAttrs:!1,props:O(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,c){let{attrs:d,slots:a}=c;const s=w(e,"modelValue"),{isFocused:n,focus:i,blur:m}=B(e),V=D(),p=E(()=>e.id||`checkbox-${V}`);return M(()=>{const[b,f]=N(d),v=l.filterProps(e),k=t.filterProps(e);return u(l,r({class:["v-checkbox",e.class]},b,v,{modelValue:s.value,"onUpdate:modelValue":o=>s.value=o,id:p.value,focused:n.value,style:e.style}),{...a,default:o=>{let{id:h,messagesId:x,isDisabled:P,isReadonly:C,isValid:y}=o;return u(t,r(k,{id:h.value,"aria-describedby":x.value,disabled:P.value,readonly:C.value},f,{error:y.value===!1,modelValue:s.value,"onUpdate:modelValue":F=>s.value=F,onFocus:i,onBlur:m}),a)}})}),{}}});export{q as V};
@@ -1 +0,0 @@
1
- import{c as f,d as o}from"./VSelectionControl-DXxRmssH.js";import{E as V,bd as v,O as I,aw as c,h as l,R as h,ao as k,S as x,as as b}from"./admin-drawer-panel-DsgLbfnD.js";const C=V({indeterminate:Boolean,indeterminateIcon:{type:v,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),B=I()({name:"VCheckboxBtn",props:C(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,r){let{slots:s}=r;const t=c(e,"indeterminate"),n=c(e,"modelValue");function u(a){t.value&&(t.value=!1)}const d=l(()=>t.value?e.indeterminateIcon:e.falseIcon),i=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return h(()=>{const a=k(o.filterProps(e),["modelValue"]);return x(o,b(a,{modelValue:n.value,"onUpdate:modelValue":[m=>n.value=m,u],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:d.value,trueIcon:i.value,"aria-checked":t.value?"mixed":void 0}),s)}),{}}});export{B as V,C as m};
@@ -1 +0,0 @@
1
- import{c as f,d as o}from"./VSelectionControl-DXxRmssH.js";import{E as V,bd as v,O as I,aw as c,h as l,R as h,ao as k,S as x,as as b}from"./admin-drawer-panel-DsgLbfnD.js";const C=V({indeterminate:Boolean,indeterminateIcon:{type:v,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),B=I()({name:"VCheckboxBtn",props:C(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,r){let{slots:s}=r;const t=c(e,"indeterminate"),n=c(e,"modelValue");function u(a){t.value&&(t.value=!1)}const d=l(()=>t.value?e.indeterminateIcon:e.falseIcon),i=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return h(()=>{const a=k(o.filterProps(e),["modelValue"]);return x(o,b(a,{modelValue:n.value,"onUpdate:modelValue":[m=>n.value=m,u],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:d.value,trueIcon:i.value,"aria-checked":t.value?"mixed":void 0}),s)}),{}}});export{B as V,C as m};
@@ -1 +0,0 @@
1
- import{_ as S,Z as D,aF as F,S as v,$ as E,aj as V,aH as T,ar as b,E as $,d7 as w,d8 as A,O as L,aw as _,aC as h,r as k,ag as I,a as P,n as R,R as O,db as y,as as m,bg as N,at as j,dc as q}from"./admin-drawer-panel-DsgLbfnD.js";const z={name:"ConfirmFooter",props:{confirmText:{type:String,required:!0},disabled:{type:Boolean,default:!1}},emits:["confirm","cancel"]},H={class:"confirmFooter"};function M(e,l,f,c,s,g){return D(),F("footer",H,[v(b,{class:"confirmButton",disabled:f.disabled,onClick:l[0]||(l[0]=t=>e.$emit("confirm"))},{default:E(()=>[V(T(f.confirmText),1)]),_:1},8,["disabled"]),v(b,{class:"cancelButton",onClick:l[1]||(l[1]=t=>e.$emit("cancel"))},{default:E(()=>[V(" Cancel ")]),_:1})])}const Z=S(z,[["render",M],["__scopeId","data-v-24df1550"]]),U=$({fullscreen:Boolean,retainFocus:{type:Boolean,default:!0},scrollable:Boolean,...w({origin:"center center",scrollStrategy:"block",transition:{component:A},zIndex:2400})},"VDialog"),G=L()({name:"VDialog",props:U(),emits:{"update:modelValue":e=>!0,afterLeave:()=>!0},setup(e,l){let{emit:f,slots:c}=l;const s=_(e,"modelValue"),{scopeId:g}=h(),t=k();function p(a){var r,u;const n=a.relatedTarget,i=a.target;if(n!==i&&((r=t.value)!=null&&r.contentEl)&&((u=t.value)!=null&&u.globalTop)&&![document,t.value.contentEl].includes(i)&&!t.value.contentEl.contains(i)){const o=q(t.value.contentEl);if(!o.length)return;const d=o[0],C=o[o.length-1];n===d?C.focus():d.focus()}}I&&P(()=>s.value&&e.retainFocus,a=>{a?document.addEventListener("focusin",p):document.removeEventListener("focusin",p)},{immediate:!0});function x(){var a;(a=t.value)!=null&&a.contentEl&&!t.value.contentEl.contains(document.activeElement)&&t.value.contentEl.focus({preventScroll:!0})}function B(){f("afterLeave")}return P(s,async a=>{var n;a||(await R(),(n=t.value.activatorEl)==null||n.focus({preventScroll:!0}))}),O(()=>{const a=y.filterProps(e),n=m({"aria-haspopup":"dialog","aria-expanded":String(s.value)},e.activatorProps),i=m({tabindex:-1},e.contentProps);return v(y,m({ref:t,class:["v-dialog",{"v-dialog--fullscreen":e.fullscreen,"v-dialog--scrollable":e.scrollable},e.class],style:e.style},a,{modelValue:s.value,"onUpdate:modelValue":r=>s.value=r,"aria-modal":"true",activatorProps:n,contentProps:i,role:"dialog",onAfterEnter:x,onAfterLeave:B},g),{activator:c.activator,default:function(){for(var r=arguments.length,u=new Array(r),o=0;o<r;o++)u[o]=arguments[o];return v(N,{root:"VDialog"},{default:()=>{var d;return[(d=c.default)==null?void 0:d.call(c,...u)]}})}})}),j({},t)}});export{Z as C,G as V};
@@ -1 +0,0 @@
1
- import{_ as S,Z as D,aF as F,S as v,$ as E,aj as V,aH as T,ar as b,E as $,d7 as w,d8 as A,O as L,aw as _,aC as h,r as k,ag as I,a as P,n as R,R as O,db as y,as as m,bg as N,at as j,dc as q}from"./admin-drawer-panel-DsgLbfnD.js";const z={name:"ConfirmFooter",props:{confirmText:{type:String,required:!0},disabled:{type:Boolean,default:!1}},emits:["confirm","cancel"]},H={class:"confirmFooter"};function M(e,l,f,c,s,g){return D(),F("footer",H,[v(b,{class:"confirmButton",disabled:f.disabled,onClick:l[0]||(l[0]=t=>e.$emit("confirm"))},{default:E(()=>[V(T(f.confirmText),1)]),_:1},8,["disabled"]),v(b,{class:"cancelButton",onClick:l[1]||(l[1]=t=>e.$emit("cancel"))},{default:E(()=>[V(" Cancel ")]),_:1})])}const Z=S(z,[["render",M],["__scopeId","data-v-24df1550"]]),U=$({fullscreen:Boolean,retainFocus:{type:Boolean,default:!0},scrollable:Boolean,...w({origin:"center center",scrollStrategy:"block",transition:{component:A},zIndex:2400})},"VDialog"),G=L()({name:"VDialog",props:U(),emits:{"update:modelValue":e=>!0,afterLeave:()=>!0},setup(e,l){let{emit:f,slots:c}=l;const s=_(e,"modelValue"),{scopeId:g}=h(),t=k();function p(a){var r,u;const n=a.relatedTarget,i=a.target;if(n!==i&&((r=t.value)!=null&&r.contentEl)&&((u=t.value)!=null&&u.globalTop)&&![document,t.value.contentEl].includes(i)&&!t.value.contentEl.contains(i)){const o=q(t.value.contentEl);if(!o.length)return;const d=o[0],C=o[o.length-1];n===d?C.focus():d.focus()}}I&&P(()=>s.value&&e.retainFocus,a=>{a?document.addEventListener("focusin",p):document.removeEventListener("focusin",p)},{immediate:!0});function x(){var a;(a=t.value)!=null&&a.contentEl&&!t.value.contentEl.contains(document.activeElement)&&t.value.contentEl.focus({preventScroll:!0})}function B(){f("afterLeave")}return P(s,async a=>{var n;a||(await R(),(n=t.value.activatorEl)==null||n.focus({preventScroll:!0}))}),O(()=>{const a=y.filterProps(e),n=m({"aria-haspopup":"dialog","aria-expanded":String(s.value)},e.activatorProps),i=m({tabindex:-1},e.contentProps);return v(y,m({ref:t,class:["v-dialog",{"v-dialog--fullscreen":e.fullscreen,"v-dialog--scrollable":e.scrollable},e.class],style:e.style},a,{modelValue:s.value,"onUpdate:modelValue":r=>s.value=r,"aria-modal":"true",activatorProps:n,contentProps:i,role:"dialog",onAfterEnter:x,onAfterLeave:B},g),{activator:c.activator,default:function(){for(var r=arguments.length,u=new Array(r),o=0;o<r;o++)u[o]=arguments[o];return v(N,{root:"VDialog"},{default:()=>{var d;return[(d=c.default)==null?void 0:d.call(c,...u)]}})}})}),j({},t)}});export{Z as C,G as V};
@@ -1 +0,0 @@
1
- import{E as p,M as k,c0 as G,O as f,i as C,c4 as L,R as P,S as t,aT as I,bV as $,bQ as j,bd as V,cc as z,aA as h,h as r,b6 as N,aP as O,ca as F,b$ as M,be as Q,ay as U,c2 as q,cd as H,bf as J,p as K,as as g,cU as W,N as X,b_ as Y,P as Z,aD as ee,aB as l}from"./admin-drawer-panel-DsgLbfnD.js";const x=Symbol.for("vuetify:v-expansion-panel"),T=p({...k(),...G()},"VExpansionPanelText"),E=f()({name:"VExpansionPanelText",props:T(),setup(e,d){let{slots:n}=d;const a=C(x);if(!a)throw new Error("[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel");const{hasContent:i,onAfterLeave:u}=L(e,a.isSelected);return P(()=>t(j,{onAfterLeave:u},{default:()=>{var o;return[I(t("div",{class:["v-expansion-panel-text",e.class],style:e.style},[n.default&&i.value&&t("div",{class:"v-expansion-panel-text__wrapper"},[(o=n.default)==null?void 0:o.call(n)])]),[[$,a.isSelected.value]])]}})),{}}}),w=p({color:String,expandIcon:{type:V,default:"$expand"},collapseIcon:{type:V,default:"$collapse"},hideActions:Boolean,focusable:Boolean,static:Boolean,ripple:{type:[Boolean,Object],default:!1},readonly:Boolean,...k()},"VExpansionPanelTitle"),S=f()({name:"VExpansionPanelTitle",directives:{Ripple:z},props:w(),setup(e,d){let{slots:n}=d;const a=C(x);if(!a)throw new Error("[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel");const{backgroundColorClasses:i,backgroundColorStyles:u}=h(e,"color"),o=r(()=>({collapseIcon:e.collapseIcon,disabled:a.disabled.value,expanded:a.isSelected.value,expandIcon:e.expandIcon,readonly:e.readonly}));return P(()=>{var v;return I(t("button",{class:["v-expansion-panel-title",{"v-expansion-panel-title--active":a.isSelected.value,"v-expansion-panel-title--focusable":e.focusable,"v-expansion-panel-title--static":e.static},i.value,e.class],style:[u.value,e.style],type:"button",tabindex:a.disabled.value?-1:void 0,disabled:a.disabled.value,"aria-expanded":a.isSelected.value,onClick:e.readonly?void 0:a.toggle},[t("span",{class:"v-expansion-panel-title__overlay"},null),(v=n.default)==null?void 0:v.call(n,o.value),!e.hideActions&&t("span",{class:"v-expansion-panel-title__icon"},[n.actions?n.actions(o.value):t(O,{icon:a.isSelected.value?e.collapseIcon:e.expandIcon},null)])]),[[N("ripple"),e.ripple]])}),{}}}),B=p({title:String,text:String,bgColor:String,...F(),...M(),...Q(),...U(),...w(),...T()},"VExpansionPanel"),te=f()({name:"VExpansionPanel",props:B(),emits:{"group:selected":e=>!0},setup(e,d){let{slots:n}=d;const a=q(e,x),{backgroundColorClasses:i,backgroundColorStyles:u}=h(e,"bgColor"),{elevationClasses:o}=H(e),{roundedClasses:v}=J(e),_=r(()=>(a==null?void 0:a.disabled.value)||e.disabled),m=r(()=>a.group.items.value.reduce((c,s,b)=>(a.group.selected.value.includes(s.id)&&c.push(b),c),[])),A=r(()=>{const c=a.group.items.value.findIndex(s=>s.id===a.id);return!a.isSelected.value&&m.value.some(s=>s-c===1)}),R=r(()=>{const c=a.group.items.value.findIndex(s=>s.id===a.id);return!a.isSelected.value&&m.value.some(s=>s-c===-1)});return K(x,a),P(()=>{const c=!!(n.text||e.text),s=!!(n.title||e.title),b=S.filterProps(e),D=E.filterProps(e);return t(e.tag,{class:["v-expansion-panel",{"v-expansion-panel--active":a.isSelected.value,"v-expansion-panel--before-active":A.value,"v-expansion-panel--after-active":R.value,"v-expansion-panel--disabled":_.value},v.value,i.value,e.class],style:[u.value,e.style]},{default:()=>{var y;return[t("div",{class:["v-expansion-panel__shadow",...o.value]},null),s&&t(S,g({key:"title"},b),{default:()=>[n.title?n.title():e.title]}),c&&t(E,g({key:"text"},D),{default:()=>[n.text?n.text():e.text]}),(y=n.default)==null?void 0:y.call(n)]}})}),{groupItem:a}}}),ae=["default","accordion","inset","popout"],ne=p({flat:Boolean,...W(),...B(),...X(),variant:{type:String,default:"default",validator:e=>ae.includes(e)}},"VExpansionPanels"),se=f()({name:"VExpansionPanels",props:ne(),emits:{"update:modelValue":e=>!0},setup(e,d){let{slots:n}=d;const{next:a,prev:i}=Y(e,x),{themeClasses:u}=Z(e),o=r(()=>e.variant&&`v-expansion-panels--variant-${e.variant}`);return ee({VExpansionPanel:{bgColor:l(e,"bgColor"),collapseIcon:l(e,"collapseIcon"),color:l(e,"color"),eager:l(e,"eager"),elevation:l(e,"elevation"),expandIcon:l(e,"expandIcon"),focusable:l(e,"focusable"),hideActions:l(e,"hideActions"),readonly:l(e,"readonly"),ripple:l(e,"ripple"),rounded:l(e,"rounded"),static:l(e,"static")}}),P(()=>t(e.tag,{class:["v-expansion-panels",{"v-expansion-panels--flat":e.flat,"v-expansion-panels--tile":e.tile},u.value,o.value,e.class],style:e.style},{default:()=>{var v;return[(v=n.default)==null?void 0:v.call(n,{prev:i,next:a})]}})),{next:a,prev:i}}});export{te as V,S as a,E as b,se as c};
@@ -1 +0,0 @@
1
- import{E as p,M as k,c0 as G,O as f,i as C,c4 as L,R as P,S as t,aT as I,bV as $,bQ as j,bd as V,cc as z,aA as h,h as r,b6 as N,aP as O,ca as F,b$ as M,be as Q,ay as U,c2 as q,cd as H,bf as J,p as K,as as g,cU as W,N as X,b_ as Y,P as Z,aD as ee,aB as l}from"./admin-drawer-panel-DsgLbfnD.js";const x=Symbol.for("vuetify:v-expansion-panel"),T=p({...k(),...G()},"VExpansionPanelText"),E=f()({name:"VExpansionPanelText",props:T(),setup(e,d){let{slots:n}=d;const a=C(x);if(!a)throw new Error("[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel");const{hasContent:i,onAfterLeave:u}=L(e,a.isSelected);return P(()=>t(j,{onAfterLeave:u},{default:()=>{var o;return[I(t("div",{class:["v-expansion-panel-text",e.class],style:e.style},[n.default&&i.value&&t("div",{class:"v-expansion-panel-text__wrapper"},[(o=n.default)==null?void 0:o.call(n)])]),[[$,a.isSelected.value]])]}})),{}}}),w=p({color:String,expandIcon:{type:V,default:"$expand"},collapseIcon:{type:V,default:"$collapse"},hideActions:Boolean,focusable:Boolean,static:Boolean,ripple:{type:[Boolean,Object],default:!1},readonly:Boolean,...k()},"VExpansionPanelTitle"),S=f()({name:"VExpansionPanelTitle",directives:{Ripple:z},props:w(),setup(e,d){let{slots:n}=d;const a=C(x);if(!a)throw new Error("[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel");const{backgroundColorClasses:i,backgroundColorStyles:u}=h(e,"color"),o=r(()=>({collapseIcon:e.collapseIcon,disabled:a.disabled.value,expanded:a.isSelected.value,expandIcon:e.expandIcon,readonly:e.readonly}));return P(()=>{var v;return I(t("button",{class:["v-expansion-panel-title",{"v-expansion-panel-title--active":a.isSelected.value,"v-expansion-panel-title--focusable":e.focusable,"v-expansion-panel-title--static":e.static},i.value,e.class],style:[u.value,e.style],type:"button",tabindex:a.disabled.value?-1:void 0,disabled:a.disabled.value,"aria-expanded":a.isSelected.value,onClick:e.readonly?void 0:a.toggle},[t("span",{class:"v-expansion-panel-title__overlay"},null),(v=n.default)==null?void 0:v.call(n,o.value),!e.hideActions&&t("span",{class:"v-expansion-panel-title__icon"},[n.actions?n.actions(o.value):t(O,{icon:a.isSelected.value?e.collapseIcon:e.expandIcon},null)])]),[[N("ripple"),e.ripple]])}),{}}}),B=p({title:String,text:String,bgColor:String,...F(),...M(),...Q(),...U(),...w(),...T()},"VExpansionPanel"),te=f()({name:"VExpansionPanel",props:B(),emits:{"group:selected":e=>!0},setup(e,d){let{slots:n}=d;const a=q(e,x),{backgroundColorClasses:i,backgroundColorStyles:u}=h(e,"bgColor"),{elevationClasses:o}=H(e),{roundedClasses:v}=J(e),_=r(()=>(a==null?void 0:a.disabled.value)||e.disabled),m=r(()=>a.group.items.value.reduce((c,s,b)=>(a.group.selected.value.includes(s.id)&&c.push(b),c),[])),A=r(()=>{const c=a.group.items.value.findIndex(s=>s.id===a.id);return!a.isSelected.value&&m.value.some(s=>s-c===1)}),R=r(()=>{const c=a.group.items.value.findIndex(s=>s.id===a.id);return!a.isSelected.value&&m.value.some(s=>s-c===-1)});return K(x,a),P(()=>{const c=!!(n.text||e.text),s=!!(n.title||e.title),b=S.filterProps(e),D=E.filterProps(e);return t(e.tag,{class:["v-expansion-panel",{"v-expansion-panel--active":a.isSelected.value,"v-expansion-panel--before-active":A.value,"v-expansion-panel--after-active":R.value,"v-expansion-panel--disabled":_.value},v.value,i.value,e.class],style:[u.value,e.style]},{default:()=>{var y;return[t("div",{class:["v-expansion-panel__shadow",...o.value]},null),s&&t(S,g({key:"title"},b),{default:()=>[n.title?n.title():e.title]}),c&&t(E,g({key:"text"},D),{default:()=>[n.text?n.text():e.text]}),(y=n.default)==null?void 0:y.call(n)]}})}),{groupItem:a}}}),ae=["default","accordion","inset","popout"],ne=p({flat:Boolean,...W(),...B(),...X(),variant:{type:String,default:"default",validator:e=>ae.includes(e)}},"VExpansionPanels"),se=f()({name:"VExpansionPanels",props:ne(),emits:{"update:modelValue":e=>!0},setup(e,d){let{slots:n}=d;const{next:a,prev:i}=Y(e,x),{themeClasses:u}=Z(e),o=r(()=>e.variant&&`v-expansion-panels--variant-${e.variant}`);return ee({VExpansionPanel:{bgColor:l(e,"bgColor"),collapseIcon:l(e,"collapseIcon"),color:l(e,"color"),eager:l(e,"eager"),elevation:l(e,"elevation"),expandIcon:l(e,"expandIcon"),focusable:l(e,"focusable"),hideActions:l(e,"hideActions"),readonly:l(e,"readonly"),ripple:l(e,"ripple"),rounded:l(e,"rounded"),static:l(e,"static")}}),P(()=>t(e.tag,{class:["v-expansion-panels",{"v-expansion-panels--flat":e.flat,"v-expansion-panels--tile":e.tile},u.value,o.value,e.class],style:e.style},{default:()=>{var v;return[(v=n.default)==null?void 0:v.call(n,{prev:i,next:a})]}})),{next:a,prev:i}}});export{te as V,S as a,E as b,se as c};
@@ -1 +0,0 @@
1
- import{c as C,d as p,a as O,e as $,V as c,b as h,f as A}from"./VSelectionControl-DXxRmssH.js";import{E as f,O as V,R as y,S as a,as as n,ao as U,bd as m,F,h as x,aw as N,cB as w,U as B}from"./admin-drawer-panel-DsgLbfnD.js";const D=f({...C({falseIcon:"$radioOff",trueIcon:"$radioOn"})},"VRadio"),T=V()({name:"VRadio",props:D(),setup(e,l){let{slots:s}=l;return y(()=>a(p,n(e,{class:["v-radio",e.class],style:e.style,type:"radio"}),s)),{}}}),E=f({height:{type:[Number,String],default:"auto"},...O(),...U($(),["multiple"]),trueIcon:{type:m,default:"$radioOn"},falseIcon:{type:m,default:"$radioOff"},type:{type:String,default:"radio"}},"VRadioGroup"),j=V()({name:"VRadioGroup",inheritAttrs:!1,props:E(),emits:{"update:modelValue":e=>!0},setup(e,l){let{attrs:s,slots:t}=l;const b=F(),i=x(()=>e.id||`radio-group-${b}`),o=N(e,"modelValue");return y(()=>{const[v,I]=w(s),R=c.filterProps(e),g=p.filterProps(e),r=t.label?t.label({label:e.label,props:{for:i.value}}):e.label;return a(c,n({class:["v-radio-group",e.class],style:e.style},v,R,{modelValue:o.value,"onUpdate:modelValue":d=>o.value=d,id:i.value}),{...t,default:d=>{let{id:u,messagesId:P,isDisabled:S,isReadonly:G}=d;return a(B,null,[r&&a(h,{id:u.value},{default:()=>[r]}),a(A,n(g,{id:u.value,"aria-describedby":P.value,defaultsTarget:"VRadio",trueIcon:e.trueIcon,falseIcon:e.falseIcon,type:e.type,disabled:S.value,readonly:G.value,"aria-labelledby":r?u.value:void 0,multiple:!1},I,{modelValue:o.value,"onUpdate:modelValue":k=>o.value=k}),t)])}})}),{}}});export{T as V,j as a};
@@ -1,2 +0,0 @@
1
- � �¶y�dY��2I�Ԣm��L�� ��]�h�d?_ٖw�����> � ����V�B�DžJ)�8{3Ǽ�I"TBQ�Qj��$���.�i�bح�{��1��Cm9!�vXV6��"��*<_B��w�,e%|x�!��,�hD}�[�M��vY�O�~�=Sb7޷�_D c'�b8�re`d!��!❜z�mܺ����ڒ��y��$VG'hٶe�M�z.���f�#Yo
2
- �H�7�!�)��`Ė�����e����fo�i��@V)!��+���^IԠh��4r��5uj
@@ -1 +0,0 @@
1
- import{c as C,d as p,a as O,e as $,V as c,b as h,f as A}from"./VSelectionControl-DXxRmssH.js";import{E as f,O as V,R as y,S as a,as as n,ao as U,bd as m,F,h as x,aw as N,cB as w,U as B}from"./admin-drawer-panel-DsgLbfnD.js";const D=f({...C({falseIcon:"$radioOff",trueIcon:"$radioOn"})},"VRadio"),T=V()({name:"VRadio",props:D(),setup(e,l){let{slots:s}=l;return y(()=>a(p,n(e,{class:["v-radio",e.class],style:e.style,type:"radio"}),s)),{}}}),E=f({height:{type:[Number,String],default:"auto"},...O(),...U($(),["multiple"]),trueIcon:{type:m,default:"$radioOn"},falseIcon:{type:m,default:"$radioOff"},type:{type:String,default:"radio"}},"VRadioGroup"),j=V()({name:"VRadioGroup",inheritAttrs:!1,props:E(),emits:{"update:modelValue":e=>!0},setup(e,l){let{attrs:s,slots:t}=l;const b=F(),i=x(()=>e.id||`radio-group-${b}`),o=N(e,"modelValue");return y(()=>{const[v,I]=w(s),R=c.filterProps(e),g=p.filterProps(e),r=t.label?t.label({label:e.label,props:{for:i.value}}):e.label;return a(c,n({class:["v-radio-group",e.class],style:e.style},v,R,{modelValue:o.value,"onUpdate:modelValue":d=>o.value=d,id:i.value}),{...t,default:d=>{let{id:u,messagesId:P,isDisabled:S,isReadonly:G}=d;return a(B,null,[r&&a(h,{id:u.value},{default:()=>[r]}),a(A,n(g,{id:u.value,"aria-describedby":P.value,defaultsTarget:"VRadio",trueIcon:e.trueIcon,falseIcon:e.falseIcon,type:e.type,disabled:S.value,readonly:G.value,"aria-labelledby":r?u.value:void 0,multiple:!1},I,{modelValue:o.value,"onUpdate:modelValue":k=>o.value=k}),t)])}})}),{}}});export{T as V,j as a};
@@ -1,2 +0,0 @@
1
- � �¶y�dY��2I�Ԣm��L�� ��]�h�d?_ٖw�����> � ����V�B�DžJ)�8{3Ǽ�I"TBQ�Qj��$���.�i�bح�{��1��Cm9!�vXV6��"��*<_B��w�,e%|x�!��,�hD}�[�M��vY�O�~�=Sb7޷�_D c'�b8�re`d!��!❜z�mܺ����ڒ��y��$VG'hٶe�M�z.���f�#Yo
2
- �H�7�!�)��`Ė�����e����fo�i��@V)!��+���^IԠh��4r��5uj
@@ -1 +0,0 @@
1
- import{m as He,V as he}from"./VTextField-BayL7C1D.js";import{E as $,ao as Te,d7 as Ue,d8 as xe,O as J,aw as se,aC as ze,F as Ne,h as D,r as j,i as Ge,d9 as ge,s as K,p as $e,da as qe,a as G,as as L,R as le,db as ye,S as u,bg as Q,at as Ae,n as fe,dc as ke,dd as je,de as be,c$ as We,M as ie,cU as Xe,ay as De,N as Ee,c5 as Re,P as Be,b_ as Ye,aD as Qe,aB as te,bd as oe,d3 as Ve,ch as Ze,ax as Je,ca as et,b$ as tt,be as lt,bb as at,cF as nt,cc as ot,bZ as Oe,ci as st,df as it,az as ut,cd as ct,bf as rt,dg as dt,c2 as vt,bc as ft,aT as Ce,b6 as mt,dh as pt,di as ht,aP as Z,bV as gt,U as W,cP as de,I as Fe,cv as yt,w as Pe,cs as Le,a3 as ce,dj as kt,ag as ve,b2 as bt,G as Vt,b5 as Ct,cr as Pt,K as ne,cp as St,dk as wt,dl as It,b3 as Tt,cN as xt,bv as At,aY as Se,cQ as Dt,aj as Et,dm as we,cT as Rt}from"./admin-drawer-panel-DsgLbfnD.js";import{g as Bt}from"./VSelectionControl-DXxRmssH.js";import{V as Ot}from"./VCheckboxBtn-BTFFFGx3.js";import{m as Ft,V as Ie}from"./VSlideGroup-DYJ3EYZI.js";const Lt=$({id:String,...Te(Ue({closeDelay:250,closeOnContentClick:!0,locationStrategy:"connected",openDelay:300,scrim:!1,scrollStrategy:"reposition",transition:{component:xe}}),["absolute"])},"VMenu"),Mt=J()({name:"VMenu",props:Lt(),emits:{"update:modelValue":e=>!0},setup(e,m){let{slots:n}=m;const r=se(e,"modelValue"),{scopeId:o}=ze(),p=Ne(),k=D(()=>e.id||`v-menu-${p}`),s=j(),l=Ge(ge,null),y=K(0);$e(ge,{register(){++y.value},unregister(){--y.value},closeParents(c){setTimeout(()=>{!y.value&&!e.persistent&&(c==null||c&&!qe(c,s.value.contentEl))&&(r.value=!1,l==null||l.closeParents())},40)}});async function S(c){var b,I,T;const t=c.relatedTarget,f=c.target;await fe(),r.value&&t!==f&&((b=s.value)!=null&&b.contentEl)&&((I=s.value)!=null&&I.globalTop)&&![document,s.value.contentEl].includes(f)&&!s.value.contentEl.contains(f)&&((T=ke(s.value.contentEl)[0])==null||T.focus())}G(r,c=>{c?(l==null||l.register(),document.addEventListener("focusin",S,{once:!0})):(l==null||l.unregister(),document.removeEventListener("focusin",S))});function B(c){l==null||l.closeParents(c)}function v(c){var t,f,b;if(!e.disabled)if(c.key==="Tab"||c.key==="Enter"&&!e.closeOnContentClick){if(c.key==="Enter"&&(c.target instanceof HTMLTextAreaElement||c.target instanceof HTMLInputElement&&c.target.closest("form")))return;c.key==="Enter"&&c.preventDefault(),je(ke((t=s.value)==null?void 0:t.contentEl,!1),c.shiftKey?"prev":"next",T=>T.tabIndex>=0)||(r.value=!1,(b=(f=s.value)==null?void 0:f.activatorEl)==null||b.focus())}else["Enter"," "].includes(c.key)&&e.closeOnContentClick&&(r.value=!1,l==null||l.closeParents())}function P(c){var f;if(e.disabled)return;const t=(f=s.value)==null?void 0:f.contentEl;t&&r.value?c.key==="ArrowDown"?(c.preventDefault(),be(t,"next")):c.key==="ArrowUp"&&(c.preventDefault(),be(t,"prev")):["ArrowDown","ArrowUp"].includes(c.key)&&(r.value=!0,c.preventDefault(),setTimeout(()=>setTimeout(()=>P(c))))}const w=D(()=>L({"aria-haspopup":"menu","aria-expanded":String(r.value),"aria-owns":k.value,onKeydown:P},e.activatorProps));return le(()=>{const c=ye.filterProps(e);return u(ye,L({ref:s,id:k.value,class:["v-menu",e.class],style:e.style},c,{modelValue:r.value,"onUpdate:modelValue":t=>r.value=t,absolute:!0,activatorProps:w.value,"onClick:outside":B,onKeydown:v},o),{activator:n.activator,default:function(){for(var t=arguments.length,f=new Array(t),b=0;b<t;b++)f[b]=arguments[b];return u(Q,{root:"VMenu"},{default:()=>{var I;return[(I=n.default)==null?void 0:I.call(n,...f)]}})}})}),Ae({id:k,ΨopenChildren:y},s)}}),Me=Symbol.for("vuetify:v-chip-group"),_t=$({column:Boolean,filter:Boolean,valueComparator:{type:Function,default:We},...Ft(),...ie(),...Xe({selectedClass:"v-chip--selected"}),...De(),...Ee(),...Re({variant:"tonal"})},"VChipGroup"),nl=J()({name:"VChipGroup",props:_t(),emits:{"update:modelValue":e=>!0},setup(e,m){let{slots:n}=m;const{themeClasses:r}=Be(e),{isSelected:o,select:p,next:k,prev:s,selected:l}=Ye(e,Me);return Qe({VChip:{color:te(e,"color"),disabled:te(e,"disabled"),filter:te(e,"filter"),variant:te(e,"variant")}}),le(()=>{const y=Ie.filterProps(e);return u(Ie,L(y,{class:["v-chip-group",{"v-chip-group--column":e.column},r.value,e.class],style:e.style}),{default:()=>{var S;return[(S=n.default)==null?void 0:S.call(n,{isSelected:o,select:p,next:k,prev:s,selected:l.value})]}})}),{}}}),Kt=$({activeClass:String,appendAvatar:String,appendIcon:oe,closable:Boolean,closeIcon:{type:oe,default:"$delete"},closeLabel:{type:String,default:"$vuetify.close"},draggable:Boolean,filter:Boolean,filterIcon:{type:String,default:"$complete"},label:Boolean,link:{type:Boolean,default:void 0},pill:Boolean,prependAvatar:String,prependIcon:oe,ripple:{type:[Boolean,Object],default:!0},text:String,modelValue:{type:Boolean,default:!0},onClick:Ve(),onClickOnce:Ve(),...Ze(),...ie(),...Je(),...et(),...tt(),...lt(),...at(),...nt(),...De({tag:"span"}),...Ee(),...Re({variant:"tonal"})},"VChip"),Ht=J()({name:"VChip",directives:{Ripple:ot},props:Kt(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0,"group:selected":e=>!0,click:e=>!0},setup(e,m){let{attrs:n,emit:r,slots:o}=m;const{t:p}=Oe(),{borderClasses:k}=st(e),{colorClasses:s,colorStyles:l,variantClasses:y}=it(e),{densityClasses:S}=ut(e),{elevationClasses:B}=ct(e),{roundedClasses:v}=rt(e),{sizeClasses:P}=dt(e),{themeClasses:w}=Be(e),c=se(e,"modelValue"),t=vt(e,Me,!1),f=ft(e,n),b=D(()=>e.link!==!1&&f.isLink.value),I=D(()=>!e.disabled&&e.link!==!1&&(!!t||e.link||f.isClickable.value)),T=D(()=>({"aria-label":p(e.closeLabel),onClick(h){h.preventDefault(),h.stopPropagation(),c.value=!1,r("click:close",h)}}));function H(h){var M;r("click",h),I.value&&((M=f.navigate)==null||M.call(f,h),t==null||t.toggle())}function ee(h){(h.key==="Enter"||h.key===" ")&&(h.preventDefault(),H(h))}return()=>{const h=f.isLink.value?"a":e.tag,M=!!(e.appendIcon||e.appendAvatar),U=!!(M||o.append),_=!!(o.close||e.closable),z=!!(o.filter||e.filter)&&t,X=!!(e.prependIcon||e.prependAvatar),N=!!(X||o.prepend),q=!t||t.isSelected.value;return c.value&&Ce(u(h,{class:["v-chip",{"v-chip--disabled":e.disabled,"v-chip--label":e.label,"v-chip--link":I.value,"v-chip--filter":z,"v-chip--pill":e.pill},w.value,k.value,q?s.value:void 0,S.value,B.value,v.value,P.value,y.value,t==null?void 0:t.selectedClass.value,e.class],style:[q?l.value:void 0,e.style],disabled:e.disabled||void 0,draggable:e.draggable,href:f.href.value,tabindex:I.value?0:void 0,onClick:H,onKeydown:I.value&&!b.value&&ee},{default:()=>{var F;return[pt(I.value,"v-chip"),z&&u(ht,{key:"filter"},{default:()=>[Ce(u("div",{class:"v-chip__filter"},[o.filter?u(Q,{key:"filter-defaults",disabled:!e.filterIcon,defaults:{VIcon:{icon:e.filterIcon}}},o.filter):u(Z,{key:"filter-icon",icon:e.filterIcon},null)]),[[gt,t.isSelected.value]])]}),N&&u("div",{key:"prepend",class:"v-chip__prepend"},[o.prepend?u(Q,{key:"prepend-defaults",disabled:!X,defaults:{VAvatar:{image:e.prependAvatar,start:!0},VIcon:{icon:e.prependIcon,start:!0}}},o.prepend):u(W,null,[e.prependIcon&&u(Z,{key:"prepend-icon",icon:e.prependIcon,start:!0},null),e.prependAvatar&&u(de,{key:"prepend-avatar",image:e.prependAvatar,start:!0},null)])]),u("div",{class:"v-chip__content","data-no-activator":""},[((F=o.default)==null?void 0:F.call(o,{isSelected:t==null?void 0:t.isSelected.value,selectedClass:t==null?void 0:t.selectedClass.value,select:t==null?void 0:t.select,toggle:t==null?void 0:t.toggle,value:t==null?void 0:t.value.value,disabled:e.disabled}))??e.text]),U&&u("div",{key:"append",class:"v-chip__append"},[o.append?u(Q,{key:"append-defaults",disabled:!M,defaults:{VAvatar:{end:!0,image:e.appendAvatar},VIcon:{end:!0,icon:e.appendIcon}}},o.append):u(W,null,[e.appendIcon&&u(Z,{key:"append-icon",end:!0,icon:e.appendIcon},null),e.appendAvatar&&u(de,{key:"append-avatar",end:!0,image:e.appendAvatar},null)])]),_&&u("button",L({key:"close",class:"v-chip__close",type:"button"},T.value),[o.close?u(Q,{key:"close-defaults",defaults:{VIcon:{icon:e.closeIcon,size:"x-small"}}},o.close):u(Z,{key:"close-icon",icon:e.closeIcon,size:"x-small"},null)])]}}),[[mt("ripple"),I.value&&e.ripple,null]])}}}),Ut=$({renderless:Boolean,...ie()},"VVirtualScrollItem"),zt=J()({name:"VVirtualScrollItem",inheritAttrs:!1,props:Ut(),emits:{"update:height":e=>!0},setup(e,m){let{attrs:n,emit:r,slots:o}=m;const{resizeRef:p,contentRect:k}=Fe(void 0,"border");G(()=>{var s;return(s=k.value)==null?void 0:s.height},s=>{s!=null&&r("update:height",s)}),le(()=>{var s,l;return e.renderless?u(W,null,[(s=o.default)==null?void 0:s.call(o,{itemRef:p})]):u("div",L({ref:p,class:["v-virtual-scroll__item",e.class],style:e.style},n),[(l=o.default)==null?void 0:l.call(o)])})}}),Nt=-1,Gt=1,re=100,$t=$({itemHeight:{type:[Number,String],default:null},height:[Number,String]},"virtual");function qt(e,m){const n=yt(),r=K(0);Pe(()=>{r.value=parseFloat(e.itemHeight||0)});const o=K(0),p=K(Math.ceil((parseInt(e.height)||n.height.value)/(r.value||16))||1),k=K(0),s=K(0),l=j(),y=j();let S=0;const{resizeRef:B,contentRect:v}=Fe();Pe(()=>{B.value=l.value});const P=D(()=>{var a;return l.value===document.documentElement?n.height.value:((a=v.value)==null?void 0:a.height)||parseInt(e.height)||0}),w=D(()=>!!(l.value&&y.value&&P.value&&r.value));let c=Array.from({length:m.value.length}),t=Array.from({length:m.value.length});const f=K(0);let b=-1;function I(a){return c[a]||r.value}const T=kt(()=>{const a=performance.now();t[0]=0;const d=m.value.length;for(let x=1;x<=d-1;x++)t[x]=(t[x-1]||0)+I(x-1);f.value=Math.max(f.value,performance.now()-a)},f),H=G(w,a=>{a&&(H(),S=y.value.offsetTop,T.immediate(),F(),~b&&fe(()=>{ve&&window.requestAnimationFrame(()=>{ae(b),b=-1})}))});Le(()=>{T.clear()});function ee(a,d){const x=c[a],C=r.value;r.value=C?Math.min(r.value,d):d,(x!==d||C!==r.value)&&(c[a]=d,T())}function h(a){return a=ce(a,0,m.value.length-1),t[a]||0}function M(a){return jt(t,a)}let U=0,_=0,z=0;G(P,(a,d)=>{d&&(F(),a<d&&requestAnimationFrame(()=>{_=0,F()}))});function X(){if(!l.value||!y.value)return;const a=l.value.scrollTop,d=performance.now();d-z>500?(_=Math.sign(a-U),S=y.value.offsetTop):_=a-U,U=a,z=d,F()}function N(){!l.value||!y.value||(_=0,z=0,F())}let q=-1;function F(){cancelAnimationFrame(q),q=requestAnimationFrame(ue)}function ue(){if(!l.value||!P.value)return;const a=U-S,d=Math.sign(_),x=Math.max(0,a-re),C=ce(M(x),0,m.value.length),g=a+P.value+re,A=ce(M(g)+1,C+1,m.value.length);if((d!==Nt||C<o.value)&&(d!==Gt||A>p.value)){const V=h(o.value)-h(C),E=h(A)-h(p.value);Math.max(V,E)>re?(o.value=C,p.value=A):(C<=0&&(o.value=C),A>=m.value.length&&(p.value=A))}k.value=h(o.value),s.value=h(m.value.length)-h(p.value)}function ae(a){const d=h(a);!l.value||a&&!d?b=a:l.value.scrollTop=d}const i=D(()=>m.value.slice(o.value,p.value).map((a,d)=>({raw:a,index:d+o.value})));return G(m,()=>{c=Array.from({length:m.value.length}),t=Array.from({length:m.value.length}),T.immediate(),F()},{deep:!0}),{containerRef:l,markerRef:y,computedItems:i,paddingTop:k,paddingBottom:s,scrollToIndex:ae,handleScroll:X,handleScrollend:N,handleItemResize:ee}}function jt(e,m){let n=e.length-1,r=0,o=0,p=null,k=-1;if(e[n]<m)return n;for(;r<=n;)if(o=r+n>>1,p=e[o],p>m)n=o-1;else if(p<m)k=o,r=o+1;else return p===m?o:r;return k}const Wt=$({items:{type:Array,default:()=>[]},renderless:Boolean,...$t(),...ie(),...bt()},"VVirtualScroll"),Xt=J()({name:"VVirtualScroll",props:Wt(),setup(e,m){let{slots:n}=m;const r=Vt("VVirtualScroll"),{dimensionStyles:o}=Ct(e),{containerRef:p,markerRef:k,handleScroll:s,handleScrollend:l,handleItemResize:y,scrollToIndex:S,paddingTop:B,paddingBottom:v,computedItems:P}=qt(e,te(e,"items"));return Pt(()=>e.renderless,()=>{function w(){var f,b;const t=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1)?"addEventListener":"removeEventListener";p.value===document.documentElement?(document[t]("scroll",s,{passive:!0}),document[t]("scrollend",l)):((f=p.value)==null||f[t]("scroll",s,{passive:!0}),(b=p.value)==null||b[t]("scrollend",l))}St(()=>{p.value=wt(r.vnode.el,!0),w(!0)}),Le(w)}),le(()=>{const w=P.value.map(c=>u(zt,{key:c.index,renderless:e.renderless,"onUpdate:height":t=>y(c.index,t)},{default:t=>{var f;return(f=n.default)==null?void 0:f.call(n,{item:c.raw,index:c.index,...t})}}));return e.renderless?u(W,null,[u("div",{ref:k,class:"v-virtual-scroll__spacer",style:{paddingTop:ne(B.value)}},null),w,u("div",{class:"v-virtual-scroll__spacer",style:{paddingBottom:ne(v.value)}},null)]):u("div",{ref:p,class:["v-virtual-scroll",e.class],onScrollPassive:s,onScrollend:l,style:[o.value,e.style]},[u("div",{ref:k,class:"v-virtual-scroll__container",style:{paddingTop:ne(B.value),paddingBottom:ne(v.value)}},[w])])}),{scrollToIndex:S}}});function Yt(e,m){const n=K(!1);let r;function o(s){cancelAnimationFrame(r),n.value=!0,r=requestAnimationFrame(()=>{r=requestAnimationFrame(()=>{n.value=!1})})}async function p(){await new Promise(s=>requestAnimationFrame(s)),await new Promise(s=>requestAnimationFrame(s)),await new Promise(s=>requestAnimationFrame(s)),await new Promise(s=>{if(n.value){const l=G(n,()=>{l(),s()})}else s()})}async function k(s){var S,B;if(s.key==="Tab"&&((S=m.value)==null||S.focus()),!["PageDown","PageUp","Home","End"].includes(s.key))return;const l=(B=e.value)==null?void 0:B.$el;if(!l)return;(s.key==="Home"||s.key==="End")&&l.scrollTo({top:s.key==="Home"?0:l.scrollHeight,behavior:"smooth"}),await p();const y=l.querySelectorAll(":scope > :not(.v-virtual-scroll__spacer)");if(s.key==="PageDown"||s.key==="Home"){const v=l.getBoundingClientRect().top;for(const P of y)if(P.getBoundingClientRect().top>=v){P.focus();break}}else{const v=l.getBoundingClientRect().bottom;for(const P of[...y].reverse())if(P.getBoundingClientRect().bottom<=v){P.focus();break}}}return{onListScroll:o,onListKeydown:k}}const Qt=$({chips:Boolean,closableChips:Boolean,closeText:{type:String,default:"$vuetify.close"},openText:{type:String,default:"$vuetify.open"},eager:Boolean,hideNoData:Boolean,hideSelected:Boolean,listProps:{type:Object},menu:Boolean,menuIcon:{type:oe,default:"$dropdown"},menuProps:{type:Object},multiple:Boolean,noDataText:{type:String,default:"$vuetify.noDataText"},openOnClear:Boolean,itemColor:String,...It({itemChildren:!1})},"Select"),Zt=$({...Qt(),...Te(He({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...Tt({transition:{component:xe}})},"VSelect"),ol=J()({name:"VSelect",props:Zt(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:menu":e=>!0},setup(e,m){let{slots:n}=m;const{t:r}=Oe(),o=j(),p=j(),k=j(),s=se(e,"menu"),l=D({get:()=>s.value,set:i=>{var a;s.value&&!i&&((a=p.value)!=null&&a.ΨopenChildren)||(s.value=i)}}),{items:y,transformIn:S,transformOut:B}=xt(e),v=se(e,"modelValue",[],i=>S(i===null?[null]:Rt(i)),i=>{const a=B(i);return e.multiple?a:a[0]??null}),P=D(()=>typeof e.counterValue=="function"?e.counterValue(v.value):typeof e.counterValue=="number"?e.counterValue:v.value.length),w=Bt(),c=D(()=>v.value.map(i=>i.value)),t=K(!1),f=D(()=>l.value?e.closeText:e.openText);let b="",I;const T=D(()=>e.hideSelected?y.value.filter(i=>!v.value.some(a=>e.valueComparator(a,i))):y.value),H=D(()=>e.hideNoData&&!T.value.length||e.readonly||(w==null?void 0:w.isReadonly.value)),ee=D(()=>{var i;return{...e.menuProps,activatorProps:{...((i=e.menuProps)==null?void 0:i.activatorProps)||{},"aria-haspopup":"listbox"}}}),h=j(),{onListScroll:M,onListKeydown:U}=Yt(h,o);function _(i){e.openOnClear&&(l.value=!0)}function z(){H.value||(l.value=!l.value)}function X(i){var g,A;if(!i.key||e.readonly||w!=null&&w.isReadonly.value)return;["Enter"," ","ArrowDown","ArrowUp","Home","End"].includes(i.key)&&i.preventDefault(),["Enter","ArrowDown"," "].includes(i.key)&&(l.value=!0),["Escape","Tab"].includes(i.key)&&(l.value=!1),i.key==="Home"?(g=h.value)==null||g.focus("first"):i.key==="End"&&((A=h.value)==null||A.focus("last"));const a=1e3;function d(V){const E=V.key.length===1,R=!V.ctrlKey&&!V.metaKey&&!V.altKey;return E&&R}if(e.multiple||!d(i))return;const x=performance.now();x-I>a&&(b=""),b+=i.key.toLowerCase(),I=x;const C=y.value.find(V=>V.title.toLowerCase().startsWith(b));if(C!==void 0){v.value=[C];const V=T.value.indexOf(C);ve&&window.requestAnimationFrame(()=>{var E;V>=0&&((E=k.value)==null||E.scrollToIndex(V))})}}function N(i){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!i.props.disabled)if(e.multiple){const d=v.value.findIndex(C=>e.valueComparator(C.value,i.value)),x=a??!~d;if(~d){const C=x?[...v.value,i]:[...v.value];C.splice(d,1),v.value=C}else x&&(v.value=[...v.value,i])}else{const d=a!==!1;v.value=d?[i]:[],fe(()=>{l.value=!1})}}function q(i){var a;(a=h.value)!=null&&a.$el.contains(i.relatedTarget)||(l.value=!1)}function F(){var i;t.value&&((i=o.value)==null||i.focus())}function ue(i){t.value=!0}function ae(i){if(i==null)v.value=[];else if(we(o.value,":autofill")||we(o.value,":-webkit-autofill")){const a=y.value.find(d=>d.title===i);a&&N(a)}else o.value&&(o.value.value="")}return G(l,()=>{if(!e.hideSelected&&l.value&&v.value.length){const i=T.value.findIndex(a=>v.value.some(d=>e.valueComparator(d.value,a.value)));ve&&window.requestAnimationFrame(()=>{var a;i>=0&&((a=k.value)==null||a.scrollToIndex(i))})}}),G(()=>e.items,(i,a)=>{l.value||t.value&&!a.length&&i.length&&(l.value=!0)}),le(()=>{const i=!!(e.chips||n.chip),a=!!(!e.hideNoData||T.value.length||n["prepend-item"]||n["append-item"]||n["no-data"]),d=v.value.length>0,x=he.filterProps(e),C=d||!t.value&&e.label&&!e.persistentPlaceholder?void 0:e.placeholder;return u(he,L({ref:o},x,{modelValue:v.value.map(g=>g.props.value).join(", "),"onUpdate:modelValue":ae,focused:t.value,"onUpdate:focused":g=>t.value=g,validationValue:v.externalValue,counterValue:P.value,dirty:d,class:["v-select",{"v-select--active-menu":l.value,"v-select--chips":!!e.chips,[`v-select--${e.multiple?"multiple":"single"}`]:!0,"v-select--selected":v.value.length,"v-select--selection-slot":!!n.selection},e.class],style:e.style,inputmode:"none",placeholder:C,"onClick:clear":_,"onMousedown:control":z,onBlur:q,onKeydown:X,"aria-label":r(f.value),title:r(f.value)}),{...n,default:()=>u(W,null,[u(Mt,L({ref:p,modelValue:l.value,"onUpdate:modelValue":g=>l.value=g,activator:"parent",contentClass:"v-select__content",disabled:H.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterLeave:F},ee.value),{default:()=>[a&&u(At,L({ref:h,selected:c.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:g=>g.preventDefault(),onKeydown:U,onFocusin:ue,onScrollPassive:M,tabindex:"-1","aria-live":"polite",color:e.itemColor??e.color},e.listProps),{default:()=>{var g,A,V;return[(g=n["prepend-item"])==null?void 0:g.call(n),!T.value.length&&!e.hideNoData&&(((A=n["no-data"])==null?void 0:A.call(n))??u(Se,{title:r(e.noDataText)},null)),u(Xt,{ref:k,renderless:!0,items:T.value},{default:E=>{var pe;let{item:R,index:Y,itemRef:O}=E;const me=L(R.props,{ref:O,key:Y,onClick:()=>N(R,null)});return((pe=n.item)==null?void 0:pe.call(n,{item:R,index:Y,props:me}))??u(Se,L(me,{role:"option"}),{prepend:_e=>{let{isSelected:Ke}=_e;return u(W,null,[e.multiple&&!e.hideSelected?u(Ot,{key:R.value,modelValue:Ke,ripple:!1,tabindex:"-1"},null):void 0,R.props.prependAvatar&&u(de,{image:R.props.prependAvatar},null),R.props.prependIcon&&u(Z,{icon:R.props.prependIcon},null)])}})}}),(V=n["append-item"])==null?void 0:V.call(n)]}})]}),v.value.map((g,A)=>{function V(O){O.stopPropagation(),O.preventDefault(),N(g,!1)}const E={"onClick:close":V,onKeydown(O){O.key!=="Enter"&&O.key!==" "||(O.preventDefault(),O.stopPropagation(),V(O))},onMousedown(O){O.preventDefault(),O.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},R=i?!!n.chip:!!n.selection,Y=R?Dt(i?n.chip({item:g,index:A,props:E}):n.selection({item:g,index:A})):void 0;if(!(R&&!Y))return u("div",{key:g.value,class:"v-select__selection"},[i?n.chip?u(Q,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:g.title}}},{default:()=>[Y]}):u(Ht,L({key:"chip",closable:e.closableChips,size:"small",text:g.title,disabled:g.props.disabled},E),null):Y??u("span",{class:"v-select__selection-text"},[g.title,e.multiple&&A<v.value.length-1&&u("span",{class:"v-select__selection-comma"},[Et(",")])])])})]),"append-inner":function(){var E;for(var g=arguments.length,A=new Array(g),V=0;V<g;V++)A[V]=arguments[V];return u(W,null,[(E=n["append-inner"])==null?void 0:E.call(n,...A),e.menuIcon?u(Z,{class:"v-select__menu-icon",icon:e.menuIcon},null):void 0])}})}),Ae({isFocused:t,menu:l,select:N},o)}});export{Mt as V,Xt as a,Ht as b,nl as c,ol as d,$t as e,qt as f,zt as g,Qt as m,Yt as u};
@@ -1 +0,0 @@
1
- import{m as He,V as he}from"./VTextField-BayL7C1D.js";import{E as $,ao as Te,d7 as Ue,d8 as xe,O as J,aw as se,aC as ze,F as Ne,h as D,r as j,i as Ge,d9 as ge,s as K,p as $e,da as qe,a as G,as as L,R as le,db as ye,S as u,bg as Q,at as Ae,n as fe,dc as ke,dd as je,de as be,c$ as We,M as ie,cU as Xe,ay as De,N as Ee,c5 as Re,P as Be,b_ as Ye,aD as Qe,aB as te,bd as oe,d3 as Ve,ch as Ze,ax as Je,ca as et,b$ as tt,be as lt,bb as at,cF as nt,cc as ot,bZ as Oe,ci as st,df as it,az as ut,cd as ct,bf as rt,dg as dt,c2 as vt,bc as ft,aT as Ce,b6 as mt,dh as pt,di as ht,aP as Z,bV as gt,U as W,cP as de,I as Fe,cv as yt,w as Pe,cs as Le,a3 as ce,dj as kt,ag as ve,b2 as bt,G as Vt,b5 as Ct,cr as Pt,K as ne,cp as St,dk as wt,dl as It,b3 as Tt,cN as xt,bv as At,aY as Se,cQ as Dt,aj as Et,dm as we,cT as Rt}from"./admin-drawer-panel-DsgLbfnD.js";import{g as Bt}from"./VSelectionControl-DXxRmssH.js";import{V as Ot}from"./VCheckboxBtn-BTFFFGx3.js";import{m as Ft,V as Ie}from"./VSlideGroup-DYJ3EYZI.js";const Lt=$({id:String,...Te(Ue({closeDelay:250,closeOnContentClick:!0,locationStrategy:"connected",openDelay:300,scrim:!1,scrollStrategy:"reposition",transition:{component:xe}}),["absolute"])},"VMenu"),Mt=J()({name:"VMenu",props:Lt(),emits:{"update:modelValue":e=>!0},setup(e,m){let{slots:n}=m;const r=se(e,"modelValue"),{scopeId:o}=ze(),p=Ne(),k=D(()=>e.id||`v-menu-${p}`),s=j(),l=Ge(ge,null),y=K(0);$e(ge,{register(){++y.value},unregister(){--y.value},closeParents(c){setTimeout(()=>{!y.value&&!e.persistent&&(c==null||c&&!qe(c,s.value.contentEl))&&(r.value=!1,l==null||l.closeParents())},40)}});async function S(c){var b,I,T;const t=c.relatedTarget,f=c.target;await fe(),r.value&&t!==f&&((b=s.value)!=null&&b.contentEl)&&((I=s.value)!=null&&I.globalTop)&&![document,s.value.contentEl].includes(f)&&!s.value.contentEl.contains(f)&&((T=ke(s.value.contentEl)[0])==null||T.focus())}G(r,c=>{c?(l==null||l.register(),document.addEventListener("focusin",S,{once:!0})):(l==null||l.unregister(),document.removeEventListener("focusin",S))});function B(c){l==null||l.closeParents(c)}function v(c){var t,f,b;if(!e.disabled)if(c.key==="Tab"||c.key==="Enter"&&!e.closeOnContentClick){if(c.key==="Enter"&&(c.target instanceof HTMLTextAreaElement||c.target instanceof HTMLInputElement&&c.target.closest("form")))return;c.key==="Enter"&&c.preventDefault(),je(ke((t=s.value)==null?void 0:t.contentEl,!1),c.shiftKey?"prev":"next",T=>T.tabIndex>=0)||(r.value=!1,(b=(f=s.value)==null?void 0:f.activatorEl)==null||b.focus())}else["Enter"," "].includes(c.key)&&e.closeOnContentClick&&(r.value=!1,l==null||l.closeParents())}function P(c){var f;if(e.disabled)return;const t=(f=s.value)==null?void 0:f.contentEl;t&&r.value?c.key==="ArrowDown"?(c.preventDefault(),be(t,"next")):c.key==="ArrowUp"&&(c.preventDefault(),be(t,"prev")):["ArrowDown","ArrowUp"].includes(c.key)&&(r.value=!0,c.preventDefault(),setTimeout(()=>setTimeout(()=>P(c))))}const w=D(()=>L({"aria-haspopup":"menu","aria-expanded":String(r.value),"aria-owns":k.value,onKeydown:P},e.activatorProps));return le(()=>{const c=ye.filterProps(e);return u(ye,L({ref:s,id:k.value,class:["v-menu",e.class],style:e.style},c,{modelValue:r.value,"onUpdate:modelValue":t=>r.value=t,absolute:!0,activatorProps:w.value,"onClick:outside":B,onKeydown:v},o),{activator:n.activator,default:function(){for(var t=arguments.length,f=new Array(t),b=0;b<t;b++)f[b]=arguments[b];return u(Q,{root:"VMenu"},{default:()=>{var I;return[(I=n.default)==null?void 0:I.call(n,...f)]}})}})}),Ae({id:k,ΨopenChildren:y},s)}}),Me=Symbol.for("vuetify:v-chip-group"),_t=$({column:Boolean,filter:Boolean,valueComparator:{type:Function,default:We},...Ft(),...ie(),...Xe({selectedClass:"v-chip--selected"}),...De(),...Ee(),...Re({variant:"tonal"})},"VChipGroup"),nl=J()({name:"VChipGroup",props:_t(),emits:{"update:modelValue":e=>!0},setup(e,m){let{slots:n}=m;const{themeClasses:r}=Be(e),{isSelected:o,select:p,next:k,prev:s,selected:l}=Ye(e,Me);return Qe({VChip:{color:te(e,"color"),disabled:te(e,"disabled"),filter:te(e,"filter"),variant:te(e,"variant")}}),le(()=>{const y=Ie.filterProps(e);return u(Ie,L(y,{class:["v-chip-group",{"v-chip-group--column":e.column},r.value,e.class],style:e.style}),{default:()=>{var S;return[(S=n.default)==null?void 0:S.call(n,{isSelected:o,select:p,next:k,prev:s,selected:l.value})]}})}),{}}}),Kt=$({activeClass:String,appendAvatar:String,appendIcon:oe,closable:Boolean,closeIcon:{type:oe,default:"$delete"},closeLabel:{type:String,default:"$vuetify.close"},draggable:Boolean,filter:Boolean,filterIcon:{type:String,default:"$complete"},label:Boolean,link:{type:Boolean,default:void 0},pill:Boolean,prependAvatar:String,prependIcon:oe,ripple:{type:[Boolean,Object],default:!0},text:String,modelValue:{type:Boolean,default:!0},onClick:Ve(),onClickOnce:Ve(),...Ze(),...ie(),...Je(),...et(),...tt(),...lt(),...at(),...nt(),...De({tag:"span"}),...Ee(),...Re({variant:"tonal"})},"VChip"),Ht=J()({name:"VChip",directives:{Ripple:ot},props:Kt(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0,"group:selected":e=>!0,click:e=>!0},setup(e,m){let{attrs:n,emit:r,slots:o}=m;const{t:p}=Oe(),{borderClasses:k}=st(e),{colorClasses:s,colorStyles:l,variantClasses:y}=it(e),{densityClasses:S}=ut(e),{elevationClasses:B}=ct(e),{roundedClasses:v}=rt(e),{sizeClasses:P}=dt(e),{themeClasses:w}=Be(e),c=se(e,"modelValue"),t=vt(e,Me,!1),f=ft(e,n),b=D(()=>e.link!==!1&&f.isLink.value),I=D(()=>!e.disabled&&e.link!==!1&&(!!t||e.link||f.isClickable.value)),T=D(()=>({"aria-label":p(e.closeLabel),onClick(h){h.preventDefault(),h.stopPropagation(),c.value=!1,r("click:close",h)}}));function H(h){var M;r("click",h),I.value&&((M=f.navigate)==null||M.call(f,h),t==null||t.toggle())}function ee(h){(h.key==="Enter"||h.key===" ")&&(h.preventDefault(),H(h))}return()=>{const h=f.isLink.value?"a":e.tag,M=!!(e.appendIcon||e.appendAvatar),U=!!(M||o.append),_=!!(o.close||e.closable),z=!!(o.filter||e.filter)&&t,X=!!(e.prependIcon||e.prependAvatar),N=!!(X||o.prepend),q=!t||t.isSelected.value;return c.value&&Ce(u(h,{class:["v-chip",{"v-chip--disabled":e.disabled,"v-chip--label":e.label,"v-chip--link":I.value,"v-chip--filter":z,"v-chip--pill":e.pill},w.value,k.value,q?s.value:void 0,S.value,B.value,v.value,P.value,y.value,t==null?void 0:t.selectedClass.value,e.class],style:[q?l.value:void 0,e.style],disabled:e.disabled||void 0,draggable:e.draggable,href:f.href.value,tabindex:I.value?0:void 0,onClick:H,onKeydown:I.value&&!b.value&&ee},{default:()=>{var F;return[pt(I.value,"v-chip"),z&&u(ht,{key:"filter"},{default:()=>[Ce(u("div",{class:"v-chip__filter"},[o.filter?u(Q,{key:"filter-defaults",disabled:!e.filterIcon,defaults:{VIcon:{icon:e.filterIcon}}},o.filter):u(Z,{key:"filter-icon",icon:e.filterIcon},null)]),[[gt,t.isSelected.value]])]}),N&&u("div",{key:"prepend",class:"v-chip__prepend"},[o.prepend?u(Q,{key:"prepend-defaults",disabled:!X,defaults:{VAvatar:{image:e.prependAvatar,start:!0},VIcon:{icon:e.prependIcon,start:!0}}},o.prepend):u(W,null,[e.prependIcon&&u(Z,{key:"prepend-icon",icon:e.prependIcon,start:!0},null),e.prependAvatar&&u(de,{key:"prepend-avatar",image:e.prependAvatar,start:!0},null)])]),u("div",{class:"v-chip__content","data-no-activator":""},[((F=o.default)==null?void 0:F.call(o,{isSelected:t==null?void 0:t.isSelected.value,selectedClass:t==null?void 0:t.selectedClass.value,select:t==null?void 0:t.select,toggle:t==null?void 0:t.toggle,value:t==null?void 0:t.value.value,disabled:e.disabled}))??e.text]),U&&u("div",{key:"append",class:"v-chip__append"},[o.append?u(Q,{key:"append-defaults",disabled:!M,defaults:{VAvatar:{end:!0,image:e.appendAvatar},VIcon:{end:!0,icon:e.appendIcon}}},o.append):u(W,null,[e.appendIcon&&u(Z,{key:"append-icon",end:!0,icon:e.appendIcon},null),e.appendAvatar&&u(de,{key:"append-avatar",end:!0,image:e.appendAvatar},null)])]),_&&u("button",L({key:"close",class:"v-chip__close",type:"button"},T.value),[o.close?u(Q,{key:"close-defaults",defaults:{VIcon:{icon:e.closeIcon,size:"x-small"}}},o.close):u(Z,{key:"close-icon",icon:e.closeIcon,size:"x-small"},null)])]}}),[[mt("ripple"),I.value&&e.ripple,null]])}}}),Ut=$({renderless:Boolean,...ie()},"VVirtualScrollItem"),zt=J()({name:"VVirtualScrollItem",inheritAttrs:!1,props:Ut(),emits:{"update:height":e=>!0},setup(e,m){let{attrs:n,emit:r,slots:o}=m;const{resizeRef:p,contentRect:k}=Fe(void 0,"border");G(()=>{var s;return(s=k.value)==null?void 0:s.height},s=>{s!=null&&r("update:height",s)}),le(()=>{var s,l;return e.renderless?u(W,null,[(s=o.default)==null?void 0:s.call(o,{itemRef:p})]):u("div",L({ref:p,class:["v-virtual-scroll__item",e.class],style:e.style},n),[(l=o.default)==null?void 0:l.call(o)])})}}),Nt=-1,Gt=1,re=100,$t=$({itemHeight:{type:[Number,String],default:null},height:[Number,String]},"virtual");function qt(e,m){const n=yt(),r=K(0);Pe(()=>{r.value=parseFloat(e.itemHeight||0)});const o=K(0),p=K(Math.ceil((parseInt(e.height)||n.height.value)/(r.value||16))||1),k=K(0),s=K(0),l=j(),y=j();let S=0;const{resizeRef:B,contentRect:v}=Fe();Pe(()=>{B.value=l.value});const P=D(()=>{var a;return l.value===document.documentElement?n.height.value:((a=v.value)==null?void 0:a.height)||parseInt(e.height)||0}),w=D(()=>!!(l.value&&y.value&&P.value&&r.value));let c=Array.from({length:m.value.length}),t=Array.from({length:m.value.length});const f=K(0);let b=-1;function I(a){return c[a]||r.value}const T=kt(()=>{const a=performance.now();t[0]=0;const d=m.value.length;for(let x=1;x<=d-1;x++)t[x]=(t[x-1]||0)+I(x-1);f.value=Math.max(f.value,performance.now()-a)},f),H=G(w,a=>{a&&(H(),S=y.value.offsetTop,T.immediate(),F(),~b&&fe(()=>{ve&&window.requestAnimationFrame(()=>{ae(b),b=-1})}))});Le(()=>{T.clear()});function ee(a,d){const x=c[a],C=r.value;r.value=C?Math.min(r.value,d):d,(x!==d||C!==r.value)&&(c[a]=d,T())}function h(a){return a=ce(a,0,m.value.length-1),t[a]||0}function M(a){return jt(t,a)}let U=0,_=0,z=0;G(P,(a,d)=>{d&&(F(),a<d&&requestAnimationFrame(()=>{_=0,F()}))});function X(){if(!l.value||!y.value)return;const a=l.value.scrollTop,d=performance.now();d-z>500?(_=Math.sign(a-U),S=y.value.offsetTop):_=a-U,U=a,z=d,F()}function N(){!l.value||!y.value||(_=0,z=0,F())}let q=-1;function F(){cancelAnimationFrame(q),q=requestAnimationFrame(ue)}function ue(){if(!l.value||!P.value)return;const a=U-S,d=Math.sign(_),x=Math.max(0,a-re),C=ce(M(x),0,m.value.length),g=a+P.value+re,A=ce(M(g)+1,C+1,m.value.length);if((d!==Nt||C<o.value)&&(d!==Gt||A>p.value)){const V=h(o.value)-h(C),E=h(A)-h(p.value);Math.max(V,E)>re?(o.value=C,p.value=A):(C<=0&&(o.value=C),A>=m.value.length&&(p.value=A))}k.value=h(o.value),s.value=h(m.value.length)-h(p.value)}function ae(a){const d=h(a);!l.value||a&&!d?b=a:l.value.scrollTop=d}const i=D(()=>m.value.slice(o.value,p.value).map((a,d)=>({raw:a,index:d+o.value})));return G(m,()=>{c=Array.from({length:m.value.length}),t=Array.from({length:m.value.length}),T.immediate(),F()},{deep:!0}),{containerRef:l,markerRef:y,computedItems:i,paddingTop:k,paddingBottom:s,scrollToIndex:ae,handleScroll:X,handleScrollend:N,handleItemResize:ee}}function jt(e,m){let n=e.length-1,r=0,o=0,p=null,k=-1;if(e[n]<m)return n;for(;r<=n;)if(o=r+n>>1,p=e[o],p>m)n=o-1;else if(p<m)k=o,r=o+1;else return p===m?o:r;return k}const Wt=$({items:{type:Array,default:()=>[]},renderless:Boolean,...$t(),...ie(),...bt()},"VVirtualScroll"),Xt=J()({name:"VVirtualScroll",props:Wt(),setup(e,m){let{slots:n}=m;const r=Vt("VVirtualScroll"),{dimensionStyles:o}=Ct(e),{containerRef:p,markerRef:k,handleScroll:s,handleScrollend:l,handleItemResize:y,scrollToIndex:S,paddingTop:B,paddingBottom:v,computedItems:P}=qt(e,te(e,"items"));return Pt(()=>e.renderless,()=>{function w(){var f,b;const t=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1)?"addEventListener":"removeEventListener";p.value===document.documentElement?(document[t]("scroll",s,{passive:!0}),document[t]("scrollend",l)):((f=p.value)==null||f[t]("scroll",s,{passive:!0}),(b=p.value)==null||b[t]("scrollend",l))}St(()=>{p.value=wt(r.vnode.el,!0),w(!0)}),Le(w)}),le(()=>{const w=P.value.map(c=>u(zt,{key:c.index,renderless:e.renderless,"onUpdate:height":t=>y(c.index,t)},{default:t=>{var f;return(f=n.default)==null?void 0:f.call(n,{item:c.raw,index:c.index,...t})}}));return e.renderless?u(W,null,[u("div",{ref:k,class:"v-virtual-scroll__spacer",style:{paddingTop:ne(B.value)}},null),w,u("div",{class:"v-virtual-scroll__spacer",style:{paddingBottom:ne(v.value)}},null)]):u("div",{ref:p,class:["v-virtual-scroll",e.class],onScrollPassive:s,onScrollend:l,style:[o.value,e.style]},[u("div",{ref:k,class:"v-virtual-scroll__container",style:{paddingTop:ne(B.value),paddingBottom:ne(v.value)}},[w])])}),{scrollToIndex:S}}});function Yt(e,m){const n=K(!1);let r;function o(s){cancelAnimationFrame(r),n.value=!0,r=requestAnimationFrame(()=>{r=requestAnimationFrame(()=>{n.value=!1})})}async function p(){await new Promise(s=>requestAnimationFrame(s)),await new Promise(s=>requestAnimationFrame(s)),await new Promise(s=>requestAnimationFrame(s)),await new Promise(s=>{if(n.value){const l=G(n,()=>{l(),s()})}else s()})}async function k(s){var S,B;if(s.key==="Tab"&&((S=m.value)==null||S.focus()),!["PageDown","PageUp","Home","End"].includes(s.key))return;const l=(B=e.value)==null?void 0:B.$el;if(!l)return;(s.key==="Home"||s.key==="End")&&l.scrollTo({top:s.key==="Home"?0:l.scrollHeight,behavior:"smooth"}),await p();const y=l.querySelectorAll(":scope > :not(.v-virtual-scroll__spacer)");if(s.key==="PageDown"||s.key==="Home"){const v=l.getBoundingClientRect().top;for(const P of y)if(P.getBoundingClientRect().top>=v){P.focus();break}}else{const v=l.getBoundingClientRect().bottom;for(const P of[...y].reverse())if(P.getBoundingClientRect().bottom<=v){P.focus();break}}}return{onListScroll:o,onListKeydown:k}}const Qt=$({chips:Boolean,closableChips:Boolean,closeText:{type:String,default:"$vuetify.close"},openText:{type:String,default:"$vuetify.open"},eager:Boolean,hideNoData:Boolean,hideSelected:Boolean,listProps:{type:Object},menu:Boolean,menuIcon:{type:oe,default:"$dropdown"},menuProps:{type:Object},multiple:Boolean,noDataText:{type:String,default:"$vuetify.noDataText"},openOnClear:Boolean,itemColor:String,...It({itemChildren:!1})},"Select"),Zt=$({...Qt(),...Te(He({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...Tt({transition:{component:xe}})},"VSelect"),ol=J()({name:"VSelect",props:Zt(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:menu":e=>!0},setup(e,m){let{slots:n}=m;const{t:r}=Oe(),o=j(),p=j(),k=j(),s=se(e,"menu"),l=D({get:()=>s.value,set:i=>{var a;s.value&&!i&&((a=p.value)!=null&&a.ΨopenChildren)||(s.value=i)}}),{items:y,transformIn:S,transformOut:B}=xt(e),v=se(e,"modelValue",[],i=>S(i===null?[null]:Rt(i)),i=>{const a=B(i);return e.multiple?a:a[0]??null}),P=D(()=>typeof e.counterValue=="function"?e.counterValue(v.value):typeof e.counterValue=="number"?e.counterValue:v.value.length),w=Bt(),c=D(()=>v.value.map(i=>i.value)),t=K(!1),f=D(()=>l.value?e.closeText:e.openText);let b="",I;const T=D(()=>e.hideSelected?y.value.filter(i=>!v.value.some(a=>e.valueComparator(a,i))):y.value),H=D(()=>e.hideNoData&&!T.value.length||e.readonly||(w==null?void 0:w.isReadonly.value)),ee=D(()=>{var i;return{...e.menuProps,activatorProps:{...((i=e.menuProps)==null?void 0:i.activatorProps)||{},"aria-haspopup":"listbox"}}}),h=j(),{onListScroll:M,onListKeydown:U}=Yt(h,o);function _(i){e.openOnClear&&(l.value=!0)}function z(){H.value||(l.value=!l.value)}function X(i){var g,A;if(!i.key||e.readonly||w!=null&&w.isReadonly.value)return;["Enter"," ","ArrowDown","ArrowUp","Home","End"].includes(i.key)&&i.preventDefault(),["Enter","ArrowDown"," "].includes(i.key)&&(l.value=!0),["Escape","Tab"].includes(i.key)&&(l.value=!1),i.key==="Home"?(g=h.value)==null||g.focus("first"):i.key==="End"&&((A=h.value)==null||A.focus("last"));const a=1e3;function d(V){const E=V.key.length===1,R=!V.ctrlKey&&!V.metaKey&&!V.altKey;return E&&R}if(e.multiple||!d(i))return;const x=performance.now();x-I>a&&(b=""),b+=i.key.toLowerCase(),I=x;const C=y.value.find(V=>V.title.toLowerCase().startsWith(b));if(C!==void 0){v.value=[C];const V=T.value.indexOf(C);ve&&window.requestAnimationFrame(()=>{var E;V>=0&&((E=k.value)==null||E.scrollToIndex(V))})}}function N(i){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!i.props.disabled)if(e.multiple){const d=v.value.findIndex(C=>e.valueComparator(C.value,i.value)),x=a??!~d;if(~d){const C=x?[...v.value,i]:[...v.value];C.splice(d,1),v.value=C}else x&&(v.value=[...v.value,i])}else{const d=a!==!1;v.value=d?[i]:[],fe(()=>{l.value=!1})}}function q(i){var a;(a=h.value)!=null&&a.$el.contains(i.relatedTarget)||(l.value=!1)}function F(){var i;t.value&&((i=o.value)==null||i.focus())}function ue(i){t.value=!0}function ae(i){if(i==null)v.value=[];else if(we(o.value,":autofill")||we(o.value,":-webkit-autofill")){const a=y.value.find(d=>d.title===i);a&&N(a)}else o.value&&(o.value.value="")}return G(l,()=>{if(!e.hideSelected&&l.value&&v.value.length){const i=T.value.findIndex(a=>v.value.some(d=>e.valueComparator(d.value,a.value)));ve&&window.requestAnimationFrame(()=>{var a;i>=0&&((a=k.value)==null||a.scrollToIndex(i))})}}),G(()=>e.items,(i,a)=>{l.value||t.value&&!a.length&&i.length&&(l.value=!0)}),le(()=>{const i=!!(e.chips||n.chip),a=!!(!e.hideNoData||T.value.length||n["prepend-item"]||n["append-item"]||n["no-data"]),d=v.value.length>0,x=he.filterProps(e),C=d||!t.value&&e.label&&!e.persistentPlaceholder?void 0:e.placeholder;return u(he,L({ref:o},x,{modelValue:v.value.map(g=>g.props.value).join(", "),"onUpdate:modelValue":ae,focused:t.value,"onUpdate:focused":g=>t.value=g,validationValue:v.externalValue,counterValue:P.value,dirty:d,class:["v-select",{"v-select--active-menu":l.value,"v-select--chips":!!e.chips,[`v-select--${e.multiple?"multiple":"single"}`]:!0,"v-select--selected":v.value.length,"v-select--selection-slot":!!n.selection},e.class],style:e.style,inputmode:"none",placeholder:C,"onClick:clear":_,"onMousedown:control":z,onBlur:q,onKeydown:X,"aria-label":r(f.value),title:r(f.value)}),{...n,default:()=>u(W,null,[u(Mt,L({ref:p,modelValue:l.value,"onUpdate:modelValue":g=>l.value=g,activator:"parent",contentClass:"v-select__content",disabled:H.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterLeave:F},ee.value),{default:()=>[a&&u(At,L({ref:h,selected:c.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:g=>g.preventDefault(),onKeydown:U,onFocusin:ue,onScrollPassive:M,tabindex:"-1","aria-live":"polite",color:e.itemColor??e.color},e.listProps),{default:()=>{var g,A,V;return[(g=n["prepend-item"])==null?void 0:g.call(n),!T.value.length&&!e.hideNoData&&(((A=n["no-data"])==null?void 0:A.call(n))??u(Se,{title:r(e.noDataText)},null)),u(Xt,{ref:k,renderless:!0,items:T.value},{default:E=>{var pe;let{item:R,index:Y,itemRef:O}=E;const me=L(R.props,{ref:O,key:Y,onClick:()=>N(R,null)});return((pe=n.item)==null?void 0:pe.call(n,{item:R,index:Y,props:me}))??u(Se,L(me,{role:"option"}),{prepend:_e=>{let{isSelected:Ke}=_e;return u(W,null,[e.multiple&&!e.hideSelected?u(Ot,{key:R.value,modelValue:Ke,ripple:!1,tabindex:"-1"},null):void 0,R.props.prependAvatar&&u(de,{image:R.props.prependAvatar},null),R.props.prependIcon&&u(Z,{icon:R.props.prependIcon},null)])}})}}),(V=n["append-item"])==null?void 0:V.call(n)]}})]}),v.value.map((g,A)=>{function V(O){O.stopPropagation(),O.preventDefault(),N(g,!1)}const E={"onClick:close":V,onKeydown(O){O.key!=="Enter"&&O.key!==" "||(O.preventDefault(),O.stopPropagation(),V(O))},onMousedown(O){O.preventDefault(),O.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},R=i?!!n.chip:!!n.selection,Y=R?Dt(i?n.chip({item:g,index:A,props:E}):n.selection({item:g,index:A})):void 0;if(!(R&&!Y))return u("div",{key:g.value,class:"v-select__selection"},[i?n.chip?u(Q,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:g.title}}},{default:()=>[Y]}):u(Ht,L({key:"chip",closable:e.closableChips,size:"small",text:g.title,disabled:g.props.disabled},E),null):Y??u("span",{class:"v-select__selection-text"},[g.title,e.multiple&&A<v.value.length-1&&u("span",{class:"v-select__selection-comma"},[Et(",")])])])})]),"append-inner":function(){var E;for(var g=arguments.length,A=new Array(g),V=0;V<g;V++)A[V]=arguments[V];return u(W,null,[(E=n["append-inner"])==null?void 0:E.call(n,...A),e.menuIcon?u(Z,{class:"v-select__menu-icon",icon:e.menuIcon},null):void 0])}})}),Ae({isFocused:t,menu:l,select:N},o)}});export{Mt as V,Xt as a,Ht as b,nl as c,ol as d,$t as e,qt as f,zt as g,Qt as m,Yt as u};