@digigov/ui 2.0.0-113e6661 → 2.0.0-298cfc51

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 (460) hide show
  1. package/app/Header/__stories__/WithServiceNameAndLogo/index.js +2 -2
  2. package/app/Header/__stories__/WithServiceNameAndLogo.js.map +2 -2
  3. package/app/Loader/index.d.ts +1 -1
  4. package/app/Loader/index.js +1 -1
  5. package/app/Loader/index.js.map +1 -1
  6. package/app/Loader/index.native/index.js +102 -0
  7. package/app/Loader/index.native/package.json +6 -0
  8. package/app/Loader/index.native.d.ts +3 -0
  9. package/app/Loader/index.native.js.map +7 -0
  10. package/app/Loader/index.web/index.js +2 -0
  11. package/{api → app/Loader/index.web}/package.json +1 -1
  12. package/app/Loader/index.web.d.ts +1 -0
  13. package/app/Loader/index.web.js.map +7 -0
  14. package/app/Masthead/Masthead.stories/index.js +2 -0
  15. package/app/Masthead/Masthead.stories.d.ts +1 -0
  16. package/app/Masthead/Masthead.stories.js.map +2 -2
  17. package/app/Masthead/__stories__/Default/index.js +1 -1
  18. package/app/Masthead/__stories__/Default.js.map +1 -1
  19. package/app/Masthead/__stories__/Secondary/index.js +13 -0
  20. package/app/Masthead/__stories__/Secondary/package.json +6 -0
  21. package/app/Masthead/__stories__/Secondary.d.ts +3 -0
  22. package/app/Masthead/__stories__/Secondary.js.map +7 -0
  23. package/app/Masthead/__stories__/WithElements/index.js +1 -5
  24. package/app/Masthead/__stories__/WithElements.js.map +2 -2
  25. package/app/Masthead/__stories__/WithLogo/index.js +1 -5
  26. package/app/Masthead/__stories__/WithLogo.js.map +2 -2
  27. package/app/Modal/auto/index.js +1 -1
  28. package/app/Modal/auto.js.map +2 -2
  29. package/app/Modal/index.d.ts +2 -2
  30. package/app/Modal/index.js +2 -2
  31. package/app/Modal/index.js.map +1 -1
  32. package/app/Modal/index.native/index.js +20 -0
  33. package/{api/APIErrors → app/Modal/index.native}/package.json +1 -1
  34. package/app/Modal/index.native.d.ts +7 -0
  35. package/app/Modal/index.native.js.map +7 -0
  36. package/app/Modal/{Modal → index.web}/index.js +3 -3
  37. package/{api/APIProvider → app/Modal/index.web}/package.json +1 -1
  38. package/app/Modal/{Modal.js.map → index.web.js.map} +2 -2
  39. package/app/QrCodeScanner/index.js.map +2 -2
  40. package/cjs/app/Header/__stories__/WithServiceNameAndLogo.js.map +3 -3
  41. package/cjs/app/Loader/index.js +3 -3
  42. package/cjs/app/Loader/index.js.map +2 -2
  43. package/cjs/app/Loader/index.native/index.js +135 -0
  44. package/cjs/app/Loader/index.native.js.map +7 -0
  45. package/cjs/app/Loader/index.web/index.js +22 -0
  46. package/cjs/app/Loader/index.web.js.map +7 -0
  47. package/cjs/app/Masthead/Masthead.stories/index.js +3 -0
  48. package/cjs/app/Masthead/Masthead.stories.js.map +2 -2
  49. package/cjs/app/Masthead/__stories__/Default/index.js +1 -1
  50. package/cjs/app/Masthead/__stories__/Default.js.map +1 -1
  51. package/cjs/app/Masthead/__stories__/Secondary/index.js +46 -0
  52. package/cjs/app/Masthead/__stories__/Secondary.js.map +7 -0
  53. package/cjs/app/Masthead/__stories__/WithElements/index.js +1 -1
  54. package/cjs/app/Masthead/__stories__/WithElements.js.map +2 -2
  55. package/cjs/app/Masthead/__stories__/WithLogo/index.js +1 -1
  56. package/cjs/app/Masthead/__stories__/WithLogo.js.map +2 -2
  57. package/cjs/app/Modal/auto/index.js +1 -1
  58. package/cjs/app/Modal/auto.js.map +2 -2
  59. package/cjs/app/Modal/index.js +3 -3
  60. package/cjs/app/Modal/index.js.map +2 -2
  61. package/cjs/{api/APIProvider → app/Modal/index.native}/index.js +20 -26
  62. package/cjs/app/Modal/index.native.js.map +7 -0
  63. package/cjs/app/Modal/{Modal → index.web}/index.js +6 -6
  64. package/cjs/app/Modal/{Modal.js.map → index.web.js.map} +2 -2
  65. package/cjs/app/QrCodeScanner/index.js.map +2 -2
  66. package/cjs/content/Table/Table.stories/index.js +3 -3
  67. package/cjs/content/Table/Table.stories.js.map +2 -2
  68. package/cjs/content/Table/__stories__/{Densed → Dense}/index.js +9 -9
  69. package/cjs/content/Table/__stories__/{Densed.js.map → Dense.js.map} +3 -3
  70. package/cjs/feedback/CopyToClipboard/__stories__/Default/index.js +1 -1
  71. package/cjs/feedback/CopyToClipboard/__stories__/Default.js.map +2 -2
  72. package/cjs/form/AutoComplete/index.js +29 -29
  73. package/cjs/form/AutoComplete/index.js.map +3 -3
  74. package/cjs/form/DateInputContainer/__stories__/MultipleQuestions/index.js +1 -1
  75. package/cjs/form/DateInputContainer/__stories__/MultipleQuestions.js.map +1 -1
  76. package/cjs/form/SearchContainer/SearchContainer.stories/index.js +46 -0
  77. package/cjs/form/SearchContainer/SearchContainer.stories.js.map +7 -0
  78. package/cjs/{api/APIErrors → form/SearchContainer/__stories__/Default}/index.js +12 -42
  79. package/cjs/form/SearchContainer/__stories__/Default.js.map +7 -0
  80. package/cjs/i18n/locales/el/index.js +7 -1
  81. package/cjs/i18n/locales/el.js.map +2 -2
  82. package/cjs/{layouts/Basic/Masthead → icons/IconBase}/index.js +8 -12
  83. package/cjs/icons/IconBase/index.js.map +7 -0
  84. package/cjs/{utils → icons}/SvgIcon/index.js +3 -5
  85. package/cjs/icons/SvgIcon/index.js.map +7 -0
  86. package/cjs/icons/index.js +5 -1
  87. package/cjs/icons/index.js.map +2 -2
  88. package/cjs/layouts/Basic/Bottom/__stories__/Default/index.js +7 -5
  89. package/cjs/layouts/Basic/Bottom/__stories__/Default.js.map +3 -3
  90. package/cjs/layouts/Basic/Container/__stories__/Default/index.js +6 -4
  91. package/cjs/layouts/Basic/Container/__stories__/Default.js.map +3 -3
  92. package/cjs/layouts/Basic/Main/__stories__/Default/index.js +6 -4
  93. package/cjs/layouts/Basic/Main/__stories__/Default.js.map +3 -3
  94. package/cjs/layouts/Basic/Top/__stories__/Default/index.js +6 -4
  95. package/cjs/layouts/Basic/Top/__stories__/Default.js.map +3 -3
  96. package/cjs/layouts/Basic/index.js +1 -3
  97. package/cjs/layouts/Basic/index.js.map +2 -2
  98. package/cjs/lazy/index.js +330 -1640
  99. package/cjs/lazy.js.map +2 -2
  100. package/cjs/navigation/Breadcrumbs/Breadcrumbs.stories/index.js +3 -0
  101. package/cjs/navigation/Breadcrumbs/Breadcrumbs.stories.js.map +2 -2
  102. package/cjs/navigation/Breadcrumbs/BreadcrumbsListItem/index.js +61 -0
  103. package/cjs/navigation/Breadcrumbs/BreadcrumbsListItem.js.map +7 -0
  104. package/cjs/navigation/Breadcrumbs/__stories__/Auto/index.js +23 -9
  105. package/cjs/navigation/Breadcrumbs/__stories__/Auto.js.map +2 -2
  106. package/cjs/navigation/Breadcrumbs/__stories__/WithHook/index.js +29 -15
  107. package/cjs/navigation/Breadcrumbs/__stories__/WithHook.js.map +2 -2
  108. package/cjs/navigation/Breadcrumbs/__stories__/WithProvider/index.js +46 -0
  109. package/cjs/navigation/Breadcrumbs/__stories__/WithProvider.js.map +7 -0
  110. package/cjs/navigation/Breadcrumbs/auto/index.js +16 -10
  111. package/cjs/navigation/Breadcrumbs/auto.js.map +3 -3
  112. package/cjs/navigation/Breadcrumbs/hooks/index.js +41 -30
  113. package/cjs/navigation/Breadcrumbs/hooks.js.map +3 -3
  114. package/cjs/navigation/Breadcrumbs/index.js +4 -0
  115. package/cjs/navigation/Breadcrumbs/index.js.map +2 -2
  116. package/cjs/navigation/Breadcrumbs/utils.js.map +2 -2
  117. package/cjs/navigation/Drawer/__stories__/Auto/index.js +3 -1
  118. package/cjs/navigation/Drawer/__stories__/Auto.js.map +2 -2
  119. package/cjs/navigation/Drawer/__stories__/Default/index.js +2 -2
  120. package/cjs/navigation/Drawer/__stories__/Default.js.map +3 -3
  121. package/cjs/navigation/Link/__stories__/DarkBackground/index.js +1 -1
  122. package/cjs/navigation/Link/__stories__/DarkBackground.js.map +1 -1
  123. package/cjs/navigation/Link/__stories__/DarkBackgroundNoUnderline/index.js +1 -1
  124. package/cjs/navigation/Link/__stories__/DarkBackgroundNoUnderline.js.map +1 -1
  125. package/cjs/navigation/NavList/__stories__/UsingNavListAuto/index.js +24 -24
  126. package/cjs/navigation/NavList/__stories__/UsingNavListAuto.js.map +3 -3
  127. package/cjs/navigation/NavList/__stories__/Vertical/index.js +25 -17
  128. package/cjs/navigation/NavList/__stories__/Vertical.js.map +2 -2
  129. package/cjs/navigation/Pagination/__stories__/Auto/index.js +7 -9
  130. package/cjs/navigation/Pagination/__stories__/Auto.js.map +3 -3
  131. package/cjs/navigation/Pagination/__stories__/PaginationWithSmallFont/index.js +2 -2
  132. package/cjs/navigation/Pagination/__stories__/PaginationWithSmallFont.js.map +2 -2
  133. package/cjs/navigation/Pagination/__stories__/WithInactiveValues/index.js +2 -2
  134. package/cjs/navigation/Pagination/__stories__/WithInactiveValues.js.map +2 -2
  135. package/cjs/navigation/Pagination/__stories__/WithResultsPerPage/index.js +2 -2
  136. package/cjs/navigation/Pagination/__stories__/WithResultsPerPage.js.map +2 -2
  137. package/cjs/registry/index.js +12 -22
  138. package/cjs/registry.js.map +2 -2
  139. package/cjs/utils/index.js +0 -2
  140. package/cjs/utils/index.js.map +2 -2
  141. package/content/Table/Table.stories/index.js +2 -2
  142. package/content/Table/Table.stories.d.ts +1 -1
  143. package/content/Table/Table.stories.js.map +2 -2
  144. package/content/Table/__stories__/{Densed → Dense}/index.js +5 -5
  145. package/content/Table/__stories__/Dense/package.json +6 -0
  146. package/content/Table/__stories__/Dense.d.ts +3 -0
  147. package/content/Table/__stories__/{Densed.js.map → Dense.js.map} +3 -3
  148. package/feedback/CopyToClipboard/__stories__/Default/index.js +1 -1
  149. package/feedback/CopyToClipboard/__stories__/Default.js.map +2 -2
  150. package/form/AutoComplete/index.d.ts +9 -9
  151. package/form/AutoComplete/index.js +10 -10
  152. package/form/AutoComplete/index.js.map +2 -2
  153. package/form/DateInputContainer/__stories__/MultipleQuestions/index.js +1 -1
  154. package/form/DateInputContainer/__stories__/MultipleQuestions.js.map +1 -1
  155. package/form/SearchContainer/SearchContainer.stories/index.js +13 -0
  156. package/form/SearchContainer/SearchContainer.stories/package.json +6 -0
  157. package/form/SearchContainer/SearchContainer.stories.d.ts +9 -0
  158. package/form/SearchContainer/SearchContainer.stories.js.map +7 -0
  159. package/form/SearchContainer/__stories__/Default/index.js +11 -0
  160. package/form/SearchContainer/__stories__/Default/package.json +6 -0
  161. package/form/SearchContainer/__stories__/Default.d.ts +3 -0
  162. package/form/SearchContainer/__stories__/Default.js.map +7 -0
  163. package/form/SearchContainer/index.test.d.ts +1 -0
  164. package/i18n/locales/el/index.js +7 -1
  165. package/i18n/locales/el.d.ts +6 -0
  166. package/i18n/locales/el.js.map +2 -2
  167. package/icons/IconBase/index.d.ts +3 -0
  168. package/icons/IconBase/index.js +7 -0
  169. package/icons/IconBase/index.js.map +7 -0
  170. package/{api/fetchAPI → icons/IconBase}/package.json +1 -1
  171. package/icons/SvgIcon/index.d.ts +3 -0
  172. package/icons/SvgIcon/index.js +7 -0
  173. package/icons/SvgIcon/index.js.map +7 -0
  174. package/{api/utils → icons/SvgIcon}/package.json +1 -1
  175. package/icons/index.d.ts +2 -0
  176. package/icons/index.js +2 -0
  177. package/icons/index.js.map +2 -2
  178. package/index.js +1 -1
  179. package/layouts/Basic/Bottom/__stories__/Default/index.js +7 -5
  180. package/layouts/Basic/Bottom/__stories__/Default.js.map +2 -2
  181. package/layouts/Basic/Container/__stories__/Default/index.js +6 -4
  182. package/layouts/Basic/Container/__stories__/Default.js.map +2 -2
  183. package/layouts/Basic/Main/__stories__/Default/index.js +6 -4
  184. package/layouts/Basic/Main/__stories__/Default.js.map +2 -2
  185. package/layouts/Basic/Top/__stories__/Default/index.js +6 -4
  186. package/layouts/Basic/Top/__stories__/Default.js.map +2 -2
  187. package/layouts/Basic/index.d.ts +0 -1
  188. package/layouts/Basic/index.js +0 -1
  189. package/layouts/Basic/index.js.map +2 -2
  190. package/lazy/index.js +330 -1640
  191. package/lazy.d.ts +18 -15
  192. package/lazy.js.map +2 -2
  193. package/navigation/Breadcrumbs/Breadcrumbs.stories/index.js +2 -0
  194. package/navigation/Breadcrumbs/Breadcrumbs.stories.d.ts +1 -0
  195. package/navigation/Breadcrumbs/Breadcrumbs.stories.js.map +2 -2
  196. package/navigation/Breadcrumbs/BreadcrumbsListItem/index.js +28 -0
  197. package/navigation/Breadcrumbs/BreadcrumbsListItem/package.json +6 -0
  198. package/navigation/Breadcrumbs/BreadcrumbsListItem.d.ts +8 -0
  199. package/navigation/Breadcrumbs/BreadcrumbsListItem.js.map +7 -0
  200. package/navigation/Breadcrumbs/__stories__/Auto/index.js +23 -9
  201. package/navigation/Breadcrumbs/__stories__/Auto.js.map +2 -2
  202. package/navigation/Breadcrumbs/__stories__/WithHook/index.js +29 -15
  203. package/navigation/Breadcrumbs/__stories__/WithHook.js.map +2 -2
  204. package/navigation/Breadcrumbs/__stories__/WithProvider/index.js +17 -0
  205. package/navigation/Breadcrumbs/__stories__/WithProvider/package.json +6 -0
  206. package/navigation/Breadcrumbs/__stories__/WithProvider.d.ts +3 -0
  207. package/navigation/Breadcrumbs/__stories__/WithProvider.js.map +7 -0
  208. package/navigation/Breadcrumbs/auto/index.js +24 -12
  209. package/navigation/Breadcrumbs/auto.d.ts +4 -4
  210. package/navigation/Breadcrumbs/auto.js.map +3 -3
  211. package/navigation/Breadcrumbs/hooks/index.js +41 -30
  212. package/navigation/Breadcrumbs/hooks.d.ts +5 -20
  213. package/navigation/Breadcrumbs/hooks.js.map +3 -3
  214. package/navigation/Breadcrumbs/index.d.ts +2 -0
  215. package/navigation/Breadcrumbs/index.js +2 -0
  216. package/navigation/Breadcrumbs/index.js.map +2 -2
  217. package/navigation/Breadcrumbs/utils.js.map +2 -2
  218. package/navigation/Drawer/__stories__/Auto/index.js +3 -1
  219. package/navigation/Drawer/__stories__/Auto.d.ts +1 -0
  220. package/navigation/Drawer/__stories__/Auto.js.map +2 -2
  221. package/navigation/Drawer/__stories__/Default/index.js +1 -1
  222. package/navigation/Drawer/__stories__/Default.js.map +2 -2
  223. package/navigation/Link/__stories__/DarkBackground/index.js +1 -1
  224. package/navigation/Link/__stories__/DarkBackground.js.map +1 -1
  225. package/navigation/Link/__stories__/DarkBackgroundNoUnderline/index.js +1 -1
  226. package/navigation/Link/__stories__/DarkBackgroundNoUnderline.js.map +1 -1
  227. package/navigation/NavList/__stories__/UsingNavListAuto/index.js +24 -24
  228. package/navigation/NavList/__stories__/UsingNavListAuto.js.map +2 -2
  229. package/navigation/NavList/__stories__/Vertical/index.js +25 -17
  230. package/navigation/NavList/__stories__/Vertical.js.map +2 -2
  231. package/navigation/Pagination/__stories__/Auto/index.js +8 -12
  232. package/navigation/Pagination/__stories__/Auto.js.map +2 -2
  233. package/navigation/Pagination/__stories__/PaginationWithSmallFont/index.js +1 -1
  234. package/navigation/Pagination/__stories__/PaginationWithSmallFont.js.map +1 -1
  235. package/navigation/Pagination/__stories__/WithInactiveValues/index.js +1 -1
  236. package/navigation/Pagination/__stories__/WithInactiveValues.js.map +1 -1
  237. package/navigation/Pagination/__stories__/WithResultsPerPage/index.js +1 -1
  238. package/navigation/Pagination/__stories__/WithResultsPerPage.js.map +1 -1
  239. package/package.json +10 -8
  240. package/registry/index.js +12 -22
  241. package/registry.d.ts +7 -11
  242. package/registry.js.map +2 -2
  243. package/src/app/Footer/{index.mdx → doc.mdx} +7 -23
  244. package/src/app/Header/__snapshots__/index.spec.tsx.snap +42 -36
  245. package/src/app/Header/__stories__/WithServiceNameAndLogo.tsx +2 -2
  246. package/src/app/Header/doc.mdx +32 -0
  247. package/src/app/Loader/index.native.tsx +98 -0
  248. package/src/app/Loader/index.tsx +1 -1
  249. package/src/app/Loader/index.web.tsx +1 -0
  250. package/src/app/Masthead/Masthead.stories.js +1 -0
  251. package/src/app/Masthead/__stories__/Default.tsx +1 -1
  252. package/src/app/Masthead/__stories__/Secondary.tsx +26 -0
  253. package/src/app/Masthead/__stories__/WithElements.tsx +1 -5
  254. package/src/app/Masthead/__stories__/WithLogo.tsx +1 -5
  255. package/src/app/Masthead/{index.mdx → doc.mdx} +13 -1
  256. package/src/app/Masthead/index.test.tsx +4 -0
  257. package/src/app/Modal/auto.tsx +1 -1
  258. package/src/app/Modal/{index.mdx → doc.mdx} +9 -6
  259. package/src/app/Modal/index.native.tsx +17 -0
  260. package/src/app/Modal/index.tsx +2 -2
  261. package/src/app/NotFound/{index.mdx → doc.mdx} +2 -4
  262. package/src/app/Panel/{index.mdx → doc.mdx} +3 -1
  263. package/src/app/PhaseBannerHeader/{index.mdx → doc.mdx} +3 -5
  264. package/src/app/QrCodeScanner/__snapshots__/index.spec.tsx.snap +6 -10
  265. package/src/app/QrCodeScanner/index.tsx +1 -0
  266. package/src/app/QrCodeViewer/{index.mdx → doc.mdx} +4 -12
  267. package/src/app/Skeleton/doc.mdx +42 -0
  268. package/src/content/Accordion/__snapshots__/index.spec.tsx.snap +48 -147
  269. package/src/content/Accordion/{index.mdx → doc.mdx} +2 -13
  270. package/src/content/Blockquote/__snapshots__/index.spec.tsx.snap +6 -9
  271. package/src/content/Blockquote/{index.mdx → doc.mdx} +5 -5
  272. package/src/content/Card/doc.mdx +71 -0
  273. package/src/content/Chip/doc.mdx +34 -0
  274. package/src/content/Details/__snapshots__/index.spec.tsx.snap +32 -69
  275. package/src/content/Details/{index.mdx → doc.mdx} +1 -5
  276. package/src/content/List/__snapshots__/index.spec.tsx.snap +3 -3
  277. package/src/content/List/doc.mdx +28 -0
  278. package/src/content/StepNav/{index.mdx → doc.mdx} +5 -19
  279. package/src/content/SummaryList/__snapshots__/index.spec.tsx.snap +37 -89
  280. package/src/content/SummaryList/{index.mdx → doc.mdx} +6 -18
  281. package/src/content/Table/Table.stories.js +1 -1
  282. package/src/content/Table/__stories__/{Densed.tsx → Dense.tsx} +2 -2
  283. package/src/content/Table/doc.mdx +81 -0
  284. package/src/content/Table/index.test.tsx +3 -3
  285. package/src/content/TaskList/{index.mdx → doc.mdx} +4 -6
  286. package/src/content/Timeline/{index.mdx → doc.mdx} +4 -6
  287. package/src/feedback/CopyToClipboard/__stories__/Default.tsx +1 -1
  288. package/src/feedback/CopyToClipboard/doc.mdx +22 -0
  289. package/src/feedback/ErrorSummary/__snapshots__/index.spec.tsx.snap +3 -3
  290. package/src/feedback/ErrorSummary/{index.mdx → doc.mdx} +6 -22
  291. package/src/feedback/NotificationBanner/__snapshots__/index.spec.tsx.snap +1 -1
  292. package/src/feedback/NotificationBanner/{index.mdx → doc.mdx} +8 -19
  293. package/src/feedback/PhaseBanner/{index.mdx → doc.mdx} +2 -12
  294. package/src/feedback/WarningText/__snapshots__/index.spec.tsx.snap +3 -3
  295. package/src/feedback/WarningText/{index.mdx → doc.mdx} +8 -6
  296. package/src/form/AutoComplete/doc.mdx +50 -0
  297. package/src/form/AutoComplete/index.tsx +10 -10
  298. package/src/form/Button/__snapshots__/index.spec.tsx.snap +6 -10
  299. package/src/form/Button/{index.mdx → doc.mdx} +12 -27
  300. package/src/form/Checkbox/{index.mdx → doc.mdx} +10 -36
  301. package/src/form/DateInputContainer/__stories__/MultipleQuestions.tsx +1 -1
  302. package/src/form/DateInputContainer/{index.mdx → doc.mdx} +7 -21
  303. package/src/form/ErrorMessage/{index.mdx → doc.mdx} +1 -5
  304. package/src/form/FileUpload/{index.mdx → doc.mdx} +2 -10
  305. package/src/form/RadioContainer/{index.mdx → doc.mdx} +10 -36
  306. package/src/form/SearchContainer/SearchContainer.stories.js +9 -0
  307. package/src/form/SearchContainer/__stories__/Default.tsx +13 -0
  308. package/src/form/SearchContainer/doc.mdx +16 -0
  309. package/src/form/SearchContainer/index.test.tsx +20 -0
  310. package/src/form/SelectContainer/{index.mdx → doc.mdx} +3 -19
  311. package/src/form/SingleCharacterInputs/{index.mdx → doc.mdx} +3 -11
  312. package/src/form/TextArea/doc.mdx +48 -0
  313. package/src/form/TextInput/{index.mdx → doc.mdx} +12 -44
  314. package/src/i18n/locales/el.ts +15 -8
  315. package/src/icons/IconBase/index.tsx +4 -0
  316. package/src/icons/SvgIcon/index.tsx +4 -0
  317. package/src/icons/index.tsx +2 -0
  318. package/src/layouts/Basic/Bottom/__stories__/Default.tsx +13 -9
  319. package/src/layouts/Basic/Bottom/{index.mdx → doc.mdx} +1 -5
  320. package/src/layouts/Basic/Container/__stories__/Default.tsx +15 -8
  321. package/src/layouts/Basic/Container/{index.mdx → doc.mdx} +1 -6
  322. package/src/layouts/Basic/Main/__stories__/Default.tsx +15 -8
  323. package/src/layouts/Basic/Main/{index.mdx → doc.mdx} +3 -5
  324. package/src/layouts/Basic/Top/__stories__/Default.tsx +13 -6
  325. package/src/layouts/Basic/Top/doc.mdx +19 -0
  326. package/src/layouts/Basic/__snapshots__/index.spec.tsx.snap +30 -102
  327. package/src/layouts/Basic/{index.mdx → doc.mdx} +7 -18
  328. package/src/layouts/Basic/index.tsx +0 -1
  329. package/src/layouts/Grid/doc.mdx +26 -0
  330. package/src/layouts/Stack/doc.mdx +38 -0
  331. package/src/lazy.js +333 -1642
  332. package/src/navigation/BackLink/{index.mdx → doc.mdx} +1 -5
  333. package/src/navigation/Breadcrumbs/Breadcrumbs.stories.js +1 -1
  334. package/src/navigation/Breadcrumbs/BreadcrumbsListItem.tsx +34 -0
  335. package/src/navigation/Breadcrumbs/__stories__/Auto.tsx +34 -19
  336. package/src/navigation/Breadcrumbs/__stories__/WithHook.tsx +41 -19
  337. package/src/navigation/Breadcrumbs/__stories__/WithProvider.tsx +28 -0
  338. package/src/navigation/Breadcrumbs/auto.tsx +35 -18
  339. package/src/navigation/Breadcrumbs/{index.mdx → doc.mdx} +5 -5
  340. package/src/navigation/Breadcrumbs/hooks.ts +47 -56
  341. package/src/navigation/Breadcrumbs/index.test.tsx +4 -0
  342. package/src/navigation/Breadcrumbs/index.tsx +2 -0
  343. package/src/navigation/Breadcrumbs/utils.ts +3 -3
  344. package/src/navigation/Drawer/__stories__/Auto.tsx +3 -1
  345. package/src/navigation/Drawer/__stories__/Default.tsx +2 -2
  346. package/src/navigation/Drawer/{index.mdx → doc.mdx} +5 -1
  347. package/src/navigation/Dropdown/{index.mdx → doc.mdx} +3 -15
  348. package/src/navigation/Link/__snapshots__/index.spec.tsx.snap +16 -30
  349. package/src/navigation/Link/__stories__/DarkBackground.tsx +1 -1
  350. package/src/navigation/Link/__stories__/DarkBackgroundNoUnderline.tsx +1 -1
  351. package/src/navigation/Link/{index.mdx → doc.mdx} +7 -19
  352. package/src/navigation/NavList/__snapshots__/index.spec.tsx.snap +3 -3
  353. package/src/navigation/NavList/__stories__/UsingNavListAuto.tsx +27 -28
  354. package/src/navigation/NavList/__stories__/Vertical.tsx +16 -12
  355. package/src/navigation/NavList/{index.mdx → doc.mdx} +19 -22
  356. package/src/navigation/Pagination/__stories__/Auto.tsx +29 -31
  357. package/src/navigation/Pagination/__stories__/PaginationWithSmallFont.tsx +1 -1
  358. package/src/navigation/Pagination/__stories__/WithInactiveValues.tsx +1 -1
  359. package/src/navigation/Pagination/__stories__/WithResultsPerPage.tsx +1 -1
  360. package/src/navigation/Pagination/doc.mdx +32 -0
  361. package/src/navigation/Tabs/doc.mdx +47 -0
  362. package/src/registry.js +19 -28
  363. package/src/typography/CodeBlock/doc.mdx +30 -0
  364. package/src/typography/Heading/{index.mdx → doc.mdx} +3 -5
  365. package/src/typography/HeadingCaption/{index.mdx → doc.mdx} +5 -5
  366. package/src/typography/Hint/{index.mdx → doc.mdx} +4 -10
  367. package/src/typography/NormalText/doc.mdx +30 -0
  368. package/src/typography/Paragraph/doc.mdx +34 -0
  369. package/src/typography/Typography/doc.mdx +14 -0
  370. package/src/utils/VisuallyHidden/{index.mdx → doc.mdx} +3 -6
  371. package/src/utils/index.ts +0 -1
  372. package/utils/index.d.ts +0 -1
  373. package/utils/index.js +0 -1
  374. package/utils/index.js.map +2 -2
  375. package/api/APIErrors/index.js +0 -40
  376. package/api/APIErrors.d.ts +0 -23
  377. package/api/APIErrors.js.map +0 -7
  378. package/api/APIProvider/index.js +0 -24
  379. package/api/APIProvider.d.ts +0 -16
  380. package/api/APIProvider.js.map +0 -7
  381. package/api/fetchAPI/index.js +0 -29
  382. package/api/fetchAPI.d.ts +0 -14
  383. package/api/fetchAPI.js.map +0 -7
  384. package/api/index.d.ts +0 -8
  385. package/api/index.js +0 -12
  386. package/api/index.js.map +0 -7
  387. package/api/index.spec.d.ts +0 -1
  388. package/api/useResource/index.js +0 -79
  389. package/api/useResource/package.json +0 -6
  390. package/api/useResource.d.ts +0 -11
  391. package/api/useResource.js.map +0 -7
  392. package/api/useResourceAction/index.js +0 -74
  393. package/api/useResourceAction/package.json +0 -6
  394. package/api/useResourceAction.d.ts +0 -2
  395. package/api/useResourceAction.js.map +0 -7
  396. package/api/useResourceQuery/index.js +0 -149
  397. package/api/useResourceQuery/package.json +0 -6
  398. package/api/useResourceQuery.d.ts +0 -18
  399. package/api/useResourceQuery.js.map +0 -7
  400. package/api/utils/index.js +0 -131
  401. package/api/utils.d.ts +0 -10
  402. package/api/utils.js.map +0 -7
  403. package/app/Modal/Modal/package.json +0 -6
  404. package/cjs/api/APIErrors.js.map +0 -7
  405. package/cjs/api/APIProvider.js.map +0 -7
  406. package/cjs/api/fetchAPI/index.js +0 -49
  407. package/cjs/api/fetchAPI.js.map +0 -7
  408. package/cjs/api/index.js +0 -41
  409. package/cjs/api/index.js.map +0 -7
  410. package/cjs/api/useResource/index.js +0 -102
  411. package/cjs/api/useResource.js.map +0 -7
  412. package/cjs/api/useResourceAction/index.js +0 -97
  413. package/cjs/api/useResourceAction.js.map +0 -7
  414. package/cjs/api/useResourceQuery/index.js +0 -173
  415. package/cjs/api/useResourceQuery.js.map +0 -7
  416. package/cjs/api/utils/index.js +0 -157
  417. package/cjs/api/utils.js.map +0 -7
  418. package/cjs/layouts/Basic/Masthead/index.js.map +0 -7
  419. package/cjs/utils/SvgIcon/index.js.map +0 -7
  420. package/content/Table/__stories__/Densed/package.json +0 -6
  421. package/content/Table/__stories__/Densed.d.ts +0 -3
  422. package/layouts/Basic/Masthead/index.d.ts +0 -5
  423. package/layouts/Basic/Masthead/index.js +0 -9
  424. package/layouts/Basic/Masthead/index.js.map +0 -7
  425. package/layouts/Basic/Masthead/package.json +0 -6
  426. package/src/api/APIErrors.tsx +0 -46
  427. package/src/api/APIProvider.tsx +0 -31
  428. package/src/api/fetchAPI.ts +0 -43
  429. package/src/api/index.spec.tsx +0 -417
  430. package/src/api/index.tsx +0 -9
  431. package/src/api/introduction.md +0 -6
  432. package/src/api/useResource.tsx +0 -96
  433. package/src/api/useResourceAction.tsx +0 -80
  434. package/src/api/useResourceQuery.tsx +0 -178
  435. package/src/api/utils.tsx +0 -162
  436. package/src/app/Header/index.mdx +0 -49
  437. package/src/content/Card/index.mdx +0 -103
  438. package/src/content/Chip/index.mdx +0 -53
  439. package/src/content/List/index.mdx +0 -40
  440. package/src/content/Table/index.mdx +0 -111
  441. package/src/feedback/CopyToClipboard/index.mdx +0 -28
  442. package/src/form/AutoComplete/index.mdx +0 -70
  443. package/src/form/TextArea/index.mdx +0 -74
  444. package/src/govgr/Footer/index.mdx +0 -101
  445. package/src/layouts/Basic/Masthead/index.tsx +0 -5
  446. package/src/layouts/Basic/Top/index.mdx +0 -23
  447. package/src/layouts/Grid/index.mdx +0 -39
  448. package/src/navigation/Pagination/index.mdx +0 -48
  449. package/src/navigation/Tabs/index.mdx +0 -31
  450. package/src/typography/NormalText/index.mdx +0 -44
  451. package/src/typography/Paragraph/index.mdx +0 -32
  452. package/src/typography/Typography/index.mdx +0 -12
  453. package/src/utils/SvgIcon/index.tsx +0 -5
  454. package/utils/SvgIcon/index.d.ts +0 -4
  455. package/utils/SvgIcon/index.js +0 -8
  456. package/utils/SvgIcon/index.js.map +0 -7
  457. package/utils/SvgIcon/package.json +0 -6
  458. /package/app/Modal/{Modal.d.ts → index.web.d.ts} +0 -0
  459. /package/src/app/Modal/{Modal.tsx → index.web.tsx} +0 -0
  460. /package/src/utils/Base/{index.mdx → doc.mdx} +0 -0
@@ -9,11 +9,7 @@ Use the back link component to help users go back to the previous page in a mult
9
9
 
10
10
  ## How to use
11
11
 
12
- <Story
13
- packageName="@digigov/ui"
14
- component="navigation/BackLink"
15
- story="Default.tsx"
16
- />
12
+ <code src="@digigov/ui/navigation/BackLink/__stories__/Default.tsx" />
17
13
 
18
14
  ## API
19
15
 
@@ -10,5 +10,5 @@ export default {
10
10
  export { Default } from '@digigov/ui/navigation/Breadcrumbs/__stories__/Default';
11
11
  export { WithoutCurrentPage } from '@digigov/ui/navigation/Breadcrumbs/__stories__/WithoutCurrentPage';
12
12
  export { WithHook } from '@digigov/ui/navigation/Breadcrumbs/__stories__/WithHook';
13
+ export { WithProvider } from '@digigov/ui/navigation/Breadcrumbs/__stories__/WithProvider';
13
14
  export { Auto } from '@digigov/ui/navigation/Breadcrumbs/__stories__/Auto';
14
-
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import clsx from 'clsx';
3
+ import Link from '@digigov/ui/navigation/Link';
4
+ import BreadcrumbsListItemBase, {
5
+ BreadcrumbsListItemBaseProps,
6
+ } from '@digigov/react-core/BreadcrumbsListItem';
7
+
8
+ export interface BreadcrumbsListItemProps extends BreadcrumbsListItemBaseProps {
9
+ href?: string;
10
+ }
11
+
12
+ const BreadcrumbsListItem: React.FC<BreadcrumbsListItemProps> = ({
13
+ href,
14
+ children,
15
+ ...props
16
+ }) => {
17
+ return (
18
+ <BreadcrumbsListItemBase {...props}>
19
+ <Link
20
+ href={href}
21
+ defaultStyle={false}
22
+ className={clsx({
23
+ 'ds-breadcrumbs__link': true,
24
+ 'ds-breadcrumbs__link--inactive': href === undefined,
25
+ })}
26
+ >
27
+ {children}
28
+ </Link>
29
+ </BreadcrumbsListItemBase>
30
+ );
31
+ };
32
+
33
+ export { BreadcrumbsListItem };
34
+ export default BreadcrumbsListItem;
@@ -6,11 +6,10 @@ import {
6
6
  useBreadcrumbsContext,
7
7
  } from '@digigov/ui/navigation/Breadcrumbs/auto';
8
8
  import { Heading } from '@digigov/ui/typography';
9
- import { slug } from '@digigov/ui/navigation/Breadcrumbs/slug';
10
9
  import { Button } from '@digigov/ui/form/Button/';
11
- import { ConfigData, } from '@digigov/ui/navigation/Breadcrumbs/hooks';
10
+ import { BreadcrumbItem } from '@digigov/ui/navigation/Breadcrumbs/hooks';
12
11
 
13
- const items: ConfigData[] = [
12
+ const items: BreadcrumbItem[] = [
14
13
  {
15
14
  title: 'Νομοθεσία Πυροπροστασίας',
16
15
  children: [
@@ -147,16 +146,25 @@ const items: ConfigData[] = [
147
146
 
148
147
  const getListChild = (item, setActive) => {
149
148
  return item.children ? (
150
- <List listStyle="number">
151
- <ListItem>
152
- <Heading size="md">{item.title}</Heading>
149
+ <>
150
+ <Heading size="sm" mb={0}>
151
+ {item.title}
152
+ </Heading>
153
+ <List listStyle="number">
153
154
  {item.children?.map((subMenu, key) => (
154
155
  <ListItem key={key}>{getListChild(subMenu, setActive)}</ListItem>
155
156
  ))}
156
- </ListItem>
157
- </List>
157
+ </List>
158
+ </>
158
159
  ) : (
159
- <Button variant='link' role="menuitem" id={item.title} onClick={(e) => { e.preventDefault(), setActive(item) }}>
160
+ <Button
161
+ variant="link"
162
+ role="menuitem"
163
+ id={item.title}
164
+ onClick={(e) => {
165
+ e.preventDefault(), setActive(item);
166
+ }}
167
+ >
160
168
  {item.title}
161
169
  </Button>
162
170
  );
@@ -164,22 +172,29 @@ const getListChild = (item, setActive) => {
164
172
 
165
173
  export const Auto = () => {
166
174
  return (
167
- <BreadcrumbsAuto items={items} hrefGenerator={(item) => { return item.href ? item.href : slug(item.title, 100) }}>
168
- <BreadcrumbsListAuto />
175
+ <BreadcrumbsAuto
176
+ items={items}
177
+ initialUrlRoute="/nomothesia-pyroprostasias/odigies-epi-protypon-pyroprostasias"
178
+ >
179
+ <BreadcrumbsListAuto mb={8} />
169
180
  <ContentRoutes />
170
181
  </BreadcrumbsAuto>
171
182
  );
172
183
  };
173
184
 
174
185
  const ContentRoutes = () => {
175
- const { active, setActive } = useBreadcrumbsContext();
186
+ const { breadcrumbs, setActiveItem } = useBreadcrumbsContext();
176
187
 
177
- return <>
178
- <Heading size="xl">
179
- {active?.title}
180
- </Heading>
181
- {items.map((item) => getListChild(item, setActive))}
182
- </>;
188
+ return (
189
+ <>
190
+ {breadcrumbs.length > 0 && (
191
+ <Heading size="xl">
192
+ {breadcrumbs[breadcrumbs.length - 1]?.title}
193
+ </Heading>
194
+ )}
195
+ {items.map((item) => getListChild(item, setActiveItem))}
196
+ </>
197
+ );
183
198
  };
184
199
 
185
- export default Auto;
200
+ export default Auto;
@@ -1,21 +1,24 @@
1
1
  import React from 'react';
2
2
  import { List, ListItem } from '@digigov/ui/content/List';
3
+ import { Button } from '@digigov/ui/form/Button';
3
4
  import {
4
5
  Breadcrumbs,
5
6
  BreadcrumbsList,
6
7
  BreadcrumbsListItem,
7
8
  } from '@digigov/ui/navigation/Breadcrumbs';
8
- import { Button } from '@digigov/ui/form/Button';
9
- import { Heading } from '@digigov/ui/typography';
10
9
  import { useBreadcrumbs } from '@digigov/ui/navigation/Breadcrumbs/hooks';
11
- import { slug } from '@digigov/ui/navigation/Breadcrumbs/slug';
12
- import { ConfigData, } from '@digigov/ui/navigation/Breadcrumbs/hooks';
10
+ import { BreadcrumbItem } from '@digigov/ui/navigation/Breadcrumbs/hooks';
11
+ import { Heading } from '@digigov/ui/typography';
13
12
 
14
- const items: ConfigData[] = [
13
+ const items: BreadcrumbItem[] = [
15
14
  {
16
15
  title: 'Νομοθεσία Πυροπροστασίας',
17
16
  children: [
18
- { title: 'Εγχειρίδια Νομοθεσίας Πυρασφάλειας', pdf: '#', href: "echiridia-nomothesia-pyroprostasias" },
17
+ {
18
+ title: 'Εγχειρίδια Νομοθεσίας Πυρασφάλειας',
19
+ pdf: '#',
20
+ href: 'echiridia-nomothesia-pyroprostasias',
21
+ },
19
22
  { title: 'Διάγραμμα Ισχύουσας Νομοθεσίας' },
20
23
  { title: 'Οδηγίες Επί Προτύπων Πυροπροστασίας' },
21
24
  { title: 'Απλουστεύσεις Διαδικασιών' },
@@ -145,36 +148,55 @@ const items: ConfigData[] = [
145
148
  ],
146
149
  },
147
150
  ];
151
+
148
152
  // creates the ol>li lists for the items data
149
153
  const getListChild = (item, setActive) => {
150
154
  return item.children ? (
151
- <List listStyle="number">
152
- <ListItem>
153
- <Heading size="md">{item.title}</Heading>
155
+ <>
156
+ <Heading size="sm" mb={0}>
157
+ {item.title}
158
+ </Heading>
159
+ <List listStyle="number">
154
160
  {item.children?.map((subMenu, key) => (
155
161
  <ListItem key={key}>{getListChild(subMenu, setActive)}</ListItem>
156
162
  ))}
157
- </ListItem>
158
- </List>
163
+ </List>
164
+ </>
159
165
  ) : (
160
- <Button variant="link" role="menuitem" id={item.title} onClick={(e) => { e.preventDefault(); setActive(item) }}>
166
+ <Button
167
+ variant="link"
168
+ role="menuitem"
169
+ id={item.title}
170
+ onClick={(e) => {
171
+ e.preventDefault();
172
+ setActive(item);
173
+ }}
174
+ >
161
175
  {item.title}
162
176
  </Button>
163
177
  );
164
178
  };
165
179
 
166
180
  export const WithHook = () => {
167
- const { breadcrumbs, setActive } = useBreadcrumbs(items, (item) => { return item.href ? item.href : slug(item.title, 100) });
181
+ // initialUrlRoute: '/nomothesia-pyroprostasias/odigies-epi-protypon-pyroprostasias'
182
+ // is to simulate that the user lands to a specific url
183
+ const { breadcrumbs, setActiveItem } = useBreadcrumbs(
184
+ items,
185
+ '/nomothesia-pyroprostasias/odigies-epi-protypon-pyroprostasias'
186
+ );
168
187
  return (
169
188
  <>
170
- {breadcrumbs.length > 0 && (
171
- <Breadcrumbs marginBottom={8}>
189
+ {breadcrumbs.length > 1 && (
190
+ <Breadcrumbs mb={8}>
172
191
  <BreadcrumbsList>
173
192
  {breadcrumbs.map((breadcrumb, index) => (
174
193
  <BreadcrumbsListItem
175
194
  key={index}
176
- href={breadcrumb.href}
177
- aria-current={breadcrumb.active ? "page" : undefined}
195
+ href={breadcrumbs.length - 1 === index ? undefined : '#'}
196
+ onClick={() => setActiveItem(breadcrumb)}
197
+ aria-current={
198
+ breadcrumbs.length - 1 === index ? 'page' : undefined
199
+ }
178
200
  >
179
201
  {breadcrumb.title}
180
202
  </BreadcrumbsListItem>
@@ -187,9 +209,9 @@ export const WithHook = () => {
187
209
  {breadcrumbs[breadcrumbs.length - 1]?.title}
188
210
  </Heading>
189
211
  )}
190
- {items.map((item) => getListChild(item, setActive))}
212
+ {items.map((item) => getListChild(item, setActiveItem))}
191
213
  </>
192
214
  );
193
215
  };
194
216
 
195
- export default WithHook;
217
+ export default WithHook;
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ import { LinkProvider } from '@digigov/ui/navigation/Link';
3
+ import {
4
+ Breadcrumbs,
5
+ BreadcrumbsList,
6
+ BreadcrumbsListItem,
7
+ } from '@digigov/ui/navigation/Breadcrumbs';
8
+
9
+ const CustomLink: React.FC<any> = (props) => {
10
+ return <div>custom link: {props.children}</div>;
11
+ };
12
+
13
+ export const WithProvider = () => (
14
+ <LinkProvider component={CustomLink}>
15
+ <Breadcrumbs role="navigation">
16
+ <BreadcrumbsList>
17
+ <BreadcrumbsListItem href="#">Αρχική</BreadcrumbsListItem>
18
+ <BreadcrumbsListItem href="#">Υγεία και πρόνοια</BreadcrumbsListItem>
19
+ <BreadcrumbsListItem href="#">Φάκελος υγείας</BreadcrumbsListItem>
20
+ <BreadcrumbsListItem aria-current="page">
21
+ Άυλη συνταγογράφηση
22
+ </BreadcrumbsListItem>
23
+ </BreadcrumbsList>
24
+ </Breadcrumbs>
25
+ </LinkProvider>
26
+ );
27
+
28
+ export default WithProvider;
@@ -1,18 +1,33 @@
1
1
  import React, { createContext, useContext, ReactNode } from 'react';
2
- import { Breadcrumbs, BreadcrumbsList, BreadcrumbsListItem, BreadcrumbsProps } from '@digigov/ui/navigation/Breadcrumbs';
3
- import { useBreadcrumbs, UseBreadcrumbsReturn, ConfigData, ChildrenData } from '@digigov/ui/navigation/Breadcrumbs/hooks';
2
+ import {
3
+ Breadcrumbs,
4
+ BreadcrumbsList,
5
+ BreadcrumbsListItem,
6
+ BreadcrumbsProps,
7
+ } from '@digigov/ui/navigation/Breadcrumbs';
8
+ import {
9
+ useBreadcrumbs,
10
+ UseBreadcrumbsReturn,
11
+ BreadcrumbItem,
12
+ } from '@digigov/ui/navigation/Breadcrumbs/hooks';
4
13
 
5
- export interface BreadcrumbsListAutoProps extends BreadcrumbsProps { }
6
- export interface BreadcrumbsAutoProps extends BreadcrumbsProps { }
14
+ export interface BreadcrumbsListAutoProps extends BreadcrumbsProps {}
15
+ export interface BreadcrumbsAutoProps extends BreadcrumbsProps {}
7
16
  export interface BreadcrumbsAutoProps {
8
- items: ConfigData[];
9
- hrefGenerator: (value: ChildrenData) => string;
17
+ items: BreadcrumbItem[];
18
+ initialUrlRoute?: string;
10
19
  children: ReactNode;
11
- };
12
- export const BreadcrumbsContext = createContext<UseBreadcrumbsReturn | null>(null);
20
+ }
21
+ export const BreadcrumbsContext = createContext<UseBreadcrumbsReturn | null>(
22
+ null
23
+ );
13
24
 
14
- export const BreadcrumbsAuto = ({ items, hrefGenerator, children }: BreadcrumbsAutoProps) => {
15
- const breadcrumbs = useBreadcrumbs(items, hrefGenerator);
25
+ export const BreadcrumbsAuto = ({
26
+ items,
27
+ initialUrlRoute,
28
+ children,
29
+ }: BreadcrumbsAutoProps) => {
30
+ const breadcrumbs = useBreadcrumbs(items, initialUrlRoute);
16
31
 
17
32
  return (
18
33
  <BreadcrumbsContext.Provider value={breadcrumbs}>
@@ -34,22 +49,24 @@ export const useBreadcrumbsContext = (): UseBreadcrumbsReturn => {
34
49
  export const BreadcrumbsListAuto = React.forwardRef<
35
50
  HTMLDivElement,
36
51
  BreadcrumbsListAutoProps
37
- >(function (props, ref) {
38
- const { breadcrumbs } = useBreadcrumbsContext();
52
+ >(function BreadcrumbsListAuto(props, ref) {
53
+ const { breadcrumbs, setActiveItem } = useBreadcrumbsContext();
39
54
  return (
40
55
  <Breadcrumbs ref={ref} role="navigation" {...props}>
41
56
  <BreadcrumbsList>
42
- {breadcrumbs.map((item, index) => (
57
+ {breadcrumbs.map((breadcrumb, index) => (
43
58
  <BreadcrumbsListItem
44
59
  key={index}
45
- href={item.href}
46
- aria-current={item.active ? "page" : undefined}
60
+ href={
61
+ breadcrumbs.length - 1 === index ? undefined : breadcrumb.href
62
+ }
63
+ onClick={() => setActiveItem(breadcrumb)}
64
+ aria-current={breadcrumbs.length - 1 === index ? 'page' : undefined}
47
65
  >
48
- {item.title}
66
+ {breadcrumb.title}
49
67
  </BreadcrumbsListItem>
50
68
  ))}
51
69
  </BreadcrumbsList>
52
-
53
70
  </Breadcrumbs>
54
71
  );
55
- });
72
+ });
@@ -11,11 +11,11 @@ The Breadcrumbs component lets users show and hide sections of related content o
11
11
 
12
12
  ## How to use
13
13
 
14
- <Story
15
- packageName="@digigov/ui"
16
- component="navigation/Breadcrumbs"
17
- story="Default.tsx"
18
- />
14
+ <code src="@digigov/ui/navigation/Breadcrumbs/__stories__/Default.tsx" />
15
+
16
+ ### Without current page
17
+
18
+ <code src="@digigov/ui/navigation/Breadcrumbs/__stories__/WithoutCurrentPage.tsx" />
19
19
 
20
20
  ## Accessibility
21
21
 
@@ -1,75 +1,66 @@
1
- import { useCallback, useMemo, useState, } from 'react';
1
+ import { useCallback, useMemo, useState } from 'react';
2
+ import { slug } from '@digigov/ui/navigation/Breadcrumbs/slug';
2
3
  import { flattenRoutes } from '@digigov/ui/navigation/Breadcrumbs/utils';
3
4
 
4
- export interface ChildrenData {
5
- title: string;
6
- href?: string;
7
- pdf?: string;
8
- children?: ChildrenData[];
9
- }
10
-
11
- export interface ConfigData {
12
- title: string;
13
- children?: ChildrenData[];
14
-
15
- }
16
-
17
5
  export interface BreadcrumbItem {
18
6
  title: string;
19
7
  href?: string;
20
- active?: boolean;
21
- }
22
-
23
- export interface CurrentItem {
24
- title: string;
25
- children: CurrentItem[];
26
- parents: string[];
8
+ [key: string]: unknown;
27
9
  }
28
10
 
29
11
  export interface UseBreadcrumbsReturn {
30
- breadcrumbs: Array<BreadcrumbItem>;
31
- active: CurrentItem;
32
- setActive: (item: string) => void;
12
+ breadcrumbs: BreadcrumbItem[];
13
+ currentRoute: string;
14
+ setActiveItem: (item: BreadcrumbItem) => void;
33
15
  }
34
16
 
35
17
  export const useBreadcrumbs = (
36
- items: ConfigData[],
37
- hrefGenerator: (value: ChildrenData) => string,
18
+ items: BreadcrumbItem[],
19
+ initialUrlRoute?: string
38
20
  ): UseBreadcrumbsReturn => {
39
21
  const routes = useMemo(() => flattenRoutes(items, 100), [items]);
40
- const [currentPath, setCurrentPath] = useState('');
41
-
42
- const setActive = useCallback((item) => {
43
- const itemHref = item.href ?? hrefGenerator(item)
44
- setCurrentPath(() => {
45
- const newRoute = Object.keys(routes).find((route) =>
46
- route.endsWith(itemHref)
47
- );
48
- return newRoute || '/';
49
- });
50
- }, [routes]);
22
+ const [currentRoute, setCurrentRoute] = useState(initialUrlRoute || '');
51
23
 
52
- const getParentPath = useCallback((parent: string): string => {
53
- return Object.keys(routes).find(
54
- (path) => routes[path].title === parent
55
- ) || '#';
56
- }, [currentPath]);
24
+ const setActiveItem = useCallback(
25
+ (item) => {
26
+ const itemHref = item.href ?? slug(item.title, 100);
27
+ setCurrentRoute(() => {
28
+ const selectedRoute = Object.keys(routes).find((route) =>
29
+ route.endsWith(itemHref)
30
+ );
31
+ return selectedRoute || '/';
32
+ });
33
+ },
34
+ [routes]
35
+ );
57
36
 
58
- const active = routes[currentPath.replace(/\/$/, '')];
59
- const breadcrumbs = active?.parents.map((parent) => ({
60
- title: parent,
61
- href: `#${getParentPath(parent)}`
62
- })) || [];
63
- if (active?.title) {
64
- breadcrumbs.push({
65
- title: active.title,
66
- active: true,
67
- });
68
- }
37
+ const constructBreadcrumbs = useCallback(
38
+ (routes): BreadcrumbItem[] => {
39
+ if (currentRoute) {
40
+ const selectedBreadcrumb = routes[currentRoute];
41
+ return [
42
+ ...(selectedBreadcrumb?.parents?.map((parent) => {
43
+ return {
44
+ title: parent,
45
+ href: Object.keys(routes).find((route) => {
46
+ return routes[route].title === parent;
47
+ }),
48
+ };
49
+ }) || []),
50
+ {
51
+ title: selectedBreadcrumb?.title,
52
+ href: currentRoute,
53
+ },
54
+ ];
55
+ }
56
+ return [];
57
+ },
58
+ [currentRoute]
59
+ );
69
60
 
70
61
  return {
71
- breadcrumbs,
72
- active,
73
- setActive,
62
+ breadcrumbs: constructBreadcrumbs(routes),
63
+ currentRoute,
64
+ setActiveItem,
74
65
  };
75
66
  };
@@ -5,6 +5,7 @@ import { Auto } from '@digigov/ui/navigation/Breadcrumbs/__stories__/Auto';
5
5
  import { Default } from '@digigov/ui/navigation/Breadcrumbs/__stories__/Default';
6
6
  import { WithHook } from '@digigov/ui/navigation/Breadcrumbs/__stories__/WithHook';
7
7
  import { WithoutCurrentPage } from '@digigov/ui/navigation/Breadcrumbs/__stories__/WithoutCurrentPage';
8
+ import { WithProvider } from '@digigov/ui/navigation/Breadcrumbs/__stories__/WithProvider';
8
9
 
9
10
  test('renders the All Breadcrumbs variants', async ({ mount, page }) => {
10
11
  await mount(
@@ -22,6 +23,9 @@ test('renders the All Breadcrumbs variants', async ({ mount, page }) => {
22
23
  <TestVariant title="WithoutCurrentPage">
23
24
  <WithoutCurrentPage />
24
25
  </TestVariant>
26
+ <TestVariant title="WithProvider">
27
+ <WithProvider />
28
+ </TestVariant>
25
29
  </div>
26
30
  )
27
31
  await page.evaluate(() => document.fonts.ready);
@@ -1,8 +1,10 @@
1
1
  export * from '@digigov/react-core/Breadcrumbs';
2
2
  export * from '@digigov/react-core/BreadcrumbsList';
3
3
  export * from '@digigov/react-core/BreadcrumbsListItem';
4
+ export * from '@digigov/react-core/BreadcrumbsListItemLink';
4
5
  import Breadcrumbs from '@digigov/react-core/Breadcrumbs';
5
6
 
7
+ export * from '@digigov/ui/navigation/Breadcrumbs/BreadcrumbsListItem';
6
8
  export * from '@digigov/ui/navigation/Breadcrumbs/utils';
7
9
 
8
10
  export default Breadcrumbs;
@@ -15,9 +15,9 @@ export const flattenRoutes = (
15
15
 
16
16
  const routeChildren = children
17
17
  ? children.map((child) => ({
18
- href: child.href || slug(child.title, maxLength),
19
- ...child,
20
- }))
18
+ href: child.href || slug(child.title, maxLength),
19
+ ...child,
20
+ }))
21
21
  : [];
22
22
 
23
23
  flattened[route] = {
@@ -64,7 +64,7 @@ export const Auto = () => {
64
64
  <DrawerProvider>
65
65
  <AdminHeader>
66
66
  <AdminHeaderContent>
67
- <GovGRLogo></GovGRLogo>
67
+ <GovGRLogo />
68
68
  <DrawerButtonAuto
69
69
  drawer="drawer-1"
70
70
  className="md:hidden"
@@ -102,3 +102,5 @@ export const Auto = () => {
102
102
  </AdminLayout>
103
103
  );
104
104
  };
105
+
106
+ export default Auto;
@@ -2,7 +2,7 @@ import React, { useState } from 'react';
2
2
  import { Drawer } from '@digigov/ui/navigation/Drawer';
3
3
  import { DrawerHeading } from '@digigov/ui/navigation/Drawer';
4
4
  import { NavListAuto } from '@digigov/ui/navigation/NavList';
5
- import Heading from '@digigov/ui/typography/Heading';
5
+ import { Heading } from '@digigov/ui/typography/Heading';
6
6
 
7
7
  function useDrawer(): [boolean, () => void] {
8
8
  const [open, setOpen] = useState(true);
@@ -52,7 +52,6 @@ const links = [
52
52
 
53
53
  export const Default = () => {
54
54
  const [open, toggleDrawer] = useDrawer();
55
-
56
55
  const layout = 'vertical';
57
56
  const border = false;
58
57
  const fixed = false;
@@ -72,4 +71,5 @@ export const Default = () => {
72
71
  </Drawer>
73
72
  );
74
73
  };
74
+
75
75
  export default Default;
@@ -3,9 +3,13 @@ id: drawer
3
3
  title: Drawer
4
4
  ---
5
5
 
6
+ import PhaseBanner, { PhaseBannerTag } from '@digigov/ui/feedback/PhaseBanner';
7
+
8
+ # Drawer
9
+
6
10
  ## How to use
7
11
 
8
- <Story packageName="@digigov/ui" component="navigation/Drawer" story="Default.tsx" />
12
+ <code src="@digigov/ui/navigation/Drawer/__stories__/Default.tsx" />
9
13
 
10
14
  ## API
11
15
 
@@ -7,31 +7,19 @@ title: Dropdown
7
7
 
8
8
  ## How to use
9
9
 
10
- <Story
11
- packageName="@digigov/ui"
12
- component="navigation/Dropdown"
13
- story="Default.tsx"
14
- />
10
+ <code src="@digigov/ui/navigation/Dropdown/__stories__/Default.tsx" />
15
11
 
16
12
  ### Dropdown with align right
17
13
 
18
14
  You can display the dropdown menu to the right side of the `Dropdown` button.
19
15
 
20
- <Story
21
- packageName="@digigov/ui"
22
- component="navigation/Dropdown"
23
- story="AlignRight.tsx"
24
- />
16
+ <code src="@digigov/ui/navigation/Dropdown/__stories__/AlignRight.tsx" />
25
17
 
26
18
  ### Dropdown with placement top
27
19
 
28
20
  You can display the dropdown menu to the top of the `Dropdown` button.
29
21
 
30
- <Story
31
- packageName="@digigov/ui"
32
- component="navigation/Dropdown"
33
- story="PlacementTop.tsx"
34
- />
22
+ <code src="@digigov/ui/navigation/Dropdown/__stories__/PlacementTop.tsx" />
35
23
 
36
24
  ## API
37
25