codex 1.6.17__py3-none-any.whl → 1.6.19__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 (536) hide show
  1. codex/librarian/janitor/janitor.py +12 -4
  2. codex/librarian/janitor/latest_version.py +54 -0
  3. codex/librarian/janitor/status.py +1 -0
  4. codex/librarian/janitor/tasks.py +14 -7
  5. codex/librarian/janitor/update.py +21 -2
  6. codex/librarian/janitor/vacuum.py +1 -2
  7. codex/librarian/watchdog/emitter.py +12 -14
  8. codex/librarian/watchdog/events.py +5 -2
  9. codex/librarian/watchdog/observers.py +4 -4
  10. codex/serializers/browser/mixins.py +1 -2
  11. codex/settings/settings.py +4 -1
  12. codex/signals/django_signals.py +0 -9
  13. codex/static_root/assets/VCheckbox-Cko1sQK-.170726b3b8a1.js +1 -0
  14. codex/static_root/assets/VCheckbox-Cko1sQK-.170726b3b8a1.js.br +0 -0
  15. codex/static_root/assets/VCheckbox-Cko1sQK-.170726b3b8a1.js.gz +0 -0
  16. codex/static_root/assets/VCheckbox-Cko1sQK-.js +1 -0
  17. codex/static_root/assets/VCheckbox-Cko1sQK-.js.br +0 -0
  18. codex/static_root/assets/VCheckbox-Cko1sQK-.js.gz +0 -0
  19. codex/static_root/assets/VCheckboxBtn-CO3-aqQL.c9b8062fd66f.js +1 -0
  20. codex/static_root/assets/VCheckboxBtn-CO3-aqQL.c9b8062fd66f.js.br +0 -0
  21. codex/static_root/assets/VCheckboxBtn-CO3-aqQL.c9b8062fd66f.js.gz +0 -0
  22. codex/static_root/assets/VCheckboxBtn-CO3-aqQL.js +1 -0
  23. codex/static_root/assets/VCheckboxBtn-CO3-aqQL.js.br +0 -0
  24. codex/static_root/assets/VCheckboxBtn-CO3-aqQL.js.gz +0 -0
  25. codex/static_root/assets/VCombobox-Bjp6lffE.caf59fba486e.js +1 -0
  26. codex/static_root/assets/VCombobox-Bjp6lffE.caf59fba486e.js.br +0 -0
  27. codex/static_root/assets/VCombobox-Bjp6lffE.caf59fba486e.js.gz +0 -0
  28. codex/static_root/assets/VCombobox-Bjp6lffE.js +1 -0
  29. codex/static_root/assets/VCombobox-Bjp6lffE.js.br +0 -0
  30. codex/static_root/assets/VCombobox-Bjp6lffE.js.gz +0 -0
  31. codex/static_root/assets/VDialog-BkpVGB70.6eea3ca762a5.js +1 -0
  32. codex/static_root/assets/VDialog-BkpVGB70.6eea3ca762a5.js.br +0 -0
  33. codex/static_root/assets/VDialog-BkpVGB70.6eea3ca762a5.js.gz +0 -0
  34. codex/static_root/assets/VDialog-BkpVGB70.js +1 -0
  35. codex/static_root/assets/VDialog-BkpVGB70.js.br +0 -0
  36. codex/static_root/assets/VDialog-BkpVGB70.js.gz +0 -0
  37. codex/static_root/assets/VExpansionPanels-Ci2-j8XX.9c55db4ef49e.js +1 -0
  38. codex/static_root/assets/VExpansionPanels-Ci2-j8XX.9c55db4ef49e.js.br +0 -0
  39. codex/static_root/assets/VExpansionPanels-Ci2-j8XX.9c55db4ef49e.js.gz +0 -0
  40. codex/static_root/assets/VExpansionPanels-Ci2-j8XX.js +1 -0
  41. codex/static_root/assets/VExpansionPanels-Ci2-j8XX.js.br +0 -0
  42. codex/static_root/assets/VExpansionPanels-Ci2-j8XX.js.gz +0 -0
  43. codex/static_root/assets/VRadioGroup-D3Py5BfQ.a4f25edb86d3.js +1 -0
  44. codex/static_root/assets/VRadioGroup-D3Py5BfQ.a4f25edb86d3.js.br +0 -0
  45. codex/static_root/assets/VRadioGroup-D3Py5BfQ.a4f25edb86d3.js.gz +0 -0
  46. codex/static_root/assets/VRadioGroup-D3Py5BfQ.js +1 -0
  47. codex/static_root/assets/VRadioGroup-D3Py5BfQ.js.br +0 -0
  48. codex/static_root/assets/VRadioGroup-D3Py5BfQ.js.gz +0 -0
  49. codex/static_root/assets/VSelect-DtvZsYZz.e98745d858eb.js +1 -0
  50. codex/static_root/assets/VSelect-DtvZsYZz.e98745d858eb.js.br +0 -0
  51. codex/static_root/assets/VSelect-DtvZsYZz.e98745d858eb.js.gz +0 -0
  52. codex/static_root/assets/VSelect-DtvZsYZz.js +1 -0
  53. codex/static_root/assets/VSelect-DtvZsYZz.js.br +0 -0
  54. codex/static_root/assets/VSelect-DtvZsYZz.js.gz +0 -0
  55. codex/static_root/assets/VSelectionControl-D6kmykQW.1e1fda62ceba.js +1 -0
  56. codex/static_root/assets/VSelectionControl-D6kmykQW.1e1fda62ceba.js.br +0 -0
  57. codex/static_root/assets/VSelectionControl-D6kmykQW.1e1fda62ceba.js.gz +0 -0
  58. codex/static_root/assets/VSelectionControl-D6kmykQW.js +1 -0
  59. codex/static_root/assets/VSelectionControl-D6kmykQW.js.br +0 -0
  60. codex/static_root/assets/VSelectionControl-D6kmykQW.js.gz +0 -0
  61. codex/static_root/assets/{VSlideGroup-B9zEPv1H.627ca1e091fb.js → VSlideGroup-UGZWxpF5.360bdefcd215.js} +1 -1
  62. codex/static_root/assets/VSlideGroup-UGZWxpF5.360bdefcd215.js.br +0 -0
  63. codex/static_root/assets/VSlideGroup-UGZWxpF5.360bdefcd215.js.gz +0 -0
  64. codex/static_root/assets/{VSlideGroup-B9zEPv1H.js → VSlideGroup-UGZWxpF5.js} +1 -1
  65. codex/static_root/assets/VSlideGroup-UGZWxpF5.js.br +0 -0
  66. codex/static_root/assets/VSlideGroup-UGZWxpF5.js.gz +0 -0
  67. codex/static_root/assets/{VTable-D85UV0cA.c9b0d82847a0.js → VTable-DXH_yQ0o.1149f56ad566.js} +1 -1
  68. codex/static_root/assets/VTable-DXH_yQ0o.1149f56ad566.js.br +0 -0
  69. codex/static_root/assets/VTable-DXH_yQ0o.1149f56ad566.js.gz +0 -0
  70. codex/static_root/assets/{VTable-D85UV0cA.js → VTable-DXH_yQ0o.js} +1 -1
  71. codex/static_root/assets/VTable-DXH_yQ0o.js.br +0 -0
  72. codex/static_root/assets/VTable-DXH_yQ0o.js.gz +0 -0
  73. codex/static_root/assets/VTextField-Blqy56_L.26d8761e0155.js +1 -0
  74. codex/static_root/assets/VTextField-Blqy56_L.26d8761e0155.js.br +0 -0
  75. codex/static_root/assets/VTextField-Blqy56_L.26d8761e0155.js.gz +0 -0
  76. codex/static_root/assets/VTextField-Blqy56_L.js +1 -0
  77. codex/static_root/assets/VTextField-Blqy56_L.js.br +0 -0
  78. codex/static_root/assets/VTextField-Blqy56_L.js.gz +0 -0
  79. codex/static_root/assets/VWindowItem-C8_ovV7e.afbc08414765.js +1 -0
  80. codex/static_root/assets/VWindowItem-C8_ovV7e.afbc08414765.js.br +0 -0
  81. codex/static_root/assets/VWindowItem-C8_ovV7e.afbc08414765.js.gz +0 -0
  82. codex/static_root/assets/VWindowItem-C8_ovV7e.js +1 -0
  83. codex/static_root/assets/VWindowItem-C8_ovV7e.js.br +0 -0
  84. codex/static_root/assets/VWindowItem-C8_ovV7e.js.gz +0 -0
  85. codex/static_root/assets/admin-DTRn8bBs.d031ea42d8d0.js +1 -0
  86. codex/static_root/assets/admin-DTRn8bBs.d031ea42d8d0.js.br +0 -0
  87. codex/static_root/assets/admin-DTRn8bBs.d031ea42d8d0.js.gz +0 -0
  88. codex/static_root/assets/admin-DTRn8bBs.js +1 -0
  89. codex/static_root/assets/admin-DTRn8bBs.js.br +0 -0
  90. codex/static_root/assets/admin-DTRn8bBs.js.gz +0 -0
  91. codex/static_root/assets/admin-drawer-panel-BaXFOcru.b1a44b05f482.js +30 -0
  92. codex/static_root/assets/admin-drawer-panel-BaXFOcru.b1a44b05f482.js.br +0 -0
  93. codex/static_root/assets/admin-drawer-panel-BaXFOcru.b1a44b05f482.js.gz +0 -0
  94. codex/static_root/assets/admin-drawer-panel-BaXFOcru.js +30 -0
  95. codex/static_root/assets/admin-drawer-panel-BaXFOcru.js.br +0 -0
  96. codex/static_root/assets/admin-drawer-panel-BaXFOcru.js.gz +0 -0
  97. codex/static_root/assets/admin-drawer-panel-Bs2wgKj3.3cb33056e994.css +1 -0
  98. codex/static_root/assets/admin-drawer-panel-Bs2wgKj3.3cb33056e994.css.br +0 -0
  99. codex/static_root/assets/admin-drawer-panel-Bs2wgKj3.3cb33056e994.css.gz +0 -0
  100. codex/static_root/assets/admin-drawer-panel-Bs2wgKj3.css +1 -0
  101. codex/static_root/assets/admin-drawer-panel-Bs2wgKj3.css.br +0 -0
  102. codex/static_root/assets/admin-drawer-panel-Bs2wgKj3.css.gz +0 -0
  103. codex/static_root/assets/browser-BBpUyGmz.c1cb9e2d463b.js +1 -0
  104. codex/static_root/assets/browser-BBpUyGmz.c1cb9e2d463b.js.br +0 -0
  105. codex/static_root/assets/browser-BBpUyGmz.c1cb9e2d463b.js.gz +0 -0
  106. codex/static_root/assets/browser-BBpUyGmz.js +1 -0
  107. codex/static_root/assets/browser-BBpUyGmz.js.br +0 -0
  108. codex/static_root/assets/browser-BBpUyGmz.js.gz +0 -0
  109. codex/static_root/assets/{browser-DWoo5pGT.29bee2bbd49b.css → browser-Binc3n9H.313722d27ca3.css} +1 -1
  110. codex/static_root/assets/browser-Binc3n9H.313722d27ca3.css.br +0 -0
  111. codex/static_root/assets/browser-Binc3n9H.313722d27ca3.css.gz +0 -0
  112. codex/static_root/assets/{browser-DWoo5pGT.css → browser-Binc3n9H.css} +1 -1
  113. codex/static_root/assets/browser-Binc3n9H.css.br +0 -0
  114. codex/static_root/assets/browser-Binc3n9H.css.gz +0 -0
  115. codex/static_root/assets/change-password-dialog-Cebek1-c.aff2975e31f8.css +1 -0
  116. codex/static_root/assets/change-password-dialog-Cebek1-c.aff2975e31f8.css.br +0 -0
  117. codex/static_root/assets/change-password-dialog-Cebek1-c.aff2975e31f8.css.gz +0 -0
  118. codex/static_root/assets/change-password-dialog-Cebek1-c.css +1 -0
  119. codex/static_root/assets/change-password-dialog-Cebek1-c.css.br +0 -0
  120. codex/static_root/assets/change-password-dialog-Cebek1-c.css.gz +0 -0
  121. codex/static_root/assets/change-password-dialog-DlHoLhDF.76ab4a29bb9b.js +1 -0
  122. codex/static_root/assets/change-password-dialog-DlHoLhDF.76ab4a29bb9b.js.br +0 -0
  123. codex/static_root/assets/change-password-dialog-DlHoLhDF.76ab4a29bb9b.js.gz +0 -0
  124. codex/static_root/assets/change-password-dialog-DlHoLhDF.js +1 -0
  125. codex/static_root/assets/change-password-dialog-DlHoLhDF.js.br +0 -0
  126. codex/static_root/assets/change-password-dialog-DlHoLhDF.js.gz +0 -0
  127. codex/static_root/assets/confirm-dialog-D3_s2DQy.9dde66036c72.js +1 -0
  128. codex/static_root/assets/confirm-dialog-D3_s2DQy.9dde66036c72.js.br +0 -0
  129. codex/static_root/assets/confirm-dialog-D3_s2DQy.9dde66036c72.js.gz +0 -0
  130. codex/static_root/assets/confirm-dialog-D3_s2DQy.js +1 -0
  131. codex/static_root/assets/confirm-dialog-D3_s2DQy.js.br +0 -0
  132. codex/static_root/assets/confirm-dialog-D3_s2DQy.js.gz +0 -0
  133. codex/static_root/assets/{datetime-column-BdnHcY-4.12fb4188de00.js → datetime-column-BxC1Li9e.3dc314b3295d.js} +1 -1
  134. codex/static_root/assets/datetime-column-BxC1Li9e.3dc314b3295d.js.br +0 -0
  135. codex/static_root/assets/datetime-column-BxC1Li9e.3dc314b3295d.js.gz +0 -0
  136. codex/static_root/assets/{datetime-column-BdnHcY-4.js → datetime-column-BxC1Li9e.js} +1 -1
  137. codex/static_root/assets/datetime-column-BxC1Li9e.js.br +0 -0
  138. codex/static_root/assets/datetime-column-BxC1Li9e.js.gz +0 -0
  139. codex/static_root/assets/{filter-BL9RMUvn.b92d240c4512.js → filter-Bzk7x841.d0c3b602e62d.js} +1 -1
  140. codex/static_root/assets/filter-Bzk7x841.d0c3b602e62d.js.br +0 -0
  141. codex/static_root/assets/filter-Bzk7x841.d0c3b602e62d.js.gz +0 -0
  142. codex/static_root/assets/{filter-BL9RMUvn.js → filter-Bzk7x841.js} +1 -1
  143. codex/static_root/assets/filter-Bzk7x841.js.br +0 -0
  144. codex/static_root/assets/filter-Bzk7x841.js.gz +0 -0
  145. codex/static_root/assets/flag-tab-C2bI5zq3.8f8c297600a6.js +1 -0
  146. codex/static_root/assets/flag-tab-C2bI5zq3.8f8c297600a6.js.br +0 -0
  147. codex/static_root/assets/flag-tab-C2bI5zq3.8f8c297600a6.js.gz +0 -0
  148. codex/static_root/assets/flag-tab-C2bI5zq3.js +1 -0
  149. codex/static_root/assets/flag-tab-C2bI5zq3.js.br +0 -0
  150. codex/static_root/assets/flag-tab-C2bI5zq3.js.gz +0 -0
  151. codex/static_root/assets/group-tab-5esH4lwX.a81fdd258117.js +1 -0
  152. codex/static_root/assets/group-tab-5esH4lwX.a81fdd258117.js.br +0 -0
  153. codex/static_root/assets/group-tab-5esH4lwX.a81fdd258117.js.gz +0 -0
  154. codex/static_root/assets/group-tab-5esH4lwX.js +1 -0
  155. codex/static_root/assets/group-tab-5esH4lwX.js.br +0 -0
  156. codex/static_root/assets/group-tab-5esH4lwX.js.gz +0 -0
  157. codex/static_root/assets/http-error-BTOBfcGY.52ced6f28420.js +1 -0
  158. codex/static_root/assets/http-error-BTOBfcGY.52ced6f28420.js.br +0 -0
  159. codex/static_root/assets/http-error-BTOBfcGY.52ced6f28420.js.gz +0 -0
  160. codex/static_root/assets/http-error-BTOBfcGY.js +1 -0
  161. codex/static_root/assets/http-error-BTOBfcGY.js.br +0 -0
  162. codex/static_root/assets/http-error-BTOBfcGY.js.gz +0 -0
  163. codex/static_root/assets/{library-tab-VMgJSPRy.5e7d6c6baff6.css → library-tab-Bh7ErAk7.7c44200ee727.css} +1 -1
  164. codex/static_root/assets/library-tab-Bh7ErAk7.7c44200ee727.css.br +2 -0
  165. codex/static_root/assets/library-tab-Bh7ErAk7.7c44200ee727.css.gz +0 -0
  166. codex/static_root/assets/{library-tab-VMgJSPRy.css → library-tab-Bh7ErAk7.css} +1 -1
  167. codex/static_root/assets/library-tab-Bh7ErAk7.css.br +2 -0
  168. codex/static_root/assets/library-tab-Bh7ErAk7.css.gz +0 -0
  169. codex/static_root/assets/library-tab-DiPEdOF7.ece2d642a9dc.js +1 -0
  170. codex/static_root/assets/library-tab-DiPEdOF7.ece2d642a9dc.js.br +0 -0
  171. codex/static_root/assets/library-tab-DiPEdOF7.ece2d642a9dc.js.gz +0 -0
  172. codex/static_root/assets/library-tab-DiPEdOF7.js +1 -0
  173. codex/static_root/assets/library-tab-DiPEdOF7.js.br +0 -0
  174. codex/static_root/assets/library-tab-DiPEdOF7.js.gz +0 -0
  175. codex/static_root/assets/main-BPIPjzsc.66def8991e38.js +6 -0
  176. codex/static_root/assets/main-BPIPjzsc.66def8991e38.js.br +0 -0
  177. codex/static_root/assets/main-BPIPjzsc.66def8991e38.js.gz +0 -0
  178. codex/static_root/assets/main-BPIPjzsc.js +6 -0
  179. codex/static_root/assets/main-BPIPjzsc.js.br +0 -0
  180. codex/static_root/assets/main-BPIPjzsc.js.gz +0 -0
  181. codex/static_root/assets/pager-full-pdf-CiyC6Al9.278b9978f36f.js +1 -0
  182. codex/static_root/assets/pager-full-pdf-CiyC6Al9.278b9978f36f.js.br +0 -0
  183. codex/static_root/assets/pager-full-pdf-CiyC6Al9.278b9978f36f.js.gz +0 -0
  184. codex/static_root/assets/pager-full-pdf-CiyC6Al9.js +1 -0
  185. codex/static_root/assets/pager-full-pdf-CiyC6Al9.js.br +0 -0
  186. codex/static_root/assets/pager-full-pdf-CiyC6Al9.js.gz +0 -0
  187. codex/static_root/assets/pagination-toolbar-C45-onwe.4722195bb60b.css +1 -0
  188. codex/static_root/assets/pagination-toolbar-C45-onwe.4722195bb60b.css.br +0 -0
  189. codex/static_root/assets/pagination-toolbar-C45-onwe.4722195bb60b.css.gz +0 -0
  190. codex/static_root/assets/pagination-toolbar-C45-onwe.css +1 -0
  191. codex/static_root/assets/pagination-toolbar-C45-onwe.css.br +0 -0
  192. codex/static_root/assets/pagination-toolbar-C45-onwe.css.gz +0 -0
  193. codex/static_root/assets/pagination-toolbar-CkIzuyx1.00c354a82e6e.js +1 -0
  194. codex/static_root/assets/pagination-toolbar-CkIzuyx1.00c354a82e6e.js.br +0 -0
  195. codex/static_root/assets/pagination-toolbar-CkIzuyx1.00c354a82e6e.js.gz +0 -0
  196. codex/static_root/assets/pagination-toolbar-CkIzuyx1.js +1 -0
  197. codex/static_root/assets/pagination-toolbar-CkIzuyx1.js.br +0 -0
  198. codex/static_root/assets/pagination-toolbar-CkIzuyx1.js.gz +0 -0
  199. codex/static_root/assets/{pdf-doc-BDi_S8C8.ec2572c47556.js → pdf-doc-BjlRPuf4.0f056fa321b6.js} +15 -15
  200. codex/static_root/assets/pdf-doc-BjlRPuf4.0f056fa321b6.js.br +0 -0
  201. codex/static_root/assets/pdf-doc-BjlRPuf4.0f056fa321b6.js.gz +0 -0
  202. codex/static_root/assets/{pdf-doc-BDi_S8C8.js → pdf-doc-BjlRPuf4.js} +15 -15
  203. codex/static_root/assets/pdf-doc-BjlRPuf4.js.br +0 -0
  204. codex/static_root/assets/pdf-doc-BjlRPuf4.js.gz +0 -0
  205. codex/static_root/assets/pdf-doc-CG5-AZ2M.b94aac7e3313.css +1 -0
  206. codex/static_root/assets/pdf-doc-CG5-AZ2M.b94aac7e3313.css.br +1 -0
  207. codex/static_root/assets/pdf-doc-CG5-AZ2M.b94aac7e3313.css.gz +0 -0
  208. codex/static_root/assets/pdf-doc-CG5-AZ2M.css +1 -0
  209. codex/static_root/assets/pdf-doc-CG5-AZ2M.css.br +1 -0
  210. codex/static_root/assets/pdf-doc-CG5-AZ2M.css.gz +0 -0
  211. codex/static_root/assets/reader-_stAWL-4.5089e9144795.css +1 -0
  212. codex/static_root/assets/reader-_stAWL-4.5089e9144795.css.br +0 -0
  213. codex/static_root/assets/reader-_stAWL-4.5089e9144795.css.gz +0 -0
  214. codex/static_root/assets/reader-_stAWL-4.css +1 -0
  215. codex/static_root/assets/reader-_stAWL-4.css.br +0 -0
  216. codex/static_root/assets/reader-_stAWL-4.css.gz +0 -0
  217. codex/static_root/assets/reader-ucxnLi2K.d0fbce0f03c1.js +2 -0
  218. codex/static_root/assets/reader-ucxnLi2K.d0fbce0f03c1.js.br +0 -0
  219. codex/static_root/assets/reader-ucxnLi2K.d0fbce0f03c1.js.gz +0 -0
  220. codex/static_root/assets/reader-ucxnLi2K.js +2 -0
  221. codex/static_root/assets/reader-ucxnLi2K.js.br +0 -0
  222. codex/static_root/assets/reader-ucxnLi2K.js.gz +0 -0
  223. codex/static_root/assets/relation-chips-CUSatZET.a58031ff8141.js +1 -0
  224. codex/static_root/assets/relation-chips-CUSatZET.a58031ff8141.js.br +0 -0
  225. codex/static_root/assets/relation-chips-CUSatZET.a58031ff8141.js.gz +0 -0
  226. codex/static_root/assets/relation-chips-CUSatZET.js +1 -0
  227. codex/static_root/assets/relation-chips-CUSatZET.js.br +0 -0
  228. codex/static_root/assets/relation-chips-CUSatZET.js.gz +0 -0
  229. codex/static_root/assets/settings-drawer-BSHTAsJ9.1d07ce084fc9.js +2 -0
  230. codex/static_root/assets/settings-drawer-BSHTAsJ9.1d07ce084fc9.js.br +0 -0
  231. codex/static_root/assets/settings-drawer-BSHTAsJ9.1d07ce084fc9.js.gz +0 -0
  232. codex/static_root/assets/settings-drawer-BSHTAsJ9.js +2 -0
  233. codex/static_root/assets/settings-drawer-BSHTAsJ9.js.br +0 -0
  234. codex/static_root/assets/settings-drawer-BSHTAsJ9.js.gz +0 -0
  235. codex/static_root/assets/{stats-tab-Dd3GXeM3.9473f148a600.css → stats-tab-BXGisn5N.9b7a71e7fe28.css} +1 -1
  236. codex/static_root/assets/stats-tab-BXGisn5N.9b7a71e7fe28.css.br +0 -0
  237. codex/static_root/assets/stats-tab-BXGisn5N.9b7a71e7fe28.css.gz +0 -0
  238. codex/static_root/assets/{stats-tab-Dd3GXeM3.css → stats-tab-BXGisn5N.css} +1 -1
  239. codex/static_root/assets/stats-tab-BXGisn5N.css.br +0 -0
  240. codex/static_root/assets/stats-tab-BXGisn5N.css.gz +0 -0
  241. codex/static_root/assets/stats-tab-DKXVB2Cc.0a3de58bf5ee.js +1 -0
  242. codex/static_root/assets/stats-tab-DKXVB2Cc.0a3de58bf5ee.js.br +0 -0
  243. codex/static_root/assets/stats-tab-DKXVB2Cc.0a3de58bf5ee.js.gz +0 -0
  244. codex/static_root/assets/stats-tab-DKXVB2Cc.js +1 -0
  245. codex/static_root/assets/stats-tab-DKXVB2Cc.js.br +0 -0
  246. codex/static_root/assets/stats-tab-DKXVB2Cc.js.gz +0 -0
  247. codex/static_root/assets/task-tab-NORFAa9p.97e07e366ddd.js +1 -0
  248. codex/static_root/assets/task-tab-NORFAa9p.97e07e366ddd.js.br +0 -0
  249. codex/static_root/assets/task-tab-NORFAa9p.97e07e366ddd.js.gz +0 -0
  250. codex/static_root/assets/task-tab-NORFAa9p.js +1 -0
  251. codex/static_root/assets/task-tab-NORFAa9p.js.br +0 -0
  252. codex/static_root/assets/task-tab-NORFAa9p.js.gz +0 -0
  253. codex/static_root/assets/unauthorized-RHaQZRfr.a234e9403f60.js +1 -0
  254. codex/static_root/assets/unauthorized-RHaQZRfr.a234e9403f60.js.br +0 -0
  255. codex/static_root/assets/unauthorized-RHaQZRfr.a234e9403f60.js.gz +0 -0
  256. codex/static_root/assets/unauthorized-RHaQZRfr.js +1 -0
  257. codex/static_root/assets/unauthorized-RHaQZRfr.js.br +0 -0
  258. codex/static_root/assets/unauthorized-RHaQZRfr.js.gz +0 -0
  259. codex/static_root/assets/{unauthorized-CQL7W5pA.75124be66863.css → unauthorized-muDsv-rC.2166ec8b3a32.css} +1 -1
  260. codex/static_root/assets/unauthorized-muDsv-rC.2166ec8b3a32.css.br +0 -0
  261. codex/static_root/assets/unauthorized-muDsv-rC.2166ec8b3a32.css.gz +0 -0
  262. codex/static_root/assets/{unauthorized-CQL7W5pA.css → unauthorized-muDsv-rC.css} +1 -1
  263. codex/static_root/assets/unauthorized-muDsv-rC.css.br +0 -0
  264. codex/static_root/assets/unauthorized-muDsv-rC.css.gz +0 -0
  265. codex/static_root/assets/user-tab-CHbyN1EW.e7206db08680.js +1 -0
  266. codex/static_root/assets/user-tab-CHbyN1EW.e7206db08680.js.br +0 -0
  267. codex/static_root/assets/user-tab-CHbyN1EW.e7206db08680.js.gz +0 -0
  268. codex/static_root/assets/user-tab-CHbyN1EW.js +1 -0
  269. codex/static_root/assets/user-tab-CHbyN1EW.js.br +0 -0
  270. codex/static_root/assets/user-tab-CHbyN1EW.js.gz +0 -0
  271. codex/static_root/js/choices-admin.1a20a5648f20.json +1 -0
  272. codex/static_root/js/choices-admin.1a20a5648f20.json.br +0 -0
  273. codex/static_root/js/choices-admin.1a20a5648f20.json.gz +0 -0
  274. codex/static_root/js/choices-admin.json +1 -1
  275. codex/static_root/js/choices-admin.json.br +0 -0
  276. codex/static_root/js/choices-admin.json.gz +0 -0
  277. codex/static_root/manifest.0fe31a6cb99f.json +635 -0
  278. codex/static_root/manifest.0fe31a6cb99f.json.br +0 -0
  279. codex/static_root/manifest.0fe31a6cb99f.json.gz +0 -0
  280. codex/static_root/manifest.json +273 -249
  281. codex/static_root/manifest.json.br +0 -0
  282. codex/static_root/manifest.json.gz +0 -0
  283. codex/static_root/staticfiles.json +1 -1
  284. codex/templates/pwa/serviceworker.js +4 -4
  285. codex/version.py +0 -63
  286. codex/views/admin/tasks.py +2 -0
  287. codex/views/bookmark.py +16 -23
  288. codex/views/const.py +1 -2
  289. codex/views/reader/books.py +2 -2
  290. codex/views/reader/init.py +3 -2
  291. codex/views/version.py +10 -2
  292. {codex-1.6.17.dist-info → codex-1.6.19.dist-info}/METADATA +8 -8
  293. {codex-1.6.17.dist-info → codex-1.6.19.dist-info}/RECORD +296 -289
  294. codex/static_root/assets/VCheckbox-D8eqoc1z.62941f086d95.js +0 -1
  295. codex/static_root/assets/VCheckbox-D8eqoc1z.62941f086d95.js.br +0 -0
  296. codex/static_root/assets/VCheckbox-D8eqoc1z.62941f086d95.js.gz +0 -0
  297. codex/static_root/assets/VCheckbox-D8eqoc1z.js +0 -1
  298. codex/static_root/assets/VCheckbox-D8eqoc1z.js.br +0 -0
  299. codex/static_root/assets/VCheckbox-D8eqoc1z.js.gz +0 -0
  300. codex/static_root/assets/VCheckboxBtn-BaQC30AI.ea98c97505c2.js +0 -1
  301. codex/static_root/assets/VCheckboxBtn-BaQC30AI.ea98c97505c2.js.br +0 -0
  302. codex/static_root/assets/VCheckboxBtn-BaQC30AI.ea98c97505c2.js.gz +0 -0
  303. codex/static_root/assets/VCheckboxBtn-BaQC30AI.js +0 -1
  304. codex/static_root/assets/VCheckboxBtn-BaQC30AI.js.br +0 -0
  305. codex/static_root/assets/VCheckboxBtn-BaQC30AI.js.gz +0 -0
  306. codex/static_root/assets/VCombobox-BTG361j0.b2b9962de820.js +0 -1
  307. codex/static_root/assets/VCombobox-BTG361j0.b2b9962de820.js.br +0 -0
  308. codex/static_root/assets/VCombobox-BTG361j0.b2b9962de820.js.gz +0 -0
  309. codex/static_root/assets/VCombobox-BTG361j0.js +0 -1
  310. codex/static_root/assets/VCombobox-BTG361j0.js.br +0 -0
  311. codex/static_root/assets/VCombobox-BTG361j0.js.gz +0 -0
  312. codex/static_root/assets/VDialog-BWXBR7iM.80372742901b.js +0 -1
  313. codex/static_root/assets/VDialog-BWXBR7iM.80372742901b.js.br +0 -0
  314. codex/static_root/assets/VDialog-BWXBR7iM.80372742901b.js.gz +0 -0
  315. codex/static_root/assets/VDialog-BWXBR7iM.js +0 -1
  316. codex/static_root/assets/VDialog-BWXBR7iM.js.br +0 -0
  317. codex/static_root/assets/VDialog-BWXBR7iM.js.gz +0 -0
  318. codex/static_root/assets/VExpansionPanels-W4VN2Ykh.a3bf34bd9c01.js +0 -1
  319. codex/static_root/assets/VExpansionPanels-W4VN2Ykh.a3bf34bd9c01.js.br +0 -0
  320. codex/static_root/assets/VExpansionPanels-W4VN2Ykh.a3bf34bd9c01.js.gz +0 -0
  321. codex/static_root/assets/VExpansionPanels-W4VN2Ykh.js +0 -1
  322. codex/static_root/assets/VExpansionPanels-W4VN2Ykh.js.br +0 -0
  323. codex/static_root/assets/VExpansionPanels-W4VN2Ykh.js.gz +0 -0
  324. codex/static_root/assets/VRadioGroup-B8chw_xV.768aef5d30cd.js +0 -1
  325. codex/static_root/assets/VRadioGroup-B8chw_xV.768aef5d30cd.js.br +0 -0
  326. codex/static_root/assets/VRadioGroup-B8chw_xV.768aef5d30cd.js.gz +0 -0
  327. codex/static_root/assets/VRadioGroup-B8chw_xV.js +0 -1
  328. codex/static_root/assets/VRadioGroup-B8chw_xV.js.br +0 -0
  329. codex/static_root/assets/VRadioGroup-B8chw_xV.js.gz +0 -0
  330. codex/static_root/assets/VSelect-BpWdXMPq.1921062294e6.js +0 -1
  331. codex/static_root/assets/VSelect-BpWdXMPq.1921062294e6.js.br +0 -0
  332. codex/static_root/assets/VSelect-BpWdXMPq.1921062294e6.js.gz +0 -0
  333. codex/static_root/assets/VSelect-BpWdXMPq.js +0 -1
  334. codex/static_root/assets/VSelect-BpWdXMPq.js.br +0 -0
  335. codex/static_root/assets/VSelect-BpWdXMPq.js.gz +0 -0
  336. codex/static_root/assets/VSelectionControl-FmTy_2ch.7e005af872d4.js +0 -1
  337. codex/static_root/assets/VSelectionControl-FmTy_2ch.7e005af872d4.js.br +0 -0
  338. codex/static_root/assets/VSelectionControl-FmTy_2ch.7e005af872d4.js.gz +0 -0
  339. codex/static_root/assets/VSelectionControl-FmTy_2ch.js +0 -1
  340. codex/static_root/assets/VSelectionControl-FmTy_2ch.js.br +0 -0
  341. codex/static_root/assets/VSelectionControl-FmTy_2ch.js.gz +0 -0
  342. codex/static_root/assets/VSlideGroup-B9zEPv1H.627ca1e091fb.js.br +0 -0
  343. codex/static_root/assets/VSlideGroup-B9zEPv1H.627ca1e091fb.js.gz +0 -0
  344. codex/static_root/assets/VSlideGroup-B9zEPv1H.js.br +0 -0
  345. codex/static_root/assets/VSlideGroup-B9zEPv1H.js.gz +0 -0
  346. codex/static_root/assets/VTable-D85UV0cA.c9b0d82847a0.js.br +0 -0
  347. codex/static_root/assets/VTable-D85UV0cA.c9b0d82847a0.js.gz +0 -0
  348. codex/static_root/assets/VTable-D85UV0cA.js.br +0 -0
  349. codex/static_root/assets/VTable-D85UV0cA.js.gz +0 -0
  350. codex/static_root/assets/VTextField-DAe7a2au.04013b823a64.js +0 -1
  351. codex/static_root/assets/VTextField-DAe7a2au.04013b823a64.js.br +0 -0
  352. codex/static_root/assets/VTextField-DAe7a2au.04013b823a64.js.gz +0 -0
  353. codex/static_root/assets/VTextField-DAe7a2au.js +0 -1
  354. codex/static_root/assets/VTextField-DAe7a2au.js.br +0 -0
  355. codex/static_root/assets/VTextField-DAe7a2au.js.gz +0 -0
  356. codex/static_root/assets/VWindowItem-BOT7VsDv.061276a5a285.js +0 -1
  357. codex/static_root/assets/VWindowItem-BOT7VsDv.061276a5a285.js.br +0 -0
  358. codex/static_root/assets/VWindowItem-BOT7VsDv.061276a5a285.js.gz +0 -0
  359. codex/static_root/assets/VWindowItem-BOT7VsDv.js +0 -1
  360. codex/static_root/assets/VWindowItem-BOT7VsDv.js.br +0 -0
  361. codex/static_root/assets/VWindowItem-BOT7VsDv.js.gz +0 -0
  362. codex/static_root/assets/admin-DCoV7mGR.d949114bed68.js +0 -1
  363. codex/static_root/assets/admin-DCoV7mGR.d949114bed68.js.br +0 -0
  364. codex/static_root/assets/admin-DCoV7mGR.d949114bed68.js.gz +0 -0
  365. codex/static_root/assets/admin-DCoV7mGR.js +0 -1
  366. codex/static_root/assets/admin-DCoV7mGR.js.br +0 -0
  367. codex/static_root/assets/admin-DCoV7mGR.js.gz +0 -0
  368. codex/static_root/assets/admin-drawer-panel-COV3Ru1J.b0cd2b71000c.css +0 -1
  369. codex/static_root/assets/admin-drawer-panel-COV3Ru1J.b0cd2b71000c.css.br +0 -0
  370. codex/static_root/assets/admin-drawer-panel-COV3Ru1J.b0cd2b71000c.css.gz +0 -0
  371. codex/static_root/assets/admin-drawer-panel-COV3Ru1J.css +0 -1
  372. codex/static_root/assets/admin-drawer-panel-COV3Ru1J.css.br +0 -0
  373. codex/static_root/assets/admin-drawer-panel-COV3Ru1J.css.gz +0 -0
  374. codex/static_root/assets/admin-drawer-panel-Dmnn03CQ.52ea4aad3985.js +0 -30
  375. codex/static_root/assets/admin-drawer-panel-Dmnn03CQ.52ea4aad3985.js.br +0 -0
  376. codex/static_root/assets/admin-drawer-panel-Dmnn03CQ.52ea4aad3985.js.gz +0 -0
  377. codex/static_root/assets/admin-drawer-panel-Dmnn03CQ.js +0 -30
  378. codex/static_root/assets/admin-drawer-panel-Dmnn03CQ.js.br +0 -0
  379. codex/static_root/assets/admin-drawer-panel-Dmnn03CQ.js.gz +0 -0
  380. codex/static_root/assets/browser--OxfD4LA.d6c438cacb9a.js +0 -1
  381. codex/static_root/assets/browser--OxfD4LA.d6c438cacb9a.js.br +0 -0
  382. codex/static_root/assets/browser--OxfD4LA.d6c438cacb9a.js.gz +0 -0
  383. codex/static_root/assets/browser--OxfD4LA.js +0 -1
  384. codex/static_root/assets/browser--OxfD4LA.js.br +0 -0
  385. codex/static_root/assets/browser--OxfD4LA.js.gz +0 -0
  386. codex/static_root/assets/browser-DWoo5pGT.29bee2bbd49b.css.br +0 -0
  387. codex/static_root/assets/browser-DWoo5pGT.29bee2bbd49b.css.gz +0 -0
  388. codex/static_root/assets/browser-DWoo5pGT.css.br +0 -0
  389. codex/static_root/assets/browser-DWoo5pGT.css.gz +0 -0
  390. codex/static_root/assets/change-password-dialog-Bosys_6j.036c0eea895d.css +0 -1
  391. codex/static_root/assets/change-password-dialog-Bosys_6j.036c0eea895d.css.br +0 -0
  392. codex/static_root/assets/change-password-dialog-Bosys_6j.036c0eea895d.css.gz +0 -0
  393. codex/static_root/assets/change-password-dialog-Bosys_6j.css +0 -1
  394. codex/static_root/assets/change-password-dialog-Bosys_6j.css.br +0 -0
  395. codex/static_root/assets/change-password-dialog-Bosys_6j.css.gz +0 -0
  396. codex/static_root/assets/change-password-dialog-HW0jK0gr.bbc3ed89fb31.js +0 -1
  397. codex/static_root/assets/change-password-dialog-HW0jK0gr.bbc3ed89fb31.js.br +0 -0
  398. codex/static_root/assets/change-password-dialog-HW0jK0gr.bbc3ed89fb31.js.gz +0 -0
  399. codex/static_root/assets/change-password-dialog-HW0jK0gr.js +0 -1
  400. codex/static_root/assets/change-password-dialog-HW0jK0gr.js.br +0 -0
  401. codex/static_root/assets/change-password-dialog-HW0jK0gr.js.gz +0 -0
  402. codex/static_root/assets/confirm-dialog-BJlNq6ku.42441ece74ab.js +0 -1
  403. codex/static_root/assets/confirm-dialog-BJlNq6ku.42441ece74ab.js.br +0 -0
  404. codex/static_root/assets/confirm-dialog-BJlNq6ku.42441ece74ab.js.gz +0 -0
  405. codex/static_root/assets/confirm-dialog-BJlNq6ku.js +0 -1
  406. codex/static_root/assets/confirm-dialog-BJlNq6ku.js.br +0 -0
  407. codex/static_root/assets/confirm-dialog-BJlNq6ku.js.gz +0 -0
  408. codex/static_root/assets/datetime-column-BdnHcY-4.12fb4188de00.js.br +0 -0
  409. codex/static_root/assets/datetime-column-BdnHcY-4.12fb4188de00.js.gz +0 -0
  410. codex/static_root/assets/datetime-column-BdnHcY-4.js.br +0 -0
  411. codex/static_root/assets/datetime-column-BdnHcY-4.js.gz +0 -0
  412. codex/static_root/assets/filter-BL9RMUvn.b92d240c4512.js.br +0 -0
  413. codex/static_root/assets/filter-BL9RMUvn.b92d240c4512.js.gz +0 -0
  414. codex/static_root/assets/filter-BL9RMUvn.js.br +0 -0
  415. codex/static_root/assets/filter-BL9RMUvn.js.gz +0 -0
  416. codex/static_root/assets/flag-tab-BWJ5tGcV.6f4c1dd9d1bb.js +0 -1
  417. codex/static_root/assets/flag-tab-BWJ5tGcV.6f4c1dd9d1bb.js.br +0 -0
  418. codex/static_root/assets/flag-tab-BWJ5tGcV.6f4c1dd9d1bb.js.gz +0 -0
  419. codex/static_root/assets/flag-tab-BWJ5tGcV.js +0 -1
  420. codex/static_root/assets/flag-tab-BWJ5tGcV.js.br +0 -0
  421. codex/static_root/assets/flag-tab-BWJ5tGcV.js.gz +0 -0
  422. codex/static_root/assets/group-tab-CQiGzI43.d88e38af13b4.js +0 -1
  423. codex/static_root/assets/group-tab-CQiGzI43.d88e38af13b4.js.br +0 -0
  424. codex/static_root/assets/group-tab-CQiGzI43.d88e38af13b4.js.gz +0 -0
  425. codex/static_root/assets/group-tab-CQiGzI43.js +0 -1
  426. codex/static_root/assets/group-tab-CQiGzI43.js.br +0 -0
  427. codex/static_root/assets/group-tab-CQiGzI43.js.gz +0 -0
  428. codex/static_root/assets/http-error-B0-GHW9C.81a3af2c7f7c.js +0 -1
  429. codex/static_root/assets/http-error-B0-GHW9C.81a3af2c7f7c.js.br +0 -0
  430. codex/static_root/assets/http-error-B0-GHW9C.81a3af2c7f7c.js.gz +0 -0
  431. codex/static_root/assets/http-error-B0-GHW9C.js +0 -1
  432. codex/static_root/assets/http-error-B0-GHW9C.js.br +0 -0
  433. codex/static_root/assets/http-error-B0-GHW9C.js.gz +0 -0
  434. codex/static_root/assets/library-tab-VMgJSPRy.5e7d6c6baff6.css.br +0 -0
  435. codex/static_root/assets/library-tab-VMgJSPRy.5e7d6c6baff6.css.gz +0 -0
  436. codex/static_root/assets/library-tab-VMgJSPRy.css.br +0 -0
  437. codex/static_root/assets/library-tab-VMgJSPRy.css.gz +0 -0
  438. codex/static_root/assets/library-tab-czIX7PK1.540a657518c8.js +0 -1
  439. codex/static_root/assets/library-tab-czIX7PK1.540a657518c8.js.br +0 -0
  440. codex/static_root/assets/library-tab-czIX7PK1.540a657518c8.js.gz +0 -0
  441. codex/static_root/assets/library-tab-czIX7PK1.js +0 -1
  442. codex/static_root/assets/library-tab-czIX7PK1.js.br +0 -0
  443. codex/static_root/assets/library-tab-czIX7PK1.js.gz +0 -0
  444. codex/static_root/assets/main-C0t41OAE.9c108cc29c65.js +0 -6
  445. codex/static_root/assets/main-C0t41OAE.9c108cc29c65.js.br +0 -0
  446. codex/static_root/assets/main-C0t41OAE.9c108cc29c65.js.gz +0 -0
  447. codex/static_root/assets/main-C0t41OAE.js +0 -6
  448. codex/static_root/assets/main-C0t41OAE.js.br +0 -0
  449. codex/static_root/assets/main-C0t41OAE.js.gz +0 -0
  450. codex/static_root/assets/pagination-toolbar-BNiqJX4c.c62f4bb07236.js +0 -1
  451. codex/static_root/assets/pagination-toolbar-BNiqJX4c.c62f4bb07236.js.br +0 -0
  452. codex/static_root/assets/pagination-toolbar-BNiqJX4c.c62f4bb07236.js.gz +0 -0
  453. codex/static_root/assets/pagination-toolbar-BNiqJX4c.js +0 -1
  454. codex/static_root/assets/pagination-toolbar-BNiqJX4c.js.br +0 -0
  455. codex/static_root/assets/pagination-toolbar-BNiqJX4c.js.gz +0 -0
  456. codex/static_root/assets/pagination-toolbar-D6v3_jVe.4f0e62bbb1e5.css +0 -1
  457. codex/static_root/assets/pagination-toolbar-D6v3_jVe.4f0e62bbb1e5.css.br +0 -0
  458. codex/static_root/assets/pagination-toolbar-D6v3_jVe.4f0e62bbb1e5.css.gz +0 -0
  459. codex/static_root/assets/pagination-toolbar-D6v3_jVe.css +0 -1
  460. codex/static_root/assets/pagination-toolbar-D6v3_jVe.css.br +0 -0
  461. codex/static_root/assets/pagination-toolbar-D6v3_jVe.css.gz +0 -0
  462. codex/static_root/assets/pdf-doc-BDi_S8C8.ec2572c47556.js.br +0 -0
  463. codex/static_root/assets/pdf-doc-BDi_S8C8.ec2572c47556.js.gz +0 -0
  464. codex/static_root/assets/pdf-doc-BDi_S8C8.js.br +0 -0
  465. codex/static_root/assets/pdf-doc-BDi_S8C8.js.gz +0 -0
  466. codex/static_root/assets/pdf-doc-CMzaSV_K.8cd4b3e65f9a.css +0 -1
  467. codex/static_root/assets/pdf-doc-CMzaSV_K.8cd4b3e65f9a.css.br +0 -0
  468. codex/static_root/assets/pdf-doc-CMzaSV_K.8cd4b3e65f9a.css.gz +0 -0
  469. codex/static_root/assets/pdf-doc-CMzaSV_K.css +0 -1
  470. codex/static_root/assets/pdf-doc-CMzaSV_K.css.br +0 -0
  471. codex/static_root/assets/pdf-doc-CMzaSV_K.css.gz +0 -0
  472. codex/static_root/assets/reader-BORfYc0l.css +0 -1
  473. codex/static_root/assets/reader-BORfYc0l.css.br +0 -0
  474. codex/static_root/assets/reader-BORfYc0l.css.gz +0 -0
  475. codex/static_root/assets/reader-BORfYc0l.e66ce0ded0b6.css +0 -1
  476. codex/static_root/assets/reader-BORfYc0l.e66ce0ded0b6.css.br +0 -0
  477. codex/static_root/assets/reader-BORfYc0l.e66ce0ded0b6.css.gz +0 -0
  478. codex/static_root/assets/reader-Dg5VFhMO.d0ece6c59cb6.js +0 -2
  479. codex/static_root/assets/reader-Dg5VFhMO.d0ece6c59cb6.js.br +0 -0
  480. codex/static_root/assets/reader-Dg5VFhMO.d0ece6c59cb6.js.gz +0 -0
  481. codex/static_root/assets/reader-Dg5VFhMO.js +0 -2
  482. codex/static_root/assets/reader-Dg5VFhMO.js.br +0 -0
  483. codex/static_root/assets/reader-Dg5VFhMO.js.gz +0 -0
  484. codex/static_root/assets/relation-chips-nc41xEEd.eadca8fe8606.js +0 -1
  485. codex/static_root/assets/relation-chips-nc41xEEd.eadca8fe8606.js.br +0 -0
  486. codex/static_root/assets/relation-chips-nc41xEEd.eadca8fe8606.js.gz +0 -0
  487. codex/static_root/assets/relation-chips-nc41xEEd.js +0 -1
  488. codex/static_root/assets/relation-chips-nc41xEEd.js.br +0 -0
  489. codex/static_root/assets/relation-chips-nc41xEEd.js.gz +0 -0
  490. codex/static_root/assets/settings-drawer-ChnWWcfy.627fb9c17389.js +0 -2
  491. codex/static_root/assets/settings-drawer-ChnWWcfy.627fb9c17389.js.br +0 -0
  492. codex/static_root/assets/settings-drawer-ChnWWcfy.627fb9c17389.js.gz +0 -0
  493. codex/static_root/assets/settings-drawer-ChnWWcfy.js +0 -2
  494. codex/static_root/assets/settings-drawer-ChnWWcfy.js.br +0 -0
  495. codex/static_root/assets/settings-drawer-ChnWWcfy.js.gz +0 -0
  496. codex/static_root/assets/stats-tab-Dd3GXeM3.9473f148a600.css.br +0 -0
  497. codex/static_root/assets/stats-tab-Dd3GXeM3.9473f148a600.css.gz +0 -0
  498. codex/static_root/assets/stats-tab-Dd3GXeM3.css.br +0 -0
  499. codex/static_root/assets/stats-tab-Dd3GXeM3.css.gz +0 -0
  500. codex/static_root/assets/stats-tab-Ep3dyw2f.1c5c48751a8d.js +0 -1
  501. codex/static_root/assets/stats-tab-Ep3dyw2f.1c5c48751a8d.js.br +0 -0
  502. codex/static_root/assets/stats-tab-Ep3dyw2f.1c5c48751a8d.js.gz +0 -0
  503. codex/static_root/assets/stats-tab-Ep3dyw2f.js +0 -1
  504. codex/static_root/assets/stats-tab-Ep3dyw2f.js.br +0 -0
  505. codex/static_root/assets/stats-tab-Ep3dyw2f.js.gz +0 -0
  506. codex/static_root/assets/task-tab-CZM8h2Cr.d61b2f38a5c7.js +0 -1
  507. codex/static_root/assets/task-tab-CZM8h2Cr.d61b2f38a5c7.js.br +0 -0
  508. codex/static_root/assets/task-tab-CZM8h2Cr.d61b2f38a5c7.js.gz +0 -0
  509. codex/static_root/assets/task-tab-CZM8h2Cr.js +0 -1
  510. codex/static_root/assets/task-tab-CZM8h2Cr.js.br +0 -0
  511. codex/static_root/assets/task-tab-CZM8h2Cr.js.gz +0 -0
  512. codex/static_root/assets/unauthorized-CQL7W5pA.75124be66863.css.br +0 -0
  513. codex/static_root/assets/unauthorized-CQL7W5pA.75124be66863.css.gz +0 -0
  514. codex/static_root/assets/unauthorized-CQL7W5pA.css.br +0 -0
  515. codex/static_root/assets/unauthorized-CQL7W5pA.css.gz +0 -0
  516. codex/static_root/assets/unauthorized-DnNuMsHM.2e4595f10736.js +0 -1
  517. codex/static_root/assets/unauthorized-DnNuMsHM.2e4595f10736.js.br +0 -0
  518. codex/static_root/assets/unauthorized-DnNuMsHM.2e4595f10736.js.gz +0 -0
  519. codex/static_root/assets/unauthorized-DnNuMsHM.js +0 -1
  520. codex/static_root/assets/unauthorized-DnNuMsHM.js.br +0 -0
  521. codex/static_root/assets/unauthorized-DnNuMsHM.js.gz +0 -0
  522. codex/static_root/assets/user-tab-CmdeTcr_.e7929862d979.js +0 -1
  523. codex/static_root/assets/user-tab-CmdeTcr_.e7929862d979.js.br +0 -0
  524. codex/static_root/assets/user-tab-CmdeTcr_.e7929862d979.js.gz +0 -0
  525. codex/static_root/assets/user-tab-CmdeTcr_.js +0 -1
  526. codex/static_root/assets/user-tab-CmdeTcr_.js.br +0 -0
  527. codex/static_root/assets/user-tab-CmdeTcr_.js.gz +0 -0
  528. codex/static_root/js/choices-admin.1eca6d2c22cf.json +0 -1
  529. codex/static_root/js/choices-admin.1eca6d2c22cf.json.br +0 -0
  530. codex/static_root/js/choices-admin.1eca6d2c22cf.json.gz +0 -0
  531. codex/static_root/manifest.9e3c56e33cdb.json +0 -611
  532. codex/static_root/manifest.9e3c56e33cdb.json.br +0 -0
  533. codex/static_root/manifest.9e3c56e33cdb.json.gz +0 -0
  534. {codex-1.6.17.dist-info → codex-1.6.19.dist-info}/LICENSE +0 -0
  535. {codex-1.6.17.dist-info → codex-1.6.19.dist-info}/WHEEL +0 -0
  536. {codex-1.6.17.dist-info → codex-1.6.19.dist-info}/entry_points.txt +0 -0
@@ -8,6 +8,7 @@ from codex.librarian.importer.tasks import (
8
8
  )
9
9
  from codex.librarian.janitor.cleanup import TOTAL_NUM_FK_CLASSES, CleanupMixin
10
10
  from codex.librarian.janitor.failed_imports import UpdateFailedImportsMixin
11
+ from codex.librarian.janitor.latest_version import LatestVersionMixin
11
12
  from codex.librarian.janitor.status import JanitorStatusTypes
12
13
  from codex.librarian.janitor.tasks import (
13
14
  ForceUpdateAllFailedImportsTask,
@@ -16,6 +17,7 @@ from codex.librarian.janitor.tasks import (
16
17
  JanitorCleanFKsTask,
17
18
  JanitorCleanupSessionsTask,
18
19
  JanitorClearStatusTask,
20
+ JanitorLatestVersionTask,
19
21
  JanitorNightlyTask,
20
22
  JanitorRestartTask,
21
23
  JanitorShutdownTask,
@@ -47,10 +49,13 @@ _JANITOR_STATII = (
47
49
  Status(SearchIndexStatusTypes.SEARCH_INDEX_UPDATE),
48
50
  Status(SearchIndexStatusTypes.SEARCH_INDEX_REMOVE),
49
51
  Status(SearchIndexStatusTypes.SEARCH_INDEX_MERGE),
52
+ Status(JanitorStatusTypes.CODEX_LATEST_VERSION),
50
53
  )
51
54
 
52
55
 
53
- class Janitor(CleanupMixin, UpdateMixin, VacuumMixin, UpdateFailedImportsMixin):
56
+ class Janitor(
57
+ CleanupMixin, LatestVersionMixin, UpdateMixin, UpdateFailedImportsMixin, VacuumMixin
58
+ ):
54
59
  """Janitor inline task runner."""
55
60
 
56
61
  def __init__(self, log_queue, librarian_queue):
@@ -65,14 +70,15 @@ class Janitor(CleanupMixin, UpdateMixin, VacuumMixin, UpdateFailedImportsMixin):
65
70
  ).on
66
71
  self.status_controller.start_many(_JANITOR_STATII)
67
72
  tasks = (
73
+ JanitorLatestVersionTask(),
74
+ JanitorUpdateTask(force=False),
68
75
  SearchIndexAbortTask(),
69
76
  JanitorCleanFKsTask(),
70
77
  JanitorCleanCoversTask(),
71
78
  JanitorCleanupSessionsTask(),
79
+ AdoptOrphanFoldersTask(),
72
80
  JanitorVacuumTask(),
73
81
  JanitorBackupTask(),
74
- JanitorUpdateTask(force=False),
75
- AdoptOrphanFoldersTask(),
76
82
  CoverRemoveOrphansTask(),
77
83
  SearchIndexUpdateTask(False),
78
84
  SearchIndexMergeTask(optimize),
@@ -91,8 +97,10 @@ class Janitor(CleanupMixin, UpdateMixin, VacuumMixin, UpdateFailedImportsMixin):
91
97
  self.vacuum_db()
92
98
  case JanitorBackupTask():
93
99
  self.backup_db()
100
+ case JanitorLatestVersionTask():
101
+ self.update_latest_version(task.force)
94
102
  case JanitorUpdateTask():
95
- self.update_codex()
103
+ self.update_codex(task.force)
96
104
  case JanitorRestartTask():
97
105
  self.restart_codex()
98
106
  case JanitorShutdownTask():
@@ -0,0 +1,54 @@
1
+ """Fetch the current codex version."""
2
+
3
+ import json
4
+ from datetime import timedelta
5
+
6
+ import requests
7
+ from django.utils import timezone
8
+
9
+ from codex.librarian.janitor.status import JanitorStatusTypes
10
+ from codex.models import Timestamp
11
+ from codex.status import Status
12
+ from codex.version import PACKAGE_NAME
13
+ from codex.worker_base import WorkerBaseMixin
14
+
15
+ _PYPI_URL_TEMPLATE = "https://pypi.python.org/pypi/%s/json"
16
+ _REPO_URL = _PYPI_URL_TEMPLATE % PACKAGE_NAME
17
+ _CACHE_EXPIRY = timedelta(days=1) - timedelta(minutes=1)
18
+ _REPO_TIMEOUT = 5
19
+
20
+
21
+ class LatestVersionMixin(WorkerBaseMixin):
22
+ """Methods for fetching the latest version."""
23
+
24
+ @staticmethod
25
+ def _fetch_latest_version():
26
+ """Fetch Latest Remotely."""
27
+ response = requests.get(_REPO_URL, timeout=_REPO_TIMEOUT)
28
+ return json.loads(response.text)["info"]["version"]
29
+
30
+ def update_latest_version(self, force=False):
31
+ """Get the latest version from a remote repo using a cache."""
32
+ status = Status(JanitorStatusTypes.CODEX_LATEST_VERSION)
33
+ try:
34
+ self.status_controller.start(status)
35
+ ts = Timestamp.objects.get(
36
+ key=Timestamp.TimestampChoices.CODEX_VERSION.value
37
+ )
38
+ do_fetch = (
39
+ force
40
+ or not ts.version
41
+ or (timezone.now() - ts.updated_at > _CACHE_EXPIRY)
42
+ )
43
+ if do_fetch:
44
+ latest_version = self._fetch_latest_version()
45
+ if not latest_version:
46
+ reason = "Bad latest version fetched."
47
+ raise ValueError(reason)
48
+ ts.version = latest_version
49
+ ts.save()
50
+ self.log.info(f"Saved new latest codex version {latest_version}.")
51
+ else:
52
+ self.log.debug("Not fetching new latest version, not expired.")
53
+ finally:
54
+ self.status_controller.finish(status)
@@ -7,6 +7,7 @@ class JanitorStatusTypes(Choices):
7
7
  """Janitor Status Types."""
8
8
 
9
9
  CLEANUP_FK = "JTD"
10
+ CODEX_LATEST_VERSION = "JLV"
10
11
  CODEX_UPDATE = "JCU"
11
12
  CODEX_RESTART = "JCR"
12
13
  CODEX_STOP = "JCS"
@@ -8,6 +8,20 @@ class JanitorTask:
8
8
  """Tasks for the janitor."""
9
9
 
10
10
 
11
+ @dataclass
12
+ class JanitorLatestVersionTask(JanitorTask):
13
+ """Get the latest version."""
14
+
15
+ force: bool = False
16
+
17
+
18
+ @dataclass
19
+ class JanitorUpdateTask(JanitorTask):
20
+ """Task for updater."""
21
+
22
+ force: bool = False
23
+
24
+
11
25
  @dataclass
12
26
  class JanitorBackupTask(JanitorTask):
13
27
  """Backup the database."""
@@ -23,13 +37,6 @@ class JanitorShutdownTask(JanitorTask):
23
37
  """for shutdown."""
24
38
 
25
39
 
26
- @dataclass
27
- class JanitorUpdateTask(JanitorTask):
28
- """Task for updater."""
29
-
30
- force: bool
31
-
32
-
33
40
  @dataclass
34
41
  class JanitorVacuumTask(JanitorTask):
35
42
  """Vacuum the database."""
@@ -5,17 +5,36 @@ import signal
5
5
  import subprocess
6
6
  import sys
7
7
 
8
+ from versio.version import Version
9
+
8
10
  from codex.librarian.janitor.status import JanitorStatusTypes
9
11
  from codex.librarian.tasks import LibrarianShutdownTask
10
12
  from codex.models import AdminFlag
13
+ from codex.models.admin import Timestamp
11
14
  from codex.status import Status
12
- from codex.version import PACKAGE_NAME, VERSION, get_version, is_outdated
15
+ from codex.version import VERSION, get_version
13
16
  from codex.worker_base import WorkerBaseMixin
14
17
 
15
18
 
16
19
  class UpdateMixin(WorkerBaseMixin):
17
20
  """Update codex methods for janitor."""
18
21
 
22
+ def _is_outdated(self):
23
+ """Is codex outdated."""
24
+ result = False
25
+ ts = Timestamp.objects.get(key=Timestamp.TimestampChoices.CODEX_VERSION.value)
26
+ latest_version = ts.version
27
+ versio_latest_version = Version(latest_version)
28
+
29
+ installed_versio_version = Version(VERSION)
30
+ if versio_latest_version.parts[1] and not installed_versio_version.parts[1]: # type: ignore
31
+ pre_blurb = "latest version is a prerelease. But installed version is not."
32
+ else:
33
+ result = versio_latest_version > installed_versio_version
34
+ pre_blurb = ""
35
+ self.log.info(f"{latest_version=} > {VERSION=} = {result}{pre_blurb}")
36
+ return result
37
+
19
38
  def update_codex(self, force=False):
20
39
  """Update the package and restart everything if the version changed."""
21
40
  status = Status(JanitorStatusTypes.CODEX_UPDATE)
@@ -27,7 +46,7 @@ class UpdateMixin(WorkerBaseMixin):
27
46
  eau = AdminFlag.objects.only("on").get(
28
47
  key=AdminFlag.FlagChoices.AUTO_UPDATE.value
29
48
  )
30
- if not eau.on or not is_outdated(PACKAGE_NAME, self.log):
49
+ if not eau.on or not self._is_outdated():
31
50
  self.log.info("Codex is up to date.")
32
51
  return
33
52
 
@@ -21,8 +21,7 @@ class VacuumMixin(WorkerBaseMixin):
21
21
  self.status_controller.start(status)
22
22
  old_size = DB_PATH.stat().st_size
23
23
  with connection.cursor() as cursor:
24
- cursor.execute("PRAGMA analysis_limit=400;")
25
- cursor.execute("PRAGMA optimize;")
24
+ cursor.execute("PRAGMA optimize")
26
25
  cursor.execute("VACUUM")
27
26
  cursor.execute("PRAGMA wal_checkpoint(TRUNCATE)")
28
27
  new_size = DB_PATH.stat().st_size
@@ -25,20 +25,18 @@ from codex.models import Library
25
25
  from codex.status import Status
26
26
  from codex.worker_base import WorkerBaseMixin
27
27
 
28
- _CODEX_EVENT_FILTER = frozenset(
29
- {
30
- FileMovedEvent,
31
- FileModifiedEvent,
32
- FileCreatedEvent,
33
- FileDeletedEvent,
34
- # FileClosedEvent,
35
- # FileOpenedEvent,
36
- DirMovedEvent,
37
- DirModifiedEvent,
38
- DirDeletedEvent,
39
- # DirCreatedEvent,
40
- }
41
- )
28
+ _CODEX_EVENT_FILTER = [
29
+ FileMovedEvent,
30
+ FileModifiedEvent,
31
+ FileCreatedEvent,
32
+ FileDeletedEvent,
33
+ # FileClosedEvent,
34
+ # FileOpenedEvent,
35
+ DirMovedEvent,
36
+ DirModifiedEvent,
37
+ DirDeletedEvent,
38
+ # DirCreatedEvent,
39
+ ]
42
40
  _DOCKER_UNMOUNTED_FN = "DOCKER_UNMOUNTED_VOLUME"
43
41
 
44
42
 
@@ -8,6 +8,7 @@ from types import MappingProxyType
8
8
  from comicbox.box import Comicbox
9
9
  from watchdog.events import (
10
10
  EVENT_TYPE_CLOSED,
11
+ EVENT_TYPE_CLOSED_NO_WRITE,
11
12
  EVENT_TYPE_CREATED,
12
13
  EVENT_TYPE_DELETED,
13
14
  EVENT_TYPE_MODIFIED,
@@ -71,7 +72,9 @@ COVERS_EVENT_TYPE_MAP = MappingProxyType(
71
72
  class CodexEventHandlerBase(FileSystemEventHandler, LoggerBaseMixin):
72
73
  """Base class for Codex Event Handlers."""
73
74
 
74
- IGNORED_EVENTS = frozenset({EVENT_TYPE_CLOSED, EVENT_TYPE_OPENED})
75
+ IGNORED_EVENTS = frozenset(
76
+ {EVENT_TYPE_CLOSED, EVENT_TYPE_CLOSED_NO_WRITE, EVENT_TYPE_OPENED}
77
+ )
75
78
 
76
79
  def __init__(self, library, *args, **kwargs):
77
80
  """Let us send along he library id."""
@@ -234,7 +237,7 @@ class CodexCustomCoverEventHandler(CodexEventHandlerBase):
234
237
  try:
235
238
  if event.is_directory or event.event_type in self.IGNORED_EVENTS:
236
239
  return
237
- src_cover_match = self._match_group_cover_image(event.src_path)
240
+ src_cover_match = self._match_group_cover_image(str(event.src_path))
238
241
  if event.event_type == EVENT_TYPE_MOVED:
239
242
  send_event = self._transform_event_moved(event, src_cover_match)
240
243
  elif src_cover_match:
@@ -110,15 +110,15 @@ class UatuMixin(BaseObserver, WorkerBaseMixin):
110
110
  https://pythonhosted.org/watchdog/_modules/watchdog/observers/api.html#BaseObserver
111
111
  """
112
112
  if self._emitter_class != DatabasePollingEmitter:
113
- return super().schedule(event_handler, path, recursive)
113
+ return super().schedule(event_handler, path, recursive=recursive)
114
114
  with self._lock:
115
- watch = ObservedWatch(path, recursive)
115
+ watch = ObservedWatch(path, recursive=recursive)
116
116
  self._add_handler_for_watch(event_handler, watch)
117
117
 
118
118
  # If we don't have an emitter for this watch already, create it.
119
119
  if self._emitter_for_watch.get(watch) is None:
120
120
  covers_only = isinstance(event_handler, CodexCustomCoverEventHandler)
121
- emitter = self._emitter_class(
121
+ emitter = DatabasePollingEmitter(
122
122
  event_queue=self.event_queue,
123
123
  watch=watch,
124
124
  timeout=self.timeout,
@@ -166,7 +166,7 @@ class LibraryPollingObserver(UatuMixin):
166
166
 
167
167
  for emitter in self.emitters:
168
168
  if emitter.watch.path in paths:
169
- emitter.poll(force)
169
+ emitter.poll(force) # type: ignore
170
170
  except Exception:
171
171
  self.log.exception(
172
172
  f"{self.__class__.__name__}.poll({library_pks}, {force})"
@@ -53,8 +53,7 @@ class BrowserAggregateSerializerMixin(Serializer):
53
53
  )
54
54
  continue
55
55
 
56
- if dt > mtime:
57
- mtime = dt
56
+ mtime = max(dt, mtime)
58
57
 
59
58
  if obj.group != COMIC_GROUP and (
60
59
  mbua := getattr(obj, "max_bookmark_updated_at", None)
@@ -189,7 +189,10 @@ DATABASES = {
189
189
  "ENGINE": "django.db.backends.sqlite3",
190
190
  "NAME": DB_PATH,
191
191
  "CONN_MAX_AGE": 600,
192
- "OPTIONS": {"timeout": 120},
192
+ "OPTIONS": {
193
+ "init_command": "PRAGMA journal_mode=wal;",
194
+ "timeout": 120,
195
+ },
193
196
  },
194
197
  }
195
198
  SESSION_ENGINE = "django.contrib.sessions.backends.cached_db"
@@ -3,7 +3,6 @@
3
3
  from time import time
4
4
 
5
5
  from django.core.cache import cache
6
- from django.db.backends.signals import connection_created
7
6
  from django.db.models.signals import m2m_changed
8
7
 
9
8
  from codex.librarian.mp_queue import LIBRARIAN_QUEUE
@@ -21,13 +20,6 @@ GROUP_CHANGE_ACTIONS = frozenset(
21
20
  )
22
21
 
23
22
 
24
- def _activate_wal_journal(**kwargs):
25
- """Enable sqlite WAL journal."""
26
- connection = kwargs["connection"]
27
- with connection.cursor() as cursor:
28
- cursor.execute("PRAGMA journal_mode=wal;")
29
-
30
-
31
23
  def _user_group_change(**kwargs):
32
24
  """Clear cache and send update signals when groups change."""
33
25
  model = kwargs["model"]
@@ -51,7 +43,6 @@ def _user_group_change(**kwargs):
51
43
  def connect_signals():
52
44
  """Connect actions to signals."""
53
45
  logger = get_logger(__name__)
54
- connection_created.connect(_activate_wal_journal)
55
46
  logger.debug("sqlite journal_mode=wal")
56
47
  m2m_changed.connect(_user_group_change)
57
48
  # post_invalidation.connect(_cache_invalidated)
@@ -0,0 +1 @@
1
+ import{m as A,V as t}from"./VCheckboxBtn-CO3-aqQL.js";import{a as B,u as F,V as l}from"./VSelectionControl-D6kmykQW.js";import{B as I,ah as U,M as D,aq as M,D as R,h as q,P as w,cw as N,Q as u,am as r}from"./admin-drawer-panel-BaXFOcru.js";const Q=I({...B(),...U(A(),["inline"])},"VCheckbox"),E=D()({name:"VCheckbox",inheritAttrs:!1,props:Q(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,c){let{attrs:d,slots:a}=c;const s=M(e,"modelValue"),{isFocused:n,focus:i,blur:m}=F(e),V=R(),p=q(()=>e.id||`checkbox-${V}`);return w(()=>{const[b,f]=N(d),v=l.filterProps(e),h=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:k,messagesId:x,isDisabled:P,isReadonly:C,isValid:y}=o;return u(t,r(h,{id:k.value,"aria-describedby":x.value,disabled:P.value,readonly:C.value},f,{error:y.value===!1,modelValue:s.value,"onUpdate:modelValue":g=>s.value=g,onFocus:i,onBlur:m}),a)}})}),{}}});export{E as V};
@@ -0,0 +1 @@
1
+ import{m as A,V as t}from"./VCheckboxBtn-CO3-aqQL.js";import{a as B,u as F,V as l}from"./VSelectionControl-D6kmykQW.js";import{B as I,ah as U,M as D,aq as M,D as R,h as q,P as w,cw as N,Q as u,am as r}from"./admin-drawer-panel-BaXFOcru.js";const Q=I({...B(),...U(A(),["inline"])},"VCheckbox"),E=D()({name:"VCheckbox",inheritAttrs:!1,props:Q(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,c){let{attrs:d,slots:a}=c;const s=M(e,"modelValue"),{isFocused:n,focus:i,blur:m}=F(e),V=R(),p=q(()=>e.id||`checkbox-${V}`);return w(()=>{const[b,f]=N(d),v=l.filterProps(e),h=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:k,messagesId:x,isDisabled:P,isReadonly:C,isValid:y}=o;return u(t,r(h,{id:k.value,"aria-describedby":x.value,disabled:P.value,readonly:C.value},f,{error:y.value===!1,modelValue:s.value,"onUpdate:modelValue":g=>s.value=g,onFocus:i,onBlur:m}),a)}})}),{}}});export{E as V};
@@ -0,0 +1 @@
1
+ import{c as f,d as o}from"./VSelectionControl-D6kmykQW.js";import{B as V,b7 as h,M as v,aq as c,h as l,P as I,ah as k,Q as x,am as b}from"./admin-drawer-panel-BaXFOcru.js";const C=V({indeterminate:Boolean,indeterminateIcon:{type:h,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),y=v()({name:"VCheckboxBtn",props:C(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,r){let{slots:s}=r;const t=c(e,"indeterminate"),n=c(e,"modelValue");function u(a){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),m=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return I(()=>{const a=k(o.filterProps(e),["modelValue"]);return x(o,b(a,{modelValue:n.value,"onUpdate:modelValue":[d=>n.value=d,u],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:i.value,trueIcon:m.value,"aria-checked":t.value?"mixed":void 0}),s)}),{}}});export{y as V,C as m};
@@ -0,0 +1 @@
1
+ import{c as f,d as o}from"./VSelectionControl-D6kmykQW.js";import{B as V,b7 as h,M as v,aq as c,h as l,P as I,ah as k,Q as x,am as b}from"./admin-drawer-panel-BaXFOcru.js";const C=V({indeterminate:Boolean,indeterminateIcon:{type:h,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),y=v()({name:"VCheckboxBtn",props:C(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,r){let{slots:s}=r;const t=c(e,"indeterminate"),n=c(e,"modelValue");function u(a){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),m=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return I(()=>{const a=k(o.filterProps(e),["modelValue"]);return x(o,b(a,{modelValue:n.value,"onUpdate:modelValue":[d=>n.value=d,u],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:i.value,trueIcon:m.value,"aria-checked":t.value?"mixed":void 0}),s)}),{}}});export{y as V,C as m};
@@ -0,0 +1 @@
1
+ import{m as Ce,u as pe,V as we,a as Se,b as Ie}from"./VSelect-DtvZsYZz.js";import{m as Fe,V as G}from"./VTextField-Blqy56_L.js";import{B as Pe,ah as Ae,aZ as De,M as Re,bV as _e,r as L,s as P,aq as X,h as b,cI as Ee,aj as Me,cJ as A,a as D,n as Y,ac as Te,P as Le,Q as i,al as N,am as F,bq as Ne,aS as ee,cK as Oe,aL as le,cL as Ke,ba as Be,af as Ue,cM as je,an as qe,cN as ze,cO as He,cP as $e}from"./admin-drawer-panel-BaXFOcru.js";import{m as Je,u as Qe}from"./filter-Bzk7x841.js";import{g as We}from"./VSelectionControl-D6kmykQW.js";import{V as Ze}from"./VCheckboxBtn-CO3-aqQL.js";function Ge(e,g,R){if(g==null)return e;if(Array.isArray(g))throw new Error("Multiple matches is not implemented");return typeof g=="number"&&~g?i(N,null,[i("span",{class:"v-combobox__unmask"},[e.substr(0,g)]),i("span",{class:"v-combobox__mask"},[e.substr(g,R)]),i("span",{class:"v-combobox__unmask"},[e.substr(g+R)])]):e}const Xe=Pe({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Je({filterKeys:["title"]}),...Ce({hideNoData:!0,returnObject:!0}),...Ae(Fe({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...De({transition:!1})},"VCombobox"),ul=Re()({name:"VCombobox",props:Xe(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:search":e=>!0,"update:menu":e=>!0},setup(e,g){var Q;let{emit:R,slots:o}=g;const{t:O}=_e(),V=L(),x=P(!1),k=P(!0),K=P(!1),$=L(),B=L(),U=X(e,"menu"),c=b({get:()=>U.value,set:l=>{var a;U.value&&!l&&((a=$.value)!=null&&a.ΨopenChildren.size)||(U.value=l)}}),s=P(-1);let j=!1;const ae=b(()=>{var l;return(l=V.value)==null?void 0:l.color}),J=b(()=>c.value?e.closeText:e.openText),{items:te,transformIn:ne,transformOut:ue}=Ee(e),{textColorClasses:oe,textColorStyles:ie}=Me(ae),n=X(e,"modelValue",[],l=>ne($e(l)),l=>{const a=ue(l);return e.multiple?a:a[0]??null}),I=We(),_=b(()=>!!(e.chips||o.chip)),y=b(()=>_.value||!!o.selection),C=P(!e.multiple&&!y.value?((Q=n.value[0])==null?void 0:Q.title)??"":""),v=b({get:()=>C.value,set:l=>{var a;if(C.value=l??"",!e.multiple&&!y.value&&(n.value=[A(e,l)]),l&&e.multiple&&((a=e.delimiters)!=null&&a.length)){const r=l.split(new RegExp(`(?:${e.delimiters.join("|")})+`));r.length>1&&(r.forEach(t=>{t=t.trim(),t&&h(A(e,t))}),C.value="")}l||(s.value=-1),k.value=!l}}),se=b(()=>typeof e.counterValue=="function"?e.counterValue(n.value):typeof e.counterValue=="number"?e.counterValue:e.multiple?n.value.length:v.value.length);D(C,l=>{j?Y(()=>j=!1):x.value&&!c.value&&(c.value=!0),R("update:search",l)}),D(n,l=>{var a;!e.multiple&&!y.value&&(C.value=((a=l[0])==null?void 0:a.title)??"")});const{filteredItems:E,getMatches:re}=Qe(e,te,()=>k.value?"":v.value),p=b(()=>e.hideSelected?E.value.filter(l=>!n.value.some(a=>a.value===l.value)):E.value),ce=b(()=>n.value.map(l=>l.value)),q=b(()=>{var a;return(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&v.value===((a=p.value[0])==null?void 0:a.title))&&p.value.length>0&&!k.value&&!K.value}),z=b(()=>e.hideNoData&&!p.value.length||e.readonly||(I==null?void 0:I.isReadonly.value)),H=L(),ve=pe(H,V);function de(l){j=!0,e.openOnClear&&(c.value=!0)}function fe(){z.value||(c.value=!0)}function me(l){z.value||(x.value&&(l.preventDefault(),l.stopPropagation()),c.value=!c.value)}function be(l){var a;ze(l)&&((a=V.value)==null||a.focus())}function he(l){var t;if(He(l)||e.readonly||I!=null&&I.isReadonly.value)return;const a=V.value.selectionStart,r=n.value.length;if((s.value>-1||["Enter","ArrowDown","ArrowUp"].includes(l.key))&&l.preventDefault(),["Enter","ArrowDown"].includes(l.key)&&(c.value=!0),["Escape"].includes(l.key)&&(c.value=!1),["Enter","Escape","Tab"].includes(l.key)&&(q.value&&["Enter","Tab"].includes(l.key)&&!n.value.some(u=>{let{value:m}=u;return m===p.value[0].value})&&h(E.value[0]),k.value=!0),l.key==="ArrowDown"&&q.value&&((t=H.value)==null||t.focus("next")),l.key==="Enter"&&v.value&&(h(A(e,v.value)),y.value&&(C.value="")),["Backspace","Delete"].includes(l.key)){if(!e.multiple&&y.value&&n.value.length>0&&!v.value)return h(n.value[0],!1);if(~s.value){const u=s.value;h(n.value[s.value],!1),s.value=u>=r-1?r-2:u}else l.key==="Backspace"&&!v.value&&(s.value=r-1)}if(e.multiple){if(l.key==="ArrowLeft"){if(s.value<0&&a>0)return;const u=s.value>-1?s.value-1:r-1;n.value[u]?s.value=u:(s.value=-1,V.value.setSelectionRange(v.value.length,v.value.length))}if(l.key==="ArrowRight"){if(s.value<0)return;const u=s.value+1;n.value[u]?s.value=u:(s.value=-1,V.value.setSelectionRange(0,0))}}}function ge(){var l;e.eager&&((l=B.value)==null||l.calculateVisibleItems())}function Ve(){var l;x.value&&(k.value=!0,(l=V.value)==null||l.focus())}function h(l){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!l||l.props.disabled))if(e.multiple){const r=n.value.findIndex(u=>e.valueComparator(u.value,l.value)),t=a??!~r;if(~r){const u=t?[...n.value,l]:[...n.value];u.splice(r,1),n.value=u}else t&&(n.value=[...n.value,l]);e.clearOnSelect&&(v.value="")}else{const r=a!==!1;n.value=r?[l]:[],C.value=r&&!y.value?l.title:"",Y(()=>{c.value=!1,k.value=!0})}}function xe(l){x.value=!0,setTimeout(()=>{K.value=!0})}function ye(l){K.value=!1}function ke(l){(l==null||l===""&&!e.multiple&&!y.value)&&(n.value=[])}return D(x,(l,a)=>{if(!(l||l===a)&&(s.value=-1,c.value=!1,v.value)){if(e.multiple){h(A(e,v.value));return}if(!y.value)return;n.value.some(r=>{let{title:t}=r;return t===v.value})?C.value="":h(A(e,v.value))}}),D(c,()=>{if(!e.hideSelected&&c.value&&n.value.length){const l=p.value.findIndex(a=>n.value.some(r=>e.valueComparator(r.value,a.value)));Te&&window.requestAnimationFrame(()=>{var a;l>=0&&((a=B.value)==null||a.scrollToIndex(l))})}}),D(()=>e.items,(l,a)=>{c.value||x.value&&!a.length&&l.length&&(c.value=!0)}),Le(()=>{const l=!!(!e.hideNoData||p.value.length||o["prepend-item"]||o["append-item"]||o["no-data"]),a=n.value.length>0,r=G.filterProps(e);return i(G,F({ref:V},r,{modelValue:v.value,"onUpdate:modelValue":[t=>v.value=t,ke],focused:x.value,"onUpdate:focused":t=>x.value=t,validationValue:n.externalValue,counterValue:se.value,dirty:a,class:["v-combobox",{"v-combobox--active-menu":c.value,"v-combobox--chips":!!e.chips,"v-combobox--selection-slot":!!y.value,"v-combobox--selecting-index":s.value>-1,[`v-combobox--${e.multiple?"multiple":"single"}`]:!0},e.class],style:e.style,readonly:e.readonly,placeholder:a?void 0:e.placeholder,"onClick:clear":de,"onMousedown:control":fe,onKeydown:he}),{...o,default:()=>i(N,null,[i(we,F({ref:$,modelValue:c.value,"onUpdate:modelValue":t=>c.value=t,activator:"parent",contentClass:"v-combobox__content",disabled:z.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterEnter:ge,onAfterLeave:Ve},e.menuProps),{default:()=>[l&&i(Ne,F({ref:H,selected:ce.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:t=>t.preventDefault(),onKeydown:be,onFocusin:xe,onFocusout:ye,tabindex:"-1","aria-live":"polite",color:e.itemColor??e.color},ve,e.listProps),{default:()=>{var t,u,m;return[(t=o["prepend-item"])==null?void 0:t.call(o),!p.value.length&&!e.hideNoData&&(((u=o["no-data"])==null?void 0:u.call(o))??i(ee,{title:O(e.noDataText)},null)),i(Se,{ref:B,renderless:!0,items:p.value},{default:w=>{var Z;let{item:d,index:S,itemRef:f}=w;const W=F(d.props,{ref:f,key:S,active:q.value&&S===0?!0:void 0,onClick:()=>h(d,null)});return((Z=o.item)==null?void 0:Z.call(o,{item:d,index:S,props:W}))??i(ee,F(W,{role:"option"}),{prepend:M=>{let{isSelected:T}=M;return i(N,null,[e.multiple&&!e.hideSelected?i(Ze,{key:d.value,modelValue:T,ripple:!1,tabindex:"-1"},null):void 0,d.props.prependAvatar&&i(Oe,{image:d.props.prependAvatar},null),d.props.prependIcon&&i(le,{icon:d.props.prependIcon},null)])},title:()=>{var M,T;return k.value?d.title:Ge(d.title,(M=re(d))==null?void 0:M.title,((T=v.value)==null?void 0:T.length)??0)}})}}),(m=o["append-item"])==null?void 0:m.call(o)]}})]}),n.value.map((t,u)=>{function m(f){f.stopPropagation(),f.preventDefault(),h(t,!1)}const w={"onClick:close":m,onKeydown(f){f.key!=="Enter"&&f.key!==" "||(f.preventDefault(),f.stopPropagation(),m(f))},onMousedown(f){f.preventDefault(),f.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},d=_.value?!!o.chip:!!o.selection,S=d?Ke(_.value?o.chip({item:t,index:u,props:w}):o.selection({item:t,index:u})):void 0;if(!(d&&!S))return i("div",{key:t.value,class:["v-combobox__selection",u===s.value&&["v-combobox__selection--selected",oe.value]],style:u===s.value?ie.value:{}},[_.value?o.chip?i(Be,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:t.title}}},{default:()=>[S]}):i(Ie,F({key:"chip",closable:e.closableChips,size:"small",text:t.title,disabled:t.props.disabled},w),null):S??i("span",{class:"v-combobox__selection-text"},[t.title,e.multiple&&u<n.value.length-1&&i("span",{class:"v-combobox__selection-comma"},[Ue(",")])])])})]),"append-inner":function(){var w;for(var t=arguments.length,u=new Array(t),m=0;m<t;m++)u[m]=arguments[m];return i(N,null,[(w=o["append-inner"])==null?void 0:w.call(o,...u),(!e.hideNoData||e.items.length)&&e.menuIcon?i(le,{class:"v-combobox__menu-icon",icon:e.menuIcon,onMousedown:me,onClick:je,"aria-label":O(J.value),title:O(J.value),tabindex:"-1"},null):void 0])}})}),qe({isFocused:x,isPristine:k,menu:c,search:v,selectionIndex:s,filteredItems:E,select:h},V)}});export{ul as V};
@@ -0,0 +1 @@
1
+ import{m as Ce,u as pe,V as we,a as Se,b as Ie}from"./VSelect-DtvZsYZz.js";import{m as Fe,V as G}from"./VTextField-Blqy56_L.js";import{B as Pe,ah as Ae,aZ as De,M as Re,bV as _e,r as L,s as P,aq as X,h as b,cI as Ee,aj as Me,cJ as A,a as D,n as Y,ac as Te,P as Le,Q as i,al as N,am as F,bq as Ne,aS as ee,cK as Oe,aL as le,cL as Ke,ba as Be,af as Ue,cM as je,an as qe,cN as ze,cO as He,cP as $e}from"./admin-drawer-panel-BaXFOcru.js";import{m as Je,u as Qe}from"./filter-Bzk7x841.js";import{g as We}from"./VSelectionControl-D6kmykQW.js";import{V as Ze}from"./VCheckboxBtn-CO3-aqQL.js";function Ge(e,g,R){if(g==null)return e;if(Array.isArray(g))throw new Error("Multiple matches is not implemented");return typeof g=="number"&&~g?i(N,null,[i("span",{class:"v-combobox__unmask"},[e.substr(0,g)]),i("span",{class:"v-combobox__mask"},[e.substr(g,R)]),i("span",{class:"v-combobox__unmask"},[e.substr(g+R)])]):e}const Xe=Pe({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Je({filterKeys:["title"]}),...Ce({hideNoData:!0,returnObject:!0}),...Ae(Fe({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...De({transition:!1})},"VCombobox"),ul=Re()({name:"VCombobox",props:Xe(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:search":e=>!0,"update:menu":e=>!0},setup(e,g){var Q;let{emit:R,slots:o}=g;const{t:O}=_e(),V=L(),x=P(!1),k=P(!0),K=P(!1),$=L(),B=L(),U=X(e,"menu"),c=b({get:()=>U.value,set:l=>{var a;U.value&&!l&&((a=$.value)!=null&&a.ΨopenChildren.size)||(U.value=l)}}),s=P(-1);let j=!1;const ae=b(()=>{var l;return(l=V.value)==null?void 0:l.color}),J=b(()=>c.value?e.closeText:e.openText),{items:te,transformIn:ne,transformOut:ue}=Ee(e),{textColorClasses:oe,textColorStyles:ie}=Me(ae),n=X(e,"modelValue",[],l=>ne($e(l)),l=>{const a=ue(l);return e.multiple?a:a[0]??null}),I=We(),_=b(()=>!!(e.chips||o.chip)),y=b(()=>_.value||!!o.selection),C=P(!e.multiple&&!y.value?((Q=n.value[0])==null?void 0:Q.title)??"":""),v=b({get:()=>C.value,set:l=>{var a;if(C.value=l??"",!e.multiple&&!y.value&&(n.value=[A(e,l)]),l&&e.multiple&&((a=e.delimiters)!=null&&a.length)){const r=l.split(new RegExp(`(?:${e.delimiters.join("|")})+`));r.length>1&&(r.forEach(t=>{t=t.trim(),t&&h(A(e,t))}),C.value="")}l||(s.value=-1),k.value=!l}}),se=b(()=>typeof e.counterValue=="function"?e.counterValue(n.value):typeof e.counterValue=="number"?e.counterValue:e.multiple?n.value.length:v.value.length);D(C,l=>{j?Y(()=>j=!1):x.value&&!c.value&&(c.value=!0),R("update:search",l)}),D(n,l=>{var a;!e.multiple&&!y.value&&(C.value=((a=l[0])==null?void 0:a.title)??"")});const{filteredItems:E,getMatches:re}=Qe(e,te,()=>k.value?"":v.value),p=b(()=>e.hideSelected?E.value.filter(l=>!n.value.some(a=>a.value===l.value)):E.value),ce=b(()=>n.value.map(l=>l.value)),q=b(()=>{var a;return(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&v.value===((a=p.value[0])==null?void 0:a.title))&&p.value.length>0&&!k.value&&!K.value}),z=b(()=>e.hideNoData&&!p.value.length||e.readonly||(I==null?void 0:I.isReadonly.value)),H=L(),ve=pe(H,V);function de(l){j=!0,e.openOnClear&&(c.value=!0)}function fe(){z.value||(c.value=!0)}function me(l){z.value||(x.value&&(l.preventDefault(),l.stopPropagation()),c.value=!c.value)}function be(l){var a;ze(l)&&((a=V.value)==null||a.focus())}function he(l){var t;if(He(l)||e.readonly||I!=null&&I.isReadonly.value)return;const a=V.value.selectionStart,r=n.value.length;if((s.value>-1||["Enter","ArrowDown","ArrowUp"].includes(l.key))&&l.preventDefault(),["Enter","ArrowDown"].includes(l.key)&&(c.value=!0),["Escape"].includes(l.key)&&(c.value=!1),["Enter","Escape","Tab"].includes(l.key)&&(q.value&&["Enter","Tab"].includes(l.key)&&!n.value.some(u=>{let{value:m}=u;return m===p.value[0].value})&&h(E.value[0]),k.value=!0),l.key==="ArrowDown"&&q.value&&((t=H.value)==null||t.focus("next")),l.key==="Enter"&&v.value&&(h(A(e,v.value)),y.value&&(C.value="")),["Backspace","Delete"].includes(l.key)){if(!e.multiple&&y.value&&n.value.length>0&&!v.value)return h(n.value[0],!1);if(~s.value){const u=s.value;h(n.value[s.value],!1),s.value=u>=r-1?r-2:u}else l.key==="Backspace"&&!v.value&&(s.value=r-1)}if(e.multiple){if(l.key==="ArrowLeft"){if(s.value<0&&a>0)return;const u=s.value>-1?s.value-1:r-1;n.value[u]?s.value=u:(s.value=-1,V.value.setSelectionRange(v.value.length,v.value.length))}if(l.key==="ArrowRight"){if(s.value<0)return;const u=s.value+1;n.value[u]?s.value=u:(s.value=-1,V.value.setSelectionRange(0,0))}}}function ge(){var l;e.eager&&((l=B.value)==null||l.calculateVisibleItems())}function Ve(){var l;x.value&&(k.value=!0,(l=V.value)==null||l.focus())}function h(l){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!l||l.props.disabled))if(e.multiple){const r=n.value.findIndex(u=>e.valueComparator(u.value,l.value)),t=a??!~r;if(~r){const u=t?[...n.value,l]:[...n.value];u.splice(r,1),n.value=u}else t&&(n.value=[...n.value,l]);e.clearOnSelect&&(v.value="")}else{const r=a!==!1;n.value=r?[l]:[],C.value=r&&!y.value?l.title:"",Y(()=>{c.value=!1,k.value=!0})}}function xe(l){x.value=!0,setTimeout(()=>{K.value=!0})}function ye(l){K.value=!1}function ke(l){(l==null||l===""&&!e.multiple&&!y.value)&&(n.value=[])}return D(x,(l,a)=>{if(!(l||l===a)&&(s.value=-1,c.value=!1,v.value)){if(e.multiple){h(A(e,v.value));return}if(!y.value)return;n.value.some(r=>{let{title:t}=r;return t===v.value})?C.value="":h(A(e,v.value))}}),D(c,()=>{if(!e.hideSelected&&c.value&&n.value.length){const l=p.value.findIndex(a=>n.value.some(r=>e.valueComparator(r.value,a.value)));Te&&window.requestAnimationFrame(()=>{var a;l>=0&&((a=B.value)==null||a.scrollToIndex(l))})}}),D(()=>e.items,(l,a)=>{c.value||x.value&&!a.length&&l.length&&(c.value=!0)}),Le(()=>{const l=!!(!e.hideNoData||p.value.length||o["prepend-item"]||o["append-item"]||o["no-data"]),a=n.value.length>0,r=G.filterProps(e);return i(G,F({ref:V},r,{modelValue:v.value,"onUpdate:modelValue":[t=>v.value=t,ke],focused:x.value,"onUpdate:focused":t=>x.value=t,validationValue:n.externalValue,counterValue:se.value,dirty:a,class:["v-combobox",{"v-combobox--active-menu":c.value,"v-combobox--chips":!!e.chips,"v-combobox--selection-slot":!!y.value,"v-combobox--selecting-index":s.value>-1,[`v-combobox--${e.multiple?"multiple":"single"}`]:!0},e.class],style:e.style,readonly:e.readonly,placeholder:a?void 0:e.placeholder,"onClick:clear":de,"onMousedown:control":fe,onKeydown:he}),{...o,default:()=>i(N,null,[i(we,F({ref:$,modelValue:c.value,"onUpdate:modelValue":t=>c.value=t,activator:"parent",contentClass:"v-combobox__content",disabled:z.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterEnter:ge,onAfterLeave:Ve},e.menuProps),{default:()=>[l&&i(Ne,F({ref:H,selected:ce.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:t=>t.preventDefault(),onKeydown:be,onFocusin:xe,onFocusout:ye,tabindex:"-1","aria-live":"polite",color:e.itemColor??e.color},ve,e.listProps),{default:()=>{var t,u,m;return[(t=o["prepend-item"])==null?void 0:t.call(o),!p.value.length&&!e.hideNoData&&(((u=o["no-data"])==null?void 0:u.call(o))??i(ee,{title:O(e.noDataText)},null)),i(Se,{ref:B,renderless:!0,items:p.value},{default:w=>{var Z;let{item:d,index:S,itemRef:f}=w;const W=F(d.props,{ref:f,key:S,active:q.value&&S===0?!0:void 0,onClick:()=>h(d,null)});return((Z=o.item)==null?void 0:Z.call(o,{item:d,index:S,props:W}))??i(ee,F(W,{role:"option"}),{prepend:M=>{let{isSelected:T}=M;return i(N,null,[e.multiple&&!e.hideSelected?i(Ze,{key:d.value,modelValue:T,ripple:!1,tabindex:"-1"},null):void 0,d.props.prependAvatar&&i(Oe,{image:d.props.prependAvatar},null),d.props.prependIcon&&i(le,{icon:d.props.prependIcon},null)])},title:()=>{var M,T;return k.value?d.title:Ge(d.title,(M=re(d))==null?void 0:M.title,((T=v.value)==null?void 0:T.length)??0)}})}}),(m=o["append-item"])==null?void 0:m.call(o)]}})]}),n.value.map((t,u)=>{function m(f){f.stopPropagation(),f.preventDefault(),h(t,!1)}const w={"onClick:close":m,onKeydown(f){f.key!=="Enter"&&f.key!==" "||(f.preventDefault(),f.stopPropagation(),m(f))},onMousedown(f){f.preventDefault(),f.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},d=_.value?!!o.chip:!!o.selection,S=d?Ke(_.value?o.chip({item:t,index:u,props:w}):o.selection({item:t,index:u})):void 0;if(!(d&&!S))return i("div",{key:t.value,class:["v-combobox__selection",u===s.value&&["v-combobox__selection--selected",oe.value]],style:u===s.value?ie.value:{}},[_.value?o.chip?i(Be,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:t.title}}},{default:()=>[S]}):i(Ie,F({key:"chip",closable:e.closableChips,size:"small",text:t.title,disabled:t.props.disabled},w),null):S??i("span",{class:"v-combobox__selection-text"},[t.title,e.multiple&&u<n.value.length-1&&i("span",{class:"v-combobox__selection-comma"},[Ue(",")])])])})]),"append-inner":function(){var w;for(var t=arguments.length,u=new Array(t),m=0;m<t;m++)u[m]=arguments[m];return i(N,null,[(w=o["append-inner"])==null?void 0:w.call(o,...u),(!e.hideNoData||e.items.length)&&e.menuIcon?i(le,{class:"v-combobox__menu-icon",icon:e.menuIcon,onMousedown:me,onClick:je,"aria-label":O(J.value),title:O(J.value),tabindex:"-1"},null):void 0])}})}),qe({isFocused:x,isPristine:k,menu:c,search:v,selectionIndex:s,filteredItems:E,select:h},V)}});export{ul as V};
@@ -0,0 +1 @@
1
+ import{_ as D,V as S,aA as A,Q as v,W as E,af as V,aC as F,ak as b,B as T,d5 as k,d6 as w,M as L,aq as $,aw as I,r as R,ac as _,a as P,n as h,P as N,d9 as y,am as m,ba as O,an as q,da as M}from"./admin-drawer-panel-BaXFOcru.js";const W={name:"ConfirmFooter",props:{confirmText:{type:String,required:!0},disabled:{type:Boolean,default:!1}},emits:["confirm","cancel"]},z={class:"confirmFooter"};function Q(e,n,c,i,s,g){return S(),A("footer",z,[v(b,{class:"confirmButton",disabled:c.disabled,onClick:n[0]||(n[0]=t=>e.$emit("confirm"))},{default:E(()=>[V(F(c.confirmText),1)]),_:1},8,["disabled"]),v(b,{class:"cancelButton",onClick:n[1]||(n[1]=t=>e.$emit("cancel"))},{default:E(()=>n[2]||(n[2]=[V(" Cancel ")])),_:1})])}const G=D(W,[["render",Q],["__scopeId","data-v-24df1550"]]),U=T({fullscreen:Boolean,retainFocus:{type:Boolean,default:!0},scrollable:Boolean,...k({origin:"center center",scrollStrategy:"block",transition:{component:w},zIndex:2400})},"VDialog"),H=L()({name:"VDialog",props:U(),emits:{"update:modelValue":e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(e,n){let{emit:c,slots:i}=n;const s=$(e,"modelValue"),{scopeId:g}=I(),t=R();function p(a){var l,f;const r=a.relatedTarget,u=a.target;if(r!==u&&((l=t.value)!=null&&l.contentEl)&&((f=t.value)!=null&&f.globalTop)&&![document,t.value.contentEl].includes(u)&&!t.value.contentEl.contains(u)){const o=M(t.value.contentEl);if(!o.length)return;const d=o[0],C=o[o.length-1];r===d?C.focus():d.focus()}}_&&P(()=>s.value&&e.retainFocus,a=>{a?document.addEventListener("focusin",p):document.removeEventListener("focusin",p)},{immediate:!0});function B(){var a;c("afterEnter"),(a=t.value)!=null&&a.contentEl&&!t.value.contentEl.contains(document.activeElement)&&t.value.contentEl.focus({preventScroll:!0})}function x(){c("afterLeave")}return P(s,async a=>{var r;a||(await h(),(r=t.value.activatorEl)==null||r.focus({preventScroll:!0}))}),N(()=>{const a=y.filterProps(e),r=m({"aria-haspopup":"dialog","aria-expanded":String(s.value)},e.activatorProps),u=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":l=>s.value=l,"aria-modal":"true",activatorProps:r,contentProps:u,role:"dialog",onAfterEnter:B,onAfterLeave:x},g),{activator:i.activator,default:function(){for(var l=arguments.length,f=new Array(l),o=0;o<l;o++)f[o]=arguments[o];return v(O,{root:"VDialog"},{default:()=>{var d;return[(d=i.default)==null?void 0:d.call(i,...f)]}})}})}),q({},t)}});export{G as C,H as V};
@@ -0,0 +1 @@
1
+ import{_ as D,V as S,aA as A,Q as v,W as E,af as V,aC as F,ak as b,B as T,d5 as k,d6 as w,M as L,aq as $,aw as I,r as R,ac as _,a as P,n as h,P as N,d9 as y,am as m,ba as O,an as q,da as M}from"./admin-drawer-panel-BaXFOcru.js";const W={name:"ConfirmFooter",props:{confirmText:{type:String,required:!0},disabled:{type:Boolean,default:!1}},emits:["confirm","cancel"]},z={class:"confirmFooter"};function Q(e,n,c,i,s,g){return S(),A("footer",z,[v(b,{class:"confirmButton",disabled:c.disabled,onClick:n[0]||(n[0]=t=>e.$emit("confirm"))},{default:E(()=>[V(F(c.confirmText),1)]),_:1},8,["disabled"]),v(b,{class:"cancelButton",onClick:n[1]||(n[1]=t=>e.$emit("cancel"))},{default:E(()=>n[2]||(n[2]=[V(" Cancel ")])),_:1})])}const G=D(W,[["render",Q],["__scopeId","data-v-24df1550"]]),U=T({fullscreen:Boolean,retainFocus:{type:Boolean,default:!0},scrollable:Boolean,...k({origin:"center center",scrollStrategy:"block",transition:{component:w},zIndex:2400})},"VDialog"),H=L()({name:"VDialog",props:U(),emits:{"update:modelValue":e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(e,n){let{emit:c,slots:i}=n;const s=$(e,"modelValue"),{scopeId:g}=I(),t=R();function p(a){var l,f;const r=a.relatedTarget,u=a.target;if(r!==u&&((l=t.value)!=null&&l.contentEl)&&((f=t.value)!=null&&f.globalTop)&&![document,t.value.contentEl].includes(u)&&!t.value.contentEl.contains(u)){const o=M(t.value.contentEl);if(!o.length)return;const d=o[0],C=o[o.length-1];r===d?C.focus():d.focus()}}_&&P(()=>s.value&&e.retainFocus,a=>{a?document.addEventListener("focusin",p):document.removeEventListener("focusin",p)},{immediate:!0});function B(){var a;c("afterEnter"),(a=t.value)!=null&&a.contentEl&&!t.value.contentEl.contains(document.activeElement)&&t.value.contentEl.focus({preventScroll:!0})}function x(){c("afterLeave")}return P(s,async a=>{var r;a||(await h(),(r=t.value.activatorEl)==null||r.focus({preventScroll:!0}))}),N(()=>{const a=y.filterProps(e),r=m({"aria-haspopup":"dialog","aria-expanded":String(s.value)},e.activatorProps),u=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":l=>s.value=l,"aria-modal":"true",activatorProps:r,contentProps:u,role:"dialog",onAfterEnter:B,onAfterLeave:x},g),{activator:i.activator,default:function(){for(var l=arguments.length,f=new Array(l),o=0;o<l;o++)f[o]=arguments[o];return v(O,{root:"VDialog"},{default:()=>{var d;return[(d=i.default)==null?void 0:d.call(i,...f)]}})}})}),q({},t)}});export{G as C,H as V};
@@ -0,0 +1 @@
1
+ import{B as b,K as g,bY as G,M as P,i as C,c0 as $,P as m,Q as l,aN as h,bR as N,bL as j,b7 as k,aY as z,c8 as Q,au as T,a$ as Y,h as r,b0 as F,ba as w,aL as K,c6 as M,bX as O,b8 as W,as as B,b_ as X,c9 as q,b9 as H,p as J,cQ as U,cR as Z,L as ee,bW as ae,N as ne,ax as le,av as t}from"./admin-drawer-panel-BaXFOcru.js";const p=Symbol.for("vuetify:v-expansion-panel"),_=b({...g(),...G()},"VExpansionPanelText"),S=P()({name:"VExpansionPanelText",props:_(),setup(e,d){let{slots:n}=d;const a=C(p);if(!a)throw new Error("[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel");const{hasContent:o,onAfterLeave:u}=$(e,a.isSelected);return m(()=>l(j,{onAfterLeave:u},{default:()=>{var i;return[h(l("div",{class:["v-expansion-panel-text",e.class],style:e.style},[n.default&&o.value&&l("div",{class:"v-expansion-panel-text__wrapper"},[(i=n.default)==null?void 0:i.call(n)])]),[[N,a.isSelected.value]])]}})),{}}}),A=b({color:String,expandIcon:{type:k,default:"$expand"},collapseIcon:{type:k,default:"$collapse"},hideActions:Boolean,focusable:Boolean,static:Boolean,ripple:{type:[Boolean,Object],default:!1},readonly:Boolean,...g(),...z()},"VExpansionPanelTitle"),I=P()({name:"VExpansionPanelTitle",directives:{Ripple:Q},props:A(),setup(e,d){let{slots:n}=d;const a=C(p);if(!a)throw new Error("[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel");const{backgroundColorClasses:o,backgroundColorStyles:u}=T(e,"color"),{dimensionStyles:i}=Y(e),v=r(()=>({collapseIcon:e.collapseIcon,disabled:a.disabled.value,expanded:a.isSelected.value,expandIcon:e.expandIcon,readonly:e.readonly})),y=r(()=>a.isSelected.value?e.collapseIcon:e.expandIcon);return m(()=>{var x;return h(l("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},o.value,e.class],style:[u.value,i.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},[l("span",{class:"v-expansion-panel-title__overlay"},null),(x=n.default)==null?void 0:x.call(n,v.value),!e.hideActions&&l(w,{defaults:{VIcon:{icon:y.value}}},{default:()=>{var f;return[l("span",{class:"v-expansion-panel-title__icon"},[((f=n.actions)==null?void 0:f.call(n,v.value))??l(K,null,null)])]}})]),[[F("ripple"),e.ripple]])}),{}}}),D=b({title:String,text:String,bgColor:String,...M(),...O(),...W(),...B(),...A(),..._()},"VExpansionPanel"),ie=P()({name:"VExpansionPanel",props:D(),emits:{"group:selected":e=>!0},setup(e,d){let{slots:n}=d;const a=X(e,p),{backgroundColorClasses:o,backgroundColorStyles:u}=T(e,"bgColor"),{elevationClasses:i}=q(e),{roundedClasses:v}=H(e),y=r(()=>(a==null?void 0:a.disabled.value)||e.disabled),x=r(()=>a.group.items.value.reduce((c,s,V)=>(a.group.selected.value.includes(s.id)&&c.push(V),c),[])),f=r(()=>{const c=a.group.items.value.findIndex(s=>s.id===a.id);return!a.isSelected.value&&x.value.some(s=>s-c===1)}),L=r(()=>{const c=a.group.items.value.findIndex(s=>s.id===a.id);return!a.isSelected.value&&x.value.some(s=>s-c===-1)});return J(p,a),m(()=>{const c=!!(n.text||e.text),s=!!(n.title||e.title),V=I.filterProps(e),R=S.filterProps(e);return l(e.tag,{class:["v-expansion-panel",{"v-expansion-panel--active":a.isSelected.value,"v-expansion-panel--before-active":f.value,"v-expansion-panel--after-active":L.value,"v-expansion-panel--disabled":y.value},v.value,o.value,e.class],style:[u.value,e.style]},{default:()=>[l("div",{class:["v-expansion-panel__shadow",...i.value]},null),l(w,{defaults:{VExpansionPanelTitle:{...V},VExpansionPanelText:{...R}}},{default:()=>{var E;return[s&&l(I,{key:"title"},{default:()=>[n.title?n.title():e.title]}),c&&l(S,{key:"text"},{default:()=>[n.text?n.text():e.text]}),(E=n.default)==null?void 0:E.call(n)]}})]})}),{groupItem:a}}}),te=["default","accordion","inset","popout"],se=b({flat:Boolean,...U(),...Z(D(),["bgColor","collapseIcon","color","eager","elevation","expandIcon","focusable","hideActions","readonly","ripple","rounded","tile","static"]),...ee(),...g(),...B(),variant:{type:String,default:"default",validator:e=>te.includes(e)}},"VExpansionPanels"),ce=P()({name:"VExpansionPanels",props:se(),emits:{"update:modelValue":e=>!0},setup(e,d){let{slots:n}=d;const{next:a,prev:o}=ae(e,p),{themeClasses:u}=ne(e),i=r(()=>e.variant&&`v-expansion-panels--variant-${e.variant}`);return le({VExpansionPanel:{bgColor:t(e,"bgColor"),collapseIcon:t(e,"collapseIcon"),color:t(e,"color"),eager:t(e,"eager"),elevation:t(e,"elevation"),expandIcon:t(e,"expandIcon"),focusable:t(e,"focusable"),hideActions:t(e,"hideActions"),readonly:t(e,"readonly"),ripple:t(e,"ripple"),rounded:t(e,"rounded"),static:t(e,"static")}}),m(()=>l(e.tag,{class:["v-expansion-panels",{"v-expansion-panels--flat":e.flat,"v-expansion-panels--tile":e.tile},u.value,i.value,e.class],style:e.style},{default:()=>{var v;return[(v=n.default)==null?void 0:v.call(n,{prev:o,next:a})]}})),{next:a,prev:o}}});export{ie as V,I as a,S as b,ce as c};
@@ -0,0 +1 @@
1
+ import{B as b,K as g,bY as G,M as P,i as C,c0 as $,P as m,Q as l,aN as h,bR as N,bL as j,b7 as k,aY as z,c8 as Q,au as T,a$ as Y,h as r,b0 as F,ba as w,aL as K,c6 as M,bX as O,b8 as W,as as B,b_ as X,c9 as q,b9 as H,p as J,cQ as U,cR as Z,L as ee,bW as ae,N as ne,ax as le,av as t}from"./admin-drawer-panel-BaXFOcru.js";const p=Symbol.for("vuetify:v-expansion-panel"),_=b({...g(),...G()},"VExpansionPanelText"),S=P()({name:"VExpansionPanelText",props:_(),setup(e,d){let{slots:n}=d;const a=C(p);if(!a)throw new Error("[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel");const{hasContent:o,onAfterLeave:u}=$(e,a.isSelected);return m(()=>l(j,{onAfterLeave:u},{default:()=>{var i;return[h(l("div",{class:["v-expansion-panel-text",e.class],style:e.style},[n.default&&o.value&&l("div",{class:"v-expansion-panel-text__wrapper"},[(i=n.default)==null?void 0:i.call(n)])]),[[N,a.isSelected.value]])]}})),{}}}),A=b({color:String,expandIcon:{type:k,default:"$expand"},collapseIcon:{type:k,default:"$collapse"},hideActions:Boolean,focusable:Boolean,static:Boolean,ripple:{type:[Boolean,Object],default:!1},readonly:Boolean,...g(),...z()},"VExpansionPanelTitle"),I=P()({name:"VExpansionPanelTitle",directives:{Ripple:Q},props:A(),setup(e,d){let{slots:n}=d;const a=C(p);if(!a)throw new Error("[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel");const{backgroundColorClasses:o,backgroundColorStyles:u}=T(e,"color"),{dimensionStyles:i}=Y(e),v=r(()=>({collapseIcon:e.collapseIcon,disabled:a.disabled.value,expanded:a.isSelected.value,expandIcon:e.expandIcon,readonly:e.readonly})),y=r(()=>a.isSelected.value?e.collapseIcon:e.expandIcon);return m(()=>{var x;return h(l("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},o.value,e.class],style:[u.value,i.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},[l("span",{class:"v-expansion-panel-title__overlay"},null),(x=n.default)==null?void 0:x.call(n,v.value),!e.hideActions&&l(w,{defaults:{VIcon:{icon:y.value}}},{default:()=>{var f;return[l("span",{class:"v-expansion-panel-title__icon"},[((f=n.actions)==null?void 0:f.call(n,v.value))??l(K,null,null)])]}})]),[[F("ripple"),e.ripple]])}),{}}}),D=b({title:String,text:String,bgColor:String,...M(),...O(),...W(),...B(),...A(),..._()},"VExpansionPanel"),ie=P()({name:"VExpansionPanel",props:D(),emits:{"group:selected":e=>!0},setup(e,d){let{slots:n}=d;const a=X(e,p),{backgroundColorClasses:o,backgroundColorStyles:u}=T(e,"bgColor"),{elevationClasses:i}=q(e),{roundedClasses:v}=H(e),y=r(()=>(a==null?void 0:a.disabled.value)||e.disabled),x=r(()=>a.group.items.value.reduce((c,s,V)=>(a.group.selected.value.includes(s.id)&&c.push(V),c),[])),f=r(()=>{const c=a.group.items.value.findIndex(s=>s.id===a.id);return!a.isSelected.value&&x.value.some(s=>s-c===1)}),L=r(()=>{const c=a.group.items.value.findIndex(s=>s.id===a.id);return!a.isSelected.value&&x.value.some(s=>s-c===-1)});return J(p,a),m(()=>{const c=!!(n.text||e.text),s=!!(n.title||e.title),V=I.filterProps(e),R=S.filterProps(e);return l(e.tag,{class:["v-expansion-panel",{"v-expansion-panel--active":a.isSelected.value,"v-expansion-panel--before-active":f.value,"v-expansion-panel--after-active":L.value,"v-expansion-panel--disabled":y.value},v.value,o.value,e.class],style:[u.value,e.style]},{default:()=>[l("div",{class:["v-expansion-panel__shadow",...i.value]},null),l(w,{defaults:{VExpansionPanelTitle:{...V},VExpansionPanelText:{...R}}},{default:()=>{var E;return[s&&l(I,{key:"title"},{default:()=>[n.title?n.title():e.title]}),c&&l(S,{key:"text"},{default:()=>[n.text?n.text():e.text]}),(E=n.default)==null?void 0:E.call(n)]}})]})}),{groupItem:a}}}),te=["default","accordion","inset","popout"],se=b({flat:Boolean,...U(),...Z(D(),["bgColor","collapseIcon","color","eager","elevation","expandIcon","focusable","hideActions","readonly","ripple","rounded","tile","static"]),...ee(),...g(),...B(),variant:{type:String,default:"default",validator:e=>te.includes(e)}},"VExpansionPanels"),ce=P()({name:"VExpansionPanels",props:se(),emits:{"update:modelValue":e=>!0},setup(e,d){let{slots:n}=d;const{next:a,prev:o}=ae(e,p),{themeClasses:u}=ne(e),i=r(()=>e.variant&&`v-expansion-panels--variant-${e.variant}`);return le({VExpansionPanel:{bgColor:t(e,"bgColor"),collapseIcon:t(e,"collapseIcon"),color:t(e,"color"),eager:t(e,"eager"),elevation:t(e,"elevation"),expandIcon:t(e,"expandIcon"),focusable:t(e,"focusable"),hideActions:t(e,"hideActions"),readonly:t(e,"readonly"),ripple:t(e,"ripple"),rounded:t(e,"rounded"),static:t(e,"static")}}),m(()=>l(e.tag,{class:["v-expansion-panels",{"v-expansion-panels--flat":e.flat,"v-expansion-panels--tile":e.tile},u.value,i.value,e.class],style:e.style},{default:()=>{var v;return[(v=n.default)==null?void 0:v.call(n,{prev:o,next:a})]}})),{next:a,prev:o}}});export{ie as V,I as a,S as b,ce as c};
@@ -0,0 +1 @@
1
+ import{c as k,d as n,a as C,e as $,V as m,b as A,f as O}from"./VSelectionControl-D6kmykQW.js";import{B as f,M as V,P as y,Q as t,am as i,ah as U,b7 as p,D as x,h as D,aq as F,cw as M,al as N}from"./admin-drawer-panel-BaXFOcru.js";const q=f({...k({falseIcon:"$radioOff",trueIcon:"$radioOn"})},"VRadio"),Q=V()({name:"VRadio",props:q(),setup(e,l){let{slots:s}=l;return y(()=>{const a=n.filterProps(e);return t(n,i(a,{class:["v-radio",e.class],style:e.style,type:"radio"}),s)}),{}}}),w=f({height:{type:[Number,String],default:"auto"},...C(),...U($(),["multiple"]),trueIcon:{type:p,default:"$radioOn"},falseIcon:{type:p,default:"$radioOff"},type:{type:String,default:"radio"}},"VRadioGroup"),T=V()({name:"VRadioGroup",inheritAttrs:!1,props:w(),emits:{"update:modelValue":e=>!0},setup(e,l){let{attrs:s,slots:a}=l;const b=x(),c=D(()=>e.id||`radio-group-${b}`),o=F(e,"modelValue");return y(()=>{const[v,P]=M(s),I=m.filterProps(e),g=n.filterProps(e),r=a.label?a.label({label:e.label,props:{for:c.value}}):e.label;return t(m,i({class:["v-radio-group",e.class],style:e.style},v,I,{modelValue:o.value,"onUpdate:modelValue":u=>o.value=u,id:c.value}),{...a,default:u=>{let{id:d,messagesId:R,isDisabled:G,isReadonly:S}=u;return t(N,null,[r&&t(A,{id:d.value},{default:()=>[r]}),t(O,i(g,{id:d.value,"aria-describedby":R.value,defaultsTarget:"VRadio",trueIcon:e.trueIcon,falseIcon:e.falseIcon,type:e.type,disabled:G.value,readonly:S.value,"aria-labelledby":r?d.value:void 0,multiple:!1},P,{modelValue:o.value,"onUpdate:modelValue":h=>o.value=h}),a)])}})}),{}}});export{Q as V,T as a};
@@ -0,0 +1 @@
1
+ import{c as k,d as n,a as C,e as $,V as m,b as A,f as O}from"./VSelectionControl-D6kmykQW.js";import{B as f,M as V,P as y,Q as t,am as i,ah as U,b7 as p,D as x,h as D,aq as F,cw as M,al as N}from"./admin-drawer-panel-BaXFOcru.js";const q=f({...k({falseIcon:"$radioOff",trueIcon:"$radioOn"})},"VRadio"),Q=V()({name:"VRadio",props:q(),setup(e,l){let{slots:s}=l;return y(()=>{const a=n.filterProps(e);return t(n,i(a,{class:["v-radio",e.class],style:e.style,type:"radio"}),s)}),{}}}),w=f({height:{type:[Number,String],default:"auto"},...C(),...U($(),["multiple"]),trueIcon:{type:p,default:"$radioOn"},falseIcon:{type:p,default:"$radioOff"},type:{type:String,default:"radio"}},"VRadioGroup"),T=V()({name:"VRadioGroup",inheritAttrs:!1,props:w(),emits:{"update:modelValue":e=>!0},setup(e,l){let{attrs:s,slots:a}=l;const b=x(),c=D(()=>e.id||`radio-group-${b}`),o=F(e,"modelValue");return y(()=>{const[v,P]=M(s),I=m.filterProps(e),g=n.filterProps(e),r=a.label?a.label({label:e.label,props:{for:c.value}}):e.label;return t(m,i({class:["v-radio-group",e.class],style:e.style},v,I,{modelValue:o.value,"onUpdate:modelValue":u=>o.value=u,id:c.value}),{...a,default:u=>{let{id:d,messagesId:R,isDisabled:G,isReadonly:S}=u;return t(N,null,[r&&t(A,{id:d.value},{default:()=>[r]}),t(O,i(g,{id:d.value,"aria-describedby":R.value,defaultsTarget:"VRadio",trueIcon:e.trueIcon,falseIcon:e.falseIcon,type:e.type,disabled:G.value,readonly:S.value,"aria-labelledby":r?d.value:void 0,multiple:!1},P,{modelValue:o.value,"onUpdate:modelValue":h=>o.value=h}),a)])}})}),{}}});export{Q as V,T as a};