@dynamic-labs/iconic 0.0.1 → 0.0.2

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.
@@ -1,43 +1,40 @@
1
1
  /// <reference types="react" />
2
- type Resolutions = readonly string[];
3
- type UnionOfResolutions<T extends Resolutions> = T extends T ? T[number] : never;
4
- type Formats<T extends Resolutions> = {
5
- [key in UnionOfResolutions<T>]: {
6
- height: number;
7
- width: number;
8
- };
9
- };
10
2
  export declare const IconComponentKlass: (props: {
11
3
  categoryName: string;
12
- }) => <T extends Resolutions>(classProps: {
13
- resolutions: T;
4
+ }) => (classProps: {
14
5
  alt: string;
15
6
  iconName: string;
16
7
  }) => {
17
8
  new (props: {
9
+ alt?: string;
18
10
  className?: string;
19
- size: UnionOfResolutions<T>;
11
+ width?: number;
12
+ height?: number;
20
13
  } | Readonly<{
14
+ alt?: string;
21
15
  className?: string;
22
- size: UnionOfResolutions<T>;
16
+ width?: number;
17
+ height?: number;
23
18
  }>): {
24
19
  readonly iconName: string;
25
20
  readonly alt: string;
26
21
  readonly categoryName: string;
27
- readonly resolutions: T;
28
- readonly formats: Formats<T>;
29
- readonly sourcePath: string;
30
- readonly baseUrl: string;
22
+ readonly iconPath: string;
23
+ readonly url: string;
31
24
  render(): JSX.Element;
32
25
  context: unknown;
33
26
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<{
27
+ alt?: string;
34
28
  className?: string;
35
- size: UnionOfResolutions<T>;
29
+ width?: number;
30
+ height?: number;
36
31
  }>) => {} | Pick<{}, K>) | Pick<{}, K>, callback?: () => void): void;
37
32
  forceUpdate(callback?: () => void): void;
38
33
  readonly props: Readonly<{
34
+ alt?: string;
39
35
  className?: string;
40
- size: UnionOfResolutions<T>;
36
+ width?: number;
37
+ height?: number;
41
38
  }>;
42
39
  state: Readonly<{}>;
43
40
  refs: {
@@ -45,59 +42,77 @@ export declare const IconComponentKlass: (props: {
45
42
  };
46
43
  componentDidMount?(): void;
47
44
  shouldComponentUpdate?(nextProps: Readonly<{
45
+ alt?: string;
48
46
  className?: string;
49
- size: UnionOfResolutions<T>;
47
+ width?: number;
48
+ height?: number;
50
49
  }>, nextState: Readonly<{}>, nextContext: any): boolean;
51
50
  componentWillUnmount?(): void;
52
51
  componentDidCatch?(error: Error, errorInfo: import("react").ErrorInfo): void;
53
52
  getSnapshotBeforeUpdate?(prevProps: Readonly<{
53
+ alt?: string;
54
54
  className?: string;
55
- size: UnionOfResolutions<T>;
55
+ width?: number;
56
+ height?: number;
56
57
  }>, prevState: Readonly<{}>): any;
57
58
  componentDidUpdate?(prevProps: Readonly<{
59
+ alt?: string;
58
60
  className?: string;
59
- size: UnionOfResolutions<T>;
61
+ width?: number;
62
+ height?: number;
60
63
  }>, prevState: Readonly<{}>, snapshot?: any): void;
61
64
  componentWillMount?(): void;
62
65
  UNSAFE_componentWillMount?(): void;
63
66
  componentWillReceiveProps?(nextProps: Readonly<{
67
+ alt?: string;
64
68
  className?: string;
65
- size: UnionOfResolutions<T>;
69
+ width?: number;
70
+ height?: number;
66
71
  }>, nextContext: any): void;
67
72
  UNSAFE_componentWillReceiveProps?(nextProps: Readonly<{
73
+ alt?: string;
68
74
  className?: string;
69
- size: UnionOfResolutions<T>;
75
+ width?: number;
76
+ height?: number;
70
77
  }>, nextContext: any): void;
71
78
  componentWillUpdate?(nextProps: Readonly<{
79
+ alt?: string;
72
80
  className?: string;
73
- size: UnionOfResolutions<T>;
81
+ width?: number;
82
+ height?: number;
74
83
  }>, nextState: Readonly<{}>, nextContext: any): void;
75
84
  UNSAFE_componentWillUpdate?(nextProps: Readonly<{
85
+ alt?: string;
76
86
  className?: string;
77
- size: UnionOfResolutions<T>;
87
+ width?: number;
88
+ height?: number;
78
89
  }>, nextState: Readonly<{}>, nextContext: any): void;
79
90
  };
80
91
  new (props: {
92
+ alt?: string;
81
93
  className?: string;
82
- size: UnionOfResolutions<T>;
94
+ width?: number;
95
+ height?: number;
83
96
  }, context: any): {
84
97
  readonly iconName: string;
85
98
  readonly alt: string;
86
99
  readonly categoryName: string;
87
- readonly resolutions: T;
88
- readonly formats: Formats<T>;
89
- readonly sourcePath: string;
90
- readonly baseUrl: string;
100
+ readonly iconPath: string;
101
+ readonly url: string;
91
102
  render(): JSX.Element;
92
103
  context: unknown;
93
104
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<{
105
+ alt?: string;
94
106
  className?: string;
95
- size: UnionOfResolutions<T>;
107
+ width?: number;
108
+ height?: number;
96
109
  }>) => {} | Pick<{}, K>) | Pick<{}, K>, callback?: () => void): void;
97
110
  forceUpdate(callback?: () => void): void;
98
111
  readonly props: Readonly<{
112
+ alt?: string;
99
113
  className?: string;
100
- size: UnionOfResolutions<T>;
114
+ width?: number;
115
+ height?: number;
101
116
  }>;
102
117
  state: Readonly<{}>;
103
118
  refs: {
@@ -105,38 +120,51 @@ export declare const IconComponentKlass: (props: {
105
120
  };
106
121
  componentDidMount?(): void;
107
122
  shouldComponentUpdate?(nextProps: Readonly<{
123
+ alt?: string;
108
124
  className?: string;
109
- size: UnionOfResolutions<T>;
125
+ width?: number;
126
+ height?: number;
110
127
  }>, nextState: Readonly<{}>, nextContext: any): boolean;
111
128
  componentWillUnmount?(): void;
112
129
  componentDidCatch?(error: Error, errorInfo: import("react").ErrorInfo): void;
113
130
  getSnapshotBeforeUpdate?(prevProps: Readonly<{
131
+ alt?: string;
114
132
  className?: string;
115
- size: UnionOfResolutions<T>;
133
+ width?: number;
134
+ height?: number;
116
135
  }>, prevState: Readonly<{}>): any;
117
136
  componentDidUpdate?(prevProps: Readonly<{
137
+ alt?: string;
118
138
  className?: string;
119
- size: UnionOfResolutions<T>;
139
+ width?: number;
140
+ height?: number;
120
141
  }>, prevState: Readonly<{}>, snapshot?: any): void;
121
142
  componentWillMount?(): void;
122
143
  UNSAFE_componentWillMount?(): void;
123
144
  componentWillReceiveProps?(nextProps: Readonly<{
145
+ alt?: string;
124
146
  className?: string;
125
- size: UnionOfResolutions<T>;
147
+ width?: number;
148
+ height?: number;
126
149
  }>, nextContext: any): void;
127
150
  UNSAFE_componentWillReceiveProps?(nextProps: Readonly<{
151
+ alt?: string;
128
152
  className?: string;
129
- size: UnionOfResolutions<T>;
153
+ width?: number;
154
+ height?: number;
130
155
  }>, nextContext: any): void;
131
156
  componentWillUpdate?(nextProps: Readonly<{
157
+ alt?: string;
132
158
  className?: string;
133
- size: UnionOfResolutions<T>;
159
+ width?: number;
160
+ height?: number;
134
161
  }>, nextState: Readonly<{}>, nextContext: any): void;
135
162
  UNSAFE_componentWillUpdate?(nextProps: Readonly<{
163
+ alt?: string;
136
164
  className?: string;
137
- size: UnionOfResolutions<T>;
165
+ width?: number;
166
+ height?: number;
138
167
  }>, nextState: Readonly<{}>, nextContext: any): void;
139
168
  };
140
169
  contextType?: import("react").Context<any>;
141
170
  };
142
- export {};
@@ -5,24 +5,15 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const CDN_BASE_URL = 'https://iconic.dynamic-static-assets.com';
7
7
  class IconComponent extends react_1.Component {
8
- get formats() {
9
- const formats = Object.create({});
10
- this.resolutions.forEach((resolution) => {
11
- const [width, height] = resolution.split('x').map((x) => parseInt(x));
12
- formats[resolution] = { height, width };
13
- });
14
- return formats;
8
+ get iconPath() {
9
+ return `icons/${this.categoryName}/${this.iconName}.svg`;
15
10
  }
16
- get sourcePath() {
17
- return `icons/${this.categoryName}/${this.iconName}`;
18
- }
19
- get baseUrl() {
20
- return `${CDN_BASE_URL}/${this.sourcePath}/${this.iconName}_${this.props.size}`;
11
+ get url() {
12
+ return `${CDN_BASE_URL}/${this.iconPath}`;
21
13
  }
22
14
  render() {
23
- var _a, _b;
24
- const props = Object.assign(Object.assign({ alt: (_a = this.alt) !== null && _a !== void 0 ? _a : '' }, this.props), { iconName: this.iconName, height: this.formats[this.props.size].height, width: this.formats[this.props.size].height, size: this.props.size });
25
- return ((0, jsx_runtime_1.jsxs)("picture", Object.assign({ "data-testid": `${this.iconName}-icon` }, { children: [(0, jsx_runtime_1.jsx)("source", { type: "image/webp", srcSet: `${this.baseUrl}.webp` }), (0, jsx_runtime_1.jsx)("img", { src: `${this.baseUrl}.png`, alt: (_b = props.alt) !== null && _b !== void 0 ? _b : '', width: props.width, height: props.height, className: props.className })] })));
15
+ var _a;
16
+ return (0, jsx_runtime_1.jsx)("img", Object.assign({ src: this.url }, this.props, { alt: (_a = this.alt) !== null && _a !== void 0 ? _a : this.props.alt }));
26
17
  }
27
18
  }
28
19
  const IconComponentKlass = (props) => {
@@ -33,7 +24,6 @@ const IconComponentKlass = (props) => {
33
24
  this.iconName = classProps.iconName;
34
25
  this.alt = classProps.alt;
35
26
  this.categoryName = props.categoryName;
36
- this.resolutions = classProps.resolutions;
37
27
  }
38
28
  };
39
29
  };
@@ -1,36 +1,38 @@
1
1
  /// <reference types="react" />
2
- export declare const BrowserIconComponent: <T extends readonly string[]>(classProps: {
3
- resolutions: T;
2
+ export declare const BrowserIconComponent: (classProps: {
4
3
  alt: string;
5
4
  iconName: string;
6
5
  }) => {
7
6
  new (props: {
7
+ alt?: string;
8
8
  className?: string;
9
- size: T extends T ? T[number] : never;
9
+ width?: number;
10
+ height?: number;
10
11
  } | Readonly<{
12
+ alt?: string;
11
13
  className?: string;
12
- size: T extends T ? T[number] : never;
14
+ width?: number;
15
+ height?: number;
13
16
  }>): {
14
17
  readonly iconName: string;
15
18
  readonly alt: string;
16
19
  readonly categoryName: string;
17
- readonly resolutions: T;
18
- readonly formats: { [key in T extends T ? T[number] : never]: {
19
- height: number;
20
- width: number;
21
- }; };
22
- readonly sourcePath: string;
23
- readonly baseUrl: string;
20
+ readonly iconPath: string;
21
+ readonly url: string;
24
22
  render(): JSX.Element;
25
23
  context: unknown;
26
24
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<{
25
+ alt?: string;
27
26
  className?: string;
28
- size: T extends T ? T[number] : never;
27
+ width?: number;
28
+ height?: number;
29
29
  }>) => {} | Pick<{}, K>) | Pick<{}, K>, callback?: () => void): void;
30
30
  forceUpdate(callback?: () => void): void;
31
31
  readonly props: Readonly<{
32
+ alt?: string;
32
33
  className?: string;
33
- size: T extends T ? T[number] : never;
34
+ width?: number;
35
+ height?: number;
34
36
  }>;
35
37
  state: Readonly<{}>;
36
38
  refs: {
@@ -38,62 +40,77 @@ export declare const BrowserIconComponent: <T extends readonly string[]>(classPr
38
40
  };
39
41
  componentDidMount?(): void;
40
42
  shouldComponentUpdate?(nextProps: Readonly<{
43
+ alt?: string;
41
44
  className?: string;
42
- size: T extends T ? T[number] : never;
45
+ width?: number;
46
+ height?: number;
43
47
  }>, nextState: Readonly<{}>, nextContext: any): boolean;
44
48
  componentWillUnmount?(): void;
45
49
  componentDidCatch?(error: Error, errorInfo: import("react").ErrorInfo): void;
46
50
  getSnapshotBeforeUpdate?(prevProps: Readonly<{
51
+ alt?: string;
47
52
  className?: string;
48
- size: T extends T ? T[number] : never;
53
+ width?: number;
54
+ height?: number;
49
55
  }>, prevState: Readonly<{}>): any;
50
56
  componentDidUpdate?(prevProps: Readonly<{
57
+ alt?: string;
51
58
  className?: string;
52
- size: T extends T ? T[number] : never;
59
+ width?: number;
60
+ height?: number;
53
61
  }>, prevState: Readonly<{}>, snapshot?: any): void;
54
62
  componentWillMount?(): void;
55
63
  UNSAFE_componentWillMount?(): void;
56
64
  componentWillReceiveProps?(nextProps: Readonly<{
65
+ alt?: string;
57
66
  className?: string;
58
- size: T extends T ? T[number] : never;
67
+ width?: number;
68
+ height?: number;
59
69
  }>, nextContext: any): void;
60
70
  UNSAFE_componentWillReceiveProps?(nextProps: Readonly<{
71
+ alt?: string;
61
72
  className?: string;
62
- size: T extends T ? T[number] : never;
73
+ width?: number;
74
+ height?: number;
63
75
  }>, nextContext: any): void;
64
76
  componentWillUpdate?(nextProps: Readonly<{
77
+ alt?: string;
65
78
  className?: string;
66
- size: T extends T ? T[number] : never;
79
+ width?: number;
80
+ height?: number;
67
81
  }>, nextState: Readonly<{}>, nextContext: any): void;
68
82
  UNSAFE_componentWillUpdate?(nextProps: Readonly<{
83
+ alt?: string;
69
84
  className?: string;
70
- size: T extends T ? T[number] : never;
85
+ width?: number;
86
+ height?: number;
71
87
  }>, nextState: Readonly<{}>, nextContext: any): void;
72
88
  };
73
89
  new (props: {
90
+ alt?: string;
74
91
  className?: string;
75
- size: T extends T ? T[number] : never;
92
+ width?: number;
93
+ height?: number;
76
94
  }, context: any): {
77
95
  readonly iconName: string;
78
96
  readonly alt: string;
79
97
  readonly categoryName: string;
80
- readonly resolutions: T;
81
- readonly formats: { [key in T extends T ? T[number] : never]: {
82
- height: number;
83
- width: number;
84
- }; };
85
- readonly sourcePath: string;
86
- readonly baseUrl: string;
98
+ readonly iconPath: string;
99
+ readonly url: string;
87
100
  render(): JSX.Element;
88
101
  context: unknown;
89
102
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<{
103
+ alt?: string;
90
104
  className?: string;
91
- size: T extends T ? T[number] : never;
105
+ width?: number;
106
+ height?: number;
92
107
  }>) => {} | Pick<{}, K>) | Pick<{}, K>, callback?: () => void): void;
93
108
  forceUpdate(callback?: () => void): void;
94
109
  readonly props: Readonly<{
110
+ alt?: string;
95
111
  className?: string;
96
- size: T extends T ? T[number] : never;
112
+ width?: number;
113
+ height?: number;
97
114
  }>;
98
115
  state: Readonly<{}>;
99
116
  refs: {
@@ -101,36 +118,50 @@ export declare const BrowserIconComponent: <T extends readonly string[]>(classPr
101
118
  };
102
119
  componentDidMount?(): void;
103
120
  shouldComponentUpdate?(nextProps: Readonly<{
121
+ alt?: string;
104
122
  className?: string;
105
- size: T extends T ? T[number] : never;
123
+ width?: number;
124
+ height?: number;
106
125
  }>, nextState: Readonly<{}>, nextContext: any): boolean;
107
126
  componentWillUnmount?(): void;
108
127
  componentDidCatch?(error: Error, errorInfo: import("react").ErrorInfo): void;
109
128
  getSnapshotBeforeUpdate?(prevProps: Readonly<{
129
+ alt?: string;
110
130
  className?: string;
111
- size: T extends T ? T[number] : never;
131
+ width?: number;
132
+ height?: number;
112
133
  }>, prevState: Readonly<{}>): any;
113
134
  componentDidUpdate?(prevProps: Readonly<{
135
+ alt?: string;
114
136
  className?: string;
115
- size: T extends T ? T[number] : never;
137
+ width?: number;
138
+ height?: number;
116
139
  }>, prevState: Readonly<{}>, snapshot?: any): void;
117
140
  componentWillMount?(): void;
118
141
  UNSAFE_componentWillMount?(): void;
119
142
  componentWillReceiveProps?(nextProps: Readonly<{
143
+ alt?: string;
120
144
  className?: string;
121
- size: T extends T ? T[number] : never;
145
+ width?: number;
146
+ height?: number;
122
147
  }>, nextContext: any): void;
123
148
  UNSAFE_componentWillReceiveProps?(nextProps: Readonly<{
149
+ alt?: string;
124
150
  className?: string;
125
- size: T extends T ? T[number] : never;
151
+ width?: number;
152
+ height?: number;
126
153
  }>, nextContext: any): void;
127
154
  componentWillUpdate?(nextProps: Readonly<{
155
+ alt?: string;
128
156
  className?: string;
129
- size: T extends T ? T[number] : never;
157
+ width?: number;
158
+ height?: number;
130
159
  }>, nextState: Readonly<{}>, nextContext: any): void;
131
160
  UNSAFE_componentWillUpdate?(nextProps: Readonly<{
161
+ alt?: string;
132
162
  className?: string;
133
- size: T extends T ? T[number] : never;
163
+ width?: number;
164
+ height?: number;
134
165
  }>, nextState: Readonly<{}>, nextContext: any): void;
135
166
  };
136
167
  contextType?: import("react").Context<any>;
@@ -1,42 +1,35 @@
1
1
  /// <reference types="react" />
2
2
  declare const BraveIcon_base: {
3
3
  new (props: {
4
+ alt?: string;
4
5
  className?: string;
5
- size: "24x24" | "32x32" | "16x16";
6
+ width?: number;
7
+ height?: number;
6
8
  } | Readonly<{
9
+ alt?: string;
7
10
  className?: string;
8
- size: "24x24" | "32x32" | "16x16";
11
+ width?: number;
12
+ height?: number;
9
13
  }>): {
10
14
  readonly iconName: string;
11
15
  readonly alt: string;
12
16
  readonly categoryName: string;
13
- readonly resolutions: readonly ["24x24", "32x32", "16x16"];
14
- readonly formats: {
15
- "24x24": {
16
- height: number;
17
- width: number;
18
- };
19
- "32x32": {
20
- height: number;
21
- width: number;
22
- };
23
- "16x16": {
24
- height: number;
25
- width: number;
26
- };
27
- };
28
- readonly sourcePath: string;
29
- readonly baseUrl: string;
17
+ readonly iconPath: string;
18
+ readonly url: string;
30
19
  render(): JSX.Element;
31
20
  context: unknown;
32
21
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<{
22
+ alt?: string;
33
23
  className?: string;
34
- size: "24x24" | "32x32" | "16x16";
24
+ width?: number;
25
+ height?: number;
35
26
  }>) => {} | Pick<{}, K>) | Pick<{}, K>, callback?: () => void): void;
36
27
  forceUpdate(callback?: () => void): void;
37
28
  readonly props: Readonly<{
29
+ alt?: string;
38
30
  className?: string;
39
- size: "24x24" | "32x32" | "16x16";
31
+ width?: number;
32
+ height?: number;
40
33
  }>;
41
34
  state: Readonly<{}>;
42
35
  refs: {
@@ -44,72 +37,77 @@ declare const BraveIcon_base: {
44
37
  };
45
38
  componentDidMount?(): void;
46
39
  shouldComponentUpdate?(nextProps: Readonly<{
40
+ alt?: string;
47
41
  className?: string;
48
- size: "24x24" | "32x32" | "16x16";
42
+ width?: number;
43
+ height?: number;
49
44
  }>, nextState: Readonly<{}>, nextContext: any): boolean;
50
45
  componentWillUnmount?(): void;
51
46
  componentDidCatch?(error: Error, errorInfo: import("react").ErrorInfo): void;
52
47
  getSnapshotBeforeUpdate?(prevProps: Readonly<{
48
+ alt?: string;
53
49
  className?: string;
54
- size: "24x24" | "32x32" | "16x16";
50
+ width?: number;
51
+ height?: number;
55
52
  }>, prevState: Readonly<{}>): any;
56
53
  componentDidUpdate?(prevProps: Readonly<{
54
+ alt?: string;
57
55
  className?: string;
58
- size: "24x24" | "32x32" | "16x16";
56
+ width?: number;
57
+ height?: number;
59
58
  }>, prevState: Readonly<{}>, snapshot?: any): void;
60
59
  componentWillMount?(): void;
61
60
  UNSAFE_componentWillMount?(): void;
62
61
  componentWillReceiveProps?(nextProps: Readonly<{
62
+ alt?: string;
63
63
  className?: string;
64
- size: "24x24" | "32x32" | "16x16";
64
+ width?: number;
65
+ height?: number;
65
66
  }>, nextContext: any): void;
66
67
  UNSAFE_componentWillReceiveProps?(nextProps: Readonly<{
68
+ alt?: string;
67
69
  className?: string;
68
- size: "24x24" | "32x32" | "16x16";
70
+ width?: number;
71
+ height?: number;
69
72
  }>, nextContext: any): void;
70
73
  componentWillUpdate?(nextProps: Readonly<{
74
+ alt?: string;
71
75
  className?: string;
72
- size: "24x24" | "32x32" | "16x16";
76
+ width?: number;
77
+ height?: number;
73
78
  }>, nextState: Readonly<{}>, nextContext: any): void;
74
79
  UNSAFE_componentWillUpdate?(nextProps: Readonly<{
80
+ alt?: string;
75
81
  className?: string;
76
- size: "24x24" | "32x32" | "16x16";
82
+ width?: number;
83
+ height?: number;
77
84
  }>, nextState: Readonly<{}>, nextContext: any): void;
78
85
  };
79
86
  new (props: {
87
+ alt?: string;
80
88
  className?: string;
81
- size: "24x24" | "32x32" | "16x16";
89
+ width?: number;
90
+ height?: number;
82
91
  }, context: any): {
83
92
  readonly iconName: string;
84
93
  readonly alt: string;
85
94
  readonly categoryName: string;
86
- readonly resolutions: readonly ["24x24", "32x32", "16x16"];
87
- readonly formats: {
88
- "24x24": {
89
- height: number;
90
- width: number;
91
- };
92
- "32x32": {
93
- height: number;
94
- width: number;
95
- };
96
- "16x16": {
97
- height: number;
98
- width: number;
99
- };
100
- };
101
- readonly sourcePath: string;
102
- readonly baseUrl: string;
95
+ readonly iconPath: string;
96
+ readonly url: string;
103
97
  render(): JSX.Element;
104
98
  context: unknown;
105
99
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<{
100
+ alt?: string;
106
101
  className?: string;
107
- size: "24x24" | "32x32" | "16x16";
102
+ width?: number;
103
+ height?: number;
108
104
  }>) => {} | Pick<{}, K>) | Pick<{}, K>, callback?: () => void): void;
109
105
  forceUpdate(callback?: () => void): void;
110
106
  readonly props: Readonly<{
107
+ alt?: string;
111
108
  className?: string;
112
- size: "24x24" | "32x32" | "16x16";
109
+ width?: number;
110
+ height?: number;
113
111
  }>;
114
112
  state: Readonly<{}>;
115
113
  refs: {
@@ -117,36 +115,50 @@ declare const BraveIcon_base: {
117
115
  };
118
116
  componentDidMount?(): void;
119
117
  shouldComponentUpdate?(nextProps: Readonly<{
118
+ alt?: string;
120
119
  className?: string;
121
- size: "24x24" | "32x32" | "16x16";
120
+ width?: number;
121
+ height?: number;
122
122
  }>, nextState: Readonly<{}>, nextContext: any): boolean;
123
123
  componentWillUnmount?(): void;
124
124
  componentDidCatch?(error: Error, errorInfo: import("react").ErrorInfo): void;
125
125
  getSnapshotBeforeUpdate?(prevProps: Readonly<{
126
+ alt?: string;
126
127
  className?: string;
127
- size: "24x24" | "32x32" | "16x16";
128
+ width?: number;
129
+ height?: number;
128
130
  }>, prevState: Readonly<{}>): any;
129
131
  componentDidUpdate?(prevProps: Readonly<{
132
+ alt?: string;
130
133
  className?: string;
131
- size: "24x24" | "32x32" | "16x16";
134
+ width?: number;
135
+ height?: number;
132
136
  }>, prevState: Readonly<{}>, snapshot?: any): void;
133
137
  componentWillMount?(): void;
134
138
  UNSAFE_componentWillMount?(): void;
135
139
  componentWillReceiveProps?(nextProps: Readonly<{
140
+ alt?: string;
136
141
  className?: string;
137
- size: "24x24" | "32x32" | "16x16";
142
+ width?: number;
143
+ height?: number;
138
144
  }>, nextContext: any): void;
139
145
  UNSAFE_componentWillReceiveProps?(nextProps: Readonly<{
146
+ alt?: string;
140
147
  className?: string;
141
- size: "24x24" | "32x32" | "16x16";
148
+ width?: number;
149
+ height?: number;
142
150
  }>, nextContext: any): void;
143
151
  componentWillUpdate?(nextProps: Readonly<{
152
+ alt?: string;
144
153
  className?: string;
145
- size: "24x24" | "32x32" | "16x16";
154
+ width?: number;
155
+ height?: number;
146
156
  }>, nextState: Readonly<{}>, nextContext: any): void;
147
157
  UNSAFE_componentWillUpdate?(nextProps: Readonly<{
158
+ alt?: string;
148
159
  className?: string;
149
- size: "24x24" | "32x32" | "16x16";
160
+ width?: number;
161
+ height?: number;
150
162
  }>, nextState: Readonly<{}>, nextContext: any): void;
151
163
  };
152
164
  contextType?: import("react").Context<any>;
@@ -4,8 +4,7 @@ exports.BraveIcon = void 0;
4
4
  const BrowserIconComponent_1 = require("../BrowserIconComponent");
5
5
  class BraveIcon extends (0, BrowserIconComponent_1.BrowserIconComponent)({
6
6
  alt: 'Brave Browser',
7
- iconName: 'brave',
8
- resolutions: ['24x24', '32x32', '16x16']
7
+ iconName: 'brave'
9
8
  }) {
10
9
  }
11
10
  exports.BraveIcon = BraveIcon;
@@ -1,36 +1,38 @@
1
1
  /// <reference types="react" />
2
- export declare const ChainIconComponent: <T extends readonly string[]>(classProps: {
3
- resolutions: T;
2
+ export declare const ChainIconComponent: (classProps: {
4
3
  alt: string;
5
4
  iconName: string;
6
5
  }) => {
7
6
  new (props: {
7
+ alt?: string;
8
8
  className?: string;
9
- size: T extends T ? T[number] : never;
9
+ width?: number;
10
+ height?: number;
10
11
  } | Readonly<{
12
+ alt?: string;
11
13
  className?: string;
12
- size: T extends T ? T[number] : never;
14
+ width?: number;
15
+ height?: number;
13
16
  }>): {
14
17
  readonly iconName: string;
15
18
  readonly alt: string;
16
19
  readonly categoryName: string;
17
- readonly resolutions: T;
18
- readonly formats: { [key in T extends T ? T[number] : never]: {
19
- height: number;
20
- width: number;
21
- }; };
22
- readonly sourcePath: string;
23
- readonly baseUrl: string;
20
+ readonly iconPath: string;
21
+ readonly url: string;
24
22
  render(): JSX.Element;
25
23
  context: unknown;
26
24
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<{
25
+ alt?: string;
27
26
  className?: string;
28
- size: T extends T ? T[number] : never;
27
+ width?: number;
28
+ height?: number;
29
29
  }>) => {} | Pick<{}, K>) | Pick<{}, K>, callback?: () => void): void;
30
30
  forceUpdate(callback?: () => void): void;
31
31
  readonly props: Readonly<{
32
+ alt?: string;
32
33
  className?: string;
33
- size: T extends T ? T[number] : never;
34
+ width?: number;
35
+ height?: number;
34
36
  }>;
35
37
  state: Readonly<{}>;
36
38
  refs: {
@@ -38,62 +40,77 @@ export declare const ChainIconComponent: <T extends readonly string[]>(classProp
38
40
  };
39
41
  componentDidMount?(): void;
40
42
  shouldComponentUpdate?(nextProps: Readonly<{
43
+ alt?: string;
41
44
  className?: string;
42
- size: T extends T ? T[number] : never;
45
+ width?: number;
46
+ height?: number;
43
47
  }>, nextState: Readonly<{}>, nextContext: any): boolean;
44
48
  componentWillUnmount?(): void;
45
49
  componentDidCatch?(error: Error, errorInfo: import("react").ErrorInfo): void;
46
50
  getSnapshotBeforeUpdate?(prevProps: Readonly<{
51
+ alt?: string;
47
52
  className?: string;
48
- size: T extends T ? T[number] : never;
53
+ width?: number;
54
+ height?: number;
49
55
  }>, prevState: Readonly<{}>): any;
50
56
  componentDidUpdate?(prevProps: Readonly<{
57
+ alt?: string;
51
58
  className?: string;
52
- size: T extends T ? T[number] : never;
59
+ width?: number;
60
+ height?: number;
53
61
  }>, prevState: Readonly<{}>, snapshot?: any): void;
54
62
  componentWillMount?(): void;
55
63
  UNSAFE_componentWillMount?(): void;
56
64
  componentWillReceiveProps?(nextProps: Readonly<{
65
+ alt?: string;
57
66
  className?: string;
58
- size: T extends T ? T[number] : never;
67
+ width?: number;
68
+ height?: number;
59
69
  }>, nextContext: any): void;
60
70
  UNSAFE_componentWillReceiveProps?(nextProps: Readonly<{
71
+ alt?: string;
61
72
  className?: string;
62
- size: T extends T ? T[number] : never;
73
+ width?: number;
74
+ height?: number;
63
75
  }>, nextContext: any): void;
64
76
  componentWillUpdate?(nextProps: Readonly<{
77
+ alt?: string;
65
78
  className?: string;
66
- size: T extends T ? T[number] : never;
79
+ width?: number;
80
+ height?: number;
67
81
  }>, nextState: Readonly<{}>, nextContext: any): void;
68
82
  UNSAFE_componentWillUpdate?(nextProps: Readonly<{
83
+ alt?: string;
69
84
  className?: string;
70
- size: T extends T ? T[number] : never;
85
+ width?: number;
86
+ height?: number;
71
87
  }>, nextState: Readonly<{}>, nextContext: any): void;
72
88
  };
73
89
  new (props: {
90
+ alt?: string;
74
91
  className?: string;
75
- size: T extends T ? T[number] : never;
92
+ width?: number;
93
+ height?: number;
76
94
  }, context: any): {
77
95
  readonly iconName: string;
78
96
  readonly alt: string;
79
97
  readonly categoryName: string;
80
- readonly resolutions: T;
81
- readonly formats: { [key in T extends T ? T[number] : never]: {
82
- height: number;
83
- width: number;
84
- }; };
85
- readonly sourcePath: string;
86
- readonly baseUrl: string;
98
+ readonly iconPath: string;
99
+ readonly url: string;
87
100
  render(): JSX.Element;
88
101
  context: unknown;
89
102
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<{
103
+ alt?: string;
90
104
  className?: string;
91
- size: T extends T ? T[number] : never;
105
+ width?: number;
106
+ height?: number;
92
107
  }>) => {} | Pick<{}, K>) | Pick<{}, K>, callback?: () => void): void;
93
108
  forceUpdate(callback?: () => void): void;
94
109
  readonly props: Readonly<{
110
+ alt?: string;
95
111
  className?: string;
96
- size: T extends T ? T[number] : never;
112
+ width?: number;
113
+ height?: number;
97
114
  }>;
98
115
  state: Readonly<{}>;
99
116
  refs: {
@@ -101,36 +118,50 @@ export declare const ChainIconComponent: <T extends readonly string[]>(classProp
101
118
  };
102
119
  componentDidMount?(): void;
103
120
  shouldComponentUpdate?(nextProps: Readonly<{
121
+ alt?: string;
104
122
  className?: string;
105
- size: T extends T ? T[number] : never;
123
+ width?: number;
124
+ height?: number;
106
125
  }>, nextState: Readonly<{}>, nextContext: any): boolean;
107
126
  componentWillUnmount?(): void;
108
127
  componentDidCatch?(error: Error, errorInfo: import("react").ErrorInfo): void;
109
128
  getSnapshotBeforeUpdate?(prevProps: Readonly<{
129
+ alt?: string;
110
130
  className?: string;
111
- size: T extends T ? T[number] : never;
131
+ width?: number;
132
+ height?: number;
112
133
  }>, prevState: Readonly<{}>): any;
113
134
  componentDidUpdate?(prevProps: Readonly<{
135
+ alt?: string;
114
136
  className?: string;
115
- size: T extends T ? T[number] : never;
137
+ width?: number;
138
+ height?: number;
116
139
  }>, prevState: Readonly<{}>, snapshot?: any): void;
117
140
  componentWillMount?(): void;
118
141
  UNSAFE_componentWillMount?(): void;
119
142
  componentWillReceiveProps?(nextProps: Readonly<{
143
+ alt?: string;
120
144
  className?: string;
121
- size: T extends T ? T[number] : never;
145
+ width?: number;
146
+ height?: number;
122
147
  }>, nextContext: any): void;
123
148
  UNSAFE_componentWillReceiveProps?(nextProps: Readonly<{
149
+ alt?: string;
124
150
  className?: string;
125
- size: T extends T ? T[number] : never;
151
+ width?: number;
152
+ height?: number;
126
153
  }>, nextContext: any): void;
127
154
  componentWillUpdate?(nextProps: Readonly<{
155
+ alt?: string;
128
156
  className?: string;
129
- size: T extends T ? T[number] : never;
157
+ width?: number;
158
+ height?: number;
130
159
  }>, nextState: Readonly<{}>, nextContext: any): void;
131
160
  UNSAFE_componentWillUpdate?(nextProps: Readonly<{
161
+ alt?: string;
132
162
  className?: string;
133
- size: T extends T ? T[number] : never;
163
+ width?: number;
164
+ height?: number;
134
165
  }>, nextState: Readonly<{}>, nextContext: any): void;
135
166
  };
136
167
  contextType?: import("react").Context<any>;
@@ -1,38 +1,35 @@
1
1
  /// <reference types="react" />
2
2
  declare const ArbitrumIcon_base: {
3
3
  new (props: {
4
+ alt?: string;
4
5
  className?: string;
5
- size: "24x24" | "32x32";
6
+ width?: number;
7
+ height?: number;
6
8
  } | Readonly<{
9
+ alt?: string;
7
10
  className?: string;
8
- size: "24x24" | "32x32";
11
+ width?: number;
12
+ height?: number;
9
13
  }>): {
10
14
  readonly iconName: string;
11
15
  readonly alt: string;
12
16
  readonly categoryName: string;
13
- readonly resolutions: readonly ["24x24", "32x32"];
14
- readonly formats: {
15
- "24x24": {
16
- height: number;
17
- width: number;
18
- };
19
- "32x32": {
20
- height: number;
21
- width: number;
22
- };
23
- };
24
- readonly sourcePath: string;
25
- readonly baseUrl: string;
17
+ readonly iconPath: string;
18
+ readonly url: string;
26
19
  render(): JSX.Element;
27
20
  context: unknown;
28
21
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<{
22
+ alt?: string;
29
23
  className?: string;
30
- size: "24x24" | "32x32";
24
+ width?: number;
25
+ height?: number;
31
26
  }>) => {} | Pick<{}, K>) | Pick<{}, K>, callback?: () => void): void;
32
27
  forceUpdate(callback?: () => void): void;
33
28
  readonly props: Readonly<{
29
+ alt?: string;
34
30
  className?: string;
35
- size: "24x24" | "32x32";
31
+ width?: number;
32
+ height?: number;
36
33
  }>;
37
34
  state: Readonly<{}>;
38
35
  refs: {
@@ -40,68 +37,77 @@ declare const ArbitrumIcon_base: {
40
37
  };
41
38
  componentDidMount?(): void;
42
39
  shouldComponentUpdate?(nextProps: Readonly<{
40
+ alt?: string;
43
41
  className?: string;
44
- size: "24x24" | "32x32";
42
+ width?: number;
43
+ height?: number;
45
44
  }>, nextState: Readonly<{}>, nextContext: any): boolean;
46
45
  componentWillUnmount?(): void;
47
46
  componentDidCatch?(error: Error, errorInfo: import("react").ErrorInfo): void;
48
47
  getSnapshotBeforeUpdate?(prevProps: Readonly<{
48
+ alt?: string;
49
49
  className?: string;
50
- size: "24x24" | "32x32";
50
+ width?: number;
51
+ height?: number;
51
52
  }>, prevState: Readonly<{}>): any;
52
53
  componentDidUpdate?(prevProps: Readonly<{
54
+ alt?: string;
53
55
  className?: string;
54
- size: "24x24" | "32x32";
56
+ width?: number;
57
+ height?: number;
55
58
  }>, prevState: Readonly<{}>, snapshot?: any): void;
56
59
  componentWillMount?(): void;
57
60
  UNSAFE_componentWillMount?(): void;
58
61
  componentWillReceiveProps?(nextProps: Readonly<{
62
+ alt?: string;
59
63
  className?: string;
60
- size: "24x24" | "32x32";
64
+ width?: number;
65
+ height?: number;
61
66
  }>, nextContext: any): void;
62
67
  UNSAFE_componentWillReceiveProps?(nextProps: Readonly<{
68
+ alt?: string;
63
69
  className?: string;
64
- size: "24x24" | "32x32";
70
+ width?: number;
71
+ height?: number;
65
72
  }>, nextContext: any): void;
66
73
  componentWillUpdate?(nextProps: Readonly<{
74
+ alt?: string;
67
75
  className?: string;
68
- size: "24x24" | "32x32";
76
+ width?: number;
77
+ height?: number;
69
78
  }>, nextState: Readonly<{}>, nextContext: any): void;
70
79
  UNSAFE_componentWillUpdate?(nextProps: Readonly<{
80
+ alt?: string;
71
81
  className?: string;
72
- size: "24x24" | "32x32";
82
+ width?: number;
83
+ height?: number;
73
84
  }>, nextState: Readonly<{}>, nextContext: any): void;
74
85
  };
75
86
  new (props: {
87
+ alt?: string;
76
88
  className?: string;
77
- size: "24x24" | "32x32";
89
+ width?: number;
90
+ height?: number;
78
91
  }, context: any): {
79
92
  readonly iconName: string;
80
93
  readonly alt: string;
81
94
  readonly categoryName: string;
82
- readonly resolutions: readonly ["24x24", "32x32"];
83
- readonly formats: {
84
- "24x24": {
85
- height: number;
86
- width: number;
87
- };
88
- "32x32": {
89
- height: number;
90
- width: number;
91
- };
92
- };
93
- readonly sourcePath: string;
94
- readonly baseUrl: string;
95
+ readonly iconPath: string;
96
+ readonly url: string;
95
97
  render(): JSX.Element;
96
98
  context: unknown;
97
99
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<{
100
+ alt?: string;
98
101
  className?: string;
99
- size: "24x24" | "32x32";
102
+ width?: number;
103
+ height?: number;
100
104
  }>) => {} | Pick<{}, K>) | Pick<{}, K>, callback?: () => void): void;
101
105
  forceUpdate(callback?: () => void): void;
102
106
  readonly props: Readonly<{
107
+ alt?: string;
103
108
  className?: string;
104
- size: "24x24" | "32x32";
109
+ width?: number;
110
+ height?: number;
105
111
  }>;
106
112
  state: Readonly<{}>;
107
113
  refs: {
@@ -109,36 +115,50 @@ declare const ArbitrumIcon_base: {
109
115
  };
110
116
  componentDidMount?(): void;
111
117
  shouldComponentUpdate?(nextProps: Readonly<{
118
+ alt?: string;
112
119
  className?: string;
113
- size: "24x24" | "32x32";
120
+ width?: number;
121
+ height?: number;
114
122
  }>, nextState: Readonly<{}>, nextContext: any): boolean;
115
123
  componentWillUnmount?(): void;
116
124
  componentDidCatch?(error: Error, errorInfo: import("react").ErrorInfo): void;
117
125
  getSnapshotBeforeUpdate?(prevProps: Readonly<{
126
+ alt?: string;
118
127
  className?: string;
119
- size: "24x24" | "32x32";
128
+ width?: number;
129
+ height?: number;
120
130
  }>, prevState: Readonly<{}>): any;
121
131
  componentDidUpdate?(prevProps: Readonly<{
132
+ alt?: string;
122
133
  className?: string;
123
- size: "24x24" | "32x32";
134
+ width?: number;
135
+ height?: number;
124
136
  }>, prevState: Readonly<{}>, snapshot?: any): void;
125
137
  componentWillMount?(): void;
126
138
  UNSAFE_componentWillMount?(): void;
127
139
  componentWillReceiveProps?(nextProps: Readonly<{
140
+ alt?: string;
128
141
  className?: string;
129
- size: "24x24" | "32x32";
142
+ width?: number;
143
+ height?: number;
130
144
  }>, nextContext: any): void;
131
145
  UNSAFE_componentWillReceiveProps?(nextProps: Readonly<{
146
+ alt?: string;
132
147
  className?: string;
133
- size: "24x24" | "32x32";
148
+ width?: number;
149
+ height?: number;
134
150
  }>, nextContext: any): void;
135
151
  componentWillUpdate?(nextProps: Readonly<{
152
+ alt?: string;
136
153
  className?: string;
137
- size: "24x24" | "32x32";
154
+ width?: number;
155
+ height?: number;
138
156
  }>, nextState: Readonly<{}>, nextContext: any): void;
139
157
  UNSAFE_componentWillUpdate?(nextProps: Readonly<{
158
+ alt?: string;
140
159
  className?: string;
141
- size: "24x24" | "32x32";
160
+ width?: number;
161
+ height?: number;
142
162
  }>, nextState: Readonly<{}>, nextContext: any): void;
143
163
  };
144
164
  contextType?: import("react").Context<any>;
@@ -4,8 +4,7 @@ exports.ArbitrumIcon = void 0;
4
4
  const ChainIconComponent_1 = require("../ChainIconComponent");
5
5
  class ArbitrumIcon extends (0, ChainIconComponent_1.ChainIconComponent)({
6
6
  alt: 'Arbitrum Browser',
7
- iconName: 'arbitrum',
8
- resolutions: ['24x24', '32x32']
7
+ iconName: 'arbitrum'
9
8
  }) {
10
9
  }
11
10
  exports.ArbitrumIcon = ArbitrumIcon;
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@dynamic-labs/iconic",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "A library of icons used by Dynamic Lab's SDK, served via CDN",
5
- "main": "src/index.js",
5
+ "main": "dist/src/index.js",
6
6
  "scripts": {
7
- "build": "rimraf dist build && tsc && ts-node ./scripts/build-icons.ts",
7
+ "build": "rimraf dist build && tsc",
8
8
  "test": "jest",
9
9
  "lint": "eslint .",
10
10
  "lint:fix": "eslint --fix",
@@ -27,7 +27,7 @@
27
27
  "@types/jest": "^29.4.0",
28
28
  "@types/node": "^18.13.0",
29
29
  "@types/react": "^18.0.27",
30
- "@types/sharp": "^0.31.1",
30
+ "@types/svgo": "^3.0.0",
31
31
  "@typescript-eslint/eslint-plugin": "^5.0.0",
32
32
  "eslint": "^8.0.1",
33
33
  "eslint-config-prettier": "^8.6.0",
@@ -37,14 +37,13 @@
37
37
  "eslint-plugin-prettier": "^4.2.1",
38
38
  "eslint-plugin-promise": "^6.0.0",
39
39
  "eslint-plugin-react": "^7.32.2",
40
- "fs-extra": "^11.1.0",
41
40
  "jest": "^29.4.2",
42
41
  "jest-environment-jsdom": "^29.4.2",
43
42
  "prettier": "^2.8.4",
44
43
  "react": "^18.0.0",
45
44
  "react-dom": "^18.0.0",
46
45
  "rimraf": "^4.1.2",
47
- "sharp": "^0.31.3",
46
+ "svgo": "^3.0.2",
48
47
  "ts-jest": "^29.0.5",
49
48
  "ts-node": "^10.9.1",
50
49
  "typescript": "*"
@@ -53,9 +52,8 @@
53
52
  "react": "^17.0.2 || ^18.0.0"
54
53
  },
55
54
  "exports": {
56
- ".": "./dist/index.js",
57
- "./package.json": "./package.json",
58
- "./icons/*": "./src/icons/*.js"
55
+ ".": "./dist/src/index.js",
56
+ "./package.json": "./package.json"
59
57
  },
60
58
  "files": [
61
59
  "dist",