UNPKG

vuetify

Version:

Vue Material Component Framework

1 lines 5.33 kB
{"version":3,"file":"VListChildren.mjs","names":["VDivider","filterListGroupProps","VListGroup","VListItem","VListSubheader","createList","genericComponent","VListChildren","name","props","items","Array","setup","slots","default","map","children","itemProps","type","raw","item","divider","subheader","slotsWithItem","subtitle","slotProps","undefined","prepend","append","title","listGroupProps","_1","value","activator","activatorProps","header"],"sources":["../../../src/components/VList/VListChildren.tsx"],"sourcesContent":["// Components\nimport { VDivider } from '../VDivider'\nimport { filterListGroupProps, VListGroup } from './VListGroup'\nimport { VListItem } from './VListItem'\nimport { VListSubheader } from './VListSubheader'\n\n// Utilities\nimport { createList } from './list'\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { InternalListItem } from './VList'\nimport type { ListItemSubtitleSlot, ListItemTitleSlot } from './VListItem'\nimport type { SlotsToProps } from '@/util'\nimport type { Prop } from 'vue'\n\nexport const VListChildren = genericComponent<new <T extends InternalListItem>() => {\n $props: {\n items?: T[]\n } & SlotsToProps<{\n default: []\n header: [{ props: Record<string, unknown> }]\n item: [T]\n title: [ListItemTitleSlot]\n subtitle: [ListItemSubtitleSlot]\n }>\n}>()({\n name: 'VListChildren',\n\n props: {\n items: Array as Prop<InternalListItem[]>,\n },\n\n setup (props, { slots }) {\n createList()\n\n return () => slots.default?.() ?? props.items?.map(({ children, props: itemProps, type, raw: item }) => {\n if (type === 'divider') {\n return slots.divider?.({ props: itemProps }) ?? (\n <VDivider { ...itemProps } />\n )\n }\n\n if (type === 'subheader') {\n return slots.subheader?.({ props: itemProps }) ?? (\n <VListSubheader\n { ...itemProps }\n v-slots={{ default: slots.subheader }}\n />\n )\n }\n\n const slotsWithItem = {\n subtitle: slots.subtitle ? (slotProps: any) => slots.subtitle?.({ ...slotProps, item }) : undefined,\n prepend: slots.prepend ? (slotProps: any) => slots.prepend?.({ ...slotProps, item }) : undefined,\n append: slots.append ? (slotProps: any) => slots.append?.({ ...slotProps, item }) : undefined,\n default: slots.default ? (slotProps: any) => slots.default?.({ ...slotProps, item }) : undefined,\n title: slots.title ? (slotProps: any) => slots.title?.({ ...slotProps, item }) : undefined,\n }\n\n const [listGroupProps, _1] = filterListGroupProps(itemProps as any)\n\n return children ? (\n <VListGroup\n value={ itemProps?.value }\n { ...listGroupProps }\n >\n {{\n activator: ({ props: activatorProps }) => slots.header\n ? slots.header({ props: { ...itemProps, ...activatorProps } })\n : <VListItem { ...itemProps } { ...activatorProps } v-slots={ slotsWithItem } />,\n default: () => (\n <VListChildren items={ children } v-slots={ slots } />\n ),\n }}\n </VListGroup>\n ) : (\n slots.item ? slots.item(itemProps) : (\n <VListItem\n { ...itemProps }\n v-slots={ slotsWithItem }\n />\n )\n )\n })\n },\n})\n"],"mappings":";AAAA;AAAA,SACSA,QAAQ;AAAA,SACRC,oBAAoB,EAAEC,UAAU;AAAA,SAChCC,SAAS;AAAA,SACTC,cAAc,gCAEvB;AAAA,SACSC,UAAU;AAAA,SACVC,gBAAgB,gCAEzB;AAMA,OAAO,MAAMC,aAAa,GAAGD,gBAAgB,EAUzC,CAAC;EACHE,IAAI,EAAE,eAAe;EAErBC,KAAK,EAAE;IACLC,KAAK,EAAEC;EACT,CAAC;EAEDC,KAAK,CAAEH,KAAK,QAAa;IAAA,IAAX;MAAEI;IAAM,CAAC;IACrBR,UAAU,EAAE;IAEZ,OAAO,MAAMQ,KAAK,CAACC,OAAO,IAAI,IAAIL,KAAK,CAACC,KAAK,EAAEK,GAAG,CAAC,SAAqD;MAAA,IAApD;QAAEC,QAAQ;QAAEP,KAAK,EAAEQ,SAAS;QAAEC,IAAI;QAAEC,GAAG,EAAEC;MAAK,CAAC;MACjG,IAAIF,IAAI,KAAK,SAAS,EAAE;QACtB,OAAOL,KAAK,CAACQ,OAAO,GAAG;UAAEZ,KAAK,EAAEQ;QAAU,CAAC,CAAC,2BAC3BA,SAAS,OACzB;MACH;MAEA,IAAIC,IAAI,KAAK,WAAW,EAAE;QACxB,OAAOL,KAAK,CAACS,SAAS,GAAG;UAAEb,KAAK,EAAEQ;QAAU,CAAC,CAAC,iCAErCA,SAAS,EACL;UAAEH,OAAO,EAAED,KAAK,CAACS;QAAU,CAAC,CAExC;MACH;MAEA,MAAMC,aAAa,GAAG;QACpBC,QAAQ,EAAEX,KAAK,CAACW,QAAQ,GAAIC,SAAc,IAAKZ,KAAK,CAACW,QAAQ,GAAG;UAAE,GAAGC,SAAS;UAAEL;QAAK,CAAC,CAAC,GAAGM,SAAS;QACnGC,OAAO,EAAEd,KAAK,CAACc,OAAO,GAAIF,SAAc,IAAKZ,KAAK,CAACc,OAAO,GAAG;UAAE,GAAGF,SAAS;UAAEL;QAAK,CAAC,CAAC,GAAGM,SAAS;QAChGE,MAAM,EAAEf,KAAK,CAACe,MAAM,GAAIH,SAAc,IAAKZ,KAAK,CAACe,MAAM,GAAG;UAAE,GAAGH,SAAS;UAAEL;QAAK,CAAC,CAAC,GAAGM,SAAS;QAC7FZ,OAAO,EAAED,KAAK,CAACC,OAAO,GAAIW,SAAc,IAAKZ,KAAK,CAACC,OAAO,GAAG;UAAE,GAAGW,SAAS;UAAEL;QAAK,CAAC,CAAC,GAAGM,SAAS;QAChGG,KAAK,EAAEhB,KAAK,CAACgB,KAAK,GAAIJ,SAAc,IAAKZ,KAAK,CAACgB,KAAK,GAAG;UAAE,GAAGJ,SAAS;UAAEL;QAAK,CAAC,CAAC,GAAGM;MACnF,CAAC;MAED,MAAM,CAACI,cAAc,EAAEC,EAAE,CAAC,GAAG9B,oBAAoB,CAACgB,SAAS,CAAQ;MAEnE,OAAOD,QAAQ;QAAA,SAEHC,SAAS,EAAEe;MAAK,GACnBF,cAAc;QAGjBG,SAAS,EAAE;UAAA,IAAC;YAAExB,KAAK,EAAEyB;UAAe,CAAC;UAAA,OAAKrB,KAAK,CAACsB,MAAM,GAClDtB,KAAK,CAACsB,MAAM,CAAC;YAAE1B,KAAK,EAAE;cAAE,GAAGQ,SAAS;cAAE,GAAGiB;YAAe;UAAE,CAAC,CAAC,uCAC5CjB,SAAS,EAAQiB,cAAc,GAAaX,aAAa,CAAK;QAAA;QAClFT,OAAO,EAAE;UAAA,SACgBE;QAAQ,GAAaH,KAAK;MAClD,KAILA,KAAK,CAACO,IAAI,GAAGP,KAAK,CAACO,IAAI,CAACH,SAAS,CAAC,2BAEzBA,SAAS,EACJM,aAAa,CAG5B;IACH,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}