@dnb/eufemia 9.17.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 (722) hide show
  1. package/CHANGELOG.md +63 -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/Tag.d.ts +14 -0
  7. package/cjs/components/Tag.js +52 -0
  8. package/cjs/components/Timeline.d.ts +14 -0
  9. package/cjs/components/Timeline.js +52 -0
  10. package/cjs/components/accordion/Accordion.d.ts +7 -7
  11. package/cjs/components/autocomplete/Autocomplete.d.ts +13 -13
  12. package/cjs/components/avatar/Avatar.js +149 -0
  13. package/cjs/components/avatar/AvatarGroup.js +131 -0
  14. package/cjs/components/avatar/index.d.ts +8 -0
  15. package/cjs/components/avatar/index.js +52 -0
  16. package/cjs/components/avatar/style/_avatar.scss +145 -0
  17. package/cjs/components/avatar/style/dnb-avatar.css +218 -0
  18. package/cjs/components/avatar/style/dnb-avatar.min.css +1 -0
  19. package/cjs/components/avatar/style/dnb-avatar.scss +12 -0
  20. package/cjs/components/avatar/style/index.d.ts +6 -0
  21. package/cjs/components/avatar/style/index.js +3 -0
  22. package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.css +36 -0
  23. package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -0
  24. package/cjs/components/avatar/style/themes/dnb-avatar-theme-ui.scss +29 -0
  25. package/cjs/components/avatar/style/themes/ui.js +3 -0
  26. package/cjs/components/avatar/style.js +3 -0
  27. package/cjs/components/breadcrumb/BreadcrumbItem.js +3 -3
  28. package/cjs/components/button/Button.d.ts +8 -8
  29. package/cjs/components/button/Button.js +7 -5
  30. package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +3 -0
  31. package/cjs/components/checkbox/Checkbox.d.ts +3 -3
  32. package/cjs/components/date-picker/DatePicker.d.ts +14 -14
  33. package/cjs/components/date-picker/DatePicker.js +4 -2
  34. package/cjs/components/date-picker/DatePickerAddon.d.ts +1 -1
  35. package/cjs/components/date-picker/DatePickerCalendar.d.ts +1 -1
  36. package/cjs/components/date-picker/DatePickerFooter.d.ts +1 -0
  37. package/cjs/components/date-picker/DatePickerFooter.js +10 -6
  38. package/cjs/components/date-picker/DatePickerInput.d.ts +1 -1
  39. package/cjs/components/dropdown/Dropdown.d.ts +11 -10
  40. package/cjs/components/form-label/FormLabel.d.ts +1 -1
  41. package/cjs/components/form-row/FormRow.d.ts +4 -4
  42. package/cjs/components/form-set/FormSet.d.ts +5 -5
  43. package/cjs/components/global-error/GlobalError.d.ts +1 -1
  44. package/cjs/components/global-status/GlobalStatus.d.ts +5 -5
  45. package/cjs/components/heading/Heading.d.ts +2 -2
  46. package/cjs/components/heading/HeadingProvider.d.ts +2 -2
  47. package/cjs/components/help-button/HelpButton.d.ts +1 -1
  48. package/cjs/components/help-button/HelpButtonInstance.d.ts +3 -2
  49. package/cjs/components/icon/Icon.d.ts +2 -2
  50. package/cjs/components/icon-primary/IconPrimary.d.ts +2 -2
  51. package/cjs/components/index.d.ts +8 -0
  52. package/cjs/components/index.js +32 -0
  53. package/cjs/components/info-card/InfoCard.js +180 -0
  54. package/cjs/components/info-card/index.d.ts +8 -0
  55. package/cjs/components/info-card/index.js +52 -0
  56. package/cjs/components/info-card/style/_info-card.scss +52 -0
  57. package/cjs/components/info-card/style/dnb-info-card.css +135 -0
  58. package/cjs/components/info-card/style/dnb-info-card.min.css +1 -0
  59. package/cjs/components/info-card/style/dnb-info-card.scss +12 -0
  60. package/cjs/components/info-card/style/index.d.ts +6 -0
  61. package/cjs/components/info-card/style/index.js +3 -0
  62. package/cjs/components/info-card/style.js +3 -0
  63. package/cjs/components/input/Input.d.ts +11 -10
  64. package/cjs/components/input-masked/InputMasked.d.ts +11 -11
  65. package/cjs/components/input-masked/InputMasked.js +6 -3
  66. package/cjs/components/input-masked/InputMaskedHooks.js +45 -52
  67. package/cjs/components/input-masked/InputMaskedUtils.js +9 -20
  68. package/cjs/components/lib.js +36 -0
  69. package/cjs/components/modal/Modal.js +157 -299
  70. package/cjs/components/modal/ModalContent.js +169 -274
  71. package/cjs/components/modal/ModalRoot.js +194 -0
  72. package/cjs/components/modal/components/CloseButton.js +125 -0
  73. package/cjs/components/modal/components/ModalHeader.js +124 -0
  74. package/cjs/components/modal/{ModalHeader.js → components/ModalHeaderBar.js} +50 -162
  75. package/cjs/components/modal/{ModalInner.js → components/ModalInner.js} +11 -19
  76. package/cjs/components/modal/helpers.js +80 -0
  77. package/cjs/components/modal/types.js +1 -0
  78. package/cjs/components/number-format/NumberFormat.d.ts +10 -10
  79. package/cjs/components/pagination/Pagination.d.ts +30 -30
  80. package/cjs/components/pagination/Pagination.js +11 -1
  81. package/cjs/components/pagination/PaginationProvider.d.ts +2 -2
  82. package/cjs/components/radio/Radio.d.ts +5 -5
  83. package/cjs/components/radio/RadioGroup.d.ts +4 -4
  84. package/cjs/components/section/Section.d.ts +3 -2
  85. package/cjs/components/skeleton/Skeleton.d.ts +2 -2
  86. package/cjs/components/slider/Slider.d.ts +5 -5
  87. package/cjs/components/step-indicator/StepIndicator.d.ts +6 -6
  88. package/cjs/components/step-indicator/StepIndicatorContext.d.ts +1 -1
  89. package/cjs/components/step-indicator/StepIndicatorItem.d.ts +3 -3
  90. package/cjs/components/step-indicator/StepIndicatorItem.js +1 -0
  91. package/cjs/components/step-indicator/StepIndicatorSidebar.d.ts +4 -4
  92. package/cjs/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
  93. package/cjs/components/switch/Switch.d.ts +6 -6
  94. package/cjs/components/tabs/Tabs.d.ts +8 -8
  95. package/cjs/components/tabs/TabsContentWrapper.d.ts +2 -2
  96. package/cjs/components/tabs/TabsCustomContent.d.ts +1 -1
  97. package/cjs/components/tag/Tag.js +157 -0
  98. package/cjs/components/tag/TagContext.js +14 -0
  99. package/cjs/components/tag/TagGroup.js +123 -0
  100. package/cjs/components/tag/index.d.ts +8 -0
  101. package/cjs/components/tag/index.js +52 -0
  102. package/cjs/components/tag/style/_tag.scss +90 -0
  103. package/cjs/components/tag/style/dnb-tag.css +925 -0
  104. package/cjs/components/tag/style/dnb-tag.min.css +1 -0
  105. package/cjs/components/tag/style/dnb-tag.scss +15 -0
  106. package/cjs/components/tag/style/index.d.ts +6 -0
  107. package/cjs/components/tag/style/index.js +3 -0
  108. package/cjs/components/tag/style/themes/_tag-mixins.scss +18 -0
  109. package/cjs/components/tag/style.js +3 -0
  110. package/cjs/components/textarea/Textarea.d.ts +4 -4
  111. package/cjs/components/timeline/Timeline.js +129 -0
  112. package/cjs/components/timeline/TimelineItem.js +149 -0
  113. package/cjs/components/timeline/index.d.ts +8 -0
  114. package/cjs/components/timeline/index.js +52 -0
  115. package/cjs/components/timeline/style/_timeline.scss +42 -0
  116. package/cjs/components/timeline/style/dnb-timeline.css +307 -0
  117. package/cjs/components/timeline/style/dnb-timeline.min.css +1 -0
  118. package/cjs/components/timeline/style/dnb-timeline.scss +12 -0
  119. package/cjs/components/timeline/style/index.d.ts +6 -0
  120. package/cjs/components/timeline/style/index.js +3 -0
  121. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.css +185 -0
  122. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -0
  123. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.scss +105 -0
  124. package/cjs/components/timeline/style/themes/ui.js +3 -0
  125. package/cjs/components/timeline/style.js +3 -0
  126. package/cjs/components/toggle-button/ToggleButton.d.ts +7 -7
  127. package/cjs/components/toggle-button/ToggleButtonGroup.d.ts +4 -4
  128. package/cjs/components/tooltip/Tooltip.d.ts +5 -5
  129. package/cjs/components/tooltip/TooltipContainer.d.ts +3 -3
  130. package/cjs/components/tooltip/TooltipPortal.d.ts +1 -1
  131. package/cjs/components/tooltip/TooltipWithEvents.d.ts +1 -1
  132. package/cjs/elements/Img.d.ts +2 -2
  133. package/cjs/extensions/payment-card/PaymentCard.d.ts +1 -1
  134. package/cjs/extensions/payment-card/style/_payment-card.scss +0 -1
  135. package/cjs/extensions/payment-card/style/dnb-payment-card.css +0 -1
  136. package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  137. package/cjs/fragments/drawer-list/DrawerListProvider.js +1 -0
  138. package/cjs/fragments/scroll-view/ScrollView.js +7 -16
  139. package/cjs/index.d.ts +8 -0
  140. package/cjs/index.js +32 -0
  141. package/cjs/shared/Context.js +11 -4
  142. package/cjs/shared/locales/en-GB.js +5 -0
  143. package/cjs/shared/locales/nb-NO.js +5 -0
  144. package/cjs/style/core/helper-classes/skip-link.scss +1 -1
  145. package/cjs/style/dnb-ui-components.css +716 -0
  146. package/cjs/style/dnb-ui-components.min.css +3 -3
  147. package/cjs/style/dnb-ui-components.scss +4 -0
  148. package/cjs/style/dnb-ui-elements.css +3 -0
  149. package/cjs/style/dnb-ui-elements.min.css +1 -1
  150. package/cjs/style/dnb-ui-extensions.css +0 -1
  151. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  152. package/cjs/style/dnb-ui-tags.css +6 -0
  153. package/cjs/style/dnb-ui-tags.min.css +2 -2
  154. package/cjs/style/elements/code.scss +3 -0
  155. package/cjs/style/themes/theme-open-banking/dnb-theme-open-banking.css +226 -0
  156. package/cjs/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
  157. package/cjs/style/themes/theme-ui/dnb-theme-ui.css +226 -0
  158. package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
  159. package/cjs/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
  160. package/components/Avatar.d.ts +14 -0
  161. package/components/Avatar.js +3 -0
  162. package/components/InfoCard.d.ts +14 -0
  163. package/components/InfoCard.js +3 -0
  164. package/components/Tag.d.ts +14 -0
  165. package/components/Tag.js +3 -0
  166. package/components/Timeline.d.ts +14 -0
  167. package/components/Timeline.js +3 -0
  168. package/components/accordion/Accordion.d.ts +7 -7
  169. package/components/autocomplete/Autocomplete.d.ts +13 -13
  170. package/components/avatar/Avatar.js +89 -0
  171. package/components/avatar/Avatar.tsx +163 -0
  172. package/components/avatar/AvatarGroup.js +94 -0
  173. package/components/avatar/AvatarGroup.tsx +167 -0
  174. package/components/avatar/index.d.ts +8 -0
  175. package/components/avatar/index.js +3 -0
  176. package/components/avatar/style/_avatar.scss +145 -0
  177. package/components/avatar/style/dnb-avatar.css +218 -0
  178. package/components/avatar/style/dnb-avatar.min.css +1 -0
  179. package/components/avatar/style/dnb-avatar.scss +12 -0
  180. package/components/avatar/style/index.d.ts +6 -0
  181. package/components/avatar/style/index.js +1 -0
  182. package/components/avatar/style/themes/dnb-avatar-theme-ui.css +36 -0
  183. package/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -0
  184. package/components/avatar/style/themes/dnb-avatar-theme-ui.scss +29 -0
  185. package/components/avatar/style/themes/ui.js +1 -0
  186. package/components/avatar/style.js +1 -0
  187. package/components/breadcrumb/BreadcrumbItem.js +3 -3
  188. package/components/breadcrumb/BreadcrumbItem.tsx +2 -2
  189. package/components/button/Button.d.ts +7 -7
  190. package/components/button/Button.js +7 -5
  191. package/components/button/style/themes/dnb-button-theme-ui.scss +3 -0
  192. package/components/checkbox/Checkbox.d.ts +3 -3
  193. package/components/date-picker/DatePicker.d.ts +14 -14
  194. package/components/date-picker/DatePicker.js +4 -2
  195. package/components/date-picker/DatePickerAddon.d.ts +1 -1
  196. package/components/date-picker/DatePickerCalendar.d.ts +1 -1
  197. package/components/date-picker/DatePickerFooter.d.ts +1 -0
  198. package/components/date-picker/DatePickerFooter.js +10 -6
  199. package/components/date-picker/DatePickerInput.d.ts +1 -1
  200. package/components/dropdown/Dropdown.d.ts +11 -10
  201. package/components/form-label/FormLabel.d.ts +1 -1
  202. package/components/form-row/FormRow.d.ts +4 -4
  203. package/components/form-set/FormSet.d.ts +5 -5
  204. package/components/global-error/GlobalError.d.ts +1 -1
  205. package/components/global-status/GlobalStatus.d.ts +5 -5
  206. package/components/heading/Heading.d.ts +2 -2
  207. package/components/heading/HeadingProvider.d.ts +2 -2
  208. package/components/help-button/HelpButton.d.ts +1 -1
  209. package/components/help-button/HelpButtonInstance.d.ts +3 -2
  210. package/components/icon/Icon.d.ts +2 -2
  211. package/components/index.d.ts +8 -0
  212. package/components/index.js +5 -1
  213. package/components/info-card/InfoCard.js +140 -0
  214. package/components/info-card/InfoCard.tsx +249 -0
  215. package/components/info-card/index.d.ts +8 -0
  216. package/components/info-card/index.js +3 -0
  217. package/components/info-card/style/_info-card.scss +52 -0
  218. package/components/info-card/style/dnb-info-card.css +135 -0
  219. package/components/info-card/style/dnb-info-card.min.css +1 -0
  220. package/components/info-card/style/dnb-info-card.scss +12 -0
  221. package/components/info-card/style/index.d.ts +6 -0
  222. package/components/info-card/style/index.js +1 -0
  223. package/components/info-card/style.js +1 -0
  224. package/components/input/Input.d.ts +11 -10
  225. package/components/input-masked/InputMasked.d.ts +11 -11
  226. package/components/input-masked/InputMasked.js +6 -4
  227. package/components/input-masked/InputMaskedHooks.js +43 -46
  228. package/components/input-masked/InputMaskedUtils.js +9 -20
  229. package/components/lib.js +9 -1
  230. package/components/modal/Modal.js +146 -278
  231. package/components/modal/Modal.tsx +524 -0
  232. package/components/modal/ModalContent.js +162 -256
  233. package/components/modal/ModalContent.tsx +515 -0
  234. package/components/modal/ModalContext.tsx +10 -0
  235. package/components/modal/ModalRoot.js +145 -0
  236. package/components/modal/ModalRoot.tsx +131 -0
  237. package/components/modal/components/CloseButton.js +72 -0
  238. package/components/modal/components/CloseButton.tsx +56 -0
  239. package/components/modal/components/ModalHeader.js +70 -0
  240. package/components/modal/components/ModalHeader.tsx +79 -0
  241. package/components/modal/components/ModalHeaderBar.js +122 -0
  242. package/components/modal/components/ModalHeaderBar.tsx +118 -0
  243. package/components/modal/{ModalInner.js → components/ModalInner.js} +11 -17
  244. package/components/modal/components/ModalInner.tsx +45 -0
  245. package/components/modal/helpers.js +64 -0
  246. package/components/modal/helpers.ts +63 -0
  247. package/components/modal/types.js +1 -0
  248. package/{cjs/components/modal/Modal.d.ts → components/modal/types.ts} +125 -179
  249. package/components/number-format/NumberFormat.d.ts +10 -10
  250. package/components/pagination/Pagination.d.ts +30 -30
  251. package/components/pagination/Pagination.js +7 -0
  252. package/components/pagination/PaginationProvider.d.ts +2 -2
  253. package/components/radio/Radio.d.ts +5 -5
  254. package/components/radio/RadioGroup.d.ts +4 -4
  255. package/components/section/Section.d.ts +3 -1
  256. package/components/skeleton/Skeleton.d.ts +2 -2
  257. package/components/slider/Slider.d.ts +5 -5
  258. package/components/step-indicator/StepIndicator.d.ts +6 -6
  259. package/components/step-indicator/StepIndicatorContext.d.ts +1 -1
  260. package/components/step-indicator/StepIndicatorItem.d.ts +3 -3
  261. package/components/step-indicator/StepIndicatorItem.js +1 -0
  262. package/components/step-indicator/StepIndicatorSidebar.d.ts +4 -4
  263. package/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
  264. package/components/switch/Switch.d.ts +6 -6
  265. package/components/tabs/Tabs.d.ts +8 -8
  266. package/components/tabs/TabsContentWrapper.d.ts +2 -2
  267. package/components/tabs/TabsCustomContent.d.ts +1 -1
  268. package/components/tag/Tag.js +122 -0
  269. package/components/tag/Tag.tsx +194 -0
  270. package/components/tag/TagContext.js +2 -0
  271. package/components/tag/TagContext.tsx +3 -0
  272. package/components/tag/TagGroup.js +60 -0
  273. package/components/tag/TagGroup.tsx +80 -0
  274. package/components/tag/index.d.ts +8 -0
  275. package/components/tag/index.js +3 -0
  276. package/components/tag/style/_tag.scss +90 -0
  277. package/components/tag/style/dnb-tag.css +925 -0
  278. package/components/tag/style/dnb-tag.min.css +1 -0
  279. package/components/tag/style/dnb-tag.scss +15 -0
  280. package/components/tag/style/index.d.ts +6 -0
  281. package/components/tag/style/index.js +1 -0
  282. package/components/tag/style/themes/_tag-mixins.scss +18 -0
  283. package/components/tag/style.js +1 -0
  284. package/components/textarea/Textarea.d.ts +4 -4
  285. package/components/timeline/Timeline.js +57 -0
  286. package/components/timeline/Timeline.tsx +91 -0
  287. package/components/timeline/TimelineItem.js +112 -0
  288. package/components/timeline/TimelineItem.tsx +193 -0
  289. package/components/timeline/index.d.ts +8 -0
  290. package/components/timeline/index.js +3 -0
  291. package/components/timeline/style/_timeline.scss +42 -0
  292. package/components/timeline/style/dnb-timeline.css +307 -0
  293. package/components/timeline/style/dnb-timeline.min.css +1 -0
  294. package/components/timeline/style/dnb-timeline.scss +12 -0
  295. package/components/timeline/style/index.d.ts +6 -0
  296. package/components/timeline/style/index.js +1 -0
  297. package/components/timeline/style/themes/dnb-timeline-theme-ui.css +185 -0
  298. package/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -0
  299. package/components/timeline/style/themes/dnb-timeline-theme-ui.scss +105 -0
  300. package/components/timeline/style/themes/ui.js +1 -0
  301. package/components/timeline/style.js +1 -0
  302. package/components/toggle-button/ToggleButton.d.ts +7 -7
  303. package/components/toggle-button/ToggleButtonGroup.d.ts +4 -4
  304. package/components/tooltip/Tooltip.d.ts +5 -5
  305. package/components/tooltip/TooltipContainer.d.ts +3 -3
  306. package/components/tooltip/TooltipPortal.d.ts +1 -1
  307. package/components/tooltip/TooltipWithEvents.d.ts +1 -1
  308. package/elements/Img.d.ts +1 -1
  309. package/es/components/Avatar.d.ts +14 -0
  310. package/es/components/Avatar.js +3 -0
  311. package/es/components/InfoCard.d.ts +14 -0
  312. package/es/components/InfoCard.js +3 -0
  313. package/es/components/Tag.d.ts +14 -0
  314. package/es/components/Tag.js +3 -0
  315. package/es/components/Timeline.d.ts +14 -0
  316. package/es/components/Timeline.js +3 -0
  317. package/es/components/accordion/Accordion.d.ts +7 -7
  318. package/es/components/autocomplete/Autocomplete.d.ts +13 -13
  319. package/es/components/avatar/Avatar.js +83 -0
  320. package/es/components/avatar/Avatar.tsx +163 -0
  321. package/es/components/avatar/AvatarGroup.js +89 -0
  322. package/es/components/avatar/AvatarGroup.tsx +167 -0
  323. package/es/components/avatar/index.d.ts +8 -0
  324. package/es/components/avatar/index.js +3 -0
  325. package/es/components/avatar/style/_avatar.scss +145 -0
  326. package/es/components/avatar/style/dnb-avatar.css +218 -0
  327. package/es/components/avatar/style/dnb-avatar.min.css +1 -0
  328. package/es/components/avatar/style/dnb-avatar.scss +12 -0
  329. package/es/components/avatar/style/index.d.ts +6 -0
  330. package/es/components/avatar/style/index.js +1 -0
  331. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.css +36 -0
  332. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -0
  333. package/es/components/avatar/style/themes/dnb-avatar-theme-ui.scss +29 -0
  334. package/es/components/avatar/style/themes/ui.js +1 -0
  335. package/es/components/avatar/style.js +1 -0
  336. package/es/components/breadcrumb/BreadcrumbItem.js +3 -3
  337. package/es/components/breadcrumb/BreadcrumbItem.tsx +2 -2
  338. package/es/components/button/Button.d.ts +8 -8
  339. package/es/components/button/Button.js +7 -5
  340. package/es/components/button/style/themes/dnb-button-theme-ui.scss +3 -0
  341. package/es/components/checkbox/Checkbox.d.ts +3 -3
  342. package/es/components/date-picker/DatePicker.d.ts +14 -14
  343. package/es/components/date-picker/DatePicker.js +4 -2
  344. package/es/components/date-picker/DatePickerAddon.d.ts +1 -1
  345. package/es/components/date-picker/DatePickerCalendar.d.ts +1 -1
  346. package/es/components/date-picker/DatePickerFooter.d.ts +1 -0
  347. package/es/components/date-picker/DatePickerFooter.js +9 -6
  348. package/es/components/date-picker/DatePickerInput.d.ts +1 -1
  349. package/es/components/dropdown/Dropdown.d.ts +11 -10
  350. package/es/components/form-label/FormLabel.d.ts +1 -1
  351. package/es/components/form-row/FormRow.d.ts +4 -4
  352. package/es/components/form-set/FormSet.d.ts +5 -5
  353. package/es/components/global-error/GlobalError.d.ts +1 -1
  354. package/es/components/global-status/GlobalStatus.d.ts +5 -5
  355. package/es/components/heading/Heading.d.ts +2 -2
  356. package/es/components/heading/HeadingProvider.d.ts +2 -2
  357. package/es/components/help-button/HelpButton.d.ts +1 -1
  358. package/es/components/help-button/HelpButtonInstance.d.ts +3 -2
  359. package/es/components/icon/Icon.d.ts +2 -2
  360. package/es/components/icon-primary/IconPrimary.d.ts +2 -2
  361. package/es/components/index.d.ts +8 -0
  362. package/es/components/index.js +5 -1
  363. package/es/components/info-card/InfoCard.js +135 -0
  364. package/es/components/info-card/InfoCard.tsx +249 -0
  365. package/es/components/info-card/index.d.ts +8 -0
  366. package/es/components/info-card/index.js +3 -0
  367. package/es/components/info-card/style/_info-card.scss +52 -0
  368. package/es/components/info-card/style/dnb-info-card.css +135 -0
  369. package/es/components/info-card/style/dnb-info-card.min.css +1 -0
  370. package/es/components/info-card/style/dnb-info-card.scss +12 -0
  371. package/es/components/info-card/style/index.d.ts +6 -0
  372. package/es/components/info-card/style/index.js +1 -0
  373. package/es/components/info-card/style.js +1 -0
  374. package/es/components/input/Input.d.ts +11 -10
  375. package/es/components/input-masked/InputMasked.d.ts +11 -11
  376. package/es/components/input-masked/InputMasked.js +6 -4
  377. package/es/components/input-masked/InputMaskedHooks.js +28 -31
  378. package/es/components/input-masked/InputMaskedUtils.js +7 -18
  379. package/es/components/lib.js +9 -1
  380. package/es/components/modal/Modal.js +127 -251
  381. package/es/components/modal/Modal.tsx +524 -0
  382. package/es/components/modal/ModalContent.js +120 -213
  383. package/es/components/modal/ModalContent.tsx +515 -0
  384. package/es/components/modal/ModalContext.tsx +10 -0
  385. package/es/components/modal/ModalRoot.js +108 -0
  386. package/es/components/modal/ModalRoot.tsx +131 -0
  387. package/es/components/modal/components/CloseButton.js +41 -0
  388. package/es/components/modal/components/CloseButton.tsx +56 -0
  389. package/es/components/modal/components/ModalHeader.js +40 -0
  390. package/es/components/modal/components/ModalHeader.tsx +79 -0
  391. package/es/components/modal/components/ModalHeaderBar.js +88 -0
  392. package/es/components/modal/components/ModalHeaderBar.tsx +118 -0
  393. package/es/components/modal/{ModalInner.js → components/ModalInner.js} +8 -18
  394. package/es/components/modal/components/ModalInner.tsx +45 -0
  395. package/es/components/modal/helpers.js +60 -0
  396. package/es/components/modal/helpers.ts +63 -0
  397. package/es/components/modal/types.js +1 -0
  398. package/es/components/modal/{Modal.d.ts → types.ts} +125 -179
  399. package/es/components/number-format/NumberFormat.d.ts +10 -10
  400. package/es/components/pagination/Pagination.d.ts +30 -30
  401. package/es/components/pagination/Pagination.js +3 -0
  402. package/es/components/pagination/PaginationProvider.d.ts +2 -2
  403. package/es/components/radio/Radio.d.ts +5 -5
  404. package/es/components/radio/RadioGroup.d.ts +4 -4
  405. package/es/components/section/Section.d.ts +3 -2
  406. package/es/components/skeleton/Skeleton.d.ts +2 -2
  407. package/es/components/slider/Slider.d.ts +5 -5
  408. package/es/components/step-indicator/StepIndicator.d.ts +6 -6
  409. package/es/components/step-indicator/StepIndicatorContext.d.ts +1 -1
  410. package/es/components/step-indicator/StepIndicatorItem.d.ts +3 -3
  411. package/es/components/step-indicator/StepIndicatorItem.js +1 -0
  412. package/es/components/step-indicator/StepIndicatorSidebar.d.ts +4 -4
  413. package/es/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
  414. package/es/components/switch/Switch.d.ts +6 -6
  415. package/es/components/tabs/Tabs.d.ts +8 -8
  416. package/es/components/tabs/TabsContentWrapper.d.ts +2 -2
  417. package/es/components/tabs/TabsCustomContent.d.ts +1 -1
  418. package/es/components/tag/Tag.js +115 -0
  419. package/es/components/tag/Tag.tsx +194 -0
  420. package/es/components/tag/TagContext.js +2 -0
  421. package/es/components/tag/TagContext.tsx +3 -0
  422. package/es/components/tag/TagGroup.js +53 -0
  423. package/es/components/tag/TagGroup.tsx +80 -0
  424. package/es/components/tag/index.d.ts +8 -0
  425. package/es/components/tag/index.js +3 -0
  426. package/es/components/tag/style/_tag.scss +90 -0
  427. package/es/components/tag/style/dnb-tag.css +925 -0
  428. package/es/components/tag/style/dnb-tag.min.css +1 -0
  429. package/es/components/tag/style/dnb-tag.scss +15 -0
  430. package/es/components/tag/style/index.d.ts +6 -0
  431. package/es/components/tag/style/index.js +1 -0
  432. package/es/components/tag/style/themes/_tag-mixins.scss +18 -0
  433. package/es/components/tag/style.js +1 -0
  434. package/es/components/textarea/Textarea.d.ts +4 -4
  435. package/es/components/timeline/Timeline.js +48 -0
  436. package/es/components/timeline/Timeline.tsx +91 -0
  437. package/es/components/timeline/TimelineItem.js +111 -0
  438. package/es/components/timeline/TimelineItem.tsx +193 -0
  439. package/es/components/timeline/index.d.ts +8 -0
  440. package/es/components/timeline/index.js +3 -0
  441. package/es/components/timeline/style/_timeline.scss +42 -0
  442. package/es/components/timeline/style/dnb-timeline.css +307 -0
  443. package/es/components/timeline/style/dnb-timeline.min.css +1 -0
  444. package/es/components/timeline/style/dnb-timeline.scss +12 -0
  445. package/es/components/timeline/style/index.d.ts +6 -0
  446. package/es/components/timeline/style/index.js +1 -0
  447. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.css +185 -0
  448. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -0
  449. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.scss +105 -0
  450. package/es/components/timeline/style/themes/ui.js +1 -0
  451. package/es/components/timeline/style.js +1 -0
  452. package/es/components/toggle-button/ToggleButton.d.ts +7 -7
  453. package/es/components/toggle-button/ToggleButtonGroup.d.ts +4 -4
  454. package/es/components/tooltip/Tooltip.d.ts +5 -5
  455. package/es/components/tooltip/TooltipContainer.d.ts +3 -3
  456. package/es/components/tooltip/TooltipPortal.d.ts +1 -1
  457. package/es/components/tooltip/TooltipWithEvents.d.ts +1 -1
  458. package/es/elements/Img.d.ts +2 -2
  459. package/es/extensions/payment-card/PaymentCard.d.ts +1 -1
  460. package/es/extensions/payment-card/style/_payment-card.scss +0 -1
  461. package/es/extensions/payment-card/style/dnb-payment-card.css +0 -1
  462. package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  463. package/es/fragments/drawer-list/DrawerListProvider.js +1 -0
  464. package/es/fragments/scroll-view/ScrollView.js +7 -15
  465. package/es/fragments/scroll-view/ScrollView.tsx +92 -0
  466. package/es/index.d.ts +8 -0
  467. package/es/index.js +5 -1
  468. package/es/shared/Context.js +11 -4
  469. package/es/shared/locales/en-GB.js +5 -0
  470. package/es/shared/locales/nb-NO.js +5 -0
  471. package/es/style/core/helper-classes/skip-link.scss +1 -1
  472. package/es/style/dnb-ui-components.css +716 -0
  473. package/es/style/dnb-ui-components.min.css +3 -3
  474. package/es/style/dnb-ui-components.scss +4 -0
  475. package/es/style/dnb-ui-elements.css +3 -0
  476. package/es/style/dnb-ui-elements.min.css +1 -1
  477. package/es/style/dnb-ui-extensions.css +0 -1
  478. package/es/style/dnb-ui-extensions.min.css +1 -1
  479. package/es/style/dnb-ui-tags.css +6 -0
  480. package/es/style/dnb-ui-tags.min.css +2 -2
  481. package/es/style/elements/code.scss +3 -0
  482. package/es/style/themes/theme-open-banking/dnb-theme-open-banking.css +226 -0
  483. package/es/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
  484. package/es/style/themes/theme-ui/dnb-theme-ui.css +226 -0
  485. package/es/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
  486. package/es/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
  487. package/esm/components/Avatar.d.ts +14 -0
  488. package/esm/components/Avatar.js +3 -0
  489. package/esm/components/InfoCard.d.ts +14 -0
  490. package/esm/components/InfoCard.js +3 -0
  491. package/esm/components/Tag.d.ts +14 -0
  492. package/esm/components/Tag.js +3 -0
  493. package/esm/components/Timeline.d.ts +14 -0
  494. package/esm/components/Timeline.js +3 -0
  495. package/esm/components/accordion/Accordion.d.ts +7 -7
  496. package/esm/components/autocomplete/Autocomplete.d.ts +13 -13
  497. package/esm/components/avatar/Avatar.js +89 -0
  498. package/esm/components/avatar/Avatar.tsx +163 -0
  499. package/esm/components/avatar/AvatarGroup.js +94 -0
  500. package/esm/components/avatar/AvatarGroup.tsx +167 -0
  501. package/esm/components/avatar/index.d.ts +8 -0
  502. package/esm/components/avatar/index.js +3 -0
  503. package/esm/components/avatar/style/_avatar.scss +145 -0
  504. package/esm/components/avatar/style/dnb-avatar.css +218 -0
  505. package/esm/components/avatar/style/dnb-avatar.min.css +1 -0
  506. package/esm/components/avatar/style/dnb-avatar.scss +12 -0
  507. package/esm/components/avatar/style/index.d.ts +6 -0
  508. package/esm/components/avatar/style/index.js +1 -0
  509. package/esm/components/avatar/style/themes/dnb-avatar-theme-ui.css +36 -0
  510. package/esm/components/avatar/style/themes/dnb-avatar-theme-ui.min.css +1 -0
  511. package/esm/components/avatar/style/themes/dnb-avatar-theme-ui.scss +29 -0
  512. package/esm/components/avatar/style/themes/ui.js +1 -0
  513. package/esm/components/avatar/style.js +1 -0
  514. package/esm/components/breadcrumb/BreadcrumbItem.js +3 -3
  515. package/esm/components/breadcrumb/BreadcrumbItem.tsx +2 -2
  516. package/esm/components/button/Button.d.ts +7 -7
  517. package/esm/components/button/Button.js +7 -5
  518. package/esm/components/button/style/themes/dnb-button-theme-ui.scss +3 -0
  519. package/esm/components/checkbox/Checkbox.d.ts +3 -3
  520. package/esm/components/date-picker/DatePicker.d.ts +14 -14
  521. package/esm/components/date-picker/DatePicker.js +4 -2
  522. package/esm/components/date-picker/DatePickerAddon.d.ts +1 -1
  523. package/esm/components/date-picker/DatePickerCalendar.d.ts +1 -1
  524. package/esm/components/date-picker/DatePickerFooter.d.ts +1 -0
  525. package/esm/components/date-picker/DatePickerFooter.js +10 -6
  526. package/esm/components/date-picker/DatePickerInput.d.ts +1 -1
  527. package/esm/components/dropdown/Dropdown.d.ts +11 -10
  528. package/esm/components/form-label/FormLabel.d.ts +1 -1
  529. package/esm/components/form-row/FormRow.d.ts +4 -4
  530. package/esm/components/form-set/FormSet.d.ts +5 -5
  531. package/esm/components/global-error/GlobalError.d.ts +1 -1
  532. package/esm/components/global-status/GlobalStatus.d.ts +5 -5
  533. package/esm/components/heading/Heading.d.ts +2 -2
  534. package/esm/components/heading/HeadingProvider.d.ts +2 -2
  535. package/esm/components/help-button/HelpButton.d.ts +1 -1
  536. package/esm/components/help-button/HelpButtonInstance.d.ts +3 -2
  537. package/esm/components/icon/Icon.d.ts +2 -2
  538. package/esm/components/index.d.ts +8 -0
  539. package/esm/components/index.js +5 -1
  540. package/esm/components/info-card/InfoCard.js +140 -0
  541. package/esm/components/info-card/InfoCard.tsx +249 -0
  542. package/esm/components/info-card/index.d.ts +8 -0
  543. package/esm/components/info-card/index.js +3 -0
  544. package/esm/components/info-card/style/_info-card.scss +52 -0
  545. package/esm/components/info-card/style/dnb-info-card.css +135 -0
  546. package/esm/components/info-card/style/dnb-info-card.min.css +1 -0
  547. package/esm/components/info-card/style/dnb-info-card.scss +12 -0
  548. package/esm/components/info-card/style/index.d.ts +6 -0
  549. package/esm/components/info-card/style/index.js +1 -0
  550. package/esm/components/info-card/style.js +1 -0
  551. package/esm/components/input/Input.d.ts +11 -10
  552. package/esm/components/input-masked/InputMasked.d.ts +11 -11
  553. package/esm/components/input-masked/InputMasked.js +6 -4
  554. package/esm/components/input-masked/InputMaskedHooks.js +43 -46
  555. package/esm/components/input-masked/InputMaskedUtils.js +9 -20
  556. package/esm/components/lib.js +9 -1
  557. package/esm/components/modal/Modal.js +146 -278
  558. package/esm/components/modal/Modal.tsx +524 -0
  559. package/esm/components/modal/ModalContent.js +162 -256
  560. package/esm/components/modal/ModalContent.tsx +515 -0
  561. package/esm/components/modal/ModalContext.tsx +10 -0
  562. package/esm/components/modal/ModalRoot.js +145 -0
  563. package/esm/components/modal/ModalRoot.tsx +131 -0
  564. package/esm/components/modal/components/CloseButton.js +72 -0
  565. package/esm/components/modal/components/CloseButton.tsx +56 -0
  566. package/esm/components/modal/components/ModalHeader.js +70 -0
  567. package/esm/components/modal/components/ModalHeader.tsx +79 -0
  568. package/esm/components/modal/components/ModalHeaderBar.js +122 -0
  569. package/esm/components/modal/components/ModalHeaderBar.tsx +118 -0
  570. package/esm/components/modal/{ModalInner.js → components/ModalInner.js} +11 -17
  571. package/esm/components/modal/components/ModalInner.tsx +45 -0
  572. package/esm/components/modal/helpers.js +64 -0
  573. package/esm/components/modal/helpers.ts +63 -0
  574. package/esm/components/modal/types.js +1 -0
  575. package/esm/components/modal/{Modal.d.ts → types.ts} +125 -179
  576. package/esm/components/number-format/NumberFormat.d.ts +10 -10
  577. package/esm/components/pagination/Pagination.d.ts +30 -30
  578. package/esm/components/pagination/Pagination.js +7 -0
  579. package/esm/components/pagination/PaginationProvider.d.ts +2 -2
  580. package/esm/components/radio/Radio.d.ts +5 -5
  581. package/esm/components/radio/RadioGroup.d.ts +4 -4
  582. package/esm/components/section/Section.d.ts +3 -1
  583. package/esm/components/skeleton/Skeleton.d.ts +2 -2
  584. package/esm/components/slider/Slider.d.ts +5 -5
  585. package/esm/components/step-indicator/StepIndicator.d.ts +6 -6
  586. package/esm/components/step-indicator/StepIndicatorContext.d.ts +1 -1
  587. package/esm/components/step-indicator/StepIndicatorItem.d.ts +3 -3
  588. package/esm/components/step-indicator/StepIndicatorItem.js +1 -0
  589. package/esm/components/step-indicator/StepIndicatorSidebar.d.ts +4 -4
  590. package/esm/components/step-indicator/StepIndicatorTriggerButton.d.ts +1 -1
  591. package/esm/components/switch/Switch.d.ts +6 -6
  592. package/esm/components/tabs/Tabs.d.ts +8 -8
  593. package/esm/components/tabs/TabsContentWrapper.d.ts +2 -2
  594. package/esm/components/tabs/TabsCustomContent.d.ts +1 -1
  595. package/esm/components/tag/Tag.js +122 -0
  596. package/esm/components/tag/Tag.tsx +194 -0
  597. package/esm/components/tag/TagContext.js +2 -0
  598. package/esm/components/tag/TagContext.tsx +3 -0
  599. package/esm/components/tag/TagGroup.js +60 -0
  600. package/esm/components/tag/TagGroup.tsx +80 -0
  601. package/esm/components/tag/index.d.ts +8 -0
  602. package/esm/components/tag/index.js +3 -0
  603. package/esm/components/tag/style/_tag.scss +90 -0
  604. package/esm/components/tag/style/dnb-tag.css +925 -0
  605. package/esm/components/tag/style/dnb-tag.min.css +1 -0
  606. package/esm/components/tag/style/dnb-tag.scss +15 -0
  607. package/esm/components/tag/style/index.d.ts +6 -0
  608. package/esm/components/tag/style/index.js +1 -0
  609. package/esm/components/tag/style/themes/_tag-mixins.scss +18 -0
  610. package/esm/components/tag/style.js +1 -0
  611. package/esm/components/textarea/Textarea.d.ts +4 -4
  612. package/esm/components/timeline/Timeline.js +57 -0
  613. package/esm/components/timeline/Timeline.tsx +91 -0
  614. package/esm/components/timeline/TimelineItem.js +112 -0
  615. package/esm/components/timeline/TimelineItem.tsx +193 -0
  616. package/esm/components/timeline/index.d.ts +8 -0
  617. package/esm/components/timeline/index.js +3 -0
  618. package/esm/components/timeline/style/_timeline.scss +42 -0
  619. package/esm/components/timeline/style/dnb-timeline.css +307 -0
  620. package/esm/components/timeline/style/dnb-timeline.min.css +1 -0
  621. package/esm/components/timeline/style/dnb-timeline.scss +12 -0
  622. package/esm/components/timeline/style/index.d.ts +6 -0
  623. package/esm/components/timeline/style/index.js +1 -0
  624. package/esm/components/timeline/style/themes/dnb-timeline-theme-ui.css +185 -0
  625. package/esm/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -0
  626. package/esm/components/timeline/style/themes/dnb-timeline-theme-ui.scss +105 -0
  627. package/esm/components/timeline/style/themes/ui.js +1 -0
  628. package/esm/components/timeline/style.js +1 -0
  629. package/esm/components/toggle-button/ToggleButton.d.ts +7 -7
  630. package/esm/components/toggle-button/ToggleButtonGroup.d.ts +4 -4
  631. package/esm/components/tooltip/Tooltip.d.ts +5 -5
  632. package/esm/components/tooltip/TooltipContainer.d.ts +3 -3
  633. package/esm/components/tooltip/TooltipPortal.d.ts +1 -1
  634. package/esm/components/tooltip/TooltipWithEvents.d.ts +1 -1
  635. package/esm/dnb-ui-components.min.mjs +4 -4
  636. package/esm/dnb-ui-elements.min.mjs +1 -1
  637. package/esm/dnb-ui-extensions.min.mjs +3 -3
  638. package/esm/dnb-ui-lib.min.mjs +4 -4
  639. package/esm/dnb-ui-web-components.min.mjs +4 -4
  640. package/esm/elements/Img.d.ts +1 -1
  641. package/esm/extensions/payment-card/PaymentCard.d.ts +1 -1
  642. package/esm/extensions/payment-card/style/_payment-card.scss +0 -1
  643. package/esm/extensions/payment-card/style/dnb-payment-card.css +0 -1
  644. package/esm/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  645. package/esm/fragments/drawer-list/DrawerListProvider.js +1 -0
  646. package/esm/fragments/scroll-view/ScrollView.js +10 -16
  647. package/esm/fragments/scroll-view/ScrollView.tsx +92 -0
  648. package/esm/index.d.ts +8 -0
  649. package/esm/index.js +5 -1
  650. package/esm/shared/Context.js +11 -4
  651. package/esm/shared/locales/en-GB.js +5 -0
  652. package/esm/shared/locales/nb-NO.js +5 -0
  653. package/esm/style/core/helper-classes/skip-link.scss +1 -1
  654. package/esm/style/dnb-ui-components.css +716 -0
  655. package/esm/style/dnb-ui-components.min.css +3 -3
  656. package/esm/style/dnb-ui-components.scss +4 -0
  657. package/esm/style/dnb-ui-elements.css +3 -0
  658. package/esm/style/dnb-ui-elements.min.css +1 -1
  659. package/esm/style/dnb-ui-extensions.css +0 -1
  660. package/esm/style/dnb-ui-extensions.min.css +1 -1
  661. package/esm/style/dnb-ui-tags.css +6 -0
  662. package/esm/style/dnb-ui-tags.min.css +2 -2
  663. package/esm/style/elements/code.scss +3 -0
  664. package/esm/style/themes/theme-open-banking/dnb-theme-open-banking.css +226 -0
  665. package/esm/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
  666. package/esm/style/themes/theme-ui/dnb-theme-ui.css +226 -0
  667. package/esm/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
  668. package/esm/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
  669. package/extensions/payment-card/PaymentCard.d.ts +1 -1
  670. package/extensions/payment-card/style/_payment-card.scss +0 -1
  671. package/extensions/payment-card/style/dnb-payment-card.css +0 -1
  672. package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  673. package/fragments/drawer-list/DrawerListProvider.js +1 -0
  674. package/fragments/scroll-view/ScrollView.js +10 -16
  675. package/fragments/scroll-view/ScrollView.tsx +92 -0
  676. package/index.d.ts +8 -0
  677. package/index.js +5 -1
  678. package/package.json +2 -3
  679. package/shared/Context.js +11 -4
  680. package/shared/locales/en-GB.js +5 -0
  681. package/shared/locales/nb-NO.js +5 -0
  682. package/style/core/helper-classes/skip-link.scss +1 -1
  683. package/style/dnb-ui-components.css +716 -0
  684. package/style/dnb-ui-components.min.css +3 -3
  685. package/style/dnb-ui-components.scss +4 -0
  686. package/style/dnb-ui-elements.css +3 -0
  687. package/style/dnb-ui-elements.min.css +1 -1
  688. package/style/dnb-ui-extensions.css +0 -1
  689. package/style/dnb-ui-extensions.min.css +1 -1
  690. package/style/dnb-ui-tags.css +6 -0
  691. package/style/dnb-ui-tags.min.css +2 -2
  692. package/style/elements/code.scss +3 -0
  693. package/style/themes/theme-open-banking/dnb-theme-open-banking.css +226 -0
  694. package/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +3 -3
  695. package/style/themes/theme-ui/dnb-theme-ui.css +226 -0
  696. package/style/themes/theme-ui/dnb-theme-ui.min.css +3 -3
  697. package/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
  698. package/umd/dnb-ui-components.min.js +5 -5
  699. package/umd/dnb-ui-elements.min.js +3 -3
  700. package/umd/dnb-ui-extensions.min.js +3 -3
  701. package/umd/dnb-ui-lib.min.js +5 -5
  702. package/umd/dnb-ui-web-components.min.js +5 -5
  703. package/cjs/components/modal/ModalContent.d.ts +0 -168
  704. package/cjs/components/modal/ModalHeader.d.ts +0 -73
  705. package/cjs/components/modal/ModalInner.d.ts +0 -20
  706. package/cjs/fragments/scroll-view/ScrollView.d.ts +0 -1
  707. package/components/modal/Modal.d.ts +0 -325
  708. package/components/modal/ModalContent.d.ts +0 -168
  709. package/components/modal/ModalHeader.d.ts +0 -73
  710. package/components/modal/ModalHeader.js +0 -224
  711. package/components/modal/ModalInner.d.ts +0 -20
  712. package/es/components/modal/ModalContent.d.ts +0 -168
  713. package/es/components/modal/ModalHeader.d.ts +0 -73
  714. package/es/components/modal/ModalHeader.js +0 -166
  715. package/es/components/modal/ModalInner.d.ts +0 -20
  716. package/es/fragments/scroll-view/ScrollView.d.ts +0 -1
  717. package/esm/components/modal/ModalContent.d.ts +0 -168
  718. package/esm/components/modal/ModalHeader.d.ts +0 -73
  719. package/esm/components/modal/ModalHeader.js +0 -224
  720. package/esm/components/modal/ModalInner.d.ts +0 -20
  721. package/esm/fragments/scroll-view/ScrollView.d.ts +0 -1
  722. package/fragments/scroll-view/ScrollView.d.ts +0 -1
@@ -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
 
@@ -81,7 +81,7 @@ export interface TabsProps extends React.HTMLProps<HTMLElement> {
81
81
  content_style?: string;
82
82
 
83
83
  /**
84
- * To modify the `spacing` on to the content wrapper. Use a supported modifier from the <a href="/uilib/components/section/properties">Section component</a>. Defaults to `true`.
84
+ * To modify the `spacing` onto the content wrapper. Use a supported modifier from the <a href="/uilib/components/section/properties">Section component</a>. Defaults to `true`.
85
85
  */
86
86
  content_spacing?: TabsContentSpacing;
87
87
  label?: string;
@@ -107,7 +107,7 @@ export interface TabsProps extends React.HTMLProps<HTMLElement> {
107
107
  tabs_style?: string;
108
108
 
109
109
  /**
110
- * To modify the `spacing` inside the tabs list. Use a supported modifier from the <a href="/uilib/components/section/properties">Section component</a>. Defaults to `false`.
110
+ * To modify the `spacing` inside the tab list. Use a supported modifier from the <a href="/uilib/components/section/properties">Section component</a>. Defaults to `false`.
111
111
  */
112
112
  tabs_spacing?: TabsTabsSpacing;
113
113
  use_hash?: TabsUseHash;
@@ -118,7 +118,7 @@ export interface TabsProps extends React.HTMLProps<HTMLElement> {
118
118
  prerender?: TabsPrerender;
119
119
 
120
120
  /**
121
- * If set to `true`, the Tabs content will stay in the DOM. The visibility will be handled by using the `hidden` and `aria-hidden` HTML attributes. Similar to `prerender`, but in contrast, the content will render once the users is activating a tab. Defaults to `false`.
121
+ * If set to `true`, the Tabs content will stay in the DOM. The visibility will be handled by using the `hidden` and `aria-hidden` HTML attributes. Similar to `prerender`, but in contrast, the content will render once the user is activating a tab. Defaults to `false`.
122
122
  */
123
123
  prevent_rerender?: TabsPreventRerender;
124
124
 
@@ -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;
@@ -172,7 +172,7 @@ export interface TabsProps extends React.HTMLProps<HTMLElement> {
172
172
  on_change?: (...args: any[]) => any;
173
173
 
174
174
  /**
175
- * This event gets triggered once the a users mouse enters a tab (hover). Returns `{ key, selected_key, focus_key, event }`.
175
+ * This event gets triggered once the user&#39;s mouse enters a tab (hover). Returns `{ key, selected_key, focus_key, event }`.
176
176
  */
177
177
  on_mouse_enter?: (...args: any[]) => any;
178
178
 
@@ -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
  }
@@ -22,12 +22,12 @@ export interface ContentWrapperProps extends React.HTMLProps<HTMLElement> {
22
22
  content_style?: string;
23
23
 
24
24
  /**
25
- * To modify the `spacing` on to the content wrapper. Use a supported modifier from the <a href="/uilib/components/section/properties">Section component</a>. Defaults to `true`.
25
+ * To modify the `spacing` onto the content wrapper. Use a supported modifier from the <a href="/uilib/components/section/properties">Section component</a>. Defaults to `true`.
26
26
  */
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;
@@ -0,0 +1,122 @@
1
+ import "core-js/modules/es.object.keys.js";
2
+ import "core-js/modules/es.symbol.js";
3
+ import "core-js/modules/es.array.filter.js";
4
+ import "core-js/modules/es.object.to-string.js";
5
+ import "core-js/modules/es.object.get-own-property-descriptor.js";
6
+ import "core-js/modules/web.dom-collections.for-each.js";
7
+ import "core-js/modules/es.object.get-own-property-descriptors.js";
8
+ import _extends from "@babel/runtime/helpers/esm/extends";
9
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
10
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
11
+
12
+ var _IconPrimary;
13
+
14
+ var _excluded = ["className", "skeleton", "children", "text", "onClick", "onDelete", "omitOnKeyUpDeleteEvent"];
15
+
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; }
17
+
18
+ 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; }
19
+
20
+ import React from 'react';
21
+ import classnames from 'classnames';
22
+ import IconPrimary from '../icon-primary/IconPrimary';
23
+ import Button from '../button/Button';
24
+ import Context from '../../shared/Context';
25
+ import { warn, extendPropsWithContext } from '../../shared/component-helper';
26
+ import TagGroup from './TagGroup';
27
+ import { TagGroupContext } from './TagContext';
28
+ export var defaultProps = {
29
+ className: null,
30
+ skeleton: false,
31
+ text: null,
32
+ children: null,
33
+ icon: null,
34
+ onClick: null,
35
+ onDelete: null,
36
+ omitOnKeyUpDeleteEvent: false
37
+ };
38
+
39
+ var Tag = function Tag(localProps) {
40
+ var _context$translation;
41
+
42
+ var context = React.useContext(Context);
43
+ var tagGroupContext = React.useContext(TagGroupContext);
44
+
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),
46
+ className = _extendPropsWithConte.className,
47
+ skeleton = _extendPropsWithConte.skeleton,
48
+ children = _extendPropsWithConte.children,
49
+ text = _extendPropsWithConte.text,
50
+ onClick = _extendPropsWithConte.onClick,
51
+ onDelete = _extendPropsWithConte.onDelete,
52
+ omitOnKeyUpDeleteEvent = _extendPropsWithConte.omitOnKeyUpDeleteEvent,
53
+ props = _objectWithoutProperties(_extendPropsWithConte, _excluded);
54
+
55
+ var content = text || children;
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
+ };
120
+
121
+ Tag.Group = TagGroup;
122
+ export default Tag;
@@ -0,0 +1,194 @@
1
+ import React from 'react'
2
+ import classnames from 'classnames'
3
+
4
+ // Components
5
+ import IconPrimary, { IconPrimaryIcon } from '../icon-primary/IconPrimary'
6
+ import Button from '../button/Button'
7
+
8
+ // Shared
9
+ import Context from '../../shared/Context'
10
+ import { ISpacingProps, SkeletonTypes } from '../../shared/interfaces'
11
+ import {
12
+ warn,
13
+ extendPropsWithContext,
14
+ } from '../../shared/component-helper'
15
+
16
+ // Internal
17
+ import TagGroup from './TagGroup'
18
+ import { TagGroupContext } from './TagContext'
19
+
20
+ export interface TagProps {
21
+ /**
22
+ * The content of the tag element, can be a string or a React Element.
23
+ * Default: null
24
+ */
25
+ text?: string | React.ReactNode
26
+
27
+ /**
28
+ * Icon displaying on the left side
29
+ * Default: null
30
+ */
31
+ icon?: IconPrimaryIcon
32
+
33
+ /**
34
+ * Custom className on the component root
35
+ * Default: null
36
+ */
37
+ className?: string
38
+
39
+ /**
40
+ * Skeleton should be applied when loading content
41
+ * Default: null
42
+ */
43
+ skeleton?: SkeletonTypes
44
+
45
+ /**
46
+ * The content of the tag element, can be a string or a React Element. Will be overwritten by text prop
47
+ * Default: null
48
+ */
49
+ children?: string | React.ReactNode // ReactNode allows multiple elements, strings, numbers, fragments, portals...
50
+
51
+ /**
52
+ * Handle the click event on 'tag' element
53
+ * Default: null
54
+ */
55
+ onClick?: React.MouseEventHandler<HTMLButtonElement>
56
+
57
+ /**
58
+ * Handle the delete event on 'tag' element
59
+ * Default: null
60
+ */
61
+ onDelete?: React.MouseEventHandler<HTMLButtonElement>
62
+
63
+ /**
64
+ * Handle the delete event on 'tag' element
65
+ * Default: null
66
+ */
67
+ omitOnKeyUpDeleteEvent?: boolean
68
+ }
69
+
70
+ export const defaultProps = {
71
+ className: null,
72
+ skeleton: false,
73
+ text: null,
74
+ children: null,
75
+ icon: null,
76
+ onClick: null,
77
+ onDelete: null,
78
+ omitOnKeyUpDeleteEvent: false,
79
+ }
80
+
81
+ const Tag = (localProps: TagProps & ISpacingProps) => {
82
+ // Every component should have a context
83
+ const context = React.useContext(Context)
84
+ const tagGroupContext = React.useContext(TagGroupContext)
85
+
86
+ // Extract additional props from global context
87
+ const {
88
+ className,
89
+ skeleton,
90
+ children,
91
+ text,
92
+ onClick,
93
+ onDelete,
94
+ omitOnKeyUpDeleteEvent,
95
+ ...props
96
+ } = extendPropsWithContext(
97
+ { ...defaultProps, ...localProps },
98
+ defaultProps,
99
+ context?.translation?.Tag,
100
+ context?.Tag,
101
+ tagGroupContext
102
+ )
103
+
104
+ const content = text || children
105
+ const isClickable = !!onClick
106
+ const isRemovable = !!onDelete && !isClickable
107
+ const isInteractive = isClickable || isRemovable
108
+
109
+ const tagClassNames = classnames(
110
+ 'dnb-tag',
111
+ className,
112
+ isInteractive && 'dnb-tag--interactive',
113
+ isRemovable && 'dnb-tag--removable'
114
+ )
115
+
116
+ const isDeleteKeyboardEvent = (keyboardEvent) => {
117
+ return (
118
+ keyboardEvent.key === 'Backspace' || keyboardEvent.key === 'Delete'
119
+ )
120
+ }
121
+
122
+ const handleKeyUp = (event) => {
123
+ if (onDelete && isDeleteKeyboardEvent(event)) {
124
+ onDelete(event)
125
+ }
126
+ }
127
+
128
+ if (!isInteractive) {
129
+ props.element = 'span'
130
+ props.type = ''
131
+ }
132
+
133
+ if (isRemovable) {
134
+ props.icon = getDeleteIcon()
135
+ }
136
+
137
+ if (!tagGroupContext) {
138
+ warn(
139
+ `Tag group required: A Tag requires a Tag.Group with label description as a parent component. This is to ensure correct semantic and accessibility.`
140
+ )
141
+ }
142
+
143
+ return (
144
+ <Button
145
+ data-testid="tag"
146
+ variant="unstyled"
147
+ size="small"
148
+ icon_position={isRemovable ? 'right' : 'left'}
149
+ className={tagClassNames}
150
+ on_click={onClick || onDelete}
151
+ text={content}
152
+ skeleton={skeleton}
153
+ onKeyUp={
154
+ isRemovable && !omitOnKeyUpDeleteEvent
155
+ ? (e) => handleKeyUp(e)
156
+ : undefined
157
+ }
158
+ {...props}
159
+ />
160
+ )
161
+
162
+ function getDeleteIcon() {
163
+ return (
164
+ <IconPrimary
165
+ data-testid="tag-delete-icon"
166
+ inherit_color={false}
167
+ icon={
168
+ <svg
169
+ width="16"
170
+ height="16"
171
+ fill="none"
172
+ xmlns="http://www.w3.org/2000/svg"
173
+ >
174
+ <path
175
+ d="M0 8a8 8 0 1 1 16 0A8 8 0 1 1 0 8Z"
176
+ className="dnb-icon-close-circle-path"
177
+ />
178
+ <path
179
+ d="m5.5 10.5 5-5m0 5-5-5"
180
+ className="dnb-icon-close-cross-path"
181
+ strokeWidth="1.5"
182
+ strokeLinecap="round"
183
+ strokeLinejoin="round"
184
+ />
185
+ </svg>
186
+ }
187
+ />
188
+ )
189
+ }
190
+ }
191
+
192
+ Tag.Group = TagGroup
193
+
194
+ export default Tag
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export var TagGroupContext = React.createContext(null);
@@ -0,0 +1,3 @@
1
+ import React from 'react'
2
+
3
+ export const TagGroupContext = React.createContext(null)
@@ -0,0 +1,60 @@
1
+ import "core-js/modules/es.object.keys.js";
2
+ import "core-js/modules/es.symbol.js";
3
+ import "core-js/modules/es.array.filter.js";
4
+ import "core-js/modules/es.object.to-string.js";
5
+ import "core-js/modules/es.object.get-own-property-descriptor.js";
6
+ import "core-js/modules/web.dom-collections.for-each.js";
7
+ import "core-js/modules/es.object.get-own-property-descriptors.js";
8
+ import _extends from "@babel/runtime/helpers/esm/extends";
9
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
10
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
11
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
12
+ var _excluded = ["label", "className", "children"];
13
+ import "core-js/modules/es.array.map.js";
14
+
15
+ 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; }
16
+
17
+ 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; }
18
+
19
+ import React from 'react';
20
+ import classnames from 'classnames';
21
+ import { createSpacingClasses } from '../space/SpacingHelper';
22
+ import Context from '../../shared/Context';
23
+ import { extendPropsWithContext } from '../../shared/component-helper';
24
+ import { TagGroupContext } from './TagContext';
25
+ export var defaultProps = {
26
+ label: null,
27
+ className: null,
28
+ children: null
29
+ };
30
+
31
+ function TagGroup(localProps) {
32
+ var context = React.useContext(Context);
33
+
34
+ var _extendPropsWithConte = extendPropsWithContext(_objectSpread(_objectSpread({}, defaultProps), localProps), defaultProps, context === null || context === void 0 ? void 0 : context.TagGroup),
35
+ label = _extendPropsWithConte.label,
36
+ className = _extendPropsWithConte.className,
37
+ childrenProp = _extendPropsWithConte.children,
38
+ props = _objectWithoutProperties(_extendPropsWithConte, _excluded);
39
+
40
+ var children = childrenProp;
41
+
42
+ if (Array.isArray(childrenProp)) {
43
+ children = _toConsumableArray(childrenProp).map(function (child) {
44
+ return child;
45
+ });
46
+ }
47
+
48
+ var spacingClasses = createSpacingClasses(props);
49
+ return React.createElement(TagGroupContext.Provider, {
50
+ value: props
51
+ }, React.createElement("div", _extends({
52
+ className: classnames('dnb-tag__group', spacingClasses, className),
53
+ "data-testid": "tag-group"
54
+ }, props), React.createElement("span", {
55
+ "data-testid": "tag-group-label",
56
+ className: "dnb-sr-only"
57
+ }, label), children));
58
+ }
59
+
60
+ export default TagGroup;
@@ -0,0 +1,80 @@
1
+ import React from 'react'
2
+ import classnames from 'classnames'
3
+
4
+ // Components
5
+ import { createSpacingClasses } from '../space/SpacingHelper'
6
+
7
+ // Shared
8
+ import Context from '../../shared/Context'
9
+ import { ISpacingProps } from '../../shared/interfaces'
10
+ import { extendPropsWithContext } from '../../shared/component-helper'
11
+ import { TagGroupContext } from './TagContext'
12
+
13
+ export interface TagGroupProps {
14
+ /**
15
+ * Aria label to describe the tag group
16
+ * Default: null
17
+ */
18
+ label: string
19
+
20
+ /**
21
+ * Custom className on the component root
22
+ * Default: null
23
+ */
24
+ className?: string
25
+
26
+ /**
27
+ * The tags to group.
28
+ * Default: null
29
+ */
30
+ children?: React.ReactNode
31
+ }
32
+
33
+ export const defaultProps = {
34
+ label: null,
35
+ className: null,
36
+ children: null,
37
+ }
38
+
39
+ function TagGroup(localProps: TagGroupProps & ISpacingProps) {
40
+ // Every component should have a context
41
+ const context = React.useContext(Context)
42
+ // Extract additional props from global context
43
+ const {
44
+ label,
45
+ className,
46
+ children: childrenProp,
47
+ ...props
48
+ } = extendPropsWithContext(
49
+ { ...defaultProps, ...localProps },
50
+ defaultProps,
51
+ context?.TagGroup
52
+ )
53
+
54
+ let children = childrenProp
55
+
56
+ if (Array.isArray(childrenProp)) {
57
+ children = [...childrenProp].map((child) => {
58
+ return child
59
+ })
60
+ }
61
+
62
+ const spacingClasses = createSpacingClasses(props)
63
+
64
+ return (
65
+ <TagGroupContext.Provider value={props}>
66
+ <div
67
+ className={classnames('dnb-tag__group', spacingClasses, className)}
68
+ data-testid="tag-group"
69
+ {...props}
70
+ >
71
+ <span data-testid="tag-group-label" className="dnb-sr-only">
72
+ {label}
73
+ </span>
74
+ {children}
75
+ </div>
76
+ </TagGroupContext.Provider>
77
+ )
78
+ }
79
+
80
+ export default TagGroup
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Component Entry
3
+ *
4
+ */
5
+
6
+ import Tag from './Tag'
7
+ export default Tag
8
+ export * from './Tag'
@@ -0,0 +1,3 @@
1
+ import Tag from './Tag';
2
+ export default Tag;
3
+ export * from './Tag';
@@ -0,0 +1,90 @@
1
+ /*
2
+ * Tag component
3
+ *
4
+ */
5
+
6
+ @import '../../button/style/themes/_button-mixins.scss';
7
+ @import './themes/_tag-mixins.scss';
8
+
9
+ .dnb-tag {
10
+ &.dnb-button {
11
+ appearance: none;
12
+ background-color: var(--color-black-8);
13
+
14
+ &.dnb-button--size-small {
15
+ padding-left: 0.5rem;
16
+ padding-right: 0.5rem;
17
+ }
18
+
19
+ &.dnb-button--size-small.dnb-button--has-icon {
20
+ padding-left: 0;
21
+ }
22
+
23
+ .dnb-button__text {
24
+ font-size: var(--font-size-x-small);
25
+ transform: none;
26
+ }
27
+ }
28
+
29
+ &:not(#{&}--interactive) {
30
+ user-select: unset;
31
+ cursor: unset;
32
+ .dnb-button__text {
33
+ cursor: text;
34
+ }
35
+ }
36
+
37
+ &--interactive {
38
+ &.dnb-button {
39
+ color: var(--color-sea-green);
40
+
41
+ @include fakeBorder(var(--color-sea-green), 0.0625rem, inset, true);
42
+ @include buttonHover(var(--color-sea-green), var(--color-black-8));
43
+ @include buttonFocus(var(--color-sea-green), var(--color-black-8));
44
+ @include buttonActive(
45
+ var(--color-sea-green),
46
+ var(--color-mint-green-50)
47
+ );
48
+ &[disabled] {
49
+ color: var(--color-sea-green-30);
50
+ background-color: var(--color-white);
51
+ @include fakeBorder(var(--color-sea-green-30));
52
+ }
53
+ }
54
+ }
55
+
56
+ &--removable {
57
+ &.dnb-button {
58
+ color: var(--color-white);
59
+ background-color: var(--color-sea-green);
60
+ @include deleteIcon(var(--color-white), var(--color-sea-green));
61
+
62
+ @include buttonFocus(var(--color-sea-green), var(--color-white)) {
63
+ @include deleteIcon();
64
+ }
65
+ @include buttonHover(var(--color-sea-green), var(--color-white)) {
66
+ @include deleteIcon();
67
+ }
68
+ @include buttonActive(
69
+ var(--color-sea-green),
70
+ var(--color-mint-green-50)
71
+ ) {
72
+ @include deleteIcon();
73
+ }
74
+ &[disabled] {
75
+ @include deleteIcon(
76
+ var(--color-mint-green-50),
77
+ var(--color-sea-green-30)
78
+ );
79
+ }
80
+
81
+ .dnb-button__text {
82
+ padding-left: 0.5rem;
83
+ }
84
+ }
85
+
86
+ &.dnb-button--size-small.dnb-button--has-icon {
87
+ padding-right: 0;
88
+ }
89
+ }
90
+ }