{"version":3,"file":"col.mjs","sources":["../../../../../../packages/components/col/src/col.ts"],"sourcesContent":["import { defineComponent, computed, h } from 'vue'\nimport { useNamespace } from '@hongluan-ui/hooks'\n\nimport type { PropType } from 'vue'\n\ntype SizeObject = {\n  span: number\n  offset: number\n}\nconst Col = defineComponent({\n  name: 'Col',\n  props: {\n    /**\n     * @description custom element tag\n     */\n    tag: {\n      type: String,\n      default: 'div',\n    },\n    /**\n     * @description number of column the grid spans\n     */\n    span: {\n      type: [String, Number],\n      default: '',\n    },\n    /**\n     * @description number of spacing on the left side of the grid\n     */\n    offset: {\n      type: [String, Number],\n      default: '',\n    },\n    sm: {\n      type: [Number, Object] as PropType<number | SizeObject>,\n      default: () => ({} as SizeObject),\n    },\n    md: {\n      type: [Number, Object] as PropType<number | SizeObject>,\n      default: () => ({} as SizeObject),\n    },\n    lg: {\n      type: [Number, Object] as PropType<number | SizeObject>,\n      default: () => ({} as SizeObject),\n    },\n    xl: {\n      type: [Number, Object] as PropType<number | SizeObject>,\n      default: () => ({} as SizeObject),\n    },\n  },\n  setup(props: Record<string, any>, { slots }) {\n    const { namespace } = useNamespace('col')\n\n    const style = computed(() => {\n      const result = {}\n      return result\n    })\n    const classList = computed(() => {\n      const ret: string[] = []\n      const pos = ['span', 'offset'] as const\n      pos.forEach(prop => {\n        const size = props[prop]\n        if (typeof size === 'number') {\n          if(prop === 'span') ret.push(`col-${props[prop]}`)\n          else if(size > 0) ret.push(`${prop}-${props[prop]}`)\n        } else {\n          ret.push(String(props[prop]))\n        }\n      })\n      const sizes = ['sm', 'md', 'lg', 'xl', 'xxl'] as const\n      sizes.forEach(size => {\n        if (typeof props[size] === 'number') {\n          ret.push(`${size}:col-${props[size]}`)\n        } else if (typeof props[size] === 'object') {\n          const sizeProps = props[size]\n          Object.keys(sizeProps).forEach(prop => {\n            ret.push(\n              prop !== 'span' ? `${size}:${prop}-${sizeProps[prop]}` : `${size}:col-${sizeProps[prop]}`,\n            )\n          })\n        }\n      })\n      return ret\n    })\n\n    return () => h(\n      props.tag,\n      {\n        class: [classList.value, namespace.value],\n        style: style.value,\n      },\n      slots.default?.(),\n    )\n  },\n})\n\nexport default Col\nexport type ColInstance = InstanceType<typeof Col>\n"],"names":[],"mappings":";;;;AAEK,MAAC,GAAG,GAAG,eAAe,CAAC;AAC5B,EAAE,IAAI,EAAE,KAAK;AACb,EAAE,KAAK,EAAE;AACT,IAAI,GAAG,EAAE;AACT,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,KAAK;AACpB,KAAK;AACL,IAAI,IAAI,EAAE;AACV,MAAM,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5B,MAAM,OAAO,EAAE,EAAE;AACjB,KAAK;AACL,IAAI,MAAM,EAAE;AACZ,MAAM,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5B,MAAM,OAAO,EAAE,EAAE;AACjB,KAAK;AACL,IAAI,EAAE,EAAE;AACR,MAAM,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5B,MAAM,OAAO,EAAE,OAAO,EAAE,CAAC;AACzB,KAAK;AACL,IAAI,EAAE,EAAE;AACR,MAAM,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5B,MAAM,OAAO,EAAE,OAAO,EAAE,CAAC;AACzB,KAAK;AACL,IAAI,EAAE,EAAE;AACR,MAAM,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5B,MAAM,OAAO,EAAE,OAAO,EAAE,CAAC;AACzB,KAAK;AACL,IAAI,EAAE,EAAE;AACR,MAAM,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC5B,MAAM,OAAO,EAAE,OAAO,EAAE,CAAC;AACzB,KAAK;AACL,GAAG;AACH,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE;AAC1B,IAAI,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;AAC9C,IAAI,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM;AACjC,MAAM,MAAM,MAAM,GAAG,EAAE,CAAC;AACxB,MAAM,OAAO,MAAM,CAAC;AACpB,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM;AACrC,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC;AACrB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACrC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;AAC5B,QAAQ,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;AACjC,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AACtC,UAAU,IAAI,IAAI,KAAK,MAAM;AAC7B,YAAY,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,eAAe,IAAI,IAAI,GAAG,CAAC;AAC3B,YAAY,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,SAAS,MAAM;AACf,UAAU,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACxC,SAAS;AACT,OAAO,CAAC,CAAC;AACT,MAAM,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACpD,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;AAC9B,QAAQ,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE;AAC7C,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,SAAS,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE;AACpD,UAAU,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;AACxC,UAAU,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;AACnD,YAAY,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAChH,WAAW,CAAC,CAAC;AACb,SAAS;AACT,OAAO,CAAC,CAAC;AACT,MAAM,OAAO,GAAG,CAAC;AACjB,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,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC;AACjD,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;;;;"}