{"version":3,"file":"check-tag-group.mjs","sources":["../../../components/tag/check-tag-group.tsx"],"sourcesContent":["import { computed, defineComponent, toRefs, h } from 'vue';\nimport { useVModel, usePrefixClass } from '@tdesign/shared-hooks';\nimport props from './check-tag-group-props';\nimport CheckTag from './check-tag';\n\nimport { CheckTagGroupOption, CheckTagGroupValue, TdCheckTagProps } from './type';\nimport { isFunction } from 'lodash-es';\n\nexport default defineComponent({\n  name: 'TCheckTagGroup',\n  props,\n  setup(props, context) {\n    const { value, modelValue, options } = toRefs(props);\n    const componentName = usePrefixClass('check-tag-group');\n    const checkTagGroupClasses = computed(() => [componentName.value]);\n\n    const [innerValue, setInnerValue] = useVModel(value, modelValue, props.defaultValue, props.onChange);\n\n    const onCheckTagChange: TdCheckTagProps['onChange'] = (checked, ctx) => {\n      const value = ctx.value;\n      if (checked) {\n        if (props.multiple) {\n          setInnerValue(innerValue.value.concat(value), { e: ctx.e, type: 'check', value });\n        } else {\n          setInnerValue([value], { e: ctx.e, type: 'check', value });\n        }\n      } else {\n        let newValue: CheckTagGroupValue = [];\n        if (props.multiple) {\n          newValue = innerValue.value.filter((t) => t !== value);\n        }\n        setInnerValue(newValue, { e: ctx.e, type: 'uncheck', value });\n      }\n    };\n\n    const getTagContent = (option: CheckTagGroupOption) => {\n      if (context.slots.option) return context.slots.option(option);\n      if (context.slots.label) return context.slots.label(option);\n      if (option.label) {\n        return isFunction(option.label) ? option.label(h) : option.label;\n      }\n      if (option.content && isFunction(option.content)) return option.content(h);\n      if (option.default && isFunction(option.default)) return option.default(h);\n      return option.value;\n    };\n\n    return () => {\n      return (\n        <div class={checkTagGroupClasses.value}>\n          {(options.value || []).map((option) => (\n            <CheckTag\n              key={option.value}\n              value={option.value}\n              checkedProps={props.checkedProps}\n              uncheckedProps={props.uncheckedProps}\n              checked={innerValue.value.includes(option.value)}\n              onChange={onCheckTagChange}\n              disabled={option.disabled}\n              size={option.size}\n              data-value={option.value}\n            >\n              {getTagContent(option)}\n            </CheckTag>\n          ))}\n        </div>\n      );\n    };\n  },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","props","setup","context","_toRefs","toRefs","value","modelValue","options","componentName","usePrefixClass","checkTagGroupClasses","computed","_useVModel","useVModel","defaultValue","onChange","_useVModel2","_slicedToArray","innerValue","setInnerValue","onCheckTagChange","checked","ctx","multiple","concat","e","type","newValue","filter","t","getTagContent","option","slots","label","isFunction","h","content","_createVNode","map","checkedProps","uncheckedProps","includes","disabled","size","_slot","_default"],"mappings":"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"}