@ndla/ui 37.1.4 → 38.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 (106) hide show
  1. package/es/Article/Article.js +2 -2
  2. package/es/Article/ArticleHeaderWrapper.js +4 -7
  3. package/es/Article/ArticleNotions.js +16 -17
  4. package/es/Article/ArticleSideBar.js +4 -5
  5. package/es/AudioPlayer/Controls.js +173 -235
  6. package/es/CompetenceGoals/CompetenceGoalsDialog.js +12 -25
  7. package/es/Filter/FilterButtons.js +12 -14
  8. package/es/Filter/FilterListPhone.js +2 -4
  9. package/es/Footer/index.js +1 -2
  10. package/es/LearningPaths/LearningPathMenuModalWrapper.js +10 -6
  11. package/es/Masthead/MastheadSearchModal.js +56 -47
  12. package/es/MyNdla/SettingsMenu.js +6 -6
  13. package/es/NDLAFilm/AboutNdlaFilm.js +3 -3
  14. package/es/ResourcesWrapper/ResourcesTopicTitle.js +19 -23
  15. package/es/SearchTypeResult/PopupFilter.js +14 -20
  16. package/es/SearchTypeResult/components/ItemContexts.js +10 -21
  17. package/es/Topic/Topic.js +23 -23
  18. package/es/User/index.js +1 -3
  19. package/es/index.js +1 -3
  20. package/es/locale/messages-en.js +1 -0
  21. package/es/locale/messages-nb.js +1 -0
  22. package/es/locale/messages-nn.js +1 -0
  23. package/es/locale/messages-se.js +1 -0
  24. package/es/locale/messages-sma.js +1 -0
  25. package/lib/Article/Article.d.ts +2 -2
  26. package/lib/Article/Article.js +2 -2
  27. package/lib/Article/ArticleHeaderWrapper.d.ts +3 -2
  28. package/lib/Article/ArticleHeaderWrapper.js +4 -7
  29. package/lib/Article/ArticleNotions.js +17 -21
  30. package/lib/Article/ArticleSideBar.js +5 -9
  31. package/lib/AudioPlayer/Controls.d.ts +2 -2
  32. package/lib/AudioPlayer/Controls.js +173 -235
  33. package/lib/CompetenceGoals/CompetenceGoalsDialog.d.ts +3 -14
  34. package/lib/CompetenceGoals/CompetenceGoalsDialog.js +11 -26
  35. package/lib/Filter/FilterButtons.js +13 -15
  36. package/lib/Filter/FilterListPhone.js +3 -5
  37. package/lib/Footer/index.d.ts +1 -2
  38. package/lib/Footer/index.js +0 -7
  39. package/lib/LearningPaths/LearningPathMenuModalWrapper.js +9 -8
  40. package/lib/Masthead/MastheadSearchModal.d.ts +1 -1
  41. package/lib/Masthead/MastheadSearchModal.js +58 -46
  42. package/lib/MyNdla/SettingsMenu.js +5 -5
  43. package/lib/NDLAFilm/AboutNdlaFilm.js +2 -2
  44. package/lib/ResourcesWrapper/ResourcesTopicTitle.js +20 -27
  45. package/lib/SearchTypeResult/PopupFilter.js +14 -20
  46. package/lib/SearchTypeResult/components/ItemContexts.js +10 -21
  47. package/lib/Topic/Topic.js +22 -22
  48. package/lib/User/index.d.ts +0 -2
  49. package/lib/User/index.js +1 -13
  50. package/lib/index.d.ts +1 -3
  51. package/lib/index.js +1 -20
  52. package/lib/locale/messages-en.d.ts +1 -0
  53. package/lib/locale/messages-en.js +1 -0
  54. package/lib/locale/messages-nb.d.ts +1 -0
  55. package/lib/locale/messages-nb.js +1 -0
  56. package/lib/locale/messages-nn.d.ts +1 -0
  57. package/lib/locale/messages-nn.js +1 -0
  58. package/lib/locale/messages-se.d.ts +1 -0
  59. package/lib/locale/messages-se.js +1 -0
  60. package/lib/locale/messages-sma.d.ts +1 -0
  61. package/lib/locale/messages-sma.js +1 -0
  62. package/package.json +16 -18
  63. package/src/Article/Article.tsx +4 -4
  64. package/src/Article/ArticleHeaderWrapper.tsx +12 -18
  65. package/src/Article/ArticleNotions.tsx +7 -8
  66. package/src/Article/ArticleSideBar.tsx +3 -3
  67. package/src/AudioPlayer/Controls.tsx +145 -287
  68. package/src/CompetenceGoals/CompetenceGoalsDialog.tsx +13 -38
  69. package/src/Filter/FilterButtons.tsx +4 -5
  70. package/src/Filter/FilterListPhone.tsx +3 -4
  71. package/src/Footer/index.ts +1 -2
  72. package/src/LearningPaths/LearningPathMenuModalWrapper.tsx +10 -6
  73. package/src/Masthead/MastheadSearchModal.tsx +48 -74
  74. package/src/MyNdla/SettingsMenu.tsx +3 -3
  75. package/src/NDLAFilm/AboutNdlaFilm.tsx +3 -3
  76. package/src/ResourcesWrapper/ResourcesTopicTitle.tsx +4 -8
  77. package/src/SearchTypeResult/PopupFilter.tsx +6 -11
  78. package/src/SearchTypeResult/components/ItemContexts.tsx +4 -21
  79. package/src/Topic/Topic.tsx +7 -7
  80. package/src/User/index.ts +0 -2
  81. package/src/index.ts +1 -3
  82. package/src/locale/messages-en.ts +1 -0
  83. package/src/locale/messages-nb.ts +1 -0
  84. package/src/locale/messages-nn.ts +1 -0
  85. package/src/locale/messages-se.ts +1 -0
  86. package/src/locale/messages-sma.ts +1 -0
  87. package/es/Figure/FigureLicenseDialogContent.js +0 -75
  88. package/es/Footer/FooterAuth.js +0 -110
  89. package/es/Masthead/MastheadAuthModal.js +0 -50
  90. package/es/SearchTypeResult/SearchNotionItem.js +0 -208
  91. package/es/User/AuthModal.js +0 -116
  92. package/lib/Figure/FigureLicenseDialogContent.d.ts +0 -22
  93. package/lib/Figure/FigureLicenseDialogContent.js +0 -80
  94. package/lib/Footer/FooterAuth.d.ts +0 -10
  95. package/lib/Footer/FooterAuth.js +0 -114
  96. package/lib/Masthead/MastheadAuthModal.d.ts +0 -13
  97. package/lib/Masthead/MastheadAuthModal.js +0 -56
  98. package/lib/SearchTypeResult/SearchNotionItem.d.ts +0 -29
  99. package/lib/SearchTypeResult/SearchNotionItem.js +0 -215
  100. package/lib/User/AuthModal.d.ts +0 -22
  101. package/lib/User/AuthModal.js +0 -124
  102. package/src/Figure/FigureLicenseDialogContent.tsx +0 -80
  103. package/src/Footer/FooterAuth.tsx +0 -104
  104. package/src/Masthead/MastheadAuthModal.tsx +0 -62
  105. package/src/SearchTypeResult/SearchNotionItem.tsx +0 -228
  106. package/src/User/AuthModal.tsx +0 -123
@@ -5,9 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  */
8
- import AuthModal from './AuthModal';
9
8
  import { UserInfo } from './UserInfo';
10
9
  import type { AffiliationType, FeideGoGroup, FeideGroup, FeideOrg, FeideUserApiType, FeideMembershipType, FeideUser } from './apiTypes';
11
10
  export { UserInfo };
12
11
  export type { AffiliationType, FeideGoGroup, FeideGroup, FeideOrg, FeideUserApiType, FeideMembershipType, FeideUser };
13
- export default AuthModal;
package/lib/User/index.js CHANGED
@@ -9,16 +9,4 @@ Object.defineProperty(exports, "UserInfo", {
9
9
  return _UserInfo.UserInfo;
10
10
  }
11
11
  });
12
- exports["default"] = void 0;
13
- var _AuthModal = _interopRequireDefault(require("./AuthModal"));
14
- var _UserInfo = require("./UserInfo");
15
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
16
- /**
17
- * Copyright (c) 2021-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 _default = _AuthModal["default"];
24
- exports["default"] = _default;
12
+ var _UserInfo = require("./UserInfo");
package/lib/index.d.ts CHANGED
@@ -30,7 +30,7 @@ export type { ImageCrop, ImageFocalPoint } from './Image';
30
30
  export type { HeroContentType } from './Hero';
31
31
  export { SubjectMaterialHero, TasksAndActivitiesHero, AssessmentResourcesHero, SubjectHero, ExternalLearningResourcesHero, SourceMaterialHero, Hero, NdlaFilmHero, } from './Hero';
32
32
  export { FilterList, FilterListPhone, FilterButtons, ToggleItem } from './Filter';
33
- export { Footer, EditorName, FooterText, FooterAuth } from './Footer';
33
+ export { Footer, EditorName, FooterText } from './Footer';
34
34
  export { Figure, FigureCaption, FigureLicenseDialog, FigureExpandButton, FigureOpenDialogButton, FigureBylineExpandButton, } from './Figure';
35
35
  export type { FigureType } from './Figure';
36
36
  export { LanguageSelector } from './LanguageSelector';
@@ -40,9 +40,7 @@ export { default as SearchResultSleeve } from './Search/SearchResultSleeve';
40
40
  export { default as ContentTypeResult } from './Search/ContentTypeResult';
41
41
  export { SearchFieldForm } from './Search/SearchFieldForm';
42
42
  export { default as MastheadSearchModal } from './Masthead/MastheadSearchModal';
43
- export { default as MastheadAuthModal } from './Masthead/MastheadAuthModal';
44
43
  export { UserInfo } from './User';
45
- export { default as AuthModal } from './User';
46
44
  export type { AffiliationType, FeideGoGroup, FeideGroup, FeideOrg, FeideUserApiType, FeideMembershipType, FeideUser, } from './User';
47
45
  export { default as resourceTypeColor } from './utils/resourceTypeColor';
48
46
  export { default as CreatedBy } from './CreatedBy';
package/lib/index.js CHANGED
@@ -112,12 +112,6 @@ Object.defineProperty(exports, "AudioPlayer", {
112
112
  return _AudioPlayer["default"];
113
113
  }
114
114
  });
115
- Object.defineProperty(exports, "AuthModal", {
116
- enumerable: true,
117
- get: function get() {
118
- return _User["default"];
119
- }
120
- });
121
115
  Object.defineProperty(exports, "AuthorInfo", {
122
116
  enumerable: true,
123
117
  get: function get() {
@@ -466,12 +460,6 @@ Object.defineProperty(exports, "Footer", {
466
460
  return _Footer.Footer;
467
461
  }
468
462
  });
469
- Object.defineProperty(exports, "FooterAuth", {
470
- enumerable: true,
471
- get: function get() {
472
- return _Footer.FooterAuth;
473
- }
474
- });
475
463
  Object.defineProperty(exports, "FooterText", {
476
464
  enumerable: true,
477
465
  get: function get() {
@@ -712,12 +700,6 @@ Object.defineProperty(exports, "Masthead", {
712
700
  return _Masthead["default"];
713
701
  }
714
702
  });
715
- Object.defineProperty(exports, "MastheadAuthModal", {
716
- enumerable: true,
717
- get: function get() {
718
- return _MastheadAuthModal["default"];
719
- }
720
- });
721
703
  Object.defineProperty(exports, "MastheadItem", {
722
704
  enumerable: true,
723
705
  get: function get() {
@@ -1338,8 +1320,7 @@ var _SearchResultSleeve = _interopRequireDefault(require("./Search/SearchResultS
1338
1320
  var _ContentTypeResult = _interopRequireDefault(require("./Search/ContentTypeResult"));
1339
1321
  var _SearchFieldForm = require("./Search/SearchFieldForm");
1340
1322
  var _MastheadSearchModal = _interopRequireDefault(require("./Masthead/MastheadSearchModal"));
1341
- var _MastheadAuthModal = _interopRequireDefault(require("./Masthead/MastheadAuthModal"));
1342
- var _User = _interopRequireWildcard(require("./User"));
1323
+ var _User = require("./User");
1343
1324
  var _resourceTypeColor = _interopRequireDefault(require("./utils/resourceTypeColor"));
1344
1325
  var _CreatedBy = _interopRequireDefault(require("./CreatedBy"));
1345
1326
  var _Breadcrumblist = _interopRequireDefault(require("./Breadcrumblist"));
@@ -1230,6 +1230,7 @@ declare const messages: {
1230
1230
  };
1231
1231
  audio: {
1232
1232
  play: string;
1233
+ pause: string;
1233
1234
  download: string;
1234
1235
  reuse: string;
1235
1236
  error: {
@@ -959,6 +959,7 @@ var messages = _objectSpread(_objectSpread({
959
959
  },
960
960
  audio: {
961
961
  play: 'Play',
962
+ pause: 'Pause',
962
963
  download: 'Download audio',
963
964
  reuse: 'Use audio',
964
965
  error: {
@@ -1230,6 +1230,7 @@ declare const messages: {
1230
1230
  };
1231
1231
  audio: {
1232
1232
  play: string;
1233
+ pause: string;
1233
1234
  download: string;
1234
1235
  reuse: string;
1235
1236
  error: {
@@ -959,6 +959,7 @@ var messages = _objectSpread(_objectSpread({
959
959
  },
960
960
  audio: {
961
961
  play: 'Spill av',
962
+ pause: 'Pause',
962
963
  download: 'Last ned lydfil',
963
964
  reuse: 'Bruk lydfil',
964
965
  error: {
@@ -1230,6 +1230,7 @@ declare const messages: {
1230
1230
  };
1231
1231
  audio: {
1232
1232
  play: string;
1233
+ pause: string;
1233
1234
  download: string;
1234
1235
  reuse: string;
1235
1236
  error: {
@@ -959,6 +959,7 @@ var messages = _objectSpread(_objectSpread({
959
959
  },
960
960
  audio: {
961
961
  play: 'Spill av',
962
+ pause: 'Pause',
962
963
  download: 'Last ned lydfil',
963
964
  reuse: 'Bruk lydfil',
964
965
  error: {
@@ -1230,6 +1230,7 @@ declare const messages: {
1230
1230
  };
1231
1231
  audio: {
1232
1232
  play: string;
1233
+ pause: string;
1233
1234
  download: string;
1234
1235
  reuse: string;
1235
1236
  error: {
@@ -959,6 +959,7 @@ var messages = _objectSpread(_objectSpread({
959
959
  },
960
960
  audio: {
961
961
  play: 'Spill av',
962
+ pause: 'Pause',
962
963
  download: 'Viečča jietnafiilla',
963
964
  reuse: 'Geavat jietnafiilla',
964
965
  error: {
@@ -1230,6 +1230,7 @@ declare const messages: {
1230
1230
  };
1231
1231
  audio: {
1232
1232
  play: string;
1233
+ pause: string;
1233
1234
  download: string;
1234
1235
  reuse: string;
1235
1236
  error: {
@@ -959,6 +959,7 @@ var messages = _objectSpread(_objectSpread({
959
959
  },
960
960
  audio: {
961
961
  play: 'Spill av',
962
+ pause: 'Pause',
962
963
  download: 'Veedtjh tjoeje-fijlem',
963
964
  reuse: 'Nuhtjh tjoeje-fijlem',
964
965
  error: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ndla/ui",
3
- "version": "37.1.4",
3
+ "version": "38.0.0",
4
4
  "description": "UI component library for NDLA.",
5
5
  "license": "GPL-3.0",
6
6
  "main": "lib/index.js",
@@ -31,27 +31,25 @@
31
31
  "types"
32
32
  ],
33
33
  "dependencies": {
34
- "@headlessui/react": "^1.7.14",
35
- "@ndla/accordion": "^2.2.3",
34
+ "@ndla/accordion": "^2.2.4",
36
35
  "@ndla/article-scripts": "^3.0.17",
37
- "@ndla/button": "^10.1.2",
38
- "@ndla/carousel": "^3.1.0",
36
+ "@ndla/button": "^10.1.3",
37
+ "@ndla/carousel": "^3.1.1",
39
38
  "@ndla/core": "^4.0.0",
40
- "@ndla/forms": "^4.3.2",
39
+ "@ndla/forms": "^4.3.3",
41
40
  "@ndla/hooks": "^2.0.6",
42
- "@ndla/icons": "^2.3.0",
41
+ "@ndla/icons": "^2.3.1",
43
42
  "@ndla/licenses": "^7.0.4",
44
- "@ndla/modal": "^2.3.0",
45
- "@ndla/notion": "^4.3.2",
46
- "@ndla/safelink": "^4.1.2",
47
- "@ndla/switch": "^1.1.0",
48
- "@ndla/tabs": "^2.2.2",
49
- "@ndla/tooltip": "^4.1.2",
43
+ "@ndla/modal": "^3.0.0",
44
+ "@ndla/notion": "^5.0.0",
45
+ "@ndla/safelink": "^4.1.3",
46
+ "@ndla/switch": "^1.1.1",
47
+ "@ndla/tabs": "^2.2.3",
48
+ "@ndla/tooltip": "^4.1.3",
50
49
  "@ndla/util": "^3.1.12",
51
- "@radix-ui/react-dropdown-menu": "2.0.2",
52
- "@radix-ui/react-popover": "^1.0.3",
53
- "@reach/menu-button": "^0.16.2",
54
- "@reach/slider": "^0.16.0",
50
+ "@radix-ui/react-dropdown-menu": "^2.0.5",
51
+ "@radix-ui/react-popover": "^1.0.6",
52
+ "@radix-ui/react-slider": "^1.1.2",
55
53
  "focus-trap-react": "^8.9.2",
56
54
  "framer-motion": "^6.5.1",
57
55
  "html-react-parser": "^3.0.8",
@@ -87,5 +85,5 @@
87
85
  "publishConfig": {
88
86
  "access": "public"
89
87
  },
90
- "gitHead": "77675e3df78c7dd48d9790cdd1adfceab56e355e"
88
+ "gitHead": "17e9e7b2a44faba832374a1175c8a02b962d8501"
91
89
  }
@@ -124,10 +124,10 @@ type Props = {
124
124
  contentTransformed?: boolean;
125
125
  locale: Locale;
126
126
  messageBoxLinks?: [];
127
- competenceGoals?:
128
- | ((inp: { Dialog: ComponentType; dialogProps: { isOpen: boolean; onClose: () => void } }) => ReactNode)
129
- | ReactNode
130
- | null;
127
+ competenceGoals?: (inp: {
128
+ Dialog: ComponentType;
129
+ dialogProps: { isOpen: boolean; onClose: () => void };
130
+ }) => ReactNode;
131
131
  id: string;
132
132
  renderMarkdown: (text: string) => string;
133
133
  notions?: { list: ConceptNotionType[]; related: NotionRelatedContent[] };
@@ -26,10 +26,10 @@ const CompetenceBadgeText = styled.span`
26
26
  `;
27
27
 
28
28
  type Props = {
29
- competenceGoals?:
30
- | ((inp: { Dialog: ComponentType; dialogProps: { isOpen: boolean; onClose: () => void } }) => ReactNode)
31
- | ReactNode
32
- | null;
29
+ competenceGoals?: (inp: {
30
+ Dialog: ComponentType;
31
+ dialogProps: { isOpen: boolean; onClose: () => void; controlled: true };
32
+ }) => ReactNode;
33
33
  competenceGoalsLoading?: boolean;
34
34
  children: ReactNode;
35
35
  };
@@ -60,20 +60,14 @@ const ArticleHeaderWrapper = ({ children, competenceGoals, competenceGoalsLoadin
60
60
  return <div {...classes('header')}>{children}</div>;
61
61
  }
62
62
 
63
- const dialog =
64
- typeof competenceGoals === 'function' ? (
65
- competenceGoals({
66
- Dialog: CompetenceGoalsDialog,
67
- dialogProps: {
68
- isOpen: isOpen,
69
- onClose: closeDialog,
70
- },
71
- })
72
- ) : (
73
- <CompetenceGoalsDialog onClose={closeDialog} isOpen={isOpen}>
74
- {competenceGoals}
75
- </CompetenceGoalsDialog>
76
- );
63
+ const dialog = competenceGoals({
64
+ Dialog: CompetenceGoalsDialog,
65
+ dialogProps: {
66
+ isOpen: isOpen,
67
+ onClose: closeDialog,
68
+ controlled: true,
69
+ },
70
+ });
77
71
  return (
78
72
  <div {...classes('header')}>
79
73
  {children}
@@ -9,7 +9,7 @@
9
9
  import React from 'react';
10
10
  import styled from '@emotion/styled';
11
11
  import { useTranslation } from 'react-i18next';
12
- import Modal, { ModalHeader, ModalCloseButton, ModalBody } from '@ndla/modal';
12
+ import { ModalHeader, ModalCloseButton, ModalBody, Modal, ModalTitle } from '@ndla/modal';
13
13
  import { mq, breakpoints, fonts, colors } from '@ndla/core';
14
14
  import { Explanation, NotionFlip } from '@ndla/icons/common';
15
15
  import { ConceptNotion } from '../Notion';
@@ -170,7 +170,7 @@ export const ArticleNotions = ({ notions, relatedContent = [], buttonOffsetRight
170
170
  return (
171
171
  <ArticleNotionsContainer>
172
172
  <Modal
173
- labelledBy={headingId}
173
+ aria-labelledby={headingId}
174
174
  activateButton={
175
175
  <NotionsTrigger role="button" aria-label={t('article.notionsPrompt')} style={{ left: leftOffset }}>
176
176
  <NotionFlip />
@@ -179,18 +179,17 @@ export const ArticleNotions = ({ notions, relatedContent = [], buttonOffsetRight
179
179
  </NotionsTrigger>
180
180
  }
181
181
  size="large"
182
- backgroundColor="white"
183
182
  >
184
183
  {(onClose: () => void) => (
185
184
  <div>
186
- <ModalHeader modifier="notions-modal-header no-padding">
187
- <ModalCloseButton onClick={onClose} title="Lukk" />
188
- </ModalHeader>
189
- <ModalBody modifier="notions-modal-body no-padding">
185
+ <ModalHeader className="no-padding">
190
186
  <ModalHeadingContainer>
191
187
  <Explanation />
192
- <h1>{t('article.notionsPrompt')}</h1>
188
+ <ModalTitle>{t('article.notionsPrompt')}</ModalTitle>
193
189
  </ModalHeadingContainer>
190
+ <ModalCloseButton onClick={onClose} title="Lukk" />
191
+ </ModalHeader>
192
+ <ModalBody modifier="notions-modal-body no-padding">
194
193
  <NotionsContainer>
195
194
  {notions.map((notion) => (
196
195
  <ConceptNotion key={notion.id} concept={notion} type={type} />
@@ -1,7 +1,7 @@
1
1
  import React, { ReactNode } from 'react';
2
2
  import { CopyButton, ButtonV2 } from '@ndla/button';
3
3
  import styled from '@emotion/styled';
4
- import Modal, { ModalHeader, ModalBody, ModalCloseButton } from '@ndla/modal';
4
+ import { ModalHeader, ModalBody, ModalCloseButton, Modal } from '@ndla/modal';
5
5
  import { copyTextToClipboard } from '@ndla/util';
6
6
  import { useTranslation } from 'react-i18next';
7
7
 
@@ -54,11 +54,11 @@ const ArticleSideBar = ({ copyPageUrlLink, licenseBox }: Props) => {
54
54
  {t('article.useContent')}
55
55
  </ButtonV2>
56
56
  }
57
- size="medium"
57
+ size="normal"
58
58
  >
59
59
  {(onClose: () => void) => (
60
60
  <>
61
- <ModalHeader modifier="no-bottom-padding">
61
+ <ModalHeader>
62
62
  <ModalCloseButton onClick={onClose} title={t('article.closeLabel')} />
63
63
  </ModalHeader>
64
64
  <ModalBody>{licenseBox}</ModalBody>