@dnb/eufemia 9.26.0 → 9.28.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 (735) hide show
  1. package/CHANGELOG.md +78 -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 +82 -126
  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 +2 -10
  71. package/cjs/components/drawer/style/dnb-drawer.css +59 -94
  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 +97 -2
  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 +3 -2
  110. package/cjs/components/modal/style/_modal.scss +4 -8
  111. package/cjs/components/modal/style/dnb-modal.css +53 -82
  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 +4 -4
  122. package/cjs/components/slider/Slider.d.ts +146 -229
  123. package/cjs/components/slider/Slider.js +381 -589
  124. package/cjs/components/table/Table.d.ts +40 -0
  125. package/cjs/components/table/Table.js +91 -0
  126. package/cjs/components/table/TableStickyHeader.d.ts +21 -0
  127. package/cjs/components/table/TableStickyHeader.js +159 -0
  128. package/cjs/components/table/TableTd.d.ts +15 -0
  129. package/cjs/components/table/TableTd.js +42 -0
  130. package/cjs/components/table/TableTh.d.ts +14 -0
  131. package/cjs/components/table/TableTh.js +42 -0
  132. package/cjs/components/table/TableTr.d.ts +15 -0
  133. package/cjs/components/table/TableTr.js +41 -0
  134. package/cjs/components/table/index.d.ts +3 -0
  135. package/cjs/components/table/index.js +52 -0
  136. package/cjs/components/table/style/_table.scss +147 -0
  137. package/cjs/components/table/style/dnb-table.css +181 -0
  138. package/cjs/components/table/style/dnb-table.min.css +1 -0
  139. package/cjs/components/table/style/dnb-table.scss +12 -0
  140. package/cjs/components/table/style/index.d.ts +6 -0
  141. package/cjs/components/table/style/index.js +3 -0
  142. package/cjs/components/table/style/themes/dnb-table-theme-ui.css +444 -0
  143. package/cjs/components/table/style/themes/dnb-table-theme-ui.min.css +2 -0
  144. package/cjs/components/table/style/themes/dnb-table-theme-ui.scss +97 -0
  145. package/cjs/components/table/style/themes/table-basis.scss +161 -0
  146. package/cjs/components/table/style/themes/ui.d.ts +1 -0
  147. package/cjs/components/table/style/themes/ui.js +3 -0
  148. package/cjs/components/table/style.d.ts +1 -0
  149. package/cjs/components/table/style.js +3 -0
  150. package/cjs/components/tag/Tag.js +16 -13
  151. package/cjs/components/timeline/Timeline.js +11 -7
  152. package/cjs/components/timeline/TimelineItem.d.ts +12 -4
  153. package/cjs/components/timeline/TimelineItem.js +62 -25
  154. package/cjs/components/timeline/style/_timeline.scss +2 -2
  155. package/cjs/components/timeline/style/dnb-timeline.css +6 -6
  156. package/cjs/components/timeline/style/dnb-timeline.min.css +1 -1
  157. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.css +4 -4
  158. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -1
  159. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.scss +4 -4
  160. package/cjs/elements/Table.d.ts +3 -35
  161. package/cjs/elements/Table.js +25 -270
  162. package/cjs/elements/Td.d.ts +2 -28
  163. package/cjs/elements/Td.js +32 -40
  164. package/cjs/elements/Th.d.ts +2 -28
  165. package/cjs/elements/Th.js +32 -40
  166. package/cjs/elements/Tr.d.ts +2 -28
  167. package/cjs/elements/Tr.js +32 -40
  168. package/cjs/elements/lib.d.ts +4 -6
  169. package/cjs/elements/lib.js +0 -9
  170. package/cjs/fragments/drawer-list/DrawerList.d.ts +13 -0
  171. package/cjs/fragments/drawer-list/DrawerList.js +25 -10
  172. package/cjs/fragments/drawer-list/DrawerListHelpers.d.ts +20 -0
  173. package/cjs/fragments/drawer-list/DrawerListHelpers.js +18 -1
  174. package/cjs/fragments/drawer-list/DrawerListProvider.d.ts +6 -9
  175. package/cjs/fragments/drawer-list/DrawerListProvider.js +28 -42
  176. package/cjs/fragments/drawer-list/style/_drawer-list.scss +40 -5
  177. package/cjs/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +58 -38
  178. package/cjs/icons/bookmark.d.ts +2 -0
  179. package/cjs/icons/bookmark.js +36 -0
  180. package/cjs/icons/bookmark_medium.d.ts +2 -0
  181. package/cjs/icons/bookmark_medium.js +36 -0
  182. package/cjs/icons/calendar_cancel.d.ts +2 -0
  183. package/cjs/icons/calendar_cancel.js +32 -0
  184. package/cjs/icons/calendar_cancel_medium.d.ts +2 -0
  185. package/cjs/icons/calendar_cancel_medium.js +32 -0
  186. package/cjs/icons/exclamation.js +5 -2
  187. package/cjs/icons/exclamation_circled.js +1 -1
  188. package/cjs/icons/exclamation_medium.js +5 -2
  189. package/cjs/icons/icons-meta.json +232 -198
  190. package/cjs/icons/icons-pdf.lock +6294 -0
  191. package/cjs/icons/icons-svg.lock +6294 -1
  192. package/cjs/icons/index.d.ts +5 -1
  193. package/cjs/icons/index.js +32 -0
  194. package/cjs/icons/reply.js +2 -1
  195. package/cjs/icons/reply_medium.js +2 -1
  196. package/cjs/icons/secondary_icons.d.ts +3 -1
  197. package/cjs/icons/secondary_icons.js +16 -0
  198. package/cjs/icons/secondary_icons_medium.d.ts +3 -1
  199. package/cjs/icons/secondary_icons_medium.js +16 -0
  200. package/cjs/icons/stopwatch.js +1 -1
  201. package/cjs/index.d.ts +31 -30
  202. package/cjs/index.js +66 -58
  203. package/cjs/shared/AlignmentHelper.js +4 -2
  204. package/cjs/shared/AnimateHeight.d.ts +1 -0
  205. package/cjs/shared/AnimateHeight.js +18 -2
  206. package/cjs/shared/Context.d.ts +96 -44
  207. package/cjs/shared/Context.js +3 -16
  208. package/cjs/shared/Eufemia.js +1 -1
  209. package/cjs/shared/MediaQuery.d.ts +18 -37
  210. package/cjs/shared/MediaQuery.js +3 -19
  211. package/cjs/shared/MediaQueryUtils.d.ts +61 -23
  212. package/cjs/shared/MediaQueryUtils.js +2 -2
  213. package/cjs/shared/Provider.d.ts +36 -12
  214. package/cjs/shared/Provider.js +6 -15
  215. package/cjs/shared/component-helper.d.ts +1 -1
  216. package/cjs/shared/component-helper.js +5 -5
  217. package/cjs/shared/helpers/Suffix.d.ts +5 -4
  218. package/cjs/shared/helpers/filterValidProps.d.ts +11 -0
  219. package/cjs/shared/helpers/filterValidProps.js +19 -0
  220. package/cjs/shared/helpers/withCamelCaseProps.js +3 -0
  221. package/cjs/shared/interfaces.d.ts +13 -0
  222. package/cjs/shared/locales/en-GB.d.ts +1 -0
  223. package/cjs/shared/locales/en-GB.js +1 -0
  224. package/cjs/shared/locales/en-US.d.ts +1 -0
  225. package/cjs/shared/locales/index.d.ts +2 -0
  226. package/cjs/shared/locales/nb-NO.d.ts +1 -0
  227. package/cjs/shared/locales/nb-NO.js +1 -0
  228. package/cjs/shared/useMediaQuery.d.ts +3 -1
  229. package/cjs/shared/useTranslation.d.ts +1 -22
  230. package/cjs/style/dnb-ui-components.css +411 -109
  231. package/cjs/style/dnb-ui-components.min.css +4 -4
  232. package/cjs/style/dnb-ui-components.scss +2 -0
  233. package/cjs/style/dnb-ui-elements.css +1 -534
  234. package/cjs/style/dnb-ui-elements.min.css +1 -2
  235. package/cjs/style/dnb-ui-fragments.css +37 -15
  236. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  237. package/cjs/style/dnb-ui-tags.css +1 -1065
  238. package/cjs/style/dnb-ui-tags.min.css +1 -3
  239. package/cjs/style/elements/table.scss +1 -389
  240. package/cjs/style/elements/ui-tags.scss +2 -2
  241. package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.css +539 -580
  242. package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +10 -8
  243. package/cjs/style/themes/theme-ui/dnb-theme-ui.css +539 -580
  244. package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +10 -8
  245. package/cjs/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
  246. package/components/Badge.d.ts +3 -0
  247. package/components/Badge.js +3 -0
  248. package/components/Style.d.ts +1 -0
  249. package/components/Style.js +3 -0
  250. package/components/Table.d.ts +3 -0
  251. package/components/Table.js +3 -0
  252. package/components/accordion/AccordionContent.js +1 -1
  253. package/components/autocomplete/Autocomplete.d.ts +9 -0
  254. package/components/autocomplete/Autocomplete.js +63 -25
  255. package/components/autocomplete/style/_autocomplete.scss +73 -6
  256. package/components/autocomplete/style/dnb-autocomplete.css +79 -14
  257. package/components/autocomplete/style/dnb-autocomplete.min.css +2 -2
  258. package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +7 -0
  259. package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
  260. package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +8 -0
  261. package/components/avatar/Avatar.js +15 -14
  262. package/components/avatar/style/_avatar.scss +1 -0
  263. package/components/avatar/style/dnb-avatar.css +1 -0
  264. package/components/avatar/style/dnb-avatar.min.css +1 -1
  265. package/components/badge/Badge.d.ts +58 -0
  266. package/components/badge/Badge.js +92 -0
  267. package/components/badge/index.d.ts +8 -0
  268. package/components/badge/index.js +3 -0
  269. package/components/badge/style/_badge.scss +74 -0
  270. package/components/badge/style/dnb-badge.css +151 -0
  271. package/components/badge/style/dnb-badge.min.css +1 -0
  272. package/components/badge/style/dnb-badge.scss +12 -0
  273. package/components/badge/style/index.d.ts +6 -0
  274. package/components/badge/style/index.js +1 -0
  275. package/components/badge/style/themes/dnb-badge-theme-ui.css +21 -0
  276. package/components/badge/style/themes/dnb-badge-theme-ui.min.css +1 -0
  277. package/components/badge/style/themes/dnb-badge-theme-ui.scss +17 -0
  278. package/components/badge/style/themes/ui.d.ts +1 -0
  279. package/components/badge/style/themes/ui.js +1 -0
  280. package/components/badge/style.d.ts +1 -0
  281. package/components/badge/style.js +1 -0
  282. package/components/breadcrumb/Breadcrumb.js +21 -20
  283. package/components/button/Button.d.ts +5 -3
  284. package/components/date-picker/DatePicker.d.ts +6 -0
  285. package/components/date-picker/DatePicker.js +9 -4
  286. package/components/date-picker/DatePickerFooter.js +3 -3
  287. package/components/date-picker/DatePickerInput.d.ts +6 -0
  288. package/components/date-picker/DatePickerInput.js +37 -23
  289. package/components/date-picker/style/_date-picker.scss +40 -0
  290. package/components/date-picker/style/dnb-date-picker.css +52 -8
  291. package/components/date-picker/style/dnb-date-picker.min.css +2 -2
  292. package/components/dialog/Dialog.js +7 -3
  293. package/components/dialog/DialogContent.js +7 -4
  294. package/components/dialog/style/_dialog.scss +24 -35
  295. package/components/dialog/style/dnb-dialog.css +82 -126
  296. package/components/dialog/style/dnb-dialog.min.css +1 -1
  297. package/components/dialog/style/themes/dnb-dialog-theme-ui.css +0 -2
  298. package/components/dialog/style/themes/dnb-dialog-theme-ui.min.css +1 -1
  299. package/components/dialog/style/themes/dnb-dialog-theme-ui.scss +0 -7
  300. package/components/dialog/types.d.ts +9 -2
  301. package/components/drawer/DrawerContent.js +4 -1
  302. package/components/drawer/style/_drawer.scss +2 -10
  303. package/components/drawer/style/dnb-drawer.css +59 -94
  304. package/components/drawer/style/dnb-drawer.min.css +1 -1
  305. package/components/drawer/style/themes/dnb-drawer-theme-ui.css +0 -2
  306. package/components/drawer/style/themes/dnb-drawer-theme-ui.min.css +1 -1
  307. package/components/drawer/style/themes/dnb-drawer-theme-ui.scss +0 -7
  308. package/components/dropdown/Dropdown.d.ts +25 -0
  309. package/components/dropdown/Dropdown.js +2 -2
  310. package/components/form-row/FormRow.js +9 -15
  311. package/components/form-row/FormRowHelpers.d.ts +7 -0
  312. package/components/form-row/FormRowHelpers.js +18 -0
  313. package/components/icon/Icon.js +1 -3
  314. package/components/icon/IconHelpers.d.ts +1 -0
  315. package/components/icon/IconHelpers.js +5 -0
  316. package/components/index.d.ts +3 -1
  317. package/components/index.js +3 -1
  318. package/components/input/Input.d.ts +6 -1
  319. package/components/input/Input.js +12 -2
  320. package/components/input/style/_input.scss +11 -9
  321. package/components/input/style/dnb-input.css +7 -8
  322. package/components/input/style/dnb-input.min.css +1 -1
  323. package/components/input-masked/InputMasked.d.ts +6 -1
  324. package/components/input-masked/InputMaskedUtils.js +11 -4
  325. package/components/input-masked/addons/createNumberMask.d.ts +1 -2
  326. package/components/input-masked/addons/createNumberMask.js +1 -12
  327. package/components/input-masked/style/dnb-input-masked.css +7 -8
  328. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  329. package/components/lib.d.ts +97 -2
  330. package/components/lib.js +5 -1
  331. package/components/modal/Modal.d.ts +1 -22
  332. package/components/modal/Modal.js +4 -1
  333. package/components/modal/ModalContent.d.ts +7 -2
  334. package/components/modal/ModalContent.js +81 -62
  335. package/components/modal/ModalContext.d.ts +1 -0
  336. package/components/modal/ModalContext.js +1 -0
  337. package/components/modal/parts/CloseButton.d.ts +3 -24
  338. package/components/modal/parts/ModalHeader.d.ts +1 -0
  339. package/components/modal/parts/ModalHeaderBar.d.ts +3 -2
  340. package/components/modal/parts/ModalInner.d.ts +1 -0
  341. package/components/modal/style/_modal-mixins.scss +3 -2
  342. package/components/modal/style/_modal.scss +4 -8
  343. package/components/modal/style/dnb-modal.css +53 -82
  344. package/components/modal/style/dnb-modal.min.css +1 -1
  345. package/components/modal/style/themes/dnb-modal-theme-ui.css +6 -2
  346. package/components/modal/style/themes/dnb-modal-theme-ui.min.css +1 -1
  347. package/components/modal/style/themes/dnb-modal-theme-ui.scss +6 -5
  348. package/components/modal/types.d.ts +16 -38
  349. package/components/number-format/NumberFormat.d.ts +5 -0
  350. package/components/number-format/NumberFormat.js +7 -2
  351. package/components/pagination/PaginationBar.d.ts +7 -6
  352. package/components/radio/Radio.js +5 -2
  353. package/components/skeleton/SkeletonHelper.d.ts +4 -4
  354. package/components/slider/Slider.d.ts +146 -229
  355. package/components/slider/Slider.js +356 -574
  356. package/components/table/Table.d.ts +40 -0
  357. package/components/table/Table.js +51 -0
  358. package/components/table/TableStickyHeader.d.ts +21 -0
  359. package/components/table/TableStickyHeader.js +105 -0
  360. package/components/table/TableTd.d.ts +15 -0
  361. package/components/table/TableTd.js +18 -0
  362. package/components/table/TableTh.d.ts +14 -0
  363. package/components/table/TableTh.js +18 -0
  364. package/components/table/TableTr.d.ts +15 -0
  365. package/components/table/TableTr.js +17 -0
  366. package/components/table/index.d.ts +3 -0
  367. package/components/table/index.js +3 -0
  368. package/components/table/style/_table.scss +147 -0
  369. package/components/table/style/dnb-table.css +181 -0
  370. package/components/table/style/dnb-table.min.css +1 -0
  371. package/components/table/style/dnb-table.scss +12 -0
  372. package/components/table/style/index.d.ts +6 -0
  373. package/components/table/style/index.js +1 -0
  374. package/components/table/style/themes/dnb-table-theme-ui.css +444 -0
  375. package/components/table/style/themes/dnb-table-theme-ui.min.css +2 -0
  376. package/components/table/style/themes/dnb-table-theme-ui.scss +97 -0
  377. package/components/table/style/themes/table-basis.scss +161 -0
  378. package/components/table/style/themes/ui.d.ts +1 -0
  379. package/components/table/style/themes/ui.js +1 -0
  380. package/components/table/style.d.ts +1 -0
  381. package/components/table/style.js +1 -0
  382. package/components/tag/Tag.js +14 -13
  383. package/components/timeline/Timeline.js +10 -8
  384. package/components/timeline/TimelineItem.d.ts +12 -4
  385. package/components/timeline/TimelineItem.js +61 -25
  386. package/components/timeline/style/_timeline.scss +2 -2
  387. package/components/timeline/style/dnb-timeline.css +6 -6
  388. package/components/timeline/style/dnb-timeline.min.css +1 -1
  389. package/components/timeline/style/themes/dnb-timeline-theme-ui.css +4 -4
  390. package/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -1
  391. package/components/timeline/style/themes/dnb-timeline-theme-ui.scss +4 -4
  392. package/elements/Table.d.ts +3 -35
  393. package/elements/Table.js +3 -218
  394. package/elements/Td.d.ts +2 -28
  395. package/elements/Td.js +2 -36
  396. package/elements/Th.d.ts +2 -28
  397. package/elements/Th.js +2 -36
  398. package/elements/Tr.d.ts +2 -28
  399. package/elements/Tr.js +2 -36
  400. package/elements/lib.d.ts +4 -6
  401. package/elements/lib.js +1 -3
  402. package/es/components/Badge.d.ts +3 -0
  403. package/es/components/Badge.js +3 -0
  404. package/es/components/Style.d.ts +1 -0
  405. package/es/components/Style.js +3 -0
  406. package/es/components/Table.d.ts +3 -0
  407. package/es/components/Table.js +3 -0
  408. package/es/components/accordion/AccordionContent.js +1 -1
  409. package/es/components/autocomplete/Autocomplete.d.ts +9 -0
  410. package/es/components/autocomplete/Autocomplete.js +56 -20
  411. package/es/components/autocomplete/style/_autocomplete.scss +73 -6
  412. package/es/components/autocomplete/style/dnb-autocomplete.css +79 -14
  413. package/es/components/autocomplete/style/dnb-autocomplete.min.css +2 -2
  414. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +7 -0
  415. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
  416. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +8 -0
  417. package/es/components/avatar/Avatar.js +8 -7
  418. package/es/components/avatar/style/_avatar.scss +1 -0
  419. package/es/components/avatar/style/dnb-avatar.css +1 -0
  420. package/es/components/avatar/style/dnb-avatar.min.css +1 -1
  421. package/es/components/badge/Badge.d.ts +58 -0
  422. package/es/components/badge/Badge.js +88 -0
  423. package/es/components/badge/index.d.ts +8 -0
  424. package/es/components/badge/index.js +3 -0
  425. package/es/components/badge/style/_badge.scss +74 -0
  426. package/es/components/badge/style/dnb-badge.css +151 -0
  427. package/es/components/badge/style/dnb-badge.min.css +1 -0
  428. package/es/components/badge/style/dnb-badge.scss +12 -0
  429. package/es/components/badge/style/index.d.ts +6 -0
  430. package/es/components/badge/style/index.js +1 -0
  431. package/es/components/badge/style/themes/dnb-badge-theme-ui.css +21 -0
  432. package/es/components/badge/style/themes/dnb-badge-theme-ui.min.css +1 -0
  433. package/es/components/badge/style/themes/dnb-badge-theme-ui.scss +17 -0
  434. package/es/components/badge/style/themes/ui.d.ts +1 -0
  435. package/es/components/badge/style/themes/ui.js +1 -0
  436. package/es/components/badge/style.d.ts +1 -0
  437. package/es/components/badge/style.js +1 -0
  438. package/es/components/breadcrumb/Breadcrumb.js +8 -7
  439. package/es/components/button/Button.d.ts +5 -3
  440. package/es/components/date-picker/DatePicker.d.ts +6 -0
  441. package/es/components/date-picker/DatePicker.js +9 -4
  442. package/es/components/date-picker/DatePickerFooter.js +3 -3
  443. package/es/components/date-picker/DatePickerInput.d.ts +6 -0
  444. package/es/components/date-picker/DatePickerInput.js +43 -32
  445. package/es/components/date-picker/style/_date-picker.scss +40 -0
  446. package/es/components/date-picker/style/dnb-date-picker.css +52 -8
  447. package/es/components/date-picker/style/dnb-date-picker.min.css +2 -2
  448. package/es/components/dialog/Dialog.js +7 -3
  449. package/es/components/dialog/DialogContent.js +7 -4
  450. package/es/components/dialog/style/_dialog.scss +24 -35
  451. package/es/components/dialog/style/dnb-dialog.css +82 -126
  452. package/es/components/dialog/style/dnb-dialog.min.css +1 -1
  453. package/es/components/dialog/style/themes/dnb-dialog-theme-ui.css +0 -2
  454. package/es/components/dialog/style/themes/dnb-dialog-theme-ui.min.css +1 -1
  455. package/es/components/dialog/style/themes/dnb-dialog-theme-ui.scss +0 -7
  456. package/es/components/dialog/types.d.ts +9 -2
  457. package/es/components/drawer/DrawerContent.js +4 -1
  458. package/es/components/drawer/style/_drawer.scss +2 -10
  459. package/es/components/drawer/style/dnb-drawer.css +59 -94
  460. package/es/components/drawer/style/dnb-drawer.min.css +1 -1
  461. package/es/components/drawer/style/themes/dnb-drawer-theme-ui.css +0 -2
  462. package/es/components/drawer/style/themes/dnb-drawer-theme-ui.min.css +1 -1
  463. package/es/components/drawer/style/themes/dnb-drawer-theme-ui.scss +0 -7
  464. package/es/components/dropdown/Dropdown.d.ts +25 -0
  465. package/es/components/dropdown/Dropdown.js +2 -2
  466. package/es/components/form-row/FormRow.js +13 -18
  467. package/es/components/form-row/FormRowHelpers.d.ts +7 -0
  468. package/es/components/form-row/FormRowHelpers.js +18 -0
  469. package/es/components/icon/Icon.js +2 -2
  470. package/es/components/icon/IconHelpers.d.ts +1 -0
  471. package/es/components/icon/IconHelpers.js +1 -0
  472. package/es/components/index.d.ts +3 -1
  473. package/es/components/index.js +3 -1
  474. package/es/components/input/Input.d.ts +6 -1
  475. package/es/components/input/Input.js +11 -2
  476. package/es/components/input/style/_input.scss +11 -9
  477. package/es/components/input/style/dnb-input.css +7 -8
  478. package/es/components/input/style/dnb-input.min.css +1 -1
  479. package/es/components/input-masked/InputMasked.d.ts +6 -1
  480. package/es/components/input-masked/InputMaskedUtils.js +11 -4
  481. package/es/components/input-masked/addons/createNumberMask.d.ts +1 -2
  482. package/es/components/input-masked/addons/createNumberMask.js +1 -9
  483. package/es/components/input-masked/style/dnb-input-masked.css +7 -8
  484. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  485. package/es/components/lib.d.ts +97 -2
  486. package/es/components/lib.js +5 -1
  487. package/es/components/modal/Modal.d.ts +1 -22
  488. package/es/components/modal/Modal.js +3 -1
  489. package/es/components/modal/ModalContent.d.ts +7 -2
  490. package/es/components/modal/ModalContent.js +27 -9
  491. package/es/components/modal/ModalContext.d.ts +1 -0
  492. package/es/components/modal/ModalContext.js +1 -0
  493. package/es/components/modal/parts/CloseButton.d.ts +3 -24
  494. package/es/components/modal/parts/ModalHeader.d.ts +1 -0
  495. package/es/components/modal/parts/ModalHeaderBar.d.ts +3 -2
  496. package/es/components/modal/parts/ModalInner.d.ts +1 -0
  497. package/es/components/modal/style/_modal-mixins.scss +3 -2
  498. package/es/components/modal/style/_modal.scss +4 -8
  499. package/es/components/modal/style/dnb-modal.css +53 -82
  500. package/es/components/modal/style/dnb-modal.min.css +1 -1
  501. package/es/components/modal/style/themes/dnb-modal-theme-ui.css +6 -2
  502. package/es/components/modal/style/themes/dnb-modal-theme-ui.min.css +1 -1
  503. package/es/components/modal/style/themes/dnb-modal-theme-ui.scss +6 -5
  504. package/es/components/modal/types.d.ts +16 -38
  505. package/es/components/number-format/NumberFormat.d.ts +5 -0
  506. package/es/components/number-format/NumberFormat.js +7 -2
  507. package/es/components/pagination/PaginationBar.d.ts +7 -6
  508. package/es/components/radio/Radio.js +5 -2
  509. package/es/components/skeleton/SkeletonHelper.d.ts +4 -4
  510. package/es/components/slider/Slider.d.ts +146 -229
  511. package/es/components/slider/Slider.js +323 -526
  512. package/es/components/table/Table.d.ts +40 -0
  513. package/es/components/table/Table.js +51 -0
  514. package/es/components/table/TableStickyHeader.d.ts +21 -0
  515. package/es/components/table/TableStickyHeader.js +98 -0
  516. package/es/components/table/TableTd.d.ts +15 -0
  517. package/es/components/table/TableTd.js +20 -0
  518. package/es/components/table/TableTh.d.ts +14 -0
  519. package/es/components/table/TableTh.js +20 -0
  520. package/es/components/table/TableTr.d.ts +15 -0
  521. package/es/components/table/TableTr.js +19 -0
  522. package/es/components/table/index.d.ts +3 -0
  523. package/es/components/table/index.js +3 -0
  524. package/es/components/table/style/_table.scss +147 -0
  525. package/es/components/table/style/dnb-table.css +181 -0
  526. package/es/components/table/style/dnb-table.min.css +1 -0
  527. package/es/components/table/style/dnb-table.scss +12 -0
  528. package/es/components/table/style/index.d.ts +6 -0
  529. package/es/components/table/style/index.js +1 -0
  530. package/es/components/table/style/themes/dnb-table-theme-ui.css +444 -0
  531. package/es/components/table/style/themes/dnb-table-theme-ui.min.css +2 -0
  532. package/es/components/table/style/themes/dnb-table-theme-ui.scss +97 -0
  533. package/es/components/table/style/themes/table-basis.scss +161 -0
  534. package/es/components/table/style/themes/ui.d.ts +1 -0
  535. package/es/components/table/style/themes/ui.js +1 -0
  536. package/es/components/table/style.d.ts +1 -0
  537. package/es/components/table/style.js +1 -0
  538. package/es/components/tag/Tag.js +8 -7
  539. package/es/components/timeline/Timeline.js +8 -6
  540. package/es/components/timeline/TimelineItem.d.ts +12 -4
  541. package/es/components/timeline/TimelineItem.js +54 -22
  542. package/es/components/timeline/style/_timeline.scss +2 -2
  543. package/es/components/timeline/style/dnb-timeline.css +6 -6
  544. package/es/components/timeline/style/dnb-timeline.min.css +1 -1
  545. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.css +4 -4
  546. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -1
  547. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.scss +4 -4
  548. package/es/elements/Table.d.ts +3 -35
  549. package/es/elements/Table.js +3 -170
  550. package/es/elements/Td.d.ts +2 -28
  551. package/es/elements/Td.js +2 -26
  552. package/es/elements/Th.d.ts +2 -28
  553. package/es/elements/Th.js +2 -26
  554. package/es/elements/Tr.d.ts +2 -28
  555. package/es/elements/Tr.js +2 -26
  556. package/es/elements/lib.d.ts +4 -6
  557. package/es/elements/lib.js +1 -3
  558. package/es/fragments/drawer-list/DrawerList.d.ts +13 -0
  559. package/es/fragments/drawer-list/DrawerList.js +25 -13
  560. package/es/fragments/drawer-list/DrawerListHelpers.d.ts +20 -0
  561. package/es/fragments/drawer-list/DrawerListHelpers.js +15 -0
  562. package/es/fragments/drawer-list/DrawerListProvider.d.ts +6 -9
  563. package/es/fragments/drawer-list/DrawerListProvider.js +31 -44
  564. package/es/fragments/drawer-list/style/_drawer-list.scss +40 -5
  565. package/es/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +58 -38
  566. package/es/icons/bookmark.d.ts +2 -0
  567. package/es/icons/bookmark.js +22 -0
  568. package/es/icons/bookmark_medium.d.ts +2 -0
  569. package/es/icons/bookmark_medium.js +22 -0
  570. package/es/icons/calendar_cancel.d.ts +2 -0
  571. package/es/icons/calendar_cancel.js +18 -0
  572. package/es/icons/calendar_cancel_medium.d.ts +2 -0
  573. package/es/icons/calendar_cancel_medium.js +18 -0
  574. package/es/icons/exclamation.js +5 -2
  575. package/es/icons/exclamation_circled.js +1 -1
  576. package/es/icons/exclamation_medium.js +5 -2
  577. package/es/icons/icons-meta.json +232 -198
  578. package/es/icons/icons-pdf.lock +6294 -0
  579. package/es/icons/icons-svg.lock +6294 -1
  580. package/es/icons/index.d.ts +5 -1
  581. package/es/icons/index.js +5 -1
  582. package/es/icons/reply.js +2 -1
  583. package/es/icons/reply_medium.js +2 -1
  584. package/es/icons/secondary_icons.d.ts +3 -1
  585. package/es/icons/secondary_icons.js +3 -1
  586. package/es/icons/secondary_icons_medium.d.ts +3 -1
  587. package/es/icons/secondary_icons_medium.js +3 -1
  588. package/es/icons/stopwatch.js +1 -1
  589. package/es/index.d.ts +31 -30
  590. package/es/index.js +31 -30
  591. package/es/shared/AlignmentHelper.js +2 -2
  592. package/es/shared/AnimateHeight.d.ts +1 -0
  593. package/es/shared/AnimateHeight.js +18 -2
  594. package/es/shared/Context.d.ts +96 -44
  595. package/es/shared/Context.js +4 -17
  596. package/es/shared/Eufemia.js +1 -1
  597. package/es/shared/MediaQuery.d.ts +18 -37
  598. package/es/shared/MediaQuery.js +3 -18
  599. package/es/shared/MediaQueryUtils.d.ts +61 -23
  600. package/es/shared/MediaQueryUtils.js +2 -2
  601. package/es/shared/Provider.d.ts +36 -12
  602. package/es/shared/Provider.js +6 -14
  603. package/es/shared/component-helper.d.ts +1 -1
  604. package/es/shared/component-helper.js +5 -5
  605. package/es/shared/helpers/Suffix.d.ts +5 -4
  606. package/es/shared/helpers/filterValidProps.d.ts +11 -0
  607. package/es/shared/helpers/filterValidProps.js +14 -0
  608. package/es/shared/helpers/withCamelCaseProps.js +2 -0
  609. package/es/shared/interfaces.d.ts +13 -0
  610. package/es/shared/locales/en-GB.d.ts +1 -0
  611. package/es/shared/locales/en-GB.js +1 -0
  612. package/es/shared/locales/en-US.d.ts +1 -0
  613. package/es/shared/locales/index.d.ts +2 -0
  614. package/es/shared/locales/nb-NO.d.ts +1 -0
  615. package/es/shared/locales/nb-NO.js +1 -0
  616. package/es/shared/useMediaQuery.d.ts +3 -1
  617. package/es/shared/useTranslation.d.ts +1 -22
  618. package/es/style/dnb-ui-components.css +411 -109
  619. package/es/style/dnb-ui-components.min.css +4 -4
  620. package/es/style/dnb-ui-components.scss +2 -0
  621. package/es/style/dnb-ui-elements.css +1 -534
  622. package/es/style/dnb-ui-elements.min.css +1 -2
  623. package/es/style/dnb-ui-fragments.css +37 -15
  624. package/es/style/dnb-ui-fragments.min.css +1 -1
  625. package/es/style/dnb-ui-tags.css +1 -1065
  626. package/es/style/dnb-ui-tags.min.css +1 -3
  627. package/es/style/elements/table.scss +1 -389
  628. package/es/style/elements/ui-tags.scss +2 -2
  629. package/es/style/themes/theme-eiendom/dnb-theme-eiendom.css +539 -580
  630. package/es/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +10 -8
  631. package/es/style/themes/theme-ui/dnb-theme-ui.css +539 -580
  632. package/es/style/themes/theme-ui/dnb-theme-ui.min.css +10 -8
  633. package/es/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
  634. package/esm/dnb-ui-basis.min.mjs +1 -1
  635. package/esm/dnb-ui-components.min.mjs +3 -3
  636. package/esm/dnb-ui-elements.min.mjs +3 -3
  637. package/esm/dnb-ui-extensions.min.mjs +4 -4
  638. package/esm/dnb-ui-icons.min.mjs +1 -1
  639. package/esm/dnb-ui-lib.min.mjs +4 -4
  640. package/esm/dnb-ui-web-components.min.mjs +4 -4
  641. package/fragments/drawer-list/DrawerList.d.ts +13 -0
  642. package/fragments/drawer-list/DrawerList.js +24 -12
  643. package/fragments/drawer-list/DrawerListHelpers.d.ts +20 -0
  644. package/fragments/drawer-list/DrawerListHelpers.js +15 -0
  645. package/fragments/drawer-list/DrawerListProvider.d.ts +6 -9
  646. package/fragments/drawer-list/DrawerListProvider.js +29 -43
  647. package/fragments/drawer-list/style/_drawer-list.scss +40 -5
  648. package/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +58 -38
  649. package/icons/bookmark.d.ts +2 -0
  650. package/icons/bookmark.js +24 -0
  651. package/icons/bookmark_medium.d.ts +2 -0
  652. package/icons/bookmark_medium.js +24 -0
  653. package/icons/calendar_cancel.d.ts +2 -0
  654. package/icons/calendar_cancel.js +20 -0
  655. package/icons/calendar_cancel_medium.d.ts +2 -0
  656. package/icons/calendar_cancel_medium.js +20 -0
  657. package/icons/exclamation.js +5 -2
  658. package/icons/exclamation_circled.js +1 -1
  659. package/icons/exclamation_medium.js +5 -2
  660. package/icons/icons-meta.json +232 -198
  661. package/icons/icons-pdf.lock +6294 -0
  662. package/icons/icons-svg.lock +6294 -1
  663. package/icons/index.d.ts +5 -1
  664. package/icons/index.js +5 -1
  665. package/icons/reply.js +2 -1
  666. package/icons/reply_medium.js +2 -1
  667. package/icons/secondary_icons.d.ts +3 -1
  668. package/icons/secondary_icons.js +3 -1
  669. package/icons/secondary_icons_medium.d.ts +3 -1
  670. package/icons/secondary_icons_medium.js +3 -1
  671. package/icons/stopwatch.js +1 -1
  672. package/index.d.ts +31 -30
  673. package/index.js +31 -30
  674. package/package.json +1 -1
  675. package/shared/AlignmentHelper.js +4 -2
  676. package/shared/AnimateHeight.d.ts +1 -0
  677. package/shared/AnimateHeight.js +18 -2
  678. package/shared/Context.d.ts +96 -44
  679. package/shared/Context.js +3 -16
  680. package/shared/Eufemia.js +1 -1
  681. package/shared/MediaQuery.d.ts +18 -37
  682. package/shared/MediaQuery.js +3 -17
  683. package/shared/MediaQueryUtils.d.ts +61 -23
  684. package/shared/MediaQueryUtils.js +2 -2
  685. package/shared/Provider.d.ts +36 -12
  686. package/shared/Provider.js +5 -12
  687. package/shared/component-helper.d.ts +1 -1
  688. package/shared/component-helper.js +5 -5
  689. package/shared/helpers/Suffix.d.ts +5 -4
  690. package/shared/helpers/filterValidProps.d.ts +11 -0
  691. package/shared/helpers/filterValidProps.js +14 -0
  692. package/shared/helpers/withCamelCaseProps.js +3 -0
  693. package/shared/interfaces.d.ts +13 -0
  694. package/shared/locales/en-GB.d.ts +1 -0
  695. package/shared/locales/en-GB.js +1 -0
  696. package/shared/locales/en-US.d.ts +1 -0
  697. package/shared/locales/index.d.ts +2 -0
  698. package/shared/locales/nb-NO.d.ts +1 -0
  699. package/shared/locales/nb-NO.js +1 -0
  700. package/shared/useMediaQuery.d.ts +3 -1
  701. package/shared/useTranslation.d.ts +1 -22
  702. package/style/dnb-ui-components.css +411 -109
  703. package/style/dnb-ui-components.min.css +4 -4
  704. package/style/dnb-ui-components.scss +2 -0
  705. package/style/dnb-ui-elements.css +1 -534
  706. package/style/dnb-ui-elements.min.css +1 -2
  707. package/style/dnb-ui-fragments.css +37 -15
  708. package/style/dnb-ui-fragments.min.css +1 -1
  709. package/style/dnb-ui-tags.css +1 -1065
  710. package/style/dnb-ui-tags.min.css +1 -3
  711. package/style/elements/table.scss +1 -389
  712. package/style/elements/ui-tags.scss +2 -2
  713. package/style/themes/theme-eiendom/dnb-theme-eiendom.css +539 -580
  714. package/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +10 -8
  715. package/style/themes/theme-ui/dnb-theme-ui.css +539 -580
  716. package/style/themes/theme-ui/dnb-theme-ui.min.css +10 -8
  717. package/style/themes/theme-ui/dnb-theme-ui.scss +2 -0
  718. package/umd/dnb-ui-basis.min.js +1 -1
  719. package/umd/dnb-ui-components.min.js +3 -3
  720. package/umd/dnb-ui-elements.min.js +5 -5
  721. package/umd/dnb-ui-extensions.min.js +5 -5
  722. package/umd/dnb-ui-icons.min.js +1 -1
  723. package/umd/dnb-ui-lib.min.js +3 -3
  724. package/umd/dnb-ui-web-components.min.js +3 -3
  725. package/cjs/components/slider/web-component.d.ts +0 -3
  726. package/cjs/style/themes/theme-ui/prism/dnb-prism-styles.d.ts +0 -6
  727. package/cjs/style/themes/theme-ui/prism/dnb-prism-styles.js +0 -9
  728. package/components/slider/web-component.d.ts +0 -3
  729. package/components/slider/web-component.js +0 -5
  730. package/es/components/slider/web-component.d.ts +0 -3
  731. package/es/components/slider/web-component.js +0 -5
  732. package/es/style/themes/theme-ui/prism/dnb-prism-styles.d.ts +0 -6
  733. package/es/style/themes/theme-ui/prism/dnb-prism-styles.js +0 -93
  734. package/style/themes/theme-ui/prism/dnb-prism-styles.d.ts +0 -6
  735. package/style/themes/theme-ui/prism/dnb-prism-styles.js +0 -2
@@ -1,21 +1,23 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
2
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
4
 
5
5
  var _AlignmentHelper, _span;
6
6
 
7
- const _excluded = ["label", "label_direction", "label_sr_only", "status", "status_state", "status_props", "status_no_animation", "global_status_id", "stretch", "suffix", "thump_title", "subtract_title", "add_title", "hide_buttons", "skeleton", "className", "class", "max", "min", "disabled", "reverse", "vertical", "id", "step", "value", "children", "use_scrollwheel"];
7
+ const _excluded = ["step", "label", "label_direction", "label_sr_only", "status", "status_state", "status_props", "status_no_animation", "global_status_id", "stretch", "suffix", "thumb_title", "subtract_title", "add_title", "hide_buttons", "number_format", "skeleton", "max", "min", "disabled", "className", "id", "on_init", "on_change", "on_drag_start", "on_drag_end", "vertical", "reverse", "class", "value"];
8
8
 
9
9
  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; }
10
10
 
11
11
  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; }
12
12
 
13
13
  import React from 'react';
14
- import PropTypes from 'prop-types';
15
14
  import classnames from 'classnames';
16
- import { warn, isTrue, makeUniqueId, registerElement, validateDOMAttributes, processChildren, extendPropsWithContext, getStatusState, combineLabelledBy, combineDescribedBy, dispatchCustomElementEvent } from '../../shared/component-helper';
15
+ import { warn, isTrue, makeUniqueId, validateDOMAttributes, getStatusState, combineLabelledBy, combineDescribedBy, dispatchCustomElementEvent } from '../../shared/component-helper';
16
+ import { includeValidProps } from '../../components/form-row/FormRowHelpers';
17
+ import { usePropsWithContext } from '../../shared/hooks';
17
18
  import AlignmentHelper from '../../shared/AlignmentHelper';
18
- import { spacingPropTypes, createSpacingClasses } from '../space/SpacingHelper';
19
+ import { withCamelCaseProps } from '../../shared/helpers/withCamelCaseProps';
20
+ import { createSpacingClasses } from '../space/SpacingHelper';
19
21
  import { format } from '../number-format/NumberUtils';
20
22
  import { createSkeletonClass, skeletonDOMAttributes } from '../skeleton/SkeletonHelper';
21
23
  import Context from '../../shared/Context';
@@ -23,589 +25,377 @@ import Suffix from '../../shared/helpers/Suffix';
23
25
  import Button from '../button/Button';
24
26
  import FormLabel from '../form-label/FormLabel';
25
27
  import FormStatus from '../form-status/FormStatus';
26
- export default class Slider extends React.PureComponent {
27
- static enableWebComponent() {
28
- registerElement(Slider === null || Slider === void 0 ? void 0 : Slider.tagName, Slider, Slider.defaultProps);
29
- }
30
-
31
- static getDerivedStateFromProps(props, state) {
32
- if (state._listenForPropChanges) {
33
- state.reverse = isTrue(props.reverse);
34
-
35
- if (isTrue(props.vertical)) {
36
- state.reverse = !state.reverse;
37
- }
28
+ const defaultProps = {
29
+ status_state: 'error',
30
+ add_title: '+',
31
+ subtract_title: '−',
32
+ min: 0,
33
+ max: 100,
34
+ value: -1
35
+ };
38
36
 
39
- state.vertical = isTrue(props.vertical);
40
- state.min = parseFloat(props.min);
41
- state.max = parseFloat(props.max);
42
- const value = Slider.getValue(props);
37
+ function Slider(localProps) {
38
+ const context = React.useContext(Context);
39
+ const allProps = usePropsWithContext(localProps, defaultProps, {
40
+ skeleton: context === null || context === void 0 ? void 0 : context.skeleton
41
+ }, context === null || context === void 0 ? void 0 : context.getTranslation(localProps).Slider, includeValidProps(context === null || context === void 0 ? void 0 : context.FormRow, {
42
+ vertical: null
43
+ }), context === null || context === void 0 ? void 0 : context.Slider);
44
+ const [_id] = React.useState(makeUniqueId);
45
+
46
+ if (!allProps.id) {
47
+ allProps.id = _id;
48
+ }
43
49
 
44
- if (value !== state._value && value >= -1) {
45
- state.value = value;
50
+ const {
51
+ step,
52
+ label,
53
+ label_direction,
54
+ label_sr_only,
55
+ status,
56
+ status_state,
57
+ status_props,
58
+ status_no_animation,
59
+ global_status_id,
60
+ stretch,
61
+ suffix,
62
+ thumb_title: title,
63
+ subtract_title,
64
+ add_title,
65
+ hide_buttons,
66
+ number_format,
67
+ skeleton,
68
+ max,
69
+ min,
70
+ disabled,
71
+ className,
72
+ id,
73
+ on_init,
74
+ on_change,
75
+ on_drag_start,
76
+ on_drag_end,
77
+ vertical: _vertical,
78
+ reverse: _reverse,
79
+ class: _className,
80
+ value: _value
81
+ } = allProps,
82
+ attributes = _objectWithoutProperties(allProps, _excluded);
83
+
84
+ const trackRef = React.useRef();
85
+ const [value, setValue] = React.useState(_value);
86
+ const [currentState, setCurrentState] = React.useState('initial');
87
+ const [vertical] = React.useState(isTrue(_vertical));
88
+ const [reverse] = React.useState(vertical ? !isTrue(_reverse) : isTrue(_reverse));
89
+
90
+ if (allProps.use_scrollwheel) {
91
+ warn('use_scrollwheel is not supported anymore!');
92
+ }
46
93
 
47
- if (typeof props.on_state_update === 'function') {
48
- const obj = {
49
- value
50
- };
94
+ const onFocusHandler = () => {
95
+ setCurrentState('focused');
96
+ };
51
97
 
52
- if (props.number_format) {
53
- obj.number = formatNumber(value, props.number_format);
54
- }
98
+ const onBlurHandler = () => {
99
+ setCurrentState('normal');
100
+ };
55
101
 
56
- dispatchCustomElementEvent(_objectSpread({}, props), 'on_state_update', obj);
57
- }
58
- }
102
+ const onClickHandler = event => {
103
+ const percent = calculatePercent(trackRef.current, event, vertical, reverse);
104
+ const value = percentToValue(percent, min, max);
105
+ emitChange(event, value);
106
+ setJumpedState();
107
+ };
59
108
 
60
- state._value = value;
61
- }
109
+ const onSubtractClickHandler = event => {
110
+ emitChange(event, clamp(value - (step || 1), min, max));
111
+ };
62
112
 
63
- state._listenForPropChanges = true;
64
- state.disabled = isTrue(props.disabled);
113
+ const onAddClickHandler = event => {
114
+ emitChange(event, clamp(value + (step || 1), min, max));
115
+ };
65
116
 
66
- if (isTrue(props.skeleton)) {
67
- state.disabled = true;
68
- }
117
+ const onTouchEndHandler = event => onMouseUpHandler(event);
69
118
 
70
- if (state.disabled) {
71
- state.currentState = 'disabled';
72
- } else if (state.currentState === 'disabled') {
73
- state.currentState = 'normal';
119
+ const onMouseDownHandler = event => {
120
+ if (typeof document !== 'undefined') {
121
+ try {
122
+ document.body.addEventListener('touchmove', onTouchMoveHandler);
123
+ document.body.addEventListener('touchend', onTouchEndHandler);
124
+ document.body.addEventListener('mousemove', onMouseMoveHandler);
125
+ document.body.addEventListener('mouseup', onMouseUpHandler);
126
+ } catch (e) {
127
+ warn(e);
128
+ }
74
129
  }
75
130
 
76
- return state;
77
- }
78
-
79
- static getValue(props) {
80
- if (props.value >= -1) {
81
- return props.value;
82
- }
131
+ setCurrentState('activated');
83
132
 
84
- return processChildren(props);
85
- }
86
-
87
- constructor(props) {
88
- super(props);
89
-
90
- _defineProperty(this, "state", {
91
- currentState: 'initial',
92
- value: null
93
- });
94
-
95
- _defineProperty(this, "onFocusHandler", () => {
96
- this.setState({
97
- _listenForPropChanges: false,
98
- currentState: 'focused'
99
- });
100
- });
101
-
102
- _defineProperty(this, "onBlurHandler", () => {
103
- this.setState({
104
- _listenForPropChanges: false,
105
- currentState: 'normal'
106
- });
107
- });
108
-
109
- _defineProperty(this, "onClickHandler", event => {
110
- const {
111
- min,
112
- max,
113
- reverse,
114
- vertical
115
- } = this.state;
116
- const percent = calculatePercent(this._trackRef.current, event, vertical, reverse);
117
- const value = percentToValue(percent, min, max);
118
- this.emitChange(event, value);
119
- this.setJumpedState();
120
- });
121
-
122
- _defineProperty(this, "onSubtractClickHandler", event => {
123
- let {
124
- step
125
- } = this.props;
126
- let {
127
- min,
128
- max,
129
- value
130
- } = this.state;
131
- this.emitChange(event, clamp(value - (step || 1), min, max));
132
- });
133
-
134
- _defineProperty(this, "onAddClickHandler", event => {
135
- let {
136
- step
137
- } = this.props;
138
- let {
139
- min,
140
- max,
141
- value
142
- } = this.state;
143
- this.emitChange(event, clamp(value + (step || 1), min, max));
144
- });
145
-
146
- _defineProperty(this, "onMouseDownHandler", event => {
147
- if (typeof document !== 'undefined') {
148
- try {
149
- document.body.addEventListener('touchmove', this.onTouchMoveHandler);
150
- document.body.addEventListener('touchend', this.onTouchEndHandler);
151
- document.body.addEventListener('mousemove', this.onMouseMoveHandler);
152
- document.body.addEventListener('mouseup', this.onMouseUpHandler);
153
- } catch (e) {
154
- warn(e);
155
- }
156
- }
157
-
158
- this.setState({
159
- _listenForPropChanges: false,
160
- currentState: 'activated'
133
+ if (typeof on_drag_start === 'function') {
134
+ dispatchCustomElementEvent(allProps, 'on_drag_start', {
135
+ event
161
136
  });
137
+ }
138
+ };
162
139
 
163
- if (typeof this.props.on_drag_start === 'function') {
164
- dispatchCustomElementEvent(this, 'on_drag_start', {
165
- event
166
- });
140
+ const onMouseUpHandler = event => {
141
+ if (typeof document !== 'undefined') {
142
+ try {
143
+ document.body.removeEventListener('touchmove', onTouchMoveHandler);
144
+ document.body.removeEventListener('touchend', onTouchEndHandler);
145
+ document.body.removeEventListener('mousemove', onMouseMoveHandler);
146
+ document.body.removeEventListener('mouseup', onMouseUpHandler);
147
+ } catch (e) {
148
+ warn(e);
167
149
  }
168
- });
169
-
170
- _defineProperty(this, "onTouchEndHandler", event => this.onMouseUpHandler(event));
150
+ }
171
151
 
172
- _defineProperty(this, "onMouseUpHandler", event => {
173
- if (typeof document !== 'undefined') {
174
- try {
175
- document.body.removeEventListener('touchmove', this.onTouchMoveHandler);
176
- document.body.removeEventListener('touchend', this.onTouchEndHandler);
177
- document.body.removeEventListener('mousemove', this.onMouseMoveHandler);
178
- document.body.removeEventListener('mouseup', this.onMouseUpHandler);
179
- } catch (e) {
180
- warn(e);
181
- }
182
- }
152
+ setCurrentState('normal');
183
153
 
184
- this.setState({
185
- _listenForPropChanges: false,
186
- currentState: 'normal'
154
+ if (typeof on_drag_end === 'function') {
155
+ dispatchCustomElementEvent(allProps, 'on_drag_end', {
156
+ event
187
157
  });
158
+ }
159
+ };
188
160
 
189
- if (typeof this.props.on_drag_end === 'function') {
190
- dispatchCustomElementEvent(this, 'on_drag_end', {
191
- event
192
- });
193
- }
194
- });
161
+ const onRangeChangeHandler = event => {
162
+ const value = parseFloat(event.currentTarget.value);
163
+ setValue(value);
164
+ const emitEvent = event;
165
+ emitChange(emitEvent, value);
166
+ };
195
167
 
196
- _defineProperty(this, "onRangeChangeHandler", event => {
197
- const value = parseFloat(event.currentTarget.value);
198
- this.setState({
199
- value,
200
- _listenForPropChanges: false
201
- }, () => {});
202
- this.emitChange(event, value);
203
- });
168
+ const onTouchMoveHandler = event => onMouseMoveHandler(event);
204
169
 
205
- _defineProperty(this, "onTouchMoveHandler", event => this.onMouseMoveHandler(event));
170
+ const onMouseMoveHandler = event => {
171
+ var _event, _event$detail;
206
172
 
207
- _defineProperty(this, "onMouseMoveHandler", event => {
208
- let elem = this._trackRef.current;
173
+ let elem = trackRef.current;
209
174
 
210
- if (event && event.detail && typeof event.detail.height !== 'undefined') {
211
- elem = createMockDiv(event.detail);
212
- event = event.detail;
213
- }
175
+ if (typeof ((_event = event) === null || _event === void 0 ? void 0 : (_event$detail = _event.detail) === null || _event$detail === void 0 ? void 0 : _event$detail.height) !== 'undefined') {
176
+ elem = createMockDiv(event.detail);
177
+ event = event.detail;
178
+ }
214
179
 
215
- const {
216
- min,
217
- max,
218
- vertical,
219
- reverse
220
- } = this.state;
180
+ if (elem) {
221
181
  const percent = calculatePercent(elem, event, vertical, reverse);
222
182
  const value = percentToValue(percent, min, max);
223
- this.emitChange(event, value);
224
- });
225
-
226
- this._id = props.id || makeUniqueId();
227
- this._trackRef = React.createRef();
228
-
229
- const _value2 = Slider.getValue(props);
230
-
231
- this.state = {
232
- _listenForPropChanges: true,
233
- value: _value2,
234
- _value: _value2,
235
- __value: _value2
236
- };
237
- }
238
-
239
- roundValue(value) {
240
- const {
241
- step
242
- } = this.props;
243
- return parseFloat(step) > 0 ? roundToStep(value, step) : parseFloat(value).toFixed(3);
244
- }
245
-
246
- emitChange(event, rawValue, callback) {
247
- var _this$context;
248
-
249
- const {
250
- value: previousValue,
251
- disabled
252
- } = this.state;
183
+ emitChange(event, value);
184
+ }
185
+ };
253
186
 
254
- if (disabled || isTrue(this.props.skeleton) || isTrue((_this$context = this.context) === null || _this$context === void 0 ? void 0 : _this$context.skeleton)) {
187
+ const emitChange = (event, rawValue) => {
188
+ if (disabled || isTrue(skeleton)) {
255
189
  return;
256
190
  }
257
191
 
258
- const value = this.roundValue(rawValue);
192
+ const currentValue = roundValue(rawValue, step);
259
193
 
260
- if (value > -1) {
261
- if (typeof this.props.on_change === 'function' && value !== this.roundValue(previousValue)) {
194
+ if (currentValue > -1 && rawValue !== value) {
195
+ if (typeof on_change === 'function') {
262
196
  const obj = {
263
- value,
197
+ value: currentValue,
264
198
  rawValue,
265
199
  raw_value: rawValue,
266
- event
200
+ event,
201
+ number: null
267
202
  };
268
203
 
269
- if (this.props.number_format) {
270
- obj.number = formatNumber(value, this.props.number_format);
204
+ if (number_format) {
205
+ obj.number = formatNumber(currentValue, number_format);
271
206
  }
272
207
 
273
- dispatchCustomElementEvent(this, 'on_change', obj);
274
-
275
- if (typeof callback === 'function') {
276
- callback();
277
- }
208
+ dispatchCustomElementEvent(allProps, 'on_change', obj);
278
209
  }
279
210
 
280
- this.setState({
281
- value: rawValue,
282
- _listenForPropChanges: false
283
- });
211
+ setValue(rawValue);
284
212
  }
285
- }
213
+ };
286
214
 
287
- setJumpedState() {
288
- this.setState({
289
- currentState: 'jumped',
290
- _listenForPropChanges: false
291
- }, () => {
292
- clearTimeout(this.jumpedTimeout);
293
- this.jumpedTimeout = setTimeout(() => this.setState({
294
- currentState: 'normal',
295
- _listenForPropChanges: false
296
- }), 100);
297
- });
298
- }
215
+ const jumpedTimeout = React.useRef();
299
216
 
300
- componentDidMount() {
301
- if (this._trackRef.current) {
302
- if (isTrue(this.props.use_scrollwheel)) {
303
- const {
304
- min,
305
- max,
306
- reverse,
307
- vertical
308
- } = this.state;
309
-
310
- this._trackRef.current.addEventListener('wheel', event => {
311
- event.preventDefault();
312
- this.emitChange(event, clamp(this.state.value + (!vertical && reverse || vertical && !reverse ? -event.deltaY / 10 : event.deltaY / 10), min, max));
313
- });
314
- }
315
- }
217
+ const setJumpedState = () => {
218
+ setCurrentState('jumped');
219
+ clearTimeout(jumpedTimeout.current);
220
+ jumpedTimeout.current = setTimeout(() => setCurrentState('normal'), 100);
221
+ };
316
222
 
317
- if (typeof this.props.on_init === 'function') {
318
- const {
319
- value
320
- } = this.state;
223
+ React.useEffect(() => {
224
+ setValue(_value);
225
+ }, [_value]);
226
+ React.useEffect(() => {
227
+ if (typeof on_init === 'function') {
321
228
  const obj = {
322
- value
229
+ value,
230
+ number: null
323
231
  };
324
232
 
325
- if (this.props.number_format) {
326
- obj.number = formatNumber(value, this.props.number_format);
233
+ if (number_format) {
234
+ obj.number = formatNumber(value, number_format);
327
235
  }
328
236
 
329
- dispatchCustomElementEvent(this, 'on_init', obj);
237
+ dispatchCustomElementEvent(allProps, 'on_init', obj);
330
238
  }
331
- }
332
239
 
333
- componentWillUnmount() {
334
- if (typeof document !== 'undefined') {
335
- try {
336
- document.body.removeEventListener('touchmove', this.onTouchMoveHandler);
337
- document.body.removeEventListener('touchend', this.onTouchEndHandler);
338
- document.body.removeEventListener('mousemove', this.onMouseMoveHandler);
339
- document.body.removeEventListener('mouseup', this.onMouseUpHandler);
340
- } catch (e) {
341
- warn(e);
240
+ return () => {
241
+ if (typeof document !== 'undefined') {
242
+ try {
243
+ document.body.removeEventListener('touchmove', onTouchMoveHandler);
244
+ document.body.removeEventListener('touchend', onTouchEndHandler);
245
+ document.body.removeEventListener('mousemove', onMouseMoveHandler);
246
+ document.body.removeEventListener('mouseup', onMouseUpHandler);
247
+ } catch (e) {
248
+ warn(e);
249
+ }
342
250
  }
343
- }
344
-
345
- clearTimeout(this.jumpedTimeout);
346
- }
347
251
 
348
- render() {
349
- var _this$context2;
350
-
351
- const props = extendPropsWithContext(this.props, Slider.defaultProps, {
352
- skeleton: (_this$context2 = this.context) === null || _this$context2 === void 0 ? void 0 : _this$context2.skeleton
353
- }, this.context.getTranslation(this.props).Slider, this.context.FormRow, this.context.Slider);
354
-
355
- const {
356
- label,
357
- label_direction,
358
- label_sr_only,
359
- status,
360
- status_state,
361
- status_props,
362
- status_no_animation,
363
- global_status_id,
364
- stretch,
365
- suffix,
366
- thump_title: title,
367
- subtract_title,
368
- add_title,
369
- hide_buttons,
370
- skeleton,
371
- className,
372
- class: _className,
373
- max: _max,
374
- min: _min,
375
- disabled: _disabled,
376
- reverse: _reverse,
377
- vertical: _vertical,
378
- id: _id,
379
- step: _step,
380
- value: _value,
381
- children: _children,
382
- use_scrollwheel: _use_scrollwheel
383
- } = props,
384
- attributes = _objectWithoutProperties(props, _excluded);
385
-
386
- const {
387
- min,
388
- max,
389
- reverse,
390
- vertical,
391
- value,
392
- currentState,
393
- disabled
394
- } = this.state;
395
- const showStatus = getStatusState(status);
396
- const showButtons = !isTrue(hide_buttons);
397
- const id = this._id;
398
- const mainParams = {
399
- className: classnames("dnb-slider dnb-form-component", createSkeletonClass(null, skeleton), createSpacingClasses(props), className, _className, reverse && 'dnb-slider--reverse', vertical && 'dnb-slider--vertical', isTrue(stretch) && 'dnb-slider--stretch', label && label_direction && `dnb-slider__label--${label_direction}`, showStatus && 'dnb-slider__form-status', status && `dnb-slider__status--${status_state}`)
252
+ clearTimeout(jumpedTimeout.current);
400
253
  };
401
- const percent = clamp((value - min) * 100 / (max - min));
402
- const {
403
- aria: humanNumber
404
- } = formatNumber(value, _objectSpread({
405
- returnAria: true
406
- }, this.props.number_format));
407
- const hasHumanNumber = value !== humanNumber;
408
- const inlineStyleBefore = {
409
- [`${vertical ? 'height' : 'width'}`]: `${percent}%`
410
- };
411
- const inlineThumbStyles = {
412
- [`${vertical ? 'top' : 'left'}`]: `${percent}%`
413
- };
414
- skeletonDOMAttributes(mainParams, skeleton, this.context);
415
- const helperParams = {};
416
- const trackParams = {
417
- className: 'dnb-slider__track' + (currentState ? ` dnb-slider__state--${currentState}` : ""),
418
- onTouchStart: this.onClickHandler,
419
- onTouchStartCapture: this.onMouseDownHandler,
420
- onMouseDown: this.onClickHandler,
421
- onMouseDownCapture: this.onMouseDownHandler
422
- };
423
-
424
- const thumbParams = _objectSpread(_objectSpread({
425
- title
426
- }, attributes), {}, {
427
- onBlur: this.onBlurHandler,
428
- onFocus: this.onFocusHandler
429
- });
430
-
431
- if (label || hasHumanNumber) {
432
- helperParams['aria-labelledby'] = combineLabelledBy(helperParams, hasHumanNumber ? id + '-human' : null, label ? id + '-label' : null);
433
- }
254
+ }, []);
255
+ const percent = clamp((value - min) * 100 / (max - min));
256
+ const inlineStyleBefore = {
257
+ [`${vertical ? 'height' : 'width'}`]: `${percent}%`
258
+ };
259
+ const inlineThumbStyles = {
260
+ [`${vertical ? 'top' : 'left'}`]: `${percent}%`
261
+ };
262
+ const {
263
+ aria: humanNumber
264
+ } = number_format ? formatNumber(value, _objectSpread(_objectSpread({}, number_format || {}), {}, {
265
+ returnAria: true
266
+ })) : {
267
+ aria: null
268
+ };
269
+ const hasHumanNumber = Boolean(humanNumber);
270
+ const showStatus = getStatusState(status);
271
+ const showButtons = !isTrue(hide_buttons);
272
+ const mainParams = {
273
+ className: classnames("dnb-slider dnb-form-component", createSkeletonClass(null, skeleton), createSpacingClasses(allProps), className, _className, reverse && 'dnb-slider--reverse', vertical && 'dnb-slider--vertical', isTrue(stretch) && 'dnb-slider--stretch', label && label_direction && `dnb-slider__label--${label_direction}`, showStatus && 'dnb-slider__form-status', status && `dnb-slider__status--${status_state}`)
274
+ };
275
+ const helperParams = {};
276
+ const subtractParams = {};
277
+ const addParams = {};
278
+ const trackParams = {
279
+ className: 'dnb-slider__track' + (currentState ? ` dnb-slider__state--${currentState}` : ""),
280
+ onTouchStart: onClickHandler,
281
+ onTouchStartCapture: onMouseDownHandler,
282
+ onMouseDown: onClickHandler,
283
+ onMouseDownCapture: onMouseDownHandler
284
+ };
434
285
 
435
- if (showStatus || suffix) {
436
- helperParams['aria-describedby'] = combineDescribedBy(helperParams, showStatus ? id + '-status' : null, suffix ? id + '-suffix' : null);
437
- }
286
+ const thumbParams = _objectSpread({
287
+ title,
288
+ onBlur: onBlurHandler,
289
+ onFocus: onFocusHandler
290
+ }, attributes);
438
291
 
439
- const subtractParams = {};
440
- const addParams = {};
292
+ if (label || hasHumanNumber) {
293
+ helperParams['aria-labelledby'] = combineLabelledBy(helperParams, hasHumanNumber ? id + '-human' : null, label ? id + '-label' : null);
294
+ }
441
295
 
442
- if (typeof thumbParams['aria-hidden'] !== 'undefined') {
443
- helperParams['aria-hidden'] = addParams['aria-hidden'] = subtractParams['aria-hidden'] = thumbParams['aria-hidden'];
444
- }
296
+ if (showStatus || suffix) {
297
+ helperParams['aria-describedby'] = combineDescribedBy(helperParams, showStatus ? id + '-status' : null, suffix ? id + '-suffix' : null);
298
+ }
445
299
 
446
- validateDOMAttributes(this.props, thumbParams);
447
- validateDOMAttributes(null, trackParams);
448
- validateDOMAttributes(null, helperParams);
449
- const subtractButton = React.createElement(Button, {
450
- className: "dnb-slider__button dnb-slider__button--subtract",
451
- variant: "secondary",
452
- icon: "subtract",
453
- size: "small",
454
- "aria-label": subtract_title.replace('%s', humanNumber),
455
- on_click: this.onSubtractClickHandler,
456
- disabled: disabled,
457
- skeleton: skeleton
458
- });
459
- const addButton = React.createElement(Button, {
460
- className: "dnb-slider__button dnb-slider__button--add",
461
- variant: "secondary",
462
- icon: "add",
463
- size: "small",
464
- "aria-label": add_title.replace('%s', humanNumber),
465
- on_click: this.onAddClickHandler,
466
- disabled: disabled,
467
- skeleton: skeleton
468
- });
469
- return React.createElement("span", mainParams, label && React.createElement(FormLabel, {
470
- id: id + '-label',
471
- text: label,
472
- disabled: disabled,
473
- skeleton: skeleton,
474
- label_direction: label_direction,
475
- sr_only: label_sr_only
476
- }), React.createElement("span", {
477
- className: "dnb-slider__wrapper"
478
- }, _AlignmentHelper || (_AlignmentHelper = React.createElement(AlignmentHelper, null)), React.createElement(FormStatus, _extends({
479
- show: showStatus,
480
- id: id + '-form-status',
481
- global_status_id: global_status_id,
482
- label: label,
483
- text_id: id + '-status',
484
- text: status,
485
- status: status_state,
486
- no_animation: status_no_animation,
487
- skeleton: skeleton
488
- }, status_props)), React.createElement("span", {
489
- className: "dnb-slider__inner"
490
- }, showButtons && (reverse ? addButton : subtractButton), React.createElement("span", _extends({
491
- id: this._id,
492
- ref: this._trackRef
493
- }, trackParams), React.createElement("span", {
494
- className: "dnb-slider__thumb",
495
- style: inlineThumbStyles
496
- }, React.createElement("input", _extends({
497
- type: "range",
498
- className: "dnb-slider__button-helper",
499
- min: min,
500
- max: max,
501
- step: _step,
502
- value: value,
503
- disabled: disabled,
504
- orientation: vertical ? 'vertical' : 'horizontal',
505
- onChange: this.onRangeChangeHandler
506
- }, helperParams)), React.createElement(Button, _extends({
507
- tabIndex: "-1",
508
- "aria-hidden": true,
509
- variant: "secondary",
510
- disabled: disabled,
511
- skeleton: skeleton,
512
- onMouseDown: this.onMouseDownHandler
513
- }, thumbParams))), React.createElement("span", {
514
- className: "dnb-slider__line dnb-slider__line__before",
515
- style: inlineStyleBefore
516
- }), _span || (_span = React.createElement("span", {
517
- className: "dnb-slider__line dnb-slider__line__after"
518
- })), hasHumanNumber && React.createElement("span", {
519
- id: id + '-human',
520
- className: "dnb-sr-only",
521
- "aria-hidden": true
522
- }, humanNumber)), showButtons && (reverse ? subtractButton : addButton), suffix && React.createElement(Suffix, {
523
- className: "dnb-slider__suffix",
524
- id: id + '-suffix',
525
- context: props
526
- }, suffix))));
300
+ if (typeof thumbParams['aria-hidden'] !== 'undefined') {
301
+ helperParams['aria-hidden'] = addParams['aria-hidden'] = subtractParams['aria-hidden'] = thumbParams['aria-hidden'];
527
302
  }
528
303
 
304
+ validateDOMAttributes(allProps, thumbParams);
305
+ validateDOMAttributes(null, trackParams);
306
+ validateDOMAttributes(null, helperParams);
307
+ skeletonDOMAttributes(mainParams, skeleton, context);
308
+ const subtractButton = showButtons && React.createElement(Button, _extends({
309
+ className: "dnb-slider__button dnb-slider__button--subtract",
310
+ variant: "secondary",
311
+ icon: "subtract",
312
+ size: "small",
313
+ "aria-label": subtract_title === null || subtract_title === void 0 ? void 0 : subtract_title.replace('%s', humanNumber),
314
+ on_click: onSubtractClickHandler,
315
+ disabled: disabled,
316
+ skeleton: skeleton
317
+ }, subtractParams));
318
+ const addButton = showButtons && React.createElement(Button, _extends({
319
+ className: "dnb-slider__button dnb-slider__button--add",
320
+ variant: "secondary",
321
+ icon: "add",
322
+ size: "small",
323
+ "aria-label": add_title === null || add_title === void 0 ? void 0 : add_title.replace('%s', humanNumber),
324
+ on_click: onAddClickHandler,
325
+ disabled: disabled,
326
+ skeleton: skeleton
327
+ }, addParams));
328
+ return React.createElement("span", mainParams, label && React.createElement(FormLabel, {
329
+ id: id + '-label',
330
+ text: label,
331
+ disabled: disabled,
332
+ skeleton: skeleton,
333
+ label_direction: label_direction,
334
+ sr_only: label_sr_only
335
+ }), React.createElement("span", {
336
+ className: "dnb-slider__wrapper"
337
+ }, _AlignmentHelper || (_AlignmentHelper = React.createElement(AlignmentHelper, null)), React.createElement(FormStatus, _extends({
338
+ show: showStatus,
339
+ id: id + '-form-status',
340
+ global_status_id: global_status_id,
341
+ label: label,
342
+ text_id: id + '-status',
343
+ text: status,
344
+ status: status_state,
345
+ no_animation: status_no_animation,
346
+ skeleton: skeleton
347
+ }, status_props)), React.createElement("span", {
348
+ className: "dnb-slider__inner"
349
+ }, showButtons && (reverse ? addButton : subtractButton), React.createElement("span", _extends({
350
+ id: id,
351
+ ref: trackRef
352
+ }, trackParams), React.createElement("span", {
353
+ className: "dnb-slider__thumb",
354
+ style: inlineThumbStyles
355
+ }, React.createElement("input", _extends({
356
+ type: "range",
357
+ className: "dnb-slider__button-helper",
358
+ min: min,
359
+ max: max,
360
+ step: step,
361
+ value: value,
362
+ disabled: disabled,
363
+ orientation: vertical ? 'vertical' : 'horizontal',
364
+ onChange: onRangeChangeHandler
365
+ }, helperParams)), React.createElement(Button, _extends({
366
+ tabIndex: -1,
367
+ "aria-hidden": true,
368
+ variant: "secondary",
369
+ disabled: disabled,
370
+ skeleton: skeleton,
371
+ onMouseDown: onMouseDownHandler
372
+ }, thumbParams))), React.createElement("span", {
373
+ className: "dnb-slider__line dnb-slider__line__before",
374
+ style: inlineStyleBefore
375
+ }), _span || (_span = React.createElement("span", {
376
+ className: "dnb-slider__line dnb-slider__line__after"
377
+ })), hasHumanNumber && React.createElement("span", {
378
+ id: id + '-human',
379
+ className: "dnb-sr-only",
380
+ "aria-hidden": true
381
+ }, humanNumber)), showButtons && (reverse ? subtractButton : addButton), suffix && React.createElement(Suffix, {
382
+ className: "dnb-slider__suffix",
383
+ id: id + '-suffix',
384
+ context: allProps
385
+ }, suffix))));
529
386
  }
530
387
 
531
- _defineProperty(Slider, "tagName", 'dnb-slider');
388
+ const percentToValue = (percent, min, max) => {
389
+ if (typeof min === 'string') {
390
+ min = parseFloat(min);
391
+ }
532
392
 
533
- _defineProperty(Slider, "contextType", Context);
393
+ if (typeof max === 'string') {
394
+ max = parseFloat(max);
395
+ }
534
396
 
535
- _defineProperty(Slider, "defaultProps", {
536
- id: null,
537
- label: null,
538
- label_direction: null,
539
- label_sr_only: null,
540
- status: null,
541
- status_state: 'error',
542
- status_props: null,
543
- status_no_animation: null,
544
- global_status_id: null,
545
- suffix: null,
546
- thump_title: null,
547
- add_title: '+',
548
- subtract_title: '−',
549
- min: 0,
550
- max: 100,
551
- value: -1,
552
- step: null,
553
- vertical: false,
554
- reverse: false,
555
- stretch: false,
556
- number_format: null,
557
- disabled: false,
558
- hide_buttons: false,
559
- use_scrollwheel: false,
560
- skeleton: null,
561
- class: null,
562
- className: null,
563
- children: null,
564
- on_init: null,
565
- on_change: null,
566
- on_drag_start: null,
567
- on_drag_end: null,
568
- on_state_update: null
569
- });
570
-
571
- process.env.NODE_ENV !== "production" ? Slider.propTypes = _objectSpread(_objectSpread({
572
- id: PropTypes.string,
573
- label: PropTypes.oneOfType([PropTypes.string, PropTypes.func, PropTypes.node]),
574
- label_direction: PropTypes.oneOf(['horizontal', 'vertical']),
575
- label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
576
- status: PropTypes.oneOfType([PropTypes.string, PropTypes.bool, PropTypes.func, PropTypes.node]),
577
- status_state: PropTypes.string,
578
- status_props: PropTypes.object,
579
- status_no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
580
- global_status_id: PropTypes.string,
581
- suffix: PropTypes.oneOfType([PropTypes.string, PropTypes.func, PropTypes.node]),
582
- thump_title: PropTypes.string,
583
- add_title: PropTypes.string,
584
- subtract_title: PropTypes.string,
585
- min: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
586
- max: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
587
- value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
588
- step: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
589
- vertical: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
590
- reverse: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
591
- stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
592
- number_format: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),
593
- disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
594
- hide_buttons: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
595
- use_scrollwheel: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
596
- skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool])
597
- }, spacingPropTypes), {}, {
598
- class: PropTypes.string,
599
- className: PropTypes.string,
600
- children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
601
- on_init: PropTypes.func,
602
- on_change: PropTypes.func,
603
- on_drag_start: PropTypes.func,
604
- on_drag_end: PropTypes.func,
605
- on_state_update: PropTypes.func
606
- }) : void 0;
607
-
608
- const percentToValue = (percent, min, max) => (max - min) * percent / 100 + min;
397
+ return (max - min) * percent / 100 + min;
398
+ };
609
399
 
610
400
  const roundToStep = (number, step) => Math.round(number / step) * step;
611
401
 
@@ -661,6 +451,10 @@ const calculatePercent = (node, event, isVertical, isReverted) => {
661
451
 
662
452
  const clamp = (value, min = 0, max = 100) => Math.min(Math.max(value, min), max);
663
453
 
454
+ const roundValue = (value, step) => {
455
+ return step > 0 ? roundToStep(value, step) : parseFloat(parseFloat(String(value)).toFixed(3));
456
+ };
457
+
664
458
  const createMockDiv = ({
665
459
  width,
666
460
  height
@@ -684,10 +478,13 @@ const createMockDiv = ({
684
478
  return div;
685
479
  };
686
480
 
687
- function formatNumber(value, opts = null) {
481
+ const formatNumber = (value, opts = null) => {
688
482
  if (opts) {
689
483
  return format(value, opts);
690
484
  }
691
485
 
692
486
  return value;
693
- }
487
+ };
488
+
489
+ export { Slider as OriginalComponent };
490
+ export default withCamelCaseProps(Slider);