@dnb/eufemia 10.18.0 → 10.20.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 (1199) hide show
  1. package/CHANGELOG.md +67 -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/accordion/AccordionContent.d.ts +1 -1
  6. package/cjs/components/accordion/AccordionContent.js.map +1 -1
  7. package/cjs/components/accordion/style/dnb-accordion.css +0 -3
  8. package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
  9. package/cjs/components/accordion/style/dnb-accordion.scss +0 -5
  10. package/cjs/components/aria-live/AriaLive.d.ts +6 -0
  11. package/cjs/components/aria-live/AriaLive.js +23 -0
  12. package/cjs/components/aria-live/AriaLive.js.map +1 -0
  13. package/cjs/components/aria-live/index.d.ts +7 -0
  14. package/cjs/components/aria-live/index.js +24 -0
  15. package/cjs/components/aria-live/index.js.map +1 -0
  16. package/cjs/components/aria-live/types.d.ts +44 -0
  17. package/cjs/components/aria-live/types.js +1 -0
  18. package/cjs/components/aria-live/types.js.map +1 -0
  19. package/cjs/components/aria-live/useAriaLive.d.ts +273 -0
  20. package/cjs/components/aria-live/useAriaLive.js +84 -0
  21. package/cjs/components/aria-live/useAriaLive.js.map +1 -0
  22. package/cjs/components/autocomplete/Autocomplete.d.ts +0 -1
  23. package/cjs/components/autocomplete/Autocomplete.js +24 -46
  24. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  25. package/cjs/components/breadcrumb/Breadcrumb.js +24 -21
  26. package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
  27. package/cjs/components/breadcrumb/BreadcrumbItem.js +16 -7
  28. package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  29. package/cjs/components/breadcrumb/BreadcrumbMultiple.js +1 -1
  30. package/cjs/components/breadcrumb/BreadcrumbMultiple.js.map +1 -1
  31. package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +13 -3
  32. package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  33. package/cjs/components/breadcrumb/style/dnb-breadcrumb.scss +15 -3
  34. package/cjs/components/card/Card.d.ts +6 -4
  35. package/cjs/components/card/Card.js +11 -15
  36. package/cjs/components/card/Card.js.map +1 -1
  37. package/cjs/components/card/style/dnb-card.css +29 -0
  38. package/cjs/components/card/style/dnb-card.min.css +1 -1
  39. package/cjs/components/card/style/dnb-card.scss +41 -0
  40. package/cjs/components/card/style/themes/dnb-card-theme-ui.css +1 -19
  41. package/cjs/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  42. package/cjs/components/card/style/themes/dnb-card-theme-ui.scss +1 -27
  43. package/cjs/components/date-picker/DatePicker.d.ts +3 -0
  44. package/cjs/components/date-picker/DatePickerProvider.js +9 -5
  45. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  46. package/cjs/components/flex/Container.d.ts +4 -2
  47. package/cjs/components/flex/Container.js +28 -9
  48. package/cjs/components/flex/Container.js.map +1 -1
  49. package/cjs/components/flex/Item.js +8 -13
  50. package/cjs/components/flex/Item.js.map +1 -1
  51. package/cjs/components/flex/style/dnb-flex.css +6 -3
  52. package/cjs/components/flex/style/dnb-flex.min.css +1 -1
  53. package/cjs/components/flex/style/flex-container.scss +6 -7
  54. package/cjs/components/flex/utils.d.ts +35 -7
  55. package/cjs/components/flex/utils.js +65 -33
  56. package/cjs/components/flex/utils.js.map +1 -1
  57. package/cjs/components/form-status/FormStatus.d.ts +5 -1
  58. package/cjs/components/form-status/FormStatus.js +38 -44
  59. package/cjs/components/form-status/FormStatus.js.map +1 -1
  60. package/cjs/components/form-status/style/dnb-form-status.css +0 -18
  61. package/cjs/components/form-status/style/dnb-form-status.min.css +1 -1
  62. package/cjs/components/form-status/style/dnb-form-status.scss +0 -45
  63. package/cjs/components/global-status/GlobalStatus.js +52 -138
  64. package/cjs/components/global-status/GlobalStatus.js.map +1 -1
  65. package/cjs/components/global-status/style/dnb-global-status.css +6 -16
  66. package/cjs/components/global-status/style/dnb-global-status.min.css +1 -1
  67. package/cjs/components/global-status/style/dnb-global-status.scss +11 -23
  68. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.css +0 -3
  69. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  70. package/cjs/components/global-status/style/themes/dnb-global-status-theme-ui.scss +0 -10
  71. package/cjs/components/height-animation/HeightAnimation.d.ts +12 -4
  72. package/cjs/components/height-animation/HeightAnimation.js +31 -14
  73. package/cjs/components/height-animation/HeightAnimation.js.map +1 -1
  74. package/cjs/components/height-animation/HeightAnimationInstance.d.ts +35 -18
  75. package/cjs/components/height-animation/HeightAnimationInstance.js +186 -158
  76. package/cjs/components/height-animation/HeightAnimationInstance.js.map +1 -1
  77. package/cjs/components/height-animation/style/dnb-height-animation.css +16 -2
  78. package/cjs/components/height-animation/style/dnb-height-animation.min.css +1 -1
  79. package/cjs/components/height-animation/style/dnb-height-animation.scss +18 -2
  80. package/cjs/components/height-animation/useHeightAnimation.d.ts +6 -1
  81. package/cjs/components/height-animation/useHeightAnimation.js +125 -92
  82. package/cjs/components/height-animation/useHeightAnimation.js.map +1 -1
  83. package/cjs/components/index.d.ts +2 -1
  84. package/cjs/components/index.js +7 -0
  85. package/cjs/components/index.js.map +1 -1
  86. package/cjs/components/input/Input.js +0 -3
  87. package/cjs/components/input/Input.js.map +1 -1
  88. package/cjs/components/input-masked/MultiInputMask.d.ts +1 -1
  89. package/cjs/components/input-masked/MultiInputMask.js +52 -41
  90. package/cjs/components/input-masked/MultiInputMask.js.map +1 -1
  91. package/cjs/components/lib.d.ts +3 -1
  92. package/cjs/components/lib.js +8 -0
  93. package/cjs/components/lib.js.map +1 -1
  94. package/cjs/components/number-format/NumberFormat.d.ts +7 -12
  95. package/cjs/components/number-format/NumberUtils.d.ts +8 -2
  96. package/cjs/components/number-format/useNumberFormat.d.ts +1 -1
  97. package/cjs/components/section/Section.d.ts +6 -3
  98. package/cjs/components/section/Section.js.map +1 -1
  99. package/cjs/components/section/style/dnb-section.css +1 -0
  100. package/cjs/components/section/style/dnb-section.min.css +1 -1
  101. package/cjs/components/section/style/dnb-section.scss +1 -0
  102. package/cjs/components/space/SpacingUtils.js +5 -1
  103. package/cjs/components/space/SpacingUtils.js.map +1 -1
  104. package/cjs/components/step-indicator/StepIndicatorItem.js +3 -21
  105. package/cjs/components/step-indicator/StepIndicatorItem.js.map +1 -1
  106. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +2 -16
  107. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  108. package/cjs/components/step-indicator/style/dnb-step-indicator.css +0 -5
  109. package/cjs/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  110. package/cjs/components/step-indicator/style/dnb-step-indicator.scss +0 -7
  111. package/cjs/components/table/TableAccordion.js +1 -1
  112. package/cjs/components/table/TableAccordion.js.map +1 -1
  113. package/cjs/components/table/TableAccordionContent.js +51 -23
  114. package/cjs/components/table/TableAccordionContent.js.map +1 -1
  115. package/cjs/components/table/style/dnb-table.css +6 -3
  116. package/cjs/components/table/style/dnb-table.min.css +1 -1
  117. package/cjs/components/table/style/table-accordion.scss +6 -3
  118. package/cjs/components/tabs/Tabs.js +2 -1
  119. package/cjs/components/tabs/Tabs.js.map +1 -1
  120. package/cjs/components/tabs/TabsContentWrapper.d.ts +1 -0
  121. package/cjs/components/tabs/TabsContentWrapper.js +8 -6
  122. package/cjs/components/tabs/TabsContentWrapper.js.map +1 -1
  123. package/cjs/components/textarea/Textarea.d.ts +5 -0
  124. package/cjs/components/textarea/Textarea.js +16 -3
  125. package/cjs/components/textarea/Textarea.js.map +1 -1
  126. package/cjs/components/textarea/style/dnb-textarea.css +10 -3
  127. package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
  128. package/cjs/components/textarea/style/dnb-textarea.scss +13 -3
  129. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.css +15 -2
  130. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  131. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.scss +15 -2
  132. package/cjs/components/upload/Upload.js +15 -18
  133. package/cjs/components/upload/Upload.js.map +1 -1
  134. package/cjs/components/upload/UploadFileInput.js +3 -1
  135. package/cjs/components/upload/UploadFileInput.js.map +1 -1
  136. package/cjs/components/upload/UploadFileList.js +1 -1
  137. package/cjs/components/upload/UploadFileList.js.map +1 -1
  138. package/cjs/components/upload/UploadStatus.js +6 -2
  139. package/cjs/components/upload/UploadStatus.js.map +1 -1
  140. package/cjs/components/upload/useUpload.js +5 -6
  141. package/cjs/components/upload/useUpload.js.map +1 -1
  142. package/cjs/elements/lib.d.ts +6 -0
  143. package/cjs/elements/typography/H1.d.ts +1 -0
  144. package/cjs/elements/typography/H1.js +1 -1
  145. package/cjs/elements/typography/H1.js.map +1 -1
  146. package/cjs/elements/typography/H2.d.ts +1 -0
  147. package/cjs/elements/typography/H2.js +1 -1
  148. package/cjs/elements/typography/H2.js.map +1 -1
  149. package/cjs/elements/typography/H3.d.ts +1 -0
  150. package/cjs/elements/typography/H3.js +1 -1
  151. package/cjs/elements/typography/H3.js.map +1 -1
  152. package/cjs/elements/typography/H4.d.ts +1 -0
  153. package/cjs/elements/typography/H4.js +1 -1
  154. package/cjs/elements/typography/H4.js.map +1 -1
  155. package/cjs/elements/typography/H5.d.ts +1 -0
  156. package/cjs/elements/typography/H5.js +1 -1
  157. package/cjs/elements/typography/H5.js.map +1 -1
  158. package/cjs/elements/typography/H6.d.ts +1 -0
  159. package/cjs/elements/typography/H6.js +1 -1
  160. package/cjs/elements/typography/H6.js.map +1 -1
  161. package/cjs/extensions/forms/DataContext/Context.d.ts +18 -5
  162. package/cjs/extensions/forms/DataContext/Context.js +9 -0
  163. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  164. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +57 -19
  165. package/cjs/extensions/forms/DataContext/Provider/Provider.js +128 -48
  166. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  167. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -1
  168. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  169. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +2 -2
  170. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +5 -4
  171. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  172. package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  173. package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  174. package/cjs/extensions/forms/Field/Currency/Currency.d.ts +2 -2
  175. package/cjs/extensions/forms/Field/Currency/Currency.js.map +1 -1
  176. package/cjs/extensions/forms/Field/Date/Date.js +8 -4
  177. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  178. package/cjs/extensions/forms/Field/Email/Email.d.ts +2 -2
  179. package/cjs/extensions/forms/Field/Email/Email.js +5 -4
  180. package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
  181. package/cjs/extensions/forms/Field/Expiry/Expiry.js +18 -16
  182. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  183. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
  184. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +5 -4
  185. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  186. package/cjs/extensions/forms/Field/Number/Number.d.ts +2 -4
  187. package/cjs/extensions/forms/Field/Number/Number.js +28 -27
  188. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  189. package/cjs/extensions/forms/Field/Number/style/dnb-number.css +0 -6
  190. package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  191. package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +0 -1
  192. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +4 -0
  193. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +1 -1
  194. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +7 -0
  195. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +4 -0
  196. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +1 -1
  197. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +9 -0
  198. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +2 -2
  199. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +5 -4
  200. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  201. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
  202. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +15 -7
  203. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  204. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
  205. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  206. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +9 -0
  207. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  208. package/cjs/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +7 -0
  209. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +9 -5
  210. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  211. package/cjs/extensions/forms/Field/Selection/Selection.js +12 -7
  212. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  213. package/cjs/extensions/forms/Field/String/String.d.ts +4 -2
  214. package/cjs/extensions/forms/Field/String/String.js +17 -9
  215. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  216. package/cjs/extensions/forms/Field/Toggle/Toggle.js +20 -13
  217. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  218. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
  219. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +11 -8
  220. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  221. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +22 -5
  222. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  223. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +29 -1
  224. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.css +4 -0
  225. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.min.css +1 -0
  226. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.scss +6 -0
  227. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.css +4 -0
  228. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.min.css +1 -0
  229. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.scss +6 -0
  230. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  231. package/cjs/extensions/forms/Form/Handler/Handler.js +7 -1
  232. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  233. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +6 -1
  234. package/cjs/extensions/forms/Form/Visibility/Visibility.js +54 -39
  235. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  236. package/cjs/extensions/forms/Form/data-context/getData.d.ts +8 -0
  237. package/cjs/extensions/forms/Form/data-context/getData.js +21 -0
  238. package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -0
  239. package/cjs/extensions/forms/Form/data-context/setData.d.ts +2 -0
  240. package/cjs/extensions/forms/Form/data-context/setData.js +12 -0
  241. package/cjs/extensions/forms/Form/data-context/setData.js.map +1 -0
  242. package/cjs/extensions/forms/Form/data-context/useData.d.ts +22 -0
  243. package/cjs/extensions/forms/Form/data-context/useData.js +65 -0
  244. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -0
  245. package/cjs/extensions/forms/Form/data-context/useError.d.ts +5 -0
  246. package/cjs/extensions/forms/Form/data-context/useError.js +18 -0
  247. package/cjs/extensions/forms/Form/data-context/useError.js.map +1 -0
  248. package/cjs/extensions/forms/Form/index.d.ts +4 -1
  249. package/cjs/extensions/forms/Form/index.js +22 -1
  250. package/cjs/extensions/forms/Form/index.js.map +1 -1
  251. package/cjs/extensions/forms/Iterate/Array/Array.d.ts +2 -2
  252. package/cjs/extensions/forms/Iterate/Array/Array.js +3 -1
  253. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  254. package/cjs/extensions/forms/StepsLayout/StepsLayout.d.ts +3 -0
  255. package/cjs/extensions/forms/StepsLayout/StepsLayout.js +30 -21
  256. package/cjs/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  257. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -0
  258. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  259. package/cjs/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +7 -0
  260. package/cjs/extensions/forms/Value/BankAccountNumber/BankAccountNumber.d.ts +2 -2
  261. package/cjs/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js.map +1 -1
  262. package/cjs/extensions/forms/Value/Currency/Currency.d.ts +2 -2
  263. package/cjs/extensions/forms/Value/Currency/Currency.js +2 -3
  264. package/cjs/extensions/forms/Value/Currency/Currency.js.map +1 -1
  265. package/cjs/extensions/forms/Value/Date/Date.d.ts +2 -2
  266. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  267. package/cjs/extensions/forms/Value/Email/Email.d.ts +2 -2
  268. package/cjs/extensions/forms/Value/Email/Email.js.map +1 -1
  269. package/cjs/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
  270. package/cjs/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  271. package/cjs/extensions/forms/Value/Number/Number.d.ts +6 -10
  272. package/cjs/extensions/forms/Value/Number/Number.js +25 -27
  273. package/cjs/extensions/forms/Value/Number/Number.js.map +1 -1
  274. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.d.ts +2 -2
  275. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js +6 -4
  276. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  277. package/cjs/extensions/forms/hooks/index.d.ts +1 -0
  278. package/cjs/extensions/forms/hooks/index.js +7 -0
  279. package/cjs/extensions/forms/hooks/index.js.map +1 -1
  280. package/cjs/extensions/forms/hooks/useDataValue.d.ts +10 -1
  281. package/cjs/extensions/forms/hooks/useDataValue.js +87 -28
  282. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  283. package/cjs/extensions/forms/hooks/useErrorMessage.d.ts +10 -0
  284. package/cjs/extensions/forms/hooks/useErrorMessage.js +23 -0
  285. package/cjs/extensions/forms/hooks/useErrorMessage.js.map +1 -0
  286. package/cjs/extensions/forms/index.d.ts +1 -0
  287. package/cjs/extensions/forms/index.js +9 -1
  288. package/cjs/extensions/forms/index.js.map +1 -1
  289. package/cjs/extensions/forms/style/dnb-forms.css +37 -11
  290. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  291. package/cjs/extensions/forms/types.d.ts +26 -9
  292. package/cjs/extensions/forms/types.js.map +1 -1
  293. package/cjs/extensions/forms/utils/ajv.d.ts +47 -6
  294. package/cjs/extensions/forms/utils/ajv.js +29 -13
  295. package/cjs/extensions/forms/utils/ajv.js.map +1 -1
  296. package/cjs/extensions/forms/utils/index.d.ts +0 -1
  297. package/cjs/extensions/forms/utils/index.js +0 -12
  298. package/cjs/extensions/forms/utils/index.js.map +1 -1
  299. package/cjs/fragments/TextCounter.d.ts +12 -0
  300. package/cjs/fragments/TextCounter.js +24 -0
  301. package/cjs/fragments/TextCounter.js.map +1 -0
  302. package/cjs/fragments/drawer-list/DrawerListHelpers.js +1 -0
  303. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  304. package/cjs/fragments/index.d.ts +2 -1
  305. package/cjs/fragments/index.js +7 -0
  306. package/cjs/fragments/index.js.map +1 -1
  307. package/cjs/fragments/lib.d.ts +3 -1
  308. package/cjs/fragments/lib.js +9 -1
  309. package/cjs/fragments/lib.js.map +1 -1
  310. package/cjs/fragments/text-counter/TextCounter.d.ts +8 -0
  311. package/cjs/fragments/text-counter/TextCounter.js +61 -0
  312. package/cjs/fragments/text-counter/TextCounter.js.map +1 -0
  313. package/cjs/fragments/text-counter/index.d.ts +5 -0
  314. package/cjs/fragments/text-counter/index.js +17 -0
  315. package/cjs/fragments/text-counter/index.js.map +1 -0
  316. package/cjs/fragments/text-counter/style/dnb-text-counter.scss +15 -0
  317. package/cjs/fragments/text-counter/style/index.d.ts +1 -0
  318. package/cjs/fragments/text-counter/style/index.js +4 -0
  319. package/cjs/fragments/text-counter/style/index.js.map +1 -0
  320. package/cjs/fragments/text-counter/style/themes/dnb-text-counter-theme-sbanken.scss +8 -0
  321. package/cjs/fragments/text-counter/style/themes/dnb-text-counter-theme-ui.scss +8 -0
  322. package/cjs/fragments/text-counter/style/themes/ui.d.ts +1 -0
  323. package/cjs/fragments/text-counter/style/themes/ui.js +4 -0
  324. package/cjs/fragments/text-counter/style/themes/ui.js.map +1 -0
  325. package/cjs/fragments/text-counter/style.d.ts +5 -0
  326. package/cjs/fragments/text-counter/style.js +4 -0
  327. package/cjs/fragments/text-counter/style.js.map +1 -0
  328. package/cjs/index.d.ts +2 -1
  329. package/cjs/index.js +7 -0
  330. package/cjs/index.js.map +1 -1
  331. package/cjs/shared/Eufemia.d.ts +1 -1
  332. package/cjs/shared/Eufemia.js +2 -2
  333. package/cjs/shared/Eufemia.js.map +1 -1
  334. package/cjs/shared/component-helper.js +0 -3
  335. package/cjs/shared/component-helper.js.map +1 -1
  336. package/cjs/shared/helpers/useSharedState.d.ts +33 -10
  337. package/cjs/shared/helpers/useSharedState.js +78 -40
  338. package/cjs/shared/helpers/useSharedState.js.map +1 -1
  339. package/cjs/shared/locales/en-GB.d.ts +7 -0
  340. package/cjs/shared/locales/en-GB.js +9 -2
  341. package/cjs/shared/locales/en-GB.js.map +1 -1
  342. package/cjs/shared/locales/en-US.d.ts +7 -0
  343. package/cjs/shared/locales/index.d.ts +14 -0
  344. package/cjs/shared/locales/nb-NO.d.ts +7 -0
  345. package/cjs/shared/locales/nb-NO.js +7 -0
  346. package/cjs/shared/locales/nb-NO.js.map +1 -1
  347. package/cjs/style/core/utilities.scss +1 -1
  348. package/cjs/style/dnb-ui-components.css +134 -67
  349. package/cjs/style/dnb-ui-components.min.css +3 -3
  350. package/cjs/style/dnb-ui-extensions.css +37 -11
  351. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  352. package/cjs/style/dnb-ui-forms.css +37 -11
  353. package/cjs/style/dnb-ui-forms.min.css +1 -1
  354. package/cjs/style/dnb-ui-fragments.css +10 -0
  355. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  356. package/cjs/style/dnb-ui-fragments.scss +1 -0
  357. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +203 -102
  358. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +7 -7
  359. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
  360. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +46 -11
  361. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  362. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  363. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +46 -11
  364. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  365. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  366. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +188 -97
  367. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  368. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -0
  369. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +46 -11
  370. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  371. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  372. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +46 -11
  373. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  374. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  375. package/cjs/style/themes/theme-ui/ui-theme-components.css +203 -102
  376. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +7 -7
  377. package/cjs/style/themes/theme-ui/ui-theme-components.scss +1 -0
  378. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +46 -11
  379. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  380. package/cjs/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  381. package/cjs/style/themes/theme-ui/ui-theme-forms.css +46 -11
  382. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  383. package/cjs/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  384. package/components/AriaLive.d.ts +12 -0
  385. package/components/AriaLive.js +4 -0
  386. package/components/AriaLive.js.map +1 -0
  387. package/components/accordion/AccordionContent.d.ts +1 -1
  388. package/components/accordion/AccordionContent.js.map +1 -1
  389. package/components/accordion/style/dnb-accordion.css +0 -3
  390. package/components/accordion/style/dnb-accordion.min.css +1 -1
  391. package/components/accordion/style/dnb-accordion.scss +0 -5
  392. package/components/aria-live/AriaLive.d.ts +6 -0
  393. package/components/aria-live/AriaLive.js +15 -0
  394. package/components/aria-live/AriaLive.js.map +1 -0
  395. package/components/aria-live/index.d.ts +7 -0
  396. package/components/aria-live/index.js +4 -0
  397. package/components/aria-live/index.js.map +1 -0
  398. package/components/aria-live/types.d.ts +44 -0
  399. package/components/aria-live/types.js +1 -0
  400. package/components/aria-live/types.js.map +1 -0
  401. package/components/aria-live/useAriaLive.d.ts +273 -0
  402. package/components/aria-live/useAriaLive.js +75 -0
  403. package/components/aria-live/useAriaLive.js.map +1 -0
  404. package/components/autocomplete/Autocomplete.d.ts +0 -1
  405. package/components/autocomplete/Autocomplete.js +24 -46
  406. package/components/autocomplete/Autocomplete.js.map +1 -1
  407. package/components/breadcrumb/Breadcrumb.js +25 -22
  408. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  409. package/components/breadcrumb/BreadcrumbItem.js +16 -7
  410. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  411. package/components/breadcrumb/BreadcrumbMultiple.js +1 -1
  412. package/components/breadcrumb/BreadcrumbMultiple.js.map +1 -1
  413. package/components/breadcrumb/style/dnb-breadcrumb.css +13 -3
  414. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  415. package/components/breadcrumb/style/dnb-breadcrumb.scss +15 -3
  416. package/components/card/Card.d.ts +6 -4
  417. package/components/card/Card.js +11 -15
  418. package/components/card/Card.js.map +1 -1
  419. package/components/card/style/dnb-card.css +29 -0
  420. package/components/card/style/dnb-card.min.css +1 -1
  421. package/components/card/style/dnb-card.scss +41 -0
  422. package/components/card/style/themes/dnb-card-theme-ui.css +1 -19
  423. package/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  424. package/components/card/style/themes/dnb-card-theme-ui.scss +1 -27
  425. package/components/date-picker/DatePicker.d.ts +3 -0
  426. package/components/date-picker/DatePickerProvider.js +9 -5
  427. package/components/date-picker/DatePickerProvider.js.map +1 -1
  428. package/components/flex/Container.d.ts +4 -2
  429. package/components/flex/Container.js +26 -9
  430. package/components/flex/Container.js.map +1 -1
  431. package/components/flex/Item.js +8 -11
  432. package/components/flex/Item.js.map +1 -1
  433. package/components/flex/style/dnb-flex.css +6 -3
  434. package/components/flex/style/dnb-flex.min.css +1 -1
  435. package/components/flex/style/flex-container.scss +6 -7
  436. package/components/flex/utils.d.ts +35 -7
  437. package/components/flex/utils.js +56 -24
  438. package/components/flex/utils.js.map +1 -1
  439. package/components/form-status/FormStatus.d.ts +5 -1
  440. package/components/form-status/FormStatus.js +38 -44
  441. package/components/form-status/FormStatus.js.map +1 -1
  442. package/components/form-status/style/dnb-form-status.css +0 -18
  443. package/components/form-status/style/dnb-form-status.min.css +1 -1
  444. package/components/form-status/style/dnb-form-status.scss +0 -45
  445. package/components/global-status/GlobalStatus.js +53 -139
  446. package/components/global-status/GlobalStatus.js.map +1 -1
  447. package/components/global-status/style/dnb-global-status.css +6 -16
  448. package/components/global-status/style/dnb-global-status.min.css +1 -1
  449. package/components/global-status/style/dnb-global-status.scss +11 -23
  450. package/components/global-status/style/themes/dnb-global-status-theme-ui.css +0 -3
  451. package/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  452. package/components/global-status/style/themes/dnb-global-status-theme-ui.scss +0 -10
  453. package/components/height-animation/HeightAnimation.d.ts +12 -4
  454. package/components/height-animation/HeightAnimation.js +27 -14
  455. package/components/height-animation/HeightAnimation.js.map +1 -1
  456. package/components/height-animation/HeightAnimationInstance.d.ts +35 -18
  457. package/components/height-animation/HeightAnimationInstance.js +186 -158
  458. package/components/height-animation/HeightAnimationInstance.js.map +1 -1
  459. package/components/height-animation/style/dnb-height-animation.css +16 -2
  460. package/components/height-animation/style/dnb-height-animation.min.css +1 -1
  461. package/components/height-animation/style/dnb-height-animation.scss +18 -2
  462. package/components/height-animation/useHeightAnimation.d.ts +6 -1
  463. package/components/height-animation/useHeightAnimation.js +124 -92
  464. package/components/height-animation/useHeightAnimation.js.map +1 -1
  465. package/components/index.d.ts +2 -1
  466. package/components/index.js +2 -1
  467. package/components/index.js.map +1 -1
  468. package/components/input/Input.js +0 -3
  469. package/components/input/Input.js.map +1 -1
  470. package/components/input-masked/MultiInputMask.d.ts +1 -1
  471. package/components/input-masked/MultiInputMask.js +52 -41
  472. package/components/input-masked/MultiInputMask.js.map +1 -1
  473. package/components/lib.d.ts +3 -1
  474. package/components/lib.js +3 -1
  475. package/components/lib.js.map +1 -1
  476. package/components/number-format/NumberFormat.d.ts +7 -12
  477. package/components/number-format/NumberUtils.d.ts +8 -2
  478. package/components/number-format/useNumberFormat.d.ts +1 -1
  479. package/components/section/Section.d.ts +6 -3
  480. package/components/section/Section.js.map +1 -1
  481. package/components/section/style/dnb-section.css +1 -0
  482. package/components/section/style/dnb-section.min.css +1 -1
  483. package/components/section/style/dnb-section.scss +1 -0
  484. package/components/space/SpacingUtils.js +5 -1
  485. package/components/space/SpacingUtils.js.map +1 -1
  486. package/components/step-indicator/StepIndicatorItem.js +4 -22
  487. package/components/step-indicator/StepIndicatorItem.js.map +1 -1
  488. package/components/step-indicator/StepIndicatorTriggerButton.js +3 -17
  489. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  490. package/components/step-indicator/style/dnb-step-indicator.css +0 -5
  491. package/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  492. package/components/step-indicator/style/dnb-step-indicator.scss +0 -7
  493. package/components/table/TableAccordion.js +1 -1
  494. package/components/table/TableAccordion.js.map +1 -1
  495. package/components/table/TableAccordionContent.js +48 -23
  496. package/components/table/TableAccordionContent.js.map +1 -1
  497. package/components/table/style/dnb-table.css +6 -3
  498. package/components/table/style/dnb-table.min.css +1 -1
  499. package/components/table/style/table-accordion.scss +6 -3
  500. package/components/tabs/Tabs.js +2 -1
  501. package/components/tabs/Tabs.js.map +1 -1
  502. package/components/tabs/TabsContentWrapper.d.ts +1 -0
  503. package/components/tabs/TabsContentWrapper.js +8 -6
  504. package/components/tabs/TabsContentWrapper.js.map +1 -1
  505. package/components/textarea/Textarea.d.ts +5 -0
  506. package/components/textarea/Textarea.js +16 -3
  507. package/components/textarea/Textarea.js.map +1 -1
  508. package/components/textarea/style/dnb-textarea.css +10 -3
  509. package/components/textarea/style/dnb-textarea.min.css +1 -1
  510. package/components/textarea/style/dnb-textarea.scss +13 -3
  511. package/components/textarea/style/themes/dnb-textarea-theme-ui.css +15 -2
  512. package/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  513. package/components/textarea/style/themes/dnb-textarea-theme-ui.scss +15 -2
  514. package/components/upload/Upload.js +13 -18
  515. package/components/upload/Upload.js.map +1 -1
  516. package/components/upload/UploadFileInput.js +3 -1
  517. package/components/upload/UploadFileInput.js.map +1 -1
  518. package/components/upload/UploadFileList.js +1 -1
  519. package/components/upload/UploadFileList.js.map +1 -1
  520. package/components/upload/UploadStatus.js +6 -2
  521. package/components/upload/UploadStatus.js.map +1 -1
  522. package/components/upload/useUpload.js +5 -7
  523. package/components/upload/useUpload.js.map +1 -1
  524. package/elements/lib.d.ts +6 -0
  525. package/elements/typography/H1.d.ts +1 -0
  526. package/elements/typography/H1.js +1 -1
  527. package/elements/typography/H1.js.map +1 -1
  528. package/elements/typography/H2.d.ts +1 -0
  529. package/elements/typography/H2.js +1 -1
  530. package/elements/typography/H2.js.map +1 -1
  531. package/elements/typography/H3.d.ts +1 -0
  532. package/elements/typography/H3.js +1 -1
  533. package/elements/typography/H3.js.map +1 -1
  534. package/elements/typography/H4.d.ts +1 -0
  535. package/elements/typography/H4.js +1 -1
  536. package/elements/typography/H4.js.map +1 -1
  537. package/elements/typography/H5.d.ts +1 -0
  538. package/elements/typography/H5.js +1 -1
  539. package/elements/typography/H5.js.map +1 -1
  540. package/elements/typography/H6.d.ts +1 -0
  541. package/elements/typography/H6.js +1 -1
  542. package/elements/typography/H6.js.map +1 -1
  543. package/es/components/AriaLive.d.ts +12 -0
  544. package/es/components/AriaLive.js +4 -0
  545. package/es/components/AriaLive.js.map +1 -0
  546. package/es/components/accordion/AccordionContent.d.ts +1 -1
  547. package/es/components/accordion/AccordionContent.js.map +1 -1
  548. package/es/components/accordion/style/dnb-accordion.css +0 -3
  549. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  550. package/es/components/accordion/style/dnb-accordion.scss +0 -5
  551. package/es/components/aria-live/AriaLive.d.ts +6 -0
  552. package/es/components/aria-live/AriaLive.js +15 -0
  553. package/es/components/aria-live/AriaLive.js.map +1 -0
  554. package/es/components/aria-live/index.d.ts +7 -0
  555. package/es/components/aria-live/index.js +4 -0
  556. package/es/components/aria-live/index.js.map +1 -0
  557. package/es/components/aria-live/types.d.ts +44 -0
  558. package/es/components/aria-live/types.js +1 -0
  559. package/es/components/aria-live/types.js.map +1 -0
  560. package/es/components/aria-live/useAriaLive.d.ts +273 -0
  561. package/es/components/aria-live/useAriaLive.js +75 -0
  562. package/es/components/aria-live/useAriaLive.js.map +1 -0
  563. package/es/components/autocomplete/Autocomplete.d.ts +0 -1
  564. package/es/components/autocomplete/Autocomplete.js +24 -46
  565. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  566. package/es/components/breadcrumb/Breadcrumb.js +25 -22
  567. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  568. package/es/components/breadcrumb/BreadcrumbItem.js +16 -7
  569. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  570. package/es/components/breadcrumb/BreadcrumbMultiple.js +1 -1
  571. package/es/components/breadcrumb/BreadcrumbMultiple.js.map +1 -1
  572. package/es/components/breadcrumb/style/dnb-breadcrumb.css +13 -3
  573. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  574. package/es/components/breadcrumb/style/dnb-breadcrumb.scss +15 -3
  575. package/es/components/card/Card.d.ts +6 -4
  576. package/es/components/card/Card.js +11 -15
  577. package/es/components/card/Card.js.map +1 -1
  578. package/es/components/card/style/dnb-card.css +29 -0
  579. package/es/components/card/style/dnb-card.min.css +1 -1
  580. package/es/components/card/style/dnb-card.scss +41 -0
  581. package/es/components/card/style/themes/dnb-card-theme-ui.css +1 -19
  582. package/es/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  583. package/es/components/card/style/themes/dnb-card-theme-ui.scss +1 -27
  584. package/es/components/date-picker/DatePicker.d.ts +3 -0
  585. package/es/components/date-picker/DatePickerProvider.js +9 -5
  586. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  587. package/es/components/flex/Container.d.ts +4 -2
  588. package/es/components/flex/Container.js +26 -9
  589. package/es/components/flex/Container.js.map +1 -1
  590. package/es/components/flex/Item.js +8 -11
  591. package/es/components/flex/Item.js.map +1 -1
  592. package/es/components/flex/style/dnb-flex.css +6 -3
  593. package/es/components/flex/style/dnb-flex.min.css +1 -1
  594. package/es/components/flex/style/flex-container.scss +6 -7
  595. package/es/components/flex/utils.d.ts +35 -7
  596. package/es/components/flex/utils.js +55 -24
  597. package/es/components/flex/utils.js.map +1 -1
  598. package/es/components/form-status/FormStatus.d.ts +5 -1
  599. package/es/components/form-status/FormStatus.js +38 -44
  600. package/es/components/form-status/FormStatus.js.map +1 -1
  601. package/es/components/form-status/style/dnb-form-status.css +0 -18
  602. package/es/components/form-status/style/dnb-form-status.min.css +1 -1
  603. package/es/components/form-status/style/dnb-form-status.scss +0 -45
  604. package/es/components/global-status/GlobalStatus.js +51 -133
  605. package/es/components/global-status/GlobalStatus.js.map +1 -1
  606. package/es/components/global-status/style/dnb-global-status.css +6 -16
  607. package/es/components/global-status/style/dnb-global-status.min.css +1 -1
  608. package/es/components/global-status/style/dnb-global-status.scss +11 -23
  609. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.css +0 -3
  610. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.min.css +1 -1
  611. package/es/components/global-status/style/themes/dnb-global-status-theme-ui.scss +0 -10
  612. package/es/components/height-animation/HeightAnimation.d.ts +12 -4
  613. package/es/components/height-animation/HeightAnimation.js +27 -14
  614. package/es/components/height-animation/HeightAnimation.js.map +1 -1
  615. package/es/components/height-animation/HeightAnimationInstance.d.ts +35 -18
  616. package/es/components/height-animation/HeightAnimationInstance.js +188 -155
  617. package/es/components/height-animation/HeightAnimationInstance.js.map +1 -1
  618. package/es/components/height-animation/style/dnb-height-animation.css +16 -2
  619. package/es/components/height-animation/style/dnb-height-animation.min.css +1 -1
  620. package/es/components/height-animation/style/dnb-height-animation.scss +18 -2
  621. package/es/components/height-animation/useHeightAnimation.d.ts +6 -1
  622. package/es/components/height-animation/useHeightAnimation.js +124 -92
  623. package/es/components/height-animation/useHeightAnimation.js.map +1 -1
  624. package/es/components/index.d.ts +2 -1
  625. package/es/components/index.js +2 -1
  626. package/es/components/index.js.map +1 -1
  627. package/es/components/input/Input.js +0 -3
  628. package/es/components/input/Input.js.map +1 -1
  629. package/es/components/input-masked/MultiInputMask.d.ts +1 -1
  630. package/es/components/input-masked/MultiInputMask.js +50 -39
  631. package/es/components/input-masked/MultiInputMask.js.map +1 -1
  632. package/es/components/lib.d.ts +3 -1
  633. package/es/components/lib.js +3 -1
  634. package/es/components/lib.js.map +1 -1
  635. package/es/components/number-format/NumberFormat.d.ts +7 -12
  636. package/es/components/number-format/NumberUtils.d.ts +8 -2
  637. package/es/components/number-format/useNumberFormat.d.ts +1 -1
  638. package/es/components/section/Section.d.ts +6 -3
  639. package/es/components/section/Section.js.map +1 -1
  640. package/es/components/section/style/dnb-section.css +1 -0
  641. package/es/components/section/style/dnb-section.min.css +1 -1
  642. package/es/components/section/style/dnb-section.scss +1 -0
  643. package/es/components/space/SpacingUtils.js +5 -1
  644. package/es/components/space/SpacingUtils.js.map +1 -1
  645. package/es/components/step-indicator/StepIndicatorItem.js +4 -22
  646. package/es/components/step-indicator/StepIndicatorItem.js.map +1 -1
  647. package/es/components/step-indicator/StepIndicatorTriggerButton.js +3 -17
  648. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  649. package/es/components/step-indicator/style/dnb-step-indicator.css +0 -5
  650. package/es/components/step-indicator/style/dnb-step-indicator.min.css +1 -1
  651. package/es/components/step-indicator/style/dnb-step-indicator.scss +0 -7
  652. package/es/components/table/TableAccordion.js +1 -1
  653. package/es/components/table/TableAccordion.js.map +1 -1
  654. package/es/components/table/TableAccordionContent.js +47 -23
  655. package/es/components/table/TableAccordionContent.js.map +1 -1
  656. package/es/components/table/style/dnb-table.css +6 -3
  657. package/es/components/table/style/dnb-table.min.css +1 -1
  658. package/es/components/table/style/table-accordion.scss +6 -3
  659. package/es/components/tabs/Tabs.js +2 -1
  660. package/es/components/tabs/Tabs.js.map +1 -1
  661. package/es/components/tabs/TabsContentWrapper.d.ts +1 -0
  662. package/es/components/tabs/TabsContentWrapper.js +8 -6
  663. package/es/components/tabs/TabsContentWrapper.js.map +1 -1
  664. package/es/components/textarea/Textarea.d.ts +5 -0
  665. package/es/components/textarea/Textarea.js +16 -3
  666. package/es/components/textarea/Textarea.js.map +1 -1
  667. package/es/components/textarea/style/dnb-textarea.css +10 -3
  668. package/es/components/textarea/style/dnb-textarea.min.css +1 -1
  669. package/es/components/textarea/style/dnb-textarea.scss +13 -3
  670. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.css +15 -2
  671. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  672. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.scss +15 -2
  673. package/es/components/upload/Upload.js +13 -18
  674. package/es/components/upload/Upload.js.map +1 -1
  675. package/es/components/upload/UploadFileInput.js +3 -1
  676. package/es/components/upload/UploadFileInput.js.map +1 -1
  677. package/es/components/upload/UploadFileList.js +1 -1
  678. package/es/components/upload/UploadFileList.js.map +1 -1
  679. package/es/components/upload/UploadStatus.js +6 -2
  680. package/es/components/upload/UploadStatus.js.map +1 -1
  681. package/es/components/upload/useUpload.js +5 -7
  682. package/es/components/upload/useUpload.js.map +1 -1
  683. package/es/elements/lib.d.ts +6 -0
  684. package/es/elements/typography/H1.d.ts +1 -0
  685. package/es/elements/typography/H1.js +1 -1
  686. package/es/elements/typography/H1.js.map +1 -1
  687. package/es/elements/typography/H2.d.ts +1 -0
  688. package/es/elements/typography/H2.js +1 -1
  689. package/es/elements/typography/H2.js.map +1 -1
  690. package/es/elements/typography/H3.d.ts +1 -0
  691. package/es/elements/typography/H3.js +1 -1
  692. package/es/elements/typography/H3.js.map +1 -1
  693. package/es/elements/typography/H4.d.ts +1 -0
  694. package/es/elements/typography/H4.js +1 -1
  695. package/es/elements/typography/H4.js.map +1 -1
  696. package/es/elements/typography/H5.d.ts +1 -0
  697. package/es/elements/typography/H5.js +1 -1
  698. package/es/elements/typography/H5.js.map +1 -1
  699. package/es/elements/typography/H6.d.ts +1 -0
  700. package/es/elements/typography/H6.js +1 -1
  701. package/es/elements/typography/H6.js.map +1 -1
  702. package/es/extensions/forms/DataContext/Context.d.ts +18 -5
  703. package/es/extensions/forms/DataContext/Context.js +9 -0
  704. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  705. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +57 -19
  706. package/es/extensions/forms/DataContext/Provider/Provider.js +127 -49
  707. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  708. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +5 -3
  709. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  710. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +2 -2
  711. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +6 -5
  712. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  713. package/es/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  714. package/es/extensions/forms/Field/Boolean/Boolean.js +2 -2
  715. package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  716. package/es/extensions/forms/Field/Currency/Currency.d.ts +2 -2
  717. package/es/extensions/forms/Field/Currency/Currency.js +2 -2
  718. package/es/extensions/forms/Field/Currency/Currency.js.map +1 -1
  719. package/es/extensions/forms/Field/Date/Date.js +8 -4
  720. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  721. package/es/extensions/forms/Field/Email/Email.d.ts +2 -2
  722. package/es/extensions/forms/Field/Email/Email.js +7 -6
  723. package/es/extensions/forms/Field/Email/Email.js.map +1 -1
  724. package/es/extensions/forms/Field/Expiry/Expiry.js +19 -17
  725. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  726. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
  727. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -5
  728. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  729. package/es/extensions/forms/Field/Number/Number.d.ts +2 -4
  730. package/es/extensions/forms/Field/Number/Number.js +28 -27
  731. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  732. package/es/extensions/forms/Field/Number/style/dnb-number.css +0 -6
  733. package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  734. package/es/extensions/forms/Field/Number/style/dnb-number.scss +0 -1
  735. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +4 -0
  736. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +1 -1
  737. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +7 -0
  738. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +4 -0
  739. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +1 -1
  740. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +9 -0
  741. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +2 -2
  742. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +6 -5
  743. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  744. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
  745. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +17 -9
  746. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  747. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
  748. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -3
  749. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  750. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +9 -0
  751. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  752. package/es/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +7 -0
  753. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +9 -5
  754. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  755. package/es/extensions/forms/Field/Selection/Selection.js +15 -10
  756. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  757. package/es/extensions/forms/Field/String/String.d.ts +4 -2
  758. package/es/extensions/forms/Field/String/String.js +17 -9
  759. package/es/extensions/forms/Field/String/String.js.map +1 -1
  760. package/es/extensions/forms/Field/Toggle/Toggle.js +20 -13
  761. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  762. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
  763. package/es/extensions/forms/FieldBlock/FieldBlock.js +11 -8
  764. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  765. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +22 -5
  766. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  767. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +29 -1
  768. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.css +4 -0
  769. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.min.css +1 -0
  770. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.scss +6 -0
  771. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.css +4 -0
  772. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.min.css +1 -0
  773. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.scss +6 -0
  774. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  775. package/es/extensions/forms/Form/Handler/Handler.js +7 -1
  776. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  777. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +6 -1
  778. package/es/extensions/forms/Form/Visibility/Visibility.js +55 -40
  779. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  780. package/es/extensions/forms/Form/data-context/getData.d.ts +8 -0
  781. package/es/extensions/forms/Form/data-context/getData.js +15 -0
  782. package/es/extensions/forms/Form/data-context/getData.js.map +1 -0
  783. package/es/extensions/forms/Form/data-context/setData.d.ts +2 -0
  784. package/es/extensions/forms/Form/data-context/setData.js +6 -0
  785. package/es/extensions/forms/Form/data-context/setData.js.map +1 -0
  786. package/es/extensions/forms/Form/data-context/useData.d.ts +22 -0
  787. package/es/extensions/forms/Form/data-context/useData.js +58 -0
  788. package/es/extensions/forms/Form/data-context/useData.js.map +1 -0
  789. package/es/extensions/forms/Form/data-context/useError.d.ts +5 -0
  790. package/es/extensions/forms/Form/data-context/useError.js +13 -0
  791. package/es/extensions/forms/Form/data-context/useError.js.map +1 -0
  792. package/es/extensions/forms/Form/index.d.ts +4 -1
  793. package/es/extensions/forms/Form/index.js +4 -1
  794. package/es/extensions/forms/Form/index.js.map +1 -1
  795. package/es/extensions/forms/Iterate/Array/Array.d.ts +2 -2
  796. package/es/extensions/forms/Iterate/Array/Array.js +3 -1
  797. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  798. package/es/extensions/forms/StepsLayout/StepsLayout.d.ts +3 -0
  799. package/es/extensions/forms/StepsLayout/StepsLayout.js +31 -22
  800. package/es/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  801. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -0
  802. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  803. package/es/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +7 -0
  804. package/es/extensions/forms/Value/BankAccountNumber/BankAccountNumber.d.ts +2 -2
  805. package/es/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js +2 -2
  806. package/es/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js.map +1 -1
  807. package/es/extensions/forms/Value/Currency/Currency.d.ts +2 -2
  808. package/es/extensions/forms/Value/Currency/Currency.js +4 -5
  809. package/es/extensions/forms/Value/Currency/Currency.js.map +1 -1
  810. package/es/extensions/forms/Value/Date/Date.d.ts +2 -2
  811. package/es/extensions/forms/Value/Date/Date.js +2 -2
  812. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  813. package/es/extensions/forms/Value/Email/Email.d.ts +2 -2
  814. package/es/extensions/forms/Value/Email/Email.js +2 -2
  815. package/es/extensions/forms/Value/Email/Email.js.map +1 -1
  816. package/es/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
  817. package/es/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js +2 -2
  818. package/es/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  819. package/es/extensions/forms/Value/Number/Number.d.ts +6 -10
  820. package/es/extensions/forms/Value/Number/Number.js +22 -27
  821. package/es/extensions/forms/Value/Number/Number.js.map +1 -1
  822. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.d.ts +2 -2
  823. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js +8 -6
  824. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  825. package/es/extensions/forms/hooks/index.d.ts +1 -0
  826. package/es/extensions/forms/hooks/index.js +1 -0
  827. package/es/extensions/forms/hooks/index.js.map +1 -1
  828. package/es/extensions/forms/hooks/useDataValue.d.ts +10 -1
  829. package/es/extensions/forms/hooks/useDataValue.js +81 -24
  830. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  831. package/es/extensions/forms/hooks/useErrorMessage.d.ts +10 -0
  832. package/es/extensions/forms/hooks/useErrorMessage.js +15 -0
  833. package/es/extensions/forms/hooks/useErrorMessage.js.map +1 -0
  834. package/es/extensions/forms/index.d.ts +1 -0
  835. package/es/extensions/forms/index.js +1 -0
  836. package/es/extensions/forms/index.js.map +1 -1
  837. package/es/extensions/forms/style/dnb-forms.css +37 -11
  838. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  839. package/es/extensions/forms/types.d.ts +26 -9
  840. package/es/extensions/forms/types.js.map +1 -1
  841. package/es/extensions/forms/utils/ajv.d.ts +47 -6
  842. package/es/extensions/forms/utils/ajv.js +23 -15
  843. package/es/extensions/forms/utils/ajv.js.map +1 -1
  844. package/es/extensions/forms/utils/index.d.ts +0 -1
  845. package/es/extensions/forms/utils/index.js +0 -1
  846. package/es/extensions/forms/utils/index.js.map +1 -1
  847. package/es/fragments/TextCounter.d.ts +12 -0
  848. package/es/fragments/TextCounter.js +4 -0
  849. package/es/fragments/TextCounter.js.map +1 -0
  850. package/es/fragments/drawer-list/DrawerListHelpers.js +1 -0
  851. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  852. package/es/fragments/index.d.ts +2 -1
  853. package/es/fragments/index.js +2 -1
  854. package/es/fragments/index.js.map +1 -1
  855. package/es/fragments/lib.d.ts +3 -1
  856. package/es/fragments/lib.js +4 -2
  857. package/es/fragments/lib.js.map +1 -1
  858. package/es/fragments/text-counter/TextCounter.d.ts +8 -0
  859. package/es/fragments/text-counter/TextCounter.js +52 -0
  860. package/es/fragments/text-counter/TextCounter.js.map +1 -0
  861. package/es/fragments/text-counter/index.d.ts +5 -0
  862. package/es/fragments/text-counter/index.js +1 -0
  863. package/es/fragments/text-counter/index.js.map +1 -0
  864. package/es/fragments/text-counter/style/dnb-text-counter.scss +15 -0
  865. package/es/fragments/text-counter/style/index.d.ts +1 -0
  866. package/es/fragments/text-counter/style/index.js +1 -0
  867. package/es/fragments/text-counter/style/index.js.map +1 -0
  868. package/es/fragments/text-counter/style/themes/dnb-text-counter-theme-sbanken.scss +8 -0
  869. package/es/fragments/text-counter/style/themes/dnb-text-counter-theme-ui.scss +8 -0
  870. package/es/fragments/text-counter/style/themes/ui.d.ts +1 -0
  871. package/es/fragments/text-counter/style/themes/ui.js +1 -0
  872. package/es/fragments/text-counter/style/themes/ui.js.map +1 -0
  873. package/es/fragments/text-counter/style.d.ts +5 -0
  874. package/es/fragments/text-counter/style.js +1 -0
  875. package/es/fragments/text-counter/style.js.map +1 -0
  876. package/es/index.d.ts +2 -1
  877. package/es/index.js +2 -1
  878. package/es/index.js.map +1 -1
  879. package/es/shared/Eufemia.d.ts +1 -1
  880. package/es/shared/Eufemia.js +2 -2
  881. package/es/shared/Eufemia.js.map +1 -1
  882. package/es/shared/component-helper.js +0 -3
  883. package/es/shared/component-helper.js.map +1 -1
  884. package/es/shared/helpers/useSharedState.d.ts +33 -10
  885. package/es/shared/helpers/useSharedState.js +76 -40
  886. package/es/shared/helpers/useSharedState.js.map +1 -1
  887. package/es/shared/locales/en-GB.d.ts +7 -0
  888. package/es/shared/locales/en-GB.js +9 -2
  889. package/es/shared/locales/en-GB.js.map +1 -1
  890. package/es/shared/locales/en-US.d.ts +7 -0
  891. package/es/shared/locales/index.d.ts +14 -0
  892. package/es/shared/locales/nb-NO.d.ts +7 -0
  893. package/es/shared/locales/nb-NO.js +7 -0
  894. package/es/shared/locales/nb-NO.js.map +1 -1
  895. package/es/style/core/utilities.scss +1 -1
  896. package/es/style/dnb-ui-components.css +134 -67
  897. package/es/style/dnb-ui-components.min.css +3 -3
  898. package/es/style/dnb-ui-extensions.css +37 -11
  899. package/es/style/dnb-ui-extensions.min.css +1 -1
  900. package/es/style/dnb-ui-forms.css +37 -11
  901. package/es/style/dnb-ui-forms.min.css +1 -1
  902. package/es/style/dnb-ui-fragments.css +10 -0
  903. package/es/style/dnb-ui-fragments.min.css +1 -1
  904. package/es/style/dnb-ui-fragments.scss +1 -0
  905. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +203 -102
  906. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +7 -7
  907. package/es/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
  908. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +46 -11
  909. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  910. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  911. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +46 -11
  912. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  913. package/es/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  914. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +188 -97
  915. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  916. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -0
  917. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +46 -11
  918. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  919. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  920. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +46 -11
  921. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  922. package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  923. package/es/style/themes/theme-ui/ui-theme-components.css +203 -102
  924. package/es/style/themes/theme-ui/ui-theme-components.min.css +7 -7
  925. package/es/style/themes/theme-ui/ui-theme-components.scss +1 -0
  926. package/es/style/themes/theme-ui/ui-theme-extensions.css +46 -11
  927. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  928. package/es/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  929. package/es/style/themes/theme-ui/ui-theme-forms.css +46 -11
  930. package/es/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  931. package/es/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  932. package/esm/dnb-ui-basis.min.mjs +1 -1
  933. package/esm/dnb-ui-components.min.mjs +1 -1
  934. package/esm/dnb-ui-elements.min.mjs +1 -1
  935. package/esm/dnb-ui-extensions.min.mjs +3 -3
  936. package/esm/dnb-ui-lib.min.mjs +1 -1
  937. package/extensions/forms/DataContext/Context.d.ts +18 -5
  938. package/extensions/forms/DataContext/Context.js +9 -0
  939. package/extensions/forms/DataContext/Context.js.map +1 -1
  940. package/extensions/forms/DataContext/Provider/Provider.d.ts +57 -19
  941. package/extensions/forms/DataContext/Provider/Provider.js +129 -49
  942. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  943. package/extensions/forms/Field/ArraySelection/ArraySelection.js +5 -3
  944. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  945. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +2 -2
  946. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +6 -5
  947. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  948. package/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  949. package/extensions/forms/Field/Boolean/Boolean.js +2 -2
  950. package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  951. package/extensions/forms/Field/Currency/Currency.d.ts +2 -2
  952. package/extensions/forms/Field/Currency/Currency.js +2 -2
  953. package/extensions/forms/Field/Currency/Currency.js.map +1 -1
  954. package/extensions/forms/Field/Date/Date.js +8 -4
  955. package/extensions/forms/Field/Date/Date.js.map +1 -1
  956. package/extensions/forms/Field/Email/Email.d.ts +2 -2
  957. package/extensions/forms/Field/Email/Email.js +7 -6
  958. package/extensions/forms/Field/Email/Email.js.map +1 -1
  959. package/extensions/forms/Field/Expiry/Expiry.js +19 -17
  960. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  961. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
  962. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -5
  963. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  964. package/extensions/forms/Field/Number/Number.d.ts +2 -4
  965. package/extensions/forms/Field/Number/Number.js +28 -27
  966. package/extensions/forms/Field/Number/Number.js.map +1 -1
  967. package/extensions/forms/Field/Number/style/dnb-number.css +0 -6
  968. package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  969. package/extensions/forms/Field/Number/style/dnb-number.scss +0 -1
  970. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +4 -0
  971. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +1 -1
  972. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +7 -0
  973. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +4 -0
  974. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +1 -1
  975. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +9 -0
  976. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +2 -2
  977. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +6 -5
  978. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  979. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
  980. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +17 -9
  981. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  982. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
  983. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -3
  984. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  985. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.css +9 -0
  986. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.min.css +1 -1
  987. package/extensions/forms/Field/PostalCodeAndCity/style/dnb-postal-code-and-city.scss +7 -0
  988. package/extensions/forms/Field/SelectCountry/SelectCountry.js +9 -5
  989. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  990. package/extensions/forms/Field/Selection/Selection.js +15 -10
  991. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  992. package/extensions/forms/Field/String/String.d.ts +4 -2
  993. package/extensions/forms/Field/String/String.js +17 -9
  994. package/extensions/forms/Field/String/String.js.map +1 -1
  995. package/extensions/forms/Field/Toggle/Toggle.js +20 -13
  996. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  997. package/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
  998. package/extensions/forms/FieldBlock/FieldBlock.js +11 -8
  999. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  1000. package/extensions/forms/FieldBlock/style/dnb-field-block.css +22 -5
  1001. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  1002. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +29 -1
  1003. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.css +4 -0
  1004. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.min.css +1 -0
  1005. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.scss +6 -0
  1006. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.css +4 -0
  1007. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.min.css +1 -0
  1008. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.scss +6 -0
  1009. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  1010. package/extensions/forms/Form/Handler/Handler.js +7 -1
  1011. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  1012. package/extensions/forms/Form/Visibility/Visibility.d.ts +6 -1
  1013. package/extensions/forms/Form/Visibility/Visibility.js +53 -39
  1014. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  1015. package/extensions/forms/Form/data-context/getData.d.ts +8 -0
  1016. package/extensions/forms/Form/data-context/getData.js +15 -0
  1017. package/extensions/forms/Form/data-context/getData.js.map +1 -0
  1018. package/extensions/forms/Form/data-context/setData.d.ts +2 -0
  1019. package/extensions/forms/Form/data-context/setData.js +6 -0
  1020. package/extensions/forms/Form/data-context/setData.js.map +1 -0
  1021. package/extensions/forms/Form/data-context/useData.d.ts +22 -0
  1022. package/extensions/forms/Form/data-context/useData.js +59 -0
  1023. package/extensions/forms/Form/data-context/useData.js.map +1 -0
  1024. package/extensions/forms/Form/data-context/useError.d.ts +5 -0
  1025. package/extensions/forms/Form/data-context/useError.js +13 -0
  1026. package/extensions/forms/Form/data-context/useError.js.map +1 -0
  1027. package/extensions/forms/Form/index.d.ts +4 -1
  1028. package/extensions/forms/Form/index.js +4 -1
  1029. package/extensions/forms/Form/index.js.map +1 -1
  1030. package/extensions/forms/Iterate/Array/Array.d.ts +2 -2
  1031. package/extensions/forms/Iterate/Array/Array.js +3 -1
  1032. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  1033. package/extensions/forms/StepsLayout/StepsLayout.d.ts +3 -0
  1034. package/extensions/forms/StepsLayout/StepsLayout.js +31 -22
  1035. package/extensions/forms/StepsLayout/StepsLayout.js.map +1 -1
  1036. package/extensions/forms/StepsLayout/style/dnb-steps-layout.css +6 -0
  1037. package/extensions/forms/StepsLayout/style/dnb-steps-layout.min.css +1 -1
  1038. package/extensions/forms/StepsLayout/style/dnb-steps-layout.scss +7 -0
  1039. package/extensions/forms/Value/BankAccountNumber/BankAccountNumber.d.ts +2 -2
  1040. package/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js +2 -2
  1041. package/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js.map +1 -1
  1042. package/extensions/forms/Value/Currency/Currency.d.ts +2 -2
  1043. package/extensions/forms/Value/Currency/Currency.js +4 -5
  1044. package/extensions/forms/Value/Currency/Currency.js.map +1 -1
  1045. package/extensions/forms/Value/Date/Date.d.ts +2 -2
  1046. package/extensions/forms/Value/Date/Date.js +2 -2
  1047. package/extensions/forms/Value/Date/Date.js.map +1 -1
  1048. package/extensions/forms/Value/Email/Email.d.ts +2 -2
  1049. package/extensions/forms/Value/Email/Email.js +2 -2
  1050. package/extensions/forms/Value/Email/Email.js.map +1 -1
  1051. package/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
  1052. package/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js +2 -2
  1053. package/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  1054. package/extensions/forms/Value/Number/Number.d.ts +6 -10
  1055. package/extensions/forms/Value/Number/Number.js +22 -27
  1056. package/extensions/forms/Value/Number/Number.js.map +1 -1
  1057. package/extensions/forms/Value/PhoneNumber/PhoneNumber.d.ts +2 -2
  1058. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js +8 -6
  1059. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  1060. package/extensions/forms/hooks/index.d.ts +1 -0
  1061. package/extensions/forms/hooks/index.js +1 -0
  1062. package/extensions/forms/hooks/index.js.map +1 -1
  1063. package/extensions/forms/hooks/useDataValue.d.ts +10 -1
  1064. package/extensions/forms/hooks/useDataValue.js +85 -26
  1065. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  1066. package/extensions/forms/hooks/useErrorMessage.d.ts +10 -0
  1067. package/extensions/forms/hooks/useErrorMessage.js +15 -0
  1068. package/extensions/forms/hooks/useErrorMessage.js.map +1 -0
  1069. package/extensions/forms/index.d.ts +1 -0
  1070. package/extensions/forms/index.js +1 -0
  1071. package/extensions/forms/index.js.map +1 -1
  1072. package/extensions/forms/style/dnb-forms.css +37 -11
  1073. package/extensions/forms/style/dnb-forms.min.css +1 -1
  1074. package/extensions/forms/types.d.ts +26 -9
  1075. package/extensions/forms/types.js.map +1 -1
  1076. package/extensions/forms/utils/ajv.d.ts +47 -6
  1077. package/extensions/forms/utils/ajv.js +23 -15
  1078. package/extensions/forms/utils/ajv.js.map +1 -1
  1079. package/extensions/forms/utils/index.d.ts +0 -1
  1080. package/extensions/forms/utils/index.js +0 -1
  1081. package/extensions/forms/utils/index.js.map +1 -1
  1082. package/fragments/TextCounter.d.ts +12 -0
  1083. package/fragments/TextCounter.js +4 -0
  1084. package/fragments/TextCounter.js.map +1 -0
  1085. package/fragments/drawer-list/DrawerListHelpers.js +1 -0
  1086. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  1087. package/fragments/index.d.ts +2 -1
  1088. package/fragments/index.js +2 -1
  1089. package/fragments/index.js.map +1 -1
  1090. package/fragments/lib.d.ts +3 -1
  1091. package/fragments/lib.js +4 -2
  1092. package/fragments/lib.js.map +1 -1
  1093. package/fragments/text-counter/TextCounter.d.ts +8 -0
  1094. package/fragments/text-counter/TextCounter.js +52 -0
  1095. package/fragments/text-counter/TextCounter.js.map +1 -0
  1096. package/fragments/text-counter/index.d.ts +5 -0
  1097. package/fragments/text-counter/index.js +1 -0
  1098. package/fragments/text-counter/index.js.map +1 -0
  1099. package/fragments/text-counter/style/dnb-text-counter.scss +15 -0
  1100. package/fragments/text-counter/style/index.d.ts +1 -0
  1101. package/fragments/text-counter/style/index.js +1 -0
  1102. package/fragments/text-counter/style/index.js.map +1 -0
  1103. package/fragments/text-counter/style/themes/dnb-text-counter-theme-sbanken.scss +8 -0
  1104. package/fragments/text-counter/style/themes/dnb-text-counter-theme-ui.scss +8 -0
  1105. package/fragments/text-counter/style/themes/ui.d.ts +1 -0
  1106. package/fragments/text-counter/style/themes/ui.js +1 -0
  1107. package/fragments/text-counter/style/themes/ui.js.map +1 -0
  1108. package/fragments/text-counter/style.d.ts +5 -0
  1109. package/fragments/text-counter/style.js +1 -0
  1110. package/fragments/text-counter/style.js.map +1 -0
  1111. package/index.d.ts +2 -1
  1112. package/index.js +2 -1
  1113. package/index.js.map +1 -1
  1114. package/package.json +1 -1
  1115. package/shared/Eufemia.d.ts +1 -1
  1116. package/shared/Eufemia.js +2 -2
  1117. package/shared/Eufemia.js.map +1 -1
  1118. package/shared/component-helper.js +0 -3
  1119. package/shared/component-helper.js.map +1 -1
  1120. package/shared/helpers/useSharedState.d.ts +33 -10
  1121. package/shared/helpers/useSharedState.js +78 -40
  1122. package/shared/helpers/useSharedState.js.map +1 -1
  1123. package/shared/locales/en-GB.d.ts +7 -0
  1124. package/shared/locales/en-GB.js +9 -2
  1125. package/shared/locales/en-GB.js.map +1 -1
  1126. package/shared/locales/en-US.d.ts +7 -0
  1127. package/shared/locales/index.d.ts +14 -0
  1128. package/shared/locales/nb-NO.d.ts +7 -0
  1129. package/shared/locales/nb-NO.js +7 -0
  1130. package/shared/locales/nb-NO.js.map +1 -1
  1131. package/style/core/utilities.scss +1 -1
  1132. package/style/dnb-ui-components.css +134 -67
  1133. package/style/dnb-ui-components.min.css +3 -3
  1134. package/style/dnb-ui-extensions.css +37 -11
  1135. package/style/dnb-ui-extensions.min.css +1 -1
  1136. package/style/dnb-ui-forms.css +37 -11
  1137. package/style/dnb-ui-forms.min.css +1 -1
  1138. package/style/dnb-ui-fragments.css +10 -0
  1139. package/style/dnb-ui-fragments.min.css +1 -1
  1140. package/style/dnb-ui-fragments.scss +1 -0
  1141. package/style/themes/theme-eiendom/eiendom-theme-components.css +203 -102
  1142. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +7 -7
  1143. package/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
  1144. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +46 -11
  1145. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  1146. package/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  1147. package/style/themes/theme-eiendom/eiendom-theme-forms.css +46 -11
  1148. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  1149. package/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  1150. package/style/themes/theme-sbanken/sbanken-theme-components.css +188 -97
  1151. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  1152. package/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -0
  1153. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +46 -11
  1154. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  1155. package/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  1156. package/style/themes/theme-sbanken/sbanken-theme-forms.css +46 -11
  1157. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  1158. package/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  1159. package/style/themes/theme-ui/ui-theme-components.css +203 -102
  1160. package/style/themes/theme-ui/ui-theme-components.min.css +7 -7
  1161. package/style/themes/theme-ui/ui-theme-components.scss +1 -0
  1162. package/style/themes/theme-ui/ui-theme-extensions.css +46 -11
  1163. package/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  1164. package/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  1165. package/style/themes/theme-ui/ui-theme-forms.css +46 -11
  1166. package/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  1167. package/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  1168. package/umd/dnb-ui-basis.min.js +1 -1
  1169. package/umd/dnb-ui-components.min.js +1 -1
  1170. package/umd/dnb-ui-elements.min.js +1 -1
  1171. package/umd/dnb-ui-extensions.min.js +3 -3
  1172. package/umd/dnb-ui-lib.min.js +1 -1
  1173. package/cjs/components/global-status/AnimationHelper.d.ts +0 -12
  1174. package/cjs/components/global-status/AnimationHelper.js +0 -109
  1175. package/cjs/components/global-status/AnimationHelper.js.map +0 -1
  1176. package/cjs/extensions/forms/Form/hooks/useData.d.ts +0 -10
  1177. package/cjs/extensions/forms/Form/hooks/useData.js +0 -36
  1178. package/cjs/extensions/forms/Form/hooks/useData.js.map +0 -1
  1179. package/cjs/extensions/forms/utils/numbers.d.ts +0 -17
  1180. package/cjs/extensions/forms/utils/numbers.js +0 -42
  1181. package/cjs/extensions/forms/utils/numbers.js.map +0 -1
  1182. package/components/global-status/AnimationHelper.d.ts +0 -12
  1183. package/components/global-status/AnimationHelper.js +0 -100
  1184. package/components/global-status/AnimationHelper.js.map +0 -1
  1185. package/es/components/global-status/AnimationHelper.d.ts +0 -12
  1186. package/es/components/global-status/AnimationHelper.js +0 -100
  1187. package/es/components/global-status/AnimationHelper.js.map +0 -1
  1188. package/es/extensions/forms/Form/hooks/useData.d.ts +0 -10
  1189. package/es/extensions/forms/Form/hooks/useData.js +0 -29
  1190. package/es/extensions/forms/Form/hooks/useData.js.map +0 -1
  1191. package/es/extensions/forms/utils/numbers.d.ts +0 -17
  1192. package/es/extensions/forms/utils/numbers.js +0 -35
  1193. package/es/extensions/forms/utils/numbers.js.map +0 -1
  1194. package/extensions/forms/Form/hooks/useData.d.ts +0 -10
  1195. package/extensions/forms/Form/hooks/useData.js +0 -30
  1196. package/extensions/forms/Form/hooks/useData.js.map +0 -1
  1197. package/extensions/forms/utils/numbers.d.ts +0 -17
  1198. package/extensions/forms/utils/numbers.js +0 -35
  1199. package/extensions/forms/utils/numbers.js.map +0 -1
@@ -9,4 +9,5 @@
9
9
  */
10
10
  import DrawerList from './drawer-list/DrawerList';
11
11
  import ScrollView from './scroll-view/ScrollView';
12
- export { DrawerList, ScrollView };
12
+ import TextCounter from './text-counter/TextCounter';
13
+ export { DrawerList, ScrollView, TextCounter };
@@ -1,4 +1,5 @@
1
1
  import DrawerList from './drawer-list/DrawerList';
2
2
  import ScrollView from './scroll-view/ScrollView';
3
- export { DrawerList, ScrollView };
3
+ import TextCounter from './text-counter/TextCounter';
4
+ export { DrawerList, ScrollView, TextCounter };
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["DrawerList","ScrollView"],"sources":["../../../src/fragments/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 DrawerList from './drawer-list/DrawerList'\nimport ScrollView from './scroll-view/ScrollView'\n\n// define / export all the available components\nexport { DrawerList, ScrollView }\n"],"mappings":"AAYA,OAAOA,UAAU,MAAM,0BAA0B;AACjD,OAAOC,UAAU,MAAM,0BAA0B;AAGjD,SAASD,UAAU,EAAEC,UAAU"}
1
+ {"version":3,"file":"index.js","names":["DrawerList","ScrollView","TextCounter"],"sources":["../../../src/fragments/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 DrawerList from './drawer-list/DrawerList'\nimport ScrollView from './scroll-view/ScrollView'\nimport TextCounter from './text-counter/TextCounter'\n\n// define / export all the available components\nexport { DrawerList, ScrollView, TextCounter }\n"],"mappings":"AAYA,OAAOA,UAAU,MAAM,0BAA0B;AACjD,OAAOC,UAAU,MAAM,0BAA0B;AACjD,OAAOC,WAAW,MAAM,4BAA4B;AAGpD,SAASF,UAAU,EAAEC,UAAU,EAAEC,WAAW"}
@@ -10,7 +10,8 @@
10
10
  */
11
11
  import DrawerList from './drawer-list/DrawerList';
12
12
  import ScrollView from './scroll-view/ScrollView';
13
- export { DrawerList, ScrollView };
13
+ import TextCounter from './text-counter/TextCounter';
14
+ export { DrawerList, ScrollView, TextCounter };
14
15
  export declare const getFragments: () => {
15
16
  DrawerList: typeof DrawerList;
16
17
  ScrollView: import("react").ForwardRefExoticComponent<import("./scroll-view/ScrollView").ScrollViewProps & import("../shared/types").SpacingElementProps & {
@@ -19,4 +20,5 @@ export declare const getFragments: () => {
19
20
  } & Partial<Omit<import("react").HTMLAttributes<HTMLDivElement>, "title">> & {
20
21
  innerRef?: import("react").ForwardedRef<unknown>;
21
22
  } & import("react").RefAttributes<unknown>>;
23
+ TextCounter: typeof TextCounter;
22
24
  };
@@ -1,10 +1,12 @@
1
1
  import DrawerList from './drawer-list/DrawerList';
2
2
  import ScrollView from './scroll-view/ScrollView';
3
- export { DrawerList, ScrollView };
3
+ import TextCounter from './text-counter/TextCounter';
4
+ export { DrawerList, ScrollView, TextCounter };
4
5
  export const getFragments = () => {
5
6
  return {
6
7
  DrawerList,
7
- ScrollView
8
+ ScrollView,
9
+ TextCounter
8
10
  };
9
11
  };
10
12
  //# sourceMappingURL=lib.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","names":["DrawerList","ScrollView","getFragments"],"sources":["../../../src/fragments/lib.ts"],"sourcesContent":["/**\n * ATTENTION: This file is auto generated by using \"prepareTemplates\".\n * Do not change the content!\n *\n */\n\n/**\n * Library Index template to autogenerate all the fragments and extensions\n * Used by \"prepareTemplates\"\n */\n\n// import all the available fragments\nimport DrawerList from './drawer-list/DrawerList'\nimport ScrollView from './scroll-view/ScrollView'\n\n// define / export all the available fragments\nexport { DrawerList, ScrollView }\n\nexport const getFragments = () => {\n return { DrawerList, ScrollView }\n}\n"],"mappings":"AAYA,OAAOA,UAAU,MAAM,0BAA0B;AACjD,OAAOC,UAAU,MAAM,0BAA0B;AAGjD,SAASD,UAAU,EAAEC,UAAU;AAE/B,OAAO,MAAMC,YAAY,GAAGA,CAAA,KAAM;EAChC,OAAO;IAAEF,UAAU;IAAEC;EAAW,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"lib.js","names":["DrawerList","ScrollView","TextCounter","getFragments"],"sources":["../../../src/fragments/lib.ts"],"sourcesContent":["/**\n * ATTENTION: This file is auto generated by using \"prepareTemplates\".\n * Do not change the content!\n *\n */\n\n/**\n * Library Index template to autogenerate all the fragments and extensions\n * Used by \"prepareTemplates\"\n */\n\n// import all the available fragments\nimport DrawerList from './drawer-list/DrawerList'\nimport ScrollView from './scroll-view/ScrollView'\nimport TextCounter from './text-counter/TextCounter'\n\n// define / export all the available fragments\nexport { DrawerList, ScrollView, TextCounter }\n\nexport const getFragments = () => {\n return { DrawerList, ScrollView, TextCounter }\n}\n"],"mappings":"AAYA,OAAOA,UAAU,MAAM,0BAA0B;AACjD,OAAOC,UAAU,MAAM,0BAA0B;AACjD,OAAOC,WAAW,MAAM,4BAA4B;AAGpD,SAASF,UAAU,EAAEC,UAAU,EAAEC,WAAW;AAE5C,OAAO,MAAMC,YAAY,GAAGA,CAAA,KAAM;EAChC,OAAO;IAAEH,UAAU;IAAEC,UAAU;IAAEC;EAAY,CAAC;AAChD,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { LocaleProps, SpacingProps } from '../../shared/types';
3
+ export type TextCounterProps = {
4
+ variant?: 'down' | 'up' | true;
5
+ text: string;
6
+ max: number;
7
+ } & React.HTMLAttributes<HTMLParagraphElement> & LocaleProps & SpacingProps;
8
+ export default function TextCounter(localProps: TextCounterProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,52 @@
1
+ "use client";
2
+
3
+ import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
+ var _Icon;
6
+ const _excluded = ["variant", "text", "max", "className", "locale"];
7
+ import React, { useContext, useMemo, useRef } from 'react';
8
+ import classnames from 'classnames';
9
+ import { toPascalCase } from '../../shared/component-helper';
10
+ import Context from '../../shared/Context';
11
+ import AriaLive from '../../components/AriaLive';
12
+ import Icon from '../../components/icon/Icon';
13
+ import { exclamation_triangle } from '../../icons';
14
+ import P from '../../elements/P';
15
+ export default function TextCounter(localProps) {
16
+ const context = useContext(Context);
17
+ const {
18
+ variant: _variant,
19
+ text,
20
+ max,
21
+ className,
22
+ locale
23
+ } = localProps,
24
+ rest = _objectWithoutProperties(localProps, _excluded);
25
+ const textRef = useRef(text);
26
+ const variant = /up|down/.test(String(_variant)) ? _variant : 'down';
27
+ const length = (text || '').length;
28
+ const message = useMemo(() => {
29
+ if (!(max > 0)) {
30
+ return '';
31
+ }
32
+ const count = variant === 'down' ? Math.abs(max - length) : length;
33
+ const key = `character${length > max ? 'Exceeded' : toPascalCase(variant)}`;
34
+ return context.getTranslation(localProps).TextCounter[key].replace('%count', String(count)).replace('%max', String(max));
35
+ }, [max, length, variant, context, localProps]);
36
+ const bypassAria = useMemo(() => {
37
+ const bypass = textRef.current === text;
38
+ textRef.current = text;
39
+ return bypass;
40
+ }, [text]);
41
+ return React.createElement(P, _extends({
42
+ size: "small",
43
+ className: classnames('dnb-text-counter', className, length > max && 'dnb-text-counter--exceeded')
44
+ }, rest), _Icon || (_Icon = React.createElement(Icon, {
45
+ icon: exclamation_triangle
46
+ })), message, React.createElement(AriaLive, {
47
+ element: "span",
48
+ disabled: bypassAria,
49
+ delay: 2000
50
+ }, message));
51
+ }
52
+ //# sourceMappingURL=TextCounter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextCounter.js","names":["React","useContext","useMemo","useRef","classnames","toPascalCase","Context","AriaLive","Icon","exclamation_triangle","P","TextCounter","localProps","context","variant","_variant","text","max","className","locale","rest","_objectWithoutProperties","_excluded","textRef","test","String","length","message","count","Math","abs","key","getTranslation","replace","bypassAria","bypass","current","createElement","_extends","size","_Icon","icon","element","disabled","delay"],"sources":["../../../../src/fragments/text-counter/TextCounter.tsx"],"sourcesContent":["import React, { useContext, useMemo, useRef } from 'react'\nimport classnames from 'classnames'\nimport { toPascalCase } from '../../shared/component-helper'\nimport Context from '../../shared/Context'\nimport AriaLive from '../../components/AriaLive'\nimport Icon from '../../components/icon/Icon'\nimport { exclamation_triangle } from '../../icons'\nimport type { LocaleProps, SpacingProps } from '../../shared/types'\nimport P from '../../elements/P'\n\nexport type TextCounterProps = {\n variant?: 'down' | 'up' | true\n text: string\n max: number\n} & React.HTMLAttributes<HTMLParagraphElement> &\n LocaleProps &\n SpacingProps\n\nexport default function TextCounter(localProps: TextCounterProps) {\n const context = useContext(Context)\n\n const {\n variant: _variant,\n text,\n max,\n className,\n locale, // eslint-disable-line\n ...rest\n } = localProps\n\n const textRef = useRef(text)\n const variant = /up|down/.test(String(_variant)) ? _variant : 'down'\n const length = (text || '').length\n const message = useMemo(() => {\n if (!(max > 0)) {\n return ''\n }\n\n const count = variant === 'down' ? Math.abs(max - length) : length\n const key = `character${\n length > max ? 'Exceeded' : toPascalCase(variant)\n }`\n\n return context\n .getTranslation(localProps)\n .TextCounter[key].replace('%count', String(count))\n .replace('%max', String(max))\n }, [max, length, variant, context, localProps])\n\n const bypassAria = useMemo(() => {\n const bypass = textRef.current === text\n textRef.current = text\n return bypass\n }, [text])\n\n return (\n <P\n size=\"small\"\n className={classnames(\n 'dnb-text-counter',\n length > max && 'dnb-text-counter--exceeded',\n className\n )}\n {...rest}\n >\n <Icon icon={exclamation_triangle} />\n {message}\n <AriaLive element=\"span\" disabled={bypassAria} delay={2000}>\n {message}\n </AriaLive>\n </P>\n )\n}\n"],"mappings":";;;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAC1D,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,YAAY,QAAQ,+BAA+B;AAC5D,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,OAAOC,QAAQ,MAAM,2BAA2B;AAChD,OAAOC,IAAI,MAAM,4BAA4B;AAC7C,SAASC,oBAAoB,QAAQ,aAAa;AAElD,OAAOC,CAAC,MAAM,kBAAkB;AAUhC,eAAe,SAASC,WAAWA,CAACC,UAA4B,EAAE;EAChE,MAAMC,OAAO,GAAGZ,UAAU,CAACK,OAAO,CAAC;EAEnC,MAAM;MACJQ,OAAO,EAAEC,QAAQ;MACjBC,IAAI;MACJC,GAAG;MACHC,SAAS;MACTC;IAEF,CAAC,GAAGP,UAAU;IADTQ,IAAI,GAAAC,wBAAA,CACLT,UAAU,EAAAU,SAAA;EAEd,MAAMC,OAAO,GAAGpB,MAAM,CAACa,IAAI,CAAC;EAC5B,MAAMF,OAAO,GAAG,SAAS,CAACU,IAAI,CAACC,MAAM,CAACV,QAAQ,CAAC,CAAC,GAAGA,QAAQ,GAAG,MAAM;EACpE,MAAMW,MAAM,GAAG,CAACV,IAAI,IAAI,EAAE,EAAEU,MAAM;EAClC,MAAMC,OAAO,GAAGzB,OAAO,CAAC,MAAM;IAC5B,IAAI,EAAEe,GAAG,GAAG,CAAC,CAAC,EAAE;MACd,OAAO,EAAE;IACX;IAEA,MAAMW,KAAK,GAAGd,OAAO,KAAK,MAAM,GAAGe,IAAI,CAACC,GAAG,CAACb,GAAG,GAAGS,MAAM,CAAC,GAAGA,MAAM;IAClE,MAAMK,GAAG,GAAI,YACXL,MAAM,GAAGT,GAAG,GAAG,UAAU,GAAGZ,YAAY,CAACS,OAAO,CACjD,EAAC;IAEF,OAAOD,OAAO,CACXmB,cAAc,CAACpB,UAAU,CAAC,CAC1BD,WAAW,CAACoB,GAAG,CAAC,CAACE,OAAO,CAAC,QAAQ,EAAER,MAAM,CAACG,KAAK,CAAC,CAAC,CACjDK,OAAO,CAAC,MAAM,EAAER,MAAM,CAACR,GAAG,CAAC,CAAC;EACjC,CAAC,EAAE,CAACA,GAAG,EAAES,MAAM,EAAEZ,OAAO,EAAED,OAAO,EAAED,UAAU,CAAC,CAAC;EAE/C,MAAMsB,UAAU,GAAGhC,OAAO,CAAC,MAAM;IAC/B,MAAMiC,MAAM,GAAGZ,OAAO,CAACa,OAAO,KAAKpB,IAAI;IACvCO,OAAO,CAACa,OAAO,GAAGpB,IAAI;IACtB,OAAOmB,MAAM;EACf,CAAC,EAAE,CAACnB,IAAI,CAAC,CAAC;EAEV,OACEhB,KAAA,CAAAqC,aAAA,CAAC3B,CAAC,EAAA4B,QAAA;IACAC,IAAI,EAAC,OAAO;IACZrB,SAAS,EAAEd,UAAU,CACnB,kBAAkB,EAElBc,SAAS,EADTQ,MAAM,GAAGT,GAAG,IAAI,4BAElB;EAAE,GACEG,IAAI,GAAAoB,KAAA,KAAAA,KAAA,GAERxC,KAAA,CAAAqC,aAAA,CAAC7B,IAAI;IAACiC,IAAI,EAAEhC;EAAqB,CAAE,CAAC,GACnCkB,OAAO,EACR3B,KAAA,CAAAqC,aAAA,CAAC9B,QAAQ;IAACmC,OAAO,EAAC,MAAM;IAACC,QAAQ,EAAET,UAAW;IAACU,KAAK,EAAE;EAAK,GACxDjB,OACO,CACT,CAAC;AAER"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Component Entry
3
+ *
4
+ */
5
+ export * from './TextCounter';
@@ -0,0 +1 @@
1
+ export * from './TextCounter';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/fragments/text-counter/index.ts"],"sourcesContent":["/**\n * Component Entry\n *\n */\n\nexport * from './TextCounter'\n"],"mappings":"AAKA,cAAc,eAAe"}
@@ -0,0 +1,15 @@
1
+ .dnb-text-counter {
2
+ .dnb-icon {
3
+ margin-right: 0;
4
+
5
+ font-size: 0;
6
+ transition:
7
+ margin 200ms var(--easing-default),
8
+ font-size 400ms var(--easing-default);
9
+ }
10
+ &--exceeded .dnb-icon {
11
+ margin-right: 0.5rem;
12
+
13
+ font-size: var(--font-size-basis--em);
14
+ }
15
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ import "./dnb-textarea.min.css";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/fragments/text-counter/style/index.js"],"sourcesContent":["/**\n * Web Style Import\n *\n */\n\nimport './dnb-textarea.scss'\n"],"mappings":"AAKA,OAAO,wBAAqB"}
@@ -0,0 +1,8 @@
1
+ .dnb-text-counter {
2
+ &.dnb-p {
3
+ color: var(--sb-color-gray-dark);
4
+ }
5
+ &--exceeded.dnb-p {
6
+ color: var(--sb-color-red);
7
+ }
8
+ }
@@ -0,0 +1,8 @@
1
+ .dnb-text-counter {
2
+ &.dnb-p {
3
+ color: var(--color-black-55);
4
+ }
5
+ &--exceeded.dnb-p {
6
+ color: var(--color-fire-red);
7
+ }
8
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ import "./dnb-textarea-theme-ui.min.css";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.js","names":[],"sources":["../../../../../../src/fragments/text-counter/style/themes/ui.js"],"sourcesContent":["/**\n * Imports the default theme\n *\n */\n\nimport './dnb-textarea-theme-ui.scss'\n"],"mappings":"AAKA,OAAO,iCAA8B"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Web Style Import
3
+ *
4
+ */
5
+ import './style/dnb-text-counter.scss';
@@ -0,0 +1 @@
1
+ import "./style/dnb-text-counter.min.css";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.js","names":[],"sources":["../../../../src/fragments/text-counter/style.ts"],"sourcesContent":["/**\n * Web Style Import\n *\n */\n\nimport './style/dnb-text-counter.scss'\n"],"mappings":"AAKA,OAAO,kCAA+B"}
package/es/index.d.ts CHANGED
@@ -36,6 +36,7 @@ import Tr from './elements/Tr';
36
36
  import Ul from './elements/Ul';
37
37
  import Accordion from './components/accordion/Accordion';
38
38
  import Anchor from './components/anchor/Anchor';
39
+ import AriaLive from './components/aria-live/AriaLive';
39
40
  import Autocomplete from './components/autocomplete/Autocomplete';
40
41
  import Avatar from './components/avatar/Avatar';
41
42
  import Badge from './components/badge/Badge';
@@ -85,6 +86,6 @@ import ToggleButton from './components/toggle-button/ToggleButton';
85
86
  import Tooltip from './components/tooltip/Tooltip';
86
87
  import Upload from './components/upload/Upload';
87
88
  import VisuallyHidden from './components/visually-hidden/VisuallyHidden';
88
- export { Blockquote, Code, Dd, Div, Dl, Dt, H, H1, H2, H3, H4, H5, H6, Hr, Img, Ingress, Lead, Li, Link, Ol, P, Paragraph, Span, Td, Th, Tr, Ul, 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, };
89
+ export { Blockquote, Code, Dd, Div, Dl, Dt, H, H1, H2, H3, H4, H5, H6, Hr, Img, Ingress, Lead, Li, Link, Ol, P, Paragraph, Span, Td, Th, Tr, Ul, 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, };
89
90
  declare const _default: {};
90
91
  export default _default;
package/es/index.js CHANGED
@@ -27,6 +27,7 @@ import Tr from './elements/Tr';
27
27
  import Ul from './elements/Ul';
28
28
  import Accordion from './components/accordion/Accordion';
29
29
  import Anchor from './components/anchor/Anchor';
30
+ import AriaLive from './components/aria-live/AriaLive';
30
31
  import Autocomplete from './components/autocomplete/Autocomplete';
31
32
  import Avatar from './components/avatar/Avatar';
32
33
  import Badge from './components/badge/Badge';
@@ -76,6 +77,6 @@ import ToggleButton from './components/toggle-button/ToggleButton';
76
77
  import Tooltip from './components/tooltip/Tooltip';
77
78
  import Upload from './components/upload/Upload';
78
79
  import VisuallyHidden from './components/visually-hidden/VisuallyHidden';
79
- export { Blockquote, Code, Dd, Div, Dl, Dt, H, H1, H2, H3, H4, H5, H6, Hr, Img, Ingress, Lead, Li, Link, Ol, P, Paragraph, Span, Td, Th, Tr, Ul, 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 };
80
+ export { Blockquote, Code, Dd, Div, Dl, Dt, H, H1, H2, H3, H4, H5, H6, Hr, Img, Ingress, Lead, Li, Link, Ol, P, Paragraph, Span, Td, Th, Tr, Ul, 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 };
80
81
  export default {};
81
82
  //# sourceMappingURL=index.js.map
package/es/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Blockquote","Code","Dd","Div","Dl","Dt","H","H1","H2","H3","H4","H5","H6","Hr","Img","Ingress","Lead","Li","Link","Ol","P","Paragraph","Span","Td","Th","Tr","Ul","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/index.ts"],"sourcesContent":["/**\n * ATTENTION: This file is auto generated by using \"prepareTemplates\".\n * Do not change the content!\n *\n */\n\n/**\n * Main Index template to autogenerate all the libs\n * Used by \"prepareTemplates\"\n */\n\n// import all the available components and extensions\nimport Blockquote from './elements/Blockquote'\nimport Code from './elements/Code'\nimport Dd from './elements/Dd'\nimport Div from './elements/Div'\nimport Dl from './elements/Dl'\nimport Dt from './elements/Dt'\nimport H from './elements/H'\nimport H1 from './elements/H1'\nimport H2 from './elements/H2'\nimport H3 from './elements/H3'\nimport H4 from './elements/H4'\nimport H5 from './elements/H5'\nimport H6 from './elements/H6'\nimport Hr from './elements/Hr'\nimport Img from './elements/Img'\nimport Ingress from './elements/Ingress'\nimport Lead from './elements/Lead'\nimport Li from './elements/Li'\nimport Link from './elements/Link'\nimport Ol from './elements/Ol'\nimport P from './elements/P'\nimport Paragraph from './elements/Paragraph'\nimport Span from './elements/Span'\nimport Td from './elements/Td'\nimport Th from './elements/Th'\nimport Tr from './elements/Tr'\nimport Ul from './elements/Ul'\nimport Accordion from './components/accordion/Accordion'\nimport Anchor from './components/anchor/Anchor'\nimport Autocomplete from './components/autocomplete/Autocomplete'\nimport Avatar from './components/avatar/Avatar'\nimport Badge from './components/badge/Badge'\nimport Breadcrumb from './components/breadcrumb/Breadcrumb'\nimport Button from './components/button/Button'\nimport Card from './components/card/Card'\nimport Checkbox from './components/checkbox/Checkbox'\nimport DatePicker from './components/date-picker/DatePicker'\nimport Dialog from './components/dialog/Dialog'\nimport Drawer from './components/drawer/Drawer'\nimport Dropdown from './components/dropdown/Dropdown'\nimport Flex from './components/flex/Flex'\nimport FormLabel from './components/form-label/FormLabel'\nimport FormRow from './components/form-row/FormRow'\nimport FormSet from './components/form-set/FormSet'\nimport FormStatus from './components/form-status/FormStatus'\nimport GlobalError from './components/global-error/GlobalError'\nimport GlobalStatus from './components/global-status/GlobalStatus'\nimport Grid from './components/grid/Grid'\nimport Heading from './components/heading/Heading'\nimport HeightAnimation from './components/height-animation/HeightAnimation'\nimport HelpButton from './components/help-button/HelpButton'\nimport Icon from './components/icon/Icon'\nimport IconPrimary from './components/icon-primary/IconPrimary'\nimport InfoCard from './components/info-card/InfoCard'\nimport Input from './components/input/Input'\nimport InputMasked from './components/input-masked/InputMasked'\nimport Logo from './components/logo/Logo'\nimport Modal from './components/modal/Modal'\nimport NumberFormat from './components/number-format/NumberFormat'\nimport Pagination from './components/pagination/Pagination'\nimport ProgressIndicator from './components/progress-indicator/ProgressIndicator'\nimport Radio from './components/radio/Radio'\nimport Section from './components/section/Section'\nimport Skeleton from './components/skeleton/Skeleton'\nimport SkipContent from './components/skip-content/SkipContent'\nimport Slider from './components/slider/Slider'\nimport Space from './components/space/Space'\nimport StepIndicator from './components/step-indicator/StepIndicator'\nimport Switch from './components/switch/Switch'\nimport Table from './components/table/Table'\nimport Tabs from './components/tabs/Tabs'\nimport Tag from './components/tag/Tag'\nimport Textarea from './components/textarea/Textarea'\nimport Timeline from './components/timeline/Timeline'\nimport ToggleButton from './components/toggle-button/ToggleButton'\nimport Tooltip from './components/tooltip/Tooltip'\nimport Upload from './components/upload/Upload'\nimport VisuallyHidden from './components/visually-hidden/VisuallyHidden'\n\n// define / export all the available components\nexport {\n Blockquote,\n Code,\n Dd,\n Div,\n Dl,\n Dt,\n H,\n H1,\n H2,\n H3,\n H4,\n H5,\n H6,\n Hr,\n Img,\n Ingress,\n Lead,\n Li,\n Link,\n Ol,\n P,\n Paragraph,\n Span,\n Td,\n Th,\n Tr,\n Ul,\n Accordion,\n Anchor,\n Autocomplete,\n Avatar,\n Badge,\n Breadcrumb,\n Button,\n Card,\n Checkbox,\n DatePicker,\n Dialog,\n Drawer,\n Dropdown,\n Flex,\n FormLabel,\n FormRow,\n FormSet,\n FormStatus,\n GlobalError,\n GlobalStatus,\n Grid,\n Heading,\n HeightAnimation,\n HelpButton,\n Icon,\n IconPrimary,\n InfoCard,\n Input,\n InputMasked,\n Logo,\n Modal,\n NumberFormat,\n Pagination,\n ProgressIndicator,\n Radio,\n Section,\n Skeleton,\n SkipContent,\n Slider,\n Space,\n StepIndicator,\n Switch,\n Table,\n Tabs,\n Tag,\n Textarea,\n Timeline,\n ToggleButton,\n Tooltip,\n Upload,\n VisuallyHidden,\n}\n\nexport default {}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["Blockquote","Code","Dd","Div","Dl","Dt","H","H1","H2","H3","H4","H5","H6","Hr","Img","Ingress","Lead","Li","Link","Ol","P","Paragraph","Span","Td","Th","Tr","Ul","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/index.ts"],"sourcesContent":["/**\n * ATTENTION: This file is auto generated by using \"prepareTemplates\".\n * Do not change the content!\n *\n */\n\n/**\n * Main Index template to autogenerate all the libs\n * Used by \"prepareTemplates\"\n */\n\n// import all the available components and extensions\nimport Blockquote from './elements/Blockquote'\nimport Code from './elements/Code'\nimport Dd from './elements/Dd'\nimport Div from './elements/Div'\nimport Dl from './elements/Dl'\nimport Dt from './elements/Dt'\nimport H from './elements/H'\nimport H1 from './elements/H1'\nimport H2 from './elements/H2'\nimport H3 from './elements/H3'\nimport H4 from './elements/H4'\nimport H5 from './elements/H5'\nimport H6 from './elements/H6'\nimport Hr from './elements/Hr'\nimport Img from './elements/Img'\nimport Ingress from './elements/Ingress'\nimport Lead from './elements/Lead'\nimport Li from './elements/Li'\nimport Link from './elements/Link'\nimport Ol from './elements/Ol'\nimport P from './elements/P'\nimport Paragraph from './elements/Paragraph'\nimport Span from './elements/Span'\nimport Td from './elements/Td'\nimport Th from './elements/Th'\nimport Tr from './elements/Tr'\nimport Ul from './elements/Ul'\nimport Accordion from './components/accordion/Accordion'\nimport Anchor from './components/anchor/Anchor'\nimport AriaLive from './components/aria-live/AriaLive'\nimport Autocomplete from './components/autocomplete/Autocomplete'\nimport Avatar from './components/avatar/Avatar'\nimport Badge from './components/badge/Badge'\nimport Breadcrumb from './components/breadcrumb/Breadcrumb'\nimport Button from './components/button/Button'\nimport Card from './components/card/Card'\nimport Checkbox from './components/checkbox/Checkbox'\nimport DatePicker from './components/date-picker/DatePicker'\nimport Dialog from './components/dialog/Dialog'\nimport Drawer from './components/drawer/Drawer'\nimport Dropdown from './components/dropdown/Dropdown'\nimport Flex from './components/flex/Flex'\nimport FormLabel from './components/form-label/FormLabel'\nimport FormRow from './components/form-row/FormRow'\nimport FormSet from './components/form-set/FormSet'\nimport FormStatus from './components/form-status/FormStatus'\nimport GlobalError from './components/global-error/GlobalError'\nimport GlobalStatus from './components/global-status/GlobalStatus'\nimport Grid from './components/grid/Grid'\nimport Heading from './components/heading/Heading'\nimport HeightAnimation from './components/height-animation/HeightAnimation'\nimport HelpButton from './components/help-button/HelpButton'\nimport Icon from './components/icon/Icon'\nimport IconPrimary from './components/icon-primary/IconPrimary'\nimport InfoCard from './components/info-card/InfoCard'\nimport Input from './components/input/Input'\nimport InputMasked from './components/input-masked/InputMasked'\nimport Logo from './components/logo/Logo'\nimport Modal from './components/modal/Modal'\nimport NumberFormat from './components/number-format/NumberFormat'\nimport Pagination from './components/pagination/Pagination'\nimport ProgressIndicator from './components/progress-indicator/ProgressIndicator'\nimport Radio from './components/radio/Radio'\nimport Section from './components/section/Section'\nimport Skeleton from './components/skeleton/Skeleton'\nimport SkipContent from './components/skip-content/SkipContent'\nimport Slider from './components/slider/Slider'\nimport Space from './components/space/Space'\nimport StepIndicator from './components/step-indicator/StepIndicator'\nimport Switch from './components/switch/Switch'\nimport Table from './components/table/Table'\nimport Tabs from './components/tabs/Tabs'\nimport Tag from './components/tag/Tag'\nimport Textarea from './components/textarea/Textarea'\nimport Timeline from './components/timeline/Timeline'\nimport ToggleButton from './components/toggle-button/ToggleButton'\nimport Tooltip from './components/tooltip/Tooltip'\nimport Upload from './components/upload/Upload'\nimport VisuallyHidden from './components/visually-hidden/VisuallyHidden'\n\n// define / export all the available components\nexport {\n Blockquote,\n Code,\n Dd,\n Div,\n Dl,\n Dt,\n H,\n H1,\n H2,\n H3,\n H4,\n H5,\n H6,\n Hr,\n Img,\n Ingress,\n Lead,\n Li,\n Link,\n Ol,\n P,\n Paragraph,\n Span,\n Td,\n Th,\n Tr,\n Ul,\n Accordion,\n Anchor,\n AriaLive,\n Autocomplete,\n Avatar,\n Badge,\n Breadcrumb,\n Button,\n Card,\n Checkbox,\n DatePicker,\n Dialog,\n Drawer,\n Dropdown,\n Flex,\n FormLabel,\n FormRow,\n FormSet,\n FormStatus,\n GlobalError,\n GlobalStatus,\n Grid,\n Heading,\n HeightAnimation,\n HelpButton,\n Icon,\n IconPrimary,\n InfoCard,\n Input,\n InputMasked,\n Logo,\n Modal,\n NumberFormat,\n Pagination,\n ProgressIndicator,\n Radio,\n Section,\n Skeleton,\n SkipContent,\n Slider,\n Space,\n StepIndicator,\n Switch,\n Table,\n Tabs,\n Tag,\n Textarea,\n Timeline,\n ToggleButton,\n Tooltip,\n Upload,\n VisuallyHidden,\n}\n\nexport default {}\n"],"mappings":"AAYA,OAAOA,UAAU,MAAM,uBAAuB;AAC9C,OAAOC,IAAI,MAAM,iBAAiB;AAClC,OAAOC,EAAE,MAAM,eAAe;AAC9B,OAAOC,GAAG,MAAM,gBAAgB;AAChC,OAAOC,EAAE,MAAM,eAAe;AAC9B,OAAOC,EAAE,MAAM,eAAe;AAC9B,OAAOC,CAAC,MAAM,cAAc;AAC5B,OAAOC,EAAE,MAAM,eAAe;AAC9B,OAAOC,EAAE,MAAM,eAAe;AAC9B,OAAOC,EAAE,MAAM,eAAe;AAC9B,OAAOC,EAAE,MAAM,eAAe;AAC9B,OAAOC,EAAE,MAAM,eAAe;AAC9B,OAAOC,EAAE,MAAM,eAAe;AAC9B,OAAOC,EAAE,MAAM,eAAe;AAC9B,OAAOC,GAAG,MAAM,gBAAgB;AAChC,OAAOC,OAAO,MAAM,oBAAoB;AACxC,OAAOC,IAAI,MAAM,iBAAiB;AAClC,OAAOC,EAAE,MAAM,eAAe;AAC9B,OAAOC,IAAI,MAAM,iBAAiB;AAClC,OAAOC,EAAE,MAAM,eAAe;AAC9B,OAAOC,CAAC,MAAM,cAAc;AAC5B,OAAOC,SAAS,MAAM,sBAAsB;AAC5C,OAAOC,IAAI,MAAM,iBAAiB;AAClC,OAAOC,EAAE,MAAM,eAAe;AAC9B,OAAOC,EAAE,MAAM,eAAe;AAC9B,OAAOC,EAAE,MAAM,eAAe;AAC9B,OAAOC,EAAE,MAAM,eAAe;AAC9B,OAAOC,SAAS,MAAM,kCAAkC;AACxD,OAAOC,MAAM,MAAM,4BAA4B;AAC/C,OAAOC,QAAQ,MAAM,iCAAiC;AACtD,OAAOC,YAAY,MAAM,wCAAwC;AACjE,OAAOC,MAAM,MAAM,4BAA4B;AAC/C,OAAOC,KAAK,MAAM,0BAA0B;AAC5C,OAAOC,UAAU,MAAM,oCAAoC;AAC3D,OAAOC,MAAM,MAAM,4BAA4B;AAC/C,OAAOC,IAAI,MAAM,wBAAwB;AACzC,OAAOC,QAAQ,MAAM,gCAAgC;AACrD,OAAOC,UAAU,MAAM,qCAAqC;AAC5D,OAAOC,MAAM,MAAM,4BAA4B;AAC/C,OAAOC,MAAM,MAAM,4BAA4B;AAC/C,OAAOC,QAAQ,MAAM,gCAAgC;AACrD,OAAOC,IAAI,MAAM,wBAAwB;AACzC,OAAOC,SAAS,MAAM,mCAAmC;AACzD,OAAOC,OAAO,MAAM,+BAA+B;AACnD,OAAOC,OAAO,MAAM,+BAA+B;AACnD,OAAOC,UAAU,MAAM,qCAAqC;AAC5D,OAAOC,WAAW,MAAM,uCAAuC;AAC/D,OAAOC,YAAY,MAAM,yCAAyC;AAClE,OAAOC,IAAI,MAAM,wBAAwB;AACzC,OAAOC,OAAO,MAAM,8BAA8B;AAClD,OAAOC,eAAe,MAAM,+CAA+C;AAC3E,OAAOC,UAAU,MAAM,qCAAqC;AAC5D,OAAOC,IAAI,MAAM,wBAAwB;AACzC,OAAOC,WAAW,MAAM,uCAAuC;AAC/D,OAAOC,QAAQ,MAAM,iCAAiC;AACtD,OAAOC,KAAK,MAAM,0BAA0B;AAC5C,OAAOC,WAAW,MAAM,uCAAuC;AAC/D,OAAOC,IAAI,MAAM,wBAAwB;AACzC,OAAOC,KAAK,MAAM,0BAA0B;AAC5C,OAAOC,YAAY,MAAM,yCAAyC;AAClE,OAAOC,UAAU,MAAM,oCAAoC;AAC3D,OAAOC,iBAAiB,MAAM,mDAAmD;AACjF,OAAOC,KAAK,MAAM,0BAA0B;AAC5C,OAAOC,OAAO,MAAM,8BAA8B;AAClD,OAAOC,QAAQ,MAAM,gCAAgC;AACrD,OAAOC,WAAW,MAAM,uCAAuC;AAC/D,OAAOC,MAAM,MAAM,4BAA4B;AAC/C,OAAOC,KAAK,MAAM,0BAA0B;AAC5C,OAAOC,aAAa,MAAM,2CAA2C;AACrE,OAAOC,MAAM,MAAM,4BAA4B;AAC/C,OAAOC,KAAK,MAAM,0BAA0B;AAC5C,OAAOC,IAAI,MAAM,wBAAwB;AACzC,OAAOC,GAAG,MAAM,sBAAsB;AACtC,OAAOC,QAAQ,MAAM,gCAAgC;AACrD,OAAOC,QAAQ,MAAM,gCAAgC;AACrD,OAAOC,YAAY,MAAM,yCAAyC;AAClE,OAAOC,OAAO,MAAM,8BAA8B;AAClD,OAAOC,MAAM,MAAM,4BAA4B;AAC/C,OAAOC,cAAc,MAAM,6CAA6C;AAGxE,SACE9E,UAAU,EACVC,IAAI,EACJC,EAAE,EACFC,GAAG,EACHC,EAAE,EACFC,EAAE,EACFC,CAAC,EACDC,EAAE,EACFC,EAAE,EACFC,EAAE,EACFC,EAAE,EACFC,EAAE,EACFC,EAAE,EACFC,EAAE,EACFC,GAAG,EACHC,OAAO,EACPC,IAAI,EACJC,EAAE,EACFC,IAAI,EACJC,EAAE,EACFC,CAAC,EACDC,SAAS,EACTC,IAAI,EACJC,EAAE,EACFC,EAAE,EACFC,EAAE,EACFC,EAAE,EACFC,SAAS,EACTC,MAAM,EACNC,QAAQ,EACRC,YAAY,EACZC,MAAM,EACNC,KAAK,EACLC,UAAU,EACVC,MAAM,EACNC,IAAI,EACJC,QAAQ,EACRC,UAAU,EACVC,MAAM,EACNC,MAAM,EACNC,QAAQ,EACRC,IAAI,EACJC,SAAS,EACTC,OAAO,EACPC,OAAO,EACPC,UAAU,EACVC,WAAW,EACXC,YAAY,EACZC,IAAI,EACJC,OAAO,EACPC,eAAe,EACfC,UAAU,EACVC,IAAI,EACJC,WAAW,EACXC,QAAQ,EACRC,KAAK,EACLC,WAAW,EACXC,IAAI,EACJC,KAAK,EACLC,YAAY,EACZC,UAAU,EACVC,iBAAiB,EACjBC,KAAK,EACLC,OAAO,EACPC,QAAQ,EACRC,WAAW,EACXC,MAAM,EACNC,KAAK,EACLC,aAAa,EACbC,MAAM,EACNC,KAAK,EACLC,IAAI,EACJC,GAAG,EACHC,QAAQ,EACRC,QAAQ,EACRC,YAAY,EACZC,OAAO,EACPC,MAAM,EACNC,cAAc;AAGhB,eAAe,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
1
  export function init(): void;
2
- export const version: "10.18.0";
2
+ export const version: "10.20.0";
@@ -1,9 +1,9 @@
1
- export const version = '10.18.0';
1
+ export const version = '10.20.0';
2
2
  export function init() {
3
3
  if (typeof window !== 'undefined') {
4
4
  class Eufemia {
5
5
  get version() {
6
- return '10.18.0';
6
+ return '10.20.0';
7
7
  }
8
8
  }
9
9
  window.Eufemia = new Eufemia();
@@ -1 +1 @@
1
- {"version":3,"file":"Eufemia.js","names":["version","init","window","Eufemia"],"sources":["../../../src/shared/Eufemia.js"],"sourcesContent":["export const version = '10.18.0'\n\nexport function init() {\n if (typeof window !== 'undefined') {\n class Eufemia {\n get version() {\n return '10.18.0'\n }\n }\n\n window.Eufemia = new Eufemia()\n }\n}\n"],"mappings":"AAAA,OAAO,MAAMA,OAAO,GAAG,SAAS;AAEhC,OAAO,SAASC,IAAIA,CAAA,EAAG;EACrB,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IACjC,MAAMC,OAAO,CAAC;MACZ,IAAIH,OAAOA,CAAA,EAAG;QACZ,OAAO,SAAS;MAClB;IACF;IAEAE,MAAM,CAACC,OAAO,GAAG,IAAIA,OAAO,CAAC,CAAC;EAChC;AACF"}
1
+ {"version":3,"file":"Eufemia.js","names":["version","init","window","Eufemia"],"sources":["../../../src/shared/Eufemia.js"],"sourcesContent":["export const version = '10.20.0'\n\nexport function init() {\n if (typeof window !== 'undefined') {\n class Eufemia {\n get version() {\n return '10.20.0'\n }\n }\n\n window.Eufemia = new Eufemia()\n }\n}\n"],"mappings":"AAAA,OAAO,MAAMA,OAAO,GAAG,SAAS;AAEhC,OAAO,SAASC,IAAIA,CAAA,EAAG;EACrB,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IACjC,MAAMC,OAAO,CAAC;MACZ,IAAIH,OAAOA,CAAA,EAAG;QACZ,OAAO,SAAS;MAClB;IACF;IAEAE,MAAM,CAACC,OAAO,GAAG,IAAIA,OAAO,CAAC,CAAC;EAChC;AACF"}
@@ -13,9 +13,6 @@ export { useEventEmitter } from './helpers/useEventEmitter';
13
13
  export { filterProps } from './helpers/filterProps';
14
14
  export { getPreviousSibling, warn };
15
15
  init();
16
- if (typeof process !== 'undefined' && process.env.NODE_ENV === 'test' && typeof window !== 'undefined') {
17
- window.IS_TEST = true;
18
- }
19
16
  whatInput.specificKeys([9]);
20
17
  defineNavigator();
21
18
  export function isTouchDevice() {
@@ -1 +1 @@
1
- {"version":3,"file":"component-helper.js","names":["React","keycode","whatInput","warn","PLATFORM_MAC","PLATFORM_WIN","PLATFORM_LINUX","getPreviousSibling","init","InteractionInvalidation","extendPropsWithContext","extendPropsWithContextInClassComponent","useEventEmitter","filterProps","process","env","NODE_ENV","window","IS_TEST","specificKeys","defineNavigator","isTouchDevice","document","intent","documentElement","getAttribute","e","handleNavigator","navigator","platform","match","RegExp","setAttribute","removeEventListener","readyState","addEventListener","validateDOMAttributes","props","params","attributes","attr","JSON","parse","Object","entries","forEach","key","value","assign","disabled","space","top","right","bottom","left","no_collapse","innerSpace","tabindex","tabIndex","i","test","processChildren","global","Array","isArray","registeredElements","length","cache","reverse","map","cb","includes","isFrozen","_objectSpread","children","createElement","Fragment","filter","Boolean","res","onlyTexts","reduce","pV","cV","push","join","extend","objects","first","keepRef","shift","acc1","object","acc2","keys","isTrue","String","dispatchCustomElementEvent","src","eventName","eventObjectOrig","ret","undefined","eventObject","event","currentTarget","dataset","replace","target","r","apply","toCamelCase","toSnakeCase","s","split","acc","cur","g0","g1","g2","toUpperCase","toLowerCase","toPascalCase","str","letter","toKebabCase","toCapitalized","l","detectOutsideClick","ignoreElements","onSuccess","options","DetectOutsideClickClass","constructor","_defineProperty","currentElement","tagName","pageX","clientWidth","pageY","clientHeight","checkIfHasScrollbar","elem","parentNode","handleClickOutside","checkOutsideClick","keydownCallback","keyCode","includedKeys","keyupCallback","remove","scrollHeight","offsetHeight","scrollWidth","offsetWidth","overflowIsScrollable","style","getComputedStyle","overflow","overflowX","overflowY","makeUniqueId","prefix","Math","random","toString","substr","idIncrement","slice","slugify","matchAll","string","regex","from","matches","exec","isChildOfElement","element","callback","contains","parentElement","roundToNearest","num","diff","getClosestScrollViewElement","convertJsxToString","elements","separator","word","isValidElement","trim","convertStatusToStateOnly","status","state","getStatusState","combineLabelledBy","combineAriaBy","combineDescribedBy","type","findElementInChildren","find","result","some","escapeRegexChars","removeUndefinedProps"],"sources":["../../../src/shared/component-helper.js"],"sourcesContent":["/**\n * Component helpers\n *\n */\n\nimport React from 'react'\nimport keycode from 'keycode'\nimport whatInput from 'what-input'\nimport {\n warn,\n PLATFORM_MAC,\n PLATFORM_WIN,\n PLATFORM_LINUX,\n} from './helpers'\nimport { getPreviousSibling } from './helpers/getPreviousSibling'\nimport { init } from './Eufemia'\n\nexport { InteractionInvalidation } from './helpers/InteractionInvalidation'\nexport {\n extendPropsWithContext,\n extendPropsWithContextInClassComponent,\n} from './helpers/extendPropsWithContext'\nexport { useEventEmitter } from './helpers/useEventEmitter'\nexport { filterProps } from './helpers/filterProps'\n\nexport { getPreviousSibling, warn }\n\ninit()\n\nif (\n typeof process !== 'undefined' &&\n process.env.NODE_ENV === 'test' &&\n typeof window !== 'undefined'\n) {\n window.IS_TEST = true\n}\n\n// run component helper functions\nwhatInput.specificKeys([9])\ndefineNavigator()\n\n/**\n * Check if device is touch device or not\n */\nexport function isTouchDevice() {\n if (typeof document !== 'undefined') {\n let intent = false\n try {\n intent = document.documentElement.getAttribute('data-whatintent')\n } catch (e) {\n //\n }\n return intent === 'touch'\n }\n return false\n}\n\nexport function defineNavigator() {\n const handleNavigator = () => {\n if (\n typeof document === 'undefined' ||\n typeof window === 'undefined' ||\n typeof navigator === 'undefined'\n ) {\n return\n }\n\n try {\n if (!(typeof window !== 'undefined' && window.IS_TEST)) {\n if (navigator.platform.match(new RegExp(PLATFORM_MAC)) !== null) {\n document.documentElement.setAttribute('data-os', 'mac')\n } else if (\n navigator.platform.match(new RegExp(PLATFORM_WIN)) !== null\n ) {\n document.documentElement.setAttribute('data-os', 'win')\n } else if (\n navigator.platform.match(new RegExp(PLATFORM_LINUX)) !== null\n ) {\n document.documentElement.setAttribute('data-os', 'linux')\n }\n } else {\n document.documentElement.setAttribute('data-os', 'other')\n }\n } catch (e) {\n warn(e)\n }\n\n document.removeEventListener('DOMContentLoaded', handleNavigator)\n }\n\n if (\n typeof document !== 'undefined' &&\n document.readyState === 'loading'\n ) {\n document.addEventListener('DOMContentLoaded', handleNavigator)\n } else {\n handleNavigator()\n }\n}\n\nexport const validateDOMAttributes = (props, params) => {\n // if there is an \"attributes\" prop, prepare these\n // mostly used for prop example usage\n if (props && props.attributes) {\n let attr = props.attributes\n if (attr) {\n if (attr[0] === '{') {\n attr = JSON.parse(attr)\n }\n if (attr && typeof attr === 'object') {\n Object.entries(attr).forEach(([key, value]) => {\n Object.assign(params, { [key]: value })\n })\n }\n delete params.attributes\n }\n }\n\n // remove disabled, in case it is false (this is for web components support)\n if (params.disabled === null || params.disabled === 'false') {\n delete params.disabled\n }\n if (typeof params.space !== 'undefined') {\n delete params.space\n }\n if (typeof params.top !== 'undefined') {\n delete params.top\n }\n if (typeof params.right !== 'undefined') {\n delete params.right\n }\n if (typeof params.bottom !== 'undefined') {\n delete params.bottom\n }\n if (typeof params.left !== 'undefined') {\n delete params.left\n }\n if (typeof params.no_collapse !== 'undefined') {\n delete params.no_collapse\n }\n if (typeof params.innerSpace !== 'undefined') {\n delete params.innerSpace\n }\n\n // in case disabled is a string, it its enabled, send it in as a true (this is for web components support)\n else if (params.disabled === 'true') {\n params.disabled = true\n }\n if (params.disabled === true) {\n params['aria-disabled'] = true\n }\n\n if (props && props.tabindex) {\n let tabIndex = props.tabindex\n if (tabIndex === 'off') {\n tabIndex = '-1'\n }\n params['tabIndex'] = tabIndex\n }\n\n // make sure we don't return a render prop as a DOM attribute\n if (params && typeof params === 'object') {\n for (const i in params) {\n if (\n // is React\n typeof params[i] === 'function' &&\n // only React Style props, like onClick are allowed\n !/(^[a-z]{1,}[A-Z]{1})/.test(i)\n ) {\n delete params[i]\n\n // filter out invalid attributes\n } else if (\n // we don't want NULL values\n params[i] === null ||\n // we don't want\n /[^a-z-]/i.test(i)\n // (typeof params[i] !== 'string' && /[^a-z-]/i.test(i))\n ) {\n delete params[i]\n }\n }\n }\n\n return params\n}\n\nexport const processChildren = (props) => {\n if (!props) {\n return null\n }\n\n // If used in WB, call functions who starts with \"render_\"\n if (\n typeof global !== 'undefined' &&\n Array.isArray(global.registeredElements) &&\n global.registeredElements.length > 0\n ) {\n let cache = null\n Object.entries(props)\n .reverse()\n .map(([key, cb]) => {\n if (key.includes('render_') && /^render_/.test(key)) {\n if (typeof cb === 'function') {\n if (cache) {\n if (Object.isFrozen(props)) {\n props = { ...props }\n }\n props.children = cache\n }\n return (cache = (\n <React.Fragment key={key}>{cb(props)}</React.Fragment>\n ))\n }\n }\n\n return null\n })\n .filter(Boolean)\n if (cache) {\n return cache\n }\n }\n\n const res =\n typeof props.children === 'function'\n ? props.children(props)\n : props.children\n\n // if we get several react children which represents only a text\n if (Array.isArray(res)) {\n const onlyTexts = res.reduce((pV, cV) => {\n if (typeof cV === 'string' || typeof cV === 'number') {\n pV.push(cV)\n }\n return pV\n }, [])\n\n // if there was one or more text elements\n if (onlyTexts.length === res.length && onlyTexts.length > 0) {\n return onlyTexts.join('')\n }\n }\n\n return res\n}\n\n// extends given objects recursively and removes entries with null values\n// makes sure that we by default return a totally new object every time\nexport const extend = (...objects) => {\n let first = {}\n const keepRef = objects[0]\n\n if (keepRef === true || keepRef === false) {\n // remove settings value\n objects.shift()\n\n if (keepRef) {\n // by extracting the first, we keep the same main object reference\n first = objects.shift()\n }\n }\n\n return objects.reduce((acc1, object) => {\n if (object) {\n acc1 = Object.assign(\n acc1,\n Object.entries(object).reduce((acc2, [key, value]) => {\n if (value !== null) {\n // go recursively\n if (typeof value === 'object') {\n value = extend(acc1[key] || {}, value)\n if (Object.keys(value).length > 0) {\n acc2[key] = value\n }\n } else {\n acc2[key] = value\n }\n }\n return acc2\n }, {})\n )\n }\n return acc1\n }, first)\n}\n\n// check if value is \"truthy\"\nexport const isTrue = (value) => {\n if (\n value !== null &&\n typeof value !== 'undefined' &&\n (String(value) === 'true' || String(value) === '1')\n ) {\n return true\n }\n return false\n}\n\nexport const dispatchCustomElementEvent = (\n src,\n eventName,\n eventObjectOrig\n) => {\n let ret = undefined\n\n const eventObject = {\n ...((eventObjectOrig && eventObjectOrig.event) || {}),\n ...eventObjectOrig,\n }\n\n // distribute dataset like \"data-*\" to both currentTarget and target\n if (eventObject && eventObject.attributes && eventObject.event) {\n const currentTarget = eventObject.event.currentTarget\n if (currentTarget) {\n try {\n // 1. create new dataset, and copy if exists\n const dataset = { ...(currentTarget.dataset || {}) }\n\n // 2. copy in our attributes if they are of \"data-\" type\n const attributes = { ...eventObject.attributes }\n for (const i in attributes) {\n if (/^data-/.test(i)) {\n dataset[String(i).replace(/^data-/, '')] = attributes[i]\n }\n }\n\n // 3. and distribute them to the targets. Use the for method because of immutability\n for (const i in dataset) {\n if (eventObject.event.currentTarget.dataset) {\n eventObject.event.currentTarget.dataset[i] = dataset[i]\n }\n if (\n eventObject.event.target &&\n eventObject.event.target.dataset\n ) {\n eventObject.event.target.dataset[i] = dataset[i]\n }\n }\n } catch (e) {\n warn('Error on handling dataset:', e)\n }\n }\n }\n\n const props = (src && src.props) || src\n\n // call the default snake case event\n if (eventName.includes('_')) {\n if (typeof props[eventName] === 'function') {\n const r = props[eventName].apply(src, [eventObject])\n if (typeof r !== 'undefined') {\n ret = r\n }\n }\n\n // call Synthetic React event camelCase naming events\n eventName = toCamelCase(eventName)\n if (typeof props[eventName] === 'function') {\n const r = props[eventName].apply(src, [eventObject])\n if (typeof r !== 'undefined') {\n ret = r\n }\n }\n } else {\n if (typeof props[eventName] === 'function') {\n const r = props[eventName].apply(src, [eventObject])\n if (typeof r !== 'undefined') {\n ret = r\n }\n }\n\n // call (in future deprecated) event snake case naming events\n eventName = toSnakeCase(eventName)\n if (typeof props[eventName] === 'function') {\n const r = props[eventName].apply(src, [eventObject])\n if (typeof r !== 'undefined') {\n ret = r\n }\n }\n }\n\n return ret\n}\n\n// transform on_click to onClick\nexport const toCamelCase = (s) =>\n s\n .split(/_/g)\n .reduce(\n (acc, cur, i) =>\n acc +\n (i === 0\n ? cur\n : cur.replace(\n /(\\w)(\\w*)/g,\n (g0, g1, g2) => g1.toUpperCase() + g2.toLowerCase()\n )),\n ''\n )\n\n// TODO: Test if this solution is faster\n// const toCamelCase = (str) =>\n// str.replace(/([-_][a-z])/g, (group) =>\n// group.toUpperCase().replace('-', '').replace('_', '')\n// )\n\n// transform my_component to MyComponent\nexport const toPascalCase = (s) =>\n s\n .split(/_/g)\n .reduce(\n (acc, cur) =>\n acc +\n cur.replace(\n /(\\w)(\\w*)/g,\n (g0, g1, g2) => g1.toUpperCase() + g2.toLowerCase()\n ),\n ''\n )\n\n// transform MyComponent to my_component\nexport const toSnakeCase = (str) =>\n str.replace(/\\B[A-Z]/g, (letter) => `_${letter}`).toLowerCase()\n\n// transform MyComponent to my-component\nexport const toKebabCase = (str) =>\n str.replace(/\\B[A-Z]/g, (letter) => `-${letter}`).toLowerCase()\n\nexport function toCapitalized(str) {\n return str\n .toLowerCase()\n .replace(/(?<=(^|\\s))(.)/g, (l) => l.toUpperCase())\n}\n\n/**\n * [detectOutsideClick Detects a click outside a given DOM element]\n * @param {[type]} ignoreElement [The element we want to protect from a click]\n * @param {[type]} onSuccess [Will be called on outside click]\n * @return {[type]} [void]\n */\nexport const detectOutsideClick = (ignoreElements, onSuccess, options) =>\n new DetectOutsideClickClass(ignoreElements, onSuccess, options)\n\n// Used by detectOutsideClick\nexport class DetectOutsideClickClass {\n constructor(ignoreElements, onSuccess, options = {}) {\n if (\n !this.handleClickOutside &&\n typeof document !== 'undefined' &&\n typeof window !== 'undefined'\n ) {\n if (!Array.isArray(ignoreElements)) {\n ignoreElements = [ignoreElements]\n }\n this.handleClickOutside = (event) => {\n this.checkOutsideClick(\n {\n event,\n ignoreElements,\n },\n () => typeof onSuccess === 'function' && onSuccess({ event })\n )\n }\n document.addEventListener('mousedown', this.handleClickOutside)\n\n this.keydownCallback = (event) => {\n const keyCode = keycode(event)\n if (keyCode === 'esc') {\n window.removeEventListener('keydown', this.keydownCallback)\n if (typeof onSuccess === 'function') {\n onSuccess({ event })\n }\n }\n }\n window.addEventListener('keydown', this.keydownCallback)\n\n // e.g. includedKeys = ['tab']\n if (options.includedKeys) {\n // use keyup so we get the correct new target\n this.keyupCallback = (event) => {\n const keyCode = keycode(event)\n if (\n options.includedKeys.includes(keyCode) &&\n typeof this.handleClickOutside === 'function'\n ) {\n this.handleClickOutside(event, () => {\n if (this.keyupCallback)\n window.removeEventListener('keyup', this.keyupCallback)\n })\n }\n }\n window.addEventListener('keyup', this.keyupCallback)\n }\n }\n }\n\n remove() {\n if (this.handleClickOutside && typeof document !== 'undefined') {\n document.removeEventListener('mousedown', this.handleClickOutside)\n this.handleClickOutside = null\n }\n if (this.keydownCallback && typeof window !== 'undefined') {\n window.removeEventListener('keydown', this.keydownCallback)\n this.keydownCallback = null\n }\n if (this.keyupCallback && typeof window !== 'undefined') {\n window.removeEventListener('keyup', this.keyupCallback)\n this.keyupCallback = null\n }\n }\n\n checkOutsideClick = ({ event, ignoreElements }, onSuccess = null) => {\n try {\n const currentElement = event.target\n\n // we also check if currentElement is documentElement\n // and if it has scrollbars, we then ignore the click\n if (\n currentElement?.tagName === 'HTML' &&\n (event.pageX > document.documentElement.clientWidth - 40 ||\n event.pageY > document.documentElement.clientHeight - 40)\n ) {\n return // stop here\n }\n\n // check if element has e.g. \"overflow: scroll\"\n if (checkIfHasScrollbar(currentElement)) {\n return // stop here\n }\n\n // check the rest\n for (let i = 0, elem, l = ignoreElements.length; i < l; ++i) {\n elem = currentElement\n if (!ignoreElements[i]) {\n continue\n }\n do {\n if (elem === ignoreElements[i]) {\n return // stop here\n }\n elem = elem && elem.parentNode\n } while (elem)\n }\n\n if (typeof onSuccess === 'function') {\n onSuccess()\n }\n } catch (e) {\n warn(e)\n }\n }\n}\n\nexport const checkIfHasScrollbar = (elem) => {\n return (\n elem &&\n (elem.scrollHeight > elem.offsetHeight ||\n elem.scrollWidth > elem.offsetWidth) &&\n overflowIsScrollable(elem)\n )\n}\nconst overflowIsScrollable = (elem) => {\n const style =\n typeof window !== 'undefined' ? window.getComputedStyle(elem) : {}\n return /scroll|auto/i.test(\n (style.overflow || '') +\n (style.overflowX || '') +\n (style.overflowY || '')\n )\n}\n\nexport const makeUniqueId = (prefix = 'id-', length = 8) =>\n prefix +\n String(\n Math.random().toString(36).substr(2, length) + idIncrement++\n ).slice(-length)\nlet idIncrement = 0\n\nexport const slugify = (s) =>\n String(s)\n .toLowerCase()\n .replace(/[^\\w\\s-]/g, '')\n .replace(/[\\s_-]+/g, '-')\n .replace(/^-+|-+$/g, '')\n\n// NB: in future we can use String.matchAll() instead\nexport const matchAll = (string, regex) => {\n if (typeof string.matchAll === 'function') {\n return Array.from(string.matchAll(regex))\n }\n const matches = []\n let match\n while ((match = regex.exec(string))) {\n matches.push(match)\n }\n return matches\n}\n\n/**\n * Check if an element exists in its children\n * If it finds it, the child \"element\" of target will be returned.\n *\n * @param {HTMLElement} element The DOM Element to find\n * @param {HTMLElement} target The DOM Element that should contain \"element\"\n * @param {function} callback (optional)\n * @returns {HTMLElement | null} Returns the found child of all existing dom elements inside of \"target\"\n */\nexport const isChildOfElement = (element, target, callback = null) => {\n try {\n const contains = (element) => {\n if (callback) {\n const res = callback(element)\n if (res) {\n return element\n }\n }\n return element && element === target\n }\n\n if (contains(element)) {\n return element\n }\n\n while (\n (element = element && element.parentElement) &&\n !contains(element)\n );\n } catch (e) {\n //\n }\n\n return element\n}\n\n// Round number to nearest target number\nexport const roundToNearest = (num, target) => {\n const diff = num % target\n return diff > target / 2 ? num - diff + target : num - diff\n}\n\nexport const getClosestScrollViewElement = (currentElement) => {\n return getPreviousSibling('.dnb-scroll-view', currentElement)\n}\n\nexport const convertJsxToString = (elements, separator = undefined) => {\n if (!Array.isArray(elements)) {\n elements = [elements]\n }\n\n const process = (word) => {\n if (React.isValidElement(word)) {\n if (typeof word.props.children === 'string') {\n word = word.props.children.trim()\n } else if (Array.isArray(word.props.children)) {\n word = word.props.children.reduce((acc, word) => {\n if (typeof word !== 'string') {\n word = process(word)\n }\n if (typeof word === 'string') {\n acc = (acc + (separator || '') + word).trim()\n }\n return acc\n }, '')\n } else {\n return null\n }\n }\n\n return word\n }\n\n return elements\n .map((word) => process(word))\n .filter(Boolean)\n .join(separator)\n .trim()\n}\n\nexport function convertStatusToStateOnly(status, state) {\n return status ? state : null\n}\n\nexport function getStatusState(status) {\n return (\n status && status !== 'error' && status !== 'warn' && status !== 'info'\n )\n}\n\nexport function combineLabelledBy(...params) {\n return combineAriaBy('aria-labelledby', params)\n}\nexport function combineDescribedBy(...params) {\n return combineAriaBy('aria-describedby', params)\n}\nfunction combineAriaBy(type, params) {\n params = params.map((cur) => {\n if (cur && params.includes(cur[type])) {\n return null\n }\n if (cur && typeof cur[type] !== 'undefined') {\n cur = cur[type]\n }\n if (typeof cur !== 'string') {\n cur = null\n }\n return cur\n })\n params = params.filter(Boolean).join(' ')\n if (params === '') {\n params = undefined\n }\n return params\n}\n\nexport function findElementInChildren(children, find) {\n if (!Array.isArray(children)) {\n children = [children]\n }\n\n let result = null\n children.some((cur) => {\n if (cur && cur.props && cur.props.children) {\n const res = findElementInChildren(cur.props.children, find)\n if (res) {\n return (result = res)\n }\n }\n if (React.isValidElement(cur) && find(cur)) {\n return (result = cur)\n }\n return null\n })\n\n return result\n}\n\nexport function escapeRegexChars(str) {\n return str.replace(/[-[\\]{}()*+?.,\\\\^$|#]/g, '\\\\$&')\n}\n\nexport function removeUndefinedProps(object) {\n Object.keys(object).forEach((key) => {\n if (object[key] === undefined) {\n delete object[key]\n }\n })\n return object\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"component-helper.js","names":["React","keycode","whatInput","warn","PLATFORM_MAC","PLATFORM_WIN","PLATFORM_LINUX","getPreviousSibling","init","InteractionInvalidation","extendPropsWithContext","extendPropsWithContextInClassComponent","useEventEmitter","filterProps","specificKeys","defineNavigator","isTouchDevice","document","intent","documentElement","getAttribute","e","handleNavigator","window","navigator","IS_TEST","platform","match","RegExp","setAttribute","removeEventListener","readyState","addEventListener","validateDOMAttributes","props","params","attributes","attr","JSON","parse","Object","entries","forEach","key","value","assign","disabled","space","top","right","bottom","left","no_collapse","innerSpace","tabindex","tabIndex","i","test","processChildren","global","Array","isArray","registeredElements","length","cache","reverse","map","cb","includes","isFrozen","_objectSpread","children","createElement","Fragment","filter","Boolean","res","onlyTexts","reduce","pV","cV","push","join","extend","objects","first","keepRef","shift","acc1","object","acc2","keys","isTrue","String","dispatchCustomElementEvent","src","eventName","eventObjectOrig","ret","undefined","eventObject","event","currentTarget","dataset","replace","target","r","apply","toCamelCase","toSnakeCase","s","split","acc","cur","g0","g1","g2","toUpperCase","toLowerCase","toPascalCase","str","letter","toKebabCase","toCapitalized","l","detectOutsideClick","ignoreElements","onSuccess","options","DetectOutsideClickClass","constructor","_defineProperty","currentElement","tagName","pageX","clientWidth","pageY","clientHeight","checkIfHasScrollbar","elem","parentNode","handleClickOutside","checkOutsideClick","keydownCallback","keyCode","includedKeys","keyupCallback","remove","scrollHeight","offsetHeight","scrollWidth","offsetWidth","overflowIsScrollable","style","getComputedStyle","overflow","overflowX","overflowY","makeUniqueId","prefix","Math","random","toString","substr","idIncrement","slice","slugify","matchAll","string","regex","from","matches","exec","isChildOfElement","element","callback","contains","parentElement","roundToNearest","num","diff","getClosestScrollViewElement","convertJsxToString","elements","separator","process","word","isValidElement","trim","convertStatusToStateOnly","status","state","getStatusState","combineLabelledBy","combineAriaBy","combineDescribedBy","type","findElementInChildren","find","result","some","escapeRegexChars","removeUndefinedProps"],"sources":["../../../src/shared/component-helper.js"],"sourcesContent":["/**\n * Component helpers\n *\n */\n\nimport React from 'react'\nimport keycode from 'keycode'\nimport whatInput from 'what-input'\nimport {\n warn,\n PLATFORM_MAC,\n PLATFORM_WIN,\n PLATFORM_LINUX,\n} from './helpers'\nimport { getPreviousSibling } from './helpers/getPreviousSibling'\nimport { init } from './Eufemia'\n\nexport { InteractionInvalidation } from './helpers/InteractionInvalidation'\nexport {\n extendPropsWithContext,\n extendPropsWithContextInClassComponent,\n} from './helpers/extendPropsWithContext'\nexport { useEventEmitter } from './helpers/useEventEmitter'\nexport { filterProps } from './helpers/filterProps'\n\nexport { getPreviousSibling, warn }\n\ninit()\n\n// run component helper functions\nwhatInput.specificKeys([9])\ndefineNavigator()\n\n/**\n * Check if device is touch device or not\n */\nexport function isTouchDevice() {\n if (typeof document !== 'undefined') {\n let intent = false\n try {\n intent = document.documentElement.getAttribute('data-whatintent')\n } catch (e) {\n //\n }\n return intent === 'touch'\n }\n return false\n}\n\nexport function defineNavigator() {\n const handleNavigator = () => {\n if (\n typeof document === 'undefined' ||\n typeof window === 'undefined' ||\n typeof navigator === 'undefined'\n ) {\n return\n }\n\n try {\n if (!(typeof window !== 'undefined' && window.IS_TEST)) {\n if (navigator.platform.match(new RegExp(PLATFORM_MAC)) !== null) {\n document.documentElement.setAttribute('data-os', 'mac')\n } else if (\n navigator.platform.match(new RegExp(PLATFORM_WIN)) !== null\n ) {\n document.documentElement.setAttribute('data-os', 'win')\n } else if (\n navigator.platform.match(new RegExp(PLATFORM_LINUX)) !== null\n ) {\n document.documentElement.setAttribute('data-os', 'linux')\n }\n } else {\n document.documentElement.setAttribute('data-os', 'other')\n }\n } catch (e) {\n warn(e)\n }\n\n document.removeEventListener('DOMContentLoaded', handleNavigator)\n }\n\n if (\n typeof document !== 'undefined' &&\n document.readyState === 'loading'\n ) {\n document.addEventListener('DOMContentLoaded', handleNavigator)\n } else {\n handleNavigator()\n }\n}\n\nexport const validateDOMAttributes = (props, params) => {\n // if there is an \"attributes\" prop, prepare these\n // mostly used for prop example usage\n if (props && props.attributes) {\n let attr = props.attributes\n if (attr) {\n if (attr[0] === '{') {\n attr = JSON.parse(attr)\n }\n if (attr && typeof attr === 'object') {\n Object.entries(attr).forEach(([key, value]) => {\n Object.assign(params, { [key]: value })\n })\n }\n delete params.attributes\n }\n }\n\n // remove disabled, in case it is false (this is for web components support)\n if (params.disabled === null || params.disabled === 'false') {\n delete params.disabled\n }\n if (typeof params.space !== 'undefined') {\n delete params.space\n }\n if (typeof params.top !== 'undefined') {\n delete params.top\n }\n if (typeof params.right !== 'undefined') {\n delete params.right\n }\n if (typeof params.bottom !== 'undefined') {\n delete params.bottom\n }\n if (typeof params.left !== 'undefined') {\n delete params.left\n }\n if (typeof params.no_collapse !== 'undefined') {\n delete params.no_collapse\n }\n if (typeof params.innerSpace !== 'undefined') {\n delete params.innerSpace\n }\n\n // in case disabled is a string, it its enabled, send it in as a true (this is for web components support)\n else if (params.disabled === 'true') {\n params.disabled = true\n }\n if (params.disabled === true) {\n params['aria-disabled'] = true\n }\n\n if (props && props.tabindex) {\n let tabIndex = props.tabindex\n if (tabIndex === 'off') {\n tabIndex = '-1'\n }\n params['tabIndex'] = tabIndex\n }\n\n // make sure we don't return a render prop as a DOM attribute\n if (params && typeof params === 'object') {\n for (const i in params) {\n if (\n // is React\n typeof params[i] === 'function' &&\n // only React Style props, like onClick are allowed\n !/(^[a-z]{1,}[A-Z]{1})/.test(i)\n ) {\n delete params[i]\n\n // filter out invalid attributes\n } else if (\n // we don't want NULL values\n params[i] === null ||\n // we don't want\n /[^a-z-]/i.test(i)\n // (typeof params[i] !== 'string' && /[^a-z-]/i.test(i))\n ) {\n delete params[i]\n }\n }\n }\n\n return params\n}\n\nexport const processChildren = (props) => {\n if (!props) {\n return null\n }\n\n // If used in WB, call functions who starts with \"render_\"\n if (\n typeof global !== 'undefined' &&\n Array.isArray(global.registeredElements) &&\n global.registeredElements.length > 0\n ) {\n let cache = null\n Object.entries(props)\n .reverse()\n .map(([key, cb]) => {\n if (key.includes('render_') && /^render_/.test(key)) {\n if (typeof cb === 'function') {\n if (cache) {\n if (Object.isFrozen(props)) {\n props = { ...props }\n }\n props.children = cache\n }\n return (cache = (\n <React.Fragment key={key}>{cb(props)}</React.Fragment>\n ))\n }\n }\n\n return null\n })\n .filter(Boolean)\n if (cache) {\n return cache\n }\n }\n\n const res =\n typeof props.children === 'function'\n ? props.children(props)\n : props.children\n\n // if we get several react children which represents only a text\n if (Array.isArray(res)) {\n const onlyTexts = res.reduce((pV, cV) => {\n if (typeof cV === 'string' || typeof cV === 'number') {\n pV.push(cV)\n }\n return pV\n }, [])\n\n // if there was one or more text elements\n if (onlyTexts.length === res.length && onlyTexts.length > 0) {\n return onlyTexts.join('')\n }\n }\n\n return res\n}\n\n// extends given objects recursively and removes entries with null values\n// makes sure that we by default return a totally new object every time\nexport const extend = (...objects) => {\n let first = {}\n const keepRef = objects[0]\n\n if (keepRef === true || keepRef === false) {\n // remove settings value\n objects.shift()\n\n if (keepRef) {\n // by extracting the first, we keep the same main object reference\n first = objects.shift()\n }\n }\n\n return objects.reduce((acc1, object) => {\n if (object) {\n acc1 = Object.assign(\n acc1,\n Object.entries(object).reduce((acc2, [key, value]) => {\n if (value !== null) {\n // go recursively\n if (typeof value === 'object') {\n value = extend(acc1[key] || {}, value)\n if (Object.keys(value).length > 0) {\n acc2[key] = value\n }\n } else {\n acc2[key] = value\n }\n }\n return acc2\n }, {})\n )\n }\n return acc1\n }, first)\n}\n\n// check if value is \"truthy\"\nexport const isTrue = (value) => {\n if (\n value !== null &&\n typeof value !== 'undefined' &&\n (String(value) === 'true' || String(value) === '1')\n ) {\n return true\n }\n return false\n}\n\nexport const dispatchCustomElementEvent = (\n src,\n eventName,\n eventObjectOrig\n) => {\n let ret = undefined\n\n const eventObject = {\n ...((eventObjectOrig && eventObjectOrig.event) || {}),\n ...eventObjectOrig,\n }\n\n // distribute dataset like \"data-*\" to both currentTarget and target\n if (eventObject && eventObject.attributes && eventObject.event) {\n const currentTarget = eventObject.event.currentTarget\n if (currentTarget) {\n try {\n // 1. create new dataset, and copy if exists\n const dataset = { ...(currentTarget.dataset || {}) }\n\n // 2. copy in our attributes if they are of \"data-\" type\n const attributes = { ...eventObject.attributes }\n for (const i in attributes) {\n if (/^data-/.test(i)) {\n dataset[String(i).replace(/^data-/, '')] = attributes[i]\n }\n }\n\n // 3. and distribute them to the targets. Use the for method because of immutability\n for (const i in dataset) {\n if (eventObject.event.currentTarget.dataset) {\n eventObject.event.currentTarget.dataset[i] = dataset[i]\n }\n if (\n eventObject.event.target &&\n eventObject.event.target.dataset\n ) {\n eventObject.event.target.dataset[i] = dataset[i]\n }\n }\n } catch (e) {\n warn('Error on handling dataset:', e)\n }\n }\n }\n\n const props = (src && src.props) || src\n\n // call the default snake case event\n if (eventName.includes('_')) {\n if (typeof props[eventName] === 'function') {\n const r = props[eventName].apply(src, [eventObject])\n if (typeof r !== 'undefined') {\n ret = r\n }\n }\n\n // call Synthetic React event camelCase naming events\n eventName = toCamelCase(eventName)\n if (typeof props[eventName] === 'function') {\n const r = props[eventName].apply(src, [eventObject])\n if (typeof r !== 'undefined') {\n ret = r\n }\n }\n } else {\n if (typeof props[eventName] === 'function') {\n const r = props[eventName].apply(src, [eventObject])\n if (typeof r !== 'undefined') {\n ret = r\n }\n }\n\n // call (in future deprecated) event snake case naming events\n eventName = toSnakeCase(eventName)\n if (typeof props[eventName] === 'function') {\n const r = props[eventName].apply(src, [eventObject])\n if (typeof r !== 'undefined') {\n ret = r\n }\n }\n }\n\n return ret\n}\n\n// transform on_click to onClick\nexport const toCamelCase = (s) =>\n s\n .split(/_/g)\n .reduce(\n (acc, cur, i) =>\n acc +\n (i === 0\n ? cur\n : cur.replace(\n /(\\w)(\\w*)/g,\n (g0, g1, g2) => g1.toUpperCase() + g2.toLowerCase()\n )),\n ''\n )\n\n// TODO: Test if this solution is faster\n// const toCamelCase = (str) =>\n// str.replace(/([-_][a-z])/g, (group) =>\n// group.toUpperCase().replace('-', '').replace('_', '')\n// )\n\n// transform my_component to MyComponent\nexport const toPascalCase = (s) =>\n s\n .split(/_/g)\n .reduce(\n (acc, cur) =>\n acc +\n cur.replace(\n /(\\w)(\\w*)/g,\n (g0, g1, g2) => g1.toUpperCase() + g2.toLowerCase()\n ),\n ''\n )\n\n// transform MyComponent to my_component\nexport const toSnakeCase = (str) =>\n str.replace(/\\B[A-Z]/g, (letter) => `_${letter}`).toLowerCase()\n\n// transform MyComponent to my-component\nexport const toKebabCase = (str) =>\n str.replace(/\\B[A-Z]/g, (letter) => `-${letter}`).toLowerCase()\n\nexport function toCapitalized(str) {\n return str\n .toLowerCase()\n .replace(/(?<=(^|\\s))(.)/g, (l) => l.toUpperCase())\n}\n\n/**\n * [detectOutsideClick Detects a click outside a given DOM element]\n * @param {[type]} ignoreElement [The element we want to protect from a click]\n * @param {[type]} onSuccess [Will be called on outside click]\n * @return {[type]} [void]\n */\nexport const detectOutsideClick = (ignoreElements, onSuccess, options) =>\n new DetectOutsideClickClass(ignoreElements, onSuccess, options)\n\n// Used by detectOutsideClick\nexport class DetectOutsideClickClass {\n constructor(ignoreElements, onSuccess, options = {}) {\n if (\n !this.handleClickOutside &&\n typeof document !== 'undefined' &&\n typeof window !== 'undefined'\n ) {\n if (!Array.isArray(ignoreElements)) {\n ignoreElements = [ignoreElements]\n }\n this.handleClickOutside = (event) => {\n this.checkOutsideClick(\n {\n event,\n ignoreElements,\n },\n () => typeof onSuccess === 'function' && onSuccess({ event })\n )\n }\n document.addEventListener('mousedown', this.handleClickOutside)\n\n this.keydownCallback = (event) => {\n const keyCode = keycode(event)\n if (keyCode === 'esc') {\n window.removeEventListener('keydown', this.keydownCallback)\n if (typeof onSuccess === 'function') {\n onSuccess({ event })\n }\n }\n }\n window.addEventListener('keydown', this.keydownCallback)\n\n // e.g. includedKeys = ['tab']\n if (options.includedKeys) {\n // use keyup so we get the correct new target\n this.keyupCallback = (event) => {\n const keyCode = keycode(event)\n if (\n options.includedKeys.includes(keyCode) &&\n typeof this.handleClickOutside === 'function'\n ) {\n this.handleClickOutside(event, () => {\n if (this.keyupCallback)\n window.removeEventListener('keyup', this.keyupCallback)\n })\n }\n }\n window.addEventListener('keyup', this.keyupCallback)\n }\n }\n }\n\n remove() {\n if (this.handleClickOutside && typeof document !== 'undefined') {\n document.removeEventListener('mousedown', this.handleClickOutside)\n this.handleClickOutside = null\n }\n if (this.keydownCallback && typeof window !== 'undefined') {\n window.removeEventListener('keydown', this.keydownCallback)\n this.keydownCallback = null\n }\n if (this.keyupCallback && typeof window !== 'undefined') {\n window.removeEventListener('keyup', this.keyupCallback)\n this.keyupCallback = null\n }\n }\n\n checkOutsideClick = ({ event, ignoreElements }, onSuccess = null) => {\n try {\n const currentElement = event.target\n\n // we also check if currentElement is documentElement\n // and if it has scrollbars, we then ignore the click\n if (\n currentElement?.tagName === 'HTML' &&\n (event.pageX > document.documentElement.clientWidth - 40 ||\n event.pageY > document.documentElement.clientHeight - 40)\n ) {\n return // stop here\n }\n\n // check if element has e.g. \"overflow: scroll\"\n if (checkIfHasScrollbar(currentElement)) {\n return // stop here\n }\n\n // check the rest\n for (let i = 0, elem, l = ignoreElements.length; i < l; ++i) {\n elem = currentElement\n if (!ignoreElements[i]) {\n continue\n }\n do {\n if (elem === ignoreElements[i]) {\n return // stop here\n }\n elem = elem && elem.parentNode\n } while (elem)\n }\n\n if (typeof onSuccess === 'function') {\n onSuccess()\n }\n } catch (e) {\n warn(e)\n }\n }\n}\n\nexport const checkIfHasScrollbar = (elem) => {\n return (\n elem &&\n (elem.scrollHeight > elem.offsetHeight ||\n elem.scrollWidth > elem.offsetWidth) &&\n overflowIsScrollable(elem)\n )\n}\nconst overflowIsScrollable = (elem) => {\n const style =\n typeof window !== 'undefined' ? window.getComputedStyle(elem) : {}\n return /scroll|auto/i.test(\n (style.overflow || '') +\n (style.overflowX || '') +\n (style.overflowY || '')\n )\n}\n\nexport const makeUniqueId = (prefix = 'id-', length = 8) =>\n prefix +\n String(\n Math.random().toString(36).substr(2, length) + idIncrement++\n ).slice(-length)\nlet idIncrement = 0\n\nexport const slugify = (s) =>\n String(s)\n .toLowerCase()\n .replace(/[^\\w\\s-]/g, '')\n .replace(/[\\s_-]+/g, '-')\n .replace(/^-+|-+$/g, '')\n\n// NB: in future we can use String.matchAll() instead\nexport const matchAll = (string, regex) => {\n if (typeof string.matchAll === 'function') {\n return Array.from(string.matchAll(regex))\n }\n const matches = []\n let match\n while ((match = regex.exec(string))) {\n matches.push(match)\n }\n return matches\n}\n\n/**\n * Check if an element exists in its children\n * If it finds it, the child \"element\" of target will be returned.\n *\n * @param {HTMLElement} element The DOM Element to find\n * @param {HTMLElement} target The DOM Element that should contain \"element\"\n * @param {function} callback (optional)\n * @returns {HTMLElement | null} Returns the found child of all existing dom elements inside of \"target\"\n */\nexport const isChildOfElement = (element, target, callback = null) => {\n try {\n const contains = (element) => {\n if (callback) {\n const res = callback(element)\n if (res) {\n return element\n }\n }\n return element && element === target\n }\n\n if (contains(element)) {\n return element\n }\n\n while (\n (element = element && element.parentElement) &&\n !contains(element)\n );\n } catch (e) {\n //\n }\n\n return element\n}\n\n// Round number to nearest target number\nexport const roundToNearest = (num, target) => {\n const diff = num % target\n return diff > target / 2 ? num - diff + target : num - diff\n}\n\nexport const getClosestScrollViewElement = (currentElement) => {\n return getPreviousSibling('.dnb-scroll-view', currentElement)\n}\n\nexport const convertJsxToString = (elements, separator = undefined) => {\n if (!Array.isArray(elements)) {\n elements = [elements]\n }\n\n const process = (word) => {\n if (React.isValidElement(word)) {\n if (typeof word.props.children === 'string') {\n word = word.props.children.trim()\n } else if (Array.isArray(word.props.children)) {\n word = word.props.children.reduce((acc, word) => {\n if (typeof word !== 'string') {\n word = process(word)\n }\n if (typeof word === 'string') {\n acc = (acc + (separator || '') + word).trim()\n }\n return acc\n }, '')\n } else {\n return null\n }\n }\n\n return word\n }\n\n return elements\n .map((word) => process(word))\n .filter(Boolean)\n .join(separator)\n .trim()\n}\n\nexport function convertStatusToStateOnly(status, state) {\n return status ? state : null\n}\n\nexport function getStatusState(status) {\n return (\n status && status !== 'error' && status !== 'warn' && status !== 'info'\n )\n}\n\nexport function combineLabelledBy(...params) {\n return combineAriaBy('aria-labelledby', params)\n}\nexport function combineDescribedBy(...params) {\n return combineAriaBy('aria-describedby', params)\n}\nfunction combineAriaBy(type, params) {\n params = params.map((cur) => {\n if (cur && params.includes(cur[type])) {\n return null\n }\n if (cur && typeof cur[type] !== 'undefined') {\n cur = cur[type]\n }\n if (typeof cur !== 'string') {\n cur = null\n }\n return cur\n })\n params = params.filter(Boolean).join(' ')\n if (params === '') {\n params = undefined\n }\n return params\n}\n\nexport function findElementInChildren(children, find) {\n if (!Array.isArray(children)) {\n children = [children]\n }\n\n let result = null\n children.some((cur) => {\n if (cur && cur.props && cur.props.children) {\n const res = findElementInChildren(cur.props.children, find)\n if (res) {\n return (result = res)\n }\n }\n if (React.isValidElement(cur) && find(cur)) {\n return (result = cur)\n }\n return null\n })\n\n return result\n}\n\nexport function escapeRegexChars(str) {\n return str.replace(/[-[\\]{}()*+?.,\\\\^$|#]/g, '\\\\$&')\n}\n\nexport function removeUndefinedProps(object) {\n Object.keys(object).forEach((key) => {\n if (object[key] === undefined) {\n delete object[key]\n }\n })\n return object\n}\n"],"mappings":"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"}