753215c850
# PR description ## Summary - Upgrade the Effect v4 package from `4.0.0-beta.98` to `4.0.0-beta.101`. - Bump `effect-lens-next` to `2.0.0-beta.101`. - Normalize the v4 `LensImpl` and `ViewImpl` global symbol keys under the `@effect-lens` namespace. - Upgrade the monorepo toolchain, including TypeScript 7, Turbo, Biome, the Effect language service, and npm-check-updates. - Refresh the lockfile with the updated dependency graph. - Add new wide and square Effect Lens SVG branding. - Improve both npm README headers with: - The new square logo. - Package version, download, license, and Effect compatibility badges. - Clear warnings distinguishing the Effect v3 stable release from the Effect v4 beta. - Include the square logo in both published npm packages. ## Validation - TypeScript checks pass. - Both SVG assets validate successfully. - `npm pack --dry-run --ignore-scripts` succeeds for both packages. - Both npm tarballs include their relative README logo assets. --------- Co-authored-by: Julien Valverdé <julien.valverde@mailo.com> Reviewed-on: #8
87 lines
4.9 KiB
XML
87 lines
4.9 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="title desc" viewBox="0 0 512 512">
|
|
<title id="title">Effect Lens icon</title>
|
|
<desc id="desc">The layered Effect mark beneath a magnifying glass that highlights lines of code.</desc>
|
|
<defs>
|
|
<linearGradient id="background" x1="20" y1="16" x2="492" y2="496" gradientUnits="userSpaceOnUse">
|
|
<stop stop-color="#17152A"/>
|
|
<stop offset="1" stop-color="#0B1020"/>
|
|
</linearGradient>
|
|
<linearGradient id="layer-back" x1="52" y1="112" x2="260" y2="248" gradientUnits="userSpaceOnUse">
|
|
<stop stop-color="#6E56CF"/>
|
|
<stop offset="1" stop-color="#3B2F86"/>
|
|
</linearGradient>
|
|
<linearGradient id="layer-middle" x1="60" y1="80" x2="266" y2="216" gradientUnits="userSpaceOnUse">
|
|
<stop stop-color="#9B7BFF"/>
|
|
<stop offset="1" stop-color="#5A43BE"/>
|
|
</linearGradient>
|
|
<linearGradient id="layer-front" x1="66" y1="54" x2="274" y2="194" gradientUnits="userSpaceOnUse">
|
|
<stop stop-color="#272442"/>
|
|
<stop offset="1" stop-color="#17162A"/>
|
|
</linearGradient>
|
|
<linearGradient id="lens-ring" x1="122" y1="62" x2="278" y2="242" gradientUnits="userSpaceOnUse">
|
|
<stop stop-color="#82F7FF"/>
|
|
<stop offset="0.55" stop-color="#24D6E7"/>
|
|
<stop offset="1" stop-color="#00A9C0"/>
|
|
</linearGradient>
|
|
<linearGradient id="handle" x1="230" y1="204" x2="300" y2="284" gradientUnits="userSpaceOnUse">
|
|
<stop stop-color="#42E7F2"/>
|
|
<stop offset="1" stop-color="#8B7BFF"/>
|
|
</linearGradient>
|
|
<radialGradient id="lens-glass" cx="0" cy="0" r="1" gradientTransform="translate(166 108) rotate(48) scale(132)" gradientUnits="userSpaceOnUse">
|
|
<stop stop-color="#E5FDFF" stop-opacity="0.2"/>
|
|
<stop offset="0.62" stop-color="#3AE2EE" stop-opacity="0.1"/>
|
|
<stop offset="1" stop-color="#101529" stop-opacity="0.16"/>
|
|
</radialGradient>
|
|
<filter id="shadow" x="-30%" y="-30%" width="160%" height="170%" color-interpolation-filters="sRGB">
|
|
<feDropShadow dx="0" dy="12" stdDeviation="12" flood-color="#02040C" flood-opacity="0.45"/>
|
|
</filter>
|
|
<filter id="glow" x="-40%" y="-40%" width="180%" height="180%" color-interpolation-filters="sRGB">
|
|
<feGaussianBlur stdDeviation="5" result="blur"/>
|
|
<feFlood flood-color="#38E8F2" flood-opacity="0.34" result="color"/>
|
|
<feComposite in="color" in2="blur" operator="in" result="glow"/>
|
|
<feMerge>
|
|
<feMergeNode in="glow"/>
|
|
<feMergeNode in="SourceGraphic"/>
|
|
</feMerge>
|
|
</filter>
|
|
<clipPath id="lens-clip">
|
|
<circle cx="190" cy="142" r="67"/>
|
|
</clipPath>
|
|
</defs>
|
|
|
|
<rect x="12" y="12" width="488" height="488" rx="92" fill="url(#background)"/>
|
|
<rect x="13" y="13" width="486" height="486" rx="91" fill="none" stroke="#FFFFFF" stroke-opacity="0.09" stroke-width="2"/>
|
|
|
|
<g transform="translate(-19 15) scale(1.75)">
|
|
<g filter="url(#shadow)">
|
|
<path d="M48 164L154 108L274 173L168 230L48 164Z" fill="url(#layer-back)" stroke="#B7A8FF" stroke-opacity="0.3" stroke-width="2"/>
|
|
<path d="M48 132L154 76L274 141L168 198L48 132Z" fill="url(#layer-middle)" stroke="#C7BBFF" stroke-opacity="0.45" stroke-width="2"/>
|
|
<path d="M48 99L154 43L274 108L168 165L48 99Z" fill="url(#layer-front)" stroke="#B9ACFF" stroke-opacity="0.55" stroke-width="2"/>
|
|
</g>
|
|
|
|
<g opacity="0.55" stroke-linecap="round">
|
|
<path d="M92 92L145 64" stroke="#8B7BFF" stroke-width="7"/>
|
|
<path d="M105 107L172 72" stroke="#F0ECFF" stroke-width="7"/>
|
|
<path d="M119 122L156 102" stroke="#5F577F" stroke-width="7"/>
|
|
<path d="M166 97L211 121" stroke="#5F577F" stroke-width="7"/>
|
|
</g>
|
|
|
|
<g clip-path="url(#lens-clip)">
|
|
<circle cx="190" cy="142" r="67" fill="#11182C"/>
|
|
<path d="M126 112L186 80" stroke="#9C8CFF" stroke-width="10" stroke-linecap="round"/>
|
|
<path d="M136 132L221 87" stroke="#F6F3FF" stroke-width="10" stroke-linecap="round"/>
|
|
<path d="M147 153L202 124" stroke="#50E5EF" stroke-width="10" stroke-linecap="round"/>
|
|
<path d="M157 174L225 138" stroke="#B9F27C" stroke-width="10" stroke-linecap="round"/>
|
|
<path d="M169 195L207 175" stroke="#8B7BFF" stroke-width="10" stroke-linecap="round"/>
|
|
<circle cx="190" cy="142" r="67" fill="url(#lens-glass)"/>
|
|
<path d="M145 92C158 81 174 75 191 75" fill="none" stroke="#FFFFFF" stroke-opacity="0.4" stroke-width="5" stroke-linecap="round"/>
|
|
</g>
|
|
|
|
<circle cx="190" cy="142" r="72" fill="none" stroke="#06111D" stroke-opacity="0.85" stroke-width="16"/>
|
|
<circle cx="190" cy="142" r="73" fill="none" stroke="url(#lens-ring)" stroke-width="9" filter="url(#glow)"/>
|
|
<path d="M240 196L288 249" fill="none" stroke="#07111D" stroke-width="30" stroke-linecap="round"/>
|
|
<path d="M240 196L288 249" fill="none" stroke="url(#handle)" stroke-width="19" stroke-linecap="round"/>
|
|
<path d="M250 207L275 234" fill="none" stroke="#FFFFFF" stroke-opacity="0.3" stroke-width="4" stroke-linecap="round"/>
|
|
</g>
|
|
</svg>
|