@dnb/eufemia 10.34.1 → 10.35.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 (768) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/assets/images/sbanken/sbanken-compact-horizontal.svg +3 -0
  3. package/assets/images/sbanken/sbanken-compact.svg +3 -0
  4. package/assets/images/sbanken/sbanken.svg +3 -0
  5. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +1 -1
  7. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +1 -1
  8. package/cjs/components/button/Button.js.map +1 -1
  9. package/cjs/components/dropdown/Dropdown.js.map +1 -1
  10. package/cjs/components/form-row/FormRow.js.map +1 -1
  11. package/cjs/components/form-set/FormSet.js.map +1 -1
  12. package/cjs/components/form-status/FormStatus.js.map +1 -1
  13. package/cjs/components/global-status/GlobalStatus.js.map +1 -1
  14. package/cjs/components/global-status/GlobalStatusController.js.map +1 -1
  15. package/cjs/components/global-status/GlobalStatusProvider.js.map +1 -1
  16. package/cjs/components/help-button/HelpButton.js +3 -0
  17. package/cjs/components/help-button/HelpButton.js.map +1 -1
  18. package/cjs/components/help-button/style/dnb-help-button.css +4 -1
  19. package/cjs/components/help-button/style/dnb-help-button.min.css +1 -0
  20. package/cjs/components/help-button/style/dnb-help-button.scss +6 -0
  21. package/cjs/components/icon/Icon.js.map +1 -1
  22. package/cjs/components/icon-primary/IconPrimary.js.map +1 -1
  23. package/cjs/components/input/Input.js.map +1 -1
  24. package/cjs/components/input-masked/InputMasked.js.map +1 -1
  25. package/cjs/components/logo/Logo.d.ts +47 -43
  26. package/cjs/components/logo/Logo.js +77 -221
  27. package/cjs/components/logo/Logo.js.map +1 -1
  28. package/cjs/components/logo/LogoDocs.d.ts +2 -0
  29. package/cjs/components/logo/LogoDocs.js +50 -0
  30. package/cjs/components/logo/LogoDocs.js.map +1 -0
  31. package/cjs/components/logo/LogoSvg.d.ts +7 -0
  32. package/cjs/components/logo/LogoSvg.js +81 -0
  33. package/cjs/components/logo/LogoSvg.js.map +1 -0
  34. package/cjs/components/modal/Modal.d.ts +2 -0
  35. package/cjs/components/modal/Modal.js +25 -10
  36. package/cjs/components/modal/Modal.js.map +1 -1
  37. package/cjs/components/number-format/NumberFormat.d.ts +4 -0
  38. package/cjs/components/number-format/NumberFormat.js +5 -2
  39. package/cjs/components/number-format/NumberFormat.js.map +1 -1
  40. package/cjs/components/number-format/style/dnb-number-format.css +3 -0
  41. package/cjs/components/number-format/style/dnb-number-format.min.css +1 -1
  42. package/cjs/components/number-format/style/dnb-number-format.scss +4 -0
  43. package/cjs/components/pagination/Pagination.js.map +1 -1
  44. package/cjs/components/pagination/PaginationHelpers.js.map +1 -1
  45. package/cjs/components/pagination/PaginationInfinity.js.map +1 -1
  46. package/cjs/components/pagination/PaginationProvider.js.map +1 -1
  47. package/cjs/components/progress-indicator/ProgressIndicatorDocs.js +1 -1
  48. package/cjs/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  49. package/cjs/components/progress-indicator/types.d.ts +1 -1
  50. package/cjs/components/progress-indicator/types.js.map +1 -1
  51. package/cjs/components/radio/Radio.js.map +1 -1
  52. package/cjs/components/radio/RadioGroup.js.map +1 -1
  53. package/cjs/components/skeleton/Skeleton.js.map +1 -1
  54. package/cjs/components/switch/Switch.js.map +1 -1
  55. package/cjs/components/table/Table.d.ts +6 -0
  56. package/cjs/components/table/Table.js +15 -3
  57. package/cjs/components/table/Table.js.map +1 -1
  58. package/cjs/components/table/TableAccordion.d.ts +7 -11
  59. package/cjs/components/table/TableAccordion.js +32 -21
  60. package/cjs/components/table/TableAccordion.js.map +1 -1
  61. package/cjs/components/table/TableTr.js +24 -25
  62. package/cjs/components/table/TableTr.js.map +1 -1
  63. package/cjs/components/tabs/Tabs.js +1 -5
  64. package/cjs/components/tabs/Tabs.js.map +1 -1
  65. package/cjs/components/tabs/TabsDocs.js +1 -1
  66. package/cjs/components/tabs/TabsDocs.js.map +1 -1
  67. package/cjs/components/textarea/Textarea.js.map +1 -1
  68. package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
  69. package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  70. package/cjs/extensions/forms/DataContext/Context.d.ts +2 -0
  71. package/cjs/extensions/forms/DataContext/Context.js +1 -0
  72. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  73. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +17 -1
  74. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  75. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +5 -3
  76. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  77. package/cjs/extensions/forms/DataContext/Provider/Provider.js +50 -4
  78. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  79. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
  80. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +7 -1
  81. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  82. package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -2
  83. package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
  84. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -6
  85. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  86. package/cjs/extensions/forms/Field/Selection/Selection.js +7 -2
  87. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  88. package/cjs/extensions/forms/Field/Toggle/Toggle.js +7 -3
  89. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  90. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js +16 -36
  91. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
  92. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +12 -0
  93. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js +44 -0
  94. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -0
  95. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.d.ts +3 -0
  96. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +27 -0
  97. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -0
  98. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +1 -0
  99. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +67 -0
  100. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -0
  101. package/cjs/extensions/forms/Form/Section/EditContainer/index.d.ts +2 -0
  102. package/cjs/extensions/forms/Form/Section/EditContainer/index.js +27 -0
  103. package/cjs/extensions/forms/Form/Section/EditContainer/index.js.map +1 -0
  104. package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.d.ts +3 -0
  105. package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +54 -0
  106. package/cjs/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -0
  107. package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +1 -0
  108. package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +25 -0
  109. package/cjs/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +1 -0
  110. package/cjs/extensions/forms/Form/Section/Section.d.ts +9 -1
  111. package/cjs/extensions/forms/Form/Section/Section.js +10 -2
  112. package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
  113. package/cjs/extensions/forms/Form/Section/SectionContext.d.ts +1 -2
  114. package/cjs/extensions/forms/Form/Section/SectionContext.js.map +1 -1
  115. package/cjs/extensions/forms/Form/Section/SectionDocs.js +6 -1
  116. package/cjs/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
  117. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +12 -0
  118. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +43 -0
  119. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -0
  120. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.d.ts +3 -0
  121. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +27 -0
  122. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -0
  123. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +1 -0
  124. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +34 -0
  125. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -0
  126. package/cjs/extensions/forms/Form/Section/ViewContainer/index.d.ts +2 -0
  127. package/cjs/extensions/forms/Form/Section/ViewContainer/index.js +27 -0
  128. package/cjs/extensions/forms/Form/Section/ViewContainer/index.js.map +1 -0
  129. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.d.ts +19 -0
  130. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js +93 -0
  131. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -0
  132. package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +8 -0
  133. package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.js +12 -0
  134. package/cjs/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -0
  135. package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +8 -0
  136. package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.js +33 -0
  137. package/cjs/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -0
  138. package/cjs/extensions/forms/Form/Section/containers/Toolbar.d.ts +7 -0
  139. package/cjs/extensions/forms/Form/Section/containers/Toolbar.js +35 -0
  140. package/cjs/extensions/forms/Form/Section/containers/Toolbar.js.map +1 -0
  141. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.css +45 -0
  142. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -0
  143. package/{extensions/forms/Iterate/style/dnb-form-iterate.scss → cjs/extensions/forms/Form/Section/style/dnb-form-section.scss} +4 -12
  144. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +8 -8
  145. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  146. package/cjs/extensions/forms/Iterate/Array/Array.js +1 -1
  147. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  148. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  149. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  150. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +17 -8
  151. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  152. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  153. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  154. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  155. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  156. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  157. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  158. package/cjs/extensions/forms/Iterate/style/dnb-iterate.css +6 -0
  159. package/cjs/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -0
  160. package/cjs/extensions/forms/Iterate/style/dnb-iterate.scss +12 -0
  161. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  162. package/cjs/extensions/forms/constants/locales/en-GB.js +3 -2
  163. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  164. package/cjs/extensions/forms/constants/locales/en-US.d.ts +2 -1
  165. package/cjs/extensions/forms/constants/locales/index.d.ts +4 -2
  166. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  167. package/cjs/extensions/forms/constants/locales/nb-NO.js +3 -2
  168. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  169. package/cjs/extensions/forms/hooks/useDataValue.d.ts +4 -0
  170. package/cjs/extensions/forms/hooks/useDataValue.js +30 -5
  171. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  172. package/cjs/extensions/forms/hooks/useFieldProps.js +14 -9
  173. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  174. package/cjs/extensions/forms/hooks/useTranslation.js +6 -11
  175. package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
  176. package/cjs/extensions/forms/style/dnb-forms.css +46 -44
  177. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  178. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  179. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  180. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  181. package/cjs/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  182. package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  183. package/cjs/fragments/drawer-list/style/dnb-drawer-list.scss +4 -0
  184. package/cjs/fragments/text-counter/TextCounter.js +3 -2
  185. package/cjs/fragments/text-counter/TextCounter.js.map +1 -1
  186. package/cjs/shared/Context.d.ts +9 -5
  187. package/cjs/shared/Context.js +40 -35
  188. package/cjs/shared/Context.js.map +1 -1
  189. package/cjs/shared/Eufemia.d.ts +1 -1
  190. package/cjs/shared/Eufemia.js +2 -2
  191. package/cjs/shared/Eufemia.js.map +1 -1
  192. package/cjs/shared/Provider.d.ts +1 -1
  193. package/cjs/shared/Provider.js +49 -42
  194. package/cjs/shared/Provider.js.map +1 -1
  195. package/cjs/shared/Translation.d.ts +5 -5
  196. package/cjs/shared/Translation.js +6 -11
  197. package/cjs/shared/Translation.js.map +1 -1
  198. package/cjs/shared/index.d.ts +1 -0
  199. package/cjs/shared/index.js +26 -1
  200. package/cjs/shared/index.js.map +1 -1
  201. package/cjs/shared/locales/en-GB.d.ts +0 -3
  202. package/cjs/shared/locales/en-GB.js +0 -3
  203. package/cjs/shared/locales/en-GB.js.map +1 -1
  204. package/cjs/shared/locales/en-US.d.ts +0 -3
  205. package/cjs/shared/locales/index.d.ts +0 -6
  206. package/cjs/shared/locales/nb-NO.d.ts +0 -3
  207. package/cjs/shared/locales/nb-NO.js +0 -3
  208. package/cjs/shared/locales/nb-NO.js.map +1 -1
  209. package/cjs/shared/useTranslation.d.ts +5 -4
  210. package/cjs/shared/useTranslation.js +14 -12
  211. package/cjs/shared/useTranslation.js.map +1 -1
  212. package/cjs/style/core/scopes.scss +1 -1
  213. package/cjs/style/dnb-ui-basis.css +1 -1
  214. package/cjs/style/dnb-ui-basis.min.css +1 -1
  215. package/cjs/style/dnb-ui-body.css +1 -1
  216. package/cjs/style/dnb-ui-body.min.css +1 -1
  217. package/cjs/style/dnb-ui-components.css +57 -44
  218. package/cjs/style/dnb-ui-components.min.css +2 -2
  219. package/cjs/style/dnb-ui-core.css +1 -1
  220. package/cjs/style/dnb-ui-core.min.css +1 -1
  221. package/cjs/style/dnb-ui-extensions.css +46 -44
  222. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  223. package/cjs/style/dnb-ui-forms.css +46 -44
  224. package/cjs/style/dnb-ui-forms.min.css +1 -1
  225. package/cjs/style/dnb-ui-forms.scss +2 -1
  226. package/cjs/style/dnb-ui-fragments.css +4 -0
  227. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  228. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -2
  229. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  230. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +103 -88
  231. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  232. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +46 -44
  233. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  234. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +46 -44
  235. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  236. package/cjs/style/themes/theme-sbanken/globals.scss +3 -2
  237. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +2 -2
  238. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  239. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +104 -89
  240. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  241. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +46 -44
  242. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  243. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +46 -44
  244. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  245. package/cjs/style/themes/theme-ui/globals.scss +3 -2
  246. package/cjs/style/themes/theme-ui/ui-theme-basis.css +2 -2
  247. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  248. package/cjs/style/themes/theme-ui/ui-theme-components.css +103 -88
  249. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  250. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +46 -44
  251. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  252. package/cjs/style/themes/theme-ui/ui-theme-forms.css +46 -44
  253. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  254. package/components/autocomplete/Autocomplete.js.map +1 -1
  255. package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +1 -1
  256. package/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +1 -1
  257. package/components/button/Button.js.map +1 -1
  258. package/components/dropdown/Dropdown.js.map +1 -1
  259. package/components/form-row/FormRow.js.map +1 -1
  260. package/components/form-set/FormSet.js.map +1 -1
  261. package/components/form-status/FormStatus.js.map +1 -1
  262. package/components/global-status/GlobalStatus.js.map +1 -1
  263. package/components/global-status/GlobalStatusController.js.map +1 -1
  264. package/components/global-status/GlobalStatusProvider.js.map +1 -1
  265. package/components/help-button/HelpButton.js +3 -0
  266. package/components/help-button/HelpButton.js.map +1 -1
  267. package/components/help-button/style/dnb-help-button.css +4 -1
  268. package/components/help-button/style/dnb-help-button.min.css +1 -0
  269. package/components/help-button/style/dnb-help-button.scss +6 -0
  270. package/components/icon/Icon.js.map +1 -1
  271. package/components/icon-primary/IconPrimary.js.map +1 -1
  272. package/components/input/Input.js.map +1 -1
  273. package/components/input-masked/InputMasked.js.map +1 -1
  274. package/components/logo/Logo.d.ts +47 -43
  275. package/components/logo/Logo.js +75 -221
  276. package/components/logo/Logo.js.map +1 -1
  277. package/components/logo/LogoDocs.d.ts +2 -0
  278. package/components/logo/LogoDocs.js +43 -0
  279. package/components/logo/LogoDocs.js.map +1 -0
  280. package/components/logo/LogoSvg.d.ts +7 -0
  281. package/components/logo/LogoSvg.js +73 -0
  282. package/components/logo/LogoSvg.js.map +1 -0
  283. package/components/modal/Modal.d.ts +2 -0
  284. package/components/modal/Modal.js +25 -10
  285. package/components/modal/Modal.js.map +1 -1
  286. package/components/number-format/NumberFormat.d.ts +4 -0
  287. package/components/number-format/NumberFormat.js +5 -2
  288. package/components/number-format/NumberFormat.js.map +1 -1
  289. package/components/number-format/style/dnb-number-format.css +3 -0
  290. package/components/number-format/style/dnb-number-format.min.css +1 -1
  291. package/components/number-format/style/dnb-number-format.scss +4 -0
  292. package/components/pagination/Pagination.js.map +1 -1
  293. package/components/pagination/PaginationHelpers.js.map +1 -1
  294. package/components/pagination/PaginationInfinity.js.map +1 -1
  295. package/components/pagination/PaginationProvider.js.map +1 -1
  296. package/components/progress-indicator/ProgressIndicatorDocs.js +1 -1
  297. package/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  298. package/components/progress-indicator/types.d.ts +1 -1
  299. package/components/progress-indicator/types.js.map +1 -1
  300. package/components/radio/Radio.js.map +1 -1
  301. package/components/radio/RadioGroup.js.map +1 -1
  302. package/components/skeleton/Skeleton.js.map +1 -1
  303. package/components/switch/Switch.js.map +1 -1
  304. package/components/table/Table.d.ts +6 -0
  305. package/components/table/Table.js +13 -3
  306. package/components/table/Table.js.map +1 -1
  307. package/components/table/TableAccordion.d.ts +7 -11
  308. package/components/table/TableAccordion.js +29 -20
  309. package/components/table/TableAccordion.js.map +1 -1
  310. package/components/table/TableTr.js +25 -26
  311. package/components/table/TableTr.js.map +1 -1
  312. package/components/tabs/Tabs.js +1 -5
  313. package/components/tabs/Tabs.js.map +1 -1
  314. package/components/tabs/TabsDocs.js +1 -1
  315. package/components/tabs/TabsDocs.js.map +1 -1
  316. package/components/textarea/Textarea.js.map +1 -1
  317. package/components/toggle-button/ToggleButton.js.map +1 -1
  318. package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  319. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  320. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.css +1 -1
  321. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-sbanken.scss +1 -1
  322. package/es/components/button/Button.js.map +1 -1
  323. package/es/components/dropdown/Dropdown.js.map +1 -1
  324. package/es/components/form-row/FormRow.js.map +1 -1
  325. package/es/components/form-set/FormSet.js.map +1 -1
  326. package/es/components/form-status/FormStatus.js.map +1 -1
  327. package/es/components/global-status/GlobalStatus.js.map +1 -1
  328. package/es/components/global-status/GlobalStatusController.js.map +1 -1
  329. package/es/components/global-status/GlobalStatusProvider.js.map +1 -1
  330. package/es/components/help-button/HelpButton.js +3 -0
  331. package/es/components/help-button/HelpButton.js.map +1 -1
  332. package/es/components/help-button/style/dnb-help-button.css +4 -1
  333. package/es/components/help-button/style/dnb-help-button.min.css +1 -0
  334. package/es/components/help-button/style/dnb-help-button.scss +6 -0
  335. package/es/components/icon/Icon.js.map +1 -1
  336. package/es/components/icon-primary/IconPrimary.js.map +1 -1
  337. package/es/components/input/Input.js.map +1 -1
  338. package/es/components/input-masked/InputMasked.js.map +1 -1
  339. package/es/components/logo/Logo.d.ts +47 -43
  340. package/es/components/logo/Logo.js +75 -221
  341. package/es/components/logo/Logo.js.map +1 -1
  342. package/es/components/logo/LogoDocs.d.ts +2 -0
  343. package/es/components/logo/LogoDocs.js +43 -0
  344. package/es/components/logo/LogoDocs.js.map +1 -0
  345. package/es/components/logo/LogoSvg.d.ts +7 -0
  346. package/es/components/logo/LogoSvg.js +72 -0
  347. package/es/components/logo/LogoSvg.js.map +1 -0
  348. package/es/components/modal/Modal.d.ts +2 -0
  349. package/es/components/modal/Modal.js +25 -10
  350. package/es/components/modal/Modal.js.map +1 -1
  351. package/es/components/number-format/NumberFormat.d.ts +4 -0
  352. package/es/components/number-format/NumberFormat.js +5 -2
  353. package/es/components/number-format/NumberFormat.js.map +1 -1
  354. package/es/components/number-format/style/dnb-number-format.css +3 -0
  355. package/es/components/number-format/style/dnb-number-format.min.css +1 -1
  356. package/es/components/number-format/style/dnb-number-format.scss +4 -0
  357. package/es/components/pagination/Pagination.js.map +1 -1
  358. package/es/components/pagination/PaginationHelpers.js.map +1 -1
  359. package/es/components/pagination/PaginationInfinity.js.map +1 -1
  360. package/es/components/pagination/PaginationProvider.js.map +1 -1
  361. package/es/components/progress-indicator/ProgressIndicatorDocs.js +1 -1
  362. package/es/components/progress-indicator/ProgressIndicatorDocs.js.map +1 -1
  363. package/es/components/progress-indicator/types.d.ts +1 -1
  364. package/es/components/progress-indicator/types.js.map +1 -1
  365. package/es/components/radio/Radio.js.map +1 -1
  366. package/es/components/radio/RadioGroup.js.map +1 -1
  367. package/es/components/skeleton/Skeleton.js.map +1 -1
  368. package/es/components/switch/Switch.js.map +1 -1
  369. package/es/components/table/Table.d.ts +6 -0
  370. package/es/components/table/Table.js +13 -3
  371. package/es/components/table/Table.js.map +1 -1
  372. package/es/components/table/TableAccordion.d.ts +7 -11
  373. package/es/components/table/TableAccordion.js +29 -19
  374. package/es/components/table/TableAccordion.js.map +1 -1
  375. package/es/components/table/TableTr.js +25 -26
  376. package/es/components/table/TableTr.js.map +1 -1
  377. package/es/components/tabs/Tabs.js +1 -5
  378. package/es/components/tabs/Tabs.js.map +1 -1
  379. package/es/components/tabs/TabsDocs.js +1 -1
  380. package/es/components/tabs/TabsDocs.js.map +1 -1
  381. package/es/components/textarea/Textarea.js.map +1 -1
  382. package/es/components/toggle-button/ToggleButton.js.map +1 -1
  383. package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  384. package/es/extensions/forms/DataContext/Context.d.ts +2 -0
  385. package/es/extensions/forms/DataContext/Context.js +1 -0
  386. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  387. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +17 -1
  388. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  389. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +5 -3
  390. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  391. package/es/extensions/forms/DataContext/Provider/Provider.js +46 -1
  392. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  393. package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
  394. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +8 -2
  395. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  396. package/es/extensions/forms/Field/Option/Option.d.ts +2 -2
  397. package/es/extensions/forms/Field/Option/Option.js.map +1 -1
  398. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -6
  399. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  400. package/es/extensions/forms/Field/Selection/Selection.js +7 -2
  401. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  402. package/es/extensions/forms/Field/Toggle/Toggle.js +7 -3
  403. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  404. package/es/extensions/forms/Form/FieldProps/FieldProps.js +16 -36
  405. package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
  406. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +12 -0
  407. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js +33 -0
  408. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -0
  409. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.d.ts +3 -0
  410. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +19 -0
  411. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -0
  412. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +1 -0
  413. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +59 -0
  414. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -0
  415. package/es/extensions/forms/Form/Section/EditContainer/index.d.ts +2 -0
  416. package/es/extensions/forms/Form/Section/EditContainer/index.js +3 -0
  417. package/es/extensions/forms/Form/Section/EditContainer/index.js.map +1 -0
  418. package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.d.ts +3 -0
  419. package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +46 -0
  420. package/es/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -0
  421. package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +1 -0
  422. package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +19 -0
  423. package/es/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +1 -0
  424. package/es/extensions/forms/Form/Section/Section.d.ts +9 -1
  425. package/es/extensions/forms/Form/Section/Section.js +10 -2
  426. package/es/extensions/forms/Form/Section/Section.js.map +1 -1
  427. package/es/extensions/forms/Form/Section/SectionContext.d.ts +1 -2
  428. package/es/extensions/forms/Form/Section/SectionContext.js.map +1 -1
  429. package/es/extensions/forms/Form/Section/SectionDocs.js +6 -1
  430. package/es/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
  431. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +12 -0
  432. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +32 -0
  433. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -0
  434. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.d.ts +3 -0
  435. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +19 -0
  436. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -0
  437. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +1 -0
  438. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +26 -0
  439. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -0
  440. package/es/extensions/forms/Form/Section/ViewContainer/index.d.ts +2 -0
  441. package/es/extensions/forms/Form/Section/ViewContainer/index.js +3 -0
  442. package/es/extensions/forms/Form/Section/ViewContainer/index.js.map +1 -0
  443. package/es/extensions/forms/Form/Section/containers/SectionContainer.d.ts +19 -0
  444. package/es/extensions/forms/Form/Section/containers/SectionContainer.js +83 -0
  445. package/es/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -0
  446. package/es/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +8 -0
  447. package/es/extensions/forms/Form/Section/containers/SectionContainerContext.js +4 -0
  448. package/es/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -0
  449. package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +8 -0
  450. package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.js +24 -0
  451. package/es/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -0
  452. package/es/extensions/forms/Form/Section/containers/Toolbar.d.ts +7 -0
  453. package/es/extensions/forms/Form/Section/containers/Toolbar.js +27 -0
  454. package/es/extensions/forms/Form/Section/containers/Toolbar.js.map +1 -0
  455. package/es/extensions/forms/Form/Section/style/dnb-form-section.css +45 -0
  456. package/es/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -0
  457. package/es/extensions/forms/{Iterate/style/dnb-form-iterate.scss → Form/Section/style/dnb-form-section.scss} +4 -12
  458. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +8 -8
  459. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  460. package/es/extensions/forms/Iterate/Array/Array.js +1 -1
  461. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  462. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  463. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  464. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +19 -10
  465. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  466. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  467. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  468. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  469. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  470. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  471. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  472. package/es/extensions/forms/Iterate/style/dnb-iterate.css +6 -0
  473. package/es/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -0
  474. package/es/extensions/forms/Iterate/style/dnb-iterate.scss +12 -0
  475. package/es/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  476. package/es/extensions/forms/constants/locales/en-GB.js +3 -2
  477. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  478. package/es/extensions/forms/constants/locales/en-US.d.ts +2 -1
  479. package/es/extensions/forms/constants/locales/index.d.ts +4 -2
  480. package/es/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  481. package/es/extensions/forms/constants/locales/nb-NO.js +3 -2
  482. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  483. package/es/extensions/forms/hooks/useDataValue.d.ts +4 -0
  484. package/es/extensions/forms/hooks/useDataValue.js +30 -5
  485. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  486. package/es/extensions/forms/hooks/useFieldProps.js +14 -9
  487. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  488. package/es/extensions/forms/hooks/useTranslation.js +7 -12
  489. package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
  490. package/es/extensions/forms/style/dnb-forms.css +46 -44
  491. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  492. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  493. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  494. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  495. package/es/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  496. package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  497. package/es/fragments/drawer-list/style/dnb-drawer-list.scss +4 -0
  498. package/es/fragments/text-counter/TextCounter.js +3 -2
  499. package/es/fragments/text-counter/TextCounter.js.map +1 -1
  500. package/es/shared/Context.d.ts +9 -5
  501. package/es/shared/Context.js +39 -35
  502. package/es/shared/Context.js.map +1 -1
  503. package/es/shared/Eufemia.d.ts +1 -1
  504. package/es/shared/Eufemia.js +2 -2
  505. package/es/shared/Eufemia.js.map +1 -1
  506. package/es/shared/Provider.d.ts +1 -1
  507. package/es/shared/Provider.js +49 -41
  508. package/es/shared/Provider.js.map +1 -1
  509. package/es/shared/Translation.d.ts +5 -5
  510. package/es/shared/Translation.js +8 -10
  511. package/es/shared/Translation.js.map +1 -1
  512. package/es/shared/index.d.ts +1 -0
  513. package/es/shared/index.js +1 -0
  514. package/es/shared/index.js.map +1 -1
  515. package/es/shared/locales/en-GB.d.ts +0 -3
  516. package/es/shared/locales/en-GB.js +0 -3
  517. package/es/shared/locales/en-GB.js.map +1 -1
  518. package/es/shared/locales/en-US.d.ts +0 -3
  519. package/es/shared/locales/index.d.ts +0 -6
  520. package/es/shared/locales/nb-NO.d.ts +0 -3
  521. package/es/shared/locales/nb-NO.js +0 -3
  522. package/es/shared/locales/nb-NO.js.map +1 -1
  523. package/es/shared/useTranslation.d.ts +5 -4
  524. package/es/shared/useTranslation.js +13 -11
  525. package/es/shared/useTranslation.js.map +1 -1
  526. package/es/style/core/scopes.scss +1 -1
  527. package/es/style/dnb-ui-basis.css +1 -1
  528. package/es/style/dnb-ui-basis.min.css +1 -1
  529. package/es/style/dnb-ui-body.css +1 -1
  530. package/es/style/dnb-ui-body.min.css +1 -1
  531. package/es/style/dnb-ui-components.css +57 -44
  532. package/es/style/dnb-ui-components.min.css +2 -2
  533. package/es/style/dnb-ui-core.css +1 -1
  534. package/es/style/dnb-ui-core.min.css +1 -1
  535. package/es/style/dnb-ui-extensions.css +46 -44
  536. package/es/style/dnb-ui-extensions.min.css +1 -1
  537. package/es/style/dnb-ui-forms.css +46 -44
  538. package/es/style/dnb-ui-forms.min.css +1 -1
  539. package/es/style/dnb-ui-forms.scss +2 -1
  540. package/es/style/dnb-ui-fragments.css +4 -0
  541. package/es/style/dnb-ui-fragments.min.css +1 -1
  542. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -2
  543. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  544. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +103 -88
  545. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  546. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +46 -44
  547. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  548. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +46 -44
  549. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  550. package/es/style/themes/theme-sbanken/globals.scss +3 -2
  551. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +2 -2
  552. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  553. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +104 -89
  554. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  555. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +46 -44
  556. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  557. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +46 -44
  558. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  559. package/es/style/themes/theme-ui/globals.scss +3 -2
  560. package/es/style/themes/theme-ui/ui-theme-basis.css +2 -2
  561. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  562. package/es/style/themes/theme-ui/ui-theme-components.css +103 -88
  563. package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  564. package/es/style/themes/theme-ui/ui-theme-extensions.css +46 -44
  565. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  566. package/es/style/themes/theme-ui/ui-theme-forms.css +46 -44
  567. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  568. package/esm/dnb-ui-basis.min.mjs +1 -1
  569. package/esm/dnb-ui-components.min.mjs +1 -1
  570. package/esm/dnb-ui-elements.min.mjs +1 -1
  571. package/esm/dnb-ui-extensions.min.mjs +5 -5
  572. package/esm/dnb-ui-lib.min.mjs +1 -1
  573. package/extensions/forms/DataContext/Context.d.ts +2 -0
  574. package/extensions/forms/DataContext/Context.js +1 -0
  575. package/extensions/forms/DataContext/Context.js.map +1 -1
  576. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.d.ts +17 -1
  577. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryContext.js.map +1 -1
  578. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +5 -3
  579. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  580. package/extensions/forms/DataContext/Provider/Provider.js +50 -4
  581. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  582. package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
  583. package/extensions/forms/Field/ArraySelection/ArraySelection.js +8 -2
  584. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  585. package/extensions/forms/Field/Option/Option.d.ts +2 -2
  586. package/extensions/forms/Field/Option/Option.js.map +1 -1
  587. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +6 -6
  588. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  589. package/extensions/forms/Field/Selection/Selection.js +7 -2
  590. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  591. package/extensions/forms/Field/Toggle/Toggle.js +7 -3
  592. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  593. package/extensions/forms/Form/FieldProps/FieldProps.js +16 -36
  594. package/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
  595. package/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +12 -0
  596. package/extensions/forms/Form/Section/EditContainer/EditContainer.js +33 -0
  597. package/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -0
  598. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.d.ts +3 -0
  599. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +19 -0
  600. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -0
  601. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +1 -0
  602. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +59 -0
  603. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -0
  604. package/extensions/forms/Form/Section/EditContainer/index.d.ts +2 -0
  605. package/extensions/forms/Form/Section/EditContainer/index.js +3 -0
  606. package/extensions/forms/Form/Section/EditContainer/index.js.map +1 -0
  607. package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.d.ts +3 -0
  608. package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js +46 -0
  609. package/extensions/forms/Form/Section/EditContainer/useContainerDataStore.js.map +1 -0
  610. package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.d.ts +1 -0
  611. package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js +19 -0
  612. package/extensions/forms/Form/Section/EditContainer/useEditContainerToolbar.js.map +1 -0
  613. package/extensions/forms/Form/Section/Section.d.ts +9 -1
  614. package/extensions/forms/Form/Section/Section.js +10 -2
  615. package/extensions/forms/Form/Section/Section.js.map +1 -1
  616. package/extensions/forms/Form/Section/SectionContext.d.ts +1 -2
  617. package/extensions/forms/Form/Section/SectionContext.js.map +1 -1
  618. package/extensions/forms/Form/Section/SectionDocs.js +6 -1
  619. package/extensions/forms/Form/Section/SectionDocs.js.map +1 -1
  620. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +12 -0
  621. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +32 -0
  622. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -0
  623. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.d.ts +3 -0
  624. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +19 -0
  625. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -0
  626. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +1 -0
  627. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +26 -0
  628. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -0
  629. package/extensions/forms/Form/Section/ViewContainer/index.d.ts +2 -0
  630. package/extensions/forms/Form/Section/ViewContainer/index.js +3 -0
  631. package/extensions/forms/Form/Section/ViewContainer/index.js.map +1 -0
  632. package/extensions/forms/Form/Section/containers/SectionContainer.d.ts +19 -0
  633. package/extensions/forms/Form/Section/containers/SectionContainer.js +83 -0
  634. package/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -0
  635. package/extensions/forms/Form/Section/containers/SectionContainerContext.d.ts +8 -0
  636. package/extensions/forms/Form/Section/containers/SectionContainerContext.js +4 -0
  637. package/extensions/forms/Form/Section/containers/SectionContainerContext.js.map +1 -0
  638. package/extensions/forms/Form/Section/containers/SectionContainerProvider.d.ts +8 -0
  639. package/extensions/forms/Form/Section/containers/SectionContainerProvider.js +24 -0
  640. package/extensions/forms/Form/Section/containers/SectionContainerProvider.js.map +1 -0
  641. package/extensions/forms/Form/Section/containers/Toolbar.d.ts +7 -0
  642. package/extensions/forms/Form/Section/containers/Toolbar.js +27 -0
  643. package/extensions/forms/Form/Section/containers/Toolbar.js.map +1 -0
  644. package/extensions/forms/Form/Section/style/dnb-form-section.css +45 -0
  645. package/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -0
  646. package/{cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss → extensions/forms/Form/Section/style/dnb-form-section.scss} +4 -12
  647. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +8 -8
  648. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  649. package/extensions/forms/Iterate/Array/Array.js +1 -1
  650. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  651. package/extensions/forms/Iterate/EditContainer/EditContainer.js +1 -1
  652. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  653. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +19 -10
  654. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  655. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  656. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  657. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +1 -1
  658. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  659. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  660. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  661. package/extensions/forms/Iterate/style/dnb-iterate.css +6 -0
  662. package/extensions/forms/Iterate/style/dnb-iterate.min.css +1 -0
  663. package/extensions/forms/Iterate/style/dnb-iterate.scss +12 -0
  664. package/extensions/forms/constants/locales/en-GB.d.ts +2 -1
  665. package/extensions/forms/constants/locales/en-GB.js +3 -2
  666. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  667. package/extensions/forms/constants/locales/en-US.d.ts +2 -1
  668. package/extensions/forms/constants/locales/index.d.ts +4 -2
  669. package/extensions/forms/constants/locales/nb-NO.d.ts +2 -1
  670. package/extensions/forms/constants/locales/nb-NO.js +3 -2
  671. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  672. package/extensions/forms/hooks/useDataValue.d.ts +4 -0
  673. package/extensions/forms/hooks/useDataValue.js +30 -5
  674. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  675. package/extensions/forms/hooks/useFieldProps.js +14 -9
  676. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  677. package/extensions/forms/hooks/useTranslation.js +7 -12
  678. package/extensions/forms/hooks/useTranslation.js.map +1 -1
  679. package/extensions/forms/style/dnb-forms.css +46 -44
  680. package/extensions/forms/style/dnb-forms.min.css +1 -1
  681. package/extensions/payment-card/PaymentCard.js.map +1 -1
  682. package/fragments/drawer-list/DrawerList.js.map +1 -1
  683. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  684. package/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  685. package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  686. package/fragments/drawer-list/style/dnb-drawer-list.scss +4 -0
  687. package/fragments/text-counter/TextCounter.js +3 -2
  688. package/fragments/text-counter/TextCounter.js.map +1 -1
  689. package/package.json +1 -1
  690. package/shared/Context.d.ts +9 -5
  691. package/shared/Context.js +40 -35
  692. package/shared/Context.js.map +1 -1
  693. package/shared/Eufemia.d.ts +1 -1
  694. package/shared/Eufemia.js +2 -2
  695. package/shared/Eufemia.js.map +1 -1
  696. package/shared/Provider.d.ts +1 -1
  697. package/shared/Provider.js +49 -41
  698. package/shared/Provider.js.map +1 -1
  699. package/shared/Translation.d.ts +5 -5
  700. package/shared/Translation.js +8 -10
  701. package/shared/Translation.js.map +1 -1
  702. package/shared/index.d.ts +1 -0
  703. package/shared/index.js +1 -0
  704. package/shared/index.js.map +1 -1
  705. package/shared/locales/en-GB.d.ts +0 -3
  706. package/shared/locales/en-GB.js +0 -3
  707. package/shared/locales/en-GB.js.map +1 -1
  708. package/shared/locales/en-US.d.ts +0 -3
  709. package/shared/locales/index.d.ts +0 -6
  710. package/shared/locales/nb-NO.d.ts +0 -3
  711. package/shared/locales/nb-NO.js +0 -3
  712. package/shared/locales/nb-NO.js.map +1 -1
  713. package/shared/useTranslation.d.ts +5 -4
  714. package/shared/useTranslation.js +13 -11
  715. package/shared/useTranslation.js.map +1 -1
  716. package/style/core/scopes.scss +1 -1
  717. package/style/dnb-ui-basis.css +1 -1
  718. package/style/dnb-ui-basis.min.css +1 -1
  719. package/style/dnb-ui-body.css +1 -1
  720. package/style/dnb-ui-body.min.css +1 -1
  721. package/style/dnb-ui-components.css +57 -44
  722. package/style/dnb-ui-components.min.css +2 -2
  723. package/style/dnb-ui-core.css +1 -1
  724. package/style/dnb-ui-core.min.css +1 -1
  725. package/style/dnb-ui-extensions.css +46 -44
  726. package/style/dnb-ui-extensions.min.css +1 -1
  727. package/style/dnb-ui-forms.css +46 -44
  728. package/style/dnb-ui-forms.min.css +1 -1
  729. package/style/dnb-ui-forms.scss +2 -1
  730. package/style/dnb-ui-fragments.css +4 -0
  731. package/style/dnb-ui-fragments.min.css +1 -1
  732. package/style/themes/theme-eiendom/eiendom-theme-basis.css +2 -2
  733. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  734. package/style/themes/theme-eiendom/eiendom-theme-components.css +103 -88
  735. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  736. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +46 -44
  737. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  738. package/style/themes/theme-eiendom/eiendom-theme-forms.css +46 -44
  739. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  740. package/style/themes/theme-sbanken/globals.scss +3 -2
  741. package/style/themes/theme-sbanken/sbanken-theme-basis.css +2 -2
  742. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  743. package/style/themes/theme-sbanken/sbanken-theme-components.css +104 -89
  744. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  745. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +46 -44
  746. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  747. package/style/themes/theme-sbanken/sbanken-theme-forms.css +46 -44
  748. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  749. package/style/themes/theme-ui/globals.scss +3 -2
  750. package/style/themes/theme-ui/ui-theme-basis.css +2 -2
  751. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  752. package/style/themes/theme-ui/ui-theme-components.css +103 -88
  753. package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  754. package/style/themes/theme-ui/ui-theme-extensions.css +46 -44
  755. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  756. package/style/themes/theme-ui/ui-theme-forms.css +46 -44
  757. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  758. package/umd/dnb-ui-basis.min.js +1 -1
  759. package/umd/dnb-ui-components.min.js +1 -1
  760. package/umd/dnb-ui-elements.min.js +1 -1
  761. package/umd/dnb-ui-extensions.min.js +5 -5
  762. package/umd/dnb-ui-lib.min.js +1 -1
  763. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +0 -50
  764. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +0 -1
  765. package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +0 -50
  766. package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +0 -1
  767. package/extensions/forms/Iterate/style/dnb-form-iterate.css +0 -50
  768. package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.js","names":["React","PropTypes","classnames","keycode","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","dispatchCustomElementEvent","AlignmentHelper","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","FormLabel","FormStatus","RadioGroup","RadioGroupContext","Context","Suffix","pickFormElementProps","Radio","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","constructor","_defineProperty","event","key","isInNoGroup","onChangeHandler","isContextGroupOrSingle","value","context","preventDefault","setState","_event","readOnly","target","isPlainGroup","setTimeout","callOnChange","group","_ref","onChange","_refInput","current","focus","createRef","_id","id","componentDidMount","innerRef","render","createElement","Consumer","contextProps","defaultProps","skeleton","FormRow","formElement","status","status_state","status_props","status_no_animation","globalStatus","suffix","element","label","label_sr_only","label_position","size","className","_group","_value","disabled","_disabled","children","on_change","on_state_update","rest","_objectWithoutProperties","_excluded","hasContext","name","showStatus","mainParams","inputParams","role","type","Object","assign","labelComp","forId","text","srOnly","Element","_AlignmentHelper","_extends","show","text_id","width_selector","no_animation","undefined","ref","onClick","onClickHandler","onKeyDown","onKeyDownHandler","_span","attributes","test","String","process","env","NODE_ENV","propTypes","_objectSpread","oneOfType","string","func","node","bool","oneOf","object","shape","message","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/radio/Radio.js"],"sourcesContent":["/**\n * Web Radio Component\n *\n * This is a legacy component.\n * For refferencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport RadioGroup from './RadioGroup'\nimport RadioGroupContext from './RadioGroupContext'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\n\n/**\n * The radio component is our enhancement of the classic radio button.\n */\nexport default class Radio extends React.PureComponent {\n static contextType = RadioGroupContext\n\n static propTypes = {\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n label_position: PropTypes.oneOf(['left', 'right']),\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n element: PropTypes.node,\n group: PropTypes.string,\n size: PropTypes.oneOf(['default', 'medium', 'large']),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n value: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n label: null,\n label_sr_only: null,\n label_position: null,\n checked: null,\n disabled: null,\n id: null,\n size: null,\n element: 'input',\n group: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n value: '',\n attributes: null,\n readOnly: false,\n skeleton: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_state_update: null,\n\n innerRef: null,\n }\n\n static Group = RadioGroup\n\n static parseChecked = (state) => /true|on/.test(String(state))\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (props.checked !== state._checked) {\n state.checked = Radio.parseChecked(props.checked)\n }\n }\n state._listenForPropChanges = true\n\n if (state.checked !== state.__checked) {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n checked: state.checked,\n })\n }\n\n state._checked = props.checked\n state.__checked = state.checked\n\n return state\n }\n\n constructor(props) {\n super(props)\n this._refInput = React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this.state = {\n _listenForPropChanges: true,\n }\n }\n\n componentDidMount() {\n if (this.props.innerRef) {\n typeof this.props.innerRef === 'function'\n ? this.props.innerRef(this._refInput.current)\n : (this.props.innerRef.current = this._refInput.current)\n }\n }\n\n onKeyDownHandler = (event) => {\n const key = keycode(event)\n // only have key support if there is only a single radio\n if (this.isInNoGroup()) {\n switch (key) {\n case 'enter':\n this.onChangeHandler(event)\n break\n }\n } else if (this.isContextGroupOrSingle()) {\n switch (key) {\n case 'space':\n case 'enter': {\n const { value } = this.context\n if (value !== null && typeof value !== 'undefined') {\n event.preventDefault()\n }\n if (key === 'enter') {\n const checked = !this.state.checked\n this.setState({ checked, _listenForPropChanges: false })\n }\n break\n }\n }\n } else {\n // else we only use the native support, and don't want space support\n // because only arrow keys has to be used\n switch (key) {\n case 'space': {\n event.preventDefault()\n break\n }\n }\n }\n dispatchCustomElementEvent(this, 'on_key_down', { event })\n }\n\n onChangeHandler = (_event) => {\n const event = _event\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n const value = event.target.value\n const checked = !this.state.checked\n\n // delay in case we have a props group only\n if (this.isPlainGroup()) {\n // in case we have a false \"hasContext\" but a \"group\"\n // then we have to use a delay, to overwrite the uncontrolled state\n setTimeout(() => {\n this.setState({ checked, _listenForPropChanges: false }, () =>\n this.callOnChange({ value, checked, event })\n )\n }, 1)\n } else {\n this.setState({ checked, _listenForPropChanges: false })\n this.callOnChange({ value, checked, event })\n }\n }\n\n // only support on change if there is either:\n // 1. context group usage\n // 2. or a single, no group usage\n isContextGroupOrSingle = () =>\n typeof this.context.value !== 'undefined' && !this.props.group\n isPlainGroup = () =>\n typeof this.context.value === 'undefined' && this.props.group\n isInNoGroup = () =>\n typeof this.context.value === 'undefined' && !this.props.group\n\n onClickHandler = (event) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n // only have click support if there are more plain radio\n if (!this.isPlainGroup()) {\n return\n }\n const value = event.target.value\n const checked = event.target.checked\n this.callOnChange({ value, checked, event })\n }\n\n callOnChange = ({ value, checked, event }) => {\n const { group } = this.props\n if (this.context.onChange) {\n this.context.onChange({\n value,\n })\n }\n dispatchCustomElementEvent(this, 'on_change', {\n group,\n checked,\n value,\n event,\n })\n\n // help firefox and safari to have an correct state after a click\n if (this._refInput.current) {\n this._refInput.current.focus()\n }\n }\n\n render() {\n return (\n <Context.Consumer>\n {(context) => {\n // from internal context\n const contextProps = extendPropsWithContextInClassComponent(\n this.props,\n Radio.defaultProps,\n this.context\n )\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Radio.defaultProps,\n contextProps,\n { skeleton: context?.skeleton },\n // Deprecated – can be removed in v11\n pickFormElementProps(context.FormRow),\n pickFormElementProps(context.formElement),\n context.Radio\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n element,\n label,\n label_sr_only,\n label_position,\n size,\n readOnly,\n skeleton,\n className,\n id: _id, // eslint-disable-line\n group: _group, // eslint-disable-line\n value: _value, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n disabled: _disabled, // eslint-disable-line\n children, // eslint-disable-line\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n innerRef, // eslint-disable-line\n\n ...rest\n } = props\n\n let { checked } = this.state\n let { value, group, disabled } = props // get it from context also\n\n const hasContext = typeof this.context.name !== 'undefined'\n\n if (hasContext) {\n if (typeof this.context.value !== 'undefined') {\n checked = this.context.value === value\n }\n group = this.context.name\n if (isTrue(this.context.disabled) && disabled !== false) {\n disabled = true\n }\n } else if (typeof rest.name !== 'undefined') {\n group = rest.name\n }\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-radio',\n status && `dnb-radio__status--${status_state}`,\n size && `dnb-radio--${size}`,\n label &&\n `dnb-radio--label-position-${label_position || 'right'}`,\n createSpacingClasses(props),\n className\n ),\n }\n\n let inputParams = {\n role: hasContext || group ? 'radio' : null,\n type: hasContext || group ? 'radio' : 'checkbox', // overwriting the type\n }\n\n if (!group) {\n inputParams.type = 'checkbox'\n inputParams.role = 'radio' // breaks axe test\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 inputParams = Object.assign(inputParams, rest)\n\n skeletonDOMAttributes(inputParams, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, inputParams)\n\n const labelComp = label && (\n <FormLabel\n id={id + '-label'}\n forId={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n srOnly={label_sr_only}\n />\n )\n\n const Element = element || 'input'\n\n return (\n <span {...mainParams}>\n <span className=\"dnb-radio__order\">\n {label_position === 'left' && labelComp}\n\n <span className=\"dnb-radio__inner\">\n <AlignmentHelper />\n\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={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-radio__row\">\n <span className=\"dnb-radio__shell\">\n <Element\n type=\"radio\"\n value={value}\n id={id}\n name={group}\n className=\"dnb-radio__input\"\n checked={checked}\n aria-checked={\n this.isPlainGroup() ? undefined : checked\n }\n disabled={isTrue(disabled)}\n ref={this._refInput}\n {...inputParams}\n onChange={this.onChangeHandler}\n onClick={this.onClickHandler}\n onKeyDown={this.onKeyDownHandler}\n />\n\n <span\n className={classnames(\n 'dnb-radio__button',\n createSkeletonClass(\n 'shape',\n skeleton,\n this.context\n )\n )}\n aria-hidden\n />\n <span className=\"dnb-radio__focus\" aria-hidden />\n <span\n className={classnames(\n 'dnb-radio__dot',\n createSkeletonClass(\n 'font',\n skeleton,\n this.context\n )\n )}\n aria-hidden\n />\n </span>\n\n {label_position !== 'left' && labelComp}\n\n {suffix && (\n <Suffix\n className=\"dnb-radio__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n </span>\n )\n }}\n </Context.Consumer>\n )\n }\n}\n\nRadio._formElement = true\nRadio._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"Radio.js","names":["React","PropTypes","classnames","keycode","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","dispatchCustomElementEvent","AlignmentHelper","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","FormLabel","FormStatus","RadioGroup","RadioGroupContext","Context","Suffix","pickFormElementProps","Radio","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","constructor","_defineProperty","event","key","isInNoGroup","onChangeHandler","isContextGroupOrSingle","value","context","preventDefault","setState","_event","readOnly","target","isPlainGroup","setTimeout","callOnChange","group","_ref","onChange","_refInput","current","focus","createRef","_id","id","componentDidMount","innerRef","render","createElement","Consumer","contextProps","defaultProps","skeleton","FormRow","formElement","status","status_state","status_props","status_no_animation","globalStatus","suffix","element","label","label_sr_only","label_position","size","className","_group","_value","disabled","_disabled","children","on_change","on_state_update","rest","_objectWithoutProperties","_excluded","hasContext","name","showStatus","mainParams","inputParams","role","type","Object","assign","labelComp","forId","text","srOnly","Element","_AlignmentHelper","_extends","show","text_id","width_selector","no_animation","undefined","ref","onClick","onClickHandler","onKeyDown","onKeyDownHandler","_span","attributes","test","String","process","env","NODE_ENV","propTypes","_objectSpread","oneOfType","string","func","node","bool","oneOf","object","shape","message","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/radio/Radio.js"],"sourcesContent":["/**\n * Web Radio Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport RadioGroup from './RadioGroup'\nimport RadioGroupContext from './RadioGroupContext'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\n\n/**\n * The radio component is our enhancement of the classic radio button.\n */\nexport default class Radio extends React.PureComponent {\n static contextType = RadioGroupContext\n\n static propTypes = {\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n label_position: PropTypes.oneOf(['left', 'right']),\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n element: PropTypes.node,\n group: PropTypes.string,\n size: PropTypes.oneOf(['default', 'medium', 'large']),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n value: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n label: null,\n label_sr_only: null,\n label_position: null,\n checked: null,\n disabled: null,\n id: null,\n size: null,\n element: 'input',\n group: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n value: '',\n attributes: null,\n readOnly: false,\n skeleton: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_state_update: null,\n\n innerRef: null,\n }\n\n static Group = RadioGroup\n\n static parseChecked = (state) => /true|on/.test(String(state))\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (props.checked !== state._checked) {\n state.checked = Radio.parseChecked(props.checked)\n }\n }\n state._listenForPropChanges = true\n\n if (state.checked !== state.__checked) {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n checked: state.checked,\n })\n }\n\n state._checked = props.checked\n state.__checked = state.checked\n\n return state\n }\n\n constructor(props) {\n super(props)\n this._refInput = React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this.state = {\n _listenForPropChanges: true,\n }\n }\n\n componentDidMount() {\n if (this.props.innerRef) {\n typeof this.props.innerRef === 'function'\n ? this.props.innerRef(this._refInput.current)\n : (this.props.innerRef.current = this._refInput.current)\n }\n }\n\n onKeyDownHandler = (event) => {\n const key = keycode(event)\n // only have key support if there is only a single radio\n if (this.isInNoGroup()) {\n switch (key) {\n case 'enter':\n this.onChangeHandler(event)\n break\n }\n } else if (this.isContextGroupOrSingle()) {\n switch (key) {\n case 'space':\n case 'enter': {\n const { value } = this.context\n if (value !== null && typeof value !== 'undefined') {\n event.preventDefault()\n }\n if (key === 'enter') {\n const checked = !this.state.checked\n this.setState({ checked, _listenForPropChanges: false })\n }\n break\n }\n }\n } else {\n // else we only use the native support, and don't want space support\n // because only arrow keys has to be used\n switch (key) {\n case 'space': {\n event.preventDefault()\n break\n }\n }\n }\n dispatchCustomElementEvent(this, 'on_key_down', { event })\n }\n\n onChangeHandler = (_event) => {\n const event = _event\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n const value = event.target.value\n const checked = !this.state.checked\n\n // delay in case we have a props group only\n if (this.isPlainGroup()) {\n // in case we have a false \"hasContext\" but a \"group\"\n // then we have to use a delay, to overwrite the uncontrolled state\n setTimeout(() => {\n this.setState({ checked, _listenForPropChanges: false }, () =>\n this.callOnChange({ value, checked, event })\n )\n }, 1)\n } else {\n this.setState({ checked, _listenForPropChanges: false })\n this.callOnChange({ value, checked, event })\n }\n }\n\n // only support on change if there is either:\n // 1. context group usage\n // 2. or a single, no group usage\n isContextGroupOrSingle = () =>\n typeof this.context.value !== 'undefined' && !this.props.group\n isPlainGroup = () =>\n typeof this.context.value === 'undefined' && this.props.group\n isInNoGroup = () =>\n typeof this.context.value === 'undefined' && !this.props.group\n\n onClickHandler = (event) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n // only have click support if there are more plain radio\n if (!this.isPlainGroup()) {\n return\n }\n const value = event.target.value\n const checked = event.target.checked\n this.callOnChange({ value, checked, event })\n }\n\n callOnChange = ({ value, checked, event }) => {\n const { group } = this.props\n if (this.context.onChange) {\n this.context.onChange({\n value,\n })\n }\n dispatchCustomElementEvent(this, 'on_change', {\n group,\n checked,\n value,\n event,\n })\n\n // help firefox and safari to have an correct state after a click\n if (this._refInput.current) {\n this._refInput.current.focus()\n }\n }\n\n render() {\n return (\n <Context.Consumer>\n {(context) => {\n // from internal context\n const contextProps = extendPropsWithContextInClassComponent(\n this.props,\n Radio.defaultProps,\n this.context\n )\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Radio.defaultProps,\n contextProps,\n { skeleton: context?.skeleton },\n // Deprecated – can be removed in v11\n pickFormElementProps(context.FormRow),\n pickFormElementProps(context.formElement),\n context.Radio\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n element,\n label,\n label_sr_only,\n label_position,\n size,\n readOnly,\n skeleton,\n className,\n id: _id, // eslint-disable-line\n group: _group, // eslint-disable-line\n value: _value, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n disabled: _disabled, // eslint-disable-line\n children, // eslint-disable-line\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n innerRef, // eslint-disable-line\n\n ...rest\n } = props\n\n let { checked } = this.state\n let { value, group, disabled } = props // get it from context also\n\n const hasContext = typeof this.context.name !== 'undefined'\n\n if (hasContext) {\n if (typeof this.context.value !== 'undefined') {\n checked = this.context.value === value\n }\n group = this.context.name\n if (isTrue(this.context.disabled) && disabled !== false) {\n disabled = true\n }\n } else if (typeof rest.name !== 'undefined') {\n group = rest.name\n }\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-radio',\n status && `dnb-radio__status--${status_state}`,\n size && `dnb-radio--${size}`,\n label &&\n `dnb-radio--label-position-${label_position || 'right'}`,\n createSpacingClasses(props),\n className\n ),\n }\n\n let inputParams = {\n role: hasContext || group ? 'radio' : null,\n type: hasContext || group ? 'radio' : 'checkbox', // overwriting the type\n }\n\n if (!group) {\n inputParams.type = 'checkbox'\n inputParams.role = 'radio' // breaks axe test\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 inputParams = Object.assign(inputParams, rest)\n\n skeletonDOMAttributes(inputParams, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, inputParams)\n\n const labelComp = label && (\n <FormLabel\n id={id + '-label'}\n forId={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n srOnly={label_sr_only}\n />\n )\n\n const Element = element || 'input'\n\n return (\n <span {...mainParams}>\n <span className=\"dnb-radio__order\">\n {label_position === 'left' && labelComp}\n\n <span className=\"dnb-radio__inner\">\n <AlignmentHelper />\n\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={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-radio__row\">\n <span className=\"dnb-radio__shell\">\n <Element\n type=\"radio\"\n value={value}\n id={id}\n name={group}\n className=\"dnb-radio__input\"\n checked={checked}\n aria-checked={\n this.isPlainGroup() ? undefined : checked\n }\n disabled={isTrue(disabled)}\n ref={this._refInput}\n {...inputParams}\n onChange={this.onChangeHandler}\n onClick={this.onClickHandler}\n onKeyDown={this.onKeyDownHandler}\n />\n\n <span\n className={classnames(\n 'dnb-radio__button',\n createSkeletonClass(\n 'shape',\n skeleton,\n this.context\n )\n )}\n aria-hidden\n />\n <span className=\"dnb-radio__focus\" aria-hidden />\n <span\n className={classnames(\n 'dnb-radio__dot',\n createSkeletonClass(\n 'font',\n skeleton,\n this.context\n )\n )}\n aria-hidden\n />\n </span>\n\n {label_position !== 'left' && labelComp}\n\n {suffix && (\n <Suffix\n className=\"dnb-radio__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n </span>\n )\n }}\n </Context.Consumer>\n )\n }\n}\n\nRadio._formElement = true\nRadio._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.js","names":["React","PropTypes","classnames","extendPropsWithContextInClassComponent","makeUniqueId","validateDOMAttributes","getStatusState","combineDescribedBy","combineLabelledBy","dispatchCustomElementEvent","pickFormElementProps","spacingPropTypes","createSpacingClasses","AlignmentHelper","Space","FormLabel","FormStatus","Flex","Context","Suffix","RadioGroupContext","RadioGroup","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","value","_value","constructor","_defineProperty","_ref","event","setState","_refInput","createRef","_id","id","_name","name","render","_this$context","_this$context2","defaultProps","context","FormRow","formElement","status","status_state","status_props","status_no_animation","globalStatus","suffix","label","label_direction","label_sr_only","label_position","vertical","layout_direction","size","disabled","skeleton","className","children","on_change","rest","_objectWithoutProperties","_excluded","showStatus","classes","params","_objectSpread","onChange","onChangeHandler","Fieldset","createElement","Provider","_AlignmentHelper","Container","direction","spacing","element","srOnly","_extends","role","show","text","text_id","width_selector","no_animation","title","undefined","attributes","test","String","process","env","NODE_ENV","propTypes","oneOfType","string","func","node","oneOf","bool","object","shape","message","_supportsSpacingProps"],"sources":["../../../../src/components/radio/RadioGroup.js"],"sourcesContent":["/**\n * Web RadioGroup Component\n *\n * This is a legacy component.\n * For refferencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n extendPropsWithContextInClassComponent,\n makeUniqueId,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n combineLabelledBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport Space from '../Space'\nimport FormLabel from '../FormLabel'\nimport FormStatus from '../FormStatus'\nimport Flex from '../Flex'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport RadioGroupContext from './RadioGroupContext'\n\n/**\n * The radio component is our enhancement of the classic radio button. It acts like a radio. Example: On/off, yes/no.\n */\nexport default class RadioGroup extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n label_position: PropTypes.oneOf(['left', 'right']),\n title: PropTypes.string,\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n name: PropTypes.string,\n size: PropTypes.oneOf(['default', 'medium', 'large']),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n layout_direction: PropTypes.oneOf(['column', 'row']),\n vertical: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n value: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n\n on_change: PropTypes.func,\n }\n\n static defaultProps = {\n label: null,\n label_direction: null,\n label_sr_only: null,\n label_position: null,\n title: null,\n disabled: null,\n skeleton: null,\n id: null,\n name: null,\n size: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n vertical: null,\n layout_direction: 'row',\n value: undefined,\n attributes: null,\n\n className: null,\n children: null,\n\n on_change: null,\n }\n\n static parseChecked = (state) => /true|on/.test(String(state))\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (props.value !== state._value) {\n state.value = props.value\n }\n if (typeof props.value !== 'undefined') {\n state._value = props.value\n }\n }\n state._listenForPropChanges = true\n\n return state\n }\n\n constructor(props) {\n super(props)\n this._refInput = React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this._name = props.name || this._id\n this.state = {\n _listenForPropChanges: true,\n }\n }\n\n onChangeHandler = ({ value, event }) => {\n this.setState({ value, _listenForPropChanges: false })\n dispatchCustomElementEvent(this, 'on_change', {\n value,\n event,\n })\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n RadioGroup.defaultProps,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.RadioGroup\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n label,\n label_direction,\n label_sr_only,\n label_position,\n vertical,\n layout_direction,\n size,\n disabled,\n skeleton,\n className,\n\n id: _id, // eslint-disable-line\n name: _name, // eslint-disable-line\n value: _value, // eslint-disable-line\n children, // eslint-disable-line\n on_change, // eslint-disable-line\n\n ...rest\n } = props\n\n const { value } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const classes = classnames(\n 'dnb-radio-group',\n status && `dnb-radio-group__status--${status_state}`,\n `dnb-radio-group--${layout_direction}`,\n 'dnb-form-component',\n createSpacingClasses(props),\n className\n )\n\n const params = {\n ...rest,\n }\n\n if (showStatus || suffix) {\n params['aria-describedby'] = combineDescribedBy(\n params,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (label) {\n params['aria-labelledby'] = combineLabelledBy(params, id + '-label')\n }\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n const context = {\n name: this._name,\n value,\n size,\n disabled,\n label_position,\n onChange: this.onChangeHandler,\n }\n\n const Fieldset = label ? 'fieldset' : 'div'\n\n return (\n <RadioGroupContext.Provider value={context}>\n <div className={classes}>\n <AlignmentHelper />\n <Fieldset>\n <Flex.Container\n // align=\"baseline\"\n direction={\n vertical || label_direction === 'vertical'\n ? 'vertical'\n : 'horizontal'\n }\n spacing={vertical ? 'x-small' : 'small'}\n >\n {label && (\n <FormLabel\n element=\"legend\"\n id={id + '-label'}\n srOnly={label_sr_only}\n >\n {label}\n </FormLabel>\n )}\n\n <Space\n element=\"span\"\n id={id}\n className=\"dnb-radio-group__shell\"\n role=\"radiogroup\"\n {...params}\n >\n {children}\n\n {suffix && (\n <Suffix\n className=\"dnb-radio-group__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text={status}\n state={status_state}\n text_id={id + '-status'} // used for \"aria-describedby\"\n width_selector={id + ', ' + id + '-label'}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n </Space>\n </Flex.Container>\n </Fieldset>\n </div>\n </RadioGroupContext.Provider>\n )\n }\n}\n\nRadioGroup._supportsSpacingProps = true\n"],"mappings":";;;;;;;;;AAOA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,SACEC,sCAAsC,EACtCC,YAAY,EACZC,qBAAqB,EACrBC,cAAc,EACdC,kBAAkB,EAClBC,iBAAiB,EACjBC,0BAA0B,QACrB,+BAA+B;AACtC,SAASC,oBAAoB,QAAQ,uCAAuC;AAC5E,SACEC,gBAAgB,EAChBC,oBAAoB,QACf,wBAAwB;AAC/B,OAAOC,eAAe,MAAM,8BAA8B;AAC1D,OAAOC,KAAK,MAAM,UAAU;AAC5B,OAAOC,SAAS,MAAM,cAAc;AACpC,OAAOC,UAAU,MAAM,eAAe;AACtC,OAAOC,IAAI,MAAM,SAAS;AAC1B,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,OAAOC,MAAM,MAAM,6BAA6B;AAChD,OAAOC,iBAAiB,MAAM,qBAAqB;AAKnD,eAAe,MAAMC,UAAU,SAASrB,KAAK,CAACsB,aAAa,CAAC;EAsF1D,OAAOC,wBAAwBA,CAACC,KAAK,EAAEC,KAAK,EAAE;IAC5C,IAAIA,KAAK,CAACC,qBAAqB,EAAE;MAC/B,IAAIF,KAAK,CAACG,KAAK,KAAKF,KAAK,CAACG,MAAM,EAAE;QAChCH,KAAK,CAACE,KAAK,GAAGH,KAAK,CAACG,KAAK;MAC3B;MACA,IAAI,OAAOH,KAAK,CAACG,KAAK,KAAK,WAAW,EAAE;QACtCF,KAAK,CAACG,MAAM,GAAGJ,KAAK,CAACG,KAAK;MAC5B;IACF;IACAF,KAAK,CAACC,qBAAqB,GAAG,IAAI;IAElC,OAAOD,KAAK;EACd;EAEAI,WAAWA,CAACL,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAAAM,eAAA,0BASIC,IAAA,IAAsB;MAAA,IAArB;QAAEJ,KAAK;QAAEK;MAAM,CAAC,GAAAD,IAAA;MACjC,IAAI,CAACE,QAAQ,CAAC;QAAEN,KAAK;QAAED,qBAAqB,EAAE;MAAM,CAAC,CAAC;MACtDjB,0BAA0B,CAAC,IAAI,EAAE,WAAW,EAAE;QAC5CkB,KAAK;QACLK;MACF,CAAC,CAAC;IACJ,CAAC;IAdC,IAAI,CAACE,SAAS,GAAGlC,KAAK,CAACmC,SAAS,CAAC,CAAC;IAClC,IAAI,CAACC,GAAG,GAAGZ,KAAK,CAACa,EAAE,IAAIjC,YAAY,CAAC,CAAC;IACrC,IAAI,CAACkC,KAAK,GAAGd,KAAK,CAACe,IAAI,IAAI,IAAI,CAACH,GAAG;IACnC,IAAI,CAACX,KAAK,GAAG;MACXC,qBAAqB,EAAE;IACzB,CAAC;EACH;EAUAc,MAAMA,CAAA,EAAG;IAAA,IAAAC,aAAA,EAAAC,cAAA;IAEP,MAAMlB,KAAK,GAAGrB,sCAAsC,CAClD,IAAI,CAACqB,KAAK,EACVH,UAAU,CAACsB,YAAY,EAEvBjC,oBAAoB,EAAA+B,aAAA,GAAC,IAAI,CAACG,OAAO,cAAAH,aAAA,uBAAZA,aAAA,CAAcI,OAAO,CAAC,EAC3CnC,oBAAoB,EAAAgC,cAAA,GAAC,IAAI,CAACE,OAAO,cAAAF,cAAA,uBAAZA,cAAA,CAAcI,WAAW,CAAC,EAC/C,IAAI,CAACF,OAAO,CAACvB,UACf,CAAC;IAED,MAAM;QACJ0B,MAAM;QACNC,YAAY;QACZC,YAAY;QACZC,mBAAmB;QACnBC,YAAY;QACZC,MAAM;QACNC,KAAK;QACLC,eAAe;QACfC,aAAa;QACbC,cAAc;QACdC,QAAQ;QACRC,gBAAgB;QAChBC,IAAI;QACJC,QAAQ;QACRC,QAAQ;QACRC,SAAS;QAETzB,EAAE,EAAED,GAAG;QACPG,IAAI,EAAED,KAAK;QACXX,KAAK,EAAEC,MAAM;QACbmC,QAAQ;QACRC;MAGF,CAAC,GAAGxC,KAAK;MADJyC,IAAI,GAAAC,wBAAA,CACL1C,KAAK,EAAA2C,SAAA;IAET,MAAM;MAAExC;IAAM,CAAC,GAAG,IAAI,CAACF,KAAK;IAE5B,MAAMY,EAAE,GAAG,IAAI,CAACD,GAAG;IACnB,MAAMgC,UAAU,GAAG9D,cAAc,CAACyC,MAAM,CAAC;IAEzC,MAAMsB,OAAO,GAAGnE,UAAU,qCAGJwD,gBAAgB,uBAEpC9C,oBAAoB,CAACY,KAAK,CAAC,EAC3BsC,SAAS,EAJTf,MAAM,IAAK,4BAA2BC,YAAa,EAKrD,CAAC;IAED,MAAMsB,MAAM,GAAAC,aAAA,KACPN,IAAI,CACR;IAED,IAAIG,UAAU,IAAIhB,MAAM,EAAE;MACxBkB,MAAM,CAAC,kBAAkB,CAAC,GAAG/D,kBAAkB,CAC7C+D,MAAM,EACNF,UAAU,GAAG/B,EAAE,GAAG,SAAS,GAAG,IAAI,EAClCe,MAAM,GAAGf,EAAE,GAAG,SAAS,GAAG,IAC5B,CAAC;IACH;IACA,IAAIgB,KAAK,EAAE;MACTiB,MAAM,CAAC,iBAAiB,CAAC,GAAG9D,iBAAiB,CAAC8D,MAAM,EAAEjC,EAAE,GAAG,QAAQ,CAAC;IACtE;IAGAhC,qBAAqB,CAAC,IAAI,CAACmB,KAAK,EAAE8C,MAAM,CAAC;IAEzC,MAAM1B,OAAO,GAAG;MACdL,IAAI,EAAE,IAAI,CAACD,KAAK;MAChBX,KAAK;MACLgC,IAAI;MACJC,QAAQ;MACRJ,cAAc;MACdgB,QAAQ,EAAE,IAAI,CAACC;IACjB,CAAC;IAED,MAAMC,QAAQ,GAAGrB,KAAK,GAAG,UAAU,GAAG,KAAK;IAE3C,OACErD,KAAA,CAAA2E,aAAA,CAACvD,iBAAiB,CAACwD,QAAQ;MAACjD,KAAK,EAAEiB;IAAQ,GACzC5C,KAAA,CAAA2E,aAAA;MAAKb,SAAS,EAAEO;IAAQ,GAAAQ,gBAAA,KAAAA,gBAAA,GACtB7E,KAAA,CAAA2E,aAAA,CAAC9D,eAAe,MAAE,CAAC,GACnBb,KAAA,CAAA2E,aAAA,CAACD,QAAQ,QACP1E,KAAA,CAAA2E,aAAA,CAAC1D,IAAI,CAAC6D,SAAS;MAEbC,SAAS,EACPtB,QAAQ,IAAIH,eAAe,KAAK,UAAU,GACtC,UAAU,GACV,YACL;MACD0B,OAAO,EAAEvB,QAAQ,GAAG,SAAS,GAAG;IAAQ,GAEvCJ,KAAK,IACJrD,KAAA,CAAA2E,aAAA,CAAC5D,SAAS;MACRkE,OAAO,EAAC,QAAQ;MAChB5C,EAAE,EAAEA,EAAE,GAAG,QAAS;MAClB6C,MAAM,EAAE3B;IAAc,GAErBF,KACQ,CACZ,EAEDrD,KAAA,CAAA2E,aAAA,CAAC7D,KAAK,EAAAqE,QAAA;MACJF,OAAO,EAAC,MAAM;MACd5C,EAAE,EAAEA,EAAG;MACPyB,SAAS,EAAC,wBAAwB;MAClCsB,IAAI,EAAC;IAAY,GACbd,MAAM,GAETP,QAAQ,EAERX,MAAM,IACLpD,KAAA,CAAA2E,aAAA,CAACxD,MAAM;MACL2C,SAAS,EAAC,yBAAyB;MACnCzB,EAAE,EAAEA,EAAE,GAAG,SAAU;MACnBO,OAAO,EAAEpB;IAAM,GAEd4B,MACK,CACT,EAEDpD,KAAA,CAAA2E,aAAA,CAAC3D,UAAU,EAAAmE,QAAA;MACTE,IAAI,EAAEjB,UAAW;MACjB/B,EAAE,EAAEA,EAAE,GAAG,cAAe;MACxBc,YAAY,EAAEA,YAAa;MAC3BE,KAAK,EAAEA,KAAM;MACbiC,IAAI,EAAEvC,MAAO;MACbtB,KAAK,EAAEuB,YAAa;MACpBuC,OAAO,EAAElD,EAAE,GAAG,SAAU;MACxBmD,cAAc,EAAEnD,EAAE,GAAG,IAAI,GAAGA,EAAE,GAAG,QAAS;MAC1CoD,YAAY,EAAEvC,mBAAoB;MAClCW,QAAQ,EAAEA;IAAS,GACfZ,YAAY,CACjB,CACI,CACO,CACR,CACP,CACqB,CAAC;EAEjC;AACF;AAACnB,eAAA,CAtQoBT,UAAU,iBACRH,OAAO;AAAAY,eAAA,CADTT,UAAU,kBAwDP;EACpBgC,KAAK,EAAE,IAAI;EACXC,eAAe,EAAE,IAAI;EACrBC,aAAa,EAAE,IAAI;EACnBC,cAAc,EAAE,IAAI;EACpBkC,KAAK,EAAE,IAAI;EACX9B,QAAQ,EAAE,IAAI;EACdC,QAAQ,EAAE,IAAI;EACdxB,EAAE,EAAE,IAAI;EACRE,IAAI,EAAE,IAAI;EACVoB,IAAI,EAAE,IAAI;EACVZ,MAAM,EAAE,IAAI;EACZC,YAAY,EAAE,OAAO;EACrBC,YAAY,EAAE,IAAI;EAClBC,mBAAmB,EAAE,IAAI;EACzBC,YAAY,EAAE,IAAI;EAClBC,MAAM,EAAE,IAAI;EACZK,QAAQ,EAAE,IAAI;EACdC,gBAAgB,EAAE,KAAK;EACvB/B,KAAK,EAAEgE,SAAS;EAChBC,UAAU,EAAE,IAAI;EAEhB9B,SAAS,EAAE,IAAI;EACfC,QAAQ,EAAE,IAAI;EAEdC,SAAS,EAAE;AACb,CAAC;AAAAlC,eAAA,CAlFkBT,UAAU,kBAoFNI,KAAK,IAAK,SAAS,CAACoE,IAAI,CAACC,MAAM,CAACrE,KAAK,CAAC,CAAC;AAAAsE,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBApF3C5E,UAAU,CAGtB6E,SAAS,GAAA3B,aAAA,CAAAA,aAAA;EACdlB,KAAK,EAAEpD,SAAS,CAACkG,SAAS,CAAC,CACzBlG,SAAS,CAACmG,MAAM,EAChBnG,SAAS,CAACoG,IAAI,EACdpG,SAAS,CAACqG,IAAI,CACf,CAAC;EACFhD,eAAe,EAAErD,SAAS,CAACsG,KAAK,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;EAC5DhD,aAAa,EAAEtD,SAAS,CAACkG,SAAS,CAAC,CAAClG,SAAS,CAACmG,MAAM,EAAEnG,SAAS,CAACuG,IAAI,CAAC,CAAC;EACtEhD,cAAc,EAAEvD,SAAS,CAACsG,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EAClDb,KAAK,EAAEzF,SAAS,CAACmG,MAAM;EACvBxC,QAAQ,EAAE3D,SAAS,CAACkG,SAAS,CAAC,CAAClG,SAAS,CAACmG,MAAM,EAAEnG,SAAS,CAACuG,IAAI,CAAC,CAAC;EACjE3C,QAAQ,EAAE5D,SAAS,CAACkG,SAAS,CAAC,CAAClG,SAAS,CAACmG,MAAM,EAAEnG,SAAS,CAACuG,IAAI,CAAC,CAAC;EACjEnE,EAAE,EAAEpC,SAAS,CAACmG,MAAM;EACpB7D,IAAI,EAAEtC,SAAS,CAACmG,MAAM;EACtBzC,IAAI,EAAE1D,SAAS,CAACsG,KAAK,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;EACrDxD,MAAM,EAAE9C,SAAS,CAACkG,SAAS,CAAC,CAC1BlG,SAAS,CAACmG,MAAM,EAChBnG,SAAS,CAACuG,IAAI,EACdvG,SAAS,CAACoG,IAAI,EACdpG,SAAS,CAACqG,IAAI,CACf,CAAC;EACFtD,YAAY,EAAE/C,SAAS,CAACmG,MAAM;EAC9BnD,YAAY,EAAEhD,SAAS,CAACwG,MAAM;EAC9BvD,mBAAmB,EAAEjD,SAAS,CAACkG,SAAS,CAAC,CACvClG,SAAS,CAACmG,MAAM,EAChBnG,SAAS,CAACuG,IAAI,CACf,CAAC;EACFrD,YAAY,EAAElD,SAAS,CAACyG,KAAK,CAAC;IAC5BrE,EAAE,EAAEpC,SAAS,CAACmG,MAAM;IACpBO,OAAO,EAAE1G,SAAS,CAACkG,SAAS,CAAC,CAAClG,SAAS,CAACmG,MAAM,EAAEnG,SAAS,CAACqG,IAAI,CAAC;EACjE,CAAC,CAAC;EACFlD,MAAM,EAAEnD,SAAS,CAACkG,SAAS,CAAC,CAC1BlG,SAAS,CAACmG,MAAM,EAChBnG,SAAS,CAACoG,IAAI,EACdpG,SAAS,CAACqG,IAAI,CACf,CAAC;EACF5C,gBAAgB,EAAEzD,SAAS,CAACsG,KAAK,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;EACpD9C,QAAQ,EAAExD,SAAS,CAACkG,SAAS,CAAC,CAAClG,SAAS,CAACmG,MAAM,EAAEnG,SAAS,CAACuG,IAAI,CAAC,CAAC;EACjE7E,KAAK,EAAE1B,SAAS,CAACmG,MAAM;EACvBR,UAAU,EAAE3F,SAAS,CAACkG,SAAS,CAAC,CAAClG,SAAS,CAACmG,MAAM,EAAEnG,SAAS,CAACwG,MAAM,CAAC;AAAC,GAElE9F,gBAAgB;EAEnBmD,SAAS,EAAE7D,SAAS,CAACmG,MAAM;EAC3BrC,QAAQ,EAAE9D,SAAS,CAACkG,SAAS,CAAC,CAC5BlG,SAAS,CAACmG,MAAM,EAChBnG,SAAS,CAACoG,IAAI,EACdpG,SAAS,CAACqG,IAAI,CACf,CAAC;EAEFtC,SAAS,EAAE/D,SAAS,CAACoG;AAAI;AAmN7BhF,UAAU,CAACuF,qBAAqB,GAAG,IAAI"}
1
+ {"version":3,"file":"RadioGroup.js","names":["React","PropTypes","classnames","extendPropsWithContextInClassComponent","makeUniqueId","validateDOMAttributes","getStatusState","combineDescribedBy","combineLabelledBy","dispatchCustomElementEvent","pickFormElementProps","spacingPropTypes","createSpacingClasses","AlignmentHelper","Space","FormLabel","FormStatus","Flex","Context","Suffix","RadioGroupContext","RadioGroup","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","value","_value","constructor","_defineProperty","_ref","event","setState","_refInput","createRef","_id","id","_name","name","render","_this$context","_this$context2","defaultProps","context","FormRow","formElement","status","status_state","status_props","status_no_animation","globalStatus","suffix","label","label_direction","label_sr_only","label_position","vertical","layout_direction","size","disabled","skeleton","className","children","on_change","rest","_objectWithoutProperties","_excluded","showStatus","classes","params","_objectSpread","onChange","onChangeHandler","Fieldset","createElement","Provider","_AlignmentHelper","Container","direction","spacing","element","srOnly","_extends","role","show","text","text_id","width_selector","no_animation","title","undefined","attributes","test","String","process","env","NODE_ENV","propTypes","oneOfType","string","func","node","oneOf","bool","object","shape","message","_supportsSpacingProps"],"sources":["../../../../src/components/radio/RadioGroup.js"],"sourcesContent":["/**\n * Web RadioGroup Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n extendPropsWithContextInClassComponent,\n makeUniqueId,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n combineLabelledBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport Space from '../Space'\nimport FormLabel from '../FormLabel'\nimport FormStatus from '../FormStatus'\nimport Flex from '../Flex'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport RadioGroupContext from './RadioGroupContext'\n\n/**\n * The radio component is our enhancement of the classic radio button. It acts like a radio. Example: On/off, yes/no.\n */\nexport default class RadioGroup extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n label_position: PropTypes.oneOf(['left', 'right']),\n title: PropTypes.string,\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n name: PropTypes.string,\n size: PropTypes.oneOf(['default', 'medium', 'large']),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n layout_direction: PropTypes.oneOf(['column', 'row']),\n vertical: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n value: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n\n on_change: PropTypes.func,\n }\n\n static defaultProps = {\n label: null,\n label_direction: null,\n label_sr_only: null,\n label_position: null,\n title: null,\n disabled: null,\n skeleton: null,\n id: null,\n name: null,\n size: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n vertical: null,\n layout_direction: 'row',\n value: undefined,\n attributes: null,\n\n className: null,\n children: null,\n\n on_change: null,\n }\n\n static parseChecked = (state) => /true|on/.test(String(state))\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (props.value !== state._value) {\n state.value = props.value\n }\n if (typeof props.value !== 'undefined') {\n state._value = props.value\n }\n }\n state._listenForPropChanges = true\n\n return state\n }\n\n constructor(props) {\n super(props)\n this._refInput = React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this._name = props.name || this._id\n this.state = {\n _listenForPropChanges: true,\n }\n }\n\n onChangeHandler = ({ value, event }) => {\n this.setState({ value, _listenForPropChanges: false })\n dispatchCustomElementEvent(this, 'on_change', {\n value,\n event,\n })\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n RadioGroup.defaultProps,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.RadioGroup\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n label,\n label_direction,\n label_sr_only,\n label_position,\n vertical,\n layout_direction,\n size,\n disabled,\n skeleton,\n className,\n\n id: _id, // eslint-disable-line\n name: _name, // eslint-disable-line\n value: _value, // eslint-disable-line\n children, // eslint-disable-line\n on_change, // eslint-disable-line\n\n ...rest\n } = props\n\n const { value } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const classes = classnames(\n 'dnb-radio-group',\n status && `dnb-radio-group__status--${status_state}`,\n `dnb-radio-group--${layout_direction}`,\n 'dnb-form-component',\n createSpacingClasses(props),\n className\n )\n\n const params = {\n ...rest,\n }\n\n if (showStatus || suffix) {\n params['aria-describedby'] = combineDescribedBy(\n params,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (label) {\n params['aria-labelledby'] = combineLabelledBy(params, id + '-label')\n }\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n const context = {\n name: this._name,\n value,\n size,\n disabled,\n label_position,\n onChange: this.onChangeHandler,\n }\n\n const Fieldset = label ? 'fieldset' : 'div'\n\n return (\n <RadioGroupContext.Provider value={context}>\n <div className={classes}>\n <AlignmentHelper />\n <Fieldset>\n <Flex.Container\n // align=\"baseline\"\n direction={\n vertical || label_direction === 'vertical'\n ? 'vertical'\n : 'horizontal'\n }\n spacing={vertical ? 'x-small' : 'small'}\n >\n {label && (\n <FormLabel\n element=\"legend\"\n id={id + '-label'}\n srOnly={label_sr_only}\n >\n {label}\n </FormLabel>\n )}\n\n <Space\n element=\"span\"\n id={id}\n className=\"dnb-radio-group__shell\"\n role=\"radiogroup\"\n {...params}\n >\n {children}\n\n {suffix && (\n <Suffix\n className=\"dnb-radio-group__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text={status}\n state={status_state}\n text_id={id + '-status'} // used for \"aria-describedby\"\n width_selector={id + ', ' + id + '-label'}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n </Space>\n </Flex.Container>\n </Fieldset>\n </div>\n </RadioGroupContext.Provider>\n )\n }\n}\n\nRadioGroup._supportsSpacingProps = true\n"],"mappings":";;;;;;;;;AAOA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,SACEC,sCAAsC,EACtCC,YAAY,EACZC,qBAAqB,EACrBC,cAAc,EACdC,kBAAkB,EAClBC,iBAAiB,EACjBC,0BAA0B,QACrB,+BAA+B;AACtC,SAASC,oBAAoB,QAAQ,uCAAuC;AAC5E,SACEC,gBAAgB,EAChBC,oBAAoB,QACf,wBAAwB;AAC/B,OAAOC,eAAe,MAAM,8BAA8B;AAC1D,OAAOC,KAAK,MAAM,UAAU;AAC5B,OAAOC,SAAS,MAAM,cAAc;AACpC,OAAOC,UAAU,MAAM,eAAe;AACtC,OAAOC,IAAI,MAAM,SAAS;AAC1B,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,OAAOC,MAAM,MAAM,6BAA6B;AAChD,OAAOC,iBAAiB,MAAM,qBAAqB;AAKnD,eAAe,MAAMC,UAAU,SAASrB,KAAK,CAACsB,aAAa,CAAC;EAsF1D,OAAOC,wBAAwBA,CAACC,KAAK,EAAEC,KAAK,EAAE;IAC5C,IAAIA,KAAK,CAACC,qBAAqB,EAAE;MAC/B,IAAIF,KAAK,CAACG,KAAK,KAAKF,KAAK,CAACG,MAAM,EAAE;QAChCH,KAAK,CAACE,KAAK,GAAGH,KAAK,CAACG,KAAK;MAC3B;MACA,IAAI,OAAOH,KAAK,CAACG,KAAK,KAAK,WAAW,EAAE;QACtCF,KAAK,CAACG,MAAM,GAAGJ,KAAK,CAACG,KAAK;MAC5B;IACF;IACAF,KAAK,CAACC,qBAAqB,GAAG,IAAI;IAElC,OAAOD,KAAK;EACd;EAEAI,WAAWA,CAACL,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAAAM,eAAA,0BASIC,IAAA,IAAsB;MAAA,IAArB;QAAEJ,KAAK;QAAEK;MAAM,CAAC,GAAAD,IAAA;MACjC,IAAI,CAACE,QAAQ,CAAC;QAAEN,KAAK;QAAED,qBAAqB,EAAE;MAAM,CAAC,CAAC;MACtDjB,0BAA0B,CAAC,IAAI,EAAE,WAAW,EAAE;QAC5CkB,KAAK;QACLK;MACF,CAAC,CAAC;IACJ,CAAC;IAdC,IAAI,CAACE,SAAS,GAAGlC,KAAK,CAACmC,SAAS,CAAC,CAAC;IAClC,IAAI,CAACC,GAAG,GAAGZ,KAAK,CAACa,EAAE,IAAIjC,YAAY,CAAC,CAAC;IACrC,IAAI,CAACkC,KAAK,GAAGd,KAAK,CAACe,IAAI,IAAI,IAAI,CAACH,GAAG;IACnC,IAAI,CAACX,KAAK,GAAG;MACXC,qBAAqB,EAAE;IACzB,CAAC;EACH;EAUAc,MAAMA,CAAA,EAAG;IAAA,IAAAC,aAAA,EAAAC,cAAA;IAEP,MAAMlB,KAAK,GAAGrB,sCAAsC,CAClD,IAAI,CAACqB,KAAK,EACVH,UAAU,CAACsB,YAAY,EAEvBjC,oBAAoB,EAAA+B,aAAA,GAAC,IAAI,CAACG,OAAO,cAAAH,aAAA,uBAAZA,aAAA,CAAcI,OAAO,CAAC,EAC3CnC,oBAAoB,EAAAgC,cAAA,GAAC,IAAI,CAACE,OAAO,cAAAF,cAAA,uBAAZA,cAAA,CAAcI,WAAW,CAAC,EAC/C,IAAI,CAACF,OAAO,CAACvB,UACf,CAAC;IAED,MAAM;QACJ0B,MAAM;QACNC,YAAY;QACZC,YAAY;QACZC,mBAAmB;QACnBC,YAAY;QACZC,MAAM;QACNC,KAAK;QACLC,eAAe;QACfC,aAAa;QACbC,cAAc;QACdC,QAAQ;QACRC,gBAAgB;QAChBC,IAAI;QACJC,QAAQ;QACRC,QAAQ;QACRC,SAAS;QAETzB,EAAE,EAAED,GAAG;QACPG,IAAI,EAAED,KAAK;QACXX,KAAK,EAAEC,MAAM;QACbmC,QAAQ;QACRC;MAGF,CAAC,GAAGxC,KAAK;MADJyC,IAAI,GAAAC,wBAAA,CACL1C,KAAK,EAAA2C,SAAA;IAET,MAAM;MAAExC;IAAM,CAAC,GAAG,IAAI,CAACF,KAAK;IAE5B,MAAMY,EAAE,GAAG,IAAI,CAACD,GAAG;IACnB,MAAMgC,UAAU,GAAG9D,cAAc,CAACyC,MAAM,CAAC;IAEzC,MAAMsB,OAAO,GAAGnE,UAAU,qCAGJwD,gBAAgB,uBAEpC9C,oBAAoB,CAACY,KAAK,CAAC,EAC3BsC,SAAS,EAJTf,MAAM,IAAK,4BAA2BC,YAAa,EAKrD,CAAC;IAED,MAAMsB,MAAM,GAAAC,aAAA,KACPN,IAAI,CACR;IAED,IAAIG,UAAU,IAAIhB,MAAM,EAAE;MACxBkB,MAAM,CAAC,kBAAkB,CAAC,GAAG/D,kBAAkB,CAC7C+D,MAAM,EACNF,UAAU,GAAG/B,EAAE,GAAG,SAAS,GAAG,IAAI,EAClCe,MAAM,GAAGf,EAAE,GAAG,SAAS,GAAG,IAC5B,CAAC;IACH;IACA,IAAIgB,KAAK,EAAE;MACTiB,MAAM,CAAC,iBAAiB,CAAC,GAAG9D,iBAAiB,CAAC8D,MAAM,EAAEjC,EAAE,GAAG,QAAQ,CAAC;IACtE;IAGAhC,qBAAqB,CAAC,IAAI,CAACmB,KAAK,EAAE8C,MAAM,CAAC;IAEzC,MAAM1B,OAAO,GAAG;MACdL,IAAI,EAAE,IAAI,CAACD,KAAK;MAChBX,KAAK;MACLgC,IAAI;MACJC,QAAQ;MACRJ,cAAc;MACdgB,QAAQ,EAAE,IAAI,CAACC;IACjB,CAAC;IAED,MAAMC,QAAQ,GAAGrB,KAAK,GAAG,UAAU,GAAG,KAAK;IAE3C,OACErD,KAAA,CAAA2E,aAAA,CAACvD,iBAAiB,CAACwD,QAAQ;MAACjD,KAAK,EAAEiB;IAAQ,GACzC5C,KAAA,CAAA2E,aAAA;MAAKb,SAAS,EAAEO;IAAQ,GAAAQ,gBAAA,KAAAA,gBAAA,GACtB7E,KAAA,CAAA2E,aAAA,CAAC9D,eAAe,MAAE,CAAC,GACnBb,KAAA,CAAA2E,aAAA,CAACD,QAAQ,QACP1E,KAAA,CAAA2E,aAAA,CAAC1D,IAAI,CAAC6D,SAAS;MAEbC,SAAS,EACPtB,QAAQ,IAAIH,eAAe,KAAK,UAAU,GACtC,UAAU,GACV,YACL;MACD0B,OAAO,EAAEvB,QAAQ,GAAG,SAAS,GAAG;IAAQ,GAEvCJ,KAAK,IACJrD,KAAA,CAAA2E,aAAA,CAAC5D,SAAS;MACRkE,OAAO,EAAC,QAAQ;MAChB5C,EAAE,EAAEA,EAAE,GAAG,QAAS;MAClB6C,MAAM,EAAE3B;IAAc,GAErBF,KACQ,CACZ,EAEDrD,KAAA,CAAA2E,aAAA,CAAC7D,KAAK,EAAAqE,QAAA;MACJF,OAAO,EAAC,MAAM;MACd5C,EAAE,EAAEA,EAAG;MACPyB,SAAS,EAAC,wBAAwB;MAClCsB,IAAI,EAAC;IAAY,GACbd,MAAM,GAETP,QAAQ,EAERX,MAAM,IACLpD,KAAA,CAAA2E,aAAA,CAACxD,MAAM;MACL2C,SAAS,EAAC,yBAAyB;MACnCzB,EAAE,EAAEA,EAAE,GAAG,SAAU;MACnBO,OAAO,EAAEpB;IAAM,GAEd4B,MACK,CACT,EAEDpD,KAAA,CAAA2E,aAAA,CAAC3D,UAAU,EAAAmE,QAAA;MACTE,IAAI,EAAEjB,UAAW;MACjB/B,EAAE,EAAEA,EAAE,GAAG,cAAe;MACxBc,YAAY,EAAEA,YAAa;MAC3BE,KAAK,EAAEA,KAAM;MACbiC,IAAI,EAAEvC,MAAO;MACbtB,KAAK,EAAEuB,YAAa;MACpBuC,OAAO,EAAElD,EAAE,GAAG,SAAU;MACxBmD,cAAc,EAAEnD,EAAE,GAAG,IAAI,GAAGA,EAAE,GAAG,QAAS;MAC1CoD,YAAY,EAAEvC,mBAAoB;MAClCW,QAAQ,EAAEA;IAAS,GACfZ,YAAY,CACjB,CACI,CACO,CACR,CACP,CACqB,CAAC;EAEjC;AACF;AAACnB,eAAA,CAtQoBT,UAAU,iBACRH,OAAO;AAAAY,eAAA,CADTT,UAAU,kBAwDP;EACpBgC,KAAK,EAAE,IAAI;EACXC,eAAe,EAAE,IAAI;EACrBC,aAAa,EAAE,IAAI;EACnBC,cAAc,EAAE,IAAI;EACpBkC,KAAK,EAAE,IAAI;EACX9B,QAAQ,EAAE,IAAI;EACdC,QAAQ,EAAE,IAAI;EACdxB,EAAE,EAAE,IAAI;EACRE,IAAI,EAAE,IAAI;EACVoB,IAAI,EAAE,IAAI;EACVZ,MAAM,EAAE,IAAI;EACZC,YAAY,EAAE,OAAO;EACrBC,YAAY,EAAE,IAAI;EAClBC,mBAAmB,EAAE,IAAI;EACzBC,YAAY,EAAE,IAAI;EAClBC,MAAM,EAAE,IAAI;EACZK,QAAQ,EAAE,IAAI;EACdC,gBAAgB,EAAE,KAAK;EACvB/B,KAAK,EAAEgE,SAAS;EAChBC,UAAU,EAAE,IAAI;EAEhB9B,SAAS,EAAE,IAAI;EACfC,QAAQ,EAAE,IAAI;EAEdC,SAAS,EAAE;AACb,CAAC;AAAAlC,eAAA,CAlFkBT,UAAU,kBAoFNI,KAAK,IAAK,SAAS,CAACoE,IAAI,CAACC,MAAM,CAACrE,KAAK,CAAC,CAAC;AAAAsE,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBApF3C5E,UAAU,CAGtB6E,SAAS,GAAA3B,aAAA,CAAAA,aAAA;EACdlB,KAAK,EAAEpD,SAAS,CAACkG,SAAS,CAAC,CACzBlG,SAAS,CAACmG,MAAM,EAChBnG,SAAS,CAACoG,IAAI,EACdpG,SAAS,CAACqG,IAAI,CACf,CAAC;EACFhD,eAAe,EAAErD,SAAS,CAACsG,KAAK,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;EAC5DhD,aAAa,EAAEtD,SAAS,CAACkG,SAAS,CAAC,CAAClG,SAAS,CAACmG,MAAM,EAAEnG,SAAS,CAACuG,IAAI,CAAC,CAAC;EACtEhD,cAAc,EAAEvD,SAAS,CAACsG,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EAClDb,KAAK,EAAEzF,SAAS,CAACmG,MAAM;EACvBxC,QAAQ,EAAE3D,SAAS,CAACkG,SAAS,CAAC,CAAClG,SAAS,CAACmG,MAAM,EAAEnG,SAAS,CAACuG,IAAI,CAAC,CAAC;EACjE3C,QAAQ,EAAE5D,SAAS,CAACkG,SAAS,CAAC,CAAClG,SAAS,CAACmG,MAAM,EAAEnG,SAAS,CAACuG,IAAI,CAAC,CAAC;EACjEnE,EAAE,EAAEpC,SAAS,CAACmG,MAAM;EACpB7D,IAAI,EAAEtC,SAAS,CAACmG,MAAM;EACtBzC,IAAI,EAAE1D,SAAS,CAACsG,KAAK,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;EACrDxD,MAAM,EAAE9C,SAAS,CAACkG,SAAS,CAAC,CAC1BlG,SAAS,CAACmG,MAAM,EAChBnG,SAAS,CAACuG,IAAI,EACdvG,SAAS,CAACoG,IAAI,EACdpG,SAAS,CAACqG,IAAI,CACf,CAAC;EACFtD,YAAY,EAAE/C,SAAS,CAACmG,MAAM;EAC9BnD,YAAY,EAAEhD,SAAS,CAACwG,MAAM;EAC9BvD,mBAAmB,EAAEjD,SAAS,CAACkG,SAAS,CAAC,CACvClG,SAAS,CAACmG,MAAM,EAChBnG,SAAS,CAACuG,IAAI,CACf,CAAC;EACFrD,YAAY,EAAElD,SAAS,CAACyG,KAAK,CAAC;IAC5BrE,EAAE,EAAEpC,SAAS,CAACmG,MAAM;IACpBO,OAAO,EAAE1G,SAAS,CAACkG,SAAS,CAAC,CAAClG,SAAS,CAACmG,MAAM,EAAEnG,SAAS,CAACqG,IAAI,CAAC;EACjE,CAAC,CAAC;EACFlD,MAAM,EAAEnD,SAAS,CAACkG,SAAS,CAAC,CAC1BlG,SAAS,CAACmG,MAAM,EAChBnG,SAAS,CAACoG,IAAI,EACdpG,SAAS,CAACqG,IAAI,CACf,CAAC;EACF5C,gBAAgB,EAAEzD,SAAS,CAACsG,KAAK,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;EACpD9C,QAAQ,EAAExD,SAAS,CAACkG,SAAS,CAAC,CAAClG,SAAS,CAACmG,MAAM,EAAEnG,SAAS,CAACuG,IAAI,CAAC,CAAC;EACjE7E,KAAK,EAAE1B,SAAS,CAACmG,MAAM;EACvBR,UAAU,EAAE3F,SAAS,CAACkG,SAAS,CAAC,CAAClG,SAAS,CAACmG,MAAM,EAAEnG,SAAS,CAACwG,MAAM,CAAC;AAAC,GAElE9F,gBAAgB;EAEnBmD,SAAS,EAAE7D,SAAS,CAACmG,MAAM;EAC3BrC,QAAQ,EAAE9D,SAAS,CAACkG,SAAS,CAAC,CAC5BlG,SAAS,CAACmG,MAAM,EAChBnG,SAAS,CAACoG,IAAI,EACdpG,SAAS,CAACqG,IAAI,CACf,CAAC;EAEFtC,SAAS,EAAE/D,SAAS,CAACoG;AAAI;AAmN7BhF,UAAU,CAACuF,qBAAqB,GAAG,IAAI"}
@@ -1 +1 @@
1
- {"version":3,"file":"Skeleton.js","names":["React","PropTypes","classnames","extendPropsWithContextInClassComponent","validateDOMAttributes","isTrue","LOCALE","Space","spacingPropTypes","createSpacingClasses","Context","Provider","Skeleton","PureComponent","constructor","props","state","ariaLiveUpdate","componentWillUnmount","clearTimeout","_ariaLiveUpdateTimeout","componentDidUpdate","prevProps","show","setAriaLiveUpdate","getProps","arguments","length","undefined","context","defaultProps","skeleton","no_animation","skeleton_no_animation","getTranslation","setTimeout","aria_busy","aria_ready","newString","setState","render","figure","className","children","attributes","_objectWithoutProperties","_excluded","showSkeleton","params","_objectSpread","lang","locale","createElement","_defineProperty","element","process","env","NODE_ENV","propTypes","oneOfType","string","bool","func","node","Exclude","_extends","_supportsSpacingProps"],"sources":["../../../../src/components/skeleton/Skeleton.js"],"sourcesContent":["/**\n * Web Skeleton Component\n *\n * This is a legacy component.\n * For refferencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n isTrue,\n} from '../../shared/component-helper'\nimport { LOCALE } from '../../shared/defaults'\nimport Space from '../space/Space'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport Context from '../../shared/Context'\nimport Provider from '../../shared/Provider'\n\nexport default class Skeleton extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n show: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n figure: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n aria_busy: PropTypes.string,\n aria_ready: PropTypes.string,\n element: PropTypes.node,\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n }\n\n static defaultProps = {\n show: null,\n skeleton: null, // only to make sure we process extendPropsWithContextInClassComponent\n no_animation: null,\n figure: null,\n aria_busy: null,\n aria_ready: null,\n element: null,\n className: null,\n children: null,\n }\n\n constructor(props) {\n super(props)\n this.state = { ariaLiveUpdate: null }\n }\n\n componentWillUnmount() {\n clearTimeout(this._ariaLiveUpdateTimeout)\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.show !== this.props.show) {\n this.setAriaLiveUpdate()\n }\n }\n\n getProps(props = this.props, context = this.context) {\n return extendPropsWithContextInClassComponent(\n props,\n Skeleton.defaultProps,\n {\n skeleton: context.Skeleton || context.skeleton,\n no_animation: context.skeleton_no_animation,\n },\n context.getTranslation(props).Skeleton\n )\n }\n\n setAriaLiveUpdate() {\n // this is only to make a better screen reader ux\n clearTimeout(this._ariaLiveUpdateTimeout)\n this._ariaLiveUpdateTimeout = setTimeout(() => {\n const { aria_busy, aria_ready } = this.getProps()\n\n let newString = null\n\n if (isTrue(this.props.show)) {\n newString = aria_busy\n } else {\n newString = aria_ready\n }\n\n if (newString) {\n this.setState({\n ariaLiveUpdate: newString,\n })\n this._ariaLiveUpdateTimeout = setTimeout(() => {\n this.setState({\n ariaLiveUpdate: null,\n })\n }, 1e3)\n }\n }, 1e3) // so that the input gets read out first, and then the results\n }\n\n render() {\n // consume the skeleton context\n const props = this.getProps()\n\n const {\n show,\n no_animation,\n figure,\n skeleton,\n aria_busy,\n aria_ready, // eslint-disable-line\n className,\n children,\n\n ...attributes\n } = props\n\n const { ariaLiveUpdate } = this.state\n\n const showSkeleton =\n typeof show === 'boolean' || typeof show === 'string'\n ? isTrue(show)\n : skeleton\n\n const params = {\n className: classnames(\n figure ? 'dnb-skeleton__figure' : 'dnb-skeleton__root',\n isTrue(showSkeleton) && 'dnb-skeleton',\n isTrue(no_animation) && 'dnb-skeleton--no-animation',\n createSpacingClasses(props),\n className\n ),\n // role: 'status',// is not needed as for now\n 'aria-busy': showSkeleton,\n 'aria-label': showSkeleton ? aria_busy : undefined,\n lang: this.context.locale || LOCALE,\n ...attributes,\n }\n\n validateDOMAttributes(props, params)\n\n return (\n <Space {...params}>\n {figure ? (\n showSkeleton ? (\n typeof figure === 'function' ? (\n figure()\n ) : (\n figure\n )\n ) : (\n children\n )\n ) : (\n <Provider\n skeleton={showSkeleton}\n skeleton_no_animation={no_animation}\n >\n {children}\n </Provider>\n )}\n <span className=\"dnb-sr-only\" aria-live=\"assertive\">\n {ariaLiveUpdate}\n </span>\n </Space>\n )\n }\n}\n\nfunction Exclude(props) {\n return <Provider {...props} skeleton={false} />\n}\n\nSkeleton.Exclude = Exclude\n\nSkeleton._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"Skeleton.js","names":["React","PropTypes","classnames","extendPropsWithContextInClassComponent","validateDOMAttributes","isTrue","LOCALE","Space","spacingPropTypes","createSpacingClasses","Context","Provider","Skeleton","PureComponent","constructor","props","state","ariaLiveUpdate","componentWillUnmount","clearTimeout","_ariaLiveUpdateTimeout","componentDidUpdate","prevProps","show","setAriaLiveUpdate","getProps","arguments","length","undefined","context","defaultProps","skeleton","no_animation","skeleton_no_animation","getTranslation","setTimeout","aria_busy","aria_ready","newString","setState","render","figure","className","children","attributes","_objectWithoutProperties","_excluded","showSkeleton","params","_objectSpread","lang","locale","createElement","_defineProperty","element","process","env","NODE_ENV","propTypes","oneOfType","string","bool","func","node","Exclude","_extends","_supportsSpacingProps"],"sources":["../../../../src/components/skeleton/Skeleton.js"],"sourcesContent":["/**\n * Web Skeleton Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n isTrue,\n} from '../../shared/component-helper'\nimport { LOCALE } from '../../shared/defaults'\nimport Space from '../space/Space'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport Context from '../../shared/Context'\nimport Provider from '../../shared/Provider'\n\nexport default class Skeleton extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n show: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n figure: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n aria_busy: PropTypes.string,\n aria_ready: PropTypes.string,\n element: PropTypes.node,\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n }\n\n static defaultProps = {\n show: null,\n skeleton: null, // only to make sure we process extendPropsWithContextInClassComponent\n no_animation: null,\n figure: null,\n aria_busy: null,\n aria_ready: null,\n element: null,\n className: null,\n children: null,\n }\n\n constructor(props) {\n super(props)\n this.state = { ariaLiveUpdate: null }\n }\n\n componentWillUnmount() {\n clearTimeout(this._ariaLiveUpdateTimeout)\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.show !== this.props.show) {\n this.setAriaLiveUpdate()\n }\n }\n\n getProps(props = this.props, context = this.context) {\n return extendPropsWithContextInClassComponent(\n props,\n Skeleton.defaultProps,\n {\n skeleton: context.Skeleton || context.skeleton,\n no_animation: context.skeleton_no_animation,\n },\n context.getTranslation(props).Skeleton\n )\n }\n\n setAriaLiveUpdate() {\n // this is only to make a better screen reader ux\n clearTimeout(this._ariaLiveUpdateTimeout)\n this._ariaLiveUpdateTimeout = setTimeout(() => {\n const { aria_busy, aria_ready } = this.getProps()\n\n let newString = null\n\n if (isTrue(this.props.show)) {\n newString = aria_busy\n } else {\n newString = aria_ready\n }\n\n if (newString) {\n this.setState({\n ariaLiveUpdate: newString,\n })\n this._ariaLiveUpdateTimeout = setTimeout(() => {\n this.setState({\n ariaLiveUpdate: null,\n })\n }, 1e3)\n }\n }, 1e3) // so that the input gets read out first, and then the results\n }\n\n render() {\n // consume the skeleton context\n const props = this.getProps()\n\n const {\n show,\n no_animation,\n figure,\n skeleton,\n aria_busy,\n aria_ready, // eslint-disable-line\n className,\n children,\n\n ...attributes\n } = props\n\n const { ariaLiveUpdate } = this.state\n\n const showSkeleton =\n typeof show === 'boolean' || typeof show === 'string'\n ? isTrue(show)\n : skeleton\n\n const params = {\n className: classnames(\n figure ? 'dnb-skeleton__figure' : 'dnb-skeleton__root',\n isTrue(showSkeleton) && 'dnb-skeleton',\n isTrue(no_animation) && 'dnb-skeleton--no-animation',\n createSpacingClasses(props),\n className\n ),\n // role: 'status',// is not needed as for now\n 'aria-busy': showSkeleton,\n 'aria-label': showSkeleton ? aria_busy : undefined,\n lang: this.context.locale || LOCALE,\n ...attributes,\n }\n\n validateDOMAttributes(props, params)\n\n return (\n <Space {...params}>\n {figure ? (\n showSkeleton ? (\n typeof figure === 'function' ? (\n figure()\n ) : (\n figure\n )\n ) : (\n children\n )\n ) : (\n <Provider\n skeleton={showSkeleton}\n skeleton_no_animation={no_animation}\n >\n {children}\n </Provider>\n )}\n <span className=\"dnb-sr-only\" aria-live=\"assertive\">\n {ariaLiveUpdate}\n </span>\n </Space>\n )\n }\n}\n\nfunction Exclude(props) {\n return <Provider {...props} skeleton={false} />\n}\n\nSkeleton.Exclude = Exclude\n\nSkeleton._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.js","names":["React","PropTypes","classnames","keycode","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","dispatchCustomElementEvent","pickFormElementProps","AlignmentHelper","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","Context","Suffix","FormLabel","FormStatus","Switch","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","constructor","_defineProperty","event","onChangeHandler","readOnly","preventDefault","setState","on_change_end","clearTimeout","_onChangeEndId","persist","setTimeout","_refInput","current","focus","createRef","_id","id","helperParams","onMouseDown","e","componentDidMount","innerRef","componentWillUnmount","render","_this$context","_this$context2","_this$context3","defaultProps","skeleton","context","getTranslation","FormRow","formElement","value","size","status","status_state","status_props","globalStatus","status_no_animation","suffix","label","label_position","label_sr_only","title","disabled","className","children","on_change","on_state_update","rest","_objectWithoutProperties","_excluded","showStatus","mainParams","inputParams","_objectSpread","labelComp","createElement","for_id","text","sr_only","_AlignmentHelper","_extends","show","text_id","width_selector","no_animation","name","type","role","ref","onChange","onKeyDown","onKeyDownHandler","draggable","onDragStart","_span","attributes","test","String","process","env","NODE_ENV","propTypes","oneOfType","string","func","node","oneOf","bool","object","shape","message","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/switch/Switch.js"],"sourcesContent":["/**\n * Web Switch Component\n *\n * This is a legacy component.\n * For refferencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\n\n/**\n * The switch component is our enhancement of the classic radio button. It acts like a switch. Example: On/off, yes/no.\n */\nexport default class Switch extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_position: PropTypes.oneOf(['left', 'right']),\n label_sr_only: PropTypes.bool,\n title: PropTypes.string,\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n size: PropTypes.oneOf(['default', 'medium', 'large']),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n value: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_change_end: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n label: null,\n label_position: null,\n label_sr_only: null,\n title: null,\n checked: null,\n disabled: null,\n id: null,\n size: null,\n status: null,\n status_state: 'error',\n status_props: null,\n globalStatus: null,\n status_no_animation: null,\n suffix: null,\n value: null,\n attributes: null,\n readOnly: false,\n skeleton: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_change_end: null,\n on_state_update: null,\n\n innerRef: null,\n }\n\n static parseChecked = (state) => /true|on/.test(String(state))\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (props.checked !== state._checked) {\n state.checked = Switch.parseChecked(props.checked)\n }\n }\n state._listenForPropChanges = true\n\n if (state.checked !== state.__checked) {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n checked: state.checked,\n })\n }\n\n state._checked = props.checked\n state.__checked = state.checked\n\n return state\n }\n\n constructor(props) {\n super(props)\n this._refInput = React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this.state = {\n _listenForPropChanges: true,\n }\n this.helperParams = { onMouseDown: (e) => e.preventDefault() }\n }\n\n componentDidMount() {\n if (this.props.innerRef) {\n typeof this.props.innerRef === 'function'\n ? this.props.innerRef(this._refInput.current)\n : (this.props.innerRef.current = this._refInput.current)\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this._onChangeEndId)\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onChangeHandler(event)\n break\n }\n }\n\n onChangeHandler = (event) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n const checked = !this.state.checked\n this.setState({ checked, _listenForPropChanges: false })\n dispatchCustomElementEvent(this, 'on_change', { checked, event })\n\n if (this.props.on_change_end) {\n clearTimeout(this._onChangeEndId)\n if (event && event.persist) {\n event.persist()\n }\n this._onChangeEndId = setTimeout(\n () =>\n dispatchCustomElementEvent(this, 'on_change_end', {\n checked,\n event,\n }),\n 500\n )\n }\n\n // help firefox and safari to have an correct state after a click\n if (this._refInput.current) {\n this._refInput.current.focus()\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Switch.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Switch,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Switch\n )\n\n const {\n value,\n size,\n status,\n status_state,\n status_props,\n globalStatus,\n status_no_animation,\n suffix,\n label,\n label_position,\n label_sr_only,\n title,\n disabled,\n readOnly,\n skeleton,\n className,\n\n id: _id, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n children, // eslint-disable-line\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n innerRef, // eslint-disable-line\n\n ...rest\n } = props\n\n const { checked } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-switch',\n size && `dnb-switch--${size}`,\n status && `dnb-switch__status--${status_state}`,\n `dnb-switch--label-position-${label_position || 'right'}`,\n 'dnb-form-component',\n createSkeletonClass(null, skeleton),\n createSpacingClasses(props),\n className\n ),\n }\n\n const inputParams = {\n disabled: isTrue(disabled),\n checked,\n ...rest,\n }\n\n skeletonDOMAttributes(inputParams, skeleton, this.context)\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 validateDOMAttributes(this.props, inputParams)\n\n const labelComp = label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n sr_only={label_sr_only}\n />\n )\n\n return (\n <span {...mainParams}>\n <span className=\"dnb-switch__order\">\n {label_position === 'left' && labelComp}\n\n <span className=\"dnb-switch__inner\">\n <AlignmentHelper />\n\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={status_state}\n skeleton={skeleton}\n no_animation={status_no_animation}\n {...status_props}\n />\n\n <span className=\"dnb-switch__shell\">\n {(label_position === 'right' || !label_position) &&\n labelComp}\n\n <span className=\"dnb-switch__row\">\n <input\n id={id}\n name={id}\n type=\"checkbox\"\n role=\"switch\"\n title={title}\n aria-checked={checked}\n className=\"dnb-switch__input\"\n value={checked ? value || '' : ''}\n ref={this._refInput}\n {...inputParams}\n onChange={this.onChangeHandler}\n onKeyDown={this.onKeyDownHandler}\n />\n <span\n draggable\n aria-hidden\n className=\"dnb-switch__background\"\n onDragStart={this.onChangeHandler}\n {...this.helperParams}\n />\n <span\n className={classnames(\n 'dnb-switch__button',\n createSkeletonClass('shape', skeleton, this.context)\n )}\n aria-hidden\n >\n <span className=\"dnb-switch__focus\">\n <span className=\"dnb-switch__focus__inner\" />\n </span>\n </span>\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-switch__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n </span>\n )\n }\n}\n\nSwitch._formElement = true\nSwitch._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"Switch.js","names":["React","PropTypes","classnames","keycode","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","dispatchCustomElementEvent","pickFormElementProps","AlignmentHelper","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","Context","Suffix","FormLabel","FormStatus","Switch","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","constructor","_defineProperty","event","onChangeHandler","readOnly","preventDefault","setState","on_change_end","clearTimeout","_onChangeEndId","persist","setTimeout","_refInput","current","focus","createRef","_id","id","helperParams","onMouseDown","e","componentDidMount","innerRef","componentWillUnmount","render","_this$context","_this$context2","_this$context3","defaultProps","skeleton","context","getTranslation","FormRow","formElement","value","size","status","status_state","status_props","globalStatus","status_no_animation","suffix","label","label_position","label_sr_only","title","disabled","className","children","on_change","on_state_update","rest","_objectWithoutProperties","_excluded","showStatus","mainParams","inputParams","_objectSpread","labelComp","createElement","for_id","text","sr_only","_AlignmentHelper","_extends","show","text_id","width_selector","no_animation","name","type","role","ref","onChange","onKeyDown","onKeyDownHandler","draggable","onDragStart","_span","attributes","test","String","process","env","NODE_ENV","propTypes","oneOfType","string","func","node","oneOf","bool","object","shape","message","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/switch/Switch.js"],"sourcesContent":["/**\n * Web Switch Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\n\n/**\n * The switch component is our enhancement of the classic radio button. It acts like a switch. Example: On/off, yes/no.\n */\nexport default class Switch extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_position: PropTypes.oneOf(['left', 'right']),\n label_sr_only: PropTypes.bool,\n title: PropTypes.string,\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n size: PropTypes.oneOf(['default', 'medium', 'large']),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n value: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_change_end: PropTypes.func,\n on_state_update: PropTypes.func,\n }\n\n static defaultProps = {\n label: null,\n label_position: null,\n label_sr_only: null,\n title: null,\n checked: null,\n disabled: null,\n id: null,\n size: null,\n status: null,\n status_state: 'error',\n status_props: null,\n globalStatus: null,\n status_no_animation: null,\n suffix: null,\n value: null,\n attributes: null,\n readOnly: false,\n skeleton: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_change_end: null,\n on_state_update: null,\n\n innerRef: null,\n }\n\n static parseChecked = (state) => /true|on/.test(String(state))\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (props.checked !== state._checked) {\n state.checked = Switch.parseChecked(props.checked)\n }\n }\n state._listenForPropChanges = true\n\n if (state.checked !== state.__checked) {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n checked: state.checked,\n })\n }\n\n state._checked = props.checked\n state.__checked = state.checked\n\n return state\n }\n\n constructor(props) {\n super(props)\n this._refInput = React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this.state = {\n _listenForPropChanges: true,\n }\n this.helperParams = { onMouseDown: (e) => e.preventDefault() }\n }\n\n componentDidMount() {\n if (this.props.innerRef) {\n typeof this.props.innerRef === 'function'\n ? this.props.innerRef(this._refInput.current)\n : (this.props.innerRef.current = this._refInput.current)\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this._onChangeEndId)\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onChangeHandler(event)\n break\n }\n }\n\n onChangeHandler = (event) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n const checked = !this.state.checked\n this.setState({ checked, _listenForPropChanges: false })\n dispatchCustomElementEvent(this, 'on_change', { checked, event })\n\n if (this.props.on_change_end) {\n clearTimeout(this._onChangeEndId)\n if (event && event.persist) {\n event.persist()\n }\n this._onChangeEndId = setTimeout(\n () =>\n dispatchCustomElementEvent(this, 'on_change_end', {\n checked,\n event,\n }),\n 500\n )\n }\n\n // help firefox and safari to have an correct state after a click\n if (this._refInput.current) {\n this._refInput.current.focus()\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Switch.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Switch,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Switch\n )\n\n const {\n value,\n size,\n status,\n status_state,\n status_props,\n globalStatus,\n status_no_animation,\n suffix,\n label,\n label_position,\n label_sr_only,\n title,\n disabled,\n readOnly,\n skeleton,\n className,\n\n id: _id, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n children, // eslint-disable-line\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n innerRef, // eslint-disable-line\n\n ...rest\n } = props\n\n const { checked } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-switch',\n size && `dnb-switch--${size}`,\n status && `dnb-switch__status--${status_state}`,\n `dnb-switch--label-position-${label_position || 'right'}`,\n 'dnb-form-component',\n createSkeletonClass(null, skeleton),\n createSpacingClasses(props),\n className\n ),\n }\n\n const inputParams = {\n disabled: isTrue(disabled),\n checked,\n ...rest,\n }\n\n skeletonDOMAttributes(inputParams, skeleton, this.context)\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 validateDOMAttributes(this.props, inputParams)\n\n const labelComp = label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n sr_only={label_sr_only}\n />\n )\n\n return (\n <span {...mainParams}>\n <span className=\"dnb-switch__order\">\n {label_position === 'left' && labelComp}\n\n <span className=\"dnb-switch__inner\">\n <AlignmentHelper />\n\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={status_state}\n skeleton={skeleton}\n no_animation={status_no_animation}\n {...status_props}\n />\n\n <span className=\"dnb-switch__shell\">\n {(label_position === 'right' || !label_position) &&\n labelComp}\n\n <span className=\"dnb-switch__row\">\n <input\n id={id}\n name={id}\n type=\"checkbox\"\n role=\"switch\"\n title={title}\n aria-checked={checked}\n className=\"dnb-switch__input\"\n value={checked ? value || '' : ''}\n ref={this._refInput}\n {...inputParams}\n onChange={this.onChangeHandler}\n onKeyDown={this.onKeyDownHandler}\n />\n <span\n draggable\n aria-hidden\n className=\"dnb-switch__background\"\n onDragStart={this.onChangeHandler}\n {...this.helperParams}\n />\n <span\n className={classnames(\n 'dnb-switch__button',\n createSkeletonClass('shape', skeleton, this.context)\n )}\n aria-hidden\n >\n <span className=\"dnb-switch__focus\">\n <span className=\"dnb-switch__focus__inner\" />\n </span>\n </span>\n </span>\n\n {suffix && (\n <Suffix\n className=\"dnb-switch__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n </span>\n )\n }\n}\n\nSwitch._formElement = true\nSwitch._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -54,6 +54,12 @@ export type TableProps = {
54
54
  * Default: null.
55
55
  */
56
56
  fixed?: boolean;
57
+ /**
58
+ * ref handle to collapse all expanded accordion rows. Send in a ref and use `.current()` to collapse all rows.
59
+ *
60
+ * Default: `undefined`
61
+ */
62
+ collapseAllHandleRef?: React.MutableRefObject<() => void>;
57
63
  } & StickyTableHeaderProps;
58
64
  export type TableAllProps = TableProps & Omit<React.TableHTMLAttributes<HTMLTableElement>, 'border'> & LocaleProps & SpacingProps;
59
65
  export declare const defaultProps: {
@@ -3,10 +3,10 @@
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
5
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
6
- const _excluded = ["className", "children", "size", "skeleton", "variant", "sticky", "stickyOffset", "fixed", "border", "outline", "accordion", "accordionChevronPlacement"];
6
+ const _excluded = ["className", "children", "size", "skeleton", "variant", "sticky", "stickyOffset", "fixed", "border", "outline", "accordion", "accordionChevronPlacement", "collapseAllHandleRef"];
7
7
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
8
8
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9
- import React from 'react';
9
+ import React, { useEffect } from 'react';
10
10
  import classnames from 'classnames';
11
11
  import Context from '../../shared/Context';
12
12
  import Provider from '../../shared/Provider';
@@ -39,7 +39,8 @@ const Table = componentProps => {
39
39
  border,
40
40
  outline,
41
41
  accordion,
42
- accordionChevronPlacement
42
+ accordionChevronPlacement,
43
+ collapseAllHandleRef
43
44
  } = allProps,
44
45
  props = _objectWithoutProperties(allProps, _excluded);
45
46
  const {
@@ -51,6 +52,14 @@ const Table = componentProps => {
51
52
  } = useHandleOddEven({
52
53
  children
53
54
  });
55
+ const collapseTrCallbacks = React.useRef([]);
56
+ useEffect(() => {
57
+ if (collapseAllHandleRef) {
58
+ collapseAllHandleRef.current = () => {
59
+ collapseTrCallbacks.current.forEach(callback => callback());
60
+ };
61
+ }
62
+ }, [collapseAllHandleRef]);
54
63
  const skeletonClasses = createSkeletonClass('font', skeleton, context);
55
64
  const spacingClasses = createSpacingClasses(props);
56
65
  validateDOMAttributes(allProps, props);
@@ -60,6 +69,7 @@ const Table = componentProps => {
60
69
  value: {
61
70
  trCountRef,
62
71
  rerenderAlias,
72
+ collapseTrCallbacks,
63
73
  allProps: _objectSpread(_objectSpread({}, allProps), context.getTranslation(componentProps).Table)
64
74
  }
65
75
  }, React.createElement("table", _extends({
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","names":["React","classnames","Context","Provider","createSpacingClasses","createSkeletonClass","extendPropsWithContext","validateDOMAttributes","ScrollView","TableContext","useStickyHeader","useHandleOddEven","defaultProps","size","variant","Table","componentProps","context","useContext","allProps","skeleton","className","children","sticky","stickyOffset","fixed","border","outline","accordion","accordionChevronPlacement","props","_objectWithoutProperties","_excluded","elementRef","trCountRef","rerenderAlias","skeletonClasses","spacingClasses","createElement","Boolean","value","_objectSpread","getTranslation","_extends","ref","_supportsSpacingProps"],"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport Provider from '../../shared/Provider'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport {\n extendPropsWithContext,\n validateDOMAttributes,\n} from '../../shared/component-helper'\nimport ScrollView from './TableScrollView'\nimport { TableContext } from './TableContext'\nimport { useStickyHeader } from './TableStickyHeader'\n\nimport type { StickyTableHeaderProps } from './TableStickyHeader'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport type { LocaleProps, SpacingProps } from '../../shared/types'\nimport { useHandleOddEven } from './TableTr'\n\nexport type TableSizes = 'large' | 'medium' | 'small'\nexport type TableVariants = 'generic'\n\nexport { ScrollView }\n\nexport type TableProps = {\n /**\n * The content of the component.\n */\n children: React.ReactNode\n\n /**\n * Custom className on the component root\n */\n className?: string\n\n /**\n * Skeleton should be applied when loading content\n */\n skeleton?: SkeletonShow\n\n /**\n * The size of the component.\n * Default: large.\n */\n size?: TableSizes\n\n /**\n * The style variant of the component.\n * Default: generic.\n */\n variant?: TableVariants\n\n /**\n * Use `true` to show borders between table data cell\n * Default: false\n */\n border?: boolean\n\n /**\n * Use `true` to show a outline border around the table\n * Default: false\n */\n outline?: boolean\n\n /**\n * Set to true if you have one or more rows that contains an accordion content.\n * Default: false\n */\n accordion?: boolean\n\n /**\n * Defines where the chevron will be placed.\n * Default: 'start'\n */\n accordionChevronPlacement?: 'start' | 'end'\n\n /**\n * Defines if the table should behave with a fixed table layout, using: \"table-layout: fixed;\"\n * Default: null.\n */\n fixed?: boolean\n} & StickyTableHeaderProps\n\nexport type TableAllProps = TableProps &\n Omit<React.TableHTMLAttributes<HTMLTableElement>, 'border'> &\n LocaleProps &\n SpacingProps\n\nexport const defaultProps = {\n size: 'large',\n variant: 'generic',\n}\n\nconst Table = (componentProps: TableAllProps) => {\n const context = React.useContext(Context)\n\n const allProps = extendPropsWithContext(\n componentProps,\n defaultProps,\n context?.Table,\n {\n skeleton: context?.skeleton,\n }\n )\n\n const {\n className,\n children,\n size,\n skeleton,\n variant,\n sticky,\n stickyOffset, // eslint-disable-line\n fixed,\n border,\n outline,\n accordion,\n accordionChevronPlacement, // eslint-disable-line\n ...props\n } = allProps\n\n const { elementRef } = useStickyHeader(allProps)\n const { trCountRef, rerenderAlias } = useHandleOddEven({ children })\n\n const skeletonClasses = createSkeletonClass('font', skeleton, context)\n const spacingClasses = createSpacingClasses(props)\n\n validateDOMAttributes(allProps, props)\n\n return (\n <Provider skeleton={Boolean(skeleton)}>\n <TableContext.Provider\n value={{\n trCountRef,\n rerenderAlias,\n allProps: {\n ...allProps,\n ...context.getTranslation(componentProps).Table,\n },\n }}\n >\n <table\n className={classnames(\n 'dnb-table',\n variant && `dnb-table__variant--${variant}`,\n size && `dnb-table__size--${size}`,\n sticky && 'dnb-table--sticky',\n fixed && 'dnb-table--fixed',\n border && 'dnb-table--border',\n outline && 'dnb-table--outline',\n accordion && 'dnb-table--accordion',\n spacingClasses,\n skeletonClasses,\n className\n )}\n ref={elementRef}\n {...props}\n >\n {children}\n </table>\n </TableContext.Provider>\n </Provider>\n )\n}\n\nTable._supportsSpacingProps = true\n\nexport default Table\n\nTable.ScrollView = ScrollView\n"],"mappings":";;;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,OAAOC,QAAQ,MAAM,uBAAuB;AAC5C,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,SAASC,mBAAmB,QAAQ,4BAA4B;AAChE,SACEC,sBAAsB,EACtBC,qBAAqB,QAChB,+BAA+B;AACtC,OAAOC,UAAU,MAAM,mBAAmB;AAC1C,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,eAAe,QAAQ,qBAAqB;AAKrD,SAASC,gBAAgB,QAAQ,WAAW;AAK5C,SAASH,UAAU;AAkEnB,OAAO,MAAMI,YAAY,GAAG;EAC1BC,IAAI,EAAE,OAAO;EACbC,OAAO,EAAE;AACX,CAAC;AAED,MAAMC,KAAK,GAAIC,cAA6B,IAAK;EAC/C,MAAMC,OAAO,GAAGjB,KAAK,CAACkB,UAAU,CAAChB,OAAO,CAAC;EAEzC,MAAMiB,QAAQ,GAAGb,sBAAsB,CACrCU,cAAc,EACdJ,YAAY,EACZK,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEF,KAAK,EACd;IACEK,QAAQ,EAAEH,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEG;EACrB,CACF,CAAC;EAED,MAAM;MACJC,SAAS;MACTC,QAAQ;MACRT,IAAI;MACJO,QAAQ;MACRN,OAAO;MACPS,MAAM;MACNC,YAAY;MACZC,KAAK;MACLC,MAAM;MACNC,OAAO;MACPC,SAAS;MACTC;IAEF,CAAC,GAAGV,QAAQ;IADPW,KAAK,GAAAC,wBAAA,CACNZ,QAAQ,EAAAa,SAAA;EAEZ,MAAM;IAAEC;EAAW,CAAC,GAAGvB,eAAe,CAACS,QAAQ,CAAC;EAChD,MAAM;IAAEe,UAAU;IAAEC;EAAc,CAAC,GAAGxB,gBAAgB,CAAC;IAAEW;EAAS,CAAC,CAAC;EAEpE,MAAMc,eAAe,GAAG/B,mBAAmB,CAAC,MAAM,EAAEe,QAAQ,EAAEH,OAAO,CAAC;EACtE,MAAMoB,cAAc,GAAGjC,oBAAoB,CAAC0B,KAAK,CAAC;EAElDvB,qBAAqB,CAACY,QAAQ,EAAEW,KAAK,CAAC;EAEtC,OACE9B,KAAA,CAAAsC,aAAA,CAACnC,QAAQ;IAACiB,QAAQ,EAAEmB,OAAO,CAACnB,QAAQ;EAAE,GACpCpB,KAAA,CAAAsC,aAAA,CAAC7B,YAAY,CAACN,QAAQ;IACpBqC,KAAK,EAAE;MACLN,UAAU;MACVC,aAAa;MACbhB,QAAQ,EAAAsB,aAAA,CAAAA,aAAA,KACHtB,QAAQ,GACRF,OAAO,CAACyB,cAAc,CAAC1B,cAAc,CAAC,CAACD,KAAK;IAEnD;EAAE,GAEFf,KAAA,CAAAsC,aAAA,UAAAK,QAAA;IACEtB,SAAS,EAAEpB,UAAU,CACnB,WAAW,EAQXoC,cAAc,EACdD,eAAe,EACff,SAAS,EATTP,OAAO,IAAK,uBAAsBA,OAAQ,EAAC,EAC3CD,IAAI,IAAK,oBAAmBA,IAAK,EAAC,EAClCU,MAAM,IAAI,mBAAmB,EAC7BE,KAAK,IAAI,kBAAkB,EAC3BC,MAAM,IAAI,mBAAmB,EAC7BC,OAAO,IAAI,oBAAoB,EAC/BC,SAAS,IAAI,sBAIf,CAAE;IACFgB,GAAG,EAAEX;EAAW,GACZH,KAAK,GAERR,QACI,CACc,CACf,CAAC;AAEf,CAAC;AAEDP,KAAK,CAAC8B,qBAAqB,GAAG,IAAI;AAElC,eAAe9B,KAAK;AAEpBA,KAAK,CAACP,UAAU,GAAGA,UAAU"}
1
+ {"version":3,"file":"Table.js","names":["React","useEffect","classnames","Context","Provider","createSpacingClasses","createSkeletonClass","extendPropsWithContext","validateDOMAttributes","ScrollView","TableContext","useStickyHeader","useHandleOddEven","defaultProps","size","variant","Table","componentProps","context","useContext","allProps","skeleton","className","children","sticky","stickyOffset","fixed","border","outline","accordion","accordionChevronPlacement","collapseAllHandleRef","props","_objectWithoutProperties","_excluded","elementRef","trCountRef","rerenderAlias","collapseTrCallbacks","useRef","current","forEach","callback","skeletonClasses","spacingClasses","createElement","Boolean","value","_objectSpread","getTranslation","_extends","ref","_supportsSpacingProps"],"sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import React, { useEffect } from 'react'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport Provider from '../../shared/Provider'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport {\n extendPropsWithContext,\n validateDOMAttributes,\n} from '../../shared/component-helper'\nimport ScrollView from './TableScrollView'\nimport { TableContext } from './TableContext'\nimport { useStickyHeader } from './TableStickyHeader'\n\nimport type { StickyTableHeaderProps } from './TableStickyHeader'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport type { LocaleProps, SpacingProps } from '../../shared/types'\nimport { useHandleOddEven } from './TableTr'\n\nexport type TableSizes = 'large' | 'medium' | 'small'\nexport type TableVariants = 'generic'\n\nexport { ScrollView }\n\nexport type TableProps = {\n /**\n * The content of the component.\n */\n children: React.ReactNode\n\n /**\n * Custom className on the component root\n */\n className?: string\n\n /**\n * Skeleton should be applied when loading content\n */\n skeleton?: SkeletonShow\n\n /**\n * The size of the component.\n * Default: large.\n */\n size?: TableSizes\n\n /**\n * The style variant of the component.\n * Default: generic.\n */\n variant?: TableVariants\n\n /**\n * Use `true` to show borders between table data cell\n * Default: false\n */\n border?: boolean\n\n /**\n * Use `true` to show a outline border around the table\n * Default: false\n */\n outline?: boolean\n\n /**\n * Set to true if you have one or more rows that contains an accordion content.\n * Default: false\n */\n accordion?: boolean\n\n /**\n * Defines where the chevron will be placed.\n * Default: 'start'\n */\n accordionChevronPlacement?: 'start' | 'end'\n\n /**\n * Defines if the table should behave with a fixed table layout, using: \"table-layout: fixed;\"\n * Default: null.\n */\n fixed?: boolean\n\n /**\n * ref handle to collapse all expanded accordion rows. Send in a ref and use `.current()` to collapse all rows.\n *\n * Default: `undefined`\n */\n collapseAllHandleRef?: React.MutableRefObject<() => void>\n} & StickyTableHeaderProps\n\nexport type TableAllProps = TableProps &\n Omit<React.TableHTMLAttributes<HTMLTableElement>, 'border'> &\n LocaleProps &\n SpacingProps\n\nexport const defaultProps = {\n size: 'large',\n variant: 'generic',\n}\n\nconst Table = (componentProps: TableAllProps) => {\n const context = React.useContext(Context)\n\n const allProps = extendPropsWithContext(\n componentProps,\n defaultProps,\n context?.Table,\n {\n skeleton: context?.skeleton,\n }\n )\n\n const {\n className,\n children,\n size,\n skeleton,\n variant,\n sticky,\n stickyOffset, // eslint-disable-line\n fixed,\n border,\n outline,\n accordion,\n accordionChevronPlacement, // eslint-disable-line\n collapseAllHandleRef,\n ...props\n } = allProps\n\n const { elementRef } = useStickyHeader(allProps)\n const { trCountRef, rerenderAlias } = useHandleOddEven({ children })\n const collapseTrCallbacks = React.useRef<(() => void)[]>([])\n\n useEffect(() => {\n if (collapseAllHandleRef) {\n collapseAllHandleRef.current = () => {\n collapseTrCallbacks.current.forEach((callback) => callback())\n }\n }\n }, [collapseAllHandleRef])\n\n const skeletonClasses = createSkeletonClass('font', skeleton, context)\n const spacingClasses = createSpacingClasses(props)\n\n validateDOMAttributes(allProps, props)\n\n return (\n <Provider skeleton={Boolean(skeleton)}>\n <TableContext.Provider\n value={{\n trCountRef,\n rerenderAlias,\n collapseTrCallbacks,\n allProps: {\n ...allProps,\n ...context.getTranslation(componentProps).Table,\n },\n }}\n >\n <table\n className={classnames(\n 'dnb-table',\n variant && `dnb-table__variant--${variant}`,\n size && `dnb-table__size--${size}`,\n sticky && 'dnb-table--sticky',\n fixed && 'dnb-table--fixed',\n border && 'dnb-table--border',\n outline && 'dnb-table--outline',\n accordion && 'dnb-table--accordion',\n spacingClasses,\n skeletonClasses,\n className\n )}\n ref={elementRef}\n {...props}\n >\n {children}\n </table>\n </TableContext.Provider>\n </Provider>\n )\n}\n\nTable._supportsSpacingProps = true\n\nexport default Table\n\nTable.ScrollView = ScrollView\n"],"mappings":"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"}
@@ -1,12 +1,8 @@
1
- export declare function useTableAccordion({ children, className, props, expanded, disabled, noAnimation, onClick, onOpened, onClosed, }: {
2
- children: any;
3
- className: any;
4
- props: any;
5
- expanded: any;
6
- disabled: any;
7
- noAnimation: any;
8
- onClick: any;
9
- onOpened: any;
10
- onClosed: any;
11
- }): import("react/jsx-runtime").JSX.Element;
1
+ import React from 'react';
2
+ import type { TableTrProps } from './TableTr';
3
+ type TableAccordionProps = {
4
+ count: number;
5
+ };
6
+ export declare function TableAccordion(allProps: TableAccordionProps & TableTrProps & React.TableHTMLAttributes<HTMLTableRowElement>): import("react/jsx-runtime").JSX.Element;
12
7
  export declare function TableAccordionToggleButton(): import("react/jsx-runtime").JSX.Element;
8
+ export {};