@dnb/eufemia 10.18.0 → 10.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (729) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/cjs/components/AriaLive.d.ts +12 -0
  3. package/cjs/components/AriaLive.js +24 -0
  4. package/cjs/components/AriaLive.js.map +1 -0
  5. package/cjs/components/aria-live/AriaLive.d.ts +6 -0
  6. package/cjs/components/aria-live/AriaLive.js +23 -0
  7. package/cjs/components/aria-live/AriaLive.js.map +1 -0
  8. package/cjs/components/aria-live/index.d.ts +7 -0
  9. package/cjs/components/aria-live/index.js +24 -0
  10. package/cjs/components/aria-live/index.js.map +1 -0
  11. package/cjs/components/aria-live/types.d.ts +44 -0
  12. package/cjs/components/aria-live/types.js +1 -0
  13. package/cjs/components/aria-live/types.js.map +1 -0
  14. package/cjs/components/aria-live/useAriaLive.d.ts +273 -0
  15. package/cjs/components/aria-live/useAriaLive.js +84 -0
  16. package/cjs/components/aria-live/useAriaLive.js.map +1 -0
  17. package/cjs/components/autocomplete/Autocomplete.d.ts +0 -1
  18. package/cjs/components/autocomplete/Autocomplete.js +24 -46
  19. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  20. package/cjs/components/breadcrumb/Breadcrumb.js +13 -19
  21. package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
  22. package/cjs/components/breadcrumb/BreadcrumbItem.js +11 -5
  23. package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  24. package/cjs/components/breadcrumb/BreadcrumbMultiple.js +1 -1
  25. package/cjs/components/breadcrumb/BreadcrumbMultiple.js.map +1 -1
  26. package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +13 -3
  27. package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  28. package/cjs/components/breadcrumb/style/dnb-breadcrumb.scss +15 -3
  29. package/cjs/components/date-picker/DatePicker.d.ts +3 -0
  30. package/cjs/components/date-picker/DatePickerProvider.js +6 -2
  31. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  32. package/cjs/components/flex/Container.d.ts +4 -2
  33. package/cjs/components/flex/Container.js +28 -9
  34. package/cjs/components/flex/Container.js.map +1 -1
  35. package/cjs/components/flex/style/dnb-flex.css +3 -3
  36. package/cjs/components/flex/style/dnb-flex.min.css +1 -1
  37. package/cjs/components/flex/style/flex-container.scss +3 -7
  38. package/cjs/components/index.d.ts +2 -1
  39. package/cjs/components/index.js +7 -0
  40. package/cjs/components/index.js.map +1 -1
  41. package/cjs/components/input/Input.js +0 -3
  42. package/cjs/components/input/Input.js.map +1 -1
  43. package/cjs/components/input-masked/MultiInputMask.d.ts +1 -1
  44. package/cjs/components/input-masked/MultiInputMask.js +52 -41
  45. package/cjs/components/input-masked/MultiInputMask.js.map +1 -1
  46. package/cjs/components/lib.d.ts +3 -1
  47. package/cjs/components/lib.js +8 -0
  48. package/cjs/components/lib.js.map +1 -1
  49. package/cjs/components/number-format/NumberUtils.d.ts +8 -2
  50. package/cjs/components/number-format/useNumberFormat.d.ts +1 -1
  51. package/cjs/components/section/Section.d.ts +6 -3
  52. package/cjs/components/section/Section.js.map +1 -1
  53. package/cjs/components/section/style/dnb-section.css +1 -0
  54. package/cjs/components/section/style/dnb-section.min.css +1 -1
  55. package/cjs/components/section/style/dnb-section.scss +1 -0
  56. package/cjs/components/space/SpacingUtils.js +5 -1
  57. package/cjs/components/space/SpacingUtils.js.map +1 -1
  58. package/cjs/components/table/TableAccordion.js +1 -1
  59. package/cjs/components/table/TableAccordion.js.map +1 -1
  60. package/cjs/components/textarea/Textarea.d.ts +5 -0
  61. package/cjs/components/textarea/Textarea.js +16 -3
  62. package/cjs/components/textarea/Textarea.js.map +1 -1
  63. package/cjs/components/textarea/style/dnb-textarea.css +10 -3
  64. package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
  65. package/cjs/components/textarea/style/dnb-textarea.scss +13 -3
  66. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.css +15 -2
  67. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  68. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.scss +15 -2
  69. package/cjs/extensions/forms/DataContext/Provider/Provider.js +13 -3
  70. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  71. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -1
  72. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  73. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +2 -2
  74. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +2 -2
  75. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  76. package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  77. package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  78. package/cjs/extensions/forms/Field/Currency/Currency.d.ts +2 -2
  79. package/cjs/extensions/forms/Field/Currency/Currency.js.map +1 -1
  80. package/cjs/extensions/forms/Field/Date/Date.js +5 -2
  81. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  82. package/cjs/extensions/forms/Field/Email/Email.d.ts +2 -2
  83. package/cjs/extensions/forms/Field/Email/Email.js +2 -2
  84. package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
  85. package/cjs/extensions/forms/Field/Expiry/Expiry.js +14 -13
  86. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  87. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
  88. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +2 -2
  89. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  90. package/cjs/extensions/forms/Field/Number/Number.js +14 -12
  91. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  92. package/cjs/extensions/forms/Field/Number/style/dnb-number.css +0 -6
  93. package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  94. package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +0 -1
  95. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +4 -0
  96. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +1 -1
  97. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +7 -0
  98. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +4 -0
  99. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +1 -1
  100. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +9 -0
  101. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +2 -2
  102. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +2 -2
  103. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  104. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
  105. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +12 -5
  106. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  107. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
  108. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  109. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +6 -3
  110. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  111. package/cjs/extensions/forms/Field/Selection/Selection.js +12 -7
  112. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  113. package/cjs/extensions/forms/Field/String/String.d.ts +3 -1
  114. package/cjs/extensions/forms/Field/String/String.js +12 -6
  115. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  116. package/cjs/extensions/forms/Field/Toggle/Toggle.js +16 -12
  117. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  118. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
  119. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +9 -4
  120. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  121. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -0
  122. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  123. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +4 -0
  124. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.css +4 -0
  125. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.min.css +1 -0
  126. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.scss +6 -0
  127. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.css +4 -0
  128. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.min.css +1 -0
  129. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.scss +6 -0
  130. package/cjs/extensions/forms/Form/hooks/useData.js +12 -9
  131. package/cjs/extensions/forms/Form/hooks/useData.js.map +1 -1
  132. package/cjs/extensions/forms/Iterate/Array/Array.js +3 -1
  133. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  134. package/cjs/extensions/forms/Value/BankAccountNumber/BankAccountNumber.d.ts +2 -2
  135. package/cjs/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js.map +1 -1
  136. package/cjs/extensions/forms/Value/Currency/Currency.d.ts +2 -2
  137. package/cjs/extensions/forms/Value/Currency/Currency.js.map +1 -1
  138. package/cjs/extensions/forms/Value/Date/Date.d.ts +2 -2
  139. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  140. package/cjs/extensions/forms/Value/Email/Email.d.ts +2 -2
  141. package/cjs/extensions/forms/Value/Email/Email.js.map +1 -1
  142. package/cjs/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
  143. package/cjs/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  144. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.d.ts +2 -2
  145. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  146. package/cjs/extensions/forms/hooks/useDataValue.d.ts +4 -0
  147. package/cjs/extensions/forms/hooks/useDataValue.js +12 -8
  148. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  149. package/cjs/extensions/forms/style/dnb-forms.css +3 -6
  150. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  151. package/cjs/extensions/forms/types.d.ts +4 -2
  152. package/cjs/extensions/forms/types.js.map +1 -1
  153. package/cjs/fragments/TextCounter.d.ts +12 -0
  154. package/cjs/fragments/TextCounter.js +24 -0
  155. package/cjs/fragments/TextCounter.js.map +1 -0
  156. package/cjs/fragments/drawer-list/DrawerListHelpers.js +1 -0
  157. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  158. package/cjs/fragments/index.d.ts +2 -1
  159. package/cjs/fragments/index.js +7 -0
  160. package/cjs/fragments/index.js.map +1 -1
  161. package/cjs/fragments/lib.d.ts +3 -1
  162. package/cjs/fragments/lib.js +9 -1
  163. package/cjs/fragments/lib.js.map +1 -1
  164. package/cjs/fragments/text-counter/TextCounter.d.ts +8 -0
  165. package/cjs/fragments/text-counter/TextCounter.js +61 -0
  166. package/cjs/fragments/text-counter/TextCounter.js.map +1 -0
  167. package/cjs/fragments/text-counter/index.d.ts +5 -0
  168. package/cjs/fragments/text-counter/index.js +17 -0
  169. package/cjs/fragments/text-counter/index.js.map +1 -0
  170. package/cjs/fragments/text-counter/style/dnb-text-counter.scss +15 -0
  171. package/cjs/fragments/text-counter/style/index.d.ts +1 -0
  172. package/cjs/fragments/text-counter/style/index.js +4 -0
  173. package/cjs/fragments/text-counter/style/index.js.map +1 -0
  174. package/cjs/fragments/text-counter/style/themes/dnb-text-counter-theme-sbanken.scss +8 -0
  175. package/cjs/fragments/text-counter/style/themes/dnb-text-counter-theme-ui.scss +8 -0
  176. package/cjs/fragments/text-counter/style/themes/ui.d.ts +1 -0
  177. package/cjs/fragments/text-counter/style/themes/ui.js +4 -0
  178. package/cjs/fragments/text-counter/style/themes/ui.js.map +1 -0
  179. package/cjs/fragments/text-counter/style.d.ts +5 -0
  180. package/cjs/fragments/text-counter/style.js +4 -0
  181. package/cjs/fragments/text-counter/style.js.map +1 -0
  182. package/cjs/index.d.ts +2 -1
  183. package/cjs/index.js +7 -0
  184. package/cjs/index.js.map +1 -1
  185. package/cjs/shared/Eufemia.d.ts +1 -1
  186. package/cjs/shared/Eufemia.js +2 -2
  187. package/cjs/shared/Eufemia.js.map +1 -1
  188. package/cjs/shared/helpers/useSharedState.d.ts +8 -6
  189. package/cjs/shared/helpers/useSharedState.js +45 -26
  190. package/cjs/shared/helpers/useSharedState.js.map +1 -1
  191. package/cjs/shared/locales/en-GB.d.ts +6 -0
  192. package/cjs/shared/locales/en-GB.js +8 -2
  193. package/cjs/shared/locales/en-GB.js.map +1 -1
  194. package/cjs/shared/locales/en-US.d.ts +6 -0
  195. package/cjs/shared/locales/index.d.ts +12 -0
  196. package/cjs/shared/locales/nb-NO.d.ts +6 -0
  197. package/cjs/shared/locales/nb-NO.js +6 -0
  198. package/cjs/shared/locales/nb-NO.js.map +1 -1
  199. package/cjs/style/dnb-ui-components.css +40 -15
  200. package/cjs/style/dnb-ui-components.min.css +3 -3
  201. package/cjs/style/dnb-ui-extensions.css +3 -6
  202. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  203. package/cjs/style/dnb-ui-forms.css +3 -6
  204. package/cjs/style/dnb-ui-forms.min.css +1 -1
  205. package/cjs/style/dnb-ui-fragments.css +10 -0
  206. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  207. package/cjs/style/dnb-ui-fragments.scss +1 -0
  208. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +74 -23
  209. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  210. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
  211. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +12 -6
  212. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  213. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  214. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +12 -6
  215. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  216. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  217. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +59 -21
  218. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  219. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -0
  220. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +12 -6
  221. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  222. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  223. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +12 -6
  224. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  225. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  226. package/cjs/style/themes/theme-ui/ui-theme-components.css +74 -23
  227. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  228. package/cjs/style/themes/theme-ui/ui-theme-components.scss +1 -0
  229. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +12 -6
  230. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  231. package/cjs/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  232. package/cjs/style/themes/theme-ui/ui-theme-forms.css +12 -6
  233. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  234. package/cjs/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  235. package/components/AriaLive.d.ts +12 -0
  236. package/components/AriaLive.js +4 -0
  237. package/components/AriaLive.js.map +1 -0
  238. package/components/aria-live/AriaLive.d.ts +6 -0
  239. package/components/aria-live/AriaLive.js +15 -0
  240. package/components/aria-live/AriaLive.js.map +1 -0
  241. package/components/aria-live/index.d.ts +7 -0
  242. package/components/aria-live/index.js +4 -0
  243. package/components/aria-live/index.js.map +1 -0
  244. package/components/aria-live/types.d.ts +44 -0
  245. package/components/aria-live/types.js +1 -0
  246. package/components/aria-live/types.js.map +1 -0
  247. package/components/aria-live/useAriaLive.d.ts +273 -0
  248. package/components/aria-live/useAriaLive.js +75 -0
  249. package/components/aria-live/useAriaLive.js.map +1 -0
  250. package/components/autocomplete/Autocomplete.d.ts +0 -1
  251. package/components/autocomplete/Autocomplete.js +24 -46
  252. package/components/autocomplete/Autocomplete.js.map +1 -1
  253. package/components/breadcrumb/Breadcrumb.js +14 -20
  254. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  255. package/components/breadcrumb/BreadcrumbItem.js +11 -5
  256. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  257. package/components/breadcrumb/BreadcrumbMultiple.js +1 -1
  258. package/components/breadcrumb/BreadcrumbMultiple.js.map +1 -1
  259. package/components/breadcrumb/style/dnb-breadcrumb.css +13 -3
  260. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  261. package/components/breadcrumb/style/dnb-breadcrumb.scss +15 -3
  262. package/components/date-picker/DatePicker.d.ts +3 -0
  263. package/components/date-picker/DatePickerProvider.js +6 -2
  264. package/components/date-picker/DatePickerProvider.js.map +1 -1
  265. package/components/flex/Container.d.ts +4 -2
  266. package/components/flex/Container.js +26 -9
  267. package/components/flex/Container.js.map +1 -1
  268. package/components/flex/style/dnb-flex.css +3 -3
  269. package/components/flex/style/dnb-flex.min.css +1 -1
  270. package/components/flex/style/flex-container.scss +3 -7
  271. package/components/index.d.ts +2 -1
  272. package/components/index.js +2 -1
  273. package/components/index.js.map +1 -1
  274. package/components/input/Input.js +0 -3
  275. package/components/input/Input.js.map +1 -1
  276. package/components/input-masked/MultiInputMask.d.ts +1 -1
  277. package/components/input-masked/MultiInputMask.js +52 -41
  278. package/components/input-masked/MultiInputMask.js.map +1 -1
  279. package/components/lib.d.ts +3 -1
  280. package/components/lib.js +3 -1
  281. package/components/lib.js.map +1 -1
  282. package/components/number-format/NumberUtils.d.ts +8 -2
  283. package/components/number-format/useNumberFormat.d.ts +1 -1
  284. package/components/section/Section.d.ts +6 -3
  285. package/components/section/Section.js.map +1 -1
  286. package/components/section/style/dnb-section.css +1 -0
  287. package/components/section/style/dnb-section.min.css +1 -1
  288. package/components/section/style/dnb-section.scss +1 -0
  289. package/components/space/SpacingUtils.js +5 -1
  290. package/components/space/SpacingUtils.js.map +1 -1
  291. package/components/table/TableAccordion.js +1 -1
  292. package/components/table/TableAccordion.js.map +1 -1
  293. package/components/textarea/Textarea.d.ts +5 -0
  294. package/components/textarea/Textarea.js +16 -3
  295. package/components/textarea/Textarea.js.map +1 -1
  296. package/components/textarea/style/dnb-textarea.css +10 -3
  297. package/components/textarea/style/dnb-textarea.min.css +1 -1
  298. package/components/textarea/style/dnb-textarea.scss +13 -3
  299. package/components/textarea/style/themes/dnb-textarea-theme-ui.css +15 -2
  300. package/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  301. package/components/textarea/style/themes/dnb-textarea-theme-ui.scss +15 -2
  302. package/es/components/AriaLive.d.ts +12 -0
  303. package/es/components/AriaLive.js +4 -0
  304. package/es/components/AriaLive.js.map +1 -0
  305. package/es/components/aria-live/AriaLive.d.ts +6 -0
  306. package/es/components/aria-live/AriaLive.js +15 -0
  307. package/es/components/aria-live/AriaLive.js.map +1 -0
  308. package/es/components/aria-live/index.d.ts +7 -0
  309. package/es/components/aria-live/index.js +4 -0
  310. package/es/components/aria-live/index.js.map +1 -0
  311. package/es/components/aria-live/types.d.ts +44 -0
  312. package/es/components/aria-live/types.js +1 -0
  313. package/es/components/aria-live/types.js.map +1 -0
  314. package/es/components/aria-live/useAriaLive.d.ts +273 -0
  315. package/es/components/aria-live/useAriaLive.js +75 -0
  316. package/es/components/aria-live/useAriaLive.js.map +1 -0
  317. package/es/components/autocomplete/Autocomplete.d.ts +0 -1
  318. package/es/components/autocomplete/Autocomplete.js +24 -46
  319. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  320. package/es/components/breadcrumb/Breadcrumb.js +14 -20
  321. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  322. package/es/components/breadcrumb/BreadcrumbItem.js +11 -5
  323. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  324. package/es/components/breadcrumb/BreadcrumbMultiple.js +1 -1
  325. package/es/components/breadcrumb/BreadcrumbMultiple.js.map +1 -1
  326. package/es/components/breadcrumb/style/dnb-breadcrumb.css +13 -3
  327. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  328. package/es/components/breadcrumb/style/dnb-breadcrumb.scss +15 -3
  329. package/es/components/date-picker/DatePicker.d.ts +3 -0
  330. package/es/components/date-picker/DatePickerProvider.js +6 -2
  331. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  332. package/es/components/flex/Container.d.ts +4 -2
  333. package/es/components/flex/Container.js +26 -9
  334. package/es/components/flex/Container.js.map +1 -1
  335. package/es/components/flex/style/dnb-flex.css +3 -3
  336. package/es/components/flex/style/dnb-flex.min.css +1 -1
  337. package/es/components/flex/style/flex-container.scss +3 -7
  338. package/es/components/index.d.ts +2 -1
  339. package/es/components/index.js +2 -1
  340. package/es/components/index.js.map +1 -1
  341. package/es/components/input/Input.js +0 -3
  342. package/es/components/input/Input.js.map +1 -1
  343. package/es/components/input-masked/MultiInputMask.d.ts +1 -1
  344. package/es/components/input-masked/MultiInputMask.js +50 -39
  345. package/es/components/input-masked/MultiInputMask.js.map +1 -1
  346. package/es/components/lib.d.ts +3 -1
  347. package/es/components/lib.js +3 -1
  348. package/es/components/lib.js.map +1 -1
  349. package/es/components/number-format/NumberUtils.d.ts +8 -2
  350. package/es/components/number-format/useNumberFormat.d.ts +1 -1
  351. package/es/components/section/Section.d.ts +6 -3
  352. package/es/components/section/Section.js.map +1 -1
  353. package/es/components/section/style/dnb-section.css +1 -0
  354. package/es/components/section/style/dnb-section.min.css +1 -1
  355. package/es/components/section/style/dnb-section.scss +1 -0
  356. package/es/components/space/SpacingUtils.js +5 -1
  357. package/es/components/space/SpacingUtils.js.map +1 -1
  358. package/es/components/table/TableAccordion.js +1 -1
  359. package/es/components/table/TableAccordion.js.map +1 -1
  360. package/es/components/textarea/Textarea.d.ts +5 -0
  361. package/es/components/textarea/Textarea.js +16 -3
  362. package/es/components/textarea/Textarea.js.map +1 -1
  363. package/es/components/textarea/style/dnb-textarea.css +10 -3
  364. package/es/components/textarea/style/dnb-textarea.min.css +1 -1
  365. package/es/components/textarea/style/dnb-textarea.scss +13 -3
  366. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.css +15 -2
  367. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  368. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.scss +15 -2
  369. package/es/extensions/forms/DataContext/Provider/Provider.js +13 -3
  370. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  371. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +5 -3
  372. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  373. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +2 -2
  374. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +3 -3
  375. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  376. package/es/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  377. package/es/extensions/forms/Field/Boolean/Boolean.js +2 -2
  378. package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  379. package/es/extensions/forms/Field/Currency/Currency.d.ts +2 -2
  380. package/es/extensions/forms/Field/Currency/Currency.js +2 -2
  381. package/es/extensions/forms/Field/Currency/Currency.js.map +1 -1
  382. package/es/extensions/forms/Field/Date/Date.js +5 -2
  383. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  384. package/es/extensions/forms/Field/Email/Email.d.ts +2 -2
  385. package/es/extensions/forms/Field/Email/Email.js +3 -3
  386. package/es/extensions/forms/Field/Email/Email.js.map +1 -1
  387. package/es/extensions/forms/Field/Expiry/Expiry.js +15 -14
  388. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  389. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
  390. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -3
  391. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  392. package/es/extensions/forms/Field/Number/Number.js +14 -12
  393. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  394. package/es/extensions/forms/Field/Number/style/dnb-number.css +0 -6
  395. package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  396. package/es/extensions/forms/Field/Number/style/dnb-number.scss +0 -1
  397. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +4 -0
  398. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +1 -1
  399. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +7 -0
  400. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +4 -0
  401. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +1 -1
  402. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +9 -0
  403. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +2 -2
  404. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +3 -3
  405. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  406. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
  407. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +14 -7
  408. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  409. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
  410. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -3
  411. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  412. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +6 -3
  413. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  414. package/es/extensions/forms/Field/Selection/Selection.js +15 -10
  415. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  416. package/es/extensions/forms/Field/String/String.d.ts +3 -1
  417. package/es/extensions/forms/Field/String/String.js +12 -6
  418. package/es/extensions/forms/Field/String/String.js.map +1 -1
  419. package/es/extensions/forms/Field/Toggle/Toggle.js +16 -12
  420. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  421. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
  422. package/es/extensions/forms/FieldBlock/FieldBlock.js +9 -4
  423. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  424. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -0
  425. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  426. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +4 -0
  427. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.css +4 -0
  428. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.min.css +1 -0
  429. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.scss +6 -0
  430. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.css +4 -0
  431. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.min.css +1 -0
  432. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.scss +6 -0
  433. package/es/extensions/forms/Form/hooks/useData.js +13 -10
  434. package/es/extensions/forms/Form/hooks/useData.js.map +1 -1
  435. package/es/extensions/forms/Iterate/Array/Array.js +3 -1
  436. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  437. package/es/extensions/forms/Value/BankAccountNumber/BankAccountNumber.d.ts +2 -2
  438. package/es/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js +2 -2
  439. package/es/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js.map +1 -1
  440. package/es/extensions/forms/Value/Currency/Currency.d.ts +2 -2
  441. package/es/extensions/forms/Value/Currency/Currency.js +2 -2
  442. package/es/extensions/forms/Value/Currency/Currency.js.map +1 -1
  443. package/es/extensions/forms/Value/Date/Date.d.ts +2 -2
  444. package/es/extensions/forms/Value/Date/Date.js +2 -2
  445. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  446. package/es/extensions/forms/Value/Email/Email.d.ts +2 -2
  447. package/es/extensions/forms/Value/Email/Email.js +2 -2
  448. package/es/extensions/forms/Value/Email/Email.js.map +1 -1
  449. package/es/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
  450. package/es/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js +2 -2
  451. package/es/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  452. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.d.ts +2 -2
  453. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js +2 -2
  454. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  455. package/es/extensions/forms/hooks/useDataValue.d.ts +4 -0
  456. package/es/extensions/forms/hooks/useDataValue.js +11 -7
  457. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  458. package/es/extensions/forms/style/dnb-forms.css +3 -6
  459. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  460. package/es/extensions/forms/types.d.ts +4 -2
  461. package/es/extensions/forms/types.js.map +1 -1
  462. package/es/fragments/TextCounter.d.ts +12 -0
  463. package/es/fragments/TextCounter.js +4 -0
  464. package/es/fragments/TextCounter.js.map +1 -0
  465. package/es/fragments/drawer-list/DrawerListHelpers.js +1 -0
  466. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  467. package/es/fragments/index.d.ts +2 -1
  468. package/es/fragments/index.js +2 -1
  469. package/es/fragments/index.js.map +1 -1
  470. package/es/fragments/lib.d.ts +3 -1
  471. package/es/fragments/lib.js +4 -2
  472. package/es/fragments/lib.js.map +1 -1
  473. package/es/fragments/text-counter/TextCounter.d.ts +8 -0
  474. package/es/fragments/text-counter/TextCounter.js +52 -0
  475. package/es/fragments/text-counter/TextCounter.js.map +1 -0
  476. package/es/fragments/text-counter/index.d.ts +5 -0
  477. package/es/fragments/text-counter/index.js +1 -0
  478. package/es/fragments/text-counter/index.js.map +1 -0
  479. package/es/fragments/text-counter/style/dnb-text-counter.scss +15 -0
  480. package/es/fragments/text-counter/style/index.d.ts +1 -0
  481. package/es/fragments/text-counter/style/index.js +1 -0
  482. package/es/fragments/text-counter/style/index.js.map +1 -0
  483. package/es/fragments/text-counter/style/themes/dnb-text-counter-theme-sbanken.scss +8 -0
  484. package/es/fragments/text-counter/style/themes/dnb-text-counter-theme-ui.scss +8 -0
  485. package/es/fragments/text-counter/style/themes/ui.d.ts +1 -0
  486. package/es/fragments/text-counter/style/themes/ui.js +1 -0
  487. package/es/fragments/text-counter/style/themes/ui.js.map +1 -0
  488. package/es/fragments/text-counter/style.d.ts +5 -0
  489. package/es/fragments/text-counter/style.js +1 -0
  490. package/es/fragments/text-counter/style.js.map +1 -0
  491. package/es/index.d.ts +2 -1
  492. package/es/index.js +2 -1
  493. package/es/index.js.map +1 -1
  494. package/es/shared/Eufemia.d.ts +1 -1
  495. package/es/shared/Eufemia.js +2 -2
  496. package/es/shared/Eufemia.js.map +1 -1
  497. package/es/shared/helpers/useSharedState.d.ts +8 -6
  498. package/es/shared/helpers/useSharedState.js +43 -26
  499. package/es/shared/helpers/useSharedState.js.map +1 -1
  500. package/es/shared/locales/en-GB.d.ts +6 -0
  501. package/es/shared/locales/en-GB.js +8 -2
  502. package/es/shared/locales/en-GB.js.map +1 -1
  503. package/es/shared/locales/en-US.d.ts +6 -0
  504. package/es/shared/locales/index.d.ts +12 -0
  505. package/es/shared/locales/nb-NO.d.ts +6 -0
  506. package/es/shared/locales/nb-NO.js +6 -0
  507. package/es/shared/locales/nb-NO.js.map +1 -1
  508. package/es/style/dnb-ui-components.css +40 -15
  509. package/es/style/dnb-ui-components.min.css +3 -3
  510. package/es/style/dnb-ui-extensions.css +3 -6
  511. package/es/style/dnb-ui-extensions.min.css +1 -1
  512. package/es/style/dnb-ui-forms.css +3 -6
  513. package/es/style/dnb-ui-forms.min.css +1 -1
  514. package/es/style/dnb-ui-fragments.css +10 -0
  515. package/es/style/dnb-ui-fragments.min.css +1 -1
  516. package/es/style/dnb-ui-fragments.scss +1 -0
  517. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +74 -23
  518. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  519. package/es/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
  520. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +12 -6
  521. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  522. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  523. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +12 -6
  524. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  525. package/es/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  526. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +59 -21
  527. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  528. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -0
  529. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +12 -6
  530. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  531. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  532. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +12 -6
  533. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  534. package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  535. package/es/style/themes/theme-ui/ui-theme-components.css +74 -23
  536. package/es/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  537. package/es/style/themes/theme-ui/ui-theme-components.scss +1 -0
  538. package/es/style/themes/theme-ui/ui-theme-extensions.css +12 -6
  539. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  540. package/es/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  541. package/es/style/themes/theme-ui/ui-theme-forms.css +12 -6
  542. package/es/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  543. package/es/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  544. package/esm/dnb-ui-basis.min.mjs +1 -1
  545. package/esm/dnb-ui-components.min.mjs +1 -1
  546. package/esm/dnb-ui-elements.min.mjs +1 -1
  547. package/esm/dnb-ui-extensions.min.mjs +3 -3
  548. package/esm/dnb-ui-lib.min.mjs +1 -1
  549. package/extensions/forms/DataContext/Provider/Provider.js +13 -3
  550. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  551. package/extensions/forms/Field/ArraySelection/ArraySelection.js +5 -3
  552. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  553. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +2 -2
  554. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +3 -3
  555. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  556. package/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  557. package/extensions/forms/Field/Boolean/Boolean.js +2 -2
  558. package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  559. package/extensions/forms/Field/Currency/Currency.d.ts +2 -2
  560. package/extensions/forms/Field/Currency/Currency.js +2 -2
  561. package/extensions/forms/Field/Currency/Currency.js.map +1 -1
  562. package/extensions/forms/Field/Date/Date.js +5 -2
  563. package/extensions/forms/Field/Date/Date.js.map +1 -1
  564. package/extensions/forms/Field/Email/Email.d.ts +2 -2
  565. package/extensions/forms/Field/Email/Email.js +3 -3
  566. package/extensions/forms/Field/Email/Email.js.map +1 -1
  567. package/extensions/forms/Field/Expiry/Expiry.js +15 -14
  568. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  569. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
  570. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -3
  571. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  572. package/extensions/forms/Field/Number/Number.js +14 -12
  573. package/extensions/forms/Field/Number/Number.js.map +1 -1
  574. package/extensions/forms/Field/Number/style/dnb-number.css +0 -6
  575. package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  576. package/extensions/forms/Field/Number/style/dnb-number.scss +0 -1
  577. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +4 -0
  578. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +1 -1
  579. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +7 -0
  580. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +4 -0
  581. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +1 -1
  582. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +9 -0
  583. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +2 -2
  584. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +3 -3
  585. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  586. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
  587. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +14 -7
  588. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  589. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
  590. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -3
  591. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  592. package/extensions/forms/Field/SelectCountry/SelectCountry.js +6 -3
  593. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  594. package/extensions/forms/Field/Selection/Selection.js +15 -10
  595. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  596. package/extensions/forms/Field/String/String.d.ts +3 -1
  597. package/extensions/forms/Field/String/String.js +12 -6
  598. package/extensions/forms/Field/String/String.js.map +1 -1
  599. package/extensions/forms/Field/Toggle/Toggle.js +16 -12
  600. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  601. package/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
  602. package/extensions/forms/FieldBlock/FieldBlock.js +9 -4
  603. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  604. package/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -0
  605. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  606. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +4 -0
  607. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.css +4 -0
  608. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.min.css +1 -0
  609. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.scss +6 -0
  610. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.css +4 -0
  611. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.min.css +1 -0
  612. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.scss +6 -0
  613. package/extensions/forms/Form/hooks/useData.js +13 -10
  614. package/extensions/forms/Form/hooks/useData.js.map +1 -1
  615. package/extensions/forms/Iterate/Array/Array.js +3 -1
  616. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  617. package/extensions/forms/Value/BankAccountNumber/BankAccountNumber.d.ts +2 -2
  618. package/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js +2 -2
  619. package/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js.map +1 -1
  620. package/extensions/forms/Value/Currency/Currency.d.ts +2 -2
  621. package/extensions/forms/Value/Currency/Currency.js +2 -2
  622. package/extensions/forms/Value/Currency/Currency.js.map +1 -1
  623. package/extensions/forms/Value/Date/Date.d.ts +2 -2
  624. package/extensions/forms/Value/Date/Date.js +2 -2
  625. package/extensions/forms/Value/Date/Date.js.map +1 -1
  626. package/extensions/forms/Value/Email/Email.d.ts +2 -2
  627. package/extensions/forms/Value/Email/Email.js +2 -2
  628. package/extensions/forms/Value/Email/Email.js.map +1 -1
  629. package/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
  630. package/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js +2 -2
  631. package/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  632. package/extensions/forms/Value/PhoneNumber/PhoneNumber.d.ts +2 -2
  633. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js +2 -2
  634. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  635. package/extensions/forms/hooks/useDataValue.d.ts +4 -0
  636. package/extensions/forms/hooks/useDataValue.js +12 -8
  637. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  638. package/extensions/forms/style/dnb-forms.css +3 -6
  639. package/extensions/forms/style/dnb-forms.min.css +1 -1
  640. package/extensions/forms/types.d.ts +4 -2
  641. package/extensions/forms/types.js.map +1 -1
  642. package/fragments/TextCounter.d.ts +12 -0
  643. package/fragments/TextCounter.js +4 -0
  644. package/fragments/TextCounter.js.map +1 -0
  645. package/fragments/drawer-list/DrawerListHelpers.js +1 -0
  646. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  647. package/fragments/index.d.ts +2 -1
  648. package/fragments/index.js +2 -1
  649. package/fragments/index.js.map +1 -1
  650. package/fragments/lib.d.ts +3 -1
  651. package/fragments/lib.js +4 -2
  652. package/fragments/lib.js.map +1 -1
  653. package/fragments/text-counter/TextCounter.d.ts +8 -0
  654. package/fragments/text-counter/TextCounter.js +52 -0
  655. package/fragments/text-counter/TextCounter.js.map +1 -0
  656. package/fragments/text-counter/index.d.ts +5 -0
  657. package/fragments/text-counter/index.js +1 -0
  658. package/fragments/text-counter/index.js.map +1 -0
  659. package/fragments/text-counter/style/dnb-text-counter.scss +15 -0
  660. package/fragments/text-counter/style/index.d.ts +1 -0
  661. package/fragments/text-counter/style/index.js +1 -0
  662. package/fragments/text-counter/style/index.js.map +1 -0
  663. package/fragments/text-counter/style/themes/dnb-text-counter-theme-sbanken.scss +8 -0
  664. package/fragments/text-counter/style/themes/dnb-text-counter-theme-ui.scss +8 -0
  665. package/fragments/text-counter/style/themes/ui.d.ts +1 -0
  666. package/fragments/text-counter/style/themes/ui.js +1 -0
  667. package/fragments/text-counter/style/themes/ui.js.map +1 -0
  668. package/fragments/text-counter/style.d.ts +5 -0
  669. package/fragments/text-counter/style.js +1 -0
  670. package/fragments/text-counter/style.js.map +1 -0
  671. package/index.d.ts +2 -1
  672. package/index.js +2 -1
  673. package/index.js.map +1 -1
  674. package/package.json +1 -1
  675. package/shared/Eufemia.d.ts +1 -1
  676. package/shared/Eufemia.js +2 -2
  677. package/shared/Eufemia.js.map +1 -1
  678. package/shared/helpers/useSharedState.d.ts +8 -6
  679. package/shared/helpers/useSharedState.js +45 -26
  680. package/shared/helpers/useSharedState.js.map +1 -1
  681. package/shared/locales/en-GB.d.ts +6 -0
  682. package/shared/locales/en-GB.js +8 -2
  683. package/shared/locales/en-GB.js.map +1 -1
  684. package/shared/locales/en-US.d.ts +6 -0
  685. package/shared/locales/index.d.ts +12 -0
  686. package/shared/locales/nb-NO.d.ts +6 -0
  687. package/shared/locales/nb-NO.js +6 -0
  688. package/shared/locales/nb-NO.js.map +1 -1
  689. package/style/dnb-ui-components.css +40 -15
  690. package/style/dnb-ui-components.min.css +3 -3
  691. package/style/dnb-ui-extensions.css +3 -6
  692. package/style/dnb-ui-extensions.min.css +1 -1
  693. package/style/dnb-ui-forms.css +3 -6
  694. package/style/dnb-ui-forms.min.css +1 -1
  695. package/style/dnb-ui-fragments.css +10 -0
  696. package/style/dnb-ui-fragments.min.css +1 -1
  697. package/style/dnb-ui-fragments.scss +1 -0
  698. package/style/themes/theme-eiendom/eiendom-theme-components.css +74 -23
  699. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  700. package/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
  701. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +12 -6
  702. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  703. package/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  704. package/style/themes/theme-eiendom/eiendom-theme-forms.css +12 -6
  705. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  706. package/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  707. package/style/themes/theme-sbanken/sbanken-theme-components.css +59 -21
  708. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  709. package/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -0
  710. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +12 -6
  711. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  712. package/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  713. package/style/themes/theme-sbanken/sbanken-theme-forms.css +12 -6
  714. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  715. package/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  716. package/style/themes/theme-ui/ui-theme-components.css +74 -23
  717. package/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  718. package/style/themes/theme-ui/ui-theme-components.scss +1 -0
  719. package/style/themes/theme-ui/ui-theme-extensions.css +12 -6
  720. package/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  721. package/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  722. package/style/themes/theme-ui/ui-theme-forms.css +12 -6
  723. package/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  724. package/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  725. package/umd/dnb-ui-basis.min.js +1 -1
  726. package/umd/dnb-ui-components.min.js +1 -1
  727. package/umd/dnb-ui-elements.min.js +1 -1
  728. package/umd/dnb-ui-extensions.min.js +3 -3
  729. package/umd/dnb-ui-lib.min.js +1 -1
@@ -3,9 +3,10 @@
3
3
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
4
  import _extends from "@babel/runtime/helpers/esm/extends";
5
5
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
6
- const _excluded = ["label", "labelDirection", "inputs", "delimiter", "onChange", "disabled", "status", "statusState", "values", "className", "stretch", "inputMode", "suffix", "onBlur", "onFocus"],
7
- _excluded2 = ["id", "label", "value", "mask", "placeholderCharacter", "delimiter", "disabled", "inputRef", "onKeyDown", "onChange", "onBlur", "onFocus"],
8
- _excluded3 = ["target"];
6
+ const _excluded = ["id", "label", "labelDirection", "inputs", "delimiter", "onChange", "disabled", "status", "statusState", "values", "className", "stretch", "inputMode", "suffix", "onBlur", "onFocus"],
7
+ _excluded2 = ["id"],
8
+ _excluded3 = ["id", "inputId", "label", "value", "mask", "placeholderCharacter", "delimiter", "disabled", "getInputRef", "onKeyDown", "onChange", "onBlur", "onFocus"],
9
+ _excluded4 = ["target"];
9
10
  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; }
10
11
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
11
12
  import React, { useRef } from 'react';
@@ -19,6 +20,7 @@ import { useMultiInputValue } from './hooks/useMultiInputValues';
19
20
  import { makeUniqueId } from '../../shared/component-helper';
20
21
  function MultiInputMask(_ref) {
21
22
  let {
23
+ id = makeUniqueId(),
22
24
  label,
23
25
  labelDirection = 'horizontal',
24
26
  inputs,
@@ -61,27 +63,35 @@ function MultiInputMask(_ref) {
61
63
  status_state: statusState,
62
64
  suffix: suffix,
63
65
  stretch: stretch,
64
- input_element: inputs.map((input, index) => React.createElement(MultiInputMaskInput, _extends({
65
- key: input.id
66
- }, input, {
67
- inputMode: inputMode,
68
- value: values[input.id],
69
- delimiter: index !== inputs.length - 1 ? delimiter : undefined,
70
- onKeyDown: onKeyDown,
71
- onChange: onChange,
72
- onFocus: () => {
73
- if (onFocus) {
74
- onFocus(values);
75
- }
76
- },
77
- onBlur: () => {
78
- if (onBlur) {
79
- onBlur(values);
80
- }
81
- },
82
- disabled: disabled,
83
- inputRef: getInputRef
84
- })))
66
+ input_element: inputs.map((_ref2, index) => {
67
+ let {
68
+ id: inputId
69
+ } = _ref2,
70
+ rest = _objectWithoutProperties(_ref2, _excluded2);
71
+ return React.createElement(MultiInputMaskInput, _extends({
72
+ key: inputId,
73
+ id: id,
74
+ inputId: inputId,
75
+ delimiter: index !== inputs.length - 1 ? delimiter : undefined,
76
+ disabled: disabled,
77
+ inputMode: inputMode,
78
+ onKeyDown: onKeyDown,
79
+ onChange: onChange,
80
+ onFocus: () => {
81
+ if (onFocus) {
82
+ onFocus(values);
83
+ }
84
+ },
85
+ onBlur: () => {
86
+ if (onBlur) {
87
+ onBlur(values);
88
+ }
89
+ },
90
+ getInputRef: getInputRef
91
+ }, rest, {
92
+ value: values[inputId]
93
+ }));
94
+ })
85
95
  })));
86
96
  function onLegendClick() {
87
97
  if (disabled) {
@@ -96,6 +106,7 @@ function MultiInputMask(_ref) {
96
106
  if (inputRef && !inputRefs.current.includes(inputRef)) {
97
107
  inputRefs.current.push(inputRef);
98
108
  }
109
+ return inputRef;
99
110
  }
100
111
  function getKeysToHandle() {
101
112
  const uniqueMasks = getUniqueMasks();
@@ -103,11 +114,11 @@ function MultiInputMask(_ref) {
103
114
  const pattern = uniqueMasks.values().next().value.replace(/\//g, '');
104
115
  return new RegExp(pattern);
105
116
  }
106
- return inputs.reduce((keys, _ref2) => {
117
+ return inputs.reduce((keys, _ref3) => {
107
118
  let {
108
119
  id,
109
120
  mask
110
- } = _ref2;
121
+ } = _ref3;
111
122
  keys[id] = mask;
112
123
  return keys;
113
124
  }, {});
@@ -120,27 +131,27 @@ function MultiInputMask(_ref) {
120
131
  return masks;
121
132
  }
122
133
  }
123
- function MultiInputMaskInput(_ref3) {
134
+ function MultiInputMaskInput(_ref4) {
124
135
  let {
125
136
  id,
137
+ inputId,
126
138
  label,
127
139
  value,
128
140
  mask,
129
141
  placeholderCharacter,
130
142
  delimiter,
131
143
  disabled,
132
- inputRef,
144
+ getInputRef,
133
145
  onKeyDown,
134
146
  onChange,
135
147
  onBlur,
136
148
  onFocus
137
- } = _ref3,
138
- attributes = _objectWithoutProperties(_ref3, _excluded2);
149
+ } = _ref4,
150
+ attributes = _objectWithoutProperties(_ref4, _excluded3);
139
151
  const shouldHighlight = !disabled && /\w+/.test(value);
140
- const markupId = `${id}-${makeUniqueId()}`;
141
152
  return React.createElement(React.Fragment, null, React.createElement(TextMask, _extends({
142
- id: `${markupId}__input`,
143
- "data-mask-id": id,
153
+ id: `${id}-${inputId}`,
154
+ "data-mask-id": inputId,
144
155
  className: "dnb-input__input dnb-multi-input-mask__input" + (shouldHighlight ? " dnb-multi-input-mask__input--highlight" : ""),
145
156
  disabled: disabled,
146
157
  size: mask.length,
@@ -150,15 +161,15 @@ function MultiInputMaskInput(_ref3) {
150
161
  guide: true,
151
162
  showMask: true,
152
163
  keepCharPositions: false,
153
- "aria-labelledby": `${markupId}__label`,
154
- ref: inputRef,
164
+ "aria-labelledby": `${id}-${inputId}__label`,
165
+ ref: getInputRef,
155
166
  onKeyDown: onKeyDown,
156
167
  onBlur: onBlur,
157
- onFocus: _ref4 => {
168
+ onFocus: _ref5 => {
158
169
  let {
159
170
  target
160
- } = _ref4,
161
- event = _objectWithoutProperties(_ref4, _excluded3);
171
+ } = _ref5,
172
+ event = _objectWithoutProperties(_ref5, _excluded4);
162
173
  target.focus();
163
174
  target.select();
164
175
  if (onFocus) {
@@ -168,11 +179,11 @@ function MultiInputMaskInput(_ref3) {
168
179
  }
169
180
  },
170
181
  onChange: event => {
171
- onChange(id, removePlaceholder(event.target.value, placeholderCharacter));
182
+ onChange(inputId, removePlaceholder(event.target.value, placeholderCharacter));
172
183
  }
173
184
  }, attributes)), React.createElement("label", {
174
- id: `${markupId}__label`,
175
- htmlFor: `${markupId}__input`,
185
+ id: `${id}-${inputId}__label`,
186
+ htmlFor: `${id}-${inputId}`,
176
187
  hidden: true
177
188
  }, label), delimiter && React.createElement("span", {
178
189
  "aria-hidden": true,
@@ -1 +1 @@
1
- {"version":3,"file":"MultiInputMask.js","names":["React","useRef","Input","TextMask","useHandleCursorPosition","classnames","FormLabel","createSpacingClasses","useMultiInputValue","makeUniqueId","MultiInputMask","_ref","label","labelDirection","inputs","delimiter","onChange","onChangeExternal","disabled","status","statusState","values","defaultValues","className","stretch","inputMode","suffix","onBlur","onFocus","props","_objectWithoutProperties","_excluded","callback","inputRefs","onKeyDown","current","getKeysToHandle","WrapperElement","createElement","element","onClick","onLegendClick","vertical","_extends","status_state","input_element","map","input","index","MultiInputMaskInput","key","id","value","length","undefined","inputRef","getInputRef","firstInput","focus","setSelectionRange","ref","includes","push","uniqueMasks","getUniqueMasks","size","pattern","next","replace","RegExp","reduce","keys","_ref2","mask","masks","Set","forEach","add","String","_ref3","placeholderCharacter","attributes","_excluded2","shouldHighlight","test","markupId","Fragment","placeholderChar","guide","showMask","keepCharPositions","_ref4","target","event","_excluded3","select","_objectSpread","removePlaceholder","htmlFor","hidden","placeholder","_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 * Runs when the input gains focus. Has an object parameter with keys matching the id's defined in `inputs`. i.e. `{month: string, year: string}`\n */\n onFocus?: (values: MultiInputMaskValue<T>) => void\n /**\n * Runs when the input loses focus. Has an object parameter with keys matching the id's defined in `inputs`. i.e. `{month: string, year: string}`\n */\n onBlur?: (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' | 'onFocus' | 'onBlur' | '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 inputMode,\n suffix,\n onBlur,\n onFocus,\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 inputMode={inputMode}\n value={values[input.id]}\n delimiter={index !== inputs.length - 1 ? delimiter : undefined}\n onKeyDown={onKeyDown}\n onChange={onChange}\n onFocus={() => {\n if (onFocus) {\n onFocus(values)\n }\n }}\n onBlur={() => {\n if (onBlur) {\n onBlur(values)\n }\n }}\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 onBlur,\n onFocus,\n ...attributes\n}: MultiInputMaskInputProps<T>) {\n const shouldHighlight = !disabled && /\\w+/.test(value)\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 shouldHighlight && '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 onBlur={onBlur}\n onFocus={({ target, ...event }) => {\n target.focus()\n target.select()\n\n if (onFocus) {\n onFocus({ target, ...event })\n }\n }}\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 shouldHighlight && '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\nexport default MultiInputMask\n\nMultiInputMask._formElement = true\nMultiInputMask._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"MultiInputMask.js","names":["React","useRef","Input","TextMask","useHandleCursorPosition","classnames","FormLabel","createSpacingClasses","useMultiInputValue","makeUniqueId","MultiInputMask","_ref","id","label","labelDirection","inputs","delimiter","onChange","onChangeExternal","disabled","status","statusState","values","defaultValues","className","stretch","inputMode","suffix","onBlur","onFocus","props","_objectWithoutProperties","_excluded","callback","inputRefs","onKeyDown","current","getKeysToHandle","WrapperElement","createElement","element","onClick","onLegendClick","vertical","_extends","status_state","input_element","map","_ref2","index","inputId","rest","_excluded2","MultiInputMaskInput","key","length","undefined","getInputRef","value","firstInput","focus","setSelectionRange","ref","inputRef","includes","push","uniqueMasks","getUniqueMasks","size","pattern","next","replace","RegExp","reduce","keys","_ref3","mask","masks","Set","forEach","input","add","String","_ref4","placeholderCharacter","attributes","_excluded3","shouldHighlight","test","Fragment","placeholderChar","guide","showMask","keepCharPositions","_ref5","target","event","_excluded4","select","_objectSpread","removePlaceholder","htmlFor","hidden","placeholder","_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 * Runs when the input gains focus. Has an object parameter with keys matching the id's defined in `inputs`. i.e. `{month: string, year: string}`\n */\n onFocus?: (values: MultiInputMaskValue<T>) => void\n /**\n * Runs when the input loses focus. Has an object parameter with keys matching the id's defined in `inputs`. i.e. `{month: string, year: string}`\n */\n onBlur?: (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' | 'onFocus' | 'onBlur' | 'ref' | 'value' | 'label'\n> &\n SpacingProps\n\nfunction MultiInputMask<T extends string>({\n id = makeUniqueId(),\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 inputMode,\n suffix,\n onBlur,\n onFocus,\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(({ id: inputId, ...rest }, index) => {\n return (\n <MultiInputMaskInput\n key={inputId}\n id={id}\n inputId={inputId}\n delimiter={\n index !== inputs.length - 1 ? delimiter : undefined\n }\n disabled={disabled}\n inputMode={inputMode}\n onKeyDown={onKeyDown}\n onChange={onChange}\n onFocus={() => {\n if (onFocus) {\n onFocus(values)\n }\n }}\n onBlur={() => {\n if (onBlur) {\n onBlur(values)\n }\n }}\n getInputRef={getInputRef}\n {...rest}\n value={values[inputId]}\n />\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?: {\n inputRef?: MutableRefObject<HTMLInputElement>\n }) {\n const inputRef = ref?.inputRef\n\n if (inputRef && !inputRefs.current.includes(inputRef)) {\n inputRefs.current.push(inputRef)\n }\n\n return inputRef\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 inputId: 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 getInputRef: () => MutableRefObject<HTMLInputElement>\n }\n\nfunction MultiInputMaskInput<T extends string>({\n id,\n inputId,\n label,\n value,\n mask,\n placeholderCharacter,\n delimiter,\n disabled,\n getInputRef,\n onKeyDown,\n onChange,\n onBlur,\n onFocus,\n ...attributes\n}: MultiInputMaskInputProps<T>) {\n const shouldHighlight = !disabled && /\\w+/.test(value)\n\n return (\n <>\n <TextMask\n id={`${id}-${inputId}`}\n data-mask-id={inputId}\n className={classnames(\n 'dnb-input__input',\n 'dnb-multi-input-mask__input',\n shouldHighlight && '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={`${id}-${inputId}__label`}\n ref={getInputRef}\n onKeyDown={onKeyDown}\n onBlur={onBlur}\n onFocus={({ target, ...event }) => {\n target.focus()\n target.select()\n\n if (onFocus) {\n onFocus({ target, ...event })\n }\n }}\n onChange={(event) => {\n onChange(\n inputId,\n removePlaceholder(event.target.value, placeholderCharacter)\n )\n }}\n {...attributes}\n />\n <label\n id={`${id}-${inputId}__label`}\n htmlFor={`${id}-${inputId}`}\n hidden\n >\n {label}\n </label>\n {delimiter && (\n <span\n aria-hidden\n className={classnames(\n 'dnb-multi-input-mask__delimiter',\n shouldHighlight && '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\nexport default MultiInputMask\n\nMultiInputMask._formElement = true\nMultiInputMask._supportsSpacingProps = true\n"],"mappings":";;;;;;;;;;;AAAA,OAAOA,KAAK,IAAgCC,MAAM,QAAQ,OAAO;AACjE,OAAOC,KAAK,MAAM,UAAU;AAC5B,OAAOC,QAAQ,MAAM,YAAY;AACjC,OAAOC,uBAAuB,MAAM,iCAAiC;AACrE,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,SAAS,MAAM,cAAc;AAEpC,SAASC,oBAAoB,QAAQ,wBAAwB;AAE7D,SAASC,kBAAkB,QAAQ,6BAA6B;AAChE,SAASC,YAAY,QAAQ,+BAA+B;AAiF5D,SAASC,cAAcA,CAAAC,IAAA,EAkBI;EAAA,IAlBe;MACxCC,EAAE,GAAGH,YAAY,CAAC,CAAC;MACnBI,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,SAAS;MACTC,MAAM;MACNC,MAAM;MACNC;IAEsB,CAAC,GAAAlB,IAAA;IADpBmB,KAAK,GAAAC,wBAAA,CAAApB,IAAA,EAAAqB,SAAA;EAER,MAAM,CAACV,MAAM,EAAEL,QAAQ,CAAC,GAAGT,kBAAkB,CAAC;IAC5CO,MAAM;IACNQ,aAAa;IACbU,QAAQ,EAAEf;EACZ,CAAC,CAAC;EAEF,MAAMgB,SAAS,GAAGjC,MAAM,CAA4C,EAAE,CAAC;EAEvE,MAAM;IAAEkC;EAAU,CAAC,GAAG/B,uBAAuB,CAC3C8B,SAAS,CAACE,OAAO,EACjBC,eAAe,CAAC,CAClB,CAAC;EAED,MAAMC,cAAc,GAAGzB,KAAK,GAAG,UAAU,GAAG,KAAK;EAEjD,OACEb,KAAA,CAAAuC,aAAA,CAACD,cAAc;IACbd,SAAS,EAAEnB,UAAU,CACnB,gCAAgC,EAGhCE,oBAAoB,CAACuB,KAAK,CAAC,EAF3BhB,cAAc,KAAK,YAAY,IAC7B,4CAEJ;EAAE,GAEDD,KAAK,IACJb,KAAA,CAAAuC,aAAA,CAACjC,SAAS;IACRkB,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,GAGxCd,KAAA,CAAAuC,aAAA,eAAO1B,KAAY,CACV,CACZ,EACDb,KAAA,CAAAuC,aAAA,CAACrC,KAAK,EAAA0C,QAAA,KACAd,KAAK;IACTN,SAAS,EAAEnB,UAAU,CAAC,sBAAsB,EAAEmB,SAAS,CAAE;IACzDL,QAAQ,EAAEA,QAAS;IACnBC,MAAM,EAAEA,MAAO;IACfyB,YAAY,EAAExB,WAAY;IAC1BM,MAAM,EAAEA,MAAO;IACfF,OAAO,EAAEA,OAAQ;IACjBqB,aAAa,EAAE/B,MAAM,CAACgC,GAAG,CAAC,CAAAC,KAAA,EAA2BC,KAAK,KAAK;MAAA,IAApC;UAAErC,EAAE,EAAEsC;QAAiB,CAAC,GAAAF,KAAA;QAANG,IAAI,GAAApB,wBAAA,CAAAiB,KAAA,EAAAI,UAAA;MAC/C,OACEpD,KAAA,CAAAuC,aAAA,CAACc,mBAAmB,EAAAT,QAAA;QAClBU,GAAG,EAAEJ,OAAQ;QACbtC,EAAE,EAAEA,EAAG;QACPsC,OAAO,EAAEA,OAAQ;QACjBlC,SAAS,EACPiC,KAAK,KAAKlC,MAAM,CAACwC,MAAM,GAAG,CAAC,GAAGvC,SAAS,GAAGwC,SAC3C;QACDrC,QAAQ,EAAEA,QAAS;QACnBO,SAAS,EAAEA,SAAU;QACrBS,SAAS,EAAEA,SAAU;QACrBlB,QAAQ,EAAEA,QAAS;QACnBY,OAAO,EAAEA,CAAA,KAAM;UACb,IAAIA,OAAO,EAAE;YACXA,OAAO,CAACP,MAAM,CAAC;UACjB;QACF,CAAE;QACFM,MAAM,EAAEA,CAAA,KAAM;UACZ,IAAIA,MAAM,EAAE;YACVA,MAAM,CAACN,MAAM,CAAC;UAChB;QACF,CAAE;QACFmC,WAAW,EAAEA;MAAY,GACrBN,IAAI;QACRO,KAAK,EAAEpC,MAAM,CAAC4B,OAAO;MAAE,EACxB,CAAC;IAEN,CAAC;EAAE,EACJ,CACa,CAAC;EAInB,SAASR,aAAaA,CAAA,EAAG;IACvB,IAAIvB,QAAQ,EAAE;MACZ;IACF;IAEA,MAAMwC,UAAU,GAAGzB,SAAS,CAACE,OAAO,CAAC,CAAC,CAAC,CAACA,OAAO;IAE/CuB,UAAU,CAACC,KAAK,CAAC,CAAC;IAClBD,UAAU,CAACE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;EACpC;EAGA,SAASJ,WAAWA,CAACK,GAEpB,EAAE;IACD,MAAMC,QAAQ,GAAGD,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEC,QAAQ;IAE9B,IAAIA,QAAQ,IAAI,CAAC7B,SAAS,CAACE,OAAO,CAAC4B,QAAQ,CAACD,QAAQ,CAAC,EAAE;MACrD7B,SAAS,CAACE,OAAO,CAAC6B,IAAI,CAACF,QAAQ,CAAC;IAClC;IAEA,OAAOA,QAAQ;EACjB;EAEA,SAAS1B,eAAeA,CAAA,EAAG;IACzB,MAAM6B,WAAW,GAAGC,cAAc,CAAC,CAAC;IAGpC,IAAID,WAAW,CAACE,IAAI,KAAK,CAAC,EAAE;MAC1B,MAAMC,OAAO,GAAGH,WAAW,CAAC5C,MAAM,CAAC,CAAC,CAACgD,IAAI,CAAC,CAAC,CAACZ,KAAK,CAACa,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;MACpE,OAAO,IAAIC,MAAM,CAACH,OAAO,CAAC;IAC5B;IAIA,OAAOtD,MAAM,CAAC0D,MAAM,CAClB,CAACC,IAAI,EAAAC,KAAA,KAAmB;MAAA,IAAjB;QAAE/D,EAAE;QAAEgE;MAAK,CAAC,GAAAD,KAAA;MACjBD,IAAI,CAAC9D,EAAE,CAAC,GAAGgE,IAAI;MAEf,OAAOF,IAAI;IACb,CAAC,EACD,CAAC,CACH,CAAC;EACH;EAEA,SAASP,cAAcA,CAAA,EAAG;IACxB,MAAMU,KAAK,GAAG,IAAIC,GAAG,CAAC,CAAC;IAEvB/D,MAAM,CAACgE,OAAO,CAAEC,KAAK,IAAK;MACxBA,KAAK,CAACJ,IAAI,CAACG,OAAO,CAAEV,OAAO,IAAKQ,KAAK,CAACI,GAAG,CAACC,MAAM,CAACb,OAAO,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC;IAEF,OAAOQ,KAAK;EACd;AACF;AAoBA,SAASxB,mBAAmBA,CAAA8B,KAAA,EAeI;EAAA,IAfe;MAC7CvE,EAAE;MACFsC,OAAO;MACPrC,KAAK;MACL6C,KAAK;MACLkB,IAAI;MACJQ,oBAAoB;MACpBpE,SAAS;MACTG,QAAQ;MACRsC,WAAW;MACXtB,SAAS;MACTlB,QAAQ;MACRW,MAAM;MACNC;IAE2B,CAAC,GAAAsD,KAAA;IADzBE,UAAU,GAAAtD,wBAAA,CAAAoD,KAAA,EAAAG,UAAA;EAEb,MAAMC,eAAe,GAAG,CAACpE,QAAQ,IAAI,KAAK,CAACqE,IAAI,CAAC9B,KAAK,CAAC;EAEtD,OACE1D,KAAA,CAAAuC,aAAA,CAAAvC,KAAA,CAAAyF,QAAA,QACEzF,KAAA,CAAAuC,aAAA,CAACpC,QAAQ,EAAAyC,QAAA;IACPhC,EAAE,EAAG,GAAEA,EAAG,IAAGsC,OAAQ,EAAE;IACvB,gBAAcA,OAAQ;IACtB1B,SAAS,oDAGP+D,eAAe,kDACf;IACFpE,QAAQ,EAAEA,QAAS;IACnBiD,IAAI,EAAEQ,IAAI,CAACrB,MAAO;IAClBqB,IAAI,EAAEA,IAAK;IACXlB,KAAK,EAAEA,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAG;IACnBgC,eAAe,EAAEN,oBAAqB;IACtCO,KAAK,EAAE,IAAK;IACZC,QAAQ,EAAE,IAAK;IACfC,iBAAiB,EAAE,KAAM;IACzB,mBAAkB,GAAEjF,EAAG,IAAGsC,OAAQ,SAAS;IAC3CY,GAAG,EAAEL,WAAY;IACjBtB,SAAS,EAAEA,SAAU;IACrBP,MAAM,EAAEA,MAAO;IACfC,OAAO,EAAEiE,KAAA,IAA0B;MAAA,IAAzB;UAAEC;QAAiB,CAAC,GAAAD,KAAA;QAAPE,KAAK,GAAAjE,wBAAA,CAAA+D,KAAA,EAAAG,UAAA;MAC1BF,MAAM,CAACnC,KAAK,CAAC,CAAC;MACdmC,MAAM,CAACG,MAAM,CAAC,CAAC;MAEf,IAAIrE,OAAO,EAAE;QACXA,OAAO,CAAAsE,aAAA;UAAGJ;QAAM,GAAKC,KAAK,CAAE,CAAC;MAC/B;IACF,CAAE;IACF/E,QAAQ,EAAG+E,KAAK,IAAK;MACnB/E,QAAQ,CACNiC,OAAO,EACPkD,iBAAiB,CAACJ,KAAK,CAACD,MAAM,CAACrC,KAAK,EAAE0B,oBAAoB,CAC5D,CAAC;IACH;EAAE,GACEC,UAAU,CACf,CAAC,EACFrF,KAAA,CAAAuC,aAAA;IACE3B,EAAE,EAAG,GAAEA,EAAG,IAAGsC,OAAQ,SAAS;IAC9BmD,OAAO,EAAG,GAAEzF,EAAG,IAAGsC,OAAQ,EAAE;IAC5BoD,MAAM;EAAA,GAELzF,KACI,CAAC,EACPG,SAAS,IACRhB,KAAA,CAAAuC,aAAA;IACE,mBAAW;IACXf,SAAS,EACP,iCAAiC,IACjC+D,eAAe;EACf,GAEDvE,SACG,CAER,CAAC;EAGL,SAASoF,iBAAiBA,CAAC1C,KAAa,EAAE6C,WAAmB,EAAE;IAC7D,OAAO7C,KAAK,CAACa,OAAO,CAACC,MAAM,CAAC+B,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;EACrD;AACF;AAEA,eAAe7F,cAAc;AAE7BA,cAAc,CAAC8F,YAAY,GAAG,IAAI;AAClC9F,cAAc,CAAC+F,qBAAqB,GAAG,IAAI"}
@@ -10,6 +10,7 @@
10
10
  */
11
11
  import Accordion from './accordion/Accordion';
12
12
  import Anchor from './anchor/Anchor';
13
+ import AriaLive from './aria-live/AriaLive';
13
14
  import Autocomplete from './autocomplete/Autocomplete';
14
15
  import Avatar from './avatar/Avatar';
15
16
  import Badge from './badge/Badge';
@@ -59,13 +60,14 @@ import ToggleButton from './toggle-button/ToggleButton';
59
60
  import Tooltip from './tooltip/Tooltip';
60
61
  import Upload from './upload/Upload';
61
62
  import VisuallyHidden from './visually-hidden/VisuallyHidden';
62
- export { Accordion, Anchor, Autocomplete, Avatar, Badge, Breadcrumb, Button, Card, Checkbox, DatePicker, Dialog, Drawer, Dropdown, Flex, FormLabel, FormRow, FormSet, FormStatus, GlobalError, GlobalStatus, Grid, Heading, HeightAnimation, HelpButton, Icon, IconPrimary, InfoCard, Input, InputMasked, Logo, Modal, NumberFormat, Pagination, ProgressIndicator, Radio, Section, Skeleton, SkipContent, Slider, Space, StepIndicator, Switch, Table, Tabs, Tag, Textarea, Timeline, ToggleButton, Tooltip, Upload, VisuallyHidden, };
63
+ export { Accordion, Anchor, AriaLive, Autocomplete, Avatar, Badge, Breadcrumb, Button, Card, Checkbox, DatePicker, Dialog, Drawer, Dropdown, Flex, FormLabel, FormRow, FormSet, FormStatus, GlobalError, GlobalStatus, Grid, Heading, HeightAnimation, HelpButton, Icon, IconPrimary, InfoCard, Input, InputMasked, Logo, Modal, NumberFormat, Pagination, ProgressIndicator, Radio, Section, Skeleton, SkipContent, Slider, Space, StepIndicator, Switch, Table, Tabs, Tag, Textarea, Timeline, ToggleButton, Tooltip, Upload, VisuallyHidden, };
63
64
  export declare const getComponents: () => {
64
65
  Accordion: typeof Accordion;
65
66
  Anchor: import("react").ForwardRefExoticComponent<import("./anchor/Anchor").AnchorProps & Omit<import("react").HTMLProps<HTMLAnchorElement>, "ref"> & import("./space/types").SpacingElementProps & {
66
67
  space?: import("./space/types").SpaceTypeAll;
67
68
  innerSpace?: import("./space/types").SpaceTypeAll | import("./space/types").SpaceTypeMedia;
68
69
  } & import("react").RefAttributes<HTMLAnchorElement>>;
70
+ AriaLive: typeof AriaLive;
69
71
  Autocomplete: typeof Autocomplete;
70
72
  Avatar: {
71
73
  (localProps: import("./avatar/Avatar").AvatarProps & import("./space/types").SpacingElementProps & {
package/components/lib.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import Accordion from './accordion/Accordion';
2
2
  import Anchor from './anchor/Anchor';
3
+ import AriaLive from './aria-live/AriaLive';
3
4
  import Autocomplete from './autocomplete/Autocomplete';
4
5
  import Avatar from './avatar/Avatar';
5
6
  import Badge from './badge/Badge';
@@ -49,11 +50,12 @@ import ToggleButton from './toggle-button/ToggleButton';
49
50
  import Tooltip from './tooltip/Tooltip';
50
51
  import Upload from './upload/Upload';
51
52
  import VisuallyHidden from './visually-hidden/VisuallyHidden';
52
- export { Accordion, Anchor, Autocomplete, Avatar, Badge, Breadcrumb, Button, Card, Checkbox, DatePicker, Dialog, Drawer, Dropdown, Flex, FormLabel, FormRow, FormSet, FormStatus, GlobalError, GlobalStatus, Grid, Heading, HeightAnimation, HelpButton, Icon, IconPrimary, InfoCard, Input, InputMasked, Logo, Modal, NumberFormat, Pagination, ProgressIndicator, Radio, Section, Skeleton, SkipContent, Slider, Space, StepIndicator, Switch, Table, Tabs, Tag, Textarea, Timeline, ToggleButton, Tooltip, Upload, VisuallyHidden };
53
+ export { Accordion, Anchor, AriaLive, Autocomplete, Avatar, Badge, Breadcrumb, Button, Card, Checkbox, DatePicker, Dialog, Drawer, Dropdown, Flex, FormLabel, FormRow, FormSet, FormStatus, GlobalError, GlobalStatus, Grid, Heading, HeightAnimation, HelpButton, Icon, IconPrimary, InfoCard, Input, InputMasked, Logo, Modal, NumberFormat, Pagination, ProgressIndicator, Radio, Section, Skeleton, SkipContent, Slider, Space, StepIndicator, Switch, Table, Tabs, Tag, Textarea, Timeline, ToggleButton, Tooltip, Upload, VisuallyHidden };
53
54
  export const getComponents = () => {
54
55
  return {
55
56
  Accordion,
56
57
  Anchor,
58
+ AriaLive,
57
59
  Autocomplete,
58
60
  Avatar,
59
61
  Badge,
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","names":["Accordion","Anchor","Autocomplete","Avatar","Badge","Breadcrumb","Button","Card","Checkbox","DatePicker","Dialog","Drawer","Dropdown","Flex","FormLabel","FormRow","FormSet","FormStatus","GlobalError","GlobalStatus","Grid","Heading","HeightAnimation","HelpButton","Icon","IconPrimary","InfoCard","Input","InputMasked","Logo","Modal","NumberFormat","Pagination","ProgressIndicator","Radio","Section","Skeleton","SkipContent","Slider","Space","StepIndicator","Switch","Table","Tabs","Tag","Textarea","Timeline","ToggleButton","Tooltip","Upload","VisuallyHidden","getComponents"],"sources":["../../../src/components/lib.ts"],"sourcesContent":["/**\n * ATTENTION: This file is auto generated by using \"prepareTemplates\".\n * Do not change the content!\n *\n */\n\n/**\n * Library Index template to autogenerate all the components and extensions\n * Used by \"prepareTemplates\"\n */\n\n// import all the available components\nimport Accordion from './accordion/Accordion'\nimport Anchor from './anchor/Anchor'\nimport Autocomplete from './autocomplete/Autocomplete'\nimport Avatar from './avatar/Avatar'\nimport Badge from './badge/Badge'\nimport Breadcrumb from './breadcrumb/Breadcrumb'\nimport Button from './button/Button'\nimport Card from './card/Card'\nimport Checkbox from './checkbox/Checkbox'\nimport DatePicker from './date-picker/DatePicker'\nimport Dialog from './dialog/Dialog'\nimport Drawer from './drawer/Drawer'\nimport Dropdown from './dropdown/Dropdown'\nimport Flex from './flex/Flex'\nimport FormLabel from './form-label/FormLabel'\nimport FormRow from './form-row/FormRow'\nimport FormSet from './form-set/FormSet'\nimport FormStatus from './form-status/FormStatus'\nimport GlobalError from './global-error/GlobalError'\nimport GlobalStatus from './global-status/GlobalStatus'\nimport Grid from './grid/Grid'\nimport Heading from './heading/Heading'\nimport HeightAnimation from './height-animation/HeightAnimation'\nimport HelpButton from './help-button/HelpButton'\nimport Icon from './icon/Icon'\nimport IconPrimary from './icon-primary/IconPrimary'\nimport InfoCard from './info-card/InfoCard'\nimport Input from './input/Input'\nimport InputMasked from './input-masked/InputMasked'\nimport Logo from './logo/Logo'\nimport Modal from './modal/Modal'\nimport NumberFormat from './number-format/NumberFormat'\nimport Pagination from './pagination/Pagination'\nimport ProgressIndicator from './progress-indicator/ProgressIndicator'\nimport Radio from './radio/Radio'\nimport Section from './section/Section'\nimport Skeleton from './skeleton/Skeleton'\nimport SkipContent from './skip-content/SkipContent'\nimport Slider from './slider/Slider'\nimport Space from './space/Space'\nimport StepIndicator from './step-indicator/StepIndicator'\nimport Switch from './switch/Switch'\nimport Table from './table/Table'\nimport Tabs from './tabs/Tabs'\nimport Tag from './tag/Tag'\nimport Textarea from './textarea/Textarea'\nimport Timeline from './timeline/Timeline'\nimport ToggleButton from './toggle-button/ToggleButton'\nimport Tooltip from './tooltip/Tooltip'\nimport Upload from './upload/Upload'\nimport VisuallyHidden from './visually-hidden/VisuallyHidden'\n\n// define / export all the available components\nexport {\n Accordion,\n Anchor,\n Autocomplete,\n Avatar,\n Badge,\n Breadcrumb,\n Button,\n Card,\n Checkbox,\n DatePicker,\n Dialog,\n Drawer,\n Dropdown,\n Flex,\n FormLabel,\n FormRow,\n FormSet,\n FormStatus,\n GlobalError,\n GlobalStatus,\n Grid,\n Heading,\n HeightAnimation,\n HelpButton,\n Icon,\n IconPrimary,\n InfoCard,\n Input,\n InputMasked,\n Logo,\n Modal,\n NumberFormat,\n Pagination,\n ProgressIndicator,\n Radio,\n Section,\n Skeleton,\n SkipContent,\n Slider,\n Space,\n StepIndicator,\n Switch,\n Table,\n Tabs,\n Tag,\n Textarea,\n Timeline,\n ToggleButton,\n Tooltip,\n Upload,\n VisuallyHidden,\n}\n\nexport const getComponents = () => {\n return {\n Accordion,\n Anchor,\n Autocomplete,\n Avatar,\n Badge,\n Breadcrumb,\n Button,\n Card,\n Checkbox,\n DatePicker,\n Dialog,\n Drawer,\n Dropdown,\n Flex,\n FormLabel,\n FormRow,\n FormSet,\n FormStatus,\n GlobalError,\n GlobalStatus,\n Grid,\n Heading,\n HeightAnimation,\n HelpButton,\n Icon,\n IconPrimary,\n InfoCard,\n Input,\n InputMasked,\n Logo,\n Modal,\n NumberFormat,\n Pagination,\n ProgressIndicator,\n Radio,\n Section,\n Skeleton,\n SkipContent,\n Slider,\n Space,\n StepIndicator,\n Switch,\n Table,\n Tabs,\n Tag,\n Textarea,\n Timeline,\n ToggleButton,\n Tooltip,\n Upload,\n VisuallyHidden,\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"lib.js","names":["Accordion","Anchor","AriaLive","Autocomplete","Avatar","Badge","Breadcrumb","Button","Card","Checkbox","DatePicker","Dialog","Drawer","Dropdown","Flex","FormLabel","FormRow","FormSet","FormStatus","GlobalError","GlobalStatus","Grid","Heading","HeightAnimation","HelpButton","Icon","IconPrimary","InfoCard","Input","InputMasked","Logo","Modal","NumberFormat","Pagination","ProgressIndicator","Radio","Section","Skeleton","SkipContent","Slider","Space","StepIndicator","Switch","Table","Tabs","Tag","Textarea","Timeline","ToggleButton","Tooltip","Upload","VisuallyHidden","getComponents"],"sources":["../../../src/components/lib.ts"],"sourcesContent":["/**\n * ATTENTION: This file is auto generated by using \"prepareTemplates\".\n * Do not change the content!\n *\n */\n\n/**\n * Library Index template to autogenerate all the components and extensions\n * Used by \"prepareTemplates\"\n */\n\n// import all the available components\nimport Accordion from './accordion/Accordion'\nimport Anchor from './anchor/Anchor'\nimport AriaLive from './aria-live/AriaLive'\nimport Autocomplete from './autocomplete/Autocomplete'\nimport Avatar from './avatar/Avatar'\nimport Badge from './badge/Badge'\nimport Breadcrumb from './breadcrumb/Breadcrumb'\nimport Button from './button/Button'\nimport Card from './card/Card'\nimport Checkbox from './checkbox/Checkbox'\nimport DatePicker from './date-picker/DatePicker'\nimport Dialog from './dialog/Dialog'\nimport Drawer from './drawer/Drawer'\nimport Dropdown from './dropdown/Dropdown'\nimport Flex from './flex/Flex'\nimport FormLabel from './form-label/FormLabel'\nimport FormRow from './form-row/FormRow'\nimport FormSet from './form-set/FormSet'\nimport FormStatus from './form-status/FormStatus'\nimport GlobalError from './global-error/GlobalError'\nimport GlobalStatus from './global-status/GlobalStatus'\nimport Grid from './grid/Grid'\nimport Heading from './heading/Heading'\nimport HeightAnimation from './height-animation/HeightAnimation'\nimport HelpButton from './help-button/HelpButton'\nimport Icon from './icon/Icon'\nimport IconPrimary from './icon-primary/IconPrimary'\nimport InfoCard from './info-card/InfoCard'\nimport Input from './input/Input'\nimport InputMasked from './input-masked/InputMasked'\nimport Logo from './logo/Logo'\nimport Modal from './modal/Modal'\nimport NumberFormat from './number-format/NumberFormat'\nimport Pagination from './pagination/Pagination'\nimport ProgressIndicator from './progress-indicator/ProgressIndicator'\nimport Radio from './radio/Radio'\nimport Section from './section/Section'\nimport Skeleton from './skeleton/Skeleton'\nimport SkipContent from './skip-content/SkipContent'\nimport Slider from './slider/Slider'\nimport Space from './space/Space'\nimport StepIndicator from './step-indicator/StepIndicator'\nimport Switch from './switch/Switch'\nimport Table from './table/Table'\nimport Tabs from './tabs/Tabs'\nimport Tag from './tag/Tag'\nimport Textarea from './textarea/Textarea'\nimport Timeline from './timeline/Timeline'\nimport ToggleButton from './toggle-button/ToggleButton'\nimport Tooltip from './tooltip/Tooltip'\nimport Upload from './upload/Upload'\nimport VisuallyHidden from './visually-hidden/VisuallyHidden'\n\n// define / export all the available components\nexport {\n Accordion,\n Anchor,\n AriaLive,\n Autocomplete,\n Avatar,\n Badge,\n Breadcrumb,\n Button,\n Card,\n Checkbox,\n DatePicker,\n Dialog,\n Drawer,\n Dropdown,\n Flex,\n FormLabel,\n FormRow,\n FormSet,\n FormStatus,\n GlobalError,\n GlobalStatus,\n Grid,\n Heading,\n HeightAnimation,\n HelpButton,\n Icon,\n IconPrimary,\n InfoCard,\n Input,\n InputMasked,\n Logo,\n Modal,\n NumberFormat,\n Pagination,\n ProgressIndicator,\n Radio,\n Section,\n Skeleton,\n SkipContent,\n Slider,\n Space,\n StepIndicator,\n Switch,\n Table,\n Tabs,\n Tag,\n Textarea,\n Timeline,\n ToggleButton,\n Tooltip,\n Upload,\n VisuallyHidden,\n}\n\nexport const getComponents = () => {\n return {\n Accordion,\n Anchor,\n AriaLive,\n Autocomplete,\n Avatar,\n Badge,\n Breadcrumb,\n Button,\n Card,\n Checkbox,\n DatePicker,\n Dialog,\n Drawer,\n Dropdown,\n Flex,\n FormLabel,\n FormRow,\n FormSet,\n FormStatus,\n GlobalError,\n GlobalStatus,\n Grid,\n Heading,\n HeightAnimation,\n HelpButton,\n Icon,\n IconPrimary,\n InfoCard,\n Input,\n InputMasked,\n Logo,\n Modal,\n NumberFormat,\n Pagination,\n ProgressIndicator,\n Radio,\n Section,\n Skeleton,\n SkipContent,\n Slider,\n Space,\n StepIndicator,\n Switch,\n Table,\n Tabs,\n Tag,\n Textarea,\n Timeline,\n ToggleButton,\n Tooltip,\n Upload,\n VisuallyHidden,\n }\n}\n"],"mappings":"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"}
@@ -30,6 +30,7 @@ export interface formatReturnValue {
30
30
  }
31
31
  export type formatValue = string | number;
32
32
  export type formatReturnType = formatReturnValue | formatValue;
33
+
33
34
  export interface formatOptionParams {
34
35
  /** can be "auto" */
35
36
  locale?: Locale;
@@ -80,10 +81,15 @@ export interface formatOptionParams {
80
81
  /** If an object should be returned, including the "aria" property */
81
82
  returnAria?: boolean;
82
83
  }
83
- export const format: (
84
+
85
+ export function format(
86
+ value: formatValue,
87
+ options: formatOptionParams & { returnAria: true }
88
+ ): formatReturnValue;
89
+ export function format(
84
90
  value: formatValue,
85
91
  options?: formatOptionParams
86
- ) => formatReturnType;
92
+ ): formatValue;
87
93
 
88
94
  type cleanNumberOptions = {
89
95
  decimalSeparator?: string;
@@ -1,3 +1,3 @@
1
1
  import type { formatOptionParams, formatValue } from './NumberUtils';
2
- declare function useNumberFormat(value: formatValue, options?: formatOptionParams): import("./NumberUtils").formatReturnType;
2
+ declare function useNumberFormat(value: formatValue, options?: formatOptionParams): formatValue;
3
3
  export default useNumberFormat;
@@ -69,13 +69,16 @@ export type SectionProps = {
69
69
  */
70
70
  innerRef?: React.RefObject<HTMLElement>;
71
71
  /**
72
- * @deprecated in v11 use "innerSpace" prop instead */
72
+ * @deprecated in v11 use "innerSpace" prop instead
73
+ */
73
74
  spacing?: SectionSpacing | ResponsiveProp<SectionSpacing>;
74
75
  /**
75
- * @deprecated in v11 use "background" prop instead */
76
+ * @deprecated in v11 use "background" prop instead
77
+ */
76
78
  style_type?: SectionStyleTypes | string;
77
79
  /**
78
- * @deprecated in v11 use "innerRef" prop instead */
80
+ * @deprecated in v11 use "innerRef" prop instead
81
+ */
79
82
  inner_ref?: React.RefObject<HTMLElement>;
80
83
  };
81
84
  export type SectionAllProps = SectionProps & SpacingProps & Omit<React.HTMLProps<HTMLElement>, 'ref'>;
@@ -1 +1 @@
1
- {"version":3,"file":"Section.js","names":["React","classnames","Context","isTrue","extendPropsWithContext","Space","defaultProps","element","Section","localProps","createElement","SectionParams","context","useContext","props","variant","breakout","roundedCorner","textColor","backgroundColor","dropShadow","outline","innerRef","className","children","spacing","style_type","inner_ref","attributes","_objectWithoutProperties","_excluded","internalRef","useRef","elementRef","Object","freeze","_objectSpread","style","computeStyle","value","getColor","String","test","undefined","property","name","valueCallback","media","small","medium","large","result","size","_media","_media2","_name","_supportsSpacingProps"],"sources":["../../../../src/components/section/Section.tsx"],"sourcesContent":["/**\n * Web Section Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n isTrue,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport type {\n DynamicElement,\n ResponsiveProp,\n SpacingProps,\n} from '../../shared/types'\nimport Space from '../space/Space'\n\nexport type SectionVariants = 'error' | 'info' | 'warning' | 'success'\n\nexport type SectionStyleTypes =\n | 'divider'\n | 'white'\n | 'transparent'\n\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'lavender'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'pistachio'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'emerald-green'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'sea-green'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'fire-red'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'fire-red-8'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'sand-yellow'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'black-3'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'mint-green'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'mint-green-12'\n\nexport type SectionSpacing =\n | boolean\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n\nexport type TextColor = string\nexport type OutlineColor = string | boolean\nexport type BackgroundColor = string\nexport type DropShadow = boolean\n\nexport type SectionProps = {\n /**\n * Defines the semantic purpose and subsequently the style of the visual helper. Will take precedence over the style_type prop\n */\n variant?: SectionVariants | string\n\n /**\n * Define if the background color should break-out to a fullscreen view. Defaults to `true`.\n */\n breakout?: boolean | ResponsiveProp<boolean>\n\n /**\n * Define if the section should have rounded corners. Defaults to `false`.\n */\n roundedCorner?: boolean | ResponsiveProp<boolean>\n\n /**\n * Define a custom border color. Use a Eufemia color.\n */\n outline?: OutlineColor | ResponsiveProp<OutlineColor>\n\n /**\n * Define a custom text color to compliment the backgroundColor. Use a Eufemia color.\n */\n textColor?: TextColor | ResponsiveProp<TextColor>\n\n /**\n * Define a custom background color, instead of a variant. Use a Eufemia color.\n */\n backgroundColor?: BackgroundColor | ResponsiveProp<BackgroundColor>\n\n /**\n * Define a custom drop-shadow.\n */\n dropShadow?: DropShadow | ResponsiveProp<DropShadow>\n\n /**\n * Define what HTML element should be used. Defaults to `<section>`.\n */\n element?: DynamicElement\n\n /**\n * Define a React.Ref.\n */\n innerRef?: React.RefObject<HTMLElement>\n\n /**\n * @deprecated in v11 use \"innerSpace\" prop instead */\n spacing?: SectionSpacing | ResponsiveProp<SectionSpacing>\n /**\n * @deprecated in v11 use \"background\" prop instead */\n style_type?: SectionStyleTypes | string\n /**\n * @deprecated in v11 use \"innerRef\" prop instead */\n inner_ref?: React.RefObject<HTMLElement>\n}\n\nexport type SectionAllProps = SectionProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref'>\n\ntype SectionReturnParams = Record<string, unknown> & {\n className: string\n innerRef: React.RefObject<HTMLElement>\n children: React.ReactNode\n style: React.CSSProperties\n}\n\nconst defaultProps = {\n element: 'section',\n}\n\nexport default function Section(localProps: SectionAllProps) {\n return <Space {...SectionParams(localProps)} />\n}\n\nexport function SectionParams(\n localProps: SectionAllProps\n): SectionReturnParams {\n const context = React.useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContext(\n localProps,\n defaultProps,\n context.Section\n )\n\n const {\n variant,\n breakout = true,\n roundedCorner,\n textColor,\n backgroundColor,\n dropShadow,\n outline,\n innerRef,\n\n className,\n children,\n\n spacing,\n style_type,\n inner_ref,\n\n ...attributes\n } = props\n\n const internalRef = React.useRef<HTMLElement>()\n const elementRef = innerRef || inner_ref || internalRef\n\n return Object.freeze({\n ...attributes,\n className: classnames(\n 'dnb-section',\n `dnb-section--${variant ? variant : style_type || 'default'}`,\n spacing &&\n `dnb-section--spacing-${isTrue(spacing) ? 'large' : spacing}`,\n className\n ),\n style: {\n ...computeStyle(\n breakout,\n 'breakout',\n (value) => `var(--breakout--${value ? 'on' : 'off'})`\n ),\n ...computeStyle(\n roundedCorner,\n 'rounded-corner',\n (value) => value && 'var(--rounded-corner--value)'\n ),\n ...computeStyle(textColor, 'text-color', (value) => getColor(value)),\n ...computeStyle(backgroundColor, 'background-color', (value) =>\n getColor(value)\n ),\n ...computeStyle(\n dropShadow,\n 'drop-shadow',\n (value) => value && 'var(--shadow-default)'\n ),\n ...computeStyle(outline, 'outline-color', (value) =>\n String(value) === 'true'\n ? 'var(--outline-color--value)'\n : getColor(value)\n ),\n ...attributes?.style,\n } as React.CSSProperties,\n innerRef: elementRef,\n children,\n })\n}\n\nfunction getColor(value: string) {\n return value\n ? !/#|var/.test(value)\n ? `var(--color-${value})`\n : value\n : undefined\n}\n\nfunction computeStyle(\n property: ResponsiveProp<unknown> | boolean | string,\n name: string,\n valueCallback: (value: string) => string | undefined\n) {\n let media = property as ResponsiveProp<unknown>\n\n if (media !== null && typeof media !== 'object') {\n media = {\n small: property,\n medium: property,\n large: property,\n } as ResponsiveProp<unknown>\n }\n\n const result = {}\n\n for (const size in media as ResponsiveProp<unknown>) {\n if (typeof media?.[size] !== 'undefined') {\n const value = valueCallback(media?.[size])\n if (typeof value === 'string') {\n result[`--${name}--${size}`] = value\n }\n }\n }\n\n return result\n}\n\nSection._name = 'Section'\nSection._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"Section.js","names":["React","classnames","Context","isTrue","extendPropsWithContext","Space","defaultProps","element","Section","localProps","createElement","SectionParams","context","useContext","props","variant","breakout","roundedCorner","textColor","backgroundColor","dropShadow","outline","innerRef","className","children","spacing","style_type","inner_ref","attributes","_objectWithoutProperties","_excluded","internalRef","useRef","elementRef","Object","freeze","_objectSpread","style","computeStyle","value","getColor","String","test","undefined","property","name","valueCallback","media","small","medium","large","result","size","_media","_media2","_name","_supportsSpacingProps"],"sources":["../../../../src/components/section/Section.tsx"],"sourcesContent":["/**\n * Web Section Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n isTrue,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport type {\n DynamicElement,\n ResponsiveProp,\n SpacingProps,\n} from '../../shared/types'\nimport Space from '../space/Space'\n\nexport type SectionVariants = 'error' | 'info' | 'warning' | 'success'\n\nexport type SectionStyleTypes =\n | 'divider'\n | 'white'\n | 'transparent'\n\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'lavender'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'pistachio'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'emerald-green'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'sea-green'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'fire-red'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'fire-red-8'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'sand-yellow'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'black-3'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'mint-green'\n /** @deprecated in v11 use \"variant\" or \"backgroundColor\" prop instead */\n | 'mint-green-12'\n\nexport type SectionSpacing =\n | boolean\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n\nexport type TextColor = string\nexport type OutlineColor = string | boolean\nexport type BackgroundColor = string\nexport type DropShadow = boolean\n\nexport type SectionProps = {\n /**\n * Defines the semantic purpose and subsequently the style of the visual helper. Will take precedence over the style_type prop\n */\n variant?: SectionVariants | string\n\n /**\n * Define if the background color should break-out to a fullscreen view. Defaults to `true`.\n */\n breakout?: boolean | ResponsiveProp<boolean>\n\n /**\n * Define if the section should have rounded corners. Defaults to `false`.\n */\n roundedCorner?: boolean | ResponsiveProp<boolean>\n\n /**\n * Define a custom border color. Use a Eufemia color.\n */\n outline?: OutlineColor | ResponsiveProp<OutlineColor>\n\n /**\n * Define a custom text color to compliment the backgroundColor. Use a Eufemia color.\n */\n textColor?: TextColor | ResponsiveProp<TextColor>\n\n /**\n * Define a custom background color, instead of a variant. Use a Eufemia color.\n */\n backgroundColor?: BackgroundColor | ResponsiveProp<BackgroundColor>\n\n /**\n * Define a custom drop-shadow.\n */\n dropShadow?: DropShadow | ResponsiveProp<DropShadow>\n\n /**\n * Define what HTML element should be used. Defaults to `<section>`.\n */\n element?: DynamicElement\n\n /**\n * Define a React.Ref.\n */\n innerRef?: React.RefObject<HTMLElement>\n\n /**\n * @deprecated in v11 use \"innerSpace\" prop instead\n */\n spacing?: SectionSpacing | ResponsiveProp<SectionSpacing>\n /**\n * @deprecated in v11 use \"background\" prop instead\n */\n style_type?: SectionStyleTypes | string\n /**\n * @deprecated in v11 use \"innerRef\" prop instead\n */\n inner_ref?: React.RefObject<HTMLElement>\n}\n\nexport type SectionAllProps = SectionProps &\n SpacingProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref'>\n\ntype SectionReturnParams = Record<string, unknown> & {\n className: string\n innerRef: React.RefObject<HTMLElement>\n children: React.ReactNode\n style: React.CSSProperties\n}\n\nconst defaultProps = {\n element: 'section',\n}\n\nexport default function Section(localProps: SectionAllProps) {\n return <Space {...SectionParams(localProps)} />\n}\n\nexport function SectionParams(\n localProps: SectionAllProps\n): SectionReturnParams {\n const context = React.useContext(Context)\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContext(\n localProps,\n defaultProps,\n context.Section\n )\n\n const {\n variant,\n breakout = true,\n roundedCorner,\n textColor,\n backgroundColor,\n dropShadow,\n outline,\n innerRef,\n\n className,\n children,\n\n spacing,\n style_type,\n inner_ref,\n\n ...attributes\n } = props\n\n const internalRef = React.useRef<HTMLElement>()\n const elementRef = innerRef || inner_ref || internalRef\n\n return Object.freeze({\n ...attributes,\n className: classnames(\n 'dnb-section',\n `dnb-section--${variant ? variant : style_type || 'default'}`,\n spacing &&\n `dnb-section--spacing-${isTrue(spacing) ? 'large' : spacing}`,\n className\n ),\n style: {\n ...computeStyle(\n breakout,\n 'breakout',\n (value) => `var(--breakout--${value ? 'on' : 'off'})`\n ),\n ...computeStyle(\n roundedCorner,\n 'rounded-corner',\n (value) => value && 'var(--rounded-corner--value)'\n ),\n ...computeStyle(textColor, 'text-color', (value) => getColor(value)),\n ...computeStyle(backgroundColor, 'background-color', (value) =>\n getColor(value)\n ),\n ...computeStyle(\n dropShadow,\n 'drop-shadow',\n (value) => value && 'var(--shadow-default)'\n ),\n ...computeStyle(outline, 'outline-color', (value) =>\n String(value) === 'true'\n ? 'var(--outline-color--value)'\n : getColor(value)\n ),\n ...attributes?.style,\n } as React.CSSProperties,\n innerRef: elementRef,\n children,\n })\n}\n\nfunction getColor(value: string) {\n return value\n ? !/#|var/.test(value)\n ? `var(--color-${value})`\n : value\n : undefined\n}\n\nfunction computeStyle(\n property: ResponsiveProp<unknown> | boolean | string,\n name: string,\n valueCallback: (value: string) => string | undefined\n) {\n let media = property as ResponsiveProp<unknown>\n\n if (media !== null && typeof media !== 'object') {\n media = {\n small: property,\n medium: property,\n large: property,\n } as ResponsiveProp<unknown>\n }\n\n const result = {}\n\n for (const size in media as ResponsiveProp<unknown>) {\n if (typeof media?.[size] !== 'undefined') {\n const value = valueCallback(media?.[size])\n if (typeof value === 'string') {\n result[`--${name}--${size}`] = value\n }\n }\n }\n\n return result\n}\n\nSection._name = 'Section'\nSection._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -18,6 +18,7 @@
18
18
  --left: -100vw;
19
19
  --width: 100vw;
20
20
  --height: 100%;
21
+ --color-transparent: transparent;
21
22
  color: var(--text-color, black);
22
23
  border-radius: var(--rounded-corner, 0);
23
24
  }
@@ -1,4 +1,4 @@
1
- .dnb-section{--breakout--on:visible;--breakout--off:hidden;--rounded-corner--value:0.5rem;--outline:0 0 0 var(--outline-width,1px) var(--outline-color,transparent);--outline-none:0 0 0 0 transparent;--top:0;--left:-100vw;--width:100vw;--height:100%;border-radius:var(--rounded-corner,0);color:var(--text-color,#000);display:flow-root;position:relative}.dnb-section[style*="--background-color"]{background-color:var(--background-color,#fff)}.dnb-section:before{border-radius:var(--rounded-corner,0);box-shadow:var(--drop-shadow,var(--outline-none)),var(--outline,var(--outline-none));content:"";inset:0;position:absolute;z-index:-1}.dnb-section:after{--box-shadow:99vw 0 0 0 currentcolor,198vw 0 0 0 currentcolor,297vw 0 0 0 currentcolor,396vw 0 0 0 currentcolor;background-color:currentcolor;box-shadow:var(--box-shadow);color:var(--background-color,currentcolor);content:"";height:var(--height);left:var(--left);position:absolute;top:var(--top);visibility:var(--breakout,hidden);width:var(--width);z-index:-15}.dnb-section:not([style*="--breakout"]){--breakout:var(--breakout--on)}@media screen and (max-width:60em){.dnb-section{--breakout:var(--breakout--small,var(--breakout--fallback));--background-color--value:var(--background-color--small);--text-color--value:var(--text-color--small);--outline-color:var(--outline-color--small);--drop-shadow:var(--drop-shadow--small);--rounded-corner:var(
1
+ .dnb-section{--breakout--on:visible;--breakout--off:hidden;--rounded-corner--value:0.5rem;--outline:0 0 0 var(--outline-width,1px) var(--outline-color,transparent);--outline-none:0 0 0 0 transparent;--top:0;--left:-100vw;--width:100vw;--height:100%;--color-transparent:transparent;border-radius:var(--rounded-corner,0);color:var(--text-color,#000);display:flow-root;position:relative}.dnb-section[style*="--background-color"]{background-color:var(--background-color,#fff)}.dnb-section:before{border-radius:var(--rounded-corner,0);box-shadow:var(--drop-shadow,var(--outline-none)),var(--outline,var(--outline-none));content:"";inset:0;position:absolute;z-index:-1}.dnb-section:after{--box-shadow:99vw 0 0 0 currentcolor,198vw 0 0 0 currentcolor,297vw 0 0 0 currentcolor,396vw 0 0 0 currentcolor;background-color:currentcolor;box-shadow:var(--box-shadow);color:var(--background-color,currentcolor);content:"";height:var(--height);left:var(--left);position:absolute;top:var(--top);visibility:var(--breakout,hidden);width:var(--width);z-index:-15}.dnb-section:not([style*="--breakout"]){--breakout:var(--breakout--on)}@media screen and (max-width:60em){.dnb-section{--breakout:var(--breakout--small,var(--breakout--fallback));--background-color--value:var(--background-color--small);--text-color--value:var(--text-color--small);--outline-color:var(--outline-color--small);--drop-shadow:var(--drop-shadow--small);--rounded-corner:var(
2
2
  --rounded-corner--small,var(--rounded-corner--fallback)
3
3
  )}}@media screen and (max-width:59.9375em) and (min-width:40.0625em){.dnb-section{--breakout:var(--breakout--medium,var(--breakout--fallback));--background-color--value:var(--background-color--medium);--text-color--value:var(--text-color--medium);--outline-color:var(--outline-color--medium);--drop-shadow:var(--drop-shadow--medium);--rounded-corner:var(
4
4
  --rounded-corner--medium,var(--rounded-corner--fallback)
@@ -22,6 +22,7 @@
22
22
  --left: -100vw;
23
23
  --width: 100vw;
24
24
  --height: 100%;
25
+ --color-transparent: transparent;
25
26
 
26
27
  color: var(--text-color, black);
27
28
  border-radius: var(--rounded-corner, 0);
@@ -99,7 +99,11 @@ export const createSpacingClasses = function (props) {
99
99
  const p = Object.isFrozen(props) ? _objectSpread({}, props) : props;
100
100
  if (typeof p.space !== 'undefined') {
101
101
  if (typeof p.space === 'string' || typeof p.space === 'number' || typeof p.space === 'boolean' && p.space) {
102
- p.top = p.right = p.bottom = p.left = p.space;
102
+ var _p$left, _p$bottom, _p$right, _p$top;
103
+ p.left = (_p$left = p.left) !== null && _p$left !== void 0 ? _p$left : p.space;
104
+ p.bottom = (_p$bottom = p.bottom) !== null && _p$bottom !== void 0 ? _p$bottom : p.space;
105
+ p.right = (_p$right = p.right) !== null && _p$right !== void 0 ? _p$right : p.space;
106
+ p.top = (_p$top = p.top) !== null && _p$top !== void 0 ? _p$top : p.space;
103
107
  }
104
108
  if (typeof p.space === 'object') {
105
109
  for (const i in p.space) {