New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

deku-soundplayer

Package Overview
Dependencies
Maintainers
1
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

deku-soundplayer - npm Package Compare versions

Comparing version 0.1.0-rc to 0.1.1-rc

addons.js

28

lib/components/Icons.js

@@ -1,2 +0,2 @@

/** @jsx deku.dom */
/** @jsx dom */
'use strict';

@@ -8,8 +8,4 @@

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _deku = require('deku');
var _deku2 = _interopRequireDefault(_deku);
var iconPropTypes = {

@@ -33,3 +29,3 @@ onClick: {

return _deku2['default'].dom(
return (0, _deku.dom)(
'svg',

@@ -42,3 +38,3 @@ {

},
_deku2['default'].dom('path', { d: 'M10.517 3.742c-.323 0-.49.363-.49.582 0 0-.244 3.591-.244 4.641 0 1.602.15 2.621.15 2.621 0 .222.261.401.584.401.321 0 .519-.179.519-.401 0 0 .398-1.038.398-2.639 0-1.837-.153-4.127-.284-4.592-.112-.395-.313-.613-.633-.613zm-1.996.268c-.323 0-.49.363-.49.582 0 0-.244 3.322-.244 4.372 0 1.602.119 2.621.119 2.621 0 .222.26.401.584.401.321 0 .581-.179.581-.401 0 0 .081-1.007.081-2.608 0-1.837-.206-4.386-.206-4.386 0-.218-.104-.581-.425-.581zm-2.021 1.729c-.324 0-.49.362-.49.582 0 0-.272 1.594-.272 2.644 0 1.602.179 2.559.179 2.559 0 .222.229.463.552.463.321 0 .519-.241.519-.463 0 0 .19-.944.19-2.546 0-1.837-.253-2.657-.253-2.657 0-.22-.104-.582-.425-.582zm-2.046-.358c-.323 0-.49.363-.49.582 0 0-.162 1.92-.162 2.97 0 1.602.069 2.496.069 2.496 0 .222.26.557.584.557.321 0 .581-.304.581-.526 0 0 .143-.936.143-2.538 0-1.837-.206-2.96-.206-2.96 0-.218-.198-.581-.519-.581zm-2.169 1.482c-.272 0-.232.218-.232.218v3.982s-.04.335.232.335c.351 0 .716-.832.716-2.348 0-1.245-.436-2.187-.716-2.187zm18.715-.976c-.289 0-.567.042-.832.116-.417-2.266-2.806-3.989-5.263-3.989-1.127 0-2.095.705-2.931 1.316v8.16s0 .484.5.484h8.526c1.655 0 3-1.55 3-3.155 0-1.607-1.346-2.932-3-2.932zm10.17.857c-1.077-.253-1.368-.389-1.368-.815 0-.3.242-.611.97-.611.621 0 1.106.253 1.542.699l.981-.951c-.641-.669-1.417-1.067-2.474-1.067-1.339 0-2.425.757-2.425 1.99 0 1.338.873 1.736 2.124 2.026 1.281.291 1.513.486 1.513.923 0 .514-.379.738-1.184.738-.65 0-1.26-.223-1.736-.777l-.98.873c.514.757 1.504 1.232 2.639 1.232 1.853 0 2.668-.873 2.668-2.163 0-1.477-1.193-1.845-2.27-2.097zm6.803-2.745c-1.853 0-2.949 1.435-2.949 3.502s1.096 3.501 2.949 3.501c1.852 0 2.949-1.434 2.949-3.501s-1.096-3.502-2.949-3.502zm0 5.655c-1.097 0-1.553-.941-1.553-2.153 0-1.213.456-2.153 1.553-2.153 1.096 0 1.551.94 1.551 2.153.001 1.213-.454 2.153-1.551 2.153zm8.939-1.736c0 1.086-.533 1.756-1.396 1.756-.864 0-1.388-.689-1.388-1.775v-3.897h-1.358v3.916c0 1.978 1.106 3.084 2.746 3.084 1.726 0 2.754-1.136 2.754-3.103v-3.897h-1.358v3.916zm8.142-.89l.019 1.485c-.087-.174-.31-.515-.475-.768l-2.703-3.692h-1.362v6.894h1.401v-2.988l-.02-1.484c.088.175.311.514.475.767l2.79 3.705h1.213v-6.894h-1.339v2.975zm5.895-2.923h-2.124v6.791h2.027c1.746 0 3.474-1.01 3.474-3.395 0-2.484-1.437-3.396-3.377-3.396zm-.097 5.472h-.67v-4.152h.719c1.436 0 2.028.688 2.028 2.076 0 1.242-.651 2.076-2.077 2.076zm7.909-4.229c.611 0 1 .271 1.242.737l1.26-.582c-.426-.883-1.202-1.503-2.483-1.503-1.775 0-3.016 1.435-3.016 3.502 0 2.143 1.191 3.501 2.968 3.501 1.232 0 2.047-.572 2.513-1.533l-1.145-.68c-.358.602-.718.864-1.329.864-1.019 0-1.611-.932-1.611-2.153-.001-1.261.583-2.153 1.601-2.153zm5.17-1.192h-1.359v6.791h4.083v-1.338h-2.724v-5.453zm6.396-.157c-1.854 0-2.949 1.435-2.949 3.502s1.095 3.501 2.949 3.501c1.853 0 2.95-1.434 2.95-3.501s-1.097-3.502-2.95-3.502zm0 5.655c-1.097 0-1.553-.941-1.553-2.153 0-1.213.456-2.153 1.553-2.153 1.095 0 1.55.94 1.55 2.153.001 1.213-.454 2.153-1.55 2.153zm8.557-1.736c0 1.086-.532 1.756-1.396 1.756-.864 0-1.388-.689-1.388-1.775v-3.794h-1.358v3.813c0 1.978 1.106 3.084 2.746 3.084 1.726 0 2.755-1.136 2.755-3.103v-3.794h-1.36v3.813zm5.449-3.907h-2.318v6.978h2.211c1.908 0 3.789-1.037 3.789-3.489 0-2.552-1.565-3.489-3.682-3.489zm-.108 5.623h-.729v-4.266h.783c1.565 0 2.21.706 2.21 2.133.001 1.276-.707 2.133-2.264 2.133z' })
(0, _deku.dom)('path', { d: 'M10.517 3.742c-.323 0-.49.363-.49.582 0 0-.244 3.591-.244 4.641 0 1.602.15 2.621.15 2.621 0 .222.261.401.584.401.321 0 .519-.179.519-.401 0 0 .398-1.038.398-2.639 0-1.837-.153-4.127-.284-4.592-.112-.395-.313-.613-.633-.613zm-1.996.268c-.323 0-.49.363-.49.582 0 0-.244 3.322-.244 4.372 0 1.602.119 2.621.119 2.621 0 .222.26.401.584.401.321 0 .581-.179.581-.401 0 0 .081-1.007.081-2.608 0-1.837-.206-4.386-.206-4.386 0-.218-.104-.581-.425-.581zm-2.021 1.729c-.324 0-.49.362-.49.582 0 0-.272 1.594-.272 2.644 0 1.602.179 2.559.179 2.559 0 .222.229.463.552.463.321 0 .519-.241.519-.463 0 0 .19-.944.19-2.546 0-1.837-.253-2.657-.253-2.657 0-.22-.104-.582-.425-.582zm-2.046-.358c-.323 0-.49.363-.49.582 0 0-.162 1.92-.162 2.97 0 1.602.069 2.496.069 2.496 0 .222.26.557.584.557.321 0 .581-.304.581-.526 0 0 .143-.936.143-2.538 0-1.837-.206-2.96-.206-2.96 0-.218-.198-.581-.519-.581zm-2.169 1.482c-.272 0-.232.218-.232.218v3.982s-.04.335.232.335c.351 0 .716-.832.716-2.348 0-1.245-.436-2.187-.716-2.187zm18.715-.976c-.289 0-.567.042-.832.116-.417-2.266-2.806-3.989-5.263-3.989-1.127 0-2.095.705-2.931 1.316v8.16s0 .484.5.484h8.526c1.655 0 3-1.55 3-3.155 0-1.607-1.346-2.932-3-2.932zm10.17.857c-1.077-.253-1.368-.389-1.368-.815 0-.3.242-.611.97-.611.621 0 1.106.253 1.542.699l.981-.951c-.641-.669-1.417-1.067-2.474-1.067-1.339 0-2.425.757-2.425 1.99 0 1.338.873 1.736 2.124 2.026 1.281.291 1.513.486 1.513.923 0 .514-.379.738-1.184.738-.65 0-1.26-.223-1.736-.777l-.98.873c.514.757 1.504 1.232 2.639 1.232 1.853 0 2.668-.873 2.668-2.163 0-1.477-1.193-1.845-2.27-2.097zm6.803-2.745c-1.853 0-2.949 1.435-2.949 3.502s1.096 3.501 2.949 3.501c1.852 0 2.949-1.434 2.949-3.501s-1.096-3.502-2.949-3.502zm0 5.655c-1.097 0-1.553-.941-1.553-2.153 0-1.213.456-2.153 1.553-2.153 1.096 0 1.551.94 1.551 2.153.001 1.213-.454 2.153-1.551 2.153zm8.939-1.736c0 1.086-.533 1.756-1.396 1.756-.864 0-1.388-.689-1.388-1.775v-3.897h-1.358v3.916c0 1.978 1.106 3.084 2.746 3.084 1.726 0 2.754-1.136 2.754-3.103v-3.897h-1.358v3.916zm8.142-.89l.019 1.485c-.087-.174-.31-.515-.475-.768l-2.703-3.692h-1.362v6.894h1.401v-2.988l-.02-1.484c.088.175.311.514.475.767l2.79 3.705h1.213v-6.894h-1.339v2.975zm5.895-2.923h-2.124v6.791h2.027c1.746 0 3.474-1.01 3.474-3.395 0-2.484-1.437-3.396-3.377-3.396zm-.097 5.472h-.67v-4.152h.719c1.436 0 2.028.688 2.028 2.076 0 1.242-.651 2.076-2.077 2.076zm7.909-4.229c.611 0 1 .271 1.242.737l1.26-.582c-.426-.883-1.202-1.503-2.483-1.503-1.775 0-3.016 1.435-3.016 3.502 0 2.143 1.191 3.501 2.968 3.501 1.232 0 2.047-.572 2.513-1.533l-1.145-.68c-.358.602-.718.864-1.329.864-1.019 0-1.611-.932-1.611-2.153-.001-1.261.583-2.153 1.601-2.153zm5.17-1.192h-1.359v6.791h4.083v-1.338h-2.724v-5.453zm6.396-.157c-1.854 0-2.949 1.435-2.949 3.502s1.095 3.501 2.949 3.501c1.853 0 2.95-1.434 2.95-3.501s-1.097-3.502-2.95-3.502zm0 5.655c-1.097 0-1.553-.941-1.553-2.153 0-1.213.456-2.153 1.553-2.153 1.095 0 1.55.94 1.55 2.153.001 1.213-.454 2.153-1.55 2.153zm8.557-1.736c0 1.086-.532 1.756-1.396 1.756-.864 0-1.388-.689-1.388-1.775v-3.794h-1.358v3.813c0 1.978 1.106 3.084 2.746 3.084 1.726 0 2.755-1.136 2.755-3.103v-3.794h-1.36v3.813zm5.449-3.907h-2.318v6.978h2.211c1.908 0 3.789-1.037 3.789-3.489 0-2.552-1.565-3.489-3.682-3.489zm-.108 5.623h-.729v-4.266h.783c1.565 0 2.21.706 2.21 2.133.001 1.276-.707 2.133-2.264 2.133z' })
);

@@ -55,3 +51,3 @@ }

return _deku2['default'].dom(
return (0, _deku.dom)(
'svg',

@@ -81,6 +77,6 @@ {

return _deku2['default'].dom(
return (0, _deku.dom)(
ButtonIconSVG,
props,
_deku2['default'].dom('path', { d: 'M0 0 L32 16 L0 32 z' })
(0, _deku.dom)('path', { d: 'M0 0 L32 16 L0 32 z' })
);

@@ -101,6 +97,6 @@ }

return _deku2['default'].dom(
return (0, _deku.dom)(
ButtonIconSVG,
props,
_deku2['default'].dom('path', { d: 'M0 0 H12 V32 H0 z M20 0 H32 V32 H20 z' })
(0, _deku.dom)('path', { d: 'M0 0 H12 V32 H0 z M20 0 H32 V32 H20 z' })
);

@@ -126,6 +122,6 @@ }

return _deku2['default'].dom(
return (0, _deku.dom)(
ButtonIconSVG,
props,
_deku2['default'].dom('path', { d: 'M4 4 L24 14 V4 H28 V28 H24 V18 L4 28 z ' })
(0, _deku.dom)('path', { d: 'M4 4 L24 14 V4 H28 V28 H24 V18 L4 28 z ' })
);

@@ -151,6 +147,6 @@ }

return _deku2['default'].dom(
return (0, _deku.dom)(
ButtonIconSVG,
props,
_deku2['default'].dom('path', { d: 'M4 4 H8 V14 L28 4 V28 L8 18 V28 H4 z ' })
(0, _deku.dom)('path', { d: 'M4 4 H8 V14 L28 4 V28 L8 18 V28 H4 z ' })
);

@@ -157,0 +153,0 @@ }

@@ -27,2 +27,8 @@ 'use strict';

var _Cover2 = require('./Cover');
var _Cover3 = _interopRequireDefault(_Cover2);
exports.Cover = _Cover3['default'];
var _Icons2 = require('./Icons');

@@ -29,0 +35,0 @@

@@ -1,2 +0,2 @@

/** @jsx deku.dom */
/** @jsx dom */
'use strict';

@@ -12,4 +12,2 @@

var _deku2 = _interopRequireDefault(_deku);
var _soundcloudAudio = require('soundcloud-audio');

@@ -57,6 +55,6 @@

return _deku2['default'].dom(
return (0, _deku.dom)(
'button',
{ 'class': 'sb-soundplayer-widget-play', onClick: handleClick },
!props.playing ? _deku2['default'].dom(_Icons.PlayIconSVG, { onClick: handleClick }) : _deku2['default'].dom(_Icons.PauseIconSVG, { onClick: handleClick })
!props.playing ? (0, _deku.dom)(_Icons.PlayIconSVG, { onClick: handleClick }) : (0, _deku.dom)(_Icons.PauseIconSVG, { onClick: handleClick })
);

@@ -63,0 +61,0 @@ }

@@ -1,2 +0,2 @@

/** @jsx deku.dom */
/** @jsx dom */
'use strict';

@@ -12,4 +12,2 @@

var _deku2 = _interopRequireDefault(_deku);
var _soundcloudAudio = require('soundcloud-audio');

@@ -57,6 +55,6 @@

return _deku2['default'].dom(
return (0, _deku.dom)(
'div',
{ 'class': 'sb-soundplayer-widget-progress-container', onClick: handleSeekTrack },
_deku2['default'].dom('div', { 'class': 'sb-soundplayer-widget-progress-inner', style: style })
(0, _deku.dom)('div', { 'class': 'sb-soundplayer-widget-progress-inner', style: style })
);

@@ -63,0 +61,0 @@ }

@@ -1,2 +0,2 @@

/** @jsx deku.dom */
/** @jsx dom */
'use strict';

@@ -8,8 +8,4 @@

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _deku = require('deku');
var _deku2 = _interopRequireDefault(_deku);
function prettyTime(time) {

@@ -52,3 +48,3 @@ var hours = Math.floor(time / 3600);

return _deku2['default'].dom(
return (0, _deku.dom)(
'div',

@@ -55,0 +51,0 @@ { 'class': 'sb-soundplayer-widget-timer' },

@@ -1,2 +0,2 @@

/** @jsx deku.dom */
/** @jsx dom */
'use strict';

@@ -12,4 +12,2 @@

var _deku2 = _interopRequireDefault(_deku);
var _soundcloudAudio = require('soundcloud-audio');

@@ -19,10 +17,6 @@

var _componentsPlayButton = require('./components/PlayButton');
var _componentsCover = require('./components/Cover');
var _componentsPlayButton2 = _interopRequireDefault(_componentsPlayButton);
var _componentsCover2 = _interopRequireDefault(_componentsCover);
var _componentsProgress = require('./components/Progress');
var _componentsProgress2 = _interopRequireDefault(_componentsProgress);
var _componentsTimer = require('./components/Timer');

@@ -32,94 +26,32 @@

var _componentsIcons = require('./components/Icons');
var _componentsProgress = require('./components/Progress');
var _utilsAudioStore = require('./utils/audioStore');
var _componentsProgress2 = _interopRequireDefault(_componentsProgress);
exports['default'] = {
propTypes: {
url: {
type: 'string'
},
soundCloudAudio: function soundCloudAudio(prop) {
return prop instanceof _soundcloudAudio2['default'];
}
},
var _componentsPlayButton = require('./components/PlayButton');
initialState: function initialState() {
return {
duration: 0,
currentTime: 0,
seeking: false,
playing: false
};
},
var _componentsPlayButton2 = _interopRequireDefault(_componentsPlayButton);
afterMount: function afterMount(component, el, setState) {
var props = component.props;
var soundCloudAudio = props.soundCloudAudio;
var _addonsSoundPlayerContainer = require('./addons/SoundPlayerContainer');
soundCloudAudio.resolve(props.url, function (data) {
// TBD: support for playlists
var track = data.tracks ? data.tracks[0] : data;
setState({ track: track });
});
var _addonsSoundPlayerContainer2 = _interopRequireDefault(_addonsSoundPlayerContainer);
function onAudioStarted() {
setState({ playing: true });
var _componentsIcons = require('./components/Icons');
(0, _utilsAudioStore.stopAllOther)(soundCloudAudio.playing);
(0, _utilsAudioStore.addToStore)(soundCloudAudio);
}
function getCurrentTime() {
setState({ currentTime: soundCloudAudio.audio.currentTime });
}
function getDuration() {
setState({ duration: soundCloudAudio.audio.duration });
}
function onSeekingTrack() {
setState({ seeking: true });
}
function onSeekedTrack() {
setState({ seeking: false });
}
function onAudioEnded() {
setState({ playing: false });
}
// https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Media_events
soundCloudAudio.on('playing', onAudioStarted);
soundCloudAudio.on('timeupdate', getCurrentTime);
soundCloudAudio.on('loadedmetadata', getDuration);
soundCloudAudio.on('seeking', onSeekingTrack);
soundCloudAudio.on('seeked', onSeekedTrack);
soundCloudAudio.on('pause', onAudioEnded);
soundCloudAudio.on('ended', onAudioEnded);
},
beforeMount: function beforeMount(component) {
var props = component.props;
props.soundCloudAudio.unbindAll();
},
var Player = {
render: function render(component) {
var state = component.state;
var props = component.props;
if (!state.track) {
return _deku2['default'].dom('span', null);
if (!props.track) {
return (0, _deku.dom)('span', null);
}
if (state.track && !state.track.streamable) {
return _deku2['default'].dom(
if (props.track && !props.track.streamable) {
return (0, _deku.dom)(
'div',
{ 'class': 'sb-soundplayer-widget-message' },
_deku2['default'].dom(
(0, _deku.dom)(
'a',
{ href: state.track.permalink_url, target: '_blank' },
state.track.title
{ href: props.track.permalink_url, target: '_blank' },
props.track.title
),

@@ -130,41 +62,39 @@ ' is not streamable!'

return _deku2['default'].dom(
'div',
{ 'class': 'sb-soundplayer-widget-cover', style: {
'background-image': 'url(' + state.track.artwork_url.replace('large', 't500x500') + ')'
} },
_deku2['default'].dom('div', { 'class': 'sb-soundplayer-widget-overlay' }),
_deku2['default'].dom(
return (0, _deku.dom)(
_componentsCover2['default'],
{ artworkUrl: props.track.artwork_url.replace('large', 't500x500') },
(0, _deku.dom)('div', { 'class': 'sb-soundplayer-widget-overlay' }),
(0, _deku.dom)(
'div',
{ 'class': 'sb-soundplayer-widget-track-info' },
_deku2['default'].dom(
(0, _deku.dom)(
'h3',
{ 'class': 'sb-soundplayer-widget-user' },
state.track.user.username
props.track.user.username
),
_deku2['default'].dom(
(0, _deku.dom)(
'h2',
{ 'class': 'sb-soundplayer-widget-title' },
state.track.title
props.track.title
)
),
_deku2['default'].dom(
(0, _deku.dom)(
'a',
{ href: state.track.permalink_url, target: '_blank' },
_deku2['default'].dom(_componentsIcons.SoundCloudLogoSVG, null)
{ href: props.track.permalink_url, target: '_blank' },
(0, _deku.dom)(_componentsIcons.SoundCloudLogoSVG, null)
),
_deku2['default'].dom(
(0, _deku.dom)(
'div',
{ 'class': 'sb-soundplayer-widget-controls' },
_deku2['default'].dom(_componentsPlayButton2['default'], {
playing: state.playing,
(0, _deku.dom)(_componentsPlayButton2['default'], {
playing: props.playing,
soundCloudAudio: props.soundCloudAudio
}),
_deku2['default'].dom(_componentsProgress2['default'], {
value: state.currentTime / state.duration * 100 || 0,
(0, _deku.dom)(_componentsProgress2['default'], {
value: props.currentTime / props.duration * 100 || 0,
soundCloudAudio: props.soundCloudAudio
}),
_deku2['default'].dom(_componentsTimer2['default'], {
duration: state.track.duration / 1000,
currentTime: state.currentTime
(0, _deku.dom)(_componentsTimer2['default'], {
duration: props.track.duration / 1000,
currentTime: props.currentTime
})

@@ -175,2 +105,23 @@ )

};
exports['default'] = {
propTypes: {
url: {
type: 'string'
},
soundCloudAudio: function soundCloudAudio(prop) {
return prop instanceof _soundcloudAudio2['default'];
}
},
render: function render(component) {
var props = component.props;
return (0, _deku.dom)(
_addonsSoundPlayerContainer2['default'],
props,
(0, _deku.dom)(Player, null)
);
}
};
module.exports = exports['default'];
{
"name": "deku-soundplayer",
"version": "0.1.0-rc",
"version": "0.1.1-rc",
"description": "Create custom SoundCloud players with Deku",

@@ -30,3 +30,5 @@ "main": "index.js",

"dependencies": {
"classnames": "^2.1.2",
"deku": "^0.4.5",
"object-assign": "^3.0.0",
"soundcloud-audio": "^0.1.4"

@@ -33,0 +35,0 @@ },

@@ -10,1 +10,9 @@ # <img src="http://www.officialpsds.com/images/thumbs/Soundcloud-Logo-psd47614.png" width="75" align="left">&nbsp;deku-soundplayer

_Note:_ For now it's VERY lightweight port (e.g. there's no container components) of original [ReactSoundPlayer](https://github.com/soundblogs/react-soundplayer) and used inside [embeddable SoundCloud player](https://github.com/soundblogs/soundplayer-widget).
```bash
npm install deku-soundplayer --save
```
---
**MIT Licensed**
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc