@ndla/ui 42.1.2 → 43.0.1

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 (121) hide show
  1. package/es/Article/ArticleNotions.js +46 -53
  2. package/es/AudioPlayer/Controls.js +41 -39
  3. package/es/Breadcrumb/index.js +0 -1
  4. package/es/Filter/FilterButtons.js +49 -53
  5. package/es/Filter/FilterListPhone.js +78 -71
  6. package/es/LanguageSelector/LanguageSelector.js +31 -36
  7. package/es/LearningPaths/LearningPathMenuModalWrapper.js +39 -28
  8. package/es/Masthead/MastheadSearchModal.js +31 -35
  9. package/es/MyNdla/Resource/Folder.js +10 -16
  10. package/es/MyNdla/index.js +1 -3
  11. package/es/NDLAFilm/AboutNdlaFilm.js +16 -20
  12. package/es/NDLAFilm/FilmMovieSearch.js +43 -11
  13. package/es/Resource/BlockResource.js +8 -11
  14. package/es/Resource/ListResource.js +8 -11
  15. package/es/Resource/resourceComponents.js +46 -35
  16. package/es/ResourcesWrapper/ResourcesTopicTitle.js +36 -44
  17. package/es/Search/ToggleSearchButton.js +7 -6
  18. package/es/SearchTypeResult/PopupFilter.js +55 -69
  19. package/es/SearchTypeResult/SearchNotionsResult.js +9 -7
  20. package/es/SearchTypeResult/components/ItemContexts.js +41 -45
  21. package/es/SearchTypeResult/components/SubjectFilters.js +16 -17
  22. package/es/Topic/Topic.js +41 -45
  23. package/es/TreeStructure/FolderItem.js +7 -11
  24. package/es/index.js +2 -2
  25. package/es/locale/messages-en.js +1 -0
  26. package/es/locale/messages-nb.js +1 -0
  27. package/es/locale/messages-nn.js +1 -0
  28. package/es/locale/messages-se.js +1 -0
  29. package/es/locale/messages-sma.js +1 -0
  30. package/lib/Article/ArticleNotions.js +45 -52
  31. package/lib/AudioPlayer/Controls.js +40 -38
  32. package/lib/Breadcrumb/index.d.ts +0 -1
  33. package/lib/Breadcrumb/index.js +0 -7
  34. package/lib/Filter/FilterButtons.js +48 -52
  35. package/lib/Filter/FilterListPhone.js +76 -69
  36. package/lib/LanguageSelector/LanguageSelector.js +31 -36
  37. package/lib/LearningPaths/LearningPathMenuModalWrapper.js +47 -35
  38. package/lib/Masthead/MastheadSearchModal.js +29 -32
  39. package/lib/MyNdla/Resource/Folder.d.ts +3 -4
  40. package/lib/MyNdla/Resource/Folder.js +10 -16
  41. package/lib/MyNdla/index.d.ts +1 -3
  42. package/lib/MyNdla/index.js +0 -14
  43. package/lib/NDLAFilm/AboutNdlaFilm.js +15 -18
  44. package/lib/NDLAFilm/FilmMovieSearch.d.ts +1 -2
  45. package/lib/NDLAFilm/FilmMovieSearch.js +46 -11
  46. package/lib/Resource/BlockResource.d.ts +3 -3
  47. package/lib/Resource/BlockResource.js +8 -11
  48. package/lib/Resource/ListResource.d.ts +3 -3
  49. package/lib/Resource/ListResource.js +8 -11
  50. package/lib/Resource/resourceComponents.js +45 -34
  51. package/lib/ResourcesWrapper/ResourcesTopicTitle.js +35 -42
  52. package/lib/Search/ToggleSearchButton.d.ts +2 -1
  53. package/lib/Search/ToggleSearchButton.js +9 -6
  54. package/lib/SearchTypeResult/PopupFilter.d.ts +1 -3
  55. package/lib/SearchTypeResult/PopupFilter.js +54 -68
  56. package/lib/SearchTypeResult/SearchNotionsResult.js +9 -7
  57. package/lib/SearchTypeResult/components/ItemContexts.js +40 -44
  58. package/lib/SearchTypeResult/components/SubjectFilters.js +16 -17
  59. package/lib/Topic/Topic.js +40 -44
  60. package/lib/TreeStructure/FolderItem.js +7 -11
  61. package/lib/index.d.ts +2 -2
  62. package/lib/index.js +0 -12
  63. package/lib/locale/messages-en.d.ts +1 -0
  64. package/lib/locale/messages-en.js +1 -0
  65. package/lib/locale/messages-nb.d.ts +1 -0
  66. package/lib/locale/messages-nb.js +1 -0
  67. package/lib/locale/messages-nn.d.ts +1 -0
  68. package/lib/locale/messages-nn.js +1 -0
  69. package/lib/locale/messages-se.d.ts +1 -0
  70. package/lib/locale/messages-se.js +1 -0
  71. package/lib/locale/messages-sma.d.ts +1 -0
  72. package/lib/locale/messages-sma.js +1 -0
  73. package/package.json +11 -12
  74. package/src/Article/ArticleNotions.tsx +29 -35
  75. package/src/AudioPlayer/Controls.tsx +22 -26
  76. package/src/Breadcrumb/index.ts +0 -2
  77. package/src/Filter/FilterButtons.tsx +28 -34
  78. package/src/Filter/FilterListPhone.tsx +63 -62
  79. package/src/LanguageSelector/LanguageSelector.tsx +26 -32
  80. package/src/LearningPaths/LearningPathMenuModalWrapper.tsx +19 -18
  81. package/src/Masthead/MastheadSearchModal.tsx +21 -29
  82. package/src/MyNdla/Resource/Folder.stories.tsx +27 -5
  83. package/src/MyNdla/Resource/Folder.tsx +4 -19
  84. package/src/MyNdla/index.ts +1 -3
  85. package/src/NDLAFilm/AboutNdlaFilm.tsx +11 -10
  86. package/src/NDLAFilm/FilmMovieSearch.tsx +32 -9
  87. package/src/Resource/BlockResource.stories.tsx +1 -1
  88. package/src/Resource/BlockResource.tsx +4 -6
  89. package/src/Resource/ListResource.tsx +4 -6
  90. package/src/Resource/Resource.stories.tsx +32 -2
  91. package/src/Resource/resourceComponents.tsx +34 -24
  92. package/src/ResourcesWrapper/ResourcesTopicTitle.tsx +23 -27
  93. package/src/Search/ToggleSearchButton.tsx +15 -12
  94. package/src/SearchTypeResult/PopupFilter.tsx +55 -70
  95. package/src/SearchTypeResult/SearchNotionsResult.tsx +5 -2
  96. package/src/SearchTypeResult/components/ItemContexts.tsx +23 -28
  97. package/src/SearchTypeResult/components/SubjectFilters.tsx +9 -12
  98. package/src/Topic/Topic.tsx +15 -17
  99. package/src/TreeStructure/FolderItem.tsx +2 -4
  100. package/src/index.ts +2 -2
  101. package/src/locale/messages-en.ts +1 -0
  102. package/src/locale/messages-nb.ts +1 -0
  103. package/src/locale/messages-nn.ts +1 -0
  104. package/src/locale/messages-se.ts +1 -0
  105. package/src/locale/messages-sma.ts +1 -0
  106. package/es/Breadcrumb/ActionBreadcrumb.js +0 -74
  107. package/es/MyNdla/Resource/FolderMenu.js +0 -74
  108. package/es/MyNdla/SettingsMenu.js +0 -98
  109. package/es/NDLAFilm/CategorySelect.js +0 -135
  110. package/lib/Breadcrumb/ActionBreadcrumb.d.ts +0 -15
  111. package/lib/Breadcrumb/ActionBreadcrumb.js +0 -82
  112. package/lib/MyNdla/Resource/FolderMenu.d.ts +0 -16
  113. package/lib/MyNdla/Resource/FolderMenu.js +0 -81
  114. package/lib/MyNdla/SettingsMenu.d.ts +0 -15
  115. package/lib/MyNdla/SettingsMenu.js +0 -102
  116. package/lib/NDLAFilm/CategorySelect.d.ts +0 -16
  117. package/lib/NDLAFilm/CategorySelect.js +0 -144
  118. package/src/Breadcrumb/ActionBreadcrumb.tsx +0 -87
  119. package/src/MyNdla/Resource/FolderMenu.tsx +0 -102
  120. package/src/MyNdla/SettingsMenu.tsx +0 -96
  121. package/src/NDLAFilm/CategorySelect.tsx +0 -197
@@ -8,7 +8,7 @@
8
8
 
9
9
  import React, { useState } from 'react';
10
10
  import styled from '@emotion/styled';
11
- import { ModalCloseButton, ModalBody, Modal, ModalTitle } from '@ndla/modal';
11
+ import { ModalCloseButton, ModalBody, ModalTitle, ModalContent } from '@ndla/modal';
12
12
  import { breakpoints, mq, spacing } from '@ndla/core';
13
13
  import { ButtonV2 } from '@ndla/button';
14
14
  import { useTranslation } from 'react-i18next';
@@ -27,7 +27,7 @@ const ModalHeaderWrapper = styled.div`
27
27
  margin-bottom: ${spacing.normal};
28
28
  `;
29
29
 
30
- const ModalContent = styled.div`
30
+ const Content = styled.div`
31
31
  max-width: 1040px;
32
32
  flex-grow: 1;
33
33
  `;
@@ -69,10 +69,8 @@ export type PopupFilterProps = {
69
69
  subjectCategories?: { categories: subjectsProps['categories'] };
70
70
  subjectValues: string[];
71
71
  programmesValues: string[];
72
- onClose: () => void;
73
72
  onToggleSubject: (value: string) => void;
74
73
  onToggleProgramme: (value: string) => void;
75
- isOpen: boolean;
76
74
  };
77
75
 
78
76
  const PopupFilter = ({
@@ -82,82 +80,69 @@ const PopupFilter = ({
82
80
  programmesValues,
83
81
  onToggleSubject,
84
82
  onToggleProgramme,
85
- onClose,
86
- isOpen,
87
83
  }: PopupFilterProps) => {
88
84
  const { t } = useTranslation();
89
85
  const [selectedMenu, setSelectedMenu] = useState(MENU_ALL_SUBJECTS);
90
- const headingId = 'popupFilterHeading';
91
86
 
92
87
  return (
93
- <Modal
94
- aria-labelledby={headingId}
95
- controlled
96
- animation="subtle"
97
- animationDuration={50}
98
- onClose={onClose}
99
- isOpen={isOpen}
100
- size="full"
101
- >
102
- {() => (
103
- <ModalBody>
104
- <ModalWrapper>
105
- <ModalContent>
106
- <ModalHeaderWrapper>
107
- <ModalTitle>{t('searchPage.searchFilterMessages.filterLabel')}</ModalTitle>
108
- <ModalCloseButton onClick={() => onClose()} title={t('searchPage.close')} />
109
- </ModalHeaderWrapper>
110
- {subjectCategories && programmes && (
111
- <MainFilterButtonWrapper>
112
- <ButtonV2
113
- onClick={() => setSelectedMenu(MENU_ALL_SUBJECTS)}
114
- colorTheme={selectedMenu !== MENU_ALL_SUBJECTS ? 'lighter' : undefined}
115
- size="normal"
116
- shape="pill"
117
- >
118
- {t('frontpageMenu.allsubjects')}
119
- </ButtonV2>
120
- </MainFilterButtonWrapper>
121
- )}
122
- {programmes && (
88
+ <ModalContent animation="subtle" animationDuration={50} size="full">
89
+ <ModalBody>
90
+ <ModalWrapper>
91
+ <Content>
92
+ <ModalHeaderWrapper>
93
+ <ModalTitle>{t('searchPage.searchFilterMessages.filterLabel')}</ModalTitle>
94
+ <ModalCloseButton />
95
+ </ModalHeaderWrapper>
96
+ {subjectCategories && programmes && (
97
+ <MainFilterButtonWrapper>
123
98
  <ButtonV2
124
- onClick={() => setSelectedMenu(MENU_PROGRAMMES)}
125
- colorTheme={selectedMenu !== MENU_PROGRAMMES ? 'lighter' : undefined}
99
+ onClick={() => setSelectedMenu(MENU_ALL_SUBJECTS)}
100
+ colorTheme={selectedMenu !== MENU_ALL_SUBJECTS ? 'lighter' : undefined}
126
101
  size="normal"
127
102
  shape="pill"
128
103
  >
129
- {t('frontpageMenu.program')}
104
+ {t('frontpageMenu.allsubjects')}
130
105
  </ButtonV2>
131
- )}
132
- {selectedMenu === MENU_ALL_SUBJECTS && subjectCategories && (
133
- <FrontpageAllSubjects
134
- categories={subjectCategories.categories}
135
- selectedSubjects={subjectValues}
136
- onToggleSubject={onToggleSubject}
137
- subjectViewType="checkbox"
138
- />
139
- )}
140
- {selectedMenu === MENU_PROGRAMMES && programmes && (
141
- <StyledList>
142
- {programmes.options.map((item: ProgrammeOptionProps) => (
143
- <StyledListItem key={item.id}>
144
- <ToggleItem
145
- id={item.id}
146
- value={item.id}
147
- checked={programmesValues.includes(item.id)}
148
- label={item.name}
149
- component="div"
150
- onChange={() => onToggleProgramme(item.id)}
151
- />
152
- </StyledListItem>
153
- ))}
154
- </StyledList>
155
- )}
156
- </ModalContent>
157
- </ModalWrapper>
158
- </ModalBody>
159
- )}
160
- </Modal>
106
+ </MainFilterButtonWrapper>
107
+ )}
108
+ {programmes && (
109
+ <ButtonV2
110
+ onClick={() => setSelectedMenu(MENU_PROGRAMMES)}
111
+ colorTheme={selectedMenu !== MENU_PROGRAMMES ? 'lighter' : undefined}
112
+ size="normal"
113
+ shape="pill"
114
+ >
115
+ {t('frontpageMenu.program')}
116
+ </ButtonV2>
117
+ )}
118
+ {selectedMenu === MENU_ALL_SUBJECTS && subjectCategories && (
119
+ <FrontpageAllSubjects
120
+ categories={subjectCategories.categories}
121
+ selectedSubjects={subjectValues}
122
+ onToggleSubject={onToggleSubject}
123
+ subjectViewType="checkbox"
124
+ />
125
+ )}
126
+ {selectedMenu === MENU_PROGRAMMES && programmes && (
127
+ <StyledList>
128
+ {programmes.options.map((item: ProgrammeOptionProps) => (
129
+ <StyledListItem key={item.id}>
130
+ <ToggleItem
131
+ id={item.id}
132
+ value={item.id}
133
+ checked={programmesValues.includes(item.id)}
134
+ label={item.name}
135
+ component="div"
136
+ onChange={() => onToggleProgramme(item.id)}
137
+ />
138
+ </StyledListItem>
139
+ ))}
140
+ </StyledList>
141
+ )}
142
+ </Content>
143
+ </ModalWrapper>
144
+ </ModalBody>
145
+ </ModalContent>
161
146
  );
162
147
  };
163
148
 
@@ -10,7 +10,8 @@ import React, { ReactNode } from 'react';
10
10
  import { useTranslation } from 'react-i18next';
11
11
  import styled from '@emotion/styled';
12
12
  import { fonts, mq, breakpoints, spacing, colors } from '@ndla/core';
13
- import { ModalCloseButton } from '@ndla/modal';
13
+ import { IconButtonV2 } from '@ndla/button';
14
+ import { Cross } from '@ndla/icons/action';
14
15
 
15
16
  const Wrapper = styled.div`
16
17
  display: flex;
@@ -67,7 +68,9 @@ const SearchNotionsResult = ({ totalCount, onRemove, children }: Props) => {
67
68
  {t(`searchPage.resultType.notionsHeading`)}
68
69
  <HeadingCount>{t(`searchPage.resultType.hits`, { count: totalCount })}</HeadingCount>
69
70
  </Heading>
70
- <ModalCloseButton onClick={onRemove} title={t(`searchPage.resultType.notionsRemove`)} />
71
+ <IconButtonV2 onClick={onRemove} aria-label={t(`searchPage.resultType.notionsRemove`)}>
72
+ <Cross />
73
+ </IconButtonV2>
71
74
  </HeadingWrapper>
72
75
  {children}
73
76
  </Wrapper>
@@ -12,7 +12,7 @@ import { Additional, Core } from '@ndla/icons/common';
12
12
  import styled from '@emotion/styled';
13
13
  import { breakpoints, colors, fonts, mq, spacing } from '@ndla/core';
14
14
  import { ButtonV2 } from '@ndla/button';
15
- import { Modal, ModalCloseButton, ModalHeader, ModalTitle } from '@ndla/modal';
15
+ import { Modal, ModalCloseButton, ModalContent, ModalHeader, ModalTitle, ModalTrigger } from '@ndla/modal';
16
16
  import { useTranslation } from 'react-i18next';
17
17
 
18
18
  const BreadcrumbPath = styled.div`
@@ -34,7 +34,7 @@ const ModalButton = styled(ButtonV2)`
34
34
  }
35
35
  `;
36
36
 
37
- const ModalContent = styled.div`
37
+ const Content = styled.div`
38
38
  padding: 0 ${spacing.small} ${spacing.normal};
39
39
  ${mq.range({ from: breakpoints.tablet })} {
40
40
  padding: 0 ${spacing.large} ${spacing.normal};
@@ -83,37 +83,32 @@ const ItemContexts = ({ contexts, id, title }: ItemContextsType) => {
83
83
  <Breadcrumb breadcrumb={mainContext.breadcrumb}>
84
84
  &nbsp;
85
85
  {contexts.length > 1 && (
86
- <Modal
87
- activateButton={
86
+ <Modal>
87
+ <ModalTrigger>
88
88
  <ModalButton variant="link">
89
89
  {t('searchPage.contextModal.button', {
90
90
  count: contexts.length - 1,
91
91
  })}
92
92
  </ModalButton>
93
- }
94
- animation="subtle"
95
- animationDuration={50}
96
- >
97
- {(onClose: () => void) => (
98
- <>
99
- <ModalHeader>
100
- <ModalTitle>{t('searchPage.contextModal.heading')}</ModalTitle>
101
- <ModalCloseButton onClick={onClose} title={t('searchPage.close')} />
102
- </ModalHeader>
103
- <ModalContent>
104
- <ContextList>
105
- {contexts.map((context) => (
106
- <ContextListItem key={context.url}>
107
- <SafeLink to={context.url}>{title}</SafeLink>
108
- <Breadcrumb breadcrumb={context.breadcrumb}>
109
- {context.isAdditional ? <Additional style={iconStyle} /> : <Core style={iconStyle} />}
110
- </Breadcrumb>
111
- </ContextListItem>
112
- ))}
113
- </ContextList>
114
- </ModalContent>
115
- </>
116
- )}
93
+ </ModalTrigger>
94
+ <ModalContent animation="subtle" animationDuration={50}>
95
+ <ModalHeader>
96
+ <ModalTitle>{t('searchPage.contextModal.heading')}</ModalTitle>
97
+ <ModalCloseButton />
98
+ </ModalHeader>
99
+ <Content>
100
+ <ContextList>
101
+ {contexts.map((context) => (
102
+ <ContextListItem key={context.url}>
103
+ <SafeLink to={context.url}>{title}</SafeLink>
104
+ <Breadcrumb breadcrumb={context.breadcrumb}>
105
+ {context.isAdditional ? <Additional style={iconStyle} /> : <Core style={iconStyle} />}
106
+ </Breadcrumb>
107
+ </ContextListItem>
108
+ ))}
109
+ </ContextList>
110
+ </Content>
111
+ </ModalContent>
117
112
  </Modal>
118
113
  )}
119
114
  </Breadcrumb>
@@ -12,6 +12,7 @@ import styled from '@emotion/styled';
12
12
  import { ButtonV2 } from '@ndla/button';
13
13
  import { Plus as PlusIcon } from '@ndla/icons/action';
14
14
 
15
+ import { Modal, ModalTrigger } from '@ndla/modal';
15
16
  import PopupFilter, { PopupFilterProps } from '../PopupFilter';
16
17
  import ActiveFilters from '../ActiveFilters';
17
18
  import { FilterProps } from '../ActiveFilterContent';
@@ -101,15 +102,13 @@ const SubjectFilters = ({ filters, activeFilters, isNarrowScreen }: SubjectFilte
101
102
  setIsOpen(true);
102
103
  };
103
104
 
104
- const handleModalClose = () => {
105
- setIsOpen(false);
106
- };
107
-
108
105
  const OpenModalButton = () => (
109
- <ButtonV2 type="button" size="normal" colorTheme="greyLighter" shape="pill" onClick={handlePopupOpen}>
110
- <FilterButtonText>{t('searchPage.searchFilterMessages.noValuesButtonText')}</FilterButtonText>
111
- <PlusIcon />
112
- </ButtonV2>
106
+ <ModalTrigger>
107
+ <ButtonV2 type="button" size="normal" colorTheme="greyLighter" shape="pill">
108
+ <FilterButtonText>{t('searchPage.searchFilterMessages.noValuesButtonText')}</FilterButtonText>
109
+ <PlusIcon />
110
+ </ButtonV2>
111
+ </ModalTrigger>
113
112
  );
114
113
 
115
114
  const ActiveFiltersElement = ({ showModalButton }: { showModalButton?: boolean }) => {
@@ -126,7 +125,7 @@ const SubjectFilters = ({ filters, activeFilters, isNarrowScreen }: SubjectFilte
126
125
  };
127
126
 
128
127
  return (
129
- <>
128
+ <Modal open={isOpen} onOpenChange={setIsOpen}>
130
129
  {isNarrowScreen ? (
131
130
  <ActiveFiltersElement showModalButton />
132
131
  ) : isNarrowScreen === false ? (
@@ -140,12 +139,10 @@ const SubjectFilters = ({ filters, activeFilters, isNarrowScreen }: SubjectFilte
140
139
  subjectCategories={subjectCategories}
141
140
  subjectValues={subjectValues}
142
141
  programmesValues={programmesValues}
143
- onClose={handleModalClose}
144
142
  onToggleSubject={onToggleSubject}
145
143
  onToggleProgramme={onToggleProgramme}
146
- isOpen={isOpen}
147
144
  />
148
- </>
145
+ </Modal>
149
146
  );
150
147
  };
151
148
 
@@ -12,7 +12,7 @@ import { animations, breakpoints, colors, fonts, mq, spacing } from '@ndla/core'
12
12
 
13
13
  import parse from 'html-react-parser';
14
14
  import { ChevronDown, ChevronUp, PlayCircleFilled } from '@ndla/icons/common';
15
- import { ModalCloseButton, Modal, ModalHeader } from '@ndla/modal';
15
+ import { ModalCloseButton, ModalContent, Modal, ModalHeader, ModalTrigger } from '@ndla/modal';
16
16
  import { ButtonV2 } from '@ndla/button';
17
17
  import { CursorClick, ExpandTwoArrows } from '@ndla/icons/action';
18
18
  import { css } from '@emotion/react';
@@ -275,9 +275,8 @@ const Topic = ({
275
275
  {topic.image && (
276
276
  <TopicHeaderVisualElementWrapper>
277
277
  {topic.visualElement ? (
278
- <Modal
279
- aria-label={t('topicPage.imageModal')}
280
- activateButton={
278
+ <Modal>
279
+ <ModalTrigger>
281
280
  <VisualElementButton
282
281
  variant="stripped"
283
282
  title={topic.visualElement.type === 'image' ? t('image.largeSize') : t('visualElement.show')}
@@ -291,19 +290,18 @@ const Topic = ({
291
290
  </ShowVisualElementWrapper>
292
291
  <ExpandVisualElementButton>{VisualElementIcon && <VisualElementIcon />}</ExpandVisualElementButton>
293
292
  </VisualElementButton>
294
- }
295
- animation="subtle"
296
- animationDuration={50}
297
- size="large"
298
- >
299
- {(onClose: () => void) => (
300
- <>
301
- <StyledModalHeader>
302
- <ModalCloseButton onClick={onClose} title={t('modal.closeModal')} />
303
- </StyledModalHeader>
304
- {topic.visualElement && topic.visualElement.element}
305
- </>
306
- )}
293
+ </ModalTrigger>
294
+ <ModalContent
295
+ aria-label={t('topicPage.imageModal')}
296
+ animation="subtle"
297
+ animationDuration={50}
298
+ size="large"
299
+ >
300
+ <StyledModalHeader>
301
+ <ModalCloseButton />
302
+ </StyledModalHeader>
303
+ {topic.visualElement && topic.visualElement.element}
304
+ </ModalContent>
307
305
  </Modal>
308
306
  ) : (
309
307
  <TopicHeaderImage
@@ -13,7 +13,7 @@ import { ArrowDropDownRounded } from '@ndla/icons/common';
13
13
  import { FolderOutlined, FolderShared } from '@ndla/icons/contentType';
14
14
  import { Done } from '@ndla/icons/editor';
15
15
  import { ButtonV2 as Button } from '@ndla/button';
16
- import { colors, spacing, animations, spacingUnit, misc, fonts } from '@ndla/core';
16
+ import { colors, spacing, animations, misc, fonts } from '@ndla/core';
17
17
  import SafeLink from '@ndla/safelink';
18
18
  import { IFolder } from '@ndla/types-backend/learningpath-api';
19
19
  import { CommonFolderItemsProps } from './types';
@@ -62,8 +62,6 @@ const FolderIconWrapper = styled.div`
62
62
  }
63
63
  `;
64
64
 
65
- const shouldForwardProp = (name: string) => !['selected', 'level', 'focused', 'isCreatingFolder'].includes(name);
66
-
67
65
  const FolderName = styled(Button)`
68
66
  display: grid;
69
67
  grid-template-columns: auto 1fr auto;
@@ -106,7 +104,7 @@ const StyledDone = styled(Done)`
106
104
  color: ${colors.support.green};
107
105
  `;
108
106
 
109
- const FolderNameLink = styled(SafeLink, { shouldForwardProp })`
107
+ const FolderNameLink = styled(SafeLink)`
110
108
  display: grid;
111
109
  align-items: center;
112
110
  grid-template-columns: ${spacing.medium} 1fr auto;
package/src/index.ts CHANGED
@@ -182,7 +182,7 @@ export { default as Topic } from './Topic';
182
182
  export type { TopicProps } from './Topic';
183
183
  export { default as Aside } from './Aside';
184
184
 
185
- export { default as Breadcrumb, HeaderBreadcrumb, HomeBreadcrumb, ActionBreadcrumb } from './Breadcrumb';
185
+ export { default as Breadcrumb, HeaderBreadcrumb, HomeBreadcrumb } from './Breadcrumb';
186
186
  export type { SimpleBreadcrumbItem, IndexedBreadcrumbItem } from './Breadcrumb';
187
187
 
188
188
  export { i18nInstance, formatNestedMessages } from './i18n';
@@ -242,7 +242,7 @@ export { Notion, ConceptNotion } from './Notion';
242
242
  export type { NotionVisualElementType, ConceptNotionType } from './Notion';
243
243
 
244
244
  export { BannerCard } from './BannerCard';
245
- export { Folder, FolderInput, FolderMenu } from './MyNdla';
245
+ export { Folder, FolderInput } from './MyNdla';
246
246
  export { ListResource, BlockResource } from './Resource';
247
247
  export type { ListResourceProps } from './Resource';
248
248
  export type { TagType } from './TagSelector';
@@ -1136,6 +1136,7 @@ const messages = {
1136
1136
  share: 'Share folder',
1137
1137
  shared: 'Shared',
1138
1138
  unShare: 'Sharing stopped. The folder is no longer shared',
1139
+ copyLink: 'Copy link to folder',
1139
1140
  link: 'Link is copied',
1140
1141
  header: {
1141
1142
  private: 'Do you want to share this folder?',
@@ -1135,6 +1135,7 @@ const messages = {
1135
1135
  share: 'Del mappe',
1136
1136
  shared: 'Delt',
1137
1137
  unShare: 'Delingen er avsluttet. Mappen er ikke lenger delt.',
1138
+ copyLink: 'Kopier lenke til mappa',
1138
1139
  link: 'Lenken er kopiert',
1139
1140
  header: {
1140
1141
  private: 'Vil du dele denne mappa?',
@@ -1136,6 +1136,7 @@ const messages = {
1136
1136
  shared: 'Delt',
1137
1137
  unShare: 'Delinga er avslutta. Mappa er ikkje lenger delt',
1138
1138
  link: 'Lenka er kopiert',
1139
+ copyLink: 'Kopier lenke til mappa',
1139
1140
  header: {
1140
1141
  private: 'Vil du dele denne mappa?',
1141
1142
  shared: 'Denne mappa er delt',
@@ -1136,6 +1136,7 @@ const messages = {
1136
1136
  share: 'Juoge máhpa',
1137
1137
  shared: 'Juogaduvvon',
1138
1138
  unShare: 'Juohkin lea loahpahuvvon. Máhppa ii leat šat juogaduvvon.',
1139
+ copyLink: 'Kopier lenke til mappa',
1139
1140
  link: 'Liŋka lea máŋgejuvvon.',
1140
1141
  header: {
1141
1142
  private: 'Áiggut go juogadit dán máhpa?',
@@ -1139,6 +1139,7 @@ const messages = {
1139
1139
  share: 'Del mappe',
1140
1140
  shared: 'Delt',
1141
1141
  unShare: 'Delingen er avsluttet. Mappen er ikke lenger delt.',
1142
+ copyLink: 'Kopier lenke til mappa',
1142
1143
  link: 'Lenken er kopiert',
1143
1144
  header: {
1144
1145
  private: 'Vil du dele denne mappen?',
@@ -1,74 +0,0 @@
1
- import _styled from "@emotion/styled/base";
2
- /**
3
- * Copyright (c) 2022-present, NDLA.
4
- *
5
- * This source code is licensed under the GPLv3 license found in the
6
- * LICENSE file in the root directory of this source tree.
7
- *
8
- */
9
-
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 } from '@ndla/button';
15
- import Breadcrumb from './Breadcrumb';
16
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
17
- var StyledRightChevron = /*#__PURE__*/_styled(ChevronRight, {
18
- target: "e1yj4xlc3",
19
- label: "StyledRightChevron"
20
- })("color:", colors.text.primary, ";margin:", spacing.xxsmall, ";height:24px;width:24px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFjdGlvbkJyZWFkY3J1bWIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCK0MiLCJmaWxlIjoiQWN0aW9uQnJlYWRjcnVtYi50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMi1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNvbG9ycywgZm9udHMsIG1pc2MsIHNwYWNpbmcgfSBmcm9tICdAbmRsYS9jb3JlJztcbmltcG9ydCB7IENoZXZyb25SaWdodCB9IGZyb20gJ0BuZGxhL2ljb25zL2NvbW1vbic7XG5pbXBvcnQgU2FmZUxpbmsgZnJvbSAnQG5kbGEvc2FmZWxpbmsnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IE1lbnVCdXR0b24sIE1lbnVJdGVtUHJvcHMgfSBmcm9tICdAbmRsYS9idXR0b24nO1xuaW1wb3J0IEJyZWFkY3J1bWIgZnJvbSAnLi9CcmVhZGNydW1iJztcbmltcG9ydCB7IEluZGV4ZWRCcmVhZGNydW1iSXRlbSwgU2ltcGxlQnJlYWRjcnVtYkl0ZW0gfSBmcm9tICcuL0JyZWFkY3J1bWJJdGVtJztcblxuY29uc3QgU3R5bGVkUmlnaHRDaGV2cm9uID0gc3R5bGVkKENoZXZyb25SaWdodClgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0LnByaW1hcnl9O1xuICBtYXJnaW46ICR7c3BhY2luZy54eHNtYWxsfTtcbiAgaGVpZ2h0OiAyNHB4O1xuICB3aWR0aDogMjRweDtcbmA7XG5cbmNvbnN0IFN0eWxlZFNwYW4gPSBzdHlsZWQuc3BhbmBcbiAgZm9udC13ZWlnaHQ6ICR7Zm9udHMud2VpZ2h0LmJvbGR9O1xuYDtcblxuY29uc3QgU3R5bGVkU2FmZUxpbmsgPSBzdHlsZWQoU2FmZUxpbmspYFxuICBjb2xvcjogJHtjb2xvcnMudGV4dC5wcmltYXJ5fTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgbWFyZ2luOiAwIDJweDtcbiAgZm9udC13ZWlnaHQ6ICR7Zm9udHMud2VpZ2h0LmJvbGR9O1xuICA6aG92ZXIge1xuICAgIGNvbG9yOiAke2NvbG9ycy5icmFuZC5wcmltYXJ5fTtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkTWVudUJ1dHRvbiA9IHN0eWxlZChNZW51QnV0dG9uKWBcbiAgYm9yZGVyLXJhZGl1czogJHttaXNjLmJvcmRlclJhZGl1c307XG4gIG1hcmdpbjogMCAycHg7XG5gO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICBpdGVtczogU2ltcGxlQnJlYWRjcnVtYkl0ZW1bXTtcbiAgYWN0aW9uSXRlbXM6IE1lbnVJdGVtUHJvcHNbXTtcbn1cblxuY29uc3QgQWN0aW9uQnJlYWRjcnVtYiA9ICh7IGl0ZW1zLCBhY3Rpb25JdGVtcyB9OiBQcm9wcykgPT4ge1xuICBjb25zdCByZW5kZXJJdGVtID0gKGl0ZW06IEluZGV4ZWRCcmVhZGNydW1iSXRlbSwgdG90YWxDb3VudDogbnVtYmVyKSA9PiB7XG4gICAgaWYgKHRvdGFsQ291bnQgPT09IDEpIHtcbiAgICAgIHJldHVybiA8U3R5bGVkU3BhbiB0aXRsZT17aXRlbS5uYW1lfT57aXRlbS5uYW1lfTwvU3R5bGVkU3Bhbj47XG4gICAgfVxuICAgIGlmIChpdGVtLmluZGV4ID09PSB0b3RhbENvdW50IC0gMSAmJiBhY3Rpb25JdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkTWVudUJ1dHRvbiBtZW51SXRlbXM9e2FjdGlvbkl0ZW1zfSBhbGlnbj1cImVuZFwiIHNpemU9XCJzbWFsbFwiPlxuICAgICAgICAgIDxTdHlsZWRTcGFuIHRpdGxlPXtpdGVtLm5hbWV9PntpdGVtLm5hbWV9PC9TdHlsZWRTcGFuPlxuICAgICAgICA8L1N0eWxlZE1lbnVCdXR0b24+XG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFNhZmVMaW5rIHRpdGxlPXtpdGVtLm5hbWV9IHRvPXtpdGVtLnRvfT5cbiAgICAgICAge2l0ZW0ubmFtZX1cbiAgICAgIDwvU3R5bGVkU2FmZUxpbms+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCByZW5kZXJTZXBhcmF0b3IgPSAoaXRlbTogSW5kZXhlZEJyZWFkY3J1bWJJdGVtLCB0b3RhbENvdW50OiBudW1iZXIpID0+IHtcbiAgICBpZiAoaXRlbS5pbmRleCA9PT0gdG90YWxDb3VudCAtIDEpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiA8U3R5bGVkUmlnaHRDaGV2cm9uIC8+O1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPEJyZWFkY3J1bWJcbiAgICAgIGF1dG9Db2xsYXBzZVxuICAgICAgY29sbGFwc2VMYXN0PXtmYWxzZX1cbiAgICAgIGl0ZW1zPXtpdGVtc31cbiAgICAgIHJlbmRlckl0ZW09e3JlbmRlckl0ZW19XG4gICAgICByZW5kZXJTZXBhcmF0b3I9e3JlbmRlclNlcGFyYXRvcn1cbiAgICAvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQWN0aW9uQnJlYWRjcnVtYjtcbiJdfQ== */"));
21
- var StyledSpan = /*#__PURE__*/_styled("span", {
22
- target: "e1yj4xlc2",
23
- label: "StyledSpan"
24
- })("font-weight:", fonts.weight.bold, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFjdGlvbkJyZWFkY3J1bWIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdCOEIiLCJmaWxlIjoiQWN0aW9uQnJlYWRjcnVtYi50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMi1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNvbG9ycywgZm9udHMsIG1pc2MsIHNwYWNpbmcgfSBmcm9tICdAbmRsYS9jb3JlJztcbmltcG9ydCB7IENoZXZyb25SaWdodCB9IGZyb20gJ0BuZGxhL2ljb25zL2NvbW1vbic7XG5pbXBvcnQgU2FmZUxpbmsgZnJvbSAnQG5kbGEvc2FmZWxpbmsnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IE1lbnVCdXR0b24sIE1lbnVJdGVtUHJvcHMgfSBmcm9tICdAbmRsYS9idXR0b24nO1xuaW1wb3J0IEJyZWFkY3J1bWIgZnJvbSAnLi9CcmVhZGNydW1iJztcbmltcG9ydCB7IEluZGV4ZWRCcmVhZGNydW1iSXRlbSwgU2ltcGxlQnJlYWRjcnVtYkl0ZW0gfSBmcm9tICcuL0JyZWFkY3J1bWJJdGVtJztcblxuY29uc3QgU3R5bGVkUmlnaHRDaGV2cm9uID0gc3R5bGVkKENoZXZyb25SaWdodClgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0LnByaW1hcnl9O1xuICBtYXJnaW46ICR7c3BhY2luZy54eHNtYWxsfTtcbiAgaGVpZ2h0OiAyNHB4O1xuICB3aWR0aDogMjRweDtcbmA7XG5cbmNvbnN0IFN0eWxlZFNwYW4gPSBzdHlsZWQuc3BhbmBcbiAgZm9udC13ZWlnaHQ6ICR7Zm9udHMud2VpZ2h0LmJvbGR9O1xuYDtcblxuY29uc3QgU3R5bGVkU2FmZUxpbmsgPSBzdHlsZWQoU2FmZUxpbmspYFxuICBjb2xvcjogJHtjb2xvcnMudGV4dC5wcmltYXJ5fTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgbWFyZ2luOiAwIDJweDtcbiAgZm9udC13ZWlnaHQ6ICR7Zm9udHMud2VpZ2h0LmJvbGR9O1xuICA6aG92ZXIge1xuICAgIGNvbG9yOiAke2NvbG9ycy5icmFuZC5wcmltYXJ5fTtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkTWVudUJ1dHRvbiA9IHN0eWxlZChNZW51QnV0dG9uKWBcbiAgYm9yZGVyLXJhZGl1czogJHttaXNjLmJvcmRlclJhZGl1c307XG4gIG1hcmdpbjogMCAycHg7XG5gO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICBpdGVtczogU2ltcGxlQnJlYWRjcnVtYkl0ZW1bXTtcbiAgYWN0aW9uSXRlbXM6IE1lbnVJdGVtUHJvcHNbXTtcbn1cblxuY29uc3QgQWN0aW9uQnJlYWRjcnVtYiA9ICh7IGl0ZW1zLCBhY3Rpb25JdGVtcyB9OiBQcm9wcykgPT4ge1xuICBjb25zdCByZW5kZXJJdGVtID0gKGl0ZW06IEluZGV4ZWRCcmVhZGNydW1iSXRlbSwgdG90YWxDb3VudDogbnVtYmVyKSA9PiB7XG4gICAgaWYgKHRvdGFsQ291bnQgPT09IDEpIHtcbiAgICAgIHJldHVybiA8U3R5bGVkU3BhbiB0aXRsZT17aXRlbS5uYW1lfT57aXRlbS5uYW1lfTwvU3R5bGVkU3Bhbj47XG4gICAgfVxuICAgIGlmIChpdGVtLmluZGV4ID09PSB0b3RhbENvdW50IC0gMSAmJiBhY3Rpb25JdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkTWVudUJ1dHRvbiBtZW51SXRlbXM9e2FjdGlvbkl0ZW1zfSBhbGlnbj1cImVuZFwiIHNpemU9XCJzbWFsbFwiPlxuICAgICAgICAgIDxTdHlsZWRTcGFuIHRpdGxlPXtpdGVtLm5hbWV9PntpdGVtLm5hbWV9PC9TdHlsZWRTcGFuPlxuICAgICAgICA8L1N0eWxlZE1lbnVCdXR0b24+XG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFNhZmVMaW5rIHRpdGxlPXtpdGVtLm5hbWV9IHRvPXtpdGVtLnRvfT5cbiAgICAgICAge2l0ZW0ubmFtZX1cbiAgICAgIDwvU3R5bGVkU2FmZUxpbms+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCByZW5kZXJTZXBhcmF0b3IgPSAoaXRlbTogSW5kZXhlZEJyZWFkY3J1bWJJdGVtLCB0b3RhbENvdW50OiBudW1iZXIpID0+IHtcbiAgICBpZiAoaXRlbS5pbmRleCA9PT0gdG90YWxDb3VudCAtIDEpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiA8U3R5bGVkUmlnaHRDaGV2cm9uIC8+O1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPEJyZWFkY3J1bWJcbiAgICAgIGF1dG9Db2xsYXBzZVxuICAgICAgY29sbGFwc2VMYXN0PXtmYWxzZX1cbiAgICAgIGl0ZW1zPXtpdGVtc31cbiAgICAgIHJlbmRlckl0ZW09e3JlbmRlckl0ZW19XG4gICAgICByZW5kZXJTZXBhcmF0b3I9e3JlbmRlclNlcGFyYXRvcn1cbiAgICAvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQWN0aW9uQnJlYWRjcnVtYjtcbiJdfQ== */"));
25
- var StyledSafeLink = /*#__PURE__*/_styled(SafeLink, {
26
- target: "e1yj4xlc1",
27
- label: "StyledSafeLink"
28
- })("color:", colors.text.primary, ";box-shadow:none;margin:0 2px;font-weight:", fonts.weight.bold, ";:hover{color:", colors.brand.primary, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFjdGlvbkJyZWFkY3J1bWIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRCdUMiLCJmaWxlIjoiQWN0aW9uQnJlYWRjcnVtYi50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMi1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNvbG9ycywgZm9udHMsIG1pc2MsIHNwYWNpbmcgfSBmcm9tICdAbmRsYS9jb3JlJztcbmltcG9ydCB7IENoZXZyb25SaWdodCB9IGZyb20gJ0BuZGxhL2ljb25zL2NvbW1vbic7XG5pbXBvcnQgU2FmZUxpbmsgZnJvbSAnQG5kbGEvc2FmZWxpbmsnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IE1lbnVCdXR0b24sIE1lbnVJdGVtUHJvcHMgfSBmcm9tICdAbmRsYS9idXR0b24nO1xuaW1wb3J0IEJyZWFkY3J1bWIgZnJvbSAnLi9CcmVhZGNydW1iJztcbmltcG9ydCB7IEluZGV4ZWRCcmVhZGNydW1iSXRlbSwgU2ltcGxlQnJlYWRjcnVtYkl0ZW0gfSBmcm9tICcuL0JyZWFkY3J1bWJJdGVtJztcblxuY29uc3QgU3R5bGVkUmlnaHRDaGV2cm9uID0gc3R5bGVkKENoZXZyb25SaWdodClgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0LnByaW1hcnl9O1xuICBtYXJnaW46ICR7c3BhY2luZy54eHNtYWxsfTtcbiAgaGVpZ2h0OiAyNHB4O1xuICB3aWR0aDogMjRweDtcbmA7XG5cbmNvbnN0IFN0eWxlZFNwYW4gPSBzdHlsZWQuc3BhbmBcbiAgZm9udC13ZWlnaHQ6ICR7Zm9udHMud2VpZ2h0LmJvbGR9O1xuYDtcblxuY29uc3QgU3R5bGVkU2FmZUxpbmsgPSBzdHlsZWQoU2FmZUxpbmspYFxuICBjb2xvcjogJHtjb2xvcnMudGV4dC5wcmltYXJ5fTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgbWFyZ2luOiAwIDJweDtcbiAgZm9udC13ZWlnaHQ6ICR7Zm9udHMud2VpZ2h0LmJvbGR9O1xuICA6aG92ZXIge1xuICAgIGNvbG9yOiAke2NvbG9ycy5icmFuZC5wcmltYXJ5fTtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkTWVudUJ1dHRvbiA9IHN0eWxlZChNZW51QnV0dG9uKWBcbiAgYm9yZGVyLXJhZGl1czogJHttaXNjLmJvcmRlclJhZGl1c307XG4gIG1hcmdpbjogMCAycHg7XG5gO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICBpdGVtczogU2ltcGxlQnJlYWRjcnVtYkl0ZW1bXTtcbiAgYWN0aW9uSXRlbXM6IE1lbnVJdGVtUHJvcHNbXTtcbn1cblxuY29uc3QgQWN0aW9uQnJlYWRjcnVtYiA9ICh7IGl0ZW1zLCBhY3Rpb25JdGVtcyB9OiBQcm9wcykgPT4ge1xuICBjb25zdCByZW5kZXJJdGVtID0gKGl0ZW06IEluZGV4ZWRCcmVhZGNydW1iSXRlbSwgdG90YWxDb3VudDogbnVtYmVyKSA9PiB7XG4gICAgaWYgKHRvdGFsQ291bnQgPT09IDEpIHtcbiAgICAgIHJldHVybiA8U3R5bGVkU3BhbiB0aXRsZT17aXRlbS5uYW1lfT57aXRlbS5uYW1lfTwvU3R5bGVkU3Bhbj47XG4gICAgfVxuICAgIGlmIChpdGVtLmluZGV4ID09PSB0b3RhbENvdW50IC0gMSAmJiBhY3Rpb25JdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkTWVudUJ1dHRvbiBtZW51SXRlbXM9e2FjdGlvbkl0ZW1zfSBhbGlnbj1cImVuZFwiIHNpemU9XCJzbWFsbFwiPlxuICAgICAgICAgIDxTdHlsZWRTcGFuIHRpdGxlPXtpdGVtLm5hbWV9PntpdGVtLm5hbWV9PC9TdHlsZWRTcGFuPlxuICAgICAgICA8L1N0eWxlZE1lbnVCdXR0b24+XG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFNhZmVMaW5rIHRpdGxlPXtpdGVtLm5hbWV9IHRvPXtpdGVtLnRvfT5cbiAgICAgICAge2l0ZW0ubmFtZX1cbiAgICAgIDwvU3R5bGVkU2FmZUxpbms+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCByZW5kZXJTZXBhcmF0b3IgPSAoaXRlbTogSW5kZXhlZEJyZWFkY3J1bWJJdGVtLCB0b3RhbENvdW50OiBudW1iZXIpID0+IHtcbiAgICBpZiAoaXRlbS5pbmRleCA9PT0gdG90YWxDb3VudCAtIDEpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiA8U3R5bGVkUmlnaHRDaGV2cm9uIC8+O1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPEJyZWFkY3J1bWJcbiAgICAgIGF1dG9Db2xsYXBzZVxuICAgICAgY29sbGFwc2VMYXN0PXtmYWxzZX1cbiAgICAgIGl0ZW1zPXtpdGVtc31cbiAgICAgIHJlbmRlckl0ZW09e3JlbmRlckl0ZW19XG4gICAgICByZW5kZXJTZXBhcmF0b3I9e3JlbmRlclNlcGFyYXRvcn1cbiAgICAvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQWN0aW9uQnJlYWRjcnVtYjtcbiJdfQ== */"));
29
- var StyledMenuButton = /*#__PURE__*/_styled(MenuButton, {
30
- target: "e1yj4xlc0",
31
- label: "StyledMenuButton"
32
- })("border-radius:", misc.borderRadius, ";margin:0 2px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFjdGlvbkJyZWFkY3J1bWIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNDMkMiLCJmaWxlIjoiQWN0aW9uQnJlYWRjcnVtYi50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMi1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGNvbG9ycywgZm9udHMsIG1pc2MsIHNwYWNpbmcgfSBmcm9tICdAbmRsYS9jb3JlJztcbmltcG9ydCB7IENoZXZyb25SaWdodCB9IGZyb20gJ0BuZGxhL2ljb25zL2NvbW1vbic7XG5pbXBvcnQgU2FmZUxpbmsgZnJvbSAnQG5kbGEvc2FmZWxpbmsnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IE1lbnVCdXR0b24sIE1lbnVJdGVtUHJvcHMgfSBmcm9tICdAbmRsYS9idXR0b24nO1xuaW1wb3J0IEJyZWFkY3J1bWIgZnJvbSAnLi9CcmVhZGNydW1iJztcbmltcG9ydCB7IEluZGV4ZWRCcmVhZGNydW1iSXRlbSwgU2ltcGxlQnJlYWRjcnVtYkl0ZW0gfSBmcm9tICcuL0JyZWFkY3J1bWJJdGVtJztcblxuY29uc3QgU3R5bGVkUmlnaHRDaGV2cm9uID0gc3R5bGVkKENoZXZyb25SaWdodClgXG4gIGNvbG9yOiAke2NvbG9ycy50ZXh0LnByaW1hcnl9O1xuICBtYXJnaW46ICR7c3BhY2luZy54eHNtYWxsfTtcbiAgaGVpZ2h0OiAyNHB4O1xuICB3aWR0aDogMjRweDtcbmA7XG5cbmNvbnN0IFN0eWxlZFNwYW4gPSBzdHlsZWQuc3BhbmBcbiAgZm9udC13ZWlnaHQ6ICR7Zm9udHMud2VpZ2h0LmJvbGR9O1xuYDtcblxuY29uc3QgU3R5bGVkU2FmZUxpbmsgPSBzdHlsZWQoU2FmZUxpbmspYFxuICBjb2xvcjogJHtjb2xvcnMudGV4dC5wcmltYXJ5fTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgbWFyZ2luOiAwIDJweDtcbiAgZm9udC13ZWlnaHQ6ICR7Zm9udHMud2VpZ2h0LmJvbGR9O1xuICA6aG92ZXIge1xuICAgIGNvbG9yOiAke2NvbG9ycy5icmFuZC5wcmltYXJ5fTtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkTWVudUJ1dHRvbiA9IHN0eWxlZChNZW51QnV0dG9uKWBcbiAgYm9yZGVyLXJhZGl1czogJHttaXNjLmJvcmRlclJhZGl1c307XG4gIG1hcmdpbjogMCAycHg7XG5gO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICBpdGVtczogU2ltcGxlQnJlYWRjcnVtYkl0ZW1bXTtcbiAgYWN0aW9uSXRlbXM6IE1lbnVJdGVtUHJvcHNbXTtcbn1cblxuY29uc3QgQWN0aW9uQnJlYWRjcnVtYiA9ICh7IGl0ZW1zLCBhY3Rpb25JdGVtcyB9OiBQcm9wcykgPT4ge1xuICBjb25zdCByZW5kZXJJdGVtID0gKGl0ZW06IEluZGV4ZWRCcmVhZGNydW1iSXRlbSwgdG90YWxDb3VudDogbnVtYmVyKSA9PiB7XG4gICAgaWYgKHRvdGFsQ291bnQgPT09IDEpIHtcbiAgICAgIHJldHVybiA8U3R5bGVkU3BhbiB0aXRsZT17aXRlbS5uYW1lfT57aXRlbS5uYW1lfTwvU3R5bGVkU3Bhbj47XG4gICAgfVxuICAgIGlmIChpdGVtLmluZGV4ID09PSB0b3RhbENvdW50IC0gMSAmJiBhY3Rpb25JdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkTWVudUJ1dHRvbiBtZW51SXRlbXM9e2FjdGlvbkl0ZW1zfSBhbGlnbj1cImVuZFwiIHNpemU9XCJzbWFsbFwiPlxuICAgICAgICAgIDxTdHlsZWRTcGFuIHRpdGxlPXtpdGVtLm5hbWV9PntpdGVtLm5hbWV9PC9TdHlsZWRTcGFuPlxuICAgICAgICA8L1N0eWxlZE1lbnVCdXR0b24+XG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFNhZmVMaW5rIHRpdGxlPXtpdGVtLm5hbWV9IHRvPXtpdGVtLnRvfT5cbiAgICAgICAge2l0ZW0ubmFtZX1cbiAgICAgIDwvU3R5bGVkU2FmZUxpbms+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCByZW5kZXJTZXBhcmF0b3IgPSAoaXRlbTogSW5kZXhlZEJyZWFkY3J1bWJJdGVtLCB0b3RhbENvdW50OiBudW1iZXIpID0+IHtcbiAgICBpZiAoaXRlbS5pbmRleCA9PT0gdG90YWxDb3VudCAtIDEpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiA8U3R5bGVkUmlnaHRDaGV2cm9uIC8+O1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPEJyZWFkY3J1bWJcbiAgICAgIGF1dG9Db2xsYXBzZVxuICAgICAgY29sbGFwc2VMYXN0PXtmYWxzZX1cbiAgICAgIGl0ZW1zPXtpdGVtc31cbiAgICAgIHJlbmRlckl0ZW09e3JlbmRlckl0ZW19XG4gICAgICByZW5kZXJTZXBhcmF0b3I9e3JlbmRlclNlcGFyYXRvcn1cbiAgICAvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQWN0aW9uQnJlYWRjcnVtYjtcbiJdfQ== */"));
33
- var ActionBreadcrumb = function ActionBreadcrumb(_ref) {
34
- var items = _ref.items,
35
- actionItems = _ref.actionItems;
36
- var renderItem = function renderItem(item, totalCount) {
37
- if (totalCount === 1) {
38
- return _jsx(StyledSpan, {
39
- title: item.name,
40
- children: item.name
41
- });
42
- }
43
- if (item.index === totalCount - 1 && actionItems.length > 0) {
44
- return _jsx(StyledMenuButton, {
45
- menuItems: actionItems,
46
- align: "end",
47
- size: "small",
48
- children: _jsx(StyledSpan, {
49
- title: item.name,
50
- children: item.name
51
- })
52
- });
53
- }
54
- return _jsx(StyledSafeLink, {
55
- title: item.name,
56
- to: item.to,
57
- children: item.name
58
- });
59
- };
60
- var renderSeparator = function renderSeparator(item, totalCount) {
61
- if (item.index === totalCount - 1) {
62
- return null;
63
- }
64
- return _jsx(StyledRightChevron, {});
65
- };
66
- return _jsx(Breadcrumb, {
67
- autoCollapse: true,
68
- collapseLast: false,
69
- items: items,
70
- renderItem: renderItem,
71
- renderSeparator: renderSeparator
72
- });
73
- };
74
- export default ActionBreadcrumb;