{"version":3,"file":"row.mjs","sources":["../../../../../../packages/components/row/src/row.ts"],"sourcesContent":["import { defineComponent, computed, h, provide } from 'vue'\r\nimport { buildProps } from '@sgui-plus/utils/props'\r\nimport { useNamespace } from '@sgui-plus/hooks'\r\nimport type { ExtractPropTypes, CSSProperties } from 'vue'\r\n\r\nexport const rowProps = buildProps({\r\n  tag: {\r\n    type: String,\r\n    default: 'div',\r\n  },\r\n  gutter: {\r\n    type: Number,\r\n    default: 0,\r\n  },\r\n  gutterBetween: {\r\n    type: Boolean,\r\n    default: false\r\n  },\r\n  justify: {\r\n    type: String,\r\n    values: ['start', 'center', 'end', 'space-around', 'space-between'],\r\n    default: 'start',\r\n  },\r\n  align: {\r\n    type: String,\r\n    values: ['start', 'center', 'end'],\r\n    default: 'center',\r\n  },\r\n} as const)\r\nexport type RowProps = ExtractPropTypes<typeof rowProps>\r\n\r\nconst Row = defineComponent({\r\n  name: 'SgRow',\r\n  props: rowProps,\r\n\r\n  setup(props, { slots }) {\r\n    const ns = useNamespace('row')\r\n\r\n    const gutter = computed(() => props.gutter)\r\n    provide('SgRow', {\r\n      gutter,\r\n    })\r\n\r\n    const style = computed(() => {\r\n      const styles: CSSProperties = {\r\n        marginLeft: '',\r\n        marginRight: '',\r\n      }\r\n      if (props.gutterBetween && props.gutter) {\r\n        styles.marginLeft = `-${props.gutter / 2}px`\r\n        styles.marginRight = styles.marginLeft\r\n      }\r\n      return styles\r\n    })\r\n\r\n    return () =>\r\n      h(\r\n        props.tag,\r\n        {\r\n          class: [\r\n            ns.b(),\r\n            ns.is(`justify-${props.justify}`, props.justify !== 'start'),\r\n            ns.is(`align-${props.align}`, props.align !== 'start'),\r\n          ],\r\n          style: style.value,\r\n        },\r\n        slots.default?.()\r\n      )\r\n  },\r\n})\r\n\r\nexport default Row\r\nexport type RowInstance = InstanceType<typeof Row>\r\n"],"names":[],"mappings":";;;;;AAGY,MAAC,QAAQ,GAAG,UAAU,CAAC;AACnC,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,CAAC;AACvE,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC;AACtC,IAAI,OAAO,EAAE,QAAQ;AACrB,GAAG;AACH,CAAC,EAAE;AACE,MAAC,GAAG,GAAG,eAAe,CAAC;AAC5B,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,KAAK,EAAE,QAAQ;AACjB,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE;AAC1B,IAAI,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;AACnC,IAAI,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;AAChD,IAAI,OAAO,CAAC,OAAO,EAAE;AACrB,MAAM,MAAM;AACZ,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM;AACjC,MAAM,MAAM,MAAM,GAAG;AACrB,QAAQ,UAAU,EAAE,EAAE;AACtB,QAAQ,WAAW,EAAE,EAAE;AACvB,OAAO,CAAC;AACR,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,MAAM,EAAE;AAC/C,QAAQ,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACrD,QAAQ,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;AAC/C,OAAO;AACP,MAAM,OAAO,MAAM,CAAC;AACpB,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,MAAM;AACjB,MAAM,IAAI,EAAE,CAAC;AACb,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;AAC1B,QAAQ,KAAK,EAAE;AACf,UAAU,EAAE,CAAC,CAAC,EAAE;AAChB,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC;AACtE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC;AAChE,SAAS;AACT,QAAQ,KAAK,EAAE,KAAK,CAAC,KAAK;AAC1B,OAAO,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACjE,KAAK,CAAC;AACN,GAAG;AACH,CAAC;;;;"}