@dnb/eufemia 10.17.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 (828) hide show
  1. package/CHANGELOG.md +45 -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 +32 -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/flex/utils.d.ts +1 -1
  39. package/cjs/components/flex/utils.js +11 -1
  40. package/cjs/components/flex/utils.js.map +1 -1
  41. package/cjs/components/index.d.ts +2 -1
  42. package/cjs/components/index.js +7 -0
  43. package/cjs/components/index.js.map +1 -1
  44. package/cjs/components/input/Input.js +0 -3
  45. package/cjs/components/input/Input.js.map +1 -1
  46. package/cjs/components/input-masked/MultiInputMask.d.ts +10 -2
  47. package/cjs/components/input-masked/MultiInputMask.js +77 -39
  48. package/cjs/components/input-masked/MultiInputMask.js.map +1 -1
  49. package/cjs/components/input-masked/hooks/useMultiInputValues.d.ts +2 -2
  50. package/cjs/components/input-masked/hooks/useMultiInputValues.js.map +1 -1
  51. package/cjs/components/lib.d.ts +3 -1
  52. package/cjs/components/lib.js +8 -0
  53. package/cjs/components/lib.js.map +1 -1
  54. package/cjs/components/number-format/NumberFormat.js +1 -1
  55. package/cjs/components/number-format/NumberFormat.js.map +1 -1
  56. package/cjs/components/number-format/NumberUtils.d.ts +8 -2
  57. package/cjs/components/number-format/useNumberFormat.d.ts +1 -1
  58. package/cjs/components/section/Section.d.ts +6 -3
  59. package/cjs/components/section/Section.js.map +1 -1
  60. package/cjs/components/section/style/dnb-section.css +1 -0
  61. package/cjs/components/section/style/dnb-section.min.css +1 -1
  62. package/cjs/components/section/style/dnb-section.scss +1 -0
  63. package/cjs/components/space/SpacingUtils.js +5 -1
  64. package/cjs/components/space/SpacingUtils.js.map +1 -1
  65. package/cjs/components/table/TableAccordion.js +1 -1
  66. package/cjs/components/table/TableAccordion.js.map +1 -1
  67. package/cjs/components/textarea/Textarea.d.ts +5 -0
  68. package/cjs/components/textarea/Textarea.js +16 -3
  69. package/cjs/components/textarea/Textarea.js.map +1 -1
  70. package/cjs/components/textarea/style/dnb-textarea.css +10 -3
  71. package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
  72. package/cjs/components/textarea/style/dnb-textarea.scss +13 -3
  73. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.css +15 -2
  74. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  75. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.scss +15 -2
  76. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +8 -1
  77. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -1
  78. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +6 -1
  79. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +4 -0
  80. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
  81. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +5 -0
  82. package/cjs/components/visually-hidden/VisuallyHidden.js +1 -1
  83. package/cjs/components/visually-hidden/VisuallyHidden.js.map +1 -1
  84. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +8 -4
  85. package/cjs/extensions/forms/DataContext/Provider/Provider.js +32 -4
  86. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  87. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +14 -12
  88. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  89. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -2
  90. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  91. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +12 -2
  92. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +2 -2
  93. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +2 -2
  94. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  95. package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  96. package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  97. package/cjs/extensions/forms/Field/Currency/Currency.d.ts +2 -2
  98. package/cjs/extensions/forms/Field/Currency/Currency.js.map +1 -1
  99. package/cjs/extensions/forms/Field/Date/Date.js +4 -5
  100. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  101. package/cjs/extensions/forms/Field/Email/Email.d.ts +2 -2
  102. package/cjs/extensions/forms/Field/Email/Email.js +2 -2
  103. package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
  104. package/cjs/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  105. package/cjs/extensions/forms/Field/Expiry/Expiry.js +32 -21
  106. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  107. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
  108. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +2 -2
  109. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  110. package/cjs/extensions/forms/Field/Number/Number.js +12 -15
  111. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  112. package/cjs/extensions/forms/Field/Number/style/dnb-number.css +0 -6
  113. package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  114. package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +0 -1
  115. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +4 -0
  116. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +1 -1
  117. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +7 -0
  118. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +4 -0
  119. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +1 -1
  120. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +9 -0
  121. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +2 -2
  122. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +2 -2
  123. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  124. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
  125. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +16 -10
  126. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  127. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
  128. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  129. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +6 -3
  130. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  131. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +7 -1
  132. package/cjs/extensions/forms/Field/Selection/Selection.js +9 -9
  133. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  134. package/cjs/extensions/forms/Field/String/String.d.ts +3 -2
  135. package/cjs/extensions/forms/Field/String/String.js +11 -11
  136. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  137. package/cjs/extensions/forms/Field/Toggle/Toggle.js +14 -14
  138. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  139. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
  140. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +5 -8
  141. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  142. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -6
  143. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  144. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +0 -7
  145. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.css +4 -0
  146. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.min.css +1 -0
  147. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.scss +6 -0
  148. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.css +4 -0
  149. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.min.css +1 -0
  150. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.scss +6 -0
  151. package/cjs/extensions/forms/Form/Handler/Handler.js +1 -0
  152. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  153. package/cjs/extensions/forms/Form/Visibility/Visibility.js +0 -1
  154. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  155. package/cjs/extensions/forms/Form/hooks/useData.d.ts +10 -0
  156. package/cjs/extensions/forms/Form/hooks/useData.js +39 -0
  157. package/cjs/extensions/forms/Form/hooks/useData.js.map +1 -0
  158. package/cjs/extensions/forms/Form/index.d.ts +1 -0
  159. package/cjs/extensions/forms/Form/index.js +7 -0
  160. package/cjs/extensions/forms/Form/index.js.map +1 -1
  161. package/cjs/extensions/forms/Iterate/Array/Array.js +1 -3
  162. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  163. package/cjs/extensions/forms/Value/BankAccountNumber/BankAccountNumber.d.ts +2 -2
  164. package/cjs/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js.map +1 -1
  165. package/cjs/extensions/forms/Value/Currency/Currency.d.ts +2 -2
  166. package/cjs/extensions/forms/Value/Currency/Currency.js.map +1 -1
  167. package/cjs/extensions/forms/Value/Date/Date.d.ts +2 -2
  168. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  169. package/cjs/extensions/forms/Value/Email/Email.d.ts +2 -2
  170. package/cjs/extensions/forms/Value/Email/Email.js.map +1 -1
  171. package/cjs/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
  172. package/cjs/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  173. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.d.ts +2 -2
  174. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  175. package/cjs/extensions/forms/hooks/useDataValue.d.ts +4 -0
  176. package/cjs/extensions/forms/hooks/useDataValue.js +14 -10
  177. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  178. package/cjs/extensions/forms/style/dnb-forms.css +12 -14
  179. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  180. package/cjs/extensions/forms/types.d.ts +7 -9
  181. package/cjs/extensions/forms/types.js.map +1 -1
  182. package/cjs/fragments/TextCounter.d.ts +12 -0
  183. package/cjs/fragments/TextCounter.js +24 -0
  184. package/cjs/fragments/TextCounter.js.map +1 -0
  185. package/cjs/fragments/drawer-list/DrawerListHelpers.js +1 -0
  186. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  187. package/cjs/fragments/index.d.ts +2 -1
  188. package/cjs/fragments/index.js +7 -0
  189. package/cjs/fragments/index.js.map +1 -1
  190. package/cjs/fragments/lib.d.ts +3 -1
  191. package/cjs/fragments/lib.js +9 -1
  192. package/cjs/fragments/lib.js.map +1 -1
  193. package/cjs/fragments/text-counter/TextCounter.d.ts +8 -0
  194. package/cjs/fragments/text-counter/TextCounter.js +61 -0
  195. package/cjs/fragments/text-counter/TextCounter.js.map +1 -0
  196. package/cjs/fragments/text-counter/index.d.ts +5 -0
  197. package/cjs/fragments/text-counter/index.js +17 -0
  198. package/cjs/fragments/text-counter/index.js.map +1 -0
  199. package/cjs/fragments/text-counter/style/dnb-text-counter.scss +15 -0
  200. package/cjs/fragments/text-counter/style/index.d.ts +1 -0
  201. package/cjs/fragments/text-counter/style/index.js +4 -0
  202. package/cjs/fragments/text-counter/style/index.js.map +1 -0
  203. package/cjs/fragments/text-counter/style/themes/dnb-text-counter-theme-sbanken.scss +8 -0
  204. package/cjs/fragments/text-counter/style/themes/dnb-text-counter-theme-ui.scss +8 -0
  205. package/cjs/fragments/text-counter/style/themes/ui.d.ts +1 -0
  206. package/cjs/fragments/text-counter/style/themes/ui.js +4 -0
  207. package/cjs/fragments/text-counter/style/themes/ui.js.map +1 -0
  208. package/cjs/fragments/text-counter/style.d.ts +5 -0
  209. package/cjs/fragments/text-counter/style.js +4 -0
  210. package/cjs/fragments/text-counter/style.js.map +1 -0
  211. package/cjs/index.d.ts +2 -1
  212. package/cjs/index.js +7 -0
  213. package/cjs/index.js.map +1 -1
  214. package/cjs/shared/Eufemia.d.ts +1 -1
  215. package/cjs/shared/Eufemia.js +2 -2
  216. package/cjs/shared/Eufemia.js.map +1 -1
  217. package/cjs/shared/helpers/EventEmitter.d.ts +5 -0
  218. package/cjs/shared/helpers/EventEmitter.js.map +1 -1
  219. package/cjs/shared/helpers/useEventEmitter.d.ts +2 -0
  220. package/cjs/shared/helpers/useEventEmitter.js.map +1 -1
  221. package/cjs/shared/helpers/useSharedState.d.ts +17 -0
  222. package/cjs/shared/helpers/useSharedState.js +90 -0
  223. package/cjs/shared/helpers/useSharedState.js.map +1 -0
  224. package/cjs/shared/locales/en-GB.d.ts +6 -0
  225. package/cjs/shared/locales/en-GB.js +8 -2
  226. package/cjs/shared/locales/en-GB.js.map +1 -1
  227. package/cjs/shared/locales/en-US.d.ts +6 -0
  228. package/cjs/shared/locales/index.d.ts +12 -0
  229. package/cjs/shared/locales/nb-NO.d.ts +6 -0
  230. package/cjs/shared/locales/nb-NO.js +6 -0
  231. package/cjs/shared/locales/nb-NO.js.map +1 -1
  232. package/cjs/style/dnb-ui-components.css +49 -23
  233. package/cjs/style/dnb-ui-components.min.css +3 -3
  234. package/cjs/style/dnb-ui-extensions.css +12 -14
  235. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  236. package/cjs/style/dnb-ui-forms.css +12 -14
  237. package/cjs/style/dnb-ui-forms.min.css +1 -1
  238. package/cjs/style/dnb-ui-fragments.css +10 -0
  239. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  240. package/cjs/style/dnb-ui-fragments.scss +1 -0
  241. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +96 -39
  242. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  243. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
  244. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +21 -14
  245. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  246. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  247. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +21 -14
  248. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  249. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  250. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +85 -38
  251. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  252. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -0
  253. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +21 -14
  254. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  255. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  256. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +21 -14
  257. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  258. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  259. package/cjs/style/themes/theme-ui/ui-theme-components.css +96 -39
  260. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  261. package/cjs/style/themes/theme-ui/ui-theme-components.scss +1 -0
  262. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +21 -14
  263. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  264. package/cjs/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  265. package/cjs/style/themes/theme-ui/ui-theme-forms.css +21 -14
  266. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  267. package/cjs/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  268. package/components/AriaLive.d.ts +12 -0
  269. package/components/AriaLive.js +4 -0
  270. package/components/AriaLive.js.map +1 -0
  271. package/components/aria-live/AriaLive.d.ts +6 -0
  272. package/components/aria-live/AriaLive.js +15 -0
  273. package/components/aria-live/AriaLive.js.map +1 -0
  274. package/components/aria-live/index.d.ts +7 -0
  275. package/components/aria-live/index.js +4 -0
  276. package/components/aria-live/index.js.map +1 -0
  277. package/components/aria-live/types.d.ts +44 -0
  278. package/components/aria-live/types.js +1 -0
  279. package/components/aria-live/types.js.map +1 -0
  280. package/components/aria-live/useAriaLive.d.ts +273 -0
  281. package/components/aria-live/useAriaLive.js +75 -0
  282. package/components/aria-live/useAriaLive.js.map +1 -0
  283. package/components/autocomplete/Autocomplete.d.ts +0 -1
  284. package/components/autocomplete/Autocomplete.js +24 -46
  285. package/components/autocomplete/Autocomplete.js.map +1 -1
  286. package/components/breadcrumb/Breadcrumb.js +14 -20
  287. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  288. package/components/breadcrumb/BreadcrumbItem.js +11 -5
  289. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  290. package/components/breadcrumb/BreadcrumbMultiple.js +1 -1
  291. package/components/breadcrumb/BreadcrumbMultiple.js.map +1 -1
  292. package/components/breadcrumb/style/dnb-breadcrumb.css +13 -3
  293. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  294. package/components/breadcrumb/style/dnb-breadcrumb.scss +15 -3
  295. package/components/date-picker/DatePicker.d.ts +3 -0
  296. package/components/date-picker/DatePickerProvider.js +6 -2
  297. package/components/date-picker/DatePickerProvider.js.map +1 -1
  298. package/components/flex/Container.d.ts +4 -2
  299. package/components/flex/Container.js +30 -9
  300. package/components/flex/Container.js.map +1 -1
  301. package/components/flex/style/dnb-flex.css +3 -3
  302. package/components/flex/style/dnb-flex.min.css +1 -1
  303. package/components/flex/style/flex-container.scss +3 -7
  304. package/components/flex/utils.d.ts +1 -1
  305. package/components/flex/utils.js +11 -1
  306. package/components/flex/utils.js.map +1 -1
  307. package/components/index.d.ts +2 -1
  308. package/components/index.js +2 -1
  309. package/components/index.js.map +1 -1
  310. package/components/input/Input.js +0 -3
  311. package/components/input/Input.js.map +1 -1
  312. package/components/input-masked/MultiInputMask.d.ts +10 -2
  313. package/components/input-masked/MultiInputMask.js +75 -39
  314. package/components/input-masked/MultiInputMask.js.map +1 -1
  315. package/components/input-masked/hooks/useMultiInputValues.d.ts +2 -2
  316. package/components/input-masked/hooks/useMultiInputValues.js.map +1 -1
  317. package/components/lib.d.ts +3 -1
  318. package/components/lib.js +3 -1
  319. package/components/lib.js.map +1 -1
  320. package/components/number-format/NumberFormat.js +1 -1
  321. package/components/number-format/NumberFormat.js.map +1 -1
  322. package/components/number-format/NumberUtils.d.ts +8 -2
  323. package/components/number-format/useNumberFormat.d.ts +1 -1
  324. package/components/section/Section.d.ts +6 -3
  325. package/components/section/Section.js.map +1 -1
  326. package/components/section/style/dnb-section.css +1 -0
  327. package/components/section/style/dnb-section.min.css +1 -1
  328. package/components/section/style/dnb-section.scss +1 -0
  329. package/components/space/SpacingUtils.js +5 -1
  330. package/components/space/SpacingUtils.js.map +1 -1
  331. package/components/table/TableAccordion.js +1 -1
  332. package/components/table/TableAccordion.js.map +1 -1
  333. package/components/textarea/Textarea.d.ts +5 -0
  334. package/components/textarea/Textarea.js +16 -3
  335. package/components/textarea/Textarea.js.map +1 -1
  336. package/components/textarea/style/dnb-textarea.css +10 -3
  337. package/components/textarea/style/dnb-textarea.min.css +1 -1
  338. package/components/textarea/style/dnb-textarea.scss +13 -3
  339. package/components/textarea/style/themes/dnb-textarea-theme-ui.css +15 -2
  340. package/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  341. package/components/textarea/style/themes/dnb-textarea-theme-ui.scss +15 -2
  342. package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +8 -1
  343. package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -1
  344. package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +6 -1
  345. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +4 -0
  346. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
  347. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +5 -0
  348. package/components/visually-hidden/VisuallyHidden.js +1 -1
  349. package/components/visually-hidden/VisuallyHidden.js.map +1 -1
  350. package/es/components/AriaLive.d.ts +12 -0
  351. package/es/components/AriaLive.js +4 -0
  352. package/es/components/AriaLive.js.map +1 -0
  353. package/es/components/aria-live/AriaLive.d.ts +6 -0
  354. package/es/components/aria-live/AriaLive.js +15 -0
  355. package/es/components/aria-live/AriaLive.js.map +1 -0
  356. package/es/components/aria-live/index.d.ts +7 -0
  357. package/es/components/aria-live/index.js +4 -0
  358. package/es/components/aria-live/index.js.map +1 -0
  359. package/es/components/aria-live/types.d.ts +44 -0
  360. package/es/components/aria-live/types.js +1 -0
  361. package/es/components/aria-live/types.js.map +1 -0
  362. package/es/components/aria-live/useAriaLive.d.ts +273 -0
  363. package/es/components/aria-live/useAriaLive.js +75 -0
  364. package/es/components/aria-live/useAriaLive.js.map +1 -0
  365. package/es/components/autocomplete/Autocomplete.d.ts +0 -1
  366. package/es/components/autocomplete/Autocomplete.js +24 -46
  367. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  368. package/es/components/breadcrumb/Breadcrumb.js +14 -20
  369. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  370. package/es/components/breadcrumb/BreadcrumbItem.js +11 -5
  371. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  372. package/es/components/breadcrumb/BreadcrumbMultiple.js +1 -1
  373. package/es/components/breadcrumb/BreadcrumbMultiple.js.map +1 -1
  374. package/es/components/breadcrumb/style/dnb-breadcrumb.css +13 -3
  375. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  376. package/es/components/breadcrumb/style/dnb-breadcrumb.scss +15 -3
  377. package/es/components/date-picker/DatePicker.d.ts +3 -0
  378. package/es/components/date-picker/DatePickerProvider.js +6 -2
  379. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  380. package/es/components/flex/Container.d.ts +4 -2
  381. package/es/components/flex/Container.js +30 -9
  382. package/es/components/flex/Container.js.map +1 -1
  383. package/es/components/flex/style/dnb-flex.css +3 -3
  384. package/es/components/flex/style/dnb-flex.min.css +1 -1
  385. package/es/components/flex/style/flex-container.scss +3 -7
  386. package/es/components/flex/utils.d.ts +1 -1
  387. package/es/components/flex/utils.js +11 -1
  388. package/es/components/flex/utils.js.map +1 -1
  389. package/es/components/index.d.ts +2 -1
  390. package/es/components/index.js +2 -1
  391. package/es/components/index.js.map +1 -1
  392. package/es/components/input/Input.js +0 -3
  393. package/es/components/input/Input.js.map +1 -1
  394. package/es/components/input-masked/MultiInputMask.d.ts +10 -2
  395. package/es/components/input-masked/MultiInputMask.js +73 -36
  396. package/es/components/input-masked/MultiInputMask.js.map +1 -1
  397. package/es/components/input-masked/hooks/useMultiInputValues.d.ts +2 -2
  398. package/es/components/input-masked/hooks/useMultiInputValues.js.map +1 -1
  399. package/es/components/lib.d.ts +3 -1
  400. package/es/components/lib.js +3 -1
  401. package/es/components/lib.js.map +1 -1
  402. package/es/components/number-format/NumberFormat.js +1 -1
  403. package/es/components/number-format/NumberFormat.js.map +1 -1
  404. package/es/components/number-format/NumberUtils.d.ts +8 -2
  405. package/es/components/number-format/useNumberFormat.d.ts +1 -1
  406. package/es/components/section/Section.d.ts +6 -3
  407. package/es/components/section/Section.js.map +1 -1
  408. package/es/components/section/style/dnb-section.css +1 -0
  409. package/es/components/section/style/dnb-section.min.css +1 -1
  410. package/es/components/section/style/dnb-section.scss +1 -0
  411. package/es/components/space/SpacingUtils.js +5 -1
  412. package/es/components/space/SpacingUtils.js.map +1 -1
  413. package/es/components/table/TableAccordion.js +1 -1
  414. package/es/components/table/TableAccordion.js.map +1 -1
  415. package/es/components/textarea/Textarea.d.ts +5 -0
  416. package/es/components/textarea/Textarea.js +16 -3
  417. package/es/components/textarea/Textarea.js.map +1 -1
  418. package/es/components/textarea/style/dnb-textarea.css +10 -3
  419. package/es/components/textarea/style/dnb-textarea.min.css +1 -1
  420. package/es/components/textarea/style/dnb-textarea.scss +13 -3
  421. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.css +15 -2
  422. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  423. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.scss +15 -2
  424. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +8 -1
  425. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -1
  426. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +6 -1
  427. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +4 -0
  428. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
  429. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +5 -0
  430. package/es/components/visually-hidden/VisuallyHidden.js +1 -1
  431. package/es/components/visually-hidden/VisuallyHidden.js.map +1 -1
  432. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +8 -4
  433. package/es/extensions/forms/DataContext/Provider/Provider.js +32 -4
  434. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  435. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +17 -15
  436. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  437. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -2
  438. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  439. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +12 -2
  440. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +2 -2
  441. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +3 -3
  442. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  443. package/es/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  444. package/es/extensions/forms/Field/Boolean/Boolean.js +2 -2
  445. package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  446. package/es/extensions/forms/Field/Currency/Currency.d.ts +2 -2
  447. package/es/extensions/forms/Field/Currency/Currency.js +2 -2
  448. package/es/extensions/forms/Field/Currency/Currency.js.map +1 -1
  449. package/es/extensions/forms/Field/Date/Date.js +4 -5
  450. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  451. package/es/extensions/forms/Field/Email/Email.d.ts +2 -2
  452. package/es/extensions/forms/Field/Email/Email.js +3 -3
  453. package/es/extensions/forms/Field/Email/Email.js.map +1 -1
  454. package/es/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  455. package/es/extensions/forms/Field/Expiry/Expiry.js +32 -22
  456. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  457. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
  458. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -3
  459. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  460. package/es/extensions/forms/Field/Number/Number.js +12 -15
  461. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  462. package/es/extensions/forms/Field/Number/style/dnb-number.css +0 -6
  463. package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  464. package/es/extensions/forms/Field/Number/style/dnb-number.scss +0 -1
  465. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +4 -0
  466. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +1 -1
  467. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +7 -0
  468. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +4 -0
  469. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +1 -1
  470. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +9 -0
  471. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +2 -2
  472. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +3 -3
  473. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  474. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
  475. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +18 -12
  476. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  477. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
  478. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -3
  479. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  480. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +6 -3
  481. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  482. package/es/extensions/forms/Field/Selection/Selection.d.ts +7 -1
  483. package/es/extensions/forms/Field/Selection/Selection.js +12 -12
  484. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  485. package/es/extensions/forms/Field/String/String.d.ts +3 -2
  486. package/es/extensions/forms/Field/String/String.js +11 -11
  487. package/es/extensions/forms/Field/String/String.js.map +1 -1
  488. package/es/extensions/forms/Field/Toggle/Toggle.js +14 -14
  489. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  490. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
  491. package/es/extensions/forms/FieldBlock/FieldBlock.js +5 -8
  492. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  493. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -6
  494. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  495. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +0 -7
  496. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.css +4 -0
  497. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.min.css +1 -0
  498. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.scss +6 -0
  499. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.css +4 -0
  500. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.min.css +1 -0
  501. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.scss +6 -0
  502. package/es/extensions/forms/Form/Handler/Handler.js +1 -0
  503. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  504. package/es/extensions/forms/Form/Visibility/Visibility.js +0 -1
  505. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  506. package/es/extensions/forms/Form/hooks/useData.d.ts +10 -0
  507. package/es/extensions/forms/Form/hooks/useData.js +32 -0
  508. package/es/extensions/forms/Form/hooks/useData.js.map +1 -0
  509. package/es/extensions/forms/Form/index.d.ts +1 -0
  510. package/es/extensions/forms/Form/index.js +1 -0
  511. package/es/extensions/forms/Form/index.js.map +1 -1
  512. package/es/extensions/forms/Iterate/Array/Array.js +1 -3
  513. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  514. package/es/extensions/forms/Value/BankAccountNumber/BankAccountNumber.d.ts +2 -2
  515. package/es/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js +2 -2
  516. package/es/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js.map +1 -1
  517. package/es/extensions/forms/Value/Currency/Currency.d.ts +2 -2
  518. package/es/extensions/forms/Value/Currency/Currency.js +2 -2
  519. package/es/extensions/forms/Value/Currency/Currency.js.map +1 -1
  520. package/es/extensions/forms/Value/Date/Date.d.ts +2 -2
  521. package/es/extensions/forms/Value/Date/Date.js +2 -2
  522. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  523. package/es/extensions/forms/Value/Email/Email.d.ts +2 -2
  524. package/es/extensions/forms/Value/Email/Email.js +2 -2
  525. package/es/extensions/forms/Value/Email/Email.js.map +1 -1
  526. package/es/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
  527. package/es/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js +2 -2
  528. package/es/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  529. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.d.ts +2 -2
  530. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js +2 -2
  531. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  532. package/es/extensions/forms/hooks/useDataValue.d.ts +4 -0
  533. package/es/extensions/forms/hooks/useDataValue.js +13 -9
  534. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  535. package/es/extensions/forms/style/dnb-forms.css +12 -14
  536. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  537. package/es/extensions/forms/types.d.ts +7 -9
  538. package/es/extensions/forms/types.js.map +1 -1
  539. package/es/fragments/TextCounter.d.ts +12 -0
  540. package/es/fragments/TextCounter.js +4 -0
  541. package/es/fragments/TextCounter.js.map +1 -0
  542. package/es/fragments/drawer-list/DrawerListHelpers.js +1 -0
  543. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  544. package/es/fragments/index.d.ts +2 -1
  545. package/es/fragments/index.js +2 -1
  546. package/es/fragments/index.js.map +1 -1
  547. package/es/fragments/lib.d.ts +3 -1
  548. package/es/fragments/lib.js +4 -2
  549. package/es/fragments/lib.js.map +1 -1
  550. package/es/fragments/text-counter/TextCounter.d.ts +8 -0
  551. package/es/fragments/text-counter/TextCounter.js +52 -0
  552. package/es/fragments/text-counter/TextCounter.js.map +1 -0
  553. package/es/fragments/text-counter/index.d.ts +5 -0
  554. package/es/fragments/text-counter/index.js +1 -0
  555. package/es/fragments/text-counter/index.js.map +1 -0
  556. package/es/fragments/text-counter/style/dnb-text-counter.scss +15 -0
  557. package/es/fragments/text-counter/style/index.d.ts +1 -0
  558. package/es/fragments/text-counter/style/index.js +1 -0
  559. package/es/fragments/text-counter/style/index.js.map +1 -0
  560. package/es/fragments/text-counter/style/themes/dnb-text-counter-theme-sbanken.scss +8 -0
  561. package/es/fragments/text-counter/style/themes/dnb-text-counter-theme-ui.scss +8 -0
  562. package/es/fragments/text-counter/style/themes/ui.d.ts +1 -0
  563. package/es/fragments/text-counter/style/themes/ui.js +1 -0
  564. package/es/fragments/text-counter/style/themes/ui.js.map +1 -0
  565. package/es/fragments/text-counter/style.d.ts +5 -0
  566. package/es/fragments/text-counter/style.js +1 -0
  567. package/es/fragments/text-counter/style.js.map +1 -0
  568. package/es/index.d.ts +2 -1
  569. package/es/index.js +2 -1
  570. package/es/index.js.map +1 -1
  571. package/es/shared/Eufemia.d.ts +1 -1
  572. package/es/shared/Eufemia.js +2 -2
  573. package/es/shared/Eufemia.js.map +1 -1
  574. package/es/shared/helpers/EventEmitter.d.ts +5 -0
  575. package/es/shared/helpers/EventEmitter.js.map +1 -1
  576. package/es/shared/helpers/useEventEmitter.d.ts +2 -0
  577. package/es/shared/helpers/useEventEmitter.js.map +1 -1
  578. package/es/shared/helpers/useSharedState.d.ts +17 -0
  579. package/es/shared/helpers/useSharedState.js +80 -0
  580. package/es/shared/helpers/useSharedState.js.map +1 -0
  581. package/es/shared/locales/en-GB.d.ts +6 -0
  582. package/es/shared/locales/en-GB.js +8 -2
  583. package/es/shared/locales/en-GB.js.map +1 -1
  584. package/es/shared/locales/en-US.d.ts +6 -0
  585. package/es/shared/locales/index.d.ts +12 -0
  586. package/es/shared/locales/nb-NO.d.ts +6 -0
  587. package/es/shared/locales/nb-NO.js +6 -0
  588. package/es/shared/locales/nb-NO.js.map +1 -1
  589. package/es/style/dnb-ui-components.css +49 -23
  590. package/es/style/dnb-ui-components.min.css +3 -3
  591. package/es/style/dnb-ui-extensions.css +12 -14
  592. package/es/style/dnb-ui-extensions.min.css +1 -1
  593. package/es/style/dnb-ui-forms.css +12 -14
  594. package/es/style/dnb-ui-forms.min.css +1 -1
  595. package/es/style/dnb-ui-fragments.css +10 -0
  596. package/es/style/dnb-ui-fragments.min.css +1 -1
  597. package/es/style/dnb-ui-fragments.scss +1 -0
  598. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +96 -39
  599. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  600. package/es/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
  601. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +21 -14
  602. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  603. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  604. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +21 -14
  605. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  606. package/es/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  607. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +85 -38
  608. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  609. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -0
  610. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +21 -14
  611. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  612. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  613. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +21 -14
  614. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  615. package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  616. package/es/style/themes/theme-ui/ui-theme-components.css +96 -39
  617. package/es/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  618. package/es/style/themes/theme-ui/ui-theme-components.scss +1 -0
  619. package/es/style/themes/theme-ui/ui-theme-extensions.css +21 -14
  620. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  621. package/es/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  622. package/es/style/themes/theme-ui/ui-theme-forms.css +21 -14
  623. package/es/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  624. package/es/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  625. package/esm/dnb-ui-basis.min.mjs +1 -1
  626. package/esm/dnb-ui-components.min.mjs +1 -1
  627. package/esm/dnb-ui-elements.min.mjs +1 -1
  628. package/esm/dnb-ui-extensions.min.mjs +3 -3
  629. package/esm/dnb-ui-lib.min.mjs +1 -1
  630. package/extensions/forms/DataContext/Provider/Provider.d.ts +8 -4
  631. package/extensions/forms/DataContext/Provider/Provider.js +32 -4
  632. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  633. package/extensions/forms/Field/ArraySelection/ArraySelection.js +17 -15
  634. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  635. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -2
  636. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  637. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +12 -2
  638. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +2 -2
  639. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +3 -3
  640. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  641. package/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  642. package/extensions/forms/Field/Boolean/Boolean.js +2 -2
  643. package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  644. package/extensions/forms/Field/Currency/Currency.d.ts +2 -2
  645. package/extensions/forms/Field/Currency/Currency.js +2 -2
  646. package/extensions/forms/Field/Currency/Currency.js.map +1 -1
  647. package/extensions/forms/Field/Date/Date.js +4 -5
  648. package/extensions/forms/Field/Date/Date.js.map +1 -1
  649. package/extensions/forms/Field/Email/Email.d.ts +2 -2
  650. package/extensions/forms/Field/Email/Email.js +3 -3
  651. package/extensions/forms/Field/Email/Email.js.map +1 -1
  652. package/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  653. package/extensions/forms/Field/Expiry/Expiry.js +33 -22
  654. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  655. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
  656. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -3
  657. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  658. package/extensions/forms/Field/Number/Number.js +12 -15
  659. package/extensions/forms/Field/Number/Number.js.map +1 -1
  660. package/extensions/forms/Field/Number/style/dnb-number.css +0 -6
  661. package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  662. package/extensions/forms/Field/Number/style/dnb-number.scss +0 -1
  663. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +4 -0
  664. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +1 -1
  665. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +7 -0
  666. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +4 -0
  667. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +1 -1
  668. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +9 -0
  669. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +2 -2
  670. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +3 -3
  671. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  672. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
  673. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +18 -12
  674. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  675. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
  676. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -3
  677. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  678. package/extensions/forms/Field/SelectCountry/SelectCountry.js +6 -3
  679. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  680. package/extensions/forms/Field/Selection/Selection.d.ts +7 -1
  681. package/extensions/forms/Field/Selection/Selection.js +12 -12
  682. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  683. package/extensions/forms/Field/String/String.d.ts +3 -2
  684. package/extensions/forms/Field/String/String.js +11 -11
  685. package/extensions/forms/Field/String/String.js.map +1 -1
  686. package/extensions/forms/Field/Toggle/Toggle.js +14 -14
  687. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  688. package/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
  689. package/extensions/forms/FieldBlock/FieldBlock.js +5 -8
  690. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  691. package/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -6
  692. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  693. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +0 -7
  694. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.css +4 -0
  695. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.min.css +1 -0
  696. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.scss +6 -0
  697. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.css +4 -0
  698. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.min.css +1 -0
  699. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.scss +6 -0
  700. package/extensions/forms/Form/Handler/Handler.js +1 -0
  701. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  702. package/extensions/forms/Form/Visibility/Visibility.js +0 -1
  703. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  704. package/extensions/forms/Form/hooks/useData.d.ts +10 -0
  705. package/extensions/forms/Form/hooks/useData.js +33 -0
  706. package/extensions/forms/Form/hooks/useData.js.map +1 -0
  707. package/extensions/forms/Form/index.d.ts +1 -0
  708. package/extensions/forms/Form/index.js +1 -0
  709. package/extensions/forms/Form/index.js.map +1 -1
  710. package/extensions/forms/Iterate/Array/Array.js +1 -3
  711. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  712. package/extensions/forms/Value/BankAccountNumber/BankAccountNumber.d.ts +2 -2
  713. package/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js +2 -2
  714. package/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js.map +1 -1
  715. package/extensions/forms/Value/Currency/Currency.d.ts +2 -2
  716. package/extensions/forms/Value/Currency/Currency.js +2 -2
  717. package/extensions/forms/Value/Currency/Currency.js.map +1 -1
  718. package/extensions/forms/Value/Date/Date.d.ts +2 -2
  719. package/extensions/forms/Value/Date/Date.js +2 -2
  720. package/extensions/forms/Value/Date/Date.js.map +1 -1
  721. package/extensions/forms/Value/Email/Email.d.ts +2 -2
  722. package/extensions/forms/Value/Email/Email.js +2 -2
  723. package/extensions/forms/Value/Email/Email.js.map +1 -1
  724. package/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
  725. package/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js +2 -2
  726. package/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  727. package/extensions/forms/Value/PhoneNumber/PhoneNumber.d.ts +2 -2
  728. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js +2 -2
  729. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  730. package/extensions/forms/hooks/useDataValue.d.ts +4 -0
  731. package/extensions/forms/hooks/useDataValue.js +14 -10
  732. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  733. package/extensions/forms/style/dnb-forms.css +12 -14
  734. package/extensions/forms/style/dnb-forms.min.css +1 -1
  735. package/extensions/forms/types.d.ts +7 -9
  736. package/extensions/forms/types.js.map +1 -1
  737. package/fragments/TextCounter.d.ts +12 -0
  738. package/fragments/TextCounter.js +4 -0
  739. package/fragments/TextCounter.js.map +1 -0
  740. package/fragments/drawer-list/DrawerListHelpers.js +1 -0
  741. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  742. package/fragments/index.d.ts +2 -1
  743. package/fragments/index.js +2 -1
  744. package/fragments/index.js.map +1 -1
  745. package/fragments/lib.d.ts +3 -1
  746. package/fragments/lib.js +4 -2
  747. package/fragments/lib.js.map +1 -1
  748. package/fragments/text-counter/TextCounter.d.ts +8 -0
  749. package/fragments/text-counter/TextCounter.js +52 -0
  750. package/fragments/text-counter/TextCounter.js.map +1 -0
  751. package/fragments/text-counter/index.d.ts +5 -0
  752. package/fragments/text-counter/index.js +1 -0
  753. package/fragments/text-counter/index.js.map +1 -0
  754. package/fragments/text-counter/style/dnb-text-counter.scss +15 -0
  755. package/fragments/text-counter/style/index.d.ts +1 -0
  756. package/fragments/text-counter/style/index.js +1 -0
  757. package/fragments/text-counter/style/index.js.map +1 -0
  758. package/fragments/text-counter/style/themes/dnb-text-counter-theme-sbanken.scss +8 -0
  759. package/fragments/text-counter/style/themes/dnb-text-counter-theme-ui.scss +8 -0
  760. package/fragments/text-counter/style/themes/ui.d.ts +1 -0
  761. package/fragments/text-counter/style/themes/ui.js +1 -0
  762. package/fragments/text-counter/style/themes/ui.js.map +1 -0
  763. package/fragments/text-counter/style.d.ts +5 -0
  764. package/fragments/text-counter/style.js +1 -0
  765. package/fragments/text-counter/style.js.map +1 -0
  766. package/index.d.ts +2 -1
  767. package/index.js +2 -1
  768. package/index.js.map +1 -1
  769. package/package.json +1 -1
  770. package/shared/Eufemia.d.ts +1 -1
  771. package/shared/Eufemia.js +2 -2
  772. package/shared/Eufemia.js.map +1 -1
  773. package/shared/helpers/EventEmitter.d.ts +5 -0
  774. package/shared/helpers/EventEmitter.js.map +1 -1
  775. package/shared/helpers/useEventEmitter.d.ts +2 -0
  776. package/shared/helpers/useEventEmitter.js.map +1 -1
  777. package/shared/helpers/useSharedState.d.ts +17 -0
  778. package/shared/helpers/useSharedState.js +82 -0
  779. package/shared/helpers/useSharedState.js.map +1 -0
  780. package/shared/locales/en-GB.d.ts +6 -0
  781. package/shared/locales/en-GB.js +8 -2
  782. package/shared/locales/en-GB.js.map +1 -1
  783. package/shared/locales/en-US.d.ts +6 -0
  784. package/shared/locales/index.d.ts +12 -0
  785. package/shared/locales/nb-NO.d.ts +6 -0
  786. package/shared/locales/nb-NO.js +6 -0
  787. package/shared/locales/nb-NO.js.map +1 -1
  788. package/style/dnb-ui-components.css +49 -23
  789. package/style/dnb-ui-components.min.css +3 -3
  790. package/style/dnb-ui-extensions.css +12 -14
  791. package/style/dnb-ui-extensions.min.css +1 -1
  792. package/style/dnb-ui-forms.css +12 -14
  793. package/style/dnb-ui-forms.min.css +1 -1
  794. package/style/dnb-ui-fragments.css +10 -0
  795. package/style/dnb-ui-fragments.min.css +1 -1
  796. package/style/dnb-ui-fragments.scss +1 -0
  797. package/style/themes/theme-eiendom/eiendom-theme-components.css +96 -39
  798. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  799. package/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
  800. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +21 -14
  801. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  802. package/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  803. package/style/themes/theme-eiendom/eiendom-theme-forms.css +21 -14
  804. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  805. package/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  806. package/style/themes/theme-sbanken/sbanken-theme-components.css +85 -38
  807. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  808. package/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -0
  809. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +21 -14
  810. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  811. package/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  812. package/style/themes/theme-sbanken/sbanken-theme-forms.css +21 -14
  813. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  814. package/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  815. package/style/themes/theme-ui/ui-theme-components.css +96 -39
  816. package/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  817. package/style/themes/theme-ui/ui-theme-components.scss +1 -0
  818. package/style/themes/theme-ui/ui-theme-extensions.css +21 -14
  819. package/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  820. package/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  821. package/style/themes/theme-ui/ui-theme-forms.css +21 -14
  822. package/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  823. package/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  824. package/umd/dnb-ui-basis.min.js +1 -1
  825. package/umd/dnb-ui-components.min.js +1 -1
  826. package/umd/dnb-ui-elements.min.js +1 -1
  827. package/umd/dnb-ui-extensions.min.js +3 -3
  828. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","names":["React","classnames","Space","Hr","useMedia","getSpaceValue","isHeadingElement","renderWithSpacing","propNames","pickFlexContainerProps","props","defaults","arguments","length","undefined","skip","_objectSpread","Object","fromEntries","entries","filter","_ref","key","includes","FlexContainer","className","style","children","element","direction","wrap","sizeCount","rowGap","justify","align","alignSelf","divider","spacing","breakpoints","queries","rest","_objectWithoutProperties","_excluded","childrenArray","wrapChildren","hasHeading","some","child","i","previousChild","hasSizeProp","_child$props","size","mediaKey","disabled","content","map","isFirst","start","end","endSpacing","startSpacing","isHeading","_getSpaceValue","_getSpaceValue2","spaceAboveLine","createElement","Fragment","top","_Hr","space","_ref2","_getSpaceValue3","n","cn","_extends","Children","toArray","isValidElement","type","cloneElement","_supportsSpacingProps"],"sources":["../../../../src/components/flex/Container.tsx"],"sourcesContent":["import React from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceProps } from '../space/Space'\nimport { Hr } from '../../elements'\nimport useMedia from '../../shared/useMedia'\nimport {\n getSpaceValue,\n isHeadingElement,\n renderWithSpacing,\n} from './utils'\n\nimport type { MediaQueryBreakpoints } from '../../shared/MediaQueryUtils'\nimport type { SpaceType } from '../space/types'\nimport type { UseMediaQueries } from '../../shared/useMedia'\nimport type { End, Start } from './types'\n\nexport type BasicProps = {\n direction?: 'horizontal' | 'vertical'\n wrap?: boolean\n rowGap?: 'small' | 'medium' | 'large' | true\n sizeCount?: number\n justify?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n align?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'\n // For when used as a flex item in an outer container in addition to being a container:\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n divider?: 'space' | 'line'\n /** Spacing between items inside */\n spacing?:\n | false\n | 'xx-small'\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n breakpoints?: MediaQueryBreakpoints\n queries?: UseMediaQueries\n}\n\nexport type Props = BasicProps &\n SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap'>\n\nconst propNames: Array<keyof Props> = [\n 'direction',\n 'wrap',\n 'justify',\n 'align',\n 'divider',\n 'spacing',\n]\n\nexport function pickFlexContainerProps<T extends Props>(\n props: T,\n defaults: Partial<Props> = {},\n skip: Array<keyof Props> = []\n): Omit<Props, 'children'> {\n return {\n ...defaults,\n ...Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n propNames.includes(key as keyof Props) &&\n !skip.includes(key as keyof Props)\n )\n ),\n }\n}\n\nfunction FlexContainer(props: Props) {\n const {\n className,\n style,\n children,\n element = 'div',\n direction = 'horizontal',\n wrap = true,\n sizeCount = 12,\n rowGap,\n justify = 'flex-start',\n align = 'flex-start',\n alignSelf,\n divider = 'space',\n spacing = 'small',\n breakpoints,\n queries,\n ...rest\n } = props\n\n const childrenArray = wrapChildren(props, children)\n const hasHeading = childrenArray.some((child, i) => {\n const previousChild = childrenArray?.[i - 1]\n return (\n isHeadingElement(child) || (i > 0 && isHeadingElement(previousChild))\n )\n })\n const hasSizeProp =\n !hasHeading &&\n direction === 'horizontal' &&\n childrenArray.some((child) => child['props']?.size)\n\n const { key: mediaKey } = useMedia({\n disabled: !hasSizeProp,\n breakpoints,\n queries,\n })\n\n const content = childrenArray.map((child, i) => {\n // Set spacing on child components by props (instead of CSS) to be able to dynamically override by props on each child. The default\n // is the spacing-props that controls space between children. Then override with props sent to the children, including both top\n // and bottom when th\n const isFirst = i === 0\n const previousChild = childrenArray?.[i - 1]\n\n // Always set spacing between elements in the vertical layout on the top props, and 0 on bottom, to avoid\n // having to divide spacing between both with smaller values.\n const start: Start = direction === 'horizontal' ? 'left' : 'top'\n const end: End = direction === 'horizontal' ? 'right' : 'bottom'\n // const start: Start | End = direction === 'horizontal' ? 'right' : 'top'\n // const end: Start | End = direction === 'horizontal' ? 'left' : 'bottom'\n const endSpacing = 0\n let startSpacing = null\n\n const isHeading = hasHeading && isHeadingElement(previousChild)\n if (\n divider === 'line' &&\n // No line above first element\n !isFirst &&\n // No line above heading\n !isHeading\n ) {\n const spaceAboveLine = getSpaceValue(end, previousChild) ?? spacing\n startSpacing = (getSpaceValue(start, child) ?? spacing) as SpaceType\n\n return (\n <React.Fragment key={`element-${i}`}>\n <Space top={spaceAboveLine} />\n <Hr space={0} className=\"dnb-flex-container__hr\" />\n {renderWithSpacing(child, {\n space: { [start]: startSpacing, [end]: endSpacing },\n })}\n </React.Fragment>\n )\n }\n\n // No space above first element.\n if (isFirst && direction !== 'horizontal') {\n startSpacing = 0\n } else {\n // Since top space of current and bottom space of previous component is the same\n startSpacing =\n getSpaceValue(start, child) ??\n getSpaceValue(end, previousChild) ??\n spacing\n }\n\n const space =\n direction === 'horizontal'\n ? { [start]: endSpacing, [end]: startSpacing }\n : { [start]: startSpacing, [end]: endSpacing }\n\n return renderWithSpacing(child, {\n key: `element-${i}`,\n space,\n })\n })\n\n const n = 'dnb-flex-container'\n const cn = classnames(\n 'dnb-flex-container',\n direction && `${n}--direction-${direction}`,\n justify && `${n}--justify-${justify}`,\n align && `${n}--align-${align}`,\n alignSelf && `${n}--align-self-${alignSelf}`,\n spacing && `${n}--spacing-${spacing}`,\n wrap && `${n}--wrap`,\n rowGap && `${n}--row-gap-${rowGap === true ? 'small' : rowGap}`,\n hasSizeProp && `${n}--has-size`,\n divider && `${n}--divider-${divider}`,\n className\n )\n\n return (\n <Space\n element={element}\n className={cn}\n data-media-key={mediaKey}\n style={\n hasSizeProp\n ? ({ '--sizeCount': sizeCount, ...style } as React.CSSProperties)\n : style\n }\n {...rest}\n >\n {content}\n </Space>\n )\n}\n\nfunction wrapChildren(props: Props, children: React.ReactNode) {\n return React.Children.toArray(children).map((child) => {\n if (\n React.isValidElement(child) &&\n child.type['_supportsSpacingProps'] === 'children'\n ) {\n return React.cloneElement(\n child,\n child.props,\n <FlexContainer {...props}>{child.props.children}</FlexContainer>\n )\n }\n\n return child\n })\n}\n\nFlexContainer._supportsSpacingProps = true\n\nexport default FlexContainer\n"],"mappings":"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"}
1
+ {"version":3,"file":"Container.js","names":["React","useCallback","classnames","Space","Hr","useMedia","getSpaceValue","isHeadingElement","renderWithSpacing","propNames","pickFlexContainerProps","props","defaults","arguments","length","undefined","skip","_objectSpread","Object","fromEntries","entries","filter","_ref","key","includes","FlexContainer","className","style","children","element","direction","wrap","sizeCount","rowGap","justify","align","alignSelf","divider","spacing","breakpoints","queries","rest","_objectWithoutProperties","_excluded","childrenArray","wrapChildren","hasHeading","some","child","i","previousChild","hasSizeProp","_child$props","size","mediaKey","disabled","content","map","_previousChild$type","isFirst","isLast","isHeading","start","end","endSpacing","startSpacing","_getSpaceValue","_getSpaceValue2","spaceAboveLine","createElement","Fragment","top","space","_ref2","_getSpaceValue3","isValidElement","type","n","getRowGapClass","cn","_extends","Children","toArray","cloneElement","_supportsSpacingProps"],"sources":["../../../../src/components/flex/Container.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport classnames from 'classnames'\nimport Space, { SpaceProps } from '../space/Space'\nimport { Hr } from '../../elements'\nimport useMedia from '../../shared/useMedia'\nimport {\n getSpaceValue,\n isHeadingElement,\n renderWithSpacing,\n} from './utils'\n\nimport type { MediaQueryBreakpoints } from '../../shared/MediaQueryUtils'\nimport type { SpaceType } from '../space/types'\nimport type { UseMediaQueries } from '../../shared/useMedia'\nimport type { End, Start } from './types'\n\nexport type BasicProps = {\n direction?: 'horizontal' | 'vertical'\n wrap?: boolean\n rowGap?: 'small' | 'medium' | 'large' | boolean\n sizeCount?: number\n justify?:\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n align?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'\n /** For when used as a flex item in an outer container in addition to being a container: */\n alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch'\n /** When \"line-framed\" is used, a line will be shown between items and above the first and below the last item */\n divider?: 'space' | 'line' | 'line-framed'\n /** Spacing between items inside */\n spacing?:\n | false\n | 'xx-small'\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n breakpoints?: MediaQueryBreakpoints\n queries?: UseMediaQueries\n}\n\nexport type Props = BasicProps &\n SpaceProps &\n Omit<React.HTMLProps<HTMLElement>, 'ref' | 'wrap'>\n\nconst propNames: Array<keyof Props> = [\n 'direction',\n 'wrap',\n 'justify',\n 'align',\n 'divider',\n 'spacing',\n]\n\nexport function pickFlexContainerProps<T extends Props>(\n props: T,\n defaults: Partial<Props> = {},\n skip: Array<keyof Props> = []\n): Omit<Props, 'children'> {\n return {\n ...defaults,\n ...Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n propNames.includes(key as keyof Props) &&\n !skip.includes(key as keyof Props)\n )\n ),\n }\n}\n\nfunction FlexContainer(props: Props) {\n const {\n className,\n style,\n children,\n element = 'div',\n direction = 'horizontal',\n wrap = true,\n sizeCount = 12,\n rowGap,\n justify = 'flex-start',\n align = 'flex-start',\n alignSelf,\n divider = 'space',\n spacing = 'small',\n breakpoints,\n queries,\n ...rest\n } = props\n\n const childrenArray = wrapChildren(props, children)\n const hasHeading = childrenArray.some((child, i) => {\n const previousChild = childrenArray?.[i - 1]\n return (\n isHeadingElement(child) || (i > 0 && isHeadingElement(previousChild))\n )\n })\n const hasSizeProp =\n !hasHeading &&\n direction === 'horizontal' &&\n childrenArray.some((child) => child['props']?.size)\n\n const { key: mediaKey } = useMedia({\n disabled: !hasSizeProp,\n breakpoints,\n queries,\n })\n\n const content = childrenArray.map((child, i) => {\n // Set spacing on child components by props (instead of CSS) to be able to dynamically override by props on each child. The default\n // is the spacing-props that controls space between children. Then override with props sent to the children, including both top\n // and bottom when th\n const isFirst = i === 0\n const isLast = i >= childrenArray.length - 1\n const previousChild = childrenArray?.[i - 1]\n const isHeading = hasHeading && isHeadingElement(previousChild)\n\n // Always set spacing between elements in the vertical layout on the top props, and 0 on bottom, to avoid\n // having to divide spacing between both with smaller values.\n const start: Start = direction === 'horizontal' ? 'left' : 'top'\n const end: End = direction === 'horizontal' ? 'right' : 'bottom'\n // const start: Start | End = direction === 'horizontal' ? 'right' : 'top'\n // const end: Start | End = direction === 'horizontal' ? 'left' : 'bottom'\n const endSpacing = 0\n let startSpacing = null\n\n if (\n // No line above heading\n !isHeading &&\n ((divider === 'line' && !isFirst) || divider === 'line-framed')\n ) {\n const spaceAboveLine = getSpaceValue(end, previousChild) ?? spacing\n startSpacing = (getSpaceValue(start, child) ?? spacing) as SpaceType\n\n return (\n <React.Fragment key={`element-${i}`}>\n <Hr\n top={!isFirst ? spaceAboveLine : 0}\n space={0}\n className=\"dnb-flex-container__hr\"\n />\n\n {renderWithSpacing(child, {\n space: { [start]: startSpacing, [end]: endSpacing },\n })}\n\n {divider === 'line-framed' && isLast && (\n <Hr\n top={spaceAboveLine}\n space={0}\n className=\"dnb-flex-container__hr\"\n />\n )}\n </React.Fragment>\n )\n }\n\n // No space above first element.\n if (isFirst && direction !== 'horizontal') {\n startSpacing = 0\n } else {\n // Since top space of current and bottom space of previous component is the same\n startSpacing =\n getSpaceValue(start, child) ??\n getSpaceValue(end, previousChild) ??\n spacing\n }\n\n if (\n React.isValidElement(previousChild) &&\n previousChild?.type?.['_supportsSpacingProps'] === false\n ) {\n startSpacing = 0\n }\n\n const space =\n direction === 'horizontal'\n ? { [start]: endSpacing, [end]: startSpacing }\n : { [start]: startSpacing, [end]: endSpacing }\n\n return renderWithSpacing(child, {\n key: `element-${i}`,\n space,\n })\n })\n\n const n = 'dnb-flex-container'\n const getRowGapClass = useCallback(() => {\n if (rowGap === false) {\n return\n }\n\n if (\n rowGap === true ||\n (!rowGap && wrap && direction === 'horizontal')\n ) {\n return `${n}--row-gap-small`\n }\n\n if (hasSizeProp && spacing) {\n return `${n}--row-gap-${spacing}`\n }\n\n if (rowGap) {\n return `${n}--row-gap-${rowGap}`\n }\n }, [direction, hasSizeProp, rowGap, spacing, wrap])\n\n const cn = classnames(\n 'dnb-flex-container',\n direction && `${n}--direction-${direction}`,\n justify && `${n}--justify-${justify}`,\n align && `${n}--align-${align}`,\n alignSelf && `${n}--align-self-${alignSelf}`,\n spacing && `${n}--spacing-${spacing}`,\n wrap && `${n}--wrap`,\n getRowGapClass(),\n hasSizeProp && `${n}--has-size`,\n divider && `${n}--divider-${divider}`,\n className\n )\n\n return (\n <Space\n element={element}\n className={cn}\n data-media-key={mediaKey}\n style={\n hasSizeProp\n ? ({ '--sizeCount': sizeCount, ...style } as React.CSSProperties)\n : style\n }\n {...rest}\n >\n {content}\n </Space>\n )\n}\n\nfunction wrapChildren(props: Props, children: React.ReactNode) {\n return React.Children.toArray(children).map((child) => {\n if (\n React.isValidElement(child) &&\n child.type['_supportsSpacingProps'] === 'children'\n ) {\n return React.cloneElement(\n child,\n child.props,\n <FlexContainer {...props}>{child.props.children}</FlexContainer>\n )\n }\n\n return child\n })\n}\n\nFlexContainer._supportsSpacingProps = true\n\nexport default FlexContainer\n"],"mappings":"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"}
@@ -60,13 +60,13 @@
60
60
  .dnb-flex-container--wrap {
61
61
  flex-wrap: wrap;
62
62
  }
63
- .dnb-flex-container--row-gap-small, .dnb-flex-container--has-size.dnb-flex-container--spacing-small, .dnb-flex-container--wrap.dnb-flex-container--direction-horizontal {
63
+ .dnb-flex-container--row-gap-small {
64
64
  --gap: var(--spacing-small);
65
65
  }
66
- .dnb-flex-container--row-gap-medium, .dnb-flex-container--has-size.dnb-flex-container--spacing-medium {
66
+ .dnb-flex-container--row-gap-medium {
67
67
  --gap: var(--spacing-medium);
68
68
  }
69
- .dnb-flex-container--row-gap-large, .dnb-flex-container--has-size.dnb-flex-container--spacing-large {
69
+ .dnb-flex-container--row-gap-large {
70
70
  --gap: var(--spacing-large);
71
71
  }
72
72
  .dnb-flex-container__hr.dnb-hr {
@@ -1 +1 @@
1
- .dnb-flex-container{display:flex;row-gap:var(--gap,0)}.dnb-flex-container--direction-horizontal{flex-direction:row;margin-right:calc(var(--gap)*-1)}.dnb-flex-container--direction-vertical{flex-direction:column}.dnb-flex-container--justify-flex-start{justify-content:flex-start}.dnb-flex-container--justify-flex-end{justify-content:flex-end}.dnb-flex-container--justify-center{justify-content:center}.dnb-flex-container--justify-space-between{justify-content:space-between}.dnb-flex-container--justify-space-around{justify-content:space-around}.dnb-flex-container--justify-space-evenly{justify-content:space-evenly}.dnb-flex-container--align-flex-start{align-items:flex-start}.dnb-flex-container--align-flex-end{align-items:flex-end}.dnb-flex-container--align-center{align-items:center}.dnb-flex-container--align-stretch{align-items:stretch}.dnb-flex-container--align-baseline{align-items:baseline}.dnb-flex-container--align-self-flex-start{align-self:flex-start}.dnb-flex-container--align-self-flex-end{align-self:flex-end}.dnb-flex-container--align-self-center{align-self:center}.dnb-flex-container--align-self-baseline{align-self:baseline}.dnb-flex-container--align-self-stretch{align-self:stretch}.dnb-flex-container--wrap{flex-wrap:wrap}.dnb-flex-container--has-size.dnb-flex-container--spacing-small,.dnb-flex-container--row-gap-small,.dnb-flex-container--wrap.dnb-flex-container--direction-horizontal{--gap:var(--spacing-small)}.dnb-flex-container--has-size.dnb-flex-container--spacing-medium,.dnb-flex-container--row-gap-medium{--gap:var(--spacing-medium)}.dnb-flex-container--has-size.dnb-flex-container--spacing-large,.dnb-flex-container--row-gap-large{--gap:var(--spacing-large)}.dnb-flex-container__hr.dnb-hr{color:var(--color-black-8);width:100%}.dnb-flex-item--grow{flex-grow:1}.dnb-flex-item--shrink{flex-shrink:1}.dnb-flex-item--align-self-flex-start{align-self:flex-start}.dnb-flex-item--align-self-flex-end{align-self:flex-end}.dnb-flex-item--align-self-center{align-self:center}.dnb-flex-item--align-self-baseline{align-self:baseline}.dnb-flex-item--align-self-stretch{align-self:stretch}.dnb-flex-item--responsive{--sizeCount--default:12;--size--default:var(--small);--flex-basis:calc(100%/var(--sizeCount, var(--sizeCount--default))*var(--size, var(--size--default)));flex-basis:var(--flex-basis);flex-grow:0;max-width:var(--flex-basis)}.dnb-flex-container[data-media-key=small] .dnb-flex-item--responsive{--size:var(--small,var(--medium))}.dnb-flex-container[data-media-key=medium] .dnb-flex-item--responsive{--size:var(--medium,var(--large))}.dnb-flex-container[data-media-key=large] .dnb-flex-item--responsive{--size:var(--large,var(--medium))}.dnb-flex-stack+.dnb-flex-stack{margin-top:var(--spacing-large)}
1
+ .dnb-flex-container{display:flex;row-gap:var(--gap,0)}.dnb-flex-container--direction-horizontal{flex-direction:row;margin-right:calc(var(--gap)*-1)}.dnb-flex-container--direction-vertical{flex-direction:column}.dnb-flex-container--justify-flex-start{justify-content:flex-start}.dnb-flex-container--justify-flex-end{justify-content:flex-end}.dnb-flex-container--justify-center{justify-content:center}.dnb-flex-container--justify-space-between{justify-content:space-between}.dnb-flex-container--justify-space-around{justify-content:space-around}.dnb-flex-container--justify-space-evenly{justify-content:space-evenly}.dnb-flex-container--align-flex-start{align-items:flex-start}.dnb-flex-container--align-flex-end{align-items:flex-end}.dnb-flex-container--align-center{align-items:center}.dnb-flex-container--align-stretch{align-items:stretch}.dnb-flex-container--align-baseline{align-items:baseline}.dnb-flex-container--align-self-flex-start{align-self:flex-start}.dnb-flex-container--align-self-flex-end{align-self:flex-end}.dnb-flex-container--align-self-center{align-self:center}.dnb-flex-container--align-self-baseline{align-self:baseline}.dnb-flex-container--align-self-stretch{align-self:stretch}.dnb-flex-container--wrap{flex-wrap:wrap}.dnb-flex-container--row-gap-small{--gap:var(--spacing-small)}.dnb-flex-container--row-gap-medium{--gap:var(--spacing-medium)}.dnb-flex-container--row-gap-large{--gap:var(--spacing-large)}.dnb-flex-container__hr.dnb-hr{color:var(--color-black-8);width:100%}.dnb-flex-item--grow{flex-grow:1}.dnb-flex-item--shrink{flex-shrink:1}.dnb-flex-item--align-self-flex-start{align-self:flex-start}.dnb-flex-item--align-self-flex-end{align-self:flex-end}.dnb-flex-item--align-self-center{align-self:center}.dnb-flex-item--align-self-baseline{align-self:baseline}.dnb-flex-item--align-self-stretch{align-self:stretch}.dnb-flex-item--responsive{--sizeCount--default:12;--size--default:var(--small);--flex-basis:calc(100%/var(--sizeCount, var(--sizeCount--default))*var(--size, var(--size--default)));flex-basis:var(--flex-basis);flex-grow:0;max-width:var(--flex-basis)}.dnb-flex-container[data-media-key=small] .dnb-flex-item--responsive{--size:var(--small,var(--medium))}.dnb-flex-container[data-media-key=medium] .dnb-flex-item--responsive{--size:var(--medium,var(--large))}.dnb-flex-container[data-media-key=large] .dnb-flex-item--responsive{--size:var(--large,var(--medium))}.dnb-flex-stack+.dnb-flex-stack{margin-top:var(--spacing-large)}
@@ -88,17 +88,13 @@
88
88
  flex-wrap: wrap;
89
89
  }
90
90
 
91
- &--row-gap-small,
92
- &--has-size#{&}--spacing-small,
93
- &--wrap#{&}--direction-horizontal {
91
+ &--row-gap-small {
94
92
  --gap: var(--spacing-small);
95
93
  }
96
- &--row-gap-medium,
97
- &--has-size#{&}--spacing-medium {
94
+ &--row-gap-medium {
98
95
  --gap: var(--spacing-medium);
99
96
  }
100
- &--row-gap-large,
101
- &--has-size#{&}--spacing-large {
97
+ &--row-gap-large {
102
98
  --gap: var(--spacing-large);
103
99
  }
104
100
 
@@ -15,4 +15,4 @@ export declare const isSpacePropsComponent: (element: React.ReactNode) => boolea
15
15
  export declare const renderWithSpacing: (element: React.ReactNode, props: SpacingProps & {
16
16
  key?: string;
17
17
  className?: string;
18
- }) => import("react/jsx-runtime").JSX.Element;
18
+ }) => string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<React.ReactNode>;
@@ -28,10 +28,20 @@ export const isEufemiaElement = element => {
28
28
  };
29
29
  export const isSpacePropsComponent = element => {
30
30
  var _element$type2;
31
- return React.isValidElement(element) && (element === null || element === void 0 ? void 0 : (_element$type2 = element.type) === null || _element$type2 === void 0 ? void 0 : _element$type2['_supportsSpacingProps']) === true || isEufemiaElement(element);
31
+ if (React.isValidElement(element) && typeof (element === null || element === void 0 ? void 0 : (_element$type2 = element.type) === null || _element$type2 === void 0 ? void 0 : _element$type2['_supportsSpacingProps']) === 'boolean') {
32
+ var _element$type3;
33
+ return element === null || element === void 0 ? void 0 : (_element$type3 = element.type) === null || _element$type3 === void 0 ? void 0 : _element$type3['_supportsSpacingProps'];
34
+ }
35
+ if (isEufemiaElement(element)) {
36
+ return true;
37
+ }
38
+ return undefined;
32
39
  };
33
40
  export const renderWithSpacing = (element, props) => {
34
41
  const takesSpaceProps = isSpacePropsComponent(element);
42
+ if (takesSpaceProps === false) {
43
+ return element;
44
+ }
35
45
  return takesSpaceProps ? React.cloneElement(element, props) : React.createElement(Space, props, element);
36
46
  };
37
47
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["React","Space","removeSpaceProps","EufemiaElements","pickSpacingProps","props","space","top","bottom","left","right","omitSpacingProps","getSpaceValue","type","element","_element$props$type","_element$props","_element$props2","isValidElement","undefined","isHeadingElement","_element$type","isEufemiaElement","Object","values","some","eufemiaElement","isSpacePropsComponent","_element$type2","renderWithSpacing","takesSpaceProps","cloneElement","createElement"],"sources":["../../../../src/components/flex/utils.tsx"],"sourcesContent":["import React from 'react'\nimport { SpaceType, SpacingProps } from '../../shared/types'\nimport Space from '../space/Space'\nimport { removeSpaceProps } from '../space/SpacingUtils'\nimport * as EufemiaElements from '../../elements'\nimport { End, Start } from './types'\n\nexport const pickSpacingProps = <Props extends SpacingProps>(\n props: Props\n): SpacingProps => {\n return {\n space: props?.space,\n top: props?.top,\n bottom: props?.bottom,\n left: props?.left,\n right: props?.right,\n }\n}\n\nexport const omitSpacingProps = removeSpaceProps\n\nexport const getSpaceValue = (\n type: Start | End,\n element: React.ReactChild | React.ReactFragment | React.ReactPortal\n): SpaceType | undefined => {\n if (!React.isValidElement(element)) {\n return\n }\n\n return (\n element.props?.[type] ??\n (typeof element.props?.space === 'object'\n ? element.props.space[type]\n : undefined)\n )\n}\n\nexport function isHeadingElement(\n element: React.ReactNode & { _isHeadingElement?: boolean }\n): boolean {\n return (\n React.isValidElement(element) &&\n element?.type?.['_isHeadingElement'] === true\n )\n}\n\nexport const isEufemiaElement = (element): boolean => {\n return Object.values(EufemiaElements).some(\n (eufemiaElement) => element?.type === eufemiaElement\n )\n}\n\n/**\n * Is the requested element a component that can receive Eufemia space props (space, top, bottom, left and right)?\n */\nexport const isSpacePropsComponent = (\n element: React.ReactNode\n): boolean => {\n return (\n (React.isValidElement(element) &&\n element?.type?.['_supportsSpacingProps'] === true) ||\n isEufemiaElement(element)\n )\n}\n\nexport const renderWithSpacing = (\n element: React.ReactNode,\n props: SpacingProps & { key?: string; className?: string }\n) => {\n const takesSpaceProps = isSpacePropsComponent(element)\n\n return takesSpaceProps ? (\n React.cloneElement(element as React.ReactElement<unknown>, props)\n ) : (\n <Space {...props}>{element}</Space>\n )\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,KAAK,MAAM,gBAAgB;AAClC,SAASC,gBAAgB,QAAQ,uBAAuB;AACxD,OAAO,KAAKC,eAAe,MAAM,gBAAgB;AAGjD,OAAO,MAAMC,gBAAgB,GAC3BC,KAAY,IACK;EACjB,OAAO;IACLC,KAAK,EAAED,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEC,KAAK;IACnBC,GAAG,EAAEF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEE,GAAG;IACfC,MAAM,EAAEH,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEG,MAAM;IACrBC,IAAI,EAAEJ,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEI,IAAI;IACjBC,KAAK,EAAEL,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEK;EAChB,CAAC;AACH,CAAC;AAED,OAAO,MAAMC,gBAAgB,GAAGT,gBAAgB;AAEhD,OAAO,MAAMU,aAAa,GAAGA,CAC3BC,IAAiB,EACjBC,OAAmE,KACzC;EAAA,IAAAC,mBAAA,EAAAC,cAAA,EAAAC,eAAA;EAC1B,IAAI,CAACjB,KAAK,CAACkB,cAAc,CAACJ,OAAO,CAAC,EAAE;IAClC;EACF;EAEA,QAAAC,mBAAA,IAAAC,cAAA,GACEF,OAAO,CAACT,KAAK,cAAAW,cAAA,uBAAbA,cAAA,CAAgBH,IAAI,CAAC,cAAAE,mBAAA,cAAAA,mBAAA,GACpB,SAAAE,eAAA,GAAOH,OAAO,CAACT,KAAK,cAAAY,eAAA,uBAAbA,eAAA,CAAeX,KAAK,MAAK,QAAQ,GACrCQ,OAAO,CAACT,KAAK,CAACC,KAAK,CAACO,IAAI,CAAC,GACzBM,SAAS;AAEjB,CAAC;AAED,OAAO,SAASC,gBAAgBA,CAC9BN,OAA0D,EACjD;EAAA,IAAAO,aAAA;EACT,OACErB,KAAK,CAACkB,cAAc,CAACJ,OAAO,CAAC,IAC7B,CAAAA,OAAO,aAAPA,OAAO,wBAAAO,aAAA,GAAPP,OAAO,CAAED,IAAI,cAAAQ,aAAA,uBAAbA,aAAA,CAAgB,mBAAmB,CAAC,MAAK,IAAI;AAEjD;AAEA,OAAO,MAAMC,gBAAgB,GAAIR,OAAO,IAAc;EACpD,OAAOS,MAAM,CAACC,MAAM,CAACrB,eAAe,CAAC,CAACsB,IAAI,CACvCC,cAAc,IAAK,CAAAZ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAED,IAAI,MAAKa,cACxC,CAAC;AACH,CAAC;AAKD,OAAO,MAAMC,qBAAqB,GAChCb,OAAwB,IACZ;EAAA,IAAAc,cAAA;EACZ,OACG5B,KAAK,CAACkB,cAAc,CAACJ,OAAO,CAAC,IAC5B,CAAAA,OAAO,aAAPA,OAAO,wBAAAc,cAAA,GAAPd,OAAO,CAAED,IAAI,cAAAe,cAAA,uBAAbA,cAAA,CAAgB,uBAAuB,CAAC,MAAK,IAAI,IACnDN,gBAAgB,CAACR,OAAO,CAAC;AAE7B,CAAC;AAED,OAAO,MAAMe,iBAAiB,GAAGA,CAC/Bf,OAAwB,EACxBT,KAA0D,KACvD;EACH,MAAMyB,eAAe,GAAGH,qBAAqB,CAACb,OAAO,CAAC;EAEtD,OAAOgB,eAAe,GACpB9B,KAAK,CAAC+B,YAAY,CAACjB,OAAO,EAAiCT,KAAK,CAAC,GAEjEL,KAAA,CAAAgC,aAAA,CAAC/B,KAAK,EAAKI,KAAK,EAAGS,OAAe,CACnC;AACH,CAAC"}
1
+ {"version":3,"file":"utils.js","names":["React","Space","removeSpaceProps","EufemiaElements","pickSpacingProps","props","space","top","bottom","left","right","omitSpacingProps","getSpaceValue","type","element","_element$props$type","_element$props","_element$props2","isValidElement","undefined","isHeadingElement","_element$type","isEufemiaElement","Object","values","some","eufemiaElement","isSpacePropsComponent","_element$type2","_element$type3","renderWithSpacing","takesSpaceProps","cloneElement","createElement"],"sources":["../../../../src/components/flex/utils.tsx"],"sourcesContent":["import React from 'react'\nimport { SpaceType, SpacingProps } from '../../shared/types'\nimport Space from '../space/Space'\nimport { removeSpaceProps } from '../space/SpacingUtils'\nimport * as EufemiaElements from '../../elements'\nimport { End, Start } from './types'\n\nexport const pickSpacingProps = <Props extends SpacingProps>(\n props: Props\n): SpacingProps => {\n return {\n space: props?.space,\n top: props?.top,\n bottom: props?.bottom,\n left: props?.left,\n right: props?.right,\n }\n}\n\nexport const omitSpacingProps = removeSpaceProps\n\nexport const getSpaceValue = (\n type: Start | End,\n element: React.ReactChild | React.ReactFragment | React.ReactPortal\n): SpaceType | undefined => {\n if (!React.isValidElement(element)) {\n return\n }\n\n return (\n element.props?.[type] ??\n (typeof element.props?.space === 'object'\n ? element.props.space[type]\n : undefined)\n )\n}\n\nexport function isHeadingElement(\n element: React.ReactNode & { _isHeadingElement?: boolean }\n): boolean {\n return (\n React.isValidElement(element) &&\n element?.type?.['_isHeadingElement'] === true\n )\n}\n\nexport const isEufemiaElement = (element): boolean => {\n return Object.values(EufemiaElements).some(\n (eufemiaElement) => element?.type === eufemiaElement\n )\n}\n\n/**\n * Is the requested element a component that can receive Eufemia space props (space, top, bottom, left and right)?\n */\nexport const isSpacePropsComponent = (\n element: React.ReactNode\n): boolean => {\n if (\n React.isValidElement(element) &&\n typeof element?.type?.['_supportsSpacingProps'] === 'boolean'\n ) {\n return element?.type?.['_supportsSpacingProps']\n }\n\n if (isEufemiaElement(element)) {\n return true\n }\n\n return undefined\n}\n\nexport const renderWithSpacing = (\n element: React.ReactNode,\n props: SpacingProps & { key?: string; className?: string }\n) => {\n const takesSpaceProps = isSpacePropsComponent(element)\n\n if (takesSpaceProps === false) {\n return element\n }\n\n return takesSpaceProps ? (\n React.cloneElement(element as React.ReactElement<unknown>, props)\n ) : (\n <Space {...props}>{element}</Space>\n )\n}\n"],"mappings":"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"}
@@ -9,6 +9,7 @@
9
9
  */
10
10
  import Accordion from './accordion/Accordion';
11
11
  import Anchor from './anchor/Anchor';
12
+ import AriaLive from './aria-live/AriaLive';
12
13
  import Autocomplete from './autocomplete/Autocomplete';
13
14
  import Avatar from './avatar/Avatar';
14
15
  import Badge from './badge/Badge';
@@ -58,4 +59,4 @@ import ToggleButton from './toggle-button/ToggleButton';
58
59
  import Tooltip from './tooltip/Tooltip';
59
60
  import Upload from './upload/Upload';
60
61
  import VisuallyHidden from './visually-hidden/VisuallyHidden';
61
- 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, };
62
+ 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, };
@@ -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,5 +50,5 @@ 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
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.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"],"sources":["../../../src/components/index.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"],"mappings":"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"}
1
+ {"version":3,"file":"index.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"],"sources":["../../../src/components/index.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"],"mappings":"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"}
@@ -183,9 +183,6 @@ export default class Input extends React.PureComponent {
183
183
  event
184
184
  });
185
185
  }
186
- if (isTrue(this.props.clear) && event.key === 'Escape') {
187
- this.clearValue(event);
188
- }
189
186
  });
190
187
  _defineProperty(this, "clearValue", event => {
191
188
  const previousValue = this.state.value;
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","names":["React","PropTypes","classnames","warn","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","processChildren","getStatusState","convertStatusToStateOnly","combineDescribedBy","dispatchCustomElementEvent","AlignmentHelper","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","pickFormElementProps","Button","buttonVariantPropType","FormLabel","FormStatus","IconPrimary","Context","Suffix","inputPropTypes","_objectSpread","type","string","size","oneOfType","oneOf","number","value","id","label","func","node","label_direction","label_sr_only","bool","status","globalStatus","shape","message","status_state","status_props","object","status_no_animation","input_state","autocomplete","submit_button_title","clear_button_title","placeholder","clear","keep_placeholder","suffix","align","selectall","stretch","disabled","skeleton","class","input_class","input_attributes","input_element","icon","icon_size","icon_position","inner_ref","readOnly","inner_element","submit_element","submit_button_variant","variant","submit_button_icon","submit_button_status","className","children","on_change","on_key_down","on_submit","on_focus","on_blur","on_submit_focus","on_submit_blur","on_state_update","on_clear","Input","PureComponent","getDerivedStateFromProps","props","state","getValue","_value","inputState","hasValue","String","length","constructor","context","_defineProperty","event","target","setState","_ref","current","clearTimeout","_selectallTimeout","setTimeout","select","e","result","key","clearValue","previousValue","focus","preventScroll","createRef","_id","FormRow","useId","formElement","componentWillUnmount","render","_this$context","_this$context2","_this$context3","defaultProps","getTranslation","_className","_input_element","attributes","_objectWithoutProperties","_excluded","focusState","sizeIsNumber","parseFloat","showStatus","hasSubmitButton","iconSize","mainParams","innerParams","InputElement","inputAttributes","JSON","parse","inputParams","autoComplete","name","onChange","onChangeHandler","onKeyDown","onKeyDownHandler","onFocus","onFocusHandler","onBlur","onBlurHandler","shellParams","createElement","forId","text","labelDirection","srOnly","_AlignmentHelper","_extends","show","text_id","no_animation","ref","InputIcon","role","InputSubmitButton","tooltip","undefined","onClick","title","process","env","NODE_ENV","propTypes","arguments","_this$props","rest","_excluded2","params","onSubmitHandler","SubmitButton","forwardRef","innerRef","memo","_ref2","prev","next","isRequired","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/input/Input.js"],"sourcesContent":["/**\n * Web Input Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n processChildren,\n getStatusState,\n convertStatusToStateOnly,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport Button, { buttonVariantPropType } from '../button/Button'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport IconPrimary from '../icon-primary/IconPrimary'\n\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\nexport const inputPropTypes = {\n type: PropTypes.string,\n size: PropTypes.oneOfType([\n PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n PropTypes.number,\n ]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n id: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n input_state: PropTypes.string,\n autocomplete: PropTypes.string,\n submit_button_title: PropTypes.string,\n clear_button_title: PropTypes.string,\n placeholder: PropTypes.string,\n clear: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_placeholder: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n align: PropTypes.oneOf(['left', 'center', 'right']),\n selectall: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n class: PropTypes.string,\n input_class: PropTypes.string,\n input_attributes: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n input_element: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n icon_position: PropTypes.oneOf(['left', 'right']),\n inner_ref: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n inner_element: PropTypes.node,\n\n // Submit button\n submit_element: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n submit_button_variant: buttonVariantPropType.variant,\n submit_button_icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n submit_button_status: PropTypes.string,\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_key_down: PropTypes.func,\n on_submit: PropTypes.func,\n on_focus: PropTypes.func,\n on_blur: PropTypes.func,\n on_submit_focus: PropTypes.func,\n on_submit_blur: PropTypes.func,\n on_state_update: PropTypes.func,\n on_clear: PropTypes.func,\n}\n\nexport default class Input extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n ...inputPropTypes,\n }\n\n static defaultProps = {\n type: 'text',\n size: null,\n value: 'initval',\n id: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n status: null,\n globalStatus: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n input_state: null,\n autocomplete: 'off',\n placeholder: null,\n clear: null,\n keep_placeholder: null,\n suffix: null,\n align: null,\n selectall: null,\n stretch: null,\n disabled: null,\n skeleton: null,\n input_class: null,\n class: null,\n input_attributes: null,\n input_element: null,\n inner_ref: null,\n icon: null,\n icon_size: null,\n icon_position: 'left',\n readOnly: false,\n inner_element: null,\n\n // Submit button\n submit_element: null,\n submit_button_title: null,\n clear_button_title: null,\n submit_button_variant: 'secondary',\n submit_button_icon: 'loupe',\n submit_button_status: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_key_down: null,\n on_submit: null,\n on_focus: null,\n on_blur: null,\n on_submit_focus: null,\n on_submit_blur: null,\n on_state_update: null,\n on_clear: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n const value = Input.getValue(props)\n if (\n value !== 'initval' &&\n value !== state.value &&\n value !== state._value\n ) {\n if (\n value !== state.value &&\n typeof props.on_state_update === 'function'\n ) {\n dispatchCustomElementEvent({ props }, 'on_state_update', { value })\n }\n state.value = value\n }\n if (props.input_state) {\n state.inputState = props.input_state\n }\n state._value = props.value\n return state\n }\n\n static hasValue(value) {\n return (\n ((typeof value === 'string' || typeof value === 'number') &&\n String(value).length > 0) ||\n false\n )\n }\n\n static getValue(props) {\n const value = processChildren(props)\n if (value === '' || Input.hasValue(value)) {\n return value\n }\n return props.value\n }\n\n state = { inputState: 'virgin', value: null, _value: null }\n\n constructor(props, context) {\n super(props)\n\n this._ref = props.inner_ref || React.createRef()\n\n this._id =\n props.id ||\n // Deprecated – can be removed in v11\n (context.FormRow &&\n typeof context.FormRow.useId === 'function' &&\n context.FormRow.useId()) ||\n (context.formElement &&\n typeof context.formElement.useId === 'function' &&\n context.formElement.useId()) ||\n makeUniqueId() // cause we need an id anyway\n\n if (isTrue(props.clear) && props.icon_position === 'right') {\n warn('You can not have a clear button and icon_position=\"right\"')\n }\n\n // make sure we trigger getDerivedStateFromProps on startup\n }\n componentWillUnmount() {\n clearTimeout(this._selectallTimeout)\n }\n onFocusHandler = (event) => {\n const { value } = event.target\n this.setState({\n // value,// why should we update the value on blur?\n inputState: 'focus',\n })\n\n dispatchCustomElementEvent(this, 'on_focus', { value, event })\n\n if (isTrue(this.props.selectall) && this._ref.current) {\n clearTimeout(this._selectallTimeout)\n this._selectallTimeout = setTimeout(() => {\n try {\n this._ref.current.select()\n } catch (e) {\n warn(e)\n }\n }, 1) // safari needs a delay\n }\n }\n onBlurHandler = (event) => {\n const { value } = event.target\n const result = dispatchCustomElementEvent(this, 'on_blur', {\n value,\n event,\n })\n if (result !== false) {\n this.setState({\n inputState:\n Input.hasValue(value) && value !== this.state._value\n ? 'dirty'\n : 'initial',\n })\n }\n }\n onChangeHandler = (event) => {\n const { value } = event.target\n const result = dispatchCustomElementEvent(this, 'on_change', {\n value,\n event,\n })\n if (result === false) {\n return // stop here\n }\n if (typeof result === 'string') {\n this.setState({ value: result })\n } else {\n this.setState({ value })\n }\n }\n onKeyDownHandler = (event) => {\n const value = event.target.value\n dispatchCustomElementEvent(this, 'on_key_down', { value, event })\n if (event.key === 'Enter') {\n dispatchCustomElementEvent(this, 'on_submit', { value, event })\n }\n if (isTrue(this.props.clear) && event.key === 'Escape') {\n this.clearValue(event)\n }\n }\n clearValue = (event) => {\n const previousValue = this.state.value\n const value = ''\n this.setState({ value })\n dispatchCustomElementEvent(this, 'on_change', { value, event })\n dispatchCustomElementEvent(this, 'on_clear', {\n value,\n previousValue,\n event,\n })\n this._ref.current.focus({ preventScroll: true })\n }\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Input.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Input,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Input\n )\n\n const {\n type,\n size,\n label,\n label_direction,\n label_sr_only,\n status,\n globalStatus,\n status_state,\n status_props,\n status_no_animation,\n disabled,\n skeleton,\n placeholder,\n clear,\n keep_placeholder,\n suffix,\n align,\n input_class,\n submit_button_title,\n clear_button_title,\n submit_button_variant,\n submit_button_icon,\n submit_button_status,\n submit_element,\n inner_element,\n autocomplete,\n readOnly,\n stretch,\n input_attributes,\n icon,\n icon_position,\n icon_size,\n class: _className,\n className,\n\n id: _id, //eslint-disable-line\n children, //eslint-disable-line\n value: _value, //eslint-disable-line\n selectall, //eslint-disable-line\n on_submit, //eslint-disable-line\n input_element: _input_element, //eslint-disable-line\n\n ...attributes\n } = props\n\n let { value, focusState, inputState } = this.state\n\n if (isTrue(disabled) || isTrue(skeleton)) {\n inputState = 'disabled'\n }\n const sizeIsNumber = parseFloat(size) > 0\n\n const id = this._id\n const showStatus = getStatusState(status)\n const hasSubmitButton =\n submit_element || (submit_element !== false && type === 'search')\n const hasValue = Input.hasValue(value)\n\n const iconSize =\n size === 'large' && (icon_size === 'default' || !icon_size)\n ? 'medium'\n : icon_size\n\n const mainParams = {\n className: classnames(\n 'dnb-input',\n type && `dnb-input--${type}`,\n size && !sizeIsNumber && `dnb-input--${size}`,\n hasSubmitButton && 'dnb-input--has-submit-element',\n inner_element && 'dnb-input--has-inner-element',\n isTrue(clear) && 'dnb-input--has-clear-button',\n align && `dnb-input__align--${align}`,\n status && `dnb-input__status--${status_state}`,\n icon && `dnb-input--icon-position-${icon_position}`,\n icon && 'dnb-input--has-icon',\n icon && iconSize && `dnb-input--icon-size-${iconSize}`,\n label_direction && `dnb-input--${label_direction}`,\n isTrue(stretch) && `dnb-input--stretch`,\n isTrue(keep_placeholder) && `dnb-input--keep-placeholder`,\n 'dnb-form-component',\n createSpacingClasses(props),\n _className,\n className\n ),\n 'data-input-state': inputState,\n 'data-has-content': hasValue ? 'true' : 'false',\n }\n\n const innerParams = {\n className: 'dnb-input__inner',\n }\n\n // pass along all props we wish to have as params\n let { input_element: InputElement } = props\n\n const inputAttributes = input_attributes\n ? typeof input_attributes === 'string'\n ? JSON.parse(input_attributes)\n : input_attributes\n : {}\n\n const inputParams = {\n className: classnames('dnb-input__input', input_class),\n autoComplete: autocomplete,\n value: hasValue ? value : '',\n type,\n id,\n disabled: isTrue(disabled),\n name: id,\n 'aria-placeholder': placeholder,\n ...attributes,\n ...inputAttributes,\n onChange: this.onChangeHandler,\n onKeyDown: this.onKeyDownHandler,\n onFocus: this.onFocusHandler,\n onBlur: this.onBlurHandler,\n }\n\n if (sizeIsNumber) {\n inputParams.size = size\n }\n\n // we may consider using: aria-details\n if (showStatus || suffix || hasSubmitButton) {\n inputParams['aria-describedby'] = combineDescribedBy(\n inputParams,\n hasSubmitButton && !submit_element ? id + '-submit-button' : null,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n inputParams['aria-readonly'] = inputParams.readOnly = true\n }\n\n const shellParams = {\n className: classnames(\n 'dnb-input__shell',\n createSkeletonClass('shape', skeleton, this.context)\n ),\n }\n\n skeletonDOMAttributes(inputParams, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, inputParams)\n validateDOMAttributes(null, shellParams)\n\n if (InputElement && typeof InputElement === 'function') {\n InputElement = InputElement(inputParams, this._ref)\n } else if (!InputElement && _input_element) {\n InputElement = _input_element\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n forId={id}\n text={label}\n labelDirection={label_direction}\n srOnly={label_sr_only}\n disabled={disabled}\n skeleton={skeleton}\n />\n )}\n\n <span {...innerParams}>\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text={status}\n state={status_state}\n text_id={id + '-status'} // used for \"aria-describedby\"\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-input__row\">\n <span {...shellParams}>\n {InputElement || <input ref={this._ref} {...inputParams} />}\n\n {inner_element && (\n <span className=\"dnb-input__inner__element dnb-p\">\n {inner_element}\n </span>\n )}\n\n {icon && (\n <InputIcon\n className=\"dnb-input__icon\"\n icon={icon}\n size={iconSize}\n />\n )}\n\n {!hasValue && placeholder && focusState !== 'focus' && (\n <span\n id={id + '-placeholder'}\n className={classnames(\n 'dnb-input__placeholder',\n align ? `dnb-input__align--${align}` : null\n )}\n role=\"presentation\"\n aria-hidden\n >\n {placeholder}\n </span>\n )}\n\n {isTrue(clear) && icon_position !== 'right' && (\n <span className=\"dnb-input--clear dnb-input__submit-element\">\n <InputSubmitButton\n aria-hidden={!hasValue}\n attributes={{ className: 'dnb-input__clear-button' }}\n id={id + '-clear-button'}\n type=\"button\"\n variant=\"tertiary\"\n aria-controls={id}\n aria-label={clear_button_title}\n tooltip={hasValue && clear_button_title}\n icon=\"close\"\n icon_size={size === 'small' ? 'small' : undefined}\n skeleton={skeleton}\n disabled={isTrue(disabled) || !hasValue}\n onClick={this.clearValue}\n />\n </span>\n )}\n </span>\n {hasSubmitButton && (\n <span className=\"dnb-input__submit-element\">\n {submit_element ? (\n submit_element\n ) : (\n <InputSubmitButton\n {...attributes}\n id={id + '-submit-button'}\n value={inputParams.value}\n icon={submit_button_icon}\n status={convertStatusToStateOnly(\n submit_button_status || status,\n status_state\n )}\n status_state={status_state}\n icon_size={\n size === 'medium' || size === 'large'\n ? 'medium'\n : 'default'\n }\n title={submit_button_title}\n variant={submit_button_variant}\n disabled={isTrue(disabled)}\n skeleton={isTrue(skeleton)}\n size={size}\n on_submit={on_submit}\n {...status_props}\n />\n )}\n </span>\n )}\n {suffix && (\n <Suffix\n className=\"dnb-input__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }\n}\n\nclass InputSubmitButton extends React.PureComponent {\n static propTypes = {\n id: PropTypes.string,\n value: PropTypes.string,\n title: PropTypes.string,\n variant: buttonVariantPropType.variant,\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n className: PropTypes.string,\n\n on_submit: PropTypes.func,\n on_submit_focus: PropTypes.func,\n on_submit_blur: PropTypes.func,\n }\n\n static defaultProps = {\n id: null,\n value: null,\n title: null,\n disabled: false,\n skeleton: false,\n variant: 'secondary',\n icon: 'loupe',\n icon_size: null,\n status: null,\n status_state: 'error',\n status_props: null,\n className: null,\n\n on_submit: null,\n on_submit_focus: null,\n on_submit_blur: null,\n }\n\n state = { focusState: 'virgin' }\n\n onFocusHandler = (event) => {\n const value = this.props.value\n this.setState({\n focusState: 'focus',\n })\n dispatchCustomElementEvent(this, 'on_submit_focus', { value, event })\n }\n onBlurHandler = (event) => {\n const value = this.props.value\n this.setState({\n focusState: 'dirty',\n })\n dispatchCustomElementEvent(this, 'on_submit_blur', { value, event })\n }\n onSubmitHandler = (event) => {\n const value = this.props.value\n dispatchCustomElementEvent(this, 'on_submit', { value, event })\n }\n render() {\n const {\n id,\n title,\n disabled,\n skeleton,\n variant,\n icon,\n icon_size,\n status,\n status_state,\n status_props,\n className,\n ...rest\n } = this.props\n\n const params = {\n id,\n type: 'submit',\n 'aria-label': title,\n disabled,\n ...rest,\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n return (\n <span\n className=\"dnb-input__submit-button\"\n data-input-state={this.state.focusState}\n >\n <Button\n className={classnames(\n 'dnb-input__submit-button__button',\n 'dnb-button--input-button',\n className\n )}\n variant={variant}\n icon={icon}\n icon_size={icon_size}\n status={status}\n status_state={status_state}\n onClick={this.onSubmitHandler}\n onFocus={this.onFocusHandler}\n onBlur={this.onBlurHandler}\n {...params}\n {...status_props}\n />\n </span>\n )\n }\n}\n\nconst SubmitButton = React.forwardRef((props, ref) => (\n <InputSubmitButton innerRef={ref} {...props} />\n))\n\nexport { SubmitButton }\n\n// We memoize by type, in case we send in a ProgressIndicator (Autocomplete)\nconst InputIcon = React.memo(\n (props) => <IconPrimary {...props} />,\n ({ icon: prev }, { icon: next }) => {\n if (typeof prev === 'string' && typeof next === 'string') {\n return false\n }\n return typeof prev === typeof next\n }\n)\nInputIcon.propTypes = {\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]).isRequired,\n}\n\nInput._formElement = true\nInput._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"Input.js","names":["React","PropTypes","classnames","warn","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","processChildren","getStatusState","convertStatusToStateOnly","combineDescribedBy","dispatchCustomElementEvent","AlignmentHelper","spacingPropTypes","createSpacingClasses","skeletonDOMAttributes","createSkeletonClass","pickFormElementProps","Button","buttonVariantPropType","FormLabel","FormStatus","IconPrimary","Context","Suffix","inputPropTypes","_objectSpread","type","string","size","oneOfType","oneOf","number","value","id","label","func","node","label_direction","label_sr_only","bool","status","globalStatus","shape","message","status_state","status_props","object","status_no_animation","input_state","autocomplete","submit_button_title","clear_button_title","placeholder","clear","keep_placeholder","suffix","align","selectall","stretch","disabled","skeleton","class","input_class","input_attributes","input_element","icon","icon_size","icon_position","inner_ref","readOnly","inner_element","submit_element","submit_button_variant","variant","submit_button_icon","submit_button_status","className","children","on_change","on_key_down","on_submit","on_focus","on_blur","on_submit_focus","on_submit_blur","on_state_update","on_clear","Input","PureComponent","getDerivedStateFromProps","props","state","getValue","_value","inputState","hasValue","String","length","constructor","context","_defineProperty","event","target","setState","_ref","current","clearTimeout","_selectallTimeout","setTimeout","select","e","result","key","previousValue","focus","preventScroll","createRef","_id","FormRow","useId","formElement","componentWillUnmount","render","_this$context","_this$context2","_this$context3","defaultProps","getTranslation","_className","_input_element","attributes","_objectWithoutProperties","_excluded","focusState","sizeIsNumber","parseFloat","showStatus","hasSubmitButton","iconSize","mainParams","innerParams","InputElement","inputAttributes","JSON","parse","inputParams","autoComplete","name","onChange","onChangeHandler","onKeyDown","onKeyDownHandler","onFocus","onFocusHandler","onBlur","onBlurHandler","shellParams","createElement","forId","text","labelDirection","srOnly","_AlignmentHelper","_extends","show","text_id","no_animation","ref","InputIcon","role","InputSubmitButton","tooltip","undefined","onClick","clearValue","title","process","env","NODE_ENV","propTypes","arguments","_this$props","rest","_excluded2","params","onSubmitHandler","SubmitButton","forwardRef","innerRef","memo","_ref2","prev","next","isRequired","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/input/Input.js"],"sourcesContent":["/**\n * Web Input Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n processChildren,\n getStatusState,\n convertStatusToStateOnly,\n combineDescribedBy,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport Button, { buttonVariantPropType } from '../button/Button'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport IconPrimary from '../icon-primary/IconPrimary'\n\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\n\nexport const inputPropTypes = {\n type: PropTypes.string,\n size: PropTypes.oneOfType([\n PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n PropTypes.number,\n ]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n id: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n input_state: PropTypes.string,\n autocomplete: PropTypes.string,\n submit_button_title: PropTypes.string,\n clear_button_title: PropTypes.string,\n placeholder: PropTypes.string,\n clear: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_placeholder: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n align: PropTypes.oneOf(['left', 'center', 'right']),\n selectall: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n class: PropTypes.string,\n input_class: PropTypes.string,\n input_attributes: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n input_element: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n icon_position: PropTypes.oneOf(['left', 'right']),\n inner_ref: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n readOnly: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n inner_element: PropTypes.node,\n\n // Submit button\n submit_element: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n submit_button_variant: buttonVariantPropType.variant,\n submit_button_icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n submit_button_status: PropTypes.string,\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n on_change: PropTypes.func,\n on_key_down: PropTypes.func,\n on_submit: PropTypes.func,\n on_focus: PropTypes.func,\n on_blur: PropTypes.func,\n on_submit_focus: PropTypes.func,\n on_submit_blur: PropTypes.func,\n on_state_update: PropTypes.func,\n on_clear: PropTypes.func,\n}\n\nexport default class Input extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n ...inputPropTypes,\n }\n\n static defaultProps = {\n type: 'text',\n size: null,\n value: 'initval',\n id: null,\n label: null,\n label_direction: null,\n label_sr_only: null,\n status: null,\n globalStatus: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n input_state: null,\n autocomplete: 'off',\n placeholder: null,\n clear: null,\n keep_placeholder: null,\n suffix: null,\n align: null,\n selectall: null,\n stretch: null,\n disabled: null,\n skeleton: null,\n input_class: null,\n class: null,\n input_attributes: null,\n input_element: null,\n inner_ref: null,\n icon: null,\n icon_size: null,\n icon_position: 'left',\n readOnly: false,\n inner_element: null,\n\n // Submit button\n submit_element: null,\n submit_button_title: null,\n clear_button_title: null,\n submit_button_variant: 'secondary',\n submit_button_icon: 'loupe',\n submit_button_status: null,\n\n className: null,\n children: null,\n\n on_change: null,\n on_key_down: null,\n on_submit: null,\n on_focus: null,\n on_blur: null,\n on_submit_focus: null,\n on_submit_blur: null,\n on_state_update: null,\n on_clear: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n const value = Input.getValue(props)\n if (\n value !== 'initval' &&\n value !== state.value &&\n value !== state._value\n ) {\n if (\n value !== state.value &&\n typeof props.on_state_update === 'function'\n ) {\n dispatchCustomElementEvent({ props }, 'on_state_update', { value })\n }\n state.value = value\n }\n if (props.input_state) {\n state.inputState = props.input_state\n }\n state._value = props.value\n return state\n }\n\n static hasValue(value) {\n return (\n ((typeof value === 'string' || typeof value === 'number') &&\n String(value).length > 0) ||\n false\n )\n }\n\n static getValue(props) {\n const value = processChildren(props)\n if (value === '' || Input.hasValue(value)) {\n return value\n }\n return props.value\n }\n\n state = { inputState: 'virgin', value: null, _value: null }\n\n constructor(props, context) {\n super(props)\n\n this._ref = props.inner_ref || React.createRef()\n\n this._id =\n props.id ||\n // Deprecated – can be removed in v11\n (context.FormRow &&\n typeof context.FormRow.useId === 'function' &&\n context.FormRow.useId()) ||\n (context.formElement &&\n typeof context.formElement.useId === 'function' &&\n context.formElement.useId()) ||\n makeUniqueId() // cause we need an id anyway\n\n if (isTrue(props.clear) && props.icon_position === 'right') {\n warn('You can not have a clear button and icon_position=\"right\"')\n }\n\n // make sure we trigger getDerivedStateFromProps on startup\n }\n componentWillUnmount() {\n clearTimeout(this._selectallTimeout)\n }\n onFocusHandler = (event) => {\n const { value } = event.target\n this.setState({\n // value,// why should we update the value on blur?\n inputState: 'focus',\n })\n\n dispatchCustomElementEvent(this, 'on_focus', { value, event })\n\n if (isTrue(this.props.selectall) && this._ref.current) {\n clearTimeout(this._selectallTimeout)\n this._selectallTimeout = setTimeout(() => {\n try {\n this._ref.current.select()\n } catch (e) {\n warn(e)\n }\n }, 1) // safari needs a delay\n }\n }\n onBlurHandler = (event) => {\n const { value } = event.target\n const result = dispatchCustomElementEvent(this, 'on_blur', {\n value,\n event,\n })\n if (result !== false) {\n this.setState({\n inputState:\n Input.hasValue(value) && value !== this.state._value\n ? 'dirty'\n : 'initial',\n })\n }\n }\n onChangeHandler = (event) => {\n const { value } = event.target\n const result = dispatchCustomElementEvent(this, 'on_change', {\n value,\n event,\n })\n if (result === false) {\n return // stop here\n }\n if (typeof result === 'string') {\n this.setState({ value: result })\n } else {\n this.setState({ value })\n }\n }\n onKeyDownHandler = (event) => {\n const value = event.target.value\n dispatchCustomElementEvent(this, 'on_key_down', { value, event })\n if (event.key === 'Enter') {\n dispatchCustomElementEvent(this, 'on_submit', { value, event })\n }\n }\n clearValue = (event) => {\n const previousValue = this.state.value\n const value = ''\n this.setState({ value })\n dispatchCustomElementEvent(this, 'on_change', { value, event })\n dispatchCustomElementEvent(this, 'on_clear', {\n value,\n previousValue,\n event,\n })\n this._ref.current.focus({ preventScroll: true })\n }\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Input.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation(this.props).Input,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Input\n )\n\n const {\n type,\n size,\n label,\n label_direction,\n label_sr_only,\n status,\n globalStatus,\n status_state,\n status_props,\n status_no_animation,\n disabled,\n skeleton,\n placeholder,\n clear,\n keep_placeholder,\n suffix,\n align,\n input_class,\n submit_button_title,\n clear_button_title,\n submit_button_variant,\n submit_button_icon,\n submit_button_status,\n submit_element,\n inner_element,\n autocomplete,\n readOnly,\n stretch,\n input_attributes,\n icon,\n icon_position,\n icon_size,\n class: _className,\n className,\n\n id: _id, //eslint-disable-line\n children, //eslint-disable-line\n value: _value, //eslint-disable-line\n selectall, //eslint-disable-line\n on_submit, //eslint-disable-line\n input_element: _input_element, //eslint-disable-line\n\n ...attributes\n } = props\n\n let { value, focusState, inputState } = this.state\n\n if (isTrue(disabled) || isTrue(skeleton)) {\n inputState = 'disabled'\n }\n const sizeIsNumber = parseFloat(size) > 0\n\n const id = this._id\n const showStatus = getStatusState(status)\n const hasSubmitButton =\n submit_element || (submit_element !== false && type === 'search')\n const hasValue = Input.hasValue(value)\n\n const iconSize =\n size === 'large' && (icon_size === 'default' || !icon_size)\n ? 'medium'\n : icon_size\n\n const mainParams = {\n className: classnames(\n 'dnb-input',\n type && `dnb-input--${type}`,\n size && !sizeIsNumber && `dnb-input--${size}`,\n hasSubmitButton && 'dnb-input--has-submit-element',\n inner_element && 'dnb-input--has-inner-element',\n isTrue(clear) && 'dnb-input--has-clear-button',\n align && `dnb-input__align--${align}`,\n status && `dnb-input__status--${status_state}`,\n icon && `dnb-input--icon-position-${icon_position}`,\n icon && 'dnb-input--has-icon',\n icon && iconSize && `dnb-input--icon-size-${iconSize}`,\n label_direction && `dnb-input--${label_direction}`,\n isTrue(stretch) && `dnb-input--stretch`,\n isTrue(keep_placeholder) && `dnb-input--keep-placeholder`,\n 'dnb-form-component',\n createSpacingClasses(props),\n _className,\n className\n ),\n 'data-input-state': inputState,\n 'data-has-content': hasValue ? 'true' : 'false',\n }\n\n const innerParams = {\n className: 'dnb-input__inner',\n }\n\n // pass along all props we wish to have as params\n let { input_element: InputElement } = props\n\n const inputAttributes = input_attributes\n ? typeof input_attributes === 'string'\n ? JSON.parse(input_attributes)\n : input_attributes\n : {}\n\n const inputParams = {\n className: classnames('dnb-input__input', input_class),\n autoComplete: autocomplete,\n value: hasValue ? value : '',\n type,\n id,\n disabled: isTrue(disabled),\n name: id,\n 'aria-placeholder': placeholder,\n ...attributes,\n ...inputAttributes,\n onChange: this.onChangeHandler,\n onKeyDown: this.onKeyDownHandler,\n onFocus: this.onFocusHandler,\n onBlur: this.onBlurHandler,\n }\n\n if (sizeIsNumber) {\n inputParams.size = size\n }\n\n // we may consider using: aria-details\n if (showStatus || suffix || hasSubmitButton) {\n inputParams['aria-describedby'] = combineDescribedBy(\n inputParams,\n hasSubmitButton && !submit_element ? id + '-submit-button' : null,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n if (readOnly) {\n inputParams['aria-readonly'] = inputParams.readOnly = true\n }\n\n const shellParams = {\n className: classnames(\n 'dnb-input__shell',\n createSkeletonClass('shape', skeleton, this.context)\n ),\n }\n\n skeletonDOMAttributes(inputParams, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, inputParams)\n validateDOMAttributes(null, shellParams)\n\n if (InputElement && typeof InputElement === 'function') {\n InputElement = InputElement(inputParams, this._ref)\n } else if (!InputElement && _input_element) {\n InputElement = _input_element\n }\n\n return (\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n forId={id}\n text={label}\n labelDirection={label_direction}\n srOnly={label_sr_only}\n disabled={disabled}\n skeleton={skeleton}\n />\n )}\n\n <span {...innerParams}>\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text={status}\n state={status_state}\n text_id={id + '-status'} // used for \"aria-describedby\"\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-input__row\">\n <span {...shellParams}>\n {InputElement || <input ref={this._ref} {...inputParams} />}\n\n {inner_element && (\n <span className=\"dnb-input__inner__element dnb-p\">\n {inner_element}\n </span>\n )}\n\n {icon && (\n <InputIcon\n className=\"dnb-input__icon\"\n icon={icon}\n size={iconSize}\n />\n )}\n\n {!hasValue && placeholder && focusState !== 'focus' && (\n <span\n id={id + '-placeholder'}\n className={classnames(\n 'dnb-input__placeholder',\n align ? `dnb-input__align--${align}` : null\n )}\n role=\"presentation\"\n aria-hidden\n >\n {placeholder}\n </span>\n )}\n\n {isTrue(clear) && icon_position !== 'right' && (\n <span className=\"dnb-input--clear dnb-input__submit-element\">\n <InputSubmitButton\n aria-hidden={!hasValue}\n attributes={{ className: 'dnb-input__clear-button' }}\n id={id + '-clear-button'}\n type=\"button\"\n variant=\"tertiary\"\n aria-controls={id}\n aria-label={clear_button_title}\n tooltip={hasValue && clear_button_title}\n icon=\"close\"\n icon_size={size === 'small' ? 'small' : undefined}\n skeleton={skeleton}\n disabled={isTrue(disabled) || !hasValue}\n onClick={this.clearValue}\n />\n </span>\n )}\n </span>\n {hasSubmitButton && (\n <span className=\"dnb-input__submit-element\">\n {submit_element ? (\n submit_element\n ) : (\n <InputSubmitButton\n {...attributes}\n id={id + '-submit-button'}\n value={inputParams.value}\n icon={submit_button_icon}\n status={convertStatusToStateOnly(\n submit_button_status || status,\n status_state\n )}\n status_state={status_state}\n icon_size={\n size === 'medium' || size === 'large'\n ? 'medium'\n : 'default'\n }\n title={submit_button_title}\n variant={submit_button_variant}\n disabled={isTrue(disabled)}\n skeleton={isTrue(skeleton)}\n size={size}\n on_submit={on_submit}\n {...status_props}\n />\n )}\n </span>\n )}\n {suffix && (\n <Suffix\n className=\"dnb-input__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n </span>\n )\n }\n}\n\nclass InputSubmitButton extends React.PureComponent {\n static propTypes = {\n id: PropTypes.string,\n value: PropTypes.string,\n title: PropTypes.string,\n variant: buttonVariantPropType.variant,\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n className: PropTypes.string,\n\n on_submit: PropTypes.func,\n on_submit_focus: PropTypes.func,\n on_submit_blur: PropTypes.func,\n }\n\n static defaultProps = {\n id: null,\n value: null,\n title: null,\n disabled: false,\n skeleton: false,\n variant: 'secondary',\n icon: 'loupe',\n icon_size: null,\n status: null,\n status_state: 'error',\n status_props: null,\n className: null,\n\n on_submit: null,\n on_submit_focus: null,\n on_submit_blur: null,\n }\n\n state = { focusState: 'virgin' }\n\n onFocusHandler = (event) => {\n const value = this.props.value\n this.setState({\n focusState: 'focus',\n })\n dispatchCustomElementEvent(this, 'on_submit_focus', { value, event })\n }\n onBlurHandler = (event) => {\n const value = this.props.value\n this.setState({\n focusState: 'dirty',\n })\n dispatchCustomElementEvent(this, 'on_submit_blur', { value, event })\n }\n onSubmitHandler = (event) => {\n const value = this.props.value\n dispatchCustomElementEvent(this, 'on_submit', { value, event })\n }\n render() {\n const {\n id,\n title,\n disabled,\n skeleton,\n variant,\n icon,\n icon_size,\n status,\n status_state,\n status_props,\n className,\n ...rest\n } = this.props\n\n const params = {\n id,\n type: 'submit',\n 'aria-label': title,\n disabled,\n ...rest,\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n return (\n <span\n className=\"dnb-input__submit-button\"\n data-input-state={this.state.focusState}\n >\n <Button\n className={classnames(\n 'dnb-input__submit-button__button',\n 'dnb-button--input-button',\n className\n )}\n variant={variant}\n icon={icon}\n icon_size={icon_size}\n status={status}\n status_state={status_state}\n onClick={this.onSubmitHandler}\n onFocus={this.onFocusHandler}\n onBlur={this.onBlurHandler}\n {...params}\n {...status_props}\n />\n </span>\n )\n }\n}\n\nconst SubmitButton = React.forwardRef((props, ref) => (\n <InputSubmitButton innerRef={ref} {...props} />\n))\n\nexport { SubmitButton }\n\n// We memoize by type, in case we send in a ProgressIndicator (Autocomplete)\nconst InputIcon = React.memo(\n (props) => <IconPrimary {...props} />,\n ({ icon: prev }, { icon: next }) => {\n if (typeof prev === 'string' && typeof next === 'string') {\n return false\n }\n return typeof prev === typeof next\n }\n)\nInputIcon.propTypes = {\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]).isRequired,\n}\n\nInput._formElement = true\nInput._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -47,6 +47,14 @@ export type MultiInputMaskProps<T extends string> = {
47
47
  * 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}`
48
48
  */
49
49
  onChange?: (values: MultiInputMaskValue<T>) => void;
50
+ /**
51
+ * 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}`
52
+ */
53
+ onFocus?: (values: MultiInputMaskValue<T>) => void;
54
+ /**
55
+ * 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}`
56
+ */
57
+ onBlur?: (values: MultiInputMaskValue<T>) => void;
50
58
  /**
51
59
  * 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.
52
60
  */
@@ -63,8 +71,8 @@ export type MultiInputMaskProps<T extends string> = {
63
71
  * 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.
64
72
  */
65
73
  suffix?: React.ReactNode;
66
- } & Omit<React.HTMLProps<HTMLInputElement>, 'onChange' | 'ref' | 'value' | 'label'> & SpacingProps;
67
- declare function MultiInputMask<T extends string>({ label, labelDirection, inputs, delimiter, onChange: onChangeExternal, disabled, status, statusState, values: defaultValues, className, stretch, inputMode, suffix, ...props }: MultiInputMaskProps<T>): import("react/jsx-runtime").JSX.Element;
74
+ } & Omit<React.HTMLProps<HTMLInputElement>, 'onChange' | 'onFocus' | 'onBlur' | 'ref' | 'value' | 'label'> & SpacingProps;
75
+ declare function MultiInputMask<T extends string>({ id, label, labelDirection, inputs, delimiter, onChange: onChangeExternal, disabled, status, statusState, values: defaultValues, className, stretch, inputMode, suffix, onBlur, onFocus, ...props }: MultiInputMaskProps<T>): import("react/jsx-runtime").JSX.Element;
68
76
  declare namespace MultiInputMask {
69
77
  var _formElement: boolean;
70
78
  var _supportsSpacingProps: boolean;