@axiapps/axi-design 1.12.0 → 1.14.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/README.md +41 -7
- package/dist/axi.css +36 -1
- package/dist/icons/arrow-down.svg +4 -0
- package/dist/icons/arrow-left.svg +4 -0
- package/dist/icons/arrow-right.svg +4 -0
- package/dist/icons/arrow-up.svg +4 -0
- package/dist/icons/calendar.svg +6 -0
- package/dist/icons/check-check.svg +4 -0
- package/dist/icons/check.svg +3 -0
- package/dist/icons/chevron-down.svg +3 -0
- package/dist/icons/chevron-left.svg +3 -0
- package/dist/icons/chevron-right.svg +3 -0
- package/dist/icons/chevron-up.svg +3 -0
- package/dist/icons/circle-alert.svg +5 -0
- package/dist/icons/circle-check.svg +4 -0
- package/dist/icons/circle-x.svg +5 -0
- package/dist/icons/clock.svg +4 -0
- package/dist/icons/copy.svg +4 -0
- package/dist/icons/download.svg +5 -0
- package/dist/icons/external-link.svg +5 -0
- package/dist/icons/eye.svg +4 -0
- package/dist/icons/file-text.svg +6 -0
- package/dist/icons/file.svg +4 -0
- package/dist/icons/filter.svg +3 -0
- package/dist/icons/folder-open.svg +4 -0
- package/dist/icons/folder.svg +3 -0
- package/dist/icons/icons.json +671 -0
- package/dist/icons/info.svg +5 -0
- package/dist/icons/link.svg +5 -0
- package/dist/icons/lock.svg +4 -0
- package/dist/icons/menu.svg +5 -0
- package/dist/icons/minus.svg +3 -0
- package/dist/icons/pause.svg +4 -0
- package/dist/icons/pencil.svg +4 -0
- package/dist/icons/play.svg +3 -0
- package/dist/icons/plus.svg +4 -0
- package/dist/icons/refresh-cw.svg +6 -0
- package/dist/icons/save.svg +5 -0
- package/dist/icons/search.svg +4 -0
- package/dist/icons/settings-2.svg +6 -0
- package/dist/icons/skip-forward.svg +4 -0
- package/dist/icons/sprite.svg +203 -0
- package/dist/icons/square.svg +3 -0
- package/dist/icons/tag.svg +4 -0
- package/dist/icons/trash-2.svg +5 -0
- package/dist/icons/unlock.svg +4 -0
- package/dist/icons/upload.svg +5 -0
- package/dist/icons/user.svg +4 -0
- package/dist/icons/users.svg +6 -0
- package/dist/icons/volume-2.svg +5 -0
- package/dist/icons/x.svg +4 -0
- package/dist/themes/glass.css +19 -6
- package/docs/RULES.md +123 -18
- package/icons/LICENSE-LUCIDE +51 -0
- package/icons/arrow-down.svg +4 -0
- package/icons/arrow-left.svg +4 -0
- package/icons/arrow-right.svg +4 -0
- package/icons/arrow-up.svg +4 -0
- package/icons/calendar.svg +6 -0
- package/icons/check-check.svg +4 -0
- package/icons/check.svg +3 -0
- package/icons/chevron-down.svg +3 -0
- package/icons/chevron-left.svg +3 -0
- package/icons/chevron-right.svg +3 -0
- package/icons/chevron-up.svg +3 -0
- package/icons/circle-alert.svg +5 -0
- package/icons/circle-check.svg +4 -0
- package/icons/circle-x.svg +5 -0
- package/icons/clock.svg +4 -0
- package/icons/copy.svg +4 -0
- package/icons/download.svg +5 -0
- package/icons/external-link.svg +5 -0
- package/icons/eye.svg +4 -0
- package/icons/file-text.svg +6 -0
- package/icons/file.svg +4 -0
- package/icons/filter.svg +3 -0
- package/icons/folder-open.svg +4 -0
- package/icons/folder.svg +3 -0
- package/icons/info.svg +5 -0
- package/icons/link.svg +5 -0
- package/icons/lock.svg +4 -0
- package/icons/menu.svg +5 -0
- package/icons/minus.svg +3 -0
- package/icons/pause.svg +4 -0
- package/icons/pencil.svg +4 -0
- package/icons/play.svg +3 -0
- package/icons/plus.svg +4 -0
- package/icons/refresh-cw.svg +6 -0
- package/icons/save.svg +5 -0
- package/icons/search.svg +4 -0
- package/icons/settings-2.svg +6 -0
- package/icons/skip-forward.svg +4 -0
- package/icons/square.svg +3 -0
- package/icons/tag.svg +4 -0
- package/icons/trash-2.svg +5 -0
- package/icons/unlock.svg +4 -0
- package/icons/upload.svg +5 -0
- package/icons/user.svg +4 -0
- package/icons/users.svg +6 -0
- package/icons/volume-2.svg +5 -0
- package/icons/x.svg +4 -0
- package/package.json +5 -1
- package/src/base.css +7 -1
- package/src/primitives.css +15 -0
- package/src/tokens.css +14 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
2
|
+
<path d="M8.5 4.5 L19.5 4.5 L19.5 15.5"/>
|
|
3
|
+
<path d="M16.5 12.5 L19.5 15.5 L22.5 12.5"/>
|
|
4
|
+
<path d="M15.5 19.5 L4.5 19.5 L4.5 8.5"/>
|
|
5
|
+
<path d="M1.5 11.5 L4.5 8.5 L7.5 11.5"/>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
2
|
+
<path d="M3.5 3.5 L16.5 3.5 L20.5 7.5 L20.5 20.5 L3.5 20.5 Z"/>
|
|
3
|
+
<path d="M7.5 3.5 L7.5 9.5 L15.5 9.5 L15.5 3.5"/>
|
|
4
|
+
<path d="M7.5 20.5 L7.5 14.5 L16.5 14.5 L16.5 20.5"/>
|
|
5
|
+
</svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
2
|
+
<path d="M3.5 8.5 L20.5 8.5"/>
|
|
3
|
+
<path d="M3.5 15.5 L20.5 15.5"/>
|
|
4
|
+
<path d="M9.5 5.5 L12.5 8.5 L9.5 11.5 L6.5 8.5 Z"/>
|
|
5
|
+
<path d="M15.5 12.5 L18.5 15.5 L15.5 18.5 L12.5 15.5 Z"/>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<!-- axi design language - generated by scripts/build.mjs from icons/.
|
|
3
|
+
Edit the files in icons/ and run `npm run build`; do not edit this file. -->
|
|
4
|
+
<symbol id="axi-arrow-down" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
5
|
+
<path d="M12 3.5 L12 19.5"/>
|
|
6
|
+
<path d="M6 13.5 L12 19.5 L18 13.5"/>
|
|
7
|
+
</symbol>
|
|
8
|
+
<symbol id="axi-arrow-left" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
9
|
+
<path d="M20.5 12 L4.5 12"/>
|
|
10
|
+
<path d="M10.5 6 L4.5 12 L10.5 18"/>
|
|
11
|
+
</symbol>
|
|
12
|
+
<symbol id="axi-arrow-right" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
13
|
+
<path d="M3.5 12 L19.5 12"/>
|
|
14
|
+
<path d="M13.5 6 L19.5 12 L13.5 18"/>
|
|
15
|
+
</symbol>
|
|
16
|
+
<symbol id="axi-arrow-up" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
17
|
+
<path d="M12 20.5 L12 4.5"/>
|
|
18
|
+
<path d="M6 10.5 L12 4.5 L18 10.5"/>
|
|
19
|
+
</symbol>
|
|
20
|
+
<symbol id="axi-calendar" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
21
|
+
<path d="M3.5 5.5 L20.5 5.5 L20.5 20.5 L3.5 20.5 Z"/>
|
|
22
|
+
<path d="M3.5 10.5 L20.5 10.5"/>
|
|
23
|
+
<path d="M8.5 2.5 L8.5 7.5"/>
|
|
24
|
+
<path d="M15.5 2.5 L15.5 7.5"/>
|
|
25
|
+
</symbol>
|
|
26
|
+
<symbol id="axi-check" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
27
|
+
<path d="M3.5 12.5 L9.5 18.5 L20.5 7.5"/>
|
|
28
|
+
</symbol>
|
|
29
|
+
<symbol id="axi-check-check" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
30
|
+
<path d="M1.5 12.5 L6.5 17.5 L15.5 8.5"/>
|
|
31
|
+
<path d="M9.5 15.5 L11.5 17.5 L21.5 7.5"/>
|
|
32
|
+
</symbol>
|
|
33
|
+
<symbol id="axi-chevron-down" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
34
|
+
<path d="M5.5 9 L12 15.5 L18.5 9"/>
|
|
35
|
+
</symbol>
|
|
36
|
+
<symbol id="axi-chevron-left" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
37
|
+
<path d="M15 5.5 L8.5 12 L15 18.5"/>
|
|
38
|
+
</symbol>
|
|
39
|
+
<symbol id="axi-chevron-right" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
40
|
+
<path d="M9 5.5 L15.5 12 L9 18.5"/>
|
|
41
|
+
</symbol>
|
|
42
|
+
<symbol id="axi-chevron-up" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
43
|
+
<path d="M5.5 15 L12 8.5 L18.5 15"/>
|
|
44
|
+
</symbol>
|
|
45
|
+
<symbol id="axi-circle-alert" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
46
|
+
<path d="M8.5 1.5 L15.5 1.5 L22.5 8.5 L22.5 15.5 L15.5 22.5 L8.5 22.5 L1.5 15.5 L1.5 8.5 Z"/>
|
|
47
|
+
<path d="M12 6.5 L12 13.5"/>
|
|
48
|
+
<path d="M12 16.5 L12 18"/>
|
|
49
|
+
</symbol>
|
|
50
|
+
<symbol id="axi-circle-check" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
51
|
+
<path d="M8.5 1.5 L15.5 1.5 L22.5 8.5 L22.5 15.5 L15.5 22.5 L8.5 22.5 L1.5 15.5 L1.5 8.5 Z"/>
|
|
52
|
+
<path d="M7 12 L10.5 15.5 L17 9"/>
|
|
53
|
+
</symbol>
|
|
54
|
+
<symbol id="axi-circle-x" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
55
|
+
<path d="M8.5 1.5 L15.5 1.5 L22.5 8.5 L22.5 15.5 L15.5 22.5 L8.5 22.5 L1.5 15.5 L1.5 8.5 Z"/>
|
|
56
|
+
<path d="M8 8 L16 16"/>
|
|
57
|
+
<path d="M16 8 L8 16"/>
|
|
58
|
+
</symbol>
|
|
59
|
+
<symbol id="axi-clock" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
60
|
+
<path d="M3.5 3.5 L20.5 3.5 L20.5 20.5 L3.5 20.5 Z"/>
|
|
61
|
+
<path d="M12 7.5 L12 12 L16.5 12"/>
|
|
62
|
+
</symbol>
|
|
63
|
+
<symbol id="axi-copy" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
64
|
+
<path d="M8.5 8.5 L20.5 8.5 L20.5 20.5 L8.5 20.5 Z"/>
|
|
65
|
+
<path d="M15.5 5.5 L15.5 3.5 L3.5 3.5 L3.5 15.5 L5.5 15.5"/>
|
|
66
|
+
</symbol>
|
|
67
|
+
<symbol id="axi-download" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
68
|
+
<path d="M12 2.5 L12 14.5"/>
|
|
69
|
+
<path d="M6.5 9 L12 14.5 L17.5 9"/>
|
|
70
|
+
<path d="M3.5 18.5 L3.5 21.5 L20.5 21.5 L20.5 18.5"/>
|
|
71
|
+
</symbol>
|
|
72
|
+
<symbol id="axi-external-link" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
73
|
+
<path d="M12.5 4.5 L3.5 4.5 L3.5 20.5 L19.5 20.5 L19.5 11.5"/>
|
|
74
|
+
<path d="M11.5 12.5 L20.5 3.5"/>
|
|
75
|
+
<path d="M13.5 3.5 L20.5 3.5 L20.5 10.5"/>
|
|
76
|
+
</symbol>
|
|
77
|
+
<symbol id="axi-eye" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
78
|
+
<path d="M2.5 12 L8 6.5 L16 6.5 L21.5 12 L16 17.5 L8 17.5 Z"/>
|
|
79
|
+
<path d="M12 9 L15 12 L12 15 L9 12 Z"/>
|
|
80
|
+
</symbol>
|
|
81
|
+
<symbol id="axi-file" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
82
|
+
<path d="M5.5 2.5 L14.5 2.5 L19.5 7.5 L19.5 21.5 L5.5 21.5 Z"/>
|
|
83
|
+
<path d="M14.5 2.5 L14.5 7.5 L19.5 7.5"/>
|
|
84
|
+
</symbol>
|
|
85
|
+
<symbol id="axi-file-text" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
86
|
+
<path d="M5.5 2.5 L14.5 2.5 L19.5 7.5 L19.5 21.5 L5.5 21.5 Z"/>
|
|
87
|
+
<path d="M14.5 2.5 L14.5 7.5 L19.5 7.5"/>
|
|
88
|
+
<path d="M8.5 12.5 L15.5 12.5"/>
|
|
89
|
+
<path d="M8.5 16.5 L15.5 16.5"/>
|
|
90
|
+
</symbol>
|
|
91
|
+
<symbol id="axi-filter" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
92
|
+
<path d="M2.5 4.5 L21.5 4.5 L13.5 12.5 L13.5 19.5 L10.5 19.5 L10.5 12.5 Z"/>
|
|
93
|
+
</symbol>
|
|
94
|
+
<symbol id="axi-folder" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
95
|
+
<path d="M2.5 20.5 L2.5 4.5 L8.5 4.5 L11.5 7.5 L21.5 7.5 L21.5 20.5 Z"/>
|
|
96
|
+
</symbol>
|
|
97
|
+
<symbol id="axi-folder-open" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
98
|
+
<path d="M2.5 20.5 L2.5 4.5 L8.5 4.5 L11.5 7.5 L19.5 7.5 L19.5 12.5"/>
|
|
99
|
+
<path d="M10.5 12.5 L22.5 12.5 L14.5 20.5 L2.5 20.5 Z"/>
|
|
100
|
+
</symbol>
|
|
101
|
+
<symbol id="axi-info" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
102
|
+
<path d="M3.5 3.5 L20.5 3.5 L20.5 20.5 L3.5 20.5 Z"/>
|
|
103
|
+
<path d="M12 7 L12 8.5"/>
|
|
104
|
+
<path d="M12 11.5 L12 17"/>
|
|
105
|
+
</symbol>
|
|
106
|
+
<symbol id="axi-link" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
107
|
+
<path d="M9.5 14.5 L14.5 9.5"/>
|
|
108
|
+
<path d="M13.5 6.5 L16.5 3.5 L20.5 7.5 L17.5 10.5"/>
|
|
109
|
+
<path d="M10.5 17.5 L7.5 20.5 L3.5 16.5 L6.5 13.5"/>
|
|
110
|
+
</symbol>
|
|
111
|
+
<symbol id="axi-lock" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
112
|
+
<path d="M4.5 11.5 L19.5 11.5 L19.5 21.5 L4.5 21.5 Z"/>
|
|
113
|
+
<path d="M8.5 11.5 L8.5 6.5 L15.5 6.5 L15.5 11.5"/>
|
|
114
|
+
</symbol>
|
|
115
|
+
<symbol id="axi-menu" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
116
|
+
<path d="M3.5 5.5 L20.5 5.5"/>
|
|
117
|
+
<path d="M3.5 12 L20.5 12"/>
|
|
118
|
+
<path d="M3.5 18.5 L20.5 18.5"/>
|
|
119
|
+
</symbol>
|
|
120
|
+
<symbol id="axi-minus" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
121
|
+
<path d="M3.5 12 L20.5 12"/>
|
|
122
|
+
</symbol>
|
|
123
|
+
<symbol id="axi-pause" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
124
|
+
<path d="M8.5 5.5 L8.5 18.5"/>
|
|
125
|
+
<path d="M15.5 5.5 L15.5 18.5"/>
|
|
126
|
+
</symbol>
|
|
127
|
+
<symbol id="axi-pencil" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
128
|
+
<path d="M3.5 20.5 L3.5 16.5 L15.5 4.5 L19.5 8.5 L7.5 20.5 Z"/>
|
|
129
|
+
<path d="M12.5 7.5 L16.5 11.5"/>
|
|
130
|
+
</symbol>
|
|
131
|
+
<symbol id="axi-play" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
132
|
+
<path d="M8.5 5.5 L15 12 L8.5 18.5 Z"/>
|
|
133
|
+
</symbol>
|
|
134
|
+
<symbol id="axi-plus" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
135
|
+
<path d="M12 3.5 L12 20.5"/>
|
|
136
|
+
<path d="M3.5 12 L20.5 12"/>
|
|
137
|
+
</symbol>
|
|
138
|
+
<symbol id="axi-refresh-cw" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
139
|
+
<path d="M8.5 4.5 L19.5 4.5 L19.5 15.5"/>
|
|
140
|
+
<path d="M16.5 12.5 L19.5 15.5 L22.5 12.5"/>
|
|
141
|
+
<path d="M15.5 19.5 L4.5 19.5 L4.5 8.5"/>
|
|
142
|
+
<path d="M1.5 11.5 L4.5 8.5 L7.5 11.5"/>
|
|
143
|
+
</symbol>
|
|
144
|
+
<symbol id="axi-save" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
145
|
+
<path d="M3.5 3.5 L16.5 3.5 L20.5 7.5 L20.5 20.5 L3.5 20.5 Z"/>
|
|
146
|
+
<path d="M7.5 3.5 L7.5 9.5 L15.5 9.5 L15.5 3.5"/>
|
|
147
|
+
<path d="M7.5 20.5 L7.5 14.5 L16.5 14.5 L16.5 20.5"/>
|
|
148
|
+
</symbol>
|
|
149
|
+
<symbol id="axi-search" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
150
|
+
<path d="M9.5 3.5 L15.5 9.5 L9.5 15.5 L3.5 9.5 Z"/>
|
|
151
|
+
<path d="M13.5 13.5 L20.5 20.5"/>
|
|
152
|
+
</symbol>
|
|
153
|
+
<symbol id="axi-settings-2" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
154
|
+
<path d="M3.5 8.5 L20.5 8.5"/>
|
|
155
|
+
<path d="M3.5 15.5 L20.5 15.5"/>
|
|
156
|
+
<path d="M9.5 5.5 L12.5 8.5 L9.5 11.5 L6.5 8.5 Z"/>
|
|
157
|
+
<path d="M15.5 12.5 L18.5 15.5 L15.5 18.5 L12.5 15.5 Z"/>
|
|
158
|
+
</symbol>
|
|
159
|
+
<symbol id="axi-skip-forward" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
160
|
+
<path d="M6.5 5.5 L13 12 L6.5 18.5 Z"/>
|
|
161
|
+
<path d="M17.5 5.5 L17.5 18.5"/>
|
|
162
|
+
</symbol>
|
|
163
|
+
<symbol id="axi-square" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
164
|
+
<path d="M4.5 4.5 L19.5 4.5 L19.5 19.5 L4.5 19.5 Z"/>
|
|
165
|
+
</symbol>
|
|
166
|
+
<symbol id="axi-tag" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
167
|
+
<path d="M2.5 2.5 L13.5 2.5 L21.5 10.5 L10.5 21.5 L2.5 13.5 Z"/>
|
|
168
|
+
<path d="M6.5 4.5 L8.5 6.5 L6.5 8.5 L4.5 6.5 Z"/>
|
|
169
|
+
</symbol>
|
|
170
|
+
<symbol id="axi-trash-2" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
171
|
+
<path d="M2.5 6.5 L21.5 6.5"/>
|
|
172
|
+
<path d="M5.5 6.5 L5.5 21.5 L18.5 21.5 L18.5 6.5"/>
|
|
173
|
+
<path d="M9.5 6.5 L9.5 2.5 L14.5 2.5 L14.5 6.5"/>
|
|
174
|
+
</symbol>
|
|
175
|
+
<symbol id="axi-unlock" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
176
|
+
<path d="M4.5 11.5 L19.5 11.5 L19.5 21.5 L4.5 21.5 Z"/>
|
|
177
|
+
<path d="M8.5 11.5 L8.5 6.5 L15.5 6.5"/>
|
|
178
|
+
</symbol>
|
|
179
|
+
<symbol id="axi-upload" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
180
|
+
<path d="M12 14.5 L12 2.5"/>
|
|
181
|
+
<path d="M6.5 8 L12 2.5 L17.5 8"/>
|
|
182
|
+
<path d="M3.5 18.5 L3.5 21.5 L20.5 21.5 L20.5 18.5"/>
|
|
183
|
+
</symbol>
|
|
184
|
+
<symbol id="axi-user" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
185
|
+
<path d="M12 3.5 L16.5 8 L12 12.5 L7.5 8 Z"/>
|
|
186
|
+
<path d="M4.5 21.5 L4.5 19.5 L8.5 15.5 L15.5 15.5 L19.5 19.5 L19.5 21.5"/>
|
|
187
|
+
</symbol>
|
|
188
|
+
<symbol id="axi-users" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
189
|
+
<path d="M9 2.5 L13 6.5 L9 10.5 L5 6.5 Z"/>
|
|
190
|
+
<path d="M1.5 20.5 L1.5 18.5 L5.5 14.5 L12.5 14.5 L16.5 18.5 L16.5 20.5"/>
|
|
191
|
+
<path d="M17 5.5 L20 8.5 L17 11.5"/>
|
|
192
|
+
<path d="M17 14.5 L19.5 14.5 L22.5 17.5 L22.5 20.5"/>
|
|
193
|
+
</symbol>
|
|
194
|
+
<symbol id="axi-volume-2" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
195
|
+
<path d="M2.5 9.5 L6.5 9.5 L12.5 3.5 L12.5 20.5 L6.5 14.5 L2.5 14.5 Z"/>
|
|
196
|
+
<path d="M16.5 8.5 L16.5 15.5"/>
|
|
197
|
+
<path d="M20.5 5.5 L20.5 18.5"/>
|
|
198
|
+
</symbol>
|
|
199
|
+
<symbol id="axi-x" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
200
|
+
<path d="M5.5 5.5 L18.5 18.5"/>
|
|
201
|
+
<path d="M18.5 5.5 L5.5 18.5"/>
|
|
202
|
+
</symbol>
|
|
203
|
+
</svg>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
2
|
+
<path d="M2.5 6.5 L21.5 6.5"/>
|
|
3
|
+
<path d="M5.5 6.5 L5.5 21.5 L18.5 21.5 L18.5 6.5"/>
|
|
4
|
+
<path d="M9.5 6.5 L9.5 2.5 L14.5 2.5 L14.5 6.5"/>
|
|
5
|
+
</svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
2
|
+
<path d="M9 2.5 L13 6.5 L9 10.5 L5 6.5 Z"/>
|
|
3
|
+
<path d="M1.5 20.5 L1.5 18.5 L5.5 14.5 L12.5 14.5 L16.5 18.5 L16.5 20.5"/>
|
|
4
|
+
<path d="M17 5.5 L20 8.5 L17 11.5"/>
|
|
5
|
+
<path d="M17 14.5 L19.5 14.5 L22.5 17.5 L22.5 20.5"/>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
2
|
+
<path d="M2.5 9.5 L6.5 9.5 L12.5 3.5 L12.5 20.5 L6.5 14.5 L2.5 14.5 Z"/>
|
|
3
|
+
<path d="M16.5 8.5 L16.5 15.5"/>
|
|
4
|
+
<path d="M20.5 5.5 L20.5 18.5"/>
|
|
5
|
+
</svg>
|
package/dist/icons/x.svg
ADDED
package/dist/themes/glass.css
CHANGED
|
@@ -3,13 +3,26 @@
|
|
|
3
3
|
|
|
4
4
|
[data-axi-theme="glass"] {
|
|
5
5
|
--axi-ground: #0a0c10;
|
|
6
|
-
--axi-
|
|
7
|
-
--axi-surface
|
|
8
|
-
--axi-
|
|
6
|
+
--axi-ground-image: radial-gradient(900px 500px at 15% 0%, rgba(120, 90, 255, .30), transparent 60%), radial-gradient(700px 500px at 95% 30%, rgba(0, 190, 255, .22), transparent 62%), radial-gradient(600px 600px at 60% 100%, rgba(255, 90, 170, .20), transparent 60%);
|
|
7
|
+
--axi-surface: linear-gradient(145deg, rgba(58, 68, 92, .55), rgba(28, 33, 46, .42));
|
|
8
|
+
--axi-surface-raised: linear-gradient(145deg, rgba(86, 99, 130, .5), rgba(44, 52, 71, .38));
|
|
9
|
+
--axi-surface-filter: blur(18px) saturate(140%);
|
|
10
|
+
--axi-ink-line: rgba(180, 200, 255, .16);
|
|
11
|
+
--axi-rule: rgba(180, 200, 255, .14);
|
|
9
12
|
--axi-ground-deep: #0c0e12;
|
|
10
13
|
--axi-accent-ink: #0c0e12;
|
|
11
14
|
--axi-ink-on-fill: #0c0e12;
|
|
12
|
-
--axi-
|
|
13
|
-
--axi-
|
|
14
|
-
--axi-
|
|
15
|
+
--axi-text: #f2f5fb;
|
|
16
|
+
--axi-text-dim: #b3bdd0;
|
|
17
|
+
--axi-text-faint: #7f8aa0;
|
|
18
|
+
--axi-scrim: rgba(4, 6, 12, .66);
|
|
19
|
+
--axi-shadow-panel: 0 18px 44px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .14);
|
|
20
|
+
--axi-shadow-control: 0 6px 16px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .12);
|
|
21
|
+
--axi-shadow-panel-hover: 0 26px 60px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(255, 255, 255, .2);
|
|
22
|
+
--axi-shadow-control-hover: 0 10px 24px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 255, 255, .18);
|
|
23
|
+
--axi-border-panel: 1px;
|
|
24
|
+
--axi-border-control: 1px;
|
|
25
|
+
--axi-border-hairline: 1px;
|
|
26
|
+
--axi-radius: 16px;
|
|
27
|
+
--axi-radius-sm: 10px;
|
|
15
28
|
}
|
package/docs/RULES.md
CHANGED
|
@@ -16,10 +16,11 @@ gridlines (a `repeating-linear-gradient` of hard stops, which is how N evenly
|
|
|
16
16
|
spaced rules get drawn without asking every consumer to emit N empty divs).
|
|
17
17
|
A gradient across a surface is still forbidden in every component file, and
|
|
18
18
|
always will be. The single relief is a *theme* restating the surface tokens
|
|
19
|
-
themselves —
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
themselves — and `--axi-ground-image`, the page's own light, which is declared
|
|
20
|
+
inert in `tokens.css` and read only by `body`; see [Themes](#themes). That is
|
|
21
|
+
what lets a glass theme exist without one component ever learning the word
|
|
22
|
+
"glass". A component cannot reach for that exception, because it cannot see it:
|
|
23
|
+
what it reads is the same surface token it was already reading.
|
|
23
24
|
|
|
24
25
|
## 2. No colour at partial opacity over the ground
|
|
25
26
|
|
|
@@ -28,13 +29,19 @@ just brown, and five muted inks over near-black are five browns. When something
|
|
|
28
29
|
should be quieter, reach for a neutral from the ramp — that is what the ramp is
|
|
29
30
|
for.
|
|
30
31
|
|
|
31
|
-
A theme gets the same carve-out as rule 1
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
32
|
+
A theme gets the same carve-out as rule 1: it may hold the *surface layer* at
|
|
33
|
+
partial opacity, because a translucent surface is that surface's own definition
|
|
34
|
+
rather than a colour laid over the ground. That layer is the two surfaces and
|
|
35
|
+
the lines that bound and divide them — `--axi-ink-line` and `--axi-rule` — for
|
|
36
|
+
the same reason: the edge of a translucent panel is as much the panel as its
|
|
37
|
+
face, and an opaque hairline around a pane of glass is a picture frame.
|
|
38
|
+
|
|
39
|
+
The five saturated inks are untouched. A muted `--axi-warn`, a faded accent, a
|
|
40
|
+
status ink at 60% — still forbidden, in a theme exactly as in a component,
|
|
41
|
+
because the paragraph above is about what happens to meaning when five inks
|
|
42
|
+
become five browns, and changing which stylesheet does the muting does not
|
|
43
|
+
change that. The neutral text ramp is likewise a theme's to restate but not to
|
|
44
|
+
fade: a theme picks where `--axi-text-dim` sits, it does not write text at 60%.
|
|
38
45
|
|
|
39
46
|
## 3. Every raised element is outlined and blocked
|
|
40
47
|
|
|
@@ -350,6 +357,70 @@ anything that claims to show liveness.
|
|
|
350
357
|
|
|
351
358
|
Motion elsewhere is still rationed by rule 4.
|
|
352
359
|
|
|
360
|
+
## 12. An icon is drawn in the language's angles, at control weight
|
|
361
|
+
|
|
362
|
+
An icon is an object, not a rule. The objects here are outlined at
|
|
363
|
+
`--axi-border-control` (3px), so that is the weight a glyph is drawn at — an
|
|
364
|
+
icon at the 2px hairline is a *rule* weight on a thing that is not a rule, and
|
|
365
|
+
inside a 3px-bordered button it reads as a thin drawing in a heavy frame
|
|
366
|
+
rather than as one object.
|
|
367
|
+
|
|
368
|
+
The contract:
|
|
369
|
+
|
|
370
|
+
| | |
|
|
371
|
+
|---|---|
|
|
372
|
+
| Canvas | 24×24 `viewBox`, all geometry inset 1.5 from every edge |
|
|
373
|
+
| Stroke | 3px, `currentColor`, mitered joins, butt caps |
|
|
374
|
+
| Corners | radius 0, as everywhere else |
|
|
375
|
+
| Angles | 0°, 45° and 90°, and nothing between |
|
|
376
|
+
| Curves | none |
|
|
377
|
+
| Coordinates | multiples of 0.5; an axis-aligned stroke sits on an odd half-integer or on the centre axis at 12 |
|
|
378
|
+
|
|
379
|
+
**No curve.** This language has no rounded corner (rule 3) and its motif is a
|
|
380
|
+
rotated square (rule 7). One arc in the set is one exception in the set, and
|
|
381
|
+
the exception is where the eye finds the seam. Where a borrowed metaphor
|
|
382
|
+
genuinely needs a circle, the circle becomes a **diamond if it is a node** — a
|
|
383
|
+
lens, a head, a dot, a knob — and a **square if it is a boundary** — a clock
|
|
384
|
+
face, a frame, a container. The diamond frame reads as a warning sign, so it
|
|
385
|
+
is spent only where warning is the meaning. An octagon was considered as a
|
|
386
|
+
third frame shape and refused for the reason rule 3 refuses a third weight
|
|
387
|
+
step.
|
|
388
|
+
|
|
389
|
+
**No colour of its own.** An icon inherits `currentColor` and is whatever ink
|
|
390
|
+
it sits in. A two-tone glyph with an accent detail would be colour encoding
|
|
391
|
+
nothing, which rule 5 refuses on a chip and rule 10 refuses in a chart.
|
|
392
|
+
|
|
393
|
+
**The centre-axis exemption, precisely.** A 3px stroke centred on a 24 canvas
|
|
394
|
+
spans 10.5–13.5: it can be centred or pixel-aligned, never both. For the few
|
|
395
|
+
glyphs built around a centre line, symmetry wins. The exemption is one
|
|
396
|
+
coordinate wide — `12` — so it cannot spread into a general licence to sit on
|
|
397
|
+
whole integers.
|
|
398
|
+
|
|
399
|
+
**What is mechanically enforced.** `tests/icons.test.mjs` reads every file in
|
|
400
|
+
`icons/` and works from an **allowlist**, not a list of prohibitions. A drawing
|
|
401
|
+
may contain one root `<svg>` and `<path>` elements, and nothing else — a
|
|
402
|
+
`<circle>`, a `<rect>` or a `<polygon>` is rejected for being unlisted rather
|
|
403
|
+
than for being round. The root declares exactly the six attributes in the
|
|
404
|
+
contract above, at exactly those values; a `<path>` may carry `d`, and `fill`
|
|
405
|
+
or `stroke` only at `none` or `currentColor`. Everything else — a
|
|
406
|
+
`transform`, an `rx`, a `stroke-linecap`, a per-element `stroke-width="2"`, a
|
|
407
|
+
colour of any spelling — is an unlisted attribute and fails on that ground.
|
|
408
|
+
A file containing no `<path>` at all fails too, because a drawing with nothing
|
|
409
|
+
in it satisfies every geometric check by having nothing to check.
|
|
410
|
+
|
|
411
|
+
Each `d` is then parsed — tracking the current point through relative
|
|
412
|
+
commands, and reading the extra coordinate pairs of an `M` as the implicit
|
|
413
|
+
linetos they are — and fails on a curve command, an angle that is neither
|
|
414
|
+
axis-aligned nor 45°, a coordinate off the 0.5 grid or outside the live
|
|
415
|
+
area, or an axis-aligned stroke off its permitted centerlines. Both ends of
|
|
416
|
+
every segment are checked, including the moveto point that starts a subpath and
|
|
417
|
+
may never appear as any segment's endpoint.
|
|
418
|
+
|
|
419
|
+
The checker is itself tested: `tests/icons.test.mjs` feeds it a set of drawings
|
|
420
|
+
that must be rejected, one per prohibition. The rule above is therefore a check
|
|
421
|
+
rather than a promise — the same treatment rule 3's weights get in
|
|
422
|
+
`tests/tokens.test.mjs`.
|
|
423
|
+
|
|
353
424
|
## Tokens
|
|
354
425
|
|
|
355
426
|
Three layers, in `src/tokens.css` — the only file permitted to contain a colour
|
|
@@ -474,13 +545,47 @@ main-theme token first.** A glass theme wants a `backdrop-filter`; it does not
|
|
|
474
545
|
get to introduce one. `--axi-surface-filter` is declared in `tokens.css` with an
|
|
475
546
|
inert default (`none`), the surfaces read it unconditionally, and the theme
|
|
476
547
|
restates it. The main theme is unchanged in appearance and the hook is part of
|
|
477
|
-
the language rather than part of the theme.
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
548
|
+
the language rather than part of the theme. `--axi-ground-image` is the second
|
|
549
|
+
of these, on the same terms: the page's light, inert at `none`, read by `body`
|
|
550
|
+
and nowhere else. Every theme pays this toll, and it is what keeps the mirror
|
|
551
|
+
true: a token the theme could set that the main theme had never heard of is the
|
|
552
|
+
first step back toward theme-only components.
|
|
553
|
+
|
|
554
|
+
### What a theme may restate
|
|
555
|
+
|
|
556
|
+
Rules 1 and 2 name the relief a theme gets in the surface layer: a theme may
|
|
557
|
+
put a gradient on a surface and may hold a surface token at partial opacity. It
|
|
558
|
+
may not mute an ink. Read those two rules for why.
|
|
559
|
+
|
|
560
|
+
The relief is not confined to that layer, though, and the first draft of this
|
|
561
|
+
section said it was. **A theme may also restate the block and the corner** —
|
|
562
|
+
`--axi-shadow-*`, `--axi-border-*`, `--axi-radius` and `--axi-radius-sm`. Rule 3
|
|
563
|
+
requires that a raised element read as raised and an outlined one as outlined.
|
|
564
|
+
A hard offset block in the line ink is how the main theme answers that; a soft
|
|
565
|
+
drop with an inset top highlight is a different answer to the same question,
|
|
566
|
+
and a translucent panel wearing an opaque theme's block does not look like
|
|
567
|
+
glass, it looks like a bug. The block and the corner are how a theme says what
|
|
568
|
+
its material is.
|
|
569
|
+
|
|
570
|
+
What is **not** a theme's to restate, and each for its own reason:
|
|
571
|
+
|
|
572
|
+
- **The five saturated fills.** `--axi-accent`, `--axi-meta`, `--axi-ok`,
|
|
573
|
+
`--axi-warn`, `--axi-danger` carry meaning (rules 5, 6, 9, 10). Their `-ink`
|
|
574
|
+
companions are not on this list: `--axi-accent-ink` and `--axi-ink-on-fill`
|
|
575
|
+
are the colour a word is written in when it sits on a fill, and a theme that
|
|
576
|
+
lightens the outline has to be able to hold them dark.
|
|
577
|
+
- **The offset scale.** `--axi-offset-*` is what the main theme's block is
|
|
578
|
+
composed *from*. A theme restates the composed `--axi-shadow-*` wholesale or
|
|
579
|
+
leaves it; retuning the offsets underneath would leave the two spellings of
|
|
580
|
+
"the block" disagreeing.
|
|
581
|
+
- **The measure.** `--axi-page`, `--axi-gutter`. Where the text wraps is not a
|
|
582
|
+
look, and moving it would reflow every page rather than repaint it.
|
|
583
|
+
- **The type.** `--axi-sans`, `--axi-mono`, `--axi-t-*`, `--axi-ls-*`. The same
|
|
584
|
+
call, harder: the type scale is the voice.
|
|
585
|
+
|
|
586
|
+
The line to hold is the one-for-one rule above, not a list of layers. A theme
|
|
587
|
+
that restates the block still paints every component; a theme that invents one
|
|
588
|
+
does not.
|
|
484
589
|
|
|
485
590
|
**What is mechanically enforced.** `tests/themes.test.mjs` reads every
|
|
486
591
|
`dist/themes/*.css` and checks the mirror rather than trusting it: the file
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
ISC License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Lucide Icons and Contributors
|
|
4
|
+
|
|
5
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
+
purpose with or without fee is hereby granted, provided that the above
|
|
7
|
+
copyright notice and this permission notice appear in all copies.
|
|
8
|
+
|
|
9
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
10
|
+
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
11
|
+
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
12
|
+
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
13
|
+
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
14
|
+
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
15
|
+
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
The following Lucide icons are derived from the Feather project:
|
|
20
|
+
|
|
21
|
+
airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out
|
|
22
|
+
|
|
23
|
+
The MIT License (MIT) (for the icons listed above)
|
|
24
|
+
|
|
25
|
+
Copyright (c) 2013-present Cole Bemis
|
|
26
|
+
|
|
27
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
28
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
29
|
+
in the Software without restriction, including without limitation the rights
|
|
30
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
31
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
32
|
+
furnished to do so, subject to the following conditions:
|
|
33
|
+
|
|
34
|
+
The above copyright notice and this permission notice shall be included in all
|
|
35
|
+
copies or substantial portions of the Software.
|
|
36
|
+
|
|
37
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
38
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
39
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
40
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
41
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
42
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
43
|
+
SOFTWARE.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
The axi icon set derives its vocabulary from Lucide: the inventory of icons,
|
|
48
|
+
the metaphors they use and the names they are called by. No Lucide path data
|
|
49
|
+
is used. Every glyph is re-drawn against axi's own grammar (docs/RULES.md,
|
|
50
|
+
rule 12), which differs from Lucide's in stroke weight, terminals, joins,
|
|
51
|
+
corner radius and the prohibition on curves.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linejoin="miter">
|
|
2
|
+
<path d="M3.5 5.5 L20.5 5.5 L20.5 20.5 L3.5 20.5 Z"/>
|
|
3
|
+
<path d="M3.5 10.5 L20.5 10.5"/>
|
|
4
|
+
<path d="M8.5 2.5 L8.5 7.5"/>
|
|
5
|
+
<path d="M15.5 2.5 L15.5 7.5"/>
|
|
6
|
+
</svg>
|
package/icons/check.svg
ADDED