@khanacademy/wonder-blocks-icon-button
Advanced tools
Comparing version 3.3.12 to 3.3.13
@@ -1,2 +0,4 @@ | ||
import { createElement, Component } from 'react'; | ||
import _extends from '@babel/runtime/helpers/extends'; | ||
import _objectWithoutPropertiesLoose from '@babel/runtime/helpers/objectWithoutPropertiesLoose'; | ||
import { Component, createElement } from 'react'; | ||
import { any } from 'prop-types'; | ||
@@ -10,280 +12,64 @@ import { isClientSideUrl, getClickableBehavior } from '@khanacademy/wonder-blocks-clickable'; | ||
function _classCallCheck(instance, Constructor) { | ||
if (!(instance instanceof Constructor)) { | ||
throw new TypeError("Cannot call a class as a function"); | ||
} | ||
} | ||
const _excluded = ["skipClientNav", "color", "disabled", "focused", "hovered", "href", "icon", "kind", "light", "pressed", "style", "testId", "waiting"]; | ||
const StyledAnchor = addStyle("a"); | ||
const StyledButton = addStyle("button"); | ||
const StyledLink = addStyle(Link); | ||
class IconButtonCore extends Component { | ||
render() { | ||
const _this$props = this.props, | ||
{ | ||
skipClientNav, | ||
color, | ||
disabled, | ||
focused, | ||
hovered, | ||
href, | ||
icon, | ||
kind, | ||
light, | ||
pressed, | ||
style, | ||
testId | ||
} = _this$props, | ||
restProps = _objectWithoutPropertiesLoose(_this$props, _excluded); | ||
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); | ||
} | ||
} | ||
const { | ||
router | ||
} = this.context; | ||
const buttonColor = color === "destructive" ? SemanticColor.controlDestructive : SemanticColor.controlDefault; | ||
function _createClass(Constructor, protoProps, staticProps) { | ||
if (protoProps) _defineProperties(Constructor.prototype, protoProps); | ||
if (staticProps) _defineProperties(Constructor, staticProps); | ||
return Constructor; | ||
} | ||
const buttonStyles = _generateStyles(buttonColor, kind, light); | ||
function _defineProperty(obj, key, value) { | ||
if (key in obj) { | ||
Object.defineProperty(obj, key, { | ||
value: value, | ||
enumerable: true, | ||
configurable: true, | ||
writable: true | ||
const defaultStyle = [sharedStyles.shared, disabled && sharedStyles.disabled, buttonStyles.default, disabled && buttonStyles.disabled, !disabled && (pressed ? buttonStyles.active : (hovered || focused) && buttonStyles.focus)]; | ||
const child = /*#__PURE__*/createElement(Icon, { | ||
size: "medium", | ||
color: "currentColor", | ||
icon: icon | ||
}); | ||
} else { | ||
obj[key] = value; | ||
} | ||
return obj; | ||
} | ||
const commonProps = _extends({ | ||
"data-test-id": testId, | ||
style: [defaultStyle, style] | ||
}, restProps); | ||
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 ownKeys(object, enumerableOnly) { | ||
var keys = Object.keys(object); | ||
if (Object.getOwnPropertySymbols) { | ||
var symbols = Object.getOwnPropertySymbols(object); | ||
if (enumerableOnly) symbols = symbols.filter(function (sym) { | ||
return Object.getOwnPropertyDescriptor(object, sym).enumerable; | ||
}); | ||
keys.push.apply(keys, symbols); | ||
} | ||
return keys; | ||
} | ||
function _objectSpread2(target) { | ||
for (var i = 1; i < arguments.length; i++) { | ||
var source = arguments[i] != null ? arguments[i] : {}; | ||
if (i % 2) { | ||
ownKeys(Object(source), true).forEach(function (key) { | ||
_defineProperty(target, key, source[key]); | ||
}); | ||
} else if (Object.getOwnPropertyDescriptors) { | ||
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); | ||
if (href && !disabled) { | ||
return router && !skipClientNav && isClientSideUrl(href) ? /*#__PURE__*/createElement(StyledLink, _extends({}, commonProps, { | ||
to: href | ||
}), child) : /*#__PURE__*/createElement(StyledAnchor, _extends({}, commonProps, { | ||
href: href | ||
}), child); | ||
} else { | ||
ownKeys(Object(source)).forEach(function (key) { | ||
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); | ||
}); | ||
return /*#__PURE__*/createElement(StyledButton, _extends({ | ||
type: "button" | ||
}, commonProps, { | ||
disabled: disabled | ||
}), child); | ||
} | ||
} | ||
return target; | ||
} | ||
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); | ||
}; | ||
} | ||
var StyledAnchor = addStyle("a"); | ||
var StyledButton = addStyle("button"); | ||
var StyledLink = addStyle(Link); | ||
var IconButtonCore = /*#__PURE__*/function (_React$Component) { | ||
_inherits(IconButtonCore, _React$Component); | ||
var _super = _createSuper(IconButtonCore); | ||
function IconButtonCore() { | ||
_classCallCheck(this, IconButtonCore); | ||
return _super.apply(this, arguments); | ||
} | ||
_createClass(IconButtonCore, [{ | ||
key: "render", | ||
value: function render() { | ||
var _this$props = this.props, | ||
skipClientNav = _this$props.skipClientNav, | ||
color = _this$props.color, | ||
disabled = _this$props.disabled, | ||
focused = _this$props.focused, | ||
hovered = _this$props.hovered, | ||
href = _this$props.href, | ||
icon = _this$props.icon, | ||
kind = _this$props.kind, | ||
light = _this$props.light, | ||
pressed = _this$props.pressed, | ||
style = _this$props.style, | ||
testId = _this$props.testId, | ||
_ = _this$props.waiting, | ||
restProps = _objectWithoutProperties(_this$props, ["skipClientNav", "color", "disabled", "focused", "hovered", "href", "icon", "kind", "light", "pressed", "style", "testId", "waiting"]); | ||
var router = this.context.router; | ||
var buttonColor = color === "destructive" ? SemanticColor.controlDestructive : SemanticColor.controlDefault; | ||
var buttonStyles = _generateStyles(buttonColor, kind, light); | ||
var defaultStyle = [sharedStyles.shared, disabled && sharedStyles.disabled, buttonStyles.default, disabled && buttonStyles.disabled, !disabled && (pressed ? buttonStyles.active : (hovered || focused) && buttonStyles.focus)]; | ||
var child = /*#__PURE__*/createElement(Icon, { | ||
size: "medium", | ||
color: "currentColor", | ||
icon: icon | ||
}); | ||
var commonProps = _objectSpread2({ | ||
"data-test-id": testId, | ||
style: [defaultStyle, style] | ||
}, restProps); | ||
if (href && !disabled) { | ||
return router && !skipClientNav && isClientSideUrl(href) ? /*#__PURE__*/createElement(StyledLink, _extends({}, commonProps, { | ||
to: href | ||
}), child) : /*#__PURE__*/createElement(StyledAnchor, _extends({}, commonProps, { | ||
href: href | ||
}), child); | ||
} else { | ||
return /*#__PURE__*/createElement(StyledButton, _extends({ | ||
type: "button" | ||
}, commonProps, { | ||
disabled: disabled | ||
}), child); | ||
} | ||
} | ||
}]); | ||
return IconButtonCore; | ||
}(Component); | ||
_defineProperty(IconButtonCore, "contextTypes", { | ||
IconButtonCore.contextTypes = { | ||
router: any | ||
}); | ||
var sharedStyles = StyleSheet.create({ | ||
}; | ||
const sharedStyles = StyleSheet.create({ | ||
shared: { | ||
@@ -316,6 +102,6 @@ position: "relative", | ||
}); | ||
var styles = {}; | ||
const styles = {}; | ||
var _generateStyles = function _generateStyles(color, kind, light) { | ||
var buttonType = color + kind + light.toString(); | ||
const _generateStyles = (color, kind, light) => { | ||
const buttonType = color + kind + light.toString(); | ||
@@ -330,7 +116,9 @@ if (styles[buttonType]) { | ||
var white = Color.white, | ||
offBlack32 = Color.offBlack32, | ||
offBlack64 = Color.offBlack64, | ||
offBlack = Color.offBlack; | ||
var newStyles = { | ||
const { | ||
white, | ||
offBlack32, | ||
offBlack64, | ||
offBlack | ||
} = Color; | ||
const newStyles = { | ||
default: {}, | ||
@@ -377,2 +165,5 @@ focus: { | ||
const _excluded$1 = ["onClick", "href", "skipClientNav", "tabIndex", "target"], | ||
_excluded2 = ["tabIndex"]; | ||
/** | ||
@@ -414,56 +205,44 @@ * An IconButton is a button whose contents are an SVG image. | ||
*/ | ||
var IconButton = /*#__PURE__*/function (_React$Component) { | ||
_inherits(IconButton, _React$Component); | ||
class IconButton extends Component { | ||
render() { | ||
const _this$props = this.props, | ||
{ | ||
onClick, | ||
href, | ||
skipClientNav, | ||
tabIndex, | ||
target | ||
} = _this$props, | ||
sharedProps = _objectWithoutPropertiesLoose(_this$props, _excluded$1); | ||
var _super = _createSuper(IconButton); | ||
const ClickableBehavior = getClickableBehavior(href, skipClientNav, this.context.router); | ||
return /*#__PURE__*/createElement(ClickableBehavior, { | ||
disabled: sharedProps.disabled, | ||
href: href, | ||
onClick: onClick, | ||
role: "button", | ||
target: target | ||
}, (state, _ref) => { | ||
let { | ||
tabIndex: clickableTabIndex | ||
} = _ref, | ||
childrenProps = _objectWithoutPropertiesLoose(_ref, _excluded2); | ||
function IconButton() { | ||
_classCallCheck(this, IconButton); | ||
return _super.apply(this, arguments); | ||
return /*#__PURE__*/createElement(IconButtonCore, _extends({}, sharedProps, state, childrenProps, { | ||
skipClientNav: skipClientNav, | ||
href: href, | ||
target: target // If tabIndex is provide to the component we allow | ||
// it to override the tabIndex provide to use by | ||
// ClickableBehavior. | ||
, | ||
tabIndex: tabIndex || clickableTabIndex | ||
})); | ||
}); | ||
} | ||
_createClass(IconButton, [{ | ||
key: "render", | ||
value: function render() { | ||
var _this$props = this.props, | ||
onClick = _this$props.onClick, | ||
href = _this$props.href, | ||
skipClientNav = _this$props.skipClientNav, | ||
tabIndex = _this$props.tabIndex, | ||
target = _this$props.target, | ||
sharedProps = _objectWithoutProperties(_this$props, ["onClick", "href", "skipClientNav", "tabIndex", "target"]); | ||
var ClickableBehavior = getClickableBehavior(href, skipClientNav, this.context.router); | ||
return /*#__PURE__*/createElement(ClickableBehavior, { | ||
disabled: sharedProps.disabled, | ||
href: href, | ||
onClick: onClick, | ||
role: "button", | ||
target: target | ||
}, function (state, _ref) { | ||
var clickableTabIndex = _ref.tabIndex, | ||
childrenProps = _objectWithoutProperties(_ref, ["tabIndex"]); | ||
return /*#__PURE__*/createElement(IconButtonCore, _extends({}, sharedProps, state, childrenProps, { | ||
skipClientNav: skipClientNav, | ||
href: href, | ||
target: target // If tabIndex is provide to the component we allow | ||
// it to override the tabIndex provide to use by | ||
// ClickableBehavior. | ||
, | ||
tabIndex: tabIndex || clickableTabIndex | ||
})); | ||
}); | ||
} | ||
}]); | ||
return IconButton; | ||
}(Component); | ||
_defineProperty(IconButton, "contextTypes", { | ||
} | ||
IconButton.contextTypes = { | ||
router: any | ||
}); | ||
_defineProperty(IconButton, "defaultProps", { | ||
}; | ||
IconButton.defaultProps = { | ||
color: "default", | ||
@@ -473,4 +252,4 @@ kind: "primary", | ||
disabled: false | ||
}); | ||
}; | ||
export default IconButton; |
@@ -85,3 +85,3 @@ module.exports = | ||
/******/ // Load entry module and return exports | ||
/******/ return __webpack_require__(__webpack_require__.s = 8); | ||
/******/ return __webpack_require__(__webpack_require__.s = 10); | ||
/******/ }) | ||
@@ -105,4 +105,24 @@ /************************************************************************/ | ||
module.exports = require("prop-types"); | ||
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; | ||
/***/ }), | ||
@@ -112,4 +132,20 @@ /* 3 */ | ||
module.exports = require("@khanacademy/wonder-blocks-clickable"); | ||
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; | ||
/***/ }), | ||
@@ -119,3 +155,3 @@ /* 4 */ | ||
module.exports = require("@khanacademy/wonder-blocks-core"); | ||
module.exports = require("prop-types"); | ||
@@ -126,3 +162,3 @@ /***/ }), | ||
module.exports = require("aphrodite"); | ||
module.exports = require("@khanacademy/wonder-blocks-clickable"); | ||
@@ -133,3 +169,3 @@ /***/ }), | ||
module.exports = require("react-router-dom"); | ||
module.exports = require("@khanacademy/wonder-blocks-core"); | ||
@@ -140,6 +176,18 @@ /***/ }), | ||
module.exports = require("aphrodite"); | ||
/***/ }), | ||
/* 8 */ | ||
/***/ (function(module, exports) { | ||
module.exports = require("react-router-dom"); | ||
/***/ }), | ||
/* 9 */ | ||
/***/ (function(module, exports) { | ||
module.exports = require("@khanacademy/wonder-blocks-icon"); | ||
/***/ }), | ||
/* 8 */ | ||
/* 10 */ | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
@@ -154,2 +202,10 @@ | ||
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/extends.js | ||
var helpers_extends = __webpack_require__(2); | ||
var extends_default = /*#__PURE__*/__webpack_require__.n(helpers_extends); | ||
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js | ||
var objectWithoutPropertiesLoose = __webpack_require__(3); | ||
var objectWithoutPropertiesLoose_default = /*#__PURE__*/__webpack_require__.n(objectWithoutPropertiesLoose); | ||
// EXTERNAL MODULE: external "react" | ||
@@ -159,12 +215,12 @@ var external_react_ = __webpack_require__(1); | ||
// EXTERNAL MODULE: external "prop-types" | ||
var external_prop_types_ = __webpack_require__(2); | ||
var external_prop_types_ = __webpack_require__(4); | ||
// EXTERNAL MODULE: external "@khanacademy/wonder-blocks-clickable" | ||
var wonder_blocks_clickable_ = __webpack_require__(3); | ||
var wonder_blocks_clickable_ = __webpack_require__(5); | ||
// EXTERNAL MODULE: external "aphrodite" | ||
var external_aphrodite_ = __webpack_require__(5); | ||
var external_aphrodite_ = __webpack_require__(7); | ||
// EXTERNAL MODULE: external "react-router-dom" | ||
var external_react_router_dom_ = __webpack_require__(6); | ||
var external_react_router_dom_ = __webpack_require__(8); | ||
@@ -176,127 +232,81 @@ // EXTERNAL MODULE: external "@khanacademy/wonder-blocks-color" | ||
// EXTERNAL MODULE: external "@khanacademy/wonder-blocks-core" | ||
var wonder_blocks_core_ = __webpack_require__(4); | ||
var wonder_blocks_core_ = __webpack_require__(6); | ||
// EXTERNAL MODULE: external "@khanacademy/wonder-blocks-icon" | ||
var wonder_blocks_icon_ = __webpack_require__(7); | ||
var wonder_blocks_icon_ = __webpack_require__(9); | ||
var wonder_blocks_icon_default = /*#__PURE__*/__webpack_require__.n(wonder_blocks_icon_); | ||
// CONCATENATED MODULE: ./packages/wonder-blocks-icon-button/src/components/icon-button-core.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 ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } | ||
const _excluded = ["skipClientNav", "color", "disabled", "focused", "hovered", "href", "icon", "kind", "light", "pressed", "style", "testId", "waiting"]; | ||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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 _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); } | ||
const StyledAnchor = Object(wonder_blocks_core_["addStyle"])("a"); | ||
const StyledButton = Object(wonder_blocks_core_["addStyle"])("button"); | ||
const StyledLink = Object(wonder_blocks_core_["addStyle"])(external_react_router_dom_["Link"]); | ||
class icon_button_core_IconButtonCore extends external_react_["Component"] { | ||
render() { | ||
const _this$props = this.props, | ||
{ | ||
skipClientNav, | ||
color, | ||
disabled, | ||
focused, | ||
hovered, | ||
href, | ||
icon, | ||
kind, | ||
light, | ||
pressed, | ||
style, | ||
testId | ||
} = _this$props, | ||
restProps = objectWithoutPropertiesLoose_default()(_this$props, _excluded); | ||
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); }; } | ||
const { | ||
router | ||
} = this.context; | ||
const buttonColor = color === "destructive" ? wonder_blocks_color_["SemanticColor"].controlDestructive : wonder_blocks_color_["SemanticColor"].controlDefault; | ||
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } | ||
const buttonStyles = _generateStyles(buttonColor, kind, light); | ||
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } | ||
const defaultStyle = [sharedStyles.shared, disabled && sharedStyles.disabled, buttonStyles.default, disabled && buttonStyles.disabled, !disabled && (pressed ? buttonStyles.active : (hovered || focused) && buttonStyles.focus)]; | ||
const child = /*#__PURE__*/external_react_["createElement"](wonder_blocks_icon_default.a, { | ||
size: "medium", | ||
color: "currentColor", | ||
icon: icon | ||
}); | ||
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; } } | ||
const commonProps = extends_default()({ | ||
"data-test-id": testId, | ||
style: [defaultStyle, style] | ||
}, restProps); | ||
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 StyledAnchor = Object(wonder_blocks_core_["addStyle"])("a"); | ||
var StyledButton = Object(wonder_blocks_core_["addStyle"])("button"); | ||
var StyledLink = Object(wonder_blocks_core_["addStyle"])(external_react_router_dom_["Link"]); | ||
var icon_button_core_IconButtonCore = /*#__PURE__*/function (_React$Component) { | ||
_inherits(IconButtonCore, _React$Component); | ||
var _super = _createSuper(IconButtonCore); | ||
function IconButtonCore() { | ||
_classCallCheck(this, IconButtonCore); | ||
return _super.apply(this, arguments); | ||
if (href && !disabled) { | ||
return router && !skipClientNav && Object(wonder_blocks_clickable_["isClientSideUrl"])(href) ? /*#__PURE__*/external_react_["createElement"](StyledLink, extends_default()({}, commonProps, { | ||
to: href | ||
}), child) : /*#__PURE__*/external_react_["createElement"](StyledAnchor, extends_default()({}, commonProps, { | ||
href: href | ||
}), child); | ||
} else { | ||
return /*#__PURE__*/external_react_["createElement"](StyledButton, extends_default()({ | ||
type: "button" | ||
}, commonProps, { | ||
disabled: disabled | ||
}), child); | ||
} | ||
} | ||
_createClass(IconButtonCore, [{ | ||
key: "render", | ||
value: function render() { | ||
var _this$props = this.props, | ||
skipClientNav = _this$props.skipClientNav, | ||
color = _this$props.color, | ||
disabled = _this$props.disabled, | ||
focused = _this$props.focused, | ||
hovered = _this$props.hovered, | ||
href = _this$props.href, | ||
icon = _this$props.icon, | ||
kind = _this$props.kind, | ||
light = _this$props.light, | ||
pressed = _this$props.pressed, | ||
style = _this$props.style, | ||
testId = _this$props.testId, | ||
_ = _this$props.waiting, | ||
restProps = _objectWithoutProperties(_this$props, ["skipClientNav", "color", "disabled", "focused", "hovered", "href", "icon", "kind", "light", "pressed", "style", "testId", "waiting"]); | ||
var router = this.context.router; | ||
var buttonColor = color === "destructive" ? wonder_blocks_color_["SemanticColor"].controlDestructive : wonder_blocks_color_["SemanticColor"].controlDefault; | ||
var buttonStyles = icon_button_core_generateStyles(buttonColor, kind, light); | ||
var defaultStyle = [sharedStyles.shared, disabled && sharedStyles.disabled, buttonStyles.default, disabled && buttonStyles.disabled, !disabled && (pressed ? buttonStyles.active : (hovered || focused) && buttonStyles.focus)]; | ||
var child = /*#__PURE__*/external_react_["createElement"](wonder_blocks_icon_default.a, { | ||
size: "medium", | ||
color: "currentColor", | ||
icon: icon | ||
}); | ||
var commonProps = _objectSpread({ | ||
"data-test-id": testId, | ||
style: [defaultStyle, style] | ||
}, restProps); | ||
if (href && !disabled) { | ||
return router && !skipClientNav && Object(wonder_blocks_clickable_["isClientSideUrl"])(href) ? /*#__PURE__*/external_react_["createElement"](StyledLink, _extends({}, commonProps, { | ||
to: href | ||
}), child) : /*#__PURE__*/external_react_["createElement"](StyledAnchor, _extends({}, commonProps, { | ||
href: href | ||
}), child); | ||
} else { | ||
return /*#__PURE__*/external_react_["createElement"](StyledButton, _extends({ | ||
type: "button" | ||
}, commonProps, { | ||
disabled: disabled | ||
}), child); | ||
} | ||
} | ||
}]); | ||
return IconButtonCore; | ||
}(external_react_["Component"]); | ||
_defineProperty(icon_button_core_IconButtonCore, "contextTypes", { | ||
} | ||
icon_button_core_IconButtonCore.contextTypes = { | ||
router: external_prop_types_["any"] | ||
}); | ||
var sharedStyles = external_aphrodite_["StyleSheet"].create({ | ||
}; | ||
const sharedStyles = external_aphrodite_["StyleSheet"].create({ | ||
shared: { | ||
@@ -329,6 +339,6 @@ position: "relative", | ||
}); | ||
var styles = {}; | ||
const styles = {}; | ||
var icon_button_core_generateStyles = function _generateStyles(color, kind, light) { | ||
var buttonType = color + kind + light.toString(); | ||
const _generateStyles = (color, kind, light) => { | ||
const buttonType = color + kind + light.toString(); | ||
@@ -343,7 +353,9 @@ if (styles[buttonType]) { | ||
var white = wonder_blocks_color_default.a.white, | ||
offBlack32 = wonder_blocks_color_default.a.offBlack32, | ||
offBlack64 = wonder_blocks_color_default.a.offBlack64, | ||
offBlack = wonder_blocks_color_default.a.offBlack; | ||
var newStyles = { | ||
const { | ||
white, | ||
offBlack32, | ||
offBlack64, | ||
offBlack | ||
} = wonder_blocks_color_default.a; | ||
const newStyles = { | ||
default: {}, | ||
@@ -390,37 +402,11 @@ focus: { | ||
// CONCATENATED MODULE: ./packages/wonder-blocks-icon-button/src/components/icon-button.js | ||
function icon_button_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { icon_button_typeof = function _typeof(obj) { return typeof obj; }; } else { icon_button_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return icon_button_typeof(obj); } | ||
function icon_button_extends() { icon_button_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 icon_button_extends.apply(this, arguments); } | ||
function icon_button_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = icon_button_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 icon_button_excluded = ["onClick", "href", "skipClientNav", "tabIndex", "target"], | ||
_excluded2 = ["tabIndex"]; | ||
function icon_button_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 icon_button_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | ||
function icon_button_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 icon_button_createClass(Constructor, protoProps, staticProps) { if (protoProps) icon_button_defineProperties(Constructor.prototype, protoProps); if (staticProps) icon_button_defineProperties(Constructor, staticProps); return Constructor; } | ||
function icon_button_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) icon_button_setPrototypeOf(subClass, superClass); } | ||
function icon_button_setPrototypeOf(o, p) { icon_button_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return icon_button_setPrototypeOf(o, p); } | ||
function icon_button_createSuper(Derived) { var hasNativeReflectConstruct = icon_button_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = icon_button_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = icon_button_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return icon_button_possibleConstructorReturn(this, result); }; } | ||
function icon_button_possibleConstructorReturn(self, call) { if (call && (icon_button_typeof(call) === "object" || typeof call === "function")) { return call; } return icon_button_assertThisInitialized(self); } | ||
function icon_button_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } | ||
function icon_button_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 icon_button_getPrototypeOf(o) { icon_button_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return icon_button_getPrototypeOf(o); } | ||
function icon_button_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; } | ||
/** | ||
@@ -462,56 +448,44 @@ * An IconButton is a button whose contents are an SVG image. | ||
*/ | ||
var icon_button_IconButton = /*#__PURE__*/function (_React$Component) { | ||
icon_button_inherits(IconButton, _React$Component); | ||
class icon_button_IconButton extends external_react_["Component"] { | ||
render() { | ||
const _this$props = this.props, | ||
{ | ||
onClick, | ||
href, | ||
skipClientNav, | ||
tabIndex, | ||
target | ||
} = _this$props, | ||
sharedProps = objectWithoutPropertiesLoose_default()(_this$props, icon_button_excluded); | ||
var _super = icon_button_createSuper(IconButton); | ||
const ClickableBehavior = Object(wonder_blocks_clickable_["getClickableBehavior"])(href, skipClientNav, this.context.router); | ||
return /*#__PURE__*/external_react_["createElement"](ClickableBehavior, { | ||
disabled: sharedProps.disabled, | ||
href: href, | ||
onClick: onClick, | ||
role: "button", | ||
target: target | ||
}, (state, _ref) => { | ||
let { | ||
tabIndex: clickableTabIndex | ||
} = _ref, | ||
childrenProps = objectWithoutPropertiesLoose_default()(_ref, _excluded2); | ||
function IconButton() { | ||
icon_button_classCallCheck(this, IconButton); | ||
return _super.apply(this, arguments); | ||
return /*#__PURE__*/external_react_["createElement"](icon_button_core_IconButtonCore, extends_default()({}, sharedProps, state, childrenProps, { | ||
skipClientNav: skipClientNav, | ||
href: href, | ||
target: target // If tabIndex is provide to the component we allow | ||
// it to override the tabIndex provide to use by | ||
// ClickableBehavior. | ||
, | ||
tabIndex: tabIndex || clickableTabIndex | ||
})); | ||
}); | ||
} | ||
icon_button_createClass(IconButton, [{ | ||
key: "render", | ||
value: function render() { | ||
var _this$props = this.props, | ||
onClick = _this$props.onClick, | ||
href = _this$props.href, | ||
skipClientNav = _this$props.skipClientNav, | ||
tabIndex = _this$props.tabIndex, | ||
target = _this$props.target, | ||
sharedProps = icon_button_objectWithoutProperties(_this$props, ["onClick", "href", "skipClientNav", "tabIndex", "target"]); | ||
var ClickableBehavior = Object(wonder_blocks_clickable_["getClickableBehavior"])(href, skipClientNav, this.context.router); | ||
return /*#__PURE__*/external_react_["createElement"](ClickableBehavior, { | ||
disabled: sharedProps.disabled, | ||
href: href, | ||
onClick: onClick, | ||
role: "button", | ||
target: target | ||
}, function (state, _ref) { | ||
var clickableTabIndex = _ref.tabIndex, | ||
childrenProps = icon_button_objectWithoutProperties(_ref, ["tabIndex"]); | ||
return /*#__PURE__*/external_react_["createElement"](icon_button_core_IconButtonCore, icon_button_extends({}, sharedProps, state, childrenProps, { | ||
skipClientNav: skipClientNav, | ||
href: href, | ||
target: target // If tabIndex is provide to the component we allow | ||
// it to override the tabIndex provide to use by | ||
// ClickableBehavior. | ||
, | ||
tabIndex: tabIndex || clickableTabIndex | ||
})); | ||
}); | ||
} | ||
}]); | ||
return IconButton; | ||
}(external_react_["Component"]); | ||
icon_button_defineProperty(icon_button_IconButton, "contextTypes", { | ||
} | ||
icon_button_IconButton.contextTypes = { | ||
router: external_prop_types_["any"] | ||
}); | ||
icon_button_defineProperty(icon_button_IconButton, "defaultProps", { | ||
}; | ||
icon_button_IconButton.defaultProps = { | ||
color: "default", | ||
@@ -521,5 +495,3 @@ kind: "primary", | ||
disabled: false | ||
}); | ||
}; | ||
// CONCATENATED MODULE: ./packages/wonder-blocks-icon-button/src/index.js | ||
@@ -526,0 +498,0 @@ |
{ | ||
"name": "@khanacademy/wonder-blocks-icon-button", | ||
"version": "3.3.12", | ||
"version": "3.3.13", | ||
"design": "v1", | ||
@@ -18,6 +18,7 @@ "publishConfig": { | ||
"dependencies": { | ||
"@khanacademy/wonder-blocks-clickable": "^2.1.1", | ||
"@khanacademy/wonder-blocks-color": "^1.1.17", | ||
"@khanacademy/wonder-blocks-core": "^3.1.3", | ||
"@khanacademy/wonder-blocks-icon": "^1.2.20" | ||
"@babel/runtime": "^7.13.10", | ||
"@khanacademy/wonder-blocks-clickable": "^2.1.2", | ||
"@khanacademy/wonder-blocks-color": "^1.1.18", | ||
"@khanacademy/wonder-blocks-core": "^3.1.4", | ||
"@khanacademy/wonder-blocks-icon": "^1.2.21" | ||
}, | ||
@@ -31,5 +32,5 @@ "peerDependencies": { | ||
"devDependencies": { | ||
"wb-dev-build-settings": "^0.0.4" | ||
"wb-dev-build-settings": "^0.1.0" | ||
}, | ||
"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
170241
9
15
1319