tdesign-vue-next
Version:
TDesign Component for vue-next
1 lines • 15.5 kB
Source Map (JSON)
{"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 { isString } from 'lodash-es';\nimport { isNumber } from 'lodash-es';\nimport { isNil } from 'lodash-es';\nimport { throttle } from 'lodash-es';\n\nimport props from './radio-group-props';\nimport { RadioOptionObj, RadioOption } from './type';\nimport TRadio from './radio';\nimport TRadioButton from './radio-button';\nimport { RadioGroupInjectionKey } from './consts';\nimport { usePrefixClass, useCommonClassName } from '../hooks/useConfig';\nimport useVModel from '../hooks/useVModel';\nimport { useTNodeDefault } from '../hooks/tnode';\nimport { useKeyboard } from './hooks';\nimport { isFunction } from 'lodash-es';\nimport { useMutationObserver } from '../watermark/hooks';\nimport type { UseMutationObserverReturn } from '../watermark/hooks';\nimport useResizeObserver from '../hooks/useResizeObserver';\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 // 键盘操作\n useKeyboard(radioGroupRef, setInnerValue);\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: setInnerValue,\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","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","_callee$","_context","prev","next","nextTick","stop","onMounted","useResizeObserver","throttle","_callee2","_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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"}