@navikt/ds-react 0.7.4 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (479) hide show
  1. package/cjs/accordion/Accordion.js +10 -26
  2. package/cjs/accordion/AccordionContent.js +60 -0
  3. package/cjs/accordion/AccordionHeader.js +66 -0
  4. package/cjs/accordion/AccordionItem.js +62 -0
  5. package/cjs/accordion/index.js +6 -2
  6. package/cjs/accordion-menu/AccordionMenu.js +5 -1
  7. package/cjs/accordion-menu/AccordionMenuCollapsable.js +3 -3
  8. package/cjs/accordion-menu/AccordionMenuItem.js +4 -4
  9. package/cjs/accordion-menu/index.js +5 -5
  10. package/cjs/alert/Alert.js +18 -12
  11. package/cjs/alert/AlertContent.js +50 -0
  12. package/cjs/alert/AlertTitle.js +49 -0
  13. package/cjs/alert/index.js +6 -2
  14. package/cjs/button/Button.js +5 -3
  15. package/cjs/button/index.js +6 -2
  16. package/cjs/card/MicroCard.js +3 -3
  17. package/cjs/card/index.js +6 -2
  18. package/cjs/copy-to-clipboard/CopyToClipboard.js +9 -8
  19. package/cjs/copy-to-clipboard/index.js +6 -2
  20. package/cjs/form/ConfirmationPanel.js +2 -2
  21. package/cjs/form/ErrorMessage.js +1 -1
  22. package/cjs/form/Fieldset/Fieldset.js +2 -2
  23. package/cjs/form/Fieldset/index.js +5 -1
  24. package/cjs/form/Fieldset/useFieldset.js +2 -1
  25. package/cjs/form/Select.js +3 -3
  26. package/cjs/form/TextField.js +2 -2
  27. package/cjs/form/Textarea.js +5 -4
  28. package/cjs/form/checkbox/Checkbox.js +2 -2
  29. package/cjs/form/checkbox/CheckboxGroup.js +2 -2
  30. package/cjs/form/checkbox/index.js +6 -2
  31. package/cjs/form/checkbox/useCheckbox.js +2 -1
  32. package/cjs/form/error-summary/ErrorSummary.js +4 -4
  33. package/cjs/form/error-summary/ErrorSummaryItem.js +2 -2
  34. package/cjs/form/error-summary/index.js +6 -2
  35. package/cjs/form/index.js +9 -5
  36. package/cjs/form/radio/Radio.js +2 -2
  37. package/cjs/form/radio/RadioGroup.js +2 -2
  38. package/cjs/form/radio/index.js +6 -2
  39. package/cjs/form/radio/useRadio.js +2 -1
  40. package/cjs/form/search-field/SearchField.js +3 -3
  41. package/cjs/form/search-field/SearchFieldButton.js +2 -2
  42. package/cjs/form/search-field/SearchFieldClearButton.js +3 -3
  43. package/cjs/form/search-field/SearchFieldInput.js +2 -2
  44. package/cjs/form/search-field/index.js +8 -4
  45. package/cjs/form/useFormField.js +3 -2
  46. package/cjs/grid/Cell.js +2 -2
  47. package/cjs/{content-container → grid}/ContentContainer.js +3 -3
  48. package/cjs/grid/Grid.js +1 -1
  49. package/cjs/grid/index.js +10 -3
  50. package/cjs/{layouts/product-page/ProductPageSection.js → guide-panel/Guide.js} +7 -5
  51. package/cjs/guide-panel/GuidePanel.js +47 -0
  52. package/cjs/guide-panel/Illustration.js +24 -0
  53. package/cjs/guide-panel/index.js +19 -0
  54. package/cjs/guide-panel/package.json +6 -0
  55. package/cjs/help-text/HelpText.js +64 -0
  56. package/cjs/help-text/index.js +19 -0
  57. package/cjs/help-text/package.json +6 -0
  58. package/cjs/index.js +6 -6
  59. package/cjs/internal-header/InternalHeader.js +1 -1
  60. package/cjs/internal-header/InternalHeaderTitle.js +1 -1
  61. package/cjs/internal-header/InternalHeaderUser.js +1 -1
  62. package/cjs/internal-header/index.js +8 -4
  63. package/cjs/link/Link.js +3 -3
  64. package/cjs/link/index.js +6 -2
  65. package/cjs/link-panel/LinkPanel.js +10 -10
  66. package/cjs/link-panel/LinkPanelDescription.js +43 -0
  67. package/cjs/link-panel/LinkPanelTitle.js +42 -0
  68. package/cjs/link-panel/index.js +6 -2
  69. package/cjs/loader/Loader.js +4 -7
  70. package/cjs/loader/index.js +6 -2
  71. package/cjs/modal/Modal.js +6 -4
  72. package/cjs/{accordion-anchor-menu/AccordionAnchorMenu.js → modal/ModalContent.js} +5 -11
  73. package/cjs/modal/index.js +6 -2
  74. package/cjs/{header/Header.js → page-header/PageHeader.js} +10 -9
  75. package/cjs/page-header/index.js +19 -0
  76. package/cjs/page-header/package.json +6 -0
  77. package/cjs/panel/Panel.js +2 -2
  78. package/cjs/panel/index.js +6 -2
  79. package/cjs/popover/Popover.js +13 -4
  80. package/cjs/popover/PopoverContent.js +42 -0
  81. package/cjs/popover/index.js +6 -2
  82. package/cjs/speech-bubble/Bubble.js +1 -1
  83. package/cjs/speech-bubble/SpeechBubble.js +1 -1
  84. package/cjs/speech-bubble/index.js +7 -3
  85. package/cjs/tag/Tag.js +5 -3
  86. package/cjs/tag/index.js +6 -2
  87. package/cjs/typography/BodyLong.js +3 -3
  88. package/cjs/typography/BodyShort.js +3 -3
  89. package/cjs/typography/Detail.js +3 -3
  90. package/cjs/typography/{Title.js → Heading.js} +8 -8
  91. package/cjs/typography/Ingress.js +2 -2
  92. package/cjs/typography/Label.js +3 -3
  93. package/cjs/typography/index.js +11 -7
  94. package/cjs/util/index.js +3 -2
  95. package/cjs/util/useId.js +5 -4
  96. package/esm/accordion/Accordion.d.ts +11 -22
  97. package/esm/accordion/Accordion.js +9 -25
  98. package/esm/accordion/Accordion.js.map +1 -1
  99. package/esm/accordion/AccordionContent.d.ts +10 -0
  100. package/esm/accordion/AccordionContent.js +37 -0
  101. package/esm/accordion/AccordionContent.js.map +1 -0
  102. package/esm/accordion/AccordionHeader.d.ts +10 -0
  103. package/esm/accordion/AccordionHeader.js +43 -0
  104. package/esm/accordion/AccordionHeader.js.map +1 -0
  105. package/esm/accordion/AccordionItem.d.ts +35 -0
  106. package/esm/accordion/AccordionItem.js +38 -0
  107. package/esm/accordion/AccordionItem.js.map +1 -0
  108. package/esm/accordion-menu/AccordionMenu.d.ts +9 -3
  109. package/esm/accordion-menu/AccordionMenu.js +4 -0
  110. package/esm/accordion-menu/AccordionMenu.js.map +1 -1
  111. package/esm/accordion-menu/AccordionMenuCollapsable.d.ts +3 -2
  112. package/esm/accordion-menu/AccordionMenuCollapsable.js +2 -2
  113. package/esm/accordion-menu/AccordionMenuCollapsable.js.map +1 -1
  114. package/esm/accordion-menu/AccordionMenuItem.d.ts +11 -10
  115. package/esm/accordion-menu/AccordionMenuItem.js +3 -3
  116. package/esm/accordion-menu/AccordionMenuItem.js.map +1 -1
  117. package/esm/accordion-menu/index.d.ts +3 -3
  118. package/esm/accordion-menu/index.js +0 -2
  119. package/esm/accordion-menu/index.js.map +1 -1
  120. package/esm/alert/Alert.d.ts +26 -4
  121. package/esm/alert/Alert.js +17 -12
  122. package/esm/alert/Alert.js.map +1 -1
  123. package/esm/alert/AlertContent.d.ts +10 -0
  124. package/esm/alert/AlertContent.js +27 -0
  125. package/esm/alert/AlertContent.js.map +1 -0
  126. package/esm/alert/AlertTitle.d.ts +10 -0
  127. package/esm/alert/AlertTitle.js +26 -0
  128. package/esm/alert/AlertTitle.js.map +1 -0
  129. package/esm/button/Button.d.ts +5 -4
  130. package/esm/button/Button.js +4 -2
  131. package/esm/button/Button.js.map +1 -1
  132. package/esm/card/MicroCard.d.ts +7 -7
  133. package/esm/card/MicroCard.js +2 -2
  134. package/esm/card/MicroCard.js.map +1 -1
  135. package/esm/copy-to-clipboard/CopyToClipboard.d.ts +9 -7
  136. package/esm/copy-to-clipboard/CopyToClipboard.js +10 -9
  137. package/esm/copy-to-clipboard/CopyToClipboard.js.map +1 -1
  138. package/esm/form/ConfirmationPanel.js +1 -1
  139. package/esm/form/ConfirmationPanel.js.map +1 -1
  140. package/esm/form/ErrorMessage.d.ts +1 -0
  141. package/esm/form/ErrorMessage.js +1 -1
  142. package/esm/form/ErrorMessage.js.map +1 -1
  143. package/esm/form/Fieldset/Fieldset.d.ts +1 -1
  144. package/esm/form/Fieldset/Fieldset.js +1 -1
  145. package/esm/form/Fieldset/Fieldset.js.map +1 -1
  146. package/esm/form/Fieldset/useFieldset.d.ts +1 -1
  147. package/esm/form/Select.js +2 -2
  148. package/esm/form/Select.js.map +1 -1
  149. package/esm/form/TextField.js +1 -1
  150. package/esm/form/TextField.js.map +1 -1
  151. package/esm/form/Textarea.js +2 -2
  152. package/esm/form/Textarea.js.map +1 -1
  153. package/esm/form/checkbox/Checkbox.js +1 -1
  154. package/esm/form/checkbox/Checkbox.js.map +1 -1
  155. package/esm/form/checkbox/CheckboxGroup.js +1 -1
  156. package/esm/form/checkbox/CheckboxGroup.js.map +1 -1
  157. package/esm/form/checkbox/useCheckbox.d.ts +1 -1
  158. package/esm/form/checkbox/useCheckbox.js +2 -1
  159. package/esm/form/checkbox/useCheckbox.js.map +1 -1
  160. package/esm/form/error-summary/ErrorSummary.d.ts +2 -2
  161. package/esm/form/error-summary/ErrorSummary.js +4 -4
  162. package/esm/form/error-summary/ErrorSummary.js.map +1 -1
  163. package/esm/form/error-summary/ErrorSummaryItem.d.ts +6 -9
  164. package/esm/form/error-summary/ErrorSummaryItem.js +1 -1
  165. package/esm/form/error-summary/ErrorSummaryItem.js.map +1 -1
  166. package/esm/form/radio/Radio.js +1 -1
  167. package/esm/form/radio/Radio.js.map +1 -1
  168. package/esm/form/radio/RadioGroup.js +1 -1
  169. package/esm/form/radio/RadioGroup.js.map +1 -1
  170. package/esm/form/radio/useRadio.d.ts +1 -1
  171. package/esm/form/radio/useRadio.js.map +1 -1
  172. package/esm/form/search-field/SearchField.d.ts +1 -1
  173. package/esm/form/search-field/SearchField.js +2 -2
  174. package/esm/form/search-field/SearchField.js.map +1 -1
  175. package/esm/form/search-field/SearchFieldButton.d.ts +2 -2
  176. package/esm/form/search-field/SearchFieldButton.js +1 -1
  177. package/esm/form/search-field/SearchFieldButton.js.map +1 -1
  178. package/esm/form/search-field/SearchFieldClearButton.d.ts +2 -2
  179. package/esm/form/search-field/SearchFieldClearButton.js +2 -2
  180. package/esm/form/search-field/SearchFieldClearButton.js.map +1 -1
  181. package/esm/form/search-field/SearchFieldInput.js +1 -1
  182. package/esm/form/search-field/SearchFieldInput.js.map +1 -1
  183. package/esm/form/useFormField.d.ts +2 -2
  184. package/esm/form/useFormField.js +1 -1
  185. package/esm/form/useFormField.js.map +1 -1
  186. package/esm/grid/Cell.js +1 -1
  187. package/esm/grid/Cell.js.map +1 -1
  188. package/esm/{content-container → grid}/ContentContainer.d.ts +1 -1
  189. package/esm/{content-container → grid}/ContentContainer.js +2 -2
  190. package/esm/grid/ContentContainer.js.map +1 -0
  191. package/esm/grid/index.d.ts +2 -0
  192. package/esm/grid/index.js +2 -0
  193. package/esm/grid/index.js.map +1 -1
  194. package/esm/guide-panel/Guide.d.ts +14 -0
  195. package/esm/guide-panel/Guide.js +21 -0
  196. package/esm/guide-panel/Guide.js.map +1 -0
  197. package/esm/guide-panel/GuidePanel.d.ts +18 -0
  198. package/esm/guide-panel/GuidePanel.js +24 -0
  199. package/esm/guide-panel/GuidePanel.js.map +1 -0
  200. package/esm/guide-panel/Illustration.d.ts +2 -0
  201. package/esm/guide-panel/Illustration.js +18 -0
  202. package/esm/guide-panel/Illustration.js.map +1 -0
  203. package/esm/guide-panel/index.d.ts +3 -0
  204. package/esm/guide-panel/index.js +3 -0
  205. package/esm/guide-panel/index.js.map +1 -0
  206. package/esm/help-text/HelpText.d.ts +15 -0
  207. package/esm/help-text/HelpText.js +41 -0
  208. package/esm/help-text/HelpText.js.map +1 -0
  209. package/esm/help-text/index.d.ts +2 -0
  210. package/esm/help-text/index.js +3 -0
  211. package/esm/help-text/index.js.map +1 -0
  212. package/esm/index.d.ts +4 -5
  213. package/esm/index.js +5 -5
  214. package/esm/index.js.map +1 -1
  215. package/esm/link/Link.d.ts +2 -5
  216. package/esm/link/Link.js +2 -2
  217. package/esm/link/Link.js.map +1 -1
  218. package/esm/link-panel/LinkPanel.d.ts +16 -21
  219. package/esm/link-panel/LinkPanel.js +9 -8
  220. package/esm/link-panel/LinkPanel.js.map +1 -1
  221. package/esm/link-panel/LinkPanelDescription.d.ts +7 -0
  222. package/esm/link-panel/LinkPanelDescription.js +19 -0
  223. package/esm/link-panel/LinkPanelDescription.js.map +1 -0
  224. package/esm/link-panel/LinkPanelTitle.d.ts +8 -0
  225. package/esm/link-panel/LinkPanelTitle.js +18 -0
  226. package/esm/link-panel/LinkPanelTitle.js.map +1 -0
  227. package/esm/loader/Loader.d.ts +3 -3
  228. package/esm/loader/Loader.js +3 -6
  229. package/esm/loader/Loader.js.map +1 -1
  230. package/esm/modal/Modal.d.ts +6 -6
  231. package/esm/modal/Modal.js +5 -3
  232. package/esm/modal/Modal.js.map +1 -1
  233. package/esm/modal/ModalContent.d.ts +10 -0
  234. package/esm/modal/ModalContent.js +19 -0
  235. package/esm/modal/ModalContent.js.map +1 -0
  236. package/esm/modal/index.d.ts +1 -0
  237. package/esm/modal/index.js.map +1 -1
  238. package/esm/page-header/PageHeader.d.ts +27 -0
  239. package/esm/page-header/PageHeader.js +24 -0
  240. package/esm/page-header/PageHeader.js.map +1 -0
  241. package/esm/page-header/index.d.ts +2 -0
  242. package/esm/page-header/index.js +3 -0
  243. package/esm/page-header/index.js.map +1 -0
  244. package/esm/panel/Panel.d.ts +12 -15
  245. package/esm/panel/Panel.js +1 -1
  246. package/esm/panel/Panel.js.map +1 -1
  247. package/esm/popover/Popover.d.ts +13 -8
  248. package/esm/popover/Popover.js +12 -3
  249. package/esm/popover/Popover.js.map +1 -1
  250. package/esm/popover/PopoverContent.d.ts +10 -0
  251. package/esm/popover/PopoverContent.js +19 -0
  252. package/esm/popover/PopoverContent.js.map +1 -0
  253. package/esm/popover/index.d.ts +1 -0
  254. package/esm/speech-bubble/Bubble.d.ts +1 -1
  255. package/esm/tag/Tag.d.ts +7 -1
  256. package/esm/tag/Tag.js +4 -2
  257. package/esm/tag/Tag.js.map +1 -1
  258. package/esm/typography/BodyLong.d.ts +16 -19
  259. package/esm/typography/BodyLong.js +2 -2
  260. package/esm/typography/BodyLong.js.map +1 -1
  261. package/esm/typography/BodyShort.d.ts +16 -19
  262. package/esm/typography/BodyShort.js +2 -2
  263. package/esm/typography/BodyShort.js.map +1 -1
  264. package/esm/typography/Detail.d.ts +16 -19
  265. package/esm/typography/Detail.js +2 -2
  266. package/esm/typography/Detail.js.map +1 -1
  267. package/esm/typography/Heading.d.ts +24 -0
  268. package/esm/typography/{Title.js → Heading.js} +8 -8
  269. package/esm/typography/Heading.js.map +1 -0
  270. package/esm/typography/Ingress.d.ts +11 -14
  271. package/esm/typography/Ingress.js +1 -1
  272. package/esm/typography/Ingress.js.map +1 -1
  273. package/esm/typography/Label.d.ts +16 -19
  274. package/esm/typography/Label.js +2 -2
  275. package/esm/typography/Label.js.map +1 -1
  276. package/esm/typography/index.d.ts +1 -1
  277. package/esm/typography/index.js +1 -1
  278. package/esm/typography/index.js.map +1 -1
  279. package/esm/util/OverridableComponent.d.ts +6 -25
  280. package/esm/util/OverridableComponent.js +1 -0
  281. package/esm/util/useId.d.ts +2 -0
  282. package/esm/util/useId.js +1 -1
  283. package/esm/util/useId.js.map +1 -1
  284. package/package.json +6 -3
  285. package/src/accordion/Accordion.tsx +23 -98
  286. package/src/accordion/AccordionContent.tsx +59 -0
  287. package/src/accordion/AccordionHeader.tsx +84 -0
  288. package/src/accordion/AccordionItem.tsx +93 -0
  289. package/src/accordion/stories/accordion.stories.mdx +55 -16
  290. package/src/accordion/stories/accordion.stories.tsx +76 -43
  291. package/src/accordion-menu/AccordionMenu.tsx +18 -3
  292. package/src/accordion-menu/AccordionMenuCollapsable.tsx +32 -29
  293. package/src/accordion-menu/AccordionMenuItem.tsx +17 -18
  294. package/src/accordion-menu/index.ts +3 -6
  295. package/src/accordion-menu/stories/accordion-menu.stories.mdx +34 -38
  296. package/src/accordion-menu/stories/accordion-menu.stories.tsx +60 -79
  297. package/src/alert/Alert.tsx +66 -43
  298. package/src/alert/AlertContent.tsx +41 -0
  299. package/src/alert/AlertTitle.tsx +41 -0
  300. package/src/alert/stories/alert.stories.mdx +48 -7
  301. package/src/alert/stories/alert.stories.tsx +95 -11
  302. package/src/button/Button.tsx +24 -11
  303. package/src/button/stories/button.stories.mdx +13 -14
  304. package/src/button/stories/button.stories.tsx +28 -17
  305. package/src/card/MicroCard.tsx +25 -23
  306. package/src/copy-to-clipboard/CopyToClipboard.tsx +34 -30
  307. package/src/copy-to-clipboard/stories/copy-to-clipboard.stories.tsx +9 -10
  308. package/src/copy-to-clipboard/stories/copy.stories.mdx +24 -14
  309. package/src/form/ConfirmationPanel.tsx +1 -1
  310. package/src/form/ErrorMessage.tsx +2 -2
  311. package/src/form/Fieldset/Fieldset.tsx +2 -2
  312. package/src/form/Select.tsx +2 -2
  313. package/src/form/TextField.tsx +1 -1
  314. package/src/form/Textarea.tsx +2 -2
  315. package/src/form/checkbox/Checkbox.tsx +1 -1
  316. package/src/form/checkbox/CheckboxGroup.tsx +1 -1
  317. package/src/form/checkbox/stories/checkbox.stories.mdx +7 -3
  318. package/src/form/checkbox/stories/checkbox.stories.tsx +1 -1
  319. package/src/form/error-summary/ErrorSummary.tsx +18 -17
  320. package/src/form/error-summary/ErrorSummaryItem.tsx +11 -11
  321. package/src/form/error-summary/stories/error-summary.stories.tsx +2 -2
  322. package/src/form/radio/Radio.tsx +1 -1
  323. package/src/form/radio/RadioGroup.tsx +1 -1
  324. package/src/form/radio/stories/radio.stories.mdx +11 -3
  325. package/src/form/radio/stories/radio.stories.tsx +1 -1
  326. package/src/form/search-field/SearchField.tsx +3 -3
  327. package/src/form/search-field/SearchFieldButton.tsx +3 -3
  328. package/src/form/search-field/SearchFieldClearButton.tsx +5 -5
  329. package/src/form/search-field/SearchFieldInput.tsx +3 -2
  330. package/src/form/search-field/stories/search-field-example.tsx +9 -10
  331. package/src/form/search-field/stories/search-field.stories.mdx +23 -68
  332. package/src/form/search-field/stories/search-field.stories.tsx +48 -15
  333. package/src/form/stories/confirmation-panel.stories.mdx +2 -2
  334. package/src/form/stories/confirmation-panel.stories.tsx +3 -3
  335. package/src/form/stories/fieldset.stories.mdx +2 -2
  336. package/src/form/stories/fieldset.stories.tsx +1 -1
  337. package/src/form/stories/live-examples.tsx +2 -2
  338. package/src/form/stories/select.stories.mdx +2 -2
  339. package/src/form/stories/select.stories.tsx +1 -1
  340. package/src/form/stories/text-field.stories.mdx +2 -2
  341. package/src/form/stories/text-field.stories.tsx +1 -1
  342. package/src/form/stories/textarea.stories.mdx +2 -2
  343. package/src/form/stories/textarea.stories.tsx +1 -1
  344. package/src/form/useFormField.ts +2 -2
  345. package/src/grid/Cell.tsx +1 -1
  346. package/src/{content-container → grid}/ContentContainer.tsx +3 -5
  347. package/src/grid/index.ts +2 -0
  348. package/src/grid/stories/grid.stories.mdx +24 -5
  349. package/src/grid/stories/grid.stories.tsx +10 -2
  350. package/src/grid/stories/styles.css +16 -0
  351. package/src/guide-panel/Guide.tsx +34 -0
  352. package/src/guide-panel/GuidePanel.tsx +39 -0
  353. package/src/guide-panel/Illustration.tsx +99 -0
  354. package/src/guide-panel/index.ts +3 -0
  355. package/src/guide-panel/stories/example.css +13 -0
  356. package/src/guide-panel/stories/guidepanel.stories.mdx +81 -0
  357. package/src/guide-panel/stories/guidepanel.stories.tsx +68 -0
  358. package/src/help-text/HelpText.tsx +78 -0
  359. package/src/help-text/index.ts +2 -0
  360. package/src/help-text/stories/help-text.stories.mdx +35 -0
  361. package/src/help-text/stories/help-text.stories.tsx +32 -0
  362. package/src/index.ts +6 -5
  363. package/src/link/Link.tsx +7 -18
  364. package/src/link/stories/link.stories.tsx +30 -3
  365. package/src/link-panel/LinkPanel.tsx +32 -44
  366. package/src/link-panel/LinkPanelDescription.tsx +23 -0
  367. package/src/link-panel/LinkPanelTitle.tsx +27 -0
  368. package/src/link-panel/stories/link-panel.stories.mdx +52 -23
  369. package/src/link-panel/stories/link-panel.stories.tsx +43 -34
  370. package/src/loader/Loader.tsx +13 -10
  371. package/src/loader/stories/loader.stories.mdx +27 -28
  372. package/src/loader/stories/loader.stories.tsx +31 -91
  373. package/src/modal/Modal.tsx +16 -14
  374. package/src/modal/ModalContent.tsx +26 -0
  375. package/src/modal/index.ts +1 -0
  376. package/src/modal/stories/modal.stories.mdx +10 -1
  377. package/src/modal/stories/modal.stories.tsx +20 -23
  378. package/src/page-header/PageHeader.tsx +76 -0
  379. package/src/page-header/index.ts +2 -0
  380. package/src/{header → page-header}/stories/header.stories.mdx +31 -24
  381. package/src/{header → page-header}/stories/header.stories.tsx +27 -27
  382. package/src/{header → page-header}/stories/pictogram.tsx +0 -0
  383. package/src/panel/Panel.tsx +14 -23
  384. package/src/popover/Popover.tsx +29 -11
  385. package/src/popover/PopoverContent.tsx +26 -0
  386. package/src/popover/index.ts +1 -0
  387. package/src/popover/stories/popover.stories.tsx +6 -8
  388. package/src/speech-bubble/Bubble.tsx +1 -1
  389. package/src/tag/Tag.tsx +18 -10
  390. package/src/tag/stories/tag.stories.mdx +24 -0
  391. package/src/tag/stories/tag.stories.tsx +13 -0
  392. package/src/typography/BodyLong.tsx +22 -21
  393. package/src/typography/BodyShort.tsx +22 -21
  394. package/src/typography/Detail.tsx +22 -21
  395. package/src/typography/Heading.tsx +45 -0
  396. package/src/typography/Ingress.tsx +23 -24
  397. package/src/typography/Label.tsx +21 -21
  398. package/src/typography/index.ts +1 -1
  399. package/src/typography/stories/typography.stories.tsx +18 -23
  400. package/src/util/OverridableComponent.ts +7 -44
  401. package/src/util/useId.ts +1 -1
  402. package/cjs/accordion-anchor-menu/AccordionAnchorMenuCollapsable.js +0 -4
  403. package/cjs/accordion-anchor-menu/AccordionAnchorMenuItem.js +0 -44
  404. package/cjs/accordion-anchor-menu/ActiveAnchorStore.js +0 -68
  405. package/cjs/accordion-anchor-menu/index.js +0 -8
  406. package/cjs/accordion-anchor-menu/package.json +0 -6
  407. package/cjs/content-container/index.js +0 -15
  408. package/cjs/content-container/package.json +0 -6
  409. package/cjs/header/index.js +0 -15
  410. package/cjs/header/package.json +0 -6
  411. package/cjs/layouts/index.js +0 -8
  412. package/cjs/layouts/package.json +0 -6
  413. package/cjs/layouts/product-page/ProductPageLayout.js +0 -62
  414. package/cjs/layouts/product-page/ProductPagePanel.js +0 -63
  415. package/esm/accordion-anchor-menu/AccordionAnchorMenu.d.ts +0 -7
  416. package/esm/accordion-anchor-menu/AccordionAnchorMenu.js +0 -25
  417. package/esm/accordion-anchor-menu/AccordionAnchorMenu.js.map +0 -1
  418. package/esm/accordion-anchor-menu/AccordionAnchorMenuCollapsable.d.ts +0 -1
  419. package/esm/accordion-anchor-menu/AccordionAnchorMenuCollapsable.js +0 -2
  420. package/esm/accordion-anchor-menu/AccordionAnchorMenuCollapsable.js.map +0 -1
  421. package/esm/accordion-anchor-menu/AccordionAnchorMenuItem.d.ts +0 -3
  422. package/esm/accordion-anchor-menu/AccordionAnchorMenuItem.js +0 -24
  423. package/esm/accordion-anchor-menu/AccordionAnchorMenuItem.js.map +0 -1
  424. package/esm/accordion-anchor-menu/ActiveAnchorStore.d.ts +0 -11
  425. package/esm/accordion-anchor-menu/ActiveAnchorStore.js +0 -47
  426. package/esm/accordion-anchor-menu/ActiveAnchorStore.js.map +0 -1
  427. package/esm/accordion-anchor-menu/index.d.ts +0 -3
  428. package/esm/accordion-anchor-menu/index.js +0 -4
  429. package/esm/accordion-anchor-menu/index.js.map +0 -1
  430. package/esm/content-container/ContentContainer.js.map +0 -1
  431. package/esm/content-container/index.d.ts +0 -2
  432. package/esm/content-container/index.js +0 -3
  433. package/esm/content-container/index.js.map +0 -1
  434. package/esm/header/Header.d.ts +0 -27
  435. package/esm/header/Header.js +0 -23
  436. package/esm/header/Header.js.map +0 -1
  437. package/esm/header/index.d.ts +0 -2
  438. package/esm/header/index.js +0 -3
  439. package/esm/header/index.js.map +0 -1
  440. package/esm/layouts/index.d.ts +0 -3
  441. package/esm/layouts/index.js +0 -4
  442. package/esm/layouts/index.js.map +0 -1
  443. package/esm/layouts/product-page/ProductPageLayout.d.ts +0 -7
  444. package/esm/layouts/product-page/ProductPageLayout.js +0 -39
  445. package/esm/layouts/product-page/ProductPageLayout.js.map +0 -1
  446. package/esm/layouts/product-page/ProductPagePanel.d.ts +0 -12
  447. package/esm/layouts/product-page/ProductPagePanel.js +0 -40
  448. package/esm/layouts/product-page/ProductPagePanel.js.map +0 -1
  449. package/esm/layouts/product-page/ProductPageSection.d.ts +0 -10
  450. package/esm/layouts/product-page/ProductPageSection.js +0 -19
  451. package/esm/layouts/product-page/ProductPageSection.js.map +0 -1
  452. package/esm/typography/Title.d.ts +0 -25
  453. package/esm/typography/Title.js.map +0 -1
  454. package/src/accordion-anchor-menu/AccordionAnchorMenu.tsx +0 -35
  455. package/src/accordion-anchor-menu/AccordionAnchorMenuCollapsable.tsx +0 -1
  456. package/src/accordion-anchor-menu/AccordionAnchorMenuItem.tsx +0 -39
  457. package/src/accordion-anchor-menu/ActiveAnchorStore.tsx +0 -73
  458. package/src/accordion-anchor-menu/index.ts +0 -3
  459. package/src/accordion-anchor-menu/stories/menu.stories.mdx +0 -14
  460. package/src/accordion-anchor-menu/stories/menu.stories.tsx +0 -125
  461. package/src/content-container/index.ts +0 -2
  462. package/src/content-container/stories/container.stories.mdx +0 -31
  463. package/src/content-container/stories/container.stories.tsx +0 -33
  464. package/src/content-container/stories/style.css +0 -15
  465. package/src/form/stories/error-uu.stories.tsx +0 -75
  466. package/src/header/Header.tsx +0 -69
  467. package/src/header/index.ts +0 -2
  468. package/src/layouts/index.ts +0 -3
  469. package/src/layouts/product-page/ProductPageLayout.tsx +0 -60
  470. package/src/layouts/product-page/ProductPagePanel.tsx +0 -72
  471. package/src/layouts/product-page/ProductPageSection.tsx +0 -46
  472. package/src/layouts/stories/components/sections/Left.tsx +0 -22
  473. package/src/layouts/stories/components/sections/Main.tsx +0 -133
  474. package/src/layouts/stories/components/sections/Right.tsx +0 -8
  475. package/src/layouts/stories/components/styles.css +0 -12
  476. package/src/layouts/stories/layout.stories.mdx +0 -8
  477. package/src/layouts/stories/product-page-layout.stories.tsx +0 -90
  478. package/src/loader/stories/demo.css +0 -18
  479. package/src/typography/Title.tsx +0 -56
@@ -1,33 +0,0 @@
1
- import * as React from "react";
2
- import { ContentContainer } from "../index";
3
- import { BodyLong } from "../../index";
4
- import "./style.css";
5
-
6
- export default {
7
- title: "ds-react/content-container",
8
- component: ContentContainer,
9
- parameters: {
10
- layout: "fullscreen",
11
- backgrounds: {
12
- default: "NAV gray",
13
- values: [
14
- {
15
- name: "NAV gray",
16
- value: "#f1f1f1",
17
- },
18
- {
19
- name: "white",
20
- value: "#ffffff",
21
- },
22
- ],
23
- },
24
- },
25
- };
26
-
27
- export const All = () => {
28
- return (
29
- <ContentContainer className={"navds-story-content-container"}>
30
- <BodyLong size="m">-- Innhold --</BodyLong>
31
- </ContentContainer>
32
- );
33
- };
@@ -1,15 +0,0 @@
1
- .navds-story-content-container {
2
- display: flex;
3
- border-radius: 0.25rem;
4
- justify-content: center;
5
- align-items: center;
6
- margin-bottom: 1.5rem;
7
- min-height: 10rem;
8
- background: repeating-linear-gradient(
9
- 45deg,
10
- #d6d6d6,
11
- #d6d6d6 10px,
12
- transparent 10px,
13
- transparent 20px
14
- );
15
- }
@@ -1,75 +0,0 @@
1
- import React, { useState } from "react";
2
- import { Fieldset } from "../index";
3
- import { Meta } from "@storybook/react/types-6-0";
4
- import { Button, Checkbox, CheckboxGroup } from "../../index";
5
- export default {
6
- title: "ds-react/form/uu-demo",
7
- component: Fieldset,
8
- } as Meta;
9
-
10
- export const Demo1 = () => {
11
- const [error, setError] = useState(undefined);
12
- const [fieldsetError, setFieldsetError] = useState(undefined);
13
- const [groupError, setGroupError] = useState(undefined);
14
- const [propagation, setPropagation] = useState(true);
15
- return (
16
- <div>
17
- <h1>Nested-erros + aria-describedby</h1>
18
- <div>
19
- <Button
20
- style={{ marginBottom: "2rem" }}
21
- onClick={() => {
22
- !!fieldsetError
23
- ? setFieldsetError(undefined)
24
- : setFieldsetError("Fieldset error message");
25
- }}
26
- >
27
- Toggle fieldset-error
28
- </Button>
29
- <Button
30
- style={{ marginBottom: "2rem" }}
31
- onClick={() => {
32
- !!groupError
33
- ? setGroupError(undefined)
34
- : setGroupError("CheckboxGroup error message");
35
- }}
36
- >
37
- Toggle checkboxgroup-error
38
- </Button>
39
- <Button
40
- style={{ marginBottom: "2rem" }}
41
- onClick={() => {
42
- !!error ? setError(undefined) : setError("Textfield error message");
43
- }}
44
- >
45
- Toggle checkbox-error
46
- </Button>
47
- <Button
48
- style={{ marginBottom: "2rem" }}
49
- onClick={() => setPropagation(!propagation)}
50
- >
51
- Toggle errorPropagation
52
- </Button>
53
- </div>
54
- <Fieldset
55
- errorId="FIELDSET-ERROR"
56
- legend="Mollit eiusmod"
57
- error={fieldsetError}
58
- >
59
- <CheckboxGroup
60
- errorId="GROUP-ERROR"
61
- errorPropagation={propagation}
62
- error={groupError}
63
- legend="checkboxgroup"
64
- hideLegend
65
- >
66
- <Checkbox>Checkbox nr 1</Checkbox>
67
- <Checkbox errorId="CHECKBOX-ERROR" error={error}>
68
- Checkbox nr 2
69
- </Checkbox>
70
- <Checkbox>Checkbox nr 3</Checkbox>
71
- </CheckboxGroup>
72
- </Fieldset>
73
- </div>
74
- );
75
- };
@@ -1,69 +0,0 @@
1
- import React, { forwardRef, HTMLAttributes } from "react";
2
- import cl from "classnames";
3
-
4
- export interface HeaderProps extends HTMLAttributes<HTMLDivElement> {
5
- /**
6
- * Header title
7
- */
8
- children: string;
9
- /**
10
- * Pictogram placed in header
11
- */
12
- illustration?: React.ReactNode;
13
- /**
14
- * Short text placed under title
15
- */
16
- description?: string;
17
- /**
18
- * Decides how to align content
19
- * @default "left"
20
- */
21
- variant?: "left" | "center";
22
- /**
23
- * Predefined theming for header
24
- * @default "guide"
25
- */
26
- theme?: "situation" | "product" | "guide";
27
- }
28
-
29
- const Header = forwardRef<HTMLDivElement, HeaderProps>(
30
- (
31
- {
32
- children,
33
- className,
34
- illustration,
35
- description,
36
- theme = "guide",
37
- variant = "left",
38
- ...rest
39
- },
40
- ref
41
- ) => {
42
- return (
43
- <div
44
- ref={ref}
45
- className={cl(
46
- "navds-header",
47
- className,
48
- `navds-header--${theme}`,
49
- `navds-header--${variant}`
50
- )}
51
- {...rest}
52
- >
53
- {illustration && (
54
- <div className="navds-header__illustration">{illustration}</div>
55
- )}
56
- <div className="navds-header__wrapper">
57
- <h1 className="navds-header__title navds-title navds-title--2xl">
58
- {children}
59
- </h1>
60
- {description && (
61
- <p className="navds-body-short navds-body--s">{description}</p>
62
- )}
63
- </div>
64
- </div>
65
- );
66
- }
67
- );
68
-
69
- export default Header;
@@ -1,2 +0,0 @@
1
- export { default as Header } from "./Header";
2
- export * from "./Header";
@@ -1,3 +0,0 @@
1
- export { default as ProductPageLayout } from "./product-page/ProductPageLayout";
2
- export { default as ProductPagePanel } from "./product-page/ProductPagePanel";
3
- export { default as ProductPageSection } from "./product-page/ProductPageSection";
@@ -1,60 +0,0 @@
1
- import cl from "classnames";
2
- import React, { Children, forwardRef, HTMLAttributes, useEffect } from "react";
3
- import { ContentContainer, Title } from "../..";
4
-
5
- const cls = (className, columns) =>
6
- cl(
7
- "navds-layout__container",
8
- `navds-layout__container--${columns}-columns`,
9
- className
10
- );
11
-
12
- export interface ProductPageLayoutProps extends HTMLAttributes<HTMLElement> {
13
- title: string;
14
- children?: React.ReactNode;
15
- }
16
-
17
- const ProductPageLayout = forwardRef<HTMLDivElement, ProductPageLayoutProps>(
18
- ({ children, title, className, ...rest }, ref) => {
19
- const columns = Children.toArray(children).length;
20
-
21
- useEffect(() => {
22
- const layoutBody = document.getElementById("navds-layout-body");
23
- layoutBody?.classList.add(`navds-layout__body--${columns}-columns`);
24
- document.body.classList.add("navds-layout__body--white");
25
- return () => {
26
- layoutBody?.classList.remove(`navds-layout__body--${columns}-columns`);
27
- document.body.classList.remove("navds-layout__body--white");
28
- };
29
- }, [columns]);
30
-
31
- return (
32
- <div ref={ref}>
33
- <div id={"navds-layout-header"} className={"navds-layout__header"}>
34
- <ContentContainer>
35
- <div className={cls(className, columns)} {...rest}>
36
- <div className={cl("navds-layout__header-content")}>
37
- <Title
38
- size="2xl"
39
- className={cl("navds-layout__header-title")}
40
- level={1}
41
- >
42
- {title}
43
- </Title>
44
- </div>
45
- </div>
46
- </ContentContainer>
47
- </div>
48
- <div id={"navds-layout-body"} className={"navds-layout__body"}>
49
- <ContentContainer>
50
- <div className={cls(className, columns)} {...rest}>
51
- {children}
52
- </div>
53
- </ContentContainer>
54
- </div>
55
- </div>
56
- );
57
- }
58
- );
59
-
60
- export default ProductPageLayout;
@@ -1,72 +0,0 @@
1
- import React, { useEffect, useRef } from "react";
2
- import { forwardRef, ReactNode } from "react";
3
- import cl from "classnames";
4
- import { Title, CopyToClipboard } from "../../";
5
- import { Attachment } from "@navikt/ds-icons";
6
-
7
- export interface ProductPagePanelProps
8
- extends React.HTMLAttributes<HTMLDivElement> {
9
- children: React.ReactNode;
10
- anchor: string;
11
- title: string;
12
- icon?: ReactNode;
13
- highlight?: boolean;
14
- whiteBackground?: boolean;
15
- }
16
-
17
- const ProductPagePanel = forwardRef<HTMLDivElement, ProductPagePanelProps>(
18
- ({ children, className, title, highlight, icon, anchor, ...rest }, ref) => {
19
- const copyRef = useRef(null);
20
-
21
- useEffect(() => {
22
- const header = document.getElementById("navds-layout-body");
23
- header?.classList.add("navds-layout__body--padding");
24
- }, []);
25
-
26
- const getLink = () => {
27
- const { href, hash } = window.location;
28
- const urlWithoutHash = href.replace(hash, "");
29
- return `${urlWithoutHash}#${anchor}`;
30
- };
31
-
32
- return (
33
- <div
34
- ref={ref}
35
- className={cl(
36
- "navds-layout__panel",
37
- icon && "navds-layout__panel--icon-margin",
38
- highlight && "navds-layout__panel--highlight",
39
- className
40
- )}
41
- {...rest}
42
- >
43
- <div className="navds-layout__panel-anchor">
44
- <div
45
- id={anchor}
46
- className={cl("navds-layout__panel-anchor--child", {
47
- "navds-layout__panel-anchor--child--icon": !!icon,
48
- })}
49
- />
50
- </div>
51
- {icon && <div className={"navds-layout__panel-icon"}>{icon}</div>}
52
- <Title size={"xl"} className={"navds-layout__panel-title"} level={2}>
53
- {title}
54
- </Title>
55
-
56
- <CopyToClipboard
57
- className="navds-layout__panel-copy"
58
- ref={copyRef}
59
- text={getLink()}
60
- label="Kopierte lenke til panel"
61
- icon={<Attachment />}
62
- >
63
- Kopier lenke
64
- </CopyToClipboard>
65
-
66
- <div className={"navds-layout__panel-content"}>{children}</div>
67
- </div>
68
- );
69
- }
70
- );
71
-
72
- export default ProductPagePanel;
@@ -1,46 +0,0 @@
1
- import React, { forwardRef, HTMLAttributes } from "react";
2
- import cl from "classnames";
3
-
4
- export interface ProductPageSectionProps
5
- extends HTMLAttributes<HTMLDivElement> {
6
- left?: boolean;
7
- right?: boolean;
8
- whiteBackground?: boolean;
9
- withPadding?: boolean;
10
- sticky?: boolean;
11
- }
12
-
13
- const ProductPageSection = forwardRef<HTMLDivElement, ProductPageSectionProps>(
14
- (
15
- {
16
- left,
17
- right,
18
- children,
19
- whiteBackground = true,
20
- withPadding = true,
21
- sticky,
22
- className,
23
- ...rest
24
- },
25
- ref
26
- ) => (
27
- <div
28
- ref={ref}
29
- className={cl(
30
- "navds-layout__section",
31
- left && "navds-layout__section--left",
32
- right && "navds-layout__section--right",
33
- !left && !right && "navds-layout__section--main",
34
- whiteBackground && "navds-layout__section--white",
35
- withPadding && "navds-layout__section--padding",
36
- sticky && "navds-layout__section--sticky",
37
- className
38
- )}
39
- {...rest}
40
- >
41
- {children}
42
- </div>
43
- )
44
- );
45
-
46
- export default ProductPageSection;
@@ -1,22 +0,0 @@
1
- import * as React from "react";
2
- import { Button, Link } from "../../../..";
3
-
4
- export const Left = () => (
5
- <ul className={"navds-story-menu"}>
6
- <li>
7
- <Link href={"#leo-quis"}>Leo quis</Link>
8
- </li>
9
- <li>
10
- <Link href={"#proin-accumsan"}>Proin accumsan</Link>
11
- </li>
12
- <li>
13
- <Link href={"#nulla-pariatur"}>Nulla pariatur?</Link>
14
- </li>
15
- <li>
16
- <Link href={"#maecenas-in-pretium"}>Maecenas in pretium</Link>
17
- </li>
18
- <li>
19
- <Button>Søk ...</Button>
20
- </li>
21
- </ul>
22
- );
@@ -1,133 +0,0 @@
1
- import * as React from "react";
2
- import { Button, Cell, Grid, Title, Link, BodyLong } from "../../../..";
3
-
4
- export const Main = ({ title = true }) => (
5
- <>
6
- <MainOne title={title} />
7
- <MainTwo title={title} />
8
- <MainThree title={title} />
9
- </>
10
- );
11
-
12
- export const MainOne = ({ title = true }) => (
13
- <div>
14
- {title && (
15
- <Title level={1} size={"xl"} id={"leo-quis"}>
16
- Leo quis
17
- </Title>
18
- )}
19
- <BodyLong>
20
- Sed ullamcorper quam eget lorem volutpat, quis cursus risus fermentum.
21
- Quisque varius ornare nulla, ut condimentum sapien dapibus non. Nullam
22
- eget interdum nibh
23
- </BodyLong>
24
- </div>
25
- );
26
-
27
- export const MainTwo = ({ title = true }) => (
28
- <div>
29
- {title && (
30
- <Title level={1} size={"xl"} id={"proin-accumsan"}>
31
- Proin accumsan
32
- </Title>
33
- )}
34
- <BodyLong className={"section"}>
35
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium
36
- doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo
37
- inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
38
- </BodyLong>
39
- <Grid className={"section"}>
40
- <Cell xs={6}>
41
- <Link href={"#"}>Ea voluptate</Link>
42
- </Cell>
43
- <Cell xs={6}>
44
- <Link href={"#"}>Quis autem</Link>
45
- </Cell>
46
- </Grid>
47
- <BodyLong className={"section"}>
48
- Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet,
49
- consectetur, adipisci velit, sed quia non numquam eius modi tempora.
50
- </BodyLong>
51
- <Title level={2} size={"l"} id={"nulla-pariatur"}>
52
- Nulla pariatur?
53
- </Title>
54
- <BodyLong className={"section"}>
55
- Etiam viverra neque sit amet libero dapibus tincidunt. Pellentesque quis
56
- imperdiet erat. Morbi sodales bibendum volutpat.
57
- </BodyLong>
58
- <table className={"section tabell tabell--stripet"}>
59
- <thead>
60
- <tr>
61
- <th>ID</th>
62
- <th>Fornavn</th>
63
- <th>Etternavn</th>
64
- <th>Rolle</th>
65
- </tr>
66
- </thead>
67
- <tbody>
68
- <tr>
69
- <td>1</td>
70
- <td>Jean-Luc</td>
71
- <td>Picard</td>
72
- <td>Kaptein</td>
73
- </tr>
74
- <tr>
75
- <td>2</td>
76
- <td>William</td>
77
- <td>Riker</td>
78
- <td>Kommandør</td>
79
- </tr>
80
- <tr>
81
- <td>3</td>
82
- <td>Geordi</td>
83
- <td>La Forge</td>
84
- <td>Sjefsingeniør</td>
85
- </tr>
86
- </tbody>
87
- </table>
88
- <BodyLong className={"section"}>
89
- Curabitur a purus pretium, condimentum magna ac, pellentesque diam. Nulla
90
- facilisi. Nullam consequat, dui sed bibendum faucibus, metus mauris
91
- commodo tortor.
92
- </BodyLong>
93
- <Title level={2} size={"l"} id={"luctus-justo"}>
94
- Luctus justo
95
- </Title>
96
- <BodyLong className={"section"}>
97
- Nunc eget consectetur felis, id scelerisque sapien. Ut id feugiat nulla,
98
- ut cursus sem. In viverra felis vitae aliquet finibus.
99
- </BodyLong>
100
- <Button>Søk ...</Button>
101
- </div>
102
- );
103
-
104
- export const MainThree = ({ title = true }) => (
105
- <div>
106
- {title && (
107
- <Title level={1} size={"xl"} id={"maecenas-in-pretium"}>
108
- Maecenas in pretium
109
- </Title>
110
- )}
111
- <BodyLong>
112
- Sed ullamcorper quam eget lorem volutpat, quis cursus risus fermentum.
113
- Quisque varius ornare nulla, ut condimentum sapien dapibus non. Nullam
114
- eget interdum nibh
115
- </BodyLong>
116
- <BodyLong>
117
- Cras tempor eros sed dapibus egestas. Curabitur bibendum quam quis lectus
118
- pretium lacinia. Nunc consequat ac augue quis laoreet. Donec porta, erat
119
- vitae blandit egestas, arcu metus pharetra nulla, et laoreet risus purus
120
- convallis turpis.
121
- </BodyLong>
122
- <BodyLong>
123
- Suspendisse potenti. Praesent at elit interdum, porttitor sem eget,
124
- blandit dolor. Nunc eget consectetur felis, id scelerisque sapien. Ut id
125
- feugiat nulla, ut cursus sem. In viverra felis vitae aliquet finibus.
126
- </BodyLong>
127
- <BodyLong>
128
- Vivamus id mi lectus. Duis ac augue magna. Aliquam ut euismod dui. Duis
129
- consectetur, magna a malesuada tempus, elit urna fermentum arcu, at
130
- porttitor magna sapien id enim.
131
- </BodyLong>
132
- </div>
133
- );