UNPKG

grab-url

Version:

📥 Generate Request to API from Browser

216 lines (201 loc) • 71.6 kB
// Do a Barrel Roll (auto-generated) index of SVG icons as JS exports, tree shaking to only the icons used. /** * Returns a customized SVG string for icon loading-bouncy-ball * * ![loading-bouncy-ball](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHN0eWxlPSJzaGFwZS1yZW5kZXJpbmc6IGF1dG87IGRpc3BsYXk6IGJsb2NrOyAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48Zz48Y2lyY2xlIGZpbGw9IiNlMTViNjQiIHI9IjEzIiBjeT0iMjMiIGN4PSI1MCI+CiAgPGFuaW1hdGUgdmFsdWVzPSIyMzs3NzsyMyIga2V5VGltZXM9IjA7MC41OzEiIGtleVNwbGluZXM9IjAuNDUgMCAwLjkgMC41NTswIDAuNDUgMC41NSAwLjkiIGNhbGNNb2RlPSJzcGxpbmUiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBkdXI9IjFzIiBhdHRyaWJ1dGVOYW1lPSJjeSI+PC9hbmltYXRlPgo8L2NpcmNsZT48Zz48L2c+PC9nPjwvc3ZnPg==) * @param {Object} options - Configuration options * @param {string[]} [options.colors] - Array of hex colors to replace existing colors * @param {number} [options.width] - Width of the SVG (default: 200) * @param {number} [options.height] - Height of the SVG (default: 200) * @param {number} [options.size] - Size for both width and height * @example loadingBouncyBall({ colors: ['#0099e5', '#ff4c4c'], size: 100 }); * @returns {string} SVG string with applied customizations */ export const loadingBouncyBall = (options: LoadingOptions = {}) => customSVG(options, `<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>`); /** * Returns a customized SVG string for icon loading-double-ring * * ![loading-double-ring](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHN0eWxlPSJzaGFwZS1yZW5kZXJpbmc6IGF1dG87IGRpc3BsYXk6IGJsb2NrOyAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48Zz48Y2lyY2xlIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWRhc2hhcnJheT0iNTAuMjY1NDgyNDU3NDM2NjkgNTAuMjY1NDgyNDU3NDM2NjkiIHN0cm9rZT0iIzAwOTllNSIgc3Ryb2tlLXdpZHRoPSI4IiByPSIzMiIgY3k9IjUwIiBjeD0iNTAiPgogIDxhbmltYXRlVHJhbnNmb3JtIHZhbHVlcz0iMCA1MCA1MDszNjAgNTAgNTAiIGtleVRpbWVzPSIwOzEiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBkdXI9IjFzIiB0eXBlPSJyb3RhdGUiIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSI+PC9hbmltYXRlVHJhbnNmb3JtPgo8L2NpcmNsZT4KPGNpcmNsZSBzdHJva2UtbGluZWNhcD0icm91bmQiIGZpbGw9Im5vbmUiIHN0cm9rZS1kYXNob2Zmc2V0PSIzNi4xMjgzMTU1MTYyODI2MiIgc3Ryb2tlLWRhc2hhcnJheT0iMzYuMTI4MzE1NTE2MjgyNjIgMzYuMTI4MzE1NTE2MjgyNjIiIHN0cm9rZT0iI2ZmNGM0YyIgc3Ryb2tlLXdpZHRoPSI4IiByPSIyMyIgY3k9IjUwIiBjeD0iNTAiPgogIDxhbmltYXRlVHJhbnNmb3JtIHZhbHVlcz0iMCA1MCA1MDstMzYwIDUwIDUwIiBrZXlUaW1lcz0iMDsxIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgZHVyPSIxcyIgdHlwZT0icm90YXRlIiBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iPjwvYW5pbWF0ZVRyYW5zZm9ybT4KPC9jaXJjbGU+PGc+PC9nPjwvZz48L3N2Zz4=) * @param {Object} options - Configuration options * @param {string[]} [options.colors] - Array of hex colors to replace existing colors * @param {number} [options.width] - Width of the SVG (default: 200) * @param {number} [options.height] - Height of the SVG (default: 200) * @param {number} [options.size] - Size for both width and height * @example loadingDoubleRing({ colors: ['#0099e5', '#ff4c4c'], size: 100 }); * @returns {string} SVG string with applied customizations */ export const loadingDoubleRing = (options: LoadingOptions = {}) => customSVG(options, `<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 stroke-linecap="round" fill="none" stroke-dasharray="50.26548245743669 50.26548245743669" stroke="#0099e5" stroke-width="8" r="32" cy="50" cx="50"><animateTransform values="0 50 50;360 50 50" keyTimes="0;1" repeatCount="indefinite" dur="1s" type="rotate" attributeName="transform"></animateTransform></circle><circle stroke-linecap="round" fill="none" stroke-dashoffset="36.12831551628262" stroke-dasharray="36.12831551628262 36.12831551628262" stroke="#ff4c4c" stroke-width="8" r="23" cy="50" cx="50"><animateTransform values="0 50 50;-360 50 50" keyTimes="0;1" repeatCount="indefinite" dur="1s" type="rotate" attributeName="transform"></animateTransform></circle><g></g></g></svg>`); /** * Returns a customized SVG string for icon loading-eclipse * * ![loading-eclipse](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHN0eWxlPSJzaGFwZS1yZW5kZXJpbmc6IGF1dG87IGRpc3BsYXk6IGJsb2NrOyI+PGc+PHBhdGggc3Ryb2tlPSJub25lIiBmaWxsPSIjZmZiOTAwIiBkPSJNMTAgNTBBNDAgNDAgMCAwIDAgOTAgNTBBNDAgNDIgMCAwIDEgMTAgNTAiPgogIDxhbmltYXRlVHJhbnNmb3JtIHZhbHVlcz0iMCA1MCA1MTszNjAgNTAgNTEiIGtleVRpbWVzPSIwOzEiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBkdXI9IjFzIiB0eXBlPSJyb3RhdGUiIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSI+PC9hbmltYXRlVHJhbnNmb3JtPgo8L3BhdGg+PGc+PC9nPjwvZz48L3N2Zz4=) * @param {Object} options - Configuration options * @param {string[]} [options.colors] - Array of hex colors to replace existing colors * @param {number} [options.width] - Width of the SVG (default: 200) * @param {number} [options.height] - Height of the SVG (default: 200) * @param {number} [options.size] - Size for both width and height * @example loadingEclipse({ colors: ['#0099e5', '#ff4c4c'], size: 100 }); * @returns {string} SVG string with applied customizations */ export const loadingEclipse = (options: LoadingOptions = {}) => customSVG(options, `<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><path stroke="none" fill="#ffb900" d="M10 50A40 40 0 0 0 90 50A40 42 0 0 1 10 50"><animateTransform values="0 50 51;360 50 51" keyTimes="0;1" repeatCount="indefinite" dur="1s" type="rotate" attributeName="transform"></animateTransform></path><g></g></g></svg>`); /** * Returns a customized SVG string for icon loading-ellipsis * * ![loading-ellipsis](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHN0eWxlPSJzaGFwZS1yZW5kZXJpbmc6IGF1dG87IGRpc3BsYXk6IGJsb2NrOyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxnPjxjaXJjbGUgZmlsbD0iI2QyMDk2MiIgcj0iMTAiIGN5PSI1MCIgY3g9Ijg0Ij4KICAgIDxhbmltYXRlIGJlZ2luPSIwcyIga2V5U3BsaW5lcz0iMCAwLjUgMC41IDEiIHZhbHVlcz0iMTA7MCIga2V5VGltZXM9IjA7MSIgY2FsY01vZGU9InNwbGluZSIgZHVyPSIwLjI1cyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGF0dHJpYnV0ZU5hbWU9InIiPjwvYW5pbWF0ZT4KICAgIDxhbmltYXRlIGJlZ2luPSIwcyIgdmFsdWVzPSIjZDIwOTYyOyMwMGE3OGU7IzdhYzE0MzsjZjQ3NzIxOyNkMjA5NjIiIGtleVRpbWVzPSIwOzAuMjU7MC41OzAuNzU7MSIgY2FsY01vZGU9ImRpc2NyZXRlIiBkdXI9IjFzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgYXR0cmlidXRlTmFtZT0iZmlsbCI+PC9hbmltYXRlPgo8L2NpcmNsZT48Y2lyY2xlIGZpbGw9IiNkMjA5NjIiIHI9IjEwIiBjeT0iNTAiIGN4PSIxNiI+CiAgPGFuaW1hdGUgYmVnaW49IjBzIiBrZXlTcGxpbmVzPSIwIDAuNSAwLjUgMTswIDAuNSAwLjUgMTswIDAuNSAwLjUgMTswIDAuNSAwLjUgMSIgdmFsdWVzPSIwOzA7MTA7MTA7MTAiIGtleVRpbWVzPSIwOzAuMjU7MC41OzAuNzU7MSIgY2FsY01vZGU9InNwbGluZSIgZHVyPSIxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGF0dHJpYnV0ZU5hbWU9InIiPjwvYW5pbWF0ZT4KICA8YW5pbWF0ZSBiZWdpbj0iMHMiIGtleVNwbGluZXM9IjAgMC41IDAuNSAxOzAgMC41IDAuNSAxOzAgMC41IDAuNSAxOzAgMC41IDAuNSAxIiB2YWx1ZXM9IjE2OzE2OzE2OzUwOzg0IiBrZXlUaW1lcz0iMDswLjI1OzAuNTswLjc1OzEiIGNhbGNNb2RlPSJzcGxpbmUiIGR1cj0iMXMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBhdHRyaWJ1dGVOYW1lPSJjeCI+PC9hbmltYXRlPgo8L2NpcmNsZT48Y2lyY2xlIGZpbGw9IiNmNDc3MjEiIHI9IjEwIiBjeT0iNTAiIGN4PSI1MCI+CiAgPGFuaW1hdGUgYmVnaW49Ii0wLjI1cyIga2V5U3BsaW5lcz0iMCAwLjUgMC41IDE7MCAwLjUgMC41IDE7MCAwLjUgMC41IDE7MCAwLjUgMC41IDEiIHZhbHVlcz0iMDswOzEwOzEwOzEwIiBrZXlUaW1lcz0iMDswLjI1OzAuNTswLjc1OzEiIGNhbGNNb2RlPSJzcGxpbmUiIGR1cj0iMXMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBhdHRyaWJ1dGVOYW1lPSJyIj48L2FuaW1hdGU+CiAgPGFuaW1hdGUgYmVnaW49Ii0wLjI1cyIga2V5U3BsaW5lcz0iMCAwLjUgMC41IDE7MCAwLjUgMC41IDE7MCAwLjUgMC41IDE7MCAwLjUgMC41IDEiIHZhbHVlcz0iMTY7MTY7MTY7NTA7ODQiIGtleVRpbWVzPSIwOzAuMjU7MC41OzAuNzU7MSIgY2FsY01vZGU9InNwbGluZSIgZHVyPSIxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGF0dHJpYnV0ZU5hbWU9ImN4Ij48L2FuaW1hdGU+CjwvY2lyY2xlPjxjaXJjbGUgZmlsbD0iIzdhYzE0MyIgcj0iMTAiIGN5PSI1MCIgY3g9Ijg0Ij4KICA8YW5pbWF0ZSBiZWdpbj0iLTAuNXMiIGtleVNwbGluZXM9IjAgMC41IDAuNSAxOzAgMC41IDAuNSAxOzAgMC41IDAuNSAxOzAgMC41IDAuNSAxIiB2YWx1ZXM9IjA7MDsxMDsxMDsxMCIga2V5VGltZXM9IjA7MC4yNTswLjU7MC43NTsxIiBjYWxjTW9kZT0ic3BsaW5lIiBkdXI9IjFzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgYXR0cmlidXRlTmFtZT0iciI+PC9hbmltYXRlPgogIDxhbmltYXRlIGJlZ2luPSItMC41cyIga2V5U3BsaW5lcz0iMCAwLjUgMC41IDE7MCAwLjUgMC41IDE7MCAwLjUgMC41IDE7MCAwLjUgMC41IDEiIHZhbHVlcz0iMTY7MTY7MTY7NTA7ODQiIGtleVRpbWVzPSIwOzAuMjU7MC41OzAuNzU7MSIgY2FsY01vZGU9InNwbGluZSIgZHVyPSIxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGF0dHJpYnV0ZU5hbWU9ImN4Ij48L2FuaW1hdGU+CjwvY2lyY2xlPjxjaXJjbGUgZmlsbD0iIzAwYTc4ZSIgcj0iMTAiIGN5PSI1MCIgY3g9IjE2Ij4KICA8YW5pbWF0ZSBiZWdpbj0iLTAuNzVzIiBrZXlTcGxpbmVzPSIwIDAuNSAwLjUgMTswIDAuNSAwLjUgMTswIDAuNSAwLjUgMTswIDAuNSAwLjUgMSIgdmFsdWVzPSIwOzA7MTA7MTA7MTAiIGtleVRpbWVzPSIwOzAuMjU7MC41OzAuNzU7MSIgY2FsY01vZGU9InNwbGluZSIgZHVyPSIxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGF0dHJpYnV0ZU5hbWU9InIiPjwvYW5pbWF0ZT4KICA8YW5pbWF0ZSBiZWdpbj0iLTAuNzVzIiBrZXlTcGxpbmVzPSIwIDAuNSAwLjUgMTswIDAuNSAwLjUgMTswIDAuNSAwLjUgMTswIDAuNSAwLjUgMSIgdmFsdWVzPSIxNjsxNjsxNjs1MDs4NCIga2V5VGltZXM9IjA7MC4yNTswLjU7MC43NTsxIiBjYWxjTW9kZT0ic3BsaW5lIiBkdXI9IjFzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgYXR0cmlidXRlTmFtZT0iY3giPjwvYW5pbWF0ZT4KPC9jaXJjbGU+PGc+PC9nPjwvZz48L3N2Zz4=) * @param {Object} options - Configuration options * @param {string[]} [options.colors] - Array of hex colors to replace existing colors * @param {number} [options.width] - Width of the SVG (default: 200) * @param {number} [options.height] - Height of the SVG (default: 200) * @param {number} [options.size] - Size for both width and height * @example loadingEllipsis({ colors: ['#0099e5', '#ff4c4c'], size: 100 }); * @returns {string} SVG string with applied customizations */ export const loadingEllipsis = (options: LoadingOptions = {}) => customSVG(options, `<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="#d20962" r="10" cy="50" cx="84"><animate begin="0s" keySplines="0 0.5 0.5 1" values="10;0" keyTimes="0;1" calcMode="spline" dur="0.25s" repeatCount="indefinite" attributeName="r"></animate><animate begin="0s" values="#d20962;#00a78e;#7ac143;#f47721;#d20962" keyTimes="0;0.25;0.5;0.75;1" calcMode="discrete" dur="1s" repeatCount="indefinite" attributeName="fill"></animate></circle><circle fill="#d20962" r="10" cy="50" cx="16"><animate begin="0s" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" values="0;0;10;10;10" keyTimes="0;0.25;0.5;0.75;1" calcMode="spline" dur="1s" repeatCount="indefinite" attributeName="r"></animate><animate begin="0s" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" values="16;16;16;50;84" keyTimes="0;0.25;0.5;0.75;1" calcMode="spline" dur="1s" repeatCount="indefinite" attributeName="cx"></animate></circle><circle fill="#f47721" r="10" cy="50" cx="50"><animate begin="-0.25s" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" values="0;0;10;10;10" keyTimes="0;0.25;0.5;0.75;1" calcMode="spline" dur="1s" repeatCount="indefinite" attributeName="r"></animate><animate begin="-0.25s" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" values="16;16;16;50;84" keyTimes="0;0.25;0.5;0.75;1" calcMode="spline" dur="1s" repeatCount="indefinite" attributeName="cx"></animate></circle><circle fill="#7ac143" r="10" cy="50" cx="84"><animate begin="-0.5s" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" values="0;0;10;10;10" keyTimes="0;0.25;0.5;0.75;1" calcMode="spline" dur="1s" repeatCount="indefinite" attributeName="r"></animate><animate begin="-0.5s" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" values="16;16;16;50;84" keyTimes="0;0.25;0.5;0.75;1" calcMode="spline" dur="1s" repeatCount="indefinite" attributeName="cx"></animate></circle><circle fill="#00a78e" r="10" cy="50" cx="16"><animate begin="-0.75s" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" values="0;0;10;10;10" keyTimes="0;0.25;0.5;0.75;1" calcMode="spline" dur="1s" repeatCount="indefinite" attributeName="r"></animate><animate begin="-0.75s" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" values="16;16;16;50;84" keyTimes="0;0.25;0.5;0.75;1" calcMode="spline" dur="1s" repeatCount="indefinite" attributeName="cx"></animate></circle><g></g></g></svg>`); /** * Returns a customized SVG string for icon loading-floating-search * * ![loading-floating-search](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCIgd2lkdGg9IjMzOSIgaGVpZ2h0PSIzMzkiIHN0eWxlPSJzaGFwZS1yZW5kZXJpbmc6IGF1dG87IGRpc3BsYXk6IGJsb2NrOyAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48Zz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MCA1MCkiPgogIDxnIHRyYW5zZm9ybT0ic2NhbGUoMC42KSI+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNTAgLTUwKSI+CiAgICAgIDxnPgogICAgICAgIDxhbmltYXRlVHJhbnNmb3JtIGtleVRpbWVzPSIwOzAuMzM7MC42NjsxIiB2YWx1ZXM9Ii0yMCAtMjA7MjAgLTIwOzAgMjA7LTIwIC0yMCIgZHVyPSIxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIHR5cGU9InRyYW5zbGF0ZSIgYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIj48L2FuaW1hdGVUcmFuc2Zvcm0+CiAgICAgICAgPHBhdGggZD0iTTQ0LjE5IDI2LjE1OGMtNC44MTcgMC05LjM0NSAxLjg3Ni0xMi43NTEgNS4yODJjLTMuNDA2IDMuNDA2LTUuMjgyIDcuOTM0LTUuMjgyIDEyLjc1MSBjMCA0LjgxNyAxLjg3NiA5LjM0NSA1LjI4MiAxMi43NTFjMy40MDYgMy40MDYgNy45MzQgNS4yODIgMTIuNzUxIDUuMjgyczkuMzQ1LTEuODc2IDEyLjc1MS01LjI4MiBjMy40MDYtMy40MDYgNS4yODItNy45MzQgNS4yODItMTIuNzUxYzAtNC44MTctMS44NzYtOS4zNDUtNS4yODItMTIuNzUxQzUzLjUzNiAyOC4wMzMgNDkuMDA3IDI2LjE1OCA0NC4xOSAyNi4xNTh6IiBmaWxsPSIjOWNjYmZiIj48L3BhdGg+CiAgICAgICAgPHBhdGggZD0iTTc4LjcxMiA3Mi40OTJMNjcuNTkzIDYxLjM3M2wtMy40NzUtMy40NzVjMS42MjEtMi4zNTIgMi43NzktNC45MjYgMy40NzUtNy41OTZjMS4wNDQtNC4wMDggMS4wNDQtOC4yMyAwLTEyLjIzOCBjLTEuMDQ4LTQuMDIyLTMuMTQ2LTcuODI3LTYuMjk3LTEwLjk3OUM1Ni41NzIgMjIuMzYyIDUwLjM4MSAyMCA0NC4xOSAyMEMzOCAyMCAzMS44MDkgMjIuMzYyIDI3LjA4NSAyNy4wODUgYy05LjQ0NyA5LjQ0Ny05LjQ0NyAyNC43NjMgMCAzNC4yMUMzMS44MDkgNjYuMDE5IDM4IDY4LjM4MSA0NC4xOSA2OC4zODFjNC43OTggMCA5LjU5My0xLjQyNSAxMy43MDgtNC4yNjJsOS42OTUgOS42OTUgbDQuODk5IDQuODk5QzczLjM1MSA3OS41NzEgNzQuNDc2IDgwIDc1LjYwMiA4MHMyLjI1MS0wLjQyOSAzLjExLTEuMjg4QzgwLjQyOSA3Ni45OTQgODAuNDI5IDc0LjIwOSA3OC43MTIgNzIuNDkyeiBNNTYuOTQyIDU2Ljk0MiBjLTMuNDA2IDMuNDA2LTcuOTM0IDUuMjgyLTEyLjc1MSA1LjI4MnMtOS4zNDUtMS44NzYtMTIuNzUxLTUuMjgyYy0zLjQwNi0zLjQwNi01LjI4Mi03LjkzNC01LjI4Mi0xMi43NTEgYzAtNC44MTcgMS44NzYtOS4zNDUgNS4yODItMTIuNzUxYzMuNDA2LTMuNDA2IDcuOTM0LTUuMjgyIDEyLjc1MS01LjI4MmM0LjgxNyAwIDkuMzQ1IDEuODc2IDEyLjc1MSA1LjI4MiBjMy40MDYgMy40MDYgNS4yODIgNy45MzQgNS4yODIgMTIuNzUxQzYyLjIyMyA0OS4wMDcgNjAuMzQ3IDUzLjUzNiA1Ni45NDIgNTYuOTQyeiIgZmlsbD0iIzBjMTNlOSI+PC9wYXRoPgogICAgICA8L2c+CiAgICA8L2c+CiAgPC9nPgo8L2c+PGc+PC9nPjwvZz48L3N2Zz4=) * @param {Object} options - Configuration options * @param {string[]} [options.colors] - Array of hex colors to replace existing colors * @param {number} [options.width] - Width of the SVG (default: 339) * @param {number} [options.height] - Height of the SVG (default: 339) * @param {number} [options.size] - Size for both width and height * @example loadingFloatingSearch({ colors: ['#0099e5', '#ff4c4c'], size: 100 }); * @returns {string} SVG string with applied customizations */ export const loadingFloatingSearch = (options: LoadingOptions = {}) => customSVG(options, `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" width="339" height="339" style="shape-rendering: auto; display: block; "><g><g transform="translate(50 50)"><g transform="scale(0.6)"><g transform="translate(-50 -50)"><g><animateTransform keyTimes="0;0.33;0.66;1" values="-20 -20;20 -20;0 20;-20 -20" dur="1s" repeatCount="indefinite" type="translate" attributeName="transform"></animateTransform><path d="M44.19 26.158c-4.817 0-9.345 1.876-12.751 5.282c-3.406 3.406-5.282 7.934-5.282 12.751 c0 4.817 1.876 9.345 5.282 12.751c3.406 3.406 7.934 5.282 12.751 5.282s9.345-1.876 12.751-5.282 c3.406-3.406 5.282-7.934 5.282-12.751c0-4.817-1.876-9.345-5.282-12.751C53.536 28.033 49.007 26.158 44.19 26.158z" fill="#9ccbfb"></path><path d="M78.712 72.492L67.593 61.373l-3.475-3.475c1.621-2.352 2.779-4.926 3.475-7.596c1.044-4.008 1.044-8.23 0-12.238 c-1.048-4.022-3.146-7.827-6.297-10.979C56.572 22.362 50.381 20 44.19 20C38 20 31.809 22.362 27.085 27.085 c-9.447 9.447-9.447 24.763 0 34.21C31.809 66.019 38 68.381 44.19 68.381c4.798 0 9.593-1.425 13.708-4.262l9.695 9.695 l4.899 4.899C73.351 79.571 74.476 80 75.602 80s2.251-0.429 3.11-1.288C80.429 76.994 80.429 74.209 78.712 72.492z M56.942 56.942 c-3.406 3.406-7.934 5.282-12.751 5.282s-9.345-1.876-12.751-5.282c-3.406-3.406-5.282-7.934-5.282-12.751 c0-4.817 1.876-9.345 5.282-12.751c3.406-3.406 7.934-5.282 12.751-5.282c4.817 0 9.345 1.876 12.751 5.282 c3.406 3.406 5.282 7.934 5.282 12.751C62.223 49.007 60.347 53.536 56.942 56.942z" fill="#0c13e9"></path></g></g></g></g><g></g></g></svg>`); /** * Returns a customized SVG string for icon loading-gears * * ![loading-gears](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHN0eWxlPSJzaGFwZS1yZW5kZXJpbmc6IGF1dG87IGRpc3BsYXk6IGJsb2NrOyAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48Zz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MCA1MCkiPgo8Zz4KPGFuaW1hdGVUcmFuc2Zvcm0gcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGR1cj0iMC4ycyIga2V5VGltZXM9IjA7MSIgdmFsdWVzPSIwOzQ1IiB0eXBlPSJyb3RhdGUiIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSI+PC9hbmltYXRlVHJhbnNmb3JtPjxwYXRoIGZpbGw9IiNmZDVjNjMiIGQ9Ik0yOS40OTE1MjQyMDYxMTcyNTUgLTUuNSBMMzcuNDkxNTI0MjA2MTE3MjU1IC01LjUgTDM3LjQ5MTUyNDIwNjExNzI1NSA1LjUgTDI5LjQ5MTUyNDIwNjExNzI1NSA1LjUgQTMwIDMwIDAgMCAxIDI0Ljc0Mjc0NDA1MDE5ODczOCAxNi45NjQ1Njk0NTcxNDY3MTIgTDI0Ljc0Mjc0NDA1MDE5ODczOCAxNi45NjQ1Njk0NTcxNDY3MTIgTDMwLjM5OTU5ODI5OTY5MTExNyAyMi42MjE0MjM3MDY2MzkwOTIgTDIyLjYyMTQyMzcwNjYzOTA5NiAzMC4zOTk1OTgyOTk2OTExMTQgTDE2Ljk2NDU2OTQ1NzE0NjcxNiAyNC43NDI3NDQwNTAxOTg3MzQgQTMwIDMwIDAgMCAxIDUuNSAyOS40OTE1MjQyMDYxMTcyNTUgTDUuNSAyOS40OTE1MjQyMDYxMTcyNTUgTDUuNSAzNy40OTE1MjQyMDYxMTcyNTUgTC01LjQ5OTk5OTk5OTk5OTk5NyAzNy40OTE1MjQyMDYxMTcyNTUgTC01LjQ5OTk5OTk5OTk5OTk5NyAyOS40OTE1MjQyMDYxMTcyNTUgQTMwIDMwIDAgMCAxIC0xNi45NjQ1Njk0NTcxNDY3MDUgMjQuNzQyNzQ0MDUwMTk4NzM4IEwtMTYuOTY0NTY5NDU3MTQ2NzA1IDI0Ljc0Mjc0NDA1MDE5ODczOCBMLTIyLjYyMTQyMzcwNjYzOTA4NSAzMC4zOTk1OTgyOTk2OTExMTcgTC0zMC4zOTk1OTgyOTk2OTExMTcgMjIuNjIxNDIzNzA2NjM5MDkyIEwtMjQuNzQyNzQ0MDUwMTk4NzM4IDE2Ljk2NDU2OTQ1NzE0NjcxMiBBMzAgMzAgMCAwIDEgLTI5LjQ5MTUyNDIwNjExNzI1NSA1LjUwMDAwMDAwMDAwMDAwOSBMLTI5LjQ5MTUyNDIwNjExNzI1NSA1LjUwMDAwMDAwMDAwMDAwOSBMLTM3LjQ5MTUyNDIwNjExNzI1NSA1LjUwMDAwMDAwMDAwMDAxIEwtMzcuNDkxNTI0MjA2MTE3MjU1IC01LjUwMDAwMDAwMDAwMDAwMSBMLTI5LjQ5MTUyNDIwNjExNzI1NSAtNS41MDAwMDAwMDAwMDAwMDIgQTMwIDMwIDAgMCAxIC0yNC43NDI3NDQwNTAxOTg3MzggLTE2Ljk2NDU2OTQ1NzE0NjcwNSBMLTI0Ljc0Mjc0NDA1MDE5ODczOCAtMTYuOTY0NTY5NDU3MTQ2NzA1IEwtMzAuMzk5NTk4Mjk5NjkxMTE3IC0yMi42MjE0MjM3MDY2MzkwODUgTC0yMi42MjE0MjM3MDY2MzkwOTIgLTMwLjM5OTU5ODI5OTY5MTExNyBMLTE2Ljk2NDU2OTQ1NzE0NjcxMiAtMjQuNzQyNzQ0MDUwMTk4NzM4IEEzMCAzMCAwIDAgMSAtNS41MDAwMDAwMDAwMDAwMTEgLTI5LjQ5MTUyNDIwNjExNzI1NSBMLTUuNTAwMDAwMDAwMDAwMDExIC0yOS40OTE1MjQyMDYxMTcyNTUgTC01LjUwMDAwMDAwMDAwMDAxMiAtMzcuNDkxNTI0MjA2MTE3MjU1IEw1LjQ5OTk5OTk5OTk5OTk5OCAtMzcuNDkxNTI0MjA2MTE3MjU1IEw1LjUgLTI5LjQ5MTUyNDIwNjExNzI1NSBBMzAgMzAgMCAwIDEgMTYuOTY0NTY5NDU3MTQ2NzAyIC0yNC43NDI3NDQwNTAxOTg3NCBMMTYuOTY0NTY5NDU3MTQ2NzAyIC0yNC43NDI3NDQwNTAxOTg3NCBMMjIuNjIxNDIzNzA2NjM5MDggLTMwLjM5OTU5ODI5OTY5MTEyIEwzMC4zOTk1OTgyOTk2OTExMTcgLTIyLjYyMTQyMzcwNjYzOTEgTDI0Ljc0Mjc0NDA1MDE5ODczOCAtMTYuOTY0NTY5NDU3MTQ2NzE2IEEzMCAzMCAwIDAgMSAyOS40OTE1MjQyMDYxMTcyNTUgLTUuNTAwMDAwMDAwMDAwMDEzIE0wIC0yMEEyMCAyMCAwIDEgMCAwIDIwIEEyMCAyMCAwIDEgMCAwIC0yMCI+PC9wYXRoPjwvZz48L2c+PGc+PC9nPjwvZz48L3N2Zz4=) * @param {Object} options - Configuration options * @param {string[]} [options.colors] - Array of hex colors to replace existing colors * @param {number} [options.width] - Width of the SVG (default: 200) * @param {number} [options.height] - Height of the SVG (default: 200) * @param {number} [options.size] - Size for both width and height * @example loadingGears({ colors: ['#0099e5', '#ff4c4c'], size: 100 }); * @returns {string} SVG string with applied customizations */ export const loadingGears = (options: LoadingOptions = {}) => customSVG(options, `<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><g transform="translate(50 50)"><g><animateTransform repeatCount="indefinite" dur="0.2s" keyTimes="0;1" values="0;45" type="rotate" attributeName="transform"></animateTransform><path fill="#fd5c63" d="M29.491524206117255 -5.5 L37.491524206117255 -5.5 L37.491524206117255 5.5 L29.491524206117255 5.5 A30 30 0 0 1 24.742744050198738 16.964569457146712 L24.742744050198738 16.964569457146712 L30.399598299691117 22.621423706639092 L22.621423706639096 30.399598299691114 L16.964569457146716 24.742744050198734 A30 30 0 0 1 5.5 29.491524206117255 L5.5 29.491524206117255 L5.5 37.491524206117255 L-5.499999999999997 37.491524206117255 L-5.499999999999997 29.491524206117255 A30 30 0 0 1 -16.964569457146705 24.742744050198738 L-16.964569457146705 24.742744050198738 L-22.621423706639085 30.399598299691117 L-30.399598299691117 22.621423706639092 L-24.742744050198738 16.964569457146712 A30 30 0 0 1 -29.491524206117255 5.500000000000009 L-29.491524206117255 5.500000000000009 L-37.491524206117255 5.50000000000001 L-37.491524206117255 -5.500000000000001 L-29.491524206117255 -5.500000000000002 A30 30 0 0 1 -24.742744050198738 -16.964569457146705 L-24.742744050198738 -16.964569457146705 L-30.399598299691117 -22.621423706639085 L-22.621423706639092 -30.399598299691117 L-16.964569457146712 -24.742744050198738 A30 30 0 0 1 -5.500000000000011 -29.491524206117255 L-5.500000000000011 -29.491524206117255 L-5.500000000000012 -37.491524206117255 L5.499999999999998 -37.491524206117255 L5.5 -29.491524206117255 A30 30 0 0 1 16.964569457146702 -24.74274405019874 L16.964569457146702 -24.74274405019874 L22.62142370663908 -30.39959829969112 L30.399598299691117 -22.6214237066391 L24.742744050198738 -16.964569457146716 A30 30 0 0 1 29.491524206117255 -5.500000000000013 M0 -20A20 20 0 1 0 0 20 A20 20 0 1 0 0 -20"></path></g></g><g></g></g></svg>`); /** * Returns a customized SVG string for icon loading-infinity * * ![loading-infinity](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHN0eWxlPSJzaGFwZS1yZW5kZXJpbmc6IGF1dG87IGRpc3BsYXk6IGJsb2NrOyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxnPjxwYXRoIHN0eWxlPSJ0cmFuc2Zvcm06c2NhbGUoMC44KTt0cmFuc2Zvcm0tb3JpZ2luOjUwcHggNTBweCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNMjQuMyAzMEMxMS40IDMwIDUgNDMuMyA1IDUwczYuNCAyMCAxOS4zIDIwYzE5LjMgMCAzMi4xLTQwIDUxLjQtNDAgQzg4LjYgMzAgOTUgNDMuMyA5NSA1MHMtNi40IDIwLTE5LjMgMjBDNTYuNCA3MCA0My42IDMwIDI0LjMgMzB6IiBzdHJva2UtZGFzaGFycmF5PSI0Mi43NjQ4MjEzNzA0NDI3MSA0Mi43NjQ4MjEzNzA0NDI3MSIgc3Ryb2tlLXdpZHRoPSI4IiBzdHJva2U9IiMwMDk5ZTUiIGZpbGw9Im5vbmUiPgogIDxhbmltYXRlIHZhbHVlcz0iMDsyNTYuNTg4OTI4MjIyNjU2MjUiIGtleVRpbWVzPSIwOzEiIGR1cj0iMS43NTQzODU5NjQ5MTIyODA2cyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGF0dHJpYnV0ZU5hbWU9InN0cm9rZS1kYXNob2Zmc2V0Ij48L2FuaW1hdGU+CjwvcGF0aD48Zz48L2c+PC9nPjwvc3ZnPg==) * @param {Object} options - Configuration options * @param {string[]} [options.colors] - Array of hex colors to replace existing colors * @param {number} [options.width] - Width of the SVG (default: 200) * @param {number} [options.height] - Height of the SVG (default: 200) * @param {number} [options.size] - Size for both width and height * @example loadingInfinity({ colors: ['#0099e5', '#ff4c4c'], size: 100 }); * @returns {string} SVG string with applied customizations */ export const loadingInfinity = (options: LoadingOptions = {}) => customSVG(options, `<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><path style="transform:scale(0.8);transform-origin:50px 50px" stroke-linecap="round" d="M24.3 30C11.4 30 5 43.3 5 50s6.4 20 19.3 20c19.3 0 32.1-40 51.4-40 C88.6 30 95 43.3 95 50s-6.4 20-19.3 20C56.4 70 43.6 30 24.3 30z" stroke-dasharray="42.76482137044271 42.76482137044271" stroke-width="8" stroke="#0099e5" fill="none"><animate values="0;256.58892822265625" keyTimes="0;1" dur="1.7543859649122806s" repeatCount="indefinite" attributeName="stroke-dashoffset"></animate></path><g></g></g></svg>`); /** * Returns a customized SVG string for icon loading-orbital * * ![loading-orbital](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHN0eWxlPSJzaGFwZS1yZW5kZXJpbmc6IGF1dG87IGRpc3BsYXk6IGJsb2NrOyAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48Zz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MCw1MCkiPgogIDxnIHRyYW5zZm9ybT0ic2NhbGUoMC43KSI+CiAgPGNpcmNsZSBmaWxsPSIjZTkwYzU5IiByPSI1MCIgY3k9IjAiIGN4PSIwIj48L2NpcmNsZT4KICA8Y2lyY2xlIGZpbGw9IiM0NmRmZjAiIHI9IjE1IiBjeT0iLTI4IiBjeD0iMCI+CiAgICA8YW5pbWF0ZVRyYW5zZm9ybSB2YWx1ZXM9IjAgMCAwOzM2MCAwIDAiIGtleVRpbWVzPSIwOzEiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBkdXI9IjFzIiB0eXBlPSJyb3RhdGUiIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSI+PC9hbmltYXRlVHJhbnNmb3JtPgogIDwvY2lyY2xlPgogIDwvZz4KPC9nPjxnPjwvZz48L2c+PC9zdmc+) * @param {Object} options - Configuration options * @param {string[]} [options.colors] - Array of hex colors to replace existing colors * @param {number} [options.width] - Width of the SVG (default: 200) * @param {number} [options.height] - Height of the SVG (default: 200) * @param {number} [options.size] - Size for both width and height * @example loadingOrbital({ colors: ['#0099e5', '#ff4c4c'], size: 100 }); * @returns {string} SVG string with applied customizations */ export const loadingOrbital = (options: LoadingOptions = {}) => customSVG(options, `<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><g transform="translate(50,50)"><g transform="scale(0.7)"><circle fill="#e90c59" r="50" cy="0" cx="0"></circle><circle fill="#46dff0" r="15" cy="-28" cx="0"><animateTransform values="0 0 0;360 0 0" keyTimes="0;1" repeatCount="indefinite" dur="1s" type="rotate" attributeName="transform"></animateTransform></circle></g></g><g></g></g></svg>`); /** * Returns a customized SVG string for icon loading-pacman * * ![loading-pacman](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHN0eWxlPSJzaGFwZS1yZW5kZXJpbmc6IGF1dG87IGRpc3BsYXk6IGJsb2NrOyAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48Zz48Zz4KICA8Y2lyY2xlIGZpbGw9IiNlMTViNjQiIHI9IjQiIGN5PSI1MCIgY3g9IjYwIj4KICAgIDxhbmltYXRlIGJlZ2luPSItMC42N3MiIGtleVRpbWVzPSIwOzEiIHZhbHVlcz0iOTU7MzUiIGR1cj0iMXMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBhdHRyaWJ1dGVOYW1lPSJjeCI+PC9hbmltYXRlPgogICAgPGFuaW1hdGUgYmVnaW49Ii0wLjY3cyIga2V5VGltZXM9IjA7MC4yOzEiIHZhbHVlcz0iMDsxOzEiIGR1cj0iMXMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBhdHRyaWJ1dGVOYW1lPSJmaWxsLW9wYWNpdHkiPjwvYW5pbWF0ZT4KICA8L2NpcmNsZT4KICA8Y2lyY2xlIGZpbGw9IiNlMTViNjQiIHI9IjQiIGN5PSI1MCIgY3g9IjYwIj4KICAgIDxhbmltYXRlIGJlZ2luPSItMC4zM3MiIGtleVRpbWVzPSIwOzEiIHZhbHVlcz0iOTU7MzUiIGR1cj0iMXMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBhdHRyaWJ1dGVOYW1lPSJjeCI+PC9hbmltYXRlPgogICAgPGFuaW1hdGUgYmVnaW49Ii0wLjMzcyIga2V5VGltZXM9IjA7MC4yOzEiIHZhbHVlcz0iMDsxOzEiIGR1cj0iMXMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBhdHRyaWJ1dGVOYW1lPSJmaWxsLW9wYWNpdHkiPjwvYW5pbWF0ZT4KICA8L2NpcmNsZT4KICA8Y2lyY2xlIGZpbGw9IiNlMTViNjQiIHI9IjQiIGN5PSI1MCIgY3g9IjYwIj4KICAgIDxhbmltYXRlIGJlZ2luPSIwcyIga2V5VGltZXM9IjA7MSIgdmFsdWVzPSI5NTszNSIgZHVyPSIxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGF0dHJpYnV0ZU5hbWU9ImN4Ij48L2FuaW1hdGU+CiAgICA8YW5pbWF0ZSBiZWdpbj0iMHMiIGtleVRpbWVzPSIwOzAuMjsxIiB2YWx1ZXM9IjA7MTsxIiBkdXI9IjFzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgYXR0cmlidXRlTmFtZT0iZmlsbC1vcGFjaXR5Ij48L2FuaW1hdGU+CiAgPC9jaXJjbGU+CjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTUgMCkiPgogIDxwYXRoIHRyYW5zZm9ybT0icm90YXRlKDkwIDUwIDUwKSIgZmlsbD0iI2Y4YjI2YSIgZD0iTTUwIDUwTDIwIDUwQTMwIDMwIDAgMCAwIDgwIDUwWiI+PC9wYXRoPgogIDxwYXRoIGZpbGw9IiNmOGIyNmEiIGQ9Ik01MCA1MEwyMCA1MEEzMCAzMCAwIDAgMCA4MCA1MFoiPgogICAgPGFuaW1hdGVUcmFuc2Zvcm0ga2V5VGltZXM9IjA7MC41OzEiIHZhbHVlcz0iMCA1MCA1MDs0NSA1MCA1MDswIDUwIDUwIiBkdXI9IjFzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgdHlwZT0icm90YXRlIiBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iPjwvYW5pbWF0ZVRyYW5zZm9ybT4KICA8L3BhdGg+CiAgPHBhdGggZmlsbD0iI2Y4YjI2YSIgZD0iTTUwIDUwTDIwIDUwQTMwIDMwIDAgMCAxIDgwIDUwWiI+CiAgICA8YW5pbWF0ZVRyYW5zZm9ybSBrZXlUaW1lcz0iMDswLjU7MSIgdmFsdWVzPSIwIDUwIDUwOy00NSA1MCA1MDswIDUwIDUwIiBkdXI9IjFzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgdHlwZT0icm90YXRlIiBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iPjwvYW5pbWF0ZVRyYW5zZm9ybT4KICA8L3BhdGg+CjwvZz48Zz48L2c+PC9nPjwvc3ZnPg==) * @param {Object} options - Configuration options * @param {string[]} [options.colors] - Array of hex colors to replace existing colors * @param {number} [options.width] - Width of the SVG (default: 200) * @param {number} [options.height] - Height of the SVG (default: 200) * @param {number} [options.size] - Size for both width and height * @example loadingPacman({ colors: ['#0099e5', '#ff4c4c'], size: 100 }); * @returns {string} SVG string with applied customizations */ export const loadingPacman = (options: LoadingOptions = {}) => customSVG(options, `<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><g><circle fill="#e15b64" r="4" cy="50" cx="60"><animate begin="-0.67s" keyTimes="0;1" values="95;35" dur="1s" repeatCount="indefinite" attributeName="cx"></animate><animate begin="-0.67s" keyTimes="0;0.2;1" values="0;1;1" dur="1s" repeatCount="indefinite" attributeName="fill-opacity"></animate></circle><circle fill="#e15b64" r="4" cy="50" cx="60"><animate begin="-0.33s" keyTimes="0;1" values="95;35" dur="1s" repeatCount="indefinite" attributeName="cx"></animate><animate begin="-0.33s" keyTimes="0;0.2;1" values="0;1;1" dur="1s" repeatCount="indefinite" attributeName="fill-opacity"></animate></circle><circle fill="#e15b64" r="4" cy="50" cx="60"><animate begin="0s" keyTimes="0;1" values="95;35" dur="1s" repeatCount="indefinite" attributeName="cx"></animate><animate begin="0s" keyTimes="0;0.2;1" values="0;1;1" dur="1s" repeatCount="indefinite" attributeName="fill-opacity"></animate></circle></g><g transform="translate(-15 0)"><path transform="rotate(90 50 50)" fill="#f8b26a" d="M50 50L20 50A30 30 0 0 0 80 50Z"></path><path fill="#f8b26a" d="M50 50L20 50A30 30 0 0 0 80 50Z"><animateTransform keyTimes="0;0.5;1" values="0 50 50;45 50 50;0 50 50" dur="1s" repeatCount="indefinite" type="rotate" attributeName="transform"></animateTransform></path><path fill="#f8b26a" d="M50 50L20 50A30 30 0 0 1 80 50Z"><animateTransform keyTimes="0;0.5;1" values="0 50 50;-45 50 50;0 50 50" dur="1s" repeatCount="indefinite" type="rotate" attributeName="transform"></animateTransform></path></g><g></g></g></svg>`); /** * Returns a customized SVG string for icon loading-pulse-bars * * ![loading-pulse-bars](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHN0eWxlPSJzaGFwZS1yZW5kZXJpbmc6IGF1dG87IGRpc3BsYXk6IGJsb2NrOyAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48Zz48cmVjdCBmaWxsPSIjZTE1YjY0IiBoZWlnaHQ9IjQwIiB3aWR0aD0iMTUiIHk9IjMwIiB4PSIxNy41Ij4KICA8YW5pbWF0ZSBiZWdpbj0iLTAuMnMiIGtleVNwbGluZXM9IjAgMC41IDAuNSAxOzAgMC41IDAuNSAxIiB2YWx1ZXM9IjE4OzMwOzMwIiBrZXlUaW1lcz0iMDswLjU7MSIgY2FsY01vZGU9InNwbGluZSIgZHVyPSIxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGF0dHJpYnV0ZU5hbWU9InkiPjwvYW5pbWF0ZT4KICA8YW5pbWF0ZSBiZWdpbj0iLTAuMnMiIGtleVNwbGluZXM9IjAgMC41IDAuNSAxOzAgMC41IDAuNSAxIiB2YWx1ZXM9IjY0OzQwOzQwIiBrZXlUaW1lcz0iMDswLjU7MSIgY2FsY01vZGU9InNwbGluZSIgZHVyPSIxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGF0dHJpYnV0ZU5hbWU9ImhlaWdodCI+PC9hbmltYXRlPgo8L3JlY3Q+CjxyZWN0IGZpbGw9IiNmOGIyNmEiIGhlaWdodD0iNDAiIHdpZHRoPSIxNSIgeT0iMzAiIHg9IjQyLjUiPgogIDxhbmltYXRlIGJlZ2luPSItMC4xcyIga2V5U3BsaW5lcz0iMCAwLjUgMC41IDE7MCAwLjUgMC41IDEiIHZhbHVlcz0iMjAuOTk5OTk5OTk5OTk5OTk2OzMwOzMwIiBrZXlUaW1lcz0iMDswLjU7MSIgY2FsY01vZGU9InNwbGluZSIgZHVyPSIxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGF0dHJpYnV0ZU5hbWU9InkiPjwvYW5pbWF0ZT4KICA8YW5pbWF0ZSBiZWdpbj0iLTAuMXMiIGtleVNwbGluZXM9IjAgMC41IDAuNSAxOzAgMC41IDAuNSAxIiB2YWx1ZXM9IjU4LjAwMDAwMDAwMDAwMDAxOzQwOzQwIiBrZXlUaW1lcz0iMDswLjU7MSIgY2FsY01vZGU9InNwbGluZSIgZHVyPSIxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGF0dHJpYnV0ZU5hbWU9ImhlaWdodCI+PC9hbmltYXRlPgo8L3JlY3Q+CjxyZWN0IGZpbGw9IiNhYmJkODEiIGhlaWdodD0iNDAiIHdpZHRoPSIxNSIgeT0iMzAiIHg9IjY3LjUiPgogIDxhbmltYXRlIGtleVNwbGluZXM9IjAgMC41IDAuNSAxOzAgMC41IDAuNSAxIiB2YWx1ZXM9IjIwLjk5OTk5OTk5OTk5OTk5NjszMDszMCIga2V5VGltZXM9IjA7MC41OzEiIGNhbGNNb2RlPSJzcGxpbmUiIGR1cj0iMXMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBhdHRyaWJ1dGVOYW1lPSJ5Ij48L2FuaW1hdGU+CiAgPGFuaW1hdGUga2V5U3BsaW5lcz0iMCAwLjUgMC41IDE7MCAwLjUgMC41IDEiIHZhbHVlcz0iNTguMDAwMDAwMDAwMDAwMDE7NDA7NDAiIGtleVRpbWVzPSIwOzAuNTsxIiBjYWxjTW9kZT0ic3BsaW5lIiBkdXI9IjFzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgYXR0cmlidXRlTmFtZT0iaGVpZ2h0Ij48L2FuaW1hdGU+CjwvcmVjdD48Zz48L2c+PC9nPjwvc3ZnPg==) * @param {Object} options - Configuration options * @param {string[]} [options.colors] - Array of hex colors to replace existing colors * @param {number} [options.width] - Width of the SVG (default: 200) * @param {number} [options.height] - Height of the SVG (default: 200) * @param {number} [options.size] - Size for both width and height * @example loadingPulseBars({ colors: ['#0099e5', '#ff4c4c'], size: 100 }); * @returns {string} SVG string with applied customizations */ export const loadingPulseBars = (options: LoadingOptions = {}) => customSVG(options, `<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><rect fill="#e15b64" height="40" width="15" y="30" x="17.5"><animate begin="-0.2s" keySplines="0 0.5 0.5 1;0 0.5 0.5 1" values="18;30;30" keyTimes="0;0.5;1" calcMode="spline" dur="1s" repeatCount="indefinite" attributeName="y"></animate><animate begin="-0.2s" keySplines="0 0.5 0.5 1;0 0.5 0.5 1" values="64;40;40" keyTimes="0;0.5;1" calcMode="spline" dur="1s" repeatCount="indefinite" attributeName="height"></animate></rect><rect fill="#f8b26a" height="40" width="15" y="30" x="42.5"><animate begin="-0.1s" keySplines="0 0.5 0.5 1;0 0.5 0.5 1" values="20.999999999999996;30;30" keyTimes="0;0.5;1" calcMode="spline" dur="1s" repeatCount="indefinite" attributeName="y"></animate><animate begin="-0.1s" keySplines="0 0.5 0.5 1;0 0.5 0.5 1" values="58.00000000000001;40;40" keyTimes="0;0.5;1" calcMode="spline" dur="1s" repeatCount="indefinite" attributeName="height"></animate></rect><rect fill="#abbd81" height="40" width="15" y="30" x="67.5"><animate keySplines="0 0.5 0.5 1;0 0.5 0.5 1" values="20.999999999999996;30;30" keyTimes="0;0.5;1" calcMode="spline" dur="1s" repeatCount="indefinite" attributeName="y"></animate><animate keySplines="0 0.5 0.5 1;0 0.5 0.5 1" values="58.00000000000001;40;40" keyTimes="0;0.5;1" calcMode="spline" dur="1s" repeatCount="indefinite" attributeName="height"></animate></rect><g></g></g></svg>`); /** * Returns a customized SVG string for icon loading-red-blue-ball * * ![loading-red-blue-ball](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHN0eWxlPSJzaGFwZS1yZW5kZXJpbmc6IGF1dG87IGRpc3BsYXk6IGJsb2NrOyAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48Zz48Y2lyY2xlIHI9IjIwIiBmaWxsPSIjZTkwYzU5IiBjeT0iNTAiIGN4PSIzMCI+CiAgPGFuaW1hdGUgYmVnaW49Ii0wLjVzIiB2YWx1ZXM9IjMwOzcwOzMwIiBrZXlUaW1lcz0iMDswLjU7MSIgZHVyPSIxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGF0dHJpYnV0ZU5hbWU9ImN4Ij48L2FuaW1hdGU+CjwvY2lyY2xlPgo8Y2lyY2xlIHI9IjIwIiBmaWxsPSIjMGYzYmM2IiBjeT0iNTAiIGN4PSI3MCI+CiAgPGFuaW1hdGUgYmVnaW49IjBzIiB2YWx1ZXM9IjMwOzcwOzMwIiBrZXlUaW1lcz0iMDswLjU7MSIgZHVyPSIxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGF0dHJpYnV0ZU5hbWU9ImN4Ij48L2FuaW1hdGU+CjwvY2lyY2xlPgo8Y2lyY2xlIHI9IjIwIiBmaWxsPSIjZTkwYzU5IiBjeT0iNTAiIGN4PSIzMCI+CiAgPGFuaW1hdGUgYmVnaW49Ii0wLjVzIiB2YWx1ZXM9IjMwOzcwOzMwIiBrZXlUaW1lcz0iMDswLjU7MSIgZHVyPSIxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGF0dHJpYnV0ZU5hbWU9ImN4Ij48L2FuaW1hdGU+CiAgPGFuaW1hdGUgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGR1cj0iMXMiIGtleVRpbWVzPSIwOzAuNDk5OzAuNTsxIiBjYWxjTW9kZT0iZGlzY3JldGUiIHZhbHVlcz0iMDswOzE7MSIgYXR0cmlidXRlTmFtZT0iZmlsbC1vcGFjaXR5Ij48L2FuaW1hdGU+CjwvY2lyY2xlPjxnPjwvZz48L2c+PC9zdmc+) * @param {Object} options - Configuration options * @param {string[]} [options.colors] - Array of hex colors to replace existing colors * @param {number} [options.width] - Width of the SVG (default: 200) * @param {number} [options.height] - Height of the SVG (default: 200) * @param {number} [options.size] - Size for both width and height * @example loadingRedBlueBall({ colors: ['#0099e5', '#ff4c4c'], size: 100 }); * @returns {string} SVG string with applied customizations */ export const loadingRedBlueBall = (options: LoadingOptions = {}) => customSVG(options, `<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 r="20" fill="#e90c59" cy="50" cx="30"><animate begin="-0.5s" values="30;70;30" keyTimes="0;0.5;1" dur="1s" repeatCount="indefinite" attributeName="cx"></animate></circle><circle r="20" fill="#0f3bc6" cy="50" cx="70"><animate begin="0s" values="30;70;30" keyTimes="0;0.5;1" dur="1s" repeatCount="indefinite" attributeName="cx"></animate></circle><circle r="20" fill="#e90c59" cy="50" cx="30"><animate begin="-0.5s" values="30;70;30" keyTimes="0;0.5;1" dur="1s" repeatCount="indefinite" attributeName="cx"></animate><animate repeatCount="indefinite" dur="1s" keyTimes="0;0.499;0.5;1" calcMode="discrete" values="0;0;1;1" attributeName="fill-opacity"></animate></circle><g></g></g></svg>`); /** * Returns a customized SVG string for icon loading-reload-arrow * * ![loading-reload-arrow](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHN0eWxlPSJzaGFwZS1yZW5kZXJpbmc6IGF1dG87IGRpc3BsYXk6IGJsb2NrOyAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48Zz48Zz4KICA8cGF0aCBzdHJva2Utd2lkdGg9IjEyIiBzdHJva2U9IiNlMTk0NWIiIGZpbGw9Im5vbmUiIGQ9Ik01MCAxNUEzNSAzNSAwIDEgMCA3NC43NDg3MzczNDE1MjkxNiAyNS4yNTEyNjI2NTg0NzA4NDMiPjwvcGF0aD4KICA8cGF0aCBmaWxsPSIjZTE5NDViIiBkPSJNNDkgM0w0OSAyN0w2MSAxNUw0OSAzIj48L3BhdGg+CiAgPGFuaW1hdGVUcmFuc2Zvcm0ga2V5VGltZXM9IjA7MSIgdmFsdWVzPSIwIDUwIDUwOzM2MCA1MCA1MCIgZHVyPSIxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIHR5cGU9InJvdGF0ZSIgYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIj48L2FuaW1hdGVUcmFuc2Zvcm0+CjwvZz48Zz48L2c+PC9nPjwvc3ZnPg==) * @param {Object} options - Configuration options * @param {string[]} [options.colors] - Array of hex colors to replace existing colors * @param {number} [options.width] - Width of the SVG (default: 200) * @param {number} [options.height] - Height of the SVG (default: 200) * @param {number} [options.size] - Size for both width and height * @example loadingReloadArrow({ colors: ['#0099e5', '#ff4c4c'], size: 100 }); * @returns {string} SVG string with applied customizations */ export const loadingReloadArrow = (options: LoadingOptions = {}) => customSVG(options, `<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><g><path stroke-width="12" stroke="#e1945b" fill="none" d="M50 15A35 35 0 1 0 74.74873734152916 25.251262658470843"></path><path fill="#e1945b" d="M49 3L49 27L61 15L49 3"></path><animateTransform keyTimes="0;1" values="0 50 50;360 50 50" dur="1s" repeatCount="indefinite" type="rotate" attributeName="transform"></animateTransform></g><g></g></g></svg>`); /** * Returns a customized SVG string for icon loading-ring * * ![loading-ring](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHN0eWxlPSJzaGFwZS1yZW5kZXJpbmc6IGF1dG87IGRpc3BsYXk6IGJsb2NrOyAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48Zz48Y2lyY2xlIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWRhc2hhcnJheT0iNTAuMjY1NDgyNDU3NDM2NjkgNTAuMjY1NDgyNDU3NDM2NjkiIHN0cm9rZT0iI2ZlNzE4ZCIgc3Ryb2tlLXdpZHRoPSI4IiByPSIzMiIgY3k9IjUwIiBjeD0iNTAiPgogIDxhbmltYXRlVHJhbnNmb3JtIHZhbHVlcz0iMCA1MCA1MDszNjAgNTAgNTAiIGtleVRpbWVzPSIwOzEiIGR1cj0iMXMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiB0eXBlPSJyb3RhdGUiIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSI+PC9hbmltYXRlVHJhbnNmb3JtPgo8L2NpcmNsZT48Zz48L2c+PC9nPjwvc3ZnPg==) * @param {Object} options - Configuration options * @param {string[]} [options.colors] - Array of hex colors to replace existing colors * @param {number} [options.width] - Width of the SVG (default: 200) * @param {number} [options.height] - Height of the SVG (default: 200) * @param {number} [options.size] - Size for both width and height * @example loadingRing({ colors: ['#0099e5', '#ff4c4c'], size: 100 }); * @returns {string} SVG string with applied customizations */ export const loadingRing = (options: LoadingOptions = {}) => customSVG(options, `<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 stroke-linecap="round" fill="none" stroke-dasharray="50.26548245743669 50.26548245743669" stroke="#fe718d" stroke-width="8" r="32" cy="50" cx="50"><animateTransform values="0 50 50;360 50 50" keyTimes="0;1" dur="1s" repeatCount="indefinite" type="rotate" attributeName="transform"></animateTransform></circle><g></g></g></svg>`); /** * Returns a customized SVG string for icon loading-ripple * * ![loading-ripple](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHN0eWxlPSJzaGFwZS1yZW5kZXJpbmc6IGF1dG87IGRpc3BsYXk6IGJsb2NrIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGc+PGNpcmNsZSBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iI2NiYjk1MyIgZmlsbD0ibm9uZSIgcj0iMCIgY3k9IjUwIiBjeD0iNTAiPgogIDxhbmltYXRlIGJlZ2luPSIwcyIgY2FsY01vZGU9InNwbGluZSIga2V5U3BsaW5lcz0iMCAwLjIgMC44IDEiIGtleVRpbWVzPSIwOzEiIHZhbHVlcz0iMDs0MCIgZHVyPSIxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGF0dHJpYnV0ZU5hbWU9InIiPjwvYW5pbWF0ZT4KICA8YW5pbWF0ZSBiZWdpbj0iMHMiIGNhbGNNb2RlPSJzcGxpbmUiIGtleVNwbGluZXM9IjAuMiAwIDAuOCAxIiBrZXlUaW1lcz0iMDsxIiB2YWx1ZXM9IjE7MCIgZHVyPSIxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGF0dHJpYnV0ZU5hbWU9Im9wYWNpdHkiPjwvYW5pbWF0ZT4KPC9jaXJjbGU+PGNpcmNsZSBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iI2NiYjk1MyIgZmlsbD0ibm9uZSIgcj0iMCIgY3k9IjUwIiBjeD0iNTAiPgogIDxhbmltYXRlIGJlZ2luPSItMC41cyIgY2FsY01vZGU9InNwbGluZSIga2V5U3BsaW5lcz0iMCAwLjIgMC44IDEiIGtleVRpbWVzPSIwOzEiIHZhbHVlcz0iMDs0MCIgZHVyPSIxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGF0dHJpYnV0ZU5hbWU9InIiPjwvYW5pbWF0ZT4KICA8YW5pbWF0ZSBiZWdpbj0iLTAuNXMiIGNhbGNNb2RlPSJzcGxpbmUiIGtleVNwbGluZXM9IjAuMiAwIDAuOCAxIiBrZXlUaW1lcz0iMDsxIiB2YWx1ZXM9IjE7MCIgZHVyPSIxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGF0dHJpYnV0ZU5hbWU9Im9wYWNpdHkiPjwvYW5pbWF0ZT4KPC9jaXJjbGU+PGc+PC9nPjwvZz48L3N2Zz4=) * @param {Object} options - Configuration options * @param {string[]} [options.colors] - Array of hex colors to replace existing colors * @param {number} [options.width] - Width of the SVG (default: 200) * @param {number} [options.height] - Height of the SVG (default: 200) * @param {number} [options.size] - Size for both width and height * @example loadingRipple({ colors: ['#0099e5', '#ff4c4c'], size: 100 }); * @returns {string} SVG string with applied customizations */ export const loadingRipple = (options: LoadingOptions = {}) => customSVG(options, `<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 stroke-width="2" stroke="#cbb953" fill="none" r="0" cy="50" cx="50"><animate begin="0s" calcMode="spline" keySplines="0 0.2 0.8 1" keyTimes="0;1" values="0;40" dur="1s" repeatCount="indefinite" attributeName="r"></animate><animate begin="0s" calcMode="spline" keySplines="0.2 0 0.8 1" keyTimes="0;1" values="1;0" dur="1s" repeatCount="indefinite" attributeName="opacity"></animate></circle><circle stroke-width="2" stroke="#cbb953" fill="none" r="0" cy="50" cx="50"><animate begin="-0.5s" calcMode="spline" keySplines="0 0.2 0.8 1" keyTimes="0;1" values="0;40" dur="1s" repeatCount="indefinite" attributeName="r"></animate><animate begin="-0.5s" calcMode="spline" keySplines="0.2 0 0.8 1" keyTimes="0;1" values="1;0" dur="1s" repeatCount="indefinite" attributeName="opacity"></animate></circle><g></g></g></svg>`); /** * Returns a customized SVG string for icon loading-spinner-oval * * ![loading-spinner-oval](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiIHN0eWxlPSJzaGFwZS1yZW5kZXJpbmc6IGF1dG87IGRpc3BsYXk6IGJsb2NrOyAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48Zz48ZyB0cmFuc2Zvcm09InJvdGF0ZSgwIDUwIDUwKSI+CiAgPHJlY3QgZmlsbD0iIzAwOTllNSIgaGVpZ2h0PSIxMiIgd2lkdGg9IjYiIHJ5PSI2IiByeD0iMyIgeT0iMjQiIHg9IjQ3Ij4KICAgIDxhbmltYXRlIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBiZWdpbj0iLTAuOTE2NjY2NjY2NjY2NjY2NnMiIGR1cj0iMXMiIGtleVRpbWVzPSIwOzEiIHZhbHVlcz0iMTswIiBhdHRyaWJ1dGVOYW1lPSJvcGFjaXR5Ij48L2FuaW1hdGU+CiAgPC9yZWN0Pgo8L2c+PGcgdHJhbnNmb3JtPSJyb3RhdGUoMzAgNTAgNTApIj4KICA8cmVjdCBmaWxsPSIjMDA5OWU1IiBoZWlnaHQ9IjEyIiB3aWR0aD0iNiIgcnk9IjYiIHJ4PSIzIiB5PSIyNCIgeD0iNDciPgogICAgPGFuaW1hdGUgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGJlZ2luPSItMC44MzMzMzMzMzMzMzMzMzM0cyIgZHVyPSIxcyIga2V5VGltZXM9IjA7MSIgdmFsdWVzPSIxOzAiIGF0dHJpYnV0ZU5hbWU9Im9wYWNpdHkiPjwvYW5pbWF0ZT4KICA8L3JlY3Q+CjwvZz48ZyB0cmFuc2Zvcm09InJvdGF0ZSg2MCA1MCA1MCkiPgogIDxyZWN0IGZpbGw9IiMwMDk5ZTUiIGhlaWdodD0iMTIiIHdpZHRoPSI2IiByeT0iNiIgcng9IjMiIHk9IjI0IiB4PSI0NyI+CiAgICA8YW5pbWF0ZSByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgYmVnaW49Ii0wLjc1cyIgZHVyPSIxcyIga2V5VGltZXM9IjA7MSIgdmFsdWVzPSIxOzAiIGF0dHJpYnV0ZU5hbWU9Im9wYWNpdHkiPjwvYW5pbWF0ZT4KICA8L3JlY3Q+CjwvZz48ZyB0cmFuc2Zvcm09InJvdGF0ZSg5MCA1MCA1MCkiPgogIDxyZWN0IGZpbGw9IiMwMDk5ZTUiIGhlaWdodD0iMTIiIHdpZHRoPSI2IiByeT0iNiIgcng9IjMiIHk9IjI0IiB4PSI0NyI+CiAgICA8YW5pbWF0ZSByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgYmVnaW49Ii0wLjY2NjY2NjY2NjY2NjY2NjZzIiBkdXI9IjFzIiBrZXlUaW1lcz0iMDsxIiB2YWx1ZXM9IjE7MCIgYXR0cmlidXRlTmFtZT0ib3BhY2l0eSI+PC9hbmltYXRlPgogIDwvcmVjdD4KPC9nPjxnIHRyYW5zZm9ybT0icm90YXRlKDEyMCA1MCA1MCkiPgogIDxyZWN0IGZpbGw9IiMwMDk5ZTUiIGhlaWdodD0iMTIiIHdpZHRoPSI2IiByeT0iNiIgcng9IjMiIHk9IjI0IiB4PSI0NyI+CiAgICA8YW5pbWF0ZSByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgYmVnaW49Ii0wLjU4MzMzMzMzMzMzMzMzMzRzIiBkdXI9IjFzIiBrZXlUaW1lcz0iMDsxIiB2YWx1ZXM9IjE7MCIgYXR0cmlidXRlTmFtZT0ib3BhY2l0eSI+PC9hbmltYXRlPgogIDwvcmVjdD4KPC9nPjxnIHRyYW5zZm9ybT0icm90YXRlKDE1MCA1MCA1MCkiPgogIDxyZWN0IGZpbGw9IiMwMDk5ZTUiIGhlaWdodD0iMTIiIHdpZHRoPSI2IiByeT0iNiIgcng9IjMiIHk9IjI0IiB4PSI0NyI+CiAgICA8YW5pbWF0ZSByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgYmVnaW49Ii0wLjVzIiBkdXI9IjFzIiBrZXlUaW1lcz0iMDsxIiB2YWx1ZXM9IjE7MCIgYXR0cmlidXRlTmFtZT0ib3BhY2l0eSI+PC9hbmltYXRlPgogIDwvcmVjdD4KPC9nPjxnIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA1MCkiPgogIDxyZWN0IGZpbGw9IiMwMDk5ZTUiIGhlaWdodD0iMTIiIHdpZHRoPSI2IiByeT0iNiIgcng9IjMiIHk9IjI0IiB4PSI0NyI+CiAgICA8YW5pbWF0ZSByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgYmVnaW49Ii0wLjQxNjY2NjY2NjY2NjY2NjdzIiBkdXI9IjFzIiBrZXlUaW1lcz0iMDsxIiB2YWx1ZXM9IjE7MCIgYXR0cmlidXRlTmFtZT0ib3BhY2l0eSI+PC9hbmltYXRlPgogIDwvcmVjdD4KPC9nPjxnIHRyYW5zZm9ybT0icm90YXRlKDIxMCA1MCA1MCkiPgogIDxyZWN0IGZpbGw9IiMwMDk5ZTUiIGhlaWdodD0iMTIiIHdpZHRoPSI2IiByeT0iNiIgcng9IjMiIHk9IjI0IiB4PSI0NyI+CiAgICA8YW5pbWF0ZSByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgYmVnaW49Ii0wLjMzMzMzMzMzMzMzMzMzMzNzIiBkdXI9IjFzIiBrZXlUaW1lcz0iMDsxIiB2YWx1ZXM9IjE7MCIgYXR0cmlidXRlTmFtZT0ib3BhY2l0eSI+PC9hbmltYXRlPgogIDwvcmVjdD4KPC9nPjxnIHRyYW5zZm9ybT0icm90YXRlKDI0MCA1MCA1MCkiPgogIDxyZWN0IGZpbGw9IiMwMDk5ZTUiIGhlaWdodD0iMTIiIHdpZHRoPSI2IiByeT0iNiIgcng9IjMiIHk9IjI0IiB4PSI0NyI+CiAgICA8YW5pbWF0ZSByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgYmVnaW49Ii0wLjI1cyIgZHVyPSIxcyIga2V5VGltZXM9IjA7MSIgdmFsdWVzPSIxOzAiIGF0dHJpYnV0ZU5hbWU9Im9wYWNpdHkiPjwvYW5pbWF0ZT4KICA8L3JlY3Q+CjwvZz48ZyB0cmFuc2Zvcm09InJvdGF0ZSgyNzAgNTAgNTApIj4KICA8cmVjdCBmaWxsPSIjMDA5OWU1IiBoZWlnaHQ9IjEyIiB3aWR0aD0iNiIgcnk9IjYiIHJ4PSIzIiB5PSIyNCIgeD0iNDciPgogICAgPGFuaW1hdGUgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIGJlZ2luPSItMC4xNjY2NjY2NjY2NjY2NjY2NnMiIGR1cj0iMXMiIGtleVRpbWVzPSIwOzEiIHZhbHVlcz0iMTswIiBhdHRyaWJ1dGVOYW1lPSJvcGFjaXR5Ij48L2FuaW1hdGU+CiAgPC9yZWN0Pgo8L2c+PGcgdHJhbnNmb3JtPSJyb3RhdGUoMzAwIDUwIDUwKSI+CiAgPHJlY3QgZmlsbD0iIzAwOTllNSIgaGVpZ2h0PSIxMiIgd2lkdGg9IjYiIHJ5PSI2IiByeD0iMyIgeT0iMjQiIHg9IjQ3Ij4KICAgIDxhbmltYXRlIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiBiZWdpbj0iLTAuMDgzMzMzMzMzMzMzMzMzMzNzIiBkdXI9IjFzI