PromucFlow_constructor/app/client/packages/icons
Valera Melnikov 5da5a1e507
chore: chore: add SVGR to appsmith-icon package, add processing for custom icons, update date-fns (#37115)
## Description
- chore: add SVGR to appsmith-icon package
- add processing for custom icons
- update date-fns

Changes are necessary for [this EE
PR](https://github.com/appsmithorg/appsmith-ee/pull/5448).

## Automation

/ok-to-test tags="@tag.Sanity"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/11551127644>
> Commit: 44fd968044ad5a5ca173c565b3b0c1d6f030cd1e
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=11551127644&attempt=1"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.Sanity`
> Spec:
> <hr>Mon, 28 Oct 2024 10:11:55 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Release Notes

- **New Features**
- Introduced `AIAvatarCustomIcon` component for enhanced icon
customization.
- Added `CustomIcons` documentation in Storybook for better visibility
of custom icons.

- **Improvements**
- Updated multiple icon components to accept SVG properties, enhancing
flexibility and reusability.
- Enhanced type safety for `IconCmp` and `ThumbnailCmp` properties
across various interfaces.
- Expanded functionality in the `generateStories` function to include
stories for custom icons.

- **Chores**
- Improved import statements and export structures for better code
organization.
- Extended cleanup functionality to ensure directories are properly
managed.
- Modified the `generateComponents` function to utilize a more robust
SVG-to-React transformation process.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2024-10-28 14:55:42 +03:00
..
src chore: chore: add SVGR to appsmith-icon package, add processing for custom icons, update date-fns (#37115) 2024-10-28 14:55:42 +03:00
.env.example
.eslintrc.json
.gitignore
.prettierignore
figmagic.json
package.json chore: chore: add SVGR to appsmith-icon package, add processing for custom icons, update date-fns (#37115) 2024-10-28 14:55:42 +03:00
README.md
tsconfig.json chore: Input morphing (#35845) 2024-08-27 12:15:45 +05:30

Appsmith Icons

We automatically import icons from Figma, optimise and prepare some of them for further use in the main app.

NOTE: All files in folders are created automatically. Do not change them manually, after running generation scripts, the changes will be lost. To make changes, see the files in the utils folder.

How to use?

To update the icons, you only need to run the generate-icons script — yarn run build.

To make everything work right, you just need to set Figma token (press Get personal access token) in the .env file. It's easy to create .env file, just copy .env.example.

import { ButtonIcon } from "appsmith-icons";

<ButtonIcon />

Used packages

  • Figmagic — provides an interface for importing graphics from Figma.
  • SVGO — optimizes SVG