{"version":3,"file":"BBreadcrumb-CjPr1FWj.mjs","names":[],"sources":["../src/components/BBreadcrumb/BBreadcrumbItem.vue","../src/components/BBreadcrumb/BBreadcrumbItem.vue","../src/components/BBreadcrumb/BBreadcrumb.vue","../src/components/BBreadcrumb/BBreadcrumb.vue"],"sourcesContent":["<template>\n  <li class=\"breadcrumb-item\" :class=\"computedClasses\">\n    <component\n      :is=\"computedTag\"\n      :aria-current=\"computedAriaCurrent\"\n      v-bind=\"computedLinkProps\"\n      @click=\"clicked\"\n    >\n      <slot>\n        {{ props.text }}\n      </slot>\n    </component>\n  </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {pick} from '../../utils/object'\nimport {computed} from 'vue'\nimport BLink from '../BLink/BLink.vue'\nimport type {BBreadcrumbItemProps} from '../../types/ComponentProps'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BBreadcrumbItemEmits, BBreadcrumbItemSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BBreadcrumbItemProps>(), {\n  ariaCurrent: 'location',\n  text: undefined,\n  // Link props\n  active: false, // Why is this active: false?\n  // All others use defaults\n  activeClass: undefined,\n  disabled: undefined,\n  exactActiveClass: undefined,\n  href: undefined,\n  icon: undefined,\n  opacity: undefined,\n  opacityHover: undefined,\n  stretched: false,\n  rel: undefined,\n  replace: undefined,\n  routerComponentName: undefined,\n  routerTag: undefined,\n  target: undefined,\n  to: undefined,\n  underlineOffset: undefined,\n  underlineOffsetHover: undefined,\n  underlineOpacity: undefined,\n  underlineOpacityHover: undefined,\n  underlineVariant: undefined,\n  variant: undefined,\n  // End link props\n})\nconst props = useDefaults(_props, 'BBreadcrumbItem')\nconst emit = defineEmits<BBreadcrumbItemEmits>()\ndefineSlots<BBreadcrumbItemSlots>()\n\nconst computedClasses = computed(() => ({\n  active: props.active,\n}))\n\nconst computedTag = computed(() => (props.active ? 'span' : BLink))\n\nconst computedAriaCurrent = computed(() => (props.active ? props.ariaCurrent : undefined))\n\nconst computedLinkProps = computed(() =>\n  computedTag.value !== 'span'\n    ? pick(props, [\n        'active',\n        'activeClass',\n        'disabled',\n        'exactActiveClass',\n        'href',\n        'icon',\n        'noRel',\n        'opacity',\n        'opacityHover',\n        'noPrefetch',\n        'prefetch',\n        'prefetchOn',\n        'prefetchedClass',\n        'rel',\n        'replace',\n        'routerComponentName',\n        'stretched',\n        'target',\n        'to',\n        'underlineOffset',\n        'underlineOffsetHover',\n        'underlineOpacity',\n        'underlineOpacityHover',\n        'underlineVariant',\n        'variant',\n      ])\n    : {}\n)\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n  if (props.disabled || props.active) {\n    e.preventDefault()\n    e.stopImmediatePropagation()\n    return\n  }\n  if (!props.disabled) emit('click', e)\n}\n</script>\n","<template>\n  <li class=\"breadcrumb-item\" :class=\"computedClasses\">\n    <component\n      :is=\"computedTag\"\n      :aria-current=\"computedAriaCurrent\"\n      v-bind=\"computedLinkProps\"\n      @click=\"clicked\"\n    >\n      <slot>\n        {{ props.text }}\n      </slot>\n    </component>\n  </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {pick} from '../../utils/object'\nimport {computed} from 'vue'\nimport BLink from '../BLink/BLink.vue'\nimport type {BBreadcrumbItemProps} from '../../types/ComponentProps'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BBreadcrumbItemEmits, BBreadcrumbItemSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BBreadcrumbItemProps>(), {\n  ariaCurrent: 'location',\n  text: undefined,\n  // Link props\n  active: false, // Why is this active: false?\n  // All others use defaults\n  activeClass: undefined,\n  disabled: undefined,\n  exactActiveClass: undefined,\n  href: undefined,\n  icon: undefined,\n  opacity: undefined,\n  opacityHover: undefined,\n  stretched: false,\n  rel: undefined,\n  replace: undefined,\n  routerComponentName: undefined,\n  routerTag: undefined,\n  target: undefined,\n  to: undefined,\n  underlineOffset: undefined,\n  underlineOffsetHover: undefined,\n  underlineOpacity: undefined,\n  underlineOpacityHover: undefined,\n  underlineVariant: undefined,\n  variant: undefined,\n  // End link props\n})\nconst props = useDefaults(_props, 'BBreadcrumbItem')\nconst emit = defineEmits<BBreadcrumbItemEmits>()\ndefineSlots<BBreadcrumbItemSlots>()\n\nconst computedClasses = computed(() => ({\n  active: props.active,\n}))\n\nconst computedTag = computed(() => (props.active ? 'span' : BLink))\n\nconst computedAriaCurrent = computed(() => (props.active ? props.ariaCurrent : undefined))\n\nconst computedLinkProps = computed(() =>\n  computedTag.value !== 'span'\n    ? pick(props, [\n        'active',\n        'activeClass',\n        'disabled',\n        'exactActiveClass',\n        'href',\n        'icon',\n        'noRel',\n        'opacity',\n        'opacityHover',\n        'noPrefetch',\n        'prefetch',\n        'prefetchOn',\n        'prefetchedClass',\n        'rel',\n        'replace',\n        'routerComponentName',\n        'stretched',\n        'target',\n        'to',\n        'underlineOffset',\n        'underlineOffsetHover',\n        'underlineOpacity',\n        'underlineOpacityHover',\n        'underlineVariant',\n        'variant',\n      ])\n    : {}\n)\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n  if (props.disabled || props.active) {\n    e.preventDefault()\n    e.stopImmediatePropagation()\n    return\n  }\n  if (!props.disabled) emit('click', e)\n}\n</script>\n","<template>\n  <nav :id=\"props.id\" aria-label=\"breadcrumb\">\n    <ol class=\"breadcrumb\" :class=\"props.olClass\" v-bind=\"props.olAttrs\">\n      <slot name=\"prepend\" />\n      <BBreadcrumbItem v-for=\"(item, i) in breadcrumbItemObjects\" :key=\"i\" v-bind=\"item\">\n        {{ item.text }}\n      </BBreadcrumbItem>\n      <slot />\n      <slot name=\"append\" />\n    </ol>\n  </nav>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {useBreadcrumb} from '../../composables/useBreadcrumb'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BBreadcrumbProps} from '../../types/ComponentProps'\nimport BBreadcrumbItem from './BBreadcrumbItem.vue'\nimport type {BreadcrumbItem} from '../../types/BreadcrumbTypes'\nimport type {BBreadcrumbSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BBreadcrumbProps>(), {\n  items: undefined,\n  id: undefined,\n  olAttrs: undefined,\n  olClass: undefined,\n})\nconst props = useDefaults(_props, 'BBreadcrumb')\ndefineSlots<BBreadcrumbSlots>()\n\nconst breadcrumb = useBreadcrumb(() => props.id || null)\n\nconst breadcrumbItemObjects = computed<BreadcrumbItem[]>(() => {\n  const localItems = props.items || breadcrumb.items?.value || []\n  let activeDefined = false\n  const items = localItems.map((item, idx) => {\n    if (typeof item === 'string') {\n      item = {text: item}\n      if (idx < localItems.length - 1) item.href = '#'\n    }\n    if (item.active) activeDefined = true\n\n    // Auto-detect active by position in list\n    if (!item.active && !activeDefined) {\n      item.active = idx + 1 === localItems.length\n    }\n    return item\n  })\n  return items\n})\n</script>\n","<template>\n  <nav :id=\"props.id\" aria-label=\"breadcrumb\">\n    <ol class=\"breadcrumb\" :class=\"props.olClass\" v-bind=\"props.olAttrs\">\n      <slot name=\"prepend\" />\n      <BBreadcrumbItem v-for=\"(item, i) in breadcrumbItemObjects\" :key=\"i\" v-bind=\"item\">\n        {{ item.text }}\n      </BBreadcrumbItem>\n      <slot />\n      <slot name=\"append\" />\n    </ol>\n  </nav>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {useBreadcrumb} from '../../composables/useBreadcrumb'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BBreadcrumbProps} from '../../types/ComponentProps'\nimport BBreadcrumbItem from './BBreadcrumbItem.vue'\nimport type {BreadcrumbItem} from '../../types/BreadcrumbTypes'\nimport type {BBreadcrumbSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BBreadcrumbProps>(), {\n  items: undefined,\n  id: undefined,\n  olAttrs: undefined,\n  olClass: undefined,\n})\nconst props = useDefaults(_props, 'BBreadcrumb')\ndefineSlots<BBreadcrumbSlots>()\n\nconst breadcrumb = useBreadcrumb(() => props.id || null)\n\nconst breadcrumbItemObjects = computed<BreadcrumbItem[]>(() => {\n  const localItems = props.items || breadcrumb.items?.value || []\n  let activeDefined = false\n  const items = localItems.map((item, idx) => {\n    if (typeof item === 'string') {\n      item = {text: item}\n      if (idx < localItems.length - 1) item.href = '#'\n    }\n    if (item.active) activeDefined = true\n\n    // Auto-detect active by position in list\n    if (!item.active && !activeDefined) {\n      item.active = idx + 1 === localItems.length\n    }\n    return item\n  })\n  return items\n})\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmDA,MAAM,QAAQ,YA5BC,SA4BmB,kBAAiB;EACnD,MAAM,OAAO;EAGb,MAAM,kBAAkB,gBAAgB,EACtC,QAAQ,MAAM,QACf,EAAC;EAEF,MAAM,cAAc,eAAgB,MAAM,SAAS,SAAS,cAAM;EAElE,MAAM,sBAAsB,eAAgB,MAAM,SAAS,MAAM,cAAc,KAAA,EAAU;EAEzF,MAAM,oBAAoB,eACxB,YAAY,UAAU,SAClB,KAAK,OAAO;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CAAA,GACD,EAAC,CACP;EAEA,MAAM,WAAW,MAAkC;AACjD,OAAI,MAAM,YAAY,MAAM,QAAQ;AAClC,MAAE,gBAAe;AACjB,MAAE,0BAAyB;AAC3B;;AAEF,OAAI,CAAC,MAAM,SAAU,MAAK,SAAS,EAAC;;;uBApGpC,mBAWK,MAAA,EAXD,OAAK,eAAA,CAAC,mBAA0B,gBAAA,MAAe,CAAA,EAAA,EAAA,EAAA,WAAA,EACjD,YASY,wBARL,YAAA,MAAW,EADlB,WASY,EAPT,gBAAc,oBAAA,OAAmB,EAC1B,kBAAA,OAAiB,EACxB,SAAO,SAAO,CAAA,EAAA;2BAIR,CAFP,WAEO,KAAA,QAAA,WAAA,EAAA,QAAA,CAAA,gBAAA,gBADF,MAAA,MAAK,CAAC,KAAI,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;EEmBrB,MAAM,QAAQ,YANC,SAMmB,cAAa;EAG/C,MAAM,aAAa,oBAAoB,MAAM,MAAM,KAAI;EAEvD,MAAM,wBAAwB,eAAiC;GAC7D,MAAM,aAAa,MAAM,SAAS,WAAW,OAAO,SAAS,EAAC;GAC9D,IAAI,gBAAgB;AAcpB,UAbc,WAAW,KAAK,MAAM,QAAQ;AAC1C,QAAI,OAAO,SAAS,UAAU;AAC5B,YAAO,EAAC,MAAM,MAAI;AAClB,SAAI,MAAM,WAAW,SAAS,EAAG,MAAK,OAAO;;AAE/C,QAAI,KAAK,OAAQ,iBAAgB;AAGjC,QAAI,CAAC,KAAK,UAAU,CAAC,cACnB,MAAK,SAAS,MAAM,MAAM,WAAW;AAEvC,WAAO;KACR;IAEF;;uBAjDC,mBASM,OAAA;IATA,IAAI,MAAA,MAAK,CAAC;IAAI,cAAW;OAC7B,mBAOK,MAPL,WAOK,EAPD,OAAK,CAAC,cAAqB,MAAA,MAAK,CAAC,QAAO,EAAA,EAAU,MAAA,MAAK,CAAC,QAAO,EAAA;IACjE,WAAuB,KAAA,QAAA,UAAA;sBACvB,mBAEkB,UAAA,MAAA,WAFmB,sBAAA,QAAZ,MAAM,MAAC;yBAAhC,YAEkB,yBAFlB,WAEkB,EAF2C,KAAK,GAAC,EAAA,EAAA,SAAA,MAAA,EAAU,KAAI,EAAA;6BAChE,CAAA,gBAAA,gBAAZ,KAAK,KAAI,EAAA,EAAA,CAAA,CAAA;;;;IAEd,WAAQ,KAAA,QAAA,UAAA;IACR,WAAsB,KAAA,QAAA,SAAA"}