@nhtio/lucid-resourceful-vue-components 0.1.0-master-e14740ea → 0.1.0-master-dc6af70b

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.
Files changed (156) hide show
  1. package/{VBtn-DhfYEt9V.mjs → VBtn-CEYzcx0y.mjs} +8 -8
  2. package/{VBtn-DhfYEt9V.mjs.map → VBtn-CEYzcx0y.mjs.map} +1 -1
  3. package/{VDatePicker-D0OTAyvJ.mjs → VDatePicker-BHcvHHhM.mjs} +133 -133
  4. package/{VDatePicker-D0OTAyvJ.mjs.map → VDatePicker-BHcvHHhM.mjs.map} +1 -1
  5. package/{VEmptyState-BFrXSTJ-.mjs → VEmptyState-CkYtN0q5.mjs} +84 -84
  6. package/{VEmptyState-BFrXSTJ-.mjs.map → VEmptyState-CkYtN0q5.mjs.map} +1 -1
  7. package/{VHover-DLvOmsjv.mjs → VHover-Bj6QrQff.mjs} +3 -3
  8. package/{VHover-DLvOmsjv.mjs.map → VHover-Bj6QrQff.mjs.map} +1 -1
  9. package/{VListItem-LNaoM8S4.mjs → VListItem-BnxAmKd_.mjs} +55 -55
  10. package/{VListItem-LNaoM8S4.mjs.map → VListItem-BnxAmKd_.mjs.map} +1 -1
  11. package/{VMenu-9rTbTKtH.mjs → VMenu-BSB7YSpb.mjs} +28 -28
  12. package/{VMenu-9rTbTKtH.mjs.map → VMenu-BSB7YSpb.mjs.map} +1 -1
  13. package/{VPicker-BGuRD0KW.mjs → VPicker-DMOVvCIE.mjs} +5 -5
  14. package/{VPicker-BGuRD0KW.mjs.map → VPicker-DMOVvCIE.mjs.map} +1 -1
  15. package/{VRadioGroup-Dx_wEqzl.mjs → VRadioGroup-ByydeX8x.mjs} +21 -21
  16. package/{VRadioGroup-Dx_wEqzl.mjs.map → VRadioGroup-ByydeX8x.mjs.map} +1 -1
  17. package/{VRow-DaLdbIGw.mjs → VRow-Dmn82Xaa.mjs} +18 -18
  18. package/{VRow-DaLdbIGw.mjs.map → VRow-Dmn82Xaa.mjs.map} +1 -1
  19. package/{VSheet-DnIfs-1c.mjs → VSheet-B9ALb0PQ.mjs} +14 -14
  20. package/{VSheet-DnIfs-1c.mjs.map → VSheet-B9ALb0PQ.mjs.map} +1 -1
  21. package/{actions-8bWGsB-p.mjs → actions-BEmdy8bu.mjs} +11 -11
  22. package/{actions-8bWGsB-p.mjs.map → actions-BEmdy8bu.mjs.map} +1 -1
  23. package/{alert-IW1AIWZw.mjs → alert-DftADRGk.mjs} +13 -13
  24. package/{alert-IW1AIWZw.mjs.map → alert-DftADRGk.mjs.map} +1 -1
  25. package/{bigint-Jmfa2L4S.mjs → bigint-DiC37zMo.mjs} +6 -6
  26. package/{bigint-Jmfa2L4S.mjs.map → bigint-DiC37zMo.mjs.map} +1 -1
  27. package/{boolean-BEY7eBxf.mjs → boolean-DZDryWHA.mjs} +74 -74
  28. package/{boolean-BEY7eBxf.mjs.map → boolean-DZDryWHA.mjs.map} +1 -1
  29. package/{clipboard-BoKd7mFG.mjs → clipboard--JAZokR3.mjs} +14 -14
  30. package/{clipboard-BoKd7mFG.mjs.map → clipboard--JAZokR3.mjs.map} +1 -1
  31. package/{colorUtils-DmtKYNgW.mjs → colorUtils-I1lKouL3.mjs} +3 -3
  32. package/{colorUtils-DmtKYNgW.mjs.map → colorUtils-I1lKouL3.mjs.map} +1 -1
  33. package/{common-BeDAn4wu.mjs → common-BDwb9uGU.mjs} +8881 -8880
  34. package/common-BDwb9uGU.mjs.map +1 -0
  35. package/{component-CjPpW_A2.mjs → component-C-qp70Rp.mjs} +2 -2
  36. package/{component-CjPpW_A2.mjs.map → component-C-qp70Rp.mjs.map} +1 -1
  37. package/components/autorefresh_controller.mjs +1 -1
  38. package/components/control_button.mjs +1 -1
  39. package/components/control_button_bar.mjs +2 -2
  40. package/components/control_menu.mjs +1 -1
  41. package/components/custom_field.mjs +1 -1
  42. package/components/exporter.mjs +1 -1
  43. package/components/fields/bigint.mjs +1 -1
  44. package/components/fields/boolean.mjs +1 -1
  45. package/components/fields/date.mjs +1 -1
  46. package/components/fields/date_time.mjs +1 -1
  47. package/components/fields/enum.mjs +1 -1
  48. package/components/fields/integer.mjs +1 -1
  49. package/components/fields/number.mjs +1 -1
  50. package/components/fields/string.mjs +1 -1
  51. package/components/fields/unsigned_integer.mjs +1 -1
  52. package/components/fields.mjs +9 -9
  53. package/components/form_with_validation.mjs +1 -1
  54. package/components/resourceful_alerter.mjs +1 -1
  55. package/components/resourceful_index.mjs +1 -1
  56. package/components/resourceful_record.mjs +2 -2
  57. package/components/resourceful_record_default_form.mjs +1 -1
  58. package/components/resourceful_record_form.mjs +1 -1
  59. package/components/sortable.mjs +1 -1
  60. package/components/svg_icon.mjs +1 -1
  61. package/components/timezone_picker.mjs +1 -1
  62. package/components.mjs +23 -23
  63. package/composables.mjs +11 -11
  64. package/{console-CRXioSFP.mjs → console-CAez8ceh.mjs} +2 -2
  65. package/{console-CRXioSFP.mjs.map → console-CAez8ceh.mjs.map} +1 -1
  66. package/{custom-Y1WJVKP9.mjs → custom-Tm6_792A.mjs} +12 -12
  67. package/{custom-Y1WJVKP9.mjs.map → custom-Tm6_792A.mjs.map} +1 -1
  68. package/{date-BxEeCNWD.mjs → date-CxaBVvlO.mjs} +10 -10
  69. package/{date-BxEeCNWD.mjs.map → date-CxaBVvlO.mjs.map} +1 -1
  70. package/{date_time-6kpv7eDF.mjs → date_time-DhABUkGT.mjs} +169 -169
  71. package/{date_time-6kpv7eDF.mjs.map → date_time-DhABUkGT.mjs.map} +1 -1
  72. package/{display-DvzWa1QO.mjs → display-BdjbLG1_.mjs} +32 -32
  73. package/{display-DvzWa1QO.mjs.map → display-BdjbLG1_.mjs.map} +1 -1
  74. package/{display-CO0pTIEs.mjs → display-DPktlWOz.mjs} +42 -42
  75. package/{display-CO0pTIEs.mjs.map → display-DPktlWOz.mjs.map} +1 -1
  76. package/{display-kAyhIPBH.mjs → display-DazBkrbZ.mjs} +7 -7
  77. package/{display-kAyhIPBH.mjs.map → display-DazBkrbZ.mjs.map} +1 -1
  78. package/{elevation-CMzO50xm.mjs → elevation-DFBVIqom.mjs} +56 -56
  79. package/{elevation-CMzO50xm.mjs.map → elevation-DFBVIqom.mjs.map} +1 -1
  80. package/{enum-noYU2Cqh.mjs → enum-KB4xPkOL.mjs} +9 -9
  81. package/{enum-noYU2Cqh.mjs.map → enum-KB4xPkOL.mjs.map} +1 -1
  82. package/factories.mjs +1 -1
  83. package/{field_composer-DpJx0Oz1.mjs → field_composer-CLJuJevf.mjs} +7 -7
  84. package/{field_composer-DpJx0Oz1.mjs.map → field_composer-CLJuJevf.mjs.map} +1 -1
  85. package/{form-CDLcDPyU.mjs → form-9YRVcrxM.mjs} +17 -17
  86. package/{form-CDLcDPyU.mjs.map → form-9YRVcrxM.mjs.map} +1 -1
  87. package/{guards-B99p3BPj.mjs → guards-BrpRx6ly.mjs} +2 -2
  88. package/{guards-B99p3BPj.mjs.map → guards-BrpRx6ly.mjs.map} +1 -1
  89. package/guards.mjs +4 -4
  90. package/helpers.mjs +6 -6
  91. package/{index-B2rKM3mR.mjs → index-BaOM0Cyz.mjs} +8 -8
  92. package/{index-B2rKM3mR.mjs.map → index-BaOM0Cyz.mjs.map} +1 -1
  93. package/{index-C9UuBVyI.mjs → index-BkjiQEyJ.mjs} +12 -12
  94. package/{index-C9UuBVyI.mjs.map → index-BkjiQEyJ.mjs.map} +1 -1
  95. package/{index-slHxe6b-.mjs → index-Bs4A8qUO.mjs} +2 -2
  96. package/{index-slHxe6b-.mjs.map → index-Bs4A8qUO.mjs.map} +1 -1
  97. package/{index-BUpccfIz.mjs → index-BsazeUn6.mjs} +3 -3
  98. package/{index-BUpccfIz.mjs.map → index-BsazeUn6.mjs.map} +1 -1
  99. package/{index-BaWthszI.mjs → index-CWwCXXNl.mjs} +2 -2
  100. package/{index-BaWthszI.mjs.map → index-CWwCXXNl.mjs.map} +1 -1
  101. package/{index-Bi050X9r.mjs → index-DBXOwXpe.mjs} +6 -6
  102. package/{index-Bi050X9r.mjs.map → index-DBXOwXpe.mjs.map} +1 -1
  103. package/{index-CzI9mHIx.mjs → index-DDobJ49b.mjs} +7 -7
  104. package/{index-CzI9mHIx.mjs.map → index-DDobJ49b.mjs.map} +1 -1
  105. package/{index-CIvylvfa.mjs → index-DwOjHbRP.mjs} +44 -44
  106. package/{index-CIvylvfa.mjs.map → index-DwOjHbRP.mjs.map} +1 -1
  107. package/{index-bXmNb9jX.mjs → index-UxsEIZVi.mjs} +4 -4
  108. package/{index-bXmNb9jX.mjs.map → index-UxsEIZVi.mjs.map} +1 -1
  109. package/index.mjs +47 -47
  110. package/{integer-BIJ4_I8y.mjs → integer-uzh0nwpb.mjs} +3 -3
  111. package/{integer-BIJ4_I8y.mjs.map → integer-uzh0nwpb.mjs.map} +1 -1
  112. package/{mdi-CqMJqgQi.mjs → mdi-C9DbASEx.mjs} +40 -40
  113. package/{mdi-CqMJqgQi.mjs.map → mdi-C9DbASEx.mjs.map} +1 -1
  114. package/{number-z_LAINPM.mjs → number-CfHLDQFY.mjs} +28 -28
  115. package/{number-z_LAINPM.mjs.map → number-CfHLDQFY.mjs.map} +1 -1
  116. package/package.json +46 -46
  117. package/{position-Ai5XksAO.mjs → position-CPuNp03H.mjs} +2 -2
  118. package/{position-Ai5XksAO.mjs.map → position-CPuNp03H.mjs.map} +1 -1
  119. package/{props-BYX22zcE.mjs → props-Cq9daNwa.mjs} +4 -4
  120. package/{props-BYX22zcE.mjs.map → props-Cq9daNwa.mjs.map} +1 -1
  121. package/{props-p4f5Pa5h.mjs → props-KPFuptNy.mjs} +8 -8
  122. package/{props-p4f5Pa5h.mjs.map → props-KPFuptNy.mjs.map} +1 -1
  123. package/{renderers-BKUvrrVm.mjs → renderers-COT3aAu3.mjs} +13 -13
  124. package/{renderers-BKUvrrVm.mjs.map → renderers-COT3aAu3.mjs.map} +1 -1
  125. package/{string-Dmr8SRMf.mjs → string-DvwPf_Ob.mjs} +61 -61
  126. package/{string-Dmr8SRMf.mjs.map → string-DvwPf_Ob.mjs.map} +1 -1
  127. package/{unsigned_integer-BliPiCXO.mjs → unsigned_integer-C9nrNAn_.mjs} +4 -4
  128. package/{unsigned_integer-BliPiCXO.mjs.map → unsigned_integer-C9nrNAn_.mjs.map} +1 -1
  129. package/useRender-Dpj9Jrbr.mjs +9 -0
  130. package/{useRender-BD1xw5zG.mjs.map → useRender-Dpj9Jrbr.mjs.map} +1 -1
  131. package/{utils-DqXWb-4f.mjs → utils-DxV2ZNaE.mjs} +10 -10
  132. package/{utils-DqXWb-4f.mjs.map → utils-DxV2ZNaE.mjs.map} +1 -1
  133. package/{validation-DS3tTSk5.mjs → validation-CZ6xx4aX.mjs} +4 -4
  134. package/{validation-DS3tTSk5.mjs.map → validation-CZ6xx4aX.mjs.map} +1 -1
  135. package/VBtn.css +0 -1
  136. package/VDatePicker.css +0 -1
  137. package/VEmptyState.css +0 -1
  138. package/VListItem.css +0 -1
  139. package/VMenu.css +0 -1
  140. package/VPicker.css +0 -1
  141. package/VRadioGroup.css +0 -1
  142. package/VSheet.css +0 -1
  143. package/actions.css +0 -1
  144. package/boolean.css +0 -1
  145. package/clipboard.css +0 -1
  146. package/common-BeDAn4wu.mjs.map +0 -1
  147. package/common.css +0 -1
  148. package/date_time.css +0 -1
  149. package/display.css +0 -1
  150. package/display2.css +0 -1
  151. package/elevation.css +0 -1
  152. package/index.css +0 -1
  153. package/mdi.css +0 -1
  154. package/number.css +0 -1
  155. package/string.css +0 -1
  156. package/useRender-BD1xw5zG.mjs +0 -9
@@ -1 +0,0 @@
1
- {"version":3,"file":"common-BeDAn4wu.mjs","sources":["../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VAlert/VAlertTitle.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/iconSizes.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VAlert/VAlert.js","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VList/VListItemSubtitle.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/util/createSimpleFunctional.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VList/VListItemTitle.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VAvatar/VAvatar.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VList/list.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/composables/nested/activeStrategies.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/composables/nested/openStrategies.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/composables/nested/selectStrategies.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/composables/nested/nested.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VList/VListItem.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VLabel/VLabel.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VSelectionControlGroup/VSelectionControlGroup.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VSelectionControl/VSelectionControl.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VCheckbox/VCheckboxBtn.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VInput/InputIcon.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/transitions/createTransition.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/transitions/expand-transition.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/util/box.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/util/animation.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/util/easing.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/transitions/dialog-transition.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/transitions.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VMessages/VMessages.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/composables/focus.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/composables/form.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/labs/rules/rules.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/composables/validation.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VInput/VInput.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VCheckbox/VCheckbox.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/composables/goto.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VSlideGroup/helpers.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VSlideGroup/VSlideGroup.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VChipGroup/VChipGroup.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VChip/VChip.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VDivider/VDivider.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/composables/ssrBoot.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VList/VListGroup.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VList/VListSubheader.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VList/VListChildren.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/composables/list-items.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VList/VList.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VList/VListImg.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VList/VListItemAction.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VList/VListItemMedia.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VOverlay/util/point.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/util/getScrollParent.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/util/isFixedPosition.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VOverlay/locationStrategies.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VOverlay/requestNewFrame.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VOverlay/scrollStrategies.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VMenu/shared.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/composables/delay.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/util/bindProps.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VOverlay/useActivator.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/composables/hydration.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/composables/lazy.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/composables/scopeId.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/composables/stack.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/composables/teleport.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/util/dom.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/directives/click-outside.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VOverlay/VOverlay.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VMenu/VMenu.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VCounter/VCounter.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VField/VFieldLabel.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VField/VField.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/composables/autofocus.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VTextField/VTextField.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VVirtualScroll/VVirtualScrollItem.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/composables/virtual.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VVirtualScroll/VVirtualScroll.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VSelect/useScrolling.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VSelect/VSelect.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/composables/filter.mjs","../node_modules/.pnpm/@nhtio+vuetifiable@1.20250907.1/node_modules/@nhtio/vuetifiable/components/VCombobox/VCombobox.mjs","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/ssrBoot.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VList/VListGroup.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VList/VListSubheader.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VDivider/VDivider.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VList/VListChildren.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/list-items.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VList/VList.js","../src/private/fields/read_mode_renderer.ts","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VInput/InputIcon.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VMessages/VMessages.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/focus.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/form.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/labs/rules/rules.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/validation.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VInput/VInput.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VLabel/VLabel.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VField/VFieldLabel.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VField/VField.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VBottomSheet/VBottomSheet.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VSelectionControlGroup/VSelectionControlGroup.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VSelectionControl/VSelectionControl.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VCheckbox/VCheckboxBtn.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VCounter/VCounter.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/autocomplete.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/autofocus.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VTextField/VTextField.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VVirtualScroll/VVirtualScrollItem.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/virtual.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VVirtualScroll/VVirtualScroll.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VSelect/useScrolling.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/menuActivator.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VSelect/VSelect.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/filter.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VAutocomplete/VAutocomplete.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VToolbar/VToolbarTitle.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VToolbar/VToolbar.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VToolbar/VToolbarItems.js","../src/private/fields/multiple.ts","../src/private/fields/common.ts"],"sourcesContent":["// Utilities\nimport { createSimpleFunctional } from \"../../util/index.js\";\nexport const VAlertTitle = createSimpleFunctional('v-alert-title');\n//# sourceMappingURL=VAlertTitle.js.map","// Utilities\nimport { computed } from 'vue';\nimport { propsFactory } from \"../util/index.js\"; // Types\n// Types\n// Composables\nexport const makeIconSizeProps = propsFactory({\n iconSize: [Number, String],\n iconSizes: {\n type: Array,\n default: () => [['x-small', 10], ['small', 16], ['default', 24], ['large', 28], ['x-large', 32]]\n }\n}, 'iconSize');\nexport function useIconSizes(props, fallback) {\n const iconSize = computed(() => {\n const iconSizeMap = new Map(props.iconSizes);\n const _iconSize = props.iconSize ?? fallback() ?? 'default';\n return iconSizeMap.has(_iconSize) ? iconSizeMap.get(_iconSize) : _iconSize;\n });\n return {\n iconSize\n };\n}\n//# sourceMappingURL=iconSizes.js.map","import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VAlert.css\";\n\n// Components\nimport { VAlertTitle } from \"./VAlertTitle.js\";\nimport { VBtn } from \"../VBtn/index.js\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.js\";\nimport { VIcon } from \"../VIcon/index.js\"; // Composables\nimport { useTextColor } from \"../../composables/color.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { makeDensityProps, useDensity } from \"../../composables/density.js\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.js\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.js\";\nimport { IconValue } from \"../../composables/icons.js\";\nimport { makeIconSizeProps, useIconSizes } from \"../../composables/iconSizes.js\";\nimport { useLocale } from \"../../composables/locale.js\";\nimport { makeLocationProps, useLocation } from \"../../composables/location.js\";\nimport { makePositionProps, usePosition } from \"../../composables/position.js\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.js\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.js\";\nimport { makeTagProps } from \"../../composables/tag.js\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.js\";\nimport { genOverlays, makeVariantProps, useVariant } from \"../../composables/variant.js\"; // Utilities\nimport { toRef } from 'vue';\nimport { genericComponent, propsFactory } from \"../../util/index.js\"; // Types\nconst allowedTypes = ['success', 'info', 'warning', 'error'];\nexport const makeVAlertProps = propsFactory({\n border: {\n type: [Boolean, String],\n validator: val => {\n return typeof val === 'boolean' || ['top', 'end', 'bottom', 'start'].includes(val);\n }\n },\n borderColor: String,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$close'\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close'\n },\n icon: {\n type: [Boolean, String, Function, Object],\n default: null\n },\n modelValue: {\n type: Boolean,\n default: true\n },\n prominent: Boolean,\n title: String,\n text: String,\n type: {\n type: String,\n validator: val => allowedTypes.includes(val)\n },\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeIconSizeProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({\n variant: 'flat'\n })\n}, 'VAlert');\nexport const VAlert = genericComponent()({\n name: 'VAlert',\n props: makeVAlertProps(),\n emits: {\n 'click:close': e => true,\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n emit,\n slots\n } = _ref;\n const isActive = useProxiedModel(props, 'modelValue');\n const icon = toRef(() => {\n if (props.icon === false) return undefined;\n if (!props.type) return props.icon;\n return props.icon ?? `$${props.type}`;\n });\n const {\n iconSize\n } = useIconSizes(props, () => props.prominent ? 44 : undefined);\n const {\n themeClasses\n } = provideTheme(props);\n const {\n colorClasses,\n colorStyles,\n variantClasses\n } = useVariant(() => ({\n color: props.color ?? props.type,\n variant: props.variant\n }));\n const {\n densityClasses\n } = useDensity(props);\n const {\n dimensionStyles\n } = useDimension(props);\n const {\n elevationClasses\n } = useElevation(props);\n const {\n locationStyles\n } = useLocation(props);\n const {\n positionClasses\n } = usePosition(props);\n const {\n roundedClasses\n } = useRounded(props);\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(() => props.borderColor);\n const {\n t\n } = useLocale();\n const closeProps = toRef(() => ({\n 'aria-label': t(props.closeLabel),\n onClick(e) {\n isActive.value = false;\n emit('click:close', e);\n }\n }));\n return () => {\n const hasPrepend = !!(slots.prepend || icon.value);\n const hasTitle = !!(slots.title || props.title);\n const hasClose = !!(slots.close || props.closable);\n const iconProps = {\n density: props.density,\n icon: icon.value,\n size: props.iconSize || props.prominent ? iconSize.value : undefined\n };\n return isActive.value && _createVNode(props.tag, {\n \"class\": _normalizeClass(['v-alert', props.border && {\n 'v-alert--border': !!props.border,\n [`v-alert--border-${props.border === true ? 'start' : props.border}`]: true\n }, {\n 'v-alert--prominent': props.prominent\n }, themeClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class]),\n \"style\": _normalizeStyle([colorStyles.value, dimensionStyles.value, locationStyles.value, props.style]),\n \"role\": \"alert\"\n }, {\n default: () => [genOverlays(false, 'v-alert'), props.border && _createElementVNode(\"div\", {\n \"key\": \"border\",\n \"class\": _normalizeClass(['v-alert__border', textColorClasses.value]),\n \"style\": _normalizeStyle(textColorStyles.value)\n }, null), hasPrepend && _createElementVNode(\"div\", {\n \"key\": \"prepend\",\n \"class\": \"v-alert__prepend\"\n }, [!slots.prepend ? _createVNode(VIcon, _mergeProps({\n \"key\": \"prepend-icon\"\n }, iconProps), null) : _createVNode(VDefaultsProvider, {\n \"key\": \"prepend-defaults\",\n \"disabled\": !icon.value,\n \"defaults\": {\n VIcon: {\n ...iconProps\n }\n }\n }, slots.prepend)]), _createElementVNode(\"div\", {\n \"class\": \"v-alert__content\"\n }, [hasTitle && _createVNode(VAlertTitle, {\n \"key\": \"title\"\n }, {\n default: () => [slots.title?.() ?? props.title]\n }), slots.text?.() ?? props.text, slots.default?.()]), slots.append && _createElementVNode(\"div\", {\n \"key\": \"append\",\n \"class\": \"v-alert__append\"\n }, [slots.append()]), hasClose && _createElementVNode(\"div\", {\n \"key\": \"close\",\n \"class\": \"v-alert__close\"\n }, [!slots.close ? _createVNode(VBtn, _mergeProps({\n \"key\": \"close-btn\",\n \"icon\": props.closeIcon,\n \"size\": \"x-small\",\n \"variant\": \"text\"\n }, closeProps.value), null) : _createVNode(VDefaultsProvider, {\n \"key\": \"close-defaults\",\n \"defaults\": {\n VBtn: {\n icon: props.closeIcon,\n size: 'x-small',\n variant: 'text'\n }\n }\n }, {\n default: () => [slots.close?.({\n props: closeProps.value\n })]\n })])]\n });\n };\n }\n});\n//# sourceMappingURL=VAlert.js.map","import { q as createVNode } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport \"../../util/helpers.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nconst makeVListItemSubtitleProps = propsFactory({\n opacity: [Number, String],\n ...makeComponentProps(),\n ...makeTagProps()\n}, \"VListItemSubtitle\");\nconst VListItemSubtitle = genericComponent()({\n name: \"VListItemSubtitle\",\n props: makeVListItemSubtitleProps(),\n setup(props, {\n slots\n }) {\n useRender(() => createVNode(props.tag, {\n \"class\": [\"v-list-item-subtitle\", props.class],\n \"style\": [{\n \"--v-list-item-subtitle-opacity\": props.opacity\n }, props.style]\n }, slots));\n return {};\n }\n});\nexport {\n VListItemSubtitle,\n makeVListItemSubtitleProps\n};\n//# sourceMappingURL=VListItemSubtitle.mjs.map\n","import { makeComponentProps } from \"../composables/component.mjs\";\nimport { c as capitalize, A as h, a as camelize } from \"../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { genericComponent } from \"./defineComponent.mjs\";\nfunction createSimpleFunctional(klass, tag = \"div\", name) {\n return genericComponent()({\n name: name ?? capitalize(camelize(klass.replace(/__/g, \"-\"))),\n props: {\n tag: {\n type: String,\n default: tag\n },\n ...makeComponentProps()\n },\n setup(props, { slots }) {\n return () => {\n var _a;\n return h(\n props.tag,\n {\n class: [klass, props.class],\n style: props.style\n },\n (_a = slots.default) == null ? void 0 : _a.call(slots)\n );\n };\n }\n });\n}\nexport {\n createSimpleFunctional\n};\n//# sourceMappingURL=createSimpleFunctional.mjs.map\n","import \"../../util/helpers.mjs\";\nimport \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { createSimpleFunctional } from \"../../util/createSimpleFunctional.mjs\";\nconst VListItemTitle = createSimpleFunctional(\"v-list-item-title\");\nexport {\n VListItemTitle\n};\n//# sourceMappingURL=VListItemTitle.mjs.map\n","import { q as createVNode } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/VDefaultsProvider.mjs\";\nimport { VIcon } from \"../VIcon/VIcon.mjs\";\nimport { I as IconValue } from \"../../mdi-CVSg0Nll.mjs\";\nimport { VImg } from \"../VImg/VImg.mjs\";\nimport { makeBorderProps, useBorder } from \"../../composables/border.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDensityProps, useDensity } from \"../../composables/density.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { makeSizeProps, useSize } from \"../../composables/size.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\";\nimport { makeVariantProps, useVariant, genOverlays } from \"../../composables/variant.mjs\";\nimport \"../../util/helpers.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nconst makeVAvatarProps = propsFactory({\n start: Boolean,\n end: Boolean,\n icon: IconValue,\n image: String,\n text: String,\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({\n variant: \"flat\"\n })\n}, \"VAvatar\");\nconst VAvatar = genericComponent()({\n name: \"VAvatar\",\n props: makeVAvatarProps(),\n setup(props, {\n slots\n }) {\n const {\n themeClasses\n } = provideTheme(props);\n const {\n borderClasses\n } = useBorder(props);\n const {\n colorClasses,\n colorStyles,\n variantClasses\n } = useVariant(props);\n const {\n densityClasses\n } = useDensity(props);\n const {\n roundedClasses\n } = useRounded(props);\n const {\n sizeClasses,\n sizeStyles\n } = useSize(props);\n useRender(() => createVNode(props.tag, {\n \"class\": [\"v-avatar\", {\n \"v-avatar--start\": props.start,\n \"v-avatar--end\": props.end\n }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],\n \"style\": [colorStyles.value, sizeStyles.value, props.style]\n }, {\n default: () => [!slots.default ? props.image ? createVNode(VImg, {\n \"key\": \"image\",\n \"src\": props.image,\n \"alt\": \"\",\n \"cover\": true\n }, null) : props.icon ? createVNode(VIcon, {\n \"key\": \"icon\",\n \"icon\": props.icon\n }, null) : props.text : createVNode(VDefaultsProvider, {\n \"key\": \"content-defaults\",\n \"defaults\": {\n VImg: {\n cover: true,\n src: props.image\n },\n VIcon: {\n icon: props.icon\n }\n }\n }, {\n default: () => [slots.default()]\n }), genOverlays(false, \"v-avatar\")]\n }));\n return {};\n }\n});\nexport {\n VAvatar,\n makeVAvatarProps\n};\n//# sourceMappingURL=VAvatar.mjs.map\n","import { b as inject, s as shallowRef, p as provide, d as computed } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nconst DepthKey = Symbol.for(\"vuetify:depth\");\nfunction useDepth(hasPrepend) {\n const parent = inject(DepthKey, shallowRef(-1));\n const depth = computed(() => parent.value + 1 + ((hasPrepend == null ? void 0 : hasPrepend.value) ? 1 : 0));\n provide(DepthKey, depth);\n return depth;\n}\nconst ListKey = Symbol.for(\"vuetify:list\");\nfunction createList({ filterable } = { filterable: false }) {\n const parent = inject(ListKey, {\n filterable: false,\n hasPrepend: shallowRef(false),\n updateHasPrepend: () => null\n });\n const data = {\n filterable: parent.filterable || filterable,\n hasPrepend: shallowRef(false),\n updateHasPrepend: (value) => {\n if (value) data.hasPrepend.value = value;\n }\n };\n provide(ListKey, data);\n return parent;\n}\nfunction useList() {\n return inject(ListKey, null);\n}\nexport {\n DepthKey,\n ListKey,\n createList,\n useDepth,\n useList\n};\n//# sourceMappingURL=list.mjs.map\n","import { I as toRaw } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { wrapInArray } from \"../../util/helpers.mjs\";\nconst independentActiveStrategy = (mandatory) => {\n const strategy = {\n activate: ({ id, value, activated }) => {\n id = toRaw(id);\n if (mandatory && !value && activated.size === 1 && activated.has(id))\n return activated;\n if (value) {\n activated.add(id);\n } else {\n activated.delete(id);\n }\n return activated;\n },\n in: (v, children, parents) => {\n let set = /* @__PURE__ */ new Set();\n if (v != null) {\n for (const id of wrapInArray(v)) {\n set = strategy.activate({\n id,\n value: true,\n activated: new Set(set),\n children,\n parents\n });\n }\n }\n return set;\n },\n out: (v) => {\n return Array.from(v);\n }\n };\n return strategy;\n};\nconst independentSingleActiveStrategy = (mandatory) => {\n const parentStrategy = independentActiveStrategy(mandatory);\n const strategy = {\n activate: ({ activated, id, ...rest }) => {\n id = toRaw(id);\n const singleSelected = activated.has(id) ? /* @__PURE__ */ new Set([id]) : /* @__PURE__ */ new Set();\n return parentStrategy.activate({\n ...rest,\n id,\n activated: singleSelected\n });\n },\n in: (v, children, parents) => {\n let set = /* @__PURE__ */ new Set();\n if (v != null) {\n const arr = wrapInArray(v);\n if (arr.length) {\n set = parentStrategy.in(arr.slice(0, 1), children, parents);\n }\n }\n return set;\n },\n out: (v, children, parents) => {\n return parentStrategy.out(v, children, parents);\n }\n };\n return strategy;\n};\nconst leafActiveStrategy = (mandatory) => {\n const parentStrategy = independentActiveStrategy(mandatory);\n const strategy = {\n activate: ({ id, activated, children, ...rest }) => {\n id = toRaw(id);\n if (children.has(id)) return activated;\n return parentStrategy.activate({ id, activated, children, ...rest });\n },\n in: parentStrategy.in,\n out: parentStrategy.out\n };\n return strategy;\n};\nconst leafSingleActiveStrategy = (mandatory) => {\n const parentStrategy = independentSingleActiveStrategy(mandatory);\n const strategy = {\n activate: ({ id, activated, children, ...rest }) => {\n id = toRaw(id);\n if (children.has(id)) return activated;\n return parentStrategy.activate({ id, activated, children, ...rest });\n },\n in: parentStrategy.in,\n out: parentStrategy.out\n };\n return strategy;\n};\nexport {\n independentActiveStrategy,\n independentSingleActiveStrategy,\n leafActiveStrategy,\n leafSingleActiveStrategy\n};\n//# sourceMappingURL=activeStrategies.mjs.map\n","const singleOpenStrategy = {\n open: ({ id, value, opened, parents }) => {\n if (value) {\n const newOpened = /* @__PURE__ */ new Set();\n newOpened.add(id);\n let parent = parents.get(id);\n while (parent != null) {\n newOpened.add(parent);\n parent = parents.get(parent);\n }\n return newOpened;\n } else {\n opened.delete(id);\n return opened;\n }\n },\n select: () => null\n};\nconst multipleOpenStrategy = {\n open: ({ id, value, opened, parents }) => {\n if (value) {\n let parent = parents.get(id);\n opened.add(id);\n while (parent != null && parent !== id) {\n opened.add(parent);\n parent = parents.get(parent);\n }\n return opened;\n } else {\n opened.delete(id);\n }\n return opened;\n },\n select: () => null\n};\nconst listOpenStrategy = {\n open: multipleOpenStrategy.open,\n select: ({ id, value, opened, parents }) => {\n if (!value) return opened;\n const path = [];\n let parent = parents.get(id);\n while (parent != null) {\n path.push(parent);\n parent = parents.get(parent);\n }\n return new Set(path);\n }\n};\nexport {\n listOpenStrategy,\n multipleOpenStrategy,\n singleOpenStrategy\n};\n//# sourceMappingURL=openStrategies.mjs.map\n","import { I as toRaw } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nconst independentSelectStrategy = (mandatory) => {\n const strategy = {\n select: ({ id, value, selected }) => {\n id = toRaw(id);\n if (mandatory && !value) {\n const on = Array.from(selected.entries()).reduce(\n (arr, [key, value2]) => {\n if (value2 === \"on\") arr.push(key);\n return arr;\n },\n []\n );\n if (on.length === 1 && on[0] === id) return selected;\n }\n selected.set(id, value ? \"on\" : \"off\");\n return selected;\n },\n in: (v, children, parents, disabled) => {\n const map = /* @__PURE__ */ new Map();\n for (const id of v || []) {\n strategy.select({\n id,\n value: true,\n selected: map,\n children,\n parents,\n disabled\n });\n }\n return map;\n },\n out: (v) => {\n const arr = [];\n for (const [key, value] of v.entries()) {\n if (value === \"on\") arr.push(key);\n }\n return arr;\n }\n };\n return strategy;\n};\nconst independentSingleSelectStrategy = (mandatory) => {\n const parentStrategy = independentSelectStrategy(mandatory);\n const strategy = {\n select: ({ selected, id, ...rest }) => {\n id = toRaw(id);\n const singleSelected = selected.has(id) ? /* @__PURE__ */ new Map([[id, selected.get(id)]]) : /* @__PURE__ */ new Map();\n return parentStrategy.select({ ...rest, id, selected: singleSelected });\n },\n in: (v, children, parents, disabled) => {\n if (v == null ? void 0 : v.length) {\n return parentStrategy.in(v.slice(0, 1), children, parents, disabled);\n }\n return /* @__PURE__ */ new Map();\n },\n out: (v, children, parents) => {\n return parentStrategy.out(v, children, parents);\n }\n };\n return strategy;\n};\nconst leafSelectStrategy = (mandatory) => {\n const parentStrategy = independentSelectStrategy(mandatory);\n const strategy = {\n select: ({ id, selected, children, ...rest }) => {\n id = toRaw(id);\n if (children.has(id)) return selected;\n return parentStrategy.select({ id, selected, children, ...rest });\n },\n in: parentStrategy.in,\n out: parentStrategy.out\n };\n return strategy;\n};\nconst leafSingleSelectStrategy = (mandatory) => {\n const parentStrategy = independentSingleSelectStrategy(mandatory);\n const strategy = {\n select: ({ id, selected, children, ...rest }) => {\n id = toRaw(id);\n if (children.has(id)) return selected;\n return parentStrategy.select({ id, selected, children, ...rest });\n },\n in: parentStrategy.in,\n out: parentStrategy.out\n };\n return strategy;\n};\nconst classicSelectStrategy = (mandatory) => {\n const strategy = {\n select: ({ id, value, selected, children, parents, disabled }) => {\n id = toRaw(id);\n const original = new Map(selected);\n const items = [id];\n while (items.length) {\n const item = items.shift();\n if (!disabled.has(item)) {\n selected.set(toRaw(item), value ? \"on\" : \"off\");\n }\n if (children.has(item)) {\n items.push(...children.get(item));\n }\n }\n let parent = toRaw(parents.get(id));\n while (parent) {\n let everySelected = true;\n let noneSelected = true;\n for (const child of children.get(parent)) {\n const cid = toRaw(child);\n if (disabled.has(cid)) continue;\n if (selected.get(cid) !== \"on\") everySelected = false;\n if (selected.has(cid) && selected.get(cid) !== \"off\")\n noneSelected = false;\n if (!everySelected && !noneSelected) break;\n }\n selected.set(\n parent,\n everySelected ? \"on\" : noneSelected ? \"off\" : \"indeterminate\"\n );\n parent = toRaw(parents.get(parent));\n }\n if (mandatory && !value) {\n const on = Array.from(selected.entries()).reduce(\n (arr, [key, value2]) => {\n if (value2 === \"on\") arr.push(key);\n return arr;\n },\n []\n );\n if (on.length === 0) return original;\n }\n return selected;\n },\n in: (v, children, parents, disabled) => {\n let map = /* @__PURE__ */ new Map();\n for (const id of v || []) {\n map = strategy.select({\n id,\n value: true,\n selected: map,\n children,\n parents,\n disabled\n });\n }\n return map;\n },\n out: (v, children) => {\n const arr = [];\n for (const [key, value] of v.entries()) {\n if (value === \"on\" && !children.has(key)) arr.push(key);\n }\n return arr;\n }\n };\n return strategy;\n};\nconst trunkSelectStrategy = (mandatory) => {\n const parentStrategy = classicSelectStrategy(mandatory);\n const strategy = {\n select: parentStrategy.select,\n in: parentStrategy.in,\n out: (v, children, parents) => {\n const arr = [];\n for (const [key, value] of v.entries()) {\n if (value === \"on\") {\n if (parents.has(key)) {\n const parent = parents.get(key);\n if (v.get(parent) === \"on\") continue;\n }\n arr.push(key);\n }\n }\n return arr;\n }\n };\n return strategy;\n};\nexport {\n classicSelectStrategy,\n independentSelectStrategy,\n independentSingleSelectStrategy,\n leafSelectStrategy,\n leafSingleSelectStrategy,\n trunkSelectStrategy\n};\n//# sourceMappingURL=selectStrategies.mjs.map\n","import { useProxiedModel } from \"../proxiedModel.mjs\";\nimport { e as ref, s as shallowRef, b as inject, d as computed, I as toRaw, G as toValue, ad as onBeforeMount, l as onBeforeUnmount, p as provide, t as toRef } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { independentSingleActiveStrategy, independentActiveStrategy, leafSingleActiveStrategy, leafActiveStrategy } from \"./activeStrategies.mjs\";\nimport { multipleOpenStrategy, singleOpenStrategy, listOpenStrategy } from \"./openStrategies.mjs\";\nimport { classicSelectStrategy, trunkSelectStrategy, independentSingleSelectStrategy, independentSelectStrategy, leafSelectStrategy, leafSingleSelectStrategy } from \"./selectStrategies.mjs\";\nimport \"../../util/helpers.mjs\";\nimport { consoleError } from \"../../util/console.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { getCurrentInstance } from \"../../util/getCurrentInstance.mjs\";\nconst VNestedSymbol = Symbol.for(\"vuetify:nested\");\nconst emptyNested = {\n id: shallowRef(),\n root: {\n register: () => null,\n unregister: () => null,\n children: ref(/* @__PURE__ */ new Map()),\n parents: ref(/* @__PURE__ */ new Map()),\n disabled: ref(/* @__PURE__ */ new Set()),\n open: () => null,\n openOnSelect: () => null,\n activate: () => null,\n select: () => null,\n activatable: ref(false),\n selectable: ref(false),\n opened: ref(/* @__PURE__ */ new Set()),\n activated: ref(/* @__PURE__ */ new Set()),\n selected: ref(/* @__PURE__ */ new Map()),\n selectedValues: ref([]),\n getPath: () => []\n }\n};\nconst makeNestedProps = propsFactory(\n {\n activatable: Boolean,\n selectable: Boolean,\n activeStrategy: [String, Function, Object],\n selectStrategy: [String, Function, Object],\n openStrategy: [String, Object],\n opened: null,\n activated: null,\n selected: null,\n mandatory: Boolean\n },\n \"nested\"\n);\nconst useNested = (props) => {\n let isUnmounted = false;\n const children = shallowRef(/* @__PURE__ */ new Map());\n const parents = shallowRef(/* @__PURE__ */ new Map());\n const disabled = shallowRef(/* @__PURE__ */ new Set());\n const opened = useProxiedModel(\n props,\n \"opened\",\n props.opened,\n (v) => new Set(Array.isArray(v) ? v.map((i) => toRaw(i)) : v),\n (v) => [...v.values()]\n );\n const activeStrategy = computed(() => {\n if (typeof props.activeStrategy === \"object\") return props.activeStrategy;\n if (typeof props.activeStrategy === \"function\")\n return props.activeStrategy(props.mandatory);\n switch (props.activeStrategy) {\n case \"leaf\":\n return leafActiveStrategy(props.mandatory);\n case \"single-leaf\":\n return leafSingleActiveStrategy(props.mandatory);\n case \"independent\":\n return independentActiveStrategy(props.mandatory);\n case \"single-independent\":\n default:\n return independentSingleActiveStrategy(props.mandatory);\n }\n });\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === \"object\") return props.selectStrategy;\n if (typeof props.selectStrategy === \"function\")\n return props.selectStrategy(props.mandatory);\n switch (props.selectStrategy) {\n case \"single-leaf\":\n return leafSingleSelectStrategy(props.mandatory);\n case \"leaf\":\n return leafSelectStrategy(props.mandatory);\n case \"independent\":\n return independentSelectStrategy(props.mandatory);\n case \"single-independent\":\n return independentSingleSelectStrategy(props.mandatory);\n case \"trunk\":\n return trunkSelectStrategy(props.mandatory);\n case \"classic\":\n default:\n return classicSelectStrategy(props.mandatory);\n }\n });\n const openStrategy = computed(() => {\n if (typeof props.openStrategy === \"object\") return props.openStrategy;\n switch (props.openStrategy) {\n case \"list\":\n return listOpenStrategy;\n case \"single\":\n return singleOpenStrategy;\n case \"multiple\":\n default:\n return multipleOpenStrategy;\n }\n });\n const activated = useProxiedModel(\n props,\n \"activated\",\n props.activated,\n (v) => activeStrategy.value.in(v, children.value, parents.value),\n (v) => activeStrategy.value.out(v, children.value, parents.value)\n );\n const selected = useProxiedModel(\n props,\n \"selected\",\n props.selected,\n (v) => selectStrategy.value.in(v, children.value, parents.value, disabled.value),\n (v) => selectStrategy.value.out(v, children.value, parents.value)\n );\n onBeforeUnmount(() => {\n isUnmounted = true;\n });\n function getPath(id) {\n const path = [];\n let parent = toRaw(id);\n while (parent !== void 0) {\n path.unshift(parent);\n parent = parents.value.get(parent);\n }\n return path;\n }\n const vm = getCurrentInstance(\"nested\");\n const nodeIds = /* @__PURE__ */ new Set();\n const nested = {\n id: shallowRef(),\n root: {\n opened,\n activatable: toRef(() => props.activatable),\n selectable: toRef(() => props.selectable),\n activated,\n selected,\n selectedValues: computed(() => {\n const arr = [];\n for (const [key, value] of selected.value.entries()) {\n if (value === \"on\") arr.push(key);\n }\n return arr;\n }),\n register: (id, parentId, isDisabled, isGroup) => {\n if (nodeIds.has(id)) {\n const path = getPath(id).map(String).join(\" -> \");\n const newPath = getPath(parentId).concat(id).map(String).join(\" -> \");\n consoleError(\n `Multiple nodes with the same ID\n\t${path}\n\t${newPath}`\n );\n return;\n } else {\n nodeIds.add(id);\n }\n parentId && id !== parentId && parents.value.set(id, parentId);\n isDisabled && disabled.value.add(id);\n isGroup && children.value.set(id, []);\n if (parentId != null) {\n children.value.set(parentId, [\n ...children.value.get(parentId) || [],\n id\n ]);\n }\n },\n unregister: (id) => {\n if (isUnmounted) return;\n nodeIds.delete(id);\n children.value.delete(id);\n disabled.value.delete(id);\n const parent = parents.value.get(id);\n if (parent) {\n const list = children.value.get(parent) ?? [];\n children.value.set(\n parent,\n list.filter((child) => child !== id)\n );\n }\n parents.value.delete(id);\n },\n open: (id, value, event) => {\n vm.emit(\"click:open\", { id, value, path: getPath(id), event });\n const newOpened = openStrategy.value.open({\n id,\n value,\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event\n });\n newOpened && (opened.value = newOpened);\n },\n openOnSelect: (id, value, event) => {\n const newOpened = openStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event\n });\n newOpened && (opened.value = newOpened);\n },\n select: (id, value, event) => {\n vm.emit(\"click:select\", { id, value, path: getPath(id), event });\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n disabled: disabled.value,\n event\n });\n newSelected && (selected.value = newSelected);\n nested.root.openOnSelect(id, value, event);\n },\n activate: (id, value, event) => {\n if (!props.activatable) {\n return nested.root.select(id, true, event);\n }\n vm.emit(\"click:activate\", { id, value, path: getPath(id), event });\n const newActivated = activeStrategy.value.activate({\n id,\n value,\n activated: new Set(activated.value),\n children: children.value,\n parents: parents.value,\n event\n });\n if (newActivated.size !== activated.value.size) {\n activated.value = newActivated;\n } else {\n for (const value2 of newActivated) {\n if (!activated.value.has(value2)) {\n activated.value = newActivated;\n return;\n }\n }\n for (const value2 of activated.value) {\n if (!newActivated.has(value2)) {\n activated.value = newActivated;\n return;\n }\n }\n }\n },\n children,\n parents,\n disabled,\n getPath\n }\n };\n provide(VNestedSymbol, nested);\n return nested.root;\n};\nconst useNestedItem = (id, isDisabled, isGroup) => {\n const parent = inject(VNestedSymbol, emptyNested);\n const uidSymbol = Symbol(\"nested item\");\n const computedId = computed(() => {\n const idValue = toRaw(toValue(id));\n return idValue !== void 0 ? idValue : uidSymbol;\n });\n const item = {\n ...parent,\n id: computedId,\n open: (open, e) => parent.root.open(computedId.value, open, e),\n openOnSelect: (open, e) => parent.root.openOnSelect(computedId.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(computedId.value)),\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n activate: (activated, e) => parent.root.activate(computedId.value, activated, e),\n isActivated: computed(\n () => parent.root.activated.value.has(computedId.value)\n ),\n select: (selected, e) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(\n () => parent.root.selected.value.get(computedId.value) === \"on\"\n ),\n isIndeterminate: computed(\n () => parent.root.selected.value.get(computedId.value) === \"indeterminate\"\n ),\n isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),\n isGroupActivator: parent.isGroupActivator\n };\n onBeforeMount(() => {\n if (!parent.isGroupActivator) {\n parent.root.register(\n computedId.value,\n parent.id.value,\n toValue(isDisabled),\n isGroup\n );\n }\n });\n onBeforeUnmount(() => {\n if (!parent.isGroupActivator) {\n parent.root.unregister(computedId.value);\n }\n });\n isGroup && provide(VNestedSymbol, item);\n return item;\n};\nconst useNestedGroupActivator = () => {\n const parent = inject(VNestedSymbol, emptyNested);\n provide(VNestedSymbol, { ...parent, isGroupActivator: true });\n};\nexport {\n VNestedSymbol,\n emptyNested,\n makeNestedProps,\n useNested,\n useNestedGroupActivator,\n useNestedItem\n};\n//# sourceMappingURL=nested.mjs.map\n","import { d as computed, t as toRef, n as watch, ad as onBeforeMount, y as withDirectives, z as resolveDirective, q as createVNode, F as Fragment, x as toDisplayString, v as mergeProps } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { VListItemSubtitle } from \"./VListItemSubtitle.mjs\";\nimport { VListItemTitle } from \"./VListItemTitle.mjs\";\nimport { VAvatar } from \"../VAvatar/VAvatar.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/VDefaultsProvider.mjs\";\nimport { VIcon } from \"../VIcon/VIcon.mjs\";\nimport { I as IconValue } from \"../../mdi-CVSg0Nll.mjs\";\nimport { useList } from \"./list.mjs\";\nimport { makeBorderProps, useBorder } from \"../../composables/border.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDensityProps, useDensity } from \"../../composables/density.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.mjs\";\nimport { useNestedItem } from \"../../composables/nested/nested.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { makeRouterProps, useLink } from \"../../composables/router.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\";\nimport { makeVariantProps, useVariant, genOverlays } from \"../../composables/variant.mjs\";\nimport { Ripple } from \"../../directives/ripple.mjs\";\nimport { EventProp } from \"../../util/helpers.mjs\";\nimport { deprecate } from \"../../util/console.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nconst makeVListItemProps = propsFactory({\n active: {\n type: Boolean,\n default: void 0\n },\n activeClass: String,\n /* @deprecated */\n activeColor: String,\n appendAvatar: String,\n appendIcon: IconValue,\n baseColor: String,\n disabled: Boolean,\n lines: [Boolean, String],\n link: {\n type: Boolean,\n default: void 0\n },\n nav: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object],\n default: true\n },\n slim: Boolean,\n subtitle: {\n type: [String, Number, Boolean],\n default: void 0\n },\n title: {\n type: [String, Number, Boolean],\n default: void 0\n },\n value: null,\n onClick: EventProp(),\n onClickOnce: EventProp(),\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({\n variant: \"text\"\n })\n}, \"VListItem\");\nconst VListItem = genericComponent()({\n name: \"VListItem\",\n directives: {\n vRipple: Ripple\n },\n props: makeVListItemProps(),\n emits: {\n click: (e) => true\n },\n setup(props, {\n attrs,\n slots,\n emit\n }) {\n const link = useLink(props, attrs);\n const id = computed(() => props.value === void 0 ? link.href.value : props.value);\n const {\n activate,\n isActivated,\n select,\n isOpen,\n isSelected,\n isIndeterminate,\n isGroupActivator,\n root,\n parent,\n openOnSelect,\n id: uid\n } = useNestedItem(id, () => props.disabled, false);\n const list = useList();\n const isActive = computed(() => {\n var _a;\n return props.active !== false && (props.active || ((_a = link.isActive) == null ? void 0 : _a.value) || (root.activatable.value ? isActivated.value : isSelected.value));\n });\n const isLink = toRef(() => props.link !== false && link.isLink.value);\n const isSelectable = computed(() => !!list && (root.selectable.value || root.activatable.value || props.value != null));\n const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || isSelectable.value));\n const roundedProps = toRef(() => props.rounded || props.nav);\n const color = toRef(() => props.color ?? props.activeColor);\n const variantProps = toRef(() => ({\n color: isActive.value ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant\n }));\n watch(() => {\n var _a;\n return (_a = link.isActive) == null ? void 0 : _a.value;\n }, (val) => {\n if (!val) return;\n handleActiveLink();\n });\n onBeforeMount(() => {\n var _a;\n if ((_a = link.isActive) == null ? void 0 : _a.value) handleActiveLink();\n });\n function handleActiveLink() {\n if (parent.value != null) {\n root.open(parent.value, true);\n }\n openOnSelect(true);\n }\n const {\n themeClasses\n } = provideTheme(props);\n const {\n borderClasses\n } = useBorder(props);\n const {\n colorClasses,\n colorStyles,\n variantClasses\n } = useVariant(variantProps);\n const {\n densityClasses\n } = useDensity(props);\n const {\n dimensionStyles\n } = useDimension(props);\n const {\n elevationClasses\n } = useElevation(props);\n const {\n roundedClasses\n } = useRounded(roundedProps);\n const lineClasses = toRef(() => props.lines ? `v-list-item--${props.lines}-line` : void 0);\n const rippleOptions = toRef(() => props.ripple !== void 0 && !!props.ripple && (list == null ? void 0 : list.filterable) ? {\n keys: [\"Enter\"]\n } : props.ripple);\n const slotProps = computed(() => ({\n isActive: isActive.value,\n select,\n isOpen: isOpen.value,\n isSelected: isSelected.value,\n isIndeterminate: isIndeterminate.value\n }));\n function onClick(e) {\n var _a, _b;\n emit(\"click\", e);\n if ([\"INPUT\", \"TEXTAREA\"].includes((_a = e.target) == null ? void 0 : _a.tagName)) return;\n if (!isClickable.value) return;\n (_b = link.navigate) == null ? void 0 : _b.call(link, e);\n if (isGroupActivator) return;\n if (root.activatable.value) {\n activate(!isActivated.value, e);\n } else if (root.selectable.value) {\n select(!isSelected.value, e);\n } else if (props.value != null) {\n select(!isSelected.value, e);\n }\n }\n function onKeyDown(e) {\n const target = e.target;\n if ([\"INPUT\", \"TEXTAREA\"].includes(target.tagName)) return;\n if (e.key === \"Enter\" || e.key === \" \" && !(list == null ? void 0 : list.filterable)) {\n e.preventDefault();\n e.stopPropagation();\n e.target.dispatchEvent(new MouseEvent(\"click\", e));\n }\n }\n useRender(() => {\n const Tag = isLink.value ? \"a\" : props.tag;\n const hasTitle = slots.title || props.title != null;\n const hasSubtitle = slots.subtitle || props.subtitle != null;\n const hasAppendMedia = !!(props.appendAvatar || props.appendIcon);\n const hasAppend = !!(hasAppendMedia || slots.append);\n const hasPrependMedia = !!(props.prependAvatar || props.prependIcon);\n const hasPrepend = !!(hasPrependMedia || slots.prepend);\n list == null ? void 0 : list.updateHasPrepend(hasPrepend);\n if (props.activeColor) {\n deprecate(\"active-color\", [\"color\", \"base-color\"]);\n }\n return withDirectives(createVNode(Tag, mergeProps({\n \"class\": [\"v-list-item\", {\n \"v-list-item--active\": isActive.value,\n \"v-list-item--disabled\": props.disabled,\n \"v-list-item--link\": isClickable.value,\n \"v-list-item--nav\": props.nav,\n \"v-list-item--prepend\": !hasPrepend && (list == null ? void 0 : list.hasPrepend.value),\n \"v-list-item--slim\": props.slim,\n [`${props.activeClass}`]: props.activeClass && isActive.value\n }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value, props.class],\n \"style\": [colorStyles.value, dimensionStyles.value, props.style],\n \"tabindex\": isClickable.value ? list ? -2 : 0 : void 0,\n \"aria-selected\": isSelectable.value ? root.activatable.value ? isActivated.value : root.selectable.value ? isSelected.value : isActive.value : void 0,\n \"onClick\": onClick,\n \"onKeydown\": isClickable.value && !isLink.value && onKeyDown\n }, link.linkProps), {\n default: () => {\n var _a;\n return [genOverlays(isClickable.value || isActive.value, \"v-list-item\"), hasPrepend && createVNode(\"div\", {\n \"key\": \"prepend\",\n \"class\": \"v-list-item__prepend\"\n }, [!slots.prepend ? createVNode(Fragment, null, [props.prependAvatar && createVNode(VAvatar, {\n \"key\": \"prepend-avatar\",\n \"density\": props.density,\n \"image\": props.prependAvatar\n }, null), props.prependIcon && createVNode(VIcon, {\n \"key\": \"prepend-icon\",\n \"density\": props.density,\n \"icon\": props.prependIcon\n }, null)]) : createVNode(VDefaultsProvider, {\n \"key\": \"prepend-defaults\",\n \"disabled\": !hasPrependMedia,\n \"defaults\": {\n VAvatar: {\n density: props.density,\n image: props.prependAvatar\n },\n VIcon: {\n density: props.density,\n icon: props.prependIcon\n },\n VListItemAction: {\n start: true\n }\n }\n }, {\n default: () => {\n var _a2;\n return [(_a2 = slots.prepend) == null ? void 0 : _a2.call(slots, slotProps.value)];\n }\n }), createVNode(\"div\", {\n \"class\": \"v-list-item__spacer\"\n }, null)]), createVNode(\"div\", {\n \"class\": \"v-list-item__content\",\n \"data-no-activator\": \"\"\n }, [hasTitle && createVNode(VListItemTitle, {\n \"key\": \"title\"\n }, {\n default: () => {\n var _a2;\n return [((_a2 = slots.title) == null ? void 0 : _a2.call(slots, {\n title: props.title\n })) ?? toDisplayString(props.title)];\n }\n }), hasSubtitle && createVNode(VListItemSubtitle, {\n \"key\": \"subtitle\"\n }, {\n default: () => {\n var _a2;\n return [((_a2 = slots.subtitle) == null ? void 0 : _a2.call(slots, {\n subtitle: props.subtitle\n })) ?? toDisplayString(props.subtitle)];\n }\n }), (_a = slots.default) == null ? void 0 : _a.call(slots, slotProps.value)]), hasAppend && createVNode(\"div\", {\n \"key\": \"append\",\n \"class\": \"v-list-item__append\"\n }, [!slots.append ? createVNode(Fragment, null, [props.appendIcon && createVNode(VIcon, {\n \"key\": \"append-icon\",\n \"density\": props.density,\n \"icon\": props.appendIcon\n }, null), props.appendAvatar && createVNode(VAvatar, {\n \"key\": \"append-avatar\",\n \"density\": props.density,\n \"image\": props.appendAvatar\n }, null)]) : createVNode(VDefaultsProvider, {\n \"key\": \"append-defaults\",\n \"disabled\": !hasAppendMedia,\n \"defaults\": {\n VAvatar: {\n density: props.density,\n image: props.appendAvatar\n },\n VIcon: {\n density: props.density,\n icon: props.appendIcon\n },\n VListItemAction: {\n end: true\n }\n }\n }, {\n default: () => {\n var _a2;\n return [(_a2 = slots.append) == null ? void 0 : _a2.call(slots, slotProps.value)];\n }\n }), createVNode(\"div\", {\n \"class\": \"v-list-item__spacer\"\n }, null)])];\n }\n }), [[resolveDirective(\"ripple\"), isClickable.value && rippleOptions.value]]);\n });\n return {\n activate,\n isActivated,\n isGroupActivator,\n isSelected,\n list,\n select,\n root,\n id: uid,\n link\n };\n }\n});\nexport {\n VListItem,\n makeVListItemProps\n};\n//# sourceMappingURL=VListItem.mjs.map\n","import { q as createVNode } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeThemeProps } from \"../../composables/theme.mjs\";\nimport { EventProp } from \"../../util/helpers.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nconst makeVLabelProps = propsFactory({\n text: String,\n onClick: EventProp(),\n ...makeComponentProps(),\n ...makeThemeProps()\n}, \"VLabel\");\nconst VLabel = genericComponent()({\n name: \"VLabel\",\n props: makeVLabelProps(),\n setup(props, {\n slots\n }) {\n useRender(() => {\n var _a;\n return createVNode(\"label\", {\n \"class\": [\"v-label\", {\n \"v-label--clickable\": !!props.onClick\n }, props.class],\n \"style\": props.style,\n \"onClick\": props.onClick\n }, [props.text, (_a = slots.default) == null ? void 0 : _a.call(slots)]);\n });\n return {};\n }\n});\nexport {\n VLabel,\n makeVLabelProps\n};\n//# sourceMappingURL=VLabel.mjs.map\n","import { h as useId, t as toRef, p as provide, q as createVNode, o as onScopeDispose } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { provideDefaults } from \"../../composables/defaults.mjs\";\nimport { makeDensityProps } from \"../../composables/density.mjs\";\nimport { I as IconValue } from \"../../mdi-CVSg0Nll.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { makeThemeProps } from \"../../composables/theme.mjs\";\nimport { deepEqual } from \"../../util/helpers.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nconst VSelectionControlGroupSymbol = Symbol.for(\"vuetify:selection-control-group\");\nconst makeSelectionControlGroupProps = propsFactory({\n color: String,\n disabled: {\n type: Boolean,\n default: null\n },\n defaultsTarget: String,\n error: Boolean,\n id: String,\n inline: Boolean,\n falseIcon: IconValue,\n trueIcon: IconValue,\n ripple: {\n type: [Boolean, Object],\n default: true\n },\n multiple: {\n type: Boolean,\n default: null\n },\n name: String,\n readonly: {\n type: Boolean,\n default: null\n },\n modelValue: null,\n type: String,\n valueComparator: {\n type: Function,\n default: deepEqual\n },\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeThemeProps()\n}, \"SelectionControlGroup\");\nconst makeVSelectionControlGroupProps = propsFactory({\n ...makeSelectionControlGroupProps({\n defaultsTarget: \"VSelectionControl\"\n })\n}, \"VSelectionControlGroup\");\nconst VSelectionControlGroup = genericComponent()({\n name: \"VSelectionControlGroup\",\n props: makeVSelectionControlGroupProps(),\n emits: {\n \"update:modelValue\": (value) => true\n },\n setup(props, {\n slots\n }) {\n const modelValue = useProxiedModel(props, \"modelValue\");\n const uid = useId();\n const id = toRef(() => props.id || `v-selection-control-group-${uid}`);\n const name = toRef(() => props.name || id.value);\n const updateHandlers = /* @__PURE__ */ new Set();\n provide(VSelectionControlGroupSymbol, {\n modelValue,\n forceUpdate: () => {\n updateHandlers.forEach((fn) => fn());\n },\n onForceUpdate: (cb) => {\n updateHandlers.add(cb);\n onScopeDispose(() => {\n updateHandlers.delete(cb);\n });\n }\n });\n provideDefaults({\n [props.defaultsTarget]: {\n color: toRef(() => props.color),\n disabled: toRef(() => props.disabled),\n density: toRef(() => props.density),\n error: toRef(() => props.error),\n inline: toRef(() => props.inline),\n modelValue,\n multiple: toRef(() => !!props.multiple || props.multiple == null && Array.isArray(modelValue.value)),\n name,\n falseIcon: toRef(() => props.falseIcon),\n trueIcon: toRef(() => props.trueIcon),\n readonly: toRef(() => props.readonly),\n ripple: toRef(() => props.ripple),\n type: toRef(() => props.type),\n valueComparator: toRef(() => props.valueComparator)\n }\n });\n useRender(() => {\n var _a;\n return createVNode(\"div\", {\n \"class\": [\"v-selection-control-group\", {\n \"v-selection-control-group--inline\": props.inline\n }, props.class],\n \"style\": props.style,\n \"role\": props.type === \"radio\" ? \"radiogroup\" : void 0\n }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);\n });\n return {};\n }\n});\nexport {\n VSelectionControlGroup,\n VSelectionControlGroupSymbol,\n makeSelectionControlGroupProps,\n makeVSelectionControlGroupProps\n};\n//# sourceMappingURL=VSelectionControlGroup.mjs.map\n","import { h as useId, s as shallowRef, e as ref, t as toRef, q as createVNode, v as mergeProps, y as withDirectives, z as resolveDirective, F as Fragment, b as inject, d as computed, ab as nextTick } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { VIcon } from \"../VIcon/VIcon.mjs\";\nimport \"../../mdi-CVSg0Nll.mjs\";\nimport { VLabel } from \"../VLabel/VLabel.mjs\";\nimport { makeSelectionControlGroupProps, VSelectionControlGroupSymbol } from \"../VSelectionControlGroup/VSelectionControlGroup.mjs\";\nimport { useTextColor, useBackgroundColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { useDensity } from \"../../composables/density.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { Ripple } from \"../../directives/ripple.mjs\";\nimport { filterInputAttrs, wrapInArray, matchesSelector } from \"../../util/helpers.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nconst makeVSelectionControlProps = propsFactory({\n label: String,\n baseColor: String,\n trueValue: null,\n falseValue: null,\n value: null,\n ...makeComponentProps(),\n ...makeSelectionControlGroupProps()\n}, \"VSelectionControl\");\nfunction useSelectionControl(props) {\n const group = inject(VSelectionControlGroupSymbol, void 0);\n const {\n densityClasses\n } = useDensity(props);\n const modelValue = useProxiedModel(props, \"modelValue\");\n const trueValue = computed(() => props.trueValue !== void 0 ? props.trueValue : props.value !== void 0 ? props.value : true);\n const falseValue = computed(() => props.falseValue !== void 0 ? props.falseValue : false);\n const isMultiple = computed(() => !!props.multiple || props.multiple == null && Array.isArray(modelValue.value));\n const model = computed({\n get() {\n const val = group ? group.modelValue.value : modelValue.value;\n return isMultiple.value ? wrapInArray(val).some((v) => props.valueComparator(v, trueValue.value)) : props.valueComparator(val, trueValue.value);\n },\n set(val) {\n if (props.readonly) return;\n const currentValue = val ? trueValue.value : falseValue.value;\n let newVal = currentValue;\n if (isMultiple.value) {\n newVal = val ? [...wrapInArray(modelValue.value), currentValue] : wrapInArray(modelValue.value).filter((item) => !props.valueComparator(item, trueValue.value));\n }\n if (group) {\n group.modelValue.value = newVal;\n } else {\n modelValue.value = newVal;\n }\n }\n });\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(() => {\n if (props.error || props.disabled) return void 0;\n return model.value ? props.color : props.baseColor;\n });\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(() => {\n return model.value && !props.error && !props.disabled ? props.color : props.baseColor;\n });\n const icon = computed(() => model.value ? props.trueIcon : props.falseIcon);\n return {\n group,\n densityClasses,\n trueValue,\n falseValue,\n model,\n textColorClasses,\n textColorStyles,\n backgroundColorClasses,\n backgroundColorStyles,\n icon\n };\n}\nconst VSelectionControl = genericComponent()({\n name: \"VSelectionControl\",\n directives: {\n vRipple: Ripple\n },\n inheritAttrs: false,\n props: makeVSelectionControlProps(),\n emits: {\n \"update:modelValue\": (value) => true\n },\n setup(props, {\n attrs,\n slots\n }) {\n const {\n group,\n densityClasses,\n icon,\n model,\n textColorClasses,\n textColorStyles,\n backgroundColorClasses,\n backgroundColorStyles,\n trueValue\n } = useSelectionControl(props);\n const uid = useId();\n const isFocused = shallowRef(false);\n const isFocusVisible = shallowRef(false);\n const input = ref();\n const id = toRef(() => props.id || `input-${uid}`);\n const isInteractive = toRef(() => !props.disabled && !props.readonly);\n group == null ? void 0 : group.onForceUpdate(() => {\n if (input.value) {\n input.value.checked = model.value;\n }\n });\n function onFocus(e) {\n if (!isInteractive.value) return;\n isFocused.value = true;\n if (matchesSelector(e.target, \":focus-visible\") !== false) {\n isFocusVisible.value = true;\n }\n }\n function onBlur() {\n isFocused.value = false;\n isFocusVisible.value = false;\n }\n function onClickLabel(e) {\n e.stopPropagation();\n }\n function onInput(e) {\n if (!isInteractive.value) {\n if (input.value) {\n input.value.checked = model.value;\n }\n return;\n }\n if (props.readonly && group) {\n nextTick(() => group.forceUpdate());\n }\n model.value = e.target.checked;\n }\n useRender(() => {\n var _a, _b;\n const label = slots.label ? slots.label({\n label: props.label,\n props: {\n for: id.value\n }\n }) : props.label;\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);\n const inputNode = createVNode(\"input\", mergeProps({\n \"ref\": input,\n \"checked\": model.value,\n \"disabled\": !!props.disabled,\n \"id\": id.value,\n \"onBlur\": onBlur,\n \"onFocus\": onFocus,\n \"onInput\": onInput,\n \"aria-disabled\": !!props.disabled,\n \"aria-label\": props.label,\n \"type\": props.type,\n \"value\": trueValue.value,\n \"name\": props.name,\n \"aria-checked\": props.type === \"checkbox\" ? model.value : void 0\n }, inputAttrs), null);\n return createVNode(\"div\", mergeProps({\n \"class\": [\"v-selection-control\", {\n \"v-selection-control--dirty\": model.value,\n \"v-selection-control--disabled\": props.disabled,\n \"v-selection-control--error\": props.error,\n \"v-selection-control--focused\": isFocused.value,\n \"v-selection-control--focus-visible\": isFocusVisible.value,\n \"v-selection-control--inline\": props.inline\n }, densityClasses.value, props.class]\n }, rootAttrs, {\n \"style\": props.style\n }), [createVNode(\"div\", {\n \"class\": [\"v-selection-control__wrapper\", textColorClasses.value],\n \"style\": textColorStyles.value\n }, [(_a = slots.default) == null ? void 0 : _a.call(slots, {\n backgroundColorClasses,\n backgroundColorStyles\n }), withDirectives(createVNode(\"div\", {\n \"class\": [\"v-selection-control__input\"]\n }, [((_b = slots.input) == null ? void 0 : _b.call(slots, {\n model,\n textColorClasses,\n textColorStyles,\n backgroundColorClasses,\n backgroundColorStyles,\n inputNode,\n icon: icon.value,\n props: {\n onFocus,\n onBlur,\n id: id.value\n }\n })) ?? createVNode(Fragment, null, [icon.value && createVNode(VIcon, {\n \"key\": \"icon\",\n \"icon\": icon.value\n }, null), inputNode])]), [[resolveDirective(\"ripple\"), !props.disabled && !props.readonly && props.ripple, null, {\n center: true,\n circle: true\n }]])]), label && createVNode(VLabel, {\n \"for\": id.value,\n \"onClick\": onClickLabel\n }, {\n default: () => [label]\n })]);\n });\n return {\n isFocused,\n input\n };\n }\n});\nexport {\n VSelectionControl,\n makeVSelectionControlProps,\n useSelectionControl\n};\n//# sourceMappingURL=VSelectionControl.mjs.map\n","import { t as toRef, q as createVNode, v as mergeProps } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { makeVSelectionControlProps, VSelectionControl } from \"../VSelectionControl/VSelectionControl.mjs\";\nimport { I as IconValue } from \"../../mdi-CVSg0Nll.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { omit } from \"../../util/helpers.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nconst makeVCheckboxBtnProps = propsFactory({\n indeterminate: Boolean,\n indeterminateIcon: {\n type: IconValue,\n default: \"$checkboxIndeterminate\"\n },\n ...makeVSelectionControlProps({\n falseIcon: \"$checkboxOff\",\n trueIcon: \"$checkboxOn\"\n })\n}, \"VCheckboxBtn\");\nconst VCheckboxBtn = genericComponent()({\n name: \"VCheckboxBtn\",\n props: makeVCheckboxBtnProps(),\n emits: {\n \"update:modelValue\": (value) => true,\n \"update:indeterminate\": (value) => true\n },\n setup(props, {\n slots\n }) {\n const indeterminate = useProxiedModel(props, \"indeterminate\");\n const model = useProxiedModel(props, \"modelValue\");\n function onChange(v) {\n if (indeterminate.value) {\n indeterminate.value = false;\n }\n }\n const falseIcon = toRef(() => {\n return indeterminate.value ? props.indeterminateIcon : props.falseIcon;\n });\n const trueIcon = toRef(() => {\n return indeterminate.value ? props.indeterminateIcon : props.trueIcon;\n });\n useRender(() => {\n const controlProps = omit(VSelectionControl.filterProps(props), [\"modelValue\"]);\n return createVNode(VSelectionControl, mergeProps(controlProps, {\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": [($event) => model.value = $event, onChange],\n \"class\": [\"v-checkbox-btn\", props.class],\n \"style\": props.style,\n \"type\": \"checkbox\",\n \"falseIcon\": falseIcon.value,\n \"trueIcon\": trueIcon.value,\n \"aria-checked\": indeterminate.value ? \"mixed\" : void 0\n }), slots);\n });\n return {};\n }\n});\nexport {\n VCheckboxBtn,\n makeVCheckboxBtnProps\n};\n//# sourceMappingURL=VCheckboxBtn.mjs.map\n","import { q as createVNode, v as mergeProps } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { VIcon } from \"../VIcon/VIcon.mjs\";\nimport \"../../mdi-CVSg0Nll.mjs\";\nimport { useLocale } from \"../../composables/locale.mjs\";\nimport { callEvent } from \"../../util/helpers.mjs\";\nfunction useInputIcon(props) {\n const {\n t\n } = useLocale();\n function InputIcon({\n name,\n color,\n ...attrs\n }) {\n const localeKey = {\n prepend: \"prependAction\",\n prependInner: \"prependAction\",\n append: \"appendAction\",\n appendInner: \"appendAction\",\n clear: \"clear\"\n }[name];\n const listener = props[`onClick:${name}`];\n function onKeydown(e) {\n if (e.key !== \"Enter\" && e.key !== \" \") return;\n e.preventDefault();\n e.stopPropagation();\n callEvent(listener, new PointerEvent(\"click\", e));\n }\n const label = listener && localeKey ? t(`$vuetify.input.${localeKey}`, props.label ?? \"\") : void 0;\n return createVNode(VIcon, mergeProps({\n \"icon\": props[`${name}Icon`],\n \"aria-label\": label,\n \"onClick\": listener,\n \"onKeydown\": onKeydown,\n \"color\": color\n }, attrs), null);\n }\n return {\n InputIcon\n };\n}\nexport {\n useInputIcon\n};\n//# sourceMappingURL=InputIcon.mjs.map\n","import { A as h } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport \"../../util/helpers.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { a as TransitionGroup, T as Transition } from \"../../runtime-dom.esm-bundler-31hBwcnO.mjs\";\nconst makeTransitionProps = propsFactory(\n {\n disabled: Boolean,\n group: Boolean,\n hideOnLeave: Boolean,\n leaveAbsolute: Boolean,\n mode: String,\n origin: String\n },\n \"transition\"\n);\nfunction createCssTransition(name, origin, mode) {\n return genericComponent()({\n name,\n props: makeTransitionProps({\n mode,\n origin\n }),\n setup(props, { slots }) {\n const functions = {\n onBeforeEnter(el) {\n if (props.origin) {\n el.style.transformOrigin = props.origin;\n }\n },\n onLeave(el) {\n if (props.leaveAbsolute) {\n const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = el;\n el._transitionInitialStyles = {\n position: el.style.position,\n top: el.style.top,\n left: el.style.left,\n width: el.style.width,\n height: el.style.height\n };\n el.style.position = \"absolute\";\n el.style.top = `${offsetTop}px`;\n el.style.left = `${offsetLeft}px`;\n el.style.width = `${offsetWidth}px`;\n el.style.height = `${offsetHeight}px`;\n }\n if (props.hideOnLeave) {\n el.style.setProperty(\"display\", \"none\", \"important\");\n }\n },\n onAfterLeave(el) {\n if (props.leaveAbsolute && (el == null ? void 0 : el._transitionInitialStyles)) {\n const { position, top, left, width, height } = el._transitionInitialStyles;\n delete el._transitionInitialStyles;\n el.style.position = position || \"\";\n el.style.top = top || \"\";\n el.style.left = left || \"\";\n el.style.width = width || \"\";\n el.style.height = height || \"\";\n }\n }\n };\n return () => {\n const tag = props.group ? TransitionGroup : Transition;\n return h(\n tag,\n {\n name: props.disabled ? \"\" : name,\n css: !props.disabled,\n ...props.group ? void 0 : { mode: props.mode },\n ...props.disabled ? {} : functions\n },\n slots.default\n );\n };\n }\n });\n}\nfunction createJavascriptTransition(name, functions, mode = \"in-out\") {\n return genericComponent()({\n name,\n props: {\n mode: {\n type: String,\n default: mode\n },\n disabled: Boolean,\n group: Boolean\n },\n setup(props, { slots }) {\n const tag = props.group ? TransitionGroup : Transition;\n return () => {\n return h(\n tag,\n {\n name: props.disabled ? \"\" : name,\n css: !props.disabled,\n // mode: props.mode, // TODO: vuejs/vue-next#3104\n ...props.disabled ? {} : functions\n },\n slots.default\n );\n };\n }\n });\n}\nexport {\n createCssTransition,\n createJavascriptTransition,\n makeTransitionProps\n};\n//# sourceMappingURL=createTransition.mjs.map\n","import { a as camelize } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nfunction ExpandTransitionGenerator(expandedParentClass = \"\", x = false) {\n const sizeProperty = x ? \"width\" : \"height\";\n const offsetProperty = camelize(`offset-${sizeProperty}`);\n return {\n onBeforeEnter(el) {\n el._parent = el.parentNode;\n el._initialStyle = {\n transition: el.style.transition,\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty]\n };\n },\n onEnter(el) {\n const initialStyle = el._initialStyle;\n if (!initialStyle) return;\n el.style.setProperty(\"transition\", \"none\", \"important\");\n el.style.overflow = \"hidden\";\n const offset = `${el[offsetProperty]}px`;\n el.style[sizeProperty] = \"0\";\n void el.offsetHeight;\n el.style.transition = initialStyle.transition;\n if (expandedParentClass && el._parent) {\n el._parent.classList.add(expandedParentClass);\n }\n requestAnimationFrame(() => {\n el.style[sizeProperty] = offset;\n });\n },\n onAfterEnter: resetStyles,\n onEnterCancelled: resetStyles,\n onLeave(el) {\n el._initialStyle = {\n transition: \"\",\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty]\n };\n el.style.overflow = \"hidden\";\n el.style[sizeProperty] = `${el[offsetProperty]}px`;\n void el.offsetHeight;\n requestAnimationFrame(() => el.style[sizeProperty] = \"0\");\n },\n onAfterLeave,\n onLeaveCancelled: onAfterLeave\n };\n function onAfterLeave(el) {\n if (expandedParentClass && el._parent) {\n el._parent.classList.remove(expandedParentClass);\n }\n resetStyles(el);\n }\n function resetStyles(el) {\n if (!el._initialStyle) return;\n const size = el._initialStyle[sizeProperty];\n el.style.overflow = el._initialStyle.overflow;\n if (size != null) el.style[sizeProperty] = size;\n delete el._initialStyle;\n }\n}\nexport {\n ExpandTransitionGenerator as default\n};\n//# sourceMappingURL=expand-transition.mjs.map\n","var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nclass Box {\n constructor({\n x,\n y,\n width,\n height\n }) {\n __publicField(this, \"x\");\n __publicField(this, \"y\");\n __publicField(this, \"width\");\n __publicField(this, \"height\");\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n }\n get top() {\n return this.y;\n }\n get bottom() {\n return this.y + this.height;\n }\n get left() {\n return this.x;\n }\n get right() {\n return this.x + this.width;\n }\n}\nfunction getOverflow(a, b) {\n return {\n x: {\n before: Math.max(0, b.left - a.left),\n after: Math.max(0, a.right - b.right)\n },\n y: {\n before: Math.max(0, b.top - a.top),\n after: Math.max(0, a.bottom - b.bottom)\n }\n };\n}\nfunction getTargetBox(target) {\n if (Array.isArray(target)) {\n return new Box({\n x: target[0],\n y: target[1],\n width: 0,\n height: 0\n });\n } else {\n return target.getBoundingClientRect();\n }\n}\nfunction getElementBox(el) {\n if (el === document.documentElement) {\n if (!visualViewport) {\n return new Box({\n x: 0,\n y: 0,\n width: document.documentElement.clientWidth,\n height: document.documentElement.clientHeight\n });\n } else {\n return new Box({\n x: visualViewport.scale > 1 ? 0 : visualViewport.offsetLeft,\n y: visualViewport.scale > 1 ? 0 : visualViewport.offsetTop,\n width: visualViewport.width * visualViewport.scale,\n height: visualViewport.height * visualViewport.scale\n });\n }\n } else {\n const rect = el.getBoundingClientRect();\n return new Box({\n x: rect.x,\n y: rect.y,\n width: el.clientWidth,\n height: el.clientHeight\n });\n }\n}\nexport {\n Box,\n getElementBox,\n getOverflow,\n getTargetBox\n};\n//# sourceMappingURL=box.mjs.map\n","import { Box } from \"./box.mjs\";\nfunction nullifyTransforms(el) {\n const rect = el.getBoundingClientRect();\n const style = getComputedStyle(el);\n const tx = style.transform;\n if (tx) {\n let ta;\n let sx;\n let sy;\n let dx;\n let dy;\n if (tx.startsWith(\"matrix3d(\")) {\n ta = tx.slice(9, -1).split(/, /);\n sx = Number(ta[0]);\n sy = Number(ta[5]);\n dx = Number(ta[12]);\n dy = Number(ta[13]);\n } else if (tx.startsWith(\"matrix(\")) {\n ta = tx.slice(7, -1).split(/, /);\n sx = Number(ta[0]);\n sy = Number(ta[3]);\n dx = Number(ta[4]);\n dy = Number(ta[5]);\n } else {\n return new Box(rect);\n }\n const to = style.transformOrigin;\n const x = rect.x - dx - (1 - sx) * parseFloat(to);\n const y = rect.y - dy - (1 - sy) * parseFloat(to.slice(to.indexOf(\" \") + 1));\n const w = sx ? rect.width / sx : el.offsetWidth + 1;\n const h = sy ? rect.height / sy : el.offsetHeight + 1;\n return new Box({ x, y, width: w, height: h });\n } else {\n return new Box(rect);\n }\n}\nfunction animate(el, keyframes, options) {\n if (typeof el.animate === \"undefined\") return { finished: Promise.resolve() };\n let animation;\n try {\n animation = el.animate(keyframes, options);\n } catch (err) {\n return { finished: Promise.resolve() };\n }\n if (typeof animation.finished === \"undefined\") {\n animation.finished = new Promise((resolve) => {\n animation.onfinish = () => {\n resolve(animation);\n };\n });\n }\n return animation;\n}\nexport {\n animate,\n nullifyTransforms\n};\n//# sourceMappingURL=animation.mjs.map\n","import { s as shallowRef, G as toValue, n as watch, d as computed } from \"../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { clamp } from \"./helpers.mjs\";\nconst standardEasing = \"cubic-bezier(0.4, 0, 0.2, 1)\";\nconst deceleratedEasing = \"cubic-bezier(0.0, 0, 0.2, 1)\";\nconst acceleratedEasing = \"cubic-bezier(0.4, 0, 1, 1)\";\nconst easingPatterns = {\n linear: (t) => t,\n easeInQuad: (t) => t ** 2,\n easeOutQuad: (t) => t * (2 - t),\n easeInOutQuad: (t) => t < 0.5 ? 2 * t ** 2 : -1 + (4 - 2 * t) * t,\n easeInCubic: (t) => t ** 3,\n easeOutCubic: (t) => --t ** 3 + 1,\n easeInOutCubic: (t) => t < 0.5 ? 4 * t ** 3 : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1,\n easeInQuart: (t) => t ** 4,\n easeOutQuart: (t) => 1 - --t ** 4,\n easeInOutQuart: (t) => t < 0.5 ? 8 * t ** 4 : 1 - 8 * --t ** 4,\n easeInQuint: (t) => t ** 5,\n easeOutQuint: (t) => 1 + --t ** 5,\n easeInOutQuint: (t) => t < 0.5 ? 16 * t ** 5 : 1 + 16 * --t ** 5\n};\nfunction useTransition(source, options) {\n const defaultTransition = {\n duration: 300,\n transition: easingPatterns.easeInOutCubic\n };\n let raf = -1;\n const outputRef = shallowRef(toValue(source));\n watch(\n () => toValue(source),\n async (to) => {\n cancelAnimationFrame(raf);\n const easing = { ...defaultTransition, ...toValue(options) };\n await executeTransition(outputRef, outputRef.value, to, easing);\n }\n );\n function executeTransition(out, from, to, options2) {\n const startTime = performance.now();\n const ease = options2.transition ?? easingPatterns.easeInOutCubic;\n return new Promise((resolve) => {\n raf = requestAnimationFrame(function step(currentTime) {\n const timeElapsed = currentTime - startTime;\n const progress = timeElapsed / options2.duration;\n out.value = from + (to - from) * ease(clamp(progress, 0, 1));\n if (progress < 1) {\n raf = requestAnimationFrame(step);\n } else {\n out.value = to;\n resolve();\n }\n });\n });\n }\n return computed(() => outputRef.value);\n}\nexport {\n acceleratedEasing,\n deceleratedEasing,\n easingPatterns,\n standardEasing,\n useTransition\n};\n//# sourceMappingURL=easing.mjs.map\n","import { q as createVNode, v as mergeProps } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport \"../../util/helpers.mjs\";\nimport { animate, nullifyTransforms } from \"../../util/animation.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { acceleratedEasing, deceleratedEasing, standardEasing } from \"../../util/easing.mjs\";\nimport { getTargetBox } from \"../../util/box.mjs\";\nimport { T as Transition } from \"../../runtime-dom.esm-bundler-31hBwcnO.mjs\";\nconst makeVDialogTransitionProps = propsFactory({\n target: [Object, Array]\n}, \"v-dialog-transition\");\nconst saved = /* @__PURE__ */ new WeakMap();\nconst VDialogTransition = genericComponent()({\n name: \"VDialogTransition\",\n props: makeVDialogTransitionProps(),\n setup(props, {\n slots\n }) {\n const functions = {\n onBeforeEnter(el) {\n el.style.pointerEvents = \"none\";\n el.style.visibility = \"hidden\";\n },\n async onEnter(el, done) {\n var _a;\n await new Promise((resolve) => requestAnimationFrame(resolve));\n await new Promise((resolve) => requestAnimationFrame(resolve));\n el.style.visibility = \"\";\n const dimensions = getDimensions(props.target, el);\n const {\n x,\n y,\n sx,\n sy,\n speed\n } = dimensions;\n saved.set(el, dimensions);\n const animation = animate(el, [{\n transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`,\n opacity: 0\n }, {}], {\n duration: 225 * speed,\n easing: deceleratedEasing\n });\n (_a = getChildren(el)) == null ? void 0 : _a.forEach((el2) => {\n animate(el2, [{\n opacity: 0\n }, {\n opacity: 0,\n offset: 0.33\n }, {}], {\n duration: 225 * 2 * speed,\n easing: standardEasing\n });\n });\n animation.finished.then(() => done());\n },\n onAfterEnter(el) {\n el.style.removeProperty(\"pointer-events\");\n },\n onBeforeLeave(el) {\n el.style.pointerEvents = \"none\";\n },\n async onLeave(el, done) {\n var _a;\n await new Promise((resolve) => requestAnimationFrame(resolve));\n let dimensions;\n if (!saved.has(el) || Array.isArray(props.target) || props.target.offsetParent || props.target.getClientRects().length) {\n dimensions = getDimensions(props.target, el);\n } else {\n dimensions = saved.get(el);\n }\n const {\n x,\n y,\n sx,\n sy,\n speed\n } = dimensions;\n const animation = animate(el, [{}, {\n transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`,\n opacity: 0\n }], {\n duration: 125 * speed,\n easing: acceleratedEasing\n });\n animation.finished.then(() => done());\n (_a = getChildren(el)) == null ? void 0 : _a.forEach((el2) => {\n animate(el2, [{}, {\n opacity: 0,\n offset: 0.2\n }, {\n opacity: 0\n }], {\n duration: 125 * 2 * speed,\n easing: standardEasing\n });\n });\n },\n onAfterLeave(el) {\n el.style.removeProperty(\"pointer-events\");\n }\n };\n return () => {\n return props.target ? createVNode(Transition, mergeProps({\n \"name\": \"dialog-transition\"\n }, functions, {\n \"css\": false\n }), slots) : createVNode(Transition, {\n \"name\": \"dialog-transition\"\n }, slots);\n };\n }\n});\nfunction getChildren(el) {\n var _a;\n const els = (_a = el.querySelector(\":scope > .v-card, :scope > .v-sheet, :scope > .v-list\")) == null ? void 0 : _a.children;\n return els && [...els];\n}\nfunction getDimensions(target, el) {\n const targetBox = getTargetBox(target);\n const elBox = nullifyTransforms(el);\n const [originX, originY] = getComputedStyle(el).transformOrigin.split(\" \").map((v) => parseFloat(v));\n const [anchorSide, anchorOffset] = getComputedStyle(el).getPropertyValue(\"--v-overlay-anchor-origin\").split(\" \");\n let offsetX = targetBox.left + targetBox.width / 2;\n if (anchorSide === \"left\" || anchorOffset === \"left\") {\n offsetX -= targetBox.width / 2;\n } else if (anchorSide === \"right\" || anchorOffset === \"right\") {\n offsetX += targetBox.width / 2;\n }\n let offsetY = targetBox.top + targetBox.height / 2;\n if (anchorSide === \"top\" || anchorOffset === \"top\") {\n offsetY -= targetBox.height / 2;\n } else if (anchorSide === \"bottom\" || anchorOffset === \"bottom\") {\n offsetY += targetBox.height / 2;\n }\n const tsx = targetBox.width / elBox.width;\n const tsy = targetBox.height / elBox.height;\n const maxs = Math.max(1, tsx, tsy);\n const sx = tsx / maxs || 0;\n const sy = tsy / maxs || 0;\n const asa = elBox.width * elBox.height / (window.innerWidth * window.innerHeight);\n const speed = asa > 0.12 ? Math.min(1.5, (asa - 0.12) * 10 + 1) : 1;\n return {\n x: offsetX - (originX + elBox.left),\n y: offsetY - (originY + elBox.top),\n sx,\n sy,\n speed\n };\n}\nexport {\n VDialogTransition,\n makeVDialogTransitionProps\n};\n//# sourceMappingURL=dialog-transition.mjs.map\n","import { createCssTransition, createJavascriptTransition } from \"./transitions/createTransition.mjs\";\nimport ExpandTransitionGenerator from \"./transitions/expand-transition.mjs\";\nimport { VDialogTransition } from \"./transitions/dialog-transition.mjs\";\nconst VFabTransition = createCssTransition(\n \"fab-transition\",\n \"center center\",\n \"out-in\"\n);\nconst VDialogBottomTransition = createCssTransition(\n \"dialog-bottom-transition\"\n);\nconst VDialogTopTransition = createCssTransition(\n \"dialog-top-transition\"\n);\nconst VFadeTransition = createCssTransition(\"fade-transition\");\nconst VScaleTransition = createCssTransition(\"scale-transition\");\nconst VScrollXTransition = createCssTransition(\"scroll-x-transition\");\nconst VScrollXReverseTransition = createCssTransition(\n \"scroll-x-reverse-transition\"\n);\nconst VScrollYTransition = createCssTransition(\"scroll-y-transition\");\nconst VScrollYReverseTransition = createCssTransition(\n \"scroll-y-reverse-transition\"\n);\nconst VSlideXTransition = createCssTransition(\"slide-x-transition\");\nconst VSlideXReverseTransition = createCssTransition(\n \"slide-x-reverse-transition\"\n);\nconst VSlideYTransition = createCssTransition(\"slide-y-transition\");\nconst VSlideYReverseTransition = createCssTransition(\n \"slide-y-reverse-transition\"\n);\nconst VExpandTransition = createJavascriptTransition(\n \"expand-transition\",\n ExpandTransitionGenerator()\n);\nconst VExpandXTransition = createJavascriptTransition(\n \"expand-x-transition\",\n ExpandTransitionGenerator(\"\", true)\n);\nexport {\n VDialogBottomTransition,\n VDialogTopTransition,\n VDialogTransition,\n VExpandTransition,\n VExpandXTransition,\n VFabTransition,\n VFadeTransition,\n VScaleTransition,\n VScrollXReverseTransition,\n VScrollXTransition,\n VScrollYReverseTransition,\n VScrollYTransition,\n VSlideXReverseTransition,\n VSlideXTransition,\n VSlideYReverseTransition,\n VSlideYTransition\n};\n//# sourceMappingURL=transitions.mjs.map\n","import { d as computed, q as createVNode } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { VSlideYTransition } from \"../transitions.mjs\";\nimport { useTextColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeTransitionProps, MaybeTransition } from \"../../composables/transition.mjs\";\nimport { wrapInArray } from \"../../util/helpers.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nconst makeVMessagesProps = propsFactory({\n active: Boolean,\n color: String,\n messages: {\n type: [Array, String],\n default: () => []\n },\n ...makeComponentProps(),\n ...makeTransitionProps({\n transition: {\n component: VSlideYTransition,\n leaveAbsolute: true,\n group: true\n }\n })\n}, \"VMessages\");\nconst VMessages = genericComponent()({\n name: \"VMessages\",\n props: makeVMessagesProps(),\n setup(props, {\n slots\n }) {\n const messages = computed(() => wrapInArray(props.messages));\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(() => props.color);\n useRender(() => createVNode(MaybeTransition, {\n \"transition\": props.transition,\n \"tag\": \"div\",\n \"class\": [\"v-messages\", textColorClasses.value, props.class],\n \"style\": [textColorStyles.value, props.style]\n }, {\n default: () => [props.active && messages.value.map((message, i) => createVNode(\"div\", {\n \"class\": \"v-messages__message\",\n \"key\": `${i}-${messages.value}`\n }, [slots.message ? slots.message({\n message\n }) : message]))]\n }));\n return {};\n }\n});\nexport {\n VMessages,\n makeVMessagesProps\n};\n//# sourceMappingURL=VMessages.mjs.map\n","import { useProxiedModel } from \"./proxiedModel.mjs\";\nimport { t as toRef } from \"../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { EventProp } from \"../util/helpers.mjs\";\nimport { propsFactory } from \"../util/propsFactory.mjs\";\nimport { getCurrentInstanceName } from \"../util/getCurrentInstance.mjs\";\nconst makeFocusProps = propsFactory(\n {\n focused: Boolean,\n \"onUpdate:focused\": EventProp()\n },\n \"focus\"\n);\nfunction useFocus(props, name = getCurrentInstanceName()) {\n const isFocused = useProxiedModel(props, \"focused\");\n const focusClasses = toRef(() => {\n return {\n [`${name}--focused`]: isFocused.value\n };\n });\n function focus() {\n isFocused.value = true;\n }\n function blur() {\n isFocused.value = false;\n }\n return { focusClasses, isFocused, focus, blur };\n}\nexport {\n makeFocusProps,\n useFocus\n};\n//# sourceMappingURL=focus.mjs.map\n","import { useProxiedModel } from \"./proxiedModel.mjs\";\nimport { b as inject, d as computed, t as toRef, s as shallowRef, e as ref, n as watch, p as provide, L as markRaw } from \"../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport \"../util/helpers.mjs\";\nimport { consoleWarn } from \"../util/console.mjs\";\nimport { propsFactory } from \"../util/propsFactory.mjs\";\nconst FormKey = Symbol.for(\"vuetify:form\");\nconst makeFormProps = propsFactory(\n {\n disabled: Boolean,\n fastFail: Boolean,\n readonly: Boolean,\n modelValue: {\n type: Boolean,\n default: null\n },\n validateOn: {\n type: String,\n default: \"input\"\n }\n },\n \"form\"\n);\nfunction createForm(props) {\n const model = useProxiedModel(props, \"modelValue\");\n const isDisabled = toRef(() => props.disabled);\n const isReadonly = toRef(() => props.readonly);\n const isValidating = shallowRef(false);\n const items = ref([]);\n const errors = ref([]);\n async function validate() {\n const results = [];\n let valid = true;\n errors.value = [];\n isValidating.value = true;\n for (const item of items.value) {\n const itemErrorMessages = await item.validate();\n if (itemErrorMessages.length > 0) {\n valid = false;\n results.push({\n id: item.id,\n errorMessages: itemErrorMessages\n });\n }\n if (!valid && props.fastFail) break;\n }\n errors.value = results;\n isValidating.value = false;\n return { valid, errors: errors.value };\n }\n function reset() {\n items.value.forEach((item) => item.reset());\n }\n function resetValidation() {\n items.value.forEach((item) => item.resetValidation());\n }\n watch(\n items,\n () => {\n let valid = 0;\n let invalid = 0;\n const results = [];\n for (const item of items.value) {\n if (item.isValid === false) {\n invalid++;\n results.push({\n id: item.id,\n errorMessages: item.errorMessages\n });\n } else if (item.isValid === true) valid++;\n }\n errors.value = results;\n model.value = invalid > 0 ? false : valid === items.value.length ? true : null;\n },\n { deep: true, flush: \"post\" }\n );\n provide(FormKey, {\n register: ({ id, vm, validate: validate2, reset: reset2, resetValidation: resetValidation2 }) => {\n if (items.value.some((item) => item.id === id)) {\n consoleWarn(`Duplicate input name \"${id}\"`);\n }\n items.value.push({\n id,\n validate: validate2,\n reset: reset2,\n resetValidation: resetValidation2,\n vm: markRaw(vm),\n isValid: null,\n errorMessages: []\n });\n },\n unregister: (id) => {\n items.value = items.value.filter((item) => {\n return item.id !== id;\n });\n },\n update: (id, isValid, errorMessages) => {\n const found = items.value.find((item) => item.id === id);\n if (!found) return;\n found.isValid = isValid;\n found.errorMessages = errorMessages;\n },\n isDisabled,\n isReadonly,\n isValidating,\n isValid: model,\n items,\n validateOn: toRef(() => props.validateOn)\n });\n return {\n errors,\n isDisabled,\n isReadonly,\n isValidating,\n isValid: model,\n items,\n validate,\n reset,\n resetValidation\n };\n}\nfunction useForm(props) {\n const form = inject(FormKey, null);\n return {\n ...form,\n isReadonly: computed(() => !!((props == null ? void 0 : props.readonly) ?? (form == null ? void 0 : form.isReadonly.value))),\n isDisabled: computed(() => !!((props == null ? void 0 : props.disabled) ?? (form == null ? void 0 : form.isDisabled.value)))\n };\n}\nexport {\n FormKey,\n createForm,\n makeFormProps,\n useForm\n};\n//# sourceMappingURL=form.mjs.map\n","import { b as inject, t as toRef, d as computed } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nfunction createRules(options, locale) {\n const { t } = locale;\n const aliases = {\n required: (err) => {\n return (v) => {\n return v === 0 || !!v || t(err || \"$vuetify.rules.required\");\n };\n },\n email: (err) => {\n return (v) => !v || typeof v === \"string\" && /^.+@\\S+\\.\\S+$/.test(v) || t(err || \"$vuetify.rules.email\");\n },\n number: (err) => {\n return (v) => !!Number(v) || t(err || \"$vuetify.rules.number\");\n },\n integer: (err) => {\n return (v) => /^[\\d]*$/.test(v) || t(err || \"$vuetify.rules.integer\");\n },\n capital: (err) => {\n return (v) => /^[A-Z]*$/.test(v) || t(err || \"$vuetify.rules.capital\");\n },\n maxLength: (len, err) => {\n return (v) => !v || v.length <= len || t(err || \"$vuetify.rules.maxLength\", [len]);\n },\n minLength: (len, err) => {\n return (v) => !v || v.length >= len || t(err || \"$vuetify.rules.minLength\", [len]);\n },\n strictLength: (len, err) => {\n return (v) => !v || v.length === len || t(err || \"$vuetify.rules.strictLength\", [len]);\n },\n exclude: (forbiddenCharacters, err) => {\n return (v) => {\n let error = true;\n for (const character of forbiddenCharacters) {\n if (v.includes(character))\n error = err || t(\"$vuetify.rules.exclude\", character);\n }\n return error;\n };\n },\n notEmpty: (err) => {\n return (v) => v && v.length > 0 || t(err || \"$vuetify.rules.notEmpty\");\n },\n pattern: (pattern, err) => {\n return (v) => !v || pattern.test(v) || t(err || \"$vuetify.rules.pattern\");\n },\n ...options == null ? void 0 : options.aliases\n };\n function resolve(fn) {\n return computed(\n () => fn().map((rule) => {\n var _a;\n let ruleName = null;\n let ruleParams = [void 0];\n if (Array.isArray(rule)) {\n ruleName = rule[0];\n ruleParams = rule.slice(1);\n } else if (typeof rule === \"string\") {\n ruleName = rule;\n }\n if (ruleName !== null) {\n if (ruleName.startsWith(\"$\")) {\n ruleName = ruleName.slice(1);\n }\n return (_a = aliases[ruleName]) == null ? void 0 : _a.call(aliases, ...ruleParams);\n } else {\n return rule;\n }\n })\n );\n }\n return {\n resolve,\n aliases\n };\n}\nconst RulesSymbol = Symbol.for(\"vuetify:rules\");\nfunction useRules(fn) {\n const rules = inject(RulesSymbol, null);\n if (!fn) {\n if (!rules) {\n throw new Error(\"Could not find Vuetify rules injection\");\n }\n return rules.aliases;\n }\n return (rules == null ? void 0 : rules.resolve(fn)) ?? toRef(fn);\n}\nexport {\n RulesSymbol,\n createRules,\n useRules\n};\n//# sourceMappingURL=rules.mjs.map\n","import { makeFocusProps } from \"./focus.mjs\";\nimport { useForm } from \"./form.mjs\";\nimport { useProxiedModel } from \"./proxiedModel.mjs\";\nimport { useToggleScope } from \"./toggleScope.mjs\";\nimport { useRules } from \"../labs/rules/rules.mjs\";\nimport { h as useId, d as computed, e as ref, s as shallowRef, u as unref, ad as onBeforeMount, l as onBeforeUnmount, g as onMounted, n as watch, ab as nextTick } from \"../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { wrapInArray } from \"../util/helpers.mjs\";\nimport { propsFactory } from \"../util/propsFactory.mjs\";\nimport { getCurrentInstanceName, getCurrentInstance } from \"../util/getCurrentInstance.mjs\";\nconst makeValidationProps = propsFactory(\n {\n disabled: {\n type: Boolean,\n default: null\n },\n error: Boolean,\n errorMessages: {\n type: [Array, String],\n default: () => []\n },\n maxErrors: {\n type: [Number, String],\n default: 1\n },\n name: String,\n label: String,\n readonly: {\n type: Boolean,\n default: null\n },\n rules: {\n type: Array,\n default: () => []\n },\n modelValue: null,\n validateOn: String,\n validationValue: null,\n ...makeFocusProps()\n },\n \"validation\"\n);\nfunction useValidation(props, name = getCurrentInstanceName(), id = useId()) {\n const model = useProxiedModel(props, \"modelValue\");\n const validationModel = computed(\n () => props.validationValue === void 0 ? model.value : props.validationValue\n );\n const form = useForm(props);\n const rules = useRules(() => props.rules);\n const internalErrorMessages = ref([]);\n const isPristine = shallowRef(true);\n const isDirty = computed(\n () => !!(wrapInArray(model.value === \"\" ? null : model.value).length || wrapInArray(validationModel.value === \"\" ? null : validationModel.value).length)\n );\n const errorMessages = computed(() => {\n var _a;\n return ((_a = props.errorMessages) == null ? void 0 : _a.length) ? wrapInArray(props.errorMessages).concat(internalErrorMessages.value).slice(0, Math.max(0, Number(props.maxErrors))) : internalErrorMessages.value;\n });\n const validateOn = computed(() => {\n var _a;\n let value = (props.validateOn ?? ((_a = form.validateOn) == null ? void 0 : _a.value)) || \"input\";\n if (value === \"lazy\") value = \"input lazy\";\n if (value === \"eager\") value = \"input eager\";\n const set = new Set((value == null ? void 0 : value.split(\" \")) ?? []);\n return {\n input: set.has(\"input\"),\n blur: set.has(\"blur\") || set.has(\"input\") || set.has(\"invalid-input\"),\n invalidInput: set.has(\"invalid-input\"),\n lazy: set.has(\"lazy\"),\n eager: set.has(\"eager\")\n };\n });\n const isValid = computed(() => {\n var _a;\n if (props.error || ((_a = props.errorMessages) == null ? void 0 : _a.length)) return false;\n if (!props.rules.length) return true;\n if (isPristine.value) {\n return internalErrorMessages.value.length || validateOn.value.lazy ? null : true;\n } else {\n return !internalErrorMessages.value.length;\n }\n });\n const isValidating = shallowRef(false);\n const validationClasses = computed(() => {\n return {\n [`${name}--error`]: isValid.value === false,\n [`${name}--dirty`]: isDirty.value,\n [`${name}--disabled`]: form.isDisabled.value,\n [`${name}--readonly`]: form.isReadonly.value\n };\n });\n const vm = getCurrentInstance(\"validation\");\n const uid = computed(() => props.name ?? unref(id));\n onBeforeMount(() => {\n var _a;\n (_a = form.register) == null ? void 0 : _a.call(form, {\n id: uid.value,\n vm,\n validate,\n reset,\n resetValidation\n });\n });\n onBeforeUnmount(() => {\n var _a;\n (_a = form.unregister) == null ? void 0 : _a.call(form, uid.value);\n });\n onMounted(async () => {\n var _a;\n if (!validateOn.value.lazy) {\n await validate(!validateOn.value.eager);\n }\n (_a = form.update) == null ? void 0 : _a.call(form, uid.value, isValid.value, errorMessages.value);\n });\n useToggleScope(\n () => validateOn.value.input || validateOn.value.invalidInput && isValid.value === false,\n () => {\n watch(validationModel, () => {\n if (validationModel.value != null) {\n validate();\n } else if (props.focused) {\n const unwatch = watch(\n () => props.focused,\n (val) => {\n if (!val) validate();\n unwatch();\n }\n );\n }\n });\n }\n );\n useToggleScope(\n () => validateOn.value.blur,\n () => {\n watch(\n () => props.focused,\n (val) => {\n if (!val) validate();\n }\n );\n }\n );\n watch([isValid, errorMessages], () => {\n var _a;\n (_a = form.update) == null ? void 0 : _a.call(form, uid.value, isValid.value, errorMessages.value);\n });\n async function reset() {\n model.value = null;\n await nextTick();\n await resetValidation();\n }\n async function resetValidation() {\n isPristine.value = true;\n if (!validateOn.value.lazy) {\n await validate(!validateOn.value.eager);\n } else {\n internalErrorMessages.value = [];\n }\n }\n async function validate(silent = false) {\n const results = [];\n isValidating.value = true;\n for (const rule of rules.value) {\n if (results.length >= Number(props.maxErrors ?? 1)) {\n break;\n }\n const handler = typeof rule === \"function\" ? rule : () => rule;\n const result = await handler(validationModel.value);\n if (result === true) continue;\n if (result !== false && typeof result !== \"string\") {\n console.warn(\n `${result} is not a valid value. Rule functions must return boolean true or a string.`\n );\n continue;\n }\n results.push(result || \"\");\n }\n internalErrorMessages.value = results;\n isValidating.value = false;\n isPristine.value = silent;\n return internalErrorMessages.value;\n }\n return {\n errorMessages,\n isDirty,\n isDisabled: form.isDisabled,\n isReadonly: form.isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses\n };\n}\nexport {\n makeValidationProps,\n useValidation\n};\n//# sourceMappingURL=validation.mjs.map\n","import { h as useId, d as computed, t as toRef, q as createVNode } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { useInputIcon } from \"./InputIcon.mjs\";\nimport { VMessages } from \"../VMessages/VMessages.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDensityProps, useDensity } from \"../../composables/density.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { I as IconValue } from \"../../mdi-CVSg0Nll.mjs\";\nimport { useRtl } from \"../../composables/locale.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\";\nimport { makeValidationProps, useValidation } from \"../../composables/validation.mjs\";\nimport { pick, EventProp } from \"../../util/helpers.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nconst makeVInputProps = propsFactory({\n id: String,\n appendIcon: IconValue,\n baseColor: String,\n centerAffix: {\n type: Boolean,\n default: true\n },\n color: String,\n glow: Boolean,\n iconColor: [Boolean, String],\n prependIcon: IconValue,\n hideDetails: [Boolean, String],\n hideSpinButtons: Boolean,\n hint: String,\n persistentHint: Boolean,\n messages: {\n type: [Array, String],\n default: () => []\n },\n direction: {\n type: String,\n default: \"horizontal\",\n validator: (v) => [\"horizontal\", \"vertical\"].includes(v)\n },\n \"onClick:prepend\": EventProp(),\n \"onClick:append\": EventProp(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...pick(makeDimensionProps(), [\"maxWidth\", \"minWidth\", \"width\"]),\n ...makeThemeProps(),\n ...makeValidationProps()\n}, \"VInput\");\nconst VInput = genericComponent()({\n name: \"VInput\",\n props: {\n ...makeVInputProps()\n },\n emits: {\n \"update:modelValue\": (value) => true\n },\n setup(props, {\n attrs,\n slots,\n emit\n }) {\n const {\n densityClasses\n } = useDensity(props);\n const {\n dimensionStyles\n } = useDimension(props);\n const {\n themeClasses\n } = provideTheme(props);\n const {\n rtlClasses\n } = useRtl();\n const {\n InputIcon\n } = useInputIcon(props);\n const uid = useId();\n const id = computed(() => props.id || `input-${uid}`);\n const {\n errorMessages,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses\n } = useValidation(props, \"v-input\", id);\n const messages = computed(() => {\n var _a;\n if (((_a = props.errorMessages) == null ? void 0 : _a.length) || !isPristine.value && errorMessages.value.length) {\n return errorMessages.value;\n } else if (props.hint && (props.persistentHint || props.focused)) {\n return props.hint;\n } else {\n return props.messages;\n }\n });\n const hasMessages = toRef(() => messages.value.length > 0);\n const hasDetails = toRef(() => !props.hideDetails || props.hideDetails === \"auto\" && (hasMessages.value || !!slots.details));\n const messagesId = computed(() => hasDetails.value ? `${id.value}-messages` : void 0);\n const slotProps = computed(() => ({\n id,\n messagesId,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n hasDetails,\n reset,\n resetValidation,\n validate\n }));\n const color = toRef(() => {\n return props.error || props.disabled ? void 0 : props.focused ? props.color : props.baseColor;\n });\n const iconColor = toRef(() => {\n if (!props.iconColor) return void 0;\n return props.iconColor === true ? color.value : props.iconColor;\n });\n useRender(() => {\n var _a, _b, _c, _d;\n const hasPrepend = !!(slots.prepend || props.prependIcon);\n const hasAppend = !!(slots.append || props.appendIcon);\n return createVNode(\"div\", {\n \"class\": [\"v-input\", `v-input--${props.direction}`, {\n \"v-input--center-affix\": props.centerAffix,\n \"v-input--focused\": props.focused,\n \"v-input--glow\": props.glow,\n \"v-input--hide-spin-buttons\": props.hideSpinButtons\n }, densityClasses.value, themeClasses.value, rtlClasses.value, validationClasses.value, props.class],\n \"style\": [dimensionStyles.value, props.style]\n }, [hasPrepend && createVNode(\"div\", {\n \"key\": \"prepend\",\n \"class\": \"v-input__prepend\"\n }, [(_a = slots.prepend) == null ? void 0 : _a.call(slots, slotProps.value), props.prependIcon && createVNode(InputIcon, {\n \"key\": \"prepend-icon\",\n \"name\": \"prepend\",\n \"color\": iconColor.value\n }, null)]), slots.default && createVNode(\"div\", {\n \"class\": \"v-input__control\"\n }, [(_b = slots.default) == null ? void 0 : _b.call(slots, slotProps.value)]), hasAppend && createVNode(\"div\", {\n \"key\": \"append\",\n \"class\": \"v-input__append\"\n }, [props.appendIcon && createVNode(InputIcon, {\n \"key\": \"append-icon\",\n \"name\": \"append\",\n \"color\": iconColor.value\n }, null), (_c = slots.append) == null ? void 0 : _c.call(slots, slotProps.value)]), hasDetails.value && createVNode(\"div\", {\n \"id\": messagesId.value,\n \"class\": \"v-input__details\",\n \"role\": \"alert\",\n \"aria-live\": \"polite\"\n }, [createVNode(VMessages, {\n \"active\": hasMessages.value,\n \"messages\": messages.value\n }, {\n message: slots.message\n }), (_d = slots.details) == null ? void 0 : _d.call(slots, slotProps.value)])]);\n });\n return {\n reset,\n resetValidation,\n validate,\n isValid,\n errorMessages\n };\n }\n});\nexport {\n VInput,\n makeVInputProps\n};\n//# sourceMappingURL=VInput.mjs.map\n","import { e as ref, h as useId, q as createVNode, v as mergeProps } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { makeVCheckboxBtnProps, VCheckboxBtn } from \"./VCheckboxBtn.mjs\";\nimport { makeVInputProps, VInput } from \"../VInput/VInput.mjs\";\nimport { useFocus } from \"../../composables/focus.mjs\";\nimport { forwardRefs } from \"../../composables/forwardRefs.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { omit, filterInputAttrs } from \"../../util/helpers.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nconst makeVCheckboxProps = propsFactory({\n ...makeVInputProps(),\n ...omit(makeVCheckboxBtnProps(), [\"inline\"])\n}, \"VCheckbox\");\nconst VCheckbox = genericComponent()({\n name: \"VCheckbox\",\n inheritAttrs: false,\n props: makeVCheckboxProps(),\n emits: {\n \"update:modelValue\": (value) => true,\n \"update:focused\": (focused) => true\n },\n setup(props, {\n attrs,\n slots\n }) {\n const model = useProxiedModel(props, \"modelValue\");\n const {\n isFocused,\n focus,\n blur\n } = useFocus(props);\n const inputRef = ref();\n const uid = useId();\n useRender(() => {\n const [rootAttrs, controlAttrs] = filterInputAttrs(attrs);\n const inputProps = VInput.filterProps(props);\n const checkboxProps = VCheckboxBtn.filterProps(props);\n return createVNode(VInput, mergeProps({\n \"ref\": inputRef,\n \"class\": [\"v-checkbox\", props.class]\n }, rootAttrs, inputProps, {\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": ($event) => model.value = $event,\n \"id\": props.id || `checkbox-${uid}`,\n \"focused\": isFocused.value,\n \"style\": props.style\n }), {\n ...slots,\n default: ({\n id,\n messagesId,\n isDisabled,\n isReadonly,\n isValid\n }) => createVNode(VCheckboxBtn, mergeProps(checkboxProps, {\n \"id\": id.value,\n \"aria-describedby\": messagesId.value,\n \"disabled\": isDisabled.value,\n \"readonly\": isReadonly.value\n }, controlAttrs, {\n \"error\": isValid.value === false,\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": ($event) => model.value = $event,\n \"onFocus\": focus,\n \"onBlur\": blur\n }), slots)\n });\n });\n return forwardRefs({}, inputRef);\n }\n});\nexport {\n VCheckbox,\n makeVCheckboxProps\n};\n//# sourceMappingURL=VCheckbox.mjs.map\n","import { b as inject, t as toRef } from \"../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { useRtl } from \"./locale.mjs\";\nimport { mergeDeep, clamp, refElement } from \"../util/helpers.mjs\";\nimport { consoleWarn } from \"../util/console.mjs\";\nimport { easingPatterns } from \"../util/easing.mjs\";\nconst GoToSymbol = Symbol.for(\"vuetify:goto\");\nfunction genDefaults() {\n return {\n container: void 0,\n duration: 300,\n layout: false,\n offset: 0,\n easing: \"easeInOutCubic\",\n patterns: easingPatterns\n };\n}\nfunction getContainer(el) {\n return getTarget(el) ?? (document.scrollingElement || document.body);\n}\nfunction getTarget(el) {\n return typeof el === \"string\" ? document.querySelector(el) : refElement(el);\n}\nfunction getOffset(target, horizontal, rtl) {\n if (typeof target === \"number\") return horizontal && rtl ? -target : target;\n let el = getTarget(target);\n let totalOffset = 0;\n while (el) {\n totalOffset += horizontal ? el.offsetLeft : el.offsetTop;\n el = el.offsetParent;\n }\n return totalOffset;\n}\nfunction createGoTo(options, locale) {\n return {\n rtl: locale.isRtl,\n options: mergeDeep(genDefaults(), options)\n };\n}\nasync function scrollTo(_target, _options, horizontal, goTo) {\n const property = horizontal ? \"scrollLeft\" : \"scrollTop\";\n const options = mergeDeep((goTo == null ? void 0 : goTo.options) ?? genDefaults(), _options);\n const rtl = goTo == null ? void 0 : goTo.rtl.value;\n const target = (typeof _target === \"number\" ? _target : getTarget(_target)) ?? 0;\n const container = options.container === \"parent\" && target instanceof HTMLElement ? target.parentElement : getContainer(options.container);\n const ease = typeof options.easing === \"function\" ? options.easing : options.patterns[options.easing];\n if (!ease)\n throw new TypeError(`Easing function \"${options.easing}\" not found.`);\n let targetLocation;\n if (typeof target === \"number\") {\n targetLocation = getOffset(target, horizontal, rtl);\n } else {\n targetLocation = getOffset(target, horizontal, rtl) - getOffset(container, horizontal, rtl);\n if (options.layout) {\n const styles = window.getComputedStyle(target);\n const layoutOffset = styles.getPropertyValue(\"--v-layout-top\");\n if (layoutOffset) targetLocation -= parseInt(layoutOffset, 10);\n }\n }\n targetLocation += options.offset;\n targetLocation = clampTarget(container, targetLocation, !!rtl, !!horizontal);\n const startLocation = container[property] ?? 0;\n if (targetLocation === startLocation) return Promise.resolve(targetLocation);\n const startTime = performance.now();\n return new Promise(\n (resolve) => requestAnimationFrame(function step(currentTime) {\n const timeElapsed = currentTime - startTime;\n const progress = timeElapsed / options.duration;\n const location = Math.floor(\n startLocation + (targetLocation - startLocation) * ease(clamp(progress, 0, 1))\n );\n container[property] = location;\n if (progress >= 1 && Math.abs(location - container[property]) < 10) {\n return resolve(targetLocation);\n } else if (progress > 2) {\n consoleWarn(\"Scroll target is not reachable\");\n return resolve(container[property]);\n }\n requestAnimationFrame(step);\n })\n );\n}\nfunction useGoTo(_options = {}) {\n const goToInstance = inject(GoToSymbol);\n const { isRtl } = useRtl();\n if (!goToInstance)\n throw new Error(\"[Vuetify] Could not find injected goto instance\");\n const goTo = {\n ...goToInstance,\n // can be set via VLocaleProvider\n rtl: toRef(() => goToInstance.rtl.value || isRtl.value)\n };\n async function go(target, options) {\n return scrollTo(target, mergeDeep(_options, options), false, goTo);\n }\n go.horizontal = async (target, options) => {\n return scrollTo(target, mergeDeep(_options, options), true, goTo);\n };\n return go;\n}\nfunction clampTarget(container, value, rtl, horizontal) {\n const { scrollWidth, scrollHeight } = container;\n const [containerWidth, containerHeight] = container === document.scrollingElement ? [window.innerWidth, window.innerHeight] : [container.offsetWidth, container.offsetHeight];\n let min;\n let max;\n if (horizontal) {\n if (rtl) {\n min = -(scrollWidth - containerWidth);\n max = 0;\n } else {\n min = 0;\n max = scrollWidth - containerWidth;\n }\n } else {\n min = 0;\n max = scrollHeight + -containerHeight;\n }\n return clamp(value, min, max);\n}\nexport {\n GoToSymbol,\n createGoTo,\n scrollTo,\n useGoTo\n};\n//# sourceMappingURL=goto.mjs.map\n","function calculateUpdatedTarget({\n selectedElement,\n containerElement,\n isRtl,\n isHorizontal\n}) {\n const containerSize = getOffsetSize(isHorizontal, containerElement);\n const scrollPosition = getScrollPosition(\n isHorizontal,\n isRtl,\n containerElement\n );\n const childrenSize = getOffsetSize(isHorizontal, selectedElement);\n const childrenStartPosition = getOffsetPosition(\n isHorizontal,\n selectedElement\n );\n const additionalOffset = childrenSize * 0.4;\n if (scrollPosition > childrenStartPosition) {\n return childrenStartPosition - additionalOffset;\n } else if (scrollPosition + containerSize < childrenStartPosition + childrenSize) {\n return childrenStartPosition - containerSize + childrenSize + additionalOffset;\n }\n return scrollPosition;\n}\nfunction calculateCenteredTarget({\n selectedElement,\n containerElement,\n isHorizontal\n}) {\n const containerOffsetSize = getOffsetSize(isHorizontal, containerElement);\n const childrenOffsetPosition = getOffsetPosition(\n isHorizontal,\n selectedElement\n );\n const childrenOffsetSize = getOffsetSize(isHorizontal, selectedElement);\n return childrenOffsetPosition - containerOffsetSize / 2 + childrenOffsetSize / 2;\n}\nfunction getScrollSize(isHorizontal, element) {\n const key = isHorizontal ? \"scrollWidth\" : \"scrollHeight\";\n return (element == null ? void 0 : element[key]) || 0;\n}\nfunction getClientSize(isHorizontal, element) {\n const key = isHorizontal ? \"clientWidth\" : \"clientHeight\";\n return (element == null ? void 0 : element[key]) || 0;\n}\nfunction getScrollPosition(isHorizontal, rtl, element) {\n if (!element) {\n return 0;\n }\n const { scrollLeft, offsetWidth, scrollWidth } = element;\n if (isHorizontal) {\n return rtl ? scrollWidth - offsetWidth + scrollLeft : scrollLeft;\n }\n return element.scrollTop;\n}\nfunction getOffsetSize(isHorizontal, element) {\n const key = isHorizontal ? \"offsetWidth\" : \"offsetHeight\";\n return (element == null ? void 0 : element[key]) || 0;\n}\nfunction getOffsetPosition(isHorizontal, element) {\n const key = isHorizontal ? \"offsetLeft\" : \"offsetTop\";\n return (element == null ? void 0 : element[key]) || 0;\n}\nexport {\n calculateCenteredTarget,\n calculateUpdatedTarget,\n getClientSize,\n getOffsetPosition,\n getOffsetSize,\n getScrollPosition,\n getScrollSize\n};\n//# sourceMappingURL=helpers.mjs.map\n","import { s as shallowRef, d as computed, n as watch, q as createVNode } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { VFadeTransition } from \"../transitions.mjs\";\nimport { VIcon } from \"../VIcon/VIcon.mjs\";\nimport { I as IconValue } from \"../../mdi-CVSg0Nll.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDisplayProps, useDisplay } from \"../../composables/display.mjs\";\nimport { useGoTo } from \"../../composables/goto.mjs\";\nimport { makeGroupProps, useGroup } from \"../../composables/group.mjs\";\nimport { useRtl } from \"../../composables/locale.mjs\";\nimport { useResizeObserver } from \"../../composables/resizeObserver.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { calculateCenteredTarget, calculateUpdatedTarget, getOffsetSize, getScrollPosition, getScrollSize, getClientSize } from \"./helpers.mjs\";\nimport { focusableChildren } from \"../../util/helpers.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { IN_BROWSER } from \"../../util/globals.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nconst VSlideGroupSymbol = Symbol.for(\"vuetify:v-slide-group\");\nconst makeVSlideGroupProps = propsFactory({\n centerActive: Boolean,\n contentClass: null,\n direction: {\n type: String,\n default: \"horizontal\"\n },\n symbol: {\n type: null,\n default: VSlideGroupSymbol\n },\n nextIcon: {\n type: IconValue,\n default: \"$next\"\n },\n prevIcon: {\n type: IconValue,\n default: \"$prev\"\n },\n showArrows: {\n type: [Boolean, String],\n validator: (v) => typeof v === \"boolean\" || [\"always\", \"desktop\", \"mobile\"].includes(v)\n },\n ...makeComponentProps(),\n ...makeDisplayProps({\n mobile: null\n }),\n ...makeTagProps(),\n ...makeGroupProps({\n selectedClass: \"v-slide-group-item--active\"\n })\n}, \"VSlideGroup\");\nconst VSlideGroup = genericComponent()({\n name: \"VSlideGroup\",\n props: makeVSlideGroupProps(),\n emits: {\n \"update:modelValue\": (value) => true\n },\n setup(props, {\n slots\n }) {\n const {\n isRtl\n } = useRtl();\n const {\n displayClasses,\n mobile\n } = useDisplay(props);\n const group = useGroup(props, props.symbol);\n const isOverflowing = shallowRef(false);\n const scrollOffset = shallowRef(0);\n const containerSize = shallowRef(0);\n const contentSize = shallowRef(0);\n const isHorizontal = computed(() => props.direction === \"horizontal\");\n const {\n resizeRef: containerRef,\n contentRect: containerRect\n } = useResizeObserver();\n const {\n resizeRef: contentRef,\n contentRect\n } = useResizeObserver();\n const goTo = useGoTo();\n const goToOptions = computed(() => {\n return {\n container: containerRef.el,\n duration: 200,\n easing: \"easeOutQuart\"\n };\n });\n const firstSelectedIndex = computed(() => {\n if (!group.selected.value.length) return -1;\n return group.items.value.findIndex((item) => item.id === group.selected.value[0]);\n });\n const lastSelectedIndex = computed(() => {\n if (!group.selected.value.length) return -1;\n return group.items.value.findIndex((item) => item.id === group.selected.value[group.selected.value.length - 1]);\n });\n if (IN_BROWSER) {\n let frame = -1;\n watch(() => [group.selected.value, containerRect.value, contentRect.value, isHorizontal.value], () => {\n cancelAnimationFrame(frame);\n frame = requestAnimationFrame(() => {\n if (containerRect.value && contentRect.value) {\n const sizeProperty = isHorizontal.value ? \"width\" : \"height\";\n containerSize.value = containerRect.value[sizeProperty];\n contentSize.value = contentRect.value[sizeProperty];\n isOverflowing.value = containerSize.value + 1 < contentSize.value;\n }\n if (firstSelectedIndex.value >= 0 && contentRef.el) {\n const selectedElement = contentRef.el.children[lastSelectedIndex.value];\n scrollToChildren(selectedElement, props.centerActive);\n }\n });\n });\n }\n const isFocused = shallowRef(false);\n function scrollToChildren(children, center) {\n let target = 0;\n if (center) {\n target = calculateCenteredTarget({\n containerElement: containerRef.el,\n isHorizontal: isHorizontal.value,\n selectedElement: children\n });\n } else {\n target = calculateUpdatedTarget({\n containerElement: containerRef.el,\n isHorizontal: isHorizontal.value,\n isRtl: isRtl.value,\n selectedElement: children\n });\n }\n scrollToPosition(target);\n }\n function scrollToPosition(newPosition) {\n if (!IN_BROWSER || !containerRef.el) return;\n const offsetSize = getOffsetSize(isHorizontal.value, containerRef.el);\n const scrollPosition = getScrollPosition(isHorizontal.value, isRtl.value, containerRef.el);\n const scrollSize = getScrollSize(isHorizontal.value, containerRef.el);\n if (scrollSize <= offsetSize || // Prevent scrolling by only a couple of pixels, which doesn't look smooth\n Math.abs(newPosition - scrollPosition) < 16) return;\n if (isHorizontal.value && isRtl.value && containerRef.el) {\n const {\n scrollWidth,\n offsetWidth: containerWidth\n } = containerRef.el;\n newPosition = scrollWidth - containerWidth - newPosition;\n }\n if (isHorizontal.value) {\n goTo.horizontal(newPosition, goToOptions.value);\n } else {\n goTo(newPosition, goToOptions.value);\n }\n }\n function onScroll(e) {\n const {\n scrollTop,\n scrollLeft\n } = e.target;\n scrollOffset.value = isHorizontal.value ? scrollLeft : scrollTop;\n }\n function onFocusin(e) {\n isFocused.value = true;\n if (!isOverflowing.value || !contentRef.el) return;\n for (const el of e.composedPath()) {\n for (const item of contentRef.el.children) {\n if (item === el) {\n scrollToChildren(item);\n return;\n }\n }\n }\n }\n function onFocusout(e) {\n isFocused.value = false;\n }\n let ignoreFocusEvent = false;\n function onFocus(e) {\n var _a;\n if (!ignoreFocusEvent && !isFocused.value && !(e.relatedTarget && ((_a = contentRef.el) == null ? void 0 : _a.contains(e.relatedTarget)))) focus();\n ignoreFocusEvent = false;\n }\n function onFocusAffixes() {\n ignoreFocusEvent = true;\n }\n function onKeydown(e) {\n if (!contentRef.el) return;\n function toFocus(location) {\n e.preventDefault();\n focus(location);\n }\n if (isHorizontal.value) {\n if (e.key === \"ArrowRight\") {\n toFocus(isRtl.value ? \"prev\" : \"next\");\n } else if (e.key === \"ArrowLeft\") {\n toFocus(isRtl.value ? \"next\" : \"prev\");\n }\n } else {\n if (e.key === \"ArrowDown\") {\n toFocus(\"next\");\n } else if (e.key === \"ArrowUp\") {\n toFocus(\"prev\");\n }\n }\n if (e.key === \"Home\") {\n toFocus(\"first\");\n } else if (e.key === \"End\") {\n toFocus(\"last\");\n }\n }\n function getSiblingElement(el, location) {\n if (!el) return void 0;\n let sibling = el;\n do {\n sibling = sibling == null ? void 0 : sibling[location === \"next\" ? \"nextElementSibling\" : \"previousElementSibling\"];\n } while (sibling == null ? void 0 : sibling.hasAttribute(\"disabled\"));\n return sibling;\n }\n function focus(location) {\n if (!contentRef.el) return;\n let el;\n if (!location) {\n const focusable = focusableChildren(contentRef.el);\n el = focusable[0];\n } else if (location === \"next\") {\n el = getSiblingElement(contentRef.el.querySelector(\":focus\"), location);\n if (!el) return focus(\"first\");\n } else if (location === \"prev\") {\n el = getSiblingElement(contentRef.el.querySelector(\":focus\"), location);\n if (!el) return focus(\"last\");\n } else if (location === \"first\") {\n el = contentRef.el.firstElementChild;\n if (el == null ? void 0 : el.hasAttribute(\"disabled\")) el = getSiblingElement(el, \"next\");\n } else if (location === \"last\") {\n el = contentRef.el.lastElementChild;\n if (el == null ? void 0 : el.hasAttribute(\"disabled\")) el = getSiblingElement(el, \"prev\");\n }\n if (el) {\n el.focus({\n preventScroll: true\n });\n }\n }\n function scrollTo(location) {\n const direction = isHorizontal.value && isRtl.value ? -1 : 1;\n const offsetStep = (location === \"prev\" ? -direction : direction) * containerSize.value;\n let newPosition = scrollOffset.value + offsetStep;\n if (isHorizontal.value && isRtl.value && containerRef.el) {\n const {\n scrollWidth,\n offsetWidth: containerWidth\n } = containerRef.el;\n newPosition += scrollWidth - containerWidth;\n }\n scrollToPosition(newPosition);\n }\n const slotProps = computed(() => ({\n next: group.next,\n prev: group.prev,\n select: group.select,\n isSelected: group.isSelected\n }));\n const hasOverflowOrScroll = computed(() => isOverflowing.value || Math.abs(scrollOffset.value) > 0);\n const hasAffixes = computed(() => {\n switch (props.showArrows) {\n // Always show arrows on desktop & mobile\n case \"always\":\n return true;\n // Always show arrows on desktop\n case \"desktop\":\n return !mobile.value;\n // Show arrows on mobile when overflowing.\n // This matches the default 2.2 behavior\n case true:\n return hasOverflowOrScroll.value;\n // Always show on mobile\n case \"mobile\":\n return mobile.value || hasOverflowOrScroll.value;\n // https://material.io/components/tabs#scrollable-tabs\n // Always show arrows when\n // overflowed on desktop\n default:\n return !mobile.value && hasOverflowOrScroll.value;\n }\n });\n const hasPrev = computed(() => {\n return Math.abs(scrollOffset.value) > 1;\n });\n const hasNext = computed(() => {\n if (!containerRef.value || !hasOverflowOrScroll.value) return false;\n const scrollSize = getScrollSize(isHorizontal.value, containerRef.el);\n const clientSize = getClientSize(isHorizontal.value, containerRef.el);\n const scrollSizeMax = scrollSize - clientSize;\n return scrollSizeMax - Math.abs(scrollOffset.value) > 1;\n });\n useRender(() => createVNode(props.tag, {\n \"class\": [\"v-slide-group\", {\n \"v-slide-group--vertical\": !isHorizontal.value,\n \"v-slide-group--has-affixes\": hasAffixes.value,\n \"v-slide-group--is-overflowing\": isOverflowing.value\n }, displayClasses.value, props.class],\n \"style\": props.style,\n \"tabindex\": isFocused.value || group.selected.value.length ? -1 : 0,\n \"onFocus\": onFocus\n }, {\n default: () => {\n var _a, _b, _c;\n return [hasAffixes.value && createVNode(\"div\", {\n \"key\": \"prev\",\n \"class\": [\"v-slide-group__prev\", {\n \"v-slide-group__prev--disabled\": !hasPrev.value\n }],\n \"onMousedown\": onFocusAffixes,\n \"onClick\": () => hasPrev.value && scrollTo(\"prev\")\n }, [((_a = slots.prev) == null ? void 0 : _a.call(slots, slotProps.value)) ?? createVNode(VFadeTransition, null, {\n default: () => [createVNode(VIcon, {\n \"icon\": isRtl.value ? props.nextIcon : props.prevIcon\n }, null)]\n })]), createVNode(\"div\", {\n \"key\": \"container\",\n \"ref\": containerRef,\n \"class\": [\"v-slide-group__container\", props.contentClass],\n \"onScroll\": onScroll\n }, [createVNode(\"div\", {\n \"ref\": contentRef,\n \"class\": \"v-slide-group__content\",\n \"onFocusin\": onFocusin,\n \"onFocusout\": onFocusout,\n \"onKeydown\": onKeydown\n }, [(_b = slots.default) == null ? void 0 : _b.call(slots, slotProps.value)])]), hasAffixes.value && createVNode(\"div\", {\n \"key\": \"next\",\n \"class\": [\"v-slide-group__next\", {\n \"v-slide-group__next--disabled\": !hasNext.value\n }],\n \"onMousedown\": onFocusAffixes,\n \"onClick\": () => hasNext.value && scrollTo(\"next\")\n }, [((_c = slots.next) == null ? void 0 : _c.call(slots, slotProps.value)) ?? createVNode(VFadeTransition, null, {\n default: () => [createVNode(VIcon, {\n \"icon\": isRtl.value ? props.prevIcon : props.nextIcon\n }, null)]\n })])];\n }\n }));\n return {\n selected: group.selected,\n scrollTo,\n scrollOffset,\n focus,\n hasPrev,\n hasNext\n };\n }\n});\nexport {\n VSlideGroup,\n VSlideGroupSymbol,\n makeVSlideGroupProps\n};\n//# sourceMappingURL=VSlideGroup.mjs.map\n","import { t as toRef, q as createVNode, v as mergeProps } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { makeVSlideGroupProps, VSlideGroup } from \"../VSlideGroup/VSlideGroup.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { provideDefaults } from \"../../composables/defaults.mjs\";\nimport { makeGroupProps, useGroup } from \"../../composables/group.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\";\nimport { makeVariantProps } from \"../../composables/variant.mjs\";\nimport { deepEqual } from \"../../util/helpers.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nconst VChipGroupSymbol = Symbol.for(\"vuetify:v-chip-group\");\nconst makeVChipGroupProps = propsFactory({\n baseColor: String,\n column: Boolean,\n filter: Boolean,\n valueComparator: {\n type: Function,\n default: deepEqual\n },\n ...makeVSlideGroupProps(),\n ...makeComponentProps(),\n ...makeGroupProps({\n selectedClass: \"v-chip--selected\"\n }),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({\n variant: \"tonal\"\n })\n}, \"VChipGroup\");\nconst VChipGroup = genericComponent()({\n name: \"VChipGroup\",\n props: makeVChipGroupProps(),\n emits: {\n \"update:modelValue\": (value) => true\n },\n setup(props, {\n slots\n }) {\n const {\n themeClasses\n } = provideTheme(props);\n const {\n isSelected,\n select,\n next,\n prev,\n selected\n } = useGroup(props, VChipGroupSymbol);\n provideDefaults({\n VChip: {\n baseColor: toRef(() => props.baseColor),\n color: toRef(() => props.color),\n disabled: toRef(() => props.disabled),\n filter: toRef(() => props.filter),\n variant: toRef(() => props.variant)\n }\n });\n useRender(() => {\n const slideGroupProps = VSlideGroup.filterProps(props);\n return createVNode(VSlideGroup, mergeProps(slideGroupProps, {\n \"class\": [\"v-chip-group\", {\n \"v-chip-group--column\": props.column\n }, themeClasses.value, props.class],\n \"style\": props.style\n }), {\n default: () => {\n var _a;\n return [(_a = slots.default) == null ? void 0 : _a.call(slots, {\n isSelected,\n select,\n next,\n prev,\n selected: selected.value\n })];\n }\n });\n });\n return {};\n }\n});\nexport {\n VChipGroup,\n VChipGroupSymbol,\n makeVChipGroupProps\n};\n//# sourceMappingURL=VChipGroup.mjs.map\n","import { t as toRef, d as computed, y as withDirectives, z as resolveDirective, q as createVNode, F as Fragment, x as toDisplayString, v as mergeProps } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { VExpandXTransition } from \"../transitions.mjs\";\nimport { VAvatar } from \"../VAvatar/VAvatar.mjs\";\nimport { VChipGroupSymbol } from \"../VChipGroup/VChipGroup.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/VDefaultsProvider.mjs\";\nimport { VIcon } from \"../VIcon/VIcon.mjs\";\nimport { I as IconValue } from \"../../mdi-CVSg0Nll.mjs\";\nimport { makeBorderProps, useBorder } from \"../../composables/border.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDensityProps, useDensity } from \"../../composables/density.mjs\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.mjs\";\nimport { makeGroupItemProps, useGroupItem } from \"../../composables/group.mjs\";\nimport { useLocale } from \"../../composables/locale.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { makeRouterProps, useLink } from \"../../composables/router.mjs\";\nimport { makeSizeProps, useSize } from \"../../composables/size.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\";\nimport { makeVariantProps, useVariant, genOverlays } from \"../../composables/variant.mjs\";\nimport { Ripple } from \"../../directives/ripple.mjs\";\nimport { EventProp } from \"../../util/helpers.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { v as vShow } from \"../../runtime-dom.esm-bundler-31hBwcnO.mjs\";\nconst makeVChipProps = propsFactory({\n activeClass: String,\n appendAvatar: String,\n appendIcon: IconValue,\n baseColor: String,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: \"$delete\"\n },\n closeLabel: {\n type: String,\n default: \"$vuetify.close\"\n },\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: IconValue,\n default: \"$complete\"\n },\n label: Boolean,\n link: {\n type: Boolean,\n default: void 0\n },\n pill: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object],\n default: true\n },\n text: {\n type: [String, Number, Boolean],\n default: void 0\n },\n modelValue: {\n type: Boolean,\n default: true\n },\n onClick: EventProp(),\n onClickOnce: EventProp(),\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({\n tag: \"span\"\n }),\n ...makeThemeProps(),\n ...makeVariantProps({\n variant: \"tonal\"\n })\n}, \"VChip\");\nconst VChip = genericComponent()({\n name: \"VChip\",\n directives: {\n vRipple: Ripple\n },\n props: makeVChipProps(),\n emits: {\n \"click:close\": (e) => true,\n \"update:modelValue\": (value) => true,\n \"group:selected\": (val) => true,\n click: (e) => true\n },\n setup(props, {\n attrs,\n emit,\n slots\n }) {\n const {\n t\n } = useLocale();\n const {\n borderClasses\n } = useBorder(props);\n const {\n densityClasses\n } = useDensity(props);\n const {\n elevationClasses\n } = useElevation(props);\n const {\n roundedClasses\n } = useRounded(props);\n const {\n sizeClasses\n } = useSize(props);\n const {\n themeClasses\n } = provideTheme(props);\n const isActive = useProxiedModel(props, \"modelValue\");\n const group = useGroupItem(props, VChipGroupSymbol, false);\n const link = useLink(props, attrs);\n const isLink = toRef(() => props.link !== false && link.isLink.value);\n const isClickable = computed(() => !props.disabled && props.link !== false && (!!group || props.link || link.isClickable.value));\n const closeProps = toRef(() => ({\n \"aria-label\": t(props.closeLabel),\n disabled: props.disabled,\n onClick(e) {\n e.preventDefault();\n e.stopPropagation();\n isActive.value = false;\n emit(\"click:close\", e);\n }\n }));\n const {\n colorClasses,\n colorStyles,\n variantClasses\n } = useVariant(() => {\n const showColor = !group || group.isSelected.value;\n return {\n color: showColor ? props.color ?? props.baseColor : props.baseColor,\n variant: props.variant\n };\n });\n function onClick(e) {\n var _a;\n emit(\"click\", e);\n if (!isClickable.value) return;\n (_a = link.navigate) == null ? void 0 : _a.call(link, e);\n group == null ? void 0 : group.toggle();\n }\n function onKeyDown(e) {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n onClick(e);\n }\n }\n return () => {\n var _a;\n const Tag = link.isLink.value ? \"a\" : props.tag;\n const hasAppendMedia = !!(props.appendIcon || props.appendAvatar);\n const hasAppend = !!(hasAppendMedia || slots.append);\n const hasClose = !!(slots.close || props.closable);\n const hasFilter = !!(slots.filter || props.filter) && group;\n const hasPrependMedia = !!(props.prependIcon || props.prependAvatar);\n const hasPrepend = !!(hasPrependMedia || slots.prepend);\n return isActive.value && withDirectives(createVNode(Tag, mergeProps({\n \"class\": [\"v-chip\", {\n \"v-chip--disabled\": props.disabled,\n \"v-chip--label\": props.label,\n \"v-chip--link\": isClickable.value,\n \"v-chip--filter\": hasFilter,\n \"v-chip--pill\": props.pill,\n [`${props.activeClass}`]: props.activeClass && ((_a = link.isActive) == null ? void 0 : _a.value)\n }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group == null ? void 0 : group.selectedClass.value, props.class],\n \"style\": [colorStyles.value, props.style],\n \"disabled\": props.disabled || void 0,\n \"draggable\": props.draggable,\n \"tabindex\": isClickable.value ? 0 : void 0,\n \"onClick\": onClick,\n \"onKeydown\": isClickable.value && !isLink.value && onKeyDown\n }, link.linkProps), {\n default: () => {\n var _a2;\n return [genOverlays(isClickable.value, \"v-chip\"), hasFilter && createVNode(VExpandXTransition, {\n \"key\": \"filter\"\n }, {\n default: () => [withDirectives(createVNode(\"div\", {\n \"class\": \"v-chip__filter\"\n }, [!slots.filter ? createVNode(VIcon, {\n \"key\": \"filter-icon\",\n \"icon\": props.filterIcon\n }, null) : createVNode(VDefaultsProvider, {\n \"key\": \"filter-defaults\",\n \"disabled\": !props.filterIcon,\n \"defaults\": {\n VIcon: {\n icon: props.filterIcon\n }\n }\n }, slots.filter)]), [[vShow, group.isSelected.value]])]\n }), hasPrepend && createVNode(\"div\", {\n \"key\": \"prepend\",\n \"class\": \"v-chip__prepend\"\n }, [!slots.prepend ? createVNode(Fragment, null, [props.prependIcon && createVNode(VIcon, {\n \"key\": \"prepend-icon\",\n \"icon\": props.prependIcon,\n \"start\": true\n }, null), props.prependAvatar && createVNode(VAvatar, {\n \"key\": \"prepend-avatar\",\n \"image\": props.prependAvatar,\n \"start\": true\n }, null)]) : createVNode(VDefaultsProvider, {\n \"key\": \"prepend-defaults\",\n \"disabled\": !hasPrependMedia,\n \"defaults\": {\n VAvatar: {\n image: props.prependAvatar,\n start: true\n },\n VIcon: {\n icon: props.prependIcon,\n start: true\n }\n }\n }, slots.prepend)]), createVNode(\"div\", {\n \"class\": \"v-chip__content\",\n \"data-no-activator\": \"\"\n }, [((_a2 = slots.default) == null ? void 0 : _a2.call(slots, {\n isSelected: group == null ? void 0 : group.isSelected.value,\n selectedClass: group == null ? void 0 : group.selectedClass.value,\n select: group == null ? void 0 : group.select,\n toggle: group == null ? void 0 : group.toggle,\n value: group == null ? void 0 : group.value.value,\n disabled: props.disabled\n })) ?? toDisplayString(props.text)]), hasAppend && createVNode(\"div\", {\n \"key\": \"append\",\n \"class\": \"v-chip__append\"\n }, [!slots.append ? createVNode(Fragment, null, [props.appendIcon && createVNode(VIcon, {\n \"key\": \"append-icon\",\n \"end\": true,\n \"icon\": props.appendIcon\n }, null), props.appendAvatar && createVNode(VAvatar, {\n \"key\": \"append-avatar\",\n \"end\": true,\n \"image\": props.appendAvatar\n }, null)]) : createVNode(VDefaultsProvider, {\n \"key\": \"append-defaults\",\n \"disabled\": !hasAppendMedia,\n \"defaults\": {\n VAvatar: {\n end: true,\n image: props.appendAvatar\n },\n VIcon: {\n end: true,\n icon: props.appendIcon\n }\n }\n }, slots.append)]), hasClose && createVNode(\"button\", mergeProps({\n \"key\": \"close\",\n \"class\": \"v-chip__close\",\n \"type\": \"button\",\n \"data-testid\": \"close-chip\"\n }, closeProps.value), [!slots.close ? createVNode(VIcon, {\n \"key\": \"close-icon\",\n \"icon\": props.closeIcon,\n \"size\": \"x-small\"\n }, null) : createVNode(VDefaultsProvider, {\n \"key\": \"close-defaults\",\n \"defaults\": {\n VIcon: {\n icon: props.closeIcon,\n size: \"x-small\"\n }\n }\n }, slots.close)])];\n }\n }), [[resolveDirective(\"ripple\"), isClickable.value && props.ripple, null]]);\n };\n }\n});\nexport {\n VChip,\n makeVChipProps\n};\n//# sourceMappingURL=VChip.mjs.map\n","import { d as computed, q as createVNode } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { useTextColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\";\nimport { convertToUnit } from \"../../util/helpers.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nconst makeVDividerProps = propsFactory({\n color: String,\n inset: Boolean,\n length: [Number, String],\n opacity: [Number, String],\n thickness: [Number, String],\n vertical: Boolean,\n ...makeComponentProps(),\n ...makeThemeProps()\n}, \"VDivider\");\nconst VDivider = genericComponent()({\n name: \"VDivider\",\n props: makeVDividerProps(),\n setup(props, {\n attrs,\n slots\n }) {\n const {\n themeClasses\n } = provideTheme(props);\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(() => props.color);\n const dividerStyles = computed(() => {\n const styles = {};\n if (props.length) {\n styles[props.vertical ? \"height\" : \"width\"] = convertToUnit(props.length);\n }\n if (props.thickness) {\n styles[props.vertical ? \"borderRightWidth\" : \"borderTopWidth\"] = convertToUnit(props.thickness);\n }\n return styles;\n });\n useRender(() => {\n const divider = createVNode(\"hr\", {\n \"class\": [{\n \"v-divider\": true,\n \"v-divider--inset\": props.inset,\n \"v-divider--vertical\": props.vertical\n }, themeClasses.value, textColorClasses.value, props.class],\n \"style\": [dividerStyles.value, textColorStyles.value, {\n \"--v-border-opacity\": props.opacity\n }, props.style],\n \"aria-orientation\": !attrs.role || attrs.role === \"separator\" ? props.vertical ? \"vertical\" : \"horizontal\" : void 0,\n \"role\": `${attrs.role || \"separator\"}`\n }, null);\n if (!slots.default) return divider;\n return createVNode(\"div\", {\n \"class\": [\"v-divider__wrapper\", {\n \"v-divider__wrapper--vertical\": props.vertical,\n \"v-divider__wrapper--inset\": props.inset\n }]\n }, [divider, createVNode(\"div\", {\n \"class\": \"v-divider__content\"\n }, [slots.default()]), divider]);\n });\n return {};\n }\n});\nexport {\n VDivider,\n makeVDividerProps\n};\n//# sourceMappingURL=VDivider.mjs.map\n","import { s as shallowRef, g as onMounted, t as toRef, H as readonly } from \"../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nfunction useSsrBoot() {\n const isBooted = shallowRef(false);\n onMounted(() => {\n window.requestAnimationFrame(() => {\n isBooted.value = true;\n });\n });\n const ssrBootStyles = toRef(\n () => !isBooted.value ? {\n transition: \"none !important\"\n } : void 0\n );\n return { ssrBootStyles, isBooted: readonly(isBooted) };\n}\nexport {\n useSsrBoot\n};\n//# sourceMappingURL=ssrBoot.mjs.map\n","import { d as computed, q as createVNode, y as withDirectives } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { VExpandTransition } from \"../transitions.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/VDefaultsProvider.mjs\";\nimport { useList } from \"./list.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { I as IconValue } from \"../../mdi-CVSg0Nll.mjs\";\nimport { useNestedItem, useNestedGroupActivator } from \"../../composables/nested/nested.mjs\";\nimport { useSsrBoot } from \"../../composables/ssrBoot.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { MaybeTransition } from \"../../composables/transition.mjs\";\nimport \"../../util/helpers.mjs\";\nimport { genericComponent, defineComponent } from \"../../util/defineComponent.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nimport { v as vShow } from \"../../runtime-dom.esm-bundler-31hBwcnO.mjs\";\nconst VListGroupActivator = /* @__PURE__ */ defineComponent({\n name: \"VListGroupActivator\",\n setup(_, {\n slots\n }) {\n useNestedGroupActivator();\n return () => {\n var _a;\n return (_a = slots.default) == null ? void 0 : _a.call(slots);\n };\n }\n});\nconst makeVListGroupProps = propsFactory({\n /* @deprecated */\n activeColor: String,\n baseColor: String,\n color: String,\n collapseIcon: {\n type: IconValue,\n default: \"$collapse\"\n },\n disabled: Boolean,\n expandIcon: {\n type: IconValue,\n default: \"$expand\"\n },\n rawId: [String, Number],\n prependIcon: IconValue,\n appendIcon: IconValue,\n fluid: Boolean,\n subgroup: Boolean,\n title: String,\n value: null,\n ...makeComponentProps(),\n ...makeTagProps()\n}, \"VListGroup\");\nconst VListGroup = genericComponent()({\n name: \"VListGroup\",\n props: makeVListGroupProps(),\n setup(props, {\n slots\n }) {\n const {\n isOpen,\n open,\n id: _id\n } = useNestedItem(() => props.value, () => props.disabled, true);\n const id = computed(() => `v-list-group--id-${String(props.rawId ?? _id.value)}`);\n const list = useList();\n const {\n isBooted\n } = useSsrBoot();\n function onClick(e) {\n var _a;\n if ([\"INPUT\", \"TEXTAREA\"].includes((_a = e.target) == null ? void 0 : _a.tagName)) return;\n open(!isOpen.value, e);\n }\n const activatorProps = computed(() => ({\n onClick,\n class: \"v-list-group__header\",\n id: id.value\n }));\n const toggleIcon = computed(() => isOpen.value ? props.collapseIcon : props.expandIcon);\n const activatorDefaults = computed(() => ({\n VListItem: {\n activeColor: props.activeColor,\n baseColor: props.baseColor,\n color: props.color,\n prependIcon: props.prependIcon || props.subgroup && toggleIcon.value,\n appendIcon: props.appendIcon || !props.subgroup && toggleIcon.value,\n title: props.title,\n value: props.value\n }\n }));\n useRender(() => createVNode(props.tag, {\n \"class\": [\"v-list-group\", {\n \"v-list-group--prepend\": list == null ? void 0 : list.hasPrepend.value,\n \"v-list-group--fluid\": props.fluid,\n \"v-list-group--subgroup\": props.subgroup,\n \"v-list-group--open\": isOpen.value\n }, props.class],\n \"style\": props.style\n }, {\n default: () => [slots.activator && createVNode(VDefaultsProvider, {\n \"defaults\": activatorDefaults.value\n }, {\n default: () => [createVNode(VListGroupActivator, null, {\n default: () => [slots.activator({\n props: activatorProps.value,\n isOpen: isOpen.value\n })]\n })]\n }), createVNode(MaybeTransition, {\n \"transition\": {\n component: VExpandTransition\n },\n \"disabled\": !isBooted.value\n }, {\n default: () => {\n var _a;\n return [withDirectives(createVNode(\"div\", {\n \"class\": \"v-list-group__items\",\n \"role\": \"group\",\n \"aria-labelledby\": id.value\n }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]), [[vShow, isOpen.value]])];\n }\n })]\n }));\n return {\n isOpen\n };\n }\n});\nexport {\n VListGroup,\n makeVListGroupProps\n};\n//# sourceMappingURL=VListGroup.mjs.map\n","import { q as createVNode } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { useTextColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport \"../../util/helpers.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nconst makeVListSubheaderProps = propsFactory({\n color: String,\n inset: Boolean,\n sticky: Boolean,\n title: String,\n ...makeComponentProps(),\n ...makeTagProps()\n}, \"VListSubheader\");\nconst VListSubheader = genericComponent()({\n name: \"VListSubheader\",\n props: makeVListSubheaderProps(),\n setup(props, {\n slots\n }) {\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(() => props.color);\n useRender(() => {\n const hasText = !!(slots.default || props.title);\n return createVNode(props.tag, {\n \"class\": [\"v-list-subheader\", {\n \"v-list-subheader--inset\": props.inset,\n \"v-list-subheader--sticky\": props.sticky\n }, textColorClasses.value, props.class],\n \"style\": [{\n textColorStyles\n }, props.style]\n }, {\n default: () => {\n var _a;\n return [hasText && createVNode(\"div\", {\n \"class\": \"v-list-subheader__text\"\n }, [((_a = slots.default) == null ? void 0 : _a.call(slots)) ?? props.title])];\n }\n });\n });\n return {};\n }\n});\nexport {\n VListSubheader,\n makeVListSubheaderProps\n};\n//# sourceMappingURL=VListSubheader.mjs.map\n","import { q as createVNode, v as mergeProps } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { VListGroup } from \"./VListGroup.mjs\";\nimport { VListItem } from \"./VListItem.mjs\";\nimport { VListSubheader } from \"./VListSubheader.mjs\";\nimport { VDivider } from \"../VDivider/VDivider.mjs\";\nimport { createList } from \"./list.mjs\";\nimport \"../../util/helpers.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nconst makeVListChildrenProps = propsFactory({\n items: Array,\n returnObject: Boolean\n}, \"VListChildren\");\nconst VListChildren = genericComponent()({\n name: \"VListChildren\",\n props: makeVListChildrenProps(),\n setup(props, {\n slots\n }) {\n createList();\n return () => {\n var _a, _b;\n return ((_a = slots.default) == null ? void 0 : _a.call(slots)) ?? ((_b = props.items) == null ? void 0 : _b.map(({\n children,\n props: itemProps,\n type,\n raw: item\n }) => {\n var _a2, _b2;\n if (type === \"divider\") {\n return ((_a2 = slots.divider) == null ? void 0 : _a2.call(slots, {\n props: itemProps\n })) ?? createVNode(VDivider, itemProps, null);\n }\n if (type === \"subheader\") {\n return ((_b2 = slots.subheader) == null ? void 0 : _b2.call(slots, {\n props: itemProps\n })) ?? createVNode(VListSubheader, itemProps, null);\n }\n const slotsWithItem = {\n subtitle: slots.subtitle ? (slotProps) => {\n var _a3;\n return (_a3 = slots.subtitle) == null ? void 0 : _a3.call(slots, {\n ...slotProps,\n item\n });\n } : void 0,\n prepend: slots.prepend ? (slotProps) => {\n var _a3;\n return (_a3 = slots.prepend) == null ? void 0 : _a3.call(slots, {\n ...slotProps,\n item\n });\n } : void 0,\n append: slots.append ? (slotProps) => {\n var _a3;\n return (_a3 = slots.append) == null ? void 0 : _a3.call(slots, {\n ...slotProps,\n item\n });\n } : void 0,\n title: slots.title ? (slotProps) => {\n var _a3;\n return (_a3 = slots.title) == null ? void 0 : _a3.call(slots, {\n ...slotProps,\n item\n });\n } : void 0\n };\n const listGroupProps = VListGroup.filterProps(itemProps);\n return children ? createVNode(VListGroup, mergeProps(listGroupProps, {\n \"value\": props.returnObject ? item : itemProps == null ? void 0 : itemProps.value,\n \"rawId\": itemProps == null ? void 0 : itemProps.value\n }), {\n activator: ({\n props: activatorProps\n }) => {\n const listItemProps = mergeProps(itemProps, activatorProps, {\n value: props.returnObject ? item : itemProps.value\n });\n return slots.header ? slots.header({\n props: listItemProps\n }) : createVNode(VListItem, listItemProps, slotsWithItem);\n },\n default: () => createVNode(VListChildren, {\n \"items\": children,\n \"returnObject\": props.returnObject\n }, slots)\n }) : slots.item ? slots.item({\n props: itemProps\n }) : createVNode(VListItem, mergeProps(itemProps, {\n \"value\": props.returnObject ? item : itemProps.value\n }), slotsWithItem);\n }));\n };\n }\n});\nexport {\n VListChildren,\n makeVListChildrenProps\n};\n//# sourceMappingURL=VListChildren.mjs.map\n","import { d as computed, s as shallowRef, w as watchEffect } from \"../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { pick, deepEqual, getPropertyFromItem, omit, isPrimitive } from \"../util/helpers.mjs\";\nimport { propsFactory } from \"../util/propsFactory.mjs\";\nconst makeItemsProps = propsFactory(\n {\n items: {\n type: Array,\n default: () => []\n },\n itemTitle: {\n type: [String, Array, Function],\n default: \"title\"\n },\n itemValue: {\n type: [String, Array, Function],\n default: \"value\"\n },\n itemChildren: {\n type: [Boolean, String, Array, Function],\n default: \"children\"\n },\n itemProps: {\n type: [Boolean, String, Array, Function],\n default: \"props\"\n },\n itemType: {\n type: [Boolean, String, Array, Function],\n default: \"type\"\n },\n returnObject: Boolean,\n valueComparator: Function\n },\n \"list-items\"\n);\nconst itemTypes = /* @__PURE__ */ new Set([\"item\", \"divider\", \"subheader\"]);\nfunction transformItem(props, item) {\n const title = getPropertyFromItem(item, props.itemTitle, item);\n const value = getPropertyFromItem(item, props.itemValue, title);\n const children = getPropertyFromItem(item, props.itemChildren);\n const itemProps = props.itemProps === true ? typeof item === \"object\" && item != null && !Array.isArray(item) ? \"children\" in item ? omit(item, [\"children\"]) : item : void 0 : getPropertyFromItem(item, props.itemProps);\n let type = getPropertyFromItem(item, props.itemType, \"item\");\n if (!itemTypes.has(type)) {\n type = \"item\";\n }\n const _props = {\n title,\n value,\n ...itemProps\n };\n return {\n type,\n title: String(_props.title ?? \"\"),\n value: _props.value,\n props: _props,\n children: type === \"item\" && Array.isArray(children) ? transformItems(props, children) : void 0,\n raw: item\n };\n}\ntransformItem.neededProps = [\n \"itemTitle\",\n \"itemValue\",\n \"itemChildren\",\n \"itemProps\",\n \"itemType\"\n];\nfunction transformItems(props, items) {\n const _props = pick(props, transformItem.neededProps);\n const array = [];\n for (const item of items) {\n array.push(transformItem(_props, item));\n }\n return array;\n}\nfunction useItems(props) {\n const items = computed(() => transformItems(props, props.items));\n const hasNullItem = computed(\n () => items.value.some((item) => item.value === null)\n );\n const itemsMap = shallowRef(/* @__PURE__ */ new Map());\n const keylessItems = shallowRef([]);\n watchEffect(() => {\n const _items = items.value;\n const map = /* @__PURE__ */ new Map();\n const keyless = [];\n for (let i = 0; i < _items.length; i++) {\n const item = _items[i];\n if (isPrimitive(item.value) || item.value === null) {\n let values = map.get(item.value);\n if (!values) {\n values = [];\n map.set(item.value, values);\n }\n values.push(item);\n } else {\n keyless.push(item);\n }\n }\n itemsMap.value = map;\n keylessItems.value = keyless;\n });\n function transformIn(value) {\n const _items = itemsMap.value;\n const _allItems = items.value;\n const _keylessItems = keylessItems.value;\n const _hasNullItem = hasNullItem.value;\n const _returnObject = props.returnObject;\n const hasValueComparator = !!props.valueComparator;\n const valueComparator = props.valueComparator || deepEqual;\n const _props = pick(props, transformItem.neededProps);\n const returnValue = [];\n main: for (const v of value) {\n if (!_hasNullItem && v === null) continue;\n if (_returnObject && typeof v === \"string\") {\n returnValue.push(transformItem(_props, v));\n continue;\n }\n const fastItems = _items.get(v);\n if (hasValueComparator || !fastItems) {\n for (const item of hasValueComparator ? _allItems : _keylessItems) {\n if (valueComparator(v, item.value)) {\n returnValue.push(item);\n continue main;\n }\n }\n returnValue.push(transformItem(_props, v));\n continue;\n }\n returnValue.push(...fastItems);\n }\n return returnValue;\n }\n function transformOut(value) {\n return props.returnObject ? value.map(({ raw }) => raw) : value.map(({ value: value2 }) => value2);\n }\n return { items, transformIn, transformOut };\n}\nexport {\n makeItemsProps,\n transformItem,\n transformItems,\n useItems\n};\n//# sourceMappingURL=list-items.mjs.map\n","import { t as toRef, s as shallowRef, e as ref, q as createVNode, d as computed } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { VListChildren } from \"./VListChildren.mjs\";\nimport { createList } from \"./list.mjs\";\nimport { makeBorderProps, useBorder } from \"../../composables/border.mjs\";\nimport { useBackgroundColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { provideDefaults } from \"../../composables/defaults.mjs\";\nimport { makeDensityProps, useDensity } from \"../../composables/density.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.mjs\";\nimport { I as IconValue } from \"../../mdi-CVSg0Nll.mjs\";\nimport { makeItemsProps } from \"../../composables/list-items.mjs\";\nimport { makeNestedProps, useNested } from \"../../composables/nested/nested.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\";\nimport { makeVariantProps } from \"../../composables/variant.mjs\";\nimport { EventProp, focusChild, isPrimitive, getPropertyFromItem, omit } from \"../../util/helpers.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nconst itemTypes = /* @__PURE__ */ new Set([\"item\", \"divider\", \"subheader\"]);\nfunction transformItem(props, item) {\n const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle);\n const value = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemValue, void 0);\n const children = getPropertyFromItem(item, props.itemChildren);\n const itemProps = props.itemProps === true ? omit(item, [\"children\"]) : getPropertyFromItem(item, props.itemProps);\n let type = getPropertyFromItem(item, props.itemType, \"item\");\n if (!itemTypes.has(type)) {\n type = \"item\";\n }\n const _props = {\n title,\n value,\n ...itemProps\n };\n return {\n type,\n title: _props.title,\n value: _props.value,\n props: _props,\n children: type === \"item\" && children ? transformItems(props, children) : void 0,\n raw: item\n };\n}\nfunction transformItems(props, items) {\n const array = [];\n for (const item of items) {\n array.push(transformItem(props, item));\n }\n return array;\n}\nfunction useListItems(props) {\n const items = computed(() => transformItems(props, props.items));\n return {\n items\n };\n}\nconst makeVListProps = propsFactory({\n baseColor: String,\n /* @deprecated */\n activeColor: String,\n activeClass: String,\n bgColor: String,\n disabled: Boolean,\n filterable: Boolean,\n expandIcon: IconValue,\n collapseIcon: IconValue,\n lines: {\n type: [Boolean, String],\n default: \"one\"\n },\n slim: Boolean,\n nav: Boolean,\n \"onClick:open\": EventProp(),\n \"onClick:select\": EventProp(),\n \"onUpdate:opened\": EventProp(),\n ...makeNestedProps({\n selectStrategy: \"single-leaf\",\n openStrategy: \"list\"\n }),\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeItemsProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({\n variant: \"text\"\n })\n}, \"VList\");\nconst VList = genericComponent()({\n name: \"VList\",\n props: makeVListProps(),\n emits: {\n \"update:selected\": (value) => true,\n \"update:activated\": (value) => true,\n \"update:opened\": (value) => true,\n \"click:open\": (value) => true,\n \"click:activate\": (value) => true,\n \"click:select\": (value) => true\n },\n setup(props, {\n slots\n }) {\n const {\n items\n } = useListItems(props);\n const {\n themeClasses\n } = provideTheme(props);\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(() => props.bgColor);\n const {\n borderClasses\n } = useBorder(props);\n const {\n densityClasses\n } = useDensity(props);\n const {\n dimensionStyles\n } = useDimension(props);\n const {\n elevationClasses\n } = useElevation(props);\n const {\n roundedClasses\n } = useRounded(props);\n const {\n children,\n open,\n parents,\n select,\n getPath\n } = useNested(props);\n const lineClasses = toRef(() => props.lines ? `v-list--${props.lines}-line` : void 0);\n const activeColor = toRef(() => props.activeColor);\n const baseColor = toRef(() => props.baseColor);\n const color = toRef(() => props.color);\n createList({\n filterable: props.filterable\n });\n provideDefaults({\n VListGroup: {\n activeColor,\n baseColor,\n color,\n expandIcon: toRef(() => props.expandIcon),\n collapseIcon: toRef(() => props.collapseIcon)\n },\n VListItem: {\n activeClass: toRef(() => props.activeClass),\n activeColor,\n baseColor,\n color,\n density: toRef(() => props.density),\n disabled: toRef(() => props.disabled),\n lines: toRef(() => props.lines),\n nav: toRef(() => props.nav),\n slim: toRef(() => props.slim),\n variant: toRef(() => props.variant)\n }\n });\n const isFocused = shallowRef(false);\n const contentRef = ref();\n function onFocusin(e) {\n isFocused.value = true;\n }\n function onFocusout(e) {\n isFocused.value = false;\n }\n function onFocus(e) {\n var _a;\n if (!isFocused.value && !(e.relatedTarget && ((_a = contentRef.value) == null ? void 0 : _a.contains(e.relatedTarget)))) focus();\n }\n function onKeydown(e) {\n const target = e.target;\n if (!contentRef.value || target.tagName === \"INPUT\" && [\"Home\", \"End\"].includes(e.key) || target.tagName === \"TEXTAREA\") {\n return;\n }\n if (e.key === \"ArrowDown\") {\n focus(\"next\");\n } else if (e.key === \"ArrowUp\") {\n focus(\"prev\");\n } else if (e.key === \"Home\") {\n focus(\"first\");\n } else if (e.key === \"End\") {\n focus(\"last\");\n } else {\n return;\n }\n e.preventDefault();\n }\n function onMousedown(e) {\n isFocused.value = true;\n }\n function focus(location) {\n if (contentRef.value) {\n return focusChild(contentRef.value, location);\n }\n }\n useRender(() => {\n return createVNode(props.tag, {\n \"ref\": contentRef,\n \"class\": [\"v-list\", {\n \"v-list--disabled\": props.disabled,\n \"v-list--nav\": props.nav,\n \"v-list--slim\": props.slim\n }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, props.class],\n \"style\": [backgroundColorStyles.value, dimensionStyles.value, props.style],\n \"tabindex\": props.disabled ? -1 : 0,\n \"role\": \"listbox\",\n \"aria-activedescendant\": void 0,\n \"onFocusin\": onFocusin,\n \"onFocusout\": onFocusout,\n \"onFocus\": onFocus,\n \"onKeydown\": onKeydown,\n \"onMousedown\": onMousedown\n }, {\n default: () => [createVNode(VListChildren, {\n \"items\": items.value,\n \"returnObject\": props.returnObject\n }, slots)]\n });\n });\n return {\n open,\n select,\n focus,\n children,\n parents,\n getPath\n };\n }\n});\nexport {\n VList,\n makeVListProps,\n useListItems\n};\n//# sourceMappingURL=VList.mjs.map\n","import \"../../util/helpers.mjs\";\nimport \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { createSimpleFunctional } from \"../../util/createSimpleFunctional.mjs\";\nconst VListImg = createSimpleFunctional(\"v-list-img\");\nexport {\n VListImg\n};\n//# sourceMappingURL=VListImg.mjs.map\n","import { q as createVNode } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport \"../../util/helpers.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nconst makeVListItemActionProps = propsFactory({\n start: Boolean,\n end: Boolean,\n ...makeComponentProps(),\n ...makeTagProps()\n}, \"VListItemAction\");\nconst VListItemAction = genericComponent()({\n name: \"VListItemAction\",\n props: makeVListItemActionProps(),\n setup(props, {\n slots\n }) {\n useRender(() => createVNode(props.tag, {\n \"class\": [\"v-list-item-action\", {\n \"v-list-item-action--start\": props.start,\n \"v-list-item-action--end\": props.end\n }, props.class],\n \"style\": props.style\n }, slots));\n return {};\n }\n});\nexport {\n VListItemAction,\n makeVListItemActionProps\n};\n//# sourceMappingURL=VListItemAction.mjs.map\n","import { q as createVNode } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport \"../../util/helpers.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nconst makeVListItemMediaProps = propsFactory({\n start: Boolean,\n end: Boolean,\n ...makeComponentProps(),\n ...makeTagProps()\n}, \"VListItemMedia\");\nconst VListItemMedia = genericComponent()({\n name: \"VListItemMedia\",\n props: makeVListItemMediaProps(),\n setup(props, {\n slots\n }) {\n useRender(() => {\n return createVNode(props.tag, {\n \"class\": [\"v-list-item-media\", {\n \"v-list-item-media--start\": props.start,\n \"v-list-item-media--end\": props.end\n }, props.class],\n \"style\": props.style\n }, slots);\n });\n return {};\n }\n});\nexport {\n VListItemMedia,\n makeVListItemMediaProps\n};\n//# sourceMappingURL=VListItemMedia.mjs.map\n","function elementToViewport(point, offset) {\n return {\n x: point.x + offset.x,\n y: point.y + offset.y\n };\n}\nfunction viewportToElement(point, offset) {\n return {\n x: point.x - offset.x,\n y: point.y - offset.y\n };\n}\nfunction getOffset(a, b) {\n return {\n x: a.x - b.x,\n y: a.y - b.y\n };\n}\nfunction anchorToPoint(anchor, box) {\n if (anchor.side === \"top\" || anchor.side === \"bottom\") {\n const { side, align } = anchor;\n const x = align === \"left\" ? 0 : align === \"center\" ? box.width / 2 : align === \"right\" ? box.width : align;\n const y = side === \"top\" ? 0 : side === \"bottom\" ? box.height : side;\n return elementToViewport({ x, y }, box);\n } else if (anchor.side === \"left\" || anchor.side === \"right\") {\n const { side, align } = anchor;\n const x = side === \"left\" ? 0 : side === \"right\" ? box.width : side;\n const y = align === \"top\" ? 0 : align === \"center\" ? box.height / 2 : align === \"bottom\" ? box.height : align;\n return elementToViewport({ x, y }, box);\n }\n return elementToViewport(\n {\n x: box.width / 2,\n y: box.height / 2\n },\n box\n );\n}\nexport {\n anchorToPoint,\n elementToViewport,\n getOffset,\n viewportToElement\n};\n//# sourceMappingURL=point.mjs.map\n","function getScrollParent(el, includeHidden = false) {\n while (el) {\n if (includeHidden ? isPotentiallyScrollable(el) : hasScrollbar(el))\n return el;\n el = el.parentElement;\n }\n return document.scrollingElement;\n}\nfunction getScrollParents(el, stopAt) {\n const elements = [];\n if (stopAt && el && !stopAt.contains(el)) return elements;\n while (el) {\n if (hasScrollbar(el)) elements.push(el);\n if (el === stopAt) break;\n el = el.parentElement;\n }\n return elements;\n}\nfunction hasScrollbar(el) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false;\n const style = window.getComputedStyle(el);\n const hasVerticalScrollbar = style.overflowY === \"scroll\" || style.overflowY === \"auto\" && el.scrollHeight > el.clientHeight;\n const hasHorizontalScrollbar = style.overflowX === \"scroll\" || style.overflowX === \"auto\" && el.scrollWidth > el.clientWidth;\n return hasVerticalScrollbar || hasHorizontalScrollbar;\n}\nfunction isPotentiallyScrollable(el) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false;\n const style = window.getComputedStyle(el);\n return [\"scroll\", \"auto\"].includes(style.overflowY);\n}\nexport {\n getScrollParent,\n getScrollParents,\n hasScrollbar\n};\n//# sourceMappingURL=getScrollParent.mjs.map\n","function isFixedPosition(el) {\n while (el) {\n if (window.getComputedStyle(el).position === \"fixed\") {\n return true;\n }\n el = el.offsetParent;\n }\n return false;\n}\nexport {\n isFixedPosition\n};\n//# sourceMappingURL=isFixedPosition.mjs.map\n","import { useToggleScope } from \"../../composables/toggleScope.mjs\";\nimport { e as ref, n as watch, o as onScopeDispose, d as computed, ab as nextTick } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { anchorToPoint, getOffset } from \"./util/point.mjs\";\nimport { getAxis, flipAlign, flipSide, parseAnchor, flipCorner } from \"../../util/anchor.mjs\";\nimport { nullifyTransforms } from \"../../util/animation.mjs\";\nimport { destructComputed, deepEqual, convertToUnit, clamp, CircularBuffer } from \"../../util/helpers.mjs\";\nimport { consoleError } from \"../../util/console.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { getScrollParents } from \"../../util/getScrollParent.mjs\";\nimport { IN_BROWSER } from \"../../util/globals.mjs\";\nimport { isFixedPosition } from \"../../util/isFixedPosition.mjs\";\nimport { Box, getTargetBox, getElementBox, getOverflow } from \"../../util/box.mjs\";\nconst locationStrategies = {\n static: staticLocationStrategy,\n // specific viewport position, usually centered\n connected: connectedLocationStrategy\n // connected to a certain element\n};\nconst makeLocationStrategyProps = propsFactory(\n {\n locationStrategy: {\n type: [String, Function],\n default: \"static\",\n validator: (val) => typeof val === \"function\" || val in locationStrategies\n },\n location: {\n type: String,\n default: \"bottom\"\n },\n origin: {\n type: String,\n default: \"auto\"\n },\n offset: [Number, String, Array]\n },\n \"VOverlay-location-strategies\"\n);\nfunction useLocationStrategies(props, data) {\n const contentStyles = ref({});\n const updateLocation = ref();\n if (IN_BROWSER) {\n useToggleScope(\n () => !!(data.isActive.value && props.locationStrategy),\n (reset) => {\n var _a, _b;\n watch(() => props.locationStrategy, reset);\n onScopeDispose(() => {\n window.removeEventListener(\"resize\", onResize);\n visualViewport == null ? void 0 : visualViewport.removeEventListener(\"resize\", onVisualResize);\n visualViewport == null ? void 0 : visualViewport.removeEventListener(\"scroll\", onVisualScroll);\n updateLocation.value = void 0;\n });\n window.addEventListener(\"resize\", onResize, { passive: true });\n visualViewport == null ? void 0 : visualViewport.addEventListener(\"resize\", onVisualResize, {\n passive: true\n });\n visualViewport == null ? void 0 : visualViewport.addEventListener(\"scroll\", onVisualScroll, {\n passive: true\n });\n if (typeof props.locationStrategy === \"function\") {\n updateLocation.value = (_a = props.locationStrategy(\n data,\n props,\n contentStyles\n )) == null ? void 0 : _a.updateLocation;\n } else {\n updateLocation.value = (_b = locationStrategies[props.locationStrategy](\n data,\n props,\n contentStyles\n )) == null ? void 0 : _b.updateLocation;\n }\n }\n );\n }\n function onResize(e) {\n var _a;\n (_a = updateLocation.value) == null ? void 0 : _a.call(updateLocation, e);\n }\n function onVisualResize(e) {\n var _a;\n (_a = updateLocation.value) == null ? void 0 : _a.call(updateLocation, e);\n }\n function onVisualScroll(e) {\n var _a;\n (_a = updateLocation.value) == null ? void 0 : _a.call(updateLocation, e);\n }\n return {\n contentStyles,\n updateLocation\n };\n}\nfunction staticLocationStrategy() {\n}\nfunction getIntrinsicSize(el, isRtl) {\n const contentBox = nullifyTransforms(el);\n if (isRtl) {\n contentBox.x += parseFloat(el.style.right || 0);\n } else {\n contentBox.x -= parseFloat(el.style.left || 0);\n }\n contentBox.y -= parseFloat(el.style.top || 0);\n return contentBox;\n}\nfunction connectedLocationStrategy(data, props, contentStyles) {\n const activatorFixed = Array.isArray(data.target.value) || isFixedPosition(data.target.value);\n if (activatorFixed) {\n Object.assign(contentStyles.value, {\n position: \"fixed\",\n top: 0,\n [data.isRtl.value ? \"right\" : \"left\"]: 0\n });\n }\n const { preferredAnchor, preferredOrigin } = destructComputed(() => {\n const parsedAnchor = parseAnchor(props.location, data.isRtl.value);\n const parsedOrigin = props.origin === \"overlap\" ? parsedAnchor : props.origin === \"auto\" ? flipSide(parsedAnchor) : parseAnchor(props.origin, data.isRtl.value);\n if (parsedAnchor.side === parsedOrigin.side && parsedAnchor.align === flipAlign(parsedOrigin).align) {\n return {\n preferredAnchor: flipCorner(parsedAnchor),\n preferredOrigin: flipCorner(parsedOrigin)\n };\n } else {\n return {\n preferredAnchor: parsedAnchor,\n preferredOrigin: parsedOrigin\n };\n }\n });\n const [minWidth, minHeight, maxWidth, maxHeight] = [\"minWidth\", \"minHeight\", \"maxWidth\", \"maxHeight\"].map((key) => {\n return computed(() => {\n const val = parseFloat(props[key]);\n return isNaN(val) ? Infinity : val;\n });\n });\n const offset = computed(() => {\n if (Array.isArray(props.offset)) {\n return props.offset;\n }\n if (typeof props.offset === \"string\") {\n const offset2 = props.offset.split(\" \").map(parseFloat);\n if (offset2.length < 2) offset2.push(0);\n return offset2;\n }\n return typeof props.offset === \"number\" ? [props.offset, 0] : [0, 0];\n });\n let observe = false;\n let lastFrame = -1;\n const flipped = new CircularBuffer(4);\n const observer = new ResizeObserver(() => {\n if (!observe) return;\n requestAnimationFrame((newTime) => {\n if (newTime !== lastFrame) flipped.clear();\n requestAnimationFrame((newNewTime) => {\n lastFrame = newNewTime;\n });\n });\n if (flipped.isFull) {\n const values = flipped.values();\n if (deepEqual(values.at(-1), values.at(-3)) && !deepEqual(values.at(-1), values.at(-2))) {\n return;\n }\n }\n const result = updateLocation();\n if (result) flipped.push(result.flipped);\n });\n let targetBox = new Box({ x: 0, y: 0, width: 0, height: 0 });\n watch(\n data.target,\n (newTarget, oldTarget) => {\n if (oldTarget && !Array.isArray(oldTarget)) observer.unobserve(oldTarget);\n if (!Array.isArray(newTarget)) {\n if (newTarget) observer.observe(newTarget);\n } else if (!deepEqual(newTarget, oldTarget)) {\n updateLocation();\n }\n },\n { immediate: true }\n );\n watch(\n data.contentEl,\n (newContentEl, oldContentEl) => {\n if (oldContentEl) observer.unobserve(oldContentEl);\n if (newContentEl) observer.observe(newContentEl);\n },\n { immediate: true }\n );\n onScopeDispose(() => {\n observer.disconnect();\n });\n function updateLocation() {\n observe = false;\n requestAnimationFrame(() => observe = true);\n if (!data.target.value || !data.contentEl.value) return;\n if (Array.isArray(data.target.value) || data.target.value.offsetParent || data.target.value.getClientRects().length) {\n targetBox = getTargetBox(data.target.value);\n }\n const contentBox = getIntrinsicSize(data.contentEl.value, data.isRtl.value);\n const scrollParents = getScrollParents(data.contentEl.value);\n const viewportMargin = 12;\n if (!scrollParents.length) {\n scrollParents.push(document.documentElement);\n if (!(data.contentEl.value.style.top && data.contentEl.value.style.left)) {\n contentBox.x -= parseFloat(\n document.documentElement.style.getPropertyValue(\n \"--v-body-scroll-x\"\n ) || 0\n );\n contentBox.y -= parseFloat(\n document.documentElement.style.getPropertyValue(\n \"--v-body-scroll-y\"\n ) || 0\n );\n }\n }\n const viewport = scrollParents.reduce((box, el) => {\n const scrollBox = getElementBox(el);\n if (box) {\n return new Box({\n x: Math.max(box.left, scrollBox.left),\n y: Math.max(box.top, scrollBox.top),\n width: Math.min(box.right, scrollBox.right) - Math.max(box.left, scrollBox.left),\n height: Math.min(box.bottom, scrollBox.bottom) - Math.max(box.top, scrollBox.top)\n });\n }\n return scrollBox;\n }, void 0);\n viewport.x += viewportMargin;\n viewport.y += viewportMargin;\n viewport.width -= viewportMargin * 2;\n viewport.height -= viewportMargin * 2;\n let placement = {\n anchor: preferredAnchor.value,\n origin: preferredOrigin.value\n };\n function checkOverflow(_placement) {\n const box = new Box(contentBox);\n const targetPoint = anchorToPoint(_placement.anchor, targetBox);\n const contentPoint = anchorToPoint(_placement.origin, box);\n let { x: x2, y: y2 } = getOffset(targetPoint, contentPoint);\n switch (_placement.anchor.side) {\n case \"top\":\n y2 -= offset.value[0];\n break;\n case \"bottom\":\n y2 += offset.value[0];\n break;\n case \"left\":\n x2 -= offset.value[0];\n break;\n case \"right\":\n x2 += offset.value[0];\n break;\n }\n switch (_placement.anchor.align) {\n case \"top\":\n y2 -= offset.value[1];\n break;\n case \"bottom\":\n y2 += offset.value[1];\n break;\n case \"left\":\n x2 -= offset.value[1];\n break;\n case \"right\":\n x2 += offset.value[1];\n break;\n }\n box.x += x2;\n box.y += y2;\n box.width = Math.min(box.width, maxWidth.value);\n box.height = Math.min(box.height, maxHeight.value);\n const overflows = getOverflow(box, viewport);\n return { overflows, x: x2, y: y2 };\n }\n let x = 0;\n let y = 0;\n const available = { x: 0, y: 0 };\n const flipped2 = { x: false, y: false };\n let resets = -1;\n while (true) {\n if (resets++ > 10) {\n consoleError(\"Infinite loop detected in connectedLocationStrategy\");\n break;\n }\n const { x: _x, y: _y, overflows } = checkOverflow(placement);\n x += _x;\n y += _y;\n contentBox.x += _x;\n contentBox.y += _y;\n {\n const axis2 = getAxis(placement.anchor);\n const hasOverflowX = overflows.x.before || overflows.x.after;\n const hasOverflowY = overflows.y.before || overflows.y.after;\n let reset = false;\n [\"x\", \"y\"].forEach((key) => {\n if (key === \"x\" && hasOverflowX && !flipped2.x || key === \"y\" && hasOverflowY && !flipped2.y) {\n const newPlacement = {\n anchor: { ...placement.anchor },\n origin: { ...placement.origin }\n };\n const flip = key === \"x\" ? axis2 === \"y\" ? flipAlign : flipSide : axis2 === \"y\" ? flipSide : flipAlign;\n newPlacement.anchor = flip(newPlacement.anchor);\n newPlacement.origin = flip(newPlacement.origin);\n const { overflows: newOverflows } = checkOverflow(newPlacement);\n if (newOverflows[key].before <= overflows[key].before && newOverflows[key].after <= overflows[key].after || newOverflows[key].before + newOverflows[key].after < (overflows[key].before + overflows[key].after) / 2) {\n placement = newPlacement;\n reset = flipped2[key] = true;\n }\n }\n });\n if (reset) continue;\n }\n if (overflows.x.before) {\n x += overflows.x.before;\n contentBox.x += overflows.x.before;\n }\n if (overflows.x.after) {\n x -= overflows.x.after;\n contentBox.x -= overflows.x.after;\n }\n if (overflows.y.before) {\n y += overflows.y.before;\n contentBox.y += overflows.y.before;\n }\n if (overflows.y.after) {\n y -= overflows.y.after;\n contentBox.y -= overflows.y.after;\n }\n {\n const overflows2 = getOverflow(contentBox, viewport);\n available.x = viewport.width - overflows2.x.before - overflows2.x.after;\n available.y = viewport.height - overflows2.y.before - overflows2.y.after;\n x += overflows2.x.before;\n contentBox.x += overflows2.x.before;\n y += overflows2.y.before;\n contentBox.y += overflows2.y.before;\n }\n break;\n }\n const axis = getAxis(placement.anchor);\n Object.assign(contentStyles.value, {\n \"--v-overlay-anchor-origin\": `${placement.anchor.side} ${placement.anchor.align}`,\n transformOrigin: `${placement.origin.side} ${placement.origin.align}`,\n // transform: `translate(${pixelRound(x)}px, ${pixelRound(y)}px)`,\n top: convertToUnit(pixelRound(y)),\n left: data.isRtl.value ? void 0 : convertToUnit(pixelRound(x)),\n right: data.isRtl.value ? convertToUnit(pixelRound(-x)) : void 0,\n minWidth: convertToUnit(\n axis === \"y\" ? Math.min(minWidth.value, targetBox.width) : minWidth.value\n ),\n maxWidth: convertToUnit(\n pixelCeil(\n clamp(\n available.x,\n minWidth.value === Infinity ? 0 : minWidth.value,\n maxWidth.value\n )\n )\n ),\n maxHeight: convertToUnit(\n pixelCeil(\n clamp(\n available.y,\n minHeight.value === Infinity ? 0 : minHeight.value,\n maxHeight.value\n )\n )\n )\n });\n return {\n available,\n contentBox,\n flipped: flipped2\n };\n }\n watch(\n () => [\n preferredAnchor.value,\n preferredOrigin.value,\n props.offset,\n props.minWidth,\n props.minHeight,\n props.maxWidth,\n props.maxHeight\n ],\n () => updateLocation()\n );\n nextTick(() => {\n const result = updateLocation();\n if (!result) return;\n const { available, contentBox } = result;\n if (contentBox.height > available.y) {\n requestAnimationFrame(() => {\n updateLocation();\n requestAnimationFrame(() => {\n updateLocation();\n });\n });\n }\n });\n return { updateLocation };\n}\nfunction pixelRound(val) {\n return Math.round(val * devicePixelRatio) / devicePixelRatio;\n}\nfunction pixelCeil(val) {\n return Math.ceil(val * devicePixelRatio) / devicePixelRatio;\n}\nexport {\n makeLocationStrategyProps,\n useLocationStrategies\n};\n//# sourceMappingURL=locationStrategies.mjs.map\n","let clean = true;\nconst frames = [];\nfunction requestNewFrame(cb) {\n if (!clean || frames.length) {\n frames.push(cb);\n run();\n } else {\n clean = false;\n cb();\n run();\n }\n}\nlet raf = -1;\nfunction run() {\n cancelAnimationFrame(raf);\n raf = requestAnimationFrame(() => {\n const frame = frames.shift();\n if (frame) frame();\n if (frames.length) run();\n else clean = true;\n });\n}\nexport {\n requestNewFrame\n};\n//# sourceMappingURL=requestNewFrame.mjs.map\n","import { w as watchEffect, o as onScopeDispose, J as effectScope } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { requestNewFrame } from \"./requestNewFrame.mjs\";\nimport { convertToUnit } from \"../../util/helpers.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { getScrollParents, hasScrollbar } from \"../../util/getScrollParent.mjs\";\nimport { IN_BROWSER } from \"../../util/globals.mjs\";\nconst scrollStrategies = {\n none: null,\n close: closeScrollStrategy,\n block: blockScrollStrategy,\n reposition: repositionScrollStrategy\n};\nconst makeScrollStrategyProps = propsFactory(\n {\n scrollStrategy: {\n type: [String, Function],\n default: \"block\",\n validator: (val) => typeof val === \"function\" || val in scrollStrategies\n }\n },\n \"VOverlay-scroll-strategies\"\n);\nfunction useScrollStrategies(props, data) {\n if (!IN_BROWSER) return;\n let scope;\n watchEffect(async () => {\n scope == null ? void 0 : scope.stop();\n if (!(data.isActive.value && props.scrollStrategy)) return;\n scope = effectScope();\n await new Promise((resolve) => setTimeout(resolve));\n scope.active && scope.run(() => {\n var _a;\n if (typeof props.scrollStrategy === \"function\") {\n props.scrollStrategy(data, props, scope);\n } else {\n (_a = scrollStrategies[props.scrollStrategy]) == null ? void 0 : _a.call(scrollStrategies, data, props, scope);\n }\n });\n });\n onScopeDispose(() => {\n scope == null ? void 0 : scope.stop();\n });\n}\nfunction closeScrollStrategy(data) {\n function onScroll(e) {\n data.isActive.value = false;\n }\n bindScroll(getTargetEl(data.target.value, data.contentEl.value), onScroll);\n}\nfunction blockScrollStrategy(data, props) {\n var _a;\n const offsetParent = (_a = data.root.value) == null ? void 0 : _a.offsetParent;\n const target = getTargetEl(data.target.value, data.contentEl.value);\n const scrollElements = [\n .../* @__PURE__ */ new Set([\n ...getScrollParents(target, props.contained ? offsetParent : void 0),\n ...getScrollParents(\n data.contentEl.value,\n props.contained ? offsetParent : void 0\n )\n ])\n ].filter((el) => !el.classList.contains(\"v-overlay-scroll-blocked\"));\n const scrollbarWidth = window.innerWidth - document.documentElement.offsetWidth;\n const scrollableParent = ((el) => hasScrollbar(el) && el)(\n offsetParent || document.documentElement\n );\n if (scrollableParent) {\n data.root.value.classList.add(\"v-overlay--scroll-blocked\");\n }\n scrollElements.forEach((el, i) => {\n el.style.setProperty(\"--v-body-scroll-x\", convertToUnit(-el.scrollLeft));\n el.style.setProperty(\"--v-body-scroll-y\", convertToUnit(-el.scrollTop));\n if (el !== document.documentElement) {\n el.style.setProperty(\n \"--v-scrollbar-offset\",\n convertToUnit(scrollbarWidth)\n );\n }\n el.classList.add(\"v-overlay-scroll-blocked\");\n });\n onScopeDispose(() => {\n scrollElements.forEach((el, i) => {\n const x = parseFloat(el.style.getPropertyValue(\"--v-body-scroll-x\"));\n const y = parseFloat(el.style.getPropertyValue(\"--v-body-scroll-y\"));\n const scrollBehavior = el.style.scrollBehavior;\n el.style.scrollBehavior = \"auto\";\n el.style.removeProperty(\"--v-body-scroll-x\");\n el.style.removeProperty(\"--v-body-scroll-y\");\n el.style.removeProperty(\"--v-scrollbar-offset\");\n el.classList.remove(\"v-overlay-scroll-blocked\");\n el.scrollLeft = -x;\n el.scrollTop = -y;\n el.style.scrollBehavior = scrollBehavior;\n });\n if (scrollableParent) {\n data.root.value.classList.remove(\"v-overlay--scroll-blocked\");\n }\n });\n}\nfunction repositionScrollStrategy(data, props, scope) {\n let slow = false;\n let raf = -1;\n let ric = -1;\n function update(e) {\n requestNewFrame(() => {\n var _a, _b;\n const start = performance.now();\n (_b = (_a = data.updateLocation).value) == null ? void 0 : _b.call(_a, e);\n const time = performance.now() - start;\n slow = time / (1e3 / 60) > 2;\n });\n }\n ric = (typeof requestIdleCallback === \"undefined\" ? (cb) => cb() : requestIdleCallback)(() => {\n scope.run(() => {\n bindScroll(getTargetEl(data.target.value, data.contentEl.value), (e) => {\n if (slow) {\n cancelAnimationFrame(raf);\n raf = requestAnimationFrame(() => {\n raf = requestAnimationFrame(() => {\n update(e);\n });\n });\n } else {\n update(e);\n }\n });\n });\n });\n onScopeDispose(() => {\n typeof cancelIdleCallback !== \"undefined\" && cancelIdleCallback(ric);\n cancelAnimationFrame(raf);\n });\n}\nfunction getTargetEl(target, contentEl) {\n return Array.isArray(target) ? document.elementsFromPoint(...target).find((el) => !(contentEl == null ? void 0 : contentEl.contains(el))) : target ?? contentEl;\n}\nfunction bindScroll(el, onScroll) {\n const scrollElements = [document, ...getScrollParents(el)];\n scrollElements.forEach((el2) => {\n el2.addEventListener(\"scroll\", onScroll, { passive: true });\n });\n onScopeDispose(() => {\n scrollElements.forEach((el2) => {\n el2.removeEventListener(\"scroll\", onScroll);\n });\n });\n}\nexport {\n makeScrollStrategyProps,\n useScrollStrategies\n};\n//# sourceMappingURL=scrollStrategies.mjs.map\n","const VMenuSymbol = Symbol.for(\"vuetify:v-menu\");\nexport {\n VMenuSymbol\n};\n//# sourceMappingURL=shared.mjs.map\n","import { defer } from \"../util/helpers.mjs\";\nimport \"../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { propsFactory } from \"../util/propsFactory.mjs\";\nconst makeDelayProps = propsFactory(\n {\n closeDelay: [Number, String],\n openDelay: [Number, String]\n },\n \"delay\"\n);\nfunction useDelay(props, cb) {\n let clearDelay = () => {\n };\n function runDelay(isOpening) {\n clearDelay == null ? void 0 : clearDelay();\n const delay = Number(isOpening ? props.openDelay : props.closeDelay);\n return new Promise((resolve) => {\n clearDelay = defer(delay, () => {\n cb == null ? void 0 : cb(isOpening);\n resolve(isOpening);\n });\n });\n }\n function runOpenDelay() {\n return runDelay(true);\n }\n function runCloseDelay() {\n return runDelay(false);\n }\n return {\n clearDelay,\n runOpenDelay,\n runCloseDelay\n };\n}\nexport {\n makeDelayProps,\n useDelay\n};\n//# sourceMappingURL=delay.mjs.map\n","import { isOn, eventName } from \"./helpers.mjs\";\nconst handlers = /* @__PURE__ */ new WeakMap();\nfunction bindProps(el, props) {\n Object.keys(props).forEach((k) => {\n var _a;\n if (isOn(k)) {\n const name = eventName(k);\n const handler = handlers.get(el);\n if (props[k] == null) {\n handler == null ? void 0 : handler.forEach((v) => {\n const [n, fn] = v;\n if (n === name) {\n el.removeEventListener(name, fn);\n handler.delete(v);\n }\n });\n } else if (!handler || !((_a = [...handler]) == null ? void 0 : _a.some((v) => v[0] === name && v[1] === props[k]))) {\n el.addEventListener(name, props[k]);\n const _handler = handler || /* @__PURE__ */ new Set();\n _handler.add([name, props[k]]);\n if (!handlers.has(el)) handlers.set(el, _handler);\n }\n } else {\n if (props[k] == null) {\n el.removeAttribute(k);\n } else {\n el.setAttribute(k, props[k]);\n }\n }\n });\n}\nfunction unbindProps(el, props) {\n Object.keys(props).forEach((k) => {\n if (isOn(k)) {\n const name = eventName(k);\n const handler = handlers.get(el);\n handler == null ? void 0 : handler.forEach((v) => {\n const [n, fn] = v;\n if (n === name) {\n el.removeEventListener(name, fn);\n handler.delete(v);\n }\n });\n } else {\n el.removeAttribute(k);\n }\n });\n}\nexport {\n bindProps,\n unbindProps\n};\n//# sourceMappingURL=bindProps.mjs.map\n","import { VMenuSymbol } from \"../VMenu/shared.mjs\";\nimport { makeDelayProps, useDelay } from \"../../composables/delay.mjs\";\nimport { e as ref, d as computed, b as inject, n as watch, w as watchEffect, J as effectScope, o as onScopeDispose, ab as nextTick, v as mergeProps } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { templateRef, matchesSelector } from \"../../util/helpers.mjs\";\nimport { bindProps, unbindProps } from \"../../util/bindProps.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { getCurrentInstance } from \"../../util/getCurrentInstance.mjs\";\nimport { IN_BROWSER } from \"../../util/globals.mjs\";\nconst makeActivatorProps = propsFactory({\n target: [String, Object],\n activator: [String, Object],\n activatorProps: {\n type: Object,\n default: () => ({})\n },\n openOnClick: {\n type: Boolean,\n default: void 0\n },\n openOnHover: Boolean,\n openOnFocus: {\n type: Boolean,\n default: void 0\n },\n closeOnContentClick: Boolean,\n ...makeDelayProps()\n}, \"VOverlay-activator\");\nfunction useActivator(props, {\n isActive,\n isTop,\n contentEl\n}) {\n const vm = getCurrentInstance(\"useActivator\");\n const activatorEl = ref();\n let isHovered = false;\n let isFocused = false;\n let firstEnter = true;\n const openOnFocus = computed(() => props.openOnFocus || props.openOnFocus == null && props.openOnHover);\n const openOnClick = computed(() => props.openOnClick || props.openOnClick == null && !props.openOnHover && !openOnFocus.value);\n const {\n runOpenDelay,\n runCloseDelay\n } = useDelay(props, (value) => {\n if (value === (props.openOnHover && isHovered || openOnFocus.value && isFocused) && !(props.openOnHover && isActive.value && !isTop.value)) {\n if (isActive.value !== value) {\n firstEnter = true;\n }\n isActive.value = value;\n }\n });\n const cursorTarget = ref();\n const availableEvents = {\n onClick: (e) => {\n e.stopPropagation();\n activatorEl.value = e.currentTarget || e.target;\n if (!isActive.value) {\n cursorTarget.value = [e.clientX, e.clientY];\n }\n isActive.value = !isActive.value;\n },\n onMouseenter: (e) => {\n var _a;\n if ((_a = e.sourceCapabilities) == null ? void 0 : _a.firesTouchEvents) return;\n isHovered = true;\n activatorEl.value = e.currentTarget || e.target;\n runOpenDelay();\n },\n onMouseleave: (e) => {\n isHovered = false;\n runCloseDelay();\n },\n onFocus: (e) => {\n if (matchesSelector(e.target, \":focus-visible\") === false) return;\n isFocused = true;\n e.stopPropagation();\n activatorEl.value = e.currentTarget || e.target;\n runOpenDelay();\n },\n onBlur: (e) => {\n isFocused = false;\n e.stopPropagation();\n runCloseDelay();\n }\n };\n const activatorEvents = computed(() => {\n const events = {};\n if (openOnClick.value) {\n events.onClick = availableEvents.onClick;\n }\n if (props.openOnHover) {\n events.onMouseenter = availableEvents.onMouseenter;\n events.onMouseleave = availableEvents.onMouseleave;\n }\n if (openOnFocus.value) {\n events.onFocus = availableEvents.onFocus;\n events.onBlur = availableEvents.onBlur;\n }\n return events;\n });\n const contentEvents = computed(() => {\n const events = {};\n if (props.openOnHover) {\n events.onMouseenter = () => {\n isHovered = true;\n runOpenDelay();\n };\n events.onMouseleave = () => {\n isHovered = false;\n runCloseDelay();\n };\n }\n if (openOnFocus.value) {\n events.onFocusin = () => {\n isFocused = true;\n runOpenDelay();\n };\n events.onFocusout = () => {\n isFocused = false;\n runCloseDelay();\n };\n }\n if (props.closeOnContentClick) {\n const menu = inject(VMenuSymbol, null);\n events.onClick = () => {\n isActive.value = false;\n menu == null ? void 0 : menu.closeParents();\n };\n }\n return events;\n });\n const scrimEvents = computed(() => {\n const events = {};\n if (props.openOnHover) {\n events.onMouseenter = () => {\n if (firstEnter) {\n isHovered = true;\n firstEnter = false;\n runOpenDelay();\n }\n };\n events.onMouseleave = () => {\n isHovered = false;\n runCloseDelay();\n };\n }\n return events;\n });\n watch(isTop, (val) => {\n var _a;\n if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered)) && !((_a = contentEl.value) == null ? void 0 : _a.contains(document.activeElement))) {\n isActive.value = false;\n }\n });\n watch(isActive, (val) => {\n if (!val) {\n setTimeout(() => {\n cursorTarget.value = void 0;\n });\n }\n }, {\n flush: \"post\"\n });\n const activatorRef = templateRef();\n watchEffect(() => {\n if (!activatorRef.value) return;\n nextTick(() => {\n activatorEl.value = activatorRef.el;\n });\n });\n const targetRef = templateRef();\n const target = computed(() => {\n if (props.target === \"cursor\" && cursorTarget.value) return cursorTarget.value;\n if (targetRef.value) return targetRef.el;\n return getTarget(props.target, vm) || activatorEl.value;\n });\n const targetEl = computed(() => {\n return Array.isArray(target.value) ? void 0 : target.value;\n });\n let scope;\n watch(() => !!props.activator, (val) => {\n if (val && IN_BROWSER) {\n scope = effectScope();\n scope.run(() => {\n _useActivator(props, vm, {\n activatorEl,\n activatorEvents\n });\n });\n } else if (scope) {\n scope.stop();\n }\n }, {\n flush: \"post\",\n immediate: true\n });\n onScopeDispose(() => {\n scope == null ? void 0 : scope.stop();\n });\n return {\n activatorEl,\n activatorRef,\n target,\n targetEl,\n targetRef,\n activatorEvents,\n contentEvents,\n scrimEvents\n };\n}\nfunction _useActivator(props, vm, {\n activatorEl,\n activatorEvents\n}) {\n watch(() => props.activator, (val, oldVal) => {\n if (oldVal && val !== oldVal) {\n const activator = getActivator(oldVal);\n activator && unbindActivatorProps(activator);\n }\n if (val) {\n nextTick(() => bindActivatorProps());\n }\n }, {\n immediate: true\n });\n watch(() => props.activatorProps, () => {\n bindActivatorProps();\n });\n onScopeDispose(() => {\n unbindActivatorProps();\n });\n function bindActivatorProps(el = getActivator(), _props = props.activatorProps) {\n if (!el) return;\n bindProps(el, mergeProps(activatorEvents.value, _props));\n }\n function unbindActivatorProps(el = getActivator(), _props = props.activatorProps) {\n if (!el) return;\n unbindProps(el, mergeProps(activatorEvents.value, _props));\n }\n function getActivator(selector = props.activator) {\n const activator = getTarget(selector, vm);\n activatorEl.value = (activator == null ? void 0 : activator.nodeType) === Node.ELEMENT_NODE ? activator : void 0;\n return activatorEl.value;\n }\n}\nfunction getTarget(selector, vm) {\n var _a, _b;\n if (!selector) return;\n let target;\n if (selector === \"parent\") {\n let el = (_b = (_a = vm == null ? void 0 : vm.proxy) == null ? void 0 : _a.$el) == null ? void 0 : _b.parentNode;\n while (el == null ? void 0 : el.hasAttribute(\"data-no-activator\")) {\n el = el.parentNode;\n }\n target = el;\n } else if (typeof selector === \"string\") {\n target = document.querySelector(selector);\n } else if (\"$el\" in selector) {\n target = selector.$el;\n } else {\n target = selector;\n }\n return target;\n}\nexport {\n makeActivatorProps,\n useActivator\n};\n//# sourceMappingURL=useActivator.mjs.map\n","import { useDisplay } from \"./display.mjs\";\nimport { s as shallowRef, g as onMounted } from \"../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport \"../util/helpers.mjs\";\nimport { IN_BROWSER } from \"../util/globals.mjs\";\nfunction useHydration() {\n if (!IN_BROWSER) return shallowRef(false);\n const { ssr } = useDisplay();\n if (ssr) {\n const isMounted = shallowRef(false);\n onMounted(() => {\n isMounted.value = true;\n });\n return isMounted;\n } else {\n return shallowRef(true);\n }\n}\nexport {\n useHydration\n};\n//# sourceMappingURL=hydration.mjs.map\n","import { s as shallowRef, t as toRef, n as watch } from \"../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport \"../util/helpers.mjs\";\nimport { propsFactory } from \"../util/propsFactory.mjs\";\nconst makeLazyProps = propsFactory(\n {\n eager: Boolean\n },\n \"lazy\"\n);\nfunction useLazy(props, active) {\n const isBooted = shallowRef(false);\n const hasContent = toRef(() => isBooted.value || props.eager || active.value);\n watch(active, () => isBooted.value = true);\n function onAfterLeave() {\n if (!props.eager) isBooted.value = false;\n }\n return { isBooted, hasContent, onAfterLeave };\n}\nexport {\n makeLazyProps,\n useLazy\n};\n//# sourceMappingURL=lazy.mjs.map\n","import \"../util/helpers.mjs\";\nimport \"../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { getCurrentInstance } from \"../util/getCurrentInstance.mjs\";\nfunction useScopeId() {\n const vm = getCurrentInstance(\"useScopeId\");\n const scopeId = vm.vnode.scopeId;\n return { scopeId: scopeId ? { [scopeId]: \"\" } : void 0 };\n}\nexport {\n useScopeId\n};\n//# sourceMappingURL=scopeId.mjs.map\n","import { useToggleScope } from \"./toggleScope.mjs\";\nimport { r as reactive, b as inject, p as provide, s as shallowRef, G as toValue, o as onScopeDispose, w as watchEffect, t as toRef, H as readonly, I as toRaw } from \"../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport \"../util/helpers.mjs\";\nimport { getCurrentInstance } from \"../util/getCurrentInstance.mjs\";\nconst StackSymbol = Symbol.for(\"vuetify:stack\");\nconst globalStack = reactive([]);\nfunction useStack(isActive, zIndex, disableGlobalStack) {\n const vm = getCurrentInstance(\"useStack\");\n const createStackEntry = !disableGlobalStack;\n const parent = inject(StackSymbol, void 0);\n const stack = reactive({\n activeChildren: /* @__PURE__ */ new Set()\n });\n provide(StackSymbol, stack);\n const _zIndex = shallowRef(Number(toValue(zIndex)));\n useToggleScope(isActive, () => {\n var _a;\n const lastZIndex = (_a = globalStack.at(-1)) == null ? void 0 : _a[1];\n _zIndex.value = lastZIndex ? lastZIndex + 10 : Number(toValue(zIndex));\n if (createStackEntry) {\n globalStack.push([vm.uid, _zIndex.value]);\n }\n parent == null ? void 0 : parent.activeChildren.add(vm.uid);\n onScopeDispose(() => {\n if (createStackEntry) {\n const idx = toRaw(globalStack).findIndex((v) => v[0] === vm.uid);\n globalStack.splice(idx, 1);\n }\n parent == null ? void 0 : parent.activeChildren.delete(vm.uid);\n });\n });\n const globalTop = shallowRef(true);\n if (createStackEntry) {\n watchEffect(() => {\n var _a;\n const _isTop = ((_a = globalStack.at(-1)) == null ? void 0 : _a[0]) === vm.uid;\n setTimeout(() => globalTop.value = _isTop);\n });\n }\n const localTop = toRef(() => !stack.activeChildren.size);\n return {\n globalTop: readonly(globalTop),\n localTop,\n stackStyles: toRef(() => ({ zIndex: _zIndex.value }))\n };\n}\nexport {\n useStack\n};\n//# sourceMappingURL=stack.mjs.map\n","import { d as computed, E as warn } from \"../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport \"../util/helpers.mjs\";\nimport { IN_BROWSER } from \"../util/globals.mjs\";\nfunction useTeleport(target) {\n const teleportTarget = computed(() => {\n const _target = target();\n if (_target === true || !IN_BROWSER) return void 0;\n const targetElement = _target === false ? document.body : typeof _target === \"string\" ? document.querySelector(_target) : _target;\n if (targetElement == null) {\n warn(`Unable to locate target ${_target}`);\n return void 0;\n }\n let container = [...targetElement.children].find(\n (el) => el.matches(\".v-overlay-container\")\n );\n if (!container) {\n container = document.createElement(\"div\");\n container.className = \"v-overlay-container\";\n targetElement.appendChild(container);\n }\n return container;\n });\n return { teleportTarget };\n}\nexport {\n useTeleport\n};\n//# sourceMappingURL=teleport.mjs.map\n","function attachedRoot(node) {\n if (typeof node.getRootNode !== \"function\") {\n while (node.parentNode) node = node.parentNode;\n if (node !== document) return null;\n return document;\n }\n const root = node.getRootNode();\n if (root !== document && root.getRootNode({ composed: true }) !== document)\n return null;\n return root;\n}\nexport {\n attachedRoot\n};\n//# sourceMappingURL=dom.mjs.map\n","import \"../util/helpers.mjs\";\nimport \"../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { attachedRoot } from \"../util/dom.mjs\";\nfunction defaultConditional() {\n return true;\n}\nfunction checkEvent(e, el, binding) {\n if (!e || checkIsActive(e, binding) === false) return false;\n const root = attachedRoot(el);\n if (typeof ShadowRoot !== \"undefined\" && root instanceof ShadowRoot && root.host === e.target)\n return false;\n const elements = (typeof binding.value === \"object\" && binding.value.include || (() => []))();\n elements.push(el);\n return !elements.some((el2) => el2 == null ? void 0 : el2.contains(e.target));\n}\nfunction checkIsActive(e, binding) {\n const isActive = typeof binding.value === \"object\" && binding.value.closeConditional || defaultConditional;\n return isActive(e);\n}\nfunction directive(e, el, binding) {\n const handler = typeof binding.value === \"function\" ? binding.value : binding.value.handler;\n e.shadowTarget = e.target;\n el._clickOutside.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {\n checkIsActive(e, binding) && handler && handler(e);\n }, 0);\n}\nfunction handleShadow(el, callback) {\n const root = attachedRoot(el);\n callback(document);\n if (typeof ShadowRoot !== \"undefined\" && root instanceof ShadowRoot) {\n callback(root);\n }\n}\nconst ClickOutside = {\n // [data-app] may not be found\n // if using bind, inserted makes\n // sure that the root element is\n // available, iOS does not support\n // clicks on body\n mounted(el, binding) {\n const onClick = (e) => directive(e, el, binding);\n const onMousedown = (e) => {\n el._clickOutside.lastMousedownWasOutside = checkEvent(\n e,\n el,\n binding\n );\n };\n handleShadow(el, (app) => {\n app.addEventListener(\"click\", onClick, true);\n app.addEventListener(\"mousedown\", onMousedown, true);\n });\n if (!el._clickOutside) {\n el._clickOutside = {\n lastMousedownWasOutside: false\n };\n }\n el._clickOutside[binding.instance.$.uid] = {\n onClick,\n onMousedown\n };\n },\n beforeUnmount(el, binding) {\n if (!el._clickOutside) return;\n handleShadow(el, (app) => {\n var _a;\n if (!app || !((_a = el._clickOutside) == null ? void 0 : _a[binding.instance.$.uid])) return;\n const { onClick, onMousedown } = el._clickOutside[binding.instance.$.uid];\n app.removeEventListener(\"click\", onClick, true);\n app.removeEventListener(\"mousedown\", onMousedown, true);\n });\n delete el._clickOutside[binding.instance.$.uid];\n }\n};\nexport {\n ClickOutside,\n ClickOutside as default\n};\n//# sourceMappingURL=click-outside.mjs.map\n","import { e as ref, d as computed, n as watch, l as onBeforeUnmount, q as createVNode, v as mergeProps, ai as Teleport, y as withDirectives, z as resolveDirective, F as Fragment } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { makeLocationStrategyProps, useLocationStrategies } from \"./locationStrategies.mjs\";\nimport { makeScrollStrategyProps, useScrollStrategies } from \"./scrollStrategies.mjs\";\nimport { makeActivatorProps, useActivator } from \"./useActivator.mjs\";\nimport { useBackgroundColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { useHydration } from \"../../composables/hydration.mjs\";\nimport { makeLazyProps, useLazy } from \"../../composables/lazy.mjs\";\nimport { useRtl } from \"../../composables/locale.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { useRouter, useBackButton } from \"../../composables/router.mjs\";\nimport { useScopeId } from \"../../composables/scopeId.mjs\";\nimport { useStack } from \"../../composables/stack.mjs\";\nimport { useTeleport } from \"../../composables/teleport.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\";\nimport { useToggleScope } from \"../../composables/toggleScope.mjs\";\nimport { makeTransitionProps, MaybeTransition } from \"../../composables/transition.mjs\";\nimport { ClickOutside } from \"../../directives/click-outside.mjs\";\nimport { convertToUnit } from \"../../util/helpers.mjs\";\nimport { animate } from \"../../util/animation.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { standardEasing } from \"../../util/easing.mjs\";\nimport { getCurrentInstance } from \"../../util/getCurrentInstance.mjs\";\nimport { getScrollParent } from \"../../util/getScrollParent.mjs\";\nimport { IN_BROWSER } from \"../../util/globals.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nimport { v as vShow, T as Transition } from \"../../runtime-dom.esm-bundler-31hBwcnO.mjs\";\nfunction Scrim(props) {\n const {\n modelValue,\n color,\n ...rest\n } = props;\n return createVNode(Transition, {\n \"name\": \"fade-transition\",\n \"appear\": true\n }, {\n default: () => [props.modelValue && createVNode(\"div\", mergeProps({\n \"class\": [\"v-overlay__scrim\", props.color.backgroundColorClasses.value],\n \"style\": props.color.backgroundColorStyles.value\n }, rest), null)]\n });\n}\nconst makeVOverlayProps = propsFactory({\n absolute: Boolean,\n attach: [Boolean, String, Object],\n closeOnBack: {\n type: Boolean,\n default: true\n },\n contained: Boolean,\n contentClass: null,\n contentProps: null,\n disabled: Boolean,\n opacity: [Number, String],\n noClickAnimation: Boolean,\n modelValue: Boolean,\n persistent: Boolean,\n scrim: {\n type: [Boolean, String],\n default: true\n },\n zIndex: {\n type: [Number, String],\n default: 2e3\n },\n ...makeActivatorProps(),\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeLazyProps(),\n ...makeLocationStrategyProps(),\n ...makeScrollStrategyProps(),\n ...makeThemeProps(),\n ...makeTransitionProps()\n}, \"VOverlay\");\nconst VOverlay = genericComponent()({\n name: \"VOverlay\",\n directives: {\n vClickOutside: ClickOutside\n },\n inheritAttrs: false,\n props: {\n _disableGlobalStack: Boolean,\n ...makeVOverlayProps()\n },\n emits: {\n \"click:outside\": (e) => true,\n \"update:modelValue\": (value) => true,\n keydown: (e) => true,\n afterEnter: () => true,\n afterLeave: () => true\n },\n setup(props, {\n slots,\n attrs,\n emit\n }) {\n const vm = getCurrentInstance(\"VOverlay\");\n const root = ref();\n const scrimEl = ref();\n const contentEl = ref();\n const model = useProxiedModel(props, \"modelValue\");\n const isActive = computed({\n get: () => model.value,\n set: (v) => {\n if (!(v && props.disabled)) model.value = v;\n }\n });\n const {\n themeClasses\n } = provideTheme(props);\n const {\n rtlClasses,\n isRtl\n } = useRtl();\n const {\n hasContent,\n onAfterLeave: _onAfterLeave\n } = useLazy(props, isActive);\n const scrimColor = useBackgroundColor(() => {\n return typeof props.scrim === \"string\" ? props.scrim : null;\n });\n const {\n globalTop,\n localTop,\n stackStyles\n } = useStack(isActive, () => props.zIndex, props._disableGlobalStack);\n const {\n activatorEl,\n activatorRef,\n target,\n targetEl,\n targetRef,\n activatorEvents,\n contentEvents,\n scrimEvents\n } = useActivator(props, {\n isActive,\n isTop: localTop,\n contentEl\n });\n const {\n teleportTarget\n } = useTeleport(() => {\n var _a, _b, _c;\n const target2 = props.attach || props.contained;\n if (target2) return target2;\n const rootNode = ((_a = activatorEl == null ? void 0 : activatorEl.value) == null ? void 0 : _a.getRootNode()) || ((_c = (_b = vm.proxy) == null ? void 0 : _b.$el) == null ? void 0 : _c.getRootNode());\n if (rootNode instanceof ShadowRoot) return rootNode;\n return false;\n });\n const {\n dimensionStyles\n } = useDimension(props);\n const isMounted = useHydration();\n const {\n scopeId\n } = useScopeId();\n watch(() => props.disabled, (v) => {\n if (v) isActive.value = false;\n });\n const {\n contentStyles,\n updateLocation\n } = useLocationStrategies(props, {\n isRtl,\n contentEl,\n target,\n isActive\n });\n useScrollStrategies(props, {\n root,\n contentEl,\n targetEl,\n target,\n isActive,\n updateLocation\n });\n function onClickOutside(e) {\n emit(\"click:outside\", e);\n if (!props.persistent) isActive.value = false;\n else animateClick();\n }\n function closeConditional(e) {\n return isActive.value && globalTop.value && // If using scrim, only close if clicking on it rather than anything opened on top\n (!props.scrim || e.target === scrimEl.value || e instanceof MouseEvent && e.shadowTarget === scrimEl.value);\n }\n IN_BROWSER && watch(isActive, (val) => {\n if (val) {\n window.addEventListener(\"keydown\", onKeydown);\n } else {\n window.removeEventListener(\"keydown\", onKeydown);\n }\n }, {\n immediate: true\n });\n onBeforeUnmount(() => {\n if (!IN_BROWSER) return;\n window.removeEventListener(\"keydown\", onKeydown);\n });\n function onKeydown(e) {\n var _a, _b, _c;\n if (e.key === \"Escape\" && globalTop.value) {\n if (!((_a = contentEl.value) == null ? void 0 : _a.contains(document.activeElement))) {\n emit(\"keydown\", e);\n }\n if (!props.persistent) {\n isActive.value = false;\n if ((_b = contentEl.value) == null ? void 0 : _b.contains(document.activeElement)) {\n (_c = activatorEl.value) == null ? void 0 : _c.focus();\n }\n } else animateClick();\n }\n }\n function onKeydownSelf(e) {\n if (e.key === \"Escape\" && !globalTop.value) return;\n emit(\"keydown\", e);\n }\n const router = useRouter();\n useToggleScope(() => props.closeOnBack, () => {\n useBackButton(router, (next) => {\n if (globalTop.value && isActive.value) {\n next(false);\n if (!props.persistent) isActive.value = false;\n else animateClick();\n } else {\n next();\n }\n });\n });\n const top = ref();\n watch(() => isActive.value && (props.absolute || props.contained) && teleportTarget.value == null, (val) => {\n if (val) {\n const scrollParent = getScrollParent(root.value);\n if (scrollParent && scrollParent !== document.scrollingElement) {\n top.value = scrollParent.scrollTop;\n }\n }\n });\n function animateClick() {\n if (props.noClickAnimation) return;\n contentEl.value && animate(contentEl.value, [{\n transformOrigin: \"center\"\n }, {\n transform: \"scale(1.03)\"\n }, {\n transformOrigin: \"center\"\n }], {\n duration: 150,\n easing: standardEasing\n });\n }\n function onAfterEnter() {\n emit(\"afterEnter\");\n }\n function onAfterLeave() {\n _onAfterLeave();\n emit(\"afterLeave\");\n }\n useRender(() => {\n var _a;\n return createVNode(Fragment, null, [(_a = slots.activator) == null ? void 0 : _a.call(slots, {\n isActive: isActive.value,\n targetRef,\n props: mergeProps({\n ref: activatorRef\n }, activatorEvents.value, props.activatorProps)\n }), isMounted.value && hasContent.value && createVNode(Teleport, {\n \"disabled\": !teleportTarget.value,\n \"to\": teleportTarget.value\n }, {\n default: () => [createVNode(\"div\", mergeProps({\n \"class\": [\"v-overlay\", {\n \"v-overlay--absolute\": props.absolute || props.contained,\n \"v-overlay--active\": isActive.value,\n \"v-overlay--contained\": props.contained\n }, themeClasses.value, rtlClasses.value, props.class],\n \"style\": [stackStyles.value, {\n \"--v-overlay-opacity\": props.opacity,\n top: convertToUnit(top.value)\n }, props.style],\n \"ref\": root,\n \"onKeydown\": onKeydownSelf\n }, scopeId, attrs), [createVNode(Scrim, mergeProps({\n \"color\": scrimColor,\n \"modelValue\": isActive.value && !!props.scrim,\n \"ref\": scrimEl\n }, scrimEvents.value), null), createVNode(MaybeTransition, {\n \"appear\": true,\n \"persisted\": true,\n \"transition\": props.transition,\n \"target\": target.value,\n \"onAfterEnter\": onAfterEnter,\n \"onAfterLeave\": onAfterLeave\n }, {\n default: () => {\n var _a2;\n return [withDirectives(createVNode(\"div\", mergeProps({\n \"ref\": contentEl,\n \"class\": [\"v-overlay__content\", props.contentClass],\n \"style\": [dimensionStyles.value, contentStyles.value]\n }, contentEvents.value, props.contentProps), [(_a2 = slots.default) == null ? void 0 : _a2.call(slots, {\n isActive\n })]), [[vShow, isActive.value], [resolveDirective(\"click-outside\"), {\n handler: onClickOutside,\n closeConditional,\n include: () => [activatorEl.value]\n }]])];\n }\n })])]\n })]);\n });\n return {\n activatorEl,\n scrimEl,\n target,\n animateClick,\n contentEl,\n globalTop,\n localTop,\n updateLocation\n };\n }\n});\nexport {\n VOverlay,\n makeVOverlayProps\n};\n//# sourceMappingURL=VOverlay.mjs.map\n","import { h as useId, t as toRef, e as ref, b as inject, s as shallowRef, p as provide, l as onBeforeUnmount, j as onDeactivated, ab as nextTick, n as watch, d as computed, v as mergeProps, q as createVNode } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport \"../transitions.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/VDefaultsProvider.mjs\";\nimport { makeVOverlayProps, VOverlay } from \"../VOverlay/VOverlay.mjs\";\nimport { forwardRefs } from \"../../composables/forwardRefs.mjs\";\nimport { useRtl } from \"../../composables/locale.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { useScopeId } from \"../../composables/scopeId.mjs\";\nimport { VMenuSymbol } from \"./shared.mjs\";\nimport { omit, focusableChildren, focusChild, getNextElement, isClickInsideElement } from \"../../util/helpers.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { IN_BROWSER } from \"../../util/globals.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nimport { VDialogTransition } from \"../transitions/dialog-transition.mjs\";\nconst makeVMenuProps = propsFactory({\n // TODO\n // disableKeys: Boolean,\n id: String,\n submenu: Boolean,\n disableInitialFocus: Boolean,\n ...omit(makeVOverlayProps({\n closeDelay: 250,\n closeOnContentClick: true,\n locationStrategy: \"connected\",\n location: void 0,\n openDelay: 300,\n scrim: false,\n scrollStrategy: \"reposition\",\n transition: {\n component: VDialogTransition\n }\n }), [\"absolute\"])\n}, \"VMenu\");\nconst VMenu = genericComponent()({\n name: \"VMenu\",\n props: makeVMenuProps(),\n emits: {\n \"update:modelValue\": (value) => true\n },\n setup(props, {\n slots\n }) {\n const isActive = useProxiedModel(props, \"modelValue\");\n const {\n scopeId\n } = useScopeId();\n const {\n isRtl\n } = useRtl();\n const uid = useId();\n const id = toRef(() => props.id || `v-menu-${uid}`);\n const overlay = ref();\n const parent = inject(VMenuSymbol, null);\n const openChildren = shallowRef(/* @__PURE__ */ new Set());\n provide(VMenuSymbol, {\n register() {\n openChildren.value.add(uid);\n },\n unregister() {\n openChildren.value.delete(uid);\n },\n closeParents(e) {\n setTimeout(() => {\n var _a;\n if (!openChildren.value.size && !props.persistent && (e == null || ((_a = overlay.value) == null ? void 0 : _a.contentEl) && !isClickInsideElement(e, overlay.value.contentEl))) {\n isActive.value = false;\n parent == null ? void 0 : parent.closeParents();\n }\n }, 40);\n }\n });\n onBeforeUnmount(() => {\n parent == null ? void 0 : parent.unregister();\n document.removeEventListener(\"focusin\", onFocusIn);\n });\n onDeactivated(() => isActive.value = false);\n async function onFocusIn(e) {\n var _a, _b, _c;\n const before = e.relatedTarget;\n const after = e.target;\n await nextTick();\n if (isActive.value && before !== after && ((_a = overlay.value) == null ? void 0 : _a.contentEl) && // We're the topmost menu\n ((_b = overlay.value) == null ? void 0 : _b.globalTop) && // It isn't the document or the menu body\n ![document, overlay.value.contentEl].includes(after) && // It isn't inside the menu body\n !overlay.value.contentEl.contains(after)) {\n const focusable = focusableChildren(overlay.value.contentEl);\n (_c = focusable[0]) == null ? void 0 : _c.focus();\n }\n }\n watch(isActive, (val) => {\n if (val) {\n parent == null ? void 0 : parent.register();\n if (IN_BROWSER && !props.disableInitialFocus) {\n document.addEventListener(\"focusin\", onFocusIn, {\n once: true\n });\n }\n } else {\n parent == null ? void 0 : parent.unregister();\n if (IN_BROWSER) {\n document.removeEventListener(\"focusin\", onFocusIn);\n }\n }\n }, {\n immediate: true\n });\n function onClickOutside(e) {\n parent == null ? void 0 : parent.closeParents(e);\n }\n function onKeydown(e) {\n var _a, _b, _c, _d, _e;\n if (props.disabled) return;\n if (e.key === \"Tab\" || e.key === \"Enter\" && !props.closeOnContentClick) {\n if (e.key === \"Enter\" && (e.target instanceof HTMLTextAreaElement || e.target instanceof HTMLInputElement && !!e.target.closest(\"form\"))) return;\n if (e.key === \"Enter\") e.preventDefault();\n const nextElement = getNextElement(focusableChildren((_a = overlay.value) == null ? void 0 : _a.contentEl, false), e.shiftKey ? \"prev\" : \"next\", (el) => el.tabIndex >= 0);\n if (!nextElement) {\n isActive.value = false;\n (_c = (_b = overlay.value) == null ? void 0 : _b.activatorEl) == null ? void 0 : _c.focus();\n }\n } else if (props.submenu && e.key === (isRtl.value ? \"ArrowRight\" : \"ArrowLeft\")) {\n isActive.value = false;\n (_e = (_d = overlay.value) == null ? void 0 : _d.activatorEl) == null ? void 0 : _e.focus();\n }\n }\n function onActivatorKeydown(e) {\n var _a;\n if (props.disabled) return;\n const el = (_a = overlay.value) == null ? void 0 : _a.contentEl;\n if (el && isActive.value) {\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n e.stopImmediatePropagation();\n focusChild(el, \"next\");\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n e.stopImmediatePropagation();\n focusChild(el, \"prev\");\n } else if (props.submenu) {\n if (e.key === (isRtl.value ? \"ArrowRight\" : \"ArrowLeft\")) {\n isActive.value = false;\n } else if (e.key === (isRtl.value ? \"ArrowLeft\" : \"ArrowRight\")) {\n e.preventDefault();\n focusChild(el, \"first\");\n }\n }\n } else if (props.submenu ? e.key === (isRtl.value ? \"ArrowLeft\" : \"ArrowRight\") : [\"ArrowDown\", \"ArrowUp\"].includes(e.key)) {\n isActive.value = true;\n e.preventDefault();\n setTimeout(() => setTimeout(() => onActivatorKeydown(e)));\n }\n }\n const activatorProps = computed(() => mergeProps({\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": String(isActive.value),\n \"aria-controls\": id.value,\n onKeydown: onActivatorKeydown\n }, props.activatorProps));\n useRender(() => {\n const overlayProps = VOverlay.filterProps(props);\n return createVNode(VOverlay, mergeProps({\n \"ref\": overlay,\n \"id\": id.value,\n \"class\": [\"v-menu\", props.class],\n \"style\": props.style\n }, overlayProps, {\n \"modelValue\": isActive.value,\n \"onUpdate:modelValue\": ($event) => isActive.value = $event,\n \"absolute\": true,\n \"activatorProps\": activatorProps.value,\n \"location\": props.location ?? (props.submenu ? \"end\" : \"bottom\"),\n \"onClick:outside\": onClickOutside,\n \"onKeydown\": onKeydown\n }, scopeId), {\n activator: slots.activator,\n default: (...args) => createVNode(VDefaultsProvider, {\n \"root\": \"VMenu\"\n }, {\n default: () => {\n var _a;\n return [(_a = slots.default) == null ? void 0 : _a.call(slots, ...args)];\n }\n })\n });\n });\n return forwardRefs({\n id,\n ΨopenChildren: openChildren\n }, overlay);\n }\n});\nexport {\n VMenu,\n makeVMenuProps\n};\n//# sourceMappingURL=VMenu.mjs.map\n","import { t as toRef, q as createVNode, y as withDirectives } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { VSlideYTransition } from \"../transitions.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeTransitionProps, MaybeTransition } from \"../../composables/transition.mjs\";\nimport \"../../util/helpers.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nimport { v as vShow } from \"../../runtime-dom.esm-bundler-31hBwcnO.mjs\";\nconst makeVCounterProps = propsFactory({\n active: Boolean,\n disabled: Boolean,\n max: [Number, String],\n value: {\n type: [Number, String],\n default: 0\n },\n ...makeComponentProps(),\n ...makeTransitionProps({\n transition: {\n component: VSlideYTransition\n }\n })\n}, \"VCounter\");\nconst VCounter = genericComponent()({\n name: \"VCounter\",\n functional: true,\n props: makeVCounterProps(),\n setup(props, {\n slots\n }) {\n const counter = toRef(() => {\n return props.max ? `${props.value} / ${props.max}` : String(props.value);\n });\n useRender(() => createVNode(MaybeTransition, {\n \"transition\": props.transition\n }, {\n default: () => [withDirectives(createVNode(\"div\", {\n \"class\": [\"v-counter\", {\n \"text-error\": props.max && !props.disabled && parseFloat(props.value) > parseFloat(props.max)\n }, props.class],\n \"style\": props.style\n }, [slots.default ? slots.default({\n counter: counter.value,\n max: props.max,\n value: props.value\n }) : counter.value]), [[vShow, props.active]])]\n }));\n return {};\n }\n});\nexport {\n VCounter,\n makeVCounterProps\n};\n//# sourceMappingURL=VCounter.mjs.map\n","import { q as createVNode } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { VLabel } from \"../VLabel/VLabel.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport \"../../util/helpers.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nconst makeVFieldLabelProps = propsFactory({\n floating: Boolean,\n ...makeComponentProps()\n}, \"VFieldLabel\");\nconst VFieldLabel = genericComponent()({\n name: \"VFieldLabel\",\n props: makeVFieldLabelProps(),\n setup(props, {\n slots\n }) {\n useRender(() => createVNode(VLabel, {\n \"class\": [\"v-field-label\", {\n \"v-field-label--floating\": props.floating\n }, props.class],\n \"style\": props.style\n }, slots));\n return {};\n }\n});\nexport {\n VFieldLabel,\n makeVFieldLabelProps\n};\n//# sourceMappingURL=VFieldLabel.mjs.map\n","import { t as toRef, h as useId, d as computed, e as ref, n as watch, q as createVNode, y as withDirectives, F as Fragment, v as mergeProps } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { VFieldLabel } from \"./VFieldLabel.mjs\";\nimport { VExpandXTransition } from \"../transitions.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/VDefaultsProvider.mjs\";\nimport { useInputIcon } from \"../VInput/InputIcon.mjs\";\nimport { useBackgroundColor, useTextColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeFocusProps, useFocus } from \"../../composables/focus.mjs\";\nimport { I as IconValue } from \"../../mdi-CVSg0Nll.mjs\";\nimport { makeLoaderProps, useLoader, LoaderSlot } from \"../../composables/loader.mjs\";\nimport { useRtl } from \"../../composables/locale.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\";\nimport { EventProp, convertToUnit } from \"../../util/helpers.mjs\";\nimport { nullifyTransforms, animate } from \"../../util/animation.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { standardEasing } from \"../../util/easing.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nimport { v as vShow } from \"../../runtime-dom.esm-bundler-31hBwcnO.mjs\";\nconst allowedVariants = [\"underlined\", \"outlined\", \"filled\", \"solo\", \"solo-inverted\", \"solo-filled\", \"plain\"];\nconst makeVFieldProps = propsFactory({\n appendInnerIcon: IconValue,\n bgColor: String,\n clearable: Boolean,\n clearIcon: {\n type: IconValue,\n default: \"$clear\"\n },\n active: Boolean,\n centerAffix: {\n type: Boolean,\n default: void 0\n },\n color: String,\n baseColor: String,\n details: Boolean,\n dirty: Boolean,\n disabled: {\n type: Boolean,\n default: null\n },\n glow: Boolean,\n error: Boolean,\n flat: Boolean,\n iconColor: [Boolean, String],\n label: String,\n persistentClear: Boolean,\n prependInnerIcon: IconValue,\n reverse: Boolean,\n singleLine: Boolean,\n variant: {\n type: String,\n default: \"filled\",\n validator: (v) => allowedVariants.includes(v)\n },\n \"onClick:clear\": EventProp(),\n \"onClick:appendInner\": EventProp(),\n \"onClick:prependInner\": EventProp(),\n ...makeComponentProps(),\n ...makeLoaderProps(),\n ...makeRoundedProps(),\n ...makeThemeProps()\n}, \"VField\");\nconst VField = genericComponent()({\n name: \"VField\",\n inheritAttrs: false,\n props: {\n id: String,\n ...makeFocusProps(),\n ...makeVFieldProps()\n },\n emits: {\n \"update:focused\": (focused) => true,\n \"update:modelValue\": (value) => true\n },\n setup(props, {\n attrs,\n emit,\n slots\n }) {\n const {\n themeClasses\n } = provideTheme(props);\n const {\n loaderClasses\n } = useLoader(props);\n const {\n focusClasses,\n isFocused,\n focus,\n blur\n } = useFocus(props);\n const {\n InputIcon\n } = useInputIcon(props);\n const {\n roundedClasses\n } = useRounded(props);\n const {\n rtlClasses\n } = useRtl();\n const isActive = toRef(() => props.dirty || props.active);\n const hasLabel = toRef(() => !!(props.label || slots.label));\n const hasFloatingLabel = toRef(() => !props.singleLine && hasLabel.value);\n const uid = useId();\n const id = computed(() => props.id || `input-${uid}`);\n const messagesId = toRef(() => !props.details ? void 0 : `${id.value}-messages`);\n const labelRef = ref();\n const floatingLabelRef = ref();\n const controlRef = ref();\n const isPlainOrUnderlined = computed(() => [\"plain\", \"underlined\"].includes(props.variant));\n const color = computed(() => {\n return props.error || props.disabled ? void 0 : isActive.value && isFocused.value ? props.color : props.baseColor;\n });\n const iconColor = computed(() => {\n if (!props.iconColor || props.glow && !isFocused.value) return void 0;\n return props.iconColor === true ? color.value : props.iconColor;\n });\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(() => props.bgColor);\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(color);\n watch(isActive, (val) => {\n if (hasFloatingLabel.value) {\n const el = labelRef.value.$el;\n const targetEl = floatingLabelRef.value.$el;\n requestAnimationFrame(() => {\n const rect = nullifyTransforms(el);\n const targetRect = targetEl.getBoundingClientRect();\n const x = targetRect.x - rect.x;\n const y = targetRect.y - rect.y - (rect.height / 2 - targetRect.height / 2);\n const targetWidth = targetRect.width / 0.75;\n const width = Math.abs(targetWidth - rect.width) > 1 ? {\n maxWidth: convertToUnit(targetWidth)\n } : void 0;\n const style = getComputedStyle(el);\n const targetStyle = getComputedStyle(targetEl);\n const duration = parseFloat(style.transitionDuration) * 1e3 || 150;\n const scale = parseFloat(targetStyle.getPropertyValue(\"--v-field-label-scale\"));\n const color2 = targetStyle.getPropertyValue(\"color\");\n el.style.visibility = \"visible\";\n targetEl.style.visibility = \"hidden\";\n animate(el, {\n transform: `translate(${x}px, ${y}px) scale(${scale})`,\n color: color2,\n ...width\n }, {\n duration,\n easing: standardEasing,\n direction: val ? \"normal\" : \"reverse\"\n }).finished.then(() => {\n el.style.removeProperty(\"visibility\");\n targetEl.style.removeProperty(\"visibility\");\n });\n });\n }\n }, {\n flush: \"post\"\n });\n const slotProps = computed(() => ({\n isActive,\n isFocused,\n controlRef,\n blur,\n focus\n }));\n function onClick(e) {\n if (e.target !== document.activeElement) {\n e.preventDefault();\n }\n }\n useRender(() => {\n var _a, _b, _c;\n const isOutlined = props.variant === \"outlined\";\n const hasPrepend = !!(slots[\"prepend-inner\"] || props.prependInnerIcon);\n const hasClear = !!(props.clearable || slots.clear) && !props.disabled;\n const hasAppend = !!(slots[\"append-inner\"] || props.appendInnerIcon || hasClear);\n const label = () => slots.label ? slots.label({\n ...slotProps.value,\n label: props.label,\n props: {\n for: id.value\n }\n }) : props.label;\n return createVNode(\"div\", mergeProps({\n \"class\": [\"v-field\", {\n \"v-field--active\": isActive.value,\n \"v-field--appended\": hasAppend,\n \"v-field--center-affix\": props.centerAffix ?? !isPlainOrUnderlined.value,\n \"v-field--disabled\": props.disabled,\n \"v-field--dirty\": props.dirty,\n \"v-field--error\": props.error,\n \"v-field--glow\": props.glow,\n \"v-field--flat\": props.flat,\n \"v-field--has-background\": !!props.bgColor,\n \"v-field--persistent-clear\": props.persistentClear,\n \"v-field--prepended\": hasPrepend,\n \"v-field--reverse\": props.reverse,\n \"v-field--single-line\": props.singleLine,\n \"v-field--no-label\": !label(),\n [`v-field--variant-${props.variant}`]: true\n }, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value, rtlClasses.value, props.class],\n \"style\": [backgroundColorStyles.value, props.style],\n \"onClick\": onClick\n }, attrs), [createVNode(\"div\", {\n \"class\": \"v-field__overlay\"\n }, null), createVNode(LoaderSlot, {\n \"name\": \"v-field\",\n \"active\": !!props.loading,\n \"color\": props.error ? \"error\" : typeof props.loading === \"string\" ? props.loading : props.color\n }, {\n default: slots.loader\n }), hasPrepend && createVNode(\"div\", {\n \"key\": \"prepend\",\n \"class\": \"v-field__prepend-inner\"\n }, [props.prependInnerIcon && createVNode(InputIcon, {\n \"key\": \"prepend-icon\",\n \"name\": \"prependInner\",\n \"color\": iconColor.value\n }, null), (_a = slots[\"prepend-inner\"]) == null ? void 0 : _a.call(slots, slotProps.value)]), createVNode(\"div\", {\n \"class\": \"v-field__field\",\n \"data-no-activator\": \"\"\n }, [[\"filled\", \"solo\", \"solo-inverted\", \"solo-filled\"].includes(props.variant) && hasFloatingLabel.value && createVNode(VFieldLabel, {\n \"key\": \"floating-label\",\n \"ref\": floatingLabelRef,\n \"class\": [textColorClasses.value],\n \"floating\": true,\n \"for\": id.value,\n \"aria-hidden\": !isActive.value,\n \"style\": textColorStyles.value\n }, {\n default: () => [label()]\n }), hasLabel.value && createVNode(VFieldLabel, {\n \"key\": \"label\",\n \"ref\": labelRef,\n \"for\": id.value\n }, {\n default: () => [label()]\n }), ((_b = slots.default) == null ? void 0 : _b.call(slots, {\n ...slotProps.value,\n props: {\n id: id.value,\n class: \"v-field__input\",\n \"aria-describedby\": messagesId.value\n },\n focus,\n blur\n })) ?? createVNode(\"div\", {\n \"id\": id.value,\n \"class\": \"v-field__input\",\n \"aria-describedby\": messagesId.value\n }, null)]), hasClear && createVNode(VExpandXTransition, {\n \"key\": \"clear\"\n }, {\n default: () => [withDirectives(createVNode(\"div\", {\n \"class\": \"v-field__clearable\",\n \"onMousedown\": (e) => {\n e.preventDefault();\n e.stopPropagation();\n }\n }, [createVNode(VDefaultsProvider, {\n \"defaults\": {\n VIcon: {\n icon: props.clearIcon\n }\n }\n }, {\n default: () => [slots.clear ? slots.clear({\n ...slotProps.value,\n props: {\n onFocus: focus,\n onBlur: blur,\n onClick: props[\"onClick:clear\"],\n tabindex: -1\n }\n }) : createVNode(InputIcon, {\n \"name\": \"clear\",\n \"onFocus\": focus,\n \"onBlur\": blur,\n \"tabindex\": -1\n }, null)]\n })]), [[vShow, props.dirty]])]\n }), hasAppend && createVNode(\"div\", {\n \"key\": \"append\",\n \"class\": \"v-field__append-inner\"\n }, [(_c = slots[\"append-inner\"]) == null ? void 0 : _c.call(slots, slotProps.value), props.appendInnerIcon && createVNode(InputIcon, {\n \"key\": \"append-icon\",\n \"name\": \"appendInner\",\n \"color\": iconColor.value\n }, null)]), createVNode(\"div\", {\n \"class\": [\"v-field__outline\", textColorClasses.value],\n \"style\": textColorStyles.value\n }, [isOutlined && createVNode(Fragment, null, [createVNode(\"div\", {\n \"class\": \"v-field__outline__start\"\n }, null), hasFloatingLabel.value && createVNode(\"div\", {\n \"class\": \"v-field__outline__notch\"\n }, [createVNode(VFieldLabel, {\n \"ref\": floatingLabelRef,\n \"floating\": true,\n \"for\": id.value,\n \"aria-hidden\": !isActive.value\n }, {\n default: () => [label()]\n })]), createVNode(\"div\", {\n \"class\": \"v-field__outline__end\"\n }, null)]), isPlainOrUnderlined.value && hasFloatingLabel.value && createVNode(VFieldLabel, {\n \"ref\": floatingLabelRef,\n \"floating\": true,\n \"for\": id.value,\n \"aria-hidden\": !isActive.value\n }, {\n default: () => [label()]\n })])]);\n });\n return {\n controlRef,\n fieldIconColor: iconColor\n };\n }\n});\nexport {\n VField,\n makeVFieldProps\n};\n//# sourceMappingURL=VField.mjs.map\n","function useAutofocus(props) {\n function onIntersect(isIntersecting, entries) {\n var _a, _b;\n if (!props.autofocus || !isIntersecting) return;\n (_b = (_a = entries[0].target) == null ? void 0 : _a.focus) == null ? void 0 : _b.call(_a);\n }\n return {\n onIntersect\n };\n}\nexport {\n useAutofocus\n};\n//# sourceMappingURL=autofocus.mjs.map\n","import { d as computed, e as ref, q as createVNode, F as Fragment, v as mergeProps, y as withDirectives, z as resolveDirective, ah as cloneVNode, ab as nextTick } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\n/* empty css */\nimport { VCounter } from \"../VCounter/VCounter.mjs\";\nimport { makeVFieldProps, VField } from \"../VField/VField.mjs\";\nimport { makeVInputProps, VInput } from \"../VInput/VInput.mjs\";\nimport { useAutofocus } from \"../../composables/autofocus.mjs\";\nimport { useFocus } from \"../../composables/focus.mjs\";\nimport { forwardRefs } from \"../../composables/forwardRefs.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { Intersect } from \"../../directives/intersect.mjs\";\nimport { filterInputAttrs, omit, callEvent } from \"../../util/helpers.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nconst activeTypes = [\"color\", \"file\", \"time\", \"date\", \"datetime-local\", \"week\", \"month\"];\nconst makeVTextFieldProps = propsFactory({\n autofocus: Boolean,\n counter: [Boolean, Number, String],\n counterValue: [Number, Function],\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n suffix: String,\n role: String,\n type: {\n type: String,\n default: \"text\"\n },\n modelModifiers: Object,\n ...makeVInputProps(),\n ...makeVFieldProps()\n}, \"VTextField\");\nconst VTextField = genericComponent()({\n name: \"VTextField\",\n directives: {\n vIntersect: Intersect\n },\n inheritAttrs: false,\n props: makeVTextFieldProps(),\n emits: {\n \"click:control\": (e) => true,\n \"mousedown:control\": (e) => true,\n \"update:focused\": (focused) => true,\n \"update:modelValue\": (val) => true\n },\n setup(props, {\n attrs,\n emit,\n slots\n }) {\n const model = useProxiedModel(props, \"modelValue\");\n const {\n isFocused,\n focus,\n blur\n } = useFocus(props);\n const {\n onIntersect\n } = useAutofocus(props);\n const counterValue = computed(() => {\n return typeof props.counterValue === \"function\" ? props.counterValue(model.value) : typeof props.counterValue === \"number\" ? props.counterValue : (model.value ?? \"\").toString().length;\n });\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength;\n if (!props.counter || typeof props.counter !== \"number\" && typeof props.counter !== \"string\") return void 0;\n return props.counter;\n });\n const isPlainOrUnderlined = computed(() => [\"plain\", \"underlined\"].includes(props.variant));\n const vInputRef = ref();\n const vFieldRef = ref();\n const inputRef = ref();\n const isActive = computed(() => activeTypes.includes(props.type) || props.persistentPlaceholder || isFocused.value || props.active);\n function onFocus() {\n if (!isFocused.value) focus();\n nextTick(() => {\n var _a;\n if (inputRef.value !== document.activeElement) {\n (_a = inputRef.value) == null ? void 0 : _a.focus();\n }\n });\n }\n function onControlMousedown(e) {\n emit(\"mousedown:control\", e);\n if (e.target === inputRef.value) return;\n onFocus();\n e.preventDefault();\n }\n function onControlClick(e) {\n emit(\"click:control\", e);\n }\n function onClear(e, reset) {\n e.stopPropagation();\n onFocus();\n nextTick(() => {\n model.value = null;\n reset();\n callEvent(props[\"onClick:clear\"], e);\n });\n }\n function onInput(e) {\n var _a;\n const el = e.target;\n model.value = el.value;\n if (((_a = props.modelModifiers) == null ? void 0 : _a.trim) && [\"text\", \"search\", \"password\", \"tel\", \"url\"].includes(props.type)) {\n const caretPosition = [el.selectionStart, el.selectionEnd];\n nextTick(() => {\n el.selectionStart = caretPosition[0];\n el.selectionEnd = caretPosition[1];\n });\n }\n }\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter !== false && props.counter != null);\n const hasDetails = !!(hasCounter || slots.details);\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);\n const {\n modelValue: _,\n ...inputProps\n } = VInput.filterProps(props);\n const fieldProps = VField.filterProps(props);\n return createVNode(VInput, mergeProps({\n \"ref\": vInputRef,\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": ($event) => model.value = $event,\n \"class\": [\"v-text-field\", {\n \"v-text-field--prefixed\": props.prefix,\n \"v-text-field--suffixed\": props.suffix,\n \"v-input--plain-underlined\": isPlainOrUnderlined.value\n }, props.class],\n \"style\": props.style\n }, rootAttrs, inputProps, {\n \"centerAffix\": !isPlainOrUnderlined.value,\n \"focused\": isFocused.value\n }), {\n ...slots,\n default: ({\n id,\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n hasDetails: hasDetails2,\n reset\n }) => createVNode(VField, mergeProps({\n \"ref\": vFieldRef,\n \"onMousedown\": onControlMousedown,\n \"onClick\": onControlClick,\n \"onClick:clear\": (e) => onClear(e, reset),\n \"onClick:prependInner\": props[\"onClick:prependInner\"],\n \"onClick:appendInner\": props[\"onClick:appendInner\"],\n \"role\": props.role\n }, omit(fieldProps, [\"onClick:clear\"]), {\n \"id\": id.value,\n \"active\": isActive.value || isDirty.value,\n \"dirty\": isDirty.value || props.dirty,\n \"disabled\": isDisabled.value,\n \"focused\": isFocused.value,\n \"details\": hasDetails2.value,\n \"error\": isValid.value === false\n }), {\n ...slots,\n default: ({\n props: {\n class: fieldClass,\n ...slotProps\n }\n }) => {\n const inputNode = withDirectives(createVNode(\"input\", mergeProps({\n \"ref\": inputRef,\n \"value\": model.value,\n \"onInput\": onInput,\n \"autofocus\": props.autofocus,\n \"readonly\": isReadonly.value,\n \"disabled\": isDisabled.value,\n \"name\": props.name,\n \"placeholder\": props.placeholder,\n \"size\": 1,\n \"role\": props.role,\n \"type\": props.type,\n \"onFocus\": focus,\n \"onBlur\": blur\n }, slotProps, inputAttrs), null), [[resolveDirective(\"intersect\"), {\n handler: onIntersect\n }, null, {\n once: true\n }]]);\n return createVNode(Fragment, null, [props.prefix && createVNode(\"span\", {\n \"class\": \"v-text-field__prefix\"\n }, [createVNode(\"span\", {\n \"class\": \"v-text-field__prefix__text\"\n }, [props.prefix])]), slots.default ? createVNode(\"div\", {\n \"class\": fieldClass,\n \"data-no-activator\": \"\"\n }, [slots.default(), inputNode]) : cloneVNode(inputNode, {\n class: fieldClass\n }), props.suffix && createVNode(\"span\", {\n \"class\": \"v-text-field__suffix\"\n }, [createVNode(\"span\", {\n \"class\": \"v-text-field__suffix__text\"\n }, [props.suffix])])]);\n }\n }),\n details: hasDetails ? (slotProps) => {\n var _a;\n return createVNode(Fragment, null, [(_a = slots.details) == null ? void 0 : _a.call(slots, slotProps), hasCounter && createVNode(Fragment, null, [createVNode(\"span\", null, null), createVNode(VCounter, {\n \"active\": props.persistentCounter || isFocused.value,\n \"value\": counterValue.value,\n \"max\": max.value,\n \"disabled\": props.disabled\n }, slots.counter)])]);\n } : void 0\n });\n });\n return forwardRefs({}, vInputRef, vFieldRef, inputRef);\n }\n});\nexport {\n VTextField,\n makeVTextFieldProps\n};\n//# sourceMappingURL=VTextField.mjs.map\n","import { n as watch, q as createVNode, F as Fragment, v as mergeProps } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { useResizeObserver } from \"../../composables/resizeObserver.mjs\";\nimport \"../../util/helpers.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nconst makeVVirtualScrollItemProps = propsFactory({\n renderless: Boolean,\n ...makeComponentProps()\n}, \"VVirtualScrollItem\");\nconst VVirtualScrollItem = genericComponent()({\n name: \"VVirtualScrollItem\",\n inheritAttrs: false,\n props: makeVVirtualScrollItemProps(),\n emits: {\n \"update:height\": (height) => true\n },\n setup(props, {\n attrs,\n emit,\n slots\n }) {\n const {\n resizeRef,\n contentRect\n } = useResizeObserver(void 0, \"border\");\n watch(() => {\n var _a;\n return (_a = contentRect.value) == null ? void 0 : _a.height;\n }, (height) => {\n if (height != null) emit(\"update:height\", height);\n });\n useRender(() => {\n var _a, _b;\n return props.renderless ? createVNode(Fragment, null, [(_a = slots.default) == null ? void 0 : _a.call(slots, {\n itemRef: resizeRef\n })]) : createVNode(\"div\", mergeProps({\n \"ref\": resizeRef,\n \"class\": [\"v-virtual-scroll__item\", props.class],\n \"style\": props.style\n }, attrs), [(_b = slots.default) == null ? void 0 : _b.call(slots)]);\n });\n }\n});\nexport {\n VVirtualScrollItem,\n makeVVirtualScrollItemProps\n};\n//# sourceMappingURL=VVirtualScrollItem.mjs.map\n","import { useDisplay } from \"./display.mjs\";\nimport { useResizeObserver } from \"./resizeObserver.mjs\";\nimport { s as shallowRef, w as watchEffect, e as ref, d as computed, n as watch, o as onScopeDispose, ab as nextTick } from \"../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { debounce, clamp, getPropertyFromItem } from \"../util/helpers.mjs\";\nimport { propsFactory } from \"../util/propsFactory.mjs\";\nimport { IN_BROWSER } from \"../util/globals.mjs\";\nconst UP = -1;\nconst DOWN = 1;\nconst BUFFER_PX = 100;\nconst makeVirtualProps = propsFactory(\n {\n itemHeight: {\n type: [Number, String],\n default: null\n },\n itemKey: {\n type: [String, Array, Function],\n default: null\n },\n height: [Number, String]\n },\n \"virtual\"\n);\nfunction useVirtual(props, items) {\n const display = useDisplay();\n const itemHeight = shallowRef(0);\n watchEffect(() => {\n itemHeight.value = parseFloat(props.itemHeight || 0);\n });\n const first = shallowRef(0);\n const last = shallowRef(\n Math.ceil(\n // Assume 16px items filling the entire screen height if\n // not provided. This is probably incorrect but it minimises\n // the chance of ending up with empty space at the bottom.\n // The default value is set here to avoid poisoning getSize()\n (parseInt(props.height) || display.height.value) / (itemHeight.value || 16)\n ) || 1\n );\n const paddingTop = shallowRef(0);\n const paddingBottom = shallowRef(0);\n const containerRef = ref();\n const markerRef = ref();\n let markerOffset = 0;\n const { resizeRef, contentRect } = useResizeObserver();\n watchEffect(() => {\n resizeRef.value = containerRef.value;\n });\n const viewportHeight = computed(() => {\n var _a;\n return containerRef.value === document.documentElement ? display.height.value : ((_a = contentRect.value) == null ? void 0 : _a.height) || parseInt(props.height) || 0;\n });\n const hasInitialRender = computed(() => {\n return !!(containerRef.value && markerRef.value && viewportHeight.value && itemHeight.value);\n });\n let sizes = Array.from({ length: items.value.length });\n let offsets = Array.from({ length: items.value.length });\n const updateTime = shallowRef(0);\n let targetScrollIndex = -1;\n function getSize(index) {\n return sizes[index] || itemHeight.value;\n }\n const updateOffsets = debounce(() => {\n const start = performance.now();\n offsets[0] = 0;\n const length = items.value.length;\n for (let i = 1; i <= length - 1; i++) {\n offsets[i] = (offsets[i - 1] || 0) + getSize(i - 1);\n }\n updateTime.value = Math.max(updateTime.value, performance.now() - start);\n }, updateTime);\n const unwatch = watch(hasInitialRender, (v) => {\n if (!v) return;\n unwatch();\n markerOffset = markerRef.value.offsetTop;\n updateOffsets.immediate();\n calculateVisibleItems();\n if (!~targetScrollIndex) return;\n nextTick(() => {\n IN_BROWSER && window.requestAnimationFrame(() => {\n scrollToIndex(targetScrollIndex);\n targetScrollIndex = -1;\n });\n });\n });\n onScopeDispose(() => {\n updateOffsets.clear();\n });\n function handleItemResize(index, height) {\n const prevHeight = sizes[index];\n const prevMinHeight = itemHeight.value;\n itemHeight.value = prevMinHeight ? Math.min(itemHeight.value, height) : height;\n if (prevHeight !== height || prevMinHeight !== itemHeight.value) {\n sizes[index] = height;\n updateOffsets();\n }\n }\n function calculateOffset(index) {\n index = clamp(index, 0, items.value.length - 1);\n const whole = Math.floor(index);\n const fraction = index % 1;\n const next = whole + 1;\n const wholeOffset = offsets[whole] || 0;\n const nextOffset = offsets[next] || wholeOffset;\n return wholeOffset + (nextOffset - wholeOffset) * fraction;\n }\n function calculateIndex(scrollTop) {\n return binaryClosest(offsets, scrollTop);\n }\n let lastScrollTop = 0;\n let scrollVelocity = 0;\n let lastScrollTime = 0;\n watch(viewportHeight, (val, oldVal) => {\n if (oldVal) {\n calculateVisibleItems();\n if (val < oldVal) {\n requestAnimationFrame(() => {\n scrollVelocity = 0;\n calculateVisibleItems();\n });\n }\n }\n });\n let scrollTimeout = -1;\n function handleScroll() {\n if (!containerRef.value || !markerRef.value) return;\n const scrollTop = containerRef.value.scrollTop;\n const scrollTime = performance.now();\n const scrollDeltaT = scrollTime - lastScrollTime;\n if (scrollDeltaT > 500) {\n scrollVelocity = Math.sign(scrollTop - lastScrollTop);\n markerOffset = markerRef.value.offsetTop;\n } else {\n scrollVelocity = scrollTop - lastScrollTop;\n }\n lastScrollTop = scrollTop;\n lastScrollTime = scrollTime;\n window.clearTimeout(scrollTimeout);\n scrollTimeout = window.setTimeout(handleScrollend, 500);\n calculateVisibleItems();\n }\n function handleScrollend() {\n if (!containerRef.value || !markerRef.value) return;\n scrollVelocity = 0;\n lastScrollTime = 0;\n window.clearTimeout(scrollTimeout);\n calculateVisibleItems();\n }\n let raf = -1;\n function calculateVisibleItems() {\n cancelAnimationFrame(raf);\n raf = requestAnimationFrame(_calculateVisibleItems);\n }\n function _calculateVisibleItems() {\n if (!containerRef.value || !viewportHeight.value || !itemHeight.value)\n return;\n const scrollTop = lastScrollTop - markerOffset;\n const direction = Math.sign(scrollVelocity);\n const startPx = Math.max(0, scrollTop - BUFFER_PX);\n const start = clamp(calculateIndex(startPx), 0, items.value.length);\n const endPx = scrollTop + viewportHeight.value + BUFFER_PX;\n const end = clamp(calculateIndex(endPx) + 1, start + 1, items.value.length);\n if (\n // Only update the side we're scrolling towards,\n // the other side will be updated incidentally\n (direction !== UP || start < first.value) && (direction !== DOWN || end > last.value)\n ) {\n const topOverflow = calculateOffset(first.value) - calculateOffset(start);\n const bottomOverflow = calculateOffset(end) - calculateOffset(last.value);\n const bufferOverflow = Math.max(topOverflow, bottomOverflow);\n if (bufferOverflow > BUFFER_PX) {\n first.value = start;\n last.value = end;\n } else {\n if (start <= 0) first.value = start;\n if (end >= items.value.length) last.value = end;\n }\n }\n paddingTop.value = calculateOffset(first.value);\n paddingBottom.value = calculateOffset(items.value.length) - calculateOffset(last.value);\n }\n function scrollToIndex(index) {\n const offset = calculateOffset(index);\n if (!containerRef.value || index && !offset) {\n targetScrollIndex = index;\n } else {\n containerRef.value.scrollTop = offset;\n }\n }\n const computedItems = computed(() => {\n return items.value.slice(first.value, last.value).map((item, index) => {\n const _index = index + first.value;\n return {\n raw: item,\n index: _index,\n key: getPropertyFromItem(item, props.itemKey, _index)\n };\n });\n });\n watch(\n items,\n () => {\n sizes = Array.from({ length: items.value.length });\n offsets = Array.from({ length: items.value.length });\n updateOffsets.immediate();\n calculateVisibleItems();\n },\n { deep: 1 }\n );\n return {\n calculateVisibleItems,\n containerRef,\n markerRef,\n computedItems,\n paddingTop,\n paddingBottom,\n scrollToIndex,\n handleScroll,\n handleScrollend,\n handleItemResize\n };\n}\nfunction binaryClosest(arr, val) {\n let high = arr.length - 1;\n let low = 0;\n let mid = 0;\n let item = null;\n let target = -1;\n if (arr[high] < val) {\n return high;\n }\n while (low <= high) {\n mid = low + high >> 1;\n item = arr[mid];\n if (item > val) {\n high = mid - 1;\n } else if (item < val) {\n target = mid;\n low = mid + 1;\n } else if (item === val) {\n return mid;\n } else {\n return low;\n }\n }\n return target;\n}\nexport {\n makeVirtualProps,\n useVirtual\n};\n//# sourceMappingURL=virtual.mjs.map\n","import { t as toRef, g as onMounted, o as onScopeDispose, q as createVNode, F as Fragment } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { VVirtualScrollItem } from \"./VVirtualScrollItem.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { useToggleScope } from \"../../composables/toggleScope.mjs\";\nimport { makeVirtualProps, useVirtual } from \"../../composables/virtual.mjs\";\nimport { convertToUnit } from \"../../util/helpers.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { getCurrentInstance } from \"../../util/getCurrentInstance.mjs\";\nimport { getScrollParent } from \"../../util/getScrollParent.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nconst makeVVirtualScrollProps = propsFactory({\n items: {\n type: Array,\n default: () => []\n },\n renderless: Boolean,\n ...makeVirtualProps(),\n ...makeComponentProps(),\n ...makeDimensionProps()\n}, \"VVirtualScroll\");\nconst VVirtualScroll = genericComponent()({\n name: \"VVirtualScroll\",\n props: makeVVirtualScrollProps(),\n setup(props, {\n slots\n }) {\n const vm = getCurrentInstance(\"VVirtualScroll\");\n const {\n dimensionStyles\n } = useDimension(props);\n const {\n calculateVisibleItems,\n containerRef,\n markerRef,\n handleScroll,\n handleScrollend,\n handleItemResize,\n scrollToIndex,\n paddingTop,\n paddingBottom,\n computedItems\n } = useVirtual(props, toRef(() => props.items));\n useToggleScope(() => props.renderless, () => {\n function handleListeners(add = false) {\n var _a, _b;\n const method = add ? \"addEventListener\" : \"removeEventListener\";\n if (containerRef.value === document.documentElement) {\n document[method](\"scroll\", handleScroll, {\n passive: true\n });\n document[method](\"scrollend\", handleScrollend);\n } else {\n (_a = containerRef.value) == null ? void 0 : _a[method](\"scroll\", handleScroll, {\n passive: true\n });\n (_b = containerRef.value) == null ? void 0 : _b[method](\"scrollend\", handleScrollend);\n }\n }\n onMounted(() => {\n containerRef.value = getScrollParent(vm.vnode.el, true);\n handleListeners(true);\n });\n onScopeDispose(handleListeners);\n });\n useRender(() => {\n const children = computedItems.value.map((item) => createVNode(VVirtualScrollItem, {\n \"key\": item.key,\n \"renderless\": props.renderless,\n \"onUpdate:height\": (height) => handleItemResize(item.index, height)\n }, {\n default: (slotProps) => {\n var _a;\n return (_a = slots.default) == null ? void 0 : _a.call(slots, {\n item: item.raw,\n index: item.index,\n ...slotProps\n });\n }\n }));\n return props.renderless ? createVNode(Fragment, null, [createVNode(\"div\", {\n \"ref\": markerRef,\n \"class\": \"v-virtual-scroll__spacer\",\n \"style\": {\n paddingTop: convertToUnit(paddingTop.value)\n }\n }, null), children, createVNode(\"div\", {\n \"class\": \"v-virtual-scroll__spacer\",\n \"style\": {\n paddingBottom: convertToUnit(paddingBottom.value)\n }\n }, null)]) : createVNode(\"div\", {\n \"ref\": containerRef,\n \"class\": [\"v-virtual-scroll\", props.class],\n \"onScrollPassive\": handleScroll,\n \"onScrollend\": handleScrollend,\n \"style\": [dimensionStyles.value, props.style]\n }, [createVNode(\"div\", {\n \"ref\": markerRef,\n \"class\": \"v-virtual-scroll__container\",\n \"style\": {\n paddingTop: convertToUnit(paddingTop.value),\n paddingBottom: convertToUnit(paddingBottom.value)\n }\n }, [children])]);\n });\n return {\n calculateVisibleItems,\n scrollToIndex\n };\n }\n});\nexport {\n VVirtualScroll,\n makeVVirtualScrollProps\n};\n//# sourceMappingURL=VVirtualScroll.mjs.map\n","import { s as shallowRef, n as watch } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nfunction useScrolling(listRef, textFieldRef) {\n const isScrolling = shallowRef(false);\n let scrollTimeout;\n function onListScroll(e) {\n cancelAnimationFrame(scrollTimeout);\n isScrolling.value = true;\n scrollTimeout = requestAnimationFrame(() => {\n scrollTimeout = requestAnimationFrame(() => {\n isScrolling.value = false;\n });\n });\n }\n async function finishScrolling() {\n await new Promise((resolve) => requestAnimationFrame(resolve));\n await new Promise((resolve) => requestAnimationFrame(resolve));\n await new Promise((resolve) => requestAnimationFrame(resolve));\n await new Promise((resolve) => {\n if (isScrolling.value) {\n const stop = watch(isScrolling, () => {\n stop();\n resolve();\n });\n } else resolve();\n });\n }\n async function onListKeydown(e) {\n var _a, _b;\n if (e.key === \"Tab\") {\n (_a = textFieldRef.value) == null ? void 0 : _a.focus();\n }\n if (![\"PageDown\", \"PageUp\", \"Home\", \"End\"].includes(e.key)) return;\n const el = (_b = listRef.value) == null ? void 0 : _b.$el;\n if (!el) return;\n if (e.key === \"Home\" || e.key === \"End\") {\n el.scrollTo({\n top: e.key === \"Home\" ? 0 : el.scrollHeight,\n behavior: \"smooth\"\n });\n }\n await finishScrolling();\n const children = el.querySelectorAll(\n \":scope > :not(.v-virtual-scroll__spacer)\"\n );\n if (e.key === \"PageDown\" || e.key === \"Home\") {\n const top = el.getBoundingClientRect().top;\n for (const child of children) {\n if (child.getBoundingClientRect().top >= top) {\n child.focus();\n break;\n }\n }\n } else {\n const bottom = el.getBoundingClientRect().bottom;\n for (const child of [...children].reverse()) {\n if (child.getBoundingClientRect().bottom <= bottom) {\n child.focus();\n break;\n }\n }\n }\n }\n return {\n onScrollPassive: onListScroll,\n onKeydown: onListKeydown\n };\n}\nexport {\n useScrolling\n};\n//# sourceMappingURL=useScrolling.mjs.map\n","import { e as ref, d as computed, s as shallowRef, t as toRef, n as watch, q as createVNode, F as Fragment, v as mergeProps, ac as createTextVNode, ab as nextTick } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport \"../transitions.mjs\";\nimport { VAvatar } from \"../VAvatar/VAvatar.mjs\";\nimport \"../VCheckbox/VCheckbox.mjs\";\nimport { VCheckboxBtn } from \"../VCheckbox/VCheckboxBtn.mjs\";\nimport { VChip } from \"../VChip/VChip.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/VDefaultsProvider.mjs\";\nimport { VDivider } from \"../VDivider/VDivider.mjs\";\nimport { VIcon } from \"../VIcon/VIcon.mjs\";\nimport { I as IconValue } from \"../../mdi-CVSg0Nll.mjs\";\nimport { VList } from \"../VList/VList.mjs\";\nimport \"../VList/VListGroup.mjs\";\nimport \"../VList/VListImg.mjs\";\nimport { VListItem } from \"../VList/VListItem.mjs\";\nimport \"../VList/VListItemAction.mjs\";\nimport \"../VList/VListItemMedia.mjs\";\nimport \"../VList/VListItemSubtitle.mjs\";\nimport \"../VList/VListItemTitle.mjs\";\nimport { VListSubheader } from \"../VList/VListSubheader.mjs\";\nimport { VMenu } from \"../VMenu/VMenu.mjs\";\nimport { makeVTextFieldProps, VTextField } from \"../VTextField/VTextField.mjs\";\nimport { VVirtualScroll } from \"../VVirtualScroll/VVirtualScroll.mjs\";\nimport { useScrolling } from \"./useScrolling.mjs\";\nimport { useForm } from \"../../composables/form.mjs\";\nimport { forwardRefs } from \"../../composables/forwardRefs.mjs\";\nimport { makeItemsProps, useItems } from \"../../composables/list-items.mjs\";\nimport { useLocale } from \"../../composables/locale.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { makeTransitionProps } from \"../../composables/transition.mjs\";\nimport { omit, wrapInArray, deepEqual, camelizeProps, ensureValidVNode, checkPrintable, matchesSelector } from \"../../util/helpers.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { IN_BROWSER } from \"../../util/globals.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nimport { VDialogTransition } from \"../transitions/dialog-transition.mjs\";\nconst makeSelectProps = propsFactory({\n chips: Boolean,\n closableChips: Boolean,\n closeText: {\n type: String,\n default: \"$vuetify.close\"\n },\n openText: {\n type: String,\n default: \"$vuetify.open\"\n },\n eager: Boolean,\n hideNoData: Boolean,\n hideSelected: Boolean,\n listProps: {\n type: Object\n },\n menu: Boolean,\n menuIcon: {\n type: IconValue,\n default: \"$dropdown\"\n },\n menuProps: {\n type: Object\n },\n multiple: Boolean,\n noDataText: {\n type: String,\n default: \"$vuetify.noDataText\"\n },\n openOnClear: Boolean,\n itemColor: String,\n noAutoScroll: Boolean,\n ...makeItemsProps({\n itemChildren: false\n })\n}, \"Select\");\nconst makeVSelectProps = propsFactory({\n ...makeSelectProps(),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n role: \"combobox\"\n }), [\"validationValue\", \"dirty\", \"appendInnerIcon\"]),\n ...makeTransitionProps({\n transition: {\n component: VDialogTransition\n }\n })\n}, \"VSelect\");\nconst VSelect = genericComponent()({\n name: \"VSelect\",\n props: makeVSelectProps(),\n emits: {\n \"update:focused\": (focused) => true,\n \"update:modelValue\": (value) => true,\n \"update:menu\": (ue) => true\n },\n setup(props, {\n slots\n }) {\n const {\n t\n } = useLocale();\n const vTextFieldRef = ref();\n const vMenuRef = ref();\n const vVirtualScrollRef = ref();\n const {\n items,\n transformIn,\n transformOut\n } = useItems(props);\n const model = useProxiedModel(props, \"modelValue\", [], (v) => transformIn(v === null ? [null] : wrapInArray(v)), (v) => {\n const transformed = transformOut(v);\n return props.multiple ? transformed : transformed[0] ?? null;\n });\n const counterValue = computed(() => {\n return typeof props.counterValue === \"function\" ? props.counterValue(model.value) : typeof props.counterValue === \"number\" ? props.counterValue : model.value.length;\n });\n const form = useForm(props);\n const selectedValues = computed(() => model.value.map((selection) => selection.value));\n const isFocused = shallowRef(false);\n let keyboardLookupPrefix = \"\";\n let keyboardLookupIndex = -1;\n let keyboardLookupLastTime;\n const displayItems = computed(() => {\n if (props.hideSelected) {\n return items.value.filter((item) => !model.value.some((s) => (props.valueComparator || deepEqual)(s, item)));\n }\n return items.value;\n });\n const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);\n const _menu = useProxiedModel(props, \"menu\");\n const menu = computed({\n get: () => _menu.value,\n set: (v) => {\n var _a;\n if (_menu.value && !v && ((_a = vMenuRef.value) == null ? void 0 : _a.ΨopenChildren.size)) return;\n if (v && menuDisabled.value) return;\n _menu.value = v;\n }\n });\n const label = toRef(() => menu.value ? props.closeText : props.openText);\n const computedMenuProps = computed(() => {\n var _a;\n return {\n ...props.menuProps,\n activatorProps: {\n ...((_a = props.menuProps) == null ? void 0 : _a.activatorProps) || {},\n \"aria-haspopup\": \"listbox\"\n // Set aria-haspopup to 'listbox'\n }\n };\n });\n const listRef = ref();\n const listEvents = useScrolling(listRef, vTextFieldRef);\n function onClear(e) {\n if (props.openOnClear) {\n menu.value = true;\n }\n }\n function onMousedownControl() {\n if (menuDisabled.value) return;\n menu.value = !menu.value;\n }\n function onListKeydown(e) {\n if (checkPrintable(e)) {\n onKeydown(e);\n }\n }\n function onKeydown(e) {\n var _a, _b, _c;\n if (!e.key || form.isReadonly.value) return;\n if ([\"Enter\", \" \", \"ArrowDown\", \"ArrowUp\", \"Home\", \"End\"].includes(e.key)) {\n e.preventDefault();\n }\n if ([\"Enter\", \"ArrowDown\", \" \"].includes(e.key)) {\n menu.value = true;\n }\n if ([\"Escape\", \"Tab\"].includes(e.key)) {\n menu.value = false;\n }\n if (e.key === \"Home\") {\n (_a = listRef.value) == null ? void 0 : _a.focus(\"first\");\n } else if (e.key === \"End\") {\n (_b = listRef.value) == null ? void 0 : _b.focus(\"last\");\n }\n const KEYBOARD_LOOKUP_THRESHOLD = 1e3;\n if (!checkPrintable(e)) return;\n const now = performance.now();\n if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n keyboardLookupPrefix = \"\";\n keyboardLookupIndex = -1;\n }\n keyboardLookupPrefix += e.key.toLowerCase();\n keyboardLookupLastTime = now;\n const items2 = displayItems.value;\n function findItem() {\n let result2 = findItemBase();\n if (result2) return result2;\n if (keyboardLookupPrefix.at(-1) === keyboardLookupPrefix.at(-2)) {\n keyboardLookupPrefix = keyboardLookupPrefix.slice(0, -1);\n result2 = findItemBase();\n if (result2) return result2;\n }\n keyboardLookupIndex = -1;\n result2 = findItemBase();\n if (result2) return result2;\n keyboardLookupPrefix = e.key.toLowerCase();\n return findItemBase();\n }\n function findItemBase() {\n for (let i = keyboardLookupIndex + 1; i < items2.length; i++) {\n const _item = items2[i];\n if (_item.title.toLowerCase().startsWith(keyboardLookupPrefix)) {\n return [_item, i];\n }\n }\n return void 0;\n }\n const result = findItem();\n if (!result) return;\n const [item, index] = result;\n keyboardLookupIndex = index;\n (_c = listRef.value) == null ? void 0 : _c.focus(index);\n if (!props.multiple) {\n model.value = [item];\n }\n }\n function select(item, set = true) {\n if (item.props.disabled) return;\n if (props.multiple) {\n const index = model.value.findIndex((selection) => (props.valueComparator || deepEqual)(selection.value, item.value));\n const add = set == null ? !~index : set;\n if (~index) {\n const value = add ? [...model.value, item] : [...model.value];\n value.splice(index, 1);\n model.value = value;\n } else if (add) {\n model.value = [...model.value, item];\n }\n } else {\n const add = set !== false;\n model.value = add ? [item] : [];\n nextTick(() => {\n menu.value = false;\n });\n }\n }\n function onBlur(e) {\n var _a;\n if (!((_a = listRef.value) == null ? void 0 : _a.$el.contains(e.relatedTarget))) {\n menu.value = false;\n }\n }\n function onAfterEnter() {\n var _a;\n if (props.eager) {\n (_a = vVirtualScrollRef.value) == null ? void 0 : _a.calculateVisibleItems();\n }\n }\n function onAfterLeave() {\n var _a;\n if (isFocused.value) {\n (_a = vTextFieldRef.value) == null ? void 0 : _a.focus();\n }\n }\n function onFocusin(e) {\n isFocused.value = true;\n }\n function onModelUpdate(v) {\n if (v == null) model.value = [];\n else if (matchesSelector(vTextFieldRef.value, \":autofill\") || matchesSelector(vTextFieldRef.value, \":-webkit-autofill\")) {\n const item = items.value.find((item2) => item2.title === v);\n if (item) {\n select(item);\n }\n } else if (vTextFieldRef.value) {\n vTextFieldRef.value.value = \"\";\n }\n }\n watch(menu, () => {\n if (!props.hideSelected && menu.value && model.value.length) {\n const index = displayItems.value.findIndex((item) => model.value.some((s) => (props.valueComparator || deepEqual)(s.value, item.value)));\n IN_BROWSER && !props.noAutoScroll && window.requestAnimationFrame(() => {\n var _a;\n index >= 0 && ((_a = vVirtualScrollRef.value) == null ? void 0 : _a.scrollToIndex(index));\n });\n }\n });\n watch(() => props.items, (newVal, oldVal) => {\n if (menu.value) return;\n if (isFocused.value && props.hideNoData && !oldVal.length && newVal.length) {\n menu.value = true;\n }\n });\n useRender(() => {\n const hasChips = !!(props.chips || slots.chip);\n const hasList = !!(!props.hideNoData || displayItems.value.length || slots[\"prepend-item\"] || slots[\"append-item\"] || slots[\"no-data\"]);\n const isDirty = model.value.length > 0;\n const textFieldProps = VTextField.filterProps(props);\n const placeholder = isDirty || !isFocused.value && props.label && !props.persistentPlaceholder ? void 0 : props.placeholder;\n return createVNode(VTextField, mergeProps({\n \"ref\": vTextFieldRef\n }, textFieldProps, {\n \"modelValue\": model.value.map((v) => v.props.title).join(\", \"),\n \"onUpdate:modelValue\": onModelUpdate,\n \"focused\": isFocused.value,\n \"onUpdate:focused\": ($event) => isFocused.value = $event,\n \"validationValue\": model.externalValue,\n \"counterValue\": counterValue.value,\n \"dirty\": isDirty,\n \"class\": [\"v-select\", {\n \"v-select--active-menu\": menu.value,\n \"v-select--chips\": !!props.chips,\n [`v-select--${props.multiple ? \"multiple\" : \"single\"}`]: true,\n \"v-select--selected\": model.value.length,\n \"v-select--selection-slot\": !!slots.selection\n }, props.class],\n \"style\": props.style,\n \"inputmode\": \"none\",\n \"placeholder\": placeholder,\n \"onClick:clear\": onClear,\n \"onMousedown:control\": onMousedownControl,\n \"onBlur\": onBlur,\n \"onKeydown\": onKeydown,\n \"aria-label\": t(label.value),\n \"title\": t(label.value)\n }), {\n ...slots,\n default: () => createVNode(Fragment, null, [createVNode(VMenu, mergeProps({\n \"ref\": vMenuRef,\n \"modelValue\": menu.value,\n \"onUpdate:modelValue\": ($event) => menu.value = $event,\n \"activator\": \"parent\",\n \"contentClass\": \"v-select__content\",\n \"disabled\": menuDisabled.value,\n \"eager\": props.eager,\n \"maxHeight\": 310,\n \"openOnClick\": false,\n \"closeOnContentClick\": false,\n \"transition\": props.transition,\n \"onAfterEnter\": onAfterEnter,\n \"onAfterLeave\": onAfterLeave\n }, computedMenuProps.value), {\n default: () => [hasList && createVNode(VList, mergeProps({\n \"ref\": listRef,\n \"selected\": selectedValues.value,\n \"selectStrategy\": props.multiple ? \"independent\" : \"single-independent\",\n \"onMousedown\": (e) => e.preventDefault(),\n \"onKeydown\": onListKeydown,\n \"onFocusin\": onFocusin,\n \"tabindex\": \"-1\",\n \"aria-live\": \"polite\",\n \"aria-label\": `${props.label}-list`,\n \"color\": props.itemColor ?? props.color\n }, listEvents, props.listProps), {\n default: () => {\n var _a, _b, _c;\n return [(_a = slots[\"prepend-item\"]) == null ? void 0 : _a.call(slots), !displayItems.value.length && !props.hideNoData && (((_b = slots[\"no-data\"]) == null ? void 0 : _b.call(slots)) ?? createVNode(VListItem, {\n \"key\": \"no-data\",\n \"title\": t(props.noDataText)\n }, null)), createVNode(VVirtualScroll, {\n \"ref\": vVirtualScrollRef,\n \"renderless\": true,\n \"items\": displayItems.value,\n \"itemKey\": \"value\"\n }, {\n default: ({\n item,\n index,\n itemRef\n }) => {\n var _a2, _b2, _c2;\n const camelizedProps = camelizeProps(item.props);\n const itemProps = mergeProps(item.props, {\n ref: itemRef,\n key: item.value,\n onClick: () => select(item, null)\n });\n if (item.type === \"divider\") {\n return ((_a2 = slots.divider) == null ? void 0 : _a2.call(slots, {\n props: item.raw,\n index\n })) ?? createVNode(VDivider, mergeProps(item.props, {\n \"key\": `divider-${index}`\n }), null);\n }\n if (item.type === \"subheader\") {\n return ((_b2 = slots.subheader) == null ? void 0 : _b2.call(slots, {\n props: item.raw,\n index\n })) ?? createVNode(VListSubheader, mergeProps(item.props, {\n \"key\": `subheader-${index}`\n }), null);\n }\n return ((_c2 = slots.item) == null ? void 0 : _c2.call(slots, {\n item,\n index,\n props: itemProps\n })) ?? createVNode(VListItem, mergeProps(itemProps, {\n \"role\": \"option\"\n }), {\n prepend: ({\n isSelected\n }) => createVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {\n \"key\": item.value,\n \"modelValue\": isSelected,\n \"ripple\": false,\n \"tabindex\": \"-1\"\n }, null) : void 0, camelizedProps.prependAvatar && createVNode(VAvatar, {\n \"image\": camelizedProps.prependAvatar\n }, null), camelizedProps.prependIcon && createVNode(VIcon, {\n \"icon\": camelizedProps.prependIcon\n }, null)])\n });\n }\n }), (_c = slots[\"append-item\"]) == null ? void 0 : _c.call(slots)];\n }\n })]\n }), model.value.map((item, index) => {\n function onChipClose(e) {\n e.stopPropagation();\n e.preventDefault();\n select(item, false);\n }\n const slotProps = {\n \"onClick:close\": onChipClose,\n onKeydown(e) {\n if (e.key !== \"Enter\" && e.key !== \" \") return;\n e.preventDefault();\n e.stopPropagation();\n onChipClose(e);\n },\n onMousedown(e) {\n e.preventDefault();\n e.stopPropagation();\n },\n modelValue: true,\n \"onUpdate:modelValue\": void 0\n };\n const hasSlot = hasChips ? !!slots.chip : !!slots.selection;\n const slotContent = hasSlot ? ensureValidVNode(hasChips ? slots.chip({\n item,\n index,\n props: slotProps\n }) : slots.selection({\n item,\n index\n })) : void 0;\n if (hasSlot && !slotContent) return void 0;\n return createVNode(\"div\", {\n \"key\": item.value,\n \"class\": \"v-select__selection\"\n }, [hasChips ? !slots.chip ? createVNode(VChip, mergeProps({\n \"key\": \"chip\",\n \"closable\": props.closableChips,\n \"size\": \"small\",\n \"text\": item.title,\n \"disabled\": item.props.disabled\n }, slotProps), null) : createVNode(VDefaultsProvider, {\n \"key\": \"chip-defaults\",\n \"defaults\": {\n VChip: {\n closable: props.closableChips,\n size: \"small\",\n text: item.title\n }\n }\n }, {\n default: () => [slotContent]\n }) : slotContent ?? createVNode(\"span\", {\n \"class\": \"v-select__selection-text\"\n }, [item.title, props.multiple && index < model.value.length - 1 && createVNode(\"span\", {\n \"class\": \"v-select__selection-comma\"\n }, [createTextVNode(\",\")])])]);\n })]),\n \"append-inner\": (...args) => {\n var _a, _b;\n return createVNode(Fragment, null, [(_a = slots[\"append-inner\"]) == null ? void 0 : _a.call(slots, ...args), props.menuIcon ? createVNode(VIcon, {\n \"class\": \"v-select__menu-icon\",\n \"color\": (_b = vTextFieldRef.value) == null ? void 0 : _b.fieldIconColor,\n \"icon\": props.menuIcon\n }, null) : void 0]);\n }\n });\n });\n return forwardRefs({\n isFocused,\n menu,\n select\n }, vTextFieldRef);\n }\n});\nexport {\n VSelect,\n makeSelectProps,\n makeVSelectProps\n};\n//# sourceMappingURL=VSelect.mjs.map\n","import { s as shallowRef, d as computed, u as unref, w as watchEffect, q as createVNode, F as Fragment } from \"../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { wrapInArray, getPropertyFromItem } from \"../util/helpers.mjs\";\nimport { propsFactory } from \"../util/propsFactory.mjs\";\nconst defaultFilter = (value, query, item) => {\n if (value == null || query == null) return -1;\n if (!query.length) return 0;\n value = value.toString().toLocaleLowerCase();\n query = query.toString().toLocaleLowerCase();\n const result = [];\n let idx = value.indexOf(query);\n while (~idx) {\n result.push([idx, idx + query.length]);\n idx = value.indexOf(query, idx + query.length);\n }\n return result.length ? result : -1;\n};\nfunction normaliseMatch(match, query) {\n if (match == null || typeof match === \"boolean\" || match === -1) return;\n if (typeof match === \"number\") return [[match, match + query.length]];\n if (Array.isArray(match[0])) return match;\n return [match];\n}\nconst makeFilterProps = propsFactory({\n customFilter: Function,\n customKeyFilter: Object,\n filterKeys: [Array, String],\n filterMode: {\n type: String,\n default: \"intersection\"\n },\n noFilter: Boolean\n}, \"filter\");\nfunction filterItems(items, query, options) {\n var _a;\n const array = [];\n const filter = (options == null ? void 0 : options.default) ?? defaultFilter;\n const keys = (options == null ? void 0 : options.filterKeys) ? wrapInArray(options.filterKeys) : false;\n const customFiltersLength = Object.keys((options == null ? void 0 : options.customKeyFilter) ?? {}).length;\n if (!(items == null ? void 0 : items.length)) return array;\n loop: for (let i = 0; i < items.length; i++) {\n const [item, transformed = item] = wrapInArray(items[i]);\n const customMatches = {};\n const defaultMatches = {};\n let match = -1;\n if ((query || customFiltersLength > 0) && !(options == null ? void 0 : options.noFilter)) {\n let hasOnlyCustomFilters = false;\n if (typeof item === \"object\") {\n if (item.type === \"divider\" || item.type === \"subheader\") {\n continue;\n }\n const filterKeys = keys || Object.keys(transformed);\n hasOnlyCustomFilters = filterKeys.length === customFiltersLength;\n for (const key of filterKeys) {\n const value = getPropertyFromItem(transformed, key);\n const keyFilter = (_a = options == null ? void 0 : options.customKeyFilter) == null ? void 0 : _a[key];\n match = keyFilter ? keyFilter(value, query, item) : filter(value, query, item);\n if (match !== -1 && match !== false) {\n if (keyFilter) customMatches[key] = normaliseMatch(match, query);\n else defaultMatches[key] = normaliseMatch(match, query);\n } else if ((options == null ? void 0 : options.filterMode) === \"every\") {\n continue loop;\n }\n }\n } else {\n match = filter(item, query, item);\n if (match !== -1 && match !== false) {\n defaultMatches.title = normaliseMatch(match, query);\n }\n }\n const defaultMatchesLength = Object.keys(defaultMatches).length;\n const customMatchesLength = Object.keys(customMatches).length;\n if (!defaultMatchesLength && !customMatchesLength) continue;\n if ((options == null ? void 0 : options.filterMode) === \"union\" && customMatchesLength !== customFiltersLength && !defaultMatchesLength) continue;\n if ((options == null ? void 0 : options.filterMode) === \"intersection\" && (customMatchesLength !== customFiltersLength || !defaultMatchesLength && customFiltersLength > 0 && !hasOnlyCustomFilters)) continue;\n }\n array.push({\n index: i,\n matches: {\n ...defaultMatches,\n ...customMatches\n }\n });\n }\n return array;\n}\nfunction useFilter(props, items, query, options) {\n const filteredItems = shallowRef([]);\n const filteredMatches = shallowRef(/* @__PURE__ */ new Map());\n const transformedItems = computed(() => (options == null ? void 0 : options.transform) ? unref(items).map((item) => [item, options.transform(item)]) : unref(items));\n watchEffect(() => {\n const _query = typeof query === \"function\" ? query() : unref(query);\n const strQuery = typeof _query !== \"string\" && typeof _query !== \"number\" ? \"\" : String(_query);\n const results = filterItems(transformedItems.value, strQuery, {\n customKeyFilter: {\n ...props.customKeyFilter,\n ...unref(options == null ? void 0 : options.customKeyFilter)\n },\n default: props.customFilter,\n filterKeys: props.filterKeys,\n filterMode: props.filterMode,\n noFilter: props.noFilter\n });\n const originalItems = unref(items);\n const _filteredItems = [];\n const _filteredMatches = /* @__PURE__ */ new Map();\n results.forEach(({\n index,\n matches\n }) => {\n const item = originalItems[index];\n _filteredItems.push(item);\n _filteredMatches.set(item.value, matches);\n });\n filteredItems.value = _filteredItems;\n filteredMatches.value = _filteredMatches;\n });\n function getMatches(item) {\n return filteredMatches.value.get(item.value);\n }\n return {\n filteredItems,\n filteredMatches,\n getMatches\n };\n}\nfunction highlightResult(name, text, matches) {\n if (matches == null || !matches.length) return text;\n return matches.map((match, i) => {\n const start = i === 0 ? 0 : matches[i - 1][1];\n const result = [createVNode(\"span\", {\n \"class\": `${name}__unmask`\n }, [text.slice(start, match[0])]), createVNode(\"span\", {\n \"class\": `${name}__mask`\n }, [text.slice(match[0], match[1])])];\n if (i === matches.length - 1) {\n result.push(createVNode(\"span\", {\n \"class\": `${name}__unmask`\n }, [text.slice(match[1])]));\n }\n return createVNode(Fragment, null, [result]);\n });\n}\nexport {\n defaultFilter,\n filterItems,\n highlightResult,\n makeFilterProps,\n useFilter\n};\n//# sourceMappingURL=filter.mjs.map\n","import { e as ref, s as shallowRef, d as computed, ab as nextTick, t as toRef, n as watch, q as createVNode, F as Fragment, v as mergeProps, ac as createTextVNode } from \"../../vue.runtime.esm-bundler-BRffRTPw.mjs\";\nimport { VAvatar } from \"../VAvatar/VAvatar.mjs\";\nimport \"../VCheckbox/VCheckbox.mjs\";\nimport { VCheckboxBtn } from \"../VCheckbox/VCheckboxBtn.mjs\";\nimport { VChip } from \"../VChip/VChip.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/VDefaultsProvider.mjs\";\nimport { VDivider } from \"../VDivider/VDivider.mjs\";\nimport { VIcon } from \"../VIcon/VIcon.mjs\";\nimport \"../../mdi-CVSg0Nll.mjs\";\nimport { VList } from \"../VList/VList.mjs\";\nimport \"../VList/VListGroup.mjs\";\nimport \"../VList/VListImg.mjs\";\nimport { VListItem } from \"../VList/VListItem.mjs\";\nimport \"../VList/VListItemAction.mjs\";\nimport \"../VList/VListItemMedia.mjs\";\nimport \"../VList/VListItemSubtitle.mjs\";\nimport \"../VList/VListItemTitle.mjs\";\nimport { VListSubheader } from \"../VList/VListSubheader.mjs\";\nimport { VMenu } from \"../VMenu/VMenu.mjs\";\nimport { makeSelectProps } from \"../VSelect/VSelect.mjs\";\nimport { makeVTextFieldProps, VTextField } from \"../VTextField/VTextField.mjs\";\nimport { VVirtualScroll } from \"../VVirtualScroll/VVirtualScroll.mjs\";\nimport { useScrolling } from \"../VSelect/useScrolling.mjs\";\nimport { useTextColor } from \"../../composables/color.mjs\";\nimport { makeFilterProps, useFilter, highlightResult } from \"../../composables/filter.mjs\";\nimport { useForm } from \"../../composables/form.mjs\";\nimport { forwardRefs } from \"../../composables/forwardRefs.mjs\";\nimport { useItems, transformItem } from \"../../composables/list-items.mjs\";\nimport { useLocale } from \"../../composables/locale.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { makeTransitionProps } from \"../../composables/transition.mjs\";\nimport { omit, wrapInArray, escapeForRegex, deepEqual, noop, ensureValidVNode, checkPrintable, isComposingIgnoreKey } from \"../../util/helpers.mjs\";\nimport { propsFactory } from \"../../util/propsFactory.mjs\";\nimport { genericComponent } from \"../../util/defineComponent.mjs\";\nimport { IN_BROWSER } from \"../../util/globals.mjs\";\nimport { useRender } from \"../../util/useRender.mjs\";\nconst makeVComboboxProps = propsFactory({\n autoSelectFirst: {\n type: [Boolean, String]\n },\n clearOnSelect: {\n type: Boolean,\n default: true\n },\n delimiters: Array,\n ...makeFilterProps({\n filterKeys: [\"title\"]\n }),\n ...makeSelectProps({\n hideNoData: false,\n returnObject: true\n }),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n role: \"combobox\"\n }), [\"validationValue\", \"dirty\", \"appendInnerIcon\"]),\n ...makeTransitionProps({\n transition: false\n })\n}, \"VCombobox\");\nconst VCombobox = genericComponent()({\n name: \"VCombobox\",\n props: makeVComboboxProps(),\n emits: {\n \"update:focused\": (focused) => true,\n \"update:modelValue\": (value) => true,\n \"update:search\": (value) => true,\n \"update:menu\": (value) => true\n },\n setup(props, {\n emit,\n slots\n }) {\n var _a;\n const {\n t\n } = useLocale();\n const vTextFieldRef = ref();\n const isFocused = shallowRef(false);\n const isPristine = shallowRef(true);\n const listHasFocus = shallowRef(false);\n const showAllItemsForNoMatch = shallowRef(false);\n const vMenuRef = ref();\n const vVirtualScrollRef = ref();\n const selectionIndex = shallowRef(-1);\n let cleared = false;\n const {\n items,\n transformIn,\n transformOut\n } = useItems(props);\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(() => {\n var _a2;\n return (_a2 = vTextFieldRef.value) == null ? void 0 : _a2.color;\n });\n const model = useProxiedModel(props, \"modelValue\", [], (v) => transformIn(wrapInArray(v)), (v) => {\n const transformed = transformOut(v);\n return props.multiple ? transformed : transformed[0] ?? null;\n });\n const form = useForm(props);\n const hasChips = computed(() => !!(props.chips || slots.chip));\n const hasSelectionSlot = computed(() => hasChips.value || !!slots.selection);\n const _search = shallowRef(!props.multiple && !hasSelectionSlot.value ? ((_a = model.value[0]) == null ? void 0 : _a.title) ?? \"\" : \"\");\n const search = computed({\n get: () => {\n return _search.value;\n },\n set: async (val) => {\n var _a2;\n _search.value = val ?? \"\";\n if (!props.multiple && !hasSelectionSlot.value) {\n model.value = [transformItem(props, val)];\n nextTick(() => {\n var _a3;\n return (_a3 = vVirtualScrollRef.value) == null ? void 0 : _a3.scrollToIndex(0);\n });\n }\n if (val && props.multiple && ((_a2 = props.delimiters) == null ? void 0 : _a2.length)) {\n const signsToMatch = props.delimiters.map(escapeForRegex).join(\"|\");\n const values = val.split(new RegExp(`(?:${signsToMatch})+`));\n if (values.length > 1) {\n for (let v of values) {\n v = v.trim();\n if (v) {\n select(transformItem(props, v));\n await nextTick();\n }\n }\n _search.value = \"\";\n }\n }\n if (!val) selectionIndex.value = -1;\n isPristine.value = !val;\n }\n });\n const counterValue = computed(() => {\n return typeof props.counterValue === \"function\" ? props.counterValue(model.value) : typeof props.counterValue === \"number\" ? props.counterValue : props.multiple ? model.value.length : search.value.length;\n });\n const {\n filteredItems,\n getMatches\n } = useFilter(props, items, () => isPristine.value ? \"\" : search.value);\n const displayItems = computed(() => {\n if (props.hideSelected) {\n return filteredItems.value.filter((filteredItem) => !model.value.some((s) => s.value === filteredItem.value));\n }\n if (filteredItems.value.length === 0 && showAllItemsForNoMatch.value) {\n return items.value;\n }\n return filteredItems.value;\n });\n const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);\n const _menu = useProxiedModel(props, \"menu\");\n const menu = computed({\n get: () => _menu.value,\n set: (v) => {\n var _a2;\n if (_menu.value && !v && ((_a2 = vMenuRef.value) == null ? void 0 : _a2.ΨopenChildren.size)) return;\n if (v && menuDisabled.value) return;\n _menu.value = v;\n }\n });\n const label = toRef(() => menu.value ? props.closeText : props.openText);\n watch(_search, (value) => {\n showAllItemsForNoMatch.value = false;\n if (cleared) {\n nextTick(() => cleared = false);\n } else if (isFocused.value && !menu.value) {\n menu.value = true;\n }\n isPristine.value = !value;\n emit(\"update:search\", value);\n });\n watch(model, (value) => {\n var _a2;\n if (!props.multiple && !hasSelectionSlot.value) {\n _search.value = ((_a2 = value[0]) == null ? void 0 : _a2.title) ?? \"\";\n }\n });\n const selectedValues = computed(() => model.value.map((selection) => selection.value));\n const highlightFirst = computed(() => {\n var _a2;\n const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === \"exact\" && search.value === ((_a2 = displayItems.value[0]) == null ? void 0 : _a2.title);\n return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;\n });\n const listRef = ref();\n const listEvents = useScrolling(listRef, vTextFieldRef);\n function onClear(e) {\n cleared = true;\n if (props.openOnClear) {\n menu.value = true;\n }\n }\n function onMousedownControl() {\n if (menuDisabled.value) return;\n menu.value = true;\n }\n function onMousedownMenuIcon(e) {\n if (menuDisabled.value) return;\n if (isFocused.value) {\n e.preventDefault();\n e.stopPropagation();\n }\n menu.value = !menu.value;\n }\n function onListKeydown(e) {\n var _a2;\n if (checkPrintable(e) || e.key === \"Backspace\") {\n (_a2 = vTextFieldRef.value) == null ? void 0 : _a2.focus();\n }\n }\n function onKeydown(e) {\n var _a2, _b, _c, _d;\n if (isComposingIgnoreKey(e) || form.isReadonly.value) return;\n const selectionStart = (_a2 = vTextFieldRef.value) == null ? void 0 : _a2.selectionStart;\n const length = model.value.length;\n if ([\"Enter\", \"ArrowDown\", \"ArrowUp\"].includes(e.key)) {\n e.preventDefault();\n }\n if ([\"Enter\", \"ArrowDown\"].includes(e.key)) {\n menu.value = true;\n }\n if ([\"Escape\"].includes(e.key)) {\n menu.value = false;\n }\n if ([\"Enter\", \"Escape\", \"Tab\"].includes(e.key)) {\n if (highlightFirst.value && [\"Enter\", \"Tab\"].includes(e.key) && !model.value.some(({\n value\n }) => value === displayItems.value[0].value)) {\n select(filteredItems.value[0]);\n }\n isPristine.value = true;\n }\n if (e.key === \"ArrowDown\" && highlightFirst.value) {\n (_b = listRef.value) == null ? void 0 : _b.focus(\"next\");\n }\n if (e.key === \"Enter\" && search.value) {\n select(transformItem(props, search.value));\n if (hasSelectionSlot.value) _search.value = \"\";\n }\n if ([\"Backspace\", \"Delete\"].includes(e.key)) {\n if (!props.multiple && hasSelectionSlot.value && model.value.length > 0 && !search.value) return select(model.value[0], false);\n if (~selectionIndex.value) {\n e.preventDefault();\n const originalSelectionIndex = selectionIndex.value;\n select(model.value[selectionIndex.value], false);\n selectionIndex.value = originalSelectionIndex >= length - 1 ? length - 2 : originalSelectionIndex;\n } else if (e.key === \"Backspace\" && !search.value) {\n selectionIndex.value = length - 1;\n }\n return;\n }\n if (!props.multiple) return;\n if (e.key === \"ArrowLeft\") {\n if (selectionIndex.value < 0 && selectionStart && selectionStart > 0) return;\n const prev = selectionIndex.value > -1 ? selectionIndex.value - 1 : length - 1;\n if (model.value[prev]) {\n selectionIndex.value = prev;\n } else {\n selectionIndex.value = -1;\n (_c = vTextFieldRef.value) == null ? void 0 : _c.setSelectionRange(search.value.length, search.value.length);\n }\n } else if (e.key === \"ArrowRight\") {\n if (selectionIndex.value < 0) return;\n const next = selectionIndex.value + 1;\n if (model.value[next]) {\n selectionIndex.value = next;\n } else {\n selectionIndex.value = -1;\n (_d = vTextFieldRef.value) == null ? void 0 : _d.setSelectionRange(0, 0);\n }\n } else if (~selectionIndex.value && checkPrintable(e)) {\n selectionIndex.value = -1;\n }\n }\n function onAfterEnter() {\n var _a2;\n if (props.eager) {\n (_a2 = vVirtualScrollRef.value) == null ? void 0 : _a2.calculateVisibleItems();\n }\n }\n function onAfterLeave() {\n var _a2;\n if (isFocused.value) {\n isPristine.value = true;\n (_a2 = vTextFieldRef.value) == null ? void 0 : _a2.focus();\n }\n }\n function select(item, set = true) {\n if (!item || item.props.disabled) return;\n if (props.multiple) {\n const index = model.value.findIndex((selection) => (props.valueComparator || deepEqual)(selection.value, item.value));\n const add = set == null ? !~index : set;\n if (~index) {\n const value = add ? [...model.value, item] : [...model.value];\n value.splice(index, 1);\n model.value = value;\n } else if (add) {\n model.value = [...model.value, item];\n }\n if (props.clearOnSelect) {\n search.value = \"\";\n }\n } else {\n const add = set !== false;\n model.value = add ? [item] : [];\n _search.value = add && !hasSelectionSlot.value ? item.title : \"\";\n nextTick(() => {\n menu.value = false;\n isPristine.value = true;\n });\n }\n }\n function onFocusin(e) {\n isFocused.value = true;\n setTimeout(() => {\n listHasFocus.value = true;\n });\n }\n function onFocusout(e) {\n listHasFocus.value = false;\n }\n function onUpdateModelValue(v) {\n if (v == null || v === \"\" && !props.multiple && !hasSelectionSlot.value) model.value = [];\n }\n watch(isFocused, (val, oldVal) => {\n if (val || val === oldVal) return;\n selectionIndex.value = -1;\n menu.value = false;\n if (search.value) {\n if (props.multiple) {\n select(transformItem(props, search.value));\n return;\n }\n if (!hasSelectionSlot.value) return;\n if (model.value.some(({\n title\n }) => title === search.value)) {\n _search.value = \"\";\n } else {\n select(transformItem(props, search.value));\n }\n }\n });\n watch(menu, (val) => {\n if (!props.hideSelected && val && model.value.length) {\n const index = displayItems.value.findIndex((item) => model.value.some((s) => (props.valueComparator || deepEqual)(s.value, item.value)));\n IN_BROWSER && window.requestAnimationFrame(() => {\n var _a2;\n index >= 0 && ((_a2 = vVirtualScrollRef.value) == null ? void 0 : _a2.scrollToIndex(index));\n });\n }\n if (val && search.value && filteredItems.value.length === 0) {\n showAllItemsForNoMatch.value = true;\n }\n isPristine.value = !search.value;\n }, {\n immediate: true\n });\n watch(() => props.items, (newVal, oldVal) => {\n if (menu.value) return;\n if (isFocused.value && !oldVal.length && newVal.length) {\n menu.value = true;\n }\n });\n useRender(() => {\n const hasList = !!(!props.hideNoData || displayItems.value.length || slots[\"prepend-item\"] || slots[\"append-item\"] || slots[\"no-data\"]);\n const isDirty = model.value.length > 0;\n const textFieldProps = VTextField.filterProps(props);\n return createVNode(VTextField, mergeProps({\n \"ref\": vTextFieldRef\n }, textFieldProps, {\n \"modelValue\": search.value,\n \"onUpdate:modelValue\": [($event) => search.value = $event, onUpdateModelValue],\n \"focused\": isFocused.value,\n \"onUpdate:focused\": ($event) => isFocused.value = $event,\n \"validationValue\": model.externalValue,\n \"counterValue\": counterValue.value,\n \"dirty\": isDirty,\n \"class\": [\"v-combobox\", {\n \"v-combobox--active-menu\": menu.value,\n \"v-combobox--chips\": !!props.chips,\n \"v-combobox--selection-slot\": !!hasSelectionSlot.value,\n \"v-combobox--selecting-index\": selectionIndex.value > -1,\n [`v-combobox--${props.multiple ? \"multiple\" : \"single\"}`]: true\n }, props.class],\n \"style\": props.style,\n \"readonly\": form.isReadonly.value,\n \"placeholder\": isDirty ? void 0 : props.placeholder,\n \"onClick:clear\": onClear,\n \"onMousedown:control\": onMousedownControl,\n \"onKeydown\": onKeydown\n }), {\n ...slots,\n default: () => createVNode(Fragment, null, [createVNode(VMenu, mergeProps({\n \"ref\": vMenuRef,\n \"modelValue\": menu.value,\n \"onUpdate:modelValue\": ($event) => menu.value = $event,\n \"activator\": \"parent\",\n \"contentClass\": \"v-combobox__content\",\n \"disabled\": menuDisabled.value,\n \"eager\": props.eager,\n \"maxHeight\": 310,\n \"openOnClick\": false,\n \"closeOnContentClick\": false,\n \"transition\": props.transition,\n \"onAfterEnter\": onAfterEnter,\n \"onAfterLeave\": onAfterLeave\n }, props.menuProps), {\n default: () => [hasList && createVNode(VList, mergeProps({\n \"ref\": listRef,\n \"filterable\": true,\n \"selected\": selectedValues.value,\n \"selectStrategy\": props.multiple ? \"independent\" : \"single-independent\",\n \"onMousedown\": (e) => e.preventDefault(),\n \"onKeydown\": onListKeydown,\n \"onFocusin\": onFocusin,\n \"onFocusout\": onFocusout,\n \"tabindex\": \"-1\",\n \"aria-live\": \"polite\",\n \"color\": props.itemColor ?? props.color\n }, listEvents, props.listProps), {\n default: () => {\n var _a2, _b, _c;\n return [(_a2 = slots[\"prepend-item\"]) == null ? void 0 : _a2.call(slots), !displayItems.value.length && !props.hideNoData && (((_b = slots[\"no-data\"]) == null ? void 0 : _b.call(slots)) ?? createVNode(VListItem, {\n \"key\": \"no-data\",\n \"title\": t(props.noDataText)\n }, null)), createVNode(VVirtualScroll, {\n \"ref\": vVirtualScrollRef,\n \"renderless\": true,\n \"items\": displayItems.value,\n \"itemKey\": \"value\"\n }, {\n default: ({\n item,\n index,\n itemRef\n }) => {\n var _a3, _b2, _c2;\n const itemProps = mergeProps(item.props, {\n ref: itemRef,\n key: item.value,\n active: highlightFirst.value && index === 0 ? true : void 0,\n onClick: () => select(item, null)\n });\n if (item.type === \"divider\") {\n return ((_a3 = slots.divider) == null ? void 0 : _a3.call(slots, {\n props: item.raw,\n index\n })) ?? createVNode(VDivider, mergeProps(item.props, {\n \"key\": `divider-${index}`\n }), null);\n }\n if (item.type === \"subheader\") {\n return ((_b2 = slots.subheader) == null ? void 0 : _b2.call(slots, {\n props: item.raw,\n index\n })) ?? createVNode(VListSubheader, mergeProps(item.props, {\n \"key\": `subheader-${index}`\n }), null);\n }\n return ((_c2 = slots.item) == null ? void 0 : _c2.call(slots, {\n item,\n index,\n props: itemProps\n })) ?? createVNode(VListItem, mergeProps(itemProps, {\n \"role\": \"option\"\n }), {\n prepend: ({\n isSelected\n }) => createVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {\n \"key\": item.value,\n \"modelValue\": isSelected,\n \"ripple\": false,\n \"tabindex\": \"-1\"\n }, null) : void 0, item.props.prependAvatar && createVNode(VAvatar, {\n \"image\": item.props.prependAvatar\n }, null), item.props.prependIcon && createVNode(VIcon, {\n \"icon\": item.props.prependIcon\n }, null)]),\n title: () => {\n var _a4;\n return isPristine.value ? item.title : highlightResult(\"v-combobox\", item.title, (_a4 = getMatches(item)) == null ? void 0 : _a4.title);\n }\n });\n }\n }), (_c = slots[\"append-item\"]) == null ? void 0 : _c.call(slots)];\n }\n })]\n }), model.value.map((item, index) => {\n function onChipClose(e) {\n e.stopPropagation();\n e.preventDefault();\n select(item, false);\n }\n const slotProps = {\n \"onClick:close\": onChipClose,\n onKeydown(e) {\n if (e.key !== \"Enter\" && e.key !== \" \") return;\n e.preventDefault();\n e.stopPropagation();\n onChipClose(e);\n },\n onMousedown(e) {\n e.preventDefault();\n e.stopPropagation();\n },\n modelValue: true,\n \"onUpdate:modelValue\": void 0\n };\n const hasSlot = hasChips.value ? !!slots.chip : !!slots.selection;\n const slotContent = hasSlot ? ensureValidVNode(hasChips.value ? slots.chip({\n item,\n index,\n props: slotProps\n }) : slots.selection({\n item,\n index\n })) : void 0;\n if (hasSlot && !slotContent) return void 0;\n return createVNode(\"div\", {\n \"key\": item.value,\n \"class\": [\"v-combobox__selection\", index === selectionIndex.value && [\"v-combobox__selection--selected\", textColorClasses.value]],\n \"style\": index === selectionIndex.value ? textColorStyles.value : {}\n }, [hasChips.value ? !slots.chip ? createVNode(VChip, mergeProps({\n \"key\": \"chip\",\n \"closable\": props.closableChips,\n \"size\": \"small\",\n \"text\": item.title,\n \"disabled\": item.props.disabled\n }, slotProps), null) : createVNode(VDefaultsProvider, {\n \"key\": \"chip-defaults\",\n \"defaults\": {\n VChip: {\n closable: props.closableChips,\n size: \"small\",\n text: item.title\n }\n }\n }, {\n default: () => [slotContent]\n }) : slotContent ?? createVNode(\"span\", {\n \"class\": \"v-combobox__selection-text\"\n }, [item.title, props.multiple && index < model.value.length - 1 && createVNode(\"span\", {\n \"class\": \"v-combobox__selection-comma\"\n }, [createTextVNode(\",\")])])]);\n })]),\n \"append-inner\": (...args) => {\n var _a2, _b;\n return createVNode(Fragment, null, [(_a2 = slots[\"append-inner\"]) == null ? void 0 : _a2.call(slots, ...args), props.menuIcon ? createVNode(VIcon, {\n \"class\": \"v-combobox__menu-icon\",\n \"color\": (_b = vTextFieldRef.value) == null ? void 0 : _b.fieldIconColor,\n \"icon\": props.menuIcon,\n \"onMousedown\": onMousedownMenuIcon,\n \"onClick\": noop,\n \"aria-label\": t(label.value),\n \"title\": t(label.value),\n \"tabindex\": \"-1\"\n }, null) : void 0]);\n }\n });\n });\n return forwardRefs({\n isFocused,\n isPristine,\n menu,\n search,\n selectionIndex,\n filteredItems,\n select\n }, vTextFieldRef);\n }\n});\nexport {\n VCombobox,\n makeVComboboxProps\n};\n//# sourceMappingURL=VCombobox.mjs.map\n","// Utilities\nimport { onMounted, readonly, shallowRef, toRef } from 'vue';\n\n// Composables\nexport function useSsrBoot() {\n const isBooted = shallowRef(false);\n onMounted(() => {\n window.requestAnimationFrame(() => {\n isBooted.value = true;\n });\n });\n const ssrBootStyles = toRef(() => !isBooted.value ? {\n transition: 'none !important'\n } : undefined);\n return {\n ssrBootStyles,\n isBooted: readonly(isBooted)\n };\n}\n//# sourceMappingURL=ssrBoot.js.map","import { createVNode as _createVNode, vShow as _vShow, createElementVNode as _createElementVNode, withDirectives as _withDirectives, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle } from \"vue\";\n// Components\nimport { VExpandTransition } from \"../transitions/index.js\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.js\"; // Composables\nimport { useList } from \"./list.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { IconValue } from \"../../composables/icons.js\";\nimport { useNestedGroupActivator, useNestedItem } from \"../../composables/nested/nested.js\";\nimport { useSsrBoot } from \"../../composables/ssrBoot.js\";\nimport { makeTagProps } from \"../../composables/tag.js\";\nimport { MaybeTransition } from \"../../composables/transition.js\"; // Utilities\nimport { computed } from 'vue';\nimport { defineComponent, genericComponent, propsFactory, useRender } from \"../../util/index.js\";\nconst VListGroupActivator = defineComponent({\n name: 'VListGroupActivator',\n setup(_, _ref) {\n let {\n slots\n } = _ref;\n useNestedGroupActivator();\n return () => slots.default?.();\n }\n});\nexport const makeVListGroupProps = propsFactory({\n /* @deprecated */\n activeColor: String,\n baseColor: String,\n color: String,\n collapseIcon: {\n type: IconValue,\n default: '$collapse'\n },\n disabled: Boolean,\n expandIcon: {\n type: IconValue,\n default: '$expand'\n },\n rawId: [String, Number],\n prependIcon: IconValue,\n appendIcon: IconValue,\n fluid: Boolean,\n subgroup: Boolean,\n title: String,\n value: null,\n ...makeComponentProps(),\n ...makeTagProps()\n}, 'VListGroup');\nexport const VListGroup = genericComponent()({\n name: 'VListGroup',\n props: makeVListGroupProps(),\n setup(props, _ref2) {\n let {\n slots\n } = _ref2;\n const {\n isOpen,\n open,\n id: _id\n } = useNestedItem(() => props.value, () => props.disabled, true);\n const id = computed(() => `v-list-group--id-${String(props.rawId ?? _id.value)}`);\n const list = useList();\n const {\n isBooted\n } = useSsrBoot();\n function onClick(e) {\n if (['INPUT', 'TEXTAREA'].includes(e.target?.tagName)) return;\n open(!isOpen.value, e);\n }\n const activatorProps = computed(() => ({\n onClick,\n class: 'v-list-group__header',\n id: id.value\n }));\n const toggleIcon = computed(() => isOpen.value ? props.collapseIcon : props.expandIcon);\n const activatorDefaults = computed(() => ({\n VListItem: {\n activeColor: props.activeColor,\n baseColor: props.baseColor,\n color: props.color,\n prependIcon: props.prependIcon || props.subgroup && toggleIcon.value,\n appendIcon: props.appendIcon || !props.subgroup && toggleIcon.value,\n title: props.title,\n value: props.value\n }\n }));\n useRender(() => _createVNode(props.tag, {\n \"class\": _normalizeClass(['v-list-group', {\n 'v-list-group--prepend': list?.hasPrepend.value,\n 'v-list-group--fluid': props.fluid,\n 'v-list-group--subgroup': props.subgroup,\n 'v-list-group--open': isOpen.value\n }, props.class]),\n \"style\": _normalizeStyle(props.style)\n }, {\n default: () => [slots.activator && _createVNode(VDefaultsProvider, {\n \"defaults\": activatorDefaults.value\n }, {\n default: () => [_createVNode(VListGroupActivator, null, {\n default: () => [slots.activator({\n props: activatorProps.value,\n isOpen: isOpen.value\n })]\n })]\n }), _createVNode(MaybeTransition, {\n \"transition\": {\n component: VExpandTransition\n },\n \"disabled\": !isBooted.value\n }, {\n default: () => [_withDirectives(_createElementVNode(\"div\", {\n \"class\": \"v-list-group__items\",\n \"role\": \"group\",\n \"aria-labelledby\": id.value\n }, [slots.default?.()]), [[_vShow, isOpen.value]])]\n })]\n }));\n return {\n isOpen\n };\n }\n});\n//# sourceMappingURL=VListGroup.js.map","import { createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createVNode as _createVNode } from \"vue\";\n// Composables\nimport { useTextColor } from \"../../composables/color.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { makeTagProps } from \"../../composables/tag.js\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.js\";\nexport const makeVListSubheaderProps = propsFactory({\n color: String,\n inset: Boolean,\n sticky: Boolean,\n title: String,\n ...makeComponentProps(),\n ...makeTagProps()\n}, 'VListSubheader');\nexport const VListSubheader = genericComponent()({\n name: 'VListSubheader',\n props: makeVListSubheaderProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(() => props.color);\n useRender(() => {\n const hasText = !!(slots.default || props.title);\n return _createVNode(props.tag, {\n \"class\": _normalizeClass(['v-list-subheader', {\n 'v-list-subheader--inset': props.inset,\n 'v-list-subheader--sticky': props.sticky\n }, textColorClasses.value, props.class]),\n \"style\": _normalizeStyle([{\n textColorStyles\n }, props.style])\n }, {\n default: () => [hasText && _createElementVNode(\"div\", {\n \"class\": \"v-list-subheader__text\"\n }, [slots.default?.() ?? props.title])]\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VListSubheader.js.map","import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode } from \"vue\";\n// Styles\nimport \"./VDivider.css\";\n\n// Composables\nimport { useTextColor } from \"../../composables/color.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.js\"; // Utilities\nimport { computed } from 'vue';\nimport { convertToUnit, genericComponent, propsFactory, useRender } from \"../../util/index.js\";\nexport const makeVDividerProps = propsFactory({\n color: String,\n inset: Boolean,\n length: [Number, String],\n opacity: [Number, String],\n thickness: [Number, String],\n vertical: Boolean,\n ...makeComponentProps(),\n ...makeThemeProps()\n}, 'VDivider');\nexport const VDivider = genericComponent()({\n name: 'VDivider',\n props: makeVDividerProps(),\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const {\n themeClasses\n } = provideTheme(props);\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(() => props.color);\n const dividerStyles = computed(() => {\n const styles = {};\n if (props.length) {\n styles[props.vertical ? 'height' : 'width'] = convertToUnit(props.length);\n }\n if (props.thickness) {\n styles[props.vertical ? 'borderRightWidth' : 'borderTopWidth'] = convertToUnit(props.thickness);\n }\n return styles;\n });\n useRender(() => {\n const divider = _createElementVNode(\"hr\", {\n \"class\": _normalizeClass([{\n 'v-divider': true,\n 'v-divider--inset': props.inset,\n 'v-divider--vertical': props.vertical\n }, themeClasses.value, textColorClasses.value, props.class]),\n \"style\": _normalizeStyle([dividerStyles.value, textColorStyles.value, {\n '--v-border-opacity': props.opacity\n }, props.style]),\n \"aria-orientation\": !attrs.role || attrs.role === 'separator' ? props.vertical ? 'vertical' : 'horizontal' : undefined,\n \"role\": `${attrs.role || 'separator'}`\n }, null);\n if (!slots.default) return divider;\n return _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-divider__wrapper', {\n 'v-divider__wrapper--vertical': props.vertical,\n 'v-divider__wrapper--inset': props.inset\n }])\n }, [divider, _createElementVNode(\"div\", {\n \"class\": \"v-divider__content\"\n }, [slots.default()]), divider]);\n });\n return {};\n }\n});\n//# sourceMappingURL=VDivider.js.map","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\n// Components\nimport { VListGroup } from \"./VListGroup.js\";\nimport { VListItem } from \"./VListItem.js\";\nimport { VListSubheader } from \"./VListSubheader.js\";\nimport { VDivider } from \"../VDivider/index.js\"; // Utilities\nimport { mergeProps } from 'vue';\nimport { createList } from \"./list.js\";\nimport { genericComponent, propsFactory } from \"../../util/index.js\"; // Types\nexport const makeVListChildrenProps = propsFactory({\n items: Array,\n returnObject: Boolean\n}, 'VListChildren');\nexport const VListChildren = genericComponent()({\n name: 'VListChildren',\n props: makeVListChildrenProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n createList();\n return () => slots.default?.() ?? props.items?.map(_ref2 => {\n let {\n children,\n props: itemProps,\n type,\n raw: item\n } = _ref2;\n if (type === 'divider') {\n return slots.divider?.({\n props: itemProps\n }) ?? _createVNode(VDivider, itemProps, null);\n }\n if (type === 'subheader') {\n return slots.subheader?.({\n props: itemProps\n }) ?? _createVNode(VListSubheader, itemProps, null);\n }\n const slotsWithItem = {\n subtitle: slots.subtitle ? slotProps => slots.subtitle?.({\n ...slotProps,\n item\n }) : undefined,\n prepend: slots.prepend ? slotProps => slots.prepend?.({\n ...slotProps,\n item\n }) : undefined,\n append: slots.append ? slotProps => slots.append?.({\n ...slotProps,\n item\n }) : undefined,\n title: slots.title ? slotProps => slots.title?.({\n ...slotProps,\n item\n }) : undefined\n };\n const listGroupProps = VListGroup.filterProps(itemProps);\n return children ? _createVNode(VListGroup, _mergeProps(listGroupProps, {\n \"value\": props.returnObject ? item : itemProps?.value,\n \"rawId\": itemProps?.value\n }), {\n activator: _ref3 => {\n let {\n props: activatorProps\n } = _ref3;\n const listItemProps = mergeProps(itemProps, activatorProps, {\n value: props.returnObject ? item : itemProps.value\n });\n return slots.header ? slots.header({\n props: listItemProps\n }) : _createVNode(VListItem, listItemProps, slotsWithItem);\n },\n default: () => _createVNode(VListChildren, {\n \"items\": children,\n \"returnObject\": props.returnObject\n }, slots)\n }) : slots.item ? slots.item({\n props: itemProps\n }) : _createVNode(VListItem, _mergeProps(itemProps, {\n \"value\": props.returnObject ? item : itemProps.value\n }), slotsWithItem);\n });\n }\n});\n//# sourceMappingURL=VListChildren.js.map","// Utilities\nimport { computed, shallowRef, watchEffect } from 'vue';\nimport { deepEqual, getPropertyFromItem, isPrimitive, omit, pick, propsFactory } from \"../util/index.js\"; // Types\n// Composables\nexport const makeItemsProps = propsFactory({\n items: {\n type: Array,\n default: () => []\n },\n itemTitle: {\n type: [String, Array, Function],\n default: 'title'\n },\n itemValue: {\n type: [String, Array, Function],\n default: 'value'\n },\n itemChildren: {\n type: [Boolean, String, Array, Function],\n default: 'children'\n },\n itemProps: {\n type: [Boolean, String, Array, Function],\n default: 'props'\n },\n itemType: {\n type: [Boolean, String, Array, Function],\n default: 'type'\n },\n returnObject: Boolean,\n valueComparator: Function\n}, 'list-items');\nconst itemTypes = new Set(['item', 'divider', 'subheader']);\nexport function transformItem(props, item) {\n const title = getPropertyFromItem(item, props.itemTitle, item);\n const value = getPropertyFromItem(item, props.itemValue, title);\n const children = getPropertyFromItem(item, props.itemChildren);\n const itemProps = props.itemProps === true ? typeof item === 'object' && item != null && !Array.isArray(item) ? 'children' in item ? omit(item, ['children']) : item : undefined : getPropertyFromItem(item, props.itemProps);\n let type = getPropertyFromItem(item, props.itemType, 'item');\n if (!itemTypes.has(type)) {\n type = 'item';\n }\n const _props = {\n title,\n value,\n ...itemProps\n };\n return {\n type,\n title: String(_props.title ?? ''),\n value: _props.value,\n props: _props,\n children: type === 'item' && Array.isArray(children) ? transformItems(props, children) : undefined,\n raw: item\n };\n}\ntransformItem.neededProps = ['itemTitle', 'itemValue', 'itemChildren', 'itemProps', 'itemType'];\nexport function transformItems(props, items) {\n // avoid reactive access in the loop\n const _props = pick(props, transformItem.neededProps);\n const array = [];\n for (const item of items) {\n array.push(transformItem(_props, item));\n }\n return array;\n}\nexport function useItems(props) {\n const items = computed(() => transformItems(props, props.items));\n const hasNullItem = computed(() => items.value.some(item => item.value === null));\n const itemsMap = shallowRef(new Map());\n const keylessItems = shallowRef([]);\n watchEffect(() => {\n const _items = items.value;\n const map = new Map();\n const keyless = [];\n for (let i = 0; i < _items.length; i++) {\n const item = _items[i];\n if (isPrimitive(item.value) || item.value === null) {\n let values = map.get(item.value);\n if (!values) {\n values = [];\n map.set(item.value, values);\n }\n values.push(item);\n } else {\n keyless.push(item);\n }\n }\n itemsMap.value = map;\n keylessItems.value = keyless;\n });\n function transformIn(value) {\n // Cache unrefed values outside the loop,\n // proxy getters can be slow when you call them a billion times\n const _items = itemsMap.value;\n const _allItems = items.value;\n const _keylessItems = keylessItems.value;\n const _hasNullItem = hasNullItem.value;\n const _returnObject = props.returnObject;\n const hasValueComparator = !!props.valueComparator;\n const valueComparator = props.valueComparator || deepEqual;\n const _props = pick(props, transformItem.neededProps);\n const returnValue = [];\n main: for (const v of value) {\n // When the model value is null, return an InternalItem\n // based on null only if null is one of the items\n if (!_hasNullItem && v === null) continue;\n\n // String model value means value is a custom input value from combobox\n // Don't look up existing items if the model value is a string\n if (_returnObject && typeof v === 'string') {\n returnValue.push(transformItem(_props, v));\n continue;\n }\n\n // Fast path, items with primitive values and no\n // custom valueComparator can use a constant-time\n // map lookup instead of searching the items array\n const fastItems = _items.get(v);\n\n // Slow path, always use valueComparator.\n // This is O(n^2) so we really don't want to\n // do it for more than a couple hundred items.\n if (hasValueComparator || !fastItems) {\n for (const item of hasValueComparator ? _allItems : _keylessItems) {\n if (valueComparator(v, item.value)) {\n returnValue.push(item);\n continue main;\n }\n }\n // Not an existing item, construct it from the model (#4000)\n returnValue.push(transformItem(_props, v));\n continue;\n }\n returnValue.push(...fastItems);\n }\n return returnValue;\n }\n function transformOut(value) {\n return props.returnObject ? value.map(_ref => {\n let {\n raw\n } = _ref;\n return raw;\n }) : value.map(_ref2 => {\n let {\n value\n } = _ref2;\n return value;\n });\n }\n return {\n items,\n transformIn,\n transformOut\n };\n}\n//# sourceMappingURL=list-items.js.map","import { createVNode as _createVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle } from \"vue\";\n// Styles\nimport \"./VList.css\";\n\n// Components\nimport { VListChildren } from \"./VListChildren.js\"; // Composables\nimport { createList } from \"./list.js\";\nimport { makeBorderProps, useBorder } from \"../../composables/border.js\";\nimport { useBackgroundColor } from \"../../composables/color.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { provideDefaults } from \"../../composables/defaults.js\";\nimport { makeDensityProps, useDensity } from \"../../composables/density.js\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.js\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.js\";\nimport { IconValue } from \"../../composables/icons.js\";\nimport { makeItemsProps } from \"../../composables/list-items.js\";\nimport { makeNestedProps, useNested } from \"../../composables/nested/nested.js\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.js\";\nimport { makeTagProps } from \"../../composables/tag.js\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.js\";\nimport { makeVariantProps } from \"../../composables/variant.js\"; // Utilities\nimport { computed, ref, shallowRef, toRef } from 'vue';\nimport { EventProp, focusChild, genericComponent, getPropertyFromItem, isPrimitive, omit, propsFactory, useRender } from \"../../util/index.js\"; // Types\nconst itemTypes = new Set(['item', 'divider', 'subheader']);\nfunction transformItem(props, item) {\n const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle);\n const value = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemValue, undefined);\n const children = getPropertyFromItem(item, props.itemChildren);\n const itemProps = props.itemProps === true ? omit(item, ['children']) : getPropertyFromItem(item, props.itemProps);\n let type = getPropertyFromItem(item, props.itemType, 'item');\n if (!itemTypes.has(type)) {\n type = 'item';\n }\n const _props = {\n title,\n value,\n ...itemProps\n };\n return {\n type,\n title: _props.title,\n value: _props.value,\n props: _props,\n children: type === 'item' && children ? transformItems(props, children) : undefined,\n raw: item\n };\n}\nfunction transformItems(props, items) {\n const array = [];\n for (const item of items) {\n array.push(transformItem(props, item));\n }\n return array;\n}\nexport function useListItems(props) {\n const items = computed(() => transformItems(props, props.items));\n return {\n items\n };\n}\nexport const makeVListProps = propsFactory({\n baseColor: String,\n /* @deprecated */\n activeColor: String,\n activeClass: String,\n bgColor: String,\n disabled: Boolean,\n filterable: Boolean,\n expandIcon: IconValue,\n collapseIcon: IconValue,\n lines: {\n type: [Boolean, String],\n default: 'one'\n },\n slim: Boolean,\n nav: Boolean,\n 'onClick:open': EventProp(),\n 'onClick:select': EventProp(),\n 'onUpdate:opened': EventProp(),\n ...makeNestedProps({\n selectStrategy: 'single-leaf',\n openStrategy: 'list'\n }),\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeItemsProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({\n variant: 'text'\n })\n}, 'VList');\nexport const VList = genericComponent()({\n name: 'VList',\n props: makeVListProps(),\n emits: {\n 'update:selected': value => true,\n 'update:activated': value => true,\n 'update:opened': value => true,\n 'click:open': value => true,\n 'click:activate': value => true,\n 'click:select': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n items\n } = useListItems(props);\n const {\n themeClasses\n } = provideTheme(props);\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(() => props.bgColor);\n const {\n borderClasses\n } = useBorder(props);\n const {\n densityClasses\n } = useDensity(props);\n const {\n dimensionStyles\n } = useDimension(props);\n const {\n elevationClasses\n } = useElevation(props);\n const {\n roundedClasses\n } = useRounded(props);\n const {\n children,\n open,\n parents,\n select,\n getPath\n } = useNested(props);\n const lineClasses = toRef(() => props.lines ? `v-list--${props.lines}-line` : undefined);\n const activeColor = toRef(() => props.activeColor);\n const baseColor = toRef(() => props.baseColor);\n const color = toRef(() => props.color);\n const isSelectable = toRef(() => props.selectable || props.activatable);\n createList({\n filterable: props.filterable\n });\n provideDefaults({\n VListGroup: {\n activeColor,\n baseColor,\n color,\n expandIcon: toRef(() => props.expandIcon),\n collapseIcon: toRef(() => props.collapseIcon)\n },\n VListItem: {\n activeClass: toRef(() => props.activeClass),\n activeColor,\n baseColor,\n color,\n density: toRef(() => props.density),\n disabled: toRef(() => props.disabled),\n lines: toRef(() => props.lines),\n nav: toRef(() => props.nav),\n slim: toRef(() => props.slim),\n variant: toRef(() => props.variant)\n }\n });\n const isFocused = shallowRef(false);\n const contentRef = ref();\n function onFocusin(e) {\n isFocused.value = true;\n }\n function onFocusout(e) {\n isFocused.value = false;\n }\n function onFocus(e) {\n if (!isFocused.value && !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget))) focus();\n }\n function onKeydown(e) {\n const target = e.target;\n if (!contentRef.value || target.tagName === 'INPUT' && ['Home', 'End'].includes(e.key) || target.tagName === 'TEXTAREA') {\n return;\n }\n if (e.key === 'ArrowDown') {\n focus('next');\n } else if (e.key === 'ArrowUp') {\n focus('prev');\n } else if (e.key === 'Home') {\n focus('first');\n } else if (e.key === 'End') {\n focus('last');\n } else {\n return;\n }\n e.preventDefault();\n }\n function onMousedown(e) {\n isFocused.value = true;\n }\n function focus(location) {\n if (contentRef.value) {\n return focusChild(contentRef.value, location);\n }\n }\n useRender(() => {\n return _createVNode(props.tag, {\n \"ref\": contentRef,\n \"class\": _normalizeClass(['v-list', {\n 'v-list--disabled': props.disabled,\n 'v-list--nav': props.nav,\n 'v-list--slim': props.slim\n }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, props.class]),\n \"style\": _normalizeStyle([backgroundColorStyles.value, dimensionStyles.value, props.style]),\n \"tabindex\": props.disabled ? -1 : 0,\n \"role\": isSelectable.value ? 'listbox' : 'list',\n \"aria-activedescendant\": undefined,\n \"onFocusin\": onFocusin,\n \"onFocusout\": onFocusout,\n \"onFocus\": onFocus,\n \"onKeydown\": onKeydown,\n \"onMousedown\": onMousedown\n }, {\n default: () => [_createVNode(VListChildren, {\n \"items\": items.value,\n \"returnObject\": props.returnObject\n }, slots)]\n });\n });\n return {\n open,\n select,\n focus,\n children,\n parents,\n getPath\n };\n }\n});\n//# sourceMappingURL=VList.js.map","/*\n|--------------------------------------------------------------------------\n| Resourceful Field Read Mode Renderer\n|--------------------------------------------------------------------------\n|\n| A sophisticated read-mode renderer that displays field values in a \n| non-editable format with intelligent formatting. Supports both single \n| values and arrays with automatic Oxford comma formatting.\n|\n| KEY CAPABILITIES:\n| - Oxford comma-separated lists for arrays (\"A, B, and C\")\n| - Rich content support via RFieldStringifier (strings + VNodes) \n| - Dual content strategy (visual rendering + accessible text tooltips)\n| - Responsive layout (single/two-line based on label presence)\n| - Navigation support (clickable via to/href props)\n| - Full internationalization for grammatical connectors\n|\n| EXPORTS:\n| - RReadModeRenderer: Main component for read-mode field display\n| - RReadModeRenderer (type): TypeScript component instance type\n|\n| USAGE:\n| Works with any data type via the RFieldStringifier abstraction,\n| automatically handling single values, arrays, and mixed content types.\n*/\n\nimport { useI18n } from '../ioc'\nimport { pick } from '@nhtio/vuetifiable/util/helpers'\nimport { propsAndEmitsFactory } from '../common/factories'\nimport { h, defineComponent, toRefs, computed, watch } from 'vue'\nimport { makeVListItemProps } from '@nhtio/vuetifiable/components/VList/VListItem'\nimport { makeVComboboxProps } from '@nhtio/vuetifiable/components/VCombobox/VCombobox'\nimport { VListItem, VListItemTitle, VListItemSubtitle } from 'vuetify/components/VList'\nimport {\n toUnreactive,\n isNotEmpty,\n getStringOrVNodeAsString,\n stripUndefinedValuesFromObject,\n} from '../common/utils'\nimport type { RFieldStringifier } from './common'\nimport type { PropType, ExtractPublicPropTypes, VNode, ComponentPublicInstance } from 'vue'\n\ntype VListItemPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVListItemProps>>\n\nconst { makeProps: makeRReadModeRendererProps, emits: rReadModeRendererEmits } =\n propsAndEmitsFactory(\n {\n stringifier: {\n type: Function as PropType<RFieldStringifier>,\n required: true,\n },\n modelValue: {\n type: [Array, Object, String, Number, Boolean, BigInt, Date] as PropType<\n any | any[] | null | undefined\n >,\n default: undefined,\n },\n label: {\n type: String as PropType<string | null | undefined>,\n default: undefined,\n },\n nullIsValue: {\n type: Boolean,\n default: false,\n },\n undefinedIsValue: {\n type: Boolean,\n default: false,\n },\n ...pick(makeVComboboxProps(), ['density', 'class', 'style']),\n ...pick(makeVListItemProps(), ['to', 'href']),\n callRefreshChoices: {\n type: Function as PropType<(() => void | Promise<void>) | undefined>,\n default: undefined,\n },\n },\n {},\n 'RReadModeRenderer'\n )\n\nexport { makeRReadModeRendererProps, rReadModeRendererEmits }\n\n/**\n * Props type for the RReadModeRenderer component, extracted from the props factory.\n * This type represents all the public props that can be passed to the component.\n *\n * Key props include:\n * - `stringifier`: Required function to convert values to display format (supports VNode + string returns)\n * - `modelValue`: The value(s) to display - can be single values, arrays, or null/undefined\n * - `label`: Optional label text displayed above the content (enables two-line layout)\n * - `density`: Controls component height and spacing (compact/comfortable/default)\n * - `to`/`href`: Navigation props to make the list item clickable\n * - Plus all standard Vuetify styling props (class, style, etc.)\n *\n * @example\n * ```typescript\n * // Using with explicit props type\n * const rendererProps: RReadModeRendererPublicProps = {\n * stringifier: (user: User) => user.displayName,\n * modelValue: selectedUsers,\n * label: \"Team Members\",\n * density: \"compact\",\n * to: \"/team\"\n * }\n *\n * // Type-safe prop spreading\n * <RReadModeRenderer v-bind=\"rendererProps\" />\n * ```\n */\nexport type RReadModeRendererPublicProps = ExtractPublicPropTypes<\n ReturnType<typeof makeRReadModeRendererProps>\n>\n\nconst getOxfordizedListParts = <T = any>(items: T[]): { head: T[]; tail: T | undefined } => {\n if (items.length === 0) {\n return { head: [], tail: undefined }\n } else if (items.length === 1) {\n return { head: items, tail: undefined }\n } else if (items.length === 2) {\n return { head: [items[0]], tail: items[1] }\n } else {\n const head = items.slice(0, -1)\n const tail = items[items.length - 1]\n return { head, tail }\n }\n}\n\n/**\n * A versatile read-mode renderer component that displays field values in a non-editable format\n * with intelligent formatting for both single values and arrays. Automatically creates Oxford\n * comma-separated lists for multiple values while supporting rich VNode content.\n *\n * ## Key Features\n *\n * - **Oxford Comma Lists**: Automatically formats arrays as grammatically correct lists\n * - **Rich Content Support**: Handles both string and VNode returns from stringifier functions\n * - **Dual Content Strategy**: Provides rich visual content and accessible text tooltips\n * - **Responsive Layout**: Adapts between single-line and two-line layouts based on label presence\n * - **Navigation Support**: Supports `to` and `href` props for clickable list items\n * - **Internationalization**: Uses i18n for grammatical connectors like \"and\"\n *\n * ## Output Examples\n *\n * ```typescript\n * // Single value: \"John Doe\"\n * // Two values: \"John and Jane\"\n * // Three values: \"Apple, Orange, and Banana\"\n * // Mixed content: [Avatar] John, [Avatar] Jane, and [Avatar] Bob\n * ```\n *\n * ## Usage Patterns\n *\n * ```vue\n * <!-- Simple string list -->\n * <RReadModeRenderer\n * :model-value=\"['JavaScript', 'TypeScript', 'Vue']\"\n * :stringifier=\"(tag: string) => tag\"\n * label=\"Technologies\"\n * />\n *\n * <!-- Rich user objects with avatars -->\n * <RReadModeRenderer\n * :model-value=\"selectedUsers\"\n * :stringifier=\"(user: User) => h('div', [\n * h(VAvatar, { src: user.avatar, size: 'small' }),\n * h('span', user.name)\n * ])\"\n * label=\"Team Members\"\n * />\n *\n * <!-- Single value display -->\n * <RReadModeRenderer\n * :model-value=\"currentUser\"\n * :stringifier=\"(user: User) => user.displayName\"\n * label=\"Assigned To\"\n * />\n * ```\n */\nexport const RReadModeRenderer = defineComponent({\n name: 'RReadModeRenderer',\n props: makeRReadModeRendererProps(),\n emits: rReadModeRendererEmits,\n setup(props) {\n const t = useI18n()\n const {\n modelValue,\n label,\n density,\n class: className,\n style,\n to,\n href,\n nullIsValue,\n undefinedIsValue,\n callRefreshChoices,\n } = toRefs(props)\n const vListItemHeight = computed<number>(() => {\n switch (toUnreactive(density)) {\n case 'compact':\n return 40\n case 'comfortable':\n return 48\n default:\n return 56\n }\n })\n const grammarAndI18ned = computed(() => t('grammar.and').replace(/\\%s/gm, ''))\n const rendered = computed<VNode>(() => {\n if (\n ('undefined' === typeof modelValue.value && !undefinedIsValue.value) ||\n (null === modelValue.value && !nullIsValue.value)\n )\n return h('span', {}, '')\n if (Array.isArray(modelValue.value)) {\n const { head, tail } = getOxfordizedListParts<string | VNode>(\n toUnreactive(modelValue.value).map((v) => props.stringifier(v))\n )\n if (0 === head.length) {\n return h('span', {}, '')\n }\n const parts: VNode[] = []\n head.forEach((headEl, index) => {\n const pushable = 'object' === typeof headEl ? headEl : h('span', {}, headEl)\n parts.push(pushable)\n if (index < head.length - 1) {\n parts.push(h('span', {}, ', '))\n }\n })\n if ('undefined' !== typeof tail) {\n const pushable = 'object' === typeof tail ? tail : h('span', {}, tail)\n parts.push(h('span', {}, grammarAndI18ned.value))\n parts.push(pushable)\n }\n return h('span', {}, parts)\n }\n const returnable = props.stringifier(modelValue.value)\n return 'object' === typeof returnable ? returnable : h('span', {}, returnable)\n })\n const textified = computed<string>(() => {\n return getStringOrVNodeAsString(rendered.value)\n })\n watch(\n callRefreshChoices,\n (newVal: (() => void | Promise<void>) | undefined) => {\n if (newVal && typeof newVal === 'function') {\n newVal()\n }\n },\n { immediate: true }\n )\n const vListItemClasses = computed<string[]>(() => {\n const ret: string[] = []\n if (className.value) {\n if (Array.isArray(className.value)) {\n ret.push(...className.value)\n } else {\n ret.push(className.value)\n }\n }\n ret.push('px-0')\n return ret\n })\n const vListItemBindings = computed<VListItemPublicProps>(\n () =>\n stripUndefinedValuesFromObject({\n lines: isNotEmpty(label.value) ? ('two' as const) : ('one' as const),\n density: density.value,\n class: vListItemClasses.value,\n style: style.value,\n to: to.value,\n href: href.value,\n slim: true,\n height: vListItemHeight.value,\n }) satisfies VListItemPublicProps\n )\n return () =>\n h(VListItem, vListItemBindings.value, () => [\n isNotEmpty(label.value)\n ? h(VListItemSubtitle, { class: ['text-caption'] }, () => label.value)\n : null,\n h(VListItemTitle, { title: textified.value }, () => [\n rendered.value,\n h('span', { style: { opacity: 0 } }, '\\u200C'),\n ]),\n ])\n },\n})\n\n/**\n * Type definition for the RReadModeRenderer component instance.\n * This represents the actual component type that can be used in TypeScript\n * for component references, props validation, and type checking in parent components.\n *\n * @example\n * ```typescript\n * // Component reference\n * const rendererRef = ref<InstanceType<typeof RReadModeRenderer>>()\n *\n * // Props type extraction\n * type RendererProps = ComponentProps<typeof RReadModeRenderer>\n * ```\n */\nexport type RReadModeRenderer = typeof RReadModeRenderer & ComponentPublicInstance\n","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\n// Components\nimport { VIcon } from \"../VIcon/index.js\"; // Composables\nimport { useLocale } from \"../../composables/locale.js\"; // Utilities\nimport { callEvent } from \"../../util/index.js\"; // Types\nexport function useInputIcon(props) {\n const {\n t\n } = useLocale();\n function InputIcon(_ref) {\n let {\n name,\n color,\n ...attrs\n } = _ref;\n const localeKey = {\n prepend: 'prependAction',\n prependInner: 'prependAction',\n append: 'appendAction',\n appendInner: 'appendAction',\n clear: 'clear'\n }[name];\n const listener = props[`onClick:${name}`];\n function onKeydown(e) {\n if (e.key !== 'Enter' && e.key !== ' ') return;\n e.preventDefault();\n e.stopPropagation();\n callEvent(listener, new PointerEvent('click', e));\n }\n const label = listener && localeKey ? t(`$vuetify.input.${localeKey}`, props.label ?? '') : undefined;\n return _createVNode(VIcon, _mergeProps({\n \"icon\": props[`${name}Icon`],\n \"aria-label\": label,\n \"onClick\": listener,\n \"onKeydown\": onKeydown,\n \"color\": color\n }, attrs), null);\n }\n return {\n InputIcon\n };\n}\n//# sourceMappingURL=InputIcon.js.map","import { createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VMessages.css\";\n\n// Components\nimport { VSlideYTransition } from \"../transitions/index.js\"; // Composables\nimport { useTextColor } from \"../../composables/color.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { makeTransitionProps, MaybeTransition } from \"../../composables/transition.js\"; // Utilities\nimport { computed } from 'vue';\nimport { genericComponent, propsFactory, useRender, wrapInArray } from \"../../util/index.js\"; // Types\nexport const makeVMessagesProps = propsFactory({\n active: Boolean,\n color: String,\n messages: {\n type: [Array, String],\n default: () => []\n },\n ...makeComponentProps(),\n ...makeTransitionProps({\n transition: {\n component: VSlideYTransition,\n leaveAbsolute: true,\n group: true\n }\n })\n}, 'VMessages');\nexport const VMessages = genericComponent()({\n name: 'VMessages',\n props: makeVMessagesProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const messages = computed(() => wrapInArray(props.messages));\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(() => props.color);\n useRender(() => _createVNode(MaybeTransition, {\n \"transition\": props.transition,\n \"tag\": \"div\",\n \"class\": _normalizeClass(['v-messages', textColorClasses.value, props.class]),\n \"style\": _normalizeStyle([textColorStyles.value, props.style])\n }, {\n default: () => [props.active && messages.value.map((message, i) => _createElementVNode(\"div\", {\n \"class\": \"v-messages__message\",\n \"key\": `${i}-${messages.value}`\n }, [slots.message ? slots.message({\n message\n }) : message]))]\n }));\n return {};\n }\n});\n//# sourceMappingURL=VMessages.js.map","// Composables\nimport { useProxiedModel } from \"./proxiedModel.js\"; // Utilities\nimport { toRef } from 'vue';\nimport { EventProp, getCurrentInstanceName, propsFactory } from \"../util/index.js\"; // Types\n// Composables\nexport const makeFocusProps = propsFactory({\n focused: Boolean,\n 'onUpdate:focused': EventProp()\n}, 'focus');\nexport function useFocus(props) {\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n const isFocused = useProxiedModel(props, 'focused');\n const focusClasses = toRef(() => {\n return {\n [`${name}--focused`]: isFocused.value\n };\n });\n function focus() {\n isFocused.value = true;\n }\n function blur() {\n isFocused.value = false;\n }\n return {\n focusClasses,\n isFocused,\n focus,\n blur\n };\n}\n//# sourceMappingURL=focus.js.map","// Composables\nimport { useProxiedModel } from \"./proxiedModel.js\"; // Utilities\nimport { computed, inject, markRaw, provide, ref, shallowRef, toRef, watch } from 'vue';\nimport { consoleWarn, propsFactory } from \"../util/index.js\"; // Types\nexport const FormKey = Symbol.for('vuetify:form');\nexport const makeFormProps = propsFactory({\n disabled: Boolean,\n fastFail: Boolean,\n readonly: Boolean,\n modelValue: {\n type: Boolean,\n default: null\n },\n validateOn: {\n type: String,\n default: 'input'\n }\n}, 'form');\nexport function createForm(props) {\n const model = useProxiedModel(props, 'modelValue');\n const isDisabled = toRef(() => props.disabled);\n const isReadonly = toRef(() => props.readonly);\n const isValidating = shallowRef(false);\n const items = ref([]);\n const errors = ref([]);\n async function validate() {\n const results = [];\n let valid = true;\n errors.value = [];\n isValidating.value = true;\n for (const item of items.value) {\n const itemErrorMessages = await item.validate();\n if (itemErrorMessages.length > 0) {\n valid = false;\n results.push({\n id: item.id,\n errorMessages: itemErrorMessages\n });\n }\n if (!valid && props.fastFail) break;\n }\n errors.value = results;\n isValidating.value = false;\n return {\n valid,\n errors: errors.value\n };\n }\n function reset() {\n items.value.forEach(item => item.reset());\n }\n function resetValidation() {\n items.value.forEach(item => item.resetValidation());\n }\n watch(items, () => {\n let valid = 0;\n let invalid = 0;\n const results = [];\n for (const item of items.value) {\n if (item.isValid === false) {\n invalid++;\n results.push({\n id: item.id,\n errorMessages: item.errorMessages\n });\n } else if (item.isValid === true) valid++;\n }\n errors.value = results;\n model.value = invalid > 0 ? false : valid === items.value.length ? true : null;\n }, {\n deep: true,\n flush: 'post'\n });\n provide(FormKey, {\n register: _ref => {\n let {\n id,\n vm,\n validate,\n reset,\n resetValidation\n } = _ref;\n if (items.value.some(item => item.id === id)) {\n consoleWarn(`Duplicate input name \"${id}\"`);\n }\n items.value.push({\n id,\n validate,\n reset,\n resetValidation,\n vm: markRaw(vm),\n isValid: null,\n errorMessages: []\n });\n },\n unregister: id => {\n items.value = items.value.filter(item => {\n return item.id !== id;\n });\n },\n update: (id, isValid, errorMessages) => {\n const found = items.value.find(item => item.id === id);\n if (!found) return;\n found.isValid = isValid;\n found.errorMessages = errorMessages;\n },\n isDisabled,\n isReadonly,\n isValidating,\n isValid: model,\n items,\n validateOn: toRef(() => props.validateOn)\n });\n return {\n errors,\n isDisabled,\n isReadonly,\n isValidating,\n isValid: model,\n items,\n validate,\n reset,\n resetValidation\n };\n}\nexport function useForm(props) {\n const form = inject(FormKey, null);\n return {\n ...form,\n isReadonly: computed(() => !!(props?.readonly ?? form?.isReadonly.value)),\n isDisabled: computed(() => !!(props?.disabled ?? form?.isDisabled.value))\n };\n}\n//# sourceMappingURL=form.js.map","// Utilities\nimport { computed, inject, toRef } from 'vue';\n\n// Types\n\nexport function createRules(options, locale) {\n const {\n t\n } = locale;\n const aliases = {\n required: err => {\n return v => {\n // If the modifier .number is used, the 0 will be a number and it's a falsy value so we need to check for it\n return v === 0 || !!v || t(err || '$vuetify.rules.required');\n };\n },\n email: err => {\n return v => !v || typeof v === 'string' && /^.+@\\S+\\.\\S+$/.test(v) || t(err || '$vuetify.rules.email');\n },\n number: err => {\n return v => !v || !isNaN(Number(v)) || t(err || '$vuetify.rules.number');\n },\n integer: err => {\n return v => /^[\\d]*$/.test(v) || t(err || '$vuetify.rules.integer');\n },\n capital: err => {\n return v => /^[A-Z]*$/.test(v) || t(err || '$vuetify.rules.capital');\n },\n maxLength: (len, err) => {\n return v => !v || v.length <= len || t(err || '$vuetify.rules.maxLength', len);\n },\n minLength: (len, err) => {\n return v => !v || v.length >= len || t(err || '$vuetify.rules.minLength', len);\n },\n strictLength: (len, err) => {\n return v => !v || v.length === len || t(err || '$vuetify.rules.strictLength', len);\n },\n exclude: (forbiddenCharacters, err) => {\n return v => {\n let error = true;\n for (const character of forbiddenCharacters) {\n if (v.includes(character)) error = err || t('$vuetify.rules.exclude', character);\n }\n return error;\n };\n },\n notEmpty: err => {\n return v => v && v.length > 0 || t(err || '$vuetify.rules.notEmpty');\n },\n pattern: (pattern, err) => {\n return v => !v || pattern.test(v) || t(err || '$vuetify.rules.pattern');\n },\n ...options?.aliases\n };\n function resolve(fn) {\n return computed(() => fn().map(rule => {\n let ruleName = null;\n let ruleParams = [undefined];\n if (Array.isArray(rule)) {\n ruleName = rule[0];\n ruleParams = rule.slice(1);\n } else if (typeof rule === 'string') {\n ruleName = rule;\n }\n if (ruleName !== null) {\n if (ruleName.startsWith('$')) {\n ruleName = ruleName.slice(1);\n }\n return aliases[ruleName]?.(...ruleParams);\n } else {\n return rule;\n }\n }));\n }\n return {\n resolve,\n aliases\n };\n}\nexport const RulesSymbol = Symbol.for('vuetify:rules');\nexport function useRules(fn) {\n const rules = inject(RulesSymbol, null);\n if (!fn) {\n if (!rules) {\n throw new Error('Could not find Vuetify rules injection');\n }\n return rules.aliases;\n }\n return rules?.resolve(fn) ?? toRef(fn);\n}\n//# sourceMappingURL=rules.js.map","// Composables\nimport { makeFocusProps } from \"./focus.js\";\nimport { useForm } from \"./form.js\";\nimport { useProxiedModel } from \"./proxiedModel.js\";\nimport { useToggleScope } from \"./toggleScope.js\";\nimport { useRules } from \"../labs/rules/index.js\"; // Utilities\nimport { computed, nextTick, onBeforeMount, onBeforeUnmount, onMounted, ref, shallowRef, unref, useId, watch } from 'vue';\nimport { getCurrentInstance, getCurrentInstanceName, propsFactory, wrapInArray } from \"../util/index.js\"; // Types\nexport const makeValidationProps = propsFactory({\n disabled: {\n type: Boolean,\n default: null\n },\n error: Boolean,\n errorMessages: {\n type: [Array, String],\n default: () => []\n },\n maxErrors: {\n type: [Number, String],\n default: 1\n },\n name: String,\n label: String,\n readonly: {\n type: Boolean,\n default: null\n },\n rules: {\n type: Array,\n default: () => []\n },\n modelValue: null,\n validateOn: String,\n validationValue: null,\n ...makeFocusProps()\n}, 'validation');\nexport function useValidation(props) {\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n let id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : useId();\n const model = useProxiedModel(props, 'modelValue');\n const validationModel = computed(() => props.validationValue === undefined ? model.value : props.validationValue);\n const form = useForm(props);\n const rules = useRules(() => props.rules);\n const internalErrorMessages = ref([]);\n const isPristine = shallowRef(true);\n const isDirty = computed(() => !!(wrapInArray(model.value === '' ? null : model.value).length || wrapInArray(validationModel.value === '' ? null : validationModel.value).length));\n const errorMessages = computed(() => {\n return props.errorMessages?.length ? wrapInArray(props.errorMessages).concat(internalErrorMessages.value).slice(0, Math.max(0, Number(props.maxErrors))) : internalErrorMessages.value;\n });\n const validateOn = computed(() => {\n let value = (props.validateOn ?? form.validateOn?.value) || 'input';\n if (value === 'lazy') value = 'input lazy';\n if (value === 'eager') value = 'input eager';\n const set = new Set(value?.split(' ') ?? []);\n return {\n input: set.has('input'),\n blur: set.has('blur') || set.has('input') || set.has('invalid-input'),\n invalidInput: set.has('invalid-input'),\n lazy: set.has('lazy'),\n eager: set.has('eager')\n };\n });\n const isValid = computed(() => {\n if (props.error || props.errorMessages?.length) return false;\n if (!props.rules.length) return true;\n if (isPristine.value) {\n return internalErrorMessages.value.length || validateOn.value.lazy ? null : true;\n } else {\n return !internalErrorMessages.value.length;\n }\n });\n const isValidating = shallowRef(false);\n const validationClasses = computed(() => {\n return {\n [`${name}--error`]: isValid.value === false,\n [`${name}--dirty`]: isDirty.value,\n [`${name}--disabled`]: form.isDisabled.value,\n [`${name}--readonly`]: form.isReadonly.value\n };\n });\n const vm = getCurrentInstance('validation');\n const uid = computed(() => props.name ?? unref(id));\n onBeforeMount(() => {\n form.register?.({\n id: uid.value,\n vm,\n validate,\n reset,\n resetValidation\n });\n });\n onBeforeUnmount(() => {\n form.unregister?.(uid.value);\n });\n onMounted(async () => {\n if (!validateOn.value.lazy) {\n await validate(!validateOn.value.eager);\n }\n form.update?.(uid.value, isValid.value, errorMessages.value);\n });\n useToggleScope(() => validateOn.value.input || validateOn.value.invalidInput && isValid.value === false, () => {\n watch(validationModel, () => {\n if (validationModel.value != null) {\n validate();\n } else if (props.focused) {\n const unwatch = watch(() => props.focused, val => {\n if (!val) validate();\n unwatch();\n });\n }\n });\n });\n useToggleScope(() => validateOn.value.blur, () => {\n watch(() => props.focused, val => {\n if (!val) validate();\n });\n });\n watch([isValid, errorMessages], () => {\n form.update?.(uid.value, isValid.value, errorMessages.value);\n });\n async function reset() {\n model.value = null;\n await nextTick();\n await resetValidation();\n }\n async function resetValidation() {\n isPristine.value = true;\n if (!validateOn.value.lazy) {\n await validate(!validateOn.value.eager);\n } else {\n internalErrorMessages.value = [];\n }\n }\n async function validate() {\n let silent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n const results = [];\n isValidating.value = true;\n for (const rule of rules.value) {\n if (results.length >= Number(props.maxErrors ?? 1)) {\n break;\n }\n const handler = typeof rule === 'function' ? rule : () => rule;\n const result = await handler(validationModel.value);\n if (result === true) continue;\n if (result !== false && typeof result !== 'string') {\n // eslint-disable-next-line no-console\n console.warn(`${result} is not a valid value. Rule functions must return boolean true or a string.`);\n continue;\n }\n results.push(result || '');\n }\n internalErrorMessages.value = results;\n isValidating.value = false;\n isPristine.value = silent;\n return internalErrorMessages.value;\n }\n return {\n errorMessages,\n isDirty,\n isDisabled: form.isDisabled,\n isReadonly: form.isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses\n };\n}\n//# sourceMappingURL=validation.js.map","import { createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle } from \"vue\";\n// Styles\nimport \"./VInput.css\";\n\n// Components\nimport { useInputIcon } from \"./InputIcon.js\";\nimport { VMessages } from \"../VMessages/VMessages.js\"; // Composables\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { makeDensityProps, useDensity } from \"../../composables/density.js\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.js\";\nimport { IconValue } from \"../../composables/icons.js\";\nimport { useRtl } from \"../../composables/locale.js\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.js\";\nimport { makeValidationProps, useValidation } from \"../../composables/validation.js\"; // Utilities\nimport { computed, toRef, useId } from 'vue';\nimport { EventProp, genericComponent, pick, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVInputProps = propsFactory({\n id: String,\n appendIcon: IconValue,\n baseColor: String,\n centerAffix: {\n type: Boolean,\n default: true\n },\n color: String,\n glow: Boolean,\n iconColor: [Boolean, String],\n prependIcon: IconValue,\n hideDetails: [Boolean, String],\n hideSpinButtons: Boolean,\n hint: String,\n persistentHint: Boolean,\n messages: {\n type: [Array, String],\n default: () => []\n },\n direction: {\n type: String,\n default: 'horizontal',\n validator: v => ['horizontal', 'vertical'].includes(v)\n },\n 'onClick:prepend': EventProp(),\n 'onClick:append': EventProp(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...pick(makeDimensionProps(), ['maxWidth', 'minWidth', 'width']),\n ...makeThemeProps(),\n ...makeValidationProps()\n}, 'VInput');\nexport const VInput = genericComponent()({\n name: 'VInput',\n props: {\n ...makeVInputProps()\n },\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n attrs,\n slots,\n emit\n } = _ref;\n const {\n densityClasses\n } = useDensity(props);\n const {\n dimensionStyles\n } = useDimension(props);\n const {\n themeClasses\n } = provideTheme(props);\n const {\n rtlClasses\n } = useRtl();\n const {\n InputIcon\n } = useInputIcon(props);\n const uid = useId();\n const id = computed(() => props.id || `input-${uid}`);\n const {\n errorMessages,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses\n } = useValidation(props, 'v-input', id);\n const messages = computed(() => {\n if (props.errorMessages?.length || !isPristine.value && errorMessages.value.length) {\n return errorMessages.value;\n } else if (props.hint && (props.persistentHint || props.focused)) {\n return props.hint;\n } else {\n return props.messages;\n }\n });\n const hasMessages = toRef(() => messages.value.length > 0);\n const hasDetails = toRef(() => !props.hideDetails || props.hideDetails === 'auto' && (hasMessages.value || !!slots.details));\n const messagesId = computed(() => hasDetails.value ? `${id.value}-messages` : undefined);\n const slotProps = computed(() => ({\n id,\n messagesId,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n hasDetails,\n reset,\n resetValidation,\n validate\n }));\n const color = toRef(() => {\n return props.error || props.disabled ? undefined : props.focused ? props.color : props.baseColor;\n });\n const iconColor = toRef(() => {\n if (!props.iconColor) return undefined;\n return props.iconColor === true ? color.value : props.iconColor;\n });\n useRender(() => {\n const hasPrepend = !!(slots.prepend || props.prependIcon);\n const hasAppend = !!(slots.append || props.appendIcon);\n return _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-input', `v-input--${props.direction}`, {\n 'v-input--center-affix': props.centerAffix,\n 'v-input--focused': props.focused,\n 'v-input--glow': props.glow,\n 'v-input--hide-spin-buttons': props.hideSpinButtons\n }, densityClasses.value, themeClasses.value, rtlClasses.value, validationClasses.value, props.class]),\n \"style\": _normalizeStyle([dimensionStyles.value, props.style])\n }, [hasPrepend && _createElementVNode(\"div\", {\n \"key\": \"prepend\",\n \"class\": \"v-input__prepend\"\n }, [slots.prepend?.(slotProps.value), props.prependIcon && _createVNode(InputIcon, {\n \"key\": \"prepend-icon\",\n \"name\": \"prepend\",\n \"color\": iconColor.value\n }, null)]), slots.default && _createElementVNode(\"div\", {\n \"class\": \"v-input__control\"\n }, [slots.default?.(slotProps.value)]), hasAppend && _createElementVNode(\"div\", {\n \"key\": \"append\",\n \"class\": \"v-input__append\"\n }, [props.appendIcon && _createVNode(InputIcon, {\n \"key\": \"append-icon\",\n \"name\": \"append\",\n \"color\": iconColor.value\n }, null), slots.append?.(slotProps.value)]), hasDetails.value && _createElementVNode(\"div\", {\n \"id\": messagesId.value,\n \"class\": \"v-input__details\",\n \"role\": \"alert\",\n \"aria-live\": \"polite\"\n }, [_createVNode(VMessages, {\n \"active\": hasMessages.value,\n \"messages\": messages.value\n }, {\n message: slots.message\n }), slots.details?.(slotProps.value)])]);\n });\n return {\n reset,\n resetValidation,\n validate,\n isValid,\n errorMessages\n };\n }\n});\n//# sourceMappingURL=VInput.js.map","import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode } from \"vue\";\n// Styles\nimport \"./VLabel.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { makeThemeProps } from \"../../composables/theme.js\"; // Utilities\nimport { EventProp, genericComponent, propsFactory, useRender } from \"../../util/index.js\";\nexport const makeVLabelProps = propsFactory({\n text: String,\n onClick: EventProp(),\n ...makeComponentProps(),\n ...makeThemeProps()\n}, 'VLabel');\nexport const VLabel = genericComponent()({\n name: 'VLabel',\n props: makeVLabelProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n useRender(() => _createElementVNode(\"label\", {\n \"class\": _normalizeClass(['v-label', {\n 'v-label--clickable': !!props.onClick\n }, props.class]),\n \"style\": _normalizeStyle(props.style),\n \"onClick\": props.onClick\n }, [props.text, slots.default?.()]));\n return {};\n }\n});\n//# sourceMappingURL=VLabel.js.map","import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createVNode as _createVNode } from \"vue\";\n// Components\nimport { VLabel } from \"../VLabel/index.js\"; // Composables\nimport { makeComponentProps } from \"../../composables/component.js\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.js\";\nexport const makeVFieldLabelProps = propsFactory({\n floating: Boolean,\n ...makeComponentProps()\n}, 'VFieldLabel');\nexport const VFieldLabel = genericComponent()({\n name: 'VFieldLabel',\n props: makeVFieldLabelProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n useRender(() => _createVNode(VLabel, {\n \"class\": _normalizeClass(['v-field-label', {\n 'v-field-label--floating': props.floating\n }, props.class]),\n \"style\": _normalizeStyle(props.style)\n }, slots));\n return {};\n }\n});\n//# sourceMappingURL=VFieldLabel.js.map","import { createElementVNode as _createElementVNode, createVNode as _createVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, vShow as _vShow, withDirectives as _withDirectives, Fragment as _Fragment, mergeProps as _mergeProps } from \"vue\";\n// Styles\nimport \"./VField.css\";\n\n// Components\nimport { VFieldLabel } from \"./VFieldLabel.js\";\nimport { VExpandXTransition } from \"../transitions/index.js\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.js\";\nimport { useInputIcon } from \"../VInput/InputIcon.js\"; // Composables\nimport { useBackgroundColor, useTextColor } from \"../../composables/color.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { makeFocusProps, useFocus } from \"../../composables/focus.js\";\nimport { IconValue } from \"../../composables/icons.js\";\nimport { LoaderSlot, makeLoaderProps, useLoader } from \"../../composables/loader.js\";\nimport { useRtl } from \"../../composables/locale.js\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.js\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.js\"; // Utilities\nimport { computed, ref, toRef, useId, watch } from 'vue';\nimport { animate, convertToUnit, EventProp, genericComponent, nullifyTransforms, PREFERS_REDUCED_MOTION, propsFactory, standardEasing, useRender } from \"../../util/index.js\"; // Types\nconst allowedVariants = ['underlined', 'outlined', 'filled', 'solo', 'solo-inverted', 'solo-filled', 'plain'];\nexport const makeVFieldProps = propsFactory({\n appendInnerIcon: IconValue,\n bgColor: String,\n clearable: Boolean,\n clearIcon: {\n type: IconValue,\n default: '$clear'\n },\n active: Boolean,\n centerAffix: {\n type: Boolean,\n default: undefined\n },\n color: String,\n baseColor: String,\n details: Boolean,\n dirty: Boolean,\n disabled: {\n type: Boolean,\n default: null\n },\n glow: Boolean,\n error: Boolean,\n flat: Boolean,\n iconColor: [Boolean, String],\n label: String,\n persistentClear: Boolean,\n prependInnerIcon: IconValue,\n reverse: Boolean,\n singleLine: Boolean,\n variant: {\n type: String,\n default: 'filled',\n validator: v => allowedVariants.includes(v)\n },\n 'onClick:clear': EventProp(),\n 'onClick:appendInner': EventProp(),\n 'onClick:prependInner': EventProp(),\n ...makeComponentProps(),\n ...makeLoaderProps(),\n ...makeRoundedProps(),\n ...makeThemeProps()\n}, 'VField');\nexport const VField = genericComponent()({\n name: 'VField',\n inheritAttrs: false,\n props: {\n id: String,\n ...makeFocusProps(),\n ...makeVFieldProps()\n },\n emits: {\n 'update:focused': focused => true,\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n attrs,\n emit,\n slots\n } = _ref;\n const {\n themeClasses\n } = provideTheme(props);\n const {\n loaderClasses\n } = useLoader(props);\n const {\n focusClasses,\n isFocused,\n focus,\n blur\n } = useFocus(props);\n const {\n InputIcon\n } = useInputIcon(props);\n const {\n roundedClasses\n } = useRounded(props);\n const {\n rtlClasses\n } = useRtl();\n const isActive = toRef(() => props.dirty || props.active);\n const hasLabel = toRef(() => !!(props.label || slots.label));\n const hasFloatingLabel = toRef(() => !props.singleLine && hasLabel.value);\n const uid = useId();\n const id = computed(() => props.id || `input-${uid}`);\n const messagesId = toRef(() => !props.details ? undefined : `${id.value}-messages`);\n const labelRef = ref();\n const floatingLabelRef = ref();\n const controlRef = ref();\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant));\n const color = computed(() => {\n return props.error || props.disabled ? undefined : isActive.value && isFocused.value ? props.color : props.baseColor;\n });\n const iconColor = computed(() => {\n if (!props.iconColor || props.glow && !isFocused.value) return undefined;\n return props.iconColor === true ? color.value : props.iconColor;\n });\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(() => props.bgColor);\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(color);\n watch(isActive, val => {\n if (hasFloatingLabel.value && !PREFERS_REDUCED_MOTION()) {\n const el = labelRef.value.$el;\n const targetEl = floatingLabelRef.value.$el;\n requestAnimationFrame(() => {\n const rect = nullifyTransforms(el);\n const targetRect = targetEl.getBoundingClientRect();\n const x = targetRect.x - rect.x;\n const y = targetRect.y - rect.y - (rect.height / 2 - targetRect.height / 2);\n const targetWidth = targetRect.width / 0.75;\n const width = Math.abs(targetWidth - rect.width) > 1 ? {\n maxWidth: convertToUnit(targetWidth)\n } : undefined;\n const style = getComputedStyle(el);\n const targetStyle = getComputedStyle(targetEl);\n const duration = parseFloat(style.transitionDuration) * 1000 || 150;\n const scale = parseFloat(targetStyle.getPropertyValue('--v-field-label-scale'));\n const color = targetStyle.getPropertyValue('color');\n el.style.visibility = 'visible';\n targetEl.style.visibility = 'hidden';\n animate(el, {\n transform: `translate(${x}px, ${y}px) scale(${scale})`,\n color,\n ...width\n }, {\n duration,\n easing: standardEasing,\n direction: val ? 'normal' : 'reverse'\n }).finished.then(() => {\n el.style.removeProperty('visibility');\n targetEl.style.removeProperty('visibility');\n });\n });\n }\n }, {\n flush: 'post'\n });\n const slotProps = computed(() => ({\n isActive,\n isFocused,\n controlRef,\n blur,\n focus\n }));\n function onClick(e) {\n if (e.target !== document.activeElement) {\n e.preventDefault();\n }\n }\n useRender(() => {\n const isOutlined = props.variant === 'outlined';\n const hasPrepend = !!(slots['prepend-inner'] || props.prependInnerIcon);\n const hasClear = !!(props.clearable || slots.clear) && !props.disabled;\n const hasAppend = !!(slots['append-inner'] || props.appendInnerIcon || hasClear);\n const label = () => slots.label ? slots.label({\n ...slotProps.value,\n label: props.label,\n props: {\n for: id.value\n }\n }) : props.label;\n return _createElementVNode(\"div\", _mergeProps({\n \"class\": ['v-field', {\n 'v-field--active': isActive.value,\n 'v-field--appended': hasAppend,\n 'v-field--center-affix': props.centerAffix ?? !isPlainOrUnderlined.value,\n 'v-field--disabled': props.disabled,\n 'v-field--dirty': props.dirty,\n 'v-field--error': props.error,\n 'v-field--glow': props.glow,\n 'v-field--flat': props.flat,\n 'v-field--has-background': !!props.bgColor,\n 'v-field--persistent-clear': props.persistentClear,\n 'v-field--prepended': hasPrepend,\n 'v-field--reverse': props.reverse,\n 'v-field--single-line': props.singleLine,\n 'v-field--no-label': !label(),\n [`v-field--variant-${props.variant}`]: true\n }, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value, rtlClasses.value, props.class],\n \"style\": [backgroundColorStyles.value, props.style],\n \"onClick\": onClick\n }, attrs), [_createElementVNode(\"div\", {\n \"class\": \"v-field__overlay\"\n }, null), _createVNode(LoaderSlot, {\n \"name\": \"v-field\",\n \"active\": !!props.loading,\n \"color\": props.error ? 'error' : typeof props.loading === 'string' ? props.loading : props.color\n }, {\n default: slots.loader\n }), hasPrepend && _createElementVNode(\"div\", {\n \"key\": \"prepend\",\n \"class\": \"v-field__prepend-inner\"\n }, [props.prependInnerIcon && _createVNode(InputIcon, {\n \"key\": \"prepend-icon\",\n \"name\": \"prependInner\",\n \"color\": iconColor.value\n }, null), slots['prepend-inner']?.(slotProps.value)]), _createElementVNode(\"div\", {\n \"class\": \"v-field__field\",\n \"data-no-activator\": \"\"\n }, [['filled', 'solo', 'solo-inverted', 'solo-filled'].includes(props.variant) && hasFloatingLabel.value && _createVNode(VFieldLabel, {\n \"key\": \"floating-label\",\n \"ref\": floatingLabelRef,\n \"class\": _normalizeClass([textColorClasses.value]),\n \"floating\": true,\n \"for\": id.value,\n \"aria-hidden\": !isActive.value,\n \"style\": _normalizeStyle(textColorStyles.value)\n }, {\n default: () => [label()]\n }), hasLabel.value && _createVNode(VFieldLabel, {\n \"key\": \"label\",\n \"ref\": labelRef,\n \"for\": id.value\n }, {\n default: () => [label()]\n }), slots.default?.({\n ...slotProps.value,\n props: {\n id: id.value,\n class: 'v-field__input',\n 'aria-describedby': messagesId.value\n },\n focus,\n blur\n }) ?? _createElementVNode(\"div\", {\n \"id\": id.value,\n \"class\": \"v-field__input\",\n \"aria-describedby\": messagesId.value\n }, null)]), hasClear && _createVNode(VExpandXTransition, {\n \"key\": \"clear\"\n }, {\n default: () => [_withDirectives(_createElementVNode(\"div\", {\n \"class\": \"v-field__clearable\",\n \"onMousedown\": e => {\n e.preventDefault();\n e.stopPropagation();\n }\n }, [_createVNode(VDefaultsProvider, {\n \"defaults\": {\n VIcon: {\n icon: props.clearIcon\n }\n }\n }, {\n default: () => [slots.clear ? slots.clear({\n ...slotProps.value,\n props: {\n onFocus: focus,\n onBlur: blur,\n onClick: props['onClick:clear'],\n tabindex: -1\n }\n }) : _createVNode(InputIcon, {\n \"name\": \"clear\",\n \"onFocus\": focus,\n \"onBlur\": blur,\n \"tabindex\": -1\n }, null)]\n })]), [[_vShow, props.dirty]])]\n }), hasAppend && _createElementVNode(\"div\", {\n \"key\": \"append\",\n \"class\": \"v-field__append-inner\"\n }, [slots['append-inner']?.(slotProps.value), props.appendInnerIcon && _createVNode(InputIcon, {\n \"key\": \"append-icon\",\n \"name\": \"appendInner\",\n \"color\": iconColor.value\n }, null)]), _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-field__outline', textColorClasses.value]),\n \"style\": _normalizeStyle(textColorStyles.value)\n }, [isOutlined && _createElementVNode(_Fragment, null, [_createElementVNode(\"div\", {\n \"class\": \"v-field__outline__start\"\n }, null), hasFloatingLabel.value && _createElementVNode(\"div\", {\n \"class\": \"v-field__outline__notch\"\n }, [_createVNode(VFieldLabel, {\n \"ref\": floatingLabelRef,\n \"floating\": true,\n \"for\": id.value,\n \"aria-hidden\": !isActive.value\n }, {\n default: () => [label()]\n })]), _createElementVNode(\"div\", {\n \"class\": \"v-field__outline__end\"\n }, null)]), isPlainOrUnderlined.value && hasFloatingLabel.value && _createVNode(VFieldLabel, {\n \"ref\": floatingLabelRef,\n \"floating\": true,\n \"for\": id.value,\n \"aria-hidden\": !isActive.value\n }, {\n default: () => [label()]\n })])]);\n });\n return {\n controlRef,\n fieldIconColor: iconColor\n };\n }\n});\n//# sourceMappingURL=VField.js.map","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VBottomSheet.css\";\n\n// Components\nimport { makeVDialogProps, VDialog } from \"../VDialog/VDialog.js\"; // Composables\nimport { useProxiedModel } from \"../../composables/proxiedModel.js\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVBottomSheetProps = propsFactory({\n inset: Boolean,\n ...makeVDialogProps({\n transition: 'bottom-sheet-transition'\n })\n}, 'VBottomSheet');\nexport const VBottomSheet = genericComponent()({\n name: 'VBottomSheet',\n props: makeVBottomSheetProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const isActive = useProxiedModel(props, 'modelValue');\n useRender(() => {\n const dialogProps = VDialog.filterProps(props);\n return _createVNode(VDialog, _mergeProps(dialogProps, {\n \"contentClass\": ['v-bottom-sheet__content', props.contentClass],\n \"modelValue\": isActive.value,\n \"onUpdate:modelValue\": $event => isActive.value = $event,\n \"class\": ['v-bottom-sheet', {\n 'v-bottom-sheet--inset': props.inset\n }, props.class],\n \"style\": props.style\n }), slots);\n });\n return {};\n }\n});\n//# sourceMappingURL=VBottomSheet.js.map","import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode } from \"vue\";\n// Styles\nimport \"./VSelectionControlGroup.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { provideDefaults } from \"../../composables/defaults.js\";\nimport { makeDensityProps } from \"../../composables/density.js\";\nimport { IconValue } from \"../../composables/icons.js\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.js\";\nimport { makeThemeProps } from \"../../composables/theme.js\"; // Utilities\nimport { onScopeDispose, provide, toRef, useId } from 'vue';\nimport { deepEqual, genericComponent, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const VSelectionControlGroupSymbol = Symbol.for('vuetify:selection-control-group');\nexport const makeSelectionControlGroupProps = propsFactory({\n color: String,\n disabled: {\n type: Boolean,\n default: null\n },\n defaultsTarget: String,\n error: Boolean,\n id: String,\n inline: Boolean,\n falseIcon: IconValue,\n trueIcon: IconValue,\n ripple: {\n type: [Boolean, Object],\n default: true\n },\n multiple: {\n type: Boolean,\n default: null\n },\n name: String,\n readonly: {\n type: Boolean,\n default: null\n },\n modelValue: null,\n type: String,\n valueComparator: {\n type: Function,\n default: deepEqual\n },\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeThemeProps()\n}, 'SelectionControlGroup');\nexport const makeVSelectionControlGroupProps = propsFactory({\n ...makeSelectionControlGroupProps({\n defaultsTarget: 'VSelectionControl'\n })\n}, 'VSelectionControlGroup');\nexport const VSelectionControlGroup = genericComponent()({\n name: 'VSelectionControlGroup',\n props: makeVSelectionControlGroupProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const modelValue = useProxiedModel(props, 'modelValue');\n const uid = useId();\n const id = toRef(() => props.id || `v-selection-control-group-${uid}`);\n const name = toRef(() => props.name || id.value);\n const updateHandlers = new Set();\n provide(VSelectionControlGroupSymbol, {\n modelValue,\n forceUpdate: () => {\n updateHandlers.forEach(fn => fn());\n },\n onForceUpdate: cb => {\n updateHandlers.add(cb);\n onScopeDispose(() => {\n updateHandlers.delete(cb);\n });\n }\n });\n provideDefaults({\n [props.defaultsTarget]: {\n color: toRef(() => props.color),\n disabled: toRef(() => props.disabled),\n density: toRef(() => props.density),\n error: toRef(() => props.error),\n inline: toRef(() => props.inline),\n modelValue,\n multiple: toRef(() => !!props.multiple || props.multiple == null && Array.isArray(modelValue.value)),\n name,\n falseIcon: toRef(() => props.falseIcon),\n trueIcon: toRef(() => props.trueIcon),\n readonly: toRef(() => props.readonly),\n ripple: toRef(() => props.ripple),\n type: toRef(() => props.type),\n valueComparator: toRef(() => props.valueComparator)\n }\n });\n useRender(() => _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-selection-control-group', {\n 'v-selection-control-group--inline': props.inline\n }, props.class]),\n \"style\": _normalizeStyle(props.style),\n \"role\": props.type === 'radio' ? 'radiogroup' : undefined\n }, [slots.default?.()]));\n return {};\n }\n});\n//# sourceMappingURL=VSelectionControlGroup.js.map","import { mergeProps as _mergeProps, createElementVNode as _createElementVNode, Fragment as _Fragment, createVNode as _createVNode, normalizeClass as _normalizeClass, withDirectives as _withDirectives, normalizeStyle as _normalizeStyle } from \"vue\";\n// Styles\nimport \"./VSelectionControl.css\";\n\n// Components\nimport { VIcon } from \"../VIcon/index.js\";\nimport { VLabel } from \"../VLabel/index.js\";\nimport { makeSelectionControlGroupProps, VSelectionControlGroupSymbol } from \"../VSelectionControlGroup/VSelectionControlGroup.js\"; // Composables\nimport { useBackgroundColor, useTextColor } from \"../../composables/color.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { useDensity } from \"../../composables/density.js\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.js\"; // Directives\nimport vRipple from \"../../directives/ripple/index.js\"; // Utilities\nimport { computed, inject, nextTick, ref, shallowRef, toRef, useId } from 'vue';\nimport { filterInputAttrs, genericComponent, matchesSelector, propsFactory, useRender, wrapInArray } from \"../../util/index.js\"; // Types\nexport const makeVSelectionControlProps = propsFactory({\n label: String,\n baseColor: String,\n trueValue: null,\n falseValue: null,\n value: null,\n ...makeComponentProps(),\n ...makeSelectionControlGroupProps()\n}, 'VSelectionControl');\nexport function useSelectionControl(props) {\n const group = inject(VSelectionControlGroupSymbol, undefined);\n const {\n densityClasses\n } = useDensity(props);\n const modelValue = useProxiedModel(props, 'modelValue');\n const trueValue = computed(() => props.trueValue !== undefined ? props.trueValue : props.value !== undefined ? props.value : true);\n const falseValue = computed(() => props.falseValue !== undefined ? props.falseValue : false);\n const isMultiple = computed(() => !!props.multiple || props.multiple == null && Array.isArray(modelValue.value));\n const model = computed({\n get() {\n const val = group ? group.modelValue.value : modelValue.value;\n return isMultiple.value ? wrapInArray(val).some(v => props.valueComparator(v, trueValue.value)) : props.valueComparator(val, trueValue.value);\n },\n set(val) {\n if (props.readonly) return;\n const currentValue = val ? trueValue.value : falseValue.value;\n let newVal = currentValue;\n if (isMultiple.value) {\n newVal = val ? [...wrapInArray(modelValue.value), currentValue] : wrapInArray(modelValue.value).filter(item => !props.valueComparator(item, trueValue.value));\n }\n if (group) {\n group.modelValue.value = newVal;\n } else {\n modelValue.value = newVal;\n }\n }\n });\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(() => {\n if (props.error || props.disabled) return undefined;\n return model.value ? props.color : props.baseColor;\n });\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(() => {\n return model.value && !props.error && !props.disabled ? props.color : props.baseColor;\n });\n const icon = computed(() => model.value ? props.trueIcon : props.falseIcon);\n return {\n group,\n densityClasses,\n trueValue,\n falseValue,\n model,\n textColorClasses,\n textColorStyles,\n backgroundColorClasses,\n backgroundColorStyles,\n icon\n };\n}\nexport const VSelectionControl = genericComponent()({\n name: 'VSelectionControl',\n directives: {\n vRipple\n },\n inheritAttrs: false,\n props: makeVSelectionControlProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const {\n group,\n densityClasses,\n icon,\n model,\n textColorClasses,\n textColorStyles,\n backgroundColorClasses,\n backgroundColorStyles,\n trueValue\n } = useSelectionControl(props);\n const uid = useId();\n const isFocused = shallowRef(false);\n const isFocusVisible = shallowRef(false);\n const input = ref();\n const id = toRef(() => props.id || `input-${uid}`);\n const isInteractive = toRef(() => !props.disabled && !props.readonly);\n group?.onForceUpdate(() => {\n if (input.value) {\n input.value.checked = model.value;\n }\n });\n function onFocus(e) {\n if (!isInteractive.value) return;\n isFocused.value = true;\n if (matchesSelector(e.target, ':focus-visible') !== false) {\n isFocusVisible.value = true;\n }\n }\n function onBlur() {\n isFocused.value = false;\n isFocusVisible.value = false;\n }\n function onClickLabel(e) {\n e.stopPropagation();\n }\n function onInput(e) {\n if (!isInteractive.value) {\n if (input.value) {\n // model value is not updated when input is not interactive\n // but the internal checked state of the input is still updated,\n // so here it's value is restored\n input.value.checked = model.value;\n }\n return;\n }\n if (props.readonly && group) {\n nextTick(() => group.forceUpdate());\n }\n model.value = e.target.checked;\n }\n useRender(() => {\n const label = slots.label ? slots.label({\n label: props.label,\n props: {\n for: id.value\n }\n }) : props.label;\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);\n const inputNode = _createElementVNode(\"input\", _mergeProps({\n \"ref\": input,\n \"checked\": model.value,\n \"disabled\": !!props.disabled,\n \"id\": id.value,\n \"onBlur\": onBlur,\n \"onFocus\": onFocus,\n \"onInput\": onInput,\n \"aria-disabled\": !!props.disabled,\n \"aria-label\": props.label,\n \"type\": props.type,\n \"value\": trueValue.value,\n \"name\": props.name,\n \"aria-checked\": props.type === 'checkbox' ? model.value : undefined\n }, inputAttrs), null);\n return _createElementVNode(\"div\", _mergeProps({\n \"class\": ['v-selection-control', {\n 'v-selection-control--dirty': model.value,\n 'v-selection-control--disabled': props.disabled,\n 'v-selection-control--error': props.error,\n 'v-selection-control--focused': isFocused.value,\n 'v-selection-control--focus-visible': isFocusVisible.value,\n 'v-selection-control--inline': props.inline\n }, densityClasses.value, props.class]\n }, rootAttrs, {\n \"style\": props.style\n }), [_createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-selection-control__wrapper', textColorClasses.value]),\n \"style\": _normalizeStyle(textColorStyles.value)\n }, [slots.default?.({\n backgroundColorClasses,\n backgroundColorStyles\n }), _withDirectives(_createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-selection-control__input'])\n }, [slots.input?.({\n model,\n textColorClasses,\n textColorStyles,\n backgroundColorClasses,\n backgroundColorStyles,\n inputNode,\n icon: icon.value,\n props: {\n onFocus,\n onBlur,\n id: id.value\n }\n }) ?? _createElementVNode(_Fragment, null, [icon.value && _createVNode(VIcon, {\n \"key\": \"icon\",\n \"icon\": icon.value\n }, null), inputNode])]), [[vRipple, !props.disabled && !props.readonly && props.ripple, null, {\n center: true,\n circle: true\n }]])]), label && _createVNode(VLabel, {\n \"for\": id.value,\n \"onClick\": onClickLabel\n }, {\n default: () => [label]\n })]);\n });\n return {\n isFocused,\n input\n };\n }\n});\n//# sourceMappingURL=VSelectionControl.js.map","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\n// Components\nimport { makeVSelectionControlProps, VSelectionControl } from \"../VSelectionControl/VSelectionControl.js\"; // Composables\nimport { IconValue } from \"../../composables/icons.js\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.js\"; // Utilities\nimport { toRef } from 'vue';\nimport { genericComponent, omit, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVCheckboxBtnProps = propsFactory({\n indeterminate: Boolean,\n indeterminateIcon: {\n type: IconValue,\n default: '$checkboxIndeterminate'\n },\n ...makeVSelectionControlProps({\n falseIcon: '$checkboxOff',\n trueIcon: '$checkboxOn'\n })\n}, 'VCheckboxBtn');\nexport const VCheckboxBtn = genericComponent()({\n name: 'VCheckboxBtn',\n props: makeVCheckboxBtnProps(),\n emits: {\n 'update:modelValue': value => true,\n 'update:indeterminate': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const indeterminate = useProxiedModel(props, 'indeterminate');\n const model = useProxiedModel(props, 'modelValue');\n function onChange(v) {\n if (indeterminate.value) {\n indeterminate.value = false;\n }\n }\n const falseIcon = toRef(() => {\n return indeterminate.value ? props.indeterminateIcon : props.falseIcon;\n });\n const trueIcon = toRef(() => {\n return indeterminate.value ? props.indeterminateIcon : props.trueIcon;\n });\n useRender(() => {\n const controlProps = omit(VSelectionControl.filterProps(props), ['modelValue']);\n return _createVNode(VSelectionControl, _mergeProps(controlProps, {\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": [$event => model.value = $event, onChange],\n \"class\": ['v-checkbox-btn', props.class],\n \"style\": props.style,\n \"type\": \"checkbox\",\n \"falseIcon\": falseIcon.value,\n \"trueIcon\": trueIcon.value,\n \"aria-checked\": indeterminate.value ? 'mixed' : undefined\n }), slots);\n });\n return {};\n }\n});\n//# sourceMappingURL=VCheckboxBtn.js.map","import { vShow as _vShow, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VCounter.css\";\n\n// Components\nimport { VSlideYTransition } from \"../transitions/index.js\"; // Composables\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { makeTransitionProps, MaybeTransition } from \"../../composables/transition.js\"; // Utilities\nimport { toRef } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVCounterProps = propsFactory({\n active: Boolean,\n disabled: Boolean,\n max: [Number, String],\n value: {\n type: [Number, String],\n default: 0\n },\n ...makeComponentProps(),\n ...makeTransitionProps({\n transition: {\n component: VSlideYTransition\n }\n })\n}, 'VCounter');\nexport const VCounter = genericComponent()({\n name: 'VCounter',\n functional: true,\n props: makeVCounterProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const counter = toRef(() => {\n return props.max ? `${props.value} / ${props.max}` : String(props.value);\n });\n useRender(() => _createVNode(MaybeTransition, {\n \"transition\": props.transition\n }, {\n default: () => [_withDirectives(_createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-counter', {\n 'text-error': props.max && !props.disabled && parseFloat(props.value) > parseFloat(props.max)\n }, props.class]),\n \"style\": _normalizeStyle(props.style)\n }, [slots.default ? slots.default({\n counter: counter.value,\n max: props.max,\n value: props.value\n }) : counter.value]), [[_vShow, props.active]])]\n }));\n return {};\n }\n});\n//# sourceMappingURL=VCounter.js.map","// Utilities\nimport { shallowRef, toRef, useId } from 'vue';\nimport { propsFactory } from \"../util/index.js\"; // Types\n// Types\n// Composables\nexport const makeAutocompleteProps = propsFactory({\n autocomplete: String\n}, 'autocomplete');\nexport function useAutocomplete(props) {\n const uniqueId = useId();\n const reloadTrigger = shallowRef(0);\n const isSuppressing = toRef(() => props.autocomplete === 'suppress');\n const fieldName = toRef(() => {\n return isSuppressing.value ? `${props.name}-${uniqueId}-${reloadTrigger.value}` : props.name;\n });\n const fieldAutocomplete = toRef(() => {\n return isSuppressing.value ? 'off' : props.autocomplete;\n });\n return {\n isSuppressing,\n fieldAutocomplete,\n fieldName,\n update: () => reloadTrigger.value = new Date().getTime()\n };\n}\n//# sourceMappingURL=autocomplete.js.map","export function useAutofocus(props) {\n function onIntersect(isIntersecting, entries) {\n if (!props.autofocus || !isIntersecting) return;\n entries[0].target?.focus?.();\n }\n return {\n onIntersect\n };\n}\n//# sourceMappingURL=autofocus.js.map","import { mergeProps as _mergeProps, createElementVNode as _createElementVNode, withDirectives as _withDirectives, Fragment as _Fragment, normalizeClass as _normalizeClass, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VTextField.css\";\n\n// Components\nimport { VCounter } from \"../VCounter/VCounter.js\";\nimport { makeVFieldProps, VField } from \"../VField/VField.js\";\nimport { makeVInputProps, VInput } from \"../VInput/VInput.js\"; // Composables\nimport { makeAutocompleteProps, useAutocomplete } from \"../../composables/autocomplete.js\";\nimport { useAutofocus } from \"../../composables/autofocus.js\";\nimport { useFocus } from \"../../composables/focus.js\";\nimport { forwardRefs } from \"../../composables/forwardRefs.js\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.js\"; // Directives\nimport vIntersect from \"../../directives/intersect/index.js\"; // Utilities\nimport { cloneVNode, computed, nextTick, ref } from 'vue';\nimport { callEvent, filterInputAttrs, genericComponent, omit, propsFactory, useRender } from \"../../util/index.js\"; // Types\nconst activeTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month'];\nexport const makeVTextFieldProps = propsFactory({\n autofocus: Boolean,\n counter: [Boolean, Number, String],\n counterValue: [Number, Function],\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n suffix: String,\n role: String,\n type: {\n type: String,\n default: 'text'\n },\n modelModifiers: Object,\n ...makeAutocompleteProps(),\n ...makeVInputProps(),\n ...makeVFieldProps()\n}, 'VTextField');\nexport const VTextField = genericComponent()({\n name: 'VTextField',\n directives: {\n vIntersect\n },\n inheritAttrs: false,\n props: makeVTextFieldProps(),\n emits: {\n 'click:control': e => true,\n 'mousedown:control': e => true,\n 'update:focused': focused => true,\n 'update:modelValue': val => true\n },\n setup(props, _ref) {\n let {\n attrs,\n emit,\n slots\n } = _ref;\n const model = useProxiedModel(props, 'modelValue');\n const {\n isFocused,\n focus,\n blur\n } = useFocus(props);\n const {\n onIntersect\n } = useAutofocus(props);\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : (model.value ?? '').toString().length;\n });\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength;\n if (!props.counter || typeof props.counter !== 'number' && typeof props.counter !== 'string') return undefined;\n return props.counter;\n });\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant));\n const vInputRef = ref();\n const vFieldRef = ref();\n const inputRef = ref();\n const autocomplete = useAutocomplete(props);\n const isActive = computed(() => activeTypes.includes(props.type) || props.persistentPlaceholder || isFocused.value || props.active);\n function onFocus() {\n if (autocomplete.isSuppressing.value) {\n autocomplete.update();\n }\n if (!isFocused.value) focus();\n nextTick(() => {\n if (inputRef.value !== document.activeElement) {\n inputRef.value?.focus();\n }\n });\n }\n function onControlMousedown(e) {\n emit('mousedown:control', e);\n if (e.target === inputRef.value) return;\n onFocus();\n e.preventDefault();\n }\n function onControlClick(e) {\n emit('click:control', e);\n }\n function onClear(e, reset) {\n e.stopPropagation();\n onFocus();\n nextTick(() => {\n reset();\n callEvent(props['onClick:clear'], e);\n });\n }\n function onInput(e) {\n const el = e.target;\n model.value = el.value;\n if (props.modelModifiers?.trim && ['text', 'search', 'password', 'tel', 'url'].includes(props.type)) {\n const caretPosition = [el.selectionStart, el.selectionEnd];\n nextTick(() => {\n el.selectionStart = caretPosition[0];\n el.selectionEnd = caretPosition[1];\n });\n }\n }\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter !== false && props.counter != null);\n const hasDetails = !!(hasCounter || slots.details);\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);\n const {\n modelValue: _,\n ...inputProps\n } = VInput.filterProps(props);\n const fieldProps = VField.filterProps(props);\n return _createVNode(VInput, _mergeProps({\n \"ref\": vInputRef,\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": $event => model.value = $event,\n \"class\": ['v-text-field', {\n 'v-text-field--prefixed': props.prefix,\n 'v-text-field--suffixed': props.suffix,\n 'v-input--plain-underlined': isPlainOrUnderlined.value\n }, props.class],\n \"style\": props.style\n }, rootAttrs, inputProps, {\n \"centerAffix\": !isPlainOrUnderlined.value,\n \"focused\": isFocused.value\n }), {\n ...slots,\n default: _ref2 => {\n let {\n id,\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n hasDetails,\n reset\n } = _ref2;\n return _createVNode(VField, _mergeProps({\n \"ref\": vFieldRef,\n \"onMousedown\": onControlMousedown,\n \"onClick\": onControlClick,\n \"onClick:clear\": e => onClear(e, reset),\n \"role\": props.role\n }, omit(fieldProps, ['onClick:clear']), {\n \"id\": id.value,\n \"active\": isActive.value || isDirty.value,\n \"dirty\": isDirty.value || props.dirty,\n \"disabled\": isDisabled.value,\n \"focused\": isFocused.value,\n \"details\": hasDetails.value,\n \"error\": isValid.value === false\n }), {\n ...slots,\n default: _ref3 => {\n let {\n props: {\n class: fieldClass,\n ...slotProps\n },\n controlRef\n } = _ref3;\n const inputNode = _withDirectives(_createElementVNode(\"input\", _mergeProps({\n \"ref\": val => inputRef.value = controlRef.value = val,\n \"value\": model.value,\n \"onInput\": onInput,\n \"autofocus\": props.autofocus,\n \"readonly\": isReadonly.value,\n \"disabled\": isDisabled.value,\n \"name\": autocomplete.fieldName.value,\n \"autocomplete\": autocomplete.fieldAutocomplete.value,\n \"placeholder\": props.placeholder,\n \"size\": 1,\n \"role\": props.role,\n \"type\": props.type,\n \"onFocus\": focus,\n \"onBlur\": blur\n }, slotProps, inputAttrs), null), [[vIntersect, {\n handler: onIntersect\n }, null, {\n once: true\n }]]);\n return _createElementVNode(_Fragment, null, [props.prefix && _createElementVNode(\"span\", {\n \"class\": \"v-text-field__prefix\"\n }, [_createElementVNode(\"span\", {\n \"class\": \"v-text-field__prefix__text\"\n }, [props.prefix])]), slots.default ? _createElementVNode(\"div\", {\n \"class\": _normalizeClass(fieldClass),\n \"data-no-activator\": \"\"\n }, [slots.default(), inputNode]) : cloneVNode(inputNode, {\n class: fieldClass\n }), props.suffix && _createElementVNode(\"span\", {\n \"class\": \"v-text-field__suffix\"\n }, [_createElementVNode(\"span\", {\n \"class\": \"v-text-field__suffix__text\"\n }, [props.suffix])])]);\n }\n });\n },\n details: hasDetails ? slotProps => _createElementVNode(_Fragment, null, [slots.details?.(slotProps), hasCounter && _createElementVNode(_Fragment, null, [_createElementVNode(\"span\", null, null), _createVNode(VCounter, {\n \"active\": props.persistentCounter || isFocused.value,\n \"value\": counterValue.value,\n \"max\": max.value,\n \"disabled\": props.disabled\n }, slots.counter)])]) : undefined\n });\n });\n return forwardRefs({}, vInputRef, vFieldRef, inputRef);\n }\n});\n//# sourceMappingURL=VTextField.js.map","import { Fragment as _Fragment, createElementVNode as _createElementVNode, mergeProps as _mergeProps } from \"vue\";\n// Composables\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { useResizeObserver } from \"../../composables/resizeObserver.js\"; // Utilities\nimport { watch } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVVirtualScrollItemProps = propsFactory({\n renderless: Boolean,\n ...makeComponentProps()\n}, 'VVirtualScrollItem');\nexport const VVirtualScrollItem = genericComponent()({\n name: 'VVirtualScrollItem',\n inheritAttrs: false,\n props: makeVVirtualScrollItemProps(),\n emits: {\n 'update:height': height => true\n },\n setup(props, _ref) {\n let {\n attrs,\n emit,\n slots\n } = _ref;\n const {\n resizeRef,\n contentRect\n } = useResizeObserver(undefined, 'border');\n watch(() => contentRect.value?.height, height => {\n if (height != null) emit('update:height', height);\n });\n useRender(() => props.renderless ? _createElementVNode(_Fragment, null, [slots.default?.({\n itemRef: resizeRef\n })]) : _createElementVNode(\"div\", _mergeProps({\n \"ref\": resizeRef,\n \"class\": ['v-virtual-scroll__item', props.class],\n \"style\": props.style\n }, attrs), [slots.default?.()]));\n }\n});\n//# sourceMappingURL=VVirtualScrollItem.js.map","// Composables\nimport { useDisplay } from \"./display.js\";\nimport { useResizeObserver } from \"./resizeObserver.js\"; // Utilities\nimport { computed, nextTick, onScopeDispose, ref, shallowRef, watch, watchEffect } from 'vue';\nimport { clamp, debounce, getPropertyFromItem, IN_BROWSER, propsFactory } from \"../util/index.js\"; // Types\nconst UP = -1;\nconst DOWN = 1;\n\n/** Determines how large each batch of items should be */\nconst BUFFER_PX = 100;\nexport const makeVirtualProps = propsFactory({\n itemHeight: {\n type: [Number, String],\n default: null\n },\n itemKey: {\n type: [String, Array, Function],\n default: null\n },\n height: [Number, String]\n}, 'virtual');\nexport function useVirtual(props, items) {\n const display = useDisplay();\n const itemHeight = shallowRef(0);\n watchEffect(() => {\n itemHeight.value = parseFloat(props.itemHeight || 0);\n });\n const first = shallowRef(0);\n const last = shallowRef(Math.ceil(\n // Assume 16px items filling the entire screen height if\n // not provided. This is probably incorrect but it minimises\n // the chance of ending up with empty space at the bottom.\n // The default value is set here to avoid poisoning getSize()\n (parseInt(props.height) || display.height.value) / (itemHeight.value || 16)) || 1);\n const paddingTop = shallowRef(0);\n const paddingBottom = shallowRef(0);\n\n /** The scrollable element */\n const containerRef = ref();\n /** An element marking the top of the scrollable area,\n * used to add an offset if there's padding or other elements above the virtual list */\n const markerRef = ref();\n /** markerRef's offsetTop, lazily evaluated */\n let markerOffset = 0;\n const {\n resizeRef,\n contentRect\n } = useResizeObserver();\n watchEffect(() => {\n resizeRef.value = containerRef.value;\n });\n const viewportHeight = computed(() => {\n return containerRef.value === document.documentElement ? display.height.value : contentRect.value?.height || parseInt(props.height) || 0;\n });\n /** All static elements have been rendered and we have an assumed item height */\n const hasInitialRender = computed(() => {\n return !!(containerRef.value && markerRef.value && viewportHeight.value && itemHeight.value);\n });\n let sizes = Array.from({\n length: items.value.length\n });\n let offsets = Array.from({\n length: items.value.length\n });\n const updateTime = shallowRef(0);\n let targetScrollIndex = -1;\n function getSize(index) {\n return sizes[index] || itemHeight.value;\n }\n const updateOffsets = debounce(() => {\n const start = performance.now();\n offsets[0] = 0;\n const length = items.value.length;\n for (let i = 1; i <= length; i++) {\n offsets[i] = (offsets[i - 1] || 0) + getSize(i - 1);\n }\n updateTime.value = Math.max(updateTime.value, performance.now() - start);\n }, updateTime);\n const unwatch = watch(hasInitialRender, v => {\n if (!v) return;\n // First render is complete, update offsets and visible\n // items in case our assumed item height was incorrect\n\n unwatch();\n markerOffset = markerRef.value.offsetTop;\n updateOffsets.immediate();\n calculateVisibleItems();\n if (!~targetScrollIndex) return;\n nextTick(() => {\n IN_BROWSER && window.requestAnimationFrame(() => {\n scrollToIndex(targetScrollIndex);\n targetScrollIndex = -1;\n });\n });\n });\n onScopeDispose(() => {\n updateOffsets.clear();\n });\n function handleItemResize(index, height) {\n const prevHeight = sizes[index];\n const prevMinHeight = itemHeight.value;\n itemHeight.value = prevMinHeight ? Math.min(itemHeight.value, height) : height;\n if (prevHeight !== height || prevMinHeight !== itemHeight.value) {\n sizes[index] = height;\n updateOffsets();\n }\n }\n function calculateOffset(index) {\n index = clamp(index, 0, items.value.length);\n const whole = Math.floor(index);\n const fraction = index % 1;\n const next = whole + 1;\n const wholeOffset = offsets[whole] || 0;\n const nextOffset = offsets[next] || wholeOffset;\n return wholeOffset + (nextOffset - wholeOffset) * fraction;\n }\n function calculateIndex(scrollTop) {\n return binaryClosest(offsets, scrollTop);\n }\n let lastScrollTop = 0;\n let scrollVelocity = 0;\n let lastScrollTime = 0;\n watch(viewportHeight, (val, oldVal) => {\n if (oldVal) {\n calculateVisibleItems();\n if (val < oldVal) {\n requestAnimationFrame(() => {\n scrollVelocity = 0;\n calculateVisibleItems();\n });\n }\n }\n });\n let scrollTimeout = -1;\n function handleScroll() {\n if (!containerRef.value || !markerRef.value) return;\n const scrollTop = containerRef.value.scrollTop;\n const scrollTime = performance.now();\n const scrollDeltaT = scrollTime - lastScrollTime;\n if (scrollDeltaT > 500) {\n scrollVelocity = Math.sign(scrollTop - lastScrollTop);\n\n // Not super important, only update at the\n // start of a scroll sequence to avoid reflows\n markerOffset = markerRef.value.offsetTop;\n } else {\n scrollVelocity = scrollTop - lastScrollTop;\n }\n lastScrollTop = scrollTop;\n lastScrollTime = scrollTime;\n window.clearTimeout(scrollTimeout);\n scrollTimeout = window.setTimeout(handleScrollend, 500);\n calculateVisibleItems();\n }\n function handleScrollend() {\n if (!containerRef.value || !markerRef.value) return;\n scrollVelocity = 0;\n lastScrollTime = 0;\n window.clearTimeout(scrollTimeout);\n calculateVisibleItems();\n }\n let raf = -1;\n function calculateVisibleItems() {\n cancelAnimationFrame(raf);\n raf = requestAnimationFrame(_calculateVisibleItems);\n }\n function _calculateVisibleItems() {\n if (!containerRef.value || !viewportHeight.value || !itemHeight.value) return;\n const scrollTop = lastScrollTop - markerOffset;\n const direction = Math.sign(scrollVelocity);\n const startPx = Math.max(0, scrollTop - BUFFER_PX);\n const start = clamp(calculateIndex(startPx), 0, items.value.length);\n const endPx = scrollTop + viewportHeight.value + BUFFER_PX;\n const end = clamp(calculateIndex(endPx) + 1, start + 1, items.value.length);\n if (\n // Only update the side we're scrolling towards,\n // the other side will be updated incidentally\n (direction !== UP || start < first.value) && (direction !== DOWN || end > last.value)) {\n const topOverflow = calculateOffset(first.value) - calculateOffset(start);\n const bottomOverflow = calculateOffset(end) - calculateOffset(last.value);\n const bufferOverflow = Math.max(topOverflow, bottomOverflow);\n if (bufferOverflow > BUFFER_PX) {\n first.value = start;\n last.value = end;\n } else {\n // Only update the side that's reached its limit if there's still buffer left\n if (start <= 0) first.value = start;\n if (end >= items.value.length) last.value = end;\n }\n }\n paddingTop.value = calculateOffset(first.value);\n paddingBottom.value = calculateOffset(items.value.length) - calculateOffset(last.value);\n }\n function scrollToIndex(index) {\n const offset = calculateOffset(index);\n if (!containerRef.value || index && !offset) {\n targetScrollIndex = index;\n } else {\n containerRef.value.scrollTop = offset;\n }\n }\n const computedItems = computed(() => {\n return items.value.slice(first.value, last.value).map((item, index) => {\n const _index = index + first.value;\n return {\n raw: item,\n index: _index,\n key: getPropertyFromItem(item, props.itemKey, _index)\n };\n });\n });\n watch(items, () => {\n sizes = Array.from({\n length: items.value.length\n });\n offsets = Array.from({\n length: items.value.length\n });\n updateOffsets.immediate();\n calculateVisibleItems();\n }, {\n deep: 1\n });\n return {\n calculateVisibleItems,\n containerRef,\n markerRef,\n computedItems,\n paddingTop,\n paddingBottom,\n scrollToIndex,\n handleScroll,\n handleScrollend,\n handleItemResize\n };\n}\n\n// https://gist.github.com/robertleeplummerjr/1cc657191d34ecd0a324\nfunction binaryClosest(arr, val) {\n let high = arr.length - 1;\n let low = 0;\n let mid = 0;\n let item = null;\n let target = -1;\n if (arr[high] < val) {\n return high;\n }\n while (low <= high) {\n mid = low + high >> 1;\n item = arr[mid];\n if (item > val) {\n high = mid - 1;\n } else if (item < val) {\n target = mid;\n low = mid + 1;\n } else if (item === val) {\n return mid;\n } else {\n return low;\n }\n }\n return target;\n}\n//# sourceMappingURL=virtual.js.map","import { createVNode as _createVNode, Fragment as _Fragment, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle } from \"vue\";\n// Styles\nimport \"./VVirtualScroll.css\";\n\n// Components\nimport { VVirtualScrollItem } from \"./VVirtualScrollItem.js\"; // Composables\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.js\";\nimport { useToggleScope } from \"../../composables/toggleScope.js\";\nimport { makeVirtualProps, useVirtual } from \"../../composables/virtual.js\"; // Utilities\nimport { onMounted, onScopeDispose, toRef } from 'vue';\nimport { convertToUnit, genericComponent, getCurrentInstance, getScrollParent, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVVirtualScrollProps = propsFactory({\n items: {\n type: Array,\n default: () => []\n },\n renderless: Boolean,\n ...makeVirtualProps(),\n ...makeComponentProps(),\n ...makeDimensionProps()\n}, 'VVirtualScroll');\nexport const VVirtualScroll = genericComponent()({\n name: 'VVirtualScroll',\n props: makeVVirtualScrollProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const vm = getCurrentInstance('VVirtualScroll');\n const {\n dimensionStyles\n } = useDimension(props);\n const {\n calculateVisibleItems,\n containerRef,\n markerRef,\n handleScroll,\n handleScrollend,\n handleItemResize,\n scrollToIndex,\n paddingTop,\n paddingBottom,\n computedItems\n } = useVirtual(props, toRef(() => props.items));\n useToggleScope(() => props.renderless, () => {\n function handleListeners() {\n let add = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n const method = add ? 'addEventListener' : 'removeEventListener';\n if (containerRef.value === document.documentElement) {\n document[method]('scroll', handleScroll, {\n passive: true\n });\n document[method]('scrollend', handleScrollend);\n } else {\n containerRef.value?.[method]('scroll', handleScroll, {\n passive: true\n });\n containerRef.value?.[method]('scrollend', handleScrollend);\n }\n }\n onMounted(() => {\n containerRef.value = getScrollParent(vm.vnode.el, true);\n handleListeners(true);\n });\n onScopeDispose(handleListeners);\n });\n useRender(() => {\n const children = computedItems.value.map(item => _createVNode(VVirtualScrollItem, {\n \"key\": item.key,\n \"renderless\": props.renderless,\n \"onUpdate:height\": height => handleItemResize(item.index, height)\n }, {\n default: slotProps => slots.default?.({\n item: item.raw,\n index: item.index,\n ...slotProps\n })\n }));\n return props.renderless ? _createElementVNode(_Fragment, null, [_createElementVNode(\"div\", {\n \"ref\": markerRef,\n \"class\": \"v-virtual-scroll__spacer\",\n \"style\": {\n paddingTop: convertToUnit(paddingTop.value)\n }\n }, null), children, _createElementVNode(\"div\", {\n \"class\": \"v-virtual-scroll__spacer\",\n \"style\": {\n paddingBottom: convertToUnit(paddingBottom.value)\n }\n }, null)]) : _createElementVNode(\"div\", {\n \"ref\": containerRef,\n \"class\": _normalizeClass(['v-virtual-scroll', props.class]),\n \"onScrollPassive\": handleScroll,\n \"onScrollend\": handleScrollend,\n \"style\": _normalizeStyle([dimensionStyles.value, props.style])\n }, [_createElementVNode(\"div\", {\n \"ref\": markerRef,\n \"class\": \"v-virtual-scroll__container\",\n \"style\": {\n paddingTop: convertToUnit(paddingTop.value),\n paddingBottom: convertToUnit(paddingBottom.value)\n }\n }, [children])]);\n });\n return {\n calculateVisibleItems,\n scrollToIndex\n };\n }\n});\n//# sourceMappingURL=VVirtualScroll.js.map","// Utilities\nimport { shallowRef, watch } from 'vue';\n\n// Types\n\nexport function useScrolling(listRef, textFieldRef) {\n const isScrolling = shallowRef(false);\n let scrollTimeout;\n function onListScroll(e) {\n cancelAnimationFrame(scrollTimeout);\n isScrolling.value = true;\n scrollTimeout = requestAnimationFrame(() => {\n scrollTimeout = requestAnimationFrame(() => {\n isScrolling.value = false;\n });\n });\n }\n async function finishScrolling() {\n await new Promise(resolve => requestAnimationFrame(resolve));\n await new Promise(resolve => requestAnimationFrame(resolve));\n await new Promise(resolve => requestAnimationFrame(resolve));\n await new Promise(resolve => {\n if (isScrolling.value) {\n const stop = watch(isScrolling, () => {\n stop();\n resolve();\n });\n } else resolve();\n });\n }\n async function onListKeydown(e) {\n if (e.key === 'Tab') {\n textFieldRef.value?.focus();\n }\n if (!['PageDown', 'PageUp', 'Home', 'End'].includes(e.key)) return;\n const el = listRef.value?.$el;\n if (!el) return;\n if (e.key === 'Home' || e.key === 'End') {\n el.scrollTo({\n top: e.key === 'Home' ? 0 : el.scrollHeight,\n behavior: 'smooth'\n });\n }\n await finishScrolling();\n const children = el.querySelectorAll(':scope > :not(.v-virtual-scroll__spacer)');\n if (e.key === 'PageDown' || e.key === 'Home') {\n const top = el.getBoundingClientRect().top;\n for (const child of children) {\n if (child.getBoundingClientRect().top >= top) {\n child.focus();\n break;\n }\n }\n } else {\n const bottom = el.getBoundingClientRect().bottom;\n for (const child of [...children].reverse()) {\n if (child.getBoundingClientRect().bottom <= bottom) {\n child.focus();\n break;\n }\n }\n }\n }\n return {\n onScrollPassive: onListScroll,\n onKeydown: onListKeydown\n }; // typescript doesn't know about vue's event merging\n}\n//# sourceMappingURL=useScrolling.js.map","// Utilities\nimport { computed, toRef, toValue, useId } from 'vue';\nimport { propsFactory } from \"../util/index.js\"; // Types\nimport { useLocale } from \"./locale.js\"; // Types\n// Composables\nexport const makeMenuActivatorProps = propsFactory({\n closeText: {\n type: String,\n default: '$vuetify.close'\n },\n openText: {\n type: String,\n default: '$vuetify.open'\n }\n}, 'autocomplete');\nexport function useMenuActivator(props, isOpen) {\n const {\n t\n } = useLocale();\n const uid = useId();\n const menuId = computed(() => `menu-${uid}`);\n const ariaExpanded = toRef(() => toValue(isOpen));\n const ariaControls = toRef(() => menuId.value);\n const ariaLabel = toRef(() => t(toValue(isOpen) ? props.closeText : props.openText));\n return {\n menuId,\n ariaExpanded,\n ariaControls,\n ariaLabel\n };\n}\n//# sourceMappingURL=menuActivator.js.map","import { Fragment as _Fragment, createVNode as _createVNode, mergeProps as _mergeProps, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode } from \"vue\";\n// Styles\nimport \"./VSelect.css\";\n\n// Components\nimport { VDialogTransition } from \"../transitions/index.js\";\nimport { VAvatar } from \"../VAvatar/index.js\";\nimport { VCheckboxBtn } from \"../VCheckbox/index.js\";\nimport { VChip } from \"../VChip/index.js\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.js\";\nimport { VDivider } from \"../VDivider/index.js\";\nimport { VIcon } from \"../VIcon/index.js\";\nimport { VList, VListItem, VListSubheader } from \"../VList/index.js\";\nimport { VMenu } from \"../VMenu/index.js\";\nimport { makeVTextFieldProps, VTextField } from \"../VTextField/VTextField.js\";\nimport { VVirtualScroll } from \"../VVirtualScroll/index.js\"; // Composables\nimport { useScrolling } from \"./useScrolling.js\";\nimport { useForm } from \"../../composables/form.js\";\nimport { forwardRefs } from \"../../composables/forwardRefs.js\";\nimport { IconValue } from \"../../composables/icons.js\";\nimport { makeItemsProps, useItems } from \"../../composables/list-items.js\";\nimport { useLocale } from \"../../composables/locale.js\";\nimport { makeMenuActivatorProps, useMenuActivator } from \"../../composables/menuActivator.js\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.js\";\nimport { makeTransitionProps } from \"../../composables/transition.js\"; // Utilities\nimport { computed, mergeProps, nextTick, ref, shallowRef, watch } from 'vue';\nimport { camelizeProps, checkPrintable, deepEqual, ensureValidVNode, genericComponent, IN_BROWSER, matchesSelector, omit, propsFactory, useRender, wrapInArray } from \"../../util/index.js\"; // Types\nexport const makeSelectProps = propsFactory({\n chips: Boolean,\n closableChips: Boolean,\n eager: Boolean,\n hideNoData: Boolean,\n hideSelected: Boolean,\n listProps: {\n type: Object\n },\n menu: Boolean,\n menuIcon: {\n type: IconValue,\n default: '$dropdown'\n },\n menuProps: {\n type: Object\n },\n multiple: Boolean,\n noDataText: {\n type: String,\n default: '$vuetify.noDataText'\n },\n openOnClear: Boolean,\n itemColor: String,\n noAutoScroll: Boolean,\n ...makeMenuActivatorProps(),\n ...makeItemsProps({\n itemChildren: false\n })\n}, 'Select');\nexport const makeVSelectProps = propsFactory({\n ...makeSelectProps(),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n role: 'combobox'\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({\n transition: {\n component: VDialogTransition\n }\n })\n}, 'VSelect');\nexport const VSelect = genericComponent()({\n name: 'VSelect',\n props: makeVSelectProps(),\n emits: {\n 'update:focused': focused => true,\n 'update:modelValue': value => true,\n 'update:menu': ue => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n t\n } = useLocale();\n const vTextFieldRef = ref();\n const vMenuRef = ref();\n const vVirtualScrollRef = ref();\n const {\n items,\n transformIn,\n transformOut\n } = useItems(props);\n const model = useProxiedModel(props, 'modelValue', [], v => transformIn(v === null ? [null] : wrapInArray(v)), v => {\n const transformed = transformOut(v);\n return props.multiple ? transformed : transformed[0] ?? null;\n });\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : model.value.length;\n });\n const form = useForm(props);\n const selectedValues = computed(() => model.value.map(selection => selection.value));\n const isFocused = shallowRef(false);\n let keyboardLookupPrefix = '';\n let keyboardLookupIndex = -1;\n let keyboardLookupLastTime;\n const displayItems = computed(() => {\n if (props.hideSelected) {\n return items.value.filter(item => !model.value.some(s => (props.valueComparator || deepEqual)(s, item)));\n }\n return items.value;\n });\n const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);\n const _menu = useProxiedModel(props, 'menu');\n const menu = computed({\n get: () => _menu.value,\n set: v => {\n if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;\n if (v && menuDisabled.value) return;\n _menu.value = v;\n }\n });\n const {\n menuId,\n ariaExpanded,\n ariaControls,\n ariaLabel\n } = useMenuActivator(props, menu);\n const computedMenuProps = computed(() => {\n return {\n ...props.menuProps,\n activatorProps: {\n ...(props.menuProps?.activatorProps || {}),\n 'aria-haspopup': 'listbox' // Set aria-haspopup to 'listbox'\n }\n };\n });\n const listRef = ref();\n const listEvents = useScrolling(listRef, vTextFieldRef);\n function onClear(e) {\n if (props.openOnClear) {\n menu.value = true;\n }\n }\n function onMousedownControl() {\n if (menuDisabled.value) return;\n menu.value = !menu.value;\n }\n function onListKeydown(e) {\n if (checkPrintable(e)) {\n onKeydown(e);\n }\n }\n function onKeydown(e) {\n if (!e.key || form.isReadonly.value) return;\n if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {\n e.preventDefault();\n }\n if (['Enter', 'ArrowDown', ' '].includes(e.key)) {\n menu.value = true;\n }\n if (['Escape', 'Tab'].includes(e.key)) {\n menu.value = false;\n }\n if (e.key === 'Home') {\n listRef.value?.focus('first');\n } else if (e.key === 'End') {\n listRef.value?.focus('last');\n }\n\n // html select hotkeys\n const KEYBOARD_LOOKUP_THRESHOLD = 1000; // milliseconds\n\n if (!checkPrintable(e)) return;\n const now = performance.now();\n if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n keyboardLookupPrefix = '';\n keyboardLookupIndex = -1;\n }\n keyboardLookupPrefix += e.key.toLowerCase();\n keyboardLookupLastTime = now;\n const items = displayItems.value;\n function findItem() {\n let result = findItemBase();\n if (result) return result;\n if (keyboardLookupPrefix.at(-1) === keyboardLookupPrefix.at(-2)) {\n // No matches but we have a repeated letter, try the next item with that prefix\n keyboardLookupPrefix = keyboardLookupPrefix.slice(0, -1);\n result = findItemBase();\n if (result) return result;\n }\n\n // Still nothing, wrap around to the top\n keyboardLookupIndex = -1;\n result = findItemBase();\n if (result) return result;\n\n // Still nothing, try just the new letter\n keyboardLookupPrefix = e.key.toLowerCase();\n return findItemBase();\n }\n function findItemBase() {\n for (let i = keyboardLookupIndex + 1; i < items.length; i++) {\n const _item = items[i];\n if (_item.title.toLowerCase().startsWith(keyboardLookupPrefix)) {\n return [_item, i];\n }\n }\n return undefined;\n }\n const result = findItem();\n if (!result) return;\n const [item, index] = result;\n keyboardLookupIndex = index;\n listRef.value?.focus(index);\n if (!props.multiple) {\n model.value = [item];\n }\n }\n\n /** @param set - null means toggle */\n function select(item) {\n let set = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n if (item.props.disabled) return;\n if (props.multiple) {\n const index = model.value.findIndex(selection => (props.valueComparator || deepEqual)(selection.value, item.value));\n const add = set == null ? !~index : set;\n if (~index) {\n const value = add ? [...model.value, item] : [...model.value];\n value.splice(index, 1);\n model.value = value;\n } else if (add) {\n model.value = [...model.value, item];\n }\n } else {\n const add = set !== false;\n model.value = add ? [item] : [];\n nextTick(() => {\n menu.value = false;\n });\n }\n }\n function onBlur(e) {\n if (!listRef.value?.$el.contains(e.relatedTarget)) {\n menu.value = false;\n }\n }\n function onAfterEnter() {\n if (props.eager) {\n vVirtualScrollRef.value?.calculateVisibleItems();\n }\n }\n function onAfterLeave() {\n if (isFocused.value) {\n vTextFieldRef.value?.focus();\n }\n }\n function onFocusin(e) {\n isFocused.value = true;\n }\n function onModelUpdate(v) {\n if (v == null) model.value = [];else if (matchesSelector(vTextFieldRef.value, ':autofill') || matchesSelector(vTextFieldRef.value, ':-webkit-autofill')) {\n const item = items.value.find(item => item.title === v);\n if (item) {\n select(item);\n }\n } else if (vTextFieldRef.value) {\n vTextFieldRef.value.value = '';\n }\n }\n watch(menu, () => {\n if (!props.hideSelected && menu.value && model.value.length) {\n const index = displayItems.value.findIndex(item => model.value.some(s => (props.valueComparator || deepEqual)(s.value, item.value)));\n IN_BROWSER && !props.noAutoScroll && window.requestAnimationFrame(() => {\n index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index);\n });\n }\n });\n watch(items, (newVal, oldVal) => {\n if (menu.value) return;\n if (isFocused.value && props.hideNoData && !oldVal.length && newVal.length) {\n menu.value = true;\n }\n });\n useRender(() => {\n const hasChips = !!(props.chips || slots.chip);\n const hasList = !!(!props.hideNoData || displayItems.value.length || slots['prepend-item'] || slots['append-item'] || slots['no-data']);\n const isDirty = model.value.length > 0;\n const textFieldProps = VTextField.filterProps(props);\n const placeholder = isDirty || !isFocused.value && props.label && !props.persistentPlaceholder ? undefined : props.placeholder;\n return _createVNode(VTextField, _mergeProps({\n \"ref\": vTextFieldRef\n }, textFieldProps, {\n \"modelValue\": model.value.map(v => v.props.value).join(', '),\n \"onUpdate:modelValue\": onModelUpdate,\n \"focused\": isFocused.value,\n \"onUpdate:focused\": $event => isFocused.value = $event,\n \"validationValue\": model.externalValue,\n \"counterValue\": counterValue.value,\n \"dirty\": isDirty,\n \"class\": ['v-select', {\n 'v-select--active-menu': menu.value,\n 'v-select--chips': !!props.chips,\n [`v-select--${props.multiple ? 'multiple' : 'single'}`]: true,\n 'v-select--selected': model.value.length,\n 'v-select--selection-slot': !!slots.selection\n }, props.class],\n \"style\": props.style,\n \"inputmode\": \"none\",\n \"placeholder\": placeholder,\n \"onClick:clear\": onClear,\n \"onMousedown:control\": onMousedownControl,\n \"onBlur\": onBlur,\n \"onKeydown\": onKeydown,\n \"aria-expanded\": ariaExpanded.value,\n \"aria-controls\": ariaControls.value,\n \"aria-label\": ariaLabel.value,\n \"title\": ariaLabel.value\n }), {\n ...slots,\n default: () => _createElementVNode(_Fragment, null, [_createVNode(VMenu, _mergeProps({\n \"id\": menuId.value,\n \"ref\": vMenuRef,\n \"modelValue\": menu.value,\n \"onUpdate:modelValue\": $event => menu.value = $event,\n \"activator\": \"parent\",\n \"contentClass\": \"v-select__content\",\n \"disabled\": menuDisabled.value,\n \"eager\": props.eager,\n \"maxHeight\": 310,\n \"openOnClick\": false,\n \"closeOnContentClick\": false,\n \"transition\": props.transition,\n \"onAfterEnter\": onAfterEnter,\n \"onAfterLeave\": onAfterLeave\n }, computedMenuProps.value), {\n default: () => [hasList && _createVNode(VList, _mergeProps({\n \"ref\": listRef,\n \"selected\": selectedValues.value,\n \"selectStrategy\": props.multiple ? 'independent' : 'single-independent',\n \"onMousedown\": e => e.preventDefault(),\n \"onKeydown\": onListKeydown,\n \"onFocusin\": onFocusin,\n \"tabindex\": \"-1\",\n \"selectable\": true,\n \"aria-live\": \"polite\",\n \"aria-label\": `${props.label}-list`,\n \"color\": props.itemColor ?? props.color\n }, listEvents, props.listProps), {\n default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? _createVNode(VListItem, {\n \"key\": \"no-data\",\n \"title\": t(props.noDataText)\n }, null)), _createVNode(VVirtualScroll, {\n \"ref\": vVirtualScrollRef,\n \"renderless\": true,\n \"items\": displayItems.value,\n \"itemKey\": \"value\"\n }, {\n default: _ref2 => {\n let {\n item,\n index,\n itemRef\n } = _ref2;\n const camelizedProps = camelizeProps(item.props);\n const itemProps = mergeProps(item.props, {\n ref: itemRef,\n key: item.value,\n onClick: () => select(item, null)\n });\n if (item.type === 'divider') {\n return slots.divider?.({\n props: item.raw,\n index\n }) ?? _createVNode(VDivider, _mergeProps(item.props, {\n \"key\": `divider-${index}`\n }), null);\n }\n if (item.type === 'subheader') {\n return slots.subheader?.({\n props: item.raw,\n index\n }) ?? _createVNode(VListSubheader, _mergeProps(item.props, {\n \"key\": `subheader-${index}`\n }), null);\n }\n return slots.item?.({\n item,\n index,\n props: itemProps\n }) ?? _createVNode(VListItem, _mergeProps(itemProps, {\n \"role\": \"option\"\n }), {\n prepend: _ref3 => {\n let {\n isSelected\n } = _ref3;\n return _createElementVNode(_Fragment, null, [props.multiple && !props.hideSelected ? _createVNode(VCheckboxBtn, {\n \"key\": item.value,\n \"modelValue\": isSelected,\n \"ripple\": false,\n \"tabindex\": \"-1\",\n \"onClick\": event => event.preventDefault()\n }, null) : undefined, camelizedProps.prependAvatar && _createVNode(VAvatar, {\n \"image\": camelizedProps.prependAvatar\n }, null), camelizedProps.prependIcon && _createVNode(VIcon, {\n \"icon\": camelizedProps.prependIcon\n }, null)]);\n }\n });\n }\n }), slots['append-item']?.()]\n })]\n }), model.value.map((item, index) => {\n function onChipClose(e) {\n e.stopPropagation();\n e.preventDefault();\n select(item, false);\n }\n const slotProps = {\n 'onClick:close': onChipClose,\n onKeydown(e) {\n if (e.key !== 'Enter' && e.key !== ' ') return;\n e.preventDefault();\n e.stopPropagation();\n onChipClose(e);\n },\n onMousedown(e) {\n e.preventDefault();\n e.stopPropagation();\n },\n modelValue: true,\n 'onUpdate:modelValue': undefined\n };\n const hasSlot = hasChips ? !!slots.chip : !!slots.selection;\n const slotContent = hasSlot ? ensureValidVNode(hasChips ? slots.chip({\n item,\n index,\n props: slotProps\n }) : slots.selection({\n item,\n index\n })) : undefined;\n if (hasSlot && !slotContent) return undefined;\n return _createElementVNode(\"div\", {\n \"key\": item.value,\n \"class\": \"v-select__selection\"\n }, [hasChips ? !slots.chip ? _createVNode(VChip, _mergeProps({\n \"key\": \"chip\",\n \"closable\": props.closableChips,\n \"size\": \"small\",\n \"text\": item.title,\n \"disabled\": item.props.disabled\n }, slotProps), null) : _createVNode(VDefaultsProvider, {\n \"key\": \"chip-defaults\",\n \"defaults\": {\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title\n }\n }\n }, {\n default: () => [slotContent]\n }) : slotContent ?? _createElementVNode(\"span\", {\n \"class\": \"v-select__selection-text\"\n }, [item.title, props.multiple && index < model.value.length - 1 && _createElementVNode(\"span\", {\n \"class\": \"v-select__selection-comma\"\n }, [_createTextVNode(\",\")])])]);\n })]),\n 'append-inner': function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return _createElementVNode(_Fragment, null, [slots['append-inner']?.(...args), props.menuIcon ? _createVNode(VIcon, {\n \"class\": \"v-select__menu-icon\",\n \"color\": vTextFieldRef.value?.fieldIconColor,\n \"icon\": props.menuIcon\n }, null) : undefined]);\n }\n });\n });\n return forwardRefs({\n isFocused,\n menu,\n select\n }, vTextFieldRef);\n }\n});\n//# sourceMappingURL=VSelect.js.map","/* eslint-disable max-statements */\n/* eslint-disable no-labels */\n\n// Utilities\nimport { computed, shallowRef, unref, watchEffect, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, Fragment as _Fragment } from 'vue';\nimport { getPropertyFromItem, propsFactory, wrapInArray } from \"../util/index.js\"; // Types\n/**\n * - boolean: match without highlight\n * - number: single match (index), length already known\n * - []: single match (start, end)\n * - [][]: multiple matches (start, end), shouldn't overlap\n */\n// Composables\nexport const defaultFilter = (value, query, item) => {\n if (value == null || query == null) return -1;\n if (!query.length) return 0;\n value = value.toString().toLocaleLowerCase();\n query = query.toString().toLocaleLowerCase();\n const result = [];\n let idx = value.indexOf(query);\n while (~idx) {\n result.push([idx, idx + query.length]);\n idx = value.indexOf(query, idx + query.length);\n }\n return result.length ? result : -1;\n};\nfunction normaliseMatch(match, query) {\n if (match == null || typeof match === 'boolean' || match === -1) return;\n if (typeof match === 'number') return [[match, match + query.length]];\n if (Array.isArray(match[0])) return match;\n return [match];\n}\nexport const makeFilterProps = propsFactory({\n customFilter: Function,\n customKeyFilter: Object,\n filterKeys: [Array, String],\n filterMode: {\n type: String,\n default: 'intersection'\n },\n noFilter: Boolean\n}, 'filter');\n\n// eslint-disable-next-line complexity\nexport function filterItems(items, query, options) {\n const array = [];\n // always ensure we fall back to a functioning filter\n const filter = options?.default ?? defaultFilter;\n const keys = options?.filterKeys ? wrapInArray(options.filterKeys) : false;\n const customFiltersLength = Object.keys(options?.customKeyFilter ?? {}).length;\n if (!items?.length) return array;\n let lookAheadItem = null;\n loop: for (let i = 0; i < items.length; i++) {\n const [item, transformed = item] = wrapInArray(items[i]);\n const customMatches = {};\n const defaultMatches = {};\n let match = -1;\n if ((query || customFiltersLength > 0) && !options?.noFilter) {\n let hasOnlyCustomFilters = false;\n if (typeof item === 'object') {\n if (item.type === 'divider' || item.type === 'subheader') {\n if (lookAheadItem?.type === 'divider' && item.type === 'subheader') {\n array.push(lookAheadItem); // divider before subheader\n }\n lookAheadItem = {\n index: i,\n matches: {},\n type: item.type\n };\n continue;\n }\n const filterKeys = keys || Object.keys(transformed);\n hasOnlyCustomFilters = filterKeys.length === customFiltersLength;\n for (const key of filterKeys) {\n const value = getPropertyFromItem(transformed, key);\n const keyFilter = options?.customKeyFilter?.[key];\n match = keyFilter ? keyFilter(value, query, item) : filter(value, query, item);\n if (match !== -1 && match !== false) {\n if (keyFilter) customMatches[key] = normaliseMatch(match, query);else defaultMatches[key] = normaliseMatch(match, query);\n } else if (options?.filterMode === 'every') {\n continue loop;\n }\n }\n } else {\n match = filter(item, query, item);\n if (match !== -1 && match !== false) {\n defaultMatches.title = normaliseMatch(match, query);\n }\n }\n const defaultMatchesLength = Object.keys(defaultMatches).length;\n const customMatchesLength = Object.keys(customMatches).length;\n if (!defaultMatchesLength && !customMatchesLength) continue;\n if (options?.filterMode === 'union' && customMatchesLength !== customFiltersLength && !defaultMatchesLength) continue;\n if (options?.filterMode === 'intersection' && (customMatchesLength !== customFiltersLength || !defaultMatchesLength && customFiltersLength > 0 && !hasOnlyCustomFilters)) continue;\n }\n if (lookAheadItem) {\n array.push(lookAheadItem);\n lookAheadItem = null;\n }\n array.push({\n index: i,\n matches: {\n ...defaultMatches,\n ...customMatches\n }\n });\n }\n return array;\n}\nexport function useFilter(props, items, query, options) {\n const filteredItems = shallowRef([]);\n const filteredMatches = shallowRef(new Map());\n const transformedItems = computed(() => options?.transform ? unref(items).map(item => [item, options.transform(item)]) : unref(items));\n watchEffect(() => {\n const _query = typeof query === 'function' ? query() : unref(query);\n const strQuery = typeof _query !== 'string' && typeof _query !== 'number' ? '' : String(_query);\n const results = filterItems(transformedItems.value, strQuery, {\n customKeyFilter: {\n ...props.customKeyFilter,\n ...unref(options?.customKeyFilter)\n },\n default: props.customFilter,\n filterKeys: props.filterKeys,\n filterMode: props.filterMode,\n noFilter: props.noFilter\n });\n const originalItems = unref(items);\n const _filteredItems = [];\n const _filteredMatches = new Map();\n results.forEach(_ref => {\n let {\n index,\n matches\n } = _ref;\n const item = originalItems[index];\n _filteredItems.push(item);\n _filteredMatches.set(item.value, matches);\n });\n filteredItems.value = _filteredItems;\n filteredMatches.value = _filteredMatches;\n });\n function getMatches(item) {\n return filteredMatches.value.get(item.value);\n }\n return {\n filteredItems,\n filteredMatches,\n getMatches\n };\n}\nexport function highlightResult(name, text, matches) {\n if (matches == null || !matches.length) return text;\n return matches.map((match, i) => {\n const start = i === 0 ? 0 : matches[i - 1][1];\n const result = [_createElementVNode(\"span\", {\n \"class\": _normalizeClass(`${name}__unmask`)\n }, [text.slice(start, match[0])]), _createElementVNode(\"span\", {\n \"class\": _normalizeClass(`${name}__mask`)\n }, [text.slice(match[0], match[1])])];\n if (i === matches.length - 1) {\n result.push(_createElementVNode(\"span\", {\n \"class\": _normalizeClass(`${name}__unmask`)\n }, [text.slice(match[1])]));\n }\n return _createElementVNode(_Fragment, null, [result]);\n });\n}\n//# sourceMappingURL=filter.js.map","import { Fragment as _Fragment, createVNode as _createVNode, mergeProps as _mergeProps, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle } from \"vue\";\n// Styles\nimport \"./VAutocomplete.css\";\n\n// Components\nimport { VAvatar } from \"../VAvatar/index.js\";\nimport { VCheckboxBtn } from \"../VCheckbox/index.js\";\nimport { VChip } from \"../VChip/index.js\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.js\";\nimport { VDivider } from \"../VDivider/index.js\";\nimport { VIcon } from \"../VIcon/index.js\";\nimport { VList, VListItem, VListSubheader } from \"../VList/index.js\";\nimport { VMenu } from \"../VMenu/index.js\";\nimport { makeSelectProps } from \"../VSelect/VSelect.js\";\nimport { makeVTextFieldProps, VTextField } from \"../VTextField/VTextField.js\";\nimport { VVirtualScroll } from \"../VVirtualScroll/index.js\"; // Composables\nimport { useScrolling } from \"../VSelect/useScrolling.js\";\nimport { useTextColor } from \"../../composables/color.js\";\nimport { highlightResult, makeFilterProps, useFilter } from \"../../composables/filter.js\";\nimport { useForm } from \"../../composables/form.js\";\nimport { forwardRefs } from \"../../composables/forwardRefs.js\";\nimport { useItems } from \"../../composables/list-items.js\";\nimport { useLocale } from \"../../composables/locale.js\";\nimport { useMenuActivator } from \"../../composables/menuActivator.js\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.js\"; // Utilities\nimport { computed, mergeProps, nextTick, ref, shallowRef, watch } from 'vue';\nimport { checkPrintable, deepEqual, ensureValidVNode, genericComponent, IN_BROWSER, matchesSelector, noop, omit, propsFactory, useRender, wrapInArray } from \"../../util/index.js\"; // Types\nexport const makeVAutocompleteProps = propsFactory({\n autoSelectFirst: {\n type: [Boolean, String]\n },\n clearOnSelect: Boolean,\n search: String,\n ...makeFilterProps({\n filterKeys: ['title']\n }),\n ...makeSelectProps(),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n role: 'combobox'\n }), ['validationValue', 'dirty', 'appendInnerIcon'])\n}, 'VAutocomplete');\nexport const VAutocomplete = genericComponent()({\n name: 'VAutocomplete',\n props: makeVAutocompleteProps(),\n emits: {\n 'update:focused': focused => true,\n 'update:search': value => true,\n 'update:modelValue': value => true,\n 'update:menu': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n t\n } = useLocale();\n const vTextFieldRef = ref();\n const isFocused = shallowRef(false);\n const isPristine = shallowRef(true);\n const listHasFocus = shallowRef(false);\n const vMenuRef = ref();\n const vVirtualScrollRef = ref();\n const selectionIndex = shallowRef(-1);\n const _searchLock = shallowRef(null);\n const {\n items,\n transformIn,\n transformOut\n } = useItems(props);\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(() => vTextFieldRef.value?.color);\n const search = useProxiedModel(props, 'search', '');\n const model = useProxiedModel(props, 'modelValue', [], v => transformIn(v === null ? [null] : wrapInArray(v)), v => {\n const transformed = transformOut(v);\n return props.multiple ? transformed : transformed[0] ?? null;\n });\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : model.value.length;\n });\n const form = useForm(props);\n const {\n filteredItems,\n getMatches\n } = useFilter(props, items, () => _searchLock.value ?? (isPristine.value ? '' : search.value));\n const displayItems = computed(() => {\n if (props.hideSelected && _searchLock.value === null) {\n return filteredItems.value.filter(filteredItem => !model.value.some(s => s.value === filteredItem.value));\n }\n return filteredItems.value;\n });\n const hasChips = computed(() => !!(props.chips || slots.chip));\n const hasSelectionSlot = computed(() => hasChips.value || !!slots.selection);\n const selectedValues = computed(() => model.value.map(selection => selection.props.value));\n const highlightFirst = computed(() => {\n const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title;\n return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;\n });\n const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);\n const _menu = useProxiedModel(props, 'menu');\n const menu = computed({\n get: () => _menu.value,\n set: v => {\n if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;\n if (v && menuDisabled.value) return;\n _menu.value = v;\n }\n });\n const {\n menuId,\n ariaExpanded,\n ariaControls,\n ariaLabel\n } = useMenuActivator(props, menu);\n const listRef = ref();\n const listEvents = useScrolling(listRef, vTextFieldRef);\n function onClear(e) {\n if (props.openOnClear) {\n menu.value = true;\n }\n search.value = '';\n }\n function onMousedownControl() {\n if (menuDisabled.value) return;\n menu.value = true;\n }\n function onMousedownMenuIcon(e) {\n if (menuDisabled.value) return;\n if (isFocused.value) {\n e.preventDefault();\n e.stopPropagation();\n }\n menu.value = !menu.value;\n }\n function onListKeydown(e) {\n if (checkPrintable(e) || e.key === 'Backspace') {\n vTextFieldRef.value?.focus();\n }\n }\n function onKeydown(e) {\n if (form.isReadonly.value) return;\n const selectionStart = vTextFieldRef.value?.selectionStart;\n const length = model.value.length;\n if (['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {\n e.preventDefault();\n }\n if (['Enter', 'ArrowDown'].includes(e.key)) {\n menu.value = true;\n }\n if (['Escape'].includes(e.key)) {\n menu.value = false;\n }\n if (highlightFirst.value && ['Enter', 'Tab'].includes(e.key) && !model.value.some(_ref2 => {\n let {\n value\n } = _ref2;\n return value === displayItems.value[0].value;\n })) {\n select(displayItems.value[0]);\n }\n if (e.key === 'ArrowDown' && highlightFirst.value) {\n listRef.value?.focus('next');\n }\n if (['Backspace', 'Delete'].includes(e.key)) {\n if (!props.multiple && hasSelectionSlot.value && model.value.length > 0 && !search.value) return select(model.value[0], false);\n if (~selectionIndex.value) {\n e.preventDefault();\n const originalSelectionIndex = selectionIndex.value;\n select(model.value[selectionIndex.value], false);\n selectionIndex.value = originalSelectionIndex >= length - 1 ? length - 2 : originalSelectionIndex;\n } else if (e.key === 'Backspace' && !search.value) {\n selectionIndex.value = length - 1;\n }\n return;\n }\n if (!props.multiple) return;\n if (e.key === 'ArrowLeft') {\n if (selectionIndex.value < 0 && selectionStart && selectionStart > 0) return;\n const prev = selectionIndex.value > -1 ? selectionIndex.value - 1 : length - 1;\n if (model.value[prev]) {\n selectionIndex.value = prev;\n } else {\n const searchLength = search.value?.length ?? null;\n selectionIndex.value = -1;\n vTextFieldRef.value?.setSelectionRange(searchLength, searchLength);\n }\n } else if (e.key === 'ArrowRight') {\n if (selectionIndex.value < 0) return;\n const next = selectionIndex.value + 1;\n if (model.value[next]) {\n selectionIndex.value = next;\n } else {\n selectionIndex.value = -1;\n vTextFieldRef.value?.setSelectionRange(0, 0);\n }\n } else if (~selectionIndex.value && checkPrintable(e)) {\n selectionIndex.value = -1;\n }\n }\n function onChange(e) {\n if (matchesSelector(vTextFieldRef.value, ':autofill') || matchesSelector(vTextFieldRef.value, ':-webkit-autofill')) {\n const item = items.value.find(item => item.title === e.target.value);\n if (item) {\n select(item);\n }\n }\n }\n function onAfterEnter() {\n if (props.eager) {\n vVirtualScrollRef.value?.calculateVisibleItems();\n }\n }\n function onAfterLeave() {\n if (isFocused.value) {\n isPristine.value = true;\n vTextFieldRef.value?.focus();\n }\n _searchLock.value = null;\n }\n function onFocusin(e) {\n isFocused.value = true;\n setTimeout(() => {\n listHasFocus.value = true;\n });\n }\n function onFocusout(e) {\n listHasFocus.value = false;\n }\n function onUpdateModelValue(v) {\n if (v == null || v === '' && !props.multiple && !hasSelectionSlot.value) model.value = [];\n }\n const isSelecting = shallowRef(false);\n\n /** @param set - null means toggle */\n function select(item) {\n let set = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n if (!item || item.props.disabled) return;\n if (props.multiple) {\n const index = model.value.findIndex(selection => (props.valueComparator || deepEqual)(selection.value, item.value));\n const add = set == null ? !~index : set;\n if (~index) {\n const value = add ? [...model.value, item] : [...model.value];\n value.splice(index, 1);\n model.value = value;\n } else if (add) {\n model.value = [...model.value, item];\n }\n if (props.clearOnSelect) {\n search.value = '';\n }\n } else {\n const add = set !== false;\n model.value = add ? [item] : [];\n _searchLock.value = isPristine.value ? '' : search.value ?? '';\n search.value = add && !hasSelectionSlot.value ? item.title : '';\n\n // watch for search watcher to trigger\n nextTick(() => {\n menu.value = false;\n isPristine.value = true;\n });\n }\n }\n watch(isFocused, (val, oldVal) => {\n if (val === oldVal) return;\n if (val) {\n isSelecting.value = true;\n search.value = props.multiple || hasSelectionSlot.value ? '' : String(model.value.at(-1)?.props.title ?? '');\n isPristine.value = true;\n nextTick(() => isSelecting.value = false);\n } else {\n if (!props.multiple && search.value == null) model.value = [];\n menu.value = false;\n if (!isPristine.value && search.value) {\n _searchLock.value = search.value;\n }\n search.value = '';\n selectionIndex.value = -1;\n }\n });\n watch(search, val => {\n if (!isFocused.value || isSelecting.value) return;\n if (val) menu.value = true;\n isPristine.value = !val;\n });\n watch(menu, val => {\n if (!props.hideSelected && val && model.value.length && isPristine.value) {\n const index = displayItems.value.findIndex(item => model.value.some(s => item.value === s.value));\n IN_BROWSER && window.requestAnimationFrame(() => {\n index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index);\n });\n }\n if (val) _searchLock.value = null;\n });\n watch(items, (newVal, oldVal) => {\n if (menu.value) return;\n if (isFocused.value && !oldVal.length && newVal.length) {\n menu.value = true;\n }\n });\n useRender(() => {\n const hasList = !!(!props.hideNoData || displayItems.value.length || slots['prepend-item'] || slots['append-item'] || slots['no-data']);\n const isDirty = model.value.length > 0;\n const textFieldProps = VTextField.filterProps(props);\n return _createVNode(VTextField, _mergeProps({\n \"ref\": vTextFieldRef\n }, textFieldProps, {\n \"modelValue\": search.value,\n \"onUpdate:modelValue\": [$event => search.value = $event, onUpdateModelValue],\n \"focused\": isFocused.value,\n \"onUpdate:focused\": $event => isFocused.value = $event,\n \"validationValue\": model.externalValue,\n \"counterValue\": counterValue.value,\n \"dirty\": isDirty,\n \"onChange\": onChange,\n \"class\": ['v-autocomplete', `v-autocomplete--${props.multiple ? 'multiple' : 'single'}`, {\n 'v-autocomplete--active-menu': menu.value,\n 'v-autocomplete--chips': !!props.chips,\n 'v-autocomplete--selection-slot': !!hasSelectionSlot.value,\n 'v-autocomplete--selecting-index': selectionIndex.value > -1\n }, props.class],\n \"style\": props.style,\n \"readonly\": form.isReadonly.value,\n \"placeholder\": isDirty ? undefined : props.placeholder,\n \"onClick:clear\": onClear,\n \"onMousedown:control\": onMousedownControl,\n \"onKeydown\": onKeydown,\n \"aria-expanded\": ariaExpanded.value,\n \"aria-controls\": ariaControls.value\n }), {\n ...slots,\n default: () => _createElementVNode(_Fragment, null, [_createVNode(VMenu, _mergeProps({\n \"id\": menuId.value,\n \"ref\": vMenuRef,\n \"modelValue\": menu.value,\n \"onUpdate:modelValue\": $event => menu.value = $event,\n \"activator\": \"parent\",\n \"contentClass\": \"v-autocomplete__content\",\n \"disabled\": menuDisabled.value,\n \"eager\": props.eager,\n \"maxHeight\": 310,\n \"openOnClick\": false,\n \"closeOnContentClick\": false,\n \"onAfterEnter\": onAfterEnter,\n \"onAfterLeave\": onAfterLeave\n }, props.menuProps), {\n default: () => [hasList && _createVNode(VList, _mergeProps({\n \"ref\": listRef,\n \"filterable\": true,\n \"selected\": selectedValues.value,\n \"selectStrategy\": props.multiple ? 'independent' : 'single-independent',\n \"onMousedown\": e => e.preventDefault(),\n \"onKeydown\": onListKeydown,\n \"onFocusin\": onFocusin,\n \"onFocusout\": onFocusout,\n \"tabindex\": \"-1\",\n \"selectable\": true,\n \"aria-live\": \"polite\",\n \"color\": props.itemColor ?? props.color\n }, listEvents, props.listProps), {\n default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? _createVNode(VListItem, {\n \"key\": \"no-data\",\n \"title\": t(props.noDataText)\n }, null)), _createVNode(VVirtualScroll, {\n \"ref\": vVirtualScrollRef,\n \"renderless\": true,\n \"items\": displayItems.value,\n \"itemKey\": \"value\"\n }, {\n default: _ref3 => {\n let {\n item,\n index,\n itemRef\n } = _ref3;\n const itemProps = mergeProps(item.props, {\n ref: itemRef,\n key: item.value,\n active: highlightFirst.value && index === 0 ? true : undefined,\n onClick: () => select(item, null)\n });\n if (item.type === 'divider') {\n return slots.divider?.({\n props: item.raw,\n index\n }) ?? _createVNode(VDivider, _mergeProps(item.props, {\n \"key\": `divider-${index}`\n }), null);\n }\n if (item.type === 'subheader') {\n return slots.subheader?.({\n props: item.raw,\n index\n }) ?? _createVNode(VListSubheader, _mergeProps(item.props, {\n \"key\": `subheader-${index}`\n }), null);\n }\n return slots.item?.({\n item,\n index,\n props: itemProps\n }) ?? _createVNode(VListItem, _mergeProps(itemProps, {\n \"role\": \"option\"\n }), {\n prepend: _ref4 => {\n let {\n isSelected\n } = _ref4;\n return _createElementVNode(_Fragment, null, [props.multiple && !props.hideSelected ? _createVNode(VCheckboxBtn, {\n \"key\": item.value,\n \"modelValue\": isSelected,\n \"ripple\": false,\n \"tabindex\": \"-1\",\n \"onClick\": event => event.preventDefault()\n }, null) : undefined, item.props.prependAvatar && _createVNode(VAvatar, {\n \"image\": item.props.prependAvatar\n }, null), item.props.prependIcon && _createVNode(VIcon, {\n \"icon\": item.props.prependIcon\n }, null)]);\n },\n title: () => {\n return isPristine.value ? item.title : highlightResult('v-autocomplete', item.title, getMatches(item)?.title);\n }\n });\n }\n }), slots['append-item']?.()]\n })]\n }), model.value.map((item, index) => {\n function onChipClose(e) {\n e.stopPropagation();\n e.preventDefault();\n select(item, false);\n }\n const slotProps = {\n 'onClick:close': onChipClose,\n onKeydown(e) {\n if (e.key !== 'Enter' && e.key !== ' ') return;\n e.preventDefault();\n e.stopPropagation();\n onChipClose(e);\n },\n onMousedown(e) {\n e.preventDefault();\n e.stopPropagation();\n },\n modelValue: true,\n 'onUpdate:modelValue': undefined\n };\n const hasSlot = hasChips.value ? !!slots.chip : !!slots.selection;\n const slotContent = hasSlot ? ensureValidVNode(hasChips.value ? slots.chip({\n item,\n index,\n props: slotProps\n }) : slots.selection({\n item,\n index\n })) : undefined;\n if (hasSlot && !slotContent) return undefined;\n return _createElementVNode(\"div\", {\n \"key\": item.value,\n \"class\": _normalizeClass(['v-autocomplete__selection', index === selectionIndex.value && ['v-autocomplete__selection--selected', textColorClasses.value]]),\n \"style\": _normalizeStyle(index === selectionIndex.value ? textColorStyles.value : {})\n }, [hasChips.value ? !slots.chip ? _createVNode(VChip, _mergeProps({\n \"key\": \"chip\",\n \"closable\": props.closableChips,\n \"size\": \"small\",\n \"text\": item.title,\n \"disabled\": item.props.disabled\n }, slotProps), null) : _createVNode(VDefaultsProvider, {\n \"key\": \"chip-defaults\",\n \"defaults\": {\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title\n }\n }\n }, {\n default: () => [slotContent]\n }) : slotContent ?? _createElementVNode(\"span\", {\n \"class\": \"v-autocomplete__selection-text\"\n }, [item.title, props.multiple && index < model.value.length - 1 && _createElementVNode(\"span\", {\n \"class\": \"v-autocomplete__selection-comma\"\n }, [_createTextVNode(\",\")])])]);\n })]),\n 'append-inner': function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return _createElementVNode(_Fragment, null, [slots['append-inner']?.(...args), props.menuIcon ? _createVNode(VIcon, {\n \"class\": \"v-autocomplete__menu-icon\",\n \"color\": vTextFieldRef.value?.fieldIconColor,\n \"icon\": props.menuIcon,\n \"onMousedown\": onMousedownMenuIcon,\n \"onClick\": noop,\n \"aria-label\": ariaLabel.value,\n \"title\": ariaLabel.value,\n \"tabindex\": \"-1\"\n }, null) : undefined]);\n }\n });\n });\n return forwardRefs({\n isFocused,\n isPristine,\n menu,\n search,\n filteredItems,\n select\n }, vTextFieldRef);\n }\n});\n//# sourceMappingURL=VAutocomplete.js.map","import { createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createVNode as _createVNode } from \"vue\";\n// Composables\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { makeTagProps } from \"../../composables/tag.js\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.js\";\nexport const makeVToolbarTitleProps = propsFactory({\n text: String,\n ...makeComponentProps(),\n ...makeTagProps()\n}, 'VToolbarTitle');\nexport const VToolbarTitle = genericComponent()({\n name: 'VToolbarTitle',\n props: makeVToolbarTitleProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n useRender(() => {\n const hasText = !!(slots.default || slots.text || props.text);\n return _createVNode(props.tag, {\n \"class\": _normalizeClass(['v-toolbar-title', props.class]),\n \"style\": _normalizeStyle(props.style)\n }, {\n default: () => [hasText && _createElementVNode(\"div\", {\n \"class\": \"v-toolbar-title__placeholder\"\n }, [slots.text ? slots.text() : props.text, slots.default?.()])]\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VToolbarTitle.js.map","import { createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle } from \"vue\";\n// Styles\nimport \"./VToolbar.css\";\n\n// Components\nimport { VToolbarTitle } from \"./VToolbarTitle.js\";\nimport { VExpandTransition } from \"../transitions/index.js\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.js\";\nimport { VImg } from \"../VImg/index.js\"; // Composables\nimport { makeBorderProps, useBorder } from \"../../composables/border.js\";\nimport { useBackgroundColor } from \"../../composables/color.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { provideDefaults } from \"../../composables/defaults.js\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.js\";\nimport { useRtl } from \"../../composables/locale.js\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.js\";\nimport { makeTagProps } from \"../../composables/tag.js\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.js\"; // Utilities\nimport { computed, shallowRef } from 'vue';\nimport { convertToUnit, genericComponent, propsFactory, useRender } from \"../../util/index.js\"; // Types\nconst allowedDensities = [null, 'prominent', 'default', 'comfortable', 'compact'];\nexport const makeVToolbarProps = propsFactory({\n absolute: Boolean,\n collapse: Boolean,\n color: String,\n density: {\n type: String,\n default: 'default',\n validator: v => allowedDensities.includes(v)\n },\n extended: {\n type: Boolean,\n default: null\n },\n extensionHeight: {\n type: [Number, String],\n default: 48\n },\n flat: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default: 64\n },\n image: String,\n title: String,\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps({\n tag: 'header'\n }),\n ...makeThemeProps()\n}, 'VToolbar');\nexport const VToolbar = genericComponent()({\n name: 'VToolbar',\n props: makeVToolbarProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(() => props.color);\n const {\n borderClasses\n } = useBorder(props);\n const {\n elevationClasses\n } = useElevation(props);\n const {\n roundedClasses\n } = useRounded(props);\n const {\n themeClasses\n } = provideTheme(props);\n const {\n rtlClasses\n } = useRtl();\n const isExtended = shallowRef(props.extended === null ? !!slots.extension?.() : props.extended);\n const contentHeight = computed(() => parseInt(Number(props.height) + (props.density === 'prominent' ? Number(props.height) : 0) - (props.density === 'comfortable' ? 8 : 0) - (props.density === 'compact' ? 16 : 0), 10));\n const extensionHeight = computed(() => isExtended.value ? parseInt(Number(props.extensionHeight) + (props.density === 'prominent' ? Number(props.extensionHeight) : 0) - (props.density === 'comfortable' ? 4 : 0) - (props.density === 'compact' ? 8 : 0), 10) : 0);\n provideDefaults({\n VBtn: {\n variant: 'text'\n }\n });\n useRender(() => {\n const hasTitle = !!(props.title || slots.title);\n const hasImage = !!(slots.image || props.image);\n const extension = slots.extension?.();\n isExtended.value = props.extended === null ? !!extension : props.extended;\n return _createVNode(props.tag, {\n \"class\": _normalizeClass(['v-toolbar', {\n 'v-toolbar--absolute': props.absolute,\n 'v-toolbar--collapse': props.collapse,\n 'v-toolbar--flat': props.flat,\n 'v-toolbar--floating': props.floating,\n [`v-toolbar--density-${props.density}`]: true\n }, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value, rtlClasses.value, props.class]),\n \"style\": _normalizeStyle([backgroundColorStyles.value, props.style])\n }, {\n default: () => [hasImage && _createElementVNode(\"div\", {\n \"key\": \"image\",\n \"class\": \"v-toolbar__image\"\n }, [!slots.image ? _createVNode(VImg, {\n \"key\": \"image-img\",\n \"cover\": true,\n \"src\": props.image\n }, null) : _createVNode(VDefaultsProvider, {\n \"key\": \"image-defaults\",\n \"disabled\": !props.image,\n \"defaults\": {\n VImg: {\n cover: true,\n src: props.image\n }\n }\n }, slots.image)]), _createVNode(VDefaultsProvider, {\n \"defaults\": {\n VTabs: {\n height: convertToUnit(contentHeight.value)\n }\n }\n }, {\n default: () => [_createElementVNode(\"div\", {\n \"class\": \"v-toolbar__content\",\n \"style\": {\n height: convertToUnit(contentHeight.value)\n }\n }, [slots.prepend && _createElementVNode(\"div\", {\n \"class\": \"v-toolbar__prepend\"\n }, [slots.prepend?.()]), hasTitle && _createVNode(VToolbarTitle, {\n \"key\": \"title\",\n \"text\": props.title\n }, {\n text: slots.title\n }), slots.default?.(), slots.append && _createElementVNode(\"div\", {\n \"class\": \"v-toolbar__append\"\n }, [slots.append?.()])])]\n }), _createVNode(VDefaultsProvider, {\n \"defaults\": {\n VTabs: {\n height: convertToUnit(extensionHeight.value)\n }\n }\n }, {\n default: () => [_createVNode(VExpandTransition, null, {\n default: () => [isExtended.value && _createElementVNode(\"div\", {\n \"class\": \"v-toolbar__extension\",\n \"style\": {\n height: convertToUnit(extensionHeight.value)\n }\n }, [extension])]\n })]\n })]\n });\n });\n return {\n contentHeight,\n extensionHeight\n };\n }\n});\n//# sourceMappingURL=VToolbar.js.map","import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode } from \"vue\";\n// Composables\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { provideDefaults } from \"../../composables/defaults.js\";\nimport { makeVariantProps } from \"../../composables/variant.js\"; // Utilities\nimport { toRef } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.js\";\nexport const makeVToolbarItemsProps = propsFactory({\n ...makeComponentProps(),\n ...makeVariantProps({\n variant: 'text'\n })\n}, 'VToolbarItems');\nexport const VToolbarItems = genericComponent()({\n name: 'VToolbarItems',\n props: makeVToolbarItemsProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n provideDefaults({\n VBtn: {\n color: toRef(() => props.color),\n height: 'inherit',\n variant: toRef(() => props.variant)\n }\n });\n useRender(() => _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-toolbar-items', props.class]),\n \"style\": _normalizeStyle(props.style)\n }, [slots.default?.()]));\n return {};\n }\n});\n//# sourceMappingURL=VToolbarItems.js.map","/*\n|--------------------------------------------------------------------------\n| Resourceful Multiple Field\n|--------------------------------------------------------------------------\n|\n| A sophisticated, generic multiple selection field component that provides\n| a rich interface for managing arrays of any data type. This component\n| serves as the foundation for other Resourceful field components that need\n| multiple selection capabilities.\n|\n| KEY FEATURES:\n| - Generic data support via customizable stringifier functions\n| - Rich content rendering (supports both strings and VNodes)\n| - Three operational modes: freeform, hybrid, and restricted selection\n| - Drag & drop sorting with visual feedback\n| - Mobile-responsive design (dialog on desktop, bottom sheet on mobile)\n| - Performance optimized with virtual scrolling for large datasets\n| - Full Vuetify integration with theme and styling support\n|\n| ARCHITECTURE:\n| - Compact field view: VCombobox-like component with chips showing selections\n| - Management dialog: Full-featured interface for adding, removing, and reordering\n| - Stringifier abstraction: Converts any data type to display format\n| - Slot system: Customizable input interfaces for different data types\n|\n| USAGE PATTERNS:\n| - String arrays: Simple text-based multiple selection\n| - Object arrays: Rich data with custom display formatting\n| - Choice-based: Predefined options with optional custom additions\n| - Sortable lists: User-controllable ordering of selected items\n*/\n\nimport { useI18n } from '../ioc'\nimport { useDisplay } from 'vuetify'\nimport { SvgIcon } from '../svg-icon'\nimport { Sortable } from '../sortable'\nimport { deepmerge } from 'deepmerge-ts'\nimport { VBtn } from 'vuetify/components/VBtn'\nimport { VMenu } from 'vuetify/components/VMenu'\nimport { VChip } from 'vuetify/components/VChip'\nimport { VIcon } from 'vuetify/components/VIcon'\nimport { VCard } from 'vuetify/components/VCard'\nimport { VInput } from 'vuetify/components/VInput'\nimport { VField } from 'vuetify/components/VField'\nimport { VDialog } from 'vuetify/components/VDialog'\nimport { VDivider } from 'vuetify/components/VDivider'\nimport { useLocalState, DevErrorAlert } from './common'\nimport { VList, VListItem } from 'vuetify/components/VList'\nimport { useRender } from '@nhtio/vuetifiable/util/useRender'\nimport { VBottomSheet } from 'vuetify/components/VBottomSheet'\nimport { VAutocomplete } from 'vuetify/components/VAutocomplete'\nimport { VVirtualScroll } from 'vuetify/components/VVirtualScroll'\nimport { encode, decode } from '@nhtio/lucid-resourceful/encoding'\nimport { VToolbar, VToolbarItems } from 'vuetify/components/VToolbar'\nimport { forwardRefs } from '@nhtio/vuetifiable/composables/forwardRefs'\nimport { h, defineComponent, watch, toRefs, computed, ref, nextTick } from 'vue'\nimport { makeVComboboxProps } from '@nhtio/vuetifiable/components/VCombobox/VCombobox'\nimport { pick, convertToUnit, filterInputAttrs } from '@nhtio/vuetifiable/util/helpers'\nimport { propsAndEmitsFactory, getCamelAndMaybeKebabPropKeysFor } from '../common/factories'\nimport {\n toUnreactive,\n isNotEmpty,\n useFocus,\n useSlot,\n getStringOrVNodeAsString,\n} from '../common/utils'\nimport {\n mdiLeadPencil,\n mdiClose,\n mdiPlus,\n mdiMenuUp,\n mdiMenuDown,\n mdiDelete,\n mdiDrag,\n mdiInformation,\n mdiListBoxOutline,\n} from '@mdi/js'\nimport type { RFieldStringifier } from './common'\nimport type { SharedUnionFields } from 'type-fest'\nimport type { SortableProps } from '../sortable/props'\nimport type { SortableItemSlotBindings } from '../sortable'\nimport type { makeVBtnProps } from '@nhtio/vuetifiable/components/VBtn/VBtn'\nimport type { NamedSlotParameters, ExtractSlotDefinitions } from '../common/types'\nimport type { makeVInputProps } from '@nhtio/vuetifiable/components/VInput/VInput'\nimport type { makeVFieldProps } from '@nhtio/vuetifiable/components/VField/VField'\nimport type { makeVDialogProps } from '@nhtio/vuetifiable/components/VDialog/VDialog'\nimport type { makeVBottomSheetProps } from '@nhtio/vuetifiable/components/VBottomSheet/VBottomSheet'\nimport type {\n PropType,\n ExtractPublicPropTypes,\n StyleValue,\n VNode,\n SlotsType,\n ComputedRef,\n ComponentPublicInstance,\n} from 'vue'\n\nconst isValidRMultipleFieldValue = (value: any[] | null | undefined): boolean => {\n if (value === null || value === undefined) return true\n return Array.isArray(value) && value.every((v) => typeof v !== 'undefined')\n}\n\nconst isMouseEvent = (event: unknown): event is MouseEvent => {\n return 'undefined' !== typeof event && event instanceof Event\n}\n\nconst { makeProps: makeRMultipleFieldProps, emits: rMultipleFieldEmits } = propsAndEmitsFactory(\n {\n stringifier: {\n type: Function as PropType<RFieldStringifier>,\n required: true,\n },\n ...pick(\n makeVComboboxProps({\n menuIcon: () => h(SvgIcon, { d: mdiLeadPencil }),\n }),\n [\n 'menuIcon',\n 'class',\n 'style',\n 'active',\n 'theme',\n 'disabled',\n 'density',\n 'variant',\n 'prefix',\n 'persistentPlaceholder',\n 'suffix',\n 'role',\n 'focused',\n 'onUpdate:focused',\n ]\n ),\n modelValue: {\n type: [Array, Object] as PropType<any[] | null | undefined>,\n default: undefined,\n },\n label: {\n type: String as PropType<string | null | undefined>,\n default: undefined,\n },\n noValuesText: {\n type: String as PropType<string | undefined>,\n default: undefined,\n },\n choices: {\n type: Array as PropType<any[] | undefined>,\n default: undefined,\n },\n allowUnspecifiedChoices: {\n type: Boolean,\n default: true,\n },\n nullIsValue: {\n type: Boolean,\n default: false,\n },\n undefinedIsValue: {\n type: Boolean,\n default: false,\n },\n },\n {\n 'update:modelValue': (value: any[] | null | undefined) => isValidRMultipleFieldValue(value),\n 'update:model-value': (value: any[] | null | undefined) => isValidRMultipleFieldValue(value),\n 'update:focused': (focused: boolean) => 'boolean' === typeof focused,\n 'click:append': (event: MouseEvent) => isMouseEvent(event),\n 'click:appendInner': (event: MouseEvent) => isMouseEvent(event),\n 'click:clear': (event: MouseEvent) => isMouseEvent(event),\n 'click:prependInner': (event: MouseEvent) => isMouseEvent(event),\n 'click:prepend': (event: MouseEvent) => isMouseEvent(event),\n 'mousedown:control': (event: MouseEvent) => isMouseEvent(event),\n 'click:control': (event: MouseEvent) => isMouseEvent(event),\n },\n 'RMultipleField'\n)\n\n/**\n * Factory function that creates the props definition for the RMultipleField component.\n * This function generates a comprehensive props object that includes all necessary\n * properties for the multiple selection field, combining custom props with selected\n * Vuetify VCombobox props.\n *\n * ## Generated Props\n *\n * ### Core Multiple Field Props\n * - `stringifier`: Required function to convert any data type to displayable format\n * - `modelValue`: Array of selected items (supports any data type)\n * - `choices`: Optional array of predefined selectable options\n * - `allowUnspecifiedChoices`: Whether users can add custom items beyond predefined choices\n * - `label`: Field label text\n * - `noValuesText`: Text displayed when no items are selected\n *\n * ### Inherited Vuetify Props\n * - `menuIcon`: Icon displayed in the field (defaults to pencil icon)\n * - `class`, `style`: Styling properties\n * - `active`, `focused`: State management props\n * - `theme`, `disabled`, `density`, `variant`: Vuetify theming and appearance\n * - `prefix`, `suffix`: Text affixes\n * - `persistentPlaceholder`: Placeholder behavior control\n * - `role`: ARIA role for accessibility\n *\n * ## Usage\n *\n * ```typescript\n * // Create props for a component\n * const props = makeRMultipleFieldProps()\n *\n * // Use in component definition\n * export const MyMultipleField = defineComponent({\n * name: 'MyMultipleField',\n * props: makeRMultipleFieldProps(),\n * // ... rest of component\n * })\n * ```\n *\n * @returns Props definition object compatible with Vue 3's defineComponent\n */\n\n/**\n * Emits definition for the RMultipleField component, providing comprehensive\n * event handling capabilities for the multiple selection field. These emits\n * are automatically generated by the propsAndEmitsFactory and include both\n * validation functions and proper TypeScript typing.\n *\n * ## Supported Events\n *\n * ### Model Update Events\n * - `update:modelValue`: Emitted when the selected items array changes\n * - `update:model-value`: Kebab-case variant of modelValue update (Vue 3 compatibility)\n * - `update:focused`: Emitted when field focus state changes\n *\n * ### Mouse Interaction Events\n * - `click:append`: Click on the append slot area\n * - `click:appendInner`: Click on the inner append area (excludes dialog button)\n * - `click:clear`: Click on the clear button (when clearable)\n * - `click:prependInner`: Click on the inner prepend area\n * - `click:prepend`: Click on the prepend slot area\n * - `mousedown:control`: Mouse down on the field control area\n * - `click:control`: Click on the field control area\n *\n * ## Event Validation\n *\n * All events include runtime validation:\n * - Model value events validate array structure and content\n * - Mouse events validate that the event is a proper MouseEvent instance\n * - Focus events validate boolean state\n *\n * ## Usage\n *\n * ```typescript\n * // In component definition\n * export const RMultipleField = defineComponent({\n * name: 'RMultipleField',\n * emits: rMultipleFieldEmits,\n * setup(props, { emit }) {\n * // TypeScript will provide full type safety for all events\n * emit('update:modelValue', newValue) // ✅ Type-safe\n * emit('click:clear', mouseEvent) // ✅ Type-safe\n * }\n * })\n * ```\n *\n * @see propsAndEmitsFactory For the factory function that generates these emits\n */\nexport { makeRMultipleFieldProps, rMultipleFieldEmits }\n\n/**\n * Props type for the RMultipleField component, extracted from the props factory.\n * This type represents all the public props that can be passed to the component.\n *\n * Key props include:\n * - `stringifier`: Required function to convert values to display format\n * - `modelValue`: Array of selected items\n * - `choices`: Optional array of predefined choices\n * - `allowUnspecifiedChoices`: Whether users can add custom items beyond choices\n * - Plus all standard Vuetify field props (theme, density, variant, etc.)\n */\nexport type RMultipleFieldProps = ExtractPublicPropTypes<ReturnType<typeof makeRMultipleFieldProps>>\ntype VInputPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVInputProps>>\ntype VFieldPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVFieldProps>>\ntype VBtnPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVBtnProps>>\ntype VDialogPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVDialogProps>>\ntype VBottomSheetPublicProps = ExtractPublicPropTypes<ReturnType<typeof makeVBottomSheetProps>>\n\ntype CommonDialogPublicProps = SharedUnionFields<VDialogPublicProps | VBottomSheetPublicProps>\n\ntype VInputSlotProps = {\n id: ComputedRef<string | null | undefined>\n messagesId: ComputedRef<string | null | undefined>\n isDirty: ComputedRef<boolean | undefined>\n isDisabled: ComputedRef<boolean | undefined>\n isReadonly: ComputedRef<boolean | undefined>\n isPristine: ComputedRef<boolean | undefined>\n isValid: ComputedRef<boolean | undefined>\n isValidating: ComputedRef<boolean | undefined>\n reset: () => void\n resetValidation: () => void\n validate: () => void\n}\n\ntype VFieldSlots = ExtractSlotDefinitions<typeof VField.slots>\ntype VInputSlots = ExtractSlotDefinitions<typeof VInput.slots>\ntype VMenuSlots = ExtractSlotDefinitions<typeof VMenu.slots>\ntype VVirtualScrollSlots = ExtractSlotDefinitions<typeof VVirtualScroll.slots>\n\n/**\n * Prop bindings passed to the single-variant slot for adding individual items.\n * These props provide v-model functionality to the slot content, allowing it to\n * manage the temporary state of a new item being added.\n */\nexport type SingleVariantPropBindings<T = any> = {\n 'modelValue': T | null | undefined\n 'onUpdate:model-value': (value: T | null | undefined) => void\n 'onUpdate:modelValue': (value: T | null | undefined) => void\n}\n\n/**\n * Arguments passed to the single-variant slot function.\n * The slot receives an object with props for v-model binding and an add function\n * to commit the current value to the multiple selection.\n *\n * @example\n * ```typescript\n * // Using the single-variant slot\n * <RMultipleField>\n * <template #single-variant=\"{ props, add }\">\n * <VTextField\n * v-bind=\"props\"\n * @keydown.enter=\"add\"\n * placeholder=\"Enter custom value...\"\n * />\n * </template>\n * </RMultipleField>\n * ```\n */\nexport type SingleVariantSlotArgs<T = any> = [\n { props: SingleVariantPropBindings<T>; add: () => void; isMultiAdd: boolean },\n]\n\n/**\n * Complete slot definitions for the RMultipleField component.\n * Extends VField and VInput slots while adding the custom single-variant slot\n * for when `allowUnspecifiedChoices` is enabled.\n *\n * The `single-variant` slot is used to render the input interface for adding\n * new items when not restricted to predefined choices.\n */\nexport type RMultipleFieldSlots = VFieldSlots &\n VInputSlots & {\n 'single-variant': (...args: SingleVariantSlotArgs) => VNode[]\n }\n\n/**\n * A sophisticated multiple selection field component that provides a rich interface\n * for managing arrays of any data type. Built on top of Vuetify components with\n * extensive customization options and three distinct operational modes.\n *\n * ## Component Architecture\n *\n * The component consists of two main UI elements:\n * - **Compact Field View**: A VCombobox-like component with chips showing selected items\n * - **Management Dialog**: A full-featured interface for adding, removing, and reordering items\n *\n * ## Operational Modes\n *\n * 1. **Freeform Mode** (`choices` undefined): Users can add any custom values\n * 2. **Hybrid Mode** (`choices` provided, `allowUnspecifiedChoices: true`): Users can select from predefined choices OR add custom values\n * 3. **Restricted Mode** (`choices` provided, `allowUnspecifiedChoices: false`): Users can only select from predefined choices\n *\n * ## Key Features\n *\n * - **Generic Data Support**: Works with any data type via the required `stringifier` function\n * - **Rich Content**: Stringifier can return VNodes for rich visual representation\n * - **Drag & Drop Sorting**: Full sortable interface with up/down buttons and drag handles\n * - **Mobile Responsive**: Uses VBottomSheet on mobile, VDialog on desktop\n * - **Performance Optimized**: VirtualScroll for large choice lists\n * - **Accessibility**: Proper focus management, ARIA support, keyboard navigation\n * - **Vuetify Integration**: Supports all standard field props (theme, density, variant, etc.)\n *\n * ## Usage Examples\n *\n * ```typescript\n * // Basic string array\n * <RMultipleField\n * v-model=\"tags\"\n * :stringifier=\"(tag: string) => tag\"\n * />\n *\n * // Rich user objects with avatars\n * <RMultipleField\n * v-model=\"selectedUsers\"\n * :choices=\"allUsers\"\n * :stringifier=\"(user: User) => h('div', [\n * h(VAvatar, { src: user.avatar, size: 'small' }),\n * h('span', user.name)\n * ])\"\n * >\n * <template #single-variant=\"{ props, add }\">\n * <UserSelector v-bind=\"props\" @select=\"add\" />\n * </template>\n * </RMultipleField>\n *\n * // Restricted to predefined options\n * <RMultipleField\n * v-model=\"permissions\"\n * :choices=\"availablePermissions\"\n * :allow-unspecified-choices=\"false\"\n * :stringifier=\"(perm: Permission) => perm.displayName\"\n * />\n * ```\n */\nexport const RMultipleField = defineComponent({\n name: 'RMultipleField',\n props: makeRMultipleFieldProps(),\n emits: rMultipleFieldEmits,\n slots: Object as SlotsType<RMultipleFieldSlots>,\n setup(props, { attrs, emit, slots }) {\n const { mobile } = useDisplay()\n const {\n menuIcon,\n label,\n modelValue,\n class: className,\n style,\n active,\n theme,\n disabled,\n density,\n variant,\n prefix,\n persistentPlaceholder,\n suffix,\n role,\n noValuesText,\n choices,\n allowUnspecifiedChoices,\n nullIsValue,\n undefinedIsValue,\n } = toRefs(props)\n const vComboboxHeight = computed<number>(() => {\n switch (toUnreactive(density)) {\n case 'compact':\n return 40\n case 'comfortable':\n return 48\n default:\n return 56\n }\n })\n const vComboboxStyle = computed<StyleValue>(() =>\n deepmerge(style.value || {}, {\n height: convertToUnit(toUnreactive(vComboboxHeight)),\n })\n )\n const fakeMultipleRef = computed<boolean>(() => true)\n const { localState, setLocalState, getLocalState, recomputeLocalState } = useLocalState<any>(\n emit,\n props['onUpdate:modelValue'],\n props['onUpdate:model-value'],\n fakeMultipleRef,\n modelValue,\n props.modelValue,\n (is, was) => {\n if (encode(is) === encode(was)) return\n }\n )\n const vComboboxVModel = computed<string[] | null | undefined>({\n get: () => {\n const currentLocalState = localState.value\n if (currentLocalState === null || currentLocalState === undefined) return currentLocalState\n return Array.from(toUnreactive(currentLocalState)).map((v: any) => encode(v))\n },\n set: (val: string[] | null | undefined) => {\n if (val === null || val === undefined) {\n setLocalState(val)\n } else {\n setLocalState(val.map((v) => decode(v)))\n }\n },\n })\n const t = useI18n()\n const normalizedNoValuesText = computed<string>(\n () => noValuesText.value || t('resourceful.fields.multiple.noValues')\n )\n const doEmit = <E extends keyof typeof rMultipleFieldEmits>(\n event: E,\n ...args: Parameters<(typeof rMultipleFieldEmits)[E]>\n ) => {\n // @ts-ignore\n emit(event, ...args)\n const { camel, kebab } = getCamelAndMaybeKebabPropKeysFor(event)\n // @ts-ignore\n if (props[camel]) {\n // @ts-ignore\n props[camel](...args)\n }\n // @ts-ignore\n if (camel !== kebab && props[kebab]) {\n // @ts-ignore\n props[kebab](...args)\n }\n }\n const doEmitIfArgsDefined = <E extends keyof typeof rMultipleFieldEmits>(\n event: E,\n ...args: Parameters<(typeof rMultipleFieldEmits)[E]>\n ) => {\n const argsDefined = args.every((a) => 'undefined' !== typeof a)\n if (argsDefined) {\n // @ts-ignore\n doEmit(event, ...args)\n }\n }\n const { isFocused, focus, blur } = useFocus(props)\n const isPlainOrUnderlined = computed(() =>\n ['plain', 'underlined'].includes(toUnreactive(variant))\n )\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VField>()\n const vDialogMenuButtonRef = ref<VBtn>()\n const isActive = computed(\n () => toUnreactive(persistentPlaceholder) || toUnreactive(isFocused) || toUnreactive(active)\n )\n const rootAndInputAttrs = computed<{\n rootAttrs: Record<string, any>\n inputAttrs: Record<string, any>\n }>(\n () =>\n filterInputAttrs(attrs) as unknown as {\n rootAttrs: Record<string, any>\n inputAttrs: Record<string, any>\n }\n )\n const vInputBindings = computed<VInputPublicProps>(() =>\n deepmerge(\n {\n modelValue: vComboboxVModel.value,\n label: isNotEmpty(label) ? (label!.value as string) : undefined,\n class: [\n 'resourceful__field__multiple',\n {\n 'resourceful__field__multiple--prefixed': isNotEmpty(prefix),\n 'resourceful__field__multiple--suffixed': isNotEmpty(suffix),\n 'v-input--plain-underlined': isPlainOrUnderlined.value,\n },\n toUnreactive(className),\n ],\n style: toUnreactive(vComboboxStyle),\n density: toUnreactive(density),\n },\n toUnreactive(rootAndInputAttrs).rootAttrs,\n toUnreactive(rootAndInputAttrs).inputAttrs,\n {\n centerAffix: true,\n focused: toUnreactive(isFocused),\n },\n {\n ref: vInputRef,\n }\n )\n )\n const onFocus = () => {\n if (!toUnreactive(isFocused)) {\n focus()\n }\n }\n const onControlMousedown = (e: MouseEvent) => {\n doEmitIfArgsDefined('mousedown:control', e)\n onFocus()\n e.preventDefault()\n }\n const onControlClick = (e: MouseEvent) => {\n onFocus()\n doEmitIfArgsDefined('click:control', e)\n }\n const onClear = (e: MouseEvent, reset: () => void) => {\n e.stopPropagation()\n e.stopImmediatePropagation()\n onFocus()\n nextTick(() => {\n setLocalState([])\n reset()\n doEmitIfArgsDefined('click:clear', e)\n })\n }\n const vFieldBindings = computed<VFieldPublicProps>(() =>\n deepmerge(\n {\n ref: vFieldRef,\n },\n {\n onMousedown: onControlMousedown,\n onClick: onControlClick,\n },\n {\n 'onClick:prependInner': (e: MouseEvent) => doEmitIfArgsDefined('click:prependInner', e),\n 'onClick:appendInner': (e: MouseEvent) => {\n if (!e) return\n if (vDialogMenuButtonRef.value) {\n const el = vDialogMenuButtonRef.value.$el as HTMLElement\n if (e.target === el || el.contains(e.target as Node)) {\n return\n }\n }\n doEmitIfArgsDefined('click:appendInner', e)\n },\n },\n {\n role: toUnreactive(role),\n focused: toUnreactive(isFocused),\n }\n )\n )\n const dialogOpen = ref(false)\n watch(dialogOpen, (is) => {\n if (is) {\n onFocus()\n }\n })\n const dialogMenuButtonBindings = computed<VBtnPublicProps>(() => ({\n ref: vDialogMenuButtonRef,\n modelValue: dialogOpen.value,\n icon: true,\n variant: 'text' as const,\n size: 'small',\n density: toUnreactive(density),\n onClick: (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n e.stopImmediatePropagation()\n dialogOpen.value = !dialogOpen.value\n },\n }))\n const commonDialogBindings = computed<CommonDialogPublicProps>(() =>\n deepmerge(\n {\n modelValue: dialogOpen.value,\n retainFocus: true,\n theme: toUnreactive(theme),\n },\n {\n 'onUpdate:modelValue': (is: boolean) => {\n dialogOpen.value = is\n },\n }\n )\n )\n const dialogWindowBindings = computed<VDialogPublicProps>(() =>\n deepmerge(commonDialogBindings.value, {\n maxWidth: 500,\n maxHeight: 600,\n } satisfies VDialogPublicProps)\n )\n const dialogBottomSheetBindings = computed<VBottomSheetPublicProps>(() =>\n deepmerge(commonDialogBindings.value, {} satisfies VBottomSheetPublicProps)\n )\n const addableItem = ref<any | null>(null)\n const isAddable = computed(\n () =>\n (addableItem.value !== null || addableItem.value === nullIsValue.value) &&\n (addableItem.value !== undefined || addableItem.value === undefinedIsValue.value)\n )\n const isEmpty = computed(\n () =>\n 'undefined' === typeof localState.value ||\n null === localState.value ||\n localState.value.length === 0\n )\n const sortableBindings = computed<SortableProps>(() => ({\n modelValue: vComboboxVModel.value || [],\n tag: VList,\n tagProps: {\n nav: true,\n selectable: true,\n class: [\n 'transparent',\n {\n 'py-0': isEmpty.value,\n },\n ],\n },\n animation: 300,\n ghostClass: 'resourceful__field__multiple__sortable-ghost',\n chosenClass: 'resourceful__field__multiple__sortable-chosen',\n dragClass: 'resourceful__field__multiple__sortable-drag',\n ...{\n 'onUpdate:modelValue': (val: Array<string>) => {\n vComboboxVModel.value = val\n },\n },\n }))\n const doAddAddable = () => {\n if (!isAddable.value) return\n const currentLocalState = getLocalState()\n currentLocalState.push(addableItem.value)\n setLocalState(currentLocalState)\n nextTick(() => {\n recomputeLocalState()\n addableItem.value = null\n })\n }\n const multiCard = computed<VNode>(() => {\n const singleVariantSlot = useSlot<RMultipleFieldSlots>(\n 'single-variant',\n slots\n ) as RMultipleFieldSlots['single-variant']\n const choicesItemList = computed(\n () =>\n Array.from(toUnreactive(choices) || [])\n .filter((i) => {\n const encoded = encode(i)\n return !vComboboxVModel.value || !vComboboxVModel.value.includes(encoded)\n })\n .map((item) => ({\n label: getStringOrVNodeAsString(props.stringifier(item)),\n value: item,\n })) || ([] as { label: string; value: any }[])\n )\n return h(VCard, { minHeight: 40, class: ['d-flex', 'flex-column'] }, () => [\n h(VToolbar, { flat: true, color: 'transparent', class: ['flex-grow-0'] }, () => [\n h(\n 'div',\n { class: ['flex-grow-1', 'd-flex', 'align-center', 'justify-center', 'pa-1'] },\n allowUnspecifiedChoices.value\n ? singleVariantSlot\n ? singleVariantSlot({\n props: {\n 'modelValue': addableItem.value,\n 'onUpdate:modelValue': (value: any) => {\n addableItem.value = value\n },\n 'onUpdate:model-value': (value: any) => {\n addableItem.value = value\n },\n },\n add: () => doAddAddable(),\n isMultiAdd: true,\n })\n : h(DevErrorAlert, { message: 'Missing required slot: single-variant' })\n : h(VAutocomplete, {\n 'modelValue': addableItem.value,\n 'onUpdate:modelValue': (value: any) => {\n addableItem.value = value\n },\n 'onUpdate:model-value': (value: any) => {\n addableItem.value = value\n },\n 'items': choicesItemList.value,\n 'hideDetails': true,\n 'density': 'compact' as const,\n 'variant': 'outlined' as const,\n 'item-title': 'label',\n 'item-value': 'value',\n })\n ),\n h(VToolbarItems, {}, () => [\n Array.isArray(choices.value) && allowUnspecifiedChoices.value\n ? h(\n VMenu,\n {},\n {\n activator: ({\n props: menuActivatorProps,\n }: NamedSlotParameters<VMenuSlots, 'activator'>[0]) =>\n h(VBtn, {\n ...menuActivatorProps,\n icon: () => h(SvgIcon, { d: mdiListBoxOutline }),\n }),\n default: () =>\n h(\n VCard,\n {\n height: 300,\n },\n () =>\n h(\n VVirtualScroll,\n {\n items: choicesItemList.value,\n height: 300,\n },\n {\n default: ({\n item,\n }: NamedSlotParameters<VVirtualScrollSlots, 'default'>[0]) =>\n h(VListItem, {\n title: (item as any).label,\n onClick: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n e.stopImmediatePropagation()\n addableItem.value = (item as any).value\n doAddAddable()\n },\n }),\n }\n )\n ),\n }\n )\n : null,\n h(\n VBtn,\n {\n icon: true,\n disabled: !isAddable.value,\n onClick: doAddAddable,\n },\n () => [\n h(VIcon, {\n icon: () => h(SvgIcon, { d: mdiPlus }),\n }),\n ]\n ),\n h(\n VBtn,\n {\n icon: true,\n onClick: () => {\n dialogOpen.value = false\n },\n },\n () => [\n h(VIcon, {\n icon: () => h(SvgIcon, { d: mdiClose }),\n }),\n ]\n ),\n h('div', { class: ['flex-grow-1'] }),\n ]),\n ]),\n h(VDivider, { class: ['flex-grow-0'] }),\n h(Sortable, sortableBindings.value, {\n item: ({\n item,\n props: sortableItemProps,\n first,\n last,\n remove,\n moveUp,\n moveDown,\n }: SortableItemSlotBindings<string>) => {\n const decoded = decode(item)\n const title = props.stringifier(decoded)\n return h(\n VListItem,\n {\n ripple: false,\n ...sortableItemProps,\n },\n {\n title: () => title,\n prepend: () =>\n h('div', { class: ['d-flex', 'align-center', 'justify-start', 'me-2'] }, [\n h(VIcon, {\n icon: () => h(SvgIcon, { d: mdiDrag }),\n }),\n ]),\n append: () =>\n h('div', { class: ['d-flex', 'align-center', 'justify-end'] }, [\n h(VBtn, {\n size: 'x-small',\n icon: () => h(SvgIcon, { d: mdiMenuUp }),\n class: ['me-1'],\n disabled: first,\n variant: 'text',\n onClick: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n e.stopImmediatePropagation()\n moveUp()\n },\n }),\n h(VBtn, {\n size: 'x-small',\n icon: () => h(SvgIcon, { d: mdiMenuDown }),\n class: ['me-1'],\n disabled: last,\n variant: 'text',\n onClick: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n e.stopImmediatePropagation()\n moveDown()\n },\n }),\n h(VBtn, {\n size: 'x-small',\n icon: () => h(SvgIcon, { d: mdiDelete }),\n disabled: 'id' === item,\n class: [],\n variant: 'text',\n onClick: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n e.stopImmediatePropagation()\n remove()\n },\n }),\n ]),\n }\n )\n },\n }),\n isEmpty.value\n ? h(\n VList,\n {\n nav: true,\n selectable: false,\n class: ['transparent'],\n },\n () =>\n h(VListItem, {\n prependIcon: () => h(SvgIcon, { d: mdiInformation }),\n subtitle: normalizedNoValuesText.value,\n })\n )\n : null,\n ])\n })\n useRender(() =>\n // eslint-disable-next-line @nht/require-function-slots-for-programmatic-components\n h(VInput, toUnreactive(vInputBindings), {\n ...slots,\n default: ({\n id: slotId,\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n reset,\n }: VInputSlotProps) => {\n const vFieldMergedBindings: VFieldPublicProps = deepmerge(\n toUnreactive(vFieldBindings),\n VField.filterProps({\n ...props,\n label: !label.value ? undefined : (label.value as string),\n }),\n {\n 'onClick:clear': (e: MouseEvent) => onClear(e, reset),\n },\n {\n id: toUnreactive(slotId),\n active: toUnreactive(isActive) || toUnreactive(isDirty),\n dirty: toUnreactive(isDirty),\n disabled: toUnreactive(isDisabled),\n error: toUnreactive(isValid) === false,\n }\n )\n const appendInnerSlot = useSlot<RMultipleFieldSlots>('append-inner', slots)\n return [\n // eslint-disable-next-line @nht/require-function-slots-for-programmatic-components\n h(VField, vFieldMergedBindings, {\n ...slots,\n 'append-inner': (\n ...args: NamedSlotParameters<RMultipleFieldSlots, 'append-inner'>\n ) => [\n // @ts-ignore\n appendInnerSlot ? () => appendInnerSlot!(...args) : null,\n !isReadonly.value\n ? h(VBtn, dialogMenuButtonBindings.value, () =>\n h(VIcon, {\n icon: menuIcon.value,\n })\n )\n : null,\n ],\n 'default': ({ props: slotProps }: NamedSlotParameters<VFieldSlots, 'default'>[0]) => {\n return [\n prefix.value\n ? h('span', { class: ['resourceful__field__multiple__prefix'] }, [\n h(\n 'span',\n { class: ['resourceful__field__multiple__prefix__text'] },\n prefix.value\n ),\n ])\n : null,\n h(\n 'div',\n deepmerge(\n slotProps,\n {\n class: [\n 'w-100',\n 'h-100',\n 'd-block',\n 'text-no-wrap',\n 'overflow-x-auto',\n slotProps.class,\n ],\n },\n {\n onFocus: onFocus,\n onBlur: () => blur(),\n }\n ),\n Array.from(toUnreactive(localState) || []).map((item, index) =>\n h(\n VChip,\n deepmerge(\n {\n key: 'chip',\n closable: true,\n closeIcon: () => h(SvgIcon, { d: mdiClose }),\n size: 'small' as const,\n disabled: disabled.value || isReadonly.value,\n class: [\n {\n 'me-2':\n Array.isArray(localState.value) &&\n index !== localState.value.length - 1,\n },\n ],\n },\n {\n 'onClick:close': (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n e.stopImmediatePropagation()\n const currentLocalState = getLocalState()\n if (!Array.isArray(currentLocalState)) return\n currentLocalState.splice(index, 1)\n setLocalState(currentLocalState)\n },\n }\n ),\n () =>\n h(\n 'span',\n {\n class: ['d-inline', 'text-truncate', 'w-100', 'align-center'],\n style: { maxWidth: '300px' },\n title: getStringOrVNodeAsString(props.stringifier(item)),\n },\n props.stringifier(item)\n )\n )\n )\n ),\n suffix.value\n ? h('span', { class: ['resourceful__field__multiple__suffix'] }, [\n h(\n 'span',\n { class: ['resourceful__field__multiple__suffix__text'] },\n suffix.value\n ),\n ])\n : null,\n ]\n },\n }),\n mobile.value\n ? h(VBottomSheet, dialogBottomSheetBindings.value, () => multiCard.value)\n : h(VDialog, dialogWindowBindings.value, () => multiCard.value),\n ]\n },\n })\n )\n return forwardRefs({}, vInputRef, vFieldRef)\n },\n})\n\n/**\n * Type definition for the RMultipleField component instance.\n * This represents the actual component type that can be used in TypeScript\n * for component references and type checking.\n */\nexport type RMultipleField = typeof RMultipleField & ComponentPublicInstance\n","/*\n|--------------------------------------------------------------------------\n| Resourceful Field Common Constants, Utility Functions, and Types\n|--------------------------------------------------------------------------\n|\n| A set of common constants, utility functions, and types for\n| resourceful fields, including common field props and more\n|\n|--------------------------------------------------------------------------\n| TODO\n|--------------------------------------------------------------------------\n|\n| - Copyable Prop & Functionality\n*/\n\nimport { mdiBug } from '@mdi/js'\nimport { useTheme } from 'vuetify'\nimport { SvgIcon } from '../svg-icon'\nimport { deepmerge } from 'deepmerge-ts'\nimport { VAlert } from 'vuetify/components/VAlert'\nimport { pick } from '@nhtio/vuetifiable/util/helpers'\nimport { encode } from '@nhtio/lucid-resourceful/encoding'\nimport { debounce } from '@nhtio/vuetifiable/util/helpers'\nimport { rReadModeRendererEmits } from './read_mode_renderer'\nimport { propsFactory } from '@nhtio/vuetifiable/util/propsFactory'\nimport { makeRMultipleFieldProps, rMultipleFieldEmits } from './multiple'\nimport { makeVInputProps } from '@nhtio/vuetifiable/components/VInput/VInput'\nimport { makeVFieldProps } from '@nhtio/vuetifiable/components/VField/VField'\nimport { stripUndefinedValuesFromObject, toUnreactive } from '../common/utils'\nimport { makeVListItemProps } from '@nhtio/vuetifiable/components/VList/VListItem'\nimport { makeVComboboxProps } from '@nhtio/vuetifiable/components/VCombobox/VCombobox'\nimport { shallowRef, triggerRef, computed, watch, defineComponent, toRefs, h } from 'vue'\nimport type { CastToEmitValidators } from '../common/factories'\nimport type { PropType, Ref, VNode, ExtractPublicPropTypes } from 'vue'\n\nexport const RRenderMode = ['edit', 'read'] as const\nexport type RRenderMode = (typeof RRenderMode)[number]\n\nexport const makeCommonResourcefulFieldProps = propsFactory(\n {\n renderMode: {\n type: String as PropType<RRenderMode>,\n default: 'edit',\n },\n multiple: {\n type: Boolean as PropType<boolean>,\n default: false,\n },\n choices: {\n type: Array as PropType<any[] | undefined>,\n default: undefined,\n },\n allowUnspecifiedChoices: {\n type: Boolean,\n default: true,\n },\n label: {\n type: String as PropType<string | undefined>,\n default: undefined,\n },\n ...pick(makeVComboboxProps(), ['density', 'class', 'style']),\n ...pick(makeVListItemProps(), ['to', 'href']),\n ...pick(makeRMultipleFieldProps(), [\n 'menuIcon',\n 'active',\n 'theme',\n 'disabled',\n 'variant',\n 'prefix',\n 'persistentPlaceholder',\n 'suffix',\n 'role',\n 'focused',\n 'onUpdate:focused',\n 'noValuesText',\n ]),\n ...pick(makeVInputProps(), ['error', 'errorMessages']),\n ...pick(makeVFieldProps(), ['dirty']),\n ...{\n 'onClick:append': {\n type: Function as PropType<((e: MouseEvent) => void) | undefined>,\n default: undefined,\n },\n 'onClick:appendInner': {\n type: Function as PropType<((e: MouseEvent) => void) | undefined>,\n default: undefined,\n },\n 'onClick:clear': {\n type: Function as PropType<((e: MouseEvent) => void) | undefined>,\n default: undefined,\n },\n 'onClick:prependInner': {\n type: Function as PropType<((e: MouseEvent) => void) | undefined>,\n default: undefined,\n },\n 'onClick:prepend': {\n type: Function as PropType<((e: MouseEvent) => void) | undefined>,\n default: undefined,\n },\n 'onMousedown:control': {\n type: Function as PropType<((e: MouseEvent) => void) | undefined>,\n default: undefined,\n },\n 'onClick:control': {\n type: Function as PropType<((e: MouseEvent) => void) | undefined>,\n default: undefined,\n },\n 'onBlur': {\n type: Function as PropType<(() => void) | undefined>,\n default: undefined,\n },\n 'onChange': {\n type: Function as PropType<(() => void) | undefined>,\n default: undefined,\n },\n 'onInput': {\n type: Function as PropType<(() => void) | undefined>,\n default: undefined,\n },\n },\n },\n 'ResourcefulField'\n)\n\nexport type CommonResourcefulFieldPublicProps = ExtractPublicPropTypes<\n ReturnType<typeof makeCommonResourcefulFieldProps>\n>\n\nexport interface EmitWithUpdateModelValue<T> {\n (e: 'update:modelValue', val: T | T[] | null | undefined): void\n (e: 'update:model-value', val: T | T[] | null | undefined): void\n}\n\nexport type LocalStateModelValue<T> = T | T[] | null | undefined\n\nexport const useLocalState = <T>(\n emit: EmitWithUpdateModelValue<T>,\n onUpdateModelValueCamelProp: ((val: T | T[] | null | undefined) => void) | undefined,\n onUpdateModelValueKebabProp: ((val: T | T[] | null | undefined) => void) | undefined,\n multiple: Ref<boolean>,\n modelValueRef: Ref<T | T[] | null | undefined>,\n modelValueProp: T | T[] | null | undefined,\n onChange: (\n is: LocalStateModelValue<T>,\n was?: LocalStateModelValue<T> | undefined\n ) => void = () => {}\n) => {\n const localStateRef = shallowRef<T[] | null>(\n modelValueProp === null\n ? null\n : Array.isArray(modelValueProp)\n ? modelValueProp\n : 'undefined' === typeof modelValueProp\n ? []\n : [modelValueProp]\n )\n const computedLocalStateValue = shallowRef<T | T[] | null | undefined>(\n modelValueProp === null\n ? null\n : Array.isArray(modelValueProp)\n ? modelValueProp\n : 'undefined' === typeof modelValueProp\n ? []\n : [modelValueProp]\n )\n const getSettableValue = (val: T | T[] | null | undefined): T[] | null => {\n if (multiple.value) {\n if (null === val) {\n return null\n } else if (!Array.isArray(val)) {\n return [val].filter((v) => 'undefined' !== typeof v) as T[]\n } else {\n return val.filter((v) => 'undefined' !== typeof v) as T[]\n }\n } else {\n if (Array.isArray(val)) {\n val = val[0]\n }\n return null === val ? null : ([val].filter((v) => 'undefined' !== typeof v) as T[])\n }\n }\n const getLocalStateRefValue = () => {\n const current = toUnreactive(localStateRef)\n if (multiple.value) {\n return Array.isArray(current) ? current : []\n } else {\n return Array.isArray(current) ? current[0] : null\n }\n }\n const setLocalStateRefValue = (val: T | T[] | null | undefined) => {\n const current = toUnreactive(localStateRef)\n const settable = getSettableValue(val)\n if (encode(current as any) !== encode(settable as any)) {\n localStateRef.value = settable\n triggerRef(localStateRef)\n }\n }\n const recomputeLocalStateValue = () => {\n const toSet = getLocalStateRefValue()\n computedLocalStateValue.value = toSet\n }\n watch(localStateRef, recomputeLocalStateValue, { immediate: true })\n const localState = computed({\n get: () => computedLocalStateValue.value,\n set: (val: T | T[] | null | undefined) => setLocalStateRefValue(val),\n })\n const debouncedEmit = debounce(() => {\n const v = toUnreactive(localState)\n emit('update:modelValue', v)\n emit('update:model-value', v)\n if (onUpdateModelValueCamelProp) {\n onUpdateModelValueCamelProp(v)\n }\n if (onUpdateModelValueKebabProp) {\n onUpdateModelValueKebabProp(v)\n }\n }, 100)\n watch(\n modelValueRef,\n (is: T | T[] | null | undefined) => setLocalStateRefValue(toUnreactive(is)),\n { immediate: true, deep: true }\n )\n watch(\n localState,\n (is: LocalStateModelValue<T>, was: LocalStateModelValue<T>) => {\n if (encode(is as any) === encode(was as any)) return\n const boundOnChange = onChange ? onChange.bind(null, is, was) : () => {}\n debouncedEmit()\n boundOnChange()\n },\n { deep: true }\n )\n const getLocalState = () => toUnreactive(localState)\n return {\n localState,\n setLocalState: setLocalStateRefValue,\n getLocalState,\n recomputeLocalState: recomputeLocalStateValue,\n }\n}\n\nconst makeDevErrorAlertProps = propsFactory(\n {\n message: {\n type: String,\n default: 'Misconfigured',\n },\n },\n 'DevErrorAlert'\n)\n\nexport const DevErrorAlert = defineComponent({\n name: 'DevErrorAlert',\n props: makeDevErrorAlertProps(),\n setup(props) {\n const { message } = toRefs(props)\n const { current } = useTheme()\n return () =>\n h(VAlert, {\n type: 'error',\n icon: () => h(SvgIcon, { d: mdiBug }),\n variant: current.value.dark ? 'outlined' : 'elevated',\n border: 'start',\n text: message.value,\n density: 'compact' as const,\n })\n },\n})\n\n/**\n * A function type that converts any value into a string or VNode representation for display purposes.\n * This is the core abstraction that makes all Resourceful field components generic and reusable across different data types.\n *\n * The function can return either:\n * - A plain string for simple text representation\n * - A VNode for rich content with styling, icons, badges, etc.\n *\n * The component automatically handles both return types appropriately:\n * - For HTML attributes (like `title`): Converts VNodes to plain text\n * - For content rendering: Displays VNodes as rich content, strings as text\n *\n * @template T - The type of value being stringified (defaults to `any` for maximum flexibility)\n * @param value - The value to be converted for display\n * @returns Either a string or VNode representation of the value\n *\n * @example\n * ```typescript\n * // Simple string stringifier for typed data\n * const userStringifier: RFieldStringifier<User> = (user) => user.name\n *\n * // Generic stringifier for any data type\n * const genericStringifier: RFieldStringifier = (value) => String(value)\n *\n * // Rich VNode stringifier with type safety\n * const richUserStringifier: RFieldStringifier<User> = (user) => h('div', { class: 'user-display' }, [\n * h(VAvatar, { size: 'small', src: user.avatar }),\n * h('span', { class: 'user-name' }, user.name),\n * h(VChip, { size: 'x-small', color: user.role }, user.role)\n * ])\n *\n * // Number formatting with locale support\n * const currencyStringifier: RFieldStringifier<number> = (amount) =>\n * new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' }).format(amount)\n * ```\n */\nexport type RFieldStringifier<T = any> = (value: T) => string | VNode\n\n/**\n * Unified emit definitions for all Resourceful field components. This object combines\n * all possible events from read mode renderer and multiple field components while\n * providing a standardized interface for individual field implementations.\n *\n * ## Event Categories\n *\n * ### Model Update Events\n * - `update:modelValue` and `update:model-value`: Field value changes (handled by individual fields)\n * - `update:focused`: Focus state changes\n *\n * ### Mouse Interaction Events\n * - `click:append`, `click:appendInner`: Click events on field append areas\n * - `click:clear`: Clear button interactions\n * - `click:prepend`, `click:prependInner`: Click events on field prepend areas\n * - `mousedown:control`, `click:control`: Control area interactions\n *\n * ### Navigation Events (Read Mode)\n * - Navigation events from read mode renderer when fields have `to` or `href` props\n *\n * ## Usage\n *\n * Individual field components can use this as their emit definition to automatically\n * get all the events they might need across different operational modes:\n *\n * ```typescript\n * export const RStringField = defineComponent({\n * name: 'RStringField',\n * emits: commonEmits, // ✅ All events included automatically\n * setup(props, { emit }) {\n * // TypeScript provides full type safety for all events\n * emit('update:modelValue', newValue)\n * emit('click:clear', mouseEvent)\n * }\n * })\n * ```\n *\n * ## Architecture Benefits\n *\n * - **Unified Interface**: All fields have the same event capabilities\n * - **Mode Compatibility**: Events work across single, multiple, and read modes\n * - **Type Safety**: Full TypeScript support with runtime validation\n * - **Future Proof**: New events automatically available to all fields\n *\n * @see rReadModeRendererEmits For read mode specific events\n * @see rMultipleFieldEmits For multiple field specific events\n */\nexport const commonEmits = stripUndefinedValuesFromObject({\n ...deepmerge(rReadModeRendererEmits, rMultipleFieldEmits),\n 'update:modelValue': undefined,\n 'update:model-value': undefined,\n})\n\n/**\n * Type-safe emit validators for the common field emit definitions. This provides\n * runtime validation for all events while maintaining full TypeScript type safety.\n *\n * The validators ensure that:\n * - Event names are correct and properly typed\n * - Event payloads match expected types (MouseEvent, boolean, etc.)\n * - Runtime validation catches incorrect usage during development\n *\n * ## Usage\n *\n * Individual field components that need runtime validation can use this instead\n * of the plain `commonEmits`:\n *\n * ```typescript\n * export const RStringField = defineComponent({\n * name: 'RStringField',\n * emits: commonEmitsValidators, // ✅ With runtime validation\n * setup(props, { emit }) {\n * // Validator will catch incorrect usage at runtime\n * emit('update:modelValue', 'valid string') // ✅ Valid\n * emit('click:clear', 'invalid') // ❌ Runtime error\n * }\n * })\n * ```\n *\n * ## Type Casting\n *\n * This uses `CastToEmitValidators` to transform the plain emit object into\n * a validator-enabled version while preserving all type information.\n *\n * @see CastToEmitValidators For the type transformation utility\n * @see commonEmits For the base emit definitions without validation\n */\nexport const commonEmitsValidators: CastToEmitValidators<typeof commonEmits> =\n commonEmits as CastToEmitValidators<typeof commonEmits>\n"],"names":["VAlertTitle","createSimpleFunctional","makeIconSizeProps","propsFactory","useIconSizes","props","fallback","computed","iconSizeMap","_iconSize","allowedTypes","makeVAlertProps","val","IconValue","makeComponentProps","makeDensityProps","makeDimensionProps","makeElevationProps","makeLocationProps","makePositionProps","makeRoundedProps","makeTagProps","makeThemeProps","makeVariantProps","VAlert","genericComponent","value","_ref","emit","slots","isActive","useProxiedModel","icon","toRef","iconSize","themeClasses","provideTheme","colorClasses","colorStyles","variantClasses","useVariant","densityClasses","useDensity","dimensionStyles","useDimension","elevationClasses","useElevation","locationStyles","useLocation","positionClasses","usePosition","roundedClasses","useRounded","textColorClasses","textColorStyles","useTextColor","t","useLocale","closeProps","e","hasPrepend","hasTitle","hasClose","iconProps","_createVNode","_normalizeClass","_normalizeStyle","genOverlays","_createElementVNode","VDefaultsProvider","VIcon","_mergeProps","VBtn","makeVListItemSubtitleProps","VListItemSubtitle","useRender","createVNode","klass","tag","name","capitalize","camelize","_a","h","VListItemTitle","makeVAvatarProps","makeBorderProps","makeSizeProps","VAvatar","borderClasses","useBorder","sizeClasses","sizeStyles","useSize","VImg","ListKey","createList","filterable","parent","inject","shallowRef","data","provide","useList","independentActiveStrategy","mandatory","strategy","id","activated","toRaw","v","children","parents","set","wrapInArray","independentSingleActiveStrategy","parentStrategy","rest","singleSelected","arr","leafActiveStrategy","leafSingleActiveStrategy","singleOpenStrategy","opened","newOpened","multipleOpenStrategy","listOpenStrategy","path","independentSelectStrategy","selected","on","key","value2","disabled","map","independentSingleSelectStrategy","leafSelectStrategy","leafSingleSelectStrategy","classicSelectStrategy","original","items","item","everySelected","noneSelected","child","cid","trunkSelectStrategy","VNestedSymbol","emptyNested","ref","makeNestedProps","useNested","isUnmounted","i","activeStrategy","selectStrategy","openStrategy","onBeforeUnmount","getPath","vm","getCurrentInstance","nodeIds","nested","parentId","isDisabled","isGroup","newPath","consoleError","list","event","newSelected","newActivated","useNestedItem","uidSymbol","computedId","idValue","toValue","open","onBeforeMount","useNestedGroupActivator","makeVListItemProps","EventProp","makeRouterProps","VListItem","Ripple","attrs","link","useLink","activate","isActivated","select","isOpen","isSelected","isIndeterminate","isGroupActivator","root","openOnSelect","uid","isLink","isSelectable","isClickable","roundedProps","color","variantProps","watch","handleActiveLink","lineClasses","rippleOptions","slotProps","onClick","_b","onKeyDown","target","Tag","hasSubtitle","hasAppendMedia","hasAppend","hasPrependMedia","deprecate","withDirectives","mergeProps","_a2","Fragment","toDisplayString","resolveDirective","makeVLabelProps","VLabel","VSelectionControlGroupSymbol","makeSelectionControlGroupProps","deepEqual","makeVSelectionControlGroupProps","modelValue","useId","updateHandlers","fn","cb","onScopeDispose","provideDefaults","makeVSelectionControlProps","useSelectionControl","group","trueValue","falseValue","isMultiple","model","currentValue","newVal","backgroundColorClasses","backgroundColorStyles","useBackgroundColor","VSelectionControl","isFocused","isFocusVisible","input","isInteractive","onFocus","matchesSelector","onBlur","onClickLabel","onInput","nextTick","label","rootAttrs","inputAttrs","filterInputAttrs","inputNode","makeVCheckboxBtnProps","VCheckboxBtn","indeterminate","onChange","falseIcon","trueIcon","controlProps","omit","$event","useInputIcon","InputIcon","localeKey","listener","onKeydown","callEvent","makeTransitionProps","createCssTransition","origin","mode","functions","el","offsetTop","offsetLeft","offsetWidth","offsetHeight","position","top","left","width","height","TransitionGroup","Transition","createJavascriptTransition","ExpandTransitionGenerator","expandedParentClass","x","sizeProperty","offsetProperty","initialStyle","offset","resetStyles","onAfterLeave","size","__defProp","__defNormalProp","obj","__publicField","Box","y","getOverflow","a","b","getTargetBox","getElementBox","rect","nullifyTransforms","style","tx","ta","sx","sy","dx","dy","to","w","animate","keyframes","options","animation","resolve","standardEasing","deceleratedEasing","acceleratedEasing","easingPatterns","makeVDialogTransitionProps","saved","VDialogTransition","done","dimensions","getDimensions","speed","getChildren","el2","els","targetBox","elBox","originX","originY","anchorSide","anchorOffset","offsetX","offsetY","tsx","tsy","maxs","asa","VFadeTransition","VSlideYTransition","VExpandTransition","VExpandXTransition","makeVMessagesProps","VMessages","messages","MaybeTransition","message","makeFocusProps","useFocus","getCurrentInstanceName","focusClasses","focus","blur","FormKey","useForm","form","RulesSymbol","useRules","rules","makeValidationProps","useValidation","validationModel","internalErrorMessages","isPristine","isDirty","errorMessages","validateOn","isValid","isValidating","validationClasses","unref","validate","reset","resetValidation","onMounted","useToggleScope","unwatch","silent","results","rule","result","makeVInputProps","pick","VInput","rtlClasses","useRtl","isReadonly","hasMessages","hasDetails","messagesId","iconColor","_c","_d","makeVCheckboxProps","focused","inputRef","controlAttrs","inputProps","checkboxProps","forwardRefs","GoToSymbol","genDefaults","getContainer","getTarget","refElement","getOffset","horizontal","rtl","totalOffset","scrollTo","_target","_options","goTo","property","mergeDeep","container","ease","targetLocation","layoutOffset","clampTarget","startLocation","startTime","step","currentTime","progress","location","clamp","consoleWarn","useGoTo","goToInstance","isRtl","go","scrollWidth","scrollHeight","containerWidth","containerHeight","min","max","calculateUpdatedTarget","selectedElement","containerElement","isHorizontal","containerSize","getOffsetSize","scrollPosition","getScrollPosition","childrenSize","childrenStartPosition","getOffsetPosition","additionalOffset","calculateCenteredTarget","containerOffsetSize","childrenOffsetPosition","childrenOffsetSize","getScrollSize","element","getClientSize","scrollLeft","VSlideGroupSymbol","makeVSlideGroupProps","makeDisplayProps","makeGroupProps","VSlideGroup","displayClasses","mobile","useDisplay","useGroup","isOverflowing","scrollOffset","contentSize","containerRef","containerRect","useResizeObserver","contentRef","contentRect","goToOptions","firstSelectedIndex","lastSelectedIndex","IN_BROWSER","frame","scrollToChildren","center","scrollToPosition","newPosition","offsetSize","onScroll","scrollTop","onFocusin","onFocusout","ignoreFocusEvent","onFocusAffixes","toFocus","getSiblingElement","sibling","focusableChildren","direction","offsetStep","hasOverflowOrScroll","hasAffixes","hasPrev","hasNext","scrollSize","clientSize","VChipGroupSymbol","makeVChipGroupProps","next","prev","slideGroupProps","makeVChipProps","makeGroupItemProps","VChip","useGroupItem","hasFilter","vShow","makeVDividerProps","VDivider","dividerStyles","styles","convertToUnit","divider","useSsrBoot","isBooted","readonly","VListGroupActivator","defineComponent","_","makeVListGroupProps","VListGroup","_id","activatorProps","toggleIcon","activatorDefaults","makeVListSubheaderProps","VListSubheader","hasText","makeVListChildrenProps","VListChildren","itemProps","type","_b2","slotsWithItem","_a3","listGroupProps","listItemProps","makeItemsProps","itemTypes","transformItem","title","getPropertyFromItem","_props","transformItems","array","useItems","hasNullItem","itemsMap","keylessItems","watchEffect","_items","keyless","isPrimitive","values","transformIn","_allItems","_keylessItems","_hasNullItem","_returnObject","hasValueComparator","valueComparator","returnValue","main","fastItems","transformOut","raw","useListItems","makeVListProps","VList","activeColor","baseColor","onMousedown","focusChild","makeVListItemActionProps","makeVListItemMediaProps","elementToViewport","point","anchorToPoint","anchor","box","side","align","getScrollParent","includeHidden","isPotentiallyScrollable","hasScrollbar","getScrollParents","stopAt","elements","hasVerticalScrollbar","hasHorizontalScrollbar","isFixedPosition","locationStrategies","staticLocationStrategy","connectedLocationStrategy","makeLocationStrategyProps","useLocationStrategies","contentStyles","updateLocation","onResize","onVisualResize","onVisualScroll","getIntrinsicSize","contentBox","preferredAnchor","preferredOrigin","destructComputed","parsedAnchor","parseAnchor","parsedOrigin","flipSide","flipAlign","flipCorner","minWidth","minHeight","maxWidth","maxHeight","offset2","observe","lastFrame","flipped","CircularBuffer","observer","newTime","newNewTime","newTarget","oldTarget","newContentEl","oldContentEl","scrollParents","viewportMargin","viewport","scrollBox","placement","checkOverflow","_placement","targetPoint","contentPoint","x2","y2","available","flipped2","resets","_x","_y","overflows","axis2","getAxis","hasOverflowX","hasOverflowY","newPlacement","flip","newOverflows","overflows2","axis","pixelRound","pixelCeil","clean","frames","requestNewFrame","run","raf","scrollStrategies","closeScrollStrategy","blockScrollStrategy","repositionScrollStrategy","makeScrollStrategyProps","useScrollStrategies","scope","effectScope","bindScroll","getTargetEl","offsetParent","scrollElements","scrollbarWidth","scrollableParent","scrollBehavior","slow","ric","update","start","contentEl","VMenuSymbol","makeDelayProps","useDelay","clearDelay","runDelay","isOpening","delay","defer","runOpenDelay","runCloseDelay","handlers","bindProps","k","isOn","eventName","handler","n","_handler","unbindProps","makeActivatorProps","useActivator","isTop","activatorEl","isHovered","firstEnter","openOnFocus","openOnClick","cursorTarget","availableEvents","activatorEvents","events","contentEvents","menu","scrimEvents","activatorRef","templateRef","targetRef","targetEl","_useActivator","oldVal","activator","getActivator","unbindActivatorProps","bindActivatorProps","selector","useHydration","ssr","isMounted","makeLazyProps","useLazy","active","hasContent","useScopeId","scopeId","StackSymbol","globalStack","reactive","useStack","zIndex","disableGlobalStack","createStackEntry","stack","_zIndex","lastZIndex","idx","globalTop","_isTop","localTop","useTeleport","targetElement","warn","attachedRoot","node","defaultConditional","checkEvent","binding","checkIsActive","directive","handleShadow","callback","ClickOutside","app","Scrim","makeVOverlayProps","VOverlay","scrimEl","_onAfterLeave","scrimColor","stackStyles","teleportTarget","target2","rootNode","onClickOutside","animateClick","closeConditional","onKeydownSelf","router","useRouter","useBackButton","scrollParent","onAfterEnter","Teleport","makeVMenuProps","VMenu","overlay","openChildren","isClickInsideElement","onFocusIn","onDeactivated","before","after","_e","getNextElement","onActivatorKeydown","overlayProps","args","makeVCounterProps","VCounter","counter","makeVFieldLabelProps","VFieldLabel","allowedVariants","makeVFieldProps","makeLoaderProps","VField","loaderClasses","useLoader","hasLabel","hasFloatingLabel","labelRef","floatingLabelRef","controlRef","isPlainOrUnderlined","targetRect","targetWidth","targetStyle","duration","scale","color2","isOutlined","hasClear","LoaderSlot","useAutofocus","onIntersect","isIntersecting","entries","activeTypes","makeVTextFieldProps","VTextField","Intersect","counterValue","vInputRef","vFieldRef","onControlMousedown","onControlClick","onClear","caretPosition","hasCounter","fieldProps","hasDetails2","fieldClass","cloneVNode","makeVVirtualScrollItemProps","VVirtualScrollItem","resizeRef","UP","DOWN","BUFFER_PX","makeVirtualProps","useVirtual","display","itemHeight","first","last","paddingTop","paddingBottom","markerRef","markerOffset","viewportHeight","hasInitialRender","sizes","offsets","updateTime","targetScrollIndex","getSize","index","updateOffsets","debounce","length","calculateVisibleItems","scrollToIndex","handleItemResize","prevHeight","prevMinHeight","calculateOffset","whole","fraction","wholeOffset","nextOffset","calculateIndex","binaryClosest","lastScrollTop","scrollVelocity","lastScrollTime","scrollTimeout","handleScroll","scrollTime","handleScrollend","_calculateVisibleItems","startPx","endPx","end","topOverflow","bottomOverflow","computedItems","_index","high","low","mid","makeVVirtualScrollProps","VVirtualScroll","handleListeners","add","method","useScrolling","listRef","textFieldRef","isScrolling","onListScroll","finishScrolling","stop","onListKeydown","bottom","makeSelectProps","makeVSelectProps","VSelect","ue","vTextFieldRef","vMenuRef","vVirtualScrollRef","transformed","selectedValues","selection","keyboardLookupPrefix","keyboardLookupIndex","keyboardLookupLastTime","displayItems","s","menuDisabled","_menu","computedMenuProps","listEvents","onMousedownControl","checkPrintable","KEYBOARD_LOOKUP_THRESHOLD","now","items2","findItem","result2","findItemBase","_item","onModelUpdate","item2","hasChips","hasList","textFieldProps","placeholder","itemRef","_c2","camelizedProps","camelizeProps","onChipClose","hasSlot","slotContent","ensureValidVNode","createTextVNode","defaultFilter","query","normaliseMatch","match","makeFilterProps","filterItems","filter","keys","customFiltersLength","loop","customMatches","defaultMatches","hasOnlyCustomFilters","filterKeys","keyFilter","defaultMatchesLength","customMatchesLength","useFilter","filteredItems","filteredMatches","transformedItems","_query","strQuery","originalItems","_filteredItems","_filteredMatches","matches","getMatches","highlightResult","text","makeVComboboxProps","listHasFocus","showAllItemsForNoMatch","selectionIndex","cleared","hasSelectionSlot","_search","search","signsToMatch","escapeForRegex","filteredItem","highlightFirst","onMousedownMenuIcon","isComposingIgnoreKey","selectionStart","originalSelectionIndex","onUpdateModelValue","_a4","noop","_ref2","_withDirectives","_vShow","_ref3","makeRReadModeRendererProps","rReadModeRendererEmits","propsAndEmitsFactory","getOxfordizedListParts","head","tail","RReadModeRenderer","useI18n","density","className","href","nullIsValue","undefinedIsValue","callRefreshChoices","toRefs","vListItemHeight","toUnreactive","grammarAndI18ned","rendered","parts","headEl","pushable","returnable","textified","getStringOrVNodeAsString","vListItemClasses","ret","vListItemBindings","stripUndefinedValuesFromObject","isNotEmpty","PREFERS_REDUCED_MOTION","_Fragment","makeVBottomSheetProps","makeVDialogProps","VBottomSheet","dialogProps","VDialog","VSelectionControlGroup","vRipple","makeAutocompleteProps","useAutocomplete","uniqueId","reloadTrigger","isSuppressing","fieldName","fieldAutocomplete","vIntersect","autocomplete","makeMenuActivatorProps","useMenuActivator","menuId","ariaExpanded","ariaControls","ariaLabel","_createTextVNode","_len","_key","lookAheadItem","makeVAutocompleteProps","VAutocomplete","_searchLock","searchLength","isSelecting","_ref4","makeVToolbarTitleProps","VToolbarTitle","allowedDensities","makeVToolbarProps","VToolbar","isExtended","contentHeight","extensionHeight","hasImage","extension","makeVToolbarItemsProps","VToolbarItems","isValidRMultipleFieldValue","isMouseEvent","makeRMultipleFieldProps","rMultipleFieldEmits","SvgIcon","mdiLeadPencil","RMultipleField","menuIcon","theme","variant","prefix","persistentPlaceholder","suffix","role","noValuesText","choices","allowUnspecifiedChoices","vComboboxHeight","vComboboxStyle","deepmerge","fakeMultipleRef","localState","setLocalState","getLocalState","recomputeLocalState","useLocalState","is","was","encode","vComboboxVModel","currentLocalState","decode","normalizedNoValuesText","doEmit","camel","kebab","getCamelAndMaybeKebabPropKeysFor","doEmitIfArgsDefined","vDialogMenuButtonRef","rootAndInputAttrs","vInputBindings","vFieldBindings","dialogOpen","dialogMenuButtonBindings","commonDialogBindings","dialogWindowBindings","dialogBottomSheetBindings","addableItem","isAddable","isEmpty","sortableBindings","doAddAddable","multiCard","singleVariantSlot","useSlot","choicesItemList","encoded","VCard","DevErrorAlert","menuActivatorProps","mdiListBoxOutline","mdiPlus","mdiClose","Sortable","sortableItemProps","remove","moveUp","moveDown","decoded","mdiDrag","mdiMenuUp","mdiMenuDown","mdiDelete","mdiInformation","slotId","vFieldMergedBindings","appendInnerSlot","makeCommonResourcefulFieldProps","onUpdateModelValueCamelProp","onUpdateModelValueKebabProp","multiple","modelValueRef","modelValueProp","localStateRef","computedLocalStateValue","getSettableValue","getLocalStateRefValue","current","setLocalStateRefValue","settable","triggerRef","recomputeLocalStateValue","toSet","debouncedEmit","boundOnChange","makeDevErrorAlertProps","useTheme","mdiBug","commonEmits","commonEmitsValidators"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114]}