@dnb/eufemia 10.4.2 → 10.6.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 (1473) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/cjs/components/accordion/Accordion.d.ts +240 -136
  3. package/cjs/components/accordion/Accordion.js +217 -252
  4. package/cjs/components/accordion/Accordion.js.map +1 -1
  5. package/cjs/components/accordion/AccordionContent.d.ts +12 -14
  6. package/cjs/components/accordion/AccordionContent.js +3 -15
  7. package/cjs/components/accordion/AccordionContent.js.map +1 -1
  8. package/cjs/components/accordion/AccordionContext.d.ts +17 -2
  9. package/cjs/components/accordion/AccordionContext.js.map +1 -1
  10. package/cjs/components/accordion/AccordionGroup.d.ts +10 -12
  11. package/cjs/components/accordion/AccordionGroup.js +63 -72
  12. package/cjs/components/accordion/AccordionGroup.js.map +1 -1
  13. package/cjs/components/accordion/AccordionHeader.d.ts +62 -92
  14. package/cjs/components/accordion/AccordionHeader.js +178 -251
  15. package/cjs/components/accordion/AccordionHeader.js.map +1 -1
  16. package/cjs/components/accordion/AccordionProviderContext.d.ts +16 -2
  17. package/cjs/components/accordion/AccordionProviderContext.js.map +1 -1
  18. package/cjs/components/accordion/AccordionStore.d.ts +7 -6
  19. package/cjs/components/accordion/AccordionStore.js +1 -1
  20. package/cjs/components/accordion/AccordionStore.js.map +1 -1
  21. package/cjs/components/accordion/defaultProps.d.ts +2 -0
  22. package/cjs/components/accordion/defaultProps.js +12 -0
  23. package/cjs/components/accordion/defaultProps.js.map +1 -0
  24. package/cjs/components/anchor/style/anchor-mixins.scss +26 -27
  25. package/cjs/components/anchor/style/dnb-anchor.css +27 -16
  26. package/cjs/components/anchor/style/dnb-anchor.min.css +1 -1
  27. package/cjs/components/anchor/style/dnb-anchor.scss +1 -1
  28. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +97 -44
  29. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  30. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +48 -22
  31. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.css +20 -10
  32. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  33. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.scss +4 -9
  34. package/cjs/components/autocomplete/Autocomplete.js +2 -2
  35. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  36. package/cjs/components/button/style/themes/button-mixins.scss +23 -4
  37. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.css +80 -82
  38. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.min.css +3 -1
  39. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.scss +82 -54
  40. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  41. package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
  42. package/cjs/components/dialog/Dialog.d.ts +1 -1
  43. package/cjs/components/dialog/DialogContent.d.ts +1 -1
  44. package/cjs/components/dialog/DialogContent.js +4 -2
  45. package/cjs/components/dialog/DialogContent.js.map +1 -1
  46. package/cjs/components/dialog/parts/DialogAction.d.ts +5 -1
  47. package/cjs/components/dialog/parts/DialogAction.js +3 -2
  48. package/cjs/components/dialog/parts/DialogAction.js.map +1 -1
  49. package/cjs/components/form-row/FormRow.js.map +1 -1
  50. package/cjs/components/form-row/style/dnb-form-row.scss +2 -2
  51. package/cjs/components/form-set/FormSet.js.map +1 -1
  52. package/cjs/components/height-animation/HeightAnimation.d.ts +1 -1
  53. package/cjs/components/height-animation/HeightAnimation.js.map +1 -1
  54. package/cjs/components/height-animation/useHeightAnimation.js.map +1 -1
  55. package/cjs/components/icon/lib/SvgComparison.js.map +1 -1
  56. package/cjs/components/input/style/dnb-input.css +5 -0
  57. package/cjs/components/input/style/dnb-input.min.css +1 -1
  58. package/cjs/components/input/style/dnb-input.scss +7 -1
  59. package/cjs/components/input/style/themes/dnb-input-theme-sbanken.css +104 -0
  60. package/cjs/components/input/style/themes/dnb-input-theme-sbanken.min.css +1 -0
  61. package/cjs/components/input/style/themes/dnb-input-theme-sbanken.scss +126 -0
  62. package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
  63. package/cjs/components/input-masked/TextMask.js.map +1 -1
  64. package/cjs/components/modal/Modal.js +0 -2
  65. package/cjs/components/modal/Modal.js.map +1 -1
  66. package/cjs/components/modal/bodyScrollLock.js.map +1 -1
  67. package/cjs/components/number-format/NumberUtils.js +8 -6
  68. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  69. package/cjs/components/number-format/style/dnb-number-format.css +0 -7
  70. package/cjs/components/number-format/style/dnb-number-format.scss +0 -1
  71. package/cjs/components/pagination/PaginationInfinity.js.map +1 -1
  72. package/cjs/components/radio/Radio.js.map +1 -1
  73. package/cjs/components/section/style/themes/dnb-section-theme-ui.css +14 -7
  74. package/cjs/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  75. package/cjs/components/slider/hooks/useSliderEvents.js.map +1 -1
  76. package/cjs/components/slider/types.d.ts +1 -1
  77. package/cjs/components/slider/types.js.map +1 -1
  78. package/cjs/components/space/Space.d.ts +2 -2
  79. package/cjs/components/space/SpacingHelper.js.map +1 -1
  80. package/cjs/components/step-indicator/StepIndicatorProps.d.ts +1 -1
  81. package/cjs/components/table/TableAccordion.js.map +1 -1
  82. package/cjs/components/table/TableTr.js.map +1 -1
  83. package/cjs/components/textarea/Textarea.js.map +1 -1
  84. package/cjs/components/textarea/style/dnb-textarea.css +39 -1
  85. package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
  86. package/cjs/components/textarea/style/dnb-textarea.scss +20 -1
  87. package/cjs/components/textarea/style/themes/dnb-textarea-theme-sbanken.css +61 -0
  88. package/cjs/components/textarea/style/themes/dnb-textarea-theme-sbanken.min.css +1 -0
  89. package/cjs/components/textarea/style/themes/dnb-textarea-theme-sbanken.scss +72 -0
  90. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.css +0 -41
  91. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  92. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.scss +0 -22
  93. package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
  94. package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  95. package/cjs/components/tooltip/TooltipContainer.js.map +1 -1
  96. package/cjs/components/upload/Upload.js +2 -2
  97. package/cjs/components/upload/Upload.js.map +1 -1
  98. package/cjs/components/upload/useUpload.d.ts +1 -1
  99. package/cjs/components/upload/useUpload.js +2 -2
  100. package/cjs/components/upload/useUpload.js.map +1 -1
  101. package/cjs/elements/blockquote/Blockquote.d.ts +1 -1
  102. package/cjs/elements/blockquote/Blockquote.js.map +1 -1
  103. package/cjs/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +0 -2
  104. package/cjs/extensions/forms/DataContext/At.d.ts +13 -0
  105. package/cjs/extensions/forms/DataContext/At.js +60 -0
  106. package/cjs/extensions/forms/DataContext/At.js.map +1 -0
  107. package/cjs/extensions/forms/DataContext/Context.d.ts +19 -0
  108. package/cjs/extensions/forms/DataContext/Context.js +25 -0
  109. package/cjs/extensions/forms/DataContext/Context.js.map +1 -0
  110. package/cjs/extensions/forms/DataContext/Provider.d.ts +19 -0
  111. package/cjs/extensions/forms/DataContext/Provider.js +112 -0
  112. package/cjs/extensions/forms/DataContext/Provider.js.map +1 -0
  113. package/cjs/extensions/forms/DataContext/SubmitButton.d.ts +9 -0
  114. package/cjs/extensions/forms/DataContext/SubmitButton.js +30 -0
  115. package/cjs/extensions/forms/DataContext/SubmitButton.js.map +1 -0
  116. package/cjs/extensions/forms/DataContext/index.d.ts +13 -0
  117. package/cjs/extensions/forms/DataContext/index.js +20 -0
  118. package/cjs/extensions/forms/DataContext/index.js.map +1 -0
  119. package/cjs/extensions/forms/Field/ArraySelection.d.ts +12 -0
  120. package/cjs/extensions/forms/Field/ArraySelection.js +68 -0
  121. package/cjs/extensions/forms/Field/ArraySelection.js.map +1 -0
  122. package/cjs/extensions/forms/Field/BankAccountNumber.d.ts +10 -0
  123. package/cjs/extensions/forms/Field/BankAccountNumber.js +40 -0
  124. package/cjs/extensions/forms/Field/BankAccountNumber.js.map +1 -0
  125. package/cjs/extensions/forms/Field/Boolean.d.ts +10 -0
  126. package/cjs/extensions/forms/Field/Boolean.js +34 -0
  127. package/cjs/extensions/forms/Field/Boolean.js.map +1 -0
  128. package/cjs/extensions/forms/Field/Currency.d.ts +10 -0
  129. package/cjs/extensions/forms/Field/Currency.js +61 -0
  130. package/cjs/extensions/forms/Field/Currency.js.map +1 -0
  131. package/cjs/extensions/forms/Field/Date.d.ts +8 -0
  132. package/cjs/extensions/forms/Field/Date.js +59 -0
  133. package/cjs/extensions/forms/Field/Date.js.map +1 -0
  134. package/cjs/extensions/forms/Field/Email.d.ts +7 -0
  135. package/cjs/extensions/forms/Field/Email.js +34 -0
  136. package/cjs/extensions/forms/Field/Email.js.map +1 -0
  137. package/cjs/extensions/forms/Field/FirstName.d.ts +7 -0
  138. package/cjs/extensions/forms/Field/FirstName.js +31 -0
  139. package/cjs/extensions/forms/Field/FirstName.js.map +1 -0
  140. package/cjs/extensions/forms/Field/LastName.d.ts +7 -0
  141. package/cjs/extensions/forms/Field/LastName.js +31 -0
  142. package/cjs/extensions/forms/Field/LastName.js.map +1 -0
  143. package/cjs/extensions/forms/Field/NationalIdentityNumber.d.ts +10 -0
  144. package/cjs/extensions/forms/Field/NationalIdentityNumber.js +39 -0
  145. package/cjs/extensions/forms/Field/NationalIdentityNumber.js.map +1 -0
  146. package/cjs/extensions/forms/Field/Number.d.ts +31 -0
  147. package/cjs/extensions/forms/Field/Number.js +111 -0
  148. package/cjs/extensions/forms/Field/Number.js.map +1 -0
  149. package/cjs/extensions/forms/Field/Option.d.ts +9 -0
  150. package/cjs/extensions/forms/Field/Option.js +22 -0
  151. package/cjs/extensions/forms/Field/Option.js.map +1 -0
  152. package/cjs/extensions/forms/Field/OrganizationNumber.d.ts +10 -0
  153. package/cjs/extensions/forms/Field/OrganizationNumber.js +40 -0
  154. package/cjs/extensions/forms/Field/OrganizationNumber.js.map +1 -0
  155. package/cjs/extensions/forms/Field/PhoneNumber.d.ts +12 -0
  156. package/cjs/extensions/forms/Field/PhoneNumber.js +101 -0
  157. package/cjs/extensions/forms/Field/PhoneNumber.js.map +1 -0
  158. package/cjs/extensions/forms/Field/PostalCodeAndCity.d.ts +10 -0
  159. package/cjs/extensions/forms/Field/PostalCodeAndCity.js +59 -0
  160. package/cjs/extensions/forms/Field/PostalCodeAndCity.js.map +1 -0
  161. package/cjs/extensions/forms/Field/SelectCountry.d.ts +7 -0
  162. package/cjs/extensions/forms/Field/SelectCountry.js +38 -0
  163. package/cjs/extensions/forms/Field/SelectCountry.js.map +1 -0
  164. package/cjs/extensions/forms/Field/Selection.d.ts +13 -0
  165. package/cjs/extensions/forms/Field/Selection.js +120 -0
  166. package/cjs/extensions/forms/Field/Selection.js.map +1 -0
  167. package/cjs/extensions/forms/Field/String.d.ts +32 -0
  168. package/cjs/extensions/forms/Field/String.js +135 -0
  169. package/cjs/extensions/forms/Field/String.js.map +1 -0
  170. package/cjs/extensions/forms/Field/Toggle.d.ts +14 -0
  171. package/cjs/extensions/forms/Field/Toggle.js +129 -0
  172. package/cjs/extensions/forms/Field/Toggle.js.map +1 -0
  173. package/cjs/extensions/forms/Field/fields.scss +2 -0
  174. package/cjs/extensions/forms/Field/hooks/index.d.ts +1 -0
  175. package/cjs/extensions/forms/Field/hooks/index.js +14 -0
  176. package/cjs/extensions/forms/Field/hooks/index.js.map +1 -0
  177. package/cjs/extensions/forms/Field/hooks/useField.d.ts +11 -0
  178. package/cjs/extensions/forms/Field/hooks/useField.js +163 -0
  179. package/cjs/extensions/forms/Field/hooks/useField.js.map +1 -0
  180. package/cjs/extensions/forms/Field/index.d.ts +39 -0
  181. package/cjs/extensions/forms/Field/index.js +48 -0
  182. package/cjs/extensions/forms/Field/index.js.map +1 -0
  183. package/cjs/extensions/forms/Field/style/dnb-number.css +11 -0
  184. package/cjs/extensions/forms/Field/style/dnb-number.min.css +1 -0
  185. package/cjs/extensions/forms/Field/style/dnb-number.scss +19 -0
  186. package/cjs/extensions/forms/Field/style/dnb-phone-number.css +23 -0
  187. package/cjs/extensions/forms/Field/style/dnb-phone-number.min.css +1 -0
  188. package/cjs/extensions/forms/Field/style/dnb-phone-number.scss +28 -0
  189. package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.css +19 -0
  190. package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -0
  191. package/cjs/extensions/forms/Field/style/dnb-postal-code-and-city.scss +25 -0
  192. package/cjs/extensions/forms/Field/style/dnb-selection.css +6 -0
  193. package/cjs/extensions/forms/Field/style/dnb-selection.min.css +1 -0
  194. package/cjs/extensions/forms/Field/style/dnb-selection.scss +15 -0
  195. package/cjs/extensions/forms/Field/style/dnb-string.css +11 -0
  196. package/cjs/extensions/forms/Field/style/dnb-string.min.css +1 -0
  197. package/cjs/extensions/forms/Field/style/dnb-string.scss +19 -0
  198. package/cjs/extensions/forms/Field/style/index.d.ts +6 -0
  199. package/cjs/extensions/forms/Field/style/index.js +5 -0
  200. package/cjs/extensions/forms/Field/style/index.js.map +1 -0
  201. package/cjs/extensions/forms/Field/style/index.scss +5 -0
  202. package/cjs/extensions/forms/Field/style.d.ts +5 -0
  203. package/cjs/extensions/forms/Field/style.js +4 -0
  204. package/cjs/extensions/forms/Field/style.js.map +1 -0
  205. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +12 -0
  206. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +77 -0
  207. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -0
  208. package/cjs/extensions/forms/FieldBlock/index.d.ts +1 -0
  209. package/cjs/extensions/forms/FieldBlock/index.js +14 -0
  210. package/cjs/extensions/forms/FieldBlock/index.js.map +1 -0
  211. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +15 -0
  212. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -0
  213. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +19 -0
  214. package/cjs/extensions/forms/FieldBlock/style/index.d.ts +5 -0
  215. package/cjs/extensions/forms/FieldBlock/style/index.js +4 -0
  216. package/cjs/extensions/forms/FieldBlock/style/index.js.map +1 -0
  217. package/cjs/extensions/forms/FieldBlock/style.d.ts +5 -0
  218. package/cjs/extensions/forms/FieldBlock/style.js +4 -0
  219. package/cjs/extensions/forms/FieldBlock/style.js.map +1 -0
  220. package/cjs/extensions/forms/FieldGroup/FieldGroup.d.ts +17 -0
  221. package/cjs/extensions/forms/FieldGroup/FieldGroup.js +95 -0
  222. package/cjs/extensions/forms/FieldGroup/FieldGroup.js.map +1 -0
  223. package/cjs/extensions/forms/FieldGroup/index.d.ts +2 -0
  224. package/cjs/extensions/forms/FieldGroup/index.js +27 -0
  225. package/cjs/extensions/forms/FieldGroup/index.js.map +1 -0
  226. package/cjs/extensions/forms/Forms.d.ts +3 -0
  227. package/cjs/extensions/forms/Forms.js +22 -0
  228. package/cjs/extensions/forms/Forms.js.map +1 -0
  229. package/cjs/extensions/forms/Layout/ButtonRow.d.ts +10 -0
  230. package/cjs/extensions/forms/Layout/ButtonRow.js +25 -0
  231. package/cjs/extensions/forms/Layout/ButtonRow.js.map +1 -0
  232. package/cjs/extensions/forms/Layout/Card.d.ts +14 -0
  233. package/cjs/extensions/forms/Layout/Card.js +45 -0
  234. package/cjs/extensions/forms/Layout/Card.js.map +1 -0
  235. package/cjs/extensions/forms/Layout/Column.d.ts +7 -0
  236. package/cjs/extensions/forms/Layout/Column.js +26 -0
  237. package/cjs/extensions/forms/Layout/Column.js.map +1 -0
  238. package/cjs/extensions/forms/Layout/FlexContainer.d.ts +23 -0
  239. package/cjs/extensions/forms/Layout/FlexContainer.js +104 -0
  240. package/cjs/extensions/forms/Layout/FlexContainer.js.map +1 -0
  241. package/cjs/extensions/forms/Layout/FlexItem.d.ts +12 -0
  242. package/cjs/extensions/forms/Layout/FlexItem.js +28 -0
  243. package/cjs/extensions/forms/Layout/FlexItem.js.map +1 -0
  244. package/cjs/extensions/forms/Layout/InfoCardSection.d.ts +8 -0
  245. package/cjs/extensions/forms/Layout/InfoCardSection.js +25 -0
  246. package/cjs/extensions/forms/Layout/InfoCardSection.js.map +1 -0
  247. package/cjs/extensions/forms/Layout/MainHeading.d.ts +10 -0
  248. package/cjs/extensions/forms/Layout/MainHeading.js +27 -0
  249. package/cjs/extensions/forms/Layout/MainHeading.js.map +1 -0
  250. package/cjs/extensions/forms/Layout/Row.d.ts +7 -0
  251. package/cjs/extensions/forms/Layout/Row.js +26 -0
  252. package/cjs/extensions/forms/Layout/Row.js.map +1 -0
  253. package/cjs/extensions/forms/Layout/Section.d.ts +13 -0
  254. package/cjs/extensions/forms/Layout/Section.js +29 -0
  255. package/cjs/extensions/forms/Layout/Section.js.map +1 -0
  256. package/cjs/extensions/forms/Layout/SubHeading.d.ts +10 -0
  257. package/cjs/extensions/forms/Layout/SubHeading.js +26 -0
  258. package/cjs/extensions/forms/Layout/SubHeading.js.map +1 -0
  259. package/cjs/extensions/forms/Layout/index.d.ts +23 -0
  260. package/cjs/extensions/forms/Layout/index.js +32 -0
  261. package/cjs/extensions/forms/Layout/index.js.map +1 -0
  262. package/cjs/extensions/forms/Layout/style/dnb-button-row.css +7 -0
  263. package/cjs/extensions/forms/Layout/style/dnb-button-row.min.css +1 -0
  264. package/cjs/extensions/forms/Layout/style/dnb-button-row.scss +5 -0
  265. package/cjs/extensions/forms/Layout/style/dnb-card.css +13 -0
  266. package/cjs/extensions/forms/Layout/style/dnb-card.min.css +1 -0
  267. package/cjs/extensions/forms/Layout/style/dnb-card.scss +15 -0
  268. package/cjs/extensions/forms/Layout/style/dnb-flex-container.css +63 -0
  269. package/cjs/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -0
  270. package/cjs/extensions/forms/Layout/style/dnb-flex-container.scss +84 -0
  271. package/cjs/extensions/forms/Layout/style/dnb-flex-item.css +6 -0
  272. package/cjs/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -0
  273. package/cjs/extensions/forms/Layout/style/dnb-flex-item.scss +9 -0
  274. package/cjs/extensions/forms/Layout/style/dnb-section.css +3 -0
  275. package/cjs/extensions/forms/Layout/style/dnb-section.min.css +1 -0
  276. package/cjs/extensions/forms/Layout/style/dnb-section.scss +3 -0
  277. package/cjs/extensions/forms/Layout/style/index.d.ts +9 -0
  278. package/cjs/extensions/forms/Layout/style/index.js +8 -0
  279. package/cjs/extensions/forms/Layout/style/index.js.map +1 -0
  280. package/cjs/extensions/forms/Layout/style/index.scss +5 -0
  281. package/cjs/extensions/forms/Layout/style.d.ts +5 -0
  282. package/cjs/extensions/forms/Layout/style.js +4 -0
  283. package/cjs/extensions/forms/Layout/style.js.map +1 -0
  284. package/cjs/extensions/forms/StepsLayout/Buttons.d.ts +9 -0
  285. package/cjs/extensions/forms/StepsLayout/Buttons.js +27 -0
  286. package/cjs/extensions/forms/StepsLayout/Buttons.js.map +1 -0
  287. package/cjs/extensions/forms/StepsLayout/NextButton.d.ts +10 -0
  288. package/cjs/extensions/forms/StepsLayout/NextButton.js +37 -0
  289. package/cjs/extensions/forms/StepsLayout/NextButton.js.map +1 -0
  290. package/cjs/extensions/forms/StepsLayout/PreviousButton.d.ts +10 -0
  291. package/cjs/extensions/forms/StepsLayout/PreviousButton.js +37 -0
  292. package/cjs/extensions/forms/StepsLayout/PreviousButton.js.map +1 -0
  293. package/cjs/extensions/forms/StepsLayout/Step.d.ts +15 -0
  294. package/cjs/extensions/forms/StepsLayout/Step.js +37 -0
  295. package/cjs/extensions/forms/StepsLayout/Step.js.map +1 -0
  296. package/cjs/extensions/forms/StepsLayout/StepsContext.d.ts +8 -0
  297. package/cjs/extensions/forms/StepsLayout/StepsContext.js +12 -0
  298. package/cjs/extensions/forms/StepsLayout/StepsContext.js.map +1 -0
  299. package/cjs/extensions/forms/StepsLayout/StepsLayout.d.ts +19 -0
  300. package/cjs/extensions/forms/StepsLayout/StepsLayout.js +116 -0
  301. package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -0
  302. package/cjs/extensions/forms/StepsLayout/index.d.ts +3 -0
  303. package/cjs/extensions/forms/StepsLayout/index.js +18 -0
  304. package/cjs/extensions/forms/StepsLayout/index.js.map +1 -0
  305. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +25 -0
  306. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -0
  307. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +23 -0
  308. package/cjs/extensions/forms/StepsLayout/style/index.d.ts +5 -0
  309. package/cjs/extensions/forms/StepsLayout/style/index.js +4 -0
  310. package/cjs/extensions/forms/StepsLayout/style/index.js.map +1 -0
  311. package/cjs/extensions/forms/StepsLayout/style/index.scss +1 -0
  312. package/cjs/extensions/forms/StepsLayout/style.d.ts +5 -0
  313. package/cjs/extensions/forms/StepsLayout/style.js +4 -0
  314. package/cjs/extensions/forms/StepsLayout/style.js.map +1 -0
  315. package/cjs/extensions/forms/Value/BankAccountNumber.d.ts +7 -0
  316. package/cjs/extensions/forms/Value/BankAccountNumber.js +32 -0
  317. package/cjs/extensions/forms/Value/BankAccountNumber.js.map +1 -0
  318. package/cjs/extensions/forms/Value/Boolean.d.ts +8 -0
  319. package/cjs/extensions/forms/Value/Boolean.js +37 -0
  320. package/cjs/extensions/forms/Value/Boolean.js.map +1 -0
  321. package/cjs/extensions/forms/Value/Currency.d.ts +7 -0
  322. package/cjs/extensions/forms/Value/Currency.js +26 -0
  323. package/cjs/extensions/forms/Value/Currency.js.map +1 -0
  324. package/cjs/extensions/forms/Value/Date.d.ts +7 -0
  325. package/cjs/extensions/forms/Value/Date.js +28 -0
  326. package/cjs/extensions/forms/Value/Date.js.map +1 -0
  327. package/cjs/extensions/forms/Value/Email.d.ts +7 -0
  328. package/cjs/extensions/forms/Value/Email.js +28 -0
  329. package/cjs/extensions/forms/Value/Email.js.map +1 -0
  330. package/cjs/extensions/forms/Value/FirstName.d.ts +7 -0
  331. package/cjs/extensions/forms/Value/FirstName.js +28 -0
  332. package/cjs/extensions/forms/Value/FirstName.js.map +1 -0
  333. package/cjs/extensions/forms/Value/LastName.d.ts +7 -0
  334. package/cjs/extensions/forms/Value/LastName.js +28 -0
  335. package/cjs/extensions/forms/Value/LastName.js.map +1 -0
  336. package/cjs/extensions/forms/Value/NationalIdentityNumber.d.ts +7 -0
  337. package/cjs/extensions/forms/Value/NationalIdentityNumber.js +32 -0
  338. package/cjs/extensions/forms/Value/NationalIdentityNumber.js.map +1 -0
  339. package/cjs/extensions/forms/Value/Number.d.ts +14 -0
  340. package/cjs/extensions/forms/Value/Number.js +44 -0
  341. package/cjs/extensions/forms/Value/Number.js.map +1 -0
  342. package/cjs/extensions/forms/Value/PhoneNumber.d.ts +7 -0
  343. package/cjs/extensions/forms/Value/PhoneNumber.js +32 -0
  344. package/cjs/extensions/forms/Value/PhoneNumber.js.map +1 -0
  345. package/cjs/extensions/forms/Value/String.d.ts +8 -0
  346. package/cjs/extensions/forms/Value/String.js +34 -0
  347. package/cjs/extensions/forms/Value/String.js.map +1 -0
  348. package/cjs/extensions/forms/Value/hooks/index.d.ts +1 -0
  349. package/cjs/extensions/forms/Value/hooks/index.js +14 -0
  350. package/cjs/extensions/forms/Value/hooks/index.js.map +1 -0
  351. package/cjs/extensions/forms/Value/hooks/useValue.d.ts +2 -0
  352. package/cjs/extensions/forms/Value/hooks/useValue.js +31 -0
  353. package/cjs/extensions/forms/Value/hooks/useValue.js.map +1 -0
  354. package/cjs/extensions/forms/Value/index.d.ts +25 -0
  355. package/cjs/extensions/forms/Value/index.js +34 -0
  356. package/cjs/extensions/forms/Value/index.js.map +1 -0
  357. package/cjs/extensions/forms/ValueBlock/ValueBlock.d.ts +11 -0
  358. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +38 -0
  359. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -0
  360. package/cjs/extensions/forms/ValueBlock/index.d.ts +1 -0
  361. package/cjs/extensions/forms/ValueBlock/index.js +14 -0
  362. package/cjs/extensions/forms/ValueBlock/index.js.map +1 -0
  363. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +16 -0
  364. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -0
  365. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +19 -0
  366. package/cjs/extensions/forms/ValueBlock/style/index.d.ts +5 -0
  367. package/cjs/extensions/forms/ValueBlock/style/index.js +4 -0
  368. package/cjs/extensions/forms/ValueBlock/style/index.js.map +1 -0
  369. package/cjs/extensions/forms/ValueBlock/style/index.scss +1 -0
  370. package/cjs/extensions/forms/ValueBlock/style.d.ts +5 -0
  371. package/cjs/extensions/forms/ValueBlock/style.js +4 -0
  372. package/cjs/extensions/forms/ValueBlock/style.js.map +1 -0
  373. package/cjs/extensions/forms/Visibility/Visibility.d.ts +24 -0
  374. package/cjs/extensions/forms/Visibility/Visibility.js +55 -0
  375. package/cjs/extensions/forms/Visibility/Visibility.js.map +1 -0
  376. package/cjs/extensions/forms/Visibility/index.d.ts +1 -0
  377. package/cjs/extensions/forms/Visibility/index.js +14 -0
  378. package/cjs/extensions/forms/Visibility/index.js.map +1 -0
  379. package/cjs/extensions/forms/component-types.d.ts +4 -0
  380. package/cjs/extensions/forms/component-types.js +1 -0
  381. package/cjs/extensions/forms/component-types.js.map +1 -0
  382. package/cjs/extensions/forms/constants/countries.d.ts +6 -0
  383. package/cjs/extensions/forms/constants/countries.js +969 -0
  384. package/cjs/extensions/forms/constants/countries.js.map +1 -0
  385. package/cjs/extensions/forms/field-types.d.ts +52 -0
  386. package/cjs/extensions/forms/field-types.js +1 -0
  387. package/cjs/extensions/forms/field-types.js.map +1 -0
  388. package/cjs/extensions/forms/index.d.ts +13 -0
  389. package/cjs/extensions/forms/index.js +110 -0
  390. package/cjs/extensions/forms/index.js.map +1 -0
  391. package/cjs/extensions/forms/style/dnb-forms.css +237 -0
  392. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -0
  393. package/cjs/extensions/forms/style/dnb-forms.scss +6 -0
  394. package/cjs/extensions/forms/style.d.ts +5 -0
  395. package/cjs/extensions/forms/style.js +4 -0
  396. package/cjs/extensions/forms/style.js.map +1 -0
  397. package/cjs/extensions/forms/types.d.ts +11 -0
  398. package/cjs/extensions/forms/types.js +20 -0
  399. package/cjs/extensions/forms/types.js.map +1 -0
  400. package/cjs/extensions/forms/utils/TestElement/TestElement.d.ts +6 -0
  401. package/cjs/extensions/forms/utils/TestElement/TestElement.js +17 -0
  402. package/cjs/extensions/forms/utils/TestElement/TestElement.js.map +1 -0
  403. package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.css +6 -0
  404. package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -0
  405. package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.scss +6 -0
  406. package/cjs/extensions/forms/utils/TestElement/style/index.d.ts +5 -0
  407. package/cjs/extensions/forms/utils/TestElement/style/index.js +4 -0
  408. package/cjs/extensions/forms/utils/TestElement/style/index.js.map +1 -0
  409. package/cjs/extensions/forms/utils/TestElement/style.d.ts +5 -0
  410. package/cjs/extensions/forms/utils/TestElement/style.js +4 -0
  411. package/cjs/extensions/forms/utils/TestElement/style.js.map +1 -0
  412. package/cjs/extensions/forms/utils/ajv.d.ts +14 -0
  413. package/cjs/extensions/forms/utils/ajv.js +69 -0
  414. package/cjs/extensions/forms/utils/ajv.js.map +1 -0
  415. package/cjs/extensions/forms/utils/components.d.ts +3 -0
  416. package/cjs/extensions/forms/utils/components.js +32 -0
  417. package/cjs/extensions/forms/utils/components.js.map +1 -0
  418. package/cjs/extensions/forms/utils/index.d.ts +3 -0
  419. package/cjs/extensions/forms/utils/index.js +41 -0
  420. package/cjs/extensions/forms/utils/index.js.map +1 -0
  421. package/cjs/extensions/forms/utils/numbers.d.ts +17 -0
  422. package/cjs/extensions/forms/utils/numbers.js +42 -0
  423. package/cjs/extensions/forms/utils/numbers.js.map +1 -0
  424. package/cjs/extensions/forms/value-types.d.ts +15 -0
  425. package/cjs/extensions/forms/value-types.js +1 -0
  426. package/cjs/extensions/forms/value-types.js.map +1 -0
  427. package/cjs/extensions/index.d.ts +2 -1
  428. package/cjs/extensions/index.js +7 -0
  429. package/cjs/extensions/index.js.map +1 -1
  430. package/cjs/extensions/lib.d.ts +22 -1
  431. package/cjs/extensions/lib.js +8 -0
  432. package/cjs/extensions/lib.js.map +1 -1
  433. package/cjs/extensions/payment-card/utils/Types.js.map +1 -1
  434. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  435. package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  436. package/cjs/shared/Context.d.ts +2 -0
  437. package/cjs/shared/Context.js.map +1 -1
  438. package/cjs/shared/Eufemia.d.ts +1 -1
  439. package/cjs/shared/Eufemia.js +2 -2
  440. package/cjs/shared/Eufemia.js.map +1 -1
  441. package/cjs/shared/VisibilityByTheme.d.ts +1 -1
  442. package/cjs/shared/VisibilityByTheme.js.map +1 -1
  443. package/cjs/shared/helpers.d.ts +2 -2
  444. package/cjs/shared/helpers.js.map +1 -1
  445. package/cjs/shared/locales/en-GB.d.ts +39 -0
  446. package/cjs/shared/locales/en-GB.js +39 -0
  447. package/cjs/shared/locales/en-GB.js.map +1 -1
  448. package/cjs/shared/locales/en-US.d.ts +39 -0
  449. package/cjs/shared/locales/index.d.ts +78 -0
  450. package/cjs/shared/locales/nb-NO.d.ts +39 -0
  451. package/cjs/shared/locales/nb-NO.js +39 -0
  452. package/cjs/shared/locales/nb-NO.js.map +1 -1
  453. package/cjs/style/core/utilities.scss +40 -8
  454. package/cjs/style/dnb-ui-components.css +71 -24
  455. package/cjs/style/dnb-ui-components.min.css +1 -1
  456. package/cjs/style/dnb-ui-extensions.css +238 -0
  457. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  458. package/cjs/style/dnb-ui-extensions.scss +1 -0
  459. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +17 -11
  460. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  461. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +105 -82
  462. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  463. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +238 -0
  464. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  465. package/cjs/style/themes/theme-sbanken/properties.js +4 -4
  466. package/cjs/style/themes/theme-sbanken/properties.js.map +1 -1
  467. package/cjs/style/themes/theme-sbanken/properties.scss +4 -4
  468. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +4 -11
  469. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  470. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +429 -333
  471. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -1
  472. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
  473. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +0 -7
  474. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +238 -0
  475. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  476. package/cjs/style/themes/theme-ui/ui-theme-basis.css +17 -11
  477. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  478. package/cjs/style/themes/theme-ui/ui-theme-components.css +105 -82
  479. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  480. package/cjs/style/themes/theme-ui/ui-theme-elements.css +17 -11
  481. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  482. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +238 -0
  483. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  484. package/cjs/style/themes/theme-ui/ui-theme-tags.css +24 -12
  485. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  486. package/components/accordion/Accordion.d.ts +240 -136
  487. package/components/accordion/Accordion.js +214 -251
  488. package/components/accordion/Accordion.js.map +1 -1
  489. package/components/accordion/AccordionContent.d.ts +12 -14
  490. package/components/accordion/AccordionContent.js +5 -17
  491. package/components/accordion/AccordionContent.js.map +1 -1
  492. package/components/accordion/AccordionContext.d.ts +17 -2
  493. package/components/accordion/AccordionContext.js.map +1 -1
  494. package/components/accordion/AccordionGroup.d.ts +10 -12
  495. package/components/accordion/AccordionGroup.js +60 -71
  496. package/components/accordion/AccordionGroup.js.map +1 -1
  497. package/components/accordion/AccordionHeader.d.ts +62 -92
  498. package/components/accordion/AccordionHeader.js +175 -251
  499. package/components/accordion/AccordionHeader.js.map +1 -1
  500. package/components/accordion/AccordionProviderContext.d.ts +16 -2
  501. package/components/accordion/AccordionProviderContext.js.map +1 -1
  502. package/components/accordion/AccordionStore.d.ts +7 -6
  503. package/components/accordion/AccordionStore.js +2 -2
  504. package/components/accordion/AccordionStore.js.map +1 -1
  505. package/components/accordion/defaultProps.d.ts +2 -0
  506. package/components/accordion/defaultProps.js +5 -0
  507. package/components/accordion/defaultProps.js.map +1 -0
  508. package/components/anchor/style/anchor-mixins.scss +26 -27
  509. package/components/anchor/style/dnb-anchor.css +27 -16
  510. package/components/anchor/style/dnb-anchor.min.css +1 -1
  511. package/components/anchor/style/dnb-anchor.scss +1 -1
  512. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +97 -44
  513. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  514. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +48 -22
  515. package/components/anchor/style/themes/dnb-anchor-theme-ui.css +20 -10
  516. package/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  517. package/components/anchor/style/themes/dnb-anchor-theme-ui.scss +4 -9
  518. package/components/autocomplete/Autocomplete.js +2 -2
  519. package/components/autocomplete/Autocomplete.js.map +1 -1
  520. package/components/button/style/themes/button-mixins.scss +23 -4
  521. package/components/button/style/themes/dnb-button-theme-sbanken.css +80 -82
  522. package/components/button/style/themes/dnb-button-theme-sbanken.min.css +3 -1
  523. package/components/button/style/themes/dnb-button-theme-sbanken.scss +82 -54
  524. package/components/date-picker/DatePicker.js.map +1 -1
  525. package/components/date-picker/DatePickerCalendar.js.map +1 -1
  526. package/components/dialog/Dialog.d.ts +1 -1
  527. package/components/dialog/DialogContent.d.ts +1 -1
  528. package/components/dialog/DialogContent.js +4 -2
  529. package/components/dialog/DialogContent.js.map +1 -1
  530. package/components/dialog/parts/DialogAction.d.ts +5 -1
  531. package/components/dialog/parts/DialogAction.js +3 -2
  532. package/components/dialog/parts/DialogAction.js.map +1 -1
  533. package/components/form-row/FormRow.js.map +1 -1
  534. package/components/form-row/style/dnb-form-row.scss +2 -2
  535. package/components/form-set/FormSet.js.map +1 -1
  536. package/components/height-animation/HeightAnimation.d.ts +1 -1
  537. package/components/height-animation/HeightAnimation.js.map +1 -1
  538. package/components/height-animation/useHeightAnimation.js.map +1 -1
  539. package/components/icon/lib/SvgComparison.js.map +1 -1
  540. package/components/input/style/dnb-input.css +5 -0
  541. package/components/input/style/dnb-input.min.css +1 -1
  542. package/components/input/style/dnb-input.scss +7 -1
  543. package/components/input/style/themes/dnb-input-theme-sbanken.css +104 -0
  544. package/components/input/style/themes/dnb-input-theme-sbanken.min.css +1 -0
  545. package/components/input/style/themes/dnb-input-theme-sbanken.scss +126 -0
  546. package/components/input-masked/InputMaskedUtils.js.map +1 -1
  547. package/components/input-masked/TextMask.js.map +1 -1
  548. package/components/modal/Modal.js +0 -2
  549. package/components/modal/Modal.js.map +1 -1
  550. package/components/modal/bodyScrollLock.js.map +1 -1
  551. package/components/number-format/NumberUtils.js +8 -6
  552. package/components/number-format/NumberUtils.js.map +1 -1
  553. package/components/number-format/style/dnb-number-format.css +0 -7
  554. package/components/number-format/style/dnb-number-format.scss +0 -1
  555. package/components/pagination/PaginationInfinity.js.map +1 -1
  556. package/components/radio/Radio.js.map +1 -1
  557. package/components/section/style/themes/dnb-section-theme-ui.css +14 -7
  558. package/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  559. package/components/slider/hooks/useSliderEvents.js.map +1 -1
  560. package/components/slider/types.d.ts +1 -1
  561. package/components/slider/types.js.map +1 -1
  562. package/components/space/Space.d.ts +2 -2
  563. package/components/space/SpacingHelper.js.map +1 -1
  564. package/components/step-indicator/StepIndicatorProps.d.ts +1 -1
  565. package/components/table/TableAccordion.js.map +1 -1
  566. package/components/table/TableTr.js.map +1 -1
  567. package/components/textarea/Textarea.js.map +1 -1
  568. package/components/textarea/style/dnb-textarea.css +39 -1
  569. package/components/textarea/style/dnb-textarea.min.css +1 -1
  570. package/components/textarea/style/dnb-textarea.scss +20 -1
  571. package/components/textarea/style/themes/dnb-textarea-theme-sbanken.css +61 -0
  572. package/components/textarea/style/themes/dnb-textarea-theme-sbanken.min.css +1 -0
  573. package/components/textarea/style/themes/dnb-textarea-theme-sbanken.scss +72 -0
  574. package/components/textarea/style/themes/dnb-textarea-theme-ui.css +0 -41
  575. package/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  576. package/components/textarea/style/themes/dnb-textarea-theme-ui.scss +0 -22
  577. package/components/toggle-button/ToggleButton.js.map +1 -1
  578. package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  579. package/components/tooltip/TooltipContainer.js.map +1 -1
  580. package/components/upload/Upload.js +2 -2
  581. package/components/upload/Upload.js.map +1 -1
  582. package/components/upload/useUpload.d.ts +1 -1
  583. package/components/upload/useUpload.js +2 -2
  584. package/components/upload/useUpload.js.map +1 -1
  585. package/elements/blockquote/Blockquote.d.ts +1 -1
  586. package/elements/blockquote/Blockquote.js.map +1 -1
  587. package/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +0 -2
  588. package/es/components/accordion/Accordion.d.ts +240 -136
  589. package/es/components/accordion/Accordion.js +210 -244
  590. package/es/components/accordion/Accordion.js.map +1 -1
  591. package/es/components/accordion/AccordionContent.d.ts +12 -14
  592. package/es/components/accordion/AccordionContent.js +5 -17
  593. package/es/components/accordion/AccordionContent.js.map +1 -1
  594. package/es/components/accordion/AccordionContext.d.ts +17 -2
  595. package/es/components/accordion/AccordionContext.js.map +1 -1
  596. package/es/components/accordion/AccordionGroup.d.ts +10 -12
  597. package/es/components/accordion/AccordionGroup.js +60 -71
  598. package/es/components/accordion/AccordionGroup.js.map +1 -1
  599. package/es/components/accordion/AccordionHeader.d.ts +62 -92
  600. package/es/components/accordion/AccordionHeader.js +176 -253
  601. package/es/components/accordion/AccordionHeader.js.map +1 -1
  602. package/es/components/accordion/AccordionProviderContext.d.ts +16 -2
  603. package/es/components/accordion/AccordionProviderContext.js.map +1 -1
  604. package/es/components/accordion/AccordionStore.d.ts +7 -6
  605. package/es/components/accordion/AccordionStore.js +2 -2
  606. package/es/components/accordion/AccordionStore.js.map +1 -1
  607. package/es/components/accordion/defaultProps.d.ts +2 -0
  608. package/es/components/accordion/defaultProps.js +5 -0
  609. package/es/components/accordion/defaultProps.js.map +1 -0
  610. package/es/components/anchor/style/anchor-mixins.scss +26 -27
  611. package/es/components/anchor/style/dnb-anchor.css +27 -16
  612. package/es/components/anchor/style/dnb-anchor.min.css +1 -1
  613. package/es/components/anchor/style/dnb-anchor.scss +1 -1
  614. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +97 -44
  615. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  616. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +48 -22
  617. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.css +20 -10
  618. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  619. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.scss +4 -9
  620. package/es/components/autocomplete/Autocomplete.js +2 -2
  621. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  622. package/es/components/button/style/themes/button-mixins.scss +23 -4
  623. package/es/components/button/style/themes/dnb-button-theme-sbanken.css +80 -82
  624. package/es/components/button/style/themes/dnb-button-theme-sbanken.min.css +3 -1
  625. package/es/components/button/style/themes/dnb-button-theme-sbanken.scss +82 -54
  626. package/es/components/date-picker/DatePicker.js.map +1 -1
  627. package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
  628. package/es/components/dialog/Dialog.d.ts +1 -1
  629. package/es/components/dialog/DialogContent.d.ts +1 -1
  630. package/es/components/dialog/DialogContent.js +4 -2
  631. package/es/components/dialog/DialogContent.js.map +1 -1
  632. package/es/components/dialog/parts/DialogAction.d.ts +5 -1
  633. package/es/components/dialog/parts/DialogAction.js +3 -2
  634. package/es/components/dialog/parts/DialogAction.js.map +1 -1
  635. package/es/components/form-row/FormRow.js.map +1 -1
  636. package/es/components/form-row/style/dnb-form-row.scss +2 -2
  637. package/es/components/form-set/FormSet.js.map +1 -1
  638. package/es/components/height-animation/HeightAnimation.d.ts +1 -1
  639. package/es/components/height-animation/HeightAnimation.js.map +1 -1
  640. package/es/components/height-animation/useHeightAnimation.js.map +1 -1
  641. package/es/components/icon/lib/SvgComparison.js.map +1 -1
  642. package/es/components/input/style/dnb-input.css +5 -0
  643. package/es/components/input/style/dnb-input.min.css +1 -1
  644. package/es/components/input/style/dnb-input.scss +7 -1
  645. package/es/components/input/style/themes/dnb-input-theme-sbanken.css +104 -0
  646. package/es/components/input/style/themes/dnb-input-theme-sbanken.min.css +1 -0
  647. package/es/components/input/style/themes/dnb-input-theme-sbanken.scss +126 -0
  648. package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
  649. package/es/components/input-masked/TextMask.js.map +1 -1
  650. package/es/components/modal/Modal.js +0 -2
  651. package/es/components/modal/Modal.js.map +1 -1
  652. package/es/components/modal/bodyScrollLock.js.map +1 -1
  653. package/es/components/number-format/NumberUtils.js +8 -6
  654. package/es/components/number-format/NumberUtils.js.map +1 -1
  655. package/es/components/number-format/style/dnb-number-format.css +0 -7
  656. package/es/components/number-format/style/dnb-number-format.scss +0 -1
  657. package/es/components/pagination/PaginationInfinity.js.map +1 -1
  658. package/es/components/radio/Radio.js.map +1 -1
  659. package/es/components/section/style/themes/dnb-section-theme-ui.css +14 -7
  660. package/es/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  661. package/es/components/slider/hooks/useSliderEvents.js.map +1 -1
  662. package/es/components/slider/types.d.ts +1 -1
  663. package/es/components/slider/types.js.map +1 -1
  664. package/es/components/space/Space.d.ts +2 -2
  665. package/es/components/space/SpacingHelper.js.map +1 -1
  666. package/es/components/step-indicator/StepIndicatorProps.d.ts +1 -1
  667. package/es/components/table/TableAccordion.js.map +1 -1
  668. package/es/components/table/TableTr.js.map +1 -1
  669. package/es/components/textarea/Textarea.js.map +1 -1
  670. package/es/components/textarea/style/dnb-textarea.css +39 -1
  671. package/es/components/textarea/style/dnb-textarea.min.css +1 -1
  672. package/es/components/textarea/style/dnb-textarea.scss +20 -1
  673. package/es/components/textarea/style/themes/dnb-textarea-theme-sbanken.css +61 -0
  674. package/es/components/textarea/style/themes/dnb-textarea-theme-sbanken.min.css +1 -0
  675. package/es/components/textarea/style/themes/dnb-textarea-theme-sbanken.scss +72 -0
  676. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.css +0 -41
  677. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  678. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.scss +0 -22
  679. package/es/components/toggle-button/ToggleButton.js.map +1 -1
  680. package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  681. package/es/components/tooltip/TooltipContainer.js.map +1 -1
  682. package/es/components/upload/Upload.js +2 -2
  683. package/es/components/upload/Upload.js.map +1 -1
  684. package/es/components/upload/useUpload.d.ts +1 -1
  685. package/es/components/upload/useUpload.js +2 -2
  686. package/es/components/upload/useUpload.js.map +1 -1
  687. package/es/elements/blockquote/Blockquote.d.ts +1 -1
  688. package/es/elements/blockquote/Blockquote.js.map +1 -1
  689. package/es/elements/blockquote/style/themes/dnb-blockquote-theme-sbanken.scss +0 -2
  690. package/es/extensions/forms/DataContext/At.d.ts +13 -0
  691. package/es/extensions/forms/DataContext/At.js +48 -0
  692. package/es/extensions/forms/DataContext/At.js.map +1 -0
  693. package/es/extensions/forms/DataContext/Context.d.ts +19 -0
  694. package/es/extensions/forms/DataContext/Context.js +16 -0
  695. package/es/extensions/forms/DataContext/Context.js.map +1 -0
  696. package/es/extensions/forms/DataContext/Provider.d.ts +19 -0
  697. package/es/extensions/forms/DataContext/Provider.js +102 -0
  698. package/es/extensions/forms/DataContext/Provider.js.map +1 -0
  699. package/es/extensions/forms/DataContext/SubmitButton.d.ts +9 -0
  700. package/es/extensions/forms/DataContext/SubmitButton.js +20 -0
  701. package/es/extensions/forms/DataContext/SubmitButton.js.map +1 -0
  702. package/es/extensions/forms/DataContext/index.d.ts +13 -0
  703. package/es/extensions/forms/DataContext/index.js +12 -0
  704. package/es/extensions/forms/DataContext/index.js.map +1 -0
  705. package/es/extensions/forms/Field/ArraySelection.d.ts +12 -0
  706. package/es/extensions/forms/Field/ArraySelection.js +60 -0
  707. package/es/extensions/forms/Field/ArraySelection.js.map +1 -0
  708. package/es/extensions/forms/Field/BankAccountNumber.d.ts +10 -0
  709. package/es/extensions/forms/Field/BankAccountNumber.js +28 -0
  710. package/es/extensions/forms/Field/BankAccountNumber.js.map +1 -0
  711. package/es/extensions/forms/Field/Boolean.d.ts +10 -0
  712. package/es/extensions/forms/Field/Boolean.js +23 -0
  713. package/es/extensions/forms/Field/Boolean.js.map +1 -0
  714. package/es/extensions/forms/Field/Currency.d.ts +10 -0
  715. package/es/extensions/forms/Field/Currency.js +50 -0
  716. package/es/extensions/forms/Field/Currency.js.map +1 -0
  717. package/es/extensions/forms/Field/Date.d.ts +8 -0
  718. package/es/extensions/forms/Field/Date.js +46 -0
  719. package/es/extensions/forms/Field/Date.js.map +1 -0
  720. package/es/extensions/forms/Field/Email.d.ts +7 -0
  721. package/es/extensions/forms/Field/Email.js +22 -0
  722. package/es/extensions/forms/Field/Email.js.map +1 -0
  723. package/es/extensions/forms/Field/FirstName.d.ts +7 -0
  724. package/es/extensions/forms/Field/FirstName.js +19 -0
  725. package/es/extensions/forms/Field/FirstName.js.map +1 -0
  726. package/es/extensions/forms/Field/LastName.d.ts +7 -0
  727. package/es/extensions/forms/Field/LastName.js +19 -0
  728. package/es/extensions/forms/Field/LastName.js.map +1 -0
  729. package/es/extensions/forms/Field/NationalIdentityNumber.d.ts +10 -0
  730. package/es/extensions/forms/Field/NationalIdentityNumber.js +27 -0
  731. package/es/extensions/forms/Field/NationalIdentityNumber.js.map +1 -0
  732. package/es/extensions/forms/Field/Number.d.ts +31 -0
  733. package/es/extensions/forms/Field/Number.js +100 -0
  734. package/es/extensions/forms/Field/Number.js.map +1 -0
  735. package/es/extensions/forms/Field/Option.d.ts +9 -0
  736. package/es/extensions/forms/Field/Option.js +14 -0
  737. package/es/extensions/forms/Field/Option.js.map +1 -0
  738. package/es/extensions/forms/Field/OrganizationNumber.d.ts +10 -0
  739. package/es/extensions/forms/Field/OrganizationNumber.js +28 -0
  740. package/es/extensions/forms/Field/OrganizationNumber.js.map +1 -0
  741. package/es/extensions/forms/Field/PhoneNumber.d.ts +12 -0
  742. package/es/extensions/forms/Field/PhoneNumber.js +87 -0
  743. package/es/extensions/forms/Field/PhoneNumber.js.map +1 -0
  744. package/es/extensions/forms/Field/PostalCodeAndCity.d.ts +10 -0
  745. package/es/extensions/forms/Field/PostalCodeAndCity.js +46 -0
  746. package/es/extensions/forms/Field/PostalCodeAndCity.js.map +1 -0
  747. package/es/extensions/forms/Field/SelectCountry.d.ts +7 -0
  748. package/es/extensions/forms/Field/SelectCountry.js +26 -0
  749. package/es/extensions/forms/Field/SelectCountry.js.map +1 -0
  750. package/es/extensions/forms/Field/Selection.d.ts +13 -0
  751. package/es/extensions/forms/Field/Selection.js +107 -0
  752. package/es/extensions/forms/Field/Selection.js.map +1 -0
  753. package/es/extensions/forms/Field/String.d.ts +32 -0
  754. package/es/extensions/forms/Field/String.js +122 -0
  755. package/es/extensions/forms/Field/String.js.map +1 -0
  756. package/es/extensions/forms/Field/Toggle.d.ts +14 -0
  757. package/es/extensions/forms/Field/Toggle.js +116 -0
  758. package/es/extensions/forms/Field/Toggle.js.map +1 -0
  759. package/es/extensions/forms/Field/fields.scss +2 -0
  760. package/es/extensions/forms/Field/hooks/index.d.ts +1 -0
  761. package/es/extensions/forms/Field/hooks/index.js +1 -0
  762. package/es/extensions/forms/Field/hooks/index.js.map +1 -0
  763. package/es/extensions/forms/Field/hooks/useField.d.ts +11 -0
  764. package/es/extensions/forms/Field/hooks/useField.js +150 -0
  765. package/es/extensions/forms/Field/hooks/useField.js.map +1 -0
  766. package/es/extensions/forms/Field/index.d.ts +39 -0
  767. package/es/extensions/forms/Field/index.js +40 -0
  768. package/es/extensions/forms/Field/index.js.map +1 -0
  769. package/es/extensions/forms/Field/style/dnb-number.css +11 -0
  770. package/es/extensions/forms/Field/style/dnb-number.min.css +1 -0
  771. package/es/extensions/forms/Field/style/dnb-number.scss +19 -0
  772. package/es/extensions/forms/Field/style/dnb-phone-number.css +23 -0
  773. package/es/extensions/forms/Field/style/dnb-phone-number.min.css +1 -0
  774. package/es/extensions/forms/Field/style/dnb-phone-number.scss +28 -0
  775. package/es/extensions/forms/Field/style/dnb-postal-code-and-city.css +19 -0
  776. package/es/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -0
  777. package/es/extensions/forms/Field/style/dnb-postal-code-and-city.scss +25 -0
  778. package/es/extensions/forms/Field/style/dnb-selection.css +6 -0
  779. package/es/extensions/forms/Field/style/dnb-selection.min.css +1 -0
  780. package/es/extensions/forms/Field/style/dnb-selection.scss +15 -0
  781. package/es/extensions/forms/Field/style/dnb-string.css +11 -0
  782. package/es/extensions/forms/Field/style/dnb-string.min.css +1 -0
  783. package/es/extensions/forms/Field/style/dnb-string.scss +19 -0
  784. package/es/extensions/forms/Field/style/index.d.ts +6 -0
  785. package/es/extensions/forms/Field/style/index.js +3 -0
  786. package/es/extensions/forms/Field/style/index.js.map +1 -0
  787. package/es/extensions/forms/Field/style/index.scss +5 -0
  788. package/es/extensions/forms/Field/style.d.ts +5 -0
  789. package/es/extensions/forms/Field/style.js +1 -0
  790. package/es/extensions/forms/Field/style.js.map +1 -0
  791. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +12 -0
  792. package/es/extensions/forms/FieldBlock/FieldBlock.js +69 -0
  793. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -0
  794. package/es/extensions/forms/FieldBlock/index.d.ts +1 -0
  795. package/es/extensions/forms/FieldBlock/index.js +1 -0
  796. package/es/extensions/forms/FieldBlock/index.js.map +1 -0
  797. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +15 -0
  798. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -0
  799. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +19 -0
  800. package/es/extensions/forms/FieldBlock/style/index.d.ts +5 -0
  801. package/es/extensions/forms/FieldBlock/style/index.js +1 -0
  802. package/es/extensions/forms/FieldBlock/style/index.js.map +1 -0
  803. package/es/extensions/forms/FieldBlock/style.d.ts +5 -0
  804. package/es/extensions/forms/FieldBlock/style.js +1 -0
  805. package/es/extensions/forms/FieldBlock/style.js.map +1 -0
  806. package/es/extensions/forms/FieldGroup/FieldGroup.d.ts +17 -0
  807. package/es/extensions/forms/FieldGroup/FieldGroup.js +77 -0
  808. package/es/extensions/forms/FieldGroup/FieldGroup.js.map +1 -0
  809. package/es/extensions/forms/FieldGroup/index.d.ts +2 -0
  810. package/es/extensions/forms/FieldGroup/index.js +3 -0
  811. package/es/extensions/forms/FieldGroup/index.js.map +1 -0
  812. package/es/extensions/forms/Forms.d.ts +3 -0
  813. package/es/extensions/forms/Forms.js +4 -0
  814. package/es/extensions/forms/Forms.js.map +1 -0
  815. package/es/extensions/forms/Layout/ButtonRow.d.ts +10 -0
  816. package/es/extensions/forms/Layout/ButtonRow.js +17 -0
  817. package/es/extensions/forms/Layout/ButtonRow.js.map +1 -0
  818. package/es/extensions/forms/Layout/Card.d.ts +14 -0
  819. package/es/extensions/forms/Layout/Card.js +37 -0
  820. package/es/extensions/forms/Layout/Card.js.map +1 -0
  821. package/es/extensions/forms/Layout/Column.d.ts +7 -0
  822. package/es/extensions/forms/Layout/Column.js +17 -0
  823. package/es/extensions/forms/Layout/Column.js.map +1 -0
  824. package/es/extensions/forms/Layout/FlexContainer.d.ts +23 -0
  825. package/es/extensions/forms/Layout/FlexContainer.js +91 -0
  826. package/es/extensions/forms/Layout/FlexContainer.js.map +1 -0
  827. package/es/extensions/forms/Layout/FlexItem.d.ts +12 -0
  828. package/es/extensions/forms/Layout/FlexItem.js +20 -0
  829. package/es/extensions/forms/Layout/FlexItem.js.map +1 -0
  830. package/es/extensions/forms/Layout/InfoCardSection.d.ts +8 -0
  831. package/es/extensions/forms/Layout/InfoCardSection.js +17 -0
  832. package/es/extensions/forms/Layout/InfoCardSection.js.map +1 -0
  833. package/es/extensions/forms/Layout/MainHeading.d.ts +10 -0
  834. package/es/extensions/forms/Layout/MainHeading.js +19 -0
  835. package/es/extensions/forms/Layout/MainHeading.js.map +1 -0
  836. package/es/extensions/forms/Layout/Row.d.ts +7 -0
  837. package/es/extensions/forms/Layout/Row.js +17 -0
  838. package/es/extensions/forms/Layout/Row.js.map +1 -0
  839. package/es/extensions/forms/Layout/Section.d.ts +13 -0
  840. package/es/extensions/forms/Layout/Section.js +21 -0
  841. package/es/extensions/forms/Layout/Section.js.map +1 -0
  842. package/es/extensions/forms/Layout/SubHeading.d.ts +10 -0
  843. package/es/extensions/forms/Layout/SubHeading.js +18 -0
  844. package/es/extensions/forms/Layout/SubHeading.js.map +1 -0
  845. package/es/extensions/forms/Layout/index.d.ts +23 -0
  846. package/es/extensions/forms/Layout/index.js +24 -0
  847. package/es/extensions/forms/Layout/index.js.map +1 -0
  848. package/es/extensions/forms/Layout/style/dnb-button-row.css +7 -0
  849. package/es/extensions/forms/Layout/style/dnb-button-row.min.css +1 -0
  850. package/es/extensions/forms/Layout/style/dnb-button-row.scss +5 -0
  851. package/es/extensions/forms/Layout/style/dnb-card.css +13 -0
  852. package/es/extensions/forms/Layout/style/dnb-card.min.css +1 -0
  853. package/es/extensions/forms/Layout/style/dnb-card.scss +15 -0
  854. package/es/extensions/forms/Layout/style/dnb-flex-container.css +63 -0
  855. package/es/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -0
  856. package/es/extensions/forms/Layout/style/dnb-flex-container.scss +84 -0
  857. package/es/extensions/forms/Layout/style/dnb-flex-item.css +6 -0
  858. package/es/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -0
  859. package/es/extensions/forms/Layout/style/dnb-flex-item.scss +9 -0
  860. package/es/extensions/forms/Layout/style/dnb-section.css +3 -0
  861. package/es/extensions/forms/Layout/style/dnb-section.min.css +1 -0
  862. package/es/extensions/forms/Layout/style/dnb-section.scss +3 -0
  863. package/es/extensions/forms/Layout/style/index.d.ts +9 -0
  864. package/es/extensions/forms/Layout/style/index.js +6 -0
  865. package/es/extensions/forms/Layout/style/index.js.map +1 -0
  866. package/es/extensions/forms/Layout/style/index.scss +5 -0
  867. package/es/extensions/forms/Layout/style.d.ts +5 -0
  868. package/es/extensions/forms/Layout/style.js +1 -0
  869. package/es/extensions/forms/Layout/style.js.map +1 -0
  870. package/es/extensions/forms/StepsLayout/Buttons.d.ts +9 -0
  871. package/es/extensions/forms/StepsLayout/Buttons.js +19 -0
  872. package/es/extensions/forms/StepsLayout/Buttons.js.map +1 -0
  873. package/es/extensions/forms/StepsLayout/NextButton.d.ts +10 -0
  874. package/es/extensions/forms/StepsLayout/NextButton.js +27 -0
  875. package/es/extensions/forms/StepsLayout/NextButton.js.map +1 -0
  876. package/es/extensions/forms/StepsLayout/PreviousButton.d.ts +10 -0
  877. package/es/extensions/forms/StepsLayout/PreviousButton.js +27 -0
  878. package/es/extensions/forms/StepsLayout/PreviousButton.js.map +1 -0
  879. package/es/extensions/forms/StepsLayout/Step.d.ts +15 -0
  880. package/es/extensions/forms/StepsLayout/Step.js +27 -0
  881. package/es/extensions/forms/StepsLayout/Step.js.map +1 -0
  882. package/es/extensions/forms/StepsLayout/StepsContext.d.ts +8 -0
  883. package/es/extensions/forms/StepsLayout/StepsContext.js +4 -0
  884. package/es/extensions/forms/StepsLayout/StepsContext.js.map +1 -0
  885. package/es/extensions/forms/StepsLayout/StepsLayout.d.ts +19 -0
  886. package/es/extensions/forms/StepsLayout/StepsLayout.js +105 -0
  887. package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -0
  888. package/es/extensions/forms/StepsLayout/index.d.ts +3 -0
  889. package/es/extensions/forms/StepsLayout/index.js +4 -0
  890. package/es/extensions/forms/StepsLayout/index.js.map +1 -0
  891. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +25 -0
  892. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -0
  893. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +23 -0
  894. package/es/extensions/forms/StepsLayout/style/index.d.ts +5 -0
  895. package/es/extensions/forms/StepsLayout/style/index.js +1 -0
  896. package/es/extensions/forms/StepsLayout/style/index.js.map +1 -0
  897. package/es/extensions/forms/StepsLayout/style/index.scss +1 -0
  898. package/es/extensions/forms/StepsLayout/style.d.ts +5 -0
  899. package/es/extensions/forms/StepsLayout/style.js +1 -0
  900. package/es/extensions/forms/StepsLayout/style.js.map +1 -0
  901. package/es/extensions/forms/Value/BankAccountNumber.d.ts +7 -0
  902. package/es/extensions/forms/Value/BankAccountNumber.js +20 -0
  903. package/es/extensions/forms/Value/BankAccountNumber.js.map +1 -0
  904. package/es/extensions/forms/Value/Boolean.d.ts +8 -0
  905. package/es/extensions/forms/Value/Boolean.js +27 -0
  906. package/es/extensions/forms/Value/Boolean.js.map +1 -0
  907. package/es/extensions/forms/Value/Currency.d.ts +7 -0
  908. package/es/extensions/forms/Value/Currency.js +16 -0
  909. package/es/extensions/forms/Value/Currency.js.map +1 -0
  910. package/es/extensions/forms/Value/Date.d.ts +7 -0
  911. package/es/extensions/forms/Value/Date.js +16 -0
  912. package/es/extensions/forms/Value/Date.js.map +1 -0
  913. package/es/extensions/forms/Value/Email.d.ts +7 -0
  914. package/es/extensions/forms/Value/Email.js +16 -0
  915. package/es/extensions/forms/Value/Email.js.map +1 -0
  916. package/es/extensions/forms/Value/FirstName.d.ts +7 -0
  917. package/es/extensions/forms/Value/FirstName.js +16 -0
  918. package/es/extensions/forms/Value/FirstName.js.map +1 -0
  919. package/es/extensions/forms/Value/LastName.d.ts +7 -0
  920. package/es/extensions/forms/Value/LastName.js +16 -0
  921. package/es/extensions/forms/Value/LastName.js.map +1 -0
  922. package/es/extensions/forms/Value/NationalIdentityNumber.d.ts +7 -0
  923. package/es/extensions/forms/Value/NationalIdentityNumber.js +20 -0
  924. package/es/extensions/forms/Value/NationalIdentityNumber.js.map +1 -0
  925. package/es/extensions/forms/Value/Number.d.ts +14 -0
  926. package/es/extensions/forms/Value/Number.js +36 -0
  927. package/es/extensions/forms/Value/Number.js.map +1 -0
  928. package/es/extensions/forms/Value/PhoneNumber.d.ts +7 -0
  929. package/es/extensions/forms/Value/PhoneNumber.js +20 -0
  930. package/es/extensions/forms/Value/PhoneNumber.js.map +1 -0
  931. package/es/extensions/forms/Value/String.d.ts +8 -0
  932. package/es/extensions/forms/Value/String.js +26 -0
  933. package/es/extensions/forms/Value/String.js.map +1 -0
  934. package/es/extensions/forms/Value/hooks/index.d.ts +1 -0
  935. package/es/extensions/forms/Value/hooks/index.js +1 -0
  936. package/es/extensions/forms/Value/hooks/index.js.map +1 -0
  937. package/es/extensions/forms/Value/hooks/useValue.d.ts +2 -0
  938. package/es/extensions/forms/Value/hooks/useValue.js +22 -0
  939. package/es/extensions/forms/Value/hooks/useValue.js.map +1 -0
  940. package/es/extensions/forms/Value/index.d.ts +25 -0
  941. package/es/extensions/forms/Value/index.js +26 -0
  942. package/es/extensions/forms/Value/index.js.map +1 -0
  943. package/es/extensions/forms/ValueBlock/ValueBlock.d.ts +11 -0
  944. package/es/extensions/forms/ValueBlock/ValueBlock.js +30 -0
  945. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -0
  946. package/es/extensions/forms/ValueBlock/index.d.ts +1 -0
  947. package/es/extensions/forms/ValueBlock/index.js +1 -0
  948. package/es/extensions/forms/ValueBlock/index.js.map +1 -0
  949. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +16 -0
  950. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -0
  951. package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +19 -0
  952. package/es/extensions/forms/ValueBlock/style/index.d.ts +5 -0
  953. package/es/extensions/forms/ValueBlock/style/index.js +1 -0
  954. package/es/extensions/forms/ValueBlock/style/index.js.map +1 -0
  955. package/es/extensions/forms/ValueBlock/style/index.scss +1 -0
  956. package/es/extensions/forms/ValueBlock/style.d.ts +5 -0
  957. package/es/extensions/forms/ValueBlock/style.js +1 -0
  958. package/es/extensions/forms/ValueBlock/style.js.map +1 -0
  959. package/es/extensions/forms/Visibility/Visibility.d.ts +24 -0
  960. package/es/extensions/forms/Visibility/Visibility.js +44 -0
  961. package/es/extensions/forms/Visibility/Visibility.js.map +1 -0
  962. package/es/extensions/forms/Visibility/index.d.ts +1 -0
  963. package/es/extensions/forms/Visibility/index.js +1 -0
  964. package/es/extensions/forms/Visibility/index.js.map +1 -0
  965. package/es/extensions/forms/component-types.d.ts +4 -0
  966. package/es/extensions/forms/component-types.js +1 -0
  967. package/es/extensions/forms/component-types.js.map +1 -0
  968. package/es/extensions/forms/constants/countries.d.ts +6 -0
  969. package/es/extensions/forms/constants/countries.js +962 -0
  970. package/es/extensions/forms/constants/countries.js.map +1 -0
  971. package/es/extensions/forms/field-types.d.ts +52 -0
  972. package/es/extensions/forms/field-types.js +1 -0
  973. package/es/extensions/forms/field-types.js.map +1 -0
  974. package/es/extensions/forms/index.d.ts +13 -0
  975. package/es/extensions/forms/index.js +12 -0
  976. package/es/extensions/forms/index.js.map +1 -0
  977. package/es/extensions/forms/style/dnb-forms.css +237 -0
  978. package/es/extensions/forms/style/dnb-forms.min.css +1 -0
  979. package/es/extensions/forms/style/dnb-forms.scss +6 -0
  980. package/es/extensions/forms/style.d.ts +5 -0
  981. package/es/extensions/forms/style.js +1 -0
  982. package/es/extensions/forms/style.js.map +1 -0
  983. package/es/extensions/forms/types.d.ts +11 -0
  984. package/es/extensions/forms/types.js +11 -0
  985. package/es/extensions/forms/types.js.map +1 -0
  986. package/es/extensions/forms/utils/TestElement/TestElement.d.ts +6 -0
  987. package/es/extensions/forms/utils/TestElement/TestElement.js +9 -0
  988. package/es/extensions/forms/utils/TestElement/TestElement.js.map +1 -0
  989. package/es/extensions/forms/utils/TestElement/style/dnb-test-element.css +6 -0
  990. package/es/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -0
  991. package/es/extensions/forms/utils/TestElement/style/dnb-test-element.scss +6 -0
  992. package/es/extensions/forms/utils/TestElement/style/index.d.ts +5 -0
  993. package/es/extensions/forms/utils/TestElement/style/index.js +1 -0
  994. package/es/extensions/forms/utils/TestElement/style/index.js.map +1 -0
  995. package/es/extensions/forms/utils/TestElement/style.d.ts +5 -0
  996. package/es/extensions/forms/utils/TestElement/style.js +1 -0
  997. package/es/extensions/forms/utils/TestElement/style.js.map +1 -0
  998. package/es/extensions/forms/utils/ajv.d.ts +14 -0
  999. package/es/extensions/forms/utils/ajv.js +56 -0
  1000. package/es/extensions/forms/utils/ajv.js.map +1 -0
  1001. package/es/extensions/forms/utils/components.d.ts +3 -0
  1002. package/es/extensions/forms/utils/components.js +23 -0
  1003. package/es/extensions/forms/utils/components.js.map +1 -0
  1004. package/es/extensions/forms/utils/index.d.ts +3 -0
  1005. package/es/extensions/forms/utils/index.js +4 -0
  1006. package/es/extensions/forms/utils/index.js.map +1 -0
  1007. package/es/extensions/forms/utils/numbers.d.ts +17 -0
  1008. package/es/extensions/forms/utils/numbers.js +35 -0
  1009. package/es/extensions/forms/utils/numbers.js.map +1 -0
  1010. package/es/extensions/forms/value-types.d.ts +15 -0
  1011. package/es/extensions/forms/value-types.js +1 -0
  1012. package/es/extensions/forms/value-types.js.map +1 -0
  1013. package/es/extensions/index.d.ts +2 -1
  1014. package/es/extensions/index.js +2 -1
  1015. package/es/extensions/index.js.map +1 -1
  1016. package/es/extensions/lib.d.ts +22 -1
  1017. package/es/extensions/lib.js +3 -1
  1018. package/es/extensions/lib.js.map +1 -1
  1019. package/es/extensions/payment-card/utils/Types.js.map +1 -1
  1020. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  1021. package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  1022. package/es/shared/Context.d.ts +2 -0
  1023. package/es/shared/Context.js.map +1 -1
  1024. package/es/shared/Eufemia.d.ts +1 -1
  1025. package/es/shared/Eufemia.js +2 -2
  1026. package/es/shared/Eufemia.js.map +1 -1
  1027. package/es/shared/VisibilityByTheme.d.ts +1 -1
  1028. package/es/shared/VisibilityByTheme.js.map +1 -1
  1029. package/es/shared/helpers.d.ts +2 -2
  1030. package/es/shared/helpers.js.map +1 -1
  1031. package/es/shared/locales/en-GB.d.ts +39 -0
  1032. package/es/shared/locales/en-GB.js +39 -0
  1033. package/es/shared/locales/en-GB.js.map +1 -1
  1034. package/es/shared/locales/en-US.d.ts +39 -0
  1035. package/es/shared/locales/index.d.ts +78 -0
  1036. package/es/shared/locales/nb-NO.d.ts +39 -0
  1037. package/es/shared/locales/nb-NO.js +39 -0
  1038. package/es/shared/locales/nb-NO.js.map +1 -1
  1039. package/es/style/core/utilities.scss +40 -8
  1040. package/es/style/dnb-ui-components.css +71 -24
  1041. package/es/style/dnb-ui-components.min.css +1 -1
  1042. package/es/style/dnb-ui-extensions.css +238 -0
  1043. package/es/style/dnb-ui-extensions.min.css +1 -1
  1044. package/es/style/dnb-ui-extensions.scss +1 -0
  1045. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +17 -11
  1046. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  1047. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +105 -82
  1048. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  1049. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +238 -0
  1050. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  1051. package/es/style/themes/theme-sbanken/properties.js +4 -4
  1052. package/es/style/themes/theme-sbanken/properties.js.map +1 -1
  1053. package/es/style/themes/theme-sbanken/properties.scss +4 -4
  1054. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +4 -11
  1055. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  1056. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +429 -333
  1057. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -1
  1058. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
  1059. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +0 -7
  1060. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +238 -0
  1061. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  1062. package/es/style/themes/theme-ui/ui-theme-basis.css +17 -11
  1063. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  1064. package/es/style/themes/theme-ui/ui-theme-components.css +105 -82
  1065. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  1066. package/es/style/themes/theme-ui/ui-theme-elements.css +17 -11
  1067. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  1068. package/es/style/themes/theme-ui/ui-theme-extensions.css +238 -0
  1069. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  1070. package/es/style/themes/theme-ui/ui-theme-tags.css +24 -12
  1071. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  1072. package/esm/dnb-ui-basis.min.mjs +1 -1
  1073. package/esm/dnb-ui-components.min.mjs +1 -1
  1074. package/esm/dnb-ui-elements.min.mjs +1 -1
  1075. package/esm/dnb-ui-extensions.min.mjs +7 -1
  1076. package/esm/dnb-ui-lib.min.mjs +1 -1
  1077. package/extensions/forms/DataContext/At.d.ts +13 -0
  1078. package/extensions/forms/DataContext/At.js +48 -0
  1079. package/extensions/forms/DataContext/At.js.map +1 -0
  1080. package/extensions/forms/DataContext/Context.d.ts +19 -0
  1081. package/extensions/forms/DataContext/Context.js +16 -0
  1082. package/extensions/forms/DataContext/Context.js.map +1 -0
  1083. package/extensions/forms/DataContext/Provider.d.ts +19 -0
  1084. package/extensions/forms/DataContext/Provider.js +103 -0
  1085. package/extensions/forms/DataContext/Provider.js.map +1 -0
  1086. package/extensions/forms/DataContext/SubmitButton.d.ts +9 -0
  1087. package/extensions/forms/DataContext/SubmitButton.js +20 -0
  1088. package/extensions/forms/DataContext/SubmitButton.js.map +1 -0
  1089. package/extensions/forms/DataContext/index.d.ts +13 -0
  1090. package/extensions/forms/DataContext/index.js +12 -0
  1091. package/extensions/forms/DataContext/index.js.map +1 -0
  1092. package/extensions/forms/Field/ArraySelection.d.ts +12 -0
  1093. package/extensions/forms/Field/ArraySelection.js +60 -0
  1094. package/extensions/forms/Field/ArraySelection.js.map +1 -0
  1095. package/extensions/forms/Field/BankAccountNumber.d.ts +10 -0
  1096. package/extensions/forms/Field/BankAccountNumber.js +28 -0
  1097. package/extensions/forms/Field/BankAccountNumber.js.map +1 -0
  1098. package/extensions/forms/Field/Boolean.d.ts +10 -0
  1099. package/extensions/forms/Field/Boolean.js +23 -0
  1100. package/extensions/forms/Field/Boolean.js.map +1 -0
  1101. package/extensions/forms/Field/Currency.d.ts +10 -0
  1102. package/extensions/forms/Field/Currency.js +51 -0
  1103. package/extensions/forms/Field/Currency.js.map +1 -0
  1104. package/extensions/forms/Field/Date.d.ts +8 -0
  1105. package/extensions/forms/Field/Date.js +47 -0
  1106. package/extensions/forms/Field/Date.js.map +1 -0
  1107. package/extensions/forms/Field/Email.d.ts +7 -0
  1108. package/extensions/forms/Field/Email.js +22 -0
  1109. package/extensions/forms/Field/Email.js.map +1 -0
  1110. package/extensions/forms/Field/FirstName.d.ts +7 -0
  1111. package/extensions/forms/Field/FirstName.js +19 -0
  1112. package/extensions/forms/Field/FirstName.js.map +1 -0
  1113. package/extensions/forms/Field/LastName.d.ts +7 -0
  1114. package/extensions/forms/Field/LastName.js +19 -0
  1115. package/extensions/forms/Field/LastName.js.map +1 -0
  1116. package/extensions/forms/Field/NationalIdentityNumber.d.ts +10 -0
  1117. package/extensions/forms/Field/NationalIdentityNumber.js +27 -0
  1118. package/extensions/forms/Field/NationalIdentityNumber.js.map +1 -0
  1119. package/extensions/forms/Field/Number.d.ts +31 -0
  1120. package/extensions/forms/Field/Number.js +101 -0
  1121. package/extensions/forms/Field/Number.js.map +1 -0
  1122. package/extensions/forms/Field/Option.d.ts +9 -0
  1123. package/extensions/forms/Field/Option.js +15 -0
  1124. package/extensions/forms/Field/Option.js.map +1 -0
  1125. package/extensions/forms/Field/OrganizationNumber.d.ts +10 -0
  1126. package/extensions/forms/Field/OrganizationNumber.js +28 -0
  1127. package/extensions/forms/Field/OrganizationNumber.js.map +1 -0
  1128. package/extensions/forms/Field/PhoneNumber.d.ts +12 -0
  1129. package/extensions/forms/Field/PhoneNumber.js +89 -0
  1130. package/extensions/forms/Field/PhoneNumber.js.map +1 -0
  1131. package/extensions/forms/Field/PostalCodeAndCity.d.ts +10 -0
  1132. package/extensions/forms/Field/PostalCodeAndCity.js +46 -0
  1133. package/extensions/forms/Field/PostalCodeAndCity.js.map +1 -0
  1134. package/extensions/forms/Field/SelectCountry.d.ts +7 -0
  1135. package/extensions/forms/Field/SelectCountry.js +26 -0
  1136. package/extensions/forms/Field/SelectCountry.js.map +1 -0
  1137. package/extensions/forms/Field/Selection.d.ts +13 -0
  1138. package/extensions/forms/Field/Selection.js +110 -0
  1139. package/extensions/forms/Field/Selection.js.map +1 -0
  1140. package/extensions/forms/Field/String.d.ts +32 -0
  1141. package/extensions/forms/Field/String.js +123 -0
  1142. package/extensions/forms/Field/String.js.map +1 -0
  1143. package/extensions/forms/Field/Toggle.d.ts +14 -0
  1144. package/extensions/forms/Field/Toggle.js +117 -0
  1145. package/extensions/forms/Field/Toggle.js.map +1 -0
  1146. package/extensions/forms/Field/fields.scss +2 -0
  1147. package/extensions/forms/Field/hooks/index.d.ts +1 -0
  1148. package/extensions/forms/Field/hooks/index.js +1 -0
  1149. package/extensions/forms/Field/hooks/index.js.map +1 -0
  1150. package/extensions/forms/Field/hooks/useField.d.ts +11 -0
  1151. package/extensions/forms/Field/hooks/useField.js +152 -0
  1152. package/extensions/forms/Field/hooks/useField.js.map +1 -0
  1153. package/extensions/forms/Field/index.d.ts +39 -0
  1154. package/extensions/forms/Field/index.js +40 -0
  1155. package/extensions/forms/Field/index.js.map +1 -0
  1156. package/extensions/forms/Field/style/dnb-number.css +11 -0
  1157. package/extensions/forms/Field/style/dnb-number.min.css +1 -0
  1158. package/extensions/forms/Field/style/dnb-number.scss +19 -0
  1159. package/extensions/forms/Field/style/dnb-phone-number.css +23 -0
  1160. package/extensions/forms/Field/style/dnb-phone-number.min.css +1 -0
  1161. package/extensions/forms/Field/style/dnb-phone-number.scss +28 -0
  1162. package/extensions/forms/Field/style/dnb-postal-code-and-city.css +19 -0
  1163. package/extensions/forms/Field/style/dnb-postal-code-and-city.min.css +1 -0
  1164. package/extensions/forms/Field/style/dnb-postal-code-and-city.scss +25 -0
  1165. package/extensions/forms/Field/style/dnb-selection.css +6 -0
  1166. package/extensions/forms/Field/style/dnb-selection.min.css +1 -0
  1167. package/extensions/forms/Field/style/dnb-selection.scss +15 -0
  1168. package/extensions/forms/Field/style/dnb-string.css +11 -0
  1169. package/extensions/forms/Field/style/dnb-string.min.css +1 -0
  1170. package/extensions/forms/Field/style/dnb-string.scss +19 -0
  1171. package/extensions/forms/Field/style/index.d.ts +6 -0
  1172. package/extensions/forms/Field/style/index.js +3 -0
  1173. package/extensions/forms/Field/style/index.js.map +1 -0
  1174. package/extensions/forms/Field/style/index.scss +5 -0
  1175. package/extensions/forms/Field/style.d.ts +5 -0
  1176. package/extensions/forms/Field/style.js +1 -0
  1177. package/extensions/forms/Field/style.js.map +1 -0
  1178. package/extensions/forms/FieldBlock/FieldBlock.d.ts +12 -0
  1179. package/extensions/forms/FieldBlock/FieldBlock.js +69 -0
  1180. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -0
  1181. package/extensions/forms/FieldBlock/index.d.ts +1 -0
  1182. package/extensions/forms/FieldBlock/index.js +1 -0
  1183. package/extensions/forms/FieldBlock/index.js.map +1 -0
  1184. package/extensions/forms/FieldBlock/style/dnb-field-block.css +15 -0
  1185. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -0
  1186. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +19 -0
  1187. package/extensions/forms/FieldBlock/style/index.d.ts +5 -0
  1188. package/extensions/forms/FieldBlock/style/index.js +1 -0
  1189. package/extensions/forms/FieldBlock/style/index.js.map +1 -0
  1190. package/extensions/forms/FieldBlock/style.d.ts +5 -0
  1191. package/extensions/forms/FieldBlock/style.js +1 -0
  1192. package/extensions/forms/FieldBlock/style.js.map +1 -0
  1193. package/extensions/forms/FieldGroup/FieldGroup.d.ts +17 -0
  1194. package/extensions/forms/FieldGroup/FieldGroup.js +83 -0
  1195. package/extensions/forms/FieldGroup/FieldGroup.js.map +1 -0
  1196. package/extensions/forms/FieldGroup/index.d.ts +2 -0
  1197. package/extensions/forms/FieldGroup/index.js +3 -0
  1198. package/extensions/forms/FieldGroup/index.js.map +1 -0
  1199. package/extensions/forms/Forms.d.ts +3 -0
  1200. package/extensions/forms/Forms.js +4 -0
  1201. package/extensions/forms/Forms.js.map +1 -0
  1202. package/extensions/forms/Layout/ButtonRow.d.ts +10 -0
  1203. package/extensions/forms/Layout/ButtonRow.js +17 -0
  1204. package/extensions/forms/Layout/ButtonRow.js.map +1 -0
  1205. package/extensions/forms/Layout/Card.d.ts +14 -0
  1206. package/extensions/forms/Layout/Card.js +37 -0
  1207. package/extensions/forms/Layout/Card.js.map +1 -0
  1208. package/extensions/forms/Layout/Column.d.ts +7 -0
  1209. package/extensions/forms/Layout/Column.js +17 -0
  1210. package/extensions/forms/Layout/Column.js.map +1 -0
  1211. package/extensions/forms/Layout/FlexContainer.d.ts +23 -0
  1212. package/extensions/forms/Layout/FlexContainer.js +91 -0
  1213. package/extensions/forms/Layout/FlexContainer.js.map +1 -0
  1214. package/extensions/forms/Layout/FlexItem.d.ts +12 -0
  1215. package/extensions/forms/Layout/FlexItem.js +20 -0
  1216. package/extensions/forms/Layout/FlexItem.js.map +1 -0
  1217. package/extensions/forms/Layout/InfoCardSection.d.ts +8 -0
  1218. package/extensions/forms/Layout/InfoCardSection.js +17 -0
  1219. package/extensions/forms/Layout/InfoCardSection.js.map +1 -0
  1220. package/extensions/forms/Layout/MainHeading.d.ts +10 -0
  1221. package/extensions/forms/Layout/MainHeading.js +19 -0
  1222. package/extensions/forms/Layout/MainHeading.js.map +1 -0
  1223. package/extensions/forms/Layout/Row.d.ts +7 -0
  1224. package/extensions/forms/Layout/Row.js +17 -0
  1225. package/extensions/forms/Layout/Row.js.map +1 -0
  1226. package/extensions/forms/Layout/Section.d.ts +13 -0
  1227. package/extensions/forms/Layout/Section.js +21 -0
  1228. package/extensions/forms/Layout/Section.js.map +1 -0
  1229. package/extensions/forms/Layout/SubHeading.d.ts +10 -0
  1230. package/extensions/forms/Layout/SubHeading.js +18 -0
  1231. package/extensions/forms/Layout/SubHeading.js.map +1 -0
  1232. package/extensions/forms/Layout/index.d.ts +23 -0
  1233. package/extensions/forms/Layout/index.js +24 -0
  1234. package/extensions/forms/Layout/index.js.map +1 -0
  1235. package/extensions/forms/Layout/style/dnb-button-row.css +7 -0
  1236. package/extensions/forms/Layout/style/dnb-button-row.min.css +1 -0
  1237. package/extensions/forms/Layout/style/dnb-button-row.scss +5 -0
  1238. package/extensions/forms/Layout/style/dnb-card.css +13 -0
  1239. package/extensions/forms/Layout/style/dnb-card.min.css +1 -0
  1240. package/extensions/forms/Layout/style/dnb-card.scss +15 -0
  1241. package/extensions/forms/Layout/style/dnb-flex-container.css +63 -0
  1242. package/extensions/forms/Layout/style/dnb-flex-container.min.css +1 -0
  1243. package/extensions/forms/Layout/style/dnb-flex-container.scss +84 -0
  1244. package/extensions/forms/Layout/style/dnb-flex-item.css +6 -0
  1245. package/extensions/forms/Layout/style/dnb-flex-item.min.css +1 -0
  1246. package/extensions/forms/Layout/style/dnb-flex-item.scss +9 -0
  1247. package/extensions/forms/Layout/style/dnb-section.css +3 -0
  1248. package/extensions/forms/Layout/style/dnb-section.min.css +1 -0
  1249. package/extensions/forms/Layout/style/dnb-section.scss +3 -0
  1250. package/extensions/forms/Layout/style/index.d.ts +9 -0
  1251. package/extensions/forms/Layout/style/index.js +6 -0
  1252. package/extensions/forms/Layout/style/index.js.map +1 -0
  1253. package/extensions/forms/Layout/style/index.scss +5 -0
  1254. package/extensions/forms/Layout/style.d.ts +5 -0
  1255. package/extensions/forms/Layout/style.js +1 -0
  1256. package/extensions/forms/Layout/style.js.map +1 -0
  1257. package/extensions/forms/StepsLayout/Buttons.d.ts +9 -0
  1258. package/extensions/forms/StepsLayout/Buttons.js +19 -0
  1259. package/extensions/forms/StepsLayout/Buttons.js.map +1 -0
  1260. package/extensions/forms/StepsLayout/NextButton.d.ts +10 -0
  1261. package/extensions/forms/StepsLayout/NextButton.js +27 -0
  1262. package/extensions/forms/StepsLayout/NextButton.js.map +1 -0
  1263. package/extensions/forms/StepsLayout/PreviousButton.d.ts +10 -0
  1264. package/extensions/forms/StepsLayout/PreviousButton.js +27 -0
  1265. package/extensions/forms/StepsLayout/PreviousButton.js.map +1 -0
  1266. package/extensions/forms/StepsLayout/Step.d.ts +15 -0
  1267. package/extensions/forms/StepsLayout/Step.js +27 -0
  1268. package/extensions/forms/StepsLayout/Step.js.map +1 -0
  1269. package/extensions/forms/StepsLayout/StepsContext.d.ts +8 -0
  1270. package/extensions/forms/StepsLayout/StepsContext.js +4 -0
  1271. package/extensions/forms/StepsLayout/StepsContext.js.map +1 -0
  1272. package/extensions/forms/StepsLayout/StepsLayout.d.ts +19 -0
  1273. package/extensions/forms/StepsLayout/StepsLayout.js +106 -0
  1274. package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -0
  1275. package/extensions/forms/StepsLayout/index.d.ts +3 -0
  1276. package/extensions/forms/StepsLayout/index.js +4 -0
  1277. package/extensions/forms/StepsLayout/index.js.map +1 -0
  1278. package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +25 -0
  1279. package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -0
  1280. package/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +23 -0
  1281. package/extensions/forms/StepsLayout/style/index.d.ts +5 -0
  1282. package/extensions/forms/StepsLayout/style/index.js +1 -0
  1283. package/extensions/forms/StepsLayout/style/index.js.map +1 -0
  1284. package/extensions/forms/StepsLayout/style/index.scss +1 -0
  1285. package/extensions/forms/StepsLayout/style.d.ts +5 -0
  1286. package/extensions/forms/StepsLayout/style.js +1 -0
  1287. package/extensions/forms/StepsLayout/style.js.map +1 -0
  1288. package/extensions/forms/Value/BankAccountNumber.d.ts +7 -0
  1289. package/extensions/forms/Value/BankAccountNumber.js +20 -0
  1290. package/extensions/forms/Value/BankAccountNumber.js.map +1 -0
  1291. package/extensions/forms/Value/Boolean.d.ts +8 -0
  1292. package/extensions/forms/Value/Boolean.js +27 -0
  1293. package/extensions/forms/Value/Boolean.js.map +1 -0
  1294. package/extensions/forms/Value/Currency.d.ts +7 -0
  1295. package/extensions/forms/Value/Currency.js +16 -0
  1296. package/extensions/forms/Value/Currency.js.map +1 -0
  1297. package/extensions/forms/Value/Date.d.ts +7 -0
  1298. package/extensions/forms/Value/Date.js +16 -0
  1299. package/extensions/forms/Value/Date.js.map +1 -0
  1300. package/extensions/forms/Value/Email.d.ts +7 -0
  1301. package/extensions/forms/Value/Email.js +16 -0
  1302. package/extensions/forms/Value/Email.js.map +1 -0
  1303. package/extensions/forms/Value/FirstName.d.ts +7 -0
  1304. package/extensions/forms/Value/FirstName.js +16 -0
  1305. package/extensions/forms/Value/FirstName.js.map +1 -0
  1306. package/extensions/forms/Value/LastName.d.ts +7 -0
  1307. package/extensions/forms/Value/LastName.js +16 -0
  1308. package/extensions/forms/Value/LastName.js.map +1 -0
  1309. package/extensions/forms/Value/NationalIdentityNumber.d.ts +7 -0
  1310. package/extensions/forms/Value/NationalIdentityNumber.js +20 -0
  1311. package/extensions/forms/Value/NationalIdentityNumber.js.map +1 -0
  1312. package/extensions/forms/Value/Number.d.ts +14 -0
  1313. package/extensions/forms/Value/Number.js +36 -0
  1314. package/extensions/forms/Value/Number.js.map +1 -0
  1315. package/extensions/forms/Value/PhoneNumber.d.ts +7 -0
  1316. package/extensions/forms/Value/PhoneNumber.js +20 -0
  1317. package/extensions/forms/Value/PhoneNumber.js.map +1 -0
  1318. package/extensions/forms/Value/String.d.ts +8 -0
  1319. package/extensions/forms/Value/String.js +26 -0
  1320. package/extensions/forms/Value/String.js.map +1 -0
  1321. package/extensions/forms/Value/hooks/index.d.ts +1 -0
  1322. package/extensions/forms/Value/hooks/index.js +1 -0
  1323. package/extensions/forms/Value/hooks/index.js.map +1 -0
  1324. package/extensions/forms/Value/hooks/useValue.d.ts +2 -0
  1325. package/extensions/forms/Value/hooks/useValue.js +22 -0
  1326. package/extensions/forms/Value/hooks/useValue.js.map +1 -0
  1327. package/extensions/forms/Value/index.d.ts +25 -0
  1328. package/extensions/forms/Value/index.js +26 -0
  1329. package/extensions/forms/Value/index.js.map +1 -0
  1330. package/extensions/forms/ValueBlock/ValueBlock.d.ts +11 -0
  1331. package/extensions/forms/ValueBlock/ValueBlock.js +30 -0
  1332. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -0
  1333. package/extensions/forms/ValueBlock/index.d.ts +1 -0
  1334. package/extensions/forms/ValueBlock/index.js +1 -0
  1335. package/extensions/forms/ValueBlock/index.js.map +1 -0
  1336. package/extensions/forms/ValueBlock/style/dnb-value-block.css +16 -0
  1337. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -0
  1338. package/extensions/forms/ValueBlock/style/dnb-value-block.scss +19 -0
  1339. package/extensions/forms/ValueBlock/style/index.d.ts +5 -0
  1340. package/extensions/forms/ValueBlock/style/index.js +1 -0
  1341. package/extensions/forms/ValueBlock/style/index.js.map +1 -0
  1342. package/extensions/forms/ValueBlock/style/index.scss +1 -0
  1343. package/extensions/forms/ValueBlock/style.d.ts +5 -0
  1344. package/extensions/forms/ValueBlock/style.js +1 -0
  1345. package/extensions/forms/ValueBlock/style.js.map +1 -0
  1346. package/extensions/forms/Visibility/Visibility.d.ts +24 -0
  1347. package/extensions/forms/Visibility/Visibility.js +45 -0
  1348. package/extensions/forms/Visibility/Visibility.js.map +1 -0
  1349. package/extensions/forms/Visibility/index.d.ts +1 -0
  1350. package/extensions/forms/Visibility/index.js +1 -0
  1351. package/extensions/forms/Visibility/index.js.map +1 -0
  1352. package/extensions/forms/component-types.d.ts +4 -0
  1353. package/extensions/forms/component-types.js +1 -0
  1354. package/extensions/forms/component-types.js.map +1 -0
  1355. package/extensions/forms/constants/countries.d.ts +6 -0
  1356. package/extensions/forms/constants/countries.js +962 -0
  1357. package/extensions/forms/constants/countries.js.map +1 -0
  1358. package/extensions/forms/field-types.d.ts +52 -0
  1359. package/extensions/forms/field-types.js +1 -0
  1360. package/extensions/forms/field-types.js.map +1 -0
  1361. package/extensions/forms/index.d.ts +13 -0
  1362. package/extensions/forms/index.js +12 -0
  1363. package/extensions/forms/index.js.map +1 -0
  1364. package/extensions/forms/style/dnb-forms.css +237 -0
  1365. package/extensions/forms/style/dnb-forms.min.css +1 -0
  1366. package/extensions/forms/style/dnb-forms.scss +6 -0
  1367. package/extensions/forms/style.d.ts +5 -0
  1368. package/extensions/forms/style.js +1 -0
  1369. package/extensions/forms/style.js.map +1 -0
  1370. package/extensions/forms/types.d.ts +11 -0
  1371. package/extensions/forms/types.js +11 -0
  1372. package/extensions/forms/types.js.map +1 -0
  1373. package/extensions/forms/utils/TestElement/TestElement.d.ts +6 -0
  1374. package/extensions/forms/utils/TestElement/TestElement.js +10 -0
  1375. package/extensions/forms/utils/TestElement/TestElement.js.map +1 -0
  1376. package/extensions/forms/utils/TestElement/style/dnb-test-element.css +6 -0
  1377. package/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -0
  1378. package/extensions/forms/utils/TestElement/style/dnb-test-element.scss +6 -0
  1379. package/extensions/forms/utils/TestElement/style/index.d.ts +5 -0
  1380. package/extensions/forms/utils/TestElement/style/index.js +1 -0
  1381. package/extensions/forms/utils/TestElement/style/index.js.map +1 -0
  1382. package/extensions/forms/utils/TestElement/style.d.ts +5 -0
  1383. package/extensions/forms/utils/TestElement/style.js +1 -0
  1384. package/extensions/forms/utils/TestElement/style.js.map +1 -0
  1385. package/extensions/forms/utils/ajv.d.ts +14 -0
  1386. package/extensions/forms/utils/ajv.js +56 -0
  1387. package/extensions/forms/utils/ajv.js.map +1 -0
  1388. package/extensions/forms/utils/components.d.ts +3 -0
  1389. package/extensions/forms/utils/components.js +23 -0
  1390. package/extensions/forms/utils/components.js.map +1 -0
  1391. package/extensions/forms/utils/index.d.ts +3 -0
  1392. package/extensions/forms/utils/index.js +4 -0
  1393. package/extensions/forms/utils/index.js.map +1 -0
  1394. package/extensions/forms/utils/numbers.d.ts +17 -0
  1395. package/extensions/forms/utils/numbers.js +35 -0
  1396. package/extensions/forms/utils/numbers.js.map +1 -0
  1397. package/extensions/forms/value-types.d.ts +15 -0
  1398. package/extensions/forms/value-types.js +1 -0
  1399. package/extensions/forms/value-types.js.map +1 -0
  1400. package/extensions/index.d.ts +2 -1
  1401. package/extensions/index.js +2 -1
  1402. package/extensions/index.js.map +1 -1
  1403. package/extensions/lib.d.ts +22 -1
  1404. package/extensions/lib.js +3 -1
  1405. package/extensions/lib.js.map +1 -1
  1406. package/extensions/payment-card/utils/Types.js.map +1 -1
  1407. package/fragments/drawer-list/DrawerList.js.map +1 -1
  1408. package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  1409. package/package.json +4 -1
  1410. package/shared/Context.d.ts +2 -0
  1411. package/shared/Context.js.map +1 -1
  1412. package/shared/Eufemia.d.ts +1 -1
  1413. package/shared/Eufemia.js +2 -2
  1414. package/shared/Eufemia.js.map +1 -1
  1415. package/shared/VisibilityByTheme.d.ts +1 -1
  1416. package/shared/VisibilityByTheme.js.map +1 -1
  1417. package/shared/helpers.d.ts +2 -2
  1418. package/shared/helpers.js.map +1 -1
  1419. package/shared/locales/en-GB.d.ts +39 -0
  1420. package/shared/locales/en-GB.js +39 -0
  1421. package/shared/locales/en-GB.js.map +1 -1
  1422. package/shared/locales/en-US.d.ts +39 -0
  1423. package/shared/locales/index.d.ts +78 -0
  1424. package/shared/locales/nb-NO.d.ts +39 -0
  1425. package/shared/locales/nb-NO.js +39 -0
  1426. package/shared/locales/nb-NO.js.map +1 -1
  1427. package/style/core/utilities.scss +40 -8
  1428. package/style/dnb-ui-components.css +71 -24
  1429. package/style/dnb-ui-components.min.css +1 -1
  1430. package/style/dnb-ui-extensions.css +238 -0
  1431. package/style/dnb-ui-extensions.min.css +1 -1
  1432. package/style/dnb-ui-extensions.scss +1 -0
  1433. package/style/themes/theme-eiendom/eiendom-theme-basis.css +17 -11
  1434. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  1435. package/style/themes/theme-eiendom/eiendom-theme-components.css +105 -82
  1436. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  1437. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +238 -0
  1438. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  1439. package/style/themes/theme-sbanken/properties.js +4 -4
  1440. package/style/themes/theme-sbanken/properties.js.map +1 -1
  1441. package/style/themes/theme-sbanken/properties.scss +4 -4
  1442. package/style/themes/theme-sbanken/sbanken-theme-basis.css +4 -11
  1443. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  1444. package/style/themes/theme-sbanken/sbanken-theme-components.css +429 -333
  1445. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -1
  1446. package/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
  1447. package/style/themes/theme-sbanken/sbanken-theme-elements.css +0 -7
  1448. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +238 -0
  1449. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  1450. package/style/themes/theme-ui/ui-theme-basis.css +17 -11
  1451. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  1452. package/style/themes/theme-ui/ui-theme-components.css +105 -82
  1453. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  1454. package/style/themes/theme-ui/ui-theme-elements.css +17 -11
  1455. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  1456. package/style/themes/theme-ui/ui-theme-extensions.css +238 -0
  1457. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  1458. package/style/themes/theme-ui/ui-theme-tags.css +24 -12
  1459. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  1460. package/umd/dnb-ui-basis.min.js +1 -1
  1461. package/umd/dnb-ui-components.min.js +1 -1
  1462. package/umd/dnb-ui-elements.min.js +1 -1
  1463. package/umd/dnb-ui-extensions.min.js +7 -1
  1464. package/umd/dnb-ui-lib.min.js +1 -1
  1465. package/cjs/components/accordion/AccordionPropTypes.d.ts +0 -79
  1466. package/cjs/components/accordion/AccordionPropTypes.js +0 -85
  1467. package/cjs/components/accordion/AccordionPropTypes.js.map +0 -1
  1468. package/components/accordion/AccordionPropTypes.d.ts +0 -79
  1469. package/components/accordion/AccordionPropTypes.js +0 -74
  1470. package/components/accordion/AccordionPropTypes.js.map +0 -1
  1471. package/es/components/accordion/AccordionPropTypes.d.ts +0 -79
  1472. package/es/components/accordion/AccordionPropTypes.js +0 -74
  1473. package/es/components/accordion/AccordionPropTypes.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleButton.js","names":["React","PropTypes","classnames","keycode","warn","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","dispatchCustomElementEvent","AlignmentHelper","includeValidProps","spacingPropTypes","createSpacingClasses","Radio","Checkbox","Button","FormLabel","FormStatus","ToggleButtonGroup","ToggleButtonGroupContext","Context","Suffix","ToggleButton","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","constructor","context","_defineProperty","event","onClickHandler","readOnly","preventDefault","persist","multiselect","value","setState","callOnChange","_refButton","current","_ref","focus","e","onChange","_id","id","createRef","name","values","Array","isArray","includes","setContext","tmp","render","createElement","Consumer","contextProps","defaultProps","translation","FormRow","status","status_state","status_props","status_no_animation","globalStatus","suffix","label","label_direction","label_sr_only","text","title","className","class","_className","disabled","skeleton","variant","left_component","icon","icon_size","icon_position","propValue","children","on_change","on_state_update","rest","_objectWithoutProperties","_excluded","contextValue","contextValues","showStatus","mainParams","buttonParams","_objectSpread","String","componentParams","element","undefined","role","type","leftComponent","_extends","for_id","sr_only","show","text_id","no_animation","_AlignmentHelper","custom_content","ref","onClick","onKeyDown","onKeyDownHandler","onKeyUp","onKeyUpHandler","attributes","test","process","env","NODE_ENV","propTypes","string","oneOfType","func","node","oneOf","bool","object","shape","message","number","array"],"sources":["../../../../src/components/toggle-button/ToggleButton.js"],"sourcesContent":["/**\n * Web ToggleButton Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n warn,\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 { includeValidProps } from '../form-row/FormRowHelpers'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\n\nimport Radio from '../radio/Radio'\nimport Checkbox from '../checkbox/Checkbox'\nimport Button from '../button/Button'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport ToggleButtonGroup from './ToggleButtonGroup'\nimport ToggleButtonGroupContext from './ToggleButtonGroupContext'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\n/**\n * The toggle-button component is our enhancement of the classic toggle-button button.\n */\nexport default class ToggleButton extends React.PureComponent {\n static Group = ToggleButtonGroup\n\n static contextType = ToggleButtonGroupContext\n\n static propTypes = {\n text: PropTypes.string,\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 title: PropTypes.string,\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n variant: PropTypes.oneOf(['default', 'checkbox', 'radio']),\n left_component: PropTypes.node,\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n // group: PropTypes.string,\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.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n PropTypes.array,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_position: PropTypes.oneOf(['left', 'right']),\n icon_size: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\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 text: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n title: null,\n checked: undefined,\n variant: null,\n left_component: null,\n disabled: null,\n skeleton: null,\n id: null,\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 icon: null,\n icon_position: 'right',\n icon_size: null,\n attributes: null,\n readOnly: false,\n class: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_state_update: 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 = ToggleButton.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, context) {\n super(props)\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this._refButton = React.createRef()\n\n this.state = {\n _listenForPropChanges: true,\n }\n\n // set the startup checked values from context, if they exists\n if (context.name && typeof props.value !== 'undefined') {\n if (typeof context.value !== 'undefined') {\n this.state.checked = context.value === props.value\n this.state._listenForPropChanges = false\n } else if (context.values && Array.isArray(context.values)) {\n this.state.checked = context.values.includes(props.value)\n this.state._listenForPropChanges = false\n\n // make sure we update the context\n // with a possible custom set \"checked\" state\n } else if (ToggleButton.parseChecked(props.checked)) {\n if (context.setContext) {\n if (context.multiselect) {\n context.setContext((tmp) => {\n return {\n values:\n // in case we have set before a new context (other component)\n // we fill combine theese arrays\n tmp && Array.isArray(tmp.values)\n ? [...tmp.values, props.value]\n : [props.value],\n }\n })\n } else {\n context.setContext({\n value: props.value,\n })\n }\n }\n }\n }\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onKeyUpHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onClickHandler = ({ event }) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n event.persist()\n\n // only select a value once\n if (\n !isTrue(this.context.multiselect) &&\n this.props.value === this.context.value\n ) {\n return\n }\n\n // else we change the checked state\n const checked = !this.state.checked\n this.setState({\n checked,\n _listenForPropChanges: false,\n })\n this.callOnChange({ checked, event })\n\n if (this._refButton.current && checked) {\n // simulate focus for firefox and safari\n // so we can get rid of the hover ring after click\n try {\n this._refButton.current._ref.current.focus()\n } catch (e) {\n warn(e)\n }\n }\n }\n\n callOnChange = ({ checked, event }) => {\n const { value } = this.props\n if (this.context.onChange) {\n this.context.onChange({\n value,\n event,\n })\n }\n dispatchCustomElementEvent(this, 'on_change', {\n checked,\n value,\n event,\n })\n }\n\n render() {\n return (\n <Context.Consumer>\n {(context) => {\n // from internal context\n const contextProps = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButton.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 ToggleButton.defaultProps,\n contextProps,\n context.translation.ToggleButton,\n includeValidProps(context.FormRow),\n context.ToggleButton\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 text,\n title,\n readOnly,\n className,\n class: _className,\n disabled,\n skeleton,\n variant,\n left_component,\n icon,\n icon_size,\n icon_position,\n value: propValue,\n\n id: _id, // eslint-disable-line\n // group: _group, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n children,\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n\n ...rest\n } = props\n\n let { checked } = this.state\n\n if (\n !isTrue(this.context.multiselect) &&\n typeof this.context.value !== 'undefined'\n ) {\n const contextValue = this.context.value\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = propValue === contextValue\n }\n } else if (\n isTrue(this.context.multiselect) &&\n typeof this.context.values !== 'undefined'\n ) {\n const contextValues = this.context.values\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = contextValues.includes(propValue)\n }\n }\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-toggle-button',\n status && `dnb-toggle-button__status--${status_state}`,\n checked && `dnb-toggle-button--checked`,\n label_direction && `dnb-toggle-button--${label_direction}`,\n createSpacingClasses(props),\n className,\n _className\n ),\n }\n\n // to remove spacing props\n validateDOMAttributes(this.props, rest)\n\n const buttonParams = {\n id,\n disabled,\n skeleton,\n text: text || children,\n title,\n icon,\n icon_size,\n icon_position,\n 'aria-pressed': String(checked || false),\n ...rest,\n }\n\n const componentParams = {\n checked,\n disabled,\n element: 'span',\n 'data-checked': String(checked || false),\n 'aria-checked': undefined,\n role: undefined,\n type: undefined,\n name: null,\n title: null,\n }\n\n if (status) {\n // do not send along the message, but only the status states\n if (status_state === 'info') {\n componentParams.status_state = 'info'\n } else {\n componentParams.status = 'error'\n }\n }\n\n if (showStatus || suffix) {\n buttonParams['aria-describedby'] = combineDescribedBy(\n buttonParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n buttonParams['aria-readonly'] = buttonParams.readOnly = true\n }\n\n let leftComponent = null\n switch (variant) {\n case 'radio':\n leftComponent = (\n <Radio id={`${id}-radio`} {...componentParams} />\n )\n break\n\n case 'checkbox':\n leftComponent = (\n <Checkbox id={`${id}-checkbox`} {...componentParams} />\n )\n break\n\n case 'default':\n default:\n leftComponent = left_component\n break\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n label_direction={label_direction}\n sr_only={label_sr_only}\n />\n )}\n <span className=\"dnb-toggle-button__inner\">\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 text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-toggle-button__shell\">\n <AlignmentHelper />\n\n <Button\n variant=\"secondary\"\n className=\"dnb-toggle-button__button\"\n custom_content={\n leftComponent && (\n <span className=\"dnb-toggle-button__component\">\n {leftComponent}\n </span>\n )\n }\n {...buttonParams}\n ref={this._refButton}\n onClick={this.onClickHandler}\n onKeyDown={this.onKeyDownHandler}\n onKeyUp={this.onKeyUpHandler}\n />\n\n {suffix && (\n <Suffix\n className=\"dnb-toggle-button__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 )\n }}\n </Context.Consumer>\n )\n }\n}\n"],"mappings":";;;;;;;AAKA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,OAAO,MAAM,SAAS;AAC7B,SACEC,IAAI,EACJC,MAAM,EACNC,YAAY,EACZC,sCAAsC,EACtCC,qBAAqB,EACrBC,cAAc,EACdC,kBAAkB,EAClBC,0BAA0B,QACrB,+BAA+B;AACtC,OAAOC,eAAe,MAAM,8BAA8B;AAC1D,SAASC,iBAAiB,QAAQ,4BAA4B;AAC9D,SACEC,gBAAgB,EAChBC,oBAAoB,QACf,wBAAwB;AAE/B,OAAOC,KAAK,MAAM,gBAAgB;AAClC,OAAOC,QAAQ,MAAM,sBAAsB;AAC3C,OAAOC,MAAM,MAAM,kBAAkB;AACrC,OAAOC,SAAS,MAAM,yBAAyB;AAC/C,OAAOC,UAAU,MAAM,2BAA2B;AAClD,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,OAAOC,wBAAwB,MAAM,4BAA4B;AACjE,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,OAAOC,MAAM,MAAM,6BAA6B;AAKhD,eAAe,MAAMC,YAAY,SAASzB,KAAK,CAAC0B,aAAa,CAAC;EAyG5D,OAAOC,wBAAwBA,CAACC,KAAK,EAAEC,KAAK,EAAE;IAC5C,IAAIA,KAAK,CAACC,qBAAqB,EAAE;MAC/B,IAAIF,KAAK,CAACG,OAAO,KAAKF,KAAK,CAACG,QAAQ,EAAE;QACpCH,KAAK,CAACE,OAAO,GAAGN,YAAY,CAACQ,YAAY,CAACL,KAAK,CAACG,OAAO,CAAC;MAC1D;IACF;IACAF,KAAK,CAACC,qBAAqB,GAAG,IAAI;IAElC,IAAID,KAAK,CAACE,OAAO,KAAKF,KAAK,CAACK,SAAS,EAAE;MACrCvB,0BAA0B,CAAC;QAAEiB;MAAM,CAAC,EAAE,iBAAiB,EAAE;QACvDG,OAAO,EAAEF,KAAK,CAACE;MACjB,CAAC,CAAC;IACJ;IAEAF,KAAK,CAACG,QAAQ,GAAGJ,KAAK,CAACG,OAAO;IAC9BF,KAAK,CAACK,SAAS,GAAGL,KAAK,CAACE,OAAO;IAE/B,OAAOF,KAAK;EACd;EAEAM,WAAWA,CAACP,KAAK,EAAEQ,OAAO,EAAE;IAC1B,KAAK,CAACR,KAAK,CAAC;IAAAS,eAAA,2BA0CMC,KAAK,IAAK;MAC5B,QAAQnC,OAAO,CAACmC,KAAK,CAAC;QACpB,KAAK,OAAO;UACV,IAAI,CAACC,cAAc,CAAC;YAAED;UAAM,CAAC,CAAC;UAC9B;MACJ;IACF,CAAC;IAAAD,eAAA,yBAEiBC,KAAK,IAAK;MAC1B,QAAQnC,OAAO,CAACmC,KAAK,CAAC;QACpB,KAAK,OAAO;UACV,IAAI,CAACC,cAAc,CAAC;YAAED;UAAM,CAAC,CAAC;UAC9B;MACJ;IACF,CAAC;IAAAD,eAAA,yBAEgB,CAAC;MAAEC;IAAM,CAAC,KAAK;MAC9B,IAAIjC,MAAM,CAAC,IAAI,CAACuB,KAAK,CAACY,QAAQ,CAAC,EAAE;QAC/B,OAAOF,KAAK,CAACG,cAAc,CAAC,CAAC;MAC/B;MACAH,KAAK,CAACI,OAAO,CAAC,CAAC;MAGf,IACE,CAACrC,MAAM,CAAC,IAAI,CAAC+B,OAAO,CAACO,WAAW,CAAC,IACjC,IAAI,CAACf,KAAK,CAACgB,KAAK,KAAK,IAAI,CAACR,OAAO,CAACQ,KAAK,EACvC;QACA;MACF;MAGA,MAAMb,OAAO,GAAG,CAAC,IAAI,CAACF,KAAK,CAACE,OAAO;MACnC,IAAI,CAACc,QAAQ,CAAC;QACZd,OAAO;QACPD,qBAAqB,EAAE;MACzB,CAAC,CAAC;MACF,IAAI,CAACgB,YAAY,CAAC;QAAEf,OAAO;QAAEO;MAAM,CAAC,CAAC;MAErC,IAAI,IAAI,CAACS,UAAU,CAACC,OAAO,IAAIjB,OAAO,EAAE;QAGtC,IAAI;UACF,IAAI,CAACgB,UAAU,CAACC,OAAO,CAACC,IAAI,CAACD,OAAO,CAACE,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC,OAAOC,CAAC,EAAE;UACV/C,IAAI,CAAC+C,CAAC,CAAC;QACT;MACF;IACF,CAAC;IAAAd,eAAA,uBAEc,CAAC;MAAEN,OAAO;MAAEO;IAAM,CAAC,KAAK;MACrC,MAAM;QAAEM;MAAM,CAAC,GAAG,IAAI,CAAChB,KAAK;MAC5B,IAAI,IAAI,CAACQ,OAAO,CAACgB,QAAQ,EAAE;QACzB,IAAI,CAAChB,OAAO,CAACgB,QAAQ,CAAC;UACpBR,KAAK;UACLN;QACF,CAAC,CAAC;MACJ;MACA3B,0BAA0B,CAAC,IAAI,EAAE,WAAW,EAAE;QAC5CoB,OAAO;QACPa,KAAK;QACLN;MACF,CAAC,CAAC;IACJ,CAAC;IAvGC,IAAI,CAACe,GAAG,GAAGzB,KAAK,CAAC0B,EAAE,IAAIhD,YAAY,CAAC,CAAC;IACrC,IAAI,CAACyC,UAAU,GAAG/C,KAAK,CAACuD,SAAS,CAAC,CAAC;IAEnC,IAAI,CAAC1B,KAAK,GAAG;MACXC,qBAAqB,EAAE;IACzB,CAAC;IAGD,IAAIM,OAAO,CAACoB,IAAI,IAAI,OAAO5B,KAAK,CAACgB,KAAK,KAAK,WAAW,EAAE;MACtD,IAAI,OAAOR,OAAO,CAACQ,KAAK,KAAK,WAAW,EAAE;QACxC,IAAI,CAACf,KAAK,CAACE,OAAO,GAAGK,OAAO,CAACQ,KAAK,KAAKhB,KAAK,CAACgB,KAAK;QAClD,IAAI,CAACf,KAAK,CAACC,qBAAqB,GAAG,KAAK;MAC1C,CAAC,MAAM,IAAIM,OAAO,CAACqB,MAAM,IAAIC,KAAK,CAACC,OAAO,CAACvB,OAAO,CAACqB,MAAM,CAAC,EAAE;QAC1D,IAAI,CAAC5B,KAAK,CAACE,OAAO,GAAGK,OAAO,CAACqB,MAAM,CAACG,QAAQ,CAAChC,KAAK,CAACgB,KAAK,CAAC;QACzD,IAAI,CAACf,KAAK,CAACC,qBAAqB,GAAG,KAAK;MAI1C,CAAC,MAAM,IAAIL,YAAY,CAACQ,YAAY,CAACL,KAAK,CAACG,OAAO,CAAC,EAAE;QACnD,IAAIK,OAAO,CAACyB,UAAU,EAAE;UACtB,IAAIzB,OAAO,CAACO,WAAW,EAAE;YACvBP,OAAO,CAACyB,UAAU,CAAEC,GAAG,IAAK;cAC1B,OAAO;gBACLL,MAAM,EAGJK,GAAG,IAAIJ,KAAK,CAACC,OAAO,CAACG,GAAG,CAACL,MAAM,CAAC,GAC5B,CAAC,GAAGK,GAAG,CAACL,MAAM,EAAE7B,KAAK,CAACgB,KAAK,CAAC,GAC5B,CAAChB,KAAK,CAACgB,KAAK;cACpB,CAAC;YACH,CAAC,CAAC;UACJ,CAAC,MAAM;YACLR,OAAO,CAACyB,UAAU,CAAC;cACjBjB,KAAK,EAAEhB,KAAK,CAACgB;YACf,CAAC,CAAC;UACJ;QACF;MACF;IACF;EACF;EAkEAmB,MAAMA,CAAA,EAAG;IACP,OACE/D,KAAA,CAAAgE,aAAA,CAACzC,OAAO,CAAC0C,QAAQ,QACb7B,OAAO,IAAK;MAEZ,MAAM8B,YAAY,GAAG3D,sCAAsC,CACzD,IAAI,CAACqB,KAAK,EACVH,YAAY,CAAC0C,YAAY,EACzB,IAAI,CAAC/B,OACP,CAAC;MAGD,MAAMR,KAAK,GAAGrB,sCAAsC,CAClD,IAAI,CAACqB,KAAK,EACVH,YAAY,CAAC0C,YAAY,EACzBD,YAAY,EACZ9B,OAAO,CAACgC,WAAW,CAAC3C,YAAY,EAChCZ,iBAAiB,CAACuB,OAAO,CAACiC,OAAO,CAAC,EAClCjC,OAAO,CAACX,YACV,CAAC;MAED,MAAM;UACJ6C,MAAM;UACNC,YAAY;UACZC,YAAY;UACZC,mBAAmB;UACnBC,YAAY;UACZC,MAAM;UACNC,KAAK;UACLC,eAAe;UACfC,aAAa;UACbC,IAAI;UACJC,KAAK;UACLxC,QAAQ;UACRyC,SAAS;UACTC,KAAK,EAAEC,UAAU;UACjBC,QAAQ;UACRC,QAAQ;UACRC,OAAO;UACPC,cAAc;UACdC,IAAI;UACJC,SAAS;UACTC,aAAa;UACb9C,KAAK,EAAE+C,SAAS;UAEhBrC,EAAE,EAAED,GAAG;UAEPtB,OAAO,EAAEC,QAAQ;UACjB4D,QAAQ;UACRC,SAAS;UACTC;QAGF,CAAC,GAAGlE,KAAK;QADJmE,IAAI,GAAAC,wBAAA,CACLpE,KAAK,EAAAqE,SAAA;MAET,IAAI;QAAElE;MAAQ,CAAC,GAAG,IAAI,CAACF,KAAK;MAE5B,IACE,CAACxB,MAAM,CAAC,IAAI,CAAC+B,OAAO,CAACO,WAAW,CAAC,IACjC,OAAO,IAAI,CAACP,OAAO,CAACQ,KAAK,KAAK,WAAW,EACzC;QACA,MAAMsD,YAAY,GAAG,IAAI,CAAC9D,OAAO,CAACQ,KAAK;QACvC,IACE,OAAO+C,SAAS,KAAK,QAAQ,IAC7B,OAAOA,SAAS,KAAK,QAAQ,EAC7B;UACA5D,OAAO,GAAG4D,SAAS,KAAKO,YAAY;QACtC;MACF,CAAC,MAAM,IACL7F,MAAM,CAAC,IAAI,CAAC+B,OAAO,CAACO,WAAW,CAAC,IAChC,OAAO,IAAI,CAACP,OAAO,CAACqB,MAAM,KAAK,WAAW,EAC1C;QACA,MAAM0C,aAAa,GAAG,IAAI,CAAC/D,OAAO,CAACqB,MAAM;QACzC,IACE,OAAOkC,SAAS,KAAK,QAAQ,IAC7B,OAAOA,SAAS,KAAK,QAAQ,EAC7B;UACA5D,OAAO,GAAGoE,aAAa,CAACvC,QAAQ,CAAC+B,SAAS,CAAC;QAC7C;MACF;MAEA,MAAMrC,EAAE,GAAG,IAAI,CAACD,GAAG;MACnB,MAAM+C,UAAU,GAAG3F,cAAc,CAAC6D,MAAM,CAAC;MAEzC,MAAM+B,UAAU,GAAG;QACjBpB,SAAS,EAAE/E,UAAU,CACnB,mBAAmB,EAInBa,oBAAoB,CAACa,KAAK,CAAC,EAC3BqD,SAAS,EACTE,UAAU,EALVb,MAAM,IAAK,8BAA6BC,YAAa,EAAC,EACtDxC,OAAO,IAAK,4BAA2B,EACvC8C,eAAe,IAAK,sBAAqBA,eAAgB,EAI3D;MACF,CAAC;MAGDrE,qBAAqB,CAAC,IAAI,CAACoB,KAAK,EAAEmE,IAAI,CAAC;MAEvC,MAAMO,YAAY,GAAAC,aAAA;QAChBjD,EAAE;QACF8B,QAAQ;QACRC,QAAQ;QACRN,IAAI,EAAEA,IAAI,IAAIa,QAAQ;QACtBZ,KAAK;QACLQ,IAAI;QACJC,SAAS;QACTC,aAAa;QACb,cAAc,EAAEc,MAAM,CAACzE,OAAO,IAAI,KAAK;MAAC,GACrCgE,IAAI,CACR;MAED,MAAMU,eAAe,GAAG;QACtB1E,OAAO;QACPqD,QAAQ;QACRsB,OAAO,EAAE,MAAM;QACf,cAAc,EAAEF,MAAM,CAACzE,OAAO,IAAI,KAAK,CAAC;QACxC,cAAc,EAAE4E,SAAS;QACzBC,IAAI,EAAED,SAAS;QACfE,IAAI,EAAEF,SAAS;QACfnD,IAAI,EAAE,IAAI;QACVwB,KAAK,EAAE;MACT,CAAC;MAED,IAAIV,MAAM,EAAE;QAEV,IAAIC,YAAY,KAAK,MAAM,EAAE;UAC3BkC,eAAe,CAAClC,YAAY,GAAG,MAAM;QACvC,CAAC,MAAM;UACLkC,eAAe,CAACnC,MAAM,GAAG,OAAO;QAClC;MACF;MAEA,IAAI8B,UAAU,IAAIzB,MAAM,EAAE;QACxB2B,YAAY,CAAC,kBAAkB,CAAC,GAAG5F,kBAAkB,CACnD4F,YAAY,EACZF,UAAU,GAAG9C,EAAE,GAAG,SAAS,GAAG,IAAI,EAClCqB,MAAM,GAAGrB,EAAE,GAAG,SAAS,GAAG,IAC5B,CAAC;MACH;MACA,IAAId,QAAQ,EAAE;QACZ8D,YAAY,CAAC,eAAe,CAAC,GAAGA,YAAY,CAAC9D,QAAQ,GAAG,IAAI;MAC9D;MAEA,IAAIsE,aAAa,GAAG,IAAI;MACxB,QAAQxB,OAAO;QACb,KAAK,OAAO;UACVwB,aAAa,GACX9G,KAAA,CAAAgE,aAAA,CAAChD,KAAK,EAAA+F,QAAA;YAACzD,EAAE,EAAG,GAAEA,EAAG;UAAQ,GAAKmD,eAAe,CAAG,CACjD;UACD;QAEF,KAAK,UAAU;UACbK,aAAa,GACX9G,KAAA,CAAAgE,aAAA,CAAC/C,QAAQ,EAAA8F,QAAA;YAACzD,EAAE,EAAG,GAAEA,EAAG;UAAW,GAAKmD,eAAe,CAAG,CACvD;UACD;QAEF,KAAK,SAAS;QACd;UACEK,aAAa,GAAGvB,cAAc;UAC9B;MACJ;MAEA,OACEvF,KAAA,CAAAgE,aAAA,SAAUqC,UAAU,EACjBzB,KAAK,IACJ5E,KAAA,CAAAgE,aAAA,CAAC7C,SAAS;QACRmC,EAAE,EAAEA,EAAE,GAAG,QAAS;QAClB0D,MAAM,EAAE1D,EAAG;QACXyB,IAAI,EAAEH,KAAM;QACZQ,QAAQ,EAAEA,QAAS;QACnBC,QAAQ,EAAEA,QAAS;QACnBR,eAAe,EAAEA,eAAgB;QACjCoC,OAAO,EAAEnC;MAAc,CACxB,CACF,EACD9E,KAAA,CAAAgE,aAAA;QAAMiB,SAAS,EAAC;MAA0B,GACxCjF,KAAA,CAAAgE,aAAA,CAAC5C,UAAU,EAAA2F,QAAA;QACTG,IAAI,EAAEd,UAAW;QACjB9C,EAAE,EAAEA,EAAE,GAAG,cAAe;QACxBoB,YAAY,EAAEA,YAAa;QAC3BE,KAAK,EAAEA,KAAM;QACbuC,OAAO,EAAE7D,EAAE,GAAG,SAAU;QACxByB,IAAI,EAAET,MAAO;QACbzC,KAAK,EAAE0C,YAAa;QACpB6C,YAAY,EAAE3C,mBAAoB;QAClCY,QAAQ,EAAEA;MAAS,GACfb,YAAY,CACjB,CAAC,EAEFxE,KAAA,CAAAgE,aAAA;QAAMiB,SAAS,EAAC;MAA0B,GAAAoC,gBAAA,KAAAA,gBAAA,GACxCrH,KAAA,CAAAgE,aAAA,CAACpD,eAAe,MAAE,CAAC,GAEnBZ,KAAA,CAAAgE,aAAA,CAAC9C,MAAM,EAAA6F,QAAA;QACLzB,OAAO,EAAC,WAAW;QACnBL,SAAS,EAAC,2BAA2B;QACrCqC,cAAc,EACZR,aAAa,IACX9G,KAAA,CAAAgE,aAAA;UAAMiB,SAAS,EAAC;QAA8B,GAC3C6B,aACG;MAET,GACGR,YAAY;QAChBiB,GAAG,EAAE,IAAI,CAACxE,UAAW;QACrByE,OAAO,EAAE,IAAI,CAACjF,cAAe;QAC7BkF,SAAS,EAAE,IAAI,CAACC,gBAAiB;QACjCC,OAAO,EAAE,IAAI,CAACC;MAAe,EAC9B,CAAC,EAEDjD,MAAM,IACL3E,KAAA,CAAAgE,aAAA,CAACxC,MAAM;QACLyD,SAAS,EAAC,2BAA2B;QACrC3B,EAAE,EAAEA,EAAE,GAAG,SAAU;QACnBlB,OAAO,EAAER;MAAM,GAEd+C,MACK,CAEN,CACF,CACF,CAAC;IAEX,CACgB,CAAC;EAEvB;AACF;AAACtC,eAAA,CA5coBZ,YAAY,WAChBJ,iBAAiB;AAAAgB,eAAA,CADbZ,YAAY,iBAGVH,wBAAwB;AAAAe,eAAA,CAH1BZ,YAAY,kBAqET;EACpBsD,IAAI,EAAE,IAAI;EACVH,KAAK,EAAE,IAAI;EACXC,eAAe,EAAE,IAAI;EACrBC,aAAa,EAAE,IAAI;EACnBE,KAAK,EAAE,IAAI;EACXjD,OAAO,EAAE4E,SAAS;EAClBrB,OAAO,EAAE,IAAI;EACbC,cAAc,EAAE,IAAI;EACpBH,QAAQ,EAAE,IAAI;EACdC,QAAQ,EAAE,IAAI;EACd/B,EAAE,EAAE,IAAI;EAERgB,MAAM,EAAE,IAAI;EACZC,YAAY,EAAE,OAAO;EACrBC,YAAY,EAAE,IAAI;EAClBC,mBAAmB,EAAE,IAAI;EACzBC,YAAY,EAAE,IAAI;EAClBC,MAAM,EAAE,IAAI;EACZ/B,KAAK,EAAE,EAAE;EACT4C,IAAI,EAAE,IAAI;EACVE,aAAa,EAAE,OAAO;EACtBD,SAAS,EAAE,IAAI;EACfoC,UAAU,EAAE,IAAI;EAChBrF,QAAQ,EAAE,KAAK;EACf0C,KAAK,EAAE,IAAI;EAEXD,SAAS,EAAE,IAAI;EACfW,QAAQ,EAAE,IAAI;EAEdC,SAAS,EAAE,IAAI;EACfC,eAAe,EAAE;AACnB,CAAC;AAAAzD,eAAA,CArGkBZ,YAAY,kBAuGRI,KAAK,IAAK,SAAS,CAACiG,IAAI,CAACtB,MAAM,CAAC3E,KAAK,CAAC,CAAC;AAAAkG,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAvG3CxG,YAAY,CAKxByG,SAAS,GAAA3B,aAAA,CAAAA,aAAA;EACdxB,IAAI,EAAE9E,SAAS,CAACkI,MAAM;EACtBvD,KAAK,EAAE3E,SAAS,CAACmI,SAAS,CAAC,CACzBnI,SAAS,CAACkI,MAAM,EAChBlI,SAAS,CAACoI,IAAI,EACdpI,SAAS,CAACqI,IAAI,CACf,CAAC;EACFzD,eAAe,EAAE5E,SAAS,CAACsI,KAAK,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;EAC5DzD,aAAa,EAAE7E,SAAS,CAACmI,SAAS,CAAC,CAACnI,SAAS,CAACkI,MAAM,EAAElI,SAAS,CAACuI,IAAI,CAAC,CAAC;EACtExD,KAAK,EAAE/E,SAAS,CAACkI,MAAM;EACvBpG,OAAO,EAAE9B,SAAS,CAACmI,SAAS,CAAC,CAACnI,SAAS,CAACkI,MAAM,EAAElI,SAAS,CAACuI,IAAI,CAAC,CAAC;EAChElD,OAAO,EAAErF,SAAS,CAACsI,KAAK,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;EAC1DhD,cAAc,EAAEtF,SAAS,CAACqI,IAAI;EAC9BlD,QAAQ,EAAEnF,SAAS,CAACmI,SAAS,CAAC,CAACnI,SAAS,CAACkI,MAAM,EAAElI,SAAS,CAACuI,IAAI,CAAC,CAAC;EACjEnD,QAAQ,EAAEpF,SAAS,CAACmI,SAAS,CAAC,CAACnI,SAAS,CAACkI,MAAM,EAAElI,SAAS,CAACuI,IAAI,CAAC,CAAC;EACjElF,EAAE,EAAErD,SAAS,CAACkI,MAAM;EAEpB7D,MAAM,EAAErE,SAAS,CAACmI,SAAS,CAAC,CAC1BnI,SAAS,CAACkI,MAAM,EAChBlI,SAAS,CAACuI,IAAI,EACdvI,SAAS,CAACoI,IAAI,EACdpI,SAAS,CAACqI,IAAI,CACf,CAAC;EACF/D,YAAY,EAAEtE,SAAS,CAACkI,MAAM;EAC9B3D,YAAY,EAAEvE,SAAS,CAACwI,MAAM;EAC9BhE,mBAAmB,EAAExE,SAAS,CAACmI,SAAS,CAAC,CACvCnI,SAAS,CAACkI,MAAM,EAChBlI,SAAS,CAACuI,IAAI,CACf,CAAC;EACF9D,YAAY,EAAEzE,SAAS,CAACyI,KAAK,CAAC;IAC5BpF,EAAE,EAAErD,SAAS,CAACkI,MAAM;IACpBQ,OAAO,EAAE1I,SAAS,CAACmI,SAAS,CAAC,CAACnI,SAAS,CAACkI,MAAM,EAAElI,SAAS,CAACqI,IAAI,CAAC;EACjE,CAAC,CAAC;EACF3D,MAAM,EAAE1E,SAAS,CAACmI,SAAS,CAAC,CAC1BnI,SAAS,CAACkI,MAAM,EAChBlI,SAAS,CAACoI,IAAI,EACdpI,SAAS,CAACqI,IAAI,CACf,CAAC;EACF1F,KAAK,EAAE3C,SAAS,CAACmI,SAAS,CAAC,CACzBnI,SAAS,CAACkI,MAAM,EAChBlI,SAAS,CAAC2I,MAAM,EAChB3I,SAAS,CAACwI,MAAM,EAChBxI,SAAS,CAAC4I,KAAK,CAChB,CAAC;EACFrD,IAAI,EAAEvF,SAAS,CAACmI,SAAS,CAAC,CACxBnI,SAAS,CAACkI,MAAM,EAChBlI,SAAS,CAACqI,IAAI,EACdrI,SAAS,CAACoI,IAAI,CACf,CAAC;EACF3C,aAAa,EAAEzF,SAAS,CAACsI,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EACjD9C,SAAS,EAAExF,SAAS,CAACkI,MAAM;EAC3BN,UAAU,EAAE5H,SAAS,CAACmI,SAAS,CAAC,CAACnI,SAAS,CAACkI,MAAM,EAAElI,SAAS,CAACwI,MAAM,CAAC,CAAC;EACrEjG,QAAQ,EAAEvC,SAAS,CAACmI,SAAS,CAAC,CAACnI,SAAS,CAACkI,MAAM,EAAElI,SAAS,CAACuI,IAAI,CAAC;AAAC,GAE9D1H,gBAAgB;EAEnBoE,KAAK,EAAEjF,SAAS,CAACkI,MAAM;EACvBlD,SAAS,EAAEhF,SAAS,CAACkI,MAAM;EAC3BvC,QAAQ,EAAE3F,SAAS,CAACmI,SAAS,CAAC,CAACnI,SAAS,CAACkI,MAAM,EAAElI,SAAS,CAACoI,IAAI,CAAC,CAAC;EAEjExC,SAAS,EAAE5F,SAAS,CAACoI,IAAI;EACzBvC,eAAe,EAAE7F,SAAS,CAACoI;AAAI"}
1
+ {"version":3,"file":"ToggleButton.js","names":["React","PropTypes","classnames","keycode","warn","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","dispatchCustomElementEvent","AlignmentHelper","includeValidProps","spacingPropTypes","createSpacingClasses","Radio","Checkbox","Button","FormLabel","FormStatus","ToggleButtonGroup","ToggleButtonGroupContext","Context","Suffix","ToggleButton","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","constructor","context","_defineProperty","event","onClickHandler","readOnly","preventDefault","persist","multiselect","value","setState","callOnChange","_refButton","current","_ref","focus","e","onChange","_id","id","createRef","name","values","Array","isArray","includes","setContext","tmp","render","createElement","Consumer","contextProps","defaultProps","translation","FormRow","status","status_state","status_props","status_no_animation","globalStatus","suffix","label","label_direction","label_sr_only","text","title","className","class","_className","disabled","skeleton","variant","left_component","icon","icon_size","icon_position","propValue","children","on_change","on_state_update","rest","_objectWithoutProperties","_excluded","contextValue","contextValues","showStatus","mainParams","buttonParams","_objectSpread","String","componentParams","element","undefined","role","type","leftComponent","_extends","for_id","sr_only","show","text_id","no_animation","_AlignmentHelper","custom_content","ref","onClick","onKeyDown","onKeyDownHandler","onKeyUp","onKeyUpHandler","attributes","test","process","env","NODE_ENV","propTypes","string","oneOfType","func","node","oneOf","bool","object","shape","message","number","array"],"sources":["../../../../src/components/toggle-button/ToggleButton.js"],"sourcesContent":["/**\n * Web ToggleButton Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n warn,\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 { includeValidProps } from '../form-row/FormRowHelpers'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\n\nimport Radio from '../radio/Radio'\nimport Checkbox from '../checkbox/Checkbox'\nimport Button from '../button/Button'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport ToggleButtonGroup from './ToggleButtonGroup'\nimport ToggleButtonGroupContext from './ToggleButtonGroupContext'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\n/**\n * The toggle-button component is our enhancement of the classic toggle-button button.\n */\nexport default class ToggleButton extends React.PureComponent {\n static Group = ToggleButtonGroup\n\n static contextType = ToggleButtonGroupContext\n\n static propTypes = {\n text: PropTypes.string,\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 title: PropTypes.string,\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n variant: PropTypes.oneOf(['default', 'checkbox', 'radio']),\n left_component: PropTypes.node,\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n // group: PropTypes.string,\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.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n PropTypes.array,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_position: PropTypes.oneOf(['left', 'right']),\n icon_size: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\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 text: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n title: null,\n checked: undefined,\n variant: null,\n left_component: null,\n disabled: null,\n skeleton: null,\n id: null,\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 icon: null,\n icon_position: 'right',\n icon_size: null,\n attributes: null,\n readOnly: false,\n class: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_state_update: 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 = ToggleButton.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, context) {\n super(props)\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this._refButton = React.createRef()\n\n this.state = {\n _listenForPropChanges: true,\n }\n\n // set the startup checked values from context, if they exists\n if (context.name && typeof props.value !== 'undefined') {\n if (typeof context.value !== 'undefined') {\n this.state.checked = context.value === props.value\n this.state._listenForPropChanges = false\n } else if (context.values && Array.isArray(context.values)) {\n this.state.checked = context.values.includes(props.value)\n this.state._listenForPropChanges = false\n\n // make sure we update the context\n // with a possible custom set \"checked\" state\n } else if (ToggleButton.parseChecked(props.checked)) {\n if (context.setContext) {\n if (context.multiselect) {\n context.setContext((tmp) => {\n return {\n values:\n // in case we have set before a new context (other component)\n // we fill combine these arrays\n tmp && Array.isArray(tmp.values)\n ? [...tmp.values, props.value]\n : [props.value],\n }\n })\n } else {\n context.setContext({\n value: props.value,\n })\n }\n }\n }\n }\n }\n\n onKeyDownHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onKeyUpHandler = (event) => {\n switch (keycode(event)) {\n case 'enter':\n this.onClickHandler({ event })\n break\n }\n }\n\n onClickHandler = ({ event }) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n event.persist()\n\n // only select a value once\n if (\n !isTrue(this.context.multiselect) &&\n this.props.value === this.context.value\n ) {\n return\n }\n\n // else we change the checked state\n const checked = !this.state.checked\n this.setState({\n checked,\n _listenForPropChanges: false,\n })\n this.callOnChange({ checked, event })\n\n if (this._refButton.current && checked) {\n // simulate focus for firefox and safari\n // so we can get rid of the hover ring after click\n try {\n this._refButton.current._ref.current.focus()\n } catch (e) {\n warn(e)\n }\n }\n }\n\n callOnChange = ({ checked, event }) => {\n const { value } = this.props\n if (this.context.onChange) {\n this.context.onChange({\n value,\n event,\n })\n }\n dispatchCustomElementEvent(this, 'on_change', {\n checked,\n value,\n event,\n })\n }\n\n render() {\n return (\n <Context.Consumer>\n {(context) => {\n // from internal context\n const contextProps = extendPropsWithContextInClassComponent(\n this.props,\n ToggleButton.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 ToggleButton.defaultProps,\n contextProps,\n context.translation.ToggleButton,\n includeValidProps(context.FormRow),\n context.ToggleButton\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 text,\n title,\n readOnly,\n className,\n class: _className,\n disabled,\n skeleton,\n variant,\n left_component,\n icon,\n icon_size,\n icon_position,\n value: propValue,\n\n id: _id, // eslint-disable-line\n // group: _group, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n children,\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n\n ...rest\n } = props\n\n let { checked } = this.state\n\n if (\n !isTrue(this.context.multiselect) &&\n typeof this.context.value !== 'undefined'\n ) {\n const contextValue = this.context.value\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = propValue === contextValue\n }\n } else if (\n isTrue(this.context.multiselect) &&\n typeof this.context.values !== 'undefined'\n ) {\n const contextValues = this.context.values\n if (\n typeof propValue === 'string' ||\n typeof propValue === 'number'\n ) {\n checked = contextValues.includes(propValue)\n }\n }\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-toggle-button',\n status && `dnb-toggle-button__status--${status_state}`,\n checked && `dnb-toggle-button--checked`,\n label_direction && `dnb-toggle-button--${label_direction}`,\n createSpacingClasses(props),\n className,\n _className\n ),\n }\n\n // to remove spacing props\n validateDOMAttributes(this.props, rest)\n\n const buttonParams = {\n id,\n disabled,\n skeleton,\n text: text || children,\n title,\n icon,\n icon_size,\n icon_position,\n 'aria-pressed': String(checked || false),\n ...rest,\n }\n\n const componentParams = {\n checked,\n disabled,\n element: 'span',\n 'data-checked': String(checked || false),\n 'aria-checked': undefined,\n role: undefined,\n type: undefined,\n name: null,\n title: null,\n }\n\n if (status) {\n // do not send along the message, but only the status states\n if (status_state === 'info') {\n componentParams.status_state = 'info'\n } else {\n componentParams.status = 'error'\n }\n }\n\n if (showStatus || suffix) {\n buttonParams['aria-describedby'] = combineDescribedBy(\n buttonParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n buttonParams['aria-readonly'] = buttonParams.readOnly = true\n }\n\n let leftComponent = null\n switch (variant) {\n case 'radio':\n leftComponent = (\n <Radio id={`${id}-radio`} {...componentParams} />\n )\n break\n\n case 'checkbox':\n leftComponent = (\n <Checkbox id={`${id}-checkbox`} {...componentParams} />\n )\n break\n\n case 'default':\n default:\n leftComponent = left_component\n break\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n label_direction={label_direction}\n sr_only={label_sr_only}\n />\n )}\n <span className=\"dnb-toggle-button__inner\">\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 text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-toggle-button__shell\">\n <AlignmentHelper />\n\n <Button\n variant=\"secondary\"\n className=\"dnb-toggle-button__button\"\n custom_content={\n leftComponent && (\n <span className=\"dnb-toggle-button__component\">\n {leftComponent}\n </span>\n )\n }\n {...buttonParams}\n ref={this._refButton}\n onClick={this.onClickHandler}\n onKeyDown={this.onKeyDownHandler}\n onKeyUp={this.onKeyUpHandler}\n />\n\n {suffix && (\n <Suffix\n className=\"dnb-toggle-button__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 )\n }}\n </Context.Consumer>\n )\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleButtonGroup.js","names":["React","PropTypes","classnames","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","combineLabelledBy","dispatchCustomElementEvent","spacingPropTypes","createSpacingClasses","AlignmentHelper","FormRow","FormStatus","Context","Suffix","ToggleButtonGroupContext","includeValidProps","ToggleButtonGroup","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","value","values","getValues","JSON","parse","constructor","_defineProperty","event","multiselect","includes","push","splice","indexOf","setState","_refInput","createRef","_id","id","_name","name","render","defaultProps","context","getTranslation","ToggleButton","status","status_state","status_props","status_no_animation","globalStatus","suffix","label_direction","label_sr_only","vertical","layout_direction","label","variant","left_component","no_fieldset","disabled","skeleton","className","class","_className","_value","_values","children","on_change","rest","_objectWithoutProperties","_excluded","showStatus","classes","params","_objectSpread","setContext","_tmp","onChange","onChangeHandler","formRowParams","label_id","direction","skipContentWrapperIfNested","createElement","Provider","_AlignmentHelper","_extends","role","show","text_id","text","no_animation","title","undefined","attributes","process","env","NODE_ENV","propTypes","oneOfType","string","func","node","oneOf","bool","object","shape","message","number","array"],"sources":["../../../../src/components/toggle-button/ToggleButtonGroup.js"],"sourcesContent":["/**\n * Web ToggleButtonGroup Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n combineLabelledBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport FormRow from '../form-row/FormRow'\nimport FormStatus from '../form-status/FormStatus'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport ToggleButtonGroupContext from './ToggleButtonGroupContext'\nimport { includeValidProps } from '../form-row/FormRowHelpers'\n\nexport default class ToggleButtonGroup 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 title: PropTypes.string,\n multiselect: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n variant: PropTypes.oneOf(['default', 'checkbox', 'radio']),\n left_component: PropTypes.node,\n no_fieldset: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\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 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 vertical: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n layout_direction: PropTypes.oneOf(['column', 'row']),\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n PropTypes.array,\n ]),\n values: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\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 title: null,\n multiselect: null,\n variant: null,\n left_component: null,\n no_fieldset: null,\n disabled: null,\n skeleton: null,\n id: null,\n name: 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 values: undefined,\n attributes: null,\n class: null,\n\n className: null,\n children: null,\n\n on_change: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (\n typeof props.value !== 'undefined' &&\n props.value !== state.value\n ) {\n state.value = props.value\n }\n if (\n typeof props.values !== 'undefined' &&\n props.values !== state.values\n ) {\n state.values = ToggleButtonGroup.getValues(props)\n }\n }\n state._listenForPropChanges = true\n\n return state\n }\n\n static getValues(props) {\n if (typeof props.values === 'string' && props.values[0] === '[') {\n return JSON.parse(props.values)\n }\n return props.values\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 || makeUniqueId() // cause we need an id anyway\n this.state = {\n // do not set the value here, else get true in this check } else if (context.values && Array.isArray(context.values)) {\n _listenForPropChanges: true,\n }\n }\n\n onChangeHandler = ({ value, event }) => {\n const { multiselect } = this.props\n const values = this.state.values || []\n\n if (isTrue(multiselect)) {\n if (!values.includes(value)) {\n values.push(value)\n } else {\n values.splice(values.indexOf(value), 1)\n }\n }\n\n this.setState({\n value,\n values,\n _listenForPropChanges: false,\n })\n\n dispatchCustomElementEvent(this, 'on_change', {\n value,\n values,\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 ToggleButtonGroup.defaultProps,\n this.context.getTranslation(this.props).ToggleButton,\n includeValidProps(this.context.FormRow),\n this.context.ToggleButtonGroup\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n label_direction,\n label_sr_only,\n vertical,\n layout_direction,\n label,\n variant,\n left_component,\n no_fieldset,\n disabled,\n skeleton,\n className,\n class: _className,\n\n multiselect,\n id: _id, // eslint-disable-line\n name: _name, // eslint-disable-line\n value: _value, // eslint-disable-line\n values: _values, // eslint-disable-line\n children, // eslint-disable-line\n on_change, // eslint-disable-line\n\n ...rest\n } = props\n\n const { value, values } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const classes = classnames(\n 'dnb-toggle-button-group',\n status && `dnb-toggle-button-group__status--${status_state}`,\n !label && 'dnb-toggle-button-group--no-label',\n `dnb-toggle-button-group--${layout_direction}`,\n // (isTrue(vertical) || label_direction === 'vertical') &&\n // `dnb-toggle-button-group--vertical`,\n (isTrue(vertical) || label_direction) &&\n `dnb-form-row--${\n isTrue(vertical) ? 'vertical' : label_direction\n }-label`, // <-- has label\n 'dnb-form-component',\n createSpacingClasses(props),\n className,\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 values,\n multiselect: isTrue(multiselect),\n variant,\n left_component,\n disabled,\n skeleton,\n setContext: (context) => {\n // also look for a fuctions, we we are able to fill old values\n // this is used in the \"constructor\" inside the ToggleButton.js component\n if (typeof context === 'function') {\n context = context(this._tmp)\n }\n this._tmp = { ...this._tmp, ...context }\n this.setState({\n ...context,\n _listenForPropChanges: false,\n })\n },\n onChange: this.onChangeHandler,\n }\n\n const formRowParams = {\n id,\n label,\n label_id: id + '-label', // send the id along, so the FormRow component can use it\n label_direction,\n label_sr_only,\n direction: label_direction,\n vertical,\n disabled,\n skeleton,\n no_fieldset,\n skipContentWrapperIfNested: true,\n // status,\n // status_state\n }\n\n return (\n <ToggleButtonGroupContext.Provider value={context}>\n <div className={classes}>\n <AlignmentHelper />\n <FormRow {...formRowParams}>\n <span\n id={id}\n className=\"dnb-toggle-button-group__shell\"\n role=\"group\"\n {...params}\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 text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-toggle-button-group__children\">\n {children}\n\n {suffix && (\n <Suffix\n className=\"dnb-toggle-button-group__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </FormRow>\n </div>\n </ToggleButtonGroupContext.Provider>\n )\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ToggleButtonGroup.js","names":["React","PropTypes","classnames","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","getStatusState","combineDescribedBy","combineLabelledBy","dispatchCustomElementEvent","spacingPropTypes","createSpacingClasses","AlignmentHelper","FormRow","FormStatus","Context","Suffix","ToggleButtonGroupContext","includeValidProps","ToggleButtonGroup","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","value","values","getValues","JSON","parse","constructor","_defineProperty","event","multiselect","includes","push","splice","indexOf","setState","_refInput","createRef","_id","id","_name","name","render","defaultProps","context","getTranslation","ToggleButton","status","status_state","status_props","status_no_animation","globalStatus","suffix","label_direction","label_sr_only","vertical","layout_direction","label","variant","left_component","no_fieldset","disabled","skeleton","className","class","_className","_value","_values","children","on_change","rest","_objectWithoutProperties","_excluded","showStatus","classes","params","_objectSpread","setContext","_tmp","onChange","onChangeHandler","formRowParams","label_id","direction","skipContentWrapperIfNested","createElement","Provider","_AlignmentHelper","_extends","role","show","text_id","text","no_animation","title","undefined","attributes","process","env","NODE_ENV","propTypes","oneOfType","string","func","node","oneOf","bool","object","shape","message","number","array"],"sources":["../../../../src/components/toggle-button/ToggleButtonGroup.js"],"sourcesContent":["/**\n * Web ToggleButtonGroup Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n combineLabelledBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport FormRow from '../form-row/FormRow'\nimport FormStatus from '../form-status/FormStatus'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport ToggleButtonGroupContext from './ToggleButtonGroupContext'\nimport { includeValidProps } from '../form-row/FormRowHelpers'\n\nexport default class ToggleButtonGroup 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 title: PropTypes.string,\n multiselect: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n variant: PropTypes.oneOf(['default', 'checkbox', 'radio']),\n left_component: PropTypes.node,\n no_fieldset: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\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 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 vertical: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n layout_direction: PropTypes.oneOf(['column', 'row']),\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.object,\n PropTypes.array,\n ]),\n values: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n\n ...spacingPropTypes,\n\n class: PropTypes.string,\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 title: null,\n multiselect: null,\n variant: null,\n left_component: null,\n no_fieldset: null,\n disabled: null,\n skeleton: null,\n id: null,\n name: 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 values: undefined,\n attributes: null,\n class: null,\n\n className: null,\n children: null,\n\n on_change: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (\n typeof props.value !== 'undefined' &&\n props.value !== state.value\n ) {\n state.value = props.value\n }\n if (\n typeof props.values !== 'undefined' &&\n props.values !== state.values\n ) {\n state.values = ToggleButtonGroup.getValues(props)\n }\n }\n state._listenForPropChanges = true\n\n return state\n }\n\n static getValues(props) {\n if (typeof props.values === 'string' && props.values[0] === '[') {\n return JSON.parse(props.values)\n }\n return props.values\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 || makeUniqueId() // cause we need an id anyway\n this.state = {\n // do not set the value here, else get true in this check } else if (context.values && Array.isArray(context.values)) {\n _listenForPropChanges: true,\n }\n }\n\n onChangeHandler = ({ value, event }) => {\n const { multiselect } = this.props\n const values = this.state.values || []\n\n if (isTrue(multiselect)) {\n if (!values.includes(value)) {\n values.push(value)\n } else {\n values.splice(values.indexOf(value), 1)\n }\n }\n\n this.setState({\n value,\n values,\n _listenForPropChanges: false,\n })\n\n dispatchCustomElementEvent(this, 'on_change', {\n value,\n values,\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 ToggleButtonGroup.defaultProps,\n this.context.getTranslation(this.props).ToggleButton,\n includeValidProps(this.context.FormRow),\n this.context.ToggleButtonGroup\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n label_direction,\n label_sr_only,\n vertical,\n layout_direction,\n label,\n variant,\n left_component,\n no_fieldset,\n disabled,\n skeleton,\n className,\n class: _className,\n\n multiselect,\n id: _id, // eslint-disable-line\n name: _name, // eslint-disable-line\n value: _value, // eslint-disable-line\n values: _values, // eslint-disable-line\n children, // eslint-disable-line\n on_change, // eslint-disable-line\n\n ...rest\n } = props\n\n const { value, values } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const classes = classnames(\n 'dnb-toggle-button-group',\n status && `dnb-toggle-button-group__status--${status_state}`,\n !label && 'dnb-toggle-button-group--no-label',\n `dnb-toggle-button-group--${layout_direction}`,\n // (isTrue(vertical) || label_direction === 'vertical') &&\n // `dnb-toggle-button-group--vertical`,\n (isTrue(vertical) || label_direction) &&\n `dnb-form-row--${\n isTrue(vertical) ? 'vertical' : label_direction\n }-label`, // <-- has label\n 'dnb-form-component',\n createSpacingClasses(props),\n className,\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 values,\n multiselect: isTrue(multiselect),\n variant,\n left_component,\n disabled,\n skeleton,\n setContext: (context) => {\n // also look for a function, where we are able to fill old values\n // this is used in the \"constructor\" inside the ToggleButton.js component\n if (typeof context === 'function') {\n context = context(this._tmp)\n }\n this._tmp = { ...this._tmp, ...context }\n this.setState({\n ...context,\n _listenForPropChanges: false,\n })\n },\n onChange: this.onChangeHandler,\n }\n\n const formRowParams = {\n id,\n label,\n label_id: id + '-label', // send the id along, so the FormRow component can use it\n label_direction,\n label_sr_only,\n direction: label_direction,\n vertical,\n disabled,\n skeleton,\n no_fieldset,\n skipContentWrapperIfNested: true,\n // status,\n // status_state\n }\n\n return (\n <ToggleButtonGroupContext.Provider value={context}>\n <div className={classes}>\n <AlignmentHelper />\n <FormRow {...formRowParams}>\n <span\n id={id}\n className=\"dnb-toggle-button-group__shell\"\n role=\"group\"\n {...params}\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 text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-toggle-button-group__children\">\n {children}\n\n {suffix && (\n <Suffix\n className=\"dnb-toggle-button-group__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </FormRow>\n </div>\n </ToggleButtonGroupContext.Provider>\n )\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TooltipContainer.js","names":["React","isTrue","getOffsetLeft","getOffsetTop","classnames","TooltipContainer","props","internalId","active","attributes","arrow","position","align","hideDelay","fixedPosition","noAnimation","skipPortal","useHover","children","targetElement","target","style","setStyle","useState","hover","setHover","isActive","wasActive","makeActive","renewStyles","forceRerender","getBodySize","elementRef","useRef","offset","debounceTimeout","resizeObserver","document","width","height","body","getBoundingClientRect","clearTimers","clearTimeout","current","useLayoutEffect","addPositionObserver","ResizeObserver","setTimeout","observe","e","removePositionObserver","_resizeObserver$curre","disconnect","offsetLeft","offsetTop","element","window","alignOffset","elementWidth","offsetWidth","elementHeight","offsetHeight","rect","targetBodySize","scrollY","undefined","pageYOffset","scrollX","pageXOffset","top","useMouseWhen","mousePos","left","widthBased","_objectSpread","topHorizontal","leftVertical","stylesFromPosition","right","bottom","stylesFromArrow","rightOffset","parseFloat","String","innerWidth","handleMouseEnter","handleMouseLeave","handlePropagation","stopPropagation","createElement","_extends","role","ref","onMouseEnter","onMouseLeave","onMouseMove","onMouseDown","onTouchStart","className","id"],"sources":["../../../../src/components/tooltip/TooltipContainer.tsx"],"sourcesContent":["/**\n * Web Tooltip Component\n *\n */\n\nimport React from 'react'\nimport { isTrue } from '../../shared/component-helper'\nimport { getOffsetLeft, getOffsetTop } from '../../shared/helpers'\nimport classnames from 'classnames'\nimport { TooltipProps } from './types'\n\ntype TooltipContainerProps = {\n targetElement: HTMLElement\n style?: React.CSSProperties\n useHover?: boolean\n internalId?: string\n attributes?: Record<string, unknown> & { style: React.CSSProperties }\n}\n\nexport default function TooltipContainer(\n props: TooltipProps & TooltipContainerProps\n) {\n const {\n internalId,\n active,\n attributes,\n arrow,\n position,\n align,\n hideDelay,\n fixedPosition,\n noAnimation,\n skipPortal,\n useHover,\n children,\n targetElement: target,\n } = props\n\n const [style, setStyle] = React.useState(null)\n const [hover, setHover] = React.useState(false)\n const isActive = isTrue(active) || hover\n const [wasActive, makeActive] = React.useState(false)\n const [renewStyles, forceRerender] = React.useState(getBodySize)\n\n const elementRef = React.useRef<HTMLSpanElement>(null)\n const offset = React.useRef(16)\n const debounceTimeout = React.useRef<NodeJS.Timeout>()\n const resizeObserver = React.useRef<ResizeObserver>(null)\n\n function getBodySize() {\n if (!isActive || typeof document === 'undefined') {\n return 0 // stop here\n }\n\n const { width, height } = document.body.getBoundingClientRect()\n\n return width + height\n }\n\n const clearTimers = () => {\n clearTimeout(debounceTimeout.current)\n }\n\n React.useLayoutEffect(() => {\n const addPositionObserver = () => {\n if (resizeObserver.current || typeof document === 'undefined') {\n return // stop here\n }\n\n try {\n resizeObserver.current = new ResizeObserver(() => {\n clearTimers()\n debounceTimeout.current = setTimeout(\n () => forceRerender(getBodySize()),\n 100\n )\n })\n\n resizeObserver.current.observe(document.body)\n } catch (e) {\n //\n }\n }\n const removePositionObserver = () => {\n clearTimers()\n resizeObserver.current?.disconnect()\n }\n\n if (isActive) {\n makeActive(true)\n addPositionObserver()\n } else {\n removePositionObserver()\n }\n\n return removePositionObserver\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isActive])\n\n const offsetLeft = React.useRef(0)\n const offsetTop = React.useRef(0)\n\n React.useLayoutEffect(() => {\n if (!isActive) {\n /**\n * This \"resets\" the position between elements,\n * when not active. Else it will always first show on the older position.\n */\n if (wasActive) {\n clearTimeout(debounceTimeout.current)\n debounceTimeout.current = setTimeout(\n () => setStyle(null),\n hideDelay\n )\n }\n return // stop here\n }\n\n const element = elementRef?.current\n\n if (\n typeof window === 'undefined' ||\n !element ||\n !target?.getBoundingClientRect\n ) {\n return // stop here\n }\n\n let alignOffset = 0\n\n const elementWidth = element.offsetWidth\n const elementHeight = element.offsetHeight\n const rect = target.getBoundingClientRect()\n const targetBodySize = {\n width: target.offsetWidth,\n height: target.offsetHeight,\n }\n\n // fix for svg\n if (!target.offsetHeight) {\n targetBodySize.width = rect.width\n targetBodySize.height = rect.height\n }\n\n if (skipPortal && (!offsetLeft.current || !offsetTop.current)) {\n offsetLeft.current = getOffsetLeft(element) - offset.current\n offsetTop.current = getOffsetTop(element) - offset.current\n }\n\n const scrollY =\n window.scrollY !== undefined ? window.scrollY : window.pageYOffset\n const scrollX =\n window.scrollX !== undefined ? window.scrollX : window.pageXOffset\n const top =\n (isTrue(fixedPosition) ? 0 : scrollY) + rect.top - offsetTop.current\n\n // Use Mouse position when target is too wide\n const useMouseWhen = targetBodySize.width > 400\n const mousePos =\n getOffsetLeft(target) +\n rect.left / 2 +\n (element ? element.offsetWidth : 0)\n const widthBased = scrollX + rect.left\n const left =\n (useMouseWhen && mousePos < targetBodySize.width\n ? mousePos\n : widthBased) - offsetLeft.current\n\n const style = { ...props.style }\n\n if (align === 'left') {\n alignOffset = -targetBodySize.width / 2\n } else if (align === 'right') {\n alignOffset = targetBodySize.width / 2\n }\n\n const topHorizontal =\n top + targetBodySize.height / 2 - elementHeight / 2\n const leftVertical =\n left - elementWidth / 2 + targetBodySize.width / 2 + alignOffset\n\n const stylesFromPosition = {\n left: () => {\n style.top = topHorizontal\n style.left = left - elementWidth - offset.current\n },\n right: () => {\n style.top = topHorizontal\n style.left = left + targetBodySize.width + offset.current\n },\n top: () => {\n style.left = leftVertical\n style.top = top - elementHeight - offset.current\n },\n bottom: () => {\n style.left = leftVertical\n style.top = top + targetBodySize.height + offset.current\n },\n }\n\n const stylesFromArrow = {\n left: () => {\n style.left =\n left + targetBodySize.width / 2 - offset.current + alignOffset\n },\n right: () => {\n style.left =\n left -\n elementWidth +\n targetBodySize.width / 2 +\n offset.current +\n alignOffset\n },\n top: () => {\n style.top = top + targetBodySize.height / 2 - offset.current\n },\n bottom: () => {\n style.top =\n top + targetBodySize.height / 2 - elementHeight + offset.current\n },\n }\n\n if (stylesFromPosition[position]) {\n stylesFromPosition[position]()\n } else if (stylesFromArrow[arrow]) {\n stylesFromArrow[arrow]()\n }\n\n const rightOffset =\n parseFloat(String(style.left)) + elementWidth - window.innerWidth\n if (rightOffset > 0) {\n style.left = window.innerWidth - elementWidth\n }\n\n if (parseFloat(String(style.left)) < 0) {\n style.left = 0\n }\n if (parseFloat(String(style.top)) < 0) {\n style.top = 0\n }\n\n setStyle(style)\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [active, arrow, position, children, renewStyles])\n\n const handleMouseEnter = () => {\n if (isTrue(active) && useHover !== false) {\n setHover(true)\n }\n }\n\n const handleMouseLeave = () => {\n if (useHover !== false) {\n setHover(false)\n }\n }\n\n /**\n * By stopping propagation, we allow the user to select text when Toolip is used in the Slider component\n */\n const handlePropagation = (e: React.SyntheticEvent) =>\n e.stopPropagation()\n\n return (\n <span\n role=\"tooltip\"\n aria-hidden={target ? true : undefined} // make sure SR does not find it in the DOM, because we use \"aria-describedby\" for that\n ref={elementRef}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onMouseMove={handlePropagation}\n onMouseDown={handlePropagation}\n onTouchStart={handlePropagation}\n {...attributes}\n className={classnames(\n attributes?.className,\n isTrue(noAnimation) && 'dnb-tooltip--no-animation',\n isTrue(fixedPosition) && 'dnb-tooltip--fixed',\n isActive && 'dnb-tooltip--active',\n !isActive && wasActive && 'dnb-tooltip--hide'\n )}\n style={{ ...style, ...attributes.style }}\n >\n {arrow && (\n <span\n className={classnames(\n 'dnb-tooltip__arrow',\n `dnb-tooltip__arrow__arrow--${arrow}`,\n `dnb-tooltip__arrow__position--${position}`\n )}\n />\n )}\n\n <span id={internalId} className=\"dnb-tooltip__content\">\n {children}\n </span>\n </span>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"TooltipContainer.js","names":["React","isTrue","getOffsetLeft","getOffsetTop","classnames","TooltipContainer","props","internalId","active","attributes","arrow","position","align","hideDelay","fixedPosition","noAnimation","skipPortal","useHover","children","targetElement","target","style","setStyle","useState","hover","setHover","isActive","wasActive","makeActive","renewStyles","forceRerender","getBodySize","elementRef","useRef","offset","debounceTimeout","resizeObserver","document","width","height","body","getBoundingClientRect","clearTimers","clearTimeout","current","useLayoutEffect","addPositionObserver","ResizeObserver","setTimeout","observe","e","removePositionObserver","_resizeObserver$curre","disconnect","offsetLeft","offsetTop","element","window","alignOffset","elementWidth","offsetWidth","elementHeight","offsetHeight","rect","targetBodySize","scrollY","undefined","pageYOffset","scrollX","pageXOffset","top","useMouseWhen","mousePos","left","widthBased","_objectSpread","topHorizontal","leftVertical","stylesFromPosition","right","bottom","stylesFromArrow","rightOffset","parseFloat","String","innerWidth","handleMouseEnter","handleMouseLeave","handlePropagation","stopPropagation","createElement","_extends","role","ref","onMouseEnter","onMouseLeave","onMouseMove","onMouseDown","onTouchStart","className","id"],"sources":["../../../../src/components/tooltip/TooltipContainer.tsx"],"sourcesContent":["/**\n * Web Tooltip Component\n *\n */\n\nimport React from 'react'\nimport { isTrue } from '../../shared/component-helper'\nimport { getOffsetLeft, getOffsetTop } from '../../shared/helpers'\nimport classnames from 'classnames'\nimport { TooltipProps } from './types'\n\ntype TooltipContainerProps = {\n targetElement: HTMLElement\n style?: React.CSSProperties\n useHover?: boolean\n internalId?: string\n attributes?: Record<string, unknown> & { style: React.CSSProperties }\n}\n\nexport default function TooltipContainer(\n props: TooltipProps & TooltipContainerProps\n) {\n const {\n internalId,\n active,\n attributes,\n arrow,\n position,\n align,\n hideDelay,\n fixedPosition,\n noAnimation,\n skipPortal,\n useHover,\n children,\n targetElement: target,\n } = props\n\n const [style, setStyle] = React.useState(null)\n const [hover, setHover] = React.useState(false)\n const isActive = isTrue(active) || hover\n const [wasActive, makeActive] = React.useState(false)\n const [renewStyles, forceRerender] = React.useState(getBodySize)\n\n const elementRef = React.useRef<HTMLSpanElement>(null)\n const offset = React.useRef(16)\n const debounceTimeout = React.useRef<NodeJS.Timeout>()\n const resizeObserver = React.useRef<ResizeObserver>(null)\n\n function getBodySize() {\n if (!isActive || typeof document === 'undefined') {\n return 0 // stop here\n }\n\n const { width, height } = document.body.getBoundingClientRect()\n\n return width + height\n }\n\n const clearTimers = () => {\n clearTimeout(debounceTimeout.current)\n }\n\n React.useLayoutEffect(() => {\n const addPositionObserver = () => {\n if (resizeObserver.current || typeof document === 'undefined') {\n return // stop here\n }\n\n try {\n resizeObserver.current = new ResizeObserver(() => {\n clearTimers()\n debounceTimeout.current = setTimeout(\n () => forceRerender(getBodySize()),\n 100\n )\n })\n\n resizeObserver.current.observe(document.body)\n } catch (e) {\n //\n }\n }\n const removePositionObserver = () => {\n clearTimers()\n resizeObserver.current?.disconnect()\n }\n\n if (isActive) {\n makeActive(true)\n addPositionObserver()\n } else {\n removePositionObserver()\n }\n\n return removePositionObserver\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isActive])\n\n const offsetLeft = React.useRef(0)\n const offsetTop = React.useRef(0)\n\n React.useLayoutEffect(() => {\n if (!isActive) {\n /**\n * This \"resets\" the position between elements,\n * when not active. Else it will always first show on the older position.\n */\n if (wasActive) {\n clearTimeout(debounceTimeout.current)\n debounceTimeout.current = setTimeout(\n () => setStyle(null),\n hideDelay\n )\n }\n return // stop here\n }\n\n const element = elementRef?.current\n\n if (\n typeof window === 'undefined' ||\n !element ||\n !target?.getBoundingClientRect\n ) {\n return // stop here\n }\n\n let alignOffset = 0\n\n const elementWidth = element.offsetWidth\n const elementHeight = element.offsetHeight\n const rect = target.getBoundingClientRect()\n const targetBodySize = {\n width: target.offsetWidth,\n height: target.offsetHeight,\n }\n\n // fix for svg\n if (!target.offsetHeight) {\n targetBodySize.width = rect.width\n targetBodySize.height = rect.height\n }\n\n if (skipPortal && (!offsetLeft.current || !offsetTop.current)) {\n offsetLeft.current = getOffsetLeft(element) - offset.current\n offsetTop.current = getOffsetTop(element) - offset.current\n }\n\n const scrollY =\n window.scrollY !== undefined ? window.scrollY : window.pageYOffset\n const scrollX =\n window.scrollX !== undefined ? window.scrollX : window.pageXOffset\n const top =\n (isTrue(fixedPosition) ? 0 : scrollY) + rect.top - offsetTop.current\n\n // Use Mouse position when target is too wide\n const useMouseWhen = targetBodySize.width > 400\n const mousePos =\n getOffsetLeft(target) +\n rect.left / 2 +\n (element ? element.offsetWidth : 0)\n const widthBased = scrollX + rect.left\n const left =\n (useMouseWhen && mousePos < targetBodySize.width\n ? mousePos\n : widthBased) - offsetLeft.current\n\n const style = { ...props.style }\n\n if (align === 'left') {\n alignOffset = -targetBodySize.width / 2\n } else if (align === 'right') {\n alignOffset = targetBodySize.width / 2\n }\n\n const topHorizontal =\n top + targetBodySize.height / 2 - elementHeight / 2\n const leftVertical =\n left - elementWidth / 2 + targetBodySize.width / 2 + alignOffset\n\n const stylesFromPosition = {\n left: () => {\n style.top = topHorizontal\n style.left = left - elementWidth - offset.current\n },\n right: () => {\n style.top = topHorizontal\n style.left = left + targetBodySize.width + offset.current\n },\n top: () => {\n style.left = leftVertical\n style.top = top - elementHeight - offset.current\n },\n bottom: () => {\n style.left = leftVertical\n style.top = top + targetBodySize.height + offset.current\n },\n }\n\n const stylesFromArrow = {\n left: () => {\n style.left =\n left + targetBodySize.width / 2 - offset.current + alignOffset\n },\n right: () => {\n style.left =\n left -\n elementWidth +\n targetBodySize.width / 2 +\n offset.current +\n alignOffset\n },\n top: () => {\n style.top = top + targetBodySize.height / 2 - offset.current\n },\n bottom: () => {\n style.top =\n top + targetBodySize.height / 2 - elementHeight + offset.current\n },\n }\n\n if (stylesFromPosition[position]) {\n stylesFromPosition[position]()\n } else if (stylesFromArrow[arrow]) {\n stylesFromArrow[arrow]()\n }\n\n const rightOffset =\n parseFloat(String(style.left)) + elementWidth - window.innerWidth\n if (rightOffset > 0) {\n style.left = window.innerWidth - elementWidth\n }\n\n if (parseFloat(String(style.left)) < 0) {\n style.left = 0\n }\n if (parseFloat(String(style.top)) < 0) {\n style.top = 0\n }\n\n setStyle(style)\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [active, arrow, position, children, renewStyles])\n\n const handleMouseEnter = () => {\n if (isTrue(active) && useHover !== false) {\n setHover(true)\n }\n }\n\n const handleMouseLeave = () => {\n if (useHover !== false) {\n setHover(false)\n }\n }\n\n /**\n * By stopping propagation, we allow the user to select text when Tooltip is used in the Slider component\n */\n const handlePropagation = (e: React.SyntheticEvent) =>\n e.stopPropagation()\n\n return (\n <span\n role=\"tooltip\"\n aria-hidden={target ? true : undefined} // make sure SR does not find it in the DOM, because we use \"aria-describedby\" for that\n ref={elementRef}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onMouseMove={handlePropagation}\n onMouseDown={handlePropagation}\n onTouchStart={handlePropagation}\n {...attributes}\n className={classnames(\n attributes?.className,\n isTrue(noAnimation) && 'dnb-tooltip--no-animation',\n isTrue(fixedPosition) && 'dnb-tooltip--fixed',\n isActive && 'dnb-tooltip--active',\n !isActive && wasActive && 'dnb-tooltip--hide'\n )}\n style={{ ...style, ...attributes.style }}\n >\n {arrow && (\n <span\n className={classnames(\n 'dnb-tooltip__arrow',\n `dnb-tooltip__arrow__arrow--${arrow}`,\n `dnb-tooltip__arrow__position--${position}`\n )}\n />\n )}\n\n <span id={internalId} className=\"dnb-tooltip__content\">\n {children}\n </span>\n </span>\n )\n}\n"],"mappings":"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"}
@@ -53,7 +53,7 @@ const Upload = localProps => {
53
53
  files,
54
54
  setFiles,
55
55
  setInternalFiles,
56
- getExistsingFile
56
+ getExistingFile
57
57
  } = useUpload(id);
58
58
  const filesRef = React.useRef(files);
59
59
  React.useEffect(() => {
@@ -75,7 +75,7 @@ const Upload = localProps => {
75
75
  const {
76
76
  file
77
77
  } = fileItem;
78
- const existingFile = getExistsingFile(file, files);
78
+ const existingFile = getExistingFile(file, files);
79
79
  fileItem.exists = Boolean(existingFile);
80
80
  fileItem.id = fileItem.exists ? existingFile.id : makeUniqueId();
81
81
  return fileItem;
@@ -1 +1 @@
1
- {"version":3,"file":"Upload.js","names":["React","classnames","createSpacingClasses","Provider","Context","extendPropsWithContext","makeUniqueId","UploadFileInput","useUpload","UploadDropzone","UploadContext","defaultProps","verifyFiles","UploadFileList","UploadInfo","Upload","localProps","context","useContext","extendedProps","skeleton","getTranslation","id","className","acceptedFileTypes","filesAmountLimit","fileMaxSize","onChange","onFileDelete","title","text","fileTypeDescription","fileSizeDescription","fileAmountDescription","fileSizeContent","buttonText","loadingText","errorLargeFile","errorUnsupportedFile","errorAmountLimit","deleteButton","fileListAriaLabel","props","_objectWithoutProperties","_excluded","spacingClasses","files","setFiles","setInternalFiles","getExistsingFile","filesRef","useRef","useEffect","current","createElement","value","_objectSpread","onInputUpload","_extends","_UploadInfo","_UploadFileInput","_UploadFileList","newFiles","mergedFiles","map","fileItem","file","existingFile","exists","Boolean","verifiedFiles","filter","validFiles","slice"],"sources":["../../../../src/components/upload/Upload.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\n\n// Shared\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport Provider from '../../shared/Provider'\nimport Context from '../../shared/Context'\nimport {\n extendPropsWithContext,\n makeUniqueId,\n} from '../../shared/component-helper'\n\n// Internal\nimport UploadFileInput from './UploadFileInput'\nimport useUpload from './useUpload'\nimport UploadDropzone from './UploadDropzone'\nimport { UploadContext, defaultProps } from './UploadContext'\nimport { verifyFiles } from './UploadVerify'\n\nimport type { UploadFile, UploadAllProps } from './types'\nimport UploadFileList from './UploadFileList'\nimport UploadInfo from './UploadInfo'\n\nexport { defaultProps }\n\nconst Upload = (localProps: UploadAllProps) => {\n const context = React.useContext(Context)\n\n const extendedProps = extendPropsWithContext(\n localProps,\n defaultProps,\n { skeleton: context?.skeleton },\n context.getTranslation(localProps).Upload,\n context.Upload\n )\n\n const {\n id,\n skeleton,\n className,\n acceptedFileTypes,\n filesAmountLimit,\n fileMaxSize,\n onChange,\n onFileDelete, // eslint-disable-line\n title, // eslint-disable-line\n text, // eslint-disable-line\n fileTypeDescription, // eslint-disable-line\n fileSizeDescription, // eslint-disable-line\n fileAmountDescription, // eslint-disable-line\n fileSizeContent, // eslint-disable-line\n buttonText, // eslint-disable-line\n loadingText, // eslint-disable-line\n errorLargeFile,\n errorUnsupportedFile,\n errorAmountLimit, // eslint-disable-line\n deleteButton, // eslint-disable-line\n fileListAriaLabel, // eslint-disable-line\n ...props\n } = extendedProps\n\n const spacingClasses = createSpacingClasses(props)\n\n const { files, setFiles, setInternalFiles, getExistsingFile } =\n useUpload(id)\n\n const filesRef = React.useRef<UploadFile[]>(files)\n React.useEffect(() => {\n filesRef.current = files\n }) // keep our ref updated on every re-render\n\n return (\n <UploadContext.Provider\n value={{\n ...extendedProps,\n id,\n onInputUpload,\n }}\n >\n <Provider skeleton={skeleton}>\n <UploadDropzone\n className={classnames('dnb-upload', spacingClasses, className)}\n {...props}\n >\n <UploadInfo />\n\n <UploadFileInput />\n\n <UploadFileList />\n </UploadDropzone>\n </Provider>\n </UploadContext.Provider>\n )\n\n function onInputUpload(newFiles: UploadFile[]) {\n const files = filesRef.current\n const mergedFiles = [\n ...files,\n ...newFiles.map((fileItem) => {\n const { file } = fileItem\n\n const existingFile = getExistsingFile(file, files)\n\n fileItem.exists = Boolean(existingFile)\n fileItem.id = fileItem.exists ? existingFile.id : makeUniqueId()\n\n return fileItem\n }),\n ]\n\n const verifiedFiles = verifyFiles(\n mergedFiles.filter(({ exists }) => !exists),\n {\n fileMaxSize,\n acceptedFileTypes,\n errorUnsupportedFile,\n errorLargeFile,\n }\n )\n\n const validFiles = [...verifiedFiles].slice(0, filesAmountLimit)\n\n setFiles(validFiles)\n setInternalFiles(mergedFiles)\n\n if (typeof onChange === 'function') {\n onChange({ files: validFiles })\n }\n\n return validFiles\n }\n}\n\nUpload.useUpload = useUpload\n\nexport default Upload\n"],"mappings":"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"}
1
+ {"version":3,"file":"Upload.js","names":["React","classnames","createSpacingClasses","Provider","Context","extendPropsWithContext","makeUniqueId","UploadFileInput","useUpload","UploadDropzone","UploadContext","defaultProps","verifyFiles","UploadFileList","UploadInfo","Upload","localProps","context","useContext","extendedProps","skeleton","getTranslation","id","className","acceptedFileTypes","filesAmountLimit","fileMaxSize","onChange","onFileDelete","title","text","fileTypeDescription","fileSizeDescription","fileAmountDescription","fileSizeContent","buttonText","loadingText","errorLargeFile","errorUnsupportedFile","errorAmountLimit","deleteButton","fileListAriaLabel","props","_objectWithoutProperties","_excluded","spacingClasses","files","setFiles","setInternalFiles","getExistingFile","filesRef","useRef","useEffect","current","createElement","value","_objectSpread","onInputUpload","_extends","_UploadInfo","_UploadFileInput","_UploadFileList","newFiles","mergedFiles","map","fileItem","file","existingFile","exists","Boolean","verifiedFiles","filter","validFiles","slice"],"sources":["../../../../src/components/upload/Upload.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\n\n// Shared\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport Provider from '../../shared/Provider'\nimport Context from '../../shared/Context'\nimport {\n extendPropsWithContext,\n makeUniqueId,\n} from '../../shared/component-helper'\n\n// Internal\nimport UploadFileInput from './UploadFileInput'\nimport useUpload from './useUpload'\nimport UploadDropzone from './UploadDropzone'\nimport { UploadContext, defaultProps } from './UploadContext'\nimport { verifyFiles } from './UploadVerify'\n\nimport type { UploadFile, UploadAllProps } from './types'\nimport UploadFileList from './UploadFileList'\nimport UploadInfo from './UploadInfo'\n\nexport { defaultProps }\n\nconst Upload = (localProps: UploadAllProps) => {\n const context = React.useContext(Context)\n\n const extendedProps = extendPropsWithContext(\n localProps,\n defaultProps,\n { skeleton: context?.skeleton },\n context.getTranslation(localProps).Upload,\n context.Upload\n )\n\n const {\n id,\n skeleton,\n className,\n acceptedFileTypes,\n filesAmountLimit,\n fileMaxSize,\n onChange,\n onFileDelete, // eslint-disable-line\n title, // eslint-disable-line\n text, // eslint-disable-line\n fileTypeDescription, // eslint-disable-line\n fileSizeDescription, // eslint-disable-line\n fileAmountDescription, // eslint-disable-line\n fileSizeContent, // eslint-disable-line\n buttonText, // eslint-disable-line\n loadingText, // eslint-disable-line\n errorLargeFile,\n errorUnsupportedFile,\n errorAmountLimit, // eslint-disable-line\n deleteButton, // eslint-disable-line\n fileListAriaLabel, // eslint-disable-line\n ...props\n } = extendedProps\n\n const spacingClasses = createSpacingClasses(props)\n\n const { files, setFiles, setInternalFiles, getExistingFile } =\n useUpload(id)\n\n const filesRef = React.useRef<UploadFile[]>(files)\n React.useEffect(() => {\n filesRef.current = files\n }) // keep our ref updated on every re-render\n\n return (\n <UploadContext.Provider\n value={{\n ...extendedProps,\n id,\n onInputUpload,\n }}\n >\n <Provider skeleton={skeleton}>\n <UploadDropzone\n className={classnames('dnb-upload', spacingClasses, className)}\n {...props}\n >\n <UploadInfo />\n\n <UploadFileInput />\n\n <UploadFileList />\n </UploadDropzone>\n </Provider>\n </UploadContext.Provider>\n )\n\n function onInputUpload(newFiles: UploadFile[]) {\n const files = filesRef.current\n const mergedFiles = [\n ...files,\n ...newFiles.map((fileItem) => {\n const { file } = fileItem\n\n const existingFile = getExistingFile(file, files)\n\n fileItem.exists = Boolean(existingFile)\n fileItem.id = fileItem.exists ? existingFile.id : makeUniqueId()\n\n return fileItem\n }),\n ]\n\n const verifiedFiles = verifyFiles(\n mergedFiles.filter(({ exists }) => !exists),\n {\n fileMaxSize,\n acceptedFileTypes,\n errorUnsupportedFile,\n errorLargeFile,\n }\n )\n\n const validFiles = [...verifiedFiles].slice(0, filesAmountLimit)\n\n setFiles(validFiles)\n setInternalFiles(mergedFiles)\n\n if (typeof onChange === 'function') {\n onChange({ files: validFiles })\n }\n\n return validFiles\n }\n}\n\nUpload.useUpload = useUpload\n\nexport default Upload\n"],"mappings":"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"}
@@ -4,7 +4,7 @@ export type useUploadReturn = {
4
4
  setFiles: (files: UploadFile[]) => void;
5
5
  internalFiles: UploadFile[];
6
6
  setInternalFiles: (files: UploadFile[]) => void;
7
- getExistsingFile: (file: File, fileItems?: UploadFile[]) => UploadFile;
7
+ getExistingFile: (file: File, fileItems?: UploadFile[]) => UploadFile;
8
8
  };
9
9
  /**
10
10
  * Use together with Upload with the same id to manage the files from outside the component.
@@ -16,7 +16,7 @@ function useUpload(id) {
16
16
  };
17
17
  const files = (data === null || data === void 0 ? void 0 : data.files) || [];
18
18
  const internalFiles = (data === null || data === void 0 ? void 0 : data.internalFiles) || [];
19
- const getExistsingFile = (file, fileItems = files) => {
19
+ const getExistingFile = (file, fileItems = files) => {
20
20
  return fileItems.find(({
21
21
  file: f
22
22
  }) => {
@@ -28,7 +28,7 @@ function useUpload(id) {
28
28
  setFiles,
29
29
  internalFiles,
30
30
  setInternalFiles,
31
- getExistsingFile
31
+ getExistingFile
32
32
  };
33
33
  }
34
34
  export default useUpload;
@@ -1 +1 @@
1
- {"version":3,"file":"useUpload.js","names":["useEventEmitter","useUpload","id","data","update","setFiles","files","setInternalFiles","internalFiles","getExistsingFile","file","fileItems","find","f","name","size","lastModified"],"sources":["../../../../src/components/upload/useUpload.ts"],"sourcesContent":["import { useEventEmitter } from '../../shared/component-helper'\nimport type { UploadFile } from './types'\n\nexport type useUploadReturn = {\n files: UploadFile[]\n setFiles: (files: UploadFile[]) => void\n internalFiles: UploadFile[]\n setInternalFiles: (files: UploadFile[]) => void\n getExistsingFile: (file: File, fileItems?: UploadFile[]) => UploadFile\n}\n\n/**\n * Use together with Upload with the same id to manage the files from outside the component.\n */\nfunction useUpload(id: string): useUploadReturn {\n const { data, update } = useEventEmitter(id)\n\n const setFiles = (files: UploadFile[]) => {\n update({ files })\n }\n\n const setInternalFiles = (internalFiles: UploadFile[]) => {\n update({ internalFiles })\n }\n\n const files = data?.files || []\n const internalFiles = data?.internalFiles || []\n\n const getExistsingFile = (\n file: File,\n fileItems: UploadFile[] = files\n ) => {\n return fileItems.find(({ file: f }) => {\n return (\n f.name === file.name &&\n f.size === file.size &&\n f.lastModified === file.lastModified\n )\n })\n }\n\n return {\n files,\n setFiles,\n internalFiles,\n setInternalFiles,\n getExistsingFile,\n }\n}\n\nexport default useUpload\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ,+BAA+B;AAc/D,SAASC,SAASA,CAACC,EAAU,EAAmB;EAC9C,MAAM;IAAEC,IAAI;IAAEC;EAAO,CAAC,GAAGJ,eAAe,CAACE,EAAE,CAAC;EAE5C,MAAMG,QAAQ,GAAIC,KAAmB,IAAK;IACxCF,MAAM,CAAC;MAAEE;IAAM,CAAC,CAAC;EACnB,CAAC;EAED,MAAMC,gBAAgB,GAAIC,aAA2B,IAAK;IACxDJ,MAAM,CAAC;MAAEI;IAAc,CAAC,CAAC;EAC3B,CAAC;EAED,MAAMF,KAAK,GAAG,CAAAH,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEG,KAAK,KAAI,EAAE;EAC/B,MAAME,aAAa,GAAG,CAAAL,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEK,aAAa,KAAI,EAAE;EAE/C,MAAMC,gBAAgB,GAAGA,CACvBC,IAAU,EACVC,SAAuB,GAAGL,KAAK,KAC5B;IACH,OAAOK,SAAS,CAACC,IAAI,CAAC,CAAC;MAAEF,IAAI,EAAEG;IAAE,CAAC,KAAK;MACrC,OACEA,CAAC,CAACC,IAAI,KAAKJ,IAAI,CAACI,IAAI,IACpBD,CAAC,CAACE,IAAI,KAAKL,IAAI,CAACK,IAAI,IACpBF,CAAC,CAACG,YAAY,KAAKN,IAAI,CAACM,YAAY;IAExC,CAAC,CAAC;EACJ,CAAC;EAED,OAAO;IACLV,KAAK;IACLD,QAAQ;IACRG,aAAa;IACbD,gBAAgB;IAChBE;EACF,CAAC;AACH;AAEA,eAAeR,SAAS"}
1
+ {"version":3,"file":"useUpload.js","names":["useEventEmitter","useUpload","id","data","update","setFiles","files","setInternalFiles","internalFiles","getExistingFile","file","fileItems","find","f","name","size","lastModified"],"sources":["../../../../src/components/upload/useUpload.ts"],"sourcesContent":["import { useEventEmitter } from '../../shared/component-helper'\nimport type { UploadFile } from './types'\n\nexport type useUploadReturn = {\n files: UploadFile[]\n setFiles: (files: UploadFile[]) => void\n internalFiles: UploadFile[]\n setInternalFiles: (files: UploadFile[]) => void\n getExistingFile: (file: File, fileItems?: UploadFile[]) => UploadFile\n}\n\n/**\n * Use together with Upload with the same id to manage the files from outside the component.\n */\nfunction useUpload(id: string): useUploadReturn {\n const { data, update } = useEventEmitter(id)\n\n const setFiles = (files: UploadFile[]) => {\n update({ files })\n }\n\n const setInternalFiles = (internalFiles: UploadFile[]) => {\n update({ internalFiles })\n }\n\n const files = data?.files || []\n const internalFiles = data?.internalFiles || []\n\n const getExistingFile = (\n file: File,\n fileItems: UploadFile[] = files\n ) => {\n return fileItems.find(({ file: f }) => {\n return (\n f.name === file.name &&\n f.size === file.size &&\n f.lastModified === file.lastModified\n )\n })\n }\n\n return {\n files,\n setFiles,\n internalFiles,\n setInternalFiles,\n getExistingFile,\n }\n}\n\nexport default useUpload\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ,+BAA+B;AAc/D,SAASC,SAASA,CAACC,EAAU,EAAmB;EAC9C,MAAM;IAAEC,IAAI;IAAEC;EAAO,CAAC,GAAGJ,eAAe,CAACE,EAAE,CAAC;EAE5C,MAAMG,QAAQ,GAAIC,KAAmB,IAAK;IACxCF,MAAM,CAAC;MAAEE;IAAM,CAAC,CAAC;EACnB,CAAC;EAED,MAAMC,gBAAgB,GAAIC,aAA2B,IAAK;IACxDJ,MAAM,CAAC;MAAEI;IAAc,CAAC,CAAC;EAC3B,CAAC;EAED,MAAMF,KAAK,GAAG,CAAAH,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEG,KAAK,KAAI,EAAE;EAC/B,MAAME,aAAa,GAAG,CAAAL,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEK,aAAa,KAAI,EAAE;EAE/C,MAAMC,eAAe,GAAGA,CACtBC,IAAU,EACVC,SAAuB,GAAGL,KAAK,KAC5B;IACH,OAAOK,SAAS,CAACC,IAAI,CAAC,CAAC;MAAEF,IAAI,EAAEG;IAAE,CAAC,KAAK;MACrC,OACEA,CAAC,CAACC,IAAI,KAAKJ,IAAI,CAACI,IAAI,IACpBD,CAAC,CAACE,IAAI,KAAKL,IAAI,CAACK,IAAI,IACpBF,CAAC,CAACG,YAAY,KAAKN,IAAI,CAACM,YAAY;IAExC,CAAC,CAAC;EACJ,CAAC;EAED,OAAO;IACLV,KAAK;IACLD,QAAQ;IACRG,aAAa;IACbD,gBAAgB;IAChBE;EACF,CAAC;AACH;AAEA,eAAeR,SAAS"}
@@ -7,7 +7,7 @@ declare const Blockquote: React.ForwardRefExoticComponent<import("../../componen
7
7
  space?: import("../../components/space/types").SpaceType | import("../../components/space/types").SpacingElementProps;
8
8
  } & React.HTMLAttributes<HTMLElement> & {
9
9
  /**
10
- * Hides the blockquote background by making it transperant
10
+ * Hides the blockquote background by making it transparent
11
11
  */
12
12
  noBackground?: boolean;
13
13
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Blockquote.js","names":["React","classnames","E","Blockquote","forwardRef","_ref","ref","noBackground","direction","className","props","_objectWithoutProperties","_excluded","createElement","_extends","as","skeletonMethod","innerRef"],"sources":["../../../../src/elements/blockquote/Blockquote.tsx"],"sourcesContent":["/**\n * HTML Element\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport { SpacingProps } from '../../components/space/types'\nimport E from '../Element'\n\ntype BlockquoteProps = SpacingProps &\n React.HTMLAttributes<HTMLElement> & {\n /**\n * Hides the blockquote background by making it transperant\n */\n noBackground?: boolean\n /**\n * Determines the flow direction of the content inside of blockquote. Can be either `horizontal` or `vertical`\n * Default: `horizontal`\n */\n direction?: 'horizontal' | 'vertical'\n }\n\nconst Blockquote = React.forwardRef(\n (\n {\n noBackground,\n direction = 'horizontal',\n className,\n ...props\n }: BlockquoteProps,\n ref\n ) => (\n <E\n as=\"blockquote\"\n skeletonMethod=\"font\"\n innerRef={ref}\n className={classnames(\n className,\n noBackground && 'dnb-blockquote--no-background',\n direction === 'vertical' && 'dnb-blockquote--top'\n )}\n {...props}\n />\n )\n)\n\nexport default Blockquote\n"],"mappings":";;;AAKA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AAEnC,OAAOC,CAAC,MAAM,YAAY;AAe1B,MAAMC,UAAU,GAAGH,KAAK,CAACI,UAAU,CACjC,CAAAC,IAAA,EAOEC,GAAG;EAAA,IANH;MACEC,YAAY;MACZC,SAAS,GAAG,YAAY;MACxBC;IAEe,CAAC,GAAAJ,IAAA;IADbK,KAAK,GAAAC,wBAAA,CAAAN,IAAA,EAAAO,SAAA;EAAA,OAIVZ,KAAA,CAAAa,aAAA,CAACX,CAAC,EAAAY,QAAA;IACAC,EAAE,EAAC,YAAY;IACfC,cAAc,EAAC,MAAM;IACrBC,QAAQ,EAAEX,GAAI;IACdG,SAAS,EAAER,UAAU,CACnBQ,SAAS,EACTF,YAAY,IAAI,+BAA+B,EAC/CC,SAAS,KAAK,UAAU,IAAI,qBAC9B;EAAE,GACEE,KAAK,CACV,CAAC;AAAA,CAEN,CAAC;AAED,eAAeP,UAAU"}
1
+ {"version":3,"file":"Blockquote.js","names":["React","classnames","E","Blockquote","forwardRef","_ref","ref","noBackground","direction","className","props","_objectWithoutProperties","_excluded","createElement","_extends","as","skeletonMethod","innerRef"],"sources":["../../../../src/elements/blockquote/Blockquote.tsx"],"sourcesContent":["/**\n * HTML Element\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport { SpacingProps } from '../../components/space/types'\nimport E from '../Element'\n\ntype BlockquoteProps = SpacingProps &\n React.HTMLAttributes<HTMLElement> & {\n /**\n * Hides the blockquote background by making it transparent\n */\n noBackground?: boolean\n /**\n * Determines the flow direction of the content inside of blockquote. Can be either `horizontal` or `vertical`\n * Default: `horizontal`\n */\n direction?: 'horizontal' | 'vertical'\n }\n\nconst Blockquote = React.forwardRef(\n (\n {\n noBackground,\n direction = 'horizontal',\n className,\n ...props\n }: BlockquoteProps,\n ref\n ) => (\n <E\n as=\"blockquote\"\n skeletonMethod=\"font\"\n innerRef={ref}\n className={classnames(\n className,\n noBackground && 'dnb-blockquote--no-background',\n direction === 'vertical' && 'dnb-blockquote--top'\n )}\n {...props}\n />\n )\n)\n\nexport default Blockquote\n"],"mappings":";;;AAKA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AAEnC,OAAOC,CAAC,MAAM,YAAY;AAe1B,MAAMC,UAAU,GAAGH,KAAK,CAACI,UAAU,CACjC,CAAAC,IAAA,EAOEC,GAAG;EAAA,IANH;MACEC,YAAY;MACZC,SAAS,GAAG,YAAY;MACxBC;IAEe,CAAC,GAAAJ,IAAA;IADbK,KAAK,GAAAC,wBAAA,CAAAN,IAAA,EAAAO,SAAA;EAAA,OAIVZ,KAAA,CAAAa,aAAA,CAACX,CAAC,EAAAY,QAAA;IACAC,EAAE,EAAC,YAAY;IACfC,cAAc,EAAC,MAAM;IACrBC,QAAQ,EAAEX,GAAI;IACdG,SAAS,EAAER,UAAU,CACnBQ,SAAS,EACTF,YAAY,IAAI,+BAA+B,EAC/CC,SAAS,KAAK,UAAU,IAAI,qBAC9B;EAAE,GACEE,KAAK,CACV,CAAC;AAAA,CAEN,CAAC;AAED,eAAeP,UAAU"}
@@ -1,5 +1,3 @@
1
- @use '../../../../components/anchor/style/anchor-mixins.scss';
2
-
3
1
  .dnb-blockquote {
4
2
  color: var(--sb-color-text);
5
3
  background-color: var(--sb-color-violet-light-4);
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import type { ComponentProps } from '../component-types';
3
+ export type Props = ComponentProps & {
4
+ /** JSON Pointer for where in the source dataset to point at in sub components */
5
+ path?: string;
6
+ iterate?: boolean;
7
+ children?: React.ReactNode;
8
+ };
9
+ declare function At(props: Props): import("react/jsx-runtime").JSX.Element;
10
+ declare namespace At {
11
+ var _supportsEufemiaSpacingProps: boolean;
12
+ }
13
+ export default At;
@@ -0,0 +1,48 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ 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; }
3
+ 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; }
4
+ import React, { useContext, useMemo } from 'react';
5
+ import pointer from 'json-pointer';
6
+ import Context from './Context';
7
+ function At(props) {
8
+ const {
9
+ path = '/',
10
+ iterate,
11
+ children
12
+ } = props;
13
+ const dataContext = useContext(Context);
14
+ const {
15
+ data: contextData,
16
+ handlePathChange: contextHandlePathChange
17
+ } = dataContext;
18
+ const data = contextData && pointer.has(contextData, path) ? pointer.get(contextData, path) : undefined;
19
+ const handlePathChange = useMemo(() => contextHandlePathChange ? (changePath, value) => {
20
+ contextHandlePathChange(`${path}${changePath}`, value);
21
+ } : undefined, [contextHandlePathChange, path]);
22
+ if (iterate) {
23
+ if (!Array.isArray(data)) {
24
+ return null;
25
+ }
26
+ return React.createElement(React.Fragment, null, data.map((element, i) => {
27
+ const handlePathChange = contextHandlePathChange ? (changePath, value) => {
28
+ contextHandlePathChange(`${path}/${i}${changePath}`, value);
29
+ } : undefined;
30
+ return React.createElement(Context.Provider, {
31
+ key: `element${i}`,
32
+ value: _objectSpread(_objectSpread({}, dataContext), {}, {
33
+ data: element,
34
+ handlePathChange
35
+ })
36
+ }, children);
37
+ }));
38
+ }
39
+ return React.createElement(Context.Provider, {
40
+ value: _objectSpread(_objectSpread({}, dataContext), {}, {
41
+ data,
42
+ handlePathChange
43
+ })
44
+ }, children);
45
+ }
46
+ At._supportsEufemiaSpacingProps = true;
47
+ export default At;
48
+ //# sourceMappingURL=At.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"At.js","names":["React","useContext","useMemo","pointer","Context","At","props","path","iterate","children","dataContext","data","contextData","handlePathChange","contextHandlePathChange","has","get","undefined","changePath","value","Array","isArray","createElement","Fragment","map","element","i","Provider","key","_objectSpread","_supportsEufemiaSpacingProps"],"sources":["../../../../../src/extensions/forms/DataContext/At.tsx"],"sourcesContent":["import React, { useContext, useMemo } from 'react'\nimport pointer from 'json-pointer'\nimport type { ComponentProps } from '../component-types'\nimport Context from './Context'\n\nexport type Props = ComponentProps & {\n /** JSON Pointer for where in the source dataset to point at in sub components */\n path?: string\n iterate?: boolean\n children?: React.ReactNode\n}\n\nfunction At(props: Props) {\n const { path = '/', iterate, children } = props\n const dataContext = useContext(Context)\n const { data: contextData, handlePathChange: contextHandlePathChange } =\n dataContext\n\n const data =\n contextData && pointer.has(contextData, path)\n ? pointer.get(contextData, path)\n : undefined\n\n const handlePathChange = useMemo(\n () =>\n contextHandlePathChange\n ? (changePath, value) => {\n contextHandlePathChange(`${path}${changePath}`, value)\n }\n : undefined,\n [contextHandlePathChange, path]\n )\n\n if (iterate) {\n if (!Array.isArray(data)) {\n return null\n }\n return (\n <>\n {data.map((element, i) => {\n const handlePathChange = contextHandlePathChange\n ? (changePath, value) => {\n contextHandlePathChange(`${path}/${i}${changePath}`, value)\n }\n : undefined\n\n return (\n <Context.Provider\n key={`element${i}`}\n value={{\n ...dataContext,\n data: element,\n handlePathChange,\n }}\n >\n {children}\n </Context.Provider>\n )\n })}\n </>\n )\n }\n\n return (\n <Context.Provider\n value={{\n ...dataContext,\n data,\n handlePathChange,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n\nAt._supportsEufemiaSpacingProps = true\nexport default At\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAClD,OAAOC,OAAO,MAAM,cAAc;AAElC,OAAOC,OAAO,MAAM,WAAW;AAS/B,SAASC,EAAEA,CAACC,KAAY,EAAE;EACxB,MAAM;IAAEC,IAAI,GAAG,GAAG;IAAEC,OAAO;IAAEC;EAAS,CAAC,GAAGH,KAAK;EAC/C,MAAMI,WAAW,GAAGT,UAAU,CAACG,OAAO,CAAC;EACvC,MAAM;IAAEO,IAAI,EAAEC,WAAW;IAAEC,gBAAgB,EAAEC;EAAwB,CAAC,GACpEJ,WAAW;EAEb,MAAMC,IAAI,GACRC,WAAW,IAAIT,OAAO,CAACY,GAAG,CAACH,WAAW,EAAEL,IAAI,CAAC,GACzCJ,OAAO,CAACa,GAAG,CAACJ,WAAW,EAAEL,IAAI,CAAC,GAC9BU,SAAS;EAEf,MAAMJ,gBAAgB,GAAGX,OAAO,CAC9B,MACEY,uBAAuB,GACnB,CAACI,UAAU,EAAEC,KAAK,KAAK;IACrBL,uBAAuB,CAAE,GAAEP,IAAK,GAAEW,UAAW,EAAC,EAAEC,KAAK,CAAC;EACxD,CAAC,GACDF,SAAS,EACf,CAACH,uBAAuB,EAAEP,IAAI,CAChC,CAAC;EAED,IAAIC,OAAO,EAAE;IACX,IAAI,CAACY,KAAK,CAACC,OAAO,CAACV,IAAI,CAAC,EAAE;MACxB,OAAO,IAAI;IACb;IACA,OACEX,KAAA,CAAAsB,aAAA,CAAAtB,KAAA,CAAAuB,QAAA,QACGZ,IAAI,CAACa,GAAG,CAAC,CAACC,OAAO,EAAEC,CAAC,KAAK;MACxB,MAAMb,gBAAgB,GAAGC,uBAAuB,GAC5C,CAACI,UAAU,EAAEC,KAAK,KAAK;QACrBL,uBAAuB,CAAE,GAAEP,IAAK,IAAGmB,CAAE,GAAER,UAAW,EAAC,EAAEC,KAAK,CAAC;MAC7D,CAAC,GACDF,SAAS;MAEb,OACEjB,KAAA,CAAAsB,aAAA,CAAClB,OAAO,CAACuB,QAAQ;QACfC,GAAG,EAAG,UAASF,CAAE,EAAE;QACnBP,KAAK,EAAAU,aAAA,CAAAA,aAAA,KACAnB,WAAW;UACdC,IAAI,EAAEc,OAAO;UACbZ;QAAgB;MAChB,GAEDJ,QACe,CAAC;IAEvB,CAAC,CACD,CAAC;EAEP;EAEA,OACET,KAAA,CAAAsB,aAAA,CAAClB,OAAO,CAACuB,QAAQ;IACfR,KAAK,EAAAU,aAAA,CAAAA,aAAA,KACAnB,WAAW;MACdC,IAAI;MACJE;IAAgB;EAChB,GAEDJ,QACe,CAAC;AAEvB;AAEAJ,EAAE,CAACyB,4BAA4B,GAAG,IAAI;AACtC,eAAezB,EAAE"}
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ export interface ContextState {
3
+ /** The dataset for the form / form steps */
4
+ data: any;
5
+ /** Should the form validate data before submitting? */
6
+ errors?: Record<string, Error>;
7
+ handlePathChange: (path: string, value: any) => void;
8
+ handleSubmit: () => any;
9
+ showAllErrors: boolean;
10
+ setShowAllErrors: (showAllErrors: boolean) => void;
11
+ mountedFieldPaths: string[];
12
+ handleMountField: (path: string) => void;
13
+ handleUnMountField: (path: string) => void;
14
+ setPathWithError: (path: string, hasError: boolean) => void;
15
+ hasErrors: () => boolean;
16
+ }
17
+ export declare const defaultContextState: ContextState;
18
+ declare const Context: React.Context<ContextState>;
19
+ export default Context;
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ export const defaultContextState = {
3
+ data: undefined,
4
+ handlePathChange: () => null,
5
+ handleSubmit: () => null,
6
+ showAllErrors: false,
7
+ setShowAllErrors: () => null,
8
+ mountedFieldPaths: [],
9
+ handleMountField: () => null,
10
+ handleUnMountField: () => null,
11
+ hasErrors: () => false,
12
+ setPathWithError: () => null
13
+ };
14
+ const Context = React.createContext(defaultContextState);
15
+ export default Context;
16
+ //# sourceMappingURL=Context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Context.js","names":["React","defaultContextState","data","undefined","handlePathChange","handleSubmit","showAllErrors","setShowAllErrors","mountedFieldPaths","handleMountField","handleUnMountField","hasErrors","setPathWithError","Context","createContext"],"sources":["../../../../../src/extensions/forms/DataContext/Context.ts"],"sourcesContent":["import React from 'react'\n\nexport interface ContextState {\n /** The dataset for the form / form steps */\n data: any\n /** Should the form validate data before submitting? */\n errors?: Record<string, Error>\n handlePathChange: (path: string, value: any) => void\n handleSubmit: () => any\n // Error status\n showAllErrors: boolean\n setShowAllErrors: (showAllErrors: boolean) => void\n // Mounted fields - Components telling the provider what fields is on screen at any time\n mountedFieldPaths: string[]\n handleMountField: (path: string) => void\n handleUnMountField: (path: string) => void\n setPathWithError: (path: string, hasError: boolean) => void\n hasErrors: () => boolean\n}\n\nexport const defaultContextState: ContextState = {\n data: undefined,\n handlePathChange: () => null,\n handleSubmit: () => null,\n showAllErrors: false,\n setShowAllErrors: () => null,\n mountedFieldPaths: [],\n handleMountField: () => null,\n handleUnMountField: () => null,\n hasErrors: () => false,\n setPathWithError: () => null,\n}\n\nconst Context = React.createContext<ContextState>(defaultContextState)\n\nexport default Context\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAoBzB,OAAO,MAAMC,mBAAiC,GAAG;EAC/CC,IAAI,EAAEC,SAAS;EACfC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,YAAY,EAAEA,CAAA,KAAM,IAAI;EACxBC,aAAa,EAAE,KAAK;EACpBC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,iBAAiB,EAAE,EAAE;EACrBC,gBAAgB,EAAEA,CAAA,KAAM,IAAI;EAC5BC,kBAAkB,EAAEA,CAAA,KAAM,IAAI;EAC9BC,SAAS,EAAEA,CAAA,KAAM,KAAK;EACtBC,gBAAgB,EAAEA,CAAA,KAAM;AAC1B,CAAC;AAED,MAAMC,OAAO,GAAGb,KAAK,CAACc,aAAa,CAAeb,mBAAmB,CAAC;AAEtE,eAAeY,OAAO"}