UNPKG

vuetify

Version:

Vue Material Component Framework

1 lines 3.89 kB
{"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"}