@limeade-labs/sparkui-icons 1.0.0

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.
package/package.json ADDED
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "@limeade-labs/sparkui-icons",
3
+ "version": "1.0.0",
4
+ "description": "Emoji โ†’ Lucide SVG icon replacement for SparkUI. 208 mapped emojis, single-pass regex, <2ms for typical pages.",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "build": "node build/generate-map.js",
8
+ "test": "node test/test.js"
9
+ },
10
+ "files": [
11
+ "index.js",
12
+ "map.js",
13
+ "regex.js",
14
+ "colors.js",
15
+ "style.css",
16
+ "client.js",
17
+ "README.md",
18
+ "LICENSE"
19
+ ],
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "https://github.com/limeade-labs/sparkui-icons.git"
23
+ },
24
+ "homepage": "https://github.com/limeade-labs/sparkui-icons",
25
+ "keywords": [
26
+ "emoji",
27
+ "icons",
28
+ "lucide",
29
+ "svg",
30
+ "sparkui",
31
+ "icon-replacement",
32
+ "accessibility"
33
+ ],
34
+ "author": "Limeade Labs",
35
+ "license": "MIT",
36
+ "devDependencies": {
37
+ "lucide-static": "*"
38
+ }
39
+ }
package/regex.js ADDED
@@ -0,0 +1,6 @@
1
+ // AUTO-GENERATED by build/generate-map.js โ€” do not edit
2
+ 'use strict';
3
+
4
+ const EMOJI_REGEX = /(?:๐Ÿƒโ€โ™‚๏ธ|๐Ÿท๏ธ|๐Ÿ›ก๏ธ|๐Ÿ—‚๏ธ|๐Ÿ–ผ๏ธ|๐Ÿ—“๏ธ|๐Ÿ—‘๏ธ|๐Ÿ–จ๏ธ|๐Ÿ‹๏ธ|๐ŸŒก๏ธ|๐Ÿ›Ž๏ธ|๐Ÿฝ๏ธ|๐Ÿ—บ๏ธ|๐Ÿ…ฟ๏ธ|๐Ÿ–๏ธ|๐ŸŽ™๏ธ|๐ŸŒง๏ธ|๐ŸŒช๏ธ|๐Ÿ—ฃ๏ธ|๐Ÿ‘๏ธ|๐Ÿ—จ๏ธ|๐Ÿ› ๏ธ|๐Ÿ—๏ธ|๐Ÿ”ฅ|โš ๏ธ|๐Ÿ’ก|๐Ÿ””|๐ŸŽฏ|๐Ÿ“Œ|๐Ÿ”|โžก๏ธ|โฌ…๏ธ|โฌ†๏ธ|โฌ‡๏ธ|๐Ÿ”—|๐Ÿ“Ž|โ„น๏ธ|๐Ÿš€|๐Ÿ’ฌ|๐Ÿ“ข|๐Ÿ”–|๐Ÿ |๐Ÿ‘ค|๐Ÿ‘ฅ|โš™๏ธ|๐Ÿ“Š|๐Ÿ“ˆ|๐Ÿ“‰|๐Ÿ’ฐ|๐Ÿ›’|๐Ÿ“ฑ|๐Ÿ’ป|๐Ÿ”’|๐Ÿ”“|๐Ÿ“ง|๐Ÿ“ž|๐ŸŒ|๐Ÿ“|๐Ÿ“„|๐ŸŽจ|๐Ÿงฉ|๐Ÿ“‹|โœ๏ธ|๐Ÿ“ค|๐Ÿ“ฅ|๐Ÿ”„|โ–ถ๏ธ|โธ๏ธ|โน๏ธ|โญ๏ธ|โฎ๏ธ|๐Ÿ”Š|๐Ÿ”‡|๐Ÿ“ท|๐Ÿ’พ|โ†ฉ๏ธ|โ†ช๏ธ|๐Ÿ“|๐Ÿ”€|๐Ÿ”|โœ‚๏ธ|๐Ÿ“‘|๐Ÿ”ฝ|๐Ÿ”ด|๐ŸŸข|๐ŸŸก|๐Ÿ”ต|๐ŸŸ |โœ”๏ธ|๐Ÿ†•|๐Ÿ”œ|๐Ÿ“ถ|๐Ÿ”‹|๐Ÿ’ค|๐Ÿ|๐Ÿ“|๐Ÿ“…|๐Ÿ“†|๐Ÿ•|๐Ÿ•‘|๐Ÿ•’|๐Ÿ•“|๐Ÿ•”|๐Ÿ••|๐Ÿ•–|๐Ÿ•—|๐Ÿ•˜|๐Ÿ•™|๐Ÿ•š|๐Ÿ•›|๐Ÿ’ช|๐Ÿƒ|โค๏ธ|๐Ÿ’“|๐Ÿฉบ|๐Ÿ’Š|๐Ÿฅ|๐Ÿง˜|๐ŸŽ|๐Ÿฅ—|โš–๏ธ|๐Ÿฉธ|๐Ÿ˜ด|๐Ÿณ|๐Ÿ•|๐Ÿบ|๐Ÿท|๐Ÿฅค|๐Ÿง|๐Ÿ”|๐ŸŒฎ|๐Ÿฅฉ|๐Ÿด|๐Ÿ“–|โฒ๏ธ|๐Ÿ”ช|๐Ÿฅ‘|๐ŸŒพ|๐Ÿ’ง|๐Ÿงˆ|๐Ÿฅ“|๐Ÿง€|๐Ÿฅš|๐Ÿ—|๐Ÿฅฆ|๐Ÿซ’|๐Ÿง…|๐Ÿœ|๐Ÿฒ|๐Ÿซ|๐Ÿซ|๐Ÿฉ|๐Ÿช|๐Ÿ’ณ|๐Ÿฆ|๐Ÿ’ต|๐Ÿงพ|๐Ÿ’น|๐Ÿข|๐Ÿ‘”|๐Ÿ“ƒ|๐Ÿค|๐Ÿ“|๐Ÿ’Ž|๐Ÿช™|๐Ÿ“ฆ|โœˆ๏ธ|๐Ÿš—|๐Ÿš•|๐ŸšŒ|๐Ÿš‚|๐Ÿšข|๐Ÿจ|๐Ÿงญ|๐Ÿ›ซ|๐Ÿ›ฌ|๐Ÿšฒ|๐Ÿ“š|๐ŸŽ“|โœ๏ธ|๐Ÿ”ฌ|๐Ÿงช|๐ŸŒ|๐Ÿงฎ|๐ŸŽฎ|๐ŸŽต|๐ŸŽฌ|๐Ÿ“บ|๐ŸŽง|๐Ÿ“ป|๐ŸŽญ|๐Ÿ“ธ|๐ŸŽค|๐ŸŽช|๐ŸŽฒ|๐Ÿƒ|๐Ÿ†|โ˜€๏ธ|๐ŸŒ™|โ„๏ธ|๐ŸŒŠ|โ›ˆ๏ธ|๐ŸŒˆ|๐ŸŒฒ|๐Ÿ’Œ|๐Ÿ“ฉ|๐Ÿ“จ|๐Ÿค–|๐Ÿ‘‹|๐Ÿ™|๐Ÿ‘|๐Ÿ‘Ž|๐Ÿ”•|๐Ÿ“ฃ|๐Ÿ’ธ|๐ŸŽ‰|๐Ÿ‘|๐Ÿ™Œ|๐Ÿ˜Š|๐Ÿ˜ƒ|๐Ÿ˜„|๐Ÿค”|๐ŸŽ|๐Ÿงฒ|๐Ÿ”ง|๐Ÿ”จ|โš’๏ธ|๐Ÿ”‘|๐Ÿงฐ|๐Ÿชฃ|๐Ÿงน|๐Ÿ”Œ|๐Ÿงฌ|โ™ป๏ธ|โšก|โœ…|โŒ|โญ|โ“|โ—|โž•|โž–|โณ|โฐ|โšช|โŽ|โ˜•|โ›ฝ|โ›…)[\u{1F3FB}-\u{1F3FF}]?/gu;
5
+
6
+ module.exports = { EMOJI_REGEX };
package/style.css ADDED
@@ -0,0 +1,39 @@
1
+ /* sparkui-icons base styles */
2
+ .sparkui-icon-wrap {
3
+ display: inline-flex;
4
+ align-items: center;
5
+ vertical-align: middle;
6
+ line-height: 1;
7
+ }
8
+
9
+ .sparkui-icon {
10
+ display: inline-block;
11
+ vertical-align: middle;
12
+ flex-shrink: 0;
13
+ }
14
+
15
+ /* Colored circle variants */
16
+ .sparkui-icon.sparkui-red { color: #ef4444; stroke: #ef4444; }
17
+ .sparkui-icon.sparkui-green { color: #22c55e; stroke: #22c55e; }
18
+ .sparkui-icon.sparkui-yellow { color: #eab308; stroke: #eab308; }
19
+ .sparkui-icon.sparkui-blue { color: #3b82f6; stroke: #3b82f6; }
20
+ .sparkui-icon.sparkui-white { color: #e5e7eb; stroke: #e5e7eb; }
21
+ .sparkui-icon.sparkui-orange { color: #f97316; stroke: #f97316; }
22
+
23
+ /* Filled variant โ€” single color for both fill and stroke */
24
+ .sparkui-icon-wrap.sparkui-filled svg {
25
+ fill: var(--si-color, currentColor);
26
+ stroke: var(--si-color, currentColor);
27
+ }
28
+
29
+ /* Duotone variant โ€” independent fill + stroke with opacity */
30
+ .sparkui-icon-wrap.sparkui-duotone svg {
31
+ fill: var(--si-fill, currentColor);
32
+ fill-opacity: var(--si-fill-opacity, 0.35);
33
+ stroke: var(--si-stroke, currentColor);
34
+ }
35
+
36
+ /* Dark mode adjustments */
37
+ @media (prefers-color-scheme: dark) {
38
+ .sparkui-icon.sparkui-white { color: #f9fafb; stroke: #f9fafb; }
39
+ }