{"version":3,"file":"ComboboxTrigger.cjs","sources":["../../src/Combobox/ComboboxTrigger.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface ComboboxTriggerProps extends PrimitiveProps {\n  /** When `true`, prevents the user from interacting with item */\n  disabled?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { Primitive } from '@/Primitive'\nimport { useForwardExpose } from '@/shared'\nimport { computed, onMounted } from 'vue'\nimport { injectComboboxRootContext } from './ComboboxRoot.vue'\n\nconst props = withDefaults(defineProps<ComboboxTriggerProps>(), {\n  as: 'button',\n})\n\nconst { forwardRef, currentElement } = useForwardExpose()\nconst rootContext = injectComboboxRootContext()\nconst disabled = computed(() => props.disabled || rootContext.disabled.value || false)\n\nonMounted(() => {\n  if (currentElement.value)\n    rootContext.onTriggerElementChange(currentElement.value)\n})\n</script>\n\n<template>\n  <Primitive\n    v-bind=\"props\"\n    :ref=\"forwardRef\"\n    :type=\"as === 'button' ? 'button' : undefined\"\n    tabindex=\"-1\"\n    aria-label=\"Show popup\"\n    aria-haspopup=\"listbox\"\n    :aria-expanded=\"rootContext.open.value\"\n    :aria-controls=\"rootContext.contentId\"\n    :data-state=\"rootContext.open.value ? 'open' : 'closed'\"\n    :disabled=\"disabled\"\n    :data-disabled=\"disabled ? '' : undefined\"\n    :aria-disabled=\"disabled ?? undefined\"\n    @click=\"rootContext.onOpenChange(!rootContext.open.value)\"\n  >\n    <slot />\n  </Primitive>\n</template>\n"],"names":["useForwardExpose","injectComboboxRootContext","computed","onMounted"],"mappings":";;;;;;;;;;;;;;;AAeA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAId,IAAA,MAAM,EAAE,UAAA,EAAY,cAAe,EAAA,GAAIA,wCAAiB,EAAA;AACxD,IAAA,MAAM,cAAcC,+CAA0B,EAAA;AAC9C,IAAM,MAAA,QAAA,GAAWC,aAAS,MAAM,KAAA,CAAM,YAAY,WAAY,CAAA,QAAA,CAAS,SAAS,KAAK,CAAA;AAErF,IAAAC,aAAA,CAAU,MAAM;AACd,MAAA,IAAI,cAAe,CAAA,KAAA;AACjB,QAAY,WAAA,CAAA,sBAAA,CAAuB,eAAe,KAAK,CAAA;AAAA,KAC1D,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;"}