@shipfox/react-ui 0.9.0 → 0.10.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/.turbo/turbo-build.log +4 -4
- package/.turbo/turbo-check.log +2 -2
- package/.turbo/turbo-type.log +1 -1
- package/CHANGELOG.md +6 -0
- package/dist/components/icon/icon.d.ts +3 -17
- package/dist/components/icon/icon.d.ts.map +1 -1
- package/dist/components/icon/icon.js +21 -13
- package/dist/components/icon/icon.js.map +1 -1
- package/dist/components/icon/remixicon-registry.d.ts +5 -0
- package/dist/components/icon/remixicon-registry.d.ts.map +1 -0
- package/dist/components/icon/remixicon-registry.js +14 -0
- package/dist/components/icon/remixicon-registry.js.map +1 -0
- package/package.json +1 -1
- package/src/components/icon/icon.tsx +23 -13
- package/src/components/icon/remixicon-registry.ts +24 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
WARN Issue while reading "/runner/_work/tooling/tooling/.npmrc". Failed to replace env in config: ${NPM_ACCESS_TOKEN}
|
|
2
2
|
|
|
3
|
-
> @shipfox/react-ui@0.
|
|
3
|
+
> @shipfox/react-ui@0.10.0 build /runner/_work/tooling/tooling/libs/react/ui
|
|
4
4
|
> swc && pnpm run build:css
|
|
5
5
|
|
|
6
|
-
Successfully compiled:
|
|
6
|
+
Successfully compiled: 120 files with swc (300.11ms)
|
|
7
7
|
WARN Issue while reading "/runner/_work/tooling/tooling/.npmrc". Failed to replace env in config: ${NPM_ACCESS_TOKEN}
|
|
8
8
|
|
|
9
|
-
> @shipfox/react-ui@0.
|
|
9
|
+
> @shipfox/react-ui@0.10.0 build:css /runner/_work/tooling/tooling/libs/react/ui
|
|
10
10
|
> vite build --config vite.css.config.ts && rm -f dist/css-entry.js dist/css-entry.js.map
|
|
11
11
|
|
|
12
12
|
[36mvite v7.2.4 [32mbuilding client environment for production...[36m[39m
|
|
@@ -16,4 +16,4 @@ rendering chunks...
|
|
|
16
16
|
computing gzip size...
|
|
17
17
|
[2mdist/[22m[35mstyles.css [39m[1m[2m85.04 kB[22m[1m[22m[2m │ gzip: 13.51 kB[22m
|
|
18
18
|
[2mdist/[22m[36mcss-entry.js [39m[1m[2m 0.00 kB[22m[1m[22m[2m │ gzip: 0.02 kB[22m
|
|
19
|
-
[32m✓ built in
|
|
19
|
+
[32m✓ built in 551ms[39m
|
package/.turbo/turbo-check.log
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
WARN Issue while reading "/runner/_work/tooling/tooling/.npmrc". Failed to replace env in config: ${NPM_ACCESS_TOKEN}
|
|
2
2
|
|
|
3
|
-
> @shipfox/react-ui@0.
|
|
3
|
+
> @shipfox/react-ui@0.10.0 check /runner/_work/tooling/tooling/libs/react/ui
|
|
4
4
|
> biome-check --fix
|
|
5
5
|
|
|
6
|
-
Checked
|
|
6
|
+
Checked 139 files in 247ms. No fixes applied.
|
package/.turbo/turbo-type.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
WARN Issue while reading "/runner/_work/tooling/tooling/.npmrc". Failed to replace env in config: ${NPM_ACCESS_TOKEN}
|
|
2
2
|
|
|
3
|
-
> @shipfox/react-ui@0.
|
|
3
|
+
> @shipfox/react-ui@0.10.0 type /runner/_work/tooling/tooling/libs/react/ui
|
|
4
4
|
> tsc-emit
|
|
5
5
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
import type { RemixiconComponentType } from '@remixicon/react';
|
|
2
|
-
import { RiGoogleFill } from '@remixicon/react';
|
|
3
2
|
import type { ComponentProps } from 'react';
|
|
4
3
|
import { BadgeIcon, CheckCircleSolidIcon, CircleDottedLineIcon, ComponentFillIcon, ComponentLineIcon, EllipseMiniSolidIcon, InfoTooltipFillIcon, ResizeIcon, ShipfoxLogo, SlackLogo, SpinnerIcon, StripeLogo, ThunderIcon, XCircleSolidIcon } from './custom';
|
|
5
|
-
declare const
|
|
6
|
-
readonly google: RemixiconComponentType;
|
|
7
|
-
readonly microsoft: RemixiconComponentType;
|
|
8
|
-
readonly github: RemixiconComponentType;
|
|
4
|
+
declare const customIconsMap: {
|
|
9
5
|
readonly shipfox: typeof ShipfoxLogo;
|
|
10
6
|
readonly slack: typeof SlackLogo;
|
|
11
7
|
readonly stripe: typeof StripeLogo;
|
|
@@ -20,21 +16,11 @@ declare const iconsMap: {
|
|
|
20
16
|
readonly spinner: typeof SpinnerIcon;
|
|
21
17
|
readonly thunder: typeof ThunderIcon;
|
|
22
18
|
readonly xCircleSolid: typeof XCircleSolidIcon;
|
|
23
|
-
readonly addLine: RemixiconComponentType;
|
|
24
|
-
readonly bookOpen: RemixiconComponentType;
|
|
25
|
-
readonly check: RemixiconComponentType;
|
|
26
|
-
readonly chevronRight: RemixiconComponentType;
|
|
27
|
-
readonly close: RemixiconComponentType;
|
|
28
|
-
readonly copy: RemixiconComponentType;
|
|
29
|
-
readonly homeSmile: RemixiconComponentType;
|
|
30
|
-
readonly imageAdd: RemixiconComponentType;
|
|
31
|
-
readonly info: RemixiconComponentType;
|
|
32
|
-
readonly money: RemixiconComponentType;
|
|
33
|
-
readonly subtractLine: RemixiconComponentType;
|
|
34
19
|
};
|
|
20
|
+
declare const iconsMap: Record<string, RemixiconComponentType> & typeof customIconsMap;
|
|
35
21
|
export type IconName = keyof typeof iconsMap;
|
|
36
22
|
export declare const iconNames: IconName[];
|
|
37
|
-
type BaseIconProps = ComponentProps<
|
|
23
|
+
type BaseIconProps = ComponentProps<RemixiconComponentType>;
|
|
38
24
|
type IconProps = {
|
|
39
25
|
name: IconName;
|
|
40
26
|
} & Omit<BaseIconProps, 'name'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../../src/components/icon/icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../../src/components/icon/icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;AAiB7D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,OAAO,CAAC;AAC1C,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACX,UAAU,EACV,WAAW,EACX,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAoBlB,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;CAeuC,CAAC;AAE5D,QAAA,MAAM,QAAQ,EAIT,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,GAAG,OAAO,cAAc,CAAC;AAEpE,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,QAAQ,CAAC;AAC7C,eAAO,MAAM,SAAS,EAA4B,QAAQ,EAAE,CAAC;AAE7D,KAAK,aAAa,GAAG,cAAc,CAAC,sBAAsB,CAAC,CAAC;AAC5D,KAAK,SAAS,GAAG;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AAEhE,wBAAgB,IAAI,CAAC,EAAC,IAAI,EAAE,GAAG,KAAK,EAAC,EAAE,SAAS,2CAG/C"}
|
|
@@ -1,10 +1,24 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { RiAddLine, RiArrowRightSLine, RiBookOpenFill, RiCheckLine, RiCloseLine, RiFileCopyLine, RiGithubFill, RiGoogleFill, RiHomeSmileFill, RiImageAddFill, RiInformationFill, RiMicrosoftFill, RiMoneyDollarCircleLine, RiSubtractLine } from '@remixicon/react';
|
|
3
3
|
import { BadgeIcon, CheckCircleSolidIcon, CircleDottedLineIcon, ComponentFillIcon, ComponentLineIcon, EllipseMiniSolidIcon, InfoTooltipFillIcon, ResizeIcon, ShipfoxLogo, SlackLogo, SpinnerIcon, StripeLogo, ThunderIcon, XCircleSolidIcon } from './custom/index.js';
|
|
4
|
-
|
|
4
|
+
import { remixiconMap } from './remixicon-registry.js';
|
|
5
|
+
const commonRemixicons = {
|
|
6
|
+
addLine: RiAddLine,
|
|
7
|
+
close: RiCloseLine,
|
|
8
|
+
check: RiCheckLine,
|
|
9
|
+
copy: RiFileCopyLine,
|
|
10
|
+
info: RiInformationFill,
|
|
11
|
+
imageAdd: RiImageAddFill,
|
|
12
|
+
chevronRight: RiArrowRightSLine,
|
|
13
|
+
homeSmile: RiHomeSmileFill,
|
|
14
|
+
money: RiMoneyDollarCircleLine,
|
|
5
15
|
google: RiGoogleFill,
|
|
6
16
|
microsoft: RiMicrosoftFill,
|
|
7
17
|
github: RiGithubFill,
|
|
18
|
+
subtractLine: RiSubtractLine,
|
|
19
|
+
bookOpen: RiBookOpenFill
|
|
20
|
+
};
|
|
21
|
+
const customIconsMap = {
|
|
8
22
|
shipfox: ShipfoxLogo,
|
|
9
23
|
slack: SlackLogo,
|
|
10
24
|
stripe: StripeLogo,
|
|
@@ -18,18 +32,12 @@ const iconsMap = {
|
|
|
18
32
|
resize: ResizeIcon,
|
|
19
33
|
spinner: SpinnerIcon,
|
|
20
34
|
thunder: ThunderIcon,
|
|
21
|
-
xCircleSolid: XCircleSolidIcon
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
copy: RiFileCopyLine,
|
|
28
|
-
homeSmile: RiHomeSmileFill,
|
|
29
|
-
imageAdd: RiImageAddFill,
|
|
30
|
-
info: RiInformationFill,
|
|
31
|
-
money: RiMoneyDollarCircleLine,
|
|
32
|
-
subtractLine: RiSubtractLine
|
|
35
|
+
xCircleSolid: XCircleSolidIcon
|
|
36
|
+
};
|
|
37
|
+
const iconsMap = {
|
|
38
|
+
...remixiconMap,
|
|
39
|
+
...commonRemixicons,
|
|
40
|
+
...customIconsMap
|
|
33
41
|
};
|
|
34
42
|
export const iconNames = Object.keys(iconsMap);
|
|
35
43
|
export function Icon({ name, ...props }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/icon/icon.tsx"],"sourcesContent":["import type {RemixiconComponentType} from '@remixicon/react';\nimport {\n RiAddLine,\n RiArrowRightSLine,\n RiBookOpenFill,\n RiCheckLine,\n RiCloseLine,\n RiFileCopyLine,\n RiGithubFill,\n RiGoogleFill,\n RiHomeSmileFill,\n RiImageAddFill,\n RiInformationFill,\n RiMicrosoftFill,\n RiMoneyDollarCircleLine,\n RiSubtractLine,\n} from '@remixicon/react';\nimport type {ComponentProps} from 'react';\nimport {\n BadgeIcon,\n CheckCircleSolidIcon,\n CircleDottedLineIcon,\n ComponentFillIcon,\n ComponentLineIcon,\n EllipseMiniSolidIcon,\n InfoTooltipFillIcon,\n ResizeIcon,\n ShipfoxLogo,\n SlackLogo,\n SpinnerIcon,\n StripeLogo,\n ThunderIcon,\n XCircleSolidIcon,\n} from './custom';\n\nconst
|
|
1
|
+
{"version":3,"sources":["../../../src/components/icon/icon.tsx"],"sourcesContent":["import type {RemixiconComponentType} from '@remixicon/react';\nimport {\n RiAddLine,\n RiArrowRightSLine,\n RiBookOpenFill,\n RiCheckLine,\n RiCloseLine,\n RiFileCopyLine,\n RiGithubFill,\n RiGoogleFill,\n RiHomeSmileFill,\n RiImageAddFill,\n RiInformationFill,\n RiMicrosoftFill,\n RiMoneyDollarCircleLine,\n RiSubtractLine,\n} from '@remixicon/react';\nimport type {ComponentProps} from 'react';\nimport {\n BadgeIcon,\n CheckCircleSolidIcon,\n CircleDottedLineIcon,\n ComponentFillIcon,\n ComponentLineIcon,\n EllipseMiniSolidIcon,\n InfoTooltipFillIcon,\n ResizeIcon,\n ShipfoxLogo,\n SlackLogo,\n SpinnerIcon,\n StripeLogo,\n ThunderIcon,\n XCircleSolidIcon,\n} from './custom';\nimport {remixiconMap} from './remixicon-registry';\n\nconst commonRemixicons = {\n addLine: RiAddLine,\n close: RiCloseLine,\n check: RiCheckLine,\n copy: RiFileCopyLine,\n info: RiInformationFill,\n imageAdd: RiImageAddFill,\n chevronRight: RiArrowRightSLine,\n homeSmile: RiHomeSmileFill,\n money: RiMoneyDollarCircleLine,\n google: RiGoogleFill,\n microsoft: RiMicrosoftFill,\n github: RiGithubFill,\n subtractLine: RiSubtractLine,\n bookOpen: RiBookOpenFill,\n} as const satisfies Record<string, RemixiconComponentType>;\n\nconst customIconsMap = {\n shipfox: ShipfoxLogo,\n slack: SlackLogo,\n stripe: StripeLogo,\n badge: BadgeIcon,\n checkCircleSolid: CheckCircleSolidIcon,\n circleDottedLine: CircleDottedLineIcon,\n componentFill: ComponentFillIcon,\n componentLine: ComponentLineIcon,\n ellipseMiniSolid: EllipseMiniSolidIcon,\n infoTooltipFill: InfoTooltipFillIcon,\n resize: ResizeIcon,\n spinner: SpinnerIcon,\n thunder: ThunderIcon,\n xCircleSolid: XCircleSolidIcon,\n} as const satisfies Record<string, RemixiconComponentType>;\n\nconst iconsMap = {\n ...remixiconMap,\n ...commonRemixicons,\n ...customIconsMap,\n} as Record<string, RemixiconComponentType> & typeof customIconsMap;\n\nexport type IconName = keyof typeof iconsMap;\nexport const iconNames = Object.keys(iconsMap) as IconName[];\n\ntype BaseIconProps = ComponentProps<RemixiconComponentType>;\ntype IconProps = {name: IconName} & Omit<BaseIconProps, 'name'>;\n\nexport function Icon({name, ...props}: IconProps) {\n const IconComponent = iconsMap[name];\n return <IconComponent {...props} />;\n}\n"],"names":["RiAddLine","RiArrowRightSLine","RiBookOpenFill","RiCheckLine","RiCloseLine","RiFileCopyLine","RiGithubFill","RiGoogleFill","RiHomeSmileFill","RiImageAddFill","RiInformationFill","RiMicrosoftFill","RiMoneyDollarCircleLine","RiSubtractLine","BadgeIcon","CheckCircleSolidIcon","CircleDottedLineIcon","ComponentFillIcon","ComponentLineIcon","EllipseMiniSolidIcon","InfoTooltipFillIcon","ResizeIcon","ShipfoxLogo","SlackLogo","SpinnerIcon","StripeLogo","ThunderIcon","XCircleSolidIcon","remixiconMap","commonRemixicons","addLine","close","check","copy","info","imageAdd","chevronRight","homeSmile","money","google","microsoft","github","subtractLine","bookOpen","customIconsMap","shipfox","slack","stripe","badge","checkCircleSolid","circleDottedLine","componentFill","componentLine","ellipseMiniSolid","infoTooltipFill","resize","spinner","thunder","xCircleSolid","iconsMap","iconNames","Object","keys","Icon","name","props","IconComponent"],"mappings":";AACA,SACEA,SAAS,EACTC,iBAAiB,EACjBC,cAAc,EACdC,WAAW,EACXC,WAAW,EACXC,cAAc,EACdC,YAAY,EACZC,YAAY,EACZC,eAAe,EACfC,cAAc,EACdC,iBAAiB,EACjBC,eAAe,EACfC,uBAAuB,EACvBC,cAAc,QACT,mBAAmB;AAE1B,SACEC,SAAS,EACTC,oBAAoB,EACpBC,oBAAoB,EACpBC,iBAAiB,EACjBC,iBAAiB,EACjBC,oBAAoB,EACpBC,mBAAmB,EACnBC,UAAU,EACVC,WAAW,EACXC,SAAS,EACTC,WAAW,EACXC,UAAU,EACVC,WAAW,EACXC,gBAAgB,QACX,WAAW;AAClB,SAAQC,YAAY,QAAO,uBAAuB;AAElD,MAAMC,mBAAmB;IACvBC,SAAS9B;IACT+B,OAAO3B;IACP4B,OAAO7B;IACP8B,MAAM5B;IACN6B,MAAMxB;IACNyB,UAAU1B;IACV2B,cAAcnC;IACdoC,WAAW7B;IACX8B,OAAO1B;IACP2B,QAAQhC;IACRiC,WAAW7B;IACX8B,QAAQnC;IACRoC,cAAc7B;IACd8B,UAAUzC;AACZ;AAEA,MAAM0C,iBAAiB;IACrBC,SAASvB;IACTwB,OAAOvB;IACPwB,QAAQtB;IACRuB,OAAOlC;IACPmC,kBAAkBlC;IAClBmC,kBAAkBlC;IAClBmC,eAAelC;IACfmC,eAAelC;IACfmC,kBAAkBlC;IAClBmC,iBAAiBlC;IACjBmC,QAAQlC;IACRmC,SAAShC;IACTiC,SAAS/B;IACTgC,cAAc/B;AAChB;AAEA,MAAMgC,WAAW;IACf,GAAG/B,YAAY;IACf,GAAGC,gBAAgB;IACnB,GAAGe,cAAc;AACnB;AAGA,OAAO,MAAMgB,YAAYC,OAAOC,IAAI,CAACH,UAAwB;AAK7D,OAAO,SAASI,KAAK,EAACC,IAAI,EAAE,GAAGC,OAAiB;IAC9C,MAAMC,gBAAgBP,QAAQ,CAACK,KAAK;IACpC,qBAAO,KAACE;QAAe,GAAGD,KAAK;;AACjC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { RemixiconComponentType } from '@remixicon/react';
|
|
2
|
+
export declare const remixiconMap: Record<string, RemixiconComponentType>;
|
|
3
|
+
export type RemixIconName = keyof typeof remixiconMap;
|
|
4
|
+
export declare const remixiconNames: RemixIconName[];
|
|
5
|
+
//# sourceMappingURL=remixicon-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remixicon-registry.d.ts","sourceRoot":"","sources":["../../../src/components/icon/remixicon-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;AAiB7D,eAAO,MAAM,YAAY,EAA8C,MAAM,CAC3E,MAAM,EACN,sBAAsB,CACvB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,YAAY,CAAC;AACtD,eAAO,MAAM,cAAc,EAAgC,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as RemixIcons from '@remixicon/react';
|
|
2
|
+
const remixiconEntries = Object.entries(RemixIcons).filter(([key, value])=>key.startsWith('Ri') && typeof value === 'function');
|
|
3
|
+
function iconNameToKey(iconName) {
|
|
4
|
+
const withoutPrefix = iconName.slice(2);
|
|
5
|
+
return withoutPrefix.charAt(0).toLowerCase() + withoutPrefix.slice(1);
|
|
6
|
+
}
|
|
7
|
+
const remixiconMapEntries = remixiconEntries.map(([name, component])=>[
|
|
8
|
+
iconNameToKey(name),
|
|
9
|
+
component
|
|
10
|
+
]);
|
|
11
|
+
export const remixiconMap = Object.fromEntries(remixiconMapEntries);
|
|
12
|
+
export const remixiconNames = Object.keys(remixiconMap);
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=remixicon-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/icon/remixicon-registry.ts"],"sourcesContent":["import type {RemixiconComponentType} from '@remixicon/react';\nimport * as RemixIcons from '@remixicon/react';\n\nconst remixiconEntries = Object.entries(RemixIcons).filter(\n ([key, value]) => key.startsWith('Ri') && typeof value === 'function',\n) as Array<[string, RemixiconComponentType]>;\n\nfunction iconNameToKey(iconName: string): string {\n const withoutPrefix = iconName.slice(2);\n return withoutPrefix.charAt(0).toLowerCase() + withoutPrefix.slice(1);\n}\n\nconst remixiconMapEntries = remixiconEntries.map(([name, component]) => [\n iconNameToKey(name),\n component,\n]) as Array<[string, RemixiconComponentType]>;\n\nexport const remixiconMap = Object.fromEntries(remixiconMapEntries) as Record<\n string,\n RemixiconComponentType\n>;\n\nexport type RemixIconName = keyof typeof remixiconMap;\nexport const remixiconNames = Object.keys(remixiconMap) as RemixIconName[];\n"],"names":["RemixIcons","remixiconEntries","Object","entries","filter","key","value","startsWith","iconNameToKey","iconName","withoutPrefix","slice","charAt","toLowerCase","remixiconMapEntries","map","name","component","remixiconMap","fromEntries","remixiconNames","keys"],"mappings":"AACA,YAAYA,gBAAgB,mBAAmB;AAE/C,MAAMC,mBAAmBC,OAAOC,OAAO,CAACH,YAAYI,MAAM,CACxD,CAAC,CAACC,KAAKC,MAAM,GAAKD,IAAIE,UAAU,CAAC,SAAS,OAAOD,UAAU;AAG7D,SAASE,cAAcC,QAAgB;IACrC,MAAMC,gBAAgBD,SAASE,KAAK,CAAC;IACrC,OAAOD,cAAcE,MAAM,CAAC,GAAGC,WAAW,KAAKH,cAAcC,KAAK,CAAC;AACrE;AAEA,MAAMG,sBAAsBb,iBAAiBc,GAAG,CAAC,CAAC,CAACC,MAAMC,UAAU,GAAK;QACtET,cAAcQ;QACdC;KACD;AAED,OAAO,MAAMC,eAAehB,OAAOiB,WAAW,CAACL,qBAG7C;AAGF,OAAO,MAAMM,iBAAiBlB,OAAOmB,IAAI,CAACH,cAAiC"}
|
package/package.json
CHANGED
|
@@ -32,11 +32,26 @@ import {
|
|
|
32
32
|
ThunderIcon,
|
|
33
33
|
XCircleSolidIcon,
|
|
34
34
|
} from './custom';
|
|
35
|
+
import {remixiconMap} from './remixicon-registry';
|
|
35
36
|
|
|
36
|
-
const
|
|
37
|
+
const commonRemixicons = {
|
|
38
|
+
addLine: RiAddLine,
|
|
39
|
+
close: RiCloseLine,
|
|
40
|
+
check: RiCheckLine,
|
|
41
|
+
copy: RiFileCopyLine,
|
|
42
|
+
info: RiInformationFill,
|
|
43
|
+
imageAdd: RiImageAddFill,
|
|
44
|
+
chevronRight: RiArrowRightSLine,
|
|
45
|
+
homeSmile: RiHomeSmileFill,
|
|
46
|
+
money: RiMoneyDollarCircleLine,
|
|
37
47
|
google: RiGoogleFill,
|
|
38
48
|
microsoft: RiMicrosoftFill,
|
|
39
49
|
github: RiGithubFill,
|
|
50
|
+
subtractLine: RiSubtractLine,
|
|
51
|
+
bookOpen: RiBookOpenFill,
|
|
52
|
+
} as const satisfies Record<string, RemixiconComponentType>;
|
|
53
|
+
|
|
54
|
+
const customIconsMap = {
|
|
40
55
|
shipfox: ShipfoxLogo,
|
|
41
56
|
slack: SlackLogo,
|
|
42
57
|
stripe: StripeLogo,
|
|
@@ -51,23 +66,18 @@ const iconsMap = {
|
|
|
51
66
|
spinner: SpinnerIcon,
|
|
52
67
|
thunder: ThunderIcon,
|
|
53
68
|
xCircleSolid: XCircleSolidIcon,
|
|
54
|
-
addLine: RiAddLine,
|
|
55
|
-
bookOpen: RiBookOpenFill,
|
|
56
|
-
check: RiCheckLine,
|
|
57
|
-
chevronRight: RiArrowRightSLine,
|
|
58
|
-
close: RiCloseLine,
|
|
59
|
-
copy: RiFileCopyLine,
|
|
60
|
-
homeSmile: RiHomeSmileFill,
|
|
61
|
-
imageAdd: RiImageAddFill,
|
|
62
|
-
info: RiInformationFill,
|
|
63
|
-
money: RiMoneyDollarCircleLine,
|
|
64
|
-
subtractLine: RiSubtractLine,
|
|
65
69
|
} as const satisfies Record<string, RemixiconComponentType>;
|
|
66
70
|
|
|
71
|
+
const iconsMap = {
|
|
72
|
+
...remixiconMap,
|
|
73
|
+
...commonRemixicons,
|
|
74
|
+
...customIconsMap,
|
|
75
|
+
} as Record<string, RemixiconComponentType> & typeof customIconsMap;
|
|
76
|
+
|
|
67
77
|
export type IconName = keyof typeof iconsMap;
|
|
68
78
|
export const iconNames = Object.keys(iconsMap) as IconName[];
|
|
69
79
|
|
|
70
|
-
type BaseIconProps = ComponentProps<
|
|
80
|
+
type BaseIconProps = ComponentProps<RemixiconComponentType>;
|
|
71
81
|
type IconProps = {name: IconName} & Omit<BaseIconProps, 'name'>;
|
|
72
82
|
|
|
73
83
|
export function Icon({name, ...props}: IconProps) {
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type {RemixiconComponentType} from '@remixicon/react';
|
|
2
|
+
import * as RemixIcons from '@remixicon/react';
|
|
3
|
+
|
|
4
|
+
const remixiconEntries = Object.entries(RemixIcons).filter(
|
|
5
|
+
([key, value]) => key.startsWith('Ri') && typeof value === 'function',
|
|
6
|
+
) as Array<[string, RemixiconComponentType]>;
|
|
7
|
+
|
|
8
|
+
function iconNameToKey(iconName: string): string {
|
|
9
|
+
const withoutPrefix = iconName.slice(2);
|
|
10
|
+
return withoutPrefix.charAt(0).toLowerCase() + withoutPrefix.slice(1);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const remixiconMapEntries = remixiconEntries.map(([name, component]) => [
|
|
14
|
+
iconNameToKey(name),
|
|
15
|
+
component,
|
|
16
|
+
]) as Array<[string, RemixiconComponentType]>;
|
|
17
|
+
|
|
18
|
+
export const remixiconMap = Object.fromEntries(remixiconMapEntries) as Record<
|
|
19
|
+
string,
|
|
20
|
+
RemixiconComponentType
|
|
21
|
+
>;
|
|
22
|
+
|
|
23
|
+
export type RemixIconName = keyof typeof remixiconMap;
|
|
24
|
+
export const remixiconNames = Object.keys(remixiconMap) as RemixIconName[];
|