react-native-audio-player-button 1.0.4 → 1.0.6

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.
@@ -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: [props.iconStyle, {
25
- width: iconSize,
26
- marginLeft: props.isPlaying && !props.isSpeakerIcon ? -2 : 0
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","React","cloneElement","audioIconHelper","getIcon","customIcon","isSpeakerIcon","name","getIconName","customIconSet","audio","size","color","muted","style","iconStyle","width","marginLeft"],"sourceRoot":"../../src","sources":["AudioIconComponent.js"],"mappings":";;;;;;AAAA;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,CAAC;EACD,oBACEC,cAAK,CAACC,YAAY,CAACC,0BAAe,CAACC,OAAO,CAACd,KAAK,CAACe,UAAU,EAAEf,KAAK,CAACgB,aAAa,CAAC,EAAE;IACjFC,IAAI,EAAEJ,0BAAe,CAACK,WAAW,CAAClB,KAAK,CAACmB,aAAa,EAAEnB,KAAK,CAACgB,aAAa,EAAEhB,KAAK,CAACoB,KAAK,EAAEpB,KAAK,CAACQ,SAAS,CAAC;IACzGa,IAAI,EAAEZ,QAAQ;IAAEa,KAAK,EAAE,CAAC,CAACtB,KAAK,CAACoB,KAAK,GAAGnB,YAAY,EAAE,GAAGqB,uBAAK,CAACC,KAAK;IACnEC,KAAK,EAAE,CAACxB,KAAK,CAACyB,SAAS,EAAE;MAAEC,KAAK,EAAEjB,QAAQ;MAAEkB,UAAU,EAAG3B,KAAK,CAACQ,SAAS,IAAK,CAACR,KAAK,CAACgB,aAAa,GAAI,CAAC,CAAC,GAAG;IAAE,CAAC;EAC/G,CAAC,CAAC;AAEN,CAAC;AAAA,eAEcjB,kBAAkB;AAAA;AAEjC,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAZC"}
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,SAASD,OAAO,CAACE,UAAU,EAAEC,aAAa,EAAE;IAC1C,OAAOD,UAAU,GAAGA,UAAU,GAAGC,aAAa,gBAAG,6BAAC,iBAAO,OAAE,gBAAG,6BAAC,gBAAW,OAAE;EAC9E;EAEA,SAASF,WAAW,CAACG,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;AACF,CAAC,GAAG;AAAA,eAEWZ,eAAe;AAAA"}
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: [props.iconStyle, {
18
- width: iconSize,
19
- marginLeft: props.isPlaying && !props.isSpeakerIcon ? -2 : 0
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","cloneElement","getIcon","customIcon","isSpeakerIcon","name","getIconName","customIconSet","audio","size","muted","style","iconStyle","width","marginLeft"],"sourceRoot":"../../src","sources":["AudioIconComponent.js"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,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,CAAC;EACD,oBACEF,KAAK,CAACe,YAAY,CAACV,eAAe,CAACW,OAAO,CAACT,KAAK,CAACU,UAAU,EAAEV,KAAK,CAACW,aAAa,CAAC,EAAE;IACjFC,IAAI,EAAEd,eAAe,CAACe,WAAW,CAACb,KAAK,CAACc,aAAa,EAAEd,KAAK,CAACW,aAAa,EAAEX,KAAK,CAACe,KAAK,EAAEf,KAAK,CAACM,SAAS,CAAC;IACzGU,IAAI,EAAET,QAAQ;IAAEb,KAAK,EAAE,CAAC,CAACM,KAAK,CAACe,KAAK,GAAGd,YAAY,EAAE,GAAGP,KAAK,CAACuB,KAAK;IACnEC,KAAK,EAAE,CAAClB,KAAK,CAACmB,SAAS,EAAE;MAAEC,KAAK,EAAEb,QAAQ;MAAEc,UAAU,EAAGrB,KAAK,CAACM,SAAS,IAAK,CAACN,KAAK,CAACW,aAAa,GAAI,CAAC,CAAC,GAAG;IAAE,CAAC;EAC/G,CAAC,CAAC;AAEN,CAAC;AAED,eAAeZ,kBAAkB;AAEjC,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAZC"}
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,SAASD,OAAO,CAACE,UAAU,EAAEC,aAAa,EAAE;IAC1C,OAAOD,UAAU,GAAGA,UAAU,GAAGC,aAAa,gBAAG,oBAAC,OAAO,OAAE,gBAAG,oBAAC,WAAW,OAAE;EAC9E;EAEA,SAASF,WAAW,CAACG,aAAa,EAAED,aAAa,EAAEE,KAAK,EAAEC,SAAS,EAAE;IACnE,MAAMC,IAAI,GAAGH,aAAa,GAAGA,aAAa,GAAGD,aAAa,GAAGL,mBAAmB,CAAC,UAAU,CAAC,GAAGA,mBAAmB,CAAC,SAAS,CAAC;IAC7H,IAAI,CAACO,KAAK,EACR,OAAOE,IAAI,CAACC,IAAI;IAElB,OAAOF,SAAS,GAAGC,IAAI,CAACE,KAAK,GAAGF,IAAI,CAACG,IAAI;EAC3C;AACF,CAAC,GAAG;AAEJ,eAAeX,eAAe"}
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.4",
3
+ "version": "1.0.6",
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
- React.cloneElement(audioIconHelper.getIcon(props.customIcon, props.isSpeakerIcon), {
19
- name: audioIconHelper.getIconName(props.customIconSet, props.isSpeakerIcon, props.audio, props.isPlaying),
20
- size: iconSize, color: !!props.audio ? getIconColor() : color.muted,
21
- style: [props.iconStyle, { width: iconSize, marginLeft: (props.isPlaying && !props.isSpeakerIcon) ? -2 : 0 }]
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