@dnb/eufemia 10.20.0 → 10.22.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 (1062) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/cjs/components/aria-live/useAriaLive.d.ts +1 -1
  3. package/cjs/components/breadcrumb/Breadcrumb.d.ts +2 -2
  4. package/cjs/components/breadcrumb/Breadcrumb.js +3 -3
  5. package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
  6. package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +7 -2
  7. package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  8. package/cjs/components/breadcrumb/style/dnb-breadcrumb.scss +10 -2
  9. package/cjs/components/button/Button.js +2 -2
  10. package/cjs/components/button/Button.js.map +1 -1
  11. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.css +23 -11
  12. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.min.css +3 -3
  13. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.scss +30 -14
  14. package/cjs/components/card/style/dnb-card.css +11 -2
  15. package/cjs/components/card/style/dnb-card.min.css +1 -1
  16. package/cjs/components/card/style/dnb-card.scss +12 -2
  17. package/cjs/components/date-picker/DatePicker.d.ts +10 -1
  18. package/cjs/components/date-picker/DatePicker.js +5 -2
  19. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  20. package/cjs/components/form-label/style/dnb-form-label.css +4 -8
  21. package/cjs/components/form-label/style/dnb-form-label.min.css +1 -1
  22. package/cjs/components/form-label/style/dnb-form-label.scss +5 -8
  23. package/cjs/components/form-status/style/dnb-form-status.css +11 -0
  24. package/cjs/components/form-status/style/dnb-form-status.min.css +1 -1
  25. package/cjs/components/form-status/style/dnb-form-status.scss +11 -0
  26. package/cjs/components/global-status/GlobalStatus.d.ts +1 -1
  27. package/cjs/components/global-status/GlobalStatusProvider.d.ts +1 -1
  28. package/cjs/components/height-animation/HeightAnimationInstance.d.ts +5 -6
  29. package/cjs/components/height-animation/HeightAnimationInstance.js +12 -12
  30. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  31. package/cjs/components/height-animation/useHeightAnimation.js +11 -10
  32. package/cjs/components/height-animation/useHeightAnimation.js.map +1 -1
  33. package/cjs/components/info-card/InfoCard.d.ts +6 -0
  34. package/cjs/components/info-card/InfoCard.js +4 -2
  35. package/cjs/components/info-card/InfoCard.js.map +1 -1
  36. package/cjs/components/info-card/style/dnb-info-card.css +3 -1
  37. package/cjs/components/info-card/style/dnb-info-card.min.css +1 -1
  38. package/cjs/components/info-card/style/dnb-info-card.scss +4 -2
  39. package/cjs/components/input/Input.d.ts +9 -9
  40. package/cjs/components/input/InputDocs.d.ts +2 -0
  41. package/cjs/components/input/InputDocs.js +165 -0
  42. package/cjs/components/input/InputDocs.js.map +1 -0
  43. package/cjs/components/input/InputPassword.d.ts +6 -17
  44. package/cjs/components/input/InputPassword.js +4 -85
  45. package/cjs/components/input/InputPassword.js.map +1 -1
  46. package/cjs/components/input-masked/InputMasked.d.ts +6 -93
  47. package/cjs/components/input-masked/InputMasked.js +3 -1
  48. package/cjs/components/input-masked/InputMasked.js.map +1 -1
  49. package/cjs/components/input-masked/InputMaskedDocs.d.ts +2 -0
  50. package/cjs/components/input-masked/InputMaskedDocs.js +85 -0
  51. package/cjs/components/input-masked/InputMaskedDocs.js.map +1 -0
  52. package/cjs/components/input-masked/InputMaskedHooks.js +7 -4
  53. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  54. package/cjs/components/input-masked/MultiInputMask.js +2 -6
  55. package/cjs/components/input-masked/MultiInputMask.js.map +1 -1
  56. package/cjs/components/input-masked/style/dnb-input-masked.css +3 -0
  57. package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
  58. package/cjs/components/input-masked/style/dnb-input-masked.scss +5 -0
  59. package/cjs/components/number-format/NumberFormat.d.ts +1 -1
  60. package/cjs/components/number-format/NumberUtils.js +22 -14
  61. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  62. package/cjs/components/pagination/InfinityScroller.d.ts +1 -1
  63. package/cjs/components/progress-indicator/ProgressIndicator.js +5 -7
  64. package/cjs/components/progress-indicator/ProgressIndicator.js.map +1 -1
  65. package/cjs/components/progress-indicator/ProgressIndicatorCircular.js +1 -1
  66. package/cjs/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  67. package/cjs/components/progress-indicator/ProgressIndicatorLinear.js +4 -4
  68. package/cjs/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  69. package/cjs/components/progress-indicator/style/dnb-progress-indicator.css +5 -2
  70. package/cjs/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  71. package/cjs/components/progress-indicator/style/dnb-progress-indicator.scss +5 -2
  72. package/cjs/components/slider/Slider.d.ts +1 -0
  73. package/cjs/components/slider/Slider.js +10 -1
  74. package/cjs/components/slider/Slider.js.map +1 -1
  75. package/cjs/components/slider/SliderInstance.js +20 -6
  76. package/cjs/components/slider/SliderInstance.js.map +1 -1
  77. package/cjs/components/slider/SliderMarker.d.ts +7 -0
  78. package/cjs/components/slider/SliderMarker.js +62 -0
  79. package/cjs/components/slider/SliderMarker.js.map +1 -0
  80. package/cjs/components/slider/SliderProvider.js +2 -1
  81. package/cjs/components/slider/SliderProvider.js.map +1 -1
  82. package/cjs/components/slider/style/dnb-slider.css +43 -2
  83. package/cjs/components/slider/style/dnb-slider.min.css +1 -1
  84. package/cjs/components/slider/style/dnb-slider.scss +44 -1
  85. package/cjs/components/slider/style/themes/dnb-slider-theme-sbanken.css +3 -0
  86. package/cjs/components/slider/style/themes/dnb-slider-theme-sbanken.min.css +1 -1
  87. package/cjs/components/slider/style/themes/dnb-slider-theme-sbanken.scss +4 -0
  88. package/cjs/components/slider/style/themes/dnb-slider-theme-ui.css +3 -0
  89. package/cjs/components/slider/style/themes/dnb-slider-theme-ui.min.css +1 -1
  90. package/cjs/components/slider/style/themes/dnb-slider-theme-ui.scss +5 -0
  91. package/cjs/components/slider/types.d.ts +6 -0
  92. package/cjs/components/slider/types.js.map +1 -1
  93. package/cjs/components/space/SpacingHelper.d.ts +5 -5
  94. package/cjs/components/table/Table.js +2 -2
  95. package/cjs/components/table/Table.js.map +1 -1
  96. package/cjs/components/table/TableAccordion.js +42 -58
  97. package/cjs/components/table/TableAccordion.js.map +1 -1
  98. package/cjs/components/table/TableAccordionTd.d.ts +9 -0
  99. package/cjs/components/table/{TableAccordionContent.js → TableAccordionTd.js} +18 -56
  100. package/cjs/components/table/TableAccordionTd.js.map +1 -0
  101. package/cjs/components/table/TableAccordionTr.d.ts +13 -0
  102. package/cjs/components/table/TableAccordionTr.js +61 -0
  103. package/cjs/components/table/TableAccordionTr.js.map +1 -0
  104. package/cjs/components/table/TableContext.d.ts +2 -2
  105. package/cjs/components/table/TableContext.js +4 -3
  106. package/cjs/components/table/TableContext.js.map +1 -1
  107. package/cjs/components/table/TableTd.d.ts +2 -2
  108. package/cjs/components/table/TableTd.js +2 -2
  109. package/cjs/components/table/TableTd.js.map +1 -1
  110. package/cjs/components/table/TableTr.d.ts +6 -1
  111. package/cjs/components/table/TableTr.js +10 -5
  112. package/cjs/components/table/TableTr.js.map +1 -1
  113. package/cjs/components/table/style/dnb-table.css +226 -139
  114. package/cjs/components/table/style/dnb-table.min.css +1 -1
  115. package/cjs/components/table/style/dnb-table.scss +60 -4
  116. package/cjs/components/table/style/table-accordion.scss +83 -98
  117. package/cjs/components/table/style/table-container.scss +9 -9
  118. package/cjs/components/table/style/table-mixins.scss +19 -2
  119. package/cjs/components/table/style/table-td.scss +82 -60
  120. package/cjs/components/table/style/table-th.scss +5 -30
  121. package/cjs/components/table/style/table-tr.scss +0 -20
  122. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.css +34 -7
  123. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.min.css +3 -1
  124. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.scss +29 -10
  125. package/cjs/components/table/style/themes/dnb-table-theme-ui.css +14 -9
  126. package/cjs/components/table/style/themes/dnb-table-theme-ui.min.css +1 -1
  127. package/cjs/components/table/style/themes/dnb-table-theme-ui.scss +12 -22
  128. package/cjs/components/table/useTableAnimationHandler.d.ts +20 -0
  129. package/cjs/components/table/useTableAnimationHandler.js +73 -0
  130. package/cjs/components/table/useTableAnimationHandler.js.map +1 -0
  131. package/cjs/components/textarea/Textarea.d.ts +4 -10
  132. package/cjs/components/textarea/TextareaDocs.d.ts +2 -0
  133. package/cjs/components/textarea/TextareaDocs.js +105 -0
  134. package/cjs/components/textarea/TextareaDocs.js.map +1 -0
  135. package/cjs/components/textarea/style/dnb-textarea.css +1 -0
  136. package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
  137. package/cjs/components/textarea/style/dnb-textarea.scss +3 -0
  138. package/cjs/components/upload/UploadInfo.js +1 -1
  139. package/cjs/components/upload/UploadInfo.js.map +1 -1
  140. package/cjs/core/jest/jestSetupScreenshots.css +7 -0
  141. package/cjs/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +1 -0
  142. package/cjs/elements/lib.d.ts +1 -1
  143. package/cjs/elements/lists/Dl.d.ts +5 -1
  144. package/cjs/elements/lists/Dl.js +5 -4
  145. package/cjs/elements/lists/Dl.js.map +1 -1
  146. package/cjs/elements/lists/style/lists-mixins.scss +24 -1
  147. package/cjs/extensions/forms/DataContext/Context.d.ts +1 -2
  148. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  149. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +1 -2
  150. package/cjs/extensions/forms/DataContext/Provider/Provider.js +54 -40
  151. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  152. package/cjs/extensions/forms/Field/Currency/Currency.js +1 -1
  153. package/cjs/extensions/forms/Field/Currency/Currency.js.map +1 -1
  154. package/cjs/extensions/forms/Field/Expiry/Expiry.js +1 -0
  155. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  156. package/cjs/extensions/forms/Field/FieldDocs.d.ts +3 -0
  157. package/cjs/extensions/forms/Field/FieldDocs.js +18 -0
  158. package/cjs/extensions/forms/Field/FieldDocs.js.map +1 -0
  159. package/cjs/extensions/forms/Field/Number/Number.d.ts +1 -0
  160. package/cjs/extensions/forms/Field/Number/Number.js +13 -7
  161. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  162. package/cjs/extensions/forms/Field/Number/NumberDocs.d.ts +2 -0
  163. package/cjs/extensions/forms/Field/Number/NumberDocs.js +92 -0
  164. package/cjs/extensions/forms/Field/Number/NumberDocs.js.map +1 -0
  165. package/cjs/extensions/forms/Field/Number/style/dnb-number.css +3 -1
  166. package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  167. package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +4 -1
  168. package/cjs/extensions/forms/Field/Password/Password.d.ts +45 -0
  169. package/cjs/extensions/forms/Field/Password/Password.js +111 -0
  170. package/cjs/extensions/forms/Field/Password/Password.js.map +1 -0
  171. package/cjs/extensions/forms/Field/Password/index.d.ts +2 -0
  172. package/cjs/extensions/forms/Field/Password/index.js +27 -0
  173. package/cjs/extensions/forms/Field/Password/index.js.map +1 -0
  174. package/cjs/extensions/forms/Field/Password/style/dnb-password.css +6 -0
  175. package/cjs/extensions/forms/Field/Password/style/dnb-password.min.css +1 -0
  176. package/cjs/extensions/forms/Field/Password/style/dnb-password.scss +10 -0
  177. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +4 -5
  178. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  179. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +0 -12
  180. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  181. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +0 -11
  182. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +0 -1
  183. package/cjs/extensions/forms/Field/Selection/Selection.js +1 -9
  184. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  185. package/cjs/extensions/forms/Field/String/String.d.ts +20 -9
  186. package/cjs/extensions/forms/Field/String/String.js +52 -31
  187. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  188. package/cjs/extensions/forms/Field/String/StringDocs.d.ts +2 -0
  189. package/cjs/extensions/forms/Field/String/StringDocs.js +106 -0
  190. package/cjs/extensions/forms/Field/String/StringDocs.js.map +1 -0
  191. package/cjs/extensions/forms/Field/Toggle/Toggle.js +1 -1
  192. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  193. package/cjs/extensions/forms/Field/index.d.ts +1 -0
  194. package/cjs/extensions/forms/Field/index.js +7 -0
  195. package/cjs/extensions/forms/Field/index.js.map +1 -1
  196. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +8 -3
  197. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +204 -62
  198. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  199. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +39 -6
  200. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  201. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +2 -0
  202. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +60 -0
  203. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -0
  204. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +29 -2
  205. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  206. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +28 -0
  207. package/cjs/extensions/forms/Form/Appearance/Appearance.d.ts +7 -0
  208. package/cjs/extensions/forms/Form/Appearance/Appearance.js +38 -0
  209. package/cjs/extensions/forms/Form/Appearance/Appearance.js.map +1 -0
  210. package/cjs/extensions/forms/Form/Appearance/AppearanceDocs.d.ts +2 -0
  211. package/cjs/extensions/forms/Form/Appearance/AppearanceDocs.js +15 -0
  212. package/cjs/extensions/forms/Form/Appearance/AppearanceDocs.js.map +1 -0
  213. package/cjs/extensions/forms/Form/Appearance/index.d.ts +2 -0
  214. package/cjs/extensions/forms/Form/Appearance/index.js +27 -0
  215. package/cjs/extensions/forms/Form/Appearance/index.js.map +1 -0
  216. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +6 -0
  217. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  218. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +10 -2
  219. package/cjs/extensions/forms/Form/data-context/useData.d.ts +1 -1
  220. package/cjs/extensions/forms/Form/data-context/useData.js +2 -18
  221. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  222. package/cjs/extensions/forms/Form/data-context/useError.d.ts +2 -1
  223. package/cjs/extensions/forms/Form/data-context/useError.js +4 -2
  224. package/cjs/extensions/forms/Form/data-context/useError.js.map +1 -1
  225. package/cjs/extensions/forms/Form/index.d.ts +1 -0
  226. package/cjs/extensions/forms/Form/index.js +7 -0
  227. package/cjs/extensions/forms/Form/index.js.map +1 -1
  228. package/cjs/extensions/forms/Value/Currency/Currency.js +2 -2
  229. package/cjs/extensions/forms/Value/Currency/Currency.js.map +1 -1
  230. package/cjs/extensions/forms/Value/Number/Number.d.ts +2 -2
  231. package/cjs/extensions/forms/Value/Number/Number.js +1 -1
  232. package/cjs/extensions/forms/Value/Number/Number.js.map +1 -1
  233. package/cjs/extensions/forms/Value/SummaryList/SummaryList.d.ts +7 -0
  234. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js +35 -0
  235. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -0
  236. package/cjs/extensions/forms/Value/SummaryList/SummaryListContext.d.ts +7 -0
  237. package/cjs/extensions/forms/Value/SummaryList/SummaryListContext.js +12 -0
  238. package/cjs/extensions/forms/Value/SummaryList/SummaryListContext.js.map +1 -0
  239. package/cjs/extensions/forms/Value/SummaryList/index.d.ts +2 -0
  240. package/cjs/extensions/forms/Value/SummaryList/index.js +27 -0
  241. package/cjs/extensions/forms/Value/SummaryList/index.js.map +1 -0
  242. package/cjs/extensions/forms/Value/ValueDocs.d.ts +2 -0
  243. package/cjs/extensions/forms/Value/ValueDocs.js +40 -0
  244. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -0
  245. package/cjs/extensions/forms/Value/index.d.ts +1 -0
  246. package/cjs/extensions/forms/Value/index.js +7 -0
  247. package/cjs/extensions/forms/Value/index.js.map +1 -1
  248. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +13 -3
  249. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  250. package/cjs/extensions/forms/hooks/DataValueDocs.d.ts +3 -0
  251. package/cjs/extensions/forms/hooks/DataValueDocs.js +118 -0
  252. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -0
  253. package/cjs/extensions/forms/hooks/useDataValue.d.ts +6 -14
  254. package/cjs/extensions/forms/hooks/useDataValue.js +90 -21
  255. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  256. package/cjs/extensions/forms/hooks/useId.js +1 -1
  257. package/cjs/extensions/forms/hooks/useId.js.map +1 -1
  258. package/cjs/extensions/forms/hooks/useMountEffect.js +1 -1
  259. package/cjs/extensions/forms/hooks/useMountEffect.js.map +1 -1
  260. package/cjs/extensions/forms/hooks/useMounted.d.ts +2 -0
  261. package/cjs/extensions/forms/hooks/useMounted.js +19 -0
  262. package/cjs/extensions/forms/hooks/useMounted.js.map +1 -0
  263. package/cjs/extensions/forms/hooks/useUnmountEffect.d.ts +4 -0
  264. package/cjs/extensions/forms/hooks/useUnmountEffect.js +14 -0
  265. package/cjs/extensions/forms/hooks/useUnmountEffect.js.map +1 -0
  266. package/cjs/extensions/forms/style/dnb-forms.css +45 -15
  267. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  268. package/cjs/extensions/forms/types.d.ts +6 -4
  269. package/cjs/extensions/forms/types.js.map +1 -1
  270. package/cjs/extensions/payment-card/utils/CardDesigns.d.ts +96 -96
  271. package/cjs/fragments/drawer-list/DrawerListHelpers.d.ts +52 -52
  272. package/cjs/shared/Context.d.ts +2 -0
  273. package/cjs/shared/Context.js.map +1 -1
  274. package/cjs/shared/Eufemia.d.ts +1 -1
  275. package/cjs/shared/Eufemia.js +2 -2
  276. package/cjs/shared/Eufemia.js.map +1 -1
  277. package/cjs/shared/Theme.d.ts +7 -1
  278. package/cjs/shared/Theme.js +20 -7
  279. package/cjs/shared/Theme.js.map +1 -1
  280. package/cjs/shared/component-helper.d.ts +1 -0
  281. package/cjs/shared/component-helper.js +10 -0
  282. package/cjs/shared/component-helper.js.map +1 -1
  283. package/cjs/shared/helpers/debounce.d.ts +37 -0
  284. package/cjs/shared/helpers/debounce.js +92 -0
  285. package/cjs/shared/helpers/debounce.js.map +1 -0
  286. package/cjs/shared/helpers/filterValidProps.d.ts +2 -2
  287. package/cjs/shared/helpers/filterValidProps.js +2 -2
  288. package/cjs/shared/helpers/filterValidProps.js.map +1 -1
  289. package/cjs/shared/helpers/useSharedState.d.ts +1 -0
  290. package/cjs/shared/helpers/useSharedState.js +52 -20
  291. package/cjs/shared/helpers/useSharedState.js.map +1 -1
  292. package/cjs/shared/helpers/withCamelCaseProps.d.ts +14 -1
  293. package/cjs/shared/helpers/withCamelCaseProps.js.map +1 -1
  294. package/cjs/shared/helpers.d.ts +1 -25
  295. package/cjs/shared/helpers.js +15 -37
  296. package/cjs/shared/helpers.js.map +1 -1
  297. package/cjs/shared/locales/en-GB.d.ts +5 -3
  298. package/cjs/shared/locales/en-GB.js +7 -5
  299. package/cjs/shared/locales/en-GB.js.map +1 -1
  300. package/cjs/shared/locales/en-US.d.ts +5 -3
  301. package/cjs/shared/locales/index.d.ts +10 -6
  302. package/cjs/shared/locales/nb-NO.d.ts +5 -3
  303. package/cjs/shared/locales/nb-NO.js +7 -5
  304. package/cjs/shared/locales/nb-NO.js.map +1 -1
  305. package/cjs/shared/types.d.ts +5 -0
  306. package/cjs/shared/types.js.map +1 -1
  307. package/cjs/shared/useTheme.d.ts +1 -0
  308. package/cjs/style/dnb-ui-components.css +359 -171
  309. package/cjs/style/dnb-ui-components.min.css +3 -3
  310. package/cjs/style/dnb-ui-elements.css +25 -5
  311. package/cjs/style/dnb-ui-elements.min.css +1 -1
  312. package/cjs/style/dnb-ui-extensions.css +45 -15
  313. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  314. package/cjs/style/dnb-ui-forms.css +45 -15
  315. package/cjs/style/dnb-ui-forms.min.css +1 -1
  316. package/cjs/style/dnb-ui-forms.scss +1 -0
  317. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +25 -5
  318. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  319. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +421 -195
  320. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  321. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +25 -5
  322. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  323. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +45 -15
  324. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  325. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +45 -15
  326. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  327. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +26 -5
  328. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  329. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +464 -204
  330. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -6
  331. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +26 -5
  332. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  333. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +45 -15
  334. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  335. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +45 -15
  336. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  337. package/cjs/style/themes/theme-ui/prism/dnb-prism-theme.d.ts +3 -3
  338. package/cjs/style/themes/theme-ui/ui-theme-basis.css +25 -5
  339. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  340. package/cjs/style/themes/theme-ui/ui-theme-components.css +421 -195
  341. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  342. package/cjs/style/themes/theme-ui/ui-theme-elements.css +25 -5
  343. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  344. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +45 -15
  345. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  346. package/cjs/style/themes/theme-ui/ui-theme-forms.css +45 -15
  347. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  348. package/cjs/style/themes/theme-ui/ui-theme-tags.css +25 -5
  349. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  350. package/components/aria-live/useAriaLive.d.ts +1 -1
  351. package/components/breadcrumb/Breadcrumb.d.ts +2 -2
  352. package/components/breadcrumb/Breadcrumb.js +3 -3
  353. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  354. package/components/breadcrumb/style/dnb-breadcrumb.css +7 -2
  355. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  356. package/components/breadcrumb/style/dnb-breadcrumb.scss +10 -2
  357. package/components/button/Button.js +2 -2
  358. package/components/button/Button.js.map +1 -1
  359. package/components/button/style/themes/dnb-button-theme-sbanken.css +23 -11
  360. package/components/button/style/themes/dnb-button-theme-sbanken.min.css +3 -3
  361. package/components/button/style/themes/dnb-button-theme-sbanken.scss +30 -14
  362. package/components/card/style/dnb-card.css +11 -2
  363. package/components/card/style/dnb-card.min.css +1 -1
  364. package/components/card/style/dnb-card.scss +12 -2
  365. package/components/date-picker/DatePicker.d.ts +10 -1
  366. package/components/date-picker/DatePicker.js +5 -2
  367. package/components/date-picker/DatePicker.js.map +1 -1
  368. package/components/form-label/style/dnb-form-label.css +4 -8
  369. package/components/form-label/style/dnb-form-label.min.css +1 -1
  370. package/components/form-label/style/dnb-form-label.scss +5 -8
  371. package/components/form-status/style/dnb-form-status.css +11 -0
  372. package/components/form-status/style/dnb-form-status.min.css +1 -1
  373. package/components/form-status/style/dnb-form-status.scss +11 -0
  374. package/components/global-status/GlobalStatus.d.ts +1 -1
  375. package/components/global-status/GlobalStatusProvider.d.ts +1 -1
  376. package/components/height-animation/HeightAnimationInstance.d.ts +5 -6
  377. package/components/height-animation/HeightAnimationInstance.js +12 -12
  378. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  379. package/components/height-animation/useHeightAnimation.js +11 -10
  380. package/components/height-animation/useHeightAnimation.js.map +1 -1
  381. package/components/info-card/InfoCard.d.ts +6 -0
  382. package/components/info-card/InfoCard.js +4 -2
  383. package/components/info-card/InfoCard.js.map +1 -1
  384. package/components/info-card/style/dnb-info-card.css +3 -1
  385. package/components/info-card/style/dnb-info-card.min.css +1 -1
  386. package/components/info-card/style/dnb-info-card.scss +4 -2
  387. package/components/input/Input.d.ts +9 -9
  388. package/components/input/InputDocs.d.ts +2 -0
  389. package/components/input/InputDocs.js +158 -0
  390. package/components/input/InputDocs.js.map +1 -0
  391. package/components/input/InputPassword.d.ts +6 -17
  392. package/components/input/InputPassword.js +3 -81
  393. package/components/input/InputPassword.js.map +1 -1
  394. package/components/input-masked/InputMasked.d.ts +6 -93
  395. package/components/input-masked/InputMasked.js +3 -1
  396. package/components/input-masked/InputMasked.js.map +1 -1
  397. package/components/input-masked/InputMaskedDocs.d.ts +2 -0
  398. package/components/input-masked/InputMaskedDocs.js +78 -0
  399. package/components/input-masked/InputMaskedDocs.js.map +1 -0
  400. package/components/input-masked/InputMaskedHooks.js +7 -4
  401. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  402. package/components/input-masked/MultiInputMask.js +2 -6
  403. package/components/input-masked/MultiInputMask.js.map +1 -1
  404. package/components/input-masked/style/dnb-input-masked.css +3 -0
  405. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  406. package/components/input-masked/style/dnb-input-masked.scss +5 -0
  407. package/components/number-format/NumberFormat.d.ts +1 -1
  408. package/components/number-format/NumberUtils.js +22 -14
  409. package/components/number-format/NumberUtils.js.map +1 -1
  410. package/components/pagination/InfinityScroller.d.ts +1 -1
  411. package/components/progress-indicator/ProgressIndicator.js +5 -7
  412. package/components/progress-indicator/ProgressIndicator.js.map +1 -1
  413. package/components/progress-indicator/ProgressIndicatorCircular.js +1 -1
  414. package/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  415. package/components/progress-indicator/ProgressIndicatorLinear.js +4 -4
  416. package/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  417. package/components/progress-indicator/style/dnb-progress-indicator.css +5 -2
  418. package/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  419. package/components/progress-indicator/style/dnb-progress-indicator.scss +5 -2
  420. package/components/slider/Slider.d.ts +1 -0
  421. package/components/slider/Slider.js +1 -0
  422. package/components/slider/Slider.js.map +1 -1
  423. package/components/slider/SliderInstance.js +18 -5
  424. package/components/slider/SliderInstance.js.map +1 -1
  425. package/components/slider/SliderMarker.d.ts +7 -0
  426. package/components/slider/SliderMarker.js +53 -0
  427. package/components/slider/SliderMarker.js.map +1 -0
  428. package/components/slider/SliderProvider.js +2 -1
  429. package/components/slider/SliderProvider.js.map +1 -1
  430. package/components/slider/style/dnb-slider.css +43 -2
  431. package/components/slider/style/dnb-slider.min.css +1 -1
  432. package/components/slider/style/dnb-slider.scss +44 -1
  433. package/components/slider/style/themes/dnb-slider-theme-sbanken.css +3 -0
  434. package/components/slider/style/themes/dnb-slider-theme-sbanken.min.css +1 -1
  435. package/components/slider/style/themes/dnb-slider-theme-sbanken.scss +4 -0
  436. package/components/slider/style/themes/dnb-slider-theme-ui.css +3 -0
  437. package/components/slider/style/themes/dnb-slider-theme-ui.min.css +1 -1
  438. package/components/slider/style/themes/dnb-slider-theme-ui.scss +5 -0
  439. package/components/slider/types.d.ts +6 -0
  440. package/components/slider/types.js.map +1 -1
  441. package/components/space/SpacingHelper.d.ts +5 -5
  442. package/components/table/Table.js +1 -1
  443. package/components/table/Table.js.map +1 -1
  444. package/components/table/TableAccordion.js +40 -54
  445. package/components/table/TableAccordion.js.map +1 -1
  446. package/components/table/TableAccordionTd.d.ts +9 -0
  447. package/{es/components/table/TableAccordionContent.js → components/table/TableAccordionTd.js} +16 -50
  448. package/components/table/TableAccordionTd.js.map +1 -0
  449. package/components/table/TableAccordionTr.d.ts +13 -0
  450. package/components/table/TableAccordionTr.js +51 -0
  451. package/components/table/TableAccordionTr.js.map +1 -0
  452. package/components/table/TableContext.d.ts +2 -2
  453. package/components/table/TableContext.js +2 -2
  454. package/components/table/TableContext.js.map +1 -1
  455. package/components/table/TableTd.d.ts +2 -2
  456. package/components/table/TableTd.js +2 -2
  457. package/components/table/TableTd.js.map +1 -1
  458. package/components/table/TableTr.d.ts +6 -1
  459. package/components/table/TableTr.js +9 -4
  460. package/components/table/TableTr.js.map +1 -1
  461. package/components/table/style/dnb-table.css +226 -139
  462. package/components/table/style/dnb-table.min.css +1 -1
  463. package/components/table/style/dnb-table.scss +60 -4
  464. package/components/table/style/table-accordion.scss +83 -98
  465. package/components/table/style/table-container.scss +9 -9
  466. package/components/table/style/table-mixins.scss +19 -2
  467. package/components/table/style/table-td.scss +82 -60
  468. package/components/table/style/table-th.scss +5 -30
  469. package/components/table/style/table-tr.scss +0 -20
  470. package/components/table/style/themes/dnb-table-theme-sbanken.css +34 -7
  471. package/components/table/style/themes/dnb-table-theme-sbanken.min.css +3 -1
  472. package/components/table/style/themes/dnb-table-theme-sbanken.scss +29 -10
  473. package/components/table/style/themes/dnb-table-theme-ui.css +14 -9
  474. package/components/table/style/themes/dnb-table-theme-ui.min.css +1 -1
  475. package/components/table/style/themes/dnb-table-theme-ui.scss +12 -22
  476. package/components/table/useTableAnimationHandler.d.ts +20 -0
  477. package/components/table/useTableAnimationHandler.js +63 -0
  478. package/components/table/useTableAnimationHandler.js.map +1 -0
  479. package/components/textarea/Textarea.d.ts +4 -10
  480. package/components/textarea/TextareaDocs.d.ts +2 -0
  481. package/components/textarea/TextareaDocs.js +98 -0
  482. package/components/textarea/TextareaDocs.js.map +1 -0
  483. package/components/textarea/style/dnb-textarea.css +1 -0
  484. package/components/textarea/style/dnb-textarea.min.css +1 -1
  485. package/components/textarea/style/dnb-textarea.scss +3 -0
  486. package/components/upload/UploadInfo.js +1 -1
  487. package/components/upload/UploadInfo.js.map +1 -1
  488. package/core/jest/jestSetupScreenshots.css +7 -0
  489. package/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +1 -0
  490. package/elements/lib.d.ts +1 -1
  491. package/elements/lists/Dl.d.ts +5 -1
  492. package/elements/lists/Dl.js +5 -4
  493. package/elements/lists/Dl.js.map +1 -1
  494. package/elements/lists/style/lists-mixins.scss +24 -1
  495. package/es/components/aria-live/useAriaLive.d.ts +1 -1
  496. package/es/components/breadcrumb/Breadcrumb.d.ts +2 -2
  497. package/es/components/breadcrumb/Breadcrumb.js +3 -3
  498. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  499. package/es/components/breadcrumb/style/dnb-breadcrumb.css +7 -2
  500. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  501. package/es/components/breadcrumb/style/dnb-breadcrumb.scss +10 -2
  502. package/es/components/button/Button.js +2 -2
  503. package/es/components/button/Button.js.map +1 -1
  504. package/es/components/button/style/themes/dnb-button-theme-sbanken.css +23 -11
  505. package/es/components/button/style/themes/dnb-button-theme-sbanken.min.css +3 -3
  506. package/es/components/button/style/themes/dnb-button-theme-sbanken.scss +30 -14
  507. package/es/components/card/style/dnb-card.css +11 -2
  508. package/es/components/card/style/dnb-card.min.css +1 -1
  509. package/es/components/card/style/dnb-card.scss +12 -2
  510. package/es/components/date-picker/DatePicker.d.ts +10 -1
  511. package/es/components/date-picker/DatePicker.js +5 -2
  512. package/es/components/date-picker/DatePicker.js.map +1 -1
  513. package/es/components/form-label/style/dnb-form-label.css +4 -8
  514. package/es/components/form-label/style/dnb-form-label.min.css +1 -1
  515. package/es/components/form-label/style/dnb-form-label.scss +5 -8
  516. package/es/components/form-status/style/dnb-form-status.css +11 -0
  517. package/es/components/form-status/style/dnb-form-status.min.css +1 -1
  518. package/es/components/form-status/style/dnb-form-status.scss +11 -0
  519. package/es/components/global-status/GlobalStatus.d.ts +1 -1
  520. package/es/components/global-status/GlobalStatusProvider.d.ts +1 -1
  521. package/es/components/height-animation/HeightAnimationInstance.d.ts +5 -6
  522. package/es/components/height-animation/HeightAnimationInstance.js +12 -12
  523. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  524. package/es/components/height-animation/useHeightAnimation.js +11 -10
  525. package/es/components/height-animation/useHeightAnimation.js.map +1 -1
  526. package/es/components/info-card/InfoCard.d.ts +6 -0
  527. package/es/components/info-card/InfoCard.js +4 -2
  528. package/es/components/info-card/InfoCard.js.map +1 -1
  529. package/es/components/info-card/style/dnb-info-card.css +3 -1
  530. package/es/components/info-card/style/dnb-info-card.min.css +1 -1
  531. package/es/components/info-card/style/dnb-info-card.scss +4 -2
  532. package/es/components/input/Input.d.ts +9 -9
  533. package/es/components/input/InputDocs.d.ts +2 -0
  534. package/es/components/input/InputDocs.js +158 -0
  535. package/es/components/input/InputDocs.js.map +1 -0
  536. package/es/components/input/InputPassword.d.ts +6 -17
  537. package/es/components/input/InputPassword.js +3 -81
  538. package/es/components/input/InputPassword.js.map +1 -1
  539. package/es/components/input-masked/InputMasked.d.ts +6 -93
  540. package/es/components/input-masked/InputMasked.js +3 -1
  541. package/es/components/input-masked/InputMasked.js.map +1 -1
  542. package/es/components/input-masked/InputMaskedDocs.d.ts +2 -0
  543. package/es/components/input-masked/InputMaskedDocs.js +78 -0
  544. package/es/components/input-masked/InputMaskedDocs.js.map +1 -0
  545. package/es/components/input-masked/InputMaskedHooks.js +7 -4
  546. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  547. package/es/components/input-masked/MultiInputMask.js +2 -6
  548. package/es/components/input-masked/MultiInputMask.js.map +1 -1
  549. package/es/components/input-masked/style/dnb-input-masked.css +3 -0
  550. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  551. package/es/components/input-masked/style/dnb-input-masked.scss +5 -0
  552. package/es/components/number-format/NumberFormat.d.ts +1 -1
  553. package/es/components/number-format/NumberUtils.js +23 -14
  554. package/es/components/number-format/NumberUtils.js.map +1 -1
  555. package/es/components/pagination/InfinityScroller.d.ts +1 -1
  556. package/es/components/progress-indicator/ProgressIndicator.js +5 -7
  557. package/es/components/progress-indicator/ProgressIndicator.js.map +1 -1
  558. package/es/components/progress-indicator/ProgressIndicatorCircular.js +1 -1
  559. package/es/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  560. package/es/components/progress-indicator/ProgressIndicatorLinear.js +4 -4
  561. package/es/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  562. package/es/components/progress-indicator/style/dnb-progress-indicator.css +5 -2
  563. package/es/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  564. package/es/components/progress-indicator/style/dnb-progress-indicator.scss +5 -2
  565. package/es/components/slider/Slider.d.ts +1 -0
  566. package/es/components/slider/Slider.js +1 -0
  567. package/es/components/slider/Slider.js.map +1 -1
  568. package/es/components/slider/SliderInstance.js +17 -5
  569. package/es/components/slider/SliderInstance.js.map +1 -1
  570. package/es/components/slider/SliderMarker.d.ts +7 -0
  571. package/es/components/slider/SliderMarker.js +52 -0
  572. package/es/components/slider/SliderMarker.js.map +1 -0
  573. package/es/components/slider/SliderProvider.js +2 -1
  574. package/es/components/slider/SliderProvider.js.map +1 -1
  575. package/es/components/slider/style/dnb-slider.css +43 -2
  576. package/es/components/slider/style/dnb-slider.min.css +1 -1
  577. package/es/components/slider/style/dnb-slider.scss +44 -1
  578. package/es/components/slider/style/themes/dnb-slider-theme-sbanken.css +3 -0
  579. package/es/components/slider/style/themes/dnb-slider-theme-sbanken.min.css +1 -1
  580. package/es/components/slider/style/themes/dnb-slider-theme-sbanken.scss +4 -0
  581. package/es/components/slider/style/themes/dnb-slider-theme-ui.css +3 -0
  582. package/es/components/slider/style/themes/dnb-slider-theme-ui.min.css +1 -1
  583. package/es/components/slider/style/themes/dnb-slider-theme-ui.scss +5 -0
  584. package/es/components/slider/types.d.ts +6 -0
  585. package/es/components/slider/types.js.map +1 -1
  586. package/es/components/space/SpacingHelper.d.ts +5 -5
  587. package/es/components/table/Table.js +1 -1
  588. package/es/components/table/Table.js.map +1 -1
  589. package/es/components/table/TableAccordion.js +40 -55
  590. package/es/components/table/TableAccordion.js.map +1 -1
  591. package/es/components/table/TableAccordionTd.d.ts +9 -0
  592. package/{components/table/TableAccordionContent.js → es/components/table/TableAccordionTd.js} +16 -51
  593. package/es/components/table/TableAccordionTd.js.map +1 -0
  594. package/es/components/table/TableAccordionTr.d.ts +13 -0
  595. package/es/components/table/TableAccordionTr.js +51 -0
  596. package/es/components/table/TableAccordionTr.js.map +1 -0
  597. package/es/components/table/TableContext.d.ts +2 -2
  598. package/es/components/table/TableContext.js +2 -2
  599. package/es/components/table/TableContext.js.map +1 -1
  600. package/es/components/table/TableTd.d.ts +2 -2
  601. package/es/components/table/TableTd.js +2 -2
  602. package/es/components/table/TableTd.js.map +1 -1
  603. package/es/components/table/TableTr.d.ts +6 -1
  604. package/es/components/table/TableTr.js +9 -4
  605. package/es/components/table/TableTr.js.map +1 -1
  606. package/es/components/table/style/dnb-table.css +226 -139
  607. package/es/components/table/style/dnb-table.min.css +1 -1
  608. package/es/components/table/style/dnb-table.scss +60 -4
  609. package/es/components/table/style/table-accordion.scss +83 -98
  610. package/es/components/table/style/table-container.scss +9 -9
  611. package/es/components/table/style/table-mixins.scss +19 -2
  612. package/es/components/table/style/table-td.scss +82 -60
  613. package/es/components/table/style/table-th.scss +5 -30
  614. package/es/components/table/style/table-tr.scss +0 -20
  615. package/es/components/table/style/themes/dnb-table-theme-sbanken.css +34 -7
  616. package/es/components/table/style/themes/dnb-table-theme-sbanken.min.css +3 -1
  617. package/es/components/table/style/themes/dnb-table-theme-sbanken.scss +29 -10
  618. package/es/components/table/style/themes/dnb-table-theme-ui.css +14 -9
  619. package/es/components/table/style/themes/dnb-table-theme-ui.min.css +1 -1
  620. package/es/components/table/style/themes/dnb-table-theme-ui.scss +12 -22
  621. package/es/components/table/useTableAnimationHandler.d.ts +20 -0
  622. package/es/components/table/useTableAnimationHandler.js +62 -0
  623. package/es/components/table/useTableAnimationHandler.js.map +1 -0
  624. package/es/components/textarea/Textarea.d.ts +4 -10
  625. package/es/components/textarea/TextareaDocs.d.ts +2 -0
  626. package/es/components/textarea/TextareaDocs.js +98 -0
  627. package/es/components/textarea/TextareaDocs.js.map +1 -0
  628. package/es/components/textarea/style/dnb-textarea.css +1 -0
  629. package/es/components/textarea/style/dnb-textarea.min.css +1 -1
  630. package/es/components/textarea/style/dnb-textarea.scss +3 -0
  631. package/es/components/upload/UploadInfo.js +1 -1
  632. package/es/components/upload/UploadInfo.js.map +1 -1
  633. package/es/core/jest/jestSetupScreenshots.css +7 -0
  634. package/es/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +1 -0
  635. package/es/elements/lib.d.ts +1 -1
  636. package/es/elements/lists/Dl.d.ts +5 -1
  637. package/es/elements/lists/Dl.js +5 -4
  638. package/es/elements/lists/Dl.js.map +1 -1
  639. package/es/elements/lists/style/lists-mixins.scss +24 -1
  640. package/es/extensions/forms/DataContext/Context.d.ts +1 -2
  641. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  642. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +1 -2
  643. package/es/extensions/forms/DataContext/Provider/Provider.js +54 -40
  644. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  645. package/es/extensions/forms/Field/Currency/Currency.js +1 -1
  646. package/es/extensions/forms/Field/Currency/Currency.js.map +1 -1
  647. package/es/extensions/forms/Field/Expiry/Expiry.js +1 -0
  648. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  649. package/es/extensions/forms/Field/FieldDocs.d.ts +3 -0
  650. package/es/extensions/forms/Field/FieldDocs.js +8 -0
  651. package/es/extensions/forms/Field/FieldDocs.js.map +1 -0
  652. package/es/extensions/forms/Field/Number/Number.d.ts +1 -0
  653. package/es/extensions/forms/Field/Number/Number.js +13 -7
  654. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  655. package/es/extensions/forms/Field/Number/NumberDocs.d.ts +2 -0
  656. package/es/extensions/forms/Field/Number/NumberDocs.js +85 -0
  657. package/es/extensions/forms/Field/Number/NumberDocs.js.map +1 -0
  658. package/es/extensions/forms/Field/Number/style/dnb-number.css +3 -1
  659. package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  660. package/es/extensions/forms/Field/Number/style/dnb-number.scss +4 -1
  661. package/es/extensions/forms/Field/Password/Password.d.ts +45 -0
  662. package/es/extensions/forms/Field/Password/Password.js +99 -0
  663. package/es/extensions/forms/Field/Password/Password.js.map +1 -0
  664. package/es/extensions/forms/Field/Password/index.d.ts +2 -0
  665. package/es/extensions/forms/Field/Password/index.js +3 -0
  666. package/es/extensions/forms/Field/Password/index.js.map +1 -0
  667. package/es/extensions/forms/Field/Password/style/dnb-password.css +6 -0
  668. package/es/extensions/forms/Field/Password/style/dnb-password.min.css +1 -0
  669. package/es/extensions/forms/Field/Password/style/dnb-password.scss +10 -0
  670. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +4 -5
  671. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  672. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +0 -12
  673. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  674. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +0 -11
  675. package/es/extensions/forms/Field/Selection/Selection.d.ts +0 -1
  676. package/es/extensions/forms/Field/Selection/Selection.js +2 -11
  677. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  678. package/es/extensions/forms/Field/String/String.d.ts +20 -9
  679. package/es/extensions/forms/Field/String/String.js +52 -31
  680. package/es/extensions/forms/Field/String/String.js.map +1 -1
  681. package/es/extensions/forms/Field/String/StringDocs.d.ts +2 -0
  682. package/es/extensions/forms/Field/String/StringDocs.js +99 -0
  683. package/es/extensions/forms/Field/String/StringDocs.js.map +1 -0
  684. package/es/extensions/forms/Field/Toggle/Toggle.js +1 -1
  685. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  686. package/es/extensions/forms/Field/index.d.ts +1 -0
  687. package/es/extensions/forms/Field/index.js +1 -0
  688. package/es/extensions/forms/Field/index.js.map +1 -1
  689. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +8 -3
  690. package/es/extensions/forms/FieldBlock/FieldBlock.js +195 -58
  691. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  692. package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +39 -6
  693. package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  694. package/es/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +2 -0
  695. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +53 -0
  696. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -0
  697. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +29 -2
  698. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  699. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +28 -0
  700. package/es/extensions/forms/Form/Appearance/Appearance.d.ts +7 -0
  701. package/es/extensions/forms/Form/Appearance/Appearance.js +30 -0
  702. package/es/extensions/forms/Form/Appearance/Appearance.js.map +1 -0
  703. package/es/extensions/forms/Form/Appearance/AppearanceDocs.d.ts +2 -0
  704. package/es/extensions/forms/Form/Appearance/AppearanceDocs.js +8 -0
  705. package/es/extensions/forms/Form/Appearance/AppearanceDocs.js.map +1 -0
  706. package/es/extensions/forms/Form/Appearance/index.d.ts +2 -0
  707. package/es/extensions/forms/Form/Appearance/index.js +3 -0
  708. package/es/extensions/forms/Form/Appearance/index.js.map +1 -0
  709. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +6 -0
  710. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  711. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +10 -2
  712. package/es/extensions/forms/Form/data-context/useData.d.ts +1 -1
  713. package/es/extensions/forms/Form/data-context/useData.js +3 -19
  714. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  715. package/es/extensions/forms/Form/data-context/useError.d.ts +2 -1
  716. package/es/extensions/forms/Form/data-context/useError.js +4 -2
  717. package/es/extensions/forms/Form/data-context/useError.js.map +1 -1
  718. package/es/extensions/forms/Form/index.d.ts +1 -0
  719. package/es/extensions/forms/Form/index.js +1 -0
  720. package/es/extensions/forms/Form/index.js.map +1 -1
  721. package/es/extensions/forms/Value/Currency/Currency.js +2 -2
  722. package/es/extensions/forms/Value/Currency/Currency.js.map +1 -1
  723. package/es/extensions/forms/Value/Number/Number.d.ts +2 -2
  724. package/es/extensions/forms/Value/Number/Number.js +1 -1
  725. package/es/extensions/forms/Value/Number/Number.js.map +1 -1
  726. package/es/extensions/forms/Value/SummaryList/SummaryList.d.ts +7 -0
  727. package/es/extensions/forms/Value/SummaryList/SummaryList.js +26 -0
  728. package/es/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -0
  729. package/es/extensions/forms/Value/SummaryList/SummaryListContext.d.ts +7 -0
  730. package/es/extensions/forms/Value/SummaryList/SummaryListContext.js +4 -0
  731. package/es/extensions/forms/Value/SummaryList/SummaryListContext.js.map +1 -0
  732. package/es/extensions/forms/Value/SummaryList/index.d.ts +2 -0
  733. package/es/extensions/forms/Value/SummaryList/index.js +3 -0
  734. package/es/extensions/forms/Value/SummaryList/index.js.map +1 -0
  735. package/es/extensions/forms/Value/ValueDocs.d.ts +2 -0
  736. package/es/extensions/forms/Value/ValueDocs.js +33 -0
  737. package/es/extensions/forms/Value/ValueDocs.js.map +1 -0
  738. package/es/extensions/forms/Value/index.d.ts +1 -0
  739. package/es/extensions/forms/Value/index.js +1 -0
  740. package/es/extensions/forms/Value/index.js.map +1 -1
  741. package/es/extensions/forms/ValueBlock/ValueBlock.js +12 -4
  742. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  743. package/es/extensions/forms/hooks/DataValueDocs.d.ts +3 -0
  744. package/es/extensions/forms/hooks/DataValueDocs.js +110 -0
  745. package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -0
  746. package/es/extensions/forms/hooks/useDataValue.d.ts +6 -14
  747. package/es/extensions/forms/hooks/useDataValue.js +92 -23
  748. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  749. package/es/extensions/forms/hooks/useId.js +1 -1
  750. package/es/extensions/forms/hooks/useId.js.map +1 -1
  751. package/es/extensions/forms/hooks/useMountEffect.js +1 -1
  752. package/es/extensions/forms/hooks/useMountEffect.js.map +1 -1
  753. package/es/extensions/forms/hooks/useMounted.d.ts +2 -0
  754. package/es/extensions/forms/hooks/useMounted.js +14 -0
  755. package/es/extensions/forms/hooks/useMounted.js.map +1 -0
  756. package/es/extensions/forms/hooks/useUnmountEffect.d.ts +4 -0
  757. package/es/extensions/forms/hooks/useUnmountEffect.js +9 -0
  758. package/es/extensions/forms/hooks/useUnmountEffect.js.map +1 -0
  759. package/es/extensions/forms/style/dnb-forms.css +45 -15
  760. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  761. package/es/extensions/forms/types.d.ts +6 -4
  762. package/es/extensions/forms/types.js.map +1 -1
  763. package/es/extensions/payment-card/utils/CardDesigns.d.ts +96 -96
  764. package/es/fragments/drawer-list/DrawerListHelpers.d.ts +52 -52
  765. package/es/shared/Context.d.ts +2 -0
  766. package/es/shared/Context.js.map +1 -1
  767. package/es/shared/Eufemia.d.ts +1 -1
  768. package/es/shared/Eufemia.js +2 -2
  769. package/es/shared/Eufemia.js.map +1 -1
  770. package/es/shared/Theme.d.ts +7 -1
  771. package/es/shared/Theme.js +20 -7
  772. package/es/shared/Theme.js.map +1 -1
  773. package/es/shared/component-helper.d.ts +1 -0
  774. package/es/shared/component-helper.js +6 -0
  775. package/es/shared/component-helper.js.map +1 -1
  776. package/es/shared/helpers/debounce.d.ts +37 -0
  777. package/es/shared/helpers/debounce.js +76 -0
  778. package/es/shared/helpers/debounce.js.map +1 -0
  779. package/es/shared/helpers/filterValidProps.d.ts +2 -2
  780. package/es/shared/helpers/filterValidProps.js +2 -2
  781. package/es/shared/helpers/filterValidProps.js.map +1 -1
  782. package/es/shared/helpers/useSharedState.d.ts +1 -0
  783. package/es/shared/helpers/useSharedState.js +49 -20
  784. package/es/shared/helpers/useSharedState.js.map +1 -1
  785. package/es/shared/helpers/withCamelCaseProps.d.ts +14 -1
  786. package/es/shared/helpers/withCamelCaseProps.js.map +1 -1
  787. package/es/shared/helpers.d.ts +1 -25
  788. package/es/shared/helpers.js +1 -29
  789. package/es/shared/helpers.js.map +1 -1
  790. package/es/shared/locales/en-GB.d.ts +5 -3
  791. package/es/shared/locales/en-GB.js +7 -5
  792. package/es/shared/locales/en-GB.js.map +1 -1
  793. package/es/shared/locales/en-US.d.ts +5 -3
  794. package/es/shared/locales/index.d.ts +10 -6
  795. package/es/shared/locales/nb-NO.d.ts +5 -3
  796. package/es/shared/locales/nb-NO.js +7 -5
  797. package/es/shared/locales/nb-NO.js.map +1 -1
  798. package/es/shared/types.d.ts +5 -0
  799. package/es/shared/types.js.map +1 -1
  800. package/es/shared/useTheme.d.ts +1 -0
  801. package/es/style/dnb-ui-components.css +359 -171
  802. package/es/style/dnb-ui-components.min.css +3 -3
  803. package/es/style/dnb-ui-elements.css +25 -5
  804. package/es/style/dnb-ui-elements.min.css +1 -1
  805. package/es/style/dnb-ui-extensions.css +45 -15
  806. package/es/style/dnb-ui-extensions.min.css +1 -1
  807. package/es/style/dnb-ui-forms.css +45 -15
  808. package/es/style/dnb-ui-forms.min.css +1 -1
  809. package/es/style/dnb-ui-forms.scss +1 -0
  810. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +25 -5
  811. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  812. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +421 -195
  813. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  814. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +25 -5
  815. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  816. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +45 -15
  817. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  818. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +45 -15
  819. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  820. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +26 -5
  821. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  822. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +464 -204
  823. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -6
  824. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +26 -5
  825. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  826. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +45 -15
  827. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  828. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +45 -15
  829. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  830. package/es/style/themes/theme-ui/prism/dnb-prism-theme.d.ts +3 -3
  831. package/es/style/themes/theme-ui/ui-theme-basis.css +25 -5
  832. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  833. package/es/style/themes/theme-ui/ui-theme-components.css +421 -195
  834. package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  835. package/es/style/themes/theme-ui/ui-theme-elements.css +25 -5
  836. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  837. package/es/style/themes/theme-ui/ui-theme-extensions.css +45 -15
  838. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  839. package/es/style/themes/theme-ui/ui-theme-forms.css +45 -15
  840. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  841. package/es/style/themes/theme-ui/ui-theme-tags.css +25 -5
  842. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  843. package/esm/dnb-ui-basis.min.mjs +1 -1
  844. package/esm/dnb-ui-components.min.mjs +1 -1
  845. package/esm/dnb-ui-elements.min.mjs +1 -1
  846. package/esm/dnb-ui-extensions.min.mjs +3 -3
  847. package/esm/dnb-ui-lib.min.mjs +1 -1
  848. package/extensions/forms/DataContext/Context.d.ts +1 -2
  849. package/extensions/forms/DataContext/Context.js.map +1 -1
  850. package/extensions/forms/DataContext/Provider/Provider.d.ts +1 -2
  851. package/extensions/forms/DataContext/Provider/Provider.js +54 -40
  852. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  853. package/extensions/forms/Field/Currency/Currency.js +1 -1
  854. package/extensions/forms/Field/Currency/Currency.js.map +1 -1
  855. package/extensions/forms/Field/Expiry/Expiry.js +1 -0
  856. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  857. package/extensions/forms/Field/FieldDocs.d.ts +3 -0
  858. package/extensions/forms/Field/FieldDocs.js +8 -0
  859. package/extensions/forms/Field/FieldDocs.js.map +1 -0
  860. package/extensions/forms/Field/Number/Number.d.ts +1 -0
  861. package/extensions/forms/Field/Number/Number.js +13 -7
  862. package/extensions/forms/Field/Number/Number.js.map +1 -1
  863. package/extensions/forms/Field/Number/NumberDocs.d.ts +2 -0
  864. package/extensions/forms/Field/Number/NumberDocs.js +85 -0
  865. package/extensions/forms/Field/Number/NumberDocs.js.map +1 -0
  866. package/extensions/forms/Field/Number/style/dnb-number.css +3 -1
  867. package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  868. package/extensions/forms/Field/Number/style/dnb-number.scss +4 -1
  869. package/extensions/forms/Field/Password/Password.d.ts +45 -0
  870. package/extensions/forms/Field/Password/Password.js +99 -0
  871. package/extensions/forms/Field/Password/Password.js.map +1 -0
  872. package/extensions/forms/Field/Password/index.d.ts +2 -0
  873. package/extensions/forms/Field/Password/index.js +3 -0
  874. package/extensions/forms/Field/Password/index.js.map +1 -0
  875. package/extensions/forms/Field/Password/style/dnb-password.css +6 -0
  876. package/extensions/forms/Field/Password/style/dnb-password.min.css +1 -0
  877. package/extensions/forms/Field/Password/style/dnb-password.scss +10 -0
  878. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +4 -5
  879. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  880. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +0 -12
  881. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  882. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +0 -11
  883. package/extensions/forms/Field/Selection/Selection.d.ts +0 -1
  884. package/extensions/forms/Field/Selection/Selection.js +2 -11
  885. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  886. package/extensions/forms/Field/String/String.d.ts +20 -9
  887. package/extensions/forms/Field/String/String.js +52 -31
  888. package/extensions/forms/Field/String/String.js.map +1 -1
  889. package/extensions/forms/Field/String/StringDocs.d.ts +2 -0
  890. package/extensions/forms/Field/String/StringDocs.js +99 -0
  891. package/extensions/forms/Field/String/StringDocs.js.map +1 -0
  892. package/extensions/forms/Field/Toggle/Toggle.js +1 -1
  893. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  894. package/extensions/forms/Field/index.d.ts +1 -0
  895. package/extensions/forms/Field/index.js +1 -0
  896. package/extensions/forms/Field/index.js.map +1 -1
  897. package/extensions/forms/FieldBlock/FieldBlock.d.ts +8 -3
  898. package/extensions/forms/FieldBlock/FieldBlock.js +203 -64
  899. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  900. package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +39 -6
  901. package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  902. package/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +2 -0
  903. package/extensions/forms/FieldBlock/FieldBlockDocs.js +53 -0
  904. package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -0
  905. package/extensions/forms/FieldBlock/style/dnb-field-block.css +29 -2
  906. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  907. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +28 -0
  908. package/extensions/forms/Form/Appearance/Appearance.d.ts +7 -0
  909. package/extensions/forms/Form/Appearance/Appearance.js +30 -0
  910. package/extensions/forms/Form/Appearance/Appearance.js.map +1 -0
  911. package/extensions/forms/Form/Appearance/AppearanceDocs.d.ts +2 -0
  912. package/extensions/forms/Form/Appearance/AppearanceDocs.js +8 -0
  913. package/extensions/forms/Form/Appearance/AppearanceDocs.js.map +1 -0
  914. package/extensions/forms/Form/Appearance/index.d.ts +2 -0
  915. package/extensions/forms/Form/Appearance/index.js +3 -0
  916. package/extensions/forms/Form/Appearance/index.js.map +1 -0
  917. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +6 -0
  918. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  919. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.scss +10 -2
  920. package/extensions/forms/Form/data-context/useData.d.ts +1 -1
  921. package/extensions/forms/Form/data-context/useData.js +3 -19
  922. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  923. package/extensions/forms/Form/data-context/useError.d.ts +2 -1
  924. package/extensions/forms/Form/data-context/useError.js +4 -2
  925. package/extensions/forms/Form/data-context/useError.js.map +1 -1
  926. package/extensions/forms/Form/index.d.ts +1 -0
  927. package/extensions/forms/Form/index.js +1 -0
  928. package/extensions/forms/Form/index.js.map +1 -1
  929. package/extensions/forms/Value/Currency/Currency.js +2 -2
  930. package/extensions/forms/Value/Currency/Currency.js.map +1 -1
  931. package/extensions/forms/Value/Number/Number.d.ts +2 -2
  932. package/extensions/forms/Value/Number/Number.js +1 -1
  933. package/extensions/forms/Value/Number/Number.js.map +1 -1
  934. package/extensions/forms/Value/SummaryList/SummaryList.d.ts +7 -0
  935. package/extensions/forms/Value/SummaryList/SummaryList.js +26 -0
  936. package/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -0
  937. package/extensions/forms/Value/SummaryList/SummaryListContext.d.ts +7 -0
  938. package/extensions/forms/Value/SummaryList/SummaryListContext.js +4 -0
  939. package/extensions/forms/Value/SummaryList/SummaryListContext.js.map +1 -0
  940. package/extensions/forms/Value/SummaryList/index.d.ts +2 -0
  941. package/extensions/forms/Value/SummaryList/index.js +3 -0
  942. package/extensions/forms/Value/SummaryList/index.js.map +1 -0
  943. package/extensions/forms/Value/ValueDocs.d.ts +2 -0
  944. package/extensions/forms/Value/ValueDocs.js +33 -0
  945. package/extensions/forms/Value/ValueDocs.js.map +1 -0
  946. package/extensions/forms/Value/index.d.ts +1 -0
  947. package/extensions/forms/Value/index.js +1 -0
  948. package/extensions/forms/Value/index.js.map +1 -1
  949. package/extensions/forms/ValueBlock/ValueBlock.js +12 -4
  950. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  951. package/extensions/forms/hooks/DataValueDocs.d.ts +3 -0
  952. package/extensions/forms/hooks/DataValueDocs.js +110 -0
  953. package/extensions/forms/hooks/DataValueDocs.js.map +1 -0
  954. package/extensions/forms/hooks/useDataValue.d.ts +6 -14
  955. package/extensions/forms/hooks/useDataValue.js +92 -23
  956. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  957. package/extensions/forms/hooks/useId.js +1 -1
  958. package/extensions/forms/hooks/useId.js.map +1 -1
  959. package/extensions/forms/hooks/useMountEffect.js +1 -1
  960. package/extensions/forms/hooks/useMountEffect.js.map +1 -1
  961. package/extensions/forms/hooks/useMounted.d.ts +2 -0
  962. package/extensions/forms/hooks/useMounted.js +14 -0
  963. package/extensions/forms/hooks/useMounted.js.map +1 -0
  964. package/extensions/forms/hooks/useUnmountEffect.d.ts +4 -0
  965. package/extensions/forms/hooks/useUnmountEffect.js +9 -0
  966. package/extensions/forms/hooks/useUnmountEffect.js.map +1 -0
  967. package/extensions/forms/style/dnb-forms.css +45 -15
  968. package/extensions/forms/style/dnb-forms.min.css +1 -1
  969. package/extensions/forms/types.d.ts +6 -4
  970. package/extensions/forms/types.js.map +1 -1
  971. package/extensions/payment-card/utils/CardDesigns.d.ts +96 -96
  972. package/fragments/drawer-list/DrawerListHelpers.d.ts +52 -52
  973. package/package.json +1 -1
  974. package/shared/Context.d.ts +2 -0
  975. package/shared/Context.js.map +1 -1
  976. package/shared/Eufemia.d.ts +1 -1
  977. package/shared/Eufemia.js +2 -2
  978. package/shared/Eufemia.js.map +1 -1
  979. package/shared/Theme.d.ts +7 -1
  980. package/shared/Theme.js +20 -7
  981. package/shared/Theme.js.map +1 -1
  982. package/shared/component-helper.d.ts +1 -0
  983. package/shared/component-helper.js +9 -0
  984. package/shared/component-helper.js.map +1 -1
  985. package/shared/helpers/debounce.d.ts +37 -0
  986. package/shared/helpers/debounce.js +83 -0
  987. package/shared/helpers/debounce.js.map +1 -0
  988. package/shared/helpers/filterValidProps.d.ts +2 -2
  989. package/shared/helpers/filterValidProps.js +2 -2
  990. package/shared/helpers/filterValidProps.js.map +1 -1
  991. package/shared/helpers/useSharedState.d.ts +1 -0
  992. package/shared/helpers/useSharedState.js +49 -20
  993. package/shared/helpers/useSharedState.js.map +1 -1
  994. package/shared/helpers/withCamelCaseProps.d.ts +14 -1
  995. package/shared/helpers/withCamelCaseProps.js.map +1 -1
  996. package/shared/helpers.d.ts +1 -25
  997. package/shared/helpers.js +3 -36
  998. package/shared/helpers.js.map +1 -1
  999. package/shared/locales/en-GB.d.ts +5 -3
  1000. package/shared/locales/en-GB.js +7 -5
  1001. package/shared/locales/en-GB.js.map +1 -1
  1002. package/shared/locales/en-US.d.ts +5 -3
  1003. package/shared/locales/index.d.ts +10 -6
  1004. package/shared/locales/nb-NO.d.ts +5 -3
  1005. package/shared/locales/nb-NO.js +7 -5
  1006. package/shared/locales/nb-NO.js.map +1 -1
  1007. package/shared/types.d.ts +5 -0
  1008. package/shared/types.js.map +1 -1
  1009. package/shared/useTheme.d.ts +1 -0
  1010. package/style/dnb-ui-components.css +359 -171
  1011. package/style/dnb-ui-components.min.css +3 -3
  1012. package/style/dnb-ui-elements.css +25 -5
  1013. package/style/dnb-ui-elements.min.css +1 -1
  1014. package/style/dnb-ui-extensions.css +45 -15
  1015. package/style/dnb-ui-extensions.min.css +1 -1
  1016. package/style/dnb-ui-forms.css +45 -15
  1017. package/style/dnb-ui-forms.min.css +1 -1
  1018. package/style/dnb-ui-forms.scss +1 -0
  1019. package/style/themes/theme-eiendom/eiendom-theme-basis.css +25 -5
  1020. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  1021. package/style/themes/theme-eiendom/eiendom-theme-components.css +421 -195
  1022. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  1023. package/style/themes/theme-eiendom/eiendom-theme-elements.css +25 -5
  1024. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  1025. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +45 -15
  1026. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  1027. package/style/themes/theme-eiendom/eiendom-theme-forms.css +45 -15
  1028. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  1029. package/style/themes/theme-sbanken/sbanken-theme-basis.css +26 -5
  1030. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  1031. package/style/themes/theme-sbanken/sbanken-theme-components.css +464 -204
  1032. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -6
  1033. package/style/themes/theme-sbanken/sbanken-theme-elements.css +26 -5
  1034. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  1035. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +45 -15
  1036. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  1037. package/style/themes/theme-sbanken/sbanken-theme-forms.css +45 -15
  1038. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  1039. package/style/themes/theme-ui/prism/dnb-prism-theme.d.ts +3 -3
  1040. package/style/themes/theme-ui/ui-theme-basis.css +25 -5
  1041. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  1042. package/style/themes/theme-ui/ui-theme-components.css +421 -195
  1043. package/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  1044. package/style/themes/theme-ui/ui-theme-elements.css +25 -5
  1045. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  1046. package/style/themes/theme-ui/ui-theme-extensions.css +45 -15
  1047. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  1048. package/style/themes/theme-ui/ui-theme-forms.css +45 -15
  1049. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  1050. package/style/themes/theme-ui/ui-theme-tags.css +25 -5
  1051. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  1052. package/umd/dnb-ui-basis.min.js +1 -1
  1053. package/umd/dnb-ui-components.min.js +1 -1
  1054. package/umd/dnb-ui-elements.min.js +1 -1
  1055. package/umd/dnb-ui-extensions.min.js +3 -3
  1056. package/umd/dnb-ui-lib.min.js +1 -1
  1057. package/cjs/components/table/TableAccordionContent.d.ts +0 -18
  1058. package/cjs/components/table/TableAccordionContent.js.map +0 -1
  1059. package/components/table/TableAccordionContent.d.ts +0 -18
  1060. package/components/table/TableAccordionContent.js.map +0 -1
  1061. package/es/components/table/TableAccordionContent.d.ts +0 -18
  1062. package/es/components/table/TableAccordionContent.js.map +0 -1
@@ -1 +1 @@
1
- .dnb-progress-indicator{--progress-indicator-timing:cubic-bezier(0.5,0,0.5,0.99);--progress-indicator-circular-circle:88;--progress-indicator-circular-circle-offset--min:88;--progress-indicator-circular-circle-offset--max:1;--progress-indicator-circular-background-color:grey;--progress-indicator-circular-bar-color:var(--color-black);--progress-indicator-linear-background-color:grey;--progress-indicator-linear-bar-color:var(--color-black);align-items:center;display:inline-flex;position:relative}.dnb-progress-indicator--vertical{flex-direction:column}.dnb-progress-indicator--horizontal{justify-content:center}.dnb-progress-indicator__label{display:inline-flex}.dnb-progress-indicator__label .dnb-p{align-self:center}.dnb-spacing .dnb-progress-indicator .dnb-p,.dnb-spacing .dnb-progress-indicator .dnb-p:not([class*=dnb-space]){margin:0}.dnb-progress-indicator--horizontal .dnb-progress-indicator__label{margin:0 1rem}.dnb-progress-indicator--vertical .dnb-progress-indicator__label{margin-top:.5rem}.dnb-progress-indicator__circular{height:2rem;position:relative;transform:rotate(-90deg);width:2rem}.dnb-progress-indicator__circular svg{height:100%;inset:0;position:absolute;width:100%}.dnb-progress-indicator__circular__line{animation-delay:.2s;animation-duration:2s;animation-iteration-count:infinite;animation-timing-function:var(--progress-indicator-timing)}.dnb-progress-indicator__circular__line.background,.dnb-progress-indicator__circular__line.light{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}.dnb-progress-indicator__circular__line.light{animation-name:progress-indicator-circular-line-light}.dnb-progress-indicator__circular__line.dark,.dnb-progress-indicator__circular__line.light{stroke-dasharray:var(--progress-indicator-circular-circle),var(--progress-indicator-circular-circle)}.dnb-progress-indicator__circular__line.dark{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min);animation-name:progress-indicator-circular-line-dark}.dnb-progress-indicator__circular__line.paused{animation-play-state:paused}.dnb-progress-indicator__circular--has-progress-value .dnb-progress-indicator__circular__line.dark{transition:stroke-dashoffset .6s var(--progress-indicator-timing)}.dnb-progress-indicator__circular__circle{stroke-linecap:round}.dnb-progress-indicator__circular__line.light .dnb-progress-indicator__circular__circle{stroke:var(--progress-indicator-circular-background-color)}.dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke:var(--progress-indicator-circular-bar-color)}.dnb-progress-indicator__circular--small{height:1rem;width:1rem}.dnb-progress-indicator__circular--medium{height:1.5rem;width:1.5rem}.dnb-progress-indicator__circular--large{height:3.5rem;width:3.5rem}.dnb-progress-indicator__circular--huge{height:20rem;width:20rem}.dnb-progress-indicator__circular--small .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.1}.dnb-progress-indicator__circular--medium .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.3}.dnb-progress-indicator__circular--default .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.5}.dnb-progress-indicator__circular--large .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.7}.dnb-progress-indicator__circular--huge .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.9}.dnb-progress-indicator__linear{background-color:var(--progress-indicator-linear-background-color);border-radius:.25rem;height:.5rem;overflow:hidden;position:relative;width:100%;will-change:transform}.dnb-progress-indicator__linear__bar{background-color:var(--progress-indicator-linear-bar-color);border-radius:inherit;bottom:0;left:0;position:absolute;top:0;transform-origin:left;width:100%}.dnb-progress-indicator__linear__bar-transition{transition:transform .2s linear}.dnb-progress-indicator__linear__bar1-animation{animation:progress-indicator-linear-bar-1 2.1s cubic-bezier(.65,.815,.735,.395) infinite;width:auto}.dnb-progress-indicator__linear__bar2-animation{animation:progress-indicator-linear-bar-2 2.1s cubic-bezier(.165,.84,.44,1) 1.15s infinite;width:auto}.dnb-progress-indicator__linear--small{border-radius:.125rem;height:.25rem}.dnb-progress-indicator__linear--medium{border-radius:.5rem;height:1rem}.dnb-progress-indicator__linear--large{border-radius:.75rem;height:1.5rem}.dnb-progress-indicator__linear--huge{border-radius:1rem;height:2rem}html[data-visual-test] .dnb-progress-indicator__linear__bar1-animation{animation-duration:0ms;animation-iteration-count:0;left:-35%;right:100%}html[data-visual-test] .dnb-progress-indicator__linear__bar2-animation{animation-duration:0ms;animation-iteration-count:0;left:-200%;right:100%}.dnb-progress-indicator,.dnb-progress-indicator--visible{animation:progress-indicator-fade-in .2s ease-out 1 forwards;opacity:0}.dnb-progress-indicator--complete:not(.dnb-progress-indicator--visible){animation:progress-indicator-fade-out .6s ease-out 1 forwards}html[data-visual-test] .dnb-progress-indicator{animation-duration:0ms;opacity:1}.dnb-progress-indicator--no-animation{animation-duration:0ms}html[data-visual-test] .dnb-progress-indicator__bar-transition{transition:none}.dnb-progress-indicator--full-width{min-width:1rem;width:100%}@keyframes progress-indicator-fade-in{0%{opacity:0}to{opacity:1}}@keyframes progress-indicator-fade-out{0%{opacity:1}to{opacity:0}}@keyframes progress-indicator-circular-line-light{0%{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}50%{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}to{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}}@keyframes progress-indicator-circular-line-dark{0%{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}50%{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}to{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}}@keyframes progress-indicator-linear-bar-1{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes progress-indicator-linear-bar-2{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}
1
+ .dnb-progress-indicator{--progress-indicator-timing:cubic-bezier(0.5,0,0.5,0.99);--progress-indicator-circular-circle:88;--progress-indicator-circular-circle-offset--min:88;--progress-indicator-circular-circle-offset--max:1;--progress-indicator-circular-background-color:grey;--progress-indicator-circular-bar-color:var(--color-black);--progress-indicator-linear-background-color:grey;--progress-indicator-linear-bar-color:var(--color-black);align-items:center;display:inline-flex;position:relative}.dnb-progress-indicator--vertical{flex-direction:column}.dnb-progress-indicator--horizontal{justify-content:center}.dnb-progress-indicator__label{display:inline-flex}.dnb-progress-indicator__label .dnb-p{align-self:center}.dnb-spacing .dnb-progress-indicator .dnb-p,.dnb-spacing .dnb-progress-indicator .dnb-p:not([class*=dnb-space]){margin:0}.dnb-progress-indicator--horizontal .dnb-progress-indicator__label{padding-left:1rem}.dnb-progress-indicator--horizontal.dnb-progress-indicator--small .dnb-progress-indicator__label{padding-left:.5rem}.dnb-progress-indicator--vertical .dnb-progress-indicator__label{padding-top:.5rem}.dnb-progress-indicator__circular{height:2rem;position:relative;transform:rotate(-90deg);width:2rem}.dnb-progress-indicator__circular svg{height:100%;inset:0;position:absolute;width:100%}.dnb-progress-indicator__circular__line{animation-delay:.2s;animation-duration:2s;animation-iteration-count:infinite;animation-timing-function:var(--progress-indicator-timing)}.dnb-progress-indicator__circular__line.background,.dnb-progress-indicator__circular__line.light{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}.dnb-progress-indicator__circular__line.light{animation-name:progress-indicator-circular-line-light}.dnb-progress-indicator__circular__line.dark,.dnb-progress-indicator__circular__line.light{stroke-dasharray:var(--progress-indicator-circular-circle),var(--progress-indicator-circular-circle)}.dnb-progress-indicator__circular__line.dark{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min);animation-name:progress-indicator-circular-line-dark}.dnb-progress-indicator__circular__line.paused{animation-play-state:paused}.dnb-progress-indicator__circular--has-progress-value .dnb-progress-indicator__circular__line.dark{transition:stroke-dashoffset .6s var(--progress-indicator-timing)}.dnb-progress-indicator__circular__circle{stroke-linecap:round}.dnb-progress-indicator__circular__line.light .dnb-progress-indicator__circular__circle{stroke:var(--progress-indicator-circular-background-color)}.dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke:var(--progress-indicator-circular-bar-color)}.dnb-progress-indicator__circular--small{height:1rem;width:1rem}.dnb-progress-indicator__circular--medium{height:1.5rem;width:1.5rem}.dnb-progress-indicator__circular--large{height:3.5rem;width:3.5rem}.dnb-progress-indicator__circular--huge{height:20rem;width:20rem}.dnb-progress-indicator__circular--small .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.1}.dnb-progress-indicator__circular--medium .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.3}.dnb-progress-indicator__circular--default .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.5}.dnb-progress-indicator__circular--large .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.7}.dnb-progress-indicator__circular--huge .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.9}.dnb-progress-indicator__linear{background-color:var(--progress-indicator-linear-background-color);border-radius:.25rem;height:.5rem;overflow:hidden;position:relative;width:100%;will-change:transform}.dnb-progress-indicator__linear__bar{background-color:var(--progress-indicator-linear-bar-color);border-radius:inherit;bottom:0;left:0;position:absolute;top:0;transform-origin:left;width:100%}.dnb-progress-indicator__linear__bar-transition{transition:transform .2s linear}.dnb-progress-indicator__linear__bar1-animation{animation:progress-indicator-linear-bar-1 2.1s cubic-bezier(.65,.815,.735,.395) infinite;width:auto}.dnb-progress-indicator__linear__bar2-animation{animation:progress-indicator-linear-bar-2 2.1s cubic-bezier(.165,.84,.44,1) 1.15s infinite;width:auto}.dnb-progress-indicator__linear--small{border-radius:.125rem;height:.25rem}.dnb-progress-indicator__linear--medium{border-radius:.5rem;height:1rem}.dnb-progress-indicator__linear--large{border-radius:.75rem;height:1.5rem}.dnb-progress-indicator__linear--huge{border-radius:1rem;height:2rem}html[data-visual-test] .dnb-progress-indicator__linear__bar1-animation{animation-duration:0ms;animation-iteration-count:0;left:-35%;right:100%}html[data-visual-test] .dnb-progress-indicator__linear__bar2-animation{animation-duration:0ms;animation-iteration-count:0;left:-200%;right:100%}.dnb-progress-indicator,.dnb-progress-indicator--visible{animation:progress-indicator-fade-in .2s ease-out 1 forwards;opacity:0}.dnb-progress-indicator--complete:not(.dnb-progress-indicator--visible){animation:progress-indicator-fade-out .6s ease-out 1 forwards}html[data-visual-test] .dnb-progress-indicator{animation-duration:0ms;opacity:1}.dnb-progress-indicator--no-animation{animation-duration:0ms}html[data-visual-test] .dnb-progress-indicator__bar-transition{transition:none}.dnb-progress-indicator--full-width{min-width:1rem;width:100%}@keyframes progress-indicator-fade-in{0%{opacity:0}to{opacity:1}}@keyframes progress-indicator-fade-out{0%{opacity:1}to{opacity:0}}@keyframes progress-indicator-circular-line-light{0%{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}50%{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}to{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}}@keyframes progress-indicator-circular-line-dark{0%{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}50%{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}to{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}}@keyframes progress-indicator-linear-bar-1{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes progress-indicator-linear-bar-2{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}
@@ -44,11 +44,14 @@
44
44
  }
45
45
 
46
46
  &--horizontal &__label {
47
- margin: 0 1rem;
47
+ padding-left: 1rem;
48
+ }
49
+ &--horizontal#{&}--small &__label {
50
+ padding-left: 0.5rem;
48
51
  }
49
52
 
50
53
  &--vertical &__label {
51
- margin-top: 0.5rem;
54
+ padding-top: 0.5rem;
52
55
  }
53
56
 
54
57
  // circular variant
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import type { SliderAllProps } from './types';
6
6
  export * from './types';
7
+ export { default as SliderMarker } from './SliderMarker';
7
8
  declare function Slider(localProps: SliderAllProps): import("react/jsx-runtime").JSX.Element;
8
9
  declare namespace Slider {
9
10
  var _formElement: boolean;
@@ -3,6 +3,7 @@ import React from 'react';
3
3
  import { SliderProvider } from './SliderProvider';
4
4
  import { SliderInstance } from './SliderInstance';
5
5
  export * from './types';
6
+ export { default as SliderMarker } from './SliderMarker';
6
7
  function Slider(localProps) {
7
8
  return React.createElement(SliderProvider, localProps, _SliderInstance || (_SliderInstance = React.createElement(SliderInstance, null)));
8
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.js","names":["React","SliderProvider","SliderInstance","Slider","localProps","createElement","_SliderInstance","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/slider/Slider.tsx"],"sourcesContent":["/**\n * Web Slider Component\n *\n */\n\nimport React from 'react'\n\nimport { SliderProvider } from './SliderProvider'\nimport { SliderInstance } from './SliderInstance'\n\nimport type { SliderAllProps } from './types'\n\nexport * from './types'\n\nfunction Slider(localProps: SliderAllProps) {\n return (\n <SliderProvider {...localProps}>\n <SliderInstance />\n </SliderProvider>\n )\n}\n\nSlider._formElement = true\nSlider._supportsSpacingProps = true\n\nexport default Slider\n"],"mappings":";AAKA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,cAAc,QAAQ,kBAAkB;AAIjD,cAAc,SAAS;AAEvB,SAASC,MAAMA,CAACC,UAA0B,EAAE;EAC1C,OACEJ,KAAA,CAAAK,aAAA,CAACJ,cAAc,EAAKG,UAAU,EAAAE,eAAA,KAAAA,eAAA,GAC5BN,KAAA,CAAAK,aAAA,CAACH,cAAc,MAAE,CAAC,CACJ,CAAC;AAErB;AAEAC,MAAM,CAACI,YAAY,GAAG,IAAI;AAC1BJ,MAAM,CAACK,qBAAqB,GAAG,IAAI;AAEnC,eAAeL,MAAM"}
1
+ {"version":3,"file":"Slider.js","names":["React","SliderProvider","SliderInstance","default","SliderMarker","Slider","localProps","createElement","_SliderInstance","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/slider/Slider.tsx"],"sourcesContent":["/**\n * Web Slider Component\n *\n */\n\nimport React from 'react'\n\nimport { SliderProvider } from './SliderProvider'\nimport { SliderInstance } from './SliderInstance'\n\nimport type { SliderAllProps } from './types'\n\nexport * from './types'\n\n// Export the extensions\nexport { default as SliderMarker } from './SliderMarker'\n\nfunction Slider(localProps: SliderAllProps) {\n return (\n <SliderProvider {...localProps}>\n <SliderInstance />\n </SliderProvider>\n )\n}\n\nSlider._formElement = true\nSlider._supportsSpacingProps = true\n\nexport default Slider\n"],"mappings":";AAKA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,cAAc,QAAQ,kBAAkB;AAIjD,cAAc,SAAS;AAGvB,SAASC,OAAO,IAAIC,YAAY,QAAQ,gBAAgB;AAExD,SAASC,MAAMA,CAACC,UAA0B,EAAE;EAC1C,OACEN,KAAA,CAAAO,aAAA,CAACN,cAAc,EAAKK,UAAU,EAAAE,eAAA,KAAAA,eAAA,GAC5BR,KAAA,CAAAO,aAAA,CAACL,cAAc,MAAE,CAAC,CACJ,CAAC;AAErB;AAEAG,MAAM,CAACI,YAAY,GAAG,IAAI;AAC1BJ,MAAM,CAACK,qBAAqB,GAAG,IAAI;AAEnC,eAAeL,MAAM"}
@@ -1,7 +1,9 @@
1
1
  "use client";
2
2
 
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
4
  import _extends from "@babel/runtime/helpers/esm/extends";
4
- var _SubtractButton, _AddButton, _AlignmentHelper, _SliderMainTrack, _SliderSuffix;
5
+ const _excluded = ["instance"];
6
+ var _SubtractButton, _AddButton, _AlignmentHelper, _SliderThumb, _SliderTrackBefore, _SliderTrackAfter, _SliderSuffix;
5
7
  import React from 'react';
6
8
  import classnames from 'classnames';
7
9
  import { isTrue } from '../../shared/component-helper';
@@ -40,7 +42,8 @@ export function SliderInstance() {
40
42
  stretch,
41
43
  skeleton,
42
44
  disabled,
43
- className
45
+ className,
46
+ extensions
44
47
  } = allProps;
45
48
  const mainParams = {
46
49
  className: classnames("dnb-slider dnb-form-component", createSkeletonClass(null, skeleton), createSpacingClasses(allProps), className, isVertical && 'dnb-slider--vertical', disabled && 'dnb-slider__state--disabled', shouldAnimate && 'dnb-slider__state--animate', !showButtons && 'dnb-slider--no-buttons', isTrue(stretch) && 'dnb-slider--stretch', label && labelDirection && `dnb-slider__label--${labelDirection}`, showStatus && 'dnb-slider__form-status', status && `dnb-slider__status--${statusState}`)
@@ -53,8 +56,8 @@ export function SliderInstance() {
53
56
  text: label,
54
57
  disabled: disabled,
55
58
  skeleton: skeleton,
56
- label_direction: labelDirection,
57
- sr_only: labelSrOnly
59
+ labelDirection: labelDirection,
60
+ srOnly: labelSrOnly
58
61
  }), React.createElement("span", {
59
62
  className: "dnb-slider__wrapper"
60
63
  }, _AlignmentHelper || (_AlignmentHelper = React.createElement(AlignmentHelper, null)), React.createElement(FormStatus, _extends({
@@ -68,7 +71,17 @@ export function SliderInstance() {
68
71
  skeleton: skeleton
69
72
  }, statusProps)), React.createElement("span", {
70
73
  className: "dnb-slider__inner"
71
- }, showButtons && (isReverse ? addButton : subtractButton), _SliderMainTrack || (_SliderMainTrack = React.createElement(SliderMainTrack, null, React.createElement(SliderThumb, null), React.createElement(SliderTrackBefore, null), React.createElement(SliderTrackAfter, null))), showButtons && (isReverse ? subtractButton : addButton), _SliderSuffix || (_SliderSuffix = React.createElement(SliderSuffix, null)))));
74
+ }, showButtons && (isReverse ? addButton : subtractButton), React.createElement(SliderMainTrack, null, extensions && Object.entries(extensions).map(_ref2 => {
75
+ let [key, _ref] = _ref2;
76
+ let {
77
+ instance
78
+ } = _ref,
79
+ options = _objectWithoutProperties(_ref, _excluded);
80
+ const Element = instance;
81
+ return React.createElement(Element, _extends({
82
+ key: key
83
+ }, options));
84
+ }), _SliderThumb || (_SliderThumb = React.createElement(SliderThumb, null)), _SliderTrackBefore || (_SliderTrackBefore = React.createElement(SliderTrackBefore, null)), _SliderTrackAfter || (_SliderTrackAfter = React.createElement(SliderTrackAfter, null))), showButtons && (isReverse ? subtractButton : addButton), _SliderSuffix || (_SliderSuffix = React.createElement(SliderSuffix, null)))));
72
85
  }
73
86
  function SliderSuffix() {
74
87
  const {
@@ -1 +1 @@
1
- {"version":3,"file":"SliderInstance.js","names":["React","classnames","isTrue","AlignmentHelper","createSpacingClasses","createSkeletonClass","skeletonDOMAttributes","Context","Suffix","Button","FormLabel","FormStatus","SliderMainTrack","SliderTrackBefore","SliderTrackAfter","SliderThumb","useSliderProps","clamp","getFormattedNumber","SliderInstance","context","useContext","isReverse","isVertical","showButtons","showStatus","shouldAnimate","allProps","id","label","labelSrOnly","labelDirection","status","statusProps","statusState","statusNoAnimation","globalStatus","stretch","skeleton","disabled","className","mainParams","subtractButton","_SubtractButton","createElement","SubtractButton","addButton","_AddButton","AddButton","text","label_direction","sr_only","_AlignmentHelper","_extends","show","text_id","state","no_animation","_SliderMainTrack","_SliderSuffix","SliderSuffix","suffix","emitChange","value","attributes","step","min","max","subtractTitle","numberFormat","onSubtractClickHandler","event","subtractParams","humanNumber","variant","icon","size","replace","aria","String","on_click","addTitle","onAddClickHandler","addParams"],"sources":["../../../../src/components/slider/SliderInstance.tsx"],"sourcesContent":["/**\n * Web Slider Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport { isTrue } from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport {\n createSkeletonClass,\n skeletonDOMAttributes,\n} from '../skeleton/SkeletonHelper'\n\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport Button from '../button/Button'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\n\nimport {\n SliderMainTrack,\n SliderTrackBefore,\n SliderTrackAfter,\n} from './SliderTrack'\nimport { SliderThumb } from './SliderThumb'\nimport { useSliderProps } from './hooks/useSliderProps'\nimport { clamp, getFormattedNumber } from './SliderHelpers'\n\nexport function SliderInstance() {\n const context = React.useContext(Context)\n\n const {\n isReverse,\n isVertical,\n showButtons,\n showStatus,\n shouldAnimate,\n allProps,\n } = useSliderProps()\n\n const {\n id,\n label,\n labelSrOnly,\n labelDirection,\n status,\n statusProps,\n statusState,\n statusNoAnimation,\n globalStatus,\n stretch,\n skeleton,\n disabled,\n className,\n } = allProps\n\n const mainParams = {\n className: classnames(\n 'dnb-slider',\n isVertical && 'dnb-slider--vertical',\n disabled && 'dnb-slider__state--disabled',\n shouldAnimate && 'dnb-slider__state--animate',\n !showButtons && 'dnb-slider--no-buttons',\n isTrue(stretch) && 'dnb-slider--stretch',\n label && labelDirection && `dnb-slider__label--${labelDirection}`,\n showStatus && 'dnb-slider__form-status',\n status && `dnb-slider__status--${statusState}`,\n 'dnb-form-component',\n createSkeletonClass(null, skeleton),\n createSpacingClasses(allProps),\n className\n ),\n }\n\n const subtractButton = showButtons ? <SubtractButton /> : null\n const addButton = showButtons ? <AddButton /> : null\n\n skeletonDOMAttributes(mainParams, skeleton, context)\n\n return (\n <span {...mainParams}>\n {label && (\n // do not use \"for_id\" as the ID element is not a fo\n <FormLabel\n id={id + '-label'}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n label_direction={labelDirection}\n sr_only={labelSrOnly}\n />\n )}\n\n <span className=\"dnb-slider__wrapper\">\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={statusState}\n no_animation={statusNoAnimation}\n skeleton={skeleton}\n {...statusProps}\n />\n\n <span className=\"dnb-slider__inner\">\n {showButtons && (isReverse ? addButton : subtractButton)}\n\n <SliderMainTrack>\n <SliderThumb />\n <SliderTrackBefore />\n <SliderTrackAfter />\n </SliderMainTrack>\n\n {showButtons && (isReverse ? subtractButton : addButton)}\n\n <SliderSuffix />\n </span>\n </span>\n </span>\n )\n}\n\nfunction SliderSuffix() {\n const { allProps } = useSliderProps()\n const { id, suffix } = allProps\n\n return suffix ? (\n <Suffix\n className=\"dnb-slider__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={allProps}\n >\n {suffix}\n </Suffix>\n ) : null\n}\n\nfunction SubtractButton() {\n const { emitChange, value, attributes, allProps } = useSliderProps()\n const {\n step,\n min,\n max,\n disabled,\n skeleton,\n subtractTitle,\n numberFormat,\n } = allProps\n\n const onSubtractClickHandler = (event: MouseEvent | TouchEvent) => {\n emitChange(event, clamp((value as number) - (step || 1), min, max))\n }\n\n const subtractParams = {}\n\n if (typeof attributes['aria-hidden'] !== 'undefined') {\n subtractParams['aria-hidden'] = attributes['aria-hidden']\n }\n\n const humanNumber = getFormattedNumber(value as number, numberFormat)\n\n return (\n <Button\n className=\"dnb-slider__button dnb-slider__button--subtract\"\n variant=\"secondary\"\n icon=\"subtract\"\n size=\"small\"\n aria-label={subtractTitle?.replace(\n '%s',\n humanNumber.aria || String(value)\n )}\n on_click={onSubtractClickHandler}\n disabled={disabled}\n skeleton={skeleton}\n {...subtractParams}\n />\n )\n}\n\nfunction AddButton() {\n const { emitChange, value, attributes, allProps } = useSliderProps()\n const { step, min, max, disabled, skeleton, addTitle, numberFormat } =\n allProps\n\n const onAddClickHandler = (event: MouseEvent | TouchEvent) => {\n emitChange(event, clamp((value as number) + (step || 1), min, max))\n }\n\n const addParams = {}\n\n if (typeof attributes['aria-hidden'] !== 'undefined') {\n addParams['aria-hidden'] = attributes['aria-hidden']\n }\n\n const humanNumber = getFormattedNumber(value as number, numberFormat)\n\n return (\n <Button\n className=\"dnb-slider__button dnb-slider__button--add\"\n variant=\"secondary\"\n icon=\"add\"\n size=\"small\"\n aria-label={addTitle?.replace(\n '%s',\n humanNumber.aria || String(value)\n )}\n on_click={onAddClickHandler}\n disabled={disabled}\n skeleton={skeleton}\n {...addParams}\n />\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"SliderInstance.js","names":["React","classnames","isTrue","AlignmentHelper","createSpacingClasses","createSkeletonClass","skeletonDOMAttributes","Context","Suffix","Button","FormLabel","FormStatus","SliderMainTrack","SliderTrackBefore","SliderTrackAfter","SliderThumb","useSliderProps","clamp","getFormattedNumber","SliderInstance","context","useContext","isReverse","isVertical","showButtons","showStatus","shouldAnimate","allProps","id","label","labelSrOnly","labelDirection","status","statusProps","statusState","statusNoAnimation","globalStatus","stretch","skeleton","disabled","className","extensions","mainParams","subtractButton","_SubtractButton","createElement","SubtractButton","addButton","_AddButton","AddButton","text","srOnly","_AlignmentHelper","_extends","show","text_id","state","no_animation","Object","entries","map","_ref2","key","_ref","instance","options","_objectWithoutProperties","_excluded","Element","_SliderThumb","_SliderTrackBefore","_SliderTrackAfter","_SliderSuffix","SliderSuffix","suffix","emitChange","value","attributes","step","min","max","subtractTitle","numberFormat","onSubtractClickHandler","event","subtractParams","humanNumber","variant","icon","size","replace","aria","String","on_click","addTitle","onAddClickHandler","addParams"],"sources":["../../../../src/components/slider/SliderInstance.tsx"],"sourcesContent":["/**\n * Web Slider Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport { isTrue } from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport {\n createSkeletonClass,\n skeletonDOMAttributes,\n} from '../skeleton/SkeletonHelper'\n\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport Button from '../button/Button'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\n\nimport {\n SliderMainTrack,\n SliderTrackBefore,\n SliderTrackAfter,\n} from './SliderTrack'\nimport { SliderThumb } from './SliderThumb'\nimport { useSliderProps } from './hooks/useSliderProps'\nimport { clamp, getFormattedNumber } from './SliderHelpers'\n\nexport function SliderInstance() {\n const context = React.useContext(Context)\n\n const {\n isReverse,\n isVertical,\n showButtons,\n showStatus,\n shouldAnimate,\n allProps,\n } = useSliderProps()\n\n const {\n id,\n label,\n labelSrOnly,\n labelDirection,\n status,\n statusProps,\n statusState,\n statusNoAnimation,\n globalStatus,\n stretch,\n skeleton,\n disabled,\n className,\n extensions,\n } = allProps\n\n const mainParams = {\n className: classnames(\n 'dnb-slider',\n isVertical && 'dnb-slider--vertical',\n disabled && 'dnb-slider__state--disabled',\n shouldAnimate && 'dnb-slider__state--animate',\n !showButtons && 'dnb-slider--no-buttons',\n isTrue(stretch) && 'dnb-slider--stretch',\n label && labelDirection && `dnb-slider__label--${labelDirection}`,\n showStatus && 'dnb-slider__form-status',\n status && `dnb-slider__status--${statusState}`,\n 'dnb-form-component',\n createSkeletonClass(null, skeleton),\n createSpacingClasses(allProps),\n className\n ),\n }\n\n const subtractButton = showButtons ? <SubtractButton /> : null\n const addButton = showButtons ? <AddButton /> : null\n\n skeletonDOMAttributes(mainParams, skeleton, context)\n\n return (\n <span {...mainParams}>\n {label && (\n // do not use \"for_id\" as the ID element is not a fo\n <FormLabel\n id={id + '-label'}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n labelDirection={labelDirection}\n srOnly={labelSrOnly}\n />\n )}\n\n <span className=\"dnb-slider__wrapper\">\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n text_id={id + '-status'} // used for \"aria-describedby\"\n text={status}\n state={statusState}\n no_animation={statusNoAnimation}\n skeleton={skeleton}\n {...statusProps}\n />\n\n <span className=\"dnb-slider__inner\">\n {showButtons && (isReverse ? addButton : subtractButton)}\n\n <SliderMainTrack>\n {extensions &&\n Object.entries(extensions).map(\n ([key, { instance, ...options }]) => {\n const Element = instance as React.ElementType\n return <Element key={key} {...options} />\n }\n )}\n <SliderThumb />\n <SliderTrackBefore />\n <SliderTrackAfter />\n </SliderMainTrack>\n\n {showButtons && (isReverse ? subtractButton : addButton)}\n\n <SliderSuffix />\n </span>\n </span>\n </span>\n )\n}\n\nfunction SliderSuffix() {\n const { allProps } = useSliderProps()\n const { id, suffix } = allProps\n\n return suffix ? (\n <Suffix\n className=\"dnb-slider__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={allProps}\n >\n {suffix}\n </Suffix>\n ) : null\n}\n\nfunction SubtractButton() {\n const { emitChange, value, attributes, allProps } = useSliderProps()\n const {\n step,\n min,\n max,\n disabled,\n skeleton,\n subtractTitle,\n numberFormat,\n } = allProps\n\n const onSubtractClickHandler = (event: MouseEvent | TouchEvent) => {\n emitChange(event, clamp((value as number) - (step || 1), min, max))\n }\n\n const subtractParams = {}\n\n if (typeof attributes['aria-hidden'] !== 'undefined') {\n subtractParams['aria-hidden'] = attributes['aria-hidden']\n }\n\n const humanNumber = getFormattedNumber(value as number, numberFormat)\n\n return (\n <Button\n className=\"dnb-slider__button dnb-slider__button--subtract\"\n variant=\"secondary\"\n icon=\"subtract\"\n size=\"small\"\n aria-label={subtractTitle?.replace(\n '%s',\n humanNumber.aria || String(value)\n )}\n on_click={onSubtractClickHandler}\n disabled={disabled}\n skeleton={skeleton}\n {...subtractParams}\n />\n )\n}\n\nfunction AddButton() {\n const { emitChange, value, attributes, allProps } = useSliderProps()\n const { step, min, max, disabled, skeleton, addTitle, numberFormat } =\n allProps\n\n const onAddClickHandler = (event: MouseEvent | TouchEvent) => {\n emitChange(event, clamp((value as number) + (step || 1), min, max))\n }\n\n const addParams = {}\n\n if (typeof attributes['aria-hidden'] !== 'undefined') {\n addParams['aria-hidden'] = attributes['aria-hidden']\n }\n\n const humanNumber = getFormattedNumber(value as number, numberFormat)\n\n return (\n <Button\n className=\"dnb-slider__button dnb-slider__button--add\"\n variant=\"secondary\"\n icon=\"add\"\n size=\"small\"\n aria-label={addTitle?.replace(\n '%s',\n humanNumber.aria || String(value)\n )}\n on_click={onAddClickHandler}\n disabled={disabled}\n skeleton={skeleton}\n {...addParams}\n />\n )\n}\n"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ type SliderMarkerProps = {
3
+ value: number;
4
+ text: React.ReactNode;
5
+ };
6
+ export default function SliderMarker({ value, text }: SliderMarkerProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,53 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import React, { useCallback } from 'react';
3
+ import { makeUniqueId } from '../../shared/component-helper';
4
+ import { useSliderProps } from './hooks/useSliderProps';
5
+ import { clamp, getFormattedNumber } from './SliderHelpers';
6
+ import Tooltip from '../tooltip/Tooltip';
7
+ export default function SliderMarker(_ref) {
8
+ let {
9
+ value,
10
+ text
11
+ } = _ref;
12
+ const {
13
+ isReverse,
14
+ isVertical,
15
+ allProps
16
+ } = useSliderProps();
17
+ const {
18
+ min,
19
+ max,
20
+ numberFormat
21
+ } = allProps;
22
+ const getParams = useCallback(() => {
23
+ const markerId = `slider-marker-${makeUniqueId()}`;
24
+ const {
25
+ number,
26
+ aria
27
+ } = getFormattedNumber(value, numberFormat || {});
28
+ let percent = clamp((value - min) * 100 / (max - min));
29
+ if (isReverse) {
30
+ percent = 100 - percent;
31
+ }
32
+ const params = {
33
+ id: markerId,
34
+ 'aria-label': aria,
35
+ tabIndex: 0,
36
+ style: {
37
+ [`${isVertical ? 'top' : 'left'}`]: `${percent}%`
38
+ },
39
+ children: React.createElement(Tooltip, {
40
+ targetSelector: `#${markerId}`
41
+ }, text || number)
42
+ };
43
+ return params;
44
+ }, [isReverse, isVertical, max, min, numberFormat, text, value]);
45
+ if (!value) {
46
+ return null;
47
+ }
48
+ const params = getParams();
49
+ return React.createElement("mark", _extends({
50
+ className: "dnb-slider__marker"
51
+ }, params));
52
+ }
53
+ //# sourceMappingURL=SliderMarker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SliderMarker.js","names":["React","useCallback","makeUniqueId","useSliderProps","clamp","getFormattedNumber","Tooltip","SliderMarker","_ref","value","text","isReverse","isVertical","allProps","min","max","numberFormat","getParams","markerId","number","aria","percent","params","id","tabIndex","style","children","createElement","targetSelector","_extends","className"],"sources":["../../../../src/components/slider/SliderMarker.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport { makeUniqueId } from '../../shared/component-helper'\nimport { useSliderProps } from './hooks/useSliderProps'\nimport { clamp, getFormattedNumber } from './SliderHelpers'\nimport Tooltip from '../tooltip/Tooltip'\n\ntype SliderMarkerProps = {\n value: number\n text: React.ReactNode\n}\n\nexport default function SliderMarker({ value, text }: SliderMarkerProps) {\n const { isReverse, isVertical, allProps } = useSliderProps()\n const { min, max, numberFormat } = allProps\n\n const getParams = useCallback(() => {\n const markerId = `slider-marker-${makeUniqueId()}`\n const { number, aria } = getFormattedNumber(value, numberFormat || {})\n\n let percent = clamp(((value - min) * 100) / (max - min))\n if (isReverse) {\n percent = 100 - percent\n }\n\n const params = {\n id: markerId,\n 'aria-label': aria,\n tabIndex: 0,\n style: {\n [`${isVertical ? 'top' : 'left'}`]: `${percent}%`,\n },\n children: (\n <Tooltip targetSelector={`#${markerId}`}>{text || number}</Tooltip>\n ),\n }\n\n return params\n }, [isReverse, isVertical, max, min, numberFormat, text, value])\n\n if (!value) {\n return null\n }\n\n const params = getParams()\n\n return <mark className=\"dnb-slider__marker\" {...params} />\n}\n"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,SAASC,YAAY,QAAQ,+BAA+B;AAC5D,SAASC,cAAc,QAAQ,wBAAwB;AACvD,SAASC,KAAK,EAAEC,kBAAkB,QAAQ,iBAAiB;AAC3D,OAAOC,OAAO,MAAM,oBAAoB;AAOxC,eAAe,SAASC,YAAYA,CAAAC,IAAA,EAAqC;EAAA,IAApC;IAAEC,KAAK;IAAEC;EAAwB,CAAC,GAAAF,IAAA;EACrE,MAAM;IAAEG,SAAS;IAAEC,UAAU;IAAEC;EAAS,CAAC,GAAGV,cAAc,CAAC,CAAC;EAC5D,MAAM;IAAEW,GAAG;IAAEC,GAAG;IAAEC;EAAa,CAAC,GAAGH,QAAQ;EAE3C,MAAMI,SAAS,GAAGhB,WAAW,CAAC,MAAM;IAClC,MAAMiB,QAAQ,GAAI,iBAAgBhB,YAAY,CAAC,CAAE,EAAC;IAClD,MAAM;MAAEiB,MAAM;MAAEC;IAAK,CAAC,GAAGf,kBAAkB,CAACI,KAAK,EAAEO,YAAY,IAAI,CAAC,CAAC,CAAC;IAEtE,IAAIK,OAAO,GAAGjB,KAAK,CAAE,CAACK,KAAK,GAAGK,GAAG,IAAI,GAAG,IAAKC,GAAG,GAAGD,GAAG,CAAC,CAAC;IACxD,IAAIH,SAAS,EAAE;MACbU,OAAO,GAAG,GAAG,GAAGA,OAAO;IACzB;IAEA,MAAMC,MAAM,GAAG;MACbC,EAAE,EAAEL,QAAQ;MACZ,YAAY,EAAEE,IAAI;MAClBI,QAAQ,EAAE,CAAC;MACXC,KAAK,EAAE;QACL,CAAE,GAAEb,UAAU,GAAG,KAAK,GAAG,MAAO,EAAC,GAAI,GAAES,OAAQ;MACjD,CAAC;MACDK,QAAQ,EACN1B,KAAA,CAAA2B,aAAA,CAACrB,OAAO;QAACsB,cAAc,EAAG,IAAGV,QAAS;MAAE,GAAER,IAAI,IAAIS,MAAgB;IAEtE,CAAC;IAED,OAAOG,MAAM;EACf,CAAC,EAAE,CAACX,SAAS,EAAEC,UAAU,EAAEG,GAAG,EAAED,GAAG,EAAEE,YAAY,EAAEN,IAAI,EAAED,KAAK,CAAC,CAAC;EAEhE,IAAI,CAACA,KAAK,EAAE;IACV,OAAO,IAAI;EACb;EAEA,MAAMa,MAAM,GAAGL,SAAS,CAAC,CAAC;EAE1B,OAAOjB,KAAA,CAAA2B,aAAA,SAAAE,QAAA;IAAMC,SAAS,EAAC;EAAoB,GAAKR,MAAM,CAAG,CAAC;AAC5D"}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
 
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
- const _excluded = ["step", "label", "labelDirection", "labelSrOnly", "status", "statusState", "statusProps", "statusNoAnimation", "globalStatus", "stretch", "suffix", "thumbTitle", "subtractTitle", "addTitle", "hideButtons", "multiThumbBehavior", "numberFormat", "tooltip", "alwaysShowTooltip", "skeleton", "max", "min", "disabled", "className", "id", "onChange", "onDragStart", "onDragEnd", "vertical", "reverse", "value", "children"];
4
+ const _excluded = ["step", "label", "labelDirection", "labelSrOnly", "status", "statusState", "statusProps", "statusNoAnimation", "globalStatus", "stretch", "suffix", "thumbTitle", "subtractTitle", "addTitle", "hideButtons", "multiThumbBehavior", "numberFormat", "tooltip", "alwaysShowTooltip", "skeleton", "max", "min", "extensions", "disabled", "className", "id", "onChange", "onDragStart", "onDragEnd", "vertical", "reverse", "value", "children"];
5
5
  import React from 'react';
6
6
  import { pickFormElementProps } from '../../shared/helpers/filterValidProps';
7
7
  import { isTrue, makeUniqueId, dispatchCustomElementEvent, getStatusState, extendPropsWithContext } from '../../shared/component-helper';
@@ -54,6 +54,7 @@ export function SliderProvider(localProps) {
54
54
  skeleton,
55
55
  max,
56
56
  min,
57
+ extensions,
57
58
  disabled,
58
59
  className,
59
60
  id,
@@ -1 +1 @@
1
- {"version":3,"file":"SliderProvider.js","names":["React","pickFormElementProps","isTrue","makeUniqueId","dispatchCustomElementEvent","getStatusState","extendPropsWithContext","Context","closestIndex","getFormattedNumber","getUpdatedValues","roundValue","convertSnakeCaseProps","defaultProps","statusState","addTitle","subtractTitle","min","max","value","multiThumbBehavior","SliderContext","createContext","SliderProvider","localProps","context","useContext","allProps","skeleton","getTranslation","Slider","FormRow","vertical","formElement","_id","useState","id","step","label","labelDirection","labelSrOnly","status","statusProps","statusNoAnimation","globalStatus","stretch","suffix","thumbTitle","title","hideButtons","numberFormat","tooltip","alwaysShowTooltip","disabled","className","onChange","onDragStart","onDragEnd","_vertical","reverse","_reverse","_value","children","_children","attributes","_objectWithoutProperties","_excluded","setValue","externValue","updateExternValue","realtimeValue","useRef","thumbState","setThumbState","thumbIndex","shouldAnimate","updateAnimateState","isVertical","isReverse","isMulti","Array","isArray","setThumbIndex","index","isNaN","current","getAndUpdateCurrentIndex","currentValue","currentIndex","updateValue","emitChange","event","rawValue","numberValue","multiValues","lower","upper","obj","number","useEffect","hasChanged","some","val","i","trackRef","animationTimeout","setShouldAnimate","state","clearTimeout","setTimeout","showStatus","showButtons","values","createElement","Provider"],"sources":["../../../../src/components/slider/SliderProvider.tsx"],"sourcesContent":["import React from 'react'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport {\n isTrue,\n makeUniqueId,\n dispatchCustomElementEvent,\n getStatusState,\n extendPropsWithContext,\n} from '../../shared/component-helper'\n\nimport Context from '../../shared/Context'\nimport {\n closestIndex,\n getFormattedNumber,\n getUpdatedValues,\n roundValue,\n} from './SliderHelpers'\n\nimport type {\n ValueTypes,\n onChangeEventProps,\n SliderAllProps,\n SliderContextTypes,\n ThumbStateEnums,\n} from './types'\nimport { convertSnakeCaseProps } from '../../shared/helpers/withSnakeCaseProps'\n\nconst defaultProps = {\n statusState: 'error',\n addTitle: '+',\n subtractTitle: '−',\n min: 0,\n max: 100,\n value: -1,\n multiThumbBehavior: 'swap',\n}\n\nexport const SliderContext = React.createContext<SliderContextTypes>(null)\n\nexport function SliderProvider(localProps: SliderAllProps) {\n const context = React.useContext(Context)\n const allProps = convertSnakeCaseProps(\n extendPropsWithContext(\n localProps,\n defaultProps,\n { skeleton: context?.skeleton },\n context?.getTranslation(localProps).Slider,\n // Deprecated – can be removed in v11\n pickFormElementProps(\n context?.FormRow,\n\n /**\n * Exclude some props\n */\n {\n vertical: null,\n }\n ),\n pickFormElementProps(\n context?.formElement,\n\n /**\n * Exclude some props\n */\n {\n vertical: null,\n }\n ),\n context?.Slider\n )\n )\n\n const [_id] = React.useState(makeUniqueId)\n if (!allProps.id) {\n allProps.id = _id\n }\n\n const {\n step,\n label, // eslint-disable-line\n labelDirection, // eslint-disable-line\n labelSrOnly, // eslint-disable-line\n status, // eslint-disable-line\n statusState, // eslint-disable-line\n statusProps, // eslint-disable-line\n statusNoAnimation, // eslint-disable-line\n globalStatus, // eslint-disable-line\n stretch, // eslint-disable-line\n suffix, // eslint-disable-line\n thumbTitle: title, // eslint-disable-line\n subtractTitle, // eslint-disable-line\n addTitle, // eslint-disable-line\n hideButtons, // eslint-disable-line\n multiThumbBehavior,\n numberFormat,\n tooltip, // eslint-disable-line\n alwaysShowTooltip, // eslint-disable-line\n skeleton,\n max, // eslint-disable-line\n min, // eslint-disable-line\n disabled,\n className, // eslint-disable-line\n id, // eslint-disable-line\n onChange,\n onDragStart, // eslint-disable-line\n onDragEnd, // eslint-disable-line\n vertical: _vertical,\n reverse: _reverse,\n value: _value,\n children: _children, // eslint-disable-line\n\n ...attributes // Find a DOM element to forwards props too when multi buttons are supported\n } = allProps\n\n const [value, setValue] = React.useState<ValueTypes>(_value)\n const [externValue, updateExternValue] =\n React.useState<ValueTypes>(_value)\n const realtimeValue = React.useRef<ValueTypes>(_value)\n const [thumbState, setThumbState] =\n React.useState<ThumbStateEnums>('initial')\n const thumbIndex = React.useRef<number>(-1)\n const [shouldAnimate, updateAnimateState] =\n React.useState<boolean>(false)\n const [isVertical] = React.useState(isTrue(_vertical))\n const [isReverse] = React.useState(\n isVertical ? !isTrue(_reverse) : isTrue(_reverse)\n )\n const isMulti = Array.isArray(value)\n const setThumbIndex = (index: number) => {\n if (!isNaN(index)) {\n thumbIndex.current = index\n }\n }\n\n const getAndUpdateCurrentIndex = (currentValue: number) => {\n let currentIndex = null\n\n if (thumbIndex.current > -1) {\n currentIndex = thumbIndex.current\n } else {\n currentIndex = closestIndex(currentValue, value as Array<number>)\n setThumbIndex(currentIndex)\n }\n\n return currentIndex\n }\n\n const updateValue = (value: ValueTypes) => {\n setValue(value)\n realtimeValue.current = value\n }\n\n const emitChange = (\n event: MouseEvent | TouchEvent,\n rawValue: number\n ) => {\n if (disabled || isTrue(skeleton)) {\n return\n }\n\n let numberValue = roundValue(rawValue, step)\n let multiValues: ValueTypes = numberValue\n\n if (numberValue >= min) {\n if (isMulti) {\n const currentIndex = getAndUpdateCurrentIndex(numberValue)\n const lower = realtimeValue.current[currentIndex - 1]\n const upper = realtimeValue.current[currentIndex + 1]\n\n if (multiThumbBehavior === 'omit') {\n if (numberValue < lower) {\n numberValue = lower\n }\n if (numberValue > upper) {\n numberValue = upper\n }\n }\n\n multiValues = getUpdatedValues(\n multiThumbBehavior === 'push'\n ? (realtimeValue.current as Array<number>)\n : value,\n currentIndex,\n numberValue\n )\n\n if (multiThumbBehavior === 'push') {\n if (typeof lower !== 'undefined' && numberValue < lower) {\n multiValues[currentIndex - 1] = numberValue\n }\n if (typeof upper !== 'undefined' && numberValue >= upper) {\n multiValues[currentIndex + 1] = numberValue\n }\n }\n\n if (numberValue === realtimeValue.current[currentIndex]) {\n return // stop here\n }\n } else if (numberValue === realtimeValue.current) {\n return // stop here\n }\n\n if (typeof onChange === 'function') {\n const obj: onChangeEventProps = {\n value: multiValues,\n rawValue,\n event,\n number: null,\n }\n\n if (numberFormat) {\n obj.number = getFormattedNumber(numberValue, numberFormat).number\n }\n\n dispatchCustomElementEvent(allProps, 'onChange', obj)\n }\n\n updateValue(multiValues)\n }\n }\n\n React.useEffect(() => {\n if (isMulti) {\n const hasChanged = (_value as Array<number>).some((val, i) => {\n return val !== externValue[i]\n })\n\n if (hasChanged) {\n updateValue(_value)\n updateExternValue(_value)\n }\n } else if (_value !== externValue) {\n updateValue(_value)\n updateExternValue(_value)\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [_value, isMulti])\n\n const trackRef = React.useRef<HTMLElement>()\n\n const animationTimeout = React.useRef<NodeJS.Timeout>()\n const setShouldAnimate = (state: boolean) => {\n updateAnimateState(state)\n clearTimeout(animationTimeout.current)\n if (state) {\n animationTimeout.current = setTimeout(\n () => updateAnimateState(false),\n 250\n )\n }\n }\n\n const showStatus = getStatusState(status)\n const showButtons = !isMulti && !isTrue(hideButtons)\n const values = (isMulti ? value : [value]) as Array<number>\n\n return (\n <SliderContext.Provider\n value={{\n isMulti,\n isReverse,\n isVertical,\n shouldAnimate,\n value,\n values,\n setValue,\n attributes,\n showStatus,\n showButtons,\n thumbState,\n setThumbState,\n thumbIndex,\n setThumbIndex,\n emitChange,\n allProps,\n trackRef,\n setShouldAnimate,\n animationTimeout,\n }}\n >\n {localProps.children}\n </SliderContext.Provider>\n )\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,oBAAoB,QAAQ,uCAAuC;AAC5E,SACEC,MAAM,EACNC,YAAY,EACZC,0BAA0B,EAC1BC,cAAc,EACdC,sBAAsB,QACjB,+BAA+B;AAEtC,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,SACEC,YAAY,EACZC,kBAAkB,EAClBC,gBAAgB,EAChBC,UAAU,QACL,iBAAiB;AASxB,SAASC,qBAAqB,QAAQ,yCAAyC;AAE/E,MAAMC,YAAY,GAAG;EACnBC,WAAW,EAAE,OAAO;EACpBC,QAAQ,EAAE,GAAG;EACbC,aAAa,EAAE,GAAG;EAClBC,GAAG,EAAE,CAAC;EACNC,GAAG,EAAE,GAAG;EACRC,KAAK,EAAE,CAAC,CAAC;EACTC,kBAAkB,EAAE;AACtB,CAAC;AAED,OAAO,MAAMC,aAAa,GAAGrB,KAAK,CAACsB,aAAa,CAAqB,IAAI,CAAC;AAE1E,OAAO,SAASC,cAAcA,CAACC,UAA0B,EAAE;EACzD,MAAMC,OAAO,GAAGzB,KAAK,CAAC0B,UAAU,CAACnB,OAAO,CAAC;EACzC,MAAMoB,QAAQ,GAAGf,qBAAqB,CACpCN,sBAAsB,CACpBkB,UAAU,EACVX,YAAY,EACZ;IAAEe,QAAQ,EAAEH,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEG;EAAS,CAAC,EAC/BH,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEI,cAAc,CAACL,UAAU,CAAC,CAACM,MAAM,EAE1C7B,oBAAoB,CAClBwB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEM,OAAO,EAKhB;IACEC,QAAQ,EAAE;EACZ,CACF,CAAC,EACD/B,oBAAoB,CAClBwB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEQ,WAAW,EAKpB;IACED,QAAQ,EAAE;EACZ,CACF,CAAC,EACDP,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEK,MACX,CACF,CAAC;EAED,MAAM,CAACI,GAAG,CAAC,GAAGlC,KAAK,CAACmC,QAAQ,CAAChC,YAAY,CAAC;EAC1C,IAAI,CAACwB,QAAQ,CAACS,EAAE,EAAE;IAChBT,QAAQ,CAACS,EAAE,GAAGF,GAAG;EACnB;EAEA,MAAM;MACJG,IAAI;MACJC,KAAK;MACLC,cAAc;MACdC,WAAW;MACXC,MAAM;MACN3B,WAAW;MACX4B,WAAW;MACXC,iBAAiB;MACjBC,YAAY;MACZC,OAAO;MACPC,MAAM;MACNC,UAAU,EAAEC,KAAK;MACjBhC,aAAa;MACbD,QAAQ;MACRkC,WAAW;MACX7B,kBAAkB;MAClB8B,YAAY;MACZC,OAAO;MACPC,iBAAiB;MACjBxB,QAAQ;MACRV,GAAG;MACHD,GAAG;MACHoC,QAAQ;MACRC,SAAS;MACTlB,EAAE;MACFmB,QAAQ;MACRC,WAAW;MACXC,SAAS;MACTzB,QAAQ,EAAE0B,SAAS;MACnBC,OAAO,EAAEC,QAAQ;MACjBzC,KAAK,EAAE0C,MAAM;MACbC,QAAQ,EAAEC;IAGZ,CAAC,GAAGpC,QAAQ;IADPqC,UAAU,GAAAC,wBAAA,CACXtC,QAAQ,EAAAuC,SAAA;EAEZ,MAAM,CAAC/C,KAAK,EAAEgD,QAAQ,CAAC,GAAGnE,KAAK,CAACmC,QAAQ,CAAa0B,MAAM,CAAC;EAC5D,MAAM,CAACO,WAAW,EAAEC,iBAAiB,CAAC,GACpCrE,KAAK,CAACmC,QAAQ,CAAa0B,MAAM,CAAC;EACpC,MAAMS,aAAa,GAAGtE,KAAK,CAACuE,MAAM,CAAaV,MAAM,CAAC;EACtD,MAAM,CAACW,UAAU,EAAEC,aAAa,CAAC,GAC/BzE,KAAK,CAACmC,QAAQ,CAAkB,SAAS,CAAC;EAC5C,MAAMuC,UAAU,GAAG1E,KAAK,CAACuE,MAAM,CAAS,CAAC,CAAC,CAAC;EAC3C,MAAM,CAACI,aAAa,EAAEC,kBAAkB,CAAC,GACvC5E,KAAK,CAACmC,QAAQ,CAAU,KAAK,CAAC;EAChC,MAAM,CAAC0C,UAAU,CAAC,GAAG7E,KAAK,CAACmC,QAAQ,CAACjC,MAAM,CAACwD,SAAS,CAAC,CAAC;EACtD,MAAM,CAACoB,SAAS,CAAC,GAAG9E,KAAK,CAACmC,QAAQ,CAChC0C,UAAU,GAAG,CAAC3E,MAAM,CAAC0D,QAAQ,CAAC,GAAG1D,MAAM,CAAC0D,QAAQ,CAClD,CAAC;EACD,MAAMmB,OAAO,GAAGC,KAAK,CAACC,OAAO,CAAC9D,KAAK,CAAC;EACpC,MAAM+D,aAAa,GAAIC,KAAa,IAAK;IACvC,IAAI,CAACC,KAAK,CAACD,KAAK,CAAC,EAAE;MACjBT,UAAU,CAACW,OAAO,GAAGF,KAAK;IAC5B;EACF,CAAC;EAED,MAAMG,wBAAwB,GAAIC,YAAoB,IAAK;IACzD,IAAIC,YAAY,GAAG,IAAI;IAEvB,IAAId,UAAU,CAACW,OAAO,GAAG,CAAC,CAAC,EAAE;MAC3BG,YAAY,GAAGd,UAAU,CAACW,OAAO;IACnC,CAAC,MAAM;MACLG,YAAY,GAAGhF,YAAY,CAAC+E,YAAY,EAAEpE,KAAsB,CAAC;MACjE+D,aAAa,CAACM,YAAY,CAAC;IAC7B;IAEA,OAAOA,YAAY;EACrB,CAAC;EAED,MAAMC,WAAW,GAAItE,KAAiB,IAAK;IACzCgD,QAAQ,CAAChD,KAAK,CAAC;IACfmD,aAAa,CAACe,OAAO,GAAGlE,KAAK;EAC/B,CAAC;EAED,MAAMuE,UAAU,GAAGA,CACjBC,KAA8B,EAC9BC,QAAgB,KACb;IACH,IAAIvC,QAAQ,IAAInD,MAAM,CAAC0B,QAAQ,CAAC,EAAE;MAChC;IACF;IAEA,IAAIiE,WAAW,GAAGlF,UAAU,CAACiF,QAAQ,EAAEvD,IAAI,CAAC;IAC5C,IAAIyD,WAAuB,GAAGD,WAAW;IAEzC,IAAIA,WAAW,IAAI5E,GAAG,EAAE;MACtB,IAAI8D,OAAO,EAAE;QACX,MAAMS,YAAY,GAAGF,wBAAwB,CAACO,WAAW,CAAC;QAC1D,MAAME,KAAK,GAAGzB,aAAa,CAACe,OAAO,CAACG,YAAY,GAAG,CAAC,CAAC;QACrD,MAAMQ,KAAK,GAAG1B,aAAa,CAACe,OAAO,CAACG,YAAY,GAAG,CAAC,CAAC;QAErD,IAAIpE,kBAAkB,KAAK,MAAM,EAAE;UACjC,IAAIyE,WAAW,GAAGE,KAAK,EAAE;YACvBF,WAAW,GAAGE,KAAK;UACrB;UACA,IAAIF,WAAW,GAAGG,KAAK,EAAE;YACvBH,WAAW,GAAGG,KAAK;UACrB;QACF;QAEAF,WAAW,GAAGpF,gBAAgB,CAC5BU,kBAAkB,KAAK,MAAM,GACxBkD,aAAa,CAACe,OAAO,GACtBlE,KAAK,EACTqE,YAAY,EACZK,WACF,CAAC;QAED,IAAIzE,kBAAkB,KAAK,MAAM,EAAE;UACjC,IAAI,OAAO2E,KAAK,KAAK,WAAW,IAAIF,WAAW,GAAGE,KAAK,EAAE;YACvDD,WAAW,CAACN,YAAY,GAAG,CAAC,CAAC,GAAGK,WAAW;UAC7C;UACA,IAAI,OAAOG,KAAK,KAAK,WAAW,IAAIH,WAAW,IAAIG,KAAK,EAAE;YACxDF,WAAW,CAACN,YAAY,GAAG,CAAC,CAAC,GAAGK,WAAW;UAC7C;QACF;QAEA,IAAIA,WAAW,KAAKvB,aAAa,CAACe,OAAO,CAACG,YAAY,CAAC,EAAE;UACvD;QACF;MACF,CAAC,MAAM,IAAIK,WAAW,KAAKvB,aAAa,CAACe,OAAO,EAAE;QAChD;MACF;MAEA,IAAI,OAAO9B,QAAQ,KAAK,UAAU,EAAE;QAClC,MAAM0C,GAAuB,GAAG;UAC9B9E,KAAK,EAAE2E,WAAW;UAClBF,QAAQ;UACRD,KAAK;UACLO,MAAM,EAAE;QACV,CAAC;QAED,IAAIhD,YAAY,EAAE;UAChB+C,GAAG,CAACC,MAAM,GAAGzF,kBAAkB,CAACoF,WAAW,EAAE3C,YAAY,CAAC,CAACgD,MAAM;QACnE;QAEA9F,0BAA0B,CAACuB,QAAQ,EAAE,UAAU,EAAEsE,GAAG,CAAC;MACvD;MAEAR,WAAW,CAACK,WAAW,CAAC;IAC1B;EACF,CAAC;EAED9F,KAAK,CAACmG,SAAS,CAAC,MAAM;IACpB,IAAIpB,OAAO,EAAE;MACX,MAAMqB,UAAU,GAAIvC,MAAM,CAAmBwC,IAAI,CAAC,CAACC,GAAG,EAAEC,CAAC,KAAK;QAC5D,OAAOD,GAAG,KAAKlC,WAAW,CAACmC,CAAC,CAAC;MAC/B,CAAC,CAAC;MAEF,IAAIH,UAAU,EAAE;QACdX,WAAW,CAAC5B,MAAM,CAAC;QACnBQ,iBAAiB,CAACR,MAAM,CAAC;MAC3B;IACF,CAAC,MAAM,IAAIA,MAAM,KAAKO,WAAW,EAAE;MACjCqB,WAAW,CAAC5B,MAAM,CAAC;MACnBQ,iBAAiB,CAACR,MAAM,CAAC;IAC3B;EAGF,CAAC,EAAE,CAACA,MAAM,EAAEkB,OAAO,CAAC,CAAC;EAErB,MAAMyB,QAAQ,GAAGxG,KAAK,CAACuE,MAAM,CAAc,CAAC;EAE5C,MAAMkC,gBAAgB,GAAGzG,KAAK,CAACuE,MAAM,CAAiB,CAAC;EACvD,MAAMmC,gBAAgB,GAAIC,KAAc,IAAK;IAC3C/B,kBAAkB,CAAC+B,KAAK,CAAC;IACzBC,YAAY,CAACH,gBAAgB,CAACpB,OAAO,CAAC;IACtC,IAAIsB,KAAK,EAAE;MACTF,gBAAgB,CAACpB,OAAO,GAAGwB,UAAU,CACnC,MAAMjC,kBAAkB,CAAC,KAAK,CAAC,EAC/B,GACF,CAAC;IACH;EACF,CAAC;EAED,MAAMkC,UAAU,GAAGzG,cAAc,CAACoC,MAAM,CAAC;EACzC,MAAMsE,WAAW,GAAG,CAAChC,OAAO,IAAI,CAAC7E,MAAM,CAAC+C,WAAW,CAAC;EACpD,MAAM+D,MAAM,GAAIjC,OAAO,GAAG5D,KAAK,GAAG,CAACA,KAAK,CAAmB;EAE3D,OACEnB,KAAA,CAAAiH,aAAA,CAAC5F,aAAa,CAAC6F,QAAQ;IACrB/F,KAAK,EAAE;MACL4D,OAAO;MACPD,SAAS;MACTD,UAAU;MACVF,aAAa;MACbxD,KAAK;MACL6F,MAAM;MACN7C,QAAQ;MACRH,UAAU;MACV8C,UAAU;MACVC,WAAW;MACXvC,UAAU;MACVC,aAAa;MACbC,UAAU;MACVQ,aAAa;MACbQ,UAAU;MACV/D,QAAQ;MACR6E,QAAQ;MACRE,gBAAgB;MAChBD;IACF;EAAE,GAEDjF,UAAU,CAACsC,QACU,CAAC;AAE7B"}
1
+ {"version":3,"file":"SliderProvider.js","names":["React","pickFormElementProps","isTrue","makeUniqueId","dispatchCustomElementEvent","getStatusState","extendPropsWithContext","Context","closestIndex","getFormattedNumber","getUpdatedValues","roundValue","convertSnakeCaseProps","defaultProps","statusState","addTitle","subtractTitle","min","max","value","multiThumbBehavior","SliderContext","createContext","SliderProvider","localProps","context","useContext","allProps","skeleton","getTranslation","Slider","FormRow","vertical","formElement","_id","useState","id","step","label","labelDirection","labelSrOnly","status","statusProps","statusNoAnimation","globalStatus","stretch","suffix","thumbTitle","title","hideButtons","numberFormat","tooltip","alwaysShowTooltip","extensions","disabled","className","onChange","onDragStart","onDragEnd","_vertical","reverse","_reverse","_value","children","_children","attributes","_objectWithoutProperties","_excluded","setValue","externValue","updateExternValue","realtimeValue","useRef","thumbState","setThumbState","thumbIndex","shouldAnimate","updateAnimateState","isVertical","isReverse","isMulti","Array","isArray","setThumbIndex","index","isNaN","current","getAndUpdateCurrentIndex","currentValue","currentIndex","updateValue","emitChange","event","rawValue","numberValue","multiValues","lower","upper","obj","number","useEffect","hasChanged","some","val","i","trackRef","animationTimeout","setShouldAnimate","state","clearTimeout","setTimeout","showStatus","showButtons","values","createElement","Provider"],"sources":["../../../../src/components/slider/SliderProvider.tsx"],"sourcesContent":["import React from 'react'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport {\n isTrue,\n makeUniqueId,\n dispatchCustomElementEvent,\n getStatusState,\n extendPropsWithContext,\n} from '../../shared/component-helper'\n\nimport Context from '../../shared/Context'\nimport {\n closestIndex,\n getFormattedNumber,\n getUpdatedValues,\n roundValue,\n} from './SliderHelpers'\n\nimport type {\n ValueTypes,\n onChangeEventProps,\n SliderAllProps,\n SliderContextTypes,\n ThumbStateEnums,\n} from './types'\nimport { convertSnakeCaseProps } from '../../shared/helpers/withSnakeCaseProps'\n\nconst defaultProps = {\n statusState: 'error',\n addTitle: '+',\n subtractTitle: '−',\n min: 0,\n max: 100,\n value: -1,\n multiThumbBehavior: 'swap',\n}\n\nexport const SliderContext = React.createContext<SliderContextTypes>(null)\n\nexport function SliderProvider(localProps: SliderAllProps) {\n const context = React.useContext(Context)\n const allProps = convertSnakeCaseProps(\n extendPropsWithContext(\n localProps,\n defaultProps,\n { skeleton: context?.skeleton },\n context?.getTranslation(localProps).Slider,\n // Deprecated – can be removed in v11\n pickFormElementProps(\n context?.FormRow,\n\n /**\n * Exclude some props\n */\n {\n vertical: null,\n }\n ),\n pickFormElementProps(\n context?.formElement,\n\n /**\n * Exclude some props\n */\n {\n vertical: null,\n }\n ),\n context?.Slider\n )\n )\n\n const [_id] = React.useState(makeUniqueId)\n if (!allProps.id) {\n allProps.id = _id\n }\n\n const {\n step,\n label, // eslint-disable-line\n labelDirection, // eslint-disable-line\n labelSrOnly, // eslint-disable-line\n status, // eslint-disable-line\n statusState, // eslint-disable-line\n statusProps, // eslint-disable-line\n statusNoAnimation, // eslint-disable-line\n globalStatus, // eslint-disable-line\n stretch, // eslint-disable-line\n suffix, // eslint-disable-line\n thumbTitle: title, // eslint-disable-line\n subtractTitle, // eslint-disable-line\n addTitle, // eslint-disable-line\n hideButtons, // eslint-disable-line\n multiThumbBehavior,\n numberFormat,\n tooltip, // eslint-disable-line\n alwaysShowTooltip, // eslint-disable-line\n skeleton,\n max, // eslint-disable-line\n min, // eslint-disable-line\n extensions, // eslint-disable-line\n disabled,\n className, // eslint-disable-line\n id, // eslint-disable-line\n onChange,\n onDragStart, // eslint-disable-line\n onDragEnd, // eslint-disable-line\n vertical: _vertical,\n reverse: _reverse,\n value: _value,\n children: _children, // eslint-disable-line\n\n ...attributes // Find a DOM element to forwards props too when multi buttons are supported\n } = allProps\n\n const [value, setValue] = React.useState<ValueTypes>(_value)\n const [externValue, updateExternValue] =\n React.useState<ValueTypes>(_value)\n const realtimeValue = React.useRef<ValueTypes>(_value)\n const [thumbState, setThumbState] =\n React.useState<ThumbStateEnums>('initial')\n const thumbIndex = React.useRef<number>(-1)\n const [shouldAnimate, updateAnimateState] =\n React.useState<boolean>(false)\n const [isVertical] = React.useState(isTrue(_vertical))\n const [isReverse] = React.useState(\n isVertical ? !isTrue(_reverse) : isTrue(_reverse)\n )\n const isMulti = Array.isArray(value)\n const setThumbIndex = (index: number) => {\n if (!isNaN(index)) {\n thumbIndex.current = index\n }\n }\n\n const getAndUpdateCurrentIndex = (currentValue: number) => {\n let currentIndex = null\n\n if (thumbIndex.current > -1) {\n currentIndex = thumbIndex.current\n } else {\n currentIndex = closestIndex(currentValue, value as Array<number>)\n setThumbIndex(currentIndex)\n }\n\n return currentIndex\n }\n\n const updateValue = (value: ValueTypes) => {\n setValue(value)\n realtimeValue.current = value\n }\n\n const emitChange = (\n event: MouseEvent | TouchEvent,\n rawValue: number\n ) => {\n if (disabled || isTrue(skeleton)) {\n return\n }\n\n let numberValue = roundValue(rawValue, step)\n let multiValues: ValueTypes = numberValue\n\n if (numberValue >= min) {\n if (isMulti) {\n const currentIndex = getAndUpdateCurrentIndex(numberValue)\n const lower = realtimeValue.current[currentIndex - 1]\n const upper = realtimeValue.current[currentIndex + 1]\n\n if (multiThumbBehavior === 'omit') {\n if (numberValue < lower) {\n numberValue = lower\n }\n if (numberValue > upper) {\n numberValue = upper\n }\n }\n\n multiValues = getUpdatedValues(\n multiThumbBehavior === 'push'\n ? (realtimeValue.current as Array<number>)\n : value,\n currentIndex,\n numberValue\n )\n\n if (multiThumbBehavior === 'push') {\n if (typeof lower !== 'undefined' && numberValue < lower) {\n multiValues[currentIndex - 1] = numberValue\n }\n if (typeof upper !== 'undefined' && numberValue >= upper) {\n multiValues[currentIndex + 1] = numberValue\n }\n }\n\n if (numberValue === realtimeValue.current[currentIndex]) {\n return // stop here\n }\n } else if (numberValue === realtimeValue.current) {\n return // stop here\n }\n\n if (typeof onChange === 'function') {\n const obj: onChangeEventProps = {\n value: multiValues,\n rawValue,\n event,\n number: null,\n }\n\n if (numberFormat) {\n obj.number = getFormattedNumber(numberValue, numberFormat).number\n }\n\n dispatchCustomElementEvent(allProps, 'onChange', obj)\n }\n\n updateValue(multiValues)\n }\n }\n\n React.useEffect(() => {\n if (isMulti) {\n const hasChanged = (_value as Array<number>).some((val, i) => {\n return val !== externValue[i]\n })\n\n if (hasChanged) {\n updateValue(_value)\n updateExternValue(_value)\n }\n } else if (_value !== externValue) {\n updateValue(_value)\n updateExternValue(_value)\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [_value, isMulti])\n\n const trackRef = React.useRef<HTMLElement>()\n\n const animationTimeout = React.useRef<NodeJS.Timeout>()\n const setShouldAnimate = (state: boolean) => {\n updateAnimateState(state)\n clearTimeout(animationTimeout.current)\n if (state) {\n animationTimeout.current = setTimeout(\n () => updateAnimateState(false),\n 250\n )\n }\n }\n\n const showStatus = getStatusState(status)\n const showButtons = !isMulti && !isTrue(hideButtons)\n const values = (isMulti ? value : [value]) as Array<number>\n\n return (\n <SliderContext.Provider\n value={{\n isMulti,\n isReverse,\n isVertical,\n shouldAnimate,\n value,\n values,\n setValue,\n attributes,\n showStatus,\n showButtons,\n thumbState,\n setThumbState,\n thumbIndex,\n setThumbIndex,\n emitChange,\n allProps,\n trackRef,\n setShouldAnimate,\n animationTimeout,\n }}\n >\n {localProps.children}\n </SliderContext.Provider>\n )\n}\n"],"mappings":"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"}
@@ -14,6 +14,9 @@
14
14
  --slider-line-after: gray;
15
15
  --slider-line-before--disabled: dimgray;
16
16
  --slider-line-after--disabled: lightgray;
17
+ --slider-marker: var(--slider-line-before);
18
+ --slider-marker-height: calc(var(--slider-thumb-size) * 0.75);
19
+ --slider-marker-width: 0.125rem;
17
20
  -webkit-user-select: none;
18
21
  user-select: none;
19
22
  -webkit-touch-callout: none;
@@ -53,6 +56,44 @@
53
56
  padding-left: 0;
54
57
  padding-top: 0.5rem;
55
58
  }
59
+ .dnb-slider__marker {
60
+ position: absolute;
61
+ top: 0;
62
+ bottom: 0;
63
+ z-index: 3;
64
+ margin: auto;
65
+ width: var(--slider-marker-width);
66
+ height: var(--slider-marker-height);
67
+ background-color: var(--slider-marker);
68
+ }
69
+ .dnb-slider__marker:focus {
70
+ outline: none;
71
+ outline: none;
72
+ }
73
+ html[data-whatinput=keyboard] .dnb-slider__marker:focus {
74
+ --border-color: var(--focus-ring-color);
75
+ --border-width: var(--focus-ring-width);
76
+ box-shadow: 0 0 0 var(--border-width) var(--border-color);
77
+ border-color: transparent;
78
+ }
79
+ .dnb-slider__marker::before {
80
+ content: "";
81
+ position: absolute;
82
+ width: 100%;
83
+ height: 100%;
84
+ transform: scale(10, 1);
85
+ }
86
+ .dnb-slider--vertical .dnb-slider__marker {
87
+ top: auto;
88
+ right: 0;
89
+ bottom: auto;
90
+ left: 0;
91
+ height: var(--slider-marker-width);
92
+ width: var(--slider-marker-height);
93
+ }
94
+ .dnb-slider--vertical .dnb-slider__marker::before {
95
+ transform: scale(1, 10);
96
+ }
56
97
  .dnb-slider__track {
57
98
  touch-action: none;
58
99
  position: relative;
@@ -119,7 +160,7 @@
119
160
  position: absolute;
120
161
  left: 0;
121
162
  top: 0;
122
- z-index: 3;
163
+ z-index: 4;
123
164
  display: flex;
124
165
  justify-content: center;
125
166
  transform: translate3d(-50%, 0, 0);
@@ -207,7 +248,7 @@ html[data-whatinput=keyboard] .dnb-slider__button-helper:not(:disabled):focus ~
207
248
  margin-bottom: 0.5rem;
208
249
  }
209
250
  }
210
- .dnb-slider.dnb-skeleton .dnb-slider__line, .dnb-slider.dnb-skeleton .dnb-slider__state--disabled .dnb-slider__line {
251
+ .dnb-slider.dnb-skeleton .dnb-slider__line, .dnb-slider.dnb-skeleton .dnb-slider__marker, .dnb-slider.dnb-skeleton .dnb-slider__state--disabled .dnb-slider__line {
211
252
  background-color: var(--skeleton-color);
212
253
  }
213
254
  .dnb-slider.dnb-skeleton .dnb-slider__track::before, .dnb-slider.dnb-skeleton .dnb-slider__track::after, .dnb-slider.dnb-skeleton .dnb-slider__state--disabled.dnb-slider__track::before, .dnb-slider.dnb-skeleton .dnb-slider__state--disabled.dnb-slider__track::after {
@@ -1 +1 @@
1
- .dnb-slider{--slider-track-height:0.25rem;--slider-thumb-size:2rem;--slider-button-size:1.5rem;--slider-space:1rem;--slider-line-before:#000;--slider-line-after:gray;--slider-line-before--disabled:dimgray;--slider-line-after--disabled:#d3d3d3;-webkit-touch-callout:none;display:flex;font-size:var(--font-size-small);line-height:var(--slider-thumb-size);-webkit-user-select:none;user-select:none}.dnb-slider--stretch{width:100%}.dnb-slider--vertical{display:flex;height:100%;min-height:inherit;min-width:inherit;width:auto}.dnb-slider__wrapper{display:inline-flex;flex:1;flex-direction:column;width:100%}.dnb-slider--vertical .dnb-slider__wrapper{align-items:center;height:100%;width:auto}.dnb-slider__inner{display:inline-flex;height:var(--slider-thumb-size)}.dnb-slider__suffix{align-self:center}.dnb-slider--vertical .dnb-slider__suffix{padding-left:0;padding-top:.5rem}.dnb-slider__track{cursor:pointer;flex:1;margin:0 calc(var(--slider-space)*1.5);min-width:2rem;position:relative;touch-action:none}.dnb-slider--vertical .dnb-slider__track{margin:calc(var(--slider-space)*1.5) 0;min-height:2rem;min-width:auto}.dnb-slider--no-buttons .dnb-slider__track{margin:0 calc(var(--slider-space))}.dnb-slider--no-buttons.dnb-slider--vertical .dnb-slider__track{margin:calc(var(--slider-space)) 0}.dnb-slider--vertical .dnb-slider__inner{flex-direction:column;height:inherit;min-height:inherit;min-width:inherit;width:var(--slider-thumb-size)}.dnb-slider__line{background-color:var(--slider-line-before);border-radius:var(--slider-track-height);height:var(--slider-track-height);left:0;margin:0 calc(0px - var(--slider-space));position:absolute;top:50%;transform:translate3d(0,-50%,0)}.dnb-slider__line__before{z-index:2}.dnb-slider__line__after{background-color:var(--slider-line-after);right:0;z-index:1}.dnb-slider--vertical .dnb-slider__line{height:auto;left:50%;margin:calc(0px - var(--slider-space)) 0;top:0;transform:translate3d(-50%,0,0);width:var(--slider-track-height)}.dnb-slider--vertical .dnb-slider__line__before{bottom:0;top:0}.dnb-slider--vertical .dnb-slider__line__after{bottom:0}.dnb-slider__thumb{box-shadow:var(--shadow-default)}.dnb-slider__button-helper,.dnb-slider__thumb{border-radius:50%;display:flex;justify-content:center;left:0;position:absolute;top:0;transform:translate3d(-50%,0,0);z-index:3}.dnb-slider__button-helper,.dnb-slider__button-helper .dnb-button,.dnb-slider__thumb,.dnb-slider__thumb .dnb-button{height:var(--slider-thumb-size);width:var(--slider-thumb-size)}.dnb-slider--vertical .dnb-slider__thumb{transform:translate3d(0,-50%,0)}.dnb-slider__button.dnb-button--size-small{height:var(--slider-button-size);line-height:var(--slider-button-size);transform:translateY(.25rem);width:var(--slider-button-size);z-index:2}.dnb-slider--vertical .dnb-slider__button.dnb-button--size-small{transform:translateX(.25rem)}.dnb-slider__state--disabled .dnb-slider__line,.dnb-slider__state--disabled .dnb-slider__thumb,.dnb-slider__state--disabled .dnb-slider__track{cursor:not-allowed}.dnb-slider__state--animate .dnb-slider__line,.dnb-slider__state--animate .dnb-slider__thumb{transition:left .25s var(--easing-default),top .25s var(--easing-default),bottom .25s var(--easing-default),right .25s var(--easing-default),box-shadow .25s var(--easing-default)}html[data-visual-test] .dnb-slider__line,html[data-visual-test] .dnb-slider__thumb{transition:none!important}.dnb-slider__button-helper{opacity:0;pointer-events:none;transform:translate3d(.0625rem,0,0);z-index:2}.dnb-slider__button-helper:not(:disabled):focus~.dnb-button{outline:none}html[data-whatinput=keyboard] .dnb-slider__button-helper:not(:disabled):focus~.dnb-button{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-slider>.dnb-form-label{align-self:flex-start;line-height:var(--slider-thumb-size);margin-right:1rem}.dnb-slider>.dnb-form-label--vertical{line-height:var(--line-height-basis);margin-right:0}.dnb-slider__label--vertical{flex-direction:column}.dnb-slider__label--vertical.dnb-slider--vertical{align-items:center}.dnb-slider__label--vertical.dnb-slider--vertical .dnb-form-label{margin-bottom:.5rem;margin-right:0;text-align:center;width:100%}.dnb-slider .dnb-form-status{margin-top:.5rem;order:2}.dnb-slider--vertical .dnb-form-status{margin-top:1rem}@media screen and (max-width:40em){.dnb-responsive-component .dnb-slider{align-items:flex-start;display:flex;flex-direction:column;margin-bottom:.5rem}.dnb-responsive-component .dnb-slider>.dnb-form-label{margin-bottom:.5rem}}.dnb-slider.dnb-skeleton .dnb-slider__line,.dnb-slider.dnb-skeleton .dnb-slider__state--disabled .dnb-slider__line,.dnb-slider.dnb-skeleton .dnb-slider__state--disabled.dnb-slider__track:after,.dnb-slider.dnb-skeleton .dnb-slider__state--disabled.dnb-slider__track:before,.dnb-slider.dnb-skeleton .dnb-slider__track:after,.dnb-slider.dnb-skeleton .dnb-slider__track:before{background-color:var(--skeleton-color)}
1
+ .dnb-slider{--slider-track-height:0.25rem;--slider-thumb-size:2rem;--slider-button-size:1.5rem;--slider-space:1rem;--slider-line-before:#000;--slider-line-after:gray;--slider-line-before--disabled:dimgray;--slider-line-after--disabled:#d3d3d3;--slider-marker:var(--slider-line-before);--slider-marker-height:calc(var(--slider-thumb-size)*0.75);--slider-marker-width:0.125rem;-webkit-touch-callout:none;display:flex;font-size:var(--font-size-small);line-height:var(--slider-thumb-size);-webkit-user-select:none;user-select:none}.dnb-slider--stretch{width:100%}.dnb-slider--vertical{display:flex;height:100%;min-height:inherit;min-width:inherit;width:auto}.dnb-slider__wrapper{display:inline-flex;flex:1;flex-direction:column;width:100%}.dnb-slider--vertical .dnb-slider__wrapper{align-items:center;height:100%;width:auto}.dnb-slider__inner{display:inline-flex;height:var(--slider-thumb-size)}.dnb-slider__suffix{align-self:center}.dnb-slider--vertical .dnb-slider__suffix{padding-left:0;padding-top:.5rem}.dnb-slider__marker{background-color:var(--slider-marker);bottom:0;height:var(--slider-marker-height);margin:auto;position:absolute;top:0;width:var(--slider-marker-width);z-index:3}.dnb-slider__marker:focus{outline:none}html[data-whatinput=keyboard] .dnb-slider__marker:focus{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-slider__marker:before{content:"";height:100%;position:absolute;transform:scaleX(10);width:100%}.dnb-slider--vertical .dnb-slider__marker{bottom:auto;height:var(--slider-marker-width);left:0;right:0;top:auto;width:var(--slider-marker-height)}.dnb-slider--vertical .dnb-slider__marker:before{transform:scaleY(10)}.dnb-slider__track{cursor:pointer;flex:1;margin:0 calc(var(--slider-space)*1.5);min-width:2rem;position:relative;touch-action:none}.dnb-slider--vertical .dnb-slider__track{margin:calc(var(--slider-space)*1.5) 0;min-height:2rem;min-width:auto}.dnb-slider--no-buttons .dnb-slider__track{margin:0 calc(var(--slider-space))}.dnb-slider--no-buttons.dnb-slider--vertical .dnb-slider__track{margin:calc(var(--slider-space)) 0}.dnb-slider--vertical .dnb-slider__inner{flex-direction:column;height:inherit;min-height:inherit;min-width:inherit;width:var(--slider-thumb-size)}.dnb-slider__line{background-color:var(--slider-line-before);border-radius:var(--slider-track-height);height:var(--slider-track-height);left:0;margin:0 calc(0px - var(--slider-space));position:absolute;top:50%;transform:translate3d(0,-50%,0)}.dnb-slider__line__before{z-index:2}.dnb-slider__line__after{background-color:var(--slider-line-after);right:0;z-index:1}.dnb-slider--vertical .dnb-slider__line{height:auto;left:50%;margin:calc(0px - var(--slider-space)) 0;top:0;transform:translate3d(-50%,0,0);width:var(--slider-track-height)}.dnb-slider--vertical .dnb-slider__line__before{bottom:0;top:0}.dnb-slider--vertical .dnb-slider__line__after{bottom:0}.dnb-slider__thumb{box-shadow:var(--shadow-default)}.dnb-slider__button-helper,.dnb-slider__thumb{border-radius:50%;display:flex;justify-content:center;left:0;position:absolute;top:0;transform:translate3d(-50%,0,0);z-index:4}.dnb-slider__button-helper,.dnb-slider__button-helper .dnb-button,.dnb-slider__thumb,.dnb-slider__thumb .dnb-button{height:var(--slider-thumb-size);width:var(--slider-thumb-size)}.dnb-slider--vertical .dnb-slider__thumb{transform:translate3d(0,-50%,0)}.dnb-slider__button.dnb-button--size-small{height:var(--slider-button-size);line-height:var(--slider-button-size);transform:translateY(.25rem);width:var(--slider-button-size);z-index:2}.dnb-slider--vertical .dnb-slider__button.dnb-button--size-small{transform:translateX(.25rem)}.dnb-slider__state--disabled .dnb-slider__line,.dnb-slider__state--disabled .dnb-slider__thumb,.dnb-slider__state--disabled .dnb-slider__track{cursor:not-allowed}.dnb-slider__state--animate .dnb-slider__line,.dnb-slider__state--animate .dnb-slider__thumb{transition:left .25s var(--easing-default),top .25s var(--easing-default),bottom .25s var(--easing-default),right .25s var(--easing-default),box-shadow .25s var(--easing-default)}html[data-visual-test] .dnb-slider__line,html[data-visual-test] .dnb-slider__thumb{transition:none!important}.dnb-slider__button-helper{opacity:0;pointer-events:none;transform:translate3d(.0625rem,0,0);z-index:2}.dnb-slider__button-helper:not(:disabled):focus~.dnb-button{outline:none}html[data-whatinput=keyboard] .dnb-slider__button-helper:not(:disabled):focus~.dnb-button{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-slider>.dnb-form-label{align-self:flex-start;line-height:var(--slider-thumb-size);margin-right:1rem}.dnb-slider>.dnb-form-label--vertical{line-height:var(--line-height-basis);margin-right:0}.dnb-slider__label--vertical{flex-direction:column}.dnb-slider__label--vertical.dnb-slider--vertical{align-items:center}.dnb-slider__label--vertical.dnb-slider--vertical .dnb-form-label{margin-bottom:.5rem;margin-right:0;text-align:center;width:100%}.dnb-slider .dnb-form-status{margin-top:.5rem;order:2}.dnb-slider--vertical .dnb-form-status{margin-top:1rem}@media screen and (max-width:40em){.dnb-responsive-component .dnb-slider{align-items:flex-start;display:flex;flex-direction:column;margin-bottom:.5rem}.dnb-responsive-component .dnb-slider>.dnb-form-label{margin-bottom:.5rem}}.dnb-slider.dnb-skeleton .dnb-slider__line,.dnb-slider.dnb-skeleton .dnb-slider__marker,.dnb-slider.dnb-skeleton .dnb-slider__state--disabled .dnb-slider__line,.dnb-slider.dnb-skeleton .dnb-slider__state--disabled.dnb-slider__track:after,.dnb-slider.dnb-skeleton .dnb-slider__state--disabled.dnb-slider__track:before,.dnb-slider.dnb-skeleton .dnb-slider__track:after,.dnb-slider.dnb-skeleton .dnb-slider__track:before{background-color:var(--skeleton-color)}
@@ -14,6 +14,9 @@
14
14
  --slider-line-after: gray;
15
15
  --slider-line-before--disabled: dimgray;
16
16
  --slider-line-after--disabled: lightgray;
17
+ --slider-marker: var(--slider-line-before);
18
+ --slider-marker-height: calc(var(--slider-thumb-size) * 0.75);
19
+ --slider-marker-width: 0.125rem;
17
20
 
18
21
  user-select: none; // Safari / Touch fix
19
22
  -webkit-touch-callout: none; // Safari / Touch fix
@@ -68,6 +71,45 @@
68
71
  padding-top: 0.5rem;
69
72
  }
70
73
 
74
+ &__marker {
75
+ position: absolute;
76
+ top: 0;
77
+ bottom: 0;
78
+ z-index: 3;
79
+ margin: auto;
80
+ width: var(--slider-marker-width);
81
+ height: var(--slider-marker-height);
82
+ background-color: var(--slider-marker);
83
+
84
+ &:focus {
85
+ outline: none; // we show a Tooltip instead
86
+ @include focusRing();
87
+ }
88
+
89
+ // Larger bounding area
90
+ &::before {
91
+ content: '';
92
+ position: absolute;
93
+ width: 100%;
94
+ height: 100%;
95
+ transform: scale(10, 1);
96
+ }
97
+ }
98
+
99
+ &--vertical &__marker {
100
+ top: auto;
101
+ right: 0;
102
+ bottom: auto;
103
+ left: 0;
104
+
105
+ height: var(--slider-marker-width);
106
+ width: var(--slider-marker-height);
107
+
108
+ &::before {
109
+ transform: scale(1, 10);
110
+ }
111
+ }
112
+
71
113
  &__track {
72
114
  // make sure we do not alow page scroll on touch devices
73
115
  touch-action: none;
@@ -165,7 +207,7 @@
165
207
  position: absolute;
166
208
  left: 0;
167
209
  top: 0;
168
- z-index: 3;
210
+ z-index: 4;
169
211
 
170
212
  display: flex;
171
213
  justify-content: center;
@@ -283,6 +325,7 @@
283
325
  }
284
326
 
285
327
  &.dnb-skeleton &__line,
328
+ &.dnb-skeleton &__marker,
286
329
  &.dnb-skeleton &__state--disabled &__line {
287
330
  background-color: var(--skeleton-color);
288
331
  }
@@ -7,4 +7,7 @@
7
7
  --slider-line-after: var(--sb-color-gray-light);
8
8
  --slider-line-before--disabled: var(--sb-color-gray);
9
9
  --slider-line-after--disabled: var(--sb-color-gray-light);
10
+ }
11
+ .dnb-slider__marker :hover {
12
+ background-color: var(--sb-color-violet);
10
13
  }
@@ -1 +1 @@
1
- .dnb-slider{--slider-line-before:var(--sb-color-purple-alternative);--slider-line-after:var(--sb-color-gray-light);--slider-line-before--disabled:var(--sb-color-gray);--slider-line-after--disabled:var(--sb-color-gray-light)}
1
+ .dnb-slider{--slider-line-before:var(--sb-color-purple-alternative);--slider-line-after:var(--sb-color-gray-light);--slider-line-before--disabled:var(--sb-color-gray);--slider-line-after--disabled:var(--sb-color-gray-light)}.dnb-slider__marker :hover{background-color:var(--sb-color-violet)}
@@ -8,4 +8,8 @@
8
8
  --slider-line-after: var(--sb-color-gray-light);
9
9
  --slider-line-before--disabled: var(--sb-color-gray);
10
10
  --slider-line-after--disabled: var(--sb-color-gray-light);
11
+
12
+ &__marker :hover {
13
+ background-color: var(--sb-color-violet);
14
+ }
11
15
  }
@@ -7,4 +7,7 @@
7
7
  --slider-line-after: var(--color-mint-green-50);
8
8
  --slider-line-before--disabled: var(--color-sea-green-30);
9
9
  --slider-line-after--disabled: var(--color-mint-green-25);
10
+ }
11
+ .dnb-slider__marker:hover, .dnb-slider__marker:focus-within {
12
+ background-color: var(--color-emerald-green);
10
13
  }
@@ -1 +1 @@
1
- .dnb-slider{--slider-line-before:var(--color-sea-green);--slider-line-after:var(--color-mint-green-50);--slider-line-before--disabled:var(--color-sea-green-30);--slider-line-after--disabled:var(--color-mint-green-25)}
1
+ .dnb-slider{--slider-line-before:var(--color-sea-green);--slider-line-after:var(--color-mint-green-50);--slider-line-before--disabled:var(--color-sea-green-30);--slider-line-after--disabled:var(--color-mint-green-25)}.dnb-slider__marker:focus-within,.dnb-slider__marker:hover{background-color:var(--color-emerald-green)}
@@ -8,4 +8,9 @@
8
8
  --slider-line-after: var(--color-mint-green-50);
9
9
  --slider-line-before--disabled: var(--color-sea-green-30);
10
10
  --slider-line-after--disabled: var(--color-mint-green-25);
11
+
12
+ &__marker:hover,
13
+ &__marker:focus-within {
14
+ background-color: var(--color-emerald-green);
15
+ }
11
16
  }
@@ -14,6 +14,10 @@ export type onChangeEventProps = {
14
14
  number?: formatReturnType | null;
15
15
  event?: Event;
16
16
  };
17
+ export type SliderExtensions = Record<string, {
18
+ instance: React.ElementType;
19
+ [key: string]: unknown;
20
+ }>;
17
21
  export type SliderProps = IncludeSnakeCase<{
18
22
  /** prepends the Form Label component. If no ID is provided, a random ID is created. */
19
23
  label?: React.ReactNode;
@@ -46,6 +50,8 @@ export type SliderProps = IncludeSnakeCase<{
46
50
  value?: ValueTypes;
47
51
  /** the steps the slider takes on changing the value. Defaults to `null`. */
48
52
  step?: number;
53
+ /** makes it possible to display overlays with other functionality such as a marker on the slider marking a given value. */
54
+ extensions: SliderExtensions;
49
55
  /** show the slider vertically. Defaults to `false`. */
50
56
  vertical?: boolean;
51
57
  /** show the slider reversed. Defaults to `false`. */