{"version":3,"file":"VDivider.mjs","names":["makeThemeProps","provideTheme","useTextColor","computed","toRef","convertToUnit","genericComponent","useRender","VDivider","name","props","color","String","inset","Boolean","length","Number","thickness","vertical","setup","attrs","themeClasses","textColorClasses","textColorStyles","dividerStyles","styles","value","role","undefined"],"sources":["../../../src/components/VDivider/VDivider.tsx"],"sourcesContent":["// Styles\nimport './VDivider.sass'\n\n// Composables\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, genericComponent, useRender } from '@/util'\n\ntype DividerKey = 'borderRightWidth' | 'borderTopWidth' | 'maxHeight' | 'maxWidth'\ntype DividerStyles = Partial<Record<DividerKey, string>>\n\nexport const VDivider = genericComponent()({\n  name: 'VDivider',\n\n  props: {\n    color: String,\n    inset: Boolean,\n    length: [Number, String],\n    thickness: [Number, String],\n    vertical: Boolean,\n\n    ...makeThemeProps(),\n  },\n\n  setup (props, { attrs }) {\n    const { themeClasses } = provideTheme(props)\n    const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n    const dividerStyles = computed(() => {\n      const styles: DividerStyles = {}\n\n      if (props.length) {\n        styles[props.vertical ? 'maxHeight' : 'maxWidth'] = convertToUnit(props.length)\n      }\n\n      if (props.thickness) {\n        styles[props.vertical ? 'borderRightWidth' : 'borderTopWidth'] = convertToUnit(props.thickness)\n      }\n\n      return styles\n    })\n\n    useRender(() => (\n      <hr\n        class={[\n          {\n            'v-divider': true,\n            'v-divider--inset': props.inset,\n            'v-divider--vertical': props.vertical,\n          },\n          themeClasses.value,\n          textColorClasses.value,\n        ]}\n        style={[\n          dividerStyles.value,\n          textColorStyles.value,\n        ]}\n        aria-orientation={\n          !attrs.role || attrs.role === 'separator'\n            ? props.vertical ? 'vertical' : 'horizontal'\n            : undefined\n        }\n        role={`${attrs.role || 'separator'}`}\n      />\n    ))\n\n    return {}\n  },\n})\n\nexport type VDivider = InstanceType<typeof VDivider>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,cAAc,EAAEC,YAAY;AAAA,SAC5BC,YAAY,uCAErB;AACA,SAASC,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC5BC,aAAa,EAAEC,gBAAgB,EAAEC,SAAS;AAKnD,OAAO,MAAMC,QAAQ,GAAGF,gBAAgB,EAAE,CAAC;EACzCG,IAAI,EAAE,UAAU;EAEhBC,KAAK,EAAE;IACLC,KAAK,EAAEC,MAAM;IACbC,KAAK,EAAEC,OAAO;IACdC,MAAM,EAAE,CAACC,MAAM,EAAEJ,MAAM,CAAC;IACxBK,SAAS,EAAE,CAACD,MAAM,EAAEJ,MAAM,CAAC;IAC3BM,QAAQ,EAAEJ,OAAO;IAEjB,GAAGd,cAAc;EACnB,CAAC;EAEDmB,KAAK,CAAET,KAAK,QAAa;IAAA,IAAX;MAAEU;IAAM,CAAC;IACrB,MAAM;MAAEC;IAAa,CAAC,GAAGpB,YAAY,CAACS,KAAK,CAAC;IAC5C,MAAM;MAAEY,gBAAgB;MAAEC;IAAgB,CAAC,GAAGrB,YAAY,CAACE,KAAK,CAACM,KAAK,EAAE,OAAO,CAAC,CAAC;IACjF,MAAMc,aAAa,GAAGrB,QAAQ,CAAC,MAAM;MACnC,MAAMsB,MAAqB,GAAG,CAAC,CAAC;MAEhC,IAAIf,KAAK,CAACK,MAAM,EAAE;QAChBU,MAAM,CAACf,KAAK,CAACQ,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC,GAAGb,aAAa,CAACK,KAAK,CAACK,MAAM,CAAC;MACjF;MAEA,IAAIL,KAAK,CAACO,SAAS,EAAE;QACnBQ,MAAM,CAACf,KAAK,CAACQ,QAAQ,GAAG,kBAAkB,GAAG,gBAAgB,CAAC,GAAGb,aAAa,CAACK,KAAK,CAACO,SAAS,CAAC;MACjG;MAEA,OAAOQ,MAAM;IACf,CAAC,CAAC;IAEFlB,SAAS,CAAC;MAAA,SAEC,CACL;QACE,WAAW,EAAE,IAAI;QACjB,kBAAkB,EAAEG,KAAK,CAACG,KAAK;QAC/B,qBAAqB,EAAEH,KAAK,CAACQ;MAC/B,CAAC,EACDG,YAAY,CAACK,KAAK,EAClBJ,gBAAgB,CAACI,KAAK,CACvB;MAAA,SACM,CACLF,aAAa,CAACE,KAAK,EACnBH,eAAe,CAACG,KAAK,CACtB;MAAA,oBAEC,CAACN,KAAK,CAACO,IAAI,IAAIP,KAAK,CAACO,IAAI,KAAK,WAAW,GACrCjB,KAAK,CAACQ,QAAQ,GAAG,UAAU,GAAG,YAAY,GAC1CU,SAAS;MAAA,QAER,GAAER,KAAK,CAACO,IAAI,IAAI,WAAY;IAAC,QAEvC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}