UNPKG

tdesign-mobile-vue

Version:
1 lines 4.17 kB
{"version":3,"file":"side-bar.mjs","sources":["../../src/side-bar/side-bar.tsx"],"sourcesContent":["import { defineComponent, ref, Ref, toRefs, ComponentInternalInstance, provide } from 'vue';\nimport config from '../config';\nimport props from './props';\nimport { TdSideBarProps } from './type';\nimport useVModel from '../hooks/useVModel';\nimport { useTNodeJSX } from '../hooks/tnode';\nimport { usePrefixClass } from '../hooks/useClass';\n\nconst { prefix } = config;\n\nexport default defineComponent({\n name: `${prefix}-side-bar`,\n props,\n emits: ['update:value', 'update:modelValue', 'change'],\n setup(props, context) {\n const renderTNodeJSX = useTNodeJSX();\n const sideBarClass = usePrefixClass('side-bar');\n const { value, modelValue } = toRefs(props);\n const [currentValue, setCurrentValue] = useVModel(value, modelValue, props.defaultValue, props.onChange);\n\n const children: Ref<ComponentInternalInstance[]> = ref([]);\n\n const relation = (child: ComponentInternalInstance) => {\n child && children.value.push(child);\n };\n\n const removeRelation = (child: ComponentInternalInstance) => {\n children.value = children.value.filter((item) => item !== child);\n };\n\n const onClickItem = (cur: string | number, label: string) => {\n setCurrentValue(cur);\n props.onClick?.(cur, label);\n };\n\n provide('sideBarProvide', {\n ...props,\n children,\n currentValue,\n relation,\n removeRelation,\n onClickItem,\n });\n\n return () => (\n <div class={`${sideBarClass.value}`}>\n {renderTNodeJSX('default')}\n <div class={`${sideBarClass.value}__padding`}></div>\n </div>\n );\n },\n});\n"],"names":["prefix","config","defineComponent","name","props","emits","setup","context","renderTNodeJSX","useTNodeJSX","sideBarClass","usePrefixClass","_toRefs","toRefs","value","modelValue","_useVModel","useVModel","defaultValue","onChange","_useVModel2","_slicedToArray","currentValue","setCurrentValue","children","ref","relation","child","push","removeRelation","filter","item","onClickItem","cur","label","_props2$onClick","onClick","provide","_objectSpread","_createVNode","concat"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAQA,SAAWC,MAAA,CAAXD;AAER,eAAeE,eAAgB,CAAA;AAC7BC,EAAAA,gBAASH,MAAA,EAAA,WAAA,CAAA;AACTI,EAAAA,KAAA,EAAAA,KAAA;AACAC,EAAAA,KAAO,EAAA,CAAC,cAAgB,EAAA,mBAAA,EAAqB,QAAQ,CAAA;AACrDC,EAAAA,KAAA,WAAAA,KAAAA,CAAMF,QAAOG,OAAS,EAAA;AACpB,IAAA,IAAMC,iBAAiBC,WAAY,EAAA,CAAA;AAC7B,IAAA,IAAAC,YAAA,GAAeC,eAAe,UAAU,CAAA,CAAA;AAC9C,IAAA,IAAAC,OAAA,GAA8BC,OAAOT,MAAK,CAAA;MAAlCU,KAAA,GAAAF,OAAA,CAAAE,KAAA;MAAOC,UAAW,GAAAH,OAAA,CAAXG,UAAW,CAAA;AACpB,IAAA,IAAAC,UAAA,GAAkCC,SAAA,CAAUH,OAAOC,UAAYX,EAAAA,MAAAA,CAAMc,YAAcd,EAAAA,MAAAA,CAAMe,QAAQ,CAAA;MAAAC,WAAA,GAAAC,cAAA,CAAAL,UAAA,EAAA,CAAA,CAAA;AAAhGM,MAAAA,YAAc,GAAAF,WAAA,CAAA,CAAA,CAAA;AAAAG,MAAAA,eAAe,GAAAH,WAAA,CAAA,CAAA,CAAA,CAAA;AAE9B,IAAA,IAAAI,QAAA,GAA6CC,GAAI,CAAA,EAAE,CAAA,CAAA;AAEnD,IAAA,IAAAC,QAAA,GAAW,SAAXA,QAAAA,CAAYC,KAAqC,EAAA;MAC5CA,KAAA,IAAAH,QAAA,CAASV,KAAM,CAAAc,IAAA,CAAKD,KAAK,CAAA,CAAA;KACpC,CAAA;AAEM,IAAA,IAAAE,cAAA,GAAiB,SAAjBA,cAAAA,CAAkBF,KAAqC,EAAA;MAC3DH,QAAA,CAASV,QAAQU,QAAS,CAAAV,KAAA,CAAMgB,OAAO,UAACC,IAAA,EAAA;QAAA,OAASA,SAASJ,KAAK,CAAA;OAAA,CAAA,CAAA;KACjE,CAAA;IAEM,IAAAK,WAAA,GAAc,SAAdA,WAAAA,CAAeC,GAAA,EAAsBC,KAAkB,EAAA;AAAA,MAAA,IAAAC,eAAA,CAAA;MAC3DZ,eAAA,CAAgBU,GAAG,CAAA,CAAA;AACnB7B,MAAAA,CAAAA,eAAAA,GAAAA,MAAAA,CAAMgC,OAAU,cAAAD,eAAA,KAAA,KAAA,CAAA,IAAhB/B,eAAAA,CAAAA,IAAAA,CAAAA,MAAAA,EAAgB6B,GAAA,EAAKC,KAAK,CAAA,CAAA;KAC5B,CAAA;AAEAG,IAAAA,OAAA,CAAQ,gBAAkB,EAAAC,aAAA,CAAAA,aAAA,KACrBlC,MAAAA,CAAAA,EAAAA,EAAAA,EAAAA;AACHoB,MAAAA,QAAA,EAAAA,QAAA;AACAF,MAAAA,YAAA,EAAAA,YAAA;AACAI,MAAAA,QAAA,EAAAA,QAAA;AACAG,MAAAA,cAAA,EAAAA,cAAA;AACAG,MAAAA,WAAA,EAAAA,WAAAA;AAAA,KAAA,CACD,CAAA,CAAA;IAED,OAAO,YAAA;AAAA,MAAA,OAAAO,WAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,EAAA,CAAAC,MAAA,CACU9B,YAAa,CAAAI,KAAA,CAAA;AAAA,OAAA,EAAA,CACzBN,eAAe,SAAS,CAAA,EAAA+B,WAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,EAAA,CAAAC,MAAA,CACV9B,aAAaI,KAAkB,EAAA,WAAA,CAAA;AAAA,OAAA,EAAA,IAAA,CAAA,CAAA,CAAA,CAAA;KAF/C,CAAA;AAKL,GAAA;AACF,CAAC,CAAA;;;;"}