{"version":3,"file":"col.mjs","sources":["../../../../../../packages/components/col/src/col.vue"],"sourcesContent":["<template>\n  <component\n    :is=\"tag\"\n    :class=\"[ns.b(), classes]\"\n    :style=\"style\"\n    data-test-name=\"col\"\n    data-test-variant=\"\"\n    data-test-state=\"\"\n  >\n    <slot />\n  </component>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, inject } from 'vue'\nimport { isNumber, isObject, isString } from '@bigin/utils'\nimport { useNamespace } from '@bigin/hooks'\nimport { rowContextKey } from '@bigin/tokens'\nimport { colProps } from './col'\nimport type { CSSProperties } from 'vue'\n\ndefineOptions({\n  name: 'BCol',\n})\n\nconst props = defineProps(colProps)\n\nconst { gutter } = inject(rowContextKey, { gutter: computed(() => 6) })\nconst ns = useNamespace('col')\n\nconst style = computed(() => {\n  const styles: CSSProperties = {}\n  if (gutter.value) {\n    styles.paddingLeft = styles.paddingRight = `${gutter.value * 2}px`\n  }\n  return styles\n})\n\nconst classes = computed(() => {\n  const classes: string[] = []\n  const pos = ['span', 'offset', 'order'] as const\n\n  pos.forEach((prop) => {\n    const size = props[prop]\n\n    if (prop === 'span') {\n      if (props[prop] === 0) classes.push(ns.b())\n      else classes.push(ns.b(`${props[prop]}`))\n    } else if (size > 0) classes.push(ns.b(`${prop}-${props[prop]}`))\n  })\n\n  const sizes = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'] as const\n  sizes.forEach((size) => {\n    if (isNumber(props[size]) || isString(props[size])) {\n      if (+props[size] === 0) classes.push(ns.b(`${size}`))\n      else classes.push(ns.b(`${size}-${props[size]}`))\n    } else if (isObject(props[size])) {\n      Object.entries(props[size]).forEach(([prop, sizeProp]) => {\n        classes.push(\n          prop !== 'span'\n            ? ns.b(`${size}-${prop}-${sizeProp}`)\n            : ns.b(`${size}-${sizeProp}`)\n        )\n      })\n    }\n  })\n\n  // this is for the fix\n  if (gutter.value) {\n    classes.push(ns.is('guttered'))\n  }\n  return classes\n})\n</script>\n"],"names":["classes"],"mappings":";;;;;;;;;;;mCAqBc,CAAA;AAAA,EACZ,IAAM,EAAA,MAAA;AACR,CAAA,CAAA,CAAA;;;;;;AAIM,IAAA,MAAA,EAAE,MAAO,EAAA,GAAI,MAAO,CAAA,aAAA,EAAe,EAAE,MAAA,EAAQ,QAAS,CAAA,MAAM,CAAC,CAAA,EAAG,CAAA,CAAA;AAChE,IAAA,MAAA,EAAA,GAAK,aAAa,KAAK,CAAA,CAAA;AAEvB,IAAA,MAAA,KAAA,GAAQ,SAAS,MAAM;AAC3B,MAAA,MAAM,SAAwB,EAAC,CAAA;AAC/B,MAAA,IAAI,OAAO,KAAO,EAAA;AAChB,QAAA,MAAA,CAAO,WAAc,GAAA,MAAA,CAAO,YAAe,GAAA,CAAA,EAAG,OAAO,KAAQ,GAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,OAC/D;AACO,MAAA,OAAA,MAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAEK,IAAA,MAAA,OAAA,GAAU,SAAS,MAAM;AAC7B,MAAA,MAAMA,WAAoB,EAAC,CAAA;AAC3B,MAAA,MAAM,GAAM,GAAA,CAAC,MAAQ,EAAA,QAAA,EAAU,OAAO,CAAA,CAAA;AAElC,MAAA,GAAA,CAAA,OAAA,CAAQ,CAAC,IAAS,KAAA;AACpB,QAAA,MAAM,OAAO,KAAM,CAAA,IAAA,CAAA,CAAA;AAEnB,QAAA,IAAI,SAAS,MAAQ,EAAA;AACnB,UAAA,IAAI,MAAM,IAAU,CAAA,KAAA,CAAA;AAAW,YAAA,QAAA,CAAA,IAAA,CAAK,EAAG,CAAA,CAAA,EAAG,CAAA,CAAA;AAAA;AACrC,YAAA,QAAA,CAAQ,KAAK,EAAG,CAAA,CAAA,CAAE,CAAG,EAAA,KAAA,CAAM,OAAO,CAAC,CAAA,CAAA;AAAA,mBAC/B,IAAO,GAAA,CAAA;AAAG,UAAA,QAAA,CAAQ,KAAK,EAAG,CAAA,CAAA,CAAE,GAAG,IAAQ,CAAA,CAAA,EAAA,KAAA,CAAM,OAAO,CAAC,CAAA,CAAA;AAAA,OACjE,CAAA,CAAA;AAED,MAAA,MAAM,QAAQ,CAAC,IAAA,EAAM,MAAM,IAAM,EAAA,IAAA,EAAM,MAAM,KAAK,CAAA,CAAA;AAC5C,MAAA,KAAA,CAAA,OAAA,CAAQ,CAAC,IAAS,KAAA;AACtB,QAAA,IAAI,SAAS,KAAM,CAAA,IAAA,CAAK,KAAK,QAAS,CAAA,KAAA,CAAM,KAAK,CAAG,EAAA;AAC9C,UAAA,IAAA,CAAC,MAAM,IAAU,CAAA,KAAA,CAAA;AAAG,YAAA,QAAA,CAAQ,IAAK,CAAA,EAAA,CAAG,CAAE,CAAA,CAAA,EAAG,MAAM,CAAC,CAAA,CAAA;AAAA;AAC/C,YAAA,QAAA,CAAQ,KAAK,EAAG,CAAA,CAAA,CAAE,GAAG,IAAQ,CAAA,CAAA,EAAA,KAAA,CAAM,OAAO,CAAC,CAAA,CAAA;AAAA,SACvC,MAAA,IAAA,QAAA,CAAS,KAAM,CAAA,IAAA,CAAK,CAAG,EAAA;AACzB,UAAA,MAAA,CAAA,OAAA,CAAQ,MAAM,IAAK,CAAA,CAAA,CAAE,QAAQ,CAAC,CAAC,IAAM,EAAA,QAAQ,CAAM,KAAA;AAChD,YAAA,QAAA,CAAA,IAAA;AAAA,cACN,IAAS,KAAA,MAAA,GACL,EAAG,CAAA,CAAA,CAAE,CAAG,EAAA,IAAA,CAAA,CAAA,EAAQ,IAAQ,CAAA,CAAA,EAAA,QAAA,CAAA,CAAU,CAClC,GAAA,EAAA,CAAG,CAAE,CAAA,CAAA,EAAG,QAAQ,QAAU,CAAA,CAAA,CAAA;AAAA,aAChC,CAAA;AAAA,WACD,CAAA,CAAA;AAAA,SACH;AAAA,OACD,CAAA,CAAA;AAGD,MAAA,IAAI,OAAO,KAAO,EAAA;AAChB,QAAA,QAAA,CAAQ,IAAK,CAAA,EAAA,CAAG,EAAG,CAAA,UAAU,CAAC,CAAA,CAAA;AAAA,OAChC;AACOA,MAAAA,OAAAA,QAAAA,CAAAA;AAAAA,KACR,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;"}