{"version":3,"file":"checkbox-group2.mjs","sources":["../../../../../../../packages/components/checkbox/src/checkbox-group.tsx"],"sourcesContent":["import { defineComponent, watch } from 'vue'\nimport {\n  useChildren,\n  useCustomFieldValue,\n  useExpose,\n  useNamespace,\n} from '@xzx-design/hooks'\nimport { checkboxGroupEmits, checkboxGroupProps } from './checkbox-group'\nimport { CHECKBOX_GROUP_KEY } from './types'\n\nimport type {\n  CheckboxGroupExpose,\n  CheckboxGroupToggleAllOptions,\n} from './types'\n\nconst name = 'XzxCheckboxGroup'\n\nexport default defineComponent({\n  name,\n  __name: name,\n  props: checkboxGroupProps,\n  emits: checkboxGroupEmits,\n  setup(props, { emit, slots }) {\n    const { b, m } = useNamespace('checkbox-group')\n\n    const { children, linkChildren } = useChildren(CHECKBOX_GROUP_KEY)\n\n    const updateValue = (value: unknown[]) => emit('update:modelValue', value)\n\n    const toggleAll = (options: CheckboxGroupToggleAllOptions = {}) => {\n      if (typeof options === 'boolean') {\n        options = { checked: options }\n      }\n\n      const { checked, skipDisabled } = options\n\n      const checkedChildren = children.filter((item: any) => {\n        if (!item.props.bindGroup) {\n          return false\n        }\n        if (item.props.disabled && skipDisabled) {\n          return item.checked.value\n        }\n        return checked ?? !item.checked.value\n      })\n\n      const names = checkedChildren.map((item: any) => item.name)\n      updateValue(names)\n    }\n\n    watch(\n      () => props.modelValue,\n      (value) => emit('change', value)\n    )\n\n    useExpose<CheckboxGroupExpose>({ toggleAll })\n    useCustomFieldValue(() => props.modelValue)\n    linkChildren({\n      props,\n      updateValue,\n    })\n\n    return () => (\n      <div class={[b(), m(props.direction)]}>{slots.default?.()}</div>\n    )\n  },\n})\n"],"names":["name","defineComponent","__name","props","checkboxGroupProps","emits","checkboxGroupEmits","setup","emit","slots","b","m","useNamespace","children","linkChildren","useChildren","CHECKBOX_GROUP_KEY","updateValue","value","toggleAll","options","checked","skipDisabled","checkedChildren","filter","item","bindGroup","disabled","names","map","watch","modelValue","useExpose","useCustomFieldValue","_createVNode","direction","default"],"mappings":";;;;;;;;;AAeA,MAAMA,IAAO,GAAA,kBAAA,CAAA;AAEb,qBAAeC,eAAgB,CAAA;AAAA,EAC7BD,IAAAA;AAAAA,EACAE,MAAQF,EAAAA,IAAAA;AAAAA,EACRG,KAAOC,EAAAA,kBAAAA;AAAAA,EACPC,KAAOC,EAAAA,kBAAAA;AAAAA,EACPC,MAAMJ,KAAO,EAAA;AAAA,IAAEK,IAAAA;AAAAA,IAAMC,KAAAA;AAAAA,GAAS,EAAA;AAC5B,IAAM,MAAA;AAAA,MAAEC,CAAAA;AAAAA,MAAGC,CAAAA;AAAAA,KAAE,GAAIC,aAAa,gBAAgB,CAAA,CAAA;AAE9C,IAAM,MAAA;AAAA,MAAEC,QAAAA;AAAAA,MAAUC,YAAAA;AAAAA,KAAa,GAAIC,YAAYC,kBAAkB,CAAA,CAAA;AAEjE,IAAA,MAAMC,WAAeC,GAAAA,CAAAA,KAAAA,KAAqBV,IAAK,CAAA,mBAAA,EAAqBU,KAAK,CAAA,CAAA;AAEzE,IAAA,MAAMC,SAAYA,GAAAA,CAACC,OAAyC,GAAA,EAAO,KAAA;AACjE,MAAI,IAAA,OAAOA,YAAY,SAAW,EAAA;AAChCA,QAAU,OAAA,GAAA;AAAA,UAAEC,OAASD,EAAAA,OAAAA;AAAAA,SAAQ,CAAA;AAAA,OAC/B;AAEA,MAAM,MAAA;AAAA,QAAEC,OAAAA;AAAAA,QAASC,YAAAA;AAAAA,OAAiBF,GAAAA,OAAAA,CAAAA;AAElC,MAAMG,MAAAA,eAAAA,GAAkBV,QAASW,CAAAA,MAAAA,CAAQC,CAAc,IAAA,KAAA;AACrD,QAAI,IAAA,CAACA,IAAKtB,CAAAA,KAAAA,CAAMuB,SAAW,EAAA;AACzB,UAAO,OAAA,KAAA,CAAA;AAAA,SACT;AACA,QAAID,IAAAA,IAAAA,CAAKtB,KAAMwB,CAAAA,QAAAA,IAAYL,YAAc,EAAA;AACvC,UAAA,OAAOG,KAAKJ,OAAQH,CAAAA,KAAAA,CAAAA;AAAAA,SACtB;AACA,QAAOG,OAAAA,OAAAA,IAAAA,IAAAA,GAAAA,OAAAA,GAAW,CAACI,IAAAA,CAAKJ,OAAQH,CAAAA,KAAAA,CAAAA;AAAAA,OACjC,CAAA,CAAA;AAED,MAAA,MAAMU,KAAQL,GAAAA,eAAAA,CAAgBM,GAAKJ,CAAAA,CAAAA,IAAAA,KAAcA,KAAKzB,IAAI,CAAA,CAAA;AAC1DiB,MAAAA,WAAAA,CAAYW,KAAK,CAAA,CAAA;AAAA,KACnB,CAAA;AAEAE,IAAAA,KAAAA,CACE,MAAM3B,KAAM4B,CAAAA,UAAAA,EACXb,WAAUV,IAAK,CAAA,QAAA,EAAUU,KAAK,CACjC,CAAA,CAAA;AAEAc,IAA+B,SAAA,CAAA;AAAA,MAAEb,SAAAA;AAAAA,KAAW,CAAA,CAAA;AAC5Cc,IAAoB,mBAAA,CAAA,MAAM9B,MAAM4B,UAAU,CAAA,CAAA;AAC1CjB,IAAa,YAAA,CAAA;AAAA,MACXX,KAAAA;AAAAA,MACAc,WAAAA;AAAAA,KACD,CAAA,CAAA;AAED,IAAA,OAAO;AA9DX,MAAA,IAAA,EAAA,CAAA;AA8DWiB,MAAAA,OAAAA,WAAAA,CAAA,KAAA,EAAA;AAAA,QAAA,SACO,CAACxB,CAAAA,IAAKC,CAAER,CAAAA,KAAAA,CAAMgC,SAAS,CAAC,CAAA;AAAA,OAAC,EAAA,CAAA,CAAG1B,EAAM2B,GAAAA,KAAAA,CAAAA,OAAAA,KAAN3B,8BAAiB,CAC1D,CAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GACH;AACF,CAAC,CAAA;;;;"}