@khanacademy/wonder-blocks-icon
Advanced tools
Comparing version 1.2.21 to 1.2.22
@@ -85,3 +85,3 @@ module.exports = | ||
/******/ // Load entry module and return exports | ||
/******/ return __webpack_require__(__webpack_require__.s = 5); | ||
/******/ return __webpack_require__(__webpack_require__.s = 6); | ||
/******/ }) | ||
@@ -97,89 +97,7 @@ /************************************************************************/ | ||
/* 1 */ | ||
/***/ (function(module, exports) { | ||
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; | ||
/***/ }), | ||
/* 2 */ | ||
/***/ (function(module, exports) { | ||
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"); | ||
/***/ }), | ||
/* 5 */ | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
"use strict"; | ||
// ESM COMPAT FLAG | ||
__webpack_require__.r(__webpack_exports__); | ||
// EXPORTS | ||
__webpack_require__.d(__webpack_exports__, "icons", function() { return /* reexport */ icon_assets; }); | ||
// 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" | ||
var external_react_ = __webpack_require__(0); | ||
// EXTERNAL MODULE: external "aphrodite" | ||
var external_aphrodite_ = __webpack_require__(3); | ||
// EXTERNAL MODULE: external "@khanacademy/wonder-blocks-core" | ||
var wonder_blocks_core_ = __webpack_require__(4); | ||
// CONCATENATED MODULE: ./packages/wonder-blocks-icon/src/util/icon-util.js | ||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return viewportPixelsForSize; }); | ||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getPathForIcon; }); | ||
/** | ||
@@ -240,93 +158,12 @@ * A simple function that tells us how many viewport pixels each icon size | ||
}; | ||
// CONCATENATED MODULE: ./packages/wonder-blocks-icon/src/components/icon.js | ||
/***/ }), | ||
/* 2 */ | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
const _excluded = ["color", "icon", "size", "style"]; | ||
const StyledSVG = Object(wonder_blocks_core_["addStyle"])("svg"); | ||
"use strict"; | ||
/** | ||
* An Icon displays a small informational or decorative image as an SVG. | ||
* | ||
* ```js | ||
* import Icon, {icons} from "@khanacademy/wonder-blocks-icon"; | ||
* | ||
* <Icon | ||
* icon={icons.search} | ||
* color={Color.white} | ||
* size="medium" | ||
* style={{margin: 4}} | ||
* /> | ||
* ``` | ||
* | ||
* Wonder Blocks comes with a fixed set of icons available by importing `icons`, | ||
* but you can also provide your own `IconAsset`. | ||
* | ||
* ```js | ||
* import Icon from "@khanacademy/wonder-blocks-icon"; | ||
* import type {IconAsset} from "@khanacademy/wonder-blocks-icon"; | ||
* | ||
* // Easter egg: what shape am I? | ||
* const customIcon: IconAsset = { | ||
* small: "M6.92820 0L13.85640 4L13.85640 12L6.92820 16L0 12L0 4Z", | ||
* }; | ||
* ``` | ||
* | ||
* `IconAsset` should be in the following format: | ||
* ```js | ||
* {small?: string, medium?: string, large?: string, xlarge?: string} | ||
* ``` | ||
* | ||
* These icons should fit into a viewport of 16, 24, 48, and 96 pixels, | ||
* respectively. | ||
*/ | ||
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); | ||
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 | ||
})); | ||
} | ||
} | ||
icon_Icon.defaultProps = { | ||
color: "currentColor", | ||
size: "small" | ||
}; | ||
const styles = external_aphrodite_["StyleSheet"].create({ | ||
svg: { | ||
display: "inline-block", | ||
verticalAlign: "text-bottom", | ||
flexShrink: 0, | ||
flexGrow: 0 | ||
} | ||
}); | ||
// CONCATENATED MODULE: ./packages/wonder-blocks-icon/src/util/icon-assets.js | ||
/** | ||
* The source SVG paths for our icons at various sizes | ||
*/ | ||
/* harmony default export */ var icon_assets = ({ | ||
/* harmony default export */ __webpack_exports__["a"] = ({ | ||
add: { | ||
@@ -402,9 +239,127 @@ medium: "M11 11V7a1 1 0 0 1 2 0v4h4a1 1 0 0 1 0 2h-4v4a1 1 0 0 1-2 0v-4H7a1 1 0 0 1 0-2h4zm1 13C5.373 24 0 18.627 0 12S5.373 0 12 0s12 5.373 12 12-5.373 12-12 12zm0-2c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10z" | ||
}); | ||
// CONCATENATED MODULE: ./packages/wonder-blocks-icon/src/index.js | ||
/***/ }), | ||
/* 3 */ | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
"use strict"; | ||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Icon; }); | ||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0); | ||
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); | ||
/* harmony import */ var aphrodite__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); | ||
/* harmony import */ var aphrodite__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(aphrodite__WEBPACK_IMPORTED_MODULE_1__); | ||
/* harmony import */ var _khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5); | ||
/* harmony import */ var _khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_2__); | ||
/* harmony import */ var _util_icon_util_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1); | ||
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); } | ||
/* harmony default export */ var src = __webpack_exports__["default"] = (icon_Icon); | ||
const StyledSVG = Object(_khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_2__["addStyle"])("svg"); | ||
/** | ||
* An Icon displays a small informational or decorative image as an SVG. | ||
* | ||
* ```js | ||
* import Icon, {icons} from "@khanacademy/wonder-blocks-icon"; | ||
* | ||
* <Icon | ||
* icon={icons.search} | ||
* color={Color.white} | ||
* size="medium" | ||
* style={{margin: 4}} | ||
* /> | ||
* ``` | ||
* | ||
* Wonder Blocks comes with a fixed set of icons available by importing `icons`, | ||
* but you can also provide your own `IconAsset`. | ||
* | ||
* ```js | ||
* import Icon from "@khanacademy/wonder-blocks-icon"; | ||
* import type {IconAsset} from "@khanacademy/wonder-blocks-icon"; | ||
* | ||
* // Easter egg: what shape am I? | ||
* const customIcon: IconAsset = { | ||
* small: "M6.92820 0L13.85640 4L13.85640 12L6.92820 16L0 12L0 4Z", | ||
* }; | ||
* ``` | ||
* | ||
* `IconAsset` should be in the following format: | ||
* ```js | ||
* {small?: string, medium?: string, large?: string, xlarge?: string} | ||
* ``` | ||
* | ||
* These icons should fit into a viewport of 16, 24, 48, and 96 pixels, | ||
* respectively. | ||
*/ | ||
class Icon extends react__WEBPACK_IMPORTED_MODULE_0__["PureComponent"] { | ||
render() { | ||
const { | ||
color, | ||
icon, | ||
size, | ||
style, | ||
...sharedProps | ||
} = this.props; | ||
const { | ||
assetSize, | ||
path | ||
} = Object(_util_icon_util_js__WEBPACK_IMPORTED_MODULE_3__[/* getPathForIcon */ "a"])(icon, size); | ||
const pixelSize = Object(_util_icon_util_js__WEBPACK_IMPORTED_MODULE_3__[/* viewportPixelsForSize */ "b"])(size); | ||
const viewboxPixelSize = Object(_util_icon_util_js__WEBPACK_IMPORTED_MODULE_3__[/* viewportPixelsForSize */ "b"])(assetSize); | ||
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](StyledSVG, _extends({}, sharedProps, { | ||
style: [styles.svg, style], | ||
width: pixelSize, | ||
height: pixelSize, | ||
viewBox: `0 0 ${viewboxPixelSize} ${viewboxPixelSize}` | ||
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("path", { | ||
fill: color, | ||
d: path | ||
})); | ||
} | ||
} | ||
Icon.defaultProps = { | ||
color: "currentColor", | ||
size: "small" | ||
}; | ||
const styles = aphrodite__WEBPACK_IMPORTED_MODULE_1__["StyleSheet"].create({ | ||
svg: { | ||
display: "inline-block", | ||
verticalAlign: "text-bottom", | ||
flexShrink: 0, | ||
flexGrow: 0 | ||
} | ||
}); | ||
/***/ }), | ||
/* 4 */ | ||
/***/ (function(module, exports) { | ||
module.exports = require("aphrodite"); | ||
/***/ }), | ||
/* 5 */ | ||
/***/ (function(module, exports) { | ||
module.exports = require("@khanacademy/wonder-blocks-core"); | ||
/***/ }), | ||
/* 6 */ | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
"use strict"; | ||
__webpack_require__.r(__webpack_exports__); | ||
/* harmony import */ var _components_icon_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3); | ||
/* harmony import */ var _util_icon_assets_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2); | ||
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "icons", function() { return _util_icon_assets_js__WEBPACK_IMPORTED_MODULE_1__["a"]; }); | ||
/* harmony default export */ __webpack_exports__["default"] = (_components_icon_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"]); | ||
/***/ }) | ||
/******/ ]); |
{ | ||
"name": "@khanacademy/wonder-blocks-icon", | ||
"version": "1.2.21", | ||
"version": "1.2.22", | ||
"design": "v1", | ||
@@ -19,6 +19,6 @@ "publishConfig": { | ||
"@babel/runtime": "^7.13.10", | ||
"@khanacademy/wonder-blocks-core": "^3.1.4" | ||
"@khanacademy/wonder-blocks-core": "^3.1.5" | ||
}, | ||
"devDependencies": { | ||
"wb-dev-build-settings": "^0.1.0" | ||
"wb-dev-build-settings": "^0.1.2" | ||
}, | ||
@@ -29,3 +29,3 @@ "peerDependencies": { | ||
}, | ||
"gitHead": "8022bb419eed74be37f71f71c7621854794a731c" | ||
"gitHead": "9a9cc04bf2bbfb425f991a347b4f8b0d0d56e120" | ||
} |
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
87729
1314