@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,124 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _extends from "@babel/runtime/helpers/esm/extends";
3
+
4
+ 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; }
5
+
6
+ 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; }
7
+
8
+ import { format } from '../number-format/NumberUtils';
9
+ export const percentToValue = (percent, min, max) => {
10
+ if (typeof min === 'string') {
11
+ min = parseFloat(min);
12
+ }
13
+
14
+ if (typeof max === 'string') {
15
+ max = parseFloat(max);
16
+ }
17
+
18
+ return (max - min) * percent / 100 + min;
19
+ };
20
+ export const roundToStep = (number, step) => Math.round(number / step) * step;
21
+ export const getOffset = node => {
22
+ const {
23
+ pageYOffset,
24
+ pageXOffset
25
+ } = typeof window !== 'undefined' ? window : {
26
+ pageYOffset: 0,
27
+ pageXOffset: 0
28
+ };
29
+ const {
30
+ left,
31
+ top
32
+ } = node.getBoundingClientRect();
33
+ return {
34
+ top: top + pageYOffset,
35
+ left: left + pageXOffset
36
+ };
37
+ };
38
+ export const getMousePosition = event => {
39
+ if (event.changedTouches && event.changedTouches[0]) {
40
+ return {
41
+ x: event.changedTouches[0].pageX,
42
+ y: event.changedTouches[0].pageY
43
+ };
44
+ }
45
+
46
+ return {
47
+ x: event.pageX,
48
+ y: event.pageY
49
+ };
50
+ };
51
+ export const calculatePercent = (node, event, isVertical, isReverted) => {
52
+ const {
53
+ width,
54
+ height
55
+ } = node.getBoundingClientRect();
56
+ const {
57
+ top,
58
+ left
59
+ } = getOffset(node);
60
+ const {
61
+ x,
62
+ y
63
+ } = getMousePosition(event);
64
+ const value = isVertical ? y - top : x - left;
65
+ const onePercent = (isVertical ? height : width) / 100;
66
+ return Math.abs((isReverted ? 100 : 0) - clamp(value / onePercent));
67
+ };
68
+ export const clamp = (value, min = 0, max = 100) => Math.min(Math.max(value, min), max);
69
+ export const roundValue = (value, step) => {
70
+ return step > 0 ? roundToStep(value, step) : parseFloat(parseFloat(String(value)).toFixed(3));
71
+ };
72
+ export const createMockDiv = ({
73
+ width,
74
+ height
75
+ }) => {
76
+ const div = document.createElement('div');
77
+
78
+ _extends(div.style, {
79
+ width: `${width}px`,
80
+ height: `${height}px`
81
+ });
82
+
83
+ div.getBoundingClientRect = () => ({
84
+ width,
85
+ height,
86
+ top: 0,
87
+ left: 0,
88
+ right: width,
89
+ bottom: height
90
+ });
91
+
92
+ return div;
93
+ };
94
+ export const getUpdatedValues = (value, index, newValue) => {
95
+ return value.map((val, i) => {
96
+ if (i === index) {
97
+ val = newValue;
98
+ }
99
+
100
+ return val;
101
+ });
102
+ };
103
+ export const closestIndex = (goal, array) => {
104
+ const res = [...array].sort((a, b) => Math.abs(goal - a) - Math.abs(goal - b))[0];
105
+ return array.findIndex(num => num === res);
106
+ };
107
+ export const formatNumber = (value, opts = null) => {
108
+ if (opts) {
109
+ return format(value, opts);
110
+ }
111
+
112
+ return value;
113
+ };
114
+ export const getHumanNumber = (value, numberFormat) => {
115
+ const num = value;
116
+ const {
117
+ aria: humanNumber
118
+ } = numberFormat ? formatNumber(num, _objectSpread(_objectSpread({}, numberFormat || {}), {}, {
119
+ returnAria: true
120
+ })) : {
121
+ aria: null
122
+ };
123
+ return String(humanNumber || value);
124
+ };
@@ -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,167 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+
3
+ var _SubtractButton, _AddButton, _AlignmentHelper, _SliderMainTrack, _SliderSuffix;
4
+
5
+ import React from 'react';
6
+ import classnames from 'classnames';
7
+ import { isTrue } from '../../shared/component-helper';
8
+ import AlignmentHelper from '../../shared/AlignmentHelper';
9
+ import { createSpacingClasses } from '../space/SpacingHelper';
10
+ import { createSkeletonClass, skeletonDOMAttributes } from '../skeleton/SkeletonHelper';
11
+ import Context from '../../shared/Context';
12
+ import Suffix from '../../shared/helpers/Suffix';
13
+ import Button from '../button/Button';
14
+ import FormLabel from '../form-label/FormLabel';
15
+ import FormStatus from '../form-status/FormStatus';
16
+ import { SliderMainTrack, SliderTrackAfter, SliderTrackBefore } from './SliderTrack';
17
+ import { SliderThumb } from './SliderThumb';
18
+ import { useSliderProps } from './hooks/useSliderProps';
19
+ import { clamp, getHumanNumber } from './SliderHelpers';
20
+ export function SliderInstance() {
21
+ const context = React.useContext(Context);
22
+ const {
23
+ isReverse,
24
+ isVertical,
25
+ showButtons,
26
+ showStatus,
27
+ allProps
28
+ } = useSliderProps();
29
+ const {
30
+ id,
31
+ label,
32
+ labelSrOnly,
33
+ labelDirection,
34
+ status,
35
+ statusProps,
36
+ statusState,
37
+ statusNoAnimation,
38
+ globalStatusId,
39
+ stretch,
40
+ skeleton,
41
+ disabled,
42
+ className
43
+ } = allProps;
44
+ const mainParams = {
45
+ 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--${labelDirection}`, showStatus && 'dnb-slider__form-status', status && `dnb-slider__status--${statusState}`)
46
+ };
47
+ const subtractButton = showButtons ? _SubtractButton || (_SubtractButton = React.createElement(SubtractButton, null)) : null;
48
+ const addButton = showButtons ? _AddButton || (_AddButton = React.createElement(AddButton, null)) : null;
49
+ skeletonDOMAttributes(mainParams, skeleton, context);
50
+ return React.createElement("span", mainParams, label && React.createElement(FormLabel, {
51
+ id: id + '-label',
52
+ text: label,
53
+ disabled: disabled,
54
+ skeleton: skeleton,
55
+ label_direction: labelDirection,
56
+ sr_only: labelSrOnly
57
+ }), React.createElement("span", {
58
+ className: "dnb-slider__wrapper"
59
+ }, _AlignmentHelper || (_AlignmentHelper = React.createElement(AlignmentHelper, null)), React.createElement(FormStatus, _extends({
60
+ show: showStatus,
61
+ id: id + '-form-status',
62
+ global_status_id: globalStatusId,
63
+ label: label,
64
+ text_id: id + '-status',
65
+ text: status,
66
+ status: statusState,
67
+ no_animation: statusNoAnimation,
68
+ skeleton: skeleton
69
+ }, statusProps)), React.createElement("span", {
70
+ className: "dnb-slider__inner"
71
+ }, 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)))));
72
+ }
73
+
74
+ function SliderSuffix() {
75
+ const {
76
+ allProps
77
+ } = useSliderProps();
78
+ const {
79
+ id,
80
+ suffix
81
+ } = allProps;
82
+ return suffix ? React.createElement(Suffix, {
83
+ className: "dnb-slider__suffix",
84
+ id: id + '-suffix',
85
+ context: allProps
86
+ }, suffix) : null;
87
+ }
88
+
89
+ function SubtractButton() {
90
+ const {
91
+ emitChange,
92
+ value,
93
+ attributes,
94
+ allProps
95
+ } = useSliderProps();
96
+ const {
97
+ step,
98
+ min,
99
+ max,
100
+ disabled,
101
+ skeleton,
102
+ subtractTitle,
103
+ numberFormat
104
+ } = allProps;
105
+
106
+ const onSubtractClickHandler = event => {
107
+ emitChange(event, clamp(value - (step || 1), min, max));
108
+ };
109
+
110
+ const subtractParams = {};
111
+
112
+ if (typeof attributes['aria-hidden'] !== 'undefined') {
113
+ subtractParams['aria-hidden'] = attributes['aria-hidden'];
114
+ }
115
+
116
+ const humanNumber = getHumanNumber(value, numberFormat);
117
+ return React.createElement(Button, _extends({
118
+ className: "dnb-slider__button dnb-slider__button--subtract",
119
+ variant: "secondary",
120
+ icon: "subtract",
121
+ size: "small",
122
+ "aria-label": subtractTitle === null || subtractTitle === void 0 ? void 0 : subtractTitle.replace('%s', humanNumber),
123
+ on_click: onSubtractClickHandler,
124
+ disabled: disabled,
125
+ skeleton: skeleton
126
+ }, subtractParams));
127
+ }
128
+
129
+ function AddButton() {
130
+ const {
131
+ emitChange,
132
+ value,
133
+ attributes,
134
+ allProps
135
+ } = useSliderProps();
136
+ const {
137
+ step,
138
+ min,
139
+ max,
140
+ disabled,
141
+ skeleton,
142
+ addTitle,
143
+ numberFormat
144
+ } = allProps;
145
+
146
+ const onAddClickHandler = event => {
147
+ emitChange(event, clamp(value + (step || 1), min, max));
148
+ };
149
+
150
+ const addParams = {};
151
+
152
+ if (typeof attributes['aria-hidden'] !== 'undefined') {
153
+ addParams['aria-hidden'] = attributes['aria-hidden'];
154
+ }
155
+
156
+ const humanNumber = getHumanNumber(value, numberFormat);
157
+ return React.createElement(Button, _extends({
158
+ className: "dnb-slider__button dnb-slider__button--add",
159
+ variant: "secondary",
160
+ icon: "add",
161
+ size: "small",
162
+ "aria-label": addTitle === null || addTitle === void 0 ? void 0 : addTitle.replace('%s', humanNumber),
163
+ on_click: onAddClickHandler,
164
+ disabled: disabled,
165
+ skeleton: skeleton
166
+ }, addParams));
167
+ }
@@ -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,178 @@
1
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
+ const _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"];
3
+ import React from 'react';
4
+ import { includeValidProps } from '../../components/form-row/FormRowHelpers';
5
+ import { usePropsWithContext } from '../../shared/hooks';
6
+ import { warn, isTrue, makeUniqueId, dispatchCustomElementEvent, getStatusState } from '../../shared/component-helper';
7
+ import Context from '../../shared/Context';
8
+ import { closestIndex, formatNumber, getUpdatedValues, roundValue } from './SliderHelpers';
9
+ import { convertSnakeCaseProps } from '../../shared/helpers/withSnakeCaseProps';
10
+ const defaultProps = {
11
+ statusState: 'error',
12
+ addTitle: '+',
13
+ subtractTitle: '−',
14
+ min: 0,
15
+ max: 100,
16
+ value: -1
17
+ };
18
+ export const SliderContext = React.createContext(null);
19
+ export function SliderProvider(localProps) {
20
+ const context = React.useContext(Context);
21
+ const allProps = convertSnakeCaseProps(usePropsWithContext(localProps, defaultProps, {
22
+ skeleton: context === null || context === void 0 ? void 0 : context.skeleton
23
+ }, context === null || context === void 0 ? void 0 : context.getTranslation(localProps).Slider, includeValidProps(context === null || context === void 0 ? void 0 : context.FormRow, {
24
+ vertical: null
25
+ }), context === null || context === void 0 ? void 0 : context.Slider));
26
+ const [_id] = React.useState(makeUniqueId);
27
+
28
+ if (!allProps.id) {
29
+ allProps.id = _id;
30
+ }
31
+
32
+ const {
33
+ step,
34
+ label,
35
+ labelDirection,
36
+ labelSrOnly,
37
+ status,
38
+ statusState,
39
+ statusProps,
40
+ statusNoAnimation,
41
+ globalStatusId,
42
+ stretch,
43
+ suffix,
44
+ thumbTitle: title,
45
+ subtractTitle,
46
+ addTitle,
47
+ hideButtons,
48
+ numberFormat,
49
+ skeleton,
50
+ max,
51
+ min,
52
+ disabled,
53
+ className,
54
+ id,
55
+ onInit,
56
+ onChange,
57
+ onDragStart,
58
+ onDragEnd,
59
+ vertical: _vertical,
60
+ reverse: _reverse,
61
+ value: _value,
62
+ children: _children
63
+ } = allProps,
64
+ attributes = _objectWithoutProperties(allProps, _excluded);
65
+
66
+ const [value, setValue] = React.useState(_value);
67
+ const [thumbState, setThumbState] = React.useState('initial');
68
+ const thumbIndex = React.useRef(-1);
69
+ const [isVertical] = React.useState(isTrue(_vertical));
70
+ const [isReverse] = React.useState(isVertical ? !isTrue(_reverse) : isTrue(_reverse));
71
+ const isMulti = Array.isArray(value);
72
+
73
+ const setThumbIndex = index => {
74
+ if (!isNaN(index)) {
75
+ thumbIndex.current = index;
76
+ }
77
+ };
78
+
79
+ if (allProps.use_scrollwheel) {
80
+ warn('use_scrollwheel is not supported anymore!');
81
+ }
82
+
83
+ const getAndUpdateCurrentIndex = currentValue => {
84
+ let currentIndex = null;
85
+
86
+ if (thumbIndex.current > -1) {
87
+ currentIndex = thumbIndex.current;
88
+ } else {
89
+ currentIndex = closestIndex(currentValue, value);
90
+ setThumbIndex(currentIndex);
91
+ }
92
+
93
+ return currentIndex;
94
+ };
95
+
96
+ const emitChange = (event, rawValue) => {
97
+ if (disabled || isTrue(skeleton)) {
98
+ return;
99
+ }
100
+
101
+ const currentValue = roundValue(rawValue, step);
102
+
103
+ if (currentValue > -1 && rawValue !== value) {
104
+ let newValue = currentValue;
105
+
106
+ if (isMulti) {
107
+ const currentIndex = getAndUpdateCurrentIndex(currentValue);
108
+ newValue = getUpdatedValues(value, currentIndex, currentValue);
109
+ }
110
+
111
+ if (typeof onChange === 'function') {
112
+ const obj = {
113
+ value: newValue,
114
+ rawValue,
115
+ raw_value: rawValue,
116
+ event,
117
+ number: null
118
+ };
119
+
120
+ if (numberFormat) {
121
+ obj.number = formatNumber(currentValue, numberFormat);
122
+ }
123
+
124
+ dispatchCustomElementEvent(allProps, 'onChange', obj);
125
+ }
126
+
127
+ setValue(newValue);
128
+ }
129
+ };
130
+
131
+ React.useEffect(() => {
132
+ if (isMulti) {
133
+ const hasChanged = _value.some((val, i) => {
134
+ return val !== value[i];
135
+ });
136
+
137
+ if (hasChanged) {
138
+ setValue(_value);
139
+ }
140
+ } else {
141
+ setValue(_value);
142
+ }
143
+ }, [_value, isMulti]);
144
+ const trackRef = React.useRef();
145
+ const jumpedTimeout = React.useRef();
146
+
147
+ const setJumpedState = () => {
148
+ setThumbState('jumped');
149
+ clearTimeout(jumpedTimeout.current);
150
+ jumpedTimeout.current = setTimeout(() => setThumbState('normal'), 100);
151
+ };
152
+
153
+ const showStatus = getStatusState(status);
154
+ const showButtons = !isMulti && !isTrue(hideButtons);
155
+ const values = isMulti ? value : [value];
156
+ return React.createElement(SliderContext.Provider, {
157
+ value: {
158
+ isMulti,
159
+ isReverse,
160
+ isVertical,
161
+ value,
162
+ values,
163
+ setValue,
164
+ attributes,
165
+ showStatus,
166
+ showButtons,
167
+ thumbState,
168
+ setThumbState,
169
+ thumbIndex,
170
+ setThumbIndex,
171
+ emitChange,
172
+ allProps,
173
+ trackRef,
174
+ setJumpedState,
175
+ jumpedTimeout
176
+ }
177
+ }, localProps.children);
178
+ }
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function SliderThumb(): JSX.Element;
@@ -0,0 +1,100 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
+
4
+ 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; }
5
+
6
+ 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; }
7
+
8
+ import React from 'react';
9
+ import { combineDescribedBy, combineLabelledBy, validateDOMAttributes } from '../../shared/component-helper';
10
+ import Button from '../button/Button';
11
+ import { useSliderEvents } from './hooks/useSliderEvents';
12
+ import { useSliderProps } from './hooks/useSliderProps';
13
+ import { clamp, getHumanNumber } from './SliderHelpers';
14
+ export function SliderThumb() {
15
+ const {
16
+ values,
17
+ thumbIndex,
18
+ isVertical,
19
+ showStatus,
20
+ attributes,
21
+ allProps
22
+ } = useSliderProps();
23
+ const {
24
+ id,
25
+ label,
26
+ min,
27
+ max,
28
+ step,
29
+ skeleton,
30
+ disabled,
31
+ suffix,
32
+ numberFormat
33
+ } = allProps;
34
+ const {
35
+ onThumbMouseDownHandler,
36
+ onThumbMouseUpHandler,
37
+ onThumbBlurHandler,
38
+ onThumbFocusHandler,
39
+ onHelperChangeHandler,
40
+ onHelperFocusHandler
41
+ } = useSliderEvents();
42
+
43
+ const thumbParams = _objectSpread({
44
+ onBlur: onThumbBlurHandler,
45
+ onFocus: onThumbFocusHandler
46
+ }, attributes);
47
+
48
+ const helperParams = {};
49
+
50
+ if (label) {
51
+ helperParams['aria-labelledby'] = combineLabelledBy(helperParams, label ? id + '-label' : null);
52
+ }
53
+
54
+ if (showStatus || suffix) {
55
+ helperParams['aria-describedby'] = combineDescribedBy(helperParams, showStatus ? id + '-status' : null, suffix ? id + '-suffix' : null);
56
+ }
57
+
58
+ validateDOMAttributes(null, helperParams);
59
+ validateDOMAttributes(allProps, thumbParams);
60
+ return React.createElement(React.Fragment, null, values.map((value, i) => {
61
+ const index = thumbIndex.current;
62
+ const percent = clamp((value - min) * 100 / (max - min));
63
+ const style = {
64
+ zIndex: index === i ? 4 : 3,
65
+ [`${isVertical ? 'top' : 'left'}`]: `${percent}%`
66
+ };
67
+ const humanNumber = getHumanNumber(value, numberFormat);
68
+ return React.createElement(React.Fragment, {
69
+ key: i
70
+ }, React.createElement("span", {
71
+ className: "dnb-slider__thumb",
72
+ style: style
73
+ }, React.createElement("input", _extends({
74
+ type: "range",
75
+ className: "dnb-slider__button-helper",
76
+ min: min,
77
+ max: max,
78
+ step: step,
79
+ value: value,
80
+ disabled: disabled,
81
+ onChange: onHelperChangeHandler,
82
+ onFocus: onHelperFocusHandler,
83
+ "aria-valuemin": min,
84
+ "aria-valuemax": max,
85
+ "aria-valuenow": value,
86
+ "aria-valuetext": humanNumber ? humanNumber : undefined,
87
+ "aria-orientation": isVertical ? 'vertical' : 'horizontal',
88
+ "data-index": i
89
+ }, helperParams)), React.createElement(Button, _extends({
90
+ element: "span",
91
+ type: "",
92
+ variant: "secondary",
93
+ disabled: disabled,
94
+ skeleton: skeleton,
95
+ "data-index": i,
96
+ onMouseDown: onThumbMouseDownHandler,
97
+ onMouseUp: onThumbMouseUpHandler
98
+ }, thumbParams))));
99
+ }));
100
+ }
@@ -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;