@dnb/eufemia 10.30.2 → 10.32.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 (717) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/cjs/components/anchor/Anchor.d.ts +8 -1
  3. package/cjs/components/anchor/Anchor.js.map +1 -1
  4. package/cjs/components/card/Card.js +3 -2
  5. package/cjs/components/card/Card.js.map +1 -1
  6. package/cjs/components/card/style/dnb-card.css +1 -2
  7. package/cjs/components/card/style/dnb-card.min.css +1 -1
  8. package/cjs/components/card/style/themes/dnb-card-theme-sbanken.css +5 -0
  9. package/cjs/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -0
  10. package/cjs/components/card/style/themes/dnb-card-theme-sbanken.scss +7 -0
  11. package/cjs/components/checkbox/CheckIcon.d.ts +1 -1
  12. package/cjs/components/checkbox/CheckIcon.js +4 -9
  13. package/cjs/components/checkbox/CheckIcon.js.map +1 -1
  14. package/cjs/components/checkbox/Checkbox.d.ts +4 -0
  15. package/cjs/components/checkbox/Checkbox.js +9 -3
  16. package/cjs/components/checkbox/Checkbox.js.map +1 -1
  17. package/cjs/components/checkbox/CheckboxDocs.js +10 -5
  18. package/cjs/components/checkbox/CheckboxDocs.js.map +1 -1
  19. package/cjs/components/checkbox/style/dnb-checkbox.css +95 -15
  20. package/cjs/components/checkbox/style/dnb-checkbox.min.css +1 -1
  21. package/cjs/components/checkbox/style/dnb-checkbox.scss +156 -21
  22. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +22 -2
  23. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +4 -2
  24. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +28 -2
  25. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.css +20 -2
  26. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.min.css +5 -1
  27. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +25 -2
  28. package/cjs/components/flex/Container.d.ts +4 -1
  29. package/cjs/components/flex/Container.js +10 -7
  30. package/cjs/components/flex/Container.js.map +1 -1
  31. package/cjs/components/flex/Stack.js +3 -3
  32. package/cjs/components/flex/Stack.js.map +1 -1
  33. package/cjs/components/flex/utils.js +7 -7
  34. package/cjs/components/flex/utils.js.map +1 -1
  35. package/cjs/components/height-animation/HeightAnimationInstance.js +6 -1
  36. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  37. package/cjs/components/modal/Modal.d.ts +2 -0
  38. package/cjs/components/modal/Modal.js +10 -3
  39. package/cjs/components/modal/Modal.js.map +1 -1
  40. package/cjs/components/skeleton/style/dnb-skeleton.css +4 -8
  41. package/cjs/components/skeleton/style/dnb-skeleton.min.css +1 -1
  42. package/cjs/components/space/SpacingUtils.d.ts +1 -1
  43. package/cjs/components/space/SpacingUtils.js +1 -1
  44. package/cjs/components/space/SpacingUtils.js.map +1 -1
  45. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +70 -0
  46. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -0
  47. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +97 -0
  48. package/cjs/components/switch/style/themes/dnb-switch-theme-ui.css +1 -2
  49. package/cjs/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
  50. package/cjs/components/table/style/dnb-table.css +5 -10
  51. package/cjs/components/table/style/dnb-table.min.css +1 -1
  52. package/cjs/components/visually-hidden/style/dnb-visually-hidden.css +1 -2
  53. package/cjs/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
  54. package/cjs/extensions/forms/DataContext/Context.d.ts +20 -9
  55. package/cjs/extensions/forms/DataContext/Context.js +2 -3
  56. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  57. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  58. package/cjs/extensions/forms/DataContext/Provider/Provider.js +69 -32
  59. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  60. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +3 -3
  61. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  62. package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +12 -2
  63. package/cjs/extensions/forms/Field/Boolean/Boolean.js +2 -1
  64. package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  65. package/cjs/extensions/forms/Field/Boolean/BooleanDocs.d.ts +2 -0
  66. package/cjs/extensions/forms/Field/Boolean/BooleanDocs.js +25 -0
  67. package/cjs/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -0
  68. package/cjs/extensions/forms/Field/FieldDocs.js +1 -1
  69. package/cjs/extensions/forms/Field/FieldDocs.js.map +1 -1
  70. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.d.ts +16 -0
  71. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js +53 -0
  72. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -0
  73. package/cjs/extensions/forms/Field/Indeterminate/IndeterminateDocs.d.ts +2 -0
  74. package/cjs/extensions/forms/Field/Indeterminate/IndeterminateDocs.js +38 -0
  75. package/cjs/extensions/forms/Field/Indeterminate/IndeterminateDocs.js.map +1 -0
  76. package/cjs/extensions/forms/Field/Indeterminate/index.d.ts +2 -0
  77. package/cjs/extensions/forms/Field/Indeterminate/index.js +27 -0
  78. package/cjs/extensions/forms/Field/Indeterminate/index.js.map +1 -0
  79. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.d.ts +6 -0
  80. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js +81 -0
  81. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -0
  82. package/cjs/extensions/forms/Field/Name/NameDocs.js +1 -7
  83. package/cjs/extensions/forms/Field/Name/NameDocs.js.map +1 -1
  84. package/cjs/extensions/forms/Field/Number/Number.js +3 -1
  85. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  86. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +1 -1
  87. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  88. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  89. package/cjs/extensions/forms/Field/Toggle/Toggle.d.ts +2 -1
  90. package/cjs/extensions/forms/Field/Toggle/Toggle.js +2 -2
  91. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  92. package/cjs/extensions/forms/Field/Toggle/ToggleDocs.d.ts +2 -0
  93. package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js +35 -0
  94. package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -0
  95. package/cjs/extensions/forms/Field/index.d.ts +1 -0
  96. package/cjs/extensions/forms/Field/index.js +7 -0
  97. package/cjs/extensions/forms/Field/index.js.map +1 -1
  98. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +5 -0
  99. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  100. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +1 -0
  101. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +24 -16
  102. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  103. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -3
  104. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  105. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -2
  106. package/cjs/extensions/forms/Form/Element/Element.js +1 -1
  107. package/cjs/extensions/forms/Form/Element/Element.js.map +1 -1
  108. package/cjs/extensions/forms/Form/Handler/Handler.js +2 -2
  109. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  110. package/cjs/extensions/forms/Form/Handler/HandlerDocs.js +5 -0
  111. package/cjs/extensions/forms/Form/Handler/HandlerDocs.js.map +1 -1
  112. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
  113. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  114. package/cjs/extensions/forms/Form/Tools/GenerateSchema.d.ts +8 -0
  115. package/cjs/extensions/forms/Form/Tools/GenerateSchema.js +100 -0
  116. package/cjs/extensions/forms/Form/Tools/GenerateSchema.js.map +1 -0
  117. package/cjs/extensions/forms/Form/Tools/index.d.ts +1 -0
  118. package/cjs/extensions/forms/Form/Tools/index.js +14 -0
  119. package/cjs/extensions/forms/Form/Tools/index.js.map +1 -0
  120. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +19 -5
  121. package/cjs/extensions/forms/Form/Visibility/Visibility.js +41 -10
  122. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  123. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -6
  124. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  125. package/cjs/extensions/forms/Form/data-context/useData.d.ts +1 -1
  126. package/cjs/extensions/forms/Form/data-context/useData.js +2 -2
  127. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  128. package/cjs/extensions/forms/Form/data-context/useError.d.ts +1 -0
  129. package/cjs/extensions/forms/Form/data-context/useError.js +5 -3
  130. package/cjs/extensions/forms/Form/data-context/useError.js.map +1 -1
  131. package/cjs/extensions/forms/Form/index.d.ts +1 -0
  132. package/cjs/extensions/forms/Form/index.js +5 -0
  133. package/cjs/extensions/forms/Form/index.js.map +1 -1
  134. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +8 -1
  135. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -3
  136. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  137. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -1
  138. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  139. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
  140. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  141. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +1 -1
  142. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  143. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  144. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  145. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -1
  146. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  147. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  148. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  149. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  150. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  151. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +3 -1
  152. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  153. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -1
  154. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +4 -2
  155. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  156. package/cjs/extensions/forms/Wizard/Container/WizardContainer.d.ts +31 -2
  157. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +105 -31
  158. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  159. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  160. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  161. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +10 -1
  162. package/cjs/extensions/forms/Wizard/Step/Step.js +15 -6
  163. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  164. package/cjs/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  165. package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  166. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +0 -1
  167. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  168. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -1
  169. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.css +1 -0
  170. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.min.css +0 -0
  171. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.scss +1 -0
  172. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +3 -0
  173. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -0
  174. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +7 -0
  175. package/cjs/extensions/forms/hooks/useFieldProps.js +71 -32
  176. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  177. package/cjs/extensions/forms/style/dnb-forms.css +4 -5
  178. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  179. package/cjs/extensions/forms/types.d.ts +9 -0
  180. package/cjs/extensions/forms/types.js.map +1 -1
  181. package/cjs/fragments/drawer-list/DrawerListHelpers.js +5 -2
  182. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  183. package/cjs/shared/Eufemia.d.ts +1 -1
  184. package/cjs/shared/Eufemia.js +2 -2
  185. package/cjs/shared/Eufemia.js.map +1 -1
  186. package/cjs/shared/MediaQuery.js +19 -1
  187. package/cjs/shared/MediaQuery.js.map +1 -1
  188. package/cjs/shared/MediaQueryUtils.d.ts +12 -34
  189. package/cjs/shared/MediaQueryUtils.js +22 -12
  190. package/cjs/shared/MediaQueryUtils.js.map +1 -1
  191. package/cjs/shared/component-helper.d.ts +1 -1
  192. package/cjs/shared/component-helper.js +5 -1
  193. package/cjs/shared/component-helper.js.map +1 -1
  194. package/cjs/shared/useMedia.d.ts +7 -2
  195. package/cjs/shared/useMedia.js +16 -11
  196. package/cjs/shared/useMedia.js.map +1 -1
  197. package/cjs/shared/useMediaQuery.js +30 -9
  198. package/cjs/shared/useMediaQuery.js.map +1 -1
  199. package/cjs/style/core/scopes.scss +1 -1
  200. package/cjs/style/dnb-ui-basis.css +2 -3
  201. package/cjs/style/dnb-ui-basis.min.css +1 -1
  202. package/cjs/style/dnb-ui-body.css +1 -1
  203. package/cjs/style/dnb-ui-body.min.css +1 -1
  204. package/cjs/style/dnb-ui-components.css +110 -42
  205. package/cjs/style/dnb-ui-components.min.css +3 -3
  206. package/cjs/style/dnb-ui-core.css +2 -3
  207. package/cjs/style/dnb-ui-core.min.css +1 -1
  208. package/cjs/style/dnb-ui-extensions.css +4 -5
  209. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  210. package/cjs/style/dnb-ui-forms.css +4 -5
  211. package/cjs/style/dnb-ui-forms.min.css +1 -1
  212. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +139 -51
  213. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +10 -6
  214. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +8 -5
  215. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  216. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  217. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +8 -5
  218. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  219. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  220. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +214 -127
  221. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +9 -7
  222. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
  223. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -5
  224. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  225. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  226. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +5 -5
  227. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  228. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  229. package/cjs/style/themes/theme-ui/ui-theme-components.css +139 -51
  230. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +10 -6
  231. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +8 -5
  232. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  233. package/cjs/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  234. package/cjs/style/themes/theme-ui/ui-theme-forms.css +8 -5
  235. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  236. package/cjs/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  237. package/components/anchor/Anchor.d.ts +8 -1
  238. package/components/anchor/Anchor.js.map +1 -1
  239. package/components/card/Card.js +3 -2
  240. package/components/card/Card.js.map +1 -1
  241. package/components/card/style/dnb-card.css +1 -2
  242. package/components/card/style/dnb-card.min.css +1 -1
  243. package/components/card/style/themes/dnb-card-theme-sbanken.css +5 -0
  244. package/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -0
  245. package/components/card/style/themes/dnb-card-theme-sbanken.scss +7 -0
  246. package/components/checkbox/CheckIcon.d.ts +1 -1
  247. package/components/checkbox/CheckIcon.js +4 -8
  248. package/components/checkbox/CheckIcon.js.map +1 -1
  249. package/components/checkbox/Checkbox.d.ts +4 -0
  250. package/components/checkbox/Checkbox.js +9 -3
  251. package/components/checkbox/Checkbox.js.map +1 -1
  252. package/components/checkbox/CheckboxDocs.js +10 -5
  253. package/components/checkbox/CheckboxDocs.js.map +1 -1
  254. package/components/checkbox/style/dnb-checkbox.css +95 -15
  255. package/components/checkbox/style/dnb-checkbox.min.css +1 -1
  256. package/components/checkbox/style/dnb-checkbox.scss +156 -21
  257. package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +22 -2
  258. package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +4 -2
  259. package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +28 -2
  260. package/components/checkbox/style/themes/dnb-checkbox-theme-ui.css +20 -2
  261. package/components/checkbox/style/themes/dnb-checkbox-theme-ui.min.css +5 -1
  262. package/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +25 -2
  263. package/components/flex/Container.d.ts +4 -1
  264. package/components/flex/Container.js +10 -7
  265. package/components/flex/Container.js.map +1 -1
  266. package/components/flex/Stack.js +3 -3
  267. package/components/flex/Stack.js.map +1 -1
  268. package/components/flex/utils.js +8 -8
  269. package/components/flex/utils.js.map +1 -1
  270. package/components/height-animation/HeightAnimationInstance.js +6 -1
  271. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  272. package/components/modal/Modal.d.ts +2 -0
  273. package/components/modal/Modal.js +10 -3
  274. package/components/modal/Modal.js.map +1 -1
  275. package/components/skeleton/style/dnb-skeleton.css +4 -8
  276. package/components/skeleton/style/dnb-skeleton.min.css +1 -1
  277. package/components/space/SpacingUtils.d.ts +1 -1
  278. package/components/space/SpacingUtils.js +1 -1
  279. package/components/space/SpacingUtils.js.map +1 -1
  280. package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +70 -0
  281. package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -0
  282. package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +97 -0
  283. package/components/switch/style/themes/dnb-switch-theme-ui.css +1 -2
  284. package/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
  285. package/components/table/style/dnb-table.css +5 -10
  286. package/components/table/style/dnb-table.min.css +1 -1
  287. package/components/visually-hidden/style/dnb-visually-hidden.css +1 -2
  288. package/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
  289. package/es/components/anchor/Anchor.d.ts +8 -1
  290. package/es/components/anchor/Anchor.js.map +1 -1
  291. package/es/components/card/Card.js +3 -2
  292. package/es/components/card/Card.js.map +1 -1
  293. package/es/components/card/style/dnb-card.css +1 -2
  294. package/es/components/card/style/dnb-card.min.css +1 -1
  295. package/es/components/card/style/themes/dnb-card-theme-sbanken.css +5 -0
  296. package/es/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -0
  297. package/es/components/card/style/themes/dnb-card-theme-sbanken.scss +7 -0
  298. package/es/components/checkbox/CheckIcon.d.ts +1 -1
  299. package/es/components/checkbox/CheckIcon.js +5 -10
  300. package/es/components/checkbox/CheckIcon.js.map +1 -1
  301. package/es/components/checkbox/Checkbox.d.ts +4 -0
  302. package/es/components/checkbox/Checkbox.js +9 -3
  303. package/es/components/checkbox/Checkbox.js.map +1 -1
  304. package/es/components/checkbox/CheckboxDocs.js +10 -5
  305. package/es/components/checkbox/CheckboxDocs.js.map +1 -1
  306. package/es/components/checkbox/style/dnb-checkbox.css +95 -15
  307. package/es/components/checkbox/style/dnb-checkbox.min.css +1 -1
  308. package/es/components/checkbox/style/dnb-checkbox.scss +156 -21
  309. package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +22 -2
  310. package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +4 -2
  311. package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +28 -2
  312. package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.css +20 -2
  313. package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.min.css +5 -1
  314. package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +25 -2
  315. package/es/components/flex/Container.d.ts +4 -1
  316. package/es/components/flex/Container.js +10 -7
  317. package/es/components/flex/Container.js.map +1 -1
  318. package/es/components/flex/Stack.js +3 -3
  319. package/es/components/flex/Stack.js.map +1 -1
  320. package/es/components/flex/utils.js +8 -8
  321. package/es/components/flex/utils.js.map +1 -1
  322. package/es/components/height-animation/HeightAnimationInstance.js +6 -1
  323. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  324. package/es/components/modal/Modal.d.ts +2 -0
  325. package/es/components/modal/Modal.js +10 -3
  326. package/es/components/modal/Modal.js.map +1 -1
  327. package/es/components/skeleton/style/dnb-skeleton.css +4 -8
  328. package/es/components/skeleton/style/dnb-skeleton.min.css +1 -1
  329. package/es/components/space/SpacingUtils.d.ts +1 -1
  330. package/es/components/space/SpacingUtils.js +1 -1
  331. package/es/components/space/SpacingUtils.js.map +1 -1
  332. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +70 -0
  333. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -0
  334. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +97 -0
  335. package/es/components/switch/style/themes/dnb-switch-theme-ui.css +1 -2
  336. package/es/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
  337. package/es/components/table/style/dnb-table.css +5 -10
  338. package/es/components/table/style/dnb-table.min.css +1 -1
  339. package/es/components/visually-hidden/style/dnb-visually-hidden.css +1 -2
  340. package/es/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
  341. package/es/extensions/forms/DataContext/Context.d.ts +20 -9
  342. package/es/extensions/forms/DataContext/Context.js +2 -3
  343. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  344. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  345. package/es/extensions/forms/DataContext/Provider/Provider.js +66 -30
  346. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  347. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +3 -3
  348. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  349. package/es/extensions/forms/Field/Boolean/Boolean.d.ts +12 -2
  350. package/es/extensions/forms/Field/Boolean/Boolean.js +2 -1
  351. package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  352. package/es/extensions/forms/Field/Boolean/BooleanDocs.d.ts +2 -0
  353. package/es/extensions/forms/Field/Boolean/BooleanDocs.js +18 -0
  354. package/es/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -0
  355. package/es/extensions/forms/Field/FieldDocs.js +2 -2
  356. package/es/extensions/forms/Field/FieldDocs.js.map +1 -1
  357. package/es/extensions/forms/Field/Indeterminate/Indeterminate.d.ts +16 -0
  358. package/es/extensions/forms/Field/Indeterminate/Indeterminate.js +43 -0
  359. package/es/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -0
  360. package/es/extensions/forms/Field/Indeterminate/IndeterminateDocs.d.ts +2 -0
  361. package/es/extensions/forms/Field/Indeterminate/IndeterminateDocs.js +29 -0
  362. package/es/extensions/forms/Field/Indeterminate/IndeterminateDocs.js.map +1 -0
  363. package/es/extensions/forms/Field/Indeterminate/index.d.ts +2 -0
  364. package/es/extensions/forms/Field/Indeterminate/index.js +3 -0
  365. package/es/extensions/forms/Field/Indeterminate/index.js.map +1 -0
  366. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.d.ts +6 -0
  367. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js +74 -0
  368. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -0
  369. package/es/extensions/forms/Field/Name/NameDocs.js +1 -8
  370. package/es/extensions/forms/Field/Name/NameDocs.js.map +1 -1
  371. package/es/extensions/forms/Field/Number/Number.js +3 -1
  372. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  373. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +1 -1
  374. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  375. package/es/extensions/forms/Field/String/String.js.map +1 -1
  376. package/es/extensions/forms/Field/Toggle/Toggle.d.ts +2 -1
  377. package/es/extensions/forms/Field/Toggle/Toggle.js +2 -2
  378. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  379. package/es/extensions/forms/Field/Toggle/ToggleDocs.d.ts +2 -0
  380. package/es/extensions/forms/Field/Toggle/ToggleDocs.js +28 -0
  381. package/es/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -0
  382. package/es/extensions/forms/Field/index.d.ts +1 -0
  383. package/es/extensions/forms/Field/index.js +1 -0
  384. package/es/extensions/forms/Field/index.js.map +1 -1
  385. package/es/extensions/forms/FieldBlock/FieldBlock.js +5 -0
  386. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  387. package/es/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +1 -0
  388. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +20 -15
  389. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  390. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -3
  391. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  392. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -2
  393. package/es/extensions/forms/Form/Element/Element.js +1 -1
  394. package/es/extensions/forms/Form/Element/Element.js.map +1 -1
  395. package/es/extensions/forms/Form/Handler/Handler.js +2 -2
  396. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  397. package/es/extensions/forms/Form/Handler/HandlerDocs.js +5 -0
  398. package/es/extensions/forms/Form/Handler/HandlerDocs.js.map +1 -1
  399. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
  400. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  401. package/es/extensions/forms/Form/Tools/GenerateSchema.d.ts +8 -0
  402. package/es/extensions/forms/Form/Tools/GenerateSchema.js +89 -0
  403. package/es/extensions/forms/Form/Tools/GenerateSchema.js.map +1 -0
  404. package/es/extensions/forms/Form/Tools/index.d.ts +1 -0
  405. package/es/extensions/forms/Form/Tools/index.js +1 -0
  406. package/es/extensions/forms/Form/Tools/index.js.map +1 -0
  407. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +19 -5
  408. package/es/extensions/forms/Form/Visibility/Visibility.js +41 -10
  409. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  410. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -6
  411. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  412. package/es/extensions/forms/Form/data-context/useData.d.ts +1 -1
  413. package/es/extensions/forms/Form/data-context/useData.js +1 -2
  414. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  415. package/es/extensions/forms/Form/data-context/useError.d.ts +1 -0
  416. package/es/extensions/forms/Form/data-context/useError.js +5 -3
  417. package/es/extensions/forms/Form/data-context/useError.js.map +1 -1
  418. package/es/extensions/forms/Form/index.d.ts +1 -0
  419. package/es/extensions/forms/Form/index.js +1 -0
  420. package/es/extensions/forms/Form/index.js.map +1 -1
  421. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +8 -1
  422. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -3
  423. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  424. package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -1
  425. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  426. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
  427. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  428. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +1 -1
  429. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  430. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  431. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  432. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -1
  433. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  434. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  435. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  436. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  437. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  438. package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +3 -1
  439. package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  440. package/es/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -1
  441. package/es/extensions/forms/ValueBlock/ValueBlock.js +4 -2
  442. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  443. package/es/extensions/forms/Wizard/Container/WizardContainer.d.ts +31 -2
  444. package/es/extensions/forms/Wizard/Container/WizardContainer.js +101 -31
  445. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  446. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  447. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  448. package/es/extensions/forms/Wizard/Step/Step.d.ts +10 -1
  449. package/es/extensions/forms/Wizard/Step/Step.js +15 -6
  450. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  451. package/es/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  452. package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  453. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +0 -1
  454. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  455. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -1
  456. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.css +1 -0
  457. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.min.css +0 -0
  458. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.scss +1 -0
  459. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +3 -0
  460. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -0
  461. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +7 -0
  462. package/es/extensions/forms/hooks/useFieldProps.js +68 -29
  463. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  464. package/es/extensions/forms/style/dnb-forms.css +4 -5
  465. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  466. package/es/extensions/forms/types.d.ts +9 -0
  467. package/es/extensions/forms/types.js.map +1 -1
  468. package/es/fragments/drawer-list/DrawerListHelpers.js +5 -2
  469. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  470. package/es/shared/Eufemia.d.ts +1 -1
  471. package/es/shared/Eufemia.js +2 -2
  472. package/es/shared/Eufemia.js.map +1 -1
  473. package/es/shared/MediaQuery.js +19 -1
  474. package/es/shared/MediaQuery.js.map +1 -1
  475. package/es/shared/MediaQueryUtils.d.ts +12 -34
  476. package/es/shared/MediaQueryUtils.js +22 -17
  477. package/es/shared/MediaQueryUtils.js.map +1 -1
  478. package/es/shared/component-helper.d.ts +1 -1
  479. package/es/shared/component-helper.js +5 -2
  480. package/es/shared/component-helper.js.map +1 -1
  481. package/es/shared/useMedia.d.ts +7 -2
  482. package/es/shared/useMedia.js +14 -11
  483. package/es/shared/useMedia.js.map +1 -1
  484. package/es/shared/useMediaQuery.js +28 -9
  485. package/es/shared/useMediaQuery.js.map +1 -1
  486. package/es/style/core/scopes.scss +1 -1
  487. package/es/style/dnb-ui-basis.css +2 -3
  488. package/es/style/dnb-ui-basis.min.css +1 -1
  489. package/es/style/dnb-ui-body.css +1 -1
  490. package/es/style/dnb-ui-body.min.css +1 -1
  491. package/es/style/dnb-ui-components.css +110 -42
  492. package/es/style/dnb-ui-components.min.css +3 -3
  493. package/es/style/dnb-ui-core.css +2 -3
  494. package/es/style/dnb-ui-core.min.css +1 -1
  495. package/es/style/dnb-ui-extensions.css +4 -5
  496. package/es/style/dnb-ui-extensions.min.css +1 -1
  497. package/es/style/dnb-ui-forms.css +4 -5
  498. package/es/style/dnb-ui-forms.min.css +1 -1
  499. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +139 -51
  500. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +10 -6
  501. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +8 -5
  502. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  503. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  504. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +8 -5
  505. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  506. package/es/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  507. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +214 -127
  508. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +9 -7
  509. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
  510. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -5
  511. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  512. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  513. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +5 -5
  514. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  515. package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  516. package/es/style/themes/theme-ui/ui-theme-components.css +139 -51
  517. package/es/style/themes/theme-ui/ui-theme-components.min.css +10 -6
  518. package/es/style/themes/theme-ui/ui-theme-extensions.css +8 -5
  519. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  520. package/es/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  521. package/es/style/themes/theme-ui/ui-theme-forms.css +8 -5
  522. package/es/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  523. package/es/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  524. package/esm/dnb-ui-basis.min.mjs +1 -1
  525. package/esm/dnb-ui-components.min.mjs +1 -1
  526. package/esm/dnb-ui-elements.min.mjs +1 -1
  527. package/esm/dnb-ui-extensions.min.mjs +3 -3
  528. package/esm/dnb-ui-lib.min.mjs +1 -1
  529. package/extensions/forms/DataContext/Context.d.ts +20 -9
  530. package/extensions/forms/DataContext/Context.js +2 -3
  531. package/extensions/forms/DataContext/Context.js.map +1 -1
  532. package/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  533. package/extensions/forms/DataContext/Provider/Provider.js +69 -32
  534. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  535. package/extensions/forms/DataContext/Provider/ProviderDocs.js +3 -3
  536. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  537. package/extensions/forms/Field/Boolean/Boolean.d.ts +12 -2
  538. package/extensions/forms/Field/Boolean/Boolean.js +2 -1
  539. package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  540. package/extensions/forms/Field/Boolean/BooleanDocs.d.ts +2 -0
  541. package/extensions/forms/Field/Boolean/BooleanDocs.js +18 -0
  542. package/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -0
  543. package/extensions/forms/Field/FieldDocs.js +2 -2
  544. package/extensions/forms/Field/FieldDocs.js.map +1 -1
  545. package/extensions/forms/Field/Indeterminate/Indeterminate.d.ts +16 -0
  546. package/extensions/forms/Field/Indeterminate/Indeterminate.js +43 -0
  547. package/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -0
  548. package/extensions/forms/Field/Indeterminate/IndeterminateDocs.d.ts +2 -0
  549. package/extensions/forms/Field/Indeterminate/IndeterminateDocs.js +29 -0
  550. package/extensions/forms/Field/Indeterminate/IndeterminateDocs.js.map +1 -0
  551. package/extensions/forms/Field/Indeterminate/index.d.ts +2 -0
  552. package/extensions/forms/Field/Indeterminate/index.js +3 -0
  553. package/extensions/forms/Field/Indeterminate/index.js.map +1 -0
  554. package/extensions/forms/Field/Indeterminate/useDependencePaths.d.ts +6 -0
  555. package/extensions/forms/Field/Indeterminate/useDependencePaths.js +75 -0
  556. package/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -0
  557. package/extensions/forms/Field/Name/NameDocs.js +1 -8
  558. package/extensions/forms/Field/Name/NameDocs.js.map +1 -1
  559. package/extensions/forms/Field/Number/Number.js +3 -1
  560. package/extensions/forms/Field/Number/Number.js.map +1 -1
  561. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +1 -1
  562. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  563. package/extensions/forms/Field/String/String.js.map +1 -1
  564. package/extensions/forms/Field/Toggle/Toggle.d.ts +2 -1
  565. package/extensions/forms/Field/Toggle/Toggle.js +2 -2
  566. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  567. package/extensions/forms/Field/Toggle/ToggleDocs.d.ts +2 -0
  568. package/extensions/forms/Field/Toggle/ToggleDocs.js +28 -0
  569. package/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -0
  570. package/extensions/forms/Field/index.d.ts +1 -0
  571. package/extensions/forms/Field/index.js +1 -0
  572. package/extensions/forms/Field/index.js.map +1 -1
  573. package/extensions/forms/FieldBlock/FieldBlock.js +5 -0
  574. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  575. package/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +1 -0
  576. package/extensions/forms/FieldBlock/FieldBlockDocs.js +20 -15
  577. package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  578. package/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -3
  579. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  580. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -2
  581. package/extensions/forms/Form/Element/Element.js +1 -1
  582. package/extensions/forms/Form/Element/Element.js.map +1 -1
  583. package/extensions/forms/Form/Handler/Handler.js +2 -2
  584. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  585. package/extensions/forms/Form/Handler/HandlerDocs.js +5 -0
  586. package/extensions/forms/Form/Handler/HandlerDocs.js.map +1 -1
  587. package/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
  588. package/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  589. package/extensions/forms/Form/Tools/GenerateSchema.d.ts +8 -0
  590. package/extensions/forms/Form/Tools/GenerateSchema.js +90 -0
  591. package/extensions/forms/Form/Tools/GenerateSchema.js.map +1 -0
  592. package/extensions/forms/Form/Tools/index.d.ts +1 -0
  593. package/extensions/forms/Form/Tools/index.js +1 -0
  594. package/extensions/forms/Form/Tools/index.js.map +1 -0
  595. package/extensions/forms/Form/Visibility/Visibility.d.ts +19 -5
  596. package/extensions/forms/Form/Visibility/Visibility.js +41 -10
  597. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  598. package/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -6
  599. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  600. package/extensions/forms/Form/data-context/useData.d.ts +1 -1
  601. package/extensions/forms/Form/data-context/useData.js +2 -2
  602. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  603. package/extensions/forms/Form/data-context/useError.d.ts +1 -0
  604. package/extensions/forms/Form/data-context/useError.js +5 -3
  605. package/extensions/forms/Form/data-context/useError.js.map +1 -1
  606. package/extensions/forms/Form/index.d.ts +1 -0
  607. package/extensions/forms/Form/index.js +2 -0
  608. package/extensions/forms/Form/index.js.map +1 -1
  609. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +8 -1
  610. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -3
  611. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  612. package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -1
  613. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  614. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
  615. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  616. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +1 -1
  617. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  618. package/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  619. package/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  620. package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -1
  621. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  622. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  623. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  624. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  625. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  626. package/extensions/forms/Iterate/style/dnb-form-iterate.css +3 -1
  627. package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  628. package/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -1
  629. package/extensions/forms/ValueBlock/ValueBlock.js +4 -2
  630. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  631. package/extensions/forms/Wizard/Container/WizardContainer.d.ts +31 -2
  632. package/extensions/forms/Wizard/Container/WizardContainer.js +105 -31
  633. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  634. package/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  635. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  636. package/extensions/forms/Wizard/Step/Step.d.ts +10 -1
  637. package/extensions/forms/Wizard/Step/Step.js +15 -6
  638. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  639. package/extensions/forms/Wizard/Step/StepDocs.js +5 -0
  640. package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  641. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +0 -1
  642. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  643. package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -1
  644. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.css +1 -0
  645. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.min.css +0 -0
  646. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.scss +1 -0
  647. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +3 -0
  648. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -0
  649. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +7 -0
  650. package/extensions/forms/hooks/useFieldProps.js +71 -32
  651. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  652. package/extensions/forms/style/dnb-forms.css +4 -5
  653. package/extensions/forms/style/dnb-forms.min.css +1 -1
  654. package/extensions/forms/types.d.ts +9 -0
  655. package/extensions/forms/types.js.map +1 -1
  656. package/fragments/drawer-list/DrawerListHelpers.js +5 -2
  657. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  658. package/package.json +1 -1
  659. package/shared/Eufemia.d.ts +1 -1
  660. package/shared/Eufemia.js +2 -2
  661. package/shared/Eufemia.js.map +1 -1
  662. package/shared/MediaQuery.js +19 -1
  663. package/shared/MediaQuery.js.map +1 -1
  664. package/shared/MediaQueryUtils.d.ts +12 -34
  665. package/shared/MediaQueryUtils.js +22 -12
  666. package/shared/MediaQueryUtils.js.map +1 -1
  667. package/shared/component-helper.d.ts +1 -1
  668. package/shared/component-helper.js +5 -1
  669. package/shared/component-helper.js.map +1 -1
  670. package/shared/useMedia.d.ts +7 -2
  671. package/shared/useMedia.js +14 -11
  672. package/shared/useMedia.js.map +1 -1
  673. package/shared/useMediaQuery.js +28 -9
  674. package/shared/useMediaQuery.js.map +1 -1
  675. package/style/core/scopes.scss +1 -1
  676. package/style/dnb-ui-basis.css +2 -3
  677. package/style/dnb-ui-basis.min.css +1 -1
  678. package/style/dnb-ui-body.css +1 -1
  679. package/style/dnb-ui-body.min.css +1 -1
  680. package/style/dnb-ui-components.css +110 -42
  681. package/style/dnb-ui-components.min.css +3 -3
  682. package/style/dnb-ui-core.css +2 -3
  683. package/style/dnb-ui-core.min.css +1 -1
  684. package/style/dnb-ui-extensions.css +4 -5
  685. package/style/dnb-ui-extensions.min.css +1 -1
  686. package/style/dnb-ui-forms.css +4 -5
  687. package/style/dnb-ui-forms.min.css +1 -1
  688. package/style/themes/theme-eiendom/eiendom-theme-components.css +139 -51
  689. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +10 -6
  690. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +8 -5
  691. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  692. package/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  693. package/style/themes/theme-eiendom/eiendom-theme-forms.css +8 -5
  694. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  695. package/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  696. package/style/themes/theme-sbanken/sbanken-theme-components.css +214 -127
  697. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +9 -7
  698. package/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
  699. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -5
  700. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  701. package/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  702. package/style/themes/theme-sbanken/sbanken-theme-forms.css +5 -5
  703. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  704. package/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  705. package/style/themes/theme-ui/ui-theme-components.css +139 -51
  706. package/style/themes/theme-ui/ui-theme-components.min.css +10 -6
  707. package/style/themes/theme-ui/ui-theme-extensions.css +8 -5
  708. package/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  709. package/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  710. package/style/themes/theme-ui/ui-theme-forms.css +8 -5
  711. package/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  712. package/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  713. package/umd/dnb-ui-basis.min.js +1 -1
  714. package/umd/dnb-ui-components.min.js +1 -1
  715. package/umd/dnb-ui-elements.min.js +1 -1
  716. package/umd/dnb-ui-extensions.min.js +3 -3
  717. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CheckIcon.js","names":["React","CheckIcon","_ref","size","props","_objectWithoutProperties","_excluded","vB","createElement","_extends","width","height","viewBox","fill","className","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin"],"sources":["../../../../src/components/checkbox/CheckIcon.tsx"],"sourcesContent":["import React from 'react'\n\nexport type CheckIconProps = {\n size: string\n}\n\n// The new checkbox has too low contrast, as it is too thin on web\nfunction CheckIcon({ size, ...props }: CheckIconProps) {\n let vB = 16\n if (size === 'large') {\n vB = 24\n }\n return (\n <svg\n width={vB}\n height={vB}\n viewBox={`0 0 ${vB} ${vB}`}\n fill=\"none\"\n className=\"dnb-checkbox__gfx\"\n aria-hidden\n {...props}\n >\n <path\n d={size === 'large' ? 'M1.5 15L7.5 21L22.5 3' : 'M1 10L5 14L15 2'}\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )\n}\n\nexport default CheckIcon\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AAOzB,SAASC,SAASA,CAAAC,IAAA,EAAqC;EAAA,IAApC;MAAEC;IAA+B,CAAC,GAAAD,IAAA;IAAvBE,KAAK,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EACjC,IAAIC,EAAE,GAAG,EAAE;EACX,IAAIJ,IAAI,KAAK,OAAO,EAAE;IACpBI,EAAE,GAAG,EAAE;EACT;EACA,OACEP,KAAA,CAAAQ,aAAA,QAAAC,QAAA;IACEC,KAAK,EAAEH,EAAG;IACVI,MAAM,EAAEJ,EAAG;IACXK,OAAO,EAAG,OAAML,EAAG,IAAGA,EAAG,EAAE;IAC3BM,IAAI,EAAC,MAAM;IACXC,SAAS,EAAC,mBAAmB;IAC7B;EAAW,GACPV,KAAK,GAETJ,KAAA,CAAAQ,aAAA;IACEO,CAAC,EAAEZ,IAAI,KAAK,OAAO,GAAG,uBAAuB,GAAG,iBAAkB;IAClEa,MAAM,EAAC,cAAc;IACrBC,WAAW,EAAC,KAAK;IACjBC,aAAa,EAAC,OAAO;IACrBC,cAAc,EAAC;EAAO,CACvB,CACE,CAAC;AAEV;AAEA,eAAelB,SAAS"}
1
+ {"version":3,"file":"CheckIcon.js","names":["React","CheckIcon","_ref","size","vB","createElement","width","height","viewBox","fill","className","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin"],"sources":["../../../../src/components/checkbox/CheckIcon.tsx"],"sourcesContent":["import React from 'react'\n\nexport type CheckIconProps = {\n size: string\n}\n\n// The new checkbox has too low contrast, as it is too thin on web\nfunction CheckIcon({ size }: CheckIconProps) {\n let vB = 16\n if (size === 'large') {\n vB = 24\n }\n return (\n <svg\n width={vB}\n height={vB}\n viewBox={`0 0 ${vB} ${vB}`}\n fill=\"none\"\n className=\"dnb-checkbox__gfx\"\n aria-hidden\n >\n <path\n d={size === 'large' ? 'M1.5 15L7.5 21L22.5 3' : 'M1 10L5 14L15 2'}\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )\n}\n\nexport default CheckIcon\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAOzB,SAASC,SAASA,CAAAC,IAAA,EAA2B;EAAA,IAA1B;IAAEC;EAAqB,CAAC,GAAAD,IAAA;EACzC,IAAIE,EAAE,GAAG,EAAE;EACX,IAAID,IAAI,KAAK,OAAO,EAAE;IACpBC,EAAE,GAAG,EAAE;EACT;EACA,OACEJ,KAAA,CAAAK,aAAA;IACEC,KAAK,EAAEF,EAAG;IACVG,MAAM,EAAEH,EAAG;IACXI,OAAO,EAAG,OAAMJ,EAAG,IAAGA,EAAG,EAAE;IAC3BK,IAAI,EAAC,MAAM;IACXC,SAAS,EAAC,mBAAmB;IAC7B;EAAW,GAEXV,KAAA,CAAAK,aAAA;IACEM,CAAC,EAAER,IAAI,KAAK,OAAO,GAAG,uBAAuB,GAAG,iBAAkB;IAClES,MAAM,EAAC,cAAc;IACrBC,WAAW,EAAC,KAAK;IACjBC,aAAa,EAAC,OAAO;IACrBC,cAAc,EAAC;EAAO,CACvB,CACE,CAAC;AAEV;AAEA,eAAed,SAAS"}
@@ -34,6 +34,10 @@ export type CheckboxProps = {
34
34
  * Determine whether the checkbox is checked or not. The default is `false`.
35
35
  */
36
36
  checked?: boolean | undefined | null;
37
+ /**
38
+ * Determine whether to show the indeterminate checked state when checked. The default is `false`.
39
+ */
40
+ indeterminate?: boolean;
37
41
  /**
38
42
  * The size of the checkbox. For now there is "medium" (default) and "large".
39
43
  */
@@ -3,8 +3,8 @@
3
3
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
4
  import _extends from "@babel/runtime/helpers/esm/extends";
5
5
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
6
- var _AlignmentHelper, _span;
7
- const _excluded = ["value", "status", "statusState", "statusProps", "statusNoAnimation", "globalStatus", "suffix", "size", "label", "labelPosition", "labelSrOnly", "title", "element", "disabled", "readOnly", "skeleton", "className", "id", "checked", "onChange", "innerRef"];
6
+ var _AlignmentHelper, _span, _span2;
7
+ const _excluded = ["value", "status", "statusState", "statusProps", "statusNoAnimation", "globalStatus", "suffix", "size", "label", "labelPosition", "labelSrOnly", "title", "element", "disabled", "readOnly", "skeleton", "className", "id", "indeterminate", "checked", "onChange", "innerRef"];
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, { useCallback, useContext, useEffect, useRef, useState } from 'react';
@@ -47,6 +47,7 @@ function Checkbox(localProps) {
47
47
  skeleton,
48
48
  className,
49
49
  id: idProp,
50
+ indeterminate,
50
51
  checked,
51
52
  onChange,
52
53
  innerRef
@@ -69,6 +70,9 @@ function Checkbox(localProps) {
69
70
  setPrevChecked(!!checked);
70
71
  }
71
72
  }, [checked, prevChecked]);
73
+ useEffect(() => {
74
+ ref.current.indeterminate = indeterminate;
75
+ }, [indeterminate, ref]);
72
76
  const callOnChange = useCallback(args => {
73
77
  onChange === null || onChange === void 0 ? void 0 : onChange(args);
74
78
  }, [onChange]);
@@ -144,7 +148,9 @@ function Checkbox(localProps) {
144
148
  "aria-hidden": true
145
149
  }, _span || (_span = React.createElement("span", {
146
150
  className: "dnb-checkbox__focus"
147
- }))), React.createElement(CheckIcon, {
151
+ }))), _span2 || (_span2 = React.createElement("span", {
152
+ className: "dnb-checkbox__indeterminate"
153
+ })), React.createElement(CheckIcon, {
148
154
  size: size
149
155
  }))), suffix && React.createElement(Suffix, {
150
156
  className: "dnb-checkbox__suffix",
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","names":["React","useCallback","useContext","useEffect","useRef","useState","classnames","keycode","validateDOMAttributes","getStatusState","combineDescribedBy","extendPropsWithContext","AlignmentHelper","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","Context","Suffix","useId","pickFormElementProps","convertSnakeCaseProps","FormLabel","FormStatus","CheckIcon","defaultProps","statusState","Checkbox","localProps","context","props","extractPropsFromContext","value","status","statusProps","statusNoAnimation","globalStatus","suffix","size","label","labelPosition","labelSrOnly","title","element","disabled","readOnly","skeleton","className","id","idProp","checked","onChange","innerRef","rest","_objectWithoutProperties","_excluded","isFn","refHook","ref","current","isChecked","setIsChecked","prevChecked","setPrevChecked","callOnChange","args","handleChange","event","preventDefault","updatedCheck","focus","onChangeHandler","onKeyDownHandler","mainParams","showStatus","inputParams","handleInputAttributes","statusComp","createElement","_extends","show","text_id","width_selector","text","state","no_animation","Element","forId","srOnly","_AlignmentHelper","name","type","onKeyDown","_span","_objectSpread","FormRow","formElement"],"sources":["../../../../src/components/checkbox/Checkbox.tsx"],"sourcesContent":["/**\n * Web Checkbox Component\n */\n\nimport React, {\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\n\nimport {\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport useId from '../../shared/helpers/useId'\nimport type { SpacingProps } from '../space/types'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport { convertSnakeCaseProps } from '../../shared/helpers/withSnakeCaseProps'\n\nimport type {\n FormStatusProps,\n FormStatusState,\n FormStatusText,\n} from '../FormStatus'\nimport type { SkeletonShow } from '../Skeleton'\nimport type { GlobalStatusConfigObject } from '../GlobalStatus'\n\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport CheckIcon from './CheckIcon'\n\nexport type CheckboxLabelPosition = 'left' | 'right'\nexport type CheckboxSize = 'default' | 'medium' | 'large'\nexport type CheckboxAttributes = string | Record<string, unknown>\nexport type OnChangeParams = {\n checked: boolean\n event: React.ChangeEvent<HTMLInputElement>\n}\n\nexport type CheckboxProps = {\n /**\n * Use either the `label` property or provide a custom one.\n */\n label?: React.ReactNode\n /**\n * Defines the position of the `label`. Use either `left` or `right`. Defaults to `right`.\n */\n labelPosition?: CheckboxLabelPosition\n /**\n * Use `true` to make the label only readable by screen readers.\n */\n labelSrOnly?: boolean\n /**\n * The `title` of the input - describing it a bit further for accessibility reasons.\n */\n title?: string\n /**\n * Determine whether the checkbox is checked or not. The default is `false`.\n */\n checked?: boolean | undefined | null\n /**\n * The size of the checkbox. For now there is \"medium\" (default) and \"large\".\n */\n size?: CheckboxSize\n /**\n * Text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message.\n */\n status?: FormStatusText\n /**\n * Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.\n */\n statusState?: FormStatusState\n /**\n * Use an object to define additional FormStatus properties. See [FormStatus](/uilib/components/form-status/properties/)\n */\n statusProps?: FormStatusProps\n statusNoAnimation?: boolean\n /**\n * The [configuration](/uilib/components/global-status/properties/#configuration-object) used for the target [GlobalStatus](/uilib/components/global-status)\n */\n globalStatus?: GlobalStatusConfigObject\n /**\n * Text describing the content of the Checkbox more than the label. You can also send in a React component, so it gets wrapped inside the Checkbox component.\n */\n suffix?: React.ReactNode\n value?: string\n element?: React.ElementType\n attributes?: CheckboxAttributes\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n /**\n * Will be called on state changes made by the user. Returns an boolean `{ checked, event }`.\n */\n onChange?: (args: OnChangeParams) => void\n /**\n * By providing a React.ref we can get the internally used input element (DOM). E.g. `innerRef={myRef}` by using `React.createRef()` or `React.useRef()`.\n */\n innerRef?:\n | React.MutableRefObject<HTMLInputElement>\n | ((elem: HTMLInputElement) => void)\n} & SpacingProps &\n Omit<\n React.HTMLProps<HTMLInputElement>,\n 'ref' | 'label' | 'size' | 'onChange'\n > &\n DeprecatedCheckboxProps\n\n// depracated, can be removed in v11\ntype DeprecatedCheckboxProps = {\n /** @deprecated use the `label` prop instead */\n children?: React.ReactNode\n /** @deprecated use `onChange` */\n on_change?: (args: OnChangeParams) => void\n /** @deprecated use `labelPosition` */\n label_position?: CheckboxLabelPosition\n /** @deprecated use `labelSrOnly` */\n label_sr_only?: boolean\n /** @deprecated use `statusState` */\n status_state?: FormStatusState\n /** @deprecated use `statusProps` */\n status_props?: FormStatusProps\n /** @deprecated use `statusNoAnimation` */\n status_no_animation?: boolean\n}\n\nconst defaultProps: CheckboxProps = {\n statusState: 'error',\n}\n\nfunction Checkbox(localProps: CheckboxProps) {\n const context = useContext(Context)\n\n const props = extractPropsFromContext()\n\n const {\n value,\n status,\n statusState,\n statusProps,\n statusNoAnimation,\n globalStatus,\n suffix,\n size,\n label,\n labelPosition,\n labelSrOnly,\n title,\n element,\n disabled,\n readOnly,\n skeleton,\n className,\n id: idProp,\n checked,\n onChange,\n innerRef,\n ...rest\n } = props\n\n const id = useId(idProp)\n\n const isFn = typeof innerRef === 'function'\n const refHook = useRef<HTMLInputElement>()\n const ref = (!isFn && innerRef) || refHook\n\n useEffect(() => {\n if (isFn) {\n innerRef?.(ref.current)\n }\n }, [innerRef, isFn, ref])\n\n const [isChecked, setIsChecked] = useState<boolean>(checked ?? false)\n const [prevChecked, setPrevChecked] = useState<boolean>(checked)\n\n useEffect(() => {\n if (checked !== prevChecked) {\n setIsChecked(!!checked)\n setPrevChecked(!!checked)\n }\n }, [checked, prevChecked])\n\n const callOnChange: CheckboxProps['onChange'] = useCallback(\n (args) => {\n onChange?.(args)\n },\n [onChange]\n )\n\n const handleChange = useCallback(\n (event: OnChangeParams['event']) => {\n if (readOnly) {\n return event.preventDefault()\n }\n const updatedCheck = !isChecked\n\n setIsChecked(updatedCheck)\n callOnChange({ checked: updatedCheck, event })\n\n // help firefox and safari to have an correct state after a click\n if (ref.current) {\n ref.current.focus()\n }\n },\n [callOnChange, isChecked, readOnly, ref]\n )\n\n const onChangeHandler = useCallback(\n (event: OnChangeParams['event']) => {\n handleChange(event)\n },\n [handleChange]\n )\n\n const onKeyDownHandler = useCallback(\n (event: KeyboardEvent & OnChangeParams['event']) => {\n switch (keycode(event)) {\n case 'enter':\n handleChange(event)\n break\n }\n },\n [handleChange]\n )\n\n const mainParams = {\n className: classnames(\n 'dnb-checkbox',\n status && `dnb-checkbox__status--${statusState}`,\n size && `dnb-checkbox--${size}`,\n label && `dnb-checkbox--label-position-${labelPosition || 'right'}`,\n 'dnb-form-component',\n createSkeletonClass(null, skeleton),\n createSpacingClasses(props),\n className\n ),\n }\n\n const showStatus = getStatusState(status)\n\n const inputParams = handleInputAttributes()\n\n const statusComp = (\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n width_selector={id + ', ' + id + '-label'}\n text={status}\n state={statusState}\n no_animation={statusNoAnimation}\n skeleton={skeleton}\n {...statusProps}\n />\n )\n\n const Element = element || 'input'\n\n return (\n <span {...mainParams}>\n <span className=\"dnb-checkbox__order\">\n {label && (\n <FormLabel\n id={id + '-label'}\n forId={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n srOnly={labelSrOnly}\n />\n )}\n\n <span className=\"dnb-checkbox__inner\">\n <AlignmentHelper />\n {labelPosition === 'left' && statusComp}\n\n <span className=\"dnb-checkbox__shell\">\n <Element\n id={id}\n name={id}\n type=\"checkbox\"\n title={title}\n className=\"dnb-checkbox__input\"\n value={isChecked ? value || '' : ''}\n disabled={disabled}\n {...inputParams}\n onChange={onChangeHandler}\n onKeyDown={onKeyDownHandler}\n ref={ref}\n />\n\n <span\n className={classnames(\n 'dnb-checkbox__button',\n createSkeletonClass('shape', skeleton, context)\n )}\n aria-hidden\n >\n <span className=\"dnb-checkbox__focus\" />\n </span>\n\n <CheckIcon size={size} />\n </span>\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-checkbox__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n\n {(labelPosition === 'right' || !labelPosition) && statusComp}\n </span>\n )\n\n /**\n * Adds aria attributes, calls validateDOMAttributes and skeletonDOMAttributes and returns the result\n */\n function handleInputAttributes() {\n const inputParams = {\n disabled,\n checked: isChecked,\n readOnly,\n ...rest,\n }\n\n if (showStatus || suffix) {\n inputParams['aria-describedby'] = combineDescribedBy(\n inputParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n inputParams['aria-readonly'] = inputParams.readOnly = true\n }\n\n // also used for code markup simulation\n return validateDOMAttributes(\n props,\n skeletonDOMAttributes(inputParams, skeleton, context)\n )\n }\n\n function extractPropsFromContext() {\n return extendPropsWithContext(\n convertSnakeCaseProps(localProps),\n defaultProps,\n context.Checkbox,\n {\n skeleton: context?.Checkbox,\n },\n // Deprecated – can be removed in v11\n pickFormElementProps(context?.FormRow),\n pickFormElementProps(context?.formElement)\n )\n }\n}\n\nexport default Checkbox\n"],"mappings":"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"}
1
+ {"version":3,"file":"Checkbox.js","names":["React","useCallback","useContext","useEffect","useRef","useState","classnames","keycode","validateDOMAttributes","getStatusState","combineDescribedBy","extendPropsWithContext","AlignmentHelper","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","Context","Suffix","useId","pickFormElementProps","convertSnakeCaseProps","FormLabel","FormStatus","CheckIcon","defaultProps","statusState","Checkbox","localProps","context","props","extractPropsFromContext","value","status","statusProps","statusNoAnimation","globalStatus","suffix","size","label","labelPosition","labelSrOnly","title","element","disabled","readOnly","skeleton","className","id","idProp","indeterminate","checked","onChange","innerRef","rest","_objectWithoutProperties","_excluded","isFn","refHook","ref","current","isChecked","setIsChecked","prevChecked","setPrevChecked","callOnChange","args","handleChange","event","preventDefault","updatedCheck","focus","onChangeHandler","onKeyDownHandler","mainParams","showStatus","inputParams","handleInputAttributes","statusComp","createElement","_extends","show","text_id","width_selector","text","state","no_animation","Element","forId","srOnly","_AlignmentHelper","name","type","onKeyDown","_span","_span2","_objectSpread","FormRow","formElement"],"sources":["../../../../src/components/checkbox/Checkbox.tsx"],"sourcesContent":["/**\n * Web Checkbox Component\n */\n\nimport React, {\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\n\nimport {\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport useId from '../../shared/helpers/useId'\nimport type { SpacingProps } from '../space/types'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport { convertSnakeCaseProps } from '../../shared/helpers/withSnakeCaseProps'\n\nimport type {\n FormStatusProps,\n FormStatusState,\n FormStatusText,\n} from '../FormStatus'\nimport type { SkeletonShow } from '../Skeleton'\nimport type { GlobalStatusConfigObject } from '../GlobalStatus'\n\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport CheckIcon from './CheckIcon'\n\nexport type CheckboxLabelPosition = 'left' | 'right'\nexport type CheckboxSize = 'default' | 'medium' | 'large'\nexport type CheckboxAttributes = string | Record<string, unknown>\nexport type OnChangeParams = {\n checked: boolean\n event: React.ChangeEvent<HTMLInputElement>\n}\n\nexport type CheckboxProps = {\n /**\n * Use either the `label` property or provide a custom one.\n */\n label?: React.ReactNode\n /**\n * Defines the position of the `label`. Use either `left` or `right`. Defaults to `right`.\n */\n labelPosition?: CheckboxLabelPosition\n /**\n * Use `true` to make the label only readable by screen readers.\n */\n labelSrOnly?: boolean\n /**\n * The `title` of the input - describing it a bit further for accessibility reasons.\n */\n title?: string\n /**\n * Determine whether the checkbox is checked or not. The default is `false`.\n */\n checked?: boolean | undefined | null\n /**\n * Determine whether to show the indeterminate checked state when checked. The default is `false`.\n */\n indeterminate?: boolean\n /**\n * The size of the checkbox. For now there is \"medium\" (default) and \"large\".\n */\n size?: CheckboxSize\n /**\n * Text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message.\n */\n status?: FormStatusText\n /**\n * Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.\n */\n statusState?: FormStatusState\n /**\n * Use an object to define additional FormStatus properties. See [FormStatus](/uilib/components/form-status/properties/)\n */\n statusProps?: FormStatusProps\n statusNoAnimation?: boolean\n /**\n * The [configuration](/uilib/components/global-status/properties/#configuration-object) used for the target [GlobalStatus](/uilib/components/global-status)\n */\n globalStatus?: GlobalStatusConfigObject\n /**\n * Text describing the content of the Checkbox more than the label. You can also send in a React component, so it gets wrapped inside the Checkbox component.\n */\n suffix?: React.ReactNode\n value?: string\n element?: React.ElementType\n attributes?: CheckboxAttributes\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n /**\n * Will be called on state changes made by the user. Returns an boolean `{ checked, event }`.\n */\n onChange?: (args: OnChangeParams) => void\n /**\n * By providing a React.ref we can get the internally used input element (DOM). E.g. `innerRef={myRef}` by using `React.createRef()` or `React.useRef()`.\n */\n innerRef?:\n | React.MutableRefObject<HTMLInputElement>\n | ((elem: HTMLInputElement) => void)\n} & SpacingProps &\n Omit<\n React.HTMLProps<HTMLInputElement>,\n 'ref' | 'label' | 'size' | 'onChange'\n > &\n DeprecatedCheckboxProps\n\n// deprecated, can be removed in v11\ntype DeprecatedCheckboxProps = {\n /** @deprecated use the `label` prop instead */\n children?: React.ReactNode\n /** @deprecated use `onChange` */\n on_change?: (args: OnChangeParams) => void\n /** @deprecated use `labelPosition` */\n label_position?: CheckboxLabelPosition\n /** @deprecated use `labelSrOnly` */\n label_sr_only?: boolean\n /** @deprecated use `statusState` */\n status_state?: FormStatusState\n /** @deprecated use `statusProps` */\n status_props?: FormStatusProps\n /** @deprecated use `statusNoAnimation` */\n status_no_animation?: boolean\n}\n\nconst defaultProps: CheckboxProps = {\n statusState: 'error',\n}\n\nfunction Checkbox(localProps: CheckboxProps) {\n const context = useContext(Context)\n\n const props = extractPropsFromContext()\n\n const {\n value,\n status,\n statusState,\n statusProps,\n statusNoAnimation,\n globalStatus,\n suffix,\n size,\n label,\n labelPosition,\n labelSrOnly,\n title,\n element,\n disabled,\n readOnly,\n skeleton,\n className,\n id: idProp,\n indeterminate,\n checked,\n onChange,\n innerRef,\n ...rest\n } = props\n\n const id = useId(idProp)\n\n const isFn = typeof innerRef === 'function'\n const refHook = useRef<HTMLInputElement>()\n const ref = (!isFn && innerRef) || refHook\n\n useEffect(() => {\n if (isFn) {\n innerRef?.(ref.current)\n }\n }, [innerRef, isFn, ref])\n\n const [isChecked, setIsChecked] = useState<boolean>(checked ?? false)\n const [prevChecked, setPrevChecked] = useState<boolean>(checked)\n\n useEffect(() => {\n if (checked !== prevChecked) {\n setIsChecked(!!checked)\n setPrevChecked(!!checked)\n }\n }, [checked, prevChecked])\n\n useEffect(() => {\n ref.current.indeterminate = indeterminate\n }, [indeterminate, ref])\n\n const callOnChange: CheckboxProps['onChange'] = useCallback(\n (args) => {\n onChange?.(args)\n },\n [onChange]\n )\n\n const handleChange = useCallback(\n (event: OnChangeParams['event']) => {\n if (readOnly) {\n return event.preventDefault()\n }\n const updatedCheck = !isChecked\n\n setIsChecked(updatedCheck)\n callOnChange({ checked: updatedCheck, event })\n\n // help firefox and safari to have an correct state after a click\n if (ref.current) {\n ref.current.focus()\n }\n },\n [callOnChange, isChecked, readOnly, ref]\n )\n\n const onChangeHandler = useCallback(\n (event: OnChangeParams['event']) => {\n handleChange(event)\n },\n [handleChange]\n )\n\n const onKeyDownHandler = useCallback(\n (event: KeyboardEvent & OnChangeParams['event']) => {\n switch (keycode(event)) {\n case 'enter':\n handleChange(event)\n break\n }\n },\n [handleChange]\n )\n\n const mainParams = {\n className: classnames(\n 'dnb-checkbox',\n status && `dnb-checkbox__status--${statusState}`,\n size && `dnb-checkbox--${size}`,\n label && `dnb-checkbox--label-position-${labelPosition || 'right'}`,\n 'dnb-form-component',\n createSkeletonClass(null, skeleton),\n createSpacingClasses(props),\n className\n ),\n }\n\n const showStatus = getStatusState(status)\n\n const inputParams = handleInputAttributes()\n\n const statusComp = (\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n width_selector={id + ', ' + id + '-label'}\n text={status}\n state={statusState}\n no_animation={statusNoAnimation}\n skeleton={skeleton}\n {...statusProps}\n />\n )\n\n const Element = element || 'input'\n\n return (\n <span {...mainParams}>\n <span className=\"dnb-checkbox__order\">\n {label && (\n <FormLabel\n id={id + '-label'}\n forId={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n srOnly={labelSrOnly}\n />\n )}\n\n <span className=\"dnb-checkbox__inner\">\n <AlignmentHelper />\n {labelPosition === 'left' && statusComp}\n\n <span className=\"dnb-checkbox__shell\">\n <Element\n id={id}\n name={id}\n type=\"checkbox\"\n title={title}\n className=\"dnb-checkbox__input\"\n value={isChecked ? value || '' : ''}\n disabled={disabled}\n {...inputParams}\n onChange={onChangeHandler}\n onKeyDown={onKeyDownHandler}\n ref={ref}\n />\n\n <span\n className={classnames(\n 'dnb-checkbox__button',\n createSkeletonClass('shape', skeleton, context)\n )}\n aria-hidden\n >\n <span className=\"dnb-checkbox__focus\" />\n </span>\n\n <span className=\"dnb-checkbox__indeterminate\" />\n\n <CheckIcon size={size} />\n </span>\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-checkbox__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n\n {(labelPosition === 'right' || !labelPosition) && statusComp}\n </span>\n )\n\n /**\n * Adds aria attributes, calls validateDOMAttributes and skeletonDOMAttributes and returns the result\n */\n function handleInputAttributes() {\n const inputParams = {\n disabled,\n checked: isChecked,\n readOnly,\n ...rest,\n }\n\n if (showStatus || suffix) {\n inputParams['aria-describedby'] = combineDescribedBy(\n inputParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n inputParams['aria-readonly'] = inputParams.readOnly = true\n }\n\n // also used for code markup simulation\n return validateDOMAttributes(\n props,\n skeletonDOMAttributes(inputParams, skeleton, context)\n )\n }\n\n function extractPropsFromContext() {\n return extendPropsWithContext(\n convertSnakeCaseProps(localProps),\n defaultProps,\n context.Checkbox,\n {\n skeleton: context?.Checkbox,\n },\n // Deprecated – can be removed in v11\n pickFormElementProps(context?.FormRow),\n pickFormElementProps(context?.formElement)\n )\n }\n}\n\nexport default Checkbox\n"],"mappings":"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"}
@@ -14,12 +14,12 @@ export const CheckboxProperties = {
14
14
  type: 'ReactNode',
15
15
  status: 'optional'
16
16
  },
17
- label_position: {
17
+ labelPosition: {
18
18
  doc: 'Defines the position of the `label`. Use either `left` or `right`. Defaults to `right`.',
19
19
  type: 'string',
20
20
  status: 'optional'
21
21
  },
22
- label_sr_only: {
22
+ labelSrOnly: {
23
23
  doc: 'Use `true` to make the label only readable by screen readers.',
24
24
  type: 'string',
25
25
  status: 'optional'
@@ -29,17 +29,22 @@ export const CheckboxProperties = {
29
29
  type: ['string', 'number'],
30
30
  status: 'optional'
31
31
  },
32
+ indeterminate: {
33
+ doc: 'Controls the checkbox indeterminate (partial) state.',
34
+ type: 'boolean',
35
+ status: 'optional'
36
+ },
32
37
  status: {
33
38
  doc: 'Text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message.',
34
39
  type: 'string',
35
40
  status: 'optional'
36
41
  },
37
- status_state: {
42
+ statusState: {
38
43
  doc: 'Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.',
39
44
  type: ['error', 'info'],
40
45
  status: 'optional'
41
46
  },
42
- status_props: {
47
+ statusProps: {
43
48
  doc: 'Use an object to define additional FormStatus properties. See [FormStatus](/uilib/components/form-status/properties/)',
44
49
  type: 'FormStatusProps',
45
50
  status: 'optional'
@@ -71,7 +76,7 @@ export const CheckboxProperties = {
71
76
  }
72
77
  };
73
78
  export const CheckboxEvents = {
74
- on_change: {
79
+ onChange: {
75
80
  doc: 'Will be called on state changes made by the user.',
76
81
  type: '() => {checked: boolean; event: ChangeEvent}',
77
82
  status: 'optional'
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxDocs.js","names":["CheckboxProperties","checked","doc","type","status","title","label","label_position","label_sr_only","size","status_state","status_props","globalStatus","skeleton","suffix","innerRef","CheckboxEvents","on_change"],"sources":["../../../../src/components/checkbox/CheckboxDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const CheckboxProperties: PropertiesTableProps = {\n checked: {\n doc: 'Determine whether the checkbox is checked or not. The default is `false`.',\n type: 'boolean',\n status: 'optional',\n },\n title: {\n doc: 'The `title` of the input - describing it a bit further for accessibility reasons.',\n type: 'ReactNode',\n status: 'optional',\n },\n label: {\n doc: 'Use either the `label` property or provide a custom one.',\n type: 'ReactNode',\n status: 'optional',\n },\n label_position: {\n doc: 'Defines the position of the `label`. Use either `left` or `right`. Defaults to `right`.',\n type: 'string',\n status: 'optional',\n },\n label_sr_only: {\n doc: 'Use `true` to make the label only readable by screen readers.',\n type: 'string',\n status: 'optional',\n },\n size: {\n doc: 'The size of the checkbox. For now there is \"medium\" (default) and \"large\".',\n type: ['string', 'number'],\n status: 'optional',\n },\n status: {\n doc: 'Text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message.',\n type: 'string',\n status: 'optional',\n },\n status_state: {\n doc: 'Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.',\n type: ['error', 'info'],\n status: 'optional',\n },\n status_props: {\n doc: 'Use an object to define additional FormStatus properties. See [FormStatus](/uilib/components/form-status/properties/)',\n type: 'FormStatusProps',\n status: 'optional',\n },\n globalStatus: {\n doc: 'The [configuration](/uilib/components/global-status/properties/#configuration-object) used for the target [GlobalStatus](/uilib/components/global-status)',\n type: 'object',\n status: 'optional',\n },\n skeleton: {\n doc: 'If set to `true`, an overlaying skeleton with animation will be shown.',\n type: 'boolean',\n status: 'optional',\n },\n suffix: {\n doc: 'Text describing the content of the Checkbox more than the label. You can also send in a React component, so it gets wrapped inside the Checkbox component.',\n type: 'ReactNode',\n status: 'optional',\n },\n innerRef: {\n doc: 'By providing a React.ref we can get the internally used input element (DOM). E.g. `innerRef={myRef}` by using `React.createRef()` or `React.useRef()`.',\n type: 'string',\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 CheckboxEvents: PropertiesTableProps = {\n on_change: {\n doc: 'Will be called on state changes made by the user.',\n type: '() => {checked: boolean; event: ChangeEvent}',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,kBAAwC,GAAG;EACtDC,OAAO,EAAE;IACPC,GAAG,EAAE,2EAA2E;IAChFC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDC,KAAK,EAAE;IACLH,GAAG,EAAE,mFAAmF;IACxFC,IAAI,EAAE,WAAW;IACjBC,MAAM,EAAE;EACV,CAAC;EACDE,KAAK,EAAE;IACLJ,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,WAAW;IACjBC,MAAM,EAAE;EACV,CAAC;EACDG,cAAc,EAAE;IACdL,GAAG,EAAE,yFAAyF;IAC9FC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,aAAa,EAAE;IACbN,GAAG,EAAE,+DAA+D;IACpEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,IAAI,EAAE;IACJP,GAAG,EAAE,4EAA4E;IACjFC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV,CAAC;EACDA,MAAM,EAAE;IACNF,GAAG,EAAE,yIAAyI;IAC9IC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDM,YAAY,EAAE;IACZR,GAAG,EAAE,0GAA0G;IAC/GC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;IACvBC,MAAM,EAAE;EACV,CAAC;EACDO,YAAY,EAAE;IACZT,GAAG,EAAE,uHAAuH;IAC5HC,IAAI,EAAE,iBAAiB;IACvBC,MAAM,EAAE;EACV,CAAC;EACDQ,YAAY,EAAE;IACZV,GAAG,EAAE,2JAA2J;IAChKC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDS,QAAQ,EAAE;IACRX,GAAG,EAAE,wEAAwE;IAC7EC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDU,MAAM,EAAE;IACNZ,GAAG,EAAE,4JAA4J;IACjKC,IAAI,EAAE,WAAW;IACjBC,MAAM,EAAE;EACV,CAAC;EACDW,QAAQ,EAAE;IACRb,GAAG,EAAE,wJAAwJ;IAC7JC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMY,cAAoC,GAAG;EAClDC,SAAS,EAAE;IACTf,GAAG,EAAE,mDAAmD;IACxDC,IAAI,EAAE,8CAA8C;IACpDC,MAAM,EAAE;EACV;AACF,CAAC"}
1
+ {"version":3,"file":"CheckboxDocs.js","names":["CheckboxProperties","checked","doc","type","status","title","label","labelPosition","labelSrOnly","size","indeterminate","statusState","statusProps","globalStatus","skeleton","suffix","innerRef","CheckboxEvents","onChange"],"sources":["../../../../src/components/checkbox/CheckboxDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../shared/types'\n\nexport const CheckboxProperties: PropertiesTableProps = {\n checked: {\n doc: 'Determine whether the checkbox is checked or not. The default is `false`.',\n type: 'boolean',\n status: 'optional',\n },\n title: {\n doc: 'The `title` of the input - describing it a bit further for accessibility reasons.',\n type: 'ReactNode',\n status: 'optional',\n },\n label: {\n doc: 'Use either the `label` property or provide a custom one.',\n type: 'ReactNode',\n status: 'optional',\n },\n labelPosition: {\n doc: 'Defines the position of the `label`. Use either `left` or `right`. Defaults to `right`.',\n type: 'string',\n status: 'optional',\n },\n labelSrOnly: {\n doc: 'Use `true` to make the label only readable by screen readers.',\n type: 'string',\n status: 'optional',\n },\n size: {\n doc: 'The size of the checkbox. For now there is \"medium\" (default) and \"large\".',\n type: ['string', 'number'],\n status: 'optional',\n },\n indeterminate: {\n doc: 'Controls the checkbox indeterminate (partial) state.',\n type: 'boolean',\n status: 'optional',\n },\n status: {\n doc: 'Text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message.',\n type: 'string',\n status: 'optional',\n },\n statusState: {\n doc: 'Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.',\n type: ['error', 'info'],\n status: 'optional',\n },\n statusProps: {\n doc: 'Use an object to define additional FormStatus properties. See [FormStatus](/uilib/components/form-status/properties/)',\n type: 'FormStatusProps',\n status: 'optional',\n },\n globalStatus: {\n doc: 'The [configuration](/uilib/components/global-status/properties/#configuration-object) used for the target [GlobalStatus](/uilib/components/global-status)',\n type: 'object',\n status: 'optional',\n },\n skeleton: {\n doc: 'If set to `true`, an overlaying skeleton with animation will be shown.',\n type: 'boolean',\n status: 'optional',\n },\n suffix: {\n doc: 'Text describing the content of the Checkbox more than the label. You can also send in a React component, so it gets wrapped inside the Checkbox component.',\n type: 'ReactNode',\n status: 'optional',\n },\n innerRef: {\n doc: 'By providing a React.ref we can get the internally used input element (DOM). E.g. `innerRef={myRef}` by using `React.createRef()` or `React.useRef()`.',\n type: 'string',\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 CheckboxEvents: PropertiesTableProps = {\n onChange: {\n doc: 'Will be called on state changes made by the user.',\n type: '() => {checked: boolean; event: ChangeEvent}',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,kBAAwC,GAAG;EACtDC,OAAO,EAAE;IACPC,GAAG,EAAE,2EAA2E;IAChFC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDC,KAAK,EAAE;IACLH,GAAG,EAAE,mFAAmF;IACxFC,IAAI,EAAE,WAAW;IACjBC,MAAM,EAAE;EACV,CAAC;EACDE,KAAK,EAAE;IACLJ,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,WAAW;IACjBC,MAAM,EAAE;EACV,CAAC;EACDG,aAAa,EAAE;IACbL,GAAG,EAAE,yFAAyF;IAC9FC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,WAAW,EAAE;IACXN,GAAG,EAAE,+DAA+D;IACpEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,IAAI,EAAE;IACJP,GAAG,EAAE,4EAA4E;IACjFC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV,CAAC;EACDM,aAAa,EAAE;IACbR,GAAG,EAAE,sDAAsD;IAC3DC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDA,MAAM,EAAE;IACNF,GAAG,EAAE,yIAAyI;IAC9IC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDO,WAAW,EAAE;IACXT,GAAG,EAAE,0GAA0G;IAC/GC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;IACvBC,MAAM,EAAE;EACV,CAAC;EACDQ,WAAW,EAAE;IACXV,GAAG,EAAE,uHAAuH;IAC5HC,IAAI,EAAE,iBAAiB;IACvBC,MAAM,EAAE;EACV,CAAC;EACDS,YAAY,EAAE;IACZX,GAAG,EAAE,2JAA2J;IAChKC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDU,QAAQ,EAAE;IACRZ,GAAG,EAAE,wEAAwE;IAC7EC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDW,MAAM,EAAE;IACNb,GAAG,EAAE,4JAA4J;IACjKC,IAAI,EAAE,WAAW;IACjBC,MAAM,EAAE;EACV,CAAC;EACDY,QAAQ,EAAE;IACRd,GAAG,EAAE,wJAAwJ;IAC7JC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACD,yCAAyC,EAAE;IACzCF,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV;AACF,CAAC;AAED,OAAO,MAAMa,cAAoC,GAAG;EAClDC,QAAQ,EAAE;IACRhB,GAAG,EAAE,mDAAmD;IACxDC,IAAI,EAAE,8CAA8C;IACpDC,MAAM,EAAE;EACV;AACF,CAAC"}
@@ -11,11 +11,18 @@
11
11
  }
12
12
 
13
13
  .dnb-checkbox {
14
+ --checkbox-border-radius: 0.25rem;
15
+ --checkbox-gfx-border-radius__indeterminate: 0.125rem;
14
16
  --checkbox-width--large: 2rem;
15
17
  --checkbox-height--large: 2rem;
18
+ --checkbox-gfx-height__indeterminate: 0.625rem;
19
+ --checkbox-gfx-width__indeterminate: 0.625rem;
20
+ --checkbox-gfx-height__indeterminate--large: 0.875rem;
21
+ --checkbox-gfx-width__indeterminate--large: 0.875rem;
16
22
  --checkbox-border-width: 0.125rem;
23
+ --checkbox-border-width--hover: 0.125rem;
17
24
  --checkbox-color-gfx-on: black;
18
- --checkbox-color-gfx-off: black;
25
+ --checkbox-color-gfx-off: white;
19
26
  --checkbox-color-background-on: white;
20
27
  --checkbox-color-background-off: white;
21
28
  --checkbox-color-border-on: black;
@@ -25,6 +32,7 @@
25
32
  --checkbox-color-background-off--disabled: lightgrey;
26
33
  --checkbox-color-border-on--disabled: grey;
27
34
  --checkbox-color-border-off--disabled: grey;
35
+ --checkbox-color-gfx__indeterminate--disabled: grey;
28
36
  --checkbox-color-background--active: lightgrey;
29
37
  --checkbox-color-border--active: transparent;
30
38
  --checkbox-color-gfx--hover: grey;
@@ -38,6 +46,15 @@
38
46
  --checkbox-color-background-on--error: red;
39
47
  --checkbox-color-background--error-contrast: lavenderblush;
40
48
  --checkbox-color-border--error: red;
49
+ --checkbox-color-gfx-indeterminate--error: red;
50
+ --checkbox-color-gfx--error--hover: red;
51
+ --checkbox-color-background--error--hover: lavenderblush;
52
+ --checkbox-color-border--error--hover: red;
53
+ --checkbox-color-background-indeterminate: grey;
54
+ --checkbox-color-gfx-indeterminate: darkgray;
55
+ --checkbox-color-background-indeterminate--active: grey;
56
+ --checkbox-color-border-indeterminate--active: white;
57
+ --checkbox-color-gfx-indeterminate--active: white;
41
58
  --checkbox-bounding--medium: 1.75, 1.75;
42
59
  display: inline-flex;
43
60
  flex-direction: column;
@@ -91,12 +108,12 @@ html[data-whatinput=keyboard] .dnb-checkbox__focus {
91
108
  z-index: 4;
92
109
  width: calc(var(--checkbox-width--medium) - 0.25rem);
93
110
  height: calc(var(--checkbox-height--medium) - 0.25rem);
94
- border-radius: 0.25rem;
111
+ border-radius: var(--checkbox-border-radius);
95
112
  }
96
113
  .dnb-checkbox--large .dnb-checkbox__focus, .dnb-checkbox--large .dnb-checkbox__button {
97
114
  width: var(--checkbox-width--large);
98
115
  height: var(--checkbox-height--large);
99
- border-radius: 0.25rem;
116
+ border-radius: var(--checkbox-border-radius);
100
117
  }
101
118
  .dnb-checkbox__gfx {
102
119
  position: absolute;
@@ -188,6 +205,33 @@ html[data-whatinput=keyboard] .dnb-checkbox__focus {
188
205
  .dnb-checkbox__input:not(:checked):not([data-checked=true]) ~ .dnb-checkbox__button {
189
206
  background-color: var(--checkbox-color-background-off);
190
207
  border-color: var(--checkbox-color-border-off);
208
+ transition: background-color 100ms ease-out;
209
+ }
210
+ .dnb-checkbox__input ~ .dnb-checkbox__indeterminate {
211
+ position: absolute;
212
+ z-index: 5;
213
+ width: var(--checkbox-gfx-width__indeterminate);
214
+ height: var(--checkbox-gfx-height__indeterminate);
215
+ transform: scale(0.85);
216
+ opacity: 0;
217
+ background-color: var(--checkbox-color-gfx-indeterminate);
218
+ border-radius: var(--checkbox-gfx-border-radius__indeterminate);
219
+ transition: opacity 200ms ease-out, transform 200ms ease-out;
220
+ }
221
+ .dnb-checkbox__input:indeterminate ~ .dnb-checkbox__indeterminate {
222
+ transform: scale(1);
223
+ opacity: 1;
224
+ }
225
+ .dnb-checkbox__input:indeterminate:checked ~ .dnb-checkbox__button {
226
+ background-color: transparent;
227
+ border-color: var(--checkbox-color-border-off);
228
+ }
229
+ .dnb-checkbox__input:indeterminate:hover ~ .dnb-checkbox__gfx, .dnb-checkbox__input:indeterminate:checked ~ .dnb-checkbox__gfx, .dnb-checkbox__input:indeterminate:checked:hover ~ .dnb-checkbox__gfx {
230
+ color: transparent;
231
+ }
232
+ .dnb-checkbox--large .dnb-checkbox__input:indeterminate ~ .dnb-checkbox__indeterminate {
233
+ width: var(--checkbox-gfx-width__indeterminate--large);
234
+ height: var(--checkbox-gfx-height__indeterminate--large);
191
235
  }
192
236
  .dnb-checkbox__input[disabled]:checked ~ .dnb-checkbox__button, .dnb-checkbox__input[disabled][data-checked=true] ~ .dnb-checkbox__button {
193
237
  background-color: var(--checkbox-color-background-on--disabled);
@@ -200,6 +244,12 @@ html[data-whatinput=keyboard] .dnb-checkbox__focus {
200
244
  border-color: var(--checkbox-color-border-off--disabled);
201
245
  background-color: var(--checkbox-color-background-off--disabled);
202
246
  }
247
+ .dnb-checkbox__input[disabled]:indeterminate ~ .dnb-checkbox__indeterminate {
248
+ background-color: var(--checkbox-color-gfx__indeterminate--disabled);
249
+ }
250
+ .dnb-checkbox__input[disabled]:indeterminate ~ .dnb-checkbox__gfx {
251
+ color: transparent;
252
+ }
203
253
  .dnb-checkbox__input:not([disabled]):active ~ .dnb-checkbox__button {
204
254
  background-color: var(--checkbox-color-background--active);
205
255
  border-color: var(--checkbox-color-border--active);
@@ -207,44 +257,54 @@ html[data-whatinput=keyboard] .dnb-checkbox__focus {
207
257
  .dnb-checkbox__input:not([disabled]):checked:active ~ .dnb-checkbox__gfx, .dnb-checkbox__input:not([disabled])[data-checked=true]:active ~ .dnb-checkbox__gfx {
208
258
  color: var(--checkbox-color-gfx-on);
209
259
  }
210
- .dnb-checkbox__input:not([disabled]):not(:focus):hover ~ .dnb-checkbox__button {
260
+ .dnb-checkbox__input:not([disabled]):indeterminate:active ~ .dnb-checkbox__button {
261
+ background-color: var(--checkbox-color-background-indeterminate--active);
262
+ border-color: var(--checkbox-color-border-indeterminate--active);
263
+ }
264
+ .dnb-checkbox__input:not([disabled]):indeterminate:active ~ .dnb-checkbox__indeterminate {
265
+ background-color: var(--checkbox-color-gfx-indeterminate--active);
266
+ }
267
+ .dnb-checkbox__input:not([disabled]):not(:active):hover ~ .dnb-checkbox__button {
211
268
  border-color: var(--checkbox-color-border-off--hover);
212
269
  background-color: var(--checkbox-color-background--hover);
213
270
  }
214
- .dnb-checkbox__input:not([disabled]):not(:focus):hover ~ .dnb-checkbox__gfx {
271
+ .dnb-checkbox__input:hover ~ .dnb-checkbox__gfx {
215
272
  color: var(--checkbox-color-gfx--hover);
216
273
  }
217
- .dnb-checkbox__input:not([disabled]):not(:focus):checked:hover ~ .dnb-checkbox__button, .dnb-checkbox__input:not([disabled]):not(:focus)[data-checked=true]:hover ~ .dnb-checkbox__button {
218
- border-color: var(--checkbox-color-border-on--hover);
274
+ .dnb-checkbox__input:not([disabled]):checked:hover ~ .dnb-checkbox__button, .dnb-checkbox__input:not([disabled])[data-checked=true]:hover ~ .dnb-checkbox__button {
275
+ border: var(--checkbox-border-width--hover) solid var(--checkbox-color-border-on--hover);
219
276
  }
220
- html[data-whatinput=keyboard] .dnb-checkbox__input:not([disabled]):focus ~ .dnb-checkbox__button {
277
+ html[data-whatinput=keyboard] .dnb-checkbox__input:not([disabled]):focus-visible ~ .dnb-checkbox__button {
221
278
  border: none;
222
279
  background-color: var(--checkbox-color-background--focus);
223
280
  }
224
- html[data-whatinput=keyboard] .dnb-checkbox__input:not([disabled]):focus ~ .dnb-checkbox__gfx {
281
+ html[data-whatinput=keyboard] .dnb-checkbox__input:not([disabled]):focus-visible ~ .dnb-checkbox__gfx {
225
282
  color: var(--checkbox-color-gfx--focus);
226
283
  }
227
- .dnb-checkbox__input:not([disabled]):focus ~ .dnb-checkbox__button .dnb-checkbox__focus, .dnb-checkbox__input:not([disabled]):active ~ .dnb-checkbox__button .dnb-checkbox__focus {
284
+ .dnb-checkbox__input:not([disabled]):focus-visible ~ .dnb-checkbox__button .dnb-checkbox__focus, .dnb-checkbox__input:not([disabled]):active ~ .dnb-checkbox__button .dnb-checkbox__focus {
228
285
  display: block;
229
286
  }
287
+ .dnb-checkbox__input:not([disabled]):focus-visible ~ .dnb-checkbox__indeterminate {
288
+ background-color: var(--checkbox-color-gfx--focus);
289
+ }
230
290
  .dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active) ~ .dnb-checkbox__button {
231
291
  border: none;
232
292
  }
233
293
  .dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active) ~ .dnb-checkbox__button .dnb-checkbox__focus {
234
294
  display: block;
235
295
  --border-color: var(--checkbox-color-border--error);
236
- --border-width: var(--focus-ring-width);
296
+ --border-width: var(--checkbox-border-width);
237
297
  box-shadow: 0 0 0 var(--border-width) var(--border-color);
238
298
  border-color: transparent;
239
299
  }
240
300
  .dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):hover ~ .dnb-checkbox__button {
241
- background-color: var(--checkbox-color-background--error-contrast);
301
+ background-color: var(--checkbox-color-background--error--hover);
242
302
  }
243
303
  .dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):hover ~ .dnb-checkbox__button[data-checked=true] {
244
- border-color: var(--checkbox-color-border--error);
304
+ border-color: var(--checkbox-color-border--error--hover);
245
305
  }
246
306
  .dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):hover ~ .dnb-checkbox__gfx {
247
- color: var(--checkbox-color-gfx--error-contrast);
307
+ color: var(--checkbox-color-gfx--error--hover);
248
308
  }
249
309
  .dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active):not(:hover) ~ .dnb-checkbox__gfx {
250
310
  color: var(--checkbox-color-gfx--error);
@@ -253,7 +313,7 @@ html[data-whatinput=keyboard] .dnb-checkbox__status--error .dnb-checkbox__input:
253
313
  border: none;
254
314
  background-color: var(--checkbox-color-background--error-contrast);
255
315
  --border-color: var(--checkbox-color-border--error);
256
- --border-width: calc(var(--focus-ring-width) + 0.0625rem);
316
+ --border-width: calc(var(--checkbox-border-width--hover));
257
317
  box-shadow: 0 0 0 var(--border-width) var(--border-color);
258
318
  border-color: transparent;
259
319
  }
@@ -263,6 +323,23 @@ html[data-whatinput=keyboard] .dnb-checkbox__status--error .dnb-checkbox__input:
263
323
  .dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active):not(:hover):checked ~ .dnb-checkbox__button, .dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active):not(:hover)[data-checked=true] ~ .dnb-checkbox__button {
264
324
  background-color: var(--checkbox-color-background-on--error);
265
325
  }
326
+ .dnb-checkbox__status--error .dnb-checkbox__input:indeterminate:not([disabled]):not(:active):not(:hover) ~ .dnb-checkbox__gfx {
327
+ color: var(--checkbox-color-gfx--error-contrast);
328
+ background-color: var(--checkbox-color-gfx--error-contrast);
329
+ border-radius: var(--checkbox-border-radius);
330
+ }
331
+ .dnb-checkbox__status--error .dnb-checkbox__input:indeterminate:not(:active):not(:hover) ~ .dnb-checkbox__indeterminate {
332
+ background-color: var(--checkbox-color-gfx-indeterminate--error);
333
+ }
334
+ .dnb-checkbox__status--error .dnb-checkbox__input:not(:indeterminate) ~ .dnb-checkbox__indeterminate {
335
+ background-color: var(--checkbox-color-gfx-indeterminate--error);
336
+ }
337
+ .dnb-checkbox__status--error .dnb-checkbox__input:indeterminate:hover:not(:active) ~ .dnb-checkbox__indeterminate {
338
+ background-color: var(--checkbox-color-gfx--error--hover);
339
+ }
340
+ .dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active):hover ~ .dnb-checkbox__gfx {
341
+ color: var(--checkbox-color-gfx--error--hover);
342
+ }
266
343
  .dnb-checkbox.dnb-skeleton .dnb-checkbox__input[disabled] ~ .dnb-checkbox__button {
267
344
  border-color: var(--skeleton-color);
268
345
  }
@@ -271,4 +348,7 @@ html[data-whatinput=keyboard] .dnb-checkbox__status--error .dnb-checkbox__input:
271
348
  }
272
349
  .dnb-checkbox.dnb-skeleton .dnb-checkbox__input[disabled] ~ .dnb-checkbox__gfx {
273
350
  color: var(--skeleton-color);
351
+ }
352
+ .dnb-checkbox.dnb-skeleton .dnb-checkbox__input[disabled] ~ .dnb-checkbox__indeterminate {
353
+ background-color: var(--skeleton-color);
274
354
  }
@@ -1 +1 @@
1
- :root{--checkbox-width--medium:1.5rem;--checkbox-height--medium:1.5rem}.dnb-checkbox{--checkbox-width--large:2rem;--checkbox-height--large:2rem;--checkbox-border-width:0.125rem;--checkbox-color-gfx-on:#000;--checkbox-color-gfx-off:#000;--checkbox-color-background-on:#fff;--checkbox-color-background-off:#fff;--checkbox-color-border-on:#000;--checkbox-color-border-off:#000;--checkbox-color-gfx--disabled:grey;--checkbox-color-background-on--disabled:#d3d3d3;--checkbox-color-background-off--disabled:#d3d3d3;--checkbox-color-border-on--disabled:grey;--checkbox-color-border-off--disabled:grey;--checkbox-color-background--active:#d3d3d3;--checkbox-color-border--active:transparent;--checkbox-color-gfx--hover:grey;--checkbox-color-background--hover:#fff;--checkbox-color-border-on--hover:grey;--checkbox-color-border-off--hover:grey;--checkbox-color-gfx--focus:grey;--checkbox-color-background--focus:#d3d3d3;--checkbox-color-gfx--error:#fff0f5;--checkbox-color-gfx--error-contrast:red;--checkbox-color-background-on--error:red;--checkbox-color-background--error-contrast:#fff0f5;--checkbox-color-border--error:red;--checkbox-bounding--medium:1.75,1.75;font-size:var(--font-size-small);line-height:var(--line-height-basis)}.dnb-checkbox,.dnb-checkbox__inner{display:inline-flex;flex-direction:column}.dnb-checkbox__inner{align-self:center}.dnb-checkbox__shell{align-items:center;display:flex;height:var(--checkbox-height--medium);justify-content:center;position:relative;-webkit-user-select:none;user-select:none;width:var(--checkbox-width--medium)}.dnb-checkbox--large .dnb-checkbox__shell{height:var(--checkbox-height--large);width:var(--checkbox-width--large)}.dnb-checkbox__button{border:var(--checkbox-border-width) solid transparent;display:inline-block}.dnb-checkbox__focus{display:none;outline:none}html[data-whatinput=keyboard] .dnb-checkbox__focus{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-checkbox__button,.dnb-checkbox__focus{border-radius:.25rem;height:calc(var(--checkbox-height--medium) - .25rem);position:relative;width:calc(var(--checkbox-width--medium) - .25rem);z-index:4}.dnb-checkbox--large .dnb-checkbox__button,.dnb-checkbox--large .dnb-checkbox__focus{border-radius:.25rem;height:var(--checkbox-height--large);width:var(--checkbox-width--large)}.dnb-checkbox__gfx{shape-rendering:geometricprecision;height:calc(var(--checkbox-height--medium) - .5rem);left:auto;position:absolute;top:auto;transition:opacity .2s ease-out,transform .2s ease-out;width:calc(var(--checkbox-width--medium) - .5rem);z-index:5}.dnb-checkbox--large{line-height:var(--checkbox-height--large)}.dnb-checkbox--large .dnb-checkbox__gfx{height:calc(var(--checkbox-height--large) - .5rem);width:calc(var(--checkbox-width--large) - .5rem)}.dnb-checkbox__input{border:0;height:var(--checkbox-height--medium);left:auto;margin:0;opacity:0;padding:0;position:absolute;top:auto;transform:scale(var(--checkbox-bounding--medium));width:var(--checkbox-width--medium);z-index:6}.dnb-checkbox--large .dnb-checkbox__input{height:var(--checkbox-height--large);transform:scale(1);width:var(--checkbox-width--large)}.dnb-checkbox__input:not([disabled]){cursor:pointer}.dnb-checkbox .dnb-form-label{margin-bottom:0;margin-left:0;margin-right:0}.dnb-checkbox__order{align-items:baseline;display:inline-flex}.dnb-checkbox__suffix{order:4}.dnb-checkbox--label-position-left .dnb-checkbox__order .dnb-checkbox__inner{order:2}.dnb-checkbox--label-position-left .dnb-checkbox__order .dnb-form-label{order:1;padding-right:.5rem}.dnb-checkbox--label-position-left .dnb-checkbox__order .dnb-form-status{margin-top:.5rem;order:3}.dnb-checkbox--label-position-right .dnb-checkbox__order .dnb-checkbox__inner{order:1}.dnb-checkbox--label-position-right .dnb-checkbox__order .dnb-form-label{order:2;padding-left:.5rem}.dnb-checkbox--label-position-right .dnb-checkbox__order+.dnb-form-status{margin-top:.5rem;order:3;vertical-align:top}.dnb-checkbox__input:checked~.dnb-checkbox__gfx,.dnb-checkbox__input[data-checked=true]~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx-on);opacity:1;transform:scale(1)}.dnb-checkbox__input:checked~.dnb-checkbox__button,.dnb-checkbox__input[data-checked=true]~.dnb-checkbox__button{background-color:var(--checkbox-color-background-on);border-color:var(--checkbox-color-border-on)}.dnb-checkbox__input:not(:checked):not([data-checked=true])~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx-off);opacity:0;transform:scale(.8)}.dnb-checkbox__input:not(:checked):not([data-checked=true])~.dnb-checkbox__button{background-color:var(--checkbox-color-background-off);border-color:var(--checkbox-color-border-off)}.dnb-checkbox__input[disabled]:checked~.dnb-checkbox__button,.dnb-checkbox__input[disabled][data-checked=true]~.dnb-checkbox__button{background-color:var(--checkbox-color-background-on--disabled);border-color:var(--checkbox-color-border-on--disabled)}.dnb-checkbox__input[disabled]:checked~.dnb-checkbox__gfx,.dnb-checkbox__input[disabled][data-checked=true]~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx--disabled)}.dnb-checkbox__input[disabled]:not(:checked):not([data-checked=true])~.dnb-checkbox__button{background-color:var(--checkbox-color-background-off--disabled);border-color:var(--checkbox-color-border-off--disabled)}.dnb-checkbox__input:not([disabled]):active~.dnb-checkbox__button{background-color:var(--checkbox-color-background--active);border-color:var(--checkbox-color-border--active)}.dnb-checkbox__input:not([disabled]):checked:active~.dnb-checkbox__gfx,.dnb-checkbox__input:not([disabled])[data-checked=true]:active~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx-on)}.dnb-checkbox__input:not([disabled]):not(:focus):hover~.dnb-checkbox__button{background-color:var(--checkbox-color-background--hover);border-color:var(--checkbox-color-border-off--hover)}.dnb-checkbox__input:not([disabled]):not(:focus):hover~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx--hover)}.dnb-checkbox__input:not([disabled]):not(:focus):checked:hover~.dnb-checkbox__button,.dnb-checkbox__input:not([disabled]):not(:focus)[data-checked=true]:hover~.dnb-checkbox__button{border-color:var(--checkbox-color-border-on--hover)}html[data-whatinput=keyboard] .dnb-checkbox__input:not([disabled]):focus~.dnb-checkbox__button{background-color:var(--checkbox-color-background--focus);border:none}html[data-whatinput=keyboard] .dnb-checkbox__input:not([disabled]):focus~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx--focus)}.dnb-checkbox__input:not([disabled]):active~.dnb-checkbox__button .dnb-checkbox__focus,.dnb-checkbox__input:not([disabled]):focus~.dnb-checkbox__button .dnb-checkbox__focus{display:block}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active)~.dnb-checkbox__button{border:none}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active)~.dnb-checkbox__button .dnb-checkbox__focus{--border-color:var(--checkbox-color-border--error);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color);display:block}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):hover~.dnb-checkbox__button{background-color:var(--checkbox-color-background--error-contrast)}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):hover~.dnb-checkbox__button[data-checked=true]{border-color:var(--checkbox-color-border--error)}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):hover~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx--error-contrast)}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active):not(:hover)~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx--error)}html[data-whatinput=keyboard] .dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):focus:hover~.dnb-checkbox__button,html[data-whatinput=keyboard] .dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):focus~.dnb-checkbox__button{--border-color:var(--checkbox-color-border--error);--border-width:calc(var(--focus-ring-width) + 0.0625rem);background-color:var(--checkbox-color-background--error-contrast);border:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}html[data-whatinput=keyboard] .dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):focus:hover~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx--error-contrast)}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active):not(:hover):checked~.dnb-checkbox__button,.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active):not(:hover)[data-checked=true]~.dnb-checkbox__button{background-color:var(--checkbox-color-background-on--error)}.dnb-checkbox.dnb-skeleton .dnb-checkbox__input[disabled]~.dnb-checkbox__button{border-color:var(--skeleton-color)}.dnb-checkbox.dnb-skeleton .dnb-checkbox__input[disabled]~.dnb-checkbox__button:before{border-radius:0}.dnb-checkbox.dnb-skeleton .dnb-checkbox__input[disabled]~.dnb-checkbox__gfx{color:var(--skeleton-color)}
1
+ :root{--checkbox-width--medium:1.5rem;--checkbox-height--medium:1.5rem}.dnb-checkbox{--checkbox-border-radius:0.25rem;--checkbox-gfx-border-radius__indeterminate:0.125rem;--checkbox-width--large:2rem;--checkbox-height--large:2rem;--checkbox-gfx-height__indeterminate:0.625rem;--checkbox-gfx-width__indeterminate:0.625rem;--checkbox-gfx-height__indeterminate--large:0.875rem;--checkbox-gfx-width__indeterminate--large:0.875rem;--checkbox-border-width:0.125rem;--checkbox-border-width--hover:0.125rem;--checkbox-color-gfx-on:#000;--checkbox-color-gfx-off:#fff;--checkbox-color-background-on:#fff;--checkbox-color-background-off:#fff;--checkbox-color-border-on:#000;--checkbox-color-border-off:#000;--checkbox-color-gfx--disabled:grey;--checkbox-color-background-on--disabled:#d3d3d3;--checkbox-color-background-off--disabled:#d3d3d3;--checkbox-color-border-on--disabled:grey;--checkbox-color-border-off--disabled:grey;--checkbox-color-gfx__indeterminate--disabled:grey;--checkbox-color-background--active:#d3d3d3;--checkbox-color-border--active:transparent;--checkbox-color-gfx--hover:grey;--checkbox-color-background--hover:#fff;--checkbox-color-border-on--hover:grey;--checkbox-color-border-off--hover:grey;--checkbox-color-gfx--focus:grey;--checkbox-color-background--focus:#d3d3d3;--checkbox-color-gfx--error:#fff0f5;--checkbox-color-gfx--error-contrast:red;--checkbox-color-background-on--error:red;--checkbox-color-background--error-contrast:#fff0f5;--checkbox-color-border--error:red;--checkbox-color-gfx-indeterminate--error:red;--checkbox-color-gfx--error--hover:red;--checkbox-color-background--error--hover:#fff0f5;--checkbox-color-border--error--hover:red;--checkbox-color-background-indeterminate:grey;--checkbox-color-gfx-indeterminate:#a9a9a9;--checkbox-color-background-indeterminate--active:grey;--checkbox-color-border-indeterminate--active:#fff;--checkbox-color-gfx-indeterminate--active:#fff;--checkbox-bounding--medium:1.75,1.75;font-size:var(--font-size-small);line-height:var(--line-height-basis)}.dnb-checkbox,.dnb-checkbox__inner{display:inline-flex;flex-direction:column}.dnb-checkbox__inner{align-self:center}.dnb-checkbox__shell{align-items:center;display:flex;height:var(--checkbox-height--medium);justify-content:center;position:relative;-webkit-user-select:none;user-select:none;width:var(--checkbox-width--medium)}.dnb-checkbox--large .dnb-checkbox__shell{height:var(--checkbox-height--large);width:var(--checkbox-width--large)}.dnb-checkbox__button{border:var(--checkbox-border-width) solid transparent;display:inline-block}.dnb-checkbox__focus{display:none;outline:none}html[data-whatinput=keyboard] .dnb-checkbox__focus{--border-color:var(--focus-ring-color);--border-width:var(--focus-ring-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}.dnb-checkbox__button,.dnb-checkbox__focus{border-radius:var(--checkbox-border-radius);height:calc(var(--checkbox-height--medium) - .25rem);position:relative;width:calc(var(--checkbox-width--medium) - .25rem);z-index:4}.dnb-checkbox--large .dnb-checkbox__button,.dnb-checkbox--large .dnb-checkbox__focus{border-radius:var(--checkbox-border-radius);height:var(--checkbox-height--large);width:var(--checkbox-width--large)}.dnb-checkbox__gfx{shape-rendering:geometricprecision;height:calc(var(--checkbox-height--medium) - .5rem);left:auto;position:absolute;top:auto;transition:opacity .2s ease-out,transform .2s ease-out;width:calc(var(--checkbox-width--medium) - .5rem);z-index:5}.dnb-checkbox--large{line-height:var(--checkbox-height--large)}.dnb-checkbox--large .dnb-checkbox__gfx{height:calc(var(--checkbox-height--large) - .5rem);width:calc(var(--checkbox-width--large) - .5rem)}.dnb-checkbox__input{border:0;height:var(--checkbox-height--medium);left:auto;margin:0;opacity:0;padding:0;position:absolute;top:auto;transform:scale(var(--checkbox-bounding--medium));width:var(--checkbox-width--medium);z-index:6}.dnb-checkbox--large .dnb-checkbox__input{height:var(--checkbox-height--large);transform:scale(1);width:var(--checkbox-width--large)}.dnb-checkbox__input:not([disabled]){cursor:pointer}.dnb-checkbox .dnb-form-label{margin-bottom:0;margin-left:0;margin-right:0}.dnb-checkbox__order{align-items:baseline;display:inline-flex}.dnb-checkbox__suffix{order:4}.dnb-checkbox--label-position-left .dnb-checkbox__order .dnb-checkbox__inner{order:2}.dnb-checkbox--label-position-left .dnb-checkbox__order .dnb-form-label{order:1;padding-right:.5rem}.dnb-checkbox--label-position-left .dnb-checkbox__order .dnb-form-status{margin-top:.5rem;order:3}.dnb-checkbox--label-position-right .dnb-checkbox__order .dnb-checkbox__inner{order:1}.dnb-checkbox--label-position-right .dnb-checkbox__order .dnb-form-label{order:2;padding-left:.5rem}.dnb-checkbox--label-position-right .dnb-checkbox__order+.dnb-form-status{margin-top:.5rem;order:3;vertical-align:top}.dnb-checkbox__input:checked~.dnb-checkbox__gfx,.dnb-checkbox__input[data-checked=true]~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx-on);opacity:1;transform:scale(1)}.dnb-checkbox__input:checked~.dnb-checkbox__button,.dnb-checkbox__input[data-checked=true]~.dnb-checkbox__button{background-color:var(--checkbox-color-background-on);border-color:var(--checkbox-color-border-on)}.dnb-checkbox__input:not(:checked):not([data-checked=true])~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx-off);opacity:0;transform:scale(.8)}.dnb-checkbox__input:not(:checked):not([data-checked=true])~.dnb-checkbox__button{background-color:var(--checkbox-color-background-off);border-color:var(--checkbox-color-border-off);transition:background-color .1s ease-out}.dnb-checkbox__input~.dnb-checkbox__indeterminate{background-color:var(--checkbox-color-gfx-indeterminate);border-radius:var(--checkbox-gfx-border-radius__indeterminate);height:var(--checkbox-gfx-height__indeterminate);opacity:0;position:absolute;transform:scale(.85);transition:opacity .2s ease-out,transform .2s ease-out;width:var(--checkbox-gfx-width__indeterminate);z-index:5}.dnb-checkbox__input:indeterminate~.dnb-checkbox__indeterminate{opacity:1;transform:scale(1)}.dnb-checkbox__input:indeterminate:checked~.dnb-checkbox__button{background-color:transparent;border-color:var(--checkbox-color-border-off)}.dnb-checkbox__input:indeterminate:checked:hover~.dnb-checkbox__gfx,.dnb-checkbox__input:indeterminate:checked~.dnb-checkbox__gfx,.dnb-checkbox__input:indeterminate:hover~.dnb-checkbox__gfx{color:transparent}.dnb-checkbox--large .dnb-checkbox__input:indeterminate~.dnb-checkbox__indeterminate{height:var(--checkbox-gfx-height__indeterminate--large);width:var(--checkbox-gfx-width__indeterminate--large)}.dnb-checkbox__input[disabled]:checked~.dnb-checkbox__button,.dnb-checkbox__input[disabled][data-checked=true]~.dnb-checkbox__button{background-color:var(--checkbox-color-background-on--disabled);border-color:var(--checkbox-color-border-on--disabled)}.dnb-checkbox__input[disabled]:checked~.dnb-checkbox__gfx,.dnb-checkbox__input[disabled][data-checked=true]~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx--disabled)}.dnb-checkbox__input[disabled]:not(:checked):not([data-checked=true])~.dnb-checkbox__button{background-color:var(--checkbox-color-background-off--disabled);border-color:var(--checkbox-color-border-off--disabled)}.dnb-checkbox__input[disabled]:indeterminate~.dnb-checkbox__indeterminate{background-color:var(--checkbox-color-gfx__indeterminate--disabled)}.dnb-checkbox__input[disabled]:indeterminate~.dnb-checkbox__gfx{color:transparent}.dnb-checkbox__input:not([disabled]):active~.dnb-checkbox__button{background-color:var(--checkbox-color-background--active);border-color:var(--checkbox-color-border--active)}.dnb-checkbox__input:not([disabled]):checked:active~.dnb-checkbox__gfx,.dnb-checkbox__input:not([disabled])[data-checked=true]:active~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx-on)}.dnb-checkbox__input:not([disabled]):indeterminate:active~.dnb-checkbox__button{background-color:var(--checkbox-color-background-indeterminate--active);border-color:var(--checkbox-color-border-indeterminate--active)}.dnb-checkbox__input:not([disabled]):indeterminate:active~.dnb-checkbox__indeterminate{background-color:var(--checkbox-color-gfx-indeterminate--active)}.dnb-checkbox__input:not([disabled]):not(:active):hover~.dnb-checkbox__button{background-color:var(--checkbox-color-background--hover);border-color:var(--checkbox-color-border-off--hover)}.dnb-checkbox__input:hover~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx--hover)}.dnb-checkbox__input:not([disabled]):checked:hover~.dnb-checkbox__button,.dnb-checkbox__input:not([disabled])[data-checked=true]:hover~.dnb-checkbox__button{border:var(--checkbox-border-width--hover) solid var(--checkbox-color-border-on--hover)}html[data-whatinput=keyboard] .dnb-checkbox__input:not([disabled]):focus-visible~.dnb-checkbox__button{background-color:var(--checkbox-color-background--focus);border:none}html[data-whatinput=keyboard] .dnb-checkbox__input:not([disabled]):focus-visible~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx--focus)}.dnb-checkbox__input:not([disabled]):active~.dnb-checkbox__button .dnb-checkbox__focus,.dnb-checkbox__input:not([disabled]):focus-visible~.dnb-checkbox__button .dnb-checkbox__focus{display:block}.dnb-checkbox__input:not([disabled]):focus-visible~.dnb-checkbox__indeterminate{background-color:var(--checkbox-color-gfx--focus)}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active)~.dnb-checkbox__button{border:none}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active)~.dnb-checkbox__button .dnb-checkbox__focus{--border-color:var(--checkbox-color-border--error);--border-width:var(--checkbox-border-width);border-color:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color);display:block}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):hover~.dnb-checkbox__button{background-color:var(--checkbox-color-background--error--hover)}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):hover~.dnb-checkbox__button[data-checked=true]{border-color:var(--checkbox-color-border--error--hover)}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):hover~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx--error--hover)}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active):not(:hover)~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx--error)}html[data-whatinput=keyboard] .dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):focus:hover~.dnb-checkbox__button,html[data-whatinput=keyboard] .dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):focus~.dnb-checkbox__button{--border-color:var(--checkbox-color-border--error);--border-width:calc(var(--checkbox-border-width--hover));background-color:var(--checkbox-color-background--error-contrast);border:transparent;box-shadow:0 0 0 var(--border-width) var(--border-color)}html[data-whatinput=keyboard] .dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):focus:hover~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx--error-contrast)}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active):not(:hover):checked~.dnb-checkbox__button,.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active):not(:hover)[data-checked=true]~.dnb-checkbox__button{background-color:var(--checkbox-color-background-on--error)}.dnb-checkbox__status--error .dnb-checkbox__input:indeterminate:not([disabled]):not(:active):not(:hover)~.dnb-checkbox__gfx{background-color:var(--checkbox-color-gfx--error-contrast);border-radius:var(--checkbox-border-radius);color:var(--checkbox-color-gfx--error-contrast)}.dnb-checkbox__status--error .dnb-checkbox__input:indeterminate:not(:active):not(:hover)~.dnb-checkbox__indeterminate{background-color:var(--checkbox-color-gfx-indeterminate--error)}.dnb-checkbox__status--error .dnb-checkbox__input:not(:indeterminate)~.dnb-checkbox__indeterminate{background-color:var(--checkbox-color-gfx-indeterminate--error)}.dnb-checkbox__status--error .dnb-checkbox__input:indeterminate:hover:not(:active)~.dnb-checkbox__indeterminate{background-color:var(--checkbox-color-gfx--error--hover)}.dnb-checkbox__status--error .dnb-checkbox__input:not([disabled]):not(:active):hover~.dnb-checkbox__gfx{color:var(--checkbox-color-gfx--error--hover)}.dnb-checkbox.dnb-skeleton .dnb-checkbox__input[disabled]~.dnb-checkbox__button{border-color:var(--skeleton-color)}.dnb-checkbox.dnb-skeleton .dnb-checkbox__input[disabled]~.dnb-checkbox__button:before{border-radius:0}.dnb-checkbox.dnb-skeleton .dnb-checkbox__input[disabled]~.dnb-checkbox__gfx{color:var(--skeleton-color)}.dnb-checkbox.dnb-skeleton .dnb-checkbox__input[disabled]~.dnb-checkbox__indeterminate{background-color:var(--skeleton-color)}