{listItems.length === 0 ? (
) : (
listItems.map((item, index) => {
const itemName = shvl.get(item, name, item[name]) ?? "";
const itemLabel = shvl.get(item, label, item[label]) ?? "";
const itemUrl = target
? [...target.matchAll(/\{(.*?)\}/g)]
.map((match) => match[1])
.reduce((url, targetTemplate) => {
const value = shvl.get(item, targetTemplate, item[targetTemplate]) ?? "";
return url.replaceAll(`{${targetTemplate}}`, value);
}, target)
: null;
const className =
"bg-theme-200/50 dark:bg-theme-900/20 rounded-sm m-1 flex-1 flex flex-row items-center justify-between p-1 text-xs";
return itemUrl ? (
{itemName}
{formatValue(t, mappings, itemLabel)}
) : (
{itemName}
{formatValue(t, mappings, itemLabel)}
);
})
)}