@ndla/image-search 4.0.2 → 4.0.6
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/es/ImageMeta.js +8 -8
- package/es/ImageSearch.js +56 -54
- package/es/ImageSearchResult.js +32 -27
- package/es/PreviewImage.js +85 -65
- package/lib/ImageMeta.js +9 -9
- package/lib/ImageSearch.js +57 -54
- package/lib/ImageSearchResult.js +31 -28
- package/lib/PreviewImage.js +84 -66
- package/package.json +8 -8
package/es/ImageMeta.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import _styled from "@emotion/styled/base";
|
|
2
|
+
import { jsx as _jsx } from "@emotion/react/jsx-runtime";
|
|
2
3
|
|
|
3
4
|
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
4
5
|
|
|
@@ -12,18 +13,13 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
|
|
|
12
13
|
import React from 'react';
|
|
13
14
|
import prettyBytes from 'pretty-bytes';
|
|
14
15
|
import { fonts } from '@ndla/core';
|
|
15
|
-
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
16
16
|
|
|
17
|
-
var StyledDiv = /*#__PURE__*/_styled("div",
|
|
18
|
-
target: "e171zbc01"
|
|
19
|
-
} : {
|
|
17
|
+
var StyledDiv = /*#__PURE__*/_styled("div", {
|
|
20
18
|
target: "e171zbc01",
|
|
21
19
|
label: "StyledDiv"
|
|
22
20
|
})(fonts.sizes('16px', 1.3), ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkltYWdlTWV0YS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYzRCIiwiZmlsZSI6IkltYWdlTWV0YS50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMi1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgcHJldHR5Qnl0ZXMgZnJvbSAncHJldHR5LWJ5dGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGZvbnRzIH0gZnJvbSAnQG5kbGEvY29yZSc7XG5pbXBvcnQgeyBJSW1hZ2VEaW1lbnNpb25zIH0gZnJvbSAnQG5kbGEvdHlwZXMtaW1hZ2UtYXBpJztcblxuY29uc3QgU3R5bGVkRGl2ID0gc3R5bGVkLmRpdmBcbiAgJHtmb250cy5zaXplcygnMTZweCcsIDEuMyl9XG5gO1xuXG5jb25zdCBTdHlsZWRTcGFuID0gc3R5bGVkLnNwYW5gXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbmA7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIGNvbnRlbnRUeXBlOiBzdHJpbmc7XG4gIGZpbGVTaXplOiBudW1iZXI7XG4gIGltYWdlRGltZW5zaW9ucz86IElJbWFnZURpbWVuc2lvbnM7XG59XG5cbmNvbnN0IEltYWdlTWV0YSA9ICh7IGNvbnRlbnRUeXBlLCBmaWxlU2l6ZSwgaW1hZ2VEaW1lbnNpb25zIH06IFByb3BzKSA9PiB7XG4gIGNvbnN0IGRpbWVuc2lvbnMgPSBpbWFnZURpbWVuc2lvbnMgPyBgIC0gJHtpbWFnZURpbWVuc2lvbnMud2lkdGh9eCR7aW1hZ2VEaW1lbnNpb25zLmhlaWdodH0gcHhgIDogJyc7XG4gIHJldHVybiAoXG4gICAgPFN0eWxlZERpdj5cbiAgICAgIDxTdHlsZWRTcGFuPntgJHtjb250ZW50VHlwZX0gLSAke3ByZXR0eUJ5dGVzKGZpbGVTaXplKX0ke2RpbWVuc2lvbnN9YH08L1N0eWxlZFNwYW4+XG4gICAgPC9TdHlsZWREaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBJbWFnZU1ldGE7XG4iXX0= */"));
|
|
23
21
|
|
|
24
|
-
var StyledSpan = /*#__PURE__*/_styled("span",
|
|
25
|
-
target: "e171zbc00"
|
|
26
|
-
} : {
|
|
22
|
+
var StyledSpan = /*#__PURE__*/_styled("span", {
|
|
27
23
|
target: "e171zbc00",
|
|
28
24
|
label: "StyledSpan"
|
|
29
25
|
})(process.env.NODE_ENV === "production" ? {
|
|
@@ -41,7 +37,11 @@ var ImageMeta = function ImageMeta(_ref) {
|
|
|
41
37
|
fileSize = _ref.fileSize,
|
|
42
38
|
imageDimensions = _ref.imageDimensions;
|
|
43
39
|
var dimensions = imageDimensions ? " - ".concat(imageDimensions.width, "x").concat(imageDimensions.height, " px") : '';
|
|
44
|
-
return
|
|
40
|
+
return _jsx(StyledDiv, {
|
|
41
|
+
children: _jsx(StyledSpan, {
|
|
42
|
+
children: "".concat(contentType, " - ").concat(prettyBytes(fileSize)).concat(dimensions)
|
|
43
|
+
})
|
|
44
|
+
});
|
|
45
45
|
};
|
|
46
46
|
|
|
47
47
|
export default ImageMeta;
|
package/es/ImageSearch.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import _styled from "@emotion/styled/base";
|
|
2
|
+
import { jsx as _jsx } from "@emotion/react/jsx-runtime";
|
|
3
|
+
import { jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
2
4
|
|
|
3
5
|
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); }
|
|
4
6
|
|
|
@@ -38,11 +40,8 @@ import Pager from '@ndla/pager';
|
|
|
38
40
|
import { Input } from '@ndla/forms';
|
|
39
41
|
import { Search as SearchIcon } from '@ndla/icons/common';
|
|
40
42
|
import ImageSearchResult from './ImageSearchResult';
|
|
41
|
-
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
42
43
|
|
|
43
|
-
var ImageSearchWrapper = /*#__PURE__*/_styled("div",
|
|
44
|
-
target: "ejbuzb50"
|
|
45
|
-
} : {
|
|
44
|
+
var ImageSearchWrapper = /*#__PURE__*/_styled("div", {
|
|
46
45
|
target: "ejbuzb50",
|
|
47
46
|
label: "ImageSearchWrapper"
|
|
48
47
|
})(".text{text-align:center;}.list-item{position:relative;float:left;height:210px;width:100%;", mq.range({
|
|
@@ -84,8 +83,8 @@ var ImageSearchWrapper = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "p
|
|
|
84
83
|
}), "{.list-item .image-preview{width:500%;}.list-item:nth-of-type(5n - 3) .image-preview{margin-left:-100%;}.list-item:nth-of-type(5n - 2) .image-preview{margin-left:-200%;}.list-item:nth-of-type(5n - 1) .image-preview{margin-left:-300%;}.list-item:nth-of-type(5n) .image-preview{margin-left:-400%;}}@keyframes fadeInSearchPreview{0%{display:none;opacity:0;}1%{opacity:0;display:flex;transform:translateY(-20px);}100%{opacity:1;transform:translateY(0px);}}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkltYWdlU2VhcmNoLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQnFDIiwiZmlsZSI6IkltYWdlU2VhcmNoLnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE3LXByZXNlbnQsIE5ETEEuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgR1BMdjMgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKi9cblxuaW1wb3J0IFJlYWN0LCB7IENoYW5nZUV2ZW50LCBDb21wb25lbnQsIFJlYWN0Tm9kZSwgS2V5Ym9hcmRFdmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IGZvbnRzLCBjb2xvcnMsIHNwYWNpbmcsIG1xLCBicmVha3BvaW50cyB9IGZyb20gJ0BuZGxhL2NvcmUnO1xuaW1wb3J0IFBhZ2VyIGZyb20gJ0BuZGxhL3BhZ2VyJztcbmltcG9ydCB7IElJbWFnZU1ldGFJbmZvcm1hdGlvblYyLCBJU2VhcmNoUmVzdWx0LCBJSW1hZ2VNZXRhU3VtbWFyeSwgSVNlYXJjaFBhcmFtcyB9IGZyb20gJ0BuZGxhL3R5cGVzLWltYWdlLWFwaSc7XG5pbXBvcnQgeyBJbnB1dCB9IGZyb20gJ0BuZGxhL2Zvcm1zJztcbmltcG9ydCB7IFNlYXJjaCBhcyBTZWFyY2hJY29uIH0gZnJvbSAnQG5kbGEvaWNvbnMvY29tbW9uJztcbmltcG9ydCBJbWFnZVNlYXJjaFJlc3VsdCBmcm9tICcuL0ltYWdlU2VhcmNoUmVzdWx0JztcblxuY29uc3QgSW1hZ2VTZWFyY2hXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgLnRleHQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAubGlzdC1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAyMTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAke21xLnJhbmdlKHsgZnJvbTogYnJlYWtwb2ludHMudGFibGV0IH0pfSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgICAke21xLnJhbmdlKHsgZnJvbTogYnJlYWtwb2ludHMudGFibGV0V2lkZSB9KX0ge1xuICAgICAgd2lkdGg6IDMzLjMlO1xuICAgIH1cbiAgICAke21xLnJhbmdlKHsgZnJvbTogYnJlYWtwb2ludHMuZGVza3RvcCB9KX0ge1xuICAgICAgd2lkdGg6IDI1JTtcbiAgICB9XG4gICAgJHttcS5yYW5nZSh7IGZyb206IGJyZWFrcG9pbnRzLndpZGUgfSl9IHtcbiAgICAgIHdpZHRoOiAyMCU7XG4gICAgfVxuICAgICYuYWN0aXZlIHtcbiAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAubGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tbGVmdDogLSR7c3BhY2luZy5zbWFsbH07XG4gICAgbWFyZ2luLXJpZ2h0OiAtJHtzcGFjaW5nLnNtYWxsfTtcbiAgICBtYXJnaW4tdG9wOiAke3NwYWNpbmcubm9ybWFsfTtcbiAgfVxuXG4gIC5saXN0LWl0ZW0taW5uZXIge1xuICAgIHBhZGRpbmc6ICR7c3BhY2luZy5zbWFsbH07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGhlaWdodDogMjEwcHg7XG5cbiAgICAubGlzdC1pdGVtLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogJHtzcGFjaW5nLnhzbWFsbH0gMDtcbiAgICAgICR7Zm9udHMuc2l6ZXMoJzE0cHgnLCAxLjIpfTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgICAgIG1heC1oZWlnaHQ6ICR7c3BhY2luZy5sYXJnZX07XG4gICAgfVxuICB9XG5cbiAgLmxpc3QtaXRlbS1pbm5lciBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDEzNXB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTAwbXMgZWFzZTtcbiAgfVxuXG4gIC5saXN0LWl0ZW0taW5uZXI6aG92ZXIge1xuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAke2NvbG9ycy5icmFuZC5wcmltYXJ5fTtcbiAgICB9XG4gIH1cblxuICAubGlzdC1pdGVtLWlubmVyID4gLmxpc3QtaXRlbS1pbm5lciBpbWcge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICR7Y29sb3JzLmJyYW5kLnByaW1hcnl9O1xuICB9XG5cbiAgLmxpc3QtaXRlbS5hY3RpdmUgPiAubGlzdC1pdGVtLWlubmVyOjphZnRlciB7XG4gICAgYW5pbWF0aW9uOiBmYWRlSW5TZWFyY2hQcmV2aWV3IDMwMG1zIGVhc2U7XG4gICAgdG9wOiAxOTBweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiAnICc7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTM2LCAxODMsIDIxMywgMCk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHtjb2xvcnMuYnJhbmQubGlnaHRlcn07XG4gICAgYm9yZGVyLXdpZHRoOiAke3NwYWNpbmcubm9ybWFsfTtcbiAgICBtYXJnaW4tbGVmdDogLSR7c3BhY2luZy5ub3JtYWx9O1xuICB9XG5cbiAgLmltYWdlLXByZXZpZXcge1xuICAgIGFuaW1hdGlvbjogZmFkZUluU2VhcmNoUHJldmlldyAzMDBtcyBlYXNlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAke21xLnJhbmdlKHsgZnJvbTogYnJlYWtwb2ludHMudGFibGV0LCB1bnRpbDogYnJlYWtwb2ludHMudGFibGV0V2lkZSB9KX0ge1xuICAgICAgd2lkdGg6IDIwMCU7XG4gICAgfVxuICAgICR7bXEucmFuZ2UoeyBmcm9tOiBicmVha3BvaW50cy50YWJsZXRXaWRlLCB1bnRpbDogYnJlYWtwb2ludHMuZGVza3RvcCB9KX0ge1xuICAgICAgd2lkdGg6IDMwMCU7XG4gICAgfVxuICAgICR7bXEucmFuZ2UoeyBmcm9tOiBicmVha3BvaW50cy5kZXNrdG9wLCB1bnRpbDogYnJlYWtwb2ludHMud2lkZSB9KX0ge1xuICAgICAgd2lkdGg6IDQwMCU7XG4gICAgfVxuICAgICR7bXEucmFuZ2UoeyBmcm9tOiBicmVha3BvaW50cy53aWRlIH0pfSB7XG4gICAgICB3aWR0aDogNTAwJTtcbiAgICB9XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYnJhbmQubGlnaHRlcn07XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIG1hcmdpbjogMjBweCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgJHttcS5yYW5nZSh7IHVudGlsOiBicmVha3BvaW50cy5tb2JpbGVXaWRlIH0pfSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuaW1hZ2Uge1xuICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nOiAke3NwYWNpbmcuc21hbGx9O1xuICAgICAgJHttcS5yYW5nZSh7IHVudGlsOiBicmVha3BvaW50cy5tb2JpbGVXaWRlIH0pfSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pbmZvIHtcbiAgICAgICR7Zm9udHMuc2l6ZXMoJzE2cHgnLCAxLjMpfVxuICAgIH1cblxuICAgIC5pbWFnZSBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgfVxuXG4gICAgLmluZm9ybWF0aW9uIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nOiBjYWxjKCR7c3BhY2luZy5ub3JtYWx9IC0gJHtzcGFjaW5nLnhzbWFsbH0pICR7c3BhY2luZy5ub3JtYWx9ICR7c3BhY2luZy5ub3JtYWx9ICR7c3BhY2luZy5zbWFsbH07XG4gICAgICB3b3JkLWJyZWFrOiBpbml0aWFsO1xuICAgICAgJHttcS5yYW5nZSh7IHVudGlsOiBicmVha3BvaW50cy5tb2JpbGVXaWRlIH0pfSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwICR7c3BhY2luZy5zbWFsbH0gJHtzcGFjaW5nLm5vcm1hbH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmluZm9ybWF0aW9uID4gKiB7XG4gICAgICBtYXJnaW4tdG9wOiAke3NwYWNpbmcuc21hbGx9O1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgfVxuICAgIC50ZXh0LS1sZWZ0IHtcbiAgICAgIHdpZHRoOiAyMCU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLnRleHQtLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIC50YWdzID4gYiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206ICR7c3BhY2luZy5ub3JtYWx9O1xuICAgIH1cblxuICAgIC50YWdzID4gLnRhZ19pdGVtIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAke2ZvbnRzLndlaWdodC5zZW1pYm9sZH07XG4gICAgICBtYXJnaW4tcmlnaHQ6ICR7c3BhY2luZy54c21hbGx9O1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHtzcGFjaW5nLnhzbWFsbH07XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAke2ZvbnRzLnNpemVzKCcxNnB4JywgMS4zKX1cbiAgICB9XG5cbiAgICAudGFncyA+IC50YWdfaXRlbTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLmNsZWFyIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICR7bXEucmFuZ2UoeyBmcm9tOiBicmVha3BvaW50cy50YWJsZXQsIHVudGlsOiBicmVha3BvaW50cy50YWJsZXRXaWRlIH0pfSB7XG4gICAgLmxpc3QtaXRlbSAuaW1hZ2UtcHJldmlldyB7XG4gICAgICB3aWR0aDogMjAwJTtcbiAgICB9XG4gICAgLmxpc3QtaXRlbTpudGgtb2YtdHlwZSgybikgLmltYWdlLXByZXZpZXcge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xMDAlO1xuICAgIH1cbiAgfVxuICAke21xLnJhbmdlKHsgZnJvbTogYnJlYWtwb2ludHMudGFibGV0V2lkZSwgdW50aWw6IGJyZWFrcG9pbnRzLmRlc2t0b3AgfSl9IHtcbiAgICAubGlzdC1pdGVtIC5pbWFnZS1wcmV2aWV3IHtcbiAgICAgIHdpZHRoOiAzMDAlO1xuICAgIH1cbiAgICAubGlzdC1pdGVtOm50aC1vZi10eXBlKDNuIC0gMSkgLmltYWdlLXByZXZpZXcge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xMDAlO1xuICAgIH1cbiAgICAubGlzdC1pdGVtOm50aC1vZi10eXBlKDNuKSAuaW1hZ2UtcHJldmlldyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTIwMCU7XG4gICAgfVxuICB9XG4gICR7bXEucmFuZ2UoeyBmcm9tOiBicmVha3BvaW50cy5kZXNrdG9wLCB1bnRpbDogYnJlYWtwb2ludHMud2lkZSB9KX0ge1xuICAgIC5saXN0LWl0ZW0gLmltYWdlLXByZXZpZXcge1xuICAgICAgd2lkdGg6IDQwMCU7XG4gICAgfVxuICAgIC5saXN0LWl0ZW06bnRoLW9mLXR5cGUoNG4gLSAyKSAuaW1hZ2UtcHJldmlldyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTEwMCU7XG4gICAgfVxuICAgIC5saXN0LWl0ZW06bnRoLW9mLXR5cGUoNG4gLSAxKSAuaW1hZ2UtcHJldmlldyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTIwMCU7XG4gICAgfVxuICAgIC5saXN0LWl0ZW06bnRoLW9mLXR5cGUoNG4pIC5pbWFnZS1wcmV2aWV3IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMzAwJTtcbiAgICB9XG4gIH1cbiAgJHttcS5yYW5nZSh7IGZyb206IGJyZWFrcG9pbnRzLndpZGUgfSl9IHtcbiAgICAubGlzdC1pdGVtIC5pbWFnZS1wcmV2aWV3IHtcbiAgICAgIHdpZHRoOiA1MDAlO1xuICAgIH1cbiAgICAubGlzdC1pdGVtOm50aC1vZi10eXBlKDVuIC0gMykgLmltYWdlLXByZXZpZXcge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xMDAlO1xuICAgIH1cbiAgICAubGlzdC1pdGVtOm50aC1vZi10eXBlKDVuIC0gMikgLmltYWdlLXByZXZpZXcge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0yMDAlO1xuICAgIH1cbiAgICAubGlzdC1pdGVtOm50aC1vZi10eXBlKDVuIC0gMSkgLmltYWdlLXByZXZpZXcge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0zMDAlO1xuICAgIH1cbiAgICAubGlzdC1pdGVtOm50aC1vZi10eXBlKDVuKSAuaW1hZ2UtcHJldmlldyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTQwMCU7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBmYWRlSW5TZWFyY2hQcmV2aWV3IHtcbiAgICAwJSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgMSUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IHNlYXJjaEljb25Dc3MgPSBjc3NgXG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbmA7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIG9uSW1hZ2VTZWxlY3Q6IChpbWFnZTogSUltYWdlTWV0YUluZm9ybWF0aW9uVjIpID0+IHZvaWQ7XG4gIHNlYXJjaEltYWdlczogKHF1ZXJ5OiBzdHJpbmcgfCB1bmRlZmluZWQsIHBhZ2U6IG51bWJlciB8IHVuZGVmaW5lZCkgPT4gUHJvbWlzZTxJU2VhcmNoUmVzdWx0PjtcbiAgZmV0Y2hJbWFnZTogKGlkOiBudW1iZXIpID0+IFByb21pc2U8SUltYWdlTWV0YUluZm9ybWF0aW9uVjI+O1xuICBvbkVycm9yOiAoZXJyOiBhbnkpID0+IHZvaWQ7XG4gIHNlYXJjaFBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIHNlYXJjaEJ1dHRvblRpdGxlOiBzdHJpbmc7XG4gIGxvY2FsZTogc3RyaW5nO1xuICB1c2VJbWFnZVRpdGxlOiBzdHJpbmc7XG4gIG5vUmVzdWx0cz86IFJlYWN0Tm9kZTtcbiAgY2hlY2tib3hBY3Rpb24/OiAoaW1hZ2U6IElJbWFnZU1ldGFJbmZvcm1hdGlvblYyKSA9PiB2b2lkO1xuICBzaG93Q2hlY2tib3g/OiBib29sZWFuO1xuICBjaGVja2JveExhYmVsPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgU3RhdGUge1xuICBxdWVyeU9iamVjdDogSVNlYXJjaFBhcmFtcztcbiAgaW1hZ2VzOiBJSW1hZ2VNZXRhU3VtbWFyeVtdO1xuICBzZWxlY3RlZEltYWdlPzogSUltYWdlTWV0YUluZm9ybWF0aW9uVjI7XG4gIGxhc3RQYWdlOiBudW1iZXI7XG4gIHNlYXJjaGluZzogYm9vbGVhbjtcbiAgcXVlcnlTdHJpbmc/OiBzdHJpbmc7XG59XG5jbGFzcyBJbWFnZVNlYXJjaCBleHRlbmRzIENvbXBvbmVudDxQcm9wcywgU3RhdGU+IHtcbiAgY29uc3RydWN0b3IocHJvcHM6IFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBxdWVyeU9iamVjdDoge1xuICAgICAgICBxdWVyeTogdW5kZWZpbmVkLFxuICAgICAgICBwYWdlOiAxLFxuICAgICAgICBwYWdlU2l6ZTogMTYsXG4gICAgICB9LFxuICAgICAgaW1hZ2VzOiBbXSxcbiAgICAgIHNlbGVjdGVkSW1hZ2U6IHVuZGVmaW5lZCxcbiAgICAgIGxhc3RQYWdlOiAwLFxuICAgICAgc2VhcmNoaW5nOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgdGhpcy5zZWFyY2hJbWFnZXMgPSB0aGlzLnNlYXJjaEltYWdlcy5iaW5kKHRoaXMpO1xuICAgIHRoaXMub25JbWFnZUNsaWNrID0gdGhpcy5vbkltYWdlQ2xpY2suYmluZCh0aGlzKTtcbiAgICB0aGlzLm9uU2VsZWN0SW1hZ2UgPSB0aGlzLm9uU2VsZWN0SW1hZ2UuYmluZCh0aGlzKTtcbiAgfVxuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIHRoaXMuc2VhcmNoSW1hZ2VzKHRoaXMuc3RhdGUucXVlcnlPYmplY3QpO1xuICB9XG5cbiAgb25JbWFnZUNsaWNrKGltYWdlOiBJSW1hZ2VNZXRhU3VtbWFyeSkge1xuICAgIGNvbnN0IHsgb25FcnJvciwgZmV0Y2hJbWFnZSB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHNlbGVjdGVkSW1hZ2UgfSA9IHRoaXMuc3RhdGU7XG4gICAgaWYgKCFzZWxlY3RlZEltYWdlIHx8IGltYWdlLmlkICE9PSBzZWxlY3RlZEltYWdlLmlkKSB7XG4gICAgICBmZXRjaEltYWdlKHBhcnNlSW50KGltYWdlLmlkKSlcbiAgICAgICAgLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBzZWxlY3RlZEltYWdlOiByZXN1bHQgfSk7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgb25FcnJvcihlcnIpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvblNlbGVjdEltYWdlKGltYWdlOiBJSW1hZ2VNZXRhSW5mb3JtYXRpb25WMiwgc2F2ZUFzTWV0YUltYWdlOiBib29sZWFuKSB7XG4gICAgY29uc3QgeyBvbkltYWdlU2VsZWN0LCBjaGVja2JveEFjdGlvbiB9ID0gdGhpcy5wcm9wcztcbiAgICB0aGlzLnNldFN0YXRlKHsgc2VsZWN0ZWRJbWFnZTogdW5kZWZpbmVkIH0pO1xuICAgIG9uSW1hZ2VTZWxlY3QoaW1hZ2UpO1xuICAgIGlmIChzYXZlQXNNZXRhSW1hZ2UpIHtcbiAgICAgIGNoZWNrYm94QWN0aW9uICYmIGNoZWNrYm94QWN0aW9uKGltYWdlKTtcbiAgICB9XG4gIH1cblxuICBzZWFyY2hJbWFnZXMocXVlcnlPYmplY3Q6IElTZWFyY2hQYXJhbXMpIHtcbiAgICBjb25zdCB7IHNlYXJjaEltYWdlcywgb25FcnJvciB9ID0gdGhpcy5wcm9wcztcbiAgICB0aGlzLnNldFN0YXRlKHsgc2VhcmNoaW5nOiB0cnVlIH0pO1xuICAgIHNlYXJjaEltYWdlcyhxdWVyeU9iamVjdC5xdWVyeSwgcXVlcnlPYmplY3QucGFnZSlcbiAgICAgIC50aGVuKChyZXN1bHQpID0+IHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgcXVlcnlPYmplY3Q6IHtcbiAgICAgICAgICAgIHF1ZXJ5OiBxdWVyeU9iamVjdC5xdWVyeSxcbiAgICAgICAgICAgIHBhZ2VTaXplOiByZXN1bHQucGFnZVNpemUsXG4gICAgICAgICAgICBwYWdlOiBxdWVyeU9iamVjdC5wYWdlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgaW1hZ2VzOiByZXN1bHQucmVzdWx0cyxcbiAgICAgICAgICBsYXN0UGFnZTogTWF0aC5jZWlsKHJlc3VsdC50b3RhbENvdW50IC8gcmVzdWx0LnBhZ2VTaXplKSxcbiAgICAgICAgICBzZWFyY2hpbmc6IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICBvbkVycm9yKGVycik7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBzZWFyY2hpbmc6IGZhbHNlIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBzZWFyY2hQbGFjZWhvbGRlciwgc2VhcmNoQnV0dG9uVGl0bGUsIHVzZUltYWdlVGl0bGUsIHNob3dDaGVja2JveCwgY2hlY2tib3hMYWJlbCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHsgcXVlcnlPYmplY3QsIGltYWdlcywgc2VsZWN0ZWRJbWFnZSwgbGFzdFBhZ2UsIHNlYXJjaGluZywgcXVlcnlTdHJpbmcgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCB7IHBhZ2UgfSA9IHF1ZXJ5T2JqZWN0O1xuICAgIGNvbnN0IG5vUmVzdWx0c0ZvdW5kID0gIXNlYXJjaGluZyAmJiBpbWFnZXMubGVuZ3RoID09PSAwO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxJbWFnZVNlYXJjaFdyYXBwZXI+XG4gICAgICAgIDxJbnB1dFxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtzZWFyY2hQbGFjZWhvbGRlcn1cbiAgICAgICAgICBhdXRvRm9jdXNcbiAgICAgICAgICBpY29uUmlnaHQ9e1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjc3M9e3NlYXJjaEljb25Dc3N9XG4gICAgICAgICAgICAgIGFyaWEtbGFiZWw9e3NlYXJjaEJ1dHRvblRpdGxlfVxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoSW1hZ2VzKHsgcXVlcnk6IHF1ZXJ5U3RyaW5nLCBwYWdlOiAxIH0pO1xuICAgICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAgPFNlYXJjaEljb24gLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIH1cbiAgICAgICAgICB2YWx1ZT17cXVlcnlTdHJpbmd9XG4gICAgICAgICAgb25DaGFuZ2U9eyhldnQ6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB0aGlzLnNldFN0YXRlKHsgcXVlcnlTdHJpbmc6IGV2dC50YXJnZXQudmFsdWUgfSl9XG4gICAgICAgICAgb25LZXlQcmVzcz17KGV2dDogS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgaWYgKGV2dC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIHRoaXMuc2VhcmNoSW1hZ2VzKHsgcXVlcnk6IHF1ZXJ5U3RyaW5nLCBwYWdlOiAxIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIHtub1Jlc3VsdHNGb3VuZCAmJiB0aGlzLnByb3BzLm5vUmVzdWx0c31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsaXN0XCI+XG4gICAgICAgICAge2ltYWdlcy5tYXAoKGltYWdlKSA9PiAoXG4gICAgICAgICAgICA8SW1hZ2VTZWFyY2hSZXN1bHRcbiAgICAgICAgICAgICAga2V5PXtpbWFnZS5pZH1cbiAgICAgICAgICAgICAgaW1hZ2U9e2ltYWdlfVxuICAgICAgICAgICAgICBvbkltYWdlQ2xpY2s9e3RoaXMub25JbWFnZUNsaWNrfVxuICAgICAgICAgICAgICBzZWxlY3RlZEltYWdlPXtzZWxlY3RlZEltYWdlfVxuICAgICAgICAgICAgICBvblNlbGVjdEltYWdlPXt0aGlzLm9uU2VsZWN0SW1hZ2V9XG4gICAgICAgICAgICAgIHVzZUltYWdlVGl0bGU9e3VzZUltYWdlVGl0bGV9XG4gICAgICAgICAgICAgIHNob3dDaGVja2JveD17ISFzaG93Q2hlY2tib3h9XG4gICAgICAgICAgICAgIGNoZWNrYm94TGFiZWw9e2NoZWNrYm94TGFiZWx9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPFBhZ2VyXG4gICAgICAgICAgcGFnZT17cGFnZSA/PyAxfVxuICAgICAgICAgIHBhdGhuYW1lPVwiXCJcbiAgICAgICAgICBsYXN0UGFnZT17bGFzdFBhZ2V9XG4gICAgICAgICAgcXVlcnk9e3F1ZXJ5T2JqZWN0fVxuICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuc2VhcmNoSW1hZ2VzfVxuICAgICAgICAgIHBhZ2VJdGVtQ29tcG9uZW50Q2xhc3M9XCJidXR0b25cIlxuICAgICAgICAvPlxuICAgICAgPC9JbWFnZVNlYXJjaFdyYXBwZXI+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBJbWFnZVNlYXJjaDtcbiJdfQ== */"));
|
|
85
84
|
|
|
86
85
|
var searchIconCss = process.env.NODE_ENV === "production" ? {
|
|
87
|
-
name: "
|
|
88
|
-
styles: "border:0;background:transparent;margin:0;padding:0"
|
|
86
|
+
name: "imhgxk-searchIconCss",
|
|
87
|
+
styles: "border:0;background:transparent;margin:0;padding:0;label:searchIconCss;"
|
|
89
88
|
} : {
|
|
90
89
|
name: "imhgxk-searchIconCss",
|
|
91
90
|
styles: "border:0;background:transparent;margin:0;padding:0;label:searchIconCss;",
|
|
@@ -211,57 +210,60 @@ var ImageSearch = /*#__PURE__*/function (_Component) {
|
|
|
211
210
|
queryString = _this$state.queryString;
|
|
212
211
|
var page = queryObject.page;
|
|
213
212
|
var noResultsFound = !searching && images.length === 0;
|
|
214
|
-
return
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
213
|
+
return _jsxs(ImageSearchWrapper, {
|
|
214
|
+
children: [_jsx(Input, {
|
|
215
|
+
placeholder: searchPlaceholder,
|
|
216
|
+
autoFocus: true,
|
|
217
|
+
iconRight: _jsx("button", {
|
|
218
|
+
css: searchIconCss,
|
|
219
|
+
"aria-label": searchButtonTitle,
|
|
220
|
+
type: "button",
|
|
221
|
+
onClick: function onClick() {
|
|
222
|
+
_this4.searchImages({
|
|
223
|
+
query: queryString,
|
|
224
|
+
page: 1
|
|
225
|
+
});
|
|
226
|
+
},
|
|
227
|
+
children: _jsx(SearchIcon, {})
|
|
228
|
+
}),
|
|
229
|
+
value: queryString,
|
|
230
|
+
onChange: function onChange(evt) {
|
|
231
|
+
return _this4.setState({
|
|
232
|
+
queryString: evt.target.value
|
|
225
233
|
});
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
return _this4.setState({
|
|
231
|
-
queryString: evt.target.value
|
|
232
|
-
});
|
|
233
|
-
},
|
|
234
|
-
onKeyPress: function onKeyPress(evt) {
|
|
235
|
-
if (evt.key === 'Enter') {
|
|
236
|
-
evt.preventDefault();
|
|
234
|
+
},
|
|
235
|
+
onKeyPress: function onKeyPress(evt) {
|
|
236
|
+
if (evt.key === 'Enter') {
|
|
237
|
+
evt.preventDefault();
|
|
237
238
|
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
239
|
+
_this4.searchImages({
|
|
240
|
+
query: queryString,
|
|
241
|
+
page: 1
|
|
242
|
+
});
|
|
243
|
+
}
|
|
242
244
|
}
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
})
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
})
|
|
245
|
+
}), noResultsFound && this.props.noResults, _jsx("div", {
|
|
246
|
+
className: "list",
|
|
247
|
+
children: images.map(function (image) {
|
|
248
|
+
return _jsx(ImageSearchResult, {
|
|
249
|
+
image: image,
|
|
250
|
+
onImageClick: _this4.onImageClick,
|
|
251
|
+
selectedImage: selectedImage,
|
|
252
|
+
onSelectImage: _this4.onSelectImage,
|
|
253
|
+
useImageTitle: useImageTitle,
|
|
254
|
+
showCheckbox: !!showCheckbox,
|
|
255
|
+
checkboxLabel: checkboxLabel
|
|
256
|
+
}, image.id);
|
|
257
|
+
})
|
|
258
|
+
}), _jsx(Pager, {
|
|
259
|
+
page: page !== null && page !== void 0 ? page : 1,
|
|
260
|
+
pathname: "",
|
|
261
|
+
lastPage: lastPage,
|
|
262
|
+
query: queryObject,
|
|
263
|
+
onClick: this.searchImages,
|
|
264
|
+
pageItemComponentClass: "button"
|
|
265
|
+
})]
|
|
266
|
+
});
|
|
265
267
|
}
|
|
266
268
|
}]);
|
|
267
269
|
|
package/es/ImageSearchResult.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx } from "@emotion/react/jsx-runtime";
|
|
2
|
+
import { jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
3
|
+
|
|
1
4
|
/**
|
|
2
5
|
* Copyright (c) 2017-present, NDLA.
|
|
3
6
|
*
|
|
@@ -9,7 +12,6 @@ import React from 'react';
|
|
|
9
12
|
import Button from '@ndla/button';
|
|
10
13
|
import PreviewImage from './PreviewImage';
|
|
11
14
|
import { getPreviewSrcSets } from './util/imageUtil';
|
|
12
|
-
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
13
15
|
export default function ImageSearchResult(_ref) {
|
|
14
16
|
var image = _ref.image,
|
|
15
17
|
onImageClick = _ref.onImageClick,
|
|
@@ -19,30 +21,33 @@ export default function ImageSearchResult(_ref) {
|
|
|
19
21
|
showCheckbox = _ref.showCheckbox,
|
|
20
22
|
checkboxLabel = _ref.checkboxLabel;
|
|
21
23
|
var active = selectedImage && selectedImage.id === image.id ? 'active' : '';
|
|
22
|
-
return
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
24
|
+
return _jsxs("div", {
|
|
25
|
+
className: "list-item ".concat(active),
|
|
26
|
+
children: [_jsx("div", {
|
|
27
|
+
className: "list-item-inner",
|
|
28
|
+
children: _jsxs(Button, {
|
|
29
|
+
"data-cy": "select-image-from-list",
|
|
30
|
+
stripped: true,
|
|
31
|
+
onClick: function onClick() {
|
|
32
|
+
return onImageClick(image);
|
|
33
|
+
},
|
|
34
|
+
children: [_jsx("img", {
|
|
35
|
+
role: "presentation",
|
|
36
|
+
alt: "presentation",
|
|
37
|
+
srcSet: getPreviewSrcSets(image.previewUrl),
|
|
38
|
+
src: image.previewUrl
|
|
39
|
+
}), _jsx("span", {
|
|
40
|
+
className: "list-item-title",
|
|
41
|
+
children: image.title.title
|
|
42
|
+
})]
|
|
43
|
+
})
|
|
44
|
+
}), selectedImage && selectedImage.id === image.id ? _jsx(PreviewImage, {
|
|
45
|
+
image: selectedImage,
|
|
46
|
+
onSelectImage: onSelectImage,
|
|
47
|
+
useImageTitle: useImageTitle,
|
|
48
|
+
checkboxLabel: checkboxLabel,
|
|
49
|
+
showCheckbox: showCheckbox,
|
|
50
|
+
"aria-hidden": true
|
|
51
|
+
}) : '']
|
|
52
|
+
}, image.id);
|
|
48
53
|
}
|
package/es/PreviewImage.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx } from "@emotion/react/jsx-runtime";
|
|
2
|
+
import { jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
3
|
+
|
|
1
4
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
5
|
|
|
3
6
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -24,7 +27,6 @@ import { uuid } from '@ndla/util';
|
|
|
24
27
|
import { CheckboxItem } from '@ndla/forms';
|
|
25
28
|
import { getSrcSets } from './util/imageUtil';
|
|
26
29
|
import ImageMeta from './ImageMeta';
|
|
27
|
-
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
28
30
|
|
|
29
31
|
var PreviewImage = function PreviewImage(_ref) {
|
|
30
32
|
var _image$tags$tags, _image$title$title, _image$alttext$alttex, _image$caption$captio;
|
|
@@ -47,70 +49,88 @@ var PreviewImage = function PreviewImage(_ref) {
|
|
|
47
49
|
var title = (_image$title$title = image.title.title) !== null && _image$title$title !== void 0 ? _image$title$title : '';
|
|
48
50
|
var altText = (_image$alttext$alttex = image.alttext.alttext) !== null && _image$alttext$alttex !== void 0 ? _image$alttext$alttex : '';
|
|
49
51
|
var caption = (_image$caption$captio = image.caption.caption) !== null && _image$caption$captio !== void 0 ? _image$caption$captio : '';
|
|
50
|
-
return
|
|
51
|
-
className: "image-preview"
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
52
|
+
return _jsxs("div", {
|
|
53
|
+
className: "image-preview",
|
|
54
|
+
children: [_jsx("div", {
|
|
55
|
+
className: "image",
|
|
56
|
+
children: _jsx("img", {
|
|
57
|
+
role: "presentation",
|
|
58
|
+
alt: "presentation",
|
|
59
|
+
srcSet: getSrcSets(image.imageUrl),
|
|
60
|
+
sizes: "(min-width: 800px) 360px, (min-width: 400px) 300px, 100vw",
|
|
61
|
+
src: image.imageUrl,
|
|
62
|
+
"aria-label": title
|
|
63
|
+
})
|
|
64
|
+
}), _jsxs("div", {
|
|
65
|
+
className: "information",
|
|
66
|
+
children: [_jsx("h2", {
|
|
67
|
+
className: "title",
|
|
68
|
+
children: title
|
|
69
|
+
}), image.copyright.creators && image.copyright.creators.length > 0 ? _jsx("div", {
|
|
70
|
+
className: "copyright-author",
|
|
71
|
+
children: _jsx("span", {
|
|
72
|
+
className: "text",
|
|
73
|
+
children: image.copyright.creators.map(function (creator) {
|
|
74
|
+
return creator.name;
|
|
75
|
+
}).join(', ')
|
|
76
|
+
})
|
|
77
|
+
}) : null, _jsx("div", {
|
|
78
|
+
className: "info",
|
|
79
|
+
children: _jsx("span", {
|
|
80
|
+
className: "text",
|
|
81
|
+
children: image.copyright.license.description
|
|
82
|
+
})
|
|
83
|
+
}), _jsx("div", {
|
|
84
|
+
className: "info",
|
|
85
|
+
children: _jsx("span", {
|
|
86
|
+
className: "text",
|
|
87
|
+
children: "".concat(t('image.caption'), ": ").concat(caption)
|
|
88
|
+
})
|
|
89
|
+
}), _jsx("div", {
|
|
90
|
+
className: "info",
|
|
91
|
+
children: _jsx("span", {
|
|
92
|
+
className: "text",
|
|
93
|
+
children: "".concat(t('image.altText'), ": ").concat(altText)
|
|
94
|
+
})
|
|
95
|
+
}), _jsx("div", {
|
|
96
|
+
className: "info",
|
|
97
|
+
children: _jsx("span", {
|
|
98
|
+
className: "text",
|
|
99
|
+
children: "".concat(t('image.modelReleased.label'), ": ").concat(t('image.modelReleased.' + image.modelRelease))
|
|
100
|
+
})
|
|
101
|
+
}), _jsx(ImageMeta, {
|
|
102
|
+
contentType: image.contentType,
|
|
103
|
+
fileSize: image.size,
|
|
104
|
+
imageDimensions: image.imageDimensions
|
|
105
|
+
}), _jsx("div", {
|
|
106
|
+
className: "tags",
|
|
107
|
+
children: tags.map(function (tag) {
|
|
108
|
+
return _jsx("span", {
|
|
109
|
+
className: "tag_item",
|
|
110
|
+
children: "#".concat(tag)
|
|
111
|
+
}, uuid());
|
|
112
|
+
})
|
|
113
|
+
}), _jsx(Button, {
|
|
114
|
+
"data-cy": "use-image",
|
|
115
|
+
onClick: function onClick() {
|
|
116
|
+
return onSelectImage(image, saveAsMetaImage);
|
|
117
|
+
},
|
|
118
|
+
children: useImageTitle
|
|
119
|
+
}), showCheckbox && _jsx("div", {
|
|
120
|
+
children: _jsx(CheckboxItem, {
|
|
121
|
+
label: checkboxLabel,
|
|
122
|
+
checked: saveAsMetaImage,
|
|
123
|
+
onChange: function onChange() {
|
|
124
|
+
return setSaveAsMetaImage(function (prev) {
|
|
125
|
+
return !prev;
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
})
|
|
129
|
+
})]
|
|
130
|
+
}), _jsx("div", {
|
|
131
|
+
className: "clear"
|
|
132
|
+
})]
|
|
133
|
+
});
|
|
114
134
|
};
|
|
115
135
|
|
|
116
136
|
export default PreviewImage;
|
package/lib/ImageMeta.js
CHANGED
|
@@ -7,27 +7,23 @@ exports["default"] = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _base = _interopRequireDefault(require("@emotion/styled/base"));
|
|
9
9
|
|
|
10
|
+
var _jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
11
|
+
|
|
10
12
|
var _react = _interopRequireDefault(require("react"));
|
|
11
13
|
|
|
12
14
|
var _prettyBytes = _interopRequireDefault(require("pretty-bytes"));
|
|
13
15
|
|
|
14
16
|
var _core = require("@ndla/core");
|
|
15
17
|
|
|
16
|
-
var _react2 = require("@emotion/react");
|
|
17
|
-
|
|
18
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
19
19
|
|
|
20
20
|
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
21
21
|
|
|
22
|
-
var StyledDiv = /*#__PURE__*/(0, _base["default"])("div",
|
|
23
|
-
target: "e171zbc01"
|
|
24
|
-
} : {
|
|
22
|
+
var StyledDiv = /*#__PURE__*/(0, _base["default"])("div", {
|
|
25
23
|
target: "e171zbc01",
|
|
26
24
|
label: "StyledDiv"
|
|
27
25
|
})(_core.fonts.sizes('16px', 1.3), ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkltYWdlTWV0YS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYzRCIiwiZmlsZSI6IkltYWdlTWV0YS50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMi1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgcHJldHR5Qnl0ZXMgZnJvbSAncHJldHR5LWJ5dGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGZvbnRzIH0gZnJvbSAnQG5kbGEvY29yZSc7XG5pbXBvcnQgeyBJSW1hZ2VEaW1lbnNpb25zIH0gZnJvbSAnQG5kbGEvdHlwZXMtaW1hZ2UtYXBpJztcblxuY29uc3QgU3R5bGVkRGl2ID0gc3R5bGVkLmRpdmBcbiAgJHtmb250cy5zaXplcygnMTZweCcsIDEuMyl9XG5gO1xuXG5jb25zdCBTdHlsZWRTcGFuID0gc3R5bGVkLnNwYW5gXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbmA7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIGNvbnRlbnRUeXBlOiBzdHJpbmc7XG4gIGZpbGVTaXplOiBudW1iZXI7XG4gIGltYWdlRGltZW5zaW9ucz86IElJbWFnZURpbWVuc2lvbnM7XG59XG5cbmNvbnN0IEltYWdlTWV0YSA9ICh7IGNvbnRlbnRUeXBlLCBmaWxlU2l6ZSwgaW1hZ2VEaW1lbnNpb25zIH06IFByb3BzKSA9PiB7XG4gIGNvbnN0IGRpbWVuc2lvbnMgPSBpbWFnZURpbWVuc2lvbnMgPyBgIC0gJHtpbWFnZURpbWVuc2lvbnMud2lkdGh9eCR7aW1hZ2VEaW1lbnNpb25zLmhlaWdodH0gcHhgIDogJyc7XG4gIHJldHVybiAoXG4gICAgPFN0eWxlZERpdj5cbiAgICAgIDxTdHlsZWRTcGFuPntgJHtjb250ZW50VHlwZX0gLSAke3ByZXR0eUJ5dGVzKGZpbGVTaXplKX0ke2RpbWVuc2lvbnN9YH08L1N0eWxlZFNwYW4+XG4gICAgPC9TdHlsZWREaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBJbWFnZU1ldGE7XG4iXX0= */"));
|
|
28
|
-
var StyledSpan = /*#__PURE__*/(0, _base["default"])("span",
|
|
29
|
-
target: "e171zbc00"
|
|
30
|
-
} : {
|
|
26
|
+
var StyledSpan = /*#__PURE__*/(0, _base["default"])("span", {
|
|
31
27
|
target: "e171zbc00",
|
|
32
28
|
label: "StyledSpan"
|
|
33
29
|
})(process.env.NODE_ENV === "production" ? {
|
|
@@ -45,7 +41,11 @@ var ImageMeta = function ImageMeta(_ref) {
|
|
|
45
41
|
fileSize = _ref.fileSize,
|
|
46
42
|
imageDimensions = _ref.imageDimensions;
|
|
47
43
|
var dimensions = imageDimensions ? " - ".concat(imageDimensions.width, "x").concat(imageDimensions.height, " px") : '';
|
|
48
|
-
return (0,
|
|
44
|
+
return (0, _jsxRuntime.jsx)(StyledDiv, {
|
|
45
|
+
children: (0, _jsxRuntime.jsx)(StyledSpan, {
|
|
46
|
+
children: "".concat(contentType, " - ").concat((0, _prettyBytes["default"])(fileSize)).concat(dimensions)
|
|
47
|
+
})
|
|
48
|
+
});
|
|
49
49
|
};
|
|
50
50
|
|
|
51
51
|
var _default = ImageMeta;
|
package/lib/ImageSearch.js
CHANGED
|
@@ -7,6 +7,8 @@ exports["default"] = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _base = _interopRequireDefault(require("@emotion/styled/base"));
|
|
9
9
|
|
|
10
|
+
var _jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
11
|
+
|
|
10
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
13
|
|
|
12
14
|
var _react2 = require("@emotion/react");
|
|
@@ -51,9 +53,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
|
|
|
51
53
|
|
|
52
54
|
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
53
55
|
|
|
54
|
-
var ImageSearchWrapper = /*#__PURE__*/(0, _base["default"])("div",
|
|
55
|
-
target: "ejbuzb50"
|
|
56
|
-
} : {
|
|
56
|
+
var ImageSearchWrapper = /*#__PURE__*/(0, _base["default"])("div", {
|
|
57
57
|
target: "ejbuzb50",
|
|
58
58
|
label: "ImageSearchWrapper"
|
|
59
59
|
})(".text{text-align:center;}.list-item{position:relative;float:left;height:210px;width:100%;", _core.mq.range({
|
|
@@ -94,8 +94,8 @@ var ImageSearchWrapper = /*#__PURE__*/(0, _base["default"])("div", process.env.N
|
|
|
94
94
|
from: _core.breakpoints.wide
|
|
95
95
|
}), "{.list-item .image-preview{width:500%;}.list-item:nth-of-type(5n - 3) .image-preview{margin-left:-100%;}.list-item:nth-of-type(5n - 2) .image-preview{margin-left:-200%;}.list-item:nth-of-type(5n - 1) .image-preview{margin-left:-300%;}.list-item:nth-of-type(5n) .image-preview{margin-left:-400%;}}@keyframes fadeInSearchPreview{0%{display:none;opacity:0;}1%{opacity:0;display:flex;transform:translateY(-20px);}100%{opacity:1;transform:translateY(0px);}}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkltYWdlU2VhcmNoLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQnFDIiwiZmlsZSI6IkltYWdlU2VhcmNoLnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE3LXByZXNlbnQsIE5ETEEuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgR1BMdjMgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKi9cblxuaW1wb3J0IFJlYWN0LCB7IENoYW5nZUV2ZW50LCBDb21wb25lbnQsIFJlYWN0Tm9kZSwgS2V5Ym9hcmRFdmVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IGZvbnRzLCBjb2xvcnMsIHNwYWNpbmcsIG1xLCBicmVha3BvaW50cyB9IGZyb20gJ0BuZGxhL2NvcmUnO1xuaW1wb3J0IFBhZ2VyIGZyb20gJ0BuZGxhL3BhZ2VyJztcbmltcG9ydCB7IElJbWFnZU1ldGFJbmZvcm1hdGlvblYyLCBJU2VhcmNoUmVzdWx0LCBJSW1hZ2VNZXRhU3VtbWFyeSwgSVNlYXJjaFBhcmFtcyB9IGZyb20gJ0BuZGxhL3R5cGVzLWltYWdlLWFwaSc7XG5pbXBvcnQgeyBJbnB1dCB9IGZyb20gJ0BuZGxhL2Zvcm1zJztcbmltcG9ydCB7IFNlYXJjaCBhcyBTZWFyY2hJY29uIH0gZnJvbSAnQG5kbGEvaWNvbnMvY29tbW9uJztcbmltcG9ydCBJbWFnZVNlYXJjaFJlc3VsdCBmcm9tICcuL0ltYWdlU2VhcmNoUmVzdWx0JztcblxuY29uc3QgSW1hZ2VTZWFyY2hXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgLnRleHQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAubGlzdC1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAyMTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAke21xLnJhbmdlKHsgZnJvbTogYnJlYWtwb2ludHMudGFibGV0IH0pfSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgICAke21xLnJhbmdlKHsgZnJvbTogYnJlYWtwb2ludHMudGFibGV0V2lkZSB9KX0ge1xuICAgICAgd2lkdGg6IDMzLjMlO1xuICAgIH1cbiAgICAke21xLnJhbmdlKHsgZnJvbTogYnJlYWtwb2ludHMuZGVza3RvcCB9KX0ge1xuICAgICAgd2lkdGg6IDI1JTtcbiAgICB9XG4gICAgJHttcS5yYW5nZSh7IGZyb206IGJyZWFrcG9pbnRzLndpZGUgfSl9IHtcbiAgICAgIHdpZHRoOiAyMCU7XG4gICAgfVxuICAgICYuYWN0aXZlIHtcbiAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAubGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tbGVmdDogLSR7c3BhY2luZy5zbWFsbH07XG4gICAgbWFyZ2luLXJpZ2h0OiAtJHtzcGFjaW5nLnNtYWxsfTtcbiAgICBtYXJnaW4tdG9wOiAke3NwYWNpbmcubm9ybWFsfTtcbiAgfVxuXG4gIC5saXN0LWl0ZW0taW5uZXIge1xuICAgIHBhZGRpbmc6ICR7c3BhY2luZy5zbWFsbH07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGhlaWdodDogMjEwcHg7XG5cbiAgICAubGlzdC1pdGVtLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogJHtzcGFjaW5nLnhzbWFsbH0gMDtcbiAgICAgICR7Zm9udHMuc2l6ZXMoJzE0cHgnLCAxLjIpfTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgICAgIG1heC1oZWlnaHQ6ICR7c3BhY2luZy5sYXJnZX07XG4gICAgfVxuICB9XG5cbiAgLmxpc3QtaXRlbS1pbm5lciBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDEzNXB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTAwbXMgZWFzZTtcbiAgfVxuXG4gIC5saXN0LWl0ZW0taW5uZXI6aG92ZXIge1xuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAke2NvbG9ycy5icmFuZC5wcmltYXJ5fTtcbiAgICB9XG4gIH1cblxuICAubGlzdC1pdGVtLWlubmVyID4gLmxpc3QtaXRlbS1pbm5lciBpbWcge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICR7Y29sb3JzLmJyYW5kLnByaW1hcnl9O1xuICB9XG5cbiAgLmxpc3QtaXRlbS5hY3RpdmUgPiAubGlzdC1pdGVtLWlubmVyOjphZnRlciB7XG4gICAgYW5pbWF0aW9uOiBmYWRlSW5TZWFyY2hQcmV2aWV3IDMwMG1zIGVhc2U7XG4gICAgdG9wOiAxOTBweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiAnICc7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTM2LCAxODMsIDIxMywgMCk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHtjb2xvcnMuYnJhbmQubGlnaHRlcn07XG4gICAgYm9yZGVyLXdpZHRoOiAke3NwYWNpbmcubm9ybWFsfTtcbiAgICBtYXJnaW4tbGVmdDogLSR7c3BhY2luZy5ub3JtYWx9O1xuICB9XG5cbiAgLmltYWdlLXByZXZpZXcge1xuICAgIGFuaW1hdGlvbjogZmFkZUluU2VhcmNoUHJldmlldyAzMDBtcyBlYXNlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAke21xLnJhbmdlKHsgZnJvbTogYnJlYWtwb2ludHMudGFibGV0LCB1bnRpbDogYnJlYWtwb2ludHMudGFibGV0V2lkZSB9KX0ge1xuICAgICAgd2lkdGg6IDIwMCU7XG4gICAgfVxuICAgICR7bXEucmFuZ2UoeyBmcm9tOiBicmVha3BvaW50cy50YWJsZXRXaWRlLCB1bnRpbDogYnJlYWtwb2ludHMuZGVza3RvcCB9KX0ge1xuICAgICAgd2lkdGg6IDMwMCU7XG4gICAgfVxuICAgICR7bXEucmFuZ2UoeyBmcm9tOiBicmVha3BvaW50cy5kZXNrdG9wLCB1bnRpbDogYnJlYWtwb2ludHMud2lkZSB9KX0ge1xuICAgICAgd2lkdGg6IDQwMCU7XG4gICAgfVxuICAgICR7bXEucmFuZ2UoeyBmcm9tOiBicmVha3BvaW50cy53aWRlIH0pfSB7XG4gICAgICB3aWR0aDogNTAwJTtcbiAgICB9XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcnMuYnJhbmQubGlnaHRlcn07XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIG1hcmdpbjogMjBweCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgJHttcS5yYW5nZSh7IHVudGlsOiBicmVha3BvaW50cy5tb2JpbGVXaWRlIH0pfSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuaW1hZ2Uge1xuICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nOiAke3NwYWNpbmcuc21hbGx9O1xuICAgICAgJHttcS5yYW5nZSh7IHVudGlsOiBicmVha3BvaW50cy5tb2JpbGVXaWRlIH0pfSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pbmZvIHtcbiAgICAgICR7Zm9udHMuc2l6ZXMoJzE2cHgnLCAxLjMpfVxuICAgIH1cblxuICAgIC5pbWFnZSBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgfVxuXG4gICAgLmluZm9ybWF0aW9uIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nOiBjYWxjKCR7c3BhY2luZy5ub3JtYWx9IC0gJHtzcGFjaW5nLnhzbWFsbH0pICR7c3BhY2luZy5ub3JtYWx9ICR7c3BhY2luZy5ub3JtYWx9ICR7c3BhY2luZy5zbWFsbH07XG4gICAgICB3b3JkLWJyZWFrOiBpbml0aWFsO1xuICAgICAgJHttcS5yYW5nZSh7IHVudGlsOiBicmVha3BvaW50cy5tb2JpbGVXaWRlIH0pfSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwICR7c3BhY2luZy5zbWFsbH0gJHtzcGFjaW5nLm5vcm1hbH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmluZm9ybWF0aW9uID4gKiB7XG4gICAgICBtYXJnaW4tdG9wOiAke3NwYWNpbmcuc21hbGx9O1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgfVxuICAgIC50ZXh0LS1sZWZ0IHtcbiAgICAgIHdpZHRoOiAyMCU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLnRleHQtLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIC50YWdzID4gYiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206ICR7c3BhY2luZy5ub3JtYWx9O1xuICAgIH1cblxuICAgIC50YWdzID4gLnRhZ19pdGVtIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAke2ZvbnRzLndlaWdodC5zZW1pYm9sZH07XG4gICAgICBtYXJnaW4tcmlnaHQ6ICR7c3BhY2luZy54c21hbGx9O1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHtzcGFjaW5nLnhzbWFsbH07XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAke2ZvbnRzLnNpemVzKCcxNnB4JywgMS4zKX1cbiAgICB9XG5cbiAgICAudGFncyA+IC50YWdfaXRlbTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLmNsZWFyIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICR7bXEucmFuZ2UoeyBmcm9tOiBicmVha3BvaW50cy50YWJsZXQsIHVudGlsOiBicmVha3BvaW50cy50YWJsZXRXaWRlIH0pfSB7XG4gICAgLmxpc3QtaXRlbSAuaW1hZ2UtcHJldmlldyB7XG4gICAgICB3aWR0aDogMjAwJTtcbiAgICB9XG4gICAgLmxpc3QtaXRlbTpudGgtb2YtdHlwZSgybikgLmltYWdlLXByZXZpZXcge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xMDAlO1xuICAgIH1cbiAgfVxuICAke21xLnJhbmdlKHsgZnJvbTogYnJlYWtwb2ludHMudGFibGV0V2lkZSwgdW50aWw6IGJyZWFrcG9pbnRzLmRlc2t0b3AgfSl9IHtcbiAgICAubGlzdC1pdGVtIC5pbWFnZS1wcmV2aWV3IHtcbiAgICAgIHdpZHRoOiAzMDAlO1xuICAgIH1cbiAgICAubGlzdC1pdGVtOm50aC1vZi10eXBlKDNuIC0gMSkgLmltYWdlLXByZXZpZXcge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xMDAlO1xuICAgIH1cbiAgICAubGlzdC1pdGVtOm50aC1vZi10eXBlKDNuKSAuaW1hZ2UtcHJldmlldyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTIwMCU7XG4gICAgfVxuICB9XG4gICR7bXEucmFuZ2UoeyBmcm9tOiBicmVha3BvaW50cy5kZXNrdG9wLCB1bnRpbDogYnJlYWtwb2ludHMud2lkZSB9KX0ge1xuICAgIC5saXN0LWl0ZW0gLmltYWdlLXByZXZpZXcge1xuICAgICAgd2lkdGg6IDQwMCU7XG4gICAgfVxuICAgIC5saXN0LWl0ZW06bnRoLW9mLXR5cGUoNG4gLSAyKSAuaW1hZ2UtcHJldmlldyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTEwMCU7XG4gICAgfVxuICAgIC5saXN0LWl0ZW06bnRoLW9mLXR5cGUoNG4gLSAxKSAuaW1hZ2UtcHJldmlldyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTIwMCU7XG4gICAgfVxuICAgIC5saXN0LWl0ZW06bnRoLW9mLXR5cGUoNG4pIC5pbWFnZS1wcmV2aWV3IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMzAwJTtcbiAgICB9XG4gIH1cbiAgJHttcS5yYW5nZSh7IGZyb206IGJyZWFrcG9pbnRzLndpZGUgfSl9IHtcbiAgICAubGlzdC1pdGVtIC5pbWFnZS1wcmV2aWV3IHtcbiAgICAgIHdpZHRoOiA1MDAlO1xuICAgIH1cbiAgICAubGlzdC1pdGVtOm50aC1vZi10eXBlKDVuIC0gMykgLmltYWdlLXByZXZpZXcge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xMDAlO1xuICAgIH1cbiAgICAubGlzdC1pdGVtOm50aC1vZi10eXBlKDVuIC0gMikgLmltYWdlLXByZXZpZXcge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0yMDAlO1xuICAgIH1cbiAgICAubGlzdC1pdGVtOm50aC1vZi10eXBlKDVuIC0gMSkgLmltYWdlLXByZXZpZXcge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0zMDAlO1xuICAgIH1cbiAgICAubGlzdC1pdGVtOm50aC1vZi10eXBlKDVuKSAuaW1hZ2UtcHJldmlldyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTQwMCU7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBmYWRlSW5TZWFyY2hQcmV2aWV3IHtcbiAgICAwJSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgMSUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IHNlYXJjaEljb25Dc3MgPSBjc3NgXG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbmA7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIG9uSW1hZ2VTZWxlY3Q6IChpbWFnZTogSUltYWdlTWV0YUluZm9ybWF0aW9uVjIpID0+IHZvaWQ7XG4gIHNlYXJjaEltYWdlczogKHF1ZXJ5OiBzdHJpbmcgfCB1bmRlZmluZWQsIHBhZ2U6IG51bWJlciB8IHVuZGVmaW5lZCkgPT4gUHJvbWlzZTxJU2VhcmNoUmVzdWx0PjtcbiAgZmV0Y2hJbWFnZTogKGlkOiBudW1iZXIpID0+IFByb21pc2U8SUltYWdlTWV0YUluZm9ybWF0aW9uVjI+O1xuICBvbkVycm9yOiAoZXJyOiBhbnkpID0+IHZvaWQ7XG4gIHNlYXJjaFBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIHNlYXJjaEJ1dHRvblRpdGxlOiBzdHJpbmc7XG4gIGxvY2FsZTogc3RyaW5nO1xuICB1c2VJbWFnZVRpdGxlOiBzdHJpbmc7XG4gIG5vUmVzdWx0cz86IFJlYWN0Tm9kZTtcbiAgY2hlY2tib3hBY3Rpb24/OiAoaW1hZ2U6IElJbWFnZU1ldGFJbmZvcm1hdGlvblYyKSA9PiB2b2lkO1xuICBzaG93Q2hlY2tib3g/OiBib29sZWFuO1xuICBjaGVja2JveExhYmVsPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgU3RhdGUge1xuICBxdWVyeU9iamVjdDogSVNlYXJjaFBhcmFtcztcbiAgaW1hZ2VzOiBJSW1hZ2VNZXRhU3VtbWFyeVtdO1xuICBzZWxlY3RlZEltYWdlPzogSUltYWdlTWV0YUluZm9ybWF0aW9uVjI7XG4gIGxhc3RQYWdlOiBudW1iZXI7XG4gIHNlYXJjaGluZzogYm9vbGVhbjtcbiAgcXVlcnlTdHJpbmc/OiBzdHJpbmc7XG59XG5jbGFzcyBJbWFnZVNlYXJjaCBleHRlbmRzIENvbXBvbmVudDxQcm9wcywgU3RhdGU+IHtcbiAgY29uc3RydWN0b3IocHJvcHM6IFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBxdWVyeU9iamVjdDoge1xuICAgICAgICBxdWVyeTogdW5kZWZpbmVkLFxuICAgICAgICBwYWdlOiAxLFxuICAgICAgICBwYWdlU2l6ZTogMTYsXG4gICAgICB9LFxuICAgICAgaW1hZ2VzOiBbXSxcbiAgICAgIHNlbGVjdGVkSW1hZ2U6IHVuZGVmaW5lZCxcbiAgICAgIGxhc3RQYWdlOiAwLFxuICAgICAgc2VhcmNoaW5nOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgdGhpcy5zZWFyY2hJbWFnZXMgPSB0aGlzLnNlYXJjaEltYWdlcy5iaW5kKHRoaXMpO1xuICAgIHRoaXMub25JbWFnZUNsaWNrID0gdGhpcy5vbkltYWdlQ2xpY2suYmluZCh0aGlzKTtcbiAgICB0aGlzLm9uU2VsZWN0SW1hZ2UgPSB0aGlzLm9uU2VsZWN0SW1hZ2UuYmluZCh0aGlzKTtcbiAgfVxuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIHRoaXMuc2VhcmNoSW1hZ2VzKHRoaXMuc3RhdGUucXVlcnlPYmplY3QpO1xuICB9XG5cbiAgb25JbWFnZUNsaWNrKGltYWdlOiBJSW1hZ2VNZXRhU3VtbWFyeSkge1xuICAgIGNvbnN0IHsgb25FcnJvciwgZmV0Y2hJbWFnZSB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHNlbGVjdGVkSW1hZ2UgfSA9IHRoaXMuc3RhdGU7XG4gICAgaWYgKCFzZWxlY3RlZEltYWdlIHx8IGltYWdlLmlkICE9PSBzZWxlY3RlZEltYWdlLmlkKSB7XG4gICAgICBmZXRjaEltYWdlKHBhcnNlSW50KGltYWdlLmlkKSlcbiAgICAgICAgLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBzZWxlY3RlZEltYWdlOiByZXN1bHQgfSk7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgb25FcnJvcihlcnIpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvblNlbGVjdEltYWdlKGltYWdlOiBJSW1hZ2VNZXRhSW5mb3JtYXRpb25WMiwgc2F2ZUFzTWV0YUltYWdlOiBib29sZWFuKSB7XG4gICAgY29uc3QgeyBvbkltYWdlU2VsZWN0LCBjaGVja2JveEFjdGlvbiB9ID0gdGhpcy5wcm9wcztcbiAgICB0aGlzLnNldFN0YXRlKHsgc2VsZWN0ZWRJbWFnZTogdW5kZWZpbmVkIH0pO1xuICAgIG9uSW1hZ2VTZWxlY3QoaW1hZ2UpO1xuICAgIGlmIChzYXZlQXNNZXRhSW1hZ2UpIHtcbiAgICAgIGNoZWNrYm94QWN0aW9uICYmIGNoZWNrYm94QWN0aW9uKGltYWdlKTtcbiAgICB9XG4gIH1cblxuICBzZWFyY2hJbWFnZXMocXVlcnlPYmplY3Q6IElTZWFyY2hQYXJhbXMpIHtcbiAgICBjb25zdCB7IHNlYXJjaEltYWdlcywgb25FcnJvciB9ID0gdGhpcy5wcm9wcztcbiAgICB0aGlzLnNldFN0YXRlKHsgc2VhcmNoaW5nOiB0cnVlIH0pO1xuICAgIHNlYXJjaEltYWdlcyhxdWVyeU9iamVjdC5xdWVyeSwgcXVlcnlPYmplY3QucGFnZSlcbiAgICAgIC50aGVuKChyZXN1bHQpID0+IHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgcXVlcnlPYmplY3Q6IHtcbiAgICAgICAgICAgIHF1ZXJ5OiBxdWVyeU9iamVjdC5xdWVyeSxcbiAgICAgICAgICAgIHBhZ2VTaXplOiByZXN1bHQucGFnZVNpemUsXG4gICAgICAgICAgICBwYWdlOiBxdWVyeU9iamVjdC5wYWdlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgaW1hZ2VzOiByZXN1bHQucmVzdWx0cyxcbiAgICAgICAgICBsYXN0UGFnZTogTWF0aC5jZWlsKHJlc3VsdC50b3RhbENvdW50IC8gcmVzdWx0LnBhZ2VTaXplKSxcbiAgICAgICAgICBzZWFyY2hpbmc6IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICBvbkVycm9yKGVycik7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBzZWFyY2hpbmc6IGZhbHNlIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBzZWFyY2hQbGFjZWhvbGRlciwgc2VhcmNoQnV0dG9uVGl0bGUsIHVzZUltYWdlVGl0bGUsIHNob3dDaGVja2JveCwgY2hlY2tib3hMYWJlbCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IHsgcXVlcnlPYmplY3QsIGltYWdlcywgc2VsZWN0ZWRJbWFnZSwgbGFzdFBhZ2UsIHNlYXJjaGluZywgcXVlcnlTdHJpbmcgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICBjb25zdCB7IHBhZ2UgfSA9IHF1ZXJ5T2JqZWN0O1xuICAgIGNvbnN0IG5vUmVzdWx0c0ZvdW5kID0gIXNlYXJjaGluZyAmJiBpbWFnZXMubGVuZ3RoID09PSAwO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxJbWFnZVNlYXJjaFdyYXBwZXI+XG4gICAgICAgIDxJbnB1dFxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtzZWFyY2hQbGFjZWhvbGRlcn1cbiAgICAgICAgICBhdXRvRm9jdXNcbiAgICAgICAgICBpY29uUmlnaHQ9e1xuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjc3M9e3NlYXJjaEljb25Dc3N9XG4gICAgICAgICAgICAgIGFyaWEtbGFiZWw9e3NlYXJjaEJ1dHRvblRpdGxlfVxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoSW1hZ2VzKHsgcXVlcnk6IHF1ZXJ5U3RyaW5nLCBwYWdlOiAxIH0pO1xuICAgICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAgPFNlYXJjaEljb24gLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIH1cbiAgICAgICAgICB2YWx1ZT17cXVlcnlTdHJpbmd9XG4gICAgICAgICAgb25DaGFuZ2U9eyhldnQ6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB0aGlzLnNldFN0YXRlKHsgcXVlcnlTdHJpbmc6IGV2dC50YXJnZXQudmFsdWUgfSl9XG4gICAgICAgICAgb25LZXlQcmVzcz17KGV2dDogS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgICAgICAgaWYgKGV2dC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIHRoaXMuc2VhcmNoSW1hZ2VzKHsgcXVlcnk6IHF1ZXJ5U3RyaW5nLCBwYWdlOiAxIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIHtub1Jlc3VsdHNGb3VuZCAmJiB0aGlzLnByb3BzLm5vUmVzdWx0c31cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsaXN0XCI+XG4gICAgICAgICAge2ltYWdlcy5tYXAoKGltYWdlKSA9PiAoXG4gICAgICAgICAgICA8SW1hZ2VTZWFyY2hSZXN1bHRcbiAgICAgICAgICAgICAga2V5PXtpbWFnZS5pZH1cbiAgICAgICAgICAgICAgaW1hZ2U9e2ltYWdlfVxuICAgICAgICAgICAgICBvbkltYWdlQ2xpY2s9e3RoaXMub25JbWFnZUNsaWNrfVxuICAgICAgICAgICAgICBzZWxlY3RlZEltYWdlPXtzZWxlY3RlZEltYWdlfVxuICAgICAgICAgICAgICBvblNlbGVjdEltYWdlPXt0aGlzLm9uU2VsZWN0SW1hZ2V9XG4gICAgICAgICAgICAgIHVzZUltYWdlVGl0bGU9e3VzZUltYWdlVGl0bGV9XG4gICAgICAgICAgICAgIHNob3dDaGVja2JveD17ISFzaG93Q2hlY2tib3h9XG4gICAgICAgICAgICAgIGNoZWNrYm94TGFiZWw9e2NoZWNrYm94TGFiZWx9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPFBhZ2VyXG4gICAgICAgICAgcGFnZT17cGFnZSA/PyAxfVxuICAgICAgICAgIHBhdGhuYW1lPVwiXCJcbiAgICAgICAgICBsYXN0UGFnZT17bGFzdFBhZ2V9XG4gICAgICAgICAgcXVlcnk9e3F1ZXJ5T2JqZWN0fVxuICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuc2VhcmNoSW1hZ2VzfVxuICAgICAgICAgIHBhZ2VJdGVtQ29tcG9uZW50Q2xhc3M9XCJidXR0b25cIlxuICAgICAgICAvPlxuICAgICAgPC9JbWFnZVNlYXJjaFdyYXBwZXI+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBJbWFnZVNlYXJjaDtcbiJdfQ== */"));
|
|
96
96
|
var searchIconCss = process.env.NODE_ENV === "production" ? {
|
|
97
|
-
name: "
|
|
98
|
-
styles: "border:0;background:transparent;margin:0;padding:0"
|
|
97
|
+
name: "imhgxk-searchIconCss",
|
|
98
|
+
styles: "border:0;background:transparent;margin:0;padding:0;label:searchIconCss;"
|
|
99
99
|
} : {
|
|
100
100
|
name: "imhgxk-searchIconCss",
|
|
101
101
|
styles: "border:0;background:transparent;margin:0;padding:0;label:searchIconCss;",
|
|
@@ -221,57 +221,60 @@ var ImageSearch = /*#__PURE__*/function (_Component) {
|
|
|
221
221
|
queryString = _this$state.queryString;
|
|
222
222
|
var page = queryObject.page;
|
|
223
223
|
var noResultsFound = !searching && images.length === 0;
|
|
224
|
-
return (0,
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
onKeyPress: function onKeyPress(evt) {
|
|
245
|
-
if (evt.key === 'Enter') {
|
|
246
|
-
evt.preventDefault();
|
|
247
|
-
|
|
248
|
-
_this4.searchImages({
|
|
249
|
-
query: queryString,
|
|
250
|
-
page: 1
|
|
224
|
+
return (0, _jsxRuntime.jsxs)(ImageSearchWrapper, {
|
|
225
|
+
children: [(0, _jsxRuntime.jsx)(_forms.Input, {
|
|
226
|
+
placeholder: searchPlaceholder,
|
|
227
|
+
autoFocus: true,
|
|
228
|
+
iconRight: (0, _jsxRuntime.jsx)("button", {
|
|
229
|
+
css: searchIconCss,
|
|
230
|
+
"aria-label": searchButtonTitle,
|
|
231
|
+
type: "button",
|
|
232
|
+
onClick: function onClick() {
|
|
233
|
+
_this4.searchImages({
|
|
234
|
+
query: queryString,
|
|
235
|
+
page: 1
|
|
236
|
+
});
|
|
237
|
+
},
|
|
238
|
+
children: (0, _jsxRuntime.jsx)(_common.Search, {})
|
|
239
|
+
}),
|
|
240
|
+
value: queryString,
|
|
241
|
+
onChange: function onChange(evt) {
|
|
242
|
+
return _this4.setState({
|
|
243
|
+
queryString: evt.target.value
|
|
251
244
|
});
|
|
245
|
+
},
|
|
246
|
+
onKeyPress: function onKeyPress(evt) {
|
|
247
|
+
if (evt.key === 'Enter') {
|
|
248
|
+
evt.preventDefault();
|
|
249
|
+
|
|
250
|
+
_this4.searchImages({
|
|
251
|
+
query: queryString,
|
|
252
|
+
page: 1
|
|
253
|
+
});
|
|
254
|
+
}
|
|
252
255
|
}
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
})
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
})
|
|
256
|
+
}), noResultsFound && this.props.noResults, (0, _jsxRuntime.jsx)("div", {
|
|
257
|
+
className: "list",
|
|
258
|
+
children: images.map(function (image) {
|
|
259
|
+
return (0, _jsxRuntime.jsx)(_ImageSearchResult["default"], {
|
|
260
|
+
image: image,
|
|
261
|
+
onImageClick: _this4.onImageClick,
|
|
262
|
+
selectedImage: selectedImage,
|
|
263
|
+
onSelectImage: _this4.onSelectImage,
|
|
264
|
+
useImageTitle: useImageTitle,
|
|
265
|
+
showCheckbox: !!showCheckbox,
|
|
266
|
+
checkboxLabel: checkboxLabel
|
|
267
|
+
}, image.id);
|
|
268
|
+
})
|
|
269
|
+
}), (0, _jsxRuntime.jsx)(_pager["default"], {
|
|
270
|
+
page: page !== null && page !== void 0 ? page : 1,
|
|
271
|
+
pathname: "",
|
|
272
|
+
lastPage: lastPage,
|
|
273
|
+
query: queryObject,
|
|
274
|
+
onClick: this.searchImages,
|
|
275
|
+
pageItemComponentClass: "button"
|
|
276
|
+
})]
|
|
277
|
+
});
|
|
275
278
|
}
|
|
276
279
|
}]);
|
|
277
280
|
|
package/lib/ImageSearchResult.js
CHANGED
|
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = ImageSearchResult;
|
|
7
7
|
|
|
8
|
+
var _jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
9
|
+
|
|
8
10
|
var _react = _interopRequireDefault(require("react"));
|
|
9
11
|
|
|
10
12
|
var _button = _interopRequireDefault(require("@ndla/button"));
|
|
@@ -13,8 +15,6 @@ var _PreviewImage = _interopRequireDefault(require("./PreviewImage"));
|
|
|
13
15
|
|
|
14
16
|
var _imageUtil = require("./util/imageUtil");
|
|
15
17
|
|
|
16
|
-
var _react2 = require("@emotion/react");
|
|
17
|
-
|
|
18
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
19
19
|
|
|
20
20
|
/**
|
|
@@ -33,30 +33,33 @@ function ImageSearchResult(_ref) {
|
|
|
33
33
|
showCheckbox = _ref.showCheckbox,
|
|
34
34
|
checkboxLabel = _ref.checkboxLabel;
|
|
35
35
|
var active = selectedImage && selectedImage.id === image.id ? 'active' : '';
|
|
36
|
-
return (0,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
36
|
+
return (0, _jsxRuntime.jsxs)("div", {
|
|
37
|
+
className: "list-item ".concat(active),
|
|
38
|
+
children: [(0, _jsxRuntime.jsx)("div", {
|
|
39
|
+
className: "list-item-inner",
|
|
40
|
+
children: (0, _jsxRuntime.jsxs)(_button["default"], {
|
|
41
|
+
"data-cy": "select-image-from-list",
|
|
42
|
+
stripped: true,
|
|
43
|
+
onClick: function onClick() {
|
|
44
|
+
return onImageClick(image);
|
|
45
|
+
},
|
|
46
|
+
children: [(0, _jsxRuntime.jsx)("img", {
|
|
47
|
+
role: "presentation",
|
|
48
|
+
alt: "presentation",
|
|
49
|
+
srcSet: (0, _imageUtil.getPreviewSrcSets)(image.previewUrl),
|
|
50
|
+
src: image.previewUrl
|
|
51
|
+
}), (0, _jsxRuntime.jsx)("span", {
|
|
52
|
+
className: "list-item-title",
|
|
53
|
+
children: image.title.title
|
|
54
|
+
})]
|
|
55
|
+
})
|
|
56
|
+
}), selectedImage && selectedImage.id === image.id ? (0, _jsxRuntime.jsx)(_PreviewImage["default"], {
|
|
57
|
+
image: selectedImage,
|
|
58
|
+
onSelectImage: onSelectImage,
|
|
59
|
+
useImageTitle: useImageTitle,
|
|
60
|
+
checkboxLabel: checkboxLabel,
|
|
61
|
+
showCheckbox: showCheckbox,
|
|
62
|
+
"aria-hidden": true
|
|
63
|
+
}) : '']
|
|
64
|
+
}, image.id);
|
|
62
65
|
}
|
package/lib/PreviewImage.js
CHANGED
|
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports["default"] = void 0;
|
|
9
9
|
|
|
10
|
+
var _jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
11
|
+
|
|
10
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
13
|
|
|
12
14
|
var _reactI18next = require("react-i18next");
|
|
@@ -21,8 +23,6 @@ var _imageUtil = require("./util/imageUtil");
|
|
|
21
23
|
|
|
22
24
|
var _ImageMeta = _interopRequireDefault(require("./ImageMeta"));
|
|
23
25
|
|
|
24
|
-
var _react2 = require("@emotion/react");
|
|
25
|
-
|
|
26
26
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
27
27
|
|
|
28
28
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
|
@@ -62,70 +62,88 @@ var PreviewImage = function PreviewImage(_ref) {
|
|
|
62
62
|
var title = (_image$title$title = image.title.title) !== null && _image$title$title !== void 0 ? _image$title$title : '';
|
|
63
63
|
var altText = (_image$alttext$alttex = image.alttext.alttext) !== null && _image$alttext$alttex !== void 0 ? _image$alttext$alttex : '';
|
|
64
64
|
var caption = (_image$caption$captio = image.caption.caption) !== null && _image$caption$captio !== void 0 ? _image$caption$captio : '';
|
|
65
|
-
return (0,
|
|
66
|
-
className: "image-preview"
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
65
|
+
return (0, _jsxRuntime.jsxs)("div", {
|
|
66
|
+
className: "image-preview",
|
|
67
|
+
children: [(0, _jsxRuntime.jsx)("div", {
|
|
68
|
+
className: "image",
|
|
69
|
+
children: (0, _jsxRuntime.jsx)("img", {
|
|
70
|
+
role: "presentation",
|
|
71
|
+
alt: "presentation",
|
|
72
|
+
srcSet: (0, _imageUtil.getSrcSets)(image.imageUrl),
|
|
73
|
+
sizes: "(min-width: 800px) 360px, (min-width: 400px) 300px, 100vw",
|
|
74
|
+
src: image.imageUrl,
|
|
75
|
+
"aria-label": title
|
|
76
|
+
})
|
|
77
|
+
}), (0, _jsxRuntime.jsxs)("div", {
|
|
78
|
+
className: "information",
|
|
79
|
+
children: [(0, _jsxRuntime.jsx)("h2", {
|
|
80
|
+
className: "title",
|
|
81
|
+
children: title
|
|
82
|
+
}), image.copyright.creators && image.copyright.creators.length > 0 ? (0, _jsxRuntime.jsx)("div", {
|
|
83
|
+
className: "copyright-author",
|
|
84
|
+
children: (0, _jsxRuntime.jsx)("span", {
|
|
85
|
+
className: "text",
|
|
86
|
+
children: image.copyright.creators.map(function (creator) {
|
|
87
|
+
return creator.name;
|
|
88
|
+
}).join(', ')
|
|
89
|
+
})
|
|
90
|
+
}) : null, (0, _jsxRuntime.jsx)("div", {
|
|
91
|
+
className: "info",
|
|
92
|
+
children: (0, _jsxRuntime.jsx)("span", {
|
|
93
|
+
className: "text",
|
|
94
|
+
children: image.copyright.license.description
|
|
95
|
+
})
|
|
96
|
+
}), (0, _jsxRuntime.jsx)("div", {
|
|
97
|
+
className: "info",
|
|
98
|
+
children: (0, _jsxRuntime.jsx)("span", {
|
|
99
|
+
className: "text",
|
|
100
|
+
children: "".concat(t('image.caption'), ": ").concat(caption)
|
|
101
|
+
})
|
|
102
|
+
}), (0, _jsxRuntime.jsx)("div", {
|
|
103
|
+
className: "info",
|
|
104
|
+
children: (0, _jsxRuntime.jsx)("span", {
|
|
105
|
+
className: "text",
|
|
106
|
+
children: "".concat(t('image.altText'), ": ").concat(altText)
|
|
107
|
+
})
|
|
108
|
+
}), (0, _jsxRuntime.jsx)("div", {
|
|
109
|
+
className: "info",
|
|
110
|
+
children: (0, _jsxRuntime.jsx)("span", {
|
|
111
|
+
className: "text",
|
|
112
|
+
children: "".concat(t('image.modelReleased.label'), ": ").concat(t('image.modelReleased.' + image.modelRelease))
|
|
113
|
+
})
|
|
114
|
+
}), (0, _jsxRuntime.jsx)(_ImageMeta["default"], {
|
|
115
|
+
contentType: image.contentType,
|
|
116
|
+
fileSize: image.size,
|
|
117
|
+
imageDimensions: image.imageDimensions
|
|
118
|
+
}), (0, _jsxRuntime.jsx)("div", {
|
|
119
|
+
className: "tags",
|
|
120
|
+
children: tags.map(function (tag) {
|
|
121
|
+
return (0, _jsxRuntime.jsx)("span", {
|
|
122
|
+
className: "tag_item",
|
|
123
|
+
children: "#".concat(tag)
|
|
124
|
+
}, (0, _util.uuid)());
|
|
125
|
+
})
|
|
126
|
+
}), (0, _jsxRuntime.jsx)(_button["default"], {
|
|
127
|
+
"data-cy": "use-image",
|
|
128
|
+
onClick: function onClick() {
|
|
129
|
+
return onSelectImage(image, saveAsMetaImage);
|
|
130
|
+
},
|
|
131
|
+
children: useImageTitle
|
|
132
|
+
}), showCheckbox && (0, _jsxRuntime.jsx)("div", {
|
|
133
|
+
children: (0, _jsxRuntime.jsx)(_forms.CheckboxItem, {
|
|
134
|
+
label: checkboxLabel,
|
|
135
|
+
checked: saveAsMetaImage,
|
|
136
|
+
onChange: function onChange() {
|
|
137
|
+
return setSaveAsMetaImage(function (prev) {
|
|
138
|
+
return !prev;
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
})
|
|
142
|
+
})]
|
|
143
|
+
}), (0, _jsxRuntime.jsx)("div", {
|
|
144
|
+
className: "clear"
|
|
145
|
+
})]
|
|
146
|
+
});
|
|
129
147
|
};
|
|
130
148
|
|
|
131
149
|
var _default = PreviewImage;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ndla/image-search",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.6",
|
|
4
4
|
"description": "A simple library for searching images from NDLA",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -26,13 +26,13 @@
|
|
|
26
26
|
"es"
|
|
27
27
|
],
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@ndla/button": "^4.0.
|
|
29
|
+
"@ndla/button": "^4.0.5",
|
|
30
30
|
"@ndla/core": "^3.0.0",
|
|
31
|
-
"@ndla/forms": "^4.0.
|
|
32
|
-
"@ndla/icons": "^2.0.
|
|
33
|
-
"@ndla/pager": "^2.0.
|
|
34
|
-
"@ndla/ui": "^30.0.
|
|
35
|
-
"@ndla/util": "^3.1.
|
|
31
|
+
"@ndla/forms": "^4.0.5",
|
|
32
|
+
"@ndla/icons": "^2.0.5",
|
|
33
|
+
"@ndla/pager": "^2.0.5",
|
|
34
|
+
"@ndla/ui": "^30.0.6",
|
|
35
|
+
"@ndla/util": "^3.1.5",
|
|
36
36
|
"pretty-bytes": "^5.6.0"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
@@ -46,5 +46,5 @@
|
|
|
46
46
|
"publishConfig": {
|
|
47
47
|
"access": "public"
|
|
48
48
|
},
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "e62f69c71e7b72b1e346508e8ad483afd36eeffd"
|
|
50
50
|
}
|