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

@react-mdc/base

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@react-mdc/base - npm Package Compare versions

Comparing version 0.1.2 to 0.1.3

lib/index.d.ts

38

lib/index.js

@@ -1,31 +0,7 @@

'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _wrapper = require('./wrapper');
Object.defineProperty(exports, 'Wrapper', {
enumerable: true,
get: function get() {
return _wrapper.Wrapper;
}
});
Object.defineProperty(exports, 'PropWrapper', {
enumerable: true,
get: function get() {
return _wrapper.PropWrapper;
}
});
var _nativeDomAdapter = require('./native-dom-adapter');
Object.defineProperty(exports, 'NativeDOMAdapter', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_nativeDomAdapter).default;
}
});
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var native_dom_adapter_1 = require("./native-dom-adapter");
exports.NativeDOMAdapter = native_dom_adapter_1.default;
var meta_1 = require("./meta");
exports.Meta = meta_1.default;
//# sourceMappingURL=index.js.map

@@ -1,35 +0,17 @@

'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactDom = require('react-dom');
var _reactDom2 = _interopRequireDefault(_reactDom);
var _lodash = require('lodash');
var _lodash2 = _interopRequireDefault(_lodash);
var _immutable = require('immutable');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var immutable_1 = require("immutable");
var forEach = require("lodash.foreach");
var React = require("react");
var ReactDOM = require("react-dom");
/**

@@ -39,215 +21,165 @@ * High order components that adds native DOM properties

*/
var NativeDOMAdapter = function (_React$Component) {
_inherits(NativeDOMAdapter, _React$Component);
function NativeDOMAdapter() {
_classCallCheck(this, NativeDOMAdapter);
return _possibleConstructorReturn(this, (NativeDOMAdapter.__proto__ || Object.getPrototypeOf(NativeDOMAdapter)).apply(this, arguments));
}
_createClass(NativeDOMAdapter, [{
key: 'getDOMNode',
// Get root DOM node of element
// Last known DOM node
value: function getDOMNode() {
return _reactDom2.default.findDOMNode(this);
var NativeDOMAdapter = (function (_super) {
__extends(NativeDOMAdapter, _super);
function NativeDOMAdapter() {
return _super !== null && _super.apply(this, arguments) || this;
}
// Manage CSS variables
}, {
key: 'removeCssVariables',
value: function removeCssVariables(dom, toRemove) {
_lodash2.default.each(toRemove, function (value, key) {
if (dom.style.getPropertyValue(key) === value) {
dom.style.removeProperty(key);
NativeDOMAdapter.prototype.render = function () {
return this.props.children || null;
};
NativeDOMAdapter.prototype.componentDidMount = function () {
var props = this.internalProps(this.props);
this.lastDOMNode = this.getDOMNode();
this.addCssVariables(this.lastDOMNode, props.cssVariables);
this.addEventListeners(this.lastDOMNode, props.eventListeners);
this.addAttributes(this.lastDOMNode, props.attributes);
};
NativeDOMAdapter.prototype.componentDidUpdate = function (origPrevProps) {
var props = this.internalProps(this.props);
var prevProps = this.internalProps(origPrevProps);
var node = this.getDOMNode();
if (node !== this.lastDOMNode) {
// Remove from previous DOM node
this.removeCssVariables(this.lastDOMNode, prevProps.cssVariables);
this.removeEventListeners(this.lastDOMNode, prevProps.eventListeners);
this.removeAttributes(this.lastDOMNode, props.attributes);
// Add to new DOM node
this.addCssVariables(node, props.cssVariables);
this.addEventListeners(node, props.eventListeners);
this.addAttributes(node, props.attributes);
// Update current DOM node
this.lastDOMNode = node;
}
});
}
}, {
key: 'addCssVariables',
value: function addCssVariables(dom, toAdd) {
_lodash2.default.each(toAdd, function (value, key) {
if (dom.style.getPropertyValue(key) !== value) {
dom.style.setProperty(key, value);
else {
// Update
this.updateCssVariables(node, prevProps.cssVariables, props.cssVariables);
this.updateEventListeners(node, prevProps.eventListeners, props.eventListeners);
this.updateAttributes(node, prevProps.attributes, props.attributes);
}
});
}
}, {
key: 'updateCssVariables',
value: function updateCssVariables(dom, prev, next) {
var toRemove = {};
var toAdd = {};
_lodash2.default.each(prev, function (value, key) {
if (next[key] !== value) {
toRemove[key] = value;
}
});
_lodash2.default.each(next, function (value, key) {
if (prev[key] !== value) {
toAdd[key] = value;
}
});
this.removeCssVariables(dom, toRemove);
this.addCssVariables(dom, toAdd);
}
// Manage event listeners
}, {
key: 'removeEventListeners',
value: function removeEventListeners(dom, toRemove) {
_lodash2.default.each(toRemove, function (item) {
var _item = _slicedToArray(item, 2),
event = _item[0],
listener = _item[1];
dom.removeEventListener(event, listener);
});
}
}, {
key: 'addEventListeners',
value: function addEventListeners(dom, toAdd) {
_lodash2.default.each(toAdd, function (item) {
var _item2 = _slicedToArray(item, 2),
event = _item2[0],
listener = _item2[1];
dom.addEventListener(event, listener);
});
}
}, {
key: 'updateEventListeners',
value: function updateEventListeners(dom, prev, next) {
var _this2 = this;
var prevKeys = Object.keys(prev);
var nextKeys = Object.keys(next);
var allKeys = _immutable.OrderedSet.of.apply(_immutable.OrderedSet, _toConsumableArray(nextKeys.concat(prevKeys))).toJS();
// Find listeners to add / remove with order preservation
var diff = allKeys.map(function (event) {
var prevListeners = prev[event] || [];
var nextListeners = next[event] || [];
var diffStart = void 0;
for (diffStart = 0; diffStart < Math.min(prevListeners.length, nextListeners.length); diffStart++) {
if (prevListeners[diffStart] !== nextListeners[diffStart]) {
break;
}
}
};
NativeDOMAdapter.prototype.internalProps = function (props) {
return {
event: event,
toRemove: prevListeners.slice(diffStart),
toAdd: nextListeners.slice(diffStart)
cssVariables: props.cssVariables,
eventListeners: props.eventListeners,
attributes: props.attributes,
children: props.children,
};
});
_lodash2.default.each(diff, function (_ref) {
var event = _ref.event,
toRemove = _ref.toRemove,
toAdd = _ref.toAdd;
toRemove = toRemove.map(function (x) {
return [event, x];
};
// Get root DOM node of element
NativeDOMAdapter.prototype.getDOMNode = function () {
return ReactDOM.findDOMNode(this);
};
// Manage CSS variables
NativeDOMAdapter.prototype.removeCssVariables = function (dom, toRemove) {
forEach(toRemove, function (value, key) {
if (dom.style.getPropertyValue(key) === value) {
dom.style.removeProperty(key);
}
});
toAdd = toAdd.map(function (x) {
return [event, x];
};
NativeDOMAdapter.prototype.addCssVariables = function (dom, toAdd) {
forEach(toAdd, function (value, key) {
if (dom.style.getPropertyValue(key) !== value) {
dom.style.setProperty(key, value);
}
});
_this2.removeEventListeners(dom, toRemove);
_this2.addEventListeners(dom, toAdd);
});
}
};
NativeDOMAdapter.prototype.updateCssVariables = function (dom, prev, next) {
var toRemove = {};
var toAdd = {};
forEach(prev, function (value, key) {
if (next[key] !== value) {
toRemove[key] = value;
}
});
forEach(next, function (value, key) {
if (prev[key] !== value) {
toAdd[key] = value;
}
});
this.removeCssVariables(dom, toRemove);
this.addCssVariables(dom, toAdd);
};
// Manage event listeners
NativeDOMAdapter.prototype.removeEventListeners = function (dom, toRemove) {
forEach(toRemove, function (item) {
var event = item[0], listener = item[1];
dom.removeEventListener(event, listener);
});
};
NativeDOMAdapter.prototype.addEventListeners = function (dom, toAdd) {
forEach(toAdd, function (item) {
var event = item[0], listener = item[1];
dom.addEventListener(event, listener);
});
};
NativeDOMAdapter.prototype.updateEventListeners = function (dom, prev, next) {
var _this = this;
var prevKeys = Object.keys(prev);
var nextKeys = Object.keys(next);
var allKeys = immutable_1.OrderedSet
.of.apply(immutable_1.OrderedSet, nextKeys.concat(prevKeys)).toJS();
// Find listeners to add / remove with order preservation
var diff = allKeys.map(function (event) {
var prevListeners = prev[event] || [];
var nextListeners = next[event] || [];
var diffStart;
for (diffStart = 0; diffStart < Math.min(prevListeners.length, nextListeners.length); diffStart++) {
if (prevListeners[diffStart] !== nextListeners[diffStart]) {
break;
}
}
return {
event: event,
toRemove: prevListeners.slice(diffStart),
toAdd: nextListeners.slice(diffStart),
};
});
forEach(diff, function (_a) {
var event = _a.event, toRemove = _a.toRemove, toAdd = _a.toAdd;
toRemove = toRemove.map(function (x) { return [event, x]; });
toAdd = toAdd.map(function (x) { return [event, x]; });
_this.removeEventListeners(dom, toRemove);
_this.addEventListeners(dom, toAdd);
});
};
// Manage attributes
}, {
key: 'removeAttributes',
value: function removeAttributes(dom, toRemove) {
_lodash2.default.each(toRemove, function (value, key) {
if (dom.getAttribute(key) === value) {
dom.removeAttribute(key);
}
});
}
}, {
key: 'addAttributes',
value: function addAttributes(dom, toAdd) {
_lodash2.default.each(toAdd, function (value, key) {
if (dom.getAttribute(key) !== value) {
dom.setAttribute(key, value);
}
});
}
}, {
key: 'updateAttributes',
value: function updateAttributes(dom, prev, next) {
var toRemove = {};
var toAdd = {};
_lodash2.default.each(prev, function (value, key) {
if (next[key] !== value) {
toRemove[key] = value;
}
});
_lodash2.default.each(next, function (value, key) {
if (prev[key] !== value) {
toAdd[key] = value;
}
});
this.removeAttributes(dom, toRemove);
this.addAttributes(dom, toAdd);
}
}, {
key: 'componentDidMount',
value: function componentDidMount() {
this.lastDOMNode = this.getDOMNode();
this.addCssVariables(this.lastDOMNode, this.props.cssVariables);
this.addEventListeners(this.lastDOMNode, this.props.eventListeners);
this.addAttributes(this.lastDOMNode, this.props.attributes);
}
}, {
key: 'componentDidUpdate',
value: function componentDidUpdate(prevProps) {
var node = this.getDOMNode();
if (node !== this.lastDOMNode) {
// Remove from previous DOM node
this.removeCssVariables(this.lastDOMNode, prevProps.cssVariables);
this.removeEventListeners(this.lastDOMNode, prevProps.eventListeners);
this.removeAttributes(this.lastDOMNode, this.props.attributes);
// Add to new DOM node
this.addCssVariables(node, this.props.cssVariables);
this.addEventListeners(node, this.props.eventListeners);
this.addAttributes(node, this.props.attributes);
// Update current DOM node
this.lastDOMNode = node;
} else {
// Update
this.updateCssVariables(node, prevProps.cssVariables, this.props.cssVariables);
this.updateEventListeners(node, prevProps.eventListeners, this.props.eventListeners);
this.updateAttributes(node, prevProps.attributes, this.props.attributes);
}
}
}, {
key: 'render',
value: function render() {
if (this.props.children != null) {
return this.props.children;
} else {
throw Error('Child were not given');
}
}
}]);
return NativeDOMAdapter;
}(_react2.default.Component);
NativeDOMAdapter.prototype.removeAttributes = function (dom, toRemove) {
forEach(toRemove, function (value, key) {
if (dom.getAttribute(key) === value) {
dom.removeAttribute(key);
}
});
};
NativeDOMAdapter.prototype.addAttributes = function (dom, toAdd) {
forEach(toAdd, function (value, key) {
if (dom.getAttribute(key) !== value) {
dom.setAttribute(key, value);
}
});
};
NativeDOMAdapter.prototype.updateAttributes = function (dom, prev, next) {
var toRemove = {};
var toAdd = {};
forEach(prev, function (value, key) {
if (next[key] !== value) {
toRemove[key] = value;
}
});
forEach(next, function (value, key) {
if (prev[key] !== value) {
toAdd[key] = value;
}
});
this.removeAttributes(dom, toRemove);
this.addAttributes(dom, toAdd);
};
return NativeDOMAdapter;
}(React.Component));
NativeDOMAdapter.defaultProps = {
cssVariables: {},
eventListeners: {},
attributes: {}
cssVariables: {},
eventListeners: {},
attributes: {},
};
exports.default = NativeDOMAdapter;
exports.default = NativeDOMAdapter;
//# sourceMappingURL=native-dom-adapter.js.map

@@ -1,7 +0,3 @@

'use strict';
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=types.js.map

@@ -1,8 +0,3 @@

'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/**

@@ -22,21 +17,28 @@ * Decorate event handler function with default handler.

*/
eventHandlerDecorator = eventHandlerDecorator;
function eventHandlerDecorator(defaultHandler) {
return function (handler) {
return function (evt) {
for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
if (handler != null) {
handler.apply(undefined, [evt].concat(args));
}
if (!evt.isDefaultPrevented()) {
defaultHandler.apply(undefined, [evt].concat(args));
}
};
};
return function (handler) { return function (evt) {
if (handler != null) {
handler(evt);
}
if (!evt.isDefaultPrevented()) {
defaultHandler(evt);
}
}; };
}
exports.eventHandlerDecorator = eventHandlerDecorator;
/**
* Common utilities
*/
* Array inclusion tester
*/
function includes(array, item, predicate) {
if (predicate === void 0) { predicate = function (x, y) { return x === y; }; }
// tslint:disable:prefer-for-of
for (var i = 0; i < array.length; i++) {
var itemAtIndex = array[i];
if (predicate(item, itemAtIndex)) {
return true;
}
}
return false;
}
exports.includes = includes;
//# sourceMappingURL=util.js.map
{
"name": "@react-mdc/base",
"description": "Core library of @react-mdc components",
"version": "0.1.2",
"version": "0.1.3",
"license": "MIT",
"main": "lib/index",
"typings": "lib/index.d.ts",
"repository": {

@@ -12,7 +13,24 @@ "type": "git",

"dependencies": {
"@types/classnames": "0.0.32",
"@types/react": "^15.0.18",
"@types/react-dom": "^0.14.23",
"classnames": "^2.2.5",
"immutable": "^3.8.1",
"lodash.foreach": "^4.5.0",
"react": "^15.4.2",
"react-dom": "^15.4.2"
},
"devDependencies": {
"shelljs": "^0.7.7",
"shx": "^0.2.2",
"tslint": "^4.5.1",
"tslint-react": "^2.5.0",
"typescript": "^2.2.1"
},
"scripts": {
"build": "tsc",
"watch": "tsc --watch",
"prepublish": "npm run build",
"clean": "shx rm -rf lib/"
}
}
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