codex 1.8.9__py3-none-any.whl → 1.8.10__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 (428) hide show
  1. codex/librarian/bookmark/latest_version.py +2 -6
  2. codex/librarian/librariand.py +5 -3
  3. codex/librarian/restarter/restarter.py +2 -6
  4. codex/librarian/scribe/importer/init.py +4 -4
  5. codex/librarian/scribe/importer/link/many_to_many.py +1 -0
  6. codex/librarian/scribe/importer/link/prepare.py +1 -3
  7. codex/librarian/scribe/importer/search/sync_m2m.py +28 -27
  8. codex/librarian/scribe/importer/search/update.py +3 -1
  9. codex/librarian/scribe/janitor/adopt_folders.py +2 -7
  10. codex/librarian/scribe/janitor/integrity.py +3 -8
  11. codex/librarian/scribe/lazy_importer.py +2 -6
  12. codex/librarian/scribe/search/optimize.py +4 -7
  13. codex/librarian/scribe/timestamp_update.py +2 -6
  14. codex/librarian/worker.py +27 -0
  15. codex/static_root/assets/{VCheckbox-BI6iNIZR.0d8e2dbdeb09.js → VCheckbox-BfVeJY8A.b8e4dee22b3c.js} +1 -1
  16. codex/static_root/assets/VCheckbox-BfVeJY8A.b8e4dee22b3c.js.br +0 -0
  17. codex/static_root/assets/VCheckbox-BfVeJY8A.b8e4dee22b3c.js.gz +0 -0
  18. codex/static_root/assets/{VCheckbox-BI6iNIZR.js → VCheckbox-BfVeJY8A.js} +1 -1
  19. codex/static_root/assets/VCheckbox-BfVeJY8A.js.br +0 -0
  20. codex/static_root/assets/VCheckbox-BfVeJY8A.js.gz +0 -0
  21. codex/static_root/assets/{VCheckboxBtn-D_jRtvPm.7d253b804bed.js → VCheckboxBtn-dotsoE0r.6b66667a9120.js} +1 -1
  22. codex/static_root/assets/VCheckboxBtn-dotsoE0r.6b66667a9120.js.br +0 -0
  23. codex/static_root/assets/VCheckboxBtn-dotsoE0r.6b66667a9120.js.gz +0 -0
  24. codex/static_root/assets/{VCheckboxBtn-D_jRtvPm.js → VCheckboxBtn-dotsoE0r.js} +1 -1
  25. codex/static_root/assets/VCheckboxBtn-dotsoE0r.js.br +0 -0
  26. codex/static_root/assets/VCheckboxBtn-dotsoE0r.js.gz +0 -0
  27. codex/static_root/assets/{VCombobox-lKOmP-Yq.85384eec8906.js → VCombobox-D6t70eT1.a5c82ecd9544.js} +1 -1
  28. codex/static_root/assets/VCombobox-D6t70eT1.a5c82ecd9544.js.br +0 -0
  29. codex/static_root/assets/VCombobox-D6t70eT1.a5c82ecd9544.js.gz +0 -0
  30. codex/static_root/assets/{VCombobox-lKOmP-Yq.js → VCombobox-D6t70eT1.js} +1 -1
  31. codex/static_root/assets/VCombobox-D6t70eT1.js.br +0 -0
  32. codex/static_root/assets/VCombobox-D6t70eT1.js.gz +0 -0
  33. codex/static_root/assets/{VDialog-DwpHVF2o.f988d86f776c.js → VDialog-Bn_MNvQ-.d1ca39e120b8.js} +1 -1
  34. codex/static_root/assets/VDialog-Bn_MNvQ-.d1ca39e120b8.js.br +0 -0
  35. codex/static_root/assets/{VDialog-DwpHVF2o.js.gz → VDialog-Bn_MNvQ-.d1ca39e120b8.js.gz} +0 -0
  36. codex/static_root/assets/{VDialog-DwpHVF2o.js → VDialog-Bn_MNvQ-.js} +1 -1
  37. codex/static_root/assets/VDialog-Bn_MNvQ-.js.br +0 -0
  38. codex/static_root/assets/{VDialog-DwpHVF2o.f988d86f776c.js.gz → VDialog-Bn_MNvQ-.js.gz} +0 -0
  39. codex/static_root/assets/{VDivider-CGh9hHPI.8fac42f0d85c.js → VDivider-DOOd4a9s.b14fca685b97.js} +1 -1
  40. codex/static_root/assets/VDivider-DOOd4a9s.b14fca685b97.js.br +0 -0
  41. codex/static_root/assets/VDivider-DOOd4a9s.b14fca685b97.js.gz +0 -0
  42. codex/static_root/assets/{VDivider-CGh9hHPI.js → VDivider-DOOd4a9s.js} +1 -1
  43. codex/static_root/assets/VDivider-DOOd4a9s.js.br +0 -0
  44. codex/static_root/assets/VDivider-DOOd4a9s.js.gz +0 -0
  45. codex/static_root/assets/{VExpansionPanels-DFd72CFw.b232fadc31db.js → VExpansionPanels-Be8WWdca.f7f019bb8480.js} +1 -1
  46. codex/static_root/assets/VExpansionPanels-Be8WWdca.f7f019bb8480.js.br +0 -0
  47. codex/static_root/assets/VExpansionPanels-Be8WWdca.f7f019bb8480.js.gz +0 -0
  48. codex/static_root/assets/{VExpansionPanels-DFd72CFw.js → VExpansionPanels-Be8WWdca.js} +1 -1
  49. codex/static_root/assets/VExpansionPanels-Be8WWdca.js.br +0 -0
  50. codex/static_root/assets/VExpansionPanels-Be8WWdca.js.gz +0 -0
  51. codex/static_root/assets/{VForm-C7W9kTbJ.02412068f578.js → VForm-BRei2Gn2.967e83055611.js} +1 -1
  52. codex/static_root/assets/VForm-BRei2Gn2.967e83055611.js.br +0 -0
  53. codex/static_root/assets/VForm-BRei2Gn2.967e83055611.js.gz +0 -0
  54. codex/static_root/assets/{VForm-C7W9kTbJ.js → VForm-BRei2Gn2.js} +1 -1
  55. codex/static_root/assets/VForm-BRei2Gn2.js.br +0 -0
  56. codex/static_root/assets/VForm-BRei2Gn2.js.gz +0 -0
  57. codex/static_root/assets/{VRadioGroup-E0wBXF2E.fd8052060d44.js → VRadioGroup-DVVCXDtV.79214c05c9a4.js} +1 -1
  58. codex/static_root/assets/VRadioGroup-DVVCXDtV.79214c05c9a4.js.br +0 -0
  59. codex/static_root/assets/VRadioGroup-DVVCXDtV.79214c05c9a4.js.gz +0 -0
  60. codex/static_root/assets/{VRadioGroup-E0wBXF2E.js → VRadioGroup-DVVCXDtV.js} +1 -1
  61. codex/static_root/assets/VRadioGroup-DVVCXDtV.js.br +0 -0
  62. codex/static_root/assets/VRadioGroup-DVVCXDtV.js.gz +0 -0
  63. codex/static_root/assets/{VSelect-DLKX5Mr6.d84e1c59fa18.js → VSelect-CJ_8hyFq.c3d39e72c0b5.js} +1 -1
  64. codex/static_root/assets/VSelect-CJ_8hyFq.c3d39e72c0b5.js.br +0 -0
  65. codex/static_root/assets/VSelect-CJ_8hyFq.c3d39e72c0b5.js.gz +0 -0
  66. codex/static_root/assets/{VSelect-DLKX5Mr6.js → VSelect-CJ_8hyFq.js} +1 -1
  67. codex/static_root/assets/VSelect-CJ_8hyFq.js.br +0 -0
  68. codex/static_root/assets/VSelect-CJ_8hyFq.js.gz +0 -0
  69. codex/static_root/assets/{VSelectionControl-B8hJUO0p.js → VSelectionControl-N_wsNRlD.1e50d58ecadb.js} +1 -1
  70. codex/static_root/assets/VSelectionControl-N_wsNRlD.1e50d58ecadb.js.br +0 -0
  71. codex/static_root/assets/VSelectionControl-N_wsNRlD.1e50d58ecadb.js.gz +0 -0
  72. codex/static_root/assets/{VSelectionControl-B8hJUO0p.1dda62fe0677.js → VSelectionControl-N_wsNRlD.js} +1 -1
  73. codex/static_root/assets/VSelectionControl-N_wsNRlD.js.br +0 -0
  74. codex/static_root/assets/VSelectionControl-N_wsNRlD.js.gz +0 -0
  75. codex/static_root/assets/{VTable-D0uqeonL.a9897896b818.js → VTable-YgXyPctG.b776e9689646.js} +1 -1
  76. codex/static_root/assets/VTable-YgXyPctG.b776e9689646.js.br +0 -0
  77. codex/static_root/assets/VTable-YgXyPctG.b776e9689646.js.gz +0 -0
  78. codex/static_root/assets/{VTable-D0uqeonL.js → VTable-YgXyPctG.js} +1 -1
  79. codex/static_root/assets/VTable-YgXyPctG.js.br +0 -0
  80. codex/static_root/assets/VTable-YgXyPctG.js.gz +0 -0
  81. codex/static_root/assets/{VWindowItem-DnxUM-gG.242f232488e3.js → VWindowItem-BmpD4isF.61a906c1109e.js} +1 -1
  82. codex/static_root/assets/VWindowItem-BmpD4isF.61a906c1109e.js.br +0 -0
  83. codex/static_root/assets/VWindowItem-BmpD4isF.61a906c1109e.js.gz +0 -0
  84. codex/static_root/assets/{VWindowItem-DnxUM-gG.js → VWindowItem-BmpD4isF.js} +1 -1
  85. codex/static_root/assets/VWindowItem-BmpD4isF.js.br +0 -0
  86. codex/static_root/assets/VWindowItem-BmpD4isF.js.gz +0 -0
  87. codex/static_root/assets/{admin-B9U01BEM.7c8747c54803.js → admin-26AnWn-T.fe23350475b4.js} +1 -1
  88. codex/static_root/assets/admin-26AnWn-T.fe23350475b4.js.br +0 -0
  89. codex/static_root/assets/admin-26AnWn-T.fe23350475b4.js.gz +0 -0
  90. codex/static_root/assets/{admin-B9U01BEM.js → admin-26AnWn-T.js} +1 -1
  91. codex/static_root/assets/admin-26AnWn-T.js.br +0 -0
  92. codex/static_root/assets/admin-26AnWn-T.js.gz +0 -0
  93. codex/static_root/assets/{admin-DmYMMUnm.58b7b9f4dadf.js → admin-BhRwDL_I.72c00e104cd2.js} +1 -1
  94. codex/static_root/assets/admin-BhRwDL_I.72c00e104cd2.js.br +0 -0
  95. codex/static_root/assets/admin-BhRwDL_I.72c00e104cd2.js.gz +0 -0
  96. codex/static_root/assets/{admin-DmYMMUnm.js → admin-BhRwDL_I.js} +1 -1
  97. codex/static_root/assets/admin-BhRwDL_I.js.br +0 -0
  98. codex/static_root/assets/admin-BhRwDL_I.js.gz +0 -0
  99. codex/static_root/assets/{admin-menu-CuNW4Urn.25020f907bb8.js → admin-menu-42Q4jLGf.b87cc355497b.js} +1 -1
  100. codex/static_root/assets/admin-menu-42Q4jLGf.b87cc355497b.js.br +0 -0
  101. codex/static_root/assets/admin-menu-42Q4jLGf.b87cc355497b.js.gz +0 -0
  102. codex/static_root/assets/{admin-menu-CuNW4Urn.js → admin-menu-42Q4jLGf.js} +1 -1
  103. codex/static_root/assets/admin-menu-42Q4jLGf.js.br +0 -0
  104. codex/static_root/assets/admin-menu-42Q4jLGf.js.gz +0 -0
  105. codex/static_root/assets/{admin-settings-button-progress-Bzr-gkG2.b17f5bcba7bb.js → admin-settings-button-progress-hYnDmn23.ffed6d808c68.js} +1 -1
  106. codex/static_root/assets/admin-settings-button-progress-hYnDmn23.ffed6d808c68.js.br +4 -0
  107. codex/static_root/assets/admin-settings-button-progress-hYnDmn23.ffed6d808c68.js.gz +0 -0
  108. codex/static_root/assets/{admin-settings-button-progress-Bzr-gkG2.js → admin-settings-button-progress-hYnDmn23.js} +1 -1
  109. codex/static_root/assets/admin-settings-button-progress-hYnDmn23.js.br +4 -0
  110. codex/static_root/assets/admin-settings-button-progress-hYnDmn23.js.gz +0 -0
  111. codex/static_root/assets/{browser-CIw7xQ-1.js → browser-BiLF_XL8.d0ffb7b04624.js} +1 -1
  112. codex/static_root/assets/browser-BiLF_XL8.d0ffb7b04624.js.br +0 -0
  113. codex/static_root/assets/browser-BiLF_XL8.d0ffb7b04624.js.gz +0 -0
  114. codex/static_root/assets/{browser-CIw7xQ-1.8d16d2b270d5.js → browser-BiLF_XL8.js} +1 -1
  115. codex/static_root/assets/browser-BiLF_XL8.js.br +0 -0
  116. codex/static_root/assets/browser-BiLF_XL8.js.gz +0 -0
  117. codex/static_root/assets/{browser-TRzEFz_k.css → browser-CS6VSg0_.9a6e8eda0520.css} +1 -1
  118. codex/static_root/assets/browser-CS6VSg0_.9a6e8eda0520.css.br +0 -0
  119. codex/static_root/assets/browser-CS6VSg0_.9a6e8eda0520.css.gz +0 -0
  120. codex/static_root/assets/{browser-TRzEFz_k.e8ae750c4a41.css → browser-CS6VSg0_.css} +1 -1
  121. codex/static_root/assets/browser-CS6VSg0_.css.br +0 -0
  122. codex/static_root/assets/browser-CS6VSg0_.css.gz +0 -0
  123. codex/static_root/assets/{change-password-dialog-CXaB7k3y.01788b2cb59e.js → change-password-dialog-Df28DwbL.7e3eb3fdb42a.js} +1 -1
  124. codex/static_root/assets/change-password-dialog-Df28DwbL.7e3eb3fdb42a.js.br +0 -0
  125. codex/static_root/assets/change-password-dialog-Df28DwbL.7e3eb3fdb42a.js.gz +0 -0
  126. codex/static_root/assets/{change-password-dialog-CXaB7k3y.js → change-password-dialog-Df28DwbL.js} +1 -1
  127. codex/static_root/assets/change-password-dialog-Df28DwbL.js.br +0 -0
  128. codex/static_root/assets/change-password-dialog-Df28DwbL.js.gz +0 -0
  129. codex/static_root/assets/{confirm-dialog-gXeRF5bD.4ae6e7a9790a.js → confirm-dialog-DgKUUL0b.bd6e76fa370e.js} +1 -1
  130. codex/static_root/assets/confirm-dialog-DgKUUL0b.bd6e76fa370e.js.br +0 -0
  131. codex/static_root/assets/confirm-dialog-DgKUUL0b.bd6e76fa370e.js.gz +0 -0
  132. codex/static_root/assets/{confirm-dialog-gXeRF5bD.js → confirm-dialog-DgKUUL0b.js} +1 -1
  133. codex/static_root/assets/confirm-dialog-DgKUUL0b.js.br +0 -0
  134. codex/static_root/assets/confirm-dialog-DgKUUL0b.js.gz +0 -0
  135. codex/static_root/assets/{datetime-column-C5ZBHxV-.35957e684ec2.js → datetime-column-jb1Y13cY.f98386c3c6cf.js} +1 -1
  136. codex/static_root/assets/datetime-column-jb1Y13cY.f98386c3c6cf.js.br +0 -0
  137. codex/static_root/assets/datetime-column-jb1Y13cY.f98386c3c6cf.js.gz +0 -0
  138. codex/static_root/assets/{datetime-column-C5ZBHxV-.js → datetime-column-jb1Y13cY.js} +1 -1
  139. codex/static_root/assets/datetime-column-jb1Y13cY.js.br +0 -0
  140. codex/static_root/assets/datetime-column-jb1Y13cY.js.gz +0 -0
  141. codex/static_root/assets/{filter-CQ83UjMF.7cd979df64da.js → filter-DU947LwF.64baedae8854.js} +1 -1
  142. codex/static_root/assets/filter-DU947LwF.64baedae8854.js.br +0 -0
  143. codex/static_root/assets/filter-DU947LwF.64baedae8854.js.gz +0 -0
  144. codex/static_root/assets/{filter-CQ83UjMF.js → filter-DU947LwF.js} +1 -1
  145. codex/static_root/assets/filter-DU947LwF.js.br +0 -0
  146. codex/static_root/assets/filter-DU947LwF.js.gz +0 -0
  147. codex/static_root/assets/{flag-tab-CN3Y0PZS.f5f7122a015e.js → flag-tab-BTT0536t.4219f4036821.js} +1 -1
  148. codex/static_root/assets/flag-tab-BTT0536t.4219f4036821.js.br +0 -0
  149. codex/static_root/assets/flag-tab-BTT0536t.4219f4036821.js.gz +0 -0
  150. codex/static_root/assets/{flag-tab-CN3Y0PZS.js → flag-tab-BTT0536t.js} +1 -1
  151. codex/static_root/assets/flag-tab-BTT0536t.js.br +0 -0
  152. codex/static_root/assets/flag-tab-BTT0536t.js.gz +0 -0
  153. codex/static_root/assets/{forwardRefs-DBxFdh0r.js → forwardRefs-BGAZ1bvO.676c1aac262e.js} +1 -1
  154. codex/static_root/assets/forwardRefs-BGAZ1bvO.676c1aac262e.js.br +0 -0
  155. codex/static_root/assets/forwardRefs-BGAZ1bvO.676c1aac262e.js.gz +0 -0
  156. codex/static_root/assets/{forwardRefs-DBxFdh0r.03d9552a8e4c.js → forwardRefs-BGAZ1bvO.js} +1 -1
  157. codex/static_root/assets/forwardRefs-BGAZ1bvO.js.br +0 -0
  158. codex/static_root/assets/forwardRefs-BGAZ1bvO.js.gz +0 -0
  159. codex/static_root/assets/{group-tab-DMPL6FiK.82f53e5c353a.js → group-tab-BP-SEY6G.0cb4e211f69e.js} +1 -1
  160. codex/static_root/assets/group-tab-BP-SEY6G.0cb4e211f69e.js.br +0 -0
  161. codex/static_root/assets/group-tab-BP-SEY6G.0cb4e211f69e.js.gz +0 -0
  162. codex/static_root/assets/{group-tab-DMPL6FiK.js → group-tab-BP-SEY6G.js} +1 -1
  163. codex/static_root/assets/group-tab-BP-SEY6G.js.br +0 -0
  164. codex/static_root/assets/group-tab-BP-SEY6G.js.gz +0 -0
  165. codex/static_root/assets/{http-error-DgJ8-SFZ.da2fe4d026ce.js → http-error-1DNqtVPW.968aac8be867.js} +1 -1
  166. codex/static_root/assets/http-error-1DNqtVPW.968aac8be867.js.br +0 -0
  167. codex/static_root/assets/http-error-1DNqtVPW.968aac8be867.js.gz +0 -0
  168. codex/static_root/assets/{http-error-DgJ8-SFZ.js → http-error-1DNqtVPW.js} +1 -1
  169. codex/static_root/assets/http-error-1DNqtVPW.js.br +0 -0
  170. codex/static_root/assets/http-error-1DNqtVPW.js.gz +0 -0
  171. codex/static_root/assets/{index-CQ0ue0KC.b38e465abad4.js → index-Cm9w_Tog.a1b4683f2e1d.js} +1 -1
  172. codex/static_root/assets/index-Cm9w_Tog.a1b4683f2e1d.js.br +0 -0
  173. codex/static_root/assets/index-Cm9w_Tog.a1b4683f2e1d.js.gz +0 -0
  174. codex/static_root/assets/{index-CQ0ue0KC.js → index-Cm9w_Tog.js} +1 -1
  175. codex/static_root/assets/index-Cm9w_Tog.js.br +0 -0
  176. codex/static_root/assets/index-Cm9w_Tog.js.gz +0 -0
  177. codex/static_root/assets/{library-tab-CfuZgnol.880ba8bd0149.js → library-tab-C6FTaygv.b5c79b97a5a3.js} +1 -1
  178. codex/static_root/assets/library-tab-C6FTaygv.b5c79b97a5a3.js.br +0 -0
  179. codex/static_root/assets/library-tab-C6FTaygv.b5c79b97a5a3.js.gz +0 -0
  180. codex/static_root/assets/{library-tab-CfuZgnol.js → library-tab-C6FTaygv.js} +1 -1
  181. codex/static_root/assets/library-tab-C6FTaygv.js.br +0 -0
  182. codex/static_root/assets/library-tab-C6FTaygv.js.gz +0 -0
  183. codex/static_root/assets/{main-G8n9PNCf.cad6fa53a574.js → main-CTlarBH9.047e388380e4.js} +3 -3
  184. codex/static_root/assets/main-CTlarBH9.047e388380e4.js.br +0 -0
  185. codex/static_root/assets/main-CTlarBH9.047e388380e4.js.gz +0 -0
  186. codex/static_root/assets/{main-G8n9PNCf.js → main-CTlarBH9.js} +3 -3
  187. codex/static_root/assets/main-CTlarBH9.js.br +0 -0
  188. codex/static_root/assets/main-CTlarBH9.js.gz +0 -0
  189. codex/static_root/assets/pager-full-pdf-BRkb6G_B.62c8a1533096.js +1 -0
  190. codex/static_root/assets/pager-full-pdf-BRkb6G_B.62c8a1533096.js.br +0 -0
  191. codex/static_root/assets/pager-full-pdf-BRkb6G_B.62c8a1533096.js.gz +0 -0
  192. codex/static_root/assets/pager-full-pdf-BRkb6G_B.js +1 -0
  193. codex/static_root/assets/pager-full-pdf-BRkb6G_B.js.br +0 -0
  194. codex/static_root/assets/pager-full-pdf-BRkb6G_B.js.gz +0 -0
  195. codex/static_root/assets/{pagination-toolbar-0vkF7yjo.js → pagination-toolbar-U9PS3jI7.27a94126052e.js} +1 -1
  196. codex/static_root/assets/pagination-toolbar-U9PS3jI7.27a94126052e.js.br +0 -0
  197. codex/static_root/assets/pagination-toolbar-U9PS3jI7.27a94126052e.js.gz +0 -0
  198. codex/static_root/assets/{pagination-toolbar-0vkF7yjo.d32720f76776.js → pagination-toolbar-U9PS3jI7.js} +1 -1
  199. codex/static_root/assets/pagination-toolbar-U9PS3jI7.js.br +0 -0
  200. codex/static_root/assets/pagination-toolbar-U9PS3jI7.js.gz +0 -0
  201. codex/static_root/assets/{pdf-doc-CHmFdwy6.4142a4f31d20.js → pdf-doc-CMzddyqW.5ef7eef50756.js} +1 -1
  202. codex/static_root/assets/pdf-doc-CMzddyqW.5ef7eef50756.js.br +0 -0
  203. codex/static_root/assets/pdf-doc-CMzddyqW.5ef7eef50756.js.gz +0 -0
  204. codex/static_root/assets/{pdf-doc-CHmFdwy6.js → pdf-doc-CMzddyqW.js} +1 -1
  205. codex/static_root/assets/pdf-doc-CMzddyqW.js.br +0 -0
  206. codex/static_root/assets/pdf-doc-CMzddyqW.js.gz +0 -0
  207. codex/static_root/assets/{reader-YIWmNjj6.js → reader-DFkGB8xM.ba0585d918b5.js} +2 -2
  208. codex/static_root/assets/reader-DFkGB8xM.ba0585d918b5.js.br +0 -0
  209. codex/static_root/assets/reader-DFkGB8xM.ba0585d918b5.js.gz +0 -0
  210. codex/static_root/assets/{reader-YIWmNjj6.c96fc7891aec.js → reader-DFkGB8xM.js} +2 -2
  211. codex/static_root/assets/reader-DFkGB8xM.js.br +0 -0
  212. codex/static_root/assets/reader-DFkGB8xM.js.gz +0 -0
  213. codex/static_root/assets/{relation-chips-DzoiGrOj.95f663c6c18d.js → relation-chips-32lE_odZ.7cc1620d4c97.js} +1 -1
  214. codex/static_root/assets/relation-chips-32lE_odZ.7cc1620d4c97.js.br +0 -0
  215. codex/static_root/assets/relation-chips-32lE_odZ.7cc1620d4c97.js.gz +0 -0
  216. codex/static_root/assets/{relation-chips-DzoiGrOj.js → relation-chips-32lE_odZ.js} +1 -1
  217. codex/static_root/assets/relation-chips-32lE_odZ.js.br +0 -0
  218. codex/static_root/assets/relation-chips-32lE_odZ.js.gz +0 -0
  219. codex/static_root/assets/{settings-drawer-CUC-r4sg.js → settings-drawer-BaTLfqbD.8693ca4de517.js} +2 -2
  220. codex/static_root/assets/settings-drawer-BaTLfqbD.8693ca4de517.js.br +0 -0
  221. codex/static_root/assets/settings-drawer-BaTLfqbD.8693ca4de517.js.gz +0 -0
  222. codex/static_root/assets/{settings-drawer-CUC-r4sg.e019f5467d25.js → settings-drawer-BaTLfqbD.js} +2 -2
  223. codex/static_root/assets/settings-drawer-BaTLfqbD.js.br +0 -0
  224. codex/static_root/assets/settings-drawer-BaTLfqbD.js.gz +0 -0
  225. codex/static_root/assets/{ssrBoot-D7foQ-7h.31c07ef6f646.js → ssrBoot-CjQLVcFD.0db2c2fe9b66.js} +1 -1
  226. codex/static_root/assets/ssrBoot-CjQLVcFD.0db2c2fe9b66.js.br +0 -0
  227. codex/static_root/assets/ssrBoot-CjQLVcFD.0db2c2fe9b66.js.gz +0 -0
  228. codex/static_root/assets/{ssrBoot-D7foQ-7h.js → ssrBoot-CjQLVcFD.js} +1 -1
  229. codex/static_root/assets/ssrBoot-CjQLVcFD.js.br +0 -0
  230. codex/static_root/assets/ssrBoot-CjQLVcFD.js.gz +0 -0
  231. codex/static_root/assets/{stats-tab-BSy-9tZm.2a7560872f5c.js → stats-tab-WD67DkuY.4cd13274173f.js} +1 -1
  232. codex/static_root/assets/stats-tab-WD67DkuY.4cd13274173f.js.br +0 -0
  233. codex/static_root/assets/stats-tab-WD67DkuY.4cd13274173f.js.gz +0 -0
  234. codex/static_root/assets/{stats-tab-BSy-9tZm.js → stats-tab-WD67DkuY.js} +1 -1
  235. codex/static_root/assets/stats-tab-WD67DkuY.js.br +0 -0
  236. codex/static_root/assets/stats-tab-WD67DkuY.js.gz +0 -0
  237. codex/static_root/assets/{task-tab-Sp49fYRT.3a1aab3f3716.js → task-tab-CHOLNUJh.bbf1c7a95058.js} +1 -1
  238. codex/static_root/assets/task-tab-CHOLNUJh.bbf1c7a95058.js.br +0 -0
  239. codex/static_root/assets/task-tab-CHOLNUJh.bbf1c7a95058.js.gz +0 -0
  240. codex/static_root/assets/{task-tab-Sp49fYRT.js → task-tab-CHOLNUJh.js} +1 -1
  241. codex/static_root/assets/task-tab-CHOLNUJh.js.br +0 -0
  242. codex/static_root/assets/task-tab-CHOLNUJh.js.gz +0 -0
  243. codex/static_root/assets/{unauthorized-BM6KzvCy.4c114d9693c1.js → unauthorized-BsEyzLQ2.e54a69cff5c6.js} +1 -1
  244. codex/static_root/assets/unauthorized-BsEyzLQ2.e54a69cff5c6.js.br +0 -0
  245. codex/static_root/assets/unauthorized-BsEyzLQ2.e54a69cff5c6.js.gz +0 -0
  246. codex/static_root/assets/{unauthorized-BM6KzvCy.js → unauthorized-BsEyzLQ2.js} +1 -1
  247. codex/static_root/assets/unauthorized-BsEyzLQ2.js.br +0 -0
  248. codex/static_root/assets/unauthorized-BsEyzLQ2.js.gz +0 -0
  249. codex/static_root/assets/{user-tab-yQ60jtVd.ad593cc6e6ea.js → user-tab-CbNhbZzZ.af38f932a795.js} +1 -1
  250. codex/static_root/assets/user-tab-CbNhbZzZ.af38f932a795.js.br +0 -0
  251. codex/static_root/assets/user-tab-CbNhbZzZ.af38f932a795.js.gz +0 -0
  252. codex/static_root/assets/{user-tab-yQ60jtVd.js → user-tab-CbNhbZzZ.js} +1 -1
  253. codex/static_root/assets/user-tab-CbNhbZzZ.js.br +0 -0
  254. codex/static_root/assets/user-tab-CbNhbZzZ.js.gz +0 -0
  255. codex/static_root/{manifest.a059c4dc5443.json → manifest.39fe502cd3a2.json} +298 -298
  256. codex/static_root/manifest.39fe502cd3a2.json.br +0 -0
  257. codex/static_root/manifest.39fe502cd3a2.json.gz +0 -0
  258. codex/static_root/manifest.json +298 -298
  259. codex/static_root/manifest.json.br +0 -0
  260. codex/static_root/manifest.json.gz +0 -0
  261. codex/static_root/staticfiles.json +1 -1
  262. {codex-1.8.9.dist-info → codex-1.8.10.dist-info}/METADATA +1 -1
  263. {codex-1.8.9.dist-info → codex-1.8.10.dist-info}/RECORD +266 -266
  264. codex/static_root/assets/VCheckbox-BI6iNIZR.0d8e2dbdeb09.js.br +0 -0
  265. codex/static_root/assets/VCheckbox-BI6iNIZR.0d8e2dbdeb09.js.gz +0 -0
  266. codex/static_root/assets/VCheckbox-BI6iNIZR.js.br +0 -0
  267. codex/static_root/assets/VCheckbox-BI6iNIZR.js.gz +0 -0
  268. codex/static_root/assets/VCheckboxBtn-D_jRtvPm.7d253b804bed.js.br +0 -0
  269. codex/static_root/assets/VCheckboxBtn-D_jRtvPm.7d253b804bed.js.gz +0 -0
  270. codex/static_root/assets/VCheckboxBtn-D_jRtvPm.js.br +0 -0
  271. codex/static_root/assets/VCheckboxBtn-D_jRtvPm.js.gz +0 -0
  272. codex/static_root/assets/VCombobox-lKOmP-Yq.85384eec8906.js.br +0 -0
  273. codex/static_root/assets/VCombobox-lKOmP-Yq.85384eec8906.js.gz +0 -0
  274. codex/static_root/assets/VCombobox-lKOmP-Yq.js.br +0 -0
  275. codex/static_root/assets/VCombobox-lKOmP-Yq.js.gz +0 -0
  276. codex/static_root/assets/VDialog-DwpHVF2o.f988d86f776c.js.br +0 -0
  277. codex/static_root/assets/VDialog-DwpHVF2o.js.br +0 -0
  278. codex/static_root/assets/VDivider-CGh9hHPI.8fac42f0d85c.js.br +0 -0
  279. codex/static_root/assets/VDivider-CGh9hHPI.8fac42f0d85c.js.gz +0 -0
  280. codex/static_root/assets/VDivider-CGh9hHPI.js.br +0 -0
  281. codex/static_root/assets/VDivider-CGh9hHPI.js.gz +0 -0
  282. codex/static_root/assets/VExpansionPanels-DFd72CFw.b232fadc31db.js.br +0 -0
  283. codex/static_root/assets/VExpansionPanels-DFd72CFw.b232fadc31db.js.gz +0 -0
  284. codex/static_root/assets/VExpansionPanels-DFd72CFw.js.br +0 -0
  285. codex/static_root/assets/VExpansionPanels-DFd72CFw.js.gz +0 -0
  286. codex/static_root/assets/VForm-C7W9kTbJ.02412068f578.js.br +0 -0
  287. codex/static_root/assets/VForm-C7W9kTbJ.02412068f578.js.gz +0 -0
  288. codex/static_root/assets/VForm-C7W9kTbJ.js.br +0 -0
  289. codex/static_root/assets/VForm-C7W9kTbJ.js.gz +0 -0
  290. codex/static_root/assets/VRadioGroup-E0wBXF2E.fd8052060d44.js.br +0 -0
  291. codex/static_root/assets/VRadioGroup-E0wBXF2E.fd8052060d44.js.gz +0 -0
  292. codex/static_root/assets/VRadioGroup-E0wBXF2E.js.br +0 -0
  293. codex/static_root/assets/VRadioGroup-E0wBXF2E.js.gz +0 -0
  294. codex/static_root/assets/VSelect-DLKX5Mr6.d84e1c59fa18.js.br +0 -0
  295. codex/static_root/assets/VSelect-DLKX5Mr6.d84e1c59fa18.js.gz +0 -0
  296. codex/static_root/assets/VSelect-DLKX5Mr6.js.br +0 -0
  297. codex/static_root/assets/VSelect-DLKX5Mr6.js.gz +0 -0
  298. codex/static_root/assets/VSelectionControl-B8hJUO0p.1dda62fe0677.js.br +0 -0
  299. codex/static_root/assets/VSelectionControl-B8hJUO0p.1dda62fe0677.js.gz +0 -0
  300. codex/static_root/assets/VSelectionControl-B8hJUO0p.js.br +0 -0
  301. codex/static_root/assets/VSelectionControl-B8hJUO0p.js.gz +0 -0
  302. codex/static_root/assets/VTable-D0uqeonL.a9897896b818.js.br +0 -0
  303. codex/static_root/assets/VTable-D0uqeonL.a9897896b818.js.gz +0 -0
  304. codex/static_root/assets/VTable-D0uqeonL.js.br +0 -0
  305. codex/static_root/assets/VTable-D0uqeonL.js.gz +0 -0
  306. codex/static_root/assets/VWindowItem-DnxUM-gG.242f232488e3.js.br +0 -0
  307. codex/static_root/assets/VWindowItem-DnxUM-gG.242f232488e3.js.gz +0 -0
  308. codex/static_root/assets/VWindowItem-DnxUM-gG.js.br +0 -0
  309. codex/static_root/assets/VWindowItem-DnxUM-gG.js.gz +0 -0
  310. codex/static_root/assets/admin-B9U01BEM.7c8747c54803.js.br +0 -0
  311. codex/static_root/assets/admin-B9U01BEM.7c8747c54803.js.gz +0 -0
  312. codex/static_root/assets/admin-B9U01BEM.js.br +0 -0
  313. codex/static_root/assets/admin-B9U01BEM.js.gz +0 -0
  314. codex/static_root/assets/admin-DmYMMUnm.58b7b9f4dadf.js.br +0 -0
  315. codex/static_root/assets/admin-DmYMMUnm.58b7b9f4dadf.js.gz +0 -0
  316. codex/static_root/assets/admin-DmYMMUnm.js.br +0 -0
  317. codex/static_root/assets/admin-DmYMMUnm.js.gz +0 -0
  318. codex/static_root/assets/admin-menu-CuNW4Urn.25020f907bb8.js.br +0 -0
  319. codex/static_root/assets/admin-menu-CuNW4Urn.25020f907bb8.js.gz +0 -0
  320. codex/static_root/assets/admin-menu-CuNW4Urn.js.br +0 -0
  321. codex/static_root/assets/admin-menu-CuNW4Urn.js.gz +0 -0
  322. codex/static_root/assets/admin-settings-button-progress-Bzr-gkG2.b17f5bcba7bb.js.br +0 -3
  323. codex/static_root/assets/admin-settings-button-progress-Bzr-gkG2.b17f5bcba7bb.js.gz +0 -0
  324. codex/static_root/assets/admin-settings-button-progress-Bzr-gkG2.js.br +0 -3
  325. codex/static_root/assets/admin-settings-button-progress-Bzr-gkG2.js.gz +0 -0
  326. codex/static_root/assets/browser-CIw7xQ-1.8d16d2b270d5.js.br +0 -0
  327. codex/static_root/assets/browser-CIw7xQ-1.8d16d2b270d5.js.gz +0 -0
  328. codex/static_root/assets/browser-CIw7xQ-1.js.br +0 -0
  329. codex/static_root/assets/browser-CIw7xQ-1.js.gz +0 -0
  330. codex/static_root/assets/browser-TRzEFz_k.css.br +0 -0
  331. codex/static_root/assets/browser-TRzEFz_k.css.gz +0 -0
  332. codex/static_root/assets/browser-TRzEFz_k.e8ae750c4a41.css.br +0 -0
  333. codex/static_root/assets/browser-TRzEFz_k.e8ae750c4a41.css.gz +0 -0
  334. codex/static_root/assets/change-password-dialog-CXaB7k3y.01788b2cb59e.js.br +0 -0
  335. codex/static_root/assets/change-password-dialog-CXaB7k3y.01788b2cb59e.js.gz +0 -0
  336. codex/static_root/assets/change-password-dialog-CXaB7k3y.js.br +0 -0
  337. codex/static_root/assets/change-password-dialog-CXaB7k3y.js.gz +0 -0
  338. codex/static_root/assets/confirm-dialog-gXeRF5bD.4ae6e7a9790a.js.br +0 -0
  339. codex/static_root/assets/confirm-dialog-gXeRF5bD.4ae6e7a9790a.js.gz +0 -0
  340. codex/static_root/assets/confirm-dialog-gXeRF5bD.js.br +0 -0
  341. codex/static_root/assets/confirm-dialog-gXeRF5bD.js.gz +0 -0
  342. codex/static_root/assets/datetime-column-C5ZBHxV-.35957e684ec2.js.br +0 -0
  343. codex/static_root/assets/datetime-column-C5ZBHxV-.35957e684ec2.js.gz +0 -0
  344. codex/static_root/assets/datetime-column-C5ZBHxV-.js.br +0 -0
  345. codex/static_root/assets/datetime-column-C5ZBHxV-.js.gz +0 -0
  346. codex/static_root/assets/filter-CQ83UjMF.7cd979df64da.js.br +0 -0
  347. codex/static_root/assets/filter-CQ83UjMF.7cd979df64da.js.gz +0 -0
  348. codex/static_root/assets/filter-CQ83UjMF.js.br +0 -0
  349. codex/static_root/assets/filter-CQ83UjMF.js.gz +0 -0
  350. codex/static_root/assets/flag-tab-CN3Y0PZS.f5f7122a015e.js.br +0 -0
  351. codex/static_root/assets/flag-tab-CN3Y0PZS.f5f7122a015e.js.gz +0 -0
  352. codex/static_root/assets/flag-tab-CN3Y0PZS.js.br +0 -0
  353. codex/static_root/assets/flag-tab-CN3Y0PZS.js.gz +0 -0
  354. codex/static_root/assets/forwardRefs-DBxFdh0r.03d9552a8e4c.js.br +0 -0
  355. codex/static_root/assets/forwardRefs-DBxFdh0r.03d9552a8e4c.js.gz +0 -0
  356. codex/static_root/assets/forwardRefs-DBxFdh0r.js.br +0 -0
  357. codex/static_root/assets/forwardRefs-DBxFdh0r.js.gz +0 -0
  358. codex/static_root/assets/group-tab-DMPL6FiK.82f53e5c353a.js.br +0 -0
  359. codex/static_root/assets/group-tab-DMPL6FiK.82f53e5c353a.js.gz +0 -0
  360. codex/static_root/assets/group-tab-DMPL6FiK.js.br +0 -0
  361. codex/static_root/assets/group-tab-DMPL6FiK.js.gz +0 -0
  362. codex/static_root/assets/http-error-DgJ8-SFZ.da2fe4d026ce.js.br +0 -0
  363. codex/static_root/assets/http-error-DgJ8-SFZ.da2fe4d026ce.js.gz +0 -0
  364. codex/static_root/assets/http-error-DgJ8-SFZ.js.br +0 -0
  365. codex/static_root/assets/http-error-DgJ8-SFZ.js.gz +0 -0
  366. codex/static_root/assets/index-CQ0ue0KC.b38e465abad4.js.br +0 -0
  367. codex/static_root/assets/index-CQ0ue0KC.b38e465abad4.js.gz +0 -0
  368. codex/static_root/assets/index-CQ0ue0KC.js.br +0 -0
  369. codex/static_root/assets/index-CQ0ue0KC.js.gz +0 -0
  370. codex/static_root/assets/library-tab-CfuZgnol.880ba8bd0149.js.br +0 -0
  371. codex/static_root/assets/library-tab-CfuZgnol.880ba8bd0149.js.gz +0 -0
  372. codex/static_root/assets/library-tab-CfuZgnol.js.br +0 -0
  373. codex/static_root/assets/library-tab-CfuZgnol.js.gz +0 -0
  374. codex/static_root/assets/main-G8n9PNCf.cad6fa53a574.js.br +0 -0
  375. codex/static_root/assets/main-G8n9PNCf.cad6fa53a574.js.gz +0 -0
  376. codex/static_root/assets/main-G8n9PNCf.js.br +0 -0
  377. codex/static_root/assets/main-G8n9PNCf.js.gz +0 -0
  378. codex/static_root/assets/pager-full-pdf-BKZayLN3.4b724ad0595f.js +0 -1
  379. codex/static_root/assets/pager-full-pdf-BKZayLN3.4b724ad0595f.js.br +0 -0
  380. codex/static_root/assets/pager-full-pdf-BKZayLN3.4b724ad0595f.js.gz +0 -0
  381. codex/static_root/assets/pager-full-pdf-BKZayLN3.js +0 -1
  382. codex/static_root/assets/pager-full-pdf-BKZayLN3.js.br +0 -0
  383. codex/static_root/assets/pager-full-pdf-BKZayLN3.js.gz +0 -0
  384. codex/static_root/assets/pagination-toolbar-0vkF7yjo.d32720f76776.js.br +0 -0
  385. codex/static_root/assets/pagination-toolbar-0vkF7yjo.d32720f76776.js.gz +0 -0
  386. codex/static_root/assets/pagination-toolbar-0vkF7yjo.js.br +0 -0
  387. codex/static_root/assets/pagination-toolbar-0vkF7yjo.js.gz +0 -0
  388. codex/static_root/assets/pdf-doc-CHmFdwy6.4142a4f31d20.js.br +0 -0
  389. codex/static_root/assets/pdf-doc-CHmFdwy6.4142a4f31d20.js.gz +0 -0
  390. codex/static_root/assets/pdf-doc-CHmFdwy6.js.br +0 -0
  391. codex/static_root/assets/pdf-doc-CHmFdwy6.js.gz +0 -0
  392. codex/static_root/assets/reader-YIWmNjj6.c96fc7891aec.js.br +0 -0
  393. codex/static_root/assets/reader-YIWmNjj6.c96fc7891aec.js.gz +0 -0
  394. codex/static_root/assets/reader-YIWmNjj6.js.br +0 -0
  395. codex/static_root/assets/reader-YIWmNjj6.js.gz +0 -0
  396. codex/static_root/assets/relation-chips-DzoiGrOj.95f663c6c18d.js.br +0 -0
  397. codex/static_root/assets/relation-chips-DzoiGrOj.95f663c6c18d.js.gz +0 -0
  398. codex/static_root/assets/relation-chips-DzoiGrOj.js.br +0 -0
  399. codex/static_root/assets/relation-chips-DzoiGrOj.js.gz +0 -0
  400. codex/static_root/assets/settings-drawer-CUC-r4sg.e019f5467d25.js.br +0 -0
  401. codex/static_root/assets/settings-drawer-CUC-r4sg.e019f5467d25.js.gz +0 -0
  402. codex/static_root/assets/settings-drawer-CUC-r4sg.js.br +0 -0
  403. codex/static_root/assets/settings-drawer-CUC-r4sg.js.gz +0 -0
  404. codex/static_root/assets/ssrBoot-D7foQ-7h.31c07ef6f646.js.br +0 -0
  405. codex/static_root/assets/ssrBoot-D7foQ-7h.31c07ef6f646.js.gz +0 -0
  406. codex/static_root/assets/ssrBoot-D7foQ-7h.js.br +0 -0
  407. codex/static_root/assets/ssrBoot-D7foQ-7h.js.gz +0 -0
  408. codex/static_root/assets/stats-tab-BSy-9tZm.2a7560872f5c.js.br +0 -0
  409. codex/static_root/assets/stats-tab-BSy-9tZm.2a7560872f5c.js.gz +0 -0
  410. codex/static_root/assets/stats-tab-BSy-9tZm.js.br +0 -0
  411. codex/static_root/assets/stats-tab-BSy-9tZm.js.gz +0 -0
  412. codex/static_root/assets/task-tab-Sp49fYRT.3a1aab3f3716.js.br +0 -0
  413. codex/static_root/assets/task-tab-Sp49fYRT.3a1aab3f3716.js.gz +0 -0
  414. codex/static_root/assets/task-tab-Sp49fYRT.js.br +0 -0
  415. codex/static_root/assets/task-tab-Sp49fYRT.js.gz +0 -0
  416. codex/static_root/assets/unauthorized-BM6KzvCy.4c114d9693c1.js.br +0 -0
  417. codex/static_root/assets/unauthorized-BM6KzvCy.4c114d9693c1.js.gz +0 -0
  418. codex/static_root/assets/unauthorized-BM6KzvCy.js.br +0 -0
  419. codex/static_root/assets/unauthorized-BM6KzvCy.js.gz +0 -0
  420. codex/static_root/assets/user-tab-yQ60jtVd.ad593cc6e6ea.js.br +0 -0
  421. codex/static_root/assets/user-tab-yQ60jtVd.ad593cc6e6ea.js.gz +0 -0
  422. codex/static_root/assets/user-tab-yQ60jtVd.js.br +0 -0
  423. codex/static_root/assets/user-tab-yQ60jtVd.js.gz +0 -0
  424. codex/static_root/manifest.a059c4dc5443.json.br +0 -0
  425. codex/static_root/manifest.a059c4dc5443.json.gz +0 -0
  426. {codex-1.8.9.dist-info → codex-1.8.10.dist-info}/WHEEL +0 -0
  427. {codex-1.8.9.dist-info → codex-1.8.10.dist-info}/entry_points.txt +0 -0
  428. {codex-1.8.9.dist-info → codex-1.8.10.dist-info}/licenses/LICENSE +0 -0
@@ -8,7 +8,7 @@ from django.utils import timezone
8
8
 
9
9
  from codex.librarian.scribe.janitor.status import JanitorCodexLatestVersionStatus
10
10
  from codex.librarian.scribe.janitor.tasks import JanitorCodexUpdateTask
11
- from codex.librarian.worker import WorkerStatusMixin
11
+ from codex.librarian.worker import WorkerStatusBase
12
12
  from codex.models import Timestamp
13
13
  from codex.version import PACKAGE_NAME
14
14
 
@@ -18,7 +18,7 @@ _CACHE_EXPIRY = timedelta(days=1) - timedelta(minutes=5)
18
18
  _REPO_TIMEOUT = 5
19
19
 
20
20
 
21
- class CodexLatestVersionUpdater(WorkerStatusMixin):
21
+ class CodexLatestVersionUpdater(WorkerStatusBase):
22
22
  """Methods for fetching the latest version."""
23
23
 
24
24
  @staticmethod
@@ -59,7 +59,3 @@ class CodexLatestVersionUpdater(WorkerStatusMixin):
59
59
  self.log.log(level, log_txt)
60
60
  finally:
61
61
  self.status_controller.finish(status)
62
-
63
- def __init__(self, *args, **kwargs):
64
- """Init Worker."""
65
- self.init_worker(*args, **kwargs)
@@ -10,9 +10,11 @@ from aioprocessing.queues import AioQueue
10
10
  from caseconverter import snakecase
11
11
  from typing_extensions import override
12
12
 
13
- from codex.librarian.bookmark.bookmarkd import BookmarkThread
13
+ from codex.librarian.bookmark.bookmarkd import BookmarkThread # typos: ignore
14
14
  from codex.librarian.bookmark.tasks import BookmarkTask
15
- from codex.librarian.covers.coverd import CoverThread
15
+ from codex.librarian.covers.coverd import ( # codespell:ignore coverd, typos: ignore
16
+ CoverThread,
17
+ )
16
18
  from codex.librarian.covers.tasks import CoverTask
17
19
  from codex.librarian.cron.crond import CronThread
18
20
  from codex.librarian.notifier.notifierd import NotifierThread
@@ -95,7 +97,7 @@ class LibrarianDaemon(Process):
95
97
  case WakeCronTask():
96
98
  self._threads.cron_thread.end_timeout()
97
99
  case CodexRestarterTask():
98
- restarter = CodexRestarter(self.log, self.queue)
100
+ restarter = CodexRestarter(self.log, self.queue, None)
99
101
  restarter.handle_task(task)
100
102
  case LibrarianShutdownTask():
101
103
  self.log.info(f"Shutting down {self.name}...")
@@ -13,10 +13,10 @@ from codex.librarian.restarter.tasks import (
13
13
  )
14
14
  from codex.librarian.status import Status
15
15
  from codex.librarian.tasks import LibrarianShutdownTask
16
- from codex.librarian.worker import WorkerStatusMixin
16
+ from codex.librarian.worker import WorkerStatusBase
17
17
 
18
18
 
19
- class CodexRestarter(WorkerStatusMixin):
19
+ class CodexRestarter(WorkerStatusBase):
20
20
  """Codex restarter."""
21
21
 
22
22
  def _shutdown_codex(self, status, name, sig):
@@ -49,7 +49,3 @@ class CodexRestarter(WorkerStatusMixin):
49
49
  self.shutdown_codex()
50
50
  case _:
51
51
  self.log.warning(f"Unknown Codex RestarterTask: f{task}")
52
-
53
- def __init__(self, *args, **kwargs):
54
- """Init worker."""
55
- self.init_worker(*args, **kwargs)
@@ -1,4 +1,4 @@
1
- """Initiale Importer."""
1
+ """Initialize Importer."""
2
2
 
3
3
  from dataclasses import asdict, dataclass
4
4
  from multiprocessing.queues import Queue
@@ -47,7 +47,7 @@ from codex.librarian.scribe.importer.statii.search import (
47
47
  from codex.librarian.scribe.importer.tasks import ImportTask
48
48
  from codex.librarian.scribe.search.status import SearchIndexCleanStatus
49
49
  from codex.librarian.scribe.status import UpdateGroupTimestampsStatus
50
- from codex.librarian.worker import WorkerStatusMixin
50
+ from codex.librarian.worker import WorkerStatusBase
51
51
  from codex.models import Library
52
52
  from codex.settings import LOGLEVEL
53
53
 
@@ -94,14 +94,14 @@ class Counts:
94
94
  )
95
95
 
96
96
 
97
- class InitImporter(WorkerStatusMixin):
97
+ class InitImporter(WorkerStatusBase):
98
98
  """Initial Importer."""
99
99
 
100
100
  def __init__(
101
101
  self, task: ImportTask, logger_, librarian_queue: Queue, db_write_lock, event
102
102
  ):
103
103
  """Initialize the import."""
104
- self.init_worker(logger_, librarian_queue, db_write_lock)
104
+ super().__init__(logger_, librarian_queue, db_write_lock)
105
105
  self.task: ImportTask = task
106
106
  self.metadata: dict[str, Any] = {}
107
107
  self.counts = Counts()
@@ -85,5 +85,6 @@ class LinkManyToManyImporter(LinkSumImporter):
85
85
  self.log.exception(f"Error recreating m2m field: {field_name}")
86
86
  finally:
87
87
  self.metadata.pop(LINK_M2MS, None)
88
+ self.metadata.pop(DELETE_M2MS, None)
88
89
  self.status_controller.finish(status)
89
90
  return created_total + del_total
@@ -8,7 +8,6 @@ from django.db.models.query import Q
8
8
  from codex.librarian.scribe.importer.const import (
9
9
  FIELD_NAME_KEYS_REL_MAP,
10
10
  FOLDERS_FIELD_NAME,
11
- FTS_CREATED_M2MS,
12
11
  IDENTIFIERS_FIELD_NAME,
13
12
  LINK_M2MS,
14
13
  NON_FTS_FIELDS,
@@ -132,6 +131,5 @@ class LinkComicsImporterPrepare(LinkCoversImporter):
132
131
  )
133
132
  for field, names in md.items():
134
133
  self._link_prepare_named_m2ms(all_m2m_links, comic_pk, field, names)
135
- self.metadata.pop(LINK_M2MS)
136
- self.metadata.pop(FTS_CREATED_M2MS)
134
+ self.metadata.pop(LINK_M2MS, None)
137
135
  return all_m2m_links
@@ -59,32 +59,33 @@ class SearchIndexSyncManyToManyImporter(FinishImporter):
59
59
 
60
60
  def sync_fts_for_m2m_updates(self, already_updated_comicfts_pks: tuple[int, ...]):
61
61
  """Update fts entries for foreign keys."""
62
- count = 0
63
- update_field_names = tuple(self.metadata.get(FTS_UPDATED_M2MS, {}).keys())
64
- if not update_field_names:
65
- self.metadata.pop(FTS_UPDATED_M2MS, None)
66
- return
67
-
68
- update_objs = []
69
- for field_name in update_field_names:
70
- if self.abort_event.is_set():
62
+ try:
63
+ count = 0
64
+ update_field_names = tuple(self.metadata.get(FTS_UPDATED_M2MS, {}).keys())
65
+ if not update_field_names:
71
66
  return
72
- self._sync_fts_for_m2m_updates_model(
73
- field_name,
74
- already_updated_comicfts_pks,
75
- update_field_names,
76
- update_objs,
67
+
68
+ update_objs = []
69
+ for field_name in update_field_names:
70
+ if self.abort_event.is_set():
71
+ return
72
+ self._sync_fts_for_m2m_updates_model(
73
+ field_name,
74
+ already_updated_comicfts_pks,
75
+ update_field_names,
76
+ update_objs,
77
+ )
78
+ count += len(update_objs)
79
+ tags = ", ".join(update_field_names)
80
+ self.log.debug(
81
+ f"Updating {count} search index entries for comics linked to updated tags: {tags}"
77
82
  )
78
- count += len(update_objs)
79
- tags = ", ".join(update_field_names)
80
- self.log.debug(
81
- f"Updating {count} search index entries for comics linked to updated tags: {tags}"
82
- )
83
- if count:
84
- ComicFTS.objects.bulk_update(update_objs, update_field_names)
85
- level = "INFO" if count else "DEBUG"
86
- self.log.log(
87
- level,
88
- f"Updated {count} search indexes entries for comics linked to updated tags: {tags}.",
89
- )
90
- self.metadata.pop(FTS_UPDATED_M2MS, None)
83
+ if count:
84
+ ComicFTS.objects.bulk_update(update_objs, update_field_names)
85
+ level = "INFO" if count else "DEBUG"
86
+ self.log.log(
87
+ level,
88
+ f"Updated {count} search indexes entries for comics linked to updated tags: {tags}.",
89
+ )
90
+ finally:
91
+ self.metadata.pop(FTS_UPDATED_M2MS, None)
@@ -6,6 +6,7 @@ from humanize import naturaldelta
6
6
 
7
7
  from codex.librarian.scribe.importer.const import (
8
8
  FTS_CREATE,
9
+ FTS_CREATED_M2MS,
9
10
  FTS_EXISTING_M2MS,
10
11
  FTS_UPDATE,
11
12
  )
@@ -209,7 +210,8 @@ class SearchIndexCreateUpdateImporter(SearchIndexSyncManyToManyImporter):
209
210
  if self.abort_event.is_set():
210
211
  self.log.info("Search Index update aborted early.")
211
212
  self.abort_event.clear()
212
- self.metadata.pop(FTS_EXISTING_M2MS)
213
+ self.metadata.pop(FTS_EXISTING_M2MS, None)
214
+ self.metadata.pop(FTS_CREATED_M2MS, None)
213
215
  self.status_controller.finish_many(
214
216
  (ImporterFTSCreateStatus, ImporterFTSUpdateStatus)
215
217
  )
@@ -8,11 +8,11 @@ from codex.librarian.scribe.importer.statii.moved import ImporterMoveFoldersStat
8
8
  from codex.librarian.scribe.importer.tasks import ImportTask
9
9
  from codex.librarian.scribe.janitor.status import JanitorAdoptOrphanFoldersStatus
10
10
  from codex.librarian.scribe.search.tasks import SearchIndexSyncTask
11
- from codex.librarian.worker import WorkerStatusMixin
11
+ from codex.librarian.worker import WorkerStatusAbortableBase
12
12
  from codex.models import Folder, Library
13
13
 
14
14
 
15
- class OrphanFolderAdopter(WorkerStatusMixin):
15
+ class OrphanFolderAdopter(WorkerStatusAbortableBase):
16
16
  """A worker to handle all bulk database updates."""
17
17
 
18
18
  def _adopt_orphan_folders_for_library(self, library):
@@ -74,8 +74,3 @@ class OrphanFolderAdopter(WorkerStatusMixin):
74
74
  self.log.debug("Adopt Orphan Folders aborted early.")
75
75
 
76
76
  self.abort_event.clear()
77
-
78
- def __init__(self, *args, event, **kwargs):
79
- """Initialize Worker."""
80
- self.abort_event = event
81
- self.init_worker(*args, **kwargs)
@@ -1,6 +1,6 @@
1
1
  """Database integrity checks and remedies."""
2
- # Uses app.get_model() because functions may also be called before the models are ready on startup.
3
2
 
3
+ # Uses app.get_model() because functions may also be called before the models are ready on startup.
4
4
  import re
5
5
  from typing import TYPE_CHECKING
6
6
 
@@ -16,7 +16,7 @@ from codex.librarian.scribe.janitor.status import (
16
16
  JanitorDBIntegrityStatus,
17
17
  )
18
18
  from codex.librarian.scribe.janitor.tasks import JanitorFTSRebuildTask
19
- from codex.librarian.worker import WorkerStatusMixin
19
+ from codex.librarian.worker import WorkerStatusAbortableBase
20
20
  from codex.models.base import BaseModel
21
21
  from codex.settings import (
22
22
  CONFIG_PATH,
@@ -323,14 +323,9 @@ def fts_integrity_check(log):
323
323
  return success
324
324
 
325
325
 
326
- class JanitorIntegrity(WorkerStatusMixin):
326
+ class JanitorIntegrity(WorkerStatusAbortableBase):
327
327
  """Integrity Check Mixin."""
328
328
 
329
- def __init__(self, *args, event, **kwargs):
330
- """Init self.log."""
331
- self.abort_event = event
332
- self.init_worker(*args, **kwargs)
333
-
334
329
  def foreign_key_check(self):
335
330
  """Foreign Key Check task."""
336
331
  status = JanitorDBFKIntegrityStatus()
@@ -2,12 +2,12 @@
2
2
 
3
3
  from codex.choices.admin import AdminFlagChoices
4
4
  from codex.librarian.scribe.importer.tasks import ImportTask
5
- from codex.librarian.worker import WorkerMixin
5
+ from codex.librarian.worker import WorkerBase
6
6
  from codex.models.admin import AdminFlag
7
7
  from codex.models.comic import Comic
8
8
 
9
9
 
10
- class LazyImporter(WorkerMixin):
10
+ class LazyImporter(WorkerBase):
11
11
  """Kick off an import task for just these books."""
12
12
 
13
13
  def lazy_import(self, task):
@@ -45,7 +45,3 @@ class LazyImporter(WorkerMixin):
45
45
  force_import_metadata=True,
46
46
  )
47
47
  self.librarian_queue.put(task)
48
-
49
- def __init__(self, *args, **kwargs):
50
- """Initialize Worker."""
51
- self.init_worker(*args, **kwargs)
@@ -3,20 +3,17 @@
3
3
  from django.db import connection
4
4
 
5
5
  from codex.librarian.scribe.search.status import SearchIndexOptimizeStatus
6
- from codex.librarian.worker import WorkerStatusMixin
6
+ from codex.librarian.worker import (
7
+ WorkerStatusAbortableBase,
8
+ )
7
9
 
8
10
  _TABLE = "codex_comicfts"
9
11
  _OPTIMIZE_SQL = f"INSERT INTO {_TABLE}({_TABLE}) VALUES('optimize')"
10
12
 
11
13
 
12
- class SearchIndexerOptimize(WorkerStatusMixin):
14
+ class SearchIndexerOptimize(WorkerStatusAbortableBase):
13
15
  """Search Index optimize methods."""
14
16
 
15
- def __init__(self, *args, event, **kwargs):
16
- """Initialize search engine."""
17
- self.abort_event = event
18
- self.init_worker(*args, **kwargs)
19
-
20
17
  def optimize(self):
21
18
  """Remove records not in the database from the index, trapping exceptions."""
22
19
  status = SearchIndexOptimizeStatus()
@@ -11,7 +11,7 @@ from django.utils import timezone
11
11
 
12
12
  from codex.librarian.notifier.tasks import LIBRARY_CHANGED_TASK
13
13
  from codex.librarian.scribe.status import UpdateGroupTimestampsStatus
14
- from codex.librarian.worker import WorkerStatusMixin
14
+ from codex.librarian.worker import WorkerStatusBase
15
15
  from codex.models import StoryArc, Volume
16
16
  from codex.models.groups import BrowserGroupModel
17
17
  from codex.models.library import Library
@@ -20,7 +20,7 @@ from codex.views.const import GROUP_MODELS
20
20
  _UPDATE_FIELDS = ("updated_at",)
21
21
 
22
22
 
23
- class TimestampUpdater(WorkerStatusMixin):
23
+ class TimestampUpdater(WorkerStatusBase):
24
24
  """Update Groups timestamp for cover cache busting."""
25
25
 
26
26
  @staticmethod
@@ -129,7 +129,3 @@ class TimestampUpdater(WorkerStatusMixin):
129
129
  level = "INFO" if count else "DEBUG"
130
130
  self.log.log(level, f"Updated timestamps for {count} groups.")
131
131
  self.librarian_queue.put(LIBRARY_CHANGED_TASK)
132
-
133
- def __init__(self, log, librarian_queue, db_write_lock):
134
- """Initialize Worker."""
135
- self.init_worker(log, librarian_queue, db_write_lock)
codex/librarian/worker.py CHANGED
@@ -30,3 +30,30 @@ class WorkerStatusMixin(WorkerMixin):
30
30
  self.status_controller = StatusController( # pyright: ignore[reportUninitializedInstanceVariable]
31
31
  logger_, librarian_queue
32
32
  )
33
+
34
+
35
+ class WorkerBase(WorkerMixin):
36
+ """Base for Worker."""
37
+
38
+ def __init__(self, logger_, librarian_queue: Queue, db_write_lock):
39
+ """Initialize Worker."""
40
+ super().__init__()
41
+ self.init_worker(logger_, librarian_queue, db_write_lock)
42
+
43
+
44
+ class WorkerStatusBase(WorkerStatusMixin):
45
+ """Base for Status Worker."""
46
+
47
+ def __init__(self, logger_, librarian_queue: Queue, db_write_lock):
48
+ """Initialize Worker."""
49
+ super().__init__()
50
+ self.init_worker(logger_, librarian_queue, db_write_lock)
51
+
52
+
53
+ class WorkerStatusAbortableBase(WorkerStatusBase):
54
+ """Base for Abortable Status Worker."""
55
+
56
+ def __init__(self, logger_, librarian_queue: Queue, db_write_lock, event):
57
+ """Initialize Abortable Worker."""
58
+ super().__init__(logger_, librarian_queue, db_write_lock)
59
+ self.abort_event = event
@@ -1 +1 @@
1
- import{m as I,V as r}from"./VCheckboxBtn-D_jRtvPm.js";import{u as A,m as F,g as u}from"./VSelectionControl-B8hJUO0p.js";import{f as R}from"./forwardRefs-DBxFdh0r.js";import{g as B,p as U,e as w,r as D,u as M,o as N,bu as $,bv as j,a as l,m as d}from"./main-G8n9PNCf.js";const q=U({...F(),...N(I(),["inline"])},"VCheckbox"),J=B()({name:"VCheckbox",inheritAttrs:!1,props:q(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,c){let{attrs:n,slots:a}=c;const s=w(e,"modelValue"),{isFocused:i,focus:m,blur:f}=A(e),t=D(),V=$();return M(()=>{const[p,b]=j(n),v=u.filterProps(e),k=r.filterProps(e);return l(u,d({ref:t,class:["v-checkbox",e.class]},p,v,{modelValue:s.value,"onUpdate:modelValue":o=>s.value=o,id:e.id||`checkbox-${V}`,focused:i.value,style:e.style}),{...a,default:o=>{let{id:x,messagesId:h,isDisabled:P,isReadonly:C,isValid:y}=o;return l(r,d(k,{id:x.value,"aria-describedby":h.value,disabled:P.value,readonly:C.value},b,{error:y.value===!1,modelValue:s.value,"onUpdate:modelValue":g=>s.value=g,onFocus:m,onBlur:f}),a)}})}),R({},t)}});export{J as V};
1
+ import{m as I,V as r}from"./VCheckboxBtn-dotsoE0r.js";import{u as A,m as F,g as u}from"./VSelectionControl-N_wsNRlD.js";import{f as R}from"./forwardRefs-BGAZ1bvO.js";import{g as B,p as U,e as w,r as D,u as M,o as N,bu as $,bv as j,a as l,m as d}from"./main-CTlarBH9.js";const q=U({...F(),...N(I(),["inline"])},"VCheckbox"),J=B()({name:"VCheckbox",inheritAttrs:!1,props:q(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,c){let{attrs:n,slots:a}=c;const s=w(e,"modelValue"),{isFocused:i,focus:m,blur:f}=A(e),t=D(),V=$();return M(()=>{const[p,b]=j(n),v=u.filterProps(e),k=r.filterProps(e);return l(u,d({ref:t,class:["v-checkbox",e.class]},p,v,{modelValue:s.value,"onUpdate:modelValue":o=>s.value=o,id:e.id||`checkbox-${V}`,focused:i.value,style:e.style}),{...a,default:o=>{let{id:x,messagesId:h,isDisabled:P,isReadonly:C,isValid:y}=o;return l(r,d(k,{id:x.value,"aria-describedby":h.value,disabled:P.value,readonly:C.value},b,{error:y.value===!1,modelValue:s.value,"onUpdate:modelValue":g=>s.value=g,onFocus:m,onBlur:f}),a)}})}),R({},t)}});export{J as V};
@@ -1 +1 @@
1
- import{m as I,V as r}from"./VCheckboxBtn-D_jRtvPm.js";import{u as A,m as F,g as u}from"./VSelectionControl-B8hJUO0p.js";import{f as R}from"./forwardRefs-DBxFdh0r.js";import{g as B,p as U,e as w,r as D,u as M,o as N,bu as $,bv as j,a as l,m as d}from"./main-G8n9PNCf.js";const q=U({...F(),...N(I(),["inline"])},"VCheckbox"),J=B()({name:"VCheckbox",inheritAttrs:!1,props:q(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,c){let{attrs:n,slots:a}=c;const s=w(e,"modelValue"),{isFocused:i,focus:m,blur:f}=A(e),t=D(),V=$();return M(()=>{const[p,b]=j(n),v=u.filterProps(e),k=r.filterProps(e);return l(u,d({ref:t,class:["v-checkbox",e.class]},p,v,{modelValue:s.value,"onUpdate:modelValue":o=>s.value=o,id:e.id||`checkbox-${V}`,focused:i.value,style:e.style}),{...a,default:o=>{let{id:x,messagesId:h,isDisabled:P,isReadonly:C,isValid:y}=o;return l(r,d(k,{id:x.value,"aria-describedby":h.value,disabled:P.value,readonly:C.value},b,{error:y.value===!1,modelValue:s.value,"onUpdate:modelValue":g=>s.value=g,onFocus:m,onBlur:f}),a)}})}),R({},t)}});export{J as V};
1
+ import{m as I,V as r}from"./VCheckboxBtn-dotsoE0r.js";import{u as A,m as F,g as u}from"./VSelectionControl-N_wsNRlD.js";import{f as R}from"./forwardRefs-BGAZ1bvO.js";import{g as B,p as U,e as w,r as D,u as M,o as N,bu as $,bv as j,a as l,m as d}from"./main-CTlarBH9.js";const q=U({...F(),...N(I(),["inline"])},"VCheckbox"),J=B()({name:"VCheckbox",inheritAttrs:!1,props:q(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,c){let{attrs:n,slots:a}=c;const s=w(e,"modelValue"),{isFocused:i,focus:m,blur:f}=A(e),t=D(),V=$();return M(()=>{const[p,b]=j(n),v=u.filterProps(e),k=r.filterProps(e);return l(u,d({ref:t,class:["v-checkbox",e.class]},p,v,{modelValue:s.value,"onUpdate:modelValue":o=>s.value=o,id:e.id||`checkbox-${V}`,focused:i.value,style:e.style}),{...a,default:o=>{let{id:x,messagesId:h,isDisabled:P,isReadonly:C,isValid:y}=o;return l(r,d(k,{id:x.value,"aria-describedby":h.value,disabled:P.value,readonly:C.value},b,{error:y.value===!1,modelValue:s.value,"onUpdate:modelValue":g=>s.value=g,onFocus:m,onBlur:f}),a)}})}),R({},t)}});export{J as V};
@@ -1 +1 @@
1
- import{l as f,k as a}from"./VSelectionControl-B8hJUO0p.js";import{p as V,L as k,g as v,e as c,t as l,u as I,o as x,a as h,m as b}from"./main-G8n9PNCf.js";const C=V({indeterminate:Boolean,indeterminateIcon:{type:k,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),B=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(o){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),m=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return I(()=>{const o=x(a.filterProps(e),["modelValue"]);return h(a,b(o,{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{B as V,C as m};
1
+ import{l as f,k as a}from"./VSelectionControl-N_wsNRlD.js";import{p as V,L as k,g as v,e as c,t as l,u as I,o as x,a as h,m as b}from"./main-CTlarBH9.js";const C=V({indeterminate:Boolean,indeterminateIcon:{type:k,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),B=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(o){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),m=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return I(()=>{const o=x(a.filterProps(e),["modelValue"]);return h(a,b(o,{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{B as V,C as m};
@@ -1 +1 @@
1
- import{l as f,k as a}from"./VSelectionControl-B8hJUO0p.js";import{p as V,L as k,g as v,e as c,t as l,u as I,o as x,a as h,m as b}from"./main-G8n9PNCf.js";const C=V({indeterminate:Boolean,indeterminateIcon:{type:k,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),B=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(o){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),m=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return I(()=>{const o=x(a.filterProps(e),["modelValue"]);return h(a,b(o,{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{B as V,C as m};
1
+ import{l as f,k as a}from"./VSelectionControl-N_wsNRlD.js";import{p as V,L as k,g as v,e as c,t as l,u as I,o as x,a as h,m as b}from"./main-CTlarBH9.js";const C=V({indeterminate:Boolean,indeterminateIcon:{type:k,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),B=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(o){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),m=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return I(()=>{const o=x(a.filterProps(e),["modelValue"]);return h(a,b(o,{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{B as V,C as m};
@@ -1 +1 @@
1
- import{u as ye,t as I,e as Ve,m as pe,a as ke,V as Ce,b as we,f as Se,d as Ie}from"./VSelect-DLKX5Mr6.js";import{p as Fe,c as j,q as De}from"./VSelectionControl-B8hJUO0p.js";import{u as Pe,f as Re,p as Ae,k as G,l as Te}from"./forwardRefs-DBxFdh0r.js";import{u as Ee,m as Me,h as _e}from"./filter-CQ83UjMF.js";import{g as Ne,p as Ke,aC as Le,r as _,aU as F,e as J,bE as Be,c as x,aX as N,bF as Oe,t as Ue,aV as D,bG as W,u as ze,a as d,m as k,o as $e,bH as qe,bI as X,bt as He,b as C,bJ as je,F as $,bK as Ge,n as Je,d as We,z as Xe}from"./main-G8n9PNCf.js";import{a as Q,g as Qe}from"./VDialog-DwpHVF2o.js";import{a as Ye}from"./VDivider-CGh9hHPI.js";import{V as Ze}from"./VCheckboxBtn-D_jRtvPm.js";const el=Ke({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Me({filterKeys:["title"]}),...pe({hideNoData:!0,returnObject:!0}),...$e(De({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...Ae({transition:!1})},"VCombobox"),rl=Ne()({name:"VCombobox",props:el(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:search":e=>!0,"update:menu":e=>!0},setup(e,Y){let{emit:Z,slots:r}=Y;const{t:K}=Le(),m=_(),b=F(!1),y=F(!0),L=F(!1),q=_(),P=_(),n=F(-1);let B=!1;const{items:ee,transformIn:le,transformOut:ae}=ye(e),{textColorClasses:te,textColorStyles:ue}=Pe(()=>m.value?.color),u=J(e,"modelValue",[],l=>le(Be(l)),l=>{const o=ae(l);return e.multiple?o:o[0]??null}),R=Fe(e),A=x(()=>!!(e.chips||r.chip)),g=x(()=>A.value||!!r.selection),V=F(!e.multiple&&!g.value?u.value[0]?.title??"":""),c=x({get:()=>V.value,set:async l=>{if(V.value=l??"",!e.multiple&&!g.value&&(u.value=[I(e,l)],N(()=>P.value?.scrollToIndex(0))),l&&e.multiple&&e.delimiters?.length){const o=e.delimiters.map(Oe).join("|"),i=l.split(new RegExp(`(?:${o})+`));if(i.length>1){for(let a of i)a=a.trim(),a&&(h(I(e,a)),await N());V.value=""}}l||(n.value=-1),y.value=!l}}),ne=x(()=>typeof e.counterValue=="function"?e.counterValue(u.value):typeof e.counterValue=="number"?e.counterValue:e.multiple?u.value.length:c.value.length),{filteredItems:T,getMatches:oe}=Ee(e,ee,()=>y.value?"":c.value),p=x(()=>e.hideSelected?T.value.filter(l=>!u.value.some(o=>o.value===l.value)):T.value),E=x(()=>e.hideNoData&&!p.value.length||R.isReadonly.value||R.isDisabled.value),O=J(e,"menu"),s=x({get:()=>O.value,set:l=>{O.value&&!l&&q.value?.ΨopenChildren.size||l&&E.value||(O.value=l)}}),H=Ue(()=>s.value?e.closeText:e.openText);D(V,l=>{B?N(()=>B=!1):b.value&&!s.value&&(s.value=!0),Z("update:search",l)}),D(u,l=>{!e.multiple&&!g.value&&(V.value=l[0]?.title??"")});const ie=x(()=>u.value.map(l=>l.value)),U=x(()=>(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&c.value===p.value[0]?.title)&&p.value.length>0&&!y.value&&!L.value),z=_(),se=Ve(z,m);function re(l){B=!0,e.openOnClear&&(s.value=!0)}function ce(){E.value||(s.value=!0)}function ve(l){E.value||(b.value&&(l.preventDefault(),l.stopPropagation()),s.value=!s.value)}function de(l){(X(l)||l.key==="Backspace")&&m.value?.focus()}function fe(l){if(qe(l)||R.isReadonly.value)return;const o=m.value?.selectionStart,i=u.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(l.key)&&l.preventDefault(),["Enter","ArrowDown"].includes(l.key)&&(s.value=!0),["Escape"].includes(l.key)&&(s.value=!1),["Enter","Escape","Tab"].includes(l.key)&&(U.value&&["Enter","Tab"].includes(l.key)&&!u.value.some(a=>{let{value:t}=a;return t===p.value[0].value})&&h(T.value[0]),y.value=!0),l.key==="ArrowDown"&&U.value&&z.value?.focus("next"),l.key==="Enter"&&c.value&&(h(I(e,c.value)),g.value&&(V.value="")),["Backspace","Delete"].includes(l.key)){if(!e.multiple&&g.value&&u.value.length>0&&!c.value)return h(u.value[0],!1);if(~n.value){l.preventDefault();const a=n.value;h(u.value[n.value],!1),n.value=a>=i-1?i-2:a}else l.key==="Backspace"&&!c.value&&(n.value=i-1);return}if(e.multiple)if(l.key==="ArrowLeft"){if(n.value<0&&o&&o>0)return;const a=n.value>-1?n.value-1:i-1;u.value[a]?n.value=a:(n.value=-1,m.value?.setSelectionRange(c.value.length,c.value.length))}else if(l.key==="ArrowRight"){if(n.value<0)return;const a=n.value+1;u.value[a]?n.value=a:(n.value=-1,m.value?.setSelectionRange(0,0))}else~n.value&&X(l)&&(n.value=-1)}function me(){e.eager&&P.value?.calculateVisibleItems()}function he(){b.value&&(y.value=!0,m.value?.focus())}function h(l){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!l||l.props.disabled))if(e.multiple){const i=u.value.findIndex(t=>(e.valueComparator||W)(t.value,l.value)),a=o??!~i;if(~i){const t=a?[...u.value,l]:[...u.value];t.splice(i,1),u.value=t}else a&&(u.value=[...u.value,l]);e.clearOnSelect&&(c.value="")}else{const i=o!==!1;u.value=i?[l]:[],V.value=i&&!g.value?l.title:"",N(()=>{s.value=!1,y.value=!0})}}function be(l){b.value=!0,setTimeout(()=>{L.value=!0})}function ge(l){L.value=!1}function xe(l){(l==null||l===""&&!e.multiple&&!g.value)&&(u.value=[])}return D(b,(l,o)=>{if(!(l||l===o)&&(n.value=-1,s.value=!1,c.value)){if(e.multiple){h(I(e,c.value));return}if(!g.value)return;u.value.some(i=>{let{title:a}=i;return a===c.value})?V.value="":h(I(e,c.value))}}),D(s,()=>{if(!e.hideSelected&&s.value&&u.value.length){const l=p.value.findIndex(o=>u.value.some(i=>(e.valueComparator||W)(i.value,o.value)));He&&window.requestAnimationFrame(()=>{l>=0&&P.value?.scrollToIndex(l)})}}),D(()=>e.items,(l,o)=>{s.value||b.value&&!o.length&&l.length&&(s.value=!0)}),ze(()=>{const l=!!(!e.hideNoData||p.value.length||r["prepend-item"]||r["append-item"]||r["no-data"]),o=u.value.length>0,i=j.filterProps(e);return d(j,k({ref:m},i,{modelValue:c.value,"onUpdate:modelValue":[a=>c.value=a,xe],focused:b.value,"onUpdate:focused":a=>b.value=a,validationValue:u.externalValue,counterValue:ne.value,dirty:o,class:["v-combobox",{"v-combobox--active-menu":s.value,"v-combobox--chips":!!e.chips,"v-combobox--selection-slot":!!g.value,"v-combobox--selecting-index":n.value>-1,[`v-combobox--${e.multiple?"multiple":"single"}`]:!0},e.class],style:e.style,readonly:R.isReadonly.value,placeholder:o?void 0:e.placeholder,"onClick:clear":re,"onMousedown:control":ce,onKeydown:fe}),{...r,default:()=>C($,null,[d(ke,k({ref:q,modelValue:s.value,"onUpdate:modelValue":a=>s.value=a,activator:"parent",contentClass:"v-combobox__content",disabled:E.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterEnter:me,onAfterLeave:he},e.menuProps),{default:()=>[l&&d(Ce,k({ref:z,filterable:!0,selected:ie.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:a=>a.preventDefault(),onKeydown:de,onFocusin:be,onFocusout:ge,tabindex:"-1","aria-live":"polite",color:e.itemColor??e.color},se,e.listProps),{default:()=>[r["prepend-item"]?.(),!p.value.length&&!e.hideNoData&&(r["no-data"]?.()??d(Q,{key:"no-data",title:K(e.noDataText)},null)),d(we,{ref:P,renderless:!0,items:p.value,itemKey:"value"},{default:a=>{let{item:t,index:v,itemRef:M}=a;const w=k(t.props,{ref:M,key:t.value,active:U.value&&v===0?!0:void 0,onClick:()=>h(t,null)});return t.type==="divider"?r.divider?.({props:t.raw,index:v})??d(Ye,k(t.props,{key:`divider-${v}`}),null):t.type==="subheader"?r.subheader?.({props:t.raw,index:v})??d(Se,k(t.props,{key:`subheader-${v}`}),null):r.item?.({item:t,index:v,props:w})??d(Q,k(w,{role:"option"}),{prepend:S=>{let{isSelected:f}=S;return C($,null,[e.multiple&&!e.hideSelected?d(Ze,{key:t.value,modelValue:f,ripple:!1,tabindex:"-1"},null):void 0,t.props.prependAvatar&&d(Qe,{image:t.props.prependAvatar},null),t.props.prependIcon&&d(G,{icon:t.props.prependIcon},null)])},title:()=>y.value?t.title:_e("v-combobox",t.title,oe(t)?.title)})}}),r["append-item"]?.()]})]}),u.value.map((a,t)=>{function v(f){f.stopPropagation(),f.preventDefault(),h(a,!1)}const M={"onClick:close":v,onKeydown(f){f.key!=="Enter"&&f.key!==" "||(f.preventDefault(),f.stopPropagation(),v(f))},onMousedown(f){f.preventDefault(),f.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},w=A.value?!!r.chip:!!r.selection,S=w?Ge(A.value?r.chip({item:a,index:t,props:M}):r.selection({item:a,index:t})):void 0;if(!(w&&!S))return C("div",{key:a.value,class:We(["v-combobox__selection",t===n.value&&["v-combobox__selection--selected",te.value]]),style:Je(t===n.value?ue.value:{})},[A.value?r.chip?d(Te,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:a.title}}},{default:()=>[S]}):d(Ie,k({key:"chip",closable:e.closableChips,size:"small",text:a.title,disabled:a.props.disabled},M),null):S??C("span",{class:"v-combobox__selection-text"},[a.title,e.multiple&&t<u.value.length-1&&C("span",{class:"v-combobox__selection-comma"},[Xe(",")])])])})]),"append-inner":function(){for(var a=arguments.length,t=new Array(a),v=0;v<a;v++)t[v]=arguments[v];return C($,null,[r["append-inner"]?.(...t),(!e.hideNoData||e.items.length)&&e.menuIcon?d(G,{class:"v-combobox__menu-icon",color:m.value?.fieldIconColor,icon:e.menuIcon,onMousedown:ve,onClick:je,"aria-label":K(H.value),title:K(H.value),tabindex:"-1"},null):void 0])}})}),Re({isFocused:b,isPristine:y,menu:s,search:c,selectionIndex:n,filteredItems:T,select:h},m)}});export{rl as V};
1
+ import{u as ye,t as I,e as Ve,m as pe,a as ke,V as Ce,b as we,f as Se,d as Ie}from"./VSelect-CJ_8hyFq.js";import{p as Fe,c as j,q as De}from"./VSelectionControl-N_wsNRlD.js";import{u as Pe,f as Re,p as Ae,k as G,l as Te}from"./forwardRefs-BGAZ1bvO.js";import{u as Ee,m as Me,h as _e}from"./filter-DU947LwF.js";import{g as Ne,p as Ke,aC as Le,r as _,aU as F,e as J,bE as Be,c as x,aX as N,bF as Oe,t as Ue,aV as D,bG as W,u as ze,a as d,m as k,o as $e,bH as qe,bI as X,bt as He,b as C,bJ as je,F as $,bK as Ge,n as Je,d as We,z as Xe}from"./main-CTlarBH9.js";import{a as Q,g as Qe}from"./VDialog-Bn_MNvQ-.js";import{a as Ye}from"./VDivider-DOOd4a9s.js";import{V as Ze}from"./VCheckboxBtn-dotsoE0r.js";const el=Ke({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Me({filterKeys:["title"]}),...pe({hideNoData:!0,returnObject:!0}),...$e(De({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...Ae({transition:!1})},"VCombobox"),rl=Ne()({name:"VCombobox",props:el(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:search":e=>!0,"update:menu":e=>!0},setup(e,Y){let{emit:Z,slots:r}=Y;const{t:K}=Le(),m=_(),b=F(!1),y=F(!0),L=F(!1),q=_(),P=_(),n=F(-1);let B=!1;const{items:ee,transformIn:le,transformOut:ae}=ye(e),{textColorClasses:te,textColorStyles:ue}=Pe(()=>m.value?.color),u=J(e,"modelValue",[],l=>le(Be(l)),l=>{const o=ae(l);return e.multiple?o:o[0]??null}),R=Fe(e),A=x(()=>!!(e.chips||r.chip)),g=x(()=>A.value||!!r.selection),V=F(!e.multiple&&!g.value?u.value[0]?.title??"":""),c=x({get:()=>V.value,set:async l=>{if(V.value=l??"",!e.multiple&&!g.value&&(u.value=[I(e,l)],N(()=>P.value?.scrollToIndex(0))),l&&e.multiple&&e.delimiters?.length){const o=e.delimiters.map(Oe).join("|"),i=l.split(new RegExp(`(?:${o})+`));if(i.length>1){for(let a of i)a=a.trim(),a&&(h(I(e,a)),await N());V.value=""}}l||(n.value=-1),y.value=!l}}),ne=x(()=>typeof e.counterValue=="function"?e.counterValue(u.value):typeof e.counterValue=="number"?e.counterValue:e.multiple?u.value.length:c.value.length),{filteredItems:T,getMatches:oe}=Ee(e,ee,()=>y.value?"":c.value),p=x(()=>e.hideSelected?T.value.filter(l=>!u.value.some(o=>o.value===l.value)):T.value),E=x(()=>e.hideNoData&&!p.value.length||R.isReadonly.value||R.isDisabled.value),O=J(e,"menu"),s=x({get:()=>O.value,set:l=>{O.value&&!l&&q.value?.ΨopenChildren.size||l&&E.value||(O.value=l)}}),H=Ue(()=>s.value?e.closeText:e.openText);D(V,l=>{B?N(()=>B=!1):b.value&&!s.value&&(s.value=!0),Z("update:search",l)}),D(u,l=>{!e.multiple&&!g.value&&(V.value=l[0]?.title??"")});const ie=x(()=>u.value.map(l=>l.value)),U=x(()=>(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&c.value===p.value[0]?.title)&&p.value.length>0&&!y.value&&!L.value),z=_(),se=Ve(z,m);function re(l){B=!0,e.openOnClear&&(s.value=!0)}function ce(){E.value||(s.value=!0)}function ve(l){E.value||(b.value&&(l.preventDefault(),l.stopPropagation()),s.value=!s.value)}function de(l){(X(l)||l.key==="Backspace")&&m.value?.focus()}function fe(l){if(qe(l)||R.isReadonly.value)return;const o=m.value?.selectionStart,i=u.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(l.key)&&l.preventDefault(),["Enter","ArrowDown"].includes(l.key)&&(s.value=!0),["Escape"].includes(l.key)&&(s.value=!1),["Enter","Escape","Tab"].includes(l.key)&&(U.value&&["Enter","Tab"].includes(l.key)&&!u.value.some(a=>{let{value:t}=a;return t===p.value[0].value})&&h(T.value[0]),y.value=!0),l.key==="ArrowDown"&&U.value&&z.value?.focus("next"),l.key==="Enter"&&c.value&&(h(I(e,c.value)),g.value&&(V.value="")),["Backspace","Delete"].includes(l.key)){if(!e.multiple&&g.value&&u.value.length>0&&!c.value)return h(u.value[0],!1);if(~n.value){l.preventDefault();const a=n.value;h(u.value[n.value],!1),n.value=a>=i-1?i-2:a}else l.key==="Backspace"&&!c.value&&(n.value=i-1);return}if(e.multiple)if(l.key==="ArrowLeft"){if(n.value<0&&o&&o>0)return;const a=n.value>-1?n.value-1:i-1;u.value[a]?n.value=a:(n.value=-1,m.value?.setSelectionRange(c.value.length,c.value.length))}else if(l.key==="ArrowRight"){if(n.value<0)return;const a=n.value+1;u.value[a]?n.value=a:(n.value=-1,m.value?.setSelectionRange(0,0))}else~n.value&&X(l)&&(n.value=-1)}function me(){e.eager&&P.value?.calculateVisibleItems()}function he(){b.value&&(y.value=!0,m.value?.focus())}function h(l){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!l||l.props.disabled))if(e.multiple){const i=u.value.findIndex(t=>(e.valueComparator||W)(t.value,l.value)),a=o??!~i;if(~i){const t=a?[...u.value,l]:[...u.value];t.splice(i,1),u.value=t}else a&&(u.value=[...u.value,l]);e.clearOnSelect&&(c.value="")}else{const i=o!==!1;u.value=i?[l]:[],V.value=i&&!g.value?l.title:"",N(()=>{s.value=!1,y.value=!0})}}function be(l){b.value=!0,setTimeout(()=>{L.value=!0})}function ge(l){L.value=!1}function xe(l){(l==null||l===""&&!e.multiple&&!g.value)&&(u.value=[])}return D(b,(l,o)=>{if(!(l||l===o)&&(n.value=-1,s.value=!1,c.value)){if(e.multiple){h(I(e,c.value));return}if(!g.value)return;u.value.some(i=>{let{title:a}=i;return a===c.value})?V.value="":h(I(e,c.value))}}),D(s,()=>{if(!e.hideSelected&&s.value&&u.value.length){const l=p.value.findIndex(o=>u.value.some(i=>(e.valueComparator||W)(i.value,o.value)));He&&window.requestAnimationFrame(()=>{l>=0&&P.value?.scrollToIndex(l)})}}),D(()=>e.items,(l,o)=>{s.value||b.value&&!o.length&&l.length&&(s.value=!0)}),ze(()=>{const l=!!(!e.hideNoData||p.value.length||r["prepend-item"]||r["append-item"]||r["no-data"]),o=u.value.length>0,i=j.filterProps(e);return d(j,k({ref:m},i,{modelValue:c.value,"onUpdate:modelValue":[a=>c.value=a,xe],focused:b.value,"onUpdate:focused":a=>b.value=a,validationValue:u.externalValue,counterValue:ne.value,dirty:o,class:["v-combobox",{"v-combobox--active-menu":s.value,"v-combobox--chips":!!e.chips,"v-combobox--selection-slot":!!g.value,"v-combobox--selecting-index":n.value>-1,[`v-combobox--${e.multiple?"multiple":"single"}`]:!0},e.class],style:e.style,readonly:R.isReadonly.value,placeholder:o?void 0:e.placeholder,"onClick:clear":re,"onMousedown:control":ce,onKeydown:fe}),{...r,default:()=>C($,null,[d(ke,k({ref:q,modelValue:s.value,"onUpdate:modelValue":a=>s.value=a,activator:"parent",contentClass:"v-combobox__content",disabled:E.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterEnter:me,onAfterLeave:he},e.menuProps),{default:()=>[l&&d(Ce,k({ref:z,filterable:!0,selected:ie.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:a=>a.preventDefault(),onKeydown:de,onFocusin:be,onFocusout:ge,tabindex:"-1","aria-live":"polite",color:e.itemColor??e.color},se,e.listProps),{default:()=>[r["prepend-item"]?.(),!p.value.length&&!e.hideNoData&&(r["no-data"]?.()??d(Q,{key:"no-data",title:K(e.noDataText)},null)),d(we,{ref:P,renderless:!0,items:p.value,itemKey:"value"},{default:a=>{let{item:t,index:v,itemRef:M}=a;const w=k(t.props,{ref:M,key:t.value,active:U.value&&v===0?!0:void 0,onClick:()=>h(t,null)});return t.type==="divider"?r.divider?.({props:t.raw,index:v})??d(Ye,k(t.props,{key:`divider-${v}`}),null):t.type==="subheader"?r.subheader?.({props:t.raw,index:v})??d(Se,k(t.props,{key:`subheader-${v}`}),null):r.item?.({item:t,index:v,props:w})??d(Q,k(w,{role:"option"}),{prepend:S=>{let{isSelected:f}=S;return C($,null,[e.multiple&&!e.hideSelected?d(Ze,{key:t.value,modelValue:f,ripple:!1,tabindex:"-1"},null):void 0,t.props.prependAvatar&&d(Qe,{image:t.props.prependAvatar},null),t.props.prependIcon&&d(G,{icon:t.props.prependIcon},null)])},title:()=>y.value?t.title:_e("v-combobox",t.title,oe(t)?.title)})}}),r["append-item"]?.()]})]}),u.value.map((a,t)=>{function v(f){f.stopPropagation(),f.preventDefault(),h(a,!1)}const M={"onClick:close":v,onKeydown(f){f.key!=="Enter"&&f.key!==" "||(f.preventDefault(),f.stopPropagation(),v(f))},onMousedown(f){f.preventDefault(),f.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},w=A.value?!!r.chip:!!r.selection,S=w?Ge(A.value?r.chip({item:a,index:t,props:M}):r.selection({item:a,index:t})):void 0;if(!(w&&!S))return C("div",{key:a.value,class:We(["v-combobox__selection",t===n.value&&["v-combobox__selection--selected",te.value]]),style:Je(t===n.value?ue.value:{})},[A.value?r.chip?d(Te,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:a.title}}},{default:()=>[S]}):d(Ie,k({key:"chip",closable:e.closableChips,size:"small",text:a.title,disabled:a.props.disabled},M),null):S??C("span",{class:"v-combobox__selection-text"},[a.title,e.multiple&&t<u.value.length-1&&C("span",{class:"v-combobox__selection-comma"},[Xe(",")])])])})]),"append-inner":function(){for(var a=arguments.length,t=new Array(a),v=0;v<a;v++)t[v]=arguments[v];return C($,null,[r["append-inner"]?.(...t),(!e.hideNoData||e.items.length)&&e.menuIcon?d(G,{class:"v-combobox__menu-icon",color:m.value?.fieldIconColor,icon:e.menuIcon,onMousedown:ve,onClick:je,"aria-label":K(H.value),title:K(H.value),tabindex:"-1"},null):void 0])}})}),Re({isFocused:b,isPristine:y,menu:s,search:c,selectionIndex:n,filteredItems:T,select:h},m)}});export{rl as V};
@@ -1 +1 @@
1
- import{u as ye,t as I,e as Ve,m as pe,a as ke,V as Ce,b as we,f as Se,d as Ie}from"./VSelect-DLKX5Mr6.js";import{p as Fe,c as j,q as De}from"./VSelectionControl-B8hJUO0p.js";import{u as Pe,f as Re,p as Ae,k as G,l as Te}from"./forwardRefs-DBxFdh0r.js";import{u as Ee,m as Me,h as _e}from"./filter-CQ83UjMF.js";import{g as Ne,p as Ke,aC as Le,r as _,aU as F,e as J,bE as Be,c as x,aX as N,bF as Oe,t as Ue,aV as D,bG as W,u as ze,a as d,m as k,o as $e,bH as qe,bI as X,bt as He,b as C,bJ as je,F as $,bK as Ge,n as Je,d as We,z as Xe}from"./main-G8n9PNCf.js";import{a as Q,g as Qe}from"./VDialog-DwpHVF2o.js";import{a as Ye}from"./VDivider-CGh9hHPI.js";import{V as Ze}from"./VCheckboxBtn-D_jRtvPm.js";const el=Ke({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Me({filterKeys:["title"]}),...pe({hideNoData:!0,returnObject:!0}),...$e(De({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...Ae({transition:!1})},"VCombobox"),rl=Ne()({name:"VCombobox",props:el(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:search":e=>!0,"update:menu":e=>!0},setup(e,Y){let{emit:Z,slots:r}=Y;const{t:K}=Le(),m=_(),b=F(!1),y=F(!0),L=F(!1),q=_(),P=_(),n=F(-1);let B=!1;const{items:ee,transformIn:le,transformOut:ae}=ye(e),{textColorClasses:te,textColorStyles:ue}=Pe(()=>m.value?.color),u=J(e,"modelValue",[],l=>le(Be(l)),l=>{const o=ae(l);return e.multiple?o:o[0]??null}),R=Fe(e),A=x(()=>!!(e.chips||r.chip)),g=x(()=>A.value||!!r.selection),V=F(!e.multiple&&!g.value?u.value[0]?.title??"":""),c=x({get:()=>V.value,set:async l=>{if(V.value=l??"",!e.multiple&&!g.value&&(u.value=[I(e,l)],N(()=>P.value?.scrollToIndex(0))),l&&e.multiple&&e.delimiters?.length){const o=e.delimiters.map(Oe).join("|"),i=l.split(new RegExp(`(?:${o})+`));if(i.length>1){for(let a of i)a=a.trim(),a&&(h(I(e,a)),await N());V.value=""}}l||(n.value=-1),y.value=!l}}),ne=x(()=>typeof e.counterValue=="function"?e.counterValue(u.value):typeof e.counterValue=="number"?e.counterValue:e.multiple?u.value.length:c.value.length),{filteredItems:T,getMatches:oe}=Ee(e,ee,()=>y.value?"":c.value),p=x(()=>e.hideSelected?T.value.filter(l=>!u.value.some(o=>o.value===l.value)):T.value),E=x(()=>e.hideNoData&&!p.value.length||R.isReadonly.value||R.isDisabled.value),O=J(e,"menu"),s=x({get:()=>O.value,set:l=>{O.value&&!l&&q.value?.ΨopenChildren.size||l&&E.value||(O.value=l)}}),H=Ue(()=>s.value?e.closeText:e.openText);D(V,l=>{B?N(()=>B=!1):b.value&&!s.value&&(s.value=!0),Z("update:search",l)}),D(u,l=>{!e.multiple&&!g.value&&(V.value=l[0]?.title??"")});const ie=x(()=>u.value.map(l=>l.value)),U=x(()=>(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&c.value===p.value[0]?.title)&&p.value.length>0&&!y.value&&!L.value),z=_(),se=Ve(z,m);function re(l){B=!0,e.openOnClear&&(s.value=!0)}function ce(){E.value||(s.value=!0)}function ve(l){E.value||(b.value&&(l.preventDefault(),l.stopPropagation()),s.value=!s.value)}function de(l){(X(l)||l.key==="Backspace")&&m.value?.focus()}function fe(l){if(qe(l)||R.isReadonly.value)return;const o=m.value?.selectionStart,i=u.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(l.key)&&l.preventDefault(),["Enter","ArrowDown"].includes(l.key)&&(s.value=!0),["Escape"].includes(l.key)&&(s.value=!1),["Enter","Escape","Tab"].includes(l.key)&&(U.value&&["Enter","Tab"].includes(l.key)&&!u.value.some(a=>{let{value:t}=a;return t===p.value[0].value})&&h(T.value[0]),y.value=!0),l.key==="ArrowDown"&&U.value&&z.value?.focus("next"),l.key==="Enter"&&c.value&&(h(I(e,c.value)),g.value&&(V.value="")),["Backspace","Delete"].includes(l.key)){if(!e.multiple&&g.value&&u.value.length>0&&!c.value)return h(u.value[0],!1);if(~n.value){l.preventDefault();const a=n.value;h(u.value[n.value],!1),n.value=a>=i-1?i-2:a}else l.key==="Backspace"&&!c.value&&(n.value=i-1);return}if(e.multiple)if(l.key==="ArrowLeft"){if(n.value<0&&o&&o>0)return;const a=n.value>-1?n.value-1:i-1;u.value[a]?n.value=a:(n.value=-1,m.value?.setSelectionRange(c.value.length,c.value.length))}else if(l.key==="ArrowRight"){if(n.value<0)return;const a=n.value+1;u.value[a]?n.value=a:(n.value=-1,m.value?.setSelectionRange(0,0))}else~n.value&&X(l)&&(n.value=-1)}function me(){e.eager&&P.value?.calculateVisibleItems()}function he(){b.value&&(y.value=!0,m.value?.focus())}function h(l){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!l||l.props.disabled))if(e.multiple){const i=u.value.findIndex(t=>(e.valueComparator||W)(t.value,l.value)),a=o??!~i;if(~i){const t=a?[...u.value,l]:[...u.value];t.splice(i,1),u.value=t}else a&&(u.value=[...u.value,l]);e.clearOnSelect&&(c.value="")}else{const i=o!==!1;u.value=i?[l]:[],V.value=i&&!g.value?l.title:"",N(()=>{s.value=!1,y.value=!0})}}function be(l){b.value=!0,setTimeout(()=>{L.value=!0})}function ge(l){L.value=!1}function xe(l){(l==null||l===""&&!e.multiple&&!g.value)&&(u.value=[])}return D(b,(l,o)=>{if(!(l||l===o)&&(n.value=-1,s.value=!1,c.value)){if(e.multiple){h(I(e,c.value));return}if(!g.value)return;u.value.some(i=>{let{title:a}=i;return a===c.value})?V.value="":h(I(e,c.value))}}),D(s,()=>{if(!e.hideSelected&&s.value&&u.value.length){const l=p.value.findIndex(o=>u.value.some(i=>(e.valueComparator||W)(i.value,o.value)));He&&window.requestAnimationFrame(()=>{l>=0&&P.value?.scrollToIndex(l)})}}),D(()=>e.items,(l,o)=>{s.value||b.value&&!o.length&&l.length&&(s.value=!0)}),ze(()=>{const l=!!(!e.hideNoData||p.value.length||r["prepend-item"]||r["append-item"]||r["no-data"]),o=u.value.length>0,i=j.filterProps(e);return d(j,k({ref:m},i,{modelValue:c.value,"onUpdate:modelValue":[a=>c.value=a,xe],focused:b.value,"onUpdate:focused":a=>b.value=a,validationValue:u.externalValue,counterValue:ne.value,dirty:o,class:["v-combobox",{"v-combobox--active-menu":s.value,"v-combobox--chips":!!e.chips,"v-combobox--selection-slot":!!g.value,"v-combobox--selecting-index":n.value>-1,[`v-combobox--${e.multiple?"multiple":"single"}`]:!0},e.class],style:e.style,readonly:R.isReadonly.value,placeholder:o?void 0:e.placeholder,"onClick:clear":re,"onMousedown:control":ce,onKeydown:fe}),{...r,default:()=>C($,null,[d(ke,k({ref:q,modelValue:s.value,"onUpdate:modelValue":a=>s.value=a,activator:"parent",contentClass:"v-combobox__content",disabled:E.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterEnter:me,onAfterLeave:he},e.menuProps),{default:()=>[l&&d(Ce,k({ref:z,filterable:!0,selected:ie.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:a=>a.preventDefault(),onKeydown:de,onFocusin:be,onFocusout:ge,tabindex:"-1","aria-live":"polite",color:e.itemColor??e.color},se,e.listProps),{default:()=>[r["prepend-item"]?.(),!p.value.length&&!e.hideNoData&&(r["no-data"]?.()??d(Q,{key:"no-data",title:K(e.noDataText)},null)),d(we,{ref:P,renderless:!0,items:p.value,itemKey:"value"},{default:a=>{let{item:t,index:v,itemRef:M}=a;const w=k(t.props,{ref:M,key:t.value,active:U.value&&v===0?!0:void 0,onClick:()=>h(t,null)});return t.type==="divider"?r.divider?.({props:t.raw,index:v})??d(Ye,k(t.props,{key:`divider-${v}`}),null):t.type==="subheader"?r.subheader?.({props:t.raw,index:v})??d(Se,k(t.props,{key:`subheader-${v}`}),null):r.item?.({item:t,index:v,props:w})??d(Q,k(w,{role:"option"}),{prepend:S=>{let{isSelected:f}=S;return C($,null,[e.multiple&&!e.hideSelected?d(Ze,{key:t.value,modelValue:f,ripple:!1,tabindex:"-1"},null):void 0,t.props.prependAvatar&&d(Qe,{image:t.props.prependAvatar},null),t.props.prependIcon&&d(G,{icon:t.props.prependIcon},null)])},title:()=>y.value?t.title:_e("v-combobox",t.title,oe(t)?.title)})}}),r["append-item"]?.()]})]}),u.value.map((a,t)=>{function v(f){f.stopPropagation(),f.preventDefault(),h(a,!1)}const M={"onClick:close":v,onKeydown(f){f.key!=="Enter"&&f.key!==" "||(f.preventDefault(),f.stopPropagation(),v(f))},onMousedown(f){f.preventDefault(),f.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},w=A.value?!!r.chip:!!r.selection,S=w?Ge(A.value?r.chip({item:a,index:t,props:M}):r.selection({item:a,index:t})):void 0;if(!(w&&!S))return C("div",{key:a.value,class:We(["v-combobox__selection",t===n.value&&["v-combobox__selection--selected",te.value]]),style:Je(t===n.value?ue.value:{})},[A.value?r.chip?d(Te,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:a.title}}},{default:()=>[S]}):d(Ie,k({key:"chip",closable:e.closableChips,size:"small",text:a.title,disabled:a.props.disabled},M),null):S??C("span",{class:"v-combobox__selection-text"},[a.title,e.multiple&&t<u.value.length-1&&C("span",{class:"v-combobox__selection-comma"},[Xe(",")])])])})]),"append-inner":function(){for(var a=arguments.length,t=new Array(a),v=0;v<a;v++)t[v]=arguments[v];return C($,null,[r["append-inner"]?.(...t),(!e.hideNoData||e.items.length)&&e.menuIcon?d(G,{class:"v-combobox__menu-icon",color:m.value?.fieldIconColor,icon:e.menuIcon,onMousedown:ve,onClick:je,"aria-label":K(H.value),title:K(H.value),tabindex:"-1"},null):void 0])}})}),Re({isFocused:b,isPristine:y,menu:s,search:c,selectionIndex:n,filteredItems:T,select:h},m)}});export{rl as V};
1
+ import{u as ye,t as I,e as Ve,m as pe,a as ke,V as Ce,b as we,f as Se,d as Ie}from"./VSelect-CJ_8hyFq.js";import{p as Fe,c as j,q as De}from"./VSelectionControl-N_wsNRlD.js";import{u as Pe,f as Re,p as Ae,k as G,l as Te}from"./forwardRefs-BGAZ1bvO.js";import{u as Ee,m as Me,h as _e}from"./filter-DU947LwF.js";import{g as Ne,p as Ke,aC as Le,r as _,aU as F,e as J,bE as Be,c as x,aX as N,bF as Oe,t as Ue,aV as D,bG as W,u as ze,a as d,m as k,o as $e,bH as qe,bI as X,bt as He,b as C,bJ as je,F as $,bK as Ge,n as Je,d as We,z as Xe}from"./main-CTlarBH9.js";import{a as Q,g as Qe}from"./VDialog-Bn_MNvQ-.js";import{a as Ye}from"./VDivider-DOOd4a9s.js";import{V as Ze}from"./VCheckboxBtn-dotsoE0r.js";const el=Ke({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Me({filterKeys:["title"]}),...pe({hideNoData:!0,returnObject:!0}),...$e(De({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...Ae({transition:!1})},"VCombobox"),rl=Ne()({name:"VCombobox",props:el(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:search":e=>!0,"update:menu":e=>!0},setup(e,Y){let{emit:Z,slots:r}=Y;const{t:K}=Le(),m=_(),b=F(!1),y=F(!0),L=F(!1),q=_(),P=_(),n=F(-1);let B=!1;const{items:ee,transformIn:le,transformOut:ae}=ye(e),{textColorClasses:te,textColorStyles:ue}=Pe(()=>m.value?.color),u=J(e,"modelValue",[],l=>le(Be(l)),l=>{const o=ae(l);return e.multiple?o:o[0]??null}),R=Fe(e),A=x(()=>!!(e.chips||r.chip)),g=x(()=>A.value||!!r.selection),V=F(!e.multiple&&!g.value?u.value[0]?.title??"":""),c=x({get:()=>V.value,set:async l=>{if(V.value=l??"",!e.multiple&&!g.value&&(u.value=[I(e,l)],N(()=>P.value?.scrollToIndex(0))),l&&e.multiple&&e.delimiters?.length){const o=e.delimiters.map(Oe).join("|"),i=l.split(new RegExp(`(?:${o})+`));if(i.length>1){for(let a of i)a=a.trim(),a&&(h(I(e,a)),await N());V.value=""}}l||(n.value=-1),y.value=!l}}),ne=x(()=>typeof e.counterValue=="function"?e.counterValue(u.value):typeof e.counterValue=="number"?e.counterValue:e.multiple?u.value.length:c.value.length),{filteredItems:T,getMatches:oe}=Ee(e,ee,()=>y.value?"":c.value),p=x(()=>e.hideSelected?T.value.filter(l=>!u.value.some(o=>o.value===l.value)):T.value),E=x(()=>e.hideNoData&&!p.value.length||R.isReadonly.value||R.isDisabled.value),O=J(e,"menu"),s=x({get:()=>O.value,set:l=>{O.value&&!l&&q.value?.ΨopenChildren.size||l&&E.value||(O.value=l)}}),H=Ue(()=>s.value?e.closeText:e.openText);D(V,l=>{B?N(()=>B=!1):b.value&&!s.value&&(s.value=!0),Z("update:search",l)}),D(u,l=>{!e.multiple&&!g.value&&(V.value=l[0]?.title??"")});const ie=x(()=>u.value.map(l=>l.value)),U=x(()=>(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&c.value===p.value[0]?.title)&&p.value.length>0&&!y.value&&!L.value),z=_(),se=Ve(z,m);function re(l){B=!0,e.openOnClear&&(s.value=!0)}function ce(){E.value||(s.value=!0)}function ve(l){E.value||(b.value&&(l.preventDefault(),l.stopPropagation()),s.value=!s.value)}function de(l){(X(l)||l.key==="Backspace")&&m.value?.focus()}function fe(l){if(qe(l)||R.isReadonly.value)return;const o=m.value?.selectionStart,i=u.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(l.key)&&l.preventDefault(),["Enter","ArrowDown"].includes(l.key)&&(s.value=!0),["Escape"].includes(l.key)&&(s.value=!1),["Enter","Escape","Tab"].includes(l.key)&&(U.value&&["Enter","Tab"].includes(l.key)&&!u.value.some(a=>{let{value:t}=a;return t===p.value[0].value})&&h(T.value[0]),y.value=!0),l.key==="ArrowDown"&&U.value&&z.value?.focus("next"),l.key==="Enter"&&c.value&&(h(I(e,c.value)),g.value&&(V.value="")),["Backspace","Delete"].includes(l.key)){if(!e.multiple&&g.value&&u.value.length>0&&!c.value)return h(u.value[0],!1);if(~n.value){l.preventDefault();const a=n.value;h(u.value[n.value],!1),n.value=a>=i-1?i-2:a}else l.key==="Backspace"&&!c.value&&(n.value=i-1);return}if(e.multiple)if(l.key==="ArrowLeft"){if(n.value<0&&o&&o>0)return;const a=n.value>-1?n.value-1:i-1;u.value[a]?n.value=a:(n.value=-1,m.value?.setSelectionRange(c.value.length,c.value.length))}else if(l.key==="ArrowRight"){if(n.value<0)return;const a=n.value+1;u.value[a]?n.value=a:(n.value=-1,m.value?.setSelectionRange(0,0))}else~n.value&&X(l)&&(n.value=-1)}function me(){e.eager&&P.value?.calculateVisibleItems()}function he(){b.value&&(y.value=!0,m.value?.focus())}function h(l){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!l||l.props.disabled))if(e.multiple){const i=u.value.findIndex(t=>(e.valueComparator||W)(t.value,l.value)),a=o??!~i;if(~i){const t=a?[...u.value,l]:[...u.value];t.splice(i,1),u.value=t}else a&&(u.value=[...u.value,l]);e.clearOnSelect&&(c.value="")}else{const i=o!==!1;u.value=i?[l]:[],V.value=i&&!g.value?l.title:"",N(()=>{s.value=!1,y.value=!0})}}function be(l){b.value=!0,setTimeout(()=>{L.value=!0})}function ge(l){L.value=!1}function xe(l){(l==null||l===""&&!e.multiple&&!g.value)&&(u.value=[])}return D(b,(l,o)=>{if(!(l||l===o)&&(n.value=-1,s.value=!1,c.value)){if(e.multiple){h(I(e,c.value));return}if(!g.value)return;u.value.some(i=>{let{title:a}=i;return a===c.value})?V.value="":h(I(e,c.value))}}),D(s,()=>{if(!e.hideSelected&&s.value&&u.value.length){const l=p.value.findIndex(o=>u.value.some(i=>(e.valueComparator||W)(i.value,o.value)));He&&window.requestAnimationFrame(()=>{l>=0&&P.value?.scrollToIndex(l)})}}),D(()=>e.items,(l,o)=>{s.value||b.value&&!o.length&&l.length&&(s.value=!0)}),ze(()=>{const l=!!(!e.hideNoData||p.value.length||r["prepend-item"]||r["append-item"]||r["no-data"]),o=u.value.length>0,i=j.filterProps(e);return d(j,k({ref:m},i,{modelValue:c.value,"onUpdate:modelValue":[a=>c.value=a,xe],focused:b.value,"onUpdate:focused":a=>b.value=a,validationValue:u.externalValue,counterValue:ne.value,dirty:o,class:["v-combobox",{"v-combobox--active-menu":s.value,"v-combobox--chips":!!e.chips,"v-combobox--selection-slot":!!g.value,"v-combobox--selecting-index":n.value>-1,[`v-combobox--${e.multiple?"multiple":"single"}`]:!0},e.class],style:e.style,readonly:R.isReadonly.value,placeholder:o?void 0:e.placeholder,"onClick:clear":re,"onMousedown:control":ce,onKeydown:fe}),{...r,default:()=>C($,null,[d(ke,k({ref:q,modelValue:s.value,"onUpdate:modelValue":a=>s.value=a,activator:"parent",contentClass:"v-combobox__content",disabled:E.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterEnter:me,onAfterLeave:he},e.menuProps),{default:()=>[l&&d(Ce,k({ref:z,filterable:!0,selected:ie.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:a=>a.preventDefault(),onKeydown:de,onFocusin:be,onFocusout:ge,tabindex:"-1","aria-live":"polite",color:e.itemColor??e.color},se,e.listProps),{default:()=>[r["prepend-item"]?.(),!p.value.length&&!e.hideNoData&&(r["no-data"]?.()??d(Q,{key:"no-data",title:K(e.noDataText)},null)),d(we,{ref:P,renderless:!0,items:p.value,itemKey:"value"},{default:a=>{let{item:t,index:v,itemRef:M}=a;const w=k(t.props,{ref:M,key:t.value,active:U.value&&v===0?!0:void 0,onClick:()=>h(t,null)});return t.type==="divider"?r.divider?.({props:t.raw,index:v})??d(Ye,k(t.props,{key:`divider-${v}`}),null):t.type==="subheader"?r.subheader?.({props:t.raw,index:v})??d(Se,k(t.props,{key:`subheader-${v}`}),null):r.item?.({item:t,index:v,props:w})??d(Q,k(w,{role:"option"}),{prepend:S=>{let{isSelected:f}=S;return C($,null,[e.multiple&&!e.hideSelected?d(Ze,{key:t.value,modelValue:f,ripple:!1,tabindex:"-1"},null):void 0,t.props.prependAvatar&&d(Qe,{image:t.props.prependAvatar},null),t.props.prependIcon&&d(G,{icon:t.props.prependIcon},null)])},title:()=>y.value?t.title:_e("v-combobox",t.title,oe(t)?.title)})}}),r["append-item"]?.()]})]}),u.value.map((a,t)=>{function v(f){f.stopPropagation(),f.preventDefault(),h(a,!1)}const M={"onClick:close":v,onKeydown(f){f.key!=="Enter"&&f.key!==" "||(f.preventDefault(),f.stopPropagation(),v(f))},onMousedown(f){f.preventDefault(),f.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0},w=A.value?!!r.chip:!!r.selection,S=w?Ge(A.value?r.chip({item:a,index:t,props:M}):r.selection({item:a,index:t})):void 0;if(!(w&&!S))return C("div",{key:a.value,class:We(["v-combobox__selection",t===n.value&&["v-combobox__selection--selected",te.value]]),style:Je(t===n.value?ue.value:{})},[A.value?r.chip?d(Te,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:a.title}}},{default:()=>[S]}):d(Ie,k({key:"chip",closable:e.closableChips,size:"small",text:a.title,disabled:a.props.disabled},M),null):S??C("span",{class:"v-combobox__selection-text"},[a.title,e.multiple&&t<u.value.length-1&&C("span",{class:"v-combobox__selection-comma"},[Xe(",")])])])})]),"append-inner":function(){for(var a=arguments.length,t=new Array(a),v=0;v<a;v++)t[v]=arguments[v];return C($,null,[r["append-inner"]?.(...t),(!e.hideNoData||e.items.length)&&e.menuIcon?d(G,{class:"v-combobox__menu-icon",color:m.value?.fieldIconColor,icon:e.menuIcon,onMousedown:ve,onClick:je,"aria-label":K(H.value),title:K(H.value),tabindex:"-1"},null):void 0])}})}),Re({isFocused:b,isPristine:y,menu:s,search:c,selectionIndex:n,filteredItems:T,select:h},m)}});export{rl as V};