@ndla/ui 19.1.0 → 20.0.0

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 (83) hide show
  1. package/es/MyNdla/Resource/FolderInput.js +29 -36
  2. package/es/NDLAFilm/FilmSlideshow.js +8 -8
  3. package/es/Search/LoadingWrapper.js +2 -2
  4. package/es/Search/SearchResult.js +1 -1
  5. package/es/SearchTypeResult/SearchTypeResult.js +3 -3
  6. package/es/TreeStructure/FolderItem.js +54 -38
  7. package/es/TreeStructure/FolderItems.js +29 -35
  8. package/es/TreeStructure/FolderNameInput.js +12 -16
  9. package/es/TreeStructure/TreeStructure.js +64 -91
  10. package/es/TreeStructure/arrowNavigation.js +44 -0
  11. package/es/TreeStructure/helperFunctions.js +41 -35
  12. package/es/index.js +0 -1
  13. package/es/locale/messages-en.js +4 -1
  14. package/es/locale/messages-nb.js +4 -1
  15. package/es/locale/messages-nn.js +4 -1
  16. package/es/locale/messages-se.js +4 -1
  17. package/es/locale/messages-sma.js +4 -1
  18. package/lib/MyNdla/Resource/FolderInput.d.ts +2 -2
  19. package/lib/MyNdla/Resource/FolderInput.js +26 -33
  20. package/lib/NDLAFilm/FilmSlideshow.js +10 -10
  21. package/lib/Search/LoadingWrapper.js +3 -3
  22. package/lib/Search/SearchResult.js +2 -2
  23. package/lib/SearchTypeResult/SearchTypeResult.js +4 -4
  24. package/lib/TreeStructure/FolderItem.d.ts +6 -3
  25. package/lib/TreeStructure/FolderItem.js +55 -38
  26. package/lib/TreeStructure/FolderItems.d.ts +1 -1
  27. package/lib/TreeStructure/FolderItems.js +29 -35
  28. package/lib/TreeStructure/FolderNameInput.d.ts +3 -2
  29. package/lib/TreeStructure/FolderNameInput.js +13 -17
  30. package/lib/TreeStructure/TreeStructure.d.ts +1 -6
  31. package/lib/TreeStructure/TreeStructure.js +63 -92
  32. package/lib/TreeStructure/TreeStructure.types.d.ts +13 -20
  33. package/lib/TreeStructure/arrowNavigation.d.ts +9 -0
  34. package/lib/TreeStructure/arrowNavigation.js +54 -0
  35. package/lib/TreeStructure/helperFunctions.d.ts +3 -4
  36. package/lib/TreeStructure/helperFunctions.js +45 -35
  37. package/lib/index.d.ts +0 -1
  38. package/lib/index.js +0 -9
  39. package/lib/locale/messages-en.d.ts +3 -0
  40. package/lib/locale/messages-en.js +4 -1
  41. package/lib/locale/messages-nb.d.ts +3 -0
  42. package/lib/locale/messages-nb.js +4 -1
  43. package/lib/locale/messages-nn.d.ts +3 -0
  44. package/lib/locale/messages-nn.js +4 -1
  45. package/lib/locale/messages-se.d.ts +3 -0
  46. package/lib/locale/messages-se.js +4 -1
  47. package/lib/locale/messages-sma.d.ts +3 -0
  48. package/lib/locale/messages-sma.js +4 -1
  49. package/package.json +11 -10
  50. package/src/MyNdla/Resource/FolderInput.tsx +41 -44
  51. package/src/NDLAFilm/FilmSlideshow.tsx +1 -1
  52. package/src/Search/LoadingWrapper.tsx +1 -1
  53. package/src/Search/SearchResult.jsx +1 -1
  54. package/src/SearchTypeResult/SearchTypeResult.tsx +1 -1
  55. package/src/TreeStructure/FolderItem.tsx +63 -40
  56. package/src/TreeStructure/FolderItems.tsx +26 -19
  57. package/src/TreeStructure/FolderNameInput.tsx +10 -12
  58. package/src/TreeStructure/TreeStructure.tsx +56 -71
  59. package/src/TreeStructure/TreeStructure.types.ts +13 -17
  60. package/src/TreeStructure/arrowNavigation.ts +53 -0
  61. package/src/TreeStructure/helperFunctions.ts +17 -25
  62. package/src/index.ts +0 -2
  63. package/src/locale/messages-en.ts +3 -0
  64. package/src/locale/messages-nb.ts +3 -0
  65. package/src/locale/messages-nn.ts +3 -0
  66. package/src/locale/messages-se.ts +3 -0
  67. package/src/locale/messages-sma.ts +3 -0
  68. package/es/Spinner/Spinner.js +0 -42
  69. package/es/Spinner/index.js +0 -2
  70. package/es/TreeStructure/keyboardNavigation/keyboardNavigation.js +0 -194
  71. package/es/TreeStructure/keyboardNavigation/keyboardNavigation.types.js +0 -0
  72. package/lib/Spinner/Spinner.d.ts +0 -16
  73. package/lib/Spinner/Spinner.js +0 -54
  74. package/lib/Spinner/index.d.ts +0 -2
  75. package/lib/Spinner/index.js +0 -13
  76. package/lib/TreeStructure/keyboardNavigation/keyboardNavigation.d.ts +0 -11
  77. package/lib/TreeStructure/keyboardNavigation/keyboardNavigation.js +0 -198
  78. package/lib/TreeStructure/keyboardNavigation/keyboardNavigation.types.d.ts +0 -26
  79. package/lib/TreeStructure/keyboardNavigation/keyboardNavigation.types.js +0 -1
  80. package/src/Spinner/Spinner.tsx +0 -46
  81. package/src/Spinner/index.ts +0 -3
  82. package/src/TreeStructure/keyboardNavigation/keyboardNavigation.ts +0 -161
  83. package/src/TreeStructure/keyboardNavigation/keyboardNavigation.types.ts +0 -28
@@ -11,8 +11,6 @@ var _styledBase = _interopRequireDefault(require("@emotion/styled-base"));
11
11
 
12
12
  var _react = _interopRequireWildcard(require("react"));
13
13
 
14
- var _util = require("@ndla/util");
15
-
16
14
  var _button = require("@ndla/button");
17
15
 
18
16
  var _tooltip = _interopRequireDefault(require("@ndla/tooltip"));
@@ -29,8 +27,6 @@ var _FolderItems = _interopRequireDefault(require("./FolderItems"));
29
27
 
30
28
  var _helperFunctions = require("./helperFunctions");
31
29
 
32
- var _keyboardNavigation = _interopRequireWildcard(require("./keyboardNavigation/keyboardNavigation"));
33
-
34
30
  var _core2 = require("@emotion/core");
35
31
 
36
32
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
@@ -39,12 +35,6 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
39
35
 
40
36
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
41
37
 
42
- 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; }
43
-
44
- 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; }
45
-
46
- 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; }
47
-
48
38
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
49
39
 
50
40
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -70,34 +60,36 @@ exports.MAX_LEVEL_FOR_FOLDERS = MAX_LEVEL_FOR_FOLDERS;
70
60
  var StyledLabel = (0, _styledBase["default"])("label", {
71
61
  target: "e1dg1gdn0",
72
62
  label: "StyledLabel"
73
- })("font-weight:", _core.fonts.weight.semibold, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRyZWVTdHJ1Y3R1cmUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdCZ0MiLCJmaWxlIjoiVHJlZVN0cnVjdHVyZS50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMi1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlLCB1c2VSZWYsIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1dWlkIH0gZnJvbSAnQG5kbGEvdXRpbCc7XG5pbXBvcnQgeyBBZGRCdXR0b24gfSBmcm9tICdAbmRsYS9idXR0b24nO1xuaW1wb3J0IFRvb2x0aXAgZnJvbSAnQG5kbGEvdG9vbHRpcCc7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgc3BhY2luZywgZm9udHMgfSBmcm9tICdAbmRsYS9jb3JlJztcbmltcG9ydCB7IHVuaXEgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IFRyZWVTdHJ1Y3R1cmVTdHlsZWRXcmFwcGVyIGZyb20gJy4vVHJlZVN0cnVjdHVyZVdyYXBwZXInO1xuaW1wb3J0IEZvbGRlckl0ZW1zIGZyb20gJy4vRm9sZGVySXRlbXMnO1xuaW1wb3J0IHsgZ2V0SWRQYXRoc09mRm9sZGVyLCBnZXRQYXRoT2ZGb2xkZXIsIGdldEZvbGRlck5hbWUgfSBmcm9tICcuL2hlbHBlckZ1bmN0aW9ucyc7XG5pbXBvcnQga2V5Ym9hcmROYXZpZ2F0aW9uLCB7IEtFWUJPQVJEX0tFWVNfT0ZfSU5URVJFU1QgfSBmcm9tICcuL2tleWJvYXJkTmF2aWdhdGlvbi9rZXlib2FyZE5hdmlnYXRpb24nO1xuaW1wb3J0IHsgTmV3Rm9sZGVyUHJvcHMsIFRyZWVTdHJ1Y3R1cmVQcm9wcyB9IGZyb20gJy4vVHJlZVN0cnVjdHVyZS50eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBNQVhfTEVWRUxfRk9SX0ZPTERFUlMgPSA0O1xuXG5jb25zdCBTdHlsZWRMYWJlbCA9IHN0eWxlZC5sYWJlbGBcbiAgZm9udC13ZWlnaHQ6ICR7Zm9udHMud2VpZ2h0LnNlbWlib2xkfTtcbmA7XG5cbmNvbnN0IEFkZEZvbGRlcldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tdG9wOiAke3NwYWNpbmcueHNtYWxsfTtcbmA7XG5cbmNvbnN0IFRyZWVTdHJ1Y3R1cmUgPSAoe1xuICBkYXRhLFxuICBsYWJlbCxcbiAgZWRpdGFibGUsXG4gIGxvYWRpbmcsXG4gIG9uTmV3Rm9sZGVyLFxuICBvcGVuT25Gb2xkZXJDbGljayxcbiAgZnJhbWVkLFxuICBmb2xkZXJJZE1hcmtlZEJ5RGVmYXVsdCxcbiAgZGVmYXVsdE9wZW5Gb2xkZXJzLFxuICBmb2xkZXJDaGlsZCxcbiAgbWF4aW11bUxldmVsc09mRm9sZGVyc0FsbG93ZWQsXG59OiBUcmVlU3RydWN0dXJlUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuICBjb25zdCBbbmV3Rm9sZGVyLCBzZXROZXdGb2xkZXJdID0gdXNlU3RhdGU8TmV3Rm9sZGVyUHJvcHMgfCB1bmRlZmluZWQ+KCk7XG4gIGNvbnN0IFtvcGVuRm9sZGVycywgc2V0T3BlbkZvbGRlcnNdID0gdXNlU3RhdGU8c3RyaW5nW10+KGRlZmF1bHRPcGVuRm9sZGVycyB8fCBbXSk7XG4gIGNvbnN0IFtmb2N1c2VkRm9sZGVySWQsIHNldEZvY3VzZWRGb2xkZXJJZF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIGNvbnN0IFttYXJrZWRGb2xkZXJJZCwgc2V0TWFya2VkRm9sZGVySWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPihmb2xkZXJJZE1hcmtlZEJ5RGVmYXVsdCB8fCBkYXRhWzBdPy5pZCk7XG4gIGNvbnN0IHRyZWVzdHJ1Y3R1cmVSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCB3cmFwcGVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3Qgcm9vdExldmVsSWQgPSB1c2VNZW1vKCgpID0+IHV1aWQoKSwgW10pOyAvLyBUT0RPOiB1c2UgdXNlSWQgaG9vayB3aGVuIHdlIHVwZGF0ZSB0byBSZWFjdCAxOFxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGRlZmF1bHRPcGVuRm9sZGVycykge1xuICAgICAgc2V0T3BlbkZvbGRlcnMoKHByZXYpID0+IHtcbiAgICAgICAgcmV0dXJuIHVuaXEoWy4uLmRlZmF1bHRPcGVuRm9sZGVycywgLi4ucHJldl0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9LCBbZGVmYXVsdE9wZW5Gb2xkZXJzXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWxvYWRpbmcpIHtcbiAgICAgIHNldE5ld0ZvbGRlcih1bmRlZmluZWQpO1xuICAgIH1cbiAgfSwgW2xvYWRpbmddKTtcblxuICBjb25zdCBvblRvZ2dsZU9wZW4gPSAoaWQ6IHN0cmluZykgPT4ge1xuICAgIGlmIChvcGVuRm9sZGVycy5pbmNsdWRlcyhpZCkpIHtcbiAgICAgIC8vIERpZCB3ZSBqdXN0IGNsb3NlZCBhIGZvbGRlciB3aXRoIGEgbWFya2VkIGZvbGRlciBpbnNpZGUgaXQ/XG4gICAgICAvLyBJZiBzbywgd2UgbmVlZCB0byBtYXJrIHRoZSBmb2xkZXIgd2UganVzdCBjbG9zZWQuXG4gICAgICBpZiAobWFya2VkRm9sZGVySWQpIHtcbiAgICAgICAgY29uc3QgY2xvc2luZ0ZvbGRlclBhdGggPSBnZXRQYXRoT2ZGb2xkZXIoZGF0YSwgaWQpO1xuICAgICAgICBjb25zdCBtYXJrZWRGb2xkZXJQYXRoID0gZ2V0UGF0aE9mRm9sZGVyKGRhdGEsIG1hcmtlZEZvbGRlcklkKTtcbiAgICAgICAgY29uc3QgbWFya2VkRm9sZGVySXNTdWJQYXRoID0gY2xvc2luZ0ZvbGRlclBhdGguZXZlcnkoXG4gICAgICAgICAgKGZvbGRlcklkLCBfaW5kZXgpID0+IG1hcmtlZEZvbGRlclBhdGhbX2luZGV4XSA9PT0gZm9sZGVySWQsXG4gICAgICAgICk7XG4gICAgICAgIGlmIChtYXJrZWRGb2xkZXJJc1N1YlBhdGgpIHtcbiAgICAgICAgICBzZXRNYXJrZWRGb2xkZXJJZChjbG9zaW5nRm9sZGVyUGF0aFtjbG9zaW5nRm9sZGVyUGF0aC5sZW5ndGggLSAxXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHNldE9wZW5Gb2xkZXJzKG9wZW5Gb2xkZXJzLmZpbHRlcigoZm9sZGVyKSA9PiBmb2xkZXIgIT09IGlkKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldE9wZW5Gb2xkZXJzKHVuaXEoWy4uLm9wZW5Gb2xkZXJzLCBpZF0pKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgb25DcmVhdGVOZXdGb2xkZXIgPSAocHJvcHM6IHsgaWRQYXRoczogbnVtYmVyW107IHBhcmVudElkPzogc3RyaW5nIH0pID0+IHtcbiAgICBzZXROZXdGb2xkZXIocHJvcHMpO1xuICB9O1xuXG4gIGNvbnN0IG9uU2F2ZU5ld0ZvbGRlciA9ICh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgaWYgKG5ld0ZvbGRlcikge1xuICAgICAgLy8gV2Ugd291bGQgbGlrZSB0byBjcmVhdGUgYSBuZXcgZm9sZGVyIHdpdGggdGhlIG5hbWUgb2YgdmFsdWUuXG4gICAgICAvLyBJdHMgbG9jYXRpb24gaW4gc3RydWN0dXJlIGlzIGJhc2VkIG9uIG5ld0ZvbGRlciBvYmplY3RcbiAgICAgIG9uTmV3Rm9sZGVyKHsgLi4ubmV3Rm9sZGVyLCB2YWx1ZSB9KS50aGVuKChuZXdGb2xkZXJJZCkgPT4ge1xuICAgICAgICBpZiAobmV3Rm9sZGVySWQpIHtcbiAgICAgICAgICBzZXRNYXJrZWRGb2xkZXJJZChuZXdGb2xkZXJJZCk7XG4gICAgICAgICAgc2V0Rm9jdXNlZEZvbGRlcklkKG5ld0ZvbGRlcklkKTtcbiAgICAgICAgICAvLyBPcGVuIGN1cnJlbnQgZm9sZGVyIGluIGNhc2UgaXQgd2FzIGNsb3NlZC4uXG5cbiAgICAgICAgICBpZiAobmV3Rm9sZGVyLnBhcmVudElkKSB7XG4gICAgICAgICAgICBzZXRPcGVuRm9sZGVycyh1bmlxKFsuLi5vcGVuRm9sZGVycywgbmV3Rm9sZGVyLnBhcmVudElkXSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IG9uQ2FuY2VsTmV3Rm9sZGVyID0gKCkgPT4ge1xuICAgIHNldE5ld0ZvbGRlcih1bmRlZmluZWQpO1xuICB9O1xuXG4gIGNvbnN0IG9uTWFya0ZvbGRlciA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgc2V0TWFya2VkRm9sZGVySWQoaWQpO1xuICAgIHNldEZvY3VzZWRGb2xkZXJJZChpZCk7XG4gIH07XG5cbiAgY29uc3QgcGF0aHMgPSBnZXRQYXRoT2ZGb2xkZXIoZGF0YSwgbWFya2VkRm9sZGVySWQgfHwgJycpO1xuICBjb25zdCBjYW5BZGRGb2xkZXIgPSBlZGl0YWJsZSAmJiBwYXRocy5sZW5ndGggPCAobWF4aW11bUxldmVsc09mRm9sZGVyc0FsbG93ZWQgfHwgMSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICByZWY9e3RyZWVzdHJ1Y3R1cmVSZWZ9XG4gICAgICBvbktleURvd249eyhlKSA9PiB7XG4gICAgICAgIGlmICh3cmFwcGVyUmVmLmN1cnJlbnQ/LmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpICYmIEtFWUJPQVJEX0tFWVNfT0ZfSU5URVJFU1QuaW5jbHVkZXMoZS5rZXkpKSB7XG4gICAgICAgICAga2V5Ym9hcmROYXZpZ2F0aW9uKHtcbiAgICAgICAgICAgIGUsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgc2V0Rm9jdXNlZEZvbGRlcklkLFxuICAgICAgICAgICAgZm9jdXNlZEZvbGRlcklkLFxuICAgICAgICAgICAgb25Ub2dnbGVPcGVuLFxuICAgICAgICAgICAgb3BlbkZvbGRlcnMsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH19PlxuICAgICAge2xhYmVsICYmIDxTdHlsZWRMYWJlbCBodG1sRm9yPXtyb290TGV2ZWxJZH0+e2xhYmVsfTwvU3R5bGVkTGFiZWw+fVxuICAgICAgPFRyZWVTdHJ1Y3R1cmVTdHlsZWRXcmFwcGVyIHJlZj17d3JhcHBlclJlZn0gaWQ9e3Jvb3RMZXZlbElkfSBhcmlhLWxhYmVsPVwiTWVudSB0cmVlXCIgcm9sZT1cInRyZWVcIiBmcmFtZWQ9e2ZyYW1lZH0+XG4gICAgICAgIDxGb2xkZXJJdGVtc1xuICAgICAgICAgIGlkUGF0aHM9e1tdfVxuICAgICAgICAgIGRhdGE9e2RhdGF9XG4gICAgICAgICAgZWRpdGFibGU9e2VkaXRhYmxlfVxuICAgICAgICAgIG9uVG9nZ2xlT3Blbj17b25Ub2dnbGVPcGVufVxuICAgICAgICAgIG5ld0ZvbGRlcj17bmV3Rm9sZGVyfVxuICAgICAgICAgIG9uQ3JlYXRlTmV3Rm9sZGVyPXtvbkNyZWF0ZU5ld0ZvbGRlcn1cbiAgICAgICAgICBvbkNhbmNlbE5ld0ZvbGRlcj17b25DYW5jZWxOZXdGb2xkZXJ9XG4gICAgICAgICAgb25TYXZlTmV3Rm9sZGVyPXtvblNhdmVOZXdGb2xkZXJ9XG4gICAgICAgICAgb3BlbkZvbGRlcnM9e29wZW5Gb2xkZXJzfVxuICAgICAgICAgIG1hcmtlZEZvbGRlcklkPXttYXJrZWRGb2xkZXJJZH1cbiAgICAgICAgICBvbk1hcmtGb2xkZXI9e29uTWFya0ZvbGRlcn1cbiAgICAgICAgICBvcGVuT25Gb2xkZXJDbGljaz17b3Blbk9uRm9sZGVyQ2xpY2t9XG4gICAgICAgICAgbG9hZGluZz17bG9hZGluZ31cbiAgICAgICAgICBmb2N1c2VkRm9sZGVySWQ9e2ZvY3VzZWRGb2xkZXJJZH1cbiAgICAgICAgICBzZXRGb2N1c2VkRm9sZGVySWQ9e3NldEZvY3VzZWRGb2xkZXJJZH1cbiAgICAgICAgICBmaXJzdExldmVsXG4gICAgICAgICAgZm9sZGVyQ2hpbGQ9e2ZvbGRlckNoaWxkfVxuICAgICAgICAgIG1heGltdW1MZXZlbHNPZkZvbGRlcnNBbGxvd2VkPXttYXhpbXVtTGV2ZWxzT2ZGb2xkZXJzQWxsb3dlZH1cbiAgICAgICAgLz5cbiAgICAgIDwvVHJlZVN0cnVjdHVyZVN0eWxlZFdyYXBwZXI+XG4gICAgICB7ZWRpdGFibGUgJiYgKFxuICAgICAgICA8QWRkRm9sZGVyV3JhcHBlcj5cbiAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgdG9vbHRpcD17XG4gICAgICAgICAgICAgIGNhbkFkZEZvbGRlclxuICAgICAgICAgICAgICAgID8gdCgnbXlOZGxhLm5ld0ZvbGRlclVuZGVyJywge1xuICAgICAgICAgICAgICAgICAgICBmb2xkZXJOYW1lOiBnZXRGb2xkZXJOYW1lKGRhdGEsIG1hcmtlZEZvbGRlcklkKSxcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgOiB0KCdteU5kbGEubWF4Rm9sZGVyc0FscmVhZHlBZGRlZCcpXG4gICAgICAgICAgICB9PlxuICAgICAgICAgICAgPEFkZEJ1dHRvblxuICAgICAgICAgICAgICBkaXNhYmxlZD17IWNhbkFkZEZvbGRlcn1cbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnbXlOZGxhLm5ld0ZvbGRlcicpfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaWRQYXRocyA9IGdldElkUGF0aHNPZkZvbGRlcihkYXRhLCBtYXJrZWRGb2xkZXJJZCB8fCAnJyk7XG4gICAgICAgICAgICAgICAgc2V0TmV3Rm9sZGVyKHsgaWRQYXRocywgcGFyZW50SWQ6IHBhdGhzW3BhdGhzLmxlbmd0aCAtIDFdIH0pO1xuICAgICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAge3QoJ215TmRsYS5uZXdGb2xkZXInKX1cbiAgICAgICAgICAgIDwvQWRkQnV0dG9uPlxuICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgPC9BZGRGb2xkZXJXcmFwcGVyPlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cblRyZWVTdHJ1Y3R1cmUuZGVmYXVsdFByb3BzID0ge1xuICBtYXhpbXVtTGV2ZWxzT2ZGb2xkZXJzQWxsb3dlZDogTUFYX0xFVkVMX0ZPUl9GT0xERVJTLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgVHJlZVN0cnVjdHVyZTtcbiJdfQ== */"));
63
+ })("font-weight:", _core.fonts.weight.semibold, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRyZWVTdHJ1Y3R1cmUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNCZ0MiLCJmaWxlIjoiVHJlZVN0cnVjdHVyZS50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMi1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlLCB1c2VSZWYsIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBBZGRCdXR0b24gfSBmcm9tICdAbmRsYS9idXR0b24nO1xuaW1wb3J0IFRvb2x0aXAgZnJvbSAnQG5kbGEvdG9vbHRpcCc7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgc3BhY2luZywgZm9udHMgfSBmcm9tICdAbmRsYS9jb3JlJztcbmltcG9ydCB7IHVuaXEgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IFRyZWVTdHJ1Y3R1cmVTdHlsZWRXcmFwcGVyIGZyb20gJy4vVHJlZVN0cnVjdHVyZVdyYXBwZXInO1xuaW1wb3J0IEZvbGRlckl0ZW1zIGZyb20gJy4vRm9sZGVySXRlbXMnO1xuaW1wb3J0IHsgZ2V0UGF0aE9mRm9sZGVyLCBnZXRGb2xkZXJOYW1lLCBmbGF0dGVuRm9sZGVycyB9IGZyb20gJy4vaGVscGVyRnVuY3Rpb25zJztcbmltcG9ydCB7IFRyZWVTdHJ1Y3R1cmVQcm9wcyB9IGZyb20gJy4vVHJlZVN0cnVjdHVyZS50eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBNQVhfTEVWRUxfRk9SX0ZPTERFUlMgPSA0O1xuXG5jb25zdCBTdHlsZWRMYWJlbCA9IHN0eWxlZC5sYWJlbGBcbiAgZm9udC13ZWlnaHQ6ICR7Zm9udHMud2VpZ2h0LnNlbWlib2xkfTtcbmA7XG5cbmNvbnN0IEFkZEZvbGRlcldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tdG9wOiAke3NwYWNpbmcueHNtYWxsfTtcbmA7XG5cbmNvbnN0IFRyZWVTdHJ1Y3R1cmUgPSAoe1xuICBmb2xkZXJzLFxuICBsYWJlbCxcbiAgZWRpdGFibGUsXG4gIGxvYWRpbmcsXG4gIG9uTmV3Rm9sZGVyLFxuICBvblNlbGVjdEZvbGRlcixcbiAgb3Blbk9uRm9sZGVyQ2xpY2ssXG4gIGZyYW1lZCxcbiAgZm9sZGVySWRNYXJrZWRCeURlZmF1bHQsXG4gIGRlZmF1bHRPcGVuRm9sZGVycyxcbiAgZm9sZGVyQ2hpbGQsXG4gIG1heGltdW1MZXZlbHNPZkZvbGRlcnNBbGxvd2VkID0gTUFYX0xFVkVMX0ZPUl9GT0xERVJTLFxufTogVHJlZVN0cnVjdHVyZVByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcbiAgY29uc3QgW25ld0ZvbGRlclBhcmVudElkLCBzZXROZXdGb2xkZXJQYXJlbnRJZF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIGNvbnN0IFtvcGVuRm9sZGVycywgc2V0T3BlbkZvbGRlcnNdID0gdXNlU3RhdGU8c3RyaW5nW10+KGRlZmF1bHRPcGVuRm9sZGVycyB8fCBbXSk7XG4gIGNvbnN0IFtmb2N1c2VkRm9sZGVySWQsIHNldEZvY3VzZWRGb2xkZXJJZF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIGNvbnN0IFttYXJrZWRGb2xkZXJJZCwgc2V0TWFya2VkRm9sZGVySWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPihmb2xkZXJJZE1hcmtlZEJ5RGVmYXVsdCB8fCBmb2xkZXJzWzBdPy5pZCk7XG4gIGNvbnN0IHRyZWVzdHJ1Y3R1cmVSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCB3cmFwcGVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3Qgcm9vdExldmVsSWQgPSAndHJlZXN0cnVjdHVyZS1yb290JztcblxuICBjb25zdCB2aXNpYmxlRm9sZGVycyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gZmxhdHRlbkZvbGRlcnMoZm9sZGVycywgb3BlbkZvbGRlcnMpLm1hcCgoZm9sZGVyKSA9PiBmb2xkZXIuaWQpLFxuICAgIFtmb2xkZXJzLCBvcGVuRm9sZGVyc10sXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZGVmYXVsdE9wZW5Gb2xkZXJzKSB7XG4gICAgICBzZXRPcGVuRm9sZGVycygocHJldikgPT4ge1xuICAgICAgICByZXR1cm4gdW5pcShbLi4uZGVmYXVsdE9wZW5Gb2xkZXJzLCAuLi5wcmV2XSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtkZWZhdWx0T3BlbkZvbGRlcnNdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghbG9hZGluZykge1xuICAgICAgc2V0TmV3Rm9sZGVyUGFyZW50SWQodW5kZWZpbmVkKTtcbiAgICB9XG4gIH0sIFtsb2FkaW5nXSk7XG5cbiAgY29uc3Qgb25DbG9zZUZvbGRlciA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgLy8gRGlkIHdlIGp1c3QgY2xvc2VkIGEgZm9sZGVyIHdpdGggYSBtYXJrZWQgZm9sZGVyIGluc2lkZSBpdD9cbiAgICAvLyBJZiBzbywgd2UgbmVlZCB0byBtYXJrIHRoZSBmb2xkZXIgd2UganVzdCBjbG9zZWQuXG4gICAgaWYgKG1hcmtlZEZvbGRlcklkKSB7XG4gICAgICBjb25zdCBjbG9zaW5nRm9sZGVyUGF0aCA9IGdldFBhdGhPZkZvbGRlcihmb2xkZXJzLCBpZCk7XG4gICAgICBjb25zdCBtYXJrZWRGb2xkZXJQYXRoID0gZ2V0UGF0aE9mRm9sZGVyKGZvbGRlcnMsIG1hcmtlZEZvbGRlcklkKTtcbiAgICAgIGNvbnN0IG1hcmtlZEZvbGRlcklzU3ViUGF0aCA9IGNsb3NpbmdGb2xkZXJQYXRoLmV2ZXJ5KFxuICAgICAgICAoZm9sZGVySWQsIF9pbmRleCkgPT4gbWFya2VkRm9sZGVyUGF0aFtfaW5kZXhdID09PSBmb2xkZXJJZCxcbiAgICAgICk7XG4gICAgICBpZiAobWFya2VkRm9sZGVySXNTdWJQYXRoKSB7XG4gICAgICAgIGlmIChvblNlbGVjdEZvbGRlcikge1xuICAgICAgICAgIHNldE1hcmtlZEZvbGRlcklkKGNsb3NpbmdGb2xkZXJQYXRoW2Nsb3NpbmdGb2xkZXJQYXRoLmxlbmd0aCAtIDFdKTtcbiAgICAgICAgICBvblNlbGVjdEZvbGRlcihjbG9zaW5nRm9sZGVyUGF0aFtjbG9zaW5nRm9sZGVyUGF0aC5sZW5ndGggLSAxXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc2V0Rm9jdXNlZEZvbGRlcklkKGNsb3NpbmdGb2xkZXJQYXRoW2Nsb3NpbmdGb2xkZXJQYXRoLmxlbmd0aCAtIDFdKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBzZXRPcGVuRm9sZGVycyhvcGVuRm9sZGVycy5maWx0ZXIoKGZvbGRlcikgPT4gZm9sZGVyICE9PSBpZCkpO1xuICB9O1xuXG4gIGNvbnN0IG9uT3BlbkZvbGRlciA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgc2V0T3BlbkZvbGRlcnModW5pcShvcGVuRm9sZGVycy5jb25jYXQoaWQpKSk7XG4gIH07XG5cbiAgY29uc3Qgb25DcmVhdGVOZXdGb2xkZXIgPSAocGFyZW50SWQ6IHN0cmluZykgPT4ge1xuICAgIHNldE5ld0ZvbGRlclBhcmVudElkKHBhcmVudElkKTtcbiAgfTtcblxuICBjb25zdCBvblNhdmVOZXdGb2xkZXIgPSAobmFtZTogc3RyaW5nLCBwYXJlbnRJZDogc3RyaW5nKSA9PiB7XG4gICAgb25OZXdGb2xkZXIobmFtZSwgcGFyZW50SWQpLnRoZW4oKG5ld0ZvbGRlcklkKSA9PiB7XG4gICAgICBpZiAobmV3Rm9sZGVySWQpIHtcbiAgICAgICAgc2V0TWFya2VkRm9sZGVySWQobmV3Rm9sZGVySWQpO1xuICAgICAgICBzZXRGb2N1c2VkRm9sZGVySWQobmV3Rm9sZGVySWQpO1xuICAgICAgICBzZXRPcGVuRm9sZGVycyh1bmlxKG9wZW5Gb2xkZXJzLmNvbmNhdChwYXJlbnRJZCkpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBvbkNhbmNlbE5ld0ZvbGRlciA9ICgpID0+IHtcbiAgICBzZXROZXdGb2xkZXJQYXJlbnRJZCh1bmRlZmluZWQpO1xuICB9O1xuXG4gIGNvbnN0IG9uTWFya0ZvbGRlciA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgc2V0TWFya2VkRm9sZGVySWQoaWQpO1xuICAgIHNldEZvY3VzZWRGb2xkZXJJZChpZCk7XG4gIH07XG5cbiAgY29uc3QgcGF0aHMgPSBnZXRQYXRoT2ZGb2xkZXIoZm9sZGVycywgbWFya2VkRm9sZGVySWQgfHwgJycpO1xuICBjb25zdCBjYW5BZGRGb2xkZXIgPSBlZGl0YWJsZSAmJiBwYXRocy5sZW5ndGggPCAobWF4aW11bUxldmVsc09mRm9sZGVyc0FsbG93ZWQgfHwgMSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17dHJlZXN0cnVjdHVyZVJlZn0+XG4gICAgICB7bGFiZWwgJiYgPFN0eWxlZExhYmVsIGh0bWxGb3I9e3Jvb3RMZXZlbElkfT57bGFiZWx9PC9TdHlsZWRMYWJlbD59XG4gICAgICA8VHJlZVN0cnVjdHVyZVN0eWxlZFdyYXBwZXIgcmVmPXt3cmFwcGVyUmVmfSBpZD17cm9vdExldmVsSWR9IGFyaWEtbGFiZWw9XCJNZW51IHRyZWVcIiByb2xlPVwidHJlZVwiIGZyYW1lZD17ZnJhbWVkfT5cbiAgICAgICAgPEZvbGRlckl0ZW1zXG4gICAgICAgICAgb25TZWxlY3RGb2xkZXI9e29uU2VsZWN0Rm9sZGVyfVxuICAgICAgICAgIGxldmVsPXsxfVxuICAgICAgICAgIGZvbGRlcnM9e2ZvbGRlcnN9XG4gICAgICAgICAgZWRpdGFibGU9e2VkaXRhYmxlfVxuICAgICAgICAgIG9uT3BlbkZvbGRlcj17b25PcGVuRm9sZGVyfVxuICAgICAgICAgIG9uQ2xvc2VGb2xkZXI9e29uQ2xvc2VGb2xkZXJ9XG4gICAgICAgICAgbmV3Rm9sZGVyUGFyZW50SWQ9e25ld0ZvbGRlclBhcmVudElkfVxuICAgICAgICAgIG9uQ3JlYXRlTmV3Rm9sZGVyPXtvbkNyZWF0ZU5ld0ZvbGRlcn1cbiAgICAgICAgICBvbkNhbmNlbE5ld0ZvbGRlcj17b25DYW5jZWxOZXdGb2xkZXJ9XG4gICAgICAgICAgb25TYXZlTmV3Rm9sZGVyPXtvblNhdmVOZXdGb2xkZXJ9XG4gICAgICAgICAgdmlzaWJsZUZvbGRlcnM9e3Zpc2libGVGb2xkZXJzfVxuICAgICAgICAgIG9wZW5Gb2xkZXJzPXtvcGVuRm9sZGVyc31cbiAgICAgICAgICBtYXJrZWRGb2xkZXJJZD17bWFya2VkRm9sZGVySWR9XG4gICAgICAgICAgb25NYXJrRm9sZGVyPXtvbk1hcmtGb2xkZXJ9XG4gICAgICAgICAgb3Blbk9uRm9sZGVyQ2xpY2s9e29wZW5PbkZvbGRlckNsaWNrfVxuICAgICAgICAgIGxvYWRpbmc9e2xvYWRpbmd9XG4gICAgICAgICAgZm9jdXNlZEZvbGRlcklkPXtmb2N1c2VkRm9sZGVySWR9XG4gICAgICAgICAgc2V0Rm9jdXNlZEZvbGRlcklkPXtzZXRGb2N1c2VkRm9sZGVySWR9XG4gICAgICAgICAgZm9sZGVyQ2hpbGQ9e2ZvbGRlckNoaWxkfVxuICAgICAgICAgIG1heGltdW1MZXZlbHNPZkZvbGRlcnNBbGxvd2VkPXttYXhpbXVtTGV2ZWxzT2ZGb2xkZXJzQWxsb3dlZH1cbiAgICAgICAgLz5cbiAgICAgIDwvVHJlZVN0cnVjdHVyZVN0eWxlZFdyYXBwZXI+XG4gICAgICB7ZWRpdGFibGUgJiYgKFxuICAgICAgICA8QWRkRm9sZGVyV3JhcHBlcj5cbiAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgdG9vbHRpcD17XG4gICAgICAgICAgICAgIGNhbkFkZEZvbGRlclxuICAgICAgICAgICAgICAgID8gdCgnbXlOZGxhLm5ld0ZvbGRlclVuZGVyJywge1xuICAgICAgICAgICAgICAgICAgICBmb2xkZXJOYW1lOiBnZXRGb2xkZXJOYW1lKGZvbGRlcnMsIG1hcmtlZEZvbGRlcklkKSxcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgOiB0KCd0cmVlU3RydWN0dXJlLm1heEZvbGRlcnNBbHJlYWR5QWRkZWQnKVxuICAgICAgICAgICAgfT5cbiAgICAgICAgICAgIDxBZGRCdXR0b25cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFjYW5BZGRGb2xkZXJ9XG4gICAgICAgICAgICAgIGFyaWEtbGFiZWw9e3QoJ215TmRsYS5uZXdGb2xkZXInKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldE5ld0ZvbGRlclBhcmVudElkKG1hcmtlZEZvbGRlcklkKTtcbiAgICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgIHt0KCdteU5kbGEubmV3Rm9sZGVyJyl9XG4gICAgICAgICAgICA8L0FkZEJ1dHRvbj5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIDwvQWRkRm9sZGVyV3JhcHBlcj5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBUcmVlU3RydWN0dXJlO1xuIl19 */"));
74
64
  var AddFolderWrapper = (0, _styledBase["default"])("div", {
75
65
  target: "e1dg1gdn1",
76
66
  label: "AddFolderWrapper"
77
- })("display:flex;margin-top:", _core.spacing.xsmall, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRyZWVTdHJ1Y3R1cmUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRCbUMiLCJmaWxlIjoiVHJlZVN0cnVjdHVyZS50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMi1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlLCB1c2VSZWYsIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1dWlkIH0gZnJvbSAnQG5kbGEvdXRpbCc7XG5pbXBvcnQgeyBBZGRCdXR0b24gfSBmcm9tICdAbmRsYS9idXR0b24nO1xuaW1wb3J0IFRvb2x0aXAgZnJvbSAnQG5kbGEvdG9vbHRpcCc7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgc3BhY2luZywgZm9udHMgfSBmcm9tICdAbmRsYS9jb3JlJztcbmltcG9ydCB7IHVuaXEgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IFRyZWVTdHJ1Y3R1cmVTdHlsZWRXcmFwcGVyIGZyb20gJy4vVHJlZVN0cnVjdHVyZVdyYXBwZXInO1xuaW1wb3J0IEZvbGRlckl0ZW1zIGZyb20gJy4vRm9sZGVySXRlbXMnO1xuaW1wb3J0IHsgZ2V0SWRQYXRoc09mRm9sZGVyLCBnZXRQYXRoT2ZGb2xkZXIsIGdldEZvbGRlck5hbWUgfSBmcm9tICcuL2hlbHBlckZ1bmN0aW9ucyc7XG5pbXBvcnQga2V5Ym9hcmROYXZpZ2F0aW9uLCB7IEtFWUJPQVJEX0tFWVNfT0ZfSU5URVJFU1QgfSBmcm9tICcuL2tleWJvYXJkTmF2aWdhdGlvbi9rZXlib2FyZE5hdmlnYXRpb24nO1xuaW1wb3J0IHsgTmV3Rm9sZGVyUHJvcHMsIFRyZWVTdHJ1Y3R1cmVQcm9wcyB9IGZyb20gJy4vVHJlZVN0cnVjdHVyZS50eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBNQVhfTEVWRUxfRk9SX0ZPTERFUlMgPSA0O1xuXG5jb25zdCBTdHlsZWRMYWJlbCA9IHN0eWxlZC5sYWJlbGBcbiAgZm9udC13ZWlnaHQ6ICR7Zm9udHMud2VpZ2h0LnNlbWlib2xkfTtcbmA7XG5cbmNvbnN0IEFkZEZvbGRlcldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tdG9wOiAke3NwYWNpbmcueHNtYWxsfTtcbmA7XG5cbmNvbnN0IFRyZWVTdHJ1Y3R1cmUgPSAoe1xuICBkYXRhLFxuICBsYWJlbCxcbiAgZWRpdGFibGUsXG4gIGxvYWRpbmcsXG4gIG9uTmV3Rm9sZGVyLFxuICBvcGVuT25Gb2xkZXJDbGljayxcbiAgZnJhbWVkLFxuICBmb2xkZXJJZE1hcmtlZEJ5RGVmYXVsdCxcbiAgZGVmYXVsdE9wZW5Gb2xkZXJzLFxuICBmb2xkZXJDaGlsZCxcbiAgbWF4aW11bUxldmVsc09mRm9sZGVyc0FsbG93ZWQsXG59OiBUcmVlU3RydWN0dXJlUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuICBjb25zdCBbbmV3Rm9sZGVyLCBzZXROZXdGb2xkZXJdID0gdXNlU3RhdGU8TmV3Rm9sZGVyUHJvcHMgfCB1bmRlZmluZWQ+KCk7XG4gIGNvbnN0IFtvcGVuRm9sZGVycywgc2V0T3BlbkZvbGRlcnNdID0gdXNlU3RhdGU8c3RyaW5nW10+KGRlZmF1bHRPcGVuRm9sZGVycyB8fCBbXSk7XG4gIGNvbnN0IFtmb2N1c2VkRm9sZGVySWQsIHNldEZvY3VzZWRGb2xkZXJJZF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIGNvbnN0IFttYXJrZWRGb2xkZXJJZCwgc2V0TWFya2VkRm9sZGVySWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPihmb2xkZXJJZE1hcmtlZEJ5RGVmYXVsdCB8fCBkYXRhWzBdPy5pZCk7XG4gIGNvbnN0IHRyZWVzdHJ1Y3R1cmVSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCB3cmFwcGVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3Qgcm9vdExldmVsSWQgPSB1c2VNZW1vKCgpID0+IHV1aWQoKSwgW10pOyAvLyBUT0RPOiB1c2UgdXNlSWQgaG9vayB3aGVuIHdlIHVwZGF0ZSB0byBSZWFjdCAxOFxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGRlZmF1bHRPcGVuRm9sZGVycykge1xuICAgICAgc2V0T3BlbkZvbGRlcnMoKHByZXYpID0+IHtcbiAgICAgICAgcmV0dXJuIHVuaXEoWy4uLmRlZmF1bHRPcGVuRm9sZGVycywgLi4ucHJldl0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9LCBbZGVmYXVsdE9wZW5Gb2xkZXJzXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWxvYWRpbmcpIHtcbiAgICAgIHNldE5ld0ZvbGRlcih1bmRlZmluZWQpO1xuICAgIH1cbiAgfSwgW2xvYWRpbmddKTtcblxuICBjb25zdCBvblRvZ2dsZU9wZW4gPSAoaWQ6IHN0cmluZykgPT4ge1xuICAgIGlmIChvcGVuRm9sZGVycy5pbmNsdWRlcyhpZCkpIHtcbiAgICAgIC8vIERpZCB3ZSBqdXN0IGNsb3NlZCBhIGZvbGRlciB3aXRoIGEgbWFya2VkIGZvbGRlciBpbnNpZGUgaXQ/XG4gICAgICAvLyBJZiBzbywgd2UgbmVlZCB0byBtYXJrIHRoZSBmb2xkZXIgd2UganVzdCBjbG9zZWQuXG4gICAgICBpZiAobWFya2VkRm9sZGVySWQpIHtcbiAgICAgICAgY29uc3QgY2xvc2luZ0ZvbGRlclBhdGggPSBnZXRQYXRoT2ZGb2xkZXIoZGF0YSwgaWQpO1xuICAgICAgICBjb25zdCBtYXJrZWRGb2xkZXJQYXRoID0gZ2V0UGF0aE9mRm9sZGVyKGRhdGEsIG1hcmtlZEZvbGRlcklkKTtcbiAgICAgICAgY29uc3QgbWFya2VkRm9sZGVySXNTdWJQYXRoID0gY2xvc2luZ0ZvbGRlclBhdGguZXZlcnkoXG4gICAgICAgICAgKGZvbGRlcklkLCBfaW5kZXgpID0+IG1hcmtlZEZvbGRlclBhdGhbX2luZGV4XSA9PT0gZm9sZGVySWQsXG4gICAgICAgICk7XG4gICAgICAgIGlmIChtYXJrZWRGb2xkZXJJc1N1YlBhdGgpIHtcbiAgICAgICAgICBzZXRNYXJrZWRGb2xkZXJJZChjbG9zaW5nRm9sZGVyUGF0aFtjbG9zaW5nRm9sZGVyUGF0aC5sZW5ndGggLSAxXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHNldE9wZW5Gb2xkZXJzKG9wZW5Gb2xkZXJzLmZpbHRlcigoZm9sZGVyKSA9PiBmb2xkZXIgIT09IGlkKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldE9wZW5Gb2xkZXJzKHVuaXEoWy4uLm9wZW5Gb2xkZXJzLCBpZF0pKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgb25DcmVhdGVOZXdGb2xkZXIgPSAocHJvcHM6IHsgaWRQYXRoczogbnVtYmVyW107IHBhcmVudElkPzogc3RyaW5nIH0pID0+IHtcbiAgICBzZXROZXdGb2xkZXIocHJvcHMpO1xuICB9O1xuXG4gIGNvbnN0IG9uU2F2ZU5ld0ZvbGRlciA9ICh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgaWYgKG5ld0ZvbGRlcikge1xuICAgICAgLy8gV2Ugd291bGQgbGlrZSB0byBjcmVhdGUgYSBuZXcgZm9sZGVyIHdpdGggdGhlIG5hbWUgb2YgdmFsdWUuXG4gICAgICAvLyBJdHMgbG9jYXRpb24gaW4gc3RydWN0dXJlIGlzIGJhc2VkIG9uIG5ld0ZvbGRlciBvYmplY3RcbiAgICAgIG9uTmV3Rm9sZGVyKHsgLi4ubmV3Rm9sZGVyLCB2YWx1ZSB9KS50aGVuKChuZXdGb2xkZXJJZCkgPT4ge1xuICAgICAgICBpZiAobmV3Rm9sZGVySWQpIHtcbiAgICAgICAgICBzZXRNYXJrZWRGb2xkZXJJZChuZXdGb2xkZXJJZCk7XG4gICAgICAgICAgc2V0Rm9jdXNlZEZvbGRlcklkKG5ld0ZvbGRlcklkKTtcbiAgICAgICAgICAvLyBPcGVuIGN1cnJlbnQgZm9sZGVyIGluIGNhc2UgaXQgd2FzIGNsb3NlZC4uXG5cbiAgICAgICAgICBpZiAobmV3Rm9sZGVyLnBhcmVudElkKSB7XG4gICAgICAgICAgICBzZXRPcGVuRm9sZGVycyh1bmlxKFsuLi5vcGVuRm9sZGVycywgbmV3Rm9sZGVyLnBhcmVudElkXSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IG9uQ2FuY2VsTmV3Rm9sZGVyID0gKCkgPT4ge1xuICAgIHNldE5ld0ZvbGRlcih1bmRlZmluZWQpO1xuICB9O1xuXG4gIGNvbnN0IG9uTWFya0ZvbGRlciA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgc2V0TWFya2VkRm9sZGVySWQoaWQpO1xuICAgIHNldEZvY3VzZWRGb2xkZXJJZChpZCk7XG4gIH07XG5cbiAgY29uc3QgcGF0aHMgPSBnZXRQYXRoT2ZGb2xkZXIoZGF0YSwgbWFya2VkRm9sZGVySWQgfHwgJycpO1xuICBjb25zdCBjYW5BZGRGb2xkZXIgPSBlZGl0YWJsZSAmJiBwYXRocy5sZW5ndGggPCAobWF4aW11bUxldmVsc09mRm9sZGVyc0FsbG93ZWQgfHwgMSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICByZWY9e3RyZWVzdHJ1Y3R1cmVSZWZ9XG4gICAgICBvbktleURvd249eyhlKSA9PiB7XG4gICAgICAgIGlmICh3cmFwcGVyUmVmLmN1cnJlbnQ/LmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpICYmIEtFWUJPQVJEX0tFWVNfT0ZfSU5URVJFU1QuaW5jbHVkZXMoZS5rZXkpKSB7XG4gICAgICAgICAga2V5Ym9hcmROYXZpZ2F0aW9uKHtcbiAgICAgICAgICAgIGUsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgc2V0Rm9jdXNlZEZvbGRlcklkLFxuICAgICAgICAgICAgZm9jdXNlZEZvbGRlcklkLFxuICAgICAgICAgICAgb25Ub2dnbGVPcGVuLFxuICAgICAgICAgICAgb3BlbkZvbGRlcnMsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH19PlxuICAgICAge2xhYmVsICYmIDxTdHlsZWRMYWJlbCBodG1sRm9yPXtyb290TGV2ZWxJZH0+e2xhYmVsfTwvU3R5bGVkTGFiZWw+fVxuICAgICAgPFRyZWVTdHJ1Y3R1cmVTdHlsZWRXcmFwcGVyIHJlZj17d3JhcHBlclJlZn0gaWQ9e3Jvb3RMZXZlbElkfSBhcmlhLWxhYmVsPVwiTWVudSB0cmVlXCIgcm9sZT1cInRyZWVcIiBmcmFtZWQ9e2ZyYW1lZH0+XG4gICAgICAgIDxGb2xkZXJJdGVtc1xuICAgICAgICAgIGlkUGF0aHM9e1tdfVxuICAgICAgICAgIGRhdGE9e2RhdGF9XG4gICAgICAgICAgZWRpdGFibGU9e2VkaXRhYmxlfVxuICAgICAgICAgIG9uVG9nZ2xlT3Blbj17b25Ub2dnbGVPcGVufVxuICAgICAgICAgIG5ld0ZvbGRlcj17bmV3Rm9sZGVyfVxuICAgICAgICAgIG9uQ3JlYXRlTmV3Rm9sZGVyPXtvbkNyZWF0ZU5ld0ZvbGRlcn1cbiAgICAgICAgICBvbkNhbmNlbE5ld0ZvbGRlcj17b25DYW5jZWxOZXdGb2xkZXJ9XG4gICAgICAgICAgb25TYXZlTmV3Rm9sZGVyPXtvblNhdmVOZXdGb2xkZXJ9XG4gICAgICAgICAgb3BlbkZvbGRlcnM9e29wZW5Gb2xkZXJzfVxuICAgICAgICAgIG1hcmtlZEZvbGRlcklkPXttYXJrZWRGb2xkZXJJZH1cbiAgICAgICAgICBvbk1hcmtGb2xkZXI9e29uTWFya0ZvbGRlcn1cbiAgICAgICAgICBvcGVuT25Gb2xkZXJDbGljaz17b3Blbk9uRm9sZGVyQ2xpY2t9XG4gICAgICAgICAgbG9hZGluZz17bG9hZGluZ31cbiAgICAgICAgICBmb2N1c2VkRm9sZGVySWQ9e2ZvY3VzZWRGb2xkZXJJZH1cbiAgICAgICAgICBzZXRGb2N1c2VkRm9sZGVySWQ9e3NldEZvY3VzZWRGb2xkZXJJZH1cbiAgICAgICAgICBmaXJzdExldmVsXG4gICAgICAgICAgZm9sZGVyQ2hpbGQ9e2ZvbGRlckNoaWxkfVxuICAgICAgICAgIG1heGltdW1MZXZlbHNPZkZvbGRlcnNBbGxvd2VkPXttYXhpbXVtTGV2ZWxzT2ZGb2xkZXJzQWxsb3dlZH1cbiAgICAgICAgLz5cbiAgICAgIDwvVHJlZVN0cnVjdHVyZVN0eWxlZFdyYXBwZXI+XG4gICAgICB7ZWRpdGFibGUgJiYgKFxuICAgICAgICA8QWRkRm9sZGVyV3JhcHBlcj5cbiAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgdG9vbHRpcD17XG4gICAgICAgICAgICAgIGNhbkFkZEZvbGRlclxuICAgICAgICAgICAgICAgID8gdCgnbXlOZGxhLm5ld0ZvbGRlclVuZGVyJywge1xuICAgICAgICAgICAgICAgICAgICBmb2xkZXJOYW1lOiBnZXRGb2xkZXJOYW1lKGRhdGEsIG1hcmtlZEZvbGRlcklkKSxcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgOiB0KCdteU5kbGEubWF4Rm9sZGVyc0FscmVhZHlBZGRlZCcpXG4gICAgICAgICAgICB9PlxuICAgICAgICAgICAgPEFkZEJ1dHRvblxuICAgICAgICAgICAgICBkaXNhYmxlZD17IWNhbkFkZEZvbGRlcn1cbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnbXlOZGxhLm5ld0ZvbGRlcicpfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaWRQYXRocyA9IGdldElkUGF0aHNPZkZvbGRlcihkYXRhLCBtYXJrZWRGb2xkZXJJZCB8fCAnJyk7XG4gICAgICAgICAgICAgICAgc2V0TmV3Rm9sZGVyKHsgaWRQYXRocywgcGFyZW50SWQ6IHBhdGhzW3BhdGhzLmxlbmd0aCAtIDFdIH0pO1xuICAgICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAge3QoJ215TmRsYS5uZXdGb2xkZXInKX1cbiAgICAgICAgICAgIDwvQWRkQnV0dG9uPlxuICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgPC9BZGRGb2xkZXJXcmFwcGVyPlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cblRyZWVTdHJ1Y3R1cmUuZGVmYXVsdFByb3BzID0ge1xuICBtYXhpbXVtTGV2ZWxzT2ZGb2xkZXJzQWxsb3dlZDogTUFYX0xFVkVMX0ZPUl9GT0xERVJTLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgVHJlZVN0cnVjdHVyZTtcbiJdfQ== */"));
67
+ })("display:flex;margin-top:", _core.spacing.xsmall, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRyZWVTdHJ1Y3R1cmUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBCbUMiLCJmaWxlIjoiVHJlZVN0cnVjdHVyZS50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMi1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlLCB1c2VSZWYsIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBBZGRCdXR0b24gfSBmcm9tICdAbmRsYS9idXR0b24nO1xuaW1wb3J0IFRvb2x0aXAgZnJvbSAnQG5kbGEvdG9vbHRpcCc7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgc3BhY2luZywgZm9udHMgfSBmcm9tICdAbmRsYS9jb3JlJztcbmltcG9ydCB7IHVuaXEgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IFRyZWVTdHJ1Y3R1cmVTdHlsZWRXcmFwcGVyIGZyb20gJy4vVHJlZVN0cnVjdHVyZVdyYXBwZXInO1xuaW1wb3J0IEZvbGRlckl0ZW1zIGZyb20gJy4vRm9sZGVySXRlbXMnO1xuaW1wb3J0IHsgZ2V0UGF0aE9mRm9sZGVyLCBnZXRGb2xkZXJOYW1lLCBmbGF0dGVuRm9sZGVycyB9IGZyb20gJy4vaGVscGVyRnVuY3Rpb25zJztcbmltcG9ydCB7IFRyZWVTdHJ1Y3R1cmVQcm9wcyB9IGZyb20gJy4vVHJlZVN0cnVjdHVyZS50eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBNQVhfTEVWRUxfRk9SX0ZPTERFUlMgPSA0O1xuXG5jb25zdCBTdHlsZWRMYWJlbCA9IHN0eWxlZC5sYWJlbGBcbiAgZm9udC13ZWlnaHQ6ICR7Zm9udHMud2VpZ2h0LnNlbWlib2xkfTtcbmA7XG5cbmNvbnN0IEFkZEZvbGRlcldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tdG9wOiAke3NwYWNpbmcueHNtYWxsfTtcbmA7XG5cbmNvbnN0IFRyZWVTdHJ1Y3R1cmUgPSAoe1xuICBmb2xkZXJzLFxuICBsYWJlbCxcbiAgZWRpdGFibGUsXG4gIGxvYWRpbmcsXG4gIG9uTmV3Rm9sZGVyLFxuICBvblNlbGVjdEZvbGRlcixcbiAgb3Blbk9uRm9sZGVyQ2xpY2ssXG4gIGZyYW1lZCxcbiAgZm9sZGVySWRNYXJrZWRCeURlZmF1bHQsXG4gIGRlZmF1bHRPcGVuRm9sZGVycyxcbiAgZm9sZGVyQ2hpbGQsXG4gIG1heGltdW1MZXZlbHNPZkZvbGRlcnNBbGxvd2VkID0gTUFYX0xFVkVMX0ZPUl9GT0xERVJTLFxufTogVHJlZVN0cnVjdHVyZVByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcbiAgY29uc3QgW25ld0ZvbGRlclBhcmVudElkLCBzZXROZXdGb2xkZXJQYXJlbnRJZF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIGNvbnN0IFtvcGVuRm9sZGVycywgc2V0T3BlbkZvbGRlcnNdID0gdXNlU3RhdGU8c3RyaW5nW10+KGRlZmF1bHRPcGVuRm9sZGVycyB8fCBbXSk7XG4gIGNvbnN0IFtmb2N1c2VkRm9sZGVySWQsIHNldEZvY3VzZWRGb2xkZXJJZF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIGNvbnN0IFttYXJrZWRGb2xkZXJJZCwgc2V0TWFya2VkRm9sZGVySWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPihmb2xkZXJJZE1hcmtlZEJ5RGVmYXVsdCB8fCBmb2xkZXJzWzBdPy5pZCk7XG4gIGNvbnN0IHRyZWVzdHJ1Y3R1cmVSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCB3cmFwcGVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3Qgcm9vdExldmVsSWQgPSAndHJlZXN0cnVjdHVyZS1yb290JztcblxuICBjb25zdCB2aXNpYmxlRm9sZGVycyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gZmxhdHRlbkZvbGRlcnMoZm9sZGVycywgb3BlbkZvbGRlcnMpLm1hcCgoZm9sZGVyKSA9PiBmb2xkZXIuaWQpLFxuICAgIFtmb2xkZXJzLCBvcGVuRm9sZGVyc10sXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZGVmYXVsdE9wZW5Gb2xkZXJzKSB7XG4gICAgICBzZXRPcGVuRm9sZGVycygocHJldikgPT4ge1xuICAgICAgICByZXR1cm4gdW5pcShbLi4uZGVmYXVsdE9wZW5Gb2xkZXJzLCAuLi5wcmV2XSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtkZWZhdWx0T3BlbkZvbGRlcnNdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghbG9hZGluZykge1xuICAgICAgc2V0TmV3Rm9sZGVyUGFyZW50SWQodW5kZWZpbmVkKTtcbiAgICB9XG4gIH0sIFtsb2FkaW5nXSk7XG5cbiAgY29uc3Qgb25DbG9zZUZvbGRlciA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgLy8gRGlkIHdlIGp1c3QgY2xvc2VkIGEgZm9sZGVyIHdpdGggYSBtYXJrZWQgZm9sZGVyIGluc2lkZSBpdD9cbiAgICAvLyBJZiBzbywgd2UgbmVlZCB0byBtYXJrIHRoZSBmb2xkZXIgd2UganVzdCBjbG9zZWQuXG4gICAgaWYgKG1hcmtlZEZvbGRlcklkKSB7XG4gICAgICBjb25zdCBjbG9zaW5nRm9sZGVyUGF0aCA9IGdldFBhdGhPZkZvbGRlcihmb2xkZXJzLCBpZCk7XG4gICAgICBjb25zdCBtYXJrZWRGb2xkZXJQYXRoID0gZ2V0UGF0aE9mRm9sZGVyKGZvbGRlcnMsIG1hcmtlZEZvbGRlcklkKTtcbiAgICAgIGNvbnN0IG1hcmtlZEZvbGRlcklzU3ViUGF0aCA9IGNsb3NpbmdGb2xkZXJQYXRoLmV2ZXJ5KFxuICAgICAgICAoZm9sZGVySWQsIF9pbmRleCkgPT4gbWFya2VkRm9sZGVyUGF0aFtfaW5kZXhdID09PSBmb2xkZXJJZCxcbiAgICAgICk7XG4gICAgICBpZiAobWFya2VkRm9sZGVySXNTdWJQYXRoKSB7XG4gICAgICAgIGlmIChvblNlbGVjdEZvbGRlcikge1xuICAgICAgICAgIHNldE1hcmtlZEZvbGRlcklkKGNsb3NpbmdGb2xkZXJQYXRoW2Nsb3NpbmdGb2xkZXJQYXRoLmxlbmd0aCAtIDFdKTtcbiAgICAgICAgICBvblNlbGVjdEZvbGRlcihjbG9zaW5nRm9sZGVyUGF0aFtjbG9zaW5nRm9sZGVyUGF0aC5sZW5ndGggLSAxXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc2V0Rm9jdXNlZEZvbGRlcklkKGNsb3NpbmdGb2xkZXJQYXRoW2Nsb3NpbmdGb2xkZXJQYXRoLmxlbmd0aCAtIDFdKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBzZXRPcGVuRm9sZGVycyhvcGVuRm9sZGVycy5maWx0ZXIoKGZvbGRlcikgPT4gZm9sZGVyICE9PSBpZCkpO1xuICB9O1xuXG4gIGNvbnN0IG9uT3BlbkZvbGRlciA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgc2V0T3BlbkZvbGRlcnModW5pcShvcGVuRm9sZGVycy5jb25jYXQoaWQpKSk7XG4gIH07XG5cbiAgY29uc3Qgb25DcmVhdGVOZXdGb2xkZXIgPSAocGFyZW50SWQ6IHN0cmluZykgPT4ge1xuICAgIHNldE5ld0ZvbGRlclBhcmVudElkKHBhcmVudElkKTtcbiAgfTtcblxuICBjb25zdCBvblNhdmVOZXdGb2xkZXIgPSAobmFtZTogc3RyaW5nLCBwYXJlbnRJZDogc3RyaW5nKSA9PiB7XG4gICAgb25OZXdGb2xkZXIobmFtZSwgcGFyZW50SWQpLnRoZW4oKG5ld0ZvbGRlcklkKSA9PiB7XG4gICAgICBpZiAobmV3Rm9sZGVySWQpIHtcbiAgICAgICAgc2V0TWFya2VkRm9sZGVySWQobmV3Rm9sZGVySWQpO1xuICAgICAgICBzZXRGb2N1c2VkRm9sZGVySWQobmV3Rm9sZGVySWQpO1xuICAgICAgICBzZXRPcGVuRm9sZGVycyh1bmlxKG9wZW5Gb2xkZXJzLmNvbmNhdChwYXJlbnRJZCkpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBvbkNhbmNlbE5ld0ZvbGRlciA9ICgpID0+IHtcbiAgICBzZXROZXdGb2xkZXJQYXJlbnRJZCh1bmRlZmluZWQpO1xuICB9O1xuXG4gIGNvbnN0IG9uTWFya0ZvbGRlciA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgc2V0TWFya2VkRm9sZGVySWQoaWQpO1xuICAgIHNldEZvY3VzZWRGb2xkZXJJZChpZCk7XG4gIH07XG5cbiAgY29uc3QgcGF0aHMgPSBnZXRQYXRoT2ZGb2xkZXIoZm9sZGVycywgbWFya2VkRm9sZGVySWQgfHwgJycpO1xuICBjb25zdCBjYW5BZGRGb2xkZXIgPSBlZGl0YWJsZSAmJiBwYXRocy5sZW5ndGggPCAobWF4aW11bUxldmVsc09mRm9sZGVyc0FsbG93ZWQgfHwgMSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17dHJlZXN0cnVjdHVyZVJlZn0+XG4gICAgICB7bGFiZWwgJiYgPFN0eWxlZExhYmVsIGh0bWxGb3I9e3Jvb3RMZXZlbElkfT57bGFiZWx9PC9TdHlsZWRMYWJlbD59XG4gICAgICA8VHJlZVN0cnVjdHVyZVN0eWxlZFdyYXBwZXIgcmVmPXt3cmFwcGVyUmVmfSBpZD17cm9vdExldmVsSWR9IGFyaWEtbGFiZWw9XCJNZW51IHRyZWVcIiByb2xlPVwidHJlZVwiIGZyYW1lZD17ZnJhbWVkfT5cbiAgICAgICAgPEZvbGRlckl0ZW1zXG4gICAgICAgICAgb25TZWxlY3RGb2xkZXI9e29uU2VsZWN0Rm9sZGVyfVxuICAgICAgICAgIGxldmVsPXsxfVxuICAgICAgICAgIGZvbGRlcnM9e2ZvbGRlcnN9XG4gICAgICAgICAgZWRpdGFibGU9e2VkaXRhYmxlfVxuICAgICAgICAgIG9uT3BlbkZvbGRlcj17b25PcGVuRm9sZGVyfVxuICAgICAgICAgIG9uQ2xvc2VGb2xkZXI9e29uQ2xvc2VGb2xkZXJ9XG4gICAgICAgICAgbmV3Rm9sZGVyUGFyZW50SWQ9e25ld0ZvbGRlclBhcmVudElkfVxuICAgICAgICAgIG9uQ3JlYXRlTmV3Rm9sZGVyPXtvbkNyZWF0ZU5ld0ZvbGRlcn1cbiAgICAgICAgICBvbkNhbmNlbE5ld0ZvbGRlcj17b25DYW5jZWxOZXdGb2xkZXJ9XG4gICAgICAgICAgb25TYXZlTmV3Rm9sZGVyPXtvblNhdmVOZXdGb2xkZXJ9XG4gICAgICAgICAgdmlzaWJsZUZvbGRlcnM9e3Zpc2libGVGb2xkZXJzfVxuICAgICAgICAgIG9wZW5Gb2xkZXJzPXtvcGVuRm9sZGVyc31cbiAgICAgICAgICBtYXJrZWRGb2xkZXJJZD17bWFya2VkRm9sZGVySWR9XG4gICAgICAgICAgb25NYXJrRm9sZGVyPXtvbk1hcmtGb2xkZXJ9XG4gICAgICAgICAgb3Blbk9uRm9sZGVyQ2xpY2s9e29wZW5PbkZvbGRlckNsaWNrfVxuICAgICAgICAgIGxvYWRpbmc9e2xvYWRpbmd9XG4gICAgICAgICAgZm9jdXNlZEZvbGRlcklkPXtmb2N1c2VkRm9sZGVySWR9XG4gICAgICAgICAgc2V0Rm9jdXNlZEZvbGRlcklkPXtzZXRGb2N1c2VkRm9sZGVySWR9XG4gICAgICAgICAgZm9sZGVyQ2hpbGQ9e2ZvbGRlckNoaWxkfVxuICAgICAgICAgIG1heGltdW1MZXZlbHNPZkZvbGRlcnNBbGxvd2VkPXttYXhpbXVtTGV2ZWxzT2ZGb2xkZXJzQWxsb3dlZH1cbiAgICAgICAgLz5cbiAgICAgIDwvVHJlZVN0cnVjdHVyZVN0eWxlZFdyYXBwZXI+XG4gICAgICB7ZWRpdGFibGUgJiYgKFxuICAgICAgICA8QWRkRm9sZGVyV3JhcHBlcj5cbiAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgdG9vbHRpcD17XG4gICAgICAgICAgICAgIGNhbkFkZEZvbGRlclxuICAgICAgICAgICAgICAgID8gdCgnbXlOZGxhLm5ld0ZvbGRlclVuZGVyJywge1xuICAgICAgICAgICAgICAgICAgICBmb2xkZXJOYW1lOiBnZXRGb2xkZXJOYW1lKGZvbGRlcnMsIG1hcmtlZEZvbGRlcklkKSxcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgOiB0KCd0cmVlU3RydWN0dXJlLm1heEZvbGRlcnNBbHJlYWR5QWRkZWQnKVxuICAgICAgICAgICAgfT5cbiAgICAgICAgICAgIDxBZGRCdXR0b25cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFjYW5BZGRGb2xkZXJ9XG4gICAgICAgICAgICAgIGFyaWEtbGFiZWw9e3QoJ215TmRsYS5uZXdGb2xkZXInKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldE5ld0ZvbGRlclBhcmVudElkKG1hcmtlZEZvbGRlcklkKTtcbiAgICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgIHt0KCdteU5kbGEubmV3Rm9sZGVyJyl9XG4gICAgICAgICAgICA8L0FkZEJ1dHRvbj5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIDwvQWRkRm9sZGVyV3JhcHBlcj5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBUcmVlU3RydWN0dXJlO1xuIl19 */"));
78
68
 
79
69
  var TreeStructure = function TreeStructure(_ref) {
80
- var _data$;
70
+ var _folders$;
81
71
 
82
- var data = _ref.data,
72
+ var folders = _ref.folders,
83
73
  label = _ref.label,
84
74
  editable = _ref.editable,
85
75
  loading = _ref.loading,
86
76
  onNewFolder = _ref.onNewFolder,
77
+ onSelectFolder = _ref.onSelectFolder,
87
78
  openOnFolderClick = _ref.openOnFolderClick,
88
79
  framed = _ref.framed,
89
80
  folderIdMarkedByDefault = _ref.folderIdMarkedByDefault,
90
81
  defaultOpenFolders = _ref.defaultOpenFolders,
91
82
  folderChild = _ref.folderChild,
92
- maximumLevelsOfFoldersAllowed = _ref.maximumLevelsOfFoldersAllowed;
83
+ _ref$maximumLevelsOfF = _ref.maximumLevelsOfFoldersAllowed,
84
+ maximumLevelsOfFoldersAllowed = _ref$maximumLevelsOfF === void 0 ? MAX_LEVEL_FOR_FOLDERS : _ref$maximumLevelsOfF;
93
85
 
94
86
  var _useTranslation = (0, _reactI18next.useTranslation)(),
95
87
  t = _useTranslation.t;
96
88
 
97
89
  var _useState = (0, _react.useState)(),
98
90
  _useState2 = _slicedToArray(_useState, 2),
99
- newFolder = _useState2[0],
100
- setNewFolder = _useState2[1];
91
+ newFolderParentId = _useState2[0],
92
+ setNewFolderParentId = _useState2[1];
101
93
 
102
94
  var _useState3 = (0, _react.useState)(defaultOpenFolders || []),
103
95
  _useState4 = _slicedToArray(_useState3, 2),
@@ -109,17 +101,19 @@ var TreeStructure = function TreeStructure(_ref) {
109
101
  focusedFolderId = _useState6[0],
110
102
  setFocusedFolderId = _useState6[1];
111
103
 
112
- var _useState7 = (0, _react.useState)(folderIdMarkedByDefault || ((_data$ = data[0]) === null || _data$ === void 0 ? void 0 : _data$.id)),
104
+ var _useState7 = (0, _react.useState)(folderIdMarkedByDefault || ((_folders$ = folders[0]) === null || _folders$ === void 0 ? void 0 : _folders$.id)),
113
105
  _useState8 = _slicedToArray(_useState7, 2),
114
106
  markedFolderId = _useState8[0],
115
107
  setMarkedFolderId = _useState8[1];
116
108
 
117
109
  var treestructureRef = (0, _react.useRef)(null);
118
110
  var wrapperRef = (0, _react.useRef)(null);
119
- var rootLevelId = (0, _react.useMemo)(function () {
120
- return (0, _util.uuid)();
121
- }, []); // TODO: use useId hook when we update to React 18
122
-
111
+ var rootLevelId = 'treestructure-root';
112
+ var visibleFolders = (0, _react.useMemo)(function () {
113
+ return (0, _helperFunctions.flattenFolders)(folders, openFolders).map(function (folder) {
114
+ return folder.id;
115
+ });
116
+ }, [folders, openFolders]);
123
117
  (0, _react.useEffect)(function () {
124
118
  if (defaultOpenFolders) {
125
119
  setOpenFolders(function (prev) {
@@ -129,59 +123,55 @@ var TreeStructure = function TreeStructure(_ref) {
129
123
  }, [defaultOpenFolders]);
130
124
  (0, _react.useEffect)(function () {
131
125
  if (!loading) {
132
- setNewFolder(undefined);
126
+ setNewFolderParentId(undefined);
133
127
  }
134
128
  }, [loading]);
135
129
 
136
- var onToggleOpen = function onToggleOpen(id) {
137
- if (openFolders.includes(id)) {
138
- // Did we just closed a folder with a marked folder inside it?
139
- // If so, we need to mark the folder we just closed.
140
- if (markedFolderId) {
141
- var closingFolderPath = (0, _helperFunctions.getPathOfFolder)(data, id);
142
- var markedFolderPath = (0, _helperFunctions.getPathOfFolder)(data, markedFolderId);
143
- var markedFolderIsSubPath = closingFolderPath.every(function (folderId, _index) {
144
- return markedFolderPath[_index] === folderId;
145
- });
146
-
147
- if (markedFolderIsSubPath) {
130
+ var onCloseFolder = function onCloseFolder(id) {
131
+ // Did we just closed a folder with a marked folder inside it?
132
+ // If so, we need to mark the folder we just closed.
133
+ if (markedFolderId) {
134
+ var closingFolderPath = (0, _helperFunctions.getPathOfFolder)(folders, id);
135
+ var markedFolderPath = (0, _helperFunctions.getPathOfFolder)(folders, markedFolderId);
136
+ var markedFolderIsSubPath = closingFolderPath.every(function (folderId, _index) {
137
+ return markedFolderPath[_index] === folderId;
138
+ });
139
+
140
+ if (markedFolderIsSubPath) {
141
+ if (onSelectFolder) {
148
142
  setMarkedFolderId(closingFolderPath[closingFolderPath.length - 1]);
143
+ onSelectFolder(closingFolderPath[closingFolderPath.length - 1]);
144
+ } else {
145
+ setFocusedFolderId(closingFolderPath[closingFolderPath.length - 1]);
149
146
  }
150
147
  }
151
-
152
- setOpenFolders(openFolders.filter(function (folder) {
153
- return folder !== id;
154
- }));
155
- } else {
156
- setOpenFolders((0, _lodash.uniq)([].concat(_toConsumableArray(openFolders), [id])));
157
148
  }
149
+
150
+ setOpenFolders(openFolders.filter(function (folder) {
151
+ return folder !== id;
152
+ }));
158
153
  };
159
154
 
160
- var onCreateNewFolder = function onCreateNewFolder(props) {
161
- setNewFolder(props);
155
+ var onOpenFolder = function onOpenFolder(id) {
156
+ setOpenFolders((0, _lodash.uniq)(openFolders.concat(id)));
162
157
  };
163
158
 
164
- var onSaveNewFolder = function onSaveNewFolder(value) {
165
- if (newFolder) {
166
- // We would like to create a new folder with the name of value.
167
- // Its location in structure is based on newFolder object
168
- onNewFolder(_objectSpread(_objectSpread({}, newFolder), {}, {
169
- value: value
170
- })).then(function (newFolderId) {
171
- if (newFolderId) {
172
- setMarkedFolderId(newFolderId);
173
- setFocusedFolderId(newFolderId); // Open current folder in case it was closed..
174
-
175
- if (newFolder.parentId) {
176
- setOpenFolders((0, _lodash.uniq)([].concat(_toConsumableArray(openFolders), [newFolder.parentId])));
177
- }
178
- }
179
- });
180
- }
159
+ var onCreateNewFolder = function onCreateNewFolder(parentId) {
160
+ setNewFolderParentId(parentId);
161
+ };
162
+
163
+ var onSaveNewFolder = function onSaveNewFolder(name, parentId) {
164
+ onNewFolder(name, parentId).then(function (newFolderId) {
165
+ if (newFolderId) {
166
+ setMarkedFolderId(newFolderId);
167
+ setFocusedFolderId(newFolderId);
168
+ setOpenFolders((0, _lodash.uniq)(openFolders.concat(parentId)));
169
+ }
170
+ });
181
171
  };
182
172
 
183
173
  var onCancelNewFolder = function onCancelNewFolder() {
184
- setNewFolder(undefined);
174
+ setNewFolderParentId(undefined);
185
175
  };
186
176
 
187
177
  var onMarkFolder = function onMarkFolder(id) {
@@ -189,24 +179,10 @@ var TreeStructure = function TreeStructure(_ref) {
189
179
  setFocusedFolderId(id);
190
180
  };
191
181
 
192
- var paths = (0, _helperFunctions.getPathOfFolder)(data, markedFolderId || '');
182
+ var paths = (0, _helperFunctions.getPathOfFolder)(folders, markedFolderId || '');
193
183
  var canAddFolder = editable && paths.length < (maximumLevelsOfFoldersAllowed || 1);
194
184
  return (0, _core2.jsx)("div", {
195
- ref: treestructureRef,
196
- onKeyDown: function onKeyDown(e) {
197
- var _wrapperRef$current;
198
-
199
- if (((_wrapperRef$current = wrapperRef.current) === null || _wrapperRef$current === void 0 ? void 0 : _wrapperRef$current.contains(document.activeElement)) && _keyboardNavigation.KEYBOARD_KEYS_OF_INTEREST.includes(e.key)) {
200
- (0, _keyboardNavigation["default"])({
201
- e: e,
202
- data: data,
203
- setFocusedFolderId: setFocusedFolderId,
204
- focusedFolderId: focusedFolderId,
205
- onToggleOpen: onToggleOpen,
206
- openFolders: openFolders
207
- });
208
- }
209
- }
185
+ ref: treestructureRef
210
186
  }, label && (0, _core2.jsx)(StyledLabel, {
211
187
  htmlFor: rootLevelId
212
188
  }, label), (0, _core2.jsx)(_TreeStructureWrapper["default"], {
@@ -216,14 +192,17 @@ var TreeStructure = function TreeStructure(_ref) {
216
192
  role: "tree",
217
193
  framed: framed
218
194
  }, (0, _core2.jsx)(_FolderItems["default"], {
219
- idPaths: [],
220
- data: data,
195
+ onSelectFolder: onSelectFolder,
196
+ level: 1,
197
+ folders: folders,
221
198
  editable: editable,
222
- onToggleOpen: onToggleOpen,
223
- newFolder: newFolder,
199
+ onOpenFolder: onOpenFolder,
200
+ onCloseFolder: onCloseFolder,
201
+ newFolderParentId: newFolderParentId,
224
202
  onCreateNewFolder: onCreateNewFolder,
225
203
  onCancelNewFolder: onCancelNewFolder,
226
204
  onSaveNewFolder: onSaveNewFolder,
205
+ visibleFolders: visibleFolders,
227
206
  openFolders: openFolders,
228
207
  markedFolderId: markedFolderId,
229
208
  onMarkFolder: onMarkFolder,
@@ -231,28 +210,20 @@ var TreeStructure = function TreeStructure(_ref) {
231
210
  loading: loading,
232
211
  focusedFolderId: focusedFolderId,
233
212
  setFocusedFolderId: setFocusedFolderId,
234
- firstLevel: true,
235
213
  folderChild: folderChild,
236
214
  maximumLevelsOfFoldersAllowed: maximumLevelsOfFoldersAllowed
237
215
  })), editable && (0, _core2.jsx)(AddFolderWrapper, null, (0, _core2.jsx)(_tooltip["default"], {
238
216
  tooltip: canAddFolder ? t('myNdla.newFolderUnder', {
239
- folderName: (0, _helperFunctions.getFolderName)(data, markedFolderId)
240
- }) : t('myNdla.maxFoldersAlreadyAdded')
217
+ folderName: (0, _helperFunctions.getFolderName)(folders, markedFolderId)
218
+ }) : t('treeStructure.maxFoldersAlreadyAdded')
241
219
  }, (0, _core2.jsx)(_button.AddButton, {
242
220
  disabled: !canAddFolder,
243
221
  "aria-label": t('myNdla.newFolder'),
244
222
  onClick: function onClick() {
245
- var idPaths = (0, _helperFunctions.getIdPathsOfFolder)(data, markedFolderId || '');
246
- setNewFolder({
247
- idPaths: idPaths,
248
- parentId: paths[paths.length - 1]
249
- });
223
+ setNewFolderParentId(markedFolderId);
250
224
  }
251
225
  }, t('myNdla.newFolder')))));
252
226
  };
253
227
 
254
- TreeStructure.defaultProps = {
255
- maximumLevelsOfFoldersAllowed: MAX_LEVEL_FOR_FOLDERS
256
- };
257
228
  var _default = TreeStructure;
258
229
  exports["default"] = _default;
@@ -9,36 +9,27 @@ import React, { ReactNode } from 'react';
9
9
  export interface FolderStructureProps {
10
10
  id: string;
11
11
  name: string;
12
- isOpen?: boolean;
13
- data?: FolderStructureProps[];
12
+ subfolders: FolderStructureProps[];
14
13
  isFavorite?: boolean;
15
14
  status?: string;
16
15
  openAsDefault?: boolean;
17
- url?: string;
18
16
  icon?: ReactNode;
19
17
  }
20
- export interface NewFolderProps {
21
- parentId?: string;
22
- idPaths: number[];
23
- }
24
18
  interface CommonFolderProps {
25
- data: FolderStructureProps[];
26
19
  editable?: boolean;
27
20
  loading?: boolean;
28
21
  openOnFolderClick?: boolean;
22
+ onSelectFolder?: (id: string) => void;
29
23
  }
30
24
  export interface TreeStructureProps extends CommonFolderProps {
25
+ folders: FolderStructureProps[];
31
26
  framed?: boolean;
32
27
  label?: string;
33
28
  folderIdMarkedByDefault?: string;
34
- onNewFolder: (props: {
35
- value: string;
36
- parentId?: string;
37
- idPaths: number[];
38
- }) => Promise<string>;
29
+ onNewFolder: (name: string, parentId: string) => Promise<string>;
39
30
  defaultOpenFolders?: string[];
40
31
  folderChild?: FolderChildFuncType;
41
- maximumLevelsOfFoldersAllowed: number;
32
+ maximumLevelsOfFoldersAllowed?: number;
42
33
  }
43
34
  export declare type onCreateNewFolderProp = ({ idPaths, parentId, }: {
44
35
  idPaths: number[];
@@ -48,18 +39,20 @@ export declare type SetOpenFolderProp = React.Dispatch<React.SetStateAction<stri
48
39
  export declare type SetFocusedFolderId = React.Dispatch<React.SetStateAction<string | undefined>>;
49
40
  export declare type FolderChildFuncType = (id: string, tabIndex: number) => ReactNode;
50
41
  export interface FolderItemsProps extends CommonFolderProps {
51
- onToggleOpen: (id: string) => void;
52
- onSaveNewFolder: (value: string) => void;
42
+ folders: FolderStructureProps[];
43
+ onCloseFolder: (id: string) => void;
44
+ onOpenFolder: (id: string) => void;
45
+ onSaveNewFolder: (name: string, parentId: string) => void;
53
46
  onCancelNewFolder: () => void;
54
- onCreateNewFolder: onCreateNewFolderProp;
55
- newFolder: NewFolderProps | undefined;
47
+ onCreateNewFolder: (parentId: string) => void;
48
+ newFolderParentId: string | undefined;
49
+ visibleFolders: string[];
56
50
  openFolders: string[];
57
51
  markedFolderId?: string;
58
52
  onMarkFolder: (id: string) => void;
59
- idPaths: number[];
53
+ level: number;
60
54
  focusedFolderId: string | undefined;
61
55
  setFocusedFolderId: SetFocusedFolderId;
62
- firstLevel: boolean;
63
56
  keyNavigationFocusIsCreateFolderButton?: boolean;
64
57
  icon?: ReactNode;
65
58
  folderChild?: FolderChildFuncType;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) 2022-present, NDLA.
3
+ *
4
+ * This source code is licensed under the GPLv3 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+ import { KeyboardEvent } from 'react';
9
+ export declare const arrowNavigation: (e: KeyboardEvent<HTMLElement>, id: string, visibleFolders: string[], setFocusedFolderId: (id: string) => void, onOpen: (id: string) => void, onClose: (id: string) => void) => void;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.arrowNavigation = void 0;
7
+
8
+ /**
9
+ * Copyright (c) 2022-present, NDLA.
10
+ *
11
+ * This source code is licensed under the GPLv3 license found in the
12
+ * LICENSE file in the root directory of this source tree.
13
+ *
14
+ */
15
+ var navigateVertical = function navigateVertical(visibleFolders, folderId, setFocusedFolderId, direction) {
16
+ var currentIndex = visibleFolders.findIndex(function (id) {
17
+ return id === folderId;
18
+ });
19
+ var target = visibleFolders[currentIndex + direction];
20
+
21
+ if (target !== undefined) {
22
+ setFocusedFolderId(target);
23
+ }
24
+ };
25
+
26
+ var arrowKeys = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
27
+
28
+ var arrowNavigation = function arrowNavigation(e, id, visibleFolders, setFocusedFolderId, onOpen, onClose) {
29
+ if (!arrowKeys.includes(e.key)) {
30
+ return;
31
+ }
32
+
33
+ e.preventDefault();
34
+ e.stopPropagation();
35
+
36
+ switch (e.key) {
37
+ case 'ArrowUp':
38
+ return navigateVertical(visibleFolders, id, setFocusedFolderId, -1);
39
+
40
+ case 'ArrowDown':
41
+ return navigateVertical(visibleFolders, id, setFocusedFolderId, 1);
42
+
43
+ case 'ArrowLeft':
44
+ return onClose(id);
45
+
46
+ case 'ArrowRight':
47
+ return onOpen(id);
48
+
49
+ default:
50
+ return;
51
+ }
52
+ };
53
+
54
+ exports.arrowNavigation = arrowNavigation;
@@ -1,5 +1,4 @@
1
1
  import { FolderStructureProps } from './TreeStructure.types';
2
- declare const getPathOfFolder: (data: FolderStructureProps[], findId: string) => string[];
3
- declare const getIdPathsOfFolder: (data: FolderStructureProps[], findId: string) => number[];
4
- declare const getFolderName: (data: FolderStructureProps[], findId: string | undefined) => string | undefined;
5
- export { getPathOfFolder, getIdPathsOfFolder, getFolderName };
2
+ export declare const getPathOfFolder: (data: FolderStructureProps[], findId: string) => string[];
3
+ export declare const getFolderName: (data: FolderStructureProps[], findId: string | undefined) => string | undefined;
4
+ export declare const flattenFolders: (folders: FolderStructureProps[], openFolders?: string[] | undefined) => FolderStructureProps[];
@@ -3,7 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getFolderName = exports.getIdPathsOfFolder = exports.getPathOfFolder = void 0;
6
+ exports.flattenFolders = exports.getFolderName = exports.getPathOfFolder = void 0;
7
+
8
+ 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; }
9
+
10
+ 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; }
11
+
12
+ 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; }
13
+
14
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
15
+
16
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
7
17
 
8
18
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
9
19
 
@@ -20,20 +30,20 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
20
30
  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; }
21
31
 
22
32
  var getPathOfFolder = function getPathOfFolder(data, findId) {
23
- var paths = function paths(dataChildren, path) {
24
- var _iterator = _createForOfIteratorHelper(dataChildren),
33
+ var paths = function paths(folders, path) {
34
+ var _iterator = _createForOfIteratorHelper(folders),
25
35
  _step;
26
36
 
27
37
  try {
28
38
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
29
39
  var _step$value = _step.value,
30
40
  id = _step$value.id,
31
- dataChildrenSub = _step$value.data;
41
+ subfolders = _step$value.subfolders;
32
42
 
33
43
  if (id === findId) {
34
44
  return [].concat(_toConsumableArray(path), [id]);
35
- } else if (dataChildrenSub === null || dataChildrenSub === void 0 ? void 0 : dataChildrenSub.length) {
36
- return paths(dataChildrenSub, [].concat(_toConsumableArray(path), [id]));
45
+ } else if (subfolders === null || subfolders === void 0 ? void 0 : subfolders.length) {
46
+ return paths(subfolders, [].concat(_toConsumableArray(path), [id]));
37
47
  }
38
48
  }
39
49
  } catch (err) {
@@ -50,28 +60,6 @@ var getPathOfFolder = function getPathOfFolder(data, findId) {
50
60
 
51
61
  exports.getPathOfFolder = getPathOfFolder;
52
62
 
53
- var getIdPathsOfFolder = function getIdPathsOfFolder(data, findId) {
54
- var currentPath = [];
55
-
56
- var paths = function paths(dataChildren, path) {
57
- dataChildren.forEach(function (_ref, _index) {
58
- var id = _ref.id,
59
- dataChildrenSub = _ref.data;
60
-
61
- if (id === findId) {
62
- currentPath = [].concat(_toConsumableArray(path), [_index]);
63
- } else if (dataChildrenSub === null || dataChildrenSub === void 0 ? void 0 : dataChildrenSub.length) {
64
- paths(dataChildrenSub, [].concat(_toConsumableArray(path), [_index]));
65
- }
66
- });
67
- };
68
-
69
- paths(data, []);
70
- return currentPath;
71
- };
72
-
73
- exports.getIdPathsOfFolder = getIdPathsOfFolder;
74
-
75
63
  var getFolderName = function getFolderName(data, findId) {
76
64
  if (!findId) {
77
65
  return undefined;
@@ -80,16 +68,16 @@ var getFolderName = function getFolderName(data, findId) {
80
68
  var folderName;
81
69
 
82
70
  var paths = function paths(dataChildren) {
83
- dataChildren.some(function (_ref2, _index) {
84
- var id = _ref2.id,
85
- name = _ref2.name,
86
- dataChildrenSub = _ref2.data;
71
+ dataChildren.some(function (_ref, _index) {
72
+ var id = _ref.id,
73
+ name = _ref.name,
74
+ subfolders = _ref.subfolders;
87
75
 
88
76
  if (id === findId) {
89
77
  folderName = name;
90
78
  return true;
91
- } else if (dataChildrenSub === null || dataChildrenSub === void 0 ? void 0 : dataChildrenSub.length) {
92
- return paths(dataChildrenSub);
79
+ } else if (subfolders === null || subfolders === void 0 ? void 0 : subfolders.length) {
80
+ return paths(subfolders);
93
81
  }
94
82
 
95
83
  return false;
@@ -100,4 +88,26 @@ var getFolderName = function getFolderName(data, findId) {
100
88
  return folderName;
101
89
  };
102
90
 
103
- exports.getFolderName = getFolderName;
91
+ exports.getFolderName = getFolderName;
92
+
93
+ var flattenFolders = function flattenFolders(folders, openFolders) {
94
+ return folders.reduce(function (acc, _ref2) {
95
+ var subfolders = _ref2.subfolders,
96
+ id = _ref2.id,
97
+ rest = _objectWithoutProperties(_ref2, ["subfolders", "id"]);
98
+
99
+ if (!subfolders || openFolders && !openFolders.includes(id)) {
100
+ return acc.concat(_objectSpread({
101
+ subfolders: subfolders,
102
+ id: id
103
+ }, rest));
104
+ }
105
+
106
+ return acc.concat(_objectSpread({
107
+ subfolders: subfolders,
108
+ id: id
109
+ }, rest), flattenFolders(subfolders, openFolders));
110
+ }, []);
111
+ };
112
+
113
+ exports.flattenFolders = flattenFolders;
package/lib/index.d.ts CHANGED
@@ -34,7 +34,6 @@ export type { FigureType } from './Figure';
34
34
  export { LanguageSelector } from './LanguageSelector';
35
35
  export { LearningPathWrapper, LearningPathContent, LearningPathMenu, LearningPathSticky, LearningPathInformation, LearningPathStickySibling, LearningPathStickyPlaceholder, LearningPathLastStepNavigation, LearningPathMobileStepInfo, LearningPathMobileHeader, } from './LearningPaths';
36
36
  export { Translation, TranslationLine, TranslationBox } from './Translation';
37
- export { default as Spinner } from './Spinner';
38
37
  export { default as SearchResultSleeve } from './Search/SearchResultSleeve';
39
38
  export { default as ContentTypeResult } from './Search/ContentTypeResult';
40
39
  export { SearchFieldForm } from './Search/SearchFieldForm';