@dnb/eufemia 9.27.0 → 9.30.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 (388) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/cjs/components/Badge.d.ts +3 -0
  3. package/cjs/components/{slider/web-component.js → Badge.js} +6 -9
  4. package/cjs/components/autocomplete/Autocomplete.js +14 -2
  5. package/cjs/components/autocomplete/style/_autocomplete.scss +17 -1
  6. package/cjs/components/autocomplete/style/dnb-autocomplete.css +36 -3
  7. package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  8. package/cjs/components/avatar/style/_avatar.scss +1 -0
  9. package/cjs/components/avatar/style/dnb-avatar.css +1 -0
  10. package/cjs/components/avatar/style/dnb-avatar.min.css +1 -1
  11. package/cjs/components/badge/Badge.d.ts +58 -0
  12. package/cjs/components/badge/Badge.js +124 -0
  13. package/cjs/components/badge/index.d.ts +8 -0
  14. package/cjs/components/badge/index.js +52 -0
  15. package/cjs/components/badge/style/_badge.scss +74 -0
  16. package/cjs/components/badge/style/dnb-badge.css +151 -0
  17. package/cjs/components/badge/style/dnb-badge.min.css +1 -0
  18. package/cjs/components/badge/style/dnb-badge.scss +12 -0
  19. package/cjs/components/badge/style/index.d.ts +6 -0
  20. package/cjs/components/badge/style/index.js +3 -0
  21. package/cjs/components/badge/style/themes/dnb-badge-theme-ui.css +21 -0
  22. package/cjs/components/badge/style/themes/dnb-badge-theme-ui.min.css +1 -0
  23. package/cjs/components/badge/style/themes/dnb-badge-theme-ui.scss +17 -0
  24. package/cjs/components/badge/style/themes/ui.d.ts +1 -0
  25. package/cjs/components/badge/style/themes/ui.js +3 -0
  26. package/cjs/components/badge/style.d.ts +1 -0
  27. package/cjs/components/badge/style.js +3 -0
  28. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.css +20 -0
  29. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.min.css +2 -2
  30. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.scss +8 -0
  31. package/cjs/components/dialog/style/dnb-dialog.css +12 -19
  32. package/cjs/components/dialog/style/dnb-dialog.min.css +1 -1
  33. package/cjs/components/dialog/style/themes/dnb-dialog-theme-ui.css +0 -2
  34. package/cjs/components/dialog/style/themes/dnb-dialog-theme-ui.min.css +1 -1
  35. package/cjs/components/dialog/style/themes/dnb-dialog-theme-ui.scss +0 -7
  36. package/cjs/components/drawer/DrawerContent.js +7 -1
  37. package/cjs/components/drawer/style/_drawer.scss +6 -13
  38. package/cjs/components/drawer/style/dnb-drawer.css +21 -31
  39. package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
  40. package/cjs/components/drawer/style/themes/dnb-drawer-theme-ui.css +0 -2
  41. package/cjs/components/drawer/style/themes/dnb-drawer-theme-ui.min.css +1 -1
  42. package/cjs/components/drawer/style/themes/dnb-drawer-theme-ui.scss +0 -7
  43. package/cjs/components/form-row/FormRow.js +9 -8
  44. package/cjs/components/form-row/FormRowHelpers.d.ts +1 -0
  45. package/cjs/components/form-row/FormRowHelpers.js +16 -2
  46. package/cjs/components/index.d.ts +2 -1
  47. package/cjs/components/index.js +8 -0
  48. package/cjs/components/lib.d.ts +3 -1
  49. package/cjs/components/lib.js +9 -0
  50. package/cjs/components/modal/ModalContent.js +0 -2
  51. package/cjs/components/modal/style/_modal.scss +0 -4
  52. package/cjs/components/modal/style/dnb-modal.css +12 -19
  53. package/cjs/components/modal/style/dnb-modal.min.css +1 -1
  54. package/cjs/components/modal/style/themes/dnb-modal-theme-ui.css +6 -2
  55. package/cjs/components/modal/style/themes/dnb-modal-theme-ui.min.css +1 -1
  56. package/cjs/components/modal/style/themes/dnb-modal-theme-ui.scss +6 -5
  57. package/cjs/components/skeleton/SkeletonHelper.d.ts +2 -1
  58. package/cjs/components/slider/Slider.d.ts +8 -229
  59. package/cjs/components/slider/Slider.js +21 -798
  60. package/cjs/components/slider/SliderHelpers.d.ts +23 -0
  61. package/cjs/components/slider/SliderHelpers.js +245 -0
  62. package/cjs/components/slider/SliderInstance.d.ts +6 -0
  63. package/cjs/components/slider/SliderInstance.js +190 -0
  64. package/cjs/components/slider/SliderProvider.d.ts +4 -0
  65. package/cjs/components/slider/SliderProvider.js +301 -0
  66. package/cjs/components/slider/SliderThumb.d.ts +2 -0
  67. package/cjs/components/slider/SliderThumb.js +142 -0
  68. package/cjs/components/slider/SliderTrack.d.ts +6 -0
  69. package/cjs/components/slider/SliderTrack.js +132 -0
  70. package/cjs/components/slider/hooks/useSliderEvents.d.ts +11 -0
  71. package/cjs/components/slider/hooks/useSliderEvents.js +146 -0
  72. package/cjs/components/slider/hooks/useSliderProps.d.ts +1 -0
  73. package/cjs/components/slider/hooks/useSliderProps.js +16 -0
  74. package/cjs/components/slider/style/_slider.scss +19 -54
  75. package/cjs/components/slider/style/dnb-slider.css +30 -66
  76. package/cjs/components/slider/style/dnb-slider.min.css +1 -1
  77. package/cjs/components/slider/style/themes/dnb-slider-theme-ui.css +0 -16
  78. package/cjs/components/slider/style/themes/dnb-slider-theme-ui.min.css +1 -1
  79. package/cjs/components/slider/style/themes/dnb-slider-theme-ui.scss +0 -17
  80. package/cjs/components/slider/types.d.ts +100 -0
  81. package/cjs/components/slider/types.js +1 -0
  82. package/cjs/components/tabs/style/themes/dnb-tabs-theme-eiendom.css +148 -0
  83. package/cjs/components/tabs/style/themes/dnb-tabs-theme-eiendom.min.css +1 -0
  84. package/cjs/components/tabs/style/themes/dnb-tabs-theme-eiendom.scss +14 -0
  85. package/cjs/components/timeline/TimelineItem.js +2 -1
  86. package/cjs/elements/Anchor.d.ts +44 -105
  87. package/cjs/elements/Anchor.js +48 -138
  88. package/cjs/elements/Element.d.ts +23 -40
  89. package/cjs/elements/Element.js +48 -122
  90. package/cjs/elements/Link.d.ts +18 -1
  91. package/cjs/elements/lib.d.ts +36 -2
  92. package/cjs/index.d.ts +2 -1
  93. package/cjs/index.js +8 -0
  94. package/cjs/shared/AlignmentHelper.js +4 -2
  95. package/cjs/shared/Context.d.ts +7 -1
  96. package/cjs/shared/Eufemia.js +1 -1
  97. package/cjs/shared/helpers/Suffix.d.ts +6 -4
  98. package/cjs/shared/helpers/Suffix.js +5 -2
  99. package/cjs/shared/helpers/filterValidProps.d.ts +11 -0
  100. package/cjs/shared/helpers/filterValidProps.js +19 -0
  101. package/cjs/shared/helpers/withCamelCaseProps.d.ts +1 -1
  102. package/cjs/shared/helpers/withCamelCaseProps.js +10 -0
  103. package/cjs/shared/helpers/withSnakeCaseProps.d.ts +40 -0
  104. package/cjs/shared/helpers/withSnakeCaseProps.js +168 -0
  105. package/cjs/shared/locales/en-GB.d.ts +3 -3
  106. package/cjs/shared/locales/en-GB.js +3 -3
  107. package/cjs/shared/locales/en-US.d.ts +3 -3
  108. package/cjs/shared/locales/index.d.ts +6 -6
  109. package/cjs/shared/locales/nb-NO.d.ts +3 -3
  110. package/cjs/shared/locales/nb-NO.js +3 -3
  111. package/cjs/style/dnb-ui-components.css +161 -88
  112. package/cjs/style/dnb-ui-components.min.css +4 -4
  113. package/cjs/style/dnb-ui-components.scss +1 -0
  114. package/cjs/style/dnb-ui-elements.css +44 -28
  115. package/cjs/style/dnb-ui-elements.min.css +1 -1
  116. package/cjs/style/dnb-ui-tags.css +63 -40
  117. package/cjs/style/dnb-ui-tags.min.css +1 -1
  118. package/cjs/style/elements/_anchor-mixins.scss +6 -3
  119. package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.css +237 -46
  120. package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +7 -7
  121. package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.scss +1 -0
  122. package/cjs/style/themes/theme-ui/dnb-theme-ui.css +72 -50
  123. package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +4 -4
  124. package/cjs/style/themes/theme-ui/dnb-theme-ui.scss +1 -0
  125. package/components/Badge.d.ts +3 -0
  126. package/components/Badge.js +3 -0
  127. package/components/autocomplete/Autocomplete.js +15 -3
  128. package/components/autocomplete/style/_autocomplete.scss +17 -1
  129. package/components/autocomplete/style/dnb-autocomplete.css +36 -3
  130. package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  131. package/components/avatar/style/_avatar.scss +1 -0
  132. package/components/avatar/style/dnb-avatar.css +1 -0
  133. package/components/avatar/style/dnb-avatar.min.css +1 -1
  134. package/components/badge/Badge.d.ts +58 -0
  135. package/components/badge/Badge.js +92 -0
  136. package/components/badge/index.d.ts +8 -0
  137. package/components/badge/index.js +3 -0
  138. package/components/badge/style/_badge.scss +74 -0
  139. package/components/badge/style/dnb-badge.css +151 -0
  140. package/components/badge/style/dnb-badge.min.css +1 -0
  141. package/components/badge/style/dnb-badge.scss +12 -0
  142. package/components/badge/style/index.d.ts +6 -0
  143. package/components/badge/style/index.js +1 -0
  144. package/components/badge/style/themes/dnb-badge-theme-ui.css +21 -0
  145. package/components/badge/style/themes/dnb-badge-theme-ui.min.css +1 -0
  146. package/components/badge/style/themes/dnb-badge-theme-ui.scss +17 -0
  147. package/components/badge/style/themes/ui.d.ts +1 -0
  148. package/components/badge/style/themes/ui.js +1 -0
  149. package/components/badge/style.d.ts +1 -0
  150. package/components/badge/style.js +1 -0
  151. package/components/button/style/themes/dnb-button-theme-eiendom.css +20 -0
  152. package/components/button/style/themes/dnb-button-theme-eiendom.min.css +2 -2
  153. package/components/button/style/themes/dnb-button-theme-eiendom.scss +8 -0
  154. package/components/dialog/style/dnb-dialog.css +12 -19
  155. package/components/dialog/style/dnb-dialog.min.css +1 -1
  156. package/components/dialog/style/themes/dnb-dialog-theme-ui.css +0 -2
  157. package/components/dialog/style/themes/dnb-dialog-theme-ui.min.css +1 -1
  158. package/components/dialog/style/themes/dnb-dialog-theme-ui.scss +0 -7
  159. package/components/drawer/DrawerContent.js +4 -1
  160. package/components/drawer/style/_drawer.scss +6 -13
  161. package/components/drawer/style/dnb-drawer.css +21 -31
  162. package/components/drawer/style/dnb-drawer.min.css +1 -1
  163. package/components/drawer/style/themes/dnb-drawer-theme-ui.css +0 -2
  164. package/components/drawer/style/themes/dnb-drawer-theme-ui.min.css +1 -1
  165. package/components/drawer/style/themes/dnb-drawer-theme-ui.scss +0 -7
  166. package/components/form-row/FormRow.js +9 -8
  167. package/components/form-row/FormRowHelpers.d.ts +1 -0
  168. package/components/form-row/FormRowHelpers.js +10 -0
  169. package/components/index.d.ts +2 -1
  170. package/components/index.js +2 -1
  171. package/components/lib.d.ts +3 -1
  172. package/components/lib.js +3 -1
  173. package/components/modal/ModalContent.js +0 -2
  174. package/components/modal/style/_modal.scss +0 -4
  175. package/components/modal/style/dnb-modal.css +12 -19
  176. package/components/modal/style/dnb-modal.min.css +1 -1
  177. package/components/modal/style/themes/dnb-modal-theme-ui.css +6 -2
  178. package/components/modal/style/themes/dnb-modal-theme-ui.min.css +1 -1
  179. package/components/modal/style/themes/dnb-modal-theme-ui.scss +6 -5
  180. package/components/skeleton/SkeletonHelper.d.ts +2 -1
  181. package/components/slider/Slider.d.ts +8 -229
  182. package/components/slider/Slider.js +8 -748
  183. package/components/slider/SliderHelpers.d.ts +23 -0
  184. package/components/slider/SliderHelpers.js +158 -0
  185. package/components/slider/SliderInstance.d.ts +6 -0
  186. package/components/slider/SliderInstance.js +162 -0
  187. package/components/slider/SliderProvider.d.ts +4 -0
  188. package/components/slider/SliderProvider.js +236 -0
  189. package/components/slider/SliderThumb.d.ts +2 -0
  190. package/components/slider/SliderThumb.js +114 -0
  191. package/components/slider/SliderTrack.d.ts +6 -0
  192. package/components/slider/SliderTrack.js +105 -0
  193. package/components/slider/hooks/useSliderEvents.d.ts +11 -0
  194. package/components/slider/hooks/useSliderEvents.js +132 -0
  195. package/components/slider/hooks/useSliderProps.d.ts +1 -0
  196. package/components/slider/hooks/useSliderProps.js +5 -0
  197. package/components/slider/style/_slider.scss +19 -54
  198. package/components/slider/style/dnb-slider.css +30 -66
  199. package/components/slider/style/dnb-slider.min.css +1 -1
  200. package/components/slider/style/themes/dnb-slider-theme-ui.css +0 -16
  201. package/components/slider/style/themes/dnb-slider-theme-ui.min.css +1 -1
  202. package/components/slider/style/themes/dnb-slider-theme-ui.scss +0 -17
  203. package/components/slider/types.d.ts +100 -0
  204. package/components/slider/types.js +1 -0
  205. package/components/tabs/style/themes/dnb-tabs-theme-eiendom.css +148 -0
  206. package/components/tabs/style/themes/dnb-tabs-theme-eiendom.min.css +1 -0
  207. package/components/tabs/style/themes/dnb-tabs-theme-eiendom.scss +14 -0
  208. package/components/timeline/TimelineItem.js +2 -1
  209. package/elements/Anchor.d.ts +44 -105
  210. package/elements/Anchor.js +51 -113
  211. package/elements/Element.d.ts +23 -40
  212. package/elements/Element.js +44 -92
  213. package/elements/Link.d.ts +18 -1
  214. package/elements/lib.d.ts +36 -2
  215. package/es/components/Badge.d.ts +3 -0
  216. package/es/components/Badge.js +3 -0
  217. package/es/components/autocomplete/Autocomplete.js +14 -3
  218. package/es/components/autocomplete/style/_autocomplete.scss +17 -1
  219. package/es/components/autocomplete/style/dnb-autocomplete.css +36 -3
  220. package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  221. package/es/components/avatar/style/_avatar.scss +1 -0
  222. package/es/components/avatar/style/dnb-avatar.css +1 -0
  223. package/es/components/avatar/style/dnb-avatar.min.css +1 -1
  224. package/es/components/badge/Badge.d.ts +58 -0
  225. package/es/components/badge/Badge.js +88 -0
  226. package/es/components/badge/index.d.ts +8 -0
  227. package/es/components/badge/index.js +3 -0
  228. package/es/components/badge/style/_badge.scss +74 -0
  229. package/es/components/badge/style/dnb-badge.css +151 -0
  230. package/es/components/badge/style/dnb-badge.min.css +1 -0
  231. package/es/components/badge/style/dnb-badge.scss +12 -0
  232. package/es/components/badge/style/index.d.ts +6 -0
  233. package/es/components/badge/style/index.js +1 -0
  234. package/es/components/badge/style/themes/dnb-badge-theme-ui.css +21 -0
  235. package/es/components/badge/style/themes/dnb-badge-theme-ui.min.css +1 -0
  236. package/es/components/badge/style/themes/dnb-badge-theme-ui.scss +17 -0
  237. package/es/components/badge/style/themes/ui.d.ts +1 -0
  238. package/es/components/badge/style/themes/ui.js +1 -0
  239. package/es/components/badge/style.d.ts +1 -0
  240. package/es/components/badge/style.js +1 -0
  241. package/es/components/button/style/themes/dnb-button-theme-eiendom.css +20 -0
  242. package/es/components/button/style/themes/dnb-button-theme-eiendom.min.css +2 -2
  243. package/es/components/button/style/themes/dnb-button-theme-eiendom.scss +8 -0
  244. package/es/components/dialog/style/dnb-dialog.css +12 -19
  245. package/es/components/dialog/style/dnb-dialog.min.css +1 -1
  246. package/es/components/dialog/style/themes/dnb-dialog-theme-ui.css +0 -2
  247. package/es/components/dialog/style/themes/dnb-dialog-theme-ui.min.css +1 -1
  248. package/es/components/dialog/style/themes/dnb-dialog-theme-ui.scss +0 -7
  249. package/es/components/drawer/DrawerContent.js +4 -1
  250. package/es/components/drawer/style/_drawer.scss +6 -13
  251. package/es/components/drawer/style/dnb-drawer.css +21 -31
  252. package/es/components/drawer/style/dnb-drawer.min.css +1 -1
  253. package/es/components/drawer/style/themes/dnb-drawer-theme-ui.css +0 -2
  254. package/es/components/drawer/style/themes/dnb-drawer-theme-ui.min.css +1 -1
  255. package/es/components/drawer/style/themes/dnb-drawer-theme-ui.scss +0 -7
  256. package/es/components/form-row/FormRow.js +13 -11
  257. package/es/components/form-row/FormRowHelpers.d.ts +1 -0
  258. package/es/components/form-row/FormRowHelpers.js +10 -0
  259. package/es/components/index.d.ts +2 -1
  260. package/es/components/index.js +2 -1
  261. package/es/components/lib.d.ts +3 -1
  262. package/es/components/lib.js +3 -1
  263. package/es/components/modal/ModalContent.js +0 -1
  264. package/es/components/modal/style/_modal.scss +0 -4
  265. package/es/components/modal/style/dnb-modal.css +12 -19
  266. package/es/components/modal/style/dnb-modal.min.css +1 -1
  267. package/es/components/modal/style/themes/dnb-modal-theme-ui.css +6 -2
  268. package/es/components/modal/style/themes/dnb-modal-theme-ui.min.css +1 -1
  269. package/es/components/modal/style/themes/dnb-modal-theme-ui.scss +6 -5
  270. package/es/components/skeleton/SkeletonHelper.d.ts +2 -1
  271. package/es/components/slider/Slider.d.ts +8 -229
  272. package/es/components/slider/Slider.js +7 -688
  273. package/es/components/slider/SliderHelpers.d.ts +23 -0
  274. package/es/components/slider/SliderHelpers.js +130 -0
  275. package/es/components/slider/SliderInstance.d.ts +6 -0
  276. package/es/components/slider/SliderInstance.js +167 -0
  277. package/es/components/slider/SliderProvider.d.ts +4 -0
  278. package/es/components/slider/SliderProvider.js +214 -0
  279. package/es/components/slider/SliderThumb.d.ts +2 -0
  280. package/es/components/slider/SliderThumb.js +106 -0
  281. package/es/components/slider/SliderTrack.d.ts +6 -0
  282. package/es/components/slider/SliderTrack.js +100 -0
  283. package/es/components/slider/hooks/useSliderEvents.d.ts +11 -0
  284. package/es/components/slider/hooks/useSliderEvents.js +129 -0
  285. package/es/components/slider/hooks/useSliderProps.d.ts +1 -0
  286. package/es/components/slider/hooks/useSliderProps.js +5 -0
  287. package/es/components/slider/style/_slider.scss +19 -54
  288. package/es/components/slider/style/dnb-slider.css +30 -66
  289. package/es/components/slider/style/dnb-slider.min.css +1 -1
  290. package/es/components/slider/style/themes/dnb-slider-theme-ui.css +0 -16
  291. package/es/components/slider/style/themes/dnb-slider-theme-ui.min.css +1 -1
  292. package/es/components/slider/style/themes/dnb-slider-theme-ui.scss +0 -17
  293. package/es/components/slider/types.d.ts +100 -0
  294. package/es/components/slider/types.js +1 -0
  295. package/es/components/tabs/style/themes/dnb-tabs-theme-eiendom.css +148 -0
  296. package/es/components/tabs/style/themes/dnb-tabs-theme-eiendom.min.css +1 -0
  297. package/es/components/tabs/style/themes/dnb-tabs-theme-eiendom.scss +14 -0
  298. package/es/components/timeline/TimelineItem.js +2 -1
  299. package/es/elements/Anchor.d.ts +44 -105
  300. package/es/elements/Anchor.js +49 -80
  301. package/es/elements/Element.d.ts +23 -40
  302. package/es/elements/Element.js +44 -61
  303. package/es/elements/Link.d.ts +18 -1
  304. package/es/elements/lib.d.ts +36 -2
  305. package/es/index.d.ts +2 -1
  306. package/es/index.js +2 -1
  307. package/es/shared/AlignmentHelper.js +2 -2
  308. package/es/shared/Context.d.ts +7 -1
  309. package/es/shared/Eufemia.js +1 -1
  310. package/es/shared/helpers/Suffix.d.ts +6 -4
  311. package/es/shared/helpers/Suffix.js +5 -3
  312. package/es/shared/helpers/filterValidProps.d.ts +11 -0
  313. package/es/shared/helpers/filterValidProps.js +14 -0
  314. package/es/shared/helpers/withCamelCaseProps.d.ts +1 -1
  315. package/es/shared/helpers/withCamelCaseProps.js +9 -0
  316. package/es/shared/helpers/withSnakeCaseProps.d.ts +40 -0
  317. package/es/shared/helpers/withSnakeCaseProps.js +72 -0
  318. package/es/shared/locales/en-GB.d.ts +3 -3
  319. package/es/shared/locales/en-GB.js +3 -3
  320. package/es/shared/locales/en-US.d.ts +3 -3
  321. package/es/shared/locales/index.d.ts +6 -6
  322. package/es/shared/locales/nb-NO.d.ts +3 -3
  323. package/es/shared/locales/nb-NO.js +3 -3
  324. package/es/style/dnb-ui-components.css +161 -88
  325. package/es/style/dnb-ui-components.min.css +4 -4
  326. package/es/style/dnb-ui-components.scss +1 -0
  327. package/es/style/dnb-ui-elements.css +44 -28
  328. package/es/style/dnb-ui-elements.min.css +1 -1
  329. package/es/style/dnb-ui-tags.css +63 -40
  330. package/es/style/dnb-ui-tags.min.css +1 -1
  331. package/es/style/elements/_anchor-mixins.scss +6 -3
  332. package/es/style/themes/theme-eiendom/dnb-theme-eiendom.css +237 -46
  333. package/es/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +7 -7
  334. package/es/style/themes/theme-eiendom/dnb-theme-eiendom.scss +1 -0
  335. package/es/style/themes/theme-ui/dnb-theme-ui.css +72 -50
  336. package/es/style/themes/theme-ui/dnb-theme-ui.min.css +4 -4
  337. package/es/style/themes/theme-ui/dnb-theme-ui.scss +1 -0
  338. package/esm/dnb-ui-basis.min.mjs +1 -1
  339. package/esm/dnb-ui-components.min.mjs +3 -3
  340. package/esm/dnb-ui-elements.min.mjs +9 -10
  341. package/esm/dnb-ui-extensions.min.mjs +4 -4
  342. package/esm/dnb-ui-lib.min.mjs +3 -3
  343. package/esm/dnb-ui-web-components.min.mjs +3 -3
  344. package/index.d.ts +2 -1
  345. package/index.js +2 -1
  346. package/package.json +1 -1
  347. package/shared/AlignmentHelper.js +4 -2
  348. package/shared/Context.d.ts +7 -1
  349. package/shared/Eufemia.js +1 -1
  350. package/shared/helpers/Suffix.d.ts +6 -4
  351. package/shared/helpers/Suffix.js +4 -2
  352. package/shared/helpers/filterValidProps.d.ts +11 -0
  353. package/shared/helpers/filterValidProps.js +14 -0
  354. package/shared/helpers/withCamelCaseProps.d.ts +1 -1
  355. package/shared/helpers/withCamelCaseProps.js +10 -0
  356. package/shared/helpers/withSnakeCaseProps.d.ts +40 -0
  357. package/shared/helpers/withSnakeCaseProps.js +115 -0
  358. package/shared/locales/en-GB.d.ts +3 -3
  359. package/shared/locales/en-GB.js +3 -3
  360. package/shared/locales/en-US.d.ts +3 -3
  361. package/shared/locales/index.d.ts +6 -6
  362. package/shared/locales/nb-NO.d.ts +3 -3
  363. package/shared/locales/nb-NO.js +3 -3
  364. package/style/dnb-ui-components.css +161 -88
  365. package/style/dnb-ui-components.min.css +4 -4
  366. package/style/dnb-ui-components.scss +1 -0
  367. package/style/dnb-ui-elements.css +44 -28
  368. package/style/dnb-ui-elements.min.css +1 -1
  369. package/style/dnb-ui-tags.css +63 -40
  370. package/style/dnb-ui-tags.min.css +1 -1
  371. package/style/elements/_anchor-mixins.scss +6 -3
  372. package/style/themes/theme-eiendom/dnb-theme-eiendom.css +237 -46
  373. package/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +7 -7
  374. package/style/themes/theme-eiendom/dnb-theme-eiendom.scss +1 -0
  375. package/style/themes/theme-ui/dnb-theme-ui.css +72 -50
  376. package/style/themes/theme-ui/dnb-theme-ui.min.css +4 -4
  377. package/style/themes/theme-ui/dnb-theme-ui.scss +1 -0
  378. package/umd/dnb-ui-basis.min.js +1 -1
  379. package/umd/dnb-ui-components.min.js +5 -5
  380. package/umd/dnb-ui-elements.min.js +20 -21
  381. package/umd/dnb-ui-extensions.min.js +3 -3
  382. package/umd/dnb-ui-lib.min.js +4 -4
  383. package/umd/dnb-ui-web-components.min.js +4 -4
  384. package/cjs/components/slider/web-component.d.ts +0 -3
  385. package/components/slider/web-component.d.ts +0 -3
  386. package/components/slider/web-component.js +0 -5
  387. package/es/components/slider/web-component.d.ts +0 -3
  388. package/es/components/slider/web-component.js +0 -5
@@ -0,0 +1,114 @@
1
+ import "core-js/modules/es.object.keys.js";
2
+ import "core-js/modules/es.symbol.js";
3
+ import "core-js/modules/es.array.filter.js";
4
+ import "core-js/modules/es.object.get-own-property-descriptor.js";
5
+ import "core-js/modules/web.dom-collections.for-each.js";
6
+ import "core-js/modules/es.object.get-own-property-descriptors.js";
7
+ import _extends from "@babel/runtime/helpers/esm/extends";
8
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
9
+
10
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
11
+
12
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
13
+
14
+ import "core-js/modules/es.array.iterator.js";
15
+ import "core-js/modules/es.object.to-string.js";
16
+ import "core-js/modules/web.dom-collections.iterator.js";
17
+ import "core-js/modules/es.array.map.js";
18
+ import React from 'react';
19
+ import { combineDescribedBy, combineLabelledBy, validateDOMAttributes } from '../../shared/component-helper';
20
+ import Button from '../button/Button';
21
+ import { useSliderEvents } from './hooks/useSliderEvents';
22
+ import { useSliderProps } from './hooks/useSliderProps';
23
+ import { clamp, getHumanNumber } from './SliderHelpers';
24
+ export function SliderThumb() {
25
+ var _useSliderProps = useSliderProps(),
26
+ values = _useSliderProps.values,
27
+ thumbIndex = _useSliderProps.thumbIndex,
28
+ isVertical = _useSliderProps.isVertical,
29
+ isReverse = _useSliderProps.isReverse,
30
+ showStatus = _useSliderProps.showStatus,
31
+ attributes = _useSliderProps.attributes,
32
+ allProps = _useSliderProps.allProps;
33
+
34
+ var id = allProps.id,
35
+ label = allProps.label,
36
+ min = allProps.min,
37
+ max = allProps.max,
38
+ step = allProps.step,
39
+ skeleton = allProps.skeleton,
40
+ disabled = allProps.disabled,
41
+ suffix = allProps.suffix,
42
+ numberFormat = allProps.numberFormat;
43
+
44
+ var _useSliderEvents = useSliderEvents(),
45
+ onThumbMouseDownHandler = _useSliderEvents.onThumbMouseDownHandler,
46
+ onThumbMouseUpHandler = _useSliderEvents.onThumbMouseUpHandler,
47
+ onThumbBlurHandler = _useSliderEvents.onThumbBlurHandler,
48
+ onThumbFocusHandler = _useSliderEvents.onThumbFocusHandler,
49
+ onHelperChangeHandler = _useSliderEvents.onHelperChangeHandler,
50
+ onHelperFocusHandler = _useSliderEvents.onHelperFocusHandler;
51
+
52
+ var thumbParams = _objectSpread({
53
+ onBlur: onThumbBlurHandler,
54
+ onFocus: onThumbFocusHandler
55
+ }, attributes);
56
+
57
+ var helperParams = {};
58
+
59
+ if (label) {
60
+ helperParams['aria-labelledby'] = combineLabelledBy(helperParams, label ? id + '-label' : null);
61
+ }
62
+
63
+ if (showStatus || suffix) {
64
+ helperParams['aria-describedby'] = combineDescribedBy(helperParams, showStatus ? id + '-status' : null, suffix ? id + '-suffix' : null);
65
+ }
66
+
67
+ validateDOMAttributes(null, helperParams);
68
+ validateDOMAttributes(allProps, thumbParams);
69
+ return React.createElement(React.Fragment, null, values.map(function (value, i) {
70
+ var index = thumbIndex.current;
71
+ var percent = clamp((value - min) * 100 / (max - min));
72
+
73
+ if (isReverse) {
74
+ percent = 100 - percent;
75
+ }
76
+
77
+ var style = _defineProperty({
78
+ zIndex: index === i ? 4 : 3
79
+ }, "".concat(isVertical ? 'top' : 'left'), "".concat(percent, "%"));
80
+
81
+ var humanNumber = getHumanNumber(value, numberFormat);
82
+ return React.createElement(React.Fragment, {
83
+ key: i
84
+ }, React.createElement("span", {
85
+ className: "dnb-slider__thumb",
86
+ style: style
87
+ }, React.createElement("input", _extends({
88
+ type: "range",
89
+ className: "dnb-slider__button-helper",
90
+ min: min,
91
+ max: max,
92
+ step: step,
93
+ value: value,
94
+ disabled: disabled,
95
+ onChange: onHelperChangeHandler,
96
+ onFocus: onHelperFocusHandler,
97
+ "aria-valuemin": min,
98
+ "aria-valuemax": max,
99
+ "aria-valuenow": value,
100
+ "aria-valuetext": humanNumber ? humanNumber : undefined,
101
+ "aria-orientation": isVertical ? 'vertical' : 'horizontal',
102
+ "data-index": i
103
+ }, helperParams)), React.createElement(Button, _extends({
104
+ element: "span",
105
+ type: "",
106
+ variant: "secondary",
107
+ disabled: disabled,
108
+ skeleton: skeleton,
109
+ "data-index": i,
110
+ onMouseDown: onThumbMouseDownHandler,
111
+ onMouseUp: onThumbMouseUpHandler
112
+ }, thumbParams))));
113
+ }));
114
+ }
@@ -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;
@@ -0,0 +1,105 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+
3
+ var _span;
4
+
5
+ import "core-js/modules/es.array.iterator.js";
6
+ import "core-js/modules/es.object.to-string.js";
7
+ import "core-js/modules/web.dom-collections.iterator.js";
8
+ import "core-js/modules/es.array.sort.js";
9
+ import "core-js/modules/es.array.reverse.js";
10
+ import React from 'react';
11
+ import { dispatchCustomElementEvent, validateDOMAttributes } from '../../shared/component-helper';
12
+ import { useSliderEvents } from './hooks/useSliderEvents';
13
+ import { useSliderProps } from './hooks/useSliderProps';
14
+ import { clamp, formatNumber } from './SliderHelpers';
15
+ export function SliderMainTrack(_ref) {
16
+ var children = _ref.children;
17
+
18
+ var _useSliderProps = useSliderProps(),
19
+ isMulti = _useSliderProps.isMulti,
20
+ value = _useSliderProps.value,
21
+ allProps = _useSliderProps.allProps,
22
+ trackRef = _useSliderProps.trackRef,
23
+ jumpedTimeout = _useSliderProps.jumpedTimeout,
24
+ thumbState = _useSliderProps.thumbState;
25
+
26
+ var id = allProps.id,
27
+ numberFormat = allProps.numberFormat,
28
+ onInit = allProps.onInit;
29
+
30
+ var _useSliderEvents = useSliderEvents(),
31
+ onTrackClickHandler = _useSliderEvents.onTrackClickHandler,
32
+ onThumbMouseDownHandler = _useSliderEvents.onThumbMouseDownHandler,
33
+ removeEvents = _useSliderEvents.removeEvents;
34
+
35
+ React.useEffect(function () {
36
+ if (typeof onInit === 'function' && !isMulti) {
37
+ var obj = {
38
+ value: value,
39
+ number: null
40
+ };
41
+
42
+ if (numberFormat) {
43
+ obj.number = formatNumber(value, numberFormat);
44
+ }
45
+
46
+ dispatchCustomElementEvent(allProps, 'onInit', obj);
47
+ }
48
+
49
+ return function () {
50
+ removeEvents();
51
+ clearTimeout(jumpedTimeout.current);
52
+ };
53
+ }, []);
54
+ var trackParams = {
55
+ className: 'dnb-slider__track' + (thumbState ? " dnb-slider__state--".concat(thumbState) : ""),
56
+ onTouchStart: onTrackClickHandler,
57
+ onTouchStartCapture: onThumbMouseDownHandler,
58
+ onMouseDown: onTrackClickHandler,
59
+ onMouseDownCapture: onThumbMouseDownHandler
60
+ };
61
+ validateDOMAttributes(null, trackParams);
62
+ return React.createElement("span", _extends({
63
+ id: id,
64
+ ref: trackRef
65
+ }, trackParams), children);
66
+ }
67
+ var trackObj = [['right', 'left'], ['bottom', 'top']];
68
+ export function SliderTrackBefore() {
69
+ var _useSliderProps2 = useSliderProps(),
70
+ origValues = _useSliderProps2.values,
71
+ isVertical = _useSliderProps2.isVertical,
72
+ isReverse = _useSliderProps2.isReverse,
73
+ thumbIndex = _useSliderProps2.thumbIndex,
74
+ _useSliderProps2$allP = _useSliderProps2.allProps,
75
+ min = _useSliderProps2$allP.min,
76
+ max = _useSliderProps2$allP.max;
77
+
78
+ var values = origValues.sort(function (a, b) {
79
+ return a - b;
80
+ });
81
+ var isBetween = values.length >= 2;
82
+
83
+ if (isBetween && values[0] > values[values.length - 1]) {
84
+ values.reverse();
85
+ }
86
+
87
+ var index = thumbIndex.current;
88
+ var upperValue = values[isBetween ? 0 : index > -1 ? index : 0];
89
+ var upperPercent = isBetween ? clamp((upperValue - min) * 100 / (max - min)) : 0;
90
+ var lowerValue = values[isBetween ? values.length - 1 : index > -1 ? index : 0];
91
+ var lowerPercent = 100 - clamp((lowerValue - min) * 100 / (max - min));
92
+ var units = [trackObj[isVertical ? 1 : 0][0], trackObj[isVertical ? 1 : 0][1]];
93
+ var style = {};
94
+ style[units[isReverse ? 1 : 0]] = "".concat(lowerPercent, "%");
95
+ style[units[isReverse ? 0 : 1]] = "".concat(upperPercent, "%");
96
+ return React.createElement("span", {
97
+ className: "dnb-slider__line dnb-slider__line__before",
98
+ style: style
99
+ });
100
+ }
101
+ export function SliderTrackAfter() {
102
+ return _span || (_span = React.createElement("span", {
103
+ className: "dnb-slider__line dnb-slider__line__after"
104
+ }));
105
+ }
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ export declare function useSliderEvents(): {
3
+ onThumbMouseDownHandler: (event: React.SyntheticEvent) => void;
4
+ onThumbMouseUpHandler: () => void;
5
+ onTrackClickHandler: (event: MouseEvent | TouchEvent) => void;
6
+ onThumbFocusHandler: () => void;
7
+ onThumbBlurHandler: () => void;
8
+ onHelperChangeHandler: (event: React.FormEvent<HTMLInputElement>) => void;
9
+ onHelperFocusHandler: (event: React.FormEvent<HTMLInputElement>) => void;
10
+ removeEvents: () => void;
11
+ };
@@ -0,0 +1,132 @@
1
+ import "core-js/modules/es.parse-float.js";
2
+ import React from 'react';
3
+ import { dispatchCustomElementEvent, warn } from '../../../shared/component-helper';
4
+ import { calculatePercent, createMockDiv, percentToValue } from '../SliderHelpers';
5
+ import { SliderContext } from '../SliderProvider';
6
+ export function useSliderEvents() {
7
+ var _React$useContext = React.useContext(SliderContext),
8
+ isReverse = _React$useContext.isReverse,
9
+ emitChange = _React$useContext.emitChange,
10
+ trackRef = _React$useContext.trackRef,
11
+ isVertical = _React$useContext.isVertical,
12
+ setJumpedState = _React$useContext.setJumpedState,
13
+ setThumbState = _React$useContext.setThumbState,
14
+ setThumbIndex = _React$useContext.setThumbIndex,
15
+ allProps = _React$useContext.allProps;
16
+
17
+ var min = allProps.min,
18
+ max = allProps.max,
19
+ onDragStart = allProps.onDragStart,
20
+ onDragEnd = allProps.onDragEnd;
21
+
22
+ var onTrackClickHandler = function onTrackClickHandler(event) {
23
+ var percent = calculatePercent(trackRef.current, event, isVertical);
24
+ emitChange(event, percentToValue(percent, min, max, isReverse));
25
+ setJumpedState();
26
+ };
27
+
28
+ var onThumbMouseDownHandler = function onThumbMouseDownHandler(event) {
29
+ var target = event.target;
30
+ setThumbIndex(parseFloat(target.dataset.index));
31
+ setThumbState('released');
32
+
33
+ if (typeof onDragStart === 'function') {
34
+ dispatchCustomElementEvent(allProps, 'onDragStart', {
35
+ event: event
36
+ });
37
+ }
38
+
39
+ if (typeof document !== 'undefined') {
40
+ try {
41
+ document.body.addEventListener('touchmove', onTrackTouchMoveHandler);
42
+ document.body.addEventListener('touchend', onTrackTouchEndHandler);
43
+ document.body.addEventListener('mousemove', onTrackMouseMoveHandler);
44
+ document.body.addEventListener('mouseup', onTrackMouseUpHandler);
45
+ } catch (e) {
46
+ warn(e);
47
+ }
48
+ }
49
+ };
50
+
51
+ var onThumbMouseUpHandler = function onThumbMouseUpHandler() {
52
+ setThumbState('activated');
53
+ };
54
+
55
+ var onTrackTouchEndHandler = function onTrackTouchEndHandler(event) {
56
+ return onTrackMouseUpHandler(event);
57
+ };
58
+
59
+ var removeEvents = function removeEvents() {
60
+ if (typeof document !== 'undefined') {
61
+ try {
62
+ document.body.removeEventListener('touchmove', onTrackTouchMoveHandler);
63
+ document.body.removeEventListener('touchend', onTrackTouchEndHandler);
64
+ document.body.removeEventListener('mousemove', onTrackMouseMoveHandler);
65
+ document.body.removeEventListener('mouseup', onTrackMouseUpHandler);
66
+ } catch (e) {
67
+ warn(e);
68
+ }
69
+ }
70
+ };
71
+
72
+ var onTrackMouseUpHandler = function onTrackMouseUpHandler(event) {
73
+ removeEvents();
74
+ setThumbIndex(-1);
75
+ setThumbState('normal');
76
+
77
+ if (typeof onDragEnd === 'function') {
78
+ dispatchCustomElementEvent(allProps, 'onDragEnd', {
79
+ event: event
80
+ });
81
+ }
82
+ };
83
+
84
+ var onTrackTouchMoveHandler = function onTrackTouchMoveHandler(event) {
85
+ return onTrackMouseMoveHandler(event);
86
+ };
87
+
88
+ var onTrackMouseMoveHandler = function onTrackMouseMoveHandler(event) {
89
+ var _event, _event$detail;
90
+
91
+ var elem = trackRef.current;
92
+
93
+ 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') {
94
+ elem = createMockDiv(event.detail);
95
+ event = event.detail;
96
+ }
97
+
98
+ if (elem) {
99
+ var percent = calculatePercent(elem, event, isVertical);
100
+ emitChange(event, percentToValue(percent, min, max, isReverse));
101
+ }
102
+ };
103
+
104
+ var onThumbFocusHandler = function onThumbFocusHandler() {
105
+ setThumbState('focused');
106
+ };
107
+
108
+ var onThumbBlurHandler = function onThumbBlurHandler() {
109
+ setThumbState('normal');
110
+ };
111
+
112
+ var onHelperChangeHandler = function onHelperChangeHandler(event) {
113
+ var emitEvent = event;
114
+ emitChange(emitEvent, parseFloat(event.currentTarget.value));
115
+ };
116
+
117
+ var onHelperFocusHandler = function onHelperFocusHandler(event) {
118
+ var target = event.target;
119
+ setThumbIndex(parseFloat(target.dataset.index));
120
+ };
121
+
122
+ return {
123
+ onThumbMouseDownHandler: onThumbMouseDownHandler,
124
+ onThumbMouseUpHandler: onThumbMouseUpHandler,
125
+ onTrackClickHandler: onTrackClickHandler,
126
+ onThumbFocusHandler: onThumbFocusHandler,
127
+ onThumbBlurHandler: onThumbBlurHandler,
128
+ onHelperChangeHandler: onHelperChangeHandler,
129
+ onHelperFocusHandler: onHelperFocusHandler,
130
+ removeEvents: removeEvents
131
+ };
132
+ }
@@ -0,0 +1 @@
1
+ export declare function useSliderProps(): import("..").SliderContextTypes;
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { SliderContext } from '../SliderProvider';
3
+ export function useSliderProps() {
4
+ return React.useContext(SliderContext);
5
+ }
@@ -76,34 +76,6 @@
76
76
  min-width: 2rem;
77
77
 
78
78
  cursor: pointer;
79
-
80
- &::before,
81
- &::after {
82
- content: '';
83
- position: absolute;
84
- z-index: 2;
85
- left: 0;
86
- top: 50%;
87
-
88
- width: var(--slider-thumb-size);
89
- height: var(--slider-track-height);
90
-
91
- transform: translate3d(0, -50%, 0);
92
-
93
- border-radius: calc(var(--slider-track-height) / 2);
94
- background-color: inherit;
95
- }
96
-
97
- &::before {
98
- background-color: red;
99
- left: calc(1px - 1px - var(--slider-space));
100
- right: auto;
101
- }
102
- &::after {
103
- background-color: blue;
104
- left: auto;
105
- right: calc(1px - 1px - var(--slider-space));
106
- }
107
79
  }
108
80
  &--vertical &__track {
109
81
  margin: calc(var(--slider-space) * 1.5) 0;
@@ -111,22 +83,12 @@
111
83
  // only to make sure we have a visible track
112
84
  min-height: 2rem;
113
85
  min-width: auto;
114
-
115
- &::before,
116
- &::after {
117
- left: 50%;
118
- transform: translate3d(-50%, 0, 0);
119
- width: var(--slider-track-height);
120
- height: var(--slider-thumb-size);
121
- }
122
- &::before {
123
- top: calc(1px - 1px - var(--slider-space));
124
- bottom: auto;
125
- }
126
- &::after {
127
- top: auto;
128
- bottom: calc(1px - 1px - var(--slider-space));
129
- }
86
+ }
87
+ &--no-buttons &__track {
88
+ margin: 0 calc(var(--slider-space));
89
+ }
90
+ &--no-buttons#{&}--vertical &__track {
91
+ margin: calc(var(--slider-space)) 0;
130
92
  }
131
93
 
132
94
  &--vertical &__inner {
@@ -139,12 +101,6 @@
139
101
  min-width: inherit;
140
102
  min-height: inherit;
141
103
  }
142
- &--reverse &__track {
143
- transform: scaleX(-1);
144
- }
145
- &--reverse#{&}--vertical &__track {
146
- transform: scaleY(-1);
147
- }
148
104
 
149
105
  &__line {
150
106
  position: absolute;
@@ -152,10 +108,13 @@
152
108
  left: 0;
153
109
  top: 50%;
154
110
 
111
+ margin: 0 calc(1px - 1px - var(--slider-space));
112
+
155
113
  height: var(--slider-track-height);
156
114
  transform: translate3d(0, -50%, 0);
157
115
 
158
116
  background-color: grey;
117
+ border-radius: var(--slider-track-height);
159
118
  }
160
119
  &--vertical &__line {
161
120
  width: var(--slider-track-height);
@@ -164,6 +123,8 @@
164
123
  left: 50%;
165
124
  top: 0;
166
125
 
126
+ margin: calc(1px - 1px - var(--slider-space)) 0;
127
+
167
128
  transform: translate3d(-50%, 0, 0);
168
129
  }
169
130
 
@@ -177,6 +138,7 @@
177
138
  }
178
139
  &--vertical &__line__before {
179
140
  top: 0;
141
+ bottom: 0;
180
142
  }
181
143
  &--vertical &__line__after {
182
144
  bottom: 0;
@@ -211,6 +173,8 @@
211
173
 
212
174
  line-height: var(--slider-button-size);
213
175
  transform: translateY(0.25rem);
176
+
177
+ z-index: 2;
214
178
  }
215
179
  &--vertical &__button.dnb-button--size-small {
216
180
  transform: translateX(0.25rem);
@@ -218,12 +182,13 @@
218
182
 
219
183
  &__state--jumped &__thumb,
220
184
  &__state--jumped &__line {
221
- transition: width 250ms ease 0ms, height 250ms ease 0ms,
222
- left 250ms ease 0ms, top 250ms ease 0ms, box-shadow 250ms ease 0ms;
185
+ transition: left 250ms ease, top 250ms ease, bottom 250ms ease,
186
+ right 250ms ease, box-shadow 250ms ease;
223
187
  }
224
188
 
225
- &__state--disabled#{&}__track,
226
- &__state--disabled &__thumb {
189
+ &__state--disabled &__track,
190
+ &__state--disabled &__thumb,
191
+ &__state--disabled &__line {
227
192
  cursor: not-allowed;
228
193
  }
229
194
 
@@ -1192,37 +1192,6 @@ legend.dnb-form-label {
1192
1192
  margin: 0 calc(var(--slider-space) * 1.5);
1193
1193
  min-width: 2rem;
1194
1194
  cursor: pointer; }
1195
- .dnb-slider__track::before, .dnb-slider__track::after {
1196
- content: '';
1197
- position: absolute;
1198
- z-index: 2;
1199
- left: 0;
1200
- top: 50%;
1201
- width: 2rem;
1202
- width: var(--slider-thumb-size);
1203
- height: 0.25rem;
1204
- height: var(--slider-track-height);
1205
- -webkit-transform: translate3d(0, -50%, 0);
1206
- transform: translate3d(0, -50%, 0);
1207
- border-radius: 0.125rem;
1208
- border-radius: calc(0.25rem / 2);
1209
- border-radius: calc(var(--slider-track-height)/2);
1210
- border-radius: calc(var(--slider-track-height) / 2);
1211
- background-color: inherit; }
1212
- .dnb-slider__track::before {
1213
- background-color: red;
1214
- left: -1rem;
1215
- left: calc(1px - 1px - 1rem);
1216
- left: calc(0px - var(--slider-space));
1217
- left: calc(1px - 1px - var(--slider-space));
1218
- right: auto; }
1219
- .dnb-slider__track::after {
1220
- background-color: blue;
1221
- left: auto;
1222
- right: -1rem;
1223
- right: calc(1px - 1px - 1rem);
1224
- right: calc(0px - var(--slider-space));
1225
- right: calc(1px - 1px - var(--slider-space)); }
1226
1195
  .dnb-slider--vertical .dnb-slider__track {
1227
1196
  margin: 1.5rem 0;
1228
1197
  margin: calc(1rem * 1.5) 0;
@@ -1230,26 +1199,14 @@ legend.dnb-form-label {
1230
1199
  margin: calc(var(--slider-space) * 1.5) 0;
1231
1200
  min-height: 2rem;
1232
1201
  min-width: auto; }
1233
- .dnb-slider--vertical .dnb-slider__track::before, .dnb-slider--vertical .dnb-slider__track::after {
1234
- left: 50%;
1235
- -webkit-transform: translate3d(-50%, 0, 0);
1236
- transform: translate3d(-50%, 0, 0);
1237
- width: 0.25rem;
1238
- width: var(--slider-track-height);
1239
- height: 2rem;
1240
- height: var(--slider-thumb-size); }
1241
- .dnb-slider--vertical .dnb-slider__track::before {
1242
- top: -1rem;
1243
- top: calc(1px - 1px - 1rem);
1244
- top: calc(0px - var(--slider-space));
1245
- top: calc(1px - 1px - var(--slider-space));
1246
- bottom: auto; }
1247
- .dnb-slider--vertical .dnb-slider__track::after {
1248
- top: auto;
1249
- bottom: -1rem;
1250
- bottom: calc(1px - 1px - 1rem);
1251
- bottom: calc(0px - var(--slider-space));
1252
- bottom: calc(1px - 1px - var(--slider-space)); }
1202
+ .dnb-slider--no-buttons .dnb-slider__track {
1203
+ margin: 0 1rem;
1204
+ margin: 0 calc(1rem);
1205
+ margin: 0 calc(var(--slider-space)); }
1206
+ .dnb-slider--no-buttons.dnb-slider--vertical .dnb-slider__track {
1207
+ margin: 1rem 0;
1208
+ margin: calc(1rem) 0;
1209
+ margin: calc(var(--slider-space)) 0; }
1253
1210
  .dnb-slider--vertical .dnb-slider__inner {
1254
1211
  -webkit-box-orient: vertical;
1255
1212
  -webkit-box-direction: normal;
@@ -1260,27 +1217,31 @@ legend.dnb-form-label {
1260
1217
  height: inherit;
1261
1218
  min-width: inherit;
1262
1219
  min-height: inherit; }
1263
- .dnb-slider--reverse .dnb-slider__track {
1264
- -webkit-transform: scaleX(-1);
1265
- transform: scaleX(-1); }
1266
- .dnb-slider--reverse.dnb-slider--vertical .dnb-slider__track {
1267
- -webkit-transform: scaleY(-1);
1268
- transform: scaleY(-1); }
1269
1220
  .dnb-slider__line {
1270
1221
  position: absolute;
1271
1222
  left: 0;
1272
1223
  top: 50%;
1224
+ margin: 0 -1rem;
1225
+ margin: 0 calc(1px - 1px - 1rem);
1226
+ margin: 0 calc(0px - var(--slider-space));
1227
+ margin: 0 calc(1px - 1px - var(--slider-space));
1273
1228
  height: 0.25rem;
1274
1229
  height: var(--slider-track-height);
1275
1230
  -webkit-transform: translate3d(0, -50%, 0);
1276
1231
  transform: translate3d(0, -50%, 0);
1277
- background-color: grey; }
1232
+ background-color: grey;
1233
+ border-radius: 0.25rem;
1234
+ border-radius: var(--slider-track-height); }
1278
1235
  .dnb-slider--vertical .dnb-slider__line {
1279
1236
  width: 0.25rem;
1280
1237
  width: var(--slider-track-height);
1281
1238
  height: auto;
1282
1239
  left: 50%;
1283
1240
  top: 0;
1241
+ margin: -1rem 0;
1242
+ margin: calc(1px - 1px - 1rem) 0;
1243
+ margin: calc(0px - var(--slider-space)) 0;
1244
+ margin: calc(1px - 1px - var(--slider-space)) 0;
1284
1245
  -webkit-transform: translate3d(-50%, 0, 0);
1285
1246
  transform: translate3d(-50%, 0, 0); }
1286
1247
  .dnb-slider__line__before {
@@ -1290,7 +1251,8 @@ legend.dnb-form-label {
1290
1251
  right: 0;
1291
1252
  background-color: #ddd; }
1292
1253
  .dnb-slider--vertical .dnb-slider__line__before {
1293
- top: 0; }
1254
+ top: 0;
1255
+ bottom: 0; }
1294
1256
  .dnb-slider--vertical .dnb-slider__line__after {
1295
1257
  bottom: 0; }
1296
1258
  .dnb-slider__button-helper, .dnb-slider__thumb {
@@ -1320,18 +1282,20 @@ legend.dnb-form-label {
1320
1282
  line-height: 1.5rem;
1321
1283
  line-height: var(--slider-button-size);
1322
1284
  -webkit-transform: translateY(0.25rem);
1323
- transform: translateY(0.25rem); }
1285
+ transform: translateY(0.25rem);
1286
+ z-index: 2; }
1324
1287
  .dnb-slider--vertical .dnb-slider__button.dnb-button--size-small {
1325
1288
  -webkit-transform: translateX(0.25rem);
1326
1289
  transform: translateX(0.25rem); }
1327
1290
  .dnb-slider__state--jumped .dnb-slider__thumb,
1328
1291
  .dnb-slider__state--jumped .dnb-slider__line {
1329
- -webkit-transition: width 250ms ease 0ms, height 250ms ease 0ms, left 250ms ease 0ms, top 250ms ease 0ms, -webkit-box-shadow 250ms ease 0ms;
1330
- transition: width 250ms ease 0ms, height 250ms ease 0ms, left 250ms ease 0ms, top 250ms ease 0ms, -webkit-box-shadow 250ms ease 0ms;
1331
- transition: width 250ms ease 0ms, height 250ms ease 0ms, left 250ms ease 0ms, top 250ms ease 0ms, box-shadow 250ms ease 0ms;
1332
- transition: width 250ms ease 0ms, height 250ms ease 0ms, left 250ms ease 0ms, top 250ms ease 0ms, box-shadow 250ms ease 0ms, -webkit-box-shadow 250ms ease 0ms; }
1333
- .dnb-slider__state--disabled.dnb-slider__track,
1334
- .dnb-slider__state--disabled .dnb-slider__thumb {
1292
+ -webkit-transition: left 250ms ease, top 250ms ease, bottom 250ms ease, right 250ms ease, -webkit-box-shadow 250ms ease;
1293
+ transition: left 250ms ease, top 250ms ease, bottom 250ms ease, right 250ms ease, -webkit-box-shadow 250ms ease;
1294
+ transition: left 250ms ease, top 250ms ease, bottom 250ms ease, right 250ms ease, box-shadow 250ms ease;
1295
+ transition: left 250ms ease, top 250ms ease, bottom 250ms ease, right 250ms ease, box-shadow 250ms ease, -webkit-box-shadow 250ms ease; }
1296
+ .dnb-slider__state--disabled .dnb-slider__track,
1297
+ .dnb-slider__state--disabled .dnb-slider__thumb,
1298
+ .dnb-slider__state--disabled .dnb-slider__line {
1335
1299
  cursor: not-allowed; }
1336
1300
  .dnb-slider__button-helper {
1337
1301
  pointer-events: none;