@dnb/eufemia 9.26.1 → 9.29.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 (831) hide show
  1. package/CHANGELOG.md +88 -0
  2. package/assets/icons/bookmark.svg +1 -0
  3. package/assets/icons/bookmark_medium.svg +1 -0
  4. package/assets/icons/calendar_cancel.svg +1 -0
  5. package/assets/icons/calendar_cancel_medium.svg +1 -0
  6. package/assets/icons/eufemia-icons-pdf-categorized.tgz +0 -0
  7. package/assets/icons/eufemia-icons-pdf.tgz +0 -0
  8. package/assets/icons/exclamation.svg +1 -1
  9. package/assets/icons/exclamation_circled.svg +1 -1
  10. package/assets/icons/exclamation_medium.svg +1 -1
  11. package/assets/icons/reply.svg +1 -1
  12. package/assets/icons/reply_medium.svg +1 -1
  13. package/assets/icons/stopwatch.svg +1 -1
  14. package/cjs/components/Badge.d.ts +3 -0
  15. package/cjs/components/{slider/web-component.js → Badge.js} +6 -9
  16. package/cjs/components/Style.d.ts +1 -0
  17. package/cjs/components/Style.js +52 -0
  18. package/cjs/components/Table.d.ts +3 -0
  19. package/cjs/components/Table.js +52 -0
  20. package/cjs/components/accordion/AccordionContent.js +1 -1
  21. package/cjs/components/autocomplete/Autocomplete.d.ts +9 -0
  22. package/cjs/components/autocomplete/Autocomplete.js +62 -24
  23. package/cjs/components/autocomplete/style/_autocomplete.scss +73 -6
  24. package/cjs/components/autocomplete/style/dnb-autocomplete.css +79 -14
  25. package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +2 -2
  26. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +7 -0
  27. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
  28. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +8 -0
  29. package/cjs/components/avatar/Avatar.js +14 -12
  30. package/cjs/components/avatar/style/_avatar.scss +1 -0
  31. package/cjs/components/avatar/style/dnb-avatar.css +1 -0
  32. package/cjs/components/avatar/style/dnb-avatar.min.css +1 -1
  33. package/cjs/components/badge/Badge.d.ts +58 -0
  34. package/cjs/components/badge/Badge.js +124 -0
  35. package/cjs/components/badge/index.d.ts +8 -0
  36. package/cjs/components/badge/index.js +52 -0
  37. package/cjs/components/badge/style/_badge.scss +74 -0
  38. package/cjs/components/badge/style/dnb-badge.css +151 -0
  39. package/cjs/components/badge/style/dnb-badge.min.css +1 -0
  40. package/cjs/components/badge/style/dnb-badge.scss +12 -0
  41. package/cjs/components/badge/style/index.d.ts +6 -0
  42. package/cjs/components/badge/style/index.js +3 -0
  43. package/cjs/components/badge/style/themes/dnb-badge-theme-ui.css +21 -0
  44. package/cjs/components/badge/style/themes/dnb-badge-theme-ui.min.css +1 -0
  45. package/cjs/components/badge/style/themes/dnb-badge-theme-ui.scss +17 -0
  46. package/cjs/components/badge/style/themes/ui.d.ts +1 -0
  47. package/cjs/components/badge/style/themes/ui.js +3 -0
  48. package/cjs/components/badge/style.d.ts +1 -0
  49. package/cjs/components/badge/style.js +3 -0
  50. package/cjs/components/breadcrumb/Breadcrumb.js +20 -18
  51. package/cjs/components/button/Button.d.ts +5 -3
  52. package/cjs/components/date-picker/DatePicker.d.ts +6 -0
  53. package/cjs/components/date-picker/DatePicker.js +9 -4
  54. package/cjs/components/date-picker/DatePickerFooter.js +3 -3
  55. package/cjs/components/date-picker/DatePickerInput.d.ts +6 -0
  56. package/cjs/components/date-picker/DatePickerInput.js +37 -23
  57. package/cjs/components/date-picker/style/_date-picker.scss +40 -0
  58. package/cjs/components/date-picker/style/dnb-date-picker.css +52 -8
  59. package/cjs/components/date-picker/style/dnb-date-picker.min.css +2 -2
  60. package/cjs/components/dialog/Dialog.js +7 -3
  61. package/cjs/components/dialog/DialogContent.js +6 -3
  62. package/cjs/components/dialog/style/_dialog.scss +24 -35
  63. package/cjs/components/dialog/style/dnb-dialog.css +69 -99
  64. package/cjs/components/dialog/style/dnb-dialog.min.css +1 -1
  65. package/cjs/components/dialog/style/themes/dnb-dialog-theme-ui.css +0 -2
  66. package/cjs/components/dialog/style/themes/dnb-dialog-theme-ui.min.css +1 -1
  67. package/cjs/components/dialog/style/themes/dnb-dialog-theme-ui.scss +0 -7
  68. package/cjs/components/dialog/types.d.ts +9 -2
  69. package/cjs/components/drawer/DrawerContent.js +7 -1
  70. package/cjs/components/drawer/style/_drawer.scss +6 -13
  71. package/cjs/components/drawer/style/dnb-drawer.css +54 -71
  72. package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
  73. package/cjs/components/drawer/style/themes/dnb-drawer-theme-ui.css +0 -2
  74. package/cjs/components/drawer/style/themes/dnb-drawer-theme-ui.min.css +1 -1
  75. package/cjs/components/drawer/style/themes/dnb-drawer-theme-ui.scss +0 -7
  76. package/cjs/components/dropdown/Dropdown.d.ts +25 -0
  77. package/cjs/components/dropdown/Dropdown.js +1 -1
  78. package/cjs/components/form-row/FormRow.js +11 -20
  79. package/cjs/components/form-row/FormRowHelpers.d.ts +7 -0
  80. package/cjs/components/form-row/FormRowHelpers.js +32 -0
  81. package/cjs/components/icon/Icon.js +5 -9
  82. package/cjs/components/icon/IconHelpers.d.ts +1 -0
  83. package/cjs/components/icon/IconHelpers.js +16 -0
  84. package/cjs/components/index.d.ts +3 -1
  85. package/cjs/components/index.js +16 -0
  86. package/cjs/components/input/Input.d.ts +6 -1
  87. package/cjs/components/input/Input.js +12 -2
  88. package/cjs/components/input/style/_input.scss +11 -9
  89. package/cjs/components/input/style/dnb-input.css +7 -8
  90. package/cjs/components/input/style/dnb-input.min.css +1 -1
  91. package/cjs/components/input-masked/InputMasked.d.ts +6 -1
  92. package/cjs/components/input-masked/InputMaskedUtils.js +11 -4
  93. package/cjs/components/input-masked/addons/createNumberMask.d.ts +1 -2
  94. package/cjs/components/input-masked/addons/createNumberMask.js +1 -14
  95. package/cjs/components/input-masked/style/dnb-input-masked.css +7 -8
  96. package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
  97. package/cjs/components/lib.d.ts +8 -1
  98. package/cjs/components/lib.js +18 -0
  99. package/cjs/components/modal/Modal.d.ts +1 -22
  100. package/cjs/components/modal/Modal.js +4 -1
  101. package/cjs/components/modal/ModalContent.d.ts +7 -2
  102. package/cjs/components/modal/ModalContent.js +111 -72
  103. package/cjs/components/modal/ModalContext.d.ts +1 -0
  104. package/cjs/components/modal/ModalContext.js +1 -0
  105. package/cjs/components/modal/parts/CloseButton.d.ts +3 -24
  106. package/cjs/components/modal/parts/ModalHeader.d.ts +1 -0
  107. package/cjs/components/modal/parts/ModalHeaderBar.d.ts +3 -2
  108. package/cjs/components/modal/parts/ModalInner.d.ts +1 -0
  109. package/cjs/components/modal/style/_modal-mixins.scss +1 -0
  110. package/cjs/components/modal/style/_modal.scss +0 -4
  111. package/cjs/components/modal/style/dnb-modal.css +42 -59
  112. package/cjs/components/modal/style/dnb-modal.min.css +1 -1
  113. package/cjs/components/modal/style/themes/dnb-modal-theme-ui.css +6 -2
  114. package/cjs/components/modal/style/themes/dnb-modal-theme-ui.min.css +1 -1
  115. package/cjs/components/modal/style/themes/dnb-modal-theme-ui.scss +6 -5
  116. package/cjs/components/modal/types.d.ts +16 -38
  117. package/cjs/components/number-format/NumberFormat.d.ts +5 -0
  118. package/cjs/components/number-format/NumberFormat.js +7 -2
  119. package/cjs/components/pagination/PaginationBar.d.ts +7 -6
  120. package/cjs/components/radio/Radio.js +5 -2
  121. package/cjs/components/skeleton/SkeletonHelper.d.ts +5 -4
  122. package/cjs/components/slider/Slider.d.ts +8 -229
  123. package/cjs/components/slider/Slider.js +8 -806
  124. package/cjs/components/slider/SliderHelpers.d.ts +23 -0
  125. package/cjs/components/slider/SliderHelpers.js +239 -0
  126. package/cjs/components/slider/SliderInstance.d.ts +6 -0
  127. package/cjs/components/slider/SliderInstance.js +190 -0
  128. package/cjs/components/slider/SliderProvider.d.ts +4 -0
  129. package/cjs/components/slider/SliderProvider.js +264 -0
  130. package/cjs/components/slider/SliderThumb.d.ts +2 -0
  131. package/cjs/components/slider/SliderThumb.js +137 -0
  132. package/cjs/components/slider/SliderTrack.d.ts +6 -0
  133. package/cjs/components/slider/SliderTrack.js +131 -0
  134. package/cjs/components/slider/hooks/useSliderEvents.d.ts +11 -0
  135. package/cjs/components/slider/hooks/useSliderEvents.js +146 -0
  136. package/cjs/components/slider/hooks/useSliderProps.d.ts +1 -0
  137. package/cjs/components/slider/hooks/useSliderProps.js +16 -0
  138. package/cjs/components/slider/style/_slider.scss +19 -48
  139. package/cjs/components/slider/style/dnb-slider.css +30 -60
  140. package/cjs/components/slider/style/dnb-slider.min.css +1 -1
  141. package/cjs/components/slider/style/themes/dnb-slider-theme-ui.css +0 -16
  142. package/cjs/components/slider/style/themes/dnb-slider-theme-ui.min.css +1 -1
  143. package/cjs/components/slider/style/themes/dnb-slider-theme-ui.scss +0 -17
  144. package/cjs/components/slider/types.d.ts +75 -0
  145. package/cjs/components/slider/types.js +1 -0
  146. package/cjs/components/table/Table.d.ts +40 -0
  147. package/cjs/components/table/Table.js +91 -0
  148. package/cjs/components/table/TableStickyHeader.d.ts +21 -0
  149. package/cjs/components/table/TableStickyHeader.js +159 -0
  150. package/cjs/components/table/TableTd.d.ts +15 -0
  151. package/cjs/components/table/TableTd.js +42 -0
  152. package/cjs/components/table/TableTh.d.ts +14 -0
  153. package/cjs/components/table/TableTh.js +42 -0
  154. package/cjs/components/table/TableTr.d.ts +15 -0
  155. package/cjs/components/table/TableTr.js +41 -0
  156. package/cjs/components/table/index.d.ts +3 -0
  157. package/cjs/components/table/index.js +52 -0
  158. package/cjs/components/table/style/_table.scss +147 -0
  159. package/cjs/components/table/style/dnb-table.css +181 -0
  160. package/cjs/components/table/style/dnb-table.min.css +1 -0
  161. package/cjs/components/table/style/dnb-table.scss +12 -0
  162. package/cjs/components/table/style/index.d.ts +6 -0
  163. package/cjs/components/table/style/index.js +3 -0
  164. package/cjs/components/table/style/themes/dnb-table-theme-ui.css +444 -0
  165. package/cjs/components/table/style/themes/dnb-table-theme-ui.min.css +2 -0
  166. package/cjs/components/table/style/themes/dnb-table-theme-ui.scss +97 -0
  167. package/cjs/components/table/style/themes/table-basis.scss +161 -0
  168. package/cjs/components/table/style/themes/ui.d.ts +1 -0
  169. package/cjs/components/table/style/themes/ui.js +3 -0
  170. package/cjs/components/table/style.d.ts +1 -0
  171. package/cjs/components/table/style.js +3 -0
  172. package/cjs/components/tag/Tag.js +16 -13
  173. package/cjs/components/timeline/Timeline.js +11 -7
  174. package/cjs/components/timeline/TimelineItem.d.ts +12 -4
  175. package/cjs/components/timeline/TimelineItem.js +62 -25
  176. package/cjs/components/timeline/style/_timeline.scss +2 -2
  177. package/cjs/components/timeline/style/dnb-timeline.css +6 -6
  178. package/cjs/components/timeline/style/dnb-timeline.min.css +1 -1
  179. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.css +4 -4
  180. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -1
  181. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.scss +4 -4
  182. package/cjs/elements/Anchor.d.ts +44 -105
  183. package/cjs/elements/Anchor.js +48 -138
  184. package/cjs/elements/Element.d.ts +23 -40
  185. package/cjs/elements/Element.js +48 -122
  186. package/cjs/elements/Link.d.ts +18 -1
  187. package/cjs/elements/Table.d.ts +3 -35
  188. package/cjs/elements/Table.js +25 -270
  189. package/cjs/elements/Td.d.ts +2 -28
  190. package/cjs/elements/Td.js +32 -40
  191. package/cjs/elements/Th.d.ts +2 -28
  192. package/cjs/elements/Th.js +32 -40
  193. package/cjs/elements/Tr.d.ts +2 -28
  194. package/cjs/elements/Tr.js +32 -40
  195. package/cjs/elements/lib.d.ts +40 -8
  196. package/cjs/elements/lib.js +0 -9
  197. package/cjs/fragments/drawer-list/DrawerList.d.ts +13 -0
  198. package/cjs/fragments/drawer-list/DrawerList.js +25 -10
  199. package/cjs/fragments/drawer-list/DrawerListHelpers.d.ts +20 -0
  200. package/cjs/fragments/drawer-list/DrawerListHelpers.js +18 -1
  201. package/cjs/fragments/drawer-list/DrawerListProvider.d.ts +6 -9
  202. package/cjs/fragments/drawer-list/DrawerListProvider.js +28 -42
  203. package/cjs/fragments/drawer-list/style/_drawer-list.scss +40 -5
  204. package/cjs/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +58 -38
  205. package/cjs/icons/bookmark.d.ts +2 -0
  206. package/cjs/icons/bookmark.js +36 -0
  207. package/cjs/icons/bookmark_medium.d.ts +2 -0
  208. package/cjs/icons/bookmark_medium.js +36 -0
  209. package/cjs/icons/calendar_cancel.d.ts +2 -0
  210. package/cjs/icons/calendar_cancel.js +32 -0
  211. package/cjs/icons/calendar_cancel_medium.d.ts +2 -0
  212. package/cjs/icons/calendar_cancel_medium.js +32 -0
  213. package/cjs/icons/exclamation.js +5 -2
  214. package/cjs/icons/exclamation_circled.js +1 -1
  215. package/cjs/icons/exclamation_medium.js +5 -2
  216. package/cjs/icons/icons-meta.json +232 -198
  217. package/cjs/icons/icons-pdf.lock +6294 -0
  218. package/cjs/icons/icons-svg.lock +6294 -1
  219. package/cjs/icons/index.d.ts +5 -1
  220. package/cjs/icons/index.js +32 -0
  221. package/cjs/icons/reply.js +2 -1
  222. package/cjs/icons/reply_medium.js +2 -1
  223. package/cjs/icons/secondary_icons.d.ts +3 -1
  224. package/cjs/icons/secondary_icons.js +16 -0
  225. package/cjs/icons/secondary_icons_medium.d.ts +3 -1
  226. package/cjs/icons/secondary_icons_medium.js +16 -0
  227. package/cjs/icons/stopwatch.js +1 -1
  228. package/cjs/index.d.ts +31 -30
  229. package/cjs/index.js +66 -58
  230. package/cjs/shared/AlignmentHelper.js +4 -2
  231. package/cjs/shared/AnimateHeight.d.ts +1 -0
  232. package/cjs/shared/AnimateHeight.js +18 -2
  233. package/cjs/shared/Context.d.ts +98 -44
  234. package/cjs/shared/Context.js +3 -16
  235. package/cjs/shared/Eufemia.js +1 -1
  236. package/cjs/shared/MediaQuery.d.ts +18 -37
  237. package/cjs/shared/MediaQuery.js +3 -19
  238. package/cjs/shared/MediaQueryUtils.d.ts +61 -23
  239. package/cjs/shared/MediaQueryUtils.js +2 -2
  240. package/cjs/shared/Provider.d.ts +36 -12
  241. package/cjs/shared/Provider.js +6 -15
  242. package/cjs/shared/component-helper.d.ts +1 -1
  243. package/cjs/shared/component-helper.js +5 -5
  244. package/cjs/shared/helpers/Suffix.d.ts +6 -4
  245. package/cjs/shared/helpers/Suffix.js +5 -2
  246. package/cjs/shared/helpers/filterValidProps.d.ts +11 -0
  247. package/cjs/shared/helpers/filterValidProps.js +19 -0
  248. package/cjs/shared/helpers/withCamelCaseProps.d.ts +1 -1
  249. package/cjs/shared/helpers/withCamelCaseProps.js +3 -0
  250. package/cjs/shared/helpers/withSnakeCaseProps.d.ts +40 -0
  251. package/cjs/shared/helpers/withSnakeCaseProps.js +168 -0
  252. package/cjs/shared/interfaces.d.ts +13 -0
  253. package/cjs/shared/locales/en-GB.d.ts +4 -3
  254. package/cjs/shared/locales/en-GB.js +4 -3
  255. package/cjs/shared/locales/en-US.d.ts +4 -3
  256. package/cjs/shared/locales/index.d.ts +8 -6
  257. package/cjs/shared/locales/nb-NO.d.ts +4 -3
  258. package/cjs/shared/locales/nb-NO.js +4 -3
  259. package/cjs/shared/useMediaQuery.d.ts +3 -1
  260. package/cjs/shared/useTranslation.d.ts +1 -22
  261. package/cjs/style/dnb-ui-components.css +434 -154
  262. package/cjs/style/dnb-ui-components.min.css +5 -5
  263. package/cjs/style/dnb-ui-components.scss +2 -0
  264. package/cjs/style/dnb-ui-elements.css +45 -562
  265. package/cjs/style/dnb-ui-elements.min.css +1 -2
  266. package/cjs/style/dnb-ui-fragments.css +37 -15
  267. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  268. package/cjs/style/dnb-ui-tags.css +64 -1105
  269. package/cjs/style/dnb-ui-tags.min.css +1 -3
  270. package/cjs/style/elements/_anchor-mixins.scss +6 -3
  271. package/cjs/style/elements/table.scss +1 -389
  272. package/cjs/style/elements/ui-tags.scss +2 -2
  273. package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.css +608 -649
  274. package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +10 -8
  275. package/cjs/style/themes/theme-ui/dnb-theme-ui.css +612 -653
  276. package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +10 -8
  277. package/cjs/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
  278. package/components/Badge.d.ts +3 -0
  279. package/components/Badge.js +3 -0
  280. package/components/Style.d.ts +1 -0
  281. package/components/Style.js +3 -0
  282. package/components/Table.d.ts +3 -0
  283. package/components/Table.js +3 -0
  284. package/components/accordion/AccordionContent.js +1 -1
  285. package/components/autocomplete/Autocomplete.d.ts +9 -0
  286. package/components/autocomplete/Autocomplete.js +63 -25
  287. package/components/autocomplete/style/_autocomplete.scss +73 -6
  288. package/components/autocomplete/style/dnb-autocomplete.css +79 -14
  289. package/components/autocomplete/style/dnb-autocomplete.min.css +2 -2
  290. package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +7 -0
  291. package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
  292. package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +8 -0
  293. package/components/avatar/Avatar.js +15 -14
  294. package/components/avatar/style/_avatar.scss +1 -0
  295. package/components/avatar/style/dnb-avatar.css +1 -0
  296. package/components/avatar/style/dnb-avatar.min.css +1 -1
  297. package/components/badge/Badge.d.ts +58 -0
  298. package/components/badge/Badge.js +92 -0
  299. package/components/badge/index.d.ts +8 -0
  300. package/components/badge/index.js +3 -0
  301. package/components/badge/style/_badge.scss +74 -0
  302. package/components/badge/style/dnb-badge.css +151 -0
  303. package/components/badge/style/dnb-badge.min.css +1 -0
  304. package/components/badge/style/dnb-badge.scss +12 -0
  305. package/components/badge/style/index.d.ts +6 -0
  306. package/components/badge/style/index.js +1 -0
  307. package/components/badge/style/themes/dnb-badge-theme-ui.css +21 -0
  308. package/components/badge/style/themes/dnb-badge-theme-ui.min.css +1 -0
  309. package/components/badge/style/themes/dnb-badge-theme-ui.scss +17 -0
  310. package/components/badge/style/themes/ui.d.ts +1 -0
  311. package/components/badge/style/themes/ui.js +1 -0
  312. package/components/badge/style.d.ts +1 -0
  313. package/components/badge/style.js +1 -0
  314. package/components/breadcrumb/Breadcrumb.js +21 -20
  315. package/components/button/Button.d.ts +5 -3
  316. package/components/date-picker/DatePicker.d.ts +6 -0
  317. package/components/date-picker/DatePicker.js +9 -4
  318. package/components/date-picker/DatePickerFooter.js +3 -3
  319. package/components/date-picker/DatePickerInput.d.ts +6 -0
  320. package/components/date-picker/DatePickerInput.js +37 -23
  321. package/components/date-picker/style/_date-picker.scss +40 -0
  322. package/components/date-picker/style/dnb-date-picker.css +52 -8
  323. package/components/date-picker/style/dnb-date-picker.min.css +2 -2
  324. package/components/dialog/Dialog.js +7 -3
  325. package/components/dialog/DialogContent.js +7 -4
  326. package/components/dialog/style/_dialog.scss +24 -35
  327. package/components/dialog/style/dnb-dialog.css +69 -99
  328. package/components/dialog/style/dnb-dialog.min.css +1 -1
  329. package/components/dialog/style/themes/dnb-dialog-theme-ui.css +0 -2
  330. package/components/dialog/style/themes/dnb-dialog-theme-ui.min.css +1 -1
  331. package/components/dialog/style/themes/dnb-dialog-theme-ui.scss +0 -7
  332. package/components/dialog/types.d.ts +9 -2
  333. package/components/drawer/DrawerContent.js +4 -1
  334. package/components/drawer/style/_drawer.scss +6 -13
  335. package/components/drawer/style/dnb-drawer.css +54 -71
  336. package/components/drawer/style/dnb-drawer.min.css +1 -1
  337. package/components/drawer/style/themes/dnb-drawer-theme-ui.css +0 -2
  338. package/components/drawer/style/themes/dnb-drawer-theme-ui.min.css +1 -1
  339. package/components/drawer/style/themes/dnb-drawer-theme-ui.scss +0 -7
  340. package/components/dropdown/Dropdown.d.ts +25 -0
  341. package/components/dropdown/Dropdown.js +2 -2
  342. package/components/form-row/FormRow.js +9 -15
  343. package/components/form-row/FormRowHelpers.d.ts +7 -0
  344. package/components/form-row/FormRowHelpers.js +18 -0
  345. package/components/icon/Icon.js +1 -3
  346. package/components/icon/IconHelpers.d.ts +1 -0
  347. package/components/icon/IconHelpers.js +5 -0
  348. package/components/index.d.ts +3 -1
  349. package/components/index.js +3 -1
  350. package/components/input/Input.d.ts +6 -1
  351. package/components/input/Input.js +12 -2
  352. package/components/input/style/_input.scss +11 -9
  353. package/components/input/style/dnb-input.css +7 -8
  354. package/components/input/style/dnb-input.min.css +1 -1
  355. package/components/input-masked/InputMasked.d.ts +6 -1
  356. package/components/input-masked/InputMaskedUtils.js +11 -4
  357. package/components/input-masked/addons/createNumberMask.d.ts +1 -2
  358. package/components/input-masked/addons/createNumberMask.js +1 -12
  359. package/components/input-masked/style/dnb-input-masked.css +7 -8
  360. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  361. package/components/lib.d.ts +8 -1
  362. package/components/lib.js +5 -1
  363. package/components/modal/Modal.d.ts +1 -22
  364. package/components/modal/Modal.js +4 -1
  365. package/components/modal/ModalContent.d.ts +7 -2
  366. package/components/modal/ModalContent.js +81 -62
  367. package/components/modal/ModalContext.d.ts +1 -0
  368. package/components/modal/ModalContext.js +1 -0
  369. package/components/modal/parts/CloseButton.d.ts +3 -24
  370. package/components/modal/parts/ModalHeader.d.ts +1 -0
  371. package/components/modal/parts/ModalHeaderBar.d.ts +3 -2
  372. package/components/modal/parts/ModalInner.d.ts +1 -0
  373. package/components/modal/style/_modal-mixins.scss +1 -0
  374. package/components/modal/style/_modal.scss +0 -4
  375. package/components/modal/style/dnb-modal.css +42 -59
  376. package/components/modal/style/dnb-modal.min.css +1 -1
  377. package/components/modal/style/themes/dnb-modal-theme-ui.css +6 -2
  378. package/components/modal/style/themes/dnb-modal-theme-ui.min.css +1 -1
  379. package/components/modal/style/themes/dnb-modal-theme-ui.scss +6 -5
  380. package/components/modal/types.d.ts +16 -38
  381. package/components/number-format/NumberFormat.d.ts +5 -0
  382. package/components/number-format/NumberFormat.js +7 -2
  383. package/components/pagination/PaginationBar.d.ts +7 -6
  384. package/components/radio/Radio.js +5 -2
  385. package/components/skeleton/SkeletonHelper.d.ts +5 -4
  386. package/components/slider/Slider.d.ts +8 -229
  387. package/components/slider/Slider.js +7 -748
  388. package/components/slider/SliderHelpers.d.ts +23 -0
  389. package/components/slider/SliderHelpers.js +152 -0
  390. package/components/slider/SliderInstance.d.ts +6 -0
  391. package/components/slider/SliderInstance.js +162 -0
  392. package/components/slider/SliderProvider.d.ts +4 -0
  393. package/components/slider/SliderProvider.js +199 -0
  394. package/components/slider/SliderThumb.d.ts +2 -0
  395. package/components/slider/SliderThumb.js +109 -0
  396. package/components/slider/SliderTrack.d.ts +6 -0
  397. package/components/slider/SliderTrack.js +104 -0
  398. package/components/slider/hooks/useSliderEvents.d.ts +11 -0
  399. package/components/slider/hooks/useSliderEvents.js +132 -0
  400. package/components/slider/hooks/useSliderProps.d.ts +1 -0
  401. package/components/slider/hooks/useSliderProps.js +5 -0
  402. package/components/slider/style/_slider.scss +19 -48
  403. package/components/slider/style/dnb-slider.css +30 -60
  404. package/components/slider/style/dnb-slider.min.css +1 -1
  405. package/components/slider/style/themes/dnb-slider-theme-ui.css +0 -16
  406. package/components/slider/style/themes/dnb-slider-theme-ui.min.css +1 -1
  407. package/components/slider/style/themes/dnb-slider-theme-ui.scss +0 -17
  408. package/components/slider/types.d.ts +75 -0
  409. package/components/slider/types.js +1 -0
  410. package/components/table/Table.d.ts +40 -0
  411. package/components/table/Table.js +51 -0
  412. package/components/table/TableStickyHeader.d.ts +21 -0
  413. package/components/table/TableStickyHeader.js +105 -0
  414. package/components/table/TableTd.d.ts +15 -0
  415. package/components/table/TableTd.js +18 -0
  416. package/components/table/TableTh.d.ts +14 -0
  417. package/components/table/TableTh.js +18 -0
  418. package/components/table/TableTr.d.ts +15 -0
  419. package/components/table/TableTr.js +17 -0
  420. package/components/table/index.d.ts +3 -0
  421. package/components/table/index.js +3 -0
  422. package/components/table/style/_table.scss +147 -0
  423. package/components/table/style/dnb-table.css +181 -0
  424. package/components/table/style/dnb-table.min.css +1 -0
  425. package/components/table/style/dnb-table.scss +12 -0
  426. package/components/table/style/index.d.ts +6 -0
  427. package/components/table/style/index.js +1 -0
  428. package/components/table/style/themes/dnb-table-theme-ui.css +444 -0
  429. package/components/table/style/themes/dnb-table-theme-ui.min.css +2 -0
  430. package/components/table/style/themes/dnb-table-theme-ui.scss +97 -0
  431. package/components/table/style/themes/table-basis.scss +161 -0
  432. package/components/table/style/themes/ui.d.ts +1 -0
  433. package/components/table/style/themes/ui.js +1 -0
  434. package/components/table/style.d.ts +1 -0
  435. package/components/table/style.js +1 -0
  436. package/components/tag/Tag.js +14 -13
  437. package/components/timeline/Timeline.js +10 -8
  438. package/components/timeline/TimelineItem.d.ts +12 -4
  439. package/components/timeline/TimelineItem.js +61 -25
  440. package/components/timeline/style/_timeline.scss +2 -2
  441. package/components/timeline/style/dnb-timeline.css +6 -6
  442. package/components/timeline/style/dnb-timeline.min.css +1 -1
  443. package/components/timeline/style/themes/dnb-timeline-theme-ui.css +4 -4
  444. package/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -1
  445. package/components/timeline/style/themes/dnb-timeline-theme-ui.scss +4 -4
  446. package/elements/Anchor.d.ts +44 -105
  447. package/elements/Anchor.js +51 -113
  448. package/elements/Element.d.ts +23 -40
  449. package/elements/Element.js +44 -92
  450. package/elements/Link.d.ts +18 -1
  451. package/elements/Table.d.ts +3 -35
  452. package/elements/Table.js +3 -218
  453. package/elements/Td.d.ts +2 -28
  454. package/elements/Td.js +2 -36
  455. package/elements/Th.d.ts +2 -28
  456. package/elements/Th.js +2 -36
  457. package/elements/Tr.d.ts +2 -28
  458. package/elements/Tr.js +2 -36
  459. package/elements/lib.d.ts +40 -8
  460. package/elements/lib.js +1 -3
  461. package/es/components/Badge.d.ts +3 -0
  462. package/es/components/Badge.js +3 -0
  463. package/es/components/Style.d.ts +1 -0
  464. package/es/components/Style.js +3 -0
  465. package/es/components/Table.d.ts +3 -0
  466. package/es/components/Table.js +3 -0
  467. package/es/components/accordion/AccordionContent.js +1 -1
  468. package/es/components/autocomplete/Autocomplete.d.ts +9 -0
  469. package/es/components/autocomplete/Autocomplete.js +56 -20
  470. package/es/components/autocomplete/style/_autocomplete.scss +73 -6
  471. package/es/components/autocomplete/style/dnb-autocomplete.css +79 -14
  472. package/es/components/autocomplete/style/dnb-autocomplete.min.css +2 -2
  473. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +7 -0
  474. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
  475. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +8 -0
  476. package/es/components/avatar/Avatar.js +8 -7
  477. package/es/components/avatar/style/_avatar.scss +1 -0
  478. package/es/components/avatar/style/dnb-avatar.css +1 -0
  479. package/es/components/avatar/style/dnb-avatar.min.css +1 -1
  480. package/es/components/badge/Badge.d.ts +58 -0
  481. package/es/components/badge/Badge.js +88 -0
  482. package/es/components/badge/index.d.ts +8 -0
  483. package/es/components/badge/index.js +3 -0
  484. package/es/components/badge/style/_badge.scss +74 -0
  485. package/es/components/badge/style/dnb-badge.css +151 -0
  486. package/es/components/badge/style/dnb-badge.min.css +1 -0
  487. package/es/components/badge/style/dnb-badge.scss +12 -0
  488. package/es/components/badge/style/index.d.ts +6 -0
  489. package/es/components/badge/style/index.js +1 -0
  490. package/es/components/badge/style/themes/dnb-badge-theme-ui.css +21 -0
  491. package/es/components/badge/style/themes/dnb-badge-theme-ui.min.css +1 -0
  492. package/es/components/badge/style/themes/dnb-badge-theme-ui.scss +17 -0
  493. package/es/components/badge/style/themes/ui.d.ts +1 -0
  494. package/es/components/badge/style/themes/ui.js +1 -0
  495. package/es/components/badge/style.d.ts +1 -0
  496. package/es/components/badge/style.js +1 -0
  497. package/es/components/breadcrumb/Breadcrumb.js +8 -7
  498. package/es/components/button/Button.d.ts +5 -3
  499. package/es/components/date-picker/DatePicker.d.ts +6 -0
  500. package/es/components/date-picker/DatePicker.js +9 -4
  501. package/es/components/date-picker/DatePickerFooter.js +3 -3
  502. package/es/components/date-picker/DatePickerInput.d.ts +6 -0
  503. package/es/components/date-picker/DatePickerInput.js +43 -32
  504. package/es/components/date-picker/style/_date-picker.scss +40 -0
  505. package/es/components/date-picker/style/dnb-date-picker.css +52 -8
  506. package/es/components/date-picker/style/dnb-date-picker.min.css +2 -2
  507. package/es/components/dialog/Dialog.js +7 -3
  508. package/es/components/dialog/DialogContent.js +7 -4
  509. package/es/components/dialog/style/_dialog.scss +24 -35
  510. package/es/components/dialog/style/dnb-dialog.css +69 -99
  511. package/es/components/dialog/style/dnb-dialog.min.css +1 -1
  512. package/es/components/dialog/style/themes/dnb-dialog-theme-ui.css +0 -2
  513. package/es/components/dialog/style/themes/dnb-dialog-theme-ui.min.css +1 -1
  514. package/es/components/dialog/style/themes/dnb-dialog-theme-ui.scss +0 -7
  515. package/es/components/dialog/types.d.ts +9 -2
  516. package/es/components/drawer/DrawerContent.js +4 -1
  517. package/es/components/drawer/style/_drawer.scss +6 -13
  518. package/es/components/drawer/style/dnb-drawer.css +54 -71
  519. package/es/components/drawer/style/dnb-drawer.min.css +1 -1
  520. package/es/components/drawer/style/themes/dnb-drawer-theme-ui.css +0 -2
  521. package/es/components/drawer/style/themes/dnb-drawer-theme-ui.min.css +1 -1
  522. package/es/components/drawer/style/themes/dnb-drawer-theme-ui.scss +0 -7
  523. package/es/components/dropdown/Dropdown.d.ts +25 -0
  524. package/es/components/dropdown/Dropdown.js +2 -2
  525. package/es/components/form-row/FormRow.js +13 -18
  526. package/es/components/form-row/FormRowHelpers.d.ts +7 -0
  527. package/es/components/form-row/FormRowHelpers.js +18 -0
  528. package/es/components/icon/Icon.js +2 -2
  529. package/es/components/icon/IconHelpers.d.ts +1 -0
  530. package/es/components/icon/IconHelpers.js +1 -0
  531. package/es/components/index.d.ts +3 -1
  532. package/es/components/index.js +3 -1
  533. package/es/components/input/Input.d.ts +6 -1
  534. package/es/components/input/Input.js +11 -2
  535. package/es/components/input/style/_input.scss +11 -9
  536. package/es/components/input/style/dnb-input.css +7 -8
  537. package/es/components/input/style/dnb-input.min.css +1 -1
  538. package/es/components/input-masked/InputMasked.d.ts +6 -1
  539. package/es/components/input-masked/InputMaskedUtils.js +11 -4
  540. package/es/components/input-masked/addons/createNumberMask.d.ts +1 -2
  541. package/es/components/input-masked/addons/createNumberMask.js +1 -9
  542. package/es/components/input-masked/style/dnb-input-masked.css +7 -8
  543. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  544. package/es/components/lib.d.ts +8 -1
  545. package/es/components/lib.js +5 -1
  546. package/es/components/modal/Modal.d.ts +1 -22
  547. package/es/components/modal/Modal.js +3 -1
  548. package/es/components/modal/ModalContent.d.ts +7 -2
  549. package/es/components/modal/ModalContent.js +27 -9
  550. package/es/components/modal/ModalContext.d.ts +1 -0
  551. package/es/components/modal/ModalContext.js +1 -0
  552. package/es/components/modal/parts/CloseButton.d.ts +3 -24
  553. package/es/components/modal/parts/ModalHeader.d.ts +1 -0
  554. package/es/components/modal/parts/ModalHeaderBar.d.ts +3 -2
  555. package/es/components/modal/parts/ModalInner.d.ts +1 -0
  556. package/es/components/modal/style/_modal-mixins.scss +1 -0
  557. package/es/components/modal/style/_modal.scss +0 -4
  558. package/es/components/modal/style/dnb-modal.css +42 -59
  559. package/es/components/modal/style/dnb-modal.min.css +1 -1
  560. package/es/components/modal/style/themes/dnb-modal-theme-ui.css +6 -2
  561. package/es/components/modal/style/themes/dnb-modal-theme-ui.min.css +1 -1
  562. package/es/components/modal/style/themes/dnb-modal-theme-ui.scss +6 -5
  563. package/es/components/modal/types.d.ts +16 -38
  564. package/es/components/number-format/NumberFormat.d.ts +5 -0
  565. package/es/components/number-format/NumberFormat.js +7 -2
  566. package/es/components/pagination/PaginationBar.d.ts +7 -6
  567. package/es/components/radio/Radio.js +5 -2
  568. package/es/components/skeleton/SkeletonHelper.d.ts +5 -4
  569. package/es/components/slider/Slider.d.ts +8 -229
  570. package/es/components/slider/Slider.js +6 -688
  571. package/es/components/slider/SliderHelpers.d.ts +23 -0
  572. package/es/components/slider/SliderHelpers.js +124 -0
  573. package/es/components/slider/SliderInstance.d.ts +6 -0
  574. package/es/components/slider/SliderInstance.js +167 -0
  575. package/es/components/slider/SliderProvider.d.ts +4 -0
  576. package/es/components/slider/SliderProvider.js +178 -0
  577. package/es/components/slider/SliderThumb.d.ts +2 -0
  578. package/es/components/slider/SliderThumb.js +100 -0
  579. package/es/components/slider/SliderTrack.d.ts +6 -0
  580. package/es/components/slider/SliderTrack.js +99 -0
  581. package/es/components/slider/hooks/useSliderEvents.d.ts +11 -0
  582. package/es/components/slider/hooks/useSliderEvents.js +129 -0
  583. package/es/components/slider/hooks/useSliderProps.d.ts +1 -0
  584. package/es/components/slider/hooks/useSliderProps.js +5 -0
  585. package/es/components/slider/style/_slider.scss +19 -48
  586. package/es/components/slider/style/dnb-slider.css +30 -60
  587. package/es/components/slider/style/dnb-slider.min.css +1 -1
  588. package/es/components/slider/style/themes/dnb-slider-theme-ui.css +0 -16
  589. package/es/components/slider/style/themes/dnb-slider-theme-ui.min.css +1 -1
  590. package/es/components/slider/style/themes/dnb-slider-theme-ui.scss +0 -17
  591. package/es/components/slider/types.d.ts +75 -0
  592. package/es/components/slider/types.js +1 -0
  593. package/es/components/table/Table.d.ts +40 -0
  594. package/es/components/table/Table.js +51 -0
  595. package/es/components/table/TableStickyHeader.d.ts +21 -0
  596. package/es/components/table/TableStickyHeader.js +98 -0
  597. package/es/components/table/TableTd.d.ts +15 -0
  598. package/es/components/table/TableTd.js +20 -0
  599. package/es/components/table/TableTh.d.ts +14 -0
  600. package/es/components/table/TableTh.js +20 -0
  601. package/es/components/table/TableTr.d.ts +15 -0
  602. package/es/components/table/TableTr.js +19 -0
  603. package/es/components/table/index.d.ts +3 -0
  604. package/es/components/table/index.js +3 -0
  605. package/es/components/table/style/_table.scss +147 -0
  606. package/es/components/table/style/dnb-table.css +181 -0
  607. package/es/components/table/style/dnb-table.min.css +1 -0
  608. package/es/components/table/style/dnb-table.scss +12 -0
  609. package/es/components/table/style/index.d.ts +6 -0
  610. package/es/components/table/style/index.js +1 -0
  611. package/es/components/table/style/themes/dnb-table-theme-ui.css +444 -0
  612. package/es/components/table/style/themes/dnb-table-theme-ui.min.css +2 -0
  613. package/es/components/table/style/themes/dnb-table-theme-ui.scss +97 -0
  614. package/es/components/table/style/themes/table-basis.scss +161 -0
  615. package/es/components/table/style/themes/ui.d.ts +1 -0
  616. package/es/components/table/style/themes/ui.js +1 -0
  617. package/es/components/table/style.d.ts +1 -0
  618. package/es/components/table/style.js +1 -0
  619. package/es/components/tag/Tag.js +8 -7
  620. package/es/components/timeline/Timeline.js +8 -6
  621. package/es/components/timeline/TimelineItem.d.ts +12 -4
  622. package/es/components/timeline/TimelineItem.js +54 -22
  623. package/es/components/timeline/style/_timeline.scss +2 -2
  624. package/es/components/timeline/style/dnb-timeline.css +6 -6
  625. package/es/components/timeline/style/dnb-timeline.min.css +1 -1
  626. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.css +4 -4
  627. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -1
  628. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.scss +4 -4
  629. package/es/elements/Anchor.d.ts +44 -105
  630. package/es/elements/Anchor.js +49 -80
  631. package/es/elements/Element.d.ts +23 -40
  632. package/es/elements/Element.js +44 -61
  633. package/es/elements/Link.d.ts +18 -1
  634. package/es/elements/Table.d.ts +3 -35
  635. package/es/elements/Table.js +3 -170
  636. package/es/elements/Td.d.ts +2 -28
  637. package/es/elements/Td.js +2 -26
  638. package/es/elements/Th.d.ts +2 -28
  639. package/es/elements/Th.js +2 -26
  640. package/es/elements/Tr.d.ts +2 -28
  641. package/es/elements/Tr.js +2 -26
  642. package/es/elements/lib.d.ts +40 -8
  643. package/es/elements/lib.js +1 -3
  644. package/es/fragments/drawer-list/DrawerList.d.ts +13 -0
  645. package/es/fragments/drawer-list/DrawerList.js +25 -13
  646. package/es/fragments/drawer-list/DrawerListHelpers.d.ts +20 -0
  647. package/es/fragments/drawer-list/DrawerListHelpers.js +15 -0
  648. package/es/fragments/drawer-list/DrawerListProvider.d.ts +6 -9
  649. package/es/fragments/drawer-list/DrawerListProvider.js +31 -44
  650. package/es/fragments/drawer-list/style/_drawer-list.scss +40 -5
  651. package/es/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +58 -38
  652. package/es/icons/bookmark.d.ts +2 -0
  653. package/es/icons/bookmark.js +22 -0
  654. package/es/icons/bookmark_medium.d.ts +2 -0
  655. package/es/icons/bookmark_medium.js +22 -0
  656. package/es/icons/calendar_cancel.d.ts +2 -0
  657. package/es/icons/calendar_cancel.js +18 -0
  658. package/es/icons/calendar_cancel_medium.d.ts +2 -0
  659. package/es/icons/calendar_cancel_medium.js +18 -0
  660. package/es/icons/exclamation.js +5 -2
  661. package/es/icons/exclamation_circled.js +1 -1
  662. package/es/icons/exclamation_medium.js +5 -2
  663. package/es/icons/icons-meta.json +232 -198
  664. package/es/icons/icons-pdf.lock +6294 -0
  665. package/es/icons/icons-svg.lock +6294 -1
  666. package/es/icons/index.d.ts +5 -1
  667. package/es/icons/index.js +5 -1
  668. package/es/icons/reply.js +2 -1
  669. package/es/icons/reply_medium.js +2 -1
  670. package/es/icons/secondary_icons.d.ts +3 -1
  671. package/es/icons/secondary_icons.js +3 -1
  672. package/es/icons/secondary_icons_medium.d.ts +3 -1
  673. package/es/icons/secondary_icons_medium.js +3 -1
  674. package/es/icons/stopwatch.js +1 -1
  675. package/es/index.d.ts +31 -30
  676. package/es/index.js +31 -30
  677. package/es/shared/AlignmentHelper.js +2 -2
  678. package/es/shared/AnimateHeight.d.ts +1 -0
  679. package/es/shared/AnimateHeight.js +18 -2
  680. package/es/shared/Context.d.ts +98 -44
  681. package/es/shared/Context.js +4 -17
  682. package/es/shared/Eufemia.js +1 -1
  683. package/es/shared/MediaQuery.d.ts +18 -37
  684. package/es/shared/MediaQuery.js +3 -18
  685. package/es/shared/MediaQueryUtils.d.ts +61 -23
  686. package/es/shared/MediaQueryUtils.js +2 -2
  687. package/es/shared/Provider.d.ts +36 -12
  688. package/es/shared/Provider.js +6 -14
  689. package/es/shared/component-helper.d.ts +1 -1
  690. package/es/shared/component-helper.js +5 -5
  691. package/es/shared/helpers/Suffix.d.ts +6 -4
  692. package/es/shared/helpers/Suffix.js +5 -3
  693. package/es/shared/helpers/filterValidProps.d.ts +11 -0
  694. package/es/shared/helpers/filterValidProps.js +14 -0
  695. package/es/shared/helpers/withCamelCaseProps.d.ts +1 -1
  696. package/es/shared/helpers/withCamelCaseProps.js +2 -0
  697. package/es/shared/helpers/withSnakeCaseProps.d.ts +40 -0
  698. package/es/shared/helpers/withSnakeCaseProps.js +72 -0
  699. package/es/shared/interfaces.d.ts +13 -0
  700. package/es/shared/locales/en-GB.d.ts +4 -3
  701. package/es/shared/locales/en-GB.js +4 -3
  702. package/es/shared/locales/en-US.d.ts +4 -3
  703. package/es/shared/locales/index.d.ts +8 -6
  704. package/es/shared/locales/nb-NO.d.ts +4 -3
  705. package/es/shared/locales/nb-NO.js +4 -3
  706. package/es/shared/useMediaQuery.d.ts +3 -1
  707. package/es/shared/useTranslation.d.ts +1 -22
  708. package/es/style/dnb-ui-components.css +434 -154
  709. package/es/style/dnb-ui-components.min.css +5 -5
  710. package/es/style/dnb-ui-components.scss +2 -0
  711. package/es/style/dnb-ui-elements.css +45 -562
  712. package/es/style/dnb-ui-elements.min.css +1 -2
  713. package/es/style/dnb-ui-fragments.css +37 -15
  714. package/es/style/dnb-ui-fragments.min.css +1 -1
  715. package/es/style/dnb-ui-tags.css +64 -1105
  716. package/es/style/dnb-ui-tags.min.css +1 -3
  717. package/es/style/elements/_anchor-mixins.scss +6 -3
  718. package/es/style/elements/table.scss +1 -389
  719. package/es/style/elements/ui-tags.scss +2 -2
  720. package/es/style/themes/theme-eiendom/dnb-theme-eiendom.css +608 -649
  721. package/es/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +10 -8
  722. package/es/style/themes/theme-ui/dnb-theme-ui.css +612 -653
  723. package/es/style/themes/theme-ui/dnb-theme-ui.min.css +10 -8
  724. package/es/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
  725. package/esm/dnb-ui-basis.min.mjs +1 -1
  726. package/esm/dnb-ui-components.min.mjs +3 -3
  727. package/esm/dnb-ui-elements.min.mjs +9 -10
  728. package/esm/dnb-ui-extensions.min.mjs +4 -4
  729. package/esm/dnb-ui-icons.min.mjs +1 -1
  730. package/esm/dnb-ui-lib.min.mjs +4 -4
  731. package/esm/dnb-ui-web-components.min.mjs +4 -4
  732. package/fragments/drawer-list/DrawerList.d.ts +13 -0
  733. package/fragments/drawer-list/DrawerList.js +24 -12
  734. package/fragments/drawer-list/DrawerListHelpers.d.ts +20 -0
  735. package/fragments/drawer-list/DrawerListHelpers.js +15 -0
  736. package/fragments/drawer-list/DrawerListProvider.d.ts +6 -9
  737. package/fragments/drawer-list/DrawerListProvider.js +29 -43
  738. package/fragments/drawer-list/style/_drawer-list.scss +40 -5
  739. package/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +58 -38
  740. package/icons/bookmark.d.ts +2 -0
  741. package/icons/bookmark.js +24 -0
  742. package/icons/bookmark_medium.d.ts +2 -0
  743. package/icons/bookmark_medium.js +24 -0
  744. package/icons/calendar_cancel.d.ts +2 -0
  745. package/icons/calendar_cancel.js +20 -0
  746. package/icons/calendar_cancel_medium.d.ts +2 -0
  747. package/icons/calendar_cancel_medium.js +20 -0
  748. package/icons/exclamation.js +5 -2
  749. package/icons/exclamation_circled.js +1 -1
  750. package/icons/exclamation_medium.js +5 -2
  751. package/icons/icons-meta.json +232 -198
  752. package/icons/icons-pdf.lock +6294 -0
  753. package/icons/icons-svg.lock +6294 -1
  754. package/icons/index.d.ts +5 -1
  755. package/icons/index.js +5 -1
  756. package/icons/reply.js +2 -1
  757. package/icons/reply_medium.js +2 -1
  758. package/icons/secondary_icons.d.ts +3 -1
  759. package/icons/secondary_icons.js +3 -1
  760. package/icons/secondary_icons_medium.d.ts +3 -1
  761. package/icons/secondary_icons_medium.js +3 -1
  762. package/icons/stopwatch.js +1 -1
  763. package/index.d.ts +31 -30
  764. package/index.js +31 -30
  765. package/package.json +1 -1
  766. package/shared/AlignmentHelper.js +4 -2
  767. package/shared/AnimateHeight.d.ts +1 -0
  768. package/shared/AnimateHeight.js +18 -2
  769. package/shared/Context.d.ts +98 -44
  770. package/shared/Context.js +3 -16
  771. package/shared/Eufemia.js +1 -1
  772. package/shared/MediaQuery.d.ts +18 -37
  773. package/shared/MediaQuery.js +3 -17
  774. package/shared/MediaQueryUtils.d.ts +61 -23
  775. package/shared/MediaQueryUtils.js +2 -2
  776. package/shared/Provider.d.ts +36 -12
  777. package/shared/Provider.js +5 -12
  778. package/shared/component-helper.d.ts +1 -1
  779. package/shared/component-helper.js +5 -5
  780. package/shared/helpers/Suffix.d.ts +6 -4
  781. package/shared/helpers/Suffix.js +4 -2
  782. package/shared/helpers/filterValidProps.d.ts +11 -0
  783. package/shared/helpers/filterValidProps.js +14 -0
  784. package/shared/helpers/withCamelCaseProps.d.ts +1 -1
  785. package/shared/helpers/withCamelCaseProps.js +3 -0
  786. package/shared/helpers/withSnakeCaseProps.d.ts +40 -0
  787. package/shared/helpers/withSnakeCaseProps.js +115 -0
  788. package/shared/interfaces.d.ts +13 -0
  789. package/shared/locales/en-GB.d.ts +4 -3
  790. package/shared/locales/en-GB.js +4 -3
  791. package/shared/locales/en-US.d.ts +4 -3
  792. package/shared/locales/index.d.ts +8 -6
  793. package/shared/locales/nb-NO.d.ts +4 -3
  794. package/shared/locales/nb-NO.js +4 -3
  795. package/shared/useMediaQuery.d.ts +3 -1
  796. package/shared/useTranslation.d.ts +1 -22
  797. package/style/dnb-ui-components.css +434 -154
  798. package/style/dnb-ui-components.min.css +5 -5
  799. package/style/dnb-ui-components.scss +2 -0
  800. package/style/dnb-ui-elements.css +45 -562
  801. package/style/dnb-ui-elements.min.css +1 -2
  802. package/style/dnb-ui-fragments.css +37 -15
  803. package/style/dnb-ui-fragments.min.css +1 -1
  804. package/style/dnb-ui-tags.css +64 -1105
  805. package/style/dnb-ui-tags.min.css +1 -3
  806. package/style/elements/_anchor-mixins.scss +6 -3
  807. package/style/elements/table.scss +1 -389
  808. package/style/elements/ui-tags.scss +2 -2
  809. package/style/themes/theme-eiendom/dnb-theme-eiendom.css +608 -649
  810. package/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +10 -8
  811. package/style/themes/theme-ui/dnb-theme-ui.css +612 -653
  812. package/style/themes/theme-ui/dnb-theme-ui.min.css +10 -8
  813. package/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
  814. package/umd/dnb-ui-basis.min.js +1 -1
  815. package/umd/dnb-ui-components.min.js +5 -5
  816. package/umd/dnb-ui-elements.min.js +20 -21
  817. package/umd/dnb-ui-extensions.min.js +5 -5
  818. package/umd/dnb-ui-icons.min.js +1 -1
  819. package/umd/dnb-ui-lib.min.js +4 -4
  820. package/umd/dnb-ui-web-components.min.js +3 -3
  821. package/cjs/components/slider/web-component.d.ts +0 -3
  822. package/cjs/style/themes/theme-ui/prism/dnb-prism-styles.d.ts +0 -6
  823. package/cjs/style/themes/theme-ui/prism/dnb-prism-styles.js +0 -9
  824. package/components/slider/web-component.d.ts +0 -3
  825. package/components/slider/web-component.js +0 -5
  826. package/es/components/slider/web-component.d.ts +0 -3
  827. package/es/components/slider/web-component.js +0 -5
  828. package/es/style/themes/theme-ui/prism/dnb-prism-styles.d.ts +0 -6
  829. package/es/style/themes/theme-ui/prism/dnb-prism-styles.js +0 -93
  830. package/style/themes/theme-ui/prism/dnb-prism-styles.d.ts +0 -6
  831. package/style/themes/theme-ui/prism/dnb-prism-styles.js +0 -2
@@ -0,0 +1,23 @@
1
+ import { formatOptionParams, formatValue, formatReturnType } from '../number-format/NumberUtils';
2
+ import type { ValueTypes } from './types';
3
+ export declare const percentToValue: (percent: number, min: number, max: number) => number;
4
+ export declare const roundToStep: (number: number, step: number) => number;
5
+ export declare const getOffset: (node: HTMLElement) => {
6
+ top: number;
7
+ left: number;
8
+ };
9
+ export declare const getMousePosition: (event: MouseEvent & TouchEvent) => {
10
+ x: number;
11
+ y: number;
12
+ };
13
+ export declare const calculatePercent: (node: HTMLElement, event: MouseEvent | TouchEvent, isVertical: boolean, isReverted: boolean) => number;
14
+ export declare const clamp: (value: number, min?: number, max?: number) => number;
15
+ export declare const roundValue: (value: number, step: number) => number;
16
+ export declare const createMockDiv: ({ width, height }: {
17
+ width: any;
18
+ height: any;
19
+ }) => HTMLDivElement;
20
+ export declare const getUpdatedValues: (value: Array<number>, index: number, newValue: number) => ValueTypes;
21
+ export declare const closestIndex: (goal: number, array: Array<number>) => number;
22
+ export declare const formatNumber: (value: formatValue, opts?: formatOptionParams) => formatReturnType;
23
+ export declare const getHumanNumber: (value: number, numberFormat: formatOptionParams) => string;
@@ -0,0 +1,152 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
3
+ import _extends from "@babel/runtime/helpers/esm/extends";
4
+
5
+ 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; }
6
+
7
+ 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; }
8
+
9
+ import "core-js/modules/es.parse-float.js";
10
+ import "core-js/modules/es.number.to-fixed.js";
11
+ import "core-js/modules/es.array.map.js";
12
+ import "core-js/modules/es.array.sort.js";
13
+ import "core-js/modules/es.array.find-index.js";
14
+ import "core-js/modules/es.object.keys.js";
15
+ import "core-js/modules/es.symbol.js";
16
+ import "core-js/modules/es.array.filter.js";
17
+ import "core-js/modules/es.object.to-string.js";
18
+ import "core-js/modules/es.object.get-own-property-descriptor.js";
19
+ import "core-js/modules/web.dom-collections.for-each.js";
20
+ import "core-js/modules/es.object.get-own-property-descriptors.js";
21
+ import { format } from '../number-format/NumberUtils';
22
+ export var percentToValue = function percentToValue(percent, min, max) {
23
+ if (typeof min === 'string') {
24
+ min = parseFloat(min);
25
+ }
26
+
27
+ if (typeof max === 'string') {
28
+ max = parseFloat(max);
29
+ }
30
+
31
+ return (max - min) * percent / 100 + min;
32
+ };
33
+ export var roundToStep = function roundToStep(number, step) {
34
+ return Math.round(number / step) * step;
35
+ };
36
+ export var getOffset = function getOffset(node) {
37
+ var _ref = typeof window !== 'undefined' ? window : {
38
+ pageYOffset: 0,
39
+ pageXOffset: 0
40
+ },
41
+ pageYOffset = _ref.pageYOffset,
42
+ pageXOffset = _ref.pageXOffset;
43
+
44
+ var _node$getBoundingClie = node.getBoundingClientRect(),
45
+ left = _node$getBoundingClie.left,
46
+ top = _node$getBoundingClie.top;
47
+
48
+ return {
49
+ top: top + pageYOffset,
50
+ left: left + pageXOffset
51
+ };
52
+ };
53
+ export var getMousePosition = function getMousePosition(event) {
54
+ if (event.changedTouches && event.changedTouches[0]) {
55
+ return {
56
+ x: event.changedTouches[0].pageX,
57
+ y: event.changedTouches[0].pageY
58
+ };
59
+ }
60
+
61
+ return {
62
+ x: event.pageX,
63
+ y: event.pageY
64
+ };
65
+ };
66
+ export var calculatePercent = function calculatePercent(node, event, isVertical, isReverted) {
67
+ var _node$getBoundingClie2 = node.getBoundingClientRect(),
68
+ width = _node$getBoundingClie2.width,
69
+ height = _node$getBoundingClie2.height;
70
+
71
+ var _getOffset = getOffset(node),
72
+ top = _getOffset.top,
73
+ left = _getOffset.left;
74
+
75
+ var _getMousePosition = getMousePosition(event),
76
+ x = _getMousePosition.x,
77
+ y = _getMousePosition.y;
78
+
79
+ var value = isVertical ? y - top : x - left;
80
+ var onePercent = (isVertical ? height : width) / 100;
81
+ return Math.abs((isReverted ? 100 : 0) - clamp(value / onePercent));
82
+ };
83
+ export var clamp = function clamp(value) {
84
+ var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
85
+ var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 100;
86
+ return Math.min(Math.max(value, min), max);
87
+ };
88
+ export var roundValue = function roundValue(value, step) {
89
+ return step > 0 ? roundToStep(value, step) : parseFloat(parseFloat(String(value)).toFixed(3));
90
+ };
91
+ export var createMockDiv = function createMockDiv(_ref2) {
92
+ var width = _ref2.width,
93
+ height = _ref2.height;
94
+ var div = document.createElement('div');
95
+
96
+ _extends(div.style, {
97
+ width: "".concat(width, "px"),
98
+ height: "".concat(height, "px")
99
+ });
100
+
101
+ div.getBoundingClientRect = function () {
102
+ return {
103
+ width: width,
104
+ height: height,
105
+ top: 0,
106
+ left: 0,
107
+ right: width,
108
+ bottom: height
109
+ };
110
+ };
111
+
112
+ return div;
113
+ };
114
+ export var getUpdatedValues = function getUpdatedValues(value, index, newValue) {
115
+ return value.map(function (val, i) {
116
+ if (i === index) {
117
+ val = newValue;
118
+ }
119
+
120
+ return val;
121
+ });
122
+ };
123
+ export var closestIndex = function closestIndex(goal, array) {
124
+ var res = _toConsumableArray(array).sort(function (a, b) {
125
+ return Math.abs(goal - a) - Math.abs(goal - b);
126
+ })[0];
127
+
128
+ return array.findIndex(function (num) {
129
+ return num === res;
130
+ });
131
+ };
132
+ export var formatNumber = function formatNumber(value) {
133
+ var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
134
+
135
+ if (opts) {
136
+ return format(value, opts);
137
+ }
138
+
139
+ return value;
140
+ };
141
+ export var getHumanNumber = function getHumanNumber(value, numberFormat) {
142
+ var num = value;
143
+
144
+ var _ref3 = numberFormat ? formatNumber(num, _objectSpread(_objectSpread({}, numberFormat || {}), {}, {
145
+ returnAria: true
146
+ })) : {
147
+ aria: null
148
+ },
149
+ humanNumber = _ref3.aria;
150
+
151
+ return String(humanNumber || value);
152
+ };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Web Slider Component
3
+ *
4
+ */
5
+ /// <reference types="react" />
6
+ export declare function SliderInstance(): JSX.Element;
@@ -0,0 +1,162 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+
3
+ var _SubtractButton, _AddButton, _AlignmentHelper, _SliderMainTrack, _SliderSuffix;
4
+
5
+ import "core-js/modules/es.regexp.exec.js";
6
+ import "core-js/modules/es.string.replace.js";
7
+ import React from 'react';
8
+ import classnames from 'classnames';
9
+ import { isTrue } from '../../shared/component-helper';
10
+ import AlignmentHelper from '../../shared/AlignmentHelper';
11
+ import { createSpacingClasses } from '../space/SpacingHelper';
12
+ import { createSkeletonClass, skeletonDOMAttributes } from '../skeleton/SkeletonHelper';
13
+ import Context from '../../shared/Context';
14
+ import Suffix from '../../shared/helpers/Suffix';
15
+ import Button from '../button/Button';
16
+ import FormLabel from '../form-label/FormLabel';
17
+ import FormStatus from '../form-status/FormStatus';
18
+ import { SliderMainTrack, SliderTrackAfter, SliderTrackBefore } from './SliderTrack';
19
+ import { SliderThumb } from './SliderThumb';
20
+ import { useSliderProps } from './hooks/useSliderProps';
21
+ import { clamp, getHumanNumber } from './SliderHelpers';
22
+ export function SliderInstance() {
23
+ var context = React.useContext(Context);
24
+
25
+ var _useSliderProps = useSliderProps(),
26
+ isReverse = _useSliderProps.isReverse,
27
+ isVertical = _useSliderProps.isVertical,
28
+ showButtons = _useSliderProps.showButtons,
29
+ showStatus = _useSliderProps.showStatus,
30
+ allProps = _useSliderProps.allProps;
31
+
32
+ var id = allProps.id,
33
+ label = allProps.label,
34
+ labelSrOnly = allProps.labelSrOnly,
35
+ labelDirection = allProps.labelDirection,
36
+ status = allProps.status,
37
+ statusProps = allProps.statusProps,
38
+ statusState = allProps.statusState,
39
+ statusNoAnimation = allProps.statusNoAnimation,
40
+ globalStatusId = allProps.globalStatusId,
41
+ stretch = allProps.stretch,
42
+ skeleton = allProps.skeleton,
43
+ disabled = allProps.disabled,
44
+ className = allProps.className;
45
+ var mainParams = {
46
+ className: classnames("dnb-slider dnb-form-component", createSkeletonClass(null, skeleton), createSpacingClasses(allProps), className, isReverse && 'dnb-slider--reverse', isVertical && 'dnb-slider--vertical', disabled && 'dnb-slider__state--disabled', !showButtons && 'dnb-slider--no-buttons', isTrue(stretch) && 'dnb-slider--stretch', label && labelDirection && "dnb-slider__label--".concat(labelDirection), showStatus && 'dnb-slider__form-status', status && "dnb-slider__status--".concat(statusState))
47
+ };
48
+ var subtractButton = showButtons ? _SubtractButton || (_SubtractButton = React.createElement(SubtractButton, null)) : null;
49
+ var addButton = showButtons ? _AddButton || (_AddButton = React.createElement(AddButton, null)) : null;
50
+ skeletonDOMAttributes(mainParams, skeleton, context);
51
+ return React.createElement("span", mainParams, label && React.createElement(FormLabel, {
52
+ id: id + '-label',
53
+ text: label,
54
+ disabled: disabled,
55
+ skeleton: skeleton,
56
+ label_direction: labelDirection,
57
+ sr_only: labelSrOnly
58
+ }), React.createElement("span", {
59
+ className: "dnb-slider__wrapper"
60
+ }, _AlignmentHelper || (_AlignmentHelper = React.createElement(AlignmentHelper, null)), React.createElement(FormStatus, _extends({
61
+ show: showStatus,
62
+ id: id + '-form-status',
63
+ global_status_id: globalStatusId,
64
+ label: label,
65
+ text_id: id + '-status',
66
+ text: status,
67
+ status: statusState,
68
+ no_animation: statusNoAnimation,
69
+ skeleton: skeleton
70
+ }, statusProps)), React.createElement("span", {
71
+ className: "dnb-slider__inner"
72
+ }, showButtons && (isReverse ? addButton : subtractButton), _SliderMainTrack || (_SliderMainTrack = React.createElement(SliderMainTrack, null, React.createElement(SliderThumb, null), React.createElement(SliderTrackBefore, null), React.createElement(SliderTrackAfter, null))), showButtons && (isReverse ? subtractButton : addButton), _SliderSuffix || (_SliderSuffix = React.createElement(SliderSuffix, null)))));
73
+ }
74
+
75
+ function SliderSuffix() {
76
+ var _useSliderProps2 = useSliderProps(),
77
+ allProps = _useSliderProps2.allProps;
78
+
79
+ var id = allProps.id,
80
+ suffix = allProps.suffix;
81
+ return suffix ? React.createElement(Suffix, {
82
+ className: "dnb-slider__suffix",
83
+ id: id + '-suffix',
84
+ context: allProps
85
+ }, suffix) : null;
86
+ }
87
+
88
+ function SubtractButton() {
89
+ var _useSliderProps3 = useSliderProps(),
90
+ emitChange = _useSliderProps3.emitChange,
91
+ value = _useSliderProps3.value,
92
+ attributes = _useSliderProps3.attributes,
93
+ allProps = _useSliderProps3.allProps;
94
+
95
+ var step = allProps.step,
96
+ min = allProps.min,
97
+ max = allProps.max,
98
+ disabled = allProps.disabled,
99
+ skeleton = allProps.skeleton,
100
+ subtractTitle = allProps.subtractTitle,
101
+ numberFormat = allProps.numberFormat;
102
+
103
+ var onSubtractClickHandler = function onSubtractClickHandler(event) {
104
+ emitChange(event, clamp(value - (step || 1), min, max));
105
+ };
106
+
107
+ var subtractParams = {};
108
+
109
+ if (typeof attributes['aria-hidden'] !== 'undefined') {
110
+ subtractParams['aria-hidden'] = attributes['aria-hidden'];
111
+ }
112
+
113
+ var humanNumber = getHumanNumber(value, numberFormat);
114
+ return React.createElement(Button, _extends({
115
+ className: "dnb-slider__button dnb-slider__button--subtract",
116
+ variant: "secondary",
117
+ icon: "subtract",
118
+ size: "small",
119
+ "aria-label": subtractTitle === null || subtractTitle === void 0 ? void 0 : subtractTitle.replace('%s', humanNumber),
120
+ on_click: onSubtractClickHandler,
121
+ disabled: disabled,
122
+ skeleton: skeleton
123
+ }, subtractParams));
124
+ }
125
+
126
+ function AddButton() {
127
+ var _useSliderProps4 = useSliderProps(),
128
+ emitChange = _useSliderProps4.emitChange,
129
+ value = _useSliderProps4.value,
130
+ attributes = _useSliderProps4.attributes,
131
+ allProps = _useSliderProps4.allProps;
132
+
133
+ var step = allProps.step,
134
+ min = allProps.min,
135
+ max = allProps.max,
136
+ disabled = allProps.disabled,
137
+ skeleton = allProps.skeleton,
138
+ addTitle = allProps.addTitle,
139
+ numberFormat = allProps.numberFormat;
140
+
141
+ var onAddClickHandler = function onAddClickHandler(event) {
142
+ emitChange(event, clamp(value + (step || 1), min, max));
143
+ };
144
+
145
+ var addParams = {};
146
+
147
+ if (typeof attributes['aria-hidden'] !== 'undefined') {
148
+ addParams['aria-hidden'] = attributes['aria-hidden'];
149
+ }
150
+
151
+ var humanNumber = getHumanNumber(value, numberFormat);
152
+ return React.createElement(Button, _extends({
153
+ className: "dnb-slider__button dnb-slider__button--add",
154
+ variant: "secondary",
155
+ icon: "add",
156
+ size: "small",
157
+ "aria-label": addTitle === null || addTitle === void 0 ? void 0 : addTitle.replace('%s', humanNumber),
158
+ on_click: onAddClickHandler,
159
+ disabled: disabled,
160
+ skeleton: skeleton
161
+ }, addParams));
162
+ }
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { SliderProps, SliderContextTypes } from './types';
3
+ export declare const SliderContext: React.Context<SliderContextTypes>;
4
+ export declare function SliderProvider(localProps: SliderProps): JSX.Element;
@@ -0,0 +1,199 @@
1
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
+ var _excluded = ["step", "label", "labelDirection", "labelSrOnly", "status", "statusState", "statusProps", "statusNoAnimation", "globalStatusId", "stretch", "suffix", "thumbTitle", "subtractTitle", "addTitle", "hideButtons", "numberFormat", "skeleton", "max", "min", "disabled", "className", "id", "onInit", "onChange", "onDragStart", "onDragEnd", "vertical", "reverse", "value", "children"];
4
+ import "core-js/modules/es.array.reverse.js";
5
+ import "core-js/modules/es.object.to-string.js";
6
+ import React from 'react';
7
+ import { includeValidProps } from '../../components/form-row/FormRowHelpers';
8
+ import { usePropsWithContext } from '../../shared/hooks';
9
+ import { warn, isTrue, makeUniqueId, dispatchCustomElementEvent, getStatusState } from '../../shared/component-helper';
10
+ import Context from '../../shared/Context';
11
+ import { closestIndex, formatNumber, getUpdatedValues, roundValue } from './SliderHelpers';
12
+ import { convertSnakeCaseProps } from '../../shared/helpers/withSnakeCaseProps';
13
+ var defaultProps = {
14
+ statusState: 'error',
15
+ addTitle: '+',
16
+ subtractTitle: '−',
17
+ min: 0,
18
+ max: 100,
19
+ value: -1
20
+ };
21
+ export var SliderContext = React.createContext(null);
22
+ export function SliderProvider(localProps) {
23
+ var context = React.useContext(Context);
24
+ var allProps = convertSnakeCaseProps(usePropsWithContext(localProps, defaultProps, {
25
+ skeleton: context === null || context === void 0 ? void 0 : context.skeleton
26
+ }, context === null || context === void 0 ? void 0 : context.getTranslation(localProps).Slider, includeValidProps(context === null || context === void 0 ? void 0 : context.FormRow, {
27
+ vertical: null
28
+ }), context === null || context === void 0 ? void 0 : context.Slider));
29
+
30
+ var _React$useState = React.useState(makeUniqueId),
31
+ _React$useState2 = _slicedToArray(_React$useState, 1),
32
+ _id = _React$useState2[0];
33
+
34
+ if (!allProps.id) {
35
+ allProps.id = _id;
36
+ }
37
+
38
+ var step = allProps.step,
39
+ label = allProps.label,
40
+ labelDirection = allProps.labelDirection,
41
+ labelSrOnly = allProps.labelSrOnly,
42
+ status = allProps.status,
43
+ statusState = allProps.statusState,
44
+ statusProps = allProps.statusProps,
45
+ statusNoAnimation = allProps.statusNoAnimation,
46
+ globalStatusId = allProps.globalStatusId,
47
+ stretch = allProps.stretch,
48
+ suffix = allProps.suffix,
49
+ title = allProps.thumbTitle,
50
+ subtractTitle = allProps.subtractTitle,
51
+ addTitle = allProps.addTitle,
52
+ hideButtons = allProps.hideButtons,
53
+ numberFormat = allProps.numberFormat,
54
+ skeleton = allProps.skeleton,
55
+ max = allProps.max,
56
+ min = allProps.min,
57
+ disabled = allProps.disabled,
58
+ className = allProps.className,
59
+ id = allProps.id,
60
+ onInit = allProps.onInit,
61
+ onChange = allProps.onChange,
62
+ onDragStart = allProps.onDragStart,
63
+ onDragEnd = allProps.onDragEnd,
64
+ _vertical = allProps.vertical,
65
+ _reverse = allProps.reverse,
66
+ _value = allProps.value,
67
+ _children = allProps.children,
68
+ attributes = _objectWithoutProperties(allProps, _excluded);
69
+
70
+ var _React$useState3 = React.useState(_value),
71
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
72
+ value = _React$useState4[0],
73
+ setValue = _React$useState4[1];
74
+
75
+ var _React$useState5 = React.useState('initial'),
76
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
77
+ thumbState = _React$useState6[0],
78
+ setThumbState = _React$useState6[1];
79
+
80
+ var thumbIndex = React.useRef(-1);
81
+
82
+ var _React$useState7 = React.useState(isTrue(_vertical)),
83
+ _React$useState8 = _slicedToArray(_React$useState7, 1),
84
+ isVertical = _React$useState8[0];
85
+
86
+ var _React$useState9 = React.useState(isVertical ? !isTrue(_reverse) : isTrue(_reverse)),
87
+ _React$useState10 = _slicedToArray(_React$useState9, 1),
88
+ isReverse = _React$useState10[0];
89
+
90
+ var isMulti = Array.isArray(value);
91
+
92
+ var setThumbIndex = function setThumbIndex(index) {
93
+ if (!isNaN(index)) {
94
+ thumbIndex.current = index;
95
+ }
96
+ };
97
+
98
+ if (allProps.use_scrollwheel) {
99
+ warn('use_scrollwheel is not supported anymore!');
100
+ }
101
+
102
+ var getAndUpdateCurrentIndex = function getAndUpdateCurrentIndex(currentValue) {
103
+ var currentIndex = null;
104
+
105
+ if (thumbIndex.current > -1) {
106
+ currentIndex = thumbIndex.current;
107
+ } else {
108
+ currentIndex = closestIndex(currentValue, value);
109
+ setThumbIndex(currentIndex);
110
+ }
111
+
112
+ return currentIndex;
113
+ };
114
+
115
+ var emitChange = function emitChange(event, rawValue) {
116
+ if (disabled || isTrue(skeleton)) {
117
+ return;
118
+ }
119
+
120
+ var currentValue = roundValue(rawValue, step);
121
+
122
+ if (currentValue > -1 && rawValue !== value) {
123
+ var newValue = currentValue;
124
+
125
+ if (isMulti) {
126
+ var currentIndex = getAndUpdateCurrentIndex(currentValue);
127
+ newValue = getUpdatedValues(value, currentIndex, currentValue);
128
+ }
129
+
130
+ if (typeof onChange === 'function') {
131
+ var obj = {
132
+ value: newValue,
133
+ rawValue: rawValue,
134
+ raw_value: rawValue,
135
+ event: event,
136
+ number: null
137
+ };
138
+
139
+ if (numberFormat) {
140
+ obj.number = formatNumber(currentValue, numberFormat);
141
+ }
142
+
143
+ dispatchCustomElementEvent(allProps, 'onChange', obj);
144
+ }
145
+
146
+ setValue(newValue);
147
+ }
148
+ };
149
+
150
+ React.useEffect(function () {
151
+ if (isMulti) {
152
+ var hasChanged = _value.some(function (val, i) {
153
+ return val !== value[i];
154
+ });
155
+
156
+ if (hasChanged) {
157
+ setValue(_value);
158
+ }
159
+ } else {
160
+ setValue(_value);
161
+ }
162
+ }, [_value, isMulti]);
163
+ var trackRef = React.useRef();
164
+ var jumpedTimeout = React.useRef();
165
+
166
+ var setJumpedState = function setJumpedState() {
167
+ setThumbState('jumped');
168
+ clearTimeout(jumpedTimeout.current);
169
+ jumpedTimeout.current = setTimeout(function () {
170
+ return setThumbState('normal');
171
+ }, 100);
172
+ };
173
+
174
+ var showStatus = getStatusState(status);
175
+ var showButtons = !isMulti && !isTrue(hideButtons);
176
+ var values = isMulti ? value : [value];
177
+ return React.createElement(SliderContext.Provider, {
178
+ value: {
179
+ isMulti: isMulti,
180
+ isReverse: isReverse,
181
+ isVertical: isVertical,
182
+ value: value,
183
+ values: values,
184
+ setValue: setValue,
185
+ attributes: attributes,
186
+ showStatus: showStatus,
187
+ showButtons: showButtons,
188
+ thumbState: thumbState,
189
+ setThumbState: setThumbState,
190
+ thumbIndex: thumbIndex,
191
+ setThumbIndex: setThumbIndex,
192
+ emitChange: emitChange,
193
+ allProps: allProps,
194
+ trackRef: trackRef,
195
+ setJumpedState: setJumpedState,
196
+ jumpedTimeout: jumpedTimeout
197
+ }
198
+ }, localProps.children);
199
+ }
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function SliderThumb(): JSX.Element;
@@ -0,0 +1,109 @@
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.get-own-property-descriptor.js";
5
+ import "core-js/modules/web.dom-collections.for-each.js";
6
+ import "core-js/modules/es.object.get-own-property-descriptors.js";
7
+ import _extends from "@babel/runtime/helpers/esm/extends";
8
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
9
+
10
+ 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; }
11
+
12
+ 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; }
13
+
14
+ import "core-js/modules/es.array.iterator.js";
15
+ import "core-js/modules/es.object.to-string.js";
16
+ import "core-js/modules/web.dom-collections.iterator.js";
17
+ import "core-js/modules/es.array.map.js";
18
+ import React from 'react';
19
+ import { combineDescribedBy, combineLabelledBy, validateDOMAttributes } from '../../shared/component-helper';
20
+ import Button from '../button/Button';
21
+ import { useSliderEvents } from './hooks/useSliderEvents';
22
+ import { useSliderProps } from './hooks/useSliderProps';
23
+ import { clamp, getHumanNumber } from './SliderHelpers';
24
+ export function SliderThumb() {
25
+ var _useSliderProps = useSliderProps(),
26
+ values = _useSliderProps.values,
27
+ thumbIndex = _useSliderProps.thumbIndex,
28
+ isVertical = _useSliderProps.isVertical,
29
+ showStatus = _useSliderProps.showStatus,
30
+ attributes = _useSliderProps.attributes,
31
+ allProps = _useSliderProps.allProps;
32
+
33
+ var id = allProps.id,
34
+ label = allProps.label,
35
+ min = allProps.min,
36
+ max = allProps.max,
37
+ step = allProps.step,
38
+ skeleton = allProps.skeleton,
39
+ disabled = allProps.disabled,
40
+ suffix = allProps.suffix,
41
+ numberFormat = allProps.numberFormat;
42
+
43
+ var _useSliderEvents = useSliderEvents(),
44
+ onThumbMouseDownHandler = _useSliderEvents.onThumbMouseDownHandler,
45
+ onThumbMouseUpHandler = _useSliderEvents.onThumbMouseUpHandler,
46
+ onThumbBlurHandler = _useSliderEvents.onThumbBlurHandler,
47
+ onThumbFocusHandler = _useSliderEvents.onThumbFocusHandler,
48
+ onHelperChangeHandler = _useSliderEvents.onHelperChangeHandler,
49
+ onHelperFocusHandler = _useSliderEvents.onHelperFocusHandler;
50
+
51
+ var thumbParams = _objectSpread({
52
+ onBlur: onThumbBlurHandler,
53
+ onFocus: onThumbFocusHandler
54
+ }, attributes);
55
+
56
+ var helperParams = {};
57
+
58
+ if (label) {
59
+ helperParams['aria-labelledby'] = combineLabelledBy(helperParams, label ? id + '-label' : null);
60
+ }
61
+
62
+ if (showStatus || suffix) {
63
+ helperParams['aria-describedby'] = combineDescribedBy(helperParams, showStatus ? id + '-status' : null, suffix ? id + '-suffix' : null);
64
+ }
65
+
66
+ validateDOMAttributes(null, helperParams);
67
+ validateDOMAttributes(allProps, thumbParams);
68
+ return React.createElement(React.Fragment, null, values.map(function (value, i) {
69
+ var index = thumbIndex.current;
70
+ var percent = clamp((value - min) * 100 / (max - min));
71
+
72
+ var style = _defineProperty({
73
+ zIndex: index === i ? 4 : 3
74
+ }, "".concat(isVertical ? 'top' : 'left'), "".concat(percent, "%"));
75
+
76
+ var humanNumber = getHumanNumber(value, numberFormat);
77
+ return React.createElement(React.Fragment, {
78
+ key: i
79
+ }, React.createElement("span", {
80
+ className: "dnb-slider__thumb",
81
+ style: style
82
+ }, React.createElement("input", _extends({
83
+ type: "range",
84
+ className: "dnb-slider__button-helper",
85
+ min: min,
86
+ max: max,
87
+ step: step,
88
+ value: value,
89
+ disabled: disabled,
90
+ onChange: onHelperChangeHandler,
91
+ onFocus: onHelperFocusHandler,
92
+ "aria-valuemin": min,
93
+ "aria-valuemax": max,
94
+ "aria-valuenow": value,
95
+ "aria-valuetext": humanNumber ? humanNumber : undefined,
96
+ "aria-orientation": isVertical ? 'vertical' : 'horizontal',
97
+ "data-index": i
98
+ }, helperParams)), React.createElement(Button, _extends({
99
+ element: "span",
100
+ type: "",
101
+ variant: "secondary",
102
+ disabled: disabled,
103
+ skeleton: skeleton,
104
+ "data-index": i,
105
+ onMouseDown: onThumbMouseDownHandler,
106
+ onMouseUp: onThumbMouseUpHandler
107
+ }, thumbParams))));
108
+ }));
109
+ }
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export declare function SliderMainTrack({ children, }: {
3
+ children: React.ReactNode | React.ReactNode[];
4
+ }): JSX.Element;
5
+ export declare function SliderTrackBefore(): JSX.Element;
6
+ export declare function SliderTrackAfter(): JSX.Element;