@khanacademy/wonder-blocks-link 3.7.12 → 3.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -82,26 +82,26 @@ module.exports =
82
82
  /******/
83
83
  /******/
84
84
  /******/ // Load entry module and return exports
85
- /******/ return __webpack_require__(__webpack_require__.s = 7);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 9);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ([
89
89
  /* 0 */
90
90
  /***/ (function(module, exports) {
91
91
 
92
- module.exports = require("@khanacademy/wonder-blocks-color");
92
+ module.exports = require("react");
93
93
 
94
94
  /***/ }),
95
95
  /* 1 */
96
96
  /***/ (function(module, exports) {
97
97
 
98
- module.exports = require("react");
98
+ module.exports = require("@khanacademy/wonder-blocks-color");
99
99
 
100
100
  /***/ }),
101
101
  /* 2 */
102
102
  /***/ (function(module, exports) {
103
103
 
104
- module.exports = require("prop-types");
104
+ module.exports = require("react-router");
105
105
 
106
106
  /***/ }),
107
107
  /* 3 */
@@ -111,158 +111,75 @@ module.exports = require("@khanacademy/wonder-blocks-clickable");
111
111
 
112
112
  /***/ }),
113
113
  /* 4 */
114
- /***/ (function(module, exports) {
115
-
116
- module.exports = require("aphrodite");
117
-
118
- /***/ }),
119
- /* 5 */
120
- /***/ (function(module, exports) {
121
-
122
- module.exports = require("@khanacademy/wonder-blocks-core");
123
-
124
- /***/ }),
125
- /* 6 */
126
- /***/ (function(module, exports) {
127
-
128
- module.exports = require("react-router-dom");
129
-
130
- /***/ }),
131
- /* 7 */
132
114
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
133
115
 
134
116
  "use strict";
135
- // ESM COMPAT FLAG
136
- __webpack_require__.r(__webpack_exports__);
137
-
138
- // EXPORTS
139
- __webpack_require__.d(__webpack_exports__, "default", function() { return /* reexport */ link_Link; });
140
-
141
- // EXTERNAL MODULE: external "react"
142
- var external_react_ = __webpack_require__(1);
143
-
144
- // EXTERNAL MODULE: external "prop-types"
145
- var external_prop_types_ = __webpack_require__(2);
146
-
147
- // EXTERNAL MODULE: external "@khanacademy/wonder-blocks-clickable"
148
- var wonder_blocks_clickable_ = __webpack_require__(3);
149
-
150
- // EXTERNAL MODULE: external "aphrodite"
151
- var external_aphrodite_ = __webpack_require__(4);
152
-
153
- // EXTERNAL MODULE: external "react-router-dom"
154
- var external_react_router_dom_ = __webpack_require__(6);
155
-
156
- // EXTERNAL MODULE: external "@khanacademy/wonder-blocks-core"
157
- var wonder_blocks_core_ = __webpack_require__(5);
158
-
159
- // EXTERNAL MODULE: external "@khanacademy/wonder-blocks-color"
160
- var wonder_blocks_color_ = __webpack_require__(0);
161
- var wonder_blocks_color_default = /*#__PURE__*/__webpack_require__.n(wonder_blocks_color_);
162
-
163
- // CONCATENATED MODULE: ./packages/wonder-blocks-link/src/components/link-core.js
164
- 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); }
165
-
117
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return LinkCore; });
118
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
119
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
120
+ /* harmony import */ var aphrodite__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5);
121
+ /* harmony import */ var aphrodite__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(aphrodite__WEBPACK_IMPORTED_MODULE_1__);
122
+ /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8);
123
+ /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_router_dom__WEBPACK_IMPORTED_MODULE_2__);
124
+ /* harmony import */ var react_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2);
125
+ /* harmony import */ var react_router__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_router__WEBPACK_IMPORTED_MODULE_3__);
126
+ /* harmony import */ var _khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6);
127
+ /* harmony import */ var _khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_4__);
128
+ /* harmony import */ var _khanacademy_wonder_blocks_color__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1);
129
+ /* harmony import */ var _khanacademy_wonder_blocks_color__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_color__WEBPACK_IMPORTED_MODULE_5__);
130
+ /* harmony import */ var _khanacademy_wonder_blocks_clickable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3);
131
+ /* harmony import */ var _khanacademy_wonder_blocks_clickable__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_clickable__WEBPACK_IMPORTED_MODULE_6__);
166
132
  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); }
167
133
 
168
- 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; }
169
-
170
- 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; }
171
-
172
- 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; }
173
-
174
- 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; }
175
-
176
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
177
-
178
- 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); } }
179
-
180
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
181
-
182
- 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); }
183
-
184
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
185
-
186
- 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); }; }
187
-
188
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
189
-
190
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
191
-
192
- 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; } }
193
-
194
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
195
-
196
- 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; }
197
-
198
-
199
-
200
134
 
201
135
 
202
136
 
203
137
 
204
138
 
205
- var StyledAnchor = Object(wonder_blocks_core_["addStyle"])("a");
206
- var StyledLink = Object(wonder_blocks_core_["addStyle"])(external_react_router_dom_["Link"]);
207
139
 
208
- var link_core_LinkCore = /*#__PURE__*/function (_React$Component) {
209
- _inherits(LinkCore, _React$Component);
210
140
 
211
- var _super = _createSuper(LinkCore);
141
+ const StyledAnchor = Object(_khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_4__["addStyle"])("a");
142
+ const StyledLink = Object(_khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_4__["addStyle"])(react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Link"]);
143
+ class LinkCore extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
144
+ renderInner(router) {
145
+ const {
146
+ children,
147
+ skipClientNav,
148
+ focused,
149
+ hovered,
150
+ href,
151
+ kind,
152
+ light,
153
+ visitable,
154
+ pressed,
155
+ style,
156
+ testId,
157
+ waiting: _,
158
+ ...restProps
159
+ } = this.props;
212
160
 
213
- function LinkCore() {
214
- _classCallCheck(this, LinkCore);
161
+ const linkStyles = _generateStyles(kind, light, visitable);
215
162
 
216
- return _super.apply(this, arguments);
163
+ const defaultStyles = [sharedStyles.shared, !(hovered || focused || pressed) && linkStyles.default, pressed ? linkStyles.active : (hovered || focused) && linkStyles.focus];
164
+ const commonProps = {
165
+ "data-test-id": testId,
166
+ style: [defaultStyles, style],
167
+ ...restProps
168
+ };
169
+ return router && !skipClientNav && Object(_khanacademy_wonder_blocks_clickable__WEBPACK_IMPORTED_MODULE_6__["isClientSideUrl"])(href) ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](StyledLink, _extends({}, commonProps, {
170
+ to: href
171
+ }), children) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](StyledAnchor, _extends({}, commonProps, {
172
+ href: href
173
+ }), children);
217
174
  }
218
175
 
219
- _createClass(LinkCore, [{
220
- key: "render",
221
- value: function render() {
222
- var _this$props = this.props,
223
- children = _this$props.children,
224
- skipClientNav = _this$props.skipClientNav,
225
- focused = _this$props.focused,
226
- hovered = _this$props.hovered,
227
- href = _this$props.href,
228
- kind = _this$props.kind,
229
- light = _this$props.light,
230
- visitable = _this$props.visitable,
231
- pressed = _this$props.pressed,
232
- style = _this$props.style,
233
- testId = _this$props.testId,
234
- _ = _this$props.waiting,
235
- restProps = _objectWithoutProperties(_this$props, ["children", "skipClientNav", "focused", "hovered", "href", "kind", "light", "visitable", "pressed", "style", "testId", "waiting"]);
236
-
237
- var router = this.context.router;
238
-
239
- var linkStyles = link_core_generateStyles(kind, light, visitable);
240
-
241
- var defaultStyles = [sharedStyles.shared, !(hovered || focused || pressed) && linkStyles.default, pressed ? linkStyles.active : (hovered || focused) && linkStyles.focus];
242
-
243
- var commonProps = _objectSpread({
244
- "data-test-id": testId,
245
- style: [defaultStyles, style]
246
- }, restProps);
247
-
248
- return router && !skipClientNav && Object(wonder_blocks_clickable_["isClientSideUrl"])(href) ? /*#__PURE__*/external_react_["createElement"](StyledLink, _extends({}, commonProps, {
249
- to: href
250
- }), children) : /*#__PURE__*/external_react_["createElement"](StyledAnchor, _extends({}, commonProps, {
251
- href: href
252
- }), children);
253
- }
254
- }]);
255
-
256
- return LinkCore;
257
- }(external_react_["Component"]);
258
-
259
- _defineProperty(link_core_LinkCore, "contextTypes", {
260
- router: external_prop_types_["any"]
261
- });
262
-
176
+ render() {
177
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_router__WEBPACK_IMPORTED_MODULE_3__["__RouterContext"].Consumer, null, router => this.renderInner(router));
178
+ }
263
179
 
264
- var styles = {};
265
- var sharedStyles = external_aphrodite_["StyleSheet"].create({
180
+ }
181
+ const styles = {};
182
+ const sharedStyles = aphrodite__WEBPACK_IMPORTED_MODULE_1__["StyleSheet"].create({
266
183
  shared: {
267
184
  cursor: "pointer",
268
185
  textDecoration: "none",
@@ -270,8 +187,8 @@ var sharedStyles = external_aphrodite_["StyleSheet"].create({
270
187
  }
271
188
  });
272
189
 
273
- var link_core_generateStyles = function _generateStyles(kind, light, visitable) {
274
- var buttonType = kind + light.toString() + visitable.toString();
190
+ const _generateStyles = (kind, light, visitable) => {
191
+ const buttonType = kind + light.toString() + visitable.toString();
275
192
 
276
193
  if (styles[buttonType]) {
277
194
  return styles[buttonType];
@@ -285,71 +202,73 @@ var link_core_generateStyles = function _generateStyles(kind, light, visitable)
285
202
  throw new Error("Only primary (not light) link is visitable");
286
203
  }
287
204
 
288
- var blue = wonder_blocks_color_default.a.blue,
289
- purple = wonder_blocks_color_default.a.purple,
290
- white = wonder_blocks_color_default.a.white,
291
- offBlack = wonder_blocks_color_default.a.offBlack,
292
- offBlack32 = wonder_blocks_color_default.a.offBlack32;
293
- var linkPurple = Object(wonder_blocks_color_["mix"])(Object(wonder_blocks_color_["fade"])(offBlack, 0.08), purple);
294
- var defaultTextColor = kind === "primary" ? light ? white : blue : offBlack;
295
- var focusColor = light ? white : blue;
296
- var activeColor = light ? Object(wonder_blocks_color_["mix"])(Object(wonder_blocks_color_["fade"])(blue, 0.32), white) : Object(wonder_blocks_color_["mix"])(offBlack32, blue);
297
- var defaultVisited = visitable ? {
205
+ const {
206
+ blue,
207
+ purple,
208
+ white,
209
+ offBlack,
210
+ offBlack32
211
+ } = _khanacademy_wonder_blocks_color__WEBPACK_IMPORTED_MODULE_5___default.a;
212
+ const linkPurple = Object(_khanacademy_wonder_blocks_color__WEBPACK_IMPORTED_MODULE_5__["mix"])(Object(_khanacademy_wonder_blocks_color__WEBPACK_IMPORTED_MODULE_5__["fade"])(offBlack, 0.08), purple);
213
+ const defaultTextColor = kind === "primary" ? light ? white : blue : offBlack;
214
+ const focusColor = light ? white : blue;
215
+ const activeColor = light ? Object(_khanacademy_wonder_blocks_color__WEBPACK_IMPORTED_MODULE_5__["mix"])(Object(_khanacademy_wonder_blocks_color__WEBPACK_IMPORTED_MODULE_5__["fade"])(blue, 0.32), white) : Object(_khanacademy_wonder_blocks_color__WEBPACK_IMPORTED_MODULE_5__["mix"])(offBlack32, blue);
216
+ const defaultVisited = visitable ? {
298
217
  ":visited": {
299
218
  color: linkPurple
300
219
  }
301
220
  } : Object.freeze({});
302
- var activeVisited = visitable ? {
221
+ const activeVisited = visitable ? {
303
222
  ":visited": {
304
- color: Object(wonder_blocks_color_["mix"])(offBlack32, linkPurple)
223
+ color: Object(_khanacademy_wonder_blocks_color__WEBPACK_IMPORTED_MODULE_5__["mix"])(offBlack32, linkPurple)
305
224
  }
306
225
  } : Object.freeze({});
307
- var newStyles = {
308
- default: _objectSpread({
309
- color: defaultTextColor
310
- }, defaultVisited),
311
- focus: _objectSpread({
226
+ const newStyles = {
227
+ default: {
228
+ color: defaultTextColor,
229
+ ...defaultVisited
230
+ },
231
+ focus: {
312
232
  textDecoration: "underline currentcolor solid",
313
- color: focusColor
314
- }, defaultVisited),
315
- active: _objectSpread({
233
+ color: focusColor,
234
+ ...defaultVisited
235
+ },
236
+ active: {
316
237
  color: activeColor,
317
- textDecoration: "underline currentcolor solid"
318
- }, activeVisited)
238
+ textDecoration: "underline currentcolor solid",
239
+ ...activeVisited
240
+ }
319
241
  };
320
- styles[buttonType] = external_aphrodite_["StyleSheet"].create(newStyles);
242
+ styles[buttonType] = aphrodite__WEBPACK_IMPORTED_MODULE_1__["StyleSheet"].create(newStyles);
321
243
  return styles[buttonType];
322
244
  };
323
- // CONCATENATED MODULE: ./packages/wonder-blocks-link/src/components/link.js
324
- function link_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { link_typeof = function _typeof(obj) { return typeof obj; }; } else { link_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return link_typeof(obj); }
325
-
326
- function link_extends() { link_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 link_extends.apply(this, arguments); }
327
-
328
- function link_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = link_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; }
329
-
330
- function link_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; }
331
-
332
- function link_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
333
-
334
- function link_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); } }
335
245
 
336
- function link_createClass(Constructor, protoProps, staticProps) { if (protoProps) link_defineProperties(Constructor.prototype, protoProps); if (staticProps) link_defineProperties(Constructor, staticProps); return Constructor; }
337
-
338
- function link_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) link_setPrototypeOf(subClass, superClass); }
339
-
340
- function link_setPrototypeOf(o, p) { link_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return link_setPrototypeOf(o, p); }
341
-
342
- function link_createSuper(Derived) { var hasNativeReflectConstruct = link_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = link_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = link_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return link_possibleConstructorReturn(this, result); }; }
246
+ /***/ }),
247
+ /* 5 */
248
+ /***/ (function(module, exports) {
343
249
 
344
- function link_possibleConstructorReturn(self, call) { if (call && (link_typeof(call) === "object" || typeof call === "function")) { return call; } return link_assertThisInitialized(self); }
250
+ module.exports = require("aphrodite");
345
251
 
346
- function link_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
252
+ /***/ }),
253
+ /* 6 */
254
+ /***/ (function(module, exports) {
347
255
 
348
- function link_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; } }
256
+ module.exports = require("@khanacademy/wonder-blocks-core");
349
257
 
350
- function link_getPrototypeOf(o) { link_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return link_getPrototypeOf(o); }
258
+ /***/ }),
259
+ /* 7 */
260
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
351
261
 
352
- function link_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; }
262
+ "use strict";
263
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Link; });
264
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
265
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
266
+ /* harmony import */ var react_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2);
267
+ /* harmony import */ var react_router__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_router__WEBPACK_IMPORTED_MODULE_1__);
268
+ /* harmony import */ var _khanacademy_wonder_blocks_clickable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3);
269
+ /* harmony import */ var _khanacademy_wonder_blocks_clickable__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_clickable__WEBPACK_IMPORTED_MODULE_2__);
270
+ /* harmony import */ var _link_core_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4);
271
+ 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); }
353
272
 
354
273
 
355
274
 
@@ -373,104 +292,100 @@ function link_defineProperty(obj, key, value) { if (key in obj) { Object.defineP
373
292
  * </Link>
374
293
  * ```
375
294
  */
376
- var link_Link = /*#__PURE__*/function (_React$Component) {
377
- link_inherits(Link, _React$Component);
378
-
379
- var _super = link_createSuper(Link);
380
-
381
- function Link() {
382
- link_classCallCheck(this, Link);
383
-
384
- return _super.apply(this, arguments);
385
- }
386
-
387
- link_createClass(Link, [{
388
- key: "render",
389
- value: function render() {
390
- var _this$props = this.props,
391
- onClick = _this$props.onClick,
392
- _this$props$beforeNav = _this$props.beforeNav,
393
- beforeNav = _this$props$beforeNav === void 0 ? undefined : _this$props$beforeNav,
394
- safeWithNav = _this$props.safeWithNav,
395
- href = _this$props.href,
396
- skipClientNav = _this$props.skipClientNav,
397
- children = _this$props.children,
398
- tabIndex = _this$props.tabIndex,
399
- onKeyDown = _this$props.onKeyDown,
400
- onKeyUp = _this$props.onKeyUp,
401
- _this$props$target = _this$props.target,
402
- target = _this$props$target === void 0 ? undefined : _this$props$target,
403
- sharedProps = link_objectWithoutProperties(_this$props, ["onClick", "beforeNav", "safeWithNav", "href", "skipClientNav", "children", "tabIndex", "onKeyDown", "onKeyUp", "target"]);
404
-
405
- var ClickableBehavior = Object(wonder_blocks_clickable_["getClickableBehavior"])(href, skipClientNav, this.context.router);
406
-
407
- if (beforeNav) {
408
- return /*#__PURE__*/external_react_["createElement"](ClickableBehavior, {
409
- disabled: false,
295
+ class Link extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
296
+ renderClickableBehavior(router) {
297
+ const {
298
+ onClick,
299
+ beforeNav = undefined,
300
+ safeWithNav,
301
+ href,
302
+ skipClientNav,
303
+ children,
304
+ tabIndex,
305
+ onKeyDown,
306
+ onKeyUp,
307
+ target = undefined,
308
+ ...sharedProps
309
+ } = this.props;
310
+ const ClickableBehavior = Object(_khanacademy_wonder_blocks_clickable__WEBPACK_IMPORTED_MODULE_2__["getClickableBehavior"])(href, skipClientNav, router);
311
+
312
+ if (beforeNav) {
313
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ClickableBehavior, {
314
+ disabled: false,
315
+ href: href,
316
+ role: "link",
317
+ onClick: onClick,
318
+ beforeNav: beforeNav,
319
+ safeWithNav: safeWithNav,
320
+ onKeyDown: onKeyDown,
321
+ onKeyUp: onKeyUp
322
+ }, (state, {
323
+ tabIndex: clickableTabIndex,
324
+ ...childrenProps
325
+ }) => {
326
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_link_core_js__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"], _extends({}, sharedProps, state, childrenProps, {
327
+ skipClientNav: skipClientNav,
410
328
  href: href,
411
- role: "link",
412
- onClick: onClick,
413
- beforeNav: beforeNav,
414
- safeWithNav: safeWithNav,
415
- onKeyDown: onKeyDown,
416
- onKeyUp: onKeyUp
417
- }, function (state, _ref) {
418
- var clickableTabIndex = _ref.tabIndex,
419
- childrenProps = link_objectWithoutProperties(_ref, ["tabIndex"]);
420
-
421
- return /*#__PURE__*/external_react_["createElement"](link_core_LinkCore, link_extends({}, sharedProps, state, childrenProps, {
422
- skipClientNav: skipClientNav,
423
- href: href,
424
- target: target // If tabIndex is provide to the component we allow
425
- // it to override the tabIndex provide to use by
426
- // ClickableBehavior.
427
- ,
428
- tabIndex: tabIndex || clickableTabIndex
429
- }), children);
430
- });
431
- } else {
432
- return /*#__PURE__*/external_react_["createElement"](ClickableBehavior, {
433
- disabled: false,
329
+ target: target // If tabIndex is provide to the component we allow
330
+ // it to override the tabIndex provide to use by
331
+ // ClickableBehavior.
332
+ ,
333
+ tabIndex: tabIndex || clickableTabIndex
334
+ }), children);
335
+ });
336
+ } else {
337
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ClickableBehavior, {
338
+ disabled: false,
339
+ href: href,
340
+ role: "link",
341
+ onClick: onClick,
342
+ safeWithNav: safeWithNav,
343
+ target: target,
344
+ onKeyDown: onKeyDown,
345
+ onKeyUp: onKeyUp
346
+ }, (state, {
347
+ tabIndex: clickableTabIndex,
348
+ ...childrenProps
349
+ }) => {
350
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_link_core_js__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"], _extends({}, sharedProps, state, childrenProps, {
351
+ skipClientNav: skipClientNav,
434
352
  href: href,
435
- role: "link",
436
- onClick: onClick,
437
- safeWithNav: safeWithNav,
438
- target: target,
439
- onKeyDown: onKeyDown,
440
- onKeyUp: onKeyUp
441
- }, function (state, _ref2) {
442
- var clickableTabIndex = _ref2.tabIndex,
443
- childrenProps = link_objectWithoutProperties(_ref2, ["tabIndex"]);
444
-
445
- return /*#__PURE__*/external_react_["createElement"](link_core_LinkCore, link_extends({}, sharedProps, state, childrenProps, {
446
- skipClientNav: skipClientNav,
447
- href: href,
448
- target: target // If tabIndex is provide to the component we allow
449
- // it to override the tabIndex provide to use by
450
- // ClickableBehavior.
451
- ,
452
- tabIndex: tabIndex || clickableTabIndex
453
- }), children);
454
- });
455
- }
353
+ target: target // If tabIndex is provide to the component we allow
354
+ // it to override the tabIndex provide to use by
355
+ // ClickableBehavior.
356
+ ,
357
+ tabIndex: tabIndex || clickableTabIndex
358
+ }), children);
359
+ });
456
360
  }
457
- }]);
458
-
459
- return Link;
460
- }(external_react_["Component"]);
361
+ }
461
362
 
462
- link_defineProperty(link_Link, "contextTypes", {
463
- router: external_prop_types_["any"]
464
- });
363
+ render() {
364
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_router__WEBPACK_IMPORTED_MODULE_1__["__RouterContext"].Consumer, null, router => this.renderClickableBehavior(router));
365
+ }
465
366
 
466
- link_defineProperty(link_Link, "defaultProps", {
367
+ }
368
+ Link.defaultProps = {
467
369
  kind: "primary",
468
370
  light: false,
469
371
  visitable: false
470
- });
372
+ };
373
+
374
+ /***/ }),
375
+ /* 8 */
376
+ /***/ (function(module, exports) {
377
+
378
+ module.exports = require("react-router-dom");
379
+
380
+ /***/ }),
381
+ /* 9 */
382
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
471
383
 
384
+ "use strict";
385
+ __webpack_require__.r(__webpack_exports__);
386
+ /* harmony import */ var _components_link_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7);
387
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _components_link_js__WEBPACK_IMPORTED_MODULE_0__["a"]; });
472
388
 
473
- // CONCATENATED MODULE: ./packages/wonder-blocks-link/src/index.js
474
389
 
475
390
 
476
391
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@khanacademy/wonder-blocks-link",
3
- "version": "3.7.12",
3
+ "version": "3.8.1",
4
4
  "design": "v1",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -15,18 +15,19 @@
15
15
  "author": "",
16
16
  "license": "MIT",
17
17
  "dependencies": {
18
- "@khanacademy/wonder-blocks-clickable": "^2.1.1",
19
- "@khanacademy/wonder-blocks-color": "^1.1.17",
20
- "@khanacademy/wonder-blocks-core": "^3.1.3"
18
+ "@babel/runtime": "^7.16.3",
19
+ "@khanacademy/wonder-blocks-clickable": "^2.2.1",
20
+ "@khanacademy/wonder-blocks-color": "^1.1.20",
21
+ "@khanacademy/wonder-blocks-core": "^4.0.0"
21
22
  },
22
23
  "peerDependencies": {
23
24
  "aphrodite": "^1.2.5",
24
- "prop-types": "^15.6.2",
25
- "react": "^16.4.1",
26
- "react-router-dom": "^4.2.2"
25
+ "react": "16.14.0",
26
+ "react-router": "5.2.1",
27
+ "react-router-dom": "5.3.0"
27
28
  },
28
29
  "devDependencies": {
29
- "wb-dev-build-settings": "^0.0.4"
30
+ "wb-dev-build-settings": "^0.2.0"
30
31
  },
31
- "gitHead": "b7d7425c7f2e02cd9b9ac6ac7e9fe12ead2bd8ab"
32
+ "gitHead": "9ebea88533e702011165072f090a377e02fa3f0f"
32
33
  }
@@ -15,7 +15,8 @@ describe("Link", () => {
15
15
  beforeEach(() => {
16
16
  // Note: window.location.assign needs a mock function in the testing
17
17
  // environment.
18
- window.location.assign = jest.fn();
18
+ delete window.location;
19
+ window.location = {assign: jest.fn()};
19
20
  });
20
21
 
21
22
  afterEach(() => {