[{"data":1,"prerenderedAt":463},["ShallowReactive",2],{"i-base:v-logo":3,"i-lucide:user":8,"i-lucide:folder-kanban":11,"i-lucide:heart":13,"i-lucide:file-text":15,"i-lucide:sun":17,"i-lucide:github":19,"i-lucide:twitter":22,"i-lucide:linkedin":24,"i-simple-icons:reddit":26,"i-lucide:globe":28,"article-til-tailwind-v4-webkit-mask-prefix":30,"articles-all":415,"i-lucide:arrow-left":461},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":7},0,512,false,"\u003Cg fill=\"currentColor\">\u003Cg transform=\"translate(0,512) scale(0.1,-0.1)\">\n    \u003Cpath d=\"M2866 3193 c-203 -209 -341 -393 -541 -718 -57 -93 -198 -309 -212 -325 -9 -9 -22 26 -28 75 -4 27 -8 61 -10 75 -2 14 -7 70 -10 125 -21 363 -72 541 -187 656 -30 30 -54 64 -56 78 -7 55 -65 113 -130 130 -21 6 -34 1 -62 -23 -64 -57 -86 -84 -97 -119 -12 -41 -9 -201 7 -349 6 -57 12 -204 12 -327 0 -191 2 -232 18 -270 10 -27 20 -89 24 -148 5 -92 21 -182 84 -478 12 -56 30 -105 46 -129 14 -21 27 -48 27 -60 1 -12 3 -39 4 -61 1 -23 8 -41 16 -44 8 -2 39 -31 69 -63 66 -72 98 -90 159 -91 133 -1 245 118 254 271 4 67 7 74 45 114 22 24 50 55 61 70 33 42 81 138 81 162 0 12 21 44 50 74 27 28 63 80 80 114 57 114 131 230 244 378 48 64 213 266 249 305 78 85 167 207 167 230 0 14 11 47 23 73 34 67 29 133 -20 252 l-38 95 -50 6 c-28 3 -67 13 -87 22 -21 10 -47 17 -58 17 -13 0 -62 -43 -134 -117z\"\u002F>\n    \u003Cpath d=\"M3070 1649 c-30 -44 -76 -96 -102 -115 -27 -20 -48 -40 -48 -45 0 -5 8 -21 17 -36 17 -25 17 -27 -5 -41 l-22 -14 30 -35 c17 -18 30 -39 30 -47 0 -36 34 -118 58 -140 102 -92 120 -104 159 -100 108 10 153 24 153 49 0 7 27 28 59 45 62 33 92 74 90 121 -1 13 10 57 25 97 32 87 33 90 17 165 -15 70 -24 75 -177 111 -159 38 -194 48 -200 57 -12 21 -32 4 -84 -72z\"\u002F>\n  \u003C\u002Fg>\u003C\u002Fg>",{"left":4,"top":4,"width":9,"height":9,"rotate":4,"vFlip":6,"hFlip":6,"body":10},24,"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2\"\u002F>\u003Ccircle cx=\"12\" cy=\"7\" r=\"4\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":9,"height":9,"rotate":4,"vFlip":6,"hFlip":6,"body":12},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2m4-10v4m4-4v2m4-2v6\"\u002F>",{"left":4,"top":4,"width":9,"height":9,"rotate":4,"vFlip":6,"hFlip":6,"body":14},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M2 9.5a5.5 5.5 0 0 1 9.591-3.676a.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5\"\u002F>",{"left":4,"top":4,"width":9,"height":9,"rotate":4,"vFlip":6,"hFlip":6,"body":16},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"\u002F>\u003Cpath d=\"M14 2v5a1 1 0 0 0 1 1h5M10 9H8m8 4H8m8 4H8\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":9,"height":9,"rotate":4,"vFlip":6,"hFlip":6,"body":18},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"4\"\u002F>\u003Cpath d=\"M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":9,"height":9,"rotate":4,"vFlip":6,"hFlip":6,"body":20,"hidden":21},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5c.08-1.25-.27-2.48-1-3.5c.28-1.15.28-2.35 0-3.5c0 0-1 0-3 1.5c-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.4 5.4 0 0 0 4 9c0 3.5 3 5.5 6 5.5c-.39.49-.68 1.05-.85 1.65S8.93 17.38 9 18v4\"\u002F>\u003Cpath d=\"M9 18c-4.51 2-5-2-7-2\"\u002F>\u003C\u002Fg>",true,{"left":4,"top":4,"width":9,"height":9,"rotate":4,"vFlip":6,"hFlip":6,"body":23,"hidden":21},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6c2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4c-.9-4.2 4-6.6 7-3.8c1.1 0 3-1.2 3-1.2\"\u002F>",{"left":4,"top":4,"width":9,"height":9,"rotate":4,"vFlip":6,"hFlip":6,"body":25,"hidden":21},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2a2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6M2 9h4v12H2z\"\u002F>\u003Ccircle cx=\"4\" cy=\"4\" r=\"2\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":9,"height":9,"rotate":4,"vFlip":6,"hFlip":6,"body":27},"\u003Cpath fill=\"currentColor\" d=\"M12 0C5.373 0 0 5.373 0 12c0 3.314 1.343 6.314 3.515 8.485l-2.286 2.286A.72.72 0 0 0 1.738 24H12c6.627 0 12-5.373 12-12S18.627 0 12 0m4.388 3.199a1.999 1.999 0 1 1-1.947 2.46v.002a2.37 2.37 0 0 0-2.032 2.341v.007c1.776.067 3.4.567 4.686 1.363a2.802 2.802 0 1 1 2.908 4.753c-.088 3.256-3.637 5.876-7.997 5.876c-4.361 0-7.905-2.617-7.998-5.87a2.8 2.8 0 0 1 1.189-5.34c.645 0 1.239.218 1.712.585c1.275-.79 2.881-1.291 4.64-1.365v-.01a3.23 3.23 0 0 1 2.88-3.207a2 2 0 0 1 1.959-1.595m-8.085 8.376c-.784 0-1.459.78-1.506 1.797s.64 1.429 1.426 1.429s1.371-.369 1.418-1.385s-.553-1.841-1.338-1.841m7.406 0c-.786 0-1.385.824-1.338 1.841s.634 1.385 1.418 1.385c.785 0 1.473-.413 1.426-1.429c-.046-1.017-.721-1.797-1.506-1.797m-3.703 4.013c-.974 0-1.907.048-2.77.135a.222.222 0 0 0-.183.305a3.2 3.2 0 0 0 2.953 1.964a3.2 3.2 0 0 0 2.953-1.964a.222.222 0 0 0-.184-.305a28 28 0 0 0-2.769-.135\"\u002F>",{"left":4,"top":4,"width":9,"height":9,"rotate":4,"vFlip":6,"hFlip":6,"body":29},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"M12 2a14.5 14.5 0 0 0 0 20a14.5 14.5 0 0 0 0-20M2 12h20\"\u002F>\u003C\u002Fg>",{"id":31,"title":32,"body":33,"category":99,"date":402,"description":403,"extension":404,"image":405,"meta":406,"navigation":21,"path":407,"seo":408,"status":409,"stem":410,"tags":411,"updatedAt":405,"__hash__":414},"articles\u002Farticles\u002F3.til-tailwind-v4-webkit-mask-prefix.md","TIL: Tailwind v4 mask utilities need the webkit prefix in plain CSS",{"type":34,"value":35,"toc":398},"minimark",[36,40,43,92,95,199,204,220,224,227,371,391,394],[37,38,39],"p",{},"I had a border-beam effect (an animated gradient clipped to a card's border) built with Tailwind v4 utilities. It looked right. When I moved it into plain scoped CSS to make it a standalone component, the whole gradient rendered as a solid wedge over the card instead of a thin beam on the border.",[37,41,42],{},"The utilities I ported looked roughly like this:",[44,45,50],"pre",{"className":46,"code":47,"language":48,"meta":49,"style":49},"language-html shiki shiki-themes github-dark github-dark github-light","\u003Cdiv\n  class=\"![mask-clip:padding-box,border-box] ![mask-composite:intersect] [mask:linear-gradient(#fff_0_0)_padding-box,linear-gradient(#fff_0_0)]\"\n>\u003C\u002Fdiv>\n","html","",[51,52,53,66,80],"code",{"__ignoreMap":49},[54,55,58,62],"span",{"class":56,"line":57},"line",1,[54,59,61],{"class":60},"sAvwS","\u003C",[54,63,65],{"class":64},"sxkHK","div\n",[54,67,69,73,76],{"class":56,"line":68},2,[54,70,72],{"class":71},"s5n6i","  class",[54,74,75],{"class":60},"=",[54,77,79],{"class":78},"s4Y1p","\"![mask-clip:padding-box,border-box] ![mask-composite:intersect] [mask:linear-gradient(#fff_0_0)_padding-box,linear-gradient(#fff_0_0)]\"\n",[54,81,83,86,89],{"class":56,"line":82},3,[54,84,85],{"class":60},">\u003C\u002F",[54,87,88],{"class":64},"div",[54,90,91],{"class":60},">\n",[37,93,94],{},"My scoped-CSS version wrote the standard properties faithfully:",[44,96,100],{"className":97,"code":98,"language":99,"meta":49,"style":49},"language-css shiki shiki-themes github-dark github-dark github-light",".beam {\n  mask:\n    linear-gradient(#fff 0 0) padding-box,\n    linear-gradient(#fff 0 0);\n  mask-clip: padding-box, border-box;\n  mask-composite: intersect;\n}\n","css",[51,101,102,110,119,144,160,180,193],{"__ignoreMap":49},[54,103,104,107],{"class":56,"line":57},[54,105,106],{"class":71},".beam",[54,108,109],{"class":60}," {\n",[54,111,112,116],{"class":56,"line":68},[54,113,115],{"class":114},"sXWYR","  mask",[54,117,118],{"class":60},":\n",[54,120,121,124,127,130,133,135,138,141],{"class":56,"line":82},[54,122,123],{"class":114},"    linear-gradient",[54,125,126],{"class":60},"(",[54,128,129],{"class":114},"#fff",[54,131,132],{"class":114}," 0",[54,134,132],{"class":114},[54,136,137],{"class":60},") ",[54,139,140],{"class":114},"padding-box",[54,142,143],{"class":60},",\n",[54,145,147,149,151,153,155,157],{"class":56,"line":146},4,[54,148,123],{"class":114},[54,150,126],{"class":60},[54,152,129],{"class":114},[54,154,132],{"class":114},[54,156,132],{"class":114},[54,158,159],{"class":60},");\n",[54,161,163,166,169,171,174,177],{"class":56,"line":162},5,[54,164,165],{"class":114},"  mask-clip",[54,167,168],{"class":60},": ",[54,170,140],{"class":114},[54,172,173],{"class":60},", ",[54,175,176],{"class":114},"border-box",[54,178,179],{"class":60},";\n",[54,181,183,186,188,191],{"class":56,"line":182},6,[54,184,185],{"class":114},"  mask-composite",[54,187,168],{"class":60},[54,189,190],{"class":114},"intersect",[54,192,179],{"class":60},[54,194,196],{"class":56,"line":195},7,[54,197,198],{"class":60},"}\n",[200,201,203],"h2",{"id":202},"why-it-broke","Why it broke",[37,205,206,207,210,211,215,216,219],{},"Tailwind v4 does not just emit the standard ",[51,208,209],{},"mask-composite: intersect",". It ",[212,213,214],"strong",{},"also"," emits the WebKit-prefixed equivalent, ",[51,217,218],{},"-webkit-mask-composite: source-in",", alongside it. WebKit engines (both Chrome and Safari) still rely on the prefixed property for mask compositing. My hand-written CSS only had the unprefixed version, so those browsers silently ignored the compositing step, the two mask layers never intersected, and the border clip disappeared.",[200,221,223],{"id":222},"the-fix","The fix",[37,225,226],{},"Write the prefixed properties too:",[44,228,230],{"className":97,"code":229,"language":99,"meta":49,"style":49},".beam {\n  mask:\n    linear-gradient(#fff 0 0) padding-box,\n    linear-gradient(#fff 0 0);\n  -webkit-mask:\n    linear-gradient(#fff 0 0) padding-box,\n    linear-gradient(#fff 0 0);\n  mask-clip: padding-box, border-box;\n  -webkit-mask-clip: padding-box, border-box;\n  mask-composite: intersect;\n  -webkit-mask-composite: source-in;\n}\n",[51,231,232,238,244,262,276,283,301,315,330,346,357,366],{"__ignoreMap":49},[54,233,234,236],{"class":56,"line":57},[54,235,106],{"class":71},[54,237,109],{"class":60},[54,239,240,242],{"class":56,"line":68},[54,241,115],{"class":114},[54,243,118],{"class":60},[54,245,246,248,250,252,254,256,258,260],{"class":56,"line":82},[54,247,123],{"class":114},[54,249,126],{"class":60},[54,251,129],{"class":114},[54,253,132],{"class":114},[54,255,132],{"class":114},[54,257,137],{"class":60},[54,259,140],{"class":114},[54,261,143],{"class":60},[54,263,264,266,268,270,272,274],{"class":56,"line":146},[54,265,123],{"class":114},[54,267,126],{"class":60},[54,269,129],{"class":114},[54,271,132],{"class":114},[54,273,132],{"class":114},[54,275,159],{"class":60},[54,277,278,281],{"class":56,"line":162},[54,279,280],{"class":114},"  -webkit-mask",[54,282,118],{"class":60},[54,284,285,287,289,291,293,295,297,299],{"class":56,"line":182},[54,286,123],{"class":114},[54,288,126],{"class":60},[54,290,129],{"class":114},[54,292,132],{"class":114},[54,294,132],{"class":114},[54,296,137],{"class":60},[54,298,140],{"class":114},[54,300,143],{"class":60},[54,302,303,305,307,309,311,313],{"class":56,"line":195},[54,304,123],{"class":114},[54,306,126],{"class":60},[54,308,129],{"class":114},[54,310,132],{"class":114},[54,312,132],{"class":114},[54,314,159],{"class":60},[54,316,318,320,322,324,326,328],{"class":56,"line":317},8,[54,319,165],{"class":114},[54,321,168],{"class":60},[54,323,140],{"class":114},[54,325,173],{"class":60},[54,327,176],{"class":114},[54,329,179],{"class":60},[54,331,333,336,338,340,342,344],{"class":56,"line":332},9,[54,334,335],{"class":114},"  -webkit-mask-clip",[54,337,168],{"class":60},[54,339,140],{"class":114},[54,341,173],{"class":60},[54,343,176],{"class":114},[54,345,179],{"class":60},[54,347,349,351,353,355],{"class":56,"line":348},10,[54,350,185],{"class":114},[54,352,168],{"class":60},[54,354,190],{"class":114},[54,356,179],{"class":60},[54,358,360,363],{"class":56,"line":359},11,[54,361,362],{"class":114},"  -webkit-mask-composite",[54,364,365],{"class":60},": source-in;\n",[54,367,369],{"class":56,"line":368},12,[54,370,198],{"class":60},[37,372,373,374,376,377,379,380,382,383,386,387,390],{},"Note the value difference: the standard ",[51,375,209],{}," maps to ",[51,378,218],{},", not ",[51,381,190],{},". You can confirm it worked by reading back ",[51,384,385],{},"getComputedStyle(el).webkitMaskComposite",", which should return ",[51,388,389],{},"source-in",".",[37,392,393],{},"The general lesson: when a Tailwind utility \"just works\" and your hand-rolled CSS version does not, check what Tailwind actually compiled the utility to. It frequently emits vendor-prefixed fallbacks that you have to reproduce yourself once you leave the utility layer.",[395,396,397],"style",{},"html pre.shiki code .sAvwS, html code.shiki .sAvwS{--shiki-default:#E1E4E8;--shiki-dark:#E1E4E8;--shiki-light:#24292E}html pre.shiki code .sxkHK, html code.shiki .sxkHK{--shiki-default:#85E89D;--shiki-dark:#85E89D;--shiki-light:#22863A}html pre.shiki code .s5n6i, html code.shiki .s5n6i{--shiki-default:#B392F0;--shiki-dark:#B392F0;--shiki-light:#6F42C1}html pre.shiki code .s4Y1p, html code.shiki .s4Y1p{--shiki-default:#9ECBFF;--shiki-dark:#9ECBFF;--shiki-light:#032F62}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html pre.shiki code .sXWYR, html code.shiki .sXWYR{--shiki-default:#79B8FF;--shiki-dark:#79B8FF;--shiki-light:#005CC5}",{"title":49,"searchDepth":68,"depth":68,"links":399},[400,401],{"id":202,"depth":68,"text":203},{"id":222,"depth":68,"text":223},"2026-07-06T20:15:00.000+05:30","Porting a Tailwind mask-composite utility to scoped CSS quietly breaks in Chrome and Safari unless you also write the -webkit-mask-* properties, because Tailwind was emitting them for you.","md",null,{"position":82},"\u002Farticles\u002Ftil-tailwind-v4-webkit-mask-prefix",{"title":32,"description":403},"published","articles\u002F3.til-tailwind-v4-webkit-mask-prefix",[412,99,413],"tailwind","webkit","h02q-ETyPDdyWqm1o3eSFWCkWGTmhkaTYRKIfINfaO4",[416,426,436,444,446,452],{"path":417,"title":418,"description":419,"date":420,"updatedAt":405,"category":421,"tags":422,"image":405,"status":409},"\u002Farticles\u002Ftil-shiki-multitheme-code-block-background","TIL: Shiki multi-theme highlighting does not switch the code-block background","Shiki multi-theme mode swaps token colours per colour scheme but leaves the pre background variable empty, so light-theme text can land on a dark block. You have to theme the container yourself.","2026-07-07T02:30:00.000+05:30","nuxt",[421,423,424,425],"shiki","nuxt-content","dark-mode",{"path":427,"title":428,"description":429,"date":430,"updatedAt":405,"category":431,"tags":432,"image":405,"status":409},"\u002Farticles\u002Fdynamic-og-images-on-cloudflare-workers","Generating dynamic Open Graph images on Cloudflare Workers","Rendering per-page and per-article social cards at the edge with Satori and @cf-wasm\u002Fog: how the route works, what Satori refuses to render, and the cold-versus-warm numbers.","2026-07-06T22:00:00.000+05:30","cloudflare",[431,433,434,435,421],"workers","open-graph","satori",{"path":437,"title":438,"description":439,"date":440,"updatedAt":405,"category":431,"tags":441,"image":405,"status":409},"\u002Farticles\u002Fmigrating-a-nuxt-site-from-cloudflare-pages-to-workers","Migrating a Nuxt site from Cloudflare Pages to Workers","The full path from the cloudflare-pages preset to a cloudflare_module Worker: the config changes, the custom-domain cutover that no deploy step handles for you, and the gotchas that only show up in CI.","2026-07-06T21:00:00.000+05:30",[431,433,421,442,443],"nitro","devops",{"path":407,"title":32,"description":403,"date":402,"updatedAt":405,"category":99,"tags":445,"image":405,"status":409},[412,99,413],{"path":447,"title":448,"description":449,"date":450,"updatedAt":405,"category":431,"tags":451,"image":405,"status":409},"\u002Farticles\u002Ftil-workers-cache-nitro-passthrough","TIL: Enabling Workers Cache through Nitro without a native option","Nitro forwards arbitrary keys into the generated wrangler config, so you can turn on Cloudflare Workers Cache with a single line even though there is no dedicated Nitro option for it.","2026-07-06T14:30:00.000+05:30",[431,433,442,421],{"path":453,"title":454,"description":455,"date":456,"updatedAt":405,"category":457,"tags":458,"image":405,"status":409},"\u002Farticles\u002Fbuild-and-publish-vue-3-components-using-rollup","Build & Publish Vue 3 Components using Rollup.js","Let's build a reusable Vue 3 component using rollup","2022-07-04T16:20:09.000+05:30","vue",[459,460],"vue 3","rollup",{"left":4,"top":4,"width":9,"height":9,"rotate":4,"vFlip":6,"hFlip":6,"body":462},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m12 19l-7-7l7-7m7 7H5\"\u002F>",1783374868970]