@ndla/ui 20.0.0 → 21.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 (79) hide show
  1. package/README.md +1 -1
  2. package/es/LearningPaths/LearningPathInformation.js +21 -3
  3. package/es/LearningPaths/LearningPathMenu.js +8 -5
  4. package/es/LearningPaths/LearningPathMenuAsideCopyright.js +17 -4
  5. package/es/LearningPaths/LearningPathMenuIntro.js +19 -8
  6. package/es/Masthead/Masthead.js +1 -0
  7. package/es/Messages/MessageBanner.js +3 -3
  8. package/es/Resource/ListResource.js +6 -6
  9. package/es/TopicMenu/TopicMenu.js +14 -1
  10. package/es/TreeStructure/FolderItem.js +72 -51
  11. package/es/TreeStructure/FolderItems.js +33 -61
  12. package/es/TreeStructure/FolderNameInput.js +14 -13
  13. package/es/TreeStructure/TreeStructure.js +80 -96
  14. package/es/TreeStructure/helperFunctions.js +4 -73
  15. package/es/TreeStructure/{TreeStructure.types.js → types.js} +0 -0
  16. package/es/all.css +1 -1
  17. package/es/locale/messages-en.js +6 -1
  18. package/es/locale/messages-nb.js +6 -1
  19. package/es/locale/messages-nn.js +6 -1
  20. package/es/locale/messages-se.js +6 -1
  21. package/es/locale/messages-sma.js +6 -1
  22. package/lib/LearningPaths/LearningPathInformation.js +19 -2
  23. package/lib/LearningPaths/LearningPathMenu.d.ts +2 -1
  24. package/lib/LearningPaths/LearningPathMenu.js +8 -5
  25. package/lib/LearningPaths/LearningPathMenuAsideCopyright.js +16 -3
  26. package/lib/LearningPaths/LearningPathMenuIntro.d.ts +3 -1
  27. package/lib/LearningPaths/LearningPathMenuIntro.js +19 -8
  28. package/lib/Masthead/Masthead.js +1 -0
  29. package/lib/Messages/MessageBanner.js +3 -3
  30. package/lib/Resource/ListResource.js +6 -6
  31. package/lib/TopicMenu/TopicMenu.js +14 -1
  32. package/lib/TreeStructure/FolderItem.d.ts +6 -20
  33. package/lib/TreeStructure/FolderItem.js +74 -51
  34. package/lib/TreeStructure/FolderItems.d.ts +11 -2
  35. package/lib/TreeStructure/FolderItems.js +33 -61
  36. package/lib/TreeStructure/FolderNameInput.js +14 -13
  37. package/lib/TreeStructure/TreeStructure.d.ts +12 -2
  38. package/lib/TreeStructure/TreeStructure.js +78 -94
  39. package/lib/TreeStructure/helperFunctions.d.ts +2 -4
  40. package/lib/TreeStructure/helperFunctions.js +5 -80
  41. package/lib/TreeStructure/index.d.ts +2 -1
  42. package/lib/TreeStructure/types.d.ts +32 -0
  43. package/lib/TreeStructure/{TreeStructure.types.js → types.js} +0 -0
  44. package/lib/all.css +1 -1
  45. package/lib/index.d.ts +1 -1
  46. package/lib/locale/messages-en.d.ts +6 -1
  47. package/lib/locale/messages-en.js +6 -1
  48. package/lib/locale/messages-nb.d.ts +6 -1
  49. package/lib/locale/messages-nb.js +6 -1
  50. package/lib/locale/messages-nn.d.ts +6 -1
  51. package/lib/locale/messages-nn.js +6 -1
  52. package/lib/locale/messages-se.d.ts +6 -1
  53. package/lib/locale/messages-se.js +6 -1
  54. package/lib/locale/messages-sma.d.ts +6 -1
  55. package/lib/locale/messages-sma.js +6 -1
  56. package/package.json +15 -14
  57. package/src/LearningPaths/LearningPathInformation.tsx +27 -12
  58. package/src/LearningPaths/LearningPathMenu.tsx +9 -1
  59. package/src/LearningPaths/LearningPathMenuAsideCopyright.tsx +22 -20
  60. package/src/LearningPaths/LearningPathMenuIntro.tsx +15 -2
  61. package/src/Masthead/Masthead.tsx +4 -1
  62. package/src/Messages/MessageBanner.tsx +1 -1
  63. package/src/Resource/ListResource.tsx +1 -0
  64. package/src/TopicMenu/TopicMenu.jsx +15 -2
  65. package/src/TreeStructure/FolderItem.tsx +59 -67
  66. package/src/TreeStructure/FolderItems.tsx +30 -50
  67. package/src/TreeStructure/FolderNameInput.tsx +6 -11
  68. package/src/TreeStructure/TreeStructure.tsx +73 -71
  69. package/src/TreeStructure/helperFunctions.ts +3 -37
  70. package/src/TreeStructure/index.ts +2 -1
  71. package/src/TreeStructure/types.ts +37 -0
  72. package/src/index.ts +1 -1
  73. package/src/locale/messages-en.ts +6 -1
  74. package/src/locale/messages-nb.ts +7 -1
  75. package/src/locale/messages-nn.ts +6 -1
  76. package/src/locale/messages-se.ts +7 -1
  77. package/src/locale/messages-sma.ts +7 -1
  78. package/lib/TreeStructure/TreeStructure.types.d.ts +0 -61
  79. package/src/TreeStructure/TreeStructure.types.ts +0 -71
@@ -1,13 +1,5 @@
1
1
  import _styled from "@emotion/styled-base";
2
2
 
3
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
4
-
5
- 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."); }
6
-
7
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
8
-
9
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
10
-
11
3
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
12
4
 
13
5
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -27,7 +19,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
27
19
  * LICENSE file in the root directory of this source tree.
28
20
  *
29
21
  */
30
- import React, { useEffect, useState, useRef, useMemo } from 'react';
22
+ import React, { useEffect, useState, useMemo } from 'react';
31
23
  import { AddButton } from '@ndla/button';
32
24
  import Tooltip from '@ndla/tooltip';
33
25
  import { useTranslation } from 'react-i18next';
@@ -35,75 +27,84 @@ import { spacing, fonts } from '@ndla/core';
35
27
  import { uniq } from 'lodash';
36
28
  import TreeStructureStyledWrapper from './TreeStructureWrapper';
37
29
  import FolderItems from './FolderItems';
38
- import { getPathOfFolder, getFolderName, flattenFolders } from './helperFunctions';
30
+ import { flattenFolders } from './helperFunctions';
39
31
  import { jsx as ___EmotionJSX } from "@emotion/core";
40
32
  export var MAX_LEVEL_FOR_FOLDERS = 4;
41
33
 
42
34
  var StyledLabel = _styled("label", {
43
35
  target: "e1dg1gdn0",
44
36
  label: "StyledLabel"
45
- })("font-weight:", fonts.weight.semibold, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRyZWVTdHJ1Y3R1cmUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNCZ0MiLCJmaWxlIjoiVHJlZVN0cnVjdHVyZS50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMi1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlLCB1c2VSZWYsIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBBZGRCdXR0b24gfSBmcm9tICdAbmRsYS9idXR0b24nO1xuaW1wb3J0IFRvb2x0aXAgZnJvbSAnQG5kbGEvdG9vbHRpcCc7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgc3BhY2luZywgZm9udHMgfSBmcm9tICdAbmRsYS9jb3JlJztcbmltcG9ydCB7IHVuaXEgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IFRyZWVTdHJ1Y3R1cmVTdHlsZWRXcmFwcGVyIGZyb20gJy4vVHJlZVN0cnVjdHVyZVdyYXBwZXInO1xuaW1wb3J0IEZvbGRlckl0ZW1zIGZyb20gJy4vRm9sZGVySXRlbXMnO1xuaW1wb3J0IHsgZ2V0UGF0aE9mRm9sZGVyLCBnZXRGb2xkZXJOYW1lLCBmbGF0dGVuRm9sZGVycyB9IGZyb20gJy4vaGVscGVyRnVuY3Rpb25zJztcbmltcG9ydCB7IFRyZWVTdHJ1Y3R1cmVQcm9wcyB9IGZyb20gJy4vVHJlZVN0cnVjdHVyZS50eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBNQVhfTEVWRUxfRk9SX0ZPTERFUlMgPSA0O1xuXG5jb25zdCBTdHlsZWRMYWJlbCA9IHN0eWxlZC5sYWJlbGBcbiAgZm9udC13ZWlnaHQ6ICR7Zm9udHMud2VpZ2h0LnNlbWlib2xkfTtcbmA7XG5cbmNvbnN0IEFkZEZvbGRlcldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tdG9wOiAke3NwYWNpbmcueHNtYWxsfTtcbmA7XG5cbmNvbnN0IFRyZWVTdHJ1Y3R1cmUgPSAoe1xuICBmb2xkZXJzLFxuICBsYWJlbCxcbiAgZWRpdGFibGUsXG4gIGxvYWRpbmcsXG4gIG9uTmV3Rm9sZGVyLFxuICBvblNlbGVjdEZvbGRlcixcbiAgb3Blbk9uRm9sZGVyQ2xpY2ssXG4gIGZyYW1lZCxcbiAgZm9sZGVySWRNYXJrZWRCeURlZmF1bHQsXG4gIGRlZmF1bHRPcGVuRm9sZGVycyxcbiAgZm9sZGVyQ2hpbGQsXG4gIG1heGltdW1MZXZlbHNPZkZvbGRlcnNBbGxvd2VkID0gTUFYX0xFVkVMX0ZPUl9GT0xERVJTLFxufTogVHJlZVN0cnVjdHVyZVByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcbiAgY29uc3QgW25ld0ZvbGRlclBhcmVudElkLCBzZXROZXdGb2xkZXJQYXJlbnRJZF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIGNvbnN0IFtvcGVuRm9sZGVycywgc2V0T3BlbkZvbGRlcnNdID0gdXNlU3RhdGU8c3RyaW5nW10+KGRlZmF1bHRPcGVuRm9sZGVycyB8fCBbXSk7XG4gIGNvbnN0IFtmb2N1c2VkRm9sZGVySWQsIHNldEZvY3VzZWRGb2xkZXJJZF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIGNvbnN0IFttYXJrZWRGb2xkZXJJZCwgc2V0TWFya2VkRm9sZGVySWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPihmb2xkZXJJZE1hcmtlZEJ5RGVmYXVsdCB8fCBmb2xkZXJzWzBdPy5pZCk7XG4gIGNvbnN0IHRyZWVzdHJ1Y3R1cmVSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCB3cmFwcGVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3Qgcm9vdExldmVsSWQgPSAndHJlZXN0cnVjdHVyZS1yb290JztcblxuICBjb25zdCB2aXNpYmxlRm9sZGVycyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gZmxhdHRlbkZvbGRlcnMoZm9sZGVycywgb3BlbkZvbGRlcnMpLm1hcCgoZm9sZGVyKSA9PiBmb2xkZXIuaWQpLFxuICAgIFtmb2xkZXJzLCBvcGVuRm9sZGVyc10sXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZGVmYXVsdE9wZW5Gb2xkZXJzKSB7XG4gICAgICBzZXRPcGVuRm9sZGVycygocHJldikgPT4ge1xuICAgICAgICByZXR1cm4gdW5pcShbLi4uZGVmYXVsdE9wZW5Gb2xkZXJzLCAuLi5wcmV2XSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtkZWZhdWx0T3BlbkZvbGRlcnNdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghbG9hZGluZykge1xuICAgICAgc2V0TmV3Rm9sZGVyUGFyZW50SWQodW5kZWZpbmVkKTtcbiAgICB9XG4gIH0sIFtsb2FkaW5nXSk7XG5cbiAgY29uc3Qgb25DbG9zZUZvbGRlciA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgLy8gRGlkIHdlIGp1c3QgY2xvc2VkIGEgZm9sZGVyIHdpdGggYSBtYXJrZWQgZm9sZGVyIGluc2lkZSBpdD9cbiAgICAvLyBJZiBzbywgd2UgbmVlZCB0byBtYXJrIHRoZSBmb2xkZXIgd2UganVzdCBjbG9zZWQuXG4gICAgaWYgKG1hcmtlZEZvbGRlcklkKSB7XG4gICAgICBjb25zdCBjbG9zaW5nRm9sZGVyUGF0aCA9IGdldFBhdGhPZkZvbGRlcihmb2xkZXJzLCBpZCk7XG4gICAgICBjb25zdCBtYXJrZWRGb2xkZXJQYXRoID0gZ2V0UGF0aE9mRm9sZGVyKGZvbGRlcnMsIG1hcmtlZEZvbGRlcklkKTtcbiAgICAgIGNvbnN0IG1hcmtlZEZvbGRlcklzU3ViUGF0aCA9IGNsb3NpbmdGb2xkZXJQYXRoLmV2ZXJ5KFxuICAgICAgICAoZm9sZGVySWQsIF9pbmRleCkgPT4gbWFya2VkRm9sZGVyUGF0aFtfaW5kZXhdID09PSBmb2xkZXJJZCxcbiAgICAgICk7XG4gICAgICBpZiAobWFya2VkRm9sZGVySXNTdWJQYXRoKSB7XG4gICAgICAgIGlmIChvblNlbGVjdEZvbGRlcikge1xuICAgICAgICAgIHNldE1hcmtlZEZvbGRlcklkKGNsb3NpbmdGb2xkZXJQYXRoW2Nsb3NpbmdGb2xkZXJQYXRoLmxlbmd0aCAtIDFdKTtcbiAgICAgICAgICBvblNlbGVjdEZvbGRlcihjbG9zaW5nRm9sZGVyUGF0aFtjbG9zaW5nRm9sZGVyUGF0aC5sZW5ndGggLSAxXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc2V0Rm9jdXNlZEZvbGRlcklkKGNsb3NpbmdGb2xkZXJQYXRoW2Nsb3NpbmdGb2xkZXJQYXRoLmxlbmd0aCAtIDFdKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBzZXRPcGVuRm9sZGVycyhvcGVuRm9sZGVycy5maWx0ZXIoKGZvbGRlcikgPT4gZm9sZGVyICE9PSBpZCkpO1xuICB9O1xuXG4gIGNvbnN0IG9uT3BlbkZvbGRlciA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgc2V0T3BlbkZvbGRlcnModW5pcShvcGVuRm9sZGVycy5jb25jYXQoaWQpKSk7XG4gIH07XG5cbiAgY29uc3Qgb25DcmVhdGVOZXdGb2xkZXIgPSAocGFyZW50SWQ6IHN0cmluZykgPT4ge1xuICAgIHNldE5ld0ZvbGRlclBhcmVudElkKHBhcmVudElkKTtcbiAgfTtcblxuICBjb25zdCBvblNhdmVOZXdGb2xkZXIgPSAobmFtZTogc3RyaW5nLCBwYXJlbnRJZDogc3RyaW5nKSA9PiB7XG4gICAgb25OZXdGb2xkZXIobmFtZSwgcGFyZW50SWQpLnRoZW4oKG5ld0ZvbGRlcklkKSA9PiB7XG4gICAgICBpZiAobmV3Rm9sZGVySWQpIHtcbiAgICAgICAgc2V0TWFya2VkRm9sZGVySWQobmV3Rm9sZGVySWQpO1xuICAgICAgICBzZXRGb2N1c2VkRm9sZGVySWQobmV3Rm9sZGVySWQpO1xuICAgICAgICBzZXRPcGVuRm9sZGVycyh1bmlxKG9wZW5Gb2xkZXJzLmNvbmNhdChwYXJlbnRJZCkpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBvbkNhbmNlbE5ld0ZvbGRlciA9ICgpID0+IHtcbiAgICBzZXROZXdGb2xkZXJQYXJlbnRJZCh1bmRlZmluZWQpO1xuICB9O1xuXG4gIGNvbnN0IG9uTWFya0ZvbGRlciA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgc2V0TWFya2VkRm9sZGVySWQoaWQpO1xuICAgIHNldEZvY3VzZWRGb2xkZXJJZChpZCk7XG4gIH07XG5cbiAgY29uc3QgcGF0aHMgPSBnZXRQYXRoT2ZGb2xkZXIoZm9sZGVycywgbWFya2VkRm9sZGVySWQgfHwgJycpO1xuICBjb25zdCBjYW5BZGRGb2xkZXIgPSBlZGl0YWJsZSAmJiBwYXRocy5sZW5ndGggPCAobWF4aW11bUxldmVsc09mRm9sZGVyc0FsbG93ZWQgfHwgMSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17dHJlZXN0cnVjdHVyZVJlZn0+XG4gICAgICB7bGFiZWwgJiYgPFN0eWxlZExhYmVsIGh0bWxGb3I9e3Jvb3RMZXZlbElkfT57bGFiZWx9PC9TdHlsZWRMYWJlbD59XG4gICAgICA8VHJlZVN0cnVjdHVyZVN0eWxlZFdyYXBwZXIgcmVmPXt3cmFwcGVyUmVmfSBpZD17cm9vdExldmVsSWR9IGFyaWEtbGFiZWw9XCJNZW51IHRyZWVcIiByb2xlPVwidHJlZVwiIGZyYW1lZD17ZnJhbWVkfT5cbiAgICAgICAgPEZvbGRlckl0ZW1zXG4gICAgICAgICAgb25TZWxlY3RGb2xkZXI9e29uU2VsZWN0Rm9sZGVyfVxuICAgICAgICAgIGxldmVsPXsxfVxuICAgICAgICAgIGZvbGRlcnM9e2ZvbGRlcnN9XG4gICAgICAgICAgZWRpdGFibGU9e2VkaXRhYmxlfVxuICAgICAgICAgIG9uT3BlbkZvbGRlcj17b25PcGVuRm9sZGVyfVxuICAgICAgICAgIG9uQ2xvc2VGb2xkZXI9e29uQ2xvc2VGb2xkZXJ9XG4gICAgICAgICAgbmV3Rm9sZGVyUGFyZW50SWQ9e25ld0ZvbGRlclBhcmVudElkfVxuICAgICAgICAgIG9uQ3JlYXRlTmV3Rm9sZGVyPXtvbkNyZWF0ZU5ld0ZvbGRlcn1cbiAgICAgICAgICBvbkNhbmNlbE5ld0ZvbGRlcj17b25DYW5jZWxOZXdGb2xkZXJ9XG4gICAgICAgICAgb25TYXZlTmV3Rm9sZGVyPXtvblNhdmVOZXdGb2xkZXJ9XG4gICAgICAgICAgdmlzaWJsZUZvbGRlcnM9e3Zpc2libGVGb2xkZXJzfVxuICAgICAgICAgIG9wZW5Gb2xkZXJzPXtvcGVuRm9sZGVyc31cbiAgICAgICAgICBtYXJrZWRGb2xkZXJJZD17bWFya2VkRm9sZGVySWR9XG4gICAgICAgICAgb25NYXJrRm9sZGVyPXtvbk1hcmtGb2xkZXJ9XG4gICAgICAgICAgb3Blbk9uRm9sZGVyQ2xpY2s9e29wZW5PbkZvbGRlckNsaWNrfVxuICAgICAgICAgIGxvYWRpbmc9e2xvYWRpbmd9XG4gICAgICAgICAgZm9jdXNlZEZvbGRlcklkPXtmb2N1c2VkRm9sZGVySWR9XG4gICAgICAgICAgc2V0Rm9jdXNlZEZvbGRlcklkPXtzZXRGb2N1c2VkRm9sZGVySWR9XG4gICAgICAgICAgZm9sZGVyQ2hpbGQ9e2ZvbGRlckNoaWxkfVxuICAgICAgICAgIG1heGltdW1MZXZlbHNPZkZvbGRlcnNBbGxvd2VkPXttYXhpbXVtTGV2ZWxzT2ZGb2xkZXJzQWxsb3dlZH1cbiAgICAgICAgLz5cbiAgICAgIDwvVHJlZVN0cnVjdHVyZVN0eWxlZFdyYXBwZXI+XG4gICAgICB7ZWRpdGFibGUgJiYgKFxuICAgICAgICA8QWRkRm9sZGVyV3JhcHBlcj5cbiAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgdG9vbHRpcD17XG4gICAgICAgICAgICAgIGNhbkFkZEZvbGRlclxuICAgICAgICAgICAgICAgID8gdCgnbXlOZGxhLm5ld0ZvbGRlclVuZGVyJywge1xuICAgICAgICAgICAgICAgICAgICBmb2xkZXJOYW1lOiBnZXRGb2xkZXJOYW1lKGZvbGRlcnMsIG1hcmtlZEZvbGRlcklkKSxcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgOiB0KCd0cmVlU3RydWN0dXJlLm1heEZvbGRlcnNBbHJlYWR5QWRkZWQnKVxuICAgICAgICAgICAgfT5cbiAgICAgICAgICAgIDxBZGRCdXR0b25cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFjYW5BZGRGb2xkZXJ9XG4gICAgICAgICAgICAgIGFyaWEtbGFiZWw9e3QoJ215TmRsYS5uZXdGb2xkZXInKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldE5ld0ZvbGRlclBhcmVudElkKG1hcmtlZEZvbGRlcklkKTtcbiAgICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgIHt0KCdteU5kbGEubmV3Rm9sZGVyJyl9XG4gICAgICAgICAgICA8L0FkZEJ1dHRvbj5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIDwvQWRkRm9sZGVyV3JhcHBlcj5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBUcmVlU3RydWN0dXJlO1xuIl19 */"));
37
+ })("font-weight:", fonts.weight.semibold, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRyZWVTdHJ1Y3R1cmUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVCZ0MiLCJmaWxlIjoiVHJlZVN0cnVjdHVyZS50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMi1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQWRkQnV0dG9uIH0gZnJvbSAnQG5kbGEvYnV0dG9uJztcbmltcG9ydCBUb29sdGlwIGZyb20gJ0BuZGxhL3Rvb2x0aXAnO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHNwYWNpbmcsIGZvbnRzIH0gZnJvbSAnQG5kbGEvY29yZSc7XG5pbXBvcnQgeyB1bmlxIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IElGb2xkZXIgfSBmcm9tICdAbmRsYS90eXBlcy1sZWFybmluZ3BhdGgtYXBpJztcbmltcG9ydCBUcmVlU3RydWN0dXJlU3R5bGVkV3JhcHBlciBmcm9tICcuL1RyZWVTdHJ1Y3R1cmVXcmFwcGVyJztcbmltcG9ydCBGb2xkZXJJdGVtcyBmcm9tICcuL0ZvbGRlckl0ZW1zJztcbmltcG9ydCB7IGZsYXR0ZW5Gb2xkZXJzIH0gZnJvbSAnLi9oZWxwZXJGdW5jdGlvbnMnO1xuaW1wb3J0IHsgQ29tbW9uVHJlZVN0cnVjdHVyZVByb3BzLCBGb2xkZXJUeXBlIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBNQVhfTEVWRUxfRk9SX0ZPTERFUlMgPSA0O1xuXG5jb25zdCBTdHlsZWRMYWJlbCA9IHN0eWxlZC5sYWJlbGBcbiAgZm9udC13ZWlnaHQ6ICR7Zm9udHMud2VpZ2h0LnNlbWlib2xkfTtcbmA7XG5cbmNvbnN0IEFkZEZvbGRlcldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tdG9wOiAke3NwYWNpbmcueHNtYWxsfTtcbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJlZVN0cnVjdHVyZVByb3BzIGV4dGVuZHMgQ29tbW9uVHJlZVN0cnVjdHVyZVByb3BzIHtcbiAgZGVmYXVsdE9wZW5Gb2xkZXJzPzogc3RyaW5nW107XG4gIGZvbGRlcnM6IEZvbGRlclR5cGVbXTtcbiAgZWRpdGFibGU/OiBib29sZWFuO1xuICBmcmFtZWQ/OiBib29sZWFuO1xuICBsYWJlbD86IHN0cmluZztcbiAgbWF4aW11bUxldmVsc09mRm9sZGVyc0FsbG93ZWQ/OiBudW1iZXI7XG4gIG9uTmV3Rm9sZGVyOiAobmFtZTogc3RyaW5nLCBwYXJlbnRJZDogc3RyaW5nKSA9PiBQcm9taXNlPElGb2xkZXI+O1xufVxuXG5jb25zdCBUcmVlU3RydWN0dXJlID0gKHtcbiAgZGVmYXVsdE9wZW5Gb2xkZXJzLFxuICBlZGl0YWJsZSxcbiAgbWVudUl0ZW1zLFxuICBmb2xkZXJzLFxuICBmcmFtZWQsXG4gIGxhYmVsLFxuICBsb2FkaW5nLFxuICBtYXhpbXVtTGV2ZWxzT2ZGb2xkZXJzQWxsb3dlZCA9IE1BWF9MRVZFTF9GT1JfRk9MREVSUyxcbiAgb25OZXdGb2xkZXIsXG4gIG9uU2VsZWN0Rm9sZGVyLFxuICBvcGVuT25Gb2xkZXJDbGljayxcbn06IFRyZWVTdHJ1Y3R1cmVQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cbiAgY29uc3QgZGVmYXVsdFNlbGVjdGVkRm9sZGVySWQgPSBkZWZhdWx0T3BlbkZvbGRlcnMgJiYgZGVmYXVsdE9wZW5Gb2xkZXJzW2RlZmF1bHRPcGVuRm9sZGVycy5sZW5ndGggLSAxXTtcblxuICBjb25zdCBbb3BlbkZvbGRlcnMsIHNldE9wZW5Gb2xkZXJzXSA9IHVzZVN0YXRlPHN0cmluZ1tdPihkZWZhdWx0T3BlbkZvbGRlcnMgfHwgW10pO1xuXG4gIGNvbnN0IFtuZXdGb2xkZXJQYXJlbnRJZCwgc2V0TmV3Rm9sZGVyUGFyZW50SWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuICBjb25zdCBbZm9jdXNlZElkLCBzZXRGb2N1c2VkSWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuICBjb25zdCBbc2VsZWN0ZWRGb2xkZXIsIHNldFNlbGVjdGVkRm9sZGVyXSA9IHVzZVN0YXRlPEZvbGRlclR5cGUgfCB1bmRlZmluZWQ+KCk7XG5cbiAgY29uc3QgZmxhdHRlbmVkRm9sZGVycyA9IHVzZU1lbW8oKCkgPT4gZmxhdHRlbkZvbGRlcnMoZm9sZGVycywgb3BlbkZvbGRlcnMpLCBbZm9sZGVycywgb3BlbkZvbGRlcnNdKTtcbiAgY29uc3QgdmlzaWJsZUZvbGRlcklkcyA9IGZsYXR0ZW5lZEZvbGRlcnMubWFwKChmb2xkZXIpID0+IGZvbGRlci5pZCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZGVmYXVsdE9wZW5Gb2xkZXJzKSB7XG4gICAgICBzZXRPcGVuRm9sZGVycygocHJldikgPT4ge1xuICAgICAgICByZXR1cm4gdW5pcShkZWZhdWx0T3BlbkZvbGRlcnMuY29uY2F0KHByZXYpKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW2RlZmF1bHRPcGVuRm9sZGVyc10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGRlZmF1bHRTZWxlY3RlZEZvbGRlcklkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkID0gZmxhdHRlbkZvbGRlcnMoZm9sZGVycykuZmluZCgoZm9sZGVyKSA9PiBmb2xkZXIuaWQgPT09IGRlZmF1bHRTZWxlY3RlZEZvbGRlcklkKTtcbiAgICAgIGlmIChzZWxlY3RlZCkge1xuICAgICAgICBzZXRTZWxlY3RlZEZvbGRlcihzZWxlY3RlZCk7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW2RlZmF1bHRTZWxlY3RlZEZvbGRlcklkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWxvYWRpbmcpIHtcbiAgICAgIHNldE5ld0ZvbGRlclBhcmVudElkKHVuZGVmaW5lZCk7XG4gICAgfVxuICB9LCBbbG9hZGluZ10pO1xuXG4gIGNvbnN0IG9uQ2xvc2VGb2xkZXIgPSAoaWQ6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IGNsb3NlZEZvbGRlciA9IGZsYXR0ZW5lZEZvbGRlcnMuZmluZCgoZm9sZGVyKSA9PiBmb2xkZXIuaWQgPT09IGlkKTtcblxuICAgIGlmIChjbG9zZWRGb2xkZXIpIHtcbiAgICAgIGNvbnN0IHN1YkZvbGRlcnMgPSBjbG9zZWRGb2xkZXIuc3ViZm9sZGVycyAmJiBmbGF0dGVuRm9sZGVycyhjbG9zZWRGb2xkZXIuc3ViZm9sZGVycyk7XG4gICAgICBpZiAoc3ViRm9sZGVycy5zb21lKChmb2xkZXIpID0+IGZvbGRlci5pZCA9PT0gc2VsZWN0ZWRGb2xkZXI/LmlkKSkge1xuICAgICAgICBpZiAob25TZWxlY3RGb2xkZXIpIHtcbiAgICAgICAgICBzZXRTZWxlY3RlZEZvbGRlcihjbG9zZWRGb2xkZXIpO1xuICAgICAgICAgIG9uU2VsZWN0Rm9sZGVyKGNsb3NlZEZvbGRlci5pZCk7XG4gICAgICAgIH1cbiAgICAgICAgc2V0Rm9jdXNlZElkKGNsb3NlZEZvbGRlci5pZCk7XG4gICAgICB9XG4gICAgfVxuICAgIHNldE9wZW5Gb2xkZXJzKG9wZW5Gb2xkZXJzLmZpbHRlcigoZm9sZGVySWQpID0+IGZvbGRlcklkICE9PSBpZCkpO1xuICB9O1xuXG4gIGNvbnN0IG9uT3BlbkZvbGRlciA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgc2V0T3BlbkZvbGRlcnModW5pcShvcGVuRm9sZGVycy5jb25jYXQoaWQpKSk7XG4gIH07XG5cbiAgY29uc3Qgb25TYXZlTmV3Rm9sZGVyID0gKG5hbWU6IHN0cmluZywgcGFyZW50SWQ6IHN0cmluZykgPT4ge1xuICAgIG9uTmV3Rm9sZGVyKG5hbWUsIHBhcmVudElkKS50aGVuKChuZXdGb2xkZXIpID0+IHtcbiAgICAgIGlmIChuZXdGb2xkZXIpIHtcbiAgICAgICAgc2V0U2VsZWN0ZWRGb2xkZXIobmV3Rm9sZGVyKTtcbiAgICAgICAgc2V0Rm9jdXNlZElkKG5ld0ZvbGRlci5pZCk7XG4gICAgICAgIHNldE9wZW5Gb2xkZXJzKHVuaXEob3BlbkZvbGRlcnMuY29uY2F0KHBhcmVudElkKSkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IG9uQ2FuY2VsTmV3Rm9sZGVyID0gKCkgPT4ge1xuICAgIHNldE5ld0ZvbGRlclBhcmVudElkKHVuZGVmaW5lZCk7XG4gIH07XG5cbiAgY29uc3QgY2FuQWRkRm9sZGVyID1cbiAgICBlZGl0YWJsZSAmJiBzZWxlY3RlZEZvbGRlciAmJiBzZWxlY3RlZEZvbGRlcj8uYnJlYWRjcnVtYnMubGVuZ3RoIDwgKG1heGltdW1MZXZlbHNPZkZvbGRlcnNBbGxvd2VkIHx8IDEpO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIHtsYWJlbCAmJiA8U3R5bGVkTGFiZWw+e2xhYmVsfTwvU3R5bGVkTGFiZWw+fVxuICAgICAgPFRyZWVTdHJ1Y3R1cmVTdHlsZWRXcmFwcGVyIGFyaWEtbGFiZWw9XCJNZW51IHRyZWVcIiByb2xlPVwidHJlZVwiIGZyYW1lZD17ZnJhbWVkfT5cbiAgICAgICAgPEZvbGRlckl0ZW1zXG4gICAgICAgICAgZWRpdGFibGU9e2VkaXRhYmxlfVxuICAgICAgICAgIGZvY3VzZWRGb2xkZXJJZD17Zm9jdXNlZElkfVxuICAgICAgICAgIG1lbnVJdGVtcz17bWVudUl0ZW1zfVxuICAgICAgICAgIGZvbGRlcnM9e2ZvbGRlcnN9XG4gICAgICAgICAgbGV2ZWw9ezF9XG4gICAgICAgICAgbG9hZGluZz17bG9hZGluZ31cbiAgICAgICAgICBzZWxlY3RlZEZvbGRlcj17c2VsZWN0ZWRGb2xkZXJ9XG4gICAgICAgICAgbWF4aW11bUxldmVsc09mRm9sZGVyc0FsbG93ZWQ9e21heGltdW1MZXZlbHNPZkZvbGRlcnNBbGxvd2VkfVxuICAgICAgICAgIG5ld0ZvbGRlclBhcmVudElkPXtuZXdGb2xkZXJQYXJlbnRJZH1cbiAgICAgICAgICBvbkNhbmNlbE5ld0ZvbGRlcj17b25DYW5jZWxOZXdGb2xkZXJ9XG4gICAgICAgICAgb25DbG9zZUZvbGRlcj17b25DbG9zZUZvbGRlcn1cbiAgICAgICAgICBvbk9wZW5Gb2xkZXI9e29uT3BlbkZvbGRlcn1cbiAgICAgICAgICBvblNhdmVOZXdGb2xkZXI9e29uU2F2ZU5ld0ZvbGRlcn1cbiAgICAgICAgICBvblNlbGVjdEZvbGRlcj17b25TZWxlY3RGb2xkZXJ9XG4gICAgICAgICAgb3BlbkZvbGRlcnM9e29wZW5Gb2xkZXJzfVxuICAgICAgICAgIG9wZW5PbkZvbGRlckNsaWNrPXtvcGVuT25Gb2xkZXJDbGlja31cbiAgICAgICAgICBzZXRGb2N1c2VkSWQ9e3NldEZvY3VzZWRJZH1cbiAgICAgICAgICBzZXRTZWxlY3RlZEZvbGRlcj17c2V0U2VsZWN0ZWRGb2xkZXJ9XG4gICAgICAgICAgdmlzaWJsZUZvbGRlcnM9e3Zpc2libGVGb2xkZXJJZHN9XG4gICAgICAgIC8+XG4gICAgICA8L1RyZWVTdHJ1Y3R1cmVTdHlsZWRXcmFwcGVyPlxuICAgICAge2VkaXRhYmxlICYmIChcbiAgICAgICAgPEFkZEZvbGRlcldyYXBwZXI+XG4gICAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICAgIHRvb2x0aXA9e1xuICAgICAgICAgICAgICBjYW5BZGRGb2xkZXJcbiAgICAgICAgICAgICAgICA/IHQoJ215TmRsYS5uZXdGb2xkZXJVbmRlcicsIHtcbiAgICAgICAgICAgICAgICAgICAgZm9sZGVyTmFtZTogc2VsZWN0ZWRGb2xkZXI/Lm5hbWUsXG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIDogdCgndHJlZVN0cnVjdHVyZS5tYXhGb2xkZXJzQWxyZWFkeUFkZGVkJylcbiAgICAgICAgICAgIH0+XG4gICAgICAgICAgICA8QWRkQnV0dG9uXG4gICAgICAgICAgICAgIGRpc2FibGVkPXshY2FuQWRkRm9sZGVyfVxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPXt0KCdteU5kbGEubmV3Rm9sZGVyJyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldE5ld0ZvbGRlclBhcmVudElkKHNlbGVjdGVkRm9sZGVyPy5pZCl9PlxuICAgICAgICAgICAgICB7dCgnbXlOZGxhLm5ld0ZvbGRlcicpfVxuICAgICAgICAgICAgPC9BZGRCdXR0b24+XG4gICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICA8L0FkZEZvbGRlcldyYXBwZXI+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgVHJlZVN0cnVjdHVyZTtcbiJdfQ== */"));
46
38
 
47
39
  var AddFolderWrapper = _styled("div", {
48
40
  target: "e1dg1gdn1",
49
41
  label: "AddFolderWrapper"
50
- })("display:flex;margin-top:", spacing.xsmall, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRyZWVTdHJ1Y3R1cmUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBCbUMiLCJmaWxlIjoiVHJlZVN0cnVjdHVyZS50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMi1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlLCB1c2VSZWYsIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBBZGRCdXR0b24gfSBmcm9tICdAbmRsYS9idXR0b24nO1xuaW1wb3J0IFRvb2x0aXAgZnJvbSAnQG5kbGEvdG9vbHRpcCc7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgc3BhY2luZywgZm9udHMgfSBmcm9tICdAbmRsYS9jb3JlJztcbmltcG9ydCB7IHVuaXEgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IFRyZWVTdHJ1Y3R1cmVTdHlsZWRXcmFwcGVyIGZyb20gJy4vVHJlZVN0cnVjdHVyZVdyYXBwZXInO1xuaW1wb3J0IEZvbGRlckl0ZW1zIGZyb20gJy4vRm9sZGVySXRlbXMnO1xuaW1wb3J0IHsgZ2V0UGF0aE9mRm9sZGVyLCBnZXRGb2xkZXJOYW1lLCBmbGF0dGVuRm9sZGVycyB9IGZyb20gJy4vaGVscGVyRnVuY3Rpb25zJztcbmltcG9ydCB7IFRyZWVTdHJ1Y3R1cmVQcm9wcyB9IGZyb20gJy4vVHJlZVN0cnVjdHVyZS50eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBNQVhfTEVWRUxfRk9SX0ZPTERFUlMgPSA0O1xuXG5jb25zdCBTdHlsZWRMYWJlbCA9IHN0eWxlZC5sYWJlbGBcbiAgZm9udC13ZWlnaHQ6ICR7Zm9udHMud2VpZ2h0LnNlbWlib2xkfTtcbmA7XG5cbmNvbnN0IEFkZEZvbGRlcldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tdG9wOiAke3NwYWNpbmcueHNtYWxsfTtcbmA7XG5cbmNvbnN0IFRyZWVTdHJ1Y3R1cmUgPSAoe1xuICBmb2xkZXJzLFxuICBsYWJlbCxcbiAgZWRpdGFibGUsXG4gIGxvYWRpbmcsXG4gIG9uTmV3Rm9sZGVyLFxuICBvblNlbGVjdEZvbGRlcixcbiAgb3Blbk9uRm9sZGVyQ2xpY2ssXG4gIGZyYW1lZCxcbiAgZm9sZGVySWRNYXJrZWRCeURlZmF1bHQsXG4gIGRlZmF1bHRPcGVuRm9sZGVycyxcbiAgZm9sZGVyQ2hpbGQsXG4gIG1heGltdW1MZXZlbHNPZkZvbGRlcnNBbGxvd2VkID0gTUFYX0xFVkVMX0ZPUl9GT0xERVJTLFxufTogVHJlZVN0cnVjdHVyZVByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcbiAgY29uc3QgW25ld0ZvbGRlclBhcmVudElkLCBzZXROZXdGb2xkZXJQYXJlbnRJZF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIGNvbnN0IFtvcGVuRm9sZGVycywgc2V0T3BlbkZvbGRlcnNdID0gdXNlU3RhdGU8c3RyaW5nW10+KGRlZmF1bHRPcGVuRm9sZGVycyB8fCBbXSk7XG4gIGNvbnN0IFtmb2N1c2VkRm9sZGVySWQsIHNldEZvY3VzZWRGb2xkZXJJZF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIGNvbnN0IFttYXJrZWRGb2xkZXJJZCwgc2V0TWFya2VkRm9sZGVySWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPihmb2xkZXJJZE1hcmtlZEJ5RGVmYXVsdCB8fCBmb2xkZXJzWzBdPy5pZCk7XG4gIGNvbnN0IHRyZWVzdHJ1Y3R1cmVSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCB3cmFwcGVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3Qgcm9vdExldmVsSWQgPSAndHJlZXN0cnVjdHVyZS1yb290JztcblxuICBjb25zdCB2aXNpYmxlRm9sZGVycyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gZmxhdHRlbkZvbGRlcnMoZm9sZGVycywgb3BlbkZvbGRlcnMpLm1hcCgoZm9sZGVyKSA9PiBmb2xkZXIuaWQpLFxuICAgIFtmb2xkZXJzLCBvcGVuRm9sZGVyc10sXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZGVmYXVsdE9wZW5Gb2xkZXJzKSB7XG4gICAgICBzZXRPcGVuRm9sZGVycygocHJldikgPT4ge1xuICAgICAgICByZXR1cm4gdW5pcShbLi4uZGVmYXVsdE9wZW5Gb2xkZXJzLCAuLi5wcmV2XSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtkZWZhdWx0T3BlbkZvbGRlcnNdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghbG9hZGluZykge1xuICAgICAgc2V0TmV3Rm9sZGVyUGFyZW50SWQodW5kZWZpbmVkKTtcbiAgICB9XG4gIH0sIFtsb2FkaW5nXSk7XG5cbiAgY29uc3Qgb25DbG9zZUZvbGRlciA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgLy8gRGlkIHdlIGp1c3QgY2xvc2VkIGEgZm9sZGVyIHdpdGggYSBtYXJrZWQgZm9sZGVyIGluc2lkZSBpdD9cbiAgICAvLyBJZiBzbywgd2UgbmVlZCB0byBtYXJrIHRoZSBmb2xkZXIgd2UganVzdCBjbG9zZWQuXG4gICAgaWYgKG1hcmtlZEZvbGRlcklkKSB7XG4gICAgICBjb25zdCBjbG9zaW5nRm9sZGVyUGF0aCA9IGdldFBhdGhPZkZvbGRlcihmb2xkZXJzLCBpZCk7XG4gICAgICBjb25zdCBtYXJrZWRGb2xkZXJQYXRoID0gZ2V0UGF0aE9mRm9sZGVyKGZvbGRlcnMsIG1hcmtlZEZvbGRlcklkKTtcbiAgICAgIGNvbnN0IG1hcmtlZEZvbGRlcklzU3ViUGF0aCA9IGNsb3NpbmdGb2xkZXJQYXRoLmV2ZXJ5KFxuICAgICAgICAoZm9sZGVySWQsIF9pbmRleCkgPT4gbWFya2VkRm9sZGVyUGF0aFtfaW5kZXhdID09PSBmb2xkZXJJZCxcbiAgICAgICk7XG4gICAgICBpZiAobWFya2VkRm9sZGVySXNTdWJQYXRoKSB7XG4gICAgICAgIGlmIChvblNlbGVjdEZvbGRlcikge1xuICAgICAgICAgIHNldE1hcmtlZEZvbGRlcklkKGNsb3NpbmdGb2xkZXJQYXRoW2Nsb3NpbmdGb2xkZXJQYXRoLmxlbmd0aCAtIDFdKTtcbiAgICAgICAgICBvblNlbGVjdEZvbGRlcihjbG9zaW5nRm9sZGVyUGF0aFtjbG9zaW5nRm9sZGVyUGF0aC5sZW5ndGggLSAxXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc2V0Rm9jdXNlZEZvbGRlcklkKGNsb3NpbmdGb2xkZXJQYXRoW2Nsb3NpbmdGb2xkZXJQYXRoLmxlbmd0aCAtIDFdKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBzZXRPcGVuRm9sZGVycyhvcGVuRm9sZGVycy5maWx0ZXIoKGZvbGRlcikgPT4gZm9sZGVyICE9PSBpZCkpO1xuICB9O1xuXG4gIGNvbnN0IG9uT3BlbkZvbGRlciA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgc2V0T3BlbkZvbGRlcnModW5pcShvcGVuRm9sZGVycy5jb25jYXQoaWQpKSk7XG4gIH07XG5cbiAgY29uc3Qgb25DcmVhdGVOZXdGb2xkZXIgPSAocGFyZW50SWQ6IHN0cmluZykgPT4ge1xuICAgIHNldE5ld0ZvbGRlclBhcmVudElkKHBhcmVudElkKTtcbiAgfTtcblxuICBjb25zdCBvblNhdmVOZXdGb2xkZXIgPSAobmFtZTogc3RyaW5nLCBwYXJlbnRJZDogc3RyaW5nKSA9PiB7XG4gICAgb25OZXdGb2xkZXIobmFtZSwgcGFyZW50SWQpLnRoZW4oKG5ld0ZvbGRlcklkKSA9PiB7XG4gICAgICBpZiAobmV3Rm9sZGVySWQpIHtcbiAgICAgICAgc2V0TWFya2VkRm9sZGVySWQobmV3Rm9sZGVySWQpO1xuICAgICAgICBzZXRGb2N1c2VkRm9sZGVySWQobmV3Rm9sZGVySWQpO1xuICAgICAgICBzZXRPcGVuRm9sZGVycyh1bmlxKG9wZW5Gb2xkZXJzLmNvbmNhdChwYXJlbnRJZCkpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBvbkNhbmNlbE5ld0ZvbGRlciA9ICgpID0+IHtcbiAgICBzZXROZXdGb2xkZXJQYXJlbnRJZCh1bmRlZmluZWQpO1xuICB9O1xuXG4gIGNvbnN0IG9uTWFya0ZvbGRlciA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgc2V0TWFya2VkRm9sZGVySWQoaWQpO1xuICAgIHNldEZvY3VzZWRGb2xkZXJJZChpZCk7XG4gIH07XG5cbiAgY29uc3QgcGF0aHMgPSBnZXRQYXRoT2ZGb2xkZXIoZm9sZGVycywgbWFya2VkRm9sZGVySWQgfHwgJycpO1xuICBjb25zdCBjYW5BZGRGb2xkZXIgPSBlZGl0YWJsZSAmJiBwYXRocy5sZW5ndGggPCAobWF4aW11bUxldmVsc09mRm9sZGVyc0FsbG93ZWQgfHwgMSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHJlZj17dHJlZXN0cnVjdHVyZVJlZn0+XG4gICAgICB7bGFiZWwgJiYgPFN0eWxlZExhYmVsIGh0bWxGb3I9e3Jvb3RMZXZlbElkfT57bGFiZWx9PC9TdHlsZWRMYWJlbD59XG4gICAgICA8VHJlZVN0cnVjdHVyZVN0eWxlZFdyYXBwZXIgcmVmPXt3cmFwcGVyUmVmfSBpZD17cm9vdExldmVsSWR9IGFyaWEtbGFiZWw9XCJNZW51IHRyZWVcIiByb2xlPVwidHJlZVwiIGZyYW1lZD17ZnJhbWVkfT5cbiAgICAgICAgPEZvbGRlckl0ZW1zXG4gICAgICAgICAgb25TZWxlY3RGb2xkZXI9e29uU2VsZWN0Rm9sZGVyfVxuICAgICAgICAgIGxldmVsPXsxfVxuICAgICAgICAgIGZvbGRlcnM9e2ZvbGRlcnN9XG4gICAgICAgICAgZWRpdGFibGU9e2VkaXRhYmxlfVxuICAgICAgICAgIG9uT3BlbkZvbGRlcj17b25PcGVuRm9sZGVyfVxuICAgICAgICAgIG9uQ2xvc2VGb2xkZXI9e29uQ2xvc2VGb2xkZXJ9XG4gICAgICAgICAgbmV3Rm9sZGVyUGFyZW50SWQ9e25ld0ZvbGRlclBhcmVudElkfVxuICAgICAgICAgIG9uQ3JlYXRlTmV3Rm9sZGVyPXtvbkNyZWF0ZU5ld0ZvbGRlcn1cbiAgICAgICAgICBvbkNhbmNlbE5ld0ZvbGRlcj17b25DYW5jZWxOZXdGb2xkZXJ9XG4gICAgICAgICAgb25TYXZlTmV3Rm9sZGVyPXtvblNhdmVOZXdGb2xkZXJ9XG4gICAgICAgICAgdmlzaWJsZUZvbGRlcnM9e3Zpc2libGVGb2xkZXJzfVxuICAgICAgICAgIG9wZW5Gb2xkZXJzPXtvcGVuRm9sZGVyc31cbiAgICAgICAgICBtYXJrZWRGb2xkZXJJZD17bWFya2VkRm9sZGVySWR9XG4gICAgICAgICAgb25NYXJrRm9sZGVyPXtvbk1hcmtGb2xkZXJ9XG4gICAgICAgICAgb3Blbk9uRm9sZGVyQ2xpY2s9e29wZW5PbkZvbGRlckNsaWNrfVxuICAgICAgICAgIGxvYWRpbmc9e2xvYWRpbmd9XG4gICAgICAgICAgZm9jdXNlZEZvbGRlcklkPXtmb2N1c2VkRm9sZGVySWR9XG4gICAgICAgICAgc2V0Rm9jdXNlZEZvbGRlcklkPXtzZXRGb2N1c2VkRm9sZGVySWR9XG4gICAgICAgICAgZm9sZGVyQ2hpbGQ9e2ZvbGRlckNoaWxkfVxuICAgICAgICAgIG1heGltdW1MZXZlbHNPZkZvbGRlcnNBbGxvd2VkPXttYXhpbXVtTGV2ZWxzT2ZGb2xkZXJzQWxsb3dlZH1cbiAgICAgICAgLz5cbiAgICAgIDwvVHJlZVN0cnVjdHVyZVN0eWxlZFdyYXBwZXI+XG4gICAgICB7ZWRpdGFibGUgJiYgKFxuICAgICAgICA8QWRkRm9sZGVyV3JhcHBlcj5cbiAgICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgICAgdG9vbHRpcD17XG4gICAgICAgICAgICAgIGNhbkFkZEZvbGRlclxuICAgICAgICAgICAgICAgID8gdCgnbXlOZGxhLm5ld0ZvbGRlclVuZGVyJywge1xuICAgICAgICAgICAgICAgICAgICBmb2xkZXJOYW1lOiBnZXRGb2xkZXJOYW1lKGZvbGRlcnMsIG1hcmtlZEZvbGRlcklkKSxcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgOiB0KCd0cmVlU3RydWN0dXJlLm1heEZvbGRlcnNBbHJlYWR5QWRkZWQnKVxuICAgICAgICAgICAgfT5cbiAgICAgICAgICAgIDxBZGRCdXR0b25cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFjYW5BZGRGb2xkZXJ9XG4gICAgICAgICAgICAgIGFyaWEtbGFiZWw9e3QoJ215TmRsYS5uZXdGb2xkZXInKX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldE5ld0ZvbGRlclBhcmVudElkKG1hcmtlZEZvbGRlcklkKTtcbiAgICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgIHt0KCdteU5kbGEubmV3Rm9sZGVyJyl9XG4gICAgICAgICAgICA8L0FkZEJ1dHRvbj5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIDwvQWRkRm9sZGVyV3JhcHBlcj5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBUcmVlU3RydWN0dXJlO1xuIl19 */"));
42
+ })("display:flex;margin-top:", spacing.xsmall, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRyZWVTdHJ1Y3R1cmUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJCbUMiLCJmaWxlIjoiVHJlZVN0cnVjdHVyZS50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMi1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQWRkQnV0dG9uIH0gZnJvbSAnQG5kbGEvYnV0dG9uJztcbmltcG9ydCBUb29sdGlwIGZyb20gJ0BuZGxhL3Rvb2x0aXAnO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IHNwYWNpbmcsIGZvbnRzIH0gZnJvbSAnQG5kbGEvY29yZSc7XG5pbXBvcnQgeyB1bmlxIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IElGb2xkZXIgfSBmcm9tICdAbmRsYS90eXBlcy1sZWFybmluZ3BhdGgtYXBpJztcbmltcG9ydCBUcmVlU3RydWN0dXJlU3R5bGVkV3JhcHBlciBmcm9tICcuL1RyZWVTdHJ1Y3R1cmVXcmFwcGVyJztcbmltcG9ydCBGb2xkZXJJdGVtcyBmcm9tICcuL0ZvbGRlckl0ZW1zJztcbmltcG9ydCB7IGZsYXR0ZW5Gb2xkZXJzIH0gZnJvbSAnLi9oZWxwZXJGdW5jdGlvbnMnO1xuaW1wb3J0IHsgQ29tbW9uVHJlZVN0cnVjdHVyZVByb3BzLCBGb2xkZXJUeXBlIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBNQVhfTEVWRUxfRk9SX0ZPTERFUlMgPSA0O1xuXG5jb25zdCBTdHlsZWRMYWJlbCA9IHN0eWxlZC5sYWJlbGBcbiAgZm9udC13ZWlnaHQ6ICR7Zm9udHMud2VpZ2h0LnNlbWlib2xkfTtcbmA7XG5cbmNvbnN0IEFkZEZvbGRlcldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tdG9wOiAke3NwYWNpbmcueHNtYWxsfTtcbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJlZVN0cnVjdHVyZVByb3BzIGV4dGVuZHMgQ29tbW9uVHJlZVN0cnVjdHVyZVByb3BzIHtcbiAgZGVmYXVsdE9wZW5Gb2xkZXJzPzogc3RyaW5nW107XG4gIGZvbGRlcnM6IEZvbGRlclR5cGVbXTtcbiAgZWRpdGFibGU/OiBib29sZWFuO1xuICBmcmFtZWQ/OiBib29sZWFuO1xuICBsYWJlbD86IHN0cmluZztcbiAgbWF4aW11bUxldmVsc09mRm9sZGVyc0FsbG93ZWQ/OiBudW1iZXI7XG4gIG9uTmV3Rm9sZGVyOiAobmFtZTogc3RyaW5nLCBwYXJlbnRJZDogc3RyaW5nKSA9PiBQcm9taXNlPElGb2xkZXI+O1xufVxuXG5jb25zdCBUcmVlU3RydWN0dXJlID0gKHtcbiAgZGVmYXVsdE9wZW5Gb2xkZXJzLFxuICBlZGl0YWJsZSxcbiAgbWVudUl0ZW1zLFxuICBmb2xkZXJzLFxuICBmcmFtZWQsXG4gIGxhYmVsLFxuICBsb2FkaW5nLFxuICBtYXhpbXVtTGV2ZWxzT2ZGb2xkZXJzQWxsb3dlZCA9IE1BWF9MRVZFTF9GT1JfRk9MREVSUyxcbiAgb25OZXdGb2xkZXIsXG4gIG9uU2VsZWN0Rm9sZGVyLFxuICBvcGVuT25Gb2xkZXJDbGljayxcbn06IFRyZWVTdHJ1Y3R1cmVQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG5cbiAgY29uc3QgZGVmYXVsdFNlbGVjdGVkRm9sZGVySWQgPSBkZWZhdWx0T3BlbkZvbGRlcnMgJiYgZGVmYXVsdE9wZW5Gb2xkZXJzW2RlZmF1bHRPcGVuRm9sZGVycy5sZW5ndGggLSAxXTtcblxuICBjb25zdCBbb3BlbkZvbGRlcnMsIHNldE9wZW5Gb2xkZXJzXSA9IHVzZVN0YXRlPHN0cmluZ1tdPihkZWZhdWx0T3BlbkZvbGRlcnMgfHwgW10pO1xuXG4gIGNvbnN0IFtuZXdGb2xkZXJQYXJlbnRJZCwgc2V0TmV3Rm9sZGVyUGFyZW50SWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuICBjb25zdCBbZm9jdXNlZElkLCBzZXRGb2N1c2VkSWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xuICBjb25zdCBbc2VsZWN0ZWRGb2xkZXIsIHNldFNlbGVjdGVkRm9sZGVyXSA9IHVzZVN0YXRlPEZvbGRlclR5cGUgfCB1bmRlZmluZWQ+KCk7XG5cbiAgY29uc3QgZmxhdHRlbmVkRm9sZGVycyA9IHVzZU1lbW8oKCkgPT4gZmxhdHRlbkZvbGRlcnMoZm9sZGVycywgb3BlbkZvbGRlcnMpLCBbZm9sZGVycywgb3BlbkZvbGRlcnNdKTtcbiAgY29uc3QgdmlzaWJsZUZvbGRlcklkcyA9IGZsYXR0ZW5lZEZvbGRlcnMubWFwKChmb2xkZXIpID0+IGZvbGRlci5pZCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZGVmYXVsdE9wZW5Gb2xkZXJzKSB7XG4gICAgICBzZXRPcGVuRm9sZGVycygocHJldikgPT4ge1xuICAgICAgICByZXR1cm4gdW5pcShkZWZhdWx0T3BlbkZvbGRlcnMuY29uY2F0KHByZXYpKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW2RlZmF1bHRPcGVuRm9sZGVyc10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGRlZmF1bHRTZWxlY3RlZEZvbGRlcklkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkID0gZmxhdHRlbkZvbGRlcnMoZm9sZGVycykuZmluZCgoZm9sZGVyKSA9PiBmb2xkZXIuaWQgPT09IGRlZmF1bHRTZWxlY3RlZEZvbGRlcklkKTtcbiAgICAgIGlmIChzZWxlY3RlZCkge1xuICAgICAgICBzZXRTZWxlY3RlZEZvbGRlcihzZWxlY3RlZCk7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW2RlZmF1bHRTZWxlY3RlZEZvbGRlcklkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWxvYWRpbmcpIHtcbiAgICAgIHNldE5ld0ZvbGRlclBhcmVudElkKHVuZGVmaW5lZCk7XG4gICAgfVxuICB9LCBbbG9hZGluZ10pO1xuXG4gIGNvbnN0IG9uQ2xvc2VGb2xkZXIgPSAoaWQ6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IGNsb3NlZEZvbGRlciA9IGZsYXR0ZW5lZEZvbGRlcnMuZmluZCgoZm9sZGVyKSA9PiBmb2xkZXIuaWQgPT09IGlkKTtcblxuICAgIGlmIChjbG9zZWRGb2xkZXIpIHtcbiAgICAgIGNvbnN0IHN1YkZvbGRlcnMgPSBjbG9zZWRGb2xkZXIuc3ViZm9sZGVycyAmJiBmbGF0dGVuRm9sZGVycyhjbG9zZWRGb2xkZXIuc3ViZm9sZGVycyk7XG4gICAgICBpZiAoc3ViRm9sZGVycy5zb21lKChmb2xkZXIpID0+IGZvbGRlci5pZCA9PT0gc2VsZWN0ZWRGb2xkZXI/LmlkKSkge1xuICAgICAgICBpZiAob25TZWxlY3RGb2xkZXIpIHtcbiAgICAgICAgICBzZXRTZWxlY3RlZEZvbGRlcihjbG9zZWRGb2xkZXIpO1xuICAgICAgICAgIG9uU2VsZWN0Rm9sZGVyKGNsb3NlZEZvbGRlci5pZCk7XG4gICAgICAgIH1cbiAgICAgICAgc2V0Rm9jdXNlZElkKGNsb3NlZEZvbGRlci5pZCk7XG4gICAgICB9XG4gICAgfVxuICAgIHNldE9wZW5Gb2xkZXJzKG9wZW5Gb2xkZXJzLmZpbHRlcigoZm9sZGVySWQpID0+IGZvbGRlcklkICE9PSBpZCkpO1xuICB9O1xuXG4gIGNvbnN0IG9uT3BlbkZvbGRlciA9IChpZDogc3RyaW5nKSA9PiB7XG4gICAgc2V0T3BlbkZvbGRlcnModW5pcShvcGVuRm9sZGVycy5jb25jYXQoaWQpKSk7XG4gIH07XG5cbiAgY29uc3Qgb25TYXZlTmV3Rm9sZGVyID0gKG5hbWU6IHN0cmluZywgcGFyZW50SWQ6IHN0cmluZykgPT4ge1xuICAgIG9uTmV3Rm9sZGVyKG5hbWUsIHBhcmVudElkKS50aGVuKChuZXdGb2xkZXIpID0+IHtcbiAgICAgIGlmIChuZXdGb2xkZXIpIHtcbiAgICAgICAgc2V0U2VsZWN0ZWRGb2xkZXIobmV3Rm9sZGVyKTtcbiAgICAgICAgc2V0Rm9jdXNlZElkKG5ld0ZvbGRlci5pZCk7XG4gICAgICAgIHNldE9wZW5Gb2xkZXJzKHVuaXEob3BlbkZvbGRlcnMuY29uY2F0KHBhcmVudElkKSkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IG9uQ2FuY2VsTmV3Rm9sZGVyID0gKCkgPT4ge1xuICAgIHNldE5ld0ZvbGRlclBhcmVudElkKHVuZGVmaW5lZCk7XG4gIH07XG5cbiAgY29uc3QgY2FuQWRkRm9sZGVyID1cbiAgICBlZGl0YWJsZSAmJiBzZWxlY3RlZEZvbGRlciAmJiBzZWxlY3RlZEZvbGRlcj8uYnJlYWRjcnVtYnMubGVuZ3RoIDwgKG1heGltdW1MZXZlbHNPZkZvbGRlcnNBbGxvd2VkIHx8IDEpO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIHtsYWJlbCAmJiA8U3R5bGVkTGFiZWw+e2xhYmVsfTwvU3R5bGVkTGFiZWw+fVxuICAgICAgPFRyZWVTdHJ1Y3R1cmVTdHlsZWRXcmFwcGVyIGFyaWEtbGFiZWw9XCJNZW51IHRyZWVcIiByb2xlPVwidHJlZVwiIGZyYW1lZD17ZnJhbWVkfT5cbiAgICAgICAgPEZvbGRlckl0ZW1zXG4gICAgICAgICAgZWRpdGFibGU9e2VkaXRhYmxlfVxuICAgICAgICAgIGZvY3VzZWRGb2xkZXJJZD17Zm9jdXNlZElkfVxuICAgICAgICAgIG1lbnVJdGVtcz17bWVudUl0ZW1zfVxuICAgICAgICAgIGZvbGRlcnM9e2ZvbGRlcnN9XG4gICAgICAgICAgbGV2ZWw9ezF9XG4gICAgICAgICAgbG9hZGluZz17bG9hZGluZ31cbiAgICAgICAgICBzZWxlY3RlZEZvbGRlcj17c2VsZWN0ZWRGb2xkZXJ9XG4gICAgICAgICAgbWF4aW11bUxldmVsc09mRm9sZGVyc0FsbG93ZWQ9e21heGltdW1MZXZlbHNPZkZvbGRlcnNBbGxvd2VkfVxuICAgICAgICAgIG5ld0ZvbGRlclBhcmVudElkPXtuZXdGb2xkZXJQYXJlbnRJZH1cbiAgICAgICAgICBvbkNhbmNlbE5ld0ZvbGRlcj17b25DYW5jZWxOZXdGb2xkZXJ9XG4gICAgICAgICAgb25DbG9zZUZvbGRlcj17b25DbG9zZUZvbGRlcn1cbiAgICAgICAgICBvbk9wZW5Gb2xkZXI9e29uT3BlbkZvbGRlcn1cbiAgICAgICAgICBvblNhdmVOZXdGb2xkZXI9e29uU2F2ZU5ld0ZvbGRlcn1cbiAgICAgICAgICBvblNlbGVjdEZvbGRlcj17b25TZWxlY3RGb2xkZXJ9XG4gICAgICAgICAgb3BlbkZvbGRlcnM9e29wZW5Gb2xkZXJzfVxuICAgICAgICAgIG9wZW5PbkZvbGRlckNsaWNrPXtvcGVuT25Gb2xkZXJDbGlja31cbiAgICAgICAgICBzZXRGb2N1c2VkSWQ9e3NldEZvY3VzZWRJZH1cbiAgICAgICAgICBzZXRTZWxlY3RlZEZvbGRlcj17c2V0U2VsZWN0ZWRGb2xkZXJ9XG4gICAgICAgICAgdmlzaWJsZUZvbGRlcnM9e3Zpc2libGVGb2xkZXJJZHN9XG4gICAgICAgIC8+XG4gICAgICA8L1RyZWVTdHJ1Y3R1cmVTdHlsZWRXcmFwcGVyPlxuICAgICAge2VkaXRhYmxlICYmIChcbiAgICAgICAgPEFkZEZvbGRlcldyYXBwZXI+XG4gICAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICAgIHRvb2x0aXA9e1xuICAgICAgICAgICAgICBjYW5BZGRGb2xkZXJcbiAgICAgICAgICAgICAgICA/IHQoJ215TmRsYS5uZXdGb2xkZXJVbmRlcicsIHtcbiAgICAgICAgICAgICAgICAgICAgZm9sZGVyTmFtZTogc2VsZWN0ZWRGb2xkZXI/Lm5hbWUsXG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIDogdCgndHJlZVN0cnVjdHVyZS5tYXhGb2xkZXJzQWxyZWFkeUFkZGVkJylcbiAgICAgICAgICAgIH0+XG4gICAgICAgICAgICA8QWRkQnV0dG9uXG4gICAgICAgICAgICAgIGRpc2FibGVkPXshY2FuQWRkRm9sZGVyfVxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPXt0KCdteU5kbGEubmV3Rm9sZGVyJyl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldE5ld0ZvbGRlclBhcmVudElkKHNlbGVjdGVkRm9sZGVyPy5pZCl9PlxuICAgICAgICAgICAgICB7dCgnbXlOZGxhLm5ld0ZvbGRlcicpfVxuICAgICAgICAgICAgPC9BZGRCdXR0b24+XG4gICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICA8L0FkZEZvbGRlcldyYXBwZXI+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgVHJlZVN0cnVjdHVyZTtcbiJdfQ== */"));
51
43
 
52
44
  var TreeStructure = function TreeStructure(_ref) {
53
- var _folders$;
54
-
55
- var folders = _ref.folders,
56
- label = _ref.label,
45
+ var defaultOpenFolders = _ref.defaultOpenFolders,
57
46
  editable = _ref.editable,
47
+ menuItems = _ref.menuItems,
48
+ folders = _ref.folders,
49
+ framed = _ref.framed,
50
+ label = _ref.label,
58
51
  loading = _ref.loading,
52
+ _ref$maximumLevelsOfF = _ref.maximumLevelsOfFoldersAllowed,
53
+ maximumLevelsOfFoldersAllowed = _ref$maximumLevelsOfF === void 0 ? MAX_LEVEL_FOR_FOLDERS : _ref$maximumLevelsOfF,
59
54
  onNewFolder = _ref.onNewFolder,
60
55
  onSelectFolder = _ref.onSelectFolder,
61
- openOnFolderClick = _ref.openOnFolderClick,
62
- framed = _ref.framed,
63
- folderIdMarkedByDefault = _ref.folderIdMarkedByDefault,
64
- defaultOpenFolders = _ref.defaultOpenFolders,
65
- folderChild = _ref.folderChild,
66
- _ref$maximumLevelsOfF = _ref.maximumLevelsOfFoldersAllowed,
67
- maximumLevelsOfFoldersAllowed = _ref$maximumLevelsOfF === void 0 ? MAX_LEVEL_FOR_FOLDERS : _ref$maximumLevelsOfF;
56
+ openOnFolderClick = _ref.openOnFolderClick;
68
57
 
69
58
  var _useTranslation = useTranslation(),
70
59
  t = _useTranslation.t;
71
60
 
72
- var _useState = useState(),
61
+ var defaultSelectedFolderId = defaultOpenFolders && defaultOpenFolders[defaultOpenFolders.length - 1];
62
+
63
+ var _useState = useState(defaultOpenFolders || []),
73
64
  _useState2 = _slicedToArray(_useState, 2),
74
- newFolderParentId = _useState2[0],
75
- setNewFolderParentId = _useState2[1];
65
+ openFolders = _useState2[0],
66
+ setOpenFolders = _useState2[1];
76
67
 
77
- var _useState3 = useState(defaultOpenFolders || []),
68
+ var _useState3 = useState(),
78
69
  _useState4 = _slicedToArray(_useState3, 2),
79
- openFolders = _useState4[0],
80
- setOpenFolders = _useState4[1];
70
+ newFolderParentId = _useState4[0],
71
+ setNewFolderParentId = _useState4[1];
81
72
 
82
73
  var _useState5 = useState(),
83
74
  _useState6 = _slicedToArray(_useState5, 2),
84
- focusedFolderId = _useState6[0],
85
- setFocusedFolderId = _useState6[1];
75
+ focusedId = _useState6[0],
76
+ setFocusedId = _useState6[1];
86
77
 
87
- var _useState7 = useState(folderIdMarkedByDefault || ((_folders$ = folders[0]) === null || _folders$ === void 0 ? void 0 : _folders$.id)),
78
+ var _useState7 = useState(),
88
79
  _useState8 = _slicedToArray(_useState7, 2),
89
- markedFolderId = _useState8[0],
90
- setMarkedFolderId = _useState8[1];
91
-
92
- var treestructureRef = useRef(null);
93
- var wrapperRef = useRef(null);
94
- var rootLevelId = 'treestructure-root';
95
- var visibleFolders = useMemo(function () {
96
- return flattenFolders(folders, openFolders).map(function (folder) {
97
- return folder.id;
98
- });
80
+ selectedFolder = _useState8[0],
81
+ setSelectedFolder = _useState8[1];
82
+
83
+ var flattenedFolders = useMemo(function () {
84
+ return flattenFolders(folders, openFolders);
99
85
  }, [folders, openFolders]);
86
+ var visibleFolderIds = flattenedFolders.map(function (folder) {
87
+ return folder.id;
88
+ });
100
89
  useEffect(function () {
101
90
  if (defaultOpenFolders) {
102
91
  setOpenFolders(function (prev) {
103
- return uniq([].concat(_toConsumableArray(defaultOpenFolders), _toConsumableArray(prev)));
92
+ return uniq(defaultOpenFolders.concat(prev));
104
93
  });
105
94
  }
106
95
  }, [defaultOpenFolders]);
96
+ useEffect(function () {
97
+ if (defaultSelectedFolderId !== undefined) {
98
+ var selected = flattenFolders(folders).find(function (folder) {
99
+ return folder.id === defaultSelectedFolderId;
100
+ });
101
+
102
+ if (selected) {
103
+ setSelectedFolder(selected);
104
+ }
105
+ } // eslint-disable-next-line react-hooks/exhaustive-deps
106
+
107
+ }, [defaultSelectedFolderId]);
107
108
  useEffect(function () {
108
109
  if (!loading) {
109
110
  setNewFolderParentId(undefined);
@@ -111,27 +112,27 @@ var TreeStructure = function TreeStructure(_ref) {
111
112
  }, [loading]);
112
113
 
113
114
  var onCloseFolder = function onCloseFolder(id) {
114
- // Did we just closed a folder with a marked folder inside it?
115
- // If so, we need to mark the folder we just closed.
116
- if (markedFolderId) {
117
- var closingFolderPath = getPathOfFolder(folders, id);
118
- var markedFolderPath = getPathOfFolder(folders, markedFolderId);
119
- var markedFolderIsSubPath = closingFolderPath.every(function (folderId, _index) {
120
- return markedFolderPath[_index] === folderId;
121
- });
115
+ var closedFolder = flattenedFolders.find(function (folder) {
116
+ return folder.id === id;
117
+ });
118
+
119
+ if (closedFolder) {
120
+ var subFolders = closedFolder.subfolders && flattenFolders(closedFolder.subfolders);
122
121
 
123
- if (markedFolderIsSubPath) {
122
+ if (subFolders.some(function (folder) {
123
+ return folder.id === (selectedFolder === null || selectedFolder === void 0 ? void 0 : selectedFolder.id);
124
+ })) {
124
125
  if (onSelectFolder) {
125
- setMarkedFolderId(closingFolderPath[closingFolderPath.length - 1]);
126
- onSelectFolder(closingFolderPath[closingFolderPath.length - 1]);
127
- } else {
128
- setFocusedFolderId(closingFolderPath[closingFolderPath.length - 1]);
126
+ setSelectedFolder(closedFolder);
127
+ onSelectFolder(closedFolder.id);
129
128
  }
129
+
130
+ setFocusedId(closedFolder.id);
130
131
  }
131
132
  }
132
133
 
133
- setOpenFolders(openFolders.filter(function (folder) {
134
- return folder !== id;
134
+ setOpenFolders(openFolders.filter(function (folderId) {
135
+ return folderId !== id;
135
136
  }));
136
137
  };
137
138
 
@@ -139,15 +140,11 @@ var TreeStructure = function TreeStructure(_ref) {
139
140
  setOpenFolders(uniq(openFolders.concat(id)));
140
141
  };
141
142
 
142
- var onCreateNewFolder = function onCreateNewFolder(parentId) {
143
- setNewFolderParentId(parentId);
144
- };
145
-
146
143
  var onSaveNewFolder = function onSaveNewFolder(name, parentId) {
147
- onNewFolder(name, parentId).then(function (newFolderId) {
148
- if (newFolderId) {
149
- setMarkedFolderId(newFolderId);
150
- setFocusedFolderId(newFolderId);
144
+ onNewFolder(name, parentId).then(function (newFolder) {
145
+ if (newFolder) {
146
+ setSelectedFolder(newFolder);
147
+ setFocusedId(newFolder.id);
151
148
  setOpenFolders(uniq(openFolders.concat(parentId)));
152
149
  }
153
150
  });
@@ -157,53 +154,40 @@ var TreeStructure = function TreeStructure(_ref) {
157
154
  setNewFolderParentId(undefined);
158
155
  };
159
156
 
160
- var onMarkFolder = function onMarkFolder(id) {
161
- setMarkedFolderId(id);
162
- setFocusedFolderId(id);
163
- };
164
-
165
- var paths = getPathOfFolder(folders, markedFolderId || '');
166
- var canAddFolder = editable && paths.length < (maximumLevelsOfFoldersAllowed || 1);
167
- return ___EmotionJSX("div", {
168
- ref: treestructureRef
169
- }, label && ___EmotionJSX(StyledLabel, {
170
- htmlFor: rootLevelId
171
- }, label), ___EmotionJSX(TreeStructureStyledWrapper, {
172
- ref: wrapperRef,
173
- id: rootLevelId,
157
+ var canAddFolder = editable && selectedFolder && (selectedFolder === null || selectedFolder === void 0 ? void 0 : selectedFolder.breadcrumbs.length) < (maximumLevelsOfFoldersAllowed || 1);
158
+ return ___EmotionJSX("div", null, label && ___EmotionJSX(StyledLabel, null, label), ___EmotionJSX(TreeStructureStyledWrapper, {
174
159
  "aria-label": "Menu tree",
175
160
  role: "tree",
176
161
  framed: framed
177
162
  }, ___EmotionJSX(FolderItems, {
178
- onSelectFolder: onSelectFolder,
179
- level: 1,
180
- folders: folders,
181
163
  editable: editable,
182
- onOpenFolder: onOpenFolder,
183
- onCloseFolder: onCloseFolder,
164
+ focusedFolderId: focusedId,
165
+ menuItems: menuItems,
166
+ folders: folders,
167
+ level: 1,
168
+ loading: loading,
169
+ selectedFolder: selectedFolder,
170
+ maximumLevelsOfFoldersAllowed: maximumLevelsOfFoldersAllowed,
184
171
  newFolderParentId: newFolderParentId,
185
- onCreateNewFolder: onCreateNewFolder,
186
172
  onCancelNewFolder: onCancelNewFolder,
173
+ onCloseFolder: onCloseFolder,
174
+ onOpenFolder: onOpenFolder,
187
175
  onSaveNewFolder: onSaveNewFolder,
188
- visibleFolders: visibleFolders,
176
+ onSelectFolder: onSelectFolder,
189
177
  openFolders: openFolders,
190
- markedFolderId: markedFolderId,
191
- onMarkFolder: onMarkFolder,
192
178
  openOnFolderClick: openOnFolderClick,
193
- loading: loading,
194
- focusedFolderId: focusedFolderId,
195
- setFocusedFolderId: setFocusedFolderId,
196
- folderChild: folderChild,
197
- maximumLevelsOfFoldersAllowed: maximumLevelsOfFoldersAllowed
179
+ setFocusedId: setFocusedId,
180
+ setSelectedFolder: setSelectedFolder,
181
+ visibleFolders: visibleFolderIds
198
182
  })), editable && ___EmotionJSX(AddFolderWrapper, null, ___EmotionJSX(Tooltip, {
199
183
  tooltip: canAddFolder ? t('myNdla.newFolderUnder', {
200
- folderName: getFolderName(folders, markedFolderId)
184
+ folderName: selectedFolder === null || selectedFolder === void 0 ? void 0 : selectedFolder.name
201
185
  }) : t('treeStructure.maxFoldersAlreadyAdded')
202
186
  }, ___EmotionJSX(AddButton, {
203
187
  disabled: !canAddFolder,
204
188
  "aria-label": t('myNdla.newFolder'),
205
189
  onClick: function onClick() {
206
- setNewFolderParentId(markedFolderId);
190
+ return setNewFolderParentId(selectedFolder === null || selectedFolder === void 0 ? void 0 : selectedFolder.id);
207
191
  }
208
192
  }, t('myNdla.newFolder')))));
209
193
  };
@@ -8,80 +8,11 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
8
8
 
9
9
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10
10
 
11
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
12
-
13
- 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."); }
14
-
15
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
16
-
17
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
18
-
19
- function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
20
-
21
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
22
-
23
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
24
-
25
- export var getPathOfFolder = function getPathOfFolder(data, findId) {
26
- var paths = function paths(folders, path) {
27
- var _iterator = _createForOfIteratorHelper(folders),
28
- _step;
29
-
30
- try {
31
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
32
- var _step$value = _step.value,
33
- id = _step$value.id,
34
- subfolders = _step$value.subfolders;
35
-
36
- if (id === findId) {
37
- return [].concat(_toConsumableArray(path), [id]);
38
- } else if (subfolders === null || subfolders === void 0 ? void 0 : subfolders.length) {
39
- return paths(subfolders, [].concat(_toConsumableArray(path), [id]));
40
- }
41
- }
42
- } catch (err) {
43
- _iterator.e(err);
44
- } finally {
45
- _iterator.f();
46
- }
47
-
48
- return [];
49
- };
50
-
51
- return paths(data, []);
52
- };
53
- export var getFolderName = function getFolderName(data, findId) {
54
- if (!findId) {
55
- return undefined;
56
- }
57
-
58
- var folderName;
59
-
60
- var paths = function paths(dataChildren) {
61
- dataChildren.some(function (_ref, _index) {
62
- var id = _ref.id,
63
- name = _ref.name,
64
- subfolders = _ref.subfolders;
65
-
66
- if (id === findId) {
67
- folderName = name;
68
- return true;
69
- } else if (subfolders === null || subfolders === void 0 ? void 0 : subfolders.length) {
70
- return paths(subfolders);
71
- }
72
-
73
- return false;
74
- });
75
- };
76
-
77
- paths(data);
78
- return folderName;
79
- };
80
11
  export var flattenFolders = function flattenFolders(folders, openFolders) {
81
- return folders.reduce(function (acc, _ref2) {
82
- var subfolders = _ref2.subfolders,
83
- id = _ref2.id,
84
- rest = _objectWithoutProperties(_ref2, ["subfolders", "id"]);
12
+ return folders.reduce(function (acc, _ref) {
13
+ var subfolders = _ref.subfolders,
14
+ id = _ref.id,
15
+ rest = _objectWithoutProperties(_ref, ["subfolders", "id"]);
85
16
 
86
17
  if (!subfolders || openFolders && !openFolders.includes(id)) {
87
18
  return acc.concat(_objectSpread({