@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
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { ErrorSummary } from '@digigov/ui/core/ErrorSummary';
3
- import { Title } from '@digigov/ui/typography/Title';
3
+ import { Heading } from '@digigov/ui/typography/Heading';
4
4
  import { Link } from '@digigov/ui/core/Link';
5
5
  import { TextInput } from '@digigov/ui/core/TextInput';
6
6
  import { FieldContainer } from '@digigov/ui/core/FieldContainer';
@@ -12,8 +12,8 @@ import { VisuallyHidden } from '@digigov/ui/core/VisuallyHidden';
12
12
 
13
13
  var _ref = /*#__PURE__*/React.createElement("div", {
14
14
  className: "example"
15
- }, /*#__PURE__*/React.createElement(ErrorSummary, null, /*#__PURE__*/React.createElement(Title, {
16
- size: "sm"
15
+ }, /*#__PURE__*/React.createElement(ErrorSummary, null, /*#__PURE__*/React.createElement(Heading, {
16
+ size: "s"
17
17
  }, "\u03A5\u03C0\u03AE\u03C1\u03BE\u03B5 \u03BA\u03AC\u03C0\u03BF\u03B9\u03BF \u03C0\u03C1\u03CC\u03B2\u03BB\u03B7\u03BC\u03B1"), /*#__PURE__*/React.createElement(Link, {
18
18
  href: "#business-name"
19
19
  }, "\u03A0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03C3\u03C5\u03BC\u03C0\u03BB\u03B7\u03C1\u03CE\u03C3\u03B5\u03C4\u03B5 \u03C4\u03BF \u03CC\u03BD\u03BF\u03BC\u03B1 \u03B5\u03C0\u03B9\u03C7\u03B5\u03AF\u03C1\u03B7\u03C3\u03B7\u03C2")), /*#__PURE__*/React.createElement(FieldContainer, {
@@ -3,11 +3,15 @@ import { Link } from '@digigov/ui/core/Link';
3
3
  import { Masthead } from '@digigov/ui/layouts/Basic/Masthead';
4
4
  import { SectionBreak } from '@digigov/ui/core/SectionBreak';
5
5
 
6
- var _ref = /*#__PURE__*/React.createElement(Masthead, null, /*#__PURE__*/React.createElement(SectionBreak, null), /*#__PURE__*/React.createElement(Link, {
6
+ var _ref = /*#__PURE__*/React.createElement(Masthead, null, /*#__PURE__*/React.createElement(SectionBreak, {
7
+ visible: false
8
+ }), /*#__PURE__*/React.createElement(Link, {
7
9
  "aria-label": "\u03C0\u03BB\u03BF\u03B7\u03B3\u03B7\u03B8\u03B5\u03AF\u03C4\u03B5 \u03C3\u03C4\u03B7\u03BD \u03B9\u03C3\u03C4\u03BF\u03C3\u03B5\u03BB\u03AF\u03B4\u03B1 \u03C4\u03BF govgr",
8
10
  role: "link",
9
11
  href: "#"
10
- }, "govgr link"), /*#__PURE__*/React.createElement(SectionBreak, null));
12
+ }, "govgr link"), /*#__PURE__*/React.createElement(SectionBreak, {
13
+ visible: false
14
+ }));
11
15
 
12
16
  export var DarkBackground = function DarkBackground() {
13
17
  return _ref;
@@ -3,12 +3,16 @@ import { Link } from '@digigov/ui/core/Link';
3
3
  import { Masthead } from '@digigov/ui/layouts/Basic/Masthead';
4
4
  import { SectionBreak } from '@digigov/ui/core/SectionBreak';
5
5
 
6
- var _ref = /*#__PURE__*/React.createElement(Masthead, null, /*#__PURE__*/React.createElement(SectionBreak, null), /*#__PURE__*/React.createElement(Link, {
6
+ var _ref = /*#__PURE__*/React.createElement(Masthead, null, /*#__PURE__*/React.createElement(SectionBreak, {
7
+ visible: false
8
+ }), /*#__PURE__*/React.createElement(Link, {
7
9
  "aria-label": "\u03C0\u03BB\u03BF\u03B7\u03B3\u03B7\u03B8\u03B5\u03AF\u03C4\u03B5 \u03C3\u03C4\u03B7\u03BD \u03B9\u03C3\u03C4\u03BF\u03C3\u03B5\u03BB\u03AF\u03B4\u03B1 \u03C4\u03BF govgr",
8
10
  role: "link",
9
11
  href: "#",
10
12
  underline: false
11
- }, "govgr link"), /*#__PURE__*/React.createElement(SectionBreak, null));
13
+ }, "govgr link"), /*#__PURE__*/React.createElement(SectionBreak, {
14
+ visible: false
15
+ }));
12
16
 
13
17
  export var DarkBackgroundNoUnderline = function DarkBackgroundNoUnderline() {
14
18
  return _ref;
@@ -7,6 +7,4 @@ export default {
7
7
  displayName: 'NavList'
8
8
  };
9
9
  export * from '@digigov/ui/core/NavList/__stories__/Default';
10
- export * from '@digigov/ui/core/NavList/__stories__/NavListAutoExample';
11
- export * from '@digigov/ui/core/NavList/__stories__/NavListEpathlaExample';
12
- export * from '@digigov/ui/core/NavList/__stories__/NavHorizontalLayout';
10
+ export * from '@digigov/ui/core/NavList/__stories__/NavVerticalLayout';
@@ -6,26 +6,26 @@
6
6
  {
7
7
  "actions": [
8
8
  {
9
- "name": "click",
9
+ "name": "hover",
10
10
  "args": {
11
11
  "selector": "html>body>div:nth-child(5)>nav>ul>li:nth-child(3)>button"
12
12
  }
13
13
  }
14
14
  ],
15
- "id": "WMfgyO3E_9S_",
16
- "title": "Open sub menu"
15
+ "id": "dHQxEQCIJ4bJ",
16
+ "title": "Hover item"
17
17
  },
18
18
  {
19
19
  "actions": [
20
20
  {
21
- "name": "hover",
21
+ "name": "click",
22
22
  "args": {
23
23
  "selector": "html>body>div:nth-child(5)>nav>ul>li:nth-child(3)>button"
24
24
  }
25
25
  }
26
26
  ],
27
- "id": "dHQxEQCIJ4bJ",
28
- "title": "Hover item"
27
+ "id": "WMfgyO3E_9S_",
28
+ "title": "Open sub menu"
29
29
  }
30
30
  ]
31
31
  }
@@ -1,11 +1,13 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["layout", "openSubMenus", "links", "role"];
3
+ var _excluded = ["layout", "border", "fixed", "openSubMenus", "links", "role"];
4
4
  import React from 'react';
5
- import { NavListProvider } from '@digigov/ui/core/NavList/NavListContext';
6
- import { NavListBase } from '@digigov/ui/core/NavList/NavListBase';
5
+ import { NavListProviderAuto } from '@digigov/ui/core/NavList/NavListAuto/NavListContextAuto';
6
+ import { NavListBaseAuto } from '@digigov/ui/core/NavList/NavListAuto/NavListBaseAuto';
7
7
  export var NavListAuto = function NavListAuto(_ref) {
8
8
  var layout = _ref.layout,
9
+ border = _ref.border,
10
+ fixed = _ref.fixed,
9
11
  _ref$openSubMenus = _ref.openSubMenus,
10
12
  openSubMenus = _ref$openSubMenus === void 0 ? false : _ref$openSubMenus,
11
13
  _ref$links = _ref.links,
@@ -13,12 +15,16 @@ export var NavListAuto = function NavListAuto(_ref) {
13
15
  role = _ref.role,
14
16
  props = _objectWithoutProperties(_ref, _excluded);
15
17
 
16
- return /*#__PURE__*/React.createElement(NavListProvider, {
18
+ return /*#__PURE__*/React.createElement(NavListProviderAuto, {
17
19
  openSubMenus: openSubMenus,
18
20
  layout: layout,
21
+ border: border,
22
+ fixed: fixed,
19
23
  links: links
20
- }, /*#__PURE__*/React.createElement(NavListBase, _extends({
24
+ }, /*#__PURE__*/React.createElement(NavListBaseAuto, _extends({
21
25
  layout: layout,
26
+ border: border,
27
+ fixed: fixed,
22
28
  role: role
23
29
  }, props)));
24
30
  };
@@ -4,7 +4,7 @@ var _excluded = ["className", "children", "floating", "layout", "subMenu", "role
4
4
  import React from 'react';
5
5
  import Nav from '@digigov/ui/core/NavList/Nav';
6
6
  import NavList from '@digigov/ui/core/NavList/NavList';
7
- export var NavListBase = function NavListBase(_ref) {
7
+ export var NavListBaseAuto = function NavListBaseAuto(_ref) {
8
8
  var className = _ref.className,
9
9
  children = _ref.children,
10
10
  floating = _ref.floating,
@@ -16,7 +16,7 @@ export var NavListBase = function NavListBase(_ref) {
16
16
  return /*#__PURE__*/React.createElement(Nav, _extends({
17
17
  open: true,
18
18
  layout: layout
19
- }, props), /*#__PURE__*/React.createElement(NavList, {
20
- layout: layout
21
- }, children));
19
+ }, props, {
20
+ "aria-orientation": layout
21
+ }), /*#__PURE__*/React.createElement(NavList, null, children));
22
22
  };
@@ -2,17 +2,21 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import { useNavList } from '@digigov/ui/hooks/useNavList';
4
4
  import React, { createContext, useEffect, useState } from 'react';
5
- export var NavListContext = /*#__PURE__*/createContext({
5
+ export var NavListContextAuto = /*#__PURE__*/createContext({
6
6
  layout: 'horizontal',
7
+ border: true,
8
+ fixed: true,
7
9
  openSubMenus: false,
8
10
  links: [],
9
11
  activeLink: {},
10
12
  activeSubMenu: []
11
13
  });
12
14
  var TRAILING_SLASH = /\/$/gm;
13
- export var NavListProvider = function NavListProvider(_ref) {
15
+ export var NavListProviderAuto = function NavListProviderAuto(_ref) {
14
16
  var children = _ref.children,
15
17
  layout = _ref.layout,
18
+ border = _ref.border,
19
+ fixed = _ref.fixed,
16
20
  _ref$openSubMenus = _ref.openSubMenus,
17
21
  openSubMenus = _ref$openSubMenus === void 0 ? false : _ref$openSubMenus,
18
22
  _ref$showDividers = _ref.showDividers,
@@ -32,10 +36,15 @@ export var NavListProvider = function NavListProvider(_ref) {
32
36
 
33
37
  var _useNavList = useNavList(),
34
38
  container = _useNavList.container,
35
- register = _useNavList.register;
39
+ registerButton = _useNavList.registerButton,
40
+ registerLink = _useNavList.registerLink;
36
41
 
37
- var setRegister = function setRegister(name) {
38
- return _extends({}, register(name));
42
+ var setRegisterButton = function setRegisterButton(name) {
43
+ return _extends({}, registerButton(name));
44
+ };
45
+
46
+ var setRegisterLink = function setRegisterLink(name) {
47
+ return _extends({}, registerLink(name));
39
48
  }; // TODO: Cleanup unused props
40
49
 
41
50
 
@@ -75,18 +84,21 @@ export var NavListProvider = function NavListProvider(_ref) {
75
84
  }
76
85
  };
77
86
 
78
- return /*#__PURE__*/React.createElement(NavListContext.Provider, {
87
+ return /*#__PURE__*/React.createElement(NavListContextAuto.Provider, {
79
88
  value: {
80
89
  openSubMenus: openSubMenus,
81
90
  layout: layout,
91
+ border: border,
92
+ fixed: fixed,
82
93
  showDividers: showDividers,
83
94
  links: links,
84
95
  activeLink: activeLink,
85
96
  activeSubMenu: activeSubMenu,
86
97
  onSubMenuActive: onSubMenuActive,
87
98
  container: container,
88
- setRegister: setRegister
99
+ setRegisterButton: setRegisterButton,
100
+ setRegisterLink: setRegisterLink
89
101
  }
90
102
  }, children);
91
103
  };
92
- export default NavListContext;
104
+ export default NavListContextAuto;
@@ -0,0 +1,26 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["name", "href", "active", "children"];
4
+ import React, { useContext } from 'react';
5
+ import { NavListItemLink } from '@digigov/ui/core/NavList/NavListItemLink';
6
+ import NavListContextAuto from '@digigov/ui/core/NavList/NavListAuto/NavListContextAuto';
7
+ import NavListItem from '@digigov/react-core/NavListItem';
8
+ export var NavListItemAnchorAuto = function NavListItemAnchorAuto(_ref) {
9
+ var _container;
10
+
11
+ var name = _ref.name,
12
+ href = _ref.href,
13
+ active = _ref.active,
14
+ children = _ref.children,
15
+ props = _objectWithoutProperties(_ref, _excluded);
16
+
17
+ var _useContext = useContext(NavListContextAuto),
18
+ container = _useContext.container,
19
+ setRegisterLink = _useContext.setRegisterLink;
20
+
21
+ return /*#__PURE__*/React.createElement(NavListItem, null, setRegisterLink && /*#__PURE__*/React.createElement(NavListItemLink, _extends({
22
+ href: href,
23
+ active: active || container && ((_container = container(name)) === null || _container === void 0 ? void 0 : _container.active)
24
+ }, props, setRegisterLink(name)), children));
25
+ };
26
+ export default NavListItemAnchorAuto;
@@ -0,0 +1,38 @@
1
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
+ var _excluded = ["item", "children", "role"];
3
+ import React, { useContext } from 'react';
4
+ import Divider from '@digigov/react-core/SectionBreak';
5
+ import NavListContextAuto from '@digigov/ui/core/NavList/NavListAuto/NavListContextAuto';
6
+ import NavItemAnchorAuto from '@digigov/ui/core/NavList/NavListAuto/NavListItemAnchorAuto';
7
+ import NavItemButtonAuto from '@digigov/ui/core/NavList/NavListAuto/NavListItemButtonAuto';
8
+ import { NavListItem } from '@digigov/ui/core/NavList/NavListItem';
9
+
10
+ var _ref2 = /*#__PURE__*/React.createElement(Divider, null);
11
+
12
+ export var NavListItemAuto = function NavListItemAuto(_ref) {
13
+ var _container;
14
+
15
+ var item = _ref.item,
16
+ children = _ref.children,
17
+ role = _ref.role,
18
+ props = _objectWithoutProperties(_ref, _excluded);
19
+
20
+ var _useContext = useContext(NavListContextAuto),
21
+ layout = _useContext.layout,
22
+ showDividers = _useContext.showDividers,
23
+ container = _useContext.container,
24
+ setRegisterButton = _useContext.setRegisterButton;
25
+
26
+ var itemName = item !== null && item !== void 0 && item.name ? item.name : item === null || item === void 0 ? void 0 : item.label;
27
+ return /*#__PURE__*/React.createElement(React.Fragment, null, children ? /*#__PURE__*/React.createElement(NavListItem, props, children) : item !== null && item !== void 0 && item.menu || item !== null && item !== void 0 && item.subMenu ? /*#__PURE__*/React.createElement(NavItemButtonAuto, {
28
+ item: item,
29
+ name: itemName,
30
+ active: container && ((_container = container(itemName)) === null || _container === void 0 ? void 0 : _container.active),
31
+ onSelect: setRegisterButton,
32
+ layout: layout
33
+ }, item === null || item === void 0 ? void 0 : item.label) : /*#__PURE__*/React.createElement(NavItemAnchorAuto, {
34
+ href: item === null || item === void 0 ? void 0 : item.href,
35
+ name: itemName
36
+ }, item === null || item === void 0 ? void 0 : item.label), showDividers && _ref2);
37
+ };
38
+ export default NavListItemAuto;
@@ -0,0 +1,30 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import React from 'react';
3
+ import NavListItemButton from '@digigov/ui/core/NavList/NavListItemButton';
4
+ import NavItemSubMenuAuto from '@digigov/ui/core/NavList/NavListAuto/NavListSubMenuAuto';
5
+ import NavItemMenuAuto from '@digigov/ui/core/NavList/NavListAuto/NavListMenuAuto';
6
+ import NavListItem from '@digigov/ui/core/NavList/NavListItem';
7
+ export var NavListItemButtonAuto = function NavListItemButtonAuto(_ref) {
8
+ var _item$menu, _item$menu2;
9
+
10
+ var item = _ref.item,
11
+ name = _ref.name,
12
+ active = _ref.active,
13
+ onSelect = _ref.onSelect,
14
+ layout = _ref.layout,
15
+ children = _ref.children;
16
+ return /*#__PURE__*/React.createElement(React.Fragment, null, onSelect && /*#__PURE__*/React.createElement(NavListItem, null, /*#__PURE__*/React.createElement(NavListItemButton, _extends({
17
+ active: active
18
+ }, onSelect(name)), children)), item !== null && item !== void 0 && item.subMenu ? /*#__PURE__*/React.createElement(NavItemSubMenuAuto, {
19
+ items: item === null || item === void 0 ? void 0 : item.subMenu,
20
+ open: active,
21
+ layout: layout
22
+ }) : /*#__PURE__*/React.createElement(NavItemMenuAuto, {
23
+ subMenu: item === null || item === void 0 ? void 0 : (_item$menu = item.menu) === null || _item$menu === void 0 ? void 0 : _item$menu.links,
24
+ title: item === null || item === void 0 ? void 0 : (_item$menu2 = item.menu) === null || _item$menu2 === void 0 ? void 0 : _item$menu2.title,
25
+ active: active,
26
+ layout: layout,
27
+ id: name
28
+ }));
29
+ };
30
+ export default NavListItemButtonAuto;
@@ -0,0 +1,36 @@
1
+ import React from 'react';
2
+ import NavMenu from '@digigov/ui/core/NavList/NavMenu';
3
+ import NavMenuContainer from '@digigov/ui/core/NavList/NavMenuContainer';
4
+ import NavMenuContainerTitle from '@digigov/ui/core/NavList/NavMenuContainerTitle';
5
+ import NavMenuContainerContent from '@digigov/ui/core/NavList/NavMenuContainerContent';
6
+ import NavMenuContainerContentList from '@digigov/ui/core/NavList/NavMenuContainerContentList';
7
+ import NavMenuContainerContentListItem from '@digigov/ui/core/NavList/NavMenuContainerContentListItem';
8
+ import { Link } from '@digigov/ui/core';
9
+ export var NavListMenuAuto = function NavListMenuAuto(_ref) {
10
+ var layout = _ref.layout,
11
+ active = _ref.active,
12
+ title = _ref.title,
13
+ subMenu = _ref.subMenu,
14
+ id = _ref.id;
15
+ return /*#__PURE__*/React.createElement(NavMenu, {
16
+ layout: layout,
17
+ active: active,
18
+ id: id
19
+ }, /*#__PURE__*/React.createElement(NavMenuContainer, {
20
+ layout: layout,
21
+ paddingLeft: 5,
22
+ paddingRight: 5
23
+ }, /*#__PURE__*/React.createElement(NavMenuContainerTitle, null, title), /*#__PURE__*/React.createElement(NavMenuContainerContent, null, /*#__PURE__*/React.createElement(NavMenuContainerContentList, {
24
+ role: "menu"
25
+ }, subMenu === null || subMenu === void 0 ? void 0 : subMenu.map(function (item, index) {
26
+ return /*#__PURE__*/React.createElement(NavMenuContainerContentListItem, {
27
+ role: "presentation",
28
+ key: index
29
+ }, /*#__PURE__*/React.createElement(Link, {
30
+ role: "menuitem",
31
+ id: item.name,
32
+ href: item.href
33
+ }, item.label));
34
+ })))));
35
+ };
36
+ export default NavListMenuAuto;
@@ -0,0 +1,26 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["items", "open", "layout"];
4
+ import React from 'react';
5
+ import { Nav } from '@digigov/ui/core/NavList/Nav';
6
+ import { NavList } from '@digigov/ui/core/NavList/NavList';
7
+ import NavItemAuto from '@digigov/ui/core/NavList/NavListAuto/NavListItemAuto';
8
+ export var NavListSubMenuAuto = function NavListSubMenuAuto(_ref) {
9
+ var items = _ref.items,
10
+ open = _ref.open,
11
+ layout = _ref.layout,
12
+ props = _objectWithoutProperties(_ref, _excluded);
13
+
14
+ return open ? /*#__PURE__*/React.createElement(Nav, _extends({
15
+ hidden: !open,
16
+ layout: layout
17
+ }, props, {
18
+ "aria-orientation": layout
19
+ }), /*#__PURE__*/React.createElement(NavList, null, items === null || items === void 0 ? void 0 : items.map(function (subMenuItem, index) {
20
+ return /*#__PURE__*/React.createElement(NavItemAuto, {
21
+ key: index,
22
+ item: subMenuItem
23
+ });
24
+ }))) : /*#__PURE__*/React.createElement(React.Fragment, null);
25
+ };
26
+ export default NavListSubMenuAuto;
@@ -1,25 +1,23 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["link", "layout", "setRegister", "active", "children"];
3
+ var _excluded = ["link", "setRegisterButton", "setRegisterLink", "active", "children"];
4
4
  import React from 'react';
5
- import CoreNavListItem from '@digigov/react-core/NavListItem';
5
+ import NavListItemContainer from '@digigov/react-core/NavListItem';
6
6
  import NavListItemButton from '@digigov/ui/core/NavList/NavListItemButton';
7
7
  import { NavListItemLink } from '@digigov/ui/core/NavList/NavListItemLink';
8
8
  import { isNavListItemLinkInterface, isNavListItemSubMenuInterface } from '@digigov/ui/core/NavList/types';
9
9
  export var NavListItem = function NavListItem(_ref) {
10
10
  var link = _ref.link,
11
- layout = _ref.layout,
12
- setRegister = _ref.setRegister,
11
+ setRegisterButton = _ref.setRegisterButton,
12
+ setRegisterLink = _ref.setRegisterLink,
13
13
  active = _ref.active,
14
14
  children = _ref.children,
15
15
  props = _objectWithoutProperties(_ref, _excluded);
16
16
 
17
- return /*#__PURE__*/React.createElement(CoreNavListItem, _extends({
18
- layout: layout
19
- }, props), children ? children : isNavListItemSubMenuInterface(link) && link !== null && link !== void 0 && link.subMenu && setRegister ? /*#__PURE__*/React.createElement(NavListItemButton, setRegister(link.name), link === null || link === void 0 ? void 0 : link.label) : isNavListItemLinkInterface(link) && /*#__PURE__*/React.createElement(NavListItemLink, _extends({
17
+ return /*#__PURE__*/React.createElement(NavListItemContainer, props, children ? children : isNavListItemSubMenuInterface(link) && link !== null && link !== void 0 && link.subMenu ? /*#__PURE__*/React.createElement(NavListItemButton, setRegisterButton && setRegisterButton(link.name), link === null || link === void 0 ? void 0 : link.label) : isNavListItemLinkInterface(link) && /*#__PURE__*/React.createElement(NavListItemLink, _extends({
20
18
  href: link === null || link === void 0 ? void 0 : link.href
21
- }, props, {
19
+ }, setRegisterLink && setRegisterLink(link.name), {
22
20
  active: active
23
- }), link === null || link === void 0 ? void 0 : link.label));
21
+ }, props), link === null || link === void 0 ? void 0 : link.label));
24
22
  };
25
23
  export default NavListItem;
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["container", "setRegister", "children", "item", "layout", "role"];
3
+ var _excluded = ["container", "setRegisterButton", "children", "item", "layout", "role"];
4
4
  import React from 'react';
5
5
  import Link from '@digigov/ui/core/Link';
6
6
  import { isNavListItemLinkInterface } from '@digigov/ui/core/NavList/types';
@@ -15,7 +15,7 @@ export var NavListItemBase = function NavListItemBase(_ref) {
15
15
  var _item$subMenu;
16
16
 
17
17
  var container = _ref.container,
18
- setRegister = _ref.setRegister,
18
+ setRegisterButton = _ref.setRegisterButton,
19
19
  children = _ref.children,
20
20
  item = _ref.item,
21
21
  _ref$layout = _ref.layout,
@@ -24,9 +24,8 @@ export var NavListItemBase = function NavListItemBase(_ref) {
24
24
  props = _objectWithoutProperties(_ref, _excluded);
25
25
 
26
26
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(NavListItem, _extends({
27
- layout: layout,
28
27
  link: item,
29
- setRegister: setRegister,
28
+ setRegisterButton: setRegisterButton,
30
29
  role: "menuitem"
31
30
  }, props)), /*#__PURE__*/React.createElement(NavMenu, _extends({
32
31
  layout: layout
@@ -34,11 +33,7 @@ export var NavListItemBase = function NavListItemBase(_ref) {
34
33
  layout: layout,
35
34
  paddingLeft: 5,
36
35
  paddingRight: 5
37
- }, /*#__PURE__*/React.createElement(NavMenuContainerTitle, {
38
- layout: layout
39
- }, item.label), /*#__PURE__*/React.createElement(NavMenuContainerContent, null, /*#__PURE__*/React.createElement(NavMenuContainerContentList, {
40
- layout: layout
41
- }, (_item$subMenu = item.subMenu) === null || _item$subMenu === void 0 ? void 0 : _item$subMenu.map(function (subMenu, menuIndex) {
36
+ }, /*#__PURE__*/React.createElement(NavMenuContainerTitle, null, item.label), /*#__PURE__*/React.createElement(NavMenuContainerContent, null, /*#__PURE__*/React.createElement(NavMenuContainerContentList, null, (_item$subMenu = item.subMenu) === null || _item$subMenu === void 0 ? void 0 : _item$subMenu.map(function (subMenu, menuIndex) {
42
37
  return isNavListItemLinkInterface(subMenu) && /*#__PURE__*/React.createElement(NavMenuContainerContentListItem, {
43
38
  key: menuIndex
44
39
  }, /*#__PURE__*/React.createElement(Link, {
@@ -1,3 +1,66 @@
1
- import NavMenuContainerContentList from '@digigov/react-core/NavMenuContainerContentList';
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["children"];
4
+ import React from 'react';
5
+ import NavMenuContainerContentListWrapper from '@digigov/react-core/NavMenuContainerContentList';
2
6
  export * from '@digigov/react-core/NavMenuContainerContentList';
7
+
8
+ var focusNavListItem = function focusNavListItem(e, nextItemIndex) {
9
+ var _document$activeEleme;
10
+
11
+ e.preventDefault();
12
+ var id = (_document$activeEleme = document.activeElement) === null || _document$activeEleme === void 0 ? void 0 : _document$activeEleme.id;
13
+ var menuItems = Array.from(e.currentTarget.querySelectorAll("[role=menuitem]"));
14
+ var currentItem = menuItems.findIndex(function (x) {
15
+ var _document$activeEleme2;
16
+
17
+ return x.getAttribute('id') === ((_document$activeEleme2 = document.activeElement) === null || _document$activeEleme2 === void 0 ? void 0 : _document$activeEleme2.id);
18
+ });
19
+
20
+ if (currentItem + nextItemIndex > -1 && currentItem + nextItemIndex < menuItems.length) {
21
+ var _menuItems;
22
+
23
+ (_menuItems = menuItems[currentItem + nextItemIndex]) === null || _menuItems === void 0 ? void 0 : _menuItems.focus();
24
+ } else {
25
+ var menuElement = Array.from(document.querySelectorAll("[aria-controls]"));
26
+
27
+ var _currentItem = menuElement.findIndex(function (x) {
28
+ return id === null || id === void 0 ? void 0 : id.includes(x.getAttribute('aria-controls') || '');
29
+ });
30
+
31
+ if (nextItemIndex > 0) {
32
+ var _menuElement;
33
+
34
+ (_menuElement = menuElement[_currentItem + nextItemIndex]) === null || _menuElement === void 0 ? void 0 : _menuElement.focus();
35
+ } else {
36
+ var _menuElement$_current;
37
+
38
+ (_menuElement$_current = menuElement[_currentItem]) === null || _menuElement$_current === void 0 ? void 0 : _menuElement$_current.focus();
39
+ }
40
+ }
41
+ };
42
+
43
+ export var NavMenuContainerContentList = function NavMenuContainerContentList(_ref) {
44
+ var children = _ref.children,
45
+ props = _objectWithoutProperties(_ref, _excluded);
46
+
47
+ return /*#__PURE__*/React.createElement(NavMenuContainerContentListWrapper, _extends({}, props, {
48
+ onKeyDown: function onKeyDown(event) {
49
+ switch (event.key) {
50
+ case 'ArrowDown':
51
+ case 'ArrowRight':
52
+ focusNavListItem(event, 1);
53
+ break;
54
+
55
+ case 'ArrowUp':
56
+ case 'ArrowLeft':
57
+ focusNavListItem(event, -1);
58
+ break;
59
+
60
+ default:
61
+ break;
62
+ }
63
+ }
64
+ }), children);
65
+ };
3
66
  export default NavMenuContainerContentList;
@@ -34,44 +34,51 @@ var links = [{
34
34
  label: 'Nav list item 3'
35
35
  }];
36
36
  export var Default = function Default() {
37
- var layout = 'vertical';
37
+ var layout = 'horizontal';
38
+ var border = false;
38
39
 
39
40
  var _useNavList = useNavList(),
40
41
  container = _useNavList.container,
41
- register = _useNavList.register;
42
+ registerButton = _useNavList.registerButton,
43
+ registerLink = _useNavList.registerLink;
42
44
 
43
- var setRegister = function setRegister(name) {
44
- return _extends({}, register(name));
45
+ var setRegisterButton = function setRegisterButton(name) {
46
+ return _extends({}, registerButton(name));
47
+ };
48
+
49
+ var setRegisterLink = function setRegisterLink(name) {
50
+ return _extends({}, registerLink(name));
45
51
  };
46
52
 
47
53
  return /*#__PURE__*/React.createElement(Nav, {
48
54
  open: true,
49
- layout: layout
50
- }, /*#__PURE__*/React.createElement(NavList, {
51
- layout: layout
52
- }, links.map(function (item, key) {
55
+ layout: layout,
56
+ border: border,
57
+ "aria-orientation": layout
58
+ }, /*#__PURE__*/React.createElement(NavList, null, links.map(function (item, key) {
53
59
  var _item$subMenu;
54
60
 
55
61
  return /*#__PURE__*/React.createElement(React.Fragment, {
56
62
  key: key
57
63
  }, /*#__PURE__*/React.createElement(NavListItem, {
58
- layout: layout,
59
64
  link: item,
60
- setRegister: setRegister
65
+ setRegisterButton: setRegisterButton,
66
+ setRegisterLink: setRegisterLink
61
67
  }), /*#__PURE__*/React.createElement(NavMenu, _extends({
62
68
  layout: layout
63
69
  }, container(item.name)), /*#__PURE__*/React.createElement(NavMenuContainer, {
64
70
  layout: layout,
65
71
  paddingLeft: 5,
66
72
  paddingRight: 5
67
- }, /*#__PURE__*/React.createElement(NavMenuContainerTitle, {
68
- layout: layout
69
- }, item.label), /*#__PURE__*/React.createElement(NavMenuContainerContent, null, /*#__PURE__*/React.createElement(NavMenuContainerContentList, {
70
- layout: layout
73
+ }, /*#__PURE__*/React.createElement(NavMenuContainerTitle, null, item.label), /*#__PURE__*/React.createElement(NavMenuContainerContent, null, /*#__PURE__*/React.createElement(NavMenuContainerContentList, {
74
+ role: "menu"
71
75
  }, (_item$subMenu = item.subMenu) === null || _item$subMenu === void 0 ? void 0 : _item$subMenu.map(function (subMenu, menuIndex) {
72
76
  return isNavListItemLinkInterface(subMenu) && /*#__PURE__*/React.createElement(NavMenuContainerContentListItem, {
73
- key: menuIndex
77
+ key: menuIndex,
78
+ role: "presentation"
74
79
  }, /*#__PURE__*/React.createElement(Link, {
80
+ role: "menuitem",
81
+ id: subMenu.name,
75
82
  href: subMenu.href
76
83
  }, subMenu.label));
77
84
  }))))));