UNPKG

tdesign-vue-next

Version:
1 lines 15.9 kB
{"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, allowUncheck } = toRefs(props);\n provide(\n RadioGroupInjectionKey,\n reactive({\n name,\n disabled,\n readonly,\n value: innerValue,\n 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 [`${radioGroupName.value}--vertical`]: props.direction === 'vertical',\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","allowUncheck","provide","RadioGroupInjectionKey","reactive","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","direction"],"mappings":"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"}