{"version":3,"file":"border.mjs","names":["computed","isRef","getCurrentInstanceName","propsFactory","makeBorderProps","border","Boolean","Number","String","useBorder","props","name","borderClasses","value","classes","push","split"],"sources":["../../src/composables/border.ts"],"sourcesContent":["// Utilities\nimport { computed, isRef } from 'vue'\nimport { getCurrentInstanceName, propsFactory } from '@/util'\n\n// Types\nexport interface BorderProps {\n  border?: boolean | number | string\n}\n\n// Composables\nexport const makeBorderProps = propsFactory({\n  border: [Boolean, Number, String],\n}, 'border')\n\nexport function useBorder (\n  props: BorderProps,\n  name = getCurrentInstanceName(),\n) {\n  const borderClasses = computed(() => {\n    const border = isRef(props) ? props.value : props.border\n    const classes: string[] = []\n\n    if (border === true || border === '') {\n      classes.push(`${name}--border`)\n    } else if (\n      typeof border === 'string' ||\n      border === 0\n    ) {\n      for (const value of String(border).split(' ')) {\n        classes.push(`border-${value}`)\n      }\n    }\n\n    return classes\n  })\n\n  return { borderClasses }\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC5BC,sBAAsB,EAAEC,YAAY,6BAE7C;AAKA;AACA,OAAO,MAAMC,eAAe,GAAGD,YAAY,CAAC;EAC1CE,MAAM,EAAE,CAACC,OAAO,EAAEC,MAAM,EAAEC,MAAM;AAClC,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,SAASC,SAAS,CACvBC,KAAkB,EAElB;EAAA,IADAC,IAAI,uEAAGT,sBAAsB,EAAE;EAE/B,MAAMU,aAAa,GAAGZ,QAAQ,CAAC,MAAM;IACnC,MAAMK,MAAM,GAAGJ,KAAK,CAACS,KAAK,CAAC,GAAGA,KAAK,CAACG,KAAK,GAAGH,KAAK,CAACL,MAAM;IACxD,MAAMS,OAAiB,GAAG,EAAE;IAE5B,IAAIT,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,EAAE,EAAE;MACpCS,OAAO,CAACC,IAAI,CAAE,GAAEJ,IAAK,UAAS,CAAC;IACjC,CAAC,MAAM,IACL,OAAON,MAAM,KAAK,QAAQ,IAC1BA,MAAM,KAAK,CAAC,EACZ;MACA,KAAK,MAAMQ,KAAK,IAAIL,MAAM,CAACH,MAAM,CAAC,CAACW,KAAK,CAAC,GAAG,CAAC,EAAE;QAC7CF,OAAO,CAACC,IAAI,CAAE,UAASF,KAAM,EAAC,CAAC;MACjC;IACF;IAEA,OAAOC,OAAO;EAChB,CAAC,CAAC;EAEF,OAAO;IAAEF;EAAc,CAAC;AAC1B"}