Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Socket
Sign inDemoInstall

react-activity

Package Overview
Dependencies
Maintainers
1
Versions
30
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-activity - npm Package Compare versions

Comparing version 1.0.8 to 1.0.9

.sass-cache/23d9fbf589336571872854736983c3f6f9c76bbc/Windmill.scssc

437

dist/react-activity.js

@@ -10,3 +10,3 @@ (function webpackUniversalModuleDefinition(root, factory) {

root["ReactActivity"] = factory(root["React"]);
})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {
})(this, function(__WEBPACK_EXTERNAL_MODULE_3__) {
return /******/ (function(modules) { // webpackBootstrap

@@ -63,3 +63,2 @@ /******/ // The module cache

});
exports.Spinner = exports.Sentry = exports.Levels = exports.Dots = undefined;

@@ -70,20 +69,33 @@ var _Dots = __webpack_require__(1);

var _Levels = __webpack_require__(4);
var _Levels = __webpack_require__(5);
var _Levels2 = _interopRequireDefault(_Levels);
var _Sentry = __webpack_require__(5);
var _Sentry = __webpack_require__(7);
var _Sentry2 = _interopRequireDefault(_Sentry);
var _Spinner = __webpack_require__(6);
var _Spinner = __webpack_require__(9);
var _Spinner2 = _interopRequireDefault(_Spinner);
var _Squares = __webpack_require__(11);
var _Squares2 = _interopRequireDefault(_Squares);
var _Digital = __webpack_require__(13);
var _Digital2 = _interopRequireDefault(_Digital);
var _Bounce = __webpack_require__(15);
var _Bounce2 = _interopRequireDefault(_Bounce);
var _Windmill = __webpack_require__(17);
var _Windmill2 = _interopRequireDefault(_Windmill);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.Dots = _Dots2.default;
exports.Levels = _Levels2.default;
exports.Sentry = _Sentry2.default;
exports.Spinner = _Spinner2.default;
exports.default = { Dots: _Dots2.default, Levels: _Levels2.default, Sentry: _Sentry2.default, Spinner: _Spinner2.default, Squares: _Squares2.default, Digital: _Digital2.default, Bounce: _Bounce2.default, Windmill: _Windmill2.default };

@@ -96,2 +108,20 @@ /***/ },

Object.defineProperty(exports, "__esModule", {
value: true
});
var _Dots = __webpack_require__(2);
var _Dots2 = _interopRequireDefault(_Dots);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _Dots2.default;
/***/ },
/* 2 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };

@@ -103,7 +133,7 @@

var _react = __webpack_require__(2);
var _react = __webpack_require__(3);
var _react2 = _interopRequireDefault(_react);
var _activityIndicator = __webpack_require__(3);
var _activityIndicator = __webpack_require__(4);

@@ -119,3 +149,3 @@ var _activityIndicator2 = _interopRequireDefault(_activityIndicator);

'div',
_extends({ className: 'rai-dots' }, this.props),
_extends({}, this.props, { className: 'rai-dots' }),
_react2.default.createElement('div', {

@@ -137,12 +167,12 @@ className: 'rai-circle',

exports.default = (0, _activityIndicator2.default)(Dots, 0.8, 40);
exports.default = (0, _activityIndicator2.default)(Dots, 0.8);
/***/ },
/* 2 */
/* 3 */
/***/ function(module, exports) {
module.exports = __WEBPACK_EXTERNAL_MODULE_2__;
module.exports = __WEBPACK_EXTERNAL_MODULE_3__;
/***/ },
/* 3 */
/* 4 */
/***/ function(module, exports, __webpack_require__) {

@@ -158,3 +188,3 @@

var _react = __webpack_require__(2);
var _react = __webpack_require__(3);

@@ -207,7 +237,11 @@ var _react2 = _interopRequireDefault(_react);

style.animationDuration = style.animationDuration * (1 / this.props.speed) + 's';
return _react2.default.createElement(ComposedComponent, _extends({}, this.props, {
getFillStyle: this.getFillStyle,
getBorderStyle: this.getBorderStyle,
style: style
}));
return _react2.default.createElement(
'div',
{ className: 'rai-activity-indicator ' + this.props.className },
_react2.default.createElement(ComposedComponent, _extends({}, this.props, {
getFillStyle: this.getFillStyle,
getBorderStyle: this.getBorderStyle,
style: style
}))
);
}

@@ -218,3 +252,3 @@ });

/***/ },
/* 4 */
/* 5 */
/***/ function(module, exports, __webpack_require__) {

@@ -224,2 +258,20 @@

Object.defineProperty(exports, "__esModule", {
value: true
});
var _Levels = __webpack_require__(6);
var _Levels2 = _interopRequireDefault(_Levels);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _Levels2.default;
/***/ },
/* 6 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };

@@ -231,7 +283,7 @@

var _react = __webpack_require__(2);
var _react = __webpack_require__(3);
var _react2 = _interopRequireDefault(_react);
var _activityIndicator = __webpack_require__(3);
var _activityIndicator = __webpack_require__(4);

@@ -247,3 +299,3 @@ var _activityIndicator2 = _interopRequireDefault(_activityIndicator);

'div',
_extends({ className: 'rai-levels' }, this.props),
_extends({}, this.props, { className: 'rai-levels' }),
_react2.default.createElement(

@@ -263,3 +315,3 @@ 'div',

/***/ },
/* 5 */
/* 7 */
/***/ function(module, exports, __webpack_require__) {

@@ -269,2 +321,20 @@

Object.defineProperty(exports, "__esModule", {
value: true
});
var _Sentry = __webpack_require__(8);
var _Sentry2 = _interopRequireDefault(_Sentry);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _Sentry2.default;
/***/ },
/* 8 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };

@@ -276,7 +346,7 @@

var _react = __webpack_require__(2);
var _react = __webpack_require__(3);
var _react2 = _interopRequireDefault(_react);
var _activityIndicator = __webpack_require__(3);
var _activityIndicator = __webpack_require__(4);

@@ -292,3 +362,3 @@ var _activityIndicator2 = _interopRequireDefault(_activityIndicator);

'div',
_extends({ className: 'rai-sentry' }, this.props),
_extends({}, this.props, { className: 'rai-sentry' }),
_react2.default.createElement(

@@ -311,3 +381,3 @@ 'div',

/***/ },
/* 6 */
/* 9 */
/***/ function(module, exports, __webpack_require__) {

@@ -317,2 +387,20 @@

Object.defineProperty(exports, "__esModule", {
value: true
});
var _Spinner = __webpack_require__(10);
var _Spinner2 = _interopRequireDefault(_Spinner);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _Spinner2.default;
/***/ },
/* 10 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };

@@ -324,7 +412,7 @@

var _react = __webpack_require__(2);
var _react = __webpack_require__(3);
var _react2 = _interopRequireDefault(_react);
var _activityIndicator = __webpack_require__(3);
var _activityIndicator = __webpack_require__(4);

@@ -340,3 +428,3 @@ var _activityIndicator2 = _interopRequireDefault(_activityIndicator);

'div',
_extends({ className: 'rai-spinner' }, this.props),
_extends({}, this.props, { className: 'rai-spinner' }),
_react2.default.createElement('div', { className: 'rai-spinner-outer', style: this.props.getBorderStyle() }),

@@ -350,2 +438,283 @@ _react2.default.createElement('div', { className: 'rai-spinner-inner', style: this.props.getBorderStyle() })

/***/ },
/* 11 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _Squares = __webpack_require__(12);
var _Squares2 = _interopRequireDefault(_Squares);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _Squares2.default;
/***/ },
/* 12 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = __webpack_require__(3);
var _react2 = _interopRequireDefault(_react);
var _activityIndicator = __webpack_require__(4);
var _activityIndicator2 = _interopRequireDefault(_activityIndicator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Squares = _react2.default.createClass({
displayName: 'Squares',
propTypes: {
squareCount: _react.PropTypes.number.isRequired
},
getDefaultProps: function getDefaultProps() {
return {
squareCount: 3
};
},
render: function render() {
var squares = [];
for (var i = 1; i <= this.props.squareCount; i++) {
squares.unshift(_react2.default.createElement('div', {
key: i,
className: 'rai-square',
style: this.props.getFillStyle(i / 10)
}));
}
return _react2.default.createElement(
'div',
_extends({}, this.props, { className: 'rai-squares' }),
squares
);
}
});
exports.default = (0, _activityIndicator2.default)(Squares, 0.8);
/***/ },
/* 13 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _Digital = __webpack_require__(14);
var _Digital2 = _interopRequireDefault(_Digital);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _Digital2.default;
/***/ },
/* 14 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = __webpack_require__(3);
var _react2 = _interopRequireDefault(_react);
var _activityIndicator = __webpack_require__(4);
var _activityIndicator2 = _interopRequireDefault(_activityIndicator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Digital = _react2.default.createClass({
displayName: 'Digital',
propTypes: {
count: _react.PropTypes.number.isRequired
},
getDefaultProps: function getDefaultProps() {
return {
count: 3
};
},
render: function render() {
var rects = [];
for (var i = 1; i <= this.props.count; i++) {
rects.unshift(_react2.default.createElement('div', {
key: i,
style: this.props.getFillStyle(i / 10)
}));
}
return _react2.default.createElement(
'div',
_extends({}, this.props, { className: 'rai-digital' }),
rects
);
}
});
exports.default = (0, _activityIndicator2.default)(Digital, 0.8);
/***/ },
/* 15 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _Bounce = __webpack_require__(16);
var _Bounce2 = _interopRequireDefault(_Bounce);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _Bounce2.default;
/***/ },
/* 16 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = __webpack_require__(3);
var _react2 = _interopRequireDefault(_react);
var _activityIndicator = __webpack_require__(4);
var _activityIndicator2 = _interopRequireDefault(_activityIndicator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Bounce = _react2.default.createClass({
displayName: 'Bounce',
propTypes: {
count: _react.PropTypes.number.isRequired
},
getDefaultProps: function getDefaultProps() {
return {
count: 3
};
},
render: function render() {
var squares = [];
for (var i = 1; i <= this.props.count; i++) {
squares.unshift(_react2.default.createElement('div', {
key: i,
style: this.props.getFillStyle(i / 10)
}));
}
return _react2.default.createElement(
'div',
_extends({}, this.props, { className: 'rai-bounce' }),
squares
);
}
});
exports.default = (0, _activityIndicator2.default)(Bounce, 0.8);
/***/ },
/* 17 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _Windmill = __webpack_require__(18);
var _Windmill2 = _interopRequireDefault(_Windmill);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = _Windmill2.default;
/***/ },
/* 18 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = __webpack_require__(3);
var _react2 = _interopRequireDefault(_react);
var _activityIndicator = __webpack_require__(4);
var _activityIndicator2 = _interopRequireDefault(_activityIndicator);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var animationDuration = 0.8;
var Windmill = _react2.default.createClass({
displayName: 'Windmill',
propTypes: {
count: _react.PropTypes.number.isRequired
},
getDefaultProps: function getDefaultProps() {
return {
count: 1
};
},
render: function render() {
var windill = [];
for (var i = 1; i <= this.props.count; i++) {
var style = this.props.getFillStyle(i / (this.props.count * 2 / animationDuration));
windill.unshift(_react2.default.createElement('div', {
key: i,
style: style
}));
}
return _react2.default.createElement(
'div',
_extends({}, this.props, { className: 'rai-windill' }),
windill
);
}
});
exports.default = (0, _activityIndicator2.default)(Windmill, animationDuration);
/***/ }

@@ -352,0 +721,0 @@ /******/ ])

14

lib/activityIndicator.js

@@ -56,7 +56,11 @@ 'use strict';

style.animationDuration = style.animationDuration * (1 / this.props.speed) + 's';
return _react2['default'].createElement(ComposedComponent, _extends({}, this.props, {
getFillStyle: this.getFillStyle,
getBorderStyle: this.getBorderStyle,
style: style
}));
return _react2['default'].createElement(
'div',
{ className: 'rai-activity-indicator ' + this.props.className },
_react2['default'].createElement(ComposedComponent, _extends({}, this.props, {
getFillStyle: this.getFillStyle,
getBorderStyle: this.getBorderStyle,
style: style
}))
);
}

@@ -63,0 +67,0 @@ });

@@ -25,3 +25,3 @@ 'use strict';

'div',
_extends({ className: 'rai-dots' }, this.props),
_extends({}, this.props, { className: 'rai-dots' }),
_react2['default'].createElement('div', {

@@ -43,3 +43,3 @@ className: 'rai-circle',

exports['default'] = (0, _activityIndicator2['default'])(Dots, 0.8, 40);
exports['default'] = (0, _activityIndicator2['default'])(Dots, 0.8);
module.exports = exports['default'];

@@ -9,21 +9,35 @@ 'use strict';

var _DotsDots = require('./Dots/Dots');
var _Dots = require('./Dots');
var _DotsDots2 = _interopRequireDefault(_DotsDots);
var _Dots2 = _interopRequireDefault(_Dots);
var _LevelsLevels = require('./Levels/Levels');
var _Levels = require('./Levels');
var _LevelsLevels2 = _interopRequireDefault(_LevelsLevels);
var _Levels2 = _interopRequireDefault(_Levels);
var _SentrySentry = require('./Sentry/Sentry');
var _Sentry = require('./Sentry');
var _SentrySentry2 = _interopRequireDefault(_SentrySentry);
var _Sentry2 = _interopRequireDefault(_Sentry);
var _SpinnerSpinner = require('./Spinner/Spinner');
var _Spinner = require('./Spinner');
var _SpinnerSpinner2 = _interopRequireDefault(_SpinnerSpinner);
var _Spinner2 = _interopRequireDefault(_Spinner);
exports.Dots = _DotsDots2['default'];
exports.Levels = _LevelsLevels2['default'];
exports.Sentry = _SentrySentry2['default'];
exports.Spinner = _SpinnerSpinner2['default'];
var _Squares = require('./Squares');
var _Squares2 = _interopRequireDefault(_Squares);
var _Digital = require('./Digital');
var _Digital2 = _interopRequireDefault(_Digital);
var _Bounce = require('./Bounce');
var _Bounce2 = _interopRequireDefault(_Bounce);
var _Windmill = require('./Windmill');
var _Windmill2 = _interopRequireDefault(_Windmill);
exports['default'] = { Dots: _Dots2['default'], Levels: _Levels2['default'], Sentry: _Sentry2['default'], Spinner: _Spinner2['default'], Squares: _Squares2['default'], Digital: _Digital2['default'], Bounce: _Bounce2['default'], Windmill: _Windmill2['default'] };
module.exports = exports['default'];

@@ -25,3 +25,3 @@ 'use strict';

'div',
_extends({ className: 'rai-levels' }, this.props),
_extends({}, this.props, { className: 'rai-levels' }),
_react2['default'].createElement(

@@ -28,0 +28,0 @@ 'div',

@@ -24,3 +24,3 @@ 'use strict';

'div',
_extends({ className: 'rai-sentry' }, this.props),
_extends({}, this.props, { className: 'rai-sentry' }),
_react2['default'].createElement(

@@ -27,0 +27,0 @@ 'div',

@@ -25,3 +25,3 @@ 'use strict';

'div',
_extends({ className: 'rai-spinner' }, this.props),
_extends({}, this.props, { className: 'rai-spinner' }),
_react2['default'].createElement('div', { className: 'rai-spinner-outer', style: this.props.getBorderStyle() }),

@@ -28,0 +28,0 @@ _react2['default'].createElement('div', { className: 'rai-spinner-inner', style: this.props.getBorderStyle() })

{
"name": "react-activity",
"version": "1.0.8",
"version": "1.0.9",
"description": "Activity indicator component library for React applications.",

@@ -11,7 +11,8 @@ "main": "./dist/react-activity.js",

"lint": "eslint ./src",
"build:examples": "NODE_ENV=production webpack --config examples/webpack.config.js"
"build:examples": "NODE_ENV=production webpack --config examples/webpack.config.js && git add examples/build"
},
"pre-commit": [
"compile:lib",
"build"
"build",
"build:examples"
],

@@ -45,3 +46,2 @@ "repository": {

"extract-text-webpack-plugin": "^0.9.1",
"html-webpack-plugin": "^2.7.2",
"node-sass": "^3.4.2",

@@ -48,0 +48,0 @@ "pre-commit": "^1.1.2",

@@ -7,3 +7,3 @@ # React Activity Indicators

Live demo: https://lukevella.github.io/react-activity
Live demo: http://lukevella.com/react-activity

@@ -94,2 +94,6 @@ To run the examples locally, run:

* `Spinner`
* `Squares`
* `Digital`
* `Bounce`
* `Windmill`

@@ -96,0 +100,0 @@ ## Properties

@@ -47,7 +47,9 @@ 'use strict';

return (
<ComposedComponent {...this.props}
getFillStyle={this.getFillStyle}
getBorderStyle={this.getBorderStyle}
style={style}
/>
<div className={`rai-activity-indicator ${this.props.className}`}>
<ComposedComponent {...this.props}
getFillStyle={this.getFillStyle}
getBorderStyle={this.getBorderStyle}
style={style}
/>
</div>
);

@@ -54,0 +56,0 @@ }

@@ -7,3 +7,3 @@ import React from 'react';

return (
<div className="rai-dots" {...this.props}>
<div {...this.props} className="rai-dots">
<div

@@ -26,2 +26,2 @@ className="rai-circle"

export default activityIndicator(Dots, 0.8, 40);
export default activityIndicator(Dots, 0.8);

@@ -1,6 +0,10 @@

import Dots from './Dots/Dots';
import Levels from './Levels/Levels';
import Sentry from './Sentry/Sentry';
import Spinner from './Spinner/Spinner';
import Dots from './Dots';
import Levels from './Levels';
import Sentry from './Sentry';
import Spinner from './Spinner';
import Squares from './Squares';
import Digital from './Digital';
import Bounce from './Bounce';
import Windmill from './Windmill';
export {Dots, Levels, Sentry, Spinner};
export default {Dots, Levels, Sentry, Spinner, Squares, Digital, Bounce, Windmill};

@@ -9,3 +9,3 @@ 'use strict';

return (
<div className="rai-levels" {...this.props}>
<div {...this.props} className="rai-levels">
<div className="rai-levels-container">

@@ -12,0 +12,0 @@ <div className="rai-bar" style={this.props.getFillStyle()} />

@@ -8,3 +8,3 @@ 'use strict';

return (
<div className="rai-sentry" {...this.props}>
<div {...this.props} className="rai-sentry">
<div className="rai-wave-container">

@@ -11,0 +11,0 @@ <div className="rai-wave" style={this.props.getBorderStyle(0)} />

@@ -7,3 +7,3 @@ import React from 'react';

return (
<div className="rai-spinner" {...this.props}>
<div {...this.props} className="rai-spinner" >
<div className="rai-spinner-outer" style={this.props.getBorderStyle()} />

@@ -10,0 +10,0 @@ <div className="rai-spinner-inner" style={this.props.getBorderStyle()} />

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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