@ds-mo/icons 6.1.2 → 6.3.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 CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/@ds-mo/icons.svg)](https://www.npmjs.com/package/@ds-mo/icons)
4
4
 
5
- IcoMo — **429 SVG icons** (397 system icons + 32 country flags) as tree-shakeable React components, framework-agnostic SVG strings, TypeScript definitions, and an SVG sprite.
5
+ IcoMo — **430 SVG icons** (398 system icons + 32 country flags) as tree-shakeable React components, framework-agnostic SVG strings, TypeScript definitions, and an SVG sprite.
6
6
 
7
7
  Part of the **ds-mo design system trilogy**: [@ds-mo/tokens](https://www.npmjs.com/package/@ds-mo/tokens) → **@ds-mo/icons** → [@ds-mo/ui](https://www.npmjs.com/package/@ds-mo/ui) (CompoMo).
8
8
 
@@ -28,7 +28,7 @@ Icons are grouped into **categories** so the pipeline can treat them differently
28
28
 
29
29
  | Category | Count | Themeable | Description |
30
30
  |---|---|---|---|
31
- | `system` | 397 | ✅ `currentColor` | Monochrome UI icons — respond to CSS `color` and the `color` prop |
31
+ | `system` | 398 | ✅ `currentColor` | Monochrome UI icons — respond to CSS `color` and the `color` prop |
32
32
  | `flag` | 32 | ❌ preserved | Multi-color country flags — hex + P3 wide-gamut colors kept verbatim |
33
33
 
34
34
  Flag component names are prefixed with `Flag` (e.g. `FlagFrance`, `FlagUnitedStates`) so every export is globally unique.
@@ -106,7 +106,7 @@ Generate a flat folder of vector PDFs — one per icon — for use in Xcode asse
106
106
 
107
107
  ```bash
108
108
  npm run build # required first — generates dist/
109
- npm run build:pdf # outputs dist/pdf/<Name>.pdf (429 files)
109
+ npm run build:pdf # outputs dist/pdf/<Name>.pdf (430 files)
110
110
  ```
111
111
 
112
112
  **Adding to Xcode:**
@@ -139,8 +139,8 @@ Machine-readable icon list (for docs, agents, search indexes):
139
139
  import meta from '@ds-mo/icons/meta';
140
140
 
141
141
  meta.version // matches package version (e.g. "6.0.1")
142
- meta.count // 429
143
- meta.categories // { system: {count:397,themeable:true}, flag: {count:32,themeable:false} }
142
+ meta.count // 430
143
+ meta.categories // { system: {count:398,themeable:true}, flag: {count:32,themeable:false} }
144
144
  meta.icons // [{ name, category, kebab, aliases }, ...]
145
145
  ```
146
146
 
@@ -0,0 +1,25 @@
1
+ export interface IconAgentEntry {
2
+ name: string;
3
+ category: string;
4
+ kebab: string;
5
+ aliases: string[];
6
+ concepts: string[];
7
+ roles: string[];
8
+ useWhen: string[];
9
+ avoidWhen: string[];
10
+ related?: string[];
11
+ variantOf?: string;
12
+ status: 'experimental' | 'stable' | 'deprecated' | 'removed';
13
+ replacedBy?: string;
14
+ }
15
+
16
+ export interface IconAgentManifest {
17
+ schemaVersion: '1.0.0';
18
+ package: '@ds-mo/icons';
19
+ packageVersion: string;
20
+ kind: 'icons';
21
+ entries: IconAgentEntry[];
22
+ }
23
+
24
+ declare const manifest: IconAgentManifest;
25
+ export default manifest;
@@ -0,0 +1,182 @@
1
+ {
2
+ "schemaVersion": "1.0.0",
3
+ "package": "@ds-mo/icons",
4
+ "packageVersion": "6.3.0",
5
+ "kind": "icons",
6
+ "entries": [
7
+ {
8
+ "name": "Bell",
9
+ "category": "system",
10
+ "kebab": "bell",
11
+ "aliases": [
12
+ "notification",
13
+ "alert",
14
+ "alarm"
15
+ ],
16
+ "concepts": [
17
+ "notification"
18
+ ],
19
+ "roles": [
20
+ "action",
21
+ "navigation"
22
+ ],
23
+ "useWhen": [
24
+ "Opening or representing notifications and alerts."
25
+ ],
26
+ "avoidWhen": [
27
+ "Representing validation warnings or errors."
28
+ ],
29
+ "related": [
30
+ "BellFilled",
31
+ "BellRinging"
32
+ ],
33
+ "status": "stable"
34
+ },
35
+ {
36
+ "name": "BellFilled",
37
+ "category": "system",
38
+ "kebab": "bell-filled",
39
+ "aliases": [
40
+ "bell-filled",
41
+ "notification-filled",
42
+ "alert-solid",
43
+ "alarm-solid"
44
+ ],
45
+ "concepts": [
46
+ "notification"
47
+ ],
48
+ "roles": [
49
+ "status",
50
+ "selected-state"
51
+ ],
52
+ "useWhen": [
53
+ "A notification affordance needs a filled or selected visual state."
54
+ ],
55
+ "avoidWhen": [
56
+ "The unselected notification action is sufficient."
57
+ ],
58
+ "related": [
59
+ "Bell",
60
+ "BellRinging"
61
+ ],
62
+ "variantOf": "Bell",
63
+ "status": "stable"
64
+ },
65
+ {
66
+ "name": "CheckCircle",
67
+ "category": "system",
68
+ "kebab": "check-circle",
69
+ "aliases": [
70
+ "success",
71
+ "verified",
72
+ "approved"
73
+ ],
74
+ "concepts": [
75
+ "success",
76
+ "verified",
77
+ "complete"
78
+ ],
79
+ "roles": [
80
+ "status"
81
+ ],
82
+ "useWhen": [
83
+ "Representing a successful, verified, approved, or completed state."
84
+ ],
85
+ "avoidWhen": [
86
+ "The user is toggling a selectable checkbox control."
87
+ ],
88
+ "related": [
89
+ "CheckCircleFilled"
90
+ ],
91
+ "status": "stable"
92
+ },
93
+ {
94
+ "name": "CheckCircleFilled",
95
+ "category": "system",
96
+ "kebab": "check-circle-filled",
97
+ "aliases": [
98
+ "success-filled",
99
+ "verified-solid",
100
+ "confirmed-selected"
101
+ ],
102
+ "concepts": [
103
+ "success",
104
+ "verified",
105
+ "complete"
106
+ ],
107
+ "roles": [
108
+ "status",
109
+ "selected-state"
110
+ ],
111
+ "useWhen": [
112
+ "A success or completed status needs stronger filled emphasis."
113
+ ],
114
+ "avoidWhen": [
115
+ "The user is toggling a selectable checkbox control."
116
+ ],
117
+ "related": [
118
+ "CheckCircle"
119
+ ],
120
+ "variantOf": "CheckCircle",
121
+ "status": "stable"
122
+ },
123
+ {
124
+ "name": "ChevronLeft",
125
+ "category": "system",
126
+ "kebab": "chevron-left",
127
+ "aliases": [
128
+ "back",
129
+ "previous",
130
+ "caret-left"
131
+ ],
132
+ "concepts": [
133
+ "previous",
134
+ "back",
135
+ "collapse-left"
136
+ ],
137
+ "roles": [
138
+ "navigation",
139
+ "disclosure"
140
+ ],
141
+ "useWhen": [
142
+ "Moving backward or collapsing content toward the left."
143
+ ],
144
+ "avoidWhen": [
145
+ "A directional arrow represents transfer, movement, or an external link."
146
+ ],
147
+ "related": [
148
+ "ChevronRight"
149
+ ],
150
+ "status": "stable"
151
+ },
152
+ {
153
+ "name": "ChevronRight",
154
+ "category": "system",
155
+ "kebab": "chevron-right",
156
+ "aliases": [
157
+ "next",
158
+ "forward",
159
+ "caret-right"
160
+ ],
161
+ "concepts": [
162
+ "next",
163
+ "forward",
164
+ "expand-right"
165
+ ],
166
+ "roles": [
167
+ "navigation",
168
+ "disclosure"
169
+ ],
170
+ "useWhen": [
171
+ "Moving forward or expanding content toward the right."
172
+ ],
173
+ "avoidWhen": [
174
+ "A directional arrow represents transfer, movement, or an external link."
175
+ ],
176
+ "related": [
177
+ "ChevronLeft"
178
+ ],
179
+ "status": "stable"
180
+ }
181
+ ]
182
+ }
package/dist/agent.mjs ADDED
@@ -0,0 +1,183 @@
1
+ const manifest = {
2
+ "schemaVersion": "1.0.0",
3
+ "package": "@ds-mo/icons",
4
+ "packageVersion": "6.3.0",
5
+ "kind": "icons",
6
+ "entries": [
7
+ {
8
+ "name": "Bell",
9
+ "category": "system",
10
+ "kebab": "bell",
11
+ "aliases": [
12
+ "notification",
13
+ "alert",
14
+ "alarm"
15
+ ],
16
+ "concepts": [
17
+ "notification"
18
+ ],
19
+ "roles": [
20
+ "action",
21
+ "navigation"
22
+ ],
23
+ "useWhen": [
24
+ "Opening or representing notifications and alerts."
25
+ ],
26
+ "avoidWhen": [
27
+ "Representing validation warnings or errors."
28
+ ],
29
+ "related": [
30
+ "BellFilled",
31
+ "BellRinging"
32
+ ],
33
+ "status": "stable"
34
+ },
35
+ {
36
+ "name": "BellFilled",
37
+ "category": "system",
38
+ "kebab": "bell-filled",
39
+ "aliases": [
40
+ "bell-filled",
41
+ "notification-filled",
42
+ "alert-solid",
43
+ "alarm-solid"
44
+ ],
45
+ "concepts": [
46
+ "notification"
47
+ ],
48
+ "roles": [
49
+ "status",
50
+ "selected-state"
51
+ ],
52
+ "useWhen": [
53
+ "A notification affordance needs a filled or selected visual state."
54
+ ],
55
+ "avoidWhen": [
56
+ "The unselected notification action is sufficient."
57
+ ],
58
+ "related": [
59
+ "Bell",
60
+ "BellRinging"
61
+ ],
62
+ "variantOf": "Bell",
63
+ "status": "stable"
64
+ },
65
+ {
66
+ "name": "CheckCircle",
67
+ "category": "system",
68
+ "kebab": "check-circle",
69
+ "aliases": [
70
+ "success",
71
+ "verified",
72
+ "approved"
73
+ ],
74
+ "concepts": [
75
+ "success",
76
+ "verified",
77
+ "complete"
78
+ ],
79
+ "roles": [
80
+ "status"
81
+ ],
82
+ "useWhen": [
83
+ "Representing a successful, verified, approved, or completed state."
84
+ ],
85
+ "avoidWhen": [
86
+ "The user is toggling a selectable checkbox control."
87
+ ],
88
+ "related": [
89
+ "CheckCircleFilled"
90
+ ],
91
+ "status": "stable"
92
+ },
93
+ {
94
+ "name": "CheckCircleFilled",
95
+ "category": "system",
96
+ "kebab": "check-circle-filled",
97
+ "aliases": [
98
+ "success-filled",
99
+ "verified-solid",
100
+ "confirmed-selected"
101
+ ],
102
+ "concepts": [
103
+ "success",
104
+ "verified",
105
+ "complete"
106
+ ],
107
+ "roles": [
108
+ "status",
109
+ "selected-state"
110
+ ],
111
+ "useWhen": [
112
+ "A success or completed status needs stronger filled emphasis."
113
+ ],
114
+ "avoidWhen": [
115
+ "The user is toggling a selectable checkbox control."
116
+ ],
117
+ "related": [
118
+ "CheckCircle"
119
+ ],
120
+ "variantOf": "CheckCircle",
121
+ "status": "stable"
122
+ },
123
+ {
124
+ "name": "ChevronLeft",
125
+ "category": "system",
126
+ "kebab": "chevron-left",
127
+ "aliases": [
128
+ "back",
129
+ "previous",
130
+ "caret-left"
131
+ ],
132
+ "concepts": [
133
+ "previous",
134
+ "back",
135
+ "collapse-left"
136
+ ],
137
+ "roles": [
138
+ "navigation",
139
+ "disclosure"
140
+ ],
141
+ "useWhen": [
142
+ "Moving backward or collapsing content toward the left."
143
+ ],
144
+ "avoidWhen": [
145
+ "A directional arrow represents transfer, movement, or an external link."
146
+ ],
147
+ "related": [
148
+ "ChevronRight"
149
+ ],
150
+ "status": "stable"
151
+ },
152
+ {
153
+ "name": "ChevronRight",
154
+ "category": "system",
155
+ "kebab": "chevron-right",
156
+ "aliases": [
157
+ "next",
158
+ "forward",
159
+ "caret-right"
160
+ ],
161
+ "concepts": [
162
+ "next",
163
+ "forward",
164
+ "expand-right"
165
+ ],
166
+ "roles": [
167
+ "navigation",
168
+ "disclosure"
169
+ ],
170
+ "useWhen": [
171
+ "Moving forward or expanding content toward the right."
172
+ ],
173
+ "avoidWhen": [
174
+ "A directional arrow represents transfer, movement, or an external link."
175
+ ],
176
+ "related": [
177
+ "ChevronLeft"
178
+ ],
179
+ "status": "stable"
180
+ }
181
+ ]
182
+ };
183
+ export default manifest;
@@ -0,0 +1,2 @@
1
+ import { IconComponent } from '../createIcon.mjs';
2
+ export declare const HandHeart: IconComponent;
@@ -0,0 +1,10 @@
1
+ import { createElement } from 'react';
2
+ import { createIcon } from '../createIcon.mjs';
3
+
4
+ const HandHeart = createIcon('hand-heart', [
5
+ createElement('path', { fillRule: "evenodd", clipRule: "evenodd", d: "M6.07129 7.33301C6.66732 7.0946 7.33268 7.0946 7.92871 7.33301L9.12305 7.81055C9.65242 8.0223 9.99996 8.53532 10 9.10547C9.99999 9.87558 9.37559 10.5 8.60547 10.5H7V9.5H8.60547C8.8233 9.5 8.99999 9.3233 9 9.10547C8.99996 8.94422 8.90167 8.79915 8.75195 8.73926L7.55664 8.26172C7.19918 8.11881 6.80082 8.11881 6.44336 8.26172L5 8.83789V13H9.11523C9.30593 12.9999 9.49482 12.9634 9.67188 12.8926L13.752 11.2607C13.9017 11.2009 14 11.0558 14 10.8945C14 10.6767 13.8233 10.5 13.6055 10.5H10.5V9.5H13.6055C14.3756 9.5 15 10.1244 15 10.8945C15 11.4647 14.6524 11.9777 14.123 12.1895L10.043 13.8213C9.74789 13.9393 9.43303 13.9999 9.11523 14H2V8H4.4043L6.07129 7.33301ZM3 13H4V9H3V13Z", key: "a" }),
6
+ createElement('path', { fillRule: "evenodd", clipRule: "evenodd", d: "M12.2119 1.5C13.4546 1.50011 14.4999 2.4657 14.5 3.70117C14.4999 4.62049 13.9393 5.43673 13.3066 6.05078C12.6618 6.67668 11.8588 7.17449 11.1973 7.45898L11 7.54395L10.8027 7.45898C10.1412 7.17449 9.33823 6.67668 8.69336 6.05078C8.06073 5.43673 7.50014 4.62049 7.5 3.70117C7.50009 2.46592 8.54461 1.50011 9.78809 1.5C10.2769 1.5 10.6786 1.66193 11 1.87012C11.3211 1.66201 11.7228 1.5 12.2119 1.5ZM12.2119 2.5C11.8639 2.5 11.5799 2.65233 11.3291 2.87109L11 3.1582L10.6719 2.87109C10.4213 2.65237 10.1365 2.5 9.78809 2.5C9.0511 2.50011 8.50005 3.06285 8.5 3.70117C8.50014 4.21663 8.82798 4.78781 9.38965 5.33301C9.87618 5.80525 10.4795 6.19789 11 6.44922C11.5205 6.19789 12.1238 5.80525 12.6104 5.33301C13.172 4.78781 13.4999 4.21663 13.5 3.70117C13.5 3.06289 12.9484 2.50011 12.2119 2.5Z", key: "b" }),
7
+ ]);
8
+
9
+ HandHeart.displayName = 'HandHeart';
10
+ export { HandHeart };
@@ -190,6 +190,7 @@ export { GraphDecreasing } from './GraphDecreasing.mjs';
190
190
  export { GraphIncreasing } from './GraphIncreasing.mjs';
191
191
  export { GroupBy } from './GroupBy.mjs';
192
192
  export { Hamburger } from './Hamburger.mjs';
193
+ export { HandHeart } from './HandHeart.mjs';
193
194
  export { HandOpen } from './HandOpen.mjs';
194
195
  export { Headset } from './Headset.mjs';
195
196
  export { History } from './History.mjs';
@@ -190,6 +190,7 @@ export { GraphDecreasing } from './GraphDecreasing.mjs';
190
190
  export { GraphIncreasing } from './GraphIncreasing.mjs';
191
191
  export { GroupBy } from './GroupBy.mjs';
192
192
  export { Hamburger } from './Hamburger.mjs';
193
+ export { HandHeart } from './HandHeart.mjs';
193
194
  export { HandOpen } from './HandOpen.mjs';
194
195
  export { Headset } from './Headset.mjs';
195
196
  export { History } from './History.mjs';
package/dist/index.d.ts CHANGED
@@ -195,6 +195,7 @@ export { GraphDecreasing } from './icons/GraphDecreasing.mjs';
195
195
  export { GraphIncreasing } from './icons/GraphIncreasing.mjs';
196
196
  export { GroupBy } from './icons/GroupBy.mjs';
197
197
  export { Hamburger } from './icons/Hamburger.mjs';
198
+ export { HandHeart } from './icons/HandHeart.mjs';
198
199
  export { HandOpen } from './icons/HandOpen.mjs';
199
200
  export { Headset } from './icons/Headset.mjs';
200
201
  export { History } from './icons/History.mjs';
package/dist/index.mjs CHANGED
@@ -193,6 +193,7 @@ export { GraphDecreasing } from './icons/GraphDecreasing.mjs';
193
193
  export { GraphIncreasing } from './icons/GraphIncreasing.mjs';
194
194
  export { GroupBy } from './icons/GroupBy.mjs';
195
195
  export { Hamburger } from './icons/Hamburger.mjs';
196
+ export { HandHeart } from './icons/HandHeart.mjs';
196
197
  export { HandOpen } from './icons/HandOpen.mjs';
197
198
  export { Headset } from './icons/Headset.mjs';
198
199
  export { History } from './icons/History.mjs';
package/dist/meta.d.ts CHANGED
@@ -3,10 +3,21 @@ export interface IconMetaEntry {
3
3
  category: string;
4
4
  kebab: string;
5
5
  aliases: string[];
6
+ concepts?: string[];
7
+ roles?: string[];
8
+ useWhen?: string[];
9
+ avoidWhen?: string[];
10
+ related?: string[];
11
+ variantOf?: string;
12
+ status?: 'experimental' | 'stable' | 'deprecated' | 'removed';
13
+ replacedBy?: string;
6
14
  }
7
15
 
8
16
  export interface IconCategorySummary {
9
17
  count: number;
18
+ colorModel: 'monochrome' | 'multicolor' | 'layered';
19
+ motion: 'static' | 'animated';
20
+ /** @deprecated Use colorModel. */
10
21
  themeable: boolean;
11
22
  }
12
23
 
package/dist/meta.json CHANGED
@@ -1,13 +1,17 @@
1
1
  {
2
- "version": "6.1.2",
3
- "count": 429,
2
+ "version": "6.3.0",
3
+ "count": 430,
4
4
  "categories": {
5
5
  "system": {
6
- "count": 397,
6
+ "count": 398,
7
+ "colorModel": "monochrome",
8
+ "motion": "static",
7
9
  "themeable": true
8
10
  },
9
11
  "flag": {
10
12
  "count": 32,
13
+ "colorModel": "multicolor",
14
+ "motion": "static",
11
15
  "themeable": false
12
16
  }
13
17
  },
@@ -270,7 +274,25 @@
270
274
  "notification",
271
275
  "alert",
272
276
  "alarm"
273
- ]
277
+ ],
278
+ "concepts": [
279
+ "notification"
280
+ ],
281
+ "roles": [
282
+ "action",
283
+ "navigation"
284
+ ],
285
+ "useWhen": [
286
+ "Opening or representing notifications and alerts."
287
+ ],
288
+ "avoidWhen": [
289
+ "Representing validation warnings or errors."
290
+ ],
291
+ "related": [
292
+ "BellFilled",
293
+ "BellRinging"
294
+ ],
295
+ "status": "stable"
274
296
  },
275
297
  {
276
298
  "name": "BellCircle",
@@ -301,7 +323,26 @@
301
323
  "notification-filled",
302
324
  "alert-solid",
303
325
  "alarm-solid"
304
- ]
326
+ ],
327
+ "concepts": [
328
+ "notification"
329
+ ],
330
+ "roles": [
331
+ "status",
332
+ "selected-state"
333
+ ],
334
+ "useWhen": [
335
+ "A notification affordance needs a filled or selected visual state."
336
+ ],
337
+ "avoidWhen": [
338
+ "The unselected notification action is sufficient."
339
+ ],
340
+ "related": [
341
+ "Bell",
342
+ "BellRinging"
343
+ ],
344
+ "variantOf": "Bell",
345
+ "status": "stable"
305
346
  },
306
347
  {
307
348
  "name": "BellRinging",
@@ -581,7 +622,25 @@
581
622
  "success",
582
623
  "verified",
583
624
  "approved"
584
- ]
625
+ ],
626
+ "concepts": [
627
+ "success",
628
+ "verified",
629
+ "complete"
630
+ ],
631
+ "roles": [
632
+ "status"
633
+ ],
634
+ "useWhen": [
635
+ "Representing a successful, verified, approved, or completed state."
636
+ ],
637
+ "avoidWhen": [
638
+ "The user is toggling a selectable checkbox control."
639
+ ],
640
+ "related": [
641
+ "CheckCircleFilled"
642
+ ],
643
+ "status": "stable"
585
644
  },
586
645
  {
587
646
  "name": "CheckCircleFilled",
@@ -591,7 +650,27 @@
591
650
  "success-filled",
592
651
  "verified-solid",
593
652
  "confirmed-selected"
594
- ]
653
+ ],
654
+ "concepts": [
655
+ "success",
656
+ "verified",
657
+ "complete"
658
+ ],
659
+ "roles": [
660
+ "status",
661
+ "selected-state"
662
+ ],
663
+ "useWhen": [
664
+ "A success or completed status needs stronger filled emphasis."
665
+ ],
666
+ "avoidWhen": [
667
+ "The user is toggling a selectable checkbox control."
668
+ ],
669
+ "related": [
670
+ "CheckCircle"
671
+ ],
672
+ "variantOf": "CheckCircle",
673
+ "status": "stable"
595
674
  },
596
675
  {
597
676
  "name": "CheckDouble",
@@ -621,7 +700,26 @@
621
700
  "back",
622
701
  "previous",
623
702
  "caret-left"
624
- ]
703
+ ],
704
+ "concepts": [
705
+ "previous",
706
+ "back",
707
+ "collapse-left"
708
+ ],
709
+ "roles": [
710
+ "navigation",
711
+ "disclosure"
712
+ ],
713
+ "useWhen": [
714
+ "Moving backward or collapsing content toward the left."
715
+ ],
716
+ "avoidWhen": [
717
+ "A directional arrow represents transfer, movement, or an external link."
718
+ ],
719
+ "related": [
720
+ "ChevronRight"
721
+ ],
722
+ "status": "stable"
625
723
  },
626
724
  {
627
725
  "name": "ChevronLeftDouble",
@@ -641,7 +739,26 @@
641
739
  "next",
642
740
  "forward",
643
741
  "caret-right"
644
- ]
742
+ ],
743
+ "concepts": [
744
+ "next",
745
+ "forward",
746
+ "expand-right"
747
+ ],
748
+ "roles": [
749
+ "navigation",
750
+ "disclosure"
751
+ ],
752
+ "useWhen": [
753
+ "Moving forward or expanding content toward the right."
754
+ ],
755
+ "avoidWhen": [
756
+ "A directional arrow represents transfer, movement, or an external link."
757
+ ],
758
+ "related": [
759
+ "ChevronLeft"
760
+ ],
761
+ "status": "stable"
645
762
  },
646
763
  {
647
764
  "name": "ChevronRightDouble",
@@ -1959,6 +2076,16 @@
1959
2076
  "lines"
1960
2077
  ]
1961
2078
  },
2079
+ {
2080
+ "name": "HandHeart",
2081
+ "category": "system",
2082
+ "kebab": "hand-heart",
2083
+ "aliases": [
2084
+ "care",
2085
+ "charity",
2086
+ "giving"
2087
+ ]
2088
+ },
1962
2089
  {
1963
2090
  "name": "HandOpen",
1964
2091
  "category": "system",
package/dist/sprite.svg CHANGED
@@ -575,6 +575,9 @@
575
575
  <symbol id="hamburger" viewBox="0 0 16 16" fill="currentColor">
576
576
  <path fill-rule="evenodd" clip-rule="evenodd" d="M14 4.5H2V3.5H14V4.5ZM14 8.5H2V7.5H14V8.5ZM14 12.5H2V11.5H14V12.5Z" fill="currentColor"/>
577
577
  </symbol>
578
+ <symbol id="hand-heart" viewBox="0 0 16 16" fill="currentColor">
579
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M6.07129 7.33301C6.66732 7.0946 7.33268 7.0946 7.92871 7.33301L9.12305 7.81055C9.65242 8.0223 9.99996 8.53532 10 9.10547C9.99999 9.87558 9.37559 10.5 8.60547 10.5H7V9.5H8.60547C8.8233 9.5 8.99999 9.3233 9 9.10547C8.99996 8.94422 8.90167 8.79915 8.75195 8.73926L7.55664 8.26172C7.19918 8.11881 6.80082 8.11881 6.44336 8.26172L5 8.83789V13H9.11523C9.30593 12.9999 9.49482 12.9634 9.67188 12.8926L13.752 11.2607C13.9017 11.2009 14 11.0558 14 10.8945C14 10.6767 13.8233 10.5 13.6055 10.5H10.5V9.5H13.6055C14.3756 9.5 15 10.1244 15 10.8945C15 11.4647 14.6524 11.9777 14.123 12.1895L10.043 13.8213C9.74789 13.9393 9.43303 13.9999 9.11523 14H2V8H4.4043L6.07129 7.33301ZM3 13H4V9H3V13Z" fill="currentColor"/><path fill-rule="evenodd" clip-rule="evenodd" d="M12.2119 1.5C13.4546 1.50011 14.4999 2.4657 14.5 3.70117C14.4999 4.62049 13.9393 5.43673 13.3066 6.05078C12.6618 6.67668 11.8588 7.17449 11.1973 7.45898L11 7.54395L10.8027 7.45898C10.1412 7.17449 9.33823 6.67668 8.69336 6.05078C8.06073 5.43673 7.50014 4.62049 7.5 3.70117C7.50009 2.46592 8.54461 1.50011 9.78809 1.5C10.2769 1.5 10.6786 1.66193 11 1.87012C11.3211 1.66201 11.7228 1.5 12.2119 1.5ZM12.2119 2.5C11.8639 2.5 11.5799 2.65233 11.3291 2.87109L11 3.1582L10.6719 2.87109C10.4213 2.65237 10.1365 2.5 9.78809 2.5C9.0511 2.50011 8.50005 3.06285 8.5 3.70117C8.50014 4.21663 8.82798 4.78781 9.38965 5.33301C9.87618 5.80525 10.4795 6.19789 11 6.44922C11.5205 6.19789 12.1238 5.80525 12.6104 5.33301C13.172 4.78781 13.4999 4.21663 13.5 3.70117C13.5 3.06289 12.9484 2.50011 12.2119 2.5Z" fill="currentColor"/>
580
+ </symbol>
578
581
  <symbol id="hand-open" viewBox="0 0 16 16" fill="currentColor">
579
582
  <path d="M8.50003 3C8.50003 2.72386 8.27617 2.5 8.00003 2.5C7.72389 2.5 7.50003 2.72386 7.50003 3V8H6.50003V4C6.50003 3.72386 6.27617 3.5 6.00003 3.5C5.72389 3.5 5.50003 3.72386 5.50003 4V9L4.59964 9.2998L3.56741 7.92285C3.4358 7.74737 3.19957 7.68728 3.00003 7.77832C2.76006 7.888 2.65788 8.17493 2.77542 8.41113L5.3096 13.5H11.6094L12.5 9.9375V5.5C12.5 5.22387 12.2762 5.00001 12 5C11.7239 5 11.5 5.22386 11.5 5.5V8H10.5V4C10.5 3.72386 10.2762 3.5 10 3.5C9.72389 3.5 9.50003 3.72386 9.50003 4V8H8.50003V3ZM11.5 4.08691C11.6566 4.03153 11.8245 4 12 4C12.8284 4.00001 13.5 4.67158 13.5 5.5V10.0615L13.4854 10.1211L12.4854 14.1211L12 14.5H5.00003L4.55277 14.2227L1.88089 8.85645C1.51144 8.11422 1.82998 7.21384 2.58402 6.86914C3.21122 6.58248 3.95346 6.77156 4.36722 7.32324L4.50003 7.5V4C4.50003 3.17157 5.1716 2.5 6.00003 2.5C6.1954 2.5 6.38159 2.53849 6.55277 2.60645C6.7257 1.96899 7.30784 1.5 8.00003 1.5C8.69213 1.5 9.27331 1.96912 9.44632 2.60645C9.61772 2.53828 9.80434 2.5 10 2.5C10.8285 2.5 11.5 3.17157 11.5 4V4.08691Z" fill="currentColor"/>
580
583
  </symbol>
@@ -0,0 +1 @@
1
+ export declare const HandHeart: string;
@@ -0,0 +1 @@
1
+ export const HandHeart = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6.07129 7.33301C6.66732 7.0946 7.33268 7.0946 7.92871 7.33301L9.12305 7.81055C9.65242 8.0223 9.99996 8.53532 10 9.10547C9.99999 9.87558 9.37559 10.5 8.60547 10.5H7V9.5H8.60547C8.8233 9.5 8.99999 9.3233 9 9.10547C8.99996 8.94422 8.90167 8.79915 8.75195 8.73926L7.55664 8.26172C7.19918 8.11881 6.80082 8.11881 6.44336 8.26172L5 8.83789V13H9.11523C9.30593 12.9999 9.49482 12.9634 9.67188 12.8926L13.752 11.2607C13.9017 11.2009 14 11.0558 14 10.8945C14 10.6767 13.8233 10.5 13.6055 10.5H10.5V9.5H13.6055C14.3756 9.5 15 10.1244 15 10.8945C15 11.4647 14.6524 11.9777 14.123 12.1895L10.043 13.8213C9.74789 13.9393 9.43303 13.9999 9.11523 14H2V8H4.4043L6.07129 7.33301ZM3 13H4V9H3V13Z\" fill=\"currentColor\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12.2119 1.5C13.4546 1.50011 14.4999 2.4657 14.5 3.70117C14.4999 4.62049 13.9393 5.43673 13.3066 6.05078C12.6618 6.67668 11.8588 7.17449 11.1973 7.45898L11 7.54395L10.8027 7.45898C10.1412 7.17449 9.33823 6.67668 8.69336 6.05078C8.06073 5.43673 7.50014 4.62049 7.5 3.70117C7.50009 2.46592 8.54461 1.50011 9.78809 1.5C10.2769 1.5 10.6786 1.66193 11 1.87012C11.3211 1.66201 11.7228 1.5 12.2119 1.5ZM12.2119 2.5C11.8639 2.5 11.5799 2.65233 11.3291 2.87109L11 3.1582L10.6719 2.87109C10.4213 2.65237 10.1365 2.5 9.78809 2.5C9.0511 2.50011 8.50005 3.06285 8.5 3.70117C8.50014 4.21663 8.82798 4.78781 9.38965 5.33301C9.87618 5.80525 10.4795 6.19789 11 6.44922C11.5205 6.19789 12.1238 5.80525 12.6104 5.33301C13.172 4.78781 13.4999 4.21663 13.5 3.70117C13.5 3.06289 12.9484 2.50011 12.2119 2.5Z\" fill=\"currentColor\"/></svg>";
@@ -190,6 +190,7 @@ export { GraphDecreasing } from './GraphDecreasing.mjs';
190
190
  export { GraphIncreasing } from './GraphIncreasing.mjs';
191
191
  export { GroupBy } from './GroupBy.mjs';
192
192
  export { Hamburger } from './Hamburger.mjs';
193
+ export { HandHeart } from './HandHeart.mjs';
193
194
  export { HandOpen } from './HandOpen.mjs';
194
195
  export { Headset } from './Headset.mjs';
195
196
  export { History } from './History.mjs';
@@ -190,6 +190,7 @@ export { GraphDecreasing } from './GraphDecreasing.mjs';
190
190
  export { GraphIncreasing } from './GraphIncreasing.mjs';
191
191
  export { GroupBy } from './GroupBy.mjs';
192
192
  export { Hamburger } from './Hamburger.mjs';
193
+ export { HandHeart } from './HandHeart.mjs';
193
194
  export { HandOpen } from './HandOpen.mjs';
194
195
  export { Headset } from './Headset.mjs';
195
196
  export { History } from './History.mjs';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ds-mo/icons",
3
- "version": "6.1.2",
4
- "description": "IcoMo — 429 SVG icons (397 system icons + 32 country flags) as tree-shakeable React components, framework-agnostic SVG strings, TypeScript definitions, and SVG sprite",
3
+ "version": "6.3.0",
4
+ "description": "IcoMo — 430 SVG icons (398 system icons + 32 country flags) as tree-shakeable React components, framework-agnostic SVG strings, TypeScript definitions, and SVG sprite",
5
5
  "keywords": [
6
6
  "icons",
7
7
  "svg",
@@ -67,6 +67,12 @@
67
67
  "default": "./dist/meta.json"
68
68
  },
69
69
  "./meta.json": "./dist/meta.json",
70
+ "./agent": {
71
+ "import": "./dist/agent.mjs",
72
+ "types": "./dist/agent.d.ts",
73
+ "default": "./dist/agent.json"
74
+ },
75
+ "./agent.json": "./dist/agent.json",
70
76
  "./createIcon": {
71
77
  "import": "./dist/createIcon.mjs",
72
78
  "types": "./dist/createIcon.d.ts"
@@ -83,11 +89,18 @@
83
89
  "build": "node scripts/build.mjs",
84
90
  "build:docs": "node scripts/build-docs.mjs",
85
91
  "build:pdf": "node scripts/generate-pdfs.mjs",
92
+ "validate": "node scripts/validate-source.mjs",
93
+ "test": "node --test tests/*.test.mjs",
86
94
  "dev": "node scripts/build.mjs --watch",
87
95
  "clean": "rm -rf dist"
88
96
  },
89
97
  "peerDependencies": {
90
- "react": ">=17.0.0"
98
+ "react": "^18 || ^19"
99
+ },
100
+ "peerDependenciesMeta": {
101
+ "react": {
102
+ "optional": true
103
+ }
91
104
  },
92
105
  "devDependencies": {
93
106
  "chokidar": "^5.0.0",
@@ -95,7 +108,7 @@
95
108
  "svg-to-pdfkit": "^0.1.8"
96
109
  },
97
110
  "engines": {
98
- "node": ">=20.19.0"
111
+ "node": "^20.19.0 || >=22.12.0"
99
112
  },
100
113
  "sideEffects": false,
101
114
  "publishConfig": {