codex 1.6.0a10__py3-none-any.whl → 1.6.0a11__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 (418) hide show
  1. codex/serializers/browser/choices.py +18 -6
  2. codex/serializers/browser/filters.py +2 -2
  3. codex/serializers/browser/mixins.py +35 -2
  4. codex/serializers/browser/settings.py +10 -3
  5. codex/serializers/choices.py +4 -0
  6. codex/serializers/fields.py +43 -1
  7. codex/serializers/models/pycountry.py +11 -51
  8. codex/serializers/reader.py +1 -0
  9. codex/static_root/assets/{VCheckbox-CY3rcqlS.de5154294920.js → VCheckbox-BwDyxhU7.831b00df198a.js} +1 -1
  10. codex/static_root/assets/VCheckbox-BwDyxhU7.831b00df198a.js.br +0 -0
  11. codex/static_root/assets/VCheckbox-BwDyxhU7.831b00df198a.js.gz +0 -0
  12. codex/static_root/assets/{VCheckbox-CY3rcqlS.js → VCheckbox-BwDyxhU7.js} +1 -1
  13. codex/static_root/assets/VCheckbox-BwDyxhU7.js.br +0 -0
  14. codex/static_root/assets/VCheckbox-BwDyxhU7.js.gz +0 -0
  15. codex/static_root/assets/{VCheckboxBtn-D2tPTt6P.9a90d6818bf6.js → VCheckboxBtn-DVq5lDK4.5e6464c8d80a.js} +1 -1
  16. codex/static_root/assets/VCheckboxBtn-DVq5lDK4.5e6464c8d80a.js.br +0 -0
  17. codex/static_root/assets/VCheckboxBtn-DVq5lDK4.5e6464c8d80a.js.gz +0 -0
  18. codex/static_root/assets/{VCheckboxBtn-D2tPTt6P.js → VCheckboxBtn-DVq5lDK4.js} +1 -1
  19. codex/static_root/assets/VCheckboxBtn-DVq5lDK4.js.br +0 -0
  20. codex/static_root/assets/VCheckboxBtn-DVq5lDK4.js.gz +0 -0
  21. codex/static_root/assets/{VCombobox-aJr--Ou7.f290ccf2ce25.js → VCombobox-BASCOy0n.7801caa5e192.js} +1 -1
  22. codex/static_root/assets/VCombobox-BASCOy0n.7801caa5e192.js.br +0 -0
  23. codex/static_root/assets/VCombobox-BASCOy0n.7801caa5e192.js.gz +0 -0
  24. codex/static_root/assets/{VCombobox-aJr--Ou7.js → VCombobox-BASCOy0n.js} +1 -1
  25. codex/static_root/assets/VCombobox-BASCOy0n.js.br +0 -0
  26. codex/static_root/assets/VCombobox-BASCOy0n.js.gz +0 -0
  27. codex/static_root/assets/{VDialog-61pzfUB2.33f73beb5224.js → VDialog-DnbL_v_u.0bd289bda8e6.js} +1 -1
  28. codex/static_root/assets/VDialog-DnbL_v_u.0bd289bda8e6.js.br +0 -0
  29. codex/static_root/assets/VDialog-DnbL_v_u.0bd289bda8e6.js.gz +0 -0
  30. codex/static_root/assets/{VDialog-61pzfUB2.js → VDialog-DnbL_v_u.js} +1 -1
  31. codex/static_root/assets/VDialog-DnbL_v_u.js.br +0 -0
  32. codex/static_root/assets/VDialog-DnbL_v_u.js.gz +0 -0
  33. codex/static_root/assets/{VExpansionPanels-rewm0P4z.5c7680f815b6.js → VExpansionPanels-B8nz8lN5.56e5adec4f62.js} +1 -1
  34. codex/static_root/assets/VExpansionPanels-B8nz8lN5.56e5adec4f62.js.br +0 -0
  35. codex/static_root/assets/VExpansionPanels-B8nz8lN5.56e5adec4f62.js.gz +0 -0
  36. codex/static_root/assets/{VExpansionPanels-rewm0P4z.js → VExpansionPanels-B8nz8lN5.js} +1 -1
  37. codex/static_root/assets/VExpansionPanels-B8nz8lN5.js.br +0 -0
  38. codex/static_root/assets/VExpansionPanels-B8nz8lN5.js.gz +0 -0
  39. codex/static_root/assets/{VRadioGroup-QFQbK1qo.750a42b1b814.js → VRadioGroup-BgwJ_b94.55f84f3429b9.js} +1 -1
  40. codex/static_root/assets/VRadioGroup-BgwJ_b94.55f84f3429b9.js.br +0 -0
  41. codex/static_root/assets/VRadioGroup-BgwJ_b94.55f84f3429b9.js.gz +0 -0
  42. codex/static_root/assets/{VRadioGroup-QFQbK1qo.js → VRadioGroup-BgwJ_b94.js} +1 -1
  43. codex/static_root/assets/VRadioGroup-BgwJ_b94.js.br +0 -0
  44. codex/static_root/assets/VRadioGroup-BgwJ_b94.js.gz +0 -0
  45. codex/static_root/assets/{VSelect-Dixy6okt.5d53830daa8a.js → VSelect-BoKpXxwe.a88f065dfe3b.js} +1 -1
  46. codex/static_root/assets/VSelect-BoKpXxwe.a88f065dfe3b.js.br +0 -0
  47. codex/static_root/assets/VSelect-BoKpXxwe.a88f065dfe3b.js.gz +0 -0
  48. codex/static_root/assets/{VSelect-Dixy6okt.js → VSelect-BoKpXxwe.js} +1 -1
  49. codex/static_root/assets/VSelect-BoKpXxwe.js.br +0 -0
  50. codex/static_root/assets/VSelect-BoKpXxwe.js.gz +0 -0
  51. codex/static_root/assets/{VSelectionControl-MNmxKc3J.08055d00917e.js → VSelectionControl-BXJGg8No.0cb36d941d2a.js} +1 -1
  52. codex/static_root/assets/VSelectionControl-BXJGg8No.0cb36d941d2a.js.br +0 -0
  53. codex/static_root/assets/VSelectionControl-BXJGg8No.0cb36d941d2a.js.gz +0 -0
  54. codex/static_root/assets/{VSelectionControl-MNmxKc3J.js → VSelectionControl-BXJGg8No.js} +1 -1
  55. codex/static_root/assets/VSelectionControl-BXJGg8No.js.br +0 -0
  56. codex/static_root/assets/VSelectionControl-BXJGg8No.js.gz +0 -0
  57. codex/static_root/assets/{VSlideGroup-DZEV0FoV.5f996daf0e98.js → VSlideGroup-C2TL5E34.775adeb5a973.js} +1 -1
  58. codex/static_root/assets/VSlideGroup-C2TL5E34.775adeb5a973.js.br +0 -0
  59. codex/static_root/assets/VSlideGroup-C2TL5E34.775adeb5a973.js.gz +0 -0
  60. codex/static_root/assets/{VSlideGroup-DZEV0FoV.js → VSlideGroup-C2TL5E34.js} +1 -1
  61. codex/static_root/assets/VSlideGroup-C2TL5E34.js.br +0 -0
  62. codex/static_root/assets/VSlideGroup-C2TL5E34.js.gz +0 -0
  63. codex/static_root/assets/{VTable-lcnYg9Ee.d72927b13c2e.js → VTable-C0FptljX.e4840b635c6e.js} +1 -1
  64. codex/static_root/assets/VTable-C0FptljX.e4840b635c6e.js.br +0 -0
  65. codex/static_root/assets/VTable-C0FptljX.e4840b635c6e.js.gz +0 -0
  66. codex/static_root/assets/{VTable-lcnYg9Ee.js → VTable-C0FptljX.js} +1 -1
  67. codex/static_root/assets/VTable-C0FptljX.js.br +0 -0
  68. codex/static_root/assets/VTable-C0FptljX.js.gz +0 -0
  69. codex/static_root/assets/{VTextField-BkFrjhdV.js → VTextField-Aw8nKhY6.428732ac22d7.js} +1 -1
  70. codex/static_root/assets/VTextField-Aw8nKhY6.428732ac22d7.js.br +0 -0
  71. codex/static_root/assets/VTextField-Aw8nKhY6.428732ac22d7.js.gz +0 -0
  72. codex/static_root/assets/{VTextField-BkFrjhdV.b02653a9b3b7.js → VTextField-Aw8nKhY6.js} +1 -1
  73. codex/static_root/assets/VTextField-Aw8nKhY6.js.br +0 -0
  74. codex/static_root/assets/VTextField-Aw8nKhY6.js.gz +0 -0
  75. codex/static_root/assets/{VWindowItem-C__tAqdc.9791c128c3b7.js → VWindowItem-D9j_u9MX.828acf3dee55.js} +1 -1
  76. codex/static_root/assets/VWindowItem-D9j_u9MX.828acf3dee55.js.br +0 -0
  77. codex/static_root/assets/VWindowItem-D9j_u9MX.828acf3dee55.js.gz +0 -0
  78. codex/static_root/assets/{VWindowItem-C__tAqdc.js → VWindowItem-D9j_u9MX.js} +1 -1
  79. codex/static_root/assets/VWindowItem-D9j_u9MX.js.br +0 -0
  80. codex/static_root/assets/VWindowItem-D9j_u9MX.js.gz +0 -0
  81. codex/static_root/assets/{admin-drawer-panel-rrNKi_GE.e2b034db7934.js → admin-drawer-panel-Dmn4wEY3.af7e8490f0e3.js} +2 -2
  82. codex/static_root/assets/admin-drawer-panel-Dmn4wEY3.af7e8490f0e3.js.br +0 -0
  83. codex/static_root/assets/admin-drawer-panel-Dmn4wEY3.af7e8490f0e3.js.gz +0 -0
  84. codex/static_root/assets/{admin-drawer-panel-rrNKi_GE.js → admin-drawer-panel-Dmn4wEY3.js} +2 -2
  85. codex/static_root/assets/admin-drawer-panel-Dmn4wEY3.js.br +0 -0
  86. codex/static_root/assets/admin-drawer-panel-Dmn4wEY3.js.gz +0 -0
  87. codex/static_root/assets/{admin-CXES2HXe.9e48a9bf84e0.js → admin-jf7zR2p_.4741813376d2.js} +1 -1
  88. codex/static_root/assets/admin-jf7zR2p_.4741813376d2.js.br +0 -0
  89. codex/static_root/assets/admin-jf7zR2p_.4741813376d2.js.gz +0 -0
  90. codex/static_root/assets/{admin-CXES2HXe.js → admin-jf7zR2p_.js} +1 -1
  91. codex/static_root/assets/admin-jf7zR2p_.js.br +0 -0
  92. codex/static_root/assets/admin-jf7zR2p_.js.gz +0 -0
  93. codex/static_root/assets/browser-BKZuypzF.86e5333bd7d6.js +1 -0
  94. codex/static_root/assets/browser-BKZuypzF.86e5333bd7d6.js.br +0 -0
  95. codex/static_root/assets/browser-BKZuypzF.86e5333bd7d6.js.gz +0 -0
  96. codex/static_root/assets/browser-BKZuypzF.js +1 -0
  97. codex/static_root/assets/browser-BKZuypzF.js.br +0 -0
  98. codex/static_root/assets/browser-BKZuypzF.js.gz +0 -0
  99. codex/static_root/assets/{browser-BuDeXGEe.css → browser-D7xci5SY.css} +1 -1
  100. codex/static_root/assets/browser-D7xci5SY.css.br +0 -0
  101. codex/static_root/assets/browser-D7xci5SY.css.gz +0 -0
  102. codex/static_root/assets/{browser-BuDeXGEe.f60854183b45.css → browser-D7xci5SY.fa305e14005c.css} +1 -1
  103. codex/static_root/assets/browser-D7xci5SY.fa305e14005c.css.br +0 -0
  104. codex/static_root/assets/browser-D7xci5SY.fa305e14005c.css.gz +0 -0
  105. codex/static_root/assets/{change-password-dialog-Bn20jYzD.593c5af1732b.js → change-password-dialog-Cc1e755p.b29d200537bf.js} +1 -1
  106. codex/static_root/assets/change-password-dialog-Cc1e755p.b29d200537bf.js.br +0 -0
  107. codex/static_root/assets/change-password-dialog-Cc1e755p.b29d200537bf.js.gz +0 -0
  108. codex/static_root/assets/{change-password-dialog-Bn20jYzD.js → change-password-dialog-Cc1e755p.js} +1 -1
  109. codex/static_root/assets/change-password-dialog-Cc1e755p.js.br +0 -0
  110. codex/static_root/assets/change-password-dialog-Cc1e755p.js.gz +0 -0
  111. codex/static_root/assets/{confirm-dialog-CWszioQE.859051c35dd9.js → confirm-dialog-Cyr7HAAz.8ab1d8b6241a.js} +1 -1
  112. codex/static_root/assets/confirm-dialog-Cyr7HAAz.8ab1d8b6241a.js.br +0 -0
  113. codex/static_root/assets/confirm-dialog-Cyr7HAAz.8ab1d8b6241a.js.gz +0 -0
  114. codex/static_root/assets/{confirm-dialog-CWszioQE.js → confirm-dialog-Cyr7HAAz.js} +1 -1
  115. codex/static_root/assets/confirm-dialog-Cyr7HAAz.js.br +0 -0
  116. codex/static_root/assets/confirm-dialog-Cyr7HAAz.js.gz +0 -0
  117. codex/static_root/assets/{datetime-column-BSdlLt-4.27ec2df67a0b.js → datetime-column-Cqi99Ze-.49d0ce340183.js} +1 -1
  118. codex/static_root/assets/datetime-column-Cqi99Ze-.49d0ce340183.js.br +0 -0
  119. codex/static_root/assets/datetime-column-Cqi99Ze-.49d0ce340183.js.gz +0 -0
  120. codex/static_root/assets/{datetime-column-BSdlLt-4.js → datetime-column-Cqi99Ze-.js} +1 -1
  121. codex/static_root/assets/datetime-column-Cqi99Ze-.js.br +0 -0
  122. codex/static_root/assets/datetime-column-Cqi99Ze-.js.gz +0 -0
  123. codex/static_root/assets/{filter-D3gaGf87.1f14dbfd9929.js → filter-CuocBoS2.885d1b8d44cc.js} +1 -1
  124. codex/static_root/assets/filter-CuocBoS2.885d1b8d44cc.js.br +0 -0
  125. codex/static_root/assets/filter-CuocBoS2.885d1b8d44cc.js.gz +0 -0
  126. codex/static_root/assets/{filter-D3gaGf87.js → filter-CuocBoS2.js} +1 -1
  127. codex/static_root/assets/filter-CuocBoS2.js.br +0 -0
  128. codex/static_root/assets/filter-CuocBoS2.js.gz +0 -0
  129. codex/static_root/assets/{flag-tab-8vzpdySX.a982c7f0776a.js → flag-tab-B5dRCBAt.e858f7ec9f55.js} +1 -1
  130. codex/static_root/assets/flag-tab-B5dRCBAt.e858f7ec9f55.js.br +0 -0
  131. codex/static_root/assets/flag-tab-B5dRCBAt.e858f7ec9f55.js.gz +0 -0
  132. codex/static_root/assets/{flag-tab-8vzpdySX.js → flag-tab-B5dRCBAt.js} +1 -1
  133. codex/static_root/assets/flag-tab-B5dRCBAt.js.br +0 -0
  134. codex/static_root/assets/flag-tab-B5dRCBAt.js.gz +0 -0
  135. codex/static_root/assets/{group-tab-Cz9t_ECi.a9e8aea79254.js → group-tab-_nT2o04v.c06032b254dc.js} +1 -1
  136. codex/static_root/assets/group-tab-_nT2o04v.c06032b254dc.js.br +0 -0
  137. codex/static_root/assets/group-tab-_nT2o04v.c06032b254dc.js.gz +0 -0
  138. codex/static_root/assets/{group-tab-Cz9t_ECi.js → group-tab-_nT2o04v.js} +1 -1
  139. codex/static_root/assets/group-tab-_nT2o04v.js.br +0 -0
  140. codex/static_root/assets/group-tab-_nT2o04v.js.gz +0 -0
  141. codex/static_root/assets/{http-error-Cqtszzf1.b31df3d9c29f.js → http-error-CXo9qLiW.d5a337f399c9.js} +1 -1
  142. codex/static_root/assets/http-error-CXo9qLiW.d5a337f399c9.js.br +0 -0
  143. codex/static_root/assets/http-error-CXo9qLiW.d5a337f399c9.js.gz +0 -0
  144. codex/static_root/assets/{http-error-Cqtszzf1.js → http-error-CXo9qLiW.js} +1 -1
  145. codex/static_root/assets/http-error-CXo9qLiW.js.br +0 -0
  146. codex/static_root/assets/http-error-CXo9qLiW.js.gz +0 -0
  147. codex/static_root/assets/{library-tab-DMlnswUU.js → library-tab-lz5QMD4i.2f04b226ebe8.js} +1 -1
  148. codex/static_root/assets/library-tab-lz5QMD4i.2f04b226ebe8.js.br +0 -0
  149. codex/static_root/assets/library-tab-lz5QMD4i.2f04b226ebe8.js.gz +0 -0
  150. codex/static_root/assets/{library-tab-DMlnswUU.30f454e84184.js → library-tab-lz5QMD4i.js} +1 -1
  151. codex/static_root/assets/library-tab-lz5QMD4i.js.br +0 -0
  152. codex/static_root/assets/library-tab-lz5QMD4i.js.gz +0 -0
  153. codex/static_root/assets/{main-vjXu_QYL.js → main-17i0EBCp.7093c3f755f1.js} +6 -6
  154. codex/static_root/assets/main-17i0EBCp.7093c3f755f1.js.br +0 -0
  155. codex/static_root/assets/main-17i0EBCp.7093c3f755f1.js.gz +0 -0
  156. codex/static_root/assets/{main-vjXu_QYL.548bd4c38799.js → main-17i0EBCp.js} +6 -6
  157. codex/static_root/assets/main-17i0EBCp.js.br +0 -0
  158. codex/static_root/assets/main-17i0EBCp.js.gz +0 -0
  159. codex/static_root/assets/pagination-toolbar-BBvsIXTd.ad891da6617a.js +1 -0
  160. codex/static_root/assets/pagination-toolbar-BBvsIXTd.ad891da6617a.js.br +0 -0
  161. codex/static_root/assets/pagination-toolbar-BBvsIXTd.ad891da6617a.js.gz +0 -0
  162. codex/static_root/assets/pagination-toolbar-BBvsIXTd.js +1 -0
  163. codex/static_root/assets/pagination-toolbar-BBvsIXTd.js.br +0 -0
  164. codex/static_root/assets/pagination-toolbar-BBvsIXTd.js.gz +0 -0
  165. codex/static_root/assets/pagination-toolbar-B_zL7BQQ.css +1 -0
  166. codex/static_root/assets/pagination-toolbar-B_zL7BQQ.css.br +0 -0
  167. codex/static_root/assets/pagination-toolbar-B_zL7BQQ.css.gz +0 -0
  168. codex/static_root/assets/pagination-toolbar-B_zL7BQQ.d1311bd41edc.css +1 -0
  169. codex/static_root/assets/pagination-toolbar-B_zL7BQQ.d1311bd41edc.css.br +0 -0
  170. codex/static_root/assets/pagination-toolbar-B_zL7BQQ.d1311bd41edc.css.gz +0 -0
  171. codex/static_root/assets/{pdf-doc-BiamrjRZ.4c9be1ade43c.js → pdf-doc-BpZdmj2g.93e86d9c7927.js} +1 -1
  172. codex/static_root/assets/pdf-doc-BpZdmj2g.93e86d9c7927.js.br +0 -0
  173. codex/static_root/assets/pdf-doc-BpZdmj2g.93e86d9c7927.js.gz +0 -0
  174. codex/static_root/assets/{pdf-doc-BiamrjRZ.js → pdf-doc-BpZdmj2g.js} +1 -1
  175. codex/static_root/assets/pdf-doc-BpZdmj2g.js.br +0 -0
  176. codex/static_root/assets/pdf-doc-BpZdmj2g.js.gz +0 -0
  177. codex/static_root/assets/reader-CRJUR2qj.55d626f0f9fa.js +2 -0
  178. codex/static_root/assets/reader-CRJUR2qj.55d626f0f9fa.js.br +0 -0
  179. codex/static_root/assets/reader-CRJUR2qj.55d626f0f9fa.js.gz +0 -0
  180. codex/static_root/assets/reader-CRJUR2qj.js +2 -0
  181. codex/static_root/assets/reader-CRJUR2qj.js.br +0 -0
  182. codex/static_root/assets/reader-CRJUR2qj.js.gz +0 -0
  183. codex/static_root/assets/{reader-BpsctRsY.5d72e393911a.css → reader-CqXFa_gE.78267e9de0c2.css} +1 -1
  184. codex/static_root/assets/reader-CqXFa_gE.78267e9de0c2.css.br +0 -0
  185. codex/static_root/assets/reader-CqXFa_gE.78267e9de0c2.css.gz +0 -0
  186. codex/static_root/assets/{reader-BpsctRsY.css → reader-CqXFa_gE.css} +1 -1
  187. codex/static_root/assets/reader-CqXFa_gE.css.br +0 -0
  188. codex/static_root/assets/reader-CqXFa_gE.css.gz +0 -0
  189. codex/static_root/assets/{relation-chips-C5acBjpy.dc67d4528868.js → relation-chips-NgDnInw_.3b5ba16f68f0.js} +1 -1
  190. codex/static_root/assets/relation-chips-NgDnInw_.3b5ba16f68f0.js.br +0 -0
  191. codex/static_root/assets/relation-chips-NgDnInw_.3b5ba16f68f0.js.gz +0 -0
  192. codex/static_root/assets/{relation-chips-C5acBjpy.js → relation-chips-NgDnInw_.js} +1 -1
  193. codex/static_root/assets/relation-chips-NgDnInw_.js.br +0 -0
  194. codex/static_root/assets/relation-chips-NgDnInw_.js.gz +0 -0
  195. codex/static_root/assets/{settings-drawer-D_JuRi7F.f02f3f981f8f.js → settings-drawer-BaQT27kc.e43fc1527b66.js} +2 -2
  196. codex/static_root/assets/settings-drawer-BaQT27kc.e43fc1527b66.js.br +0 -0
  197. codex/static_root/assets/settings-drawer-BaQT27kc.e43fc1527b66.js.gz +0 -0
  198. codex/static_root/assets/{settings-drawer-D_JuRi7F.js → settings-drawer-BaQT27kc.js} +2 -2
  199. codex/static_root/assets/settings-drawer-BaQT27kc.js.br +0 -0
  200. codex/static_root/assets/settings-drawer-BaQT27kc.js.gz +0 -0
  201. codex/static_root/assets/{stats-tab-ClqRTk1z.c759ace65a87.js → stats-tab-DoHb54IU.30d7deea7b9f.js} +1 -1
  202. codex/static_root/assets/stats-tab-DoHb54IU.30d7deea7b9f.js.br +0 -0
  203. codex/static_root/assets/stats-tab-DoHb54IU.30d7deea7b9f.js.gz +0 -0
  204. codex/static_root/assets/{stats-tab-ClqRTk1z.js → stats-tab-DoHb54IU.js} +1 -1
  205. codex/static_root/assets/stats-tab-DoHb54IU.js.br +0 -0
  206. codex/static_root/assets/stats-tab-DoHb54IU.js.gz +0 -0
  207. codex/static_root/assets/{task-tab-DF9qa6LO.0b32cafde4ad.js → task-tab-B88ucu1U.4f240e3d82c4.js} +1 -1
  208. codex/static_root/assets/task-tab-B88ucu1U.4f240e3d82c4.js.br +0 -0
  209. codex/static_root/assets/task-tab-B88ucu1U.4f240e3d82c4.js.gz +0 -0
  210. codex/static_root/assets/{task-tab-DF9qa6LO.js → task-tab-B88ucu1U.js} +1 -1
  211. codex/static_root/assets/task-tab-B88ucu1U.js.br +0 -0
  212. codex/static_root/assets/task-tab-B88ucu1U.js.gz +0 -0
  213. codex/static_root/assets/to-case-B7MjLIw-.08fc8412de69.js +1 -0
  214. codex/static_root/assets/to-case-B7MjLIw-.08fc8412de69.js.br +0 -0
  215. codex/static_root/assets/to-case-B7MjLIw-.js +1 -0
  216. codex/static_root/assets/to-case-B7MjLIw-.js.br +0 -0
  217. codex/static_root/assets/{unauthorized-BjKuLH6k.2ae00ddd79fb.js → unauthorized-AnKtlgGy.62ee74d4373c.js} +1 -1
  218. codex/static_root/assets/unauthorized-AnKtlgGy.62ee74d4373c.js.br +0 -0
  219. codex/static_root/assets/unauthorized-AnKtlgGy.62ee74d4373c.js.gz +0 -0
  220. codex/static_root/assets/{unauthorized-BjKuLH6k.js → unauthorized-AnKtlgGy.js} +1 -1
  221. codex/static_root/assets/unauthorized-AnKtlgGy.js.br +0 -0
  222. codex/static_root/assets/unauthorized-AnKtlgGy.js.gz +0 -0
  223. codex/static_root/assets/{user-tab-Dpxe3ygA.7d90174631f0.js → user-tab-BxtZ2u7W.161cc8f0dcce.js} +1 -1
  224. codex/static_root/assets/user-tab-BxtZ2u7W.161cc8f0dcce.js.br +0 -0
  225. codex/static_root/assets/user-tab-BxtZ2u7W.161cc8f0dcce.js.gz +0 -0
  226. codex/static_root/assets/{user-tab-Dpxe3ygA.js → user-tab-BxtZ2u7W.js} +1 -1
  227. codex/static_root/assets/user-tab-BxtZ2u7W.js.br +0 -0
  228. codex/static_root/assets/user-tab-BxtZ2u7W.js.gz +0 -0
  229. codex/static_root/js/{choices.a0aaaa6c7ef7.json → choices.2f6b0359e1ef.json} +1 -1
  230. codex/static_root/js/choices.2f6b0359e1ef.json.br +0 -0
  231. codex/static_root/js/choices.2f6b0359e1ef.json.gz +0 -0
  232. codex/static_root/js/choices.json +1 -1
  233. codex/static_root/js/choices.json.br +0 -0
  234. codex/static_root/js/choices.json.gz +0 -0
  235. codex/static_root/{manifest.35e46a3ec8fa.json → manifest.3851c028b0cb.json} +223 -223
  236. codex/static_root/manifest.3851c028b0cb.json.br +0 -0
  237. codex/static_root/manifest.3851c028b0cb.json.gz +0 -0
  238. codex/static_root/manifest.json +223 -223
  239. codex/static_root/manifest.json.br +0 -0
  240. codex/static_root/manifest.json.gz +0 -0
  241. codex/static_root/staticfiles.json +1 -1
  242. codex/util.py +8 -6
  243. codex/views/bookmark.py +29 -23
  244. codex/views/browser/annotations.py +9 -45
  245. codex/views/browser/browser.py +26 -6
  246. codex/views/browser/choices.py +4 -22
  247. codex/views/browser/cover.py +26 -0
  248. codex/views/browser/filters/annotations.py +23 -8
  249. codex/views/browser/metadata.py +17 -7
  250. codex/views/const.py +1 -1
  251. codex/views/reader/init.py +16 -12
  252. codex/views/session.py +3 -1
  253. codex/websockets/consumers.py +1 -1
  254. {codex-1.6.0a10.dist-info → codex-1.6.0a11.dist-info}/METADATA +1 -1
  255. {codex-1.6.0a10.dist-info → codex-1.6.0a11.dist-info}/RECORD +258 -258
  256. codex/static_root/assets/VCheckbox-CY3rcqlS.de5154294920.js.br +0 -0
  257. codex/static_root/assets/VCheckbox-CY3rcqlS.de5154294920.js.gz +0 -0
  258. codex/static_root/assets/VCheckbox-CY3rcqlS.js.br +0 -0
  259. codex/static_root/assets/VCheckbox-CY3rcqlS.js.gz +0 -0
  260. codex/static_root/assets/VCheckboxBtn-D2tPTt6P.9a90d6818bf6.js.br +0 -0
  261. codex/static_root/assets/VCheckboxBtn-D2tPTt6P.9a90d6818bf6.js.gz +0 -0
  262. codex/static_root/assets/VCheckboxBtn-D2tPTt6P.js.br +0 -0
  263. codex/static_root/assets/VCheckboxBtn-D2tPTt6P.js.gz +0 -0
  264. codex/static_root/assets/VCombobox-aJr--Ou7.f290ccf2ce25.js.br +0 -0
  265. codex/static_root/assets/VCombobox-aJr--Ou7.f290ccf2ce25.js.gz +0 -0
  266. codex/static_root/assets/VCombobox-aJr--Ou7.js.br +0 -0
  267. codex/static_root/assets/VCombobox-aJr--Ou7.js.gz +0 -0
  268. codex/static_root/assets/VDialog-61pzfUB2.33f73beb5224.js.br +0 -0
  269. codex/static_root/assets/VDialog-61pzfUB2.33f73beb5224.js.gz +0 -0
  270. codex/static_root/assets/VDialog-61pzfUB2.js.br +0 -0
  271. codex/static_root/assets/VDialog-61pzfUB2.js.gz +0 -0
  272. codex/static_root/assets/VExpansionPanels-rewm0P4z.5c7680f815b6.js.br +0 -0
  273. codex/static_root/assets/VExpansionPanels-rewm0P4z.5c7680f815b6.js.gz +0 -0
  274. codex/static_root/assets/VExpansionPanels-rewm0P4z.js.br +0 -0
  275. codex/static_root/assets/VExpansionPanels-rewm0P4z.js.gz +0 -0
  276. codex/static_root/assets/VRadioGroup-QFQbK1qo.750a42b1b814.js.br +0 -0
  277. codex/static_root/assets/VRadioGroup-QFQbK1qo.750a42b1b814.js.gz +0 -0
  278. codex/static_root/assets/VRadioGroup-QFQbK1qo.js.br +0 -0
  279. codex/static_root/assets/VRadioGroup-QFQbK1qo.js.gz +0 -0
  280. codex/static_root/assets/VSelect-Dixy6okt.5d53830daa8a.js.br +0 -0
  281. codex/static_root/assets/VSelect-Dixy6okt.5d53830daa8a.js.gz +0 -0
  282. codex/static_root/assets/VSelect-Dixy6okt.js.br +0 -0
  283. codex/static_root/assets/VSelect-Dixy6okt.js.gz +0 -0
  284. codex/static_root/assets/VSelectionControl-MNmxKc3J.08055d00917e.js.br +0 -0
  285. codex/static_root/assets/VSelectionControl-MNmxKc3J.08055d00917e.js.gz +0 -0
  286. codex/static_root/assets/VSelectionControl-MNmxKc3J.js.br +0 -0
  287. codex/static_root/assets/VSelectionControl-MNmxKc3J.js.gz +0 -0
  288. codex/static_root/assets/VSlideGroup-DZEV0FoV.5f996daf0e98.js.br +0 -0
  289. codex/static_root/assets/VSlideGroup-DZEV0FoV.5f996daf0e98.js.gz +0 -0
  290. codex/static_root/assets/VSlideGroup-DZEV0FoV.js.br +0 -0
  291. codex/static_root/assets/VSlideGroup-DZEV0FoV.js.gz +0 -0
  292. codex/static_root/assets/VTable-lcnYg9Ee.d72927b13c2e.js.br +0 -0
  293. codex/static_root/assets/VTable-lcnYg9Ee.d72927b13c2e.js.gz +0 -0
  294. codex/static_root/assets/VTable-lcnYg9Ee.js.br +0 -0
  295. codex/static_root/assets/VTable-lcnYg9Ee.js.gz +0 -0
  296. codex/static_root/assets/VTextField-BkFrjhdV.b02653a9b3b7.js.br +0 -0
  297. codex/static_root/assets/VTextField-BkFrjhdV.b02653a9b3b7.js.gz +0 -0
  298. codex/static_root/assets/VTextField-BkFrjhdV.js.br +0 -0
  299. codex/static_root/assets/VTextField-BkFrjhdV.js.gz +0 -0
  300. codex/static_root/assets/VWindowItem-C__tAqdc.9791c128c3b7.js.br +0 -0
  301. codex/static_root/assets/VWindowItem-C__tAqdc.9791c128c3b7.js.gz +0 -0
  302. codex/static_root/assets/VWindowItem-C__tAqdc.js.br +0 -0
  303. codex/static_root/assets/VWindowItem-C__tAqdc.js.gz +0 -0
  304. codex/static_root/assets/admin-CXES2HXe.9e48a9bf84e0.js.br +0 -0
  305. codex/static_root/assets/admin-CXES2HXe.9e48a9bf84e0.js.gz +0 -0
  306. codex/static_root/assets/admin-CXES2HXe.js.br +0 -0
  307. codex/static_root/assets/admin-CXES2HXe.js.gz +0 -0
  308. codex/static_root/assets/admin-drawer-panel-rrNKi_GE.e2b034db7934.js.br +0 -0
  309. codex/static_root/assets/admin-drawer-panel-rrNKi_GE.e2b034db7934.js.gz +0 -0
  310. codex/static_root/assets/admin-drawer-panel-rrNKi_GE.js.br +0 -0
  311. codex/static_root/assets/admin-drawer-panel-rrNKi_GE.js.gz +0 -0
  312. codex/static_root/assets/browser-BuDeXGEe.css.br +0 -0
  313. codex/static_root/assets/browser-BuDeXGEe.css.gz +0 -0
  314. codex/static_root/assets/browser-BuDeXGEe.f60854183b45.css.br +0 -0
  315. codex/static_root/assets/browser-BuDeXGEe.f60854183b45.css.gz +0 -0
  316. codex/static_root/assets/browser-s6mFzrK9.0d2200b451af.js +0 -1
  317. codex/static_root/assets/browser-s6mFzrK9.0d2200b451af.js.br +0 -0
  318. codex/static_root/assets/browser-s6mFzrK9.0d2200b451af.js.gz +0 -0
  319. codex/static_root/assets/browser-s6mFzrK9.js +0 -1
  320. codex/static_root/assets/browser-s6mFzrK9.js.br +0 -0
  321. codex/static_root/assets/browser-s6mFzrK9.js.gz +0 -0
  322. codex/static_root/assets/change-password-dialog-Bn20jYzD.593c5af1732b.js.br +0 -0
  323. codex/static_root/assets/change-password-dialog-Bn20jYzD.593c5af1732b.js.gz +0 -0
  324. codex/static_root/assets/change-password-dialog-Bn20jYzD.js.br +0 -0
  325. codex/static_root/assets/change-password-dialog-Bn20jYzD.js.gz +0 -0
  326. codex/static_root/assets/confirm-dialog-CWszioQE.859051c35dd9.js.br +0 -0
  327. codex/static_root/assets/confirm-dialog-CWszioQE.859051c35dd9.js.gz +0 -0
  328. codex/static_root/assets/confirm-dialog-CWszioQE.js.br +0 -0
  329. codex/static_root/assets/confirm-dialog-CWszioQE.js.gz +0 -0
  330. codex/static_root/assets/datetime-column-BSdlLt-4.27ec2df67a0b.js.br +0 -0
  331. codex/static_root/assets/datetime-column-BSdlLt-4.27ec2df67a0b.js.gz +0 -0
  332. codex/static_root/assets/datetime-column-BSdlLt-4.js.br +0 -0
  333. codex/static_root/assets/datetime-column-BSdlLt-4.js.gz +0 -0
  334. codex/static_root/assets/filter-D3gaGf87.1f14dbfd9929.js.br +0 -0
  335. codex/static_root/assets/filter-D3gaGf87.1f14dbfd9929.js.gz +0 -0
  336. codex/static_root/assets/filter-D3gaGf87.js.br +0 -0
  337. codex/static_root/assets/filter-D3gaGf87.js.gz +0 -0
  338. codex/static_root/assets/flag-tab-8vzpdySX.a982c7f0776a.js.br +0 -0
  339. codex/static_root/assets/flag-tab-8vzpdySX.a982c7f0776a.js.gz +0 -0
  340. codex/static_root/assets/flag-tab-8vzpdySX.js.br +0 -0
  341. codex/static_root/assets/flag-tab-8vzpdySX.js.gz +0 -0
  342. codex/static_root/assets/group-tab-Cz9t_ECi.a9e8aea79254.js.br +0 -0
  343. codex/static_root/assets/group-tab-Cz9t_ECi.a9e8aea79254.js.gz +0 -0
  344. codex/static_root/assets/group-tab-Cz9t_ECi.js.br +0 -0
  345. codex/static_root/assets/group-tab-Cz9t_ECi.js.gz +0 -0
  346. codex/static_root/assets/http-error-Cqtszzf1.b31df3d9c29f.js.br +0 -0
  347. codex/static_root/assets/http-error-Cqtszzf1.b31df3d9c29f.js.gz +0 -0
  348. codex/static_root/assets/http-error-Cqtszzf1.js.br +0 -0
  349. codex/static_root/assets/http-error-Cqtszzf1.js.gz +0 -0
  350. codex/static_root/assets/library-tab-DMlnswUU.30f454e84184.js.br +0 -0
  351. codex/static_root/assets/library-tab-DMlnswUU.30f454e84184.js.gz +0 -0
  352. codex/static_root/assets/library-tab-DMlnswUU.js.br +0 -0
  353. codex/static_root/assets/library-tab-DMlnswUU.js.gz +0 -0
  354. codex/static_root/assets/main-vjXu_QYL.548bd4c38799.js.br +0 -0
  355. codex/static_root/assets/main-vjXu_QYL.548bd4c38799.js.gz +0 -0
  356. codex/static_root/assets/main-vjXu_QYL.js.br +0 -0
  357. codex/static_root/assets/main-vjXu_QYL.js.gz +0 -0
  358. codex/static_root/assets/pagination-toolbar-DGdMiBRs.5829b01b8a2f.css +0 -1
  359. codex/static_root/assets/pagination-toolbar-DGdMiBRs.5829b01b8a2f.css.br +0 -0
  360. codex/static_root/assets/pagination-toolbar-DGdMiBRs.5829b01b8a2f.css.gz +0 -0
  361. codex/static_root/assets/pagination-toolbar-DGdMiBRs.css +0 -1
  362. codex/static_root/assets/pagination-toolbar-DGdMiBRs.css.br +0 -0
  363. codex/static_root/assets/pagination-toolbar-DGdMiBRs.css.gz +0 -0
  364. codex/static_root/assets/pagination-toolbar-JW78pa0q.91024effdab9.js +0 -1
  365. codex/static_root/assets/pagination-toolbar-JW78pa0q.91024effdab9.js.br +0 -0
  366. codex/static_root/assets/pagination-toolbar-JW78pa0q.91024effdab9.js.gz +0 -0
  367. codex/static_root/assets/pagination-toolbar-JW78pa0q.js +0 -1
  368. codex/static_root/assets/pagination-toolbar-JW78pa0q.js.br +0 -0
  369. codex/static_root/assets/pagination-toolbar-JW78pa0q.js.gz +0 -0
  370. codex/static_root/assets/pdf-doc-BiamrjRZ.4c9be1ade43c.js.br +0 -0
  371. codex/static_root/assets/pdf-doc-BiamrjRZ.4c9be1ade43c.js.gz +0 -0
  372. codex/static_root/assets/pdf-doc-BiamrjRZ.js.br +0 -0
  373. codex/static_root/assets/pdf-doc-BiamrjRZ.js.gz +0 -0
  374. codex/static_root/assets/reader-BpsctRsY.5d72e393911a.css.br +0 -0
  375. codex/static_root/assets/reader-BpsctRsY.5d72e393911a.css.gz +0 -0
  376. codex/static_root/assets/reader-BpsctRsY.css.br +0 -0
  377. codex/static_root/assets/reader-BpsctRsY.css.gz +0 -0
  378. codex/static_root/assets/reader-CDk8oZzB.ad62eebda920.js +0 -2
  379. codex/static_root/assets/reader-CDk8oZzB.ad62eebda920.js.br +0 -0
  380. codex/static_root/assets/reader-CDk8oZzB.ad62eebda920.js.gz +0 -0
  381. codex/static_root/assets/reader-CDk8oZzB.js +0 -2
  382. codex/static_root/assets/reader-CDk8oZzB.js.br +0 -0
  383. codex/static_root/assets/reader-CDk8oZzB.js.gz +0 -0
  384. codex/static_root/assets/relation-chips-C5acBjpy.dc67d4528868.js.br +0 -0
  385. codex/static_root/assets/relation-chips-C5acBjpy.dc67d4528868.js.gz +0 -0
  386. codex/static_root/assets/relation-chips-C5acBjpy.js.br +0 -0
  387. codex/static_root/assets/relation-chips-C5acBjpy.js.gz +0 -0
  388. codex/static_root/assets/settings-drawer-D_JuRi7F.f02f3f981f8f.js.br +0 -0
  389. codex/static_root/assets/settings-drawer-D_JuRi7F.f02f3f981f8f.js.gz +0 -0
  390. codex/static_root/assets/settings-drawer-D_JuRi7F.js.br +0 -0
  391. codex/static_root/assets/settings-drawer-D_JuRi7F.js.gz +0 -0
  392. codex/static_root/assets/stats-tab-ClqRTk1z.c759ace65a87.js.br +0 -0
  393. codex/static_root/assets/stats-tab-ClqRTk1z.c759ace65a87.js.gz +0 -0
  394. codex/static_root/assets/stats-tab-ClqRTk1z.js.br +0 -0
  395. codex/static_root/assets/stats-tab-ClqRTk1z.js.gz +0 -0
  396. codex/static_root/assets/task-tab-DF9qa6LO.0b32cafde4ad.js.br +0 -0
  397. codex/static_root/assets/task-tab-DF9qa6LO.0b32cafde4ad.js.gz +0 -0
  398. codex/static_root/assets/task-tab-DF9qa6LO.js.br +0 -0
  399. codex/static_root/assets/task-tab-DF9qa6LO.js.gz +0 -0
  400. codex/static_root/assets/to-case-CGbULRaE.4c80644f460d.js +0 -1
  401. codex/static_root/assets/to-case-CGbULRaE.4c80644f460d.js.br +0 -0
  402. codex/static_root/assets/to-case-CGbULRaE.js +0 -1
  403. codex/static_root/assets/to-case-CGbULRaE.js.br +0 -0
  404. codex/static_root/assets/unauthorized-BjKuLH6k.2ae00ddd79fb.js.br +0 -0
  405. codex/static_root/assets/unauthorized-BjKuLH6k.2ae00ddd79fb.js.gz +0 -0
  406. codex/static_root/assets/unauthorized-BjKuLH6k.js.br +0 -0
  407. codex/static_root/assets/unauthorized-BjKuLH6k.js.gz +0 -0
  408. codex/static_root/assets/user-tab-Dpxe3ygA.7d90174631f0.js.br +0 -0
  409. codex/static_root/assets/user-tab-Dpxe3ygA.7d90174631f0.js.gz +0 -0
  410. codex/static_root/assets/user-tab-Dpxe3ygA.js.br +0 -0
  411. codex/static_root/assets/user-tab-Dpxe3ygA.js.gz +0 -0
  412. codex/static_root/js/choices.a0aaaa6c7ef7.json.br +0 -0
  413. codex/static_root/js/choices.a0aaaa6c7ef7.json.gz +0 -0
  414. codex/static_root/manifest.35e46a3ec8fa.json.br +0 -0
  415. codex/static_root/manifest.35e46a3ec8fa.json.gz +0 -0
  416. {codex-1.6.0a10.dist-info → codex-1.6.0a11.dist-info}/LICENSE +0 -0
  417. {codex-1.6.0a10.dist-info → codex-1.6.0a11.dist-info}/WHEEL +0 -0
  418. {codex-1.6.0a10.dist-info → codex-1.6.0a11.dist-info}/entry_points.txt +0 -0
@@ -21,10 +21,11 @@ from codex.serializers.fields import (
21
21
  FloatListField,
22
22
  IntListField,
23
23
  )
24
+ from codex.serializers.models.pycountry import CountrySerializer, LanguageSerializer
24
25
 
25
26
 
26
27
  class BrowserChoicesCharPkSerializer(Serializer):
27
- """Named Model Serailizer with pk = char hack for languages & countries."""
28
+ """Named Model Serializer."""
28
29
 
29
30
  pk = CharField(read_only=True)
30
31
  name = CharField(read_only=True)
@@ -58,14 +59,25 @@ _CHOICES_TYPE_SERIALIZER_MAP = MappingProxyType(
58
59
  IntListField: BrowserChoicesIntPkSerializer,
59
60
  }
60
61
  )
61
- _CHOICES_SERIALIZER_CLASS_MAP = MappingProxyType(
62
- {
63
- name: _CHOICES_TYPE_SERIALIZER_MAP[field.__class__]
64
- for name, field in BrowserSettingsFilterSerializer().fields.items() # type: ignore
65
- }
62
+ _CHOICES_NAME_SERIALIZER_MAP = MappingProxyType(
63
+ {"country": CountrySerializer, "language": LanguageSerializer}
66
64
  )
67
65
 
68
66
 
67
+ def _create_choices_field_serializer_map():
68
+ serializer_map = {}
69
+ for name, field in BrowserSettingsFilterSerializer().fields.items(): # type: ignore
70
+ serializer_class = _CHOICES_NAME_SERIALIZER_MAP.get(name)
71
+ if not serializer_class:
72
+ serializer_class = _CHOICES_TYPE_SERIALIZER_MAP[field.__class__]
73
+ serializer_map[name] = serializer_class
74
+
75
+ return MappingProxyType(serializer_map)
76
+
77
+
78
+ _CHOICES_SERIALIZER_CLASS_MAP = _create_choices_field_serializer_map()
79
+
80
+
69
81
  class BrowserChoicesFilterSerializer(Serializer):
70
82
  """Dynamic Serializer response by field type."""
71
83
 
@@ -53,14 +53,14 @@ class BrowserSettingsFilterSerializer(Serializer):
53
53
  age_rating = CharListField(allow_blank=True, required=False)
54
54
  characters = IntListField(required=False)
55
55
  community_rating = FloatListField(required=False)
56
- country = CharListField(allow_blank=True, required=False)
56
+ country = IntListField(required=False)
57
57
  contributors = IntListField(required=False)
58
58
  critical_rating = FloatListField(required=False)
59
59
  decade = DecadeListField(required=False)
60
60
  file_type = CharListField(allow_blank=True, required=False)
61
61
  genres = IntListField(required=False)
62
62
  identifier_type = CharListField(allow_blank=True, required=False)
63
- language = CharListField(allow_blank=True, required=False)
63
+ language = IntListField(required=False)
64
64
  locations = IntListField()
65
65
  monochrome = BooleanListField(required=False)
66
66
  original_format = CharListField(required=False, allow_blank=True)
@@ -1,5 +1,7 @@
1
1
  """Serializer mixins."""
2
2
 
3
+ from datetime import datetime, timezone
4
+
3
5
  from rest_framework.serializers import (
4
6
  BooleanField,
5
7
  CharField,
@@ -7,10 +9,14 @@ from rest_framework.serializers import (
7
9
  DecimalField,
8
10
  IntegerField,
9
11
  Serializer,
12
+ SerializerMethodField,
10
13
  )
11
14
 
15
+ from codex.logger.logging import get_logger
12
16
  from codex.serializers.browser.filters import IntListField
13
- from codex.serializers.fields import TimestampField
17
+ from codex.views.const import COMIC_GROUP, EPOCH_START
18
+
19
+ LOG = get_logger(__name__)
14
20
 
15
21
 
16
22
  class BrowserAggregateSerializerMixin(Serializer):
@@ -21,7 +27,7 @@ class BrowserAggregateSerializerMixin(Serializer):
21
27
 
22
28
  # Aggregate Annotations
23
29
  child_count = IntegerField(read_only=True)
24
- mtime = TimestampField(read_only=True)
30
+ mtime = SerializerMethodField(read_only=True)
25
31
 
26
32
  # Bookmark annotations
27
33
  page = IntegerField(read_only=True)
@@ -30,3 +36,30 @@ class BrowserAggregateSerializerMixin(Serializer):
30
36
  progress = DecimalField(
31
37
  max_digits=5, decimal_places=2, read_only=True, coerce_to_string=False
32
38
  )
39
+
40
+ def get_mtime(self, obj) -> int:
41
+ """Compute mtime from json array aggregates."""
42
+ mtime = EPOCH_START
43
+ for dt_str in obj.updated_ats:
44
+ if not dt_str:
45
+ continue
46
+ try:
47
+ dt = datetime.strptime(dt_str, "%Y-%m-%d %H:%M:%S.%f").replace(
48
+ tzinfo=timezone.utc
49
+ )
50
+ except ValueError:
51
+ LOG.warning(
52
+ f"computing group mtime: {dt_str} is not a valid datetime string."
53
+ )
54
+ continue
55
+
56
+ if dt > mtime:
57
+ mtime = dt
58
+
59
+ if obj.group != COMIC_GROUP and (
60
+ mbua := getattr(obj, "max_bookmark_updated_at", None)
61
+ ):
62
+ mtime = max(mtime, mbua)
63
+
64
+ # print(obj.group, obj.pk, obj.name, obj.updated_ats, obj.max_bookmark_updated_at, "max:", mtime)
65
+ return int(mtime.timestamp() * 1000)
@@ -11,6 +11,7 @@ from rest_framework.serializers import (
11
11
  from codex.serializers.browser.filters import BrowserSettingsFilterSerializer
12
12
  from codex.serializers.choices import CHOICES, VUETIFY_NULL_CODE
13
13
  from codex.serializers.fields import BreadcrumbsField, TimestampField, TopGroupField
14
+ from codex.serializers.route import SimpleRouteSerializer
14
15
 
15
16
  VUETIFY_NULL_CODE_STR = str(VUETIFY_NULL_CODE)
16
17
 
@@ -31,8 +32,8 @@ class BrowserFilterChoicesInputSerilalizer(Serializer):
31
32
  q = CharField(allow_blank=True, required=False)
32
33
 
33
34
 
34
- class BrowserCoverInputSerializer(BrowserFilterChoicesInputSerilalizer):
35
- """Browser Settings for the cover response."""
35
+ class BrowserCoverInputSerializerBase(BrowserFilterChoicesInputSerilalizer):
36
+ """Base Serializer for Cover and Settings."""
36
37
 
37
38
  custom_covers = BooleanField(required=False)
38
39
  dynamic_covers = BooleanField(required=False)
@@ -41,7 +42,13 @@ class BrowserCoverInputSerializer(BrowserFilterChoicesInputSerilalizer):
41
42
  show = BrowserSettingsShowGroupFlagsSerializer(required=False)
42
43
 
43
44
 
44
- class BrowserSettingsSerializerBase(BrowserCoverInputSerializer):
45
+ class BrowserCoverInputSerializer(BrowserCoverInputSerializerBase):
46
+ """Browser Settings for the cover response."""
47
+
48
+ parent = SimpleRouteSerializer(required=False)
49
+
50
+
51
+ class BrowserSettingsSerializerBase(BrowserCoverInputSerializerBase):
45
52
  """Base Serializer for Browser & OPDS Settings."""
46
53
 
47
54
  # search_results_limit = IntegerField(required=False)
@@ -53,10 +53,13 @@ _SINGLE_VALUE_KEYS = frozenset(
53
53
  {
54
54
  "customCovers",
55
55
  "dynamicCovers",
56
+ "finishOnLastPage",
56
57
  "orderReverse",
57
58
  "q",
59
+ "readRtlInReverse",
58
60
  "searchResultsLimit",
59
61
  "twentyFourHourTime",
62
+ "twoPages",
60
63
  }
61
64
  )
62
65
 
@@ -65,6 +68,7 @@ CHOICES = {}
65
68
  DEFAULTS = {}
66
69
  WEBSOCKET_MESSAGES = {}
67
70
  VUETIFY_NULL_CODE = -1
71
+ DUMMY_NULL_NAME = "_none_"
68
72
 
69
73
 
70
74
  def _find_filename_regex(js_root, module_name):
@@ -3,6 +3,7 @@
3
3
  from abc import ABC
4
4
  from datetime import datetime, timezone
5
5
 
6
+ import pycountry
6
7
  from django.core.exceptions import ValidationError
7
8
  from django.utils.translation import gettext_lazy as _
8
9
  from rest_framework.fields import Field
@@ -15,10 +16,12 @@ from rest_framework.serializers import (
15
16
  ListField,
16
17
  )
17
18
 
18
- from codex.serializers.choices import CHOICES, VUETIFY_NULL_CODE
19
+ from codex.logger.logging import get_logger
20
+ from codex.serializers.choices import CHOICES, DUMMY_NULL_NAME, VUETIFY_NULL_CODE
19
21
  from codex.serializers.route import RouteSerializer
20
22
 
21
23
  VUETIFY_NULL_CODE_STR = str(VUETIFY_NULL_CODE)
24
+ LOG = get_logger(__name__)
22
25
 
23
26
 
24
27
  class TimestampField(IntegerField):
@@ -138,3 +141,42 @@ class TopGroupField(ChoiceField):
138
141
  def __init__(self, *args, **kwargs):
139
142
  """Initialize with choices."""
140
143
  super().__init__(*args, choices=self.class_choices, **kwargs)
144
+
145
+
146
+ class PyCountryField(CharField, ABC):
147
+ """Serialize to a long pycountry name."""
148
+
149
+ LOOKUP_MODULE = pycountry.countries
150
+ _ALPHA_2_LEN = 2
151
+
152
+ def to_representation(self, value):
153
+ """Lookup the name with pycountry, just copy the value on fail."""
154
+ if not value:
155
+ return ""
156
+ if value == DUMMY_NULL_NAME:
157
+ return value
158
+ try:
159
+ # fix for https://github.com/flyingcircusio/pycountry/issues/41
160
+ lookup_obj = (
161
+ self.LOOKUP_MODULE.get(alpha_2=value)
162
+ if len(value) == self._ALPHA_2_LEN
163
+ else self.LOOKUP_MODULE.lookup(value)
164
+ )
165
+ # If lookup fails, return the key as the name
166
+ except Exception:
167
+ LOG.warning(f"Could not serialize name with pycountry {value}")
168
+ return value
169
+ else:
170
+ return lookup_obj.name if lookup_obj else value
171
+
172
+
173
+ class CountryField(PyCountryField):
174
+ """Serializer to long country name."""
175
+
176
+ LOOKUP_MODULE = pycountry.countries
177
+
178
+
179
+ class LanguageField(PyCountryField):
180
+ """Serializer to long language name."""
181
+
182
+ LOOKUP_MODULE = pycountry.languages
@@ -1,73 +1,33 @@
1
1
  """Pycountry Model Serializers."""
2
2
 
3
- import pycountry
4
- from drf_spectacular.types import OpenApiTypes
5
- from drf_spectacular.utils import extend_schema_field
6
- from rest_framework.serializers import (
7
- SerializerMethodField,
8
- )
9
-
3
+ from codex.logger.logging import get_logger
10
4
  from codex.models import (
11
5
  Country,
12
6
  Language,
13
7
  )
8
+ from codex.serializers.fields import CountryField, LanguageField
14
9
  from codex.serializers.models.named import NamedModelSerializer
15
10
 
11
+ LOG = get_logger(__name__)
16
12
 
17
- class PyCountrySerializer(NamedModelSerializer):
18
- """PyCountry tag serializer to include long names.
19
13
 
20
- Takes a single string value and serializes the value to
21
- a pk attribute and a pycountry long name lookup of that value to
22
- the name.
23
- """
24
-
25
- LOOKUP_MODULE = pycountry.countries
26
- _ALPHA_2_LEN = 2
14
+ class CountrySerializer(NamedModelSerializer):
15
+ """Pycountry serializer for country field."""
27
16
 
28
- name = SerializerMethodField()
17
+ name = CountryField(read_only=True)
29
18
 
30
19
  class Meta(NamedModelSerializer.Meta):
31
- """Abstract class."""
32
-
33
- abstract = True
34
-
35
- @classmethod
36
- def lookup_name(cls, lookup_module, obj):
37
- """Lookup the name with pycountry, just copy the key on fail."""
38
- name = obj.name
39
- if not name:
40
- return ""
41
- # fix for https://github.com/flyingcircusio/pycountry/issues/41
42
- lookup_obj = (
43
- lookup_module.get(alpha_2=name)
44
- if len(name) == cls._ALPHA_2_LEN
45
- else lookup_module.lookup(name)
46
- )
47
- # If lookup fails, return the key as the name
48
- return lookup_obj.name if lookup_obj else name
20
+ """Configure model."""
49
21
 
50
- @extend_schema_field(OpenApiTypes.STR)
51
- def get_name(self, obj):
52
- """Lookup the name with pycountry, just copy the key on fail."""
53
- return self.lookup_name(self.LOOKUP_MODULE, obj)
22
+ model = Country
54
23
 
55
24
 
56
- class LanguageSerializer(PyCountrySerializer):
25
+ class LanguageSerializer(NamedModelSerializer):
57
26
  """Pycountry serializer for language field."""
58
27
 
59
- LOOKUP_MODULE = pycountry.languages
28
+ name = LanguageField(read_only=True)
60
29
 
61
- class Meta(PyCountrySerializer.Meta):
30
+ class Meta(NamedModelSerializer.Meta):
62
31
  """Configure model."""
63
32
 
64
33
  model = Language
65
-
66
-
67
- class CountrySerializer(PyCountrySerializer):
68
- """Pycountry serializer for country field."""
69
-
70
- class Meta(PyCountrySerializer.Meta):
71
- """Configure model."""
72
-
73
- model = Country
@@ -26,6 +26,7 @@ class ReaderSettingsSerializer(Serializer):
26
26
  two_pages = BooleanField(allow_null=True, required=False)
27
27
  reading_direction = CharField(allow_null=True, required=False)
28
28
  read_rtl_in_reverse = BooleanField(allow_null=True, required=False)
29
+ finish_on_last_page = BooleanField(allow_null=True, required=False)
29
30
  mtime = TimestampField(read_only=True)
30
31
 
31
32
 
@@ -1 +1 @@
1
- import{m as g,V as t}from"./VCheckboxBtn-D2tPTt6P.js";import{a as A,u as B,V as l}from"./VSelectionControl-MNmxKc3J.js";import{E as I,ao as R,O as U,aw as w,F as D,h as E,R as M,cB as N,S as u,as as r}from"./admin-drawer-panel-rrNKi_GE.js";const O=I({...A(),...R(g(),["inline"])},"VCheckbox"),q=U()({name:"VCheckbox",inheritAttrs:!1,props:O(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,c){let{attrs:d,slots:a}=c;const s=w(e,"modelValue"),{isFocused:n,focus:i,blur:m}=B(e),V=D(),p=E(()=>e.id||`checkbox-${V}`);return M(()=>{const[b,f]=N(d),v=l.filterProps(e),k=t.filterProps(e);return u(l,r({class:["v-checkbox",e.class]},b,v,{modelValue:s.value,"onUpdate:modelValue":o=>s.value=o,id:p.value,focused:n.value,style:e.style}),{...a,default:o=>{let{id:h,messagesId:x,isDisabled:P,isReadonly:C,isValid:y}=o;return u(t,r(k,{id:h.value,"aria-describedby":x.value,disabled:P.value,readonly:C.value},f,{error:y.value===!1,modelValue:s.value,"onUpdate:modelValue":F=>s.value=F,onFocus:i,onBlur:m}),a)}})}),{}}});export{q as V};
1
+ import{m as g,V as t}from"./VCheckboxBtn-DVq5lDK4.js";import{a as A,u as B,V as l}from"./VSelectionControl-BXJGg8No.js";import{E as I,ao as R,O as U,aw as w,F as D,h as E,R as M,cB as N,S as u,as as r}from"./admin-drawer-panel-Dmn4wEY3.js";const O=I({...A(),...R(g(),["inline"])},"VCheckbox"),q=U()({name:"VCheckbox",inheritAttrs:!1,props:O(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,c){let{attrs:d,slots:a}=c;const s=w(e,"modelValue"),{isFocused:n,focus:i,blur:m}=B(e),V=D(),p=E(()=>e.id||`checkbox-${V}`);return M(()=>{const[b,f]=N(d),v=l.filterProps(e),k=t.filterProps(e);return u(l,r({class:["v-checkbox",e.class]},b,v,{modelValue:s.value,"onUpdate:modelValue":o=>s.value=o,id:p.value,focused:n.value,style:e.style}),{...a,default:o=>{let{id:h,messagesId:x,isDisabled:P,isReadonly:C,isValid:y}=o;return u(t,r(k,{id:h.value,"aria-describedby":x.value,disabled:P.value,readonly:C.value},f,{error:y.value===!1,modelValue:s.value,"onUpdate:modelValue":F=>s.value=F,onFocus:i,onBlur:m}),a)}})}),{}}});export{q as V};
@@ -1 +1 @@
1
- import{m as g,V as t}from"./VCheckboxBtn-D2tPTt6P.js";import{a as A,u as B,V as l}from"./VSelectionControl-MNmxKc3J.js";import{E as I,ao as R,O as U,aw as w,F as D,h as E,R as M,cB as N,S as u,as as r}from"./admin-drawer-panel-rrNKi_GE.js";const O=I({...A(),...R(g(),["inline"])},"VCheckbox"),q=U()({name:"VCheckbox",inheritAttrs:!1,props:O(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,c){let{attrs:d,slots:a}=c;const s=w(e,"modelValue"),{isFocused:n,focus:i,blur:m}=B(e),V=D(),p=E(()=>e.id||`checkbox-${V}`);return M(()=>{const[b,f]=N(d),v=l.filterProps(e),k=t.filterProps(e);return u(l,r({class:["v-checkbox",e.class]},b,v,{modelValue:s.value,"onUpdate:modelValue":o=>s.value=o,id:p.value,focused:n.value,style:e.style}),{...a,default:o=>{let{id:h,messagesId:x,isDisabled:P,isReadonly:C,isValid:y}=o;return u(t,r(k,{id:h.value,"aria-describedby":x.value,disabled:P.value,readonly:C.value},f,{error:y.value===!1,modelValue:s.value,"onUpdate:modelValue":F=>s.value=F,onFocus:i,onBlur:m}),a)}})}),{}}});export{q as V};
1
+ import{m as g,V as t}from"./VCheckboxBtn-DVq5lDK4.js";import{a as A,u as B,V as l}from"./VSelectionControl-BXJGg8No.js";import{E as I,ao as R,O as U,aw as w,F as D,h as E,R as M,cB as N,S as u,as as r}from"./admin-drawer-panel-Dmn4wEY3.js";const O=I({...A(),...R(g(),["inline"])},"VCheckbox"),q=U()({name:"VCheckbox",inheritAttrs:!1,props:O(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,c){let{attrs:d,slots:a}=c;const s=w(e,"modelValue"),{isFocused:n,focus:i,blur:m}=B(e),V=D(),p=E(()=>e.id||`checkbox-${V}`);return M(()=>{const[b,f]=N(d),v=l.filterProps(e),k=t.filterProps(e);return u(l,r({class:["v-checkbox",e.class]},b,v,{modelValue:s.value,"onUpdate:modelValue":o=>s.value=o,id:p.value,focused:n.value,style:e.style}),{...a,default:o=>{let{id:h,messagesId:x,isDisabled:P,isReadonly:C,isValid:y}=o;return u(t,r(k,{id:h.value,"aria-describedby":x.value,disabled:P.value,readonly:C.value},f,{error:y.value===!1,modelValue:s.value,"onUpdate:modelValue":F=>s.value=F,onFocus:i,onBlur:m}),a)}})}),{}}});export{q as V};
@@ -1 +1 @@
1
- import{c as f,d as o}from"./VSelectionControl-MNmxKc3J.js";import{E as V,bf as v,O as I,aw as c,h as l,R as h,ao as k,S as x,as as b}from"./admin-drawer-panel-rrNKi_GE.js";const C=V({indeterminate:Boolean,indeterminateIcon:{type:v,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),B=I()({name:"VCheckboxBtn",props:C(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,r){let{slots:s}=r;const t=c(e,"indeterminate"),n=c(e,"modelValue");function u(a){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),d=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return h(()=>{const a=k(o.filterProps(e),["modelValue"]);return x(o,b(a,{modelValue:n.value,"onUpdate:modelValue":[m=>n.value=m,u],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:i.value,trueIcon:d.value,"aria-checked":t.value?"mixed":void 0}),s)}),{}}});export{B as V,C as m};
1
+ import{c as f,d as o}from"./VSelectionControl-BXJGg8No.js";import{E as V,bf as v,O as I,aw as c,h as l,R as h,ao as k,S as x,as as b}from"./admin-drawer-panel-Dmn4wEY3.js";const C=V({indeterminate:Boolean,indeterminateIcon:{type:v,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),B=I()({name:"VCheckboxBtn",props:C(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,r){let{slots:s}=r;const t=c(e,"indeterminate"),n=c(e,"modelValue");function u(a){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),d=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return h(()=>{const a=k(o.filterProps(e),["modelValue"]);return x(o,b(a,{modelValue:n.value,"onUpdate:modelValue":[m=>n.value=m,u],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:i.value,trueIcon:d.value,"aria-checked":t.value?"mixed":void 0}),s)}),{}}});export{B as V,C as m};
@@ -1 +1 @@
1
- import{c as f,d as o}from"./VSelectionControl-MNmxKc3J.js";import{E as V,bf as v,O as I,aw as c,h as l,R as h,ao as k,S as x,as as b}from"./admin-drawer-panel-rrNKi_GE.js";const C=V({indeterminate:Boolean,indeterminateIcon:{type:v,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),B=I()({name:"VCheckboxBtn",props:C(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,r){let{slots:s}=r;const t=c(e,"indeterminate"),n=c(e,"modelValue");function u(a){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),d=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return h(()=>{const a=k(o.filterProps(e),["modelValue"]);return x(o,b(a,{modelValue:n.value,"onUpdate:modelValue":[m=>n.value=m,u],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:i.value,trueIcon:d.value,"aria-checked":t.value?"mixed":void 0}),s)}),{}}});export{B as V,C as m};
1
+ import{c as f,d as o}from"./VSelectionControl-BXJGg8No.js";import{E as V,bf as v,O as I,aw as c,h as l,R as h,ao as k,S as x,as as b}from"./admin-drawer-panel-Dmn4wEY3.js";const C=V({indeterminate:Boolean,indeterminateIcon:{type:v,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),B=I()({name:"VCheckboxBtn",props:C(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,r){let{slots:s}=r;const t=c(e,"indeterminate"),n=c(e,"modelValue");function u(a){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),d=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return h(()=>{const a=k(o.filterProps(e),["modelValue"]);return x(o,b(a,{modelValue:n.value,"onUpdate:modelValue":[m=>n.value=m,u],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:i.value,trueIcon:d.value,"aria-checked":t.value?"mixed":void 0}),s)}),{}}});export{B as V,C as m};
@@ -1 +1 @@
1
- import{m as Ce,u as ke,V as pe,a as we,b as Se}from"./VSelect-Dixy6okt.js";import{m as Fe,V as J}from"./VTextField-BkFrjhdV.js";import{E as Ie,ao as Pe,b3 as De,O as Re,bY as Ae,r as N,s as P,aw as X,h as b,cN as _e,aq as Te,cO as D,a as R,n as Z,ag as Ee,R as Me,S as i,U as O,as as I,bw as Ne,aY as ee,cP as Oe,aP as le,cQ as Le,bi as Ke,aj as Ue,cR as Be,at as je,cS as qe,cT as ze}from"./admin-drawer-panel-rrNKi_GE.js";import{m as He,u as Ye}from"./filter-D3gaGf87.js";import{g as $e}from"./VSelectionControl-MNmxKc3J.js";import{V as Qe}from"./VCheckboxBtn-D2tPTt6P.js";function We(e,g,A){if(g==null)return e;if(Array.isArray(g))throw new Error("Multiple matches is not implemented");return typeof g=="number"&&~g?i(O,null,[i("span",{class:"v-combobox__unmask"},[e.substr(0,g)]),i("span",{class:"v-combobox__mask"},[e.substr(g,A)]),i("span",{class:"v-combobox__unmask"},[e.substr(g+A)])]):e}const Ge=Ie({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...He({filterKeys:["title"]}),...Ce({hideNoData:!0,returnObject:!0}),...Pe(Fe({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...De({transition:!1})},"VCombobox"),tl=Re()({name:"VCombobox",props:Ge(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:search":e=>!0,"update:menu":e=>!0},setup(e,g){var Q;let{emit:A,slots:o}=g;const{t:L}=Ae(),V=N(),x=P(!1),C=P(!0),K=P(!1),H=N(),Y=N(),U=X(e,"menu"),c=b({get:()=>U.value,set:l=>{var t;U.value&&!l&&((t=H.value)!=null&&t.ΨopenChildren)||(U.value=l)}}),s=P(-1);let B=!1;const ae=b(()=>{var l;return(l=V.value)==null?void 0:l.color}),$=b(()=>c.value?e.closeText:e.openText),{items:te,transformIn:ne,transformOut:ue}=_e(e),{textColorClasses:oe,textColorStyles:ie}=Te(ae),n=X(e,"modelValue",[],l=>ne(ze(l)),l=>{const t=ue(l);return e.multiple?t:t[0]??null}),F=$e(),_=b(()=>!!(e.chips||o.chip)),y=b(()=>_.value||!!o.selection),k=P(!e.multiple&&!y.value?((Q=n.value[0])==null?void 0:Q.title)??"":""),v=b({get:()=>k.value,set:l=>{var t;if(k.value=l??"",!e.multiple&&!y.value&&(n.value=[D(e,l)]),l&&e.multiple&&((t=e.delimiters)!=null&&t.length)){const r=l.split(new RegExp(`(?:${e.delimiters.join("|")})+`));r.length>1&&(r.forEach(a=>{a=a.trim(),a&&h(D(e,a))}),k.value="")}l||(s.value=-1),C.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);R(k,l=>{B?Z(()=>B=!1):x.value&&!c.value&&(c.value=!0),A("update:search",l)}),R(n,l=>{var t;!e.multiple&&!y.value&&(k.value=((t=l[0])==null?void 0:t.title)??"")});const{filteredItems:T,getMatches:re}=Ye(e,te,()=>C.value?"":v.value),p=b(()=>e.hideSelected?T.value.filter(l=>!n.value.some(t=>t.value===l.value)):T.value),ce=b(()=>n.value.map(l=>l.value)),j=b(()=>{var t;return(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&v.value===((t=p.value[0])==null?void 0:t.title))&&p.value.length>0&&!C.value&&!K.value}),q=b(()=>e.hideNoData&&!p.value.length||e.readonly||(F==null?void 0:F.isReadonly.value)),z=N(),{onListScroll:ve,onListKeydown:de}=ke(z,V);function fe(l){B=!0,e.openOnClear&&(c.value=!0)}function me(){q.value||(c.value=!0)}function be(l){q.value||(x.value&&(l.preventDefault(),l.stopPropagation()),c.value=!c.value)}function he(l){var a;if(qe(l)||e.readonly||F!=null&&F.isReadonly.value)return;const t=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)&&(j.value&&["Enter","Tab"].includes(l.key)&&!n.value.some(u=>{let{value:m}=u;return m===p.value[0].value})&&h(T.value[0]),C.value=!0),l.key==="ArrowDown"&&j.value&&((a=z.value)==null||a.focus("next")),l.key==="Enter"&&v.value&&(h(D(e,v.value)),y.value&&(k.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&&t>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;x.value&&(C.value=!0,(l=V.value)==null||l.focus())}function h(l){let t=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)),a=t??!~r;if(~r){const u=a?[...n.value,l]:[...n.value];u.splice(r,1),n.value=u}else a&&(n.value=[...n.value,l]);e.clearOnSelect&&(v.value="")}else{const r=t!==!1;n.value=r?[l]:[],k.value=r&&!y.value?l.title:"",Z(()=>{c.value=!1,C.value=!0})}}function xe(l){x.value=!0,setTimeout(()=>{K.value=!0})}function ye(l){K.value=!1}function Ve(l){(l==null||l===""&&!e.multiple&&!y.value)&&(n.value=[])}return R(x,(l,t)=>{if(!(l||l===t)&&(s.value=-1,c.value=!1,v.value)){if(e.multiple){h(D(e,v.value));return}if(!y.value)return;n.value.some(r=>{let{title:a}=r;return a===v.value})?k.value="":h(D(e,v.value))}}),R(c,()=>{if(!e.hideSelected&&c.value&&n.value.length){const l=p.value.findIndex(t=>n.value.some(r=>e.valueComparator(r.value,t.value)));Ee&&window.requestAnimationFrame(()=>{var t;l>=0&&((t=Y.value)==null||t.scrollToIndex(l))})}}),R(()=>e.items,(l,t)=>{c.value||x.value&&!t.length&&l.length&&(c.value=!0)}),Me(()=>{const l=!!(!e.hideNoData||p.value.length||o["prepend-item"]||o["append-item"]||o["no-data"]),t=n.value.length>0,r=J.filterProps(e);return i(J,I({ref:V},r,{modelValue:v.value,"onUpdate:modelValue":[a=>v.value=a,Ve],focused:x.value,"onUpdate:focused":a=>x.value=a,validationValue:n.externalValue,counterValue:se.value,dirty:t,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:t?void 0:e.placeholder,"onClick:clear":fe,"onMousedown:control":me,onKeydown:he}),{...o,default:()=>i(O,null,[i(pe,I({ref:H,modelValue:c.value,"onUpdate:modelValue":a=>c.value=a,activator:"parent",contentClass:"v-combobox__content",disabled:q.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterLeave:ge},e.menuProps),{default:()=>[l&&i(Ne,I({ref:z,selected:ce.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:a=>a.preventDefault(),onKeydown:de,onFocusin:xe,onFocusout:ye,onScrollPassive:ve,tabindex:"-1","aria-live":"polite",color:e.itemColor??e.color},e.listProps),{default:()=>{var a,u,m;return[(a=o["prepend-item"])==null?void 0:a.call(o),!p.value.length&&!e.hideNoData&&(((u=o["no-data"])==null?void 0:u.call(o))??i(ee,{title:L(e.noDataText)},null)),i(we,{ref:Y,renderless:!0,items:p.value},{default:w=>{var G;let{item:d,index:S,itemRef:f}=w;const W=I(d.props,{ref:f,key:S,active:j.value&&S===0?!0:void 0,onClick:()=>h(d,null)});return((G=o.item)==null?void 0:G.call(o,{item:d,index:S,props:W}))??i(ee,I(W,{role:"option"}),{prepend:E=>{let{isSelected:M}=E;return i(O,null,[e.multiple&&!e.hideSelected?i(Qe,{key:d.value,modelValue:M,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 E,M;return C.value?d.title:We(d.title,(E=re(d))==null?void 0:E.title,((M=v.value)==null?void 0:M.length)??0)}})}}),(m=o["append-item"])==null?void 0:m.call(o)]}})]}),n.value.map((a,u)=>{function m(f){f.stopPropagation(),f.preventDefault(),h(a,!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?Le(_.value?o.chip({item:a,index:u,props:w}):o.selection({item:a,index:u})):void 0;if(!(d&&!S))return i("div",{key:a.value,class:["v-combobox__selection",u===s.value&&["v-combobox__selection--selected",oe.value]],style:u===s.value?ie.value:{}},[_.value?o.chip?i(Ke,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:a.title}}},{default:()=>[S]}):i(Se,I({key:"chip",closable:e.closableChips,size:"small",text:a.title,disabled:a.props.disabled},w),null):S??i("span",{class:"v-combobox__selection-text"},[a.title,e.multiple&&u<n.value.length-1&&i("span",{class:"v-combobox__selection-comma"},[Ue(",")])])])})]),"append-inner":function(){var w;for(var a=arguments.length,u=new Array(a),m=0;m<a;m++)u[m]=arguments[m];return i(O,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:be,onClick:Be,"aria-label":L($.value),title:L($.value),tabindex:"-1"},null):void 0])}})}),je({isFocused:x,isPristine:C,menu:c,search:v,selectionIndex:s,filteredItems:T,select:h},V)}});export{tl as V};
1
+ import{m as Ce,u as ke,V as pe,a as we,b as Se}from"./VSelect-BoKpXxwe.js";import{m as Fe,V as G}from"./VTextField-Aw8nKhY6.js";import{E as Ie,ao as Pe,b3 as De,O as Re,bZ as Ae,r as N,s as P,aw as J,h as b,cN as _e,aq as Te,cO as D,a as R,n as X,ag as Ee,R as Me,S as i,U as O,as as I,bw as Ne,aY as ee,cP as Oe,aP as le,cQ as Le,bi as Ke,aj as Ue,cR as Be,at as je,cS as qe,cT as ze}from"./admin-drawer-panel-Dmn4wEY3.js";import{m as He,u as $e}from"./filter-CuocBoS2.js";import{g as Qe}from"./VSelectionControl-BXJGg8No.js";import{V as We}from"./VCheckboxBtn-DVq5lDK4.js";function Ye(e,g,A){if(g==null)return e;if(Array.isArray(g))throw new Error("Multiple matches is not implemented");return typeof g=="number"&&~g?i(O,null,[i("span",{class:"v-combobox__unmask"},[e.substr(0,g)]),i("span",{class:"v-combobox__mask"},[e.substr(g,A)]),i("span",{class:"v-combobox__unmask"},[e.substr(g+A)])]):e}const Ze=Ie({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...He({filterKeys:["title"]}),...Ce({hideNoData:!0,returnObject:!0}),...Pe(Fe({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...De({transition:!1})},"VCombobox"),tl=Re()({name:"VCombobox",props:Ze(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:search":e=>!0,"update:menu":e=>!0},setup(e,g){var W;let{emit:A,slots:o}=g;const{t:L}=Ae(),V=N(),x=P(!1),C=P(!0),K=P(!1),H=N(),$=N(),U=J(e,"menu"),c=b({get:()=>U.value,set:l=>{var t;U.value&&!l&&((t=H.value)!=null&&t.ΨopenChildren)||(U.value=l)}}),s=P(-1);let B=!1;const ae=b(()=>{var l;return(l=V.value)==null?void 0:l.color}),Q=b(()=>c.value?e.closeText:e.openText),{items:te,transformIn:ne,transformOut:ue}=_e(e),{textColorClasses:oe,textColorStyles:ie}=Te(ae),n=J(e,"modelValue",[],l=>ne(ze(l)),l=>{const t=ue(l);return e.multiple?t:t[0]??null}),F=Qe(),_=b(()=>!!(e.chips||o.chip)),y=b(()=>_.value||!!o.selection),k=P(!e.multiple&&!y.value?((W=n.value[0])==null?void 0:W.title)??"":""),v=b({get:()=>k.value,set:l=>{var t;if(k.value=l??"",!e.multiple&&!y.value&&(n.value=[D(e,l)]),l&&e.multiple&&((t=e.delimiters)!=null&&t.length)){const r=l.split(new RegExp(`(?:${e.delimiters.join("|")})+`));r.length>1&&(r.forEach(a=>{a=a.trim(),a&&h(D(e,a))}),k.value="")}l||(s.value=-1),C.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);R(k,l=>{B?X(()=>B=!1):x.value&&!c.value&&(c.value=!0),A("update:search",l)}),R(n,l=>{var t;!e.multiple&&!y.value&&(k.value=((t=l[0])==null?void 0:t.title)??"")});const{filteredItems:T,getMatches:re}=$e(e,te,()=>C.value?"":v.value),p=b(()=>e.hideSelected?T.value.filter(l=>!n.value.some(t=>t.value===l.value)):T.value),ce=b(()=>n.value.map(l=>l.value)),j=b(()=>{var t;return(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&v.value===((t=p.value[0])==null?void 0:t.title))&&p.value.length>0&&!C.value&&!K.value}),q=b(()=>e.hideNoData&&!p.value.length||e.readonly||(F==null?void 0:F.isReadonly.value)),z=N(),{onListScroll:ve,onListKeydown:de}=ke(z,V);function fe(l){B=!0,e.openOnClear&&(c.value=!0)}function me(){q.value||(c.value=!0)}function be(l){q.value||(x.value&&(l.preventDefault(),l.stopPropagation()),c.value=!c.value)}function he(l){var a;if(qe(l)||e.readonly||F!=null&&F.isReadonly.value)return;const t=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)&&(j.value&&["Enter","Tab"].includes(l.key)&&!n.value.some(u=>{let{value:m}=u;return m===p.value[0].value})&&h(T.value[0]),C.value=!0),l.key==="ArrowDown"&&j.value&&((a=z.value)==null||a.focus("next")),l.key==="Enter"&&v.value&&(h(D(e,v.value)),y.value&&(k.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&&t>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;x.value&&(C.value=!0,(l=V.value)==null||l.focus())}function h(l){let t=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)),a=t??!~r;if(~r){const u=a?[...n.value,l]:[...n.value];u.splice(r,1),n.value=u}else a&&(n.value=[...n.value,l]);e.clearOnSelect&&(v.value="")}else{const r=t!==!1;n.value=r?[l]:[],k.value=r&&!y.value?l.title:"",X(()=>{c.value=!1,C.value=!0})}}function xe(l){x.value=!0,setTimeout(()=>{K.value=!0})}function ye(l){K.value=!1}function Ve(l){(l==null||l===""&&!e.multiple&&!y.value)&&(n.value=[])}return R(x,(l,t)=>{if(!(l||l===t)&&(s.value=-1,c.value=!1,v.value)){if(e.multiple){h(D(e,v.value));return}if(!y.value)return;n.value.some(r=>{let{title:a}=r;return a===v.value})?k.value="":h(D(e,v.value))}}),R(c,()=>{if(!e.hideSelected&&c.value&&n.value.length){const l=p.value.findIndex(t=>n.value.some(r=>e.valueComparator(r.value,t.value)));Ee&&window.requestAnimationFrame(()=>{var t;l>=0&&((t=$.value)==null||t.scrollToIndex(l))})}}),R(()=>e.items,(l,t)=>{c.value||x.value&&!t.length&&l.length&&(c.value=!0)}),Me(()=>{const l=!!(!e.hideNoData||p.value.length||o["prepend-item"]||o["append-item"]||o["no-data"]),t=n.value.length>0,r=G.filterProps(e);return i(G,I({ref:V},r,{modelValue:v.value,"onUpdate:modelValue":[a=>v.value=a,Ve],focused:x.value,"onUpdate:focused":a=>x.value=a,validationValue:n.externalValue,counterValue:se.value,dirty:t,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:t?void 0:e.placeholder,"onClick:clear":fe,"onMousedown:control":me,onKeydown:he}),{...o,default:()=>i(O,null,[i(pe,I({ref:H,modelValue:c.value,"onUpdate:modelValue":a=>c.value=a,activator:"parent",contentClass:"v-combobox__content",disabled:q.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterLeave:ge},e.menuProps),{default:()=>[l&&i(Ne,I({ref:z,selected:ce.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:a=>a.preventDefault(),onKeydown:de,onFocusin:xe,onFocusout:ye,onScrollPassive:ve,tabindex:"-1","aria-live":"polite",color:e.itemColor??e.color},e.listProps),{default:()=>{var a,u,m;return[(a=o["prepend-item"])==null?void 0:a.call(o),!p.value.length&&!e.hideNoData&&(((u=o["no-data"])==null?void 0:u.call(o))??i(ee,{title:L(e.noDataText)},null)),i(we,{ref:$,renderless:!0,items:p.value},{default:w=>{var Z;let{item:d,index:S,itemRef:f}=w;const Y=I(d.props,{ref:f,key:S,active:j.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:Y}))??i(ee,I(Y,{role:"option"}),{prepend:E=>{let{isSelected:M}=E;return i(O,null,[e.multiple&&!e.hideSelected?i(We,{key:d.value,modelValue:M,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 E,M;return C.value?d.title:Ye(d.title,(E=re(d))==null?void 0:E.title,((M=v.value)==null?void 0:M.length)??0)}})}}),(m=o["append-item"])==null?void 0:m.call(o)]}})]}),n.value.map((a,u)=>{function m(f){f.stopPropagation(),f.preventDefault(),h(a,!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?Le(_.value?o.chip({item:a,index:u,props:w}):o.selection({item:a,index:u})):void 0;if(!(d&&!S))return i("div",{key:a.value,class:["v-combobox__selection",u===s.value&&["v-combobox__selection--selected",oe.value]],style:u===s.value?ie.value:{}},[_.value?o.chip?i(Ke,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:a.title}}},{default:()=>[S]}):i(Se,I({key:"chip",closable:e.closableChips,size:"small",text:a.title,disabled:a.props.disabled},w),null):S??i("span",{class:"v-combobox__selection-text"},[a.title,e.multiple&&u<n.value.length-1&&i("span",{class:"v-combobox__selection-comma"},[Ue(",")])])])})]),"append-inner":function(){var w;for(var a=arguments.length,u=new Array(a),m=0;m<a;m++)u[m]=arguments[m];return i(O,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:be,onClick:Be,"aria-label":L(Q.value),title:L(Q.value),tabindex:"-1"},null):void 0])}})}),je({isFocused:x,isPristine:C,menu:c,search:v,selectionIndex:s,filteredItems:T,select:h},V)}});export{tl as V};
@@ -1 +1 @@
1
- import{m as Ce,u as ke,V as pe,a as we,b as Se}from"./VSelect-Dixy6okt.js";import{m as Fe,V as J}from"./VTextField-BkFrjhdV.js";import{E as Ie,ao as Pe,b3 as De,O as Re,bY as Ae,r as N,s as P,aw as X,h as b,cN as _e,aq as Te,cO as D,a as R,n as Z,ag as Ee,R as Me,S as i,U as O,as as I,bw as Ne,aY as ee,cP as Oe,aP as le,cQ as Le,bi as Ke,aj as Ue,cR as Be,at as je,cS as qe,cT as ze}from"./admin-drawer-panel-rrNKi_GE.js";import{m as He,u as Ye}from"./filter-D3gaGf87.js";import{g as $e}from"./VSelectionControl-MNmxKc3J.js";import{V as Qe}from"./VCheckboxBtn-D2tPTt6P.js";function We(e,g,A){if(g==null)return e;if(Array.isArray(g))throw new Error("Multiple matches is not implemented");return typeof g=="number"&&~g?i(O,null,[i("span",{class:"v-combobox__unmask"},[e.substr(0,g)]),i("span",{class:"v-combobox__mask"},[e.substr(g,A)]),i("span",{class:"v-combobox__unmask"},[e.substr(g+A)])]):e}const Ge=Ie({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...He({filterKeys:["title"]}),...Ce({hideNoData:!0,returnObject:!0}),...Pe(Fe({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...De({transition:!1})},"VCombobox"),tl=Re()({name:"VCombobox",props:Ge(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:search":e=>!0,"update:menu":e=>!0},setup(e,g){var Q;let{emit:A,slots:o}=g;const{t:L}=Ae(),V=N(),x=P(!1),C=P(!0),K=P(!1),H=N(),Y=N(),U=X(e,"menu"),c=b({get:()=>U.value,set:l=>{var t;U.value&&!l&&((t=H.value)!=null&&t.ΨopenChildren)||(U.value=l)}}),s=P(-1);let B=!1;const ae=b(()=>{var l;return(l=V.value)==null?void 0:l.color}),$=b(()=>c.value?e.closeText:e.openText),{items:te,transformIn:ne,transformOut:ue}=_e(e),{textColorClasses:oe,textColorStyles:ie}=Te(ae),n=X(e,"modelValue",[],l=>ne(ze(l)),l=>{const t=ue(l);return e.multiple?t:t[0]??null}),F=$e(),_=b(()=>!!(e.chips||o.chip)),y=b(()=>_.value||!!o.selection),k=P(!e.multiple&&!y.value?((Q=n.value[0])==null?void 0:Q.title)??"":""),v=b({get:()=>k.value,set:l=>{var t;if(k.value=l??"",!e.multiple&&!y.value&&(n.value=[D(e,l)]),l&&e.multiple&&((t=e.delimiters)!=null&&t.length)){const r=l.split(new RegExp(`(?:${e.delimiters.join("|")})+`));r.length>1&&(r.forEach(a=>{a=a.trim(),a&&h(D(e,a))}),k.value="")}l||(s.value=-1),C.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);R(k,l=>{B?Z(()=>B=!1):x.value&&!c.value&&(c.value=!0),A("update:search",l)}),R(n,l=>{var t;!e.multiple&&!y.value&&(k.value=((t=l[0])==null?void 0:t.title)??"")});const{filteredItems:T,getMatches:re}=Ye(e,te,()=>C.value?"":v.value),p=b(()=>e.hideSelected?T.value.filter(l=>!n.value.some(t=>t.value===l.value)):T.value),ce=b(()=>n.value.map(l=>l.value)),j=b(()=>{var t;return(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&v.value===((t=p.value[0])==null?void 0:t.title))&&p.value.length>0&&!C.value&&!K.value}),q=b(()=>e.hideNoData&&!p.value.length||e.readonly||(F==null?void 0:F.isReadonly.value)),z=N(),{onListScroll:ve,onListKeydown:de}=ke(z,V);function fe(l){B=!0,e.openOnClear&&(c.value=!0)}function me(){q.value||(c.value=!0)}function be(l){q.value||(x.value&&(l.preventDefault(),l.stopPropagation()),c.value=!c.value)}function he(l){var a;if(qe(l)||e.readonly||F!=null&&F.isReadonly.value)return;const t=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)&&(j.value&&["Enter","Tab"].includes(l.key)&&!n.value.some(u=>{let{value:m}=u;return m===p.value[0].value})&&h(T.value[0]),C.value=!0),l.key==="ArrowDown"&&j.value&&((a=z.value)==null||a.focus("next")),l.key==="Enter"&&v.value&&(h(D(e,v.value)),y.value&&(k.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&&t>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;x.value&&(C.value=!0,(l=V.value)==null||l.focus())}function h(l){let t=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)),a=t??!~r;if(~r){const u=a?[...n.value,l]:[...n.value];u.splice(r,1),n.value=u}else a&&(n.value=[...n.value,l]);e.clearOnSelect&&(v.value="")}else{const r=t!==!1;n.value=r?[l]:[],k.value=r&&!y.value?l.title:"",Z(()=>{c.value=!1,C.value=!0})}}function xe(l){x.value=!0,setTimeout(()=>{K.value=!0})}function ye(l){K.value=!1}function Ve(l){(l==null||l===""&&!e.multiple&&!y.value)&&(n.value=[])}return R(x,(l,t)=>{if(!(l||l===t)&&(s.value=-1,c.value=!1,v.value)){if(e.multiple){h(D(e,v.value));return}if(!y.value)return;n.value.some(r=>{let{title:a}=r;return a===v.value})?k.value="":h(D(e,v.value))}}),R(c,()=>{if(!e.hideSelected&&c.value&&n.value.length){const l=p.value.findIndex(t=>n.value.some(r=>e.valueComparator(r.value,t.value)));Ee&&window.requestAnimationFrame(()=>{var t;l>=0&&((t=Y.value)==null||t.scrollToIndex(l))})}}),R(()=>e.items,(l,t)=>{c.value||x.value&&!t.length&&l.length&&(c.value=!0)}),Me(()=>{const l=!!(!e.hideNoData||p.value.length||o["prepend-item"]||o["append-item"]||o["no-data"]),t=n.value.length>0,r=J.filterProps(e);return i(J,I({ref:V},r,{modelValue:v.value,"onUpdate:modelValue":[a=>v.value=a,Ve],focused:x.value,"onUpdate:focused":a=>x.value=a,validationValue:n.externalValue,counterValue:se.value,dirty:t,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:t?void 0:e.placeholder,"onClick:clear":fe,"onMousedown:control":me,onKeydown:he}),{...o,default:()=>i(O,null,[i(pe,I({ref:H,modelValue:c.value,"onUpdate:modelValue":a=>c.value=a,activator:"parent",contentClass:"v-combobox__content",disabled:q.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterLeave:ge},e.menuProps),{default:()=>[l&&i(Ne,I({ref:z,selected:ce.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:a=>a.preventDefault(),onKeydown:de,onFocusin:xe,onFocusout:ye,onScrollPassive:ve,tabindex:"-1","aria-live":"polite",color:e.itemColor??e.color},e.listProps),{default:()=>{var a,u,m;return[(a=o["prepend-item"])==null?void 0:a.call(o),!p.value.length&&!e.hideNoData&&(((u=o["no-data"])==null?void 0:u.call(o))??i(ee,{title:L(e.noDataText)},null)),i(we,{ref:Y,renderless:!0,items:p.value},{default:w=>{var G;let{item:d,index:S,itemRef:f}=w;const W=I(d.props,{ref:f,key:S,active:j.value&&S===0?!0:void 0,onClick:()=>h(d,null)});return((G=o.item)==null?void 0:G.call(o,{item:d,index:S,props:W}))??i(ee,I(W,{role:"option"}),{prepend:E=>{let{isSelected:M}=E;return i(O,null,[e.multiple&&!e.hideSelected?i(Qe,{key:d.value,modelValue:M,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 E,M;return C.value?d.title:We(d.title,(E=re(d))==null?void 0:E.title,((M=v.value)==null?void 0:M.length)??0)}})}}),(m=o["append-item"])==null?void 0:m.call(o)]}})]}),n.value.map((a,u)=>{function m(f){f.stopPropagation(),f.preventDefault(),h(a,!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?Le(_.value?o.chip({item:a,index:u,props:w}):o.selection({item:a,index:u})):void 0;if(!(d&&!S))return i("div",{key:a.value,class:["v-combobox__selection",u===s.value&&["v-combobox__selection--selected",oe.value]],style:u===s.value?ie.value:{}},[_.value?o.chip?i(Ke,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:a.title}}},{default:()=>[S]}):i(Se,I({key:"chip",closable:e.closableChips,size:"small",text:a.title,disabled:a.props.disabled},w),null):S??i("span",{class:"v-combobox__selection-text"},[a.title,e.multiple&&u<n.value.length-1&&i("span",{class:"v-combobox__selection-comma"},[Ue(",")])])])})]),"append-inner":function(){var w;for(var a=arguments.length,u=new Array(a),m=0;m<a;m++)u[m]=arguments[m];return i(O,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:be,onClick:Be,"aria-label":L($.value),title:L($.value),tabindex:"-1"},null):void 0])}})}),je({isFocused:x,isPristine:C,menu:c,search:v,selectionIndex:s,filteredItems:T,select:h},V)}});export{tl as V};
1
+ import{m as Ce,u as ke,V as pe,a as we,b as Se}from"./VSelect-BoKpXxwe.js";import{m as Fe,V as G}from"./VTextField-Aw8nKhY6.js";import{E as Ie,ao as Pe,b3 as De,O as Re,bZ as Ae,r as N,s as P,aw as J,h as b,cN as _e,aq as Te,cO as D,a as R,n as X,ag as Ee,R as Me,S as i,U as O,as as I,bw as Ne,aY as ee,cP as Oe,aP as le,cQ as Le,bi as Ke,aj as Ue,cR as Be,at as je,cS as qe,cT as ze}from"./admin-drawer-panel-Dmn4wEY3.js";import{m as He,u as $e}from"./filter-CuocBoS2.js";import{g as Qe}from"./VSelectionControl-BXJGg8No.js";import{V as We}from"./VCheckboxBtn-DVq5lDK4.js";function Ye(e,g,A){if(g==null)return e;if(Array.isArray(g))throw new Error("Multiple matches is not implemented");return typeof g=="number"&&~g?i(O,null,[i("span",{class:"v-combobox__unmask"},[e.substr(0,g)]),i("span",{class:"v-combobox__mask"},[e.substr(g,A)]),i("span",{class:"v-combobox__unmask"},[e.substr(g+A)])]):e}const Ze=Ie({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...He({filterKeys:["title"]}),...Ce({hideNoData:!0,returnObject:!0}),...Pe(Fe({modelValue:null,role:"combobox"}),["validationValue","dirty","appendInnerIcon"]),...De({transition:!1})},"VCombobox"),tl=Re()({name:"VCombobox",props:Ze(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:search":e=>!0,"update:menu":e=>!0},setup(e,g){var W;let{emit:A,slots:o}=g;const{t:L}=Ae(),V=N(),x=P(!1),C=P(!0),K=P(!1),H=N(),$=N(),U=J(e,"menu"),c=b({get:()=>U.value,set:l=>{var t;U.value&&!l&&((t=H.value)!=null&&t.ΨopenChildren)||(U.value=l)}}),s=P(-1);let B=!1;const ae=b(()=>{var l;return(l=V.value)==null?void 0:l.color}),Q=b(()=>c.value?e.closeText:e.openText),{items:te,transformIn:ne,transformOut:ue}=_e(e),{textColorClasses:oe,textColorStyles:ie}=Te(ae),n=J(e,"modelValue",[],l=>ne(ze(l)),l=>{const t=ue(l);return e.multiple?t:t[0]??null}),F=Qe(),_=b(()=>!!(e.chips||o.chip)),y=b(()=>_.value||!!o.selection),k=P(!e.multiple&&!y.value?((W=n.value[0])==null?void 0:W.title)??"":""),v=b({get:()=>k.value,set:l=>{var t;if(k.value=l??"",!e.multiple&&!y.value&&(n.value=[D(e,l)]),l&&e.multiple&&((t=e.delimiters)!=null&&t.length)){const r=l.split(new RegExp(`(?:${e.delimiters.join("|")})+`));r.length>1&&(r.forEach(a=>{a=a.trim(),a&&h(D(e,a))}),k.value="")}l||(s.value=-1),C.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);R(k,l=>{B?X(()=>B=!1):x.value&&!c.value&&(c.value=!0),A("update:search",l)}),R(n,l=>{var t;!e.multiple&&!y.value&&(k.value=((t=l[0])==null?void 0:t.title)??"")});const{filteredItems:T,getMatches:re}=$e(e,te,()=>C.value?"":v.value),p=b(()=>e.hideSelected?T.value.filter(l=>!n.value.some(t=>t.value===l.value)):T.value),ce=b(()=>n.value.map(l=>l.value)),j=b(()=>{var t;return(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&v.value===((t=p.value[0])==null?void 0:t.title))&&p.value.length>0&&!C.value&&!K.value}),q=b(()=>e.hideNoData&&!p.value.length||e.readonly||(F==null?void 0:F.isReadonly.value)),z=N(),{onListScroll:ve,onListKeydown:de}=ke(z,V);function fe(l){B=!0,e.openOnClear&&(c.value=!0)}function me(){q.value||(c.value=!0)}function be(l){q.value||(x.value&&(l.preventDefault(),l.stopPropagation()),c.value=!c.value)}function he(l){var a;if(qe(l)||e.readonly||F!=null&&F.isReadonly.value)return;const t=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)&&(j.value&&["Enter","Tab"].includes(l.key)&&!n.value.some(u=>{let{value:m}=u;return m===p.value[0].value})&&h(T.value[0]),C.value=!0),l.key==="ArrowDown"&&j.value&&((a=z.value)==null||a.focus("next")),l.key==="Enter"&&v.value&&(h(D(e,v.value)),y.value&&(k.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&&t>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;x.value&&(C.value=!0,(l=V.value)==null||l.focus())}function h(l){let t=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)),a=t??!~r;if(~r){const u=a?[...n.value,l]:[...n.value];u.splice(r,1),n.value=u}else a&&(n.value=[...n.value,l]);e.clearOnSelect&&(v.value="")}else{const r=t!==!1;n.value=r?[l]:[],k.value=r&&!y.value?l.title:"",X(()=>{c.value=!1,C.value=!0})}}function xe(l){x.value=!0,setTimeout(()=>{K.value=!0})}function ye(l){K.value=!1}function Ve(l){(l==null||l===""&&!e.multiple&&!y.value)&&(n.value=[])}return R(x,(l,t)=>{if(!(l||l===t)&&(s.value=-1,c.value=!1,v.value)){if(e.multiple){h(D(e,v.value));return}if(!y.value)return;n.value.some(r=>{let{title:a}=r;return a===v.value})?k.value="":h(D(e,v.value))}}),R(c,()=>{if(!e.hideSelected&&c.value&&n.value.length){const l=p.value.findIndex(t=>n.value.some(r=>e.valueComparator(r.value,t.value)));Ee&&window.requestAnimationFrame(()=>{var t;l>=0&&((t=$.value)==null||t.scrollToIndex(l))})}}),R(()=>e.items,(l,t)=>{c.value||x.value&&!t.length&&l.length&&(c.value=!0)}),Me(()=>{const l=!!(!e.hideNoData||p.value.length||o["prepend-item"]||o["append-item"]||o["no-data"]),t=n.value.length>0,r=G.filterProps(e);return i(G,I({ref:V},r,{modelValue:v.value,"onUpdate:modelValue":[a=>v.value=a,Ve],focused:x.value,"onUpdate:focused":a=>x.value=a,validationValue:n.externalValue,counterValue:se.value,dirty:t,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:t?void 0:e.placeholder,"onClick:clear":fe,"onMousedown:control":me,onKeydown:he}),{...o,default:()=>i(O,null,[i(pe,I({ref:H,modelValue:c.value,"onUpdate:modelValue":a=>c.value=a,activator:"parent",contentClass:"v-combobox__content",disabled:q.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterLeave:ge},e.menuProps),{default:()=>[l&&i(Ne,I({ref:z,selected:ce.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:a=>a.preventDefault(),onKeydown:de,onFocusin:xe,onFocusout:ye,onScrollPassive:ve,tabindex:"-1","aria-live":"polite",color:e.itemColor??e.color},e.listProps),{default:()=>{var a,u,m;return[(a=o["prepend-item"])==null?void 0:a.call(o),!p.value.length&&!e.hideNoData&&(((u=o["no-data"])==null?void 0:u.call(o))??i(ee,{title:L(e.noDataText)},null)),i(we,{ref:$,renderless:!0,items:p.value},{default:w=>{var Z;let{item:d,index:S,itemRef:f}=w;const Y=I(d.props,{ref:f,key:S,active:j.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:Y}))??i(ee,I(Y,{role:"option"}),{prepend:E=>{let{isSelected:M}=E;return i(O,null,[e.multiple&&!e.hideSelected?i(We,{key:d.value,modelValue:M,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 E,M;return C.value?d.title:Ye(d.title,(E=re(d))==null?void 0:E.title,((M=v.value)==null?void 0:M.length)??0)}})}}),(m=o["append-item"])==null?void 0:m.call(o)]}})]}),n.value.map((a,u)=>{function m(f){f.stopPropagation(),f.preventDefault(),h(a,!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?Le(_.value?o.chip({item:a,index:u,props:w}):o.selection({item:a,index:u})):void 0;if(!(d&&!S))return i("div",{key:a.value,class:["v-combobox__selection",u===s.value&&["v-combobox__selection--selected",oe.value]],style:u===s.value?ie.value:{}},[_.value?o.chip?i(Ke,{key:"chip-defaults",defaults:{VChip:{closable:e.closableChips,size:"small",text:a.title}}},{default:()=>[S]}):i(Se,I({key:"chip",closable:e.closableChips,size:"small",text:a.title,disabled:a.props.disabled},w),null):S??i("span",{class:"v-combobox__selection-text"},[a.title,e.multiple&&u<n.value.length-1&&i("span",{class:"v-combobox__selection-comma"},[Ue(",")])])])})]),"append-inner":function(){var w;for(var a=arguments.length,u=new Array(a),m=0;m<a;m++)u[m]=arguments[m];return i(O,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:be,onClick:Be,"aria-label":L(Q.value),title:L(Q.value),tabindex:"-1"},null):void 0])}})}),je({isFocused:x,isPristine:C,menu:c,search:v,selectionIndex:s,filteredItems:T,select:h},V)}});export{tl as V};
@@ -1 +1 @@
1
- import{_ as S,Z as D,aF as F,S as v,$ as E,aj as V,aH as T,ar as b,E as $,d7 as w,d8 as A,O as L,aw as _,aC as h,r as k,ag as I,a as P,n as R,R as O,db as y,as as m,bi as N,at as j,dc as q}from"./admin-drawer-panel-rrNKi_GE.js";const z={name:"ConfirmFooter",props:{confirmText:{type:String,required:!0},disabled:{type:Boolean,default:!1}},emits:["confirm","cancel"]},H={class:"confirmFooter"};function M(e,l,f,c,s,g){return D(),F("footer",H,[v(b,{class:"confirmButton",disabled:f.disabled,onClick:l[0]||(l[0]=t=>e.$emit("confirm"))},{default:E(()=>[V(T(f.confirmText),1)]),_:1},8,["disabled"]),v(b,{class:"cancelButton",onClick:l[1]||(l[1]=t=>e.$emit("cancel"))},{default:E(()=>[V(" Cancel ")]),_:1})])}const Z=S(z,[["render",M],["__scopeId","data-v-24df1550"]]),U=$({fullscreen:Boolean,retainFocus:{type:Boolean,default:!0},scrollable:Boolean,...w({origin:"center center",scrollStrategy:"block",transition:{component:A},zIndex:2400})},"VDialog"),G=L()({name:"VDialog",props:U(),emits:{"update:modelValue":e=>!0,afterLeave:()=>!0},setup(e,l){let{emit:f,slots:c}=l;const s=_(e,"modelValue"),{scopeId:g}=h(),t=k();function p(a){var r,u;const n=a.relatedTarget,i=a.target;if(n!==i&&((r=t.value)!=null&&r.contentEl)&&((u=t.value)!=null&&u.globalTop)&&![document,t.value.contentEl].includes(i)&&!t.value.contentEl.contains(i)){const o=q(t.value.contentEl);if(!o.length)return;const d=o[0],C=o[o.length-1];n===d?C.focus():d.focus()}}I&&P(()=>s.value&&e.retainFocus,a=>{a?document.addEventListener("focusin",p):document.removeEventListener("focusin",p)},{immediate:!0});function x(){var a;(a=t.value)!=null&&a.contentEl&&!t.value.contentEl.contains(document.activeElement)&&t.value.contentEl.focus({preventScroll:!0})}function B(){f("afterLeave")}return P(s,async a=>{var n;a||(await R(),(n=t.value.activatorEl)==null||n.focus({preventScroll:!0}))}),O(()=>{const a=y.filterProps(e),n=m({"aria-haspopup":"dialog","aria-expanded":String(s.value)},e.activatorProps),i=m({tabindex:-1},e.contentProps);return v(y,m({ref:t,class:["v-dialog",{"v-dialog--fullscreen":e.fullscreen,"v-dialog--scrollable":e.scrollable},e.class],style:e.style},a,{modelValue:s.value,"onUpdate:modelValue":r=>s.value=r,"aria-modal":"true",activatorProps:n,contentProps:i,role:"dialog",onAfterEnter:x,onAfterLeave:B},g),{activator:c.activator,default:function(){for(var r=arguments.length,u=new Array(r),o=0;o<r;o++)u[o]=arguments[o];return v(N,{root:"VDialog"},{default:()=>{var d;return[(d=c.default)==null?void 0:d.call(c,...u)]}})}})}),j({},t)}});export{Z as C,G as V};
1
+ import{_ as S,Z as D,aF as F,S as v,$ as E,aj as V,aH as T,ar as b,E as $,d7 as w,d8 as A,O as L,aw as _,aC as h,r as k,ag as I,a as P,n as R,R as O,db as y,as as m,bi as N,at as j,dc as q}from"./admin-drawer-panel-Dmn4wEY3.js";const z={name:"ConfirmFooter",props:{confirmText:{type:String,required:!0},disabled:{type:Boolean,default:!1}},emits:["confirm","cancel"]},H={class:"confirmFooter"};function M(e,l,f,c,s,g){return D(),F("footer",H,[v(b,{class:"confirmButton",disabled:f.disabled,onClick:l[0]||(l[0]=t=>e.$emit("confirm"))},{default:E(()=>[V(T(f.confirmText),1)]),_:1},8,["disabled"]),v(b,{class:"cancelButton",onClick:l[1]||(l[1]=t=>e.$emit("cancel"))},{default:E(()=>[V(" Cancel ")]),_:1})])}const Z=S(z,[["render",M],["__scopeId","data-v-24df1550"]]),U=$({fullscreen:Boolean,retainFocus:{type:Boolean,default:!0},scrollable:Boolean,...w({origin:"center center",scrollStrategy:"block",transition:{component:A},zIndex:2400})},"VDialog"),G=L()({name:"VDialog",props:U(),emits:{"update:modelValue":e=>!0,afterLeave:()=>!0},setup(e,l){let{emit:f,slots:c}=l;const s=_(e,"modelValue"),{scopeId:g}=h(),t=k();function p(a){var r,u;const n=a.relatedTarget,i=a.target;if(n!==i&&((r=t.value)!=null&&r.contentEl)&&((u=t.value)!=null&&u.globalTop)&&![document,t.value.contentEl].includes(i)&&!t.value.contentEl.contains(i)){const o=q(t.value.contentEl);if(!o.length)return;const d=o[0],C=o[o.length-1];n===d?C.focus():d.focus()}}I&&P(()=>s.value&&e.retainFocus,a=>{a?document.addEventListener("focusin",p):document.removeEventListener("focusin",p)},{immediate:!0});function x(){var a;(a=t.value)!=null&&a.contentEl&&!t.value.contentEl.contains(document.activeElement)&&t.value.contentEl.focus({preventScroll:!0})}function B(){f("afterLeave")}return P(s,async a=>{var n;a||(await R(),(n=t.value.activatorEl)==null||n.focus({preventScroll:!0}))}),O(()=>{const a=y.filterProps(e),n=m({"aria-haspopup":"dialog","aria-expanded":String(s.value)},e.activatorProps),i=m({tabindex:-1},e.contentProps);return v(y,m({ref:t,class:["v-dialog",{"v-dialog--fullscreen":e.fullscreen,"v-dialog--scrollable":e.scrollable},e.class],style:e.style},a,{modelValue:s.value,"onUpdate:modelValue":r=>s.value=r,"aria-modal":"true",activatorProps:n,contentProps:i,role:"dialog",onAfterEnter:x,onAfterLeave:B},g),{activator:c.activator,default:function(){for(var r=arguments.length,u=new Array(r),o=0;o<r;o++)u[o]=arguments[o];return v(N,{root:"VDialog"},{default:()=>{var d;return[(d=c.default)==null?void 0:d.call(c,...u)]}})}})}),j({},t)}});export{Z as C,G as V};
@@ -1 +1 @@
1
- import{_ as S,Z as D,aF as F,S as v,$ as E,aj as V,aH as T,ar as b,E as $,d7 as w,d8 as A,O as L,aw as _,aC as h,r as k,ag as I,a as P,n as R,R as O,db as y,as as m,bi as N,at as j,dc as q}from"./admin-drawer-panel-rrNKi_GE.js";const z={name:"ConfirmFooter",props:{confirmText:{type:String,required:!0},disabled:{type:Boolean,default:!1}},emits:["confirm","cancel"]},H={class:"confirmFooter"};function M(e,l,f,c,s,g){return D(),F("footer",H,[v(b,{class:"confirmButton",disabled:f.disabled,onClick:l[0]||(l[0]=t=>e.$emit("confirm"))},{default:E(()=>[V(T(f.confirmText),1)]),_:1},8,["disabled"]),v(b,{class:"cancelButton",onClick:l[1]||(l[1]=t=>e.$emit("cancel"))},{default:E(()=>[V(" Cancel ")]),_:1})])}const Z=S(z,[["render",M],["__scopeId","data-v-24df1550"]]),U=$({fullscreen:Boolean,retainFocus:{type:Boolean,default:!0},scrollable:Boolean,...w({origin:"center center",scrollStrategy:"block",transition:{component:A},zIndex:2400})},"VDialog"),G=L()({name:"VDialog",props:U(),emits:{"update:modelValue":e=>!0,afterLeave:()=>!0},setup(e,l){let{emit:f,slots:c}=l;const s=_(e,"modelValue"),{scopeId:g}=h(),t=k();function p(a){var r,u;const n=a.relatedTarget,i=a.target;if(n!==i&&((r=t.value)!=null&&r.contentEl)&&((u=t.value)!=null&&u.globalTop)&&![document,t.value.contentEl].includes(i)&&!t.value.contentEl.contains(i)){const o=q(t.value.contentEl);if(!o.length)return;const d=o[0],C=o[o.length-1];n===d?C.focus():d.focus()}}I&&P(()=>s.value&&e.retainFocus,a=>{a?document.addEventListener("focusin",p):document.removeEventListener("focusin",p)},{immediate:!0});function x(){var a;(a=t.value)!=null&&a.contentEl&&!t.value.contentEl.contains(document.activeElement)&&t.value.contentEl.focus({preventScroll:!0})}function B(){f("afterLeave")}return P(s,async a=>{var n;a||(await R(),(n=t.value.activatorEl)==null||n.focus({preventScroll:!0}))}),O(()=>{const a=y.filterProps(e),n=m({"aria-haspopup":"dialog","aria-expanded":String(s.value)},e.activatorProps),i=m({tabindex:-1},e.contentProps);return v(y,m({ref:t,class:["v-dialog",{"v-dialog--fullscreen":e.fullscreen,"v-dialog--scrollable":e.scrollable},e.class],style:e.style},a,{modelValue:s.value,"onUpdate:modelValue":r=>s.value=r,"aria-modal":"true",activatorProps:n,contentProps:i,role:"dialog",onAfterEnter:x,onAfterLeave:B},g),{activator:c.activator,default:function(){for(var r=arguments.length,u=new Array(r),o=0;o<r;o++)u[o]=arguments[o];return v(N,{root:"VDialog"},{default:()=>{var d;return[(d=c.default)==null?void 0:d.call(c,...u)]}})}})}),j({},t)}});export{Z as C,G as V};
1
+ import{_ as S,Z as D,aF as F,S as v,$ as E,aj as V,aH as T,ar as b,E as $,d7 as w,d8 as A,O as L,aw as _,aC as h,r as k,ag as I,a as P,n as R,R as O,db as y,as as m,bi as N,at as j,dc as q}from"./admin-drawer-panel-Dmn4wEY3.js";const z={name:"ConfirmFooter",props:{confirmText:{type:String,required:!0},disabled:{type:Boolean,default:!1}},emits:["confirm","cancel"]},H={class:"confirmFooter"};function M(e,l,f,c,s,g){return D(),F("footer",H,[v(b,{class:"confirmButton",disabled:f.disabled,onClick:l[0]||(l[0]=t=>e.$emit("confirm"))},{default:E(()=>[V(T(f.confirmText),1)]),_:1},8,["disabled"]),v(b,{class:"cancelButton",onClick:l[1]||(l[1]=t=>e.$emit("cancel"))},{default:E(()=>[V(" Cancel ")]),_:1})])}const Z=S(z,[["render",M],["__scopeId","data-v-24df1550"]]),U=$({fullscreen:Boolean,retainFocus:{type:Boolean,default:!0},scrollable:Boolean,...w({origin:"center center",scrollStrategy:"block",transition:{component:A},zIndex:2400})},"VDialog"),G=L()({name:"VDialog",props:U(),emits:{"update:modelValue":e=>!0,afterLeave:()=>!0},setup(e,l){let{emit:f,slots:c}=l;const s=_(e,"modelValue"),{scopeId:g}=h(),t=k();function p(a){var r,u;const n=a.relatedTarget,i=a.target;if(n!==i&&((r=t.value)!=null&&r.contentEl)&&((u=t.value)!=null&&u.globalTop)&&![document,t.value.contentEl].includes(i)&&!t.value.contentEl.contains(i)){const o=q(t.value.contentEl);if(!o.length)return;const d=o[0],C=o[o.length-1];n===d?C.focus():d.focus()}}I&&P(()=>s.value&&e.retainFocus,a=>{a?document.addEventListener("focusin",p):document.removeEventListener("focusin",p)},{immediate:!0});function x(){var a;(a=t.value)!=null&&a.contentEl&&!t.value.contentEl.contains(document.activeElement)&&t.value.contentEl.focus({preventScroll:!0})}function B(){f("afterLeave")}return P(s,async a=>{var n;a||(await R(),(n=t.value.activatorEl)==null||n.focus({preventScroll:!0}))}),O(()=>{const a=y.filterProps(e),n=m({"aria-haspopup":"dialog","aria-expanded":String(s.value)},e.activatorProps),i=m({tabindex:-1},e.contentProps);return v(y,m({ref:t,class:["v-dialog",{"v-dialog--fullscreen":e.fullscreen,"v-dialog--scrollable":e.scrollable},e.class],style:e.style},a,{modelValue:s.value,"onUpdate:modelValue":r=>s.value=r,"aria-modal":"true",activatorProps:n,contentProps:i,role:"dialog",onAfterEnter:x,onAfterLeave:B},g),{activator:c.activator,default:function(){for(var r=arguments.length,u=new Array(r),o=0;o<r;o++)u[o]=arguments[o];return v(N,{root:"VDialog"},{default:()=>{var d;return[(d=c.default)==null?void 0:d.call(c,...u)]}})}})}),j({},t)}});export{Z as C,G as V};
@@ -1 +1 @@
1
- import{E as p,M as k,b$ as G,O as f,i as C,c3 as L,R as P,S as t,aT as h,b8 as $,ci as j,bf as g,cb as z,aA as I,h as r,b6 as N,aP as O,c9 as F,b_ as M,bg as U,ay as Z,c1 as q,cc as H,bh as J,p as K,as as V,cU as Q,N as W,bZ as X,P as Y,aD as ee,aB as l}from"./admin-drawer-panel-rrNKi_GE.js";const x=Symbol.for("vuetify:v-expansion-panel"),T=p({...k(),...G()},"VExpansionPanelText"),E=f()({name:"VExpansionPanelText",props:T(),setup(e,d){let{slots:n}=d;const a=C(x);if(!a)throw new Error("[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel");const{hasContent:i,onAfterLeave:u}=L(e,a.isSelected);return P(()=>t(j,{onAfterLeave:u},{default:()=>{var o;return[h(t("div",{class:["v-expansion-panel-text",e.class],style:e.style},[n.default&&i.value&&t("div",{class:"v-expansion-panel-text__wrapper"},[(o=n.default)==null?void 0:o.call(n)])]),[[$,a.isSelected.value]])]}})),{}}}),w=p({color:String,expandIcon:{type:g,default:"$expand"},collapseIcon:{type:g,default:"$collapse"},hideActions:Boolean,focusable:Boolean,static:Boolean,ripple:{type:[Boolean,Object],default:!1},readonly:Boolean,...k()},"VExpansionPanelTitle"),S=f()({name:"VExpansionPanelTitle",directives:{Ripple:z},props:w(),setup(e,d){let{slots:n}=d;const a=C(x);if(!a)throw new Error("[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel");const{backgroundColorClasses:i,backgroundColorStyles:u}=I(e,"color"),o=r(()=>({collapseIcon:e.collapseIcon,disabled:a.disabled.value,expanded:a.isSelected.value,expandIcon:e.expandIcon,readonly:e.readonly}));return P(()=>{var v;return h(t("button",{class:["v-expansion-panel-title",{"v-expansion-panel-title--active":a.isSelected.value,"v-expansion-panel-title--focusable":e.focusable,"v-expansion-panel-title--static":e.static},i.value,e.class],style:[u.value,e.style],type:"button",tabindex:a.disabled.value?-1:void 0,disabled:a.disabled.value,"aria-expanded":a.isSelected.value,onClick:e.readonly?void 0:a.toggle},[t("span",{class:"v-expansion-panel-title__overlay"},null),(v=n.default)==null?void 0:v.call(n,o.value),!e.hideActions&&t("span",{class:"v-expansion-panel-title__icon"},[n.actions?n.actions(o.value):t(O,{icon:a.isSelected.value?e.collapseIcon:e.expandIcon},null)])]),[[N("ripple"),e.ripple]])}),{}}}),B=p({title:String,text:String,bgColor:String,...F(),...M(),...U(),...Z(),...w(),...T()},"VExpansionPanel"),te=f()({name:"VExpansionPanel",props:B(),emits:{"group:selected":e=>!0},setup(e,d){let{slots:n}=d;const a=q(e,x),{backgroundColorClasses:i,backgroundColorStyles:u}=I(e,"bgColor"),{elevationClasses:o}=H(e),{roundedClasses:v}=J(e),_=r(()=>(a==null?void 0:a.disabled.value)||e.disabled),m=r(()=>a.group.items.value.reduce((c,s,b)=>(a.group.selected.value.includes(s.id)&&c.push(b),c),[])),A=r(()=>{const c=a.group.items.value.findIndex(s=>s.id===a.id);return!a.isSelected.value&&m.value.some(s=>s-c===1)}),R=r(()=>{const c=a.group.items.value.findIndex(s=>s.id===a.id);return!a.isSelected.value&&m.value.some(s=>s-c===-1)});return K(x,a),P(()=>{const c=!!(n.text||e.text),s=!!(n.title||e.title),b=S.filterProps(e),D=E.filterProps(e);return t(e.tag,{class:["v-expansion-panel",{"v-expansion-panel--active":a.isSelected.value,"v-expansion-panel--before-active":A.value,"v-expansion-panel--after-active":R.value,"v-expansion-panel--disabled":_.value},v.value,i.value,e.class],style:[u.value,e.style]},{default:()=>{var y;return[t("div",{class:["v-expansion-panel__shadow",...o.value]},null),s&&t(S,V({key:"title"},b),{default:()=>[n.title?n.title():e.title]}),c&&t(E,V({key:"text"},D),{default:()=>[n.text?n.text():e.text]}),(y=n.default)==null?void 0:y.call(n)]}})}),{groupItem:a}}}),ae=["default","accordion","inset","popout"],ne=p({flat:Boolean,...Q(),...B(),...W(),variant:{type:String,default:"default",validator:e=>ae.includes(e)}},"VExpansionPanels"),se=f()({name:"VExpansionPanels",props:ne(),emits:{"update:modelValue":e=>!0},setup(e,d){let{slots:n}=d;const{next:a,prev:i}=X(e,x),{themeClasses:u}=Y(e),o=r(()=>e.variant&&`v-expansion-panels--variant-${e.variant}`);return ee({VExpansionPanel:{bgColor:l(e,"bgColor"),collapseIcon:l(e,"collapseIcon"),color:l(e,"color"),eager:l(e,"eager"),elevation:l(e,"elevation"),expandIcon:l(e,"expandIcon"),focusable:l(e,"focusable"),hideActions:l(e,"hideActions"),readonly:l(e,"readonly"),ripple:l(e,"ripple"),rounded:l(e,"rounded"),static:l(e,"static")}}),P(()=>t(e.tag,{class:["v-expansion-panels",{"v-expansion-panels--flat":e.flat,"v-expansion-panels--tile":e.tile},u.value,o.value,e.class],style:e.style},{default:()=>{var v;return[(v=n.default)==null?void 0:v.call(n,{prev:i,next:a})]}})),{next:a,prev:i}}});export{te as V,S as a,E as b,se as c};
1
+ import{E as p,M as k,c0 as G,O as f,i as C,c4 as L,R as P,S as t,aT as h,b8 as $,bR as j,bf as g,cc as z,aA as I,h as r,b6 as N,aP as O,ca as F,b$ as M,bg as U,ay as q,c2 as H,cd as J,bh as K,p as Q,as as V,cU as W,N as X,b_ as Y,P as Z,aD as ee,aB as l}from"./admin-drawer-panel-Dmn4wEY3.js";const x=Symbol.for("vuetify:v-expansion-panel"),T=p({...k(),...G()},"VExpansionPanelText"),E=f()({name:"VExpansionPanelText",props:T(),setup(e,d){let{slots:n}=d;const a=C(x);if(!a)throw new Error("[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel");const{hasContent:i,onAfterLeave:u}=L(e,a.isSelected);return P(()=>t(j,{onAfterLeave:u},{default:()=>{var o;return[h(t("div",{class:["v-expansion-panel-text",e.class],style:e.style},[n.default&&i.value&&t("div",{class:"v-expansion-panel-text__wrapper"},[(o=n.default)==null?void 0:o.call(n)])]),[[$,a.isSelected.value]])]}})),{}}}),w=p({color:String,expandIcon:{type:g,default:"$expand"},collapseIcon:{type:g,default:"$collapse"},hideActions:Boolean,focusable:Boolean,static:Boolean,ripple:{type:[Boolean,Object],default:!1},readonly:Boolean,...k()},"VExpansionPanelTitle"),S=f()({name:"VExpansionPanelTitle",directives:{Ripple:z},props:w(),setup(e,d){let{slots:n}=d;const a=C(x);if(!a)throw new Error("[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel");const{backgroundColorClasses:i,backgroundColorStyles:u}=I(e,"color"),o=r(()=>({collapseIcon:e.collapseIcon,disabled:a.disabled.value,expanded:a.isSelected.value,expandIcon:e.expandIcon,readonly:e.readonly}));return P(()=>{var v;return h(t("button",{class:["v-expansion-panel-title",{"v-expansion-panel-title--active":a.isSelected.value,"v-expansion-panel-title--focusable":e.focusable,"v-expansion-panel-title--static":e.static},i.value,e.class],style:[u.value,e.style],type:"button",tabindex:a.disabled.value?-1:void 0,disabled:a.disabled.value,"aria-expanded":a.isSelected.value,onClick:e.readonly?void 0:a.toggle},[t("span",{class:"v-expansion-panel-title__overlay"},null),(v=n.default)==null?void 0:v.call(n,o.value),!e.hideActions&&t("span",{class:"v-expansion-panel-title__icon"},[n.actions?n.actions(o.value):t(O,{icon:a.isSelected.value?e.collapseIcon:e.expandIcon},null)])]),[[N("ripple"),e.ripple]])}),{}}}),B=p({title:String,text:String,bgColor:String,...F(),...M(),...U(),...q(),...w(),...T()},"VExpansionPanel"),te=f()({name:"VExpansionPanel",props:B(),emits:{"group:selected":e=>!0},setup(e,d){let{slots:n}=d;const a=H(e,x),{backgroundColorClasses:i,backgroundColorStyles:u}=I(e,"bgColor"),{elevationClasses:o}=J(e),{roundedClasses:v}=K(e),_=r(()=>(a==null?void 0:a.disabled.value)||e.disabled),m=r(()=>a.group.items.value.reduce((c,s,b)=>(a.group.selected.value.includes(s.id)&&c.push(b),c),[])),A=r(()=>{const c=a.group.items.value.findIndex(s=>s.id===a.id);return!a.isSelected.value&&m.value.some(s=>s-c===1)}),R=r(()=>{const c=a.group.items.value.findIndex(s=>s.id===a.id);return!a.isSelected.value&&m.value.some(s=>s-c===-1)});return Q(x,a),P(()=>{const c=!!(n.text||e.text),s=!!(n.title||e.title),b=S.filterProps(e),D=E.filterProps(e);return t(e.tag,{class:["v-expansion-panel",{"v-expansion-panel--active":a.isSelected.value,"v-expansion-panel--before-active":A.value,"v-expansion-panel--after-active":R.value,"v-expansion-panel--disabled":_.value},v.value,i.value,e.class],style:[u.value,e.style]},{default:()=>{var y;return[t("div",{class:["v-expansion-panel__shadow",...o.value]},null),s&&t(S,V({key:"title"},b),{default:()=>[n.title?n.title():e.title]}),c&&t(E,V({key:"text"},D),{default:()=>[n.text?n.text():e.text]}),(y=n.default)==null?void 0:y.call(n)]}})}),{groupItem:a}}}),ae=["default","accordion","inset","popout"],ne=p({flat:Boolean,...W(),...B(),...X(),variant:{type:String,default:"default",validator:e=>ae.includes(e)}},"VExpansionPanels"),se=f()({name:"VExpansionPanels",props:ne(),emits:{"update:modelValue":e=>!0},setup(e,d){let{slots:n}=d;const{next:a,prev:i}=Y(e,x),{themeClasses:u}=Z(e),o=r(()=>e.variant&&`v-expansion-panels--variant-${e.variant}`);return ee({VExpansionPanel:{bgColor:l(e,"bgColor"),collapseIcon:l(e,"collapseIcon"),color:l(e,"color"),eager:l(e,"eager"),elevation:l(e,"elevation"),expandIcon:l(e,"expandIcon"),focusable:l(e,"focusable"),hideActions:l(e,"hideActions"),readonly:l(e,"readonly"),ripple:l(e,"ripple"),rounded:l(e,"rounded"),static:l(e,"static")}}),P(()=>t(e.tag,{class:["v-expansion-panels",{"v-expansion-panels--flat":e.flat,"v-expansion-panels--tile":e.tile},u.value,o.value,e.class],style:e.style},{default:()=>{var v;return[(v=n.default)==null?void 0:v.call(n,{prev:i,next:a})]}})),{next:a,prev:i}}});export{te as V,S as a,E as b,se as c};
@@ -1 +1 @@
1
- import{E as p,M as k,b$ as G,O as f,i as C,c3 as L,R as P,S as t,aT as h,b8 as $,ci as j,bf as g,cb as z,aA as I,h as r,b6 as N,aP as O,c9 as F,b_ as M,bg as U,ay as Z,c1 as q,cc as H,bh as J,p as K,as as V,cU as Q,N as W,bZ as X,P as Y,aD as ee,aB as l}from"./admin-drawer-panel-rrNKi_GE.js";const x=Symbol.for("vuetify:v-expansion-panel"),T=p({...k(),...G()},"VExpansionPanelText"),E=f()({name:"VExpansionPanelText",props:T(),setup(e,d){let{slots:n}=d;const a=C(x);if(!a)throw new Error("[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel");const{hasContent:i,onAfterLeave:u}=L(e,a.isSelected);return P(()=>t(j,{onAfterLeave:u},{default:()=>{var o;return[h(t("div",{class:["v-expansion-panel-text",e.class],style:e.style},[n.default&&i.value&&t("div",{class:"v-expansion-panel-text__wrapper"},[(o=n.default)==null?void 0:o.call(n)])]),[[$,a.isSelected.value]])]}})),{}}}),w=p({color:String,expandIcon:{type:g,default:"$expand"},collapseIcon:{type:g,default:"$collapse"},hideActions:Boolean,focusable:Boolean,static:Boolean,ripple:{type:[Boolean,Object],default:!1},readonly:Boolean,...k()},"VExpansionPanelTitle"),S=f()({name:"VExpansionPanelTitle",directives:{Ripple:z},props:w(),setup(e,d){let{slots:n}=d;const a=C(x);if(!a)throw new Error("[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel");const{backgroundColorClasses:i,backgroundColorStyles:u}=I(e,"color"),o=r(()=>({collapseIcon:e.collapseIcon,disabled:a.disabled.value,expanded:a.isSelected.value,expandIcon:e.expandIcon,readonly:e.readonly}));return P(()=>{var v;return h(t("button",{class:["v-expansion-panel-title",{"v-expansion-panel-title--active":a.isSelected.value,"v-expansion-panel-title--focusable":e.focusable,"v-expansion-panel-title--static":e.static},i.value,e.class],style:[u.value,e.style],type:"button",tabindex:a.disabled.value?-1:void 0,disabled:a.disabled.value,"aria-expanded":a.isSelected.value,onClick:e.readonly?void 0:a.toggle},[t("span",{class:"v-expansion-panel-title__overlay"},null),(v=n.default)==null?void 0:v.call(n,o.value),!e.hideActions&&t("span",{class:"v-expansion-panel-title__icon"},[n.actions?n.actions(o.value):t(O,{icon:a.isSelected.value?e.collapseIcon:e.expandIcon},null)])]),[[N("ripple"),e.ripple]])}),{}}}),B=p({title:String,text:String,bgColor:String,...F(),...M(),...U(),...Z(),...w(),...T()},"VExpansionPanel"),te=f()({name:"VExpansionPanel",props:B(),emits:{"group:selected":e=>!0},setup(e,d){let{slots:n}=d;const a=q(e,x),{backgroundColorClasses:i,backgroundColorStyles:u}=I(e,"bgColor"),{elevationClasses:o}=H(e),{roundedClasses:v}=J(e),_=r(()=>(a==null?void 0:a.disabled.value)||e.disabled),m=r(()=>a.group.items.value.reduce((c,s,b)=>(a.group.selected.value.includes(s.id)&&c.push(b),c),[])),A=r(()=>{const c=a.group.items.value.findIndex(s=>s.id===a.id);return!a.isSelected.value&&m.value.some(s=>s-c===1)}),R=r(()=>{const c=a.group.items.value.findIndex(s=>s.id===a.id);return!a.isSelected.value&&m.value.some(s=>s-c===-1)});return K(x,a),P(()=>{const c=!!(n.text||e.text),s=!!(n.title||e.title),b=S.filterProps(e),D=E.filterProps(e);return t(e.tag,{class:["v-expansion-panel",{"v-expansion-panel--active":a.isSelected.value,"v-expansion-panel--before-active":A.value,"v-expansion-panel--after-active":R.value,"v-expansion-panel--disabled":_.value},v.value,i.value,e.class],style:[u.value,e.style]},{default:()=>{var y;return[t("div",{class:["v-expansion-panel__shadow",...o.value]},null),s&&t(S,V({key:"title"},b),{default:()=>[n.title?n.title():e.title]}),c&&t(E,V({key:"text"},D),{default:()=>[n.text?n.text():e.text]}),(y=n.default)==null?void 0:y.call(n)]}})}),{groupItem:a}}}),ae=["default","accordion","inset","popout"],ne=p({flat:Boolean,...Q(),...B(),...W(),variant:{type:String,default:"default",validator:e=>ae.includes(e)}},"VExpansionPanels"),se=f()({name:"VExpansionPanels",props:ne(),emits:{"update:modelValue":e=>!0},setup(e,d){let{slots:n}=d;const{next:a,prev:i}=X(e,x),{themeClasses:u}=Y(e),o=r(()=>e.variant&&`v-expansion-panels--variant-${e.variant}`);return ee({VExpansionPanel:{bgColor:l(e,"bgColor"),collapseIcon:l(e,"collapseIcon"),color:l(e,"color"),eager:l(e,"eager"),elevation:l(e,"elevation"),expandIcon:l(e,"expandIcon"),focusable:l(e,"focusable"),hideActions:l(e,"hideActions"),readonly:l(e,"readonly"),ripple:l(e,"ripple"),rounded:l(e,"rounded"),static:l(e,"static")}}),P(()=>t(e.tag,{class:["v-expansion-panels",{"v-expansion-panels--flat":e.flat,"v-expansion-panels--tile":e.tile},u.value,o.value,e.class],style:e.style},{default:()=>{var v;return[(v=n.default)==null?void 0:v.call(n,{prev:i,next:a})]}})),{next:a,prev:i}}});export{te as V,S as a,E as b,se as c};
1
+ import{E as p,M as k,c0 as G,O as f,i as C,c4 as L,R as P,S as t,aT as h,b8 as $,bR as j,bf as g,cc as z,aA as I,h as r,b6 as N,aP as O,ca as F,b$ as M,bg as U,ay as q,c2 as H,cd as J,bh as K,p as Q,as as V,cU as W,N as X,b_ as Y,P as Z,aD as ee,aB as l}from"./admin-drawer-panel-Dmn4wEY3.js";const x=Symbol.for("vuetify:v-expansion-panel"),T=p({...k(),...G()},"VExpansionPanelText"),E=f()({name:"VExpansionPanelText",props:T(),setup(e,d){let{slots:n}=d;const a=C(x);if(!a)throw new Error("[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel");const{hasContent:i,onAfterLeave:u}=L(e,a.isSelected);return P(()=>t(j,{onAfterLeave:u},{default:()=>{var o;return[h(t("div",{class:["v-expansion-panel-text",e.class],style:e.style},[n.default&&i.value&&t("div",{class:"v-expansion-panel-text__wrapper"},[(o=n.default)==null?void 0:o.call(n)])]),[[$,a.isSelected.value]])]}})),{}}}),w=p({color:String,expandIcon:{type:g,default:"$expand"},collapseIcon:{type:g,default:"$collapse"},hideActions:Boolean,focusable:Boolean,static:Boolean,ripple:{type:[Boolean,Object],default:!1},readonly:Boolean,...k()},"VExpansionPanelTitle"),S=f()({name:"VExpansionPanelTitle",directives:{Ripple:z},props:w(),setup(e,d){let{slots:n}=d;const a=C(x);if(!a)throw new Error("[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel");const{backgroundColorClasses:i,backgroundColorStyles:u}=I(e,"color"),o=r(()=>({collapseIcon:e.collapseIcon,disabled:a.disabled.value,expanded:a.isSelected.value,expandIcon:e.expandIcon,readonly:e.readonly}));return P(()=>{var v;return h(t("button",{class:["v-expansion-panel-title",{"v-expansion-panel-title--active":a.isSelected.value,"v-expansion-panel-title--focusable":e.focusable,"v-expansion-panel-title--static":e.static},i.value,e.class],style:[u.value,e.style],type:"button",tabindex:a.disabled.value?-1:void 0,disabled:a.disabled.value,"aria-expanded":a.isSelected.value,onClick:e.readonly?void 0:a.toggle},[t("span",{class:"v-expansion-panel-title__overlay"},null),(v=n.default)==null?void 0:v.call(n,o.value),!e.hideActions&&t("span",{class:"v-expansion-panel-title__icon"},[n.actions?n.actions(o.value):t(O,{icon:a.isSelected.value?e.collapseIcon:e.expandIcon},null)])]),[[N("ripple"),e.ripple]])}),{}}}),B=p({title:String,text:String,bgColor:String,...F(),...M(),...U(),...q(),...w(),...T()},"VExpansionPanel"),te=f()({name:"VExpansionPanel",props:B(),emits:{"group:selected":e=>!0},setup(e,d){let{slots:n}=d;const a=H(e,x),{backgroundColorClasses:i,backgroundColorStyles:u}=I(e,"bgColor"),{elevationClasses:o}=J(e),{roundedClasses:v}=K(e),_=r(()=>(a==null?void 0:a.disabled.value)||e.disabled),m=r(()=>a.group.items.value.reduce((c,s,b)=>(a.group.selected.value.includes(s.id)&&c.push(b),c),[])),A=r(()=>{const c=a.group.items.value.findIndex(s=>s.id===a.id);return!a.isSelected.value&&m.value.some(s=>s-c===1)}),R=r(()=>{const c=a.group.items.value.findIndex(s=>s.id===a.id);return!a.isSelected.value&&m.value.some(s=>s-c===-1)});return Q(x,a),P(()=>{const c=!!(n.text||e.text),s=!!(n.title||e.title),b=S.filterProps(e),D=E.filterProps(e);return t(e.tag,{class:["v-expansion-panel",{"v-expansion-panel--active":a.isSelected.value,"v-expansion-panel--before-active":A.value,"v-expansion-panel--after-active":R.value,"v-expansion-panel--disabled":_.value},v.value,i.value,e.class],style:[u.value,e.style]},{default:()=>{var y;return[t("div",{class:["v-expansion-panel__shadow",...o.value]},null),s&&t(S,V({key:"title"},b),{default:()=>[n.title?n.title():e.title]}),c&&t(E,V({key:"text"},D),{default:()=>[n.text?n.text():e.text]}),(y=n.default)==null?void 0:y.call(n)]}})}),{groupItem:a}}}),ae=["default","accordion","inset","popout"],ne=p({flat:Boolean,...W(),...B(),...X(),variant:{type:String,default:"default",validator:e=>ae.includes(e)}},"VExpansionPanels"),se=f()({name:"VExpansionPanels",props:ne(),emits:{"update:modelValue":e=>!0},setup(e,d){let{slots:n}=d;const{next:a,prev:i}=Y(e,x),{themeClasses:u}=Z(e),o=r(()=>e.variant&&`v-expansion-panels--variant-${e.variant}`);return ee({VExpansionPanel:{bgColor:l(e,"bgColor"),collapseIcon:l(e,"collapseIcon"),color:l(e,"color"),eager:l(e,"eager"),elevation:l(e,"elevation"),expandIcon:l(e,"expandIcon"),focusable:l(e,"focusable"),hideActions:l(e,"hideActions"),readonly:l(e,"readonly"),ripple:l(e,"ripple"),rounded:l(e,"rounded"),static:l(e,"static")}}),P(()=>t(e.tag,{class:["v-expansion-panels",{"v-expansion-panels--flat":e.flat,"v-expansion-panels--tile":e.tile},u.value,o.value,e.class],style:e.style},{default:()=>{var v;return[(v=n.default)==null?void 0:v.call(n,{prev:i,next:a})]}})),{next:a,prev:i}}});export{te as V,S as a,E as b,se as c};