@jis3r/icons 1.2.0 → 1.6.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/components/navbar.svelte +78 -0
- package/dist/components/navbar.svelte.d.ts +6 -0
- package/dist/components/ui/badge/badge.svelte.d.ts +2 -30
- package/dist/components/ui/button/button.svelte.d.ts +2 -62
- package/dist/components/ui/card/card-description.svelte +1 -1
- package/dist/components/ui/card/card-title.svelte +1 -1
- package/dist/components/ui/card/card.svelte +1 -1
- package/dist/components/ui/input/input.svelte +2 -2
- package/dist/components/ui/tooltip/tooltip-content.svelte +1 -1
- package/dist/icons/arrow-down-0-1.svelte.d.ts +3 -3
- package/dist/icons/arrow-down-1-0.svelte.d.ts +3 -3
- package/dist/icons/arrow-up-0-1.svelte.d.ts +3 -3
- package/dist/icons/arrow-up-1-0.svelte.d.ts +3 -3
- package/dist/icons/book-up-2.svelte.d.ts +3 -3
- package/dist/icons/bookmark-check.svelte +26 -2
- package/dist/icons/bookmark-minus.svelte +108 -0
- package/dist/icons/bookmark-minus.svelte.d.ts +19 -0
- package/dist/icons/bookmark-plus.svelte +114 -0
- package/dist/icons/bookmark-plus.svelte.d.ts +19 -0
- package/dist/icons/bookmark-x.svelte +114 -0
- package/dist/icons/{file-warning.svelte.d.ts → bookmark-x.svelte.d.ts} +3 -3
- package/dist/icons/bookmark.svelte +81 -0
- package/dist/icons/{align-center.svelte.d.ts → bookmark.svelte.d.ts} +3 -3
- package/dist/icons/bot.svelte +94 -0
- package/dist/icons/{file-check-2.svelte.d.ts → bot.svelte.d.ts} +3 -3
- package/dist/icons/calendar-check-2.svelte.d.ts +3 -3
- package/dist/icons/clock-1.svelte.d.ts +3 -3
- package/dist/icons/clock-10.svelte.d.ts +3 -3
- package/dist/icons/clock-11.svelte.d.ts +3 -3
- package/dist/icons/clock-12.svelte.d.ts +3 -3
- package/dist/icons/clock-2.svelte.d.ts +3 -3
- package/dist/icons/clock-3.svelte.d.ts +3 -3
- package/dist/icons/clock-4.svelte.d.ts +3 -3
- package/dist/icons/clock-5.svelte.d.ts +3 -3
- package/dist/icons/clock-6.svelte.d.ts +3 -3
- package/dist/icons/clock-7.svelte.d.ts +3 -3
- package/dist/icons/clock-8.svelte.d.ts +3 -3
- package/dist/icons/clock-9.svelte.d.ts +3 -3
- package/dist/icons/dice-1.svelte.d.ts +3 -3
- package/dist/icons/dice-2.svelte.d.ts +3 -3
- package/dist/icons/dice-3.svelte.d.ts +3 -3
- package/dist/icons/dice-4.svelte.d.ts +3 -3
- package/dist/icons/dice-5.svelte.d.ts +3 -3
- package/dist/icons/dice-6.svelte.d.ts +3 -3
- package/dist/icons/disc-3.svelte.d.ts +3 -3
- package/dist/icons/{file-check-2.svelte → file-check-corner.svelte} +9 -7
- package/dist/icons/file-check-corner.svelte.d.ts +19 -0
- package/dist/icons/{file-warning.svelte → file-exclamation-point.svelte} +6 -1
- package/dist/icons/file-exclamation-point.svelte.d.ts +19 -0
- package/dist/icons/grid-2x2-check.svelte.d.ts +3 -3
- package/dist/icons/index.js +73 -17
- package/dist/icons/link-2-off.svelte.d.ts +3 -3
- package/dist/icons/maximize-2.svelte.d.ts +3 -3
- package/dist/icons/minimize-2.svelte.d.ts +3 -3
- package/dist/icons/mouse-pointer-2.svelte.d.ts +3 -3
- package/dist/icons/move-diagonal-2.svelte.d.ts +3 -3
- package/dist/icons/navigation-2-off.svelte.d.ts +3 -3
- package/dist/icons/paperclip.svelte +81 -0
- package/dist/icons/paperclip.svelte.d.ts +19 -0
- package/dist/icons/sliders-horizontal.svelte +185 -0
- package/dist/icons/sliders-horizontal.svelte.d.ts +19 -0
- package/dist/icons/sliders-vertical.svelte +185 -0
- package/dist/icons/sliders-vertical.svelte.d.ts +19 -0
- package/dist/icons/{align-center.svelte → text-align-center.svelte} +1 -1
- package/dist/icons/text-align-center.svelte.d.ts +19 -0
- package/dist/icons/trash-2.svelte.d.ts +3 -3
- package/dist/index.d.ts +11 -3
- package/dist/index.js +11 -3
- package/dist/utils/icons.js +4 -2
- package/package.json +20 -9
|
@@ -26,7 +26,12 @@
|
|
|
26
26
|
}
|
|
27
27
|
</script>
|
|
28
28
|
|
|
29
|
-
<div
|
|
29
|
+
<div
|
|
30
|
+
class={className}
|
|
31
|
+
aria-label="file-exclamation-point"
|
|
32
|
+
role="img"
|
|
33
|
+
onmouseenter={handleMouseEnter}
|
|
34
|
+
>
|
|
30
35
|
<svg
|
|
31
36
|
xmlns="http://www.w3.org/2000/svg"
|
|
32
37
|
width={size}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export default FileExclamationPoint;
|
|
2
|
+
type FileExclamationPoint = {
|
|
3
|
+
$on?(type: string, callback: (e: any) => void): () => void;
|
|
4
|
+
$set?(props: Partial<Props>): void;
|
|
5
|
+
};
|
|
6
|
+
declare const FileExclamationPoint: 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
|
+
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export default
|
|
2
|
-
type
|
|
1
|
+
export default Grid2x2Check;
|
|
2
|
+
type Grid2x2Check = {
|
|
3
3
|
$on?(type: string, callback: (e: any) => void): () => void;
|
|
4
4
|
$set?(props: Partial<Props>): void;
|
|
5
5
|
};
|
|
6
|
-
declare const
|
|
6
|
+
declare const Grid2x2Check: import("svelte").Component<{
|
|
7
7
|
color?: string;
|
|
8
8
|
size?: number;
|
|
9
9
|
strokeWidth?: number;
|
package/dist/icons/index.js
CHANGED
|
@@ -2,7 +2,6 @@ import activity from './activity.svelte';
|
|
|
2
2
|
import alarmClock from './alarm-clock.svelte';
|
|
3
3
|
import alarmClockCheck from './alarm-clock-check.svelte';
|
|
4
4
|
import alarmClockOff from './alarm-clock-off.svelte';
|
|
5
|
-
import alignCenter from './align-center.svelte';
|
|
6
5
|
import alignHorizontalSpaceAround from './align-horizontal-space-around.svelte';
|
|
7
6
|
import alignVerticalSpaceAround from './align-vertical-space-around.svelte';
|
|
8
7
|
import anvil from './anvil.svelte';
|
|
@@ -70,8 +69,12 @@ import bookHeart from './book-heart.svelte';
|
|
|
70
69
|
import bookImage from './book-image.svelte';
|
|
71
70
|
import bookKey from './book-key.svelte';
|
|
72
71
|
import bookLock from './book-lock.svelte';
|
|
72
|
+
import bookmark from './bookmark.svelte';
|
|
73
73
|
import bookmarkCheck from './bookmark-check.svelte';
|
|
74
74
|
import bookMarked from './book-marked.svelte';
|
|
75
|
+
import bookmarkMinus from './bookmark-minus.svelte';
|
|
76
|
+
import bookmarkPlus from './bookmark-plus.svelte';
|
|
77
|
+
import bookmarkX from './bookmark-x.svelte';
|
|
75
78
|
import bookMinus from './book-minus.svelte';
|
|
76
79
|
import bookOpenCheck from './book-open-check.svelte';
|
|
77
80
|
import bookPlus from './book-plus.svelte';
|
|
@@ -81,6 +84,7 @@ import bookUp from './book-up.svelte';
|
|
|
81
84
|
import bookUp2 from './book-up-2.svelte';
|
|
82
85
|
import bookUser from './book-user.svelte';
|
|
83
86
|
import bookX from './book-x.svelte';
|
|
87
|
+
import bot from './bot.svelte';
|
|
84
88
|
import botOff from './bot-off.svelte';
|
|
85
89
|
import boxes from './boxes.svelte';
|
|
86
90
|
import brainCog from './brain-cog.svelte';
|
|
@@ -203,9 +207,10 @@ import fileChartColumn from './file-chart-column.svelte';
|
|
|
203
207
|
import fileChartColumnIncreasing from './file-chart-column-increasing.svelte';
|
|
204
208
|
import fileChartLine from './file-chart-line.svelte';
|
|
205
209
|
import fileCheck from './file-check.svelte';
|
|
206
|
-
import
|
|
210
|
+
import fileCheckCorner from './file-check-corner.svelte';
|
|
207
211
|
import fileCog from './file-cog.svelte';
|
|
208
212
|
import fileDown from './file-down.svelte';
|
|
213
|
+
import fileExclamationPoint from './file-exclamation-point.svelte';
|
|
209
214
|
import fileMinus from './file-minus.svelte';
|
|
210
215
|
import filePen from './file-pen.svelte';
|
|
211
216
|
import filePenLine from './file-pen-line.svelte';
|
|
@@ -214,7 +219,6 @@ import fileQuestionMark from './file-question-mark.svelte';
|
|
|
214
219
|
import fileStack from './file-stack.svelte';
|
|
215
220
|
import fileTerminal from './file-terminal.svelte';
|
|
216
221
|
import fileUp from './file-up.svelte';
|
|
217
|
-
import fileWarning from './file-warning.svelte';
|
|
218
222
|
import fishOff from './fish-off.svelte';
|
|
219
223
|
import flagOff from './flag-off.svelte';
|
|
220
224
|
import flashlightOff from './flashlight-off.svelte';
|
|
@@ -333,6 +337,7 @@ import panelRightClose from './panel-right-close.svelte';
|
|
|
333
337
|
import panelRightOpen from './panel-right-open.svelte';
|
|
334
338
|
import panelTopClose from './panel-top-close.svelte';
|
|
335
339
|
import panelTopOpen from './panel-top-open.svelte';
|
|
340
|
+
import paperclip from './paperclip.svelte';
|
|
336
341
|
import pen from './pen.svelte';
|
|
337
342
|
import pencil from './pencil.svelte';
|
|
338
343
|
import pencilLine from './pencil-line.svelte';
|
|
@@ -394,6 +399,8 @@ import signalLow from './signal-low.svelte';
|
|
|
394
399
|
import signalMedium from './signal-medium.svelte';
|
|
395
400
|
import signalZero from './signal-zero.svelte';
|
|
396
401
|
import signature from './signature.svelte';
|
|
402
|
+
import slidersHorizontal from './sliders-horizontal.svelte';
|
|
403
|
+
import slidersVertical from './sliders-vertical.svelte';
|
|
397
404
|
import smartphoneNfc from './smartphone-nfc.svelte';
|
|
398
405
|
import snowflake from './snowflake.svelte';
|
|
399
406
|
import speech from './speech.svelte';
|
|
@@ -432,6 +439,7 @@ import sword from './sword.svelte';
|
|
|
432
439
|
import tag from './tag.svelte';
|
|
433
440
|
import telescope from './telescope.svelte';
|
|
434
441
|
import terminal from './terminal.svelte';
|
|
442
|
+
import textAlignCenter from './text-align-center.svelte';
|
|
435
443
|
import textCursor from './text-cursor.svelte';
|
|
436
444
|
import textCursorInput from './text-cursor-input.svelte';
|
|
437
445
|
import textSearch from './text-search.svelte';
|
|
@@ -536,12 +544,6 @@ let ICONS_LIST = [
|
|
|
536
544
|
tags: ['morning', 'turn-off'],
|
|
537
545
|
categories: ['devices', 'notifications', 'time']
|
|
538
546
|
},
|
|
539
|
-
{
|
|
540
|
-
name: 'align-center',
|
|
541
|
-
icon: alignCenter,
|
|
542
|
-
tags: ['text', 'alignment', 'center'],
|
|
543
|
-
categories: ['text']
|
|
544
|
-
},
|
|
545
547
|
{
|
|
546
548
|
name: 'align-horizontal-space-around',
|
|
547
549
|
icon: alignHorizontalSpaceAround,
|
|
@@ -1740,12 +1742,42 @@ let ICONS_LIST = [
|
|
|
1740
1742
|
],
|
|
1741
1743
|
categories: ['text', 'gaming']
|
|
1742
1744
|
},
|
|
1745
|
+
{
|
|
1746
|
+
name: 'bookmark',
|
|
1747
|
+
icon: bookmark,
|
|
1748
|
+
tags: ['read', 'clip', 'marker', 'tag'],
|
|
1749
|
+
categories: ['account']
|
|
1750
|
+
},
|
|
1743
1751
|
{
|
|
1744
1752
|
name: 'bookmark-check',
|
|
1745
1753
|
icon: bookmarkCheck,
|
|
1746
1754
|
tags: ['read', 'finished', 'complete', 'clip', 'marker', 'tag', 'task', 'todo'],
|
|
1747
1755
|
categories: ['account']
|
|
1748
1756
|
},
|
|
1757
|
+
{
|
|
1758
|
+
name: 'bookmark-minus',
|
|
1759
|
+
icon: bookmarkMinus,
|
|
1760
|
+
tags: ['delete', 'remove'],
|
|
1761
|
+
categories: ['account']
|
|
1762
|
+
},
|
|
1763
|
+
{
|
|
1764
|
+
name: 'bookmark-plus',
|
|
1765
|
+
icon: bookmarkPlus,
|
|
1766
|
+
tags: ['add'],
|
|
1767
|
+
categories: ['account']
|
|
1768
|
+
},
|
|
1769
|
+
{
|
|
1770
|
+
name: 'bookmark-x',
|
|
1771
|
+
icon: bookmarkX,
|
|
1772
|
+
tags: ['read', 'clip', 'marker', 'tag', 'cancel', 'close', 'delete', 'remove', 'clear'],
|
|
1773
|
+
categories: ['account']
|
|
1774
|
+
},
|
|
1775
|
+
{
|
|
1776
|
+
name: 'bot',
|
|
1777
|
+
icon: bot,
|
|
1778
|
+
tags: ['robot', 'ai', 'chat', 'assistant'],
|
|
1779
|
+
categories: ['development', 'social']
|
|
1780
|
+
},
|
|
1749
1781
|
{
|
|
1750
1782
|
name: 'bot-off',
|
|
1751
1783
|
icon: botOff,
|
|
@@ -2787,8 +2819,8 @@ let ICONS_LIST = [
|
|
|
2787
2819
|
categories: ['files']
|
|
2788
2820
|
},
|
|
2789
2821
|
{
|
|
2790
|
-
name: 'file-check-
|
|
2791
|
-
icon:
|
|
2822
|
+
name: 'file-check-corner',
|
|
2823
|
+
icon: fileCheckCorner,
|
|
2792
2824
|
tags: ['done', 'document', 'todo', 'tick', 'complete', 'task'],
|
|
2793
2825
|
categories: ['files']
|
|
2794
2826
|
},
|
|
@@ -2804,6 +2836,12 @@ let ICONS_LIST = [
|
|
|
2804
2836
|
tags: ['download', 'import', 'export'],
|
|
2805
2837
|
categories: ['files', 'arrows']
|
|
2806
2838
|
},
|
|
2839
|
+
{
|
|
2840
|
+
name: 'file-exclamation-point',
|
|
2841
|
+
icon: fileExclamationPoint,
|
|
2842
|
+
tags: ['hidden', 'warning', 'alert', 'danger', 'protected', 'exclamation mark'],
|
|
2843
|
+
categories: ['files', 'notifications']
|
|
2844
|
+
},
|
|
2807
2845
|
{
|
|
2808
2846
|
name: 'file-minus',
|
|
2809
2847
|
icon: fileMinus,
|
|
@@ -2852,12 +2890,6 @@ let ICONS_LIST = [
|
|
|
2852
2890
|
tags: ['upload', 'import', 'export'],
|
|
2853
2891
|
categories: ['files', 'arrows']
|
|
2854
2892
|
},
|
|
2855
|
-
{
|
|
2856
|
-
name: 'file-warning',
|
|
2857
|
-
icon: fileWarning,
|
|
2858
|
-
tags: ['hidden', 'warning', 'alert', 'danger', 'protected', 'exclamation mark'],
|
|
2859
|
-
categories: ['files', 'notifications']
|
|
2860
|
-
},
|
|
2861
2893
|
{
|
|
2862
2894
|
name: 'fish-off',
|
|
2863
2895
|
icon: fishOff,
|
|
@@ -3919,6 +3951,12 @@ let ICONS_LIST = [
|
|
|
3919
3951
|
tags: ['menu bar', 'drawer', 'show', 'reveal', 'chevron', 'down'],
|
|
3920
3952
|
categories: ['layout', 'arrows']
|
|
3921
3953
|
},
|
|
3954
|
+
{
|
|
3955
|
+
name: 'paperclip',
|
|
3956
|
+
icon: paperclip,
|
|
3957
|
+
tags: ['attachment', 'file'],
|
|
3958
|
+
categories: ['text', 'design', 'files', 'mail']
|
|
3959
|
+
},
|
|
3922
3960
|
{
|
|
3923
3961
|
name: 'pen',
|
|
3924
3962
|
icon: pen,
|
|
@@ -4822,6 +4860,18 @@ let ICONS_LIST = [
|
|
|
4822
4860
|
],
|
|
4823
4861
|
categories: ['text']
|
|
4824
4862
|
},
|
|
4863
|
+
{
|
|
4864
|
+
name: 'sliders-horizontal',
|
|
4865
|
+
icon: slidersHorizontal,
|
|
4866
|
+
tags: ['settings', 'filters', 'controls'],
|
|
4867
|
+
categories: ['account']
|
|
4868
|
+
},
|
|
4869
|
+
{
|
|
4870
|
+
name: 'sliders-vertical',
|
|
4871
|
+
icon: slidersVertical,
|
|
4872
|
+
tags: ['settings', 'controls'],
|
|
4873
|
+
categories: ['account']
|
|
4874
|
+
},
|
|
4825
4875
|
{
|
|
4826
4876
|
name: 'smartphone-nfc',
|
|
4827
4877
|
icon: smartphoneNfc,
|
|
@@ -5202,6 +5252,12 @@ let ICONS_LIST = [
|
|
|
5202
5252
|
tags: ['code', 'command line', 'prompt', 'shell'],
|
|
5203
5253
|
categories: ['development']
|
|
5204
5254
|
},
|
|
5255
|
+
{
|
|
5256
|
+
name: 'text-align-center',
|
|
5257
|
+
icon: textAlignCenter,
|
|
5258
|
+
tags: ['text', 'alignment', 'center'],
|
|
5259
|
+
categories: ['text']
|
|
5260
|
+
},
|
|
5205
5261
|
{
|
|
5206
5262
|
name: 'text-cursor',
|
|
5207
5263
|
icon: textCursor,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export default
|
|
2
|
-
type
|
|
1
|
+
export default Link2Off;
|
|
2
|
+
type Link2Off = {
|
|
3
3
|
$on?(type: string, callback: (e: any) => void): () => void;
|
|
4
4
|
$set?(props: Partial<Props>): void;
|
|
5
5
|
};
|
|
6
|
-
declare const
|
|
6
|
+
declare const Link2Off: import("svelte").Component<{
|
|
7
7
|
color?: string;
|
|
8
8
|
size?: number;
|
|
9
9
|
strokeWidth?: number;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export default
|
|
2
|
-
type
|
|
1
|
+
export default Maximize2;
|
|
2
|
+
type Maximize2 = {
|
|
3
3
|
$on?(type: string, callback: (e: any) => void): () => void;
|
|
4
4
|
$set?(props: Partial<Props>): void;
|
|
5
5
|
};
|
|
6
|
-
declare const
|
|
6
|
+
declare const Maximize2: import("svelte").Component<{
|
|
7
7
|
color?: string;
|
|
8
8
|
size?: number;
|
|
9
9
|
strokeWidth?: number;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export default
|
|
2
|
-
type
|
|
1
|
+
export default Minimize2;
|
|
2
|
+
type Minimize2 = {
|
|
3
3
|
$on?(type: string, callback: (e: any) => void): () => void;
|
|
4
4
|
$set?(props: Partial<Props>): void;
|
|
5
5
|
};
|
|
6
|
-
declare const
|
|
6
|
+
declare const Minimize2: import("svelte").Component<{
|
|
7
7
|
color?: string;
|
|
8
8
|
size?: number;
|
|
9
9
|
strokeWidth?: number;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export default
|
|
2
|
-
type
|
|
1
|
+
export default MousePointer2;
|
|
2
|
+
type MousePointer2 = {
|
|
3
3
|
$on?(type: string, callback: (e: any) => void): () => void;
|
|
4
4
|
$set?(props: Partial<Props>): void;
|
|
5
5
|
};
|
|
6
|
-
declare const
|
|
6
|
+
declare const MousePointer2: import("svelte").Component<{
|
|
7
7
|
color?: string;
|
|
8
8
|
size?: number;
|
|
9
9
|
strokeWidth?: number;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export default
|
|
2
|
-
type
|
|
1
|
+
export default MoveDiagonal2;
|
|
2
|
+
type MoveDiagonal2 = {
|
|
3
3
|
$on?(type: string, callback: (e: any) => void): () => void;
|
|
4
4
|
$set?(props: Partial<Props>): void;
|
|
5
5
|
};
|
|
6
|
-
declare const
|
|
6
|
+
declare const MoveDiagonal2: import("svelte").Component<{
|
|
7
7
|
color?: string;
|
|
8
8
|
size?: number;
|
|
9
9
|
strokeWidth?: number;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export default
|
|
2
|
-
type
|
|
1
|
+
export default Navigation2Off;
|
|
2
|
+
type Navigation2Off = {
|
|
3
3
|
$on?(type: string, callback: (e: any) => void): () => void;
|
|
4
4
|
$set?(props: Partial<Props>): void;
|
|
5
5
|
};
|
|
6
|
-
declare const
|
|
6
|
+
declare const Navigation2Off: import("svelte").Component<{
|
|
7
7
|
color?: string;
|
|
8
8
|
size?: number;
|
|
9
9
|
strokeWidth?: number;
|
|
@@ -0,0 +1,81 @@
|
|
|
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="paperclip" 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="paperclip-icon"
|
|
41
|
+
class:animate={isHovered}
|
|
42
|
+
>
|
|
43
|
+
<path
|
|
44
|
+
d="m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551"
|
|
45
|
+
class="paperclip-path"
|
|
46
|
+
/>
|
|
47
|
+
</svg>
|
|
48
|
+
</div>
|
|
49
|
+
|
|
50
|
+
<style>
|
|
51
|
+
div {
|
|
52
|
+
display: inline-block;
|
|
53
|
+
}
|
|
54
|
+
.paperclip-icon {
|
|
55
|
+
overflow: visible;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.paperclip-path {
|
|
59
|
+
stroke-dasharray: 87;
|
|
60
|
+
stroke-dashoffset: 0;
|
|
61
|
+
transition:
|
|
62
|
+
stroke-dashoffset 0.6s ease-in,
|
|
63
|
+
opacity 0.1s ease-in;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.paperclip-icon.animate .paperclip-path {
|
|
67
|
+
animation: drawPath 0.6s ease-in forwards;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
@keyframes drawPath {
|
|
71
|
+
0% {
|
|
72
|
+
stroke-dashoffset: 87;
|
|
73
|
+
}
|
|
74
|
+
15% {
|
|
75
|
+
stroke-dashoffset: 87;
|
|
76
|
+
}
|
|
77
|
+
100% {
|
|
78
|
+
stroke-dashoffset: 174;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
</style>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export default Paperclip;
|
|
2
|
+
type Paperclip = {
|
|
3
|
+
$on?(type: string, callback: (e: any) => void): () => void;
|
|
4
|
+
$set?(props: Partial<Props>): void;
|
|
5
|
+
};
|
|
6
|
+
declare const Paperclip: 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,185 @@
|
|
|
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 = 28,
|
|
15
|
+
strokeWidth = 2,
|
|
16
|
+
isHovered = false,
|
|
17
|
+
class: className = ''
|
|
18
|
+
} = $props();
|
|
19
|
+
|
|
20
|
+
// Group 1 coordinates
|
|
21
|
+
let line1a_x2 = $state(14);
|
|
22
|
+
let line1b_x1 = $state(10);
|
|
23
|
+
let line1c_x1 = $state(14);
|
|
24
|
+
let line1c_x2 = $state(14);
|
|
25
|
+
|
|
26
|
+
// Group 2 coordinates
|
|
27
|
+
let line2a_x2 = $state(12);
|
|
28
|
+
let line2b_x1 = $state(8);
|
|
29
|
+
let line2c_x1 = $state(8);
|
|
30
|
+
let line2c_x2 = $state(8);
|
|
31
|
+
|
|
32
|
+
// Group 3 coordinates
|
|
33
|
+
let line3a_x2 = $state(12);
|
|
34
|
+
let line3b_x1 = $state(16);
|
|
35
|
+
let line3c_x1 = $state(16);
|
|
36
|
+
let line3c_x2 = $state(16);
|
|
37
|
+
|
|
38
|
+
function animateValue(start, end, duration, callback) {
|
|
39
|
+
return new Promise((resolve) => {
|
|
40
|
+
const startTime = performance.now();
|
|
41
|
+
const animate = (currentTime) => {
|
|
42
|
+
const elapsed = currentTime - startTime;
|
|
43
|
+
const progress = Math.min(elapsed / duration, 1);
|
|
44
|
+
|
|
45
|
+
// Spring-like easing: cubic-bezier(0.34, 1.56, 0.64, 1)
|
|
46
|
+
const eased =
|
|
47
|
+
progress < 0.5
|
|
48
|
+
? 4 * progress * progress * progress
|
|
49
|
+
: 1 - Math.pow(-2 * progress + 2, 3) / 2;
|
|
50
|
+
|
|
51
|
+
const current = start + (end - start) * eased;
|
|
52
|
+
callback(current);
|
|
53
|
+
|
|
54
|
+
if (progress < 1) {
|
|
55
|
+
requestAnimationFrame(animate);
|
|
56
|
+
} else {
|
|
57
|
+
resolve();
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
requestAnimationFrame(animate);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function handleMouseEnter() {
|
|
65
|
+
isHovered = true;
|
|
66
|
+
|
|
67
|
+
// Animate all values simultaneously
|
|
68
|
+
Promise.all([
|
|
69
|
+
animateValue(14, 10, 400, (val) => {
|
|
70
|
+
line1a_x2 = val;
|
|
71
|
+
}),
|
|
72
|
+
animateValue(10, 5, 400, (val) => {
|
|
73
|
+
line1b_x1 = val;
|
|
74
|
+
}),
|
|
75
|
+
animateValue(14, 9, 400, (val) => {
|
|
76
|
+
line1c_x1 = val;
|
|
77
|
+
line1c_x2 = val;
|
|
78
|
+
}),
|
|
79
|
+
animateValue(12, 18, 400, (val) => {
|
|
80
|
+
line2a_x2 = val;
|
|
81
|
+
}),
|
|
82
|
+
animateValue(8, 13, 400, (val) => {
|
|
83
|
+
line2b_x1 = val;
|
|
84
|
+
}),
|
|
85
|
+
animateValue(8, 14, 400, (val) => {
|
|
86
|
+
line2c_x1 = val;
|
|
87
|
+
line2c_x2 = val;
|
|
88
|
+
}),
|
|
89
|
+
animateValue(12, 4, 400, (val) => {
|
|
90
|
+
line3a_x2 = val;
|
|
91
|
+
}),
|
|
92
|
+
animateValue(16, 8, 400, (val) => {
|
|
93
|
+
line3b_x1 = val;
|
|
94
|
+
}),
|
|
95
|
+
animateValue(16, 8, 400, (val) => {
|
|
96
|
+
line3c_x1 = val;
|
|
97
|
+
line3c_x2 = val;
|
|
98
|
+
})
|
|
99
|
+
]);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
function handleMouseLeave() {
|
|
103
|
+
isHovered = false;
|
|
104
|
+
|
|
105
|
+
// Reset all values to normal
|
|
106
|
+
Promise.all([
|
|
107
|
+
animateValue(line1a_x2, 14, 400, (val) => {
|
|
108
|
+
line1a_x2 = val;
|
|
109
|
+
}),
|
|
110
|
+
animateValue(line1b_x1, 10, 400, (val) => {
|
|
111
|
+
line1b_x1 = val;
|
|
112
|
+
}),
|
|
113
|
+
animateValue(line1c_x1, 14, 400, (val) => {
|
|
114
|
+
line1c_x1 = val;
|
|
115
|
+
line1c_x2 = val;
|
|
116
|
+
}),
|
|
117
|
+
animateValue(line2a_x2, 12, 400, (val) => {
|
|
118
|
+
line2a_x2 = val;
|
|
119
|
+
}),
|
|
120
|
+
animateValue(line2b_x1, 8, 400, (val) => {
|
|
121
|
+
line2b_x1 = val;
|
|
122
|
+
}),
|
|
123
|
+
animateValue(line2c_x1, 8, 400, (val) => {
|
|
124
|
+
line2c_x1 = val;
|
|
125
|
+
line2c_x2 = val;
|
|
126
|
+
}),
|
|
127
|
+
animateValue(line3a_x2, 12, 400, (val) => {
|
|
128
|
+
line3a_x2 = val;
|
|
129
|
+
}),
|
|
130
|
+
animateValue(line3b_x1, 16, 400, (val) => {
|
|
131
|
+
line3b_x1 = val;
|
|
132
|
+
}),
|
|
133
|
+
animateValue(line3c_x1, 16, 400, (val) => {
|
|
134
|
+
line3c_x1 = val;
|
|
135
|
+
line3c_x2 = val;
|
|
136
|
+
})
|
|
137
|
+
]);
|
|
138
|
+
}
|
|
139
|
+
</script>
|
|
140
|
+
|
|
141
|
+
<div
|
|
142
|
+
class={className}
|
|
143
|
+
aria-label="sliders-horizontal"
|
|
144
|
+
role="img"
|
|
145
|
+
onmouseenter={handleMouseEnter}
|
|
146
|
+
onmouseleave={handleMouseLeave}
|
|
147
|
+
>
|
|
148
|
+
<svg
|
|
149
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
150
|
+
width={size}
|
|
151
|
+
height={size}
|
|
152
|
+
viewBox="0 0 24 24"
|
|
153
|
+
fill="none"
|
|
154
|
+
stroke={color}
|
|
155
|
+
stroke-width={strokeWidth}
|
|
156
|
+
stroke-linecap="round"
|
|
157
|
+
stroke-linejoin="round"
|
|
158
|
+
class="sliders-icon"
|
|
159
|
+
>
|
|
160
|
+
<!-- Group 1 -->
|
|
161
|
+
<line x1="21" x2={line1a_x2} y1="4" y2="4" />
|
|
162
|
+
<line x1={line1b_x1} x2="3" y1="4" y2="4" />
|
|
163
|
+
<line x1={line1c_x1} x2={line1c_x2} y1="2" y2="6" />
|
|
164
|
+
|
|
165
|
+
<!-- Group 2 -->
|
|
166
|
+
<line x1="21" x2={line2a_x2} y1="12" y2="12" />
|
|
167
|
+
<line x1={line2b_x1} x2="3" y1="12" y2="12" />
|
|
168
|
+
<line x1={line2c_x1} x2={line2c_x2} y1="10" y2="14" />
|
|
169
|
+
|
|
170
|
+
<!-- Group 3 -->
|
|
171
|
+
<line x1="3" x2={line3a_x2} y1="20" y2="20" />
|
|
172
|
+
<line x1={line3b_x1} x2="21" y1="20" y2="20" />
|
|
173
|
+
<line x1={line3c_x1} x2={line3c_x2} y1="18" y2="22" />
|
|
174
|
+
</svg>
|
|
175
|
+
</div>
|
|
176
|
+
|
|
177
|
+
<style>
|
|
178
|
+
div {
|
|
179
|
+
display: inline-block;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.sliders-icon {
|
|
183
|
+
overflow: visible;
|
|
184
|
+
}
|
|
185
|
+
</style>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export default SlidersHorizontal;
|
|
2
|
+
type SlidersHorizontal = {
|
|
3
|
+
$on?(type: string, callback: (e: any) => void): () => void;
|
|
4
|
+
$set?(props: Partial<Props>): void;
|
|
5
|
+
};
|
|
6
|
+
declare const SlidersHorizontal: 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
|
+
};
|