I was asked privately but I tend to share ...
The actual case was a bit more advanced but definitely for dedicated build so I do share basics only.
Key point was that icon should be dynamically controllable in may ways ...
[{"id":"ab1a416038dfd420","type":"ui-template","z":"50af7128c761b2cb","group":"4190965f220f9afd","page":"","ui":"","name":"Card header icon","order":6,"width":0,"height":0,"head":"","format":"<template>\n <Teleport v-if=\"mounted\" :to=\"target\">\n <div :class=\"positionClass\">\n <v-icon aria-hidden=\"false\">{{icon}}</v-icon>\n </div>\n </Teleport>\n</template>\n\n<script>\n export default {\n data() { \n return {\n mounted:false,\n target:\"\",\n position:\"right\",//\"left\"\n icon:\"mdi-account\" \n }\n },\n computed: { \n positionClass: function () {\n return this.position == \"left\" ? \"v-card-item__prepend\" : \"v-card-item__append\"\n }\n },\n watch: {\n msg: function () {\n //\n }\n },\n mounted(){ \n this.target = '#nrdb-ui-group-'+this.props.group+' .v-card-item'\n this.mounted = true \n }\n }\n</script>\n<style>\n .hidden-template{\n display:none !important;\n }\n</style>\n","storeOutMessages":true,"passthru":true,"resendOnRefresh":true,"templateScope":"local","className":"hidden-template","x":630,"y":540,"wires":[[]]},{"id":"4190965f220f9afd","type":"ui-group","name":"Test Group","page":"b55c3e3640901741","width":"6","height":"1","order":1,"showTitle":true,"className":"","visible":"true","disabled":"false","groupType":"default"},{"id":"b55c3e3640901741","type":"ui-page","name":"Test Page","ui":"cab2761fcbe60245","path":"/test","icon":"home","layout":"grid","theme":"0819910104699eae","breakpoints":[{"name":"Default","px":"0","cols":"3"},{"name":"Tablet","px":"576","cols":"6"},{"name":"Small Desktop","px":"768","cols":"9"},{"name":"Desktop","px":"1024","cols":"12"}],"order":4,"className":"","visible":"true","disabled":"false"},{"id":"cab2761fcbe60245","type":"ui-base","name":"My Dashboard","path":"/dashboard","appIcon":"","includeClientData":true,"acceptsClientConfig":["ui-notification","ui-control","ui-template"],"showPathInSidebar":false,"showPageTitle":false,"navigationStyle":"temporary","titleBarStyle":"fixed"},{"id":"0819910104699eae","type":"ui-theme","name":"Site Dark","colors":{"surface":"#141414","primary":"#32a00a","bgPage":"#121212","groupBg":"#141414","groupOutline":"#333333"},"sizes":{"density":"default","pagePadding":"12px","groupGap":"12px","groupBorderRadius":"12px","widgetGap":"12px"}}]