@dnb/eufemia 10.14.0 → 10.15.1

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 (1059) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/cjs/components/accordion/AccordionHeader.d.ts +2 -1
  3. package/cjs/components/accordion/AccordionHeader.js +3 -2
  4. package/cjs/components/accordion/AccordionHeader.js.map +1 -1
  5. package/cjs/components/accordion/style/dnb-accordion.css +13 -5
  6. package/cjs/components/accordion/style/dnb-accordion.min.css +3 -1
  7. package/cjs/components/accordion/style/dnb-accordion.scss +16 -5
  8. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +19 -49
  9. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
  10. package/cjs/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +22 -33
  11. package/cjs/components/accordion/style/themes/dnb-accordion-theme-ui.css +134 -102
  12. package/cjs/components/accordion/style/themes/dnb-accordion-theme-ui.min.css +27 -1
  13. package/cjs/components/accordion/style/themes/dnb-accordion-theme-ui.scss +159 -86
  14. package/cjs/components/anchor/Anchor.d.ts +1 -0
  15. package/cjs/components/anchor/Anchor.js +7 -5
  16. package/cjs/components/anchor/Anchor.js.map +1 -1
  17. package/cjs/components/anchor/style/dnb-anchor.css +17 -52
  18. package/cjs/components/anchor/style/dnb-anchor.min.css +1 -1
  19. package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +0 -6
  20. package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  21. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +8 -52
  22. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  23. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.css +0 -6
  24. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  25. package/cjs/components/autocomplete/Autocomplete.d.ts +4 -0
  26. package/cjs/components/autocomplete/Autocomplete.js +98 -80
  27. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  28. package/cjs/components/autocomplete/style/dnb-autocomplete.css +1 -0
  29. package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  30. package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +2 -4
  31. package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  32. package/cjs/components/breadcrumb/style/dnb-breadcrumb.scss +2 -7
  33. package/cjs/components/button/Button.d.ts +1 -1
  34. package/cjs/components/button/Button.js +9 -5
  35. package/cjs/components/button/Button.js.map +1 -1
  36. package/cjs/components/button/style/dnb-button.css +1 -0
  37. package/cjs/components/button/style/dnb-button.min.css +1 -1
  38. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.css +0 -25
  39. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
  40. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.css +0 -72
  41. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.min.css +3 -3
  42. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.scss +1 -1
  43. package/cjs/components/button/style/themes/dnb-button-theme-ui.css +0 -25
  44. package/cjs/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  45. package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
  46. package/cjs/components/card/style/dnb-card.css +10 -0
  47. package/cjs/components/card/style/dnb-card.min.css +1 -1
  48. package/cjs/components/card/style/dnb-card.scss +8 -0
  49. package/cjs/components/checkbox/Checkbox.js +9 -3
  50. package/cjs/components/checkbox/Checkbox.js.map +1 -1
  51. package/cjs/components/checkbox/style/dnb-checkbox.css +129 -0
  52. package/cjs/components/checkbox/style/dnb-checkbox.min.css +1 -1
  53. package/cjs/components/checkbox/style/dnb-checkbox.scss +199 -0
  54. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +32 -0
  55. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +3 -0
  56. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +39 -0
  57. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.css +24 -88
  58. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.min.css +1 -1
  59. package/cjs/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +30 -125
  60. package/cjs/components/date-picker/DatePicker.d.ts +1 -1
  61. package/cjs/components/date-picker/DatePicker.js +4 -1
  62. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  63. package/cjs/components/date-picker/DatePickerInput.d.ts +1 -1
  64. package/cjs/components/date-picker/style/dnb-date-picker.css +0 -1
  65. package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
  66. package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +1 -0
  67. package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
  68. package/cjs/components/dialog/style/dnb-dialog.css +0 -1
  69. package/cjs/components/dialog/style/dnb-dialog.min.css +1 -1
  70. package/cjs/components/dropdown/Dropdown.js +2 -2
  71. package/cjs/components/dropdown/Dropdown.js.map +1 -1
  72. package/cjs/components/flex/Container.js +2 -1
  73. package/cjs/components/flex/Container.js.map +1 -1
  74. package/cjs/components/flex/style/dnb-flex.css +1 -2
  75. package/cjs/components/flex/style/dnb-flex.min.css +1 -1
  76. package/cjs/components/flex/style/flex-container.scss +1 -1
  77. package/cjs/components/form-label/FormLabel.d.ts +8 -3
  78. package/cjs/components/form-label/FormLabel.js +14 -11
  79. package/cjs/components/form-label/FormLabel.js.map +1 -1
  80. package/cjs/components/form-label/style/dnb-form-label.css +0 -1
  81. package/cjs/components/form-label/style/dnb-form-label.min.css +1 -1
  82. package/cjs/components/form-label/style/dnb-form-label.scss +0 -5
  83. package/cjs/components/global-error/style/dnb-global-error.css +0 -4
  84. package/cjs/components/global-error/style/dnb-global-error.min.css +1 -1
  85. package/cjs/components/global-status/GlobalStatus.d.ts +1 -1
  86. package/cjs/components/global-status/GlobalStatus.js +3 -1
  87. package/cjs/components/global-status/GlobalStatus.js.map +1 -1
  88. package/cjs/components/global-status/style/dnb-global-status.css +0 -7
  89. package/cjs/components/global-status/style/dnb-global-status.min.css +1 -1
  90. package/cjs/components/global-status/style/dnb-global-status.scss +0 -11
  91. package/cjs/components/grid/style/dnb-grid.css +0 -2
  92. package/cjs/components/grid/style/dnb-grid.min.css +1 -1
  93. package/cjs/components/info-card/style/dnb-info-card.css +1 -4
  94. package/cjs/components/info-card/style/dnb-info-card.min.css +1 -1
  95. package/cjs/components/input/style/dnb-input.css +13 -3
  96. package/cjs/components/input/style/dnb-input.min.css +1 -1
  97. package/cjs/components/input/style/dnb-input.scss +14 -8
  98. package/cjs/components/input/style/themes/dnb-input-theme-sbanken.css +0 -9
  99. package/cjs/components/input/style/themes/dnb-input-theme-sbanken.min.css +1 -1
  100. package/cjs/components/input-masked/MultiInputMask.d.ts +6 -2
  101. package/cjs/components/input-masked/MultiInputMask.js +21 -17
  102. package/cjs/components/input-masked/MultiInputMask.js.map +1 -1
  103. package/cjs/components/input-masked/style/dnb-input-masked.css +3 -4
  104. package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
  105. package/cjs/components/input-masked/style/dnb-input-masked.scss +1 -1
  106. package/cjs/components/number-format/NumberUtils.d.ts +1 -1
  107. package/cjs/components/pagination/style/dnb-pagination.css +0 -1
  108. package/cjs/components/pagination/style/dnb-pagination.min.css +1 -1
  109. package/cjs/components/progress-indicator/style/dnb-progress-indicator.css +1 -4
  110. package/cjs/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  111. package/cjs/components/radio/Radio.js +13 -7
  112. package/cjs/components/radio/Radio.js.map +1 -1
  113. package/cjs/components/radio/RadioGroup.js +3 -2
  114. package/cjs/components/radio/RadioGroup.js.map +1 -1
  115. package/cjs/components/radio/style/dnb-radio.css +33 -8
  116. package/cjs/components/radio/style/dnb-radio.min.css +1 -1
  117. package/cjs/components/radio/style/dnb-radio.scss +59 -9
  118. package/cjs/components/radio/style/themes/dnb-radio-theme-sbanken.css +17 -8
  119. package/cjs/components/radio/style/themes/dnb-radio-theme-sbanken.min.css +5 -1
  120. package/cjs/components/radio/style/themes/dnb-radio-theme-sbanken.scss +17 -8
  121. package/cjs/components/radio/style/themes/dnb-radio-theme-ui.css +6 -1
  122. package/cjs/components/radio/style/themes/dnb-radio-theme-ui.min.css +1 -1
  123. package/cjs/components/radio/style/themes/dnb-radio-theme-ui.scss +6 -1
  124. package/cjs/components/section/Section.d.ts +5 -0
  125. package/cjs/components/section/Section.js +3 -2
  126. package/cjs/components/section/Section.js.map +1 -1
  127. package/cjs/components/section/style/dnb-section.css +10 -0
  128. package/cjs/components/section/style/dnb-section.min.css +3 -3
  129. package/cjs/components/section/style/dnb-section.scss +11 -0
  130. package/cjs/components/section/style/themes/dnb-section-theme-ui.css +0 -9
  131. package/cjs/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  132. package/cjs/components/skeleton/style/dnb-skeleton.css +0 -2
  133. package/cjs/components/skeleton/style/dnb-skeleton.min.css +1 -1
  134. package/cjs/components/skip-content/style/dnb-skip-content.css +1 -4
  135. package/cjs/components/skip-content/style/dnb-skip-content.min.css +1 -1
  136. package/cjs/components/switch/Switch.js +9 -3
  137. package/cjs/components/switch/Switch.js.map +1 -1
  138. package/cjs/components/switch/style/dnb-switch.css +43 -9
  139. package/cjs/components/switch/style/dnb-switch.min.css +1 -1
  140. package/cjs/components/switch/style/dnb-switch.scss +49 -22
  141. package/cjs/components/switch/style/themes/dnb-switch-theme-sbanken.css +207 -0
  142. package/cjs/components/switch/style/themes/dnb-switch-theme-sbanken.min.css +1 -0
  143. package/cjs/components/switch/style/themes/dnb-switch-theme-sbanken.scss +280 -0
  144. package/cjs/components/switch/style/themes/dnb-switch-theme-ui.css +11 -30
  145. package/cjs/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
  146. package/cjs/components/switch/style/themes/dnb-switch-theme-ui.scss +24 -32
  147. package/cjs/components/table/style/dnb-table.css +1 -4
  148. package/cjs/components/table/style/dnb-table.min.css +1 -1
  149. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.css +0 -3
  150. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  151. package/cjs/components/tabs/style/dnb-tabs.css +1 -0
  152. package/cjs/components/tabs/style/dnb-tabs.min.css +1 -1
  153. package/cjs/components/tag/style/dnb-tag.css +0 -1
  154. package/cjs/components/tag/style/dnb-tag.min.css +1 -1
  155. package/cjs/components/textarea/Textarea.js +4 -1
  156. package/cjs/components/textarea/Textarea.js.map +1 -1
  157. package/cjs/components/textarea/style/dnb-textarea.css +5 -2
  158. package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
  159. package/cjs/components/textarea/style/dnb-textarea.scss +2 -2
  160. package/cjs/components/toggle-button/ToggleButtonGroup.js +3 -2
  161. package/cjs/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  162. package/cjs/components/toggle-button/style/dnb-toggle-button.css +3 -7
  163. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  164. package/cjs/components/toggle-button/style/dnb-toggle-button.scss +4 -14
  165. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +92 -0
  166. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -0
  167. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +83 -0
  168. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +0 -2
  169. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +0 -3
  170. package/cjs/components/upload/style/dnb-upload.css +3 -12
  171. package/cjs/components/upload/style/dnb-upload.min.css +1 -1
  172. package/cjs/elements/hr/style/dnb-hr.scss +16 -30
  173. package/cjs/elements/hr/style/hr-mixins.scss +5 -7
  174. package/cjs/extensions/forms/DataContext/Context.d.ts +1 -1
  175. package/cjs/extensions/forms/DataContext/Context.js +1 -1
  176. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  177. package/cjs/extensions/forms/DataContext/Provider/Provider.js +9 -5
  178. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  179. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +0 -8
  180. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  181. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +0 -2
  182. package/cjs/extensions/forms/Field/Currency/Currency.d.ts +3 -1
  183. package/cjs/extensions/forms/Field/Currency/Currency.js +7 -2
  184. package/cjs/extensions/forms/Field/Currency/Currency.js.map +1 -1
  185. package/cjs/extensions/forms/Field/Expiry/Expiry.js +6 -4
  186. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  187. package/cjs/extensions/forms/Field/Expiry/style/dnb-expiry.css +2 -8
  188. package/cjs/extensions/forms/Field/Expiry/style/dnb-expiry.min.css +1 -1
  189. package/cjs/extensions/forms/Field/Expiry/style/dnb-expiry.scss +5 -5
  190. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -5
  191. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  192. package/cjs/extensions/forms/Field/Number/Number.js +11 -12
  193. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  194. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +14 -2
  195. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +134 -70
  196. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  197. package/cjs/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.css +2 -8
  198. package/cjs/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.min.css +1 -1
  199. package/cjs/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.scss +2 -4
  200. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +1 -3
  201. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +7 -5
  202. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  203. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +0 -16
  204. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  205. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +0 -14
  206. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +34 -2
  207. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +189 -17
  208. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  209. package/cjs/extensions/forms/Field/Selection/Selection.js +1 -0
  210. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  211. package/cjs/extensions/forms/Field/Selection/style/dnb-selection.css +0 -6
  212. package/cjs/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
  213. package/cjs/extensions/forms/Field/Selection/style/dnb-selection.scss +0 -2
  214. package/cjs/extensions/forms/Field/String/String.js +8 -9
  215. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  216. package/cjs/extensions/forms/Field/Toggle/Toggle.js +4 -2
  217. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  218. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
  219. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +16 -19
  220. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  221. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +2 -2
  222. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  223. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -0
  224. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  225. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +3 -0
  226. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +0 -1
  227. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  228. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +0 -6
  229. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  230. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +0 -3
  231. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  232. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +0 -1
  233. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  234. package/cjs/extensions/forms/constants/countries.d.ts +9 -6
  235. package/cjs/extensions/forms/constants/countries.js +19 -9
  236. package/cjs/extensions/forms/constants/countries.js.map +1 -1
  237. package/cjs/extensions/forms/hooks/useDataValue.d.ts +2 -0
  238. package/cjs/extensions/forms/hooks/useDataValue.js +31 -21
  239. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  240. package/cjs/extensions/forms/index.d.ts +1 -1
  241. package/cjs/extensions/forms/index.js +12 -0
  242. package/cjs/extensions/forms/index.js.map +1 -1
  243. package/cjs/extensions/forms/style/dnb-forms.css +89 -131
  244. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  245. package/cjs/extensions/forms/style/dnb-forms.scss +1 -6
  246. package/cjs/extensions/forms/types.d.ts +5 -4
  247. package/cjs/extensions/forms/types.js.map +1 -1
  248. package/cjs/extensions/payment-card/PaymentCard.d.ts +3 -2
  249. package/cjs/extensions/payment-card/PaymentCard.js +16 -37
  250. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  251. package/cjs/extensions/payment-card/icons/index.js +3 -1
  252. package/cjs/extensions/payment-card/icons/index.js.map +1 -1
  253. package/cjs/extensions/payment-card/style/dnb-payment-card.css +0 -2
  254. package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  255. package/cjs/extensions/style/index.d.ts +5 -1
  256. package/cjs/extensions/style/index.js +2 -0
  257. package/cjs/extensions/style/index.js.map +1 -1
  258. package/cjs/icons/dnb/icons-meta.json +2 -2
  259. package/cjs/icons/icons-meta.json +2 -2
  260. package/cjs/shared/Eufemia.d.ts +1 -1
  261. package/cjs/shared/Eufemia.js +2 -2
  262. package/cjs/shared/Eufemia.js.map +1 -1
  263. package/cjs/shared/helpers/filterValidProps.d.ts +3 -7
  264. package/cjs/shared/helpers/filterValidProps.js +8 -4
  265. package/cjs/shared/helpers/filterValidProps.js.map +1 -1
  266. package/cjs/shared/helpers/withCamelCaseProps.d.ts +1 -0
  267. package/cjs/shared/helpers/withCamelCaseProps.js +6 -4
  268. package/cjs/shared/helpers/withCamelCaseProps.js.map +1 -1
  269. package/cjs/shared/helpers/withSnakeCaseProps.js +5 -4
  270. package/cjs/shared/helpers/withSnakeCaseProps.js.map +1 -1
  271. package/cjs/shared/locales/en-GB.d.ts +1 -1
  272. package/cjs/shared/locales/en-GB.js +4 -4
  273. package/cjs/shared/locales/en-GB.js.map +1 -1
  274. package/cjs/shared/locales/en-US.d.ts +1 -1
  275. package/cjs/shared/locales/index.d.ts +2 -2
  276. package/cjs/shared/locales/nb-NO.d.ts +1 -1
  277. package/cjs/shared/locales/nb-NO.js +4 -4
  278. package/cjs/shared/locales/nb-NO.js.map +1 -1
  279. package/cjs/style/core/utilities.scss +1 -1
  280. package/cjs/style/dnb-ui-basis.css +3 -0
  281. package/cjs/style/dnb-ui-basis.min.css +1 -1
  282. package/cjs/style/dnb-ui-body.css +3 -1
  283. package/cjs/style/dnb-ui-body.min.css +1 -1
  284. package/cjs/style/dnb-ui-components.css +586 -208
  285. package/cjs/style/dnb-ui-components.min.css +6 -4
  286. package/cjs/style/dnb-ui-components.scss +2 -1
  287. package/cjs/style/dnb-ui-core.css +4 -1
  288. package/cjs/style/dnb-ui-core.min.css +1 -1
  289. package/cjs/style/dnb-ui-elements.css +17 -26
  290. package/cjs/style/dnb-ui-elements.min.css +1 -1
  291. package/cjs/style/dnb-ui-extensions.css +89 -133
  292. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  293. package/cjs/style/dnb-ui-forms.css +229 -0
  294. package/cjs/style/dnb-ui-forms.min.css +1 -0
  295. package/cjs/style/dnb-ui-forms.scss +19 -0
  296. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +17 -36
  297. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  298. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +997 -469
  299. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +35 -7
  300. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
  301. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +17 -36
  302. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  303. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +89 -133
  304. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  305. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +238 -0
  306. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -0
  307. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.scss +15 -0
  308. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +17 -26
  309. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  310. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +1186 -823
  311. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +17 -9
  312. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +4 -3
  313. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +17 -26
  314. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  315. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +89 -133
  316. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  317. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +238 -0
  318. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -0
  319. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +15 -0
  320. package/cjs/style/themes/theme-ui/ui-theme-basis.css +17 -36
  321. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  322. package/cjs/style/themes/theme-ui/ui-theme-components.css +997 -468
  323. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +35 -7
  324. package/cjs/style/themes/theme-ui/ui-theme-components.scss +1 -0
  325. package/cjs/style/themes/theme-ui/ui-theme-elements.css +17 -36
  326. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  327. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +89 -133
  328. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  329. package/cjs/style/themes/theme-ui/ui-theme-forms.css +238 -0
  330. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -0
  331. package/cjs/style/themes/theme-ui/ui-theme-forms.scss +15 -0
  332. package/cjs/style/themes/theme-ui/ui-theme-tags.css +12 -25
  333. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  334. package/components/accordion/AccordionHeader.d.ts +2 -1
  335. package/components/accordion/AccordionHeader.js +3 -2
  336. package/components/accordion/AccordionHeader.js.map +1 -1
  337. package/components/accordion/style/dnb-accordion.css +13 -5
  338. package/components/accordion/style/dnb-accordion.min.css +3 -1
  339. package/components/accordion/style/dnb-accordion.scss +16 -5
  340. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +19 -49
  341. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
  342. package/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +22 -33
  343. package/components/accordion/style/themes/dnb-accordion-theme-ui.css +134 -102
  344. package/components/accordion/style/themes/dnb-accordion-theme-ui.min.css +27 -1
  345. package/components/accordion/style/themes/dnb-accordion-theme-ui.scss +159 -86
  346. package/components/anchor/Anchor.d.ts +1 -0
  347. package/components/anchor/Anchor.js +5 -4
  348. package/components/anchor/Anchor.js.map +1 -1
  349. package/components/anchor/style/dnb-anchor.css +17 -52
  350. package/components/anchor/style/dnb-anchor.min.css +1 -1
  351. package/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +0 -6
  352. package/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  353. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +8 -52
  354. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  355. package/components/anchor/style/themes/dnb-anchor-theme-ui.css +0 -6
  356. package/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  357. package/components/autocomplete/Autocomplete.d.ts +4 -0
  358. package/components/autocomplete/Autocomplete.js +98 -80
  359. package/components/autocomplete/Autocomplete.js.map +1 -1
  360. package/components/autocomplete/style/dnb-autocomplete.css +1 -0
  361. package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  362. package/components/breadcrumb/style/dnb-breadcrumb.css +2 -4
  363. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  364. package/components/breadcrumb/style/dnb-breadcrumb.scss +2 -7
  365. package/components/button/Button.d.ts +1 -1
  366. package/components/button/Button.js +10 -6
  367. package/components/button/Button.js.map +1 -1
  368. package/components/button/style/dnb-button.css +1 -0
  369. package/components/button/style/dnb-button.min.css +1 -1
  370. package/components/button/style/themes/dnb-button-theme-eiendom.css +0 -25
  371. package/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
  372. package/components/button/style/themes/dnb-button-theme-sbanken.css +0 -72
  373. package/components/button/style/themes/dnb-button-theme-sbanken.min.css +3 -3
  374. package/components/button/style/themes/dnb-button-theme-sbanken.scss +1 -1
  375. package/components/button/style/themes/dnb-button-theme-ui.css +0 -25
  376. package/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  377. package/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
  378. package/components/card/style/dnb-card.css +10 -0
  379. package/components/card/style/dnb-card.min.css +1 -1
  380. package/components/card/style/dnb-card.scss +8 -0
  381. package/components/checkbox/Checkbox.js +9 -3
  382. package/components/checkbox/Checkbox.js.map +1 -1
  383. package/components/checkbox/style/dnb-checkbox.css +129 -0
  384. package/components/checkbox/style/dnb-checkbox.min.css +1 -1
  385. package/components/checkbox/style/dnb-checkbox.scss +199 -0
  386. package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +32 -0
  387. package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +3 -0
  388. package/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +39 -0
  389. package/components/checkbox/style/themes/dnb-checkbox-theme-ui.css +24 -88
  390. package/components/checkbox/style/themes/dnb-checkbox-theme-ui.min.css +1 -1
  391. package/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +30 -125
  392. package/components/date-picker/DatePicker.d.ts +1 -1
  393. package/components/date-picker/DatePicker.js +4 -1
  394. package/components/date-picker/DatePicker.js.map +1 -1
  395. package/components/date-picker/DatePickerInput.d.ts +1 -1
  396. package/components/date-picker/style/dnb-date-picker.css +0 -1
  397. package/components/date-picker/style/dnb-date-picker.min.css +1 -1
  398. package/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +1 -0
  399. package/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
  400. package/components/dialog/style/dnb-dialog.css +0 -1
  401. package/components/dialog/style/dnb-dialog.min.css +1 -1
  402. package/components/dropdown/Dropdown.js +2 -2
  403. package/components/dropdown/Dropdown.js.map +1 -1
  404. package/components/flex/Container.js +2 -1
  405. package/components/flex/Container.js.map +1 -1
  406. package/components/flex/style/dnb-flex.css +1 -2
  407. package/components/flex/style/dnb-flex.min.css +1 -1
  408. package/components/flex/style/flex-container.scss +1 -1
  409. package/components/form-label/FormLabel.d.ts +8 -3
  410. package/components/form-label/FormLabel.js +14 -11
  411. package/components/form-label/FormLabel.js.map +1 -1
  412. package/components/form-label/style/dnb-form-label.css +0 -1
  413. package/components/form-label/style/dnb-form-label.min.css +1 -1
  414. package/components/form-label/style/dnb-form-label.scss +0 -5
  415. package/components/global-error/style/dnb-global-error.css +0 -4
  416. package/components/global-error/style/dnb-global-error.min.css +1 -1
  417. package/components/global-status/GlobalStatus.d.ts +1 -1
  418. package/components/global-status/GlobalStatus.js +3 -1
  419. package/components/global-status/GlobalStatus.js.map +1 -1
  420. package/components/global-status/style/dnb-global-status.css +0 -7
  421. package/components/global-status/style/dnb-global-status.min.css +1 -1
  422. package/components/global-status/style/dnb-global-status.scss +0 -11
  423. package/components/grid/style/dnb-grid.css +0 -2
  424. package/components/grid/style/dnb-grid.min.css +1 -1
  425. package/components/info-card/style/dnb-info-card.css +1 -4
  426. package/components/info-card/style/dnb-info-card.min.css +1 -1
  427. package/components/input/style/dnb-input.css +13 -3
  428. package/components/input/style/dnb-input.min.css +1 -1
  429. package/components/input/style/dnb-input.scss +14 -8
  430. package/components/input/style/themes/dnb-input-theme-sbanken.css +0 -9
  431. package/components/input/style/themes/dnb-input-theme-sbanken.min.css +1 -1
  432. package/components/input-masked/MultiInputMask.d.ts +6 -2
  433. package/components/input-masked/MultiInputMask.js +22 -18
  434. package/components/input-masked/MultiInputMask.js.map +1 -1
  435. package/components/input-masked/style/dnb-input-masked.css +3 -4
  436. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  437. package/components/input-masked/style/dnb-input-masked.scss +1 -1
  438. package/components/number-format/NumberUtils.d.ts +1 -1
  439. package/components/pagination/style/dnb-pagination.css +0 -1
  440. package/components/pagination/style/dnb-pagination.min.css +1 -1
  441. package/components/progress-indicator/style/dnb-progress-indicator.css +1 -4
  442. package/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  443. package/components/radio/Radio.js +13 -7
  444. package/components/radio/Radio.js.map +1 -1
  445. package/components/radio/RadioGroup.js +3 -2
  446. package/components/radio/RadioGroup.js.map +1 -1
  447. package/components/radio/style/dnb-radio.css +33 -8
  448. package/components/radio/style/dnb-radio.min.css +1 -1
  449. package/components/radio/style/dnb-radio.scss +59 -9
  450. package/components/radio/style/themes/dnb-radio-theme-sbanken.css +17 -8
  451. package/components/radio/style/themes/dnb-radio-theme-sbanken.min.css +5 -1
  452. package/components/radio/style/themes/dnb-radio-theme-sbanken.scss +17 -8
  453. package/components/radio/style/themes/dnb-radio-theme-ui.css +6 -1
  454. package/components/radio/style/themes/dnb-radio-theme-ui.min.css +1 -1
  455. package/components/radio/style/themes/dnb-radio-theme-ui.scss +6 -1
  456. package/components/section/Section.d.ts +5 -0
  457. package/components/section/Section.js +3 -2
  458. package/components/section/Section.js.map +1 -1
  459. package/components/section/style/dnb-section.css +10 -0
  460. package/components/section/style/dnb-section.min.css +3 -3
  461. package/components/section/style/dnb-section.scss +11 -0
  462. package/components/section/style/themes/dnb-section-theme-ui.css +0 -9
  463. package/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  464. package/components/skeleton/style/dnb-skeleton.css +0 -2
  465. package/components/skeleton/style/dnb-skeleton.min.css +1 -1
  466. package/components/skip-content/style/dnb-skip-content.css +1 -4
  467. package/components/skip-content/style/dnb-skip-content.min.css +1 -1
  468. package/components/switch/Switch.js +9 -3
  469. package/components/switch/Switch.js.map +1 -1
  470. package/components/switch/style/dnb-switch.css +43 -9
  471. package/components/switch/style/dnb-switch.min.css +1 -1
  472. package/components/switch/style/dnb-switch.scss +49 -22
  473. package/components/switch/style/themes/dnb-switch-theme-sbanken.css +207 -0
  474. package/components/switch/style/themes/dnb-switch-theme-sbanken.min.css +1 -0
  475. package/components/switch/style/themes/dnb-switch-theme-sbanken.scss +280 -0
  476. package/components/switch/style/themes/dnb-switch-theme-ui.css +11 -30
  477. package/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
  478. package/components/switch/style/themes/dnb-switch-theme-ui.scss +24 -32
  479. package/components/table/style/dnb-table.css +1 -4
  480. package/components/table/style/dnb-table.min.css +1 -1
  481. package/components/table/style/themes/dnb-table-theme-sbanken.css +0 -3
  482. package/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  483. package/components/tabs/style/dnb-tabs.css +1 -0
  484. package/components/tabs/style/dnb-tabs.min.css +1 -1
  485. package/components/tag/style/dnb-tag.css +0 -1
  486. package/components/tag/style/dnb-tag.min.css +1 -1
  487. package/components/textarea/Textarea.js +4 -1
  488. package/components/textarea/Textarea.js.map +1 -1
  489. package/components/textarea/style/dnb-textarea.css +5 -2
  490. package/components/textarea/style/dnb-textarea.min.css +1 -1
  491. package/components/textarea/style/dnb-textarea.scss +2 -2
  492. package/components/toggle-button/ToggleButtonGroup.js +3 -2
  493. package/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  494. package/components/toggle-button/style/dnb-toggle-button.css +3 -7
  495. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  496. package/components/toggle-button/style/dnb-toggle-button.scss +4 -14
  497. package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +92 -0
  498. package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -0
  499. package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +83 -0
  500. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +0 -2
  501. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +0 -3
  502. package/components/upload/style/dnb-upload.css +3 -12
  503. package/components/upload/style/dnb-upload.min.css +1 -1
  504. package/elements/hr/style/dnb-hr.scss +16 -30
  505. package/elements/hr/style/hr-mixins.scss +5 -7
  506. package/es/components/accordion/AccordionHeader.d.ts +2 -1
  507. package/es/components/accordion/AccordionHeader.js +3 -2
  508. package/es/components/accordion/AccordionHeader.js.map +1 -1
  509. package/es/components/accordion/style/dnb-accordion.css +13 -5
  510. package/es/components/accordion/style/dnb-accordion.min.css +3 -1
  511. package/es/components/accordion/style/dnb-accordion.scss +16 -5
  512. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.css +19 -49
  513. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.min.css +1 -1
  514. package/es/components/accordion/style/themes/dnb-accordion-theme-sbanken.scss +22 -33
  515. package/es/components/accordion/style/themes/dnb-accordion-theme-ui.css +134 -102
  516. package/es/components/accordion/style/themes/dnb-accordion-theme-ui.min.css +27 -1
  517. package/es/components/accordion/style/themes/dnb-accordion-theme-ui.scss +159 -86
  518. package/es/components/anchor/Anchor.d.ts +1 -0
  519. package/es/components/anchor/Anchor.js +5 -4
  520. package/es/components/anchor/Anchor.js.map +1 -1
  521. package/es/components/anchor/style/dnb-anchor.css +17 -52
  522. package/es/components/anchor/style/dnb-anchor.min.css +1 -1
  523. package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +0 -6
  524. package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  525. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +8 -52
  526. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  527. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.css +0 -6
  528. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  529. package/es/components/autocomplete/Autocomplete.d.ts +4 -0
  530. package/es/components/autocomplete/Autocomplete.js +94 -75
  531. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  532. package/es/components/autocomplete/style/dnb-autocomplete.css +1 -0
  533. package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  534. package/es/components/breadcrumb/style/dnb-breadcrumb.css +2 -4
  535. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  536. package/es/components/breadcrumb/style/dnb-breadcrumb.scss +2 -7
  537. package/es/components/button/Button.d.ts +1 -1
  538. package/es/components/button/Button.js +10 -6
  539. package/es/components/button/Button.js.map +1 -1
  540. package/es/components/button/style/dnb-button.css +1 -0
  541. package/es/components/button/style/dnb-button.min.css +1 -1
  542. package/es/components/button/style/themes/dnb-button-theme-eiendom.css +0 -25
  543. package/es/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
  544. package/es/components/button/style/themes/dnb-button-theme-sbanken.css +0 -72
  545. package/es/components/button/style/themes/dnb-button-theme-sbanken.min.css +3 -3
  546. package/es/components/button/style/themes/dnb-button-theme-sbanken.scss +1 -1
  547. package/es/components/button/style/themes/dnb-button-theme-ui.css +0 -25
  548. package/es/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  549. package/es/components/button/style/themes/dnb-button-theme-ui.scss +1 -1
  550. package/es/components/card/style/dnb-card.css +10 -0
  551. package/es/components/card/style/dnb-card.min.css +1 -1
  552. package/es/components/card/style/dnb-card.scss +8 -0
  553. package/es/components/checkbox/Checkbox.js +9 -3
  554. package/es/components/checkbox/Checkbox.js.map +1 -1
  555. package/es/components/checkbox/style/dnb-checkbox.css +129 -0
  556. package/es/components/checkbox/style/dnb-checkbox.min.css +1 -1
  557. package/es/components/checkbox/style/dnb-checkbox.scss +199 -0
  558. package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.css +32 -0
  559. package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.min.css +3 -0
  560. package/es/components/checkbox/style/themes/dnb-checkbox-theme-sbanken.scss +39 -0
  561. package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.css +24 -88
  562. package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.min.css +1 -1
  563. package/es/components/checkbox/style/themes/dnb-checkbox-theme-ui.scss +30 -125
  564. package/es/components/date-picker/DatePicker.d.ts +1 -1
  565. package/es/components/date-picker/DatePicker.js +4 -1
  566. package/es/components/date-picker/DatePicker.js.map +1 -1
  567. package/es/components/date-picker/DatePickerInput.d.ts +1 -1
  568. package/es/components/date-picker/style/dnb-date-picker.css +0 -1
  569. package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
  570. package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +1 -0
  571. package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
  572. package/es/components/dialog/style/dnb-dialog.css +0 -1
  573. package/es/components/dialog/style/dnb-dialog.min.css +1 -1
  574. package/es/components/dropdown/Dropdown.js +2 -2
  575. package/es/components/dropdown/Dropdown.js.map +1 -1
  576. package/es/components/flex/Container.js +2 -1
  577. package/es/components/flex/Container.js.map +1 -1
  578. package/es/components/flex/style/dnb-flex.css +1 -2
  579. package/es/components/flex/style/dnb-flex.min.css +1 -1
  580. package/es/components/flex/style/flex-container.scss +1 -1
  581. package/es/components/form-label/FormLabel.d.ts +8 -3
  582. package/es/components/form-label/FormLabel.js +14 -11
  583. package/es/components/form-label/FormLabel.js.map +1 -1
  584. package/es/components/form-label/style/dnb-form-label.css +0 -1
  585. package/es/components/form-label/style/dnb-form-label.min.css +1 -1
  586. package/es/components/form-label/style/dnb-form-label.scss +0 -5
  587. package/es/components/global-error/style/dnb-global-error.css +0 -4
  588. package/es/components/global-error/style/dnb-global-error.min.css +1 -1
  589. package/es/components/global-status/GlobalStatus.d.ts +1 -1
  590. package/es/components/global-status/GlobalStatus.js +3 -1
  591. package/es/components/global-status/GlobalStatus.js.map +1 -1
  592. package/es/components/global-status/style/dnb-global-status.css +0 -7
  593. package/es/components/global-status/style/dnb-global-status.min.css +1 -1
  594. package/es/components/global-status/style/dnb-global-status.scss +0 -11
  595. package/es/components/grid/style/dnb-grid.css +0 -2
  596. package/es/components/grid/style/dnb-grid.min.css +1 -1
  597. package/es/components/info-card/style/dnb-info-card.css +1 -4
  598. package/es/components/info-card/style/dnb-info-card.min.css +1 -1
  599. package/es/components/input/style/dnb-input.css +13 -3
  600. package/es/components/input/style/dnb-input.min.css +1 -1
  601. package/es/components/input/style/dnb-input.scss +14 -8
  602. package/es/components/input/style/themes/dnb-input-theme-sbanken.css +0 -9
  603. package/es/components/input/style/themes/dnb-input-theme-sbanken.min.css +1 -1
  604. package/es/components/input-masked/MultiInputMask.d.ts +6 -2
  605. package/es/components/input-masked/MultiInputMask.js +24 -19
  606. package/es/components/input-masked/MultiInputMask.js.map +1 -1
  607. package/es/components/input-masked/style/dnb-input-masked.css +3 -4
  608. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  609. package/es/components/input-masked/style/dnb-input-masked.scss +1 -1
  610. package/es/components/number-format/NumberUtils.d.ts +1 -1
  611. package/es/components/pagination/style/dnb-pagination.css +0 -1
  612. package/es/components/pagination/style/dnb-pagination.min.css +1 -1
  613. package/es/components/progress-indicator/style/dnb-progress-indicator.css +1 -4
  614. package/es/components/progress-indicator/style/dnb-progress-indicator.min.css +1 -1
  615. package/es/components/radio/Radio.js +13 -7
  616. package/es/components/radio/Radio.js.map +1 -1
  617. package/es/components/radio/RadioGroup.js +3 -2
  618. package/es/components/radio/RadioGroup.js.map +1 -1
  619. package/es/components/radio/style/dnb-radio.css +33 -8
  620. package/es/components/radio/style/dnb-radio.min.css +1 -1
  621. package/es/components/radio/style/dnb-radio.scss +59 -9
  622. package/es/components/radio/style/themes/dnb-radio-theme-sbanken.css +17 -8
  623. package/es/components/radio/style/themes/dnb-radio-theme-sbanken.min.css +5 -1
  624. package/es/components/radio/style/themes/dnb-radio-theme-sbanken.scss +17 -8
  625. package/es/components/radio/style/themes/dnb-radio-theme-ui.css +6 -1
  626. package/es/components/radio/style/themes/dnb-radio-theme-ui.min.css +1 -1
  627. package/es/components/radio/style/themes/dnb-radio-theme-ui.scss +6 -1
  628. package/es/components/section/Section.d.ts +5 -0
  629. package/es/components/section/Section.js +3 -2
  630. package/es/components/section/Section.js.map +1 -1
  631. package/es/components/section/style/dnb-section.css +10 -0
  632. package/es/components/section/style/dnb-section.min.css +3 -3
  633. package/es/components/section/style/dnb-section.scss +11 -0
  634. package/es/components/section/style/themes/dnb-section-theme-ui.css +0 -9
  635. package/es/components/section/style/themes/dnb-section-theme-ui.min.css +1 -1
  636. package/es/components/skeleton/style/dnb-skeleton.css +0 -2
  637. package/es/components/skeleton/style/dnb-skeleton.min.css +1 -1
  638. package/es/components/skip-content/style/dnb-skip-content.css +1 -4
  639. package/es/components/skip-content/style/dnb-skip-content.min.css +1 -1
  640. package/es/components/switch/Switch.js +9 -3
  641. package/es/components/switch/Switch.js.map +1 -1
  642. package/es/components/switch/style/dnb-switch.css +43 -9
  643. package/es/components/switch/style/dnb-switch.min.css +1 -1
  644. package/es/components/switch/style/dnb-switch.scss +49 -22
  645. package/es/components/switch/style/themes/dnb-switch-theme-sbanken.css +207 -0
  646. package/es/components/switch/style/themes/dnb-switch-theme-sbanken.min.css +1 -0
  647. package/es/components/switch/style/themes/dnb-switch-theme-sbanken.scss +280 -0
  648. package/es/components/switch/style/themes/dnb-switch-theme-ui.css +11 -30
  649. package/es/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
  650. package/es/components/switch/style/themes/dnb-switch-theme-ui.scss +24 -32
  651. package/es/components/table/style/dnb-table.css +1 -4
  652. package/es/components/table/style/dnb-table.min.css +1 -1
  653. package/es/components/table/style/themes/dnb-table-theme-sbanken.css +0 -3
  654. package/es/components/table/style/themes/dnb-table-theme-sbanken.min.css +1 -1
  655. package/es/components/tabs/style/dnb-tabs.css +1 -0
  656. package/es/components/tabs/style/dnb-tabs.min.css +1 -1
  657. package/es/components/tag/style/dnb-tag.css +0 -1
  658. package/es/components/tag/style/dnb-tag.min.css +1 -1
  659. package/es/components/textarea/Textarea.js +4 -1
  660. package/es/components/textarea/Textarea.js.map +1 -1
  661. package/es/components/textarea/style/dnb-textarea.css +5 -2
  662. package/es/components/textarea/style/dnb-textarea.min.css +1 -1
  663. package/es/components/textarea/style/dnb-textarea.scss +2 -2
  664. package/es/components/toggle-button/ToggleButtonGroup.js +3 -2
  665. package/es/components/toggle-button/ToggleButtonGroup.js.map +1 -1
  666. package/es/components/toggle-button/style/dnb-toggle-button.css +3 -7
  667. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  668. package/es/components/toggle-button/style/dnb-toggle-button.scss +4 -14
  669. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +92 -0
  670. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -0
  671. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +83 -0
  672. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +0 -2
  673. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +0 -3
  674. package/es/components/upload/style/dnb-upload.css +3 -12
  675. package/es/components/upload/style/dnb-upload.min.css +1 -1
  676. package/es/elements/hr/style/dnb-hr.scss +16 -30
  677. package/es/elements/hr/style/hr-mixins.scss +5 -7
  678. package/es/extensions/forms/DataContext/Context.d.ts +1 -1
  679. package/es/extensions/forms/DataContext/Context.js +1 -1
  680. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  681. package/es/extensions/forms/DataContext/Provider/Provider.js +9 -5
  682. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  683. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +0 -8
  684. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  685. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +0 -2
  686. package/es/extensions/forms/Field/Currency/Currency.d.ts +3 -1
  687. package/es/extensions/forms/Field/Currency/Currency.js +8 -2
  688. package/es/extensions/forms/Field/Currency/Currency.js.map +1 -1
  689. package/es/extensions/forms/Field/Expiry/Expiry.js +6 -4
  690. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  691. package/es/extensions/forms/Field/Expiry/style/dnb-expiry.css +2 -8
  692. package/es/extensions/forms/Field/Expiry/style/dnb-expiry.min.css +1 -1
  693. package/es/extensions/forms/Field/Expiry/style/dnb-expiry.scss +5 -5
  694. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -5
  695. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  696. package/es/extensions/forms/Field/Number/Number.js +11 -12
  697. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  698. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +14 -2
  699. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +128 -61
  700. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  701. package/es/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.css +2 -8
  702. package/es/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.min.css +1 -1
  703. package/es/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.scss +2 -4
  704. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +1 -3
  705. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +7 -5
  706. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  707. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +0 -16
  708. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  709. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +0 -14
  710. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +34 -2
  711. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +176 -18
  712. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  713. package/es/extensions/forms/Field/Selection/Selection.js +1 -0
  714. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  715. package/es/extensions/forms/Field/Selection/style/dnb-selection.css +0 -6
  716. package/es/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
  717. package/es/extensions/forms/Field/Selection/style/dnb-selection.scss +0 -2
  718. package/es/extensions/forms/Field/String/String.js +8 -9
  719. package/es/extensions/forms/Field/String/String.js.map +1 -1
  720. package/es/extensions/forms/Field/Toggle/Toggle.js +4 -2
  721. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  722. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
  723. package/es/extensions/forms/FieldBlock/FieldBlock.js +16 -19
  724. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  725. package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +2 -2
  726. package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  727. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -0
  728. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  729. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +3 -0
  730. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +0 -1
  731. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  732. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +0 -6
  733. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  734. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +0 -3
  735. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  736. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +0 -1
  737. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  738. package/es/extensions/forms/constants/countries.d.ts +9 -6
  739. package/es/extensions/forms/constants/countries.js +17 -8
  740. package/es/extensions/forms/constants/countries.js.map +1 -1
  741. package/es/extensions/forms/hooks/useDataValue.d.ts +2 -0
  742. package/es/extensions/forms/hooks/useDataValue.js +26 -20
  743. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  744. package/es/extensions/forms/index.d.ts +1 -1
  745. package/es/extensions/forms/index.js +1 -0
  746. package/es/extensions/forms/index.js.map +1 -1
  747. package/es/extensions/forms/style/dnb-forms.css +89 -131
  748. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  749. package/es/extensions/forms/style/dnb-forms.scss +1 -6
  750. package/es/extensions/forms/types.d.ts +5 -4
  751. package/es/extensions/forms/types.js.map +1 -1
  752. package/es/extensions/payment-card/PaymentCard.d.ts +3 -2
  753. package/es/extensions/payment-card/PaymentCard.js +16 -37
  754. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  755. package/es/extensions/payment-card/icons/index.js +4 -2
  756. package/es/extensions/payment-card/icons/index.js.map +1 -1
  757. package/es/extensions/payment-card/style/dnb-payment-card.css +0 -2
  758. package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  759. package/es/extensions/style/index.d.ts +5 -1
  760. package/es/extensions/style/index.js +4 -1
  761. package/es/extensions/style/index.js.map +1 -1
  762. package/es/icons/dnb/icons-meta.json +2 -2
  763. package/es/icons/icons-meta.json +2 -2
  764. package/es/shared/Eufemia.d.ts +1 -1
  765. package/es/shared/Eufemia.js +2 -2
  766. package/es/shared/Eufemia.js.map +1 -1
  767. package/es/shared/helpers/filterValidProps.d.ts +3 -7
  768. package/es/shared/helpers/filterValidProps.js +9 -3
  769. package/es/shared/helpers/filterValidProps.js.map +1 -1
  770. package/es/shared/helpers/withCamelCaseProps.d.ts +1 -0
  771. package/es/shared/helpers/withCamelCaseProps.js +6 -5
  772. package/es/shared/helpers/withCamelCaseProps.js.map +1 -1
  773. package/es/shared/helpers/withSnakeCaseProps.js +5 -4
  774. package/es/shared/helpers/withSnakeCaseProps.js.map +1 -1
  775. package/es/shared/locales/en-GB.d.ts +1 -1
  776. package/es/shared/locales/en-GB.js +4 -4
  777. package/es/shared/locales/en-GB.js.map +1 -1
  778. package/es/shared/locales/en-US.d.ts +1 -1
  779. package/es/shared/locales/index.d.ts +2 -2
  780. package/es/shared/locales/nb-NO.d.ts +1 -1
  781. package/es/shared/locales/nb-NO.js +4 -4
  782. package/es/shared/locales/nb-NO.js.map +1 -1
  783. package/es/style/core/utilities.scss +1 -1
  784. package/es/style/dnb-ui-basis.css +3 -0
  785. package/es/style/dnb-ui-basis.min.css +1 -1
  786. package/es/style/dnb-ui-body.css +3 -1
  787. package/es/style/dnb-ui-body.min.css +1 -1
  788. package/es/style/dnb-ui-components.css +586 -208
  789. package/es/style/dnb-ui-components.min.css +6 -4
  790. package/es/style/dnb-ui-components.scss +2 -1
  791. package/es/style/dnb-ui-core.css +4 -1
  792. package/es/style/dnb-ui-core.min.css +1 -1
  793. package/es/style/dnb-ui-elements.css +17 -26
  794. package/es/style/dnb-ui-elements.min.css +1 -1
  795. package/es/style/dnb-ui-extensions.css +89 -133
  796. package/es/style/dnb-ui-extensions.min.css +1 -1
  797. package/es/style/dnb-ui-forms.css +229 -0
  798. package/es/style/dnb-ui-forms.min.css +1 -0
  799. package/es/style/dnb-ui-forms.scss +19 -0
  800. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +17 -36
  801. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  802. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +997 -469
  803. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +35 -7
  804. package/es/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
  805. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +17 -36
  806. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  807. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +89 -133
  808. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  809. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +238 -0
  810. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -0
  811. package/es/style/themes/theme-eiendom/eiendom-theme-forms.scss +15 -0
  812. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +17 -26
  813. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  814. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +1186 -823
  815. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +17 -9
  816. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +4 -3
  817. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +17 -26
  818. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  819. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +89 -133
  820. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  821. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +238 -0
  822. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -0
  823. package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +15 -0
  824. package/es/style/themes/theme-ui/ui-theme-basis.css +17 -36
  825. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  826. package/es/style/themes/theme-ui/ui-theme-components.css +997 -468
  827. package/es/style/themes/theme-ui/ui-theme-components.min.css +35 -7
  828. package/es/style/themes/theme-ui/ui-theme-components.scss +1 -0
  829. package/es/style/themes/theme-ui/ui-theme-elements.css +17 -36
  830. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  831. package/es/style/themes/theme-ui/ui-theme-extensions.css +89 -133
  832. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  833. package/es/style/themes/theme-ui/ui-theme-forms.css +238 -0
  834. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -0
  835. package/es/style/themes/theme-ui/ui-theme-forms.scss +15 -0
  836. package/es/style/themes/theme-ui/ui-theme-tags.css +12 -25
  837. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  838. package/esm/dnb-ui-basis.min.mjs +1 -1
  839. package/esm/dnb-ui-components.min.mjs +1 -1
  840. package/esm/dnb-ui-elements.min.mjs +1 -1
  841. package/esm/dnb-ui-extensions.min.mjs +3 -3
  842. package/esm/dnb-ui-lib.min.mjs +1 -1
  843. package/extensions/forms/DataContext/Context.d.ts +1 -1
  844. package/extensions/forms/DataContext/Context.js +1 -1
  845. package/extensions/forms/DataContext/Context.js.map +1 -1
  846. package/extensions/forms/DataContext/Provider/Provider.js +9 -5
  847. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  848. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +0 -8
  849. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  850. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +0 -2
  851. package/extensions/forms/Field/Currency/Currency.d.ts +3 -1
  852. package/extensions/forms/Field/Currency/Currency.js +8 -2
  853. package/extensions/forms/Field/Currency/Currency.js.map +1 -1
  854. package/extensions/forms/Field/Expiry/Expiry.js +6 -4
  855. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  856. package/extensions/forms/Field/Expiry/style/dnb-expiry.css +2 -8
  857. package/extensions/forms/Field/Expiry/style/dnb-expiry.min.css +1 -1
  858. package/extensions/forms/Field/Expiry/style/dnb-expiry.scss +5 -5
  859. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -5
  860. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  861. package/extensions/forms/Field/Number/Number.js +11 -12
  862. package/extensions/forms/Field/Number/Number.js.map +1 -1
  863. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +14 -2
  864. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +135 -71
  865. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  866. package/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.css +2 -8
  867. package/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.min.css +1 -1
  868. package/extensions/forms/Field/PhoneNumber/style/dnb-phone-number.scss +2 -4
  869. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +1 -3
  870. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +7 -5
  871. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  872. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +0 -16
  873. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  874. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +0 -14
  875. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +34 -2
  876. package/extensions/forms/Field/SelectCountry/SelectCountry.js +188 -18
  877. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  878. package/extensions/forms/Field/Selection/Selection.js +1 -0
  879. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  880. package/extensions/forms/Field/Selection/style/dnb-selection.css +0 -6
  881. package/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
  882. package/extensions/forms/Field/Selection/style/dnb-selection.scss +0 -2
  883. package/extensions/forms/Field/String/String.js +8 -9
  884. package/extensions/forms/Field/String/String.js.map +1 -1
  885. package/extensions/forms/Field/Toggle/Toggle.js +4 -2
  886. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  887. package/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
  888. package/extensions/forms/FieldBlock/FieldBlock.js +17 -20
  889. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  890. package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +2 -2
  891. package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  892. package/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -0
  893. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  894. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +3 -0
  895. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +0 -1
  896. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  897. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +0 -6
  898. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  899. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +0 -3
  900. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  901. package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +0 -1
  902. package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  903. package/extensions/forms/constants/countries.d.ts +9 -6
  904. package/extensions/forms/constants/countries.js +17 -8
  905. package/extensions/forms/constants/countries.js.map +1 -1
  906. package/extensions/forms/hooks/useDataValue.d.ts +2 -0
  907. package/extensions/forms/hooks/useDataValue.js +31 -21
  908. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  909. package/extensions/forms/index.d.ts +1 -1
  910. package/extensions/forms/index.js +1 -0
  911. package/extensions/forms/index.js.map +1 -1
  912. package/extensions/forms/style/dnb-forms.css +89 -131
  913. package/extensions/forms/style/dnb-forms.min.css +1 -1
  914. package/extensions/forms/style/dnb-forms.scss +1 -6
  915. package/extensions/forms/types.d.ts +5 -4
  916. package/extensions/forms/types.js.map +1 -1
  917. package/extensions/payment-card/PaymentCard.d.ts +3 -2
  918. package/extensions/payment-card/PaymentCard.js +16 -37
  919. package/extensions/payment-card/PaymentCard.js.map +1 -1
  920. package/extensions/payment-card/icons/index.js +4 -2
  921. package/extensions/payment-card/icons/index.js.map +1 -1
  922. package/extensions/payment-card/style/dnb-payment-card.css +0 -2
  923. package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  924. package/extensions/style/index.d.ts +5 -1
  925. package/extensions/style/index.js +4 -1
  926. package/extensions/style/index.js.map +1 -1
  927. package/icons/dnb/icons-meta.json +2 -2
  928. package/icons/icons-meta.json +2 -2
  929. package/package.json +1 -1
  930. package/shared/Eufemia.d.ts +1 -1
  931. package/shared/Eufemia.js +2 -2
  932. package/shared/Eufemia.js.map +1 -1
  933. package/shared/helpers/filterValidProps.d.ts +3 -7
  934. package/shared/helpers/filterValidProps.js +9 -3
  935. package/shared/helpers/filterValidProps.js.map +1 -1
  936. package/shared/helpers/withCamelCaseProps.d.ts +1 -0
  937. package/shared/helpers/withCamelCaseProps.js +6 -5
  938. package/shared/helpers/withCamelCaseProps.js.map +1 -1
  939. package/shared/helpers/withSnakeCaseProps.js +5 -4
  940. package/shared/helpers/withSnakeCaseProps.js.map +1 -1
  941. package/shared/locales/en-GB.d.ts +1 -1
  942. package/shared/locales/en-GB.js +4 -4
  943. package/shared/locales/en-GB.js.map +1 -1
  944. package/shared/locales/en-US.d.ts +1 -1
  945. package/shared/locales/index.d.ts +2 -2
  946. package/shared/locales/nb-NO.d.ts +1 -1
  947. package/shared/locales/nb-NO.js +4 -4
  948. package/shared/locales/nb-NO.js.map +1 -1
  949. package/style/core/utilities.scss +1 -1
  950. package/style/dnb-ui-basis.css +3 -0
  951. package/style/dnb-ui-basis.min.css +1 -1
  952. package/style/dnb-ui-body.css +3 -1
  953. package/style/dnb-ui-body.min.css +1 -1
  954. package/style/dnb-ui-components.css +586 -208
  955. package/style/dnb-ui-components.min.css +6 -4
  956. package/style/dnb-ui-components.scss +2 -1
  957. package/style/dnb-ui-core.css +4 -1
  958. package/style/dnb-ui-core.min.css +1 -1
  959. package/style/dnb-ui-elements.css +17 -26
  960. package/style/dnb-ui-elements.min.css +1 -1
  961. package/style/dnb-ui-extensions.css +89 -133
  962. package/style/dnb-ui-extensions.min.css +1 -1
  963. package/style/dnb-ui-forms.css +229 -0
  964. package/style/dnb-ui-forms.min.css +1 -0
  965. package/style/dnb-ui-forms.scss +19 -0
  966. package/style/themes/theme-eiendom/eiendom-theme-basis.css +17 -36
  967. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  968. package/style/themes/theme-eiendom/eiendom-theme-components.css +997 -469
  969. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +35 -7
  970. package/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
  971. package/style/themes/theme-eiendom/eiendom-theme-elements.css +17 -36
  972. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  973. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +89 -133
  974. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  975. package/style/themes/theme-eiendom/eiendom-theme-forms.css +238 -0
  976. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -0
  977. package/style/themes/theme-eiendom/eiendom-theme-forms.scss +15 -0
  978. package/style/themes/theme-sbanken/sbanken-theme-basis.css +17 -26
  979. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  980. package/style/themes/theme-sbanken/sbanken-theme-components.css +1186 -823
  981. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +17 -9
  982. package/style/themes/theme-sbanken/sbanken-theme-components.scss +4 -3
  983. package/style/themes/theme-sbanken/sbanken-theme-elements.css +17 -26
  984. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  985. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +89 -133
  986. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  987. package/style/themes/theme-sbanken/sbanken-theme-forms.css +238 -0
  988. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -0
  989. package/style/themes/theme-sbanken/sbanken-theme-forms.scss +15 -0
  990. package/style/themes/theme-ui/ui-theme-basis.css +17 -36
  991. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  992. package/style/themes/theme-ui/ui-theme-components.css +997 -468
  993. package/style/themes/theme-ui/ui-theme-components.min.css +35 -7
  994. package/style/themes/theme-ui/ui-theme-components.scss +1 -0
  995. package/style/themes/theme-ui/ui-theme-elements.css +17 -36
  996. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  997. package/style/themes/theme-ui/ui-theme-extensions.css +89 -133
  998. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  999. package/style/themes/theme-ui/ui-theme-forms.css +238 -0
  1000. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -0
  1001. package/style/themes/theme-ui/ui-theme-forms.scss +15 -0
  1002. package/style/themes/theme-ui/ui-theme-tags.css +12 -25
  1003. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  1004. package/umd/dnb-ui-basis.min.js +1 -1
  1005. package/umd/dnb-ui-components.min.js +1 -1
  1006. package/umd/dnb-ui-elements.min.js +1 -1
  1007. package/umd/dnb-ui-extensions.min.js +3 -3
  1008. package/umd/dnb-ui-lib.min.js +1 -1
  1009. package/cjs/components/button/style/dnb-button--tertiary.css +0 -216
  1010. package/cjs/components/button/style/dnb-button--tertiary.min.css +0 -5
  1011. package/cjs/extensions/forms/Field/style/dnb-forms-field.css +0 -93
  1012. package/cjs/extensions/forms/Field/style/dnb-forms-field.min.css +0 -1
  1013. package/cjs/extensions/forms/Field/style/dnb-forms-field.scss +0 -5
  1014. package/cjs/extensions/forms/Form/style/dnb-forms-form.css +0 -33
  1015. package/cjs/extensions/forms/Form/style/dnb-forms-form.min.css +0 -1
  1016. package/cjs/extensions/forms/Form/style/dnb-forms-form.scss +0 -3
  1017. package/cjs/extensions/forms/Form/style/index.d.ts +0 -5
  1018. package/cjs/extensions/forms/Form/style/index.js +0 -4
  1019. package/cjs/extensions/forms/Form/style/index.js.map +0 -1
  1020. package/cjs/extensions/forms/StepsLayout/style/index.scss +0 -1
  1021. package/cjs/extensions/forms/ValueBlock/style/index.scss +0 -1
  1022. package/cjs/extensions/forms/style/index.d.ts +0 -1
  1023. package/cjs/extensions/forms/style/index.js +0 -4
  1024. package/cjs/extensions/forms/style/index.js.map +0 -1
  1025. package/components/button/style/dnb-button--tertiary.css +0 -216
  1026. package/components/button/style/dnb-button--tertiary.min.css +0 -5
  1027. package/es/components/button/style/dnb-button--tertiary.css +0 -216
  1028. package/es/components/button/style/dnb-button--tertiary.min.css +0 -5
  1029. package/es/extensions/forms/Field/style/dnb-forms-field.css +0 -93
  1030. package/es/extensions/forms/Field/style/dnb-forms-field.min.css +0 -1
  1031. package/es/extensions/forms/Field/style/dnb-forms-field.scss +0 -5
  1032. package/es/extensions/forms/Form/style/dnb-forms-form.css +0 -33
  1033. package/es/extensions/forms/Form/style/dnb-forms-form.min.css +0 -1
  1034. package/es/extensions/forms/Form/style/dnb-forms-form.scss +0 -3
  1035. package/es/extensions/forms/Form/style/index.d.ts +0 -5
  1036. package/es/extensions/forms/Form/style/index.js +0 -1
  1037. package/es/extensions/forms/Form/style/index.js.map +0 -1
  1038. package/es/extensions/forms/StepsLayout/style/index.scss +0 -1
  1039. package/es/extensions/forms/ValueBlock/style/index.scss +0 -1
  1040. package/es/extensions/forms/style/index.d.ts +0 -1
  1041. package/es/extensions/forms/style/index.js +0 -1
  1042. package/es/extensions/forms/style/index.js.map +0 -1
  1043. package/extensions/forms/Field/style/dnb-forms-field.css +0 -93
  1044. package/extensions/forms/Field/style/dnb-forms-field.min.css +0 -1
  1045. package/extensions/forms/Field/style/dnb-forms-field.scss +0 -5
  1046. package/extensions/forms/Form/style/dnb-forms-form.css +0 -33
  1047. package/extensions/forms/Form/style/dnb-forms-form.min.css +0 -1
  1048. package/extensions/forms/Form/style/dnb-forms-form.scss +0 -3
  1049. package/extensions/forms/Form/style/index.d.ts +0 -5
  1050. package/extensions/forms/Form/style/index.js +0 -1
  1051. package/extensions/forms/Form/style/index.js.map +0 -1
  1052. package/extensions/forms/StepsLayout/style/index.scss +0 -1
  1053. package/extensions/forms/ValueBlock/style/index.scss +0 -1
  1054. package/extensions/forms/style/index.d.ts +0 -1
  1055. package/extensions/forms/style/index.js +0 -1
  1056. package/extensions/forms/style/index.js.map +0 -1
  1057. /package/cjs/components/button/style/{dnb-button--tertiary.scss → button--tertiary.scss} +0 -0
  1058. /package/components/button/style/{dnb-button--tertiary.scss → button--tertiary.scss} +0 -0
  1059. /package/es/components/button/style/{dnb-button--tertiary.scss → button--tertiary.scss} +0 -0
@@ -14,7 +14,8 @@ var _FormLabel = _interopRequireDefault(require("../FormLabel"));
14
14
  var _SpacingHelper = require("../space/SpacingHelper");
15
15
  var _useMultiInputValues = require("./hooks/useMultiInputValues");
16
16
  var _componentHelper = require("../../shared/component-helper");
17
- const _excluded = ["label", "labelDirection", "inputs", "delimiter", "onChange", "disabled", "status", "statusState", "values", "className", "suffix"];
17
+ const _excluded = ["label", "labelDirection", "inputs", "delimiter", "onChange", "disabled", "status", "statusState", "values", "className", "stretch", "suffix"],
18
+ _excluded2 = ["id", "label", "value", "mask", "placeholderCharacter", "delimiter", "disabled", "inputRef", "onKeyDown", "onChange"];
18
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
21
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -33,6 +34,7 @@ function MultiInputMask(_ref) {
33
34
  statusState,
34
35
  values: defaultValues,
35
36
  className,
37
+ stretch,
36
38
  suffix
37
39
  } = _ref,
38
40
  props = _objectWithoutProperties(_ref, _excluded);
@@ -60,16 +62,17 @@ function MultiInputMask(_ref) {
60
62
  status: status,
61
63
  status_state: statusState,
62
64
  suffix: suffix,
63
- input_element: inputs.map((input, index) => _react.default.createElement(_react.Fragment, {
65
+ stretch: stretch,
66
+ input_element: inputs.map((input, index) => _react.default.createElement(MultiInputMaskInput, _extends({
64
67
  key: input.id
65
- }, _react.default.createElement(MultiInputMaskInput, _extends({}, input, {
68
+ }, input, {
66
69
  value: values[input.id],
67
70
  delimiter: index !== inputs.length - 1 ? delimiter : undefined,
68
71
  onKeyDown: onKeyDown,
69
72
  onChange: onChange,
70
73
  disabled: disabled,
71
74
  inputRef: getInputRef
72
- }))))
75
+ })))
73
76
  })));
74
77
  function onLegendClick() {
75
78
  if (disabled) {
@@ -110,19 +113,20 @@ function MultiInputMask(_ref) {
110
113
  }
111
114
  function MultiInputMaskInput(_ref3) {
112
115
  let {
113
- id,
114
- label,
115
- value,
116
- mask,
117
- placeholderCharacter,
118
- delimiter,
119
- disabled,
120
- inputRef,
121
- onKeyDown,
122
- onChange
123
- } = _ref3;
116
+ id,
117
+ label,
118
+ value,
119
+ mask,
120
+ placeholderCharacter,
121
+ delimiter,
122
+ disabled,
123
+ inputRef,
124
+ onKeyDown,
125
+ onChange
126
+ } = _ref3,
127
+ attributes = _objectWithoutProperties(_ref3, _excluded2);
124
128
  const markupId = `${id}-${(0, _componentHelper.makeUniqueId)()}`;
125
- return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_TextMask.default, {
129
+ return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_TextMask.default, _extends({
126
130
  id: `${markupId}__input`,
127
131
  "data-mask-id": id,
128
132
  className: "dnb-input__input dnb-multi-input-mask__input" + (value ? " dnb-multi-input-mask__input--highlight" : ""),
@@ -141,7 +145,7 @@ function MultiInputMaskInput(_ref3) {
141
145
  onChange: event => {
142
146
  onChange(id, removePlaceholder(event.target.value, placeholderCharacter));
143
147
  }
144
- }), _react.default.createElement("label", {
148
+ }, attributes)), _react.default.createElement("label", {
145
149
  id: `${markupId}__label`,
146
150
  htmlFor: `${markupId}__input`,
147
151
  hidden: true
@@ -1 +1 @@
1
- {"version":3,"file":"MultiInputMask.js","names":["_react","_interopRequireWildcard","require","_Input","_interopRequireDefault","_TextMask","_useHandleCursorPosition","_classnames","_FormLabel","_SpacingHelper","_useMultiInputValues","_componentHelper","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","MultiInputMask","_ref","label","labelDirection","inputs","delimiter","onChange","onChangeExternal","disabled","status","statusState","values","defaultValues","className","suffix","props","useMultiInputValue","callback","inputRefs","useRef","onKeyDown","useHandleCursorPosition","current","getKeysToHandle","WrapperElement","createElement","classnames","createSpacingClasses","element","onClick","onLegendClick","vertical","status_state","input_element","map","input","index","Fragment","id","MultiInputMaskInput","value","undefined","inputRef","getInputRef","firstInput","focus","setSelectionRange","ref","includes","push","uniqueMasks","getUniqueMasks","size","pattern","next","replace","RegExp","reduce","_ref2","mask","masks","Set","forEach","add","String","_ref3","placeholderCharacter","markupId","makeUniqueId","placeholderChar","guide","showMask","keepCharPositions","onFocus","event","removePlaceholder","htmlFor","hidden","placeholder","_ref4","select","_default","exports","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/input-masked/MultiInputMask.tsx"],"sourcesContent":["import React, { Fragment, MutableRefObject, useRef } from 'react'\nimport Input from '../Input'\nimport TextMask from './TextMask'\nimport useHandleCursorPosition from './hooks/useHandleCursorPosition'\nimport classnames from 'classnames'\nimport FormLabel from '../FormLabel'\nimport { SpacingProps } from '../space/types'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport { FormStatusState, FormStatusText } from '../FormStatus'\nimport { useMultiInputValue } from './hooks/useMultiInputValues'\nimport { makeUniqueId } from '../../shared/component-helper'\n\nexport type MultiInputMaskInput<T extends string> = {\n /**\n * Defines the id for the input. This id is also used to map the input value to the correct property on the objects used for `values` and `onChange` parameters.\n */\n id: T\n /**\n * Label used by the input. The label itself is hidden, but required to uphold accessibility standards for screen readers.\n */\n label: React.ReactNode\n /**\n * Each RegExp item in the array defines what the mask should be for each subsequent character in the input. The length sets the size of the input, so an array of two items would produce an input of two characters\n */\n mask: RegExp[]\n /**\n * Sets the placeholder character used for the input.\n */\n placeholderCharacter: string\n}\n\nexport type MultiInputMaskValue<T extends string> = {\n // eslint-disable-next-line no-unused-vars\n [K in T]: string\n}\n\nexport type MultiInputMaskProps<T extends string> = {\n /**\n * The label describing the group of inputs inside the components.\n */\n label?: React.ReactNode\n /**\n * Use to change the label layout direction. Defaults to `horizontal`.\n */\n labelDirection?: 'vertical' | 'horizontal'\n /**\n * Used to define the different inputs representing the inputs in the component. The id's defined here is used to map input value to correct property in `values` parameters used in `onChange`\n */\n inputs: MultiInputMaskInput<T>[]\n /**\n * Values used for the inputs inside the component. Expects an object with keys matching the id's defined in `inputs`\n */\n values?: MultiInputMaskValue<T>\n /**\n * Defines the delimiter used to separate the inputs inside the component.\n */\n delimiter?: string\n /**\n * Runs when the input value changes. Has an object parameter with keys matching the id's defined in `inputs`. i.e. `{month: string, year: string}`\n */\n onChange?: (values: MultiInputMaskValue<T>) => void\n /**\n * Text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message.\n */\n status?: FormStatusText\n /**\n * Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.\n */\n statusState?: FormStatusState\n /**\n * Text describing the content of the input more than the label. you can also send in a React component, so it gets wrapped inside the Input component.\n */\n suffix?: React.ReactNode\n} & Omit<\n React.HTMLProps<HTMLInputElement>,\n 'onChange' | 'ref' | 'value' | 'label'\n> &\n SpacingProps\n\nfunction MultiInputMask<T extends string>({\n label,\n labelDirection = 'horizontal',\n inputs,\n delimiter,\n onChange: onChangeExternal,\n disabled,\n status,\n statusState,\n values: defaultValues,\n className,\n suffix,\n ...props\n}: MultiInputMaskProps<T>) {\n const [values, onChange] = useMultiInputValue({\n inputs,\n defaultValues,\n callback: onChangeExternal,\n })\n\n const inputRefs = useRef<Array<MutableRefObject<HTMLInputElement>>>([])\n\n const { onKeyDown } = useHandleCursorPosition(\n inputRefs.current,\n getKeysToHandle()\n )\n\n const WrapperElement = label ? 'fieldset' : 'div'\n\n return (\n <WrapperElement\n className={classnames(\n 'dnb-multi-input-mask__fieldset',\n labelDirection === 'horizontal' &&\n 'dnb-multi-input-mask__fieldset--horizontal',\n createSpacingClasses(props)\n )}\n >\n {label && (\n <FormLabel\n className={classnames(\n 'dnb-multi-input-mask__legend',\n labelDirection === 'horizontal' &&\n 'dnb-multi-input-mask__legend--horizontal'\n )}\n element=\"legend\"\n onClick={onLegendClick}\n disabled={disabled}\n vertical={labelDirection === 'vertical'}\n >\n {/* This <span/> wrapper is needed to make hover work in Safari Desktop */}\n <span>{label}</span>\n </FormLabel>\n )}\n <Input\n {...props}\n className={classnames('dnb-multi-input-mask', className)}\n disabled={disabled}\n status={status}\n status_state={statusState}\n suffix={suffix}\n input_element={inputs.map((input, index) => (\n <Fragment key={input.id}>\n <MultiInputMaskInput\n {...input}\n value={values[input.id]}\n delimiter={\n index !== inputs.length - 1 ? delimiter : undefined\n }\n onKeyDown={onKeyDown}\n onChange={onChange}\n disabled={disabled}\n inputRef={getInputRef}\n />\n </Fragment>\n ))}\n />\n </WrapperElement>\n )\n\n // Event handlers\n function onLegendClick() {\n if (disabled) {\n return\n }\n\n const firstInput = inputRefs.current[0].current\n\n firstInput.focus()\n firstInput.setSelectionRange(0, 0)\n }\n\n // Utilities\n function getInputRef(ref: any) {\n const inputRef = ref?.inputRef\n\n if (inputRef && !inputRefs.current.includes(inputRef)) {\n inputRefs.current.push(inputRef)\n }\n }\n\n function getKeysToHandle() {\n const uniqueMasks = getUniqueMasks()\n\n // Return the only one RegExp since all the inputs are using the same mask\n if (uniqueMasks.size === 1) {\n const pattern = uniqueMasks.values().next().value.replace(/\\//g, '')\n return new RegExp(pattern)\n }\n\n // If there are multiple types of masks used, then map the maps to an object based on input ids\n // So that useHandleCursorPosition can do a per character test to see if the pressed key should be handled or not\n return inputs.reduce(\n (keys, { id, mask }) => {\n keys[id] = mask\n\n return keys\n },\n {} as Record<T, RegExp[]>\n )\n }\n\n function getUniqueMasks() {\n const masks = new Set()\n\n inputs.forEach((input) => {\n input.mask.forEach((pattern) => masks.add(String(pattern)))\n })\n\n return masks\n }\n}\n\ntype MultiInputMaskInputProps<T extends string> =\n MultiInputMaskInput<T> & {\n id: MultiInputMaskInput<T>['id']\n label: MultiInputMaskInput<T>['label']\n value: string\n mask: MultiInputMaskInput<T>['mask']\n placeholderCharacter: MultiInputMaskInput<T>['placeholderCharacter']\n delimiter?: MultiInputMaskProps<T>['delimiter']\n disabled: boolean\n onKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void\n onChange: (\n id: string,\n placeholderCharacter: MultiInputMaskInput<T>['placeholderCharacter']\n ) => void\n inputRef: any\n }\n\nfunction MultiInputMaskInput<T extends string>({\n id,\n label,\n value,\n mask,\n placeholderCharacter,\n delimiter,\n disabled,\n inputRef,\n onKeyDown,\n onChange,\n}: MultiInputMaskInputProps<T>) {\n const markupId = `${id}-${makeUniqueId()}`\n\n return (\n <>\n <TextMask\n id={`${markupId}__input`}\n data-mask-id={id}\n className={classnames(\n 'dnb-input__input',\n 'dnb-multi-input-mask__input',\n value && 'dnb-multi-input-mask__input--highlight'\n )}\n disabled={disabled}\n size={mask.length}\n mask={mask}\n value={value ?? ''}\n placeholderChar={placeholderCharacter}\n guide={true}\n showMask={true}\n keepCharPositions={false} // so we can overwrite next value, if it already exists\n aria-labelledby={`${markupId}__label`}\n ref={inputRef}\n onKeyDown={onKeyDown}\n onFocus={onFocus}\n onChange={(event) => {\n onChange(\n id,\n removePlaceholder(event.target.value, placeholderCharacter)\n )\n }}\n />\n <label\n id={`${markupId}__label`}\n htmlFor={`${markupId}__input`}\n hidden\n >\n {label}\n </label>\n {delimiter && (\n <span\n aria-hidden\n className={classnames(\n 'dnb-multi-input-mask__delimiter',\n value && 'dnb-multi-input-mask__delimiter--highlight'\n )}\n >\n {delimiter}\n </span>\n )}\n </>\n )\n\n function removePlaceholder(value: string, placeholder: string) {\n return value.replace(RegExp(placeholder, 'gm'), '')\n }\n\n function onFocus({ target }: React.FocusEvent<HTMLInputElement>) {\n target.focus()\n target.select()\n }\n}\n\nexport default MultiInputMask\n\nMultiInputMask._formElement = true\nMultiInputMask._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"MultiInputMask.js","names":["_react","_interopRequireWildcard","require","_Input","_interopRequireDefault","_TextMask","_useHandleCursorPosition","_classnames","_FormLabel","_SpacingHelper","_useMultiInputValues","_componentHelper","_excluded","_excluded2","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","MultiInputMask","_ref","label","labelDirection","inputs","delimiter","onChange","onChangeExternal","disabled","status","statusState","values","defaultValues","className","stretch","suffix","props","useMultiInputValue","callback","inputRefs","useRef","onKeyDown","useHandleCursorPosition","current","getKeysToHandle","WrapperElement","createElement","classnames","createSpacingClasses","element","onClick","onLegendClick","vertical","status_state","input_element","map","input","index","MultiInputMaskInput","id","value","undefined","inputRef","getInputRef","firstInput","focus","setSelectionRange","ref","includes","push","uniqueMasks","getUniqueMasks","size","pattern","next","replace","RegExp","reduce","_ref2","mask","masks","Set","forEach","add","String","_ref3","placeholderCharacter","attributes","markupId","makeUniqueId","Fragment","placeholderChar","guide","showMask","keepCharPositions","onFocus","event","removePlaceholder","htmlFor","hidden","placeholder","_ref4","select","_default","exports","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/input-masked/MultiInputMask.tsx"],"sourcesContent":["import React, { Fragment, MutableRefObject, useRef } from 'react'\nimport Input from '../Input'\nimport TextMask from './TextMask'\nimport useHandleCursorPosition from './hooks/useHandleCursorPosition'\nimport classnames from 'classnames'\nimport FormLabel from '../FormLabel'\nimport { SpacingProps } from '../space/types'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport { FormStatusState, FormStatusText } from '../FormStatus'\nimport { useMultiInputValue } from './hooks/useMultiInputValues'\nimport { makeUniqueId } from '../../shared/component-helper'\n\nexport type MultiInputMaskInput<T extends string> = {\n /**\n * Defines the id for the input. This id is also used to map the input value to the correct property on the objects used for `values` and `onChange` parameters.\n */\n id: T\n /**\n * Label used by the input. The label itself is hidden, but required to uphold accessibility standards for screen readers.\n */\n label: React.ReactNode\n /**\n * Each RegExp item in the array defines what the mask should be for each subsequent character in the input. The length sets the size of the input, so an array of two items would produce an input of two characters\n */\n mask: RegExp[]\n /**\n * Sets the placeholder character used for the input.\n */\n placeholderCharacter: string\n} & Omit<React.HTMLProps<HTMLInputElement>, 'onChange' | 'ref'>\n\nexport type MultiInputMaskValue<T extends string> = {\n // eslint-disable-next-line no-unused-vars\n [K in T]: string\n}\n\nexport type MultiInputMaskProps<T extends string> = {\n /**\n * The label describing the group of inputs inside the components.\n */\n label?: React.ReactNode\n /**\n * Use to change the label layout direction. Defaults to `horizontal`.\n */\n labelDirection?: 'vertical' | 'horizontal'\n /**\n * Used to define the different inputs representing the inputs in the component. The id's defined here is used to map input value to correct property in `values` parameters used in `onChange`\n */\n inputs: MultiInputMaskInput<T>[]\n /**\n * Values used for the inputs inside the component. Expects an object with keys matching the id's defined in `inputs`\n */\n values?: MultiInputMaskValue<T>\n /**\n * Defines the delimiter used to separate the inputs inside the component.\n */\n delimiter?: string\n /**\n * Runs when the input value changes. Has an object parameter with keys matching the id's defined in `inputs`. i.e. `{month: string, year: string}`\n */\n onChange?: (values: MultiInputMaskValue<T>) => void\n /**\n * Text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message.\n */\n status?: FormStatusText\n /**\n * Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.\n */\n statusState?: FormStatusState\n /**\n * Set it to `true` in order to stretch the input to the available space. Defaults to false.\n */\n stretch?: boolean\n /**\n * Text describing the content of the input more than the label. you can also send in a React component, so it gets wrapped inside the Input component.\n */\n suffix?: React.ReactNode\n} & Omit<\n React.HTMLProps<HTMLInputElement>,\n 'onChange' | 'ref' | 'value' | 'label'\n> &\n SpacingProps\n\nfunction MultiInputMask<T extends string>({\n label,\n labelDirection = 'horizontal',\n inputs,\n delimiter,\n onChange: onChangeExternal,\n disabled,\n status,\n statusState,\n values: defaultValues,\n className,\n stretch,\n suffix,\n ...props\n}: MultiInputMaskProps<T>) {\n const [values, onChange] = useMultiInputValue({\n inputs,\n defaultValues,\n callback: onChangeExternal,\n })\n\n const inputRefs = useRef<Array<MutableRefObject<HTMLInputElement>>>([])\n\n const { onKeyDown } = useHandleCursorPosition(\n inputRefs.current,\n getKeysToHandle()\n )\n\n const WrapperElement = label ? 'fieldset' : 'div'\n\n return (\n <WrapperElement\n className={classnames(\n 'dnb-multi-input-mask__fieldset',\n labelDirection === 'horizontal' &&\n 'dnb-multi-input-mask__fieldset--horizontal',\n createSpacingClasses(props)\n )}\n >\n {label && (\n <FormLabel\n className={classnames(\n 'dnb-multi-input-mask__legend',\n labelDirection === 'horizontal' &&\n 'dnb-multi-input-mask__legend--horizontal'\n )}\n element=\"legend\"\n onClick={onLegendClick}\n disabled={disabled}\n vertical={labelDirection === 'vertical'}\n >\n {/* This <span/> wrapper is needed to make hover work in Safari Desktop */}\n <span>{label}</span>\n </FormLabel>\n )}\n <Input\n {...props}\n className={classnames('dnb-multi-input-mask', className)}\n disabled={disabled}\n status={status}\n status_state={statusState}\n suffix={suffix}\n stretch={stretch}\n input_element={inputs.map((input, index) => (\n <MultiInputMaskInput\n key={input.id}\n {...input}\n value={values[input.id]}\n delimiter={index !== inputs.length - 1 ? delimiter : undefined}\n onKeyDown={onKeyDown}\n onChange={onChange}\n disabled={disabled}\n inputRef={getInputRef}\n />\n ))}\n />\n </WrapperElement>\n )\n\n // Event handlers\n function onLegendClick() {\n if (disabled) {\n return\n }\n\n const firstInput = inputRefs.current[0].current\n\n firstInput.focus()\n firstInput.setSelectionRange(0, 0)\n }\n\n // Utilities\n function getInputRef(ref: any) {\n const inputRef = ref?.inputRef\n\n if (inputRef && !inputRefs.current.includes(inputRef)) {\n inputRefs.current.push(inputRef)\n }\n }\n\n function getKeysToHandle() {\n const uniqueMasks = getUniqueMasks()\n\n // Return the only one RegExp since all the inputs are using the same mask\n if (uniqueMasks.size === 1) {\n const pattern = uniqueMasks.values().next().value.replace(/\\//g, '')\n return new RegExp(pattern)\n }\n\n // If there are multiple types of masks used, then map the maps to an object based on input ids\n // So that useHandleCursorPosition can do a per character test to see if the pressed key should be handled or not\n return inputs.reduce(\n (keys, { id, mask }) => {\n keys[id] = mask\n\n return keys\n },\n {} as Record<T, RegExp[]>\n )\n }\n\n function getUniqueMasks() {\n const masks = new Set()\n\n inputs.forEach((input) => {\n input.mask.forEach((pattern) => masks.add(String(pattern)))\n })\n\n return masks\n }\n}\n\ntype MultiInputMaskInputProps<T extends string> =\n MultiInputMaskInput<T> & {\n id: MultiInputMaskInput<T>['id']\n label: MultiInputMaskInput<T>['label']\n value: string\n mask: MultiInputMaskInput<T>['mask']\n placeholderCharacter: MultiInputMaskInput<T>['placeholderCharacter']\n delimiter?: MultiInputMaskProps<T>['delimiter']\n disabled: boolean\n onKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void\n onChange: (\n id: string,\n placeholderCharacter: MultiInputMaskInput<T>['placeholderCharacter']\n ) => void\n inputRef: any\n }\n\nfunction MultiInputMaskInput<T extends string>({\n id,\n label,\n value,\n mask,\n placeholderCharacter,\n delimiter,\n disabled,\n inputRef,\n onKeyDown,\n onChange,\n ...attributes\n}: MultiInputMaskInputProps<T>) {\n const markupId = `${id}-${makeUniqueId()}`\n\n return (\n <>\n <TextMask\n id={`${markupId}__input`}\n data-mask-id={id}\n className={classnames(\n 'dnb-input__input',\n 'dnb-multi-input-mask__input',\n value && 'dnb-multi-input-mask__input--highlight'\n )}\n disabled={disabled}\n size={mask.length}\n mask={mask}\n value={value ?? ''}\n placeholderChar={placeholderCharacter}\n guide={true}\n showMask={true}\n keepCharPositions={false} // so we can overwrite next value, if it already exists\n aria-labelledby={`${markupId}__label`}\n ref={inputRef}\n onKeyDown={onKeyDown}\n onFocus={onFocus}\n onChange={(event) => {\n onChange(\n id,\n removePlaceholder(event.target.value, placeholderCharacter)\n )\n }}\n {...attributes}\n />\n <label\n id={`${markupId}__label`}\n htmlFor={`${markupId}__input`}\n hidden\n >\n {label}\n </label>\n {delimiter && (\n <span\n aria-hidden\n className={classnames(\n 'dnb-multi-input-mask__delimiter',\n value && 'dnb-multi-input-mask__delimiter--highlight'\n )}\n >\n {delimiter}\n </span>\n )}\n </>\n )\n\n function removePlaceholder(value: string, placeholder: string) {\n return value.replace(RegExp(placeholder, 'gm'), '')\n }\n\n function onFocus({ target }: React.FocusEvent<HTMLInputElement>) {\n target.focus()\n target.select()\n }\n}\n\nexport default MultiInputMask\n\nMultiInputMask._formElement = true\nMultiInputMask._supportsSpacingProps = true\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,wBAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,WAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,UAAA,GAAAJ,sBAAA,CAAAF,OAAA;AAEA,IAAAO,cAAA,GAAAP,OAAA;AAEA,IAAAQ,oBAAA,GAAAR,OAAA;AACA,IAAAS,gBAAA,GAAAT,OAAA;AAA4D,MAAAU,SAAA;EAAAC,UAAA;AAAA,SAAAT,uBAAAU,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAjB,wBAAAa,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAW,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAAA,SAAAI,yBAAAF,MAAA,EAAAG,QAAA,QAAAH,MAAA,yBAAAJ,MAAA,GAAAQ,6BAAA,CAAAJ,MAAA,EAAAG,QAAA,OAAAhB,GAAA,EAAAU,CAAA,MAAAb,MAAA,CAAAqB,qBAAA,QAAAC,gBAAA,GAAAtB,MAAA,CAAAqB,qBAAA,CAAAL,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAS,gBAAA,CAAAP,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAAmB,gBAAA,CAAAT,CAAA,OAAAM,QAAA,CAAAI,OAAA,CAAApB,GAAA,uBAAAH,MAAA,CAAAI,SAAA,CAAAoB,oBAAA,CAAAlB,IAAA,CAAAU,MAAA,EAAAb,GAAA,aAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,cAAAS,MAAA;AAAA,SAAAQ,8BAAAJ,MAAA,EAAAG,QAAA,QAAAH,MAAA,yBAAAJ,MAAA,WAAAa,UAAA,GAAAzB,MAAA,CAAA0B,IAAA,CAAAV,MAAA,OAAAb,GAAA,EAAAU,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAY,UAAA,CAAAV,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAAsB,UAAA,CAAAZ,CAAA,OAAAM,QAAA,CAAAI,OAAA,CAAApB,GAAA,kBAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,YAAAS,MAAA;AAyE5D,SAASe,cAAcA,CAAAC,IAAA,EAcI;EAAA,IAde;MACxCC,KAAK;MACLC,cAAc,GAAG,YAAY;MAC7BC,MAAM;MACNC,SAAS;MACTC,QAAQ,EAAEC,gBAAgB;MAC1BC,QAAQ;MACRC,MAAM;MACNC,WAAW;MACXC,MAAM,EAAEC,aAAa;MACrBC,SAAS;MACTC,OAAO;MACPC;IAEsB,CAAC,GAAAd,IAAA;IADpBe,KAAK,GAAAzB,wBAAA,CAAAU,IAAA,EAAA3C,SAAA;EAER,MAAM,CAACqD,MAAM,EAAEL,QAAQ,CAAC,GAAG,IAAAW,uCAAkB,EAAC;IAC5Cb,MAAM;IACNQ,aAAa;IACbM,QAAQ,EAAEX;EACZ,CAAC,CAAC;EAEF,MAAMY,SAAS,GAAG,IAAAC,aAAM,EAA4C,EAAE,CAAC;EAEvE,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,gCAAuB,EAC3CH,SAAS,CAACI,OAAO,EACjBC,eAAe,CAAC,CAClB,CAAC;EAED,MAAMC,cAAc,GAAGvB,KAAK,GAAG,UAAU,GAAG,KAAK;EAEjD,OACExD,MAAA,CAAAgB,OAAA,CAAAgE,aAAA,CAACD,cAAc;IACbZ,SAAS,EAAE,IAAAc,mBAAU,EACnB,gCAAgC,EAGhC,IAAAC,mCAAoB,EAACZ,KAAK,CAAC,EAF3Bb,cAAc,KAAK,YAAY,IAC7B,4CAEJ;EAAE,GAEDD,KAAK,IACJxD,MAAA,CAAAgB,OAAA,CAAAgE,aAAA,CAACxE,UAAA,CAAAQ,OAAS;IACRmD,SAAS,EACP,8BAA8B,IAC9BV,cAAc,KAAK,YAAY,oDAE/B;IACF0B,OAAO,EAAC,QAAQ;IAChBC,OAAO,EAAEC,aAAc;IACvBvB,QAAQ,EAAEA,QAAS;IACnBwB,QAAQ,EAAE7B,cAAc,KAAK;EAAW,GAGxCzD,MAAA,CAAAgB,OAAA,CAAAgE,aAAA,eAAOxB,KAAY,CACV,CACZ,EACDxD,MAAA,CAAAgB,OAAA,CAAAgE,aAAA,CAAC7E,MAAA,CAAAa,OAAK,EAAAoB,QAAA,KACAkC,KAAK;IACTH,SAAS,EAAE,IAAAc,mBAAU,EAAC,sBAAsB,EAAEd,SAAS,CAAE;IACzDL,QAAQ,EAAEA,QAAS;IACnBC,MAAM,EAAEA,MAAO;IACfwB,YAAY,EAAEvB,WAAY;IAC1BK,MAAM,EAAEA,MAAO;IACfD,OAAO,EAAEA,OAAQ;IACjBoB,aAAa,EAAE9B,MAAM,CAAC+B,GAAG,CAAC,CAACC,KAAK,EAAEC,KAAK,KACrC3F,MAAA,CAAAgB,OAAA,CAAAgE,aAAA,CAACY,mBAAmB,EAAAxD,QAAA;MAClBN,GAAG,EAAE4D,KAAK,CAACG;IAAG,GACVH,KAAK;MACTI,KAAK,EAAE7B,MAAM,CAACyB,KAAK,CAACG,EAAE,CAAE;MACxBlC,SAAS,EAAEgC,KAAK,KAAKjC,MAAM,CAAChB,MAAM,GAAG,CAAC,GAAGiB,SAAS,GAAGoC,SAAU;MAC/DpB,SAAS,EAAEA,SAAU;MACrBf,QAAQ,EAAEA,QAAS;MACnBE,QAAQ,EAAEA,QAAS;MACnBkC,QAAQ,EAAEC;IAAY,EACvB,CACF;EAAE,EACJ,CACa,CAAC;EAInB,SAASZ,aAAaA,CAAA,EAAG;IACvB,IAAIvB,QAAQ,EAAE;MACZ;IACF;IAEA,MAAMoC,UAAU,GAAGzB,SAAS,CAACI,OAAO,CAAC,CAAC,CAAC,CAACA,OAAO;IAE/CqB,UAAU,CAACC,KAAK,CAAC,CAAC;IAClBD,UAAU,CAACE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;EACpC;EAGA,SAASH,WAAWA,CAACI,GAAQ,EAAE;IAC7B,MAAML,QAAQ,GAAGK,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEL,QAAQ;IAE9B,IAAIA,QAAQ,IAAI,CAACvB,SAAS,CAACI,OAAO,CAACyB,QAAQ,CAACN,QAAQ,CAAC,EAAE;MACrDvB,SAAS,CAACI,OAAO,CAAC0B,IAAI,CAACP,QAAQ,CAAC;IAClC;EACF;EAEA,SAASlB,eAAeA,CAAA,EAAG;IACzB,MAAM0B,WAAW,GAAGC,cAAc,CAAC,CAAC;IAGpC,IAAID,WAAW,CAACE,IAAI,KAAK,CAAC,EAAE;MAC1B,MAAMC,OAAO,GAAGH,WAAW,CAACvC,MAAM,CAAC,CAAC,CAAC2C,IAAI,CAAC,CAAC,CAACd,KAAK,CAACe,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;MACpE,OAAO,IAAIC,MAAM,CAACH,OAAO,CAAC;IAC5B;IAIA,OAAOjD,MAAM,CAACqD,MAAM,CAClB,CAAC1D,IAAI,EAAA2D,KAAA,KAAmB;MAAA,IAAjB;QAAEnB,EAAE;QAAEoB;MAAK,CAAC,GAAAD,KAAA;MACjB3D,IAAI,CAACwC,EAAE,CAAC,GAAGoB,IAAI;MAEf,OAAO5D,IAAI;IACb,CAAC,EACD,CAAC,CACH,CAAC;EACH;EAEA,SAASoD,cAAcA,CAAA,EAAG;IACxB,MAAMS,KAAK,GAAG,IAAIC,GAAG,CAAC,CAAC;IAEvBzD,MAAM,CAAC0D,OAAO,CAAE1B,KAAK,IAAK;MACxBA,KAAK,CAACuB,IAAI,CAACG,OAAO,CAAET,OAAO,IAAKO,KAAK,CAACG,GAAG,CAACC,MAAM,CAACX,OAAO,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC;IAEF,OAAOO,KAAK;EACd;AACF;AAmBA,SAAStB,mBAAmBA,CAAA2B,KAAA,EAYI;EAAA,IAZe;MAC7C1B,EAAE;MACFrC,KAAK;MACLsC,KAAK;MACLmB,IAAI;MACJO,oBAAoB;MACpB7D,SAAS;MACTG,QAAQ;MACRkC,QAAQ;MACRrB,SAAS;MACTf;IAE2B,CAAC,GAAA2D,KAAA;IADzBE,UAAU,GAAA5E,wBAAA,CAAA0E,KAAA,EAAA1G,UAAA;EAEb,MAAM6G,QAAQ,GAAI,GAAE7B,EAAG,IAAG,IAAA8B,6BAAY,EAAC,CAAE,EAAC;EAE1C,OACE3H,MAAA,CAAAgB,OAAA,CAAAgE,aAAA,CAAAhF,MAAA,CAAAgB,OAAA,CAAA4G,QAAA,QACE5H,MAAA,CAAAgB,OAAA,CAAAgE,aAAA,CAAC3E,SAAA,CAAAW,OAAQ,EAAAoB,QAAA;IACPyD,EAAE,EAAG,GAAE6B,QAAS,SAAS;IACzB,gBAAc7B,EAAG;IACjB1B,SAAS,oDAGP2B,KAAK,kDACL;IACFhC,QAAQ,EAAEA,QAAS;IACnB4C,IAAI,EAAEO,IAAI,CAACvE,MAAO;IAClBuE,IAAI,EAAEA,IAAK;IACXnB,KAAK,EAAEA,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAG;IACnB+B,eAAe,EAAEL,oBAAqB;IACtCM,KAAK,EAAE,IAAK;IACZC,QAAQ,EAAE,IAAK;IACfC,iBAAiB,EAAE,KAAM;IACzB,mBAAkB,GAAEN,QAAS,SAAS;IACtCrB,GAAG,EAAEL,QAAS;IACdrB,SAAS,EAAEA,SAAU;IACrBsD,OAAO,EAAEA,OAAQ;IACjBrE,QAAQ,EAAGsE,KAAK,IAAK;MACnBtE,QAAQ,CACNiC,EAAE,EACFsC,iBAAiB,CAACD,KAAK,CAAC3F,MAAM,CAACuD,KAAK,EAAE0B,oBAAoB,CAC5D,CAAC;IACH;EAAE,GACEC,UAAU,CACf,CAAC,EACFzH,MAAA,CAAAgB,OAAA,CAAAgE,aAAA;IACEa,EAAE,EAAG,GAAE6B,QAAS,SAAS;IACzBU,OAAO,EAAG,GAAEV,QAAS,SAAS;IAC9BW,MAAM;EAAA,GAEL7E,KACI,CAAC,EACPG,SAAS,IACR3D,MAAA,CAAAgB,OAAA,CAAAgE,aAAA;IACE,mBAAW;IACXb,SAAS,EACP,iCAAiC,IACjC2B,KAAK;EACL,GAEDnC,SACG,CAER,CAAC;EAGL,SAASwE,iBAAiBA,CAACrC,KAAa,EAAEwC,WAAmB,EAAE;IAC7D,OAAOxC,KAAK,CAACe,OAAO,CAACC,MAAM,CAACwB,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;EACrD;EAEA,SAASL,OAAOA,CAAAM,KAAA,EAAiD;IAAA,IAAhD;MAAEhG;IAA2C,CAAC,GAAAgG,KAAA;IAC7DhG,MAAM,CAAC4D,KAAK,CAAC,CAAC;IACd5D,MAAM,CAACiG,MAAM,CAAC,CAAC;EACjB;AACF;AAAC,IAAAC,QAAA,GAEcnF,cAAc;AAAAoF,OAAA,CAAA1H,OAAA,GAAAyH,QAAA;AAE7BnF,cAAc,CAACqF,YAAY,GAAG,IAAI;AAClCrF,cAAc,CAACsF,qBAAqB,GAAG,IAAI"}
@@ -18,11 +18,10 @@
18
18
  display: inline-flex;
19
19
  flex-flow: row wrap;
20
20
  align-items: baseline;
21
- grid-gap: 1rem;
22
21
  gap: 1rem;
23
22
  }
24
23
 
25
- .dnb-multi-input-mask__input {
24
+ .dnb-multi-input-mask__input.dnb-input__input {
26
25
  display: inline-block;
27
26
  width: auto;
28
27
  margin: 0;
@@ -36,10 +35,10 @@
36
35
  overflow: visible;
37
36
  white-space: nowrap;
38
37
  }
39
- .dnb-multi-input-mask__input:first-of-type {
38
+ .dnb-multi-input-mask__input.dnb-input__input:first-of-type {
40
39
  padding-left: 0.5rem;
41
40
  }
42
- .dnb-multi-input-mask__input:last-of-type {
41
+ .dnb-multi-input-mask__input.dnb-input__input:last-of-type {
43
42
  padding-right: 0.5rem;
44
43
  }
45
44
 
@@ -1 +1 @@
1
- .dnb-input-masked--guide{font-family:var(--font-family-monospace)}.dnb-multi-input-mask__fieldset{border:none;margin:0;padding:0}.dnb-multi-input-mask__fieldset--horizontal{grid-gap:1rem;align-items:baseline;display:inline-flex;flex-flow:row wrap;gap:1rem}.dnb-multi-input-mask__input{background:transparent;border:none;display:inline-block;font-family:var(--font-family-monospace);margin:0;outline:none;overflow:visible;padding:0 .125rem;text-align:center;transform:translateY(0);white-space:nowrap;width:auto}.dnb-multi-input-mask__input:first-of-type{padding-left:.5rem}.dnb-multi-input-mask__input:last-of-type{padding-right:.5rem}.dnb-multi-input-mask{width:-moz-fit-content;width:fit-content}.dnb-multi-input-mask:not(.dnb-input__status--error) .dnb-multi-input-mask__delimiter,.dnb-multi-input-mask:not(.dnb-input__status--error) .dnb-multi-input-mask__input{color:var(--color-black-55)}.dnb-multi-input-mask:not(.dnb-input__status--error) .dnb-multi-input-mask__delimiter--highlight,.dnb-multi-input-mask:not(.dnb-input__status--error) .dnb-multi-input-mask__input--highlight{color:var(--color-black)}.dnb-multi-input-mask .dnb-input__shell:focus-within{box-shadow:0 0 0 var(--input-border-width--focus) var(--input-border-color--hover)}.dnb-multi-input-mask__legend--horizontal.dnb-form-label{display:contents}.dnb-multi-input-mask__legend:not([disabled]):hover~.dnb-multi-input-mask .dnb-input__shell{box-shadow:0 0 0 var(--input-border-width--focus) var(--input-border-color--hover)}
1
+ .dnb-input-masked--guide{font-family:var(--font-family-monospace)}.dnb-multi-input-mask__fieldset{border:none;margin:0;padding:0}.dnb-multi-input-mask__fieldset--horizontal{align-items:baseline;display:inline-flex;flex-flow:row wrap;gap:1rem}.dnb-multi-input-mask__input.dnb-input__input{background:transparent;border:none;display:inline-block;font-family:var(--font-family-monospace);margin:0;outline:none;overflow:visible;padding:0 .125rem;text-align:center;transform:translateY(0);white-space:nowrap;width:auto}.dnb-multi-input-mask__input.dnb-input__input:first-of-type{padding-left:.5rem}.dnb-multi-input-mask__input.dnb-input__input:last-of-type{padding-right:.5rem}.dnb-multi-input-mask{width:-moz-fit-content;width:fit-content}.dnb-multi-input-mask:not(.dnb-input__status--error) .dnb-multi-input-mask__delimiter,.dnb-multi-input-mask:not(.dnb-input__status--error) .dnb-multi-input-mask__input{color:var(--color-black-55)}.dnb-multi-input-mask:not(.dnb-input__status--error) .dnb-multi-input-mask__delimiter--highlight,.dnb-multi-input-mask:not(.dnb-input__status--error) .dnb-multi-input-mask__input--highlight{color:var(--color-black)}.dnb-multi-input-mask .dnb-input__shell:focus-within{box-shadow:0 0 0 var(--input-border-width--focus) var(--input-border-color--hover)}.dnb-multi-input-mask__legend--horizontal.dnb-form-label{display:contents}.dnb-multi-input-mask__legend:not([disabled]):hover~.dnb-multi-input-mask .dnb-input__shell{box-shadow:0 0 0 var(--input-border-width--focus) var(--input-border-color--hover)}
@@ -24,7 +24,7 @@
24
24
  }
25
25
  }
26
26
 
27
- .dnb-multi-input-mask__input {
27
+ .dnb-multi-input-mask__input.dnb-input__input {
28
28
  display: inline-block;
29
29
  width: auto;
30
30
 
@@ -43,7 +43,7 @@ export interface formatOptionParams {
43
43
  /** How many decimals */
44
44
  decimals?: number;
45
45
 
46
- /** Do not round the retuned number */
46
+ /** Do not round the returned number */
47
47
  omit_rounding?: boolean;
48
48
 
49
49
  /** phone type */
@@ -46,7 +46,6 @@
46
46
  align-items: flex-end;
47
47
  }
48
48
  .dnb-pagination__bar__inner {
49
- grid-gap: 0.5rem;
50
49
  gap: 0.5rem;
51
50
  }
52
51
  .dnb-pagination__button {
@@ -1 +1 @@
1
- .dnb-pagination{display:flex;flex-direction:column-reverse}.dnb-pagination__bar,.dnb-pagination__bar__inner,.dnb-pagination__loadbar{align-items:center;display:flex;flex-wrap:wrap}.dnb-pagination__loadbar,.dnb-pagination__page{min-height:6rem}.dnb-pagination__bar{margin-bottom:1rem;margin-top:1rem}.dnb-pagination--left .dnb-pagination__bar{justify-content:flex-start}.dnb-pagination--center .dnb-pagination__bar{justify-content:center}@media screen and (max-width:40em){.dnb-pagination--center .dnb-pagination__bar{justify-content:flex-start}}.dnb-pagination--right .dnb-pagination__bar{justify-content:flex-end}.dnb-pagination__bar__wrapper{display:flex;flex-flow:column-reverse wrap}.dnb-pagination--center .dnb-pagination__bar__wrapper{align-items:center}.dnb-pagination--right .dnb-pagination__bar__wrapper{align-items:flex-end}.dnb-pagination__bar__inner{grid-gap:.5rem;gap:.5rem}.dnb-pagination__button{max-width:3.5rem}.dnb-pagination__button--large-number{max-width:unset}.dnb-pagination__loadbar{align-items:center;cursor:default;display:flex;justify-content:center}.dnb-pagination__indicator{cursor:default;display:flex;flex-direction:column;justify-content:center;min-height:inherit}.dnb-pagination__indicator__inner{align-items:center;animation:show-page .3s ease-out forwards;display:flex;flex-direction:column;justify-content:center}.dnb-pagination__dots{align-self:flex-end}.dnb-pagination__marker{height:1px;margin:-1px 0 0 -1px;overflow:hidden;pointer-events:none;position:relative;width:1px}.dnb-pagination__marker td,.dnb-pagination__marker__inner{height:1px;opacity:0;padding:0!important;width:1px}.dnb-pagination__bar__skip{margin-top:.5rem}.dnb-pagination__bar__skip .dnb-button:first-of-type{margin-right:1.5rem}@keyframes show-page{0%{opacity:.1;transform:translate3d(0,-8px,0)}to{opacity:1;transform:translateZ(0)}}
1
+ .dnb-pagination{display:flex;flex-direction:column-reverse}.dnb-pagination__bar,.dnb-pagination__bar__inner,.dnb-pagination__loadbar{align-items:center;display:flex;flex-wrap:wrap}.dnb-pagination__loadbar,.dnb-pagination__page{min-height:6rem}.dnb-pagination__bar{margin-bottom:1rem;margin-top:1rem}.dnb-pagination--left .dnb-pagination__bar{justify-content:flex-start}.dnb-pagination--center .dnb-pagination__bar{justify-content:center}@media screen and (max-width:40em){.dnb-pagination--center .dnb-pagination__bar{justify-content:flex-start}}.dnb-pagination--right .dnb-pagination__bar{justify-content:flex-end}.dnb-pagination__bar__wrapper{display:flex;flex-flow:column-reverse wrap}.dnb-pagination--center .dnb-pagination__bar__wrapper{align-items:center}.dnb-pagination--right .dnb-pagination__bar__wrapper{align-items:flex-end}.dnb-pagination__bar__inner{gap:.5rem}.dnb-pagination__button{max-width:3.5rem}.dnb-pagination__button--large-number{max-width:unset}.dnb-pagination__loadbar{align-items:center;cursor:default;display:flex;justify-content:center}.dnb-pagination__indicator{cursor:default;display:flex;flex-direction:column;justify-content:center;min-height:inherit}.dnb-pagination__indicator__inner{align-items:center;animation:show-page .3s ease-out forwards;display:flex;flex-direction:column;justify-content:center}.dnb-pagination__dots{align-self:flex-end}.dnb-pagination__marker{height:1px;margin:-1px 0 0 -1px;overflow:hidden;pointer-events:none;position:relative;width:1px}.dnb-pagination__marker td,.dnb-pagination__marker__inner{height:1px;opacity:0;padding:0!important;width:1px}.dnb-pagination__bar__skip{margin-top:.5rem}.dnb-pagination__bar__skip .dnb-button:first-of-type{margin-right:1.5rem}@keyframes show-page{0%{opacity:.1;transform:translate3d(0,-8px,0)}to{opacity:1;transform:translateZ(0)}}
@@ -49,10 +49,7 @@
49
49
  }
50
50
  .dnb-progress-indicator__circular svg {
51
51
  position: absolute;
52
- top: 0;
53
- right: 0;
54
- bottom: 0;
55
- left: 0;
52
+ inset: 0;
56
53
  width: 100%;
57
54
  height: 100%;
58
55
  }
@@ -1 +1 @@
1
- .dnb-progress-indicator{--progress-indicator-timing:cubic-bezier(0.5,0,0.5,0.99);--progress-indicator-circular-circle:88;--progress-indicator-circular-circle-offset--min:88;--progress-indicator-circular-circle-offset--max:1;--progress-indicator-circular-background-color:grey;--progress-indicator-circular-bar-color:var(--color-black);--progress-indicator-linear-background-color:grey;--progress-indicator-linear-bar-color:var(--color-black);align-items:center;display:inline-flex;position:relative}.dnb-progress-indicator--vertical{flex-direction:column}.dnb-progress-indicator--horizontal{justify-content:center}.dnb-progress-indicator__label{display:inline-flex}.dnb-progress-indicator__label .dnb-p{align-self:center}.dnb-spacing .dnb-progress-indicator .dnb-p,.dnb-spacing .dnb-progress-indicator .dnb-p:not([class*=dnb-space]){margin:0}.dnb-progress-indicator--horizontal .dnb-progress-indicator__label{margin:0 1rem}.dnb-progress-indicator--vertical .dnb-progress-indicator__label{margin-top:.5rem}.dnb-progress-indicator__circular{height:2rem;position:relative;transform:rotate(-90deg);width:2rem}.dnb-progress-indicator__circular svg{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.dnb-progress-indicator__circular__line{animation-delay:.2s;animation-duration:2s;animation-iteration-count:infinite;animation-timing-function:var(--progress-indicator-timing)}.dnb-progress-indicator__circular__line.background,.dnb-progress-indicator__circular__line.light{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}.dnb-progress-indicator__circular__line.light{animation-name:progress-indicator-circular-line-light}.dnb-progress-indicator__circular__line.dark,.dnb-progress-indicator__circular__line.light{stroke-dasharray:var(--progress-indicator-circular-circle),var(--progress-indicator-circular-circle)}.dnb-progress-indicator__circular__line.dark{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min);animation-name:progress-indicator-circular-line-dark}.dnb-progress-indicator__circular__line.paused{animation-play-state:paused}.dnb-progress-indicator__circular--has-progress-value .dnb-progress-indicator__circular__line.dark{transition:stroke-dashoffset .6s var(--progress-indicator-timing)}.dnb-progress-indicator__circular__circle{stroke-linecap:round}.dnb-progress-indicator__circular__line.light .dnb-progress-indicator__circular__circle{stroke:var(--progress-indicator-circular-background-color)}.dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke:var(--progress-indicator-circular-bar-color)}.dnb-progress-indicator__circular--small{height:1rem;width:1rem}.dnb-progress-indicator__circular--medium{height:1.5rem;width:1.5rem}.dnb-progress-indicator__circular--large{height:3.5rem;width:3.5rem}.dnb-progress-indicator__circular--huge{height:20rem;width:20rem}.dnb-progress-indicator__circular--small .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.1}.dnb-progress-indicator__circular--medium .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.3}.dnb-progress-indicator__circular--default .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.5}.dnb-progress-indicator__circular--large .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.7}.dnb-progress-indicator__circular--huge .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.9}.dnb-progress-indicator__linear{background-color:var(--progress-indicator-linear-background-color);border-radius:.25rem;height:.5rem;overflow:hidden;position:relative;width:100%;will-change:transform}.dnb-progress-indicator__linear__bar{background-color:var(--progress-indicator-linear-bar-color);border-radius:inherit;bottom:0;left:0;position:absolute;top:0;transform-origin:left;width:100%}.dnb-progress-indicator__linear__bar-transition{transition:transform .2s linear}.dnb-progress-indicator__linear__bar1-animation{animation:progress-indicator-linear-bar-1 2.1s cubic-bezier(.65,.815,.735,.395) infinite;width:auto}.dnb-progress-indicator__linear__bar2-animation{animation:progress-indicator-linear-bar-2 2.1s cubic-bezier(.165,.84,.44,1) 1.15s infinite;width:auto}.dnb-progress-indicator__linear--small{border-radius:.125rem;height:.25rem}.dnb-progress-indicator__linear--medium{border-radius:.5rem;height:1rem}.dnb-progress-indicator__linear--large{border-radius:.75rem;height:1.5rem}.dnb-progress-indicator__linear--huge{border-radius:1rem;height:2rem}html[data-visual-test] .dnb-progress-indicator__linear__bar1-animation{animation-duration:0ms;animation-iteration-count:0;left:-35%;right:100%}html[data-visual-test] .dnb-progress-indicator__linear__bar2-animation{animation-duration:0ms;animation-iteration-count:0;left:-200%;right:100%}.dnb-progress-indicator,.dnb-progress-indicator--visible{animation:progress-indicator-fade-in .2s ease-out 1 forwards;opacity:0}.dnb-progress-indicator--complete:not(.dnb-progress-indicator--visible){animation:progress-indicator-fade-out .6s ease-out 1 forwards}html[data-visual-test] .dnb-progress-indicator{animation-duration:0ms;opacity:1}.dnb-progress-indicator--no-animation{animation-duration:0ms}html[data-visual-test] .dnb-progress-indicator__bar-transition{transition:none}.dnb-progress-indicator--full-width{min-width:1rem;width:100%}@keyframes progress-indicator-fade-in{0%{opacity:0}to{opacity:1}}@keyframes progress-indicator-fade-out{0%{opacity:1}to{opacity:0}}@keyframes progress-indicator-circular-line-light{0%{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}50%{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}to{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}}@keyframes progress-indicator-circular-line-dark{0%{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}50%{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}to{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}}@keyframes progress-indicator-linear-bar-1{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes progress-indicator-linear-bar-2{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}
1
+ .dnb-progress-indicator{--progress-indicator-timing:cubic-bezier(0.5,0,0.5,0.99);--progress-indicator-circular-circle:88;--progress-indicator-circular-circle-offset--min:88;--progress-indicator-circular-circle-offset--max:1;--progress-indicator-circular-background-color:grey;--progress-indicator-circular-bar-color:var(--color-black);--progress-indicator-linear-background-color:grey;--progress-indicator-linear-bar-color:var(--color-black);align-items:center;display:inline-flex;position:relative}.dnb-progress-indicator--vertical{flex-direction:column}.dnb-progress-indicator--horizontal{justify-content:center}.dnb-progress-indicator__label{display:inline-flex}.dnb-progress-indicator__label .dnb-p{align-self:center}.dnb-spacing .dnb-progress-indicator .dnb-p,.dnb-spacing .dnb-progress-indicator .dnb-p:not([class*=dnb-space]){margin:0}.dnb-progress-indicator--horizontal .dnb-progress-indicator__label{margin:0 1rem}.dnb-progress-indicator--vertical .dnb-progress-indicator__label{margin-top:.5rem}.dnb-progress-indicator__circular{height:2rem;position:relative;transform:rotate(-90deg);width:2rem}.dnb-progress-indicator__circular svg{height:100%;inset:0;position:absolute;width:100%}.dnb-progress-indicator__circular__line{animation-delay:.2s;animation-duration:2s;animation-iteration-count:infinite;animation-timing-function:var(--progress-indicator-timing)}.dnb-progress-indicator__circular__line.background,.dnb-progress-indicator__circular__line.light{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}.dnb-progress-indicator__circular__line.light{animation-name:progress-indicator-circular-line-light}.dnb-progress-indicator__circular__line.dark,.dnb-progress-indicator__circular__line.light{stroke-dasharray:var(--progress-indicator-circular-circle),var(--progress-indicator-circular-circle)}.dnb-progress-indicator__circular__line.dark{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min);animation-name:progress-indicator-circular-line-dark}.dnb-progress-indicator__circular__line.paused{animation-play-state:paused}.dnb-progress-indicator__circular--has-progress-value .dnb-progress-indicator__circular__line.dark{transition:stroke-dashoffset .6s var(--progress-indicator-timing)}.dnb-progress-indicator__circular__circle{stroke-linecap:round}.dnb-progress-indicator__circular__line.light .dnb-progress-indicator__circular__circle{stroke:var(--progress-indicator-circular-background-color)}.dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke:var(--progress-indicator-circular-bar-color)}.dnb-progress-indicator__circular--small{height:1rem;width:1rem}.dnb-progress-indicator__circular--medium{height:1.5rem;width:1.5rem}.dnb-progress-indicator__circular--large{height:3.5rem;width:3.5rem}.dnb-progress-indicator__circular--huge{height:20rem;width:20rem}.dnb-progress-indicator__circular--small .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.1}.dnb-progress-indicator__circular--medium .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.3}.dnb-progress-indicator__circular--default .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.5}.dnb-progress-indicator__circular--large .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.7}.dnb-progress-indicator__circular--huge .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle{stroke-width:3.9}.dnb-progress-indicator__linear{background-color:var(--progress-indicator-linear-background-color);border-radius:.25rem;height:.5rem;overflow:hidden;position:relative;width:100%;will-change:transform}.dnb-progress-indicator__linear__bar{background-color:var(--progress-indicator-linear-bar-color);border-radius:inherit;bottom:0;left:0;position:absolute;top:0;transform-origin:left;width:100%}.dnb-progress-indicator__linear__bar-transition{transition:transform .2s linear}.dnb-progress-indicator__linear__bar1-animation{animation:progress-indicator-linear-bar-1 2.1s cubic-bezier(.65,.815,.735,.395) infinite;width:auto}.dnb-progress-indicator__linear__bar2-animation{animation:progress-indicator-linear-bar-2 2.1s cubic-bezier(.165,.84,.44,1) 1.15s infinite;width:auto}.dnb-progress-indicator__linear--small{border-radius:.125rem;height:.25rem}.dnb-progress-indicator__linear--medium{border-radius:.5rem;height:1rem}.dnb-progress-indicator__linear--large{border-radius:.75rem;height:1.5rem}.dnb-progress-indicator__linear--huge{border-radius:1rem;height:2rem}html[data-visual-test] .dnb-progress-indicator__linear__bar1-animation{animation-duration:0ms;animation-iteration-count:0;left:-35%;right:100%}html[data-visual-test] .dnb-progress-indicator__linear__bar2-animation{animation-duration:0ms;animation-iteration-count:0;left:-200%;right:100%}.dnb-progress-indicator,.dnb-progress-indicator--visible{animation:progress-indicator-fade-in .2s ease-out 1 forwards;opacity:0}.dnb-progress-indicator--complete:not(.dnb-progress-indicator--visible){animation:progress-indicator-fade-out .6s ease-out 1 forwards}html[data-visual-test] .dnb-progress-indicator{animation-duration:0ms;opacity:1}.dnb-progress-indicator--no-animation{animation-duration:0ms}html[data-visual-test] .dnb-progress-indicator__bar-transition{transition:none}.dnb-progress-indicator--full-width{min-width:1rem;width:100%}@keyframes progress-indicator-fade-in{0%{opacity:0}to{opacity:1}}@keyframes progress-indicator-fade-out{0%{opacity:1}to{opacity:0}}@keyframes progress-indicator-circular-line-light{0%{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}50%{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}to{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}}@keyframes progress-indicator-circular-line-dark{0%{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--min)}50%{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}to{stroke-dashoffset:var(--progress-indicator-circular-circle-offset--max)}}@keyframes progress-indicator-linear-bar-1{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes progress-indicator-linear-bar-2{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}
@@ -20,7 +20,7 @@ var _RadioGroupContext = _interopRequireDefault(require("./RadioGroupContext"));
20
20
  var _Context = _interopRequireDefault(require("../../shared/Context"));
21
21
  var _Suffix = _interopRequireDefault(require("../../shared/helpers/Suffix"));
22
22
  var _filterValidProps = require("../../shared/helpers/filterValidProps");
23
- var _AlignmentHelper, _span, _span2;
23
+ var _AlignmentHelper, _span;
24
24
  const _excluded = ["status", "status_state", "status_props", "status_no_animation", "globalStatus", "suffix", "element", "label", "label_sr_only", "label_position", "size", "readOnly", "skeleton", "className", "class", "id", "group", "value", "checked", "disabled", "children", "on_change", "on_state_update", "innerRef"];
25
25
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
26
  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; }
@@ -166,12 +166,17 @@ class Radio extends _react.default.PureComponent {
166
166
  this._refInput.current.focus();
167
167
  }
168
168
  });
169
- this._refInput = props.innerRef || _react.default.createRef();
169
+ this._refInput = _react.default.createRef();
170
170
  this._id = props.id || (0, _componentHelper.makeUniqueId)();
171
171
  this.state = {
172
172
  _listenForPropChanges: true
173
173
  };
174
174
  }
175
+ componentDidMount() {
176
+ if (this.props.innerRef) {
177
+ typeof this.props.innerRef === 'function' ? this.props.innerRef(this._refInput.current) : this.props.innerRef.current = this._refInput.current;
178
+ }
179
+ }
175
180
  render() {
176
181
  return _react.default.createElement(_Context.default.Consumer, null, context => {
177
182
  const contextProps = (0, _componentHelper.extendPropsWithContextInClassComponent)(this.props, Radio.defaultProps, this.context);
@@ -295,10 +300,10 @@ class Radio extends _react.default.PureComponent {
295
300
  }), _span || (_span = _react.default.createElement("span", {
296
301
  className: "dnb-radio__focus",
297
302
  "aria-hidden": true
298
- })), _span2 || (_span2 = _react.default.createElement("span", {
299
- className: "dnb-radio__dot",
303
+ })), _react.default.createElement("span", {
304
+ className: (0, _classnames.default)('dnb-radio__dot', (0, _SkeletonHelper.createSkeletonClass)('font', skeleton, this.context)),
300
305
  "aria-hidden": true
301
- }))), label_position !== 'left' && labelComp, suffix && _react.default.createElement(_Suffix.default, {
306
+ })), label_position !== 'left' && labelComp, suffix && _react.default.createElement(_Suffix.default, {
302
307
  className: "dnb-radio__suffix",
303
308
  id: id + '-suffix',
304
309
  context: props
@@ -332,7 +337,8 @@ _defineProperty(Radio, "defaultProps", {
332
337
  className: null,
333
338
  children: null,
334
339
  on_change: null,
335
- on_state_update: null
340
+ on_state_update: null,
341
+ innerRef: null
336
342
  });
337
343
  _defineProperty(Radio, "Group", _RadioGroup.default);
338
344
  _defineProperty(Radio, "parseChecked", state => /true|on/.test(String(state)));
@@ -359,7 +365,7 @@ process.env.NODE_ENV !== "production" ? Radio.propTypes = _objectSpread(_objectS
359
365
  attributes: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]),
360
366
  skeleton: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),
361
367
  readOnly: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),
362
- innerRef: _propTypes.default.object
368
+ innerRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
363
369
  }, _SpacingHelper.spacingPropTypes), {}, {
364
370
  class: _propTypes.default.string,
365
371
  className: _propTypes.default.string,
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_keycode","_componentHelper","_AlignmentHelper2","_SpacingHelper","_SkeletonHelper","_FormLabel","_FormStatus","_RadioGroup","_RadioGroupContext","_Context","_Suffix","_filterValidProps","_AlignmentHelper","_span","_span2","_excluded","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_extends","assign","bind","prototype","hasOwnProperty","call","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","Radio","React","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","dispatchCustomElementEvent","constructor","event","keycode","isInNoGroup","onChangeHandler","isContextGroupOrSingle","context","preventDefault","setState","_event","isTrue","readOnly","isPlainGroup","setTimeout","callOnChange","group","_ref","onChange","_refInput","current","focus","innerRef","createRef","_id","id","makeUniqueId","render","createElement","Consumer","contextProps","extendPropsWithContextInClassComponent","defaultProps","skeleton","pickFormElementProps","FormRow","formElement","status","status_state","status_props","status_no_animation","globalStatus","suffix","element","label","label_sr_only","label_position","size","className","class","_className","_group","_value","disabled","_disabled","children","on_change","on_state_update","rest","hasContext","name","showStatus","getStatusState","mainParams","classnames","createSpacingClasses","inputParams","role","type","combineDescribedBy","skeletonDOMAttributes","validateDOMAttributes","labelComp","forId","text","srOnly","Element","show","text_id","width_selector","no_animation","ref","onClick","onClickHandler","onKeyDown","onKeyDownHandler","createSkeletonClass","exports","RadioGroupContext","attributes","RadioGroup","test","process","env","NODE_ENV","propTypes","PropTypes","oneOfType","string","func","node","bool","oneOf","shape","message","spacingPropTypes","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/radio/Radio.js"],"sourcesContent":["/**\n * Web Radio Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport RadioGroup from './RadioGroup'\nimport RadioGroupContext from './RadioGroupContext'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\n\n/**\n * The radio component is our enhancement of the classic radio button.\n */\nexport default class Radio extends React.PureComponent {\n static contextType = RadioGroupContext\n\n static propTypes = {\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n label_position: PropTypes.oneOf(['left', 'right']),\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n element: PropTypes.node,\n group: PropTypes.string,\n size: PropTypes.oneOf(['default', 'medium', 'large']),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n value: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n innerRef: PropTypes.object,\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 label: null,\n label_sr_only: null,\n label_position: null,\n checked: null,\n disabled: null,\n id: null,\n size: null,\n element: 'input',\n group: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n value: '',\n attributes: null,\n readOnly: false,\n skeleton: null,\n class: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_state_update: null,\n }\n\n static Group = RadioGroup\n\n static parseChecked = (state) => /true|on/.test(String(state))\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (props.checked !== state._checked) {\n state.checked = Radio.parseChecked(props.checked)\n }\n }\n state._listenForPropChanges = true\n\n if (state.checked !== state.__checked) {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n checked: state.checked,\n })\n }\n\n state._checked = props.checked\n state.__checked = state.checked\n\n return state\n }\n\n constructor(props) {\n super(props)\n this._refInput = props.innerRef || React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this.state = {\n _listenForPropChanges: true,\n }\n }\n\n onKeyDownHandler = (event) => {\n const key = keycode(event)\n // only have key support if there is only a single radio\n if (this.isInNoGroup()) {\n switch (key) {\n case 'enter':\n this.onChangeHandler(event)\n break\n }\n } else if (this.isContextGroupOrSingle()) {\n switch (key) {\n case 'space':\n case 'enter': {\n const { value } = this.context\n if (value !== null && typeof value !== 'undefined') {\n event.preventDefault()\n }\n if (key === 'enter') {\n const checked = !this.state.checked\n this.setState({ checked, _listenForPropChanges: false })\n }\n break\n }\n }\n } else {\n // else we only use the native support, and don't want space support\n // because only arrow keys has to be used\n switch (key) {\n case 'space': {\n event.preventDefault()\n break\n }\n }\n }\n dispatchCustomElementEvent(this, 'on_key_down', { event })\n }\n\n onChangeHandler = (_event) => {\n const event = _event\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n const value = event.target.value\n const checked = !this.state.checked\n\n // delay in case we have a props group only\n if (this.isPlainGroup()) {\n // in case we have a false \"hasContext\" but a \"group\"\n // then we have to use a delay, to overwrite the uncontrolled state\n setTimeout(() => {\n this.setState({ checked, _listenForPropChanges: false }, () =>\n this.callOnChange({ value, checked, event })\n )\n }, 1)\n } else {\n this.setState({ checked, _listenForPropChanges: false })\n this.callOnChange({ value, checked, event })\n }\n }\n\n // only support on change if there is either:\n // 1. context group usage\n // 2. or a single, no group usage\n isContextGroupOrSingle = () =>\n typeof this.context.value !== 'undefined' && !this.props.group\n isPlainGroup = () =>\n typeof this.context.value === 'undefined' && this.props.group\n isInNoGroup = () =>\n typeof this.context.value === 'undefined' && !this.props.group\n\n onClickHandler = (event) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n // only have click support if there are more plain radio\n if (!this.isPlainGroup()) {\n return\n }\n const value = event.target.value\n const checked = event.target.checked\n this.callOnChange({ value, checked, event })\n }\n\n callOnChange = ({ value, checked, event }) => {\n const { group } = this.props\n if (this.context.onChange) {\n this.context.onChange({\n value,\n })\n }\n dispatchCustomElementEvent(this, 'on_change', {\n group,\n checked,\n value,\n event,\n })\n\n // help firefox and safari to have an correct state after a click\n if (this._refInput.current) {\n this._refInput.current.focus()\n }\n }\n\n render() {\n return (\n <Context.Consumer>\n {(context) => {\n // from internal context\n const contextProps = extendPropsWithContextInClassComponent(\n this.props,\n Radio.defaultProps,\n this.context\n )\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Radio.defaultProps,\n contextProps,\n { skeleton: context?.skeleton },\n // Deprecated – can be removed in v11\n pickFormElementProps(context.FormRow),\n pickFormElementProps(context.formElement),\n context.Radio\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n element,\n label,\n label_sr_only,\n label_position,\n size,\n readOnly,\n skeleton,\n className,\n class: _className,\n id: _id, // eslint-disable-line\n group: _group, // eslint-disable-line\n value: _value, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n disabled: _disabled, // eslint-disable-line\n children, // eslint-disable-line\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n innerRef, // eslint-disable-line\n\n ...rest\n } = props\n\n let { checked } = this.state\n let { value, group, disabled } = props // get it from context also\n\n const hasContext = typeof this.context.name !== 'undefined'\n\n if (hasContext) {\n if (typeof this.context.value !== 'undefined') {\n checked = this.context.value === value\n }\n group = this.context.name\n if (isTrue(this.context.disabled) && disabled !== false) {\n disabled = true\n }\n } else if (typeof rest.name !== 'undefined') {\n group = rest.name\n }\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-radio',\n status && `dnb-radio__status--${status_state}`,\n size && `dnb-radio--${size}`,\n label &&\n `dnb-radio--label-position-${label_position || 'right'}`,\n createSpacingClasses(props),\n className,\n _className\n ),\n }\n\n let inputParams = {\n role: hasContext || group ? 'radio' : null,\n type: hasContext || group ? 'radio' : 'checkbox', // overwriting the type\n }\n\n if (!group) {\n inputParams.type = 'checkbox'\n inputParams.role = 'radio' // breaks axe test\n }\n\n if (showStatus || suffix) {\n inputParams['aria-describedby'] = combineDescribedBy(\n inputParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n inputParams['aria-readonly'] = inputParams.readOnly = true\n }\n\n inputParams = Object.assign(inputParams, rest)\n\n skeletonDOMAttributes(inputParams, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, inputParams)\n\n const labelComp = label && (\n <FormLabel\n id={id + '-label'}\n forId={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n srOnly={label_sr_only}\n />\n )\n\n const Element = element || 'input'\n\n return (\n <span {...mainParams}>\n <span className=\"dnb-radio__order\">\n {label_position === 'left' && labelComp}\n\n <span className=\"dnb-radio__inner\">\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n width_selector={id + ', ' + id + '-label'}\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-radio__row\">\n <span className=\"dnb-radio__shell\">\n <Element\n type=\"radio\"\n value={value}\n id={id}\n name={group}\n className=\"dnb-radio__input\"\n checked={checked}\n aria-checked={\n this.isPlainGroup() ? undefined : checked\n }\n disabled={isTrue(disabled)}\n ref={this._refInput}\n {...inputParams}\n onChange={this.onChangeHandler}\n onClick={this.onClickHandler}\n onKeyDown={this.onKeyDownHandler}\n />\n\n <span\n className={classnames(\n 'dnb-radio__button',\n createSkeletonClass(\n 'shape',\n skeleton,\n this.context\n )\n )}\n aria-hidden\n />\n <span className=\"dnb-radio__focus\" aria-hidden />\n <span className=\"dnb-radio__dot\" aria-hidden />\n </span>\n\n {label_position !== 'left' && labelComp}\n\n {suffix && (\n <Suffix\n className=\"dnb-radio__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n </span>\n )\n }}\n </Context.Consumer>\n )\n }\n}\n\nRadio._formElement = true\nRadio._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"Radio.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_keycode","_componentHelper","_AlignmentHelper2","_SpacingHelper","_SkeletonHelper","_FormLabel","_FormStatus","_RadioGroup","_RadioGroupContext","_Context","_Suffix","_filterValidProps","_AlignmentHelper","_span","_excluded","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_extends","assign","bind","prototype","hasOwnProperty","call","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","Radio","React","PureComponent","getDerivedStateFromProps","props","state","_listenForPropChanges","checked","_checked","parseChecked","__checked","dispatchCustomElementEvent","constructor","event","keycode","isInNoGroup","onChangeHandler","isContextGroupOrSingle","context","preventDefault","setState","_event","isTrue","readOnly","isPlainGroup","setTimeout","callOnChange","group","_ref","onChange","_refInput","current","focus","createRef","_id","id","makeUniqueId","componentDidMount","innerRef","render","createElement","Consumer","contextProps","extendPropsWithContextInClassComponent","defaultProps","skeleton","pickFormElementProps","FormRow","formElement","status","status_state","status_props","status_no_animation","globalStatus","suffix","element","label","label_sr_only","label_position","size","className","class","_className","_group","_value","disabled","_disabled","children","on_change","on_state_update","rest","hasContext","name","showStatus","getStatusState","mainParams","classnames","createSpacingClasses","inputParams","role","type","combineDescribedBy","skeletonDOMAttributes","validateDOMAttributes","labelComp","forId","text","srOnly","Element","show","text_id","width_selector","no_animation","ref","onClick","onClickHandler","onKeyDown","onKeyDownHandler","createSkeletonClass","exports","RadioGroupContext","attributes","RadioGroup","test","process","env","NODE_ENV","propTypes","PropTypes","oneOfType","string","func","node","bool","oneOf","shape","message","spacingPropTypes","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/radio/Radio.js"],"sourcesContent":["/**\n * Web Radio Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n getStatusState,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\n\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport RadioGroup from './RadioGroup'\nimport RadioGroupContext from './RadioGroupContext'\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\n\n/**\n * The radio component is our enhancement of the classic radio button.\n */\nexport default class Radio extends React.PureComponent {\n static contextType = RadioGroupContext\n\n static propTypes = {\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n label_position: PropTypes.oneOf(['left', 'right']),\n checked: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n id: PropTypes.string,\n element: PropTypes.node,\n group: PropTypes.string,\n size: PropTypes.oneOf(['default', 'medium', 'large']),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n value: PropTypes.string,\n attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n\n ...spacingPropTypes,\n\n 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 label: null,\n label_sr_only: null,\n label_position: null,\n checked: null,\n disabled: null,\n id: null,\n size: null,\n element: 'input',\n group: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n value: '',\n attributes: null,\n readOnly: false,\n skeleton: null,\n class: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_state_update: null,\n\n innerRef: null,\n }\n\n static Group = RadioGroup\n\n static parseChecked = (state) => /true|on/.test(String(state))\n\n static getDerivedStateFromProps(props, state) {\n if (state._listenForPropChanges) {\n if (props.checked !== state._checked) {\n state.checked = Radio.parseChecked(props.checked)\n }\n }\n state._listenForPropChanges = true\n\n if (state.checked !== state.__checked) {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n checked: state.checked,\n })\n }\n\n state._checked = props.checked\n state.__checked = state.checked\n\n return state\n }\n\n constructor(props) {\n super(props)\n this._refInput = React.createRef()\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n this.state = {\n _listenForPropChanges: true,\n }\n }\n\n componentDidMount() {\n if (this.props.innerRef) {\n typeof this.props.innerRef === 'function'\n ? this.props.innerRef(this._refInput.current)\n : (this.props.innerRef.current = this._refInput.current)\n }\n }\n\n onKeyDownHandler = (event) => {\n const key = keycode(event)\n // only have key support if there is only a single radio\n if (this.isInNoGroup()) {\n switch (key) {\n case 'enter':\n this.onChangeHandler(event)\n break\n }\n } else if (this.isContextGroupOrSingle()) {\n switch (key) {\n case 'space':\n case 'enter': {\n const { value } = this.context\n if (value !== null && typeof value !== 'undefined') {\n event.preventDefault()\n }\n if (key === 'enter') {\n const checked = !this.state.checked\n this.setState({ checked, _listenForPropChanges: false })\n }\n break\n }\n }\n } else {\n // else we only use the native support, and don't want space support\n // because only arrow keys has to be used\n switch (key) {\n case 'space': {\n event.preventDefault()\n break\n }\n }\n }\n dispatchCustomElementEvent(this, 'on_key_down', { event })\n }\n\n onChangeHandler = (_event) => {\n const event = _event\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n const value = event.target.value\n const checked = !this.state.checked\n\n // delay in case we have a props group only\n if (this.isPlainGroup()) {\n // in case we have a false \"hasContext\" but a \"group\"\n // then we have to use a delay, to overwrite the uncontrolled state\n setTimeout(() => {\n this.setState({ checked, _listenForPropChanges: false }, () =>\n this.callOnChange({ value, checked, event })\n )\n }, 1)\n } else {\n this.setState({ checked, _listenForPropChanges: false })\n this.callOnChange({ value, checked, event })\n }\n }\n\n // only support on change if there is either:\n // 1. context group usage\n // 2. or a single, no group usage\n isContextGroupOrSingle = () =>\n typeof this.context.value !== 'undefined' && !this.props.group\n isPlainGroup = () =>\n typeof this.context.value === 'undefined' && this.props.group\n isInNoGroup = () =>\n typeof this.context.value === 'undefined' && !this.props.group\n\n onClickHandler = (event) => {\n if (isTrue(this.props.readOnly)) {\n return event.preventDefault()\n }\n // only have click support if there are more plain radio\n if (!this.isPlainGroup()) {\n return\n }\n const value = event.target.value\n const checked = event.target.checked\n this.callOnChange({ value, checked, event })\n }\n\n callOnChange = ({ value, checked, event }) => {\n const { group } = this.props\n if (this.context.onChange) {\n this.context.onChange({\n value,\n })\n }\n dispatchCustomElementEvent(this, 'on_change', {\n group,\n checked,\n value,\n event,\n })\n\n // help firefox and safari to have an correct state after a click\n if (this._refInput.current) {\n this._refInput.current.focus()\n }\n }\n\n render() {\n return (\n <Context.Consumer>\n {(context) => {\n // from internal context\n const contextProps = extendPropsWithContextInClassComponent(\n this.props,\n Radio.defaultProps,\n this.context\n )\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Radio.defaultProps,\n contextProps,\n { skeleton: context?.skeleton },\n // Deprecated – can be removed in v11\n pickFormElementProps(context.FormRow),\n pickFormElementProps(context.formElement),\n context.Radio\n )\n\n const {\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n element,\n label,\n label_sr_only,\n label_position,\n size,\n readOnly,\n skeleton,\n className,\n class: _className,\n id: _id, // eslint-disable-line\n group: _group, // eslint-disable-line\n value: _value, // eslint-disable-line\n checked: _checked, // eslint-disable-line\n disabled: _disabled, // eslint-disable-line\n children, // eslint-disable-line\n on_change, // eslint-disable-line\n on_state_update, // eslint-disable-line\n innerRef, // eslint-disable-line\n\n ...rest\n } = props\n\n let { checked } = this.state\n let { value, group, disabled } = props // get it from context also\n\n const hasContext = typeof this.context.name !== 'undefined'\n\n if (hasContext) {\n if (typeof this.context.value !== 'undefined') {\n checked = this.context.value === value\n }\n group = this.context.name\n if (isTrue(this.context.disabled) && disabled !== false) {\n disabled = true\n }\n } else if (typeof rest.name !== 'undefined') {\n group = rest.name\n }\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const mainParams = {\n className: classnames(\n 'dnb-radio',\n status && `dnb-radio__status--${status_state}`,\n size && `dnb-radio--${size}`,\n label &&\n `dnb-radio--label-position-${label_position || 'right'}`,\n createSpacingClasses(props),\n className,\n _className\n ),\n }\n\n let inputParams = {\n role: hasContext || group ? 'radio' : null,\n type: hasContext || group ? 'radio' : 'checkbox', // overwriting the type\n }\n\n if (!group) {\n inputParams.type = 'checkbox'\n inputParams.role = 'radio' // breaks axe test\n }\n\n if (showStatus || suffix) {\n inputParams['aria-describedby'] = combineDescribedBy(\n inputParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n inputParams['aria-readonly'] = inputParams.readOnly = true\n }\n\n inputParams = Object.assign(inputParams, rest)\n\n skeletonDOMAttributes(inputParams, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, inputParams)\n\n const labelComp = label && (\n <FormLabel\n id={id + '-label'}\n forId={id}\n text={label}\n disabled={disabled}\n skeleton={skeleton}\n srOnly={label_sr_only}\n />\n )\n\n const Element = element || 'input'\n\n return (\n <span {...mainParams}>\n <span className=\"dnb-radio__order\">\n {label_position === 'left' && labelComp}\n\n <span className=\"dnb-radio__inner\">\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n width_selector={id + ', ' + id + '-label'}\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-radio__row\">\n <span className=\"dnb-radio__shell\">\n <Element\n type=\"radio\"\n value={value}\n id={id}\n name={group}\n className=\"dnb-radio__input\"\n checked={checked}\n aria-checked={\n this.isPlainGroup() ? undefined : checked\n }\n disabled={isTrue(disabled)}\n ref={this._refInput}\n {...inputParams}\n onChange={this.onChangeHandler}\n onClick={this.onClickHandler}\n onKeyDown={this.onKeyDownHandler}\n />\n\n <span\n className={classnames(\n 'dnb-radio__button',\n createSkeletonClass(\n 'shape',\n skeleton,\n this.context\n )\n )}\n aria-hidden\n />\n <span className=\"dnb-radio__focus\" aria-hidden />\n <span\n className={classnames(\n 'dnb-radio__dot',\n createSkeletonClass(\n 'font',\n skeleton,\n this.context\n )\n )}\n aria-hidden\n />\n </span>\n\n {label_position !== 'left' && labelComp}\n\n {suffix && (\n <Suffix\n className=\"dnb-radio__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n </span>\n )\n }}\n </Context.Consumer>\n )\n }\n}\n\nRadio._formElement = true\nRadio._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -115,15 +115,16 @@ class RadioGroup extends _react.default.PureComponent {
115
115
  label_position,
116
116
  onChange: this.onChangeHandler
117
117
  };
118
+ const Fieldset = label ? 'fieldset' : 'div';
118
119
  return _react.default.createElement(_RadioGroupContext.default.Provider, {
119
120
  value: context
120
121
  }, _react.default.createElement("div", {
121
122
  className: classes
122
- }, _AlignmentHelper || (_AlignmentHelper = _react.default.createElement(_AlignmentHelper2.default, null)), _react.default.createElement("fieldset", null, _react.default.createElement(_Flex.default.Container, {
123
+ }, _AlignmentHelper || (_AlignmentHelper = _react.default.createElement(_AlignmentHelper2.default, null)), _react.default.createElement(Fieldset, null, _react.default.createElement(_Flex.default.Container, {
123
124
  align: "baseline",
124
125
  direction: vertical || label_direction === 'vertical' ? 'vertical' : 'horizontal',
125
126
  spacing: vertical ? 'x-small' : undefined
126
- }, _react.default.createElement(_FormLabel.default, {
127
+ }, label && _react.default.createElement(_FormLabel.default, {
127
128
  element: "legend",
128
129
  id: id + '-label',
129
130
  srOnly: label_sr_only