vuetify
Version:
Vue Material Component Framework
1 lines • 2.2 kB
Source Map (JSON)
{"version":3,"file":"VHover.mjs","names":["makeDelayProps","useDelay","useProxiedModel","genericComponent","VHover","name","props","disabled","Boolean","modelValue","type","default","undefined","emits","value","setup","slots","isHovering","runOpenDelay","runCloseDelay","onMouseenter","onMouseleave"],"sources":["../../../src/components/VHover/VHover.tsx"],"sourcesContent":["// Composables\nimport { makeDelayProps, useDelay } from '@/composables/delay'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { genericComponent } from '@/util'\n\ntype VHoverSlots = {\n default: [{\n isHovering: boolean\n props: Record<string, unknown>\n }]\n}\n\nexport const VHover = genericComponent<VHoverSlots>()({\n name: 'VHover',\n\n props: {\n disabled: Boolean,\n modelValue: {\n type: Boolean,\n default: undefined,\n },\n\n ...makeDelayProps(),\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isHovering = useProxiedModel(props, 'modelValue')\n const { runOpenDelay, runCloseDelay } = useDelay(props, value => !props.disabled && (isHovering.value = value))\n\n return () => slots.default?.({\n isHovering: isHovering.value,\n props: {\n onMouseenter: runOpenDelay,\n onMouseleave: runCloseDelay,\n },\n })\n },\n})\n\nexport type VHover = InstanceType<typeof VHover>\n"],"mappings":"AAAA;AAAA,SACSA,cAAc,EAAEC,QAAQ;AAAA,SACxBC,eAAe,8CAExB;AAAA,SACSC,gBAAgB;AASzB,OAAO,MAAMC,MAAM,GAAGD,gBAAgB,EAAe,CAAC;EACpDE,IAAI,EAAE,QAAQ;EAEdC,KAAK,EAAE;IACLC,QAAQ,EAAEC,OAAO;IACjBC,UAAU,EAAE;MACVC,IAAI,EAAEF,OAAO;MACbG,OAAO,EAAEC;IACX,CAAC;IAED,GAAGZ,cAAc;EACnB,CAAC;EAEDa,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAc,IAAK;EAC3C,CAAC;EAEDC,KAAK,CAAET,KAAK,QAAa;IAAA,IAAX;MAAEU;IAAM,CAAC;IACrB,MAAMC,UAAU,GAAGf,eAAe,CAACI,KAAK,EAAE,YAAY,CAAC;IACvD,MAAM;MAAEY,YAAY;MAAEC;IAAc,CAAC,GAAGlB,QAAQ,CAACK,KAAK,EAAEQ,KAAK,IAAI,CAACR,KAAK,CAACC,QAAQ,KAAKU,UAAU,CAACH,KAAK,GAAGA,KAAK,CAAC,CAAC;IAE/G,OAAO,MAAME,KAAK,CAACL,OAAO,GAAG;MAC3BM,UAAU,EAAEA,UAAU,CAACH,KAAK;MAC5BR,KAAK,EAAE;QACLc,YAAY,EAAEF,YAAY;QAC1BG,YAAY,EAAEF;MAChB;IACF,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}