@dava96/osrs-icons 1.0.15 → 1.0.16
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/README.md +79 -0
- package/dist/cjs/applyCursors.d.ts +63 -0
- package/dist/cjs/applyCursors.js +82 -0
- package/dist/cjs/applyCursors_test.d.ts +1 -0
- package/dist/cjs/applyCursors_test.js +41 -0
- package/dist/cjs/flip.d.ts +33 -0
- package/dist/cjs/flip.js +79 -0
- package/dist/cjs/flip_test.d.ts +1 -0
- package/dist/cjs/flip_test.js +39 -0
- package/dist/cjs/index.d.ts +4 -0
- package/dist/cjs/index.js +6 -0
- package/dist/cjs/packs.d.ts +168 -0
- package/dist/cjs/packs.js +182 -0
- package/dist/cjs/packs_test.d.ts +1 -0
- package/dist/cjs/packs_test.js +110 -0
- package/dist/esm/applyCursors.d.ts +63 -0
- package/dist/esm/applyCursors.js +79 -0
- package/dist/esm/applyCursors_test.d.ts +1 -0
- package/dist/esm/applyCursors_test.js +36 -0
- package/dist/esm/flip.d.ts +33 -0
- package/dist/esm/flip.js +76 -0
- package/dist/esm/flip_test.d.ts +1 -0
- package/dist/esm/flip_test.js +34 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/packs.d.ts +168 -0
- package/dist/esm/packs.js +179 -0
- package/dist/esm/packs_test.d.ts +1 -0
- package/dist/esm/packs_test.js +105 -0
- package/package.json +2 -2
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A cursor pack groups related OSRS icons by their in-game state.
|
|
3
|
+
*
|
|
4
|
+
* Each key is a semantic label (e.g. `raw`, `cooked`, `burnt`) and
|
|
5
|
+
* each value is the corresponding CSS cursor string, ready to apply
|
|
6
|
+
* to any element's `cursor` property.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* import { sharkPack } from '@dava96/osrs-icons';
|
|
11
|
+
*
|
|
12
|
+
* // Use the raw shark as the cursor
|
|
13
|
+
* document.body.style.cursor = sharkPack.raw;
|
|
14
|
+
*
|
|
15
|
+
* // Swap to the cooked variant on click
|
|
16
|
+
* button.addEventListener('click', () => {
|
|
17
|
+
* document.body.style.cursor = sharkPack.cooked;
|
|
18
|
+
* });
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* Shark cursor pack — raw, cooked, and burnt states.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* import { sharkPack } from '@dava96/osrs-icons';
|
|
27
|
+
* element.style.cursor = sharkPack.cooked;
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare const sharkPack: {
|
|
31
|
+
readonly raw: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAeCAMAAADn2eWTAAAAzFBMVEVMaXF/dnZ9dHSJgH93b26QhoZ7cnIAAAGYjo15cXCViomHfn2BeHhhWlpsZGRuZmZjXFt1bWxqYmKLgoFnYGCWjIuFfHuaj4+EenqdkpKNg4OPhYWTiIhza2tlXl1waWlUTU2bkJCkmZihlZVWUFA/Ojqjl5ZdV1eflJRCPT20qaivoqI8Nzc1MDBMRkZFQEBIQ0Omm5qpnp2vpKSrn58VERGonJtYUlK/tra7sbG3rKy5rq2yqKcyLi4kIiIsKipOSUg5NDRRSkpbVVU/eB25AAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAbVJREFUeNp109l2mzAQBmALJAYhmU3sa4ztxE2afenedHn/d8oIhYJ7kv/K5hvmaMbyajUGAFbvBgqnfb8AbEKD7i/AmyVQZVa7251g9vB/DeSNLcMwXL/m6vJxwVCmbYDxMbEfJCf7n0s9dTiGRhGl3KHB+ubHUrNCEssissiEEIT6fz7OCkqjY1mFqFiKB4zW188wz6PRcTFZ5TUKh//1e1aFyEfFpExJHn6YFOoKkRuzmevVtqRXlzApczg1Wog6dZtKkHA/KWu4nsScufJy7J1ZN0bB8xoaabUIIaCaXPcuQjMUeCmLIr0IyjlgJ3eTYm95bTTNWdQHQd/3bQv6e5l7zJadVnDzktHAjzG+Kd+ULrNJoIeCvDw80iBOujCcjnlAtfxPWsvtk+J+nITrs0k/G8WXYTvkNvfx1bN/6/nyjQkn3u1QTwf9MenW82a/nteCJz2Ww1DWGcfGM55/v78QNIs63TlVkibd4ge9v3i4e8qVE6NuPEWiZHkXHu5uByiZ7Ee1SXukt8MWn3sZ1SOhwtEl2x7GPSjH6NENh3JjVsbkuMvj6w/utBTx1l9nHm31AmvNJCtEE0JRAAAAAElFTkSuQmCC'), auto";
|
|
32
|
+
readonly cooked: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAeCAMAAADn2eWTAAAA/FBMVEVMaXGVe2WTeWOkh2+PdWCsj3WXfGYAAAFrUjyQd2J1YVCDa1ixkXdzXk2AaVaihW6Mc16bgGqafmeFbVqoi3J9Z1W3lny5mH17ZVKyk3mJcV14Y1GegmughGyvj3aniXG1lXqrjXN5XUVxVj9nVUZlUkN0WEK+nYFuVD28m4BQPSxXQjBbRTRdSDWHb1t2W0NMPTJ8YEa7mn5hSjfCoIRkTTlUQC5nUDpwXEyCZEl/YkiFZUpANSpcTD1WRjpIOjBSQzdOQDU/MCRDNCbBn4JMOioYEQ2HZ0yKak45LiYqIho0KiJiUUJYSTxDNy5eTkBrV0jGo4YVERFINyhtd8KWAAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAcpJREFUeNp102dzozAQBmADEmvRMc10DLjG3Y6dfrmUu+R6+f//5QQMMb5x3k+MHrGjXUSrVQYAWu8GZmeT9zfAZrp7fnwAOLkFzunLeZ73+/0l/L8HRvvNVCgil7m9+dRgyNqeIZZRFNHo9pdfmjpgCSFI8zREWIYY8t1rUwO9wzN8Rw9ClVN5JH77cFCIC2QZRlfNyO2FjCbff31j4Apk2zShKUlmwHo/fzSUIimVJolinQgfa4WeSZFUxuHExVwH3d5ArZglqFJd7bm2ZKq8sKwVRwQVrZSHNiXHxXHIfK8UJClCZaMMz/MQR7Yt9bhAqJoCKcEaDaIhQCsl6yQyVf2u0sTBmkEzn889ugLu2ikO5hcKtjPGyFAsS1GUarsztjHHi/dQPg//IFHp+oJfH3NIlRF/FTp++h0T0eoK8kWtLzZWGSWnE4Hh1uaIYvnCxdt4Pl9jlbXyB6pPWxyytLB8mOz1JVaJNXmkul2bAaGFD3h5dbVSyWb3t6jsxh1k+Y0PulqlaTo6P3um6kgc73WbdyFNFwvI9tPJSV0MBnS9PdsVLVGFo0uWZcUyLV3p0Q2HbFSNbD8tZ3l8/aFdD2V26tc5tNb6B4niLWTURBJwAAAAAElFTkSuQmCC'), auto";
|
|
33
|
+
readonly burnt: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAeCAMAAADn2eWTAAAAb1BMVEVMaXE8NzdYUlJbVVVIQ0NOSUhUTU0AAAFMRkZhWlpRSko/OjpCPT1dV1dWUFBFQEA1MDBlXl1jXFsoJiY5NDQkIiIsKipqYmJnYGAyLi5za2sgHR1sZGRuZmZwaWkVEREaGBh5cXB7cnJ1bWx3b25PGaM2AAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVtJREFUeNp1k+16gyAMhRWQIygg1lbbteu+7v8al8BUuqc9f0ReTkxCrKokANVLQTfq9QF424ZuAJ4egSDzkHTA/zMw0tt61/l4LzBGp0LoV3XD4aOksWlJisTPUJ/eSqqtbUjWWq0pg/58RJkxQTJZ7YXkBEszUYaGZL2UXF1hhk9Ok+UE4fqArVixQy1cir2FhpCcb4KWqJNeN5sZUraplpS0lzn2CSuUuVAuCkwptq1zXpBOqFWg7zjDsW0ODWeEojYGFvh9NJxYjQxHoai5rHzcjI5oz2Zax7siSHeD7VKYDkzHuPhEp2mlX0Tbnq6aqaMlWaetPZ8/RLuBzIiRl90OK3xfeCtMTA3VTnSHl8v7TSutao4sqa0FrPB+u86z8W0PnindhK6chet1XjAKG57SeYm077TikoiWE4olxtQH32T6MOGI41//berl4/jDrE3Rz36dvbTqF468FMgJpWphAAAAAElFTkSuQmCC'), auto";
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Herring cursor pack — raw, cooked, burnt, and the infamous red herring.
|
|
37
|
+
*
|
|
38
|
+
* The `error` alias points to `redHerring` — a fun easter egg for
|
|
39
|
+
* error states. Also available as the top-level `errorCursor` export.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```ts
|
|
43
|
+
* import { herringPack } from '@dava96/osrs-icons';
|
|
44
|
+
* element.style.cursor = herringPack.error; // 🐟 Red herring!
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export declare const herringPack: {
|
|
48
|
+
readonly raw: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAWCAMAAAALimf+AAABC1BMVEVMaXGJgH+Ng4OTiIiLgoHa1NSvpKQAAAHLxMO6r6/d2Njk4eHDu7qVionW0M+QhoaWjIuHfn3NxsWsoKDUzs7h3dzo5eWPhYXQysqBeHiFfHuEenp9dHTOx8akmZjFvLzPyMja1tahlZXTzc2xpaXg29u7sbFnYGCbkJBuZmZ7cnJlXl1dV1eaj49waWl3b26voqKrn5/Gvr6jl5bKw8KyqKeYjo1hWlq/trbe2trl4uLv7e329fWmm5pWUFDRy8tCPT1MRkZ1bWydkpJYUlLHv7+2q6psZGS+tLRRSkqflJRqYmK8srLIwcHc19epnp23rKy5rq3r5+fj4ODs6enz8fHn4+P8+/vw7u6NwyjkAAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAQdJREFUeNp90WVTw0AQBuAoGyGephpPjbpRheLu/v9/CZdOGeg15P24z+zN7i1BJAeIlACdwkClKJBZKUWZFIUCo6j/KeQ1althnVJRo+h9wOzo+Pqs2bhtl4okpgCHzUb1st7u7OULmkYyDMCvVesnqEwylEJLasvpPkWPg7VDBz2WlVq105tg4DjG0PSG7uR5ZMBqO0WtBQc9o7sT5477GW+FQW9kRBd8pcLH4fSNaSHix/ee3HfdXRTdw1aZjG2ZtXUujp0LN1v7uskKGTMss7nzq6WJtYbIRMtnZ4hlGftAiO1tnilPBeHB93EVrZf5++JjJopTgK3LoNLX4tN6TaA/10mSbwIeHHHZ7IVWAAAAAElFTkSuQmCC'), auto";
|
|
49
|
+
readonly cooked: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAWCAMAAAALimf+AAAAulBMVEVMaXFqV1SQd3NvW1emiYV/aWVxXVoAAAGWfHiIcGxnVVJiUU1sWFZkUlCsjol2YV1eTkybgHudgn1zYFyjhoGyk41KPTqZfnmkh4N9Z2OghYCqjYeuj4pWSEW1lZC5mZO+oJs8MjBANTJGOjlNPz2fg35URUJRQkBcTEmKcm6EbWl7ZWJhWlqCa2aPdXGVe3a7nJbDp6I5LiwwKCYsJCKFb2uTeXR4Y2BaSUaNdHC3l5Goi4XBpJ7GrKggq2psAAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAOdJREFUeNp90elygjAUhmEogY9VISAU0Grdd2s3bbX3f1s9ATuViLw/zzOZOUkUpT4oDUFrYLjGfYXarNp9hd2gcEhDWXHJd2xXVuD97fV5OIpnvme7RkUBAfF4Nu3NfcfxPBv4t3hcjGmqqq7W1r+sTXpx9I6+2MQwwjaVmiziyW67WAqGR5cPD6tUL1qYf+sVuNpYqb78sMrMpLItrO06yNhDWRJIV9mtM5abZUnAq0fpXN7tcN5pRcEnn0hHhT31o+ibeJJJDwhhL4MTY+yRklXYed+iGHDzMzQa7H+6eQ1d/U6d/AKDWRNouCnhLwAAAABJRU5ErkJggg=='), auto";
|
|
50
|
+
readonly burnt: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAWCAMAAAALimf+AAAAeFBMVEVMaXE5NDQ/OjpUTU1FQEBCPT1hWloAAAFYUlJIQ0M8NzdOSUhbVVVlXl1MRkYyLi4sKipqYmJsZGRwaWlza2tdV1djXFskIiIoJiY1MDB3b25RSkp1bWx5cXB9dHQgHR0aGBhWUFBnYGCBeHh7cnIVERF/dnaEenpIDAZ3AAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAMVJREFUeNqd0dkWgiAUhWEcYqNBjlBpg2XD+79hB7JVGnnRf3k+z5IFjPkDmwnJDCOeUSz+VsLfitCnGEo9Cly77rheb3KryUgBC5s8z7Jt4ALeZudbmqdpGtLqSp6idnDYBTde0B/jRJSFMlyKk2UE7vuEWlGteB3PYRsJGi+HhBidFkJzVZTRswkycF6UlRiScryqzmVV76Ssq0LxCTJYa/ZaN8RaTy4Q1i4HY7hrqtZuvVLKGODrZWh06O9n5aGP1/HJAzprDYzLyS2fAAAAAElFTkSuQmCC'), auto";
|
|
51
|
+
readonly error: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAWCAMAAAALimf+AAAA2FBMVEVMaXGUQ0mtUFa/TUWDPEDCTkaWRUoAAAGoTVSbSE2FPUKLQEWAOj+yUlhzNTmOQkZ2Nzp9OT26SkOIP0ORQ0i9TEO4SkKjTFHpcmvqfHXnZ2C0VFq2VVttMjVwNDd6OTyrTlW2SUDqeXKgSlDrgnznXVTulpGySEDobGPrhX91bWzsiILZV07pdW7gWlHSVUzXVk3LUknsi4WvUVftkYy5Vlzvn5pjLDBmLjJqMDSZRkyeSU7rf3jnYVfsjojeWlDpb2biW1HcWE7QVErnZFvVVk3wp6PumZVGDfX+AAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAOtJREFUeNp90elygkAQRtEBlW8CBjCgoixREbe4xqhJ3LLn/d8ojYUVHZH7s09NVU81Y+mBZYRcBqNcuK64y9bcdUUlQ9FMUyR1m5WyqMDq+cX3A928VMAPAl03zftSqVjMU8C/6TSOp6qqWpZmK8Pvz1niIMmrlqZphmHYtsSd3lc0/phOYkYshi1RCrXmx/UOOJsMJeX1Jonzs20x3Q+2PadKhWHIG8JX3gd1p8WTGvL504hs05bl2qgejQVkeGvV2g+7+bxPLAvIQPb41HFd9zZO1D7Z73LheZ4LXFyGRp3lz8JLoZPrpMkfUhEW8s27VDAAAAAASUVORK5CYII='), auto";
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Anglerfish cursor pack — raw, cooked, and burnt states.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```ts
|
|
58
|
+
* import { anglerfishPack } from '@dava96/osrs-icons';
|
|
59
|
+
* element.style.cursor = anglerfishPack.raw;
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export declare const anglerfishPack: {
|
|
63
|
+
readonly raw: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAeCAMAAAB61OwbAAABp1BMVEVMaXFGTCpKUCxbVypOVC5IRiBRVzAAAAFDSChDQh0/PR1GZ1FgWyw5ORo9XEgockpejG1ReF1jXSxKblVUUCZAXko8WEVVfWIkZ0M8PyQma0YgVzpMSCIyTDo6VkIuQzVMcFdmYS4/QyZwazQNGBEwSDdCYkw3PCJMSiIqdU0wiVpXVCgyjFwqeVAoPC45nWcgXDx9eGM3m2Zzb1w/rnI3UkA1Tj0iNCgaKiAmOSouLhVIQyBdZDkwhVhhZzp4c2BahWdkYVBbh2okZEIYQipNc1oJJBhdiWwmb0koLBgqQDJQTCRVWzQgLiQ5Nxo/PB1XXTUsfFJIa1SCfGY0kmAug1Z9djltZzJSe2B7dmKDjYetubJ2f3o0j154gXxQdVwaUDQiYD81lWIugFRiXU1/emUYRi5KSDpGQzlbYTdWgGQdVDcaSjARMCBxbVqPiXENKhoJGhGFgWsmJiBDPx1jk3NllXRYg2VDZU52cTduon8uMhp6dDlqZDBsoH1zbjW5wr3KxK1WVEXMxrE/sHRsdEJmbj27tZa/uZy7s5WqpIdnY1Kup4qE/T3jAAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAddJREFUeNp9k2dbo1AQhYEAhwBBiYIgphtTTE+sa++6vbm6vffeu24v+qP3grgxPEnOt3vP+8zMnblDUbZAtRVwH0Abe7EQCSnR/4QHxYXLsBXev8dgI4HzF+0L6BJc3+fJt3eCormAT5Z93U0qwoATApCDwVZAlMT+gqADgPK+CzgVXX79/vOyqqokx2HwfGMlwXMbM68+vttKJOZ6CMDzLNtQLGKJ9bmZN59iVkc2ljhBbIaJyb46gamJe6p6ZTHaS8SxRAwtD4oHgGp5lZEk6e32jXyGIwkYWhDEQKDe353Vr8K0GdavT/r9XNoB4n19qLcfpvkhldLUdJrzE3EcFyBacbv3F9gV4nEzJXQRxwb0UHh8/KUbAb/+AL9pklSImxJxRTFJnnjs+KF94MdP4BtNO4g2IIriyF7XXQCdte+1WqctdoLXFCXQj4NzpFAsVirFSg/R1BFGU/Qh7xRyZy7lctlsFxErMPpwvxcwJs+ezGcyHbaEoeSa1z9dLeVXeo35ecMwwkpkzBuAlIKr1yzrQalkDYdCR0eb/W8s3F54aBWSkUih6f/Hzbsvnj6rPno8NtJ8PTB7B1gqL02PtvA3Z+1pPQdutQDKTmefoOWOos0G/wOfdD9Z7Ze6gAAAAABJRU5ErkJggg=='), auto";
|
|
64
|
+
readonly cooked: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAeCAMAAAB61OwbAAABNVBMVEVMaXE/MA1FNBFdUDVQQyxbTTRUQh0AAAE8LAA1KABQPxpOPBFINQlJORFURi4dFQAuIgBXSTBbSio0JgksIglGNxhpUBpgTSxXQxU5LA1cRhVKPBpjUSxRPQlMQCpURSZgSRhSPxVMPSIkHQlXRSBIPShmVC5wXDQmHQBXSChCMABMOQl9eGNzb1xbQwlkVTk/NSRcSSBIOiA8MBV4c2BkTRhkYVBuXT1DOSYsJBhQQCRxYD9hUjc5LhqCfGY/Mh1tWDJ9ZjlsVBp7dmJ3XB1zWB1zXjV2YTdqVjC5wr16YznKxK1iXU1KSDpGQzlxbVqPiXGFgWsmJiB/emVnVzpDNx2DjYdrWzytubJ2f3o3Lh14gXzMxrFWVEV/bEhgSAm7tZZ2ZEO/uZy7s5WqpIdnY1Kup4pa0IZ9AAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAbJJREFUeNp9k3l7mkAQh1nA/aEgiICAWAPxTDzT3L3TJj1z9r7PpN//I3RAUiOP+v63O+8zMzu7KwgxEJYCVAEsCUe2bTH1v5FR8fELYtj1PtZmDbz/FG+AFZHGy5l6kxVEMRXKrltemdMRikkKwK3VFgiqSrlfoZYIELLnAtRo+/Hh0bbneVTjDiRptpPaIy+svHz2tNMJqyRIUi430yzanYMwDJ+3S4rW7owobJpttzw1sPvhredFUZQneI4wdXctuCEM+vtmkXixriicCpi6LAeOM53v1f43eavls57GC7yZCPXVVUzHj9be5/Ge6G1sNHmhUOCcO4SSTu8S+Fuv11tjWW02eSwwi21uvksz4Ocf4LdORckpUjgILDri/Ye3r4Xvv4Cvuh4rsigGgdOYTD0VUBn+GA4rMdLuPVFkjoGb9yjgVkKVuDsySWDZW9B6PY1QiZxsMt/ICnlNo+lMkH3LysYfDErrSn4CE207m4BaQTdfSvB9v9GY975hdLvdkm1Zlj33/eP49LVhDIwz257/PbBzAhh9Y6uxIP5kJ76tC+DNAqGfTPYcC/8olvzgfzmYLKgAoRgsAAAAAElFTkSuQmCC'), auto";
|
|
65
|
+
readonly burnt: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAeCAMAAAB61OwbAAAA5FBMVEVMaXEgHR0sKiowMDU1MDAoJiY8NzcAAAEuLgA1NQAyLi5FQEAkIiImJgA0OTQ3PDc5NDQ0NDlOSUgVEREwNTAuLjIqKiwaGBgqLCo/Ojo6PzpARUBMRkZCPT03NzwmKCZIQ0NCQAA8OgBzb1x9eGMdHQAiIiRbVVVDSENUTU09Qj14c2BkYVAuMi4dIB0iJCK5wr3KxK1GTEaCfGZ7dmJKSDpGQzliXU0mJiBxbVqPiXGFgWt/emWtubKDjYd2f3p4gXxITkjMxrFMTAm7tZZIRgm/uZy7s5WqpIdnY1JWVEWup4ptg9gsAAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAYVJREFUeNp9k+eawiAQRUMkuYRAijG61rVv7733/v7vs0PM6ppPPf/CPUxgAMsywFoJ0AWwIm4z5Uh3ahRU3D3CIP/GUZk3cP9gBiCjyTiCoPC/yRc4nwpBUFmwIkRZCSAMwyWC61Lto1yAVdwX4NbLWxsbZd/3ydiD582vJNz2W1vHm5vNZqtLgkfMLRaN5lOr1d1uMIc3mn2Te40wmBno9fvtdrted4g4y0VYSf8Jg+FIRMShtO1MEEKk1eqsv1+jb7GjbenyUinuZLleW8Os/dB6pDX3O524RMRxXCXsvHufwI/QhKhTYgTpyPF4Pa+A1w/gXRi0dilNU4e2uH8wFV7egGcxgUdpmrJJ13MBpnl+2eD1PM55NcH/c7TgZhir5wnOpSyeAo8imseNJYQn7aQoODTLzhG2o4r5yUBJ6q9SylG2VKxYgJYCplgGebXaovuNGsEYFWEL7z8uzi+TZJBcMbb4eWD3DEiGyU5tSX66a07rBrhdIgyzzl5j6RvFihf8C5EGHf38oNssAAAAAElFTkSuQmCC'), auto";
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Dragon dagger cursor pack — base through poisoned++ variants.
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```ts
|
|
72
|
+
* import { dragonDaggerPack } from '@dava96/osrs-icons';
|
|
73
|
+
*
|
|
74
|
+
* // Start with the base dagger
|
|
75
|
+
* element.style.cursor = dragonDaggerPack.base;
|
|
76
|
+
*
|
|
77
|
+
* // Upgrade to poisoned++
|
|
78
|
+
* element.style.cursor = dragonDaggerPack.poisonedPlusPlus;
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
export declare const dragonDaggerPack: {
|
|
82
|
+
readonly base: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAaCAMAAACw0Z1uAAAAdVBMVEVMaXGEGg1WEQlREQlRSkppFQlkFQkAAAFWOgmAGg18Gg1gEQlbEQlwGA1tFQ1WUFBwTA1MDQlYUlI8NzdMRkaHGg1IQ0N4GA10GA1UTU1bVVVFQEBlXl1CDQBhWlpIDQk5NDQoJiZza2tjXFtCPT1OSUhdV1cz9zMQAAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAIVJREFUeNpV0McSwyAMBFBiyhKMsePu9P7/nxhyACRub1arGSQEeRBMhhmaEj4w1g0hpFkpK70U4uaDIzzUzT4Tl8qshDKGO+RRH4r+a10SAKndlDRuMMuUe8Oo+jiR+Bhm1V/P2fY+q/aYutba7tSW0HakGkP6MS71elJ+vuxC742fk+oHRxUGbUCEKNMAAAAASUVORK5CYII='), auto";
|
|
83
|
+
readonly poisoned: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAaCAMAAACw0Z1uAAAAolBMVEVMaXFwTA1YUlI8NzeEGg2AGg1WUFAAAAFWOglRSkppFQlMRkaHGg18Gg1IQ0NREQlWEQlkFQlUTU0RlRUVsRoVqxoVpRhbVVVFQEBlXl1hWlpbEQlMDQk5NDQoJiZ4GA1tFQ1CDQBgEQkNdBFwGA0NcBF0GA0RjhVza2sYyyARixVjXFsYxR0NhBVCPT1OSUhdV1cYvx0RohgVuh0RmxgVtxo1dBhZAAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAIxJREFUeNpV0EcWgzAMBFADgbHpPT2k917uf7WwsS1p9580C40QZCCYWmY0lKhqxu+PELf3h/LcviyxOzRXwk1Vnwyxyou9b5mtt/5AE7Pp0kogDxMtAFmYxFpRiaKLTc6LlNtfaC68VLmTsbGcpyoY6qyU0hkFdikdEu2X9DEudTlSPp6soXvJ66T6A66HCIAqDAySAAAAAElFTkSuQmCC'), auto";
|
|
84
|
+
readonly poisonedPlus: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAaCAMAAACw0Z1uAAAAolBMVEVMaXFwTA1YUlI8NzeEGg2AGg1WUFAAAAFWOglRSkppFQlMRkaHGg18Gg1IQ0NREQlWEQlkFQlUTU0RlRUVsRoVqxoVpRhbVVVFQEBlXl1hWlpbEQlMDQk5NDQoJiZ4GA1tFQ1CDQBgEQkNdBFwGA0NcBF0GA0RjhVza2sYyyARixVjXFsYxR0NhBVCPT1OSUhdV1cYvx0RohgVuh0RmxgVtxo1dBhZAAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAIxJREFUeNpV0EcWgzAMBFADgbHpPT2k917uf7WwsS1p9580C40QZCCYWmY0lKhqxu+PELf3h/LcviyxOzRXwk1Vnwyxyou9b5mtt/5AE7Pp0kogDxMtAFmYxFpRiaKLTc6LlNtfaC68VLmTsbGcpyoY6qyU0hkFdikdEu2X9DEudTlSPp6soXvJ66T6A66HCIAqDAySAAAAAElFTkSuQmCC'), auto";
|
|
85
|
+
readonly poisonedPlusPlus: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAaCAMAAACw0Z1uAAAAolBMVEVMaXFwTA1YUlI8NzeEGg2AGg1WUFAAAAFWOglRSkppFQlMRkaHGg18Gg1IQ0NREQlWEQlkFQlUTU0RlRUVsRoVqxoVpRhbVVVFQEBlXl1hWlpbEQlMDQk5NDQoJiZ4GA1tFQ1CDQBgEQkNdBFwGA0NcBF0GA0RjhVza2sYyyARixVjXFsYxR0NhBVCPT1OSUhdV1cYvx0RohgVuh0RmxgVtxo1dBhZAAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAIxJREFUeNpV0EcWgzAMBFADgbHpPT2k917uf7WwsS1p9580C40QZCCYWmY0lKhqxu+PELf3h/LcviyxOzRXwk1Vnwyxyou9b5mtt/5AE7Pp0kogDxMtAFmYxFpRiaKLTc6LlNtfaC68VLmTsbGcpyoY6qyU0hkFdikdEu2X9DEudTlSPp6soXvJ66T6A66HCIAqDAySAAAAAElFTkSuQmCC'), auto";
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* Gold ore/bar cursor pack — represents the smelting progression.
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```ts
|
|
92
|
+
* import { goldPack } from '@dava96/osrs-icons';
|
|
93
|
+
* element.style.cursor = isComplete ? goldPack.bar : goldPack.ore;
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
export declare const goldPack: {
|
|
97
|
+
readonly ore: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAcCAMAAAA3HE0QAAAAvVBMVEVMaXFhTjd/ZkhxWz9uWD1bSTR8ZEYAAAF5YkV2YEPIoxiHbUyCaUnFoBhdTDVkUTlnVDrLpRhXRjDTrBp0XUJUQy5rVjy6lxU/NCTVrhpMPSrQqRjCnhifgRGxkBWujhWFa0o8MCJDNyZQQCzNqBiihBGRdhG9mhi3lRWLcRGYfBGVeRE3LB1IOiirixW/nBiAZw2lhhVwWw2OdBEyKBqHbg3ashqbfxFtWA1kUQl4Yg10Xg2Eaw18ZQ2oiRU+gGzEAAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAaRJREFUeNp9k+eSozAQhEFIagSIHIwB4xw3714O7/9YK4nlynVre35R9Dc9QZJlnQUA61ZgmjIY7DKIZcEELGyP3emAiwZMCODp26aqjxcBpQt83272TfYM63Mh6Hw8dTOvaWZAGlPnf0J3uH1okyTZYcEcl6f4N95oiE3l6cCSCeKLAcDdYnI/XaVmxJmUUtMrRnw/GJLeipSFUah2gJfnDyuk1FcAN993BQvt2A4V8KefbYaskM/9OTH6YpEyO6KRrYDffbV7MH8dN/DnAzuZKIMyjyMFvPbS8/a6GSqCoQWlL1UBlRAr4NTLJsta6D0RfzBY3k9VAREEpfr7t0q+1lnSVhjWYk5gVdhxTgihCpjtkrpuvMezPUPNGFFOCNeLRSWzei3xcnjdjlvUHbqEc54b23adrfHj5+m4HgE7igTnrgpla8dIMuDXoWu9EYjLnA8qCrukuji+dJUnR4BSI+tu7NIxJ4yuT+Tj7mOKfJAtrJQuzPlhn8izMcZ5GXUEd3H1eiPUAL9+8WErgBDnKoGI5i4JbjjENOfB/MbbwsUn9Q5Gix6anIsZKQAAAABJRU5ErkJggg=='), auto";
|
|
98
|
+
readonly bar: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAWCAMAAADkSAzAAAAAFVBMVEVMaXF0Xg3dtBpbSgnYsBoAAAGxkBW1pwQ1AAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAGlJREFUeNp90ksSwCAIBUH8kPsfOQIaH0icndUFGyGCWKI8fqTczdQv1nucRhu57cGEv+2ZVV5WTps4TApmOE1CUwQrNyuHSYjbiFtr270pbve2cLkzQHM0/WF0Z9GjOa/5nZj/3ZA6vl8xFgYYbQNsWgAAAABJRU5ErkJggg=='), auto";
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* Iron ore/bar cursor pack — represents the smelting progression.
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```ts
|
|
105
|
+
* import { ironPack } from '@dava96/osrs-icons';
|
|
106
|
+
* element.style.cursor = ironPack.ore;
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
export declare const ironPack: {
|
|
110
|
+
readonly ore: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAcCAMAAAA3HE0QAAAAclBMVEVMaXFDKB1bSTQ0IBh5YkV2YENuWD0AAAFILCBMLiJhTjd8ZEY/Jh1/ZkhxWz85IhqHbUyCaUldTDVkUTlnVDpXRjB0XUJUQy5rVjxQMCQ/NCQoGBEuHRVMPSqFa0o8MCJDNyZQQCw3LB1IOigiFQ0yKBoPjeROAAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAXJJREFUeNp9k9mWwiAQRAMGKmwhe6Imxm3+/xenAXU8jtpPOalL9QZZ9hQAsm+BpeeI2HsQx5ELZNiEwFsDLgQwbzxT/i1AusB+461SFtn/RAjnMXtbKMWAvpPlKxEqDAmUKrDyMjc9Hu3dDeFZQaFw5MJVIgE4r7vLcupji5bkQJ+4q6o6HfoZe960Dc0AV3+zQi8rAkz8Po+80Z1uCNhbmzpEYw7VwUV9XXuuW9lqAmbLmI1/y7yuDond7chgGro2TDGUwEIxUtSpBNKPlIAOdAmITYY5uSoZHC8LJRB1PdFfywq1VQWLJrcel9Oou8E5J5+ApzmDemylcc6EwSIBtJHHQhEqzJ0xZoi2AcCVAHUHdNsKY3IKstUd1BbYz57meQO6aTBJxagnGZLTStkfIGWUQzV6KuOG4cM4bgSGJGc4kS7i/sDiwl6uMrgshcnx8XqjCYD5fPGhCXCu/EiglUPu6i8OnRxMffjytvD2Sf0C/E0W93PlKLcAAAAASUVORK5CYII='), auto";
|
|
111
|
+
readonly bar: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAWCAMAAADkSAzAAAAAFVBMVEVMaXFjXFs1MDBlXl0AAAEoJiZRSkobUqUAAAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAGlJREFUeNp90kESwCAIBEFUzP+fHAGNCxLnZnXBRYggliiPHyl3M/WLlRKn0UZuezDhb3tmjZfV0yYOk4IZTpPQFMHqzephEuI24t77dm+K270tXO4M0BxNfxjdWfRozlt+J+Z/N6SO7xdp3QXrG2PKFgAAAABJRU5ErkJggg=='), auto";
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* Coins cursor pack — represents increasing wealth from 1gp to 10,000gp.
|
|
115
|
+
*
|
|
116
|
+
* In OSRS, the coin stack sprite changes based on the amount.
|
|
117
|
+
* Great for progress indicators, score displays, or loading states.
|
|
118
|
+
*
|
|
119
|
+
* @example
|
|
120
|
+
* ```ts
|
|
121
|
+
* import { coinsPack } from '@dava96/osrs-icons';
|
|
122
|
+
*
|
|
123
|
+
* // Map a 0–100 progress value to a coin stack
|
|
124
|
+
* const stages = coinsPack.stages;
|
|
125
|
+
* const index = Math.min(Math.floor(progress / 100 * stages.length), stages.length - 1);
|
|
126
|
+
* element.style.cursor = stages[index];
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
export declare const coinsPack: {
|
|
130
|
+
readonly _1: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAICAMAAAD6Ou7DAAAAOVBMVEVMaXFbSgmfgRGOdBH70EL70UhwWw0AAAGxkBX70k37zzW3lRWoiRXdtBr2yB3luhrswR3QqRj7zSbkOlBfAAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAADhJREFUeNpjYAACdjCAsjjAAMiDstA5QB47F5TJxAbksLBycgoJ8HIzM4LUcbKy8PEL8sCNg5oMAHx9Anyrx+YNAAAAAElFTkSuQmCC'), auto";
|
|
131
|
+
readonly _2: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAMAAACDi47UAAAARVBMVEVMaXHktAD+yADXqQD/0QD/0ABeSgAAAAG3kAD/0hfzwQD/zQDsugD/zwCkgQC9lQB0WwCSdACtiQCdfADDmgCzjgD1wgBsovB2AAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAFVJREFUeNpdj0kOwCAMA8Nq0n3//1MLNBKhvmWksRyiHNSQSj5TjaJCBOIPU3G+HsyClq0pCJ55HMy6R9UD9sFO7gC6clmErFhznVGPK8rj7n5w++EFukYET+thchsAAAAASUVORK5CYII='), auto";
|
|
132
|
+
readonly _3: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAALCAMAAAC53Ab8AAAAV1BMVEVMaXH/zwBeSgD+yAD/0hf/0ybktAAAAAG3kAD/0QDXqQD/0ADzwQD/zQB0WwDIngCqhgCaeQDwvgD/ygDsugCkgQC9lQCSdACtiQCdfADDmgCzjgD1wgCZ+KI0AAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAHlJREFUeNptkFkWgyAQBIclNKAx7prl/ufMQEAx2l/Uq3kNA9E5CDkANrAhkZHA/mSCyOWZzc5N6WxoAG6ce21ayU4kMzV5xrmh9x3XoHJa89y8yOyEUOYRb4d2lRr9ChTd+dVIK4ALlHk9JS5W5oKPf+NC/X0BEX0B4u0GeCgCBnYAAAAASUVORK5CYII='), auto";
|
|
133
|
+
readonly _4: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAANCAMAAABvheXhAAAAYFBMVEVMaXH2yB3QqRj70EL70k3701LdtBoAAAGxkBX70UhbSgn7zzylhhXCnhj7zSbswR1wWw3uwh2VeRHpvh34yh2Eaw3luhq0kxX7zzW3lRWfgRGoiRWOdBGYfBG9mhiujhUvxeaWAAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAIlJREFUeNp1kFcSwyAMREUxC9hJ7PSe+98yEgFMZuz9At6yKkSNAFoR4P0KZSKCmDB70sVnlk+J1ufQKbcZTr4IJUqYmfSl/vdjy1Ic0LG2OzdEZtdM7mMNCMeD3ktTJljLvtszFtb3XDg1ChuMOuvHXKmZAT8ROEC59ysuzC8Bk/4srwZ/CyH6AiYkB7WkpPmdAAAAAElFTkSuQmCC'), auto";
|
|
134
|
+
readonly _5: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAOCAMAAADpEZdPAAAAYFBMVEVMaXHdtBqfgRH70k3701JbSgnQqRgAAAGxkBX70EK3lRX2yB2OdBFwWw370UjluhrswR37zSarixXuwh2oiRX7zi6bfxFpVQmRdhGVeRF0Xg34yh2Hbg3xxB3pvh3CnhjfHVeAAAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAJBJREFUeNptUFkWwyAING6A2dp03+9/y6LGSNPMByAD80aUEgDIEdQaAIjc54iCTmXsCRSNVOIadR4oJZ0TusjVeWvbJnTW2v2uueEvh3TwrE15c+qZO82M7mEReIz+7JijwRhWCZ2rFhOiTTNQO/pjcarvIP+cx7LTcL38n0UBW3z56ek2OF6k92frmkVdvL+7OQiYUyofJwAAAABJRU5ErkJggg=='), auto";
|
|
135
|
+
readonly _25: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAATCAMAAABWWYYKAAAAXVBMVEVMaXFbSgn70k370Uj70EL2yB1wWw0AAAGxkBX701LQqRjdtBqOdBGVeRGfgRHswR23lRX7zSbluhqoiRWlhhXuwh2Hbg10Xg20kxW6lxXpvh37zCDIoxj7zzX4yh1F/w8cAAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAKtJREFUeNptkVcWhCAMRSkBjGAbnV72v8wJRZED+aB4ycuLYawIE4LVQV+7EDVMoMUyqmBA4JfHTbcY4vv1dHfeYh2oz9DQRERlh2WKBc3JfGEl09DV3toIcddB+EgQQtnZkfQy2Y17lrUkXHvKB1CXngzpok48Shm2jRox30RGvb9B/FGmLwdSCKowO54t7sMwQvoK6+H0/MdMehe7p/zm/ICcrs3RJoV8/wOJmwrmIGvH+wAAAABJRU5ErkJggg=='), auto";
|
|
136
|
+
readonly _100: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAXCAMAAADNyMQcAAAAhFBMVEVMaXFwWw37zSb70k32yB3701Luwh0AAAGxkBX70EL7zzWfgRGOdBFbSgm3lRXQqRj7zCDdtBrxxB34yh370UiHbg1WRgmbfxGVeRHzxh3luhrswR3nvB3pvh2oiRX7zi6lhhV0Xg20kxW6lxXIoxi9mhiLcRHgthrLpRj7zzx4Yg1pVQmh/vD3AAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAANtJREFUeNp1ktkCQzAQRRExiZ3SVkvpvv3//3XIQtB5iMjJ3LmZxLImASqseQAwFXM4kgU00AwaLLBN5jubypOs3MK6EcZ2htN/1YYTiTXeD5dSVxPL9TBSmjbX8ByBoZajFTf3uHvbj5q6UptWzZNJddE3EAmvjrGFH3i3Kc7uMj/g4msPulqUEDeLQ0qpc8y6qE8cT1ZwL2FQc+4eEjT0mTImpr7szReZr/ur9qToLX5gS4EXhGCFOIx0vr58IEVf4aT6ZtyP2gZosXcaLZ8LbuLo9ARrSCqM/z+0HhDka2pQNQAAAABJRU5ErkJggg=='), auto";
|
|
137
|
+
readonly _250: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAWCAMAAAAPf7fDAAAAwFBMVEVMaXH7zSbxxB37zCD2yB3uwh3zxh0AAAGxkBXswR3iuRrluhrnvB34yh0dGADpvh3FoBiVeRHYsBrVrhrashrdtBqrixXIoxi3lRWLcRGbfxHTrBrCnhjLpRjQqRi6lxW9mhhwWw20kxV0Xg18ZQ3NqBilhhXgthpIOgltWA1pVQmoiRVgTQmujhW/nBiHbg2RdhH7zzz7zi6fgRGihBFCNQCAZw01KgBkUQkmIACYfBFbSgmEaw0uJgA8MAD7zzWLXbQwAAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAUZJREFUeNp1klWWwzAMRWO2w4xlZhrG7n9Xo6YnSdtp9Wdf+UlPlqZpmqhCuxtCViHq5LvcFvXhMkEYDRfyHxeC7S1mhB3XFrVUUwSu+NFSut9OL3gjAlf4QNW004tBnlGiu8srbkqJuBm0ZA6SlhqvvWs/fG+paeHaF8KKYex380XZgjhw02/FDR29YKacjtzOSoXa3pxwZUTBZP7mmIbuPss0H544RtiMiuTzHQH3E2/xQWkUdiM3zlYnzgi4H/eyL8SdsN3NVrbkUCHo5cNZOVFwD+1/W5QSysyp7/1KKNCOyxGBfwrP0gnMTCHg0Xj7c2pnsDv7V6yeqQSuF62RTZDuTl7PnBCCnGCzzEAJUcdP0qFgOEi9vqj+B0fJetcXjip1PXGzBNX6cGoRPYmzR3sEBni4eRo94KCjVDGo6t7PuF3TP1rgG9GlMDsaAAAAAElFTkSuQmCC'), auto";
|
|
138
|
+
readonly _1000: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAVCAMAAABmKa5TAAAAulBMVEVMaXHluhrYsBouJgDFoBgdGADuwh0AAAGxkBXpvh3VrhrswR3LpRiLcRHiuRqHbg2OdBGrixXashrnvB3zxh34yh2RdhGujhX2yB26lxXgthrQqRiEaw14Yg23lRXCnhjxxB2fgRGYfBHdtBrTrBptWA2AZw3NqBjIoxhwWw2VeRGoiRWlhhX7zCD7zSabfxFbSglCNQA1KgBWRgk8MABpVQl0Xg20kxV8ZQ2ihBG9mhhIOgn7zzVkUQk7597mAAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAASxJREFUeNp1ktd2wjAQRC1jaZAb7p1O6DUhPfn/34pkGSeHwL6t7pnRNk27HZCh3Qt0ZeCWqKUU13aNBvwaK0HjCSubpT2FlSGYJIwEk0+BOVv41bn9R7ywLxYYrCi9k0gIX27nT2hNARa7djc0DecsMbFT70HiyCLTpKPwxpraByGCS8x8PBefIyKm0RPYioN8HbmlX4tIYfjJUeCY6zXmo1k3OYVmXj2K15DP8nFV91jjugLvyPWlIzEPy8F43mCn04xJJbJxshgc3lr1aFcM3yn2ykq06S5eJ/2mtD7N4uBjQpGJ5FtqLNHl+gXNrLGLzIFHYelDh8qcF8s0WV2GjoyVaUVx2QvCqeHXc1F4xO1t/3eXQDDcOM/4dx1qNbh7Ltjr/ur+HWl/ZT+/jxj+uQYGegAAAABJRU5ErkJggg=='), auto";
|
|
139
|
+
readonly _10000: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAdCAMAAACKeiw+AAAAwFBMVEVMaXEdGADnvB3swR3pvh3uwh3FoBgAAAGxkBXluhrYsBqVeRHxxB3ashrQqRifgRG3lRXzxh3LpRj2yB2ujhXIoxjiuRrgthpwWw3dtBrVrhr4yh2YfBGbfxGoiRWOdBGrixWRdhGLcREuJgC6lxVtWA3NqBh4Yg29mhg1KgCAZw10Xg20kxWihBFWRglpVQnTrBqEaw1CNQClhhWHbg2/nBj7zCB8ZQ08MAD7zSbCnhhMPQn7zi5kUQn7zzVgTQng0mzuAAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAapJREFUeNp1k2uXmjAQhjUkGSMEhOWygCJQL6irq9Vu99LL//9XnSRQpD07n+bMEzLvDG9Goz5AxeizgIkK6E/C/3QMfT6558B+kSBsMe2Pdtj/IaKixZafPS2H2HmL+bHFzHHD+h4DYS/Jt4URBJa1KW8DTJ1cruZGEBASFZfdEGO/VjAIwa/7D+hm1GqYGzIh5181Dsrbb+hmBIVpUDBxrl41difVI/QbAPYg+JGlQY0tIRbZbLFX2KGxuhAxCqdTvvzQWDbX2uDUXb4iRuG2JaPFT1UVCQ/tseqZnHl1Ul9PZ7aTbIqD0baZeXg7+EQG3npn8ANKup1ADX5eeaZ57IaXE1gKP5OssddfALE7W3zXk5FsZa93zEd8oNPIe0RMe4yl42HHnLTx9lRyg8Xmab5tsS6xmJe1ZXKwhrhbDu1wHEzsg5Lmi4zblrFHTjBXyjXGrUJOZVRu/Ze0mY8BByu3+gclUaiWDrjmVQU5joXucWRTKRcARbxcQ+fZHN1zGcPfoCkvNW6NRoPrFnq3k5QX9TP8+0I6t4N8v8e9qd6S9yN8/qIG5T9OGikrB+sX9AAAAABJRU5ErkJggg=='), auto";
|
|
140
|
+
/** Ordered array of all coin stages, from 1gp to 10,000gp. */
|
|
141
|
+
readonly stages: readonly string[];
|
|
142
|
+
};
|
|
143
|
+
/**
|
|
144
|
+
* Bucket cursor pack — represents a filling progression from empty to full.
|
|
145
|
+
*
|
|
146
|
+
* Perfect for loading indicators, progress bars, or upload states.
|
|
147
|
+
* The `stages` array orders them from empty → full for easy indexing.
|
|
148
|
+
*
|
|
149
|
+
* @example
|
|
150
|
+
* ```ts
|
|
151
|
+
* import { bucketPack } from '@dava96/osrs-icons';
|
|
152
|
+
*
|
|
153
|
+
* // Map a 0–100 progress value to a bucket fill state
|
|
154
|
+
* const stages = bucketPack.stages;
|
|
155
|
+
* const index = Math.min(Math.floor(progress / 100 * stages.length), stages.length - 1);
|
|
156
|
+
* element.style.cursor = stages[index];
|
|
157
|
+
* ```
|
|
158
|
+
*/
|
|
159
|
+
export declare const bucketPack: {
|
|
160
|
+
readonly empty: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAdCAMAAACdWLz3AAAA5FBMVEVMaXGLckCWe0WUeUNcRhWOdEKRdkMAAAFkTRhgSRiEenqbf0hXQxWghEpwVhpnYGCJgH+IcD+mh01OPBFSPxWjhUyDazxqYmJdV1duZmZ9ZjlzXjWPhYWegkmZfUaBeHiFfHuAaTplXl19dHSHfn1pUBp6Yzl3b25wXDSQhoZ7cnJza2s/MA1JORFsZGRjXFt1bWyFbT12YTdtWDJwaWmLgoGoik05LA00JgksIgmViomNg4N7Xh1sVBqaj49FNBFCPT1bVVVOSUhWUFBUTU2PbiR5cXCIaSKWjIt/dnaTiIirjE4aNStaAAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVlJREFUeNpd0teWgjAQBmBIIEMEBAREBMGO2Hvd3sv7v8+GYFn97/KdzMxJEYQ8ACDcBl5eK7cKpgfNybVCgVWP/eb/FtDyn4bDx+nAGF0UBolBFWXZmo6d02aI+3FdYanHnqRRzpCs6jQzhT54HYkqHRBAur+jR4yNim1LEkOtQ3OkVGLoOJShrUhnbD6/jZys3KEX1CqVplTMyjWNI83KJ94y6Wfo2PYJx/60L2a46AXaaLjZbLe73eDDksVChsG8W20UeSxRlq0Vw17QrZZnliUyEAk5FPiJjEaZCyGY4NRscwyqfsgJI2SGEebY65ZF1G63TdMM9yomZ8SRWtPdUklHWOa4mDcsgji6ESY5+kF1JuOo5pbeVUTq/JZh4rXKItuqrz9Raq7yqwdjmXwfwvRn/5WGKjrivNEq5NH1M7KWKFKz4W7t/MoAmM0urX/XV38Hjjmu/wC2oyMiAJCBbAAAAABJRU5ErkJggg=='), auto";
|
|
161
|
+
readonly fifth: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAdCAMAAACdWLz3AAAA5FBMVEVMaXGLckCWe0WUeUNcRhWOdEKRdkMAAAFkTRhgSRiEenqbf0hXQxWghEpwVhpnYGCJgH+IcD+mh01OPBFSPxWjhUyDazxqYmJdV1duZmZ9ZjlzXjWPhYWegkmZfUaBeHiFfHuAaTplXl19dHSHfn1pUBp6Yzl3b25wXDSQhoZ7cnJza2s/MA1JORFsZGRjXFt1bWyFbT12YTdtWDJwaWmLgoGoik05LA00JgksIgmViomNg4N7Xh1sVBqaj49FNBFCPT1bVVVOSUhWUFBUTU2PbiR5cXCIaSKWjIt/dnaTiIirjE4aNStaAAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVlJREFUeNpd0teWgjAQBmBIIEMEBAREBMGO2Hvd3sv7v8+GYFn97/KdzMxJEYQ8ACDcBl5eK7cKpgfNybVCgVWP/eb/FtDyn4bDx+nAGF0UBolBFWXZmo6d02aI+3FdYanHnqRRzpCs6jQzhT54HYkqHRBAur+jR4yNim1LEkOtQ3OkVGLoOJShrUhnbD6/jZys3KEX1CqVplTMyjWNI83KJ94y6Wfo2PYJx/60L2a46AXaaLjZbLe73eDDksVChsG8W20UeSxRlq0Vw17QrZZnliUyEAk5FPiJjEaZCyGY4NRscwyqfsgJI2SGEebY65ZF1G63TdMM9yomZ8SRWtPdUklHWOa4mDcsgji6ESY5+kF1JuOo5pbeVUTq/JZh4rXKItuqrz9Raq7yqwdjmXwfwvRn/5WGKjrivNEq5NH1M7KWKFKz4W7t/MoAmM0urX/XV38Hjjmu/wC2oyMiAJCBbAAAAABJRU5ErkJggg=='), auto";
|
|
162
|
+
readonly twoFifths: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAdCAMAAACdWLz3AAAA5FBMVEVMaXGLckCWe0WUeUNcRhWOdEKRdkMAAAFkTRhgSRiEenqbf0hXQxWghEpwVhpnYGCJgH+IcD+mh01OPBFSPxWjhUyDazxqYmJdV1duZmZ9ZjlzXjWPhYWegkmZfUaBeHiFfHuAaTplXl19dHSHfn1pUBp6Yzl3b25wXDSQhoZ7cnJza2s/MA1JORFsZGRjXFt1bWyFbT12YTdtWDJwaWmLgoGoik05LA00JgksIgmViomNg4N7Xh1sVBqaj49FNBFCPT1bVVVOSUhWUFBUTU2PbiR5cXCIaSKWjIt/dnaTiIirjE4aNStaAAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVlJREFUeNpd0teWgjAQBmBIIEMEBAREBMGO2Hvd3sv7v8+GYFn97/KdzMxJEYQ8ACDcBl5eK7cKpgfNybVCgVWP/eb/FtDyn4bDx+nAGF0UBolBFWXZmo6d02aI+3FdYanHnqRRzpCs6jQzhT54HYkqHRBAur+jR4yNim1LEkOtQ3OkVGLoOJShrUhnbD6/jZys3KEX1CqVplTMyjWNI83KJ94y6Wfo2PYJx/60L2a46AXaaLjZbLe73eDDksVChsG8W20UeSxRlq0Vw17QrZZnliUyEAk5FPiJjEaZCyGY4NRscwyqfsgJI2SGEebY65ZF1G63TdMM9yomZ8SRWtPdUklHWOa4mDcsgji6ESY5+kF1JuOo5pbeVUTq/JZh4rXKItuqrz9Raq7yqwdjmXwfwvRn/5WGKjrivNEq5NH1M7KWKFKz4W7t/MoAmM0urX/XV38Hjjmu/wC2oyMiAJCBbAAAAABJRU5ErkJggg=='), auto";
|
|
163
|
+
readonly threeFifths: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAdCAMAAACdWLz3AAAA6lBMVEVMaXFJORGWe0Wbf0iEenqDazx6YzkJOmQAAAFcRhVSPxWghEqAaTpwVhp9ZjlzXjV9dHR1bWyUeUOmh012YTdOPBFnYGBwXDRgSRijhUyFbT1qYmJdV1dlXl1waWmRdkNtWDKegkmOdEKZfUaLckBFNBE/MA1sZGR/dnZkTRhXQxVuZmaIcD+BeHh5cXCJgH80Jglza2tjXFuQhoaPhYWoik0sIgk5LA2FfHuViolpUBp3b26LgoF7cnKaj49bVVVCPT1OSUhWUFB7Xh1UTU1sVBqPbiSIaSKWjIuTiIiNg4OrjE6Hfn1mVC6FCO42AAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVJJREFUeNpd0teWgjAUQFHpN4BSFEQQUFGKBexldHpv//87EwLq6Hljr5tkEahUigCgch08PrWvFTIH3PmlAotXRyP3/xagRg9hONBmJnVW8DTXshJP1SLxOAxxqsYIt504aGgRBi2bDKk8485JkJXcQAXQ67MRToW8idkeUAhhFBNqI5RhFEULo2EJp9z7F0rMl4vojEK77aIqxqF4NnPuePtbgoZxxGik3Y5TjJ2mgoxBuJlO1+tZatv8JEelwdfkKonjOP73UEzmytnjfg+bxpI3Ms8s82z2Q1CpjbySeXUZ6ASbPNen2VhNtRm7Y3T/hHrAdKVWvS7Reo9gpyGPfZpgK9D9AkdKze7pQbdVf2Nof0tuGeaOyvXxqLR6pxfZobh6ML19/LVcfO4+FkuGLrEhq2yRJJ0Qb0kHTH54q3v6ygA6Pru++l5d/DtQVj7/AW6fJZqMVLzGAAAAAElFTkSuQmCC'), auto";
|
|
164
|
+
readonly fourFifths: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAdCAMAAACdWLz3AAAA6lBMVEVMaXFJORGWe0Wbf0iEenqDazx6YzkJOmQAAAFcRhVSPxWghEqAaTpwVhp9ZjlzXjV9dHR1bWyUeUOmh012YTdOPBFnYGBwXDRgSRijhUyFbT1qYmJdV1dlXl1waWmRdkNtWDKegkmOdEKZfUaLckBFNBE/MA1sZGR/dnZkTRhXQxVuZmaIcD+BeHh5cXCJgH80Jglza2tjXFuQhoaPhYWoik0sIgk5LA2FfHuViolpUBp3b26LgoF7cnKaj49bVVVCPT1OSUhWUFB7Xh1UTU1sVBqPbiSIaSKWjIuTiIiNg4OrjE6Hfn1mVC6FCO42AAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVJJREFUeNpd0teWgjAUQFHpN4BSFEQQUFGKBexldHpv//87EwLq6Hljr5tkEahUigCgch08PrWvFTIH3PmlAotXRyP3/xagRg9hONBmJnVW8DTXshJP1SLxOAxxqsYIt504aGgRBi2bDKk8485JkJXcQAXQ67MRToW8idkeUAhhFBNqI5RhFEULo2EJp9z7F0rMl4vojEK77aIqxqF4NnPuePtbgoZxxGik3Y5TjJ2mgoxBuJlO1+tZatv8JEelwdfkKonjOP73UEzmytnjfg+bxpI3Ms8s82z2Q1CpjbySeXUZ6ASbPNen2VhNtRm7Y3T/hHrAdKVWvS7Reo9gpyGPfZpgK9D9AkdKze7pQbdVf2Nof0tuGeaOyvXxqLR6pxfZobh6ML19/LVcfO4+FkuGLrEhq2yRJJ0Qb0kHTH54q3v6ygA6Pru++l5d/DtQVj7/AW6fJZqMVLzGAAAAAElFTkSuQmCC'), auto";
|
|
165
|
+
readonly full: "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAdCAMAAACdWLz3AAAA6lBMVEVMaXFJORGWe0Wbf0iEenqDazx6Yzl7e5sAAAFcRhVSPxWghEqAaTpwVhp9ZjlzXjV9dHR1bWyUeUOmh012YTdOPBFnYGBwXDRgSRijhUyFbT1qYmJdV1dlXl1waWmRdkNtWDKegkmOdEKZfUaLckBFNBE/MA1sZGR/dnZkTRhXQxVuZmaIcD+BeHh5cXCJgH80Jglza2tjXFuQhoaPhYWoik0sIgk5LA2FfHuViolpUBp3b26LgoF7cnKaj49bVVVCPT1OSUhWUFB7Xh1UTU1sVBqPbiSIaSKWjIuTiIiNg4OrjE6Hfn1mVC6Nk9sLAAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVJJREFUeNpd0teWgjAUQFHpN4BSFEQQUFGKBexldHpv//87EwLq6Hljr5tkEahUigCgch08PrWvFTIH3PmlAotXRyP3/xagRg9hONBmJnVW8DTXshJP1SLxOAxxqsYIt504aGgRBi2bDKk8485JkJXcQAXQ67MRToW8idkeUAhhFBNqI5RhFEULo2EJp9z7F0rMl4vojEK77aIqxqF4NnPuePtbgoZxxGik3Y5TjJ2mgoxBuJlO1+tZatv8JEelwdfkKonjOP73UEzmytnjfg+bxpI3Ms8s82z2Q1CpjbySeXUZ6ASbPNen2VhNtRm7Y3T/hHrAdKVWvS7Reo9gpyGPfZpgK9D9AkdKze7pQbdVf2Nof0tuGeaOyvXxqLR6pxfZobh6ML19/LVcfO4+FkuGLrEhq2yRJJ0Qb0kHTH54q3v6ygA6Pru++l5d/DtQVj7/AW6fJZqMVLzGAAAAAElFTkSuQmCC'), auto";
|
|
166
|
+
/** Ordered array of all bucket stages, from empty to full. */
|
|
167
|
+
readonly stages: readonly string[];
|
|
168
|
+
};
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.bucketPack = exports.coinsPack = exports.ironPack = exports.goldPack = exports.dragonDaggerPack = exports.anglerfishPack = exports.herringPack = exports.sharkPack = void 0;
|
|
4
|
+
const icons_1 = require("./generated/icons");
|
|
5
|
+
/**
|
|
6
|
+
* A cursor pack groups related OSRS icons by their in-game state.
|
|
7
|
+
*
|
|
8
|
+
* Each key is a semantic label (e.g. `raw`, `cooked`, `burnt`) and
|
|
9
|
+
* each value is the corresponding CSS cursor string, ready to apply
|
|
10
|
+
* to any element's `cursor` property.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* import { sharkPack } from '@dava96/osrs-icons';
|
|
15
|
+
*
|
|
16
|
+
* // Use the raw shark as the cursor
|
|
17
|
+
* document.body.style.cursor = sharkPack.raw;
|
|
18
|
+
*
|
|
19
|
+
* // Swap to the cooked variant on click
|
|
20
|
+
* button.addEventListener('click', () => {
|
|
21
|
+
* document.body.style.cursor = sharkPack.cooked;
|
|
22
|
+
* });
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
// ── Fish Packs ─────────────────────────────────────────────────────
|
|
26
|
+
/**
|
|
27
|
+
* Shark cursor pack — raw, cooked, and burnt states.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts
|
|
31
|
+
* import { sharkPack } from '@dava96/osrs-icons';
|
|
32
|
+
* element.style.cursor = sharkPack.cooked;
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
exports.sharkPack = {
|
|
36
|
+
raw: icons_1.rawShark,
|
|
37
|
+
cooked: icons_1.shark,
|
|
38
|
+
burnt: icons_1.burntShark,
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Herring cursor pack — raw, cooked, burnt, and the infamous red herring.
|
|
42
|
+
*
|
|
43
|
+
* The `error` alias points to `redHerring` — a fun easter egg for
|
|
44
|
+
* error states. Also available as the top-level `errorCursor` export.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```ts
|
|
48
|
+
* import { herringPack } from '@dava96/osrs-icons';
|
|
49
|
+
* element.style.cursor = herringPack.error; // 🐟 Red herring!
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
exports.herringPack = {
|
|
53
|
+
raw: icons_1.rawHerring,
|
|
54
|
+
cooked: icons_1.herring,
|
|
55
|
+
burnt: icons_1.burntFishHerring,
|
|
56
|
+
error: icons_1.redHerring,
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Anglerfish cursor pack — raw, cooked, and burnt states.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```ts
|
|
63
|
+
* import { anglerfishPack } from '@dava96/osrs-icons';
|
|
64
|
+
* element.style.cursor = anglerfishPack.raw;
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
exports.anglerfishPack = {
|
|
68
|
+
raw: icons_1.rawAnglerfish,
|
|
69
|
+
cooked: icons_1.anglerfish,
|
|
70
|
+
burnt: icons_1.burntAnglerfish,
|
|
71
|
+
};
|
|
72
|
+
// ── Weapon Packs ───────────────────────────────────────────────────
|
|
73
|
+
/**
|
|
74
|
+
* Dragon dagger cursor pack — base through poisoned++ variants.
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```ts
|
|
78
|
+
* import { dragonDaggerPack } from '@dava96/osrs-icons';
|
|
79
|
+
*
|
|
80
|
+
* // Start with the base dagger
|
|
81
|
+
* element.style.cursor = dragonDaggerPack.base;
|
|
82
|
+
*
|
|
83
|
+
* // Upgrade to poisoned++
|
|
84
|
+
* element.style.cursor = dragonDaggerPack.poisonedPlusPlus;
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
exports.dragonDaggerPack = {
|
|
88
|
+
base: icons_1.dragonDagger,
|
|
89
|
+
poisoned: icons_1.dragonDaggerp,
|
|
90
|
+
poisonedPlus: icons_1.dragonDaggerpplus,
|
|
91
|
+
poisonedPlusPlus: icons_1.dragonDaggerpplusplus,
|
|
92
|
+
};
|
|
93
|
+
// ── Ore & Bar Packs ────────────────────────────────────────────────
|
|
94
|
+
/**
|
|
95
|
+
* Gold ore/bar cursor pack — represents the smelting progression.
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* ```ts
|
|
99
|
+
* import { goldPack } from '@dava96/osrs-icons';
|
|
100
|
+
* element.style.cursor = isComplete ? goldPack.bar : goldPack.ore;
|
|
101
|
+
* ```
|
|
102
|
+
*/
|
|
103
|
+
exports.goldPack = {
|
|
104
|
+
ore: icons_1.goldOre,
|
|
105
|
+
bar: icons_1.goldBar,
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* Iron ore/bar cursor pack — represents the smelting progression.
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* ```ts
|
|
112
|
+
* import { ironPack } from '@dava96/osrs-icons';
|
|
113
|
+
* element.style.cursor = ironPack.ore;
|
|
114
|
+
* ```
|
|
115
|
+
*/
|
|
116
|
+
exports.ironPack = {
|
|
117
|
+
ore: icons_1.ironOre,
|
|
118
|
+
bar: icons_1.ironBar,
|
|
119
|
+
};
|
|
120
|
+
// ── Progression Packs ──────────────────────────────────────────────
|
|
121
|
+
/**
|
|
122
|
+
* Coins cursor pack — represents increasing wealth from 1gp to 10,000gp.
|
|
123
|
+
*
|
|
124
|
+
* In OSRS, the coin stack sprite changes based on the amount.
|
|
125
|
+
* Great for progress indicators, score displays, or loading states.
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* ```ts
|
|
129
|
+
* import { coinsPack } from '@dava96/osrs-icons';
|
|
130
|
+
*
|
|
131
|
+
* // Map a 0–100 progress value to a coin stack
|
|
132
|
+
* const stages = coinsPack.stages;
|
|
133
|
+
* const index = Math.min(Math.floor(progress / 100 * stages.length), stages.length - 1);
|
|
134
|
+
* element.style.cursor = stages[index];
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
exports.coinsPack = {
|
|
138
|
+
_1: icons_1.coins1,
|
|
139
|
+
_2: icons_1.coins2,
|
|
140
|
+
_3: icons_1.coins3,
|
|
141
|
+
_4: icons_1.coins4,
|
|
142
|
+
_5: icons_1.coins5,
|
|
143
|
+
_25: icons_1.coins25,
|
|
144
|
+
_100: icons_1.coins100,
|
|
145
|
+
_250: icons_1.coins250,
|
|
146
|
+
_1000: icons_1.coins1000,
|
|
147
|
+
_10000: icons_1.coins10000,
|
|
148
|
+
/** Ordered array of all coin stages, from 1gp to 10,000gp. */
|
|
149
|
+
stages: [
|
|
150
|
+
icons_1.coins1, icons_1.coins2, icons_1.coins3, icons_1.coins4, icons_1.coins5,
|
|
151
|
+
icons_1.coins25, icons_1.coins100, icons_1.coins250, icons_1.coins1000, icons_1.coins10000,
|
|
152
|
+
],
|
|
153
|
+
};
|
|
154
|
+
/**
|
|
155
|
+
* Bucket cursor pack — represents a filling progression from empty to full.
|
|
156
|
+
*
|
|
157
|
+
* Perfect for loading indicators, progress bars, or upload states.
|
|
158
|
+
* The `stages` array orders them from empty → full for easy indexing.
|
|
159
|
+
*
|
|
160
|
+
* @example
|
|
161
|
+
* ```ts
|
|
162
|
+
* import { bucketPack } from '@dava96/osrs-icons';
|
|
163
|
+
*
|
|
164
|
+
* // Map a 0–100 progress value to a bucket fill state
|
|
165
|
+
* const stages = bucketPack.stages;
|
|
166
|
+
* const index = Math.min(Math.floor(progress / 100 * stages.length), stages.length - 1);
|
|
167
|
+
* element.style.cursor = stages[index];
|
|
168
|
+
* ```
|
|
169
|
+
*/
|
|
170
|
+
exports.bucketPack = {
|
|
171
|
+
empty: icons_1.bucket,
|
|
172
|
+
fifth: icons_1._15thsFullBucket,
|
|
173
|
+
twoFifths: icons_1._25thsFullBucket,
|
|
174
|
+
threeFifths: icons_1._35thsFullBucket,
|
|
175
|
+
fourFifths: icons_1._45thsFullBucket,
|
|
176
|
+
full: icons_1.bucketOfWater,
|
|
177
|
+
/** Ordered array of all bucket stages, from empty to full. */
|
|
178
|
+
stages: [
|
|
179
|
+
icons_1.bucket, icons_1._15thsFullBucket, icons_1._25thsFullBucket,
|
|
180
|
+
icons_1._35thsFullBucket, icons_1._45thsFullBucket, icons_1.bucketOfWater,
|
|
181
|
+
],
|
|
182
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
7
|
+
const packs_1 = require("./packs");
|
|
8
|
+
// ── Helper ─────────────────────────────────────────────────────────
|
|
9
|
+
function assertIsCursorString(value, label) {
|
|
10
|
+
node_assert_1.default.strictEqual(typeof value, 'string', `${label} should be a string`);
|
|
11
|
+
node_assert_1.default.ok(value.startsWith("url('data:image/png;base64,"), `${label} should start with url('data:image/png;base64,...')`);
|
|
12
|
+
node_assert_1.default.ok(value.endsWith("'), auto"), `${label} should end with '), auto`);
|
|
13
|
+
}
|
|
14
|
+
// ── Fish Packs ─────────────────────────────────────────────────────
|
|
15
|
+
function testSharkPackHasCorrectKeys() {
|
|
16
|
+
const keys = Object.keys(packs_1.sharkPack);
|
|
17
|
+
node_assert_1.default.deepStrictEqual(keys, ['raw', 'cooked', 'burnt']);
|
|
18
|
+
console.log('✓ sharkPack: has raw, cooked, burnt keys');
|
|
19
|
+
}
|
|
20
|
+
function testSharkPackValuesAreCursorStrings() {
|
|
21
|
+
assertIsCursorString(packs_1.sharkPack.raw, 'sharkPack.raw');
|
|
22
|
+
assertIsCursorString(packs_1.sharkPack.cooked, 'sharkPack.cooked');
|
|
23
|
+
assertIsCursorString(packs_1.sharkPack.burnt, 'sharkPack.burnt');
|
|
24
|
+
console.log('✓ sharkPack: all values are valid cursor strings');
|
|
25
|
+
}
|
|
26
|
+
function testHerringPackHasErrorAlias() {
|
|
27
|
+
const keys = Object.keys(packs_1.herringPack);
|
|
28
|
+
node_assert_1.default.deepStrictEqual(keys, ['raw', 'cooked', 'burnt', 'error']);
|
|
29
|
+
assertIsCursorString(packs_1.herringPack.error, 'herringPack.error');
|
|
30
|
+
console.log('✓ herringPack: has error alias (red herring)');
|
|
31
|
+
}
|
|
32
|
+
function testAnglerfishPackHasCorrectKeys() {
|
|
33
|
+
const keys = Object.keys(packs_1.anglerfishPack);
|
|
34
|
+
node_assert_1.default.deepStrictEqual(keys, ['raw', 'cooked', 'burnt']);
|
|
35
|
+
assertIsCursorString(packs_1.anglerfishPack.cooked, 'anglerfishPack.cooked');
|
|
36
|
+
console.log('✓ anglerfishPack: has raw, cooked, burnt keys');
|
|
37
|
+
}
|
|
38
|
+
// ── Weapon Packs ───────────────────────────────────────────────────
|
|
39
|
+
function testDragonDaggerPackHasAllVariants() {
|
|
40
|
+
const keys = Object.keys(packs_1.dragonDaggerPack);
|
|
41
|
+
node_assert_1.default.deepStrictEqual(keys, ['base', 'poisoned', 'poisonedPlus', 'poisonedPlusPlus']);
|
|
42
|
+
assertIsCursorString(packs_1.dragonDaggerPack.base, 'dragonDaggerPack.base');
|
|
43
|
+
assertIsCursorString(packs_1.dragonDaggerPack.poisonedPlusPlus, 'dragonDaggerPack.poisonedPlusPlus');
|
|
44
|
+
console.log('✓ dragonDaggerPack: has all poison variants');
|
|
45
|
+
}
|
|
46
|
+
// ── Ore Packs ──────────────────────────────────────────────────────
|
|
47
|
+
function testGoldPackHasOreAndBar() {
|
|
48
|
+
node_assert_1.default.deepStrictEqual(Object.keys(packs_1.goldPack), ['ore', 'bar']);
|
|
49
|
+
assertIsCursorString(packs_1.goldPack.ore, 'goldPack.ore');
|
|
50
|
+
assertIsCursorString(packs_1.goldPack.bar, 'goldPack.bar');
|
|
51
|
+
console.log('✓ goldPack: has ore and bar');
|
|
52
|
+
}
|
|
53
|
+
function testIronPackHasOreAndBar() {
|
|
54
|
+
node_assert_1.default.deepStrictEqual(Object.keys(packs_1.ironPack), ['ore', 'bar']);
|
|
55
|
+
assertIsCursorString(packs_1.ironPack.ore, 'ironPack.ore');
|
|
56
|
+
assertIsCursorString(packs_1.ironPack.bar, 'ironPack.bar');
|
|
57
|
+
console.log('✓ ironPack: has ore and bar');
|
|
58
|
+
}
|
|
59
|
+
// ── Progression Packs ──────────────────────────────────────────────
|
|
60
|
+
function testCoinsPackHasStagesArray() {
|
|
61
|
+
node_assert_1.default.ok(Array.isArray(packs_1.coinsPack.stages), 'stages should be an array');
|
|
62
|
+
node_assert_1.default.strictEqual(packs_1.coinsPack.stages.length, 10, 'should have 10 coin stages');
|
|
63
|
+
for (const stage of packs_1.coinsPack.stages) {
|
|
64
|
+
assertIsCursorString(stage, 'coinsPack.stages entry');
|
|
65
|
+
}
|
|
66
|
+
console.log('✓ coinsPack: stages array has 10 valid cursor strings');
|
|
67
|
+
}
|
|
68
|
+
function testCoinsPackStagesAreOrderedByValue() {
|
|
69
|
+
node_assert_1.default.strictEqual(packs_1.coinsPack.stages[0], packs_1.coinsPack._1);
|
|
70
|
+
node_assert_1.default.strictEqual(packs_1.coinsPack.stages[9], packs_1.coinsPack._10000);
|
|
71
|
+
console.log('✓ coinsPack: stages[0] is _1, stages[9] is _10000');
|
|
72
|
+
}
|
|
73
|
+
function testBucketPackHasStagesArray() {
|
|
74
|
+
node_assert_1.default.ok(Array.isArray(packs_1.bucketPack.stages), 'stages should be an array');
|
|
75
|
+
node_assert_1.default.strictEqual(packs_1.bucketPack.stages.length, 6, 'should have 6 bucket stages');
|
|
76
|
+
for (const stage of packs_1.bucketPack.stages) {
|
|
77
|
+
assertIsCursorString(stage, 'bucketPack.stages entry');
|
|
78
|
+
}
|
|
79
|
+
console.log('✓ bucketPack: stages array has 6 valid cursor strings');
|
|
80
|
+
}
|
|
81
|
+
function testBucketPackStagesAreOrderedEmptyToFull() {
|
|
82
|
+
node_assert_1.default.strictEqual(packs_1.bucketPack.stages[0], packs_1.bucketPack.empty);
|
|
83
|
+
node_assert_1.default.strictEqual(packs_1.bucketPack.stages[5], packs_1.bucketPack.full);
|
|
84
|
+
console.log('✓ bucketPack: stages[0] is empty, stages[5] is full');
|
|
85
|
+
}
|
|
86
|
+
function testAllPackValuesAreDistinct() {
|
|
87
|
+
const allValues = [
|
|
88
|
+
...Object.values(packs_1.sharkPack),
|
|
89
|
+
...Object.values(packs_1.herringPack),
|
|
90
|
+
...Object.values(packs_1.anglerfishPack),
|
|
91
|
+
];
|
|
92
|
+
const uniqueValues = new Set(allValues);
|
|
93
|
+
node_assert_1.default.strictEqual(uniqueValues.size, allValues.length, 'all fish pack values should be distinct');
|
|
94
|
+
console.log('✓ fish packs: all values across packs are distinct');
|
|
95
|
+
}
|
|
96
|
+
// ── Runner ─────────────────────────────────────────────────────────
|
|
97
|
+
console.log('\nRunning packs tests...\n');
|
|
98
|
+
testSharkPackHasCorrectKeys();
|
|
99
|
+
testSharkPackValuesAreCursorStrings();
|
|
100
|
+
testHerringPackHasErrorAlias();
|
|
101
|
+
testAnglerfishPackHasCorrectKeys();
|
|
102
|
+
testDragonDaggerPackHasAllVariants();
|
|
103
|
+
testGoldPackHasOreAndBar();
|
|
104
|
+
testIronPackHasOreAndBar();
|
|
105
|
+
testCoinsPackHasStagesArray();
|
|
106
|
+
testCoinsPackStagesAreOrderedByValue();
|
|
107
|
+
testBucketPackHasStagesArray();
|
|
108
|
+
testBucketPackStagesAreOrderedEmptyToFull();
|
|
109
|
+
testAllPackValuesAreDistinct();
|
|
110
|
+
console.log('\nAll packs tests passed!\n');
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standard CSS cursor states that can be mapped to OSRS icons.
|
|
3
|
+
*
|
|
4
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/CSS/cursor
|
|
5
|
+
*/
|
|
6
|
+
export type CursorState = 'default' | 'pointer' | 'wait' | 'text' | 'move' | 'crosshair' | 'grab' | 'grabbing' | 'not-allowed' | 'help' | 'progress' | 'cell' | 'copy' | 'alias' | 'no-drop' | 'col-resize' | 'row-resize' | 'n-resize' | 'e-resize' | 's-resize' | 'w-resize' | 'zoom-in' | 'zoom-out';
|
|
7
|
+
/**
|
|
8
|
+
* A mapping of CSS cursor states to OSRS icon cursor strings.
|
|
9
|
+
*
|
|
10
|
+
* Only include the states you want to override — unlisted states
|
|
11
|
+
* keep their default browser cursor.
|
|
12
|
+
*/
|
|
13
|
+
export type CursorMapping = Partial<Record<CursorState, string>>;
|
|
14
|
+
/**
|
|
15
|
+
* Applies OSRS cursor icons to CSS cursor states on a target element
|
|
16
|
+
* or globally across the entire page.
|
|
17
|
+
*
|
|
18
|
+
* Injects a `<style>` tag with CSS rules that map each specified cursor
|
|
19
|
+
* state to the given OSRS icon. Returns a cleanup function that removes
|
|
20
|
+
* the injected styles and restores the previous cursors.
|
|
21
|
+
*
|
|
22
|
+
* **Browser-only** — in non-browser environments this is a no-op that
|
|
23
|
+
* returns an empty cleanup function.
|
|
24
|
+
*
|
|
25
|
+
* @param mapping - An object mapping CSS cursor states to OSRS cursor strings.
|
|
26
|
+
* @param target - Optional element to scope the cursors to. Defaults to the
|
|
27
|
+
* entire document (global).
|
|
28
|
+
* @returns A cleanup function that reverts all applied cursors.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* import { abyssalWhip, dragonScimitar, applyCursors } from '@dava96/osrs-icons';
|
|
33
|
+
*
|
|
34
|
+
* // Apply globally
|
|
35
|
+
* const remove = applyCursors({
|
|
36
|
+
* default: abyssalWhip,
|
|
37
|
+
* pointer: dragonScimitar,
|
|
38
|
+
* });
|
|
39
|
+
*
|
|
40
|
+
* // Later, revert to browser defaults
|
|
41
|
+
* remove();
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```ts
|
|
46
|
+
* import { bucketPack, applyCursors } from '@dava96/osrs-icons';
|
|
47
|
+
*
|
|
48
|
+
* // Scope to a specific element
|
|
49
|
+
* const cleanup = applyCursors(
|
|
50
|
+
* { wait: bucketPack.full },
|
|
51
|
+
* document.getElementById('loading-area')!,
|
|
52
|
+
* );
|
|
53
|
+
* ```
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```ts
|
|
57
|
+
* import { herringPack, applyCursors } from '@dava96/osrs-icons';
|
|
58
|
+
*
|
|
59
|
+
* // Use the red herring for error states!
|
|
60
|
+
* applyCursors({ not-allowed: herringPack.error });
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare function applyCursors(mapping: CursorMapping, target?: HTMLElement): () => void;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Applies OSRS cursor icons to CSS cursor states on a target element
|
|
3
|
+
* or globally across the entire page.
|
|
4
|
+
*
|
|
5
|
+
* Injects a `<style>` tag with CSS rules that map each specified cursor
|
|
6
|
+
* state to the given OSRS icon. Returns a cleanup function that removes
|
|
7
|
+
* the injected styles and restores the previous cursors.
|
|
8
|
+
*
|
|
9
|
+
* **Browser-only** — in non-browser environments this is a no-op that
|
|
10
|
+
* returns an empty cleanup function.
|
|
11
|
+
*
|
|
12
|
+
* @param mapping - An object mapping CSS cursor states to OSRS cursor strings.
|
|
13
|
+
* @param target - Optional element to scope the cursors to. Defaults to the
|
|
14
|
+
* entire document (global).
|
|
15
|
+
* @returns A cleanup function that reverts all applied cursors.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* import { abyssalWhip, dragonScimitar, applyCursors } from '@dava96/osrs-icons';
|
|
20
|
+
*
|
|
21
|
+
* // Apply globally
|
|
22
|
+
* const remove = applyCursors({
|
|
23
|
+
* default: abyssalWhip,
|
|
24
|
+
* pointer: dragonScimitar,
|
|
25
|
+
* });
|
|
26
|
+
*
|
|
27
|
+
* // Later, revert to browser defaults
|
|
28
|
+
* remove();
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```ts
|
|
33
|
+
* import { bucketPack, applyCursors } from '@dava96/osrs-icons';
|
|
34
|
+
*
|
|
35
|
+
* // Scope to a specific element
|
|
36
|
+
* const cleanup = applyCursors(
|
|
37
|
+
* { wait: bucketPack.full },
|
|
38
|
+
* document.getElementById('loading-area')!,
|
|
39
|
+
* );
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```ts
|
|
44
|
+
* import { herringPack, applyCursors } from '@dava96/osrs-icons';
|
|
45
|
+
*
|
|
46
|
+
* // Use the red herring for error states!
|
|
47
|
+
* applyCursors({ not-allowed: herringPack.error });
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export function applyCursors(mapping, target) {
|
|
51
|
+
if (typeof document === 'undefined') {
|
|
52
|
+
return () => { };
|
|
53
|
+
}
|
|
54
|
+
const styleElement = document.createElement('style');
|
|
55
|
+
const selector = target ? `[data-osrs-cursor-id="${generateId()}"]` : '*';
|
|
56
|
+
if (target) {
|
|
57
|
+
target.setAttribute('data-osrs-cursor-id', selector.slice(22, -2));
|
|
58
|
+
}
|
|
59
|
+
const rules = Object.entries(mapping)
|
|
60
|
+
.map(([state, cursorValue]) => {
|
|
61
|
+
const fallback = state === 'default' ? 'auto' : state;
|
|
62
|
+
return `${selector} { cursor: ${cursorValue.replace(', auto', `, ${fallback}`)}; }`;
|
|
63
|
+
})
|
|
64
|
+
.join('\n');
|
|
65
|
+
styleElement.textContent = rules;
|
|
66
|
+
styleElement.setAttribute('data-osrs-cursors', 'true');
|
|
67
|
+
document.head.appendChild(styleElement);
|
|
68
|
+
return () => {
|
|
69
|
+
styleElement.remove();
|
|
70
|
+
if (target) {
|
|
71
|
+
target.removeAttribute('data-osrs-cursor-id');
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/** Generates a short unique ID for scoping cursor styles to elements. */
|
|
76
|
+
let idCounter = 0;
|
|
77
|
+
function generateId() {
|
|
78
|
+
return `osrs-${++idCounter}-${Date.now().toString(36)}`;
|
|
79
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|