@digigov/ui 2.0.0-d57821ba → 2.0.0-daaf7bdf

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 (392) hide show
  1. package/app/Loader/Loader.stories/index.js +2 -0
  2. package/app/Loader/Loader.stories.d.ts +1 -0
  3. package/app/Loader/Loader.stories.js.map +2 -2
  4. package/app/Loader/__stories__/FullPageLoader/index.js +13 -0
  5. package/app/Loader/__stories__/FullPageLoader/package.json +6 -0
  6. package/app/Loader/__stories__/FullPageLoader.d.ts +2 -0
  7. package/app/Loader/__stories__/FullPageLoader.js.map +7 -0
  8. package/app/Modal/__stories__/Auto/index.js +5 -3
  9. package/app/Modal/__stories__/Auto.js.map +2 -2
  10. package/app/Modal/index.d.ts +0 -1
  11. package/app/Modal/index.js +0 -1
  12. package/app/Modal/index.js.map +2 -2
  13. package/app/OutdatedBrowserBanner/index.d.ts +0 -1
  14. package/cjs/app/Loader/Loader.stories/index.js +4 -1
  15. package/cjs/app/Loader/Loader.stories.js.map +2 -2
  16. package/cjs/{patterns/FilteredResults/FilterFields → app/Loader/__stories__/FullPageLoader}/index.js +9 -11
  17. package/cjs/app/Loader/__stories__/FullPageLoader.js.map +7 -0
  18. package/cjs/app/Modal/__stories__/Auto/index.js +2 -1
  19. package/cjs/app/Modal/__stories__/Auto.js.map +2 -2
  20. package/cjs/app/Modal/index.js +0 -2
  21. package/cjs/app/Modal/index.js.map +2 -2
  22. package/cjs/content/Accordion/__stories__/Auto/index.js +2 -1
  23. package/cjs/content/Accordion/__stories__/Auto.js.map +2 -2
  24. package/cjs/content/Accordion/index.js +1 -3
  25. package/cjs/content/Accordion/index.js.map +2 -2
  26. package/cjs/{patterns/FilteredResults/FilteredResults.stories → content/Markdown/Markdown.stories}/index.js +12 -11
  27. package/cjs/content/Markdown/Markdown.stories.js.map +7 -0
  28. package/cjs/content/Markdown/__stories__/Default/index.js +63 -0
  29. package/cjs/content/Markdown/__stories__/Default.js.map +7 -0
  30. package/cjs/content/SafeHTML/SafeHTML.stories/index.js +46 -0
  31. package/cjs/content/SafeHTML/SafeHTML.stories.js.map +7 -0
  32. package/cjs/content/SafeHTML/__stories__/Default/index.js +61 -0
  33. package/cjs/content/SafeHTML/__stories__/Default.js.map +7 -0
  34. package/cjs/content/StepNav/__stories__/Auto/index.js +3 -2
  35. package/cjs/content/StepNav/__stories__/Auto.js.map +2 -2
  36. package/cjs/content/StepNav/index.js +0 -2
  37. package/cjs/content/StepNav/index.js.map +2 -2
  38. package/cjs/content/SummaryList/SummaryList.stories/index.js +19 -35
  39. package/cjs/content/SummaryList/SummaryList.stories.js.map +3 -3
  40. package/cjs/content/SummaryList/__stories__/SummaryListExample/index.js +70 -0
  41. package/cjs/content/SummaryList/__stories__/SummaryListExample.js.map +7 -0
  42. package/cjs/feedback/WarningText/index.js +3 -0
  43. package/cjs/feedback/WarningText/index.js.map +2 -2
  44. package/cjs/form/AutoComplete/index.js +3 -1
  45. package/cjs/form/AutoComplete/index.js.map +2 -2
  46. package/cjs/form/AutoComplete/utils/index.js +1 -1
  47. package/cjs/form/AutoComplete/utils.js.map +2 -2
  48. package/cjs/form/Checkbox/index.js +2 -0
  49. package/cjs/form/Checkbox/index.js.map +2 -2
  50. package/cjs/i18n/index.js +1 -1
  51. package/cjs/i18n/index.js.map +2 -2
  52. package/cjs/i18n/locales/el/index.js +1 -1
  53. package/cjs/i18n/locales/el.js.map +1 -1
  54. package/cjs/index.js +0 -2
  55. package/cjs/index.js.map +2 -2
  56. package/cjs/lazy/index.js +1640 -332
  57. package/cjs/lazy.js.map +2 -2
  58. package/cjs/navigation/Breadcrumbs/Breadcrumbs.stories/index.js +6 -0
  59. package/cjs/navigation/Breadcrumbs/Breadcrumbs.stories.js.map +2 -2
  60. package/cjs/navigation/Breadcrumbs/__stories__/Auto/index.js +187 -0
  61. package/cjs/navigation/Breadcrumbs/__stories__/Auto.js.map +7 -0
  62. package/cjs/navigation/Breadcrumbs/__stories__/WithHook/index.js +194 -0
  63. package/cjs/navigation/Breadcrumbs/__stories__/WithHook.js.map +7 -0
  64. package/cjs/navigation/Breadcrumbs/auto/index.js +73 -0
  65. package/cjs/navigation/Breadcrumbs/auto.js.map +7 -0
  66. package/cjs/navigation/Breadcrumbs/hooks/index.js +63 -0
  67. package/cjs/navigation/Breadcrumbs/hooks.js.map +7 -0
  68. package/cjs/navigation/Breadcrumbs/index.js +3 -1
  69. package/cjs/navigation/Breadcrumbs/index.js.map +2 -2
  70. package/cjs/navigation/Breadcrumbs/slug/index.js +120 -0
  71. package/cjs/navigation/Breadcrumbs/slug.js.map +7 -0
  72. package/cjs/navigation/Breadcrumbs/utils/index.js +52 -0
  73. package/cjs/navigation/Breadcrumbs/utils.js.map +7 -0
  74. package/cjs/navigation/Drawer/__stories__/Auto/index.js +4 -4
  75. package/cjs/navigation/Drawer/__stories__/Auto.js.map +2 -2
  76. package/cjs/navigation/Drawer/index.js +1 -3
  77. package/cjs/navigation/Drawer/index.js.map +2 -2
  78. package/cjs/navigation/Pagination/__stories__/Auto/index.js +4 -3
  79. package/cjs/navigation/Pagination/__stories__/Auto.js.map +2 -2
  80. package/cjs/navigation/Pagination/index.js +1 -3
  81. package/cjs/navigation/Pagination/index.js.map +2 -2
  82. package/cjs/navigation/Tabs/__stories__/Auto/index.js +2 -1
  83. package/cjs/navigation/Tabs/__stories__/Auto.js.map +2 -2
  84. package/cjs/navigation/Tabs/__stories__/Default/index.js +2 -1
  85. package/cjs/navigation/Tabs/__stories__/Default.js.map +2 -2
  86. package/cjs/navigation/Tabs/__stories__/Dense/index.js +2 -1
  87. package/cjs/navigation/Tabs/__stories__/Dense.js.map +2 -2
  88. package/cjs/navigation/Tabs/__stories__/UsingAccordion/index.js +2 -1
  89. package/cjs/navigation/Tabs/__stories__/UsingAccordion.js.map +2 -2
  90. package/cjs/navigation/Tabs/index.js +1 -3
  91. package/cjs/navigation/Tabs/index.js.map +2 -2
  92. package/cjs/registry/index.js +12 -14
  93. package/cjs/registry.js.map +2 -2
  94. package/cjs/typography/CodeBlock/CodeBlock.stories/index.js +10 -1
  95. package/cjs/typography/CodeBlock/CodeBlock.stories.js.map +2 -2
  96. package/cjs/typography/CodeBlock/__stories__/Default/index.js +14 -93
  97. package/cjs/typography/CodeBlock/__stories__/Default.js.map +3 -3
  98. package/cjs/typography/CodeBlock/__stories__/Highlighted/index.js +57 -0
  99. package/cjs/typography/CodeBlock/__stories__/Highlighted.js.map +7 -0
  100. package/cjs/{patterns/FilteredResults/DataTable → typography/CodeBlock/__stories__/WithCopyToClipboard}/index.js +25 -10
  101. package/cjs/typography/CodeBlock/__stories__/WithCopyToClipboard.js.map +7 -0
  102. package/cjs/typography/CodeBlock/__stories__/WithPhaseBanner/index.js +66 -0
  103. package/cjs/typography/CodeBlock/__stories__/WithPhaseBanner.js.map +7 -0
  104. package/cjs/typography/CodeBlock/index.js +16 -10
  105. package/cjs/typography/CodeBlock/index.js.map +3 -3
  106. package/cjs/utils/Base/index.js +3 -0
  107. package/cjs/utils/Base/index.js.map +2 -2
  108. package/content/Accordion/__stories__/Auto/index.js +6 -4
  109. package/content/Accordion/__stories__/Auto.js.map +2 -2
  110. package/content/Accordion/auto.d.ts +2 -2
  111. package/content/Accordion/index.d.ts +0 -1
  112. package/content/Accordion/index.js +0 -1
  113. package/content/Accordion/index.js.map +2 -2
  114. package/content/Card/interaction.test.d.ts +1 -0
  115. package/content/Markdown/Markdown.stories/index.js +13 -0
  116. package/{patterns/FilteredResults/DataTable → content/Markdown/Markdown.stories}/package.json +1 -1
  117. package/content/Markdown/Markdown.stories.d.ts +9 -0
  118. package/content/Markdown/Markdown.stories.js.map +7 -0
  119. package/content/Markdown/__stories__/Default/index.js +30 -0
  120. package/{patterns/FilteredResults/FilterChips → content/Markdown/__stories__/Default}/package.json +1 -1
  121. package/{patterns/FilteredResults → content/Markdown}/__stories__/Default.d.ts +1 -0
  122. package/content/Markdown/__stories__/Default.js.map +7 -0
  123. package/content/Markdown/index.d.ts +1 -1
  124. package/content/Markdown/index.test.d.ts +1 -0
  125. package/content/SafeHTML/SafeHTML.stories/index.js +13 -0
  126. package/content/SafeHTML/SafeHTML.stories/package.json +6 -0
  127. package/content/SafeHTML/SafeHTML.stories.d.ts +9 -0
  128. package/content/SafeHTML/SafeHTML.stories.js.map +7 -0
  129. package/content/SafeHTML/__stories__/Default/index.js +28 -0
  130. package/{patterns/FilteredResults/FilterFields → content/SafeHTML/__stories__/Default}/package.json +1 -1
  131. package/content/SafeHTML/__stories__/Default.d.ts +3 -0
  132. package/content/SafeHTML/__stories__/Default.js.map +7 -0
  133. package/content/SafeHTML/index.test.d.ts +1 -0
  134. package/content/StepNav/__stories__/Auto/index.js +4 -2
  135. package/content/StepNav/__stories__/Auto.js.map +2 -2
  136. package/content/StepNav/auto.d.ts +2 -2
  137. package/content/StepNav/index.d.ts +0 -1
  138. package/content/StepNav/index.js +0 -1
  139. package/content/StepNav/index.js.map +2 -2
  140. package/content/SummaryList/SummaryList.stories/index.js +17 -17
  141. package/content/SummaryList/SummaryList.stories.d.ts +15 -9
  142. package/content/SummaryList/SummaryList.stories.js.map +2 -2
  143. package/content/SummaryList/__stories__/SummaryListExample/index.js +43 -0
  144. package/content/SummaryList/__stories__/SummaryListExample/package.json +6 -0
  145. package/content/SummaryList/__stories__/SummaryListExample.d.ts +14 -0
  146. package/content/SummaryList/__stories__/SummaryListExample.js.map +7 -0
  147. package/feedback/ErrorSummary/interaction.test.d.ts +1 -0
  148. package/feedback/WarningText/index.d.ts +1 -0
  149. package/feedback/WarningText/index.js +2 -0
  150. package/feedback/WarningText/index.js.map +2 -2
  151. package/form/AutoComplete/index.js +3 -1
  152. package/form/AutoComplete/index.js.map +2 -2
  153. package/form/AutoComplete/utils/index.js +1 -1
  154. package/form/AutoComplete/utils.js.map +2 -2
  155. package/form/Checkbox/index.d.ts +1 -0
  156. package/form/Checkbox/index.js +1 -0
  157. package/form/Checkbox/index.js.map +2 -2
  158. package/i18n/index.js +1 -1
  159. package/i18n/index.js.map +2 -2
  160. package/i18n/locales/el/index.js +1 -1
  161. package/i18n/locales/el.js.map +1 -1
  162. package/index.d.ts +0 -1
  163. package/index.js +1 -2
  164. package/index.js.map +2 -2
  165. package/lazy/index.js +1640 -332
  166. package/lazy.d.ts +98 -109
  167. package/lazy.js.map +2 -2
  168. package/navigation/Breadcrumbs/Breadcrumbs.stories/index.js +4 -0
  169. package/navigation/Breadcrumbs/Breadcrumbs.stories.d.ts +2 -0
  170. package/navigation/Breadcrumbs/Breadcrumbs.stories.js.map +2 -2
  171. package/navigation/Breadcrumbs/__stories__/Auto/index.js +158 -0
  172. package/navigation/Breadcrumbs/__stories__/Auto/package.json +6 -0
  173. package/navigation/Breadcrumbs/__stories__/Auto.d.ts +3 -0
  174. package/navigation/Breadcrumbs/__stories__/Auto.js.map +7 -0
  175. package/navigation/Breadcrumbs/__stories__/WithHook/index.js +165 -0
  176. package/navigation/Breadcrumbs/__stories__/WithHook/package.json +6 -0
  177. package/navigation/Breadcrumbs/__stories__/WithHook.d.ts +3 -0
  178. package/navigation/Breadcrumbs/__stories__/WithHook.js.map +7 -0
  179. package/navigation/Breadcrumbs/auto/index.js +37 -0
  180. package/{patterns → navigation/Breadcrumbs/auto}/package.json +1 -1
  181. package/navigation/Breadcrumbs/auto.d.ts +16 -0
  182. package/navigation/Breadcrumbs/auto.js.map +7 -0
  183. package/navigation/Breadcrumbs/hooks/index.js +40 -0
  184. package/{patterns/FilteredResults → navigation/Breadcrumbs}/hooks/package.json +1 -1
  185. package/navigation/Breadcrumbs/hooks.d.ts +26 -0
  186. package/navigation/Breadcrumbs/hooks.js.map +7 -0
  187. package/navigation/Breadcrumbs/index.d.ts +1 -0
  188. package/navigation/Breadcrumbs/index.js +1 -0
  189. package/navigation/Breadcrumbs/index.js.map +2 -2
  190. package/navigation/Breadcrumbs/slug/index.js +97 -0
  191. package/{patterns/FilteredResults → navigation/Breadcrumbs/slug}/package.json +1 -1
  192. package/navigation/Breadcrumbs/slug.d.ts +1 -0
  193. package/navigation/Breadcrumbs/slug.js.map +7 -0
  194. package/navigation/Breadcrumbs/utils/index.js +29 -0
  195. package/navigation/Breadcrumbs/utils/package.json +6 -0
  196. package/navigation/Breadcrumbs/utils.d.ts +1 -0
  197. package/navigation/Breadcrumbs/utils.js.map +7 -0
  198. package/navigation/Drawer/__stories__/Auto/index.js +1 -1
  199. package/navigation/Drawer/__stories__/Auto.js.map +1 -1
  200. package/navigation/Drawer/index.d.ts +0 -1
  201. package/navigation/Drawer/index.js +0 -1
  202. package/navigation/Drawer/index.js.map +2 -2
  203. package/navigation/NavList/interaction.test.d.ts +1 -0
  204. package/navigation/Pagination/__stories__/Auto/index.js +4 -2
  205. package/navigation/Pagination/__stories__/Auto.js.map +2 -2
  206. package/navigation/Pagination/auto.d.ts +2 -2
  207. package/navigation/Pagination/index.d.ts +0 -1
  208. package/navigation/Pagination/index.js +0 -1
  209. package/navigation/Pagination/index.js.map +2 -2
  210. package/navigation/Tabs/__stories__/Auto/index.js +5 -3
  211. package/navigation/Tabs/__stories__/Auto.js.map +2 -2
  212. package/navigation/Tabs/__stories__/Default/index.js +4 -2
  213. package/navigation/Tabs/__stories__/Default.js.map +2 -2
  214. package/navigation/Tabs/__stories__/Dense/index.js +4 -2
  215. package/navigation/Tabs/__stories__/Dense.js.map +2 -2
  216. package/navigation/Tabs/__stories__/UsingAccordion/index.js +4 -2
  217. package/navigation/Tabs/__stories__/UsingAccordion.js.map +2 -2
  218. package/navigation/Tabs/index.d.ts +0 -1
  219. package/navigation/Tabs/index.js +0 -1
  220. package/navigation/Tabs/index.js.map +2 -2
  221. package/package.json +7 -8
  222. package/registry/index.js +12 -14
  223. package/registry.d.ts +8 -8
  224. package/registry.js.map +2 -2
  225. package/src/app/Header/interaction.test.tsx +31 -0
  226. package/src/app/Loader/Loader.stories.js +1 -0
  227. package/src/app/Loader/__stories__/FullPageLoader.tsx +16 -0
  228. package/src/app/Loader/index.test.tsx +4 -0
  229. package/src/app/Modal/__stories__/Auto.tsx +4 -2
  230. package/src/app/Modal/index.tsx +0 -1
  231. package/src/content/Accordion/__stories__/Auto.tsx +5 -3
  232. package/src/content/Accordion/index.tsx +0 -1
  233. package/src/content/Card/interaction.test.tsx +15 -0
  234. package/src/content/Markdown/Markdown.stories.js +9 -0
  235. package/src/content/Markdown/__stories__/Default.tsx +41 -0
  236. package/src/content/Markdown/index.test.tsx +20 -0
  237. package/src/content/SafeHTML/SafeHTML.stories.js +9 -0
  238. package/src/content/SafeHTML/__stories__/Default.tsx +41 -0
  239. package/src/content/SafeHTML/index.test.tsx +20 -0
  240. package/src/content/StepNav/__stories__/Auto.tsx +4 -1
  241. package/src/content/StepNav/index.tsx +0 -1
  242. package/src/content/SummaryList/SummaryList.stories.js +17 -10
  243. package/src/content/SummaryList/__stories__/SummaryListExample.tsx +75 -0
  244. package/src/content/SummaryList/index.test.tsx +4 -0
  245. package/src/content/Table/interaction.test.tsx +14 -0
  246. package/src/feedback/ErrorSummary/interaction.test.tsx +17 -0
  247. package/src/feedback/WarningText/index.tsx +1 -0
  248. package/src/form/AutoComplete/index.tsx +3 -3
  249. package/src/form/AutoComplete/utils.ts +2 -2
  250. package/src/form/Button/interaction.test.tsx +15 -0
  251. package/src/form/Checkbox/index.tsx +1 -0
  252. package/src/form/DateInputContainer/interaction.test.tsx +28 -7
  253. package/src/form/TextArea/interaction.test.tsx +24 -13
  254. package/src/form/TextInput/interaction.test.tsx +22 -7
  255. package/src/i18n/index.tsx +2 -2
  256. package/src/i18n/locales/el.ts +1 -1
  257. package/src/index.ts +0 -1
  258. package/src/lazy.js +1642 -335
  259. package/src/navigation/Breadcrumbs/Breadcrumbs.stories.js +3 -0
  260. package/src/navigation/Breadcrumbs/__stories__/Auto.tsx +185 -0
  261. package/src/navigation/Breadcrumbs/__stories__/WithHook.tsx +195 -0
  262. package/src/navigation/Breadcrumbs/auto.tsx +55 -0
  263. package/src/navigation/Breadcrumbs/hooks.ts +75 -0
  264. package/src/navigation/Breadcrumbs/index.test.tsx +8 -0
  265. package/src/navigation/Breadcrumbs/index.tsx +3 -0
  266. package/src/navigation/Breadcrumbs/interaction.test.tsx +28 -4
  267. package/src/navigation/Breadcrumbs/slug.ts +141 -0
  268. package/src/navigation/Breadcrumbs/utils.ts +39 -0
  269. package/src/navigation/Drawer/__stories__/Auto.tsx +1 -1
  270. package/src/navigation/Drawer/index.tsx +0 -1
  271. package/src/navigation/NavList/interaction.test.tsx +45 -0
  272. package/src/navigation/Pagination/__stories__/Auto.tsx +3 -1
  273. package/src/navigation/Pagination/index.tsx +0 -1
  274. package/src/navigation/Tabs/__stories__/Auto.tsx +5 -3
  275. package/src/navigation/Tabs/__stories__/Default.tsx +4 -2
  276. package/src/navigation/Tabs/__stories__/Dense.tsx +4 -3
  277. package/src/navigation/Tabs/__stories__/UsingAccordion.tsx +4 -2
  278. package/src/navigation/Tabs/index.tsx +0 -1
  279. package/src/registry.js +18 -21
  280. package/src/typography/CodeBlock/CodeBlock.stories.js +3 -0
  281. package/src/typography/CodeBlock/__stories__/Default.tsx +14 -99
  282. package/src/typography/CodeBlock/__stories__/Highlighted.tsx +27 -0
  283. package/src/typography/CodeBlock/__stories__/WithCopyToClipboard.tsx +27 -0
  284. package/src/typography/CodeBlock/__stories__/WithPhaseBanner.tsx +32 -0
  285. package/src/typography/CodeBlock/index.test.tsx +32 -0
  286. package/src/typography/CodeBlock/index.tsx +24 -19
  287. package/src/utils/Base/index.tsx +1 -0
  288. package/typography/CodeBlock/CodeBlock.stories/index.js +6 -0
  289. package/typography/CodeBlock/CodeBlock.stories.d.ts +3 -0
  290. package/typography/CodeBlock/CodeBlock.stories.js.map +2 -2
  291. package/typography/CodeBlock/__stories__/Default/index.js +14 -93
  292. package/typography/CodeBlock/__stories__/Default.js.map +2 -2
  293. package/typography/CodeBlock/__stories__/Highlighted/index.js +24 -0
  294. package/typography/CodeBlock/__stories__/Highlighted/package.json +6 -0
  295. package/typography/CodeBlock/__stories__/Highlighted.d.ts +3 -0
  296. package/typography/CodeBlock/__stories__/Highlighted.js.map +7 -0
  297. package/typography/CodeBlock/__stories__/WithCopyToClipboard/index.js +24 -0
  298. package/typography/CodeBlock/__stories__/WithCopyToClipboard/package.json +6 -0
  299. package/typography/CodeBlock/__stories__/WithCopyToClipboard.d.ts +3 -0
  300. package/typography/CodeBlock/__stories__/WithCopyToClipboard.js.map +7 -0
  301. package/typography/CodeBlock/__stories__/WithPhaseBanner/index.js +33 -0
  302. package/typography/CodeBlock/__stories__/WithPhaseBanner/package.json +6 -0
  303. package/typography/CodeBlock/__stories__/WithPhaseBanner.d.ts +3 -0
  304. package/typography/CodeBlock/__stories__/WithPhaseBanner.js.map +7 -0
  305. package/typography/CodeBlock/index.d.ts +4 -5
  306. package/typography/CodeBlock/index.js +21 -15
  307. package/typography/CodeBlock/index.js.map +2 -2
  308. package/typography/CodeBlock/index.test.d.ts +1 -0
  309. package/utils/Base/index.d.ts +1 -0
  310. package/utils/Base/index.js +2 -0
  311. package/utils/Base/index.js.map +2 -2
  312. package/utils/hooks/useDebounce.d.ts +1 -1
  313. package/utils/hooks/useKeypress.d.ts +1 -1
  314. package/cjs/patterns/FilteredResults/DataTable.js.map +0 -7
  315. package/cjs/patterns/FilteredResults/FilterChips/index.js +0 -82
  316. package/cjs/patterns/FilteredResults/FilterChips.js.map +0 -7
  317. package/cjs/patterns/FilteredResults/FilterFields.js.map +0 -7
  318. package/cjs/patterns/FilteredResults/FilteredResults.stories.js.map +0 -7
  319. package/cjs/patterns/FilteredResults/__stories__/Default/index.js +0 -250
  320. package/cjs/patterns/FilteredResults/__stories__/Default.js.map +0 -7
  321. package/cjs/patterns/FilteredResults/hooks/index.js +0 -132
  322. package/cjs/patterns/FilteredResults/hooks.js.map +0 -7
  323. package/cjs/patterns/FilteredResults/index.js +0 -155
  324. package/cjs/patterns/FilteredResults/index.js.map +0 -7
  325. package/cjs/patterns/index.js +0 -22
  326. package/cjs/patterns/index.js.map +0 -7
  327. package/patterns/FilteredResults/DataTable/index.js +0 -18
  328. package/patterns/FilteredResults/DataTable.d.ts +0 -5
  329. package/patterns/FilteredResults/DataTable.js.map +0 -7
  330. package/patterns/FilteredResults/FilterChips/index.js +0 -52
  331. package/patterns/FilteredResults/FilterChips.d.ts +0 -3
  332. package/patterns/FilteredResults/FilterChips.js.map +0 -7
  333. package/patterns/FilteredResults/FilterFields/index.js +0 -11
  334. package/patterns/FilteredResults/FilterFields.d.ts +0 -5
  335. package/patterns/FilteredResults/FilterFields.js.map +0 -7
  336. package/patterns/FilteredResults/FilteredResults.stories/index.js +0 -12
  337. package/patterns/FilteredResults/FilteredResults.stories/package.json +0 -6
  338. package/patterns/FilteredResults/FilteredResults.stories.d.ts +0 -8
  339. package/patterns/FilteredResults/FilteredResults.stories.js.map +0 -7
  340. package/patterns/FilteredResults/__stories__/Default/index.js +0 -220
  341. package/patterns/FilteredResults/__stories__/Default/package.json +0 -6
  342. package/patterns/FilteredResults/__stories__/Default.js.map +0 -7
  343. package/patterns/FilteredResults/hooks/index.js +0 -105
  344. package/patterns/FilteredResults/hooks.d.ts +0 -22
  345. package/patterns/FilteredResults/hooks.js.map +0 -7
  346. package/patterns/FilteredResults/index.d.ts +0 -25
  347. package/patterns/FilteredResults/index.js +0 -122
  348. package/patterns/FilteredResults/index.js.map +0 -7
  349. package/patterns/index.d.ts +0 -1
  350. package/patterns/index.js +0 -2
  351. package/patterns/index.js.map +0 -7
  352. package/src/app/Footer/Footer.stories.playwright.json +0 -27
  353. package/src/app/Header/Header.stories.playwright.json +0 -49
  354. package/src/app/Masthead/Masthead.stories.playwright.json +0 -21
  355. package/src/app/Modal/Modal.stories.playwright.json +0 -53
  356. package/src/content/Accordion/Accordion.stories.playwright.json +0 -21
  357. package/src/content/Card/Card.stories.playwright.json +0 -21
  358. package/src/content/Details/Details.stories.playwright.json +0 -21
  359. package/src/content/StepNav/StepNav.stories.playwright.json +0 -33
  360. package/src/content/SummaryList/SummaryList.stories.playwright.json +0 -27
  361. package/src/content/Table/Table.stories.playwright.json +0 -37
  362. package/src/feedback/CopyToClipboard/CopyToClipboard.stories.playwright.json +0 -53
  363. package/src/feedback/ErrorSummary/ErrorSummary.stories.playwright.json +0 -27
  364. package/src/feedback/NotificationBanner/NotificationBanner.stories.playwright.json +0 -49
  365. package/src/feedback/PhaseBanner/PhaseBanner.stories.playwright.json +0 -21
  366. package/src/form/AutoComplete/AutoComplete.stories.playwright.json +0 -33
  367. package/src/form/Button/Button.stories.playwright.json +0 -109
  368. package/src/form/Checkbox/Checkbox.stories.playwright.json +0 -55
  369. package/src/form/DateInputContainer/DateInputContainer.stories.playwright.json +0 -61
  370. package/src/form/RadioContainer/RadioContainer.stories.playwright.json +0 -49
  371. package/src/form/SelectContainer/SelectContainer.stories.playwright.json +0 -21
  372. package/src/form/TextArea/TextArea.stories.playwright.json +0 -59
  373. package/src/form/TextInput/TextInput.stories.playwright.json +0 -43
  374. package/src/navigation/BackLink/BackLink.stories.playwright.json +0 -21
  375. package/src/navigation/Breadcrumbs/Breadcrumbs.stories.playwright.json +0 -33
  376. package/src/navigation/Dropdown/Dropdown.stories.playwright.json +0 -85
  377. package/src/navigation/Link/Link.stories.playwright.json +0 -65
  378. package/src/navigation/NavList/NavList.stories.playwright.json +0 -53
  379. package/src/navigation/NavList/__stories__/NavLinksOneLevel.json +0 -17
  380. package/src/navigation/NavList/__stories__/NavLinksWithSubmenu.json +0 -36
  381. package/src/navigation/Pagination/Pagination.stories.playwright.json +0 -27
  382. package/src/navigation/Tabs/Tabs.stories.playwright.json +0 -27
  383. package/src/patterns/FilteredResults/DataTable.tsx +0 -47
  384. package/src/patterns/FilteredResults/FilterChips.tsx +0 -54
  385. package/src/patterns/FilteredResults/FilterFields.tsx +0 -15
  386. package/src/patterns/FilteredResults/FilteredResults.stories.js +0 -7
  387. package/src/patterns/FilteredResults/__stories__/Default.tsx +0 -243
  388. package/src/patterns/FilteredResults/hooks.ts +0 -131
  389. package/src/patterns/FilteredResults/index.test.tsx +0 -21
  390. package/src/patterns/FilteredResults/index.tsx +0 -180
  391. package/src/patterns/index.tsx +0 -1
  392. /package/{patterns/FilteredResults/index.test.d.ts → app/Header/interaction.test.d.ts} +0 -0
@@ -9,3 +9,6 @@ export default {
9
9
  };
10
10
  export { Default } from '@digigov/ui/navigation/Breadcrumbs/__stories__/Default';
11
11
  export { WithoutCurrentPage } from '@digigov/ui/navigation/Breadcrumbs/__stories__/WithoutCurrentPage';
12
+ export { WithHook } from '@digigov/ui/navigation/Breadcrumbs/__stories__/WithHook';
13
+ export { Auto } from '@digigov/ui/navigation/Breadcrumbs/__stories__/Auto';
14
+
@@ -0,0 +1,185 @@
1
+ import React from 'react';
2
+ import { List, ListItem } from '@digigov/ui/content/List';
3
+ import {
4
+ BreadcrumbsAuto,
5
+ BreadcrumbsListAuto,
6
+ useBreadcrumbsContext,
7
+ } from '@digigov/ui/navigation/Breadcrumbs/auto';
8
+ import { Heading } from '@digigov/ui/typography';
9
+ import { slug } from '@digigov/ui/navigation/Breadcrumbs/slug';
10
+ import { Button } from '@digigov/ui/form/Button/';
11
+ import { ConfigData, } from '@digigov/ui/navigation/Breadcrumbs/hooks';
12
+
13
+ const items: ConfigData[] = [
14
+ {
15
+ title: 'Νομοθεσία Πυροπροστασίας',
16
+ children: [
17
+ { title: 'Εγχειρίδια Νομοθεσίας Πυρασφάλειας', pdf: '#' },
18
+ { title: 'Διάγραμμα Ισχύουσας Νομοθεσίας' },
19
+ { title: 'Οδηγίες Επί Προτύπων Πυροπροστασίας' },
20
+ { title: 'Απλουστεύσεις Διαδικασιών' },
21
+ { title: 'Χρήσιμα Έγγραφα' },
22
+ {
23
+ title: 'Νομοθεσία Πυρασφάλειας',
24
+ children: [
25
+ {
26
+ title: 'Λοιπές Δραστηριότητες Εγκαταστάσεις',
27
+ },
28
+ {
29
+ title:
30
+ 'Εγκαταστάσεις Πετρελαιοειδών Προϊόντων – Υγραερίου – Φυσικού Αερίου',
31
+ },
32
+ { title: 'Διατάξεις Προληπτικής Πυροπροστασίας' },
33
+ { title: 'Συνδρομητική Νομοθεσία Πυροπροστασίας' },
34
+ {
35
+ title:
36
+ 'Δραστηριότητες – Εγκαταστάσεις που δεν υπάγονται σε Νομοθετικό Πλαίσιο',
37
+ },
38
+ {
39
+ title: 'Κανονισμοί Πυροπροστασίας Κτιρίων',
40
+ // href: '/kanonismoi-pyroprostasias',
41
+ children: [
42
+ {
43
+ title: 'Κατοικίες',
44
+ },
45
+ {
46
+ title: 'Εγκαταστάσεις Κεντρικής Θέρμανσης',
47
+ },
48
+ {
49
+ title: 'Προσωρινή Διαμονή (Ξεν/χεία-Κατ/σεις)',
50
+ },
51
+ {
52
+ title: 'Εκπαιδευτήρια',
53
+ },
54
+ {
55
+ title: 'Γραφεία',
56
+ },
57
+ {
58
+ title: 'Εμπόριο (Καταστήματα)',
59
+ },
60
+ {
61
+ title: 'Συνάθροιση Κοινού',
62
+ },
63
+ {
64
+ title: 'Υγεία & Κοινωνική Πρόνοια',
65
+ },
66
+ {
67
+ title: 'Σωφρονισμός',
68
+ },
69
+ {
70
+ title: 'Στάθμευση Αυτοκινήτων',
71
+ },
72
+
73
+ {
74
+ title: 'Λοιπές Βιομηχανικές Εγκαταστάσεις',
75
+ },
76
+ {
77
+ title: 'Αποθήκευση',
78
+ },
79
+ {
80
+ title: 'Συνεργεία, ΙΚτέο, Εμπ.Σταθμοί, Κτελ, Πλυντ.-Λιπαντ.',
81
+ },
82
+ {
83
+ title: 'Πρατήρια Υγρών Καυσίμων',
84
+ },
85
+ {
86
+ title: 'Πρατήρια Αερίων Καυσίμων',
87
+ },
88
+ {
89
+ title: 'Μεταποιητικές & Συναφείς Εγκαταστάσεις',
90
+ // href: '/metapoiitikes-egkatastaseis',
91
+ children: [
92
+ {
93
+ title: 'ΠΔ 41/2018 & ΚΥΑ ΑΠ-136860-1673-Φ15-2018',
94
+ },
95
+ {
96
+ title: 'ΚΥΑ ΑΠ-136860-1673-Φ15-2018',
97
+ },
98
+ {
99
+ title: 'ΠΔ 71/1988 ΚΥΑ ΑΠ-136860-1673-Φ15-2018',
100
+ children: [
101
+ { title: 'Γενικές Διατάξεις ΠΔ 41/2018' },
102
+ { title: 'ΚΥΑ ΑΠ-136860-1673-Φ15-2018' },
103
+ {
104
+ title: 'Γενικές Διατάξεις ΠΔ 71/2018',
105
+ children: [
106
+ {
107
+ title: 'Άρθρο 1: Ορισμοί – Ταξινόμηση Κτιρίων',
108
+ },
109
+ {
110
+ title: 'Άρθρο 2: Οδεύσεις Διαφυγής',
111
+ },
112
+ {
113
+ title: 'Άρθρο 3: Δομική Προστασία',
114
+ },
115
+ {
116
+ title: 'Άρθρο 4: Ενεργητικά Μέτρα Πυροπροστασίας',
117
+ pdf: '#pdf',
118
+ },
119
+ {
120
+ title:
121
+ 'Άρθρο 14: Παράρτημα Α - Δείκτες Πυραντίστασης',
122
+ },
123
+ {
124
+ title:
125
+ 'Άρθρο 14: Παράρτημα Β – Εσωτερικά Τελειώματα',
126
+ },
127
+ {
128
+ title: 'Άρθρο 15: Εφαρμογή ΠΔ 71/1988',
129
+ },
130
+ {
131
+ title:
132
+ 'Άρθρο 23-24: Έναρξη Εφαρμογής – Καταργούμενες Διατάξεις',
133
+ },
134
+ ],
135
+ },
136
+ ],
137
+ },
138
+ ],
139
+ },
140
+ ],
141
+ },
142
+ ],
143
+ },
144
+ ],
145
+ },
146
+ ];
147
+
148
+ const getListChild = (item, setActive) => {
149
+ return item.children ? (
150
+ <List listStyle="number">
151
+ <ListItem>
152
+ <Heading size="md">{item.title}</Heading>
153
+ {item.children?.map((subMenu, key) => (
154
+ <ListItem key={key}>{getListChild(subMenu, setActive)}</ListItem>
155
+ ))}
156
+ </ListItem>
157
+ </List>
158
+ ) : (
159
+ <Button variant='link' role="menuitem" id={item.title} onClick={(e) => { e.preventDefault(), setActive(item) }}>
160
+ {item.title}
161
+ </Button>
162
+ );
163
+ };
164
+
165
+ export const Auto = () => {
166
+ return (
167
+ <BreadcrumbsAuto items={items} hrefGenerator={(item) => { return item.href ? item.href : slug(item.title, 100) }}>
168
+ <BreadcrumbsListAuto />
169
+ <ContentRoutes />
170
+ </BreadcrumbsAuto>
171
+ );
172
+ };
173
+
174
+ const ContentRoutes = () => {
175
+ const { active, setActive } = useBreadcrumbsContext();
176
+
177
+ return <>
178
+ <Heading size="xl">
179
+ {active?.title}
180
+ </Heading>
181
+ {items.map((item) => getListChild(item, setActive))}
182
+ </>;
183
+ };
184
+
185
+ export default Auto;
@@ -0,0 +1,195 @@
1
+ import React from 'react';
2
+ import { List, ListItem } from '@digigov/ui/content/List';
3
+ import {
4
+ Breadcrumbs,
5
+ BreadcrumbsList,
6
+ BreadcrumbsListItem,
7
+ } from '@digigov/ui/navigation/Breadcrumbs';
8
+ import { Button } from '@digigov/ui/form/Button';
9
+ import { Heading } from '@digigov/ui/typography';
10
+ 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';
13
+
14
+ const items: ConfigData[] = [
15
+ {
16
+ title: 'Νομοθεσία Πυροπροστασίας',
17
+ children: [
18
+ { title: 'Εγχειρίδια Νομοθεσίας Πυρασφάλειας', pdf: '#', href: "echiridia-nomothesia-pyroprostasias" },
19
+ { title: 'Διάγραμμα Ισχύουσας Νομοθεσίας' },
20
+ { title: 'Οδηγίες Επί Προτύπων Πυροπροστασίας' },
21
+ { title: 'Απλουστεύσεις Διαδικασιών' },
22
+ { title: 'Χρήσιμα Έγγραφα' },
23
+ {
24
+ title: 'Νομοθεσία Πυρασφάλειας',
25
+ children: [
26
+ {
27
+ title: 'Λοιπές Δραστηριότητες Εγκαταστάσεις',
28
+ },
29
+ {
30
+ title:
31
+ 'Εγκαταστάσεις Πετρελαιοειδών Προϊόντων – Υγραερίου – Φυσικού Αερίου',
32
+ },
33
+ { title: 'Διατάξεις Προληπτικής Πυροπροστασίας' },
34
+ { title: 'Συνδρομητική Νομοθεσία Πυροπροστασίας' },
35
+ {
36
+ title:
37
+ 'Δραστηριότητες – Εγκαταστάσεις που δεν υπάγονται σε Νομοθετικό Πλαίσιο',
38
+ },
39
+ {
40
+ title: 'Κανονισμοί Πυροπροστασίας Κτιρίων',
41
+ // href: '/kanonismoi-pyroprostasias',
42
+ children: [
43
+ {
44
+ title: 'Κατοικίες',
45
+ },
46
+ {
47
+ title: 'Εγκαταστάσεις Κεντρικής Θέρμανσης',
48
+ },
49
+ {
50
+ title: 'Προσωρινή Διαμονή (Ξεν/χεία-Κατ/σεις)',
51
+ },
52
+ {
53
+ title: 'Εκπαιδευτήρια',
54
+ },
55
+ {
56
+ title: 'Γραφεία',
57
+ },
58
+ {
59
+ title: 'Εμπόριο (Καταστήματα)',
60
+ },
61
+ {
62
+ title: 'Συνάθροιση Κοινού',
63
+ },
64
+ {
65
+ title: 'Υγεία & Κοινωνική Πρόνοια',
66
+ },
67
+ {
68
+ title: 'Σωφρονισμός',
69
+ },
70
+ {
71
+ title: 'Στάθμευση Αυτοκινήτων',
72
+ },
73
+
74
+ {
75
+ title: 'Λοιπές Βιομηχανικές Εγκαταστάσεις',
76
+ },
77
+ {
78
+ title: 'Αποθήκευση',
79
+ },
80
+ {
81
+ title: 'Συνεργεία, ΙΚτέο, Εμπ.Σταθμοί, Κτελ, Πλυντ.-Λιπαντ.',
82
+ },
83
+ {
84
+ title: 'Πρατήρια Υγρών Καυσίμων',
85
+ },
86
+ {
87
+ title: 'Πρατήρια Αερίων Καυσίμων',
88
+ },
89
+ {
90
+ title: 'Μεταποιητικές & Συναφείς Εγκαταστάσεις',
91
+ // href: '/metapoiitikes-egkatastaseis',
92
+ children: [
93
+ {
94
+ title: 'ΠΔ 41/2018 & ΚΥΑ ΑΠ-136860-1673-Φ15-2018',
95
+ },
96
+ {
97
+ title: 'ΚΥΑ ΑΠ-136860-1673-Φ15-2018',
98
+ },
99
+ {
100
+ title: 'ΠΔ 71/1988 ΚΥΑ ΑΠ-136860-1673-Φ15-2018',
101
+ children: [
102
+ { title: 'Γενικές Διατάξεις ΠΔ 41/2018' },
103
+ { title: 'ΚΥΑ ΑΠ-136860-1673-Φ15-2018' },
104
+ {
105
+ title: 'Γενικές Διατάξεις ΠΔ 71/2018',
106
+ children: [
107
+ {
108
+ title: 'Άρθρο 1: Ορισμοί – Ταξινόμηση Κτιρίων',
109
+ },
110
+ {
111
+ title: 'Άρθρο 2: Οδεύσεις Διαφυγής',
112
+ },
113
+ {
114
+ title: 'Άρθρο 3: Δομική Προστασία',
115
+ },
116
+ {
117
+ title: 'Άρθρο 4: Ενεργητικά Μέτρα Πυροπροστασίας',
118
+ pdf: '#pdf',
119
+ },
120
+ {
121
+ title:
122
+ 'Άρθρο 14: Παράρτημα Α - Δείκτες Πυραντίστασης',
123
+ },
124
+ {
125
+ title:
126
+ 'Άρθρο 14: Παράρτημα Β – Εσωτερικά Τελειώματα',
127
+ },
128
+ {
129
+ title: 'Άρθρο 15: Εφαρμογή ΠΔ 71/1988',
130
+ },
131
+ {
132
+ title:
133
+ 'Άρθρο 23-24: Έναρξη Εφαρμογής – Καταργούμενες Διατάξεις',
134
+ },
135
+ ],
136
+ },
137
+ ],
138
+ },
139
+ ],
140
+ },
141
+ ],
142
+ },
143
+ ],
144
+ },
145
+ ],
146
+ },
147
+ ];
148
+ // creates the ol>li lists for the items data
149
+ const getListChild = (item, setActive) => {
150
+ return item.children ? (
151
+ <List listStyle="number">
152
+ <ListItem>
153
+ <Heading size="md">{item.title}</Heading>
154
+ {item.children?.map((subMenu, key) => (
155
+ <ListItem key={key}>{getListChild(subMenu, setActive)}</ListItem>
156
+ ))}
157
+ </ListItem>
158
+ </List>
159
+ ) : (
160
+ <Button variant="link" role="menuitem" id={item.title} onClick={(e) => { e.preventDefault(); setActive(item) }}>
161
+ {item.title}
162
+ </Button>
163
+ );
164
+ };
165
+
166
+ export const WithHook = () => {
167
+ const { breadcrumbs, setActive } = useBreadcrumbs(items, (item) => { return item.href ? item.href : slug(item.title, 100) });
168
+ return (
169
+ <>
170
+ {breadcrumbs.length > 0 && (
171
+ <Breadcrumbs marginBottom={8}>
172
+ <BreadcrumbsList>
173
+ {breadcrumbs.map((breadcrumb, index) => (
174
+ <BreadcrumbsListItem
175
+ key={index}
176
+ href={breadcrumb.href}
177
+ aria-current={breadcrumb.active ? "page" : undefined}
178
+ >
179
+ {breadcrumb.title}
180
+ </BreadcrumbsListItem>
181
+ ))}
182
+ </BreadcrumbsList>
183
+ </Breadcrumbs>
184
+ )}
185
+ {breadcrumbs.length > 0 && (
186
+ <Heading size="xl">
187
+ {breadcrumbs[breadcrumbs.length - 1]?.title}
188
+ </Heading>
189
+ )}
190
+ {items.map((item) => getListChild(item, setActive))}
191
+ </>
192
+ );
193
+ };
194
+
195
+ export default WithHook;
@@ -0,0 +1,55 @@
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';
4
+
5
+ export interface BreadcrumbsListAutoProps extends BreadcrumbsProps { }
6
+ export interface BreadcrumbsAutoProps extends BreadcrumbsProps { }
7
+ export interface BreadcrumbsAutoProps {
8
+ items: ConfigData[];
9
+ hrefGenerator: (value: ChildrenData) => string;
10
+ children: ReactNode;
11
+ };
12
+ export const BreadcrumbsContext = createContext<UseBreadcrumbsReturn | null>(null);
13
+
14
+ export const BreadcrumbsAuto = ({ items, hrefGenerator, children }: BreadcrumbsAutoProps) => {
15
+ const breadcrumbs = useBreadcrumbs(items, hrefGenerator);
16
+
17
+ return (
18
+ <BreadcrumbsContext.Provider value={breadcrumbs}>
19
+ {children}
20
+ </BreadcrumbsContext.Provider>
21
+ );
22
+ };
23
+
24
+ export const useBreadcrumbsContext = (): UseBreadcrumbsReturn => {
25
+ const context = useContext(BreadcrumbsContext);
26
+ if (!context) {
27
+ throw new Error(
28
+ 'BreadcrumbsContext must be used within an BreadcrumbsProvider'
29
+ );
30
+ }
31
+ return context;
32
+ };
33
+
34
+ export const BreadcrumbsListAuto = React.forwardRef<
35
+ HTMLDivElement,
36
+ BreadcrumbsListAutoProps
37
+ >(function (props, ref) {
38
+ const { breadcrumbs } = useBreadcrumbsContext();
39
+ return (
40
+ <Breadcrumbs ref={ref} role="navigation" {...props}>
41
+ <BreadcrumbsList>
42
+ {breadcrumbs.map((item, index) => (
43
+ <BreadcrumbsListItem
44
+ key={index}
45
+ href={item.href}
46
+ aria-current={item.active ? "page" : undefined}
47
+ >
48
+ {item.title}
49
+ </BreadcrumbsListItem>
50
+ ))}
51
+ </BreadcrumbsList>
52
+
53
+ </Breadcrumbs>
54
+ );
55
+ });
@@ -0,0 +1,75 @@
1
+ import { useCallback, useMemo, useState, } from 'react';
2
+ import { flattenRoutes } from '@digigov/ui/navigation/Breadcrumbs/utils';
3
+
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
+ export interface BreadcrumbItem {
18
+ title: string;
19
+ href?: string;
20
+ active?: boolean;
21
+ }
22
+
23
+ export interface CurrentItem {
24
+ title: string;
25
+ children: CurrentItem[];
26
+ parents: string[];
27
+ }
28
+
29
+ export interface UseBreadcrumbsReturn {
30
+ breadcrumbs: Array<BreadcrumbItem>;
31
+ active: CurrentItem;
32
+ setActive: (item: string) => void;
33
+ }
34
+
35
+ export const useBreadcrumbs = (
36
+ items: ConfigData[],
37
+ hrefGenerator: (value: ChildrenData) => string,
38
+ ): UseBreadcrumbsReturn => {
39
+ 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]);
51
+
52
+ const getParentPath = useCallback((parent: string): string => {
53
+ return Object.keys(routes).find(
54
+ (path) => routes[path].title === parent
55
+ ) || '#';
56
+ }, [currentPath]);
57
+
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
+ }
69
+
70
+ return {
71
+ breadcrumbs,
72
+ active,
73
+ setActive,
74
+ };
75
+ };
@@ -1,16 +1,24 @@
1
1
  import React from 'react';
2
2
  import { test, expect } from '@playwright/experimental-ct-react';
3
3
  import TestVariant from '@digigov/ui/utils/TestVariant'
4
+ import { Auto } from '@digigov/ui/navigation/Breadcrumbs/__stories__/Auto';
4
5
  import { Default } from '@digigov/ui/navigation/Breadcrumbs/__stories__/Default';
6
+ import { WithHook } from '@digigov/ui/navigation/Breadcrumbs/__stories__/WithHook';
5
7
  import { WithoutCurrentPage } from '@digigov/ui/navigation/Breadcrumbs/__stories__/WithoutCurrentPage';
6
8
 
7
9
  test('renders the All Breadcrumbs variants', async ({ mount, page }) => {
8
10
  await mount(
9
11
 
10
12
  <div>
13
+ <TestVariant title="Auto">
14
+ <Auto />
15
+ </TestVariant>
11
16
  <TestVariant title="Default">
12
17
  <Default />
13
18
  </TestVariant>
19
+ <TestVariant title="WithHook">
20
+ <WithHook />
21
+ </TestVariant>
14
22
  <TestVariant title="WithoutCurrentPage">
15
23
  <WithoutCurrentPage />
16
24
  </TestVariant>
@@ -2,4 +2,7 @@ export * from '@digigov/react-core/Breadcrumbs';
2
2
  export * from '@digigov/react-core/BreadcrumbsList';
3
3
  export * from '@digigov/react-core/BreadcrumbsListItem';
4
4
  import Breadcrumbs from '@digigov/react-core/Breadcrumbs';
5
+
6
+ export * from '@digigov/ui/navigation/Breadcrumbs/utils';
7
+
5
8
  export default Breadcrumbs;
@@ -2,17 +2,41 @@ import React from 'react';
2
2
  import { test, expect } from '@playwright/experimental-ct-react';
3
3
 
4
4
  import { Default } from '@digigov/ui/navigation/Breadcrumbs/__stories__/Default';
5
+ import { WithHook } from '@digigov/ui/navigation/Breadcrumbs/__stories__/WithHook';
6
+ import { Auto } from '@digigov/ui/navigation/Breadcrumbs/__stories__/Auto';
5
7
 
6
8
  test('renders the Default Hover and click', async ({ mount, page }) => {
7
9
  await mount(
8
10
  <Default />
9
11
  )
10
12
  await page.evaluate(() => document.fonts.ready);
11
- await page.locator("#root>nav>ol>li:nth-child(1)>a").hover();
12
- await page.locator("#root>nav>ol>li:nth-child(1)>a").click();
13
- await page.keyboard.press("Tab");
13
+ await page.locator("#root>nav>ol>li:nth-child(1)>a").hover();
14
+ await page.locator("#root>nav>ol>li:nth-child(1)>a").click();
15
+ await page.keyboard.press("Tab");
14
16
 
15
17
  const screenshot = await page.screenshot({ fullPage: true, animations: 'disabled' });
16
18
  expect(screenshot).toMatchSnapshot();
17
19
  });
18
-
20
+
21
+ test('renders the WithHook click', async ({ mount, page }) => {
22
+ await mount(
23
+ <WithHook />
24
+ )
25
+ await page.evaluate(() => document.fonts.ready);
26
+ await page.click("[id='Εγχειρίδια Νομοθεσίας Πυρασφάλειας']");
27
+
28
+ const screenshot = await page.screenshot({ fullPage: true, animations: 'disabled' });
29
+ expect(screenshot).toMatchSnapshot();
30
+ });
31
+
32
+ test('renders the Auto click', async ({ mount, page }) => {
33
+ await mount(
34
+ <Auto />
35
+ )
36
+ await page.evaluate(() => document.fonts.ready);
37
+ await page.click("[id='Εγχειρίδια Νομοθεσίας Πυρασφάλειας']");
38
+
39
+ const screenshot = await page.screenshot({ fullPage: true, animations: 'disabled' });
40
+ expect(screenshot).toMatchSnapshot();
41
+ });
42
+