@jis3r/icons 1.16.0 → 1.18.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/dist/icons/binary.svelte +98 -0
- package/dist/icons/binary.svelte.d.ts +19 -0
- package/dist/icons/index.js +14 -0
- package/dist/icons/sparkles.svelte +153 -0
- package/dist/icons/sparkles.svelte.d.ts +19 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/package.json +1 -1
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
/**
|
|
3
|
+
* @typedef {Object} Props
|
|
4
|
+
* @property {string} [color]
|
|
5
|
+
* @property {number} [size]
|
|
6
|
+
* @property {number} [strokeWidth]
|
|
7
|
+
* @property {boolean} [isHovered]
|
|
8
|
+
* @property {string} [class]
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/** @type {Props} */
|
|
12
|
+
let {
|
|
13
|
+
color = 'currentColor',
|
|
14
|
+
size = 24,
|
|
15
|
+
strokeWidth = 2,
|
|
16
|
+
isHovered = false,
|
|
17
|
+
class: className = ''
|
|
18
|
+
} = $props();
|
|
19
|
+
|
|
20
|
+
let hovered = $state(false);
|
|
21
|
+
|
|
22
|
+
function handleMouseEnter() {
|
|
23
|
+
hovered = true;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function handleMouseLeave() {
|
|
27
|
+
hovered = false;
|
|
28
|
+
}
|
|
29
|
+
</script>
|
|
30
|
+
|
|
31
|
+
<div
|
|
32
|
+
class={className}
|
|
33
|
+
aria-label="binary"
|
|
34
|
+
role="img"
|
|
35
|
+
onmouseenter={handleMouseEnter}
|
|
36
|
+
onmouseleave={handleMouseLeave}
|
|
37
|
+
>
|
|
38
|
+
<svg
|
|
39
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
40
|
+
width={size}
|
|
41
|
+
height={size}
|
|
42
|
+
viewBox="0 0 24 24"
|
|
43
|
+
fill="none"
|
|
44
|
+
stroke={color}
|
|
45
|
+
stroke-width={strokeWidth}
|
|
46
|
+
stroke-linecap="round"
|
|
47
|
+
stroke-linejoin="round"
|
|
48
|
+
class="binary-icon"
|
|
49
|
+
class:animate={hovered}
|
|
50
|
+
>
|
|
51
|
+
<rect x={14} y={14} width={4} height={6} rx={2} class="binary-rect1" />
|
|
52
|
+
<rect x={6} y={4} width={4} height={6} rx={2} class="binary-rect2" />
|
|
53
|
+
<path d="M6 20h4 M6 14h2v6" class="binary-path1" />
|
|
54
|
+
<path d="M14 4h2v6 M14 10h4" class="binary-path2" />
|
|
55
|
+
</svg>
|
|
56
|
+
</div>
|
|
57
|
+
|
|
58
|
+
<style>
|
|
59
|
+
div {
|
|
60
|
+
display: inline-block;
|
|
61
|
+
}
|
|
62
|
+
.binary-icon {
|
|
63
|
+
overflow: visible;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.binary-rect1,
|
|
67
|
+
.binary-rect2,
|
|
68
|
+
.binary-path1,
|
|
69
|
+
.binary-path2 {
|
|
70
|
+
--duration: 0.25s;
|
|
71
|
+
--timing: cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
72
|
+
transition: transform var(--duration) var(--timing);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.binary-icon.animate .binary-rect1,
|
|
76
|
+
.binary-icon.animate .binary-rect2,
|
|
77
|
+
.binary-icon.animate .binary-path1,
|
|
78
|
+
.binary-icon.animate .binary-path2 {
|
|
79
|
+
--duration: 0.4s;
|
|
80
|
+
--timing: ease-in-out;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.binary-icon.animate .binary-rect1 {
|
|
84
|
+
transform: translateX(-8px);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.binary-icon.animate .binary-rect2 {
|
|
88
|
+
transform: translateX(8px);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.binary-icon.animate .binary-path1 {
|
|
92
|
+
transform: translateY(-10px);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.binary-icon.animate .binary-path2 {
|
|
96
|
+
transform: translateY(10px);
|
|
97
|
+
}
|
|
98
|
+
</style>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export default Binary;
|
|
2
|
+
type Binary = {
|
|
3
|
+
$on?(type: string, callback: (e: any) => void): () => void;
|
|
4
|
+
$set?(props: Partial<Props>): void;
|
|
5
|
+
};
|
|
6
|
+
declare const Binary: import("svelte").Component<{
|
|
7
|
+
color?: string;
|
|
8
|
+
size?: number;
|
|
9
|
+
strokeWidth?: number;
|
|
10
|
+
isHovered?: boolean;
|
|
11
|
+
class?: string;
|
|
12
|
+
}, {}, "">;
|
|
13
|
+
type Props = {
|
|
14
|
+
color?: string;
|
|
15
|
+
size?: number;
|
|
16
|
+
strokeWidth?: number;
|
|
17
|
+
isHovered?: boolean;
|
|
18
|
+
class?: string;
|
|
19
|
+
};
|
package/dist/icons/index.js
CHANGED
|
@@ -55,6 +55,7 @@ import betweenHorizontalEnd from './between-horizontal-end.svelte';
|
|
|
55
55
|
import betweenHorizontalStart from './between-horizontal-start.svelte';
|
|
56
56
|
import betweenVerticalEnd from './between-vertical-end.svelte';
|
|
57
57
|
import betweenVerticalStart from './between-vertical-start.svelte';
|
|
58
|
+
import binary from './binary.svelte';
|
|
58
59
|
import blend from './blend.svelte';
|
|
59
60
|
import blocks from './blocks.svelte';
|
|
60
61
|
import bluetoothOff from './bluetooth-off.svelte';
|
|
@@ -413,6 +414,7 @@ import slidersHorizontal from './sliders-horizontal.svelte';
|
|
|
413
414
|
import slidersVertical from './sliders-vertical.svelte';
|
|
414
415
|
import smartphoneNfc from './smartphone-nfc.svelte';
|
|
415
416
|
import snowflake from './snowflake.svelte';
|
|
417
|
+
import sparkles from './sparkles.svelte';
|
|
416
418
|
import speech from './speech.svelte';
|
|
417
419
|
import spellCheck from './spell-check.svelte';
|
|
418
420
|
import squareArrowDown from './square-arrow-down.svelte';
|
|
@@ -1117,6 +1119,12 @@ let ICONS_LIST = [
|
|
|
1117
1119
|
],
|
|
1118
1120
|
categories: ['layout', 'design', 'tools']
|
|
1119
1121
|
},
|
|
1122
|
+
{
|
|
1123
|
+
name: 'binary',
|
|
1124
|
+
icon: binary,
|
|
1125
|
+
tags: ['code', 'digits', 'computer', 'zero', 'one', 'boolean'],
|
|
1126
|
+
categories: ['text', 'development']
|
|
1127
|
+
},
|
|
1120
1128
|
{
|
|
1121
1129
|
name: 'blend',
|
|
1122
1130
|
icon: blend,
|
|
@@ -5007,6 +5015,12 @@ let ICONS_LIST = [
|
|
|
5007
5015
|
tags: ['cold', 'weather', 'freeze', 'snow', 'winter'],
|
|
5008
5016
|
categories: ['weather', 'seasons']
|
|
5009
5017
|
},
|
|
5018
|
+
{
|
|
5019
|
+
name: 'sparkles',
|
|
5020
|
+
icon: sparkles,
|
|
5021
|
+
tags: ['stars', 'effect', 'filter', 'night', 'magic'],
|
|
5022
|
+
categories: ['cursors', 'multimedia', 'gaming', 'weather']
|
|
5023
|
+
},
|
|
5010
5024
|
{
|
|
5011
5025
|
name: 'speech',
|
|
5012
5026
|
icon: speech,
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
/**
|
|
3
|
+
* @typedef {Object} Props
|
|
4
|
+
* @property {string} [color]
|
|
5
|
+
* @property {number} [size]
|
|
6
|
+
* @property {number} [strokeWidth]
|
|
7
|
+
* @property {boolean} [isHovered]
|
|
8
|
+
* @property {string} [class]
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/** @type {Props} */
|
|
12
|
+
let {
|
|
13
|
+
color = 'currentColor',
|
|
14
|
+
size = 24,
|
|
15
|
+
strokeWidth = 2,
|
|
16
|
+
isHovered = false,
|
|
17
|
+
class: className = ''
|
|
18
|
+
} = $props();
|
|
19
|
+
|
|
20
|
+
function handleMouseEnter() {
|
|
21
|
+
isHovered = true;
|
|
22
|
+
|
|
23
|
+
setTimeout(() => {
|
|
24
|
+
isHovered = false;
|
|
25
|
+
}, 750);
|
|
26
|
+
}
|
|
27
|
+
</script>
|
|
28
|
+
|
|
29
|
+
<div class={className} aria-label="sparkles" role="img" onmouseenter={handleMouseEnter}>
|
|
30
|
+
<svg
|
|
31
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
32
|
+
width={size}
|
|
33
|
+
height={size}
|
|
34
|
+
viewBox="0 0 24 24"
|
|
35
|
+
fill="none"
|
|
36
|
+
stroke={color}
|
|
37
|
+
stroke-width={strokeWidth}
|
|
38
|
+
stroke-linecap="round"
|
|
39
|
+
stroke-linejoin="round"
|
|
40
|
+
class="sparkles-icon"
|
|
41
|
+
class:animate={isHovered}
|
|
42
|
+
>
|
|
43
|
+
<g class="sparkles-group">
|
|
44
|
+
<path
|
|
45
|
+
d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"
|
|
46
|
+
class="sparkles-path"
|
|
47
|
+
/>
|
|
48
|
+
</g>
|
|
49
|
+
<path d="M20 2v4 M22 4h-4" class="sparkles-plus" />
|
|
50
|
+
<circle cx="4" cy="20" r="2" class="sparkles-circle" />
|
|
51
|
+
</svg>
|
|
52
|
+
</div>
|
|
53
|
+
|
|
54
|
+
<style>
|
|
55
|
+
div {
|
|
56
|
+
display: inline-block;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.sparkles-icon {
|
|
60
|
+
overflow: visible;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.sparkles-group {
|
|
64
|
+
transform-origin: center;
|
|
65
|
+
transition: transform 0.6s ease-in-out;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.sparkles-icon.animate .sparkles-group {
|
|
69
|
+
animation: scaleGroup 0.6s ease-in-out;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.sparkles-plus {
|
|
73
|
+
opacity: 1;
|
|
74
|
+
transform: scale(1);
|
|
75
|
+
transform-origin: center;
|
|
76
|
+
transform-box: fill-box;
|
|
77
|
+
transition:
|
|
78
|
+
opacity 0.2s ease-in-out,
|
|
79
|
+
transform 0.2s ease-in-out;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.sparkles-icon.animate .sparkles-plus {
|
|
83
|
+
animation: pulsePlus 0.75s ease-in-out;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.sparkles-circle {
|
|
87
|
+
opacity: 1;
|
|
88
|
+
transform: scale(1);
|
|
89
|
+
transform-origin: center;
|
|
90
|
+
transform-box: fill-box;
|
|
91
|
+
transition:
|
|
92
|
+
opacity 0.2s ease-in-out,
|
|
93
|
+
transform 0.2s ease-in-out;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.sparkles-icon.animate .sparkles-circle {
|
|
97
|
+
animation: pulseCircle 0.6s ease-in-out;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
@keyframes scaleGroup {
|
|
101
|
+
0% {
|
|
102
|
+
transform: scale(1);
|
|
103
|
+
}
|
|
104
|
+
33.33% {
|
|
105
|
+
transform: scale(0.9);
|
|
106
|
+
}
|
|
107
|
+
66.67% {
|
|
108
|
+
transform: scale(1.1);
|
|
109
|
+
}
|
|
110
|
+
100% {
|
|
111
|
+
transform: scale(1);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
@keyframes pulsePlus {
|
|
116
|
+
0%,
|
|
117
|
+
20% {
|
|
118
|
+
opacity: 1;
|
|
119
|
+
transform: scale(1);
|
|
120
|
+
}
|
|
121
|
+
46.67% {
|
|
122
|
+
opacity: 0;
|
|
123
|
+
transform: scale(0);
|
|
124
|
+
}
|
|
125
|
+
73.33% {
|
|
126
|
+
opacity: 0;
|
|
127
|
+
transform: scale(0);
|
|
128
|
+
}
|
|
129
|
+
100% {
|
|
130
|
+
opacity: 1;
|
|
131
|
+
transform: scale(1);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
@keyframes pulseCircle {
|
|
136
|
+
0% {
|
|
137
|
+
opacity: 1;
|
|
138
|
+
transform: scale(1);
|
|
139
|
+
}
|
|
140
|
+
33.33% {
|
|
141
|
+
opacity: 0;
|
|
142
|
+
transform: scale(0);
|
|
143
|
+
}
|
|
144
|
+
66.67% {
|
|
145
|
+
opacity: 0;
|
|
146
|
+
transform: scale(0);
|
|
147
|
+
}
|
|
148
|
+
100% {
|
|
149
|
+
opacity: 1;
|
|
150
|
+
transform: scale(1);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
</style>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export default Sparkles;
|
|
2
|
+
type Sparkles = {
|
|
3
|
+
$on?(type: string, callback: (e: any) => void): () => void;
|
|
4
|
+
$set?(props: Partial<Props>): void;
|
|
5
|
+
};
|
|
6
|
+
declare const Sparkles: import("svelte").Component<{
|
|
7
|
+
color?: string;
|
|
8
|
+
size?: number;
|
|
9
|
+
strokeWidth?: number;
|
|
10
|
+
isHovered?: boolean;
|
|
11
|
+
class?: string;
|
|
12
|
+
}, {}, "">;
|
|
13
|
+
type Props = {
|
|
14
|
+
color?: string;
|
|
15
|
+
size?: number;
|
|
16
|
+
strokeWidth?: number;
|
|
17
|
+
isHovered?: boolean;
|
|
18
|
+
class?: string;
|
|
19
|
+
};
|
package/dist/index.d.ts
CHANGED
|
@@ -55,6 +55,7 @@ export { default as BetweenHorizontalEnd } from "./icons/between-horizontal-end.
|
|
|
55
55
|
export { default as BetweenHorizontalStart } from "./icons/between-horizontal-start.svelte";
|
|
56
56
|
export { default as BetweenVerticalEnd } from "./icons/between-vertical-end.svelte";
|
|
57
57
|
export { default as BetweenVerticalStart } from "./icons/between-vertical-start.svelte";
|
|
58
|
+
export { default as Binary } from "./icons/binary.svelte";
|
|
58
59
|
export { default as Blend } from "./icons/blend.svelte";
|
|
59
60
|
export { default as Blocks } from "./icons/blocks.svelte";
|
|
60
61
|
export { default as BluetoothOff } from "./icons/bluetooth-off.svelte";
|
|
@@ -413,6 +414,7 @@ export { default as SlidersHorizontal } from "./icons/sliders-horizontal.svelte"
|
|
|
413
414
|
export { default as SlidersVertical } from "./icons/sliders-vertical.svelte";
|
|
414
415
|
export { default as SmartphoneNfc } from "./icons/smartphone-nfc.svelte";
|
|
415
416
|
export { default as Snowflake } from "./icons/snowflake.svelte";
|
|
417
|
+
export { default as Sparkles } from "./icons/sparkles.svelte";
|
|
416
418
|
export { default as Speech } from "./icons/speech.svelte";
|
|
417
419
|
export { default as SpellCheck } from "./icons/spell-check.svelte";
|
|
418
420
|
export { default as SquareArrowDownLeft } from "./icons/square-arrow-down-left.svelte";
|
package/dist/index.js
CHANGED
|
@@ -55,6 +55,7 @@ export { default as BetweenHorizontalEnd } from './icons/between-horizontal-end.
|
|
|
55
55
|
export { default as BetweenHorizontalStart } from './icons/between-horizontal-start.svelte';
|
|
56
56
|
export { default as BetweenVerticalEnd } from './icons/between-vertical-end.svelte';
|
|
57
57
|
export { default as BetweenVerticalStart } from './icons/between-vertical-start.svelte';
|
|
58
|
+
export { default as Binary } from './icons/binary.svelte';
|
|
58
59
|
export { default as Blend } from './icons/blend.svelte';
|
|
59
60
|
export { default as Blocks } from './icons/blocks.svelte';
|
|
60
61
|
export { default as BluetoothOff } from './icons/bluetooth-off.svelte';
|
|
@@ -413,6 +414,7 @@ export { default as SlidersHorizontal } from './icons/sliders-horizontal.svelte'
|
|
|
413
414
|
export { default as SlidersVertical } from './icons/sliders-vertical.svelte';
|
|
414
415
|
export { default as SmartphoneNfc } from './icons/smartphone-nfc.svelte';
|
|
415
416
|
export { default as Snowflake } from './icons/snowflake.svelte';
|
|
417
|
+
export { default as Sparkles } from './icons/sparkles.svelte';
|
|
416
418
|
export { default as Speech } from './icons/speech.svelte';
|
|
417
419
|
export { default as SpellCheck } from './icons/spell-check.svelte';
|
|
418
420
|
export { default as SquareArrowDownLeft } from './icons/square-arrow-down-left.svelte';
|