@jis3r/icons 1.19.0 → 1.20.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
+ }, 600);
27
+ }
28
+ </script>
29
+
30
+ <div class={className} aria-label="gallery-horizontal" 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-horizontal-icon"
42
+ class:animate={isHovered}
43
+ >
44
+ <path d="M2 3v18" class="gallery-path gallery-path-1" />
45
+ <rect width="12" height="18" x="6" y="3" rx="2" class="gallery-rect" />
46
+ <path d="M22 3v18" class="gallery-path gallery-path-2" />
47
+ </svg>
48
+ </div>
49
+
50
+ <style>
51
+ div {
52
+ display: inline-block;
53
+ }
54
+
55
+ .gallery-horizontal-icon {
56
+ overflow: visible;
57
+ }
58
+
59
+ .gallery-path {
60
+ opacity: 1;
61
+ transform: scale(1) translateX(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-horizontal-icon.animate .gallery-path-1 {
72
+ animation: slideInLeft 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) 0.15s;
73
+ }
74
+
75
+ .gallery-horizontal-icon.animate .gallery-path-2 {
76
+ animation: slideInRight 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) 0.15s;
77
+ }
78
+
79
+ @keyframes slideInLeft {
80
+ 0% {
81
+ opacity: 0;
82
+ transform: scale(0.8) translateX(4px);
83
+ }
84
+ 100% {
85
+ opacity: 1;
86
+ transform: scale(1) translateX(0);
87
+ }
88
+ }
89
+
90
+ @keyframes slideInRight {
91
+ 0% {
92
+ opacity: 0;
93
+ transform: scale(0.8) translateX(-4px);
94
+ }
95
+ 100% {
96
+ opacity: 1;
97
+ transform: scale(1) translateX(0);
98
+ }
99
+ }
100
+ </style>
@@ -0,0 +1,19 @@
1
+ export default GalleryHorizontal;
2
+ type GalleryHorizontal = {
3
+ $on?(type: string, callback: (e: any) => void): () => void;
4
+ $set?(props: Partial<Props>): void;
5
+ };
6
+ declare const GalleryHorizontal: 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
+ };
@@ -242,6 +242,7 @@ import folderPlus from './folder-plus.svelte';
242
242
  import folderSync from './folder-sync.svelte';
243
243
  import folderUp from './folder-up.svelte';
244
244
  import frame from './frame.svelte';
245
+ import galleryHorizontal from './gallery-horizontal.svelte';
245
246
  import galleryHorizontalEnd from './gallery-horizontal-end.svelte';
246
247
  import galleryThumbnails from './gallery-thumbnails.svelte';
247
248
  import galleryVerticalEnd from './gallery-vertical-end.svelte';
@@ -3129,6 +3130,12 @@ let ICONS_LIST = [
3129
3130
  tags: ['logo', 'design', 'tool'],
3130
3131
  categories: ['design', 'photography']
3131
3132
  },
3133
+ {
3134
+ name: 'gallery-horizontal',
3135
+ icon: galleryHorizontal,
3136
+ tags: ['carousel', 'pictures', 'images', 'scroll', 'swipe', 'album', 'portfolio'],
3137
+ categories: ['layout', 'design', 'development', 'photography', 'multimedia']
3138
+ },
3132
3139
  {
3133
3140
  name: 'gallery-horizontal-end',
3134
3141
  icon: galleryHorizontalEnd,
package/dist/index.d.ts CHANGED
@@ -243,6 +243,7 @@ export { default as FolderSync } from "./icons/folder-sync.svelte";
243
243
  export { default as FolderUp } from "./icons/folder-up.svelte";
244
244
  export { default as Frame } from "./icons/frame.svelte";
245
245
  export { default as GalleryHorizontalEnd } from "./icons/gallery-horizontal-end.svelte";
246
+ export { default as GalleryHorizontal } from "./icons/gallery-horizontal.svelte";
246
247
  export { default as GalleryThumbnails } from "./icons/gallery-thumbnails.svelte";
247
248
  export { default as GalleryVerticalEnd } from "./icons/gallery-vertical-end.svelte";
248
249
  export { default as Gauge } from "./icons/gauge.svelte";
package/dist/index.js CHANGED
@@ -243,6 +243,7 @@ export { default as FolderSync } from './icons/folder-sync.svelte';
243
243
  export { default as FolderUp } from './icons/folder-up.svelte';
244
244
  export { default as Frame } from './icons/frame.svelte';
245
245
  export { default as GalleryHorizontalEnd } from './icons/gallery-horizontal-end.svelte';
246
+ export { default as GalleryHorizontal } from './icons/gallery-horizontal.svelte';
246
247
  export { default as GalleryThumbnails } from './icons/gallery-thumbnails.svelte';
247
248
  export { default as GalleryVerticalEnd } from './icons/gallery-vertical-end.svelte';
248
249
  export { default as Gauge } from './icons/gauge.svelte';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jis3r/icons",
3
- "version": "1.19.0",
3
+ "version": "1.20.0",
4
4
  "description": "beautifully crafted, moving icons. for svelte.",
5
5
  "keywords": [
6
6
  "svelte",