@griddo/ax 1.56.9 → 1.57.2

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 (253) hide show
  1. package/config/griddo-config.js +1 -0
  2. package/package.json +2 -2
  3. package/src/components/ActionMenu/index.tsx +1 -1
  4. package/src/components/Fields/ComponentArray/MixableComponentArray/index.tsx +7 -1
  5. package/src/components/Fields/ComponentArray/MixableComponentArray/style.tsx +29 -24
  6. package/src/components/Fields/ComponentArray/SameComponentArray/index.tsx +7 -1
  7. package/src/components/Fields/ComponentArray/SameComponentArray/style.tsx +29 -24
  8. package/src/components/Fields/DateField/index.tsx +3 -2
  9. package/src/components/Fields/ReferenceField/AutoPanel/AutoItem/index.tsx +1 -1
  10. package/src/components/Fields/ReferenceField/AutoPanel/index.tsx +1 -1
  11. package/src/components/Fields/ReferenceField/ItemList/Item/index.tsx +1 -1
  12. package/src/components/Fields/UrlField/index.tsx +12 -1
  13. package/src/components/Fields/Wysiwyg/config.tsx +80 -56
  14. package/src/components/Fields/Wysiwyg/index.tsx +23 -6
  15. package/src/components/FloatingMenu/index.tsx +9 -6
  16. package/src/components/FloatingMenu/style.tsx +8 -6
  17. package/src/components/Gallery/GalleryFilters/Orientation/index.tsx +1 -1
  18. package/src/components/Gallery/GalleryFilters/SortBy/index.tsx +1 -1
  19. package/src/components/InformativeMenu/index.tsx +3 -2
  20. package/src/components/InformativeMenu/style.tsx +0 -1
  21. package/src/components/MainWrapper/AppBar/index.tsx +8 -7
  22. package/src/components/MainWrapper/AppBar/style.tsx +7 -0
  23. package/src/components/MenuItem/style.tsx +1 -0
  24. package/src/components/Modal/style.tsx +14 -13
  25. package/src/components/Nav/index.tsx +8 -3
  26. package/src/components/Nav/style.tsx +5 -0
  27. package/src/components/SearchField/index.tsx +43 -14
  28. package/src/components/SearchField/style.tsx +23 -10
  29. package/src/components/SideModal/index.tsx +24 -8
  30. package/src/components/SideModal/style.tsx +13 -2
  31. package/src/components/SubNav/style.tsx +3 -2
  32. package/src/containers/Navigation/Defaults/actions.tsx +26 -24
  33. package/src/containers/Navigation/Defaults/reducer.tsx +2 -2
  34. package/src/containers/PageEditor/actions.tsx +9 -8
  35. package/src/containers/Settings/Social/actions.tsx +9 -31
  36. package/src/containers/Settings/Social/constants.tsx +2 -3
  37. package/src/containers/Settings/Social/interfaces.tsx +2 -7
  38. package/src/containers/Settings/Social/reducer.tsx +3 -14
  39. package/src/containers/Sites/actions.tsx +3 -63
  40. package/src/containers/Sites/constants.tsx +0 -1
  41. package/src/containers/Sites/interfaces.tsx +0 -6
  42. package/src/containers/Sites/reducer.tsx +1 -29
  43. package/src/forms/editor.tsx +2 -0
  44. package/src/forms/validators.tsx +2 -0
  45. package/src/helpers/dates.tsx +23 -24
  46. package/src/helpers/index.tsx +2 -0
  47. package/src/helpers/objects.tsx +17 -2
  48. package/src/helpers/schemas.tsx +7 -4
  49. package/src/hooks/forms.tsx +23 -24
  50. package/src/modules/App/Routing/NavMenu/NavItem/index.tsx +10 -5
  51. package/src/modules/App/Routing/NavMenu/NavItem/style.tsx +13 -9
  52. package/src/modules/App/Routing/NavMenu/index.tsx +39 -37
  53. package/src/modules/App/Routing/NavMenu/style.tsx +9 -3
  54. package/src/modules/Categories/CategoriesList/CategoryItem/index.tsx +1 -1
  55. package/src/modules/Categories/CategoriesList/CategoryNav/NavItem/index.tsx +6 -3
  56. package/src/modules/Categories/CategoriesList/CategoryNav/NavItem/style.tsx +5 -1
  57. package/src/modules/Content/ContentFilters/index.tsx +6 -3
  58. package/src/modules/Content/ContentFilters/style.tsx +6 -1
  59. package/src/modules/Content/HeaderMenus/Live/index.tsx +1 -1
  60. package/src/modules/Content/HeaderMenus/Name/index.tsx +10 -4
  61. package/src/modules/Content/HeaderMenus/Status/index.tsx +7 -3
  62. package/src/modules/Content/HeaderMenus/Translations/index.tsx +1 -1
  63. package/src/modules/Content/HeaderMenus/Types/index.tsx +1 -1
  64. package/src/modules/Content/OptionTable/index.tsx +6 -3
  65. package/src/modules/Content/OptionTable/style.tsx +4 -0
  66. package/src/modules/Content/PageItem/index.tsx +3 -3
  67. package/src/modules/Content/index.tsx +5 -3
  68. package/src/modules/GlobalEditor/index.tsx +37 -14
  69. package/src/modules/Navigation/Defaults/DefaultsEditor/index.tsx +33 -13
  70. package/src/modules/Navigation/Defaults/Item/atoms.tsx +1 -1
  71. package/src/modules/Navigation/Defaults/Nav/index.tsx +8 -3
  72. package/src/modules/Navigation/Defaults/Nav/style.tsx +4 -0
  73. package/src/modules/Navigation/Defaults/index.tsx +4 -0
  74. package/src/modules/Navigation/Menus/List/Nav/index.tsx +8 -3
  75. package/src/modules/Navigation/Menus/List/Nav/style.tsx +4 -0
  76. package/src/modules/Navigation/Menus/List/index.tsx +3 -1
  77. package/src/modules/Navigation/Menus/List/style.tsx +9 -1
  78. package/src/modules/PageEditor/index.tsx +38 -14
  79. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/Filter/index.tsx +1 -1
  80. package/src/modules/Settings/ContentTypes/DataPacks/AddModal/SortFilter/index.tsx +1 -1
  81. package/src/modules/Settings/ContentTypes/DataPacks/Nav/index.tsx +11 -6
  82. package/src/modules/Settings/ContentTypes/DataPacks/Nav/style.tsx +6 -1
  83. package/src/modules/Settings/Globals/index.tsx +19 -31
  84. package/src/modules/Settings/Languages/LanguagePanel/Form/index.tsx +1 -1
  85. package/src/modules/Settings/Languages/Table/Item/index.tsx +1 -1
  86. package/src/modules/Settings/Social/index.tsx +35 -91
  87. package/src/modules/Sites/SitesList/SiteModal/index.tsx +12 -27
  88. package/src/modules/Sites/SitesList/index.tsx +15 -15
  89. package/src/modules/StructuredData/StructuredDataList/ContentFilters/index.tsx +3 -1
  90. package/src/modules/StructuredData/StructuredDataList/ContentFilters/style.tsx +6 -1
  91. package/src/modules/StructuredData/StructuredDataList/GlobalPageItem/index.tsx +3 -3
  92. package/src/modules/StructuredData/StructuredDataList/HeaderMenus/Live/index.tsx +1 -1
  93. package/src/modules/StructuredData/StructuredDataList/HeaderMenus/Name/index.tsx +10 -4
  94. package/src/modules/StructuredData/StructuredDataList/HeaderMenus/Site/index.tsx +1 -1
  95. package/src/modules/StructuredData/StructuredDataList/HeaderMenus/Status/index.tsx +7 -3
  96. package/src/modules/StructuredData/StructuredDataList/HeaderMenus/Translations/index.tsx +1 -1
  97. package/src/modules/StructuredData/StructuredDataList/HeaderMenus/Types/index.tsx +1 -1
  98. package/src/modules/StructuredData/StructuredDataList/OptionTable/index.tsx +6 -3
  99. package/src/modules/StructuredData/StructuredDataList/OptionTable/style.tsx +4 -0
  100. package/src/modules/StructuredData/StructuredDataList/StructuredDataItem/index.tsx +1 -1
  101. package/src/modules/Users/UserList/HeaderMenus/Name/index.tsx +13 -5
  102. package/src/schemas/index.tsx +7 -0
  103. package/src/schemas/pages/GlobalPage.tsx +166 -0
  104. package/src/schemas/pages/Page.tsx +181 -0
  105. package/src/schemas/pages/index.tsx +4 -0
  106. package/src/types/index.tsx +8 -14
  107. package/tsconfig.paths.json +2 -1
  108. package/public/img/schemas/Accordion/thumbnails/thumbnail@1x.png +0 -0
  109. package/public/img/schemas/Accordion/thumbnails/thumbnail@2x.png +0 -0
  110. package/public/img/schemas/AddressCollection/thumbnails/thumbnail@1x.png +0 -0
  111. package/public/img/schemas/AddressCollection/thumbnails/thumbnail@2x.png +0 -0
  112. package/public/img/schemas/BasicBoxedCard/thumbnails/thumbnail@1x.png +0 -0
  113. package/public/img/schemas/BasicBoxedCard/thumbnails/thumbnail@2x.png +0 -0
  114. package/public/img/schemas/BasicCard/thumbnails/thumbnail@1x.png +0 -0
  115. package/public/img/schemas/BasicCard/thumbnails/thumbnail@2x.png +0 -0
  116. package/public/img/schemas/BasicContent/layouts/layout001@1x.png +0 -0
  117. package/public/img/schemas/BasicContent/layouts/layout001@2x.png +0 -0
  118. package/public/img/schemas/BasicContent/layouts/layout002@1x.png +0 -0
  119. package/public/img/schemas/BasicContent/layouts/layout002@2x.png +0 -0
  120. package/public/img/schemas/BasicContent/layouts/layout003@1x.png +0 -0
  121. package/public/img/schemas/BasicContent/layouts/layout003@2x.png +0 -0
  122. package/public/img/schemas/BasicContent/layouts/layout004@1x.png +0 -0
  123. package/public/img/schemas/BasicContent/layouts/layout004@2x.png +0 -0
  124. package/public/img/schemas/BasicContent/layouts/layout005@1x.png +0 -0
  125. package/public/img/schemas/BasicContent/layouts/layout005@2x.png +0 -0
  126. package/public/img/schemas/BasicContent/layouts/layout006@1x.png +0 -0
  127. package/public/img/schemas/BasicContent/layouts/layout006@2x.png +0 -0
  128. package/public/img/schemas/BasicContent/layouts/layout007@1x.png +0 -0
  129. package/public/img/schemas/BasicContent/layouts/layout007@2x.png +0 -0
  130. package/public/img/schemas/BasicContent/thumbnails/thumbnail@1x.png +0 -0
  131. package/public/img/schemas/BasicContent/thumbnails/thumbnail@2x.png +0 -0
  132. package/public/img/schemas/BasicIconCard/thumbnails/thumbnail@1x.png +0 -0
  133. package/public/img/schemas/BasicIconCard/thumbnails/thumbnail@2x.png +0 -0
  134. package/public/img/schemas/CardCollection/layouts/layout001@1x.png +0 -0
  135. package/public/img/schemas/CardCollection/layouts/layout001@2x.png +0 -0
  136. package/public/img/schemas/CardCollection/layouts/layout002@1x.png +0 -0
  137. package/public/img/schemas/CardCollection/layouts/layout002@2x.png +0 -0
  138. package/public/img/schemas/CardCollection/layouts/layout003@1x.png +0 -0
  139. package/public/img/schemas/CardCollection/layouts/layout003@2x.png +0 -0
  140. package/public/img/schemas/CardCollection/layouts/layout004@1x.png +0 -0
  141. package/public/img/schemas/CardCollection/layouts/layout004@2x.png +0 -0
  142. package/public/img/schemas/CardCollection/layouts/layout005@1x.png +0 -0
  143. package/public/img/schemas/CardCollection/layouts/layout005@2x.png +0 -0
  144. package/public/img/schemas/CardCollection/thumbnails/thumbnail@1x.png +0 -0
  145. package/public/img/schemas/CardCollection/thumbnails/thumbnail@2x.png +0 -0
  146. package/public/img/schemas/DownloadCollection/thumbnails/thumbnail@1x.png +0 -0
  147. package/public/img/schemas/DownloadCollection/thumbnails/thumbnail@2x.png +0 -0
  148. package/public/img/schemas/EventCard/layouts/layout001@1x.png +0 -0
  149. package/public/img/schemas/EventCard/layouts/layout001@2x.png +0 -0
  150. package/public/img/schemas/EventCard/layouts/layout002@1x.png +0 -0
  151. package/public/img/schemas/EventCard/layouts/layout002@2x.png +0 -0
  152. package/public/img/schemas/EventCard/thumbnails/thumbnail@1x.png +0 -0
  153. package/public/img/schemas/EventCard/thumbnails/thumbnail@2x.png +0 -0
  154. package/public/img/schemas/EventsDistributor/thumbnails/thumbnail@1x.png +0 -0
  155. package/public/img/schemas/EventsDistributor/thumbnails/thumbnail@2x.png +0 -0
  156. package/public/img/schemas/FeaturedAudiovisual/layouts/layout001@1x.png +0 -0
  157. package/public/img/schemas/FeaturedAudiovisual/layouts/layout001@2x.png +0 -0
  158. package/public/img/schemas/FeaturedAudiovisual/layouts/layout002@1x.png +0 -0
  159. package/public/img/schemas/FeaturedAudiovisual/layouts/layout002@2x.png +0 -0
  160. package/public/img/schemas/FeaturedAudiovisual/layouts/layout003@1x.png +0 -0
  161. package/public/img/schemas/FeaturedAudiovisual/layouts/layout003@2x.png +0 -0
  162. package/public/img/schemas/FeaturedAudiovisual/layouts/layout004@1x.png +0 -0
  163. package/public/img/schemas/FeaturedAudiovisual/layouts/layout004@2x.png +0 -0
  164. package/public/img/schemas/FeaturedAudiovisual/layouts/layout005@1x.png +0 -0
  165. package/public/img/schemas/FeaturedAudiovisual/layouts/layout005@2x.png +0 -0
  166. package/public/img/schemas/FeaturedAudiovisual/layouts/layout006@1x.png +0 -0
  167. package/public/img/schemas/FeaturedAudiovisual/layouts/layout006@2x.png +0 -0
  168. package/public/img/schemas/FeaturedAudiovisual/layouts/layout007@1x.png +0 -0
  169. package/public/img/schemas/FeaturedAudiovisual/layouts/layout007@2x.png +0 -0
  170. package/public/img/schemas/FeaturedAudiovisual/layouts/layout008@1x.png +0 -0
  171. package/public/img/schemas/FeaturedAudiovisual/layouts/layout008@2x.png +0 -0
  172. package/public/img/schemas/FeaturedAudiovisual/layouts/layout009@1x.png +0 -0
  173. package/public/img/schemas/FeaturedAudiovisual/layouts/layout009@2x.png +0 -0
  174. package/public/img/schemas/FeaturedAudiovisual/layouts/layout010@1x.png +0 -0
  175. package/public/img/schemas/FeaturedAudiovisual/layouts/layout010@2x.png +0 -0
  176. package/public/img/schemas/FeaturedAudiovisual/layouts/layout011@1x.png +0 -0
  177. package/public/img/schemas/FeaturedAudiovisual/layouts/layout011@2x.png +0 -0
  178. package/public/img/schemas/FeaturedAudiovisual/layouts/layout012@1x.png +0 -0
  179. package/public/img/schemas/FeaturedAudiovisual/layouts/layout012@2x.png +0 -0
  180. package/public/img/schemas/FeaturedAudiovisual/thumbnails/thumbnail@1x.png +0 -0
  181. package/public/img/schemas/FeaturedAudiovisual/thumbnails/thumbnail@2x.png +0 -0
  182. package/public/img/schemas/FeaturedBlock/layouts/layout001@1x.png +0 -0
  183. package/public/img/schemas/FeaturedBlock/layouts/layout001@2x.png +0 -0
  184. package/public/img/schemas/FeaturedBlock/layouts/layout002@1x.png +0 -0
  185. package/public/img/schemas/FeaturedBlock/layouts/layout002@2x.png +0 -0
  186. package/public/img/schemas/FeaturedProgram/thumbnails/thumbnail@1x.png +0 -0
  187. package/public/img/schemas/FeaturedProgram/thumbnails/thumbnail@2x.png +0 -0
  188. package/public/img/schemas/FeaturedText/thumbnails/thumbnail@1x.png +0 -0
  189. package/public/img/schemas/FeaturedText/thumbnails/thumbnail@2x.png +0 -0
  190. package/public/img/schemas/FeedbackForm/thumbnails/thumbnail@1x.png +0 -0
  191. package/public/img/schemas/FeedbackForm/thumbnails/thumbnail@2x.png +0 -0
  192. package/public/img/schemas/HeroCarousel/thumbnails/thumbnail@1x.png +0 -0
  193. package/public/img/schemas/HeroCarousel/thumbnails/thumbnail@2x.png +0 -0
  194. package/public/img/schemas/HeroImage/thumbnails/thumbnail@1x.png +0 -0
  195. package/public/img/schemas/HeroImage/thumbnails/thumbnail@2x.png +0 -0
  196. package/public/img/schemas/IconCard/thumbnails/thumbnail@1x.png +0 -0
  197. package/public/img/schemas/IconCard/thumbnails/thumbnail@2x.png +0 -0
  198. package/public/img/schemas/IconCenteredCard/thumbnails/thumbnail@1x.png +0 -0
  199. package/public/img/schemas/IconCenteredCard/thumbnails/thumbnail@2x.png +0 -0
  200. package/public/img/schemas/Image/thumbnails/thumbnail@1x.png +0 -0
  201. package/public/img/schemas/Image/thumbnails/thumbnail@2x.png +0 -0
  202. package/public/img/schemas/ImageCard/thumbnails/thumbnail@1x.png +0 -0
  203. package/public/img/schemas/ImageCard/thumbnails/thumbnail@2x.png +0 -0
  204. package/public/img/schemas/Intro/thumbnails/thumbnail@1x.png +0 -0
  205. package/public/img/schemas/Intro/thumbnails/thumbnail@2x.png +0 -0
  206. package/public/img/schemas/LogoCard/thumbnails/thumbnail@1x.png +0 -0
  207. package/public/img/schemas/LogoCard/thumbnails/thumbnail@2x.png +0 -0
  208. package/public/img/schemas/NewsDistributor/thumbnails/thumbnail@1x.png +0 -0
  209. package/public/img/schemas/NewsDistributor/thumbnails/thumbnail@2x.png +0 -0
  210. package/public/img/schemas/PersonDistributor/thumbnails/thumbnail@1x.png +0 -0
  211. package/public/img/schemas/PersonDistributor/thumbnails/thumbnail@2x.png +0 -0
  212. package/public/img/schemas/PublicationDistributor/thumbnails/thumbnail@1x.png +0 -0
  213. package/public/img/schemas/PublicationDistributor/thumbnails/thumbnail@2x.png +0 -0
  214. package/public/img/schemas/SchoolFooter/thumbnails/thumbnail@1x.png +0 -0
  215. package/public/img/schemas/SchoolFooter/thumbnails/thumbnail@2x.png +0 -0
  216. package/public/img/schemas/Slider/thumbnails/thumbnail@1x.png +0 -0
  217. package/public/img/schemas/Slider/thumbnails/thumbnail@2x.png +0 -0
  218. package/public/img/schemas/Testimonial/layouts/layout001@1x.png +0 -0
  219. package/public/img/schemas/Testimonial/layouts/layout001@2x.png +0 -0
  220. package/public/img/schemas/Testimonial/layouts/layout002@1x.png +0 -0
  221. package/public/img/schemas/Testimonial/layouts/layout002@2x.png +0 -0
  222. package/public/img/schemas/Testimonial/thumbnails/thumbnail@1x.png +0 -0
  223. package/public/img/schemas/Testimonial/thumbnails/thumbnail@2x.png +0 -0
  224. package/public/img/schemas/TextBluePanel/layouts/layout001@1x.png +0 -0
  225. package/public/img/schemas/TextBluePanel/layouts/layout001@2x.png +0 -0
  226. package/public/img/schemas/TextBluePanel/layouts/layout002@1x.png +0 -0
  227. package/public/img/schemas/TextBluePanel/layouts/layout002@2x.png +0 -0
  228. package/public/img/schemas/TextBluePanel/thumbnails/thumbnail@1x.png +0 -0
  229. package/public/img/schemas/TextBluePanel/thumbnails/thumbnail@2x.png +0 -0
  230. package/public/img/schemas/Video/thumbnails/thumbnail@1x.png +0 -0
  231. package/public/img/schemas/Video/thumbnails/thumbnail@2x.png +0 -0
  232. package/public/img/schemas/imgHeros.png +0 -0
  233. package/public/img/schemas/imgStandard.jpg +0 -0
  234. package/public/img/schemas/templates/BasicTemplate/thumbnails/thumbnail@1x.png +0 -0
  235. package/public/img/schemas/templates/BasicTemplate/thumbnails/thumbnail@2x.png +0 -0
  236. package/public/img/schemas/templates/Error404/thumbnails/thumbnail@1x.png +0 -0
  237. package/public/img/schemas/templates/Error404/thumbnails/thumbnail@2x.png +0 -0
  238. package/public/img/schemas/templates/NewsList/thumbnails/thumbnail@1x.png +0 -0
  239. package/public/img/schemas/templates/NewsList/thumbnails/thumbnail@2x.png +0 -0
  240. package/public/img/schemas/themes/LinkStyle.png +0 -0
  241. package/public/img/schemas/themes/LinkStyle@2x.png +0 -0
  242. package/public/img/schemas/themes/PrimaryStyle.png +0 -0
  243. package/public/img/schemas/themes/PrimaryStyle@2x.png +0 -0
  244. package/public/img/schemas/themes/STYLE01.png +0 -0
  245. package/public/img/schemas/themes/STYLE02.png +0 -0
  246. package/public/img/schemas/themes/STYLE03.png +0 -0
  247. package/public/img/schemas/themes/STYLE04.png +0 -0
  248. package/public/img/schemas/themes/STYLE05.png +0 -0
  249. package/public/img/schemas/themes/STYLE06.png +0 -0
  250. package/public/img/schemas/themes/SecondaryStyle.png +0 -0
  251. package/public/img/schemas/themes/SecondaryStyle@2x.png +0 -0
  252. package/src/components/MainWrapper/AppBar/SearchField/index.tsx +0 -54
  253. package/src/components/MainWrapper/AppBar/SearchField/style.tsx +0 -55
@@ -5,14 +5,14 @@ import { Button, FloatingMenu, IconAction } from "@ax/components";
5
5
  import * as S from "./style";
6
6
 
7
7
  const InformativeMenu = (props: IProps): JSX.Element => {
8
- const { icon, message, actionText, iconSize } = props;
8
+ const { icon, message, actionText, iconSize, position } = props;
9
9
 
10
10
  const InfoButton = () => <IconAction icon={icon} size={iconSize} />;
11
11
 
12
12
  const handleClick = (event: any) => event.preventDefault();
13
13
 
14
14
  return (
15
- <FloatingMenu Button={InfoButton} isWide={true} reactiveToHover={true}>
15
+ <FloatingMenu Button={InfoButton} reactiveToHover={true} position={position}>
16
16
  <S.InformativeMenu>
17
17
  {message}
18
18
  <S.Footer>
@@ -30,5 +30,6 @@ interface IProps {
30
30
  message: string;
31
31
  actionText: string;
32
32
  iconSize?: "s" | "m" | undefined;
33
+ position?: string;
33
34
  }
34
35
  export default InformativeMenu;
@@ -6,7 +6,6 @@ const InformativeMenu = styled.div`
6
6
  color: ${(p) => p.theme.color.textLowEmphasis};
7
7
  display: flex;
8
8
  flex-direction: column;
9
-
10
9
  `;
11
10
 
12
11
  const Footer = styled.div`
@@ -2,10 +2,9 @@ import React from "react";
2
2
  import { withRouter, RouteComponentProps } from "react-router-dom";
3
3
 
4
4
  import { IErrorItem } from "@ax/types";
5
- import { Button, Icon, IconAction, Flag, FloatingMenu, LanguageMenu, Tabs, Tooltip, ErrorCenter } from "@ax/components";
5
+ import { Button, Icon, IconAction, Flag, FloatingMenu, LanguageMenu, Tabs, Tooltip, ErrorCenter, SearchField } from "@ax/components";
6
6
 
7
7
  import { ActionMenu, ActionSimpleMenu, DownArrowButton } from "./atoms";
8
- import SearchField from "./SearchField";
9
8
 
10
9
  import * as S from "./style";
11
10
 
@@ -123,7 +122,7 @@ const AppBar = (props: IProps): JSX.Element => {
123
122
 
124
123
  const PageStatus = () =>
125
124
  statusMenu.options && statusMenu.options.length > 0 ? (
126
- <FloatingMenu Button={StatusBtn} isWide={true} isInAppBar={true}>
125
+ <FloatingMenu Button={StatusBtn} isInAppBar={true}>
127
126
  <ActionSimpleMenu menu={statusMenu} />
128
127
  </FloatingMenu>
129
128
  ) : (
@@ -149,7 +148,9 @@ const AppBar = (props: IProps): JSX.Element => {
149
148
  <S.Wrapper>
150
149
  {searchAction && (
151
150
  <>
152
- <SearchField onChange={searchAction} />
151
+ <S.SearchWrapper>
152
+ <SearchField onChange={searchAction} closeOnInactive />
153
+ </S.SearchWrapper>
153
154
  <S.Separator />
154
155
  </>
155
156
  )}
@@ -157,7 +158,7 @@ const AppBar = (props: IProps): JSX.Element => {
157
158
  <>
158
159
  <S.LanguageWrapper>
159
160
  <Tooltip content={languageTooltip} hideOnClick bottom>
160
- <FloatingMenu Button={LanguageBtn} isWide={true} isInAppBar={true}>
161
+ <FloatingMenu Button={LanguageBtn} isInAppBar={true}>
161
162
  {languageMenu}
162
163
  </FloatingMenu>
163
164
  </Tooltip>
@@ -178,7 +179,7 @@ const AppBar = (props: IProps): JSX.Element => {
178
179
  {errors && errors.length > 0 && (
179
180
  <>
180
181
  <S.IconStatusWrapper>
181
- <FloatingMenu Button={ErrorCenterBtn} isWide={true} isInAppBar={true}>
182
+ <FloatingMenu Button={ErrorCenterBtn} isInAppBar={true}>
182
183
  <ErrorCenter errors={errors} actions={errorActions} />
183
184
  </FloatingMenu>
184
185
  </S.IconStatusWrapper>
@@ -203,7 +204,7 @@ const AppBar = (props: IProps): JSX.Element => {
203
204
  )}
204
205
  {downArrowMenu && downArrowMenu.displayed && (
205
206
  <Tooltip content="Actions" hideOnClick bottom>
206
- <FloatingMenu Button={DownArrowButton} isWide={true} isInAppBar={true}>
207
+ <FloatingMenu Button={DownArrowButton} isInAppBar={true}>
207
208
  <ActionMenu menu={downArrowMenu} />
208
209
  </FloatingMenu>
209
210
  </Tooltip>
@@ -151,6 +151,12 @@ const ErrorWrapper = styled.div`
151
151
  }
152
152
  `;
153
153
 
154
+ const SearchWrapper = styled.div`
155
+ width: ${p => `calc(${p.theme.spacing.xl} * 5)`};
156
+ display: flex;
157
+ justify-content: flex-end;
158
+ `;
159
+
154
160
  export {
155
161
  ActionMenu,
156
162
  Header,
@@ -168,4 +174,5 @@ export {
168
174
  Separator,
169
175
  IconWrapper,
170
176
  ErrorWrapper,
177
+ SearchWrapper,
171
178
  };
@@ -16,6 +16,7 @@ const SubItem = styled.li<{ active: boolean }>`
16
16
  clear: both;
17
17
  width: 100%;
18
18
  margin-bottom: ${(p) => p.theme.spacing.xxs};
19
+ margin-top: ${(p) => p.theme.spacing.xxs};
19
20
  position: relative;
20
21
 
21
22
  &:hover {
@@ -29,7 +29,7 @@ export const ModalOverlay = styled.div`
29
29
  z-index: 1040;
30
30
  width: 100vw;
31
31
  height: 100vh;
32
- background: ${p => p.theme.color.overlay};
32
+ background: ${(p) => p.theme.color.overlay};
33
33
  body.modal-open:not(&) {
34
34
  overflow: hidden;
35
35
  }
@@ -51,34 +51,33 @@ export const Modal = styled.div<{ size: string | undefined }>`
51
51
  z-index: 100;
52
52
  display: flex;
53
53
  flex-flow: column nowrap;
54
- background: ${p => p.theme.color.uiBackground01};
54
+ background: ${(p) => p.theme.color.uiBackground01};
55
55
  position: relative;
56
56
  margin: auto;
57
57
  border-radius: 4px;
58
- width: ${p => getWidth(p.size)};
59
- height: ${p => getHeight(p.size)};
60
- box-shadow: ${p => p.theme.shadow.shadowXL};
58
+ width: ${(p) => getWidth(p.size)};
59
+ height: ${(p) => getHeight(p.size)};
60
+ box-shadow: ${(p) => p.theme.shadow.shadowXL};
61
61
  top: 50%;
62
62
  transform: translateY(-50%);
63
63
  `;
64
64
 
65
65
  export const ModalHeader = styled.div`
66
- background: ${p => p.theme.color.uiBarBackground};
66
+ background: ${(p) => p.theme.color.uiBarBackground};
67
67
  display: flex;
68
- padding: ${p => p.theme.spacing.s};
68
+ padding: ${(p) => p.theme.spacing.s};
69
69
  border-radius: 4px 4px 0 0;
70
- border-bottom: 1px solid ${p => p.theme.color.uiLine};
70
+ border-bottom: 1px solid ${(p) => p.theme.color.uiLine};
71
71
  `;
72
72
 
73
73
  export const ModalContent = styled.div`
74
74
  position: relative;
75
75
  flex-grow: 1;
76
- overflow: auto;
77
76
  `;
78
77
 
79
78
  export const Title = styled.div`
80
- ${p => p.theme.textStyle.headingM};
81
- color: ${p => p.theme.color.textHighEmphasis};
79
+ ${(p) => p.theme.textStyle.headingM};
80
+ color: ${(p) => p.theme.color.textHighEmphasis};
82
81
  `;
83
82
 
84
83
  export const ButtonWrapper = styled.div`
@@ -86,10 +85,12 @@ export const ButtonWrapper = styled.div`
86
85
  `;
87
86
 
88
87
  export const ModalFooter = styled.div`
88
+ background: ${(p) => p.theme.color.uiBackground01};
89
89
  display: flex;
90
90
  justify-content: flex-end;
91
- padding: ${p => `0 ${p.theme.spacing.m} ${p.theme.spacing.m} ${p.theme.spacing.m}`};
91
+ padding: ${(p) => `0 ${p.theme.spacing.m} ${p.theme.spacing.m} ${p.theme.spacing.m}`};
92
92
  button:not(:first-child) {
93
- margin-left: ${p => p.theme.spacing.s};
93
+ margin-left: ${(p) => p.theme.spacing.s};
94
94
  }
95
+ border-radius: 0 0 4px 4px;
95
96
  `;
@@ -4,6 +4,8 @@ import { NavLink } from "react-router-dom";
4
4
  import { SubNav, MenuItem } from "@ax/components";
5
5
  import { INavItem } from "@ax/types";
6
6
 
7
+ import * as S from './style';
8
+
7
9
  const Nav = (props: IProps): JSX.Element => {
8
10
  const { current, items, onClick } = props;
9
11
 
@@ -11,12 +13,15 @@ const Nav = (props: IProps): JSX.Element => {
11
13
  <SubNav>
12
14
  {items &&
13
15
  items.map((item: INavItem, key: number) => {
14
- const isSelected = current && item.title === current.title ? "selected" : "";
16
+ const isSelected = current && item.title === current.title;
17
+ const selectedClass = isSelected ? "selected" : "";
15
18
  const handleClick = () => onClick(item.path);
16
19
  return (
17
20
  <MenuItem key={key} onClick={handleClick}>
18
- <NavLink to="#" className={isSelected}>
19
- {item.title}
21
+ <NavLink to="#" className={selectedClass}>
22
+ <S.Link active={isSelected}>
23
+ {item.title}
24
+ </S.Link>
20
25
  </NavLink>
21
26
  </MenuItem>
22
27
  );
@@ -0,0 +1,5 @@
1
+ import styled from "styled-components";
2
+
3
+ export const Link = styled.div<{ active: boolean }>`
4
+ color: ${p => p.active ? p.theme.color.textHighEmphasis : p.theme.color.textMediumEmphasis};
5
+ `;
@@ -4,10 +4,13 @@ import React, { useState } from "react";
4
4
  import * as S from "./style";
5
5
 
6
6
  const SearchField = (props: IProps): JSX.Element => {
7
- const { onChange, placeholder } = props;
7
+ const { onChange, placeholder, closeOnInactive = false } = props;
8
8
 
9
+ const [isOpen, setIsOpen] = useState(false);
9
10
  const [inputValue, setInputValue] = useState("");
10
11
 
12
+ const toggleField = () => setIsOpen(!isOpen);
13
+
11
14
  const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
12
15
  const newValue = e.target.value;
13
16
  setInputValue(newValue);
@@ -18,27 +21,52 @@ const SearchField = (props: IProps): JSX.Element => {
18
21
  onChange("");
19
22
  };
20
23
 
24
+ const handleClose = () => {
25
+ toggleField();
26
+ handleClear();
27
+ };
28
+
29
+ const handleClick = () => {
30
+ closeOnInactive ? handleClose() : handleClear();
31
+ }
32
+
21
33
  const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {
22
34
  if (e.key === "Enter") {
23
35
  onChange(inputValue);
24
36
  }
25
37
  };
26
38
 
39
+ const showField = isOpen || !closeOnInactive;
40
+
27
41
  return (
28
42
  <S.Wrapper>
29
- <S.FieldWrapper>
30
- <S.Input type="text" value={inputValue} onChange={handleChange} onKeyDown={handleKeyDown} placeholder={placeholder} />
31
- {inputValue.trim() !== "" && <S.HelpText>Press ENTER</S.HelpText>}
32
- {inputValue.length > 0 ? (
33
- <S.IconWrapper onClick={handleClear}>
34
- <Icon name="close" size="24" />
35
- </S.IconWrapper>
36
- ) : (
37
- <S.IconWrapper>
38
- <Icon name="search" size="24" />
39
- </S.IconWrapper>
40
- )}
41
- </S.FieldWrapper>
43
+ {showField ? (
44
+ <S.FieldWrapper>
45
+ <S.Input
46
+ type="text"
47
+ value={inputValue}
48
+ onChange={handleChange}
49
+ onKeyDown={handleKeyDown}
50
+ placeholder={placeholder}
51
+ closeOnInactive={closeOnInactive}
52
+ autoFocus
53
+ />
54
+ {inputValue.trim() !== "" && <S.HelpText>Press ENTER</S.HelpText>}
55
+ {closeOnInactive || inputValue.length > 0 ? (
56
+ <S.IconCloseWrapper onClick={handleClick}>
57
+ <Icon name="close" size="24" />
58
+ </S.IconCloseWrapper>
59
+ ) : (
60
+ <S.IconSearchWrapper>
61
+ <Icon name="search" size="24" />
62
+ </S.IconSearchWrapper>
63
+ )}
64
+ </S.FieldWrapper>
65
+ ) : (
66
+ <S.IconSearchWrapper onClick={toggleField}>
67
+ <Icon name="search" size="24" />
68
+ </S.IconSearchWrapper>
69
+ )}
42
70
  </S.Wrapper>
43
71
  );
44
72
  };
@@ -46,6 +74,7 @@ const SearchField = (props: IProps): JSX.Element => {
46
74
  interface IProps {
47
75
  onChange(query: string): void;
48
76
  placeholder?: string;
77
+ closeOnInactive?: boolean;
49
78
  }
50
79
 
51
80
  export default SearchField;
@@ -1,32 +1,35 @@
1
1
  import styled from "styled-components";
2
2
 
3
- const Wrapper = styled.div``;
4
-
5
- const FieldWrapper = styled.div`
3
+ const Wrapper = styled.div`
6
4
  position: relative;
7
5
  width: 100%;
8
6
  `;
9
7
 
10
- const Input = styled.input`
8
+ const FieldWrapper = styled.div`
9
+ `;
10
+
11
+ const Input = styled.input<{ closeOnInactive: boolean }>`
11
12
  ${(p) => p.theme.textStyle.fieldContent};
12
13
  color: ${(p) => p.theme.color.textHighEmphasis};
13
14
  background-color: ${(p) => p.theme.color.interactiveBackground};
14
15
  width: 100%;
15
16
  height: ${(p) => p.theme.spacing.l};
16
17
  padding-left: ${(p) => p.theme.spacing.xs};
17
- border: 1px solid ${(p) => p.theme.color.uiLine};
18
- border-radius: ${(p) => p.theme.radii.s};
18
+ border-color: ${(p) => p.closeOnInactive ? p.theme.color.interactive01 : p.theme.color.uiLine};
19
+ border-width: ${(p) => p.closeOnInactive ? "0 0 1px" : "1px"};
20
+ border-style: solid;
21
+ border-radius: ${(p) => p.closeOnInactive ? 0 : p.theme.radii.s};
19
22
 
20
23
  &:active,
21
24
  &:focus {
22
- border-color: ${(p) => p.theme.color.interactive01};
23
25
  outline: none;
26
+ border-color: ${(p) => p.theme.color.interactive01};
24
27
  }
25
28
  `;
26
29
 
27
- const IconWrapper = styled.div<{ onClick?: () => void }>`
30
+ const IconSearchWrapper = styled.div<{ onClick?: () => void }>`
28
31
  position: absolute;
29
- right: ${(p) => p.theme.spacing.xs};
32
+ right: ${(p) => p.theme.spacing.xxs};
30
33
  top: 50%;
31
34
  width: ${(p) => p.theme.spacing.m};
32
35
  height: ${(p) => p.theme.spacing.m};
@@ -44,4 +47,14 @@ const HelpText = styled.div`
44
47
  transform: translateY(-50%);
45
48
  `;
46
49
 
47
- export { Wrapper, IconWrapper, FieldWrapper, Input, HelpText };
50
+ const IconCloseWrapper = styled.div`
51
+ position: absolute;
52
+ right: ${p => p.theme.spacing.xxs};
53
+ top: 50%;
54
+ width: ${p => p.theme.spacing.m};
55
+ height: ${p => p.theme.spacing.m};
56
+ cursor: pointer;
57
+ transform: translateY(-50%);
58
+ `;
59
+
60
+ export { Wrapper, IconSearchWrapper, FieldWrapper, Input, HelpText, IconCloseWrapper };
@@ -4,7 +4,7 @@ import { createPortal } from "react-dom";
4
4
  import { useHandleClickOutside } from "@ax/hooks";
5
5
  import { getDisplayName, filterByCategory } from "@ax/helpers";
6
6
  import SideModalOption from "@ax/components/SideModal/SideModalOption";
7
- import { CheckField, MenuItem } from "@ax/components";
7
+ import { CheckField, MenuItem, SearchField } from "@ax/components";
8
8
  import { ModuleCategoryInfo } from "@ax/types";
9
9
 
10
10
  import * as S from "./style";
@@ -33,6 +33,7 @@ const SideModal = (props: ISideModalProps): JSX.Element | null => {
33
33
  };
34
34
 
35
35
  const [options, setOptions] = useState(filteredValues);
36
+ const [searchQuery, setSearchQuery] = useState("");
36
37
 
37
38
  useEffect(() => {
38
39
  if (componentOptions) {
@@ -78,11 +79,15 @@ const SideModal = (props: ISideModalProps): JSX.Element | null => {
78
79
  const getCategoryItem = (category: ModuleCategoryInfo, i: number) => {
79
80
  const { value, label } = category;
80
81
  const filterOptions = () => filterOptionsByCategory(value);
81
- const isActive = value === options.category;
82
+ const isSelected = value === options.category;
82
83
 
83
84
  return (
84
- <MenuItem key={`${value}${i}`} active={isActive}>
85
- <S.NavLink onClick={filterOptions}>{label}</S.NavLink>
85
+ <MenuItem key={`${value}${i}`} active={isSelected}>
86
+ <S.NavLink onClick={filterOptions}>
87
+ <S.Link active={isSelected}>
88
+ {label}
89
+ </S.Link>
90
+ </S.NavLink>
86
91
  </MenuItem>
87
92
  );
88
93
  };
@@ -107,12 +112,20 @@ const SideModal = (props: ISideModalProps): JSX.Element | null => {
107
112
 
108
113
  const filteredOptions =
109
114
  options.options &&
110
- options.options.map((option: any, i: number) =>
111
- typeof option === "object" || typeof option === "string" ? (
115
+ options.options.map((option: any, i: number) => {
116
+ if (typeof option !== "object" && typeof option !== "string") return null;
117
+ const displayName = getDisplayName(option.component ? option.component : option);
118
+ if (searchQuery.length > 0) {
119
+ const name = displayName.toLowerCase();
120
+ const search = searchQuery.toLocaleLowerCase();
121
+ if (!name.includes(search)) return null
122
+ };
123
+ return (
112
124
  <SideModalOption option={option} handleClick={handleClick} toggleModal={toggleModal} key={`${option}${i}`}>
113
- {getDisplayName(option.component ? option.component : option)}
125
+ {displayName}
114
126
  </SideModalOption>
115
- ) : null
127
+ )
128
+ }
116
129
  );
117
130
 
118
131
  return isOpen
@@ -120,6 +133,9 @@ const SideModal = (props: ISideModalProps): JSX.Element | null => {
120
133
  <S.Wrapper ref={node} optionsType={optionsType}>
121
134
  <S.Header>
122
135
  <S.Title>{optionsType}</S.Title>
136
+ <S.SearchWrapper>
137
+ <SearchField onChange={setSearchQuery} closeOnInactive />
138
+ </S.SearchWrapper>
123
139
  </S.Header>
124
140
  {setDefault && !setDefault.checked && (
125
141
  <S.CheckFieldWrapper>
@@ -18,6 +18,7 @@ const Wrapper = styled.div<{ optionsType?: string }>`
18
18
  const Header = styled.div`
19
19
  display: flex;
20
20
  align-items: center;
21
+ justify-content: space-between;
21
22
  height: ${(p) => p.theme.spacing.xl};
22
23
  width: 100%;
23
24
  padding: 0 ${(p) => p.theme.spacing.m};
@@ -37,7 +38,7 @@ const ColumnsWrapper = styled.div`
37
38
  display:flex;
38
39
  `;
39
40
 
40
- const Content = styled.ul`
41
+ const Content = styled.div`
41
42
  list-style: none;
42
43
  padding: ${(p) => p.theme.spacing.m};
43
44
  height: ${(p) => `calc(100vh - (${p.theme.spacing.xl} * 2))`};
@@ -62,6 +63,14 @@ const FeaturedWrapper = styled.div`
62
63
  margin-bottom: ${(p) => p.theme.spacing.xs};
63
64
  `;
64
65
 
66
+ const SearchWrapper = styled.div`
67
+ width: ${p => `calc(${p.theme.spacing.xl} * 4)`};
68
+ `;
69
+
70
+ const Link = styled.div<{ active: boolean }>`
71
+ color: ${p => p.active ? p.theme.color.textHighEmphasis : p.theme.color.textMediumEmphasis};
72
+ `;
73
+
65
74
  export {
66
75
  Wrapper,
67
76
  Content,
@@ -70,5 +79,7 @@ export {
70
79
  ColumnsWrapper,
71
80
  NavLink,
72
81
  CheckFieldWrapper,
73
- FeaturedWrapper
82
+ FeaturedWrapper,
83
+ SearchWrapper,
84
+ Link,
74
85
  };
@@ -6,12 +6,13 @@ const Wrapper = styled.div`
6
6
 
7
7
  const SubNav = styled.ul`
8
8
  position: relative;
9
- width: calc(${(p) => p.theme.spacing.m} * 10);
9
+ width: calc(${(p) => p.theme.spacing.s} * 17);
10
10
  padding: ${(p) => p.theme.spacing.m};
11
11
  background: ${(p) => p.theme.color.uiBackground02};
12
12
  border-right: ${(p) => `1px solid ${p.theme.color.uiLine}`};
13
13
  height: 100%;
14
- overflow: auto;
14
+ overflow-x: scroll;
15
+
15
16
  ::-webkit-scrollbar {
16
17
  -webkit-appearance: none;
17
18
  width: 4px;
@@ -11,7 +11,6 @@ import {
11
11
  getParentKey,
12
12
  moveElement,
13
13
  replaceElements,
14
- setIsSavedData,
15
14
  updateByEditorID,
16
15
  } from "@ax/forms";
17
16
 
@@ -214,10 +213,9 @@ function getNavigationByType(type: string): (dispatch: Dispatch, getState: any)
214
213
  };
215
214
  }
216
215
 
217
- function createNavigation(): (dispatch: Dispatch, getState: any) => Promise<void> {
216
+ function createNavigation(): (dispatch: Dispatch, getState: any) => Promise<boolean> {
218
217
  return async (dispatch, getState) => {
219
218
  try {
220
- dispatch(setIsSaving(true));
221
219
  const {
222
220
  navigation: { editorContent, isNewTranslation },
223
221
  sites: { currentSiteInfo },
@@ -234,8 +232,6 @@ function createNavigation(): (dispatch: Dispatch, getState: any) => Promise<void
234
232
  const successAction = async (response: any) => {
235
233
  generateContent(response, dispatch, getState);
236
234
  dispatch(setIsNewTranslation(false));
237
- setIsSavedData(true);
238
- getNavigationByType(response.type)(dispatch, getState);
239
235
  };
240
236
 
241
237
  const responseActions = {
@@ -245,10 +241,10 @@ function createNavigation(): (dispatch: Dispatch, getState: any) => Promise<void
245
241
 
246
242
  const callback = async () => navigation.createNavigation(cleanValues);
247
243
 
248
- await handleRequest(callback, responseActions, [appActions.setIsSaving])(dispatch);
244
+ return await handleRequest(callback, responseActions, [appActions.setIsSaving])(dispatch);
249
245
  } catch (e) {
250
- console.log(e); // TODO: capturar error bien
251
- dispatch(setIsSaving(false));
246
+ console.log(e);
247
+ return false;
252
248
  }
253
249
  };
254
250
  }
@@ -257,7 +253,7 @@ function updateNavigation(
257
253
  navID: number,
258
254
  data: any,
259
255
  fromEditor?: boolean
260
- ): (dispatch: Dispatch, getState: any) => Promise<void> {
256
+ ): (dispatch: Dispatch, getState: any) => Promise<boolean> {
261
257
  return async (dispatch, getState) => {
262
258
  try {
263
259
  const { isNewTranslation } = getStateValues(getState);
@@ -270,9 +266,7 @@ function updateNavigation(
270
266
  const successAction = async (response: any) => {
271
267
  if (fromEditor) {
272
268
  generateContent(response, dispatch, getState);
273
- setIsSavedData(true);
274
269
  }
275
- getNavigationByType(response.type)(dispatch, getState);
276
270
  };
277
271
  const responseActions = {
278
272
  handleSuccess: (response: any) => successAction(response),
@@ -281,9 +275,10 @@ function updateNavigation(
281
275
 
282
276
  const callback = async () => navigation.updateNavigation(navID, cleanValues);
283
277
 
284
- await handleRequest(callback, responseActions, [appActions.setIsSaving])(dispatch);
278
+ return await handleRequest(callback, responseActions, [appActions.setIsSaving])(dispatch);
285
279
  } catch (e) {
286
- console.log(e); // TODO: capturar error bien
280
+ console.log(e);
281
+ return false;
287
282
  }
288
283
  };
289
284
  }
@@ -673,17 +668,24 @@ function setSelectedTab(tab: string): (dispatch: Dispatch) => Promise<void> {
673
668
  };
674
669
  }
675
670
 
676
- const resetDefaultsValues = (dispatch: Dispatch) => {
677
- dispatch(setEditorContent({}));
678
- dispatch(setBreadcrumb([]));
679
- dispatch(setSchema({}));
680
- dispatch(setSelectedDefaultContent({}));
681
- dispatch(setSelectedEditorID(0));
682
- dispatch(setTab("content"));
683
- dispatch(setHeader(null));
684
- dispatch(setFooter(null));
685
- dispatch(setCurrentNavigationLanguages([]));
686
- };
671
+ function resetDefaultsValues(): (dispatch: Dispatch) => Promise<void> {
672
+ return async (dispatch) => {
673
+ try {
674
+ dispatch(setEditorContent(null));
675
+ dispatch(setBreadcrumb([]));
676
+ dispatch(setSchema({}));
677
+ dispatch(setSelectedDefaultContent({}));
678
+ dispatch(setSelectedEditorID(0));
679
+ dispatch(setTab("content"));
680
+ dispatch(setHeader(null));
681
+ dispatch(setFooter(null));
682
+ dispatch(setCurrentNavigationLanguages([]));
683
+ dispatch(setIsNewTranslation(false));
684
+ } catch (e) {
685
+ console.log("Error", e); //TODO
686
+ }
687
+ };
688
+ }
687
689
 
688
690
  export {
689
691
  setEditorContent,
@@ -21,10 +21,10 @@ import { NavigationActionsCreators } from "./interfaces";
21
21
  export interface INavigationState {
22
22
  editorContent: any | undefined;
23
23
  breadcrumb: IBreadcrumbItem[];
24
- schema: ISchema | {};
24
+ schema: ISchema | Record<string, unknown>;
25
25
  selectedContent: any;
26
26
  selectedDefault: string;
27
- selectedParent: Object | null;
27
+ selectedParent: Record<string, unknown> | null;
28
28
  tab: string;
29
29
  selectedEditorID: number | undefined;
30
30
  header: number | null;