@khanacademy/wonder-blocks-breadcrumbs 1.0.24 → 1.0.28

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/CHANGELOG.md ADDED
@@ -0,0 +1,7 @@
1
+ # @khanacademy/wonder-blocks-breadcrumbs
2
+
3
+ ## 1.0.28
4
+ ### Patch Changes
5
+
6
+ - @khanacademy/wonder-blocks-core@4.2.1
7
+ - @khanacademy/wonder-blocks-typography@1.1.29
package/dist/es/index.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import _extends from '@babel/runtime/helpers/extends';
2
2
  import _objectWithoutPropertiesLoose from '@babel/runtime/helpers/objectWithoutPropertiesLoose';
3
- import { Component, Children, createElement, cloneElement } from 'react';
3
+ import * as React from 'react';
4
4
  import { StyleSheet } from 'aphrodite';
5
5
  import { addStyle } from '@khanacademy/wonder-blocks-core';
6
6
  import Spacing from '@khanacademy/wonder-blocks-spacing';
7
7
 
8
- const _excluded = ["children", "testId"];
8
+ const _excluded$1 = ["children", "testId"];
9
9
  const StyledList = addStyle("ol");
10
10
  /**
11
11
  * A breadcrumb trail consists of a list of links to the parent pages
@@ -19,7 +19,7 @@ const StyledList = addStyle("ol");
19
19
  * 2. Separator: Adds a separator between each item.
20
20
  */
21
21
 
22
- class Breadcrumbs extends Component {
22
+ class Breadcrumbs extends React.Component {
23
23
  // Moved it here, in case we need to override the label for a different
24
24
  // language
25
25
  render() {
@@ -28,18 +28,18 @@ class Breadcrumbs extends Component {
28
28
  children,
29
29
  testId
30
30
  } = _this$props,
31
- otherProps = _objectWithoutPropertiesLoose(_this$props, _excluded); // using React.Children allows to deal with opaque data structures
31
+ otherProps = _objectWithoutPropertiesLoose(_this$props, _excluded$1); // using React.Children allows to deal with opaque data structures
32
32
  // e.g. children = 'string' vs children = []
33
33
 
34
34
 
35
- const lastChildIndex = Children.count(children) - 1;
36
- return /*#__PURE__*/createElement("nav", _extends({}, otherProps, {
35
+ const lastChildIndex = React.Children.count(children) - 1;
36
+ return /*#__PURE__*/React.createElement("nav", _extends({}, otherProps, {
37
37
  "data-test-id": testId
38
- }), /*#__PURE__*/createElement(StyledList, {
39
- style: styles.container
40
- }, Children.map(children, (item, index) => {
38
+ }), /*#__PURE__*/React.createElement(StyledList, {
39
+ style: styles$1.container
40
+ }, React.Children.map(children, (item, index) => {
41
41
  const isLastChild = index === lastChildIndex;
42
- return /*#__PURE__*/cloneElement(item, _extends({}, item.props, {
42
+ return /*#__PURE__*/React.cloneElement(item, _extends({}, item.props, {
43
43
  showSeparator: !isLastChild,
44
44
  ["aria-current"]: isLastChild ? "page" : undefined
45
45
  }));
@@ -50,7 +50,7 @@ class Breadcrumbs extends Component {
50
50
  Breadcrumbs.defaultProps = {
51
51
  "aria-label": "Breadcrumbs"
52
52
  };
53
- const styles = StyleSheet.create({
53
+ const styles$1 = StyleSheet.create({
54
54
  container: {
55
55
  display: "flex",
56
56
  listStyle: "none",
@@ -60,26 +60,26 @@ const styles = StyleSheet.create({
60
60
  }
61
61
  });
62
62
 
63
- const _excluded$1 = ["children", "showSeparator", "testId"];
63
+ const _excluded = ["children", "showSeparator", "testId"];
64
64
  const StyledListItem = addStyle("li");
65
65
  const StyledSvg = addStyle("svg");
66
66
  /**
67
67
  * The BreadcrumbsItem represents an individual item in the breadcrumbs list.
68
68
  */
69
69
 
70
- class BreadcrumbsItem extends Component {
70
+ class BreadcrumbsItem extends React.Component {
71
71
  /**
72
72
  * Renders a separator after the content
73
73
  * It draws a circular bullet point using an SVG circle shape
74
74
  */
75
75
  _renderSeparator() {
76
- return /*#__PURE__*/createElement(StyledSvg, {
77
- style: styles$1.separator,
76
+ return /*#__PURE__*/React.createElement(StyledSvg, {
77
+ style: styles.separator,
78
78
  width: 16,
79
79
  height: 16,
80
80
  viewBox: "0 0 16 16",
81
81
  "aria-hidden": true
82
- }, /*#__PURE__*/createElement("circle", {
82
+ }, /*#__PURE__*/React.createElement("circle", {
83
83
  cx: "8",
84
84
  cy: "9",
85
85
  r: "1.5"
@@ -93,16 +93,16 @@ class BreadcrumbsItem extends Component {
93
93
  showSeparator,
94
94
  testId
95
95
  } = _this$props,
96
- otherProps = _objectWithoutPropertiesLoose(_this$props, _excluded$1);
96
+ otherProps = _objectWithoutPropertiesLoose(_this$props, _excluded);
97
97
 
98
- return /*#__PURE__*/createElement(StyledListItem, _extends({}, otherProps, {
99
- style: styles$1.item,
98
+ return /*#__PURE__*/React.createElement(StyledListItem, _extends({}, otherProps, {
99
+ style: styles.item,
100
100
  "data-test-id": testId
101
101
  }), children, showSeparator && this._renderSeparator());
102
102
  }
103
103
 
104
104
  }
105
- const styles$1 = StyleSheet.create({
105
+ const styles = StyleSheet.create({
106
106
  item: {
107
107
  display: "flex",
108
108
  alignItems: "center",
package/dist/index.js CHANGED
@@ -95,105 +95,38 @@ module.exports = require("react");
95
95
  /* 1 */
96
96
  /***/ (function(module, exports) {
97
97
 
98
- function _extends() {
99
- module.exports = _extends = Object.assign || function (target) {
100
- for (var i = 1; i < arguments.length; i++) {
101
- var source = arguments[i];
102
-
103
- for (var key in source) {
104
- if (Object.prototype.hasOwnProperty.call(source, key)) {
105
- target[key] = source[key];
106
- }
107
- }
108
- }
109
-
110
- return target;
111
- };
112
-
113
- module.exports["default"] = module.exports, module.exports.__esModule = true;
114
- return _extends.apply(this, arguments);
115
- }
116
-
117
- module.exports = _extends;
118
- module.exports["default"] = module.exports, module.exports.__esModule = true;
119
-
120
- /***/ }),
121
- /* 2 */
122
- /***/ (function(module, exports) {
123
-
124
98
  module.exports = require("@khanacademy/wonder-blocks-core");
125
99
 
126
100
  /***/ }),
127
- /* 3 */
128
- /***/ (function(module, exports) {
129
-
130
- function _objectWithoutPropertiesLoose(source, excluded) {
131
- if (source == null) return {};
132
- var target = {};
133
- var sourceKeys = Object.keys(source);
134
- var key, i;
135
-
136
- for (i = 0; i < sourceKeys.length; i++) {
137
- key = sourceKeys[i];
138
- if (excluded.indexOf(key) >= 0) continue;
139
- target[key] = source[key];
140
- }
141
-
142
- return target;
143
- }
144
-
145
- module.exports = _objectWithoutPropertiesLoose;
146
- module.exports["default"] = module.exports, module.exports.__esModule = true;
147
-
148
- /***/ }),
149
- /* 4 */
101
+ /* 2 */
150
102
  /***/ (function(module, exports) {
151
103
 
152
104
  module.exports = require("aphrodite");
153
105
 
154
106
  /***/ }),
155
- /* 5 */
107
+ /* 3 */
156
108
  /***/ (function(module, exports) {
157
109
 
158
110
  module.exports = require("@khanacademy/wonder-blocks-spacing");
159
111
 
160
112
  /***/ }),
161
- /* 6 */
113
+ /* 4 */
162
114
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
163
115
 
164
116
  "use strict";
165
- // ESM COMPAT FLAG
166
- __webpack_require__.r(__webpack_exports__);
117
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Breadcrumbs; });
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__(2);
121
+ /* harmony import */ var aphrodite__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(aphrodite__WEBPACK_IMPORTED_MODULE_1__);
122
+ /* harmony import */ var _khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1);
123
+ /* harmony import */ var _khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_2__);
124
+ 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
125
 
168
- // EXPORTS
169
- __webpack_require__.d(__webpack_exports__, "Breadcrumbs", function() { return /* reexport */ breadcrumbs_Breadcrumbs; });
170
- __webpack_require__.d(__webpack_exports__, "BreadcrumbsItem", function() { return /* reexport */ breadcrumbs_item_BreadcrumbsItem; });
171
126
 
172
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/extends.js
173
- var helpers_extends = __webpack_require__(1);
174
- var extends_default = /*#__PURE__*/__webpack_require__.n(helpers_extends);
175
127
 
176
- // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js
177
- var objectWithoutPropertiesLoose = __webpack_require__(3);
178
- var objectWithoutPropertiesLoose_default = /*#__PURE__*/__webpack_require__.n(objectWithoutPropertiesLoose);
179
128
 
180
- // EXTERNAL MODULE: external "react"
181
- var external_react_ = __webpack_require__(0);
182
-
183
- // EXTERNAL MODULE: external "aphrodite"
184
- var external_aphrodite_ = __webpack_require__(4);
185
-
186
- // EXTERNAL MODULE: external "@khanacademy/wonder-blocks-core"
187
- var wonder_blocks_core_ = __webpack_require__(2);
188
-
189
- // CONCATENATED MODULE: ./packages/wonder-blocks-breadcrumbs/src/components/breadcrumbs.js
190
-
191
-
192
- const _excluded = ["children", "testId"];
193
-
194
-
195
-
196
- const StyledList = Object(wonder_blocks_core_["addStyle"])("ol");
129
+ const StyledList = Object(_khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_2__["addStyle"])("ol");
197
130
  /**
198
131
  * A breadcrumb trail consists of a list of links to the parent pages
199
132
  * of the current page in hierarchical order. It helps users find their
@@ -206,38 +139,36 @@ const StyledList = Object(wonder_blocks_core_["addStyle"])("ol");
206
139
  * 2. Separator: Adds a separator between each item.
207
140
  */
208
141
 
209
- class breadcrumbs_Breadcrumbs extends external_react_["Component"] {
142
+ class Breadcrumbs extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
210
143
  // Moved it here, in case we need to override the label for a different
211
144
  // language
212
145
  render() {
213
- const _this$props = this.props,
214
- {
146
+ const {
215
147
  children,
216
- testId
217
- } = _this$props,
218
- otherProps = objectWithoutPropertiesLoose_default()(_this$props, _excluded); // using React.Children allows to deal with opaque data structures
148
+ testId,
149
+ ...otherProps
150
+ } = this.props; // using React.Children allows to deal with opaque data structures
219
151
  // e.g. children = 'string' vs children = []
220
152
 
221
-
222
- const lastChildIndex = external_react_["Children"].count(children) - 1;
223
- return /*#__PURE__*/external_react_["createElement"]("nav", extends_default()({}, otherProps, {
153
+ const lastChildIndex = react__WEBPACK_IMPORTED_MODULE_0__["Children"].count(children) - 1;
154
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("nav", _extends({}, otherProps, {
224
155
  "data-test-id": testId
225
- }), /*#__PURE__*/external_react_["createElement"](StyledList, {
156
+ }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](StyledList, {
226
157
  style: styles.container
227
- }, external_react_["Children"].map(children, (item, index) => {
158
+ }, react__WEBPACK_IMPORTED_MODULE_0__["Children"].map(children, (item, index) => {
228
159
  const isLastChild = index === lastChildIndex;
229
- return /*#__PURE__*/external_react_["cloneElement"](item, extends_default()({}, item.props, {
160
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["cloneElement"](item, { ...item.props,
230
161
  showSeparator: !isLastChild,
231
162
  ["aria-current"]: isLastChild ? "page" : undefined
232
- }));
163
+ });
233
164
  })));
234
165
  }
235
166
 
236
167
  }
237
- breadcrumbs_Breadcrumbs.defaultProps = {
168
+ Breadcrumbs.defaultProps = {
238
169
  "aria-label": "Breadcrumbs"
239
170
  };
240
- const styles = external_aphrodite_["StyleSheet"].create({
171
+ const styles = aphrodite__WEBPACK_IMPORTED_MODULE_1__["StyleSheet"].create({
241
172
  container: {
242
173
  display: "flex",
243
174
  listStyle: "none",
@@ -246,37 +177,46 @@ const styles = external_aphrodite_["StyleSheet"].create({
246
177
  overflow: "hidden"
247
178
  }
248
179
  });
249
- // EXTERNAL MODULE: external "@khanacademy/wonder-blocks-spacing"
250
- var wonder_blocks_spacing_ = __webpack_require__(5);
251
- var wonder_blocks_spacing_default = /*#__PURE__*/__webpack_require__.n(wonder_blocks_spacing_);
252
180
 
253
- // CONCATENATED MODULE: ./packages/wonder-blocks-breadcrumbs/src/components/breadcrumbs-item.js
181
+ /***/ }),
182
+ /* 5 */
183
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
254
184
 
185
+ "use strict";
186
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return BreadcrumbsItem; });
187
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
188
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
189
+ /* harmony import */ var aphrodite__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2);
190
+ /* harmony import */ var aphrodite__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(aphrodite__WEBPACK_IMPORTED_MODULE_1__);
191
+ /* harmony import */ var _khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1);
192
+ /* harmony import */ var _khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_2__);
193
+ /* harmony import */ var _khanacademy_wonder_blocks_spacing__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3);
194
+ /* harmony import */ var _khanacademy_wonder_blocks_spacing__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_khanacademy_wonder_blocks_spacing__WEBPACK_IMPORTED_MODULE_3__);
195
+ 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); }
255
196
 
256
- const breadcrumbs_item_excluded = ["children", "showSeparator", "testId"];
257
197
 
258
198
 
259
199
 
260
200
 
261
- const StyledListItem = Object(wonder_blocks_core_["addStyle"])("li");
262
- const StyledSvg = Object(wonder_blocks_core_["addStyle"])("svg");
201
+ const StyledListItem = Object(_khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_2__["addStyle"])("li");
202
+ const StyledSvg = Object(_khanacademy_wonder_blocks_core__WEBPACK_IMPORTED_MODULE_2__["addStyle"])("svg");
263
203
  /**
264
204
  * The BreadcrumbsItem represents an individual item in the breadcrumbs list.
265
205
  */
266
206
 
267
- class breadcrumbs_item_BreadcrumbsItem extends external_react_["Component"] {
207
+ class BreadcrumbsItem extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
268
208
  /**
269
209
  * Renders a separator after the content
270
210
  * It draws a circular bullet point using an SVG circle shape
271
211
  */
272
212
  _renderSeparator() {
273
- return /*#__PURE__*/external_react_["createElement"](StyledSvg, {
274
- style: breadcrumbs_item_styles.separator,
213
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](StyledSvg, {
214
+ style: styles.separator,
275
215
  width: 16,
276
216
  height: 16,
277
217
  viewBox: "0 0 16 16",
278
218
  "aria-hidden": true
279
- }, /*#__PURE__*/external_react_["createElement"]("circle", {
219
+ }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("circle", {
280
220
  cx: "8",
281
221
  cy: "9",
282
222
  r: "1.5"
@@ -284,33 +224,43 @@ class breadcrumbs_item_BreadcrumbsItem extends external_react_["Component"] {
284
224
  }
285
225
 
286
226
  render() {
287
- const _this$props = this.props,
288
- {
227
+ const {
289
228
  children,
290
229
  showSeparator,
291
- testId
292
- } = _this$props,
293
- otherProps = objectWithoutPropertiesLoose_default()(_this$props, breadcrumbs_item_excluded);
294
-
295
- return /*#__PURE__*/external_react_["createElement"](StyledListItem, extends_default()({}, otherProps, {
296
- style: breadcrumbs_item_styles.item,
230
+ testId,
231
+ ...otherProps
232
+ } = this.props;
233
+ return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"](StyledListItem, _extends({}, otherProps, {
234
+ style: styles.item,
297
235
  "data-test-id": testId
298
236
  }), children, showSeparator && this._renderSeparator());
299
237
  }
300
238
 
301
239
  }
302
- const breadcrumbs_item_styles = external_aphrodite_["StyleSheet"].create({
240
+ const styles = aphrodite__WEBPACK_IMPORTED_MODULE_1__["StyleSheet"].create({
303
241
  item: {
304
242
  display: "flex",
305
243
  alignItems: "center",
306
244
  justifyContent: "center",
307
- marginRight: wonder_blocks_spacing_default.a.xxxSmall_4
245
+ marginRight: _khanacademy_wonder_blocks_spacing__WEBPACK_IMPORTED_MODULE_3___default.a.xxxSmall_4
308
246
  },
309
247
  separator: {
310
- marginLeft: wonder_blocks_spacing_default.a.xxxSmall_4
248
+ marginLeft: _khanacademy_wonder_blocks_spacing__WEBPACK_IMPORTED_MODULE_3___default.a.xxxSmall_4
311
249
  }
312
250
  });
313
- // CONCATENATED MODULE: ./packages/wonder-blocks-breadcrumbs/src/index.js
251
+
252
+ /***/ }),
253
+ /* 6 */
254
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
255
+
256
+ "use strict";
257
+ __webpack_require__.r(__webpack_exports__);
258
+ /* harmony import */ var _components_breadcrumbs_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4);
259
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Breadcrumbs", function() { return _components_breadcrumbs_js__WEBPACK_IMPORTED_MODULE_0__["a"]; });
260
+
261
+ /* harmony import */ var _components_breadcrumbs_item_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5);
262
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BreadcrumbsItem", function() { return _components_breadcrumbs_item_js__WEBPACK_IMPORTED_MODULE_1__["a"]; });
263
+
314
264
 
315
265
 
316
266
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@khanacademy/wonder-blocks-breadcrumbs",
3
- "version": "1.0.24",
3
+ "version": "1.0.28",
4
4
  "design": "v1",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -15,18 +15,17 @@
15
15
  "author": "",
16
16
  "license": "MIT",
17
17
  "dependencies": {
18
- "@babel/runtime": "^7.13.10",
19
- "@khanacademy/wonder-blocks-color": "^1.1.18",
20
- "@khanacademy/wonder-blocks-core": "^3.1.4",
21
- "@khanacademy/wonder-blocks-spacing": "^3.0.3",
22
- "@khanacademy/wonder-blocks-typography": "^1.1.25"
18
+ "@babel/runtime": "^7.16.3",
19
+ "@khanacademy/wonder-blocks-color": "^1.1.20",
20
+ "@khanacademy/wonder-blocks-core": "^4.2.1",
21
+ "@khanacademy/wonder-blocks-spacing": "^3.0.5",
22
+ "@khanacademy/wonder-blocks-typography": "^1.1.29"
23
23
  },
24
24
  "peerDependencies": {
25
25
  "aphrodite": "^1.2.5",
26
- "react": "^16.4.1"
26
+ "react": "16.14.0"
27
27
  },
28
28
  "devDependencies": {
29
- "wb-dev-build-settings": "^0.1.0"
30
- },
31
- "gitHead": "8022bb419eed74be37f71f71c7621854794a731c"
29
+ "wb-dev-build-settings": "^0.3.0"
30
+ }
32
31
  }
@@ -1,6 +1,7 @@
1
1
  // @flow
2
2
  import * as React from "react";
3
3
  import {mount} from "enzyme";
4
+ import "jest-enzyme";
4
5
  import Breadcrumbs from "../breadcrumbs.js";
5
6
  import BreadcrumbsItem from "../breadcrumbs-item.js";
6
7
 
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2018 Khan Academy
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.