@ndla/ui 18.0.0 → 19.0.1

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 (58) hide show
  1. package/es/Masthead/MastheadAuthModal.js +8 -3
  2. package/es/MyNdla/Resource/Folder.js +11 -10
  3. package/es/Resource/BlockResource.js +14 -8
  4. package/es/Resource/ListResource.js +15 -9
  5. package/es/Resource/resourceComponents.js +12 -11
  6. package/es/TreeStructure/FolderItem.js +7 -6
  7. package/es/TreeStructure/FolderItems.js +8 -7
  8. package/es/TreeStructure/TreeStructure.js +65 -80
  9. package/es/TreeStructure/keyboardNavigation/keyboardNavigation.js +23 -11
  10. package/es/locale/messages-en.js +2 -0
  11. package/es/locale/messages-nb.js +2 -0
  12. package/es/locale/messages-nn.js +2 -0
  13. package/es/locale/messages-se.js +2 -0
  14. package/es/locale/messages-sma.js +2 -0
  15. package/lib/Masthead/MastheadAuthModal.js +14 -7
  16. package/lib/MyNdla/Resource/Folder.d.ts +4 -3
  17. package/lib/MyNdla/Resource/Folder.js +11 -10
  18. package/lib/Resource/BlockResource.d.ts +4 -3
  19. package/lib/Resource/BlockResource.js +14 -7
  20. package/lib/Resource/ListResource.d.ts +4 -3
  21. package/lib/Resource/ListResource.js +15 -8
  22. package/lib/Resource/resourceComponents.d.ts +4 -1
  23. package/lib/Resource/resourceComponents.js +14 -13
  24. package/lib/TreeStructure/FolderItem.js +8 -6
  25. package/lib/TreeStructure/FolderItems.d.ts +1 -1
  26. package/lib/TreeStructure/FolderItems.js +8 -8
  27. package/lib/TreeStructure/TreeStructure.d.ts +6 -1
  28. package/lib/TreeStructure/TreeStructure.js +66 -80
  29. package/lib/TreeStructure/TreeStructure.types.d.ts +5 -3
  30. package/lib/TreeStructure/keyboardNavigation/keyboardNavigation.js +23 -11
  31. package/lib/TreeStructure/keyboardNavigation/keyboardNavigation.types.d.ts +1 -1
  32. package/lib/locale/messages-en.d.ts +2 -0
  33. package/lib/locale/messages-en.js +2 -0
  34. package/lib/locale/messages-nb.d.ts +2 -0
  35. package/lib/locale/messages-nb.js +2 -0
  36. package/lib/locale/messages-nn.d.ts +2 -0
  37. package/lib/locale/messages-nn.js +2 -0
  38. package/lib/locale/messages-se.d.ts +2 -0
  39. package/lib/locale/messages-se.js +2 -0
  40. package/lib/locale/messages-sma.d.ts +2 -0
  41. package/lib/locale/messages-sma.js +2 -0
  42. package/package.json +5 -5
  43. package/src/Masthead/MastheadAuthModal.tsx +9 -0
  44. package/src/MyNdla/Resource/Folder.tsx +6 -6
  45. package/src/Resource/BlockResource.tsx +7 -6
  46. package/src/Resource/ListResource.tsx +7 -6
  47. package/src/Resource/resourceComponents.tsx +8 -1
  48. package/src/TreeStructure/FolderItem.tsx +3 -2
  49. package/src/TreeStructure/FolderItems.tsx +4 -3
  50. package/src/TreeStructure/TreeStructure.tsx +54 -42
  51. package/src/TreeStructure/TreeStructure.types.ts +5 -3
  52. package/src/TreeStructure/keyboardNavigation/keyboardNavigation.ts +7 -7
  53. package/src/TreeStructure/keyboardNavigation/keyboardNavigation.types.ts +1 -1
  54. package/src/locale/messages-en.ts +2 -0
  55. package/src/locale/messages-nb.ts +2 -0
  56. package/src/locale/messages-nn.ts +2 -0
  57. package/src/locale/messages-se.ts +2 -0
  58. package/src/locale/messages-sma.ts +2 -0
@@ -21,6 +21,8 @@ var _reactI18next = require("react-i18next");
21
21
 
22
22
  var _core = require("@ndla/core");
23
23
 
24
+ var _lodash = require("lodash");
25
+
24
26
  var _TreeStructureWrapper = _interopRequireDefault(require("./TreeStructureWrapper"));
25
27
 
26
28
  var _FolderItems = _interopRequireDefault(require("./FolderItems"));
@@ -43,9 +45,13 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
43
45
 
44
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; }
45
47
 
46
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
48
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
49
+
50
+ 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."); }
47
51
 
48
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
52
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
53
+
54
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
49
55
 
50
56
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
51
57
 
@@ -64,13 +70,15 @@ exports.MAX_LEVEL_FOR_FOLDERS = MAX_LEVEL_FOR_FOLDERS;
64
70
  var StyledLabel = (0, _styledBase["default"])("label", {
65
71
  target: "e1dg1gdn0",
66
72
  label: "StyledLabel"
67
- })("font-weight:", _core.fonts.weight.semibold, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRyZWVTdHJ1Y3R1cmUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVCZ0MiLCJmaWxlIjoiVHJlZVN0cnVjdHVyZS50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMi1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlLCB1c2VSZWYsIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1dWlkIH0gZnJvbSAnQG5kbGEvdXRpbCc7XG5pbXBvcnQgeyBBZGRCdXR0b24gfSBmcm9tICdAbmRsYS9idXR0b24nO1xuaW1wb3J0IFRvb2x0aXAgZnJvbSAnQG5kbGEvdG9vbHRpcCc7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgc3BhY2luZywgZm9udHMgfSBmcm9tICdAbmRsYS9jb3JlJztcbmltcG9ydCBUcmVlU3RydWN0dXJlU3R5bGVkV3JhcHBlciBmcm9tICcuL1RyZWVTdHJ1Y3R1cmVXcmFwcGVyJztcbmltcG9ydCBGb2xkZXJJdGVtcyBmcm9tICcuL0ZvbGRlckl0ZW1zJztcbmltcG9ydCB7IGdldElkUGF0aHNPZkZvbGRlciwgZ2V0UGF0aE9mRm9sZGVyLCBnZXRGb2xkZXJOYW1lIH0gZnJvbSAnLi9oZWxwZXJGdW5jdGlvbnMnO1xuaW1wb3J0IGtleWJvYXJkTmF2aWdhdGlvbiwgeyBLRVlCT0FSRF9LRVlTX09GX0lOVEVSRVNUIH0gZnJvbSAnLi9rZXlib2FyZE5hdmlnYXRpb24va2V5Ym9hcmROYXZpZ2F0aW9uJztcbmltcG9ydCB7IE5ld0ZvbGRlclByb3BzLCBUcmVlU3RydWN0dXJlUHJvcHMgfSBmcm9tICcuL1RyZWVTdHJ1Y3R1cmUudHlwZXMnO1xuXG5leHBvcnQgY29uc3QgTUFYX0xFVkVMX0ZPUl9GT0xERVJTID0gNDtcblxuY29uc3QgU3R5bGVkTGFiZWwgPSBzdHlsZWQubGFiZWxgXG4gIGZvbnQtd2VpZ2h0OiAke2ZvbnRzLndlaWdodC5zZW1pYm9sZH07XG5gO1xuXG5jb25zdCBBZGRGb2xkZXJXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXRvcDogJHtzcGFjaW5nLnhzbWFsbH07XG5gO1xuXG5jb25zdCBUcmVlU3RydWN0dXJlID0gKHtcbiAgZGF0YSxcbiAgbGFiZWwsXG4gIGVkaXRhYmxlLFxuICBsb2FkaW5nLFxuICBvbk5ld0ZvbGRlcixcbiAgb3Blbk9uRm9sZGVyQ2xpY2ssXG4gIGZyYW1lZCxcbiAgZm9sZGVySWRNYXJrZWRCeURlZmF1bHQsXG4gIGRlZmF1bHRPcGVuRm9sZGVycyxcbiAgZm9sZGVyQ2hpbGQsXG59OiBUcmVlU3RydWN0dXJlUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuICBjb25zdCBbbmV3Rm9sZGVyLCBzZXROZXdGb2xkZXJdID0gdXNlU3RhdGU8TmV3Rm9sZGVyUHJvcHMgfCB1bmRlZmluZWQ+KCk7XG4gIGNvbnN0IFtvcGVuRm9sZGVycywgc2V0T3BlbkZvbGRlcnNdID0gdXNlU3RhdGU8U2V0PHN0cmluZz4+KG5ldyBTZXQoZGVmYXVsdE9wZW5Gb2xkZXJzIHx8IFtdKSk7XG4gIGNvbnN0IFtmb2N1c2VkRm9sZGVySWQsIHNldEZvY3VzZWRGb2xkZXJJZF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIGNvbnN0IFttYXJrZWRGb2xkZXJJZCwgc2V0TWFya2VkRm9sZGVySWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPihmb2xkZXJJZE1hcmtlZEJ5RGVmYXVsdCB8fCBkYXRhWzBdLmlkKTtcbiAgY29uc3QgdHJlZXN0cnVjdHVyZVJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IHdyYXBwZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCByb290TGV2ZWxJZCA9IHVzZU1lbW8oKCkgPT4gdXVpZCgpLCBbXSk7IC8vIFRPRE86IHVzZSB1c2VJZCBob29rIHdoZW4gd2UgdXBkYXRlIHRvIFJlYWN0IDE4XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRPcGVuRm9sZGVycygocHJldikgPT4ge1xuICAgICAgZGVmYXVsdE9wZW5Gb2xkZXJzPy5mb3JFYWNoKChpZCkgPT4gcHJldi5hZGQoaWQpKTtcbiAgICAgIHJldHVybiBuZXcgU2V0KHByZXYpO1xuICAgIH0pO1xuICB9LCBbZGVmYXVsdE9wZW5Gb2xkZXJzXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWxvYWRpbmcpIHtcbiAgICAgIHNldE5ld0ZvbGRlcih1bmRlZmluZWQpO1xuICAgIH1cbiAgfSwgW2xvYWRpbmddKTtcblxuICBjb25zdCBvblRvZ2dsZU9wZW4gPSAoaWQ6IHN0cmluZykgPT4ge1xuICAgIHNldE9wZW5Gb2xkZXJzKChwcmV2KSA9PiB7XG4gICAgICBpZiAocHJldi5oYXMoaWQpKSB7XG4gICAgICAgIHByZXYuZGVsZXRlKGlkKTtcbiAgICAgICAgLy8gRGlkIHdlIGp1c3QgY2xvc2VkIGEgZm9sZGVyIHdpdGggYSBtYXJrZWQgZm9sZGVyIGluc2lkZSBpdD9cbiAgICAgICAgLy8gSWYgc28sIHdlIG5lZWQgdG8gbWFyayB0aGUgZm9sZGVyIHdlIGp1c3QgY2xvc2VkLlxuICAgICAgICBpZiAobWFya2VkRm9sZGVySWQpIHtcbiAgICAgICAgICBjb25zdCBjbG9zaW5nRm9sZGVyUGF0aCA9IGdldFBhdGhPZkZvbGRlcihkYXRhLCBpZCk7XG4gICAgICAgICAgY29uc3QgbWFya2VkRm9sZGVyUGF0aCA9IGdldFBhdGhPZkZvbGRlcihkYXRhLCBtYXJrZWRGb2xkZXJJZCk7XG4gICAgICAgICAgY29uc3QgbWFya2VkRm9sZGVySXNTdWJQYXRoID0gY2xvc2luZ0ZvbGRlclBhdGguZXZlcnkoXG4gICAgICAgICAgICAoZm9sZGVySWQsIF9pbmRleCkgPT4gbWFya2VkRm9sZGVyUGF0aFtfaW5kZXhdID09PSBmb2xkZXJJZCxcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmIChtYXJrZWRGb2xkZXJJc1N1YlBhdGgpIHtcbiAgICAgICAgICAgIHNldE1hcmtlZEZvbGRlcklkKGNsb3NpbmdGb2xkZXJQYXRoW2Nsb3NpbmdGb2xkZXJQYXRoLmxlbmd0aCAtIDFdKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHByZXYuYWRkKGlkKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXcgU2V0KHByZXYpO1xuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IG9uQ3JlYXRlTmV3Rm9sZGVyID0gKHByb3BzOiB7IGlkUGF0aHM6IG51bWJlcltdOyBwYXJlbnRJZD86IHN0cmluZyB9KSA9PiB7XG4gICAgc2V0TmV3Rm9sZGVyKHByb3BzKTtcbiAgfTtcblxuICBjb25zdCBvblNhdmVOZXdGb2xkZXIgPSBhc3luYyAodmFsdWU6IHN0cmluZykgPT4ge1xuICAgIGlmIChuZXdGb2xkZXIpIHtcbiAgICAgIC8vIFdlIHdvdWxkIGxpa2UgdG8gY3JlYXRlIGEgbmV3IGZvbGRlciB3aXRoIHRoZSBuYW1lIG9mIHZhbHVlLlxuICAgICAgLy8gSXRzIGxvY2F0aW9uIGluIHN0cnVjdHVyZSBpcyBiYXNlZCBvbiBuZXdGb2xkZXIgb2JqZWN0XG4gICAgICBjb25zdCBuZXdGb2xkZXJJZCA9IGF3YWl0IG9uTmV3Rm9sZGVyKHsgLi4ubmV3Rm9sZGVyLCB2YWx1ZSB9KTtcbiAgICAgIGlmIChuZXdGb2xkZXJJZCkge1xuICAgICAgICBzZXRNYXJrZWRGb2xkZXJJZChuZXdGb2xkZXJJZCk7XG4gICAgICAgIHNldEZvY3VzZWRGb2xkZXJJZChuZXdGb2xkZXJJZCk7XG4gICAgICAgIC8vIE9wZW4gY3VycmVudCBmb2xkZXIgaW4gY2FzZSBpdCB3YXMgY2xvc2VkLi5cbiAgICAgICAgc2V0T3BlbkZvbGRlcnMoKHByZXYpID0+IHtcbiAgICAgICAgICBpZiAobmV3Rm9sZGVyLnBhcmVudElkKSB7XG4gICAgICAgICAgICBwcmV2LmFkZChuZXdGb2xkZXIucGFyZW50SWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbmV3IFNldChwcmV2KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IG9uQ2FuY2VsTmV3Rm9sZGVyID0gKCkgPT4ge1xuICAgIHNldE5ld0ZvbGRlcih1bmRlZmluZWQpO1xuICB9O1xuXG4gIGNvbnN0IG9uTWFya0ZvbGRlciA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgc2V0TWFya2VkRm9sZGVySWQoaWQpO1xuICAgIHNldEZvY3VzZWRGb2xkZXJJZChpZCk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICByZWY9e3RyZWVzdHJ1Y3R1cmVSZWZ9XG4gICAgICBvbktleURvd249eyhlKSA9PiB7XG4gICAgICAgIGlmICh3cmFwcGVyUmVmLmN1cnJlbnQ/LmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpICYmIEtFWUJPQVJEX0tFWVNfT0ZfSU5URVJFU1QuaW5jbHVkZXMoZS5rZXkpKSB7XG4gICAgICAgICAga2V5Ym9hcmROYXZpZ2F0aW9uKHtcbiAgICAgICAgICAgIGUsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgc2V0Rm9jdXNlZEZvbGRlcklkLFxuICAgICAgICAgICAgZm9jdXNlZEZvbGRlcklkLFxuICAgICAgICAgICAgb25Ub2dnbGVPcGVuLFxuICAgICAgICAgICAgb3BlbkZvbGRlcnMsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH19PlxuICAgICAgPFN0eWxlZExhYmVsIGh0bWxGb3I9e3Jvb3RMZXZlbElkfT57bGFiZWx9PC9TdHlsZWRMYWJlbD5cbiAgICAgIDxUcmVlU3RydWN0dXJlU3R5bGVkV3JhcHBlciByZWY9e3dyYXBwZXJSZWZ9IGlkPXtyb290TGV2ZWxJZH0gYXJpYS1sYWJlbD1cIk1lbnUgdHJlZVwiIHJvbGU9XCJ0cmVlXCIgZnJhbWVkPXtmcmFtZWR9PlxuICAgICAgICA8Rm9sZGVySXRlbXNcbiAgICAgICAgICBpZFBhdGhzPXtbXX1cbiAgICAgICAgICBkYXRhPXtkYXRhfVxuICAgICAgICAgIGVkaXRhYmxlPXtlZGl0YWJsZX1cbiAgICAgICAgICBvblRvZ2dsZU9wZW49e29uVG9nZ2xlT3Blbn1cbiAgICAgICAgICBuZXdGb2xkZXI9e25ld0ZvbGRlcn1cbiAgICAgICAgICBvbkNyZWF0ZU5ld0ZvbGRlcj17b25DcmVhdGVOZXdGb2xkZXJ9XG4gICAgICAgICAgb25DYW5jZWxOZXdGb2xkZXI9e29uQ2FuY2VsTmV3Rm9sZGVyfVxuICAgICAgICAgIG9uU2F2ZU5ld0ZvbGRlcj17b25TYXZlTmV3Rm9sZGVyfVxuICAgICAgICAgIG9wZW5Gb2xkZXJzPXtvcGVuRm9sZGVyc31cbiAgICAgICAgICBtYXJrZWRGb2xkZXJJZD17bWFya2VkRm9sZGVySWR9XG4gICAgICAgICAgb25NYXJrRm9sZGVyPXtvbk1hcmtGb2xkZXJ9XG4gICAgICAgICAgb3Blbk9uRm9sZGVyQ2xpY2s9e29wZW5PbkZvbGRlckNsaWNrfVxuICAgICAgICAgIGxvYWRpbmc9e2xvYWRpbmd9XG4gICAgICAgICAgZm9jdXNlZEZvbGRlcklkPXtmb2N1c2VkRm9sZGVySWR9XG4gICAgICAgICAgc2V0Rm9jdXNlZEZvbGRlcklkPXtzZXRGb2N1c2VkRm9sZGVySWR9XG4gICAgICAgICAgZmlyc3RMZXZlbFxuICAgICAgICAgIGZvbGRlckNoaWxkPXtmb2xkZXJDaGlsZH1cbiAgICAgICAgLz5cbiAgICAgIDwvVHJlZVN0cnVjdHVyZVN0eWxlZFdyYXBwZXI+XG4gICAgICB7ZWRpdGFibGUgJiYgKFxuICAgICAgICA8QWRkRm9sZGVyV3JhcHBlcj5cbiAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgdG9vbHRpcD17dCgnbXlOZGxhLm5ld0ZvbGRlclVuZGVyJywge1xuICAgICAgICAgICAgICBmb2xkZXJOYW1lOiBnZXRGb2xkZXJOYW1lKGRhdGEsIG1hcmtlZEZvbGRlcklkKSxcbiAgICAgICAgICAgIH0pfT5cbiAgICAgICAgICAgIDxBZGRCdXR0b25cbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnbXlOZGxhLm5ld0ZvbGRlcicpfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGF0aHMgPSBnZXRQYXRoT2ZGb2xkZXIoZGF0YSwgbWFya2VkRm9sZGVySWQgfHwgJycpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlkUGF0aHMgPSBnZXRJZFBhdGhzT2ZGb2xkZXIoZGF0YSwgbWFya2VkRm9sZGVySWQgfHwgJycpO1xuICAgICAgICAgICAgICAgIHNldE5ld0ZvbGRlcih7IGlkUGF0aHMsIHBhcmVudElkOiBwYXRoc1twYXRocy5sZW5ndGggLSAxXSB9KTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICA8L0FkZEZvbGRlcldyYXBwZXI+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgVHJlZVN0cnVjdHVyZTtcbiJdfQ== */"));
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== */"));
68
74
  var AddFolderWrapper = (0, _styledBase["default"])("div", {
69
75
  target: "e1dg1gdn1",
70
76
  label: "AddFolderWrapper"
71
- })("display:flex;margin-top:", _core.spacing.xsmall, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRyZWVTdHJ1Y3R1cmUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJCbUMiLCJmaWxlIjoiVHJlZVN0cnVjdHVyZS50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMi1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlLCB1c2VSZWYsIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1dWlkIH0gZnJvbSAnQG5kbGEvdXRpbCc7XG5pbXBvcnQgeyBBZGRCdXR0b24gfSBmcm9tICdAbmRsYS9idXR0b24nO1xuaW1wb3J0IFRvb2x0aXAgZnJvbSAnQG5kbGEvdG9vbHRpcCc7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgc3BhY2luZywgZm9udHMgfSBmcm9tICdAbmRsYS9jb3JlJztcbmltcG9ydCBUcmVlU3RydWN0dXJlU3R5bGVkV3JhcHBlciBmcm9tICcuL1RyZWVTdHJ1Y3R1cmVXcmFwcGVyJztcbmltcG9ydCBGb2xkZXJJdGVtcyBmcm9tICcuL0ZvbGRlckl0ZW1zJztcbmltcG9ydCB7IGdldElkUGF0aHNPZkZvbGRlciwgZ2V0UGF0aE9mRm9sZGVyLCBnZXRGb2xkZXJOYW1lIH0gZnJvbSAnLi9oZWxwZXJGdW5jdGlvbnMnO1xuaW1wb3J0IGtleWJvYXJkTmF2aWdhdGlvbiwgeyBLRVlCT0FSRF9LRVlTX09GX0lOVEVSRVNUIH0gZnJvbSAnLi9rZXlib2FyZE5hdmlnYXRpb24va2V5Ym9hcmROYXZpZ2F0aW9uJztcbmltcG9ydCB7IE5ld0ZvbGRlclByb3BzLCBUcmVlU3RydWN0dXJlUHJvcHMgfSBmcm9tICcuL1RyZWVTdHJ1Y3R1cmUudHlwZXMnO1xuXG5leHBvcnQgY29uc3QgTUFYX0xFVkVMX0ZPUl9GT0xERVJTID0gNDtcblxuY29uc3QgU3R5bGVkTGFiZWwgPSBzdHlsZWQubGFiZWxgXG4gIGZvbnQtd2VpZ2h0OiAke2ZvbnRzLndlaWdodC5zZW1pYm9sZH07XG5gO1xuXG5jb25zdCBBZGRGb2xkZXJXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXRvcDogJHtzcGFjaW5nLnhzbWFsbH07XG5gO1xuXG5jb25zdCBUcmVlU3RydWN0dXJlID0gKHtcbiAgZGF0YSxcbiAgbGFiZWwsXG4gIGVkaXRhYmxlLFxuICBsb2FkaW5nLFxuICBvbk5ld0ZvbGRlcixcbiAgb3Blbk9uRm9sZGVyQ2xpY2ssXG4gIGZyYW1lZCxcbiAgZm9sZGVySWRNYXJrZWRCeURlZmF1bHQsXG4gIGRlZmF1bHRPcGVuRm9sZGVycyxcbiAgZm9sZGVyQ2hpbGQsXG59OiBUcmVlU3RydWN0dXJlUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuICBjb25zdCBbbmV3Rm9sZGVyLCBzZXROZXdGb2xkZXJdID0gdXNlU3RhdGU8TmV3Rm9sZGVyUHJvcHMgfCB1bmRlZmluZWQ+KCk7XG4gIGNvbnN0IFtvcGVuRm9sZGVycywgc2V0T3BlbkZvbGRlcnNdID0gdXNlU3RhdGU8U2V0PHN0cmluZz4+KG5ldyBTZXQoZGVmYXVsdE9wZW5Gb2xkZXJzIHx8IFtdKSk7XG4gIGNvbnN0IFtmb2N1c2VkRm9sZGVySWQsIHNldEZvY3VzZWRGb2xkZXJJZF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIGNvbnN0IFttYXJrZWRGb2xkZXJJZCwgc2V0TWFya2VkRm9sZGVySWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPihmb2xkZXJJZE1hcmtlZEJ5RGVmYXVsdCB8fCBkYXRhWzBdLmlkKTtcbiAgY29uc3QgdHJlZXN0cnVjdHVyZVJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IHdyYXBwZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCByb290TGV2ZWxJZCA9IHVzZU1lbW8oKCkgPT4gdXVpZCgpLCBbXSk7IC8vIFRPRE86IHVzZSB1c2VJZCBob29rIHdoZW4gd2UgdXBkYXRlIHRvIFJlYWN0IDE4XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRPcGVuRm9sZGVycygocHJldikgPT4ge1xuICAgICAgZGVmYXVsdE9wZW5Gb2xkZXJzPy5mb3JFYWNoKChpZCkgPT4gcHJldi5hZGQoaWQpKTtcbiAgICAgIHJldHVybiBuZXcgU2V0KHByZXYpO1xuICAgIH0pO1xuICB9LCBbZGVmYXVsdE9wZW5Gb2xkZXJzXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWxvYWRpbmcpIHtcbiAgICAgIHNldE5ld0ZvbGRlcih1bmRlZmluZWQpO1xuICAgIH1cbiAgfSwgW2xvYWRpbmddKTtcblxuICBjb25zdCBvblRvZ2dsZU9wZW4gPSAoaWQ6IHN0cmluZykgPT4ge1xuICAgIHNldE9wZW5Gb2xkZXJzKChwcmV2KSA9PiB7XG4gICAgICBpZiAocHJldi5oYXMoaWQpKSB7XG4gICAgICAgIHByZXYuZGVsZXRlKGlkKTtcbiAgICAgICAgLy8gRGlkIHdlIGp1c3QgY2xvc2VkIGEgZm9sZGVyIHdpdGggYSBtYXJrZWQgZm9sZGVyIGluc2lkZSBpdD9cbiAgICAgICAgLy8gSWYgc28sIHdlIG5lZWQgdG8gbWFyayB0aGUgZm9sZGVyIHdlIGp1c3QgY2xvc2VkLlxuICAgICAgICBpZiAobWFya2VkRm9sZGVySWQpIHtcbiAgICAgICAgICBjb25zdCBjbG9zaW5nRm9sZGVyUGF0aCA9IGdldFBhdGhPZkZvbGRlcihkYXRhLCBpZCk7XG4gICAgICAgICAgY29uc3QgbWFya2VkRm9sZGVyUGF0aCA9IGdldFBhdGhPZkZvbGRlcihkYXRhLCBtYXJrZWRGb2xkZXJJZCk7XG4gICAgICAgICAgY29uc3QgbWFya2VkRm9sZGVySXNTdWJQYXRoID0gY2xvc2luZ0ZvbGRlclBhdGguZXZlcnkoXG4gICAgICAgICAgICAoZm9sZGVySWQsIF9pbmRleCkgPT4gbWFya2VkRm9sZGVyUGF0aFtfaW5kZXhdID09PSBmb2xkZXJJZCxcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmIChtYXJrZWRGb2xkZXJJc1N1YlBhdGgpIHtcbiAgICAgICAgICAgIHNldE1hcmtlZEZvbGRlcklkKGNsb3NpbmdGb2xkZXJQYXRoW2Nsb3NpbmdGb2xkZXJQYXRoLmxlbmd0aCAtIDFdKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHByZXYuYWRkKGlkKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXcgU2V0KHByZXYpO1xuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IG9uQ3JlYXRlTmV3Rm9sZGVyID0gKHByb3BzOiB7IGlkUGF0aHM6IG51bWJlcltdOyBwYXJlbnRJZD86IHN0cmluZyB9KSA9PiB7XG4gICAgc2V0TmV3Rm9sZGVyKHByb3BzKTtcbiAgfTtcblxuICBjb25zdCBvblNhdmVOZXdGb2xkZXIgPSBhc3luYyAodmFsdWU6IHN0cmluZykgPT4ge1xuICAgIGlmIChuZXdGb2xkZXIpIHtcbiAgICAgIC8vIFdlIHdvdWxkIGxpa2UgdG8gY3JlYXRlIGEgbmV3IGZvbGRlciB3aXRoIHRoZSBuYW1lIG9mIHZhbHVlLlxuICAgICAgLy8gSXRzIGxvY2F0aW9uIGluIHN0cnVjdHVyZSBpcyBiYXNlZCBvbiBuZXdGb2xkZXIgb2JqZWN0XG4gICAgICBjb25zdCBuZXdGb2xkZXJJZCA9IGF3YWl0IG9uTmV3Rm9sZGVyKHsgLi4ubmV3Rm9sZGVyLCB2YWx1ZSB9KTtcbiAgICAgIGlmIChuZXdGb2xkZXJJZCkge1xuICAgICAgICBzZXRNYXJrZWRGb2xkZXJJZChuZXdGb2xkZXJJZCk7XG4gICAgICAgIHNldEZvY3VzZWRGb2xkZXJJZChuZXdGb2xkZXJJZCk7XG4gICAgICAgIC8vIE9wZW4gY3VycmVudCBmb2xkZXIgaW4gY2FzZSBpdCB3YXMgY2xvc2VkLi5cbiAgICAgICAgc2V0T3BlbkZvbGRlcnMoKHByZXYpID0+IHtcbiAgICAgICAgICBpZiAobmV3Rm9sZGVyLnBhcmVudElkKSB7XG4gICAgICAgICAgICBwcmV2LmFkZChuZXdGb2xkZXIucGFyZW50SWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbmV3IFNldChwcmV2KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IG9uQ2FuY2VsTmV3Rm9sZGVyID0gKCkgPT4ge1xuICAgIHNldE5ld0ZvbGRlcih1bmRlZmluZWQpO1xuICB9O1xuXG4gIGNvbnN0IG9uTWFya0ZvbGRlciA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgc2V0TWFya2VkRm9sZGVySWQoaWQpO1xuICAgIHNldEZvY3VzZWRGb2xkZXJJZChpZCk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICByZWY9e3RyZWVzdHJ1Y3R1cmVSZWZ9XG4gICAgICBvbktleURvd249eyhlKSA9PiB7XG4gICAgICAgIGlmICh3cmFwcGVyUmVmLmN1cnJlbnQ/LmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpICYmIEtFWUJPQVJEX0tFWVNfT0ZfSU5URVJFU1QuaW5jbHVkZXMoZS5rZXkpKSB7XG4gICAgICAgICAga2V5Ym9hcmROYXZpZ2F0aW9uKHtcbiAgICAgICAgICAgIGUsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgc2V0Rm9jdXNlZEZvbGRlcklkLFxuICAgICAgICAgICAgZm9jdXNlZEZvbGRlcklkLFxuICAgICAgICAgICAgb25Ub2dnbGVPcGVuLFxuICAgICAgICAgICAgb3BlbkZvbGRlcnMsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH19PlxuICAgICAgPFN0eWxlZExhYmVsIGh0bWxGb3I9e3Jvb3RMZXZlbElkfT57bGFiZWx9PC9TdHlsZWRMYWJlbD5cbiAgICAgIDxUcmVlU3RydWN0dXJlU3R5bGVkV3JhcHBlciByZWY9e3dyYXBwZXJSZWZ9IGlkPXtyb290TGV2ZWxJZH0gYXJpYS1sYWJlbD1cIk1lbnUgdHJlZVwiIHJvbGU9XCJ0cmVlXCIgZnJhbWVkPXtmcmFtZWR9PlxuICAgICAgICA8Rm9sZGVySXRlbXNcbiAgICAgICAgICBpZFBhdGhzPXtbXX1cbiAgICAgICAgICBkYXRhPXtkYXRhfVxuICAgICAgICAgIGVkaXRhYmxlPXtlZGl0YWJsZX1cbiAgICAgICAgICBvblRvZ2dsZU9wZW49e29uVG9nZ2xlT3Blbn1cbiAgICAgICAgICBuZXdGb2xkZXI9e25ld0ZvbGRlcn1cbiAgICAgICAgICBvbkNyZWF0ZU5ld0ZvbGRlcj17b25DcmVhdGVOZXdGb2xkZXJ9XG4gICAgICAgICAgb25DYW5jZWxOZXdGb2xkZXI9e29uQ2FuY2VsTmV3Rm9sZGVyfVxuICAgICAgICAgIG9uU2F2ZU5ld0ZvbGRlcj17b25TYXZlTmV3Rm9sZGVyfVxuICAgICAgICAgIG9wZW5Gb2xkZXJzPXtvcGVuRm9sZGVyc31cbiAgICAgICAgICBtYXJrZWRGb2xkZXJJZD17bWFya2VkRm9sZGVySWR9XG4gICAgICAgICAgb25NYXJrRm9sZGVyPXtvbk1hcmtGb2xkZXJ9XG4gICAgICAgICAgb3Blbk9uRm9sZGVyQ2xpY2s9e29wZW5PbkZvbGRlckNsaWNrfVxuICAgICAgICAgIGxvYWRpbmc9e2xvYWRpbmd9XG4gICAgICAgICAgZm9jdXNlZEZvbGRlcklkPXtmb2N1c2VkRm9sZGVySWR9XG4gICAgICAgICAgc2V0Rm9jdXNlZEZvbGRlcklkPXtzZXRGb2N1c2VkRm9sZGVySWR9XG4gICAgICAgICAgZmlyc3RMZXZlbFxuICAgICAgICAgIGZvbGRlckNoaWxkPXtmb2xkZXJDaGlsZH1cbiAgICAgICAgLz5cbiAgICAgIDwvVHJlZVN0cnVjdHVyZVN0eWxlZFdyYXBwZXI+XG4gICAgICB7ZWRpdGFibGUgJiYgKFxuICAgICAgICA8QWRkRm9sZGVyV3JhcHBlcj5cbiAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgdG9vbHRpcD17dCgnbXlOZGxhLm5ld0ZvbGRlclVuZGVyJywge1xuICAgICAgICAgICAgICBmb2xkZXJOYW1lOiBnZXRGb2xkZXJOYW1lKGRhdGEsIG1hcmtlZEZvbGRlcklkKSxcbiAgICAgICAgICAgIH0pfT5cbiAgICAgICAgICAgIDxBZGRCdXR0b25cbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnbXlOZGxhLm5ld0ZvbGRlcicpfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGF0aHMgPSBnZXRQYXRoT2ZGb2xkZXIoZGF0YSwgbWFya2VkRm9sZGVySWQgfHwgJycpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlkUGF0aHMgPSBnZXRJZFBhdGhzT2ZGb2xkZXIoZGF0YSwgbWFya2VkRm9sZGVySWQgfHwgJycpO1xuICAgICAgICAgICAgICAgIHNldE5ld0ZvbGRlcih7IGlkUGF0aHMsIHBhcmVudElkOiBwYXRoc1twYXRocy5sZW5ndGggLSAxXSB9KTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICA8L0FkZEZvbGRlcldyYXBwZXI+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgVHJlZVN0cnVjdHVyZTtcbiJdfQ== */"));
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== */"));
72
78
 
73
79
  var TreeStructure = function TreeStructure(_ref) {
80
+ var _data$;
81
+
74
82
  var data = _ref.data,
75
83
  label = _ref.label,
76
84
  editable = _ref.editable,
@@ -80,7 +88,8 @@ var TreeStructure = function TreeStructure(_ref) {
80
88
  framed = _ref.framed,
81
89
  folderIdMarkedByDefault = _ref.folderIdMarkedByDefault,
82
90
  defaultOpenFolders = _ref.defaultOpenFolders,
83
- folderChild = _ref.folderChild;
91
+ folderChild = _ref.folderChild,
92
+ maximumLevelsOfFoldersAllowed = _ref.maximumLevelsOfFoldersAllowed;
84
93
 
85
94
  var _useTranslation = (0, _reactI18next.useTranslation)(),
86
95
  t = _useTranslation.t;
@@ -90,7 +99,7 @@ var TreeStructure = function TreeStructure(_ref) {
90
99
  newFolder = _useState2[0],
91
100
  setNewFolder = _useState2[1];
92
101
 
93
- var _useState3 = (0, _react.useState)(new Set(defaultOpenFolders || [])),
102
+ var _useState3 = (0, _react.useState)(defaultOpenFolders || []),
94
103
  _useState4 = _slicedToArray(_useState3, 2),
95
104
  openFolders = _useState4[0],
96
105
  setOpenFolders = _useState4[1];
@@ -100,7 +109,7 @@ var TreeStructure = function TreeStructure(_ref) {
100
109
  focusedFolderId = _useState6[0],
101
110
  setFocusedFolderId = _useState6[1];
102
111
 
103
- var _useState7 = (0, _react.useState)(folderIdMarkedByDefault || data[0].id),
112
+ var _useState7 = (0, _react.useState)(folderIdMarkedByDefault || ((_data$ = data[0]) === null || _data$ === void 0 ? void 0 : _data$.id)),
104
113
  _useState8 = _slicedToArray(_useState7, 2),
105
114
  markedFolderId = _useState8[0],
106
115
  setMarkedFolderId = _useState8[1];
@@ -112,12 +121,11 @@ var TreeStructure = function TreeStructure(_ref) {
112
121
  }, []); // TODO: use useId hook when we update to React 18
113
122
 
114
123
  (0, _react.useEffect)(function () {
115
- setOpenFolders(function (prev) {
116
- defaultOpenFolders === null || defaultOpenFolders === void 0 ? void 0 : defaultOpenFolders.forEach(function (id) {
117
- return prev.add(id);
124
+ if (defaultOpenFolders) {
125
+ setOpenFolders(function (prev) {
126
+ return (0, _lodash.uniq)([].concat(_toConsumableArray(defaultOpenFolders), _toConsumableArray(prev)));
118
127
  });
119
- return new Set(prev);
120
- });
128
+ }
121
129
  }, [defaultOpenFolders]);
122
130
  (0, _react.useEffect)(function () {
123
131
  if (!loading) {
@@ -126,79 +134,51 @@ var TreeStructure = function TreeStructure(_ref) {
126
134
  }, [loading]);
127
135
 
128
136
  var onToggleOpen = function onToggleOpen(id) {
129
- setOpenFolders(function (prev) {
130
- if (prev.has(id)) {
131
- prev["delete"](id); // 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
-
134
- if (markedFolderId) {
135
- var closingFolderPath = (0, _helperFunctions.getPathOfFolder)(data, id);
136
- var markedFolderPath = (0, _helperFunctions.getPathOfFolder)(data, markedFolderId);
137
- var markedFolderIsSubPath = closingFolderPath.every(function (folderId, _index) {
138
- return markedFolderPath[_index] === folderId;
139
- });
140
-
141
- if (markedFolderIsSubPath) {
142
- setMarkedFolderId(closingFolderPath[closingFolderPath.length - 1]);
143
- }
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) {
148
+ setMarkedFolderId(closingFolderPath[closingFolderPath.length - 1]);
144
149
  }
145
- } else {
146
- prev.add(id);
147
150
  }
148
151
 
149
- return new Set(prev);
150
- });
152
+ setOpenFolders(openFolders.filter(function (folder) {
153
+ return folder !== id;
154
+ }));
155
+ } else {
156
+ setOpenFolders((0, _lodash.uniq)([].concat(_toConsumableArray(openFolders), [id])));
157
+ }
151
158
  };
152
159
 
153
160
  var onCreateNewFolder = function onCreateNewFolder(props) {
154
161
  setNewFolder(props);
155
162
  };
156
163
 
157
- var onSaveNewFolder = /*#__PURE__*/function () {
158
- var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(value) {
159
- var newFolderId;
160
- return regeneratorRuntime.wrap(function _callee$(_context) {
161
- while (1) {
162
- switch (_context.prev = _context.next) {
163
- case 0:
164
- if (!newFolder) {
165
- _context.next = 5;
166
- break;
167
- }
168
-
169
- _context.next = 3;
170
- return onNewFolder(_objectSpread(_objectSpread({}, newFolder), {}, {
171
- value: value
172
- }));
173
-
174
- case 3:
175
- newFolderId = _context.sent;
176
-
177
- if (newFolderId) {
178
- setMarkedFolderId(newFolderId);
179
- setFocusedFolderId(newFolderId); // Open current folder in case it was closed..
180
-
181
- setOpenFolders(function (prev) {
182
- if (newFolder.parentId) {
183
- prev.add(newFolder.parentId);
184
- }
185
-
186
- return new Set(prev);
187
- });
188
- }
189
-
190
- case 5:
191
- case "end":
192
- return _context.stop();
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])));
193
177
  }
194
178
  }
195
- }, _callee);
196
- }));
197
-
198
- return function onSaveNewFolder(_x) {
199
- return _ref2.apply(this, arguments);
200
- };
201
- }();
179
+ });
180
+ }
181
+ };
202
182
 
203
183
  var onCancelNewFolder = function onCancelNewFolder() {
204
184
  setNewFolder(undefined);
@@ -209,6 +189,8 @@ var TreeStructure = function TreeStructure(_ref) {
209
189
  setFocusedFolderId(id);
210
190
  };
211
191
 
192
+ var paths = (0, _helperFunctions.getPathOfFolder)(data, markedFolderId || '');
193
+ var canAddFolder = editable && paths.length < (maximumLevelsOfFoldersAllowed || 1);
212
194
  return (0, _core2.jsx)("div", {
213
195
  ref: treestructureRef,
214
196
  onKeyDown: function onKeyDown(e) {
@@ -225,7 +207,7 @@ var TreeStructure = function TreeStructure(_ref) {
225
207
  });
226
208
  }
227
209
  }
228
- }, (0, _core2.jsx)(StyledLabel, {
210
+ }, label && (0, _core2.jsx)(StyledLabel, {
229
211
  htmlFor: rootLevelId
230
212
  }, label), (0, _core2.jsx)(_TreeStructureWrapper["default"], {
231
213
  ref: wrapperRef,
@@ -250,23 +232,27 @@ var TreeStructure = function TreeStructure(_ref) {
250
232
  focusedFolderId: focusedFolderId,
251
233
  setFocusedFolderId: setFocusedFolderId,
252
234
  firstLevel: true,
253
- folderChild: folderChild
235
+ folderChild: folderChild,
236
+ maximumLevelsOfFoldersAllowed: maximumLevelsOfFoldersAllowed
254
237
  })), editable && (0, _core2.jsx)(AddFolderWrapper, null, (0, _core2.jsx)(_tooltip["default"], {
255
- tooltip: t('myNdla.newFolderUnder', {
238
+ tooltip: canAddFolder ? t('myNdla.newFolderUnder', {
256
239
  folderName: (0, _helperFunctions.getFolderName)(data, markedFolderId)
257
- })
240
+ }) : t('myNdla.maxFoldersAlreadyAdded')
258
241
  }, (0, _core2.jsx)(_button.AddButton, {
242
+ disabled: !canAddFolder,
259
243
  "aria-label": t('myNdla.newFolder'),
260
244
  onClick: function onClick() {
261
- var paths = (0, _helperFunctions.getPathOfFolder)(data, markedFolderId || '');
262
245
  var idPaths = (0, _helperFunctions.getIdPathsOfFolder)(data, markedFolderId || '');
263
246
  setNewFolder({
264
247
  idPaths: idPaths,
265
248
  parentId: paths[paths.length - 1]
266
249
  });
267
250
  }
268
- }))));
251
+ }, t('myNdla.newFolder')))));
269
252
  };
270
253
 
254
+ TreeStructure.defaultProps = {
255
+ maximumLevelsOfFoldersAllowed: MAX_LEVEL_FOR_FOLDERS
256
+ };
271
257
  var _default = TreeStructure;
272
258
  exports["default"] = _default;
@@ -29,7 +29,7 @@ interface CommonFolderProps {
29
29
  }
30
30
  export interface TreeStructureProps extends CommonFolderProps {
31
31
  framed?: boolean;
32
- label: string;
32
+ label?: string;
33
33
  folderIdMarkedByDefault?: string;
34
34
  onNewFolder: (props: {
35
35
  value: string;
@@ -38,12 +38,13 @@ export interface TreeStructureProps extends CommonFolderProps {
38
38
  }) => Promise<string>;
39
39
  defaultOpenFolders?: string[];
40
40
  folderChild?: FolderChildFuncType;
41
+ maximumLevelsOfFoldersAllowed: number;
41
42
  }
42
43
  export declare type onCreateNewFolderProp = ({ idPaths, parentId, }: {
43
44
  idPaths: number[];
44
45
  parentId: string | undefined;
45
46
  }) => void;
46
- export declare type SetOpenFolderProp = React.Dispatch<React.SetStateAction<Set<string>>>;
47
+ export declare type SetOpenFolderProp = React.Dispatch<React.SetStateAction<string[]>>;
47
48
  export declare type SetFocusedFolderId = React.Dispatch<React.SetStateAction<string | undefined>>;
48
49
  export declare type FolderChildFuncType = (id: string, tabIndex: number) => ReactNode;
49
50
  export interface FolderItemsProps extends CommonFolderProps {
@@ -52,7 +53,7 @@ export interface FolderItemsProps extends CommonFolderProps {
52
53
  onCancelNewFolder: () => void;
53
54
  onCreateNewFolder: onCreateNewFolderProp;
54
55
  newFolder: NewFolderProps | undefined;
55
- openFolders: Set<string>;
56
+ openFolders: string[];
56
57
  markedFolderId?: string;
57
58
  onMarkFolder: (id: string) => void;
58
59
  idPaths: number[];
@@ -62,5 +63,6 @@ export interface FolderItemsProps extends CommonFolderProps {
62
63
  keyNavigationFocusIsCreateFolderButton?: boolean;
63
64
  icon?: ReactNode;
64
65
  folderChild?: FolderChildFuncType;
66
+ maximumLevelsOfFoldersAllowed: number;
65
67
  }
66
68
  export {};
@@ -50,7 +50,7 @@ var traverseUpwards = function traverseUpwards(inital, setFocusedFolderId, paths
50
50
  };
51
51
 
52
52
  var keyboardNavigation = function keyboardNavigation(_ref) {
53
- var _document$activeEleme, _elementWithKeyFocus$3;
53
+ var _document$activeEleme, _elementWithKeyFocus$5;
54
54
 
55
55
  var e = _ref.e,
56
56
  data = _ref.data,
@@ -79,7 +79,7 @@ var keyboardNavigation = function keyboardNavigation(_ref) {
79
79
  if (dataId === id) {
80
80
  elementWithKeyFocus.paths = paths;
81
81
  elementWithKeyFocus.index = _index;
82
- elementWithKeyFocus.isOpen = openFolders.has(dataId) && childData && childData.length > 0;
82
+ elementWithKeyFocus.isOpen = openFolders.includes(dataId) && childData && childData.length > 0;
83
83
  elementWithKeyFocus.data = childData;
84
84
  elementWithKeyFocus.parent = parent;
85
85
  elementWithKeyFocus.parentId = parentId;
@@ -92,9 +92,11 @@ var keyboardNavigation = function keyboardNavigation(_ref) {
92
92
  };
93
93
 
94
94
  if (!updatePathToElementWithKeyFocus(data, [], data)) {
95
+ var _data$;
96
+
95
97
  // Couldn't find its location in the tree.
96
98
  // This should not happen, reset its value to root.
97
- setFocusedFolderId(e.key === 'ArrowDown' ? data[0].id : undefined);
99
+ setFocusedFolderId(e.key === 'ArrowDown' ? (_data$ = data[0]) === null || _data$ === void 0 ? void 0 : _data$.id : undefined);
98
100
  return;
99
101
  }
100
102
 
@@ -130,7 +132,9 @@ var keyboardNavigation = function keyboardNavigation(_ref) {
130
132
  }
131
133
 
132
134
  if (!id && e.key === 'ArrowDown') {
133
- setFocusedFolderId(data[0].id);
135
+ var _data$2;
136
+
137
+ setFocusedFolderId((_data$2 = data[0]) === null || _data$2 === void 0 ? void 0 : _data$2.id);
134
138
  return;
135
139
  }
136
140
 
@@ -141,9 +145,13 @@ var keyboardNavigation = function keyboardNavigation(_ref) {
141
145
 
142
146
  if (e.key === 'ArrowUp') {
143
147
  if (elementWithKeyFocus.index > 0) {
148
+ var _elementWithKeyFocus$2;
149
+
144
150
  // Move upwards to the parent folder
145
- setFocusedFolderId(elementWithKeyFocus.parent ? elementWithKeyFocus.parent[elementWithKeyFocus.index - 1].id : undefined);
151
+ setFocusedFolderId(elementWithKeyFocus.parent ? (_elementWithKeyFocus$2 = elementWithKeyFocus.parent[elementWithKeyFocus.index - 1]) === null || _elementWithKeyFocus$2 === void 0 ? void 0 : _elementWithKeyFocus$2.id : undefined);
146
152
  } else if (elementWithKeyFocus.paths.length > 0) {
153
+ var _findParent$parentsCu;
154
+
147
155
  elementWithKeyFocus.paths.pop();
148
156
  var findParent = data;
149
157
  elementWithKeyFocus.paths.forEach(function (index) {
@@ -153,17 +161,19 @@ var keyboardNavigation = function keyboardNavigation(_ref) {
153
161
  var id = _ref3.id;
154
162
  return id === elementWithKeyFocus.parentId;
155
163
  });
156
- setFocusedFolderId(findParent[parentsCurrentIndex].id);
164
+ setFocusedFolderId((_findParent$parentsCu = findParent[parentsCurrentIndex]) === null || _findParent$parentsCu === void 0 ? void 0 : _findParent$parentsCu.id);
157
165
  }
158
166
 
159
167
  return;
160
168
  }
161
169
 
162
170
  if (elementWithKeyFocus.isOpen) {
163
- var _elementWithKeyFocus$2;
171
+ var _elementWithKeyFocus$3;
172
+
173
+ if ((_elementWithKeyFocus$3 = elementWithKeyFocus.data) === null || _elementWithKeyFocus$3 === void 0 ? void 0 : _elementWithKeyFocus$3.length) {
174
+ var _elementWithKeyFocus$4;
164
175
 
165
- if ((_elementWithKeyFocus$2 = elementWithKeyFocus.data) === null || _elementWithKeyFocus$2 === void 0 ? void 0 : _elementWithKeyFocus$2.length) {
166
- setFocusedFolderId(elementWithKeyFocus.data[0].id);
176
+ setFocusedFolderId((_elementWithKeyFocus$4 = elementWithKeyFocus.data[0]) === null || _elementWithKeyFocus$4 === void 0 ? void 0 : _elementWithKeyFocus$4.id);
167
177
  } else {
168
178
  // move to next child of parent if any... need new traverse :-/
169
179
  traverseUpwards(data, setFocusedFolderId, elementWithKeyFocus.paths, elementWithKeyFocus.index);
@@ -172,9 +182,11 @@ var keyboardNavigation = function keyboardNavigation(_ref) {
172
182
  return;
173
183
  }
174
184
 
175
- if (elementWithKeyFocus.parent && elementWithKeyFocus.index < ((_elementWithKeyFocus$3 = elementWithKeyFocus.parent) === null || _elementWithKeyFocus$3 === void 0 ? void 0 : _elementWithKeyFocus$3.length) - 1) {
185
+ if (elementWithKeyFocus.parent && elementWithKeyFocus.index < ((_elementWithKeyFocus$5 = elementWithKeyFocus.parent) === null || _elementWithKeyFocus$5 === void 0 ? void 0 : _elementWithKeyFocus$5.length) - 1) {
186
+ var _elementWithKeyFocus$6;
187
+
176
188
  // Move downwards to the next child
177
- setFocusedFolderId(elementWithKeyFocus.parent[elementWithKeyFocus.index + 1].id);
189
+ setFocusedFolderId((_elementWithKeyFocus$6 = elementWithKeyFocus.parent[elementWithKeyFocus.index + 1]) === null || _elementWithKeyFocus$6 === void 0 ? void 0 : _elementWithKeyFocus$6.id);
178
190
  return;
179
191
  }
180
192
 
@@ -11,7 +11,7 @@ export interface KeyboardNavigationProps {
11
11
  e: React.KeyboardEvent<HTMLElement>;
12
12
  data: FolderStructureProps[];
13
13
  setFocusedFolderId: SetFocusedFolderId;
14
- openFolders: Set<string>;
14
+ openFolders: string[];
15
15
  onToggleOpen: (id: string) => void;
16
16
  focusedFolderId: string | undefined;
17
17
  }
@@ -53,6 +53,7 @@ declare const messages: {
53
53
  close: string;
54
54
  };
55
55
  myNdla: {
56
+ myNDLA: string;
56
57
  resources: string;
57
58
  resources_plural: string;
58
59
  folders: string;
@@ -131,6 +132,7 @@ declare const messages: {
131
132
  delete: string;
132
133
  };
133
134
  createFolder: string;
135
+ maxFoldersAlreadyAdded: string;
134
136
  newFolder: {
135
137
  placeholder: string;
136
138
  defaultName: string;
@@ -34,6 +34,7 @@ var messages = _objectSpread(_objectSpread({
34
34
  "delete": 'Delete'
35
35
  },
36
36
  createFolder: 'Create folder',
37
+ maxFoldersAlreadyAdded: 'Maximum subfolders reached',
37
38
  newFolder: {
38
39
  placeholder: 'Add foldername',
39
40
  defaultName: 'New folder'
@@ -945,6 +946,7 @@ var messages = _objectSpread(_objectSpread({
945
946
  close: 'Close fact box'
946
947
  },
947
948
  myNdla: {
949
+ myNDLA: 'My NDLA',
948
950
  resources: '{{count}} Resource',
949
951
  resources_plural: '{{count}} Resources',
950
952
  folders: '{{count}} Folder',
@@ -53,6 +53,7 @@ declare const messages: {
53
53
  close: string;
54
54
  };
55
55
  myNdla: {
56
+ myNDLA: string;
56
57
  resources: string;
57
58
  resources_plural: string;
58
59
  folders: string;
@@ -131,6 +132,7 @@ declare const messages: {
131
132
  delete: string;
132
133
  };
133
134
  createFolder: string;
135
+ maxFoldersAlreadyAdded: string;
134
136
  newFolder: {
135
137
  placeholder: string;
136
138
  defaultName: string;
@@ -34,6 +34,7 @@ var messages = _objectSpread(_objectSpread({
34
34
  "delete": 'Slett'
35
35
  },
36
36
  createFolder: 'Lag mappe',
37
+ maxFoldersAlreadyAdded: 'Maks nivå av undermapper nådd',
37
38
  newFolder: {
38
39
  placeholder: 'Skriv navn på mappe',
39
40
  defaultName: 'Ny mappe'
@@ -945,6 +946,7 @@ var messages = _objectSpread(_objectSpread({
945
946
  close: 'Lukk faktaboks'
946
947
  },
947
948
  myNdla: {
949
+ myNDLA: 'Min NDLA',
948
950
  resources: '{{count}} ressurs',
949
951
  resources_plural: '{{count}} ressurser',
950
952
  folders: '{{count}} mappe',
@@ -53,6 +53,7 @@ declare const messages: {
53
53
  close: string;
54
54
  };
55
55
  myNdla: {
56
+ myNDLA: string;
56
57
  resources: string;
57
58
  resources_plural: string;
58
59
  folders: string;
@@ -131,6 +132,7 @@ declare const messages: {
131
132
  delete: string;
132
133
  };
133
134
  createFolder: string;
135
+ maxFoldersAlreadyAdded: string;
134
136
  newFolder: {
135
137
  placeholder: string;
136
138
  defaultName: string;
@@ -34,6 +34,7 @@ var messages = _objectSpread(_objectSpread({
34
34
  "delete": 'Slett'
35
35
  },
36
36
  createFolder: 'Lag mappe',
37
+ maxFoldersAlreadyAdded: 'Maks nivå av undermapper nådd',
37
38
  newFolder: {
38
39
  placeholder: 'Skriv namn på mappe',
39
40
  defaultName: 'Ny mappe'
@@ -945,6 +946,7 @@ var messages = _objectSpread(_objectSpread({
945
946
  close: 'Lukk faktaboks'
946
947
  },
947
948
  myNdla: {
949
+ myNDLA: 'Min NDLA',
948
950
  resources: '{{count}} ressurs',
949
951
  resources_plural: '{{count}} ressursar',
950
952
  folders: '{{count}} mappe',
@@ -53,6 +53,7 @@ declare const messages: {
53
53
  close: string;
54
54
  };
55
55
  myNdla: {
56
+ myNDLA: string;
56
57
  resources: string;
57
58
  resources_plural: string;
58
59
  folders: string;
@@ -131,6 +132,7 @@ declare const messages: {
131
132
  delete: string;
132
133
  };
133
134
  createFolder: string;
135
+ maxFoldersAlreadyAdded: string;
134
136
  newFolder: {
135
137
  placeholder: string;
136
138
  defaultName: string;
@@ -34,6 +34,7 @@ var messages = _objectSpread(_objectSpread({
34
34
  "delete": 'Slett'
35
35
  },
36
36
  createFolder: 'Lag mappe',
37
+ maxFoldersAlreadyAdded: 'Maks nivå av undermapper nådd',
37
38
  newFolder: {
38
39
  placeholder: 'Skriv navn på mappe',
39
40
  defaultName: 'Ny mappe'
@@ -945,6 +946,7 @@ var messages = _objectSpread(_objectSpread({
945
946
  close: 'Lukk faktaboks'
946
947
  },
947
948
  myNdla: {
949
+ myNDLA: 'Min NDLA',
948
950
  resources: '{{count}} ressurs',
949
951
  resources_plural: '{{count}} ressurser',
950
952
  folders: '{{count}} mappe',
@@ -53,6 +53,7 @@ declare const messages: {
53
53
  close: string;
54
54
  };
55
55
  myNdla: {
56
+ myNDLA: string;
56
57
  resources: string;
57
58
  resources_plural: string;
58
59
  folders: string;
@@ -131,6 +132,7 @@ declare const messages: {
131
132
  delete: string;
132
133
  };
133
134
  createFolder: string;
135
+ maxFoldersAlreadyAdded: string;
134
136
  newFolder: {
135
137
  placeholder: string;
136
138
  defaultName: string;
@@ -34,6 +34,7 @@ var messages = _objectSpread(_objectSpread({
34
34
  "delete": 'Slett'
35
35
  },
36
36
  createFolder: 'Lag mappe',
37
+ maxFoldersAlreadyAdded: 'Maks nivå av undermapper nådd',
37
38
  newFolder: {
38
39
  placeholder: 'Skriv navn på mappe',
39
40
  defaultName: 'Ny mappe'
@@ -945,6 +946,7 @@ var messages = _objectSpread(_objectSpread({
945
946
  close: 'Lukk faktaboks'
946
947
  },
947
948
  myNdla: {
949
+ myNDLA: 'Min NDLA',
948
950
  resources: '{{count}} ressurs',
949
951
  resources_plural: '{{count}} ressurser',
950
952
  folders: '{{count}} mappe',