@jis3r/icons 1.15.0 → 1.16.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,132 @@
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) {
22
+ isHovered = true;
23
+ setTimeout(() => {
24
+ isHovered = false;
25
+ }, 1400);
26
+ }
27
+ }
28
+ </script>
29
+
30
+ <div class={className} aria-label="accessibility" 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="accessibility-icon"
42
+ class:animate={isHovered}
43
+ >
44
+ <circle cx="16" cy="4" r="1" class="accessibility-circle" />
45
+ <g class="accessibility-group1">
46
+ <path d="M18,19l1-7-6,1" />
47
+ <path d="M8,5l5.5,3-2.4,3.5" />
48
+ <path d="M8 5 L5 8" class="accessibility-path3" />
49
+ </g>
50
+ <g class="accessibility-group2">
51
+ <path d="M4.2,14.5c-.8,2.6.7,5.4,3.3,6.2,1.2.4,2.4.3,3.6-.2" />
52
+ <path d="M13.8,17.5c.8-2.6-.7-5.4-3.3-6.2-1.2-.4-2.4-.3-3.6.2" />
53
+ </g>
54
+ <path d="M13,13.1c-.5-.7-1.1-1.2-1.9-1.6" />
55
+ </svg>
56
+ </div>
57
+
58
+ <style>
59
+ div {
60
+ display: inline-block;
61
+ }
62
+ .accessibility-icon {
63
+ overflow: visible;
64
+ }
65
+
66
+ .accessibility-circle {
67
+ transition: transform 0.3s ease;
68
+ }
69
+
70
+ .accessibility-group1 {
71
+ transform-origin: center;
72
+ transition: transform 0.3s ease;
73
+ }
74
+
75
+ .accessibility-group2 {
76
+ transform-origin: 9px 16px;
77
+ transition: transform 0.3s ease;
78
+ }
79
+
80
+ .accessibility-path3 {
81
+ transform-origin: 8px 5px;
82
+ transition: transform 0.3s ease;
83
+ }
84
+
85
+ .accessibility-icon.animate .accessibility-group1 {
86
+ animation: group1Rotate 0.8s ease-in-out;
87
+ }
88
+
89
+ .accessibility-icon.animate .accessibility-group2 {
90
+ animation: group2Rotate 1s ease-in-out 0.4s;
91
+ }
92
+
93
+ .accessibility-icon.animate .accessibility-path3 {
94
+ animation: path3Rotate 0.4s ease-in-out 0.2s;
95
+ }
96
+
97
+ @keyframes group1Rotate {
98
+ 0% {
99
+ transform: rotate(0deg);
100
+ }
101
+ 25% {
102
+ transform: rotate(5deg);
103
+ }
104
+ 50% {
105
+ transform: rotate(-5deg);
106
+ }
107
+ 100% {
108
+ transform: rotate(0deg);
109
+ }
110
+ }
111
+
112
+ @keyframes group2Rotate {
113
+ 0% {
114
+ transform: rotate(0deg);
115
+ }
116
+ 100% {
117
+ transform: rotate(360deg);
118
+ }
119
+ }
120
+
121
+ @keyframes path3Rotate {
122
+ 0% {
123
+ transform: rotate(0deg);
124
+ }
125
+ 50% {
126
+ transform: rotate(-60deg);
127
+ }
128
+ 100% {
129
+ transform: rotate(0deg);
130
+ }
131
+ }
132
+ </style>
@@ -0,0 +1,19 @@
1
+ export default Accessibility;
2
+ type Accessibility = {
3
+ $on?(type: string, callback: (e: any) => void): () => void;
4
+ $set?(props: Partial<Props>): void;
5
+ };
6
+ declare const Accessibility: 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,3 +1,4 @@
1
+ import accessibility from './accessibility.svelte';
1
2
  import activity from './activity.svelte';
2
3
  import airplay from './airplay.svelte';
3
4
  import alarmClock from './alarm-clock.svelte';
@@ -501,6 +502,12 @@ import x from './x.svelte';
501
502
  import zapOff from './zap-off.svelte';
502
503
 
503
504
  let ICONS_LIST = [
505
+ {
506
+ name: 'accessibility',
507
+ icon: accessibility,
508
+ tags: ['disability', 'disabled', 'dda', 'wheelchair'],
509
+ categories: ['accessibility', 'medical']
510
+ },
504
511
  {
505
512
  name: 'activity',
506
513
  icon: activity,
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export { default as Accessibility } from "./icons/accessibility.svelte";
1
2
  export { default as Activity } from "./icons/activity.svelte";
2
3
  export { default as Airplay } from "./icons/airplay.svelte";
3
4
  export { default as AlarmClockCheck } from "./icons/alarm-clock-check.svelte";
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ export { default as Accessibility } from './icons/accessibility.svelte';
1
2
  export { default as Activity } from './icons/activity.svelte';
2
3
  export { default as Airplay } from './icons/airplay.svelte';
3
4
  export { default as AlarmClockCheck } from './icons/alarm-clock-check.svelte';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jis3r/icons",
3
- "version": "1.15.0",
3
+ "version": "1.16.0",
4
4
  "description": "beautifully crafted, moving icons. for svelte.",
5
5
  "keywords": [
6
6
  "svelte",