UNPKG

bootstrap-vue-next

Version:

BootstrapVueNext is an early and lovely component library for Vue 3 & Nuxt 3 based on Bootstrap 5 and Typescript.

1 lines 2.12 kB
{"version":3,"file":"useBLinkHelper-Bvtov_sk.mjs","sources":["../src/utils/isLink.ts","../src/composables/useBLinkHelper.ts"],"sourcesContent":["import type {RouteLocationRaw} from 'vue-router'\n\nexport const isLink = (props: Readonly<{href?: string; to?: RouteLocationRaw}>): boolean =>\n !!(props.href || props.to)\n","import {computed, type MaybeRefOrGetter, readonly, toRef} from 'vue'\nimport {isLink} from '../utils/isLink'\nimport {pick} from '../utils/object'\n\nexport const useBLinkHelper = <\n T extends Record<string, unknown>,\n const B extends ReadonlyArray<PropertyKey>,\n>(\n props: MaybeRefOrGetter<T>,\n pickProps?: MaybeRefOrGetter<B | (keyof T)[]>\n) => {\n const pickPropsResolved = readonly(toRef(pickProps))\n const resolvedProps = readonly(toRef(props))\n\n const computedLink = computed(() => isLink(resolvedProps.value))\n const computedLinkProps = computed(() =>\n computedLink.value\n ? pick(\n resolvedProps.value,\n pickPropsResolved.value ?? [\n 'active',\n 'activeClass',\n 'append',\n 'href',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'target',\n 'to',\n 'variant',\n 'opacity',\n 'opacityHover',\n 'underlineVariant',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n ]\n )\n : {}\n )\n\n return {computedLink, computedLinkProps}\n}\n"],"names":[],"mappings":";;AAEO,MAAM,SAAS,CAAC,UACrB,CAAC,EAAE,MAAM,QAAQ,MAAM;ACCZ,MAAA,iBAAiB,CAI5B,OACA,cACG;AACH,QAAM,oBAAoB,SAAS,MAAM,SAAS,CAAC;AACnD,QAAM,gBAAgB,SAAS,MAAM,KAAK,CAAC;AAE3C,QAAM,eAAe,SAAS,MAAM,OAAO,cAAc,KAAK,CAAC;AAC/D,QAAM,oBAAoB;AAAA,IAAS,MACjC,aAAa,QACT;AAAA,MACE,cAAc;AAAA,MACd,kBAAkB,SAAS;AAAA,QACzB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IAAA,IAEF,CAAC;AAAA,EAAA;AAGA,SAAA,EAAC,cAAc;AACxB;"}