@dnb/eufemia 9.18.0 → 9.19.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 (499) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/cjs/components/Avatar.d.ts +14 -0
  3. package/cjs/components/Avatar.js +52 -0
  4. package/cjs/components/InfoCard.d.ts +14 -0
  5. package/cjs/components/InfoCard.js +52 -0
  6. package/cjs/components/Timeline.d.ts +14 -0
  7. package/cjs/components/Timeline.js +52 -0
  8. package/cjs/components/autocomplete/Autocomplete.d.ts +2 -2
  9. package/cjs/components/avatar/Avatar.js +149 -0
  10. package/cjs/components/avatar/AvatarGroup.js +131 -0
  11. package/cjs/components/avatar/index.d.ts +8 -0
  12. package/cjs/components/avatar/index.js +52 -0
  13. package/cjs/components/avatar/style/_avatar.scss +145 -0
  14. package/cjs/components/avatar/style/dnb-avatar.css +218 -0
  15. package/cjs/components/avatar/style/dnb-avatar.min.css +1 -0
  16. package/cjs/components/avatar/style/dnb-avatar.scss +12 -0
  17. package/cjs/components/avatar/style/index.d.ts +6 -0
  18. package/cjs/components/avatar/style/index.js +3 -0
  19. package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.css +36 -0
  20. package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -0
  21. package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.scss +29 -0
  22. package/cjs/components/avatar/style/themes/ui.js +3 -0
  23. package/cjs/components/avatar/style.js +3 -0
  24. package/cjs/components/breadcrumb/BreadcrumbItem.js +3 -3
  25. package/cjs/components/button/Button.d.ts +1 -1
  26. package/cjs/components/button/Button.js +1 -1
  27. package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +3 -0
  28. package/cjs/components/date-picker/DatePicker.js +4 -2
  29. package/cjs/components/date-picker/DatePickerFooter.d.ts +1 -0
  30. package/cjs/components/date-picker/DatePickerFooter.js +10 -6
  31. package/cjs/components/dropdown/Dropdown.d.ts +4 -3
  32. package/cjs/components/form-label/FormLabel.d.ts +1 -1
  33. package/cjs/components/heading/Heading.d.ts +2 -2
  34. package/cjs/components/heading/HeadingProvider.d.ts +2 -2
  35. package/cjs/components/help-button/HelpButton.d.ts +1 -1
  36. package/cjs/components/help-button/HelpButtonInstance.d.ts +3 -2
  37. package/cjs/components/icon/Icon.d.ts +1 -1
  38. package/cjs/components/icon-primary/IconPrimary.d.ts +1 -1
  39. package/cjs/components/index.d.ts +6 -0
  40. package/cjs/components/index.js +24 -0
  41. package/cjs/components/info-card/InfoCard.js +180 -0
  42. package/cjs/components/info-card/index.d.ts +8 -0
  43. package/cjs/components/info-card/index.js +52 -0
  44. package/cjs/components/info-card/style/_info-card.scss +52 -0
  45. package/cjs/components/info-card/style/dnb-info-card.css +135 -0
  46. package/cjs/components/info-card/style/dnb-info-card.min.css +1 -0
  47. package/cjs/components/info-card/style/dnb-info-card.scss +12 -0
  48. package/cjs/components/info-card/style/index.d.ts +6 -0
  49. package/cjs/components/info-card/style/index.js +3 -0
  50. package/cjs/components/info-card/style.js +3 -0
  51. package/cjs/components/input/Input.d.ts +2 -1
  52. package/cjs/components/lib.js +27 -0
  53. package/cjs/components/number-format/NumberFormat.d.ts +2 -2
  54. package/cjs/components/pagination/Pagination.js +11 -1
  55. package/cjs/components/radio/Radio.d.ts +1 -1
  56. package/cjs/components/radio/RadioGroup.d.ts +1 -1
  57. package/cjs/components/slider/Slider.d.ts +1 -1
  58. package/cjs/components/step-indicator/StepIndicator.d.ts +3 -3
  59. package/cjs/components/step-indicator/StepIndicatorContext.d.ts +1 -1
  60. package/cjs/components/step-indicator/StepIndicatorItem.d.ts +1 -1
  61. package/cjs/components/step-indicator/StepIndicatorSidebar.d.ts +3 -3
  62. package/cjs/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
  63. package/cjs/components/switch/Switch.d.ts +1 -1
  64. package/cjs/components/tabs/Tabs.d.ts +4 -4
  65. package/cjs/components/tabs/TabsContentWrapper.d.ts +1 -1
  66. package/cjs/components/tabs/TabsCustomContent.d.ts +1 -1
  67. package/cjs/components/tag/Tag.js +85 -25
  68. package/cjs/components/tag/TagContext.js +14 -0
  69. package/cjs/components/tag/TagGroup.js +123 -0
  70. package/cjs/components/tag/style/_tag.scss +80 -16
  71. package/cjs/components/tag/style/dnb-tag.css +849 -33
  72. package/cjs/components/tag/style/dnb-tag.min.css +1 -1
  73. package/cjs/components/tag/style/dnb-tag.scss +3 -0
  74. package/cjs/components/tag/style/themes/_tag-mixins.scss +18 -0
  75. package/cjs/components/timeline/Timeline.js +129 -0
  76. package/cjs/components/timeline/TimelineItem.js +149 -0
  77. package/cjs/components/timeline/index.d.ts +8 -0
  78. package/cjs/components/timeline/index.js +52 -0
  79. package/cjs/components/timeline/style/_timeline.scss +42 -0
  80. package/cjs/components/timeline/style/dnb-timeline.css +307 -0
  81. package/cjs/components/timeline/style/dnb-timeline.min.css +1 -0
  82. package/cjs/components/timeline/style/dnb-timeline.scss +12 -0
  83. package/cjs/components/timeline/style/index.d.ts +6 -0
  84. package/cjs/components/timeline/style/index.js +3 -0
  85. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.css +185 -0
  86. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -0
  87. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.scss +105 -0
  88. package/cjs/components/timeline/style/themes/ui.js +3 -0
  89. package/cjs/components/timeline/style.js +3 -0
  90. package/cjs/components/toggle-button/ToggleButton.d.ts +2 -2
  91. package/cjs/components/toggle-button/ToggleButtonGroup.d.ts +1 -1
  92. package/cjs/elements/Img.d.ts +2 -2
  93. package/cjs/extensions/payment-card/PaymentCard.d.ts +1 -1
  94. package/cjs/extensions/payment-card/style/_payment-card.scss +0 -1
  95. package/cjs/extensions/payment-card/style/dnb-payment-card.css +0 -1
  96. package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  97. package/cjs/fragments/drawer-list/DrawerListProvider.js +1 -0
  98. package/cjs/index.d.ts +6 -0
  99. package/cjs/index.js +24 -0
  100. package/cjs/shared/Context.js +10 -4
  101. package/cjs/shared/locales/en-GB.js +5 -0
  102. package/cjs/shared/locales/nb-NO.js +5 -0
  103. package/cjs/style/dnb-ui-components.css +710 -34
  104. package/cjs/style/dnb-ui-components.min.css +3 -3
  105. package/cjs/style/dnb-ui-components.scss +3 -0
  106. package/cjs/style/dnb-ui-elements.css +3 -0
  107. package/cjs/style/dnb-ui-elements.min.css +1 -1
  108. package/cjs/style/dnb-ui-extensions.css +0 -1
  109. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  110. package/cjs/style/dnb-ui-tags.css +6 -0
  111. package/cjs/style/dnb-ui-tags.min.css +2 -2
  112. package/cjs/style/elements/code.scss +3 -0
  113. package/cjs/style/themes/theme-open-banking/dnb-theme-open-banking.css +226 -0
  114. package/cjs/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
  115. package/cjs/style/themes/theme-ui/dnb-theme-ui.css +226 -0
  116. package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
  117. package/cjs/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
  118. package/components/Avatar.d.ts +14 -0
  119. package/components/Avatar.js +3 -0
  120. package/components/InfoCard.d.ts +14 -0
  121. package/components/InfoCard.js +3 -0
  122. package/components/Timeline.d.ts +14 -0
  123. package/components/Timeline.js +3 -0
  124. package/components/autocomplete/Autocomplete.d.ts +2 -2
  125. package/components/avatar/Avatar.js +89 -0
  126. package/components/avatar/Avatar.tsx +163 -0
  127. package/components/avatar/AvatarGroup.js +94 -0
  128. package/components/avatar/AvatarGroup.tsx +167 -0
  129. package/components/avatar/index.d.ts +8 -0
  130. package/components/avatar/index.js +3 -0
  131. package/components/avatar/style/_avatar.scss +145 -0
  132. package/components/avatar/style/dnb-avatar.css +218 -0
  133. package/components/avatar/style/dnb-avatar.min.css +1 -0
  134. package/components/avatar/style/dnb-avatar.scss +12 -0
  135. package/components/avatar/style/index.d.ts +6 -0
  136. package/components/avatar/style/index.js +1 -0
  137. package/components/avatar/style/themes/dnb-avatar-theme-ui.css +36 -0
  138. package/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -0
  139. package/components/avatar/style/themes/dnb-avatar-theme-ui.scss +29 -0
  140. package/components/avatar/style/themes/ui.js +1 -0
  141. package/components/avatar/style.js +1 -0
  142. package/components/breadcrumb/BreadcrumbItem.js +3 -3
  143. package/components/breadcrumb/BreadcrumbItem.tsx +2 -2
  144. package/components/button/Button.js +1 -1
  145. package/components/button/style/themes/dnb-button-theme-ui.scss +3 -0
  146. package/components/date-picker/DatePicker.js +4 -2
  147. package/components/date-picker/DatePickerFooter.d.ts +1 -0
  148. package/components/date-picker/DatePickerFooter.js +10 -6
  149. package/components/dropdown/Dropdown.d.ts +4 -3
  150. package/components/form-label/FormLabel.d.ts +1 -1
  151. package/components/heading/Heading.d.ts +2 -2
  152. package/components/heading/HeadingProvider.d.ts +2 -2
  153. package/components/help-button/HelpButton.d.ts +1 -1
  154. package/components/help-button/HelpButtonInstance.d.ts +3 -2
  155. package/components/icon/Icon.d.ts +1 -1
  156. package/components/index.d.ts +6 -0
  157. package/components/index.js +4 -1
  158. package/components/info-card/InfoCard.js +140 -0
  159. package/components/info-card/InfoCard.tsx +249 -0
  160. package/components/info-card/index.d.ts +8 -0
  161. package/components/info-card/index.js +3 -0
  162. package/components/info-card/style/_info-card.scss +52 -0
  163. package/components/info-card/style/dnb-info-card.css +135 -0
  164. package/components/info-card/style/dnb-info-card.min.css +1 -0
  165. package/components/info-card/style/dnb-info-card.scss +12 -0
  166. package/components/info-card/style/index.d.ts +6 -0
  167. package/components/info-card/style/index.js +1 -0
  168. package/components/info-card/style.js +1 -0
  169. package/components/input/Input.d.ts +2 -1
  170. package/components/lib.js +7 -1
  171. package/components/number-format/NumberFormat.d.ts +2 -2
  172. package/components/pagination/Pagination.js +7 -0
  173. package/components/radio/Radio.d.ts +1 -1
  174. package/components/radio/RadioGroup.d.ts +1 -1
  175. package/components/slider/Slider.d.ts +1 -1
  176. package/components/step-indicator/StepIndicator.d.ts +3 -3
  177. package/components/step-indicator/StepIndicatorContext.d.ts +1 -1
  178. package/components/step-indicator/StepIndicatorItem.d.ts +1 -1
  179. package/components/step-indicator/StepIndicatorSidebar.d.ts +3 -3
  180. package/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
  181. package/components/switch/Switch.d.ts +1 -1
  182. package/components/tabs/Tabs.d.ts +4 -4
  183. package/components/tabs/TabsContentWrapper.d.ts +1 -1
  184. package/components/tabs/TabsCustomContent.d.ts +1 -1
  185. package/components/tag/Tag.js +84 -25
  186. package/components/tag/Tag.tsx +133 -34
  187. package/components/tag/TagContext.js +2 -0
  188. package/components/tag/TagContext.tsx +3 -0
  189. package/components/tag/TagGroup.js +60 -0
  190. package/components/tag/TagGroup.tsx +80 -0
  191. package/components/tag/style/_tag.scss +80 -16
  192. package/components/tag/style/dnb-tag.css +849 -33
  193. package/components/tag/style/dnb-tag.min.css +1 -1
  194. package/components/tag/style/dnb-tag.scss +3 -0
  195. package/components/tag/style/themes/_tag-mixins.scss +18 -0
  196. package/components/timeline/Timeline.js +57 -0
  197. package/components/timeline/Timeline.tsx +91 -0
  198. package/components/timeline/TimelineItem.js +112 -0
  199. package/components/timeline/TimelineItem.tsx +193 -0
  200. package/components/timeline/index.d.ts +8 -0
  201. package/components/timeline/index.js +3 -0
  202. package/components/timeline/style/_timeline.scss +42 -0
  203. package/components/timeline/style/dnb-timeline.css +307 -0
  204. package/components/timeline/style/dnb-timeline.min.css +1 -0
  205. package/components/timeline/style/dnb-timeline.scss +12 -0
  206. package/components/timeline/style/index.d.ts +6 -0
  207. package/components/timeline/style/index.js +1 -0
  208. package/components/timeline/style/themes/dnb-timeline-theme-ui.css +185 -0
  209. package/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -0
  210. package/components/timeline/style/themes/dnb-timeline-theme-ui.scss +105 -0
  211. package/components/timeline/style/themes/ui.js +1 -0
  212. package/components/timeline/style.js +1 -0
  213. package/components/toggle-button/ToggleButton.d.ts +2 -2
  214. package/components/toggle-button/ToggleButtonGroup.d.ts +1 -1
  215. package/elements/Img.d.ts +1 -1
  216. package/es/components/Avatar.d.ts +14 -0
  217. package/es/components/Avatar.js +3 -0
  218. package/es/components/InfoCard.d.ts +14 -0
  219. package/es/components/InfoCard.js +3 -0
  220. package/es/components/Timeline.d.ts +14 -0
  221. package/es/components/Timeline.js +3 -0
  222. package/es/components/autocomplete/Autocomplete.d.ts +2 -2
  223. package/es/components/avatar/Avatar.js +83 -0
  224. package/es/components/avatar/Avatar.tsx +163 -0
  225. package/es/components/avatar/AvatarGroup.js +89 -0
  226. package/es/components/avatar/AvatarGroup.tsx +167 -0
  227. package/es/components/avatar/index.d.ts +8 -0
  228. package/es/components/avatar/index.js +3 -0
  229. package/es/components/avatar/style/_avatar.scss +145 -0
  230. package/es/components/avatar/style/dnb-avatar.css +218 -0
  231. package/es/components/avatar/style/dnb-avatar.min.css +1 -0
  232. package/es/components/avatar/style/dnb-avatar.scss +12 -0
  233. package/es/components/avatar/style/index.d.ts +6 -0
  234. package/es/components/avatar/style/index.js +1 -0
  235. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.css +36 -0
  236. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -0
  237. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.scss +29 -0
  238. package/es/components/avatar/style/themes/ui.js +1 -0
  239. package/es/components/avatar/style.js +1 -0
  240. package/es/components/breadcrumb/BreadcrumbItem.js +3 -3
  241. package/es/components/breadcrumb/BreadcrumbItem.tsx +2 -2
  242. package/es/components/button/Button.d.ts +1 -1
  243. package/es/components/button/Button.js +1 -1
  244. package/es/components/button/style/themes/dnb-button-theme-ui.scss +3 -0
  245. package/es/components/date-picker/DatePicker.js +4 -2
  246. package/es/components/date-picker/DatePickerFooter.d.ts +1 -0
  247. package/es/components/date-picker/DatePickerFooter.js +9 -6
  248. package/es/components/dropdown/Dropdown.d.ts +4 -3
  249. package/es/components/form-label/FormLabel.d.ts +1 -1
  250. package/es/components/heading/Heading.d.ts +2 -2
  251. package/es/components/heading/HeadingProvider.d.ts +2 -2
  252. package/es/components/help-button/HelpButton.d.ts +1 -1
  253. package/es/components/help-button/HelpButtonInstance.d.ts +3 -2
  254. package/es/components/icon/Icon.d.ts +1 -1
  255. package/es/components/icon-primary/IconPrimary.d.ts +1 -1
  256. package/es/components/index.d.ts +6 -0
  257. package/es/components/index.js +4 -1
  258. package/es/components/info-card/InfoCard.js +135 -0
  259. package/es/components/info-card/InfoCard.tsx +249 -0
  260. package/es/components/info-card/index.d.ts +8 -0
  261. package/es/components/info-card/index.js +3 -0
  262. package/es/components/info-card/style/_info-card.scss +52 -0
  263. package/es/components/info-card/style/dnb-info-card.css +135 -0
  264. package/es/components/info-card/style/dnb-info-card.min.css +1 -0
  265. package/es/components/info-card/style/dnb-info-card.scss +12 -0
  266. package/es/components/info-card/style/index.d.ts +6 -0
  267. package/es/components/info-card/style/index.js +1 -0
  268. package/es/components/info-card/style.js +1 -0
  269. package/es/components/input/Input.d.ts +2 -1
  270. package/es/components/lib.js +7 -1
  271. package/es/components/number-format/NumberFormat.d.ts +2 -2
  272. package/es/components/pagination/Pagination.js +3 -0
  273. package/es/components/radio/Radio.d.ts +1 -1
  274. package/es/components/radio/RadioGroup.d.ts +1 -1
  275. package/es/components/slider/Slider.d.ts +1 -1
  276. package/es/components/step-indicator/StepIndicator.d.ts +3 -3
  277. package/es/components/step-indicator/StepIndicatorContext.d.ts +1 -1
  278. package/es/components/step-indicator/StepIndicatorItem.d.ts +1 -1
  279. package/es/components/step-indicator/StepIndicatorSidebar.d.ts +3 -3
  280. package/es/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
  281. package/es/components/switch/Switch.d.ts +1 -1
  282. package/es/components/tabs/Tabs.d.ts +4 -4
  283. package/es/components/tabs/TabsContentWrapper.d.ts +1 -1
  284. package/es/components/tabs/TabsCustomContent.d.ts +1 -1
  285. package/es/components/tag/Tag.js +83 -26
  286. package/es/components/tag/Tag.tsx +133 -34
  287. package/es/components/tag/TagContext.js +2 -0
  288. package/es/components/tag/TagContext.tsx +3 -0
  289. package/es/components/tag/TagGroup.js +53 -0
  290. package/es/components/tag/TagGroup.tsx +80 -0
  291. package/es/components/tag/style/_tag.scss +80 -16
  292. package/es/components/tag/style/dnb-tag.css +849 -33
  293. package/es/components/tag/style/dnb-tag.min.css +1 -1
  294. package/es/components/tag/style/dnb-tag.scss +3 -0
  295. package/es/components/tag/style/themes/_tag-mixins.scss +18 -0
  296. package/es/components/timeline/Timeline.js +48 -0
  297. package/es/components/timeline/Timeline.tsx +91 -0
  298. package/es/components/timeline/TimelineItem.js +111 -0
  299. package/es/components/timeline/TimelineItem.tsx +193 -0
  300. package/es/components/timeline/index.d.ts +8 -0
  301. package/es/components/timeline/index.js +3 -0
  302. package/es/components/timeline/style/_timeline.scss +42 -0
  303. package/es/components/timeline/style/dnb-timeline.css +307 -0
  304. package/es/components/timeline/style/dnb-timeline.min.css +1 -0
  305. package/es/components/timeline/style/dnb-timeline.scss +12 -0
  306. package/es/components/timeline/style/index.d.ts +6 -0
  307. package/es/components/timeline/style/index.js +1 -0
  308. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.css +185 -0
  309. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -0
  310. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.scss +105 -0
  311. package/es/components/timeline/style/themes/ui.js +1 -0
  312. package/es/components/timeline/style.js +1 -0
  313. package/es/components/toggle-button/ToggleButton.d.ts +2 -2
  314. package/es/components/toggle-button/ToggleButtonGroup.d.ts +1 -1
  315. package/es/elements/Img.d.ts +2 -2
  316. package/es/extensions/payment-card/PaymentCard.d.ts +1 -1
  317. package/es/extensions/payment-card/style/_payment-card.scss +0 -1
  318. package/es/extensions/payment-card/style/dnb-payment-card.css +0 -1
  319. package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  320. package/es/fragments/drawer-list/DrawerListProvider.js +1 -0
  321. package/es/index.d.ts +6 -0
  322. package/es/index.js +4 -1
  323. package/es/shared/Context.js +10 -4
  324. package/es/shared/locales/en-GB.js +5 -0
  325. package/es/shared/locales/nb-NO.js +5 -0
  326. package/es/style/dnb-ui-components.css +710 -34
  327. package/es/style/dnb-ui-components.min.css +3 -3
  328. package/es/style/dnb-ui-components.scss +3 -0
  329. package/es/style/dnb-ui-elements.css +3 -0
  330. package/es/style/dnb-ui-elements.min.css +1 -1
  331. package/es/style/dnb-ui-extensions.css +0 -1
  332. package/es/style/dnb-ui-extensions.min.css +1 -1
  333. package/es/style/dnb-ui-tags.css +6 -0
  334. package/es/style/dnb-ui-tags.min.css +2 -2
  335. package/es/style/elements/code.scss +3 -0
  336. package/es/style/themes/theme-open-banking/dnb-theme-open-banking.css +226 -0
  337. package/es/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
  338. package/es/style/themes/theme-ui/dnb-theme-ui.css +226 -0
  339. package/es/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
  340. package/es/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
  341. package/esm/components/Avatar.d.ts +14 -0
  342. package/esm/components/Avatar.js +3 -0
  343. package/esm/components/InfoCard.d.ts +14 -0
  344. package/esm/components/InfoCard.js +3 -0
  345. package/esm/components/Timeline.d.ts +14 -0
  346. package/esm/components/Timeline.js +3 -0
  347. package/esm/components/autocomplete/Autocomplete.d.ts +2 -2
  348. package/esm/components/avatar/Avatar.js +89 -0
  349. package/esm/components/avatar/Avatar.tsx +163 -0
  350. package/esm/components/avatar/AvatarGroup.js +94 -0
  351. package/esm/components/avatar/AvatarGroup.tsx +167 -0
  352. package/esm/components/avatar/index.d.ts +8 -0
  353. package/esm/components/avatar/index.js +3 -0
  354. package/esm/components/avatar/style/_avatar.scss +145 -0
  355. package/esm/components/avatar/style/dnb-avatar.css +218 -0
  356. package/esm/components/avatar/style/dnb-avatar.min.css +1 -0
  357. package/esm/components/avatar/style/dnb-avatar.scss +12 -0
  358. package/esm/components/avatar/style/index.d.ts +6 -0
  359. package/esm/components/avatar/style/index.js +1 -0
  360. package/esm/components/avatar/style/themes/dnb-avatar-theme-ui.css +36 -0
  361. package/esm/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -0
  362. package/esm/components/avatar/style/themes/dnb-avatar-theme-ui.scss +29 -0
  363. package/esm/components/avatar/style/themes/ui.js +1 -0
  364. package/esm/components/avatar/style.js +1 -0
  365. package/esm/components/breadcrumb/BreadcrumbItem.js +3 -3
  366. package/esm/components/breadcrumb/BreadcrumbItem.tsx +2 -2
  367. package/esm/components/button/Button.js +1 -1
  368. package/esm/components/button/style/themes/dnb-button-theme-ui.scss +3 -0
  369. package/esm/components/date-picker/DatePicker.js +4 -2
  370. package/esm/components/date-picker/DatePickerFooter.d.ts +1 -0
  371. package/esm/components/date-picker/DatePickerFooter.js +10 -6
  372. package/esm/components/dropdown/Dropdown.d.ts +4 -3
  373. package/esm/components/form-label/FormLabel.d.ts +1 -1
  374. package/esm/components/heading/Heading.d.ts +2 -2
  375. package/esm/components/heading/HeadingProvider.d.ts +2 -2
  376. package/esm/components/help-button/HelpButton.d.ts +1 -1
  377. package/esm/components/help-button/HelpButtonInstance.d.ts +3 -2
  378. package/esm/components/icon/Icon.d.ts +1 -1
  379. package/esm/components/index.d.ts +6 -0
  380. package/esm/components/index.js +4 -1
  381. package/esm/components/info-card/InfoCard.js +140 -0
  382. package/esm/components/info-card/InfoCard.tsx +249 -0
  383. package/esm/components/info-card/index.d.ts +8 -0
  384. package/esm/components/info-card/index.js +3 -0
  385. package/esm/components/info-card/style/_info-card.scss +52 -0
  386. package/esm/components/info-card/style/dnb-info-card.css +135 -0
  387. package/esm/components/info-card/style/dnb-info-card.min.css +1 -0
  388. package/esm/components/info-card/style/dnb-info-card.scss +12 -0
  389. package/esm/components/info-card/style/index.d.ts +6 -0
  390. package/esm/components/info-card/style/index.js +1 -0
  391. package/esm/components/info-card/style.js +1 -0
  392. package/esm/components/input/Input.d.ts +2 -1
  393. package/esm/components/lib.js +7 -1
  394. package/esm/components/number-format/NumberFormat.d.ts +2 -2
  395. package/esm/components/pagination/Pagination.js +7 -0
  396. package/esm/components/radio/Radio.d.ts +1 -1
  397. package/esm/components/radio/RadioGroup.d.ts +1 -1
  398. package/esm/components/slider/Slider.d.ts +1 -1
  399. package/esm/components/step-indicator/StepIndicator.d.ts +3 -3
  400. package/esm/components/step-indicator/StepIndicatorContext.d.ts +1 -1
  401. package/esm/components/step-indicator/StepIndicatorItem.d.ts +1 -1
  402. package/esm/components/step-indicator/StepIndicatorSidebar.d.ts +3 -3
  403. package/esm/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
  404. package/esm/components/switch/Switch.d.ts +1 -1
  405. package/esm/components/tabs/Tabs.d.ts +4 -4
  406. package/esm/components/tabs/TabsContentWrapper.d.ts +1 -1
  407. package/esm/components/tabs/TabsCustomContent.d.ts +1 -1
  408. package/esm/components/tag/Tag.js +84 -25
  409. package/esm/components/tag/Tag.tsx +133 -34
  410. package/esm/components/tag/TagContext.js +2 -0
  411. package/esm/components/tag/TagContext.tsx +3 -0
  412. package/esm/components/tag/TagGroup.js +60 -0
  413. package/esm/components/tag/TagGroup.tsx +80 -0
  414. package/esm/components/tag/style/_tag.scss +80 -16
  415. package/esm/components/tag/style/dnb-tag.css +849 -33
  416. package/esm/components/tag/style/dnb-tag.min.css +1 -1
  417. package/esm/components/tag/style/dnb-tag.scss +3 -0
  418. package/esm/components/tag/style/themes/_tag-mixins.scss +18 -0
  419. package/esm/components/timeline/Timeline.js +57 -0
  420. package/esm/components/timeline/Timeline.tsx +91 -0
  421. package/esm/components/timeline/TimelineItem.js +112 -0
  422. package/esm/components/timeline/TimelineItem.tsx +193 -0
  423. package/esm/components/timeline/index.d.ts +8 -0
  424. package/esm/components/timeline/index.js +3 -0
  425. package/esm/components/timeline/style/_timeline.scss +42 -0
  426. package/esm/components/timeline/style/dnb-timeline.css +307 -0
  427. package/esm/components/timeline/style/dnb-timeline.min.css +1 -0
  428. package/esm/components/timeline/style/dnb-timeline.scss +12 -0
  429. package/esm/components/timeline/style/index.d.ts +6 -0
  430. package/esm/components/timeline/style/index.js +1 -0
  431. package/esm/components/timeline/style/themes/dnb-timeline-theme-ui.css +185 -0
  432. package/esm/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -0
  433. package/esm/components/timeline/style/themes/dnb-timeline-theme-ui.scss +105 -0
  434. package/esm/components/timeline/style/themes/ui.js +1 -0
  435. package/esm/components/timeline/style.js +1 -0
  436. package/esm/components/toggle-button/ToggleButton.d.ts +2 -2
  437. package/esm/components/toggle-button/ToggleButtonGroup.d.ts +1 -1
  438. package/esm/dnb-ui-components.min.mjs +4 -4
  439. package/esm/dnb-ui-elements.min.mjs +1 -1
  440. package/esm/dnb-ui-extensions.min.mjs +3 -3
  441. package/esm/dnb-ui-lib.min.mjs +4 -4
  442. package/esm/dnb-ui-web-components.min.mjs +4 -4
  443. package/esm/elements/Img.d.ts +1 -1
  444. package/esm/extensions/payment-card/PaymentCard.d.ts +1 -1
  445. package/esm/extensions/payment-card/style/_payment-card.scss +0 -1
  446. package/esm/extensions/payment-card/style/dnb-payment-card.css +0 -1
  447. package/esm/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  448. package/esm/fragments/drawer-list/DrawerListProvider.js +1 -0
  449. package/esm/index.d.ts +6 -0
  450. package/esm/index.js +4 -1
  451. package/esm/shared/Context.js +10 -4
  452. package/esm/shared/locales/en-GB.js +5 -0
  453. package/esm/shared/locales/nb-NO.js +5 -0
  454. package/esm/style/dnb-ui-components.css +710 -34
  455. package/esm/style/dnb-ui-components.min.css +3 -3
  456. package/esm/style/dnb-ui-components.scss +3 -0
  457. package/esm/style/dnb-ui-elements.css +3 -0
  458. package/esm/style/dnb-ui-elements.min.css +1 -1
  459. package/esm/style/dnb-ui-extensions.css +0 -1
  460. package/esm/style/dnb-ui-extensions.min.css +1 -1
  461. package/esm/style/dnb-ui-tags.css +6 -0
  462. package/esm/style/dnb-ui-tags.min.css +2 -2
  463. package/esm/style/elements/code.scss +3 -0
  464. package/esm/style/themes/theme-open-banking/dnb-theme-open-banking.css +226 -0
  465. package/esm/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
  466. package/esm/style/themes/theme-ui/dnb-theme-ui.css +226 -0
  467. package/esm/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
  468. package/esm/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
  469. package/extensions/payment-card/PaymentCard.d.ts +1 -1
  470. package/extensions/payment-card/style/_payment-card.scss +0 -1
  471. package/extensions/payment-card/style/dnb-payment-card.css +0 -1
  472. package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  473. package/fragments/drawer-list/DrawerListProvider.js +1 -0
  474. package/index.d.ts +6 -0
  475. package/index.js +4 -1
  476. package/package.json +2 -3
  477. package/shared/Context.js +10 -4
  478. package/shared/locales/en-GB.js +5 -0
  479. package/shared/locales/nb-NO.js +5 -0
  480. package/style/dnb-ui-components.css +710 -34
  481. package/style/dnb-ui-components.min.css +3 -3
  482. package/style/dnb-ui-components.scss +3 -0
  483. package/style/dnb-ui-elements.css +3 -0
  484. package/style/dnb-ui-elements.min.css +1 -1
  485. package/style/dnb-ui-extensions.css +0 -1
  486. package/style/dnb-ui-extensions.min.css +1 -1
  487. package/style/dnb-ui-tags.css +6 -0
  488. package/style/dnb-ui-tags.min.css +2 -2
  489. package/style/elements/code.scss +3 -0
  490. package/style/themes/theme-open-banking/dnb-theme-open-banking.css +226 -0
  491. package/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
  492. package/style/themes/theme-ui/dnb-theme-ui.css +226 -0
  493. package/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
  494. package/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
  495. package/umd/dnb-ui-components.min.js +5 -5
  496. package/umd/dnb-ui-elements.min.js +3 -3
  497. package/umd/dnb-ui-extensions.min.js +3 -3
  498. package/umd/dnb-ui-lib.min.js +5 -5
  499. package/umd/dnb-ui-web-components.min.js +5 -5
@@ -15,6 +15,12 @@ Object.defineProperty(exports, "Autocomplete", {
15
15
  return _Autocomplete.default;
16
16
  }
17
17
  });
18
+ Object.defineProperty(exports, "Avatar", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _Avatar.default;
22
+ }
23
+ });
18
24
  Object.defineProperty(exports, "Breadcrumb", {
19
25
  enumerable: true,
20
26
  get: function get() {
@@ -105,6 +111,12 @@ Object.defineProperty(exports, "IconPrimary", {
105
111
  return _IconPrimary.default;
106
112
  }
107
113
  });
114
+ Object.defineProperty(exports, "InfoCard", {
115
+ enumerable: true,
116
+ get: function get() {
117
+ return _InfoCard.default;
118
+ }
119
+ });
108
120
  Object.defineProperty(exports, "Input", {
109
121
  enumerable: true,
110
122
  get: function get() {
@@ -207,6 +219,12 @@ Object.defineProperty(exports, "Textarea", {
207
219
  return _Textarea.default;
208
220
  }
209
221
  });
222
+ Object.defineProperty(exports, "Timeline", {
223
+ enumerable: true,
224
+ get: function get() {
225
+ return _Timeline.default;
226
+ }
227
+ });
210
228
  Object.defineProperty(exports, "ToggleButton", {
211
229
  enumerable: true,
212
230
  get: function get() {
@@ -227,6 +245,8 @@ var _Accordion = _interopRequireDefault(require("./accordion/Accordion"));
227
245
 
228
246
  var _Autocomplete = _interopRequireDefault(require("./autocomplete/Autocomplete"));
229
247
 
248
+ var _Avatar = _interopRequireDefault(require("./avatar/Avatar"));
249
+
230
250
  var _Breadcrumb = _interopRequireDefault(require("./breadcrumb/Breadcrumb"));
231
251
 
232
252
  var _Button = _interopRequireDefault(require("./button/Button"));
@@ -257,6 +277,8 @@ var _Icon = _interopRequireDefault(require("./icon/Icon"));
257
277
 
258
278
  var _IconPrimary = _interopRequireDefault(require("./icon-primary/IconPrimary"));
259
279
 
280
+ var _InfoCard = _interopRequireDefault(require("./info-card/InfoCard"));
281
+
260
282
  var _Input = _interopRequireDefault(require("./input/Input"));
261
283
 
262
284
  var _InputMasked = _interopRequireDefault(require("./input-masked/InputMasked"));
@@ -291,6 +313,8 @@ var _Tag = _interopRequireDefault(require("./tag/Tag"));
291
313
 
292
314
  var _Textarea = _interopRequireDefault(require("./textarea/Textarea"));
293
315
 
316
+ var _Timeline = _interopRequireDefault(require("./timeline/Timeline"));
317
+
294
318
  var _ToggleButton = _interopRequireDefault(require("./toggle-button/ToggleButton"));
295
319
 
296
320
  var _Tooltip = _interopRequireDefault(require("./tooltip/Tooltip"));
@@ -301,6 +325,7 @@ var getComponents = function getComponents() {
301
325
  return {
302
326
  Accordion: _Accordion.default,
303
327
  Autocomplete: _Autocomplete.default,
328
+ Avatar: _Avatar.default,
304
329
  Breadcrumb: _Breadcrumb.default,
305
330
  Button: _Button.default,
306
331
  Checkbox: _Checkbox.default,
@@ -316,6 +341,7 @@ var getComponents = function getComponents() {
316
341
  HelpButton: _HelpButton.default,
317
342
  Icon: _Icon.default,
318
343
  IconPrimary: _IconPrimary.default,
344
+ InfoCard: _InfoCard.default,
319
345
  Input: _Input.default,
320
346
  InputMasked: _InputMasked.default,
321
347
  Logo: _Logo.default,
@@ -333,6 +359,7 @@ var getComponents = function getComponents() {
333
359
  Tabs: _Tabs.default,
334
360
  Tag: _Tag.default,
335
361
  Textarea: _Textarea.default,
362
+ Timeline: _Timeline.default,
336
363
  ToggleButton: _ToggleButton.default,
337
364
  Tooltip: _Tooltip.default
338
365
  };
@@ -68,7 +68,7 @@ export interface NumberFormatProps extends React.HTMLProps<HTMLElement> {
68
68
  id?: string;
69
69
 
70
70
  /**
71
- * A number.
71
+ * <em>(required)</em> a number.
72
72
  */
73
73
  value?: NumberFormatValue;
74
74
 
@@ -215,7 +215,7 @@ export interface NumberFormatProps extends React.HTMLProps<HTMLElement> {
215
215
  className?: string;
216
216
 
217
217
  /**
218
- * A number.
218
+ * <em>(required)</em> a number.
219
219
  */
220
220
  children?: NumberFormatChildren;
221
221
  }
@@ -35,7 +35,7 @@ require("core-js/modules/web.dom-collections.iterator.js");
35
35
  Object.defineProperty(exports, "__esModule", {
36
36
  value: true
37
37
  });
38
- exports.default = exports.createPagination = exports.InfinityMarker = void 0;
38
+ exports.default = exports.createPagination = exports.InfinityMarker = exports.Bar = void 0;
39
39
 
40
40
  require("core-js/modules/es.array.find.js");
41
41
 
@@ -350,6 +350,16 @@ Pagination.Content = PaginationContent;
350
350
  var PaginationWrapper = Pagination;
351
351
  var InfinityMarkerWrapper = InfinityMarker;
352
352
 
353
+ var Bar = function Bar(props) {
354
+ return _react.default.createElement(Pagination, _extends({
355
+ fallback_element: function fallback_element() {
356
+ return null;
357
+ }
358
+ }, props));
359
+ };
360
+
361
+ exports.Bar = Bar;
362
+
353
363
  var createPagination = function createPagination() {
354
364
  var initProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
355
365
 
@@ -94,7 +94,7 @@ export interface RadioProps extends React.HTMLProps<HTMLElement> {
94
94
  suffix?: RadioSuffix;
95
95
 
96
96
  /**
97
- * Defines the `value` as a string. Use it to get the value during the `on_change` event listener callback in the "RadioGroup".
97
+ * <em>(required)</em> defines the `value` as a string. Use it to get the value during the `on_change` event listener callback in the "RadioGroup".
98
98
  */
99
99
  value?: string;
100
100
  attributes?: RadioAttributes;
@@ -94,7 +94,7 @@ export interface RadioGroupProps extends React.HTMLProps<HTMLElement> {
94
94
  vertical?: RadioGroupVertical;
95
95
 
96
96
  /**
97
- * Defines the `value` as a string. Use it to get the value during the `on_change` event listener callback in the "RadioGroup".
97
+ * <em>(required)</em> defines the `value` as a string. Use it to get the value during the `on_change` event listener callback in the "RadioGroup".
98
98
  */
99
99
  value?: string;
100
100
  attributes?: RadioGroupAttributes;
@@ -131,7 +131,7 @@ export interface SliderProps extends React.HTMLProps<HTMLElement> {
131
131
  max?: SliderMax;
132
132
 
133
133
  /**
134
- * The `value` of the slider. Also the event callback result.
134
+ * <em>(required)</em> the `value` of the slider. Also the event callback result.
135
135
  */
136
136
  value?: SliderValue;
137
137
 
@@ -70,17 +70,17 @@ export type StepIndicatorChildren =
70
70
  */
71
71
  export interface StepIndicatorProps extends React.HTMLProps<HTMLElement> {
72
72
  /**
73
- * A unique string-based ID in order to bind together the main component and the sidebar (`<StepIndicator.Sidebar />`). Both have to get the same ID.
73
+ * <em>(required)</em> a unique string-based ID in order to bind together the main component and the sidebar (`<StepIndicator.Sidebar />`). Both have to get the same ID.
74
74
  */
75
75
  sidebar_id?: string;
76
76
 
77
77
  /**
78
- * Defines how the StepIndicator should work. Use `static` for non-interactive steps. Use `strict` for a chronological step order, also, the user can navigate between visited steps. Use `loose` if the user should be able to navigate freely.
78
+ * <em>(required)</em> defines how the StepIndicator should work. Use `static` for non-interactive steps. Use `strict` for a chronological step order, also, the user can navigate between visited steps. Use `loose` if the user should be able to navigate freely.
79
79
  */
80
80
  mode?: StepIndicatorMode;
81
81
 
82
82
  /**
83
- * Defines the data/steps showing up in a JavaScript Array or JSON format like `[{title,is_current}]`. See parameters and the example above.
83
+ * <em>(required)</em> defines the data/steps showing up in a JavaScript Array or JSON format like `[{title,is_current}]`. See parameters and the example above.
84
84
  */
85
85
  data?: StepIndicatorData;
86
86
  title: StepIndicatorTitle;
@@ -5,7 +5,7 @@ import * as React from 'react';
5
5
  */
6
6
  export interface StepIndicatorProviderProps {
7
7
  /**
8
- * A unique string-based ID in order to bind together the main component and the sidebar (`<StepIndicator.Sidebar />`). Both have to get the same ID.
8
+ * <em>(required)</em> a unique string-based ID in order to bind together the main component and the sidebar (`<StepIndicator.Sidebar />`). Both have to get the same ID.
9
9
  */
10
10
  sidebar_id: string;
11
11
  children: React.ReactNode;
@@ -12,7 +12,7 @@ export type StepIndicatorItemIsActive = string | boolean;
12
12
  export interface StepIndicatorItemProps
13
13
  extends React.HTMLProps<HTMLElement> {
14
14
  /**
15
- * Defines how the StepIndicator should work. Use `static` for non-interactive steps. Use `strict` for a chronological step order, also, the user can navigate between visited steps. Use `loose` if the user should be able to navigate freely.
15
+ * <em>(required)</em> defines how the StepIndicator should work. Use `static` for non-interactive steps. Use `strict` for a chronological step order, also, the user can navigate between visited steps. Use `loose` if the user should be able to navigate freely.
16
16
  */
17
17
  mode?: string;
18
18
  title: StepIndicatorItemTitle;
@@ -29,12 +29,12 @@ export type StepIndicatorSidebarData =
29
29
  export interface StepIndicatorSidebarProps
30
30
  extends React.HTMLProps<HTMLElement> {
31
31
  /**
32
- * A unique string-based ID in order to bind together the main component and the sidebar (`<StepIndicator.Sidebar />`). Both have to get the same ID.
32
+ * <em>(required)</em> a unique string-based ID in order to bind together the main component and the sidebar (`<StepIndicator.Sidebar />`). Both have to get the same ID.
33
33
  */
34
34
  sidebar_id: string;
35
35
 
36
36
  /**
37
- * Defines how the StepIndicator should work. Use `static` for non-interactive steps. Use `strict` for a chronological step order, also, the user can navigate between visited steps. Use `loose` if the user should be able to navigate freely.
37
+ * <em>(required)</em> defines how the StepIndicator should work. Use `static` for non-interactive steps. Use `strict` for a chronological step order, also, the user can navigate between visited steps. Use `loose` if the user should be able to navigate freely.
38
38
  */
39
39
  mode?: StepIndicatorSidebarMode;
40
40
 
@@ -44,7 +44,7 @@ export interface StepIndicatorSidebarProps
44
44
  current_step?: StepIndicatorSidebarCurrentStep;
45
45
 
46
46
  /**
47
- * Defines the data/steps showing up in a JavaScript Array or JSON format like `[{title,is_current}]`. See parameters and the example above.
47
+ * <em>(required)</em> defines the data/steps showing up in a JavaScript Array or JSON format like `[{title,is_current}]`. See parameters and the example above.
48
48
  */
49
49
  data?: StepIndicatorSidebarData;
50
50
  internalId?: string;
@@ -6,7 +6,7 @@ import * as React from 'react';
6
6
  export interface StepIndicatorTriggerButtonProps
7
7
  extends React.HTMLProps<HTMLElement> {
8
8
  /**
9
- * A unique string-based ID in order to bind together the main component and the sidebar (`<StepIndicator.Sidebar />`). Both have to get the same ID.
9
+ * <em>(required)</em> a unique string-based ID in order to bind together the main component and the sidebar (`<StepIndicator.Sidebar />`). Both have to get the same ID.
10
10
  */
11
11
  sidebar_id?: string;
12
12
  className?: string;
@@ -67,7 +67,7 @@ export interface SwitchProps extends React.HTMLProps<HTMLElement> {
67
67
  label_position?: SwitchLabelPosition;
68
68
 
69
69
  /**
70
- * The `title` of the input - describing it a bit further for accessibility reasons.
70
+ * <em>(required)</em> the `title` of the input - describing it a bit further for accessibility reasons.
71
71
  */
72
72
  title?: string;
73
73
  default_state?: SwitchDefaultState;
@@ -66,12 +66,12 @@ export type TabsChildren =
66
66
  */
67
67
  export interface TabsProps extends React.HTMLProps<HTMLElement> {
68
68
  /**
69
- * Defines the data structure to load as a JSON. e.g. `[{title: &#39;...&#39;, content: &#39;Current tab&#39;, key
69
+ * <em>(required)</em> defines the data structure to load as a JSON. e.g. `[{title: &#39;...&#39;, content: &#39;Current tab&#39;, key
70
70
  */
71
71
  data?: TabsData;
72
72
 
73
73
  /**
74
- * The content to render. Can be a function, returning the current tab content `(key) => (&#39;Current tab&#39;)`, a React Component or an object with the keys and content `{key1: &#39;Current tab&#39;}`.
74
+ * <em>(required)</em> the content to render. Can be a function, returning the current tab content `(key) => (&#39;Current tab&#39;)`, a React Component or an object with the keys and content `{key1: &#39;Current tab&#39;}`.
75
75
  */
76
76
  content?: TabsContent;
77
77
 
@@ -161,7 +161,7 @@ export interface TabsProps extends React.HTMLProps<HTMLElement> {
161
161
  className?: string;
162
162
 
163
163
  /**
164
- * The content to render. Can be a function, returning the current tab content `(key) => (&#39;Current tab&#39;)`, a React Component or an object with the keys and content `{key1: &#39;Current tab&#39;}`.
164
+ * <em>(required)</em> the content to render. Can be a function, returning the current tab content `(key) => (&#39;Current tab&#39;)`, a React Component or an object with the keys and content `{key1: &#39;Current tab&#39;}`.
165
165
  */
166
166
  children?: TabsChildren;
167
167
  render?: (...args: any[]) => any;
@@ -198,7 +198,7 @@ export default class Tabs extends React.Component<TabsProps, any> {
198
198
  */
199
199
  export interface DummyProps {
200
200
  /**
201
- * The content to render. Can be a function, returning the current tab content `(key) => (&#39;Current tab&#39;)`, a React Component or an object with the keys and content `{key1: &#39;Current tab&#39;}`.
201
+ * <em>(required)</em> the content to render. Can be a function, returning the current tab content `(key) => (&#39;Current tab&#39;)`, a React Component or an object with the keys and content `{key1: &#39;Current tab&#39;}`.
202
202
  */
203
203
  children: React.ReactNode;
204
204
  }
@@ -27,7 +27,7 @@ export interface ContentWrapperProps extends React.HTMLProps<HTMLElement> {
27
27
  content_spacing?: ContentWrapperContentSpacing;
28
28
 
29
29
  /**
30
- * The content to render. Can be a function, returning the current tab content `(key) => (&#39;Current tab&#39;)`, a React Component or an object with the keys and content `{key1: &#39;Current tab&#39;}`.
30
+ * <em>(required)</em> the content to render. Can be a function, returning the current tab content `(key) => (&#39;Current tab&#39;)`, a React Component or an object with the keys and content `{key1: &#39;Current tab&#39;}`.
31
31
  */
32
32
  children?: ContentWrapperChildren;
33
33
  }
@@ -74,7 +74,7 @@ export interface CustomContentProps extends React.HTMLProps<HTMLElement> {
74
74
  left?: CustomContentLeft;
75
75
 
76
76
  /**
77
- * The content to render. Can be a function, returning the current tab content `(key) => (&#39;Current tab&#39;)`, a React Component or an object with the keys and content `{key1: &#39;Current tab&#39;}`.
77
+ * <em>(required)</em> the content to render. Can be a function, returning the current tab content `(key) => (&#39;Current tab&#39;)`, a React Component or an object with the keys and content `{key1: &#39;Current tab&#39;}`.
78
78
  */
79
79
  children?: CustomContentChildren;
80
80
  className?: string;
@@ -27,17 +27,21 @@ var _react = _interopRequireDefault(require("react"));
27
27
 
28
28
  var _classnames = _interopRequireDefault(require("classnames"));
29
29
 
30
- var _SkeletonHelper = require("../skeleton/SkeletonHelper");
30
+ var _IconPrimary2 = _interopRequireDefault(require("../icon-primary/IconPrimary"));
31
31
 
32
- var _SpacingHelper = require("../space/SpacingHelper");
33
-
34
- var _IconPrimary = _interopRequireDefault(require("../icon-primary/IconPrimary"));
32
+ var _Button = _interopRequireDefault(require("../button/Button"));
35
33
 
36
34
  var _Context = _interopRequireDefault(require("../../shared/Context"));
37
35
 
38
36
  var _componentHelper = require("../../shared/component-helper");
39
37
 
40
- var _excluded = ["className", "skeleton", "children", "icon", "text"];
38
+ var _TagGroup = _interopRequireDefault(require("./TagGroup"));
39
+
40
+ var _TagContext = require("./TagContext");
41
+
42
+ var _IconPrimary;
43
+
44
+ var _excluded = ["className", "skeleton", "children", "text", "onClick", "onDelete", "omitOnKeyUpDeleteEvent"];
41
45
 
42
46
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
43
47
 
@@ -58,40 +62,96 @@ var defaultProps = {
58
62
  skeleton: false,
59
63
  text: null,
60
64
  children: null,
61
- icon: null
65
+ icon: null,
66
+ onClick: null,
67
+ onDelete: null,
68
+ omitOnKeyUpDeleteEvent: false
62
69
  };
63
70
  exports.defaultProps = defaultProps;
64
71
 
65
- function Tag(localProps) {
72
+ var Tag = function Tag(localProps) {
66
73
  var _context$translation;
67
74
 
68
75
  var context = _react.default.useContext(_Context.default);
69
76
 
70
- var _extendPropsWithConte = (0, _componentHelper.extendPropsWithContext)(_objectSpread(_objectSpread({}, defaultProps), localProps), defaultProps, context === null || context === void 0 ? void 0 : (_context$translation = context.translation) === null || _context$translation === void 0 ? void 0 : _context$translation.Tag, context === null || context === void 0 ? void 0 : context.Tag),
77
+ var tagGroupContext = _react.default.useContext(_TagContext.TagGroupContext);
78
+
79
+ var _extendPropsWithConte = (0, _componentHelper.extendPropsWithContext)(_objectSpread(_objectSpread({}, defaultProps), localProps), defaultProps, context === null || context === void 0 ? void 0 : (_context$translation = context.translation) === null || _context$translation === void 0 ? void 0 : _context$translation.Tag, context === null || context === void 0 ? void 0 : context.Tag, tagGroupContext),
71
80
  className = _extendPropsWithConte.className,
72
81
  skeleton = _extendPropsWithConte.skeleton,
73
82
  children = _extendPropsWithConte.children,
74
- icon = _extendPropsWithConte.icon,
75
83
  text = _extendPropsWithConte.text,
84
+ onClick = _extendPropsWithConte.onClick,
85
+ onDelete = _extendPropsWithConte.onDelete,
86
+ omitOnKeyUpDeleteEvent = _extendPropsWithConte.omitOnKeyUpDeleteEvent,
76
87
  props = _objectWithoutProperties(_extendPropsWithConte, _excluded);
77
88
 
78
- var skeletonClasses = (0, _SkeletonHelper.createSkeletonClass)('shape', skeleton, context);
79
- var spacingClasses = (0, _SpacingHelper.createSpacingClasses)(props);
80
89
  var content = text || children;
81
- return _react.default.createElement("div", _extends({
82
- className: (0, _classnames.default)('dnb-tag', skeletonClasses, spacingClasses, className),
83
- "data-testid": "tag"
84
- }, props), icon && _react.default.createElement("span", {
85
- "data-testid": "tag-icon",
86
- className: "dnb-tag__icon"
87
- }, _react.default.createElement(_IconPrimary.default, {
88
- icon: icon,
89
- right: "x-small"
90
- })), content && _react.default.createElement("span", {
91
- "data-testid": "tag-text",
92
- className: "dnb-tag__text"
93
- }, content));
94
- }
90
+ var isClickable = !!onClick;
91
+ var isRemovable = !!onDelete && !isClickable;
92
+ var isInteractive = isClickable || isRemovable;
93
+ var tagClassNames = (0, _classnames.default)('dnb-tag', className, isInteractive && 'dnb-tag--interactive', isRemovable && 'dnb-tag--removable');
94
+
95
+ var isDeleteKeyboardEvent = function isDeleteKeyboardEvent(keyboardEvent) {
96
+ return keyboardEvent.key === 'Backspace' || keyboardEvent.key === 'Delete';
97
+ };
98
+
99
+ var handleKeyUp = function handleKeyUp(event) {
100
+ if (onDelete && isDeleteKeyboardEvent(event)) {
101
+ onDelete(event);
102
+ }
103
+ };
104
+
105
+ if (!isInteractive) {
106
+ props.element = 'span';
107
+ props.type = '';
108
+ }
109
+
110
+ if (isRemovable) {
111
+ props.icon = getDeleteIcon();
112
+ }
113
+
114
+ if (!tagGroupContext) {
115
+ (0, _componentHelper.warn)("Tag group required: A Tag requires a Tag.Group with label description as a parent component. This is to ensure correct semantic and accessibility.");
116
+ }
117
+
118
+ return _react.default.createElement(_Button.default, _extends({
119
+ "data-testid": "tag",
120
+ variant: "unstyled",
121
+ size: "small",
122
+ icon_position: isRemovable ? 'right' : 'left',
123
+ className: tagClassNames,
124
+ on_click: onClick || onDelete,
125
+ text: content,
126
+ skeleton: skeleton,
127
+ onKeyUp: isRemovable && !omitOnKeyUpDeleteEvent ? function (e) {
128
+ return handleKeyUp(e);
129
+ } : undefined
130
+ }, props));
131
+
132
+ function getDeleteIcon() {
133
+ return _IconPrimary || (_IconPrimary = _react.default.createElement(_IconPrimary2.default, {
134
+ "data-testid": "tag-delete-icon",
135
+ inherit_color: false,
136
+ icon: _react.default.createElement("svg", {
137
+ width: "16",
138
+ height: "16",
139
+ fill: "none",
140
+ xmlns: "http://www.w3.org/2000/svg"
141
+ }, _react.default.createElement("path", {
142
+ d: "M0 8a8 8 0 1 1 16 0A8 8 0 1 1 0 8Z",
143
+ className: "dnb-icon-close-circle-path"
144
+ }), _react.default.createElement("path", {
145
+ d: "m5.5 10.5 5-5m0 5-5-5",
146
+ className: "dnb-icon-close-cross-path",
147
+ strokeWidth: "1.5",
148
+ strokeLinecap: "round",
149
+ strokeLinejoin: "round"
150
+ }))
151
+ }));
152
+ }
153
+ };
95
154
 
155
+ Tag.Group = _TagGroup.default;
96
156
  var _default = Tag;
97
157
  exports.default = _default;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TagGroupContext = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ var TagGroupContext = _react.default.createContext(null);
13
+
14
+ exports.TagGroupContext = TagGroupContext;
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.keys.js");
4
+
5
+ require("core-js/modules/es.array.index-of.js");
6
+
7
+ require("core-js/modules/es.symbol.js");
8
+
9
+ require("core-js/modules/es.array.filter.js");
10
+
11
+ require("core-js/modules/es.object.to-string.js");
12
+
13
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
14
+
15
+ require("core-js/modules/web.dom-collections.for-each.js");
16
+
17
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
18
+
19
+ require("core-js/modules/es.symbol.description.js");
20
+
21
+ require("core-js/modules/es.symbol.iterator.js");
22
+
23
+ require("core-js/modules/es.array.iterator.js");
24
+
25
+ require("core-js/modules/es.string.iterator.js");
26
+
27
+ require("core-js/modules/web.dom-collections.iterator.js");
28
+
29
+ require("core-js/modules/es.array.from.js");
30
+
31
+ require("core-js/modules/es.array.slice.js");
32
+
33
+ require("core-js/modules/es.function.name.js");
34
+
35
+ require("core-js/modules/es.regexp.exec.js");
36
+
37
+ require("core-js/modules/es.object.assign.js");
38
+
39
+ Object.defineProperty(exports, "__esModule", {
40
+ value: true
41
+ });
42
+ exports.defaultProps = exports.default = void 0;
43
+
44
+ require("core-js/modules/es.array.map.js");
45
+
46
+ var _react = _interopRequireDefault(require("react"));
47
+
48
+ var _classnames = _interopRequireDefault(require("classnames"));
49
+
50
+ var _SpacingHelper = require("../space/SpacingHelper");
51
+
52
+ var _Context = _interopRequireDefault(require("../../shared/Context"));
53
+
54
+ var _componentHelper = require("../../shared/component-helper");
55
+
56
+ var _TagContext = require("./TagContext");
57
+
58
+ var _excluded = ["label", "className", "children"];
59
+
60
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
61
+
62
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
63
+
64
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
65
+
66
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
67
+
68
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
69
+
70
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
71
+
72
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
73
+
74
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
75
+
76
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
77
+
78
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
79
+
80
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
81
+
82
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
83
+
84
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
85
+
86
+ var defaultProps = {
87
+ label: null,
88
+ className: null,
89
+ children: null
90
+ };
91
+ exports.defaultProps = defaultProps;
92
+
93
+ function TagGroup(localProps) {
94
+ var context = _react.default.useContext(_Context.default);
95
+
96
+ var _extendPropsWithConte = (0, _componentHelper.extendPropsWithContext)(_objectSpread(_objectSpread({}, defaultProps), localProps), defaultProps, context === null || context === void 0 ? void 0 : context.TagGroup),
97
+ label = _extendPropsWithConte.label,
98
+ className = _extendPropsWithConte.className,
99
+ childrenProp = _extendPropsWithConte.children,
100
+ props = _objectWithoutProperties(_extendPropsWithConte, _excluded);
101
+
102
+ var children = childrenProp;
103
+
104
+ if (Array.isArray(childrenProp)) {
105
+ children = _toConsumableArray(childrenProp).map(function (child) {
106
+ return child;
107
+ });
108
+ }
109
+
110
+ var spacingClasses = (0, _SpacingHelper.createSpacingClasses)(props);
111
+ return _react.default.createElement(_TagContext.TagGroupContext.Provider, {
112
+ value: props
113
+ }, _react.default.createElement("div", _extends({
114
+ className: (0, _classnames.default)('dnb-tag__group', spacingClasses, className),
115
+ "data-testid": "tag-group"
116
+ }, props), _react.default.createElement("span", {
117
+ "data-testid": "tag-group-label",
118
+ className: "dnb-sr-only"
119
+ }, label), children));
120
+ }
121
+
122
+ var _default = TagGroup;
123
+ exports.default = _default;