@micromag/core 0.3.111 → 0.3.117

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/lib/hooks.js CHANGED
@@ -1089,6 +1089,29 @@ var useMediasParser = function useMediasParser() {
1089
1089
  };
1090
1090
  };
1091
1091
 
1092
+ function useMediaThumbnail(media) {
1093
+ var file = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1094
+
1095
+ var _ref = media || {},
1096
+ _ref$thumbnail_url = _ref.thumbnail_url,
1097
+ defaultThumbnailUrl = _ref$thumbnail_url === void 0 ? null : _ref$thumbnail_url,
1098
+ _ref$files = _ref.files,
1099
+ files = _ref$files === void 0 ? null : _ref$files;
1100
+
1101
+ var thumbnailUrl = react.useMemo(function () {
1102
+ var filesArray = utils.getMediaFilesAsArray(files) || [];
1103
+
1104
+ var _ref2 = (file !== null ? filesArray.find(function (_ref3) {
1105
+ var handle = _ref3.handle;
1106
+ return handle === file;
1107
+ }) || null : null) || {},
1108
+ url = _ref2.url;
1109
+
1110
+ return url || defaultThumbnailUrl;
1111
+ }, [files, file, defaultThumbnailUrl]);
1112
+ return thumbnailUrl;
1113
+ }
1114
+
1092
1115
  var useParsedStory = function useParsedStory(story) {
1093
1116
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
1094
1117
  _ref$disabled = _ref.disabled,
@@ -1615,6 +1638,7 @@ exports.useIsVisible = useIsVisible;
1615
1638
  exports.useLoadedFonts = useLoadedFonts;
1616
1639
  exports.useLongPress = useLongPress;
1617
1640
  exports.useMediaApi = useMediaApi;
1641
+ exports.useMediaThumbnail = useMediaThumbnail;
1618
1642
  exports.useMediasParser = useMediasParser;
1619
1643
  exports.useObserver = useObserver;
1620
1644
  exports.useParsedStory = useParsedStory;
package/lib/index.js CHANGED
@@ -18,6 +18,8 @@ var _createSuper = require('@babel/runtime/helpers/createSuper');
18
18
  var EventEmitter = require('wolfy87-eventemitter');
19
19
  require('lodash/isNumber');
20
20
  require('param-case');
21
+ require('@babel/runtime/helpers/asyncToGenerator');
22
+ require('@babel/runtime/regenerator');
21
23
  require('react');
22
24
  var isString = require('lodash/isString');
23
25
  require('tinycolor2');
package/lib/utils.js CHANGED
@@ -4,6 +4,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var isNumber = require('lodash/isNumber');
6
6
  var paramCase = require('param-case');
7
+ var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
8
+ var _regeneratorRuntime = require('@babel/runtime/regenerator');
7
9
  var isObject = require('lodash/isObject');
8
10
  var react = require('react');
9
11
  var isString = require('lodash/isString');
@@ -20,6 +22,8 @@ var slugify = require('slugify');
20
22
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
21
23
 
22
24
  var isNumber__default = /*#__PURE__*/_interopDefaultLegacy(isNumber);
25
+ var _asyncToGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_asyncToGenerator);
26
+ var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
23
27
  var isObject__default = /*#__PURE__*/_interopDefaultLegacy(isObject);
24
28
  var isString__default = /*#__PURE__*/_interopDefaultLegacy(isString);
25
29
  var tinycolor__default = /*#__PURE__*/_interopDefaultLegacy(tinycolor);
@@ -37,6 +41,141 @@ var convertStyleToString = function convertStyleToString(style) {
37
41
  }).join('\n') : '';
38
42
  };
39
43
 
44
+ /*! clipboard-copy. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
45
+ // @todo vendoring this: https://github.com/feross/clipboard-copy/blob/master/index.js
46
+ // we might want to add that to the npm deps and just use it?
47
+ function makeError() {
48
+ return new DOMException('The request is not allowed', 'NotAllowedError');
49
+ }
50
+
51
+ function copyClipboardApi(_x) {
52
+ return _copyClipboardApi.apply(this, arguments);
53
+ }
54
+
55
+ function _copyClipboardApi() {
56
+ _copyClipboardApi = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(text) {
57
+ return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
58
+ while (1) {
59
+ switch (_context.prev = _context.next) {
60
+ case 0:
61
+ if (navigator.clipboard) {
62
+ _context.next = 2;
63
+ break;
64
+ }
65
+
66
+ throw makeError();
67
+
68
+ case 2:
69
+ return _context.abrupt("return", navigator.clipboard.writeText(text));
70
+
71
+ case 3:
72
+ case "end":
73
+ return _context.stop();
74
+ }
75
+ }
76
+ }, _callee);
77
+ }));
78
+ return _copyClipboardApi.apply(this, arguments);
79
+ }
80
+
81
+ function copyExecCommand(_x2) {
82
+ return _copyExecCommand.apply(this, arguments);
83
+ }
84
+
85
+ function _copyExecCommand() {
86
+ _copyExecCommand = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee2(text) {
87
+ var span, selection, range, success;
88
+ return _regeneratorRuntime__default["default"].wrap(function _callee2$(_context2) {
89
+ while (1) {
90
+ switch (_context2.prev = _context2.next) {
91
+ case 0:
92
+ // Put the text to copy into a <span>
93
+ span = document.createElement('span');
94
+ span.textContent = text; // Preserve consecutive spaces and newlines
95
+
96
+ span.style.whiteSpace = 'pre';
97
+ span.style.webkitUserSelect = 'auto';
98
+ span.style.userSelect = 'all'; // Add the <span> to the page
99
+
100
+ document.body.appendChild(span); // Make a selection object representing the range of text selected by the user
101
+
102
+ selection = window.getSelection();
103
+ range = window.document.createRange();
104
+ selection.removeAllRanges();
105
+ range.selectNode(span);
106
+ selection.addRange(range); // Copy text to the clipboard
107
+
108
+ success = false;
109
+
110
+ try {
111
+ success = window.document.execCommand('copy');
112
+ } finally {
113
+ // Cleanup
114
+ selection.removeAllRanges();
115
+ window.document.body.removeChild(span);
116
+ }
117
+
118
+ if (success) {
119
+ _context2.next = 15;
120
+ break;
121
+ }
122
+
123
+ throw makeError();
124
+
125
+ case 15:
126
+ case "end":
127
+ return _context2.stop();
128
+ }
129
+ }
130
+ }, _callee2);
131
+ }));
132
+ return _copyExecCommand.apply(this, arguments);
133
+ }
134
+
135
+ function copyToClipboard(_x3) {
136
+ return _copyToClipboard.apply(this, arguments);
137
+ }
138
+
139
+ function _copyToClipboard() {
140
+ _copyToClipboard = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee3(text) {
141
+ return _regeneratorRuntime__default["default"].wrap(function _callee3$(_context3) {
142
+ while (1) {
143
+ switch (_context3.prev = _context3.next) {
144
+ case 0:
145
+ _context3.prev = 0;
146
+ _context3.next = 3;
147
+ return copyClipboardApi(text);
148
+
149
+ case 3:
150
+ _context3.next = 15;
151
+ break;
152
+
153
+ case 5:
154
+ _context3.prev = 5;
155
+ _context3.t0 = _context3["catch"](0);
156
+ _context3.prev = 7;
157
+ _context3.next = 10;
158
+ return copyExecCommand(text);
159
+
160
+ case 10:
161
+ _context3.next = 15;
162
+ break;
163
+
164
+ case 12:
165
+ _context3.prev = 12;
166
+ _context3.t1 = _context3["catch"](7);
167
+ throw _context3.t1 || _context3.t0 || makeError();
168
+
169
+ case 15:
170
+ case "end":
171
+ return _context3.stop();
172
+ }
173
+ }
174
+ }, _callee3, null, [[0, 5], [7, 12]]);
175
+ }));
176
+ return _copyToClipboard.apply(this, arguments);
177
+ }
178
+
40
179
  var createNullableOnChange = function createNullableOnChange() {
41
180
  var onChange = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
42
181
  return function (newValue) {
@@ -878,6 +1017,7 @@ Object.defineProperty(exports, 'snakeCase', {
878
1017
  get: function () { return changeCase.snakeCase; }
879
1018
  });
880
1019
  exports.convertStyleToString = convertStyleToString;
1020
+ exports.copyToClipboard = copyToClipboard;
881
1021
  exports.createNullableOnChange = createNullableOnChange;
882
1022
  exports.createUseEvent = createUseEvent;
883
1023
  exports.getColorAsString = getColorAsString;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/core",
3
- "version": "0.3.111",
3
+ "version": "0.3.117",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "javascript"
@@ -132,5 +132,5 @@
132
132
  "publishConfig": {
133
133
  "access": "public"
134
134
  },
135
- "gitHead": "0b8e0748efe102dae09d162dc4f06a0b0797ea35"
135
+ "gitHead": "eab1c9a0b8c19d747fee6472158779f33b1f18d3"
136
136
  }