@nhtio/lucid-resourceful-vue-components 0.1.0-master-ebe57eab → 0.1.0-master-fd238c08
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.
- package/{VChip-1IMgN2NW.mjs → VChip-BslsWQfv.mjs} +2 -2
- package/{VChip-1IMgN2NW.mjs.map → VChip-BslsWQfv.mjs.map} +1 -1
- package/{VDatePicker-D3Y6VAGq.mjs → VDatePicker-QkOhEsiJ.mjs} +4 -4
- package/{VDatePicker-D3Y6VAGq.mjs.map → VDatePicker-QkOhEsiJ.mjs.map} +1 -1
- package/{VDialog-uKUuB6Ni.mjs → VDialog-CYWIsqyU.mjs} +3 -3
- package/{VDialog-uKUuB6Ni.mjs.map → VDialog-CYWIsqyU.mjs.map} +1 -1
- package/{VEmptyState-B5x_wEth.mjs → VEmptyState-DSkV3rdW.mjs} +2 -2
- package/{VEmptyState-B5x_wEth.mjs.map → VEmptyState-DSkV3rdW.mjs.map} +1 -1
- package/{VHover-DaqmIqJM.mjs → VHover-B2PK8R1R.mjs} +3 -3
- package/{VHover-DaqmIqJM.mjs.map → VHover-B2PK8R1R.mjs.map} +1 -1
- package/{VListItem-TG9oZPkm.mjs → VListItem-B2LElOLe.mjs} +3 -3
- package/{VListItem-TG9oZPkm.mjs.map → VListItem-B2LElOLe.mjs.map} +1 -1
- package/{VMenu-DbIG2Qhi.mjs → VMenu-CahiNXXZ.mjs} +3 -3
- package/{VMenu-DbIG2Qhi.mjs.map → VMenu-CahiNXXZ.mjs.map} +1 -1
- package/{VPicker-kVsex0W4.mjs → VPicker-DC_wz1Zr.mjs} +4 -4
- package/{VPicker-kVsex0W4.mjs.map → VPicker-DC_wz1Zr.mjs.map} +1 -1
- package/{VRadioGroup-DrU5JyGR.mjs → VRadioGroup-DMKik9Cu.mjs} +4 -4
- package/{VRadioGroup-DrU5JyGR.mjs.map → VRadioGroup-DMKik9Cu.mjs.map} +1 -1
- package/{VRow-cmYZqXOu.mjs → VRow-7oNLItQM.mjs} +2 -2
- package/{VRow-cmYZqXOu.mjs.map → VRow-7oNLItQM.mjs.map} +1 -1
- package/{VSheet-D_4R07YK.mjs → VSheet-DqbTSvsm.mjs} +2 -2
- package/{VSheet-D_4R07YK.mjs.map → VSheet-DqbTSvsm.mjs.map} +1 -1
- package/{actions-eZjKpI2f.mjs → actions-nnJGlDWx.mjs} +12 -12
- package/{actions-eZjKpI2f.mjs.map → actions-nnJGlDWx.mjs.map} +1 -1
- package/{alert-X_y7N0k5.mjs → alert-BXbhLNkg.mjs} +11 -11
- package/{alert-X_y7N0k5.mjs.map → alert-BXbhLNkg.mjs.map} +1 -1
- package/{bigint-BMjZO-KA.mjs → bigint-S8oJ2u2Y.mjs} +7 -7
- package/{bigint-BMjZO-KA.mjs.map → bigint-S8oJ2u2Y.mjs.map} +1 -1
- package/{boolean-BxVw3woA.mjs → boolean-BoaSL5pb.mjs} +10 -10
- package/{boolean-BxVw3woA.mjs.map → boolean-BoaSL5pb.mjs.map} +1 -1
- package/{clipboard-DRlt84JQ.mjs → clipboard-B4T3iSwL.mjs} +7 -7
- package/{clipboard-DRlt84JQ.mjs.map → clipboard-B4T3iSwL.mjs.map} +1 -1
- package/{common-Pv2k5d5L.mjs → common-crxptQS0.mjs} +15 -15
- package/{common-Pv2k5d5L.mjs.map → common-crxptQS0.mjs.map} +1 -1
- package/components/autorefresh_controller.mjs +1 -1
- package/components/control_button.mjs +1 -1
- package/components/control_button_bar.mjs +2 -2
- package/components/control_menu.mjs +1 -1
- package/components/custom_field.mjs +1 -1
- package/components/exporter.mjs +1 -1
- package/components/fields/bigint.mjs +1 -1
- package/components/fields/boolean.mjs +1 -1
- package/components/fields/date.mjs +1 -1
- package/components/fields/date_time.mjs +1 -1
- package/components/fields/enum.mjs +1 -1
- package/components/fields/integer.mjs +1 -1
- package/components/fields/number.mjs +1 -1
- package/components/fields/string.mjs +1 -1
- package/components/fields/unsigned_integer.mjs +1 -1
- package/components/fields.mjs +9 -9
- package/components/form_with_validation.mjs +1 -1
- package/components/resourceful_alerter.mjs +1 -1
- package/components/resourceful_index.mjs +1 -1
- package/components/resourceful_record.mjs +2 -2
- package/components/resourceful_record_default_form.mjs +1 -1
- package/components/resourceful_record_form.mjs +1 -1
- package/components/sortable.mjs +1 -1
- package/components/svg_icon.mjs +1 -1
- package/components/timezone_picker.mjs +1 -1
- package/components.mjs +23 -23
- package/composables.mjs +11 -11
- package/{custom-CorsNQ6V.mjs → custom-1zSxQhfh.mjs} +7 -7
- package/{custom-CorsNQ6V.mjs.map → custom-1zSxQhfh.mjs.map} +1 -1
- package/{date-CUv4AD1k.mjs → date-BaVQ-B5p.mjs} +10 -10
- package/{date-CUv4AD1k.mjs.map → date-BaVQ-B5p.mjs.map} +1 -1
- package/{date_time-DUPA8gK_.mjs → date_time-C2eWcsmU.mjs} +18 -18
- package/{date_time-DUPA8gK_.mjs.map → date_time-C2eWcsmU.mjs.map} +1 -1
- package/{display-DtPqxGxo.mjs → display-2uHLu-iA.mjs} +4 -4
- package/{display-DtPqxGxo.mjs.map → display-2uHLu-iA.mjs.map} +1 -1
- package/{display-CdPzCNpa.mjs → display-D19CpJw_.mjs} +3 -3
- package/{display-CdPzCNpa.mjs.map → display-D19CpJw_.mjs.map} +1 -1
- package/{enum-B2yaUE-A.mjs → enum-BshWH7_8.mjs} +9 -9
- package/{enum-B2yaUE-A.mjs.map → enum-BshWH7_8.mjs.map} +1 -1
- package/{exceptions-BYmapqhE.mjs → exceptions-K8eRFe_u.mjs} +2 -2
- package/{exceptions-BYmapqhE.mjs.map → exceptions-K8eRFe_u.mjs.map} +1 -1
- package/exceptions.mjs +2 -2
- package/factories.d.ts +1 -0
- package/factories.mjs +4 -2
- package/{field_composer-CUv8W3Tg.mjs → field_composer-BZoOWQ1U.mjs} +3 -3
- package/{field_composer-CUv8W3Tg.mjs.map → field_composer-BZoOWQ1U.mjs.map} +1 -1
- package/{form-zBaGUnUi.mjs → form-JY-hIKBm.mjs} +15 -16
- package/form-JY-hIKBm.mjs.map +1 -0
- package/{guards-DaiwJBYO.mjs → guards-DZPvWy_4.mjs} +3 -3
- package/guards-DZPvWy_4.mjs.map +1 -0
- package/guards.mjs +4 -4
- package/helpers.mjs +9 -9
- package/{http-Cxynx5pW.mjs → http-BbIZXN2x.mjs} +2 -2
- package/{http-Cxynx5pW.mjs.map → http-BbIZXN2x.mjs.map} +1 -1
- package/{http-BCXJjieC.mjs → http-pGFfofl9.mjs} +6 -3
- package/http-pGFfofl9.mjs.map +1 -0
- package/http.mjs +1 -1
- package/{index-BobM-vEI.mjs → index-BitVUrFg.mjs} +3 -3
- package/{index-BobM-vEI.mjs.map → index-BitVUrFg.mjs.map} +1 -1
- package/{index-BSGSQUvi.mjs → index-C7w5RPS8.mjs} +6 -6
- package/{index-BSGSQUvi.mjs.map → index-C7w5RPS8.mjs.map} +1 -1
- package/{index-1tiFk-z8.mjs → index-CZJ2FcjP.mjs} +2 -2
- package/{index-1tiFk-z8.mjs.map → index-CZJ2FcjP.mjs.map} +1 -1
- package/{index-Cp6PZ6jr.mjs → index-DHeWMCWw.mjs} +8 -8
- package/{index-Cp6PZ6jr.mjs.map → index-DHeWMCWw.mjs.map} +1 -1
- package/{index-Bux_9EQY.mjs → index-DiBGKnUB.mjs} +8 -8
- package/{index-Bux_9EQY.mjs.map → index-DiBGKnUB.mjs.map} +1 -1
- package/{index-CV-VR5ZN.mjs → index-Dl9jfPgI.mjs} +43 -43
- package/{index-CV-VR5ZN.mjs.map → index-Dl9jfPgI.mjs.map} +1 -1
- package/{index-otVKzohl.mjs → index-Dy1kohCE.mjs} +28 -19
- package/index-Dy1kohCE.mjs.map +1 -0
- package/{index-DGYeadWj.mjs → index-JGVXuda6.mjs} +4 -4
- package/{index-DGYeadWj.mjs.map → index-JGVXuda6.mjs.map} +1 -1
- package/{index-CfWOKNEo.mjs → index-dcZGsFwf.mjs} +3 -3
- package/{index-CfWOKNEo.mjs.map → index-dcZGsFwf.mjs.map} +1 -1
- package/{index-CzhpetTi.mjs → index-lUBFKgIk.mjs} +8 -8
- package/{index-CzhpetTi.mjs.map → index-lUBFKgIk.mjs.map} +1 -1
- package/index.mjs +40 -38
- package/{integer-BWKYSF5I.mjs → integer-DGV22mIh.mjs} +3 -3
- package/{integer-BWKYSF5I.mjs.map → integer-DGV22mIh.mjs.map} +1 -1
- package/{ioc-BRFP3w6U.mjs → ioc-CbjgKkoq.mjs} +2 -2
- package/{ioc-BRFP3w6U.mjs.map → ioc-CbjgKkoq.mjs.map} +1 -1
- package/ioc.mjs +1 -1
- package/{mdi-B06yTfXf.mjs → mdi-Kxmy15-q.mjs} +2 -2
- package/{mdi-B06yTfXf.mjs.map → mdi-Kxmy15-q.mjs.map} +1 -1
- package/{number-CV-ilUSy.mjs → number-ChyJi9k7.mjs} +8 -8
- package/{number-CV-ilUSy.mjs.map → number-ChyJi9k7.mjs.map} +1 -1
- package/package.json +38 -38
- package/private/resourceful-record/index.d.ts +9 -0
- package/private/resourceful-record/props.d.ts +4 -0
- package/private/services/browser.d.ts +2 -0
- package/{props-CWgQDMLq.mjs → props-B2HHemO2.mjs} +4 -4
- package/{props-CWgQDMLq.mjs.map → props-B2HHemO2.mjs.map} +1 -1
- package/{props-BBBc7J1q.mjs → props-BPO1G4n5.mjs} +4 -4
- package/{props-BBBc7J1q.mjs.map → props-BPO1G4n5.mjs.map} +1 -1
- package/{renderers-BD7CrBqo.mjs → renderers-Dowye4Bl.mjs} +14 -14
- package/{renderers-BD7CrBqo.mjs.map → renderers-Dowye4Bl.mjs.map} +1 -1
- package/{string-CcynWgei.mjs → string-DOIj21u5.mjs} +13 -13
- package/{string-CcynWgei.mjs.map → string-DOIj21u5.mjs.map} +1 -1
- package/{unsigned_integer-D0FzKzNU.mjs → unsigned_integer-cQWXKTHG.mjs} +4 -4
- package/{unsigned_integer-D0FzKzNU.mjs.map → unsigned_integer-cQWXKTHG.mjs.map} +1 -1
- package/{utils-C_uOac-v.mjs → utils-Dh8-g-7s.mjs} +2 -2
- package/{utils-C_uOac-v.mjs.map → utils-Dh8-g-7s.mjs.map} +1 -1
- package/{validation-D1FwcMNA.mjs → validation-DBLJZW1_.mjs} +6 -6
- package/{validation-D1FwcMNA.mjs.map → validation-DBLJZW1_.mjs.map} +1 -1
- package/{vendor-nhtio-vuetifiable-Qm2uuc7r.mjs → vendor-nhtio-vuetifiable-CRAkpWr4.mjs} +7 -7
- package/{vendor-nhtio-vuetifiable-Qm2uuc7r.mjs.map → vendor-nhtio-vuetifiable-CRAkpWr4.mjs.map} +1 -1
- package/{vendor-xlsx-BeYuj8cp.mjs → vendor-xlsx-B1NmWxyx.mjs} +2 -2
- package/{vendor-xlsx-BeYuj8cp.mjs.map → vendor-xlsx-B1NmWxyx.mjs.map} +1 -1
- package/form-zBaGUnUi.mjs.map +0 -1
- package/guards-DaiwJBYO.mjs.map +0 -1
- package/http-BCXJjieC.mjs.map +0 -1
- package/index-otVKzohl.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display-CdPzCNpa.mjs","sources":["../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/propsFactory.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/component.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/console.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/globals.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/helpers.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/anchor.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/color/APCA.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/color/transformSRGB.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/colorUtils.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/getCurrentInstance.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/injectSelf.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/defaults.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/defineComponent.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/deepEqual.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/easing.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/useRender.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/dimensions.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VResponsive/VResponsive.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/color.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/rounded.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/transition.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/directives/intersect/index.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VImg/VImg.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/tag.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VDefaultsProvider/VDefaultsProvider.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/icons.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/size.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/theme.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VIcon/VIcon.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/border.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/density.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/variant.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VAvatar/VAvatar.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/elevation.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/intersectionObserver.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/toggleScope.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/proxiedModel.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/locale.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/location.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/resizeObserver.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VProgressLinear/chunks.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VProgressLinear/VProgressLinear.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/loader.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/position.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/router.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/directives/ripple/index.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VBtnGroup/VBtnGroup.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/group.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VBtnToggle/VBtnToggle.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VProgressCircular/VProgressCircular.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/selectLink.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VBtn/VBtn.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/transitions/createTransition.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/transitions/expand-transition.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/transitions/index.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/display.js"],"sourcesContent":["// Types\n// eslint-disable-line vue/prefer-import-from-vue\n\n/**\n * Creates a factory function for props definitions.\n * This is used to define props in a composable then override\n * default values in an implementing component.\n *\n * @example Simplified signature\n * (props: Props) => (defaults?: Record<keyof props, any>) => Props\n *\n * @example Usage\n * const makeProps = propsFactory({\n * foo: String,\n * })\n *\n * defineComponent({\n * props: {\n * ...makeProps({\n * foo: 'a',\n * }),\n * },\n * setup (props) {\n * // would be \"string | undefined\", now \"string\" because a default has been provided\n * props.foo\n * },\n * }\n */\n\nexport function propsFactory(props, source) {\n return defaults => {\n return Object.keys(props).reduce((obj, prop) => {\n const isObjectDefinition = typeof props[prop] === 'object' && props[prop] != null && !Array.isArray(props[prop]);\n const definition = isObjectDefinition ? props[prop] : {\n type: props[prop]\n };\n if (defaults && prop in defaults) {\n obj[prop] = {\n ...definition,\n default: defaults[prop]\n };\n } else {\n obj[prop] = definition;\n }\n if (source && !obj[prop].source) {\n obj[prop].source = source;\n }\n return obj;\n }, {});\n };\n}\n\n/**\n * Like `Partial<T>` but doesn't care what the value is\n */\n\n// Copied from Vue\n//# sourceMappingURL=propsFactory.js.map","// Utilities\nimport { propsFactory } from \"../util/propsFactory.js\"; // Types\n// Composables\nexport const makeComponentProps = propsFactory({\n class: [String, Array, Object],\n style: {\n type: [String, Array, Object],\n default: null\n }\n}, 'component');\n//# sourceMappingURL=component.js.map","/* eslint-disable no-console */\n\n// Utilities\nimport { warn } from 'vue';\nexport function consoleWarn(message) {\n warn(`Vuetify: ${message}`);\n}\nexport function consoleError(message) {\n warn(`Vuetify error: ${message}`);\n}\nexport function deprecate(original, replacement) {\n replacement = Array.isArray(replacement) ? replacement.slice(0, -1).map(s => `'${s}'`).join(', ') + ` or '${replacement.at(-1)}'` : `'${replacement}'`;\n warn(`[Vuetify UPGRADE] '${original}' is deprecated, use ${replacement} instead.`);\n}\nexport function breaking(original, replacement) {\n // warn(`[Vuetify BREAKING] '${original}' has been removed, use '${replacement}' instead. For more information, see the upgrade guide https://github.com/vuetifyjs/vuetify/releases/tag/v2.0.0#user-content-upgrade-guide`)\n}\nexport function removed(original) {\n // warn(`[Vuetify REMOVED] '${original}' has been removed. You can safely omit it.`)\n}\n//# sourceMappingURL=console.js.map","export const IN_BROWSER = typeof window !== 'undefined';\nexport const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;\nexport const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0);\nexport const SUPPORTS_EYE_DROPPER = IN_BROWSER && 'EyeDropper' in window;\nexport const SUPPORTS_MATCH_MEDIA = IN_BROWSER && 'matchMedia' in window && typeof window.matchMedia === 'function';\nexport const PREFERS_REDUCED_MOTION = () => SUPPORTS_MATCH_MEDIA && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n//# sourceMappingURL=globals.js.map","function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }\nfunction _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError(\"Cannot initialize the same private elements twice on an object\"); }\nfunction _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }\nfunction _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }\nfunction _assertClassBrand(e, t, n) { if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError(\"Private element is not present on this object\"); }\n// Utilities\nimport { camelize, capitalize, Comment, Fragment, isProxy, isReactive, isRef, isVNode, reactive, shallowRef, toRaw, toRef, unref, watchEffect } from 'vue';\nimport { consoleError } from \"./console.js\";\nimport { IN_BROWSER } from \"./globals.js\"; // Types\nexport function getNestedValue(obj, path, fallback) {\n const last = path.length - 1;\n if (last < 0) return obj === undefined ? fallback : obj;\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback;\n }\n obj = obj[path[i]];\n }\n if (obj == null) return fallback;\n return obj[path[last]] === undefined ? fallback : obj[path[last]];\n}\nexport function getObjectValueByPath(obj, path, fallback) {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback;\n if (obj[path] !== undefined) return obj[path];\n path = path.replace(/\\[(\\w+)\\]/g, '.$1'); // convert indexes to properties\n path = path.replace(/^\\./, ''); // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback);\n}\nexport function getPropertyFromItem(item, property, fallback) {\n if (property === true) return item === undefined ? fallback : item;\n if (property == null || typeof property === 'boolean') return fallback;\n if (item !== Object(item)) {\n if (typeof property !== 'function') return fallback;\n const value = property(item, fallback);\n return typeof value === 'undefined' ? fallback : value;\n }\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback);\n if (Array.isArray(property)) return getNestedValue(item, property, fallback);\n if (typeof property !== 'function') return fallback;\n const value = property(item, fallback);\n return typeof value === 'undefined' ? fallback : value;\n}\nexport function createRange(length) {\n let start = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n return Array.from({\n length\n }, (v, k) => start + k);\n}\nexport function getZIndex(el) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0;\n const index = Number(window.getComputedStyle(el).getPropertyValue('z-index'));\n if (!index) return getZIndex(el.parentNode);\n return index;\n}\nexport function convertToUnit(str) {\n let unit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'px';\n if (str == null || str === '') {\n return undefined;\n }\n const num = Number(str);\n if (isNaN(num)) {\n return String(str);\n } else if (!isFinite(num)) {\n return undefined;\n } else {\n return `${num}${unit}`;\n }\n}\nexport function isObject(obj) {\n return obj !== null && typeof obj === 'object' && !Array.isArray(obj);\n}\nexport function isPlainObject(obj) {\n let proto;\n return obj !== null && typeof obj === 'object' && ((proto = Object.getPrototypeOf(obj)) === Object.prototype || proto === null);\n}\nexport function refElement(obj) {\n if (obj && '$el' in obj) {\n const el = obj.$el;\n if (el?.nodeType === Node.TEXT_NODE) {\n // Multi-root component, use the first element\n return el.nextElementSibling;\n }\n return el;\n }\n return obj;\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16\n});\nexport const keyValues = Object.freeze({\n enter: 'Enter',\n tab: 'Tab',\n delete: 'Delete',\n esc: 'Escape',\n space: 'Space',\n up: 'ArrowUp',\n down: 'ArrowDown',\n left: 'ArrowLeft',\n right: 'ArrowRight',\n end: 'End',\n home: 'Home',\n del: 'Delete',\n backspace: 'Backspace',\n insert: 'Insert',\n pageup: 'PageUp',\n pagedown: 'PageDown',\n shift: 'Shift'\n});\nexport function keys(o) {\n return Object.keys(o);\n}\nexport function has(obj, key) {\n return key.every(k => obj.hasOwnProperty(k));\n}\n// Array of keys\nexport function pick(obj, paths) {\n const found = {};\n for (const key of paths) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n found[key] = obj[key];\n }\n }\n return found;\n}\n\n// Array of keys\n\n// Array of keys or RegExp to test keys against\n\nexport function pickWithRest(obj, paths, exclude) {\n const found = Object.create(null);\n const rest = Object.create(null);\n for (const key in obj) {\n if (paths.some(path => path instanceof RegExp ? path.test(key) : path === key) && !exclude?.some(path => path === key)) {\n found[key] = obj[key];\n } else {\n rest[key] = obj[key];\n }\n }\n return [found, rest];\n}\nexport function omit(obj, exclude) {\n const clone = {\n ...obj\n };\n exclude.forEach(prop => delete clone[prop]);\n return clone;\n}\nconst onRE = /^on[^a-z]/;\nexport const isOn = key => onRE.test(key);\nconst bubblingEvents = ['onAfterscriptexecute', 'onAnimationcancel', 'onAnimationend', 'onAnimationiteration', 'onAnimationstart', 'onAuxclick', 'onBeforeinput', 'onBeforescriptexecute', 'onChange', 'onClick', 'onCompositionend', 'onCompositionstart', 'onCompositionupdate', 'onContextmenu', 'onCopy', 'onCut', 'onDblclick', 'onFocusin', 'onFocusout', 'onFullscreenchange', 'onFullscreenerror', 'onGesturechange', 'onGestureend', 'onGesturestart', 'onGotpointercapture', 'onInput', 'onKeydown', 'onKeypress', 'onKeyup', 'onLostpointercapture', 'onMousedown', 'onMousemove', 'onMouseout', 'onMouseover', 'onMouseup', 'onMousewheel', 'onPaste', 'onPointercancel', 'onPointerdown', 'onPointerenter', 'onPointerleave', 'onPointermove', 'onPointerout', 'onPointerover', 'onPointerup', 'onReset', 'onSelect', 'onSubmit', 'onTouchcancel', 'onTouchend', 'onTouchmove', 'onTouchstart', 'onTransitioncancel', 'onTransitionend', 'onTransitionrun', 'onTransitionstart', 'onWheel'];\nconst compositionIgnoreKeys = ['ArrowUp', 'ArrowDown', 'ArrowRight', 'ArrowLeft', 'Enter', 'Escape', 'Tab', ' '];\nexport function isComposingIgnoreKey(e) {\n return e.isComposing && compositionIgnoreKeys.includes(e.key);\n}\n\n/**\n * Filter attributes that should be applied to\n * the root element of an input component. Remaining\n * attributes should be passed to the <input> element inside.\n */\nexport function filterInputAttrs(attrs) {\n const [events, props] = pickWithRest(attrs, [onRE]);\n const inputEvents = omit(events, bubblingEvents);\n const [rootAttrs, inputAttrs] = pickWithRest(props, ['class', 'style', 'id', /^data-/]);\n Object.assign(rootAttrs, events);\n Object.assign(inputAttrs, inputEvents);\n return [rootAttrs, inputAttrs];\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff(a, b) {\n const diff = [];\n for (let i = 0; i < b.length; i++) {\n if (!a.includes(b[i])) diff.push(b[i]);\n }\n return diff;\n}\nexport function wrapInArray(v) {\n return v == null ? [] : Array.isArray(v) ? v : [v];\n}\nexport function defaultFilter(value, search, item) {\n return value != null && search != null && typeof value !== 'boolean' && value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1;\n}\nexport function debounce(fn, delay) {\n let timeoutId = 0;\n const wrap = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => fn(...args), unref(delay));\n };\n wrap.clear = () => {\n clearTimeout(timeoutId);\n };\n wrap.immediate = fn;\n return wrap;\n}\nexport function clamp(value) {\n let min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n let max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n return Math.max(min, Math.min(max, value));\n}\nexport function getDecimals(value) {\n const trimmedStr = value.toString().trim();\n return trimmedStr.includes('.') ? trimmedStr.length - trimmedStr.indexOf('.') - 1 : 0;\n}\nexport function padEnd(str, length) {\n let char = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '0';\n return str + char.repeat(Math.max(0, length - str.length));\n}\nexport function padStart(str, length) {\n let char = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '0';\n return char.repeat(Math.max(0, length - str.length)) + str;\n}\nexport function chunk(str) {\n let size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n const chunked = [];\n let index = 0;\n while (index < str.length) {\n chunked.push(str.substr(index, size));\n index += size;\n }\n return chunked;\n}\nexport function chunkArray(array) {\n let size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return Array.from({\n length: Math.ceil(array.length / size)\n }, (v, i) => array.slice(i * size, i * size + size));\n}\nexport function humanReadableFileSize(bytes) {\n let base = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1000;\n if (bytes < base) {\n return `${bytes} B`;\n }\n const prefix = base === 1024 ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G'];\n let unit = -1;\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base;\n ++unit;\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`;\n}\nexport function mergeDeep() {\n let source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let arrayFn = arguments.length > 2 ? arguments[2] : undefined;\n const out = {};\n for (const key in source) {\n out[key] = source[key];\n }\n for (const key in target) {\n const sourceProperty = source[key];\n const targetProperty = target[key];\n\n // Only continue deep merging if\n // both properties are plain objects\n if (isPlainObject(sourceProperty) && isPlainObject(targetProperty)) {\n out[key] = mergeDeep(sourceProperty, targetProperty, arrayFn);\n continue;\n }\n if (arrayFn && Array.isArray(sourceProperty) && Array.isArray(targetProperty)) {\n out[key] = arrayFn(sourceProperty, targetProperty);\n continue;\n }\n out[key] = targetProperty;\n }\n return out;\n}\nexport function flattenFragments(nodes) {\n return nodes.map(node => {\n if (node.type === Fragment) {\n return flattenFragments(node.children);\n } else {\n return node;\n }\n }).flat();\n}\nexport function toKebabCase() {\n let str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n if (toKebabCase.cache.has(str)) return toKebabCase.cache.get(str);\n const kebab = str.replace(/[^a-z]/gi, '-').replace(/\\B([A-Z])/g, '-$1').toLowerCase();\n toKebabCase.cache.set(str, kebab);\n return kebab;\n}\ntoKebabCase.cache = new Map();\nexport function findChildrenWithProvide(key, vnode) {\n if (!vnode || typeof vnode !== 'object') return [];\n if (Array.isArray(vnode)) {\n return vnode.map(child => findChildrenWithProvide(key, child)).flat(1);\n } else if (vnode.suspense) {\n return findChildrenWithProvide(key, vnode.ssContent);\n } else if (Array.isArray(vnode.children)) {\n return vnode.children.map(child => findChildrenWithProvide(key, child)).flat(1);\n } else if (vnode.component) {\n if (Object.getOwnPropertySymbols(vnode.component.provides).includes(key)) {\n return [vnode.component];\n } else if (vnode.component.subTree) {\n return findChildrenWithProvide(key, vnode.component.subTree).flat(1);\n }\n }\n return [];\n}\nvar _arr = /*#__PURE__*/new WeakMap();\nvar _pointer = /*#__PURE__*/new WeakMap();\nexport class CircularBuffer {\n constructor(size) {\n _classPrivateFieldInitSpec(this, _arr, []);\n _classPrivateFieldInitSpec(this, _pointer, 0);\n this.size = size;\n }\n get isFull() {\n return _classPrivateFieldGet(_arr, this).length === this.size;\n }\n push(val) {\n _classPrivateFieldGet(_arr, this)[_classPrivateFieldGet(_pointer, this)] = val;\n _classPrivateFieldSet(_pointer, this, (_classPrivateFieldGet(_pointer, this) + 1) % this.size);\n }\n values() {\n return _classPrivateFieldGet(_arr, this).slice(_classPrivateFieldGet(_pointer, this)).concat(_classPrivateFieldGet(_arr, this).slice(0, _classPrivateFieldGet(_pointer, this)));\n }\n clear() {\n _classPrivateFieldGet(_arr, this).length = 0;\n _classPrivateFieldSet(_pointer, this, 0);\n }\n}\nexport function getEventCoordinates(e) {\n if ('touches' in e) {\n return {\n clientX: e.touches[0].clientX,\n clientY: e.touches[0].clientY\n };\n }\n return {\n clientX: e.clientX,\n clientY: e.clientY\n };\n}\n\n// Only allow a single return type\n\n/**\n * Convert a computed ref to a record of refs.\n * The getter function must always return an object with the same keys.\n */\n\nexport function destructComputed(getter) {\n const refs = reactive({});\n watchEffect(() => {\n const base = getter();\n for (const key in base) {\n refs[key] = base[key];\n }\n }, {\n flush: 'sync'\n });\n const obj = {};\n for (const key in refs) {\n obj[key] = toRef(() => refs[key]);\n }\n return obj;\n}\n\n/** Array.includes but value can be any type */\nexport function includes(arr, val) {\n return arr.includes(val);\n}\nexport function eventName(propName) {\n return propName[2].toLowerCase() + propName.slice(3);\n}\n\n// TODO: this should be an array but vue's types don't accept arrays: vuejs/core#8025\n\nexport const EventProp = () => [Function, Array];\nexport function hasEvent(props, name) {\n name = 'on' + capitalize(name);\n return !!(props[name] || props[`${name}Once`] || props[`${name}Capture`] || props[`${name}OnceCapture`] || props[`${name}CaptureOnce`]);\n}\nexport function callEvent(handler) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n if (Array.isArray(handler)) {\n for (const h of handler) {\n h(...args);\n }\n } else if (typeof handler === 'function') {\n handler(...args);\n }\n}\nexport function focusableChildren(el) {\n let filterByTabIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n const targets = ['button', '[href]', 'input:not([type=\"hidden\"])', 'select', 'textarea', 'details:not(:has(> summary))', 'details > summary', '[tabindex]', '[contenteditable]:not([contenteditable=\"false\"])', 'audio[controls]', 'video[controls]'].map(s => `${s}${filterByTabIndex ? ':not([tabindex=\"-1\"])' : ''}:not([disabled], [inert])`).join(', ');\n let elements;\n try {\n elements = [...el.querySelectorAll(targets)];\n } catch (err) {\n consoleError(String(err));\n return [];\n }\n return elements.filter(x => !x.closest('[inert]')) // does not have inert parent\n .filter(x => !!x.offsetParent || x.getClientRects().length > 0) // is rendered\n .filter(x => !x.parentElement?.closest('details:not([open])') || x.tagName === 'SUMMARY' && x.parentElement?.tagName === 'DETAILS');\n}\nexport function getNextElement(elements, location, condition) {\n let _el;\n let idx = elements.indexOf(document.activeElement);\n const inc = location === 'next' ? 1 : -1;\n do {\n idx += inc;\n _el = elements[idx];\n } while ((!_el || _el.offsetParent == null || !(condition?.(_el) ?? true)) && idx < elements.length && idx >= 0);\n return _el;\n}\nexport function focusChild(el, location) {\n const focusable = focusableChildren(el);\n if (location == null) {\n if (el === document.activeElement || !el.contains(document.activeElement)) {\n focusable[0]?.focus();\n }\n } else if (location === 'first') {\n focusable[0]?.focus();\n } else if (location === 'last') {\n focusable.at(-1)?.focus();\n } else if (typeof location === 'number') {\n focusable[location]?.focus();\n } else {\n const _el = getNextElement(focusable, location);\n if (_el) _el.focus();else focusChild(el, location === 'next' ? 'first' : 'last');\n }\n}\nexport function isEmpty(val) {\n return val === null || val === undefined || typeof val === 'string' && val.trim() === '';\n}\nexport function noop() {}\n\n/** Returns null if the selector is not supported or we can't check */\nexport function matchesSelector(el, selector) {\n const supportsSelector = IN_BROWSER && typeof CSS !== 'undefined' && typeof CSS.supports !== 'undefined' && CSS.supports(`selector(${selector})`);\n if (!supportsSelector) return null;\n try {\n return !!el && el.matches(selector);\n } catch (err) {\n return null;\n }\n}\nexport function ensureValidVNode(vnodes) {\n return vnodes.some(child => {\n if (!isVNode(child)) return true;\n if (child.type === Comment) return false;\n return child.type !== Fragment || ensureValidVNode(child.children);\n }) ? vnodes : null;\n}\nexport function renderSlot(slot, props, fallback) {\n // TODO: check if slot returns elements: #18308\n return slot?.(props) ?? fallback?.(props);\n}\nexport function defer(timeout, cb) {\n if (!IN_BROWSER || timeout === 0) {\n cb();\n return () => {};\n }\n const timeoutId = window.setTimeout(cb, timeout);\n return () => window.clearTimeout(timeoutId);\n}\nexport function isClickInsideElement(event, targetDiv) {\n const mouseX = event.clientX;\n const mouseY = event.clientY;\n const divRect = targetDiv.getBoundingClientRect();\n const divLeft = divRect.left;\n const divTop = divRect.top;\n const divRight = divRect.right;\n const divBottom = divRect.bottom;\n return mouseX >= divLeft && mouseX <= divRight && mouseY >= divTop && mouseY <= divBottom;\n}\nexport function templateRef() {\n const el = shallowRef();\n const fn = target => {\n el.value = target;\n };\n Object.defineProperty(fn, 'value', {\n enumerable: true,\n get: () => el.value,\n set: val => el.value = val\n });\n Object.defineProperty(fn, 'el', {\n enumerable: true,\n get: () => refElement(el.value)\n });\n return fn;\n}\nexport function checkPrintable(e) {\n const isPrintableChar = e.key.length === 1;\n const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey;\n return isPrintableChar && noModifier;\n}\nexport function isPrimitive(value) {\n return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint';\n}\nexport function escapeForRegex(sign) {\n return '\\\\^$*+?.()|{}[]'.includes(sign) ? `\\\\${sign}` : sign;\n}\nexport function extractNumber(text, decimalDigitsLimit, decimalSeparator) {\n const onlyValidCharacters = new RegExp(`[\\\\d\\\\-${escapeForRegex(decimalSeparator)}]`);\n const cleanText = text.split('').filter(x => onlyValidCharacters.test(x)).filter((x, i, all) => i === 0 && /[-]/.test(x) ||\n // sign allowed at the start\n x === decimalSeparator && i === all.indexOf(x) ||\n // decimal separator allowed only once\n /\\d/.test(x)).join('');\n if (decimalDigitsLimit === 0) {\n return cleanText.split(decimalSeparator)[0];\n }\n const decimalPart = new RegExp(`${escapeForRegex(decimalSeparator)}\\\\d`);\n if (decimalDigitsLimit !== null && decimalPart.test(cleanText)) {\n const parts = cleanText.split(decimalSeparator);\n return [parts[0], parts[1].substring(0, decimalDigitsLimit)].join(decimalSeparator);\n }\n return cleanText;\n}\nexport function camelizeProps(props) {\n const out = {};\n for (const prop in props) {\n out[camelize(prop)] = props[prop];\n }\n return out;\n}\nexport function onlyDefinedProps(props) {\n const booleanAttributes = ['checked', 'disabled'];\n return Object.fromEntries(Object.entries(props).filter(_ref => {\n let [key, v] = _ref;\n return booleanAttributes.includes(key) ? !!v : v !== undefined;\n }));\n}\nexport function deepToRaw(value) {\n const objectIterator = input => {\n if (Array.isArray(input)) {\n return input.map(item => objectIterator(item));\n }\n if (isRef(input) || isReactive(input) || isProxy(input)) {\n return objectIterator(toRaw(input));\n }\n if (isPlainObject(input)) {\n return Object.keys(input).reduce((acc, key) => {\n acc[key] = objectIterator(input[key]);\n return acc;\n }, {});\n }\n return input;\n };\n return objectIterator(value);\n}\n//# sourceMappingURL=helpers.js.map","// Utilities\nimport { includes } from \"./helpers.js\";\nconst block = ['top', 'bottom'];\nconst inline = ['start', 'end', 'left', 'right'];\n/** Parse a raw anchor string into an object */\nexport function parseAnchor(anchor, isRtl) {\n let [side, align] = anchor.split(' ');\n if (!align) {\n align = includes(block, side) ? 'start' : includes(inline, side) ? 'top' : 'center';\n }\n return {\n side: toPhysical(side, isRtl),\n align: toPhysical(align, isRtl)\n };\n}\nexport function toPhysical(str, isRtl) {\n if (str === 'start') return isRtl ? 'right' : 'left';\n if (str === 'end') return isRtl ? 'left' : 'right';\n return str;\n}\nexport function flipSide(anchor) {\n return {\n side: {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left'\n }[anchor.side],\n align: anchor.align\n };\n}\nexport function flipAlign(anchor) {\n return {\n side: anchor.side,\n align: {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left'\n }[anchor.align]\n };\n}\nexport function flipCorner(anchor) {\n return {\n side: anchor.align,\n align: anchor.side\n };\n}\nexport function getAxis(anchor) {\n return includes(block, anchor.side) ? 'y' : 'x';\n}\n//# sourceMappingURL=anchor.js.map","/**\n * WCAG 3.0 APCA perceptual contrast algorithm from https://github.com/Myndex/SAPC-APCA\n * @licence https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document\n * @see https://www.w3.org/WAI/GL/task-forces/silver/wiki/Visual_Contrast_of_Text_Subgroup\n */\n// Types\n\n// MAGICAL NUMBERS\n\n// sRGB Conversion to Relative Luminance (Y)\n\n// Transfer Curve (aka \"Gamma\") for sRGB linearization\n// Simple power curve vs piecewise described in docs\n// Essentially, 2.4 best models actual display\n// characteristics in combination with the total method\nconst mainTRC = 2.4;\nconst Rco = 0.2126729; // sRGB Red Coefficient (from matrix)\nconst Gco = 0.7151522; // sRGB Green Coefficient (from matrix)\nconst Bco = 0.0721750; // sRGB Blue Coefficient (from matrix)\n\n// For Finding Raw SAPC Contrast from Relative Luminance (Y)\n\n// Constants for SAPC Power Curve Exponents\n// One pair for normal text, and one for reverse\n// These are the \"beating heart\" of SAPC\nconst normBG = 0.55;\nconst normTXT = 0.58;\nconst revTXT = 0.57;\nconst revBG = 0.62;\n\n// For Clamping and Scaling Values\n\nconst blkThrs = 0.03; // Level that triggers the soft black clamp\nconst blkClmp = 1.45; // Exponent for the soft black clamp curve\nconst deltaYmin = 0.0005; // Lint trap\nconst scaleBoW = 1.25; // Scaling for dark text on light\nconst scaleWoB = 1.25; // Scaling for light text on dark\nconst loConThresh = 0.078; // Threshold for new simple offset scale\nconst loConFactor = 12.82051282051282; // = 1/0.078,\nconst loConOffset = 0.06; // The simple offset\nconst loClip = 0.001; // Output clip (lint trap #2)\n\nexport function APCAcontrast(text, background) {\n // Linearize sRGB\n const Rtxt = (text.r / 255) ** mainTRC;\n const Gtxt = (text.g / 255) ** mainTRC;\n const Btxt = (text.b / 255) ** mainTRC;\n const Rbg = (background.r / 255) ** mainTRC;\n const Gbg = (background.g / 255) ** mainTRC;\n const Bbg = (background.b / 255) ** mainTRC;\n\n // Apply the standard coefficients and sum to Y\n let Ytxt = Rtxt * Rco + Gtxt * Gco + Btxt * Bco;\n let Ybg = Rbg * Rco + Gbg * Gco + Bbg * Bco;\n\n // Soft clamp Y when near black.\n // Now clamping all colors to prevent crossover errors\n if (Ytxt <= blkThrs) Ytxt += (blkThrs - Ytxt) ** blkClmp;\n if (Ybg <= blkThrs) Ybg += (blkThrs - Ybg) ** blkClmp;\n\n // Return 0 Early for extremely low ∆Y (lint trap #1)\n if (Math.abs(Ybg - Ytxt) < deltaYmin) return 0.0;\n\n // SAPC CONTRAST\n\n let outputContrast; // For weighted final values\n if (Ybg > Ytxt) {\n // For normal polarity, black text on white\n // Calculate the SAPC contrast value and scale\n\n const SAPC = (Ybg ** normBG - Ytxt ** normTXT) * scaleBoW;\n\n // NEW! SAPC SmoothScale™\n // Low Contrast Smooth Scale Rollout to prevent polarity reversal\n // and also a low clip for very low contrasts (lint trap #2)\n // much of this is for very low contrasts, less than 10\n // therefore for most reversing needs, only loConOffset is important\n outputContrast = SAPC < loClip ? 0.0 : SAPC < loConThresh ? SAPC - SAPC * loConFactor * loConOffset : SAPC - loConOffset;\n } else {\n // For reverse polarity, light text on dark\n // WoB should always return negative value.\n\n const SAPC = (Ybg ** revBG - Ytxt ** revTXT) * scaleWoB;\n outputContrast = SAPC > -loClip ? 0.0 : SAPC > -loConThresh ? SAPC - SAPC * loConFactor * loConOffset : SAPC + loConOffset;\n }\n return outputContrast * 100;\n}\n//# sourceMappingURL=APCA.js.map","// Utilities\nimport { clamp } from \"../helpers.js\"; // Types\n// For converting XYZ to sRGB\nconst srgbForwardMatrix = [[3.2406, -1.5372, -0.4986], [-0.9689, 1.8758, 0.0415], [0.0557, -0.2040, 1.0570]];\n\n// Forward gamma adjust\nconst srgbForwardTransform = C => C <= 0.0031308 ? C * 12.92 : 1.055 * C ** (1 / 2.4) - 0.055;\n\n// For converting sRGB to XYZ\nconst srgbReverseMatrix = [[0.4124, 0.3576, 0.1805], [0.2126, 0.7152, 0.0722], [0.0193, 0.1192, 0.9505]];\n\n// Reverse gamma adjust\nconst srgbReverseTransform = C => C <= 0.04045 ? C / 12.92 : ((C + 0.055) / 1.055) ** 2.4;\nexport function fromXYZ(xyz) {\n const rgb = Array(3);\n const transform = srgbForwardTransform;\n const matrix = srgbForwardMatrix;\n\n // Matrix transform, then gamma adjustment\n for (let i = 0; i < 3; ++i) {\n // Rescale back to [0, 255]\n rgb[i] = Math.round(clamp(transform(matrix[i][0] * xyz[0] + matrix[i][1] * xyz[1] + matrix[i][2] * xyz[2])) * 255);\n }\n return {\n r: rgb[0],\n g: rgb[1],\n b: rgb[2]\n };\n}\nexport function toXYZ(_ref) {\n let {\n r,\n g,\n b\n } = _ref;\n const xyz = [0, 0, 0];\n const transform = srgbReverseTransform;\n const matrix = srgbReverseMatrix;\n\n // Rescale from [0, 255] to [0, 1] then adjust sRGB gamma to linear RGB\n r = transform(r / 255);\n g = transform(g / 255);\n b = transform(b / 255);\n\n // Matrix color space transform\n for (let i = 0; i < 3; ++i) {\n xyz[i] = matrix[i][0] * r + matrix[i][1] * g + matrix[i][2] * b;\n }\n return xyz;\n}\n//# sourceMappingURL=transformSRGB.js.map","// Utilities\nimport { APCAcontrast } from \"./color/APCA.js\";\nimport { consoleWarn } from \"./console.js\";\nimport { chunk, has, padEnd } from \"./helpers.js\";\nimport * as CIELAB from \"./color/transformCIELAB.js\";\nimport * as sRGB from \"./color/transformSRGB.js\"; // Types\nexport function isCssColor(color) {\n return !!color && /^(#|var\\(--|(rgb|hsl)a?\\()/.test(color);\n}\nexport function isParsableColor(color) {\n return isCssColor(color) && !/^((rgb|hsl)a?\\()?var\\(--/.test(color);\n}\nconst cssColorRe = /^(?<fn>(?:rgb|hsl)a?)\\((?<values>.+)\\)/;\nconst mappers = {\n rgb: (r, g, b, a) => ({\n r,\n g,\n b,\n a\n }),\n rgba: (r, g, b, a) => ({\n r,\n g,\n b,\n a\n }),\n hsl: (h, s, l, a) => HSLtoRGB({\n h,\n s,\n l,\n a\n }),\n hsla: (h, s, l, a) => HSLtoRGB({\n h,\n s,\n l,\n a\n }),\n hsv: (h, s, v, a) => HSVtoRGB({\n h,\n s,\n v,\n a\n }),\n hsva: (h, s, v, a) => HSVtoRGB({\n h,\n s,\n v,\n a\n })\n};\nexport function parseColor(color) {\n if (typeof color === 'number') {\n if (isNaN(color) || color < 0 || color > 0xFFFFFF) {\n // int can't have opacity\n consoleWarn(`'${color}' is not a valid hex color`);\n }\n return {\n r: (color & 0xFF0000) >> 16,\n g: (color & 0xFF00) >> 8,\n b: color & 0xFF\n };\n } else if (typeof color === 'string' && cssColorRe.test(color)) {\n const {\n groups\n } = color.match(cssColorRe);\n const {\n fn,\n values\n } = groups;\n const realValues = values.split(/,\\s*|\\s*\\/\\s*|\\s+/).map((v, i) => {\n if (v.endsWith('%') ||\n // unitless slv are %\n i > 0 && i < 3 && ['hsl', 'hsla', 'hsv', 'hsva'].includes(fn)) {\n return parseFloat(v) / 100;\n } else {\n return parseFloat(v);\n }\n });\n return mappers[fn](...realValues);\n } else if (typeof color === 'string') {\n let hex = color.startsWith('#') ? color.slice(1) : color;\n if ([3, 4].includes(hex.length)) {\n hex = hex.split('').map(char => char + char).join('');\n } else if (![6, 8].includes(hex.length)) {\n consoleWarn(`'${color}' is not a valid hex(a) color`);\n }\n const int = parseInt(hex, 16);\n if (isNaN(int) || int < 0 || int > 0xFFFFFFFF) {\n consoleWarn(`'${color}' is not a valid hex(a) color`);\n }\n return HexToRGB(hex);\n } else if (typeof color === 'object') {\n if (has(color, ['r', 'g', 'b'])) {\n return color;\n } else if (has(color, ['h', 's', 'l'])) {\n return HSVtoRGB(HSLtoHSV(color));\n } else if (has(color, ['h', 's', 'v'])) {\n return HSVtoRGB(color);\n }\n }\n throw new TypeError(`Invalid color: ${color == null ? color : String(color) || color.constructor.name}\\nExpected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`);\n}\nexport function RGBToInt(color) {\n return (color.r << 16) + (color.g << 8) + color.b;\n}\nexport function classToHex(color, colors, currentTheme) {\n const [colorName, colorModifier] = color.toString().trim().replace('-', '').split(' ', 2);\n let hexColor = '';\n if (colorName && colorName in colors) {\n if (colorModifier && colorModifier in colors[colorName]) {\n hexColor = colors[colorName][colorModifier];\n } else if ('base' in colors[colorName]) {\n hexColor = colors[colorName].base;\n }\n } else if (colorName && colorName in currentTheme) {\n hexColor = currentTheme[colorName];\n }\n return hexColor;\n}\n\n/** Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV */\nexport function HSVtoRGB(hsva) {\n const {\n h,\n s,\n v,\n a\n } = hsva;\n const f = n => {\n const k = (n + h / 60) % 6;\n return v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n };\n const rgb = [f(5), f(3), f(1)].map(v => Math.round(v * 255));\n return {\n r: rgb[0],\n g: rgb[1],\n b: rgb[2],\n a\n };\n}\nexport function HSLtoRGB(hsla) {\n return HSVtoRGB(HSLtoHSV(hsla));\n}\n\n/** Converts RGBA to HSVA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV */\nexport function RGBtoHSV(rgba) {\n if (!rgba) return {\n h: 0,\n s: 1,\n v: 1,\n a: 1\n };\n const r = rgba.r / 255;\n const g = rgba.g / 255;\n const b = rgba.b / 255;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n let h = 0;\n if (max !== min) {\n if (max === r) {\n h = 60 * (0 + (g - b) / (max - min));\n } else if (max === g) {\n h = 60 * (2 + (b - r) / (max - min));\n } else if (max === b) {\n h = 60 * (4 + (r - g) / (max - min));\n }\n }\n if (h < 0) h = h + 360;\n const s = max === 0 ? 0 : (max - min) / max;\n const hsv = [h, s, max];\n return {\n h: hsv[0],\n s: hsv[1],\n v: hsv[2],\n a: rgba.a\n };\n}\nexport function HSVtoHSL(hsva) {\n const {\n h,\n s,\n v,\n a\n } = hsva;\n const l = v - v * s / 2;\n const sprime = l === 1 || l === 0 ? 0 : (v - l) / Math.min(l, 1 - l);\n return {\n h,\n s: sprime,\n l,\n a\n };\n}\nexport function HSLtoHSV(hsl) {\n const {\n h,\n s,\n l,\n a\n } = hsl;\n const v = l + s * Math.min(l, 1 - l);\n const sprime = v === 0 ? 0 : 2 - 2 * l / v;\n return {\n h,\n s: sprime,\n v,\n a\n };\n}\nexport function RGBtoCSS(_ref) {\n let {\n r,\n g,\n b,\n a\n } = _ref;\n return a === undefined ? `rgb(${r}, ${g}, ${b})` : `rgba(${r}, ${g}, ${b}, ${a})`;\n}\nexport function HSVtoCSS(hsva) {\n return RGBtoCSS(HSVtoRGB(hsva));\n}\nfunction toHex(v) {\n const h = Math.round(v).toString(16);\n return ('00'.substr(0, 2 - h.length) + h).toUpperCase();\n}\nexport function RGBtoHex(_ref2) {\n let {\n r,\n g,\n b,\n a\n } = _ref2;\n return `#${[toHex(r), toHex(g), toHex(b), a !== undefined ? toHex(Math.round(a * 255)) : ''].join('')}`;\n}\nexport function HexToRGB(hex) {\n hex = parseHex(hex);\n let [r, g, b, a] = chunk(hex, 2).map(c => parseInt(c, 16));\n a = a === undefined ? a : a / 255;\n return {\n r,\n g,\n b,\n a\n };\n}\nexport function HexToHSV(hex) {\n const rgb = HexToRGB(hex);\n return RGBtoHSV(rgb);\n}\nexport function HSVtoHex(hsva) {\n return RGBtoHex(HSVtoRGB(hsva));\n}\nexport function parseHex(hex) {\n if (hex.startsWith('#')) {\n hex = hex.slice(1);\n }\n hex = hex.replace(/([^0-9a-f])/gi, 'F');\n if (hex.length === 3 || hex.length === 4) {\n hex = hex.split('').map(x => x + x).join('');\n }\n if (hex.length !== 6) {\n hex = padEnd(padEnd(hex, 6), 8, 'F');\n }\n return hex;\n}\nexport function parseGradient(gradient, colors, currentTheme) {\n return gradient.replace(/([a-z]+(\\s[a-z]+-[1-5])?)(?=$|,)/gi, x => {\n return classToHex(x, colors, currentTheme) || x;\n }).replace(/(rgba\\()#[0-9a-f]+(?=,)/gi, x => {\n return 'rgba(' + Object.values(HexToRGB(parseHex(x.replace(/rgba\\(/, '')))).slice(0, 3).join(',');\n });\n}\nexport function lighten(value, amount) {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value));\n lab[0] = lab[0] + amount * 10;\n return sRGB.fromXYZ(CIELAB.toXYZ(lab));\n}\nexport function darken(value, amount) {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value));\n lab[0] = lab[0] - amount * 10;\n return sRGB.fromXYZ(CIELAB.toXYZ(lab));\n}\n\n/**\n * Calculate the relative luminance of a given color\n * @see https://www.w3.org/TR/WCAG20/#relativeluminancedef\n */\nexport function getLuma(color) {\n const rgb = parseColor(color);\n return sRGB.toXYZ(rgb)[1];\n}\n\n/**\n * Returns the contrast ratio (1-21) between two colors.\n * @see https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n */\nexport function getContrast(first, second) {\n const l1 = getLuma(first);\n const l2 = getLuma(second);\n const light = Math.max(l1, l2);\n const dark = Math.min(l1, l2);\n return (light + 0.05) / (dark + 0.05);\n}\nexport function getForeground(color) {\n const blackContrast = Math.abs(APCAcontrast(parseColor(0), parseColor(color)));\n const whiteContrast = Math.abs(APCAcontrast(parseColor(0xffffff), parseColor(color)));\n\n // TODO: warn about poor color selections\n // const contrastAsText = Math.abs(APCAcontrast(colorVal, colorToInt(theme.colors.background)))\n // const minContrast = Math.max(blackContrast, whiteContrast)\n // if (minContrast < 60) {\n // consoleInfo(`${key} theme color ${color} has poor contrast (${minContrast.toFixed()}%)`)\n // } else if (contrastAsText < 60 && !['background', 'surface'].includes(color)) {\n // consoleInfo(`${key} theme color ${color} has poor contrast as text (${contrastAsText.toFixed()}%)`)\n // }\n\n // Prefer white text if both have an acceptable contrast ratio\n return whiteContrast > Math.min(blackContrast, 50) ? '#fff' : '#000';\n}\n//# sourceMappingURL=colorUtils.js.map","// Utilities\nimport { getCurrentInstance as _getCurrentInstance } from 'vue';\nimport { toKebabCase } from \"./helpers.js\";\nexport function getCurrentInstance(name, message) {\n const vm = _getCurrentInstance();\n if (!vm) {\n throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`);\n }\n return vm;\n}\nexport function getCurrentInstanceName() {\n let name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'composables';\n const vm = getCurrentInstance(name).type;\n return toKebabCase(vm?.aliasName || vm?.name);\n}\n//# sourceMappingURL=getCurrentInstance.js.map","// Utilities\nimport { getCurrentInstance } from \"./getCurrentInstance.js\"; // Types\nexport function injectSelf(key) {\n let vm = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstance('injectSelf');\n const {\n provides\n } = vm;\n if (provides && key in provides) {\n // TS doesn't allow symbol as index type\n return provides[key];\n }\n return undefined;\n}\n//# sourceMappingURL=injectSelf.js.map","// Utilities\nimport { computed, inject, provide, ref, shallowRef, unref, watchEffect } from 'vue';\nimport { getCurrentInstance } from \"../util/getCurrentInstance.js\";\nimport { mergeDeep, toKebabCase } from \"../util/helpers.js\";\nimport { injectSelf } from \"../util/injectSelf.js\"; // Types\nexport const DefaultsSymbol = Symbol.for('vuetify:defaults');\nexport function createDefaults(options) {\n return ref(options);\n}\nexport function injectDefaults() {\n const defaults = inject(DefaultsSymbol);\n if (!defaults) throw new Error('[Vuetify] Could not find defaults instance');\n return defaults;\n}\nexport function provideDefaults(defaults, options) {\n const injectedDefaults = injectDefaults();\n const providedDefaults = ref(defaults);\n const newDefaults = computed(() => {\n const disabled = unref(options?.disabled);\n if (disabled) return injectedDefaults.value;\n const scoped = unref(options?.scoped);\n const reset = unref(options?.reset);\n const root = unref(options?.root);\n if (providedDefaults.value == null && !(scoped || reset || root)) return injectedDefaults.value;\n let properties = mergeDeep(providedDefaults.value, {\n prev: injectedDefaults.value\n });\n if (scoped) return properties;\n if (reset || root) {\n const len = Number(reset || Infinity);\n for (let i = 0; i <= len; i++) {\n if (!properties || !('prev' in properties)) {\n break;\n }\n properties = properties.prev;\n }\n if (properties && typeof root === 'string' && root in properties) {\n properties = mergeDeep(mergeDeep(properties, {\n prev: properties\n }), properties[root]);\n }\n return properties;\n }\n return properties.prev ? mergeDeep(properties.prev, properties) : properties;\n });\n provide(DefaultsSymbol, newDefaults);\n return newDefaults;\n}\nfunction propIsDefined(vnode, prop) {\n return vnode.props && (typeof vnode.props[prop] !== 'undefined' || typeof vnode.props[toKebabCase(prop)] !== 'undefined');\n}\nexport function internalUseDefaults() {\n let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let name = arguments.length > 1 ? arguments[1] : undefined;\n let defaults = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : injectDefaults();\n const vm = getCurrentInstance('useDefaults');\n name = name ?? vm.type.name ?? vm.type.__name;\n if (!name) {\n throw new Error('[Vuetify] Could not determine component name');\n }\n const componentDefaults = computed(() => defaults.value?.[props._as ?? name]);\n const _props = new Proxy(props, {\n get(target, prop) {\n const propValue = Reflect.get(target, prop);\n if (prop === 'class' || prop === 'style') {\n return [componentDefaults.value?.[prop], propValue].filter(v => v != null);\n }\n if (propIsDefined(vm.vnode, prop)) return propValue;\n const _componentDefault = componentDefaults.value?.[prop];\n if (_componentDefault !== undefined) return _componentDefault;\n const _globalDefault = defaults.value?.global?.[prop];\n if (_globalDefault !== undefined) return _globalDefault;\n return propValue;\n }\n });\n const _subcomponentDefaults = shallowRef();\n watchEffect(() => {\n if (componentDefaults.value) {\n const subComponents = Object.entries(componentDefaults.value).filter(_ref => {\n let [key] = _ref;\n return key.startsWith(key[0].toUpperCase());\n });\n _subcomponentDefaults.value = subComponents.length ? Object.fromEntries(subComponents) : undefined;\n } else {\n _subcomponentDefaults.value = undefined;\n }\n });\n function provideSubDefaults() {\n const injected = injectSelf(DefaultsSymbol, vm);\n provide(DefaultsSymbol, computed(() => {\n return _subcomponentDefaults.value ? mergeDeep(injected?.value ?? {}, _subcomponentDefaults.value) : injected?.value;\n }));\n }\n return {\n props: _props,\n provideSubDefaults\n };\n}\nexport function useDefaults() {\n let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let name = arguments.length > 1 ? arguments[1] : undefined;\n const {\n props: _props,\n provideSubDefaults\n } = internalUseDefaults(props, name);\n provideSubDefaults();\n return _props;\n}\n//# sourceMappingURL=defaults.js.map","// Composables\nimport { injectDefaults, internalUseDefaults } from \"../composables/defaults.js\"; // Utilities\nimport { defineComponent as _defineComponent // eslint-disable-line no-restricted-imports\n} from 'vue';\nimport { consoleWarn } from \"./console.js\";\nimport { pick } from \"./helpers.js\";\nimport { propsFactory } from \"./propsFactory.js\"; // Types\n// No props\n// Object Props\n// Implementation\nexport function defineComponent(options) {\n options._setup = options._setup ?? options.setup;\n if (!options.name) {\n consoleWarn('The component is missing an explicit name, unable to generate default prop value');\n return options;\n }\n if (options._setup) {\n options.props = propsFactory(options.props ?? {}, options.name)();\n const propKeys = Object.keys(options.props).filter(key => key !== 'class' && key !== 'style');\n options.filterProps = function filterProps(props) {\n return pick(props, propKeys);\n };\n options.props._as = String;\n options.setup = function setup(props, ctx) {\n const defaults = injectDefaults();\n\n // Skip props proxy if defaults are not provided\n if (!defaults.value) return options._setup(props, ctx);\n const {\n props: _props,\n provideSubDefaults\n } = internalUseDefaults(props, props._as ?? options.name, defaults);\n const setupBindings = options._setup(_props, ctx);\n provideSubDefaults();\n return setupBindings;\n };\n }\n return options;\n}\n\n// No argument - simple default slot\n\n// Generic constructor argument - generic props and slots\n\n// Slots argument - simple slots\n\n// Implementation\nexport function genericComponent() {\n let exposeDefaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n return options => (exposeDefaults ? defineComponent : _defineComponent)(options);\n}\nexport function defineFunctionalComponent(props, render) {\n render.props = props;\n return render;\n}\n\n// Adds a filterProps method to the component options\n\n// https://github.com/vuejs/core/pull/10557\n\n// not a vue Component\n//# sourceMappingURL=defineComponent.js.map","import { isPrimitive } from \"./helpers.js\";\nfunction updateRecursionCache(a, b, cache, result) {\n if (!cache || isPrimitive(a) || isPrimitive(b)) return;\n const visitedObject = cache.get(a);\n if (visitedObject) {\n visitedObject.set(b, result);\n } else {\n const newCacheItem = new WeakMap();\n newCacheItem.set(b, result);\n cache.set(a, newCacheItem);\n }\n}\nfunction findCachedComparison(a, b, cache) {\n if (!cache || isPrimitive(a) || isPrimitive(b)) return null;\n const r1 = cache.get(a)?.get(b);\n if (typeof r1 === 'boolean') return r1;\n const r2 = cache.get(b)?.get(a);\n if (typeof r2 === 'boolean') return r2;\n return null;\n}\nexport function deepEqual(a, b) {\n let recursionCache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new WeakMap();\n if (a === b) return true;\n if (a instanceof Date && b instanceof Date && a.getTime() !== b.getTime()) {\n // If the values are Date, compare them as timestamps\n return false;\n }\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false;\n }\n const props = Object.keys(a);\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false;\n }\n const cachedComparisonResult = findCachedComparison(a, b, recursionCache);\n if (cachedComparisonResult) {\n return cachedComparisonResult;\n }\n updateRecursionCache(a, b, recursionCache, true);\n return props.every(p => deepEqual(a[p], b[p], recursionCache));\n}\n//# sourceMappingURL=deepEqual.js.map","// Utilities\nimport { computed, shallowRef, toValue, watch } from 'vue';\nimport { clamp } from \"./helpers.js\";\nimport { PREFERS_REDUCED_MOTION } from \"./globals.js\"; // Types\nexport const standardEasing = 'cubic-bezier(0.4, 0, 0.2, 1)';\nexport const deceleratedEasing = 'cubic-bezier(0.0, 0, 0.2, 1)'; // Entering\nexport const acceleratedEasing = 'cubic-bezier(0.4, 0, 1, 1)'; // Leaving\n\nexport const easingPatterns = {\n linear: t => t,\n easeInQuad: t => t ** 2,\n easeOutQuad: t => t * (2 - t),\n easeInOutQuad: t => t < 0.5 ? 2 * t ** 2 : -1 + (4 - 2 * t) * t,\n easeInCubic: t => t ** 3,\n easeOutCubic: t => --t ** 3 + 1,\n easeInOutCubic: t => t < 0.5 ? 4 * t ** 3 : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1,\n easeInQuart: t => t ** 4,\n easeOutQuart: t => 1 - --t ** 4,\n easeInOutQuart: t => t < 0.5 ? 8 * t ** 4 : 1 - 8 * --t ** 4,\n easeInQuint: t => t ** 5,\n easeOutQuint: t => 1 + --t ** 5,\n easeInOutQuint: t => t < 0.5 ? 16 * t ** 5 : 1 + 16 * --t ** 5,\n instant: t => 1\n};\nexport function useTransition(source, options) {\n const defaultTransition = {\n duration: 300,\n transition: easingPatterns.easeInOutCubic\n };\n let raf = -1;\n const outputRef = shallowRef(toValue(source));\n watch(() => toValue(source), async to => {\n cancelAnimationFrame(raf);\n const easing = {\n ...defaultTransition,\n ...toValue(options)\n };\n await executeTransition(outputRef, outputRef.value, to, easing);\n });\n function executeTransition(out, from, to, options) {\n const startTime = performance.now();\n const ease = PREFERS_REDUCED_MOTION() ? easingPatterns.instant : options.transition ?? easingPatterns.easeInOutCubic;\n return new Promise(resolve => {\n raf = requestAnimationFrame(function step(currentTime) {\n const timeElapsed = currentTime - startTime;\n const progress = timeElapsed / options.duration;\n out.value = from + (to - from) * ease(clamp(progress, 0, 1));\n if (progress < 1) {\n raf = requestAnimationFrame(step);\n } else {\n out.value = to;\n resolve();\n }\n });\n });\n }\n return computed(() => outputRef.value);\n}\n//# sourceMappingURL=easing.js.map","// Utilities\nimport { getCurrentInstance } from \"./getCurrentInstance.js\"; // Types\nexport function useRender(render) {\n const vm = getCurrentInstance('useRender');\n vm.render = render;\n}\n//# sourceMappingURL=useRender.js.map","// Utilities\nimport { computed } from 'vue';\nimport { convertToUnit, propsFactory } from \"../util/index.js\"; // Types\n// Composables\nexport const makeDimensionProps = propsFactory({\n height: [Number, String],\n maxHeight: [Number, String],\n maxWidth: [Number, String],\n minHeight: [Number, String],\n minWidth: [Number, String],\n width: [Number, String]\n}, 'dimension');\nexport function useDimension(props) {\n const dimensionStyles = computed(() => {\n const styles = {};\n const height = convertToUnit(props.height);\n const maxHeight = convertToUnit(props.maxHeight);\n const maxWidth = convertToUnit(props.maxWidth);\n const minHeight = convertToUnit(props.minHeight);\n const minWidth = convertToUnit(props.minWidth);\n const width = convertToUnit(props.width);\n if (height != null) styles.height = height;\n if (maxHeight != null) styles.maxHeight = maxHeight;\n if (maxWidth != null) styles.maxWidth = maxWidth;\n if (minHeight != null) styles.minHeight = minHeight;\n if (minWidth != null) styles.minWidth = minWidth;\n if (width != null) styles.width = width;\n return styles;\n });\n return {\n dimensionStyles\n };\n}\n//# sourceMappingURL=dimensions.js.map","import { normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from \"vue\";\n// Styles\nimport \"./VResponsive.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.js\"; // Utilities\nimport { computed } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.js\";\nexport function useAspectStyles(props) {\n return {\n aspectStyles: computed(() => {\n const ratio = Number(props.aspectRatio);\n return ratio ? {\n paddingBottom: String(1 / ratio * 100) + '%'\n } : undefined;\n })\n };\n}\nexport const makeVResponsiveProps = propsFactory({\n aspectRatio: [String, Number],\n contentClass: null,\n inline: Boolean,\n ...makeComponentProps(),\n ...makeDimensionProps()\n}, 'VResponsive');\nexport const VResponsive = genericComponent()({\n name: 'VResponsive',\n props: makeVResponsiveProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n aspectStyles\n } = useAspectStyles(props);\n const {\n dimensionStyles\n } = useDimension(props);\n useRender(() => _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-responsive', {\n 'v-responsive--inline': props.inline\n }, props.class]),\n \"style\": _normalizeStyle([dimensionStyles.value, props.style])\n }, [_createElementVNode(\"div\", {\n \"class\": \"v-responsive__sizer\",\n \"style\": _normalizeStyle(aspectStyles.value)\n }, null), slots.additional?.(), slots.default && _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-responsive__content', props.contentClass])\n }, [slots.default()])]));\n return {};\n }\n});\n//# sourceMappingURL=VResponsive.js.map","// Utilities\nimport { toValue } from 'vue';\nimport { destructComputed, getForeground, isCssColor, isParsableColor, parseColor } from \"../util/index.js\"; // Types\n// Composables\nexport function useColor(colors) {\n return destructComputed(() => {\n const {\n class: colorClasses,\n style: colorStyles\n } = computeColor(colors);\n return {\n colorClasses,\n colorStyles\n };\n });\n}\nexport function useTextColor(color) {\n const {\n colorClasses: textColorClasses,\n colorStyles: textColorStyles\n } = useColor(() => ({\n text: toValue(color)\n }));\n return {\n textColorClasses,\n textColorStyles\n };\n}\nexport function useBackgroundColor(color) {\n const {\n colorClasses: backgroundColorClasses,\n colorStyles: backgroundColorStyles\n } = useColor(() => ({\n background: toValue(color)\n }));\n return {\n backgroundColorClasses,\n backgroundColorStyles\n };\n}\nexport function computeColor(colors) {\n const _colors = toValue(colors);\n const classes = [];\n const styles = {};\n if (_colors.background) {\n if (isCssColor(_colors.background)) {\n styles.backgroundColor = _colors.background;\n if (!_colors.text && isParsableColor(_colors.background)) {\n const backgroundColor = parseColor(_colors.background);\n if (backgroundColor.a == null || backgroundColor.a === 1) {\n const textColor = getForeground(backgroundColor);\n styles.color = textColor;\n styles.caretColor = textColor;\n }\n }\n } else {\n classes.push(`bg-${_colors.background}`);\n }\n }\n if (_colors.text) {\n if (isCssColor(_colors.text)) {\n styles.color = _colors.text;\n styles.caretColor = _colors.text;\n } else {\n classes.push(`text-${_colors.text}`);\n }\n }\n return {\n class: classes,\n style: styles\n };\n}\n//# sourceMappingURL=color.js.map","// Utilities\nimport { computed, isRef } from 'vue';\nimport { getCurrentInstanceName, propsFactory } from \"../util/index.js\"; // Types\n// Composables\nexport const makeRoundedProps = propsFactory({\n rounded: {\n type: [Boolean, Number, String],\n default: undefined\n },\n tile: Boolean\n}, 'rounded');\nexport function useRounded(props) {\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n const roundedClasses = computed(() => {\n const rounded = isRef(props) ? props.value : props.rounded;\n const tile = isRef(props) ? false : props.tile;\n const classes = [];\n if (tile || rounded === false) {\n classes.push('rounded-0');\n } else if (rounded === true || rounded === '') {\n classes.push(`${name}--rounded`);\n } else if (typeof rounded === 'string' || rounded === 0) {\n for (const value of String(rounded).split(' ')) {\n classes.push(`rounded-${value}`);\n }\n }\n return classes;\n });\n return {\n roundedClasses\n };\n}\n//# sourceMappingURL=rounded.js.map","// Utilities\nimport { h, mergeProps, Transition, TransitionGroup } from 'vue';\nimport { isObject, onlyDefinedProps, propsFactory } from \"../util/index.js\"; // Types\nexport const makeTransitionProps = propsFactory({\n transition: {\n type: null,\n default: 'fade-transition',\n validator: val => val !== true\n }\n}, 'transition');\nexport const MaybeTransition = (props, _ref) => {\n let {\n slots\n } = _ref;\n const {\n transition,\n disabled,\n group,\n ...rest\n } = props;\n const {\n component = group ? TransitionGroup : Transition,\n ...customProps\n } = isObject(transition) ? transition : {};\n let transitionProps;\n if (isObject(transition)) {\n transitionProps = mergeProps(customProps, onlyDefinedProps({\n disabled,\n group\n }), rest);\n } else {\n transitionProps = mergeProps({\n name: disabled || !transition ? '' : transition\n }, rest);\n }\n return h(component, transitionProps, slots);\n};\n//# sourceMappingURL=transition.js.map","// Utilities\nimport { SUPPORTS_INTERSECTION } from \"../../util/index.js\"; // Types\nfunction mounted(el, binding) {\n if (!SUPPORTS_INTERSECTION) return;\n const modifiers = binding.modifiers || {};\n const value = binding.value;\n const {\n handler,\n options\n } = typeof value === 'object' ? value : {\n handler: value,\n options: {}\n };\n const observer = new IntersectionObserver(function () {\n let entries = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n let observer = arguments.length > 1 ? arguments[1] : undefined;\n const _observe = el._observe?.[binding.instance.$.uid];\n if (!_observe) return; // Just in case, should never fire\n\n const isIntersecting = entries.some(entry => entry.isIntersecting);\n\n // If is not quiet or has already been\n // initted, invoke the user callback\n if (handler && (!modifiers.quiet || _observe.init) && (!modifiers.once || isIntersecting || _observe.init)) {\n handler(isIntersecting, entries, observer);\n }\n if (isIntersecting && modifiers.once) unmounted(el, binding);else _observe.init = true;\n }, options);\n el._observe = Object(el._observe);\n el._observe[binding.instance.$.uid] = {\n init: false,\n observer\n };\n observer.observe(el);\n}\nfunction unmounted(el, binding) {\n const observe = el._observe?.[binding.instance.$.uid];\n if (!observe) return;\n observe.observer.unobserve(el);\n delete el._observe[binding.instance.$.uid];\n}\nexport const Intersect = {\n mounted,\n unmounted\n};\nexport default Intersect;\n//# sourceMappingURL=index.js.map","import { normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, createVNode as _createVNode, Fragment as _Fragment, mergeProps as _mergeProps, withDirectives as _withDirectives } from \"vue\";\n// Styles\nimport \"./VImg.css\";\n\n// Components\nimport { makeVResponsiveProps, VResponsive } from \"../VResponsive/VResponsive.js\"; // Composables\nimport { useBackgroundColor } from \"../../composables/color.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.js\";\nimport { makeTransitionProps, MaybeTransition } from \"../../composables/transition.js\"; // Directives\nimport vIntersect from \"../../directives/intersect/index.js\"; // Utilities\nimport { computed, nextTick, onBeforeMount, onBeforeUnmount, ref, shallowRef, toRef, vShow, watch, withDirectives } from 'vue';\nimport { convertToUnit, genericComponent, getCurrentInstance, propsFactory, SUPPORTS_INTERSECTION, useRender } from \"../../util/index.js\"; // Types\n// not intended for public use, this is passed in by vuetify-loader\nexport const makeVImgProps = propsFactory({\n absolute: Boolean,\n alt: String,\n cover: Boolean,\n color: String,\n draggable: {\n type: [Boolean, String],\n default: undefined\n },\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined\n })\n },\n sizes: String,\n src: {\n type: [String, Object],\n default: ''\n },\n crossorigin: String,\n referrerpolicy: String,\n srcset: String,\n position: String,\n ...makeVResponsiveProps(),\n ...makeComponentProps(),\n ...makeRoundedProps(),\n ...makeTransitionProps()\n}, 'VImg');\nexport const VImg = genericComponent()({\n name: 'VImg',\n directives: {\n vIntersect\n },\n props: makeVImgProps(),\n emits: {\n loadstart: value => true,\n load: value => true,\n error: value => true\n },\n setup(props, _ref) {\n let {\n emit,\n slots\n } = _ref;\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(() => props.color);\n const {\n roundedClasses\n } = useRounded(props);\n const vm = getCurrentInstance('VImg');\n const currentSrc = shallowRef(''); // Set from srcset\n const image = ref();\n const state = shallowRef(props.eager ? 'loading' : 'idle');\n const naturalWidth = shallowRef();\n const naturalHeight = shallowRef();\n const normalisedSrc = computed(() => {\n return props.src && typeof props.src === 'object' ? {\n src: props.src.src,\n srcset: props.srcset || props.src.srcset,\n lazySrc: props.lazySrc || props.src.lazySrc,\n aspect: Number(props.aspectRatio || props.src.aspect || 0)\n } : {\n src: props.src,\n srcset: props.srcset,\n lazySrc: props.lazySrc,\n aspect: Number(props.aspectRatio || 0)\n };\n });\n const aspectRatio = computed(() => {\n return normalisedSrc.value.aspect || naturalWidth.value / naturalHeight.value || 0;\n });\n watch(() => props.src, () => {\n init(state.value !== 'idle');\n });\n watch(aspectRatio, (val, oldVal) => {\n if (!val && oldVal && image.value) {\n pollForSize(image.value);\n }\n });\n\n // TODO: getSrc when window width changes\n\n onBeforeMount(() => init());\n function init(isIntersecting) {\n if (props.eager && isIntersecting) return;\n if (SUPPORTS_INTERSECTION && !isIntersecting && !props.eager) return;\n state.value = 'loading';\n if (normalisedSrc.value.lazySrc) {\n const lazyImg = new Image();\n lazyImg.src = normalisedSrc.value.lazySrc;\n pollForSize(lazyImg, null);\n }\n if (!normalisedSrc.value.src) return;\n nextTick(() => {\n emit('loadstart', image.value?.currentSrc || normalisedSrc.value.src);\n setTimeout(() => {\n if (vm.isUnmounted) return;\n if (image.value?.complete) {\n if (!image.value.naturalWidth) {\n onError();\n }\n if (state.value === 'error') return;\n if (!aspectRatio.value) pollForSize(image.value, null);\n if (state.value === 'loading') onLoad();\n } else {\n if (!aspectRatio.value) pollForSize(image.value);\n getSrc();\n }\n });\n });\n }\n function onLoad() {\n if (vm.isUnmounted) return;\n getSrc();\n pollForSize(image.value);\n state.value = 'loaded';\n emit('load', image.value?.currentSrc || normalisedSrc.value.src);\n }\n function onError() {\n if (vm.isUnmounted) return;\n state.value = 'error';\n emit('error', image.value?.currentSrc || normalisedSrc.value.src);\n }\n function getSrc() {\n const img = image.value;\n if (img) currentSrc.value = img.currentSrc || img.src;\n }\n let timer = -1;\n onBeforeUnmount(() => {\n clearTimeout(timer);\n });\n function pollForSize(img) {\n let timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;\n const poll = () => {\n clearTimeout(timer);\n if (vm.isUnmounted) return;\n const {\n naturalHeight: imgHeight,\n naturalWidth: imgWidth\n } = img;\n if (imgHeight || imgWidth) {\n naturalWidth.value = imgWidth;\n naturalHeight.value = imgHeight;\n } else if (!img.complete && state.value === 'loading' && timeout != null) {\n timer = window.setTimeout(poll, timeout);\n } else if (img.currentSrc.endsWith('.svg') || img.currentSrc.startsWith('data:image/svg+xml')) {\n naturalWidth.value = 1;\n naturalHeight.value = 1;\n }\n };\n poll();\n }\n const containClasses = toRef(() => ({\n 'v-img__img--cover': props.cover,\n 'v-img__img--contain': !props.cover\n }));\n const __image = () => {\n if (!normalisedSrc.value.src || state.value === 'idle') return null;\n const img = _createElementVNode(\"img\", {\n \"class\": _normalizeClass(['v-img__img', containClasses.value]),\n \"style\": {\n objectPosition: props.position\n },\n \"crossorigin\": props.crossorigin,\n \"src\": normalisedSrc.value.src,\n \"srcset\": normalisedSrc.value.srcset,\n \"alt\": props.alt,\n \"referrerpolicy\": props.referrerpolicy,\n \"draggable\": props.draggable,\n \"sizes\": props.sizes,\n \"ref\": image,\n \"onLoad\": onLoad,\n \"onError\": onError\n }, null);\n const sources = slots.sources?.();\n return _createVNode(MaybeTransition, {\n \"transition\": props.transition,\n \"appear\": true\n }, {\n default: () => [withDirectives(sources ? _createElementVNode(\"picture\", {\n \"class\": \"v-img__picture\"\n }, [sources, img]) : img, [[vShow, state.value === 'loaded']])]\n });\n };\n const __preloadImage = () => _createVNode(MaybeTransition, {\n \"transition\": props.transition\n }, {\n default: () => [normalisedSrc.value.lazySrc && state.value !== 'loaded' && _createElementVNode(\"img\", {\n \"class\": _normalizeClass(['v-img__img', 'v-img__img--preload', containClasses.value]),\n \"style\": {\n objectPosition: props.position\n },\n \"crossorigin\": props.crossorigin,\n \"src\": normalisedSrc.value.lazySrc,\n \"alt\": props.alt,\n \"referrerpolicy\": props.referrerpolicy,\n \"draggable\": props.draggable\n }, null)]\n });\n const __placeholder = () => {\n if (!slots.placeholder) return null;\n return _createVNode(MaybeTransition, {\n \"transition\": props.transition,\n \"appear\": true\n }, {\n default: () => [(state.value === 'loading' || state.value === 'error' && !slots.error) && _createElementVNode(\"div\", {\n \"class\": \"v-img__placeholder\"\n }, [slots.placeholder()])]\n });\n };\n const __error = () => {\n if (!slots.error) return null;\n return _createVNode(MaybeTransition, {\n \"transition\": props.transition,\n \"appear\": true\n }, {\n default: () => [state.value === 'error' && _createElementVNode(\"div\", {\n \"class\": \"v-img__error\"\n }, [slots.error()])]\n });\n };\n const __gradient = () => {\n if (!props.gradient) return null;\n return _createElementVNode(\"div\", {\n \"class\": \"v-img__gradient\",\n \"style\": {\n backgroundImage: `linear-gradient(${props.gradient})`\n }\n }, null);\n };\n const isBooted = shallowRef(false);\n {\n const stop = watch(aspectRatio, val => {\n if (val) {\n // Doesn't work with nextTick, idk why\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n isBooted.value = true;\n });\n });\n stop();\n }\n });\n }\n useRender(() => {\n const responsiveProps = VResponsive.filterProps(props);\n return _withDirectives(_createVNode(VResponsive, _mergeProps({\n \"class\": ['v-img', {\n 'v-img--absolute': props.absolute,\n 'v-img--booting': !isBooted.value\n }, backgroundColorClasses.value, roundedClasses.value, props.class],\n \"style\": [{\n width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width)\n }, backgroundColorStyles.value, props.style]\n }, responsiveProps, {\n \"aspectRatio\": aspectRatio.value,\n \"aria-label\": props.alt,\n \"role\": props.alt ? 'img' : undefined\n }), {\n additional: () => _createElementVNode(_Fragment, null, [_createVNode(__image, null, null), _createVNode(__preloadImage, null, null), _createVNode(__gradient, null, null), _createVNode(__placeholder, null, null), _createVNode(__error, null, null)]),\n default: slots.default\n }), [[vIntersect, {\n handler: init,\n options: props.options\n }, null, {\n once: true\n }]]);\n });\n return {\n currentSrc,\n image,\n state,\n naturalWidth,\n naturalHeight\n };\n }\n});\n//# sourceMappingURL=VImg.js.map","// Utilities\nimport { propsFactory } from \"../util/index.js\"; // Types\n// Types\n// Composables\nexport const makeTagProps = propsFactory({\n tag: {\n type: [String, Object, Function],\n default: 'div'\n }\n}, 'tag');\n//# sourceMappingURL=tag.js.map","// Composables\nimport { provideDefaults } from \"../../composables/defaults.js\"; // Utilities\nimport { toRefs } from 'vue';\nimport { genericComponent, propsFactory } from \"../../util/index.js\"; // Types\nexport const makeVDefaultsProviderProps = propsFactory({\n defaults: Object,\n disabled: Boolean,\n reset: [Number, String],\n root: [Boolean, String],\n scoped: Boolean\n}, 'VDefaultsProvider');\nexport const VDefaultsProvider = genericComponent(false)({\n name: 'VDefaultsProvider',\n props: makeVDefaultsProviderProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n defaults,\n disabled,\n reset,\n root,\n scoped\n } = toRefs(props);\n provideDefaults(defaults, {\n reset,\n root,\n scoped,\n disabled\n });\n return () => slots.default?.();\n }\n});\n//# sourceMappingURL=VDefaultsProvider.js.map","import { createVNode as _createVNode, createElementVNode as _createElementVNode, mergeProps as _mergeProps, normalizeClass as _normalizeClass } from \"vue\";\n// Icons\nimport { aliases, mdi } from \"../iconsets/mdi.js\"; // Utilities\nimport { computed, inject, toValue } from 'vue';\nimport { consoleWarn, defineComponent, genericComponent, mergeDeep, propsFactory } from \"../util/index.js\"; // Types\nexport const IconValue = [String, Function, Object, Array];\nexport const IconSymbol = Symbol.for('vuetify:icons');\nexport const makeIconProps = propsFactory({\n icon: {\n type: IconValue\n },\n // Could not remove this and use makeTagProps, types complained because it is not required\n tag: {\n type: [String, Object, Function],\n required: true\n }\n}, 'icon');\nexport const VComponentIcon = genericComponent()({\n name: 'VComponentIcon',\n props: makeIconProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n return () => {\n const Icon = props.icon;\n return _createVNode(props.tag, null, {\n default: () => [props.icon ? _createVNode(Icon, null, null) : slots.default?.()]\n });\n };\n }\n});\nexport const VSvgIcon = defineComponent({\n name: 'VSvgIcon',\n inheritAttrs: false,\n props: makeIconProps(),\n setup(props, _ref2) {\n let {\n attrs\n } = _ref2;\n return () => {\n return _createVNode(props.tag, _mergeProps(attrs, {\n \"style\": null\n }), {\n default: () => [_createElementVNode(\"svg\", {\n \"class\": \"v-icon__svg\",\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 24 24\",\n \"role\": \"img\",\n \"aria-hidden\": \"true\"\n }, [Array.isArray(props.icon) ? props.icon.map(path => Array.isArray(path) ? _createElementVNode(\"path\", {\n \"d\": path[0],\n \"fill-opacity\": path[1]\n }, null) : _createElementVNode(\"path\", {\n \"d\": path\n }, null)) : _createElementVNode(\"path\", {\n \"d\": props.icon\n }, null)])]\n });\n };\n }\n});\nexport const VLigatureIcon = defineComponent({\n name: 'VLigatureIcon',\n props: makeIconProps(),\n setup(props) {\n return () => {\n return _createVNode(props.tag, null, {\n default: () => [props.icon]\n });\n };\n }\n});\nexport const VClassIcon = defineComponent({\n name: 'VClassIcon',\n props: makeIconProps(),\n setup(props) {\n return () => {\n return _createVNode(props.tag, {\n \"class\": _normalizeClass(props.icon)\n }, null);\n };\n }\n});\nfunction genDefaults() {\n return {\n svg: {\n component: VSvgIcon\n },\n class: {\n component: VClassIcon\n }\n };\n}\n\n// Composables\nexport function createIcons(options) {\n const sets = genDefaults();\n const defaultSet = options?.defaultSet ?? 'mdi';\n if (defaultSet === 'mdi' && !sets.mdi) {\n sets.mdi = mdi;\n }\n return mergeDeep({\n defaultSet,\n sets,\n aliases: {\n ...aliases,\n /* eslint-disable max-len */\n vuetify: ['M8.2241 14.2009L12 21L22 3H14.4459L8.2241 14.2009Z', ['M7.26303 12.4733L7.00113 12L2 3H12.5261C12.5261 3 12.5261 3 12.5261 3L7.26303 12.4733Z', 0.6]],\n 'vuetify-outline': 'svg:M7.26 12.47 12.53 3H2L7.26 12.47ZM14.45 3 8.22 14.2 12 21 22 3H14.45ZM18.6 5 12 16.88 10.51 14.2 15.62 5ZM7.26 8.35 5.4 5H9.13L7.26 8.35Z',\n 'vuetify-play': ['m6.376 13.184-4.11-7.192C1.505 4.66 2.467 3 4.003 3h8.532l-.953 1.576-.006.01-.396.677c-.429.732-.214 1.507.194 2.015.404.503 1.092.878 1.869.806a3.72 3.72 0 0 1 1.005.022c.276.053.434.143.523.237.138.146.38.635-.25 2.09-.893 1.63-1.553 1.722-1.847 1.677-.213-.033-.468-.158-.756-.406a4.95 4.95 0 0 1-.8-.927c-.39-.564-1.04-.84-1.66-.846-.625-.006-1.316.27-1.693.921l-.478.826-.911 1.506Z', ['M9.093 11.552c.046-.079.144-.15.32-.148a.53.53 0 0 1 .43.207c.285.414.636.847 1.046 1.2.405.35.914.662 1.516.754 1.334.205 2.502-.698 3.48-2.495l.014-.028.013-.03c.687-1.574.774-2.852-.005-3.675-.37-.391-.861-.586-1.333-.676a5.243 5.243 0 0 0-1.447-.044c-.173.016-.393-.073-.54-.257-.145-.18-.127-.316-.082-.392l.393-.672L14.287 3h5.71c1.536 0 2.499 1.659 1.737 2.992l-7.997 13.996c-.768 1.344-2.706 1.344-3.473 0l-3.037-5.314 1.377-2.278.004-.006.004-.007.481-.831Z', 0.6]]\n /* eslint-enable max-len */\n }\n }, options);\n}\nexport const useIcon = props => {\n const icons = inject(IconSymbol);\n if (!icons) throw new Error('Missing Vuetify Icons provide!');\n const iconData = computed(() => {\n const iconAlias = toValue(props);\n if (!iconAlias) return {\n component: VComponentIcon\n };\n let icon = iconAlias;\n if (typeof icon === 'string') {\n icon = icon.trim();\n if (icon.startsWith('$')) {\n icon = icons.aliases?.[icon.slice(1)];\n }\n }\n if (!icon) consoleWarn(`Could not find aliased icon \"${iconAlias}\"`);\n if (Array.isArray(icon)) {\n return {\n component: VSvgIcon,\n icon\n };\n } else if (typeof icon !== 'string') {\n return {\n component: VComponentIcon,\n icon\n };\n }\n const iconSetName = Object.keys(icons.sets).find(setName => typeof icon === 'string' && icon.startsWith(`${setName}:`));\n const iconName = iconSetName ? icon.slice(iconSetName.length + 1) : icon;\n const iconSet = icons.sets[iconSetName ?? icons.defaultSet];\n return {\n component: iconSet.component,\n icon: iconName\n };\n });\n return {\n iconData\n };\n};\n//# sourceMappingURL=icons.js.map","// Utilities\nimport { convertToUnit, destructComputed, getCurrentInstanceName, includes, propsFactory } from \"../util/index.js\"; // Types\nconst predefinedSizes = ['x-small', 'small', 'default', 'large', 'x-large'];\n// Composables\nexport const makeSizeProps = propsFactory({\n size: {\n type: [String, Number],\n default: 'default'\n }\n}, 'size');\nexport function useSize(props) {\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n return destructComputed(() => {\n const size = props.size;\n let sizeClasses;\n let sizeStyles;\n if (includes(predefinedSizes, size)) {\n sizeClasses = `${name}--size-${size}`;\n } else if (size) {\n sizeStyles = {\n width: convertToUnit(size),\n height: convertToUnit(size)\n };\n }\n return {\n sizeClasses,\n sizeStyles\n };\n });\n}\n//# sourceMappingURL=size.js.map","// Utilities\nimport { computed, getCurrentScope, inject, onScopeDispose, provide, ref, shallowRef, toRef, watch, watchEffect } from 'vue';\nimport { consoleWarn, createRange, darken, deprecate, getCurrentInstance, getForeground, getLuma, IN_BROWSER, lighten, mergeDeep, parseColor, propsFactory, RGBtoHex, SUPPORTS_MATCH_MEDIA } from \"../util/index.js\"; // Types\nexport const ThemeSymbol = Symbol.for('vuetify:theme');\nexport const makeThemeProps = propsFactory({\n theme: String\n}, 'theme');\nfunction genDefaults() {\n return {\n defaultTheme: 'light',\n prefix: 'v-',\n variations: {\n colors: [],\n lighten: 0,\n darken: 0\n },\n themes: {\n light: {\n dark: false,\n colors: {\n background: '#FFFFFF',\n surface: '#FFFFFF',\n 'surface-bright': '#FFFFFF',\n 'surface-light': '#EEEEEE',\n 'surface-variant': '#424242',\n 'on-surface-variant': '#EEEEEE',\n primary: '#1867C0',\n 'primary-darken-1': '#1F5592',\n secondary: '#48A9A6',\n 'secondary-darken-1': '#018786',\n error: '#B00020',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FB8C00'\n },\n variables: {\n 'border-color': '#000000',\n 'border-opacity': 0.12,\n 'high-emphasis-opacity': 0.87,\n 'medium-emphasis-opacity': 0.60,\n 'disabled-opacity': 0.38,\n 'idle-opacity': 0.04,\n 'hover-opacity': 0.04,\n 'focus-opacity': 0.12,\n 'selected-opacity': 0.08,\n 'activated-opacity': 0.12,\n 'pressed-opacity': 0.12,\n 'dragged-opacity': 0.08,\n 'theme-kbd': '#EEEEEE',\n 'theme-on-kbd': '#000000',\n 'theme-code': '#F5F5F5',\n 'theme-on-code': '#000000'\n }\n },\n dark: {\n dark: true,\n colors: {\n background: '#121212',\n surface: '#212121',\n 'surface-bright': '#ccbfd6',\n 'surface-light': '#424242',\n 'surface-variant': '#c8c8c8',\n 'on-surface-variant': '#000000',\n primary: '#2196F3',\n 'primary-darken-1': '#277CC1',\n secondary: '#54B6B2',\n 'secondary-darken-1': '#48A9A6',\n error: '#CF6679',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FB8C00'\n },\n variables: {\n 'border-color': '#FFFFFF',\n 'border-opacity': 0.12,\n 'high-emphasis-opacity': 1,\n 'medium-emphasis-opacity': 0.70,\n 'disabled-opacity': 0.50,\n 'idle-opacity': 0.10,\n 'hover-opacity': 0.04,\n 'focus-opacity': 0.12,\n 'selected-opacity': 0.08,\n 'activated-opacity': 0.12,\n 'pressed-opacity': 0.16,\n 'dragged-opacity': 0.08,\n 'theme-kbd': '#424242',\n 'theme-on-kbd': '#FFFFFF',\n 'theme-code': '#343434',\n 'theme-on-code': '#CCCCCC'\n }\n }\n },\n stylesheetId: 'vuetify-theme-stylesheet',\n scoped: false,\n unimportant: false,\n utilities: true\n };\n}\nfunction parseThemeOptions() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : genDefaults();\n const defaults = genDefaults();\n if (!options) return {\n ...defaults,\n isDisabled: true\n };\n const themes = {};\n for (const [key, theme] of Object.entries(options.themes ?? {})) {\n const defaultTheme = theme.dark || key === 'dark' ? defaults.themes?.dark : defaults.themes?.light;\n themes[key] = mergeDeep(defaultTheme, theme);\n }\n return mergeDeep(defaults, {\n ...options,\n themes\n });\n}\nfunction createCssClass(lines, selector, content, scope) {\n lines.push(`${getScopedSelector(selector, scope)} {\\n`, ...content.map(line => ` ${line};\\n`), '}\\n');\n}\nfunction genCssVariables(theme, prefix) {\n const lightOverlay = theme.dark ? 2 : 1;\n const darkOverlay = theme.dark ? 1 : 2;\n const variables = [];\n for (const [key, value] of Object.entries(theme.colors)) {\n const rgb = parseColor(value);\n variables.push(`--${prefix}theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`);\n if (!key.startsWith('on-')) {\n variables.push(`--${prefix}theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`);\n }\n }\n for (const [key, value] of Object.entries(theme.variables)) {\n const color = typeof value === 'string' && value.startsWith('#') ? parseColor(value) : undefined;\n const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined;\n variables.push(`--${prefix}${key}: ${rgb ?? value}`);\n }\n return variables;\n}\nfunction genVariation(name, color, variations) {\n const object = {};\n if (variations) {\n for (const variation of ['lighten', 'darken']) {\n const fn = variation === 'lighten' ? lighten : darken;\n for (const amount of createRange(variations[variation], 1)) {\n object[`${name}-${variation}-${amount}`] = RGBtoHex(fn(parseColor(color), amount));\n }\n }\n }\n return object;\n}\nfunction genVariations(colors, variations) {\n if (!variations) return {};\n let variationColors = {};\n for (const name of variations.colors) {\n const color = colors[name];\n if (!color) continue;\n variationColors = {\n ...variationColors,\n ...genVariation(name, color, variations)\n };\n }\n return variationColors;\n}\nfunction genOnColors(colors) {\n const onColors = {};\n for (const color of Object.keys(colors)) {\n if (color.startsWith('on-') || colors[`on-${color}`]) continue;\n const onColor = `on-${color}`;\n const colorVal = parseColor(colors[color]);\n onColors[onColor] = getForeground(colorVal);\n }\n return onColors;\n}\nfunction getScopedSelector(selector, scope) {\n if (!scope) return selector;\n const scopeSelector = `:where(${scope})`;\n return selector === ':root' ? scopeSelector : `${scopeSelector} ${selector}`;\n}\nfunction upsertStyles(id, cspNonce, styles) {\n const styleEl = getOrCreateStyleElement(id, cspNonce);\n if (!styleEl) return;\n styleEl.innerHTML = styles;\n}\nfunction getOrCreateStyleElement(id, cspNonce) {\n if (!IN_BROWSER) return null;\n let style = document.getElementById(id);\n if (!style) {\n style = document.createElement('style');\n style.id = id;\n style.type = 'text/css';\n if (cspNonce) style.setAttribute('nonce', cspNonce);\n document.head.appendChild(style);\n }\n return style;\n}\n\n// Composables\nexport function createTheme(options) {\n const parsedOptions = parseThemeOptions(options);\n const _name = shallowRef(parsedOptions.defaultTheme);\n const themes = ref(parsedOptions.themes);\n const systemName = shallowRef('light');\n const name = computed({\n get() {\n return _name.value === 'system' ? systemName.value : _name.value;\n },\n set(val) {\n _name.value = val;\n }\n });\n const computedThemes = computed(() => {\n const acc = {};\n for (const [name, original] of Object.entries(themes.value)) {\n const colors = {\n ...original.colors,\n ...genVariations(original.colors, parsedOptions.variations)\n };\n acc[name] = {\n ...original,\n colors: {\n ...colors,\n ...genOnColors(colors)\n }\n };\n }\n return acc;\n });\n const current = toRef(() => computedThemes.value[name.value]);\n const isSystem = toRef(() => _name.value === 'system');\n const styles = computed(() => {\n const lines = [];\n const important = parsedOptions.unimportant ? '' : ' !important';\n const scoped = parsedOptions.scoped ? parsedOptions.prefix : '';\n if (current.value?.dark) {\n createCssClass(lines, ':root', ['color-scheme: dark'], parsedOptions.scope);\n }\n createCssClass(lines, ':root', genCssVariables(current.value, parsedOptions.prefix), parsedOptions.scope);\n for (const [themeName, theme] of Object.entries(computedThemes.value)) {\n createCssClass(lines, `.${parsedOptions.prefix}theme--${themeName}`, [`color-scheme: ${theme.dark ? 'dark' : 'normal'}`, ...genCssVariables(theme, parsedOptions.prefix)], parsedOptions.scope);\n }\n if (parsedOptions.utilities) {\n const bgLines = [];\n const fgLines = [];\n const colors = new Set(Object.values(computedThemes.value).flatMap(theme => Object.keys(theme.colors)));\n for (const key of colors) {\n if (key.startsWith('on-')) {\n createCssClass(fgLines, `.${key}`, [`color: rgb(var(--${parsedOptions.prefix}theme-${key}))${important}`], parsedOptions.scope);\n } else {\n createCssClass(bgLines, `.${scoped}bg-${key}`, [`--${parsedOptions.prefix}theme-overlay-multiplier: var(--${parsedOptions.prefix}theme-${key}-overlay-multiplier)`, `background-color: rgb(var(--${parsedOptions.prefix}theme-${key}))${important}`, `color: rgb(var(--${parsedOptions.prefix}theme-on-${key}))${important}`], parsedOptions.scope);\n createCssClass(fgLines, `.${scoped}text-${key}`, [`color: rgb(var(--${parsedOptions.prefix}theme-${key}))${important}`], parsedOptions.scope);\n createCssClass(fgLines, `.${scoped}border-${key}`, [`--${parsedOptions.prefix}border-color: var(--${parsedOptions.prefix}theme-${key})`], parsedOptions.scope);\n }\n }\n lines.push(...bgLines, ...fgLines);\n }\n return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('');\n });\n const themeClasses = toRef(() => parsedOptions.isDisabled ? undefined : `${parsedOptions.prefix}theme--${name.value}`);\n const themeNames = toRef(() => Object.keys(computedThemes.value));\n if (SUPPORTS_MATCH_MEDIA) {\n const media = window.matchMedia('(prefers-color-scheme: dark)');\n function updateSystemName() {\n systemName.value = media.matches ? 'dark' : 'light';\n }\n updateSystemName();\n media.addEventListener('change', updateSystemName, {\n passive: true\n });\n if (getCurrentScope()) {\n onScopeDispose(() => {\n media.removeEventListener('change', updateSystemName);\n });\n }\n }\n function install(app) {\n if (parsedOptions.isDisabled) return;\n const head = app._context.provides.usehead;\n if (head) {\n function getHead() {\n return {\n style: [{\n textContent: styles.value,\n id: parsedOptions.stylesheetId,\n nonce: parsedOptions.cspNonce || false\n }]\n };\n }\n if (head.push) {\n const entry = head.push(getHead);\n if (IN_BROWSER) {\n watch(styles, () => {\n entry.patch(getHead);\n });\n }\n } else {\n if (IN_BROWSER) {\n head.addHeadObjs(toRef(getHead));\n watchEffect(() => head.updateDOM());\n } else {\n head.addHeadObjs(getHead());\n }\n }\n } else {\n if (IN_BROWSER) {\n watch(styles, updateStyles, {\n immediate: true\n });\n } else {\n updateStyles();\n }\n function updateStyles() {\n upsertStyles(parsedOptions.stylesheetId, parsedOptions.cspNonce, styles.value);\n }\n }\n }\n function change(themeName) {\n if (themeName !== 'system' && !themeNames.value.includes(themeName)) {\n consoleWarn(`Theme \"${themeName}\" not found on the Vuetify theme instance`);\n return;\n }\n name.value = themeName;\n }\n function cycle() {\n let themeArray = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : themeNames.value;\n const currentIndex = themeArray.indexOf(name.value);\n const nextIndex = currentIndex === -1 ? 0 : (currentIndex + 1) % themeArray.length;\n change(themeArray[nextIndex]);\n }\n function toggle() {\n let themeArray = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['light', 'dark'];\n cycle(themeArray);\n }\n const globalName = new Proxy(name, {\n get(target, prop) {\n return Reflect.get(target, prop);\n },\n set(target, prop, val) {\n if (prop === 'value') {\n deprecate(`theme.global.name.value = ${val}`, `theme.change('${val}')`);\n }\n return Reflect.set(target, prop, val);\n }\n });\n return {\n install,\n change,\n cycle,\n toggle,\n isDisabled: parsedOptions.isDisabled,\n isSystem,\n name,\n themes,\n current,\n computedThemes,\n prefix: parsedOptions.prefix,\n themeClasses,\n styles,\n global: {\n name: globalName,\n current\n }\n };\n}\nexport function provideTheme(props) {\n getCurrentInstance('provideTheme');\n const theme = inject(ThemeSymbol, null);\n if (!theme) throw new Error('Could not find Vuetify theme injection');\n const name = toRef(() => props.theme ?? theme.name.value);\n const current = toRef(() => theme.themes.value[name.value]);\n const themeClasses = toRef(() => theme.isDisabled ? undefined : `${theme.prefix}theme--${name.value}`);\n const newTheme = {\n ...theme,\n name,\n current,\n themeClasses\n };\n provide(ThemeSymbol, newTheme);\n return newTheme;\n}\nexport function useTheme() {\n getCurrentInstance('useTheme');\n const theme = inject(ThemeSymbol, null);\n if (!theme) throw new Error('Could not find Vuetify theme injection');\n return theme;\n}\n//# sourceMappingURL=theme.js.map","import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VIcon.css\";\n\n// Composables\nimport { useTextColor } from \"../../composables/color.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { IconValue, useIcon } from \"../../composables/icons.js\";\nimport { makeSizeProps, useSize } from \"../../composables/size.js\";\nimport { makeTagProps } from \"../../composables/tag.js\";\nimport { makeThemeProps, useTheme } from \"../../composables/theme.js\"; // Utilities\nimport { shallowRef, Text } from 'vue';\nimport { convertToUnit, flattenFragments, genericComponent, propsFactory, useRender } from \"../../util/index.js\";\nexport const makeVIconProps = propsFactory({\n color: String,\n disabled: Boolean,\n start: Boolean,\n end: Boolean,\n icon: IconValue,\n opacity: [String, Number],\n ...makeComponentProps(),\n ...makeSizeProps(),\n ...makeTagProps({\n tag: 'i'\n }),\n ...makeThemeProps()\n}, 'VIcon');\nexport const VIcon = genericComponent()({\n name: 'VIcon',\n props: makeVIconProps(),\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const slotIcon = shallowRef();\n const {\n themeClasses\n } = useTheme();\n const {\n iconData\n } = useIcon(() => slotIcon.value || props.icon);\n const {\n sizeClasses\n } = useSize(props);\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(() => props.color);\n useRender(() => {\n const slotValue = slots.default?.();\n if (slotValue) {\n slotIcon.value = flattenFragments(slotValue).filter(node => node.type === Text && node.children && typeof node.children === 'string')[0]?.children;\n }\n const hasClick = !!(attrs.onClick || attrs.onClickOnce);\n return _createVNode(iconData.value.component, {\n \"tag\": props.tag,\n \"icon\": iconData.value.icon,\n \"class\": _normalizeClass(['v-icon', 'notranslate', themeClasses.value, sizeClasses.value, textColorClasses.value, {\n 'v-icon--clickable': hasClick,\n 'v-icon--disabled': props.disabled,\n 'v-icon--start': props.start,\n 'v-icon--end': props.end\n }, props.class]),\n \"style\": _normalizeStyle([{\n '--v-icon-opacity': props.opacity\n }, !sizeClasses.value ? {\n fontSize: convertToUnit(props.size),\n height: convertToUnit(props.size),\n width: convertToUnit(props.size)\n } : undefined, textColorStyles.value, props.style]),\n \"role\": hasClick ? 'button' : undefined,\n \"aria-hidden\": !hasClick,\n \"tabindex\": hasClick ? props.disabled ? -1 : 0 : undefined\n }, {\n default: () => [slotValue]\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VIcon.js.map","// Utilities\nimport { computed } from 'vue';\nimport { getCurrentInstanceName, propsFactory } from \"../util/index.js\"; // Types\n// Composables\nexport const makeBorderProps = propsFactory({\n border: [Boolean, Number, String]\n}, 'border');\nexport function useBorder(props) {\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n const borderClasses = computed(() => {\n const border = props.border;\n if (border === true || border === '') {\n return `${name}--border`;\n } else if (typeof border === 'string' || border === 0) {\n return String(border).split(' ').map(v => `border-${v}`);\n }\n return [];\n });\n return {\n borderClasses\n };\n}\n//# sourceMappingURL=border.js.map","// Utilities\nimport { toRef } from 'vue';\nimport { getCurrentInstanceName, propsFactory } from \"../util/index.js\"; // Types\nconst allowedDensities = [null, 'default', 'comfortable', 'compact'];\n\n// typeof allowedDensities[number] evaluates to any\n// when generating api types for whatever reason.\n\n// Composables\nexport const makeDensityProps = propsFactory({\n density: {\n type: String,\n default: 'default',\n validator: v => allowedDensities.includes(v)\n }\n}, 'density');\nexport function useDensity(props) {\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n const densityClasses = toRef(() => {\n return `${name}--density-${props.density}`;\n });\n return {\n densityClasses\n };\n}\n//# sourceMappingURL=density.js.map","import { Fragment as _Fragment, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode } from \"vue\";\n// Composables\nimport { useColor } from \"./color.js\"; // Utilities\nimport { toRef, toValue } from 'vue';\nimport { getCurrentInstanceName, propsFactory } from \"../util/index.js\"; // Types\nexport const allowedVariants = ['elevated', 'flat', 'tonal', 'outlined', 'text', 'plain'];\nexport function genOverlays(isClickable, name) {\n return _createElementVNode(_Fragment, null, [isClickable && _createElementVNode(\"span\", {\n \"key\": \"overlay\",\n \"class\": _normalizeClass(`${name}__overlay`)\n }, null), _createElementVNode(\"span\", {\n \"key\": \"underlay\",\n \"class\": _normalizeClass(`${name}__underlay`)\n }, null)]);\n}\nexport const makeVariantProps = propsFactory({\n color: String,\n variant: {\n type: String,\n default: 'elevated',\n validator: v => allowedVariants.includes(v)\n }\n}, 'variant');\nexport function useVariant(props) {\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n const variantClasses = toRef(() => {\n const {\n variant\n } = toValue(props);\n return `${name}--variant-${variant}`;\n });\n const {\n colorClasses,\n colorStyles\n } = useColor(() => {\n const {\n variant,\n color\n } = toValue(props);\n return {\n [['elevated', 'flat'].includes(variant) ? 'background' : 'text']: color\n };\n });\n return {\n colorClasses,\n colorStyles,\n variantClasses\n };\n}\n//# sourceMappingURL=variant.js.map","import { createVNode as _createVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle } from \"vue\";\n// Styles\nimport \"./VAvatar.css\";\n\n// Components\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.js\";\nimport { VIcon } from \"../VIcon/index.js\";\nimport { VImg } from \"../VImg/index.js\"; // Composables\nimport { makeBorderProps, useBorder } from \"../../composables/border.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { makeDensityProps, useDensity } from \"../../composables/density.js\";\nimport { IconValue } from \"../../composables/icons.js\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.js\";\nimport { makeSizeProps, useSize } from \"../../composables/size.js\";\nimport { makeTagProps } from \"../../composables/tag.js\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.js\";\nimport { genOverlays, makeVariantProps, useVariant } from \"../../composables/variant.js\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.js\";\nexport const makeVAvatarProps = propsFactory({\n start: Boolean,\n end: Boolean,\n icon: IconValue,\n image: String,\n text: String,\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({\n variant: 'flat'\n })\n}, 'VAvatar');\nexport const VAvatar = genericComponent()({\n name: 'VAvatar',\n props: makeVAvatarProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n themeClasses\n } = provideTheme(props);\n const {\n borderClasses\n } = useBorder(props);\n const {\n colorClasses,\n colorStyles,\n variantClasses\n } = useVariant(props);\n const {\n densityClasses\n } = useDensity(props);\n const {\n roundedClasses\n } = useRounded(props);\n const {\n sizeClasses,\n sizeStyles\n } = useSize(props);\n useRender(() => _createVNode(props.tag, {\n \"class\": _normalizeClass(['v-avatar', {\n 'v-avatar--start': props.start,\n 'v-avatar--end': props.end\n }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class]),\n \"style\": _normalizeStyle([colorStyles.value, sizeStyles.value, props.style])\n }, {\n default: () => [!slots.default ? props.image ? _createVNode(VImg, {\n \"key\": \"image\",\n \"src\": props.image,\n \"alt\": \"\",\n \"cover\": true\n }, null) : props.icon ? _createVNode(VIcon, {\n \"key\": \"icon\",\n \"icon\": props.icon\n }, null) : props.text : _createVNode(VDefaultsProvider, {\n \"key\": \"content-defaults\",\n \"defaults\": {\n VImg: {\n cover: true,\n src: props.image\n },\n VIcon: {\n icon: props.icon\n }\n }\n }, {\n default: () => [slots.default()]\n }), genOverlays(false, 'v-avatar')]\n }));\n return {};\n }\n});\n//# sourceMappingURL=VAvatar.js.map","// Utilities\nimport { isRef, toRef } from 'vue';\nimport { propsFactory } from \"../util/index.js\"; // Types\n// Composables\nexport const makeElevationProps = propsFactory({\n elevation: {\n type: [Number, String],\n validator(v) {\n const value = parseInt(v);\n return !isNaN(value) && value >= 0 &&\n // Material Design has a maximum elevation of 24\n // https://material.io/design/environment/elevation.html#default-elevations\n value <= 24;\n }\n }\n}, 'elevation');\nexport function useElevation(props) {\n const elevationClasses = toRef(() => {\n const elevation = isRef(props) ? props.value : props.elevation;\n if (elevation == null) return [];\n return [`elevation-${elevation}`];\n });\n return {\n elevationClasses\n };\n}\n//# sourceMappingURL=elevation.js.map","// Utilities\nimport { onScopeDispose, ref, shallowRef, watch } from 'vue';\nimport { SUPPORTS_INTERSECTION } from \"../util/index.js\";\nexport function useIntersectionObserver(callback, options) {\n const intersectionRef = ref();\n const isIntersecting = shallowRef(false);\n if (SUPPORTS_INTERSECTION) {\n const observer = new IntersectionObserver(entries => {\n callback?.(entries, observer);\n isIntersecting.value = !!entries.find(entry => entry.isIntersecting);\n }, options);\n onScopeDispose(() => {\n observer.disconnect();\n });\n watch(intersectionRef, (newValue, oldValue) => {\n if (oldValue) {\n observer.unobserve(oldValue);\n isIntersecting.value = false;\n }\n if (newValue) observer.observe(newValue);\n }, {\n flush: 'post'\n });\n }\n return {\n intersectionRef,\n isIntersecting\n };\n}\n//# sourceMappingURL=intersectionObserver.js.map","// Utilities\nimport { effectScope, onScopeDispose, watch } from 'vue';\n\n// Types\n\nexport function useToggleScope(source, fn) {\n let scope;\n function start() {\n scope = effectScope();\n scope.run(() => fn.length ? fn(() => {\n scope?.stop();\n start();\n }) : fn());\n }\n watch(source, active => {\n if (active && !scope) {\n start();\n } else if (!active) {\n scope?.stop();\n scope = undefined;\n }\n }, {\n immediate: true\n });\n onScopeDispose(() => {\n scope?.stop();\n });\n}\n//# sourceMappingURL=toggleScope.js.map","// Composables\nimport { useToggleScope } from \"./toggleScope.js\"; // Utilities\nimport { computed, ref, toRaw, watch } from 'vue';\nimport { getCurrentInstance, toKebabCase } from \"../util/index.js\"; // Types\n// Composables\nexport function useProxiedModel(props, prop, defaultValue) {\n let transformIn = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : v => v;\n let transformOut = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : v => v;\n const vm = getCurrentInstance('useProxiedModel');\n const internal = ref(props[prop] !== undefined ? props[prop] : defaultValue);\n const kebabProp = toKebabCase(prop);\n const checkKebab = kebabProp !== prop;\n const isControlled = checkKebab ? computed(() => {\n void props[prop];\n return !!((vm.vnode.props?.hasOwnProperty(prop) || vm.vnode.props?.hasOwnProperty(kebabProp)) && (vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`) || vm.vnode.props?.hasOwnProperty(`onUpdate:${kebabProp}`)));\n }) : computed(() => {\n void props[prop];\n return !!(vm.vnode.props?.hasOwnProperty(prop) && vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`));\n });\n useToggleScope(() => !isControlled.value, () => {\n watch(() => props[prop], val => {\n internal.value = val;\n });\n });\n const model = computed({\n get() {\n const externalValue = props[prop];\n return transformIn(isControlled.value ? externalValue : internal.value);\n },\n set(internalValue) {\n const newValue = transformOut(internalValue);\n const value = toRaw(isControlled.value ? props[prop] : internal.value);\n if (value === newValue || transformIn(value) === internalValue) {\n return;\n }\n internal.value = newValue;\n vm?.emit(`update:${prop}`, newValue);\n }\n });\n Object.defineProperty(model, 'externalValue', {\n get: () => isControlled.value ? props[prop] : internal.value\n });\n return model;\n}\n//# sourceMappingURL=proxiedModel.js.map","// Utilities\nimport { computed, inject, provide, ref, toRef } from 'vue';\nimport { createVuetifyAdapter } from \"../locale/adapters/vuetify.js\"; // Types\nexport const LocaleSymbol = Symbol.for('vuetify:locale');\nfunction isLocaleInstance(obj) {\n return obj.name != null;\n}\nexport function createLocale(options) {\n const i18n = options?.adapter && isLocaleInstance(options?.adapter) ? options?.adapter : createVuetifyAdapter(options);\n const rtl = createRtl(i18n, options);\n return {\n ...i18n,\n ...rtl\n };\n}\nexport function useLocale() {\n const locale = inject(LocaleSymbol);\n if (!locale) throw new Error('[Vuetify] Could not find injected locale instance');\n return locale;\n}\nexport function provideLocale(props) {\n const locale = inject(LocaleSymbol);\n if (!locale) throw new Error('[Vuetify] Could not find injected locale instance');\n const i18n = locale.provide(props);\n const rtl = provideRtl(i18n, locale.rtl, props);\n const data = {\n ...i18n,\n ...rtl\n };\n provide(LocaleSymbol, data);\n return data;\n}\n\n// RTL\n\nexport const RtlSymbol = Symbol.for('vuetify:rtl');\nfunction genDefaults() {\n return {\n af: false,\n ar: true,\n bg: false,\n ca: false,\n ckb: false,\n cs: false,\n de: false,\n el: false,\n en: false,\n es: false,\n et: false,\n fa: true,\n fi: false,\n fr: false,\n hr: false,\n hu: false,\n he: true,\n id: false,\n it: false,\n ja: false,\n km: false,\n ko: false,\n lv: false,\n lt: false,\n nl: false,\n no: false,\n pl: false,\n pt: false,\n ro: false,\n ru: false,\n sk: false,\n sl: false,\n srCyrl: false,\n srLatn: false,\n sv: false,\n th: false,\n tr: false,\n az: false,\n uk: false,\n vi: false,\n zhHans: false,\n zhHant: false\n };\n}\nexport function createRtl(i18n, options) {\n const rtl = ref(options?.rtl ?? genDefaults());\n const isRtl = computed(() => rtl.value[i18n.current.value] ?? false);\n return {\n isRtl,\n rtl,\n rtlClasses: toRef(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`)\n };\n}\nexport function provideRtl(locale, rtl, props) {\n const isRtl = computed(() => props.rtl ?? rtl.value[locale.current.value] ?? false);\n return {\n isRtl,\n rtl,\n rtlClasses: toRef(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`)\n };\n}\nexport function useRtl() {\n const locale = inject(LocaleSymbol);\n if (!locale) throw new Error('[Vuetify] Could not find injected rtl instance');\n return {\n isRtl: locale.isRtl,\n rtlClasses: locale.rtlClasses\n };\n}\n//# sourceMappingURL=locale.js.map","// Composables\nimport { useRtl } from \"./locale.js\"; // Utilities\nimport { computed } from 'vue';\nimport { parseAnchor, propsFactory } from \"../util/index.js\"; // Types\nconst oppositeMap = {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left'\n};\nexport const makeLocationProps = propsFactory({\n location: String\n}, 'location');\nexport function useLocation(props) {\n let opposite = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n let offset = arguments.length > 2 ? arguments[2] : undefined;\n const {\n isRtl\n } = useRtl();\n const locationStyles = computed(() => {\n if (!props.location) return {};\n const {\n side,\n align\n } = parseAnchor(props.location.split(' ').length > 1 ? props.location : `${props.location} center`, isRtl.value);\n function getOffset(side) {\n return offset ? offset(side) : 0;\n }\n const styles = {};\n if (side !== 'center') {\n if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`;else styles[side] = 0;\n }\n if (align !== 'center') {\n if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`;else styles[align] = 0;\n } else {\n if (side === 'center') styles.top = styles.left = '50%';else {\n styles[{\n top: 'left',\n bottom: 'left',\n left: 'top',\n right: 'top'\n }[side]] = '50%';\n }\n styles.transform = {\n top: 'translateX(-50%)',\n bottom: 'translateX(-50%)',\n left: 'translateY(-50%)',\n right: 'translateY(-50%)',\n center: 'translate(-50%, -50%)'\n }[side];\n }\n return styles;\n });\n return {\n locationStyles\n };\n}\n//# sourceMappingURL=location.js.map","// Utilities\nimport { onBeforeUnmount, readonly, ref, watch } from 'vue';\nimport { templateRef } from \"../util/index.js\";\nimport { IN_BROWSER } from \"../util/globals.js\"; // Types\nexport function useResizeObserver(callback) {\n let box = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'content';\n const resizeRef = templateRef();\n const contentRect = ref();\n if (IN_BROWSER) {\n const observer = new ResizeObserver(entries => {\n callback?.(entries, observer);\n if (!entries.length) return;\n if (box === 'content') {\n contentRect.value = entries[0].contentRect;\n } else {\n contentRect.value = entries[0].target.getBoundingClientRect();\n }\n });\n onBeforeUnmount(() => {\n observer.disconnect();\n });\n watch(() => resizeRef.el, (newValue, oldValue) => {\n if (oldValue) {\n observer.unobserve(oldValue);\n contentRect.value = undefined;\n }\n if (newValue) observer.observe(newValue);\n }, {\n flush: 'post'\n });\n }\n return {\n resizeRef,\n contentRect: readonly(contentRect)\n };\n}\n//# sourceMappingURL=resizeObserver.js.map","// Utilities\nimport { computed, toRef, toValue } from 'vue';\nimport { clamp, convertToUnit, propsFactory } from \"../../util/index.js\"; // Types\n// Composables\nexport const makeChunksProps = propsFactory({\n chunkCount: {\n type: [Number, String],\n default: null\n },\n chunkWidth: {\n type: [Number, String],\n default: null\n },\n chunkGap: {\n type: [Number, String],\n default: 4\n }\n}, 'chunks');\nexport function useChunks(props, containerWidth) {\n const hasChunks = toRef(() => !!props.chunkCount || !!props.chunkWidth);\n const chunkWidth = computed(() => {\n const containerSize = toValue(containerWidth);\n if (!containerSize) {\n return 0;\n }\n if (!props.chunkCount) {\n return Number(props.chunkWidth);\n }\n const count = Number(props.chunkCount);\n const availableWidth = containerSize - Number(props.chunkGap) * (count - 1);\n return availableWidth / count;\n });\n const chunkGap = toRef(() => Number(props.chunkGap));\n const chunksMaskStyles = computed(() => {\n if (!hasChunks.value) {\n return {};\n }\n const chunkGapPx = convertToUnit(chunkGap.value);\n const chunkWidthPx = convertToUnit(chunkWidth.value);\n return {\n maskRepeat: 'repeat-x',\n maskImage: `linear-gradient(90deg, #000, #000 ${chunkWidthPx}, transparent ${chunkWidthPx}, transparent)`,\n maskSize: `calc(${chunkWidthPx} + ${chunkGapPx}) 100%`\n };\n });\n function snapValueToChunk(val) {\n const containerSize = toValue(containerWidth);\n if (!containerSize) {\n return val;\n }\n const gapRelativeSize = 100 * chunkGap.value / containerSize;\n const chunkRelativeSize = 100 * (chunkWidth.value + chunkGap.value) / containerSize;\n const filledChunks = Math.floor((val + gapRelativeSize) / chunkRelativeSize);\n return clamp(0, filledChunks * chunkRelativeSize - gapRelativeSize / 2, 100);\n }\n return {\n hasChunks,\n chunksMaskStyles,\n snapValueToChunk\n };\n}\n//# sourceMappingURL=chunks.js.map","import { normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, normalizeStyle as _normalizeStyle, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VProgressLinear.css\";\n\n// Composables\nimport { useBackgroundColor, useTextColor } from \"../../composables/color.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { useIntersectionObserver } from \"../../composables/intersectionObserver.js\";\nimport { useRtl } from \"../../composables/locale.js\";\nimport { makeLocationProps, useLocation } from \"../../composables/location.js\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.js\";\nimport { useResizeObserver } from \"../../composables/resizeObserver.js\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.js\";\nimport { makeTagProps } from \"../../composables/tag.js\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.js\";\nimport { useToggleScope } from \"../../composables/toggleScope.js\"; // Utilities\nimport { computed, ref, shallowRef, Transition, watchEffect } from 'vue';\nimport { makeChunksProps, useChunks } from \"./chunks.js\";\nimport { clamp, convertToUnit, genericComponent, propsFactory, useRender } from \"../../util/index.js\";\nexport const makeVProgressLinearProps = propsFactory({\n absolute: Boolean,\n active: {\n type: Boolean,\n default: true\n },\n bgColor: String,\n bgOpacity: [Number, String],\n bufferValue: {\n type: [Number, String],\n default: 0\n },\n bufferColor: String,\n bufferOpacity: [Number, String],\n clickable: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 4\n },\n indeterminate: Boolean,\n max: {\n type: [Number, String],\n default: 100\n },\n modelValue: {\n type: [Number, String],\n default: 0\n },\n opacity: [Number, String],\n reverse: Boolean,\n stream: Boolean,\n striped: Boolean,\n roundedBar: Boolean,\n ...makeChunksProps(),\n ...makeComponentProps(),\n ...makeLocationProps({\n location: 'top'\n }),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps()\n}, 'VProgressLinear');\nexport const VProgressLinear = genericComponent()({\n name: 'VProgressLinear',\n props: makeVProgressLinearProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const root = ref();\n const progress = useProxiedModel(props, 'modelValue');\n const {\n isRtl,\n rtlClasses\n } = useRtl();\n const {\n themeClasses\n } = provideTheme(props);\n const {\n locationStyles\n } = useLocation(props);\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(() => props.color);\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(() => props.bgColor || props.color);\n const {\n backgroundColorClasses: bufferColorClasses,\n backgroundColorStyles: bufferColorStyles\n } = useBackgroundColor(() => props.bufferColor || props.bgColor || props.color);\n const {\n backgroundColorClasses: barColorClasses,\n backgroundColorStyles: barColorStyles\n } = useBackgroundColor(() => props.color);\n const {\n roundedClasses\n } = useRounded(props);\n const {\n intersectionRef,\n isIntersecting\n } = useIntersectionObserver();\n const max = computed(() => parseFloat(props.max));\n const height = computed(() => parseFloat(props.height));\n const normalizedBuffer = computed(() => clamp(parseFloat(props.bufferValue) / max.value * 100, 0, 100));\n const normalizedValue = computed(() => clamp(parseFloat(progress.value) / max.value * 100, 0, 100));\n const isReversed = computed(() => isRtl.value !== props.reverse);\n const transition = computed(() => props.indeterminate ? 'fade-transition' : 'slide-x-transition');\n const containerWidth = shallowRef(0);\n const {\n hasChunks,\n chunksMaskStyles,\n snapValueToChunk\n } = useChunks(props, containerWidth);\n useToggleScope(hasChunks, () => {\n const {\n resizeRef\n } = useResizeObserver(entries => containerWidth.value = entries[0].contentRect.width);\n watchEffect(() => resizeRef.value = root.value);\n });\n const bufferWidth = computed(() => {\n return hasChunks.value ? snapValueToChunk(normalizedBuffer.value) : normalizedBuffer.value;\n });\n const barWidth = computed(() => {\n return hasChunks.value ? snapValueToChunk(normalizedValue.value) : normalizedValue.value;\n });\n function handleClick(e) {\n if (!intersectionRef.value) return;\n const {\n left,\n right,\n width\n } = intersectionRef.value.getBoundingClientRect();\n const value = isReversed.value ? width - e.clientX + (right - width) : e.clientX - left;\n progress.value = Math.round(value / width * max.value);\n }\n watchEffect(() => {\n intersectionRef.value = root.value;\n });\n useRender(() => _createVNode(props.tag, {\n \"ref\": root,\n \"class\": _normalizeClass(['v-progress-linear', {\n 'v-progress-linear--absolute': props.absolute,\n 'v-progress-linear--active': props.active && isIntersecting.value,\n 'v-progress-linear--reverse': isReversed.value,\n 'v-progress-linear--rounded': props.rounded,\n 'v-progress-linear--rounded-bar': props.roundedBar,\n 'v-progress-linear--striped': props.striped,\n 'v-progress-linear--clickable': props.clickable\n }, roundedClasses.value, themeClasses.value, rtlClasses.value, props.class]),\n \"style\": _normalizeStyle([{\n bottom: props.location === 'bottom' ? 0 : undefined,\n top: props.location === 'top' ? 0 : undefined,\n height: props.active ? convertToUnit(height.value) : 0,\n '--v-progress-linear-height': convertToUnit(height.value),\n ...(props.absolute ? locationStyles.value : {})\n }, chunksMaskStyles.value, props.style]),\n \"role\": \"progressbar\",\n \"aria-hidden\": props.active ? 'false' : 'true',\n \"aria-valuemin\": \"0\",\n \"aria-valuemax\": props.max,\n \"aria-valuenow\": props.indeterminate ? undefined : Math.min(parseFloat(progress.value), max.value),\n \"onClick\": props.clickable && handleClick\n }, {\n default: () => [props.stream && _createElementVNode(\"div\", {\n \"key\": \"stream\",\n \"class\": _normalizeClass(['v-progress-linear__stream', textColorClasses.value]),\n \"style\": {\n ...textColorStyles.value,\n [isReversed.value ? 'left' : 'right']: convertToUnit(-height.value),\n borderTop: `${convertToUnit(height.value / 2)} dotted`,\n opacity: parseFloat(props.bufferOpacity),\n top: `calc(50% - ${convertToUnit(height.value / 4)})`,\n width: convertToUnit(100 - normalizedBuffer.value, '%'),\n '--v-progress-linear-stream-to': convertToUnit(height.value * (isReversed.value ? 1 : -1))\n }\n }, null), _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-progress-linear__background', backgroundColorClasses.value]),\n \"style\": _normalizeStyle([backgroundColorStyles.value, {\n opacity: parseFloat(props.bgOpacity),\n width: props.stream ? 0 : undefined\n }])\n }, null), _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-progress-linear__buffer', bufferColorClasses.value]),\n \"style\": _normalizeStyle([bufferColorStyles.value, {\n opacity: parseFloat(props.bufferOpacity),\n width: convertToUnit(bufferWidth.value, '%')\n }])\n }, null), _createVNode(Transition, {\n \"name\": transition.value\n }, {\n default: () => [!props.indeterminate ? _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-progress-linear__determinate', barColorClasses.value]),\n \"style\": _normalizeStyle([barColorStyles.value, {\n width: convertToUnit(barWidth.value, '%')\n }])\n }, null) : _createElementVNode(\"div\", {\n \"class\": \"v-progress-linear__indeterminate\"\n }, [['long', 'short'].map(bar => _createElementVNode(\"div\", {\n \"key\": bar,\n \"class\": _normalizeClass(['v-progress-linear__indeterminate', bar, barColorClasses.value]),\n \"style\": _normalizeStyle(barColorStyles.value)\n }, null))])]\n }), slots.default && _createElementVNode(\"div\", {\n \"class\": \"v-progress-linear__content\"\n }, [slots.default({\n value: normalizedValue.value,\n buffer: normalizedBuffer.value\n })])]\n }));\n return {};\n }\n});\n//# sourceMappingURL=VProgressLinear.js.map","import { createVNode as _createVNode, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode } from \"vue\";\n// Components\nimport { VProgressLinear } from \"../components/VProgressLinear/index.js\"; // Utilities\nimport { toRef } from 'vue';\nimport { getCurrentInstanceName, propsFactory } from \"../util/index.js\"; // Types\n// Composables\nexport const makeLoaderProps = propsFactory({\n loading: [Boolean, String]\n}, 'loader');\nexport function useLoader(props) {\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n const loaderClasses = toRef(() => ({\n [`${name}--loading`]: props.loading\n }));\n return {\n loaderClasses\n };\n}\nexport function LoaderSlot(props, _ref) {\n let {\n slots\n } = _ref;\n return _createElementVNode(\"div\", {\n \"class\": _normalizeClass(`${props.name}__loader`)\n }, [slots.default?.({\n color: props.color,\n isActive: props.active\n }) || _createVNode(VProgressLinear, {\n \"absolute\": props.absolute,\n \"active\": props.active,\n \"color\": props.color,\n \"height\": \"2\",\n \"indeterminate\": true\n }, null)]);\n}\n//# sourceMappingURL=loader.js.map","// Utilities\nimport { toRef } from 'vue';\nimport { getCurrentInstanceName, propsFactory } from \"../util/index.js\"; // Types\nconst positionValues = ['static', 'relative', 'fixed', 'absolute', 'sticky'];\n// Composables\nexport const makePositionProps = propsFactory({\n position: {\n type: String,\n validator: /* istanbul ignore next */v => positionValues.includes(v)\n }\n}, 'position');\nexport function usePosition(props) {\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n const positionClasses = toRef(() => {\n return props.position ? `${name}--${props.position}` : undefined;\n });\n return {\n positionClasses\n };\n}\n//# sourceMappingURL=position.js.map","// Utilities\nimport { computed, nextTick, onScopeDispose, reactive, resolveDynamicComponent, toRef } from 'vue';\nimport { deepEqual, getCurrentInstance, hasEvent, IN_BROWSER, propsFactory } from \"../util/index.js\"; // Types\nexport function useRoute() {\n const vm = getCurrentInstance('useRoute');\n return computed(() => vm?.proxy?.$route);\n}\nexport function useRouter() {\n return getCurrentInstance('useRouter')?.proxy?.$router;\n}\nexport function useLink(props, attrs) {\n const RouterLink = resolveDynamicComponent('RouterLink');\n const isLink = toRef(() => !!(props.href || props.to));\n const isClickable = computed(() => {\n return isLink?.value || hasEvent(attrs, 'click') || hasEvent(props, 'click');\n });\n if (typeof RouterLink === 'string' || !('useLink' in RouterLink)) {\n const href = toRef(() => props.href);\n return {\n isLink,\n isRouterLink: toRef(() => false),\n isClickable,\n href,\n linkProps: reactive({\n href\n })\n };\n }\n\n // vue-router useLink `to` prop needs to be reactive and useLink will crash if undefined\n const routerLink = RouterLink.useLink({\n to: toRef(() => props.to || ''),\n replace: toRef(() => props.replace)\n });\n // Actual link needs to be undefined when to prop is not used\n const link = computed(() => props.to ? routerLink : undefined);\n const route = useRoute();\n const isActive = computed(() => {\n if (!link.value) return false;\n if (!props.exact) return link.value.isActive?.value ?? false;\n if (!route.value) return link.value.isExactActive?.value ?? false;\n return link.value.isExactActive?.value && deepEqual(link.value.route.value.query, route.value.query);\n });\n const href = computed(() => props.to ? link.value?.route.value.href : props.href);\n const isRouterLink = toRef(() => !!props.to);\n return {\n isLink,\n isRouterLink,\n isClickable,\n isActive,\n route: link.value?.route,\n navigate: link.value?.navigate,\n href,\n linkProps: reactive({\n href,\n 'aria-current': toRef(() => isActive.value ? 'page' : undefined),\n 'aria-disabled': toRef(() => props.disabled && isLink.value ? 'true' : undefined),\n tabindex: toRef(() => props.disabled && isLink.value ? '-1' : undefined)\n })\n };\n}\nexport const makeRouterProps = propsFactory({\n href: String,\n replace: Boolean,\n to: [String, Object],\n exact: Boolean\n}, 'router');\nlet inTransition = false;\nexport function useBackButton(router, cb) {\n let popped = false;\n let removeBefore;\n let removeAfter;\n if (IN_BROWSER && router?.beforeEach) {\n nextTick(() => {\n window.addEventListener('popstate', onPopstate);\n removeBefore = router.beforeEach((to, from, next) => {\n if (!inTransition) {\n setTimeout(() => popped ? cb(next) : next());\n } else {\n popped ? cb(next) : next();\n }\n inTransition = true;\n });\n removeAfter = router?.afterEach(() => {\n inTransition = false;\n });\n });\n onScopeDispose(() => {\n window.removeEventListener('popstate', onPopstate);\n removeBefore?.();\n removeAfter?.();\n });\n }\n function onPopstate(e) {\n if (e.state?.replaced) return;\n popped = true;\n setTimeout(() => popped = false);\n }\n}\n//# sourceMappingURL=router.js.map","// Styles\nimport \"./VRipple.css\";\n\n// Utilities\nimport { isObject } from \"../../util/index.js\"; // Types\nconst stopSymbol = Symbol('rippleStop');\nconst DELAY_RIPPLE = 80;\nfunction transform(el, value) {\n el.style.transform = value;\n el.style.webkitTransform = value;\n}\nfunction isTouchEvent(e) {\n return e.constructor.name === 'TouchEvent';\n}\nfunction isKeyboardEvent(e) {\n return e.constructor.name === 'KeyboardEvent';\n}\nconst calculate = function (e, el) {\n let value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n let localX = 0;\n let localY = 0;\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect();\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e;\n localX = target.clientX - offset.left;\n localY = target.clientY - offset.top;\n }\n let radius = 0;\n let scale = 0.3;\n if (el._ripple?.circle) {\n scale = 0.15;\n radius = el.clientWidth / 2;\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4;\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2;\n }\n const centerX = `${(el.clientWidth - radius * 2) / 2}px`;\n const centerY = `${(el.clientHeight - radius * 2) / 2}px`;\n const x = value.center ? centerX : `${localX - radius}px`;\n const y = value.center ? centerY : `${localY - radius}px`;\n return {\n radius,\n scale,\n x,\n y,\n centerX,\n centerY\n };\n};\nconst ripples = {\n /* eslint-disable max-statements */\n show(e, el) {\n let value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n if (!el?._ripple?.enabled) {\n return;\n }\n const container = document.createElement('span');\n const animation = document.createElement('span');\n container.appendChild(animation);\n container.className = 'v-ripple__container';\n if (value.class) {\n container.className += ` ${value.class}`;\n }\n const {\n radius,\n scale,\n x,\n y,\n centerX,\n centerY\n } = calculate(e, el, value);\n const size = `${radius * 2}px`;\n animation.className = 'v-ripple__animation';\n animation.style.width = size;\n animation.style.height = size;\n el.appendChild(container);\n const computed = window.getComputedStyle(el);\n if (computed && computed.position === 'static') {\n el.style.position = 'relative';\n el.dataset.previousPosition = 'static';\n }\n animation.classList.add('v-ripple__animation--enter');\n animation.classList.add('v-ripple__animation--visible');\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`);\n animation.dataset.activated = String(performance.now());\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n animation.classList.remove('v-ripple__animation--enter');\n animation.classList.add('v-ripple__animation--in');\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`);\n });\n });\n },\n hide(el) {\n if (!el?._ripple?.enabled) return;\n const ripples = el.getElementsByClassName('v-ripple__animation');\n if (ripples.length === 0) return;\n const animation = Array.from(ripples).findLast(ripple => !ripple.dataset.isHiding);\n if (!animation) return;else animation.dataset.isHiding = 'true';\n const diff = performance.now() - Number(animation.dataset.activated);\n const delay = Math.max(250 - diff, 0);\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in');\n animation.classList.add('v-ripple__animation--out');\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation');\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition;\n delete el.dataset.previousPosition;\n }\n if (animation.parentNode?.parentNode === el) el.removeChild(animation.parentNode);\n }, 300);\n }, delay);\n }\n};\nfunction isRippleEnabled(value) {\n return typeof value === 'undefined' || !!value;\n}\nfunction rippleShow(e) {\n const value = {};\n const element = e.currentTarget;\n if (!element?._ripple || element._ripple.touched || e[stopSymbol]) return;\n\n // Don't allow the event to trigger ripples on any other elements\n e[stopSymbol] = true;\n if (isTouchEvent(e)) {\n element._ripple.touched = true;\n element._ripple.isTouch = true;\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return;\n }\n value.center = element._ripple.centered || isKeyboardEvent(e);\n if (element._ripple.class) {\n value.class = element._ripple.class;\n }\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return;\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value);\n };\n element._ripple.showTimer = window.setTimeout(() => {\n if (element?._ripple?.showTimerCommit) {\n element._ripple.showTimerCommit();\n element._ripple.showTimerCommit = null;\n }\n }, DELAY_RIPPLE);\n } else {\n ripples.show(e, element, value);\n }\n}\nfunction rippleStop(e) {\n e[stopSymbol] = true;\n}\nfunction rippleHide(e) {\n const element = e.currentTarget;\n if (!element?._ripple) return;\n window.clearTimeout(element._ripple.showTimer);\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit();\n element._ripple.showTimerCommit = null;\n\n // re-queue ripple hiding\n element._ripple.showTimer = window.setTimeout(() => {\n rippleHide(e);\n });\n return;\n }\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false;\n }\n });\n ripples.hide(element);\n}\nfunction rippleCancelShow(e) {\n const element = e.currentTarget;\n if (!element?._ripple) return;\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null;\n }\n window.clearTimeout(element._ripple.showTimer);\n}\nlet keyboardRipple = false;\nfunction keyboardRippleShow(e, keys) {\n if (!keyboardRipple && keys.includes(e.key)) {\n keyboardRipple = true;\n rippleShow(e);\n }\n}\nfunction keyboardRippleHide(e) {\n keyboardRipple = false;\n rippleHide(e);\n}\nfunction focusRippleHide(e) {\n if (keyboardRipple) {\n keyboardRipple = false;\n rippleHide(e);\n }\n}\nfunction updateRipple(el, binding, wasEnabled) {\n const {\n value,\n modifiers\n } = binding;\n const enabled = isRippleEnabled(value);\n if (!enabled) {\n ripples.hide(el);\n }\n el._ripple = el._ripple ?? {};\n el._ripple.enabled = enabled;\n el._ripple.centered = modifiers.center;\n el._ripple.circle = modifiers.circle;\n const bindingValue = isObject(value) ? value : {};\n if (bindingValue.class) {\n el._ripple.class = bindingValue.class;\n }\n const allowedKeys = bindingValue.keys ?? ['Enter', 'Space'];\n el._ripple.keyDownHandler = e => keyboardRippleShow(e, allowedKeys);\n if (enabled && !wasEnabled) {\n if (modifiers.stop) {\n el.addEventListener('touchstart', rippleStop, {\n passive: true\n });\n el.addEventListener('mousedown', rippleStop);\n return;\n }\n el.addEventListener('touchstart', rippleShow, {\n passive: true\n });\n el.addEventListener('touchend', rippleHide, {\n passive: true\n });\n el.addEventListener('touchmove', rippleCancelShow, {\n passive: true\n });\n el.addEventListener('touchcancel', rippleHide);\n el.addEventListener('mousedown', rippleShow);\n el.addEventListener('mouseup', rippleHide);\n el.addEventListener('mouseleave', rippleHide);\n el.addEventListener('keydown', e => keyboardRippleShow(e, allowedKeys));\n el.addEventListener('keyup', keyboardRippleHide);\n el.addEventListener('blur', focusRippleHide);\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, {\n passive: true\n });\n } else if (!enabled && wasEnabled) {\n removeListeners(el);\n }\n}\nfunction removeListeners(el) {\n el.removeEventListener('mousedown', rippleShow);\n el.removeEventListener('touchstart', rippleShow);\n el.removeEventListener('touchend', rippleHide);\n el.removeEventListener('touchmove', rippleCancelShow);\n el.removeEventListener('touchcancel', rippleHide);\n el.removeEventListener('mouseup', rippleHide);\n el.removeEventListener('mouseleave', rippleHide);\n if (el._ripple?.keyDownHandler) {\n el.removeEventListener('keydown', el._ripple.keyDownHandler);\n }\n el.removeEventListener('keyup', keyboardRippleHide);\n el.removeEventListener('dragstart', rippleHide);\n el.removeEventListener('blur', focusRippleHide);\n}\nfunction mounted(el, binding) {\n updateRipple(el, binding, false);\n}\nfunction unmounted(el) {\n removeListeners(el);\n delete el._ripple;\n}\nfunction updated(el, binding) {\n if (binding.value === binding.oldValue) {\n return;\n }\n const wasEnabled = isRippleEnabled(binding.oldValue);\n updateRipple(el, binding, wasEnabled);\n}\nexport const Ripple = {\n mounted,\n unmounted,\n updated\n};\nexport default Ripple;\n//# sourceMappingURL=index.js.map","import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VBtnGroup.css\";\n\n// Composables\nimport { makeBorderProps, useBorder } from \"../../composables/border.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { provideDefaults } from \"../../composables/defaults.js\";\nimport { makeDensityProps, useDensity } from \"../../composables/density.js\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.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 { toRef } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVBtnGroupProps = propsFactory({\n baseColor: String,\n divided: Boolean,\n direction: {\n type: String,\n default: 'horizontal'\n },\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps()\n}, 'VBtnGroup');\nexport const VBtnGroup = genericComponent()({\n name: 'VBtnGroup',\n props: makeVBtnGroupProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n themeClasses\n } = provideTheme(props);\n const {\n densityClasses\n } = useDensity(props);\n const {\n borderClasses\n } = useBorder(props);\n const {\n elevationClasses\n } = useElevation(props);\n const {\n roundedClasses\n } = useRounded(props);\n provideDefaults({\n VBtn: {\n height: toRef(() => props.direction === 'horizontal' ? 'auto' : null),\n baseColor: toRef(() => props.baseColor),\n color: toRef(() => props.color),\n density: toRef(() => props.density),\n flat: true,\n variant: toRef(() => props.variant)\n }\n });\n useRender(() => {\n return _createVNode(props.tag, {\n \"class\": _normalizeClass(['v-btn-group', `v-btn-group--${props.direction}`, {\n 'v-btn-group--divided': props.divided\n }, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class]),\n \"style\": _normalizeStyle(props.style)\n }, slots);\n });\n }\n});\n//# sourceMappingURL=VBtnGroup.js.map","// Composables\nimport { useProxiedModel } from \"./proxiedModel.js\"; // Utilities\nimport { computed, inject, onBeforeUnmount, onMounted, onUpdated, provide, reactive, toRef, unref, useId, watch } from 'vue';\nimport { consoleWarn, deepEqual, findChildrenWithProvide, getCurrentInstance, propsFactory, wrapInArray } from \"../util/index.js\"; // Types\nexport const makeGroupProps = propsFactory({\n modelValue: {\n type: null,\n default: undefined\n },\n multiple: Boolean,\n mandatory: [Boolean, String],\n max: Number,\n selectedClass: String,\n disabled: Boolean\n}, 'group');\nexport const makeGroupItemProps = propsFactory({\n value: null,\n disabled: Boolean,\n selectedClass: String\n}, 'group-item');\n\n// Composables\n\nexport function useGroupItem(props, injectKey) {\n let required = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n const vm = getCurrentInstance('useGroupItem');\n if (!vm) {\n throw new Error('[Vuetify] useGroupItem composable must be used inside a component setup function');\n }\n const id = useId();\n provide(Symbol.for(`${injectKey.description}:id`), id);\n const group = inject(injectKey, null);\n if (!group) {\n if (!required) return group;\n throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${injectKey.description}`);\n }\n const value = toRef(() => props.value);\n const disabled = computed(() => !!(group.disabled.value || props.disabled));\n function register() {\n group?.register({\n id,\n value,\n disabled\n }, vm);\n }\n function unregister() {\n group?.unregister(id);\n }\n register();\n onBeforeUnmount(() => unregister());\n const isSelected = computed(() => {\n return group.isSelected(id);\n });\n const isFirst = computed(() => {\n return group.items.value[0].id === id;\n });\n const isLast = computed(() => {\n return group.items.value[group.items.value.length - 1].id === id;\n });\n const selectedClass = computed(() => isSelected.value && [group.selectedClass.value, props.selectedClass]);\n watch(isSelected, value => {\n vm.emit('group:selected', {\n value\n });\n }, {\n flush: 'sync'\n });\n return {\n id,\n isSelected,\n isFirst,\n isLast,\n toggle: () => group.select(id, !isSelected.value),\n select: value => group.select(id, value),\n selectedClass,\n value,\n disabled,\n group,\n register,\n unregister\n };\n}\nexport function useGroup(props, injectKey) {\n let isUnmounted = false;\n const items = reactive([]);\n const selected = useProxiedModel(props, 'modelValue', [], v => {\n if (v === undefined) return [];\n return getIds(items, v === null ? [null] : wrapInArray(v));\n }, v => {\n const arr = getValues(items, v);\n return props.multiple ? arr : arr[0];\n });\n const groupVm = getCurrentInstance('useGroup');\n function register(item, vm) {\n // Is there a better way to fix this typing?\n const unwrapped = item;\n const key = Symbol.for(`${injectKey.description}:id`);\n const children = findChildrenWithProvide(key, groupVm?.vnode);\n const index = children.indexOf(vm);\n if (unref(unwrapped.value) === undefined) {\n unwrapped.value = index;\n unwrapped.useIndexAsValue = true;\n }\n if (index > -1) {\n items.splice(index, 0, unwrapped);\n } else {\n items.push(unwrapped);\n }\n }\n function unregister(id) {\n if (isUnmounted) return;\n\n // TODO: re-evaluate this line's importance in the future\n // should we only modify the model if mandatory is set.\n // selected.value = selected.value.filter(v => v !== id)\n\n forceMandatoryValue();\n const index = items.findIndex(item => item.id === id);\n items.splice(index, 1);\n }\n\n // If mandatory and nothing is selected, then select first non-disabled item\n function forceMandatoryValue() {\n const item = items.find(item => !item.disabled);\n if (item && props.mandatory === 'force' && !selected.value.length) {\n selected.value = [item.id];\n }\n }\n onMounted(() => {\n forceMandatoryValue();\n });\n onBeforeUnmount(() => {\n isUnmounted = true;\n });\n onUpdated(() => {\n // #19655 update the items that use the index as the value.\n for (let i = 0; i < items.length; i++) {\n if (items[i].useIndexAsValue) {\n items[i].value = i;\n }\n }\n });\n function select(id, value) {\n const item = items.find(item => item.id === id);\n if (value && item?.disabled) return;\n if (props.multiple) {\n const internalValue = selected.value.slice();\n const index = internalValue.findIndex(v => v === id);\n const isSelected = ~index;\n value = value ?? !isSelected;\n\n // We can't remove value if group is\n // mandatory, value already exists,\n // and it is the only value\n if (isSelected && props.mandatory && internalValue.length <= 1) return;\n\n // We can't add value if it would\n // cause max limit to be exceeded\n if (!isSelected && props.max != null && internalValue.length + 1 > props.max) return;\n if (index < 0 && value) internalValue.push(id);else if (index >= 0 && !value) internalValue.splice(index, 1);\n selected.value = internalValue;\n } else {\n const isSelected = selected.value.includes(id);\n if (props.mandatory && isSelected) return;\n if (!isSelected && !value) return;\n selected.value = value ?? !isSelected ? [id] : [];\n }\n }\n function step(offset) {\n // getting an offset from selected value obviously won't work with multiple values\n if (props.multiple) consoleWarn('This method is not supported when using \"multiple\" prop');\n if (!selected.value.length) {\n const item = items.find(item => !item.disabled);\n item && (selected.value = [item.id]);\n } else {\n const currentId = selected.value[0];\n const currentIndex = items.findIndex(i => i.id === currentId);\n let newIndex = (currentIndex + offset) % items.length;\n let newItem = items[newIndex];\n while (newItem.disabled && newIndex !== currentIndex) {\n newIndex = (newIndex + offset) % items.length;\n newItem = items[newIndex];\n }\n if (newItem.disabled) return;\n selected.value = [items[newIndex].id];\n }\n }\n const state = {\n register,\n unregister,\n selected,\n select,\n disabled: toRef(() => props.disabled),\n prev: () => step(items.length - 1),\n next: () => step(1),\n isSelected: id => selected.value.includes(id),\n selectedClass: toRef(() => props.selectedClass),\n items: toRef(() => items),\n getItemIndex: value => getItemIndex(items, value)\n };\n provide(injectKey, state);\n return state;\n}\nfunction getItemIndex(items, value) {\n const ids = getIds(items, [value]);\n if (!ids.length) return -1;\n return items.findIndex(item => item.id === ids[0]);\n}\nfunction getIds(items, modelValue) {\n const ids = [];\n modelValue.forEach(value => {\n const item = items.find(item => deepEqual(value, item.value));\n const itemByIndex = items[value];\n if (item?.value !== undefined) {\n ids.push(item.id);\n } else if (itemByIndex?.useIndexAsValue) {\n ids.push(itemByIndex.id);\n }\n });\n return ids;\n}\nfunction getValues(items, ids) {\n const values = [];\n ids.forEach(id => {\n const itemIndex = items.findIndex(item => item.id === id);\n if (~itemIndex) {\n const item = items[itemIndex];\n values.push(item.value !== undefined ? item.value : itemIndex);\n }\n });\n return values;\n}\n//# sourceMappingURL=group.js.map","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VBtnToggle.css\";\n\n// Components\nimport { makeVBtnGroupProps, VBtnGroup } from \"../VBtnGroup/VBtnGroup.js\"; // Composables\nimport { makeGroupProps, useGroup } from \"../../composables/group.js\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const VBtnToggleSymbol = Symbol.for('vuetify:v-btn-toggle');\nexport const makeVBtnToggleProps = propsFactory({\n ...makeVBtnGroupProps(),\n ...makeGroupProps()\n}, 'VBtnToggle');\nexport const VBtnToggle = genericComponent()({\n name: 'VBtnToggle',\n props: makeVBtnToggleProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n isSelected,\n next,\n prev,\n select,\n selected\n } = useGroup(props, VBtnToggleSymbol);\n useRender(() => {\n const btnGroupProps = VBtnGroup.filterProps(props);\n return _createVNode(VBtnGroup, _mergeProps({\n \"class\": ['v-btn-toggle', props.class]\n }, btnGroupProps, {\n \"style\": props.style\n }), {\n default: () => [slots.default?.({\n isSelected,\n next,\n prev,\n select,\n selected\n })]\n });\n });\n return {\n next,\n prev,\n select\n };\n }\n});\n//# sourceMappingURL=VBtnToggle.js.map","import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VProgressCircular.css\";\n\n// Composables\nimport { useTextColor } from \"../../composables/color.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { useIntersectionObserver } from \"../../composables/intersectionObserver.js\";\nimport { useResizeObserver } from \"../../composables/resizeObserver.js\";\nimport { makeSizeProps, useSize } from \"../../composables/size.js\";\nimport { makeTagProps } from \"../../composables/tag.js\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.js\"; // Utilities\nimport { ref, toRef, watchEffect } from 'vue';\nimport { clamp, convertToUnit, genericComponent, PREFERS_REDUCED_MOTION, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVProgressCircularProps = propsFactory({\n bgColor: String,\n color: String,\n indeterminate: [Boolean, String],\n modelValue: {\n type: [Number, String],\n default: 0\n },\n rotate: {\n type: [Number, String],\n default: 0\n },\n width: {\n type: [Number, String],\n default: 4\n },\n ...makeComponentProps(),\n ...makeSizeProps(),\n ...makeTagProps({\n tag: 'div'\n }),\n ...makeThemeProps()\n}, 'VProgressCircular');\nexport const VProgressCircular = genericComponent()({\n name: 'VProgressCircular',\n props: makeVProgressCircularProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const MAGIC_RADIUS_CONSTANT = 20;\n const CIRCUMFERENCE = 2 * Math.PI * MAGIC_RADIUS_CONSTANT;\n const root = ref();\n const {\n themeClasses\n } = provideTheme(props);\n const {\n sizeClasses,\n sizeStyles\n } = useSize(props);\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(() => props.color);\n const {\n textColorClasses: underlayColorClasses,\n textColorStyles: underlayColorStyles\n } = useTextColor(() => props.bgColor);\n const {\n intersectionRef,\n isIntersecting\n } = useIntersectionObserver();\n const {\n resizeRef,\n contentRect\n } = useResizeObserver();\n const normalizedValue = toRef(() => clamp(parseFloat(props.modelValue), 0, 100));\n const width = toRef(() => Number(props.width));\n const size = toRef(() => {\n // Get size from element if size prop value is small, large etc\n return sizeStyles.value ? Number(props.size) : contentRect.value ? contentRect.value.width : Math.max(width.value, 32);\n });\n const diameter = toRef(() => MAGIC_RADIUS_CONSTANT / (1 - width.value / size.value) * 2);\n const strokeWidth = toRef(() => width.value / size.value * diameter.value);\n const strokeDashOffset = toRef(() => convertToUnit((100 - normalizedValue.value) / 100 * CIRCUMFERENCE));\n watchEffect(() => {\n intersectionRef.value = root.value;\n resizeRef.value = root.value;\n });\n useRender(() => _createVNode(props.tag, {\n \"ref\": root,\n \"class\": _normalizeClass(['v-progress-circular', {\n 'v-progress-circular--indeterminate': !!props.indeterminate,\n 'v-progress-circular--visible': isIntersecting.value,\n 'v-progress-circular--disable-shrink': props.indeterminate && (props.indeterminate === 'disable-shrink' || PREFERS_REDUCED_MOTION())\n }, themeClasses.value, sizeClasses.value, textColorClasses.value, props.class]),\n \"style\": _normalizeStyle([sizeStyles.value, textColorStyles.value, props.style]),\n \"role\": \"progressbar\",\n \"aria-valuemin\": \"0\",\n \"aria-valuemax\": \"100\",\n \"aria-valuenow\": props.indeterminate ? undefined : normalizedValue.value\n }, {\n default: () => [_createElementVNode(\"svg\", {\n \"style\": {\n transform: `rotate(calc(-90deg + ${Number(props.rotate)}deg))`\n },\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": `0 0 ${diameter.value} ${diameter.value}`\n }, [_createElementVNode(\"circle\", {\n \"class\": _normalizeClass(['v-progress-circular__underlay', underlayColorClasses.value]),\n \"style\": _normalizeStyle(underlayColorStyles.value),\n \"fill\": \"transparent\",\n \"cx\": \"50%\",\n \"cy\": \"50%\",\n \"r\": MAGIC_RADIUS_CONSTANT,\n \"stroke-width\": strokeWidth.value,\n \"stroke-dasharray\": CIRCUMFERENCE,\n \"stroke-dashoffset\": 0\n }, null), _createElementVNode(\"circle\", {\n \"class\": \"v-progress-circular__overlay\",\n \"fill\": \"transparent\",\n \"cx\": \"50%\",\n \"cy\": \"50%\",\n \"r\": MAGIC_RADIUS_CONSTANT,\n \"stroke-width\": strokeWidth.value,\n \"stroke-dasharray\": CIRCUMFERENCE,\n \"stroke-dashoffset\": strokeDashOffset.value\n }, null)]), slots.default && _createElementVNode(\"div\", {\n \"class\": \"v-progress-circular__content\"\n }, [slots.default({\n value: normalizedValue.value\n })])]\n }));\n return {};\n }\n});\n//# sourceMappingURL=VProgressCircular.js.map","// Utilities\nimport { nextTick, watch } from 'vue';\n\n// Types\n\nexport function useSelectLink(link, select) {\n watch(() => link.isActive?.value, isActive => {\n if (link.isLink.value && isActive != null && select) {\n nextTick(() => {\n select(isActive);\n });\n }\n }, {\n immediate: true\n });\n}\n//# sourceMappingURL=selectLink.js.map","import { createVNode as _createVNode, createElementVNode as _createElementVNode, mergeProps as _mergeProps } from \"vue\";\n// Styles\nimport \"./VBtn.css\";\n\n// Components\nimport { VBtnToggleSymbol } from \"../VBtnToggle/VBtnToggle.js\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.js\";\nimport { VIcon } from \"../VIcon/index.js\";\nimport { VProgressCircular } from \"../VProgressCircular/index.js\"; // Composables\nimport { makeBorderProps, useBorder } from \"../../composables/border.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 { makeGroupItemProps, useGroupItem } from \"../../composables/group.js\";\nimport { IconValue } from \"../../composables/icons.js\";\nimport { makeLoaderProps, useLoader } from \"../../composables/loader.js\";\nimport { makeLocationProps, useLocation } from \"../../composables/location.js\";\nimport { makePositionProps, usePosition } from \"../../composables/position.js\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.js\";\nimport { makeRouterProps, useLink } from \"../../composables/router.js\";\nimport { useSelectLink } from \"../../composables/selectLink.js\";\nimport { makeSizeProps, useSize } from \"../../composables/size.js\";\nimport { makeTagProps } from \"../../composables/tag.js\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.js\";\nimport { genOverlays, makeVariantProps, useVariant } from \"../../composables/variant.js\"; // Directives\nimport vRipple from \"../../directives/ripple/index.js\"; // Utilities\nimport { computed, toDisplayString, toRef, withDirectives } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined\n },\n activeColor: String,\n baseColor: String,\n symbol: {\n type: null,\n default: VBtnToggleSymbol\n },\n flat: Boolean,\n icon: [Boolean, String, Function, Object],\n prependIcon: IconValue,\n appendIcon: IconValue,\n block: Boolean,\n readonly: Boolean,\n slim: Boolean,\n stacked: Boolean,\n spaced: String,\n ripple: {\n type: [Boolean, Object],\n default: true\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined\n },\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({\n tag: 'button'\n }),\n ...makeThemeProps(),\n ...makeVariantProps({\n variant: 'elevated'\n })\n}, 'VBtn');\nexport const VBtn = genericComponent()({\n name: 'VBtn',\n props: makeVBtnProps(),\n emits: {\n 'group:selected': val => true\n },\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const {\n themeClasses\n } = provideTheme(props);\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 loaderClasses\n } = useLoader(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 sizeClasses,\n sizeStyles\n } = useSize(props);\n const group = useGroupItem(props, props.symbol, false);\n const link = useLink(props, attrs);\n const isActive = computed(() => {\n if (props.active !== undefined) {\n return props.active;\n }\n if (link.isRouterLink.value) {\n return link.isActive?.value;\n }\n return group?.isSelected.value;\n });\n const color = toRef(() => isActive.value ? props.activeColor ?? props.color : props.color);\n const variantProps = computed(() => {\n const showColor = group?.isSelected.value && (!link.isLink.value || link.isActive?.value) || !group || link.isActive?.value;\n return {\n color: showColor ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant\n };\n });\n const {\n colorClasses,\n colorStyles,\n variantClasses\n } = useVariant(variantProps);\n const isDisabled = computed(() => group?.disabled.value || props.disabled);\n const isElevated = toRef(() => {\n return props.variant === 'elevated' && !(props.disabled || props.flat || props.border);\n });\n const valueAttr = computed(() => {\n if (props.value === undefined || typeof props.value === 'symbol') return undefined;\n return Object(props.value) === props.value ? JSON.stringify(props.value, null, 0) : props.value;\n });\n function onClick(e) {\n if (isDisabled.value || link.isLink.value && (e.metaKey || e.ctrlKey || e.shiftKey || e.button !== 0 || attrs.target === '_blank')) return;\n if (link.isRouterLink.value) {\n link.navigate?.(e);\n } else {\n // Group active state for links is handled by useSelectLink\n group?.toggle();\n }\n }\n useSelectLink(link, group?.select);\n useRender(() => {\n const Tag = link.isLink.value ? 'a' : props.tag;\n const hasPrepend = !!(props.prependIcon || slots.prepend);\n const hasAppend = !!(props.appendIcon || slots.append);\n const hasIcon = !!(props.icon && props.icon !== true);\n return withDirectives(_createVNode(Tag, _mergeProps(link.linkProps, {\n \"type\": Tag === 'a' ? undefined : 'button',\n \"class\": ['v-btn', group?.selectedClass.value, {\n 'v-btn--active': isActive.value,\n 'v-btn--block': props.block,\n 'v-btn--disabled': isDisabled.value,\n 'v-btn--elevated': isElevated.value,\n 'v-btn--flat': props.flat,\n 'v-btn--icon': !!props.icon,\n 'v-btn--loading': props.loading,\n 'v-btn--readonly': props.readonly,\n 'v-btn--slim': props.slim,\n 'v-btn--stacked': props.stacked\n }, props.spaced ? ['v-btn--spaced', `v-btn--spaced-${props.spaced}`] : [], themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],\n \"style\": [colorStyles.value, dimensionStyles.value, locationStyles.value, sizeStyles.value, props.style],\n \"aria-busy\": props.loading ? true : undefined,\n \"disabled\": isDisabled.value && Tag !== 'a' || undefined,\n \"tabindex\": props.loading || props.readonly ? -1 : undefined,\n \"onClick\": onClick,\n \"value\": valueAttr.value\n }), {\n default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && _createElementVNode(\"span\", {\n \"key\": \"prepend\",\n \"class\": \"v-btn__prepend\"\n }, [!slots.prepend ? _createVNode(VIcon, {\n \"key\": \"prepend-icon\",\n \"icon\": props.prependIcon\n }, null) : _createVNode(VDefaultsProvider, {\n \"key\": \"prepend-defaults\",\n \"disabled\": !props.prependIcon,\n \"defaults\": {\n VIcon: {\n icon: props.prependIcon\n }\n }\n }, slots.prepend)]), _createElementVNode(\"span\", {\n \"class\": \"v-btn__content\",\n \"data-no-activator\": \"\"\n }, [!slots.default && hasIcon ? _createVNode(VIcon, {\n \"key\": \"content-icon\",\n \"icon\": props.icon\n }, null) : _createVNode(VDefaultsProvider, {\n \"key\": \"content-defaults\",\n \"disabled\": !hasIcon,\n \"defaults\": {\n VIcon: {\n icon: props.icon\n }\n }\n }, {\n default: () => [slots.default?.() ?? toDisplayString(props.text)]\n })]), !props.icon && hasAppend && _createElementVNode(\"span\", {\n \"key\": \"append\",\n \"class\": \"v-btn__append\"\n }, [!slots.append ? _createVNode(VIcon, {\n \"key\": \"append-icon\",\n \"icon\": props.appendIcon\n }, null) : _createVNode(VDefaultsProvider, {\n \"key\": \"append-defaults\",\n \"disabled\": !props.appendIcon,\n \"defaults\": {\n VIcon: {\n icon: props.appendIcon\n }\n }\n }, slots.append)]), !!props.loading && _createElementVNode(\"span\", {\n \"key\": \"loader\",\n \"class\": \"v-btn__loader\"\n }, [slots.loader?.() ?? _createVNode(VProgressCircular, {\n \"color\": typeof props.loading === 'boolean' ? undefined : props.loading,\n \"indeterminate\": true,\n \"width\": \"2\"\n }, null)])]\n }), [[vRipple, !isDisabled.value && props.ripple, '', {\n center: !!props.icon\n }]]);\n });\n return {\n group\n };\n }\n});\n//# sourceMappingURL=VBtn.js.map","// Utilities\nimport { h, Transition, TransitionGroup } from 'vue';\nimport { genericComponent, PREFERS_REDUCED_MOTION, propsFactory } from \"../../util/index.js\"; // Types\nexport const makeTransitionProps = propsFactory({\n disabled: Boolean,\n group: Boolean,\n hideOnLeave: Boolean,\n leaveAbsolute: Boolean,\n mode: String,\n origin: String\n}, 'transition');\nexport function createCssTransition(name, origin, mode) {\n return genericComponent()({\n name,\n props: makeTransitionProps({\n mode,\n origin\n }),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const functions = {\n onBeforeEnter(el) {\n if (props.origin) {\n el.style.transformOrigin = props.origin;\n }\n },\n onLeave(el) {\n if (props.leaveAbsolute) {\n const {\n offsetTop,\n offsetLeft,\n offsetWidth,\n offsetHeight\n } = el;\n el._transitionInitialStyles = {\n position: el.style.position,\n top: el.style.top,\n left: el.style.left,\n width: el.style.width,\n height: el.style.height\n };\n el.style.position = 'absolute';\n el.style.top = `${offsetTop}px`;\n el.style.left = `${offsetLeft}px`;\n el.style.width = `${offsetWidth}px`;\n el.style.height = `${offsetHeight}px`;\n }\n if (props.hideOnLeave) {\n el.style.setProperty('display', 'none', 'important');\n }\n },\n onAfterLeave(el) {\n if (props.leaveAbsolute && el?._transitionInitialStyles) {\n const {\n position,\n top,\n left,\n width,\n height\n } = el._transitionInitialStyles;\n delete el._transitionInitialStyles;\n el.style.position = position || '';\n el.style.top = top || '';\n el.style.left = left || '';\n el.style.width = width || '';\n el.style.height = height || '';\n }\n }\n };\n return () => {\n const tag = props.group ? TransitionGroup : Transition;\n return h(tag, {\n name: props.disabled ? '' : name,\n css: !props.disabled,\n ...(props.group ? undefined : {\n mode: props.mode\n }),\n ...(props.disabled ? {} : functions)\n }, slots.default);\n };\n }\n });\n}\nexport function createJavascriptTransition(name, functions) {\n let mode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'in-out';\n return genericComponent()({\n name,\n props: {\n mode: {\n type: String,\n default: mode\n },\n disabled: {\n type: Boolean,\n default: PREFERS_REDUCED_MOTION()\n },\n group: Boolean\n },\n setup(props, _ref2) {\n let {\n slots\n } = _ref2;\n const tag = props.group ? TransitionGroup : Transition;\n return () => {\n return h(tag, {\n name: props.disabled ? '' : name,\n css: !props.disabled,\n // mode: props.mode, // TODO: vuejs/vue-next#3104\n ...(props.disabled ? {} : functions)\n }, slots.default);\n };\n }\n });\n}\n//# sourceMappingURL=createTransition.js.map","// Utilities\nimport { camelize } from 'vue';\nexport default function () {\n let expandedParentClass = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n let x = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n const sizeProperty = x ? 'width' : 'height';\n const offsetProperty = camelize(`offset-${sizeProperty}`);\n return {\n onBeforeEnter(el) {\n el._parent = el.parentNode;\n el._initialStyle = {\n transition: el.style.transition,\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty]\n };\n },\n onEnter(el) {\n const initialStyle = el._initialStyle;\n if (!initialStyle) return;\n el.style.setProperty('transition', 'none', 'important');\n // Hide overflow to account for collapsed margins in the calculated height\n el.style.overflow = 'hidden';\n const offset = `${el[offsetProperty]}px`;\n el.style[sizeProperty] = '0';\n void el.offsetHeight; // force reflow\n\n el.style.transition = initialStyle.transition;\n if (expandedParentClass && el._parent) {\n el._parent.classList.add(expandedParentClass);\n }\n requestAnimationFrame(() => {\n el.style[sizeProperty] = offset;\n });\n },\n onAfterEnter: resetStyles,\n onEnterCancelled: resetStyles,\n onLeave(el) {\n el._initialStyle = {\n transition: '',\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty]\n };\n el.style.overflow = 'hidden';\n el.style[sizeProperty] = `${el[offsetProperty]}px`;\n void el.offsetHeight; // force reflow\n\n requestAnimationFrame(() => el.style[sizeProperty] = '0');\n },\n onAfterLeave,\n onLeaveCancelled: onAfterLeave\n };\n function onAfterLeave(el) {\n if (expandedParentClass && el._parent) {\n el._parent.classList.remove(expandedParentClass);\n }\n resetStyles(el);\n }\n function resetStyles(el) {\n if (!el._initialStyle) return;\n const size = el._initialStyle[sizeProperty];\n el.style.overflow = el._initialStyle.overflow;\n if (size != null) el.style[sizeProperty] = size;\n delete el._initialStyle;\n }\n}\n//# sourceMappingURL=expand-transition.js.map","import { createCssTransition, createJavascriptTransition } from \"./createTransition.js\";\nimport ExpandTransitionGenerator from \"./expand-transition.js\"; // Component specific transitions\nexport const VFabTransition = createCssTransition('fab-transition', 'center center', 'out-in');\n\n// Generic transitions\nexport const VDialogBottomTransition = createCssTransition('dialog-bottom-transition');\nexport const VDialogTopTransition = createCssTransition('dialog-top-transition');\nexport const VFadeTransition = createCssTransition('fade-transition');\nexport const VScaleTransition = createCssTransition('scale-transition');\nexport const VScrollXTransition = createCssTransition('scroll-x-transition');\nexport const VScrollXReverseTransition = createCssTransition('scroll-x-reverse-transition');\nexport const VScrollYTransition = createCssTransition('scroll-y-transition');\nexport const VScrollYReverseTransition = createCssTransition('scroll-y-reverse-transition');\nexport const VSlideXTransition = createCssTransition('slide-x-transition');\nexport const VSlideXReverseTransition = createCssTransition('slide-x-reverse-transition');\nexport const VSlideYTransition = createCssTransition('slide-y-transition');\nexport const VSlideYReverseTransition = createCssTransition('slide-y-reverse-transition');\n\n// Javascript transitions\nexport const VExpandTransition = createJavascriptTransition('expand-transition', ExpandTransitionGenerator());\nexport const VExpandXTransition = createJavascriptTransition('expand-x-transition', ExpandTransitionGenerator('', true));\nexport { VDialogTransition } from \"./dialog-transition.js\";\n//# sourceMappingURL=index.js.map","// Utilities\nimport { computed, inject, onScopeDispose, reactive, shallowRef, toRef, toRefs, watchEffect } from 'vue';\nimport { getCurrentInstanceName, mergeDeep, propsFactory } from \"../util/index.js\";\nimport { IN_BROWSER, SUPPORTS_TOUCH } from \"../util/globals.js\"; // Types\nexport const breakpoints = ['sm', 'md', 'lg', 'xl', 'xxl']; // no xs\n\nexport const DisplaySymbol = Symbol.for('vuetify:display');\nconst defaultDisplayOptions = {\n mobileBreakpoint: 'lg',\n thresholds: {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920,\n xxl: 2560\n }\n};\nconst parseDisplayOptions = function () {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultDisplayOptions;\n return mergeDeep(defaultDisplayOptions, options);\n};\nfunction getClientWidth(ssr) {\n return IN_BROWSER && !ssr ? window.innerWidth : typeof ssr === 'object' && ssr.clientWidth || 0;\n}\nfunction getClientHeight(ssr) {\n return IN_BROWSER && !ssr ? window.innerHeight : typeof ssr === 'object' && ssr.clientHeight || 0;\n}\nfunction getPlatform(ssr) {\n const userAgent = IN_BROWSER && !ssr ? window.navigator.userAgent : 'ssr';\n function match(regexp) {\n return Boolean(userAgent.match(regexp));\n }\n const android = match(/android/i);\n const ios = match(/iphone|ipad|ipod/i);\n const cordova = match(/cordova/i);\n const electron = match(/electron/i);\n const chrome = match(/chrome/i);\n const edge = match(/edge/i);\n const firefox = match(/firefox/i);\n const opera = match(/opera/i);\n const win = match(/win/i);\n const mac = match(/mac/i);\n const linux = match(/linux/i);\n return {\n android,\n ios,\n cordova,\n electron,\n chrome,\n edge,\n firefox,\n opera,\n win,\n mac,\n linux,\n touch: SUPPORTS_TOUCH,\n ssr: userAgent === 'ssr'\n };\n}\nexport function createDisplay(options, ssr) {\n const {\n thresholds,\n mobileBreakpoint\n } = parseDisplayOptions(options);\n const height = shallowRef(getClientHeight(ssr));\n const platform = shallowRef(getPlatform(ssr));\n const state = reactive({});\n const width = shallowRef(getClientWidth(ssr));\n function updateSize() {\n height.value = getClientHeight();\n width.value = getClientWidth();\n }\n function update() {\n updateSize();\n platform.value = getPlatform();\n }\n\n // eslint-disable-next-line max-statements\n watchEffect(() => {\n const xs = width.value < thresholds.sm;\n const sm = width.value < thresholds.md && !xs;\n const md = width.value < thresholds.lg && !(sm || xs);\n const lg = width.value < thresholds.xl && !(md || sm || xs);\n const xl = width.value < thresholds.xxl && !(lg || md || sm || xs);\n const xxl = width.value >= thresholds.xxl;\n const name = xs ? 'xs' : sm ? 'sm' : md ? 'md' : lg ? 'lg' : xl ? 'xl' : 'xxl';\n const breakpointValue = typeof mobileBreakpoint === 'number' ? mobileBreakpoint : thresholds[mobileBreakpoint];\n const mobile = width.value < breakpointValue;\n state.xs = xs;\n state.sm = sm;\n state.md = md;\n state.lg = lg;\n state.xl = xl;\n state.xxl = xxl;\n state.smAndUp = !xs;\n state.mdAndUp = !(xs || sm);\n state.lgAndUp = !(xs || sm || md);\n state.xlAndUp = !(xs || sm || md || lg);\n state.smAndDown = !(md || lg || xl || xxl);\n state.mdAndDown = !(lg || xl || xxl);\n state.lgAndDown = !(xl || xxl);\n state.xlAndDown = !xxl;\n state.name = name;\n state.height = height.value;\n state.width = width.value;\n state.mobile = mobile;\n state.mobileBreakpoint = mobileBreakpoint;\n state.platform = platform.value;\n state.thresholds = thresholds;\n });\n if (IN_BROWSER) {\n window.addEventListener('resize', updateSize, {\n passive: true\n });\n onScopeDispose(() => {\n window.removeEventListener('resize', updateSize);\n }, true);\n }\n return {\n ...toRefs(state),\n update,\n ssr: !!ssr\n };\n}\nexport const makeDisplayProps = propsFactory({\n mobile: {\n type: Boolean,\n default: false\n },\n mobileBreakpoint: [Number, String]\n}, 'display');\nexport function useDisplay() {\n let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n mobile: null\n };\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n const display = inject(DisplaySymbol);\n if (!display) throw new Error('Could not find Vuetify display injection');\n const mobile = computed(() => {\n if (props.mobile) {\n return true;\n } else if (typeof props.mobileBreakpoint === 'number') {\n return display.width.value < props.mobileBreakpoint;\n } else if (props.mobileBreakpoint) {\n return display.width.value < display.thresholds.value[props.mobileBreakpoint];\n } else if (props.mobile === null) {\n return display.mobile.value;\n } else {\n return false;\n }\n });\n const displayClasses = toRef(() => {\n if (!name) return {};\n return {\n [`${name}--mobile`]: mobile.value\n };\n });\n return {\n ...display,\n displayClasses,\n mobile\n };\n}\n//# sourceMappingURL=display.js.map"],"names":["value","h","transform","v","sRGB.toXYZ","_getCurrentInstance","_defineComponent","_createElementVNode","_normalizeClass","_normalizeStyle","makeTransitionProps","mounted","observer","unmounted","vIntersect","_createVNode","_withDirectives","_mergeProps","_Fragment","side","href","computed","ripples","keys","item","vRipple"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55]}
|
|
1
|
+
{"version":3,"file":"display-D19CpJw_.mjs","sources":["../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/propsFactory.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/component.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/console.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/globals.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/helpers.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/anchor.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/color/APCA.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/color/transformSRGB.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/colorUtils.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/getCurrentInstance.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/injectSelf.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/defaults.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/defineComponent.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/deepEqual.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/easing.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/util/useRender.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/dimensions.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VResponsive/VResponsive.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/color.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/rounded.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/transition.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/directives/intersect/index.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VImg/VImg.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/tag.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VDefaultsProvider/VDefaultsProvider.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/icons.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/size.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/theme.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VIcon/VIcon.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/border.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/density.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/variant.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VAvatar/VAvatar.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/elevation.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/intersectionObserver.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/toggleScope.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/proxiedModel.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/locale.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/location.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/resizeObserver.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VProgressLinear/chunks.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VProgressLinear/VProgressLinear.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/loader.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/position.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/router.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/directives/ripple/index.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VBtnGroup/VBtnGroup.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/group.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VBtnToggle/VBtnToggle.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VProgressCircular/VProgressCircular.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/selectLink.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/VBtn/VBtn.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/transitions/createTransition.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/transitions/expand-transition.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/components/transitions/index.js","../node_modules/.pnpm/vuetify@3.10.9_typescript@5.9.3_vue@3.5.24_typescript@5.9.3_/node_modules/vuetify/lib/composables/display.js"],"sourcesContent":["// Types\n// eslint-disable-line vue/prefer-import-from-vue\n\n/**\n * Creates a factory function for props definitions.\n * This is used to define props in a composable then override\n * default values in an implementing component.\n *\n * @example Simplified signature\n * (props: Props) => (defaults?: Record<keyof props, any>) => Props\n *\n * @example Usage\n * const makeProps = propsFactory({\n * foo: String,\n * })\n *\n * defineComponent({\n * props: {\n * ...makeProps({\n * foo: 'a',\n * }),\n * },\n * setup (props) {\n * // would be \"string | undefined\", now \"string\" because a default has been provided\n * props.foo\n * },\n * }\n */\n\nexport function propsFactory(props, source) {\n return defaults => {\n return Object.keys(props).reduce((obj, prop) => {\n const isObjectDefinition = typeof props[prop] === 'object' && props[prop] != null && !Array.isArray(props[prop]);\n const definition = isObjectDefinition ? props[prop] : {\n type: props[prop]\n };\n if (defaults && prop in defaults) {\n obj[prop] = {\n ...definition,\n default: defaults[prop]\n };\n } else {\n obj[prop] = definition;\n }\n if (source && !obj[prop].source) {\n obj[prop].source = source;\n }\n return obj;\n }, {});\n };\n}\n\n/**\n * Like `Partial<T>` but doesn't care what the value is\n */\n\n// Copied from Vue\n//# sourceMappingURL=propsFactory.js.map","// Utilities\nimport { propsFactory } from \"../util/propsFactory.js\"; // Types\n// Composables\nexport const makeComponentProps = propsFactory({\n class: [String, Array, Object],\n style: {\n type: [String, Array, Object],\n default: null\n }\n}, 'component');\n//# sourceMappingURL=component.js.map","/* eslint-disable no-console */\n\n// Utilities\nimport { warn } from 'vue';\nexport function consoleWarn(message) {\n warn(`Vuetify: ${message}`);\n}\nexport function consoleError(message) {\n warn(`Vuetify error: ${message}`);\n}\nexport function deprecate(original, replacement) {\n replacement = Array.isArray(replacement) ? replacement.slice(0, -1).map(s => `'${s}'`).join(', ') + ` or '${replacement.at(-1)}'` : `'${replacement}'`;\n warn(`[Vuetify UPGRADE] '${original}' is deprecated, use ${replacement} instead.`);\n}\nexport function breaking(original, replacement) {\n // warn(`[Vuetify BREAKING] '${original}' has been removed, use '${replacement}' instead. For more information, see the upgrade guide https://github.com/vuetifyjs/vuetify/releases/tag/v2.0.0#user-content-upgrade-guide`)\n}\nexport function removed(original) {\n // warn(`[Vuetify REMOVED] '${original}' has been removed. You can safely omit it.`)\n}\n//# sourceMappingURL=console.js.map","export const IN_BROWSER = typeof window !== 'undefined';\nexport const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;\nexport const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0);\nexport const SUPPORTS_EYE_DROPPER = IN_BROWSER && 'EyeDropper' in window;\nexport const SUPPORTS_MATCH_MEDIA = IN_BROWSER && 'matchMedia' in window && typeof window.matchMedia === 'function';\nexport const PREFERS_REDUCED_MOTION = () => SUPPORTS_MATCH_MEDIA && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n//# sourceMappingURL=globals.js.map","function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }\nfunction _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError(\"Cannot initialize the same private elements twice on an object\"); }\nfunction _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }\nfunction _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }\nfunction _assertClassBrand(e, t, n) { if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError(\"Private element is not present on this object\"); }\n// Utilities\nimport { camelize, capitalize, Comment, Fragment, isProxy, isReactive, isRef, isVNode, reactive, shallowRef, toRaw, toRef, unref, watchEffect } from 'vue';\nimport { consoleError } from \"./console.js\";\nimport { IN_BROWSER } from \"./globals.js\"; // Types\nexport function getNestedValue(obj, path, fallback) {\n const last = path.length - 1;\n if (last < 0) return obj === undefined ? fallback : obj;\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback;\n }\n obj = obj[path[i]];\n }\n if (obj == null) return fallback;\n return obj[path[last]] === undefined ? fallback : obj[path[last]];\n}\nexport function getObjectValueByPath(obj, path, fallback) {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback;\n if (obj[path] !== undefined) return obj[path];\n path = path.replace(/\\[(\\w+)\\]/g, '.$1'); // convert indexes to properties\n path = path.replace(/^\\./, ''); // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback);\n}\nexport function getPropertyFromItem(item, property, fallback) {\n if (property === true) return item === undefined ? fallback : item;\n if (property == null || typeof property === 'boolean') return fallback;\n if (item !== Object(item)) {\n if (typeof property !== 'function') return fallback;\n const value = property(item, fallback);\n return typeof value === 'undefined' ? fallback : value;\n }\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback);\n if (Array.isArray(property)) return getNestedValue(item, property, fallback);\n if (typeof property !== 'function') return fallback;\n const value = property(item, fallback);\n return typeof value === 'undefined' ? fallback : value;\n}\nexport function createRange(length) {\n let start = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n return Array.from({\n length\n }, (v, k) => start + k);\n}\nexport function getZIndex(el) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0;\n const index = Number(window.getComputedStyle(el).getPropertyValue('z-index'));\n if (!index) return getZIndex(el.parentNode);\n return index;\n}\nexport function convertToUnit(str) {\n let unit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'px';\n if (str == null || str === '') {\n return undefined;\n }\n const num = Number(str);\n if (isNaN(num)) {\n return String(str);\n } else if (!isFinite(num)) {\n return undefined;\n } else {\n return `${num}${unit}`;\n }\n}\nexport function isObject(obj) {\n return obj !== null && typeof obj === 'object' && !Array.isArray(obj);\n}\nexport function isPlainObject(obj) {\n let proto;\n return obj !== null && typeof obj === 'object' && ((proto = Object.getPrototypeOf(obj)) === Object.prototype || proto === null);\n}\nexport function refElement(obj) {\n if (obj && '$el' in obj) {\n const el = obj.$el;\n if (el?.nodeType === Node.TEXT_NODE) {\n // Multi-root component, use the first element\n return el.nextElementSibling;\n }\n return el;\n }\n return obj;\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16\n});\nexport const keyValues = Object.freeze({\n enter: 'Enter',\n tab: 'Tab',\n delete: 'Delete',\n esc: 'Escape',\n space: 'Space',\n up: 'ArrowUp',\n down: 'ArrowDown',\n left: 'ArrowLeft',\n right: 'ArrowRight',\n end: 'End',\n home: 'Home',\n del: 'Delete',\n backspace: 'Backspace',\n insert: 'Insert',\n pageup: 'PageUp',\n pagedown: 'PageDown',\n shift: 'Shift'\n});\nexport function keys(o) {\n return Object.keys(o);\n}\nexport function has(obj, key) {\n return key.every(k => obj.hasOwnProperty(k));\n}\n// Array of keys\nexport function pick(obj, paths) {\n const found = {};\n for (const key of paths) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n found[key] = obj[key];\n }\n }\n return found;\n}\n\n// Array of keys\n\n// Array of keys or RegExp to test keys against\n\nexport function pickWithRest(obj, paths, exclude) {\n const found = Object.create(null);\n const rest = Object.create(null);\n for (const key in obj) {\n if (paths.some(path => path instanceof RegExp ? path.test(key) : path === key) && !exclude?.some(path => path === key)) {\n found[key] = obj[key];\n } else {\n rest[key] = obj[key];\n }\n }\n return [found, rest];\n}\nexport function omit(obj, exclude) {\n const clone = {\n ...obj\n };\n exclude.forEach(prop => delete clone[prop]);\n return clone;\n}\nconst onRE = /^on[^a-z]/;\nexport const isOn = key => onRE.test(key);\nconst bubblingEvents = ['onAfterscriptexecute', 'onAnimationcancel', 'onAnimationend', 'onAnimationiteration', 'onAnimationstart', 'onAuxclick', 'onBeforeinput', 'onBeforescriptexecute', 'onChange', 'onClick', 'onCompositionend', 'onCompositionstart', 'onCompositionupdate', 'onContextmenu', 'onCopy', 'onCut', 'onDblclick', 'onFocusin', 'onFocusout', 'onFullscreenchange', 'onFullscreenerror', 'onGesturechange', 'onGestureend', 'onGesturestart', 'onGotpointercapture', 'onInput', 'onKeydown', 'onKeypress', 'onKeyup', 'onLostpointercapture', 'onMousedown', 'onMousemove', 'onMouseout', 'onMouseover', 'onMouseup', 'onMousewheel', 'onPaste', 'onPointercancel', 'onPointerdown', 'onPointerenter', 'onPointerleave', 'onPointermove', 'onPointerout', 'onPointerover', 'onPointerup', 'onReset', 'onSelect', 'onSubmit', 'onTouchcancel', 'onTouchend', 'onTouchmove', 'onTouchstart', 'onTransitioncancel', 'onTransitionend', 'onTransitionrun', 'onTransitionstart', 'onWheel'];\nconst compositionIgnoreKeys = ['ArrowUp', 'ArrowDown', 'ArrowRight', 'ArrowLeft', 'Enter', 'Escape', 'Tab', ' '];\nexport function isComposingIgnoreKey(e) {\n return e.isComposing && compositionIgnoreKeys.includes(e.key);\n}\n\n/**\n * Filter attributes that should be applied to\n * the root element of an input component. Remaining\n * attributes should be passed to the <input> element inside.\n */\nexport function filterInputAttrs(attrs) {\n const [events, props] = pickWithRest(attrs, [onRE]);\n const inputEvents = omit(events, bubblingEvents);\n const [rootAttrs, inputAttrs] = pickWithRest(props, ['class', 'style', 'id', /^data-/]);\n Object.assign(rootAttrs, events);\n Object.assign(inputAttrs, inputEvents);\n return [rootAttrs, inputAttrs];\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff(a, b) {\n const diff = [];\n for (let i = 0; i < b.length; i++) {\n if (!a.includes(b[i])) diff.push(b[i]);\n }\n return diff;\n}\nexport function wrapInArray(v) {\n return v == null ? [] : Array.isArray(v) ? v : [v];\n}\nexport function defaultFilter(value, search, item) {\n return value != null && search != null && typeof value !== 'boolean' && value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1;\n}\nexport function debounce(fn, delay) {\n let timeoutId = 0;\n const wrap = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => fn(...args), unref(delay));\n };\n wrap.clear = () => {\n clearTimeout(timeoutId);\n };\n wrap.immediate = fn;\n return wrap;\n}\nexport function clamp(value) {\n let min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n let max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n return Math.max(min, Math.min(max, value));\n}\nexport function getDecimals(value) {\n const trimmedStr = value.toString().trim();\n return trimmedStr.includes('.') ? trimmedStr.length - trimmedStr.indexOf('.') - 1 : 0;\n}\nexport function padEnd(str, length) {\n let char = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '0';\n return str + char.repeat(Math.max(0, length - str.length));\n}\nexport function padStart(str, length) {\n let char = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '0';\n return char.repeat(Math.max(0, length - str.length)) + str;\n}\nexport function chunk(str) {\n let size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n const chunked = [];\n let index = 0;\n while (index < str.length) {\n chunked.push(str.substr(index, size));\n index += size;\n }\n return chunked;\n}\nexport function chunkArray(array) {\n let size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return Array.from({\n length: Math.ceil(array.length / size)\n }, (v, i) => array.slice(i * size, i * size + size));\n}\nexport function humanReadableFileSize(bytes) {\n let base = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1000;\n if (bytes < base) {\n return `${bytes} B`;\n }\n const prefix = base === 1024 ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G'];\n let unit = -1;\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base;\n ++unit;\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`;\n}\nexport function mergeDeep() {\n let source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let arrayFn = arguments.length > 2 ? arguments[2] : undefined;\n const out = {};\n for (const key in source) {\n out[key] = source[key];\n }\n for (const key in target) {\n const sourceProperty = source[key];\n const targetProperty = target[key];\n\n // Only continue deep merging if\n // both properties are plain objects\n if (isPlainObject(sourceProperty) && isPlainObject(targetProperty)) {\n out[key] = mergeDeep(sourceProperty, targetProperty, arrayFn);\n continue;\n }\n if (arrayFn && Array.isArray(sourceProperty) && Array.isArray(targetProperty)) {\n out[key] = arrayFn(sourceProperty, targetProperty);\n continue;\n }\n out[key] = targetProperty;\n }\n return out;\n}\nexport function flattenFragments(nodes) {\n return nodes.map(node => {\n if (node.type === Fragment) {\n return flattenFragments(node.children);\n } else {\n return node;\n }\n }).flat();\n}\nexport function toKebabCase() {\n let str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n if (toKebabCase.cache.has(str)) return toKebabCase.cache.get(str);\n const kebab = str.replace(/[^a-z]/gi, '-').replace(/\\B([A-Z])/g, '-$1').toLowerCase();\n toKebabCase.cache.set(str, kebab);\n return kebab;\n}\ntoKebabCase.cache = new Map();\nexport function findChildrenWithProvide(key, vnode) {\n if (!vnode || typeof vnode !== 'object') return [];\n if (Array.isArray(vnode)) {\n return vnode.map(child => findChildrenWithProvide(key, child)).flat(1);\n } else if (vnode.suspense) {\n return findChildrenWithProvide(key, vnode.ssContent);\n } else if (Array.isArray(vnode.children)) {\n return vnode.children.map(child => findChildrenWithProvide(key, child)).flat(1);\n } else if (vnode.component) {\n if (Object.getOwnPropertySymbols(vnode.component.provides).includes(key)) {\n return [vnode.component];\n } else if (vnode.component.subTree) {\n return findChildrenWithProvide(key, vnode.component.subTree).flat(1);\n }\n }\n return [];\n}\nvar _arr = /*#__PURE__*/new WeakMap();\nvar _pointer = /*#__PURE__*/new WeakMap();\nexport class CircularBuffer {\n constructor(size) {\n _classPrivateFieldInitSpec(this, _arr, []);\n _classPrivateFieldInitSpec(this, _pointer, 0);\n this.size = size;\n }\n get isFull() {\n return _classPrivateFieldGet(_arr, this).length === this.size;\n }\n push(val) {\n _classPrivateFieldGet(_arr, this)[_classPrivateFieldGet(_pointer, this)] = val;\n _classPrivateFieldSet(_pointer, this, (_classPrivateFieldGet(_pointer, this) + 1) % this.size);\n }\n values() {\n return _classPrivateFieldGet(_arr, this).slice(_classPrivateFieldGet(_pointer, this)).concat(_classPrivateFieldGet(_arr, this).slice(0, _classPrivateFieldGet(_pointer, this)));\n }\n clear() {\n _classPrivateFieldGet(_arr, this).length = 0;\n _classPrivateFieldSet(_pointer, this, 0);\n }\n}\nexport function getEventCoordinates(e) {\n if ('touches' in e) {\n return {\n clientX: e.touches[0].clientX,\n clientY: e.touches[0].clientY\n };\n }\n return {\n clientX: e.clientX,\n clientY: e.clientY\n };\n}\n\n// Only allow a single return type\n\n/**\n * Convert a computed ref to a record of refs.\n * The getter function must always return an object with the same keys.\n */\n\nexport function destructComputed(getter) {\n const refs = reactive({});\n watchEffect(() => {\n const base = getter();\n for (const key in base) {\n refs[key] = base[key];\n }\n }, {\n flush: 'sync'\n });\n const obj = {};\n for (const key in refs) {\n obj[key] = toRef(() => refs[key]);\n }\n return obj;\n}\n\n/** Array.includes but value can be any type */\nexport function includes(arr, val) {\n return arr.includes(val);\n}\nexport function eventName(propName) {\n return propName[2].toLowerCase() + propName.slice(3);\n}\n\n// TODO: this should be an array but vue's types don't accept arrays: vuejs/core#8025\n\nexport const EventProp = () => [Function, Array];\nexport function hasEvent(props, name) {\n name = 'on' + capitalize(name);\n return !!(props[name] || props[`${name}Once`] || props[`${name}Capture`] || props[`${name}OnceCapture`] || props[`${name}CaptureOnce`]);\n}\nexport function callEvent(handler) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n if (Array.isArray(handler)) {\n for (const h of handler) {\n h(...args);\n }\n } else if (typeof handler === 'function') {\n handler(...args);\n }\n}\nexport function focusableChildren(el) {\n let filterByTabIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n const targets = ['button', '[href]', 'input:not([type=\"hidden\"])', 'select', 'textarea', 'details:not(:has(> summary))', 'details > summary', '[tabindex]', '[contenteditable]:not([contenteditable=\"false\"])', 'audio[controls]', 'video[controls]'].map(s => `${s}${filterByTabIndex ? ':not([tabindex=\"-1\"])' : ''}:not([disabled], [inert])`).join(', ');\n let elements;\n try {\n elements = [...el.querySelectorAll(targets)];\n } catch (err) {\n consoleError(String(err));\n return [];\n }\n return elements.filter(x => !x.closest('[inert]')) // does not have inert parent\n .filter(x => !!x.offsetParent || x.getClientRects().length > 0) // is rendered\n .filter(x => !x.parentElement?.closest('details:not([open])') || x.tagName === 'SUMMARY' && x.parentElement?.tagName === 'DETAILS');\n}\nexport function getNextElement(elements, location, condition) {\n let _el;\n let idx = elements.indexOf(document.activeElement);\n const inc = location === 'next' ? 1 : -1;\n do {\n idx += inc;\n _el = elements[idx];\n } while ((!_el || _el.offsetParent == null || !(condition?.(_el) ?? true)) && idx < elements.length && idx >= 0);\n return _el;\n}\nexport function focusChild(el, location) {\n const focusable = focusableChildren(el);\n if (location == null) {\n if (el === document.activeElement || !el.contains(document.activeElement)) {\n focusable[0]?.focus();\n }\n } else if (location === 'first') {\n focusable[0]?.focus();\n } else if (location === 'last') {\n focusable.at(-1)?.focus();\n } else if (typeof location === 'number') {\n focusable[location]?.focus();\n } else {\n const _el = getNextElement(focusable, location);\n if (_el) _el.focus();else focusChild(el, location === 'next' ? 'first' : 'last');\n }\n}\nexport function isEmpty(val) {\n return val === null || val === undefined || typeof val === 'string' && val.trim() === '';\n}\nexport function noop() {}\n\n/** Returns null if the selector is not supported or we can't check */\nexport function matchesSelector(el, selector) {\n const supportsSelector = IN_BROWSER && typeof CSS !== 'undefined' && typeof CSS.supports !== 'undefined' && CSS.supports(`selector(${selector})`);\n if (!supportsSelector) return null;\n try {\n return !!el && el.matches(selector);\n } catch (err) {\n return null;\n }\n}\nexport function ensureValidVNode(vnodes) {\n return vnodes.some(child => {\n if (!isVNode(child)) return true;\n if (child.type === Comment) return false;\n return child.type !== Fragment || ensureValidVNode(child.children);\n }) ? vnodes : null;\n}\nexport function renderSlot(slot, props, fallback) {\n // TODO: check if slot returns elements: #18308\n return slot?.(props) ?? fallback?.(props);\n}\nexport function defer(timeout, cb) {\n if (!IN_BROWSER || timeout === 0) {\n cb();\n return () => {};\n }\n const timeoutId = window.setTimeout(cb, timeout);\n return () => window.clearTimeout(timeoutId);\n}\nexport function isClickInsideElement(event, targetDiv) {\n const mouseX = event.clientX;\n const mouseY = event.clientY;\n const divRect = targetDiv.getBoundingClientRect();\n const divLeft = divRect.left;\n const divTop = divRect.top;\n const divRight = divRect.right;\n const divBottom = divRect.bottom;\n return mouseX >= divLeft && mouseX <= divRight && mouseY >= divTop && mouseY <= divBottom;\n}\nexport function templateRef() {\n const el = shallowRef();\n const fn = target => {\n el.value = target;\n };\n Object.defineProperty(fn, 'value', {\n enumerable: true,\n get: () => el.value,\n set: val => el.value = val\n });\n Object.defineProperty(fn, 'el', {\n enumerable: true,\n get: () => refElement(el.value)\n });\n return fn;\n}\nexport function checkPrintable(e) {\n const isPrintableChar = e.key.length === 1;\n const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey;\n return isPrintableChar && noModifier;\n}\nexport function isPrimitive(value) {\n return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint';\n}\nexport function escapeForRegex(sign) {\n return '\\\\^$*+?.()|{}[]'.includes(sign) ? `\\\\${sign}` : sign;\n}\nexport function extractNumber(text, decimalDigitsLimit, decimalSeparator) {\n const onlyValidCharacters = new RegExp(`[\\\\d\\\\-${escapeForRegex(decimalSeparator)}]`);\n const cleanText = text.split('').filter(x => onlyValidCharacters.test(x)).filter((x, i, all) => i === 0 && /[-]/.test(x) ||\n // sign allowed at the start\n x === decimalSeparator && i === all.indexOf(x) ||\n // decimal separator allowed only once\n /\\d/.test(x)).join('');\n if (decimalDigitsLimit === 0) {\n return cleanText.split(decimalSeparator)[0];\n }\n const decimalPart = new RegExp(`${escapeForRegex(decimalSeparator)}\\\\d`);\n if (decimalDigitsLimit !== null && decimalPart.test(cleanText)) {\n const parts = cleanText.split(decimalSeparator);\n return [parts[0], parts[1].substring(0, decimalDigitsLimit)].join(decimalSeparator);\n }\n return cleanText;\n}\nexport function camelizeProps(props) {\n const out = {};\n for (const prop in props) {\n out[camelize(prop)] = props[prop];\n }\n return out;\n}\nexport function onlyDefinedProps(props) {\n const booleanAttributes = ['checked', 'disabled'];\n return Object.fromEntries(Object.entries(props).filter(_ref => {\n let [key, v] = _ref;\n return booleanAttributes.includes(key) ? !!v : v !== undefined;\n }));\n}\nexport function deepToRaw(value) {\n const objectIterator = input => {\n if (Array.isArray(input)) {\n return input.map(item => objectIterator(item));\n }\n if (isRef(input) || isReactive(input) || isProxy(input)) {\n return objectIterator(toRaw(input));\n }\n if (isPlainObject(input)) {\n return Object.keys(input).reduce((acc, key) => {\n acc[key] = objectIterator(input[key]);\n return acc;\n }, {});\n }\n return input;\n };\n return objectIterator(value);\n}\n//# sourceMappingURL=helpers.js.map","// Utilities\nimport { includes } from \"./helpers.js\";\nconst block = ['top', 'bottom'];\nconst inline = ['start', 'end', 'left', 'right'];\n/** Parse a raw anchor string into an object */\nexport function parseAnchor(anchor, isRtl) {\n let [side, align] = anchor.split(' ');\n if (!align) {\n align = includes(block, side) ? 'start' : includes(inline, side) ? 'top' : 'center';\n }\n return {\n side: toPhysical(side, isRtl),\n align: toPhysical(align, isRtl)\n };\n}\nexport function toPhysical(str, isRtl) {\n if (str === 'start') return isRtl ? 'right' : 'left';\n if (str === 'end') return isRtl ? 'left' : 'right';\n return str;\n}\nexport function flipSide(anchor) {\n return {\n side: {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left'\n }[anchor.side],\n align: anchor.align\n };\n}\nexport function flipAlign(anchor) {\n return {\n side: anchor.side,\n align: {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left'\n }[anchor.align]\n };\n}\nexport function flipCorner(anchor) {\n return {\n side: anchor.align,\n align: anchor.side\n };\n}\nexport function getAxis(anchor) {\n return includes(block, anchor.side) ? 'y' : 'x';\n}\n//# sourceMappingURL=anchor.js.map","/**\n * WCAG 3.0 APCA perceptual contrast algorithm from https://github.com/Myndex/SAPC-APCA\n * @licence https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document\n * @see https://www.w3.org/WAI/GL/task-forces/silver/wiki/Visual_Contrast_of_Text_Subgroup\n */\n// Types\n\n// MAGICAL NUMBERS\n\n// sRGB Conversion to Relative Luminance (Y)\n\n// Transfer Curve (aka \"Gamma\") for sRGB linearization\n// Simple power curve vs piecewise described in docs\n// Essentially, 2.4 best models actual display\n// characteristics in combination with the total method\nconst mainTRC = 2.4;\nconst Rco = 0.2126729; // sRGB Red Coefficient (from matrix)\nconst Gco = 0.7151522; // sRGB Green Coefficient (from matrix)\nconst Bco = 0.0721750; // sRGB Blue Coefficient (from matrix)\n\n// For Finding Raw SAPC Contrast from Relative Luminance (Y)\n\n// Constants for SAPC Power Curve Exponents\n// One pair for normal text, and one for reverse\n// These are the \"beating heart\" of SAPC\nconst normBG = 0.55;\nconst normTXT = 0.58;\nconst revTXT = 0.57;\nconst revBG = 0.62;\n\n// For Clamping and Scaling Values\n\nconst blkThrs = 0.03; // Level that triggers the soft black clamp\nconst blkClmp = 1.45; // Exponent for the soft black clamp curve\nconst deltaYmin = 0.0005; // Lint trap\nconst scaleBoW = 1.25; // Scaling for dark text on light\nconst scaleWoB = 1.25; // Scaling for light text on dark\nconst loConThresh = 0.078; // Threshold for new simple offset scale\nconst loConFactor = 12.82051282051282; // = 1/0.078,\nconst loConOffset = 0.06; // The simple offset\nconst loClip = 0.001; // Output clip (lint trap #2)\n\nexport function APCAcontrast(text, background) {\n // Linearize sRGB\n const Rtxt = (text.r / 255) ** mainTRC;\n const Gtxt = (text.g / 255) ** mainTRC;\n const Btxt = (text.b / 255) ** mainTRC;\n const Rbg = (background.r / 255) ** mainTRC;\n const Gbg = (background.g / 255) ** mainTRC;\n const Bbg = (background.b / 255) ** mainTRC;\n\n // Apply the standard coefficients and sum to Y\n let Ytxt = Rtxt * Rco + Gtxt * Gco + Btxt * Bco;\n let Ybg = Rbg * Rco + Gbg * Gco + Bbg * Bco;\n\n // Soft clamp Y when near black.\n // Now clamping all colors to prevent crossover errors\n if (Ytxt <= blkThrs) Ytxt += (blkThrs - Ytxt) ** blkClmp;\n if (Ybg <= blkThrs) Ybg += (blkThrs - Ybg) ** blkClmp;\n\n // Return 0 Early for extremely low ∆Y (lint trap #1)\n if (Math.abs(Ybg - Ytxt) < deltaYmin) return 0.0;\n\n // SAPC CONTRAST\n\n let outputContrast; // For weighted final values\n if (Ybg > Ytxt) {\n // For normal polarity, black text on white\n // Calculate the SAPC contrast value and scale\n\n const SAPC = (Ybg ** normBG - Ytxt ** normTXT) * scaleBoW;\n\n // NEW! SAPC SmoothScale™\n // Low Contrast Smooth Scale Rollout to prevent polarity reversal\n // and also a low clip for very low contrasts (lint trap #2)\n // much of this is for very low contrasts, less than 10\n // therefore for most reversing needs, only loConOffset is important\n outputContrast = SAPC < loClip ? 0.0 : SAPC < loConThresh ? SAPC - SAPC * loConFactor * loConOffset : SAPC - loConOffset;\n } else {\n // For reverse polarity, light text on dark\n // WoB should always return negative value.\n\n const SAPC = (Ybg ** revBG - Ytxt ** revTXT) * scaleWoB;\n outputContrast = SAPC > -loClip ? 0.0 : SAPC > -loConThresh ? SAPC - SAPC * loConFactor * loConOffset : SAPC + loConOffset;\n }\n return outputContrast * 100;\n}\n//# sourceMappingURL=APCA.js.map","// Utilities\nimport { clamp } from \"../helpers.js\"; // Types\n// For converting XYZ to sRGB\nconst srgbForwardMatrix = [[3.2406, -1.5372, -0.4986], [-0.9689, 1.8758, 0.0415], [0.0557, -0.2040, 1.0570]];\n\n// Forward gamma adjust\nconst srgbForwardTransform = C => C <= 0.0031308 ? C * 12.92 : 1.055 * C ** (1 / 2.4) - 0.055;\n\n// For converting sRGB to XYZ\nconst srgbReverseMatrix = [[0.4124, 0.3576, 0.1805], [0.2126, 0.7152, 0.0722], [0.0193, 0.1192, 0.9505]];\n\n// Reverse gamma adjust\nconst srgbReverseTransform = C => C <= 0.04045 ? C / 12.92 : ((C + 0.055) / 1.055) ** 2.4;\nexport function fromXYZ(xyz) {\n const rgb = Array(3);\n const transform = srgbForwardTransform;\n const matrix = srgbForwardMatrix;\n\n // Matrix transform, then gamma adjustment\n for (let i = 0; i < 3; ++i) {\n // Rescale back to [0, 255]\n rgb[i] = Math.round(clamp(transform(matrix[i][0] * xyz[0] + matrix[i][1] * xyz[1] + matrix[i][2] * xyz[2])) * 255);\n }\n return {\n r: rgb[0],\n g: rgb[1],\n b: rgb[2]\n };\n}\nexport function toXYZ(_ref) {\n let {\n r,\n g,\n b\n } = _ref;\n const xyz = [0, 0, 0];\n const transform = srgbReverseTransform;\n const matrix = srgbReverseMatrix;\n\n // Rescale from [0, 255] to [0, 1] then adjust sRGB gamma to linear RGB\n r = transform(r / 255);\n g = transform(g / 255);\n b = transform(b / 255);\n\n // Matrix color space transform\n for (let i = 0; i < 3; ++i) {\n xyz[i] = matrix[i][0] * r + matrix[i][1] * g + matrix[i][2] * b;\n }\n return xyz;\n}\n//# sourceMappingURL=transformSRGB.js.map","// Utilities\nimport { APCAcontrast } from \"./color/APCA.js\";\nimport { consoleWarn } from \"./console.js\";\nimport { chunk, has, padEnd } from \"./helpers.js\";\nimport * as CIELAB from \"./color/transformCIELAB.js\";\nimport * as sRGB from \"./color/transformSRGB.js\"; // Types\nexport function isCssColor(color) {\n return !!color && /^(#|var\\(--|(rgb|hsl)a?\\()/.test(color);\n}\nexport function isParsableColor(color) {\n return isCssColor(color) && !/^((rgb|hsl)a?\\()?var\\(--/.test(color);\n}\nconst cssColorRe = /^(?<fn>(?:rgb|hsl)a?)\\((?<values>.+)\\)/;\nconst mappers = {\n rgb: (r, g, b, a) => ({\n r,\n g,\n b,\n a\n }),\n rgba: (r, g, b, a) => ({\n r,\n g,\n b,\n a\n }),\n hsl: (h, s, l, a) => HSLtoRGB({\n h,\n s,\n l,\n a\n }),\n hsla: (h, s, l, a) => HSLtoRGB({\n h,\n s,\n l,\n a\n }),\n hsv: (h, s, v, a) => HSVtoRGB({\n h,\n s,\n v,\n a\n }),\n hsva: (h, s, v, a) => HSVtoRGB({\n h,\n s,\n v,\n a\n })\n};\nexport function parseColor(color) {\n if (typeof color === 'number') {\n if (isNaN(color) || color < 0 || color > 0xFFFFFF) {\n // int can't have opacity\n consoleWarn(`'${color}' is not a valid hex color`);\n }\n return {\n r: (color & 0xFF0000) >> 16,\n g: (color & 0xFF00) >> 8,\n b: color & 0xFF\n };\n } else if (typeof color === 'string' && cssColorRe.test(color)) {\n const {\n groups\n } = color.match(cssColorRe);\n const {\n fn,\n values\n } = groups;\n const realValues = values.split(/,\\s*|\\s*\\/\\s*|\\s+/).map((v, i) => {\n if (v.endsWith('%') ||\n // unitless slv are %\n i > 0 && i < 3 && ['hsl', 'hsla', 'hsv', 'hsva'].includes(fn)) {\n return parseFloat(v) / 100;\n } else {\n return parseFloat(v);\n }\n });\n return mappers[fn](...realValues);\n } else if (typeof color === 'string') {\n let hex = color.startsWith('#') ? color.slice(1) : color;\n if ([3, 4].includes(hex.length)) {\n hex = hex.split('').map(char => char + char).join('');\n } else if (![6, 8].includes(hex.length)) {\n consoleWarn(`'${color}' is not a valid hex(a) color`);\n }\n const int = parseInt(hex, 16);\n if (isNaN(int) || int < 0 || int > 0xFFFFFFFF) {\n consoleWarn(`'${color}' is not a valid hex(a) color`);\n }\n return HexToRGB(hex);\n } else if (typeof color === 'object') {\n if (has(color, ['r', 'g', 'b'])) {\n return color;\n } else if (has(color, ['h', 's', 'l'])) {\n return HSVtoRGB(HSLtoHSV(color));\n } else if (has(color, ['h', 's', 'v'])) {\n return HSVtoRGB(color);\n }\n }\n throw new TypeError(`Invalid color: ${color == null ? color : String(color) || color.constructor.name}\\nExpected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`);\n}\nexport function RGBToInt(color) {\n return (color.r << 16) + (color.g << 8) + color.b;\n}\nexport function classToHex(color, colors, currentTheme) {\n const [colorName, colorModifier] = color.toString().trim().replace('-', '').split(' ', 2);\n let hexColor = '';\n if (colorName && colorName in colors) {\n if (colorModifier && colorModifier in colors[colorName]) {\n hexColor = colors[colorName][colorModifier];\n } else if ('base' in colors[colorName]) {\n hexColor = colors[colorName].base;\n }\n } else if (colorName && colorName in currentTheme) {\n hexColor = currentTheme[colorName];\n }\n return hexColor;\n}\n\n/** Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV */\nexport function HSVtoRGB(hsva) {\n const {\n h,\n s,\n v,\n a\n } = hsva;\n const f = n => {\n const k = (n + h / 60) % 6;\n return v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n };\n const rgb = [f(5), f(3), f(1)].map(v => Math.round(v * 255));\n return {\n r: rgb[0],\n g: rgb[1],\n b: rgb[2],\n a\n };\n}\nexport function HSLtoRGB(hsla) {\n return HSVtoRGB(HSLtoHSV(hsla));\n}\n\n/** Converts RGBA to HSVA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV */\nexport function RGBtoHSV(rgba) {\n if (!rgba) return {\n h: 0,\n s: 1,\n v: 1,\n a: 1\n };\n const r = rgba.r / 255;\n const g = rgba.g / 255;\n const b = rgba.b / 255;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n let h = 0;\n if (max !== min) {\n if (max === r) {\n h = 60 * (0 + (g - b) / (max - min));\n } else if (max === g) {\n h = 60 * (2 + (b - r) / (max - min));\n } else if (max === b) {\n h = 60 * (4 + (r - g) / (max - min));\n }\n }\n if (h < 0) h = h + 360;\n const s = max === 0 ? 0 : (max - min) / max;\n const hsv = [h, s, max];\n return {\n h: hsv[0],\n s: hsv[1],\n v: hsv[2],\n a: rgba.a\n };\n}\nexport function HSVtoHSL(hsva) {\n const {\n h,\n s,\n v,\n a\n } = hsva;\n const l = v - v * s / 2;\n const sprime = l === 1 || l === 0 ? 0 : (v - l) / Math.min(l, 1 - l);\n return {\n h,\n s: sprime,\n l,\n a\n };\n}\nexport function HSLtoHSV(hsl) {\n const {\n h,\n s,\n l,\n a\n } = hsl;\n const v = l + s * Math.min(l, 1 - l);\n const sprime = v === 0 ? 0 : 2 - 2 * l / v;\n return {\n h,\n s: sprime,\n v,\n a\n };\n}\nexport function RGBtoCSS(_ref) {\n let {\n r,\n g,\n b,\n a\n } = _ref;\n return a === undefined ? `rgb(${r}, ${g}, ${b})` : `rgba(${r}, ${g}, ${b}, ${a})`;\n}\nexport function HSVtoCSS(hsva) {\n return RGBtoCSS(HSVtoRGB(hsva));\n}\nfunction toHex(v) {\n const h = Math.round(v).toString(16);\n return ('00'.substr(0, 2 - h.length) + h).toUpperCase();\n}\nexport function RGBtoHex(_ref2) {\n let {\n r,\n g,\n b,\n a\n } = _ref2;\n return `#${[toHex(r), toHex(g), toHex(b), a !== undefined ? toHex(Math.round(a * 255)) : ''].join('')}`;\n}\nexport function HexToRGB(hex) {\n hex = parseHex(hex);\n let [r, g, b, a] = chunk(hex, 2).map(c => parseInt(c, 16));\n a = a === undefined ? a : a / 255;\n return {\n r,\n g,\n b,\n a\n };\n}\nexport function HexToHSV(hex) {\n const rgb = HexToRGB(hex);\n return RGBtoHSV(rgb);\n}\nexport function HSVtoHex(hsva) {\n return RGBtoHex(HSVtoRGB(hsva));\n}\nexport function parseHex(hex) {\n if (hex.startsWith('#')) {\n hex = hex.slice(1);\n }\n hex = hex.replace(/([^0-9a-f])/gi, 'F');\n if (hex.length === 3 || hex.length === 4) {\n hex = hex.split('').map(x => x + x).join('');\n }\n if (hex.length !== 6) {\n hex = padEnd(padEnd(hex, 6), 8, 'F');\n }\n return hex;\n}\nexport function parseGradient(gradient, colors, currentTheme) {\n return gradient.replace(/([a-z]+(\\s[a-z]+-[1-5])?)(?=$|,)/gi, x => {\n return classToHex(x, colors, currentTheme) || x;\n }).replace(/(rgba\\()#[0-9a-f]+(?=,)/gi, x => {\n return 'rgba(' + Object.values(HexToRGB(parseHex(x.replace(/rgba\\(/, '')))).slice(0, 3).join(',');\n });\n}\nexport function lighten(value, amount) {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value));\n lab[0] = lab[0] + amount * 10;\n return sRGB.fromXYZ(CIELAB.toXYZ(lab));\n}\nexport function darken(value, amount) {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value));\n lab[0] = lab[0] - amount * 10;\n return sRGB.fromXYZ(CIELAB.toXYZ(lab));\n}\n\n/**\n * Calculate the relative luminance of a given color\n * @see https://www.w3.org/TR/WCAG20/#relativeluminancedef\n */\nexport function getLuma(color) {\n const rgb = parseColor(color);\n return sRGB.toXYZ(rgb)[1];\n}\n\n/**\n * Returns the contrast ratio (1-21) between two colors.\n * @see https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n */\nexport function getContrast(first, second) {\n const l1 = getLuma(first);\n const l2 = getLuma(second);\n const light = Math.max(l1, l2);\n const dark = Math.min(l1, l2);\n return (light + 0.05) / (dark + 0.05);\n}\nexport function getForeground(color) {\n const blackContrast = Math.abs(APCAcontrast(parseColor(0), parseColor(color)));\n const whiteContrast = Math.abs(APCAcontrast(parseColor(0xffffff), parseColor(color)));\n\n // TODO: warn about poor color selections\n // const contrastAsText = Math.abs(APCAcontrast(colorVal, colorToInt(theme.colors.background)))\n // const minContrast = Math.max(blackContrast, whiteContrast)\n // if (minContrast < 60) {\n // consoleInfo(`${key} theme color ${color} has poor contrast (${minContrast.toFixed()}%)`)\n // } else if (contrastAsText < 60 && !['background', 'surface'].includes(color)) {\n // consoleInfo(`${key} theme color ${color} has poor contrast as text (${contrastAsText.toFixed()}%)`)\n // }\n\n // Prefer white text if both have an acceptable contrast ratio\n return whiteContrast > Math.min(blackContrast, 50) ? '#fff' : '#000';\n}\n//# sourceMappingURL=colorUtils.js.map","// Utilities\nimport { getCurrentInstance as _getCurrentInstance } from 'vue';\nimport { toKebabCase } from \"./helpers.js\";\nexport function getCurrentInstance(name, message) {\n const vm = _getCurrentInstance();\n if (!vm) {\n throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`);\n }\n return vm;\n}\nexport function getCurrentInstanceName() {\n let name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'composables';\n const vm = getCurrentInstance(name).type;\n return toKebabCase(vm?.aliasName || vm?.name);\n}\n//# sourceMappingURL=getCurrentInstance.js.map","// Utilities\nimport { getCurrentInstance } from \"./getCurrentInstance.js\"; // Types\nexport function injectSelf(key) {\n let vm = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstance('injectSelf');\n const {\n provides\n } = vm;\n if (provides && key in provides) {\n // TS doesn't allow symbol as index type\n return provides[key];\n }\n return undefined;\n}\n//# sourceMappingURL=injectSelf.js.map","// Utilities\nimport { computed, inject, provide, ref, shallowRef, unref, watchEffect } from 'vue';\nimport { getCurrentInstance } from \"../util/getCurrentInstance.js\";\nimport { mergeDeep, toKebabCase } from \"../util/helpers.js\";\nimport { injectSelf } from \"../util/injectSelf.js\"; // Types\nexport const DefaultsSymbol = Symbol.for('vuetify:defaults');\nexport function createDefaults(options) {\n return ref(options);\n}\nexport function injectDefaults() {\n const defaults = inject(DefaultsSymbol);\n if (!defaults) throw new Error('[Vuetify] Could not find defaults instance');\n return defaults;\n}\nexport function provideDefaults(defaults, options) {\n const injectedDefaults = injectDefaults();\n const providedDefaults = ref(defaults);\n const newDefaults = computed(() => {\n const disabled = unref(options?.disabled);\n if (disabled) return injectedDefaults.value;\n const scoped = unref(options?.scoped);\n const reset = unref(options?.reset);\n const root = unref(options?.root);\n if (providedDefaults.value == null && !(scoped || reset || root)) return injectedDefaults.value;\n let properties = mergeDeep(providedDefaults.value, {\n prev: injectedDefaults.value\n });\n if (scoped) return properties;\n if (reset || root) {\n const len = Number(reset || Infinity);\n for (let i = 0; i <= len; i++) {\n if (!properties || !('prev' in properties)) {\n break;\n }\n properties = properties.prev;\n }\n if (properties && typeof root === 'string' && root in properties) {\n properties = mergeDeep(mergeDeep(properties, {\n prev: properties\n }), properties[root]);\n }\n return properties;\n }\n return properties.prev ? mergeDeep(properties.prev, properties) : properties;\n });\n provide(DefaultsSymbol, newDefaults);\n return newDefaults;\n}\nfunction propIsDefined(vnode, prop) {\n return vnode.props && (typeof vnode.props[prop] !== 'undefined' || typeof vnode.props[toKebabCase(prop)] !== 'undefined');\n}\nexport function internalUseDefaults() {\n let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let name = arguments.length > 1 ? arguments[1] : undefined;\n let defaults = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : injectDefaults();\n const vm = getCurrentInstance('useDefaults');\n name = name ?? vm.type.name ?? vm.type.__name;\n if (!name) {\n throw new Error('[Vuetify] Could not determine component name');\n }\n const componentDefaults = computed(() => defaults.value?.[props._as ?? name]);\n const _props = new Proxy(props, {\n get(target, prop) {\n const propValue = Reflect.get(target, prop);\n if (prop === 'class' || prop === 'style') {\n return [componentDefaults.value?.[prop], propValue].filter(v => v != null);\n }\n if (propIsDefined(vm.vnode, prop)) return propValue;\n const _componentDefault = componentDefaults.value?.[prop];\n if (_componentDefault !== undefined) return _componentDefault;\n const _globalDefault = defaults.value?.global?.[prop];\n if (_globalDefault !== undefined) return _globalDefault;\n return propValue;\n }\n });\n const _subcomponentDefaults = shallowRef();\n watchEffect(() => {\n if (componentDefaults.value) {\n const subComponents = Object.entries(componentDefaults.value).filter(_ref => {\n let [key] = _ref;\n return key.startsWith(key[0].toUpperCase());\n });\n _subcomponentDefaults.value = subComponents.length ? Object.fromEntries(subComponents) : undefined;\n } else {\n _subcomponentDefaults.value = undefined;\n }\n });\n function provideSubDefaults() {\n const injected = injectSelf(DefaultsSymbol, vm);\n provide(DefaultsSymbol, computed(() => {\n return _subcomponentDefaults.value ? mergeDeep(injected?.value ?? {}, _subcomponentDefaults.value) : injected?.value;\n }));\n }\n return {\n props: _props,\n provideSubDefaults\n };\n}\nexport function useDefaults() {\n let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let name = arguments.length > 1 ? arguments[1] : undefined;\n const {\n props: _props,\n provideSubDefaults\n } = internalUseDefaults(props, name);\n provideSubDefaults();\n return _props;\n}\n//# sourceMappingURL=defaults.js.map","// Composables\nimport { injectDefaults, internalUseDefaults } from \"../composables/defaults.js\"; // Utilities\nimport { defineComponent as _defineComponent // eslint-disable-line no-restricted-imports\n} from 'vue';\nimport { consoleWarn } from \"./console.js\";\nimport { pick } from \"./helpers.js\";\nimport { propsFactory } from \"./propsFactory.js\"; // Types\n// No props\n// Object Props\n// Implementation\nexport function defineComponent(options) {\n options._setup = options._setup ?? options.setup;\n if (!options.name) {\n consoleWarn('The component is missing an explicit name, unable to generate default prop value');\n return options;\n }\n if (options._setup) {\n options.props = propsFactory(options.props ?? {}, options.name)();\n const propKeys = Object.keys(options.props).filter(key => key !== 'class' && key !== 'style');\n options.filterProps = function filterProps(props) {\n return pick(props, propKeys);\n };\n options.props._as = String;\n options.setup = function setup(props, ctx) {\n const defaults = injectDefaults();\n\n // Skip props proxy if defaults are not provided\n if (!defaults.value) return options._setup(props, ctx);\n const {\n props: _props,\n provideSubDefaults\n } = internalUseDefaults(props, props._as ?? options.name, defaults);\n const setupBindings = options._setup(_props, ctx);\n provideSubDefaults();\n return setupBindings;\n };\n }\n return options;\n}\n\n// No argument - simple default slot\n\n// Generic constructor argument - generic props and slots\n\n// Slots argument - simple slots\n\n// Implementation\nexport function genericComponent() {\n let exposeDefaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n return options => (exposeDefaults ? defineComponent : _defineComponent)(options);\n}\nexport function defineFunctionalComponent(props, render) {\n render.props = props;\n return render;\n}\n\n// Adds a filterProps method to the component options\n\n// https://github.com/vuejs/core/pull/10557\n\n// not a vue Component\n//# sourceMappingURL=defineComponent.js.map","import { isPrimitive } from \"./helpers.js\";\nfunction updateRecursionCache(a, b, cache, result) {\n if (!cache || isPrimitive(a) || isPrimitive(b)) return;\n const visitedObject = cache.get(a);\n if (visitedObject) {\n visitedObject.set(b, result);\n } else {\n const newCacheItem = new WeakMap();\n newCacheItem.set(b, result);\n cache.set(a, newCacheItem);\n }\n}\nfunction findCachedComparison(a, b, cache) {\n if (!cache || isPrimitive(a) || isPrimitive(b)) return null;\n const r1 = cache.get(a)?.get(b);\n if (typeof r1 === 'boolean') return r1;\n const r2 = cache.get(b)?.get(a);\n if (typeof r2 === 'boolean') return r2;\n return null;\n}\nexport function deepEqual(a, b) {\n let recursionCache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new WeakMap();\n if (a === b) return true;\n if (a instanceof Date && b instanceof Date && a.getTime() !== b.getTime()) {\n // If the values are Date, compare them as timestamps\n return false;\n }\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false;\n }\n const props = Object.keys(a);\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false;\n }\n const cachedComparisonResult = findCachedComparison(a, b, recursionCache);\n if (cachedComparisonResult) {\n return cachedComparisonResult;\n }\n updateRecursionCache(a, b, recursionCache, true);\n return props.every(p => deepEqual(a[p], b[p], recursionCache));\n}\n//# sourceMappingURL=deepEqual.js.map","// Utilities\nimport { computed, shallowRef, toValue, watch } from 'vue';\nimport { clamp } from \"./helpers.js\";\nimport { PREFERS_REDUCED_MOTION } from \"./globals.js\"; // Types\nexport const standardEasing = 'cubic-bezier(0.4, 0, 0.2, 1)';\nexport const deceleratedEasing = 'cubic-bezier(0.0, 0, 0.2, 1)'; // Entering\nexport const acceleratedEasing = 'cubic-bezier(0.4, 0, 1, 1)'; // Leaving\n\nexport const easingPatterns = {\n linear: t => t,\n easeInQuad: t => t ** 2,\n easeOutQuad: t => t * (2 - t),\n easeInOutQuad: t => t < 0.5 ? 2 * t ** 2 : -1 + (4 - 2 * t) * t,\n easeInCubic: t => t ** 3,\n easeOutCubic: t => --t ** 3 + 1,\n easeInOutCubic: t => t < 0.5 ? 4 * t ** 3 : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1,\n easeInQuart: t => t ** 4,\n easeOutQuart: t => 1 - --t ** 4,\n easeInOutQuart: t => t < 0.5 ? 8 * t ** 4 : 1 - 8 * --t ** 4,\n easeInQuint: t => t ** 5,\n easeOutQuint: t => 1 + --t ** 5,\n easeInOutQuint: t => t < 0.5 ? 16 * t ** 5 : 1 + 16 * --t ** 5,\n instant: t => 1\n};\nexport function useTransition(source, options) {\n const defaultTransition = {\n duration: 300,\n transition: easingPatterns.easeInOutCubic\n };\n let raf = -1;\n const outputRef = shallowRef(toValue(source));\n watch(() => toValue(source), async to => {\n cancelAnimationFrame(raf);\n const easing = {\n ...defaultTransition,\n ...toValue(options)\n };\n await executeTransition(outputRef, outputRef.value, to, easing);\n });\n function executeTransition(out, from, to, options) {\n const startTime = performance.now();\n const ease = PREFERS_REDUCED_MOTION() ? easingPatterns.instant : options.transition ?? easingPatterns.easeInOutCubic;\n return new Promise(resolve => {\n raf = requestAnimationFrame(function step(currentTime) {\n const timeElapsed = currentTime - startTime;\n const progress = timeElapsed / options.duration;\n out.value = from + (to - from) * ease(clamp(progress, 0, 1));\n if (progress < 1) {\n raf = requestAnimationFrame(step);\n } else {\n out.value = to;\n resolve();\n }\n });\n });\n }\n return computed(() => outputRef.value);\n}\n//# sourceMappingURL=easing.js.map","// Utilities\nimport { getCurrentInstance } from \"./getCurrentInstance.js\"; // Types\nexport function useRender(render) {\n const vm = getCurrentInstance('useRender');\n vm.render = render;\n}\n//# sourceMappingURL=useRender.js.map","// Utilities\nimport { computed } from 'vue';\nimport { convertToUnit, propsFactory } from \"../util/index.js\"; // Types\n// Composables\nexport const makeDimensionProps = propsFactory({\n height: [Number, String],\n maxHeight: [Number, String],\n maxWidth: [Number, String],\n minHeight: [Number, String],\n minWidth: [Number, String],\n width: [Number, String]\n}, 'dimension');\nexport function useDimension(props) {\n const dimensionStyles = computed(() => {\n const styles = {};\n const height = convertToUnit(props.height);\n const maxHeight = convertToUnit(props.maxHeight);\n const maxWidth = convertToUnit(props.maxWidth);\n const minHeight = convertToUnit(props.minHeight);\n const minWidth = convertToUnit(props.minWidth);\n const width = convertToUnit(props.width);\n if (height != null) styles.height = height;\n if (maxHeight != null) styles.maxHeight = maxHeight;\n if (maxWidth != null) styles.maxWidth = maxWidth;\n if (minHeight != null) styles.minHeight = minHeight;\n if (minWidth != null) styles.minWidth = minWidth;\n if (width != null) styles.width = width;\n return styles;\n });\n return {\n dimensionStyles\n };\n}\n//# sourceMappingURL=dimensions.js.map","import { normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from \"vue\";\n// Styles\nimport \"./VResponsive.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.js\"; // Utilities\nimport { computed } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.js\";\nexport function useAspectStyles(props) {\n return {\n aspectStyles: computed(() => {\n const ratio = Number(props.aspectRatio);\n return ratio ? {\n paddingBottom: String(1 / ratio * 100) + '%'\n } : undefined;\n })\n };\n}\nexport const makeVResponsiveProps = propsFactory({\n aspectRatio: [String, Number],\n contentClass: null,\n inline: Boolean,\n ...makeComponentProps(),\n ...makeDimensionProps()\n}, 'VResponsive');\nexport const VResponsive = genericComponent()({\n name: 'VResponsive',\n props: makeVResponsiveProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n aspectStyles\n } = useAspectStyles(props);\n const {\n dimensionStyles\n } = useDimension(props);\n useRender(() => _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-responsive', {\n 'v-responsive--inline': props.inline\n }, props.class]),\n \"style\": _normalizeStyle([dimensionStyles.value, props.style])\n }, [_createElementVNode(\"div\", {\n \"class\": \"v-responsive__sizer\",\n \"style\": _normalizeStyle(aspectStyles.value)\n }, null), slots.additional?.(), slots.default && _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-responsive__content', props.contentClass])\n }, [slots.default()])]));\n return {};\n }\n});\n//# sourceMappingURL=VResponsive.js.map","// Utilities\nimport { toValue } from 'vue';\nimport { destructComputed, getForeground, isCssColor, isParsableColor, parseColor } from \"../util/index.js\"; // Types\n// Composables\nexport function useColor(colors) {\n return destructComputed(() => {\n const {\n class: colorClasses,\n style: colorStyles\n } = computeColor(colors);\n return {\n colorClasses,\n colorStyles\n };\n });\n}\nexport function useTextColor(color) {\n const {\n colorClasses: textColorClasses,\n colorStyles: textColorStyles\n } = useColor(() => ({\n text: toValue(color)\n }));\n return {\n textColorClasses,\n textColorStyles\n };\n}\nexport function useBackgroundColor(color) {\n const {\n colorClasses: backgroundColorClasses,\n colorStyles: backgroundColorStyles\n } = useColor(() => ({\n background: toValue(color)\n }));\n return {\n backgroundColorClasses,\n backgroundColorStyles\n };\n}\nexport function computeColor(colors) {\n const _colors = toValue(colors);\n const classes = [];\n const styles = {};\n if (_colors.background) {\n if (isCssColor(_colors.background)) {\n styles.backgroundColor = _colors.background;\n if (!_colors.text && isParsableColor(_colors.background)) {\n const backgroundColor = parseColor(_colors.background);\n if (backgroundColor.a == null || backgroundColor.a === 1) {\n const textColor = getForeground(backgroundColor);\n styles.color = textColor;\n styles.caretColor = textColor;\n }\n }\n } else {\n classes.push(`bg-${_colors.background}`);\n }\n }\n if (_colors.text) {\n if (isCssColor(_colors.text)) {\n styles.color = _colors.text;\n styles.caretColor = _colors.text;\n } else {\n classes.push(`text-${_colors.text}`);\n }\n }\n return {\n class: classes,\n style: styles\n };\n}\n//# sourceMappingURL=color.js.map","// Utilities\nimport { computed, isRef } from 'vue';\nimport { getCurrentInstanceName, propsFactory } from \"../util/index.js\"; // Types\n// Composables\nexport const makeRoundedProps = propsFactory({\n rounded: {\n type: [Boolean, Number, String],\n default: undefined\n },\n tile: Boolean\n}, 'rounded');\nexport function useRounded(props) {\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n const roundedClasses = computed(() => {\n const rounded = isRef(props) ? props.value : props.rounded;\n const tile = isRef(props) ? false : props.tile;\n const classes = [];\n if (tile || rounded === false) {\n classes.push('rounded-0');\n } else if (rounded === true || rounded === '') {\n classes.push(`${name}--rounded`);\n } else if (typeof rounded === 'string' || rounded === 0) {\n for (const value of String(rounded).split(' ')) {\n classes.push(`rounded-${value}`);\n }\n }\n return classes;\n });\n return {\n roundedClasses\n };\n}\n//# sourceMappingURL=rounded.js.map","// Utilities\nimport { h, mergeProps, Transition, TransitionGroup } from 'vue';\nimport { isObject, onlyDefinedProps, propsFactory } from \"../util/index.js\"; // Types\nexport const makeTransitionProps = propsFactory({\n transition: {\n type: null,\n default: 'fade-transition',\n validator: val => val !== true\n }\n}, 'transition');\nexport const MaybeTransition = (props, _ref) => {\n let {\n slots\n } = _ref;\n const {\n transition,\n disabled,\n group,\n ...rest\n } = props;\n const {\n component = group ? TransitionGroup : Transition,\n ...customProps\n } = isObject(transition) ? transition : {};\n let transitionProps;\n if (isObject(transition)) {\n transitionProps = mergeProps(customProps, onlyDefinedProps({\n disabled,\n group\n }), rest);\n } else {\n transitionProps = mergeProps({\n name: disabled || !transition ? '' : transition\n }, rest);\n }\n return h(component, transitionProps, slots);\n};\n//# sourceMappingURL=transition.js.map","// Utilities\nimport { SUPPORTS_INTERSECTION } from \"../../util/index.js\"; // Types\nfunction mounted(el, binding) {\n if (!SUPPORTS_INTERSECTION) return;\n const modifiers = binding.modifiers || {};\n const value = binding.value;\n const {\n handler,\n options\n } = typeof value === 'object' ? value : {\n handler: value,\n options: {}\n };\n const observer = new IntersectionObserver(function () {\n let entries = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n let observer = arguments.length > 1 ? arguments[1] : undefined;\n const _observe = el._observe?.[binding.instance.$.uid];\n if (!_observe) return; // Just in case, should never fire\n\n const isIntersecting = entries.some(entry => entry.isIntersecting);\n\n // If is not quiet or has already been\n // initted, invoke the user callback\n if (handler && (!modifiers.quiet || _observe.init) && (!modifiers.once || isIntersecting || _observe.init)) {\n handler(isIntersecting, entries, observer);\n }\n if (isIntersecting && modifiers.once) unmounted(el, binding);else _observe.init = true;\n }, options);\n el._observe = Object(el._observe);\n el._observe[binding.instance.$.uid] = {\n init: false,\n observer\n };\n observer.observe(el);\n}\nfunction unmounted(el, binding) {\n const observe = el._observe?.[binding.instance.$.uid];\n if (!observe) return;\n observe.observer.unobserve(el);\n delete el._observe[binding.instance.$.uid];\n}\nexport const Intersect = {\n mounted,\n unmounted\n};\nexport default Intersect;\n//# sourceMappingURL=index.js.map","import { normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, createVNode as _createVNode, Fragment as _Fragment, mergeProps as _mergeProps, withDirectives as _withDirectives } from \"vue\";\n// Styles\nimport \"./VImg.css\";\n\n// Components\nimport { makeVResponsiveProps, VResponsive } from \"../VResponsive/VResponsive.js\"; // Composables\nimport { useBackgroundColor } from \"../../composables/color.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.js\";\nimport { makeTransitionProps, MaybeTransition } from \"../../composables/transition.js\"; // Directives\nimport vIntersect from \"../../directives/intersect/index.js\"; // Utilities\nimport { computed, nextTick, onBeforeMount, onBeforeUnmount, ref, shallowRef, toRef, vShow, watch, withDirectives } from 'vue';\nimport { convertToUnit, genericComponent, getCurrentInstance, propsFactory, SUPPORTS_INTERSECTION, useRender } from \"../../util/index.js\"; // Types\n// not intended for public use, this is passed in by vuetify-loader\nexport const makeVImgProps = propsFactory({\n absolute: Boolean,\n alt: String,\n cover: Boolean,\n color: String,\n draggable: {\n type: [Boolean, String],\n default: undefined\n },\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined\n })\n },\n sizes: String,\n src: {\n type: [String, Object],\n default: ''\n },\n crossorigin: String,\n referrerpolicy: String,\n srcset: String,\n position: String,\n ...makeVResponsiveProps(),\n ...makeComponentProps(),\n ...makeRoundedProps(),\n ...makeTransitionProps()\n}, 'VImg');\nexport const VImg = genericComponent()({\n name: 'VImg',\n directives: {\n vIntersect\n },\n props: makeVImgProps(),\n emits: {\n loadstart: value => true,\n load: value => true,\n error: value => true\n },\n setup(props, _ref) {\n let {\n emit,\n slots\n } = _ref;\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(() => props.color);\n const {\n roundedClasses\n } = useRounded(props);\n const vm = getCurrentInstance('VImg');\n const currentSrc = shallowRef(''); // Set from srcset\n const image = ref();\n const state = shallowRef(props.eager ? 'loading' : 'idle');\n const naturalWidth = shallowRef();\n const naturalHeight = shallowRef();\n const normalisedSrc = computed(() => {\n return props.src && typeof props.src === 'object' ? {\n src: props.src.src,\n srcset: props.srcset || props.src.srcset,\n lazySrc: props.lazySrc || props.src.lazySrc,\n aspect: Number(props.aspectRatio || props.src.aspect || 0)\n } : {\n src: props.src,\n srcset: props.srcset,\n lazySrc: props.lazySrc,\n aspect: Number(props.aspectRatio || 0)\n };\n });\n const aspectRatio = computed(() => {\n return normalisedSrc.value.aspect || naturalWidth.value / naturalHeight.value || 0;\n });\n watch(() => props.src, () => {\n init(state.value !== 'idle');\n });\n watch(aspectRatio, (val, oldVal) => {\n if (!val && oldVal && image.value) {\n pollForSize(image.value);\n }\n });\n\n // TODO: getSrc when window width changes\n\n onBeforeMount(() => init());\n function init(isIntersecting) {\n if (props.eager && isIntersecting) return;\n if (SUPPORTS_INTERSECTION && !isIntersecting && !props.eager) return;\n state.value = 'loading';\n if (normalisedSrc.value.lazySrc) {\n const lazyImg = new Image();\n lazyImg.src = normalisedSrc.value.lazySrc;\n pollForSize(lazyImg, null);\n }\n if (!normalisedSrc.value.src) return;\n nextTick(() => {\n emit('loadstart', image.value?.currentSrc || normalisedSrc.value.src);\n setTimeout(() => {\n if (vm.isUnmounted) return;\n if (image.value?.complete) {\n if (!image.value.naturalWidth) {\n onError();\n }\n if (state.value === 'error') return;\n if (!aspectRatio.value) pollForSize(image.value, null);\n if (state.value === 'loading') onLoad();\n } else {\n if (!aspectRatio.value) pollForSize(image.value);\n getSrc();\n }\n });\n });\n }\n function onLoad() {\n if (vm.isUnmounted) return;\n getSrc();\n pollForSize(image.value);\n state.value = 'loaded';\n emit('load', image.value?.currentSrc || normalisedSrc.value.src);\n }\n function onError() {\n if (vm.isUnmounted) return;\n state.value = 'error';\n emit('error', image.value?.currentSrc || normalisedSrc.value.src);\n }\n function getSrc() {\n const img = image.value;\n if (img) currentSrc.value = img.currentSrc || img.src;\n }\n let timer = -1;\n onBeforeUnmount(() => {\n clearTimeout(timer);\n });\n function pollForSize(img) {\n let timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;\n const poll = () => {\n clearTimeout(timer);\n if (vm.isUnmounted) return;\n const {\n naturalHeight: imgHeight,\n naturalWidth: imgWidth\n } = img;\n if (imgHeight || imgWidth) {\n naturalWidth.value = imgWidth;\n naturalHeight.value = imgHeight;\n } else if (!img.complete && state.value === 'loading' && timeout != null) {\n timer = window.setTimeout(poll, timeout);\n } else if (img.currentSrc.endsWith('.svg') || img.currentSrc.startsWith('data:image/svg+xml')) {\n naturalWidth.value = 1;\n naturalHeight.value = 1;\n }\n };\n poll();\n }\n const containClasses = toRef(() => ({\n 'v-img__img--cover': props.cover,\n 'v-img__img--contain': !props.cover\n }));\n const __image = () => {\n if (!normalisedSrc.value.src || state.value === 'idle') return null;\n const img = _createElementVNode(\"img\", {\n \"class\": _normalizeClass(['v-img__img', containClasses.value]),\n \"style\": {\n objectPosition: props.position\n },\n \"crossorigin\": props.crossorigin,\n \"src\": normalisedSrc.value.src,\n \"srcset\": normalisedSrc.value.srcset,\n \"alt\": props.alt,\n \"referrerpolicy\": props.referrerpolicy,\n \"draggable\": props.draggable,\n \"sizes\": props.sizes,\n \"ref\": image,\n \"onLoad\": onLoad,\n \"onError\": onError\n }, null);\n const sources = slots.sources?.();\n return _createVNode(MaybeTransition, {\n \"transition\": props.transition,\n \"appear\": true\n }, {\n default: () => [withDirectives(sources ? _createElementVNode(\"picture\", {\n \"class\": \"v-img__picture\"\n }, [sources, img]) : img, [[vShow, state.value === 'loaded']])]\n });\n };\n const __preloadImage = () => _createVNode(MaybeTransition, {\n \"transition\": props.transition\n }, {\n default: () => [normalisedSrc.value.lazySrc && state.value !== 'loaded' && _createElementVNode(\"img\", {\n \"class\": _normalizeClass(['v-img__img', 'v-img__img--preload', containClasses.value]),\n \"style\": {\n objectPosition: props.position\n },\n \"crossorigin\": props.crossorigin,\n \"src\": normalisedSrc.value.lazySrc,\n \"alt\": props.alt,\n \"referrerpolicy\": props.referrerpolicy,\n \"draggable\": props.draggable\n }, null)]\n });\n const __placeholder = () => {\n if (!slots.placeholder) return null;\n return _createVNode(MaybeTransition, {\n \"transition\": props.transition,\n \"appear\": true\n }, {\n default: () => [(state.value === 'loading' || state.value === 'error' && !slots.error) && _createElementVNode(\"div\", {\n \"class\": \"v-img__placeholder\"\n }, [slots.placeholder()])]\n });\n };\n const __error = () => {\n if (!slots.error) return null;\n return _createVNode(MaybeTransition, {\n \"transition\": props.transition,\n \"appear\": true\n }, {\n default: () => [state.value === 'error' && _createElementVNode(\"div\", {\n \"class\": \"v-img__error\"\n }, [slots.error()])]\n });\n };\n const __gradient = () => {\n if (!props.gradient) return null;\n return _createElementVNode(\"div\", {\n \"class\": \"v-img__gradient\",\n \"style\": {\n backgroundImage: `linear-gradient(${props.gradient})`\n }\n }, null);\n };\n const isBooted = shallowRef(false);\n {\n const stop = watch(aspectRatio, val => {\n if (val) {\n // Doesn't work with nextTick, idk why\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n isBooted.value = true;\n });\n });\n stop();\n }\n });\n }\n useRender(() => {\n const responsiveProps = VResponsive.filterProps(props);\n return _withDirectives(_createVNode(VResponsive, _mergeProps({\n \"class\": ['v-img', {\n 'v-img--absolute': props.absolute,\n 'v-img--booting': !isBooted.value\n }, backgroundColorClasses.value, roundedClasses.value, props.class],\n \"style\": [{\n width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width)\n }, backgroundColorStyles.value, props.style]\n }, responsiveProps, {\n \"aspectRatio\": aspectRatio.value,\n \"aria-label\": props.alt,\n \"role\": props.alt ? 'img' : undefined\n }), {\n additional: () => _createElementVNode(_Fragment, null, [_createVNode(__image, null, null), _createVNode(__preloadImage, null, null), _createVNode(__gradient, null, null), _createVNode(__placeholder, null, null), _createVNode(__error, null, null)]),\n default: slots.default\n }), [[vIntersect, {\n handler: init,\n options: props.options\n }, null, {\n once: true\n }]]);\n });\n return {\n currentSrc,\n image,\n state,\n naturalWidth,\n naturalHeight\n };\n }\n});\n//# sourceMappingURL=VImg.js.map","// Utilities\nimport { propsFactory } from \"../util/index.js\"; // Types\n// Types\n// Composables\nexport const makeTagProps = propsFactory({\n tag: {\n type: [String, Object, Function],\n default: 'div'\n }\n}, 'tag');\n//# sourceMappingURL=tag.js.map","// Composables\nimport { provideDefaults } from \"../../composables/defaults.js\"; // Utilities\nimport { toRefs } from 'vue';\nimport { genericComponent, propsFactory } from \"../../util/index.js\"; // Types\nexport const makeVDefaultsProviderProps = propsFactory({\n defaults: Object,\n disabled: Boolean,\n reset: [Number, String],\n root: [Boolean, String],\n scoped: Boolean\n}, 'VDefaultsProvider');\nexport const VDefaultsProvider = genericComponent(false)({\n name: 'VDefaultsProvider',\n props: makeVDefaultsProviderProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n defaults,\n disabled,\n reset,\n root,\n scoped\n } = toRefs(props);\n provideDefaults(defaults, {\n reset,\n root,\n scoped,\n disabled\n });\n return () => slots.default?.();\n }\n});\n//# sourceMappingURL=VDefaultsProvider.js.map","import { createVNode as _createVNode, createElementVNode as _createElementVNode, mergeProps as _mergeProps, normalizeClass as _normalizeClass } from \"vue\";\n// Icons\nimport { aliases, mdi } from \"../iconsets/mdi.js\"; // Utilities\nimport { computed, inject, toValue } from 'vue';\nimport { consoleWarn, defineComponent, genericComponent, mergeDeep, propsFactory } from \"../util/index.js\"; // Types\nexport const IconValue = [String, Function, Object, Array];\nexport const IconSymbol = Symbol.for('vuetify:icons');\nexport const makeIconProps = propsFactory({\n icon: {\n type: IconValue\n },\n // Could not remove this and use makeTagProps, types complained because it is not required\n tag: {\n type: [String, Object, Function],\n required: true\n }\n}, 'icon');\nexport const VComponentIcon = genericComponent()({\n name: 'VComponentIcon',\n props: makeIconProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n return () => {\n const Icon = props.icon;\n return _createVNode(props.tag, null, {\n default: () => [props.icon ? _createVNode(Icon, null, null) : slots.default?.()]\n });\n };\n }\n});\nexport const VSvgIcon = defineComponent({\n name: 'VSvgIcon',\n inheritAttrs: false,\n props: makeIconProps(),\n setup(props, _ref2) {\n let {\n attrs\n } = _ref2;\n return () => {\n return _createVNode(props.tag, _mergeProps(attrs, {\n \"style\": null\n }), {\n default: () => [_createElementVNode(\"svg\", {\n \"class\": \"v-icon__svg\",\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 24 24\",\n \"role\": \"img\",\n \"aria-hidden\": \"true\"\n }, [Array.isArray(props.icon) ? props.icon.map(path => Array.isArray(path) ? _createElementVNode(\"path\", {\n \"d\": path[0],\n \"fill-opacity\": path[1]\n }, null) : _createElementVNode(\"path\", {\n \"d\": path\n }, null)) : _createElementVNode(\"path\", {\n \"d\": props.icon\n }, null)])]\n });\n };\n }\n});\nexport const VLigatureIcon = defineComponent({\n name: 'VLigatureIcon',\n props: makeIconProps(),\n setup(props) {\n return () => {\n return _createVNode(props.tag, null, {\n default: () => [props.icon]\n });\n };\n }\n});\nexport const VClassIcon = defineComponent({\n name: 'VClassIcon',\n props: makeIconProps(),\n setup(props) {\n return () => {\n return _createVNode(props.tag, {\n \"class\": _normalizeClass(props.icon)\n }, null);\n };\n }\n});\nfunction genDefaults() {\n return {\n svg: {\n component: VSvgIcon\n },\n class: {\n component: VClassIcon\n }\n };\n}\n\n// Composables\nexport function createIcons(options) {\n const sets = genDefaults();\n const defaultSet = options?.defaultSet ?? 'mdi';\n if (defaultSet === 'mdi' && !sets.mdi) {\n sets.mdi = mdi;\n }\n return mergeDeep({\n defaultSet,\n sets,\n aliases: {\n ...aliases,\n /* eslint-disable max-len */\n vuetify: ['M8.2241 14.2009L12 21L22 3H14.4459L8.2241 14.2009Z', ['M7.26303 12.4733L7.00113 12L2 3H12.5261C12.5261 3 12.5261 3 12.5261 3L7.26303 12.4733Z', 0.6]],\n 'vuetify-outline': 'svg:M7.26 12.47 12.53 3H2L7.26 12.47ZM14.45 3 8.22 14.2 12 21 22 3H14.45ZM18.6 5 12 16.88 10.51 14.2 15.62 5ZM7.26 8.35 5.4 5H9.13L7.26 8.35Z',\n 'vuetify-play': ['m6.376 13.184-4.11-7.192C1.505 4.66 2.467 3 4.003 3h8.532l-.953 1.576-.006.01-.396.677c-.429.732-.214 1.507.194 2.015.404.503 1.092.878 1.869.806a3.72 3.72 0 0 1 1.005.022c.276.053.434.143.523.237.138.146.38.635-.25 2.09-.893 1.63-1.553 1.722-1.847 1.677-.213-.033-.468-.158-.756-.406a4.95 4.95 0 0 1-.8-.927c-.39-.564-1.04-.84-1.66-.846-.625-.006-1.316.27-1.693.921l-.478.826-.911 1.506Z', ['M9.093 11.552c.046-.079.144-.15.32-.148a.53.53 0 0 1 .43.207c.285.414.636.847 1.046 1.2.405.35.914.662 1.516.754 1.334.205 2.502-.698 3.48-2.495l.014-.028.013-.03c.687-1.574.774-2.852-.005-3.675-.37-.391-.861-.586-1.333-.676a5.243 5.243 0 0 0-1.447-.044c-.173.016-.393-.073-.54-.257-.145-.18-.127-.316-.082-.392l.393-.672L14.287 3h5.71c1.536 0 2.499 1.659 1.737 2.992l-7.997 13.996c-.768 1.344-2.706 1.344-3.473 0l-3.037-5.314 1.377-2.278.004-.006.004-.007.481-.831Z', 0.6]]\n /* eslint-enable max-len */\n }\n }, options);\n}\nexport const useIcon = props => {\n const icons = inject(IconSymbol);\n if (!icons) throw new Error('Missing Vuetify Icons provide!');\n const iconData = computed(() => {\n const iconAlias = toValue(props);\n if (!iconAlias) return {\n component: VComponentIcon\n };\n let icon = iconAlias;\n if (typeof icon === 'string') {\n icon = icon.trim();\n if (icon.startsWith('$')) {\n icon = icons.aliases?.[icon.slice(1)];\n }\n }\n if (!icon) consoleWarn(`Could not find aliased icon \"${iconAlias}\"`);\n if (Array.isArray(icon)) {\n return {\n component: VSvgIcon,\n icon\n };\n } else if (typeof icon !== 'string') {\n return {\n component: VComponentIcon,\n icon\n };\n }\n const iconSetName = Object.keys(icons.sets).find(setName => typeof icon === 'string' && icon.startsWith(`${setName}:`));\n const iconName = iconSetName ? icon.slice(iconSetName.length + 1) : icon;\n const iconSet = icons.sets[iconSetName ?? icons.defaultSet];\n return {\n component: iconSet.component,\n icon: iconName\n };\n });\n return {\n iconData\n };\n};\n//# sourceMappingURL=icons.js.map","// Utilities\nimport { convertToUnit, destructComputed, getCurrentInstanceName, includes, propsFactory } from \"../util/index.js\"; // Types\nconst predefinedSizes = ['x-small', 'small', 'default', 'large', 'x-large'];\n// Composables\nexport const makeSizeProps = propsFactory({\n size: {\n type: [String, Number],\n default: 'default'\n }\n}, 'size');\nexport function useSize(props) {\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n return destructComputed(() => {\n const size = props.size;\n let sizeClasses;\n let sizeStyles;\n if (includes(predefinedSizes, size)) {\n sizeClasses = `${name}--size-${size}`;\n } else if (size) {\n sizeStyles = {\n width: convertToUnit(size),\n height: convertToUnit(size)\n };\n }\n return {\n sizeClasses,\n sizeStyles\n };\n });\n}\n//# sourceMappingURL=size.js.map","// Utilities\nimport { computed, getCurrentScope, inject, onScopeDispose, provide, ref, shallowRef, toRef, watch, watchEffect } from 'vue';\nimport { consoleWarn, createRange, darken, deprecate, getCurrentInstance, getForeground, getLuma, IN_BROWSER, lighten, mergeDeep, parseColor, propsFactory, RGBtoHex, SUPPORTS_MATCH_MEDIA } from \"../util/index.js\"; // Types\nexport const ThemeSymbol = Symbol.for('vuetify:theme');\nexport const makeThemeProps = propsFactory({\n theme: String\n}, 'theme');\nfunction genDefaults() {\n return {\n defaultTheme: 'light',\n prefix: 'v-',\n variations: {\n colors: [],\n lighten: 0,\n darken: 0\n },\n themes: {\n light: {\n dark: false,\n colors: {\n background: '#FFFFFF',\n surface: '#FFFFFF',\n 'surface-bright': '#FFFFFF',\n 'surface-light': '#EEEEEE',\n 'surface-variant': '#424242',\n 'on-surface-variant': '#EEEEEE',\n primary: '#1867C0',\n 'primary-darken-1': '#1F5592',\n secondary: '#48A9A6',\n 'secondary-darken-1': '#018786',\n error: '#B00020',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FB8C00'\n },\n variables: {\n 'border-color': '#000000',\n 'border-opacity': 0.12,\n 'high-emphasis-opacity': 0.87,\n 'medium-emphasis-opacity': 0.60,\n 'disabled-opacity': 0.38,\n 'idle-opacity': 0.04,\n 'hover-opacity': 0.04,\n 'focus-opacity': 0.12,\n 'selected-opacity': 0.08,\n 'activated-opacity': 0.12,\n 'pressed-opacity': 0.12,\n 'dragged-opacity': 0.08,\n 'theme-kbd': '#EEEEEE',\n 'theme-on-kbd': '#000000',\n 'theme-code': '#F5F5F5',\n 'theme-on-code': '#000000'\n }\n },\n dark: {\n dark: true,\n colors: {\n background: '#121212',\n surface: '#212121',\n 'surface-bright': '#ccbfd6',\n 'surface-light': '#424242',\n 'surface-variant': '#c8c8c8',\n 'on-surface-variant': '#000000',\n primary: '#2196F3',\n 'primary-darken-1': '#277CC1',\n secondary: '#54B6B2',\n 'secondary-darken-1': '#48A9A6',\n error: '#CF6679',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FB8C00'\n },\n variables: {\n 'border-color': '#FFFFFF',\n 'border-opacity': 0.12,\n 'high-emphasis-opacity': 1,\n 'medium-emphasis-opacity': 0.70,\n 'disabled-opacity': 0.50,\n 'idle-opacity': 0.10,\n 'hover-opacity': 0.04,\n 'focus-opacity': 0.12,\n 'selected-opacity': 0.08,\n 'activated-opacity': 0.12,\n 'pressed-opacity': 0.16,\n 'dragged-opacity': 0.08,\n 'theme-kbd': '#424242',\n 'theme-on-kbd': '#FFFFFF',\n 'theme-code': '#343434',\n 'theme-on-code': '#CCCCCC'\n }\n }\n },\n stylesheetId: 'vuetify-theme-stylesheet',\n scoped: false,\n unimportant: false,\n utilities: true\n };\n}\nfunction parseThemeOptions() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : genDefaults();\n const defaults = genDefaults();\n if (!options) return {\n ...defaults,\n isDisabled: true\n };\n const themes = {};\n for (const [key, theme] of Object.entries(options.themes ?? {})) {\n const defaultTheme = theme.dark || key === 'dark' ? defaults.themes?.dark : defaults.themes?.light;\n themes[key] = mergeDeep(defaultTheme, theme);\n }\n return mergeDeep(defaults, {\n ...options,\n themes\n });\n}\nfunction createCssClass(lines, selector, content, scope) {\n lines.push(`${getScopedSelector(selector, scope)} {\\n`, ...content.map(line => ` ${line};\\n`), '}\\n');\n}\nfunction genCssVariables(theme, prefix) {\n const lightOverlay = theme.dark ? 2 : 1;\n const darkOverlay = theme.dark ? 1 : 2;\n const variables = [];\n for (const [key, value] of Object.entries(theme.colors)) {\n const rgb = parseColor(value);\n variables.push(`--${prefix}theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`);\n if (!key.startsWith('on-')) {\n variables.push(`--${prefix}theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`);\n }\n }\n for (const [key, value] of Object.entries(theme.variables)) {\n const color = typeof value === 'string' && value.startsWith('#') ? parseColor(value) : undefined;\n const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined;\n variables.push(`--${prefix}${key}: ${rgb ?? value}`);\n }\n return variables;\n}\nfunction genVariation(name, color, variations) {\n const object = {};\n if (variations) {\n for (const variation of ['lighten', 'darken']) {\n const fn = variation === 'lighten' ? lighten : darken;\n for (const amount of createRange(variations[variation], 1)) {\n object[`${name}-${variation}-${amount}`] = RGBtoHex(fn(parseColor(color), amount));\n }\n }\n }\n return object;\n}\nfunction genVariations(colors, variations) {\n if (!variations) return {};\n let variationColors = {};\n for (const name of variations.colors) {\n const color = colors[name];\n if (!color) continue;\n variationColors = {\n ...variationColors,\n ...genVariation(name, color, variations)\n };\n }\n return variationColors;\n}\nfunction genOnColors(colors) {\n const onColors = {};\n for (const color of Object.keys(colors)) {\n if (color.startsWith('on-') || colors[`on-${color}`]) continue;\n const onColor = `on-${color}`;\n const colorVal = parseColor(colors[color]);\n onColors[onColor] = getForeground(colorVal);\n }\n return onColors;\n}\nfunction getScopedSelector(selector, scope) {\n if (!scope) return selector;\n const scopeSelector = `:where(${scope})`;\n return selector === ':root' ? scopeSelector : `${scopeSelector} ${selector}`;\n}\nfunction upsertStyles(id, cspNonce, styles) {\n const styleEl = getOrCreateStyleElement(id, cspNonce);\n if (!styleEl) return;\n styleEl.innerHTML = styles;\n}\nfunction getOrCreateStyleElement(id, cspNonce) {\n if (!IN_BROWSER) return null;\n let style = document.getElementById(id);\n if (!style) {\n style = document.createElement('style');\n style.id = id;\n style.type = 'text/css';\n if (cspNonce) style.setAttribute('nonce', cspNonce);\n document.head.appendChild(style);\n }\n return style;\n}\n\n// Composables\nexport function createTheme(options) {\n const parsedOptions = parseThemeOptions(options);\n const _name = shallowRef(parsedOptions.defaultTheme);\n const themes = ref(parsedOptions.themes);\n const systemName = shallowRef('light');\n const name = computed({\n get() {\n return _name.value === 'system' ? systemName.value : _name.value;\n },\n set(val) {\n _name.value = val;\n }\n });\n const computedThemes = computed(() => {\n const acc = {};\n for (const [name, original] of Object.entries(themes.value)) {\n const colors = {\n ...original.colors,\n ...genVariations(original.colors, parsedOptions.variations)\n };\n acc[name] = {\n ...original,\n colors: {\n ...colors,\n ...genOnColors(colors)\n }\n };\n }\n return acc;\n });\n const current = toRef(() => computedThemes.value[name.value]);\n const isSystem = toRef(() => _name.value === 'system');\n const styles = computed(() => {\n const lines = [];\n const important = parsedOptions.unimportant ? '' : ' !important';\n const scoped = parsedOptions.scoped ? parsedOptions.prefix : '';\n if (current.value?.dark) {\n createCssClass(lines, ':root', ['color-scheme: dark'], parsedOptions.scope);\n }\n createCssClass(lines, ':root', genCssVariables(current.value, parsedOptions.prefix), parsedOptions.scope);\n for (const [themeName, theme] of Object.entries(computedThemes.value)) {\n createCssClass(lines, `.${parsedOptions.prefix}theme--${themeName}`, [`color-scheme: ${theme.dark ? 'dark' : 'normal'}`, ...genCssVariables(theme, parsedOptions.prefix)], parsedOptions.scope);\n }\n if (parsedOptions.utilities) {\n const bgLines = [];\n const fgLines = [];\n const colors = new Set(Object.values(computedThemes.value).flatMap(theme => Object.keys(theme.colors)));\n for (const key of colors) {\n if (key.startsWith('on-')) {\n createCssClass(fgLines, `.${key}`, [`color: rgb(var(--${parsedOptions.prefix}theme-${key}))${important}`], parsedOptions.scope);\n } else {\n createCssClass(bgLines, `.${scoped}bg-${key}`, [`--${parsedOptions.prefix}theme-overlay-multiplier: var(--${parsedOptions.prefix}theme-${key}-overlay-multiplier)`, `background-color: rgb(var(--${parsedOptions.prefix}theme-${key}))${important}`, `color: rgb(var(--${parsedOptions.prefix}theme-on-${key}))${important}`], parsedOptions.scope);\n createCssClass(fgLines, `.${scoped}text-${key}`, [`color: rgb(var(--${parsedOptions.prefix}theme-${key}))${important}`], parsedOptions.scope);\n createCssClass(fgLines, `.${scoped}border-${key}`, [`--${parsedOptions.prefix}border-color: var(--${parsedOptions.prefix}theme-${key})`], parsedOptions.scope);\n }\n }\n lines.push(...bgLines, ...fgLines);\n }\n return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('');\n });\n const themeClasses = toRef(() => parsedOptions.isDisabled ? undefined : `${parsedOptions.prefix}theme--${name.value}`);\n const themeNames = toRef(() => Object.keys(computedThemes.value));\n if (SUPPORTS_MATCH_MEDIA) {\n const media = window.matchMedia('(prefers-color-scheme: dark)');\n function updateSystemName() {\n systemName.value = media.matches ? 'dark' : 'light';\n }\n updateSystemName();\n media.addEventListener('change', updateSystemName, {\n passive: true\n });\n if (getCurrentScope()) {\n onScopeDispose(() => {\n media.removeEventListener('change', updateSystemName);\n });\n }\n }\n function install(app) {\n if (parsedOptions.isDisabled) return;\n const head = app._context.provides.usehead;\n if (head) {\n function getHead() {\n return {\n style: [{\n textContent: styles.value,\n id: parsedOptions.stylesheetId,\n nonce: parsedOptions.cspNonce || false\n }]\n };\n }\n if (head.push) {\n const entry = head.push(getHead);\n if (IN_BROWSER) {\n watch(styles, () => {\n entry.patch(getHead);\n });\n }\n } else {\n if (IN_BROWSER) {\n head.addHeadObjs(toRef(getHead));\n watchEffect(() => head.updateDOM());\n } else {\n head.addHeadObjs(getHead());\n }\n }\n } else {\n if (IN_BROWSER) {\n watch(styles, updateStyles, {\n immediate: true\n });\n } else {\n updateStyles();\n }\n function updateStyles() {\n upsertStyles(parsedOptions.stylesheetId, parsedOptions.cspNonce, styles.value);\n }\n }\n }\n function change(themeName) {\n if (themeName !== 'system' && !themeNames.value.includes(themeName)) {\n consoleWarn(`Theme \"${themeName}\" not found on the Vuetify theme instance`);\n return;\n }\n name.value = themeName;\n }\n function cycle() {\n let themeArray = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : themeNames.value;\n const currentIndex = themeArray.indexOf(name.value);\n const nextIndex = currentIndex === -1 ? 0 : (currentIndex + 1) % themeArray.length;\n change(themeArray[nextIndex]);\n }\n function toggle() {\n let themeArray = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['light', 'dark'];\n cycle(themeArray);\n }\n const globalName = new Proxy(name, {\n get(target, prop) {\n return Reflect.get(target, prop);\n },\n set(target, prop, val) {\n if (prop === 'value') {\n deprecate(`theme.global.name.value = ${val}`, `theme.change('${val}')`);\n }\n return Reflect.set(target, prop, val);\n }\n });\n return {\n install,\n change,\n cycle,\n toggle,\n isDisabled: parsedOptions.isDisabled,\n isSystem,\n name,\n themes,\n current,\n computedThemes,\n prefix: parsedOptions.prefix,\n themeClasses,\n styles,\n global: {\n name: globalName,\n current\n }\n };\n}\nexport function provideTheme(props) {\n getCurrentInstance('provideTheme');\n const theme = inject(ThemeSymbol, null);\n if (!theme) throw new Error('Could not find Vuetify theme injection');\n const name = toRef(() => props.theme ?? theme.name.value);\n const current = toRef(() => theme.themes.value[name.value]);\n const themeClasses = toRef(() => theme.isDisabled ? undefined : `${theme.prefix}theme--${name.value}`);\n const newTheme = {\n ...theme,\n name,\n current,\n themeClasses\n };\n provide(ThemeSymbol, newTheme);\n return newTheme;\n}\nexport function useTheme() {\n getCurrentInstance('useTheme');\n const theme = inject(ThemeSymbol, null);\n if (!theme) throw new Error('Could not find Vuetify theme injection');\n return theme;\n}\n//# sourceMappingURL=theme.js.map","import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VIcon.css\";\n\n// Composables\nimport { useTextColor } from \"../../composables/color.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { IconValue, useIcon } from \"../../composables/icons.js\";\nimport { makeSizeProps, useSize } from \"../../composables/size.js\";\nimport { makeTagProps } from \"../../composables/tag.js\";\nimport { makeThemeProps, useTheme } from \"../../composables/theme.js\"; // Utilities\nimport { shallowRef, Text } from 'vue';\nimport { convertToUnit, flattenFragments, genericComponent, propsFactory, useRender } from \"../../util/index.js\";\nexport const makeVIconProps = propsFactory({\n color: String,\n disabled: Boolean,\n start: Boolean,\n end: Boolean,\n icon: IconValue,\n opacity: [String, Number],\n ...makeComponentProps(),\n ...makeSizeProps(),\n ...makeTagProps({\n tag: 'i'\n }),\n ...makeThemeProps()\n}, 'VIcon');\nexport const VIcon = genericComponent()({\n name: 'VIcon',\n props: makeVIconProps(),\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const slotIcon = shallowRef();\n const {\n themeClasses\n } = useTheme();\n const {\n iconData\n } = useIcon(() => slotIcon.value || props.icon);\n const {\n sizeClasses\n } = useSize(props);\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(() => props.color);\n useRender(() => {\n const slotValue = slots.default?.();\n if (slotValue) {\n slotIcon.value = flattenFragments(slotValue).filter(node => node.type === Text && node.children && typeof node.children === 'string')[0]?.children;\n }\n const hasClick = !!(attrs.onClick || attrs.onClickOnce);\n return _createVNode(iconData.value.component, {\n \"tag\": props.tag,\n \"icon\": iconData.value.icon,\n \"class\": _normalizeClass(['v-icon', 'notranslate', themeClasses.value, sizeClasses.value, textColorClasses.value, {\n 'v-icon--clickable': hasClick,\n 'v-icon--disabled': props.disabled,\n 'v-icon--start': props.start,\n 'v-icon--end': props.end\n }, props.class]),\n \"style\": _normalizeStyle([{\n '--v-icon-opacity': props.opacity\n }, !sizeClasses.value ? {\n fontSize: convertToUnit(props.size),\n height: convertToUnit(props.size),\n width: convertToUnit(props.size)\n } : undefined, textColorStyles.value, props.style]),\n \"role\": hasClick ? 'button' : undefined,\n \"aria-hidden\": !hasClick,\n \"tabindex\": hasClick ? props.disabled ? -1 : 0 : undefined\n }, {\n default: () => [slotValue]\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VIcon.js.map","// Utilities\nimport { computed } from 'vue';\nimport { getCurrentInstanceName, propsFactory } from \"../util/index.js\"; // Types\n// Composables\nexport const makeBorderProps = propsFactory({\n border: [Boolean, Number, String]\n}, 'border');\nexport function useBorder(props) {\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n const borderClasses = computed(() => {\n const border = props.border;\n if (border === true || border === '') {\n return `${name}--border`;\n } else if (typeof border === 'string' || border === 0) {\n return String(border).split(' ').map(v => `border-${v}`);\n }\n return [];\n });\n return {\n borderClasses\n };\n}\n//# sourceMappingURL=border.js.map","// Utilities\nimport { toRef } from 'vue';\nimport { getCurrentInstanceName, propsFactory } from \"../util/index.js\"; // Types\nconst allowedDensities = [null, 'default', 'comfortable', 'compact'];\n\n// typeof allowedDensities[number] evaluates to any\n// when generating api types for whatever reason.\n\n// Composables\nexport const makeDensityProps = propsFactory({\n density: {\n type: String,\n default: 'default',\n validator: v => allowedDensities.includes(v)\n }\n}, 'density');\nexport function useDensity(props) {\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n const densityClasses = toRef(() => {\n return `${name}--density-${props.density}`;\n });\n return {\n densityClasses\n };\n}\n//# sourceMappingURL=density.js.map","import { Fragment as _Fragment, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode } from \"vue\";\n// Composables\nimport { useColor } from \"./color.js\"; // Utilities\nimport { toRef, toValue } from 'vue';\nimport { getCurrentInstanceName, propsFactory } from \"../util/index.js\"; // Types\nexport const allowedVariants = ['elevated', 'flat', 'tonal', 'outlined', 'text', 'plain'];\nexport function genOverlays(isClickable, name) {\n return _createElementVNode(_Fragment, null, [isClickable && _createElementVNode(\"span\", {\n \"key\": \"overlay\",\n \"class\": _normalizeClass(`${name}__overlay`)\n }, null), _createElementVNode(\"span\", {\n \"key\": \"underlay\",\n \"class\": _normalizeClass(`${name}__underlay`)\n }, null)]);\n}\nexport const makeVariantProps = propsFactory({\n color: String,\n variant: {\n type: String,\n default: 'elevated',\n validator: v => allowedVariants.includes(v)\n }\n}, 'variant');\nexport function useVariant(props) {\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n const variantClasses = toRef(() => {\n const {\n variant\n } = toValue(props);\n return `${name}--variant-${variant}`;\n });\n const {\n colorClasses,\n colorStyles\n } = useColor(() => {\n const {\n variant,\n color\n } = toValue(props);\n return {\n [['elevated', 'flat'].includes(variant) ? 'background' : 'text']: color\n };\n });\n return {\n colorClasses,\n colorStyles,\n variantClasses\n };\n}\n//# sourceMappingURL=variant.js.map","import { createVNode as _createVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle } from \"vue\";\n// Styles\nimport \"./VAvatar.css\";\n\n// Components\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.js\";\nimport { VIcon } from \"../VIcon/index.js\";\nimport { VImg } from \"../VImg/index.js\"; // Composables\nimport { makeBorderProps, useBorder } from \"../../composables/border.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { makeDensityProps, useDensity } from \"../../composables/density.js\";\nimport { IconValue } from \"../../composables/icons.js\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.js\";\nimport { makeSizeProps, useSize } from \"../../composables/size.js\";\nimport { makeTagProps } from \"../../composables/tag.js\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.js\";\nimport { genOverlays, makeVariantProps, useVariant } from \"../../composables/variant.js\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.js\";\nexport const makeVAvatarProps = propsFactory({\n start: Boolean,\n end: Boolean,\n icon: IconValue,\n image: String,\n text: String,\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({\n variant: 'flat'\n })\n}, 'VAvatar');\nexport const VAvatar = genericComponent()({\n name: 'VAvatar',\n props: makeVAvatarProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n themeClasses\n } = provideTheme(props);\n const {\n borderClasses\n } = useBorder(props);\n const {\n colorClasses,\n colorStyles,\n variantClasses\n } = useVariant(props);\n const {\n densityClasses\n } = useDensity(props);\n const {\n roundedClasses\n } = useRounded(props);\n const {\n sizeClasses,\n sizeStyles\n } = useSize(props);\n useRender(() => _createVNode(props.tag, {\n \"class\": _normalizeClass(['v-avatar', {\n 'v-avatar--start': props.start,\n 'v-avatar--end': props.end\n }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class]),\n \"style\": _normalizeStyle([colorStyles.value, sizeStyles.value, props.style])\n }, {\n default: () => [!slots.default ? props.image ? _createVNode(VImg, {\n \"key\": \"image\",\n \"src\": props.image,\n \"alt\": \"\",\n \"cover\": true\n }, null) : props.icon ? _createVNode(VIcon, {\n \"key\": \"icon\",\n \"icon\": props.icon\n }, null) : props.text : _createVNode(VDefaultsProvider, {\n \"key\": \"content-defaults\",\n \"defaults\": {\n VImg: {\n cover: true,\n src: props.image\n },\n VIcon: {\n icon: props.icon\n }\n }\n }, {\n default: () => [slots.default()]\n }), genOverlays(false, 'v-avatar')]\n }));\n return {};\n }\n});\n//# sourceMappingURL=VAvatar.js.map","// Utilities\nimport { isRef, toRef } from 'vue';\nimport { propsFactory } from \"../util/index.js\"; // Types\n// Composables\nexport const makeElevationProps = propsFactory({\n elevation: {\n type: [Number, String],\n validator(v) {\n const value = parseInt(v);\n return !isNaN(value) && value >= 0 &&\n // Material Design has a maximum elevation of 24\n // https://material.io/design/environment/elevation.html#default-elevations\n value <= 24;\n }\n }\n}, 'elevation');\nexport function useElevation(props) {\n const elevationClasses = toRef(() => {\n const elevation = isRef(props) ? props.value : props.elevation;\n if (elevation == null) return [];\n return [`elevation-${elevation}`];\n });\n return {\n elevationClasses\n };\n}\n//# sourceMappingURL=elevation.js.map","// Utilities\nimport { onScopeDispose, ref, shallowRef, watch } from 'vue';\nimport { SUPPORTS_INTERSECTION } from \"../util/index.js\";\nexport function useIntersectionObserver(callback, options) {\n const intersectionRef = ref();\n const isIntersecting = shallowRef(false);\n if (SUPPORTS_INTERSECTION) {\n const observer = new IntersectionObserver(entries => {\n callback?.(entries, observer);\n isIntersecting.value = !!entries.find(entry => entry.isIntersecting);\n }, options);\n onScopeDispose(() => {\n observer.disconnect();\n });\n watch(intersectionRef, (newValue, oldValue) => {\n if (oldValue) {\n observer.unobserve(oldValue);\n isIntersecting.value = false;\n }\n if (newValue) observer.observe(newValue);\n }, {\n flush: 'post'\n });\n }\n return {\n intersectionRef,\n isIntersecting\n };\n}\n//# sourceMappingURL=intersectionObserver.js.map","// Utilities\nimport { effectScope, onScopeDispose, watch } from 'vue';\n\n// Types\n\nexport function useToggleScope(source, fn) {\n let scope;\n function start() {\n scope = effectScope();\n scope.run(() => fn.length ? fn(() => {\n scope?.stop();\n start();\n }) : fn());\n }\n watch(source, active => {\n if (active && !scope) {\n start();\n } else if (!active) {\n scope?.stop();\n scope = undefined;\n }\n }, {\n immediate: true\n });\n onScopeDispose(() => {\n scope?.stop();\n });\n}\n//# sourceMappingURL=toggleScope.js.map","// Composables\nimport { useToggleScope } from \"./toggleScope.js\"; // Utilities\nimport { computed, ref, toRaw, watch } from 'vue';\nimport { getCurrentInstance, toKebabCase } from \"../util/index.js\"; // Types\n// Composables\nexport function useProxiedModel(props, prop, defaultValue) {\n let transformIn = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : v => v;\n let transformOut = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : v => v;\n const vm = getCurrentInstance('useProxiedModel');\n const internal = ref(props[prop] !== undefined ? props[prop] : defaultValue);\n const kebabProp = toKebabCase(prop);\n const checkKebab = kebabProp !== prop;\n const isControlled = checkKebab ? computed(() => {\n void props[prop];\n return !!((vm.vnode.props?.hasOwnProperty(prop) || vm.vnode.props?.hasOwnProperty(kebabProp)) && (vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`) || vm.vnode.props?.hasOwnProperty(`onUpdate:${kebabProp}`)));\n }) : computed(() => {\n void props[prop];\n return !!(vm.vnode.props?.hasOwnProperty(prop) && vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`));\n });\n useToggleScope(() => !isControlled.value, () => {\n watch(() => props[prop], val => {\n internal.value = val;\n });\n });\n const model = computed({\n get() {\n const externalValue = props[prop];\n return transformIn(isControlled.value ? externalValue : internal.value);\n },\n set(internalValue) {\n const newValue = transformOut(internalValue);\n const value = toRaw(isControlled.value ? props[prop] : internal.value);\n if (value === newValue || transformIn(value) === internalValue) {\n return;\n }\n internal.value = newValue;\n vm?.emit(`update:${prop}`, newValue);\n }\n });\n Object.defineProperty(model, 'externalValue', {\n get: () => isControlled.value ? props[prop] : internal.value\n });\n return model;\n}\n//# sourceMappingURL=proxiedModel.js.map","// Utilities\nimport { computed, inject, provide, ref, toRef } from 'vue';\nimport { createVuetifyAdapter } from \"../locale/adapters/vuetify.js\"; // Types\nexport const LocaleSymbol = Symbol.for('vuetify:locale');\nfunction isLocaleInstance(obj) {\n return obj.name != null;\n}\nexport function createLocale(options) {\n const i18n = options?.adapter && isLocaleInstance(options?.adapter) ? options?.adapter : createVuetifyAdapter(options);\n const rtl = createRtl(i18n, options);\n return {\n ...i18n,\n ...rtl\n };\n}\nexport function useLocale() {\n const locale = inject(LocaleSymbol);\n if (!locale) throw new Error('[Vuetify] Could not find injected locale instance');\n return locale;\n}\nexport function provideLocale(props) {\n const locale = inject(LocaleSymbol);\n if (!locale) throw new Error('[Vuetify] Could not find injected locale instance');\n const i18n = locale.provide(props);\n const rtl = provideRtl(i18n, locale.rtl, props);\n const data = {\n ...i18n,\n ...rtl\n };\n provide(LocaleSymbol, data);\n return data;\n}\n\n// RTL\n\nexport const RtlSymbol = Symbol.for('vuetify:rtl');\nfunction genDefaults() {\n return {\n af: false,\n ar: true,\n bg: false,\n ca: false,\n ckb: false,\n cs: false,\n de: false,\n el: false,\n en: false,\n es: false,\n et: false,\n fa: true,\n fi: false,\n fr: false,\n hr: false,\n hu: false,\n he: true,\n id: false,\n it: false,\n ja: false,\n km: false,\n ko: false,\n lv: false,\n lt: false,\n nl: false,\n no: false,\n pl: false,\n pt: false,\n ro: false,\n ru: false,\n sk: false,\n sl: false,\n srCyrl: false,\n srLatn: false,\n sv: false,\n th: false,\n tr: false,\n az: false,\n uk: false,\n vi: false,\n zhHans: false,\n zhHant: false\n };\n}\nexport function createRtl(i18n, options) {\n const rtl = ref(options?.rtl ?? genDefaults());\n const isRtl = computed(() => rtl.value[i18n.current.value] ?? false);\n return {\n isRtl,\n rtl,\n rtlClasses: toRef(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`)\n };\n}\nexport function provideRtl(locale, rtl, props) {\n const isRtl = computed(() => props.rtl ?? rtl.value[locale.current.value] ?? false);\n return {\n isRtl,\n rtl,\n rtlClasses: toRef(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`)\n };\n}\nexport function useRtl() {\n const locale = inject(LocaleSymbol);\n if (!locale) throw new Error('[Vuetify] Could not find injected rtl instance');\n return {\n isRtl: locale.isRtl,\n rtlClasses: locale.rtlClasses\n };\n}\n//# sourceMappingURL=locale.js.map","// Composables\nimport { useRtl } from \"./locale.js\"; // Utilities\nimport { computed } from 'vue';\nimport { parseAnchor, propsFactory } from \"../util/index.js\"; // Types\nconst oppositeMap = {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left'\n};\nexport const makeLocationProps = propsFactory({\n location: String\n}, 'location');\nexport function useLocation(props) {\n let opposite = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n let offset = arguments.length > 2 ? arguments[2] : undefined;\n const {\n isRtl\n } = useRtl();\n const locationStyles = computed(() => {\n if (!props.location) return {};\n const {\n side,\n align\n } = parseAnchor(props.location.split(' ').length > 1 ? props.location : `${props.location} center`, isRtl.value);\n function getOffset(side) {\n return offset ? offset(side) : 0;\n }\n const styles = {};\n if (side !== 'center') {\n if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`;else styles[side] = 0;\n }\n if (align !== 'center') {\n if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`;else styles[align] = 0;\n } else {\n if (side === 'center') styles.top = styles.left = '50%';else {\n styles[{\n top: 'left',\n bottom: 'left',\n left: 'top',\n right: 'top'\n }[side]] = '50%';\n }\n styles.transform = {\n top: 'translateX(-50%)',\n bottom: 'translateX(-50%)',\n left: 'translateY(-50%)',\n right: 'translateY(-50%)',\n center: 'translate(-50%, -50%)'\n }[side];\n }\n return styles;\n });\n return {\n locationStyles\n };\n}\n//# sourceMappingURL=location.js.map","// Utilities\nimport { onBeforeUnmount, readonly, ref, watch } from 'vue';\nimport { templateRef } from \"../util/index.js\";\nimport { IN_BROWSER } from \"../util/globals.js\"; // Types\nexport function useResizeObserver(callback) {\n let box = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'content';\n const resizeRef = templateRef();\n const contentRect = ref();\n if (IN_BROWSER) {\n const observer = new ResizeObserver(entries => {\n callback?.(entries, observer);\n if (!entries.length) return;\n if (box === 'content') {\n contentRect.value = entries[0].contentRect;\n } else {\n contentRect.value = entries[0].target.getBoundingClientRect();\n }\n });\n onBeforeUnmount(() => {\n observer.disconnect();\n });\n watch(() => resizeRef.el, (newValue, oldValue) => {\n if (oldValue) {\n observer.unobserve(oldValue);\n contentRect.value = undefined;\n }\n if (newValue) observer.observe(newValue);\n }, {\n flush: 'post'\n });\n }\n return {\n resizeRef,\n contentRect: readonly(contentRect)\n };\n}\n//# sourceMappingURL=resizeObserver.js.map","// Utilities\nimport { computed, toRef, toValue } from 'vue';\nimport { clamp, convertToUnit, propsFactory } from \"../../util/index.js\"; // Types\n// Composables\nexport const makeChunksProps = propsFactory({\n chunkCount: {\n type: [Number, String],\n default: null\n },\n chunkWidth: {\n type: [Number, String],\n default: null\n },\n chunkGap: {\n type: [Number, String],\n default: 4\n }\n}, 'chunks');\nexport function useChunks(props, containerWidth) {\n const hasChunks = toRef(() => !!props.chunkCount || !!props.chunkWidth);\n const chunkWidth = computed(() => {\n const containerSize = toValue(containerWidth);\n if (!containerSize) {\n return 0;\n }\n if (!props.chunkCount) {\n return Number(props.chunkWidth);\n }\n const count = Number(props.chunkCount);\n const availableWidth = containerSize - Number(props.chunkGap) * (count - 1);\n return availableWidth / count;\n });\n const chunkGap = toRef(() => Number(props.chunkGap));\n const chunksMaskStyles = computed(() => {\n if (!hasChunks.value) {\n return {};\n }\n const chunkGapPx = convertToUnit(chunkGap.value);\n const chunkWidthPx = convertToUnit(chunkWidth.value);\n return {\n maskRepeat: 'repeat-x',\n maskImage: `linear-gradient(90deg, #000, #000 ${chunkWidthPx}, transparent ${chunkWidthPx}, transparent)`,\n maskSize: `calc(${chunkWidthPx} + ${chunkGapPx}) 100%`\n };\n });\n function snapValueToChunk(val) {\n const containerSize = toValue(containerWidth);\n if (!containerSize) {\n return val;\n }\n const gapRelativeSize = 100 * chunkGap.value / containerSize;\n const chunkRelativeSize = 100 * (chunkWidth.value + chunkGap.value) / containerSize;\n const filledChunks = Math.floor((val + gapRelativeSize) / chunkRelativeSize);\n return clamp(0, filledChunks * chunkRelativeSize - gapRelativeSize / 2, 100);\n }\n return {\n hasChunks,\n chunksMaskStyles,\n snapValueToChunk\n };\n}\n//# sourceMappingURL=chunks.js.map","import { normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, normalizeStyle as _normalizeStyle, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VProgressLinear.css\";\n\n// Composables\nimport { useBackgroundColor, useTextColor } from \"../../composables/color.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { useIntersectionObserver } from \"../../composables/intersectionObserver.js\";\nimport { useRtl } from \"../../composables/locale.js\";\nimport { makeLocationProps, useLocation } from \"../../composables/location.js\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.js\";\nimport { useResizeObserver } from \"../../composables/resizeObserver.js\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.js\";\nimport { makeTagProps } from \"../../composables/tag.js\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.js\";\nimport { useToggleScope } from \"../../composables/toggleScope.js\"; // Utilities\nimport { computed, ref, shallowRef, Transition, watchEffect } from 'vue';\nimport { makeChunksProps, useChunks } from \"./chunks.js\";\nimport { clamp, convertToUnit, genericComponent, propsFactory, useRender } from \"../../util/index.js\";\nexport const makeVProgressLinearProps = propsFactory({\n absolute: Boolean,\n active: {\n type: Boolean,\n default: true\n },\n bgColor: String,\n bgOpacity: [Number, String],\n bufferValue: {\n type: [Number, String],\n default: 0\n },\n bufferColor: String,\n bufferOpacity: [Number, String],\n clickable: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 4\n },\n indeterminate: Boolean,\n max: {\n type: [Number, String],\n default: 100\n },\n modelValue: {\n type: [Number, String],\n default: 0\n },\n opacity: [Number, String],\n reverse: Boolean,\n stream: Boolean,\n striped: Boolean,\n roundedBar: Boolean,\n ...makeChunksProps(),\n ...makeComponentProps(),\n ...makeLocationProps({\n location: 'top'\n }),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps()\n}, 'VProgressLinear');\nexport const VProgressLinear = genericComponent()({\n name: 'VProgressLinear',\n props: makeVProgressLinearProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const root = ref();\n const progress = useProxiedModel(props, 'modelValue');\n const {\n isRtl,\n rtlClasses\n } = useRtl();\n const {\n themeClasses\n } = provideTheme(props);\n const {\n locationStyles\n } = useLocation(props);\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(() => props.color);\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(() => props.bgColor || props.color);\n const {\n backgroundColorClasses: bufferColorClasses,\n backgroundColorStyles: bufferColorStyles\n } = useBackgroundColor(() => props.bufferColor || props.bgColor || props.color);\n const {\n backgroundColorClasses: barColorClasses,\n backgroundColorStyles: barColorStyles\n } = useBackgroundColor(() => props.color);\n const {\n roundedClasses\n } = useRounded(props);\n const {\n intersectionRef,\n isIntersecting\n } = useIntersectionObserver();\n const max = computed(() => parseFloat(props.max));\n const height = computed(() => parseFloat(props.height));\n const normalizedBuffer = computed(() => clamp(parseFloat(props.bufferValue) / max.value * 100, 0, 100));\n const normalizedValue = computed(() => clamp(parseFloat(progress.value) / max.value * 100, 0, 100));\n const isReversed = computed(() => isRtl.value !== props.reverse);\n const transition = computed(() => props.indeterminate ? 'fade-transition' : 'slide-x-transition');\n const containerWidth = shallowRef(0);\n const {\n hasChunks,\n chunksMaskStyles,\n snapValueToChunk\n } = useChunks(props, containerWidth);\n useToggleScope(hasChunks, () => {\n const {\n resizeRef\n } = useResizeObserver(entries => containerWidth.value = entries[0].contentRect.width);\n watchEffect(() => resizeRef.value = root.value);\n });\n const bufferWidth = computed(() => {\n return hasChunks.value ? snapValueToChunk(normalizedBuffer.value) : normalizedBuffer.value;\n });\n const barWidth = computed(() => {\n return hasChunks.value ? snapValueToChunk(normalizedValue.value) : normalizedValue.value;\n });\n function handleClick(e) {\n if (!intersectionRef.value) return;\n const {\n left,\n right,\n width\n } = intersectionRef.value.getBoundingClientRect();\n const value = isReversed.value ? width - e.clientX + (right - width) : e.clientX - left;\n progress.value = Math.round(value / width * max.value);\n }\n watchEffect(() => {\n intersectionRef.value = root.value;\n });\n useRender(() => _createVNode(props.tag, {\n \"ref\": root,\n \"class\": _normalizeClass(['v-progress-linear', {\n 'v-progress-linear--absolute': props.absolute,\n 'v-progress-linear--active': props.active && isIntersecting.value,\n 'v-progress-linear--reverse': isReversed.value,\n 'v-progress-linear--rounded': props.rounded,\n 'v-progress-linear--rounded-bar': props.roundedBar,\n 'v-progress-linear--striped': props.striped,\n 'v-progress-linear--clickable': props.clickable\n }, roundedClasses.value, themeClasses.value, rtlClasses.value, props.class]),\n \"style\": _normalizeStyle([{\n bottom: props.location === 'bottom' ? 0 : undefined,\n top: props.location === 'top' ? 0 : undefined,\n height: props.active ? convertToUnit(height.value) : 0,\n '--v-progress-linear-height': convertToUnit(height.value),\n ...(props.absolute ? locationStyles.value : {})\n }, chunksMaskStyles.value, props.style]),\n \"role\": \"progressbar\",\n \"aria-hidden\": props.active ? 'false' : 'true',\n \"aria-valuemin\": \"0\",\n \"aria-valuemax\": props.max,\n \"aria-valuenow\": props.indeterminate ? undefined : Math.min(parseFloat(progress.value), max.value),\n \"onClick\": props.clickable && handleClick\n }, {\n default: () => [props.stream && _createElementVNode(\"div\", {\n \"key\": \"stream\",\n \"class\": _normalizeClass(['v-progress-linear__stream', textColorClasses.value]),\n \"style\": {\n ...textColorStyles.value,\n [isReversed.value ? 'left' : 'right']: convertToUnit(-height.value),\n borderTop: `${convertToUnit(height.value / 2)} dotted`,\n opacity: parseFloat(props.bufferOpacity),\n top: `calc(50% - ${convertToUnit(height.value / 4)})`,\n width: convertToUnit(100 - normalizedBuffer.value, '%'),\n '--v-progress-linear-stream-to': convertToUnit(height.value * (isReversed.value ? 1 : -1))\n }\n }, null), _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-progress-linear__background', backgroundColorClasses.value]),\n \"style\": _normalizeStyle([backgroundColorStyles.value, {\n opacity: parseFloat(props.bgOpacity),\n width: props.stream ? 0 : undefined\n }])\n }, null), _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-progress-linear__buffer', bufferColorClasses.value]),\n \"style\": _normalizeStyle([bufferColorStyles.value, {\n opacity: parseFloat(props.bufferOpacity),\n width: convertToUnit(bufferWidth.value, '%')\n }])\n }, null), _createVNode(Transition, {\n \"name\": transition.value\n }, {\n default: () => [!props.indeterminate ? _createElementVNode(\"div\", {\n \"class\": _normalizeClass(['v-progress-linear__determinate', barColorClasses.value]),\n \"style\": _normalizeStyle([barColorStyles.value, {\n width: convertToUnit(barWidth.value, '%')\n }])\n }, null) : _createElementVNode(\"div\", {\n \"class\": \"v-progress-linear__indeterminate\"\n }, [['long', 'short'].map(bar => _createElementVNode(\"div\", {\n \"key\": bar,\n \"class\": _normalizeClass(['v-progress-linear__indeterminate', bar, barColorClasses.value]),\n \"style\": _normalizeStyle(barColorStyles.value)\n }, null))])]\n }), slots.default && _createElementVNode(\"div\", {\n \"class\": \"v-progress-linear__content\"\n }, [slots.default({\n value: normalizedValue.value,\n buffer: normalizedBuffer.value\n })])]\n }));\n return {};\n }\n});\n//# sourceMappingURL=VProgressLinear.js.map","import { createVNode as _createVNode, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode } from \"vue\";\n// Components\nimport { VProgressLinear } from \"../components/VProgressLinear/index.js\"; // Utilities\nimport { toRef } from 'vue';\nimport { getCurrentInstanceName, propsFactory } from \"../util/index.js\"; // Types\n// Composables\nexport const makeLoaderProps = propsFactory({\n loading: [Boolean, String]\n}, 'loader');\nexport function useLoader(props) {\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n const loaderClasses = toRef(() => ({\n [`${name}--loading`]: props.loading\n }));\n return {\n loaderClasses\n };\n}\nexport function LoaderSlot(props, _ref) {\n let {\n slots\n } = _ref;\n return _createElementVNode(\"div\", {\n \"class\": _normalizeClass(`${props.name}__loader`)\n }, [slots.default?.({\n color: props.color,\n isActive: props.active\n }) || _createVNode(VProgressLinear, {\n \"absolute\": props.absolute,\n \"active\": props.active,\n \"color\": props.color,\n \"height\": \"2\",\n \"indeterminate\": true\n }, null)]);\n}\n//# sourceMappingURL=loader.js.map","// Utilities\nimport { toRef } from 'vue';\nimport { getCurrentInstanceName, propsFactory } from \"../util/index.js\"; // Types\nconst positionValues = ['static', 'relative', 'fixed', 'absolute', 'sticky'];\n// Composables\nexport const makePositionProps = propsFactory({\n position: {\n type: String,\n validator: /* istanbul ignore next */v => positionValues.includes(v)\n }\n}, 'position');\nexport function usePosition(props) {\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n const positionClasses = toRef(() => {\n return props.position ? `${name}--${props.position}` : undefined;\n });\n return {\n positionClasses\n };\n}\n//# sourceMappingURL=position.js.map","// Utilities\nimport { computed, nextTick, onScopeDispose, reactive, resolveDynamicComponent, toRef } from 'vue';\nimport { deepEqual, getCurrentInstance, hasEvent, IN_BROWSER, propsFactory } from \"../util/index.js\"; // Types\nexport function useRoute() {\n const vm = getCurrentInstance('useRoute');\n return computed(() => vm?.proxy?.$route);\n}\nexport function useRouter() {\n return getCurrentInstance('useRouter')?.proxy?.$router;\n}\nexport function useLink(props, attrs) {\n const RouterLink = resolveDynamicComponent('RouterLink');\n const isLink = toRef(() => !!(props.href || props.to));\n const isClickable = computed(() => {\n return isLink?.value || hasEvent(attrs, 'click') || hasEvent(props, 'click');\n });\n if (typeof RouterLink === 'string' || !('useLink' in RouterLink)) {\n const href = toRef(() => props.href);\n return {\n isLink,\n isRouterLink: toRef(() => false),\n isClickable,\n href,\n linkProps: reactive({\n href\n })\n };\n }\n\n // vue-router useLink `to` prop needs to be reactive and useLink will crash if undefined\n const routerLink = RouterLink.useLink({\n to: toRef(() => props.to || ''),\n replace: toRef(() => props.replace)\n });\n // Actual link needs to be undefined when to prop is not used\n const link = computed(() => props.to ? routerLink : undefined);\n const route = useRoute();\n const isActive = computed(() => {\n if (!link.value) return false;\n if (!props.exact) return link.value.isActive?.value ?? false;\n if (!route.value) return link.value.isExactActive?.value ?? false;\n return link.value.isExactActive?.value && deepEqual(link.value.route.value.query, route.value.query);\n });\n const href = computed(() => props.to ? link.value?.route.value.href : props.href);\n const isRouterLink = toRef(() => !!props.to);\n return {\n isLink,\n isRouterLink,\n isClickable,\n isActive,\n route: link.value?.route,\n navigate: link.value?.navigate,\n href,\n linkProps: reactive({\n href,\n 'aria-current': toRef(() => isActive.value ? 'page' : undefined),\n 'aria-disabled': toRef(() => props.disabled && isLink.value ? 'true' : undefined),\n tabindex: toRef(() => props.disabled && isLink.value ? '-1' : undefined)\n })\n };\n}\nexport const makeRouterProps = propsFactory({\n href: String,\n replace: Boolean,\n to: [String, Object],\n exact: Boolean\n}, 'router');\nlet inTransition = false;\nexport function useBackButton(router, cb) {\n let popped = false;\n let removeBefore;\n let removeAfter;\n if (IN_BROWSER && router?.beforeEach) {\n nextTick(() => {\n window.addEventListener('popstate', onPopstate);\n removeBefore = router.beforeEach((to, from, next) => {\n if (!inTransition) {\n setTimeout(() => popped ? cb(next) : next());\n } else {\n popped ? cb(next) : next();\n }\n inTransition = true;\n });\n removeAfter = router?.afterEach(() => {\n inTransition = false;\n });\n });\n onScopeDispose(() => {\n window.removeEventListener('popstate', onPopstate);\n removeBefore?.();\n removeAfter?.();\n });\n }\n function onPopstate(e) {\n if (e.state?.replaced) return;\n popped = true;\n setTimeout(() => popped = false);\n }\n}\n//# sourceMappingURL=router.js.map","// Styles\nimport \"./VRipple.css\";\n\n// Utilities\nimport { isObject } from \"../../util/index.js\"; // Types\nconst stopSymbol = Symbol('rippleStop');\nconst DELAY_RIPPLE = 80;\nfunction transform(el, value) {\n el.style.transform = value;\n el.style.webkitTransform = value;\n}\nfunction isTouchEvent(e) {\n return e.constructor.name === 'TouchEvent';\n}\nfunction isKeyboardEvent(e) {\n return e.constructor.name === 'KeyboardEvent';\n}\nconst calculate = function (e, el) {\n let value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n let localX = 0;\n let localY = 0;\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect();\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e;\n localX = target.clientX - offset.left;\n localY = target.clientY - offset.top;\n }\n let radius = 0;\n let scale = 0.3;\n if (el._ripple?.circle) {\n scale = 0.15;\n radius = el.clientWidth / 2;\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4;\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2;\n }\n const centerX = `${(el.clientWidth - radius * 2) / 2}px`;\n const centerY = `${(el.clientHeight - radius * 2) / 2}px`;\n const x = value.center ? centerX : `${localX - radius}px`;\n const y = value.center ? centerY : `${localY - radius}px`;\n return {\n radius,\n scale,\n x,\n y,\n centerX,\n centerY\n };\n};\nconst ripples = {\n /* eslint-disable max-statements */\n show(e, el) {\n let value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n if (!el?._ripple?.enabled) {\n return;\n }\n const container = document.createElement('span');\n const animation = document.createElement('span');\n container.appendChild(animation);\n container.className = 'v-ripple__container';\n if (value.class) {\n container.className += ` ${value.class}`;\n }\n const {\n radius,\n scale,\n x,\n y,\n centerX,\n centerY\n } = calculate(e, el, value);\n const size = `${radius * 2}px`;\n animation.className = 'v-ripple__animation';\n animation.style.width = size;\n animation.style.height = size;\n el.appendChild(container);\n const computed = window.getComputedStyle(el);\n if (computed && computed.position === 'static') {\n el.style.position = 'relative';\n el.dataset.previousPosition = 'static';\n }\n animation.classList.add('v-ripple__animation--enter');\n animation.classList.add('v-ripple__animation--visible');\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`);\n animation.dataset.activated = String(performance.now());\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n animation.classList.remove('v-ripple__animation--enter');\n animation.classList.add('v-ripple__animation--in');\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`);\n });\n });\n },\n hide(el) {\n if (!el?._ripple?.enabled) return;\n const ripples = el.getElementsByClassName('v-ripple__animation');\n if (ripples.length === 0) return;\n const animation = Array.from(ripples).findLast(ripple => !ripple.dataset.isHiding);\n if (!animation) return;else animation.dataset.isHiding = 'true';\n const diff = performance.now() - Number(animation.dataset.activated);\n const delay = Math.max(250 - diff, 0);\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in');\n animation.classList.add('v-ripple__animation--out');\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation');\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition;\n delete el.dataset.previousPosition;\n }\n if (animation.parentNode?.parentNode === el) el.removeChild(animation.parentNode);\n }, 300);\n }, delay);\n }\n};\nfunction isRippleEnabled(value) {\n return typeof value === 'undefined' || !!value;\n}\nfunction rippleShow(e) {\n const value = {};\n const element = e.currentTarget;\n if (!element?._ripple || element._ripple.touched || e[stopSymbol]) return;\n\n // Don't allow the event to trigger ripples on any other elements\n e[stopSymbol] = true;\n if (isTouchEvent(e)) {\n element._ripple.touched = true;\n element._ripple.isTouch = true;\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return;\n }\n value.center = element._ripple.centered || isKeyboardEvent(e);\n if (element._ripple.class) {\n value.class = element._ripple.class;\n }\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return;\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value);\n };\n element._ripple.showTimer = window.setTimeout(() => {\n if (element?._ripple?.showTimerCommit) {\n element._ripple.showTimerCommit();\n element._ripple.showTimerCommit = null;\n }\n }, DELAY_RIPPLE);\n } else {\n ripples.show(e, element, value);\n }\n}\nfunction rippleStop(e) {\n e[stopSymbol] = true;\n}\nfunction rippleHide(e) {\n const element = e.currentTarget;\n if (!element?._ripple) return;\n window.clearTimeout(element._ripple.showTimer);\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit();\n element._ripple.showTimerCommit = null;\n\n // re-queue ripple hiding\n element._ripple.showTimer = window.setTimeout(() => {\n rippleHide(e);\n });\n return;\n }\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false;\n }\n });\n ripples.hide(element);\n}\nfunction rippleCancelShow(e) {\n const element = e.currentTarget;\n if (!element?._ripple) return;\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null;\n }\n window.clearTimeout(element._ripple.showTimer);\n}\nlet keyboardRipple = false;\nfunction keyboardRippleShow(e, keys) {\n if (!keyboardRipple && keys.includes(e.key)) {\n keyboardRipple = true;\n rippleShow(e);\n }\n}\nfunction keyboardRippleHide(e) {\n keyboardRipple = false;\n rippleHide(e);\n}\nfunction focusRippleHide(e) {\n if (keyboardRipple) {\n keyboardRipple = false;\n rippleHide(e);\n }\n}\nfunction updateRipple(el, binding, wasEnabled) {\n const {\n value,\n modifiers\n } = binding;\n const enabled = isRippleEnabled(value);\n if (!enabled) {\n ripples.hide(el);\n }\n el._ripple = el._ripple ?? {};\n el._ripple.enabled = enabled;\n el._ripple.centered = modifiers.center;\n el._ripple.circle = modifiers.circle;\n const bindingValue = isObject(value) ? value : {};\n if (bindingValue.class) {\n el._ripple.class = bindingValue.class;\n }\n const allowedKeys = bindingValue.keys ?? ['Enter', 'Space'];\n el._ripple.keyDownHandler = e => keyboardRippleShow(e, allowedKeys);\n if (enabled && !wasEnabled) {\n if (modifiers.stop) {\n el.addEventListener('touchstart', rippleStop, {\n passive: true\n });\n el.addEventListener('mousedown', rippleStop);\n return;\n }\n el.addEventListener('touchstart', rippleShow, {\n passive: true\n });\n el.addEventListener('touchend', rippleHide, {\n passive: true\n });\n el.addEventListener('touchmove', rippleCancelShow, {\n passive: true\n });\n el.addEventListener('touchcancel', rippleHide);\n el.addEventListener('mousedown', rippleShow);\n el.addEventListener('mouseup', rippleHide);\n el.addEventListener('mouseleave', rippleHide);\n el.addEventListener('keydown', e => keyboardRippleShow(e, allowedKeys));\n el.addEventListener('keyup', keyboardRippleHide);\n el.addEventListener('blur', focusRippleHide);\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, {\n passive: true\n });\n } else if (!enabled && wasEnabled) {\n removeListeners(el);\n }\n}\nfunction removeListeners(el) {\n el.removeEventListener('mousedown', rippleShow);\n el.removeEventListener('touchstart', rippleShow);\n el.removeEventListener('touchend', rippleHide);\n el.removeEventListener('touchmove', rippleCancelShow);\n el.removeEventListener('touchcancel', rippleHide);\n el.removeEventListener('mouseup', rippleHide);\n el.removeEventListener('mouseleave', rippleHide);\n if (el._ripple?.keyDownHandler) {\n el.removeEventListener('keydown', el._ripple.keyDownHandler);\n }\n el.removeEventListener('keyup', keyboardRippleHide);\n el.removeEventListener('dragstart', rippleHide);\n el.removeEventListener('blur', focusRippleHide);\n}\nfunction mounted(el, binding) {\n updateRipple(el, binding, false);\n}\nfunction unmounted(el) {\n removeListeners(el);\n delete el._ripple;\n}\nfunction updated(el, binding) {\n if (binding.value === binding.oldValue) {\n return;\n }\n const wasEnabled = isRippleEnabled(binding.oldValue);\n updateRipple(el, binding, wasEnabled);\n}\nexport const Ripple = {\n mounted,\n unmounted,\n updated\n};\nexport default Ripple;\n//# sourceMappingURL=index.js.map","import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VBtnGroup.css\";\n\n// Composables\nimport { makeBorderProps, useBorder } from \"../../composables/border.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { provideDefaults } from \"../../composables/defaults.js\";\nimport { makeDensityProps, useDensity } from \"../../composables/density.js\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.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 { toRef } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVBtnGroupProps = propsFactory({\n baseColor: String,\n divided: Boolean,\n direction: {\n type: String,\n default: 'horizontal'\n },\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps()\n}, 'VBtnGroup');\nexport const VBtnGroup = genericComponent()({\n name: 'VBtnGroup',\n props: makeVBtnGroupProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n themeClasses\n } = provideTheme(props);\n const {\n densityClasses\n } = useDensity(props);\n const {\n borderClasses\n } = useBorder(props);\n const {\n elevationClasses\n } = useElevation(props);\n const {\n roundedClasses\n } = useRounded(props);\n provideDefaults({\n VBtn: {\n height: toRef(() => props.direction === 'horizontal' ? 'auto' : null),\n baseColor: toRef(() => props.baseColor),\n color: toRef(() => props.color),\n density: toRef(() => props.density),\n flat: true,\n variant: toRef(() => props.variant)\n }\n });\n useRender(() => {\n return _createVNode(props.tag, {\n \"class\": _normalizeClass(['v-btn-group', `v-btn-group--${props.direction}`, {\n 'v-btn-group--divided': props.divided\n }, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class]),\n \"style\": _normalizeStyle(props.style)\n }, slots);\n });\n }\n});\n//# sourceMappingURL=VBtnGroup.js.map","// Composables\nimport { useProxiedModel } from \"./proxiedModel.js\"; // Utilities\nimport { computed, inject, onBeforeUnmount, onMounted, onUpdated, provide, reactive, toRef, unref, useId, watch } from 'vue';\nimport { consoleWarn, deepEqual, findChildrenWithProvide, getCurrentInstance, propsFactory, wrapInArray } from \"../util/index.js\"; // Types\nexport const makeGroupProps = propsFactory({\n modelValue: {\n type: null,\n default: undefined\n },\n multiple: Boolean,\n mandatory: [Boolean, String],\n max: Number,\n selectedClass: String,\n disabled: Boolean\n}, 'group');\nexport const makeGroupItemProps = propsFactory({\n value: null,\n disabled: Boolean,\n selectedClass: String\n}, 'group-item');\n\n// Composables\n\nexport function useGroupItem(props, injectKey) {\n let required = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n const vm = getCurrentInstance('useGroupItem');\n if (!vm) {\n throw new Error('[Vuetify] useGroupItem composable must be used inside a component setup function');\n }\n const id = useId();\n provide(Symbol.for(`${injectKey.description}:id`), id);\n const group = inject(injectKey, null);\n if (!group) {\n if (!required) return group;\n throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${injectKey.description}`);\n }\n const value = toRef(() => props.value);\n const disabled = computed(() => !!(group.disabled.value || props.disabled));\n function register() {\n group?.register({\n id,\n value,\n disabled\n }, vm);\n }\n function unregister() {\n group?.unregister(id);\n }\n register();\n onBeforeUnmount(() => unregister());\n const isSelected = computed(() => {\n return group.isSelected(id);\n });\n const isFirst = computed(() => {\n return group.items.value[0].id === id;\n });\n const isLast = computed(() => {\n return group.items.value[group.items.value.length - 1].id === id;\n });\n const selectedClass = computed(() => isSelected.value && [group.selectedClass.value, props.selectedClass]);\n watch(isSelected, value => {\n vm.emit('group:selected', {\n value\n });\n }, {\n flush: 'sync'\n });\n return {\n id,\n isSelected,\n isFirst,\n isLast,\n toggle: () => group.select(id, !isSelected.value),\n select: value => group.select(id, value),\n selectedClass,\n value,\n disabled,\n group,\n register,\n unregister\n };\n}\nexport function useGroup(props, injectKey) {\n let isUnmounted = false;\n const items = reactive([]);\n const selected = useProxiedModel(props, 'modelValue', [], v => {\n if (v === undefined) return [];\n return getIds(items, v === null ? [null] : wrapInArray(v));\n }, v => {\n const arr = getValues(items, v);\n return props.multiple ? arr : arr[0];\n });\n const groupVm = getCurrentInstance('useGroup');\n function register(item, vm) {\n // Is there a better way to fix this typing?\n const unwrapped = item;\n const key = Symbol.for(`${injectKey.description}:id`);\n const children = findChildrenWithProvide(key, groupVm?.vnode);\n const index = children.indexOf(vm);\n if (unref(unwrapped.value) === undefined) {\n unwrapped.value = index;\n unwrapped.useIndexAsValue = true;\n }\n if (index > -1) {\n items.splice(index, 0, unwrapped);\n } else {\n items.push(unwrapped);\n }\n }\n function unregister(id) {\n if (isUnmounted) return;\n\n // TODO: re-evaluate this line's importance in the future\n // should we only modify the model if mandatory is set.\n // selected.value = selected.value.filter(v => v !== id)\n\n forceMandatoryValue();\n const index = items.findIndex(item => item.id === id);\n items.splice(index, 1);\n }\n\n // If mandatory and nothing is selected, then select first non-disabled item\n function forceMandatoryValue() {\n const item = items.find(item => !item.disabled);\n if (item && props.mandatory === 'force' && !selected.value.length) {\n selected.value = [item.id];\n }\n }\n onMounted(() => {\n forceMandatoryValue();\n });\n onBeforeUnmount(() => {\n isUnmounted = true;\n });\n onUpdated(() => {\n // #19655 update the items that use the index as the value.\n for (let i = 0; i < items.length; i++) {\n if (items[i].useIndexAsValue) {\n items[i].value = i;\n }\n }\n });\n function select(id, value) {\n const item = items.find(item => item.id === id);\n if (value && item?.disabled) return;\n if (props.multiple) {\n const internalValue = selected.value.slice();\n const index = internalValue.findIndex(v => v === id);\n const isSelected = ~index;\n value = value ?? !isSelected;\n\n // We can't remove value if group is\n // mandatory, value already exists,\n // and it is the only value\n if (isSelected && props.mandatory && internalValue.length <= 1) return;\n\n // We can't add value if it would\n // cause max limit to be exceeded\n if (!isSelected && props.max != null && internalValue.length + 1 > props.max) return;\n if (index < 0 && value) internalValue.push(id);else if (index >= 0 && !value) internalValue.splice(index, 1);\n selected.value = internalValue;\n } else {\n const isSelected = selected.value.includes(id);\n if (props.mandatory && isSelected) return;\n if (!isSelected && !value) return;\n selected.value = value ?? !isSelected ? [id] : [];\n }\n }\n function step(offset) {\n // getting an offset from selected value obviously won't work with multiple values\n if (props.multiple) consoleWarn('This method is not supported when using \"multiple\" prop');\n if (!selected.value.length) {\n const item = items.find(item => !item.disabled);\n item && (selected.value = [item.id]);\n } else {\n const currentId = selected.value[0];\n const currentIndex = items.findIndex(i => i.id === currentId);\n let newIndex = (currentIndex + offset) % items.length;\n let newItem = items[newIndex];\n while (newItem.disabled && newIndex !== currentIndex) {\n newIndex = (newIndex + offset) % items.length;\n newItem = items[newIndex];\n }\n if (newItem.disabled) return;\n selected.value = [items[newIndex].id];\n }\n }\n const state = {\n register,\n unregister,\n selected,\n select,\n disabled: toRef(() => props.disabled),\n prev: () => step(items.length - 1),\n next: () => step(1),\n isSelected: id => selected.value.includes(id),\n selectedClass: toRef(() => props.selectedClass),\n items: toRef(() => items),\n getItemIndex: value => getItemIndex(items, value)\n };\n provide(injectKey, state);\n return state;\n}\nfunction getItemIndex(items, value) {\n const ids = getIds(items, [value]);\n if (!ids.length) return -1;\n return items.findIndex(item => item.id === ids[0]);\n}\nfunction getIds(items, modelValue) {\n const ids = [];\n modelValue.forEach(value => {\n const item = items.find(item => deepEqual(value, item.value));\n const itemByIndex = items[value];\n if (item?.value !== undefined) {\n ids.push(item.id);\n } else if (itemByIndex?.useIndexAsValue) {\n ids.push(itemByIndex.id);\n }\n });\n return ids;\n}\nfunction getValues(items, ids) {\n const values = [];\n ids.forEach(id => {\n const itemIndex = items.findIndex(item => item.id === id);\n if (~itemIndex) {\n const item = items[itemIndex];\n values.push(item.value !== undefined ? item.value : itemIndex);\n }\n });\n return values;\n}\n//# sourceMappingURL=group.js.map","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VBtnToggle.css\";\n\n// Components\nimport { makeVBtnGroupProps, VBtnGroup } from \"../VBtnGroup/VBtnGroup.js\"; // Composables\nimport { makeGroupProps, useGroup } from \"../../composables/group.js\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const VBtnToggleSymbol = Symbol.for('vuetify:v-btn-toggle');\nexport const makeVBtnToggleProps = propsFactory({\n ...makeVBtnGroupProps(),\n ...makeGroupProps()\n}, 'VBtnToggle');\nexport const VBtnToggle = genericComponent()({\n name: 'VBtnToggle',\n props: makeVBtnToggleProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n isSelected,\n next,\n prev,\n select,\n selected\n } = useGroup(props, VBtnToggleSymbol);\n useRender(() => {\n const btnGroupProps = VBtnGroup.filterProps(props);\n return _createVNode(VBtnGroup, _mergeProps({\n \"class\": ['v-btn-toggle', props.class]\n }, btnGroupProps, {\n \"style\": props.style\n }), {\n default: () => [slots.default?.({\n isSelected,\n next,\n prev,\n select,\n selected\n })]\n });\n });\n return {\n next,\n prev,\n select\n };\n }\n});\n//# sourceMappingURL=VBtnToggle.js.map","import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VProgressCircular.css\";\n\n// Composables\nimport { useTextColor } from \"../../composables/color.js\";\nimport { makeComponentProps } from \"../../composables/component.js\";\nimport { useIntersectionObserver } from \"../../composables/intersectionObserver.js\";\nimport { useResizeObserver } from \"../../composables/resizeObserver.js\";\nimport { makeSizeProps, useSize } from \"../../composables/size.js\";\nimport { makeTagProps } from \"../../composables/tag.js\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.js\"; // Utilities\nimport { ref, toRef, watchEffect } from 'vue';\nimport { clamp, convertToUnit, genericComponent, PREFERS_REDUCED_MOTION, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVProgressCircularProps = propsFactory({\n bgColor: String,\n color: String,\n indeterminate: [Boolean, String],\n modelValue: {\n type: [Number, String],\n default: 0\n },\n rotate: {\n type: [Number, String],\n default: 0\n },\n width: {\n type: [Number, String],\n default: 4\n },\n ...makeComponentProps(),\n ...makeSizeProps(),\n ...makeTagProps({\n tag: 'div'\n }),\n ...makeThemeProps()\n}, 'VProgressCircular');\nexport const VProgressCircular = genericComponent()({\n name: 'VProgressCircular',\n props: makeVProgressCircularProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const MAGIC_RADIUS_CONSTANT = 20;\n const CIRCUMFERENCE = 2 * Math.PI * MAGIC_RADIUS_CONSTANT;\n const root = ref();\n const {\n themeClasses\n } = provideTheme(props);\n const {\n sizeClasses,\n sizeStyles\n } = useSize(props);\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(() => props.color);\n const {\n textColorClasses: underlayColorClasses,\n textColorStyles: underlayColorStyles\n } = useTextColor(() => props.bgColor);\n const {\n intersectionRef,\n isIntersecting\n } = useIntersectionObserver();\n const {\n resizeRef,\n contentRect\n } = useResizeObserver();\n const normalizedValue = toRef(() => clamp(parseFloat(props.modelValue), 0, 100));\n const width = toRef(() => Number(props.width));\n const size = toRef(() => {\n // Get size from element if size prop value is small, large etc\n return sizeStyles.value ? Number(props.size) : contentRect.value ? contentRect.value.width : Math.max(width.value, 32);\n });\n const diameter = toRef(() => MAGIC_RADIUS_CONSTANT / (1 - width.value / size.value) * 2);\n const strokeWidth = toRef(() => width.value / size.value * diameter.value);\n const strokeDashOffset = toRef(() => convertToUnit((100 - normalizedValue.value) / 100 * CIRCUMFERENCE));\n watchEffect(() => {\n intersectionRef.value = root.value;\n resizeRef.value = root.value;\n });\n useRender(() => _createVNode(props.tag, {\n \"ref\": root,\n \"class\": _normalizeClass(['v-progress-circular', {\n 'v-progress-circular--indeterminate': !!props.indeterminate,\n 'v-progress-circular--visible': isIntersecting.value,\n 'v-progress-circular--disable-shrink': props.indeterminate && (props.indeterminate === 'disable-shrink' || PREFERS_REDUCED_MOTION())\n }, themeClasses.value, sizeClasses.value, textColorClasses.value, props.class]),\n \"style\": _normalizeStyle([sizeStyles.value, textColorStyles.value, props.style]),\n \"role\": \"progressbar\",\n \"aria-valuemin\": \"0\",\n \"aria-valuemax\": \"100\",\n \"aria-valuenow\": props.indeterminate ? undefined : normalizedValue.value\n }, {\n default: () => [_createElementVNode(\"svg\", {\n \"style\": {\n transform: `rotate(calc(-90deg + ${Number(props.rotate)}deg))`\n },\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": `0 0 ${diameter.value} ${diameter.value}`\n }, [_createElementVNode(\"circle\", {\n \"class\": _normalizeClass(['v-progress-circular__underlay', underlayColorClasses.value]),\n \"style\": _normalizeStyle(underlayColorStyles.value),\n \"fill\": \"transparent\",\n \"cx\": \"50%\",\n \"cy\": \"50%\",\n \"r\": MAGIC_RADIUS_CONSTANT,\n \"stroke-width\": strokeWidth.value,\n \"stroke-dasharray\": CIRCUMFERENCE,\n \"stroke-dashoffset\": 0\n }, null), _createElementVNode(\"circle\", {\n \"class\": \"v-progress-circular__overlay\",\n \"fill\": \"transparent\",\n \"cx\": \"50%\",\n \"cy\": \"50%\",\n \"r\": MAGIC_RADIUS_CONSTANT,\n \"stroke-width\": strokeWidth.value,\n \"stroke-dasharray\": CIRCUMFERENCE,\n \"stroke-dashoffset\": strokeDashOffset.value\n }, null)]), slots.default && _createElementVNode(\"div\", {\n \"class\": \"v-progress-circular__content\"\n }, [slots.default({\n value: normalizedValue.value\n })])]\n }));\n return {};\n }\n});\n//# sourceMappingURL=VProgressCircular.js.map","// Utilities\nimport { nextTick, watch } from 'vue';\n\n// Types\n\nexport function useSelectLink(link, select) {\n watch(() => link.isActive?.value, isActive => {\n if (link.isLink.value && isActive != null && select) {\n nextTick(() => {\n select(isActive);\n });\n }\n }, {\n immediate: true\n });\n}\n//# sourceMappingURL=selectLink.js.map","import { createVNode as _createVNode, createElementVNode as _createElementVNode, mergeProps as _mergeProps } from \"vue\";\n// Styles\nimport \"./VBtn.css\";\n\n// Components\nimport { VBtnToggleSymbol } from \"../VBtnToggle/VBtnToggle.js\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.js\";\nimport { VIcon } from \"../VIcon/index.js\";\nimport { VProgressCircular } from \"../VProgressCircular/index.js\"; // Composables\nimport { makeBorderProps, useBorder } from \"../../composables/border.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 { makeGroupItemProps, useGroupItem } from \"../../composables/group.js\";\nimport { IconValue } from \"../../composables/icons.js\";\nimport { makeLoaderProps, useLoader } from \"../../composables/loader.js\";\nimport { makeLocationProps, useLocation } from \"../../composables/location.js\";\nimport { makePositionProps, usePosition } from \"../../composables/position.js\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.js\";\nimport { makeRouterProps, useLink } from \"../../composables/router.js\";\nimport { useSelectLink } from \"../../composables/selectLink.js\";\nimport { makeSizeProps, useSize } from \"../../composables/size.js\";\nimport { makeTagProps } from \"../../composables/tag.js\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.js\";\nimport { genOverlays, makeVariantProps, useVariant } from \"../../composables/variant.js\"; // Directives\nimport vRipple from \"../../directives/ripple/index.js\"; // Utilities\nimport { computed, toDisplayString, toRef, withDirectives } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.js\"; // Types\nexport const makeVBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined\n },\n activeColor: String,\n baseColor: String,\n symbol: {\n type: null,\n default: VBtnToggleSymbol\n },\n flat: Boolean,\n icon: [Boolean, String, Function, Object],\n prependIcon: IconValue,\n appendIcon: IconValue,\n block: Boolean,\n readonly: Boolean,\n slim: Boolean,\n stacked: Boolean,\n spaced: String,\n ripple: {\n type: [Boolean, Object],\n default: true\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined\n },\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({\n tag: 'button'\n }),\n ...makeThemeProps(),\n ...makeVariantProps({\n variant: 'elevated'\n })\n}, 'VBtn');\nexport const VBtn = genericComponent()({\n name: 'VBtn',\n props: makeVBtnProps(),\n emits: {\n 'group:selected': val => true\n },\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const {\n themeClasses\n } = provideTheme(props);\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 loaderClasses\n } = useLoader(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 sizeClasses,\n sizeStyles\n } = useSize(props);\n const group = useGroupItem(props, props.symbol, false);\n const link = useLink(props, attrs);\n const isActive = computed(() => {\n if (props.active !== undefined) {\n return props.active;\n }\n if (link.isRouterLink.value) {\n return link.isActive?.value;\n }\n return group?.isSelected.value;\n });\n const color = toRef(() => isActive.value ? props.activeColor ?? props.color : props.color);\n const variantProps = computed(() => {\n const showColor = group?.isSelected.value && (!link.isLink.value || link.isActive?.value) || !group || link.isActive?.value;\n return {\n color: showColor ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant\n };\n });\n const {\n colorClasses,\n colorStyles,\n variantClasses\n } = useVariant(variantProps);\n const isDisabled = computed(() => group?.disabled.value || props.disabled);\n const isElevated = toRef(() => {\n return props.variant === 'elevated' && !(props.disabled || props.flat || props.border);\n });\n const valueAttr = computed(() => {\n if (props.value === undefined || typeof props.value === 'symbol') return undefined;\n return Object(props.value) === props.value ? JSON.stringify(props.value, null, 0) : props.value;\n });\n function onClick(e) {\n if (isDisabled.value || link.isLink.value && (e.metaKey || e.ctrlKey || e.shiftKey || e.button !== 0 || attrs.target === '_blank')) return;\n if (link.isRouterLink.value) {\n link.navigate?.(e);\n } else {\n // Group active state for links is handled by useSelectLink\n group?.toggle();\n }\n }\n useSelectLink(link, group?.select);\n useRender(() => {\n const Tag = link.isLink.value ? 'a' : props.tag;\n const hasPrepend = !!(props.prependIcon || slots.prepend);\n const hasAppend = !!(props.appendIcon || slots.append);\n const hasIcon = !!(props.icon && props.icon !== true);\n return withDirectives(_createVNode(Tag, _mergeProps(link.linkProps, {\n \"type\": Tag === 'a' ? undefined : 'button',\n \"class\": ['v-btn', group?.selectedClass.value, {\n 'v-btn--active': isActive.value,\n 'v-btn--block': props.block,\n 'v-btn--disabled': isDisabled.value,\n 'v-btn--elevated': isElevated.value,\n 'v-btn--flat': props.flat,\n 'v-btn--icon': !!props.icon,\n 'v-btn--loading': props.loading,\n 'v-btn--readonly': props.readonly,\n 'v-btn--slim': props.slim,\n 'v-btn--stacked': props.stacked\n }, props.spaced ? ['v-btn--spaced', `v-btn--spaced-${props.spaced}`] : [], themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],\n \"style\": [colorStyles.value, dimensionStyles.value, locationStyles.value, sizeStyles.value, props.style],\n \"aria-busy\": props.loading ? true : undefined,\n \"disabled\": isDisabled.value && Tag !== 'a' || undefined,\n \"tabindex\": props.loading || props.readonly ? -1 : undefined,\n \"onClick\": onClick,\n \"value\": valueAttr.value\n }), {\n default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && _createElementVNode(\"span\", {\n \"key\": \"prepend\",\n \"class\": \"v-btn__prepend\"\n }, [!slots.prepend ? _createVNode(VIcon, {\n \"key\": \"prepend-icon\",\n \"icon\": props.prependIcon\n }, null) : _createVNode(VDefaultsProvider, {\n \"key\": \"prepend-defaults\",\n \"disabled\": !props.prependIcon,\n \"defaults\": {\n VIcon: {\n icon: props.prependIcon\n }\n }\n }, slots.prepend)]), _createElementVNode(\"span\", {\n \"class\": \"v-btn__content\",\n \"data-no-activator\": \"\"\n }, [!slots.default && hasIcon ? _createVNode(VIcon, {\n \"key\": \"content-icon\",\n \"icon\": props.icon\n }, null) : _createVNode(VDefaultsProvider, {\n \"key\": \"content-defaults\",\n \"disabled\": !hasIcon,\n \"defaults\": {\n VIcon: {\n icon: props.icon\n }\n }\n }, {\n default: () => [slots.default?.() ?? toDisplayString(props.text)]\n })]), !props.icon && hasAppend && _createElementVNode(\"span\", {\n \"key\": \"append\",\n \"class\": \"v-btn__append\"\n }, [!slots.append ? _createVNode(VIcon, {\n \"key\": \"append-icon\",\n \"icon\": props.appendIcon\n }, null) : _createVNode(VDefaultsProvider, {\n \"key\": \"append-defaults\",\n \"disabled\": !props.appendIcon,\n \"defaults\": {\n VIcon: {\n icon: props.appendIcon\n }\n }\n }, slots.append)]), !!props.loading && _createElementVNode(\"span\", {\n \"key\": \"loader\",\n \"class\": \"v-btn__loader\"\n }, [slots.loader?.() ?? _createVNode(VProgressCircular, {\n \"color\": typeof props.loading === 'boolean' ? undefined : props.loading,\n \"indeterminate\": true,\n \"width\": \"2\"\n }, null)])]\n }), [[vRipple, !isDisabled.value && props.ripple, '', {\n center: !!props.icon\n }]]);\n });\n return {\n group\n };\n }\n});\n//# sourceMappingURL=VBtn.js.map","// Utilities\nimport { h, Transition, TransitionGroup } from 'vue';\nimport { genericComponent, PREFERS_REDUCED_MOTION, propsFactory } from \"../../util/index.js\"; // Types\nexport const makeTransitionProps = propsFactory({\n disabled: Boolean,\n group: Boolean,\n hideOnLeave: Boolean,\n leaveAbsolute: Boolean,\n mode: String,\n origin: String\n}, 'transition');\nexport function createCssTransition(name, origin, mode) {\n return genericComponent()({\n name,\n props: makeTransitionProps({\n mode,\n origin\n }),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const functions = {\n onBeforeEnter(el) {\n if (props.origin) {\n el.style.transformOrigin = props.origin;\n }\n },\n onLeave(el) {\n if (props.leaveAbsolute) {\n const {\n offsetTop,\n offsetLeft,\n offsetWidth,\n offsetHeight\n } = el;\n el._transitionInitialStyles = {\n position: el.style.position,\n top: el.style.top,\n left: el.style.left,\n width: el.style.width,\n height: el.style.height\n };\n el.style.position = 'absolute';\n el.style.top = `${offsetTop}px`;\n el.style.left = `${offsetLeft}px`;\n el.style.width = `${offsetWidth}px`;\n el.style.height = `${offsetHeight}px`;\n }\n if (props.hideOnLeave) {\n el.style.setProperty('display', 'none', 'important');\n }\n },\n onAfterLeave(el) {\n if (props.leaveAbsolute && el?._transitionInitialStyles) {\n const {\n position,\n top,\n left,\n width,\n height\n } = el._transitionInitialStyles;\n delete el._transitionInitialStyles;\n el.style.position = position || '';\n el.style.top = top || '';\n el.style.left = left || '';\n el.style.width = width || '';\n el.style.height = height || '';\n }\n }\n };\n return () => {\n const tag = props.group ? TransitionGroup : Transition;\n return h(tag, {\n name: props.disabled ? '' : name,\n css: !props.disabled,\n ...(props.group ? undefined : {\n mode: props.mode\n }),\n ...(props.disabled ? {} : functions)\n }, slots.default);\n };\n }\n });\n}\nexport function createJavascriptTransition(name, functions) {\n let mode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'in-out';\n return genericComponent()({\n name,\n props: {\n mode: {\n type: String,\n default: mode\n },\n disabled: {\n type: Boolean,\n default: PREFERS_REDUCED_MOTION()\n },\n group: Boolean\n },\n setup(props, _ref2) {\n let {\n slots\n } = _ref2;\n const tag = props.group ? TransitionGroup : Transition;\n return () => {\n return h(tag, {\n name: props.disabled ? '' : name,\n css: !props.disabled,\n // mode: props.mode, // TODO: vuejs/vue-next#3104\n ...(props.disabled ? {} : functions)\n }, slots.default);\n };\n }\n });\n}\n//# sourceMappingURL=createTransition.js.map","// Utilities\nimport { camelize } from 'vue';\nexport default function () {\n let expandedParentClass = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n let x = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n const sizeProperty = x ? 'width' : 'height';\n const offsetProperty = camelize(`offset-${sizeProperty}`);\n return {\n onBeforeEnter(el) {\n el._parent = el.parentNode;\n el._initialStyle = {\n transition: el.style.transition,\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty]\n };\n },\n onEnter(el) {\n const initialStyle = el._initialStyle;\n if (!initialStyle) return;\n el.style.setProperty('transition', 'none', 'important');\n // Hide overflow to account for collapsed margins in the calculated height\n el.style.overflow = 'hidden';\n const offset = `${el[offsetProperty]}px`;\n el.style[sizeProperty] = '0';\n void el.offsetHeight; // force reflow\n\n el.style.transition = initialStyle.transition;\n if (expandedParentClass && el._parent) {\n el._parent.classList.add(expandedParentClass);\n }\n requestAnimationFrame(() => {\n el.style[sizeProperty] = offset;\n });\n },\n onAfterEnter: resetStyles,\n onEnterCancelled: resetStyles,\n onLeave(el) {\n el._initialStyle = {\n transition: '',\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty]\n };\n el.style.overflow = 'hidden';\n el.style[sizeProperty] = `${el[offsetProperty]}px`;\n void el.offsetHeight; // force reflow\n\n requestAnimationFrame(() => el.style[sizeProperty] = '0');\n },\n onAfterLeave,\n onLeaveCancelled: onAfterLeave\n };\n function onAfterLeave(el) {\n if (expandedParentClass && el._parent) {\n el._parent.classList.remove(expandedParentClass);\n }\n resetStyles(el);\n }\n function resetStyles(el) {\n if (!el._initialStyle) return;\n const size = el._initialStyle[sizeProperty];\n el.style.overflow = el._initialStyle.overflow;\n if (size != null) el.style[sizeProperty] = size;\n delete el._initialStyle;\n }\n}\n//# sourceMappingURL=expand-transition.js.map","import { createCssTransition, createJavascriptTransition } from \"./createTransition.js\";\nimport ExpandTransitionGenerator from \"./expand-transition.js\"; // Component specific transitions\nexport const VFabTransition = createCssTransition('fab-transition', 'center center', 'out-in');\n\n// Generic transitions\nexport const VDialogBottomTransition = createCssTransition('dialog-bottom-transition');\nexport const VDialogTopTransition = createCssTransition('dialog-top-transition');\nexport const VFadeTransition = createCssTransition('fade-transition');\nexport const VScaleTransition = createCssTransition('scale-transition');\nexport const VScrollXTransition = createCssTransition('scroll-x-transition');\nexport const VScrollXReverseTransition = createCssTransition('scroll-x-reverse-transition');\nexport const VScrollYTransition = createCssTransition('scroll-y-transition');\nexport const VScrollYReverseTransition = createCssTransition('scroll-y-reverse-transition');\nexport const VSlideXTransition = createCssTransition('slide-x-transition');\nexport const VSlideXReverseTransition = createCssTransition('slide-x-reverse-transition');\nexport const VSlideYTransition = createCssTransition('slide-y-transition');\nexport const VSlideYReverseTransition = createCssTransition('slide-y-reverse-transition');\n\n// Javascript transitions\nexport const VExpandTransition = createJavascriptTransition('expand-transition', ExpandTransitionGenerator());\nexport const VExpandXTransition = createJavascriptTransition('expand-x-transition', ExpandTransitionGenerator('', true));\nexport { VDialogTransition } from \"./dialog-transition.js\";\n//# sourceMappingURL=index.js.map","// Utilities\nimport { computed, inject, onScopeDispose, reactive, shallowRef, toRef, toRefs, watchEffect } from 'vue';\nimport { getCurrentInstanceName, mergeDeep, propsFactory } from \"../util/index.js\";\nimport { IN_BROWSER, SUPPORTS_TOUCH } from \"../util/globals.js\"; // Types\nexport const breakpoints = ['sm', 'md', 'lg', 'xl', 'xxl']; // no xs\n\nexport const DisplaySymbol = Symbol.for('vuetify:display');\nconst defaultDisplayOptions = {\n mobileBreakpoint: 'lg',\n thresholds: {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920,\n xxl: 2560\n }\n};\nconst parseDisplayOptions = function () {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultDisplayOptions;\n return mergeDeep(defaultDisplayOptions, options);\n};\nfunction getClientWidth(ssr) {\n return IN_BROWSER && !ssr ? window.innerWidth : typeof ssr === 'object' && ssr.clientWidth || 0;\n}\nfunction getClientHeight(ssr) {\n return IN_BROWSER && !ssr ? window.innerHeight : typeof ssr === 'object' && ssr.clientHeight || 0;\n}\nfunction getPlatform(ssr) {\n const userAgent = IN_BROWSER && !ssr ? window.navigator.userAgent : 'ssr';\n function match(regexp) {\n return Boolean(userAgent.match(regexp));\n }\n const android = match(/android/i);\n const ios = match(/iphone|ipad|ipod/i);\n const cordova = match(/cordova/i);\n const electron = match(/electron/i);\n const chrome = match(/chrome/i);\n const edge = match(/edge/i);\n const firefox = match(/firefox/i);\n const opera = match(/opera/i);\n const win = match(/win/i);\n const mac = match(/mac/i);\n const linux = match(/linux/i);\n return {\n android,\n ios,\n cordova,\n electron,\n chrome,\n edge,\n firefox,\n opera,\n win,\n mac,\n linux,\n touch: SUPPORTS_TOUCH,\n ssr: userAgent === 'ssr'\n };\n}\nexport function createDisplay(options, ssr) {\n const {\n thresholds,\n mobileBreakpoint\n } = parseDisplayOptions(options);\n const height = shallowRef(getClientHeight(ssr));\n const platform = shallowRef(getPlatform(ssr));\n const state = reactive({});\n const width = shallowRef(getClientWidth(ssr));\n function updateSize() {\n height.value = getClientHeight();\n width.value = getClientWidth();\n }\n function update() {\n updateSize();\n platform.value = getPlatform();\n }\n\n // eslint-disable-next-line max-statements\n watchEffect(() => {\n const xs = width.value < thresholds.sm;\n const sm = width.value < thresholds.md && !xs;\n const md = width.value < thresholds.lg && !(sm || xs);\n const lg = width.value < thresholds.xl && !(md || sm || xs);\n const xl = width.value < thresholds.xxl && !(lg || md || sm || xs);\n const xxl = width.value >= thresholds.xxl;\n const name = xs ? 'xs' : sm ? 'sm' : md ? 'md' : lg ? 'lg' : xl ? 'xl' : 'xxl';\n const breakpointValue = typeof mobileBreakpoint === 'number' ? mobileBreakpoint : thresholds[mobileBreakpoint];\n const mobile = width.value < breakpointValue;\n state.xs = xs;\n state.sm = sm;\n state.md = md;\n state.lg = lg;\n state.xl = xl;\n state.xxl = xxl;\n state.smAndUp = !xs;\n state.mdAndUp = !(xs || sm);\n state.lgAndUp = !(xs || sm || md);\n state.xlAndUp = !(xs || sm || md || lg);\n state.smAndDown = !(md || lg || xl || xxl);\n state.mdAndDown = !(lg || xl || xxl);\n state.lgAndDown = !(xl || xxl);\n state.xlAndDown = !xxl;\n state.name = name;\n state.height = height.value;\n state.width = width.value;\n state.mobile = mobile;\n state.mobileBreakpoint = mobileBreakpoint;\n state.platform = platform.value;\n state.thresholds = thresholds;\n });\n if (IN_BROWSER) {\n window.addEventListener('resize', updateSize, {\n passive: true\n });\n onScopeDispose(() => {\n window.removeEventListener('resize', updateSize);\n }, true);\n }\n return {\n ...toRefs(state),\n update,\n ssr: !!ssr\n };\n}\nexport const makeDisplayProps = propsFactory({\n mobile: {\n type: Boolean,\n default: false\n },\n mobileBreakpoint: [Number, String]\n}, 'display');\nexport function useDisplay() {\n let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n mobile: null\n };\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n const display = inject(DisplaySymbol);\n if (!display) throw new Error('Could not find Vuetify display injection');\n const mobile = computed(() => {\n if (props.mobile) {\n return true;\n } else if (typeof props.mobileBreakpoint === 'number') {\n return display.width.value < props.mobileBreakpoint;\n } else if (props.mobileBreakpoint) {\n return display.width.value < display.thresholds.value[props.mobileBreakpoint];\n } else if (props.mobile === null) {\n return display.mobile.value;\n } else {\n return false;\n }\n });\n const displayClasses = toRef(() => {\n if (!name) return {};\n return {\n [`${name}--mobile`]: mobile.value\n };\n });\n return {\n ...display,\n displayClasses,\n mobile\n };\n}\n//# sourceMappingURL=display.js.map"],"names":["value","h","transform","v","sRGB.toXYZ","_getCurrentInstance","_defineComponent","_createElementVNode","_normalizeClass","_normalizeStyle","makeTransitionProps","mounted","observer","unmounted","vIntersect","_createVNode","_withDirectives","_mergeProps","_Fragment","side","href","computed","ripples","keys","item","vRipple"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55]}
|