@dnb/eufemia 10.28.0 → 10.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (828) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/cjs/components/aria-live/useAriaLive.d.ts +1 -1
  3. package/cjs/components/autocomplete/Autocomplete.d.ts +19 -5
  4. package/cjs/components/dropdown/Dropdown.d.ts +22 -5
  5. package/cjs/components/height-animation/HeightAnimationInstance.js +5 -0
  6. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  7. package/cjs/components/icon/style/dnb-icon.css +1 -0
  8. package/cjs/components/icon/style/dnb-icon.min.css +1 -1
  9. package/cjs/components/icon/style/dnb-icon.scss +1 -0
  10. package/cjs/components/progress-indicator/ProgressIndicator.d.ts +2 -52
  11. package/cjs/components/progress-indicator/ProgressIndicator.js +27 -14
  12. package/cjs/components/progress-indicator/ProgressIndicator.js.map +1 -1
  13. package/cjs/components/progress-indicator/ProgressIndicatorCircular.d.ts +2 -23
  14. package/cjs/components/progress-indicator/ProgressIndicatorCircular.js +63 -27
  15. package/cjs/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  16. package/cjs/components/progress-indicator/ProgressIndicatorDocs.d.ts +1 -0
  17. package/cjs/components/progress-indicator/ProgressIndicatorDocs.js +45 -11
  18. package/cjs/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  19. package/cjs/components/progress-indicator/ProgressIndicatorLinear.d.ts +2 -22
  20. package/cjs/components/progress-indicator/ProgressIndicatorLinear.js +18 -10
  21. package/cjs/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  22. package/cjs/components/progress-indicator/style/dnb-progress-indicator.css +52 -55
  23. package/cjs/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  24. package/cjs/components/progress-indicator/style/dnb-progress-indicator.scss +65 -69
  25. package/cjs/components/progress-indicator/types.d.ts +95 -0
  26. package/cjs/components/progress-indicator/types.js +11 -0
  27. package/cjs/components/progress-indicator/types.js.map +1 -0
  28. package/cjs/extensions/forms/DataContext/Context.d.ts +7 -2
  29. package/cjs/extensions/forms/DataContext/Context.js +0 -2
  30. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  31. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +30 -5
  32. package/cjs/extensions/forms/DataContext/Provider/Provider.js +69 -35
  33. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  34. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +27 -2
  35. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  36. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
  37. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  38. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +5 -2
  39. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  40. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +5 -2
  41. package/cjs/extensions/forms/Field/Name/Name.d.ts +10 -0
  42. package/cjs/extensions/forms/Field/Name/Name.js +73 -0
  43. package/cjs/extensions/forms/Field/Name/Name.js.map +1 -0
  44. package/cjs/extensions/forms/Field/Name/NameDocs.d.ts +2 -0
  45. package/cjs/extensions/forms/Field/Name/NameDocs.js +15 -0
  46. package/cjs/extensions/forms/Field/Name/NameDocs.js.map +1 -0
  47. package/cjs/extensions/forms/Field/Name/index.d.ts +2 -0
  48. package/cjs/extensions/forms/Field/Name/index.js +27 -0
  49. package/cjs/extensions/forms/Field/Name/index.js.map +1 -0
  50. package/cjs/extensions/forms/Field/Number/Number.d.ts +2 -2
  51. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  52. package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -0
  53. package/cjs/extensions/forms/Field/Option/Option.js +21 -0
  54. package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
  55. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  56. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +25 -0
  57. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  58. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  59. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  60. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +11 -4
  61. package/cjs/extensions/forms/Field/Selection/Selection.js +20 -32
  62. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  63. package/cjs/extensions/forms/Field/Selection/SelectionDocs.d.ts +2 -0
  64. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +45 -0
  65. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -0
  66. package/cjs/extensions/forms/Field/String/String.d.ts +2 -2
  67. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  68. package/cjs/extensions/forms/Field/index.d.ts +1 -0
  69. package/cjs/extensions/forms/Field/index.js +7 -0
  70. package/cjs/extensions/forms/Field/index.js.map +1 -1
  71. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -3
  72. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  73. package/cjs/extensions/forms/Form/FieldProps/FieldProps.d.ts +13 -0
  74. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js +80 -0
  75. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -0
  76. package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +8 -0
  77. package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.js +15 -0
  78. package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -0
  79. package/cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts +2 -0
  80. package/cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.js +18 -0
  81. package/cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +1 -0
  82. package/cjs/extensions/forms/Form/FieldProps/index.d.ts +2 -0
  83. package/cjs/extensions/forms/Form/FieldProps/index.js +27 -0
  84. package/cjs/extensions/forms/Form/FieldProps/index.js.map +1 -0
  85. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  86. package/cjs/extensions/forms/Form/Handler/Handler.js +18 -4
  87. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  88. package/cjs/extensions/forms/Form/MainHeading/MainHeading.js +1 -1
  89. package/cjs/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  90. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -3
  91. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  92. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +1 -1
  93. package/cjs/extensions/forms/Form/SubHeading/SubHeading.js +1 -1
  94. package/cjs/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  95. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +2 -2
  96. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  97. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +1 -1
  98. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +2 -2
  99. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  100. package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +13 -13
  101. package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -1
  102. package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +1 -1
  103. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +4 -1
  104. package/cjs/extensions/forms/Form/Visibility/Visibility.js +7 -4
  105. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  106. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +5 -0
  107. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  108. package/cjs/extensions/forms/Form/index.d.ts +1 -0
  109. package/cjs/extensions/forms/Form/index.js +7 -0
  110. package/cjs/extensions/forms/Form/index.js.map +1 -1
  111. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -4
  112. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  113. package/cjs/extensions/forms/Iterate/Array/Array.js +2 -2
  114. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  115. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  116. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  117. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
  118. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  119. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  120. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  121. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  122. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  123. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  124. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  125. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +14 -14
  126. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  127. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -1
  128. package/cjs/extensions/forms/Value/Boolean/Boolean.js +8 -3
  129. package/cjs/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  130. package/cjs/extensions/forms/Value/Name/Name.d.ts +10 -0
  131. package/cjs/extensions/forms/Value/Name/Name.js +50 -0
  132. package/cjs/extensions/forms/Value/Name/Name.js.map +1 -0
  133. package/cjs/extensions/forms/Value/Name/index.d.ts +2 -0
  134. package/cjs/extensions/forms/Value/Name/index.js +27 -0
  135. package/cjs/extensions/forms/Value/Name/index.js.map +1 -0
  136. package/cjs/extensions/forms/Value/OrganizationNumber/OrganizationNumber.d.ts +7 -0
  137. package/cjs/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js +36 -0
  138. package/cjs/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js.map +1 -0
  139. package/cjs/extensions/forms/Value/OrganizationNumber/index.d.ts +2 -0
  140. package/cjs/extensions/forms/Value/OrganizationNumber/index.js +27 -0
  141. package/cjs/extensions/forms/Value/OrganizationNumber/index.js.map +1 -0
  142. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.d.ts +7 -0
  143. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +41 -0
  144. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -0
  145. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  146. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +20 -0
  147. package/cjs/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  148. package/cjs/extensions/forms/Value/PostalCodeAndCity/index.d.ts +2 -0
  149. package/cjs/extensions/forms/Value/PostalCodeAndCity/index.js +27 -0
  150. package/cjs/extensions/forms/Value/PostalCodeAndCity/index.js.map +1 -0
  151. package/cjs/extensions/forms/Value/String/String.js +8 -3
  152. package/cjs/extensions/forms/Value/String/String.js.map +1 -1
  153. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js +1 -1
  154. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  155. package/cjs/extensions/forms/Value/ValueDocs.js +6 -1
  156. package/cjs/extensions/forms/Value/ValueDocs.js.map +1 -1
  157. package/cjs/extensions/forms/Value/index.d.ts +3 -0
  158. package/cjs/extensions/forms/Value/index.js +21 -0
  159. package/cjs/extensions/forms/Value/index.js.map +1 -1
  160. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +2 -1
  161. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  162. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
  163. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  164. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +11 -3
  165. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +17 -52
  166. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  167. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +9 -0
  168. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +53 -0
  169. package/cjs/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -0
  170. package/cjs/extensions/forms/Wizard/Container/useStepAnimation.d.ts +4 -0
  171. package/cjs/extensions/forms/Wizard/Container/useStepAnimation.js +37 -0
  172. package/cjs/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -0
  173. package/cjs/extensions/forms/Wizard/Step/Step.js +13 -1
  174. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  175. package/cjs/extensions/forms/Wizard/hooks/useStep.js +5 -2
  176. package/cjs/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  177. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +29 -2
  178. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  179. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +35 -2
  180. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +9 -0
  181. package/cjs/extensions/forms/constants/locales/en-GB.js +12 -3
  182. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  183. package/cjs/extensions/forms/constants/locales/en-US.d.ts +9 -0
  184. package/cjs/extensions/forms/constants/locales/index.d.ts +18 -0
  185. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +9 -0
  186. package/cjs/extensions/forms/constants/locales/nb-NO.js +11 -2
  187. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  188. package/cjs/extensions/forms/hooks/useFieldProps.js +8 -4
  189. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  190. package/cjs/extensions/forms/hooks/useTranslation.js +3 -1
  191. package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
  192. package/cjs/extensions/forms/style/dnb-forms.css +77 -43
  193. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  194. package/cjs/extensions/forms/types.d.ts +3 -2
  195. package/cjs/extensions/forms/types.js.map +1 -1
  196. package/cjs/fragments/drawer-list/DrawerList.d.ts +8 -4
  197. package/cjs/shared/Context.d.ts +4 -4
  198. package/cjs/shared/Context.js.map +1 -1
  199. package/cjs/shared/Eufemia.d.ts +1 -1
  200. package/cjs/shared/Eufemia.js +2 -2
  201. package/cjs/shared/Eufemia.js.map +1 -1
  202. package/cjs/shared/component-helper.d.ts +1 -0
  203. package/cjs/shared/component-helper.js +8 -1
  204. package/cjs/shared/component-helper.js.map +1 -1
  205. package/cjs/shared/helpers/assignPropsWithContext.d.ts +1 -0
  206. package/cjs/shared/helpers/assignPropsWithContext.js +22 -0
  207. package/cjs/shared/helpers/assignPropsWithContext.js.map +1 -0
  208. package/cjs/shared/helpers/extendPropsWithContext.d.ts +1 -0
  209. package/cjs/shared/helpers/extendPropsWithContext.js +1 -0
  210. package/cjs/shared/helpers/extendPropsWithContext.js.map +1 -1
  211. package/cjs/shared/helpers/filterValidProps.d.ts +1 -0
  212. package/cjs/shared/helpers/filterValidProps.js.map +1 -1
  213. package/cjs/shared/helpers/runCssVersionMismatchWarning.js +14 -3
  214. package/cjs/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  215. package/cjs/style/core/scopes.scss +1 -1
  216. package/cjs/style/dnb-ui-basis.css +1 -1
  217. package/cjs/style/dnb-ui-basis.min.css +1 -1
  218. package/cjs/style/dnb-ui-body.css +1 -1
  219. package/cjs/style/dnb-ui-body.min.css +1 -1
  220. package/cjs/style/dnb-ui-components.css +129 -98
  221. package/cjs/style/dnb-ui-components.min.css +2 -2
  222. package/cjs/style/dnb-ui-core.css +1 -1
  223. package/cjs/style/dnb-ui-core.min.css +1 -1
  224. package/cjs/style/dnb-ui-extensions.css +77 -43
  225. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  226. package/cjs/style/dnb-ui-forms.css +77 -43
  227. package/cjs/style/dnb-ui-forms.min.css +1 -1
  228. package/cjs/style/dnb-ui-forms.scss +1 -1
  229. package/cjs/style/themes/eiendom/basis.js +4 -0
  230. package/cjs/style/themes/eiendom/basis.js.map +1 -0
  231. package/cjs/style/themes/eiendom/index.js +5 -0
  232. package/cjs/style/themes/eiendom/index.js.map +1 -0
  233. package/cjs/style/themes/sbanken/basis.js +4 -0
  234. package/cjs/style/themes/sbanken/basis.js.map +1 -0
  235. package/cjs/style/themes/sbanken/index.js +5 -0
  236. package/cjs/style/themes/sbanken/index.js.map +1 -0
  237. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +205 -141
  238. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  239. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +77 -43
  240. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  241. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +77 -43
  242. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  243. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +205 -141
  244. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  245. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +77 -43
  246. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  247. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +77 -43
  248. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  249. package/cjs/style/themes/theme-ui/ui-theme-components.css +205 -141
  250. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  251. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +77 -43
  252. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  253. package/cjs/style/themes/theme-ui/ui-theme-forms.css +77 -43
  254. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  255. package/cjs/style/themes/ui/basis.js +4 -0
  256. package/cjs/style/themes/ui/basis.js.map +1 -0
  257. package/cjs/style/themes/ui/index.js +5 -0
  258. package/cjs/style/themes/ui/index.js.map +1 -0
  259. package/components/aria-live/useAriaLive.d.ts +1 -1
  260. package/components/autocomplete/Autocomplete.d.ts +19 -5
  261. package/components/dropdown/Dropdown.d.ts +22 -5
  262. package/components/height-animation/HeightAnimationInstance.js +5 -0
  263. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  264. package/components/icon/style/dnb-icon.css +1 -0
  265. package/components/icon/style/dnb-icon.min.css +1 -1
  266. package/components/icon/style/dnb-icon.scss +1 -0
  267. package/components/progress-indicator/ProgressIndicator.d.ts +2 -52
  268. package/components/progress-indicator/ProgressIndicator.js +27 -14
  269. package/components/progress-indicator/ProgressIndicator.js.map +1 -1
  270. package/components/progress-indicator/ProgressIndicatorCircular.d.ts +2 -23
  271. package/components/progress-indicator/ProgressIndicatorCircular.js +63 -27
  272. package/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  273. package/components/progress-indicator/ProgressIndicatorDocs.d.ts +1 -0
  274. package/components/progress-indicator/ProgressIndicatorDocs.js +43 -10
  275. package/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  276. package/components/progress-indicator/ProgressIndicatorLinear.d.ts +2 -22
  277. package/components/progress-indicator/ProgressIndicatorLinear.js +18 -10
  278. package/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  279. package/components/progress-indicator/style/dnb-progress-indicator.css +52 -55
  280. package/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  281. package/components/progress-indicator/style/dnb-progress-indicator.scss +65 -69
  282. package/components/progress-indicator/types.d.ts +95 -0
  283. package/components/progress-indicator/types.js +5 -0
  284. package/components/progress-indicator/types.js.map +1 -0
  285. package/es/components/aria-live/useAriaLive.d.ts +1 -1
  286. package/es/components/autocomplete/Autocomplete.d.ts +19 -5
  287. package/es/components/dropdown/Dropdown.d.ts +22 -5
  288. package/es/components/height-animation/HeightAnimationInstance.js +5 -0
  289. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  290. package/es/components/icon/style/dnb-icon.css +1 -0
  291. package/es/components/icon/style/dnb-icon.min.css +1 -1
  292. package/es/components/icon/style/dnb-icon.scss +1 -0
  293. package/es/components/progress-indicator/ProgressIndicator.d.ts +2 -52
  294. package/es/components/progress-indicator/ProgressIndicator.js +27 -14
  295. package/es/components/progress-indicator/ProgressIndicator.js.map +1 -1
  296. package/es/components/progress-indicator/ProgressIndicatorCircular.d.ts +2 -23
  297. package/es/components/progress-indicator/ProgressIndicatorCircular.js +62 -27
  298. package/es/components/progress-indicator/ProgressIndicatorCircular.js.map +1 -1
  299. package/es/components/progress-indicator/ProgressIndicatorDocs.d.ts +1 -0
  300. package/es/components/progress-indicator/ProgressIndicatorDocs.js +43 -10
  301. package/es/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  302. package/es/components/progress-indicator/ProgressIndicatorLinear.d.ts +2 -22
  303. package/es/components/progress-indicator/ProgressIndicatorLinear.js +18 -10
  304. package/es/components/progress-indicator/ProgressIndicatorLinear.js.map +1 -1
  305. package/es/components/progress-indicator/style/dnb-progress-indicator.css +52 -55
  306. package/es/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  307. package/es/components/progress-indicator/style/dnb-progress-indicator.scss +65 -69
  308. package/es/components/progress-indicator/types.d.ts +95 -0
  309. package/es/components/progress-indicator/types.js +5 -0
  310. package/es/components/progress-indicator/types.js.map +1 -0
  311. package/es/extensions/forms/DataContext/Context.d.ts +7 -2
  312. package/es/extensions/forms/DataContext/Context.js +0 -2
  313. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  314. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +30 -5
  315. package/es/extensions/forms/DataContext/Provider/Provider.js +67 -34
  316. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  317. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +27 -2
  318. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  319. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
  320. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  321. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +5 -2
  322. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  323. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +5 -2
  324. package/es/extensions/forms/Field/Name/Name.d.ts +10 -0
  325. package/es/extensions/forms/Field/Name/Name.js +63 -0
  326. package/es/extensions/forms/Field/Name/Name.js.map +1 -0
  327. package/es/extensions/forms/Field/Name/NameDocs.d.ts +2 -0
  328. package/es/extensions/forms/Field/Name/NameDocs.js +8 -0
  329. package/es/extensions/forms/Field/Name/NameDocs.js.map +1 -0
  330. package/es/extensions/forms/Field/Name/index.d.ts +2 -0
  331. package/es/extensions/forms/Field/Name/index.js +3 -0
  332. package/es/extensions/forms/Field/Name/index.js.map +1 -0
  333. package/es/extensions/forms/Field/Number/Number.d.ts +2 -2
  334. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  335. package/es/extensions/forms/Field/Option/Option.d.ts +2 -0
  336. package/es/extensions/forms/Field/Option/Option.js +20 -0
  337. package/es/extensions/forms/Field/Option/Option.js.map +1 -1
  338. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  339. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +18 -0
  340. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  341. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  342. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  343. package/es/extensions/forms/Field/Selection/Selection.d.ts +11 -4
  344. package/es/extensions/forms/Field/Selection/Selection.js +20 -32
  345. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  346. package/es/extensions/forms/Field/Selection/SelectionDocs.d.ts +2 -0
  347. package/es/extensions/forms/Field/Selection/SelectionDocs.js +38 -0
  348. package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -0
  349. package/es/extensions/forms/Field/String/String.d.ts +2 -2
  350. package/es/extensions/forms/Field/String/String.js.map +1 -1
  351. package/es/extensions/forms/Field/index.d.ts +1 -0
  352. package/es/extensions/forms/Field/index.js +1 -0
  353. package/es/extensions/forms/Field/index.js.map +1 -1
  354. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -3
  355. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  356. package/es/extensions/forms/Form/FieldProps/FieldProps.d.ts +13 -0
  357. package/es/extensions/forms/Form/FieldProps/FieldProps.js +71 -0
  358. package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -0
  359. package/es/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +8 -0
  360. package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js +7 -0
  361. package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -0
  362. package/es/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts +2 -0
  363. package/es/extensions/forms/Form/FieldProps/FieldPropsDocs.js +11 -0
  364. package/es/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +1 -0
  365. package/es/extensions/forms/Form/FieldProps/index.d.ts +2 -0
  366. package/es/extensions/forms/Form/FieldProps/index.js +3 -0
  367. package/es/extensions/forms/Form/FieldProps/index.js.map +1 -0
  368. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  369. package/es/extensions/forms/Form/Handler/Handler.js +18 -4
  370. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  371. package/es/extensions/forms/Form/MainHeading/MainHeading.js +1 -1
  372. package/es/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  373. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -3
  374. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  375. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +1 -1
  376. package/es/extensions/forms/Form/SubHeading/SubHeading.js +1 -1
  377. package/es/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  378. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +2 -2
  379. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  380. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +1 -1
  381. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +2 -2
  382. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  383. package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +13 -13
  384. package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -1
  385. package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +1 -1
  386. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +4 -1
  387. package/es/extensions/forms/Form/Visibility/Visibility.js +7 -4
  388. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  389. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +5 -0
  390. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  391. package/es/extensions/forms/Form/index.d.ts +1 -0
  392. package/es/extensions/forms/Form/index.js +1 -0
  393. package/es/extensions/forms/Form/index.js.map +1 -1
  394. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -4
  395. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  396. package/es/extensions/forms/Iterate/Array/Array.js +2 -2
  397. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  398. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  399. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  400. package/es/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
  401. package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  402. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  403. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  404. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  405. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  406. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  407. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  408. package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +14 -14
  409. package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  410. package/es/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -1
  411. package/es/extensions/forms/Value/Boolean/Boolean.js +8 -3
  412. package/es/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  413. package/es/extensions/forms/Value/Name/Name.d.ts +10 -0
  414. package/es/extensions/forms/Value/Name/Name.js +40 -0
  415. package/es/extensions/forms/Value/Name/Name.js.map +1 -0
  416. package/es/extensions/forms/Value/Name/index.d.ts +2 -0
  417. package/es/extensions/forms/Value/Name/index.js +3 -0
  418. package/es/extensions/forms/Value/Name/index.js.map +1 -0
  419. package/es/extensions/forms/Value/OrganizationNumber/OrganizationNumber.d.ts +7 -0
  420. package/es/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js +24 -0
  421. package/es/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js.map +1 -0
  422. package/es/extensions/forms/Value/OrganizationNumber/index.d.ts +2 -0
  423. package/es/extensions/forms/Value/OrganizationNumber/index.js +3 -0
  424. package/es/extensions/forms/Value/OrganizationNumber/index.js.map +1 -0
  425. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.d.ts +7 -0
  426. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +31 -0
  427. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -0
  428. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  429. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +13 -0
  430. package/es/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  431. package/es/extensions/forms/Value/PostalCodeAndCity/index.d.ts +2 -0
  432. package/es/extensions/forms/Value/PostalCodeAndCity/index.js +3 -0
  433. package/es/extensions/forms/Value/PostalCodeAndCity/index.js.map +1 -0
  434. package/es/extensions/forms/Value/String/String.js +8 -3
  435. package/es/extensions/forms/Value/String/String.js.map +1 -1
  436. package/es/extensions/forms/Value/SummaryList/SummaryList.js +1 -1
  437. package/es/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  438. package/es/extensions/forms/Value/ValueDocs.js +6 -1
  439. package/es/extensions/forms/Value/ValueDocs.js.map +1 -1
  440. package/es/extensions/forms/Value/index.d.ts +3 -0
  441. package/es/extensions/forms/Value/index.js +3 -0
  442. package/es/extensions/forms/Value/index.js.map +1 -1
  443. package/es/extensions/forms/ValueBlock/ValueBlock.js +2 -1
  444. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  445. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
  446. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  447. package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +11 -3
  448. package/es/extensions/forms/Wizard/Container/WizardContainer.js +17 -51
  449. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  450. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +9 -0
  451. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +46 -0
  452. package/es/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -0
  453. package/es/extensions/forms/Wizard/Container/useStepAnimation.d.ts +4 -0
  454. package/es/extensions/forms/Wizard/Container/useStepAnimation.js +29 -0
  455. package/es/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -0
  456. package/es/extensions/forms/Wizard/Step/Step.js +14 -2
  457. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  458. package/es/extensions/forms/Wizard/hooks/useStep.js +3 -2
  459. package/es/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  460. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +29 -2
  461. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  462. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +35 -2
  463. package/es/extensions/forms/constants/locales/en-GB.d.ts +9 -0
  464. package/es/extensions/forms/constants/locales/en-GB.js +12 -3
  465. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  466. package/es/extensions/forms/constants/locales/en-US.d.ts +9 -0
  467. package/es/extensions/forms/constants/locales/index.d.ts +18 -0
  468. package/es/extensions/forms/constants/locales/nb-NO.d.ts +9 -0
  469. package/es/extensions/forms/constants/locales/nb-NO.js +11 -2
  470. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  471. package/es/extensions/forms/hooks/useFieldProps.js +8 -3
  472. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  473. package/es/extensions/forms/hooks/useTranslation.js +3 -1
  474. package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
  475. package/es/extensions/forms/style/dnb-forms.css +77 -43
  476. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  477. package/es/extensions/forms/types.d.ts +3 -2
  478. package/es/extensions/forms/types.js.map +1 -1
  479. package/es/fragments/drawer-list/DrawerList.d.ts +8 -4
  480. package/es/shared/Context.d.ts +4 -4
  481. package/es/shared/Context.js.map +1 -1
  482. package/es/shared/Eufemia.d.ts +1 -1
  483. package/es/shared/Eufemia.js +2 -2
  484. package/es/shared/Eufemia.js.map +1 -1
  485. package/es/shared/component-helper.d.ts +1 -0
  486. package/es/shared/component-helper.js +2 -1
  487. package/es/shared/component-helper.js.map +1 -1
  488. package/es/shared/helpers/assignPropsWithContext.d.ts +1 -0
  489. package/es/shared/helpers/assignPropsWithContext.js +12 -0
  490. package/es/shared/helpers/assignPropsWithContext.js.map +1 -0
  491. package/es/shared/helpers/extendPropsWithContext.d.ts +1 -0
  492. package/es/shared/helpers/extendPropsWithContext.js +1 -1
  493. package/es/shared/helpers/extendPropsWithContext.js.map +1 -1
  494. package/es/shared/helpers/filterValidProps.d.ts +1 -0
  495. package/es/shared/helpers/filterValidProps.js.map +1 -1
  496. package/es/shared/helpers/runCssVersionMismatchWarning.js +14 -3
  497. package/es/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  498. package/es/style/core/scopes.scss +1 -1
  499. package/es/style/dnb-ui-basis.css +1 -1
  500. package/es/style/dnb-ui-basis.min.css +1 -1
  501. package/es/style/dnb-ui-body.css +1 -1
  502. package/es/style/dnb-ui-body.min.css +1 -1
  503. package/es/style/dnb-ui-components.css +129 -98
  504. package/es/style/dnb-ui-components.min.css +2 -2
  505. package/es/style/dnb-ui-core.css +1 -1
  506. package/es/style/dnb-ui-core.min.css +1 -1
  507. package/es/style/dnb-ui-extensions.css +77 -43
  508. package/es/style/dnb-ui-extensions.min.css +1 -1
  509. package/es/style/dnb-ui-forms.css +77 -43
  510. package/es/style/dnb-ui-forms.min.css +1 -1
  511. package/es/style/dnb-ui-forms.scss +1 -1
  512. package/es/style/themes/eiendom/basis.js +1 -0
  513. package/es/style/themes/eiendom/basis.js.map +1 -0
  514. package/es/style/themes/eiendom/index.js +3 -0
  515. package/es/style/themes/eiendom/index.js.map +1 -0
  516. package/es/style/themes/sbanken/basis.js +1 -0
  517. package/es/style/themes/sbanken/basis.js.map +1 -0
  518. package/es/style/themes/sbanken/index.d.ts +1 -0
  519. package/es/style/themes/sbanken/index.js +3 -0
  520. package/es/style/themes/sbanken/index.js.map +1 -0
  521. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +205 -141
  522. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  523. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +77 -43
  524. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  525. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +77 -43
  526. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  527. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +205 -141
  528. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  529. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +77 -43
  530. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  531. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +77 -43
  532. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  533. package/es/style/themes/theme-ui/ui-theme-components.css +205 -141
  534. package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  535. package/es/style/themes/theme-ui/ui-theme-extensions.css +77 -43
  536. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  537. package/es/style/themes/theme-ui/ui-theme-forms.css +77 -43
  538. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  539. package/es/style/themes/ui/basis.d.ts +1 -0
  540. package/es/style/themes/ui/basis.js +1 -0
  541. package/es/style/themes/ui/basis.js.map +1 -0
  542. package/es/style/themes/ui/index.d.ts +1 -0
  543. package/es/style/themes/ui/index.js +3 -0
  544. package/es/style/themes/ui/index.js.map +1 -0
  545. package/esm/dnb-ui-basis.min.mjs +1 -1
  546. package/esm/dnb-ui-components.min.mjs +1 -1
  547. package/esm/dnb-ui-elements.min.mjs +1 -1
  548. package/esm/dnb-ui-extensions.min.mjs +3 -3
  549. package/esm/dnb-ui-lib.min.mjs +1 -1
  550. package/extensions/forms/DataContext/Context.d.ts +7 -2
  551. package/extensions/forms/DataContext/Context.js +0 -2
  552. package/extensions/forms/DataContext/Context.js.map +1 -1
  553. package/extensions/forms/DataContext/Provider/Provider.d.ts +30 -5
  554. package/extensions/forms/DataContext/Provider/Provider.js +69 -35
  555. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  556. package/extensions/forms/DataContext/Provider/ProviderDocs.js +27 -2
  557. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  558. package/extensions/forms/Field/ArraySelection/ArraySelection.js +1 -1
  559. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  560. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +5 -2
  561. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  562. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +5 -2
  563. package/extensions/forms/Field/Name/Name.d.ts +10 -0
  564. package/extensions/forms/Field/Name/Name.js +63 -0
  565. package/extensions/forms/Field/Name/Name.js.map +1 -0
  566. package/extensions/forms/Field/Name/NameDocs.d.ts +2 -0
  567. package/extensions/forms/Field/Name/NameDocs.js +8 -0
  568. package/extensions/forms/Field/Name/NameDocs.js.map +1 -0
  569. package/extensions/forms/Field/Name/index.d.ts +2 -0
  570. package/extensions/forms/Field/Name/index.js +3 -0
  571. package/extensions/forms/Field/Name/index.js.map +1 -0
  572. package/extensions/forms/Field/Number/Number.d.ts +2 -2
  573. package/extensions/forms/Field/Number/Number.js.map +1 -1
  574. package/extensions/forms/Field/Option/Option.d.ts +2 -0
  575. package/extensions/forms/Field/Option/Option.js +20 -0
  576. package/extensions/forms/Field/Option/Option.js.map +1 -1
  577. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  578. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +18 -0
  579. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  580. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  581. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  582. package/extensions/forms/Field/Selection/Selection.d.ts +11 -4
  583. package/extensions/forms/Field/Selection/Selection.js +20 -32
  584. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  585. package/extensions/forms/Field/Selection/SelectionDocs.d.ts +2 -0
  586. package/extensions/forms/Field/Selection/SelectionDocs.js +38 -0
  587. package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -0
  588. package/extensions/forms/Field/String/String.d.ts +2 -2
  589. package/extensions/forms/Field/String/String.js.map +1 -1
  590. package/extensions/forms/Field/index.d.ts +1 -0
  591. package/extensions/forms/Field/index.js +1 -0
  592. package/extensions/forms/Field/index.js.map +1 -1
  593. package/extensions/forms/FieldBlock/FieldBlock.d.ts +3 -3
  594. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  595. package/extensions/forms/Form/FieldProps/FieldProps.d.ts +13 -0
  596. package/extensions/forms/Form/FieldProps/FieldProps.js +71 -0
  597. package/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -0
  598. package/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +8 -0
  599. package/extensions/forms/Form/FieldProps/FieldPropsContext.js +7 -0
  600. package/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -0
  601. package/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts +2 -0
  602. package/extensions/forms/Form/FieldProps/FieldPropsDocs.js +11 -0
  603. package/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +1 -0
  604. package/extensions/forms/Form/FieldProps/index.d.ts +2 -0
  605. package/extensions/forms/Form/FieldProps/index.js +3 -0
  606. package/extensions/forms/Form/FieldProps/index.js.map +1 -0
  607. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  608. package/extensions/forms/Form/Handler/Handler.js +18 -4
  609. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  610. package/extensions/forms/Form/MainHeading/MainHeading.js +1 -1
  611. package/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  612. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -3
  613. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  614. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +1 -1
  615. package/extensions/forms/Form/SubHeading/SubHeading.js +1 -1
  616. package/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  617. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +2 -2
  618. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  619. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +1 -1
  620. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +2 -2
  621. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  622. package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.css +13 -13
  623. package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.min.css +1 -1
  624. package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +1 -1
  625. package/extensions/forms/Form/Visibility/Visibility.d.ts +4 -1
  626. package/extensions/forms/Form/Visibility/Visibility.js +7 -4
  627. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  628. package/extensions/forms/Form/Visibility/VisibilityDocs.js +5 -0
  629. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  630. package/extensions/forms/Form/index.d.ts +1 -0
  631. package/extensions/forms/Form/index.js +1 -0
  632. package/extensions/forms/Form/index.js.map +1 -1
  633. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -4
  634. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  635. package/extensions/forms/Iterate/Array/Array.js +2 -2
  636. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  637. package/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  638. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  639. package/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
  640. package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  641. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  642. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  643. package/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  644. package/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  645. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  646. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  647. package/extensions/forms/Iterate/style/dnb-form-iterate.css +14 -14
  648. package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  649. package/extensions/forms/Iterate/style/dnb-form-iterate.scss +1 -1
  650. package/extensions/forms/Value/Boolean/Boolean.js +8 -3
  651. package/extensions/forms/Value/Boolean/Boolean.js.map +1 -1
  652. package/extensions/forms/Value/Name/Name.d.ts +10 -0
  653. package/extensions/forms/Value/Name/Name.js +40 -0
  654. package/extensions/forms/Value/Name/Name.js.map +1 -0
  655. package/extensions/forms/Value/Name/index.d.ts +2 -0
  656. package/extensions/forms/Value/Name/index.js +3 -0
  657. package/extensions/forms/Value/Name/index.js.map +1 -0
  658. package/extensions/forms/Value/OrganizationNumber/OrganizationNumber.d.ts +7 -0
  659. package/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js +24 -0
  660. package/extensions/forms/Value/OrganizationNumber/OrganizationNumber.js.map +1 -0
  661. package/extensions/forms/Value/OrganizationNumber/index.d.ts +2 -0
  662. package/extensions/forms/Value/OrganizationNumber/index.js +3 -0
  663. package/extensions/forms/Value/OrganizationNumber/index.js.map +1 -0
  664. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.d.ts +7 -0
  665. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js +31 -0
  666. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -0
  667. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.d.ts +2 -0
  668. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js +13 -0
  669. package/extensions/forms/Value/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -0
  670. package/extensions/forms/Value/PostalCodeAndCity/index.d.ts +2 -0
  671. package/extensions/forms/Value/PostalCodeAndCity/index.js +3 -0
  672. package/extensions/forms/Value/PostalCodeAndCity/index.js.map +1 -0
  673. package/extensions/forms/Value/String/String.js +8 -3
  674. package/extensions/forms/Value/String/String.js.map +1 -1
  675. package/extensions/forms/Value/SummaryList/SummaryList.js +1 -1
  676. package/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  677. package/extensions/forms/Value/ValueDocs.js +6 -1
  678. package/extensions/forms/Value/ValueDocs.js.map +1 -1
  679. package/extensions/forms/Value/index.d.ts +3 -0
  680. package/extensions/forms/Value/index.js +3 -0
  681. package/extensions/forms/Value/index.js.map +1 -1
  682. package/extensions/forms/ValueBlock/ValueBlock.js +2 -1
  683. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  684. package/extensions/forms/ValueBlock/style/dnb-value-block.css +11 -6
  685. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  686. package/extensions/forms/ValueBlock/style/dnb-value-block.scss +11 -3
  687. package/extensions/forms/Wizard/Container/WizardContainer.js +17 -52
  688. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  689. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.d.ts +9 -0
  690. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js +47 -0
  691. package/extensions/forms/Wizard/Container/useHandleLayoutEffect.js.map +1 -0
  692. package/extensions/forms/Wizard/Container/useStepAnimation.d.ts +4 -0
  693. package/extensions/forms/Wizard/Container/useStepAnimation.js +30 -0
  694. package/extensions/forms/Wizard/Container/useStepAnimation.js.map +1 -0
  695. package/extensions/forms/Wizard/Step/Step.js +14 -2
  696. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  697. package/extensions/forms/Wizard/hooks/useStep.js +3 -2
  698. package/extensions/forms/Wizard/hooks/useStep.js.map +1 -1
  699. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +29 -2
  700. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  701. package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +35 -2
  702. package/extensions/forms/constants/locales/en-GB.d.ts +9 -0
  703. package/extensions/forms/constants/locales/en-GB.js +12 -3
  704. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  705. package/extensions/forms/constants/locales/en-US.d.ts +9 -0
  706. package/extensions/forms/constants/locales/index.d.ts +18 -0
  707. package/extensions/forms/constants/locales/nb-NO.d.ts +9 -0
  708. package/extensions/forms/constants/locales/nb-NO.js +11 -2
  709. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  710. package/extensions/forms/hooks/useFieldProps.js +8 -4
  711. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  712. package/extensions/forms/hooks/useTranslation.js +3 -1
  713. package/extensions/forms/hooks/useTranslation.js.map +1 -1
  714. package/extensions/forms/style/dnb-forms.css +77 -43
  715. package/extensions/forms/style/dnb-forms.min.css +1 -1
  716. package/extensions/forms/types.d.ts +3 -2
  717. package/extensions/forms/types.js.map +1 -1
  718. package/fragments/drawer-list/DrawerList.d.ts +8 -4
  719. package/package.json +1 -1
  720. package/shared/Context.d.ts +4 -4
  721. package/shared/Context.js.map +1 -1
  722. package/shared/Eufemia.d.ts +1 -1
  723. package/shared/Eufemia.js +2 -2
  724. package/shared/Eufemia.js.map +1 -1
  725. package/shared/component-helper.d.ts +1 -0
  726. package/shared/component-helper.js +2 -1
  727. package/shared/component-helper.js.map +1 -1
  728. package/shared/helpers/assignPropsWithContext.d.ts +1 -0
  729. package/shared/helpers/assignPropsWithContext.js +16 -0
  730. package/shared/helpers/assignPropsWithContext.js.map +1 -0
  731. package/shared/helpers/extendPropsWithContext.d.ts +1 -0
  732. package/shared/helpers/extendPropsWithContext.js +1 -1
  733. package/shared/helpers/extendPropsWithContext.js.map +1 -1
  734. package/shared/helpers/filterValidProps.d.ts +1 -0
  735. package/shared/helpers/filterValidProps.js.map +1 -1
  736. package/shared/helpers/runCssVersionMismatchWarning.js +14 -3
  737. package/shared/helpers/runCssVersionMismatchWarning.js.map +1 -1
  738. package/style/core/scopes.scss +1 -1
  739. package/style/dnb-ui-basis.css +1 -1
  740. package/style/dnb-ui-basis.min.css +1 -1
  741. package/style/dnb-ui-body.css +1 -1
  742. package/style/dnb-ui-body.min.css +1 -1
  743. package/style/dnb-ui-components.css +129 -98
  744. package/style/dnb-ui-components.min.css +2 -2
  745. package/style/dnb-ui-core.css +1 -1
  746. package/style/dnb-ui-core.min.css +1 -1
  747. package/style/dnb-ui-extensions.css +77 -43
  748. package/style/dnb-ui-extensions.min.css +1 -1
  749. package/style/dnb-ui-forms.css +77 -43
  750. package/style/dnb-ui-forms.min.css +1 -1
  751. package/style/dnb-ui-forms.scss +1 -1
  752. package/style/themes/eiendom/basis.d.ts +1 -0
  753. package/style/themes/eiendom/basis.js +1 -0
  754. package/style/themes/eiendom/basis.js.map +1 -0
  755. package/style/themes/eiendom/index.d.ts +1 -0
  756. package/style/themes/eiendom/index.js +3 -0
  757. package/style/themes/eiendom/index.js.map +1 -0
  758. package/style/themes/sbanken/basis.d.ts +1 -0
  759. package/style/themes/sbanken/basis.js +1 -0
  760. package/style/themes/sbanken/basis.js.map +1 -0
  761. package/style/themes/sbanken/index.d.ts +1 -0
  762. package/style/themes/sbanken/index.js +3 -0
  763. package/style/themes/sbanken/index.js.map +1 -0
  764. package/style/themes/theme-eiendom/eiendom-theme-components.css +205 -141
  765. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  766. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +77 -43
  767. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  768. package/style/themes/theme-eiendom/eiendom-theme-forms.css +77 -43
  769. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  770. package/style/themes/theme-sbanken/sbanken-theme-components.css +205 -141
  771. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  772. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +77 -43
  773. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  774. package/style/themes/theme-sbanken/sbanken-theme-forms.css +77 -43
  775. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  776. package/style/themes/theme-ui/ui-theme-components.css +205 -141
  777. package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  778. package/style/themes/theme-ui/ui-theme-extensions.css +77 -43
  779. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  780. package/style/themes/theme-ui/ui-theme-forms.css +77 -43
  781. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  782. package/style/themes/ui/basis.d.ts +1 -0
  783. package/style/themes/ui/basis.js +1 -0
  784. package/style/themes/ui/basis.js.map +1 -0
  785. package/style/themes/ui/index.d.ts +1 -0
  786. package/style/themes/ui/index.js +3 -0
  787. package/style/themes/ui/index.js.map +1 -0
  788. package/umd/dnb-ui-basis.min.js +1 -1
  789. package/umd/dnb-ui-components.min.js +1 -1
  790. package/umd/dnb-ui-elements.min.js +1 -1
  791. package/umd/dnb-ui-extensions.min.js +3 -3
  792. package/umd/dnb-ui-lib.min.js +1 -1
  793. package/cjs/style/themes/eiendom.js +0 -5
  794. package/cjs/style/themes/eiendom.js.map +0 -1
  795. package/cjs/style/themes/sbanken.js +0 -5
  796. package/cjs/style/themes/sbanken.js.map +0 -1
  797. package/cjs/style/themes/ui.js +0 -5
  798. package/cjs/style/themes/ui.js.map +0 -1
  799. package/es/style/themes/eiendom.js +0 -3
  800. package/es/style/themes/eiendom.js.map +0 -1
  801. package/es/style/themes/sbanken.js +0 -3
  802. package/es/style/themes/sbanken.js.map +0 -1
  803. package/es/style/themes/ui.js +0 -3
  804. package/es/style/themes/ui.js.map +0 -1
  805. package/style/themes/eiendom.js +0 -3
  806. package/style/themes/eiendom.js.map +0 -1
  807. package/style/themes/sbanken.js +0 -3
  808. package/style/themes/sbanken.js.map +0 -1
  809. package/style/themes/ui.js +0 -3
  810. package/style/themes/ui.js.map +0 -1
  811. /package/cjs/extensions/forms/Form/Element/style/{dnb-forms-element.css → dnb-form-element.css} +0 -0
  812. /package/cjs/extensions/forms/Form/Element/style/{dnb-forms-element.min.css → dnb-form-element.min.css} +0 -0
  813. /package/cjs/extensions/forms/Form/Element/style/{dnb-forms-element.scss → dnb-form-element.scss} +0 -0
  814. /package/cjs/style/themes/{eiendom.d.ts → eiendom/basis.d.ts} +0 -0
  815. /package/cjs/style/themes/{sbanken.d.ts → eiendom/index.d.ts} +0 -0
  816. /package/cjs/style/themes/{ui.d.ts → sbanken/basis.d.ts} +0 -0
  817. /package/{es/style/themes/eiendom.d.ts → cjs/style/themes/sbanken/index.d.ts} +0 -0
  818. /package/{es/style/themes/sbanken.d.ts → cjs/style/themes/ui/basis.d.ts} +0 -0
  819. /package/{es/style/themes/ui.d.ts → cjs/style/themes/ui/index.d.ts} +0 -0
  820. /package/es/extensions/forms/Form/Element/style/{dnb-forms-element.css → dnb-form-element.css} +0 -0
  821. /package/es/extensions/forms/Form/Element/style/{dnb-forms-element.min.css → dnb-form-element.min.css} +0 -0
  822. /package/es/extensions/forms/Form/Element/style/{dnb-forms-element.scss → dnb-form-element.scss} +0 -0
  823. /package/{style/themes/eiendom.d.ts → es/style/themes/eiendom/basis.d.ts} +0 -0
  824. /package/{style/themes/sbanken.d.ts → es/style/themes/eiendom/index.d.ts} +0 -0
  825. /package/{style/themes/ui.d.ts → es/style/themes/sbanken/basis.d.ts} +0 -0
  826. /package/extensions/forms/Form/Element/style/{dnb-forms-element.css → dnb-form-element.css} +0 -0
  827. /package/extensions/forms/Form/Element/style/{dnb-forms-element.min.css → dnb-form-element.min.css} +0 -0
  828. /package/extensions/forms/Form/Element/style/{dnb-forms-element.scss → dnb-form-element.scss} +0 -0
@@ -3,8 +3,8 @@
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
5
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
6
- var _Circle, _circle;
7
- const _excluded = ["size", "visible", "progress", "maxOffset", "onComplete", "callOnCompleteHandler", "title"];
6
+ const _excluded = ["size", "visible", "progress", "onComplete", "callOnCompleteHandler", "title", "customColors", "customCircleWidth", "counterClockwise"],
7
+ _excluded2 = ["customColor", "customWidth", "className"];
8
8
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
9
9
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
10
10
  import React, { useEffect, useRef, forwardRef } from 'react';
@@ -16,10 +16,12 @@ function ProgressIndicatorCircular(props) {
16
16
  size,
17
17
  visible,
18
18
  progress,
19
- maxOffset = 88,
20
19
  onComplete,
21
20
  callOnCompleteHandler,
22
- title
21
+ title,
22
+ customColors,
23
+ customCircleWidth,
24
+ counterClockwise = false
23
25
  } = props,
24
26
  rest = _objectWithoutProperties(props, _excluded);
25
27
  const keepAnimatingRef = useRef(true);
@@ -51,7 +53,7 @@ function ProgressIndicatorCircular(props) {
51
53
  }, [visible]);
52
54
  const doAnimation = (element, animateOnStart = true, callback = null) => {
53
55
  const min = 1;
54
- const max = 88;
56
+ const max = Math.PI * 100;
55
57
  let start = 0,
56
58
  ms = 0,
57
59
  prog = max,
@@ -65,13 +67,13 @@ function ProgressIndicatorCircular(props) {
65
67
  }
66
68
  ms = timestamp - start;
67
69
  if (animate1) {
68
- if (!visibleRef.current && prog < 5) {
70
+ if (!visibleRef.current && prog < 20) {
69
71
  prog = min;
70
72
  }
71
73
  if (setProg) {
72
- element.style['stroke-dashoffset'] = prog;
74
+ element.style['stroke-dashoffset'] = `${prog}%`;
73
75
  } else if (!animateOnStart) {
74
- element.style['stroke-dashoffset'] = max;
76
+ element.style['stroke-dashoffset'] = `${max}%`;
75
77
  }
76
78
  }
77
79
  if (stopNextRound) {
@@ -99,9 +101,8 @@ function ProgressIndicatorCircular(props) {
99
101
  window.requestAnimationFrame(step);
100
102
  }
101
103
  };
102
- const strokeDashoffset = maxOffset - maxOffset / 100 * progress;
103
- const hasProgressValue = progress > -1;
104
- if (hasProgressValue) {
104
+ const progressIsControlled = progress > -1;
105
+ if (progressIsControlled) {
105
106
  rest.role = 'progressbar';
106
107
  rest['aria-label'] = title;
107
108
  rest['title'] = title;
@@ -111,33 +112,67 @@ function ProgressIndicatorCircular(props) {
111
112
  }
112
113
  const remainingDOMAttributes = validateDOMAttributes(props, _objectSpread({}, rest));
113
114
  return React.createElement("span", _extends({
114
- className: classnames('dnb-progress-indicator__circular', size && `dnb-progress-indicator__circular--${size}`, hasProgressValue && 'dnb-progress-indicator__circular--has-progress-value')
115
- }, remainingDOMAttributes), _Circle || (_Circle = React.createElement(Circle, {
116
- className: "dnb-progress-indicator__circular__line light paused"
115
+ className: classnames('dnb-progress-indicator__circular', size && `dnb-progress-indicator__circular--${size}`, progressIsControlled && 'dnb-progress-indicator__circular--has-progress-value')
116
+ }, remainingDOMAttributes), React.createElement("span", {
117
+ className: "dnb-progress-indicator__circular__background-padding"
118
+ }, React.createElement("span", {
119
+ className: "dnb-progress-indicator__circular__background",
120
+ style: {
121
+ backgroundColor: customColors === null || customColors === void 0 ? void 0 : customColors.background
122
+ }
117
123
  })), React.createElement(Circle, {
118
- className: "dnb-progress-indicator__circular__line dark dark" + (hasProgressValue || useAnimationFrame ? " paused" : ""),
119
- style: hasProgressValue ? {
120
- strokeDashoffset
124
+ className: "light paused",
125
+ customColor: customColors === null || customColors === void 0 ? void 0 : customColors.shaft,
126
+ customWidth: customCircleWidth
127
+ }), React.createElement(Circle, {
128
+ className: "dark dark" + (progressIsControlled || useAnimationFrame ? " paused" : ""),
129
+ style: progressIsControlled ? {
130
+ strokeDashoffset: getOffset(progress, counterClockwise)
121
131
  } : {},
132
+ customColor: customColors === null || customColors === void 0 ? void 0 : customColors.line,
133
+ customWidth: customCircleWidth,
122
134
  ref: _refDark
123
- }), !hasProgressValue && React.createElement(Circle, {
124
- className: "dnb-progress-indicator__circular__line light" + (useAnimationFrame ? " paused" : ""),
135
+ }), !progressIsControlled && React.createElement(Circle, {
136
+ className: 'light' + (useAnimationFrame ? " paused" : ""),
137
+ customColor: customColors === null || customColors === void 0 ? void 0 : customColors.shaft,
138
+ customWidth: customCircleWidth,
125
139
  ref: _refLight
126
140
  }));
127
141
  }
128
- const Circle = forwardRef(function Circle(props, ref) {
142
+ const Circle = forwardRef(function Circle(_ref, ref) {
143
+ let {
144
+ customColor,
145
+ customWidth,
146
+ className
147
+ } = _ref,
148
+ rest = _objectWithoutProperties(_ref, _excluded2);
149
+ const correctedCustomWidth = correctPercentageStrokeWidth(customWidth);
129
150
  return React.createElement("svg", _extends({
130
- viewBox: "0 0 32 32",
151
+ className: classnames('dnb-progress-indicator__circular__line', className),
131
152
  shapeRendering: "geometricPrecision",
132
153
  ref: ref
133
- }, props), _circle || (_circle = React.createElement("circle", {
154
+ }, rest), React.createElement("circle", {
134
155
  className: "dnb-progress-indicator__circular__circle",
135
156
  fill: "none",
136
- strokeWidth: "4",
137
- cx: "16",
138
- cy: "16",
139
- r: "14"
140
- })));
157
+ cx: "50%",
158
+ cy: "50%",
159
+ r: "50%",
160
+ style: _objectSpread({
161
+ stroke: customColor
162
+ }, correctedCustomWidth ? {
163
+ '--progress-indicator-circular-stroke-width': correctedCustomWidth
164
+ } : undefined)
165
+ }));
141
166
  });
167
+ function getOffset(progress, counterClockwise = false) {
168
+ const offset = Math.PI * (100 - progress);
169
+ return `${counterClockwise ? -offset : offset}%`;
170
+ }
171
+ function correctPercentageStrokeWidth(strokeWidth) {
172
+ if (typeof strokeWidth === 'string' && strokeWidth.endsWith('%')) {
173
+ const number = parseFloat(strokeWidth.slice(0, strokeWidth.length - 1));
174
+ return `${100 * number / (100 - number)}%`;
175
+ }
176
+ }
142
177
  export default ProgressIndicatorCircular;
143
178
  //# sourceMappingURL=ProgressIndicatorCircular.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressIndicatorCircular.js","names":["React","useEffect","useRef","forwardRef","classnames","validateDOMAttributes","IS_EDGE","ProgressIndicatorCircular","props","size","visible","progress","maxOffset","onComplete","callOnCompleteHandler","title","rest","_objectWithoutProperties","_excluded","keepAnimatingRef","visibleRef","useAnimationFrame","_refDark","_refLight","_startupTimeout","current","setTimeout","doAnimation","clearTimeout","element","animateOnStart","callback","min","max","start","ms","prog","setProg","animate1","completeCalled","stopNextRound","step","timestamp","style","Math","round","ceil","window","requestAnimationFrame","strokeDashoffset","hasProgressValue","role","remainingDOMAttributes","_objectSpread","createElement","_extends","className","_Circle","Circle","ref","viewBox","shapeRendering","_circle","fill","strokeWidth","cx","cy","r"],"sources":["../../../../src/components/progress-indicator/ProgressIndicatorCircular.tsx"],"sourcesContent":["/**\n * Web ProgressIndicator Component\n *\n */\n\nimport React, { useEffect, useRef, forwardRef } from 'react'\nimport classnames from 'classnames'\nimport { validateDOMAttributes } from '../../shared/component-helper'\nimport { IS_EDGE } from '../../shared/helpers'\n\ntype ProgressIndicatorCircularProps = {\n /**\n * Defines the size, like `small`, `default`, `medium` or `large`. Defaults to `default`.\n */\n size?: 'default' | 'small' | 'medium' | 'large' | 'huge'\n /**\n * Defines the visibility of the progress. Toggling the `visible` property to `false` will force a fade-out animation. Defaults to `true`.\n */\n visible?: boolean\n /**\n * To visualize a static \"percentage\" (0-100) as a progress state. Defaults to `null`.\n */\n progress?: number\n maxOffset?: number\n onComplete?: (...args: any[]) => any\n callOnCompleteHandler?: (...args: any[]) => any\n /**\n * Used to set title and aria-label. Defaults to the value of progress property, formatted as a percent.\n */\n title?: string\n}\n\nfunction ProgressIndicatorCircular(\n props: ProgressIndicatorCircularProps &\n Omit<React.HTMLProps<HTMLElement>, 'size'>\n) {\n const {\n size,\n visible,\n progress,\n maxOffset = 88,\n onComplete,\n callOnCompleteHandler,\n title,\n ...rest\n } = props\n const keepAnimatingRef = useRef(true)\n const visibleRef = useRef(false)\n const useAnimationFrame = typeof onComplete === 'function' || IS_EDGE\n const _refDark = useRef<SVGSVGElement>(null)\n const _refLight = useRef<SVGSVGElement>(null)\n const _startupTimeout = useRef<NodeJS.Timeout>()\n\n useEffect(() => {\n if (useAnimationFrame) {\n _startupTimeout.current = setTimeout(() => {\n if (_refDark.current) {\n doAnimation(_refDark.current, true, callOnCompleteHandler)\n }\n if (_refLight.current) {\n doAnimation(_refLight.current, false)\n }\n }, 300)\n }\n\n return () => {\n keepAnimatingRef.current = false\n if (_startupTimeout.current) {\n clearTimeout(_startupTimeout.current)\n }\n }\n }, [])\n\n useEffect(() => {\n visibleRef.current = visible\n }, [visible])\n\n const doAnimation = (\n element: SVGSVGElement,\n animateOnStart = true,\n callback = null\n ) => {\n const min = 1\n const max = 88\n let start = 0,\n ms = 0,\n prog = max,\n setProg = animateOnStart,\n animate1 = true,\n completeCalled = false,\n stopNextRound = false\n\n const step = (timestamp) => {\n if (!start) {\n start = timestamp\n }\n\n // milliseconds\n ms = timestamp - start\n\n if (animate1) {\n if (!visibleRef.current && prog < 5) {\n prog = min\n }\n if (setProg) {\n element.style['stroke-dashoffset'] = prog\n } else if (!animateOnStart) {\n element.style['stroke-dashoffset'] = max\n }\n }\n\n // if complete\n if (stopNextRound) {\n animate1 = false\n if (!completeCalled) {\n completeCalled = true\n if (animateOnStart && typeof callback === 'function') {\n callback()\n }\n } else if (visibleRef.current && ms % 1e3 > 950) {\n // startAnimationFirstTime() // will not start completely from scratch\n stopNextRound = false\n }\n } else {\n // make sure we stop next round\n stopNextRound = !visibleRef.current && prog === min\n animate1 = true\n completeCalled = false\n }\n\n // since we have 1sec as duration, and we want always a max of 1000ms\n prog = Math.round(max - (max / 1e3) * (ms % 1e3))\n\n // calc if we want to animate\n setProg = animateOnStart\n ? Math.ceil(ms / 1e3) % 2 === 1 || ms === 0\n : Math.ceil(ms / 1e3) % 2 === 0 && ms !== 0\n\n if (keepAnimatingRef.current) {\n window.requestAnimationFrame(step)\n }\n }\n if (typeof window !== 'undefined' && window.requestAnimationFrame) {\n window.requestAnimationFrame(step)\n }\n }\n\n const strokeDashoffset = maxOffset - (maxOffset / 100) * progress\n const hasProgressValue = progress > -1\n\n if (hasProgressValue) {\n rest.role = 'progressbar'\n rest['aria-label'] = title\n rest['title'] = title\n } else {\n rest.role = 'alert'\n rest['aria-busy'] = true\n }\n\n const remainingDOMAttributes = validateDOMAttributes(props, { ...rest })\n\n return (\n <span\n className={classnames(\n 'dnb-progress-indicator__circular',\n size && `dnb-progress-indicator__circular--${size}`,\n hasProgressValue &&\n 'dnb-progress-indicator__circular--has-progress-value'\n )}\n {...remainingDOMAttributes}\n >\n {/* The first one is the background line */}\n <Circle\n className={classnames(\n 'dnb-progress-indicator__circular__line',\n 'light',\n 'paused'\n )}\n />\n <Circle\n className={classnames(\n 'dnb-progress-indicator__circular__line',\n 'dark',\n 'dark',\n hasProgressValue || useAnimationFrame ? 'paused' : null\n )}\n style={hasProgressValue ? { strokeDashoffset } : {}}\n ref={_refDark}\n />\n {!hasProgressValue && (\n <Circle\n className={classnames(\n 'dnb-progress-indicator__circular__line',\n 'light',\n useAnimationFrame ? 'paused' : null\n )}\n ref={_refLight}\n />\n )}\n </span>\n )\n}\n\nconst Circle = forwardRef(function Circle(\n props: React.HTMLProps<SVGSVGElement>,\n ref: React.RefObject<SVGSVGElement>\n) {\n return (\n <svg\n viewBox=\"0 0 32 32\"\n shapeRendering=\"geometricPrecision\"\n ref={ref}\n {...props}\n >\n <circle\n className=\"dnb-progress-indicator__circular__circle\"\n fill=\"none\"\n strokeWidth=\"4\"\n cx=\"16\"\n cy=\"16\"\n r=\"14\"\n />\n </svg>\n )\n})\n\nexport default ProgressIndicatorCircular\n"],"mappings":"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"}
1
+ {"version":3,"file":"ProgressIndicatorCircular.js","names":["React","useEffect","useRef","forwardRef","classnames","validateDOMAttributes","IS_EDGE","ProgressIndicatorCircular","props","size","visible","progress","onComplete","callOnCompleteHandler","title","customColors","customCircleWidth","counterClockwise","rest","_objectWithoutProperties","_excluded","keepAnimatingRef","visibleRef","useAnimationFrame","_refDark","_refLight","_startupTimeout","current","setTimeout","doAnimation","clearTimeout","element","animateOnStart","callback","min","max","Math","PI","start","ms","prog","setProg","animate1","completeCalled","stopNextRound","step","timestamp","style","round","ceil","window","requestAnimationFrame","progressIsControlled","role","remainingDOMAttributes","_objectSpread","createElement","_extends","className","backgroundColor","background","Circle","customColor","shaft","customWidth","strokeDashoffset","getOffset","line","ref","_ref","_excluded2","correctedCustomWidth","correctPercentageStrokeWidth","shapeRendering","fill","cx","cy","r","stroke","undefined","offset","strokeWidth","endsWith","number","parseFloat","slice","length"],"sources":["../../../../src/components/progress-indicator/ProgressIndicatorCircular.tsx"],"sourcesContent":["/**\n * Web ProgressIndicator Component\n *\n */\n\nimport React, { useEffect, useRef, forwardRef } from 'react'\nimport * as CSS from 'csstype'\nimport classnames from 'classnames'\nimport { validateDOMAttributes } from '../../shared/component-helper'\nimport { IS_EDGE } from '../../shared/helpers'\nimport { ProgressIndicatorCircularAllProps } from './types'\n\nfunction ProgressIndicatorCircular(\n props: ProgressIndicatorCircularAllProps\n) {\n const {\n size,\n visible,\n progress,\n onComplete,\n callOnCompleteHandler,\n title,\n customColors,\n customCircleWidth,\n counterClockwise = false,\n ...rest\n } = props\n const keepAnimatingRef = useRef(true)\n const visibleRef = useRef(false)\n const useAnimationFrame = typeof onComplete === 'function' || IS_EDGE\n const _refDark = useRef<SVGSVGElement>(null)\n const _refLight = useRef<SVGSVGElement>(null)\n const _startupTimeout = useRef<NodeJS.Timeout>()\n\n useEffect(() => {\n if (useAnimationFrame) {\n _startupTimeout.current = setTimeout(() => {\n if (_refDark.current) {\n doAnimation(_refDark.current, true, callOnCompleteHandler)\n }\n if (_refLight.current) {\n doAnimation(_refLight.current, false)\n }\n }, 300)\n }\n\n return () => {\n keepAnimatingRef.current = false\n if (_startupTimeout.current) {\n clearTimeout(_startupTimeout.current)\n }\n }\n }, [])\n\n useEffect(() => {\n visibleRef.current = visible\n }, [visible])\n\n const doAnimation = (\n element: SVGSVGElement,\n animateOnStart = true,\n callback = null\n ) => {\n const min = 1\n const max = Math.PI * 100\n let start = 0,\n ms = 0,\n prog = max,\n setProg = animateOnStart,\n animate1 = true,\n completeCalled = false,\n stopNextRound = false\n\n const step = (timestamp) => {\n if (!start) {\n start = timestamp\n }\n\n // milliseconds\n ms = timestamp - start\n\n if (animate1) {\n if (!visibleRef.current && prog < 20) {\n prog = min\n }\n if (setProg) {\n element.style['stroke-dashoffset'] = `${prog}%`\n } else if (!animateOnStart) {\n element.style['stroke-dashoffset'] = `${max}%`\n }\n }\n\n // if complete\n if (stopNextRound) {\n animate1 = false\n if (!completeCalled) {\n completeCalled = true\n if (animateOnStart && typeof callback === 'function') {\n callback()\n }\n } else if (visibleRef.current && ms % 1e3 > 950) {\n // startAnimationFirstTime() // will not start completely from scratch\n stopNextRound = false\n }\n } else {\n // make sure we stop next round\n stopNextRound = !visibleRef.current && prog === min\n animate1 = true\n completeCalled = false\n }\n\n // since we have 1sec as duration, and we want always a max of 1000ms\n prog = Math.round(max - (max / 1e3) * (ms % 1e3))\n\n // calc if we want to animate\n setProg = animateOnStart\n ? Math.ceil(ms / 1e3) % 2 === 1 || ms === 0\n : Math.ceil(ms / 1e3) % 2 === 0 && ms !== 0\n\n if (keepAnimatingRef.current) {\n window.requestAnimationFrame(step)\n }\n }\n if (typeof window !== 'undefined' && window.requestAnimationFrame) {\n window.requestAnimationFrame(step)\n }\n }\n\n const progressIsControlled = progress > -1\n\n if (progressIsControlled) {\n rest.role = 'progressbar'\n rest['aria-label'] = title\n rest['title'] = title\n } else {\n rest.role = 'alert'\n rest['aria-busy'] = true\n }\n\n const remainingDOMAttributes = validateDOMAttributes(props, { ...rest })\n\n return (\n <span\n className={classnames(\n 'dnb-progress-indicator__circular',\n size && `dnb-progress-indicator__circular--${size}`,\n progressIsControlled &&\n 'dnb-progress-indicator__circular--has-progress-value'\n )}\n {...remainingDOMAttributes}\n >\n <span className=\"dnb-progress-indicator__circular__background-padding\">\n <span\n className=\"dnb-progress-indicator__circular__background\"\n style={{ backgroundColor: customColors?.background }}\n />\n </span>\n\n {/* The first one is the background line */}\n <Circle\n className={classnames('light', 'paused')}\n customColor={customColors?.shaft}\n customWidth={customCircleWidth}\n />\n <Circle\n className={classnames(\n 'dark',\n 'dark',\n progressIsControlled || useAnimationFrame ? 'paused' : null\n )}\n style={\n progressIsControlled\n ? {\n strokeDashoffset: getOffset(progress, counterClockwise),\n }\n : {}\n }\n customColor={customColors?.line}\n customWidth={customCircleWidth}\n ref={_refDark}\n />\n {!progressIsControlled && (\n <Circle\n className={classnames(\n 'light',\n useAnimationFrame ? 'paused' : null\n )}\n customColor={customColors?.shaft}\n customWidth={customCircleWidth}\n ref={_refLight}\n />\n )}\n </span>\n )\n}\n\nconst Circle = forwardRef(function Circle(\n {\n customColor,\n customWidth,\n className,\n ...rest\n }: React.HTMLProps<SVGSVGElement> & {\n customColor?: CSS.Property.BackgroundColor\n customWidth?: CSS.Property.StrokeWidth\n },\n ref: React.RefObject<SVGSVGElement>\n) {\n const correctedCustomWidth = correctPercentageStrokeWidth(customWidth)\n return (\n <svg\n className={classnames(\n 'dnb-progress-indicator__circular__line',\n className\n )}\n shapeRendering=\"geometricPrecision\"\n ref={ref}\n {...rest}\n >\n <circle\n className=\"dnb-progress-indicator__circular__circle\"\n fill=\"none\"\n cx=\"50%\"\n cy=\"50%\"\n r=\"50%\"\n style={{\n stroke: customColor,\n ...(correctedCustomWidth\n ? {\n '--progress-indicator-circular-stroke-width':\n correctedCustomWidth,\n }\n : undefined),\n }}\n />\n </svg>\n )\n})\n/**\n *\n * @param progress number between 0-100\n * @param counterClockwise decides direction of movement. Default is `false`\n * @returns\n */\n\nfunction getOffset(progress: number, counterClockwise = false) {\n const offset = Math.PI * (100 - progress)\n return `${counterClockwise ? -offset : offset}%`\n}\n\n/**\n * If the custom stroke width is a percentage, returns a corrected width\n * relative to the parent SVG\n * @param strokeWidth\n * @returns\n */\nfunction correctPercentageStrokeWidth(\n strokeWidth: CSS.Property.StrokeWidth\n) {\n if (typeof strokeWidth === 'string' && strokeWidth.endsWith('%')) {\n const number = parseFloat(strokeWidth.slice(0, strokeWidth.length - 1))\n return `${(100 * number) / (100 - number)}%`\n }\n}\nexport default ProgressIndicatorCircular\n"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { PropertiesTableProps } from '../../shared/types';
2
2
  export declare const ProgressIndicatorProperties: PropertiesTableProps;
3
+ export declare const CustomColorsData: PropertiesTableProps;
3
4
  export declare const ProgressIndicatorDeprecatedProperties: PropertiesTableProps;
4
5
  export declare const ProgressIndicatorEvents: PropertiesTableProps;
5
6
  export declare const ProgressIndicatorDeprecatedEvents: PropertiesTableProps;
@@ -13,7 +13,7 @@ export const ProgressIndicatorProperties = {
13
13
  },
14
14
  type: {
15
15
  doc: 'Defines the type.',
16
- type: [`'circular'`, `'linear'`],
16
+ type: [`'circular'`, `'linear'`, `'countdown'`],
17
17
  defaultValue: `'circular'`,
18
18
  status: 'optional'
19
19
  },
@@ -25,19 +25,25 @@ export const ProgressIndicatorProperties = {
25
25
  },
26
26
  size: {
27
27
  doc: 'Defines the size.',
28
- type: [`'default'`, `'small'`, `'medium'`, `'large'`, `'huge'`],
28
+ type: [`'default'`, `'small'`, `'medium'`, `'large'`, `'huge'`, 'string'],
29
29
  defaultValue: `'default'`,
30
30
  status: 'optional'
31
31
  },
32
32
  label: {
33
- doc: 'Show a custom label to the right or under the indicator.',
33
+ doc: 'Content of a custom label. (Overrides `indicator_label` and `showDefaultLabel`)',
34
+ type: 'React.ReactNode',
35
+ defaultValue: 'undefined',
36
+ status: 'optional'
37
+ },
38
+ children: {
39
+ doc: 'Same as `label` prop (`label` prop has priority)',
34
40
  type: 'React.ReactNode',
35
41
  defaultValue: 'undefined',
36
42
  status: 'optional'
37
43
  },
38
44
  labelDirection: {
39
- doc: 'Sets the position of the label.',
40
- type: [`'horizontal'`, '`vertical`'],
45
+ doc: "Sets the position of the label. `'inside'` only works with `type='circular'.",
46
+ type: [`'horizontal'`, `'vertical'`, `'inside'`],
41
47
  defaultValue: `'horizontal'`,
42
48
  status: 'optional'
43
49
  },
@@ -59,12 +65,44 @@ export const ProgressIndicatorProperties = {
59
65
  defaultValue: 'undefined',
60
66
  status: 'optional'
61
67
  },
68
+ '[customColors](/uilib/components/progress-indicator/properties/#data-object-customcolors)': {
69
+ doc: 'Send in custom css colors that overrides any css. See below for data structure.',
70
+ type: 'object',
71
+ defaultValue: 'undefined',
72
+ status: 'optional'
73
+ },
74
+ customCircleWidth: {
75
+ doc: 'Send in custom css width for circle progress line. (`undefined` defaults to one eighth of the size).',
76
+ type: 'string',
77
+ defaultValue: 'undefined',
78
+ status: 'optional'
79
+ },
62
80
  '[Space](/uilib/layout/space/properties)': {
63
81
  doc: 'Spacing properties like `top` or `bottom` are supported.',
64
82
  type: ['string', 'object'],
65
83
  status: 'optional'
66
84
  }
67
85
  };
86
+ export const CustomColorsData = {
87
+ line: {
88
+ doc: 'Override the moving line color.',
89
+ type: 'string',
90
+ defaultValue: 'undefined',
91
+ status: 'optional'
92
+ },
93
+ shaft: {
94
+ doc: 'Override the background line color.',
95
+ type: 'string',
96
+ defaultValue: 'undefined',
97
+ status: 'optional'
98
+ },
99
+ background: {
100
+ doc: 'Set a background color for the center of the circle.',
101
+ type: 'string',
102
+ defaultValue: 'undefined',
103
+ status: 'optional'
104
+ }
105
+ };
68
106
  export const ProgressIndicatorDeprecatedProperties = {
69
107
  no_animation: {
70
108
  doc: 'use `noAnimation`.',
@@ -80,11 +118,6 @@ export const ProgressIndicatorDeprecatedProperties = {
80
118
  doc: 'use `showDefaultLabel`.',
81
119
  type: 'boolean',
82
120
  status: 'deprecated'
83
- },
84
- children: {
85
- doc: 'use the `label` prop instead.',
86
- type: 'React.ReactNode',
87
- status: 'deprecated'
88
121
  }
89
122
  };
90
123
  export const ProgressIndicatorEvents = {
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressIndicatorDocs.js","names":["ProgressIndicatorProperties","progress","doc","type","defaultValue","status","visible","noAnimation","size","label","labelDirection","showDefaultLabel","indicator_label","title","ProgressIndicatorDeprecatedProperties","no_animation","label_direction","show_label","children","ProgressIndicatorEvents","onComplete","ProgressIndicatorDeprecatedEvents","on_complete"],"sources":["../../../../src/components/progress-indicator/ProgressIndicatorDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const ProgressIndicatorProperties: PropertiesTableProps = {\n progress: {\n doc: 'A number between 0-100, if not supplied a continous loading-type animation will be used.',\n type: ['string', 'number'],\n defaultValue: 'undefined',\n status: 'optional',\n },\n visible: {\n doc: 'Defines the visibility of the progress. Toggling the `visible` property to `false` will force a fade-out animation.',\n type: 'boolean',\n defaultValue: 'true',\n status: 'optional',\n },\n type: {\n doc: 'Defines the type.',\n type: [`'circular'`, `'linear'`],\n defaultValue: `'circular'`,\n status: 'optional',\n },\n noAnimation: {\n doc: 'Disables the fade-in and fade-out animation.',\n type: 'boolean',\n defaultValue: 'false',\n status: 'optional',\n },\n size: {\n doc: 'Defines the size.',\n type: [`'default'`, `'small'`, `'medium'`, `'large'`, `'huge'`],\n defaultValue: `'default'`,\n status: 'optional',\n },\n label: {\n doc: 'Show a custom label to the right or under the indicator.',\n type: 'React.ReactNode',\n defaultValue: 'undefined',\n status: 'optional',\n },\n labelDirection: {\n doc: 'Sets the position of the label.',\n type: [`'horizontal'`, '`vertical`'],\n defaultValue: `'horizontal'`,\n status: 'optional',\n },\n showDefaultLabel: {\n doc: 'If set to `true` a default label (from text locales) will be shown.',\n type: 'boolean',\n defaultValue: 'false',\n status: 'optional',\n },\n indicator_label: {\n doc: 'Use this to override the default label from text locales.',\n type: 'string',\n defaultValue: 'undefined',\n status: 'optional',\n },\n title: {\n doc: 'Used to set title and aria-label. Defaults to the value of progress property, formatted as a percent.',\n type: 'string',\n defaultValue: 'undefined',\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const ProgressIndicatorDeprecatedProperties: PropertiesTableProps =\n {\n no_animation: {\n doc: 'use `noAnimation`.',\n type: ' boolean',\n status: 'deprecated',\n },\n label_direction: {\n doc: 'use `labelDirection`.',\n type: 'string',\n status: 'deprecated',\n },\n show_label: {\n doc: 'use `showDefaultLabel`.',\n type: 'boolean',\n status: 'deprecated',\n },\n children: {\n doc: 'use the `label` prop instead.',\n type: 'React.ReactNode',\n status: 'deprecated',\n },\n }\n\nexport const ProgressIndicatorEvents: PropertiesTableProps = {\n onComplete: {\n doc: \"Will be called once it's no longer `visible`.\",\n type: 'function',\n defaultValue: 'undefined',\n status: 'optional',\n },\n}\nexport const ProgressIndicatorDeprecatedEvents: PropertiesTableProps = {\n on_complete: {\n doc: 'use `onComplete`.',\n type: 'function',\n status: 'deprecated',\n },\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ProgressIndicatorDocs.js","names":["ProgressIndicatorProperties","progress","doc","type","defaultValue","status","visible","noAnimation","size","label","children","labelDirection","showDefaultLabel","indicator_label","title","customCircleWidth","CustomColorsData","line","shaft","background","ProgressIndicatorDeprecatedProperties","no_animation","label_direction","show_label","ProgressIndicatorEvents","onComplete","ProgressIndicatorDeprecatedEvents","on_complete"],"sources":["../../../../src/components/progress-indicator/ProgressIndicatorDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const ProgressIndicatorProperties: PropertiesTableProps = {\n progress: {\n doc: 'A number between 0-100, if not supplied a continous loading-type animation will be used.',\n type: ['string', 'number'],\n defaultValue: 'undefined',\n status: 'optional',\n },\n visible: {\n doc: 'Defines the visibility of the progress. Toggling the `visible` property to `false` will force a fade-out animation.',\n type: 'boolean',\n defaultValue: 'true',\n status: 'optional',\n },\n type: {\n doc: 'Defines the type.',\n type: [`'circular'`, `'linear'`, `'countdown'`],\n defaultValue: `'circular'`,\n status: 'optional',\n },\n noAnimation: {\n doc: 'Disables the fade-in and fade-out animation.',\n type: 'boolean',\n defaultValue: 'false',\n status: 'optional',\n },\n size: {\n doc: 'Defines the size.',\n type: [\n `'default'`,\n `'small'`,\n `'medium'`,\n `'large'`,\n `'huge'`,\n 'string',\n ],\n defaultValue: `'default'`,\n status: 'optional',\n },\n label: {\n doc: 'Content of a custom label. (Overrides `indicator_label` and `showDefaultLabel`)',\n type: 'React.ReactNode',\n defaultValue: 'undefined',\n status: 'optional',\n },\n children: {\n doc: 'Same as `label` prop (`label` prop has priority)',\n type: 'React.ReactNode',\n defaultValue: 'undefined',\n status: 'optional',\n },\n labelDirection: {\n doc: \"Sets the position of the label. `'inside'` only works with `type='circular'.\",\n type: [`'horizontal'`, `'vertical'`, `'inside'`],\n defaultValue: `'horizontal'`,\n status: 'optional',\n },\n showDefaultLabel: {\n doc: 'If set to `true` a default label (from text locales) will be shown.',\n type: 'boolean',\n defaultValue: 'false',\n status: 'optional',\n },\n indicator_label: {\n doc: 'Use this to override the default label from text locales.',\n type: 'string',\n defaultValue: 'undefined',\n status: 'optional',\n },\n title: {\n doc: 'Used to set title and aria-label. Defaults to the value of progress property, formatted as a percent.',\n type: 'string',\n defaultValue: 'undefined',\n status: 'optional',\n },\n '[customColors](/uilib/components/progress-indicator/properties/#data-object-customcolors)':\n {\n doc: 'Send in custom css colors that overrides any css. See below for data structure.',\n type: 'object',\n defaultValue: 'undefined',\n status: 'optional',\n },\n customCircleWidth: {\n doc: 'Send in custom css width for circle progress line. (`undefined` defaults to one eighth of the size).',\n type: 'string',\n defaultValue: 'undefined',\n status: 'optional',\n },\n '[Space](/uilib/layout/space/properties)': {\n doc: 'Spacing properties like `top` or `bottom` are supported.',\n type: ['string', 'object'],\n status: 'optional',\n },\n}\n\nexport const CustomColorsData: PropertiesTableProps = {\n line: {\n doc: 'Override the moving line color.',\n type: 'string',\n defaultValue: 'undefined',\n status: 'optional',\n },\n shaft: {\n doc: 'Override the background line color.',\n type: 'string',\n defaultValue: 'undefined',\n status: 'optional',\n },\n background: {\n doc: 'Set a background color for the center of the circle.',\n type: 'string',\n defaultValue: 'undefined',\n status: 'optional',\n },\n}\n\nexport const ProgressIndicatorDeprecatedProperties: PropertiesTableProps =\n {\n no_animation: {\n doc: 'use `noAnimation`.',\n type: ' boolean',\n status: 'deprecated',\n },\n label_direction: {\n doc: 'use `labelDirection`.',\n type: 'string',\n status: 'deprecated',\n },\n show_label: {\n doc: 'use `showDefaultLabel`.',\n type: 'boolean',\n status: 'deprecated',\n },\n }\n\nexport const ProgressIndicatorEvents: PropertiesTableProps = {\n onComplete: {\n doc: \"Will be called once it's no longer `visible`.\",\n type: 'function',\n defaultValue: 'undefined',\n status: 'optional',\n },\n}\nexport const ProgressIndicatorDeprecatedEvents: PropertiesTableProps = {\n on_complete: {\n doc: 'use `onComplete`.',\n type: 'function',\n status: 'deprecated',\n },\n}\n"],"mappings":"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"}
@@ -2,26 +2,6 @@
2
2
  * Web ProgressIndicator Component
3
3
  *
4
4
  */
5
- import React from 'react';
6
- type ProgressIndicatorLinearProps = {
7
- /**
8
- * Defines the size, like `small`, `default`, `medium` or `large`. Defaults to `default`.
9
- */
10
- size?: string;
11
- /**
12
- * Defines the visibility of the progress. Toggling the `visible` property to `false` will force a fade-out animation. Defaults to `true`.
13
- */
14
- visible?: boolean;
15
- /**
16
- * To visualize a static "percentage" (0-100) as a progress state. Defaults to `null`.
17
- */
18
- progress?: number;
19
- onComplete?: (...args: any[]) => any;
20
- callOnCompleteHandler?: (...args: any[]) => any;
21
- /**
22
- * Used to set title and aria-label. Defaults to the value of progress property, formatted as a percent.
23
- */
24
- title?: string;
25
- };
26
- declare function ProgressIndicatorLine(props: ProgressIndicatorLinearProps & Omit<React.HTMLProps<HTMLElement>, 'size'>): import("react/jsx-runtime").JSX.Element;
5
+ import { ProgressIndicatorLinearAllProps } from './types';
6
+ declare function ProgressIndicatorLine(props: ProgressIndicatorLinearAllProps): import("react/jsx-runtime").JSX.Element;
27
7
  export default ProgressIndicatorLine;
@@ -3,8 +3,7 @@
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
5
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
6
- var _span;
7
- const _excluded = ["size", "title", "progress", "visible", "onComplete", "callOnCompleteHandler"];
6
+ const _excluded = ["size", "title", "progress", "visible", "onComplete", "callOnCompleteHandler", "customColors", "style"];
8
7
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
9
8
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
10
9
  import React, { useRef, useEffect } from 'react';
@@ -23,7 +22,9 @@ function ProgressIndicatorLine(props) {
23
22
  progress,
24
23
  visible,
25
24
  onComplete,
26
- callOnCompleteHandler
25
+ callOnCompleteHandler,
26
+ customColors,
27
+ style
27
28
  } = props,
28
29
  rest = _objectWithoutProperties(props, _excluded);
29
30
  const onCompleteIsFn = typeof onComplete === 'function' && typeof callOnCompleteHandler === 'function';
@@ -43,15 +44,22 @@ function ProgressIndicatorLine(props) {
43
44
  }
44
45
  const remainingDOMAttributes = validateDOMAttributes(props, _objectSpread({}, rest));
45
46
  return React.createElement("span", _extends({
46
- className: 'dnb-progress-indicator__linear' + (size ? ` dnb-progress-indicator__linear--${size}` : "")
47
+ className: 'dnb-progress-indicator__linear' + (size ? ` dnb-progress-indicator__linear--${size}` : ""),
48
+ style: _objectSpread(_objectSpread({}, style), (customColors === null || customColors === void 0 ? void 0 : customColors.shaft) && {
49
+ backgroundColor: customColors === null || customColors === void 0 ? void 0 : customColors.shaft
50
+ })
47
51
  }, remainingDOMAttributes), React.createElement("span", {
48
52
  className: "dnb-progress-indicator__linear__bar " + (hasProgressValue ? 'dnb-progress-indicator__linear__bar-transition' : 'dnb-progress-indicator__linear__bar1-animation'),
49
- style: hasProgressValue ? {
50
- transform
51
- } : {}
52
- }), !hasProgressValue && (_span || (_span = React.createElement("span", {
53
- className: "dnb-progress-indicator__linear__bar dnb-progress-indicator__linear__bar2-animation"
54
- }))));
53
+ style: {
54
+ backgroundColor: customColors === null || customColors === void 0 ? void 0 : customColors.line,
55
+ transform: hasProgressValue ? transform : undefined
56
+ }
57
+ }), !hasProgressValue && React.createElement("span", {
58
+ className: "dnb-progress-indicator__linear__bar dnb-progress-indicator__linear__bar2-animation",
59
+ style: {
60
+ backgroundColor: customColors === null || customColors === void 0 ? void 0 : customColors.line
61
+ }
62
+ }));
55
63
  }
56
64
  export default ProgressIndicatorLine;
57
65
  //# sourceMappingURL=ProgressIndicatorLinear.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressIndicatorLinear.js","names":["React","useRef","useEffect","validateDOMAttributes","usePrevious","value","ref","current","ProgressIndicatorLine","props","size","title","progress","visible","onComplete","callOnCompleteHandler","rest","_objectWithoutProperties","_excluded","onCompleteIsFn","visibleCurrent","visiblePrev","hasProgressValue","transform","role","remainingDOMAttributes","_objectSpread","createElement","_extends","className","style","_span"],"sources":["../../../../src/components/progress-indicator/ProgressIndicatorLinear.tsx"],"sourcesContent":["/**\n * Web ProgressIndicator Component\n *\n */\n\nimport React, { useRef, useEffect } from 'react'\nimport classnames from 'classnames'\nimport { validateDOMAttributes } from '../../shared/component-helper'\ntype ProgressIndicatorLinearProps = {\n /**\n * Defines the size, like `small`, `default`, `medium` or `large`. Defaults to `default`.\n */\n size?: string\n /**\n * Defines the visibility of the progress. Toggling the `visible` property to `false` will force a fade-out animation. Defaults to `true`.\n */\n visible?: boolean\n /**\n * To visualize a static \"percentage\" (0-100) as a progress state. Defaults to `null`.\n */\n progress?: number\n onComplete?: (...args: any[]) => any\n callOnCompleteHandler?: (...args: any[]) => any\n /**\n * Used to set title and aria-label. Defaults to the value of progress property, formatted as a percent.\n */\n title?: string\n}\n\nfunction usePrevious<P>(value: P): [P, P] {\n const ref = useRef<P>()\n useEffect(() => {\n ref.current = value\n }, [value])\n return [ref.current, value]\n}\n\nfunction ProgressIndicatorLine(\n props: ProgressIndicatorLinearProps &\n Omit<React.HTMLProps<HTMLElement>, 'size'>\n) {\n const {\n size,\n title,\n progress,\n visible,\n onComplete,\n callOnCompleteHandler,\n ...rest\n } = props\n\n const onCompleteIsFn =\n typeof onComplete === 'function' &&\n typeof callOnCompleteHandler === 'function'\n\n const [visibleCurrent, visiblePrev] = usePrevious(visible)\n\n if (onCompleteIsFn && !visibleCurrent && visiblePrev) {\n callOnCompleteHandler()\n }\n\n const hasProgressValue = progress > -1\n\n const transform = `translateX(${(progress || 0) - 100}%)`\n\n if (hasProgressValue) {\n rest.role = 'progressbar'\n rest['aria-label'] = title\n rest['title'] = title\n } else {\n rest.role = 'alert'\n rest['aria-busy'] = true\n }\n\n const remainingDOMAttributes = validateDOMAttributes(props, { ...rest })\n\n return (\n <span\n className={classnames(\n 'dnb-progress-indicator__linear',\n size && `dnb-progress-indicator__linear--${size}`\n )}\n {...remainingDOMAttributes}\n >\n <span\n className={classnames(\n 'dnb-progress-indicator__linear__bar',\n hasProgressValue &&\n 'dnb-progress-indicator__linear__bar-transition',\n !hasProgressValue &&\n 'dnb-progress-indicator__linear__bar1-animation'\n )}\n style={hasProgressValue ? { transform } : {}}\n />\n {!hasProgressValue && (\n <span\n className={classnames(\n 'dnb-progress-indicator__linear__bar',\n 'dnb-progress-indicator__linear__bar2-animation'\n )}\n />\n )}\n </span>\n )\n}\n\nexport default ProgressIndicatorLine\n"],"mappings":";;;;;;;;;AAKA,OAAOA,KAAK,IAAIC,MAAM,EAAEC,SAAS,QAAQ,OAAO;AAEhD,SAASC,qBAAqB,QAAQ,+BAA+B;AAsBrE,SAASC,WAAWA,CAAIC,KAAQ,EAAU;EACxC,MAAMC,GAAG,GAAGL,MAAM,CAAI,CAAC;EACvBC,SAAS,CAAC,MAAM;IACdI,GAAG,CAACC,OAAO,GAAGF,KAAK;EACrB,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EACX,OAAO,CAACC,GAAG,CAACC,OAAO,EAAEF,KAAK,CAAC;AAC7B;AAEA,SAASG,qBAAqBA,CAC5BC,KAC4C,EAC5C;EACA,MAAM;MACJC,IAAI;MACJC,KAAK;MACLC,QAAQ;MACRC,OAAO;MACPC,UAAU;MACVC;IAEF,CAAC,GAAGN,KAAK;IADJO,IAAI,GAAAC,wBAAA,CACLR,KAAK,EAAAS,SAAA;EAET,MAAMC,cAAc,GAClB,OAAOL,UAAU,KAAK,UAAU,IAChC,OAAOC,qBAAqB,KAAK,UAAU;EAE7C,MAAM,CAACK,cAAc,EAAEC,WAAW,CAAC,GAAGjB,WAAW,CAACS,OAAO,CAAC;EAE1D,IAAIM,cAAc,IAAI,CAACC,cAAc,IAAIC,WAAW,EAAE;IACpDN,qBAAqB,CAAC,CAAC;EACzB;EAEA,MAAMO,gBAAgB,GAAGV,QAAQ,GAAG,CAAC,CAAC;EAEtC,MAAMW,SAAS,GAAI,cAAa,CAACX,QAAQ,IAAI,CAAC,IAAI,GAAI,IAAG;EAEzD,IAAIU,gBAAgB,EAAE;IACpBN,IAAI,CAACQ,IAAI,GAAG,aAAa;IACzBR,IAAI,CAAC,YAAY,CAAC,GAAGL,KAAK;IAC1BK,IAAI,CAAC,OAAO,CAAC,GAAGL,KAAK;EACvB,CAAC,MAAM;IACLK,IAAI,CAACQ,IAAI,GAAG,OAAO;IACnBR,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI;EAC1B;EAEA,MAAMS,sBAAsB,GAAGtB,qBAAqB,CAACM,KAAK,EAAAiB,aAAA,KAAOV,IAAI,CAAE,CAAC;EAExE,OACEhB,KAAA,CAAA2B,aAAA,SAAAC,QAAA;IACEC,SAAS,EACP,gCAAgC,IAChCnB,IAAI,uCAAuCA,IAAK;EAChD,GACEe,sBAAsB,GAE1BzB,KAAA,CAAA2B,aAAA;IACEE,SAAS,4CAEPP,gBAAgB,GACd,gDAAgD,GAEhD,gDAAgD,CAClD;IACFQ,KAAK,EAAER,gBAAgB,GAAG;MAAEC;IAAU,CAAC,GAAG,CAAC;EAAE,CAC9C,CAAC,EACD,CAACD,gBAAgB,KAAAS,KAAA,KAAAA,KAAA,GAChB/B,KAAA,CAAA2B,aAAA;IACEE,SAAS;EAGP,CACH,CAAC,EAEA,CAAC;AAEX;AAEA,eAAerB,qBAAqB"}
1
+ {"version":3,"file":"ProgressIndicatorLinear.js","names":["React","useRef","useEffect","validateDOMAttributes","usePrevious","value","ref","current","ProgressIndicatorLine","props","size","title","progress","visible","onComplete","callOnCompleteHandler","customColors","style","rest","_objectWithoutProperties","_excluded","onCompleteIsFn","visibleCurrent","visiblePrev","hasProgressValue","transform","role","remainingDOMAttributes","_objectSpread","createElement","_extends","className","shaft","backgroundColor","line","undefined"],"sources":["../../../../src/components/progress-indicator/ProgressIndicatorLinear.tsx"],"sourcesContent":["/**\n * Web ProgressIndicator Component\n *\n */\n\nimport React, { useRef, useEffect } from 'react'\nimport classnames from 'classnames'\nimport { validateDOMAttributes } from '../../shared/component-helper'\nimport { ProgressIndicatorLinearAllProps } from './types'\n\nfunction usePrevious<P>(value: P): [P, P] {\n const ref = useRef<P>()\n useEffect(() => {\n ref.current = value\n }, [value])\n return [ref.current, value]\n}\n\nfunction ProgressIndicatorLine(props: ProgressIndicatorLinearAllProps) {\n const {\n size,\n title,\n progress,\n visible,\n onComplete,\n callOnCompleteHandler,\n customColors,\n style,\n ...rest\n } = props\n\n const onCompleteIsFn =\n typeof onComplete === 'function' &&\n typeof callOnCompleteHandler === 'function'\n\n const [visibleCurrent, visiblePrev] = usePrevious(visible)\n\n if (onCompleteIsFn && !visibleCurrent && visiblePrev) {\n callOnCompleteHandler()\n }\n\n const hasProgressValue = progress > -1\n\n const transform = `translateX(${(progress || 0) - 100}%)`\n\n if (hasProgressValue) {\n rest.role = 'progressbar'\n rest['aria-label'] = title\n rest['title'] = title\n } else {\n rest.role = 'alert'\n rest['aria-busy'] = true\n }\n\n const remainingDOMAttributes = validateDOMAttributes(props, { ...rest })\n\n return (\n <span\n className={classnames(\n 'dnb-progress-indicator__linear',\n size && `dnb-progress-indicator__linear--${size}`\n )}\n style={{\n ...style,\n ...(customColors?.shaft && {\n backgroundColor: customColors?.shaft,\n }),\n }}\n {...remainingDOMAttributes}\n >\n <span\n className={classnames(\n 'dnb-progress-indicator__linear__bar',\n hasProgressValue &&\n 'dnb-progress-indicator__linear__bar-transition',\n !hasProgressValue &&\n 'dnb-progress-indicator__linear__bar1-animation'\n )}\n style={{\n backgroundColor: customColors?.line,\n transform: hasProgressValue ? transform : undefined,\n }}\n />\n {!hasProgressValue && (\n <span\n className={classnames(\n 'dnb-progress-indicator__linear__bar',\n 'dnb-progress-indicator__linear__bar2-animation'\n )}\n style={{\n backgroundColor: customColors?.line,\n }}\n />\n )}\n </span>\n )\n}\n\nexport default ProgressIndicatorLine\n"],"mappings":";;;;;;;;AAKA,OAAOA,KAAK,IAAIC,MAAM,EAAEC,SAAS,QAAQ,OAAO;AAEhD,SAASC,qBAAqB,QAAQ,+BAA+B;AAGrE,SAASC,WAAWA,CAAIC,KAAQ,EAAU;EACxC,MAAMC,GAAG,GAAGL,MAAM,CAAI,CAAC;EACvBC,SAAS,CAAC,MAAM;IACdI,GAAG,CAACC,OAAO,GAAGF,KAAK;EACrB,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EACX,OAAO,CAACC,GAAG,CAACC,OAAO,EAAEF,KAAK,CAAC;AAC7B;AAEA,SAASG,qBAAqBA,CAACC,KAAsC,EAAE;EACrE,MAAM;MACJC,IAAI;MACJC,KAAK;MACLC,QAAQ;MACRC,OAAO;MACPC,UAAU;MACVC,qBAAqB;MACrBC,YAAY;MACZC;IAEF,CAAC,GAAGR,KAAK;IADJS,IAAI,GAAAC,wBAAA,CACLV,KAAK,EAAAW,SAAA;EAET,MAAMC,cAAc,GAClB,OAAOP,UAAU,KAAK,UAAU,IAChC,OAAOC,qBAAqB,KAAK,UAAU;EAE7C,MAAM,CAACO,cAAc,EAAEC,WAAW,CAAC,GAAGnB,WAAW,CAACS,OAAO,CAAC;EAE1D,IAAIQ,cAAc,IAAI,CAACC,cAAc,IAAIC,WAAW,EAAE;IACpDR,qBAAqB,CAAC,CAAC;EACzB;EAEA,MAAMS,gBAAgB,GAAGZ,QAAQ,GAAG,CAAC,CAAC;EAEtC,MAAMa,SAAS,GAAI,cAAa,CAACb,QAAQ,IAAI,CAAC,IAAI,GAAI,IAAG;EAEzD,IAAIY,gBAAgB,EAAE;IACpBN,IAAI,CAACQ,IAAI,GAAG,aAAa;IACzBR,IAAI,CAAC,YAAY,CAAC,GAAGP,KAAK;IAC1BO,IAAI,CAAC,OAAO,CAAC,GAAGP,KAAK;EACvB,CAAC,MAAM;IACLO,IAAI,CAACQ,IAAI,GAAG,OAAO;IACnBR,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI;EAC1B;EAEA,MAAMS,sBAAsB,GAAGxB,qBAAqB,CAACM,KAAK,EAAAmB,aAAA,KAAOV,IAAI,CAAE,CAAC;EAExE,OACElB,KAAA,CAAA6B,aAAA,SAAAC,QAAA;IACEC,SAAS,EACP,gCAAgC,IAChCrB,IAAI,uCAAuCA,IAAK,QAChD;IACFO,KAAK,EAAAW,aAAA,CAAAA,aAAA,KACAX,KAAK,GACJ,CAAAD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEgB,KAAK,KAAI;MACzBC,eAAe,EAAEjB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEgB;IACjC,CAAC;EACD,GACEL,sBAAsB,GAE1B3B,KAAA,CAAA6B,aAAA;IACEE,SAAS,4CAEPP,gBAAgB,GACd,gDAAgD,GAEhD,gDAAgD,CAClD;IACFP,KAAK,EAAE;MACLgB,eAAe,EAAEjB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEkB,IAAI;MACnCT,SAAS,EAAED,gBAAgB,GAAGC,SAAS,GAAGU;IAC5C;EAAE,CACH,CAAC,EACD,CAACX,gBAAgB,IAChBxB,KAAA,CAAA6B,aAAA;IACEE,SAAS,sFAGP;IACFd,KAAK,EAAE;MACLgB,eAAe,EAAEjB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEkB;IACjC;EAAE,CACH,CAEC,CAAC;AAEX;AAEA,eAAe1B,qBAAqB"}
@@ -7,11 +7,16 @@
7
7
  */
8
8
  .dnb-progress-indicator {
9
9
  --progress-indicator-timing: cubic-bezier(0.5, 0, 0.5, 0.99);
10
- --progress-indicator-circular-circle: 88;
11
- --progress-indicator-circular-circle-offset--min: 88;
12
- --progress-indicator-circular-circle-offset--max: 1;
10
+ --progress-indicator-circular-circle: 314.159265359%;
11
+ --progress-indicator-circular-circle-offset--min: 314.159265359%;
12
+ --progress-indicator-circular-circle-offset--max: 1%;
13
+ --progress-indicator-circular-size: 2rem;
14
+ --progress-indicator-circular-stroke-width: calc(
15
+ var(--progress-indicator-circular-size) / 8
16
+ );
13
17
  --progress-indicator-circular-background-color: grey;
14
18
  --progress-indicator-circular-bar-color: var(--color-black);
19
+ --progress-indicator-linear-size: 0.5rem;
15
20
  --progress-indicator-linear-background-color: grey;
16
21
  --progress-indicator-linear-bar-color: var(--color-black);
17
22
  position: relative;
@@ -44,10 +49,32 @@
44
49
  .dnb-progress-indicator--vertical .dnb-progress-indicator__label {
45
50
  padding-top: 0.5rem;
46
51
  }
52
+ .dnb-progress-indicator--inside .dnb-progress-indicator__label {
53
+ position: absolute;
54
+ width: 100%;
55
+ justify-content: center;
56
+ padding: var(--progress-indicator-circular-stroke-width);
57
+ }
58
+ .dnb-progress-indicator--small {
59
+ --progress-indicator-circular-size: 1rem;
60
+ --progress-indicator-linear-size: 0.25rem;
61
+ }
62
+ .dnb-progress-indicator--medium {
63
+ --progress-indicator-circular-size: 1.5rem;
64
+ --progress-indicator-linear-size: 1rem;
65
+ }
66
+ .dnb-progress-indicator--large {
67
+ --progress-indicator-circular-size: 3.5rem;
68
+ --progress-indicator-linear-size: 1.5rem;
69
+ }
70
+ .dnb-progress-indicator--huge {
71
+ --progress-indicator-circular-size: 20rem;
72
+ --progress-indicator-linear-size: 2rem;
73
+ }
47
74
  .dnb-progress-indicator__circular {
48
75
  position: relative;
49
- width: 2rem;
50
- height: 2rem;
76
+ width: var(--progress-indicator-circular-size);
77
+ height: var(--progress-indicator-circular-size);
51
78
  transform: rotate(-90deg);
52
79
  }
53
80
  .dnb-progress-indicator__circular svg {
@@ -55,6 +82,21 @@
55
82
  inset: 0;
56
83
  width: 100%;
57
84
  height: 100%;
85
+ padding: calc(var(--progress-indicator-circular-stroke-width) / 2);
86
+ }
87
+ .dnb-progress-indicator__circular svg:not(:root) {
88
+ overflow: visible;
89
+ }
90
+ .dnb-progress-indicator__circular__background-padding {
91
+ display: block;
92
+ height: 100%;
93
+ padding: calc(var(--progress-indicator-circular-stroke-width) / 2);
94
+ }
95
+ .dnb-progress-indicator__circular__background {
96
+ display: block;
97
+ height: 100%;
98
+ background-color: transparent;
99
+ border-radius: 50%;
58
100
  }
59
101
  .dnb-progress-indicator__circular__line {
60
102
  animation-duration: 2s;
@@ -83,43 +125,14 @@
83
125
  }
84
126
  .dnb-progress-indicator__circular__circle {
85
127
  stroke-linecap: round;
128
+ stroke-width: var(--progress-indicator-circular-stroke-width);
86
129
  }
87
130
  .dnb-progress-indicator__circular__line.light .dnb-progress-indicator__circular__circle {
88
131
  stroke: var(--progress-indicator-circular-background-color);
89
132
  }
90
133
  .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle {
91
134
  stroke: var(--progress-indicator-circular-bar-color);
92
- }
93
- .dnb-progress-indicator__circular--small {
94
- width: 1rem;
95
- height: 1rem;
96
- }
97
- .dnb-progress-indicator__circular--medium {
98
- width: 1.5rem;
99
- height: 1.5rem;
100
- }
101
- .dnb-progress-indicator__circular--large {
102
- width: 3.5rem;
103
- height: 3.5rem;
104
- }
105
- .dnb-progress-indicator__circular--huge {
106
- width: 20rem;
107
- height: 20rem;
108
- }
109
- .dnb-progress-indicator__circular--small .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle {
110
- stroke-width: 3.1;
111
- }
112
- .dnb-progress-indicator__circular--medium .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle {
113
- stroke-width: 3.3;
114
- }
115
- .dnb-progress-indicator__circular--default .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle {
116
- stroke-width: 3.5;
117
- }
118
- .dnb-progress-indicator__circular--large .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle {
119
- stroke-width: 3.7;
120
- }
121
- .dnb-progress-indicator__circular--huge .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle {
122
- stroke-width: 3.9;
135
+ stroke-width: calc(var(--progress-indicator-circular-stroke-width) - 0.5px);
123
136
  }
124
137
  .dnb-progress-indicator__linear {
125
138
  background-color: var(--progress-indicator-linear-background-color);
@@ -127,8 +140,8 @@
127
140
  overflow: hidden;
128
141
  width: 100%;
129
142
  will-change: transform;
130
- height: 0.5rem;
131
- border-radius: 0.25rem;
143
+ height: var(--progress-indicator-linear-size);
144
+ border-radius: calc(var(--progress-indicator-linear-size) / 2);
132
145
  }
133
146
  .dnb-progress-indicator__linear__bar {
134
147
  background-color: var(--progress-indicator-linear-bar-color);
@@ -151,22 +164,6 @@
151
164
  width: auto;
152
165
  animation: progress-indicator-linear-bar-2 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite;
153
166
  }
154
- .dnb-progress-indicator__linear--small {
155
- height: 0.25rem;
156
- border-radius: 0.125rem;
157
- }
158
- .dnb-progress-indicator__linear--medium {
159
- height: 1rem;
160
- border-radius: 0.5rem;
161
- }
162
- .dnb-progress-indicator__linear--large {
163
- height: 1.5rem;
164
- border-radius: 0.75rem;
165
- }
166
- .dnb-progress-indicator__linear--huge {
167
- height: 2rem;
168
- border-radius: 1rem;
169
- }
170
167
  html[data-visual-test] .dnb-progress-indicator__linear__bar1-animation {
171
168
  left: -35%;
172
169
  right: 100%;
@@ -190,7 +187,7 @@ html[data-visual-test] .dnb-progress-indicator {
190
187
  opacity: 1;
191
188
  animation-duration: 0ms;
192
189
  }
193
- .dnb-progress-indicator--no-animation {
190
+ .dnb-progress-indicator--no-animation, .dnb-progress-indicator--no-animation.dnb-progress-indicator--complete {
194
191
  animation-duration: 0ms;
195
192
  }
196
193
  html[data-visual-test] .dnb-progress-indicator__bar-transition {