@jis3r/icons 1.17.0 → 1.18.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,98 @@
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
+ let hovered = $state(false);
21
+
22
+ function handleMouseEnter() {
23
+ hovered = true;
24
+ }
25
+
26
+ function handleMouseLeave() {
27
+ hovered = false;
28
+ }
29
+ </script>
30
+
31
+ <div
32
+ class={className}
33
+ aria-label="binary"
34
+ role="img"
35
+ onmouseenter={handleMouseEnter}
36
+ onmouseleave={handleMouseLeave}
37
+ >
38
+ <svg
39
+ xmlns="http://www.w3.org/2000/svg"
40
+ width={size}
41
+ height={size}
42
+ viewBox="0 0 24 24"
43
+ fill="none"
44
+ stroke={color}
45
+ stroke-width={strokeWidth}
46
+ stroke-linecap="round"
47
+ stroke-linejoin="round"
48
+ class="binary-icon"
49
+ class:animate={hovered}
50
+ >
51
+ <rect x={14} y={14} width={4} height={6} rx={2} class="binary-rect1" />
52
+ <rect x={6} y={4} width={4} height={6} rx={2} class="binary-rect2" />
53
+ <path d="M6 20h4 M6 14h2v6" class="binary-path1" />
54
+ <path d="M14 4h2v6 M14 10h4" class="binary-path2" />
55
+ </svg>
56
+ </div>
57
+
58
+ <style>
59
+ div {
60
+ display: inline-block;
61
+ }
62
+ .binary-icon {
63
+ overflow: visible;
64
+ }
65
+
66
+ .binary-rect1,
67
+ .binary-rect2,
68
+ .binary-path1,
69
+ .binary-path2 {
70
+ --duration: 0.25s;
71
+ --timing: cubic-bezier(0.34, 1.56, 0.64, 1);
72
+ transition: transform var(--duration) var(--timing);
73
+ }
74
+
75
+ .binary-icon.animate .binary-rect1,
76
+ .binary-icon.animate .binary-rect2,
77
+ .binary-icon.animate .binary-path1,
78
+ .binary-icon.animate .binary-path2 {
79
+ --duration: 0.4s;
80
+ --timing: ease-in-out;
81
+ }
82
+
83
+ .binary-icon.animate .binary-rect1 {
84
+ transform: translateX(-8px);
85
+ }
86
+
87
+ .binary-icon.animate .binary-rect2 {
88
+ transform: translateX(8px);
89
+ }
90
+
91
+ .binary-icon.animate .binary-path1 {
92
+ transform: translateY(-10px);
93
+ }
94
+
95
+ .binary-icon.animate .binary-path2 {
96
+ transform: translateY(10px);
97
+ }
98
+ </style>
@@ -0,0 +1,19 @@
1
+ export default Binary;
2
+ type Binary = {
3
+ $on?(type: string, callback: (e: any) => void): () => void;
4
+ $set?(props: Partial<Props>): void;
5
+ };
6
+ declare const Binary: 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
+ };
@@ -55,6 +55,7 @@ import betweenHorizontalEnd from './between-horizontal-end.svelte';
55
55
  import betweenHorizontalStart from './between-horizontal-start.svelte';
56
56
  import betweenVerticalEnd from './between-vertical-end.svelte';
57
57
  import betweenVerticalStart from './between-vertical-start.svelte';
58
+ import binary from './binary.svelte';
58
59
  import blend from './blend.svelte';
59
60
  import blocks from './blocks.svelte';
60
61
  import bluetoothOff from './bluetooth-off.svelte';
@@ -1118,6 +1119,12 @@ let ICONS_LIST = [
1118
1119
  ],
1119
1120
  categories: ['layout', 'design', 'tools']
1120
1121
  },
1122
+ {
1123
+ name: 'binary',
1124
+ icon: binary,
1125
+ tags: ['code', 'digits', 'computer', 'zero', 'one', 'boolean'],
1126
+ categories: ['text', 'development']
1127
+ },
1121
1128
  {
1122
1129
  name: 'blend',
1123
1130
  icon: blend,
package/dist/index.d.ts CHANGED
@@ -55,6 +55,7 @@ export { default as BetweenHorizontalEnd } from "./icons/between-horizontal-end.
55
55
  export { default as BetweenHorizontalStart } from "./icons/between-horizontal-start.svelte";
56
56
  export { default as BetweenVerticalEnd } from "./icons/between-vertical-end.svelte";
57
57
  export { default as BetweenVerticalStart } from "./icons/between-vertical-start.svelte";
58
+ export { default as Binary } from "./icons/binary.svelte";
58
59
  export { default as Blend } from "./icons/blend.svelte";
59
60
  export { default as Blocks } from "./icons/blocks.svelte";
60
61
  export { default as BluetoothOff } from "./icons/bluetooth-off.svelte";
package/dist/index.js CHANGED
@@ -55,6 +55,7 @@ export { default as BetweenHorizontalEnd } from './icons/between-horizontal-end.
55
55
  export { default as BetweenHorizontalStart } from './icons/between-horizontal-start.svelte';
56
56
  export { default as BetweenVerticalEnd } from './icons/between-vertical-end.svelte';
57
57
  export { default as BetweenVerticalStart } from './icons/between-vertical-start.svelte';
58
+ export { default as Binary } from './icons/binary.svelte';
58
59
  export { default as Blend } from './icons/blend.svelte';
59
60
  export { default as Blocks } from './icons/blocks.svelte';
60
61
  export { default as BluetoothOff } from './icons/bluetooth-off.svelte';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jis3r/icons",
3
- "version": "1.17.0",
3
+ "version": "1.18.0",
4
4
  "description": "beautifully crafted, moving icons. for svelte.",
5
5
  "keywords": [
6
6
  "svelte",