@deriv/quill-icons 2.13.0 → 2.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.
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import type { QuillIllustrationProps } from '../../types';
3
+ declare const ForwardRef: React.ForwardRefExoticComponent<QuillIllustrationProps & React.RefAttributes<HTMLImageElement>>;
4
+ export default ForwardRef;
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ import { forwardRef } from 'react';
3
+ import illustrationSrc from './assets/DerivLightBch.webp';
4
+ const DerivLightBchIcon = ({ title, titleId, alt, ...props }, ref) => (React.createElement("img", { src: illustrationSrc, ref: ref, role: 'img', alt: alt ?? title ?? '', "aria-labelledby": titleId, ...props }));
5
+ const ForwardRef = forwardRef(DerivLightBchIcon);
6
+ export default ForwardRef;
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import type { QuillIllustrationProps } from '../../types';
3
+ declare const ForwardRef: React.ForwardRefExoticComponent<QuillIllustrationProps & React.RefAttributes<HTMLImageElement>>;
4
+ export default ForwardRef;
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ import { forwardRef } from 'react';
3
+ import illustrationSrc from './assets/DerivLightNear.webp';
4
+ const DerivLightNearIcon = ({ title, titleId, alt, ...props }, ref) => (React.createElement("img", { src: illustrationSrc, ref: ref, role: 'img', alt: alt ?? title ?? '', "aria-labelledby": titleId, ...props }));
5
+ const ForwardRef = forwardRef(DerivLightNearIcon);
6
+ export default ForwardRef;
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import type { QuillIllustrationProps } from '../../types';
3
+ declare const ForwardRef: React.ForwardRefExoticComponent<QuillIllustrationProps & React.RefAttributes<HTMLImageElement>>;
4
+ export default ForwardRef;
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ import { forwardRef } from 'react';
3
+ import illustrationSrc from './assets/DerivLightSui.webp';
4
+ const DerivLightSuiIcon = ({ title, titleId, alt, ...props }, ref) => (React.createElement("img", { src: illustrationSrc, ref: ref, role: 'img', alt: alt ?? title ?? '', "aria-labelledby": titleId, ...props }));
5
+ const ForwardRef = forwardRef(DerivLightSuiIcon);
6
+ export default ForwardRef;
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import type { QuillIllustrationProps } from '../../types';
3
+ declare const ForwardRef: React.ForwardRefExoticComponent<QuillIllustrationProps & React.RefAttributes<HTMLImageElement>>;
4
+ export default ForwardRef;
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ import { forwardRef } from 'react';
3
+ import illustrationSrc from './assets/DerivLightWbeth.webp';
4
+ const DerivLightWbethIcon = ({ title, titleId, alt, ...props }, ref) => (React.createElement("img", { src: illustrationSrc, ref: ref, role: 'img', alt: alt ?? title ?? '', "aria-labelledby": titleId, ...props }));
5
+ const ForwardRef = forwardRef(DerivLightWbethIcon);
6
+ export default ForwardRef;
@@ -44,6 +44,7 @@ export { default as DerivLightAptosIcon } from './DerivLightAptosIcon';
44
44
  export { default as DerivLightAtomIcon } from './DerivLightAtomIcon';
45
45
  export { default as DerivLightAvaxIcon } from './DerivLightAvaxIcon';
46
46
  export { default as DerivLightBaseIcon } from './DerivLightBaseIcon';
47
+ export { default as DerivLightBchIcon } from './DerivLightBchIcon';
47
48
  export { default as DerivLightBeFairIcon } from './DerivLightBeFairIcon';
48
49
  export { default as DerivLightBeTransparentIcon } from './DerivLightBeTransparentIcon';
49
50
  export { default as DerivLightBnbIcon } from './DerivLightBnbIcon';
@@ -189,6 +190,7 @@ export { default as DerivLightMyComputerIcon } from './DerivLightMyComputerIcon'
189
190
  export { default as DerivLightNakalaIcon } from './DerivLightNakalaIcon';
190
191
  export { default as DerivLightNameDobPoiIcon } from './DerivLightNameDobPoiIcon';
191
192
  export { default as DerivLightNamePoiIcon } from './DerivLightNamePoiIcon';
193
+ export { default as DerivLightNearIcon } from './DerivLightNearIcon';
192
194
  export { default as DerivLightNegativeAnnouncementIcon } from './DerivLightNegativeAnnouncementIcon';
193
195
  export { default as DerivLightNewPromisingIcon } from './DerivLightNewPromisingIcon';
194
196
  export { default as DerivLightNimcSlipFrontKycIcon } from './DerivLightNimcSlipFrontKycIcon';
@@ -241,6 +243,7 @@ export { default as DerivLightSolIcon } from './DerivLightSolIcon';
241
243
  export { default as DerivLightSpreadRiskIcon } from './DerivLightSpreadRiskIcon';
242
244
  export { default as DerivLightStandardLinkCopyIcon } from './DerivLightStandardLinkCopyIcon';
243
245
  export { default as DerivLightSuccessBiometricsIcon } from './DerivLightSuccessBiometricsIcon';
246
+ export { default as DerivLightSuiIcon } from './DerivLightSuiIcon';
244
247
  export { default as DerivLightSwapFreeIcon } from './DerivLightSwapFreeIcon';
245
248
  export { default as DerivLightTeamworkIcon } from './DerivLightTeamworkIcon';
246
249
  export { default as DerivLightTightSpreadsIcon } from './DerivLightTightSpreadsIcon';
@@ -297,6 +300,7 @@ export { default as DerivLightWalletMaintenanceIcon } from './DerivLightWalletMa
297
300
  export { default as DerivLightWalletSuccessIcon } from './DerivLightWalletSuccessIcon';
298
301
  export { default as DerivLightWalletTopUpIcon } from './DerivLightWalletTopUpIcon';
299
302
  export { default as DerivLightWalletUnavailableIcon } from './DerivLightWalletUnavailableIcon';
303
+ export { default as DerivLightWbethIcon } from './DerivLightWbethIcon';
300
304
  export { default as DerivLightWbtcIcon } from './DerivLightWbtcIcon';
301
305
  export { default as DerivLightWithdrawalIcon } from './DerivLightWithdrawalIcon';
302
306
  export { default as DerivLightXlmIcon } from './DerivLightXlmIcon';
@@ -44,6 +44,7 @@ export { default as DerivLightAptosIcon } from './DerivLightAptosIcon';
44
44
  export { default as DerivLightAtomIcon } from './DerivLightAtomIcon';
45
45
  export { default as DerivLightAvaxIcon } from './DerivLightAvaxIcon';
46
46
  export { default as DerivLightBaseIcon } from './DerivLightBaseIcon';
47
+ export { default as DerivLightBchIcon } from './DerivLightBchIcon';
47
48
  export { default as DerivLightBeFairIcon } from './DerivLightBeFairIcon';
48
49
  export { default as DerivLightBeTransparentIcon } from './DerivLightBeTransparentIcon';
49
50
  export { default as DerivLightBnbIcon } from './DerivLightBnbIcon';
@@ -189,6 +190,7 @@ export { default as DerivLightMyComputerIcon } from './DerivLightMyComputerIcon'
189
190
  export { default as DerivLightNakalaIcon } from './DerivLightNakalaIcon';
190
191
  export { default as DerivLightNameDobPoiIcon } from './DerivLightNameDobPoiIcon';
191
192
  export { default as DerivLightNamePoiIcon } from './DerivLightNamePoiIcon';
193
+ export { default as DerivLightNearIcon } from './DerivLightNearIcon';
192
194
  export { default as DerivLightNegativeAnnouncementIcon } from './DerivLightNegativeAnnouncementIcon';
193
195
  export { default as DerivLightNewPromisingIcon } from './DerivLightNewPromisingIcon';
194
196
  export { default as DerivLightNimcSlipFrontKycIcon } from './DerivLightNimcSlipFrontKycIcon';
@@ -241,6 +243,7 @@ export { default as DerivLightSolIcon } from './DerivLightSolIcon';
241
243
  export { default as DerivLightSpreadRiskIcon } from './DerivLightSpreadRiskIcon';
242
244
  export { default as DerivLightStandardLinkCopyIcon } from './DerivLightStandardLinkCopyIcon';
243
245
  export { default as DerivLightSuccessBiometricsIcon } from './DerivLightSuccessBiometricsIcon';
246
+ export { default as DerivLightSuiIcon } from './DerivLightSuiIcon';
244
247
  export { default as DerivLightSwapFreeIcon } from './DerivLightSwapFreeIcon';
245
248
  export { default as DerivLightTeamworkIcon } from './DerivLightTeamworkIcon';
246
249
  export { default as DerivLightTightSpreadsIcon } from './DerivLightTightSpreadsIcon';
@@ -297,6 +300,7 @@ export { default as DerivLightWalletMaintenanceIcon } from './DerivLightWalletMa
297
300
  export { default as DerivLightWalletSuccessIcon } from './DerivLightWalletSuccessIcon';
298
301
  export { default as DerivLightWalletTopUpIcon } from './DerivLightWalletTopUpIcon';
299
302
  export { default as DerivLightWalletUnavailableIcon } from './DerivLightWalletUnavailableIcon';
303
+ export { default as DerivLightWbethIcon } from './DerivLightWbethIcon';
300
304
  export { default as DerivLightWbtcIcon } from './DerivLightWbtcIcon';
301
305
  export { default as DerivLightWithdrawalIcon } from './DerivLightWithdrawalIcon';
302
306
  export { default as DerivLightXlmIcon } from './DerivLightXlmIcon';
@@ -1745,6 +1745,10 @@ export const allIconsNames = [
1745
1745
  type: 'file',
1746
1746
  name: 'DerivLightBase.webp',
1747
1747
  },
1748
+ {
1749
+ type: 'file',
1750
+ name: 'DerivLightBch.webp',
1751
+ },
1748
1752
  {
1749
1753
  type: 'file',
1750
1754
  name: 'DerivLightBeFair.webp',
@@ -2325,6 +2329,10 @@ export const allIconsNames = [
2325
2329
  type: 'file',
2326
2330
  name: 'DerivLightNamePoi.webp',
2327
2331
  },
2332
+ {
2333
+ type: 'file',
2334
+ name: 'DerivLightNear.webp',
2335
+ },
2328
2336
  {
2329
2337
  type: 'file',
2330
2338
  name: 'DerivLightNegativeAnnouncement.webp',
@@ -2533,6 +2541,10 @@ export const allIconsNames = [
2533
2541
  type: 'file',
2534
2542
  name: 'DerivLightSuccessBiometrics.webp',
2535
2543
  },
2544
+ {
2545
+ type: 'file',
2546
+ name: 'DerivLightSui.webp',
2547
+ },
2536
2548
  {
2537
2549
  type: 'file',
2538
2550
  name: 'DerivLightSwapFree.webp',
@@ -2757,6 +2769,10 @@ export const allIconsNames = [
2757
2769
  type: 'file',
2758
2770
  name: 'DerivLightWalletUnavailable.webp',
2759
2771
  },
2772
+ {
2773
+ type: 'file',
2774
+ name: 'DerivLightWbeth.webp',
2775
+ },
2760
2776
  {
2761
2777
  type: 'file',
2762
2778
  name: 'DerivLightWbtc.webp',
@@ -2963,6 +2979,10 @@ export const allIconsNames = [
2963
2979
  type: 'file',
2964
2980
  name: 'DerivLightBaseIcon.tsx',
2965
2981
  },
2982
+ {
2983
+ type: 'file',
2984
+ name: 'DerivLightBchIcon.tsx',
2985
+ },
2966
2986
  {
2967
2987
  type: 'file',
2968
2988
  name: 'DerivLightBeFairIcon.tsx',
@@ -3543,6 +3563,10 @@ export const allIconsNames = [
3543
3563
  type: 'file',
3544
3564
  name: 'DerivLightNamePoiIcon.tsx',
3545
3565
  },
3566
+ {
3567
+ type: 'file',
3568
+ name: 'DerivLightNearIcon.tsx',
3569
+ },
3546
3570
  {
3547
3571
  type: 'file',
3548
3572
  name: 'DerivLightNegativeAnnouncementIcon.tsx',
@@ -3751,6 +3775,10 @@ export const allIconsNames = [
3751
3775
  type: 'file',
3752
3776
  name: 'DerivLightSuccessBiometricsIcon.tsx',
3753
3777
  },
3778
+ {
3779
+ type: 'file',
3780
+ name: 'DerivLightSuiIcon.tsx',
3781
+ },
3754
3782
  {
3755
3783
  type: 'file',
3756
3784
  name: 'DerivLightSwapFreeIcon.tsx',
@@ -3975,6 +4003,10 @@ export const allIconsNames = [
3975
4003
  type: 'file',
3976
4004
  name: 'DerivLightWalletUnavailableIcon.tsx',
3977
4005
  },
4006
+ {
4007
+ type: 'file',
4008
+ name: 'DerivLightWbethIcon.tsx',
4009
+ },
3978
4010
  {
3979
4011
  type: 'file',
3980
4012
  name: 'DerivLightWbtcIcon.tsx',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deriv/quill-icons",
3
- "version": "2.13.0",
3
+ "version": "2.14.0",
4
4
  "description": "This is the central repository for quill icons, exported from figma design file",
5
5
  "files": [
6
6
  "dist"
@@ -92,12 +92,13 @@
92
92
  "migrate:illustrations:png": "tsx ./scripts/migrate-illustrations-to-png.ts",
93
93
  "sync:illustration:components": "tsx ./scripts/sync-illustration-components.ts",
94
94
  "export:figma": "npm-run-all export:icons export:logos export:illustrations",
95
- "rexport": "npm-run-all clean export:figma format",
95
+ "finalize:figma": "tsx ./scripts/finalize-figma-export.ts",
96
+ "rexport": "npm-run-all export:figma finalize:figma",
96
97
  "export:barrels": "barrelsby -c barrelsby.config.json",
97
- "export": "npm-run-all clean export:figma allIconsNames export:barrels format",
98
+ "export": "npm-run-all export:figma finalize:figma",
98
99
  "clean:postBuild": "rimraf dist/types dist/index.d.ts dist/index.js",
99
100
  "build": "rimraf dist && node --max-old-space-size=8192 ./node_modules/typescript/bin/tsc -p tsconfig.json && tsx ./scripts/copy-illustration-assets.ts",
100
- "rebuild": "npm-run-all clean export build",
101
+ "rebuild": "npm-run-all export build",
101
102
  "lint": "node --max-old-space-size=4096 ./node_modules/.bin/eslint . --cache",
102
103
  "lint:fix": "node --max-old-space-size=4096 ./node_modules/.bin/eslint . --cache --fix",
103
104
  "format": "prettier --write . --config ./.prettierrc",
package/readme.md CHANGED
@@ -86,6 +86,7 @@ With [@figma-export](https://www.npmjs.com/package/@figma-export/cli) we export
86
86
  - [@figma-export/output-components-as-svgr](https://github.com/marcomontalbano/figma-exporter/blob/HEAD/packages/cli/packages/output-components-as-svgr):
87
87
  We use this to generate `React` Components based on `transformed (optimized) SVG` files. you can check them in `src/react` folder.
88
88
  - `npm run export:icons` and `npm run export:logos` use the SVG/SVGR outputters above — **all icon and logo categories remain SVG React components**.
89
+ - `npm run export` pulls from Figma **without wiping** `src/react`, `svg`, or `webp`, then `finalize:figma` adds barrel/catalog entries only for new files and drops Logo copies of names that already exist under `PaymentMethods`. Unchanged icons stay out of the git diff / PR.
89
90
  - **Illustrations only (custom WebP pipeline)** — the `Illustration` category is excluded from `export:icons` and exported as **WebP** (Figma PNG → WebP via `sharp`), not SVG:
90
91
  - `npm run export:illustrations` — fetches PNG renders from Figma (`scripts/export-illustrations-png.ts`), converts to WebP, writes to `webp/Illustration/` and `src/react/Illustration/assets/`, and writes `<img>` React wrappers in `src/react/Illustration/`.
91
92
  - `npm run export:illustrations:3d` — re-exports account/currency 3D coin icons only (same 1× Figma source size as other illustrations).
@@ -136,7 +137,7 @@ import { DerivLightWalletIcon } from '@deriv/quill-icons/Illustration';
136
137
  npm run export
137
138
  ```
138
139
 
139
- Icons and logos export as optimized SVG React components; illustrations export as WebP assets via `export:illustrations` (included in `export` / `rebuild`).
140
+ Icons and logos export as optimized SVG React components; illustrations export as WebP assets via `export:illustrations` (included in `export` / `rebuild`). Git only records **new or modified** icon files; existing icons that Figma did not change are left untouched.
140
141
 
141
142
  5. **Build** (for local publish or linking):
142
143
 
@@ -188,7 +189,7 @@ In the Quill Design System, we utilise naming conventions to store and locate co
188
189
 
189
190
  ## Exporting New Icons
190
191
 
191
- To export new icons, run `npm run rebuild`. It will automatically export, optimize, and convert SVGs to React components. Afterward, just commit the changes and create a new PR.
192
+ To export new icons, run `npm run export` (or `npm run rebuild` to also compile). Figma output is written in place, then `finalize:figma` updates barrels and `allIconsNames` incrementally. Commit the resulting diff — it should contain only new or actually changed icons, plus the barrel/catalog lines needed to export them. The GitHub `from-figma` workflow uses the same path and stages only `svg/`, `src/react/`, `webp/`, and `src/index.ts`.
192
193
 
193
194
  ## Build and Publish
194
195