{"version":3,"file":"use-checkbox-disabled.mjs","sources":["../../../../../../../packages/components/checkbox/src/composables/use-checkbox-disabled.ts"],"sourcesContent":["import { computed, inject } from 'vue'\nimport { useDisabled } from '@bigin/hooks'\nimport { isUndefined } from '@bigin/utils'\nimport { checkboxGroupContextKey } from '@bigin/tokens'\n\nimport type { CheckboxModel, CheckboxStatus } from '../composables'\n\nexport const useCheckboxDisabled = ({\n  model,\n  isChecked,\n}: Pick<CheckboxModel, 'model'> & Pick<CheckboxStatus, 'isChecked'>) => {\n  const checkboxGroup = inject(checkboxGroupContextKey, undefined)\n\n  const isLimitDisabled = computed(() => {\n    const max = checkboxGroup?.max?.value\n    const min = checkboxGroup?.min?.value\n    return (\n      (!isUndefined(max) && model.value.length >= max && !isChecked.value) ||\n      (!isUndefined(min) && model.value.length <= min && isChecked.value)\n    )\n  })\n\n  const isDisabled = useDisabled(\n    computed(() => checkboxGroup?.disabled.value || isLimitDisabled.value)\n  )\n\n  return {\n    isDisabled,\n    isLimitDisabled,\n  }\n}\n\nexport type CheckboxDisabled = ReturnType<typeof useCheckboxDisabled>\n"],"names":[],"mappings":";;;;;;;;AAOO,MAAM,sBAAsB,CAAC;AAAA,EAClC,KAAA;AAAA,EACA,SAAA;AACF,CAAwE,KAAA;AACtE,EAAM,MAAA,aAAA,GAAgB,MAAO,CAAA,uBAAA,EAAyB,KAAS,CAAA,CAAA,CAAA;AAE/D,EAAM,MAAA,eAAA,GAAkB,SAAS,MAAM;AACrC,IAAM,MAAA,GAAA,GAAM,eAAe,GAAK,EAAA,KAAA,CAAA;AAChC,IAAM,MAAA,GAAA,GAAM,eAAe,GAAK,EAAA,KAAA,CAAA;AAChC,IAAA,OACG,CAAC,WAAY,CAAA,GAAG,KAAK,KAAM,CAAA,KAAA,CAAM,UAAU,GAAO,IAAA,CAAC,UAAU,KAC7D,IAAA,CAAC,YAAY,GAAG,CAAA,IAAK,MAAM,KAAM,CAAA,MAAA,IAAU,OAAO,SAAU,CAAA,KAAA,CAAA;AAAA,GAEhE,CAAA,CAAA;AAED,EAAA,MAAM,UAAa,GAAA,WAAA;AAAA,IACjB,SAAS,MAAM,aAAA,EAAe,QAAS,CAAA,KAAA,IAAS,gBAAgB,KAAK,CAAA;AAAA,GACvE,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,UAAA;AAAA,IACA,eAAA;AAAA,GACF,CAAA;AACF;;;;"}