<style>
body {
font: 18px arial;
color: darkgreen;
}
svg-icon {
background: lightgreen;
width: 110px;
}
svg-icon[is*="source"] {
background: pink;
}
svg-icon::part(size){ /* show icon name and size in bytes inside shadowDOM */
font-size: 70%;
color: black;
}
</style>
<svg-icon is="right-arrow-source" color="red"></svg-icon>
<svg-icon is="right-arrow"></svg-icon>
<svg-icon is="settings-source" color="red"></svg-icon>
<svg-icon is="settings"></svg-icon>
<h1>Web Component: <svg-icon is="[name]"></h1>
<ul>
<li>
Define the Web Component in the <head> to <b>not</b> create any FOUCs.
</il><li>
Edit/optimize the d-path in: <a href="https://yqnn.github.io/svg-path-editor/">https://yqnn.github.io/svg-path-editor/</a>
</il><li>
Ask your AI to create a <i>refactor/compress skill</i> from the source icon to the <i>slimmed</i> icon.
</il><li>
Then copy/past new SVG icons and ask AI to convert the source to the final version.
</il><li>
<a href="https://www.svgrepo.com/svg/523734/settings?edit=true">copy SVG per Icon from https://svgrepo.com</a>
</il><li>
Delete <i>source</i> versions when done.
</il><li>
Using <b>is</b> attribute is safe because that is a HTMLElement property by default; but only used in <i>Customized Built-In</i> Web Components, which nobody uses because Safari doesn't support those Web Components.
</ul>
<!-- WCQ - A Web Components Course -->