@nhtio/lucid-resourceful-vue-components 1.20260107.0 → 1.20260108.0

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 (137) hide show
  1. package/{VChip-DWwcL8cL.mjs → VChip-DakTCdq2.mjs} +2 -2
  2. package/{VChip-DWwcL8cL.mjs.map → VChip-DakTCdq2.mjs.map} +1 -1
  3. package/{VDatePicker-C7_ULYfO.mjs → VDatePicker-DlZlcF2O.mjs} +4 -4
  4. package/{VDatePicker-C7_ULYfO.mjs.map → VDatePicker-DlZlcF2O.mjs.map} +1 -1
  5. package/{VDialog-BVRDhoD7.mjs → VDialog-BljV_Pfu.mjs} +3 -3
  6. package/{VDialog-BVRDhoD7.mjs.map → VDialog-BljV_Pfu.mjs.map} +1 -1
  7. package/{VEmptyState-C2B0Znk9.mjs → VEmptyState-BubXzExt.mjs} +2 -2
  8. package/{VEmptyState-C2B0Znk9.mjs.map → VEmptyState-BubXzExt.mjs.map} +1 -1
  9. package/{VHover-DnB1GlWG.mjs → VHover-DYt7f7-R.mjs} +3 -3
  10. package/{VHover-DnB1GlWG.mjs.map → VHover-DYt7f7-R.mjs.map} +1 -1
  11. package/{VListItem-DojRgtpe.mjs → VListItem-CHkJtaF9.mjs} +4 -4
  12. package/{VListItem-DojRgtpe.mjs.map → VListItem-CHkJtaF9.mjs.map} +1 -1
  13. package/{VMenu-D2biKkpd.mjs → VMenu-Xveh72QZ.mjs} +3 -3
  14. package/{VMenu-D2biKkpd.mjs.map → VMenu-Xveh72QZ.mjs.map} +1 -1
  15. package/{VPicker-dxKS1KK4.mjs → VPicker-D9TBI61U.mjs} +4 -4
  16. package/{VPicker-dxKS1KK4.mjs.map → VPicker-D9TBI61U.mjs.map} +1 -1
  17. package/{VRadioGroup-lC_c6Ath.mjs → VRadioGroup-CFazRh5q.mjs} +4 -4
  18. package/{VRadioGroup-lC_c6Ath.mjs.map → VRadioGroup-CFazRh5q.mjs.map} +1 -1
  19. package/{VRow-BBY2gEjT.mjs → VRow-Db84ydOG.mjs} +2 -2
  20. package/{VRow-BBY2gEjT.mjs.map → VRow-Db84ydOG.mjs.map} +1 -1
  21. package/{VSheet-B4SA9_dv.mjs → VSheet-CX-0tYk0.mjs} +2 -2
  22. package/{VSheet-B4SA9_dv.mjs.map → VSheet-CX-0tYk0.mjs.map} +1 -1
  23. package/{actions-CXhEUJp6.mjs → actions-CAGyXfrI.mjs} +12 -12
  24. package/{actions-CXhEUJp6.mjs.map → actions-CAGyXfrI.mjs.map} +1 -1
  25. package/{alert-B0j6GH3V.mjs → alert-D4Zq_X5a.mjs} +11 -11
  26. package/{alert-B0j6GH3V.mjs.map → alert-D4Zq_X5a.mjs.map} +1 -1
  27. package/{bigint-DXS_rVbG.mjs → bigint-MqcXh7nS.mjs} +7 -7
  28. package/{bigint-DXS_rVbG.mjs.map → bigint-MqcXh7nS.mjs.map} +1 -1
  29. package/{boolean-BTu-4Ihs.mjs → boolean-h31TIpoH.mjs} +10 -10
  30. package/{boolean-BTu-4Ihs.mjs.map → boolean-h31TIpoH.mjs.map} +1 -1
  31. package/{clipboard-C6YTX8YB.mjs → clipboard-jPiC4eq0.mjs} +7 -7
  32. package/{clipboard-C6YTX8YB.mjs.map → clipboard-jPiC4eq0.mjs.map} +1 -1
  33. package/{common-a_cd4SQg.mjs → common-CRFL2oQX.mjs} +1362 -1362
  34. package/common-CRFL2oQX.mjs.map +1 -0
  35. package/components/autorefresh_controller.mjs +1 -1
  36. package/components/control_button.mjs +1 -1
  37. package/components/control_button_bar.mjs +2 -2
  38. package/components/control_menu.mjs +1 -1
  39. package/components/custom_field.mjs +1 -1
  40. package/components/exporter.mjs +1 -1
  41. package/components/fields/bigint.mjs +1 -1
  42. package/components/fields/boolean.mjs +1 -1
  43. package/components/fields/date.mjs +1 -1
  44. package/components/fields/date_time.mjs +1 -1
  45. package/components/fields/enum.mjs +1 -1
  46. package/components/fields/integer.mjs +1 -1
  47. package/components/fields/number.mjs +1 -1
  48. package/components/fields/string.mjs +1 -1
  49. package/components/fields/unsigned_integer.mjs +1 -1
  50. package/components/fields.mjs +9 -9
  51. package/components/form_with_validation.mjs +1 -1
  52. package/components/resourceful_alerter.mjs +1 -1
  53. package/components/resourceful_index.mjs +1 -1
  54. package/components/resourceful_record.mjs +2 -2
  55. package/components/resourceful_record_default_form.mjs +1 -1
  56. package/components/resourceful_record_form.mjs +1 -1
  57. package/components/sortable.mjs +1 -1
  58. package/components/svg_icon.mjs +1 -1
  59. package/components/timezone_picker.mjs +1 -1
  60. package/components.mjs +23 -23
  61. package/composables.mjs +11 -11
  62. package/{custom-CgyU3A_B.mjs → custom-Dj2ib6qT.mjs} +7 -7
  63. package/{custom-CgyU3A_B.mjs.map → custom-Dj2ib6qT.mjs.map} +1 -1
  64. package/{date-B8edF8kU.mjs → date-fxb-e0m9.mjs} +10 -10
  65. package/{date-B8edF8kU.mjs.map → date-fxb-e0m9.mjs.map} +1 -1
  66. package/{date_time-BNsYnH-e.mjs → date_time-n4zJtaSr.mjs} +18 -18
  67. package/{date_time-BNsYnH-e.mjs.map → date_time-n4zJtaSr.mjs.map} +1 -1
  68. package/{display-CHspVOz6.mjs → display-DNgEbAdH.mjs} +38 -38
  69. package/{display-CHspVOz6.mjs.map → display-DNgEbAdH.mjs.map} +1 -1
  70. package/{display-pfXaBUr6.mjs → display-DxJktZAm.mjs} +4 -4
  71. package/{display-pfXaBUr6.mjs.map → display-DxJktZAm.mjs.map} +1 -1
  72. package/{enum-DoxJn16e.mjs → enum-CjkTx4L6.mjs} +9 -9
  73. package/{enum-DoxJn16e.mjs.map → enum-CjkTx4L6.mjs.map} +1 -1
  74. package/{exceptions-BeFuVcrH.mjs → exceptions-lwCt3BKI.mjs} +2 -2
  75. package/{exceptions-BeFuVcrH.mjs.map → exceptions-lwCt3BKI.mjs.map} +1 -1
  76. package/exceptions.mjs +2 -2
  77. package/factories.mjs +2 -2
  78. package/{field_composer-CPqM1aSV.mjs → field_composer-B_4w9YL9.mjs} +3 -3
  79. package/{field_composer-CPqM1aSV.mjs.map → field_composer-B_4w9YL9.mjs.map} +1 -1
  80. package/{form-BkQlevYR.mjs → form-B7uOzLn2.mjs} +15 -15
  81. package/{form-BkQlevYR.mjs.map → form-B7uOzLn2.mjs.map} +1 -1
  82. package/{guards-D0G8CU2m.mjs → guards-BI3Zu4tN.mjs} +2 -2
  83. package/{guards-D0G8CU2m.mjs.map → guards-BI3Zu4tN.mjs.map} +1 -1
  84. package/guards.mjs +4 -4
  85. package/helpers.mjs +12 -12
  86. package/{http-ChBUYgv8.mjs → http-B7MNWS03.mjs} +2 -2
  87. package/{http-ChBUYgv8.mjs.map → http-B7MNWS03.mjs.map} +1 -1
  88. package/{http-C15bx-Gn.mjs → http-C2_4xIMQ.mjs} +9 -6
  89. package/{http-C15bx-Gn.mjs.map → http-C2_4xIMQ.mjs.map} +1 -1
  90. package/http.mjs +1 -1
  91. package/{index-DHoLuRuJ.mjs → index-3roRSYqk.mjs} +6 -6
  92. package/{index-DHoLuRuJ.mjs.map → index-3roRSYqk.mjs.map} +1 -1
  93. package/{index-CvhhGjZn.mjs → index-B-PEjqXn.mjs} +3 -3
  94. package/{index-CvhhGjZn.mjs.map → index-B-PEjqXn.mjs.map} +1 -1
  95. package/{index-CdaTAyzs.mjs → index-BC-vhUQX.mjs} +15 -15
  96. package/{index-CdaTAyzs.mjs.map → index-BC-vhUQX.mjs.map} +1 -1
  97. package/{index-CduefDwU.mjs → index-BJmmZly3.mjs} +3 -3
  98. package/{index-CduefDwU.mjs.map → index-BJmmZly3.mjs.map} +1 -1
  99. package/{index-DLzoBhUb.mjs → index-BawSct2l.mjs} +4 -4
  100. package/{index-DLzoBhUb.mjs.map → index-BawSct2l.mjs.map} +1 -1
  101. package/{index-Cb3Fmo7E.mjs → index-DDsxXe9z.mjs} +43 -43
  102. package/{index-Cb3Fmo7E.mjs.map → index-DDsxXe9z.mjs.map} +1 -1
  103. package/{index-BcDX9w4T.mjs → index-DLXKobUt.mjs} +8 -8
  104. package/{index-BcDX9w4T.mjs.map → index-DLXKobUt.mjs.map} +1 -1
  105. package/{index-CHELe70a.mjs → index-DWI2DYc2.mjs} +8 -8
  106. package/{index-CHELe70a.mjs.map → index-DWI2DYc2.mjs.map} +1 -1
  107. package/{index-De0W4KPF.mjs → index-Dh9Wblnw.mjs} +8 -8
  108. package/{index-De0W4KPF.mjs.map → index-Dh9Wblnw.mjs.map} +1 -1
  109. package/index.mjs +37 -37
  110. package/{integer-BWdmDp7S.mjs → integer-BYichJsH.mjs} +3 -3
  111. package/{integer-BWdmDp7S.mjs.map → integer-BYichJsH.mjs.map} +1 -1
  112. package/{ioc-Q-KAX6x1.mjs → ioc-DOAKMPdw.mjs} +2 -2
  113. package/{ioc-Q-KAX6x1.mjs.map → ioc-DOAKMPdw.mjs.map} +1 -1
  114. package/ioc.mjs +1 -1
  115. package/lucid-resourceful-vue-components.css +828 -828
  116. package/{mdi-jw9Ee7p6.mjs → mdi-VGx06N8O.mjs} +9 -9
  117. package/{mdi-jw9Ee7p6.mjs.map → mdi-VGx06N8O.mjs.map} +1 -1
  118. package/{number-Chf-qQs7.mjs → number-B5AryNzI.mjs} +8 -8
  119. package/{number-Chf-qQs7.mjs.map → number-B5AryNzI.mjs.map} +1 -1
  120. package/package.json +5 -5
  121. package/{props-eYGYq1uo.mjs → props-BZryUy0q.mjs} +4 -4
  122. package/{props-eYGYq1uo.mjs.map → props-BZryUy0q.mjs.map} +1 -1
  123. package/{props-fFnbtBgH.mjs → props-Dcuv5Iv7.mjs} +4 -4
  124. package/{props-fFnbtBgH.mjs.map → props-Dcuv5Iv7.mjs.map} +1 -1
  125. package/{renderers-DLsO8zG-.mjs → renderers-C7XOwFHb.mjs} +14 -14
  126. package/{renderers-DLsO8zG-.mjs.map → renderers-C7XOwFHb.mjs.map} +1 -1
  127. package/{string-D-UsgMTx.mjs → string-CJvxnWzd.mjs} +13 -13
  128. package/{string-D-UsgMTx.mjs.map → string-CJvxnWzd.mjs.map} +1 -1
  129. package/{unsigned_integer-7R2vw_Qn.mjs → unsigned_integer-CRQsMWxW.mjs} +4 -4
  130. package/{unsigned_integer-7R2vw_Qn.mjs.map → unsigned_integer-CRQsMWxW.mjs.map} +1 -1
  131. package/{utils-DehfJ8pT.mjs → utils-BBXjywEs.mjs} +2 -2
  132. package/{utils-DehfJ8pT.mjs.map → utils-BBXjywEs.mjs.map} +1 -1
  133. package/{validation-41gHTtyY.mjs → validation-NVIikb_s.mjs} +5 -5
  134. package/{validation-41gHTtyY.mjs.map → validation-NVIikb_s.mjs.map} +1 -1
  135. package/{vendor-nhtio-vuetifiable-CS-KbH1h.mjs → vendor-nhtio-vuetifiable-CTlDfYMJ.mjs} +7 -7
  136. package/{vendor-nhtio-vuetifiable-CS-KbH1h.mjs.map → vendor-nhtio-vuetifiable-CTlDfYMJ.mjs.map} +1 -1
  137. package/common-a_cd4SQg.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"common-a_cd4SQg.mjs","sources":["../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VLabel/VLabel.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/composables/ssrBoot.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VList/VListGroup.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VList/VListSubheader.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VDivider/VDivider.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VList/VListChildren.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/composables/list-items.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VList/VList.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VSelectionControlGroup/VSelectionControlGroup.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VSelectionControl/VSelectionControl.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VCheckbox/VCheckboxBtn.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VInput/InputIcon.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VMessages/VMessages.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/composables/focus.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/composables/form.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/labs/rules/rules.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/composables/validation.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VInput/VInput.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VCounter/VCounter.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VField/VFieldLabel.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VField/VField.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/composables/autocomplete.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/composables/autofocus.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VTextField/VTextField.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VVirtualScroll/VVirtualScrollItem.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/composables/virtual.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VVirtualScroll/VVirtualScroll.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VSelect/useScrolling.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/composables/menuActivator.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VSelect/VSelect.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VToolbar/VToolbarTitle.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VToolbar/VToolbar.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VToolbar/VToolbarItems.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/composables/filter.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VAutocomplete/VAutocomplete.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VAlert/VAlertTitle.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/composables/iconSizes.js","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VAlert/VAlert.js","../src/private/fields/read_mode_renderer.ts","../node_modules/.pnpm/vuetify@3.11.6_typescript@5.9.3_vue@3.5.26_typescript@5.9.3_/node_modules/vuetify/lib/components/VBottomSheet/VBottomSheet.js","../src/private/fields/multiple.ts","../src/private/fields/common.ts"],"sourcesContent":["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","// 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, VNestedSymbol } 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, inject, toRef } 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 const parent = inject(VNestedSymbol);\n const renderWhenClosed = toRef(() => parent?.root?.itemsRegistration.value === 'render');\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: () => [renderWhenClosed.value ? _withDirectives(_createElementVNode(\"div\", {\n \"class\": \"v-list-group__items\",\n \"role\": \"group\",\n \"aria-labelledby\": id.value\n }, [slots.default?.()]), [[_vShow, isOpen.value]]) : isOpen.value && _createElementVNode(\"div\", {\n \"class\": \"v-list-group__items\",\n \"role\": \"group\",\n \"aria-labelledby\": id.value\n }, [slots.default?.()])]\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, toRef } from 'vue';\nimport { convertToUnit, genericComponent, propsFactory, useRender } from \"../../util/index.js\"; // Types\nconst allowedVariants = ['dotted', 'dashed', 'solid', 'double'];\nexport const makeVDividerProps = propsFactory({\n color: String,\n contentOffset: [Number, String, Array],\n gradient: Boolean,\n inset: Boolean,\n length: [Number, String],\n opacity: [Number, String],\n thickness: [Number, String],\n vertical: Boolean,\n variant: {\n type: String,\n default: 'solid',\n validator: v => allowedVariants.includes(v)\n },\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 const contentStyles = toRef(() => {\n const margin = Array.isArray(props.contentOffset) ? props.contentOffset[0] : props.contentOffset;\n const shift = Array.isArray(props.contentOffset) ? props.contentOffset[1] : 0;\n return {\n marginBlock: props.vertical && margin ? convertToUnit(margin) : undefined,\n marginInline: !props.vertical && margin ? convertToUnit(margin) : undefined,\n transform: shift ? `translate${props.vertical ? 'X' : 'Y'}(${convertToUnit(shift)})` : undefined\n };\n });\n useRender(() => {\n const divider = _createElementVNode(\"hr\", {\n \"class\": _normalizeClass([{\n 'v-divider': true,\n 'v-divider--gradient': props.gradient && !slots.default,\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 }, {\n 'border-style': props.variant\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--gradient': props.gradient,\n 'v-divider__wrapper--inset': props.inset,\n 'v-divider__wrapper--vertical': props.vertical\n }])\n }, [divider, _createElementVNode(\"div\", {\n \"class\": \"v-divider__content\",\n \"style\": _normalizeStyle(contentStyles.value)\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 { convertToUnit, 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 prependGap: [Number, String],\n indent: [Number, String],\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, items, () => props.returnObject);\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 const indent = props.indent ?? (props.prependGap ? Number(props.prependGap) + 24 : undefined);\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([{\n '--v-list-indent': convertToUnit(indent),\n '--v-list-group-prepend': indent ? '0px' : undefined,\n '--v-list-prepend-gap': convertToUnit(props.prependGap)\n }, 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","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 { 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 ? 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 }, [slots.append ? slots.append(slotProps.value) : props.appendIcon && _createVNode(InputIcon, {\n \"key\": \"append-icon\",\n \"name\": \"append\",\n \"color\": iconColor.value\n }, null)]), 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 { 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","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 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 details: Boolean,\n labelId: 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 iconColor,\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 }, [slots['prepend-inner'] ? slots['prepend-inner'](slotProps.value) : props.prependInnerIcon && _createVNode(InputIcon, {\n \"key\": \"prepend-icon\",\n \"name\": \"prependInner\",\n \"color\": iconColor.value\n }, null)]), _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 \"id\": props.labelId,\n \"for\": id.value,\n \"aria-hidden\": hasFloatingLabel.value && isActive.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'] ? 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","// 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 if (!props.name) return undefined;\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 const el = entries[0].target;\n const target = el.matches('input,textarea') ? el : el.querySelector('input,textarea');\n target?.focus();\n }\n return {\n onIntersect\n };\n}\n//# sourceMappingURL=autofocus.js.map","import { mergeProps as _mergeProps, createElementVNode as _createElementVNode, 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, withDirectives } 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 if (!(props.modelModifiers?.trim && ['text', 'search', 'password', 'tel', 'url'].includes(props.type))) {\n model.value = el.value;\n return;\n }\n const value = el.value;\n const start = el.selectionStart;\n const end = el.selectionEnd;\n model.value = value;\n nextTick(() => {\n let offset = 0;\n if (value.trimStart().length === el.value.length) {\n // #22307 - Whitespace has been removed from the\n // start, offset the caret position to compensate\n offset = value.length - el.value.length;\n }\n if (start != null) el.selectionStart = start - offset;\n if (end != null) el.selectionEnd = end - offset;\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 \"labelId\": `${id.value}-label`,\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 = _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 \"aria-labelledby\": `${id.value}-label`\n }, slotProps, inputAttrs), null);\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])]), withDirectives(slots.default ? _createElementVNode(\"div\", {\n \"class\": _normalizeClass(fieldClass),\n \"data-no-activator\": \"\"\n }, [slots.default({\n id\n }), inputNode]) : cloneVNode(inputNode, {\n class: fieldClass\n }), [[vIntersect, onIntersect, null, {\n once: true\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 calculateVisibleItems();\n if (val < oldVal) {\n requestAnimationFrame(() => {\n scrollVelocity = 0;\n calculateVisibleItems();\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\n// 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 uid = useId();\n const menuId = computed(() => `menu-${uid}`);\n const ariaExpanded = toRef(() => toValue(isOpen));\n const ariaControls = toRef(() => menuId.value);\n return {\n menuId,\n ariaExpanded,\n ariaControls\n };\n}\n//# sourceMappingURL=menuActivator.js.map","import { Fragment as _Fragment, createElementVNode as _createElementVNode, createVNode as _createVNode, mergeProps as _mergeProps, 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 { useInputIcon } from \"../VInput/InputIcon.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 { useAutocomplete } from \"../../composables/autocomplete.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, toRef, 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']),\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 autocomplete = useAutocomplete(props);\n const selectedValues = computed(() => model.value.map(selection => selection.value));\n const isFocused = shallowRef(false);\n const closableChips = toRef(() => props.closableChips && !form.isReadonly.value && !form.isDisabled.value);\n const {\n InputIcon\n } = useInputIcon(props);\n let keyboardLookupPrefix = '';\n let keyboardLookupIndex = 0;\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 } = 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 (props.clearable && e.key === 'Backspace') {\n e.preventDefault();\n model.value = [];\n onClear(e);\n return;\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 = 0;\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 keyboardLookupIndex++;\n result = findItemBase();\n if (result) return result;\n }\n\n // Still nothing, wrap around to the top\n keyboardLookupIndex = 0;\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; 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.title).join(', '),\n \"name\": undefined,\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 }), {\n ...slots,\n default: _ref2 => {\n let {\n id\n } = _ref2;\n return _createElementVNode(_Fragment, null, [_createElementVNode(\"select\", {\n \"hidden\": true,\n \"multiple\": props.multiple,\n \"name\": autocomplete.fieldName.value\n }, [items.value.map(item => _createElementVNode(\"option\", {\n \"key\": item.value,\n \"value\": item.value,\n \"selected\": selectedValues.value.includes(item.value)\n }, 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-labelledby\": `${id.value}-label`,\n \"aria-multiselectable\": props.multiple,\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 camelizedProps = camelizeProps(item.props);\n const itemProps = mergeProps(item.props, {\n ref: itemRef,\n key: item.value,\n onClick: () => select(item, null),\n 'aria-posinset': index + 1,\n 'aria-setsize': displayItems.value.length\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 \"aria-hidden\": true,\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 = mergeProps(VChip.filterProps(item.props), {\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\": closableChips.value,\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: closableChips.value,\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 },\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 \"aria-hidden\": true\n }, null) : undefined, props.appendInnerIcon && _createVNode(InputIcon, {\n \"key\": \"append-icon\",\n \"name\": \"appendInner\",\n \"color\": args[0].iconColor.value\n }, null)]);\n }\n });\n });\n return forwardRefs({\n isFocused,\n menu,\n select\n }, vTextFieldRef);\n }\n});\n//# sourceMappingURL=VSelect.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 collapsePosition: {\n type: String,\n default: 'start'\n },\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', `v-toolbar--collapse-${props.collapsePosition}`, {\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","/* 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 { useInputIcon } from \"../VInput/InputIcon.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, toRef, 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'])\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 {\n InputIcon\n } = useInputIcon(props);\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 closableChips = toRef(() => props.closableChips && !form.isReadonly.value && !form.isDisabled.value);\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 firstSelectableItem = computed(() => displayItems.value.find(x => x.type === 'item' && !x.props.disabled));\n const highlightFirst = computed(() => {\n const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === 'exact' && search.value === firstSelectableItem.value?.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 } = 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 // eslint-disable-next-line complexity\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) && firstSelectableItem.value && !model.value.some(_ref2 => {\n let {\n value\n } = _ref2;\n return value === firstSelectableItem.value.value;\n })) {\n select(firstSelectableItem.value);\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: _ref3 => {\n let {\n id\n } = _ref3;\n return _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 \"aria-labelledby\": `${id.value}-label`,\n \"aria-multiselectable\": props.multiple,\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: _ref4 => {\n let {\n item,\n index,\n itemRef\n } = _ref4;\n const itemProps = mergeProps(item.props, {\n ref: itemRef,\n key: item.value,\n active: highlightFirst.value && item === firstSelectableItem.value ? true : undefined,\n onClick: () => select(item, null),\n 'aria-posinset': index + 1,\n 'aria-setsize': displayItems.value.length\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: _ref5 => {\n let {\n isSelected\n } = _ref5;\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 \"aria-hidden\": true,\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 = mergeProps(VChip.filterProps(item.props), {\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\": closableChips.value,\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: closableChips.value,\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 },\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-hidden\": true,\n \"tabindex\": \"-1\"\n }, null) : undefined, props.appendInnerIcon && _createVNode(InputIcon, {\n \"key\": \"append-icon\",\n \"name\": \"appendInner\",\n \"color\": args[0].iconColor.value\n }, null)]);\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","// 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","/*\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// 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","/*\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 { encode, decode } from '@nhtio/encoder'\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 { 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 ...commonDialogBindings.value,\n maxWidth: 500,\n maxHeight: 600,\n }))\n const dialogBottomSheetBindings = computed<VBottomSheetPublicProps>(\n () => commonDialogBindings.value\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 { encode } from '@nhtio/encoder'\nimport { deepmerge } from 'deepmerge-ts'\nimport { VAlert } from 'vuetify/components/VAlert'\nimport { pick } from '@nhtio/vuetifiable/util/helpers'\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":["_createElementVNode","_normalizeClass","_normalizeStyle","_createVNode","_withDirectives","_vShow","allowedVariants","_mergeProps","itemTypes","transformItem","transformItems","value","vRipple","_Fragment","color","vIntersect","hasDetails","items","result","item","_createTextVNode","pick","defineComponent","useDisplay","convertToUnit","useFocus","filterInputAttrs","useRender","forwardRefs","propsFactory","makeVInputProps","makeVFieldProps","debounce"],"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,39]}