react-native-audio-player-button 1.0.4 → 1.0.5
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/lib/commonjs/components/AudioIconComponent.js +28 -6
- package/lib/commonjs/components/AudioIconComponent.js.map +1 -1
- package/lib/commonjs/helpers/audio_icon_helper.js +10 -1
- package/lib/commonjs/helpers/audio_icon_helper.js.map +1 -1
- package/lib/module/components/AudioIconComponent.js +28 -6
- package/lib/module/components/AudioIconComponent.js.map +1 -1
- package/lib/module/helpers/audio_icon_helper.js +10 -1
- package/lib/module/helpers/audio_icon_helper.js.map +1 -1
- package/package.json +1 -1
- package/src/components/AudioIconComponent.js +17 -5
- package/src/helpers/audio_icon_helper.js +6 -0
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
8
9
|
var _color_constant = _interopRequireDefault(require("../constants/color_constant"));
|
|
9
10
|
var _component_constant = require("../constants/component_constant");
|
|
10
11
|
var _audio_icon_helper = _interopRequireDefault(require("../helpers/audio_icon_helper"));
|
|
@@ -16,16 +17,37 @@ const AudioIconComponent = props => {
|
|
|
16
17
|
return props.isPlaying ? secondaryColor : primaryColor;
|
|
17
18
|
};
|
|
18
19
|
const iconSize = props.iconSize || _component_constant.defaultIconSize;
|
|
20
|
+
const renderStrikeLine = () => {
|
|
21
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
22
|
+
style: {
|
|
23
|
+
height: 3,
|
|
24
|
+
width: iconSize,
|
|
25
|
+
transform: [{
|
|
26
|
+
rotate: '45deg'
|
|
27
|
+
}],
|
|
28
|
+
backgroundColor: 'white',
|
|
29
|
+
justifyContent: 'center',
|
|
30
|
+
position: 'absolute',
|
|
31
|
+
top: iconSize / 2.4,
|
|
32
|
+
left: -2,
|
|
33
|
+
zIndex: 10
|
|
34
|
+
}
|
|
35
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
36
|
+
style: {
|
|
37
|
+
height: 1.5,
|
|
38
|
+
backgroundColor: _color_constant.default.muted
|
|
39
|
+
}
|
|
40
|
+
}));
|
|
41
|
+
};
|
|
19
42
|
{/* CloneElement is used so we can pass different type of icon and still using the same configuration */}
|
|
20
|
-
return /*#__PURE__*/_react.default.cloneElement(_audio_icon_helper.default.getIcon(props.customIcon, props.isSpeakerIcon), {
|
|
43
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, null, !props.audio && !props.isSpeakerIcon && !props.customIcon && renderStrikeLine(), /*#__PURE__*/_react.default.cloneElement(_audio_icon_helper.default.getIcon(props.customIcon, props.isSpeakerIcon), {
|
|
21
44
|
name: _audio_icon_helper.default.getIconName(props.customIconSet, props.isSpeakerIcon, props.audio, props.isPlaying),
|
|
22
45
|
size: iconSize,
|
|
23
46
|
color: !!props.audio ? getIconColor() : _color_constant.default.muted,
|
|
24
|
-
style: [
|
|
25
|
-
width: iconSize
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
});
|
|
47
|
+
style: [{
|
|
48
|
+
width: iconSize
|
|
49
|
+
}, _audio_icon_helper.default.getIconMargin(props.isPlaying, props.isSpeakerIcon, !!props.customIcon), props.iconStyle]
|
|
50
|
+
}));
|
|
29
51
|
};
|
|
30
52
|
var _default = AudioIconComponent;
|
|
31
53
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioIconComponent","props","getIconColor","primaryColor","iconPrimaryColor","primaryIconColor","secondaryColor","iconSecondaryColor","secondaryIconColor","isPlaying","iconSize","defaultIconSize","
|
|
1
|
+
{"version":3,"names":["AudioIconComponent","props","getIconColor","primaryColor","iconPrimaryColor","primaryIconColor","secondaryColor","iconSecondaryColor","secondaryIconColor","isPlaying","iconSize","defaultIconSize","renderStrikeLine","height","width","transform","rotate","backgroundColor","justifyContent","position","top","left","zIndex","color","muted","audio","isSpeakerIcon","customIcon","React","cloneElement","audioIconHelper","getIcon","name","getIconName","customIconSet","size","style","getIconMargin","iconStyle"],"sourceRoot":"../../src","sources":["AudioIconComponent.js"],"mappings":";;;;;;AAAA;AACA;AAEA;AACA;AACA;AAA2D;AAE3D,MAAMA,kBAAkB,GAAIC,KAAK,IAAK;EACpC,MAAMC,YAAY,GAAG,MAAM;IACzB,MAAMC,YAAY,GAAGF,KAAK,CAACG,gBAAgB,IAAIC,oCAAgB;IAC/D,MAAMC,cAAc,GAAGL,KAAK,CAACM,kBAAkB,IAAIC,sCAAkB;IACrE,OAAOP,KAAK,CAACQ,SAAS,GAAGH,cAAc,GAAGH,YAAY;EACxD,CAAC;EAED,MAAMO,QAAQ,GAAGT,KAAK,CAACS,QAAQ,IAAIC,mCAAe;EAElD,MAAMC,gBAAgB,GAAG,MAAM;IAC7B,oBAAO,6BAAC,iBAAI;MAAC,KAAK,EAAE;QAACC,MAAM,EAAE,CAAC;QAAEC,KAAK,EAAEJ,QAAQ;QAAEK,SAAS,EAAE,CAAC;UAACC,MAAM,EAAE;QAAO,CAAC,CAAC;QAAEC,eAAe,EAAE,OAAO;QAAEC,cAAc,EAAE,QAAQ;QAAEC,QAAQ,EAAE,UAAU;QAAEC,GAAG,EAAEV,QAAQ,GAAG,GAAG;QAAEW,IAAI,EAAE,CAAC,CAAC;QAAEC,MAAM,EAAE;MAAE;IAAE,gBAC5L,6BAAC,iBAAI;MAAC,KAAK,EAAE;QAACT,MAAM,EAAE,GAAG;QAAEI,eAAe,EAAEM,uBAAK,CAACC;MAAK;IAAE,EAAG,CACxD;EAChB,CAAC;EAED,CAAC;EACD,oBACE,6BAAC,iBAAI,QACD,CAACvB,KAAK,CAACwB,KAAK,IAAI,CAACxB,KAAK,CAACyB,aAAa,IAAI,CAACzB,KAAK,CAAC0B,UAAU,IAAKf,gBAAgB,EAAE,eAEhFgB,cAAK,CAACC,YAAY,CAACC,0BAAe,CAACC,OAAO,CAAC9B,KAAK,CAAC0B,UAAU,EAAE1B,KAAK,CAACyB,aAAa,CAAC,EAAE;IACjFM,IAAI,EAAEF,0BAAe,CAACG,WAAW,CAAChC,KAAK,CAACiC,aAAa,EAAEjC,KAAK,CAACyB,aAAa,EAAEzB,KAAK,CAACwB,KAAK,EAAExB,KAAK,CAACQ,SAAS,CAAC;IACzG0B,IAAI,EAAEzB,QAAQ;IAAEa,KAAK,EAAE,CAAC,CAACtB,KAAK,CAACwB,KAAK,GAAGvB,YAAY,EAAE,GAAGqB,uBAAK,CAACC,KAAK;IACnEY,KAAK,EAAE,CAAC;MAAEtB,KAAK,EAAEJ;IAAS,CAAC,EAAEoB,0BAAe,CAACO,aAAa,CAACpC,KAAK,CAACQ,SAAS,EAAER,KAAK,CAACyB,aAAa,EAAE,CAAC,CAACzB,KAAK,CAAC0B,UAAU,CAAC,EAAE1B,KAAK,CAACqC,SAAS;EACvI,CAAC,CAAC,CAEC;AAEX,CAAC;AAAA,eAEctC,kBAAkB;AAAA;AAEjC,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAZC"}
|
|
@@ -12,7 +12,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
12
12
|
const audioIconHelper = (() => {
|
|
13
13
|
return {
|
|
14
14
|
getIcon,
|
|
15
|
-
getIconName
|
|
15
|
+
getIconName,
|
|
16
|
+
getIconMargin
|
|
16
17
|
};
|
|
17
18
|
function getIcon(customIcon, isSpeakerIcon) {
|
|
18
19
|
return customIcon ? customIcon : isSpeakerIcon ? /*#__PURE__*/_react.default.createElement(_Ionicons.default, null) : /*#__PURE__*/_react.default.createElement(_Feather.default, null);
|
|
@@ -22,6 +23,14 @@ const audioIconHelper = (() => {
|
|
|
22
23
|
if (!audio) return icon.mute;
|
|
23
24
|
return isPlaying ? icon.pause : icon.play;
|
|
24
25
|
}
|
|
26
|
+
function getIconMargin(isPlaying, isSpeakerIcon) {
|
|
27
|
+
if (isPlaying && !isSpeakerIcon) return {
|
|
28
|
+
marginLeft: -1
|
|
29
|
+
};
|
|
30
|
+
return {
|
|
31
|
+
marginLeft: 0
|
|
32
|
+
};
|
|
33
|
+
}
|
|
25
34
|
})();
|
|
26
35
|
var _default = audioIconHelper;
|
|
27
36
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["audioIconHelper","getIcon","getIconName","customIcon","isSpeakerIcon","customIconSet","audio","isPlaying","icon","defaultAudioIconSet","mute","pause","play"],"sourceRoot":"../../src","sources":["audio_icon_helper.js"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AAA+D;AAE/D,MAAMA,eAAe,GAAG,CAAC,MAAM;EAC7B,OAAO;IACLC,OAAO;IACPC;EACF,CAAC;EAED,
|
|
1
|
+
{"version":3,"names":["audioIconHelper","getIcon","getIconName","getIconMargin","customIcon","isSpeakerIcon","customIconSet","audio","isPlaying","icon","defaultAudioIconSet","mute","pause","play","marginLeft"],"sourceRoot":"../../src","sources":["audio_icon_helper.js"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AAA+D;AAE/D,MAAMA,eAAe,GAAG,CAAC,MAAM;EAC7B,OAAO;IACLC,OAAO;IACPC,WAAW;IACXC;EACF,CAAC;EAED,SAASF,OAAO,CAACG,UAAU,EAAEC,aAAa,EAAE;IAC1C,OAAOD,UAAU,GAAGA,UAAU,GAAGC,aAAa,gBAAG,6BAAC,iBAAO,OAAE,gBAAG,6BAAC,gBAAW,OAAE;EAC9E;EAEA,SAASH,WAAW,CAACI,aAAa,EAAED,aAAa,EAAEE,KAAK,EAAEC,SAAS,EAAE;IACnE,MAAMC,IAAI,GAAGH,aAAa,GAAGA,aAAa,GAAGD,aAAa,GAAGK,kCAAmB,CAAC,UAAU,CAAC,GAAGA,kCAAmB,CAAC,SAAS,CAAC;IAC7H,IAAI,CAACH,KAAK,EACR,OAAOE,IAAI,CAACE,IAAI;IAElB,OAAOH,SAAS,GAAGC,IAAI,CAACG,KAAK,GAAGH,IAAI,CAACI,IAAI;EAC3C;EAEA,SAASV,aAAa,CAACK,SAAS,EAAEH,aAAa,EAAE;IAC/C,IAAIG,SAAS,IAAI,CAACH,aAAa,EAAE,OAAO;MAAES,UAAU,EAAE,CAAC;IAAE,CAAC;IAC1D,OAAO;MAAEA,UAAU,EAAE;IAAE,CAAC;EAC1B;AACF,CAAC,GAAG;AAAA,eAEWd,eAAe;AAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { View } from 'react-native';
|
|
2
3
|
import color from '../constants/color_constant';
|
|
3
4
|
import { defaultIconSize, primaryIconColor, secondaryIconColor } from '../constants/component_constant';
|
|
4
5
|
import audioIconHelper from '../helpers/audio_icon_helper';
|
|
@@ -9,16 +10,37 @@ const AudioIconComponent = props => {
|
|
|
9
10
|
return props.isPlaying ? secondaryColor : primaryColor;
|
|
10
11
|
};
|
|
11
12
|
const iconSize = props.iconSize || defaultIconSize;
|
|
13
|
+
const renderStrikeLine = () => {
|
|
14
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
15
|
+
style: {
|
|
16
|
+
height: 3,
|
|
17
|
+
width: iconSize,
|
|
18
|
+
transform: [{
|
|
19
|
+
rotate: '45deg'
|
|
20
|
+
}],
|
|
21
|
+
backgroundColor: 'white',
|
|
22
|
+
justifyContent: 'center',
|
|
23
|
+
position: 'absolute',
|
|
24
|
+
top: iconSize / 2.4,
|
|
25
|
+
left: -2,
|
|
26
|
+
zIndex: 10
|
|
27
|
+
}
|
|
28
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
29
|
+
style: {
|
|
30
|
+
height: 1.5,
|
|
31
|
+
backgroundColor: color.muted
|
|
32
|
+
}
|
|
33
|
+
}));
|
|
34
|
+
};
|
|
12
35
|
{/* CloneElement is used so we can pass different type of icon and still using the same configuration */}
|
|
13
|
-
return /*#__PURE__*/React.cloneElement(audioIconHelper.getIcon(props.customIcon, props.isSpeakerIcon), {
|
|
36
|
+
return /*#__PURE__*/React.createElement(View, null, !props.audio && !props.isSpeakerIcon && !props.customIcon && renderStrikeLine(), /*#__PURE__*/React.cloneElement(audioIconHelper.getIcon(props.customIcon, props.isSpeakerIcon), {
|
|
14
37
|
name: audioIconHelper.getIconName(props.customIconSet, props.isSpeakerIcon, props.audio, props.isPlaying),
|
|
15
38
|
size: iconSize,
|
|
16
39
|
color: !!props.audio ? getIconColor() : color.muted,
|
|
17
|
-
style: [
|
|
18
|
-
width: iconSize
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
});
|
|
40
|
+
style: [{
|
|
41
|
+
width: iconSize
|
|
42
|
+
}, audioIconHelper.getIconMargin(props.isPlaying, props.isSpeakerIcon, !!props.customIcon), props.iconStyle]
|
|
43
|
+
}));
|
|
22
44
|
};
|
|
23
45
|
export default AudioIconComponent;
|
|
24
46
|
{/*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","color","defaultIconSize","primaryIconColor","secondaryIconColor","audioIconHelper","AudioIconComponent","props","getIconColor","primaryColor","iconPrimaryColor","secondaryColor","iconSecondaryColor","isPlaying","iconSize","
|
|
1
|
+
{"version":3,"names":["React","View","color","defaultIconSize","primaryIconColor","secondaryIconColor","audioIconHelper","AudioIconComponent","props","getIconColor","primaryColor","iconPrimaryColor","secondaryColor","iconSecondaryColor","isPlaying","iconSize","renderStrikeLine","height","width","transform","rotate","backgroundColor","justifyContent","position","top","left","zIndex","muted","audio","isSpeakerIcon","customIcon","cloneElement","getIcon","name","getIconName","customIconSet","size","style","getIconMargin","iconStyle"],"sourceRoot":"../../src","sources":["AudioIconComponent.js"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAQC,IAAI,QAAO,cAAc;AAEjC,OAAOC,KAAK,MAAM,6BAA6B;AAC/C,SAAQC,eAAe,EAAEC,gBAAgB,EAAEC,kBAAkB,QAAO,iCAAiC;AACrG,OAAOC,eAAe,MAAM,8BAA8B;AAE1D,MAAMC,kBAAkB,GAAIC,KAAK,IAAK;EACpC,MAAMC,YAAY,GAAG,MAAM;IACzB,MAAMC,YAAY,GAAGF,KAAK,CAACG,gBAAgB,IAAIP,gBAAgB;IAC/D,MAAMQ,cAAc,GAAGJ,KAAK,CAACK,kBAAkB,IAAIR,kBAAkB;IACrE,OAAOG,KAAK,CAACM,SAAS,GAAGF,cAAc,GAAGF,YAAY;EACxD,CAAC;EAED,MAAMK,QAAQ,GAAGP,KAAK,CAACO,QAAQ,IAAIZ,eAAe;EAElD,MAAMa,gBAAgB,GAAG,MAAM;IAC7B,oBAAO,oBAAC,IAAI;MAAC,KAAK,EAAE;QAACC,MAAM,EAAE,CAAC;QAAEC,KAAK,EAAEH,QAAQ;QAAEI,SAAS,EAAE,CAAC;UAACC,MAAM,EAAE;QAAO,CAAC,CAAC;QAAEC,eAAe,EAAE,OAAO;QAAEC,cAAc,EAAE,QAAQ;QAAEC,QAAQ,EAAE,UAAU;QAAEC,GAAG,EAAET,QAAQ,GAAG,GAAG;QAAEU,IAAI,EAAE,CAAC,CAAC;QAAEC,MAAM,EAAE;MAAE;IAAE,gBAC5L,oBAAC,IAAI;MAAC,KAAK,EAAE;QAACT,MAAM,EAAE,GAAG;QAAEI,eAAe,EAAEnB,KAAK,CAACyB;MAAK;IAAE,EAAG,CACxD;EAChB,CAAC;EAED,CAAC;EACD,oBACE,oBAAC,IAAI,QACD,CAACnB,KAAK,CAACoB,KAAK,IAAI,CAACpB,KAAK,CAACqB,aAAa,IAAI,CAACrB,KAAK,CAACsB,UAAU,IAAKd,gBAAgB,EAAE,eAEhFhB,KAAK,CAAC+B,YAAY,CAACzB,eAAe,CAAC0B,OAAO,CAACxB,KAAK,CAACsB,UAAU,EAAEtB,KAAK,CAACqB,aAAa,CAAC,EAAE;IACjFI,IAAI,EAAE3B,eAAe,CAAC4B,WAAW,CAAC1B,KAAK,CAAC2B,aAAa,EAAE3B,KAAK,CAACqB,aAAa,EAAErB,KAAK,CAACoB,KAAK,EAAEpB,KAAK,CAACM,SAAS,CAAC;IACzGsB,IAAI,EAAErB,QAAQ;IAAEb,KAAK,EAAE,CAAC,CAACM,KAAK,CAACoB,KAAK,GAAGnB,YAAY,EAAE,GAAGP,KAAK,CAACyB,KAAK;IACnEU,KAAK,EAAE,CAAC;MAAEnB,KAAK,EAAEH;IAAS,CAAC,EAAET,eAAe,CAACgC,aAAa,CAAC9B,KAAK,CAACM,SAAS,EAAEN,KAAK,CAACqB,aAAa,EAAE,CAAC,CAACrB,KAAK,CAACsB,UAAU,CAAC,EAAEtB,KAAK,CAAC+B,SAAS;EACvI,CAAC,CAAC,CAEC;AAEX,CAAC;AAED,eAAehC,kBAAkB;AAEjC,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAZC"}
|
|
@@ -5,7 +5,8 @@ import { defaultAudioIconSet } from '../constants/icon_constant';
|
|
|
5
5
|
const audioIconHelper = (() => {
|
|
6
6
|
return {
|
|
7
7
|
getIcon,
|
|
8
|
-
getIconName
|
|
8
|
+
getIconName,
|
|
9
|
+
getIconMargin
|
|
9
10
|
};
|
|
10
11
|
function getIcon(customIcon, isSpeakerIcon) {
|
|
11
12
|
return customIcon ? customIcon : isSpeakerIcon ? /*#__PURE__*/React.createElement(IonIcon, null) : /*#__PURE__*/React.createElement(FeatherIcon, null);
|
|
@@ -15,6 +16,14 @@ const audioIconHelper = (() => {
|
|
|
15
16
|
if (!audio) return icon.mute;
|
|
16
17
|
return isPlaying ? icon.pause : icon.play;
|
|
17
18
|
}
|
|
19
|
+
function getIconMargin(isPlaying, isSpeakerIcon) {
|
|
20
|
+
if (isPlaying && !isSpeakerIcon) return {
|
|
21
|
+
marginLeft: -1
|
|
22
|
+
};
|
|
23
|
+
return {
|
|
24
|
+
marginLeft: 0
|
|
25
|
+
};
|
|
26
|
+
}
|
|
18
27
|
})();
|
|
19
28
|
export default audioIconHelper;
|
|
20
29
|
//# sourceMappingURL=audio_icon_helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","FeatherIcon","IonIcon","defaultAudioIconSet","audioIconHelper","getIcon","getIconName","customIcon","isSpeakerIcon","customIconSet","audio","isPlaying","icon","mute","pause","play"],"sourceRoot":"../../src","sources":["audio_icon_helper.js"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,WAAW,MAAM,mCAAmC;AAC3D,OAAOC,OAAO,MAAM,oCAAoC;AACxD,SAAQC,mBAAmB,QAAO,4BAA4B;AAE9D,MAAMC,eAAe,GAAG,CAAC,MAAM;EAC7B,OAAO;IACLC,OAAO;IACPC;EACF,CAAC;EAED,
|
|
1
|
+
{"version":3,"names":["React","FeatherIcon","IonIcon","defaultAudioIconSet","audioIconHelper","getIcon","getIconName","getIconMargin","customIcon","isSpeakerIcon","customIconSet","audio","isPlaying","icon","mute","pause","play","marginLeft"],"sourceRoot":"../../src","sources":["audio_icon_helper.js"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,WAAW,MAAM,mCAAmC;AAC3D,OAAOC,OAAO,MAAM,oCAAoC;AACxD,SAAQC,mBAAmB,QAAO,4BAA4B;AAE9D,MAAMC,eAAe,GAAG,CAAC,MAAM;EAC7B,OAAO;IACLC,OAAO;IACPC,WAAW;IACXC;EACF,CAAC;EAED,SAASF,OAAO,CAACG,UAAU,EAAEC,aAAa,EAAE;IAC1C,OAAOD,UAAU,GAAGA,UAAU,GAAGC,aAAa,gBAAG,oBAAC,OAAO,OAAE,gBAAG,oBAAC,WAAW,OAAE;EAC9E;EAEA,SAASH,WAAW,CAACI,aAAa,EAAED,aAAa,EAAEE,KAAK,EAAEC,SAAS,EAAE;IACnE,MAAMC,IAAI,GAAGH,aAAa,GAAGA,aAAa,GAAGD,aAAa,GAAGN,mBAAmB,CAAC,UAAU,CAAC,GAAGA,mBAAmB,CAAC,SAAS,CAAC;IAC7H,IAAI,CAACQ,KAAK,EACR,OAAOE,IAAI,CAACC,IAAI;IAElB,OAAOF,SAAS,GAAGC,IAAI,CAACE,KAAK,GAAGF,IAAI,CAACG,IAAI;EAC3C;EAEA,SAAST,aAAa,CAACK,SAAS,EAAEH,aAAa,EAAE;IAC/C,IAAIG,SAAS,IAAI,CAACH,aAAa,EAAE,OAAO;MAAEQ,UAAU,EAAE,CAAC;IAAE,CAAC;IAC1D,OAAO;MAAEA,UAAU,EAAE;IAAE,CAAC;EAC1B;AACF,CAAC,GAAG;AAEJ,eAAeb,eAAe"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-audio-player-button",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"description": "A custom button with an icon for playing audio. It is able to play the audio without overlapping each other.",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
|
+
import {View} from 'react-native'
|
|
2
3
|
|
|
3
4
|
import color from '../constants/color_constant';
|
|
4
5
|
import {defaultIconSize, primaryIconColor, secondaryIconColor} from '../constants/component_constant';
|
|
@@ -13,13 +14,24 @@ const AudioIconComponent = (props) => {
|
|
|
13
14
|
|
|
14
15
|
const iconSize = props.iconSize || defaultIconSize
|
|
15
16
|
|
|
17
|
+
const renderStrikeLine = () => {
|
|
18
|
+
return <View style={{height: 3, width: iconSize, transform: [{rotate: '45deg'}], backgroundColor: 'white', justifyContent: 'center', position: 'absolute', top: iconSize / 2.4, left: -2, zIndex: 10}}>
|
|
19
|
+
<View style={{height: 1.5, backgroundColor: color.muted}} />
|
|
20
|
+
</View>
|
|
21
|
+
}
|
|
22
|
+
|
|
16
23
|
{/* CloneElement is used so we can pass different type of icon and still using the same configuration */}
|
|
17
24
|
return (
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
25
|
+
<View>
|
|
26
|
+
{(!props.audio && !props.isSpeakerIcon && !props.customIcon) && renderStrikeLine()}
|
|
27
|
+
{
|
|
28
|
+
React.cloneElement(audioIconHelper.getIcon(props.customIcon, props.isSpeakerIcon), {
|
|
29
|
+
name: audioIconHelper.getIconName(props.customIconSet, props.isSpeakerIcon, props.audio, props.isPlaying),
|
|
30
|
+
size: iconSize, color: !!props.audio ? getIconColor() : color.muted,
|
|
31
|
+
style: [{ width: iconSize }, audioIconHelper.getIconMargin(props.isPlaying, props.isSpeakerIcon, !!props.customIcon), props.iconStyle]
|
|
32
|
+
})
|
|
33
|
+
}
|
|
34
|
+
</View>
|
|
23
35
|
)
|
|
24
36
|
}
|
|
25
37
|
|
|
@@ -7,6 +7,7 @@ const audioIconHelper = (() => {
|
|
|
7
7
|
return {
|
|
8
8
|
getIcon,
|
|
9
9
|
getIconName,
|
|
10
|
+
getIconMargin,
|
|
10
11
|
}
|
|
11
12
|
|
|
12
13
|
function getIcon(customIcon, isSpeakerIcon) {
|
|
@@ -20,6 +21,11 @@ const audioIconHelper = (() => {
|
|
|
20
21
|
|
|
21
22
|
return isPlaying ? icon.pause : icon.play;
|
|
22
23
|
}
|
|
24
|
+
|
|
25
|
+
function getIconMargin(isPlaying, isSpeakerIcon) {
|
|
26
|
+
if (isPlaying && !isSpeakerIcon) return { marginLeft: -1 }
|
|
27
|
+
return { marginLeft: 0 }
|
|
28
|
+
}
|
|
23
29
|
})()
|
|
24
30
|
|
|
25
31
|
export default audioIconHelper
|