@digigov/ui 0.30.3 → 0.32.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 (352) hide show
  1. package/CHANGELOG.md +28 -1
  2. package/admin/AccessibilityMenu/index.d.ts +13 -0
  3. package/admin/AccessibilityMenu/index.js +170 -0
  4. package/admin/AutoComplete/index.d.ts +2 -2
  5. package/admin/Chip/index.d.ts +1 -0
  6. package/admin/Chip/index.js +14 -0
  7. package/admin/CopyToClipboard/CopyToClipboard.stories.playwright.json +2 -2
  8. package/admin/Drawer/__stories__/Default.js +19 -12
  9. package/admin/Dropdown/__stories__/AlignRight.js +0 -2
  10. package/admin/Dropdown/__stories__/Default.js +0 -2
  11. package/admin/Dropdown/__stories__/PlacementTop.js +0 -2
  12. package/admin/FilterSection/index.d.ts +1 -2
  13. package/admin/FilterSection/index.js +4 -18
  14. package/admin/Modal/index.d.ts +2 -2
  15. package/admin/Modal/index.js +17 -12
  16. package/admin/Pagination/__stories__/Default.js +4 -7
  17. package/admin/Pagination/__stories__/PaginationSmall.js +2 -3
  18. package/app/Footer/__stories__/FooterAllInclusive.js +1 -0
  19. package/app/Footer/__stories__/FooterWithSecondaryNavigation.js +1 -0
  20. package/app/Header/__stories__/WithNavigation.js +10 -8
  21. package/app/QrCodeScanner/__stories__/Default.js +3 -3
  22. package/app/QrCodeViewer/QRCode.stories.d.ts +0 -1
  23. package/app/QrCodeViewer/index.d.ts +1 -2
  24. package/app/QrCodeViewer/index.js +10 -10
  25. package/app/ThemeOptionsForm/index.d.ts +2 -0
  26. package/app/ThemeOptionsForm/index.js +243 -0
  27. package/app/ThemePaletteForm/index.d.ts +2 -0
  28. package/app/{ThemeSelectorOptions → ThemePaletteForm}/index.js +9 -8
  29. package/app/index.d.ts +2 -1
  30. package/app/index.js +17 -4
  31. package/core/Accordion/Accordion.stories.playwright.json +2 -2
  32. package/core/Accordion/index.d.ts +2 -2
  33. package/core/Accordion/index.js +7 -7
  34. package/core/Divider/__stories__/Default.js +5 -10
  35. package/core/ErrorSummary/ErrorSummary.stories.playwright.json +1 -1
  36. package/core/ErrorSummary/__stories__/Default.js +3 -3
  37. package/core/ErrorSummary/__stories__/LinkedToCheckbox.js +3 -3
  38. package/core/ErrorSummary/__stories__/LinkedToField.js +3 -3
  39. package/core/ErrorSummary/__stories__/LinkedToInput.js +3 -3
  40. package/core/Link/__stories__/DarkBackground.js +6 -2
  41. package/core/Link/__stories__/DarkBackgroundNoUnderline.js +6 -2
  42. package/core/NavList/NavList.stories.d.ts +1 -3
  43. package/core/NavList/NavList.stories.js +4 -32
  44. package/core/NavList/NavList.stories.playwright.json +6 -6
  45. package/core/NavList/{NavListAuto.js → NavListAuto/NavListAuto.js} +11 -5
  46. package/core/NavList/{NavListBase.d.ts → NavListAuto/NavListBaseAuto.d.ts} +1 -1
  47. package/core/NavList/{NavListBase.js → NavListAuto/NavListBaseAuto.js} +6 -6
  48. package/core/NavList/{NavListContext.d.ts → NavListAuto/NavListContextAuto.d.ts} +7 -4
  49. package/core/NavList/{NavListContext.js → NavListAuto/NavListContextAuto.js} +23 -11
  50. package/core/NavList/NavListAuto/NavListItemAnchorAuto.d.ts +9 -0
  51. package/core/NavList/{NavListSubMenu.js → NavListAuto/NavListItemAnchorAuto.js} +22 -21
  52. package/core/NavList/{NavListItemAuto.js → NavListAuto/NavListItemAuto.js} +20 -22
  53. package/core/NavList/NavListAuto/NavListItemButtonAuto.d.ts +12 -0
  54. package/core/NavList/NavListAuto/NavListItemButtonAuto.js +48 -0
  55. package/core/NavList/NavListAuto/NavListMenuAuto.d.ts +11 -0
  56. package/core/NavList/NavListAuto/NavListMenuAuto.js +56 -0
  57. package/core/NavList/NavListAuto/NavListSubMenuAuto.d.ts +9 -0
  58. package/core/NavList/NavListAuto/NavListSubMenuAuto.js +44 -0
  59. package/core/NavList/NavListItem.js +6 -8
  60. package/core/NavList/NavListItemBase.d.ts +1 -1
  61. package/core/NavList/NavListItemBase.js +4 -9
  62. package/core/NavList/NavMenuContainerContentList.d.ts +3 -1
  63. package/core/NavList/NavMenuContainerContentList.js +73 -3
  64. package/core/NavList/__stories__/Default.js +22 -15
  65. package/core/NavList/__stories__/NavVerticalLayout.d.ts +2 -0
  66. package/core/NavList/__stories__/{NavHorizontalLayout.js → NavVerticalLayout.js} +24 -18
  67. package/core/NavList/index.d.ts +3 -5
  68. package/core/NavList/index.js +9 -23
  69. package/core/NavList/types.d.ts +20 -11
  70. package/core/SingleCharacterInputContainer/SingleCharacterInputContainer.stories.d.ts +13 -0
  71. package/core/SingleCharacterInputContainer/SingleCharacterInputContainer.stories.js +75 -0
  72. package/core/SingleCharacterInputContainer/__stories__/Default.d.ts +2 -0
  73. package/core/SingleCharacterInputContainer/__stories__/Default.js +46 -0
  74. package/core/SingleCharacterInputContainer/__stories__/WithDefaultError.d.ts +2 -0
  75. package/core/SingleCharacterInputContainer/__stories__/WithDefaultError.js +52 -0
  76. package/core/SingleCharacterInputContainer/__stories__/WithErrorMessageInvalidCode.d.ts +2 -0
  77. package/core/SingleCharacterInputContainer/__stories__/WithErrorMessageInvalidCode.js +58 -0
  78. package/core/SingleCharacterInputContainer/__stories__/WithErrorMessageLessDigit.d.ts +2 -0
  79. package/core/SingleCharacterInputContainer/__stories__/WithErrorMessageLessDigit.js +52 -0
  80. package/core/SingleCharacterInputContainer/index.d.ts +4 -0
  81. package/core/SingleCharacterInputContainer/index.js +44 -0
  82. package/core/SingleCharacterInputContainer/index.mdx +29 -0
  83. package/core/Tabs/__stories__/Default.js +5 -5
  84. package/core/Tabs/index.d.ts +2 -2
  85. package/core/Tabs/index.js +5 -7
  86. package/es/admin/AccessibilityMenu/index.js +13 -0
  87. package/es/admin/Chip/index.js +1 -0
  88. package/es/admin/CopyToClipboard/CopyToClipboard.stories.playwright.json +2 -2
  89. package/es/admin/Drawer/__stories__/Default.js +20 -13
  90. package/es/admin/Dropdown/__stories__/AlignRight.js +0 -2
  91. package/es/admin/Dropdown/__stories__/Default.js +0 -2
  92. package/es/admin/Dropdown/__stories__/PlacementTop.js +0 -2
  93. package/es/admin/FilterSection/index.js +1 -2
  94. package/es/admin/Modal/index.js +16 -11
  95. package/es/admin/Pagination/__stories__/Default.js +4 -7
  96. package/es/admin/Pagination/__stories__/PaginationSmall.js +2 -3
  97. package/es/app/Footer/__stories__/FooterAllInclusive.js +1 -0
  98. package/es/app/Footer/__stories__/FooterWithSecondaryNavigation.js +1 -0
  99. package/es/app/Header/__stories__/WithNavigation.js +10 -8
  100. package/es/app/QrCodeScanner/__stories__/Default.js +3 -3
  101. package/es/app/QrCodeViewer/index.js +8 -9
  102. package/es/app/ThemeOptionsForm/index.js +215 -0
  103. package/es/app/{ThemeSelectorOptions → ThemePaletteForm}/index.js +5 -4
  104. package/es/app/index.js +2 -1
  105. package/es/core/Accordion/Accordion.stories.playwright.json +2 -2
  106. package/es/core/Accordion/index.js +7 -7
  107. package/es/core/Divider/__stories__/Default.js +5 -10
  108. package/es/core/ErrorSummary/ErrorSummary.stories.playwright.json +1 -1
  109. package/es/core/ErrorSummary/__stories__/Default.js +3 -3
  110. package/es/core/ErrorSummary/__stories__/LinkedToCheckbox.js +3 -3
  111. package/es/core/ErrorSummary/__stories__/LinkedToField.js +3 -3
  112. package/es/core/ErrorSummary/__stories__/LinkedToInput.js +3 -3
  113. package/es/core/Link/__stories__/DarkBackground.js +6 -2
  114. package/es/core/Link/__stories__/DarkBackgroundNoUnderline.js +6 -2
  115. package/es/core/NavList/NavList.stories.js +1 -3
  116. package/es/core/NavList/NavList.stories.playwright.json +6 -6
  117. package/{esm/core/NavList → es/core/NavList/NavListAuto}/NavListAuto.js +11 -5
  118. package/{esm/core/NavList/NavListBase.js → es/core/NavList/NavListAuto/NavListBaseAuto.js} +4 -4
  119. package/es/core/NavList/{NavListContext.js → NavListAuto/NavListContextAuto.js} +20 -8
  120. package/es/core/NavList/NavListAuto/NavListItemAnchorAuto.js +26 -0
  121. package/es/core/NavList/NavListAuto/NavListItemAuto.js +38 -0
  122. package/es/core/NavList/NavListAuto/NavListItemButtonAuto.js +30 -0
  123. package/es/core/NavList/NavListAuto/NavListMenuAuto.js +36 -0
  124. package/es/core/NavList/NavListAuto/NavListSubMenuAuto.js +26 -0
  125. package/es/core/NavList/NavListItem.js +7 -9
  126. package/es/core/NavList/NavListItemBase.js +4 -9
  127. package/es/core/NavList/NavMenuContainerContentList.js +64 -1
  128. package/es/core/NavList/__stories__/Default.js +22 -15
  129. package/{esm/core/NavList/__stories__/NavHorizontalLayout.js → es/core/NavList/__stories__/NavVerticalLayout.js} +22 -16
  130. package/es/core/NavList/index.js +3 -5
  131. package/es/core/SingleCharacterInputContainer/SingleCharacterInputContainer.stories.js +12 -0
  132. package/es/core/SingleCharacterInputContainer/__stories__/Default.js +31 -0
  133. package/es/core/SingleCharacterInputContainer/__stories__/WithDefaultError.js +35 -0
  134. package/es/core/SingleCharacterInputContainer/__stories__/WithErrorMessageInvalidCode.js +41 -0
  135. package/es/core/SingleCharacterInputContainer/__stories__/WithErrorMessageLessDigit.js +35 -0
  136. package/es/core/SingleCharacterInputContainer/index.js +4 -0
  137. package/es/core/SingleCharacterInputContainer/index.mdx +29 -0
  138. package/es/core/Tabs/__stories__/Default.js +5 -5
  139. package/es/core/Tabs/index.js +5 -7
  140. package/es/hooks/useFontSize.js +10 -0
  141. package/es/hooks/useHighlightLinks.js +38 -0
  142. package/es/hooks/useLetterSpacing.js +10 -0
  143. package/es/hooks/useLineHeight.js +10 -0
  144. package/es/hooks/useNavList.js +10 -7
  145. package/es/hooks/useTheme.js +19 -11
  146. package/es/hooks/useTogglableNav.js +292 -0
  147. package/es/hooks/{useTogglableSections.js → useTogglableTab.js} +2 -8
  148. package/es/hooks/useVariantVars.js +30 -0
  149. package/es/layouts/Basic/__stories__/Default.js +2 -2
  150. package/es/layouts/Basic/__stories__/MultipleRowsLayout.js +3 -3
  151. package/es/layouts/Basic/__stories__/TwoThirdsOneThirdColumns.js +3 -3
  152. package/es/locales/el.js +4 -0
  153. package/es/registry.js +40 -14
  154. package/es/typography/NormalText/__stories__/FontSizes.js +18 -6
  155. package/es/typography/NormalText/__stories__/FontWeight.js +3 -1
  156. package/es/typography/NormalText/__stories__/Variants.js +3 -1
  157. package/esm/admin/AccessibilityMenu/index.js +13 -0
  158. package/esm/admin/Chip/index.js +1 -0
  159. package/esm/admin/CopyToClipboard/CopyToClipboard.stories.playwright.json +2 -2
  160. package/esm/admin/Drawer/__stories__/Default.js +20 -13
  161. package/esm/admin/Dropdown/__stories__/AlignRight.js +0 -2
  162. package/esm/admin/Dropdown/__stories__/Default.js +0 -2
  163. package/esm/admin/Dropdown/__stories__/PlacementTop.js +0 -2
  164. package/esm/admin/FilterSection/index.js +1 -2
  165. package/esm/admin/Modal/index.js +16 -11
  166. package/esm/admin/Pagination/__stories__/Default.js +4 -7
  167. package/esm/admin/Pagination/__stories__/PaginationSmall.js +2 -3
  168. package/esm/app/Footer/__stories__/FooterAllInclusive.js +1 -0
  169. package/esm/app/Footer/__stories__/FooterWithSecondaryNavigation.js +1 -0
  170. package/esm/app/Header/__stories__/WithNavigation.js +10 -8
  171. package/esm/app/QrCodeScanner/__stories__/Default.js +3 -3
  172. package/esm/app/QrCodeViewer/index.js +8 -9
  173. package/esm/app/ThemeOptionsForm/index.js +215 -0
  174. package/esm/app/{ThemeSelectorOptions → ThemePaletteForm}/index.js +5 -4
  175. package/esm/app/index.js +2 -1
  176. package/esm/core/Accordion/Accordion.stories.playwright.json +2 -2
  177. package/esm/core/Accordion/index.js +7 -7
  178. package/esm/core/Divider/__stories__/Default.js +5 -10
  179. package/esm/core/ErrorSummary/ErrorSummary.stories.playwright.json +1 -1
  180. package/esm/core/ErrorSummary/__stories__/Default.js +3 -3
  181. package/esm/core/ErrorSummary/__stories__/LinkedToCheckbox.js +3 -3
  182. package/esm/core/ErrorSummary/__stories__/LinkedToField.js +3 -3
  183. package/esm/core/ErrorSummary/__stories__/LinkedToInput.js +3 -3
  184. package/esm/core/Link/__stories__/DarkBackground.js +6 -2
  185. package/esm/core/Link/__stories__/DarkBackgroundNoUnderline.js +6 -2
  186. package/esm/core/NavList/NavList.stories.js +1 -3
  187. package/esm/core/NavList/NavList.stories.playwright.json +6 -6
  188. package/{es/core/NavList → esm/core/NavList/NavListAuto}/NavListAuto.js +11 -5
  189. package/{es/core/NavList/NavListBase.js → esm/core/NavList/NavListAuto/NavListBaseAuto.js} +4 -4
  190. package/esm/core/NavList/{NavListContext.js → NavListAuto/NavListContextAuto.js} +20 -8
  191. package/esm/core/NavList/NavListAuto/NavListItemAnchorAuto.js +26 -0
  192. package/esm/core/NavList/NavListAuto/NavListItemAuto.js +38 -0
  193. package/esm/core/NavList/NavListAuto/NavListItemButtonAuto.js +30 -0
  194. package/esm/core/NavList/NavListAuto/NavListMenuAuto.js +36 -0
  195. package/esm/core/NavList/NavListAuto/NavListSubMenuAuto.js +26 -0
  196. package/esm/core/NavList/NavListItem.js +7 -9
  197. package/esm/core/NavList/NavListItemBase.js +4 -9
  198. package/esm/core/NavList/NavMenuContainerContentList.js +64 -1
  199. package/esm/core/NavList/__stories__/Default.js +22 -15
  200. package/{es/core/NavList/__stories__/NavHorizontalLayout.js → esm/core/NavList/__stories__/NavVerticalLayout.js} +22 -16
  201. package/esm/core/NavList/index.js +3 -5
  202. package/esm/core/SingleCharacterInputContainer/SingleCharacterInputContainer.stories.js +12 -0
  203. package/esm/core/SingleCharacterInputContainer/__stories__/Default.js +31 -0
  204. package/esm/core/SingleCharacterInputContainer/__stories__/WithDefaultError.js +35 -0
  205. package/esm/core/SingleCharacterInputContainer/__stories__/WithErrorMessageInvalidCode.js +41 -0
  206. package/esm/core/SingleCharacterInputContainer/__stories__/WithErrorMessageLessDigit.js +35 -0
  207. package/esm/core/SingleCharacterInputContainer/index.js +4 -0
  208. package/esm/core/SingleCharacterInputContainer/index.mdx +29 -0
  209. package/esm/core/Tabs/__stories__/Default.js +5 -5
  210. package/esm/core/Tabs/index.js +5 -7
  211. package/esm/hooks/useFontSize.js +10 -0
  212. package/esm/hooks/useHighlightLinks.js +38 -0
  213. package/esm/hooks/useLetterSpacing.js +10 -0
  214. package/esm/hooks/useLineHeight.js +10 -0
  215. package/esm/hooks/useNavList.js +10 -7
  216. package/esm/hooks/useTheme.js +19 -11
  217. package/esm/hooks/useTogglableNav.js +292 -0
  218. package/esm/hooks/{useTogglableSections.js → useTogglableTab.js} +2 -8
  219. package/esm/hooks/useVariantVars.js +30 -0
  220. package/esm/index.js +1 -1
  221. package/esm/layouts/Basic/__stories__/Default.js +2 -2
  222. package/esm/layouts/Basic/__stories__/MultipleRowsLayout.js +3 -3
  223. package/esm/layouts/Basic/__stories__/TwoThirdsOneThirdColumns.js +3 -3
  224. package/esm/locales/el.js +4 -0
  225. package/esm/registry.js +40 -14
  226. package/esm/typography/NormalText/__stories__/FontSizes.js +18 -6
  227. package/esm/typography/NormalText/__stories__/FontWeight.js +3 -1
  228. package/esm/typography/NormalText/__stories__/Variants.js +3 -1
  229. package/hooks/useFontSize.d.ts +6 -0
  230. package/hooks/useFontSize.js +23 -0
  231. package/hooks/useHighlightLinks.d.ts +8 -0
  232. package/hooks/useHighlightLinks.js +52 -0
  233. package/hooks/useLetterSpacing.d.ts +6 -0
  234. package/hooks/useLetterSpacing.js +23 -0
  235. package/hooks/useLineHeight.d.ts +6 -0
  236. package/hooks/useLineHeight.js +23 -0
  237. package/hooks/useNavList.d.ts +2 -2
  238. package/hooks/useNavList.js +11 -8
  239. package/hooks/useTheme.d.ts +4 -4
  240. package/hooks/useTheme.js +19 -12
  241. package/hooks/useTogglableNav.d.ts +25 -0
  242. package/hooks/useTogglableNav.js +305 -0
  243. package/hooks/{useTogglableSections.d.ts → useTogglableTab.d.ts} +4 -3
  244. package/hooks/{useTogglableSections.js → useTogglableTab.js} +3 -9
  245. package/hooks/useVariantVars.d.ts +11 -0
  246. package/hooks/useVariantVars.js +41 -0
  247. package/layouts/Basic/__stories__/Default.js +2 -2
  248. package/layouts/Basic/__stories__/MultipleRowsLayout.js +3 -3
  249. package/layouts/Basic/__stories__/TwoThirdsOneThirdColumns.js +3 -3
  250. package/locales/el.d.ts +4 -0
  251. package/locales/el.js +4 -0
  252. package/package.json +3 -3
  253. package/registry.d.ts +21 -7
  254. package/registry.js +55 -16
  255. package/src/admin/AccessibilityMenu/index.tsx +14 -0
  256. package/src/admin/AutoComplete/index.tsx +2 -2
  257. package/src/admin/Chip/index.tsx +1 -0
  258. package/src/admin/CopyToClipboard/CopyToClipboard.stories.playwright.json +2 -2
  259. package/src/admin/Drawer/__stories__/Default.tsx +24 -13
  260. package/src/admin/Dropdown/__stories__/AlignRight.tsx +2 -2
  261. package/src/admin/Dropdown/__stories__/Default.tsx +2 -2
  262. package/src/admin/Dropdown/__stories__/PlacementTop.tsx +2 -2
  263. package/src/admin/FilterSection/index.tsx +1 -2
  264. package/src/admin/Modal/index.tsx +43 -39
  265. package/src/admin/Pagination/__stories__/Default.tsx +4 -4
  266. package/src/admin/Pagination/__stories__/PaginationSmall.tsx +2 -2
  267. package/src/app/Footer/__stories__/FooterAllInclusive.tsx +1 -1
  268. package/src/app/Footer/__stories__/FooterWithSecondaryNavigation.tsx +1 -1
  269. package/src/app/Header/__stories__/WithNavigation.tsx +8 -8
  270. package/src/app/QrCodeScanner/__stories__/Default.tsx +2 -2
  271. package/src/app/QrCodeViewer/index.tsx +16 -14
  272. package/src/app/ThemeOptionsForm/index.tsx +220 -0
  273. package/src/app/{ThemeSelectorOptions → ThemePaletteForm}/index.tsx +3 -3
  274. package/src/app/index.ts +2 -1
  275. package/src/core/Accordion/Accordion.stories.playwright.json +2 -2
  276. package/src/core/Accordion/index.tsx +5 -11
  277. package/src/core/Divider/__stories__/Default.tsx +5 -5
  278. package/src/core/ErrorSummary/ErrorSummary.stories.playwright.json +1 -1
  279. package/src/core/ErrorSummary/__stories__/Default.tsx +2 -2
  280. package/src/core/ErrorSummary/__stories__/LinkedToCheckbox.tsx +2 -2
  281. package/src/core/ErrorSummary/__stories__/LinkedToField.tsx +2 -2
  282. package/src/core/ErrorSummary/__stories__/LinkedToInput.tsx +2 -2
  283. package/src/core/Link/__stories__/DarkBackground.tsx +2 -3
  284. package/src/core/Link/__stories__/DarkBackgroundNoUnderline.tsx +2 -3
  285. package/src/core/NavList/NavList.stories.js +1 -3
  286. package/src/core/NavList/NavList.stories.playwright.json +6 -6
  287. package/src/core/NavList/NavListAuto/NavListAuto.tsx +34 -0
  288. package/src/core/NavList/{NavListBase.tsx → NavListAuto/NavListBaseAuto.tsx} +3 -3
  289. package/src/core/NavList/{NavListContext.tsx → NavListAuto/NavListContextAuto.tsx} +26 -11
  290. package/src/core/NavList/NavListAuto/NavListItemAnchorAuto.tsx +38 -0
  291. package/src/core/NavList/NavListAuto/NavListItemAuto.tsx +49 -0
  292. package/src/core/NavList/NavListAuto/NavListItemButtonAuto.tsx +53 -0
  293. package/src/core/NavList/NavListAuto/NavListMenuAuto.tsx +51 -0
  294. package/src/core/NavList/NavListAuto/NavListSubMenuAuto.tsx +32 -0
  295. package/src/core/NavList/NavListItem.tsx +15 -10
  296. package/src/core/NavList/NavListItemBase.tsx +5 -8
  297. package/src/core/NavList/NavMenuContainerContentList.tsx +61 -1
  298. package/src/core/NavList/__stories__/Default.tsx +26 -14
  299. package/src/core/NavList/__stories__/{NavHorizontalLayout.tsx → NavVerticalLayout.tsx} +29 -16
  300. package/src/core/NavList/index.tsx +3 -5
  301. package/src/core/NavList/types.tsx +23 -10
  302. package/src/core/SingleCharacterInputContainer/SingleCharacterInputContainer.stories.js +13 -0
  303. package/src/core/SingleCharacterInputContainer/__stories__/Default.tsx +35 -0
  304. package/src/core/SingleCharacterInputContainer/__stories__/WithDefaultError.tsx +38 -0
  305. package/src/core/SingleCharacterInputContainer/__stories__/WithErrorMessageInvalidCode.tsx +38 -0
  306. package/src/core/SingleCharacterInputContainer/__stories__/WithErrorMessageLessDigit.tsx +38 -0
  307. package/src/core/SingleCharacterInputContainer/index.mdx +29 -0
  308. package/src/core/SingleCharacterInputContainer/index.tsx +4 -0
  309. package/src/core/Tabs/__stories__/Default.tsx +5 -5
  310. package/src/core/Tabs/index.tsx +5 -9
  311. package/src/hooks/useFontSize.ts +32 -0
  312. package/src/hooks/useHighlightLinks.ts +45 -0
  313. package/src/hooks/useLetterSpacing.ts +27 -0
  314. package/src/hooks/useLineHeight.ts +31 -0
  315. package/src/hooks/useNavList.ts +5 -7
  316. package/src/hooks/useTheme.ts +28 -20
  317. package/src/hooks/useTogglableNav.tsx +294 -0
  318. package/src/hooks/{useTogglableSections.tsx → useTogglableTab.tsx} +12 -13
  319. package/src/hooks/useVariantVars.ts +35 -0
  320. package/src/layouts/Basic/__stories__/Default.tsx +3 -3
  321. package/src/layouts/Basic/__stories__/MultipleRowsLayout.tsx +8 -8
  322. package/src/layouts/Basic/__stories__/TwoThirdsOneThirdColumns.tsx +6 -6
  323. package/src/locales/el.ts +4 -0
  324. package/src/registry.js +40 -14
  325. package/src/typography/NormalText/__stories__/FontSizes.tsx +6 -6
  326. package/src/typography/NormalText/__stories__/FontWeight.tsx +1 -1
  327. package/src/typography/NormalText/__stories__/Variants.tsx +1 -1
  328. package/typography/NormalText/__stories__/FontSizes.js +18 -6
  329. package/typography/NormalText/__stories__/FontWeight.js +3 -1
  330. package/typography/NormalText/__stories__/Variants.js +3 -1
  331. package/app/ThemeSelectorOptions/index.d.ts +0 -2
  332. package/core/NavList/NavListSubMenu.d.ts +0 -8
  333. package/core/NavList/__stories__/NavHorizontalLayout.d.ts +0 -2
  334. package/core/NavList/__stories__/NavListAutoExample.d.ts +0 -2
  335. package/core/NavList/__stories__/NavListAutoExample.js +0 -63
  336. package/core/NavList/__stories__/NavListEpathlaExample.d.ts +0 -2
  337. package/core/NavList/__stories__/NavListEpathlaExample.js +0 -141
  338. package/es/core/NavList/NavListItemAuto.js +0 -40
  339. package/es/core/NavList/NavListSubMenu.js +0 -25
  340. package/es/core/NavList/__stories__/NavListAutoExample.js +0 -48
  341. package/es/core/NavList/__stories__/NavListEpathlaExample.js +0 -123
  342. package/esm/core/NavList/NavListItemAuto.js +0 -40
  343. package/esm/core/NavList/NavListSubMenu.js +0 -25
  344. package/esm/core/NavList/__stories__/NavListAutoExample.js +0 -48
  345. package/esm/core/NavList/__stories__/NavListEpathlaExample.js +0 -123
  346. package/src/core/NavList/NavListAuto.tsx +0 -20
  347. package/src/core/NavList/NavListItemAuto.tsx +0 -41
  348. package/src/core/NavList/NavListSubMenu.tsx +0 -28
  349. package/src/core/NavList/__stories__/NavListAutoExample.tsx +0 -53
  350. package/src/core/NavList/__stories__/NavListEpathlaExample.tsx +0 -174
  351. /package/core/NavList/{NavListAuto.d.ts → NavListAuto/NavListAuto.d.ts} +0 -0
  352. /package/core/NavList/{NavListItemAuto.d.ts → NavListAuto/NavListItemAuto.d.ts} +0 -0
@@ -12,6 +12,8 @@ export interface NavLinkInterface {
12
12
 
13
13
  export interface NavListContextInterface {
14
14
  layout?: NavListLayout;
15
+ border?: boolean;
16
+ fixed?: boolean;
15
17
  openSubMenus?: boolean;
16
18
  showDividers?: boolean;
17
19
  links: NavLinkInterface[];
@@ -19,11 +21,14 @@ export interface NavListContextInterface {
19
21
  activeSubMenu?: NavLinkInterface[];
20
22
  onSubMenuActive?: (name: string) => void;
21
23
  container?: (key: string) => { active: boolean; id: string };
22
- setRegister?: (name: string) => any;
24
+ setRegisterButton?: (name: string) => any;
25
+ setRegisterLink?: (name: string) => any;
23
26
  }
24
27
 
25
- export const NavListContext = createContext<NavListContextInterface>({
28
+ export const NavListContextAuto = createContext<NavListContextInterface>({
26
29
  layout: 'horizontal',
30
+ border: true,
31
+ fixed: true,
27
32
  openSubMenus: false,
28
33
  links: [],
29
34
  activeLink: {},
@@ -31,18 +36,25 @@ export const NavListContext = createContext<NavListContextInterface>({
31
36
  });
32
37
 
33
38
  const TRAILING_SLASH = /\/$/gm;
34
- export const NavListProvider: React.FC<NavListContextInterface> = ({
39
+ export const NavListProviderAuto: React.FC<NavListContextInterface> = ({
35
40
  children,
36
41
  layout,
42
+ border,
43
+ fixed,
37
44
  openSubMenus = false,
38
45
  showDividers = false,
39
46
  links = [],
40
47
  }) => {
41
48
  const [activeSubMenu, setActiveSubMenu] = useState<NavLinkInterface[]>([]);
42
49
  const [activeLink, setActiveLink] = useState<NavLinkInterface>({});
43
- const { container, register } = useNavList();
44
- const setRegister = (name: string) => {
45
- return { ...register(name) };
50
+ const { container, registerButton, registerLink } = useNavList();
51
+
52
+ const setRegisterButton = (name: string) => {
53
+ return { ...registerButton(name) };
54
+ };
55
+
56
+ const setRegisterLink = (name: string) => {
57
+ return { ...registerLink(name) };
46
58
  };
47
59
 
48
60
  // TODO: Cleanup unused props
@@ -57,7 +69,7 @@ export const NavListProvider: React.FC<NavListContextInterface> = ({
57
69
  } else {
58
70
  return (
59
71
  window?.location.pathname.replace(TRAILING_SLASH, '') ===
60
- link.href?.replace(TRAILING_SLASH, '') || false
72
+ link.href?.replace(TRAILING_SLASH, '') || false
61
73
  );
62
74
  }
63
75
  }) || { label: '', href: '' };
@@ -76,22 +88,25 @@ export const NavListProvider: React.FC<NavListContextInterface> = ({
76
88
  };
77
89
 
78
90
  return (
79
- <NavListContext.Provider
91
+ <NavListContextAuto.Provider
80
92
  value={{
81
93
  openSubMenus,
82
94
  layout,
95
+ border,
96
+ fixed,
83
97
  showDividers,
84
98
  links,
85
99
  activeLink,
86
100
  activeSubMenu,
87
101
  onSubMenuActive,
88
102
  container,
89
- setRegister,
103
+ setRegisterButton,
104
+ setRegisterLink,
90
105
  }}
91
106
  >
92
107
  {children}
93
- </NavListContext.Provider>
108
+ </NavListContextAuto.Provider>
94
109
  );
95
110
  };
96
111
 
97
- export default NavListContext;
112
+ export default NavListContextAuto;
@@ -0,0 +1,38 @@
1
+ import React, { useContext } from 'react';
2
+ import { NavListItemLink } from '@digigov/ui/core/NavList/NavListItemLink';
3
+ import NavListContextAuto from '@digigov/ui/core/NavList/NavListAuto/NavListContextAuto';
4
+ import NavListItem from '@digigov/react-core/NavListItem';
5
+
6
+ interface NavListItemAnchorAutoProps {
7
+ name: string;
8
+ href?: string;
9
+ active?: boolean;
10
+ children?: React.ReactNode;
11
+ }
12
+
13
+ export const NavListItemAnchorAuto: React.FC<NavListItemAnchorAutoProps> = ({
14
+ name,
15
+ href,
16
+ active,
17
+ children,
18
+ ...props
19
+ }) => {
20
+ const { container, setRegisterLink } = useContext(NavListContextAuto);
21
+
22
+ return (
23
+ <NavListItem>
24
+ {setRegisterLink && (
25
+ <NavListItemLink
26
+ href={href}
27
+ active={active || (container && container(name)?.active)}
28
+ {...props}
29
+ {...setRegisterLink(name)}
30
+ >
31
+ {children}
32
+ </NavListItemLink>
33
+ )}
34
+ </NavListItem>
35
+ );
36
+ };
37
+
38
+ export default NavListItemAnchorAuto;
@@ -0,0 +1,49 @@
1
+ import React, { useContext } from 'react';
2
+ import Divider from '@digigov/react-core/SectionBreak';
3
+ import NavListContextAuto from '@digigov/ui/core/NavList/NavListAuto/NavListContextAuto';
4
+ import NavItemAnchorAuto from '@digigov/ui/core/NavList/NavListAuto/NavListItemAnchorAuto';
5
+ import NavItemButtonAuto from '@digigov/ui/core/NavList/NavListAuto/NavListItemButtonAuto';
6
+ import { NavListItem } from '@digigov/ui/core/NavList/NavListItem';
7
+
8
+ export interface NavListItemAutoProps {
9
+ item?: any;
10
+ children?: React.ReactNode;
11
+ role?: string;
12
+ }
13
+
14
+ export const NavListItemAuto: React.FC<NavListItemAutoProps> = ({
15
+ item,
16
+ children,
17
+ role,
18
+ ...props
19
+ }) => {
20
+ const { layout, showDividers, container, setRegisterButton } = useContext(
21
+ NavListContextAuto
22
+ );
23
+ const itemName = item?.name ? item.name : item?.label;
24
+
25
+ return (
26
+ <React.Fragment>
27
+ {children ? (
28
+ <NavListItem {...props}>{children}</NavListItem>
29
+ ) : item?.menu || item?.subMenu ? (
30
+ <NavItemButtonAuto
31
+ item={item}
32
+ name={itemName}
33
+ active={container && container(itemName)?.active}
34
+ onSelect={setRegisterButton}
35
+ layout={layout}
36
+ >
37
+ {item?.label}
38
+ </NavItemButtonAuto>
39
+ ) : (
40
+ <NavItemAnchorAuto href={item?.href} name={itemName}>
41
+ {item?.label}
42
+ </NavItemAnchorAuto>
43
+ )}
44
+ {showDividers && <Divider />}
45
+ </React.Fragment>
46
+ );
47
+ };
48
+
49
+ export default NavListItemAuto;
@@ -0,0 +1,53 @@
1
+ import React from 'react';
2
+ import NavListItemButton from '@digigov/ui/core/NavList/NavListItemButton';
3
+ import NavItemSubMenuAuto from '@digigov/ui/core/NavList/NavListAuto/NavListSubMenuAuto';
4
+ import NavItemMenuAuto from '@digigov/ui/core/NavList/NavListAuto/NavListMenuAuto';
5
+ import NavListItem from '@digigov/ui/core/NavList/NavListItem';
6
+ import { NavListLayout } from '@digigov/ui/core/NavList/types';
7
+
8
+ interface NavListItemButtonAutoProps {
9
+ item?: any;
10
+ name: string;
11
+ active?: boolean;
12
+ onSelect?: (name: string) => any;
13
+ layout?: NavListLayout;
14
+ children?: React.ReactNode;
15
+ }
16
+
17
+ export const NavListItemButtonAuto: React.FC<NavListItemButtonAutoProps> = ({
18
+ item,
19
+ name,
20
+ active,
21
+ onSelect,
22
+ layout,
23
+ children,
24
+ }) => {
25
+ return (
26
+ <React.Fragment>
27
+ {onSelect && (
28
+ <NavListItem>
29
+ <NavListItemButton active={active} {...onSelect(name)}>
30
+ {children}
31
+ </NavListItemButton>
32
+ </NavListItem>
33
+ )}
34
+ {item?.subMenu ? (
35
+ <NavItemSubMenuAuto
36
+ items={item?.subMenu}
37
+ open={active}
38
+ layout={layout}
39
+ />
40
+ ) : (
41
+ <NavItemMenuAuto
42
+ subMenu={item?.menu?.links}
43
+ title={item?.menu?.title}
44
+ active={active}
45
+ layout={layout}
46
+ id={name}
47
+ />
48
+ )}
49
+ </React.Fragment>
50
+ );
51
+ };
52
+
53
+ export default NavListItemButtonAuto;
@@ -0,0 +1,51 @@
1
+ import React from 'react';
2
+ import { NavListLayout } from '@digigov/ui/core/NavList/types';
3
+ import NavMenu from '@digigov/ui/core/NavList/NavMenu';
4
+ import NavMenuContainer from '@digigov/ui/core/NavList/NavMenuContainer';
5
+ import NavMenuContainerTitle from '@digigov/ui/core/NavList/NavMenuContainerTitle';
6
+ import NavMenuContainerContent from '@digigov/ui/core/NavList/NavMenuContainerContent';
7
+ import NavMenuContainerContentList from '@digigov/ui/core/NavList/NavMenuContainerContentList';
8
+ import NavMenuContainerContentListItem from '@digigov/ui/core/NavList/NavMenuContainerContentListItem';
9
+ import { Link } from '@digigov/ui/core';
10
+
11
+ interface NavListMenuAutoProps {
12
+ layout?: NavListLayout;
13
+ title?: string;
14
+ active?: boolean;
15
+ subMenu?: any[];
16
+ id?: string;
17
+ }
18
+
19
+ export const NavListMenuAuto: React.FC<NavListMenuAutoProps> = ({
20
+ layout,
21
+ active,
22
+ title,
23
+ subMenu,
24
+ id,
25
+ }) => {
26
+ return (
27
+ <NavMenu layout={layout} active={active} id={id}>
28
+ <NavMenuContainer layout={layout} paddingLeft={5} paddingRight={5}>
29
+ <NavMenuContainerTitle>{title}</NavMenuContainerTitle>
30
+ <NavMenuContainerContent>
31
+ <NavMenuContainerContentList role="menu">
32
+ {subMenu?.map((item, index) => {
33
+ return (
34
+ <NavMenuContainerContentListItem
35
+ role="presentation"
36
+ key={index}
37
+ >
38
+ <Link role="menuitem" id={item.name} href={item.href}>
39
+ {item.label}
40
+ </Link>
41
+ </NavMenuContainerContentListItem>
42
+ );
43
+ })}
44
+ </NavMenuContainerContentList>
45
+ </NavMenuContainerContent>
46
+ </NavMenuContainer>
47
+ </NavMenu>
48
+ );
49
+ };
50
+
51
+ export default NavListMenuAuto;
@@ -0,0 +1,32 @@
1
+ import React from 'react';
2
+ import { Nav } from '@digigov/ui/core/NavList/Nav';
3
+ import { NavList } from '@digigov/ui/core/NavList/NavList';
4
+ import NavItemAuto from '@digigov/ui/core/NavList/NavListAuto/NavListItemAuto';
5
+ import { NavListLayout } from '@digigov/ui/core/NavList/types';
6
+
7
+ export interface NavListSubMenuAutoProps {
8
+ items?: any[];
9
+ open?: boolean;
10
+ layout?: NavListLayout;
11
+ }
12
+
13
+ export const NavListSubMenuAuto: React.FC<NavListSubMenuAutoProps> = ({
14
+ items,
15
+ open,
16
+ layout,
17
+ ...props
18
+ }) => {
19
+ return open ? (
20
+ <Nav hidden={!open} layout={layout} {...props} aria-orientation={layout}>
21
+ <NavList>
22
+ {items?.map((subMenuItem, index) => (
23
+ <NavItemAuto key={index} item={subMenuItem} />
24
+ ))}
25
+ </NavList>
26
+ </Nav>
27
+ ) : (
28
+ <></>
29
+ );
30
+ };
31
+
32
+ export default NavListSubMenuAuto;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import CoreNavListItem from '@digigov/react-core/NavListItem';
2
+ import NavListItemContainer from '@digigov/react-core/NavListItem';
3
3
  import NavListItemButton from '@digigov/ui/core/NavList/NavListItemButton';
4
4
  import { NavListItemLink } from '@digigov/ui/core/NavList/NavListItemLink';
5
5
  import {
@@ -10,30 +10,35 @@ import {
10
10
 
11
11
  export const NavListItem: React.FC<NavListItemProps> = ({
12
12
  link,
13
- layout,
14
- setRegister,
13
+ setRegisterButton,
14
+ setRegisterLink,
15
15
  active,
16
16
  children,
17
17
  ...props
18
18
  }) => {
19
19
  return (
20
- <CoreNavListItem layout={layout} {...props}>
20
+ <NavListItemContainer {...props}>
21
21
  {children ? (
22
22
  children
23
- ) : isNavListItemSubMenuInterface(link) &&
24
- link?.subMenu &&
25
- setRegister ? (
26
- <NavListItemButton {...setRegister(link.name)}>
23
+ ) : isNavListItemSubMenuInterface(link) && link?.subMenu ? (
24
+ <NavListItemButton
25
+ {...(setRegisterButton && setRegisterButton(link.name))}
26
+ >
27
27
  {link?.label}
28
28
  </NavListItemButton>
29
29
  ) : (
30
30
  isNavListItemLinkInterface(link) && (
31
- <NavListItemLink href={link?.href} {...props} active={active}>
31
+ <NavListItemLink
32
+ href={link?.href}
33
+ {...(setRegisterLink && setRegisterLink(link.name))}
34
+ active={active}
35
+ {...props}
36
+ >
32
37
  {link?.label}
33
38
  </NavListItemLink>
34
39
  )
35
40
  )}
36
- </CoreNavListItem>
41
+ </NavListItemContainer>
37
42
  );
38
43
  };
39
44
 
@@ -14,7 +14,7 @@ import NavMenuContainerContentListItem from '@digigov/ui/core/NavList/NavMenuCon
14
14
 
15
15
  export interface NavListItemBaseProps {
16
16
  container?: (key: string) => { active: boolean; id: string };
17
- setRegister?: (name: string) => any;
17
+ setRegisterButton?: (name: string) => any;
18
18
  children?: React.ReactNode;
19
19
  item?: any;
20
20
  layout?: NavListLayout;
@@ -23,7 +23,7 @@ export interface NavListItemBaseProps {
23
23
 
24
24
  export const NavListItemBase: React.FC<NavListItemBaseProps> = ({
25
25
  container,
26
- setRegister,
26
+ setRegisterButton,
27
27
  children,
28
28
  item,
29
29
  layout = 'horizontal',
@@ -33,19 +33,16 @@ export const NavListItemBase: React.FC<NavListItemBaseProps> = ({
33
33
  return (
34
34
  <>
35
35
  <NavListItem
36
- layout={layout}
37
36
  link={item}
38
- setRegister={setRegister}
37
+ setRegisterButton={setRegisterButton}
39
38
  role="menuitem"
40
39
  {...props}
41
40
  />
42
41
  <NavMenu layout={layout} {...(container && container(item.name))}>
43
42
  <NavMenuContainer layout={layout} paddingLeft={5} paddingRight={5}>
44
- <NavMenuContainerTitle layout={layout}>
45
- {item.label}
46
- </NavMenuContainerTitle>
43
+ <NavMenuContainerTitle>{item.label}</NavMenuContainerTitle>
47
44
  <NavMenuContainerContent>
48
- <NavMenuContainerContentList layout={layout}>
45
+ <NavMenuContainerContentList>
49
46
  {item.subMenu?.map((subMenu, menuIndex) => {
50
47
  return (
51
48
  isNavListItemLinkInterface(subMenu) && (
@@ -1,3 +1,63 @@
1
- import NavMenuContainerContentList from '@digigov/react-core/NavMenuContainerContentList';
1
+ import React from 'react';
2
+ import NavMenuContainerContentListWrapper, {
3
+ NavMenuContainerContentListProps,
4
+ } from '@digigov/react-core/NavMenuContainerContentList';
2
5
  export * from '@digigov/react-core/NavMenuContainerContentList';
6
+
7
+ const focusNavListItem = (e, nextItemIndex) => {
8
+ e.preventDefault();
9
+ const id = document.activeElement?.id;
10
+ const menuItems = Array.from(
11
+ e.currentTarget.querySelectorAll(`[role=menuitem]`)
12
+ );
13
+ const currentItem = menuItems.findIndex(
14
+ (x) => (x as HTMLElement).getAttribute('id') === document.activeElement?.id
15
+ );
16
+ if (
17
+ currentItem + nextItemIndex > -1 &&
18
+ currentItem + nextItemIndex < menuItems.length
19
+ ) {
20
+ (menuItems[currentItem + nextItemIndex] as HTMLElement)?.focus();
21
+ } else {
22
+ const menuElement = Array.from(
23
+ document.querySelectorAll(`[aria-controls]`)
24
+ );
25
+ const currentItem = menuElement.findIndex((x) =>
26
+ id?.includes(x.getAttribute('aria-controls') || '')
27
+ );
28
+ if (nextItemIndex > 0) {
29
+ (menuElement[currentItem + nextItemIndex] as HTMLElement)?.focus();
30
+ } else {
31
+ (menuElement[currentItem] as HTMLElement)?.focus();
32
+ }
33
+ }
34
+ };
35
+
36
+ export const NavMenuContainerContentList: React.FC<NavMenuContainerContentListProps> = ({
37
+ children,
38
+ ...props
39
+ }) => {
40
+ return (
41
+ <NavMenuContainerContentListWrapper
42
+ {...props}
43
+ onKeyDown={(event) => {
44
+ switch (event.key) {
45
+ case 'ArrowDown':
46
+ case 'ArrowRight':
47
+ focusNavListItem(event, 1);
48
+ break;
49
+ case 'ArrowUp':
50
+ case 'ArrowLeft':
51
+ focusNavListItem(event, -1);
52
+ break;
53
+ default:
54
+ break;
55
+ }
56
+ }}
57
+ >
58
+ {children}
59
+ </NavMenuContainerContentListWrapper>
60
+ );
61
+ };
62
+
3
63
  export default NavMenuContainerContentList;
@@ -45,22 +45,27 @@ const links = [
45
45
  ];
46
46
 
47
47
  export const Default = () => {
48
- const layout = 'vertical';
49
- const { container, register } = useNavList();
48
+ const layout = 'horizontal';
49
+ const border = false;
50
+ const { container, registerButton, registerLink } = useNavList();
50
51
 
51
- const setRegister = (name: string) => {
52
- return { ...register(name) };
52
+ const setRegisterButton = (name: string) => {
53
+ return { ...registerButton(name) };
54
+ };
55
+
56
+ const setRegisterLink = (name: string) => {
57
+ return { ...registerLink(name) };
53
58
  };
54
59
 
55
60
  return (
56
- <Nav open={true} layout={layout}>
57
- <NavList layout={layout}>
61
+ <Nav open={true} layout={layout} border={border} aria-orientation={layout}>
62
+ <NavList>
58
63
  {links.map((item, key) => (
59
64
  <React.Fragment key={key}>
60
65
  <NavListItem
61
- layout={layout}
62
66
  link={item}
63
- setRegister={setRegister}
67
+ setRegisterButton={setRegisterButton}
68
+ setRegisterLink={setRegisterLink}
64
69
  />
65
70
  <NavMenu layout={layout} {...container(item.name)}>
66
71
  <NavMenuContainer
@@ -68,16 +73,23 @@ export const Default = () => {
68
73
  paddingLeft={5}
69
74
  paddingRight={5}
70
75
  >
71
- <NavMenuContainerTitle layout={layout}>
72
- {item.label}
73
- </NavMenuContainerTitle>
76
+ <NavMenuContainerTitle>{item.label}</NavMenuContainerTitle>
74
77
  <NavMenuContainerContent>
75
- <NavMenuContainerContentList layout={layout}>
78
+ <NavMenuContainerContentList role="menu">
76
79
  {item.subMenu?.map((subMenu, menuIndex) => {
77
80
  return (
78
81
  isNavListItemLinkInterface(subMenu) && (
79
- <NavMenuContainerContentListItem key={menuIndex}>
80
- <Link href={subMenu.href}>{subMenu.label}</Link>
82
+ <NavMenuContainerContentListItem
83
+ key={menuIndex}
84
+ role="presentation"
85
+ >
86
+ <Link
87
+ role="menuitem"
88
+ id={subMenu.name}
89
+ href={subMenu.href}
90
+ >
91
+ {subMenu.label}
92
+ </Link>
81
93
  </NavMenuContainerContentListItem>
82
94
  )
83
95
  );
@@ -40,22 +40,28 @@ const links = [
40
40
  { name: 'Nav3', href: '#', label: 'Nav list item 3' },
41
41
  ];
42
42
 
43
- export const NavHorizontalLayout = () => {
44
- const layout = 'horizontal';
45
- const { container, register } = useNavList();
43
+ export const NavVerticalLayout = () => {
44
+ const layout = 'vertical';
45
+ const border = false;
46
+ const { container, registerButton, registerLink } = useNavList();
46
47
 
47
- const setRegister = (name: string) => {
48
- return { ...register(name) };
48
+ const setRegisterButton = (name: string) => {
49
+ return { ...registerButton(name) };
49
50
  };
51
+
52
+ const setRegisterLink = (name: string) => {
53
+ return { ...registerLink(name) };
54
+ };
55
+
50
56
  return (
51
- <Nav open={true} layout={layout}>
52
- <NavList layout={layout}>
57
+ <Nav open={true} layout={layout} border={border}>
58
+ <NavList>
53
59
  {links.map((item, key) => (
54
60
  <React.Fragment key={key}>
55
61
  <NavListItem
56
- layout={layout}
57
62
  link={item}
58
- setRegister={setRegister}
63
+ setRegisterButton={setRegisterButton}
64
+ setRegisterLink={setRegisterLink}
59
65
  />
60
66
  <NavMenu layout={layout} {...container(item.name)}>
61
67
  <NavMenuContainer
@@ -63,16 +69,23 @@ export const NavHorizontalLayout = () => {
63
69
  paddingLeft={5}
64
70
  paddingRight={5}
65
71
  >
66
- <NavMenuContainerTitle layout={layout}>
67
- {item.label}
68
- </NavMenuContainerTitle>
72
+ <NavMenuContainerTitle>{item.label}</NavMenuContainerTitle>
69
73
  <NavMenuContainerContent>
70
- <NavMenuContainerContentList layout={layout}>
74
+ <NavMenuContainerContentList role="menu">
71
75
  {item.subMenu?.map((subMenu, menuIndex) => {
72
76
  return (
73
77
  isNavListItemLinkInterface(subMenu) && (
74
- <NavMenuContainerContentListItem key={menuIndex}>
75
- <Link href={subMenu.href}>{subMenu.label}</Link>
78
+ <NavMenuContainerContentListItem
79
+ role="presentation"
80
+ key={menuIndex}
81
+ >
82
+ <Link
83
+ role="menuitem"
84
+ id={subMenu.name}
85
+ href={subMenu.href}
86
+ >
87
+ {subMenu.label}
88
+ </Link>
76
89
  </NavMenuContainerContentListItem>
77
90
  )
78
91
  );
@@ -88,4 +101,4 @@ export const NavHorizontalLayout = () => {
88
101
  );
89
102
  };
90
103
 
91
- export default NavHorizontalLayout;
104
+ export default NavVerticalLayout;
@@ -1,11 +1,9 @@
1
1
  export * from '@digigov/ui/core/NavList/NavListItem';
2
- export * from '@digigov/ui/core/NavList/NavListAuto';
3
- export * from '@digigov/ui/core/NavList/NavListItemAuto';
4
- export * from '@digigov/ui/core/NavList/NavListSubMenu';
5
- export * from '@digigov/ui/core/NavList/NavListContext';
2
+ export * from '@digigov/ui/core/NavList/NavListAuto/NavListItemAuto';
3
+ export * from '@digigov/ui/core/NavList/NavListAuto/NavListAuto';
4
+ export * from '@digigov/ui/core/NavList/NavListAuto/NavListContextAuto';
6
5
  export * from '@digigov/ui/core/NavList/Nav';
7
6
  export * from '@digigov/ui/core/NavList/NavList';
8
- export * from '@digigov/ui/core/NavList/NavListItem';
9
7
  export * from '@digigov/ui/core/NavList/NavListItemLink';
10
8
  export * from '@digigov/ui/core/NavList/NavListItemButton';
11
9
  export * from '@digigov/ui/core/NavList/NavMenu';