@ndla/ui 17.0.0 → 19.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 (86) hide show
  1. package/es/Article/ArticleFavoritesButton.js +4 -3
  2. package/es/Masthead/MastheadAuthModal.js +8 -3
  3. package/es/MyNdla/Resource/Folder.js +11 -10
  4. package/es/MyNdla/index.js +1 -2
  5. package/es/Resource/BlockResource.js +14 -8
  6. package/es/Resource/ListResource.js +15 -9
  7. package/es/Resource/resourceComponents.js +12 -11
  8. package/es/TagSelector/SuggestionInput.js +111 -56
  9. package/es/TagSelector/Suggestions.js +19 -15
  10. package/es/TagSelector/TagSelector.js +8 -7
  11. package/es/TreeStructure/FolderItem.js +5 -5
  12. package/es/TreeStructure/FolderItems.js +8 -7
  13. package/es/TreeStructure/TreeStructure.js +65 -80
  14. package/es/TreeStructure/keyboardNavigation/keyboardNavigation.js +23 -11
  15. package/es/index.js +1 -1
  16. package/es/locale/messages-en.js +10 -1
  17. package/es/locale/messages-nb.js +11 -2
  18. package/es/locale/messages-nn.js +12 -3
  19. package/es/locale/messages-se.js +11 -2
  20. package/es/locale/messages-sma.js +11 -2
  21. package/lib/Article/ArticleFavoritesButton.js +4 -3
  22. package/lib/Masthead/MastheadAuthModal.js +14 -7
  23. package/lib/MyNdla/Resource/Folder.d.ts +4 -3
  24. package/lib/MyNdla/Resource/Folder.js +11 -10
  25. package/lib/MyNdla/index.d.ts +1 -2
  26. package/lib/MyNdla/index.js +0 -8
  27. package/lib/Resource/BlockResource.d.ts +4 -3
  28. package/lib/Resource/BlockResource.js +14 -7
  29. package/lib/Resource/ListResource.d.ts +4 -3
  30. package/lib/Resource/ListResource.js +15 -8
  31. package/lib/Resource/resourceComponents.d.ts +4 -1
  32. package/lib/Resource/resourceComponents.js +14 -13
  33. package/lib/TagSelector/SuggestionInput.js +111 -57
  34. package/lib/TagSelector/Suggestions.js +26 -23
  35. package/lib/TagSelector/TagSelector.js +8 -7
  36. package/lib/TreeStructure/FolderItem.js +5 -5
  37. package/lib/TreeStructure/FolderItems.d.ts +1 -1
  38. package/lib/TreeStructure/FolderItems.js +8 -8
  39. package/lib/TreeStructure/TreeStructure.d.ts +6 -1
  40. package/lib/TreeStructure/TreeStructure.js +66 -80
  41. package/lib/TreeStructure/TreeStructure.types.d.ts +5 -3
  42. package/lib/TreeStructure/keyboardNavigation/keyboardNavigation.js +23 -11
  43. package/lib/TreeStructure/keyboardNavigation/keyboardNavigation.types.d.ts +1 -1
  44. package/lib/index.d.ts +1 -1
  45. package/lib/index.js +0 -7
  46. package/lib/locale/messages-en.d.ts +9 -0
  47. package/lib/locale/messages-en.js +10 -1
  48. package/lib/locale/messages-nb.d.ts +9 -0
  49. package/lib/locale/messages-nb.js +11 -2
  50. package/lib/locale/messages-nn.d.ts +9 -0
  51. package/lib/locale/messages-nn.js +12 -3
  52. package/lib/locale/messages-se.d.ts +9 -0
  53. package/lib/locale/messages-se.js +11 -2
  54. package/lib/locale/messages-sma.d.ts +9 -0
  55. package/lib/locale/messages-sma.js +11 -2
  56. package/package.json +5 -5
  57. package/src/Article/ArticleFavoritesButton.tsx +4 -3
  58. package/src/Masthead/MastheadAuthModal.tsx +9 -0
  59. package/src/MyNdla/Resource/Folder.tsx +7 -7
  60. package/src/MyNdla/index.ts +1 -2
  61. package/src/Resource/BlockResource.tsx +7 -6
  62. package/src/Resource/ListResource.tsx +8 -7
  63. package/src/Resource/resourceComponents.tsx +8 -1
  64. package/src/TagSelector/SuggestionInput.tsx +90 -24
  65. package/src/TagSelector/Suggestions.tsx +14 -0
  66. package/src/TagSelector/TagSelector.tsx +6 -4
  67. package/src/TreeStructure/FolderItem.tsx +5 -2
  68. package/src/TreeStructure/FolderItems.tsx +4 -3
  69. package/src/TreeStructure/TreeStructure.tsx +54 -42
  70. package/src/TreeStructure/TreeStructure.types.ts +5 -3
  71. package/src/TreeStructure/keyboardNavigation/keyboardNavigation.ts +7 -7
  72. package/src/TreeStructure/keyboardNavigation/keyboardNavigation.types.ts +1 -1
  73. package/src/index.ts +1 -1
  74. package/src/locale/messages-en.ts +11 -1
  75. package/src/locale/messages-nb.ts +11 -2
  76. package/src/locale/messages-nn.ts +12 -3
  77. package/src/locale/messages-se.ts +11 -2
  78. package/src/locale/messages-sma.ts +11 -2
  79. package/es/MyNdla/Navigation/VerticalNavigation.js +0 -51
  80. package/es/MyNdla/Navigation/index.js +0 -2
  81. package/lib/MyNdla/Navigation/VerticalNavigation.d.ts +0 -10
  82. package/lib/MyNdla/Navigation/VerticalNavigation.js +0 -61
  83. package/lib/MyNdla/Navigation/index.d.ts +0 -2
  84. package/lib/MyNdla/Navigation/index.js +0 -15
  85. package/src/MyNdla/Navigation/VerticalNavigation.tsx +0 -93
  86. package/src/MyNdla/Navigation/index.ts +0 -2
@@ -6,9 +6,13 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
6
6
 
7
7
  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; }
8
8
 
9
- 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); } }
9
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
10
10
 
11
- 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); }); }; }
11
+ 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."); }
12
+
13
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
14
+
15
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
12
16
 
13
17
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
14
18
 
@@ -35,6 +39,7 @@ import { AddButton } from '@ndla/button';
35
39
  import Tooltip from '@ndla/tooltip';
36
40
  import { useTranslation } from 'react-i18next';
37
41
  import { spacing, fonts } from '@ndla/core';
42
+ import { uniq } from 'lodash';
38
43
  import TreeStructureStyledWrapper from './TreeStructureWrapper';
39
44
  import FolderItems from './FolderItems';
40
45
  import { getIdPathsOfFolder, getPathOfFolder, getFolderName } from './helperFunctions';
@@ -45,14 +50,16 @@ export var MAX_LEVEL_FOR_FOLDERS = 4;
45
50
  var StyledLabel = _styled("label", {
46
51
  target: "e1dg1gdn0",
47
52
  label: "StyledLabel"
48
- })("font-weight:", 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== */"));
53
+ })("font-weight:", 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== */"));
49
54
 
50
55
  var AddFolderWrapper = _styled("div", {
51
56
  target: "e1dg1gdn1",
52
57
  label: "AddFolderWrapper"
53
- })("display:flex;margin-top:", 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== */"));
58
+ })("display:flex;margin-top:", 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== */"));
54
59
 
55
60
  var TreeStructure = function TreeStructure(_ref) {
61
+ var _data$;
62
+
56
63
  var data = _ref.data,
57
64
  label = _ref.label,
58
65
  editable = _ref.editable,
@@ -62,7 +69,8 @@ var TreeStructure = function TreeStructure(_ref) {
62
69
  framed = _ref.framed,
63
70
  folderIdMarkedByDefault = _ref.folderIdMarkedByDefault,
64
71
  defaultOpenFolders = _ref.defaultOpenFolders,
65
- folderChild = _ref.folderChild;
72
+ folderChild = _ref.folderChild,
73
+ maximumLevelsOfFoldersAllowed = _ref.maximumLevelsOfFoldersAllowed;
66
74
 
67
75
  var _useTranslation = useTranslation(),
68
76
  t = _useTranslation.t;
@@ -72,7 +80,7 @@ var TreeStructure = function TreeStructure(_ref) {
72
80
  newFolder = _useState2[0],
73
81
  setNewFolder = _useState2[1];
74
82
 
75
- var _useState3 = useState(new Set(defaultOpenFolders || [])),
83
+ var _useState3 = useState(defaultOpenFolders || []),
76
84
  _useState4 = _slicedToArray(_useState3, 2),
77
85
  openFolders = _useState4[0],
78
86
  setOpenFolders = _useState4[1];
@@ -82,7 +90,7 @@ var TreeStructure = function TreeStructure(_ref) {
82
90
  focusedFolderId = _useState6[0],
83
91
  setFocusedFolderId = _useState6[1];
84
92
 
85
- var _useState7 = useState(folderIdMarkedByDefault || data[0].id),
93
+ var _useState7 = useState(folderIdMarkedByDefault || ((_data$ = data[0]) === null || _data$ === void 0 ? void 0 : _data$.id)),
86
94
  _useState8 = _slicedToArray(_useState7, 2),
87
95
  markedFolderId = _useState8[0],
88
96
  setMarkedFolderId = _useState8[1];
@@ -94,12 +102,11 @@ var TreeStructure = function TreeStructure(_ref) {
94
102
  }, []); // TODO: use useId hook when we update to React 18
95
103
 
96
104
  useEffect(function () {
97
- setOpenFolders(function (prev) {
98
- defaultOpenFolders === null || defaultOpenFolders === void 0 ? void 0 : defaultOpenFolders.forEach(function (id) {
99
- return prev.add(id);
105
+ if (defaultOpenFolders) {
106
+ setOpenFolders(function (prev) {
107
+ return uniq([].concat(_toConsumableArray(defaultOpenFolders), _toConsumableArray(prev)));
100
108
  });
101
- return new Set(prev);
102
- });
109
+ }
103
110
  }, [defaultOpenFolders]);
104
111
  useEffect(function () {
105
112
  if (!loading) {
@@ -108,79 +115,51 @@ var TreeStructure = function TreeStructure(_ref) {
108
115
  }, [loading]);
109
116
 
110
117
  var onToggleOpen = function onToggleOpen(id) {
111
- setOpenFolders(function (prev) {
112
- if (prev.has(id)) {
113
- prev["delete"](id); // Did we just closed a folder with a marked folder inside it?
114
- // If so, we need to mark the folder we just closed.
115
-
116
- if (markedFolderId) {
117
- var closingFolderPath = getPathOfFolder(data, id);
118
- var markedFolderPath = getPathOfFolder(data, markedFolderId);
119
- var markedFolderIsSubPath = closingFolderPath.every(function (folderId, _index) {
120
- return markedFolderPath[_index] === folderId;
121
- });
122
-
123
- if (markedFolderIsSubPath) {
124
- setMarkedFolderId(closingFolderPath[closingFolderPath.length - 1]);
125
- }
118
+ if (openFolders.includes(id)) {
119
+ // Did we just closed a folder with a marked folder inside it?
120
+ // If so, we need to mark the folder we just closed.
121
+ if (markedFolderId) {
122
+ var closingFolderPath = getPathOfFolder(data, id);
123
+ var markedFolderPath = getPathOfFolder(data, markedFolderId);
124
+ var markedFolderIsSubPath = closingFolderPath.every(function (folderId, _index) {
125
+ return markedFolderPath[_index] === folderId;
126
+ });
127
+
128
+ if (markedFolderIsSubPath) {
129
+ setMarkedFolderId(closingFolderPath[closingFolderPath.length - 1]);
126
130
  }
127
- } else {
128
- prev.add(id);
129
131
  }
130
132
 
131
- return new Set(prev);
132
- });
133
+ setOpenFolders(openFolders.filter(function (folder) {
134
+ return folder !== id;
135
+ }));
136
+ } else {
137
+ setOpenFolders(uniq([].concat(_toConsumableArray(openFolders), [id])));
138
+ }
133
139
  };
134
140
 
135
141
  var onCreateNewFolder = function onCreateNewFolder(props) {
136
142
  setNewFolder(props);
137
143
  };
138
144
 
139
- var onSaveNewFolder = /*#__PURE__*/function () {
140
- var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(value) {
141
- var newFolderId;
142
- return regeneratorRuntime.wrap(function _callee$(_context) {
143
- while (1) {
144
- switch (_context.prev = _context.next) {
145
- case 0:
146
- if (!newFolder) {
147
- _context.next = 5;
148
- break;
149
- }
150
-
151
- _context.next = 3;
152
- return onNewFolder(_objectSpread(_objectSpread({}, newFolder), {}, {
153
- value: value
154
- }));
155
-
156
- case 3:
157
- newFolderId = _context.sent;
158
-
159
- if (newFolderId) {
160
- setMarkedFolderId(newFolderId);
161
- setFocusedFolderId(newFolderId); // Open current folder in case it was closed..
162
-
163
- setOpenFolders(function (prev) {
164
- if (newFolder.parentId) {
165
- prev.add(newFolder.parentId);
166
- }
167
-
168
- return new Set(prev);
169
- });
170
- }
171
-
172
- case 5:
173
- case "end":
174
- return _context.stop();
145
+ var onSaveNewFolder = function onSaveNewFolder(value) {
146
+ if (newFolder) {
147
+ // We would like to create a new folder with the name of value.
148
+ // Its location in structure is based on newFolder object
149
+ onNewFolder(_objectSpread(_objectSpread({}, newFolder), {}, {
150
+ value: value
151
+ })).then(function (newFolderId) {
152
+ if (newFolderId) {
153
+ setMarkedFolderId(newFolderId);
154
+ setFocusedFolderId(newFolderId); // Open current folder in case it was closed..
155
+
156
+ if (newFolder.parentId) {
157
+ setOpenFolders(uniq([].concat(_toConsumableArray(openFolders), [newFolder.parentId])));
175
158
  }
176
159
  }
177
- }, _callee);
178
- }));
179
-
180
- return function onSaveNewFolder(_x) {
181
- return _ref2.apply(this, arguments);
182
- };
183
- }();
160
+ });
161
+ }
162
+ };
184
163
 
185
164
  var onCancelNewFolder = function onCancelNewFolder() {
186
165
  setNewFolder(undefined);
@@ -191,6 +170,8 @@ var TreeStructure = function TreeStructure(_ref) {
191
170
  setFocusedFolderId(id);
192
171
  };
193
172
 
173
+ var paths = getPathOfFolder(data, markedFolderId || '');
174
+ var canAddFolder = editable && paths.length < (maximumLevelsOfFoldersAllowed || 1);
194
175
  return ___EmotionJSX("div", {
195
176
  ref: treestructureRef,
196
177
  onKeyDown: function onKeyDown(e) {
@@ -207,7 +188,7 @@ var TreeStructure = function TreeStructure(_ref) {
207
188
  });
208
189
  }
209
190
  }
210
- }, ___EmotionJSX(StyledLabel, {
191
+ }, label && ___EmotionJSX(StyledLabel, {
211
192
  htmlFor: rootLevelId
212
193
  }, label), ___EmotionJSX(TreeStructureStyledWrapper, {
213
194
  ref: wrapperRef,
@@ -232,22 +213,26 @@ var TreeStructure = function TreeStructure(_ref) {
232
213
  focusedFolderId: focusedFolderId,
233
214
  setFocusedFolderId: setFocusedFolderId,
234
215
  firstLevel: true,
235
- folderChild: folderChild
216
+ folderChild: folderChild,
217
+ maximumLevelsOfFoldersAllowed: maximumLevelsOfFoldersAllowed
236
218
  })), editable && ___EmotionJSX(AddFolderWrapper, null, ___EmotionJSX(Tooltip, {
237
- tooltip: t('myNdla.newFolderUnder', {
219
+ tooltip: canAddFolder ? t('myNdla.newFolderUnder', {
238
220
  folderName: getFolderName(data, markedFolderId)
239
- })
221
+ }) : t('myNdla.maxFoldersAlreadyAdded')
240
222
  }, ___EmotionJSX(AddButton, {
223
+ disabled: !canAddFolder,
241
224
  "aria-label": t('myNdla.newFolder'),
242
225
  onClick: function onClick() {
243
- var paths = getPathOfFolder(data, markedFolderId || '');
244
226
  var idPaths = getIdPathsOfFolder(data, markedFolderId || '');
245
227
  setNewFolder({
246
228
  idPaths: idPaths,
247
229
  parentId: paths[paths.length - 1]
248
230
  });
249
231
  }
250
- }))));
232
+ }, t('myNdla.newFolder')))));
251
233
  };
252
234
 
235
+ TreeStructure.defaultProps = {
236
+ maximumLevelsOfFoldersAllowed: MAX_LEVEL_FOR_FOLDERS
237
+ };
253
238
  export default TreeStructure;
@@ -47,7 +47,7 @@ var traverseUpwards = function traverseUpwards(inital, setFocusedFolderId, paths
47
47
  };
48
48
 
49
49
  var keyboardNavigation = function keyboardNavigation(_ref) {
50
- var _document$activeEleme, _elementWithKeyFocus$3;
50
+ var _document$activeEleme, _elementWithKeyFocus$5;
51
51
 
52
52
  var e = _ref.e,
53
53
  data = _ref.data,
@@ -76,7 +76,7 @@ var keyboardNavigation = function keyboardNavigation(_ref) {
76
76
  if (dataId === id) {
77
77
  elementWithKeyFocus.paths = paths;
78
78
  elementWithKeyFocus.index = _index;
79
- elementWithKeyFocus.isOpen = openFolders.has(dataId) && childData && childData.length > 0;
79
+ elementWithKeyFocus.isOpen = openFolders.includes(dataId) && childData && childData.length > 0;
80
80
  elementWithKeyFocus.data = childData;
81
81
  elementWithKeyFocus.parent = parent;
82
82
  elementWithKeyFocus.parentId = parentId;
@@ -89,9 +89,11 @@ var keyboardNavigation = function keyboardNavigation(_ref) {
89
89
  };
90
90
 
91
91
  if (!updatePathToElementWithKeyFocus(data, [], data)) {
92
+ var _data$;
93
+
92
94
  // Couldn't find its location in the tree.
93
95
  // This should not happen, reset its value to root.
94
- setFocusedFolderId(e.key === 'ArrowDown' ? data[0].id : undefined);
96
+ setFocusedFolderId(e.key === 'ArrowDown' ? (_data$ = data[0]) === null || _data$ === void 0 ? void 0 : _data$.id : undefined);
95
97
  return;
96
98
  }
97
99
 
@@ -127,7 +129,9 @@ var keyboardNavigation = function keyboardNavigation(_ref) {
127
129
  }
128
130
 
129
131
  if (!id && e.key === 'ArrowDown') {
130
- setFocusedFolderId(data[0].id);
132
+ var _data$2;
133
+
134
+ setFocusedFolderId((_data$2 = data[0]) === null || _data$2 === void 0 ? void 0 : _data$2.id);
131
135
  return;
132
136
  }
133
137
 
@@ -138,9 +142,13 @@ var keyboardNavigation = function keyboardNavigation(_ref) {
138
142
 
139
143
  if (e.key === 'ArrowUp') {
140
144
  if (elementWithKeyFocus.index > 0) {
145
+ var _elementWithKeyFocus$2;
146
+
141
147
  // Move upwards to the parent folder
142
- setFocusedFolderId(elementWithKeyFocus.parent ? elementWithKeyFocus.parent[elementWithKeyFocus.index - 1].id : undefined);
148
+ setFocusedFolderId(elementWithKeyFocus.parent ? (_elementWithKeyFocus$2 = elementWithKeyFocus.parent[elementWithKeyFocus.index - 1]) === null || _elementWithKeyFocus$2 === void 0 ? void 0 : _elementWithKeyFocus$2.id : undefined);
143
149
  } else if (elementWithKeyFocus.paths.length > 0) {
150
+ var _findParent$parentsCu;
151
+
144
152
  elementWithKeyFocus.paths.pop();
145
153
  var findParent = data;
146
154
  elementWithKeyFocus.paths.forEach(function (index) {
@@ -150,17 +158,19 @@ var keyboardNavigation = function keyboardNavigation(_ref) {
150
158
  var id = _ref3.id;
151
159
  return id === elementWithKeyFocus.parentId;
152
160
  });
153
- setFocusedFolderId(findParent[parentsCurrentIndex].id);
161
+ setFocusedFolderId((_findParent$parentsCu = findParent[parentsCurrentIndex]) === null || _findParent$parentsCu === void 0 ? void 0 : _findParent$parentsCu.id);
154
162
  }
155
163
 
156
164
  return;
157
165
  }
158
166
 
159
167
  if (elementWithKeyFocus.isOpen) {
160
- var _elementWithKeyFocus$2;
168
+ var _elementWithKeyFocus$3;
169
+
170
+ if ((_elementWithKeyFocus$3 = elementWithKeyFocus.data) === null || _elementWithKeyFocus$3 === void 0 ? void 0 : _elementWithKeyFocus$3.length) {
171
+ var _elementWithKeyFocus$4;
161
172
 
162
- if ((_elementWithKeyFocus$2 = elementWithKeyFocus.data) === null || _elementWithKeyFocus$2 === void 0 ? void 0 : _elementWithKeyFocus$2.length) {
163
- setFocusedFolderId(elementWithKeyFocus.data[0].id);
173
+ setFocusedFolderId((_elementWithKeyFocus$4 = elementWithKeyFocus.data[0]) === null || _elementWithKeyFocus$4 === void 0 ? void 0 : _elementWithKeyFocus$4.id);
164
174
  } else {
165
175
  // move to next child of parent if any... need new traverse :-/
166
176
  traverseUpwards(data, setFocusedFolderId, elementWithKeyFocus.paths, elementWithKeyFocus.index);
@@ -169,9 +179,11 @@ var keyboardNavigation = function keyboardNavigation(_ref) {
169
179
  return;
170
180
  }
171
181
 
172
- if (elementWithKeyFocus.parent && elementWithKeyFocus.index < ((_elementWithKeyFocus$3 = elementWithKeyFocus.parent) === null || _elementWithKeyFocus$3 === void 0 ? void 0 : _elementWithKeyFocus$3.length) - 1) {
182
+ if (elementWithKeyFocus.parent && elementWithKeyFocus.index < ((_elementWithKeyFocus$5 = elementWithKeyFocus.parent) === null || _elementWithKeyFocus$5 === void 0 ? void 0 : _elementWithKeyFocus$5.length) - 1) {
183
+ var _elementWithKeyFocus$6;
184
+
173
185
  // Move downwards to the next child
174
- setFocusedFolderId(elementWithKeyFocus.parent[elementWithKeyFocus.index + 1].id);
186
+ setFocusedFolderId((_elementWithKeyFocus$6 = elementWithKeyFocus.parent[elementWithKeyFocus.index + 1]) === null || _elementWithKeyFocus$6 === void 0 ? void 0 : _elementWithKeyFocus$6.id);
175
187
  return;
176
188
  }
177
189
 
package/es/index.js CHANGED
@@ -75,7 +75,7 @@ export { default as CopyParagraphButton } from './CopyParagraphButton';
75
75
  export { default as ContentPlaceholder } from './ContentPlaceholder';
76
76
  export { Notion, ConceptNotion } from './Notion';
77
77
  export { BannerCard } from './BannerCard';
78
- export { VerticalNavigation, Folder, FolderInput } from './MyNdla';
78
+ export { Folder, FolderInput } from './MyNdla';
79
79
  export { ListResource, BlockResource } from './Resource';
80
80
  export { TagSelector } from './TagSelector';
81
81
  export { SnackBar } from './SnackBar';
@@ -23,14 +23,20 @@ var titleTemplate = ' - NDLA';
23
23
 
24
24
  var messages = _objectSpread(_objectSpread({
25
25
  treeStructure: {
26
+ folderChildOptions: {
27
+ edit: 'Edit foldername',
28
+ "delete": 'Delete'
29
+ },
26
30
  createFolder: 'Create folder',
31
+ maxFoldersAlreadyAdded: 'Maximum subfolders reached',
27
32
  newFolder: {
28
33
  placeholder: 'Add foldername',
29
34
  defaultName: 'New folder'
30
35
  }
31
36
  },
32
37
  tagSelector: {
33
- placeholder: 'Add to tag',
38
+ label: 'Add tag',
39
+ placeholder: 'Enter tag name',
34
40
  removeTag: 'Remove tag {{name}}',
35
41
  hideAllTags: 'Hide all tags',
36
42
  showAllTags: 'Show all tags'
@@ -934,6 +940,7 @@ var messages = _objectSpread(_objectSpread({
934
940
  close: 'Close fact box'
935
941
  },
936
942
  myNdla: {
943
+ myNDLA: 'My NDLA',
937
944
  resources: '{{count}} Resource',
938
945
  resources_plural: '{{count}} Resources',
939
946
  folders: '{{count}} Folder',
@@ -945,6 +952,8 @@ var messages = _objectSpread(_objectSpread({
945
952
  newFolderUnder: 'Create new folder under {{folderName}}',
946
953
  myAccount: 'My account',
947
954
  favourites: 'Favourites',
955
+ addToFavourites: 'Add to my favourites',
956
+ alreadyFavourited: 'Already in my favourites',
948
957
  help: 'Help',
949
958
  more: 'More options',
950
959
  listView: 'List view',
@@ -23,15 +23,21 @@ var titleTemplate = ' - NDLA';
23
23
 
24
24
  var messages = _objectSpread(_objectSpread({
25
25
  treeStructure: {
26
+ folderChildOptions: {
27
+ edit: 'Endre mappenavn',
28
+ "delete": 'Slett'
29
+ },
26
30
  createFolder: 'Lag mappe',
31
+ maxFoldersAlreadyAdded: 'Maks nivå av undermapper nådd',
27
32
  newFolder: {
28
33
  placeholder: 'Skriv navn på mappe',
29
34
  defaultName: 'Ny mappe'
30
35
  }
31
36
  },
32
37
  tagSelector: {
33
- placeholder: 'Tilknytt tag',
34
- removeTag: 'Ta vekk tilknytning til {{name}}',
38
+ label: 'Legg til tag',
39
+ placeholder: 'Skriv tag navn',
40
+ removeTag: 'Ta vekk {{name}}',
35
41
  hideAllTags: 'Skjul alle tagger',
36
42
  showAllTags: 'Vis alle tagger'
37
43
  },
@@ -934,6 +940,7 @@ var messages = _objectSpread(_objectSpread({
934
940
  close: 'Lukk faktaboks'
935
941
  },
936
942
  myNdla: {
943
+ myNDLA: 'Min NDLA',
937
944
  resources: '{{count}} ressurs',
938
945
  resources_plural: '{{count}} ressurser',
939
946
  folders: '{{count}} mappe',
@@ -945,6 +952,8 @@ var messages = _objectSpread(_objectSpread({
945
952
  newFolderUnder: 'Lag ny mappe under {{folderName}}',
946
953
  myAccount: 'Min konto',
947
954
  favourites: 'Favoritter',
955
+ addToFavourites: 'Legg til i mine favoritter',
956
+ alreadyFavourited: 'Allerede lagt til i mine favoritter',
948
957
  help: 'Hjelp',
949
958
  more: 'Flere valg',
950
959
  listView: 'Listevisning',
@@ -23,15 +23,21 @@ var titleTemplate = ' - NDLA';
23
23
 
24
24
  var messages = _objectSpread(_objectSpread({
25
25
  treeStructure: {
26
+ folderChildOptions: {
27
+ edit: 'Endre mappenamn',
28
+ "delete": 'Slett'
29
+ },
26
30
  createFolder: 'Lag mappe',
31
+ maxFoldersAlreadyAdded: 'Maks nivå av undermapper nådd',
27
32
  newFolder: {
28
- placeholder: 'Skriv navn på mappe',
33
+ placeholder: 'Skriv namn på mappe',
29
34
  defaultName: 'Ny mappe'
30
35
  }
31
36
  },
32
37
  tagSelector: {
33
- placeholder: 'Tilknytt tag',
34
- removeTag: 'Ta vekk tilknytninga til {{name}}',
38
+ label: 'Legg til tag',
39
+ placeholder: 'Skriv tag namn',
40
+ removeTag: 'Ta vekk {{name}}',
35
41
  hideAllTags: 'Skjul alle tagger',
36
42
  showAllTags: 'Vis alle tagger'
37
43
  },
@@ -934,6 +940,7 @@ var messages = _objectSpread(_objectSpread({
934
940
  close: 'Lukk faktaboks'
935
941
  },
936
942
  myNdla: {
943
+ myNDLA: 'Min NDLA',
937
944
  resources: '{{count}} ressurs',
938
945
  resources_plural: '{{count}} ressursar',
939
946
  folders: '{{count}} mappe',
@@ -945,6 +952,8 @@ var messages = _objectSpread(_objectSpread({
945
952
  newFolderUnder: 'Lag ny mappe under {{folderName}}',
946
953
  myAccount: 'Min konto',
947
954
  favourites: 'Favorittar',
955
+ addToFavourites: 'Legg til i mine favorittar',
956
+ alreadyFavourited: 'Allereie lagt til i mine favorittar',
948
957
  help: 'Hjelp',
949
958
  more: 'Fleire val',
950
959
  listView: 'Listevisning',
@@ -23,15 +23,21 @@ var titleTemplate = ' - NDLA';
23
23
 
24
24
  var messages = _objectSpread(_objectSpread({
25
25
  treeStructure: {
26
+ folderChildOptions: {
27
+ edit: 'Endre mappenavn',
28
+ "delete": 'Slett'
29
+ },
26
30
  createFolder: 'Lag mappe',
31
+ maxFoldersAlreadyAdded: 'Maks nivå av undermapper nådd',
27
32
  newFolder: {
28
33
  placeholder: 'Skriv navn på mappe',
29
34
  defaultName: 'Ny mappe'
30
35
  }
31
36
  },
32
37
  tagSelector: {
33
- placeholder: 'Legg til tag',
34
- removeTag: 'Ta vekk tilknytninga til {{name}}',
38
+ label: 'Legg til tag',
39
+ placeholder: 'Skriv tag navn',
40
+ removeTag: 'Ta vekk {{name}}',
35
41
  hideAllTags: 'Skjul alla tags',
36
42
  showAllTags: 'Vis alla tags'
37
43
  },
@@ -934,6 +940,7 @@ var messages = _objectSpread(_objectSpread({
934
940
  close: 'Lukk faktaboks'
935
941
  },
936
942
  myNdla: {
943
+ myNDLA: 'Min NDLA',
937
944
  resources: '{{count}} ressurs',
938
945
  resources_plural: '{{count}} ressurser',
939
946
  folders: '{{count}} mappe',
@@ -945,6 +952,8 @@ var messages = _objectSpread(_objectSpread({
945
952
  newFolderUnder: 'Lag ny mappe under {{folderName}}',
946
953
  myAccount: 'Min konto',
947
954
  favourites: 'Favoritter',
955
+ addToFavourites: 'Legg til i mine favoritter',
956
+ alreadyFavourited: 'Allerede lagt til i mine favoritter',
948
957
  help: 'Hjelp',
949
958
  more: 'Flere valg',
950
959
  listView: 'Listevisning',
@@ -23,15 +23,21 @@ var titleTemplate = ' - NDLA';
23
23
 
24
24
  var messages = _objectSpread(_objectSpread({
25
25
  treeStructure: {
26
+ folderChildOptions: {
27
+ edit: 'Endre mappenavn',
28
+ "delete": 'Slett'
29
+ },
26
30
  createFolder: 'Lag mappe',
31
+ maxFoldersAlreadyAdded: 'Maks nivå av undermapper nådd',
27
32
  newFolder: {
28
33
  placeholder: 'Skriv navn på mappe',
29
34
  defaultName: 'Ny mappe'
30
35
  }
31
36
  },
32
37
  tagSelector: {
33
- placeholder: 'Tilknytt tag',
34
- removeTag: 'Ta vekk tilknytning til {{name}}',
38
+ label: 'Legg til tag',
39
+ placeholder: 'Skriv tag navn',
40
+ removeTag: 'Ta vekk {{name}}',
35
41
  hideAllTags: 'Skjul alle tagger',
36
42
  showAllTags: 'Vis alle tagger'
37
43
  },
@@ -934,6 +940,7 @@ var messages = _objectSpread(_objectSpread({
934
940
  close: 'Lukk faktaboks'
935
941
  },
936
942
  myNdla: {
943
+ myNDLA: 'Min NDLA',
937
944
  resources: '{{count}} ressurs',
938
945
  resources_plural: '{{count}} ressurser',
939
946
  folders: '{{count}} mappe',
@@ -945,6 +952,8 @@ var messages = _objectSpread(_objectSpread({
945
952
  newFolderUnder: 'Lag ny mappe under {{folderName}}',
946
953
  myAccount: 'Min konto',
947
954
  favourites: 'Favoritter',
955
+ addToFavourites: 'Legg til i mine favoritter',
956
+ alreadyFavourited: 'Allerede lagt til i mine favoritter',
948
957
  help: 'Hjelp',
949
958
  more: 'Flere valg',
950
959
  listView: 'Listevisning',
@@ -37,14 +37,15 @@ var ArticleFavoritesButton = function ArticleFavoritesButton(_ref) {
37
37
  var removeFromFavoritesLabel = t('myNdla.resource.addToMyNdla');
38
38
  var addToFavoritesLabel = t('myNdla.resource.addedToMyNdla');
39
39
  return (0, _core.jsx)(_tooltip["default"], {
40
- tooltip: isFavorite ? removeFromFavoritesLabel : addToFavoritesLabel
40
+ tooltip: isFavorite ? addToFavoritesLabel : removeFromFavoritesLabel
41
41
  }, (0, _core.jsx)(_button.IconButtonDualStates, {
42
- ariaLabelActive: addToFavoritesLabel,
43
- ariaLabelInActive: removeFromFavoritesLabel,
42
+ ariaLabelActive: t('myNdla.addToFavourites'),
43
+ ariaLabelInActive: t('myNdla.alreadyFavourited'),
44
44
  activeIcon: (0, _core.jsx)(_action.Heart, null),
45
45
  inactiveIcon: (0, _core.jsx)(_action.HeartOutline, null),
46
46
  active: isFavorite,
47
47
  size: "small",
48
+ ghostPill: true,
48
49
  onClick: function onClick() {
49
50
  return onToggleAddToFavorites(articleId, !isFavorite);
50
51
  }