@khanacademy/wonder-blocks-icon
Advanced tools
Comparing version 1.2.20 to 1.2.21
@@ -1,175 +0,7 @@ | ||
import { createElement, PureComponent } from 'react'; | ||
import _extends from '@babel/runtime/helpers/extends'; | ||
import _objectWithoutPropertiesLoose from '@babel/runtime/helpers/objectWithoutPropertiesLoose'; | ||
import { PureComponent, createElement } from 'react'; | ||
import { StyleSheet } from 'aphrodite'; | ||
import { addStyle } from '@khanacademy/wonder-blocks-core'; | ||
function _classCallCheck(instance, Constructor) { | ||
if (!(instance instanceof Constructor)) { | ||
throw new TypeError("Cannot call a class as a 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); | ||
} | ||
} | ||
function _createClass(Constructor, protoProps, staticProps) { | ||
if (protoProps) _defineProperties(Constructor.prototype, protoProps); | ||
if (staticProps) _defineProperties(Constructor, staticProps); | ||
return Constructor; | ||
} | ||
function _defineProperty(obj, key, value) { | ||
if (key in obj) { | ||
Object.defineProperty(obj, key, { | ||
value: value, | ||
enumerable: true, | ||
configurable: true, | ||
writable: true | ||
}); | ||
} else { | ||
obj[key] = value; | ||
} | ||
return obj; | ||
} | ||
function _extends() { | ||
_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; | ||
}; | ||
return _extends.apply(this, arguments); | ||
} | ||
function _inherits(subClass, superClass) { | ||
if (typeof superClass !== "function" && superClass !== null) { | ||
throw new TypeError("Super expression must either be null or a function"); | ||
} | ||
subClass.prototype = Object.create(superClass && superClass.prototype, { | ||
constructor: { | ||
value: subClass, | ||
writable: true, | ||
configurable: true | ||
} | ||
}); | ||
if (superClass) _setPrototypeOf(subClass, superClass); | ||
} | ||
function _getPrototypeOf(o) { | ||
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { | ||
return o.__proto__ || Object.getPrototypeOf(o); | ||
}; | ||
return _getPrototypeOf(o); | ||
} | ||
function _setPrototypeOf(o, p) { | ||
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { | ||
o.__proto__ = p; | ||
return o; | ||
}; | ||
return _setPrototypeOf(o, p); | ||
} | ||
function _isNativeReflectConstruct() { | ||
if (typeof Reflect === "undefined" || !Reflect.construct) return false; | ||
if (Reflect.construct.sham) return false; | ||
if (typeof Proxy === "function") return true; | ||
try { | ||
Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); | ||
return true; | ||
} catch (e) { | ||
return false; | ||
} | ||
} | ||
function _objectWithoutPropertiesLoose(source, excluded) { | ||
if (source == null) return {}; | ||
var target = {}; | ||
var sourceKeys = Object.keys(source); | ||
var key, i; | ||
for (i = 0; i < sourceKeys.length; i++) { | ||
key = sourceKeys[i]; | ||
if (excluded.indexOf(key) >= 0) continue; | ||
target[key] = source[key]; | ||
} | ||
return target; | ||
} | ||
function _objectWithoutProperties(source, excluded) { | ||
if (source == null) return {}; | ||
var target = _objectWithoutPropertiesLoose(source, excluded); | ||
var key, i; | ||
if (Object.getOwnPropertySymbols) { | ||
var sourceSymbolKeys = Object.getOwnPropertySymbols(source); | ||
for (i = 0; i < sourceSymbolKeys.length; i++) { | ||
key = sourceSymbolKeys[i]; | ||
if (excluded.indexOf(key) >= 0) continue; | ||
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; | ||
target[key] = source[key]; | ||
} | ||
} | ||
return target; | ||
} | ||
function _assertThisInitialized(self) { | ||
if (self === void 0) { | ||
throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); | ||
} | ||
return self; | ||
} | ||
function _possibleConstructorReturn(self, call) { | ||
if (call && (typeof call === "object" || typeof call === "function")) { | ||
return call; | ||
} | ||
return _assertThisInitialized(self); | ||
} | ||
function _createSuper(Derived) { | ||
var hasNativeReflectConstruct = _isNativeReflectConstruct(); | ||
return function _createSuperInternal() { | ||
var Super = _getPrototypeOf(Derived), | ||
result; | ||
if (hasNativeReflectConstruct) { | ||
var NewTarget = _getPrototypeOf(this).constructor; | ||
result = Reflect.construct(Super, arguments, NewTarget); | ||
} else { | ||
result = Super.apply(this, arguments); | ||
} | ||
return _possibleConstructorReturn(this, result); | ||
}; | ||
} | ||
/** | ||
@@ -179,10 +11,8 @@ * A simple function that tells us how many viewport pixels each icon size | ||
*/ | ||
var viewportPixelsForSize = function viewportPixelsForSize(size) { | ||
return { | ||
small: 16, | ||
medium: 24, | ||
large: 48, | ||
xlarge: 96 | ||
}[size]; | ||
}; | ||
const viewportPixelsForSize = size => ({ | ||
small: 16, | ||
medium: 24, | ||
large: 48, | ||
xlarge: 96 | ||
})[size]; | ||
/** | ||
@@ -200,3 +30,3 @@ * A utility to find the right asset from an IconAsset to display in an icon | ||
var getPathForIcon = function getPathForIcon(icon, size) { | ||
const getPathForIcon = (icon, size) => { | ||
if (icon[size]) { | ||
@@ -212,15 +42,13 @@ // Great, we have the IconSize we actually requested | ||
// using a larger icon and shrinking it such that detail may be lost. | ||
var desiredPixelSize = viewportPixelsForSize(size); | ||
var availableSizes = Object.keys(icon); | ||
const desiredPixelSize = viewportPixelsForSize(size); | ||
const availableSizes = Object.keys(icon); | ||
var sortFn = function sortFn(availableSize) { | ||
var availablePixelSize = viewportPixelsForSize(availableSize); | ||
var tooLargeByPixels = availablePixelSize - desiredPixelSize; | ||
const sortFn = availableSize => { | ||
const availablePixelSize = viewportPixelsForSize(availableSize); | ||
const tooLargeByPixels = availablePixelSize - desiredPixelSize; | ||
return tooLargeByPixels > 0 ? Number.POSITIVE_INFINITY : Math.abs(tooLargeByPixels); | ||
}; | ||
var assetSizes = availableSizes.sort(function (a, b) { | ||
return sortFn(a) - sortFn(b); | ||
}); | ||
var bestAssetSize = assetSizes[0]; | ||
const assetSizes = availableSizes.sort((a, b) => sortFn(a) - sortFn(b)); | ||
const bestAssetSize = assetSizes[0]; | ||
@@ -238,3 +66,4 @@ if (bestAssetSize && icon[bestAssetSize]) { | ||
var StyledSVG = addStyle("svg"); | ||
const _excluded = ["color", "icon", "size", "style"]; | ||
const StyledSVG = addStyle("svg"); | ||
/** | ||
@@ -276,49 +105,36 @@ * An Icon displays a small informational or decorative image as an SVG. | ||
var Icon = /*#__PURE__*/function (_React$PureComponent) { | ||
_inherits(Icon, _React$PureComponent); | ||
class Icon extends PureComponent { | ||
render() { | ||
const _this$props = this.props, | ||
{ | ||
color, | ||
icon, | ||
size, | ||
style | ||
} = _this$props, | ||
sharedProps = _objectWithoutPropertiesLoose(_this$props, _excluded); | ||
var _super = _createSuper(Icon); | ||
function Icon() { | ||
_classCallCheck(this, Icon); | ||
return _super.apply(this, arguments); | ||
const { | ||
assetSize, | ||
path | ||
} = getPathForIcon(icon, size); | ||
const pixelSize = viewportPixelsForSize(size); | ||
const viewboxPixelSize = viewportPixelsForSize(assetSize); | ||
return /*#__PURE__*/createElement(StyledSVG, _extends({}, sharedProps, { | ||
style: [styles.svg, style], | ||
width: pixelSize, | ||
height: pixelSize, | ||
viewBox: `0 0 ${viewboxPixelSize} ${viewboxPixelSize}` | ||
}), /*#__PURE__*/createElement("path", { | ||
fill: color, | ||
d: path | ||
})); | ||
} | ||
_createClass(Icon, [{ | ||
key: "render", | ||
value: function render() { | ||
var _this$props = this.props, | ||
color = _this$props.color, | ||
icon = _this$props.icon, | ||
size = _this$props.size, | ||
style = _this$props.style, | ||
sharedProps = _objectWithoutProperties(_this$props, ["color", "icon", "size", "style"]); | ||
var _getPathForIcon = getPathForIcon(icon, size), | ||
assetSize = _getPathForIcon.assetSize, | ||
path = _getPathForIcon.path; | ||
var pixelSize = viewportPixelsForSize(size); | ||
var viewboxPixelSize = viewportPixelsForSize(assetSize); | ||
return /*#__PURE__*/createElement(StyledSVG, _extends({}, sharedProps, { | ||
style: [styles.svg, style], | ||
width: pixelSize, | ||
height: pixelSize, | ||
viewBox: "0 0 ".concat(viewboxPixelSize, " ").concat(viewboxPixelSize) | ||
}), /*#__PURE__*/createElement("path", { | ||
fill: color, | ||
d: path | ||
})); | ||
} | ||
}]); | ||
return Icon; | ||
}(PureComponent); | ||
_defineProperty(Icon, "defaultProps", { | ||
} | ||
Icon.defaultProps = { | ||
color: "currentColor", | ||
size: "small" | ||
}); | ||
var styles = StyleSheet.create({ | ||
}; | ||
const styles = StyleSheet.create({ | ||
svg: { | ||
@@ -325,0 +141,0 @@ display: "inline-block", |
@@ -85,3 +85,3 @@ module.exports = | ||
/******/ // Load entry module and return exports | ||
/******/ return __webpack_require__(__webpack_require__.s = 3); | ||
/******/ return __webpack_require__(__webpack_require__.s = 5); | ||
/******/ }) | ||
@@ -99,4 +99,24 @@ /************************************************************************/ | ||
module.exports = require("aphrodite"); | ||
function _extends() { | ||
module.exports = _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; | ||
}; | ||
module.exports["default"] = module.exports, module.exports.__esModule = true; | ||
return _extends.apply(this, arguments); | ||
} | ||
module.exports = _extends; | ||
module.exports["default"] = module.exports, module.exports.__esModule = true; | ||
/***/ }), | ||
@@ -106,6 +126,34 @@ /* 2 */ | ||
function _objectWithoutPropertiesLoose(source, excluded) { | ||
if (source == null) return {}; | ||
var target = {}; | ||
var sourceKeys = Object.keys(source); | ||
var key, i; | ||
for (i = 0; i < sourceKeys.length; i++) { | ||
key = sourceKeys[i]; | ||
if (excluded.indexOf(key) >= 0) continue; | ||
target[key] = source[key]; | ||
} | ||
return target; | ||
} | ||
module.exports = _objectWithoutPropertiesLoose; | ||
module.exports["default"] = module.exports, module.exports.__esModule = true; | ||
/***/ }), | ||
/* 3 */ | ||
/***/ (function(module, exports) { | ||
module.exports = require("aphrodite"); | ||
/***/ }), | ||
/* 4 */ | ||
/***/ (function(module, exports) { | ||
module.exports = require("@khanacademy/wonder-blocks-core"); | ||
/***/ }), | ||
/* 3 */ | ||
/* 5 */ | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
@@ -120,2 +168,10 @@ | ||
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/extends.js | ||
var helpers_extends = __webpack_require__(1); | ||
var extends_default = /*#__PURE__*/__webpack_require__.n(helpers_extends); | ||
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js | ||
var objectWithoutPropertiesLoose = __webpack_require__(2); | ||
var objectWithoutPropertiesLoose_default = /*#__PURE__*/__webpack_require__.n(objectWithoutPropertiesLoose); | ||
// EXTERNAL MODULE: external "react" | ||
@@ -125,6 +181,6 @@ var external_react_ = __webpack_require__(0); | ||
// EXTERNAL MODULE: external "aphrodite" | ||
var external_aphrodite_ = __webpack_require__(1); | ||
var external_aphrodite_ = __webpack_require__(3); | ||
// EXTERNAL MODULE: external "@khanacademy/wonder-blocks-core" | ||
var wonder_blocks_core_ = __webpack_require__(2); | ||
var wonder_blocks_core_ = __webpack_require__(4); | ||
@@ -136,10 +192,8 @@ // CONCATENATED MODULE: ./packages/wonder-blocks-icon/src/util/icon-util.js | ||
*/ | ||
var viewportPixelsForSize = function viewportPixelsForSize(size) { | ||
return { | ||
small: 16, | ||
medium: 24, | ||
large: 48, | ||
xlarge: 96 | ||
}[size]; | ||
}; | ||
const viewportPixelsForSize = size => ({ | ||
small: 16, | ||
medium: 24, | ||
large: 48, | ||
xlarge: 96 | ||
})[size]; | ||
/** | ||
@@ -157,3 +211,3 @@ * A utility to find the right asset from an IconAsset to display in an icon | ||
var getPathForIcon = function getPathForIcon(icon, size) { | ||
const getPathForIcon = (icon, size) => { | ||
if (icon[size]) { | ||
@@ -169,15 +223,13 @@ // Great, we have the IconSize we actually requested | ||
// using a larger icon and shrinking it such that detail may be lost. | ||
var desiredPixelSize = viewportPixelsForSize(size); | ||
var availableSizes = Object.keys(icon); | ||
const desiredPixelSize = viewportPixelsForSize(size); | ||
const availableSizes = Object.keys(icon); | ||
var sortFn = function sortFn(availableSize) { | ||
var availablePixelSize = viewportPixelsForSize(availableSize); | ||
var tooLargeByPixels = availablePixelSize - desiredPixelSize; | ||
const sortFn = availableSize => { | ||
const availablePixelSize = viewportPixelsForSize(availableSize); | ||
const tooLargeByPixels = availablePixelSize - desiredPixelSize; | ||
return tooLargeByPixels > 0 ? Number.POSITIVE_INFINITY : Math.abs(tooLargeByPixels); | ||
}; | ||
var assetSizes = availableSizes.sort(function (a, b) { | ||
return sortFn(a) - sortFn(b); | ||
}); | ||
var bestAssetSize = assetSizes[0]; | ||
const assetSizes = availableSizes.sort((a, b) => sortFn(a) - sortFn(b)); | ||
const bestAssetSize = assetSizes[0]; | ||
@@ -195,37 +247,10 @@ if (bestAssetSize && icon[bestAssetSize]) { | ||
// CONCATENATED MODULE: ./packages/wonder-blocks-icon/src/components/icon.js | ||
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } | ||
function _extends() { _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; }; return _extends.apply(this, arguments); } | ||
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } | ||
const _excluded = ["color", "icon", "size", "style"]; | ||
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } | ||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a 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); } } | ||
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } | ||
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } | ||
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } | ||
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } | ||
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } | ||
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } | ||
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } | ||
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } | ||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | ||
var StyledSVG = Object(wonder_blocks_core_["addStyle"])("svg"); | ||
const StyledSVG = Object(wonder_blocks_core_["addStyle"])("svg"); | ||
/** | ||
@@ -267,51 +292,36 @@ * An Icon displays a small informational or decorative image as an SVG. | ||
var icon_Icon = /*#__PURE__*/function (_React$PureComponent) { | ||
_inherits(Icon, _React$PureComponent); | ||
class icon_Icon extends external_react_["PureComponent"] { | ||
render() { | ||
const _this$props = this.props, | ||
{ | ||
color, | ||
icon, | ||
size, | ||
style | ||
} = _this$props, | ||
sharedProps = objectWithoutPropertiesLoose_default()(_this$props, _excluded); | ||
var _super = _createSuper(Icon); | ||
function Icon() { | ||
_classCallCheck(this, Icon); | ||
return _super.apply(this, arguments); | ||
const { | ||
assetSize, | ||
path | ||
} = getPathForIcon(icon, size); | ||
const pixelSize = viewportPixelsForSize(size); | ||
const viewboxPixelSize = viewportPixelsForSize(assetSize); | ||
return /*#__PURE__*/external_react_["createElement"](StyledSVG, extends_default()({}, sharedProps, { | ||
style: [styles.svg, style], | ||
width: pixelSize, | ||
height: pixelSize, | ||
viewBox: `0 0 ${viewboxPixelSize} ${viewboxPixelSize}` | ||
}), /*#__PURE__*/external_react_["createElement"]("path", { | ||
fill: color, | ||
d: path | ||
})); | ||
} | ||
_createClass(Icon, [{ | ||
key: "render", | ||
value: function render() { | ||
var _this$props = this.props, | ||
color = _this$props.color, | ||
icon = _this$props.icon, | ||
size = _this$props.size, | ||
style = _this$props.style, | ||
sharedProps = _objectWithoutProperties(_this$props, ["color", "icon", "size", "style"]); | ||
var _getPathForIcon = getPathForIcon(icon, size), | ||
assetSize = _getPathForIcon.assetSize, | ||
path = _getPathForIcon.path; | ||
var pixelSize = viewportPixelsForSize(size); | ||
var viewboxPixelSize = viewportPixelsForSize(assetSize); | ||
return /*#__PURE__*/external_react_["createElement"](StyledSVG, _extends({}, sharedProps, { | ||
style: [styles.svg, style], | ||
width: pixelSize, | ||
height: pixelSize, | ||
viewBox: "0 0 ".concat(viewboxPixelSize, " ").concat(viewboxPixelSize) | ||
}), /*#__PURE__*/external_react_["createElement"]("path", { | ||
fill: color, | ||
d: path | ||
})); | ||
} | ||
}]); | ||
return Icon; | ||
}(external_react_["PureComponent"]); | ||
_defineProperty(icon_Icon, "defaultProps", { | ||
} | ||
icon_Icon.defaultProps = { | ||
color: "currentColor", | ||
size: "small" | ||
}); | ||
var styles = external_aphrodite_["StyleSheet"].create({ | ||
}; | ||
const styles = external_aphrodite_["StyleSheet"].create({ | ||
svg: { | ||
@@ -318,0 +328,0 @@ display: "inline-block", |
{ | ||
"name": "@khanacademy/wonder-blocks-icon", | ||
"version": "1.2.20", | ||
"version": "1.2.21", | ||
"design": "v1", | ||
@@ -18,6 +18,7 @@ "publishConfig": { | ||
"dependencies": { | ||
"@khanacademy/wonder-blocks-core": "^3.1.3" | ||
"@babel/runtime": "^7.13.10", | ||
"@khanacademy/wonder-blocks-core": "^3.1.4" | ||
}, | ||
"devDependencies": { | ||
"wb-dev-build-settings": "^0.0.4" | ||
"wb-dev-build-settings": "^0.1.0" | ||
}, | ||
@@ -28,3 +29,3 @@ "peerDependencies": { | ||
}, | ||
"gitHead": "b7d7425c7f2e02cd9b9ac6ac7e9fe12ead2bd8ab" | ||
"gitHead": "8022bb419eed74be37f71f71c7621854794a731c" | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
87650
4
16
1345