@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
@@ -0,0 +1,32 @@
1
+ import React from 'react';
2
+
3
+ import CodeBlock from '@digigov/ui/typography/CodeBlock';
4
+
5
+ const bashExample = `{
6
+ "random": random(1, 100),
7
+ "random float": randomFloat(1, 100, 3),
8
+ "bool": randomBool(),
9
+ "date": date('Y-m-d', '1980-01-01', '2000-01-15'),
10
+ "regEx": regex(/hello+ (world|to you)/),
11
+ "enum": choice('json', 'generator', 'online'),
12
+ "firstname": firstname(),
13
+ "lastname": lastname(),
14
+ "city": city(),
15
+ "country": country(),
16
+ "countryCode": countryCode()
17
+ }`;
18
+
19
+ export const WithPhaseBanner = () => {
20
+ return (
21
+ <CodeBlock
22
+ highlighted
23
+ language="bash"
24
+ copyToClipboard
25
+ phaseBannerTagName="json"
26
+ >
27
+ {bashExample}
28
+ </CodeBlock>
29
+ );
30
+ };
31
+
32
+ export default WithPhaseBanner;
@@ -0,0 +1,32 @@
1
+ import React from 'react';
2
+ import { test, expect } from '@playwright/experimental-ct-react';
3
+ import TestVariant from '@digigov/ui/utils/TestVariant'
4
+ import { Default } from '@digigov/ui/typography/CodeBlock/__stories__/Default';
5
+ import { Highlighted } from '@digigov/ui/typography/CodeBlock/__stories__/Highlighted';
6
+ import { WithCopyToClipboard } from '@digigov/ui/typography/CodeBlock/__stories__/WithCopyToClipboard';
7
+ import { WithPhaseBanner } from '@digigov/ui/typography/CodeBlock/__stories__/WithPhaseBanner';
8
+
9
+ test('renders the All CodeBlock variants', async ({ mount, page }) => {
10
+ await mount(
11
+
12
+ <div>
13
+ <TestVariant title="Default">
14
+ <Default />
15
+ </TestVariant>
16
+ <TestVariant title="Highlighted">
17
+ <Highlighted />
18
+ </TestVariant>
19
+ <TestVariant title="WithCopyToClipboard">
20
+ <WithCopyToClipboard />
21
+ </TestVariant>
22
+ <TestVariant title="WithPhaseBanner">
23
+ <WithPhaseBanner />
24
+ </TestVariant>
25
+ </div>
26
+ )
27
+ await page.evaluate(() => document.fonts.ready);
28
+
29
+ const screenshot = await page.screenshot({ fullPage: true, animations: 'disabled' });
30
+ expect(screenshot).toMatchSnapshot();
31
+ });
32
+
@@ -1,10 +1,12 @@
1
1
  import React from 'react';
2
2
 
3
- import { default as hljs } from 'highlight.js/lib/core';
4
- import { default as bash } from 'highlight.js/lib/languages/bash';
5
- import { default as js } from 'highlight.js/lib/languages/javascript';
6
- import { default as python } from 'highlight.js/lib/languages/python';
7
- import { default as xml } from 'highlight.js/lib/languages/xml';
3
+ import hljs from 'highlight.js/lib/core';
4
+ import bash from 'highlight.js/lib/languages/bash';
5
+ import js from 'highlight.js/lib/languages/javascript';
6
+ import json from 'highlight.js/lib/languages/json';
7
+ import markdown from 'highlight.js/lib/languages/markdown';
8
+ import python from 'highlight.js/lib/languages/python';
9
+ import xml from 'highlight.js/lib/languages/xml';
8
10
  import { BaseProps } from '@digigov/react-core/Base';
9
11
  import CodeBlockContainer from '@digigov/react-core/CodeBlockContainer';
10
12
  import CodeBlockContent from '@digigov/react-core/CodeBlockContent';
@@ -14,20 +16,21 @@ import { PhaseBannerTag } from '@digigov/ui/feedback/PhaseBanner';
14
16
  import { Button } from '@digigov/ui/form/Button';
15
17
 
16
18
  export interface CodeBlockProps extends BaseProps<'div'> {
17
- language?: 'js' | 'bash' | 'xml' | 'python';
18
- copyToClipboard?: true | false;
19
- highlighted?: true | false;
20
- showLineNumbers?: true | false;
21
- shouldWrapLongLines?: true | false;
19
+ language?: 'javascript' | 'bash' | 'xml' | 'python' | 'markdown' | 'json';
20
+ copyToClipboard?: boolean;
21
+ highlighted?: boolean;
22
+ showLineNumbers?: boolean;
22
23
  phaseBannerTagName?: string;
23
24
  highlightLines?: number[];
24
25
  }
25
26
 
26
27
  const languageMap = {
27
- js: js,
28
+ javascript: js,
28
29
  python: python,
29
30
  bash: bash,
30
31
  xml: xml,
32
+ markdown: markdown,
33
+ json: json,
31
34
  };
32
35
 
33
36
  const addLineNumbers = (code: string, highlightLines: number[]): string => {
@@ -44,27 +47,29 @@ const addLineNumbers = (code: string, highlightLines: number[]): string => {
44
47
  export const CodeBlock: React.FC<CodeBlockProps> = React.forwardRef(
45
48
  function CodeBlock({
46
49
  children,
47
- language = 'bash',
50
+ language,
48
51
  copyToClipboard,
49
52
  highlighted,
50
53
  showLineNumbers,
51
- shouldWrapLongLines,
52
54
  phaseBannerTagName,
53
55
  highlightLines,
54
56
  ref,
55
57
  ...props
56
58
  }) {
57
59
  const Tag = 'span';
58
- hljs.registerLanguage(language, languageMap[language]);
59
60
  const codeString = typeof children === 'string' ? children : '';
60
61
  let displayingCode = codeString;
61
62
 
62
63
  if (highlighted && codeString) {
63
64
  try {
64
65
  hljs.configure({ classPrefix: 'ds-code--' });
65
- const highlightedCode = hljs.highlight(codeString, {
66
- language: language,
67
- }).value;
66
+ let highlightedCode = hljs.highlightAuto(codeString).value;
67
+ if (language) {
68
+ hljs.registerLanguage(language, languageMap[language]);
69
+ highlightedCode = hljs.highlight(codeString, {
70
+ language: language,
71
+ }).value;
72
+ }
68
73
  displayingCode = showLineNumbers
69
74
  ? addLineNumbers(highlightedCode, highlightLines || [])
70
75
  : highlightedCode;
@@ -74,10 +79,10 @@ export const CodeBlock: React.FC<CodeBlockProps> = React.forwardRef(
74
79
  }
75
80
 
76
81
  return (
77
- <CodeBlockContainer ref={ref} wrapLines={shouldWrapLongLines} {...props}>
82
+ <CodeBlockContainer ref={ref} {...props}>
78
83
  <CodeBlockHeader
79
84
  justify={
80
- phaseBannerTagName && copyToClipboard ? 'spaceBetween' : 'end'
85
+ phaseBannerTagName && copyToClipboard ? 'space-between' : 'end'
81
86
  }
82
87
  >
83
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;
@@ -5,8 +5,14 @@ var CodeBlock_stories_default = {
5
5
  displayName: "CodeBlock"
6
6
  };
7
7
  import { Default } from "@digigov/ui/typography/CodeBlock/__stories__/Default";
8
+ import { Highlighted } from "@digigov/ui/typography/CodeBlock/__stories__/Highlighted";
9
+ import { WithCopyToClipboard } from "@digigov/ui/typography/CodeBlock/__stories__/WithCopyToClipboard";
10
+ import { WithPhaseBanner } from "@digigov/ui/typography/CodeBlock/__stories__/WithPhaseBanner";
8
11
  export {
9
12
  Default,
13
+ Highlighted,
14
+ WithCopyToClipboard,
15
+ WithPhaseBanner,
10
16
  CodeBlock_stories_default as default
11
17
  };
12
18
  //# sourceMappingURL=CodeBlock.stories.js.map
@@ -5,4 +5,7 @@ declare namespace _default {
5
5
  }
6
6
  export default _default;
7
7
  export { Default } from "@digigov/ui/typography/CodeBlock/__stories__/Default";
8
+ export { Highlighted } from "@digigov/ui/typography/CodeBlock/__stories__/Highlighted";
9
+ export { WithCopyToClipboard } from "@digigov/ui/typography/CodeBlock/__stories__/WithCopyToClipboard";
10
+ export { WithPhaseBanner } from "@digigov/ui/typography/CodeBlock/__stories__/WithPhaseBanner";
8
11
  import CodeBlock from '@digigov/ui/typography/CodeBlock';
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/typography/CodeBlock/CodeBlock.stories.js"],
4
- "sourcesContent": ["import CodeBlock from '@digigov/ui/typography/CodeBlock';\nexport default {\n title: 'Digigov UI/typography/CodeBlock',\n component: CodeBlock,\n displayName: 'CodeBlock',\n};\nexport { Default } from '@digigov/ui/typography/CodeBlock/__stories__/Default';\n"],
5
- "mappings": "AAAA,OAAO,eAAe;AACtB,IAAO,4BAAQ;AAAA,EACb,OAAO;AAAA,EACP,WAAW;AAAA,EACX,aAAa;AACf;AACA,SAAS,eAAe;",
4
+ "sourcesContent": ["import CodeBlock from '@digigov/ui/typography/CodeBlock';\nexport default {\n title: 'Digigov UI/typography/CodeBlock',\n component: CodeBlock,\n displayName: 'CodeBlock',\n};\nexport { Default } from '@digigov/ui/typography/CodeBlock/__stories__/Default';\nexport { Highlighted } from '@digigov/ui/typography/CodeBlock/__stories__/Highlighted';\nexport { WithCopyToClipboard } from '@digigov/ui/typography/CodeBlock/__stories__/WithCopyToClipboard';\nexport { WithPhaseBanner } from '@digigov/ui/typography/CodeBlock/__stories__/WithPhaseBanner';\n"],
5
+ "mappings": "AAAA,OAAO,eAAe;AACtB,IAAO,4BAAQ;AAAA,EACb,OAAO;AAAA,EACP,WAAW;AAAA,EACX,aAAa;AACf;AACA,SAAS,eAAe;AACxB,SAAS,mBAAmB;AAC5B,SAAS,2BAA2B;AACpC,SAAS,uBAAuB;",
6
6
  "names": []
7
7
  }
@@ -1,99 +1,20 @@
1
1
  import React from "react";
2
2
  import CodeBlock from "@digigov/ui/typography/CodeBlock";
3
- import Base from "@digigov/ui/utils/Base";
4
- const bashExample = `POST https://ked.gsis.gr
5
- {
6
- "gateCreatePostDocumentInputRecord": {
7
- "gate": "USER",
8
- "source": {
9
- # \u03C3\u03C7\u03CC\u03BB\u03B9\u03B1
10
- "gateCreatePostDocumentInputRecord": {
11
- "gate": "USER",
12
- "source": {
13
- # \u03C3\u03C7\u03CC\u03BB\u03B9\u03B1
14
- }
15
- }
16
- "auditRecord": "..."
17
- }
18
- }
19
- "auditRecord": "..."
20
- }`;
21
- const htmlExample = `<details>
22
- <summary>Epcot Center</summary>
23
- <p>Epcot is a theme park at Walt Disney World Resort featuring exciting attractions, international pavilions, award-winning fireworks and seasonal special events.</p>
24
- </details>`;
25
- const jsExample = `
26
- export const DashboardRegistry = registry;
27
- function TextNode(props) {
28
- return <>{props.text}</>;
29
- }
30
-
31
- TextNode.propTypes = {
32
- text: PropTypes.any,
33
- };
34
-
35
- registry.register({ TextNode });`;
36
- const pythonExample = `# Program to check if a number is prime or not
37
-
38
- num = 29
39
-
40
- # To take input from the user
41
- #num = int(input("Enter a number: "))
42
-
43
- # define a flag variable
44
- flag = False
45
-
46
- if num == 1:
47
- print(num, "is not a prime number")
48
- elif num > 1:
49
- # check for factors
50
- for i in range(2, num):
51
- if (num % i) == 0:
52
- # if factor is found, set flag to True
53
- flag = True
54
- # break out of loop
55
- break
56
-
57
- # check if flag is True
58
- if flag:
59
- print(num, "is not a prime number")
60
- else:
61
- print(num, "is a prime number")`;
3
+ const bashExample = `{
4
+ "random": random(1, 100),
5
+ "random float": randomFloat(1, 100, 3),
6
+ "bool": randomBool(),
7
+ "date": date('Y-m-d', '1980-01-01', '2000-01-15'),
8
+ "regEx": regex(/hello+ (world|to you)/),
9
+ "enum": choice('json', 'generator', 'online'),
10
+ "firstname": firstname(),
11
+ "lastname": lastname(),
12
+ "city": city(),
13
+ "country": country(),
14
+ "countryCode": countryCode()
15
+ }`;
62
16
  const Default = () => {
63
- return /* @__PURE__ */ React.createElement(Base, null, /* @__PURE__ */ React.createElement(CodeBlock, { highlighted: true, copyToClipboard: true }, bashExample), /* @__PURE__ */ React.createElement(
64
- CodeBlock,
65
- {
66
- mt: 10,
67
- highlighted: true,
68
- copyToClipboard: true,
69
- showLineNumbers: true,
70
- language: "python",
71
- phaseBannerTagName: "python",
72
- highlightLines: [11, 12]
73
- },
74
- pythonExample
75
- ), /* @__PURE__ */ React.createElement(
76
- CodeBlock,
77
- {
78
- mt: 10,
79
- highlighted: true,
80
- copyToClipboard: true,
81
- language: "js",
82
- phaseBannerTagName: "JS"
83
- },
84
- jsExample
85
- ), /* @__PURE__ */ React.createElement(
86
- CodeBlock,
87
- {
88
- mt: 10,
89
- highlighted: true,
90
- copyToClipboard: true,
91
- showLineNumbers: true,
92
- language: "xml",
93
- phaseBannerTagName: "html"
94
- },
95
- htmlExample
96
- ));
17
+ return /* @__PURE__ */ React.createElement(CodeBlock, null, bashExample);
97
18
  };
98
19
  var Default_default = Default;
99
20
  export {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/typography/CodeBlock/__stories__/Default.tsx"],
4
- "sourcesContent": ["import React from 'react';\n\nimport CodeBlock from '@digigov/ui/typography/CodeBlock';\nimport Base from '@digigov/ui/utils/Base';\n\nconst bashExample = `POST https://ked.gsis.gr\n {\n \"gateCreatePostDocumentInputRecord\": {\n \"gate\": \"USER\",\n \"source\": {\n # \u03C3\u03C7\u03CC\u03BB\u03B9\u03B1\n \"gateCreatePostDocumentInputRecord\": {\n \"gate\": \"USER\",\n \"source\": {\n # \u03C3\u03C7\u03CC\u03BB\u03B9\u03B1\n }\n }\n \"auditRecord\": \"...\"\n }\n }\n \"auditRecord\": \"...\"\n }`;\n\nconst htmlExample = `<details>\n <summary>Epcot Center</summary>\n <p>Epcot is a theme park at Walt Disney World Resort featuring exciting attractions, international pavilions, award-winning fireworks and seasonal special events.</p>\n</details>`;\n\nconst jsExample = `\nexport const DashboardRegistry = registry;\nfunction TextNode(props) {\n return <>{props.text}</>;\n}\n\nTextNode.propTypes = {\n text: PropTypes.any,\n};\n\nregistry.register({ TextNode });`;\n\nconst pythonExample = `# Program to check if a number is prime or not\n\nnum = 29\n\n# To take input from the user\n#num = int(input(\"Enter a number: \"))\n\n# define a flag variable\nflag = False\n\nif num == 1:\n print(num, \"is not a prime number\")\nelif num > 1:\n # check for factors\n for i in range(2, num):\n if (num % i) == 0:\n # if factor is found, set flag to True\n flag = True\n # break out of loop\n break\n\n # check if flag is True\n if flag:\n print(num, \"is not a prime number\")\n else:\n print(num, \"is a prime number\")`;\n\nexport const Default = () => {\n return (\n <Base>\n <CodeBlock highlighted copyToClipboard>\n {bashExample}\n </CodeBlock>\n <CodeBlock\n mt={10}\n highlighted\n copyToClipboard\n showLineNumbers\n language=\"python\"\n phaseBannerTagName=\"python\"\n highlightLines={[11, 12]}\n >\n {pythonExample}\n </CodeBlock>\n <CodeBlock\n mt={10}\n highlighted\n copyToClipboard\n language=\"js\"\n phaseBannerTagName=\"JS\"\n >\n {jsExample}\n </CodeBlock>\n <CodeBlock\n mt={10}\n highlighted\n copyToClipboard\n showLineNumbers\n language=\"xml\"\n phaseBannerTagName=\"html\"\n >\n {htmlExample}\n </CodeBlock>\n </Base>\n );\n};\n\nexport default Default;\n"],
5
- "mappings": "AAAA,OAAO,WAAW;AAElB,OAAO,eAAe;AACtB,OAAO,UAAU;AAEjB,MAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBpB,MAAM,cAAc;AAAA;AAAA;AAAA;AAKpB,MAAM,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYlB,MAAM,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2Bf,MAAM,UAAU,MAAM;AAC3B,SACE,oCAAC,YACC,oCAAC,aAAU,aAAW,MAAC,iBAAe,QACnC,WACH,GACA;AAAA,IAAC;AAAA;AAAA,MACC,IAAI;AAAA,MACJ,aAAW;AAAA,MACX,iBAAe;AAAA,MACf,iBAAe;AAAA,MACf,UAAS;AAAA,MACT,oBAAmB;AAAA,MACnB,gBAAgB,CAAC,IAAI,EAAE;AAAA;AAAA,IAEtB;AAAA,EACH,GACA;AAAA,IAAC;AAAA;AAAA,MACC,IAAI;AAAA,MACJ,aAAW;AAAA,MACX,iBAAe;AAAA,MACf,UAAS;AAAA,MACT,oBAAmB;AAAA;AAAA,IAElB;AAAA,EACH,GACA;AAAA,IAAC;AAAA;AAAA,MACC,IAAI;AAAA,MACJ,aAAW;AAAA,MACX,iBAAe;AAAA,MACf,iBAAe;AAAA,MACf,UAAS;AAAA,MACT,oBAAmB;AAAA;AAAA,IAElB;AAAA,EACH,CACF;AAEJ;AAEA,IAAO,kBAAQ;",
4
+ "sourcesContent": ["import React from 'react';\n\nimport CodeBlock from '@digigov/ui/typography/CodeBlock';\n\nconst bashExample = `{\n \"random\": random(1, 100),\n \"random float\": randomFloat(1, 100, 3),\n \"bool\": randomBool(),\n \"date\": date('Y-m-d', '1980-01-01', '2000-01-15'),\n \"regEx\": regex(/hello+ (world|to you)/),\n \"enum\": choice('json', 'generator', 'online'),\n \"firstname\": firstname(),\n \"lastname\": lastname(),\n \"city\": city(),\n \"country\": country(),\n \"countryCode\": countryCode()\n}`;\n\nexport const Default = () => {\n return <CodeBlock>{bashExample}</CodeBlock>;\n};\n\nexport default Default;\n"],
5
+ "mappings": "AAAA,OAAO,WAAW;AAElB,OAAO,eAAe;AAEtB,MAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAcb,MAAM,UAAU,MAAM;AAC3B,SAAO,oCAAC,iBAAW,WAAY;AACjC;AAEA,IAAO,kBAAQ;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,24 @@
1
+ import React from "react";
2
+ import CodeBlock from "@digigov/ui/typography/CodeBlock";
3
+ const bashExample = `{
4
+ "random": random(1, 100),
5
+ "random float": randomFloat(1, 100, 3),
6
+ "bool": randomBool(),
7
+ "date": date('Y-m-d', '1980-01-01', '2000-01-15'),
8
+ "regEx": regex(/hello+ (world|to you)/),
9
+ "enum": choice('json', 'generator', 'online'),
10
+ "firstname": firstname(),
11
+ "lastname": lastname(),
12
+ "city": city(),
13
+ "country": country(),
14
+ "countryCode": countryCode()
15
+ }`;
16
+ const Highlighted = () => {
17
+ return /* @__PURE__ */ React.createElement(CodeBlock, { language: "bash", highlighted: true }, bashExample);
18
+ };
19
+ var Highlighted_default = Highlighted;
20
+ export {
21
+ Highlighted,
22
+ Highlighted_default as default
23
+ };
24
+ //# sourceMappingURL=Highlighted.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "module": "./index.js",
4
+ "types": "./index.d.ts",
5
+ "main": "../../../../cjs/typography/CodeBlock/__stories__/Highlighted/index.js"
6
+ }
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare const Highlighted: () => React.JSX.Element;
3
+ export default Highlighted;
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/typography/CodeBlock/__stories__/Highlighted.tsx"],
4
+ "sourcesContent": ["import React from 'react';\n\nimport CodeBlock from '@digigov/ui/typography/CodeBlock';\n\nconst bashExample = `{\n \"random\": random(1, 100),\n \"random float\": randomFloat(1, 100, 3),\n \"bool\": randomBool(),\n \"date\": date('Y-m-d', '1980-01-01', '2000-01-15'),\n \"regEx\": regex(/hello+ (world|to you)/),\n \"enum\": choice('json', 'generator', 'online'),\n \"firstname\": firstname(),\n \"lastname\": lastname(),\n \"city\": city(),\n \"country\": country(),\n \"countryCode\": countryCode()\n}`;\n\nexport const Highlighted = () => {\n return (\n <CodeBlock language=\"bash\" highlighted>\n {bashExample}\n </CodeBlock>\n );\n};\n\nexport default Highlighted;\n"],
5
+ "mappings": "AAAA,OAAO,WAAW;AAElB,OAAO,eAAe;AAEtB,MAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAcb,MAAM,cAAc,MAAM;AAC/B,SACE,oCAAC,aAAU,UAAS,QAAO,aAAW,QACnC,WACH;AAEJ;AAEA,IAAO,sBAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,24 @@
1
+ import React from "react";
2
+ import CodeBlock from "@digigov/ui/typography/CodeBlock";
3
+ const bashExample = `{
4
+ "random": random(1, 100),
5
+ "random float": randomFloat(1, 100, 3),
6
+ "bool": randomBool(),
7
+ "date": date('Y-m-d', '1980-01-01', '2000-01-15'),
8
+ "regEx": regex(/hello+ (world|to you)/),
9
+ "enum": choice('json', 'generator', 'online'),
10
+ "firstname": firstname(),
11
+ "lastname": lastname(),
12
+ "city": city(),
13
+ "country": country(),
14
+ "countryCode": countryCode()
15
+ }`;
16
+ const WithCopyToClipboard = () => {
17
+ return /* @__PURE__ */ React.createElement(CodeBlock, { highlighted: true, language: "bash", copyToClipboard: true }, bashExample);
18
+ };
19
+ var WithCopyToClipboard_default = WithCopyToClipboard;
20
+ export {
21
+ WithCopyToClipboard,
22
+ WithCopyToClipboard_default as default
23
+ };
24
+ //# sourceMappingURL=WithCopyToClipboard.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "module": "./index.js",
4
+ "types": "./index.d.ts",
5
+ "main": "../../../../cjs/typography/CodeBlock/__stories__/WithCopyToClipboard/index.js"
6
+ }
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare const WithCopyToClipboard: () => React.JSX.Element;
3
+ export default WithCopyToClipboard;
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/typography/CodeBlock/__stories__/WithCopyToClipboard.tsx"],
4
+ "sourcesContent": ["import React from 'react';\n\nimport CodeBlock from '@digigov/ui/typography/CodeBlock';\n\nconst bashExample = `{\n \"random\": random(1, 100),\n \"random float\": randomFloat(1, 100, 3),\n \"bool\": randomBool(),\n \"date\": date('Y-m-d', '1980-01-01', '2000-01-15'),\n \"regEx\": regex(/hello+ (world|to you)/),\n \"enum\": choice('json', 'generator', 'online'),\n \"firstname\": firstname(),\n \"lastname\": lastname(),\n \"city\": city(),\n \"country\": country(),\n \"countryCode\": countryCode()\n}`;\n\nexport const WithCopyToClipboard = () => {\n return (\n <CodeBlock highlighted language=\"bash\" copyToClipboard>\n {bashExample}\n </CodeBlock>\n );\n};\n\nexport default WithCopyToClipboard;\n"],
5
+ "mappings": "AAAA,OAAO,WAAW;AAElB,OAAO,eAAe;AAEtB,MAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAcb,MAAM,sBAAsB,MAAM;AACvC,SACE,oCAAC,aAAU,aAAW,MAAC,UAAS,QAAO,iBAAe,QACnD,WACH;AAEJ;AAEA,IAAO,8BAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,33 @@
1
+ import React from "react";
2
+ import CodeBlock from "@digigov/ui/typography/CodeBlock";
3
+ const bashExample = `{
4
+ "random": random(1, 100),
5
+ "random float": randomFloat(1, 100, 3),
6
+ "bool": randomBool(),
7
+ "date": date('Y-m-d', '1980-01-01', '2000-01-15'),
8
+ "regEx": regex(/hello+ (world|to you)/),
9
+ "enum": choice('json', 'generator', 'online'),
10
+ "firstname": firstname(),
11
+ "lastname": lastname(),
12
+ "city": city(),
13
+ "country": country(),
14
+ "countryCode": countryCode()
15
+ }`;
16
+ const WithPhaseBanner = () => {
17
+ return /* @__PURE__ */ React.createElement(
18
+ CodeBlock,
19
+ {
20
+ highlighted: true,
21
+ language: "bash",
22
+ copyToClipboard: true,
23
+ phaseBannerTagName: "json"
24
+ },
25
+ bashExample
26
+ );
27
+ };
28
+ var WithPhaseBanner_default = WithPhaseBanner;
29
+ export {
30
+ WithPhaseBanner,
31
+ WithPhaseBanner_default as default
32
+ };
33
+ //# sourceMappingURL=WithPhaseBanner.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "module": "./index.js",
4
+ "types": "./index.d.ts",
5
+ "main": "../../../../cjs/typography/CodeBlock/__stories__/WithPhaseBanner/index.js"
6
+ }
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare const WithPhaseBanner: () => React.JSX.Element;
3
+ export default WithPhaseBanner;
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/typography/CodeBlock/__stories__/WithPhaseBanner.tsx"],
4
+ "sourcesContent": ["import React from 'react';\n\nimport CodeBlock from '@digigov/ui/typography/CodeBlock';\n\nconst bashExample = `{\n \"random\": random(1, 100),\n \"random float\": randomFloat(1, 100, 3),\n \"bool\": randomBool(),\n \"date\": date('Y-m-d', '1980-01-01', '2000-01-15'),\n \"regEx\": regex(/hello+ (world|to you)/),\n \"enum\": choice('json', 'generator', 'online'),\n \"firstname\": firstname(),\n \"lastname\": lastname(),\n \"city\": city(),\n \"country\": country(),\n \"countryCode\": countryCode()\n}`;\n\nexport const WithPhaseBanner = () => {\n return (\n <CodeBlock\n highlighted\n language=\"bash\"\n copyToClipboard\n phaseBannerTagName=\"json\"\n >\n {bashExample}\n </CodeBlock>\n );\n};\n\nexport default WithPhaseBanner;\n"],
5
+ "mappings": "AAAA,OAAO,WAAW;AAElB,OAAO,eAAe;AAEtB,MAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAcb,MAAM,kBAAkB,MAAM;AACnC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAW;AAAA,MACX,UAAS;AAAA,MACT,iBAAe;AAAA,MACf,oBAAmB;AAAA;AAAA,IAElB;AAAA,EACH;AAEJ;AAEA,IAAO,0BAAQ;",
6
+ "names": []
7
+ }
@@ -1,11 +1,10 @@
1
1
  import React from 'react';
2
2
  import { BaseProps } from '@digigov/react-core/Base';
3
3
  export interface CodeBlockProps extends BaseProps<'div'> {
4
- language?: 'js' | 'bash' | 'xml' | 'python';
5
- copyToClipboard?: true | false;
6
- highlighted?: true | false;
7
- showLineNumbers?: true | false;
8
- shouldWrapLongLines?: true | false;
4
+ language?: 'javascript' | 'bash' | 'xml' | 'python' | 'markdown' | 'json';
5
+ copyToClipboard?: boolean;
6
+ highlighted?: boolean;
7
+ showLineNumbers?: boolean;
9
8
  phaseBannerTagName?: string;
10
9
  highlightLines?: number[];
11
10
  }
@@ -1,9 +1,11 @@
1
1
  import React from "react";
2
- import { default as hljs } from "highlight.js/lib/core";
3
- import { default as bash } from "highlight.js/lib/languages/bash";
4
- import { default as js } from "highlight.js/lib/languages/javascript";
5
- import { default as python } from "highlight.js/lib/languages/python";
6
- import { default as xml } from "highlight.js/lib/languages/xml";
2
+ import hljs from "highlight.js/lib/core";
3
+ import bash from "highlight.js/lib/languages/bash";
4
+ import js from "highlight.js/lib/languages/javascript";
5
+ import json from "highlight.js/lib/languages/json";
6
+ import markdown from "highlight.js/lib/languages/markdown";
7
+ import python from "highlight.js/lib/languages/python";
8
+ import xml from "highlight.js/lib/languages/xml";
7
9
  import CodeBlockContainer from "@digigov/react-core/CodeBlockContainer";
8
10
  import CodeBlockContent from "@digigov/react-core/CodeBlockContent";
9
11
  import CodeBlockHeader from "@digigov/react-core/CodeBlockHeader";
@@ -11,10 +13,12 @@ import { CopyToClipboard } from "@digigov/ui/feedback";
11
13
  import { PhaseBannerTag } from "@digigov/ui/feedback/PhaseBanner";
12
14
  import { Button } from "@digigov/ui/form/Button";
13
15
  const languageMap = {
14
- js,
16
+ javascript: js,
15
17
  python,
16
18
  bash,
17
- xml
19
+ xml,
20
+ markdown,
21
+ json
18
22
  };
19
23
  const addLineNumbers = (code, highlightLines) => {
20
24
  return code.split("\n").map((line, index) => {
@@ -26,35 +30,37 @@ const addLineNumbers = (code, highlightLines) => {
26
30
  const CodeBlock = React.forwardRef(
27
31
  function CodeBlock2({
28
32
  children,
29
- language = "bash",
33
+ language,
30
34
  copyToClipboard,
31
35
  highlighted,
32
36
  showLineNumbers,
33
- shouldWrapLongLines,
34
37
  phaseBannerTagName,
35
38
  highlightLines,
36
39
  ref,
37
40
  ...props
38
41
  }) {
39
42
  const Tag = "span";
40
- hljs.registerLanguage(language, languageMap[language]);
41
43
  const codeString = typeof children === "string" ? children : "";
42
44
  let displayingCode = codeString;
43
45
  if (highlighted && codeString) {
44
46
  try {
45
47
  hljs.configure({ classPrefix: "ds-code--" });
46
- const highlightedCode = hljs.highlight(codeString, {
47
- language
48
- }).value;
48
+ let highlightedCode = hljs.highlightAuto(codeString).value;
49
+ if (language) {
50
+ hljs.registerLanguage(language, languageMap[language]);
51
+ highlightedCode = hljs.highlight(codeString, {
52
+ language
53
+ }).value;
54
+ }
49
55
  displayingCode = showLineNumbers ? addLineNumbers(highlightedCode, highlightLines || []) : highlightedCode;
50
56
  } catch (error) {
51
57
  console.error("Highlighting failed:", error);
52
58
  }
53
59
  }
54
- return /* @__PURE__ */ React.createElement(CodeBlockContainer, { ref, wrapLines: shouldWrapLongLines, ...props }, /* @__PURE__ */ React.createElement(
60
+ return /* @__PURE__ */ React.createElement(CodeBlockContainer, { ref, ...props }, /* @__PURE__ */ React.createElement(
55
61
  CodeBlockHeader,
56
62
  {
57
- justify: phaseBannerTagName && copyToClipboard ? "spaceBetween" : "end"
63
+ justify: phaseBannerTagName && copyToClipboard ? "space-between" : "end"
58
64
  },
59
65
  phaseBannerTagName && /* @__PURE__ */ React.createElement(PhaseBannerTag, null, phaseBannerTagName),
60
66
  copyToClipboard && /* @__PURE__ */ React.createElement(
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/typography/CodeBlock/index.tsx"],
4
- "sourcesContent": ["import React from 'react';\n\nimport { default as hljs } from 'highlight.js/lib/core';\nimport { default as bash } from 'highlight.js/lib/languages/bash';\nimport { default as js } from 'highlight.js/lib/languages/javascript';\nimport { default as python } from 'highlight.js/lib/languages/python';\nimport { default as xml } from 'highlight.js/lib/languages/xml';\nimport { BaseProps } from '@digigov/react-core/Base';\nimport CodeBlockContainer from '@digigov/react-core/CodeBlockContainer';\nimport CodeBlockContent from '@digigov/react-core/CodeBlockContent';\nimport CodeBlockHeader from '@digigov/react-core/CodeBlockHeader';\nimport { CopyToClipboard } from '@digigov/ui/feedback';\nimport { PhaseBannerTag } from '@digigov/ui/feedback/PhaseBanner';\nimport { Button } from '@digigov/ui/form/Button';\n\nexport interface CodeBlockProps extends BaseProps<'div'> {\n language?: 'js' | 'bash' | 'xml' | 'python';\n copyToClipboard?: true | false;\n highlighted?: true | false;\n showLineNumbers?: true | false;\n shouldWrapLongLines?: true | false;\n phaseBannerTagName?: string;\n highlightLines?: number[];\n}\n\nconst languageMap = {\n js: js,\n python: python,\n bash: bash,\n xml: xml,\n};\n\nconst addLineNumbers = (code: string, highlightLines: number[]): string => {\n return code\n .split('\\n')\n .map((line, index) => {\n const isHighlighted = highlightLines.includes(index + 1);\n const lineClass = isHighlighted ? 'ds-code--highlighted-line' : '';\n return `<span class=\"ds-code--line-number\">${index + 1}</span> <span class=\"${lineClass}\">${line}</span>`;\n })\n .join('\\n');\n};\n\nexport const CodeBlock: React.FC<CodeBlockProps> = React.forwardRef(\n function CodeBlock({\n children,\n language = 'bash',\n copyToClipboard,\n highlighted,\n showLineNumbers,\n shouldWrapLongLines,\n phaseBannerTagName,\n highlightLines,\n ref,\n ...props\n }) {\n const Tag = 'span';\n hljs.registerLanguage(language, languageMap[language]);\n const codeString = typeof children === 'string' ? children : '';\n let displayingCode = codeString;\n\n if (highlighted && codeString) {\n try {\n hljs.configure({ classPrefix: 'ds-code--' });\n const highlightedCode = hljs.highlight(codeString, {\n language: language,\n }).value;\n displayingCode = showLineNumbers\n ? addLineNumbers(highlightedCode, highlightLines || [])\n : highlightedCode;\n } catch (error) {\n console.error('Highlighting failed:', error);\n }\n }\n\n return (\n <CodeBlockContainer ref={ref} wrapLines={shouldWrapLongLines} {...props}>\n <CodeBlockHeader\n justify={\n phaseBannerTagName && copyToClipboard ? 'spaceBetween' : 'end'\n }\n >\n {phaseBannerTagName && (\n <PhaseBannerTag>{phaseBannerTagName}</PhaseBannerTag>\n )}\n {copyToClipboard && (\n <CopyToClipboard\n dense\n text={codeString}\n variant=\"tooltip\"\n tooltipAlign=\"right\"\n message=\"Copied!\"\n >\n <Button dense color=\"secondary\">\n Copy\n </Button>\n </CopyToClipboard>\n )}\n </CodeBlockHeader>\n <CodeBlockContent className={`language-${language}`}>\n {highlighted && codeString ? (\n <Tag\n dangerouslySetInnerHTML={{\n __html: displayingCode,\n }}\n />\n ) : (\n children\n )}\n </CodeBlockContent>\n </CodeBlockContainer>\n );\n }\n);\n\nexport * from '@digigov/react-core/CodeBlockContent';\nexport * from '@digigov/react-core/CodeBlockHeader';\nexport * from '@digigov/react-core/CodeBlockContainer';\nexport default CodeBlock;\n"],
5
- "mappings": "AAAA,OAAO,WAAW;AAElB,SAAS,WAAW,YAAY;AAChC,SAAS,WAAW,YAAY;AAChC,SAAS,WAAW,UAAU;AAC9B,SAAS,WAAW,cAAc;AAClC,SAAS,WAAW,WAAW;AAE/B,OAAO,wBAAwB;AAC/B,OAAO,sBAAsB;AAC7B,OAAO,qBAAqB;AAC5B,SAAS,uBAAuB;AAChC,SAAS,sBAAsB;AAC/B,SAAS,cAAc;AAYvB,MAAM,cAAc;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,MAAM,iBAAiB,CAAC,MAAc,mBAAqC;AACzE,SAAO,KACJ,MAAM,IAAI,EACV,IAAI,CAAC,MAAM,UAAU;AACpB,UAAM,gBAAgB,eAAe,SAAS,QAAQ,CAAC;AACvD,UAAM,YAAY,gBAAgB,8BAA8B;AAChE,WAAO,sCAAsC,QAAQ,CAAC,wBAAwB,SAAS,KAAK,IAAI;AAAA,EAClG,CAAC,EACA,KAAK,IAAI;AACd;AAEO,MAAM,YAAsC,MAAM;AAAA,EACvD,SAASA,WAAU;AAAA,IACjB;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,GAAG;AACD,UAAM,MAAM;AACZ,SAAK,iBAAiB,UAAU,YAAY,QAAQ,CAAC;AACrD,UAAM,aAAa,OAAO,aAAa,WAAW,WAAW;AAC7D,QAAI,iBAAiB;AAErB,QAAI,eAAe,YAAY;AAC7B,UAAI;AACF,aAAK,UAAU,EAAE,aAAa,YAAY,CAAC;AAC3C,cAAM,kBAAkB,KAAK,UAAU,YAAY;AAAA,UACjD;AAAA,QACF,CAAC,EAAE;AACH,yBAAiB,kBACb,eAAe,iBAAiB,kBAAkB,CAAC,CAAC,IACpD;AAAA,MACN,SAAS,OAAO;AACd,gBAAQ,MAAM,wBAAwB,KAAK;AAAA,MAC7C;AAAA,IACF;AAEA,WACE,oCAAC,sBAAmB,KAAU,WAAW,qBAAsB,GAAG,SAChE;AAAA,MAAC;AAAA;AAAA,QACC,SACE,sBAAsB,kBAAkB,iBAAiB;AAAA;AAAA,MAG1D,sBACC,oCAAC,sBAAgB,kBAAmB;AAAA,MAErC,mBACC;AAAA,QAAC;AAAA;AAAA,UACC,OAAK;AAAA,UACL,MAAM;AAAA,UACN,SAAQ;AAAA,UACR,cAAa;AAAA,UACb,SAAQ;AAAA;AAAA,QAER,oCAAC,UAAO,OAAK,MAAC,OAAM,eAAY,MAEhC;AAAA,MACF;AAAA,IAEJ,GACA,oCAAC,oBAAiB,WAAW,YAAY,QAAQ,MAC9C,eAAe,aACd;AAAA,MAAC;AAAA;AAAA,QACC,yBAAyB;AAAA,UACvB,QAAQ;AAAA,QACV;AAAA;AAAA,IACF,IAEA,QAEJ,CACF;AAAA,EAEJ;AACF;AAEA,cAAc;AACd,cAAc;AACd,cAAc;AACd,IAAO,oBAAQ;",
4
+ "sourcesContent": ["import React from 'react';\n\nimport hljs from 'highlight.js/lib/core';\nimport bash from 'highlight.js/lib/languages/bash';\nimport js from 'highlight.js/lib/languages/javascript';\nimport json from 'highlight.js/lib/languages/json';\nimport markdown from 'highlight.js/lib/languages/markdown';\nimport python from 'highlight.js/lib/languages/python';\nimport xml from 'highlight.js/lib/languages/xml';\nimport { BaseProps } from '@digigov/react-core/Base';\nimport CodeBlockContainer from '@digigov/react-core/CodeBlockContainer';\nimport CodeBlockContent from '@digigov/react-core/CodeBlockContent';\nimport CodeBlockHeader from '@digigov/react-core/CodeBlockHeader';\nimport { CopyToClipboard } from '@digigov/ui/feedback';\nimport { PhaseBannerTag } from '@digigov/ui/feedback/PhaseBanner';\nimport { Button } from '@digigov/ui/form/Button';\n\nexport interface CodeBlockProps extends BaseProps<'div'> {\n language?: 'javascript' | 'bash' | 'xml' | 'python' | 'markdown' | 'json';\n copyToClipboard?: boolean;\n highlighted?: boolean;\n showLineNumbers?: boolean;\n phaseBannerTagName?: string;\n highlightLines?: number[];\n}\n\nconst languageMap = {\n javascript: js,\n python: python,\n bash: bash,\n xml: xml,\n markdown: markdown,\n json: json,\n};\n\nconst addLineNumbers = (code: string, highlightLines: number[]): string => {\n return code\n .split('\\n')\n .map((line, index) => {\n const isHighlighted = highlightLines.includes(index + 1);\n const lineClass = isHighlighted ? 'ds-code--highlighted-line' : '';\n return `<span class=\"ds-code--line-number\">${index + 1}</span> <span class=\"${lineClass}\">${line}</span>`;\n })\n .join('\\n');\n};\n\nexport const CodeBlock: React.FC<CodeBlockProps> = React.forwardRef(\n function CodeBlock({\n children,\n language,\n copyToClipboard,\n highlighted,\n showLineNumbers,\n phaseBannerTagName,\n highlightLines,\n ref,\n ...props\n }) {\n const Tag = 'span';\n const codeString = typeof children === 'string' ? children : '';\n let displayingCode = codeString;\n\n if (highlighted && codeString) {\n try {\n hljs.configure({ classPrefix: 'ds-code--' });\n let highlightedCode = hljs.highlightAuto(codeString).value;\n if (language) {\n hljs.registerLanguage(language, languageMap[language]);\n highlightedCode = hljs.highlight(codeString, {\n language: language,\n }).value;\n }\n displayingCode = showLineNumbers\n ? addLineNumbers(highlightedCode, highlightLines || [])\n : highlightedCode;\n } catch (error) {\n console.error('Highlighting failed:', error);\n }\n }\n\n return (\n <CodeBlockContainer ref={ref} {...props}>\n <CodeBlockHeader\n justify={\n phaseBannerTagName && copyToClipboard ? 'space-between' : 'end'\n }\n >\n {phaseBannerTagName && (\n <PhaseBannerTag>{phaseBannerTagName}</PhaseBannerTag>\n )}\n {copyToClipboard && (\n <CopyToClipboard\n dense\n text={codeString}\n variant=\"tooltip\"\n tooltipAlign=\"right\"\n message=\"Copied!\"\n >\n <Button dense color=\"secondary\">\n Copy\n </Button>\n </CopyToClipboard>\n )}\n </CodeBlockHeader>\n <CodeBlockContent className={`language-${language}`}>\n {highlighted && codeString ? (\n <Tag\n dangerouslySetInnerHTML={{\n __html: displayingCode,\n }}\n />\n ) : (\n children\n )}\n </CodeBlockContent>\n </CodeBlockContainer>\n );\n }\n);\n\nexport * from '@digigov/react-core/CodeBlockContent';\nexport * from '@digigov/react-core/CodeBlockHeader';\nexport * from '@digigov/react-core/CodeBlockContainer';\nexport default CodeBlock;\n"],
5
+ "mappings": "AAAA,OAAO,WAAW;AAElB,OAAO,UAAU;AACjB,OAAO,UAAU;AACjB,OAAO,QAAQ;AACf,OAAO,UAAU;AACjB,OAAO,cAAc;AACrB,OAAO,YAAY;AACnB,OAAO,SAAS;AAEhB,OAAO,wBAAwB;AAC/B,OAAO,sBAAsB;AAC7B,OAAO,qBAAqB;AAC5B,SAAS,uBAAuB;AAChC,SAAS,sBAAsB;AAC/B,SAAS,cAAc;AAWvB,MAAM,cAAc;AAAA,EAClB,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,MAAM,iBAAiB,CAAC,MAAc,mBAAqC;AACzE,SAAO,KACJ,MAAM,IAAI,EACV,IAAI,CAAC,MAAM,UAAU;AACpB,UAAM,gBAAgB,eAAe,SAAS,QAAQ,CAAC;AACvD,UAAM,YAAY,gBAAgB,8BAA8B;AAChE,WAAO,sCAAsC,QAAQ,CAAC,wBAAwB,SAAS,KAAK,IAAI;AAAA,EAClG,CAAC,EACA,KAAK,IAAI;AACd;AAEO,MAAM,YAAsC,MAAM;AAAA,EACvD,SAASA,WAAU;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,GAAG;AACD,UAAM,MAAM;AACZ,UAAM,aAAa,OAAO,aAAa,WAAW,WAAW;AAC7D,QAAI,iBAAiB;AAErB,QAAI,eAAe,YAAY;AAC7B,UAAI;AACF,aAAK,UAAU,EAAE,aAAa,YAAY,CAAC;AAC3C,YAAI,kBAAkB,KAAK,cAAc,UAAU,EAAE;AACrD,YAAI,UAAU;AACZ,eAAK,iBAAiB,UAAU,YAAY,QAAQ,CAAC;AACrD,4BAAkB,KAAK,UAAU,YAAY;AAAA,YAC3C;AAAA,UACF,CAAC,EAAE;AAAA,QACL;AACA,yBAAiB,kBACb,eAAe,iBAAiB,kBAAkB,CAAC,CAAC,IACpD;AAAA,MACN,SAAS,OAAO;AACd,gBAAQ,MAAM,wBAAwB,KAAK;AAAA,MAC7C;AAAA,IACF;AAEA,WACE,oCAAC,sBAAmB,KAAW,GAAG,SAChC;AAAA,MAAC;AAAA;AAAA,QACC,SACE,sBAAsB,kBAAkB,kBAAkB;AAAA;AAAA,MAG3D,sBACC,oCAAC,sBAAgB,kBAAmB;AAAA,MAErC,mBACC;AAAA,QAAC;AAAA;AAAA,UACC,OAAK;AAAA,UACL,MAAM;AAAA,UACN,SAAQ;AAAA,UACR,cAAa;AAAA,UACb,SAAQ;AAAA;AAAA,QAER,oCAAC,UAAO,OAAK,MAAC,OAAM,eAAY,MAEhC;AAAA,MACF;AAAA,IAEJ,GACA,oCAAC,oBAAiB,WAAW,YAAY,QAAQ,MAC9C,eAAe,aACd;AAAA,MAAC;AAAA;AAAA,QACC,yBAAyB;AAAA,UACvB,QAAQ;AAAA,QACV;AAAA;AAAA,IACF,IAEA,QAEJ,CACF;AAAA,EAEJ;AACF;AAEA,cAAc;AACd,cAAc;AACd,cAAc;AACd,IAAO,oBAAQ;",
6
6
  "names": ["CodeBlock"]
7
7
  }
@@ -0,0 +1 @@
1
+ export {};