UNPKG

tdesign-vue-next

Version:
1 lines 4.45 kB
{"version":3,"file":"collapse.mjs","sources":["../../../components/collapse/collapse.tsx"],"sourcesContent":["import { defineComponent, toRefs, provide, computed } from 'vue';\nimport props from './props';\nimport { CollapseValue, TdCollapseProps, CollapsePanelValue } from './type';\nimport { useVModel, useTNodeJSX, usePrefixClass } from '@tdesign/shared-hooks';\n\nexport default defineComponent({\n name: 'TCollapse',\n props,\n setup(props: TdCollapseProps) {\n const componentName = usePrefixClass('collapse');\n const borderlessClass = usePrefixClass('-border-less');\n const renderTNodeJSX = useTNodeJSX();\n const { value, expandMutex, borderless, modelValue } = toRefs(props);\n const [collapseValue, setCollapseValue] = useVModel(value, modelValue, props.defaultValue, props.onChange);\n const updateCollapseValue = (value: CollapsePanelValue) => {\n let newValue: CollapseValue = [].concat(collapseValue.value || []);\n const index = newValue.indexOf(value);\n if (index >= 0) {\n newValue.splice(index, 1);\n } else if (expandMutex.value) {\n newValue = [value];\n } else {\n newValue.push(value);\n }\n setCollapseValue(newValue);\n };\n const classes = computed(() => {\n return [\n componentName.value,\n {\n [borderlessClass.value]: !!borderless.value,\n },\n ];\n });\n const getUniqId = (() => {\n let index = 0;\n return () => index++;\n })();\n provide('collapseValue', collapseValue);\n provide('updateCollapseValue', updateCollapseValue);\n provide('collapseProps', toRefs(props));\n provide('getUniqId', getUniqId);\n // TODO 这里是有问题的,这是无法响应式,expandIcon 的值变化了,不会重新渲染\n provide('renderParentTNode', renderTNodeJSX);\n return () => {\n const nodes = renderTNodeJSX('default');\n return <div class={classes.value}>{nodes}</div>;\n };\n },\n});\n"],"names":["defineComponent","name","props","setup","componentName","usePrefixClass","borderlessClass","renderTNodeJSX","useTNodeJSX","_toRefs","toRefs","value","expandMutex","borderless","modelValue","_useVModel","useVModel","defaultValue","onChange","_useVModel2","_slicedToArray","collapseValue","setCollapseValue","updateCollapseValue","newValue","concat","index","indexOf","splice","push","classes","computed","_defineProperty","getUniqId","provide","nodes","_createVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,gBAAeA,eAAgB,CAAA;AAC7BC,EAAAA,IAAM,EAAA,WAAA;AACNC,EAAAA,KAAA,EAAAA,KAAA;AACAC,EAAAA,OAAAA,SAAAA,MAAMD,MAAwB,EAAA;AACtB,IAAA,IAAAE,aAAA,GAAgBC,eAAe,UAAU,CAAA,CAAA;AACzC,IAAA,IAAAC,eAAA,GAAkBD,eAAe,cAAc,CAAA,CAAA;AACrD,IAAA,IAAME,iBAAiBC,WAAY,EAAA,CAAA;AACnC,IAAA,IAAAC,OAAA,GAAuDC,OAAOR,MAAK,CAAA;MAA3DS,KAAO,GAAAF,OAAA,CAAPE,KAAO;MAAAC,WAAA,GAAAH,OAAA,CAAAG,WAAA;MAAaC,qBAAAA;MAAYC,UAAW,GAAAL,OAAA,CAAXK,UAAW,CAAA;AAC7C,IAAA,IAAAC,UAAA,GAAoCC,SAAA,CAAUL,OAAOG,UAAYZ,EAAAA,MAAAA,CAAMe,YAAcf,EAAAA,MAAAA,CAAMgB,QAAQ,CAAA;MAAAC,WAAA,GAAAC,cAAA,CAAAL,UAAA,EAAA,CAAA,CAAA;AAAlGM,MAAAA,aAAe,GAAAF,WAAA,CAAA,CAAA,CAAA;AAAAG,MAAAA,gBAAgB,GAAAH,WAAA,CAAA,CAAA,CAAA,CAAA;AAChC,IAAA,IAAAI,mBAAA,GAAsB,SAAtBA,mBAAAA,CAAuBZ,MAA8B,EAAA;MACzD,IAAIa,WAA0B,EAAC,CAAEC,OAAOJ,aAAc,CAAAV,KAAA,IAAS,EAAE,CAAA,CAAA;AAC3D,MAAA,IAAAe,KAAA,GAAQF,QAAS,CAAAG,OAAA,CAAQhB,MAAK,CAAA,CAAA;MACpC,IAAIe,SAAS,CAAG,EAAA;AACLF,QAAAA,QAAA,CAAAI,MAAA,CAAOF,OAAO,CAAC,CAAA,CAAA;AAC1B,OAAA,MAAA,IAAWd,YAAYD,KAAO,EAAA;QAC5Ba,QAAA,GAAW,CAACb,MAAK,CAAA,CAAA;AACnB,OAAO,MAAA;AACLa,QAAAA,QAAA,CAASK,KAAKlB,MAAK,CAAA,CAAA;AACrB,OAAA;MACAW,gBAAA,CAAiBE,QAAQ,CAAA,CAAA;KAC3B,CAAA;AACM,IAAA,IAAAM,OAAA,GAAUC,SAAS,YAAM;AACtB,MAAA,OAAA,CACL3B,aAAc,CAAAO,KAAA,EAAAqB,eAAA,CAEX1B,EAAAA,EAAAA,eAAA,CAAgBK,KAAQ,EAAA,CAAC,CAACE,UAAW,CAAAF,KAAA,CAE1C,CAAA,CAAA;AACF,KAAC,CAAA,CAAA;IACD,IAAMsB,YAAa,YAAM;MACvB,IAAIP,KAAQ,GAAA,CAAA,CAAA;MACZ,OAAO,YAAA;AAAA,QAAA,OAAMA,KAAA,EAAA,CAAA;AAAA,OAAA,CAAA;AACf,KAAG,EAAA,CAAA;AACHQ,IAAAA,OAAA,CAAQ,iBAAiBb,aAAa,CAAA,CAAA;AACtCa,IAAAA,OAAA,CAAQ,uBAAuBX,mBAAmB,CAAA,CAAA;AAC1CW,IAAAA,OAAA,CAAA,eAAA,EAAiBxB,MAAOR,CAAAA,MAAK,CAAC,CAAA,CAAA;AACtCgC,IAAAA,OAAA,CAAQ,aAAaD,SAAS,CAAA,CAAA;AAE9BC,IAAAA,OAAA,CAAQ,qBAAqB3B,cAAc,CAAA,CAAA;AAC3C,IAAA,OAAO,YAAM;AACL,MAAA,IAAA4B,KAAA,GAAQ5B,eAAe,SAAS,CAAA,CAAA;AACtC,MAAA,OAAA6B,WAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAmBN,OAAQ,CAAAnB,KAAAA;AAAA,OAAA,EAAA,CAAQwB;KACrC,CAAA;AACF,GAAA;AACF,CAAC,CAAA;;;;"}