@jis3r/icons 1.20.0 → 1.22.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';
@@ -416,6 +417,7 @@ import slidersHorizontal from './sliders-horizontal.svelte';
416
417
  import slidersVertical from './sliders-vertical.svelte';
417
418
  import smartphoneNfc from './smartphone-nfc.svelte';
418
419
  import snowflake from './snowflake.svelte';
420
+ import sparkle from './sparkle.svelte';
419
421
  import sparkles from './sparkles.svelte';
420
422
  import speech from './speech.svelte';
421
423
  import spellCheck from './spell-check.svelte';
@@ -3160,6 +3162,12 @@ let ICONS_LIST = [
3160
3162
  tags: ['carousel', 'pictures', 'images', 'album', 'portfolio', 'preview'],
3161
3163
  categories: ['layout', 'design', 'development', 'photography', 'multimedia']
3162
3164
  },
3165
+ {
3166
+ name: 'gallery-vertical',
3167
+ icon: galleryVertical,
3168
+ tags: ['carousel', 'pictures', 'images', 'scroll', 'swipe', 'album', 'portfolio'],
3169
+ categories: ['layout', 'design', 'development', 'photography', 'multimedia']
3170
+ },
3163
3171
  {
3164
3172
  name: 'gallery-vertical-end',
3165
3173
  icon: galleryVerticalEnd,
@@ -5029,6 +5037,22 @@ let ICONS_LIST = [
5029
5037
  tags: ['cold', 'weather', 'freeze', 'snow', 'winter'],
5030
5038
  categories: ['weather', 'seasons']
5031
5039
  },
5040
+ {
5041
+ name: 'sparkle',
5042
+ icon: sparkle,
5043
+ tags: [
5044
+ 'star',
5045
+ 'effect',
5046
+ 'filter',
5047
+ 'night',
5048
+ 'magic',
5049
+ 'shiny',
5050
+ 'glitter',
5051
+ 'twinkle',
5052
+ 'celebration'
5053
+ ],
5054
+ categories: ['shapes']
5055
+ },
5032
5056
  {
5033
5057
  name: 'sparkles',
5034
5058
  icon: sparkles,
@@ -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
+ };
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";
@@ -416,6 +417,7 @@ export { default as SlidersHorizontal } from "./icons/sliders-horizontal.svelte"
416
417
  export { default as SlidersVertical } from "./icons/sliders-vertical.svelte";
417
418
  export { default as SmartphoneNfc } from "./icons/smartphone-nfc.svelte";
418
419
  export { default as Snowflake } from "./icons/snowflake.svelte";
420
+ export { default as Sparkle } from "./icons/sparkle.svelte";
419
421
  export { default as Sparkles } from "./icons/sparkles.svelte";
420
422
  export { default as Speech } from "./icons/speech.svelte";
421
423
  export { default as SpellCheck } from "./icons/spell-check.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';
@@ -416,6 +417,7 @@ export { default as SlidersHorizontal } from './icons/sliders-horizontal.svelte'
416
417
  export { default as SlidersVertical } from './icons/sliders-vertical.svelte';
417
418
  export { default as SmartphoneNfc } from './icons/smartphone-nfc.svelte';
418
419
  export { default as Snowflake } from './icons/snowflake.svelte';
420
+ export { default as Sparkle } from './icons/sparkle.svelte';
419
421
  export { default as Sparkles } from './icons/sparkles.svelte';
420
422
  export { default as Speech } from './icons/speech.svelte';
421
423
  export { default as SpellCheck } from './icons/spell-check.svelte';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jis3r/icons",
3
- "version": "1.20.0",
3
+ "version": "1.22.0",
4
4
  "description": "beautifully crafted, moving icons. for svelte.",
5
5
  "keywords": [
6
6
  "svelte",