export-svg-typescript 0.1.10 → 0.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?><svg height="800px" width="800px" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512.001 512.001" xml:space="preserve"><path style="fill:#FFCD60;" d="M401.43,8.171h-32.681v184.647l42.06-21.787V17.54C410.809,12.365,406.615,8.171,401.43,8.171z"/><path style="fill:#FFDB8A;" d="M368.749,8.171H61.832c-5.185,0-9.379,4.194-9.379,9.369v32.681L8.17,72.367l44.283,22.147v76.517 l32.681,21.787h292.995V17.54C378.128,12.365,373.934,8.171,368.749,8.171z"/><path style="fill:#27467A;" d="M378.128,168.852l-9.379,65.362h32.681c5.185,0,9.379-4.194,9.379-9.379v-55.982H378.128z"/><path style="fill:#2F5E88;" d="M52.453,168.852v55.982c0,5.185,4.194,9.379,9.379,9.379h306.917c5.185,0,9.379-4.194,9.379-9.379 v-55.982H52.453z"/><polygon style="fill:#27467A;" points="195.804,52.835 267.459,89.601 195.804,126.367 "/><path style="fill:#FFCD60;" d="M450.168,277.788c5.185,0,9.379,4.194,9.379,9.368v32.681l44.283,22.147l-44.283,22.147v76.517 l-42.06,21.787V277.788H450.168z"/><path style="fill:#FFDB8A;" d="M417.487,277.788H110.57c-5.185,0-9.379,4.194-9.379,9.368v153.491l32.681,21.787h292.995V287.157 C426.866,281.982,422.672,277.788,417.487,277.788z"/><path style="fill:#27467A;" d="M426.866,438.469h32.681v55.982c0,5.185-4.194,9.379-9.379,9.379h-32.681L426.866,438.469z"/><path style="fill:#2F5E88;" d="M101.191,438.469v55.982c0,5.185,4.194,9.379,9.379,9.379h306.917c5.185,0,9.379-4.194,9.379-9.379 v-55.982H101.191z"/><polygon style="fill:#FF0F47;" points="244.541,320.273 316.196,357.039 244.541,393.805 "/><path d="M418.978,224.839V17.545c0-9.674-7.871-17.544-17.543-17.544H61.828c-9.674,0-17.544,7.871-17.544,17.544v27.632 L4.516,65.06C1.748,66.443,0,69.273,0,72.367s1.748,5.924,4.516,7.307l39.767,19.884v125.279c0,9.675,7.871,17.545,17.544,17.545 h339.607C411.109,242.384,418.978,234.513,418.978,224.839z M26.439,72.367l29.669-14.834c2.768-1.383,4.516-4.213,4.516-7.307 V17.545c0-0.663,0.54-1.204,1.204-1.204h339.607c0.663,0,1.203,0.54,1.203,1.204v143.137H60.624V94.51 c0-3.095-1.748-5.924-4.516-7.307L26.439,72.367z M60.624,224.839v-47.816h342.014v47.816c0,0.665-0.539,1.205-1.203,1.205H61.828 C61.164,226.044,60.624,225.503,60.624,224.839z"/><path d="M378.127,193.363H85.135c-4.512,0-8.17,3.658-8.17,8.17s3.658,8.17,8.17,8.17h292.993c4.513,0,8.17-3.658,8.17-8.17 S382.64,193.363,378.127,193.363z"/><path d="M191.545,132.25c1.304,0.796,2.78,1.198,4.259,1.198c1.277,0,2.556-0.298,3.729-0.901l71.656-36.766 c2.727-1.399,4.44-4.205,4.44-7.269s-1.714-5.871-4.44-7.269l-71.656-36.766c-2.534-1.301-5.56-1.186-7.988,0.297 c-2.429,1.484-3.911,4.125-3.911,6.972v73.532C187.634,128.124,189.115,130.766,191.545,132.25z M203.974,65.121l45.588,23.391 l-45.589,23.391V65.121H203.974z"/><path d="M507.483,334.677l-39.768-19.884v-27.632c0-9.674-7.871-17.544-17.543-17.544H110.566c-9.674,0-17.544,7.871-17.544,17.544 v207.294c0,9.675,7.871,17.545,17.544,17.545h339.607c9.674,0,17.543-7.871,17.543-17.545V369.177l39.768-19.884 c2.768-1.385,4.517-4.213,4.517-7.307C512,338.89,510.252,336.06,507.483,334.677z M450.172,495.661H110.566 c-0.663,0-1.204-0.54-1.204-1.205v-47.816h342.014v47.816C451.376,495.12,450.836,495.661,450.172,495.661z M455.891,356.819 c-2.767,1.383-4.516,4.213-4.516,7.307v66.172H109.362V287.162c0-0.663,0.54-1.204,1.204-1.204h339.607 c0.663,0,1.203,0.54,1.203,1.204v32.681c0,3.095,1.748,5.924,4.516,7.307l29.669,14.834L455.891,356.819z"/><path d="M426.865,462.98H133.873c-4.512,0-8.17,3.658-8.17,8.17c0,4.512,3.658,8.17,8.17,8.17h292.993c4.513,0,8.17-3.658,8.17-8.17 C435.035,466.638,431.377,462.98,426.865,462.98z"/><path d="M319.926,350.859l-71.655-36.766c-2.534-1.301-5.56-1.186-7.988,0.297c-2.429,1.484-3.911,4.125-3.911,6.972v73.532 c0,2.846,1.482,5.488,3.911,6.972c1.304,0.796,2.78,1.198,4.259,1.198c1.277,0,2.556-0.298,3.729-0.901l71.655-36.766 c2.727-1.399,4.44-4.205,4.44-7.269S322.653,352.258,319.926,350.859z M252.711,381.52v-46.782l45.588,23.391L252.711,381.52z"/></svg>
package/demo/index.ts CHANGED
@@ -1,19 +1,34 @@
1
1
  // Do a Barrel Roll (auto-generated) index of SVG icons as JS exports, tree shaking to only the icons used.
2
2
 
3
+ /**
4
+ * Returns a customized SVG string for icon chat
5
+ *
6
+ * ![icon-chat](data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pjxzdmcgd2lkdGg9IjEwMHB4IiBoZWlnaHQ9IjEwMHB4IiAgIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgCSB2aWV3Qm94PSIwIDAgNTEyLjAwMSA1MTIuMDAxIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBzdHlsZT0iZmlsbDojRkZDRDYwOyIgZD0iTTQwMS40Myw4LjE3MWgtMzIuNjgxdjE4NC42NDdsNDIuMDYtMjEuNzg3VjE3LjU0QzQxMC44MDksMTIuMzY1LDQwNi42MTUsOC4xNzEsNDAxLjQzLDguMTcxeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiNGRkRCOEE7IiBkPSJNMzY4Ljc0OSw4LjE3MUg2MS44MzJjLTUuMTg1LDAtOS4zNzksNC4xOTQtOS4zNzksOS4zNjl2MzIuNjgxTDguMTcsNzIuMzY3bDQ0LjI4MywyMi4xNDd2NzYuNTE3CWwzMi42ODEsMjEuNzg3aDI5Mi45OTVWMTcuNTRDMzc4LjEyOCwxMi4zNjUsMzczLjkzNCw4LjE3MSwzNjguNzQ5LDguMTcxeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiMyNzQ2N0E7IiBkPSJNMzc4LjEyOCwxNjguODUybC05LjM3OSw2NS4zNjJoMzIuNjgxYzUuMTg1LDAsOS4zNzktNC4xOTQsOS4zNzktOS4zNzl2LTU1Ljk4MkgzNzguMTI4eiIvPjxwYXRoIHN0eWxlPSJmaWxsOiMyRjVFODg7IiBkPSJNNTIuNDUzLDE2OC44NTJ2NTUuOTgyYzAsNS4xODUsNC4xOTQsOS4zNzksOS4zNzksOS4zNzloMzA2LjkxN2M1LjE4NSwwLDkuMzc5LTQuMTk0LDkuMzc5LTkuMzc5CXYtNTUuOTgySDUyLjQ1M3oiLz48cG9seWdvbiBzdHlsZT0iZmlsbDojMjc0NjdBOyIgcG9pbnRzPSIxOTUuODA0LDUyLjgzNSAyNjcuNDU5LDg5LjYwMSAxOTUuODA0LDEyNi4zNjcgIi8+PHBhdGggc3R5bGU9ImZpbGw6I0ZGQ0Q2MDsiIGQ9Ik00NTAuMTY4LDI3Ny43ODhjNS4xODUsMCw5LjM3OSw0LjE5NCw5LjM3OSw5LjM2OHYzMi42ODFsNDQuMjgzLDIyLjE0N2wtNDQuMjgzLDIyLjE0N3Y3Ni41MTcJbC00Mi4wNiwyMS43ODdWMjc3Ljc4OEg0NTAuMTY4eiIvPjxwYXRoIHN0eWxlPSJmaWxsOiNGRkRCOEE7IiBkPSJNNDE3LjQ4NywyNzcuNzg4SDExMC41N2MtNS4xODUsMC05LjM3OSw0LjE5NC05LjM3OSw5LjM2OHYxNTMuNDkxbDMyLjY4MSwyMS43ODdoMjkyLjk5NVYyODcuMTU3CUM0MjYuODY2LDI4MS45ODIsNDIyLjY3MiwyNzcuNzg4LDQxNy40ODcsMjc3Ljc4OHoiLz48cGF0aCBzdHlsZT0iZmlsbDojMjc0NjdBOyIgZD0iTTQyNi44NjYsNDM4LjQ2OWgzMi42ODF2NTUuOTgyYzAsNS4xODUtNC4xOTQsOS4zNzktOS4zNzksOS4zNzloLTMyLjY4MUw0MjYuODY2LDQzOC40Njl6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzJGNUU4ODsiIGQ9Ik0xMDEuMTkxLDQzOC40Njl2NTUuOTgyYzAsNS4xODUsNC4xOTQsOS4zNzksOS4zNzksOS4zNzloMzA2LjkxN2M1LjE4NSwwLDkuMzc5LTQuMTk0LDkuMzc5LTkuMzc5CXYtNTUuOTgySDEwMS4xOTF6Ii8+PHBvbHlnb24gc3R5bGU9ImZpbGw6I0ZGMEY0NzsiIHBvaW50cz0iMjQ0LjU0MSwzMjAuMjczIDMxNi4xOTYsMzU3LjAzOSAyNDQuNTQxLDM5My44MDUgIi8+PHBhdGggZD0iTTQxOC45NzgsMjI0LjgzOVYxNy41NDVjMC05LjY3NC03Ljg3MS0xNy41NDQtMTcuNTQzLTE3LjU0NEg2MS44MjhjLTkuNjc0LDAtMTcuNTQ0LDcuODcxLTE3LjU0NCwxNy41NDR2MjcuNjMyCUw0LjUxNiw2NS4wNkMxLjc0OCw2Ni40NDMsMCw2OS4yNzMsMCw3Mi4zNjdzMS43NDgsNS45MjQsNC41MTYsNy4zMDdsMzkuNzY3LDE5Ljg4NHYxMjUuMjc5YzAsOS42NzUsNy44NzEsMTcuNTQ1LDE3LjU0NCwxNy41NDUJaDMzOS42MDdDNDExLjEwOSwyNDIuMzg0LDQxOC45NzgsMjM0LjUxMyw0MTguOTc4LDIyNC44Mzl6IE0yNi40MzksNzIuMzY3bDI5LjY2OS0xNC44MzRjMi43NjgtMS4zODMsNC41MTYtNC4yMTMsNC41MTYtNy4zMDcJVjE3LjU0NWMwLTAuNjYzLDAuNTQtMS4yMDQsMS4yMDQtMS4yMDRoMzM5LjYwN2MwLjY2MywwLDEuMjAzLDAuNTQsMS4yMDMsMS4yMDR2MTQzLjEzN0g2MC42MjRWOTQuNTEJYzAtMy4wOTUtMS43NDgtNS45MjQtNC41MTYtNy4zMDdMMjYuNDM5LDcyLjM2N3ogTTYwLjYyNCwyMjQuODM5di00Ny44MTZoMzQyLjAxNHY0Ny44MTZjMCwwLjY2NS0wLjUzOSwxLjIwNS0xLjIwMywxLjIwNUg2MS44MjgJQzYxLjE2NCwyMjYuMDQ0LDYwLjYyNCwyMjUuNTAzLDYwLjYyNCwyMjQuODM5eiIvPjxwYXRoIGQ9Ik0zNzguMTI3LDE5My4zNjNIODUuMTM1Yy00LjUxMiwwLTguMTcsMy42NTgtOC4xNyw4LjE3czMuNjU4LDguMTcsOC4xNyw4LjE3aDI5Mi45OTNjNC41MTMsMCw4LjE3LTMuNjU4LDguMTctOC4xNwlTMzgyLjY0LDE5My4zNjMsMzc4LjEyNywxOTMuMzYzeiIvPjxwYXRoIGQ9Ik0xOTEuNTQ1LDEzMi4yNWMxLjMwNCwwLjc5NiwyLjc4LDEuMTk4LDQuMjU5LDEuMTk4YzEuMjc3LDAsMi41NTYtMC4yOTgsMy43MjktMC45MDFsNzEuNjU2LTM2Ljc2NgljMi43MjctMS4zOTksNC40NC00LjIwNSw0LjQ0LTcuMjY5cy0xLjcxNC01Ljg3MS00LjQ0LTcuMjY5bC03MS42NTYtMzYuNzY2Yy0yLjUzNC0xLjMwMS01LjU2LTEuMTg2LTcuOTg4LDAuMjk3CWMtMi40MjksMS40ODQtMy45MTEsNC4xMjUtMy45MTEsNi45NzJ2NzMuNTMyQzE4Ny42MzQsMTI4LjEyNCwxODkuMTE1LDEzMC43NjYsMTkxLjU0NSwxMzIuMjV6IE0yMDMuOTc0LDY1LjEyMWw0NS41ODgsMjMuMzkxCWwtNDUuNTg5LDIzLjM5MVY2NS4xMjFIMjAzLjk3NHoiLz48cGF0aCBkPSJNNTA3LjQ4MywzMzQuNjc3bC0zOS43NjgtMTkuODg0di0yNy42MzJjMC05LjY3NC03Ljg3MS0xNy41NDQtMTcuNTQzLTE3LjU0NEgxMTAuNTY2Yy05LjY3NCwwLTE3LjU0NCw3Ljg3MS0xNy41NDQsMTcuNTQ0CXYyMDcuMjk0YzAsOS42NzUsNy44NzEsMTcuNTQ1LDE3LjU0NCwxNy41NDVoMzM5LjYwN2M5LjY3NCwwLDE3LjU0My03Ljg3MSwxNy41NDMtMTcuNTQ1VjM2OS4xNzdsMzkuNzY4LTE5Ljg4NAljMi43NjgtMS4zODUsNC41MTctNC4yMTMsNC41MTctNy4zMDdDNTEyLDMzOC44OSw1MTAuMjUyLDMzNi4wNiw1MDcuNDgzLDMzNC42Nzd6IE00NTAuMTcyLDQ5NS42NjFIMTEwLjU2NgljLTAuNjYzLDAtMS4yMDQtMC41NC0xLjIwNC0xLjIwNXYtNDcuODE2aDM0Mi4wMTR2NDcuODE2QzQ1MS4zNzYsNDk1LjEyLDQ1MC44MzYsNDk1LjY2MSw0NTAuMTcyLDQ5NS42NjF6IE00NTUuODkxLDM1Ni44MTkJYy0yLjc2NywxLjM4My00LjUxNiw0LjIxMy00LjUxNiw3LjMwN3Y2Ni4xNzJIMTA5LjM2MlYyODcuMTYyYzAtMC42NjMsMC41NC0xLjIwNCwxLjIwNC0xLjIwNGgzMzkuNjA3CWMwLjY2MywwLDEuMjAzLDAuNTQsMS4yMDMsMS4yMDR2MzIuNjgxYzAsMy4wOTUsMS43NDgsNS45MjQsNC41MTYsNy4zMDdsMjkuNjY5LDE0LjgzNEw0NTUuODkxLDM1Ni44MTl6Ii8+PHBhdGggZD0iTTQyNi44NjUsNDYyLjk4SDEzMy44NzNjLTQuNTEyLDAtOC4xNywzLjY1OC04LjE3LDguMTdjMCw0LjUxMiwzLjY1OCw4LjE3LDguMTcsOC4xN2gyOTIuOTkzYzQuNTEzLDAsOC4xNy0zLjY1OCw4LjE3LTguMTcJQzQzNS4wMzUsNDY2LjYzOCw0MzEuMzc3LDQ2Mi45OCw0MjYuODY1LDQ2Mi45OHoiLz48cGF0aCBkPSJNMzE5LjkyNiwzNTAuODU5bC03MS42NTUtMzYuNzY2Yy0yLjUzNC0xLjMwMS01LjU2LTEuMTg2LTcuOTg4LDAuMjk3Yy0yLjQyOSwxLjQ4NC0zLjkxMSw0LjEyNS0zLjkxMSw2Ljk3MnY3My41MzIJYzAsMi44NDYsMS40ODIsNS40ODgsMy45MTEsNi45NzJjMS4zMDQsMC43OTYsMi43OCwxLjE5OCw0LjI1OSwxLjE5OGMxLjI3NywwLDIuNTU2LTAuMjk4LDMuNzI5LTAuOTAxbDcxLjY1NS0zNi43NjYJYzIuNzI3LTEuMzk5LDQuNDQtNC4yMDUsNC40NC03LjI2OVMzMjIuNjUzLDM1Mi4yNTgsMzE5LjkyNiwzNTAuODU5eiBNMjUyLjcxMSwzODEuNTJ2LTQ2Ljc4Mmw0NS41ODgsMjMuMzkxTDI1Mi43MTEsMzgxLjUyeiIvPjwvc3ZnPg==)
7
+ * @param {Object} options - Configuration options
8
+ * @param {string[]} [options.colors] - Array of hex colors to replace existing colors
9
+ * @param {number} [options.width] - Width of the SVG (default: 800)
10
+ * @param {number} [options.height] - Height of the SVG (default: 800)
11
+ * @param {number} [options.size] - Size for both width and height
12
+ * @example iconChat({ colors: ['#0099e5', '#ff4c4c'], size: 100 });
13
+ * @returns {string} SVG string with applied customizations
14
+ */
15
+ export const iconChat = (options: LoadingOptions = {}) => customSVG(options,
16
+ `<?xml version="1.0" encoding="iso-8859-1"?><svg height="800px" width="800px" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512.001 512.001" xml:space="preserve"><path style="fill:#FFCD60;" d="M401.43,8.171h-32.681v184.647l42.06-21.787V17.54C410.809,12.365,406.615,8.171,401.43,8.171z"/><path style="fill:#FFDB8A;" d="M368.749,8.171H61.832c-5.185,0-9.379,4.194-9.379,9.369v32.681L8.17,72.367l44.283,22.147v76.517 l32.681,21.787h292.995V17.54C378.128,12.365,373.934,8.171,368.749,8.171z"/><path style="fill:#27467A;" d="M378.128,168.852l-9.379,65.362h32.681c5.185,0,9.379-4.194,9.379-9.379v-55.982H378.128z"/><path style="fill:#2F5E88;" d="M52.453,168.852v55.982c0,5.185,4.194,9.379,9.379,9.379h306.917c5.185,0,9.379-4.194,9.379-9.379 v-55.982H52.453z"/><polygon style="fill:#27467A;" points="195.804,52.835 267.459,89.601 195.804,126.367 "/><path style="fill:#FFCD60;" d="M450.168,277.788c5.185,0,9.379,4.194,9.379,9.368v32.681l44.283,22.147l-44.283,22.147v76.517 l-42.06,21.787V277.788H450.168z"/><path style="fill:#FFDB8A;" d="M417.487,277.788H110.57c-5.185,0-9.379,4.194-9.379,9.368v153.491l32.681,21.787h292.995V287.157 C426.866,281.982,422.672,277.788,417.487,277.788z"/><path style="fill:#27467A;" d="M426.866,438.469h32.681v55.982c0,5.185-4.194,9.379-9.379,9.379h-32.681L426.866,438.469z"/><path style="fill:#2F5E88;" d="M101.191,438.469v55.982c0,5.185,4.194,9.379,9.379,9.379h306.917c5.185,0,9.379-4.194,9.379-9.379 v-55.982H101.191z"/><polygon style="fill:#FF0F47;" points="244.541,320.273 316.196,357.039 244.541,393.805 "/><path d="M418.978,224.839V17.545c0-9.674-7.871-17.544-17.543-17.544H61.828c-9.674,0-17.544,7.871-17.544,17.544v27.632 L4.516,65.06C1.748,66.443,0,69.273,0,72.367s1.748,5.924,4.516,7.307l39.767,19.884v125.279c0,9.675,7.871,17.545,17.544,17.545 h339.607C411.109,242.384,418.978,234.513,418.978,224.839z M26.439,72.367l29.669-14.834c2.768-1.383,4.516-4.213,4.516-7.307 V17.545c0-0.663,0.54-1.204,1.204-1.204h339.607c0.663,0,1.203,0.54,1.203,1.204v143.137H60.624V94.51 c0-3.095-1.748-5.924-4.516-7.307L26.439,72.367z M60.624,224.839v-47.816h342.014v47.816c0,0.665-0.539,1.205-1.203,1.205H61.828 C61.164,226.044,60.624,225.503,60.624,224.839z"/><path d="M378.127,193.363H85.135c-4.512,0-8.17,3.658-8.17,8.17s3.658,8.17,8.17,8.17h292.993c4.513,0,8.17-3.658,8.17-8.17 S382.64,193.363,378.127,193.363z"/><path d="M191.545,132.25c1.304,0.796,2.78,1.198,4.259,1.198c1.277,0,2.556-0.298,3.729-0.901l71.656-36.766 c2.727-1.399,4.44-4.205,4.44-7.269s-1.714-5.871-4.44-7.269l-71.656-36.766c-2.534-1.301-5.56-1.186-7.988,0.297 c-2.429,1.484-3.911,4.125-3.911,6.972v73.532C187.634,128.124,189.115,130.766,191.545,132.25z M203.974,65.121l45.588,23.391 l-45.589,23.391V65.121H203.974z"/><path d="M507.483,334.677l-39.768-19.884v-27.632c0-9.674-7.871-17.544-17.543-17.544H110.566c-9.674,0-17.544,7.871-17.544,17.544 v207.294c0,9.675,7.871,17.545,17.544,17.545h339.607c9.674,0,17.543-7.871,17.543-17.545V369.177l39.768-19.884 c2.768-1.385,4.517-4.213,4.517-7.307C512,338.89,510.252,336.06,507.483,334.677z M450.172,495.661H110.566 c-0.663,0-1.204-0.54-1.204-1.205v-47.816h342.014v47.816C451.376,495.12,450.836,495.661,450.172,495.661z M455.891,356.819 c-2.767,1.383-4.516,4.213-4.516,7.307v66.172H109.362V287.162c0-0.663,0.54-1.204,1.204-1.204h339.607 c0.663,0,1.203,0.54,1.203,1.204v32.681c0,3.095,1.748,5.924,4.516,7.307l29.669,14.834L455.891,356.819z"/><path d="M426.865,462.98H133.873c-4.512,0-8.17,3.658-8.17,8.17c0,4.512,3.658,8.17,8.17,8.17h292.993c4.513,0,8.17-3.658,8.17-8.17 C435.035,466.638,431.377,462.98,426.865,462.98z"/><path d="M319.926,350.859l-71.655-36.766c-2.534-1.301-5.56-1.186-7.988,0.297c-2.429,1.484-3.911,4.125-3.911,6.972v73.532 c0,2.846,1.482,5.488,3.911,6.972c1.304,0.796,2.78,1.198,4.259,1.198c1.277,0,2.556-0.298,3.729-0.901l71.655-36.766 c2.727-1.399,4.44-4.205,4.44-7.269S322.653,352.258,319.926,350.859z M252.711,381.52v-46.782l45.588,23.391L252.711,381.52z"/></svg>`);
17
+
3
18
  /**
4
19
  * Returns a customized SVG string for icon loading-bouncy-ball
5
20
  *
6
- * ![loading-bouncy-ball](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIiBzdHlsZT0ic2hhcGUtcmVuZGVyaW5nOiBhdXRvOyBkaXNwbGF5OiBibG9jazsgIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGc+PGNpcmNsZSBmaWxsPSIjZTE1YjY0IiByPSIxMyIgY3k9IjIzIiBjeD0iNTAiPgogIDxhbmltYXRlIHZhbHVlcz0iMjM7Nzc7MjMiIGtleVRpbWVzPSIwOzAuNTsxIiBrZXlTcGxpbmVzPSIwLjQ1IDAgMC45IDAuNTU7MCAwLjQ1IDAuNTUgMC45IiBjYWxjTW9kZT0ic3BsaW5lIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgZHVyPSIxcyIgYXR0cmlidXRlTmFtZT0iY3kiPjwvYW5pbWF0ZT4KPC9jaXJjbGU+PGc+PC9nPjwvZz48L3N2Zz4=)
21
+ * ![loading-bouncy-ball](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHN0eWxlPSJzaGFwZS1yZW5kZXJpbmc6IGF1dG87IGRpc3BsYXk6IGJsb2NrOyAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48Zz48Y2lyY2xlIGZpbGw9IiNlMTViNjQiIHI9IjEzIiBjeT0iMjMiIGN4PSI1MCI+CiAgPGFuaW1hdGUgdmFsdWVzPSIyMzs3NzsyMyIga2V5VGltZXM9IjA7MC41OzEiIGtleVNwbGluZXM9IjAuNDUgMCAwLjkgMC41NTswIDAuNDUgMC41NSAwLjkiIGNhbGNNb2RlPSJzcGxpbmUiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBkdXI9IjFzIiBhdHRyaWJ1dGVOYW1lPSJjeSI+PC9hbmltYXRlPgo8L2NpcmNsZT48Zz48L2c+PC9nPjwvc3ZnPg==)
7
22
  * @param {Object} options - Configuration options
8
23
  * @param {string[]} [options.colors] - Array of hex colors to replace existing colors
9
- * @param {number} [options.width] - Width of the SVG (default: 100)
10
- * @param {number} [options.height] - Height of the SVG (default: 100)
24
+ * @param {number} [options.width] - Width of the SVG (default: 200)
25
+ * @param {number} [options.height] - Height of the SVG (default: 200)
11
26
  * @param {number} [options.size] - Size for both width and height
12
27
  * @example loadingBouncyBall({ colors: ['#0099e5', '#ff4c4c'], size: 100 });
13
28
  * @returns {string} SVG string with applied customizations
14
29
  */
15
30
  export const loadingBouncyBall = (options: LoadingOptions = {}) => customSVG(options,
16
- `<svg width="100px" height="100px" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" style="shape-rendering: auto; display: block; "><g><circle fill="#e15b64" r="13" cy="23" cx="50"><animate values="23;77;23" keyTimes="0;0.5;1" keySplines="0.45 0 0.9 0.55;0 0.45 0.55 0.9" calcMode="spline" repeatCount="indefinite" dur="1s" attributeName="cy"></animate></circle><g></g></g></svg>`);
31
+ `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" width="200" height="200" style="shape-rendering: auto; display: block; "><g><circle fill="#e15b64" r="13" cy="23" cx="50"><animate values="23;77;23" keyTimes="0;0.5;1" keySplines="0.45 0 0.9 0.55;0 0.45 0.55 0.9" calcMode="spline" repeatCount="indefinite" dur="1s" attributeName="cy"></animate></circle><g></g></g></svg>`);
17
32
 
18
33
  /**
19
34
  * Returns a customized SVG string for icon loading-double-ring
@@ -27,19 +27,19 @@ export function convertSVGFolderToExportIndex(inputFolder, indexPath) {
27
27
  const baseName = path.basename(svgFile, ".svg");
28
28
 
29
29
  // Read SVG content
30
- let svgContent = fs.readFileSync(inputPath, "utf8");
30
+ let svgPreview, svgContent = fs.readFileSync(inputPath, "utf8");
31
31
 
32
32
  // Extract original dimensions from SVG
33
- const widthMatch = svgContent.match(/width="(\d+)"/);
34
- const heightMatch = svgContent.match(/height="(\d+)"/);
35
- const defaultWidth = widthMatch ? widthMatch[1] : "100";
36
- const defaultHeight = heightMatch ? heightMatch[1] : "100";
33
+ const widthMatch = svgContent.match(/width="(\d+)(px)*"/);
34
+ const heightMatch = svgContent.match(/height="(\d+)(px)*"/);
35
+ const defaultWidth = widthMatch ? widthMatch[1] : 100;
36
+ const defaultHeight = heightMatch ? heightMatch[1] : 100;
37
37
 
38
- if (!widthMatch)
39
- svgContent = svgContent.replace('<svg', '<svg width="100px" height="100px"')
38
+ if (!widthMatch || defaultWidth > 400)
39
+ svgPreview = svgContent.replace(/width="(\d+)(px)*"/, '').replace(/height="(\d+)(px)*"/, '').replace('<svg', '<svg width="100px" height="100px"')
40
40
  // Convert SVG string to Base64
41
41
  const svgBase64 = `data:image/svg+xml;base64,${btoa(
42
- unescape(encodeURIComponent(svgContent))
42
+ unescape(encodeURIComponent(svgPreview || svgContent))
43
43
  )}`;
44
44
 
45
45
  const jsContent = `/**
@@ -56,7 +56,7 @@ export function convertSVGFolderToExportIndex(inputFolder, indexPath) {
56
56
  )}({ colors: ['#0099e5', '#ff4c4c'], size: 100 });
57
57
  * @returns {string} SVG string with applied customizations
58
58
  */
59
- export const ${toCamelCase(baseName)} = (options: LoadingOptions = {}) => customSVG(options,
59
+ export const ${toCamelCase(baseName)} = (options: LoadingOptions = {}) => customSVG(options,
60
60
  \`${svgContent
61
61
  .replace(/`/g, "\\`")
62
62
  .replace(' xmlns:xlink="http://www.w3.org/1999/xlink"', "")
@@ -94,13 +94,16 @@ export const ${toCamelCase(baseName)} = (options: LoadingOptions = {}) => custo
94
94
  function customSVG( options: LoadingOptions, svgString: string) {
95
95
  const { colors = [], width, height, size, raw = false } = options;
96
96
 
97
- const widthMatch = svgString.match(/width="(d+)"/);
98
- const heightMatch = svgString.match(/height="(d+)"/);
97
+ const widthMatch = svgString.match(/width="[^"]*"/);
98
+ const heightMatch = svgString.match(/height="[^"]*"/);
99
99
  const finalWidth = size || width || widthMatch?.[1] || '100';
100
100
  const finalHeight = size || height || heightMatch?.[1] || '100';
101
-
102
- svgString = svgString.replace(/width="[^"]*"/g, \`width="\${finalWidth}"\`);
103
- svgString = svgString.replace(/height="[^"]*"/g, \`height="\${finalHeight}"\`);
101
+
102
+ if (width || height || size) {
103
+ svgString = svgString.replace(/width="[^"]*"/, \`width="${finalWidth}px"\`);
104
+ svgString = svgString.replace(/height="[^"]*"/, \`height="${finalHeight}px"\`);
105
+ }
106
+
104
107
 
105
108
  // If colors array is provided, replace hex colors in order of appearance
106
109
  if (colors && colors.length > 0) {
@@ -133,14 +136,10 @@ interface LoadingOptions {
133
136
  /** Whether to return the raw SVG string or an img tag */
134
137
  raw?: boolean;
135
138
  }
136
-
137
139
  `;
138
140
 
139
141
  fs.writeFileSync(indexPath, indexContent);
140
142
 
141
-
142
-
143
-
144
143
  console.log(
145
144
  `✨ Converted ${svgFiles.length} SVG files to customizable JS export files`
146
145
  );
package/package.json CHANGED
@@ -3,10 +3,11 @@
3
3
  "module": "./export-svg-typescript.js",
4
4
  "author": "vtempest",
5
5
  "license": "MIT",
6
- "version": "0.1.10",
6
+ "version": "0.1.12",
7
7
  "description": "Export SVG to TypeScript",
8
8
  "type": "module",
9
9
  "scripts": {
10
+ "pub": "npm version patch && npm publish",
10
11
  "demo": "node export-svg-typescript.js -i ./demo -o ./demo/index.ts"
11
12
  },
12
13
  "bin": {