@mesalvo/icons 0.0.32156
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/LICENSE +61 -0
- package/README.md +94 -0
- package/dist/index.d.ts +1562 -0
- package/dist/index.js +2 -0
- package/package.json +65 -0
- package/src/icons/Activity.tsx +22 -0
- package/src/icons/Ad.tsx +23 -0
- package/src/icons/Affiliate.tsx +22 -0
- package/src/icons/Alarm.tsx +23 -0
- package/src/icons/AlarmOff.tsx +23 -0
- package/src/icons/AlertCircle.tsx +22 -0
- package/src/icons/AlertTriangle.tsx +22 -0
- package/src/icons/Alt.tsx +22 -0
- package/src/icons/Approved.tsx +44 -0
- package/src/icons/ArrowBackUp.tsx +23 -0
- package/src/icons/ArrowDown.tsx +22 -0
- package/src/icons/ArrowLeft.tsx +22 -0
- package/src/icons/ArrowNarrowLeft.tsx +22 -0
- package/src/icons/ArrowNarrowRight.tsx +22 -0
- package/src/icons/ArrowRight.tsx +22 -0
- package/src/icons/ArrowUp.tsx +22 -0
- package/src/icons/ArrowsDiff.tsx +22 -0
- package/src/icons/AspectRatio.tsx +23 -0
- package/src/icons/Assembly.tsx +23 -0
- package/src/icons/Bold.tsx +22 -0
- package/src/icons/BookmarkPlus.tsx +22 -0
- package/src/icons/Briefcase.tsx +23 -0
- package/src/icons/Building.tsx +22 -0
- package/src/icons/BuildingHospital.tsx +23 -0
- package/src/icons/CalendarEvent.tsx +23 -0
- package/src/icons/Camera.tsx +23 -0
- package/src/icons/Capture.tsx +22 -0
- package/src/icons/ChartLine.tsx +22 -0
- package/src/icons/Check.tsx +22 -0
- package/src/icons/Checklist.tsx +22 -0
- package/src/icons/Checks.tsx +22 -0
- package/src/icons/ChevronDown.tsx +22 -0
- package/src/icons/ChevronLeft.tsx +22 -0
- package/src/icons/ChevronRight.tsx +22 -0
- package/src/icons/ChevronUp.tsx +22 -0
- package/src/icons/Clipboard.tsx +23 -0
- package/src/icons/Clock.tsx +23 -0
- package/src/icons/Cloud.tsx +22 -0
- package/src/icons/Code.tsx +22 -0
- package/src/icons/CodeDots.tsx +22 -0
- package/src/icons/Command.tsx +22 -0
- package/src/icons/Components.tsx +22 -0
- package/src/icons/Copy.tsx +23 -0
- package/src/icons/Cpu.tsx +23 -0
- package/src/icons/Dashboard.tsx +23 -0
- package/src/icons/Database.tsx +24 -0
- package/src/icons/DeviceDesktop.tsx +22 -0
- package/src/icons/DeviceFloppy.tsx +23 -0
- package/src/icons/DeviceLaptop.tsx +22 -0
- package/src/icons/Door.tsx +22 -0
- package/src/icons/Dots.tsx +22 -0
- package/src/icons/DotsVertical.tsx +22 -0
- package/src/icons/Download.tsx +22 -0
- package/src/icons/Edit.tsx +23 -0
- package/src/icons/EditOff.tsx +23 -0
- package/src/icons/Engine.tsx +22 -0
- package/src/icons/Eraser.tsx +22 -0
- package/src/icons/ExclamationCircle.tsx +22 -0
- package/src/icons/Eye.tsx +23 -0
- package/src/icons/EyeClosed.tsx +22 -0
- package/src/icons/FaceIdError.tsx +22 -0
- package/src/icons/File.tsx +23 -0
- package/src/icons/FileText.tsx +23 -0
- package/src/icons/FileUpload.tsx +24 -0
- package/src/icons/FileX.tsx +23 -0
- package/src/icons/Filter.tsx +22 -0
- package/src/icons/FilterOff.tsx +22 -0
- package/src/icons/Flag.tsx +22 -0
- package/src/icons/Focus.tsx +23 -0
- package/src/icons/Folder.tsx +22 -0
- package/src/icons/GenderFemale.tsx +22 -0
- package/src/icons/GenderMale.tsx +22 -0
- package/src/icons/GenderTransgender.tsx +22 -0
- package/src/icons/GridDots.tsx +22 -0
- package/src/icons/GripVertical.tsx +22 -0
- package/src/icons/Heart.tsx +22 -0
- package/src/icons/HeartHandshake.tsx +23 -0
- package/src/icons/Home.tsx +23 -0
- package/src/icons/Id.tsx +23 -0
- package/src/icons/InfoCircle.tsx +23 -0
- package/src/icons/InputSearch.tsx +22 -0
- package/src/icons/Italic.tsx +22 -0
- package/src/icons/Key.tsx +22 -0
- package/src/icons/Link.tsx +22 -0
- package/src/icons/Lock.tsx +23 -0
- package/src/icons/Logout.tsx +23 -0
- package/src/icons/Message.tsx +22 -0
- package/src/icons/MessageChatbot.tsx +23 -0
- package/src/icons/MessageDots.tsx +22 -0
- package/src/icons/Messages.tsx +22 -0
- package/src/icons/Microphone.tsx +23 -0
- package/src/icons/Minus.tsx +22 -0
- package/src/icons/Moon.tsx +22 -0
- package/src/icons/Navigation.tsx +22 -0
- package/src/icons/Password.tsx +22 -0
- package/src/icons/Pencil.tsx +22 -0
- package/src/icons/PlaylistAdd.tsx +22 -0
- package/src/icons/Plus.tsx +22 -0
- package/src/icons/Pointer.tsx +22 -0
- package/src/icons/QuestionMark.tsx +22 -0
- package/src/icons/Radio.tsx +22 -0
- package/src/icons/Radioactive.tsx +22 -0
- package/src/icons/Refresh.tsx +22 -0
- package/src/icons/ReplaceOff.tsx +22 -0
- package/src/icons/ReplaceUser.tsx +22 -0
- package/src/icons/Search.tsx +22 -0
- package/src/icons/Selector.tsx +22 -0
- package/src/icons/Send.tsx +22 -0
- package/src/icons/Settings.tsx +23 -0
- package/src/icons/Signature.tsx +27 -0
- package/src/icons/SortAscending.tsx +22 -0
- package/src/icons/SortDescending.tsx +22 -0
- package/src/icons/Sparkles.tsx +22 -0
- package/src/icons/Speakerphone.tsx +23 -0
- package/src/icons/Star.tsx +22 -0
- package/src/icons/Sun.tsx +22 -0
- package/src/icons/Tool.tsx +22 -0
- package/src/icons/Trash.tsx +22 -0
- package/src/icons/Underline.tsx +22 -0
- package/src/icons/Upload.tsx +22 -0
- package/src/icons/User.tsx +22 -0
- package/src/icons/Users.tsx +22 -0
- package/src/icons/Wand.tsx +22 -0
- package/src/icons/WaxSeal.tsx +40 -0
- package/src/icons/Wifi.tsx +23 -0
- package/src/icons/World.tsx +23 -0
- package/src/icons/X.tsx +22 -0
- package/src/icons/ZoomIn.tsx +22 -0
- package/src/icons/ZoomOut.tsx +22 -0
- package/src/icons/index.ts +126 -0
- package/src/map.ts +265 -0
- package/src/ui/Icon.tsx +21 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
PROPRIETARY SOFTWARE LICENSE
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Mesalvo GmbH. All rights reserved.
|
|
4
|
+
|
|
5
|
+
NOTICE TO USER:
|
|
6
|
+
|
|
7
|
+
This software and associated documentation files (the "Software") are the
|
|
8
|
+
proprietary and confidential information of Mesalvo GmbH ("Mesalvo").
|
|
9
|
+
|
|
10
|
+
The Software is licensed, not sold. This license grants you the following rights:
|
|
11
|
+
|
|
12
|
+
1. GRANT OF LICENSE
|
|
13
|
+
Subject to the terms and conditions of this License, Mesalvo grants you a
|
|
14
|
+
limited, non-exclusive, non-transferable, revocable license to use the
|
|
15
|
+
Software solely for internal business purposes within your organization.
|
|
16
|
+
|
|
17
|
+
2. RESTRICTIONS
|
|
18
|
+
You may NOT:
|
|
19
|
+
- Copy, modify, or create derivative works of the Software
|
|
20
|
+
- Distribute, sublicense, lease, rent, or lend the Software
|
|
21
|
+
- Reverse engineer, decompile, or disassemble the Software
|
|
22
|
+
- Remove or alter any proprietary notices or labels on the Software
|
|
23
|
+
- Use the Software for any purpose other than as expressly permitted
|
|
24
|
+
- Transfer or assign your rights under this License
|
|
25
|
+
|
|
26
|
+
3. OWNERSHIP
|
|
27
|
+
Mesalvo retains all right, title, and interest in and to the Software,
|
|
28
|
+
including all intellectual property rights therein. This License does not
|
|
29
|
+
grant you any rights to trademarks, service marks, or trade names of Mesalvo.
|
|
30
|
+
|
|
31
|
+
4. CONFIDENTIALITY
|
|
32
|
+
The Software contains trade secrets and proprietary information of Mesalvo.
|
|
33
|
+
You agree to maintain the confidentiality of the Software and not to disclose
|
|
34
|
+
it to any third party without the prior written consent of Mesalvo.
|
|
35
|
+
|
|
36
|
+
5. TERMINATION
|
|
37
|
+
This License is effective until terminated. Your rights under this License
|
|
38
|
+
will terminate automatically without notice if you fail to comply with any
|
|
39
|
+
term of this License. Upon termination, you must destroy all copies of the
|
|
40
|
+
Software in your possession.
|
|
41
|
+
|
|
42
|
+
6. DISCLAIMER OF WARRANTIES
|
|
43
|
+
THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
44
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
45
|
+
FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT.
|
|
46
|
+
|
|
47
|
+
7. LIMITATION OF LIABILITY
|
|
48
|
+
IN NO EVENT SHALL MESALVO BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER
|
|
49
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING
|
|
50
|
+
FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
51
|
+
DEALINGS IN THE SOFTWARE.
|
|
52
|
+
|
|
53
|
+
8. GOVERNING LAW
|
|
54
|
+
This License shall be governed by and construed in accordance with the laws
|
|
55
|
+
of Germany, without regard to its conflict of law provisions.
|
|
56
|
+
|
|
57
|
+
For licensing inquiries, please contact:
|
|
58
|
+
Mesalvo GmbH
|
|
59
|
+
Email: info@mesalvo.com
|
|
60
|
+
Website: https://mesalvo.com
|
|
61
|
+
|
package/README.md
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
|
|
2
|
+
# How to Build an Icon Library with TypeScript, Tsup, and SVGR
|
|
3
|
+
|
|
4
|
+
This project is a TypeScript-based icon library that transforms SVG files into reusable React components using **SVGR** and bundles them efficiently with **Tsup**. This guide will show you how to set up the project, generate components from SVG files, customize them, and publish the library on npm.
|
|
5
|
+
|
|
6
|
+
## Features
|
|
7
|
+
|
|
8
|
+
- **Reusable React components**: Automatically generate React components from SVG files.
|
|
9
|
+
- **Customizable icons**: Dynamically change the `size` and `color` of icons.
|
|
10
|
+
- **Bundled with Tsup**: Efficient bundling for both CommonJS and ES Modules.
|
|
11
|
+
- **TypeScript support**: Full type definitions for easy integration into TypeScript projects.
|
|
12
|
+
|
|
13
|
+
## Project Structure
|
|
14
|
+
|
|
15
|
+
The folder structure for this project looks like this:
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
my-icons-library/
|
|
19
|
+
├── icons/ # SVG files go here
|
|
20
|
+
├── src/
|
|
21
|
+
│ └── icons/ # Generated React components
|
|
22
|
+
├── scripts/ # Utility scripts for custom tasks
|
|
23
|
+
├── index.ts # Entry point of the library
|
|
24
|
+
├── tsconfig.json # TypeScript config file
|
|
25
|
+
├── package.json # Project settings
|
|
26
|
+
└── tsup.config.ts # Tsup config file for building the project
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Installation
|
|
30
|
+
|
|
31
|
+
To install the project dependencies, run:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
npm install
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Generating React Icon Components
|
|
38
|
+
|
|
39
|
+
Place your SVG files in the `icons/` folder. Then, run the following script to generate the React components from the SVG files:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npm run generate-icons
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Customizing Icons
|
|
46
|
+
|
|
47
|
+
To add dynamic `size` and `color` properties to your icons, run the following script:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
npm run generate-and-modify-icons
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
This will allow you to customize the appearance of icons when you use them in your React project.
|
|
54
|
+
|
|
55
|
+
## Building the Library
|
|
56
|
+
|
|
57
|
+
To bundle the icon components and generate the output files in the `dist/` directory, run:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
npm run build
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
This will create both CommonJS and ES Module bundles, along with the type definitions.
|
|
64
|
+
|
|
65
|
+
## Publishing to npm
|
|
66
|
+
|
|
67
|
+
Follow these steps to publish your library to npm:
|
|
68
|
+
|
|
69
|
+
1. Make sure you're logged in to npm:
|
|
70
|
+
```bash
|
|
71
|
+
npm login
|
|
72
|
+
```
|
|
73
|
+
2. Publish the package:
|
|
74
|
+
```bash
|
|
75
|
+
npm publish --access public
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## License
|
|
79
|
+
|
|
80
|
+
This project is licensed under the MIT License.
|
|
81
|
+
|
|
82
|
+
## Contributing
|
|
83
|
+
|
|
84
|
+
Feel free to fork this project and submit pull requests. Contributions are welcome!
|
|
85
|
+
|
|
86
|
+
## Related Articles
|
|
87
|
+
|
|
88
|
+
For those looking to deepen their understanding of how to create and publish a TypeScript library, I recommend checking out the following resources:
|
|
89
|
+
|
|
90
|
+
- [How to Create a React Component Library Using Vite’s Library Mode](https://dev.to/receter/how-to-create-a-react-component-library-using-vites-library-mode-4lma)
|
|
91
|
+
- [How to Write a Tree-Shakable Component Library](https://dev.to/lukasbombach/how-to-write-a-tree-shakable-component-library-4ied)
|
|
92
|
+
- [How to Bundle a Tree-Shakable TypeScript Library with Tsup and Publish with npm](https://dev.to/orabazu/how-to-bundle-a-tree-shakable-typescript-library-with-tsup-and-publish-with-npm-3c46)
|
|
93
|
+
|
|
94
|
+
These articles offer additional insights into creating efficient, tree-shakable libraries.
|