@ndla/ui 22.0.1 → 22.0.2

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.
Files changed (53) hide show
  1. package/es/ContentLoader/index.js +8 -3
  2. package/es/Resource/BlockResource.js +105 -18
  3. package/es/Resource/ListResource.js +124 -26
  4. package/es/SnackBar/DefaultSnackbar.js +56 -0
  5. package/es/SnackBar/SnackbarProvider.js +179 -0
  6. package/es/SnackBar/index.js +2 -2
  7. package/es/index.js +1 -1
  8. package/es/locale/messages-en.js +9 -2
  9. package/es/locale/messages-nb.js +9 -2
  10. package/es/locale/messages-nn.js +9 -2
  11. package/es/locale/messages-se.js +9 -2
  12. package/es/locale/messages-sma.js +9 -2
  13. package/lib/ContentLoader/index.d.ts +4 -8
  14. package/lib/ContentLoader/index.js +8 -3
  15. package/lib/Resource/BlockResource.d.ts +2 -1
  16. package/lib/Resource/BlockResource.js +106 -18
  17. package/lib/Resource/ListResource.d.ts +2 -1
  18. package/lib/Resource/ListResource.js +125 -26
  19. package/lib/SnackBar/DefaultSnackbar.d.ts +11 -0
  20. package/lib/SnackBar/DefaultSnackbar.js +70 -0
  21. package/lib/SnackBar/SnackbarProvider.d.ts +32 -0
  22. package/lib/SnackBar/SnackbarProvider.js +197 -0
  23. package/lib/SnackBar/index.d.ts +3 -3
  24. package/lib/SnackBar/index.js +23 -3
  25. package/lib/index.d.ts +2 -2
  26. package/lib/index.js +24 -3
  27. package/lib/locale/messages-en.d.ts +7 -0
  28. package/lib/locale/messages-en.js +9 -2
  29. package/lib/locale/messages-nb.d.ts +7 -0
  30. package/lib/locale/messages-nb.js +9 -2
  31. package/lib/locale/messages-nn.d.ts +7 -0
  32. package/lib/locale/messages-nn.js +9 -2
  33. package/lib/locale/messages-se.d.ts +7 -0
  34. package/lib/locale/messages-se.js +9 -2
  35. package/lib/locale/messages-sma.d.ts +7 -0
  36. package/lib/locale/messages-sma.js +9 -2
  37. package/package.json +5 -5
  38. package/src/ContentLoader/index.tsx +9 -9
  39. package/src/Resource/BlockResource.tsx +65 -4
  40. package/src/Resource/ListResource.tsx +85 -10
  41. package/src/SnackBar/DefaultSnackbar.tsx +70 -0
  42. package/src/SnackBar/SnackbarProvider.tsx +147 -0
  43. package/src/SnackBar/index.ts +3 -5
  44. package/src/index.ts +2 -2
  45. package/src/locale/messages-en.ts +7 -0
  46. package/src/locale/messages-nb.ts +7 -0
  47. package/src/locale/messages-nn.ts +7 -0
  48. package/src/locale/messages-se.ts +7 -0
  49. package/src/locale/messages-sma.ts +7 -0
  50. package/es/SnackBar/SnackBar.js +0 -117
  51. package/lib/SnackBar/SnackBar.d.ts +0 -23
  52. package/lib/SnackBar/SnackBar.js +0 -127
  53. package/src/SnackBar/SnackBar.tsx +0 -183
@@ -0,0 +1,179 @@
1
+ import _styled from "@emotion/styled-base";
2
+
3
+ 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); }
4
+
5
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
6
+
7
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
8
+
9
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
10
+
11
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
12
+
13
+ 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."); }
14
+
15
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
16
+
17
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
18
+
19
+ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
20
+
21
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
22
+
23
+ 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)."; }
24
+
25
+ /**
26
+ * Copyright (c) 2022-present, NDLA.
27
+ *
28
+ * This source code is licensed under the GPLv3 license found in the
29
+ * LICENSE file in the root directory of this source tree.
30
+ *
31
+ */
32
+ import React, { useCallback, useMemo, createContext, useState, useContext, useEffect } from 'react';
33
+ import { keyframes } from '@emotion/core';
34
+ import { spacing } from '@ndla/core';
35
+ import DefaultSnack from './DefaultSnackbar';
36
+ import { jsx as ___EmotionJSX } from "@emotion/core";
37
+ var SnackbarContext = /*#__PURE__*/createContext(undefined);
38
+ export var useSnack = function useSnack() {
39
+ var context = useContext(SnackbarContext);
40
+
41
+ if (!context) {
42
+ throw new Error('useSnack can only be used within a SnackbarProvider!');
43
+ }
44
+
45
+ return context;
46
+ };
47
+ export var SnackbarProvider = function SnackbarProvider(_ref) {
48
+ var children = _ref.children;
49
+
50
+ var _useState = useState([]),
51
+ _useState2 = _slicedToArray(_useState, 2),
52
+ snacks = _useState2[0],
53
+ setSnacks = _useState2[1];
54
+
55
+ var addSnack = useCallback(function (snack) {
56
+ setSnacks(function (prev) {
57
+ return prev.filter(function (s) {
58
+ return s.id !== snack.id;
59
+ }).concat(snack);
60
+ });
61
+ }, []);
62
+ var removeSnack = useCallback(function (snackId) {
63
+ setSnacks(function (prev) {
64
+ return prev.filter(function (_ref2) {
65
+ var id = _ref2.id;
66
+ return snackId !== id;
67
+ });
68
+ });
69
+ }, []);
70
+ var closeSnack = useCallback(function (snack) {
71
+ setSnacks(function (prev) {
72
+ return prev.map(function (p) {
73
+ return p.id === snack.id ? _objectSpread(_objectSpread({}, p), {}, {
74
+ duration: 0
75
+ }) : p;
76
+ });
77
+ });
78
+ }, []);
79
+ var clearSnacks = useCallback(function () {
80
+ return setSnacks([]);
81
+ }, []);
82
+ var value = useMemo(function () {
83
+ return {
84
+ addSnack: addSnack,
85
+ removeSnack: removeSnack,
86
+ clearSnacks: clearSnacks,
87
+ closeSnack: closeSnack
88
+ };
89
+ }, [addSnack, removeSnack, clearSnacks, closeSnack]);
90
+ return ___EmotionJSX(SnackbarContext.Provider, {
91
+ value: value
92
+ }, children, ___EmotionJSX(SnackbarContainer, {
93
+ snacks: snacks
94
+ }));
95
+ };
96
+ var snackbarInAnimation = keyframes({
97
+ '0%': {
98
+ transform: "translateY(".concat(spacing.medium, ")"),
99
+ opacity: 0
100
+ },
101
+ '100%': {
102
+ opacity: 1
103
+ }
104
+ });
105
+ var snackbarOutAnimation = keyframes({
106
+ '0%': {
107
+ opacity: 1
108
+ },
109
+ '100%': {
110
+ transform: "translateY(".concat(spacing.medium, ")"),
111
+ opacity: 0
112
+ }
113
+ });
114
+
115
+ var BaseSnackContainer = _styled("li", {
116
+ target: "e12tl09b0",
117
+ label: "BaseSnackContainer"
118
+ })("display:flex;flex-direction:column;align-items:center;animation:", function (p) {
119
+ return p.expired ? snackbarOutAnimation : snackbarInAnimation;
120
+ }, " 200ms ease-in-out;animation-fill-mode:forwards;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNuYWNrYmFyUHJvdmlkZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZGNkQiLCJmaWxlIjoiU25hY2tiYXJQcm92aWRlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMi1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlTWVtbywgY3JlYXRlQ29udGV4dCwgUmVhY3ROb2RlLCB1c2VTdGF0ZSwgdXNlQ29udGV4dCwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vY29yZSc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBzcGFjaW5nIH0gZnJvbSAnQG5kbGEvY29yZSc7XG5pbXBvcnQgRGVmYXVsdFNuYWNrIGZyb20gJy4vRGVmYXVsdFNuYWNrYmFyJztcblxuZXhwb3J0IGludGVyZmFjZSBTbmFjayB7XG4gIGNvbnRlbnQ/OiBSZWFjdE5vZGU7XG4gIGR1cmF0aW9uPzogbnVtYmVyO1xuICByZW5kZXI/OiAoaWQ6IHN0cmluZywgb25DbG9zZT86ICgpID0+IHZvaWQpID0+IFJlYWN0Tm9kZTtcbiAgaWQ6IHN0cmluZztcbiAgaWNvbj86IFJlYWN0Tm9kZTtcbiAgY2xvc2FibGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNuYWNrQ29udGV4dCB7XG4gIGFkZFNuYWNrOiAoc25hY2s6IFNuYWNrKSA9PiB2b2lkO1xuICByZW1vdmVTbmFjazogKGlkOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGNsZWFyU25hY2tzOiAoKSA9PiB2b2lkO1xuICBjbG9zZVNuYWNrOiAoc25hY2s6IFNuYWNrKSA9PiB2b2lkO1xufVxuXG5jb25zdCBTbmFja2JhckNvbnRleHQgPSBjcmVhdGVDb250ZXh0PFNuYWNrQ29udGV4dCB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IHVzZVNuYWNrID0gKCkgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChTbmFja2JhckNvbnRleHQpO1xuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZVNuYWNrIGNhbiBvbmx5IGJlIHVzZWQgd2l0aGluIGEgU25hY2tiYXJQcm92aWRlciEnKTtcbiAgfVxuXG4gIHJldHVybiBjb250ZXh0O1xufTtcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn1cblxuZXhwb3J0IGNvbnN0IFNuYWNrYmFyUHJvdmlkZXIgPSAoeyBjaGlsZHJlbiB9OiBQcm9wcykgPT4ge1xuICBjb25zdCBbc25hY2tzLCBzZXRTbmFja3NdID0gdXNlU3RhdGU8U25hY2tbXT4oW10pO1xuXG4gIGNvbnN0IGFkZFNuYWNrID0gdXNlQ2FsbGJhY2soKHNuYWNrOiBTbmFjaykgPT4ge1xuICAgIHNldFNuYWNrcygocHJldikgPT4gcHJldi5maWx0ZXIoKHMpID0+IHMuaWQgIT09IHNuYWNrLmlkKS5jb25jYXQoc25hY2spKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IHJlbW92ZVNuYWNrID0gdXNlQ2FsbGJhY2soKHNuYWNrSWQ6IHN0cmluZykgPT4ge1xuICAgIHNldFNuYWNrcygocHJldikgPT4gcHJldi5maWx0ZXIoKHsgaWQgfSkgPT4gc25hY2tJZCAhPT0gaWQpKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IGNsb3NlU25hY2sgPSB1c2VDYWxsYmFjaygoc25hY2s6IFNuYWNrKSA9PiB7XG4gICAgc2V0U25hY2tzKChwcmV2KSA9PiBwcmV2Lm1hcCgocCkgPT4gKHAuaWQgPT09IHNuYWNrLmlkID8geyAuLi5wLCBkdXJhdGlvbjogMCB9IDogcCkpKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IGNsZWFyU25hY2tzID0gdXNlQ2FsbGJhY2soKCkgPT4gc2V0U25hY2tzKFtdKSwgW10pO1xuXG4gIGNvbnN0IHZhbHVlID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoeyBhZGRTbmFjaywgcmVtb3ZlU25hY2ssIGNsZWFyU25hY2tzLCBjbG9zZVNuYWNrIH0pLFxuICAgIFthZGRTbmFjaywgcmVtb3ZlU25hY2ssIGNsZWFyU25hY2tzLCBjbG9zZVNuYWNrXSxcbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxTbmFja2JhckNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDxTbmFja2JhckNvbnRhaW5lciBzbmFja3M9e3NuYWNrc30gLz5cbiAgICA8L1NuYWNrYmFyQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn07XG5cbmludGVyZmFjZSBCYXNlU25hY2tQcm9wcyBleHRlbmRzIFNuYWNrIHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn1cblxuaW50ZXJmYWNlIEJhc2VTbmFja0NvbnRhaW5lclByb3BzIHtcbiAgZXhwaXJlZDogYm9vbGVhbjtcbn1cblxuY29uc3Qgc25hY2tiYXJJbkFuaW1hdGlvbiA9IGtleWZyYW1lcyh7XG4gICcwJSc6IHsgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWSgke3NwYWNpbmcubWVkaXVtfSlgLCBvcGFjaXR5OiAwIH0sXG4gICcxMDAlJzogeyBvcGFjaXR5OiAxIH0sXG59KTtcblxuY29uc3Qgc25hY2tiYXJPdXRBbmltYXRpb24gPSBrZXlmcmFtZXMoe1xuICAnMCUnOiB7IG9wYWNpdHk6IDEgfSxcbiAgJzEwMCUnOiB7IHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtzcGFjaW5nLm1lZGl1bX0pYCwgb3BhY2l0eTogMCB9LFxufSk7XG5cbmNvbnN0IEJhc2VTbmFja0NvbnRhaW5lciA9IHN0eWxlZC5saTxCYXNlU25hY2tDb250YWluZXJQcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFuaW1hdGlvbjogJHsocCkgPT4gKHAuZXhwaXJlZCA/IHNuYWNrYmFyT3V0QW5pbWF0aW9uIDogc25hY2tiYXJJbkFuaW1hdGlvbil9IDIwMG1zIGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbmA7XG5cbmV4cG9ydCBjb25zdCBCYXNlU25hY2sgPSAoeyBkdXJhdGlvbiA9IDUwMDAsIGlkLCBjaGlsZHJlbiB9OiBCYXNlU25hY2tQcm9wcykgPT4ge1xuICBjb25zdCB7IHJlbW92ZVNuYWNrIH0gPSB1c2VTbmFjaygpO1xuICBjb25zdCBbZXhwaXJlZCwgc2V0RXhwaXJlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB0aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiBzZXRFeHBpcmVkKHRydWUpLCBkdXJhdGlvbik7XG4gICAgcmV0dXJuICgpID0+IGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgfSwgW2R1cmF0aW9uXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8QmFzZVNuYWNrQ29udGFpbmVyIGV4cGlyZWQ9e2V4cGlyZWR9IG9uQW5pbWF0aW9uRW5kPXsoKSA9PiBleHBpcmVkICYmIHJlbW92ZVNuYWNrKGlkKX0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9CYXNlU25hY2tDb250YWluZXI+XG4gICk7XG59O1xuXG5pbnRlcmZhY2UgU25hY2tiYXJDb250YWluZXJQcm9wcyB7XG4gIHNuYWNrczogU25hY2tbXTtcbn1cblxuY29uc3QgU3R5bGVkU25hY2tMaXN0ID0gc3R5bGVkLnVsYFxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5OTk5O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDA7XG4gIGJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDQwcHgpO1xuICByaWdodDogZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCwgMHB4KTtcbiAgbGVmdDogZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0LCAwcHgpO1xuYDtcblxuY29uc3QgU25hY2tiYXJDb250YWluZXIgPSAoeyBzbmFja3MgfTogU25hY2tiYXJDb250YWluZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxTdHlsZWRTbmFja0xpc3QgYXJpYS1saXZlPVwicG9saXRlXCIgcm9sZT1cInJlZ2lvblwiPlxuICAgICAge3NuYWNrcy5tYXAoKHNuYWNrKSA9PiAoXG4gICAgICAgIDxCYXNlU25hY2sga2V5PXtzbmFjay5pZH0gey4uLnNuYWNrfT5cbiAgICAgICAgICB7c25hY2sucmVuZGVyPy4oc25hY2suaWQpID8/IDxEZWZhdWx0U25hY2sgey4uLnNuYWNrfSAvPn1cbiAgICAgICAgPC9CYXNlU25hY2s+XG4gICAgICApKX1cbiAgICA8L1N0eWxlZFNuYWNrTGlzdD5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNuYWNrYmFyUHJvdmlkZXI7XG4iXX0= */"));
121
+
122
+ export var BaseSnack = function BaseSnack(_ref3) {
123
+ var _ref3$duration = _ref3.duration,
124
+ duration = _ref3$duration === void 0 ? 5000 : _ref3$duration,
125
+ id = _ref3.id,
126
+ children = _ref3.children;
127
+
128
+ var _useSnack = useSnack(),
129
+ removeSnack = _useSnack.removeSnack;
130
+
131
+ var _useState3 = useState(false),
132
+ _useState4 = _slicedToArray(_useState3, 2),
133
+ expired = _useState4[0],
134
+ setExpired = _useState4[1];
135
+
136
+ useEffect(function () {
137
+ var timeout = setTimeout(function () {
138
+ return setExpired(true);
139
+ }, duration);
140
+ return function () {
141
+ return clearTimeout(timeout);
142
+ };
143
+ }, [duration]);
144
+ return ___EmotionJSX(BaseSnackContainer, {
145
+ expired: expired,
146
+ onAnimationEnd: function onAnimationEnd() {
147
+ return expired && removeSnack(id);
148
+ }
149
+ }, children);
150
+ };
151
+
152
+ var StyledSnackList = _styled("ul", {
153
+ target: "e12tl09b1",
154
+ label: "StyledSnackList"
155
+ })(process.env.NODE_ENV === "production" ? {
156
+ name: "m4hu4a",
157
+ styles: "position:fixed;z-index:99999;display:flex;flex-direction:column;pointer-events:none;margin:0 auto;padding:0;bottom:env(safe-area-inset-bottom,40px);right:env(safe-area-inset-right,0px);left:env(safe-area-inset-left,0px);"
158
+ } : {
159
+ name: "m4hu4a",
160
+ styles: "position:fixed;z-index:99999;display:flex;flex-direction:column;pointer-events:none;margin:0 auto;padding:0;bottom:env(safe-area-inset-bottom,40px);right:env(safe-area-inset-right,0px);left:env(safe-area-inset-left,0px);",
161
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNuYWNrYmFyUHJvdmlkZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlIaUMiLCJmaWxlIjoiU25hY2tiYXJQcm92aWRlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMi1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlTWVtbywgY3JlYXRlQ29udGV4dCwgUmVhY3ROb2RlLCB1c2VTdGF0ZSwgdXNlQ29udGV4dCwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vY29yZSc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBzcGFjaW5nIH0gZnJvbSAnQG5kbGEvY29yZSc7XG5pbXBvcnQgRGVmYXVsdFNuYWNrIGZyb20gJy4vRGVmYXVsdFNuYWNrYmFyJztcblxuZXhwb3J0IGludGVyZmFjZSBTbmFjayB7XG4gIGNvbnRlbnQ/OiBSZWFjdE5vZGU7XG4gIGR1cmF0aW9uPzogbnVtYmVyO1xuICByZW5kZXI/OiAoaWQ6IHN0cmluZywgb25DbG9zZT86ICgpID0+IHZvaWQpID0+IFJlYWN0Tm9kZTtcbiAgaWQ6IHN0cmluZztcbiAgaWNvbj86IFJlYWN0Tm9kZTtcbiAgY2xvc2FibGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNuYWNrQ29udGV4dCB7XG4gIGFkZFNuYWNrOiAoc25hY2s6IFNuYWNrKSA9PiB2b2lkO1xuICByZW1vdmVTbmFjazogKGlkOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGNsZWFyU25hY2tzOiAoKSA9PiB2b2lkO1xuICBjbG9zZVNuYWNrOiAoc25hY2s6IFNuYWNrKSA9PiB2b2lkO1xufVxuXG5jb25zdCBTbmFja2JhckNvbnRleHQgPSBjcmVhdGVDb250ZXh0PFNuYWNrQ29udGV4dCB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IHVzZVNuYWNrID0gKCkgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChTbmFja2JhckNvbnRleHQpO1xuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZVNuYWNrIGNhbiBvbmx5IGJlIHVzZWQgd2l0aGluIGEgU25hY2tiYXJQcm92aWRlciEnKTtcbiAgfVxuXG4gIHJldHVybiBjb250ZXh0O1xufTtcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn1cblxuZXhwb3J0IGNvbnN0IFNuYWNrYmFyUHJvdmlkZXIgPSAoeyBjaGlsZHJlbiB9OiBQcm9wcykgPT4ge1xuICBjb25zdCBbc25hY2tzLCBzZXRTbmFja3NdID0gdXNlU3RhdGU8U25hY2tbXT4oW10pO1xuXG4gIGNvbnN0IGFkZFNuYWNrID0gdXNlQ2FsbGJhY2soKHNuYWNrOiBTbmFjaykgPT4ge1xuICAgIHNldFNuYWNrcygocHJldikgPT4gcHJldi5maWx0ZXIoKHMpID0+IHMuaWQgIT09IHNuYWNrLmlkKS5jb25jYXQoc25hY2spKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IHJlbW92ZVNuYWNrID0gdXNlQ2FsbGJhY2soKHNuYWNrSWQ6IHN0cmluZykgPT4ge1xuICAgIHNldFNuYWNrcygocHJldikgPT4gcHJldi5maWx0ZXIoKHsgaWQgfSkgPT4gc25hY2tJZCAhPT0gaWQpKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IGNsb3NlU25hY2sgPSB1c2VDYWxsYmFjaygoc25hY2s6IFNuYWNrKSA9PiB7XG4gICAgc2V0U25hY2tzKChwcmV2KSA9PiBwcmV2Lm1hcCgocCkgPT4gKHAuaWQgPT09IHNuYWNrLmlkID8geyAuLi5wLCBkdXJhdGlvbjogMCB9IDogcCkpKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IGNsZWFyU25hY2tzID0gdXNlQ2FsbGJhY2soKCkgPT4gc2V0U25hY2tzKFtdKSwgW10pO1xuXG4gIGNvbnN0IHZhbHVlID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoeyBhZGRTbmFjaywgcmVtb3ZlU25hY2ssIGNsZWFyU25hY2tzLCBjbG9zZVNuYWNrIH0pLFxuICAgIFthZGRTbmFjaywgcmVtb3ZlU25hY2ssIGNsZWFyU25hY2tzLCBjbG9zZVNuYWNrXSxcbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxTbmFja2JhckNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDxTbmFja2JhckNvbnRhaW5lciBzbmFja3M9e3NuYWNrc30gLz5cbiAgICA8L1NuYWNrYmFyQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn07XG5cbmludGVyZmFjZSBCYXNlU25hY2tQcm9wcyBleHRlbmRzIFNuYWNrIHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn1cblxuaW50ZXJmYWNlIEJhc2VTbmFja0NvbnRhaW5lclByb3BzIHtcbiAgZXhwaXJlZDogYm9vbGVhbjtcbn1cblxuY29uc3Qgc25hY2tiYXJJbkFuaW1hdGlvbiA9IGtleWZyYW1lcyh7XG4gICcwJSc6IHsgdHJhbnNmb3JtOiBgdHJhbnNsYXRlWSgke3NwYWNpbmcubWVkaXVtfSlgLCBvcGFjaXR5OiAwIH0sXG4gICcxMDAlJzogeyBvcGFjaXR5OiAxIH0sXG59KTtcblxuY29uc3Qgc25hY2tiYXJPdXRBbmltYXRpb24gPSBrZXlmcmFtZXMoe1xuICAnMCUnOiB7IG9wYWNpdHk6IDEgfSxcbiAgJzEwMCUnOiB7IHRyYW5zZm9ybTogYHRyYW5zbGF0ZVkoJHtzcGFjaW5nLm1lZGl1bX0pYCwgb3BhY2l0eTogMCB9LFxufSk7XG5cbmNvbnN0IEJhc2VTbmFja0NvbnRhaW5lciA9IHN0eWxlZC5saTxCYXNlU25hY2tDb250YWluZXJQcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFuaW1hdGlvbjogJHsocCkgPT4gKHAuZXhwaXJlZCA/IHNuYWNrYmFyT3V0QW5pbWF0aW9uIDogc25hY2tiYXJJbkFuaW1hdGlvbil9IDIwMG1zIGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbmA7XG5cbmV4cG9ydCBjb25zdCBCYXNlU25hY2sgPSAoeyBkdXJhdGlvbiA9IDUwMDAsIGlkLCBjaGlsZHJlbiB9OiBCYXNlU25hY2tQcm9wcykgPT4ge1xuICBjb25zdCB7IHJlbW92ZVNuYWNrIH0gPSB1c2VTbmFjaygpO1xuICBjb25zdCBbZXhwaXJlZCwgc2V0RXhwaXJlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB0aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiBzZXRFeHBpcmVkKHRydWUpLCBkdXJhdGlvbik7XG4gICAgcmV0dXJuICgpID0+IGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgfSwgW2R1cmF0aW9uXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8QmFzZVNuYWNrQ29udGFpbmVyIGV4cGlyZWQ9e2V4cGlyZWR9IG9uQW5pbWF0aW9uRW5kPXsoKSA9PiBleHBpcmVkICYmIHJlbW92ZVNuYWNrKGlkKX0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9CYXNlU25hY2tDb250YWluZXI+XG4gICk7XG59O1xuXG5pbnRlcmZhY2UgU25hY2tiYXJDb250YWluZXJQcm9wcyB7XG4gIHNuYWNrczogU25hY2tbXTtcbn1cblxuY29uc3QgU3R5bGVkU25hY2tMaXN0ID0gc3R5bGVkLnVsYFxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5OTk5O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDA7XG4gIGJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDQwcHgpO1xuICByaWdodDogZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCwgMHB4KTtcbiAgbGVmdDogZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0LCAwcHgpO1xuYDtcblxuY29uc3QgU25hY2tiYXJDb250YWluZXIgPSAoeyBzbmFja3MgfTogU25hY2tiYXJDb250YWluZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxTdHlsZWRTbmFja0xpc3QgYXJpYS1saXZlPVwicG9saXRlXCIgcm9sZT1cInJlZ2lvblwiPlxuICAgICAge3NuYWNrcy5tYXAoKHNuYWNrKSA9PiAoXG4gICAgICAgIDxCYXNlU25hY2sga2V5PXtzbmFjay5pZH0gey4uLnNuYWNrfT5cbiAgICAgICAgICB7c25hY2sucmVuZGVyPy4oc25hY2suaWQpID8/IDxEZWZhdWx0U25hY2sgey4uLnNuYWNrfSAvPn1cbiAgICAgICAgPC9CYXNlU25hY2s+XG4gICAgICApKX1cbiAgICA8L1N0eWxlZFNuYWNrTGlzdD5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNuYWNrYmFyUHJvdmlkZXI7XG4iXX0= */",
162
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
163
+ });
164
+
165
+ var SnackbarContainer = function SnackbarContainer(_ref4) {
166
+ var snacks = _ref4.snacks;
167
+ return ___EmotionJSX(StyledSnackList, {
168
+ "aria-live": "polite",
169
+ role: "region"
170
+ }, snacks.map(function (snack) {
171
+ var _snack$render, _snack$render2;
172
+
173
+ return ___EmotionJSX(BaseSnack, _extends({
174
+ key: snack.id
175
+ }, snack), (_snack$render = (_snack$render2 = snack.render) === null || _snack$render2 === void 0 ? void 0 : _snack$render2.call(snack, snack.id)) !== null && _snack$render !== void 0 ? _snack$render : ___EmotionJSX(DefaultSnack, snack));
176
+ }));
177
+ };
178
+
179
+ export default SnackbarProvider;
@@ -5,5 +5,5 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
- import SnackBar from './SnackBar';
9
- export { SnackBar };
8
+ export { SnackbarProvider, useSnack, BaseSnack } from './SnackbarProvider';
9
+ export { default as DefaultSnackbar } from './DefaultSnackbar';
package/es/index.js CHANGED
@@ -77,6 +77,6 @@ export { BannerCard } from './BannerCard';
77
77
  export { Folder, FolderInput } from './MyNdla';
78
78
  export { ListResource, BlockResource } from './Resource';
79
79
  export { TagSelector } from './TagSelector';
80
- export { SnackBar } from './SnackBar';
80
+ export { SnackbarProvider, useSnack, BaseSnack, DefaultSnackbar } from './SnackBar';
81
81
  export { InfoBlock } from './InfoBlock';
82
82
  export { TreeStructure } from './TreeStructure';
@@ -951,7 +951,8 @@ var messages = _objectSpread(_objectSpread({
951
951
  folder: 'Folder',
952
952
  "delete": 'Delete',
953
953
  edit: 'Edit',
954
- missingName: 'Folder name required'
954
+ missingName: 'Folder name required',
955
+ folderDeleted: '"{{folderName}}" deleted'
955
956
  },
956
957
  tags: '{{count}} tag',
957
958
  tags_plural: '{{count}} tags',
@@ -1016,8 +1017,14 @@ var messages = _objectSpread(_objectSpread({
1016
1017
  removeTitle: 'Remove resource',
1017
1018
  confirmRemove: 'Are you sure you want to remove the resource from this folder?',
1018
1019
  copyLink: 'Copy link to this page',
1020
+ linkCopied: 'Copied to clipboard',
1019
1021
  addToMyNdla: 'Add to My NDLA',
1020
- addedToMyNdla: 'Added to My NDLA'
1022
+ addedToMyNdla: 'Added to My NDLA',
1023
+ addedToFolder: 'Resource added to "{{folderName}}"',
1024
+ removedFromFolder: 'Removed from "{{folderName}}"',
1025
+ titleUpdated: 'Title updated',
1026
+ tagsUpdated: 'Tags updated',
1027
+ show: 'Show'
1021
1028
  }
1022
1029
  },
1023
1030
  snackbar: {
@@ -951,7 +951,8 @@ var messages = _objectSpread(_objectSpread({
951
951
  folder: 'Mappe',
952
952
  "delete": 'Slett',
953
953
  edit: 'Rediger',
954
- missingName: 'Mappenavn er påkrevd'
954
+ missingName: 'Mappenavn er påkrevd',
955
+ folderDeleted: '"{{folderName}}" er slettet'
955
956
  },
956
957
  tags: '{{count}} tag',
957
958
  tags_plural: '{{count}} tags',
@@ -1016,8 +1017,14 @@ var messages = _objectSpread(_objectSpread({
1016
1017
  removeTitle: 'Fjern ressurs',
1017
1018
  confirmRemove: 'Er du sikker på at du ønsker å fjerne ressursen fra denne mappen?',
1018
1019
  copyLink: 'Kopier lenke til siden',
1020
+ linkCopied: 'Kopiert til utklippstavle',
1019
1021
  addToMyNdla: 'Legg i Min NDLA',
1020
- addedToMyNdla: 'Lagt i Min NDLA'
1022
+ addedToMyNdla: 'Lagt i Min NDLA',
1023
+ addedToFolder: 'Ressurs er lagt i "{{folderName}}"',
1024
+ removedFromFolder: 'Fjernet fra "{{folderName}}"',
1025
+ titleUpdated: 'Tittel oppdatert',
1026
+ tagsUpdated: 'Tags oppdatert',
1027
+ show: 'Vis'
1021
1028
  }
1022
1029
  },
1023
1030
  snackbar: {
@@ -951,7 +951,8 @@ var messages = _objectSpread(_objectSpread({
951
951
  folder: 'Mappe',
952
952
  "delete": 'Slett',
953
953
  edit: 'Rediger',
954
- missingName: 'Mappenavn er påkrevd'
954
+ missingName: 'Mappenavn er påkrevd',
955
+ folderDeleted: '"{{folderName}}" er sletta'
955
956
  },
956
957
  tags: '{{count}} tag',
957
958
  tags_plural: '{{count}} tags',
@@ -1016,8 +1017,14 @@ var messages = _objectSpread(_objectSpread({
1016
1017
  removeTitle: 'Fjern ressurs',
1017
1018
  confirmRemove: 'Er du sikker på at du ønsker å fjerne ressursen frå denne mappen?',
1018
1019
  copyLink: 'Kopier lenke til sida',
1020
+ linkCopied: 'Kopiert til utklippstavla',
1019
1021
  addToMyNdla: 'Legg i Min NDLA',
1020
- addedToMyNdla: 'Lagt i Min NDLA'
1022
+ addedToMyNdla: 'Lagt i Min NDLA',
1023
+ addedToFolder: 'Ressurs er lagt i "{{folderName}}"',
1024
+ removedFromFolder: 'Fjernet fra "{{folderName}}"',
1025
+ titleUpdated: 'Tittel oppdatert',
1026
+ tagsUpdated: 'Tags oppdatert',
1027
+ show: 'Vis'
1021
1028
  }
1022
1029
  },
1023
1030
  snackbar: {
@@ -951,7 +951,8 @@ var messages = _objectSpread(_objectSpread({
951
951
  folder: 'Mappe',
952
952
  "delete": 'Slett',
953
953
  edit: 'Rediger',
954
- missingName: 'Mappenavn er påkrevd'
954
+ missingName: 'Mappenavn er påkrevd',
955
+ folderDeleted: '"{{folderName}}" er sletta'
955
956
  },
956
957
  tags: '{{count}} tag',
957
958
  tags_plural: '{{count}} tags',
@@ -1016,8 +1017,14 @@ var messages = _objectSpread(_objectSpread({
1016
1017
  removeTitle: 'Fjern ressurs',
1017
1018
  confirmRemove: 'Er du sikker på at du ønsker å fjerne ressursen frå denne mappen?',
1018
1019
  copyLink: 'Kopier lenke til siden',
1020
+ linkCopied: 'Kopiert til utklippstavla',
1019
1021
  addToMyNdla: 'Legg i Min NDLA',
1020
- addedToMyNdla: 'Lagt i Min NDLA'
1022
+ addedToMyNdla: 'Lagt i Min NDLA',
1023
+ addedToFolder: 'Ressurs er lagt i "{{folderName}}"',
1024
+ removedFromFolder: 'Fjernet fra "{{folderName}}"',
1025
+ titleUpdated: 'Tittel oppdatert',
1026
+ tagsUpdated: 'Tags oppdatert',
1027
+ show: 'Vis'
1021
1028
  }
1022
1029
  },
1023
1030
  snackbar: {
@@ -951,7 +951,8 @@ var messages = _objectSpread(_objectSpread({
951
951
  folder: 'Mappe',
952
952
  "delete": 'Slett',
953
953
  edit: 'Rediger',
954
- missingName: 'Mappenavn er påkrevd'
954
+ missingName: 'Mappenavn er påkrevd',
955
+ folderDeleted: '"{{folderName}}" er sletta'
955
956
  },
956
957
  tags: '{{count}} tag',
957
958
  tags_plural: '{{count}} tags',
@@ -1016,8 +1017,14 @@ var messages = _objectSpread(_objectSpread({
1016
1017
  removeTitle: 'Fjern ressurs',
1017
1018
  confirmRemove: 'Er du sikker på at du ønsker å fjerne ressursen frå denne mappen?',
1018
1019
  copyLink: 'Kopier lenke til siden',
1020
+ linkCopied: 'Kopiert til utklippstavla',
1019
1021
  addToMyNdla: 'Legg i Min NDLA',
1020
- addedToMyNdla: 'Lagt i Min NDLA'
1022
+ addedToMyNdla: 'Lagt i Min NDLA',
1023
+ addedToFolder: 'Ressurs er lagt i "{{folderName}}"',
1024
+ removedFromFolder: 'Fjernet fra "{{folderName}}"',
1025
+ titleUpdated: 'Tittel oppdatert',
1026
+ tagsUpdated: 'Tags oppdatert',
1027
+ show: 'Vis'
1021
1028
  }
1022
1029
  },
1023
1030
  snackbar: {
@@ -5,16 +5,12 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
- import { ReactNode } from 'react';
9
- interface Props {
8
+ import { ReactNode, SVGProps } from 'react';
9
+ interface Props extends Omit<SVGProps<SVGSVGElement>, 'viewBox'> {
10
10
  children?: ReactNode;
11
- speed?: number;
12
- width?: number;
13
- height?: number;
14
11
  primaryColor?: string;
15
12
  secondaryColor?: string;
16
- preserveAspectRatio?: string;
17
- className?: string;
13
+ viewBox?: string | null;
18
14
  }
19
- declare const ContentLoader: ({ children, width, height, preserveAspectRatio, className, primaryColor, secondaryColor, speed, ...rest }: Props) => JSX.Element;
15
+ declare const ContentLoader: ({ children, width, height, preserveAspectRatio, className, primaryColor, secondaryColor, speed, viewBox: viewBoxProp, ...rest }: Props) => JSX.Element;
20
16
  export default ContentLoader;
@@ -35,16 +35,21 @@ var ContentLoader = function ContentLoader(_ref) {
35
35
  secondaryColor = _ref$secondaryColor === void 0 ? '#e0e0e0' : _ref$secondaryColor,
36
36
  _ref$speed = _ref.speed,
37
37
  speed = _ref$speed === void 0 ? 2 : _ref$speed,
38
- rest = _objectWithoutProperties(_ref, ["children", "width", "height", "preserveAspectRatio", "className", "primaryColor", "secondaryColor", "speed"]);
38
+ viewBoxProp = _ref.viewBox,
39
+ rest = _objectWithoutProperties(_ref, ["children", "width", "height", "preserveAspectRatio", "className", "primaryColor", "secondaryColor", "speed", "viewBox"]);
39
40
 
40
41
  var idClip = (0, _util.uuid)();
41
42
  var idGradient = (0, _util.uuid)();
43
+ var viewBox = viewBoxProp === undefined ? "0 0 ".concat(width, " ").concat(height) : viewBoxProp;
42
44
  return (0, _core.jsx)("svg", _extends({
43
- viewBox: "0 0 ".concat(width, " ").concat(height),
45
+ viewBox: viewBox !== null && viewBox !== void 0 ? viewBox : undefined,
44
46
  version: "1.1",
45
47
  preserveAspectRatio: preserveAspectRatio,
46
48
  className: className
47
- }, rest), (0, _core.jsx)("rect", {
49
+ }, rest, {
50
+ height: typeof height === 'string' ? height : undefined,
51
+ width: typeof width === 'string' ? width : undefined
52
+ }), (0, _core.jsx)("rect", {
48
53
  style: {
49
54
  fill: "url(#".concat(idGradient, ")")
50
55
  },
@@ -16,6 +16,7 @@ interface BlockResourceProps {
16
16
  tags?: string[];
17
17
  description?: string;
18
18
  menuItems?: MenuItemProps[];
19
+ isLoading?: boolean;
19
20
  }
20
- declare const BlockResource: ({ link, title, tags, resourceImage, topics, description, menuItems }: BlockResourceProps) => JSX.Element;
21
+ declare const BlockResource: ({ link, title, tags, resourceImage, topics, description, menuItems, isLoading, }: BlockResourceProps) => JSX.Element;
21
22
  export default BlockResource;