@digigov/ui 0.30.0-navlist.alpha.3 → 0.30.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 (293) hide show
  1. package/CHANGELOG.md +23 -1
  2. package/admin/Drawer/__stories__/Default.js +43 -9
  3. package/admin/Pagination/index.d.ts +1 -1
  4. package/app/BottomInfoContainer/index.d.ts +9 -0
  5. package/app/BottomInfoContainer/index.js +35 -0
  6. package/app/BottomInfoContent/index.d.ts +9 -0
  7. package/app/BottomInfoContent/index.js +48 -0
  8. package/app/Header/__snapshots__/index.spec.tsx.snap +29 -370
  9. package/app/Header/__stories__/WithHeaderNavigation.js +6 -6
  10. package/app/Header/__stories__/WithNavigation.js +49 -18
  11. package/app/QrCodeScanner/__snapshots__/index.spec.tsx.snap +6 -15
  12. package/app/QrCodeScanner/index.spec.js +4 -2
  13. package/app/ThemeSelectorOptions/index.d.ts +2 -0
  14. package/app/ThemeSelectorOptions/index.js +80 -0
  15. package/app/index.d.ts +3 -0
  16. package/app/index.js +39 -0
  17. package/core/Accordion/__snapshots__/index.spec.tsx.snap +141 -68
  18. package/core/Accordion/index.d.ts +2 -2
  19. package/core/Blockquote/__snapshots__/index.spec.tsx.snap +7 -4
  20. package/core/Button/BackButton.d.ts +1 -1
  21. package/core/Button/__snapshots__/index.spec.tsx.snap +9 -5
  22. package/core/Details/__snapshots__/index.spec.tsx.snap +63 -32
  23. package/core/Divider/index.d.ts +1 -1
  24. package/core/ErrorSummary/__snapshots__/index.spec.tsx.snap +3 -318
  25. package/core/Link/__snapshots__/index.spec.tsx.snap +16 -9
  26. package/core/List/__snapshots__/index.spec.tsx.snap +3 -318
  27. package/core/NavList/Nav.d.ts +3 -0
  28. package/core/NavList/Nav.js +30 -0
  29. package/core/NavList/NavList.d.ts +2 -3
  30. package/core/NavList/NavList.js +20 -32
  31. package/core/NavList/NavList.stories.d.ts +2 -0
  32. package/core/NavList/NavList.stories.js +28 -0
  33. package/core/NavList/NavList.stories.playwright.json +12 -12
  34. package/core/NavList/NavListAuto.d.ts +4 -0
  35. package/core/NavList/NavListAuto.js +42 -0
  36. package/core/NavList/NavListBase.d.ts +2 -2
  37. package/core/NavList/NavListBase.js +11 -6
  38. package/core/NavList/NavListContext.d.ts +7 -1
  39. package/core/NavList/NavListContext.js +19 -5
  40. package/core/NavList/NavListItem.d.ts +1 -10
  41. package/core/NavList/NavListItem.js +17 -121
  42. package/core/NavList/NavListItemAuto.d.ts +8 -0
  43. package/core/NavList/NavListItemAuto.js +65 -0
  44. package/core/NavList/NavListItemBase.d.ts +9 -11
  45. package/core/NavList/NavListItemBase.js +47 -139
  46. package/core/NavList/NavListItemButton.d.ts +3 -0
  47. package/core/NavList/NavListItemButton.js +30 -0
  48. package/core/NavList/NavListItemLink.d.ts +3 -0
  49. package/core/NavList/NavListItemLink.js +30 -0
  50. package/core/NavList/NavListSubMenu.d.ts +2 -2
  51. package/core/NavList/NavListSubMenu.js +3 -5
  52. package/core/NavList/NavMenu.d.ts +1 -1
  53. package/core/NavList/NavMenu.js +19 -8
  54. package/core/NavList/NavMenuContainer.d.ts +1 -1
  55. package/core/NavList/NavMenuContainer.js +19 -8
  56. package/core/NavList/NavMenuContainerContent.d.ts +1 -1
  57. package/core/NavList/NavMenuContainerContent.js +19 -8
  58. package/core/NavList/NavMenuContainerContentList.d.ts +1 -1
  59. package/core/NavList/NavMenuContainerContentList.js +19 -8
  60. package/core/NavList/NavMenuContainerContentListItem.d.ts +1 -1
  61. package/core/NavList/NavMenuContainerContentListItem.js +19 -8
  62. package/core/NavList/NavMenuContainerTitle.d.ts +1 -1
  63. package/core/NavList/NavMenuContainerTitle.js +19 -8
  64. package/core/NavList/NavVertical.d.ts +1 -1
  65. package/core/NavList/NavVertical.js +19 -8
  66. package/core/NavList/NavVerticalItem.d.ts +1 -1
  67. package/core/NavList/NavVerticalItem.js +19 -8
  68. package/core/NavList/__snapshots__/index.spec.tsx.snap +3 -330
  69. package/core/NavList/__stories__/Default.js +54 -13
  70. package/core/NavList/__stories__/NavHorizontalLayout.js +42 -16
  71. package/core/NavList/__stories__/NavListAutoExample.d.ts +2 -0
  72. package/core/NavList/__stories__/NavListAutoExample.js +63 -0
  73. package/core/NavList/__stories__/NavListEpathlaExample.d.ts +2 -0
  74. package/core/NavList/__stories__/NavListEpathlaExample.js +141 -0
  75. package/core/NavList/index.d.ts +8 -15
  76. package/core/NavList/index.js +38 -84
  77. package/core/NavList/types.d.ts +8 -3
  78. package/core/NotificationBanner/__snapshots__/index.spec.tsx.snap +11 -725
  79. package/core/NotificationBanner/__stories__/Default.js +1 -1
  80. package/core/NotificationBanner/__stories__/Success.js +1 -1
  81. package/core/SummaryList/__snapshots__/index.spec.tsx.snap +87 -47
  82. package/core/SvgIcon/index.d.ts +1 -0
  83. package/core/SvgIcon/index.js +14 -0
  84. package/core/WarningText/__snapshots__/index.spec.tsx.snap +3 -332
  85. package/es/admin/Drawer/__stories__/Default.js +41 -10
  86. package/es/app/BottomInfoContainer/index.js +20 -0
  87. package/es/app/BottomInfoContent/index.js +33 -0
  88. package/es/app/Header/__snapshots__/index.spec.tsx.snap +29 -370
  89. package/es/app/Header/__stories__/WithHeaderNavigation.js +6 -6
  90. package/es/app/Header/__stories__/WithNavigation.js +48 -18
  91. package/es/app/QrCodeScanner/__snapshots__/index.spec.tsx.snap +6 -15
  92. package/es/app/QrCodeScanner/index.spec.js +4 -2
  93. package/es/app/ThemeSelectorOptions/index.js +55 -0
  94. package/es/app/index.js +4 -1
  95. package/es/core/Accordion/__snapshots__/index.spec.tsx.snap +141 -68
  96. package/es/core/Blockquote/__snapshots__/index.spec.tsx.snap +7 -4
  97. package/es/core/Button/__snapshots__/index.spec.tsx.snap +9 -5
  98. package/es/core/Details/__snapshots__/index.spec.tsx.snap +63 -32
  99. package/es/core/ErrorSummary/__snapshots__/index.spec.tsx.snap +3 -318
  100. package/es/core/Link/__snapshots__/index.spec.tsx.snap +16 -9
  101. package/es/core/List/__snapshots__/index.spec.tsx.snap +3 -318
  102. package/es/core/NavList/Nav.js +3 -0
  103. package/es/core/NavList/NavList.js +2 -24
  104. package/es/core/NavList/NavList.stories.js +2 -0
  105. package/es/core/NavList/NavList.stories.playwright.json +12 -12
  106. package/es/core/NavList/NavListAuto.js +25 -0
  107. package/es/core/NavList/NavListBase.js +10 -6
  108. package/es/core/NavList/NavListContext.js +17 -5
  109. package/es/core/NavList/NavListItem.js +17 -113
  110. package/es/core/NavList/NavListItemAuto.js +40 -0
  111. package/es/core/NavList/NavListItemBase.js +42 -130
  112. package/es/core/NavList/NavListItemButton.js +3 -0
  113. package/es/core/NavList/NavListItemLink.js +3 -0
  114. package/es/core/NavList/NavListSubMenu.js +3 -5
  115. package/es/core/NavList/NavMenu.js +1 -1
  116. package/es/core/NavList/NavMenuContainer.js +1 -1
  117. package/es/core/NavList/NavMenuContainerContent.js +1 -1
  118. package/es/core/NavList/NavMenuContainerContentList.js +1 -1
  119. package/es/core/NavList/NavMenuContainerContentListItem.js +1 -1
  120. package/es/core/NavList/NavMenuContainerTitle.js +1 -1
  121. package/es/core/NavList/NavVertical.js +1 -1
  122. package/es/core/NavList/NavVerticalItem.js +1 -1
  123. package/es/core/NavList/__snapshots__/index.spec.tsx.snap +3 -330
  124. package/es/core/NavList/__stories__/Default.js +45 -13
  125. package/es/core/NavList/__stories__/NavHorizontalLayout.js +34 -15
  126. package/es/core/NavList/__stories__/NavListAutoExample.js +48 -0
  127. package/es/core/NavList/__stories__/NavListEpathlaExample.js +123 -0
  128. package/es/core/NavList/index.js +8 -43
  129. package/es/core/NotificationBanner/__snapshots__/index.spec.tsx.snap +11 -725
  130. package/es/core/NotificationBanner/__stories__/Default.js +1 -1
  131. package/es/core/NotificationBanner/__stories__/Success.js +1 -1
  132. package/es/core/SummaryList/__snapshots__/index.spec.tsx.snap +87 -47
  133. package/es/core/SvgIcon/index.js +1 -0
  134. package/es/core/WarningText/__snapshots__/index.spec.tsx.snap +3 -332
  135. package/es/govgr/Footer/Copyright.js +5 -2
  136. package/es/hooks/useNavList.js +36 -0
  137. package/es/hooks/useTheme.js +43 -0
  138. package/es/hooks/useTogglableSections.js +2 -2
  139. package/es/layouts/Basic/__snapshots__/index.spec.tsx.snap +73 -38
  140. package/es/registry.js +20 -10
  141. package/esm/admin/Drawer/__stories__/Default.js +41 -10
  142. package/esm/app/BottomInfoContainer/index.js +20 -0
  143. package/esm/app/BottomInfoContent/index.js +33 -0
  144. package/esm/app/Header/__snapshots__/index.spec.tsx.snap +29 -370
  145. package/esm/app/Header/__stories__/WithHeaderNavigation.js +6 -6
  146. package/esm/app/Header/__stories__/WithNavigation.js +48 -18
  147. package/esm/app/QrCodeScanner/__snapshots__/index.spec.tsx.snap +6 -15
  148. package/esm/app/QrCodeScanner/index.spec.js +4 -2
  149. package/esm/app/ThemeSelectorOptions/index.js +55 -0
  150. package/esm/app/index.js +4 -1
  151. package/esm/core/Accordion/__snapshots__/index.spec.tsx.snap +141 -68
  152. package/esm/core/Blockquote/__snapshots__/index.spec.tsx.snap +7 -4
  153. package/esm/core/Button/__snapshots__/index.spec.tsx.snap +9 -5
  154. package/esm/core/Details/__snapshots__/index.spec.tsx.snap +63 -32
  155. package/esm/core/ErrorSummary/__snapshots__/index.spec.tsx.snap +3 -318
  156. package/esm/core/Link/__snapshots__/index.spec.tsx.snap +16 -9
  157. package/esm/core/List/__snapshots__/index.spec.tsx.snap +3 -318
  158. package/esm/core/NavList/Nav.js +3 -0
  159. package/esm/core/NavList/NavList.js +2 -24
  160. package/esm/core/NavList/NavList.stories.js +2 -0
  161. package/esm/core/NavList/NavList.stories.playwright.json +12 -12
  162. package/esm/core/NavList/NavListAuto.js +25 -0
  163. package/esm/core/NavList/NavListBase.js +10 -6
  164. package/esm/core/NavList/NavListContext.js +17 -5
  165. package/esm/core/NavList/NavListItem.js +17 -113
  166. package/esm/core/NavList/NavListItemAuto.js +40 -0
  167. package/esm/core/NavList/NavListItemBase.js +42 -130
  168. package/esm/core/NavList/NavListItemButton.js +3 -0
  169. package/esm/core/NavList/NavListItemLink.js +3 -0
  170. package/esm/core/NavList/NavListSubMenu.js +3 -5
  171. package/esm/core/NavList/NavMenu.js +1 -1
  172. package/esm/core/NavList/NavMenuContainer.js +1 -1
  173. package/esm/core/NavList/NavMenuContainerContent.js +1 -1
  174. package/esm/core/NavList/NavMenuContainerContentList.js +1 -1
  175. package/esm/core/NavList/NavMenuContainerContentListItem.js +1 -1
  176. package/esm/core/NavList/NavMenuContainerTitle.js +1 -1
  177. package/esm/core/NavList/NavVertical.js +1 -1
  178. package/esm/core/NavList/NavVerticalItem.js +1 -1
  179. package/esm/core/NavList/__snapshots__/index.spec.tsx.snap +3 -330
  180. package/esm/core/NavList/__stories__/Default.js +45 -13
  181. package/esm/core/NavList/__stories__/NavHorizontalLayout.js +34 -15
  182. package/esm/core/NavList/__stories__/NavListAutoExample.js +48 -0
  183. package/esm/core/NavList/__stories__/NavListEpathlaExample.js +123 -0
  184. package/esm/core/NavList/index.js +8 -43
  185. package/esm/core/NotificationBanner/__snapshots__/index.spec.tsx.snap +11 -725
  186. package/esm/core/NotificationBanner/__stories__/Default.js +1 -1
  187. package/esm/core/NotificationBanner/__stories__/Success.js +1 -1
  188. package/esm/core/SummaryList/__snapshots__/index.spec.tsx.snap +87 -47
  189. package/esm/core/SvgIcon/index.js +1 -0
  190. package/esm/core/WarningText/__snapshots__/index.spec.tsx.snap +3 -332
  191. package/esm/govgr/Footer/Copyright.js +5 -2
  192. package/esm/hooks/useNavList.js +36 -0
  193. package/esm/hooks/useTheme.js +43 -0
  194. package/esm/hooks/useTogglableSections.js +2 -2
  195. package/esm/index.js +1 -1
  196. package/esm/layouts/Basic/__snapshots__/index.spec.tsx.snap +73 -38
  197. package/esm/registry.js +20 -10
  198. package/govgr/Footer/Copyright.js +7 -2
  199. package/hooks/useNavList.d.ts +8 -0
  200. package/hooks/useNavList.js +52 -0
  201. package/hooks/useTheme.d.ts +8 -0
  202. package/hooks/useTheme.js +58 -0
  203. package/hooks/useTogglableSections.d.ts +2 -2
  204. package/hooks/useTogglableSections.js +2 -2
  205. package/layouts/Basic/Content/index.d.ts +1 -1
  206. package/layouts/Basic/Side/index.d.ts +1 -1
  207. package/layouts/Basic/__snapshots__/index.spec.tsx.snap +73 -38
  208. package/package.json +3 -3
  209. package/registry.d.ts +10 -5
  210. package/registry.js +29 -14
  211. package/src/admin/Drawer/__stories__/Default.tsx +59 -11
  212. package/src/app/BottomInfoContainer/index.tsx +19 -0
  213. package/src/app/BottomInfoContent/index.tsx +32 -0
  214. package/src/app/Header/__snapshots__/index.spec.tsx.snap +29 -370
  215. package/src/app/Header/__stories__/WithHeaderNavigation.tsx +10 -10
  216. package/src/app/Header/__stories__/WithNavigation.tsx +50 -41
  217. package/src/app/QrCodeScanner/__snapshots__/index.spec.tsx.snap +6 -15
  218. package/src/app/QrCodeScanner/index.spec.tsx +10 -8
  219. package/src/app/ThemeSelectorOptions/index.tsx +54 -0
  220. package/src/app/index.ts +3 -0
  221. package/src/core/Accordion/__snapshots__/index.spec.tsx.snap +141 -68
  222. package/src/core/Blockquote/__snapshots__/index.spec.tsx.snap +7 -4
  223. package/src/core/Button/__snapshots__/index.spec.tsx.snap +9 -5
  224. package/src/core/Details/__snapshots__/index.spec.tsx.snap +63 -32
  225. package/src/core/ErrorSummary/__snapshots__/index.spec.tsx.snap +3 -318
  226. package/src/core/Link/__snapshots__/index.spec.tsx.snap +16 -9
  227. package/src/core/List/__snapshots__/index.spec.tsx.snap +3 -318
  228. package/src/core/NavList/Nav.tsx +3 -0
  229. package/src/core/NavList/NavList.stories.js +2 -0
  230. package/src/core/NavList/NavList.stories.playwright.json +12 -12
  231. package/src/core/NavList/NavList.tsx +2 -23
  232. package/src/core/NavList/NavListAuto.tsx +20 -0
  233. package/src/core/NavList/NavListBase.tsx +8 -7
  234. package/src/core/NavList/NavListContext.tsx +17 -5
  235. package/src/core/NavList/NavListItem.tsx +30 -115
  236. package/src/core/NavList/NavListItemAuto.tsx +41 -0
  237. package/src/core/NavList/NavListItemBase.tsx +56 -139
  238. package/src/core/NavList/NavListItemButton.tsx +3 -0
  239. package/src/core/NavList/NavListItemLink.tsx +3 -0
  240. package/src/core/NavList/NavListSubMenu.tsx +6 -12
  241. package/src/core/NavList/NavMenu.tsx +1 -2
  242. package/src/core/NavList/NavMenuContainer.tsx +1 -2
  243. package/src/core/NavList/NavMenuContainerContent.tsx +1 -2
  244. package/src/core/NavList/NavMenuContainerContentList.tsx +1 -2
  245. package/src/core/NavList/NavMenuContainerContentListItem.tsx +1 -2
  246. package/src/core/NavList/NavMenuContainerTitle.tsx +1 -2
  247. package/src/core/NavList/NavVertical.tsx +1 -2
  248. package/src/core/NavList/NavVerticalItem.tsx +1 -2
  249. package/src/core/NavList/__snapshots__/index.spec.tsx.snap +3 -330
  250. package/src/core/NavList/__stories__/Default.tsx +61 -16
  251. package/src/core/NavList/__stories__/NavHorizontalLayout.tsx +50 -45
  252. package/src/core/NavList/__stories__/NavListAutoExample.tsx +53 -0
  253. package/src/core/NavList/__stories__/NavListEpathlaExample.tsx +174 -0
  254. package/src/core/NavList/index.tsx +8 -48
  255. package/src/core/NavList/types.tsx +10 -4
  256. package/src/core/NotificationBanner/__snapshots__/index.spec.tsx.snap +11 -725
  257. package/src/core/NotificationBanner/__stories__/Default.tsx +1 -1
  258. package/src/core/NotificationBanner/__stories__/Success.tsx +1 -1
  259. package/src/core/SummaryList/__snapshots__/index.spec.tsx.snap +87 -47
  260. package/src/core/SvgIcon/index.tsx +1 -0
  261. package/src/core/WarningText/__snapshots__/index.spec.tsx.snap +3 -332
  262. package/src/govgr/Footer/Copyright.tsx +2 -1
  263. package/src/hooks/useNavList.ts +36 -0
  264. package/src/hooks/useTheme.ts +49 -0
  265. package/src/hooks/useTogglableSections.tsx +3 -3
  266. package/src/layouts/Basic/__snapshots__/index.spec.tsx.snap +73 -38
  267. package/src/registry.js +20 -10
  268. package/typography/Caption/index.d.ts +1 -1
  269. package/core/NavList/NavHorizontal.d.ts +0 -3
  270. package/core/NavList/NavHorizontal.js +0 -19
  271. package/core/NavList/NavHorizontalList.d.ts +0 -3
  272. package/core/NavList/NavHorizontalList.js +0 -19
  273. package/core/NavList/NavHorizontalListItem.d.ts +0 -4
  274. package/core/NavList/NavHorizontalListItem.js +0 -30
  275. package/core/NavList/NavHorizontalListItemButton.d.ts +0 -3
  276. package/core/NavList/NavHorizontalListItemButton.js +0 -19
  277. package/core/NavList/NavHorizontalListItemLink.d.ts +0 -3
  278. package/core/NavList/NavHorizontalListItemLink.js +0 -19
  279. package/es/core/NavList/NavHorizontal.js +0 -3
  280. package/es/core/NavList/NavHorizontalList.js +0 -3
  281. package/es/core/NavList/NavHorizontalListItem.js +0 -13
  282. package/es/core/NavList/NavHorizontalListItemButton.js +0 -3
  283. package/es/core/NavList/NavHorizontalListItemLink.js +0 -3
  284. package/esm/core/NavList/NavHorizontal.js +0 -3
  285. package/esm/core/NavList/NavHorizontalList.js +0 -3
  286. package/esm/core/NavList/NavHorizontalListItem.js +0 -13
  287. package/esm/core/NavList/NavHorizontalListItemButton.js +0 -3
  288. package/esm/core/NavList/NavHorizontalListItemLink.js +0 -3
  289. package/src/core/NavList/NavHorizontal.tsx +0 -4
  290. package/src/core/NavList/NavHorizontalList.tsx +0 -4
  291. package/src/core/NavList/NavHorizontalListItem.tsx +0 -32
  292. package/src/core/NavList/NavHorizontalListItemButton.tsx +0 -3
  293. package/src/core/NavList/NavHorizontalListItemLink.tsx +0 -3
@@ -0,0 +1,174 @@
1
+ import React from 'react';
2
+ import {
3
+ NavListAuto,
4
+ NavListItem,
5
+ NavMenu,
6
+ NavMenuContainer,
7
+ NavMenuContainerContent,
8
+ NavMenuContainerContentList,
9
+ NavMenuContainerContentListItem,
10
+ NavMenuContainerTitle,
11
+ isNavListItemLinkInterface,
12
+ } from '@digigov/ui/core/NavList';
13
+ import { useNavList } from '@digigov/ui/hooks/useNavList';
14
+ import { Link } from '@digigov/ui/core';
15
+
16
+ const LANG = 'el';
17
+ const DEFAULT_HREF_FLAG = true;
18
+
19
+ const epathlaLinks = [
20
+ {
21
+ name: 'index',
22
+ href: DEFAULT_HREF_FLAG ? '#' : `/${LANG}`,
23
+ label: 'Αρχική',
24
+ },
25
+ {
26
+ name: 'epathla',
27
+ label: 'Ε.Π.ΑΘΛ.Α',
28
+ subMenu: [
29
+ {
30
+ name: 'epathla/aim',
31
+ href: DEFAULT_HREF_FLAG ? '#' : `/${LANG}/epathla/aim`,
32
+ label: 'Σκοπός',
33
+ },
34
+ {
35
+ name: 'epathla/structure',
36
+ href: DEFAULT_HREF_FLAG ? '#' : `/${LANG}/epathla/structure`,
37
+ label: 'Δομή',
38
+ },
39
+ {
40
+ name: 'epathla/members',
41
+ href: DEFAULT_HREF_FLAG ? '#' : `/${LANG}/epathla/members`,
42
+ label: 'Συγκρότηση',
43
+ },
44
+ {
45
+ name: 'epathla/wording-groups',
46
+ href: DEFAULT_HREF_FLAG ? '#' : `/${LANG}/epathla/working-groups`,
47
+ label: 'Ομάδες εργασίας',
48
+ },
49
+ ],
50
+ },
51
+ {
52
+ name: 'sport-manipulation',
53
+ label: 'Χειραγώγηση Αγώνων',
54
+ subMenu: [
55
+ {
56
+ name: 'sport-manipulation/macolin',
57
+ href: DEFAULT_HREF_FLAG ? '#' : `/${LANG}/sport-manipulation/macolin`,
58
+ label: 'Σύμβαση Macolin',
59
+ },
60
+ {
61
+ name: 'sport-manipulation/terminology',
62
+ href: DEFAULT_HREF_FLAG
63
+ ? '#'
64
+ : `/${LANG}/sport-manipulation/terminology`,
65
+ label: 'Ορολογία',
66
+ },
67
+ {
68
+ name: 'sport-manipulation/typology',
69
+ href: DEFAULT_HREF_FLAG ? '#' : `/${LANG}/sport-manipulation/typology`,
70
+ label: 'Τυπολογία',
71
+ },
72
+ {
73
+ name: 'sport-manipulation/law',
74
+ href: DEFAULT_HREF_FLAG ? '#' : `/${LANG}/sport-manipulation/law`,
75
+ label: 'Νομοθεσία',
76
+ },
77
+ {
78
+ name: 'sport-manipulation/documents',
79
+ href: DEFAULT_HREF_FLAG ? '#' : `/${LANG}/sport-manipulation/documents`,
80
+ label: 'Κείμενα αναφοράς διεθνών οργανισμών',
81
+ },
82
+ ],
83
+ },
84
+ {
85
+ name: 'educational-material',
86
+ label: 'Εκπαιδευτικό υλικό',
87
+ subMenu: [
88
+ {
89
+ name: 'educational-material/videos',
90
+ href: DEFAULT_HREF_FLAG ? '#' : `/${LANG}/educational-material/videos`,
91
+ label: 'Βίντεο',
92
+ },
93
+ {
94
+ name: 'educational-material/presentations',
95
+ href: DEFAULT_HREF_FLAG
96
+ ? '#'
97
+ : `/${LANG}/educational-material/presentations`,
98
+ label: 'Παρουσιάσεις',
99
+ },
100
+ {
101
+ name: 'educational-material/other-texts',
102
+ href: DEFAULT_HREF_FLAG
103
+ ? '#'
104
+ : `/${LANG}/educational-material/other-texts`,
105
+ label: 'Άλλα κείμενα',
106
+ },
107
+ ],
108
+ },
109
+ {
110
+ name: 'news',
111
+ href: DEFAULT_HREF_FLAG ? '#' : `/${LANG}/news`,
112
+ label: 'Νέα',
113
+ },
114
+ {
115
+ name: 'send-report',
116
+ href: DEFAULT_HREF_FLAG ? '#' : `/${LANG}/send-report`,
117
+ label: 'Προστάτεψε το άθλημά σου',
118
+ },
119
+ {
120
+ name: 'links',
121
+ href: DEFAULT_HREF_FLAG ? '#' : `/${LANG}/links`,
122
+ label: 'Σύνδεσμοι',
123
+ },
124
+ {
125
+ name: 'contact',
126
+ href: DEFAULT_HREF_FLAG ? '#' : `/${LANG}/contact`,
127
+ label: 'Επικοινωνία',
128
+ },
129
+ ];
130
+
131
+ export const NavListEpathlaExample = () => {
132
+ const { container, register } = useNavList();
133
+
134
+ const setRegister = (name: string) => {
135
+ return { ...register(name) };
136
+ };
137
+
138
+ return (
139
+ <>
140
+ <NavListAuto
141
+ layout={'horizontal'}
142
+ links={epathlaLinks}
143
+ aria-label="Nav list"
144
+ role="menu"
145
+ >
146
+ {epathlaLinks.map((item, key) => (
147
+ <React.Fragment key={key}>
148
+ <NavListItem link={item} setRegister={setRegister} />
149
+ <NavMenu {...container(item.name)}>
150
+ <NavMenuContainer paddingLeft={5} paddingRight={5}>
151
+ <NavMenuContainerTitle>{item.label}</NavMenuContainerTitle>
152
+ <NavMenuContainerContent>
153
+ <NavMenuContainerContentList>
154
+ {item.subMenu?.map((subMenu, menuIndex) => {
155
+ return (
156
+ isNavListItemLinkInterface(subMenu) && (
157
+ <NavMenuContainerContentListItem key={menuIndex}>
158
+ <Link href={subMenu.href}>{subMenu.label}</Link>
159
+ </NavMenuContainerContentListItem>
160
+ )
161
+ );
162
+ })}
163
+ </NavMenuContainerContentList>
164
+ </NavMenuContainerContent>
165
+ </NavMenuContainer>
166
+ </NavMenu>
167
+ </React.Fragment>
168
+ ))}
169
+ </NavListAuto>
170
+ </>
171
+ );
172
+ };
173
+
174
+ export default NavListEpathlaExample;
@@ -1,54 +1,13 @@
1
- import { useCallback, useRef } from 'react';
2
- import NavList from '@digigov/ui/core/NavList/NavList';
3
- import {
4
- useTogglableSections,
5
- UseTogglableSectionsReturn,
6
- } from '@digigov/ui/hooks/useTogglableSections';
7
-
8
- export interface UseNavListReturn extends UseTogglableSectionsReturn {
9
- container: (key: string) => { active: boolean; id: string };
10
- }
11
- export const useNavList = (): UseNavListReturn => {
12
- const registeredContainers = useRef({});
13
-
14
- const { register: registerListItem, opened, ...rest } = useTogglableSections({
15
- singleOpen: true,
16
- reOpen: true,
17
- toggleProperty: 'active',
18
- onToggleProperty: 'onClick',
19
- ariaNavigation: true,
20
- });
21
- const registerNavMenu = useCallback(
22
- (key: string) => {
23
- return {
24
- ref: (el) => {
25
- if (el && !registeredContainers.current[el.id]) {
26
- registeredContainers.current[el.id] = el;
27
- }
28
- },
29
- active: opened[key],
30
- id: key,
31
- };
32
- },
33
- [opened]
34
- );
35
- return {
36
- register: registerListItem,
37
- opened,
38
- container: registerNavMenu,
39
- ...rest,
40
- };
41
- };
42
-
43
- export * from '@digigov/ui/core/NavList/NavList';
44
1
  export * from '@digigov/ui/core/NavList/NavListItem';
2
+ export * from '@digigov/ui/core/NavList/NavListAuto';
3
+ export * from '@digigov/ui/core/NavList/NavListItemAuto';
45
4
  export * from '@digigov/ui/core/NavList/NavListSubMenu';
46
5
  export * from '@digigov/ui/core/NavList/NavListContext';
47
- export * from '@digigov/ui/core/NavList/NavHorizontal';
48
- export * from '@digigov/ui/core/NavList/NavHorizontalList';
49
- export * from '@digigov/ui/core/NavList/NavHorizontalListItem';
50
- export * from '@digigov/ui/core/NavList/NavHorizontalListItemLink';
51
- export * from '@digigov/ui/core/NavList/NavHorizontalListItemButton';
6
+ export * from '@digigov/ui/core/NavList/Nav';
7
+ export * from '@digigov/ui/core/NavList/NavList';
8
+ export * from '@digigov/ui/core/NavList/NavListItem';
9
+ export * from '@digigov/ui/core/NavList/NavListItemLink';
10
+ export * from '@digigov/ui/core/NavList/NavListItemButton';
52
11
  export * from '@digigov/ui/core/NavList/NavMenu';
53
12
  export * from '@digigov/ui/core/NavList/NavMenuContainer';
54
13
  export * from '@digigov/ui/core/NavList/NavMenuContainerTitle';
@@ -59,4 +18,5 @@ export * from '@digigov/ui/core/NavList/NavVertical';
59
18
  export * from '@digigov/ui/core/NavList/NavVerticalItem';
60
19
  export * from '@digigov/ui/core/NavList/types';
61
20
 
21
+ import NavList from '@digigov/ui/core/NavList/NavList';
62
22
  export default NavList;
@@ -2,10 +2,12 @@ import React from 'react';
2
2
  import { NavLinkInterface } from '@digigov/ui/core/NavList/NavListContext';
3
3
  import { BaseCSSProperties } from '@material-ui/core/styles/withStyles';
4
4
 
5
- export interface NavListProps {
5
+ export type NavListLayout = 'horizontal' | 'vertical';
6
+
7
+ export interface NavListAutoProps {
6
8
  children?: React.ReactNode;
7
9
  className?: string;
8
- horizontal?: boolean;
10
+ layout?: NavListLayout;
9
11
  role?: string;
10
12
  openSubMenus?: boolean;
11
13
  floating?: boolean;
@@ -17,6 +19,7 @@ export interface NavListProps {
17
19
  interface NavListItemInterface {
18
20
  name: string;
19
21
  label?: string;
22
+ title?: string;
20
23
  children?: React.ReactNode;
21
24
  }
22
25
 
@@ -49,11 +52,14 @@ export const isNavListItemLinkInterface = (
49
52
  export const isNavListItemSubMenuInterface = (
50
53
  item: any
51
54
  ): item is NavListItemSubMenuInterface => {
52
- return item && 'subMenu' in item;
55
+ return item && 'subMenu' in item;
53
56
  };
54
57
 
55
- export interface NavHorizontalListItemProps {
58
+ export interface NavListItemProps {
56
59
  children?: React.ReactNode;
60
+ role?: string;
57
61
  link?: NavListItemType;
62
+ layout?: NavListLayout;
63
+ active?: boolean;
58
64
  setRegister?: (name: string) => any;
59
65
  }