{"version":3,"file":"VBreadcrumbsItem.mjs","names":["makeRouterProps","useLink","makeTagProps","useTextColor","computed","genericComponent","useRender","VBreadcrumbsItem","name","props","active","Boolean","activeClass","String","activeColor","color","disabled","title","tag","setup","slots","attrs","link","isActive","value","textColorClasses","textColorStyles","Tag","isLink","href","undefined","navigate","default"],"sources":["../../../src/components/VBreadcrumbs/VBreadcrumbsItem.tsx"],"sourcesContent":["// Composables\nimport { makeRouterProps, useLink } from '@/composables/router'\nimport { makeTagProps } from '@/composables/tag'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, useRender } from '@/util'\n\nexport const VBreadcrumbsItem = genericComponent()({\n  name: 'VBreadcrumbsItem',\n\n  props: {\n    active: Boolean,\n    activeClass: String,\n    activeColor: String,\n    color: String,\n    disabled: Boolean,\n    title: String,\n\n    ...makeRouterProps(),\n    ...makeTagProps({ tag: 'li' }),\n  },\n\n  setup (props, { slots, attrs }) {\n    const link = useLink(props, attrs)\n    const isActive = computed(() => props.active || link.isActive?.value)\n    const color = computed(() => isActive.value ? props.activeColor : props.color)\n\n    const { textColorClasses, textColorStyles } = useTextColor(color)\n\n    useRender(() => {\n      const Tag = link.isLink.value ? 'a' : props.tag\n\n      return (\n        <Tag\n          class={[\n            'v-breadcrumbs-item',\n            {\n              'v-breadcrumbs-item--active': isActive.value,\n              'v-breadcrumbs-item--disabled': props.disabled,\n              'v-breadcrumbs-item--link': link.isLink.value,\n              [`${props.activeClass}`]: isActive.value && props.activeClass,\n            },\n            textColorClasses.value,\n          ]}\n          style={[\n            textColorStyles.value,\n          ]}\n          href={ link.href.value }\n          aria-current={ isActive.value ? 'page' : undefined }\n          onClick={ link.navigate }\n        >\n          { slots.default?.() ?? props.title }\n        </Tag>\n      )\n    })\n\n    return {}\n  },\n})\n\nexport type VBreadcrumbsItem = InstanceType<typeof VBreadcrumbsItem>\n"],"mappings":";AAAA;AAAA,SACSA,eAAe,EAAEC,OAAO;AAAA,SACxBC,YAAY;AAAA,SACZC,YAAY,uCAErB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,gBAAgB,EAAEC,SAAS;AAEpC,OAAO,MAAMC,gBAAgB,GAAGF,gBAAgB,EAAE,CAAC;EACjDG,IAAI,EAAE,kBAAkB;EAExBC,KAAK,EAAE;IACLC,MAAM,EAAEC,OAAO;IACfC,WAAW,EAAEC,MAAM;IACnBC,WAAW,EAAED,MAAM;IACnBE,KAAK,EAAEF,MAAM;IACbG,QAAQ,EAAEL,OAAO;IACjBM,KAAK,EAAEJ,MAAM;IAEb,GAAGb,eAAe,EAAE;IACpB,GAAGE,YAAY,CAAC;MAAEgB,GAAG,EAAE;IAAK,CAAC;EAC/B,CAAC;EAEDC,KAAK,CAAEV,KAAK,QAAoB;IAAA,IAAlB;MAAEW,KAAK;MAAEC;IAAM,CAAC;IAC5B,MAAMC,IAAI,GAAGrB,OAAO,CAACQ,KAAK,EAAEY,KAAK,CAAC;IAClC,MAAME,QAAQ,GAAGnB,QAAQ,CAAC,MAAMK,KAAK,CAACC,MAAM,IAAIY,IAAI,CAACC,QAAQ,EAAEC,KAAK,CAAC;IACrE,MAAMT,KAAK,GAAGX,QAAQ,CAAC,MAAMmB,QAAQ,CAACC,KAAK,GAAGf,KAAK,CAACK,WAAW,GAAGL,KAAK,CAACM,KAAK,CAAC;IAE9E,MAAM;MAAEU,gBAAgB;MAAEC;IAAgB,CAAC,GAAGvB,YAAY,CAACY,KAAK,CAAC;IAEjET,SAAS,CAAC,MAAM;MACd,MAAMqB,GAAG,GAAGL,IAAI,CAACM,MAAM,CAACJ,KAAK,GAAG,GAAG,GAAGf,KAAK,CAACS,GAAG;MAE/C;QAAA,SAEW,CACL,oBAAoB,EACpB;UACE,4BAA4B,EAAEK,QAAQ,CAACC,KAAK;UAC5C,8BAA8B,EAAEf,KAAK,CAACO,QAAQ;UAC9C,0BAA0B,EAAEM,IAAI,CAACM,MAAM,CAACJ,KAAK;UAC7C,CAAE,GAAEf,KAAK,CAACG,WAAY,EAAC,GAAGW,QAAQ,CAACC,KAAK,IAAIf,KAAK,CAACG;QACpD,CAAC,EACDa,gBAAgB,CAACD,KAAK,CACvB;QAAA,SACM,CACLE,eAAe,CAACF,KAAK,CACtB;QAAA,QACMF,IAAI,CAACO,IAAI,CAACL,KAAK;QAAA,gBACPD,QAAQ,CAACC,KAAK,GAAG,MAAM,GAAGM,SAAS;QAAA,WACxCR,IAAI,CAACS;MAAQ;QAAA,gBAErBX,KAAK,CAACY,OAAO,IAAI,IAAIvB,KAAK,CAACQ,KAAK;MAAA;IAGxC,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}