@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
@@ -0,0 +1,135 @@
1
+ /*
2
+ * DNB InfoCard
3
+ *
4
+ */
5
+ /**
6
+ * This file is only used to make components independent
7
+ * so that they can get imported individually, without the core styles
8
+ *
9
+ */
10
+ /*
11
+ * Utilities
12
+ */
13
+ /*
14
+ * Scopes
15
+ *
16
+ */
17
+ /*
18
+ * Document Reset
19
+ *
20
+ */
21
+ .dnb-info-card {
22
+ font-family: 'DNB', sans-serif;
23
+ font-family: var(--font-family-default);
24
+ font-weight: normal;
25
+ font-weight: var(--font-weight-basis);
26
+ font-size: 1rem;
27
+ font-size: var(--font-size-small);
28
+ font-style: normal;
29
+ line-height: 1.5rem;
30
+ line-height: var(--line-height-basis);
31
+ color: #333;
32
+ color: var(--color-black-80, #333);
33
+ -moz-osx-font-smoothing: grayscale;
34
+ -webkit-font-smoothing: antialiased;
35
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
36
+ /**
37
+ * Ensure consistency and use the same as HTML reset -> html {...}
38
+ * between base and code package
39
+ */
40
+ -moz-tab-size: 4;
41
+ -o-tab-size: 4;
42
+ tab-size: 4;
43
+ -ms-text-size-adjust: 100%;
44
+ -webkit-text-size-adjust: 100%;
45
+ word-break: break-word;
46
+ /**
47
+ * 1. Remove repeating backgrounds in all browsers (opinionated).
48
+ * 2. Add border box sizing in all browsers (opinionated).
49
+ */
50
+ /**
51
+ * 1. Add text decoration inheritance in all browsers (opinionated).
52
+ * 2. Add vertical alignment inheritance in all browsers (opinionated).
53
+ */
54
+ margin: 0;
55
+ padding: 0; }
56
+ .dnb-info-card *,
57
+ .dnb-info-card ::before,
58
+ .dnb-info-card ::after {
59
+ background-repeat: no-repeat;
60
+ /* 1 */
61
+ -webkit-box-sizing: border-box;
62
+ box-sizing: border-box;
63
+ /* 2 */ }
64
+ .dnb-info-card ::before,
65
+ .dnb-info-card ::after {
66
+ text-decoration: inherit;
67
+ /* 1 */
68
+ vertical-align: inherit;
69
+ /* 2 */ }
70
+
71
+ /*
72
+ * InfoCard component
73
+ *
74
+ */
75
+ .dnb-info-card {
76
+ display: -webkit-box;
77
+ display: -ms-flexbox;
78
+ display: flex;
79
+ -webkit-box-orient: horizontal;
80
+ -webkit-box-direction: normal;
81
+ -ms-flex-direction: row;
82
+ flex-direction: row;
83
+ background: white;
84
+ border: 1px solid #ebebeb;
85
+ border: 1px solid var(--color-black-8);
86
+ border-radius: 0.25rem;
87
+ padding: 1rem;
88
+ -webkit-box-shadow: 0 8px 16px rgba(51, 51, 51, 0.08);
89
+ box-shadow: 0 8px 16px rgba(51, 51, 51, 0.08);
90
+ -webkit-box-shadow: var(--shadow-default);
91
+ box-shadow: var(--shadow-default); }
92
+ .dnb-info-card--centered {
93
+ -webkit-box-orient: vertical;
94
+ -webkit-box-direction: normal;
95
+ -ms-flex-direction: column;
96
+ flex-direction: column;
97
+ -webkit-box-align: center;
98
+ -ms-flex-align: center;
99
+ align-items: center;
100
+ text-align: center; }
101
+ .dnb-info-card--content {
102
+ -webkit-box-orient: vertical;
103
+ -webkit-box-direction: normal;
104
+ -ms-flex-direction: column;
105
+ flex-direction: column;
106
+ margin-top: 0.1875rem; }
107
+ .dnb-info-card--centered .dnb-info-card--content {
108
+ -webkit-box-orient: vertical;
109
+ -webkit-box-direction: normal;
110
+ -ms-flex-direction: column;
111
+ flex-direction: column;
112
+ margin-top: 0; }
113
+ .dnb-info-card--icon {
114
+ color: #14555a;
115
+ color: var(--color-emerald-green); }
116
+ .dnb-info-card--image {
117
+ height: 4rem;
118
+ width: 4rem; }
119
+ .dnb-info-card--buttons {
120
+ display: -webkit-box;
121
+ display: -ms-flexbox;
122
+ display: flex;
123
+ -webkit-box-orient: horizontal;
124
+ -webkit-box-direction: normal;
125
+ -ms-flex-direction: row;
126
+ flex-direction: row; }
127
+ .dnb-info-card--buttons-centered {
128
+ -webkit-box-orient: vertical;
129
+ -webkit-box-direction: normal;
130
+ -ms-flex-direction: column;
131
+ flex-direction: column;
132
+ -webkit-box-align: center;
133
+ -ms-flex-align: center;
134
+ align-items: center;
135
+ text-align: center; }
@@ -0,0 +1 @@
1
+ .dnb-info-card{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(0,0,0,0);-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#333;color:var(--color-black-80,#333);font-family:DNB,sans-serif;font-family:var(--font-family-default);font-size:1rem;font-size:var(--font-size-small);font-style:normal;font-weight:400;font-weight:var(--font-weight-basis);line-height:1.5rem;line-height:var(--line-height-basis);margin:0;padding:0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-break:break-word}.dnb-info-card *,.dnb-info-card :after,.dnb-info-card :before{background-repeat:no-repeat;-webkit-box-sizing:border-box;box-sizing:border-box}.dnb-info-card :after,.dnb-info-card :before{text-decoration:inherit;vertical-align:inherit}.dnb-info-card{-webkit-box-orient:horizontal;-webkit-box-direction:normal;background:#fff;border:1px solid #ebebeb;border:1px solid var(--color-black-8);border-radius:.25rem;-webkit-box-shadow:0 8px 16px rgba(51,51,51,.08);box-shadow:0 8px 16px rgba(51,51,51,.08);-webkit-box-shadow:var(--shadow-default);box-shadow:var(--shadow-default);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;padding:1rem}.dnb-info-card--centered{-webkit-box-align:center;-ms-flex-align:center;align-items:center;text-align:center}.dnb-info-card--centered,.dnb-info-card--content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.dnb-info-card--content{margin-top:.1875rem}.dnb-info-card--centered .dnb-info-card--content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-top:0}.dnb-info-card--icon{color:#14555a;color:var(--color-emerald-green)}.dnb-info-card--image{height:4rem;width:4rem}.dnb-info-card--buttons{-webkit-box-orient:horizontal;-webkit-box-direction:normal;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row}.dnb-info-card--buttons-centered{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column;text-align:center}
@@ -0,0 +1,12 @@
1
+ /*
2
+ * DNB InfoCard
3
+ *
4
+ */
5
+
6
+ @import '../../../style/components/imports.scss';
7
+
8
+ .dnb-info-card {
9
+ @include componentReset();
10
+ }
11
+
12
+ @import './_info-card.scss';
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Web Style Import
3
+ *
4
+ */
5
+
6
+ import './dnb-info-card.scss';
@@ -0,0 +1 @@
1
+ import "./dnb-info-card.min.css";
@@ -0,0 +1 @@
1
+ import "./style/dnb-info-card.min.css";
@@ -43,7 +43,8 @@ export type InputSubmitButtonVariant =
43
43
  | 'primary'
44
44
  | 'secondary'
45
45
  | 'tertiary'
46
- | 'signal';
46
+ | 'signal'
47
+ | 'unstyled';
47
48
  export type InputSubmitButtonIcon =
48
49
  | string
49
50
  | React.ReactNode
@@ -1,6 +1,7 @@
1
1
  import { registerElement } from '../shared/component-helper';
2
2
  import Accordion from './accordion/Accordion';
3
3
  import Autocomplete from './autocomplete/Autocomplete';
4
+ import Avatar from './avatar/Avatar';
4
5
  import Breadcrumb from './breadcrumb/Breadcrumb';
5
6
  import Button from './button/Button';
6
7
  import Checkbox from './checkbox/Checkbox';
@@ -16,6 +17,7 @@ import Heading from './heading/Heading';
16
17
  import HelpButton from './help-button/HelpButton';
17
18
  import Icon from './icon/Icon';
18
19
  import IconPrimary from './icon-primary/IconPrimary';
20
+ import InfoCard from './info-card/InfoCard';
19
21
  import Input from './input/Input';
20
22
  import InputMasked from './input-masked/InputMasked';
21
23
  import Logo from './logo/Logo';
@@ -33,13 +35,15 @@ import Switch from './switch/Switch';
33
35
  import Tabs from './tabs/Tabs';
34
36
  import Tag from './tag/Tag';
35
37
  import Textarea from './textarea/Textarea';
38
+ import Timeline from './timeline/Timeline';
36
39
  import ToggleButton from './toggle-button/ToggleButton';
37
40
  import Tooltip from './tooltip/Tooltip';
38
- export { Accordion, Autocomplete, Breadcrumb, Button, Checkbox, DatePicker, Dropdown, FormLabel, FormRow, FormSet, FormStatus, GlobalError, GlobalStatus, Heading, HelpButton, Icon, IconPrimary, Input, InputMasked, Logo, Modal, NumberFormat, Pagination, ProgressIndicator, Radio, Section, Skeleton, Slider, Space, StepIndicator, Switch, Tabs, Tag, Textarea, ToggleButton, Tooltip };
41
+ export { Accordion, Autocomplete, Avatar, Breadcrumb, Button, Checkbox, DatePicker, Dropdown, FormLabel, FormRow, FormSet, FormStatus, GlobalError, GlobalStatus, Heading, HelpButton, Icon, IconPrimary, InfoCard, Input, InputMasked, Logo, Modal, NumberFormat, Pagination, ProgressIndicator, Radio, Section, Skeleton, Slider, Space, StepIndicator, Switch, Tabs, Tag, Textarea, Timeline, ToggleButton, Tooltip };
39
42
  export var getComponents = function getComponents() {
40
43
  return {
41
44
  Accordion: Accordion,
42
45
  Autocomplete: Autocomplete,
46
+ Avatar: Avatar,
43
47
  Breadcrumb: Breadcrumb,
44
48
  Button: Button,
45
49
  Checkbox: Checkbox,
@@ -55,6 +59,7 @@ export var getComponents = function getComponents() {
55
59
  HelpButton: HelpButton,
56
60
  Icon: Icon,
57
61
  IconPrimary: IconPrimary,
62
+ InfoCard: InfoCard,
58
63
  Input: Input,
59
64
  InputMasked: InputMasked,
60
65
  Logo: Logo,
@@ -72,6 +77,7 @@ export var getComponents = function getComponents() {
72
77
  Tabs: Tabs,
73
78
  Tag: Tag,
74
79
  Textarea: Textarea,
80
+ Timeline: Timeline,
75
81
  ToggleButton: ToggleButton,
76
82
  Tooltip: Tooltip
77
83
  };
@@ -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
  }
@@ -282,6 +282,13 @@ Pagination.Bar = PaginationBar;
282
282
  Pagination.Content = PaginationContent;
283
283
  var PaginationWrapper = Pagination;
284
284
  var InfinityMarkerWrapper = InfinityMarker;
285
+ export var Bar = function Bar(props) {
286
+ return React.createElement(Pagination, _extends({
287
+ fallback_element: function fallback_element() {
288
+ return null;
289
+ }
290
+ }, props));
291
+ };
285
292
  export var createPagination = function createPagination() {
286
293
  var initProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
287
294
  var store = React.createRef({});
@@ -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;
@@ -8,7 +8,10 @@ import "core-js/modules/es.object.get-own-property-descriptors.js";
8
8
  import _extends from "@babel/runtime/helpers/esm/extends";
9
9
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
10
10
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
11
- var _excluded = ["className", "skeleton", "children", "icon", "text"];
11
+
12
+ var _IconPrimary;
13
+
14
+ var _excluded = ["className", "skeleton", "children", "text", "onClick", "onDelete", "omitOnKeyUpDeleteEvent"];
12
15
 
13
16
  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; }
14
17
 
@@ -16,48 +19,104 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
16
19
 
17
20
  import React from 'react';
18
21
  import classnames from 'classnames';
19
- import { createSkeletonClass } from '../skeleton/SkeletonHelper';
20
- import { createSpacingClasses } from '../space/SpacingHelper';
21
- import Icon from '../icon-primary/IconPrimary';
22
+ import IconPrimary from '../icon-primary/IconPrimary';
23
+ import Button from '../button/Button';
22
24
  import Context from '../../shared/Context';
23
- import { extendPropsWithContext } from '../../shared/component-helper';
25
+ import { warn, extendPropsWithContext } from '../../shared/component-helper';
26
+ import TagGroup from './TagGroup';
27
+ import { TagGroupContext } from './TagContext';
24
28
  export var defaultProps = {
25
29
  className: null,
26
30
  skeleton: false,
27
31
  text: null,
28
32
  children: null,
29
- icon: null
33
+ icon: null,
34
+ onClick: null,
35
+ onDelete: null,
36
+ omitOnKeyUpDeleteEvent: false
30
37
  };
31
38
 
32
- function Tag(localProps) {
39
+ var Tag = function Tag(localProps) {
33
40
  var _context$translation;
34
41
 
35
42
  var context = React.useContext(Context);
43
+ var tagGroupContext = React.useContext(TagGroupContext);
36
44
 
37
- var _extendPropsWithConte = 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),
45
+ var _extendPropsWithConte = 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),
38
46
  className = _extendPropsWithConte.className,
39
47
  skeleton = _extendPropsWithConte.skeleton,
40
48
  children = _extendPropsWithConte.children,
41
- icon = _extendPropsWithConte.icon,
42
49
  text = _extendPropsWithConte.text,
50
+ onClick = _extendPropsWithConte.onClick,
51
+ onDelete = _extendPropsWithConte.onDelete,
52
+ omitOnKeyUpDeleteEvent = _extendPropsWithConte.omitOnKeyUpDeleteEvent,
43
53
  props = _objectWithoutProperties(_extendPropsWithConte, _excluded);
44
54
 
45
- var skeletonClasses = createSkeletonClass('shape', skeleton, context);
46
- var spacingClasses = createSpacingClasses(props);
47
55
  var content = text || children;
48
- return React.createElement("div", _extends({
49
- className: classnames('dnb-tag', skeletonClasses, spacingClasses, className),
50
- "data-testid": "tag"
51
- }, props), icon && React.createElement("span", {
52
- "data-testid": "tag-icon",
53
- className: "dnb-tag__icon"
54
- }, React.createElement(Icon, {
55
- icon: icon,
56
- right: "x-small"
57
- })), content && React.createElement("span", {
58
- "data-testid": "tag-text",
59
- className: "dnb-tag__text"
60
- }, content));
61
- }
56
+ var isClickable = !!onClick;
57
+ var isRemovable = !!onDelete && !isClickable;
58
+ var isInteractive = isClickable || isRemovable;
59
+ var tagClassNames = classnames('dnb-tag', className, isInteractive && 'dnb-tag--interactive', isRemovable && 'dnb-tag--removable');
60
+
61
+ var isDeleteKeyboardEvent = function isDeleteKeyboardEvent(keyboardEvent) {
62
+ return keyboardEvent.key === 'Backspace' || keyboardEvent.key === 'Delete';
63
+ };
64
+
65
+ var handleKeyUp = function handleKeyUp(event) {
66
+ if (onDelete && isDeleteKeyboardEvent(event)) {
67
+ onDelete(event);
68
+ }
69
+ };
70
+
71
+ if (!isInteractive) {
72
+ props.element = 'span';
73
+ props.type = '';
74
+ }
75
+
76
+ if (isRemovable) {
77
+ props.icon = getDeleteIcon();
78
+ }
79
+
80
+ if (!tagGroupContext) {
81
+ 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.");
82
+ }
83
+
84
+ return React.createElement(Button, _extends({
85
+ "data-testid": "tag",
86
+ variant: "unstyled",
87
+ size: "small",
88
+ icon_position: isRemovable ? 'right' : 'left',
89
+ className: tagClassNames,
90
+ on_click: onClick || onDelete,
91
+ text: content,
92
+ skeleton: skeleton,
93
+ onKeyUp: isRemovable && !omitOnKeyUpDeleteEvent ? function (e) {
94
+ return handleKeyUp(e);
95
+ } : undefined
96
+ }, props));
97
+
98
+ function getDeleteIcon() {
99
+ return _IconPrimary || (_IconPrimary = React.createElement(IconPrimary, {
100
+ "data-testid": "tag-delete-icon",
101
+ inherit_color: false,
102
+ icon: React.createElement("svg", {
103
+ width: "16",
104
+ height: "16",
105
+ fill: "none",
106
+ xmlns: "http://www.w3.org/2000/svg"
107
+ }, React.createElement("path", {
108
+ d: "M0 8a8 8 0 1 1 16 0A8 8 0 1 1 0 8Z",
109
+ className: "dnb-icon-close-circle-path"
110
+ }), React.createElement("path", {
111
+ d: "m5.5 10.5 5-5m0 5-5-5",
112
+ className: "dnb-icon-close-cross-path",
113
+ strokeWidth: "1.5",
114
+ strokeLinecap: "round",
115
+ strokeLinejoin: "round"
116
+ }))
117
+ }));
118
+ }
119
+ };
62
120
 
121
+ Tag.Group = TagGroup;
63
122
  export default Tag;