{"version":3,"file":"row.mjs","sources":["../../../../../../packages/components/row/src/row.tsx"],"sourcesContent":["import { defineComponent, computed, provide } from 'vue'\nimport { buildProps } from '@element-plus/utils'\nimport { useNamespace } from '@element-plus/hooks'\nimport { rowContextKey } from '@element-plus/tokens'\nimport type { ExtractPropTypes, CSSProperties } 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;;;;;"}