@jis3r/icons 1.20.0 → 1.24.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.
@@ -0,0 +1,100 @@
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
+ if (isHovered) return;
22
+ isHovered = true;
23
+
24
+ setTimeout(() => {
25
+ isHovered = false;
26
+ }, 800);
27
+ }
28
+ </script>
29
+
30
+ <div class={className} aria-label="gallery-vertical" role="img" onmouseenter={handleMouseEnter}>
31
+ <svg
32
+ xmlns="http://www.w3.org/2000/svg"
33
+ width={size}
34
+ height={size}
35
+ viewBox="0 0 24 24"
36
+ fill="none"
37
+ stroke={color}
38
+ stroke-width={strokeWidth}
39
+ stroke-linecap="round"
40
+ stroke-linejoin="round"
41
+ class="gallery-vertical-icon"
42
+ class:animate={isHovered}
43
+ >
44
+ <path d="M3 2h18" class="gallery-path gallery-path-1" />
45
+ <rect width="18" height="12" x="3" y="6" rx="2" class="gallery-rect" />
46
+ <path d="M3 22h18" class="gallery-path gallery-path-2" />
47
+ </svg>
48
+ </div>
49
+
50
+ <style>
51
+ div {
52
+ display: inline-block;
53
+ }
54
+
55
+ .gallery-vertical-icon {
56
+ overflow: visible;
57
+ }
58
+
59
+ .gallery-path {
60
+ opacity: 1;
61
+ transform: scale(1) translateY(0);
62
+ transform-origin: center;
63
+ }
64
+
65
+ .gallery-rect {
66
+ opacity: 1;
67
+ transform: scale(1);
68
+ transform-origin: center;
69
+ }
70
+
71
+ .gallery-vertical-icon.animate .gallery-path-1 {
72
+ animation: slideInTop 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) 0.15s;
73
+ }
74
+
75
+ .gallery-vertical-icon.animate .gallery-path-2 {
76
+ animation: slideInBottom 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) 0.15s;
77
+ }
78
+
79
+ @keyframes slideInTop {
80
+ 0% {
81
+ opacity: 0;
82
+ transform: scale(0.8) translateY(4px);
83
+ }
84
+ 100% {
85
+ opacity: 1;
86
+ transform: scale(1) translateY(0);
87
+ }
88
+ }
89
+
90
+ @keyframes slideInBottom {
91
+ 0% {
92
+ opacity: 0;
93
+ transform: scale(0.8) translateY(-4px);
94
+ }
95
+ 100% {
96
+ opacity: 1;
97
+ transform: scale(1) translateY(0);
98
+ }
99
+ }
100
+ </style>
@@ -0,0 +1,19 @@
1
+ export default GalleryVertical;
2
+ type GalleryVertical = {
3
+ $on?(type: string, callback: (e: any) => void): () => void;
4
+ $set?(props: Partial<Props>): void;
5
+ };
6
+ declare const GalleryVertical: 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
+ };
@@ -245,6 +245,7 @@ import frame from './frame.svelte';
245
245
  import galleryHorizontal from './gallery-horizontal.svelte';
246
246
  import galleryHorizontalEnd from './gallery-horizontal-end.svelte';
247
247
  import galleryThumbnails from './gallery-thumbnails.svelte';
248
+ import galleryVertical from './gallery-vertical.svelte';
248
249
  import galleryVerticalEnd from './gallery-vertical-end.svelte';
249
250
  import gauge from './gauge.svelte';
250
251
  import gavel from './gavel.svelte';
@@ -361,6 +362,7 @@ import phoneOff from './phone-off.svelte';
361
362
  import pickaxe from './pickaxe.svelte';
362
363
  import pinOff from './pin-off.svelte';
363
364
  import plane from './plane.svelte';
365
+ import play from './play.svelte';
364
366
  import plus from './plus.svelte';
365
367
  import pointerOff from './pointer-off.svelte';
366
368
  import powerOff from './power-off.svelte';
@@ -416,6 +418,7 @@ import slidersHorizontal from './sliders-horizontal.svelte';
416
418
  import slidersVertical from './sliders-vertical.svelte';
417
419
  import smartphoneNfc from './smartphone-nfc.svelte';
418
420
  import snowflake from './snowflake.svelte';
421
+ import sparkle from './sparkle.svelte';
419
422
  import sparkles from './sparkles.svelte';
420
423
  import speech from './speech.svelte';
421
424
  import spellCheck from './spell-check.svelte';
@@ -477,6 +480,7 @@ import unfoldHorizontal from './unfold-horizontal.svelte';
477
480
  import unfoldVertical from './unfold-vertical.svelte';
478
481
  import unplug from './unplug.svelte';
479
482
  import upload from './upload.svelte';
483
+ import user from './user.svelte';
480
484
  import userCheck from './user-check.svelte';
481
485
  import userCog from './user-cog.svelte';
482
486
  import userPen from './user-pen.svelte';
@@ -3160,6 +3164,12 @@ let ICONS_LIST = [
3160
3164
  tags: ['carousel', 'pictures', 'images', 'album', 'portfolio', 'preview'],
3161
3165
  categories: ['layout', 'design', 'development', 'photography', 'multimedia']
3162
3166
  },
3167
+ {
3168
+ name: 'gallery-vertical',
3169
+ icon: galleryVertical,
3170
+ tags: ['carousel', 'pictures', 'images', 'scroll', 'swipe', 'album', 'portfolio'],
3171
+ categories: ['layout', 'design', 'development', 'photography', 'multimedia']
3172
+ },
3163
3173
  {
3164
3174
  name: 'gallery-vertical-end',
3165
3175
  icon: galleryVerticalEnd,
@@ -4266,6 +4276,12 @@ let ICONS_LIST = [
4266
4276
  tags: ['plane', 'trip', 'airplane'],
4267
4277
  categories: ['transportation', 'travel']
4268
4278
  },
4279
+ {
4280
+ name: 'play',
4281
+ icon: play,
4282
+ tags: ['music', 'audio', 'video', 'start', 'run'],
4283
+ categories: ['arrows', 'multimedia']
4284
+ },
4269
4285
  {
4270
4286
  name: 'plus',
4271
4287
  icon: plus,
@@ -5029,6 +5045,22 @@ let ICONS_LIST = [
5029
5045
  tags: ['cold', 'weather', 'freeze', 'snow', 'winter'],
5030
5046
  categories: ['weather', 'seasons']
5031
5047
  },
5048
+ {
5049
+ name: 'sparkle',
5050
+ icon: sparkle,
5051
+ tags: [
5052
+ 'star',
5053
+ 'effect',
5054
+ 'filter',
5055
+ 'night',
5056
+ 'magic',
5057
+ 'shiny',
5058
+ 'glitter',
5059
+ 'twinkle',
5060
+ 'celebration'
5061
+ ],
5062
+ categories: ['shapes']
5063
+ },
5032
5064
  {
5033
5065
  name: 'sparkles',
5034
5066
  icon: sparkles,
@@ -5589,6 +5621,12 @@ let ICONS_LIST = [
5589
5621
  tags: ['file'],
5590
5622
  categories: ['arrows', 'files']
5591
5623
  },
5624
+ {
5625
+ name: 'user',
5626
+ icon: user,
5627
+ tags: ['person', 'account', 'contact'],
5628
+ categories: ['account']
5629
+ },
5592
5630
  {
5593
5631
  name: 'user-check',
5594
5632
  icon: userCheck,
@@ -0,0 +1,62 @@
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
+
24
+ function handleMouseLeave() {
25
+ isHovered = false;
26
+ }
27
+ </script>
28
+
29
+ <div
30
+ class={className}
31
+ aria-label="play"
32
+ role="img"
33
+ onmouseenter={handleMouseEnter}
34
+ onmouseleave={handleMouseLeave}
35
+ >
36
+ <svg
37
+ xmlns="http://www.w3.org/2000/svg"
38
+ width={size}
39
+ height={size}
40
+ viewBox="0 0 24 24"
41
+ fill="none"
42
+ stroke={color}
43
+ stroke-width={strokeWidth}
44
+ stroke-linecap="round"
45
+ stroke-linejoin="round"
46
+ >
47
+ <polygon points="6 3 20 12 6 21 6 3" class:animate={isHovered} />
48
+ </svg>
49
+ </div>
50
+
51
+ <style>
52
+ div {
53
+ display: inline-block;
54
+ }
55
+ polygon {
56
+ transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
57
+ }
58
+
59
+ polygon.animate {
60
+ transform: translateX(3px);
61
+ }
62
+ </style>
@@ -0,0 +1,19 @@
1
+ export default Play;
2
+ type Play = {
3
+ $on?(type: string, callback: (e: any) => void): () => void;
4
+ $set?(props: Partial<Props>): void;
5
+ };
6
+ declare const Play: 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
+ };
@@ -0,0 +1,77 @@
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
+ }, 600);
26
+ }
27
+ </script>
28
+
29
+ <div class={className} aria-label="sparkle" 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="sparkle-icon"
41
+ class:animate={isHovered}
42
+ >
43
+ <path
44
+ 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"
45
+ class="sparkle-path"
46
+ />
47
+ </svg>
48
+ </div>
49
+
50
+ <style>
51
+ div {
52
+ display: inline-block;
53
+ }
54
+ .sparkle-icon {
55
+ overflow: visible;
56
+ transform-origin: center;
57
+ }
58
+
59
+ .sparkle-icon.animate {
60
+ animation: sparkleScale 0.6s ease-in-out forwards;
61
+ }
62
+
63
+ @keyframes sparkleScale {
64
+ 0% {
65
+ transform: scale(1);
66
+ }
67
+ 33% {
68
+ transform: scale(0.9);
69
+ }
70
+ 66% {
71
+ transform: scale(1.2);
72
+ }
73
+ 100% {
74
+ transform: scale(1);
75
+ }
76
+ }
77
+ </style>
@@ -0,0 +1,19 @@
1
+ export default Sparkle;
2
+ type Sparkle = {
3
+ $on?(type: string, callback: (e: any) => void): () => void;
4
+ $set?(props: Partial<Props>): void;
5
+ };
6
+ declare const Sparkle: 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
+ };
@@ -0,0 +1,95 @@
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
+ }, 600);
26
+ }
27
+ </script>
28
+
29
+ <div class={className} aria-label="user" 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="user-icon"
41
+ class:animate={isHovered}
42
+ >
43
+ <path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2" class="user-path" />
44
+ <circle cx="12" cy="7" r="4" class="user-circle" />
45
+ </svg>
46
+ </div>
47
+
48
+ <style>
49
+ div {
50
+ display: inline-block;
51
+ }
52
+
53
+ .user-path,
54
+ .user-circle {
55
+ transition: transform 0.6s ease-in-out;
56
+ }
57
+
58
+ .user-icon.animate .user-path {
59
+ animation: pathBounce 0.6s ease-in-out;
60
+ }
61
+
62
+ .user-icon.animate .user-circle {
63
+ animation: circleBounce 0.6s ease-in-out;
64
+ }
65
+
66
+ @keyframes pathBounce {
67
+ 0% {
68
+ transform: translateY(0);
69
+ }
70
+ 33% {
71
+ transform: translateY(2px);
72
+ }
73
+ 66% {
74
+ transform: translateY(-2px);
75
+ }
76
+ 100% {
77
+ transform: translateY(0);
78
+ }
79
+ }
80
+
81
+ @keyframes circleBounce {
82
+ 0% {
83
+ transform: translateY(0);
84
+ }
85
+ 33% {
86
+ transform: translateY(4px);
87
+ }
88
+ 66% {
89
+ transform: translateY(-2px);
90
+ }
91
+ 100% {
92
+ transform: translateY(0);
93
+ }
94
+ }
95
+ </style>
@@ -0,0 +1,19 @@
1
+ export default User;
2
+ type User = {
3
+ $on?(type: string, callback: (e: any) => void): () => void;
4
+ $set?(props: Partial<Props>): void;
5
+ };
6
+ declare const User: 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
@@ -246,6 +246,7 @@ export { default as GalleryHorizontalEnd } from "./icons/gallery-horizontal-end.
246
246
  export { default as GalleryHorizontal } from "./icons/gallery-horizontal.svelte";
247
247
  export { default as GalleryThumbnails } from "./icons/gallery-thumbnails.svelte";
248
248
  export { default as GalleryVerticalEnd } from "./icons/gallery-vertical-end.svelte";
249
+ export { default as GalleryVertical } from "./icons/gallery-vertical.svelte";
249
250
  export { default as Gauge } from "./icons/gauge.svelte";
250
251
  export { default as Gavel } from "./icons/gavel.svelte";
251
252
  export { default as Grid2x2Check } from "./icons/grid-2x2-check.svelte";
@@ -361,6 +362,7 @@ export { default as PhoneOff } from "./icons/phone-off.svelte";
361
362
  export { default as Pickaxe } from "./icons/pickaxe.svelte";
362
363
  export { default as PinOff } from "./icons/pin-off.svelte";
363
364
  export { default as Plane } from "./icons/plane.svelte";
365
+ export { default as Play } from "./icons/play.svelte";
364
366
  export { default as Plus } from "./icons/plus.svelte";
365
367
  export { default as PointerOff } from "./icons/pointer-off.svelte";
366
368
  export { default as PowerOff } from "./icons/power-off.svelte";
@@ -416,6 +418,7 @@ export { default as SlidersHorizontal } from "./icons/sliders-horizontal.svelte"
416
418
  export { default as SlidersVertical } from "./icons/sliders-vertical.svelte";
417
419
  export { default as SmartphoneNfc } from "./icons/smartphone-nfc.svelte";
418
420
  export { default as Snowflake } from "./icons/snowflake.svelte";
421
+ export { default as Sparkle } from "./icons/sparkle.svelte";
419
422
  export { default as Sparkles } from "./icons/sparkles.svelte";
420
423
  export { default as Speech } from "./icons/speech.svelte";
421
424
  export { default as SpellCheck } from "./icons/spell-check.svelte";
@@ -483,6 +486,7 @@ export { default as UserPen } from "./icons/user-pen.svelte";
483
486
  export { default as UserRoundCheck } from "./icons/user-round-check.svelte";
484
487
  export { default as UserRoundCog } from "./icons/user-round-cog.svelte";
485
488
  export { default as UserRoundPen } from "./icons/user-round-pen.svelte";
489
+ export { default as User } from "./icons/user.svelte";
486
490
  export { default as UsersRound } from "./icons/users-round.svelte";
487
491
  export { default as Users } from "./icons/users.svelte";
488
492
  export { default as Vault } from "./icons/vault.svelte";
package/dist/index.js CHANGED
@@ -246,6 +246,7 @@ export { default as GalleryHorizontalEnd } from './icons/gallery-horizontal-end.
246
246
  export { default as GalleryHorizontal } from './icons/gallery-horizontal.svelte';
247
247
  export { default as GalleryThumbnails } from './icons/gallery-thumbnails.svelte';
248
248
  export { default as GalleryVerticalEnd } from './icons/gallery-vertical-end.svelte';
249
+ export { default as GalleryVertical } from './icons/gallery-vertical.svelte';
249
250
  export { default as Gauge } from './icons/gauge.svelte';
250
251
  export { default as Gavel } from './icons/gavel.svelte';
251
252
  export { default as Grid2x2Check } from './icons/grid-2x2-check.svelte';
@@ -361,6 +362,7 @@ export { default as PhoneOff } from './icons/phone-off.svelte';
361
362
  export { default as Pickaxe } from './icons/pickaxe.svelte';
362
363
  export { default as PinOff } from './icons/pin-off.svelte';
363
364
  export { default as Plane } from './icons/plane.svelte';
365
+ export { default as Play } from './icons/play.svelte';
364
366
  export { default as Plus } from './icons/plus.svelte';
365
367
  export { default as PointerOff } from './icons/pointer-off.svelte';
366
368
  export { default as PowerOff } from './icons/power-off.svelte';
@@ -416,6 +418,7 @@ export { default as SlidersHorizontal } from './icons/sliders-horizontal.svelte'
416
418
  export { default as SlidersVertical } from './icons/sliders-vertical.svelte';
417
419
  export { default as SmartphoneNfc } from './icons/smartphone-nfc.svelte';
418
420
  export { default as Snowflake } from './icons/snowflake.svelte';
421
+ export { default as Sparkle } from './icons/sparkle.svelte';
419
422
  export { default as Sparkles } from './icons/sparkles.svelte';
420
423
  export { default as Speech } from './icons/speech.svelte';
421
424
  export { default as SpellCheck } from './icons/spell-check.svelte';
@@ -483,6 +486,7 @@ export { default as UserPen } from './icons/user-pen.svelte';
483
486
  export { default as UserRoundCheck } from './icons/user-round-check.svelte';
484
487
  export { default as UserRoundCog } from './icons/user-round-cog.svelte';
485
488
  export { default as UserRoundPen } from './icons/user-round-pen.svelte';
489
+ export { default as User } from './icons/user.svelte';
486
490
  export { default as UsersRound } from './icons/users-round.svelte';
487
491
  export { default as Users } from './icons/users.svelte';
488
492
  export { default as Vault } from './icons/vault.svelte';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jis3r/icons",
3
- "version": "1.20.0",
3
+ "version": "1.24.0",
4
4
  "description": "beautifully crafted, moving icons. for svelte.",
5
5
  "keywords": [
6
6
  "svelte",