UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 3.83 kB
{"version":3,"file":"row.mjs","sources":["../../../../../../packages/components/row/src/row.tsx"],"sourcesContent":["import { computed, defineComponent, provide } from 'vue'\nimport { buildProps } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { rowContextKey } from '@element-plus/tokens'\nimport type { CSSProperties, ExtractPropTypes } from 'vue'\n\nexport const rowProps = buildProps({\n tag: {\n type: String,\n default: 'div',\n },\n gutter: {\n type: Number,\n default: 0,\n },\n justify: {\n type: String,\n values: [\n 'start',\n 'center',\n 'end',\n 'space-around',\n 'space-between',\n 'space-evenly',\n ],\n default: 'start',\n },\n align: {\n type: String,\n values: ['top', 'middle', 'bottom'],\n default: 'top',\n },\n} as const)\nexport type RowProps = ExtractPropTypes<typeof rowProps>\n\nconst Row = defineComponent({\n name: 'ElRow',\n props: rowProps,\n\n setup(props, { slots }) {\n const ns = useNamespace('row')\n\n const gutter = computed(() => props.gutter)\n provide(rowContextKey, {\n gutter,\n })\n\n const style = computed(() => {\n const styles: CSSProperties = {\n marginLeft: '',\n marginRight: '',\n }\n if (props.gutter) {\n styles.marginLeft = `-${props.gutter / 2}px`\n styles.marginRight = styles.marginLeft\n }\n return styles\n })\n\n return () => (\n <props.tag\n class={[\n ns.b(),\n ns.is(`justify-${props.justify}`, props.justify !== 'start'),\n ns.is(`align-${props.align}`, props.align !== 'top'),\n ]}\n style={style.value}\n >\n {slots.default?.()}\n </props.tag>\n )\n },\n})\n\nexport default Row\nexport type RowInstance = InstanceType<typeof Row>\n"],"names":["rowProps","buildProps","tag","type","String","default","gutter","Number","justify","values","align","Row","defineComponent","name","props","setup","slots","ns","provide","rowContextKey","computed","marginLeft","marginRight","styles","style"],"mappings":";;;;;;;;AAMaA,MAAAA,QAAQ,GAAGC,UAAU,CAAC;AACjCC,EAAAA,GAAG,EAAE;AACHC,IAAAA,IAAI,EAAEC,MADH;AAEHC,IAAAA,OAAO,EAAE,KAAA;AAFN,GAD4B;AAKjCC,EAAAA,MAAM,EAAE;AACNH,IAAAA,IAAI,EAAEI,MADA;AAENF,IAAAA,OAAO,EAAE,CAAA;AAFH,GALyB;AASjCG,EAAAA,OAAO,EAAE;AACPL,IAAAA,IAAI,EAAEC,MADC;AAEPK,IAAAA,MAAM,EAAE,CACN,OADM,EAEN,QAFM,EAGN,KAHM,EAIN,cAJM,EAKN,eALM,EAMN,cANM,CAFD;AAUPJ,IAAAA,OAAO,EAAE,OAAA;AAVF,GATwB;AAqBjCK,EAAAA,KAAK,EAAE;AACLP,IAAAA,IAAI,EAAEC,MADD;AAELK,IAAAA,MAAM,EAAE,CAAC,KAAD,EAAQ,QAAR,EAAkB,QAAlB,CAFH;AAGLJ,IAAAA,OAAO,EAAE,KAAA;AAHJ,GAAA;AArB0B,CAAD,EAA3B;AA6BDM,MAAAA,GAAG,GAAGC,eAAe,CAAC;AAC1BC,EAAAA,IAAI,EAAE,OADoB;AAE1BC,EAAAA,KAAK,EAAEd,QAFmB;;AAI1Be,IAAAA,KAAMD;AAASE,GAAAA,EAAAA;AAAF,IAAW,MAAA,EAAA,GAAA,YAAA,CAAA,KAAA,CAAA,CAAA;AACtB,IAAA,MAAMC,MAAiB,GAAA,QAAA,CAAC,MAAxB,KAAA,CAAA,MAAA,CAAA,CAAA;AAEA,IAAMX,OAAAA,CAAAA,aAAiB,EAAA;AACvBY,MAAAA,MAAQC;AACNb,KAAAA,CAAAA,CAAAA;AADqB,IAAA,MAAvB,KAAA,GAAA,QAAA,CAAA,MAAA;AAIA,MAAA,MAAW,MAAGc,GAAQ;AACpB,QAAA,UAA2B,EAAG,EAAA;AAC5BC,QAAAA,aAD4B,EAAA;AAE5BC,OAAAA,CAAAA;AAF4B,MAA9B,IAAA,KAAA,CAAA,MAAA,EAAA;;AAIA,QAAIR,MAAAA,CAAK,WAAS,GAAA,MAAA,CAAA,UAAA,CAAA;AAChBS,OAAAA;AACAA,MAAAA,aAAOD,CAAAA;AACR,KAAA,CAAA,CAAA;;AACD,MAAA,OAAOC,EAAP,CAAA,EAAA,CAAA,CAAA,EAAA,EAAA,EAAA,CAAA,EAAA,CAAA,CAAA,QAAA,EAAA,KAAA,CAAA,OAAA,CAAA,CAAA,EAAA,KAAA,CAAA,OAAA,KAAA,OAAA,CAAA,EAAA,EAAA,CAAA,EAAA,CAAA,CAAA,MAAA,EAAA,KAAA,CAAA,KAAA,CAAA,CAAA,EAAA,KAAA,CAAA,KAAA,KAAA,KAAA,CAAA,CAAA;AACD,MAVD,OAAA,EAAA,KAAA,CAAA,KAAA;AAYA,KAAO,EAAA;AAAA,MAAA,OAAA,EAEI,MACL;AAHC,QAAA,IAAA,EAAA,CAOIC;AAPJ,QAAA,OAAA,CAAA,CAAA,EAAA,GAAA,KAAA,CAAA,OAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,OASFR;AATE,KAAP,CAAA,CAAA;AAYD,GAAA;;;;;"}