UNPKG

vuetify

Version:

Vue Material Component Framework

1 lines 5.42 kB
{"version":3,"file":"VCardItem.mjs","names":["VAvatar","VCardSubtitle","VCardTitle","VDefaultsProvider","IconValue","makeDensityProps","genericComponent","useRender","VCardItem","name","props","appendAvatar","String","appendIcon","prependAvatar","prependIcon","subtitle","title","setup","slots","hasPrepend","prepend","hasAppend","append","hasTitle","hasSubtitle","density","icon","image","VIcon","default"],"sources":["../../../src/components/VCard/VCardItem.tsx"],"sourcesContent":["// Components\nimport { VAvatar } from '../VAvatar'\nimport { VCardSubtitle } from './VCardSubtitle'\nimport { VCardTitle } from './VCardTitle'\nimport { VDefaultsProvider } from '../VDefaultsProvider'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeDensityProps } from '@/composables/density'\n\n// Utility\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { MakeSlots } from '@/util'\n\nexport type VCardItemSlots = MakeSlots<{\n default: []\n prepend: []\n append: []\n title: []\n subtitle: []\n}>\n\nexport const VCardItem = genericComponent<VCardItemSlots>()({\n name: 'VCardItem',\n\n props: {\n appendAvatar: String,\n appendIcon: IconValue,\n prependAvatar: String,\n prependIcon: IconValue,\n subtitle: String,\n title: String,\n\n ...makeDensityProps(),\n },\n\n setup (props, { slots }) {\n useRender(() => {\n const hasPrepend = !!(props.prependAvatar || props.prependIcon || slots.prepend)\n const hasAppend = !!(props.appendAvatar || props.appendIcon || slots.append)\n const hasTitle = !!(props.title || slots.title)\n const hasSubtitle = !!(props.subtitle || slots.subtitle)\n\n return (\n <div class=\"v-card-item\">\n { hasPrepend && (\n <VDefaultsProvider\n key=\"prepend\"\n defaults={{\n VAvatar: {\n density: props.density,\n icon: props.prependIcon,\n image: props.prependAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.prependIcon,\n },\n }}\n >\n <div class=\"v-card-item__prepend\">\n { slots.prepend?.() ?? (<VAvatar />) }\n </div>\n </VDefaultsProvider>\n ) }\n\n <div class=\"v-card-item__content\">\n { hasTitle && (\n <VCardTitle key=\"title\">\n { slots.title?.() ?? props.title}\n </VCardTitle>\n ) }\n\n { hasSubtitle && (\n <VCardSubtitle key=\"subtitle\">\n { slots.subtitle?.() ?? props.subtitle }\n </VCardSubtitle>\n ) }\n\n { slots.default?.() }\n </div>\n\n { hasAppend && (\n <VDefaultsProvider\n key=\"append\"\n defaults={{\n VAvatar: {\n density: props.density,\n icon: props.appendIcon,\n image: props.appendAvatar,\n },\n VIcon: {\n density: props.density,\n icon: props.appendIcon,\n },\n }}\n >\n <div class=\"v-card-item__append\">\n { slots.append?.() ?? (<VAvatar />) }\n </div>\n </VDefaultsProvider>\n ) }\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VCardItem = InstanceType<typeof VCardItem>\n"],"mappings":";AAAA;AAAA,SACSA,OAAO;AAAA,SACPC,aAAa;AAAA,SACbC,UAAU;AAAA,SACVC,iBAAiB,0CAE1B;AAAA,SACSC,SAAS;AAAA,SACTC,gBAAgB,yCAEzB;AAAA,SACSC,gBAAgB,EAAEC,SAAS,gCAEpC;AAWA,OAAO,MAAMC,SAAS,GAAGF,gBAAgB,EAAkB,CAAC;EAC1DG,IAAI,EAAE,WAAW;EAEjBC,KAAK,EAAE;IACLC,YAAY,EAAEC,MAAM;IACpBC,UAAU,EAAET,SAAS;IACrBU,aAAa,EAAEF,MAAM;IACrBG,WAAW,EAAEX,SAAS;IACtBY,QAAQ,EAAEJ,MAAM;IAChBK,KAAK,EAAEL,MAAM;IAEb,GAAGP,gBAAgB;EACrB,CAAC;EAEDa,KAAK,CAAER,KAAK,QAAa;IAAA,IAAX;MAAES;IAAM,CAAC;IACrBZ,SAAS,CAAC,MAAM;MACd,MAAMa,UAAU,GAAG,CAAC,EAAEV,KAAK,CAACI,aAAa,IAAIJ,KAAK,CAACK,WAAW,IAAII,KAAK,CAACE,OAAO,CAAC;MAChF,MAAMC,SAAS,GAAG,CAAC,EAAEZ,KAAK,CAACC,YAAY,IAAID,KAAK,CAACG,UAAU,IAAIM,KAAK,CAACI,MAAM,CAAC;MAC5E,MAAMC,QAAQ,GAAG,CAAC,EAAEd,KAAK,CAACO,KAAK,IAAIE,KAAK,CAACF,KAAK,CAAC;MAC/C,MAAMQ,WAAW,GAAG,CAAC,EAAEf,KAAK,CAACM,QAAQ,IAAIG,KAAK,CAACH,QAAQ,CAAC;MAExD;QAAA,SACa;MAAa,IACpBI,UAAU;QAAA,OAEJ,SAAS;QAAA,YACH;UACRpB,OAAO,EAAE;YACP0B,OAAO,EAAEhB,KAAK,CAACgB,OAAO;YACtBC,IAAI,EAAEjB,KAAK,CAACK,WAAW;YACvBa,KAAK,EAAElB,KAAK,CAACI;UACf,CAAC;UACDe,KAAK,EAAE;YACLH,OAAO,EAAEhB,KAAK,CAACgB,OAAO;YACtBC,IAAI,EAAEjB,KAAK,CAACK;UACd;QACF;MAAC;QAAA;UAAA,SAEU;QAAsB,IAC7BI,KAAK,CAACE,OAAO,IAAI,qCAAiB;MAAA,EAGzC;QAAA,SAEU;MAAsB,IAC7BG,QAAQ;QAAA,OACQ;MAAO;QAAA,gBACnBL,KAAK,CAACF,KAAK,IAAI,IAAIP,KAAK,CAACO,KAAK;MAAA,EAEnC,EAECQ,WAAW;QAAA,OACQ;MAAU;QAAA,gBACzBN,KAAK,CAACH,QAAQ,IAAI,IAAIN,KAAK,CAACM,QAAQ;MAAA,EAEzC,EAECG,KAAK,CAACW,OAAO,IAAI,IAGnBR,SAAS;QAAA,OAEH,QAAQ;QAAA,YACF;UACRtB,OAAO,EAAE;YACP0B,OAAO,EAAEhB,KAAK,CAACgB,OAAO;YACtBC,IAAI,EAAEjB,KAAK,CAACG,UAAU;YACtBe,KAAK,EAAElB,KAAK,CAACC;UACf,CAAC;UACDkB,KAAK,EAAE;YACLH,OAAO,EAAEhB,KAAK,CAACgB,OAAO;YACtBC,IAAI,EAAEjB,KAAK,CAACG;UACd;QACF;MAAC;QAAA;UAAA,SAEU;QAAqB,IAC5BM,KAAK,CAACI,MAAM,IAAI,qCAAiB;MAAA,EAGxC;IAGP,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}