react-native-system-icon 1.0.0 → 1.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.
- package/README.md +23 -2
- package/es/IconBase.d.ts +72 -3
- package/es/IconBase.js +107 -0
- package/es/index.d.ts +51 -0
- package/es/index.js +34 -0
- package/lib/IconBase.js +225 -1
- package/lib/index.js +175 -0
- package/package.json +11 -10
package/README.md
CHANGED
|
@@ -5,13 +5,15 @@ React Native icon components that mirror the React Vant design language. Every i
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
pnpm add react-native-system-icon
|
|
8
|
+
pnpm add react-native-system-icon
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
> `react-native-svg` is a
|
|
11
|
+
> `react-native-svg` is automatically installed as a dependency. You don't need to install it separately.
|
|
12
12
|
|
|
13
13
|
## Usage
|
|
14
14
|
|
|
15
|
+
### Using Icons
|
|
16
|
+
|
|
15
17
|
```tsx
|
|
16
18
|
import { Add, CartO } from 'react-native-system-icon';
|
|
17
19
|
|
|
@@ -20,6 +22,25 @@ export function Example() {
|
|
|
20
22
|
}
|
|
21
23
|
```
|
|
22
24
|
|
|
25
|
+
### Using react-native-svg Components
|
|
26
|
+
|
|
27
|
+
You can also import `react-native-svg` components and types directly from this library:
|
|
28
|
+
|
|
29
|
+
```tsx
|
|
30
|
+
import { Svg, Path, Rect, SvgCircle, type SvgProps } from 'react-native-system-icon';
|
|
31
|
+
|
|
32
|
+
export function CustomIcon() {
|
|
33
|
+
return (
|
|
34
|
+
<Svg width={100} height={100}>
|
|
35
|
+
<SvgCircle cx={50} cy={50} r={40} fill="blue" />
|
|
36
|
+
<Rect x={10} y={10} width={80} height={80} fill="red" />
|
|
37
|
+
</Svg>
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
> **Note**: `Circle` and `Stop` from `react-native-svg` are exported as `SvgCircle` and `SvgStop` to avoid conflicts with icon components of the same name.
|
|
43
|
+
|
|
23
44
|
### Props
|
|
24
45
|
|
|
25
46
|
All icons accept every `SvgProps` from `react-native-svg`, plus a `size` shortcut (defaults to `24`). For multi-colored glyphs, pass custom `fill` props to the underlying `Svg` elements when needed.
|
package/es/IconBase.d.ts
CHANGED
|
@@ -1,12 +1,81 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type {
|
|
3
|
-
|
|
2
|
+
import type {
|
|
3
|
+
SvgProps,
|
|
4
|
+
PathProps,
|
|
5
|
+
GProps,
|
|
6
|
+
CircleProps,
|
|
7
|
+
UseProps,
|
|
8
|
+
RectProps,
|
|
9
|
+
LineProps,
|
|
10
|
+
PolygonProps,
|
|
11
|
+
PolylineProps,
|
|
12
|
+
EllipseProps,
|
|
13
|
+
TextProps,
|
|
14
|
+
LinearGradientProps,
|
|
15
|
+
RadialGradientProps,
|
|
16
|
+
StopProps,
|
|
17
|
+
ClipPathProps,
|
|
18
|
+
PatternProps,
|
|
19
|
+
MaskProps,
|
|
20
|
+
MarkerProps,
|
|
21
|
+
SymbolProps,
|
|
22
|
+
ImageProps,
|
|
23
|
+
ForeignObjectProps,
|
|
24
|
+
} from 'react-native-svg';
|
|
25
|
+
type TSpanProps = GProps;
|
|
26
|
+
type TextPathProps = GProps;
|
|
27
|
+
type DefsProps = GProps;
|
|
28
|
+
type ComponentType<P> = React.ComponentType<P>;
|
|
4
29
|
export declare const Svg: ComponentType<SvgProps>;
|
|
5
30
|
export declare const Path: ComponentType<PathProps>;
|
|
6
31
|
export declare const G: ComponentType<GProps>;
|
|
7
32
|
export declare const Circle: ComponentType<CircleProps>;
|
|
8
33
|
export declare const Use: ComponentType<UseProps>;
|
|
9
|
-
export
|
|
34
|
+
export declare const Rect: ComponentType<RectProps>;
|
|
35
|
+
export declare const Line: ComponentType<LineProps>;
|
|
36
|
+
export declare const Polygon: ComponentType<PolygonProps>;
|
|
37
|
+
export declare const Polyline: ComponentType<PolylineProps>;
|
|
38
|
+
export declare const Ellipse: ComponentType<EllipseProps>;
|
|
39
|
+
export declare const Text: ComponentType<TextProps>;
|
|
40
|
+
export declare const TSpan: ComponentType<GProps>;
|
|
41
|
+
export declare const TextPath: ComponentType<GProps>;
|
|
42
|
+
export declare const Defs: ComponentType<GProps>;
|
|
43
|
+
export declare const LinearGradient: ComponentType<LinearGradientProps>;
|
|
44
|
+
export declare const RadialGradient: ComponentType<RadialGradientProps>;
|
|
45
|
+
export declare const Stop: ComponentType<StopProps>;
|
|
46
|
+
export declare const ClipPath: ComponentType<ClipPathProps>;
|
|
47
|
+
export declare const Pattern: ComponentType<PatternProps>;
|
|
48
|
+
export declare const Mask: ComponentType<MaskProps>;
|
|
49
|
+
export declare const Marker: ComponentType<MarkerProps>;
|
|
50
|
+
export declare const Symbol: ComponentType<SymbolProps>;
|
|
51
|
+
export declare const Image: ComponentType<ImageProps>;
|
|
52
|
+
export declare const ForeignObject: ComponentType<ForeignObjectProps>;
|
|
53
|
+
export type {
|
|
54
|
+
SvgProps,
|
|
55
|
+
PathProps,
|
|
56
|
+
GProps,
|
|
57
|
+
CircleProps,
|
|
58
|
+
UseProps,
|
|
59
|
+
RectProps,
|
|
60
|
+
LineProps,
|
|
61
|
+
PolygonProps,
|
|
62
|
+
PolylineProps,
|
|
63
|
+
EllipseProps,
|
|
64
|
+
TextProps,
|
|
65
|
+
TSpanProps,
|
|
66
|
+
TextPathProps,
|
|
67
|
+
DefsProps,
|
|
68
|
+
LinearGradientProps,
|
|
69
|
+
RadialGradientProps,
|
|
70
|
+
StopProps,
|
|
71
|
+
ClipPathProps,
|
|
72
|
+
PatternProps,
|
|
73
|
+
MaskProps,
|
|
74
|
+
MarkerProps,
|
|
75
|
+
SymbolProps,
|
|
76
|
+
ImageProps,
|
|
77
|
+
ForeignObjectProps,
|
|
78
|
+
};
|
|
10
79
|
export interface IconBaseProps extends SvgProps {
|
|
11
80
|
/** Size applied to both width and height (default: 24). */
|
|
12
81
|
size?: number | string;
|
package/es/IconBase.js
CHANGED
|
@@ -5,6 +5,25 @@ import RNSvg, {
|
|
|
5
5
|
G as RnG,
|
|
6
6
|
Circle as RnCircle,
|
|
7
7
|
Use as RnUse,
|
|
8
|
+
Rect as RnRect,
|
|
9
|
+
Line as RnLine,
|
|
10
|
+
Polygon as RnPolygon,
|
|
11
|
+
Polyline as RnPolyline,
|
|
12
|
+
Ellipse as RnEllipse,
|
|
13
|
+
Text as RnText,
|
|
14
|
+
TSpan as RnTSpan,
|
|
15
|
+
TextPath as RnTextPath,
|
|
16
|
+
Defs as RnDefs,
|
|
17
|
+
LinearGradient as RnLinearGradient,
|
|
18
|
+
RadialGradient as RnRadialGradient,
|
|
19
|
+
Stop as RnStop,
|
|
20
|
+
ClipPath as RnClipPath,
|
|
21
|
+
Pattern as RnPattern,
|
|
22
|
+
Mask as RnMask,
|
|
23
|
+
Marker as RnMarker,
|
|
24
|
+
Symbol as RnSymbol,
|
|
25
|
+
Image as RnImage,
|
|
26
|
+
ForeignObject as RnForeignObject,
|
|
8
27
|
} from 'react-native-svg';
|
|
9
28
|
// ============================================================================
|
|
10
29
|
// 平台检测:在模块加载时判断运行平台
|
|
@@ -37,6 +56,75 @@ const WebCircle = React.forwardRef((props, ref) => {
|
|
|
37
56
|
const WebUse = React.forwardRef((props, ref) => {
|
|
38
57
|
return React.createElement('use', { ...props, ref });
|
|
39
58
|
});
|
|
59
|
+
const WebRect = React.forwardRef((props, ref) => {
|
|
60
|
+
return React.createElement('rect', { ...props, ref });
|
|
61
|
+
});
|
|
62
|
+
const WebLine = React.forwardRef((props, ref) => {
|
|
63
|
+
return React.createElement('line', { ...props, ref });
|
|
64
|
+
});
|
|
65
|
+
const WebPolygon = React.forwardRef((props, ref) => {
|
|
66
|
+
return React.createElement('polygon', { ...props, ref });
|
|
67
|
+
});
|
|
68
|
+
const WebPolyline = React.forwardRef((props, ref) => {
|
|
69
|
+
return React.createElement('polyline', { ...props, ref });
|
|
70
|
+
});
|
|
71
|
+
const WebEllipse = React.forwardRef((props, ref) => {
|
|
72
|
+
return React.createElement('ellipse', { ...props, ref });
|
|
73
|
+
});
|
|
74
|
+
const WebText = React.forwardRef((props, ref) => {
|
|
75
|
+
const { children, ...rest } = props;
|
|
76
|
+
return React.createElement('text', { ...rest, ref }, children);
|
|
77
|
+
});
|
|
78
|
+
const WebTSpan = React.forwardRef((props, ref) => {
|
|
79
|
+
const { children, ...rest } = props;
|
|
80
|
+
return React.createElement('tspan', { ...rest, ref }, children);
|
|
81
|
+
});
|
|
82
|
+
const WebTextPath = React.forwardRef((props, ref) => {
|
|
83
|
+
const { children, ...rest } = props;
|
|
84
|
+
return React.createElement('textPath', { ...rest, ref }, children);
|
|
85
|
+
});
|
|
86
|
+
const WebDefs = React.forwardRef((props, ref) => {
|
|
87
|
+
const { children, ...rest } = props;
|
|
88
|
+
return React.createElement('defs', { ...rest, ref }, children);
|
|
89
|
+
});
|
|
90
|
+
const WebLinearGradient = React.forwardRef((props, ref) => {
|
|
91
|
+
const { children, ...rest } = props;
|
|
92
|
+
return React.createElement('linearGradient', { ...rest, ref }, children);
|
|
93
|
+
});
|
|
94
|
+
const WebRadialGradient = React.forwardRef((props, ref) => {
|
|
95
|
+
const { children, ...rest } = props;
|
|
96
|
+
return React.createElement('radialGradient', { ...rest, ref }, children);
|
|
97
|
+
});
|
|
98
|
+
const WebStop = React.forwardRef((props, ref) => {
|
|
99
|
+
return React.createElement('stop', { ...props, ref });
|
|
100
|
+
});
|
|
101
|
+
const WebClipPath = React.forwardRef((props, ref) => {
|
|
102
|
+
const { children, ...rest } = props;
|
|
103
|
+
return React.createElement('clipPath', { ...rest, ref }, children);
|
|
104
|
+
});
|
|
105
|
+
const WebPattern = React.forwardRef((props, ref) => {
|
|
106
|
+
const { children, ...rest } = props;
|
|
107
|
+
return React.createElement('pattern', { ...rest, ref }, children);
|
|
108
|
+
});
|
|
109
|
+
const WebMask = React.forwardRef((props, ref) => {
|
|
110
|
+
const { children, ...rest } = props;
|
|
111
|
+
return React.createElement('mask', { ...rest, ref }, children);
|
|
112
|
+
});
|
|
113
|
+
const WebMarker = React.forwardRef((props, ref) => {
|
|
114
|
+
const { children, ...rest } = props;
|
|
115
|
+
return React.createElement('marker', { ...rest, ref }, children);
|
|
116
|
+
});
|
|
117
|
+
const WebSymbol = React.forwardRef((props, ref) => {
|
|
118
|
+
const { children, ...rest } = props;
|
|
119
|
+
return React.createElement('symbol', { ...rest, ref }, children);
|
|
120
|
+
});
|
|
121
|
+
const WebImage = React.forwardRef((props, ref) => {
|
|
122
|
+
return React.createElement('image', { ...props, ref });
|
|
123
|
+
});
|
|
124
|
+
const WebForeignObject = React.forwardRef((props, ref) => {
|
|
125
|
+
const { children, ...rest } = props;
|
|
126
|
+
return React.createElement('foreignObject', { ...rest, ref }, children);
|
|
127
|
+
});
|
|
40
128
|
// ============================================================================
|
|
41
129
|
// 平台适配:根据运行平台导出对应的组件
|
|
42
130
|
// ============================================================================
|
|
@@ -49,6 +137,25 @@ export const Path = isWeb ? WebPath : RnPath;
|
|
|
49
137
|
export const G = isWeb ? WebG : RnG;
|
|
50
138
|
export const Circle = isWeb ? WebCircle : RnCircle;
|
|
51
139
|
export const Use = isWeb ? WebUse : RnUse;
|
|
140
|
+
export const Rect = isWeb ? WebRect : RnRect;
|
|
141
|
+
export const Line = isWeb ? WebLine : RnLine;
|
|
142
|
+
export const Polygon = isWeb ? WebPolygon : RnPolygon;
|
|
143
|
+
export const Polyline = isWeb ? WebPolyline : RnPolyline;
|
|
144
|
+
export const Ellipse = isWeb ? WebEllipse : RnEllipse;
|
|
145
|
+
export const Text = isWeb ? WebText : RnText;
|
|
146
|
+
export const TSpan = isWeb ? WebTSpan : RnTSpan;
|
|
147
|
+
export const TextPath = isWeb ? WebTextPath : RnTextPath;
|
|
148
|
+
export const Defs = isWeb ? WebDefs : RnDefs;
|
|
149
|
+
export const LinearGradient = isWeb ? WebLinearGradient : RnLinearGradient;
|
|
150
|
+
export const RadialGradient = isWeb ? WebRadialGradient : RnRadialGradient;
|
|
151
|
+
export const Stop = isWeb ? WebStop : RnStop;
|
|
152
|
+
export const ClipPath = isWeb ? WebClipPath : RnClipPath;
|
|
153
|
+
export const Pattern = isWeb ? WebPattern : RnPattern;
|
|
154
|
+
export const Mask = isWeb ? WebMask : RnMask;
|
|
155
|
+
export const Marker = isWeb ? WebMarker : RnMarker;
|
|
156
|
+
export const Symbol = isWeb ? WebSymbol : RnSymbol;
|
|
157
|
+
export const Image = isWeb ? WebImage : RnImage;
|
|
158
|
+
export const ForeignObject = isWeb ? WebForeignObject : RnForeignObject;
|
|
52
159
|
const IconBase = React.forwardRef((props, ref) => {
|
|
53
160
|
const { children, size = 24, name: _name, ...rest } = props;
|
|
54
161
|
if (!React.isValidElement(children)) {
|
package/es/index.d.ts
CHANGED
|
@@ -238,3 +238,54 @@ export { default as WeappNav } from './WeappNav';
|
|
|
238
238
|
export { default as WechatPay } from './WechatPay';
|
|
239
239
|
export { default as Wechat } from './Wechat';
|
|
240
240
|
export { default as YouzanShield } from './YouzanShield';
|
|
241
|
+
export {
|
|
242
|
+
Svg,
|
|
243
|
+
Path,
|
|
244
|
+
G,
|
|
245
|
+
Circle as SvgCircle,
|
|
246
|
+
Use,
|
|
247
|
+
Rect,
|
|
248
|
+
Line,
|
|
249
|
+
Polygon,
|
|
250
|
+
Polyline,
|
|
251
|
+
Ellipse,
|
|
252
|
+
Text,
|
|
253
|
+
TSpan,
|
|
254
|
+
TextPath,
|
|
255
|
+
Defs,
|
|
256
|
+
LinearGradient,
|
|
257
|
+
RadialGradient,
|
|
258
|
+
Stop as SvgStop,
|
|
259
|
+
ClipPath,
|
|
260
|
+
Pattern,
|
|
261
|
+
Mask,
|
|
262
|
+
Marker,
|
|
263
|
+
Symbol,
|
|
264
|
+
Image,
|
|
265
|
+
ForeignObject,
|
|
266
|
+
type SvgProps,
|
|
267
|
+
type PathProps,
|
|
268
|
+
type GProps,
|
|
269
|
+
type CircleProps,
|
|
270
|
+
type UseProps,
|
|
271
|
+
type RectProps,
|
|
272
|
+
type LineProps,
|
|
273
|
+
type PolygonProps,
|
|
274
|
+
type PolylineProps,
|
|
275
|
+
type EllipseProps,
|
|
276
|
+
type TextProps,
|
|
277
|
+
type TSpanProps,
|
|
278
|
+
type TextPathProps,
|
|
279
|
+
type DefsProps,
|
|
280
|
+
type LinearGradientProps,
|
|
281
|
+
type RadialGradientProps,
|
|
282
|
+
type StopProps,
|
|
283
|
+
type ClipPathProps,
|
|
284
|
+
type PatternProps,
|
|
285
|
+
type MaskProps,
|
|
286
|
+
type MarkerProps,
|
|
287
|
+
type SymbolProps,
|
|
288
|
+
type ImageProps,
|
|
289
|
+
type ForeignObjectProps,
|
|
290
|
+
} from './IconBase';
|
|
291
|
+
export { default as IconBase, type IconBaseProps } from './IconBase';
|
package/es/index.js
CHANGED
|
@@ -238,3 +238,37 @@ export { default as WeappNav } from './WeappNav';
|
|
|
238
238
|
export { default as WechatPay } from './WechatPay';
|
|
239
239
|
export { default as Wechat } from './Wechat';
|
|
240
240
|
export { default as YouzanShield } from './YouzanShield';
|
|
241
|
+
// ============================================================================
|
|
242
|
+
// 重新导出 react-native-svg 的组件和类型
|
|
243
|
+
// ============================================================================
|
|
244
|
+
// 注意:图标库中有 Circle 和 Stop 图标组件,会与 react-native-svg 的同名组件冲突
|
|
245
|
+
// 因此将 react-native-svg 的 Circle 和 Stop 导出为 SvgCircle 和 SvgStop
|
|
246
|
+
// ============================================================================
|
|
247
|
+
export {
|
|
248
|
+
Svg,
|
|
249
|
+
Path,
|
|
250
|
+
G,
|
|
251
|
+
Circle as SvgCircle,
|
|
252
|
+
Use,
|
|
253
|
+
Rect,
|
|
254
|
+
Line,
|
|
255
|
+
Polygon,
|
|
256
|
+
Polyline,
|
|
257
|
+
Ellipse,
|
|
258
|
+
Text,
|
|
259
|
+
TSpan,
|
|
260
|
+
TextPath,
|
|
261
|
+
Defs,
|
|
262
|
+
LinearGradient,
|
|
263
|
+
RadialGradient,
|
|
264
|
+
Stop as SvgStop,
|
|
265
|
+
ClipPath,
|
|
266
|
+
Pattern,
|
|
267
|
+
Mask,
|
|
268
|
+
Marker,
|
|
269
|
+
Symbol,
|
|
270
|
+
Image,
|
|
271
|
+
ForeignObject,
|
|
272
|
+
} from './IconBase';
|
|
273
|
+
// 导出 IconBase 组件和类型
|
|
274
|
+
export { default as IconBase } from './IconBase';
|
package/lib/IconBase.js
CHANGED
|
@@ -3,7 +3,32 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', {
|
|
4
4
|
value: true,
|
|
5
5
|
});
|
|
6
|
-
exports.default =
|
|
6
|
+
exports.default =
|
|
7
|
+
exports.Use =
|
|
8
|
+
exports.TextPath =
|
|
9
|
+
exports.Text =
|
|
10
|
+
exports.TSpan =
|
|
11
|
+
exports.Symbol =
|
|
12
|
+
exports.Svg =
|
|
13
|
+
exports.Stop =
|
|
14
|
+
exports.Rect =
|
|
15
|
+
exports.RadialGradient =
|
|
16
|
+
exports.Polyline =
|
|
17
|
+
exports.Polygon =
|
|
18
|
+
exports.Pattern =
|
|
19
|
+
exports.Path =
|
|
20
|
+
exports.Mask =
|
|
21
|
+
exports.Marker =
|
|
22
|
+
exports.LinearGradient =
|
|
23
|
+
exports.Line =
|
|
24
|
+
exports.Image =
|
|
25
|
+
exports.G =
|
|
26
|
+
exports.ForeignObject =
|
|
27
|
+
exports.Ellipse =
|
|
28
|
+
exports.Defs =
|
|
29
|
+
exports.ClipPath =
|
|
30
|
+
exports.Circle =
|
|
31
|
+
void 0;
|
|
7
32
|
var React = _interopRequireWildcard(require('react'));
|
|
8
33
|
var _reactNative = require('react-native');
|
|
9
34
|
var _reactNativeSvg = _interopRequireWildcard(require('react-native-svg'));
|
|
@@ -85,6 +110,180 @@ const WebUse = React.forwardRef((props, ref) => {
|
|
|
85
110
|
ref,
|
|
86
111
|
});
|
|
87
112
|
});
|
|
113
|
+
const WebRect = React.forwardRef((props, ref) => {
|
|
114
|
+
return React.createElement('rect', {
|
|
115
|
+
...props,
|
|
116
|
+
ref,
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
const WebLine = React.forwardRef((props, ref) => {
|
|
120
|
+
return React.createElement('line', {
|
|
121
|
+
...props,
|
|
122
|
+
ref,
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
const WebPolygon = React.forwardRef((props, ref) => {
|
|
126
|
+
return React.createElement('polygon', {
|
|
127
|
+
...props,
|
|
128
|
+
ref,
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
const WebPolyline = React.forwardRef((props, ref) => {
|
|
132
|
+
return React.createElement('polyline', {
|
|
133
|
+
...props,
|
|
134
|
+
ref,
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
const WebEllipse = React.forwardRef((props, ref) => {
|
|
138
|
+
return React.createElement('ellipse', {
|
|
139
|
+
...props,
|
|
140
|
+
ref,
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
const WebText = React.forwardRef((props, ref) => {
|
|
144
|
+
const { children, ...rest } = props;
|
|
145
|
+
return React.createElement(
|
|
146
|
+
'text',
|
|
147
|
+
{
|
|
148
|
+
...rest,
|
|
149
|
+
ref,
|
|
150
|
+
},
|
|
151
|
+
children,
|
|
152
|
+
);
|
|
153
|
+
});
|
|
154
|
+
const WebTSpan = React.forwardRef((props, ref) => {
|
|
155
|
+
const { children, ...rest } = props;
|
|
156
|
+
return React.createElement(
|
|
157
|
+
'tspan',
|
|
158
|
+
{
|
|
159
|
+
...rest,
|
|
160
|
+
ref,
|
|
161
|
+
},
|
|
162
|
+
children,
|
|
163
|
+
);
|
|
164
|
+
});
|
|
165
|
+
const WebTextPath = React.forwardRef((props, ref) => {
|
|
166
|
+
const { children, ...rest } = props;
|
|
167
|
+
return React.createElement(
|
|
168
|
+
'textPath',
|
|
169
|
+
{
|
|
170
|
+
...rest,
|
|
171
|
+
ref,
|
|
172
|
+
},
|
|
173
|
+
children,
|
|
174
|
+
);
|
|
175
|
+
});
|
|
176
|
+
const WebDefs = React.forwardRef((props, ref) => {
|
|
177
|
+
const { children, ...rest } = props;
|
|
178
|
+
return React.createElement(
|
|
179
|
+
'defs',
|
|
180
|
+
{
|
|
181
|
+
...rest,
|
|
182
|
+
ref,
|
|
183
|
+
},
|
|
184
|
+
children,
|
|
185
|
+
);
|
|
186
|
+
});
|
|
187
|
+
const WebLinearGradient = React.forwardRef((props, ref) => {
|
|
188
|
+
const { children, ...rest } = props;
|
|
189
|
+
return React.createElement(
|
|
190
|
+
'linearGradient',
|
|
191
|
+
{
|
|
192
|
+
...rest,
|
|
193
|
+
ref,
|
|
194
|
+
},
|
|
195
|
+
children,
|
|
196
|
+
);
|
|
197
|
+
});
|
|
198
|
+
const WebRadialGradient = React.forwardRef((props, ref) => {
|
|
199
|
+
const { children, ...rest } = props;
|
|
200
|
+
return React.createElement(
|
|
201
|
+
'radialGradient',
|
|
202
|
+
{
|
|
203
|
+
...rest,
|
|
204
|
+
ref,
|
|
205
|
+
},
|
|
206
|
+
children,
|
|
207
|
+
);
|
|
208
|
+
});
|
|
209
|
+
const WebStop = React.forwardRef((props, ref) => {
|
|
210
|
+
return React.createElement('stop', {
|
|
211
|
+
...props,
|
|
212
|
+
ref,
|
|
213
|
+
});
|
|
214
|
+
});
|
|
215
|
+
const WebClipPath = React.forwardRef((props, ref) => {
|
|
216
|
+
const { children, ...rest } = props;
|
|
217
|
+
return React.createElement(
|
|
218
|
+
'clipPath',
|
|
219
|
+
{
|
|
220
|
+
...rest,
|
|
221
|
+
ref,
|
|
222
|
+
},
|
|
223
|
+
children,
|
|
224
|
+
);
|
|
225
|
+
});
|
|
226
|
+
const WebPattern = React.forwardRef((props, ref) => {
|
|
227
|
+
const { children, ...rest } = props;
|
|
228
|
+
return React.createElement(
|
|
229
|
+
'pattern',
|
|
230
|
+
{
|
|
231
|
+
...rest,
|
|
232
|
+
ref,
|
|
233
|
+
},
|
|
234
|
+
children,
|
|
235
|
+
);
|
|
236
|
+
});
|
|
237
|
+
const WebMask = React.forwardRef((props, ref) => {
|
|
238
|
+
const { children, ...rest } = props;
|
|
239
|
+
return React.createElement(
|
|
240
|
+
'mask',
|
|
241
|
+
{
|
|
242
|
+
...rest,
|
|
243
|
+
ref,
|
|
244
|
+
},
|
|
245
|
+
children,
|
|
246
|
+
);
|
|
247
|
+
});
|
|
248
|
+
const WebMarker = React.forwardRef((props, ref) => {
|
|
249
|
+
const { children, ...rest } = props;
|
|
250
|
+
return React.createElement(
|
|
251
|
+
'marker',
|
|
252
|
+
{
|
|
253
|
+
...rest,
|
|
254
|
+
ref,
|
|
255
|
+
},
|
|
256
|
+
children,
|
|
257
|
+
);
|
|
258
|
+
});
|
|
259
|
+
const WebSymbol = React.forwardRef((props, ref) => {
|
|
260
|
+
const { children, ...rest } = props;
|
|
261
|
+
return React.createElement(
|
|
262
|
+
'symbol',
|
|
263
|
+
{
|
|
264
|
+
...rest,
|
|
265
|
+
ref,
|
|
266
|
+
},
|
|
267
|
+
children,
|
|
268
|
+
);
|
|
269
|
+
});
|
|
270
|
+
const WebImage = React.forwardRef((props, ref) => {
|
|
271
|
+
return React.createElement('image', {
|
|
272
|
+
...props,
|
|
273
|
+
ref,
|
|
274
|
+
});
|
|
275
|
+
});
|
|
276
|
+
const WebForeignObject = React.forwardRef((props, ref) => {
|
|
277
|
+
const { children, ...rest } = props;
|
|
278
|
+
return React.createElement(
|
|
279
|
+
'foreignObject',
|
|
280
|
+
{
|
|
281
|
+
...rest,
|
|
282
|
+
ref,
|
|
283
|
+
},
|
|
284
|
+
children,
|
|
285
|
+
);
|
|
286
|
+
});
|
|
88
287
|
// ============================================================================
|
|
89
288
|
// 平台适配:根据运行平台导出对应的组件
|
|
90
289
|
// ============================================================================
|
|
@@ -97,6 +296,31 @@ const Path = (exports.Path = isWeb ? WebPath : _reactNativeSvg.Path);
|
|
|
97
296
|
const G = (exports.G = isWeb ? WebG : _reactNativeSvg.G);
|
|
98
297
|
const Circle = (exports.Circle = isWeb ? WebCircle : _reactNativeSvg.Circle);
|
|
99
298
|
const Use = (exports.Use = isWeb ? WebUse : _reactNativeSvg.Use);
|
|
299
|
+
const Rect = (exports.Rect = isWeb ? WebRect : _reactNativeSvg.Rect);
|
|
300
|
+
const Line = (exports.Line = isWeb ? WebLine : _reactNativeSvg.Line);
|
|
301
|
+
const Polygon = (exports.Polygon = isWeb ? WebPolygon : _reactNativeSvg.Polygon);
|
|
302
|
+
const Polyline = (exports.Polyline = isWeb ? WebPolyline : _reactNativeSvg.Polyline);
|
|
303
|
+
const Ellipse = (exports.Ellipse = isWeb ? WebEllipse : _reactNativeSvg.Ellipse);
|
|
304
|
+
const Text = (exports.Text = isWeb ? WebText : _reactNativeSvg.Text);
|
|
305
|
+
const TSpan = (exports.TSpan = isWeb ? WebTSpan : _reactNativeSvg.TSpan);
|
|
306
|
+
const TextPath = (exports.TextPath = isWeb ? WebTextPath : _reactNativeSvg.TextPath);
|
|
307
|
+
const Defs = (exports.Defs = isWeb ? WebDefs : _reactNativeSvg.Defs);
|
|
308
|
+
const LinearGradient = (exports.LinearGradient = isWeb
|
|
309
|
+
? WebLinearGradient
|
|
310
|
+
: _reactNativeSvg.LinearGradient);
|
|
311
|
+
const RadialGradient = (exports.RadialGradient = isWeb
|
|
312
|
+
? WebRadialGradient
|
|
313
|
+
: _reactNativeSvg.RadialGradient);
|
|
314
|
+
const Stop = (exports.Stop = isWeb ? WebStop : _reactNativeSvg.Stop);
|
|
315
|
+
const ClipPath = (exports.ClipPath = isWeb ? WebClipPath : _reactNativeSvg.ClipPath);
|
|
316
|
+
const Pattern = (exports.Pattern = isWeb ? WebPattern : _reactNativeSvg.Pattern);
|
|
317
|
+
const Mask = (exports.Mask = isWeb ? WebMask : _reactNativeSvg.Mask);
|
|
318
|
+
const Marker = (exports.Marker = isWeb ? WebMarker : _reactNativeSvg.Marker);
|
|
319
|
+
const Symbol = (exports.Symbol = isWeb ? WebSymbol : _reactNativeSvg.Symbol);
|
|
320
|
+
const Image = (exports.Image = isWeb ? WebImage : _reactNativeSvg.Image);
|
|
321
|
+
const ForeignObject = (exports.ForeignObject = isWeb
|
|
322
|
+
? WebForeignObject
|
|
323
|
+
: _reactNativeSvg.ForeignObject);
|
|
100
324
|
const IconBase = React.forwardRef((props, ref) => {
|
|
101
325
|
const { children, size = 24, name: _name, ...rest } = props;
|
|
102
326
|
if (!React.isValidElement(children)) {
|
package/lib/index.js
CHANGED
|
@@ -309,6 +309,12 @@ Object.defineProperty(exports, 'Clear', {
|
|
|
309
309
|
return _Clear.default;
|
|
310
310
|
},
|
|
311
311
|
});
|
|
312
|
+
Object.defineProperty(exports, 'ClipPath', {
|
|
313
|
+
enumerable: true,
|
|
314
|
+
get: function () {
|
|
315
|
+
return _IconBase.ClipPath;
|
|
316
|
+
},
|
|
317
|
+
});
|
|
312
318
|
Object.defineProperty(exports, 'Clock', {
|
|
313
319
|
enumerable: true,
|
|
314
320
|
get: function () {
|
|
@@ -417,6 +423,12 @@ Object.defineProperty(exports, 'DebitPay', {
|
|
|
417
423
|
return _DebitPay.default;
|
|
418
424
|
},
|
|
419
425
|
});
|
|
426
|
+
Object.defineProperty(exports, 'Defs', {
|
|
427
|
+
enumerable: true,
|
|
428
|
+
get: function () {
|
|
429
|
+
return _IconBase.Defs;
|
|
430
|
+
},
|
|
431
|
+
});
|
|
420
432
|
Object.defineProperty(exports, 'Delete', {
|
|
421
433
|
enumerable: true,
|
|
422
434
|
get: function () {
|
|
@@ -483,6 +495,12 @@ Object.defineProperty(exports, 'Edit', {
|
|
|
483
495
|
return _Edit.default;
|
|
484
496
|
},
|
|
485
497
|
});
|
|
498
|
+
Object.defineProperty(exports, 'Ellipse', {
|
|
499
|
+
enumerable: true,
|
|
500
|
+
get: function () {
|
|
501
|
+
return _IconBase.Ellipse;
|
|
502
|
+
},
|
|
503
|
+
});
|
|
486
504
|
Object.defineProperty(exports, 'Ellipsis', {
|
|
487
505
|
enumerable: true,
|
|
488
506
|
get: function () {
|
|
@@ -585,6 +603,12 @@ Object.defineProperty(exports, 'FontO', {
|
|
|
585
603
|
return _FontO.default;
|
|
586
604
|
},
|
|
587
605
|
});
|
|
606
|
+
Object.defineProperty(exports, 'ForeignObject', {
|
|
607
|
+
enumerable: true,
|
|
608
|
+
get: function () {
|
|
609
|
+
return _IconBase.ForeignObject;
|
|
610
|
+
},
|
|
611
|
+
});
|
|
588
612
|
Object.defineProperty(exports, 'FreePostage', {
|
|
589
613
|
enumerable: true,
|
|
590
614
|
get: function () {
|
|
@@ -603,6 +627,12 @@ Object.defineProperty(exports, 'FriendsO', {
|
|
|
603
627
|
return _FriendsO.default;
|
|
604
628
|
},
|
|
605
629
|
});
|
|
630
|
+
Object.defineProperty(exports, 'G', {
|
|
631
|
+
enumerable: true,
|
|
632
|
+
get: function () {
|
|
633
|
+
return _IconBase.G;
|
|
634
|
+
},
|
|
635
|
+
});
|
|
606
636
|
Object.defineProperty(exports, 'Gem', {
|
|
607
637
|
enumerable: true,
|
|
608
638
|
get: function () {
|
|
@@ -723,12 +753,24 @@ Object.defineProperty(exports, 'HotelO', {
|
|
|
723
753
|
return _HotelO.default;
|
|
724
754
|
},
|
|
725
755
|
});
|
|
756
|
+
Object.defineProperty(exports, 'IconBase', {
|
|
757
|
+
enumerable: true,
|
|
758
|
+
get: function () {
|
|
759
|
+
return _IconBase.default;
|
|
760
|
+
},
|
|
761
|
+
});
|
|
726
762
|
Object.defineProperty(exports, 'Idcard', {
|
|
727
763
|
enumerable: true,
|
|
728
764
|
get: function () {
|
|
729
765
|
return _Idcard.default;
|
|
730
766
|
},
|
|
731
767
|
});
|
|
768
|
+
Object.defineProperty(exports, 'Image', {
|
|
769
|
+
enumerable: true,
|
|
770
|
+
get: function () {
|
|
771
|
+
return _IconBase.Image;
|
|
772
|
+
},
|
|
773
|
+
});
|
|
732
774
|
Object.defineProperty(exports, 'Info', {
|
|
733
775
|
enumerable: true,
|
|
734
776
|
get: function () {
|
|
@@ -771,6 +813,18 @@ Object.defineProperty(exports, 'LikeO', {
|
|
|
771
813
|
return _LikeO.default;
|
|
772
814
|
},
|
|
773
815
|
});
|
|
816
|
+
Object.defineProperty(exports, 'Line', {
|
|
817
|
+
enumerable: true,
|
|
818
|
+
get: function () {
|
|
819
|
+
return _IconBase.Line;
|
|
820
|
+
},
|
|
821
|
+
});
|
|
822
|
+
Object.defineProperty(exports, 'LinearGradient', {
|
|
823
|
+
enumerable: true,
|
|
824
|
+
get: function () {
|
|
825
|
+
return _IconBase.LinearGradient;
|
|
826
|
+
},
|
|
827
|
+
});
|
|
774
828
|
Object.defineProperty(exports, 'Live', {
|
|
775
829
|
enumerable: true,
|
|
776
830
|
get: function () {
|
|
@@ -819,6 +873,18 @@ Object.defineProperty(exports, 'MapMarked', {
|
|
|
819
873
|
return _MapMarked.default;
|
|
820
874
|
},
|
|
821
875
|
});
|
|
876
|
+
Object.defineProperty(exports, 'Marker', {
|
|
877
|
+
enumerable: true,
|
|
878
|
+
get: function () {
|
|
879
|
+
return _IconBase.Marker;
|
|
880
|
+
},
|
|
881
|
+
});
|
|
882
|
+
Object.defineProperty(exports, 'Mask', {
|
|
883
|
+
enumerable: true,
|
|
884
|
+
get: function () {
|
|
885
|
+
return _IconBase.Mask;
|
|
886
|
+
},
|
|
887
|
+
});
|
|
822
888
|
Object.defineProperty(exports, 'Medal', {
|
|
823
889
|
enumerable: true,
|
|
824
890
|
get: function () {
|
|
@@ -921,6 +987,18 @@ Object.defineProperty(exports, 'Passed', {
|
|
|
921
987
|
return _Passed.default;
|
|
922
988
|
},
|
|
923
989
|
});
|
|
990
|
+
Object.defineProperty(exports, 'Path', {
|
|
991
|
+
enumerable: true,
|
|
992
|
+
get: function () {
|
|
993
|
+
return _IconBase.Path;
|
|
994
|
+
},
|
|
995
|
+
});
|
|
996
|
+
Object.defineProperty(exports, 'Pattern', {
|
|
997
|
+
enumerable: true,
|
|
998
|
+
get: function () {
|
|
999
|
+
return _IconBase.Pattern;
|
|
1000
|
+
},
|
|
1001
|
+
});
|
|
924
1002
|
Object.defineProperty(exports, 'Pause', {
|
|
925
1003
|
enumerable: true,
|
|
926
1004
|
get: function () {
|
|
@@ -1041,6 +1119,18 @@ Object.defineProperty(exports, 'Points', {
|
|
|
1041
1119
|
return _Points.default;
|
|
1042
1120
|
},
|
|
1043
1121
|
});
|
|
1122
|
+
Object.defineProperty(exports, 'Polygon', {
|
|
1123
|
+
enumerable: true,
|
|
1124
|
+
get: function () {
|
|
1125
|
+
return _IconBase.Polygon;
|
|
1126
|
+
},
|
|
1127
|
+
});
|
|
1128
|
+
Object.defineProperty(exports, 'Polyline', {
|
|
1129
|
+
enumerable: true,
|
|
1130
|
+
get: function () {
|
|
1131
|
+
return _IconBase.Polyline;
|
|
1132
|
+
},
|
|
1133
|
+
});
|
|
1044
1134
|
Object.defineProperty(exports, 'Printer', {
|
|
1045
1135
|
enumerable: true,
|
|
1046
1136
|
get: function () {
|
|
@@ -1071,12 +1161,24 @@ Object.defineProperty(exports, 'QuestionO', {
|
|
|
1071
1161
|
return _QuestionO.default;
|
|
1072
1162
|
},
|
|
1073
1163
|
});
|
|
1164
|
+
Object.defineProperty(exports, 'RadialGradient', {
|
|
1165
|
+
enumerable: true,
|
|
1166
|
+
get: function () {
|
|
1167
|
+
return _IconBase.RadialGradient;
|
|
1168
|
+
},
|
|
1169
|
+
});
|
|
1074
1170
|
Object.defineProperty(exports, 'Records', {
|
|
1075
1171
|
enumerable: true,
|
|
1076
1172
|
get: function () {
|
|
1077
1173
|
return _Records.default;
|
|
1078
1174
|
},
|
|
1079
1175
|
});
|
|
1176
|
+
Object.defineProperty(exports, 'Rect', {
|
|
1177
|
+
enumerable: true,
|
|
1178
|
+
get: function () {
|
|
1179
|
+
return _IconBase.Rect;
|
|
1180
|
+
},
|
|
1181
|
+
});
|
|
1080
1182
|
Object.defineProperty(exports, 'RefundO', {
|
|
1081
1183
|
enumerable: true,
|
|
1082
1184
|
get: function () {
|
|
@@ -1275,6 +1377,48 @@ Object.defineProperty(exports, 'Success', {
|
|
|
1275
1377
|
return _Success.default;
|
|
1276
1378
|
},
|
|
1277
1379
|
});
|
|
1380
|
+
Object.defineProperty(exports, 'Svg', {
|
|
1381
|
+
enumerable: true,
|
|
1382
|
+
get: function () {
|
|
1383
|
+
return _IconBase.Svg;
|
|
1384
|
+
},
|
|
1385
|
+
});
|
|
1386
|
+
Object.defineProperty(exports, 'SvgCircle', {
|
|
1387
|
+
enumerable: true,
|
|
1388
|
+
get: function () {
|
|
1389
|
+
return _IconBase.Circle;
|
|
1390
|
+
},
|
|
1391
|
+
});
|
|
1392
|
+
Object.defineProperty(exports, 'SvgStop', {
|
|
1393
|
+
enumerable: true,
|
|
1394
|
+
get: function () {
|
|
1395
|
+
return _IconBase.Stop;
|
|
1396
|
+
},
|
|
1397
|
+
});
|
|
1398
|
+
Object.defineProperty(exports, 'Symbol', {
|
|
1399
|
+
enumerable: true,
|
|
1400
|
+
get: function () {
|
|
1401
|
+
return _IconBase.Symbol;
|
|
1402
|
+
},
|
|
1403
|
+
});
|
|
1404
|
+
Object.defineProperty(exports, 'TSpan', {
|
|
1405
|
+
enumerable: true,
|
|
1406
|
+
get: function () {
|
|
1407
|
+
return _IconBase.TSpan;
|
|
1408
|
+
},
|
|
1409
|
+
});
|
|
1410
|
+
Object.defineProperty(exports, 'Text', {
|
|
1411
|
+
enumerable: true,
|
|
1412
|
+
get: function () {
|
|
1413
|
+
return _IconBase.Text;
|
|
1414
|
+
},
|
|
1415
|
+
});
|
|
1416
|
+
Object.defineProperty(exports, 'TextPath', {
|
|
1417
|
+
enumerable: true,
|
|
1418
|
+
get: function () {
|
|
1419
|
+
return _IconBase.TextPath;
|
|
1420
|
+
},
|
|
1421
|
+
});
|
|
1278
1422
|
Object.defineProperty(exports, 'ThumbCircle', {
|
|
1279
1423
|
enumerable: true,
|
|
1280
1424
|
get: function () {
|
|
@@ -1335,6 +1479,12 @@ Object.defineProperty(exports, 'Upgrade', {
|
|
|
1335
1479
|
return _Upgrade.default;
|
|
1336
1480
|
},
|
|
1337
1481
|
});
|
|
1482
|
+
Object.defineProperty(exports, 'Use', {
|
|
1483
|
+
enumerable: true,
|
|
1484
|
+
get: function () {
|
|
1485
|
+
return _IconBase.Use;
|
|
1486
|
+
},
|
|
1487
|
+
});
|
|
1338
1488
|
Object.defineProperty(exports, 'UserCircleO', {
|
|
1339
1489
|
enumerable: true,
|
|
1340
1490
|
get: function () {
|
|
@@ -1683,6 +1833,31 @@ var _WeappNav = _interopRequireDefault(require('./WeappNav'));
|
|
|
1683
1833
|
var _WechatPay = _interopRequireDefault(require('./WechatPay'));
|
|
1684
1834
|
var _Wechat = _interopRequireDefault(require('./Wechat'));
|
|
1685
1835
|
var _YouzanShield = _interopRequireDefault(require('./YouzanShield'));
|
|
1836
|
+
var _IconBase = _interopRequireWildcard(require('./IconBase'));
|
|
1837
|
+
function _interopRequireWildcard(e, t) {
|
|
1838
|
+
if ('function' == typeof WeakMap)
|
|
1839
|
+
var r = new WeakMap(),
|
|
1840
|
+
n = new WeakMap();
|
|
1841
|
+
return (_interopRequireWildcard = function (e, t) {
|
|
1842
|
+
if (!t && e && e.__esModule) return e;
|
|
1843
|
+
var o,
|
|
1844
|
+
i,
|
|
1845
|
+
f = { __proto__: null, default: e };
|
|
1846
|
+
if (null === e || ('object' != typeof e && 'function' != typeof e)) return f;
|
|
1847
|
+
if ((o = t ? n : r)) {
|
|
1848
|
+
if (o.has(e)) return o.get(e);
|
|
1849
|
+
o.set(e, f);
|
|
1850
|
+
}
|
|
1851
|
+
for (const t in e)
|
|
1852
|
+
'default' !== t &&
|
|
1853
|
+
{}.hasOwnProperty.call(e, t) &&
|
|
1854
|
+
((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) &&
|
|
1855
|
+
(i.get || i.set)
|
|
1856
|
+
? o(f, t, i)
|
|
1857
|
+
: (f[t] = e[t]));
|
|
1858
|
+
return f;
|
|
1859
|
+
})(e, t);
|
|
1860
|
+
}
|
|
1686
1861
|
function _interopRequireDefault(e) {
|
|
1687
1862
|
return e && e.__esModule ? e : { default: e };
|
|
1688
1863
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-system-icon",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "react native icons",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"./es/index.js"
|
|
@@ -16,6 +16,12 @@
|
|
|
16
16
|
"lib/",
|
|
17
17
|
"README.md"
|
|
18
18
|
],
|
|
19
|
+
"scripts": {
|
|
20
|
+
"build": "gulp"
|
|
21
|
+
},
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"react-native-svg": "^15.15.1"
|
|
24
|
+
},
|
|
19
25
|
"devDependencies": {
|
|
20
26
|
"@babel/cli": "7.23.4",
|
|
21
27
|
"@babel/core": "7.23.3",
|
|
@@ -26,16 +32,14 @@
|
|
|
26
32
|
"gulp": "4.0.2",
|
|
27
33
|
"gulp-babel": "8.0.0",
|
|
28
34
|
"gulp-typescript": "6.0.0-alpha.1",
|
|
29
|
-
"react": "^19.2.
|
|
35
|
+
"react": "^19.2.3",
|
|
30
36
|
"react-native": "^0.82.1",
|
|
31
|
-
"react-native-svg": "^15.4.0",
|
|
32
37
|
"shelljs": "0.8.5",
|
|
33
|
-
"typescript": "
|
|
38
|
+
"typescript": "5.9.3"
|
|
34
39
|
},
|
|
35
40
|
"peerDependencies": {
|
|
36
41
|
"react": ">=18.0.0",
|
|
37
|
-
"react-native": ">=0.72.0"
|
|
38
|
-
"react-native-svg": ">=15.0.0"
|
|
42
|
+
"react-native": ">=0.72.0"
|
|
39
43
|
},
|
|
40
44
|
"publishConfig": {
|
|
41
45
|
"access": "public",
|
|
@@ -45,8 +49,5 @@
|
|
|
45
49
|
"author": "wangws",
|
|
46
50
|
"maintainers": [
|
|
47
51
|
"wangws"
|
|
48
|
-
]
|
|
49
|
-
"scripts": {
|
|
50
|
-
"build": "gulp"
|
|
51
|
-
}
|
|
52
|
+
]
|
|
52
53
|
}
|