{"version":3,"file":"group.mjs","sources":["../../../components/radio/group.tsx"],"sourcesContent":["import {\n  VNode,\n  defineComponent,\n  h,\n  provide,\n  reactive,\n  ref,\n  computed,\n  onMounted,\n  watch,\n  nextTick,\n  toRefs,\n  onUnmounted,\n} from 'vue';\nimport { isNil, isEqual, isString, isNumber, throttle, isFunction } from 'lodash-es';\n\nimport props from './radio-group-props';\nimport type { RadioOptionObj, RadioOption, TdRadioGroupProps } from './type';\nimport TRadio from './radio';\nimport TRadioButton from './radio-button';\nimport { RadioGroupInjectionKey } from './constants';\nimport {\n  useVModel,\n  usePrefixClass,\n  useTNodeDefault,\n  useResizeObserver,\n  useCommonClassName,\n} from '@tdesign/shared-hooks';\n\nimport { useKeyboard } from './hooks';\n\nimport { useMutationObserver } from '../watermark/hooks';\nimport type { UseMutationObserverReturn } from '../watermark/hooks';\n\nexport default defineComponent({\n  name: 'TRadioGroup',\n  props,\n  setup(props) {\n    const { value, modelValue } = toRefs(props);\n    const [innerValue, setInnerValue] = useVModel(value, modelValue, props.defaultValue, props.onChange);\n\n    /** calculate bar style */\n    const radioGroupRef = ref<HTMLElement>();\n    const radioBtnName = usePrefixClass('radio-button');\n    const { STATUS, SIZE } = useCommonClassName();\n\n    const updateInnerValue: TdRadioGroupProps['onChange'] = (value, context) => {\n      if (isEqual(value, innerValue.value)) return;\n      setInnerValue(value, context);\n    };\n\n    // 键盘操作\n    useKeyboard(radioGroupRef, updateInnerValue);\n\n    const checkedClassName = computed(() => `.${radioBtnName.value}.${STATUS.value.checked}`);\n\n    const barStyle = ref({ width: '0px', height: '0px', left: '0px', top: '0px', 'transition-property': 'none' });\n\n    const calcDefaultBarStyle = () => {\n      const div = document.createElement('div');\n      div.setAttribute('style', 'position: absolute; visibility: hidden;');\n      div.appendChild(radioGroupRef.value.cloneNode(true));\n      document.body.appendChild(div);\n\n      const defaultCheckedRadio: HTMLElement = div.querySelector(checkedClassName.value);\n      const { offsetWidth, offsetHeight, offsetLeft, offsetTop } = defaultCheckedRadio;\n      barStyle.value = {\n        ...barStyle.value,\n        width: `${offsetWidth}px`,\n        height: `${offsetHeight}px`,\n        left: `${offsetLeft}px`,\n        top: `${offsetTop}px`,\n      };\n      document.body.removeChild(div);\n    };\n\n    const calcBarStyle = (disableAnimation = false) => {\n      if (props.variant === 'outline') return;\n\n      const checkedRadio: HTMLElement = radioGroupRef.value.querySelector(checkedClassName.value);\n\n      const transitionProperty = disableAnimation ? 'none' : 'all';\n      if (!checkedRadio) {\n        barStyle.value = {\n          'transition-property': transitionProperty,\n          width: '0px',\n          height: '9px',\n          left: '0px',\n          top: '0px',\n        };\n        return;\n      }\n\n      const { offsetWidth, offsetHeight, offsetLeft, offsetTop } = checkedRadio;\n      // current node is not rendered，fallback to default render\n      if (!offsetWidth) {\n        calcDefaultBarStyle();\n      } else {\n        barStyle.value = {\n          'transition-property': transitionProperty,\n          width: `${offsetWidth}px`,\n          height: `${offsetHeight}px`,\n          left: `${offsetLeft}px`,\n          top: `${offsetTop}px`,\n        };\n      }\n    };\n\n    let observerReturn: UseMutationObserverReturn;\n\n    watch(innerValue, async () => {\n      await nextTick();\n      calcBarStyle();\n    });\n\n    onMounted(() => {\n      calcBarStyle(true);\n      useResizeObserver(\n        radioGroupRef,\n        throttle(async () => {\n          await nextTick();\n          calcBarStyle();\n        }, 300),\n      );\n\n      const checkedRadioLabel: HTMLElement = radioGroupRef.value.querySelector(\n        `${checkedClassName.value} .${radioBtnName.value}__label`,\n      );\n      if (checkedRadioLabel) {\n        observerReturn = useMutationObserver(\n          checkedRadioLabel,\n          (mutations) => {\n            mutations.forEach((mutation) => {\n              if (mutation.type === 'characterData') {\n                calcBarStyle();\n              }\n            });\n          },\n          {\n            attributes: true,\n            childList: true,\n            characterData: true,\n            subtree: true,\n          },\n        );\n      }\n    });\n    onUnmounted(() => {\n      observerReturn?.stop();\n    });\n    /** calculate bar style end */\n\n    const { name, disabled, readonly } = toRefs(props);\n    provide(\n      RadioGroupInjectionKey,\n      reactive({\n        name,\n        disabled,\n        readonly,\n        value: innerValue,\n        allowUncheck: props.allowUncheck,\n        setValue: updateInnerValue,\n      }),\n    );\n\n    const radioGroupName = usePrefixClass('radio-group');\n    const renderSlot = useTNodeDefault();\n    const renderBlock = (): VNode => {\n      if (props.variant.includes('filled') && !isNil(innerValue.value))\n        return <div style={barStyle.value} class={`${radioGroupName.value}__bg-block`} />;\n    };\n    const renderOptions = (): VNode[] => {\n      return props.options?.map((option: RadioOption) => {\n        let opt = option as RadioOptionObj;\n        if (isNumber(option) || isString(option)) {\n          opt = { value: option, label: option.toString() };\n        }\n        const RadioComponent = props.theme === 'button' ? TRadioButton : TRadio;\n        return (\n          <RadioComponent\n            key={`radio-group-options-${opt.value}-${Math.random()}`}\n            name={props.name}\n            checked={innerValue.value === opt.value}\n            disabled={'disabled' in opt ? opt.disabled : props.disabled}\n            value={opt.value}\n          >\n            {isFunction(opt.label) ? opt.label(h) : opt.label}\n          </RadioComponent>\n        );\n      });\n    };\n\n    const groupClass = computed(() => [\n      `${radioGroupName.value}`,\n      SIZE.value[props.size],\n      {\n        [`${radioGroupName.value}__outline`]: props.variant === 'outline',\n        [`${radioGroupName.value}--filled`]: props.variant.includes('filled'),\n        [`${radioGroupName.value}--primary-filled`]: props.variant === 'primary-filled',\n      },\n    ]);\n\n    return () => (\n      <div ref={radioGroupRef} class={groupClass.value}>\n        {renderSlot('default') || renderOptions()}\n        {renderBlock()}\n      </div>\n    );\n  },\n});\n"],"names":["defineComponent","name","props","setup","_toRefs","toRefs","value","modelValue","_useVModel","useVModel","defaultValue","onChange","_useVModel2","_slicedToArray","innerValue","setInnerValue","radioGroupRef","ref","radioBtnName","usePrefixClass","_useCommonClassName","useCommonClassName","STATUS","SIZE","updateInnerValue","context","isEqual","useKeyboard","checkedClassName","computed","concat","checked","barStyle","width","height","left","top","calcDefaultBarStyle","div","document","createElement","setAttribute","appendChild","cloneNode","body","defaultCheckedRadio","querySelector","offsetWidth","offsetHeight","offsetLeft","offsetTop","_objectSpread","removeChild","calcBarStyle","disableAnimation","arguments","length","undefined","variant","checkedRadio","transitionProperty","observerReturn","watch","_callee","_regeneratorRuntime","wrap","_context","prev","next","nextTick","stop","onMounted","useResizeObserver","throttle","_callee2","_context2","checkedRadioLabel","useMutationObserver","mutations","forEach","mutation","type","attributes","childList","characterData","subtree","onUnmounted","_observerReturn","_toRefs2","disabled","readonly","provide","RadioGroupInjectionKey","reactive","allowUncheck","setValue","radioGroupName","renderSlot","useTNodeDefault","renderBlock","includes","isNil","_createVNode","renderOptions","_props2$options","options","map","option","opt","isNumber","isString","label","toString","RadioComponent","theme","TRadioButton","TRadio","Math","random","_default","isFunction","h","groupClass","size","_defineProperty"],"mappings":"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"}