@ndla/ui 42.1.2 → 43.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 (52) hide show
  1. package/es/AudioPlayer/Controls.js +41 -39
  2. package/es/Breadcrumb/index.js +0 -1
  3. package/es/LanguageSelector/LanguageSelector.js +31 -36
  4. package/es/MyNdla/Resource/Folder.js +10 -16
  5. package/es/MyNdla/index.js +1 -3
  6. package/es/Resource/BlockResource.js +8 -11
  7. package/es/Resource/ListResource.js +8 -11
  8. package/es/Resource/resourceComponents.js +46 -35
  9. package/es/TreeStructure/FolderItem.js +7 -11
  10. package/es/index.js +2 -2
  11. package/lib/AudioPlayer/Controls.js +40 -38
  12. package/lib/Breadcrumb/index.d.ts +0 -1
  13. package/lib/Breadcrumb/index.js +0 -7
  14. package/lib/LanguageSelector/LanguageSelector.js +31 -36
  15. package/lib/MyNdla/Resource/Folder.d.ts +3 -4
  16. package/lib/MyNdla/Resource/Folder.js +10 -16
  17. package/lib/MyNdla/index.d.ts +1 -3
  18. package/lib/MyNdla/index.js +0 -14
  19. package/lib/Resource/BlockResource.d.ts +3 -3
  20. package/lib/Resource/BlockResource.js +8 -11
  21. package/lib/Resource/ListResource.d.ts +3 -3
  22. package/lib/Resource/ListResource.js +8 -11
  23. package/lib/Resource/resourceComponents.js +45 -34
  24. package/lib/TreeStructure/FolderItem.js +7 -11
  25. package/lib/index.d.ts +2 -2
  26. package/lib/index.js +0 -12
  27. package/package.json +9 -10
  28. package/src/AudioPlayer/Controls.tsx +22 -26
  29. package/src/Breadcrumb/index.ts +0 -2
  30. package/src/LanguageSelector/LanguageSelector.tsx +26 -32
  31. package/src/MyNdla/Resource/Folder.stories.tsx +27 -5
  32. package/src/MyNdla/Resource/Folder.tsx +4 -19
  33. package/src/MyNdla/index.ts +1 -3
  34. package/src/Resource/BlockResource.stories.tsx +1 -1
  35. package/src/Resource/BlockResource.tsx +4 -6
  36. package/src/Resource/ListResource.tsx +4 -6
  37. package/src/Resource/Resource.stories.tsx +32 -2
  38. package/src/Resource/resourceComponents.tsx +34 -24
  39. package/src/TreeStructure/FolderItem.tsx +2 -4
  40. package/src/index.ts +2 -2
  41. package/es/Breadcrumb/ActionBreadcrumb.js +0 -74
  42. package/es/MyNdla/Resource/FolderMenu.js +0 -74
  43. package/es/MyNdla/SettingsMenu.js +0 -98
  44. package/lib/Breadcrumb/ActionBreadcrumb.d.ts +0 -15
  45. package/lib/Breadcrumb/ActionBreadcrumb.js +0 -82
  46. package/lib/MyNdla/Resource/FolderMenu.d.ts +0 -16
  47. package/lib/MyNdla/Resource/FolderMenu.js +0 -81
  48. package/lib/MyNdla/SettingsMenu.d.ts +0 -15
  49. package/lib/MyNdla/SettingsMenu.js +0 -102
  50. package/src/Breadcrumb/ActionBreadcrumb.tsx +0 -87
  51. package/src/MyNdla/Resource/FolderMenu.tsx +0 -102
  52. package/src/MyNdla/SettingsMenu.tsx +0 -96
@@ -1,102 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _base = _interopRequireDefault(require("@emotion/styled/base"));
8
- var _reactDeviceDetect = require("react-device-detect");
9
- var _reactI18next = require("react-i18next");
10
- var _button = require("@ndla/button");
11
- var _modal = require("@ndla/modal");
12
- var _contentType = require("@ndla/icons/contentType");
13
- var _core = require("@ndla/core");
14
- var _jsxRuntime = require("@emotion/react/jsx-runtime");
15
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
- function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } /**
17
- * Copyright (c) 2023-present, NDLA.
18
- *
19
- * This source code is licensed under the GPLv3 license found in the
20
- * LICENSE file in the root directory of this source tree.
21
- *
22
- */
23
- var StyledDrawer = /*#__PURE__*/(0, _base.default)(_modal.Drawer, {
24
- target: "ewsen8f3",
25
- label: "StyledDrawer"
26
- })("max-height:100%;border-top-left-radius:", _core.misc.borderRadius, ";border-top-right-radius:", _core.misc.borderRadius, ";", _core.mq.range({
27
- until: _core.breakpoints.tablet
28
- }), "{min-height:20%;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNldHRpbmdzTWVudS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0JtQyIsImZpbGUiOiJTZXR0aW5nc01lbnUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjMtcHJlc2VudCwgTkRMQS5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEx2MyBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG5pbXBvcnQgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBpc01vYmlsZSwgaXNUYWJsZXQgfSBmcm9tICdyZWFjdC1kZXZpY2UtZGV0ZWN0JztcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5pbXBvcnQgeyBJY29uQnV0dG9uVjIsIE1lbnVJdGVtUHJvcHMsIE1lbnVCdXR0b24sIEJ1dHRvblYyIH0gZnJvbSAnQG5kbGEvYnV0dG9uJztcbmltcG9ydCB7IERyYXdlciwgTW9kYWxCb2R5LCBNb2RhbENsb3NlQnV0dG9uLCBNb2RhbEhlYWRlciB9IGZyb20gJ0BuZGxhL21vZGFsJztcbmltcG9ydCB7IEhvcml6b250YWxNZW51IH0gZnJvbSAnQG5kbGEvaWNvbnMvY29udGVudFR5cGUnO1xuaW1wb3J0IHsgYnJlYWtwb2ludHMsIGNvbG9ycywgbWlzYywgbXEsIHNwYWNpbmcgfSBmcm9tICdAbmRsYS9jb3JlJztcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgbWVudUl0ZW1zPzogTWVudUl0ZW1Qcm9wc1tdO1xuICBjaGlsZHJlbj86IChjbG9zZTogKCkgPT4gdm9pZCkgPT4gUmVhY3ROb2RlO1xufVxuXG5jb25zdCBTdHlsZWREcmF3ZXIgPSBzdHlsZWQoRHJhd2VyKWBcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHttaXNjLmJvcmRlclJhZGl1c307XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAke21pc2MuYm9yZGVyUmFkaXVzfTtcbiAgJHttcS5yYW5nZSh7IHVudGlsOiBicmVha3BvaW50cy50YWJsZXQgfSl9IHtcbiAgICBtaW4taGVpZ2h0OiAyMCU7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZFVsID0gc3R5bGVkLnVsYFxuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuYDtcblxuY29uc3QgU3R5bGVkTW9kYWxCb2R5ID0gc3R5bGVkKE1vZGFsQm9keSlgXG4gIHBhZGRpbmc6IDAgMCAke3NwYWNpbmcubGFyZ2V9IDBweDtcbmA7XG5cbmNvbnN0IFN0eWxlZExpID0gc3R5bGVkLmxpYFxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtjb2xvcnMuYnJhbmQubmV1dHJhbDd9O1xuYDtcblxuY29uc3QgU2V0dGluZ3NNZW51ID0gKHsgbWVudUl0ZW1zLCBjaGlsZHJlbiB9OiBQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGlmIChpc01vYmlsZSB8fCBpc1RhYmxldCkge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkRHJhd2VyXG4gICAgICAgIGV4cGFuZHNcbiAgICAgICAgcG9zaXRpb249XCJib3R0b21cIlxuICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICBhY3RpdmF0ZUJ1dHRvbj17XG4gICAgICAgICAgPEljb25CdXR0b25WMiBhcmlhLWxhYmVsPXt0KCdteU5kbGEubW9yZScpfSBjb2xvclRoZW1lPVwibGlnaHRcIiB2YXJpYW50PVwiZ2hvc3RcIj5cbiAgICAgICAgICAgIDxIb3Jpem9udGFsTWVudSAvPlxuICAgICAgICAgIDwvSWNvbkJ1dHRvblYyPlxuICAgICAgICB9XG4gICAgICA+XG4gICAgICAgIHsoY2xvc2UpID0+IChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPE1vZGFsSGVhZGVyPlxuICAgICAgICAgICAgICA8aDE+e3QoJ215TmRsYS5zZXR0aW5ncycpfTwvaDE+XG4gICAgICAgICAgICAgIDxNb2RhbENsb3NlQnV0dG9uIG9uQ2xpY2s9e2Nsb3NlfSAvPlxuICAgICAgICAgICAgPC9Nb2RhbEhlYWRlcj5cbiAgICAgICAgICAgIDxTdHlsZWRNb2RhbEJvZHk+XG4gICAgICAgICAgICAgIHtjaGlsZHJlbj8uKGNsb3NlKX1cbiAgICAgICAgICAgICAgeyEhbWVudUl0ZW1zPy5sZW5ndGggJiYgKFxuICAgICAgICAgICAgICAgIDxTdHlsZWRVbD5cbiAgICAgICAgICAgICAgICAgIHttZW51SXRlbXMubWFwKChpdGVtLCBpKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRMaSBrZXk9e2l9PlxuICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25WMlxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3JUaGVtZT17aXRlbS50eXBlfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5vbkNsaWNrKGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7aXRlbS5pY29ufVxuICAgICAgICAgICAgICAgICAgICAgICAge2l0ZW0udGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvblYyPlxuICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZExpPlxuICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRVbD5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvU3R5bGVkTW9kYWxCb2R5PlxuICAgICAgICAgIDwvPlxuICAgICAgICApfVxuICAgICAgPC9TdHlsZWREcmF3ZXI+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPE1lbnVCdXR0b24gYWxpZ249XCJlbmRcIiBzaXplPVwic21hbGxcIiBtZW51SXRlbXM9e21lbnVJdGVtc30gLz47XG59O1xuXG5leHBvcnQgZGVmYXVsdCBTZXR0aW5nc01lbnU7XG4iXX0= */"));
29
- var StyledUl = /*#__PURE__*/(0, _base.default)("ul", {
30
- target: "ewsen8f2",
31
- label: "StyledUl"
32
- })(process.env.NODE_ENV === "production" ? {
33
- name: "n1lsvi",
34
- styles: "padding:0;list-style:none"
35
- } : {
36
- name: "n1lsvi",
37
- styles: "padding:0;list-style:none",
38
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNldHRpbmdzTWVudS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0IwQiIsImZpbGUiOiJTZXR0aW5nc01lbnUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjMtcHJlc2VudCwgTkRMQS5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEx2MyBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG5pbXBvcnQgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBpc01vYmlsZSwgaXNUYWJsZXQgfSBmcm9tICdyZWFjdC1kZXZpY2UtZGV0ZWN0JztcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5pbXBvcnQgeyBJY29uQnV0dG9uVjIsIE1lbnVJdGVtUHJvcHMsIE1lbnVCdXR0b24sIEJ1dHRvblYyIH0gZnJvbSAnQG5kbGEvYnV0dG9uJztcbmltcG9ydCB7IERyYXdlciwgTW9kYWxCb2R5LCBNb2RhbENsb3NlQnV0dG9uLCBNb2RhbEhlYWRlciB9IGZyb20gJ0BuZGxhL21vZGFsJztcbmltcG9ydCB7IEhvcml6b250YWxNZW51IH0gZnJvbSAnQG5kbGEvaWNvbnMvY29udGVudFR5cGUnO1xuaW1wb3J0IHsgYnJlYWtwb2ludHMsIGNvbG9ycywgbWlzYywgbXEsIHNwYWNpbmcgfSBmcm9tICdAbmRsYS9jb3JlJztcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgbWVudUl0ZW1zPzogTWVudUl0ZW1Qcm9wc1tdO1xuICBjaGlsZHJlbj86IChjbG9zZTogKCkgPT4gdm9pZCkgPT4gUmVhY3ROb2RlO1xufVxuXG5jb25zdCBTdHlsZWREcmF3ZXIgPSBzdHlsZWQoRHJhd2VyKWBcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHttaXNjLmJvcmRlclJhZGl1c307XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAke21pc2MuYm9yZGVyUmFkaXVzfTtcbiAgJHttcS5yYW5nZSh7IHVudGlsOiBicmVha3BvaW50cy50YWJsZXQgfSl9IHtcbiAgICBtaW4taGVpZ2h0OiAyMCU7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZFVsID0gc3R5bGVkLnVsYFxuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuYDtcblxuY29uc3QgU3R5bGVkTW9kYWxCb2R5ID0gc3R5bGVkKE1vZGFsQm9keSlgXG4gIHBhZGRpbmc6IDAgMCAke3NwYWNpbmcubGFyZ2V9IDBweDtcbmA7XG5cbmNvbnN0IFN0eWxlZExpID0gc3R5bGVkLmxpYFxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtjb2xvcnMuYnJhbmQubmV1dHJhbDd9O1xuYDtcblxuY29uc3QgU2V0dGluZ3NNZW51ID0gKHsgbWVudUl0ZW1zLCBjaGlsZHJlbiB9OiBQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGlmIChpc01vYmlsZSB8fCBpc1RhYmxldCkge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkRHJhd2VyXG4gICAgICAgIGV4cGFuZHNcbiAgICAgICAgcG9zaXRpb249XCJib3R0b21cIlxuICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICBhY3RpdmF0ZUJ1dHRvbj17XG4gICAgICAgICAgPEljb25CdXR0b25WMiBhcmlhLWxhYmVsPXt0KCdteU5kbGEubW9yZScpfSBjb2xvclRoZW1lPVwibGlnaHRcIiB2YXJpYW50PVwiZ2hvc3RcIj5cbiAgICAgICAgICAgIDxIb3Jpem9udGFsTWVudSAvPlxuICAgICAgICAgIDwvSWNvbkJ1dHRvblYyPlxuICAgICAgICB9XG4gICAgICA+XG4gICAgICAgIHsoY2xvc2UpID0+IChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPE1vZGFsSGVhZGVyPlxuICAgICAgICAgICAgICA8aDE+e3QoJ215TmRsYS5zZXR0aW5ncycpfTwvaDE+XG4gICAgICAgICAgICAgIDxNb2RhbENsb3NlQnV0dG9uIG9uQ2xpY2s9e2Nsb3NlfSAvPlxuICAgICAgICAgICAgPC9Nb2RhbEhlYWRlcj5cbiAgICAgICAgICAgIDxTdHlsZWRNb2RhbEJvZHk+XG4gICAgICAgICAgICAgIHtjaGlsZHJlbj8uKGNsb3NlKX1cbiAgICAgICAgICAgICAgeyEhbWVudUl0ZW1zPy5sZW5ndGggJiYgKFxuICAgICAgICAgICAgICAgIDxTdHlsZWRVbD5cbiAgICAgICAgICAgICAgICAgIHttZW51SXRlbXMubWFwKChpdGVtLCBpKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRMaSBrZXk9e2l9PlxuICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25WMlxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3JUaGVtZT17aXRlbS50eXBlfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5vbkNsaWNrKGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7aXRlbS5pY29ufVxuICAgICAgICAgICAgICAgICAgICAgICAge2l0ZW0udGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvblYyPlxuICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZExpPlxuICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRVbD5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvU3R5bGVkTW9kYWxCb2R5PlxuICAgICAgICAgIDwvPlxuICAgICAgICApfVxuICAgICAgPC9TdHlsZWREcmF3ZXI+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPE1lbnVCdXR0b24gYWxpZ249XCJlbmRcIiBzaXplPVwic21hbGxcIiBtZW51SXRlbXM9e21lbnVJdGVtc30gLz47XG59O1xuXG5leHBvcnQgZGVmYXVsdCBTZXR0aW5nc01lbnU7XG4iXX0= */",
39
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
40
- });
41
- var StyledModalBody = /*#__PURE__*/(0, _base.default)(_modal.ModalBody, {
42
- target: "ewsen8f1",
43
- label: "StyledModalBody"
44
- })("padding:0 0 ", _core.spacing.large, " 0px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNldHRpbmdzTWVudS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0N5QyIsImZpbGUiOiJTZXR0aW5nc01lbnUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjMtcHJlc2VudCwgTkRMQS5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEx2MyBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG5pbXBvcnQgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBpc01vYmlsZSwgaXNUYWJsZXQgfSBmcm9tICdyZWFjdC1kZXZpY2UtZGV0ZWN0JztcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5pbXBvcnQgeyBJY29uQnV0dG9uVjIsIE1lbnVJdGVtUHJvcHMsIE1lbnVCdXR0b24sIEJ1dHRvblYyIH0gZnJvbSAnQG5kbGEvYnV0dG9uJztcbmltcG9ydCB7IERyYXdlciwgTW9kYWxCb2R5LCBNb2RhbENsb3NlQnV0dG9uLCBNb2RhbEhlYWRlciB9IGZyb20gJ0BuZGxhL21vZGFsJztcbmltcG9ydCB7IEhvcml6b250YWxNZW51IH0gZnJvbSAnQG5kbGEvaWNvbnMvY29udGVudFR5cGUnO1xuaW1wb3J0IHsgYnJlYWtwb2ludHMsIGNvbG9ycywgbWlzYywgbXEsIHNwYWNpbmcgfSBmcm9tICdAbmRsYS9jb3JlJztcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgbWVudUl0ZW1zPzogTWVudUl0ZW1Qcm9wc1tdO1xuICBjaGlsZHJlbj86IChjbG9zZTogKCkgPT4gdm9pZCkgPT4gUmVhY3ROb2RlO1xufVxuXG5jb25zdCBTdHlsZWREcmF3ZXIgPSBzdHlsZWQoRHJhd2VyKWBcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHttaXNjLmJvcmRlclJhZGl1c307XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAke21pc2MuYm9yZGVyUmFkaXVzfTtcbiAgJHttcS5yYW5nZSh7IHVudGlsOiBicmVha3BvaW50cy50YWJsZXQgfSl9IHtcbiAgICBtaW4taGVpZ2h0OiAyMCU7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZFVsID0gc3R5bGVkLnVsYFxuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuYDtcblxuY29uc3QgU3R5bGVkTW9kYWxCb2R5ID0gc3R5bGVkKE1vZGFsQm9keSlgXG4gIHBhZGRpbmc6IDAgMCAke3NwYWNpbmcubGFyZ2V9IDBweDtcbmA7XG5cbmNvbnN0IFN0eWxlZExpID0gc3R5bGVkLmxpYFxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtjb2xvcnMuYnJhbmQubmV1dHJhbDd9O1xuYDtcblxuY29uc3QgU2V0dGluZ3NNZW51ID0gKHsgbWVudUl0ZW1zLCBjaGlsZHJlbiB9OiBQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGlmIChpc01vYmlsZSB8fCBpc1RhYmxldCkge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkRHJhd2VyXG4gICAgICAgIGV4cGFuZHNcbiAgICAgICAgcG9zaXRpb249XCJib3R0b21cIlxuICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICBhY3RpdmF0ZUJ1dHRvbj17XG4gICAgICAgICAgPEljb25CdXR0b25WMiBhcmlhLWxhYmVsPXt0KCdteU5kbGEubW9yZScpfSBjb2xvclRoZW1lPVwibGlnaHRcIiB2YXJpYW50PVwiZ2hvc3RcIj5cbiAgICAgICAgICAgIDxIb3Jpem9udGFsTWVudSAvPlxuICAgICAgICAgIDwvSWNvbkJ1dHRvblYyPlxuICAgICAgICB9XG4gICAgICA+XG4gICAgICAgIHsoY2xvc2UpID0+IChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPE1vZGFsSGVhZGVyPlxuICAgICAgICAgICAgICA8aDE+e3QoJ215TmRsYS5zZXR0aW5ncycpfTwvaDE+XG4gICAgICAgICAgICAgIDxNb2RhbENsb3NlQnV0dG9uIG9uQ2xpY2s9e2Nsb3NlfSAvPlxuICAgICAgICAgICAgPC9Nb2RhbEhlYWRlcj5cbiAgICAgICAgICAgIDxTdHlsZWRNb2RhbEJvZHk+XG4gICAgICAgICAgICAgIHtjaGlsZHJlbj8uKGNsb3NlKX1cbiAgICAgICAgICAgICAgeyEhbWVudUl0ZW1zPy5sZW5ndGggJiYgKFxuICAgICAgICAgICAgICAgIDxTdHlsZWRVbD5cbiAgICAgICAgICAgICAgICAgIHttZW51SXRlbXMubWFwKChpdGVtLCBpKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRMaSBrZXk9e2l9PlxuICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25WMlxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3JUaGVtZT17aXRlbS50eXBlfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5vbkNsaWNrKGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7aXRlbS5pY29ufVxuICAgICAgICAgICAgICAgICAgICAgICAge2l0ZW0udGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvblYyPlxuICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZExpPlxuICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRVbD5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvU3R5bGVkTW9kYWxCb2R5PlxuICAgICAgICAgIDwvPlxuICAgICAgICApfVxuICAgICAgPC9TdHlsZWREcmF3ZXI+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPE1lbnVCdXR0b24gYWxpZ249XCJlbmRcIiBzaXplPVwic21hbGxcIiBtZW51SXRlbXM9e21lbnVJdGVtc30gLz47XG59O1xuXG5leHBvcnQgZGVmYXVsdCBTZXR0aW5nc01lbnU7XG4iXX0= */"));
45
- var StyledLi = /*#__PURE__*/(0, _base.default)("li", {
46
- target: "ewsen8f0",
47
- label: "StyledLi"
48
- })("border-bottom:1px solid ", _core.colors.brand.neutral7, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNldHRpbmdzTWVudS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0MwQiIsImZpbGUiOiJTZXR0aW5nc01lbnUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjMtcHJlc2VudCwgTkRMQS5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEx2MyBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG5pbXBvcnQgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBpc01vYmlsZSwgaXNUYWJsZXQgfSBmcm9tICdyZWFjdC1kZXZpY2UtZGV0ZWN0JztcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XG5pbXBvcnQgeyBJY29uQnV0dG9uVjIsIE1lbnVJdGVtUHJvcHMsIE1lbnVCdXR0b24sIEJ1dHRvblYyIH0gZnJvbSAnQG5kbGEvYnV0dG9uJztcbmltcG9ydCB7IERyYXdlciwgTW9kYWxCb2R5LCBNb2RhbENsb3NlQnV0dG9uLCBNb2RhbEhlYWRlciB9IGZyb20gJ0BuZGxhL21vZGFsJztcbmltcG9ydCB7IEhvcml6b250YWxNZW51IH0gZnJvbSAnQG5kbGEvaWNvbnMvY29udGVudFR5cGUnO1xuaW1wb3J0IHsgYnJlYWtwb2ludHMsIGNvbG9ycywgbWlzYywgbXEsIHNwYWNpbmcgfSBmcm9tICdAbmRsYS9jb3JlJztcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgbWVudUl0ZW1zPzogTWVudUl0ZW1Qcm9wc1tdO1xuICBjaGlsZHJlbj86IChjbG9zZTogKCkgPT4gdm9pZCkgPT4gUmVhY3ROb2RlO1xufVxuXG5jb25zdCBTdHlsZWREcmF3ZXIgPSBzdHlsZWQoRHJhd2VyKWBcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHttaXNjLmJvcmRlclJhZGl1c307XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAke21pc2MuYm9yZGVyUmFkaXVzfTtcbiAgJHttcS5yYW5nZSh7IHVudGlsOiBicmVha3BvaW50cy50YWJsZXQgfSl9IHtcbiAgICBtaW4taGVpZ2h0OiAyMCU7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZFVsID0gc3R5bGVkLnVsYFxuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuYDtcblxuY29uc3QgU3R5bGVkTW9kYWxCb2R5ID0gc3R5bGVkKE1vZGFsQm9keSlgXG4gIHBhZGRpbmc6IDAgMCAke3NwYWNpbmcubGFyZ2V9IDBweDtcbmA7XG5cbmNvbnN0IFN0eWxlZExpID0gc3R5bGVkLmxpYFxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtjb2xvcnMuYnJhbmQubmV1dHJhbDd9O1xuYDtcblxuY29uc3QgU2V0dGluZ3NNZW51ID0gKHsgbWVudUl0ZW1zLCBjaGlsZHJlbiB9OiBQcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGlmIChpc01vYmlsZSB8fCBpc1RhYmxldCkge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkRHJhd2VyXG4gICAgICAgIGV4cGFuZHNcbiAgICAgICAgcG9zaXRpb249XCJib3R0b21cIlxuICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICBhY3RpdmF0ZUJ1dHRvbj17XG4gICAgICAgICAgPEljb25CdXR0b25WMiBhcmlhLWxhYmVsPXt0KCdteU5kbGEubW9yZScpfSBjb2xvclRoZW1lPVwibGlnaHRcIiB2YXJpYW50PVwiZ2hvc3RcIj5cbiAgICAgICAgICAgIDxIb3Jpem9udGFsTWVudSAvPlxuICAgICAgICAgIDwvSWNvbkJ1dHRvblYyPlxuICAgICAgICB9XG4gICAgICA+XG4gICAgICAgIHsoY2xvc2UpID0+IChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPE1vZGFsSGVhZGVyPlxuICAgICAgICAgICAgICA8aDE+e3QoJ215TmRsYS5zZXR0aW5ncycpfTwvaDE+XG4gICAgICAgICAgICAgIDxNb2RhbENsb3NlQnV0dG9uIG9uQ2xpY2s9e2Nsb3NlfSAvPlxuICAgICAgICAgICAgPC9Nb2RhbEhlYWRlcj5cbiAgICAgICAgICAgIDxTdHlsZWRNb2RhbEJvZHk+XG4gICAgICAgICAgICAgIHtjaGlsZHJlbj8uKGNsb3NlKX1cbiAgICAgICAgICAgICAgeyEhbWVudUl0ZW1zPy5sZW5ndGggJiYgKFxuICAgICAgICAgICAgICAgIDxTdHlsZWRVbD5cbiAgICAgICAgICAgICAgICAgIHttZW51SXRlbXMubWFwKChpdGVtLCBpKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRMaSBrZXk9e2l9PlxuICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25WMlxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3JUaGVtZT17aXRlbS50eXBlfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5vbkNsaWNrKGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7aXRlbS5pY29ufVxuICAgICAgICAgICAgICAgICAgICAgICAge2l0ZW0udGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvblYyPlxuICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZExpPlxuICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRVbD5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvU3R5bGVkTW9kYWxCb2R5PlxuICAgICAgICAgIDwvPlxuICAgICAgICApfVxuICAgICAgPC9TdHlsZWREcmF3ZXI+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPE1lbnVCdXR0b24gYWxpZ249XCJlbmRcIiBzaXplPVwic21hbGxcIiBtZW51SXRlbXM9e21lbnVJdGVtc30gLz47XG59O1xuXG5leHBvcnQgZGVmYXVsdCBTZXR0aW5nc01lbnU7XG4iXX0= */"));
49
- var SettingsMenu = function SettingsMenu(_ref) {
50
- var menuItems = _ref.menuItems,
51
- _children = _ref.children;
52
- var _useTranslation = (0, _reactI18next.useTranslation)(),
53
- t = _useTranslation.t;
54
- if (_reactDeviceDetect.isMobile || _reactDeviceDetect.isTablet) {
55
- return (0, _jsxRuntime.jsx)(StyledDrawer, {
56
- expands: true,
57
- position: "bottom",
58
- size: "small",
59
- activateButton: (0, _jsxRuntime.jsx)(_button.IconButtonV2, {
60
- "aria-label": t('myNdla.more'),
61
- colorTheme: "light",
62
- variant: "ghost",
63
- children: (0, _jsxRuntime.jsx)(_contentType.HorizontalMenu, {})
64
- }),
65
- children: function children(close) {
66
- return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
67
- children: [(0, _jsxRuntime.jsxs)(_modal.ModalHeader, {
68
- children: [(0, _jsxRuntime.jsx)("h1", {
69
- children: t('myNdla.settings')
70
- }), (0, _jsxRuntime.jsx)(_modal.ModalCloseButton, {
71
- onClick: close
72
- })]
73
- }), (0, _jsxRuntime.jsxs)(StyledModalBody, {
74
- children: [_children === null || _children === void 0 ? void 0 : _children(close), !!(menuItems !== null && menuItems !== void 0 && menuItems.length) && (0, _jsxRuntime.jsx)(StyledUl, {
75
- children: menuItems.map(function (item, i) {
76
- return (0, _jsxRuntime.jsx)(StyledLi, {
77
- children: (0, _jsxRuntime.jsxs)(_button.ButtonV2, {
78
- fontWeight: "normal",
79
- variant: "ghost",
80
- colorTheme: item.type,
81
- onClick: function onClick(e) {
82
- close();
83
- item.onClick(e);
84
- },
85
- children: [item.icon, item.text]
86
- })
87
- }, i);
88
- })
89
- })]
90
- })]
91
- });
92
- }
93
- });
94
- }
95
- return (0, _jsxRuntime.jsx)(_button.MenuButton, {
96
- align: "end",
97
- size: "small",
98
- menuItems: menuItems
99
- });
100
- };
101
- var _default = SettingsMenu;
102
- exports.default = _default;
@@ -1,87 +0,0 @@
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
-
9
- import styled from '@emotion/styled';
10
- import { colors, fonts, misc, spacing } from '@ndla/core';
11
- import { ChevronRight } from '@ndla/icons/common';
12
- import SafeLink from '@ndla/safelink';
13
- import React from 'react';
14
- import { MenuButton, MenuItemProps } from '@ndla/button';
15
- import Breadcrumb from './Breadcrumb';
16
- import { IndexedBreadcrumbItem, SimpleBreadcrumbItem } from './BreadcrumbItem';
17
-
18
- const StyledRightChevron = styled(ChevronRight)`
19
- color: ${colors.text.primary};
20
- margin: ${spacing.xxsmall};
21
- height: 24px;
22
- width: 24px;
23
- `;
24
-
25
- const StyledSpan = styled.span`
26
- font-weight: ${fonts.weight.bold};
27
- `;
28
-
29
- const StyledSafeLink = styled(SafeLink)`
30
- color: ${colors.text.primary};
31
- box-shadow: none;
32
- margin: 0 2px;
33
- font-weight: ${fonts.weight.bold};
34
- :hover {
35
- color: ${colors.brand.primary};
36
- }
37
- `;
38
-
39
- const StyledMenuButton = styled(MenuButton)`
40
- border-radius: ${misc.borderRadius};
41
- margin: 0 2px;
42
- `;
43
-
44
- interface Props {
45
- items: SimpleBreadcrumbItem[];
46
- actionItems: MenuItemProps[];
47
- }
48
-
49
- const ActionBreadcrumb = ({ items, actionItems }: Props) => {
50
- const renderItem = (item: IndexedBreadcrumbItem, totalCount: number) => {
51
- if (totalCount === 1) {
52
- return <StyledSpan title={item.name}>{item.name}</StyledSpan>;
53
- }
54
- if (item.index === totalCount - 1 && actionItems.length > 0) {
55
- return (
56
- <StyledMenuButton menuItems={actionItems} align="end" size="small">
57
- <StyledSpan title={item.name}>{item.name}</StyledSpan>
58
- </StyledMenuButton>
59
- );
60
- }
61
- return (
62
- <StyledSafeLink title={item.name} to={item.to}>
63
- {item.name}
64
- </StyledSafeLink>
65
- );
66
- };
67
-
68
- const renderSeparator = (item: IndexedBreadcrumbItem, totalCount: number) => {
69
- if (item.index === totalCount - 1) {
70
- return null;
71
- }
72
-
73
- return <StyledRightChevron />;
74
- };
75
-
76
- return (
77
- <Breadcrumb
78
- autoCollapse
79
- collapseLast={false}
80
- items={items}
81
- renderItem={renderItem}
82
- renderSeparator={renderSeparator}
83
- />
84
- );
85
- };
86
-
87
- export default ActionBreadcrumb;
@@ -1,102 +0,0 @@
1
- /**
2
- * Copyright (c) 2023-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
-
9
- import { MenuItemProps, ButtonV2 } from '@ndla/button';
10
- import { FourlineHamburger, List } from '@ndla/icons/action';
11
- import Tooltip from '@ndla/tooltip';
12
- import styled from '@emotion/styled';
13
- import { colors, spacing } from '@ndla/core';
14
- import { useTranslation } from 'react-i18next';
15
- import { LayoutType } from './Folder';
16
- import SettingsMenu from '../SettingsMenu';
17
-
18
- interface Props {
19
- menuItems: MenuItemProps[];
20
- viewType?: LayoutType;
21
- onViewTypeChange?: (type: LayoutType) => void;
22
- }
23
-
24
- const ViewButtonWrapper = styled.div`
25
- display: flex;
26
- gap: ${spacing.small};
27
- div,
28
- button {
29
- display: flex;
30
- flex: 1;
31
- }
32
- `;
33
-
34
- const ViewTypeWrapper = styled.div`
35
- display: flex;
36
- flex-direction: column;
37
- gap: ${spacing.xsmall};
38
- padding: ${spacing.small};
39
- border-bottom: 1px solid ${colors.brand.neutral7};
40
- border-top: 1px solid ${colors.brand.neutral7};
41
- span {
42
- color: ${colors.brand.primary};
43
- }
44
- `;
45
-
46
- const ViewButton = styled(ButtonV2)`
47
- background-color: transparent;
48
- color: ${colors.brand.primary};
49
- svg {
50
- width: 40px;
51
- height: 40px;
52
- }
53
- &[aria-current='true'] {
54
- background-color: ${colors.brand.lightest};
55
- }
56
- &[aria-current='false'] {
57
- color: ${colors.brand.light};
58
- border-color: ${colors.brand.light};
59
- }
60
- `;
61
-
62
- const FolderMenu = ({ menuItems, viewType, onViewTypeChange }: Props) => {
63
- const { t } = useTranslation();
64
- return (
65
- <SettingsMenu menuItems={menuItems}>
66
- {(_) => {
67
- if (!viewType || !onViewTypeChange) {
68
- return null;
69
- }
70
- return (
71
- <ViewTypeWrapper>
72
- <span>{t('myNdla.selectView')}</span>
73
- <ViewButtonWrapper>
74
- <Tooltip tooltip={t('myNdla.listView')}>
75
- <ViewButton
76
- size="large"
77
- aria-current={viewType === 'list'}
78
- colorTheme="primary"
79
- onClick={() => onViewTypeChange('list')}
80
- >
81
- <FourlineHamburger />
82
- </ViewButton>
83
- </Tooltip>
84
- <Tooltip tooltip={t('myNdla.detailView')}>
85
- <ViewButton
86
- size="large"
87
- aria-current={viewType === 'listLarger'}
88
- colorTheme="primary"
89
- onClick={() => onViewTypeChange('listLarger')}
90
- >
91
- <List />
92
- </ViewButton>
93
- </Tooltip>
94
- </ViewButtonWrapper>
95
- </ViewTypeWrapper>
96
- );
97
- }}
98
- </SettingsMenu>
99
- );
100
- };
101
-
102
- export default FolderMenu;
@@ -1,96 +0,0 @@
1
- /**
2
- * Copyright (c) 2023-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
-
9
- import { ReactNode } from 'react';
10
- import styled from '@emotion/styled';
11
- import { isMobile, isTablet } from 'react-device-detect';
12
- import { useTranslation } from 'react-i18next';
13
- import { IconButtonV2, MenuItemProps, MenuButton, ButtonV2 } from '@ndla/button';
14
- import { Drawer, ModalBody, ModalCloseButton, ModalHeader } from '@ndla/modal';
15
- import { HorizontalMenu } from '@ndla/icons/contentType';
16
- import { breakpoints, colors, misc, mq, spacing } from '@ndla/core';
17
-
18
- interface Props {
19
- menuItems?: MenuItemProps[];
20
- children?: (close: () => void) => ReactNode;
21
- }
22
-
23
- const StyledDrawer = styled(Drawer)`
24
- max-height: 100%;
25
- border-top-left-radius: ${misc.borderRadius};
26
- border-top-right-radius: ${misc.borderRadius};
27
- ${mq.range({ until: breakpoints.tablet })} {
28
- min-height: 20%;
29
- }
30
- `;
31
-
32
- const StyledUl = styled.ul`
33
- padding: 0;
34
- list-style: none;
35
- `;
36
-
37
- const StyledModalBody = styled(ModalBody)`
38
- padding: 0 0 ${spacing.large} 0px;
39
- `;
40
-
41
- const StyledLi = styled.li`
42
- border-bottom: 1px solid ${colors.brand.neutral7};
43
- `;
44
-
45
- const SettingsMenu = ({ menuItems, children }: Props) => {
46
- const { t } = useTranslation();
47
- if (isMobile || isTablet) {
48
- return (
49
- <StyledDrawer
50
- expands
51
- position="bottom"
52
- size="small"
53
- activateButton={
54
- <IconButtonV2 aria-label={t('myNdla.more')} colorTheme="light" variant="ghost">
55
- <HorizontalMenu />
56
- </IconButtonV2>
57
- }
58
- >
59
- {(close) => (
60
- <>
61
- <ModalHeader>
62
- <h1>{t('myNdla.settings')}</h1>
63
- <ModalCloseButton onClick={close} />
64
- </ModalHeader>
65
- <StyledModalBody>
66
- {children?.(close)}
67
- {!!menuItems?.length && (
68
- <StyledUl>
69
- {menuItems.map((item, i) => (
70
- <StyledLi key={i}>
71
- <ButtonV2
72
- fontWeight="normal"
73
- variant="ghost"
74
- colorTheme={item.type}
75
- onClick={(e) => {
76
- close();
77
- item.onClick(e);
78
- }}
79
- >
80
- {item.icon}
81
- {item.text}
82
- </ButtonV2>
83
- </StyledLi>
84
- ))}
85
- </StyledUl>
86
- )}
87
- </StyledModalBody>
88
- </>
89
- )}
90
- </StyledDrawer>
91
- );
92
- }
93
- return <MenuButton align="end" size="small" menuItems={menuItems} />;
94
- };
95
-
96
- export default SettingsMenu;