@digigov/ui 2.0.0-6c42d5eb → 2.0.0-6e3977bc

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 (306) hide show
  1. package/app/Header/interaction.test.d.ts +1 -0
  2. package/app/Loader/Loader.stories/index.js +2 -0
  3. package/app/Loader/Loader.stories.d.ts +1 -0
  4. package/app/Loader/Loader.stories.js.map +2 -2
  5. package/app/Loader/__stories__/FullPageLoader/index.js +13 -0
  6. package/app/Loader/__stories__/FullPageLoader/package.json +6 -0
  7. package/app/Loader/__stories__/FullPageLoader.d.ts +2 -0
  8. package/app/Loader/__stories__/FullPageLoader.js.map +7 -0
  9. package/app/Modal/__stories__/Auto/index.js +5 -3
  10. package/app/Modal/__stories__/Auto.js.map +2 -2
  11. package/app/Modal/index.d.ts +0 -1
  12. package/app/Modal/index.js +0 -1
  13. package/app/Modal/index.js.map +2 -2
  14. package/app/OutdatedBrowserBanner/index.d.ts +0 -1
  15. package/cjs/app/Loader/Loader.stories/index.js +4 -1
  16. package/cjs/app/Loader/Loader.stories.js.map +2 -2
  17. package/cjs/app/Loader/__stories__/FullPageLoader/index.js +42 -0
  18. package/cjs/app/Loader/__stories__/FullPageLoader.js.map +7 -0
  19. package/cjs/app/Modal/__stories__/Auto/index.js +2 -1
  20. package/cjs/app/Modal/__stories__/Auto.js.map +2 -2
  21. package/cjs/app/Modal/index.js +0 -2
  22. package/cjs/app/Modal/index.js.map +2 -2
  23. package/cjs/content/Accordion/__stories__/Auto/index.js +2 -1
  24. package/cjs/content/Accordion/__stories__/Auto.js.map +2 -2
  25. package/cjs/content/Accordion/index.js +1 -3
  26. package/cjs/content/Accordion/index.js.map +2 -2
  27. package/cjs/content/Markdown/Markdown.stories/index.js +46 -0
  28. package/cjs/content/Markdown/Markdown.stories.js.map +7 -0
  29. package/cjs/content/Markdown/__stories__/Default/index.js +63 -0
  30. package/cjs/content/Markdown/__stories__/Default.js.map +7 -0
  31. package/cjs/content/SafeHTML/SafeHTML.stories/index.js +46 -0
  32. package/cjs/content/SafeHTML/SafeHTML.stories.js.map +7 -0
  33. package/cjs/content/SafeHTML/__stories__/Default/index.js +61 -0
  34. package/cjs/content/SafeHTML/__stories__/Default.js.map +7 -0
  35. package/cjs/content/StepNav/__stories__/Auto/index.js +3 -2
  36. package/cjs/content/StepNav/__stories__/Auto.js.map +2 -2
  37. package/cjs/content/StepNav/index.js +0 -2
  38. package/cjs/content/StepNav/index.js.map +2 -2
  39. package/cjs/content/SummaryList/SummaryList.stories/index.js +19 -35
  40. package/cjs/content/SummaryList/SummaryList.stories.js.map +3 -3
  41. package/cjs/content/SummaryList/__stories__/SummaryListExample/index.js +70 -0
  42. package/cjs/content/SummaryList/__stories__/SummaryListExample.js.map +7 -0
  43. package/cjs/feedback/WarningText/index.js +3 -0
  44. package/cjs/feedback/WarningText/index.js.map +2 -2
  45. package/cjs/form/AutoComplete/index.js +3 -1
  46. package/cjs/form/AutoComplete/index.js.map +2 -2
  47. package/cjs/form/AutoComplete/utils/index.js +1 -1
  48. package/cjs/form/AutoComplete/utils.js.map +2 -2
  49. package/cjs/form/Checkbox/index.js +2 -0
  50. package/cjs/form/Checkbox/index.js.map +2 -2
  51. package/cjs/i18n/index.js +1 -1
  52. package/cjs/i18n/index.js.map +2 -2
  53. package/cjs/i18n/locales/el/index.js +1 -1
  54. package/cjs/i18n/locales/el.js.map +1 -1
  55. package/cjs/lazy/index.js +28 -29
  56. package/cjs/lazy.js.map +2 -2
  57. package/cjs/navigation/Breadcrumbs/Breadcrumbs.stories/index.js +6 -0
  58. package/cjs/navigation/Breadcrumbs/Breadcrumbs.stories.js.map +2 -2
  59. package/cjs/navigation/Breadcrumbs/__stories__/Auto/index.js +201 -0
  60. package/cjs/navigation/Breadcrumbs/__stories__/Auto.js.map +7 -0
  61. package/cjs/navigation/Breadcrumbs/__stories__/WithHook/index.js +208 -0
  62. package/cjs/navigation/Breadcrumbs/__stories__/WithHook.js.map +7 -0
  63. package/cjs/navigation/Breadcrumbs/auto/index.js +79 -0
  64. package/cjs/navigation/Breadcrumbs/auto.js.map +7 -0
  65. package/cjs/navigation/Breadcrumbs/hooks/index.js +74 -0
  66. package/cjs/navigation/Breadcrumbs/hooks.js.map +7 -0
  67. package/cjs/navigation/Breadcrumbs/index.js +3 -1
  68. package/cjs/navigation/Breadcrumbs/index.js.map +2 -2
  69. package/cjs/navigation/Breadcrumbs/slug/index.js +120 -0
  70. package/cjs/navigation/Breadcrumbs/slug.js.map +7 -0
  71. package/cjs/navigation/Breadcrumbs/utils/index.js +52 -0
  72. package/cjs/navigation/Breadcrumbs/utils.js.map +7 -0
  73. package/cjs/navigation/Drawer/__stories__/Auto/index.js +4 -4
  74. package/cjs/navigation/Drawer/__stories__/Auto.js.map +2 -2
  75. package/cjs/navigation/Drawer/index.js +1 -3
  76. package/cjs/navigation/Drawer/index.js.map +2 -2
  77. package/cjs/navigation/Pagination/__stories__/Auto/index.js +4 -3
  78. package/cjs/navigation/Pagination/__stories__/Auto.js.map +2 -2
  79. package/cjs/navigation/Pagination/index.js +1 -3
  80. package/cjs/navigation/Pagination/index.js.map +2 -2
  81. package/cjs/navigation/Tabs/__stories__/Auto/index.js +2 -1
  82. package/cjs/navigation/Tabs/__stories__/Auto.js.map +2 -2
  83. package/cjs/navigation/Tabs/__stories__/Default/index.js +2 -1
  84. package/cjs/navigation/Tabs/__stories__/Default.js.map +2 -2
  85. package/cjs/navigation/Tabs/__stories__/Dense/index.js +2 -1
  86. package/cjs/navigation/Tabs/__stories__/Dense.js.map +2 -2
  87. package/cjs/navigation/Tabs/__stories__/UsingAccordion/index.js +2 -1
  88. package/cjs/navigation/Tabs/__stories__/UsingAccordion.js.map +2 -2
  89. package/cjs/navigation/Tabs/index.js +1 -3
  90. package/cjs/navigation/Tabs/index.js.map +2 -2
  91. package/cjs/registry/index.js +12 -0
  92. package/cjs/registry.js.map +2 -2
  93. package/cjs/typography/CodeBlock/index.js +1 -1
  94. package/cjs/typography/CodeBlock/index.js.map +2 -2
  95. package/cjs/utils/Base/index.js +3 -0
  96. package/cjs/utils/Base/index.js.map +2 -2
  97. package/content/Accordion/__stories__/Auto/index.js +6 -4
  98. package/content/Accordion/__stories__/Auto.js.map +2 -2
  99. package/content/Accordion/auto.d.ts +2 -2
  100. package/content/Accordion/index.d.ts +0 -1
  101. package/content/Accordion/index.js +0 -1
  102. package/content/Accordion/index.js.map +2 -2
  103. package/content/Card/interaction.test.d.ts +1 -0
  104. package/content/Markdown/Markdown.stories/index.js +13 -0
  105. package/content/Markdown/Markdown.stories/package.json +6 -0
  106. package/content/Markdown/Markdown.stories.d.ts +9 -0
  107. package/content/Markdown/Markdown.stories.js.map +7 -0
  108. package/content/Markdown/__stories__/Default/index.js +30 -0
  109. package/content/Markdown/__stories__/Default/package.json +6 -0
  110. package/content/Markdown/__stories__/Default.d.ts +3 -0
  111. package/content/Markdown/__stories__/Default.js.map +7 -0
  112. package/content/Markdown/index.d.ts +1 -1
  113. package/content/Markdown/index.test.d.ts +1 -0
  114. package/content/SafeHTML/SafeHTML.stories/index.js +13 -0
  115. package/content/SafeHTML/SafeHTML.stories/package.json +6 -0
  116. package/content/SafeHTML/SafeHTML.stories.d.ts +9 -0
  117. package/content/SafeHTML/SafeHTML.stories.js.map +7 -0
  118. package/content/SafeHTML/__stories__/Default/index.js +28 -0
  119. package/content/SafeHTML/__stories__/Default/package.json +6 -0
  120. package/content/SafeHTML/__stories__/Default.d.ts +3 -0
  121. package/content/SafeHTML/__stories__/Default.js.map +7 -0
  122. package/content/SafeHTML/index.test.d.ts +1 -0
  123. package/content/StepNav/__stories__/Auto/index.js +4 -2
  124. package/content/StepNav/__stories__/Auto.js.map +2 -2
  125. package/content/StepNav/auto.d.ts +2 -2
  126. package/content/StepNav/index.d.ts +0 -1
  127. package/content/StepNav/index.js +0 -1
  128. package/content/StepNav/index.js.map +2 -2
  129. package/content/SummaryList/SummaryList.stories/index.js +17 -17
  130. package/content/SummaryList/SummaryList.stories.d.ts +15 -9
  131. package/content/SummaryList/SummaryList.stories.js.map +2 -2
  132. package/content/SummaryList/__stories__/SummaryListExample/index.js +43 -0
  133. package/content/SummaryList/__stories__/SummaryListExample/package.json +6 -0
  134. package/content/SummaryList/__stories__/SummaryListExample.d.ts +14 -0
  135. package/content/SummaryList/__stories__/SummaryListExample.js.map +7 -0
  136. package/feedback/ErrorSummary/interaction.test.d.ts +1 -0
  137. package/feedback/WarningText/index.d.ts +1 -0
  138. package/feedback/WarningText/index.js +2 -0
  139. package/feedback/WarningText/index.js.map +2 -2
  140. package/form/AutoComplete/index.js +3 -1
  141. package/form/AutoComplete/index.js.map +2 -2
  142. package/form/AutoComplete/utils/index.js +1 -1
  143. package/form/AutoComplete/utils.js.map +2 -2
  144. package/form/Checkbox/index.d.ts +1 -0
  145. package/form/Checkbox/index.js +1 -0
  146. package/form/Checkbox/index.js.map +2 -2
  147. package/i18n/index.js +1 -1
  148. package/i18n/index.js.map +2 -2
  149. package/i18n/locales/el/index.js +1 -1
  150. package/i18n/locales/el.js.map +1 -1
  151. package/index.js +1 -1
  152. package/lazy/index.js +28 -29
  153. package/lazy.d.ts +62 -63
  154. package/lazy.js.map +2 -2
  155. package/navigation/Breadcrumbs/Breadcrumbs.stories/index.js +4 -0
  156. package/navigation/Breadcrumbs/Breadcrumbs.stories.d.ts +2 -0
  157. package/navigation/Breadcrumbs/Breadcrumbs.stories.js.map +2 -2
  158. package/navigation/Breadcrumbs/__stories__/Auto/index.js +172 -0
  159. package/navigation/Breadcrumbs/__stories__/Auto/package.json +6 -0
  160. package/navigation/Breadcrumbs/__stories__/Auto.d.ts +3 -0
  161. package/navigation/Breadcrumbs/__stories__/Auto.js.map +7 -0
  162. package/navigation/Breadcrumbs/__stories__/WithHook/index.js +179 -0
  163. package/navigation/Breadcrumbs/__stories__/WithHook/package.json +6 -0
  164. package/navigation/Breadcrumbs/__stories__/WithHook.d.ts +3 -0
  165. package/navigation/Breadcrumbs/__stories__/WithHook.js.map +7 -0
  166. package/navigation/Breadcrumbs/auto/index.js +49 -0
  167. package/navigation/Breadcrumbs/auto/package.json +6 -0
  168. package/navigation/Breadcrumbs/auto.d.ts +16 -0
  169. package/navigation/Breadcrumbs/auto.js.map +7 -0
  170. package/navigation/Breadcrumbs/hooks/index.js +51 -0
  171. package/navigation/Breadcrumbs/hooks/package.json +6 -0
  172. package/navigation/Breadcrumbs/hooks.d.ts +11 -0
  173. package/navigation/Breadcrumbs/hooks.js.map +7 -0
  174. package/navigation/Breadcrumbs/index.d.ts +1 -0
  175. package/navigation/Breadcrumbs/index.js +1 -0
  176. package/navigation/Breadcrumbs/index.js.map +2 -2
  177. package/navigation/Breadcrumbs/slug/index.js +97 -0
  178. package/navigation/Breadcrumbs/slug/package.json +6 -0
  179. package/navigation/Breadcrumbs/slug.d.ts +1 -0
  180. package/navigation/Breadcrumbs/slug.js.map +7 -0
  181. package/navigation/Breadcrumbs/utils/index.js +29 -0
  182. package/navigation/Breadcrumbs/utils/package.json +6 -0
  183. package/navigation/Breadcrumbs/utils.d.ts +1 -0
  184. package/navigation/Breadcrumbs/utils.js.map +7 -0
  185. package/navigation/Drawer/__stories__/Auto/index.js +1 -1
  186. package/navigation/Drawer/__stories__/Auto.js.map +1 -1
  187. package/navigation/Drawer/index.d.ts +0 -1
  188. package/navigation/Drawer/index.js +0 -1
  189. package/navigation/Drawer/index.js.map +2 -2
  190. package/navigation/NavList/interaction.test.d.ts +1 -0
  191. package/navigation/Pagination/__stories__/Auto/index.js +4 -2
  192. package/navigation/Pagination/__stories__/Auto.js.map +2 -2
  193. package/navigation/Pagination/auto.d.ts +2 -2
  194. package/navigation/Pagination/index.d.ts +0 -1
  195. package/navigation/Pagination/index.js +0 -1
  196. package/navigation/Pagination/index.js.map +2 -2
  197. package/navigation/Tabs/__stories__/Auto/index.js +5 -3
  198. package/navigation/Tabs/__stories__/Auto.js.map +2 -2
  199. package/navigation/Tabs/__stories__/Default/index.js +4 -2
  200. package/navigation/Tabs/__stories__/Default.js.map +2 -2
  201. package/navigation/Tabs/__stories__/Dense/index.js +4 -2
  202. package/navigation/Tabs/__stories__/Dense.js.map +2 -2
  203. package/navigation/Tabs/__stories__/UsingAccordion/index.js +4 -2
  204. package/navigation/Tabs/__stories__/UsingAccordion.js.map +2 -2
  205. package/navigation/Tabs/index.d.ts +0 -1
  206. package/navigation/Tabs/index.js +0 -1
  207. package/navigation/Tabs/index.js.map +2 -2
  208. package/package.json +7 -8
  209. package/registry/index.js +12 -0
  210. package/registry.d.ts +8 -0
  211. package/registry.js.map +2 -2
  212. package/src/app/Header/interaction.test.tsx +31 -0
  213. package/src/app/Loader/Loader.stories.js +1 -0
  214. package/src/app/Loader/__stories__/FullPageLoader.tsx +16 -0
  215. package/src/app/Loader/index.test.tsx +4 -0
  216. package/src/app/Modal/__stories__/Auto.tsx +4 -2
  217. package/src/app/Modal/index.tsx +0 -1
  218. package/src/content/Accordion/__stories__/Auto.tsx +5 -3
  219. package/src/content/Accordion/index.tsx +0 -1
  220. package/src/content/Card/interaction.test.tsx +15 -0
  221. package/src/content/Markdown/Markdown.stories.js +9 -0
  222. package/src/content/Markdown/__stories__/Default.tsx +41 -0
  223. package/src/content/Markdown/index.test.tsx +20 -0
  224. package/src/content/SafeHTML/SafeHTML.stories.js +9 -0
  225. package/src/content/SafeHTML/__stories__/Default.tsx +41 -0
  226. package/src/content/SafeHTML/index.test.tsx +20 -0
  227. package/src/content/StepNav/__stories__/Auto.tsx +4 -1
  228. package/src/content/StepNav/index.tsx +0 -1
  229. package/src/content/SummaryList/SummaryList.stories.js +17 -10
  230. package/src/content/SummaryList/__stories__/SummaryListExample.tsx +75 -0
  231. package/src/content/SummaryList/index.test.tsx +4 -0
  232. package/src/content/Table/interaction.test.tsx +14 -0
  233. package/src/feedback/ErrorSummary/interaction.test.tsx +17 -0
  234. package/src/feedback/WarningText/index.tsx +1 -0
  235. package/src/form/AutoComplete/index.tsx +3 -3
  236. package/src/form/AutoComplete/utils.ts +2 -2
  237. package/src/form/Button/interaction.test.tsx +15 -0
  238. package/src/form/Checkbox/index.tsx +1 -0
  239. package/src/form/DateInputContainer/interaction.test.tsx +28 -7
  240. package/src/form/TextArea/interaction.test.tsx +24 -13
  241. package/src/form/TextInput/interaction.test.tsx +22 -7
  242. package/src/i18n/index.tsx +2 -2
  243. package/src/i18n/locales/el.ts +1 -1
  244. package/src/lazy.js +28 -29
  245. package/src/navigation/Breadcrumbs/Breadcrumbs.stories.js +3 -0
  246. package/src/navigation/Breadcrumbs/__stories__/Auto.tsx +200 -0
  247. package/src/navigation/Breadcrumbs/__stories__/WithHook.tsx +217 -0
  248. package/src/navigation/Breadcrumbs/auto.tsx +72 -0
  249. package/src/navigation/Breadcrumbs/hooks.ts +66 -0
  250. package/src/navigation/Breadcrumbs/index.test.tsx +8 -0
  251. package/src/navigation/Breadcrumbs/index.tsx +3 -0
  252. package/src/navigation/Breadcrumbs/interaction.test.tsx +28 -4
  253. package/src/navigation/Breadcrumbs/slug.ts +141 -0
  254. package/src/navigation/Breadcrumbs/utils.ts +39 -0
  255. package/src/navigation/Drawer/__stories__/Auto.tsx +1 -1
  256. package/src/navigation/Drawer/index.tsx +0 -1
  257. package/src/navigation/NavList/interaction.test.tsx +45 -0
  258. package/src/navigation/Pagination/__stories__/Auto.tsx +3 -1
  259. package/src/navigation/Pagination/index.tsx +0 -1
  260. package/src/navigation/Tabs/__stories__/Auto.tsx +5 -3
  261. package/src/navigation/Tabs/__stories__/Default.tsx +4 -2
  262. package/src/navigation/Tabs/__stories__/Dense.tsx +4 -3
  263. package/src/navigation/Tabs/__stories__/UsingAccordion.tsx +4 -2
  264. package/src/navigation/Tabs/index.tsx +0 -1
  265. package/src/registry.js +12 -0
  266. package/src/typography/CodeBlock/index.tsx +4 -4
  267. package/src/utils/Base/index.tsx +1 -0
  268. package/typography/CodeBlock/index.d.ts +3 -3
  269. package/typography/CodeBlock/index.js +1 -1
  270. package/typography/CodeBlock/index.js.map +2 -2
  271. package/utils/Base/index.d.ts +1 -0
  272. package/utils/Base/index.js +2 -0
  273. package/utils/Base/index.js.map +2 -2
  274. package/utils/hooks/useDebounce.d.ts +1 -1
  275. package/utils/hooks/useKeypress.d.ts +1 -1
  276. package/src/app/Footer/Footer.stories.playwright.json +0 -27
  277. package/src/app/Header/Header.stories.playwright.json +0 -49
  278. package/src/app/Masthead/Masthead.stories.playwright.json +0 -21
  279. package/src/app/Modal/Modal.stories.playwright.json +0 -53
  280. package/src/content/Accordion/Accordion.stories.playwright.json +0 -21
  281. package/src/content/Card/Card.stories.playwright.json +0 -21
  282. package/src/content/Details/Details.stories.playwright.json +0 -21
  283. package/src/content/StepNav/StepNav.stories.playwright.json +0 -33
  284. package/src/content/SummaryList/SummaryList.stories.playwright.json +0 -27
  285. package/src/content/Table/Table.stories.playwright.json +0 -37
  286. package/src/feedback/CopyToClipboard/CopyToClipboard.stories.playwright.json +0 -53
  287. package/src/feedback/ErrorSummary/ErrorSummary.stories.playwright.json +0 -27
  288. package/src/feedback/NotificationBanner/NotificationBanner.stories.playwright.json +0 -49
  289. package/src/feedback/PhaseBanner/PhaseBanner.stories.playwright.json +0 -21
  290. package/src/form/AutoComplete/AutoComplete.stories.playwright.json +0 -33
  291. package/src/form/Button/Button.stories.playwright.json +0 -109
  292. package/src/form/Checkbox/Checkbox.stories.playwright.json +0 -55
  293. package/src/form/DateInputContainer/DateInputContainer.stories.playwright.json +0 -61
  294. package/src/form/RadioContainer/RadioContainer.stories.playwright.json +0 -49
  295. package/src/form/SelectContainer/SelectContainer.stories.playwright.json +0 -21
  296. package/src/form/TextArea/TextArea.stories.playwright.json +0 -59
  297. package/src/form/TextInput/TextInput.stories.playwright.json +0 -43
  298. package/src/navigation/BackLink/BackLink.stories.playwright.json +0 -21
  299. package/src/navigation/Breadcrumbs/Breadcrumbs.stories.playwright.json +0 -33
  300. package/src/navigation/Dropdown/Dropdown.stories.playwright.json +0 -85
  301. package/src/navigation/Link/Link.stories.playwright.json +0 -65
  302. package/src/navigation/NavList/NavList.stories.playwright.json +0 -53
  303. package/src/navigation/NavList/__stories__/NavLinksOneLevel.json +0 -17
  304. package/src/navigation/NavList/__stories__/NavLinksWithSubmenu.json +0 -36
  305. package/src/navigation/Pagination/Pagination.stories.playwright.json +0 -27
  306. package/src/navigation/Tabs/Tabs.stories.playwright.json +0 -27
@@ -0,0 +1,72 @@
1
+ import React, { createContext, useContext, ReactNode } from 'react';
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';
13
+
14
+ export interface BreadcrumbsListAutoProps extends BreadcrumbsProps {}
15
+ export interface BreadcrumbsAutoProps extends BreadcrumbsProps {}
16
+ export interface BreadcrumbsAutoProps {
17
+ items: BreadcrumbItem[];
18
+ initialUrlRoute?: string;
19
+ children: ReactNode;
20
+ }
21
+ export const BreadcrumbsContext = createContext<UseBreadcrumbsReturn | null>(
22
+ null
23
+ );
24
+
25
+ export const BreadcrumbsAuto = ({
26
+ items,
27
+ initialUrlRoute,
28
+ children,
29
+ }: BreadcrumbsAutoProps) => {
30
+ const breadcrumbs = useBreadcrumbs(items, initialUrlRoute);
31
+
32
+ return (
33
+ <BreadcrumbsContext.Provider value={breadcrumbs}>
34
+ {children}
35
+ </BreadcrumbsContext.Provider>
36
+ );
37
+ };
38
+
39
+ export const useBreadcrumbsContext = (): UseBreadcrumbsReturn => {
40
+ const context = useContext(BreadcrumbsContext);
41
+ if (!context) {
42
+ throw new Error(
43
+ 'BreadcrumbsContext must be used within an BreadcrumbsProvider'
44
+ );
45
+ }
46
+ return context;
47
+ };
48
+
49
+ export const BreadcrumbsListAuto = React.forwardRef<
50
+ HTMLDivElement,
51
+ BreadcrumbsListAutoProps
52
+ >(function BreadcrumbsListAuto(props, ref) {
53
+ const { breadcrumbs, setActiveItem } = useBreadcrumbsContext();
54
+ return (
55
+ <Breadcrumbs ref={ref} role="navigation" {...props}>
56
+ <BreadcrumbsList>
57
+ {breadcrumbs.map((breadcrumb, index) => (
58
+ <BreadcrumbsListItem
59
+ key={index}
60
+ href={
61
+ breadcrumbs.length - 1 === index ? undefined : breadcrumb.href
62
+ }
63
+ onClick={() => setActiveItem(breadcrumb)}
64
+ aria-current={breadcrumbs.length - 1 === index ? 'page' : undefined}
65
+ >
66
+ {breadcrumb.title}
67
+ </BreadcrumbsListItem>
68
+ ))}
69
+ </BreadcrumbsList>
70
+ </Breadcrumbs>
71
+ );
72
+ });
@@ -0,0 +1,66 @@
1
+ import { useCallback, useMemo, useState } from 'react';
2
+ import { slug } from '@digigov/ui/navigation/Breadcrumbs/slug';
3
+ import { flattenRoutes } from '@digigov/ui/navigation/Breadcrumbs/utils';
4
+
5
+ export interface BreadcrumbItem {
6
+ title: string;
7
+ href?: string;
8
+ [key: string]: unknown;
9
+ }
10
+
11
+ export interface UseBreadcrumbsReturn {
12
+ breadcrumbs: BreadcrumbItem[];
13
+ currentRoute: string;
14
+ setActiveItem: (item: BreadcrumbItem) => void;
15
+ }
16
+
17
+ export const useBreadcrumbs = (
18
+ items: BreadcrumbItem[],
19
+ initialUrlRoute?: string
20
+ ): UseBreadcrumbsReturn => {
21
+ const routes = useMemo(() => flattenRoutes(items, 100), [items]);
22
+ const [currentRoute, setCurrentRoute] = useState(initialUrlRoute || '');
23
+
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
+ );
36
+
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
+ );
60
+
61
+ return {
62
+ breadcrumbs: constructBreadcrumbs(routes),
63
+ currentRoute,
64
+ setActiveItem,
65
+ };
66
+ };
@@ -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
+
@@ -0,0 +1,141 @@
1
+ export function slug(text: string, maxWidth = 50): string {
2
+ // Greek to Latin character mapping
3
+ const greekToLatinMap: { [key: string]: string } = {
4
+ α: 'a',
5
+ β: 'b',
6
+ γ: 'g',
7
+ δ: 'd',
8
+ ε: 'e',
9
+ ζ: 'z',
10
+ η: 'i',
11
+ θ: 'th',
12
+ ι: 'i',
13
+ κ: 'k',
14
+ λ: 'l',
15
+ μ: 'm',
16
+ ν: 'n',
17
+ ξ: 'x',
18
+ ο: 'o',
19
+ π: 'p',
20
+ ρ: 'r',
21
+ σ: 's',
22
+ τ: 't',
23
+ υ: 'y',
24
+ φ: 'f',
25
+ χ: 'ch',
26
+ ψ: 'ps',
27
+ ω: 'o',
28
+ ά: 'a',
29
+ έ: 'e',
30
+ ί: 'i',
31
+ ό: 'o',
32
+ ύ: 'y',
33
+ ή: 'i',
34
+ ώ: 'o',
35
+ ς: 's',
36
+ ϊ: 'i',
37
+ ΰ: 'y',
38
+ ϋ: 'y',
39
+ ΐ: 'i',
40
+ Α: 'A',
41
+ Β: 'B',
42
+ Γ: 'G',
43
+ Δ: 'D',
44
+ Ε: 'E',
45
+ Ζ: 'Z',
46
+ Η: 'I',
47
+ Θ: 'TH',
48
+ Ι: 'I',
49
+ Κ: 'K',
50
+ Λ: 'L',
51
+ Μ: 'M',
52
+ Ν: 'N',
53
+ Ξ: 'X',
54
+ Ο: 'O',
55
+ Π: 'P',
56
+ Ρ: 'R',
57
+ Σ: 'S',
58
+ Τ: 'T',
59
+ Υ: 'Y',
60
+ Φ: 'F',
61
+ Χ: 'CH',
62
+ Ψ: 'PS',
63
+ Ω: 'O',
64
+ Ά: 'A',
65
+ Έ: 'E',
66
+ Ί: 'I',
67
+ Ό: 'O',
68
+ Ύ: 'Y',
69
+ Ή: 'I',
70
+ Ώ: 'O',
71
+ Ϊ: 'I',
72
+ Ϋ: 'Y',
73
+ };
74
+
75
+ // Convert Greek characters to Latin
76
+ const latinText = text
77
+ .split('')
78
+ .map((char) => greekToLatinMap[char] || char)
79
+ .join('');
80
+
81
+ // Convert to lowercase, replace spaces with hyphens, remove special characters
82
+ const processedText = latinText
83
+ .toLowerCase()
84
+ .replace(/\s+/g, '-')
85
+ .replace(/[^\w\-]+/g, '')
86
+ .replace(/\-\-+/g, '-')
87
+ .replace(/^-+/, '')
88
+ .replace(/-+$/, '');
89
+
90
+ // Calculate the available width for the slug (subtracting 1 for the hyphen and at least 8 for the ID)
91
+ // const availableWidth = Math.max(0, maxWidth - 9);
92
+
93
+ // Split the processed text into slug and remaining text for ID
94
+ let slug = processedText.substring(0, maxWidth);
95
+ const remainingText = processedText.substring(maxWidth);
96
+
97
+ // Remove trailing hyphens from the slug
98
+ slug = slug.replace(/-+$/, '');
99
+
100
+ // Generate ID from the remaining text
101
+ const id = generateIDFromText(remainingText);
102
+
103
+ // Combine the slug and ID
104
+ return `${slug}${id && '-'}${id}`;
105
+ }
106
+
107
+ function generateIDFromText(text: string): string {
108
+ // If text is empty or maxLength is 0 or less, return a default ID
109
+ if (!text) return '';
110
+
111
+ // Remove hyphens and take only alphanumeric characters
112
+ let processedText = text.replace(/-/g, '').replace(/[^a-z0-9]/g, '');
113
+
114
+ // If processed text is empty, use a default base
115
+ if (!processedText) processedText = 'default';
116
+
117
+ // Calculate a simple hash of the processed text
118
+ let hash = 0;
119
+ for (let i = 0; i < processedText.length; i++) {
120
+ const char = processedText.charCodeAt(i);
121
+ hash = (hash << 5) - hash + char;
122
+ hash = hash & hash; // Convert to 32-bit integer
123
+ }
124
+
125
+ // Convert hash to a positive number and then to base 36 (0-9 and a-z)
126
+ const id = Math.abs(hash).toString(36);
127
+
128
+ // Ensure the ID is at least 8 characters long, padding with '0' if necessary
129
+ return id;
130
+ // return id.padEnd(8, '0').substring(0, maxLength);
131
+ }
132
+
133
+ // Test the function
134
+ // console.log(createSlugWithID('Καλημέρα κόσμε! Hello world!', 10));
135
+ // console.log(createSlugWithID('Ελληνικά και English mixed', 80));
136
+ // console.log(
137
+ // createSlugWithID(
138
+ // 'Αυτό είναι ένα πολύ μεγάλο κείμενο για να δοκιμάσουμε το όριο πλάτους',
139
+ // 90
140
+ // )
141
+ // );
@@ -0,0 +1,39 @@
1
+ // utility.ts
2
+ import { slug } from '@digigov/ui/navigation/Breadcrumbs/slug';
3
+ export const flattenRoutes = (
4
+ items,
5
+ maxLength: number = 15,
6
+ prepend: string = '',
7
+ parents: string[] = []
8
+ ) => {
9
+ let flattened = {};
10
+
11
+ items.forEach((value) => {
12
+ const { title, href, children, ...rest } = value;
13
+
14
+ const route = [prepend, href || slug(title, maxLength)].join('/');
15
+
16
+ const routeChildren = children
17
+ ? children.map((child) => ({
18
+ href: child.href || slug(child.title, maxLength),
19
+ ...child,
20
+ }))
21
+ : [];
22
+
23
+ flattened[route] = {
24
+ ...rest,
25
+ title,
26
+ children: routeChildren,
27
+ parents,
28
+ };
29
+
30
+ if (children) {
31
+ flattened = {
32
+ ...flattened,
33
+ ...flattenRoutes(children, maxLength, route, [...parents, title]),
34
+ };
35
+ }
36
+ });
37
+
38
+ return flattened;
39
+ };
@@ -16,7 +16,7 @@ import {
16
16
  DrawerAuto,
17
17
  DrawerHeadingAuto,
18
18
  DrawerButtonAuto,
19
- } from '@digigov/ui/navigation/Drawer';
19
+ } from '@digigov/ui/navigation/Drawer/auto';
20
20
  import { NavListAuto } from '@digigov/ui/navigation/NavList';
21
21
  import { Heading } from '@digigov/ui/typography/Heading';
22
22
 
@@ -1,5 +1,4 @@
1
1
  export * from '@digigov/react-core/Drawer';
2
2
  export * from '@digigov/react-core/DrawerHeading';
3
- export * from '@digigov/ui/navigation/Drawer/auto';
4
3
  import Drawer from '@digigov/react-core/Drawer';
5
4
  export default Drawer;
@@ -0,0 +1,45 @@
1
+ import React from 'react';
2
+ import { test, expect } from '@playwright/experimental-ct-react';
3
+
4
+ import { HorizontalWithoutDrawer } from '@digigov/ui/navigation/NavList/__stories__/HorizontalWithoutDrawer';
5
+ import { UsingHeaderButton } from '@digigov/ui/navigation/NavList/__stories__/UsingHeaderButton';
6
+ import { VerticalWithoutDrawer } from '@digigov/ui/navigation/NavList/__stories__/VerticalWithoutDrawer';
7
+
8
+ test('renders the HorizontalWithoutDrawer Open submenu', async ({
9
+ mount,
10
+ page,
11
+ }) => {
12
+ await mount(<HorizontalWithoutDrawer />);
13
+ await page.evaluate(() => document.fonts.ready);
14
+ await page.locator('#root>nav>ul>li:nth-child(2)>button').click();
15
+ const screenshot = await page.screenshot({
16
+ fullPage: true,
17
+ animations: 'disabled',
18
+ });
19
+ expect(screenshot).toMatchSnapshot();
20
+ });
21
+
22
+ test('renders the VerticalWithoutDrawer Open submenu', async ({
23
+ mount,
24
+ page,
25
+ }) => {
26
+ await mount(<VerticalWithoutDrawer />);
27
+ await page.evaluate(() => document.fonts.ready);
28
+ await page.locator('#root>nav>ul>li:nth-child(2)>button').click();
29
+ const screenshot = await page.screenshot({
30
+ fullPage: true,
31
+ animations: 'disabled',
32
+ });
33
+ expect(screenshot).toMatchSnapshot();
34
+ });
35
+
36
+ test('renders the UsingHeaderButton menu', async ({ mount, page }) => {
37
+ await mount(<UsingHeaderButton />);
38
+ await page.evaluate(() => document.fonts.ready);
39
+ await page.locator('button:text("Επιλογές")').click();
40
+ const screenshot = await page.screenshot({
41
+ fullPage: true,
42
+ animations: 'disabled',
43
+ });
44
+ expect(screenshot).toMatchSnapshot();
45
+ });
@@ -5,12 +5,14 @@ import Main from '@digigov/ui/layouts/Basic';
5
5
  import Grid from '@digigov/ui/layouts/Grid';
6
6
  import {
7
7
  Pagination,
8
+ } from '@digigov/ui/navigation/Pagination';
9
+ import {
8
10
  PaginationContextAuto,
9
11
  PaginationLabelAuto,
10
12
  PaginationListAuto,
11
13
  PaginationResultsPerPageSelectAuto,
12
14
  usePaginationContext,
13
- } from '@digigov/ui/navigation/Pagination';
15
+ } from '@digigov/ui/navigation/Pagination/auto';
14
16
 
15
17
  const fetchedData: { id: number }[] = [];
16
18
 
@@ -6,5 +6,4 @@ export * from '@digigov/react-core/Pagination';
6
6
  export * from '@digigov/react-core/PaginationList';
7
7
  export * from '@digigov/react-core/PaginationListItem';
8
8
  export * from '@digigov/ui/navigation/Pagination/hooks';
9
- export * from '@digigov/ui/navigation/Pagination/auto';
10
9
  export { PaginationLabelContainer } from '@digigov/react-core/PaginationLabelContainer';
@@ -9,13 +9,15 @@ import {
9
9
  } from '@digigov/ui/content/SummaryList';
10
10
  import { Link } from '@digigov/ui/navigation/Link';
11
11
  import {
12
- TabsAuto,
13
12
  TabsHeading,
14
13
  TabsList,
14
+
15
+ } from '@digigov/ui/navigation/Tabs';
16
+ import {
17
+ TabsAuto,
15
18
  TabsListItem,
16
19
  TabsPanel,
17
- } from '@digigov/ui/navigation/Tabs';
18
-
20
+ } from '@digigov/ui/navigation/Tabs/auto';
19
21
  import { Heading } from '@digigov/ui/typography/Heading';
20
22
  import { VisuallyHidden } from '@digigov/ui/utils/VisuallyHidden';
21
23
 
@@ -11,10 +11,12 @@ import {
11
11
  Tabs,
12
12
  TabsHeading,
13
13
  TabsList,
14
- TabsListItem,
15
- TabsPanel,
16
14
  useTabs,
17
15
  } from '@digigov/ui/navigation/Tabs';
16
+ import {
17
+ TabsListItem,
18
+ TabsPanel,
19
+ } from '@digigov/ui/navigation/Tabs/auto';
18
20
  import { Heading } from '@digigov/ui/typography/Heading';
19
21
  import { Paragraph } from '@digigov/ui/typography/Paragraph';
20
22
  import { VisuallyHidden } from '@digigov/ui/utils/VisuallyHidden';
@@ -12,11 +12,12 @@ import {
12
12
  Tabs,
13
13
  TabsHeading,
14
14
  TabsList,
15
- TabsListItem,
16
- TabsPanel,
17
15
  useTabs,
18
16
  } from '@digigov/ui/navigation/Tabs';
19
-
17
+ import {
18
+ TabsListItem,
19
+ TabsPanel,
20
+ } from '@digigov/ui/navigation/Tabs/auto';
20
21
  import { Heading } from '@digigov/ui/typography/Heading';
21
22
  import { VisuallyHidden } from '@digigov/ui/utils/VisuallyHidden';
22
23
 
@@ -11,10 +11,12 @@ import {
11
11
  Tabs,
12
12
  TabsHeading,
13
13
  TabsList,
14
- TabsListItem,
15
- TabsPanel,
16
14
  useTabs,
17
15
  } from '@digigov/ui/navigation/Tabs';
16
+ import {
17
+ TabsListItem,
18
+ TabsPanel,
19
+ } from '@digigov/ui/navigation/Tabs/auto';
18
20
  import { Heading } from '@digigov/ui/typography/Heading';
19
21
  import { Paragraph } from '@digigov/ui/typography/Paragraph';
20
22
  import { VisuallyHidden } from '@digigov/ui/utils/VisuallyHidden';
@@ -6,6 +6,5 @@ export * from '@digigov/react-core/TabsList';
6
6
  export * from '@digigov/react-core/TabsListItemBase';
7
7
  export * from '@digigov/react-core/TabsPanelBase';
8
8
  export * from '@digigov/react-core/TabsHeading';
9
- export * from '@digigov/ui/navigation/Tabs/auto';
10
9
 
11
10
  export default Tabs;
package/src/registry.js CHANGED
@@ -140,7 +140,11 @@ import * as _digigov_ui_layouts_SectionBreak from '@digigov/ui/layouts/SectionBr
140
140
  import * as _digigov_ui_layouts_Stack from '@digigov/ui/layouts/Stack';
141
141
  import * as _digigov_ui_navigation_BackLink from '@digigov/ui/navigation/BackLink';
142
142
  import * as _digigov_ui_navigation_BackToTopLink from '@digigov/ui/navigation/BackToTopLink';
143
+ import * as _digigov_ui_navigation_Breadcrumbs_auto from '@digigov/ui/navigation/Breadcrumbs/auto';
144
+ import * as _digigov_ui_navigation_Breadcrumbs_hooks from '@digigov/ui/navigation/Breadcrumbs/hooks';
143
145
  import * as _digigov_ui_navigation_Breadcrumbs from '@digigov/ui/navigation/Breadcrumbs';
146
+ import * as _digigov_ui_navigation_Breadcrumbs_slug from '@digigov/ui/navigation/Breadcrumbs/slug';
147
+ import * as _digigov_ui_navigation_Breadcrumbs_utils from '@digigov/ui/navigation/Breadcrumbs/utils';
144
148
  import * as _digigov_ui_navigation_Drawer_auto from '@digigov/ui/navigation/Drawer/auto';
145
149
  import * as _digigov_ui_navigation_Drawer_hooks from '@digigov/ui/navigation/Drawer/hooks';
146
150
  import * as _digigov_ui_navigation_Drawer from '@digigov/ui/navigation/Drawer';
@@ -346,7 +350,11 @@ export default {
346
350
  '@digigov/ui/layouts/Stack': lazyImport(_digigov_ui_layouts_Stack),
347
351
  '@digigov/ui/navigation/BackLink': lazyImport(_digigov_ui_navigation_BackLink),
348
352
  '@digigov/ui/navigation/BackToTopLink': lazyImport(_digigov_ui_navigation_BackToTopLink),
353
+ '@digigov/ui/navigation/Breadcrumbs/auto': lazyImport(_digigov_ui_navigation_Breadcrumbs_auto),
354
+ '@digigov/ui/navigation/Breadcrumbs/hooks': lazyImport(_digigov_ui_navigation_Breadcrumbs_hooks),
349
355
  '@digigov/ui/navigation/Breadcrumbs': lazyImport(_digigov_ui_navigation_Breadcrumbs),
356
+ '@digigov/ui/navigation/Breadcrumbs/slug': lazyImport(_digigov_ui_navigation_Breadcrumbs_slug),
357
+ '@digigov/ui/navigation/Breadcrumbs/utils': lazyImport(_digigov_ui_navigation_Breadcrumbs_utils),
350
358
  '@digigov/ui/navigation/Drawer/auto': lazyImport(_digigov_ui_navigation_Drawer_auto),
351
359
  '@digigov/ui/navigation/Drawer/hooks': lazyImport(_digigov_ui_navigation_Drawer_hooks),
352
360
  '@digigov/ui/navigation/Drawer': lazyImport(_digigov_ui_navigation_Drawer),
@@ -410,6 +418,8 @@ import * as _digigov_ui_content_Card_Card_stories from '@digigov/ui/content/Card
410
418
  import * as _digigov_ui_content_Chip_Chip_stories from '@digigov/ui/content/Chip/Chip.stories';
411
419
  import * as _digigov_ui_content_Details_Details_stories from '@digigov/ui/content/Details/Details.stories';
412
420
  import * as _digigov_ui_content_List_List_stories from '@digigov/ui/content/List/List.stories';
421
+ import * as _digigov_ui_content_Markdown_Markdown_stories from '@digigov/ui/content/Markdown/Markdown.stories';
422
+ import * as _digigov_ui_content_SafeHTML_SafeHTML_stories from '@digigov/ui/content/SafeHTML/SafeHTML.stories';
413
423
  import * as _digigov_ui_content_StepNav_StepNav_stories from '@digigov/ui/content/StepNav/StepNav.stories';
414
424
  import * as _digigov_ui_content_SummaryList_SummaryList_stories from '@digigov/ui/content/SummaryList/SummaryList.stories';
415
425
  import * as _digigov_ui_content_Table_Table_stories from '@digigov/ui/content/Table/Table.stories';
@@ -472,6 +482,8 @@ import * as _digigov_ui_utils_VisuallyHidden_VisuallyHidden_stories from '@digig
472
482
  '@digigov/ui/content/Chip/Chip.stories': _digigov_ui_content_Chip_Chip_stories,
473
483
  '@digigov/ui/content/Details/Details.stories': _digigov_ui_content_Details_Details_stories,
474
484
  '@digigov/ui/content/List/List.stories': _digigov_ui_content_List_List_stories,
485
+ '@digigov/ui/content/Markdown/Markdown.stories': _digigov_ui_content_Markdown_Markdown_stories,
486
+ '@digigov/ui/content/SafeHTML/SafeHTML.stories': _digigov_ui_content_SafeHTML_SafeHTML_stories,
475
487
  '@digigov/ui/content/StepNav/StepNav.stories': _digigov_ui_content_StepNav_StepNav_stories,
476
488
  '@digigov/ui/content/SummaryList/SummaryList.stories': _digigov_ui_content_SummaryList_SummaryList_stories,
477
489
  '@digigov/ui/content/Table/Table.stories': _digigov_ui_content_Table_Table_stories,
@@ -17,9 +17,9 @@ import { Button } from '@digigov/ui/form/Button';
17
17
 
18
18
  export interface CodeBlockProps extends BaseProps<'div'> {
19
19
  language?: 'javascript' | 'bash' | 'xml' | 'python' | 'markdown' | 'json';
20
- copyToClipboard?: true | false;
21
- highlighted?: true | false;
22
- showLineNumbers?: true | false;
20
+ copyToClipboard?: boolean;
21
+ highlighted?: boolean;
22
+ showLineNumbers?: boolean;
23
23
  phaseBannerTagName?: string;
24
24
  highlightLines?: number[];
25
25
  }
@@ -82,7 +82,7 @@ export const CodeBlock: React.FC<CodeBlockProps> = React.forwardRef(
82
82
  <CodeBlockContainer ref={ref} {...props}>
83
83
  <CodeBlockHeader
84
84
  justify={
85
- phaseBannerTagName && copyToClipboard ? 'spaceBetween' : 'end'
85
+ phaseBannerTagName && copyToClipboard ? 'space-between' : 'end'
86
86
  }
87
87
  >
88
88
  {phaseBannerTagName && (
@@ -1,4 +1,5 @@
1
1
  export * from '@digigov/react-core/Base';
2
2
  import Base from '@digigov/react-core/Base';
3
+ export { basePropGenerator } from '@digigov/react-core/Base/utils';
3
4
 
4
5
  export default Base;
@@ -2,9 +2,9 @@ import React from 'react';
2
2
  import { BaseProps } from '@digigov/react-core/Base';
3
3
  export interface CodeBlockProps extends BaseProps<'div'> {
4
4
  language?: 'javascript' | 'bash' | 'xml' | 'python' | 'markdown' | 'json';
5
- copyToClipboard?: true | false;
6
- highlighted?: true | false;
7
- showLineNumbers?: true | false;
5
+ copyToClipboard?: boolean;
6
+ highlighted?: boolean;
7
+ showLineNumbers?: boolean;
8
8
  phaseBannerTagName?: string;
9
9
  highlightLines?: number[];
10
10
  }
@@ -60,7 +60,7 @@ const CodeBlock = React.forwardRef(
60
60
  return /* @__PURE__ */ React.createElement(CodeBlockContainer, { ref, ...props }, /* @__PURE__ */ React.createElement(
61
61
  CodeBlockHeader,
62
62
  {
63
- justify: phaseBannerTagName && copyToClipboard ? "spaceBetween" : "end"
63
+ justify: phaseBannerTagName && copyToClipboard ? "space-between" : "end"
64
64
  },
65
65
  phaseBannerTagName && /* @__PURE__ */ React.createElement(PhaseBannerTag, null, phaseBannerTagName),
66
66
  copyToClipboard && /* @__PURE__ */ React.createElement(