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