@dnb/eufemia 10.18.0 → 10.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (729) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/cjs/components/AriaLive.d.ts +12 -0
  3. package/cjs/components/AriaLive.js +24 -0
  4. package/cjs/components/AriaLive.js.map +1 -0
  5. package/cjs/components/aria-live/AriaLive.d.ts +6 -0
  6. package/cjs/components/aria-live/AriaLive.js +23 -0
  7. package/cjs/components/aria-live/AriaLive.js.map +1 -0
  8. package/cjs/components/aria-live/index.d.ts +7 -0
  9. package/cjs/components/aria-live/index.js +24 -0
  10. package/cjs/components/aria-live/index.js.map +1 -0
  11. package/cjs/components/aria-live/types.d.ts +44 -0
  12. package/cjs/components/aria-live/types.js +1 -0
  13. package/cjs/components/aria-live/types.js.map +1 -0
  14. package/cjs/components/aria-live/useAriaLive.d.ts +273 -0
  15. package/cjs/components/aria-live/useAriaLive.js +84 -0
  16. package/cjs/components/aria-live/useAriaLive.js.map +1 -0
  17. package/cjs/components/autocomplete/Autocomplete.d.ts +0 -1
  18. package/cjs/components/autocomplete/Autocomplete.js +24 -46
  19. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  20. package/cjs/components/breadcrumb/Breadcrumb.js +13 -19
  21. package/cjs/components/breadcrumb/Breadcrumb.js.map +1 -1
  22. package/cjs/components/breadcrumb/BreadcrumbItem.js +11 -5
  23. package/cjs/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  24. package/cjs/components/breadcrumb/BreadcrumbMultiple.js +1 -1
  25. package/cjs/components/breadcrumb/BreadcrumbMultiple.js.map +1 -1
  26. package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +13 -3
  27. package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  28. package/cjs/components/breadcrumb/style/dnb-breadcrumb.scss +15 -3
  29. package/cjs/components/date-picker/DatePicker.d.ts +3 -0
  30. package/cjs/components/date-picker/DatePickerProvider.js +6 -2
  31. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  32. package/cjs/components/flex/Container.d.ts +4 -2
  33. package/cjs/components/flex/Container.js +28 -9
  34. package/cjs/components/flex/Container.js.map +1 -1
  35. package/cjs/components/flex/style/dnb-flex.css +3 -3
  36. package/cjs/components/flex/style/dnb-flex.min.css +1 -1
  37. package/cjs/components/flex/style/flex-container.scss +3 -7
  38. package/cjs/components/index.d.ts +2 -1
  39. package/cjs/components/index.js +7 -0
  40. package/cjs/components/index.js.map +1 -1
  41. package/cjs/components/input/Input.js +0 -3
  42. package/cjs/components/input/Input.js.map +1 -1
  43. package/cjs/components/input-masked/MultiInputMask.d.ts +1 -1
  44. package/cjs/components/input-masked/MultiInputMask.js +52 -41
  45. package/cjs/components/input-masked/MultiInputMask.js.map +1 -1
  46. package/cjs/components/lib.d.ts +3 -1
  47. package/cjs/components/lib.js +8 -0
  48. package/cjs/components/lib.js.map +1 -1
  49. package/cjs/components/number-format/NumberUtils.d.ts +8 -2
  50. package/cjs/components/number-format/useNumberFormat.d.ts +1 -1
  51. package/cjs/components/section/Section.d.ts +6 -3
  52. package/cjs/components/section/Section.js.map +1 -1
  53. package/cjs/components/section/style/dnb-section.css +1 -0
  54. package/cjs/components/section/style/dnb-section.min.css +1 -1
  55. package/cjs/components/section/style/dnb-section.scss +1 -0
  56. package/cjs/components/space/SpacingUtils.js +5 -1
  57. package/cjs/components/space/SpacingUtils.js.map +1 -1
  58. package/cjs/components/table/TableAccordion.js +1 -1
  59. package/cjs/components/table/TableAccordion.js.map +1 -1
  60. package/cjs/components/textarea/Textarea.d.ts +5 -0
  61. package/cjs/components/textarea/Textarea.js +16 -3
  62. package/cjs/components/textarea/Textarea.js.map +1 -1
  63. package/cjs/components/textarea/style/dnb-textarea.css +10 -3
  64. package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
  65. package/cjs/components/textarea/style/dnb-textarea.scss +13 -3
  66. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.css +15 -2
  67. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  68. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.scss +15 -2
  69. package/cjs/extensions/forms/DataContext/Provider/Provider.js +13 -3
  70. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  71. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -1
  72. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  73. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +2 -2
  74. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +2 -2
  75. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  76. package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  77. package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  78. package/cjs/extensions/forms/Field/Currency/Currency.d.ts +2 -2
  79. package/cjs/extensions/forms/Field/Currency/Currency.js.map +1 -1
  80. package/cjs/extensions/forms/Field/Date/Date.js +5 -2
  81. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  82. package/cjs/extensions/forms/Field/Email/Email.d.ts +2 -2
  83. package/cjs/extensions/forms/Field/Email/Email.js +2 -2
  84. package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
  85. package/cjs/extensions/forms/Field/Expiry/Expiry.js +14 -13
  86. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  87. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
  88. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +2 -2
  89. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  90. package/cjs/extensions/forms/Field/Number/Number.js +14 -12
  91. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  92. package/cjs/extensions/forms/Field/Number/style/dnb-number.css +0 -6
  93. package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  94. package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +0 -1
  95. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +4 -0
  96. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +1 -1
  97. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +7 -0
  98. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +4 -0
  99. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +1 -1
  100. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +9 -0
  101. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +2 -2
  102. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +2 -2
  103. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  104. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
  105. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +12 -5
  106. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  107. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
  108. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  109. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +6 -3
  110. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  111. package/cjs/extensions/forms/Field/Selection/Selection.js +12 -7
  112. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  113. package/cjs/extensions/forms/Field/String/String.d.ts +3 -1
  114. package/cjs/extensions/forms/Field/String/String.js +12 -6
  115. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  116. package/cjs/extensions/forms/Field/Toggle/Toggle.js +16 -12
  117. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  118. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
  119. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +9 -4
  120. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  121. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -0
  122. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  123. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +4 -0
  124. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.css +4 -0
  125. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.min.css +1 -0
  126. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.scss +6 -0
  127. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.css +4 -0
  128. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.min.css +1 -0
  129. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.scss +6 -0
  130. package/cjs/extensions/forms/Form/hooks/useData.js +12 -9
  131. package/cjs/extensions/forms/Form/hooks/useData.js.map +1 -1
  132. package/cjs/extensions/forms/Iterate/Array/Array.js +3 -1
  133. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  134. package/cjs/extensions/forms/Value/BankAccountNumber/BankAccountNumber.d.ts +2 -2
  135. package/cjs/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js.map +1 -1
  136. package/cjs/extensions/forms/Value/Currency/Currency.d.ts +2 -2
  137. package/cjs/extensions/forms/Value/Currency/Currency.js.map +1 -1
  138. package/cjs/extensions/forms/Value/Date/Date.d.ts +2 -2
  139. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  140. package/cjs/extensions/forms/Value/Email/Email.d.ts +2 -2
  141. package/cjs/extensions/forms/Value/Email/Email.js.map +1 -1
  142. package/cjs/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
  143. package/cjs/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  144. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.d.ts +2 -2
  145. package/cjs/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  146. package/cjs/extensions/forms/hooks/useDataValue.d.ts +4 -0
  147. package/cjs/extensions/forms/hooks/useDataValue.js +12 -8
  148. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  149. package/cjs/extensions/forms/style/dnb-forms.css +3 -6
  150. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  151. package/cjs/extensions/forms/types.d.ts +4 -2
  152. package/cjs/extensions/forms/types.js.map +1 -1
  153. package/cjs/fragments/TextCounter.d.ts +12 -0
  154. package/cjs/fragments/TextCounter.js +24 -0
  155. package/cjs/fragments/TextCounter.js.map +1 -0
  156. package/cjs/fragments/drawer-list/DrawerListHelpers.js +1 -0
  157. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  158. package/cjs/fragments/index.d.ts +2 -1
  159. package/cjs/fragments/index.js +7 -0
  160. package/cjs/fragments/index.js.map +1 -1
  161. package/cjs/fragments/lib.d.ts +3 -1
  162. package/cjs/fragments/lib.js +9 -1
  163. package/cjs/fragments/lib.js.map +1 -1
  164. package/cjs/fragments/text-counter/TextCounter.d.ts +8 -0
  165. package/cjs/fragments/text-counter/TextCounter.js +61 -0
  166. package/cjs/fragments/text-counter/TextCounter.js.map +1 -0
  167. package/cjs/fragments/text-counter/index.d.ts +5 -0
  168. package/cjs/fragments/text-counter/index.js +17 -0
  169. package/cjs/fragments/text-counter/index.js.map +1 -0
  170. package/cjs/fragments/text-counter/style/dnb-text-counter.scss +15 -0
  171. package/cjs/fragments/text-counter/style/index.d.ts +1 -0
  172. package/cjs/fragments/text-counter/style/index.js +4 -0
  173. package/cjs/fragments/text-counter/style/index.js.map +1 -0
  174. package/cjs/fragments/text-counter/style/themes/dnb-text-counter-theme-sbanken.scss +8 -0
  175. package/cjs/fragments/text-counter/style/themes/dnb-text-counter-theme-ui.scss +8 -0
  176. package/cjs/fragments/text-counter/style/themes/ui.d.ts +1 -0
  177. package/cjs/fragments/text-counter/style/themes/ui.js +4 -0
  178. package/cjs/fragments/text-counter/style/themes/ui.js.map +1 -0
  179. package/cjs/fragments/text-counter/style.d.ts +5 -0
  180. package/cjs/fragments/text-counter/style.js +4 -0
  181. package/cjs/fragments/text-counter/style.js.map +1 -0
  182. package/cjs/index.d.ts +2 -1
  183. package/cjs/index.js +7 -0
  184. package/cjs/index.js.map +1 -1
  185. package/cjs/shared/Eufemia.d.ts +1 -1
  186. package/cjs/shared/Eufemia.js +2 -2
  187. package/cjs/shared/Eufemia.js.map +1 -1
  188. package/cjs/shared/helpers/useSharedState.d.ts +8 -6
  189. package/cjs/shared/helpers/useSharedState.js +45 -26
  190. package/cjs/shared/helpers/useSharedState.js.map +1 -1
  191. package/cjs/shared/locales/en-GB.d.ts +6 -0
  192. package/cjs/shared/locales/en-GB.js +8 -2
  193. package/cjs/shared/locales/en-GB.js.map +1 -1
  194. package/cjs/shared/locales/en-US.d.ts +6 -0
  195. package/cjs/shared/locales/index.d.ts +12 -0
  196. package/cjs/shared/locales/nb-NO.d.ts +6 -0
  197. package/cjs/shared/locales/nb-NO.js +6 -0
  198. package/cjs/shared/locales/nb-NO.js.map +1 -1
  199. package/cjs/style/dnb-ui-components.css +40 -15
  200. package/cjs/style/dnb-ui-components.min.css +3 -3
  201. package/cjs/style/dnb-ui-extensions.css +3 -6
  202. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  203. package/cjs/style/dnb-ui-forms.css +3 -6
  204. package/cjs/style/dnb-ui-forms.min.css +1 -1
  205. package/cjs/style/dnb-ui-fragments.css +10 -0
  206. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  207. package/cjs/style/dnb-ui-fragments.scss +1 -0
  208. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +74 -23
  209. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  210. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
  211. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +12 -6
  212. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  213. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  214. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +12 -6
  215. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  216. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  217. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +59 -21
  218. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  219. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -0
  220. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +12 -6
  221. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  222. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  223. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +12 -6
  224. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  225. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  226. package/cjs/style/themes/theme-ui/ui-theme-components.css +74 -23
  227. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  228. package/cjs/style/themes/theme-ui/ui-theme-components.scss +1 -0
  229. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +12 -6
  230. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  231. package/cjs/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  232. package/cjs/style/themes/theme-ui/ui-theme-forms.css +12 -6
  233. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  234. package/cjs/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  235. package/components/AriaLive.d.ts +12 -0
  236. package/components/AriaLive.js +4 -0
  237. package/components/AriaLive.js.map +1 -0
  238. package/components/aria-live/AriaLive.d.ts +6 -0
  239. package/components/aria-live/AriaLive.js +15 -0
  240. package/components/aria-live/AriaLive.js.map +1 -0
  241. package/components/aria-live/index.d.ts +7 -0
  242. package/components/aria-live/index.js +4 -0
  243. package/components/aria-live/index.js.map +1 -0
  244. package/components/aria-live/types.d.ts +44 -0
  245. package/components/aria-live/types.js +1 -0
  246. package/components/aria-live/types.js.map +1 -0
  247. package/components/aria-live/useAriaLive.d.ts +273 -0
  248. package/components/aria-live/useAriaLive.js +75 -0
  249. package/components/aria-live/useAriaLive.js.map +1 -0
  250. package/components/autocomplete/Autocomplete.d.ts +0 -1
  251. package/components/autocomplete/Autocomplete.js +24 -46
  252. package/components/autocomplete/Autocomplete.js.map +1 -1
  253. package/components/breadcrumb/Breadcrumb.js +14 -20
  254. package/components/breadcrumb/Breadcrumb.js.map +1 -1
  255. package/components/breadcrumb/BreadcrumbItem.js +11 -5
  256. package/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  257. package/components/breadcrumb/BreadcrumbMultiple.js +1 -1
  258. package/components/breadcrumb/BreadcrumbMultiple.js.map +1 -1
  259. package/components/breadcrumb/style/dnb-breadcrumb.css +13 -3
  260. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  261. package/components/breadcrumb/style/dnb-breadcrumb.scss +15 -3
  262. package/components/date-picker/DatePicker.d.ts +3 -0
  263. package/components/date-picker/DatePickerProvider.js +6 -2
  264. package/components/date-picker/DatePickerProvider.js.map +1 -1
  265. package/components/flex/Container.d.ts +4 -2
  266. package/components/flex/Container.js +26 -9
  267. package/components/flex/Container.js.map +1 -1
  268. package/components/flex/style/dnb-flex.css +3 -3
  269. package/components/flex/style/dnb-flex.min.css +1 -1
  270. package/components/flex/style/flex-container.scss +3 -7
  271. package/components/index.d.ts +2 -1
  272. package/components/index.js +2 -1
  273. package/components/index.js.map +1 -1
  274. package/components/input/Input.js +0 -3
  275. package/components/input/Input.js.map +1 -1
  276. package/components/input-masked/MultiInputMask.d.ts +1 -1
  277. package/components/input-masked/MultiInputMask.js +52 -41
  278. package/components/input-masked/MultiInputMask.js.map +1 -1
  279. package/components/lib.d.ts +3 -1
  280. package/components/lib.js +3 -1
  281. package/components/lib.js.map +1 -1
  282. package/components/number-format/NumberUtils.d.ts +8 -2
  283. package/components/number-format/useNumberFormat.d.ts +1 -1
  284. package/components/section/Section.d.ts +6 -3
  285. package/components/section/Section.js.map +1 -1
  286. package/components/section/style/dnb-section.css +1 -0
  287. package/components/section/style/dnb-section.min.css +1 -1
  288. package/components/section/style/dnb-section.scss +1 -0
  289. package/components/space/SpacingUtils.js +5 -1
  290. package/components/space/SpacingUtils.js.map +1 -1
  291. package/components/table/TableAccordion.js +1 -1
  292. package/components/table/TableAccordion.js.map +1 -1
  293. package/components/textarea/Textarea.d.ts +5 -0
  294. package/components/textarea/Textarea.js +16 -3
  295. package/components/textarea/Textarea.js.map +1 -1
  296. package/components/textarea/style/dnb-textarea.css +10 -3
  297. package/components/textarea/style/dnb-textarea.min.css +1 -1
  298. package/components/textarea/style/dnb-textarea.scss +13 -3
  299. package/components/textarea/style/themes/dnb-textarea-theme-ui.css +15 -2
  300. package/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  301. package/components/textarea/style/themes/dnb-textarea-theme-ui.scss +15 -2
  302. package/es/components/AriaLive.d.ts +12 -0
  303. package/es/components/AriaLive.js +4 -0
  304. package/es/components/AriaLive.js.map +1 -0
  305. package/es/components/aria-live/AriaLive.d.ts +6 -0
  306. package/es/components/aria-live/AriaLive.js +15 -0
  307. package/es/components/aria-live/AriaLive.js.map +1 -0
  308. package/es/components/aria-live/index.d.ts +7 -0
  309. package/es/components/aria-live/index.js +4 -0
  310. package/es/components/aria-live/index.js.map +1 -0
  311. package/es/components/aria-live/types.d.ts +44 -0
  312. package/es/components/aria-live/types.js +1 -0
  313. package/es/components/aria-live/types.js.map +1 -0
  314. package/es/components/aria-live/useAriaLive.d.ts +273 -0
  315. package/es/components/aria-live/useAriaLive.js +75 -0
  316. package/es/components/aria-live/useAriaLive.js.map +1 -0
  317. package/es/components/autocomplete/Autocomplete.d.ts +0 -1
  318. package/es/components/autocomplete/Autocomplete.js +24 -46
  319. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  320. package/es/components/breadcrumb/Breadcrumb.js +14 -20
  321. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  322. package/es/components/breadcrumb/BreadcrumbItem.js +11 -5
  323. package/es/components/breadcrumb/BreadcrumbItem.js.map +1 -1
  324. package/es/components/breadcrumb/BreadcrumbMultiple.js +1 -1
  325. package/es/components/breadcrumb/BreadcrumbMultiple.js.map +1 -1
  326. package/es/components/breadcrumb/style/dnb-breadcrumb.css +13 -3
  327. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  328. package/es/components/breadcrumb/style/dnb-breadcrumb.scss +15 -3
  329. package/es/components/date-picker/DatePicker.d.ts +3 -0
  330. package/es/components/date-picker/DatePickerProvider.js +6 -2
  331. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  332. package/es/components/flex/Container.d.ts +4 -2
  333. package/es/components/flex/Container.js +26 -9
  334. package/es/components/flex/Container.js.map +1 -1
  335. package/es/components/flex/style/dnb-flex.css +3 -3
  336. package/es/components/flex/style/dnb-flex.min.css +1 -1
  337. package/es/components/flex/style/flex-container.scss +3 -7
  338. package/es/components/index.d.ts +2 -1
  339. package/es/components/index.js +2 -1
  340. package/es/components/index.js.map +1 -1
  341. package/es/components/input/Input.js +0 -3
  342. package/es/components/input/Input.js.map +1 -1
  343. package/es/components/input-masked/MultiInputMask.d.ts +1 -1
  344. package/es/components/input-masked/MultiInputMask.js +50 -39
  345. package/es/components/input-masked/MultiInputMask.js.map +1 -1
  346. package/es/components/lib.d.ts +3 -1
  347. package/es/components/lib.js +3 -1
  348. package/es/components/lib.js.map +1 -1
  349. package/es/components/number-format/NumberUtils.d.ts +8 -2
  350. package/es/components/number-format/useNumberFormat.d.ts +1 -1
  351. package/es/components/section/Section.d.ts +6 -3
  352. package/es/components/section/Section.js.map +1 -1
  353. package/es/components/section/style/dnb-section.css +1 -0
  354. package/es/components/section/style/dnb-section.min.css +1 -1
  355. package/es/components/section/style/dnb-section.scss +1 -0
  356. package/es/components/space/SpacingUtils.js +5 -1
  357. package/es/components/space/SpacingUtils.js.map +1 -1
  358. package/es/components/table/TableAccordion.js +1 -1
  359. package/es/components/table/TableAccordion.js.map +1 -1
  360. package/es/components/textarea/Textarea.d.ts +5 -0
  361. package/es/components/textarea/Textarea.js +16 -3
  362. package/es/components/textarea/Textarea.js.map +1 -1
  363. package/es/components/textarea/style/dnb-textarea.css +10 -3
  364. package/es/components/textarea/style/dnb-textarea.min.css +1 -1
  365. package/es/components/textarea/style/dnb-textarea.scss +13 -3
  366. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.css +15 -2
  367. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  368. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.scss +15 -2
  369. package/es/extensions/forms/DataContext/Provider/Provider.js +13 -3
  370. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  371. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +5 -3
  372. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  373. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +2 -2
  374. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +3 -3
  375. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  376. package/es/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  377. package/es/extensions/forms/Field/Boolean/Boolean.js +2 -2
  378. package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  379. package/es/extensions/forms/Field/Currency/Currency.d.ts +2 -2
  380. package/es/extensions/forms/Field/Currency/Currency.js +2 -2
  381. package/es/extensions/forms/Field/Currency/Currency.js.map +1 -1
  382. package/es/extensions/forms/Field/Date/Date.js +5 -2
  383. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  384. package/es/extensions/forms/Field/Email/Email.d.ts +2 -2
  385. package/es/extensions/forms/Field/Email/Email.js +3 -3
  386. package/es/extensions/forms/Field/Email/Email.js.map +1 -1
  387. package/es/extensions/forms/Field/Expiry/Expiry.js +15 -14
  388. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  389. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
  390. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -3
  391. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  392. package/es/extensions/forms/Field/Number/Number.js +14 -12
  393. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  394. package/es/extensions/forms/Field/Number/style/dnb-number.css +0 -6
  395. package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  396. package/es/extensions/forms/Field/Number/style/dnb-number.scss +0 -1
  397. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +4 -0
  398. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +1 -1
  399. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +7 -0
  400. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +4 -0
  401. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +1 -1
  402. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +9 -0
  403. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +2 -2
  404. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +3 -3
  405. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  406. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
  407. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +14 -7
  408. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  409. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
  410. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -3
  411. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  412. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +6 -3
  413. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  414. package/es/extensions/forms/Field/Selection/Selection.js +15 -10
  415. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  416. package/es/extensions/forms/Field/String/String.d.ts +3 -1
  417. package/es/extensions/forms/Field/String/String.js +12 -6
  418. package/es/extensions/forms/Field/String/String.js.map +1 -1
  419. package/es/extensions/forms/Field/Toggle/Toggle.js +16 -12
  420. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  421. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
  422. package/es/extensions/forms/FieldBlock/FieldBlock.js +9 -4
  423. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  424. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -0
  425. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  426. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +4 -0
  427. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.css +4 -0
  428. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.min.css +1 -0
  429. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.scss +6 -0
  430. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.css +4 -0
  431. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.min.css +1 -0
  432. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.scss +6 -0
  433. package/es/extensions/forms/Form/hooks/useData.js +13 -10
  434. package/es/extensions/forms/Form/hooks/useData.js.map +1 -1
  435. package/es/extensions/forms/Iterate/Array/Array.js +3 -1
  436. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  437. package/es/extensions/forms/Value/BankAccountNumber/BankAccountNumber.d.ts +2 -2
  438. package/es/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js +2 -2
  439. package/es/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js.map +1 -1
  440. package/es/extensions/forms/Value/Currency/Currency.d.ts +2 -2
  441. package/es/extensions/forms/Value/Currency/Currency.js +2 -2
  442. package/es/extensions/forms/Value/Currency/Currency.js.map +1 -1
  443. package/es/extensions/forms/Value/Date/Date.d.ts +2 -2
  444. package/es/extensions/forms/Value/Date/Date.js +2 -2
  445. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  446. package/es/extensions/forms/Value/Email/Email.d.ts +2 -2
  447. package/es/extensions/forms/Value/Email/Email.js +2 -2
  448. package/es/extensions/forms/Value/Email/Email.js.map +1 -1
  449. package/es/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
  450. package/es/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js +2 -2
  451. package/es/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  452. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.d.ts +2 -2
  453. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js +2 -2
  454. package/es/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  455. package/es/extensions/forms/hooks/useDataValue.d.ts +4 -0
  456. package/es/extensions/forms/hooks/useDataValue.js +11 -7
  457. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  458. package/es/extensions/forms/style/dnb-forms.css +3 -6
  459. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  460. package/es/extensions/forms/types.d.ts +4 -2
  461. package/es/extensions/forms/types.js.map +1 -1
  462. package/es/fragments/TextCounter.d.ts +12 -0
  463. package/es/fragments/TextCounter.js +4 -0
  464. package/es/fragments/TextCounter.js.map +1 -0
  465. package/es/fragments/drawer-list/DrawerListHelpers.js +1 -0
  466. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  467. package/es/fragments/index.d.ts +2 -1
  468. package/es/fragments/index.js +2 -1
  469. package/es/fragments/index.js.map +1 -1
  470. package/es/fragments/lib.d.ts +3 -1
  471. package/es/fragments/lib.js +4 -2
  472. package/es/fragments/lib.js.map +1 -1
  473. package/es/fragments/text-counter/TextCounter.d.ts +8 -0
  474. package/es/fragments/text-counter/TextCounter.js +52 -0
  475. package/es/fragments/text-counter/TextCounter.js.map +1 -0
  476. package/es/fragments/text-counter/index.d.ts +5 -0
  477. package/es/fragments/text-counter/index.js +1 -0
  478. package/es/fragments/text-counter/index.js.map +1 -0
  479. package/es/fragments/text-counter/style/dnb-text-counter.scss +15 -0
  480. package/es/fragments/text-counter/style/index.d.ts +1 -0
  481. package/es/fragments/text-counter/style/index.js +1 -0
  482. package/es/fragments/text-counter/style/index.js.map +1 -0
  483. package/es/fragments/text-counter/style/themes/dnb-text-counter-theme-sbanken.scss +8 -0
  484. package/es/fragments/text-counter/style/themes/dnb-text-counter-theme-ui.scss +8 -0
  485. package/es/fragments/text-counter/style/themes/ui.d.ts +1 -0
  486. package/es/fragments/text-counter/style/themes/ui.js +1 -0
  487. package/es/fragments/text-counter/style/themes/ui.js.map +1 -0
  488. package/es/fragments/text-counter/style.d.ts +5 -0
  489. package/es/fragments/text-counter/style.js +1 -0
  490. package/es/fragments/text-counter/style.js.map +1 -0
  491. package/es/index.d.ts +2 -1
  492. package/es/index.js +2 -1
  493. package/es/index.js.map +1 -1
  494. package/es/shared/Eufemia.d.ts +1 -1
  495. package/es/shared/Eufemia.js +2 -2
  496. package/es/shared/Eufemia.js.map +1 -1
  497. package/es/shared/helpers/useSharedState.d.ts +8 -6
  498. package/es/shared/helpers/useSharedState.js +43 -26
  499. package/es/shared/helpers/useSharedState.js.map +1 -1
  500. package/es/shared/locales/en-GB.d.ts +6 -0
  501. package/es/shared/locales/en-GB.js +8 -2
  502. package/es/shared/locales/en-GB.js.map +1 -1
  503. package/es/shared/locales/en-US.d.ts +6 -0
  504. package/es/shared/locales/index.d.ts +12 -0
  505. package/es/shared/locales/nb-NO.d.ts +6 -0
  506. package/es/shared/locales/nb-NO.js +6 -0
  507. package/es/shared/locales/nb-NO.js.map +1 -1
  508. package/es/style/dnb-ui-components.css +40 -15
  509. package/es/style/dnb-ui-components.min.css +3 -3
  510. package/es/style/dnb-ui-extensions.css +3 -6
  511. package/es/style/dnb-ui-extensions.min.css +1 -1
  512. package/es/style/dnb-ui-forms.css +3 -6
  513. package/es/style/dnb-ui-forms.min.css +1 -1
  514. package/es/style/dnb-ui-fragments.css +10 -0
  515. package/es/style/dnb-ui-fragments.min.css +1 -1
  516. package/es/style/dnb-ui-fragments.scss +1 -0
  517. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +74 -23
  518. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  519. package/es/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
  520. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +12 -6
  521. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  522. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  523. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +12 -6
  524. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  525. package/es/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  526. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +59 -21
  527. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  528. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -0
  529. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +12 -6
  530. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  531. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  532. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +12 -6
  533. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  534. package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  535. package/es/style/themes/theme-ui/ui-theme-components.css +74 -23
  536. package/es/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  537. package/es/style/themes/theme-ui/ui-theme-components.scss +1 -0
  538. package/es/style/themes/theme-ui/ui-theme-extensions.css +12 -6
  539. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  540. package/es/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  541. package/es/style/themes/theme-ui/ui-theme-forms.css +12 -6
  542. package/es/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  543. package/es/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  544. package/esm/dnb-ui-basis.min.mjs +1 -1
  545. package/esm/dnb-ui-components.min.mjs +1 -1
  546. package/esm/dnb-ui-elements.min.mjs +1 -1
  547. package/esm/dnb-ui-extensions.min.mjs +3 -3
  548. package/esm/dnb-ui-lib.min.mjs +1 -1
  549. package/extensions/forms/DataContext/Provider/Provider.js +13 -3
  550. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  551. package/extensions/forms/Field/ArraySelection/ArraySelection.js +5 -3
  552. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  553. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.d.ts +2 -2
  554. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +3 -3
  555. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  556. package/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  557. package/extensions/forms/Field/Boolean/Boolean.js +2 -2
  558. package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  559. package/extensions/forms/Field/Currency/Currency.d.ts +2 -2
  560. package/extensions/forms/Field/Currency/Currency.js +2 -2
  561. package/extensions/forms/Field/Currency/Currency.js.map +1 -1
  562. package/extensions/forms/Field/Date/Date.js +5 -2
  563. package/extensions/forms/Field/Date/Date.js.map +1 -1
  564. package/extensions/forms/Field/Email/Email.d.ts +2 -2
  565. package/extensions/forms/Field/Email/Email.js +3 -3
  566. package/extensions/forms/Field/Email/Email.js.map +1 -1
  567. package/extensions/forms/Field/Expiry/Expiry.js +15 -14
  568. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  569. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
  570. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +3 -3
  571. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  572. package/extensions/forms/Field/Number/Number.js +14 -12
  573. package/extensions/forms/Field/Number/Number.js.map +1 -1
  574. package/extensions/forms/Field/Number/style/dnb-number.css +0 -6
  575. package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  576. package/extensions/forms/Field/Number/style/dnb-number.scss +0 -1
  577. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +4 -0
  578. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +1 -1
  579. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +7 -0
  580. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +4 -0
  581. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +1 -1
  582. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +9 -0
  583. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.d.ts +2 -2
  584. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +3 -3
  585. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  586. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
  587. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +14 -7
  588. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  589. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
  590. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +3 -3
  591. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  592. package/extensions/forms/Field/SelectCountry/SelectCountry.js +6 -3
  593. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  594. package/extensions/forms/Field/Selection/Selection.js +15 -10
  595. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  596. package/extensions/forms/Field/String/String.d.ts +3 -1
  597. package/extensions/forms/Field/String/String.js +12 -6
  598. package/extensions/forms/Field/String/String.js.map +1 -1
  599. package/extensions/forms/Field/Toggle/Toggle.js +16 -12
  600. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  601. package/extensions/forms/FieldBlock/FieldBlock.d.ts +2 -2
  602. package/extensions/forms/FieldBlock/FieldBlock.js +9 -4
  603. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  604. package/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -0
  605. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  606. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +4 -0
  607. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.css +4 -0
  608. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.min.css +1 -0
  609. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.scss +6 -0
  610. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.css +4 -0
  611. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.min.css +1 -0
  612. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.scss +6 -0
  613. package/extensions/forms/Form/hooks/useData.js +13 -10
  614. package/extensions/forms/Form/hooks/useData.js.map +1 -1
  615. package/extensions/forms/Iterate/Array/Array.js +3 -1
  616. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  617. package/extensions/forms/Value/BankAccountNumber/BankAccountNumber.d.ts +2 -2
  618. package/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js +2 -2
  619. package/extensions/forms/Value/BankAccountNumber/BankAccountNumber.js.map +1 -1
  620. package/extensions/forms/Value/Currency/Currency.d.ts +2 -2
  621. package/extensions/forms/Value/Currency/Currency.js +2 -2
  622. package/extensions/forms/Value/Currency/Currency.js.map +1 -1
  623. package/extensions/forms/Value/Date/Date.d.ts +2 -2
  624. package/extensions/forms/Value/Date/Date.js +2 -2
  625. package/extensions/forms/Value/Date/Date.js.map +1 -1
  626. package/extensions/forms/Value/Email/Email.d.ts +2 -2
  627. package/extensions/forms/Value/Email/Email.js +2 -2
  628. package/extensions/forms/Value/Email/Email.js.map +1 -1
  629. package/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -2
  630. package/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js +2 -2
  631. package/extensions/forms/Value/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  632. package/extensions/forms/Value/PhoneNumber/PhoneNumber.d.ts +2 -2
  633. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js +2 -2
  634. package/extensions/forms/Value/PhoneNumber/PhoneNumber.js.map +1 -1
  635. package/extensions/forms/hooks/useDataValue.d.ts +4 -0
  636. package/extensions/forms/hooks/useDataValue.js +12 -8
  637. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  638. package/extensions/forms/style/dnb-forms.css +3 -6
  639. package/extensions/forms/style/dnb-forms.min.css +1 -1
  640. package/extensions/forms/types.d.ts +4 -2
  641. package/extensions/forms/types.js.map +1 -1
  642. package/fragments/TextCounter.d.ts +12 -0
  643. package/fragments/TextCounter.js +4 -0
  644. package/fragments/TextCounter.js.map +1 -0
  645. package/fragments/drawer-list/DrawerListHelpers.js +1 -0
  646. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  647. package/fragments/index.d.ts +2 -1
  648. package/fragments/index.js +2 -1
  649. package/fragments/index.js.map +1 -1
  650. package/fragments/lib.d.ts +3 -1
  651. package/fragments/lib.js +4 -2
  652. package/fragments/lib.js.map +1 -1
  653. package/fragments/text-counter/TextCounter.d.ts +8 -0
  654. package/fragments/text-counter/TextCounter.js +52 -0
  655. package/fragments/text-counter/TextCounter.js.map +1 -0
  656. package/fragments/text-counter/index.d.ts +5 -0
  657. package/fragments/text-counter/index.js +1 -0
  658. package/fragments/text-counter/index.js.map +1 -0
  659. package/fragments/text-counter/style/dnb-text-counter.scss +15 -0
  660. package/fragments/text-counter/style/index.d.ts +1 -0
  661. package/fragments/text-counter/style/index.js +1 -0
  662. package/fragments/text-counter/style/index.js.map +1 -0
  663. package/fragments/text-counter/style/themes/dnb-text-counter-theme-sbanken.scss +8 -0
  664. package/fragments/text-counter/style/themes/dnb-text-counter-theme-ui.scss +8 -0
  665. package/fragments/text-counter/style/themes/ui.d.ts +1 -0
  666. package/fragments/text-counter/style/themes/ui.js +1 -0
  667. package/fragments/text-counter/style/themes/ui.js.map +1 -0
  668. package/fragments/text-counter/style.d.ts +5 -0
  669. package/fragments/text-counter/style.js +1 -0
  670. package/fragments/text-counter/style.js.map +1 -0
  671. package/index.d.ts +2 -1
  672. package/index.js +2 -1
  673. package/index.js.map +1 -1
  674. package/package.json +1 -1
  675. package/shared/Eufemia.d.ts +1 -1
  676. package/shared/Eufemia.js +2 -2
  677. package/shared/Eufemia.js.map +1 -1
  678. package/shared/helpers/useSharedState.d.ts +8 -6
  679. package/shared/helpers/useSharedState.js +45 -26
  680. package/shared/helpers/useSharedState.js.map +1 -1
  681. package/shared/locales/en-GB.d.ts +6 -0
  682. package/shared/locales/en-GB.js +8 -2
  683. package/shared/locales/en-GB.js.map +1 -1
  684. package/shared/locales/en-US.d.ts +6 -0
  685. package/shared/locales/index.d.ts +12 -0
  686. package/shared/locales/nb-NO.d.ts +6 -0
  687. package/shared/locales/nb-NO.js +6 -0
  688. package/shared/locales/nb-NO.js.map +1 -1
  689. package/style/dnb-ui-components.css +40 -15
  690. package/style/dnb-ui-components.min.css +3 -3
  691. package/style/dnb-ui-extensions.css +3 -6
  692. package/style/dnb-ui-extensions.min.css +1 -1
  693. package/style/dnb-ui-forms.css +3 -6
  694. package/style/dnb-ui-forms.min.css +1 -1
  695. package/style/dnb-ui-fragments.css +10 -0
  696. package/style/dnb-ui-fragments.min.css +1 -1
  697. package/style/dnb-ui-fragments.scss +1 -0
  698. package/style/themes/theme-eiendom/eiendom-theme-components.css +74 -23
  699. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  700. package/style/themes/theme-eiendom/eiendom-theme-components.scss +1 -0
  701. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +12 -6
  702. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  703. package/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  704. package/style/themes/theme-eiendom/eiendom-theme-forms.css +12 -6
  705. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  706. package/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  707. package/style/themes/theme-sbanken/sbanken-theme-components.css +59 -21
  708. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  709. package/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -0
  710. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +12 -6
  711. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  712. package/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  713. package/style/themes/theme-sbanken/sbanken-theme-forms.css +12 -6
  714. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  715. package/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  716. package/style/themes/theme-ui/ui-theme-components.css +74 -23
  717. package/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  718. package/style/themes/theme-ui/ui-theme-components.scss +1 -0
  719. package/style/themes/theme-ui/ui-theme-extensions.css +12 -6
  720. package/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  721. package/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  722. package/style/themes/theme-ui/ui-theme-forms.css +12 -6
  723. package/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  724. package/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  725. package/umd/dnb-ui-basis.min.js +1 -1
  726. package/umd/dnb-ui-components.min.js +1 -1
  727. package/umd/dnb-ui-elements.min.js +1 -1
  728. package/umd/dnb-ui-extensions.min.js +3 -3
  729. package/umd/dnb-ui-lib.min.js +1 -1
@@ -17,7 +17,6 @@ var _SkeletonHelper = require("../skeleton/SkeletonHelper");
17
17
  var _SpacingHelper = require("../space/SpacingHelper");
18
18
  var _Section = _interopRequireDefault(require("../section/Section"));
19
19
  var _Button = _interopRequireDefault(require("../button/Button"));
20
- var _shared = require("../../shared");
21
20
  var _Context = _interopRequireDefault(require("../../shared/Context"));
22
21
  var _BreadcrumbItem = _interopRequireDefault(require("./BreadcrumbItem"));
23
22
  var _componentHelper = require("../../shared/component-helper");
@@ -69,16 +68,10 @@ const Breadcrumb = localProps => {
69
68
  const skeletonClasses = (0, _SkeletonHelper.createSkeletonClass)('font', skeleton, context);
70
69
  const spacingClasses = (0, _SpacingHelper.createSpacingClasses)(props);
71
70
  const [isCollapsed, setCollapse] = (0, _react.useState)(overrideIsCollapsed);
72
- const isSmallScreen = (0, _shared.useMediaQuery)({
73
- matchOnSSR: true,
74
- when: {
75
- max: 'medium'
76
- }
77
- });
78
71
  let currentVariant = variant;
79
72
  if (!variant) {
80
73
  if (items || data) {
81
- currentVariant = isSmallScreen ? 'collapse' : 'multiple';
74
+ currentVariant = 'multiple';
82
75
  } else {
83
76
  currentVariant = 'single';
84
77
  }
@@ -90,12 +83,20 @@ const Breadcrumb = localProps => {
90
83
  const innerSpacing = (0, _componentHelper.isTrue)(spacing) ? 'small' : spacing;
91
84
  return _react.default.createElement("nav", _extends({
92
85
  "aria-label": (0, _componentHelper.convertJsxToString)(navText),
93
- className: (0, _classnames.default)('dnb-breadcrumb', skeletonClasses, spacingClasses, className)
86
+ className: (0, _classnames.default)(`dnb-breadcrumb dnb-breadcrumb--variant-${currentVariant}`, skeletonClasses, spacingClasses, className)
94
87
  }, props), _react.default.createElement(_Section.default, {
95
88
  className: "dnb-breadcrumb__bar",
96
89
  style_type: styleType || 'transparent',
97
90
  spacing: innerSpacing
98
- }, currentVariant === 'collapse' && _react.default.createElement(_Button.default, {
91
+ }, currentVariant === 'single' ? _react.default.createElement(_Button.default, {
92
+ text: goBackText,
93
+ variant: "tertiary",
94
+ icon: "chevron_left",
95
+ icon_position: "left",
96
+ onClick: onClick,
97
+ href: href
98
+ }) : _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_Button.default, {
99
+ className: "dnb-breadcrumb__toggle",
99
100
  text: backToText,
100
101
  variant: "tertiary",
101
102
  icon: "chevron_left",
@@ -104,19 +105,12 @@ const Breadcrumb = localProps => {
104
105
  setCollapse(!isCollapsed);
105
106
  }),
106
107
  "aria-expanded": !isCollapsed
107
- }), currentVariant === 'single' && _react.default.createElement(_Button.default, {
108
- text: goBackText,
109
- variant: "tertiary",
110
- icon: "chevron_left",
111
- icon_position: "left",
112
- onClick: onClick,
113
- href: href
114
- }), currentVariant === 'multiple' && _react.default.createElement(_BreadcrumbMultiple.BreadcrumbMultiple, {
108
+ }), currentVariant !== 'collapse' && _react.default.createElement(_BreadcrumbMultiple.BreadcrumbMultiple, {
115
109
  data: data,
116
110
  items: items,
117
111
  isCollapsed: false,
118
112
  noAnimation: noAnimation
119
- })), currentVariant === 'collapse' && _react.default.createElement(_Section.default, {
113
+ }))), _react.default.createElement(_Section.default, {
120
114
  variant: collapsedStyleType,
121
115
  className: "dnb-breadcrumb__collapse"
122
116
  }, _react.default.createElement(_BreadcrumbMultiple.BreadcrumbMultiple, {
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumb.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_SkeletonHelper","_SpacingHelper","_Section","_Button","_shared","_Context","_BreadcrumbItem","_componentHelper","_BreadcrumbMultiple","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","defaultProps","skeleton","navText","goBackText","homeText","backToText","isCollapsed","styleType","collapsedStyleType","spacing","exports","Breadcrumb","localProps","_context$translation","context","React","useContext","Context","allProps","extendPropsWithContext","translation","className","children","items","variant","onClick","overrideIsCollapsed","noAnimation","data","href","props","skeletonClasses","createSkeletonClass","spacingClasses","createSpacingClasses","setCollapse","useState","isSmallScreen","useMediaQuery","matchOnSSR","when","max","currentVariant","useEffect","validateDOMAttributes","innerSpacing","isTrue","createElement","convertJsxToString","classnames","style_type","text","icon","icon_position","BreadcrumbMultiple","Item","BreadcrumbItem","_supportsSpacingProps","_default"],"sources":["../../../../src/components/breadcrumb/Breadcrumb.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport Section, {\n SectionSpacing,\n SectionStyleTypes,\n} from '../section/Section'\nimport Button from '../button/Button'\n\n// Shared\nimport { useMediaQuery } from '../../shared'\nimport Context from '../../shared/Context'\nimport type { SpacingProps } from '../../shared/types'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\n\n// Internal\nimport BreadcrumbItem, { BreadcrumbItemProps } from './BreadcrumbItem'\nimport {\n convertJsxToString,\n isTrue,\n validateDOMAttributes,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { BreadcrumbMultiple } from './BreadcrumbMultiple'\n\nexport type BreadcrumbProps = {\n /**\n * Custom className on the component root\n * Default: null\n */\n className?: string\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n\n /**\n * Pass in a list of your pages as objects of breadcrumbitem to render them as breadcrumbitems.\n * Default: null\n */\n data?: Array<BreadcrumbItemProps>\n\n /**\n * The content of the component. Can be used instead of prop \"data\".\n * Default: null\n */\n children?:\n | React.ReactElement<BreadcrumbItemProps>\n | Array<React.ReactElement<BreadcrumbItemProps>>\n\n /**\n * The variant of the component.\n * Default: When children and data is not defined, it defaults to \"single\". If they are defined, the variant depends on the viewport.\n */\n variant?: 'single' | 'multiple' | 'collapse'\n\n /**\n * Handle the click event on 'single'/'collapse'\n * Default: null\n */\n onClick?: React.MouseEventHandler<HTMLButtonElement>\n\n /**\n * For variant 'single', use href (or onClick) to set href when clicking \"Back\"\n * Default: null\n */\n href?: string\n\n /**\n * Every <nav> on a page needs an unique aria-label text\n * Default: Page hierarchy\n */\n navText?: React.ReactNode\n\n /**\n * Add custom 'Back' text for variant 'single'\n * Default: 'Back' or defined by Context translation\n */\n goBackText?: React.ReactNode\n\n /**\n * Add custom 'Home' text\n * Default: 'Home' or defined by Context translation\n */\n homeText?: React.ReactNode\n\n /**\n * Add custom 'Back to...' text, for variant collapse\n * Default 'Back to...' or defined by Context translation\n */\n backToText?: React.ReactNode\n\n /**\n * If variant='collapse', you can override isCollapsed for the collapsed content by updating this value.\n * Default: null\n */\n isCollapsed?: boolean\n\n /**\n * Use one of the Section component style types (style_type)\n * Default: transparent\n */\n styleType?: SectionStyleTypes\n\n /**\n * Use one of the Section component style types (style_type)\n * Default: pistachio\n */\n collapsedStyleType?: SectionStyleTypes\n\n /**\n * Include spacing properties from the Section component in breadcrumb. If only `true` is given, the spacing will be `small`.\n * Default: false\n */\n spacing?: SectionSpacing\n\n /**\n * Will disable the height animation\n * Default: false\n */\n noAnimation?: boolean\n}\n\nexport const defaultProps = {\n skeleton: false,\n navText: 'Back',\n goBackText: 'Back',\n homeText: 'Home',\n backToText: 'Back to...',\n isCollapsed: true,\n styleType: 'transparent',\n collapsedStyleType: 'info',\n spacing: false,\n}\n\nconst Breadcrumb = (localProps: BreadcrumbProps & SpacingProps) => {\n // Every component should have a context\n const context = React.useContext(Context)\n\n // Extract additional props from global context\n const allProps = extendPropsWithContext(\n localProps,\n defaultProps,\n context?.translation?.Breadcrumb,\n context?.Breadcrumb,\n { skeleton: context?.skeleton }\n )\n\n const {\n className,\n skeleton,\n children: items,\n variant,\n onClick,\n navText, // has a translation in context\n goBackText, // has a translation in context\n homeText, // eslint-disable-line\n backToText, // has a translation in context\n styleType,\n collapsedStyleType,\n isCollapsed: overrideIsCollapsed,\n spacing,\n noAnimation,\n data,\n href,\n ...props\n } = allProps\n const skeletonClasses = createSkeletonClass('font', skeleton, context)\n const spacingClasses = createSpacingClasses(props)\n\n const [isCollapsed, setCollapse] = useState(overrideIsCollapsed)\n const isSmallScreen = useMediaQuery({\n matchOnSSR: true,\n when: { max: 'medium' },\n })\n\n let currentVariant = variant\n if (!variant) {\n if (items || data) {\n currentVariant = isSmallScreen ? 'collapse' : 'multiple'\n } else {\n currentVariant = 'single'\n }\n }\n\n useEffect(() => {\n setCollapse(overrideIsCollapsed)\n }, [overrideIsCollapsed])\n\n validateDOMAttributes(allProps, props)\n\n const innerSpacing = isTrue(spacing) ? 'small' : spacing\n\n return (\n <nav\n aria-label={convertJsxToString(navText)}\n className={classnames(\n 'dnb-breadcrumb',\n skeletonClasses,\n spacingClasses,\n className\n )}\n {...props}\n >\n <Section\n className=\"dnb-breadcrumb__bar\"\n style_type={styleType || 'transparent'}\n spacing={innerSpacing}\n >\n {currentVariant === 'collapse' && (\n <Button\n text={backToText}\n variant=\"tertiary\"\n icon=\"chevron_left\"\n icon_position=\"left\"\n onClick={\n onClick ||\n (() => {\n setCollapse(!isCollapsed)\n })\n }\n aria-expanded={!isCollapsed}\n />\n )}\n\n {currentVariant === 'single' && (\n <Button\n text={goBackText}\n variant=\"tertiary\"\n icon=\"chevron_left\"\n icon_position=\"left\"\n onClick={onClick}\n href={href}\n />\n )}\n\n {currentVariant === 'multiple' && (\n <BreadcrumbMultiple\n data={data}\n items={items}\n isCollapsed={false}\n noAnimation={noAnimation}\n />\n )}\n </Section>\n\n {currentVariant === 'collapse' && (\n <Section\n variant={collapsedStyleType}\n className=\"dnb-breadcrumb__collapse\"\n >\n <BreadcrumbMultiple\n data={data}\n items={items}\n isCollapsed={isCollapsed}\n noAnimation={noAnimation}\n />\n </Section>\n )}\n </nav>\n )\n}\n\nBreadcrumb.Item = BreadcrumbItem\n\nexport { BreadcrumbItem }\n\nBreadcrumb._supportsSpacingProps = true\n\nexport default Breadcrumb\n"],"mappings":"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"}
1
+ {"version":3,"file":"Breadcrumb.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_SkeletonHelper","_SpacingHelper","_Section","_Button","_Context","_BreadcrumbItem","_componentHelper","_BreadcrumbMultiple","_excluded","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","defaultProps","skeleton","navText","goBackText","homeText","backToText","isCollapsed","styleType","collapsedStyleType","spacing","exports","Breadcrumb","localProps","_context$translation","context","React","useContext","Context","allProps","extendPropsWithContext","translation","className","children","items","variant","onClick","overrideIsCollapsed","noAnimation","data","href","props","skeletonClasses","createSkeletonClass","spacingClasses","createSpacingClasses","setCollapse","useState","currentVariant","useEffect","validateDOMAttributes","innerSpacing","isTrue","createElement","convertJsxToString","classnames","style_type","text","icon","icon_position","Fragment","BreadcrumbMultiple","Item","BreadcrumbItem","_supportsSpacingProps","_default"],"sources":["../../../../src/components/breadcrumb/Breadcrumb.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\nimport classnames from 'classnames'\n\n// Components\nimport { createSkeletonClass } from '../skeleton/SkeletonHelper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport Section, {\n SectionSpacing,\n SectionStyleTypes,\n} from '../section/Section'\nimport Button from '../button/Button'\n\n// Shared\nimport Context from '../../shared/Context'\nimport type { SpacingProps } from '../../shared/types'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\n\n// Internal\nimport BreadcrumbItem, { BreadcrumbItemProps } from './BreadcrumbItem'\nimport {\n convertJsxToString,\n isTrue,\n validateDOMAttributes,\n extendPropsWithContext,\n} from '../../shared/component-helper'\nimport { BreadcrumbMultiple } from './BreadcrumbMultiple'\n\nexport type BreadcrumbProps = {\n /**\n * Custom className on the component root\n * Default: null\n */\n className?: string\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n\n /**\n * Pass in a list of your pages as objects of breadcrumbitem to render them as breadcrumbitems.\n * Default: null\n */\n data?: Array<BreadcrumbItemProps>\n\n /**\n * The content of the component. Can be used instead of prop \"data\".\n * Default: null\n */\n children?:\n | React.ReactElement<BreadcrumbItemProps>\n | Array<React.ReactElement<BreadcrumbItemProps>>\n\n /**\n * The variant of the component.\n * Default: When children and data is not defined, it defaults to \"single\". If they are defined, the variant depends on the viewport.\n */\n variant?: 'single' | 'multiple' | 'collapse'\n\n /**\n * Handle the click event on 'single'/'collapse'\n * Default: null\n */\n onClick?: React.MouseEventHandler<HTMLButtonElement>\n\n /**\n * For variant 'single', use href (or onClick) to set href when clicking \"Back\"\n * Default: null\n */\n href?: string\n\n /**\n * Every <nav> on a page needs an unique aria-label text\n * Default: Page hierarchy\n */\n navText?: React.ReactNode\n\n /**\n * Add custom 'Back' text for variant 'single'\n * Default: 'Back' or defined by Context translation\n */\n goBackText?: React.ReactNode\n\n /**\n * Add custom 'Home' text\n * Default: 'Home' or defined by Context translation\n */\n homeText?: React.ReactNode\n\n /**\n * Add custom 'Back to...' text, for variant collapse\n * Default 'Back to...' or defined by Context translation\n */\n backToText?: React.ReactNode\n\n /**\n * If variant='collapse', you can override isCollapsed for the collapsed content by updating this value.\n * Default: null\n */\n isCollapsed?: boolean\n\n /**\n * Use one of the Section component style types (style_type)\n * Default: transparent\n */\n styleType?: SectionStyleTypes\n\n /**\n * Use one of the Section component style types (style_type)\n * Default: pistachio\n */\n collapsedStyleType?: SectionStyleTypes\n\n /**\n * Include spacing properties from the Section component in breadcrumb. If only `true` is given, the spacing will be `small`.\n * Default: false\n */\n spacing?: SectionSpacing\n\n /**\n * Will disable the height animation\n * Default: false\n */\n noAnimation?: boolean\n}\n\nexport const defaultProps = {\n skeleton: false,\n navText: 'Back',\n goBackText: 'Back',\n homeText: 'Home',\n backToText: 'Back to...',\n isCollapsed: true,\n styleType: 'transparent',\n collapsedStyleType: 'info',\n spacing: false,\n}\n\nconst Breadcrumb = (localProps: BreadcrumbProps & SpacingProps) => {\n // Every component should have a context\n const context = React.useContext(Context)\n\n // Extract additional props from global context\n const allProps = extendPropsWithContext(\n localProps,\n defaultProps,\n context?.translation?.Breadcrumb,\n context?.Breadcrumb,\n { skeleton: context?.skeleton }\n )\n\n const {\n className,\n skeleton,\n children: items,\n variant,\n onClick,\n navText, // has a translation in context\n goBackText, // has a translation in context\n homeText, // eslint-disable-line\n backToText, // has a translation in context\n styleType,\n collapsedStyleType,\n isCollapsed: overrideIsCollapsed,\n spacing,\n noAnimation,\n data,\n href,\n ...props\n } = allProps\n const skeletonClasses = createSkeletonClass('font', skeleton, context)\n const spacingClasses = createSpacingClasses(props)\n\n const [isCollapsed, setCollapse] = useState(overrideIsCollapsed)\n\n let currentVariant = variant\n if (!variant) {\n if (items || data) {\n currentVariant = 'multiple'\n } else {\n currentVariant = 'single'\n }\n }\n\n useEffect(() => {\n setCollapse(overrideIsCollapsed)\n }, [overrideIsCollapsed])\n\n validateDOMAttributes(allProps, props)\n\n const innerSpacing = isTrue(spacing) ? 'small' : spacing\n\n return (\n <nav\n aria-label={convertJsxToString(navText)}\n className={classnames(\n 'dnb-breadcrumb',\n `dnb-breadcrumb--variant-${currentVariant}`,\n skeletonClasses,\n spacingClasses,\n className\n )}\n {...props}\n >\n <Section\n className=\"dnb-breadcrumb__bar\"\n style_type={styleType || 'transparent'}\n spacing={innerSpacing}\n >\n {currentVariant === 'single' ? (\n <Button\n text={goBackText}\n variant=\"tertiary\"\n icon=\"chevron_left\"\n icon_position=\"left\"\n onClick={onClick}\n href={href}\n />\n ) : (\n <>\n <Button\n className=\"dnb-breadcrumb__toggle\"\n text={backToText}\n variant=\"tertiary\"\n icon=\"chevron_left\"\n icon_position=\"left\"\n onClick={\n onClick ||\n (() => {\n setCollapse(!isCollapsed)\n })\n }\n aria-expanded={!isCollapsed}\n />\n\n {currentVariant !== 'collapse' && (\n <BreadcrumbMultiple\n data={data}\n items={items}\n isCollapsed={false}\n noAnimation={noAnimation}\n />\n )}\n </>\n )}\n </Section>\n\n <Section\n variant={collapsedStyleType}\n className=\"dnb-breadcrumb__collapse\"\n >\n <BreadcrumbMultiple\n data={data}\n items={items}\n isCollapsed={isCollapsed}\n noAnimation={noAnimation}\n />\n </Section>\n </nav>\n )\n}\n\nBreadcrumb.Item = BreadcrumbItem\nBreadcrumb._supportsSpacingProps = true\n\nexport { BreadcrumbItem }\nexport default Breadcrumb\n"],"mappings":"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"}
@@ -18,6 +18,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
18
18
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
19
19
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
20
20
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
21
+ const useLayoutEffect = typeof window === 'undefined' ? _react.default.useEffect : _react.default.useLayoutEffect;
21
22
  const defaultProps = {
22
23
  text: null,
23
24
  href: null,
@@ -64,10 +65,15 @@ const BreadcrumbItem = localProps => {
64
65
  max: 'medium'
65
66
  }
66
67
  });
67
- let currentIcon = icon || variant === 'home' && _home.default || 'chevron_left';
68
- if ((theme === null || theme === void 0 ? void 0 : theme.name) === 'sbanken') {
69
- currentIcon = icon || determineSbankenIcon(variant, isSmallScreen);
70
- }
68
+ const [currentIcon, setCurrentIcon] = _react.default.useState(null);
69
+ useLayoutEffect(() => {
70
+ if (!icon && (theme === null || theme === void 0 ? void 0 : theme.name) === 'sbanken') {
71
+ const currentIcon = determineSbankenIcon(variant, isSmallScreen);
72
+ setCurrentIcon(currentIcon);
73
+ } else {
74
+ setCurrentIcon(icon || variant === 'home' && _home.default || 'chevron_left');
75
+ }
76
+ }, [icon, isSmallScreen, theme === null || theme === void 0 ? void 0 : theme.name, variant]);
71
77
  const currentText = text || variant === 'home' && homeText || '';
72
78
  const isInteractive = (href || onClick || props.to) && variant !== 'current';
73
79
  const style = {
@@ -87,7 +93,7 @@ const BreadcrumbItem = localProps => {
87
93
  skeleton: skeleton
88
94
  }, props)) : _react.default.createElement("span", _extends({
89
95
  className: "dnb-breadcrumb__item__span"
90
- }, (0, _componentHelper.filterProps)(props, key => !key.includes('-'))), _react.default.createElement(_IconPrimary.default, {
96
+ }, (0, _componentHelper.filterProps)(props, key => !key.includes('-'))), currentIcon && _react.default.createElement(_IconPrimary.default, {
91
97
  icon: currentIcon,
92
98
  className: "dnb-breadcrumb__item__span__icon"
93
99
  }), _react.default.createElement(_P.default, {
@@ -1 +1 @@
1
- {"version":3,"file":"BreadcrumbItem.js","names":["_react","_interopRequireDefault","require","_Button","_IconPrimary","_P","_home","_shared","_Context","_componentHelper","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","defaultProps","text","href","icon","onClick","variant","skeleton","determineSbankenIcon","isSmallScreen","homeIcon","BreadcrumbItem","localProps","context","React","useContext","Context","translation","Breadcrumb","homeText","_extendPropsWithConte","extendPropsWithContext","itemNr","props","theme","useTheme","useMediaQuery","matchOnSSR","when","max","currentIcon","name","currentText","isInteractive","to","style","String","createElement","className","undefined","icon_position","on_click","filterProps","includes","space","_supportsSpacingProps","_default","exports"],"sources":["../../../../src/components/breadcrumb/BreadcrumbItem.tsx"],"sourcesContent":["import React from 'react'\n\n// Components\nimport Button, { ButtonProps } from '../button/Button'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport type { IconIcon } from '../icon/Icon'\n\n// Elements\nimport P from '../../elements/P'\n\n// Icons\nimport homeIcon from '../../icons/home'\n\n// Shared\nimport { useTheme, useMediaQuery } from '../../shared'\nimport Context from '../../shared/Context'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport {\n extendPropsWithContext,\n filterProps,\n} from '../../shared/component-helper'\n\nexport type BreadcrumbItemProps = {\n /**\n * Text displaying the title of the item's corresponding page\n * Default: If variant='home', default is \"Home\". Otherwise it is required.\n */\n text?: React.ReactNode\n\n /**\n * Icon displaying on the left side\n * Default: HomeIcon / chevron_left\n */\n icon?: IconIcon\n\n /**\n * Href should be the link to the item's corresponding page.\n * Default: null\n */\n href?: string\n\n /**\n * Set a custom click event. In this case, you should not define the prop href.\n * Default: null\n */\n onClick?: React.MouseEventHandler<HTMLButtonElement>\n\n /**\n * The component variant. Variant 'current' should correspond to the current page and 'home' to the root page.\n * Default: null\n */\n variant?: 'home' | 'previous' | 'current'\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n\n /** Internal */\n itemNr?: number\n} & Omit<ButtonProps, 'variant'>\n\nconst defaultProps = {\n text: null,\n href: null,\n icon: null,\n onClick: null,\n variant: null,\n skeleton: null,\n}\n\nconst determineSbankenIcon: IconIcon = (\n variant: string,\n isSmallScreen: boolean\n) => {\n switch (variant) {\n case 'home':\n return homeIcon\n case 'single':\n case 'collapse':\n return 'chevron_left'\n default:\n return isSmallScreen ? 'chevron_left' : 'chevron_right'\n }\n}\n\nconst BreadcrumbItem = (localProps: BreadcrumbItemProps) => {\n // Every component should have a context\n const context = React.useContext(Context)\n const {\n translation: {\n Breadcrumb: { homeText },\n },\n } = context\n\n // Extract additional props from global context\n const {\n text,\n href,\n icon,\n onClick,\n variant,\n skeleton,\n itemNr,\n ...props\n } = extendPropsWithContext(\n localProps,\n defaultProps,\n context?.BreadcrumbItem\n )\n\n const theme = useTheme()\n const isSmallScreen = useMediaQuery({\n matchOnSSR: true,\n when: { max: 'medium' },\n })\n\n let currentIcon =\n icon || (variant === 'home' && homeIcon) || 'chevron_left'\n if (theme?.name === 'sbanken') {\n currentIcon = icon || determineSbankenIcon(variant, isSmallScreen)\n }\n const currentText = text || (variant === 'home' && homeText) || ''\n const isInteractive =\n (href || onClick || props.to) && variant !== 'current'\n const style = { '--delay': String(itemNr) } as React.CSSProperties\n\n return (\n <li\n className=\"dnb-breadcrumb__item\"\n aria-current={variant === 'current' ? 'page' : undefined}\n style={style}\n >\n {isInteractive ? (\n <Button\n variant=\"tertiary\"\n href={href}\n icon={currentIcon}\n icon_position=\"left\"\n on_click={onClick}\n text={currentText}\n skeleton={skeleton}\n {...props}\n />\n ) : (\n <span\n className=\"dnb-breadcrumb__item__span\"\n // TODO: Consider deprecating passing down props to span in v11\n {...filterProps(props, (key) => !key.includes('-'))}\n >\n <IconPrimary\n icon={currentIcon}\n className=\"dnb-breadcrumb__item__span__icon\"\n />\n <P space=\"0\">{currentText}</P>\n </span>\n )}\n </li>\n )\n}\n\nBreadcrumbItem._supportsSpacingProps = true\n\nexport default BreadcrumbItem\n"],"mappings":"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"}
1
+ {"version":3,"file":"BreadcrumbItem.js","names":["_react","_interopRequireDefault","require","_Button","_IconPrimary","_P","_home","_shared","_Context","_componentHelper","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","useLayoutEffect","window","React","useEffect","defaultProps","text","href","icon","onClick","variant","skeleton","determineSbankenIcon","isSmallScreen","homeIcon","BreadcrumbItem","localProps","context","useContext","Context","translation","Breadcrumb","homeText","_extendPropsWithConte","extendPropsWithContext","itemNr","props","theme","useTheme","useMediaQuery","matchOnSSR","when","max","currentIcon","setCurrentIcon","useState","name","currentText","isInteractive","to","style","String","createElement","className","undefined","icon_position","on_click","filterProps","includes","space","_supportsSpacingProps","_default","exports"],"sources":["../../../../src/components/breadcrumb/BreadcrumbItem.tsx"],"sourcesContent":["import React from 'react'\n\n// Components\nimport Button, { ButtonProps } from '../button/Button'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport type { IconIcon } from '../icon/Icon'\n\n// Elements\nimport P from '../../elements/P'\n\n// Icons\nimport homeIcon from '../../icons/home'\n\n// Shared\nimport { useTheme, useMediaQuery } from '../../shared'\nimport Context from '../../shared/Context'\nimport type { SkeletonShow } from '../skeleton/Skeleton'\nimport {\n extendPropsWithContext,\n filterProps,\n} from '../../shared/component-helper'\n\n// SSR warning fix: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\nconst useLayoutEffect =\n typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\nexport type BreadcrumbItemProps = {\n /**\n * Text displaying the title of the item's corresponding page\n * Default: If variant='home', default is \"Home\". Otherwise it is required.\n */\n text?: React.ReactNode\n\n /**\n * Icon displaying on the left side\n * Default: HomeIcon / chevron_left\n */\n icon?: IconIcon\n\n /**\n * Href should be the link to the item's corresponding page.\n * Default: null\n */\n href?: string\n\n /**\n * Set a custom click event. In this case, you should not define the prop href.\n * Default: null\n */\n onClick?: React.MouseEventHandler<HTMLButtonElement>\n\n /**\n * The component variant. Variant 'current' should correspond to the current page and 'home' to the root page.\n * Default: null\n */\n variant?: 'home' | 'previous' | 'current'\n\n /**\n * Skeleton should be applied when loading content\n * Default: null\n */\n skeleton?: SkeletonShow\n\n /** Internal */\n itemNr?: number\n} & Omit<ButtonProps, 'variant'>\n\nconst defaultProps = {\n text: null,\n href: null,\n icon: null,\n onClick: null,\n variant: null,\n skeleton: null,\n}\n\nconst determineSbankenIcon: IconIcon = (\n variant: string,\n isSmallScreen: boolean\n) => {\n switch (variant) {\n case 'home':\n return homeIcon\n case 'single':\n case 'collapse':\n return 'chevron_left'\n default:\n return isSmallScreen ? 'chevron_left' : 'chevron_right'\n }\n}\n\nconst BreadcrumbItem = (localProps: BreadcrumbItemProps) => {\n // Every component should have a context\n const context = React.useContext(Context)\n const {\n translation: {\n Breadcrumb: { homeText },\n },\n } = context\n\n // Extract additional props from global context\n const {\n text,\n href,\n icon,\n onClick,\n variant,\n skeleton,\n itemNr,\n ...props\n } = extendPropsWithContext(\n localProps,\n defaultProps,\n context?.BreadcrumbItem\n )\n\n const theme = useTheme()\n const isSmallScreen = useMediaQuery({\n matchOnSSR: true,\n when: { max: 'medium' },\n })\n\n const [currentIcon, setCurrentIcon] = React.useState(null)\n\n useLayoutEffect(() => {\n if (!icon && theme?.name === 'sbanken') {\n const currentIcon = determineSbankenIcon(variant, isSmallScreen)\n setCurrentIcon(currentIcon)\n } else {\n setCurrentIcon(\n icon || (variant === 'home' && homeIcon) || 'chevron_left'\n )\n }\n }, [icon, isSmallScreen, theme?.name, variant])\n\n const currentText = text || (variant === 'home' && homeText) || ''\n const isInteractive =\n (href || onClick || props.to) && variant !== 'current'\n const style = { '--delay': String(itemNr) } as React.CSSProperties\n\n return (\n <li\n className=\"dnb-breadcrumb__item\"\n aria-current={variant === 'current' ? 'page' : undefined}\n style={style}\n >\n {isInteractive ? (\n <Button\n variant=\"tertiary\"\n href={href}\n icon={currentIcon}\n icon_position=\"left\"\n on_click={onClick}\n text={currentText}\n skeleton={skeleton}\n {...props}\n />\n ) : (\n <span\n className=\"dnb-breadcrumb__item__span\"\n // TODO: Consider deprecating passing down props to span in v11\n {...filterProps(props, (key) => !key.includes('-'))}\n >\n {currentIcon && (\n <IconPrimary\n icon={currentIcon}\n className=\"dnb-breadcrumb__item__span__icon\"\n />\n )}\n <P space=\"0\">{currentText}</P>\n </span>\n )}\n </li>\n )\n}\n\nBreadcrumbItem._supportsSpacingProps = true\n\nexport default BreadcrumbItem\n"],"mappings":"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"}
@@ -20,7 +20,7 @@ const BreadcrumbMultiple = _ref => {
20
20
  return _react.default.createElement(_HeightAnimation.default, {
21
21
  open: !isCollapsed,
22
22
  animate: !noAnimation,
23
- className: "dnb-breadcrumb__animation"
23
+ className: "dnb-breadcrumb__multiple"
24
24
  }, _react.default.createElement(_Section.default, {
25
25
  className: "dnb-breadcrumb__list",
26
26
  element: "ol",
@@ -1 +1 @@
1
- {"version":3,"file":"BreadcrumbMultiple.js","names":["_react","_interopRequireDefault","require","_HeightAnimation","_Section","_BreadcrumbItem","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","BreadcrumbMultiple","_ref","isCollapsed","items","noAnimation","data","createElement","open","animate","className","element","style_type","map","breadcrumbItem","variant","itemNr","React","Children","toArray","filter","item","isValidElement","cloneElement","exports"],"sources":["../../../../src/components/breadcrumb/BreadcrumbMultiple.tsx"],"sourcesContent":["import React from 'react'\nimport HeightAnimation from '../height-animation/HeightAnimation'\nimport Section from '../section/Section'\nimport BreadcrumbItem, { BreadcrumbItemProps } from './BreadcrumbItem'\n\ntype BreadcrumbMultipleProps = {\n isCollapsed: boolean\n noAnimation: boolean\n data: Array<BreadcrumbItemProps>\n items:\n | React.ReactElement<BreadcrumbItemProps>\n | Array<React.ReactElement<BreadcrumbItemProps>>\n}\n\nexport const BreadcrumbMultiple = ({\n isCollapsed,\n items,\n noAnimation,\n data,\n}: BreadcrumbMultipleProps) => {\n return (\n <HeightAnimation\n open={!isCollapsed}\n animate={!noAnimation}\n className=\"dnb-breadcrumb__animation\"\n >\n <Section\n className=\"dnb-breadcrumb__list\"\n element=\"ol\"\n style_type=\"transparent\"\n >\n {data?.map((breadcrumbItem, i) => {\n return (\n <BreadcrumbItem\n key={i}\n variant={\n (i == 0 && 'home') ||\n (i == data.length - 1 && 'current') ||\n null\n }\n itemNr={i}\n {...breadcrumbItem}\n />\n )\n })}\n\n {React.Children.toArray(items)\n .filter((item) => React.isValidElement(item))\n .map((item: React.ReactElement<BreadcrumbItemProps>, i) =>\n React.cloneElement(item, { key: i, itemNr: i })\n )}\n </Section>\n </HeightAnimation>\n )\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,eAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAsE,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAW/D,MAAMQ,kBAAkB,GAAGC,IAAA,IAKH;EAAA,IALI;IACjCC,WAAW;IACXC,KAAK;IACLC,WAAW;IACXC;EACuB,CAAC,GAAAJ,IAAA;EACxB,OACExB,MAAA,CAAAQ,OAAA,CAAAqB,aAAA,CAAC1B,gBAAA,CAAAK,OAAe;IACdsB,IAAI,EAAE,CAACL,WAAY;IACnBM,OAAO,EAAE,CAACJ,WAAY;IACtBK,SAAS,EAAC;EAA2B,GAErChC,MAAA,CAAAQ,OAAA,CAAAqB,aAAA,CAACzB,QAAA,CAAAI,OAAO;IACNwB,SAAS,EAAC,sBAAsB;IAChCC,OAAO,EAAC,IAAI;IACZC,UAAU,EAAC;EAAa,GAEvBN,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEO,GAAG,CAAC,CAACC,cAAc,EAAEtB,CAAC,KAAK;IAChC,OACEd,MAAA,CAAAQ,OAAA,CAAAqB,aAAA,CAACxB,eAAA,CAAAG,OAAc,EAAAC,QAAA;MACbS,GAAG,EAAEJ,CAAE;MACPuB,OAAO,EACJvB,CAAC,IAAI,CAAC,IAAI,MAAM,IAChBA,CAAC,IAAIc,IAAI,CAACZ,MAAM,GAAG,CAAC,IAAI,SAAU,IACnC,IACD;MACDsB,MAAM,EAAExB;IAAE,GACNsB,cAAc,CACnB,CAAC;EAEN,CAAC,CAAC,EAEDG,cAAK,CAACC,QAAQ,CAACC,OAAO,CAACf,KAAK,CAAC,CAC3BgB,MAAM,CAAEC,IAAI,IAAKJ,cAAK,CAACK,cAAc,CAACD,IAAI,CAAC,CAAC,CAC5CR,GAAG,CAAC,CAACQ,IAA6C,EAAE7B,CAAC,KACpDyB,cAAK,CAACM,YAAY,CAACF,IAAI,EAAE;IAAEzB,GAAG,EAAEJ,CAAC;IAAEwB,MAAM,EAAExB;EAAE,CAAC,CAChD,CACK,CACM,CAAC;AAEtB,CAAC;AAAAgC,OAAA,CAAAvB,kBAAA,GAAAA,kBAAA"}
1
+ {"version":3,"file":"BreadcrumbMultiple.js","names":["_react","_interopRequireDefault","require","_HeightAnimation","_Section","_BreadcrumbItem","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","BreadcrumbMultiple","_ref","isCollapsed","items","noAnimation","data","createElement","open","animate","className","element","style_type","map","breadcrumbItem","variant","itemNr","React","Children","toArray","filter","item","isValidElement","cloneElement","exports"],"sources":["../../../../src/components/breadcrumb/BreadcrumbMultiple.tsx"],"sourcesContent":["import React from 'react'\nimport HeightAnimation from '../height-animation/HeightAnimation'\nimport Section from '../section/Section'\nimport BreadcrumbItem, { BreadcrumbItemProps } from './BreadcrumbItem'\n\ntype BreadcrumbMultipleProps = {\n isCollapsed: boolean\n noAnimation: boolean\n data: Array<BreadcrumbItemProps>\n items:\n | React.ReactElement<BreadcrumbItemProps>\n | Array<React.ReactElement<BreadcrumbItemProps>>\n}\n\nexport const BreadcrumbMultiple = ({\n isCollapsed,\n items,\n noAnimation,\n data,\n}: BreadcrumbMultipleProps) => {\n return (\n <HeightAnimation\n open={!isCollapsed}\n animate={!noAnimation}\n className=\"dnb-breadcrumb__multiple\"\n >\n <Section\n className=\"dnb-breadcrumb__list\"\n element=\"ol\"\n style_type=\"transparent\"\n >\n {data?.map((breadcrumbItem, i) => {\n return (\n <BreadcrumbItem\n key={i}\n variant={\n (i == 0 && 'home') ||\n (i == data.length - 1 && 'current') ||\n null\n }\n itemNr={i}\n {...breadcrumbItem}\n />\n )\n })}\n\n {React.Children.toArray(items)\n .filter((item) => React.isValidElement(item))\n .map((item: React.ReactElement<BreadcrumbItemProps>, i) =>\n React.cloneElement(item, { key: i, itemNr: i })\n )}\n </Section>\n </HeightAnimation>\n )\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,eAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAsE,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAW/D,MAAMQ,kBAAkB,GAAGC,IAAA,IAKH;EAAA,IALI;IACjCC,WAAW;IACXC,KAAK;IACLC,WAAW;IACXC;EACuB,CAAC,GAAAJ,IAAA;EACxB,OACExB,MAAA,CAAAQ,OAAA,CAAAqB,aAAA,CAAC1B,gBAAA,CAAAK,OAAe;IACdsB,IAAI,EAAE,CAACL,WAAY;IACnBM,OAAO,EAAE,CAACJ,WAAY;IACtBK,SAAS,EAAC;EAA0B,GAEpChC,MAAA,CAAAQ,OAAA,CAAAqB,aAAA,CAACzB,QAAA,CAAAI,OAAO;IACNwB,SAAS,EAAC,sBAAsB;IAChCC,OAAO,EAAC,IAAI;IACZC,UAAU,EAAC;EAAa,GAEvBN,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEO,GAAG,CAAC,CAACC,cAAc,EAAEtB,CAAC,KAAK;IAChC,OACEd,MAAA,CAAAQ,OAAA,CAAAqB,aAAA,CAACxB,eAAA,CAAAG,OAAc,EAAAC,QAAA;MACbS,GAAG,EAAEJ,CAAE;MACPuB,OAAO,EACJvB,CAAC,IAAI,CAAC,IAAI,MAAM,IAChBA,CAAC,IAAIc,IAAI,CAACZ,MAAM,GAAG,CAAC,IAAI,SAAU,IACnC,IACD;MACDsB,MAAM,EAAExB;IAAE,GACNsB,cAAc,CACnB,CAAC;EAEN,CAAC,CAAC,EAEDG,cAAK,CAACC,QAAQ,CAACC,OAAO,CAACf,KAAK,CAAC,CAC3BgB,MAAM,CAAEC,IAAI,IAAKJ,cAAK,CAACK,cAAc,CAACD,IAAI,CAAC,CAAC,CAC5CR,GAAG,CAAC,CAACQ,IAA6C,EAAE7B,CAAC,KACpDyB,cAAK,CAACM,YAAY,CAACF,IAAI,EAAE;IAAEzB,GAAG,EAAEJ,CAAC;IAAEwB,MAAM,EAAExB;EAAE,CAAC,CAChD,CACK,CACM,CAAC;AAEtB,CAAC;AAAAgC,OAAA,CAAAvB,kBAAA,GAAAA,kBAAA"}
@@ -32,18 +32,28 @@
32
32
  .dnb-breadcrumb__item__span__icon {
33
33
  margin-right: 0.5rem;
34
34
  }
35
- .dnb-breadcrumb__animation {
35
+ .dnb-breadcrumb__multiple {
36
36
  display: flex;
37
37
  flex-direction: column;
38
38
  transition: height 400ms var(--easing-default);
39
39
  }
40
- .dnb-breadcrumb__animation .dnb-breadcrumb__item {
40
+ .dnb-breadcrumb__multiple .dnb-breadcrumb__item {
41
41
  transition: transform 400ms var(--easing-default) calc(var(--delay) * 50ms);
42
42
  transform: translateX(-1rem);
43
43
  }
44
- .dnb-breadcrumb__animation.dnb-height-animation--parallax .dnb-breadcrumb__item {
44
+ .dnb-breadcrumb__multiple.dnb-height-animation--parallax .dnb-breadcrumb__item {
45
45
  transform: translateX(0);
46
46
  }
47
+ @media screen and (max-width: 60em) {
48
+ .dnb-breadcrumb__bar .dnb-breadcrumb__multiple {
49
+ display: none;
50
+ }
51
+ }
52
+ @media screen and (min-width: 60em) {
53
+ .dnb-breadcrumb--variant-multiple .dnb-breadcrumb__toggle {
54
+ display: none;
55
+ }
56
+ }
47
57
  .dnb-breadcrumb__collapse {
48
58
  display: flex;
49
59
  flex-direction: column;
@@ -1 +1 @@
1
- .dnb-breadcrumb{display:flex;flex-direction:column;margin:0;padding:0}.dnb-breadcrumb__bar.dnb-section{display:flex}.dnb-breadcrumb__list.dnb-section{align-items:center;display:flex;flex-flow:row wrap;gap:1.5rem;list-style:none;margin:0;padding:0}.dnb-breadcrumb__item__span{align-items:center;display:flex;line-height:normal;padding:.5rem 0}.dnb-breadcrumb__item__span__icon{margin-right:.5rem}.dnb-breadcrumb__animation{display:flex;flex-direction:column;transition:height .4s var(--easing-default)}.dnb-breadcrumb__animation .dnb-breadcrumb__item{transform:translateX(-1rem);transition:transform .4s var(--easing-default) calc(var(--delay)*50ms)}.dnb-breadcrumb__animation.dnb-height-animation--parallax .dnb-breadcrumb__item{transform:translateX(0)}.dnb-breadcrumb__collapse{display:flex;flex-direction:column}.dnb-breadcrumb__collapse .dnb-breadcrumb__list.dnb-section{align-items:flex-start;flex-direction:column;gap:0;margin:.5rem 0 .5rem 1.5rem}
1
+ .dnb-breadcrumb{display:flex;flex-direction:column;margin:0;padding:0}.dnb-breadcrumb__bar.dnb-section{display:flex}.dnb-breadcrumb__list.dnb-section{align-items:center;display:flex;flex-flow:row wrap;gap:1.5rem;list-style:none;margin:0;padding:0}.dnb-breadcrumb__item__span{align-items:center;display:flex;line-height:normal;padding:.5rem 0}.dnb-breadcrumb__item__span__icon{margin-right:.5rem}.dnb-breadcrumb__multiple{display:flex;flex-direction:column;transition:height .4s var(--easing-default)}.dnb-breadcrumb__multiple .dnb-breadcrumb__item{transform:translateX(-1rem);transition:transform .4s var(--easing-default) calc(var(--delay)*50ms)}.dnb-breadcrumb__multiple.dnb-height-animation--parallax .dnb-breadcrumb__item{transform:translateX(0)}@media screen and (max-width:60em){.dnb-breadcrumb__bar .dnb-breadcrumb__multiple{display:none}}@media screen and (min-width:60em){.dnb-breadcrumb--variant-multiple .dnb-breadcrumb__toggle{display:none}}.dnb-breadcrumb__collapse{display:flex;flex-direction:column}.dnb-breadcrumb__collapse .dnb-breadcrumb__list.dnb-section{align-items:flex-start;flex-direction:column;gap:0;margin:.5rem 0 .5rem 1.5rem}
@@ -42,23 +42,35 @@
42
42
  }
43
43
  }
44
44
 
45
- &__animation {
45
+ &__multiple {
46
46
  display: flex;
47
47
  flex-direction: column;
48
48
 
49
49
  transition: height 400ms var(--easing-default);
50
50
  }
51
51
 
52
- &__animation &__item {
52
+ &__multiple &__item {
53
53
  transition: transform 400ms var(--easing-default)
54
54
  calc(var(--delay) * 50ms);
55
55
  transform: translateX(-1rem);
56
56
  }
57
57
 
58
- &__animation.dnb-height-animation--parallax &__item {
58
+ &__multiple.dnb-height-animation--parallax &__item {
59
59
  transform: translateX(0);
60
60
  }
61
61
 
62
+ &__bar &__multiple {
63
+ @include allBelow(medium) {
64
+ display: none;
65
+ }
66
+ }
67
+
68
+ &--variant-multiple &__toggle {
69
+ @include allAbove(medium) {
70
+ display: none;
71
+ }
72
+ }
73
+
62
74
  &__collapse {
63
75
  display: flex;
64
76
  flex-direction: column;
@@ -69,6 +69,9 @@ export interface DatePickerProps
69
69
  * To limit a date range to a maximum `end_date`. Defaults to `null`.
70
70
  */
71
71
  max_date?: DatePickerMaxDate;
72
+ /**
73
+ * Corrects the input date value to be the same as either `min_date` or `max_date`, when the user types in a date that is either before or after one of these. Defaults to `false`.
74
+ */
72
75
  correct_invalid_date?: boolean;
73
76
  /**
74
77
  * To define the order of the masked placeholder input fields. Defaults to `dd/mm/yyyy`
@@ -70,12 +70,16 @@ class DatePickerProvider extends _react.default.PureComponent {
70
70
  date_format
71
71
  });
72
72
  }
73
- if ((0, _componentHelper.isTrue)(props.correct_invalid_date)) {
73
+ if ((0, _componentHelper.isTrue)(props.correct_invalid_date) || (typeof props.min_date !== 'undefined' || typeof props.max_date !== 'undefined') && props.correct_invalid_date !== false) {
74
74
  if ((0, _DatePickerCalc.isDisabled)(state.startDate, state.minDate, state.maxDate)) {
75
75
  state.startDate = state.minDate;
76
76
  }
77
77
  if ((0, _DatePickerCalc.isDisabled)(state.endDate, state.minDate, state.maxDate)) {
78
- state.endDate = state.maxDate;
78
+ if (!props.range && !props.min_date) {
79
+ state.startDate = state.maxDate;
80
+ } else {
81
+ state.endDate = state.maxDate;
82
+ }
79
83
  }
80
84
  }
81
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerProvider.js","names":["_react","_interopRequireDefault","require","_propTypes","_isSameMonth","_isValid","_format","_differenceInCalendarDays","_Context","_componentHelper","_DatePickerCalc","_DatePickerContext","_DatePickerRange","_excluded","obj","__esModule","default","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","key","i","Object","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","prototype","propertyIsEnumerable","call","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","DatePickerProvider","React","PureComponent","getDerivedStateFromProps","props","state","isRange","isTrue","range","_listenForPropChanges","startDate","date_format","date","_date","start_date","_startDate","convertStringToDate","endDate","end_date","_endDate","start_month","_startMonth","startMonth","end_month","_endMonth","endMonth","min_date","_minDate","minDate","max_date","_maxDate","maxDate","correct_invalid_date","isDisabled","lastEventCallCache","isValid","__startDay","pad","format","__startMonth","__startYear","hasHadValidDate","__endDay","__endMonth","__endYear","changeMonthViews","isSameMonth","views","getViews","month","_month","constructor","_this","this","cb","setState","args","dispatchCustomElementEvent","getReturnObject","_ref","event","rest","attributes","returnFormat","correctV1Format","return_format","startDateIsValid","Boolean","endDateIsValid","ret","days_between","differenceInCalendarDays","is_valid_start_date","is_valid_end_date","is_valid","setReturnObject","render","children","createElement","Provider","translation","context","setViews","updateState","callOnChangeHandler","enhanceWithMethods","exports","Context","process","env","NODE_ENV","propTypes","PropTypes","oneOfType","instanceOf","Date","string","bool","isRequired","func","node","num","size","substr"],"sources":["../../../../src/components/date-picker/DatePickerProvider.js"],"sourcesContent":["/**\n * Web DatePicker Provider\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\n\nimport isSameMonth from 'date-fns/isSameMonth'\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\n\nimport Context from '../../shared/Context'\nimport {\n isTrue,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n convertStringToDate,\n correctV1Format,\n isDisabled,\n} from './DatePickerCalc'\nimport DatePickerContext from './DatePickerContext'\nimport { getViews } from './DatePickerRange'\n\nexport default class DatePickerProvider extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n min_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n max_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n return_format: PropTypes.string,\n\n range: PropTypes.oneOfType([PropTypes.bool, PropTypes.string])\n .isRequired,\n setReturnObject: PropTypes.func.isRequired,\n enhanceWithMethods: PropTypes.object,\n\n attributes: PropTypes.object,\n children: PropTypes.node.isRequired,\n }\n\n static defaultProps = {\n min_date: null,\n max_date: null,\n return_format: 'yyyy-MM-dd', // used in date-fns v1: YYYY-MM-DD\n attributes: null,\n enhanceWithMethods: null,\n }\n\n state = { _listenForPropChanges: true, changeMonthViews: false }\n\n static getDerivedStateFromProps(props, state) {\n const isRange = isTrue(props.range)\n\n if (state._listenForPropChanges) {\n let startDate = undefined\n const date_format = props.date_format\n\n // Handle startDate/endDate\n if (\n typeof props.date !== 'undefined' &&\n props.date !== state._date\n ) {\n startDate = props.date\n }\n if (\n typeof props.start_date !== 'undefined' &&\n props.start_date !== state._startDate\n ) {\n startDate = props.start_date\n }\n if (\n typeof startDate !== 'undefined' &&\n startDate !== state.startDate\n ) {\n state.startDate =\n convertStringToDate(startDate, {\n date_format,\n }) || undefined\n\n if (!isTrue(props.range)) {\n state.endDate = state.startDate\n }\n }\n if (\n typeof props.end_date !== 'undefined' &&\n isTrue(props.range) &&\n props.end_date !== state._endDate\n ) {\n state.endDate =\n convertStringToDate(props.end_date, {\n date_format,\n }) || undefined\n }\n\n // Handle startMonth/endMonth\n if (\n typeof props.start_month !== 'undefined' &&\n props.start_month !== state._startMonth\n ) {\n state.startMonth = convertStringToDate(props.start_month, {\n date_format,\n })\n }\n if (\n typeof props.end_month !== 'undefined' &&\n props.end_month !== state._endMonth\n ) {\n state.endMonth = convertStringToDate(props.end_month, {\n date_format,\n })\n }\n\n // Handle minDate/maxDate\n if (\n typeof props.min_date !== 'undefined' &&\n props.min_date !== state._minDate\n ) {\n state.minDate = convertStringToDate(props.min_date, {\n date_format,\n })\n }\n if (\n typeof props.max_date !== 'undefined' &&\n props.max_date !== state._maxDate\n ) {\n state.maxDate = convertStringToDate(props.max_date, {\n date_format,\n })\n }\n\n /**\n * Because now we do not any more relay on auto \"correction\",\n * but rather return \"is_valid_start_date=false\"\n */\n if (isTrue(props.correct_invalid_date)) {\n if (isDisabled(state.startDate, state.minDate, state.maxDate)) {\n state.startDate = state.minDate\n }\n if (isDisabled(state.endDate, state.minDate, state.maxDate)) {\n state.endDate = state.maxDate\n }\n }\n }\n\n if (\n state.lastEventCallCache &&\n (state.lastEventCallCache.startDate !== state.startDate ||\n state.lastEventCallCache.endDate !== state.endDate)\n ) {\n state.lastEventCallCache = {}\n }\n\n if (isValid(state.startDate)) {\n state.__startDay = pad(format(state.startDate, 'dd'), 2)\n state.__startMonth = pad(format(state.startDate, 'MM'), 2)\n state.__startYear = format(state.startDate, 'yyyy')\n state.hasHadValidDate = true\n } else if (state.startDate === undefined) {\n state.__startDay = null\n state.__startMonth = null\n state.__startYear = null\n }\n\n if (isValid(state.endDate)) {\n state.__endDay = pad(format(state.endDate, 'dd'), 2)\n state.__endMonth = pad(format(state.endDate, 'MM'), 2)\n state.__endYear = format(state.endDate, 'yyyy')\n state.hasHadValidDate = true\n } else if (state.endDate === undefined) {\n state.__endDay = null\n state.__endMonth = null\n state.__endYear = null\n }\n\n if (\n !state.startMonth ||\n state._date !== props.date ||\n (state.changeMonthViews &&\n !isSameMonth(state.startMonth, state.startDate))\n ) {\n state.startMonth = state.startDate\n }\n\n if (\n !state.endMonth ||\n state._date !== props.date ||\n (isRange &&\n state.changeMonthViews &&\n !isSameMonth(state.endMonth, state.endDate))\n ) {\n state.endMonth = state.endDate || state.startMonth\n }\n\n state.views = getViews(state, isRange)\n\n // Update the months, in case they do not exist\n if (!state.startMonth) {\n state.startMonth = state.views[0].month\n if (\n isRange &&\n !state.endMonth &&\n typeof state.views[1] !== 'undefined'\n ) {\n state.endMonth = state.views[1].month\n }\n }\n\n state.changeMonthViews = false\n state._listenForPropChanges = true\n state._date = props.date\n state._startDate = props.start_date || props.date\n state._endDate = props.end_date\n state._startMonth = props.start_month\n state._endMonth = props.end_month\n state._month = props.month\n state._minDate = props.min_date\n state._maxDate = props.max_date\n\n return state\n }\n\n constructor(props) {\n super(props)\n\n if (typeof props.setReturnObject === 'function') {\n props.setReturnObject(this.getReturnObject)\n }\n }\n\n setViews = (views, cb = null) => {\n this.setState({ views, _listenForPropChanges: false }, cb)\n }\n\n updateState = (state, cb = null) => {\n this.setState({ ...state, _listenForPropChanges: false }, cb)\n }\n\n callOnChangeHandler = (args) => {\n /**\n * Prevent on_change to be fired twice if date not has actually changed\n * We clear the cache inside getDerivedStateFromProps\n */\n if (\n this.state.lastEventCallCache &&\n this.state.lastEventCallCache.startDate === this.state.startDate &&\n this.state.lastEventCallCache.endDate === this.state.endDate\n ) {\n return // stop here\n }\n\n dispatchCustomElementEvent(\n this,\n 'on_change',\n this.getReturnObject(args)\n )\n\n const lastEventCallCache = {\n startDate: this.state.startDate,\n endDate: this.state.endDate,\n }\n this.setState({ lastEventCallCache })\n }\n\n getReturnObject = ({ event = null, ...rest } = {}) => {\n const { startDate, endDate } = { ...this.state, ...rest }\n const attributes = this.props.attributes || {}\n const returnFormat = correctV1Format(this.props.return_format)\n const startDateIsValid = Boolean(startDate && isValid(startDate))\n const endDateIsValid = Boolean(endDate && isValid(endDate))\n\n let ret = null\n\n if (isTrue(this.props.range)) {\n ret = {\n event,\n attributes,\n days_between:\n startDateIsValid && endDateIsValid\n ? differenceInCalendarDays(endDate, startDate)\n : null,\n start_date: startDateIsValid\n ? format(startDate, returnFormat)\n : null,\n end_date: endDateIsValid ? format(endDate, returnFormat) : null,\n is_valid_start_date: startDateIsValid,\n is_valid_end_date: endDateIsValid,\n }\n } else {\n ret = {\n event,\n attributes,\n date: startDateIsValid ? format(startDate, returnFormat) : null,\n is_valid: startDateIsValid,\n }\n }\n\n if (this.props.min_date || this.props.max_date) {\n if (isTrue(this.props.range)) {\n if (\n startDateIsValid &&\n isDisabled(startDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid_start_date = false\n }\n if (\n endDateIsValid &&\n isDisabled(endDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid_end_date = false\n }\n } else {\n if (\n startDateIsValid &&\n isDisabled(startDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid = false\n }\n }\n }\n\n return ret\n }\n\n render() {\n const { children } = this.props\n\n return (\n <DatePickerContext.Provider\n value={{\n translation: this.context.translation,\n setViews: this.setViews,\n updateState: this.updateState,\n getReturnObject: this.getReturnObject,\n callOnChangeHandler: this.callOnChangeHandler,\n props: this.props,\n ...this.props.enhanceWithMethods,\n ...this.state,\n }}\n >\n {children}\n </DatePickerContext.Provider>\n )\n }\n}\n\nexport const pad = (num, size) => ('000000000' + num).substr(-size)\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerProvider.js","names":["_react","_interopRequireDefault","require","_propTypes","_isSameMonth","_isValid","_format","_differenceInCalendarDays","_Context","_componentHelper","_DatePickerCalc","_DatePickerContext","_DatePickerRange","_excluded","obj","__esModule","default","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","key","i","Object","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","prototype","propertyIsEnumerable","call","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","DatePickerProvider","React","PureComponent","getDerivedStateFromProps","props","state","isRange","isTrue","range","_listenForPropChanges","startDate","date_format","date","_date","start_date","_startDate","convertStringToDate","endDate","end_date","_endDate","start_month","_startMonth","startMonth","end_month","_endMonth","endMonth","min_date","_minDate","minDate","max_date","_maxDate","maxDate","correct_invalid_date","isDisabled","lastEventCallCache","isValid","__startDay","pad","format","__startMonth","__startYear","hasHadValidDate","__endDay","__endMonth","__endYear","changeMonthViews","isSameMonth","views","getViews","month","_month","constructor","_this","this","cb","setState","args","dispatchCustomElementEvent","getReturnObject","_ref","event","rest","attributes","returnFormat","correctV1Format","return_format","startDateIsValid","Boolean","endDateIsValid","ret","days_between","differenceInCalendarDays","is_valid_start_date","is_valid_end_date","is_valid","setReturnObject","render","children","createElement","Provider","translation","context","setViews","updateState","callOnChangeHandler","enhanceWithMethods","exports","Context","process","env","NODE_ENV","propTypes","PropTypes","oneOfType","instanceOf","Date","string","bool","isRequired","func","node","num","size","substr"],"sources":["../../../../src/components/date-picker/DatePickerProvider.js"],"sourcesContent":["/**\n * Web DatePicker Provider\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\n\nimport isSameMonth from 'date-fns/isSameMonth'\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\n\nimport Context from '../../shared/Context'\nimport {\n isTrue,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n convertStringToDate,\n correctV1Format,\n isDisabled,\n} from './DatePickerCalc'\nimport DatePickerContext from './DatePickerContext'\nimport { getViews } from './DatePickerRange'\n\nexport default class DatePickerProvider extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n min_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n max_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n return_format: PropTypes.string,\n\n range: PropTypes.oneOfType([PropTypes.bool, PropTypes.string])\n .isRequired,\n setReturnObject: PropTypes.func.isRequired,\n enhanceWithMethods: PropTypes.object,\n\n attributes: PropTypes.object,\n children: PropTypes.node.isRequired,\n }\n\n static defaultProps = {\n min_date: null,\n max_date: null,\n return_format: 'yyyy-MM-dd', // used in date-fns v1: YYYY-MM-DD\n attributes: null,\n enhanceWithMethods: null,\n }\n\n state = { _listenForPropChanges: true, changeMonthViews: false }\n\n static getDerivedStateFromProps(props, state) {\n const isRange = isTrue(props.range)\n\n if (state._listenForPropChanges) {\n let startDate = undefined\n const date_format = props.date_format\n\n // Handle startDate/endDate\n if (\n typeof props.date !== 'undefined' &&\n props.date !== state._date\n ) {\n startDate = props.date\n }\n if (\n typeof props.start_date !== 'undefined' &&\n props.start_date !== state._startDate\n ) {\n startDate = props.start_date\n }\n if (\n typeof startDate !== 'undefined' &&\n startDate !== state.startDate\n ) {\n state.startDate =\n convertStringToDate(startDate, {\n date_format,\n }) || undefined\n\n if (!isTrue(props.range)) {\n state.endDate = state.startDate\n }\n }\n if (\n typeof props.end_date !== 'undefined' &&\n isTrue(props.range) &&\n props.end_date !== state._endDate\n ) {\n state.endDate =\n convertStringToDate(props.end_date, {\n date_format,\n }) || undefined\n }\n\n // Handle startMonth/endMonth\n if (\n typeof props.start_month !== 'undefined' &&\n props.start_month !== state._startMonth\n ) {\n state.startMonth = convertStringToDate(props.start_month, {\n date_format,\n })\n }\n if (\n typeof props.end_month !== 'undefined' &&\n props.end_month !== state._endMonth\n ) {\n state.endMonth = convertStringToDate(props.end_month, {\n date_format,\n })\n }\n\n // Handle minDate/maxDate\n if (\n typeof props.min_date !== 'undefined' &&\n props.min_date !== state._minDate\n ) {\n state.minDate = convertStringToDate(props.min_date, {\n date_format,\n })\n }\n if (\n typeof props.max_date !== 'undefined' &&\n props.max_date !== state._maxDate\n ) {\n state.maxDate = convertStringToDate(props.max_date, {\n date_format,\n })\n }\n\n /**\n * Because now we do not any more relay on auto \"correction\",\n * but rather return \"is_valid_start_date=false\"\n */\n if (\n isTrue(props.correct_invalid_date) ||\n ((typeof props.min_date !== 'undefined' ||\n typeof props.max_date !== 'undefined') &&\n props.correct_invalid_date !== false)\n ) {\n if (isDisabled(state.startDate, state.minDate, state.maxDate)) {\n state.startDate = state.minDate\n }\n if (isDisabled(state.endDate, state.minDate, state.maxDate)) {\n // state.endDate is only used by the input if range is set to true.\n // this is done to make max_date correction work if the input is not a range and only max_date is defined.\n if (!props.range && !props.min_date) {\n state.startDate = state.maxDate\n } else {\n state.endDate = state.maxDate\n }\n }\n }\n }\n\n if (\n state.lastEventCallCache &&\n (state.lastEventCallCache.startDate !== state.startDate ||\n state.lastEventCallCache.endDate !== state.endDate)\n ) {\n state.lastEventCallCache = {}\n }\n\n if (isValid(state.startDate)) {\n state.__startDay = pad(format(state.startDate, 'dd'), 2)\n state.__startMonth = pad(format(state.startDate, 'MM'), 2)\n state.__startYear = format(state.startDate, 'yyyy')\n state.hasHadValidDate = true\n } else if (state.startDate === undefined) {\n state.__startDay = null\n state.__startMonth = null\n state.__startYear = null\n }\n\n if (isValid(state.endDate)) {\n state.__endDay = pad(format(state.endDate, 'dd'), 2)\n state.__endMonth = pad(format(state.endDate, 'MM'), 2)\n state.__endYear = format(state.endDate, 'yyyy')\n state.hasHadValidDate = true\n } else if (state.endDate === undefined) {\n state.__endDay = null\n state.__endMonth = null\n state.__endYear = null\n }\n\n if (\n !state.startMonth ||\n state._date !== props.date ||\n (state.changeMonthViews &&\n !isSameMonth(state.startMonth, state.startDate))\n ) {\n state.startMonth = state.startDate\n }\n\n if (\n !state.endMonth ||\n state._date !== props.date ||\n (isRange &&\n state.changeMonthViews &&\n !isSameMonth(state.endMonth, state.endDate))\n ) {\n state.endMonth = state.endDate || state.startMonth\n }\n\n state.views = getViews(state, isRange)\n\n // Update the months, in case they do not exist\n if (!state.startMonth) {\n state.startMonth = state.views[0].month\n if (\n isRange &&\n !state.endMonth &&\n typeof state.views[1] !== 'undefined'\n ) {\n state.endMonth = state.views[1].month\n }\n }\n\n state.changeMonthViews = false\n state._listenForPropChanges = true\n state._date = props.date\n state._startDate = props.start_date || props.date\n state._endDate = props.end_date\n state._startMonth = props.start_month\n state._endMonth = props.end_month\n state._month = props.month\n state._minDate = props.min_date\n state._maxDate = props.max_date\n\n return state\n }\n\n constructor(props) {\n super(props)\n\n if (typeof props.setReturnObject === 'function') {\n props.setReturnObject(this.getReturnObject)\n }\n }\n\n setViews = (views, cb = null) => {\n this.setState({ views, _listenForPropChanges: false }, cb)\n }\n\n updateState = (state, cb = null) => {\n this.setState({ ...state, _listenForPropChanges: false }, cb)\n }\n\n callOnChangeHandler = (args) => {\n /**\n * Prevent on_change to be fired twice if date not has actually changed\n * We clear the cache inside getDerivedStateFromProps\n */\n if (\n this.state.lastEventCallCache &&\n this.state.lastEventCallCache.startDate === this.state.startDate &&\n this.state.lastEventCallCache.endDate === this.state.endDate\n ) {\n return // stop here\n }\n\n dispatchCustomElementEvent(\n this,\n 'on_change',\n this.getReturnObject(args)\n )\n\n const lastEventCallCache = {\n startDate: this.state.startDate,\n endDate: this.state.endDate,\n }\n this.setState({ lastEventCallCache })\n }\n\n getReturnObject = ({ event = null, ...rest } = {}) => {\n const { startDate, endDate } = { ...this.state, ...rest }\n const attributes = this.props.attributes || {}\n const returnFormat = correctV1Format(this.props.return_format)\n const startDateIsValid = Boolean(startDate && isValid(startDate))\n const endDateIsValid = Boolean(endDate && isValid(endDate))\n\n let ret = null\n\n if (isTrue(this.props.range)) {\n ret = {\n event,\n attributes,\n days_between:\n startDateIsValid && endDateIsValid\n ? differenceInCalendarDays(endDate, startDate)\n : null,\n start_date: startDateIsValid\n ? format(startDate, returnFormat)\n : null,\n end_date: endDateIsValid ? format(endDate, returnFormat) : null,\n is_valid_start_date: startDateIsValid,\n is_valid_end_date: endDateIsValid,\n }\n } else {\n ret = {\n event,\n attributes,\n date: startDateIsValid ? format(startDate, returnFormat) : null,\n is_valid: startDateIsValid,\n }\n }\n\n if (this.props.min_date || this.props.max_date) {\n if (isTrue(this.props.range)) {\n if (\n startDateIsValid &&\n isDisabled(startDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid_start_date = false\n }\n if (\n endDateIsValid &&\n isDisabled(endDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid_end_date = false\n }\n } else {\n if (\n startDateIsValid &&\n isDisabled(startDate, this.state.minDate, this.state.maxDate)\n ) {\n ret.is_valid = false\n }\n }\n }\n\n return ret\n }\n\n render() {\n const { children } = this.props\n\n return (\n <DatePickerContext.Provider\n value={{\n translation: this.context.translation,\n setViews: this.setViews,\n updateState: this.updateState,\n getReturnObject: this.getReturnObject,\n callOnChangeHandler: this.callOnChangeHandler,\n props: this.props,\n ...this.props.enhanceWithMethods,\n ...this.state,\n }}\n >\n {children}\n </DatePickerContext.Provider>\n )\n }\n}\n\nexport const pad = (num, size) => ('000000000' + num).substr(-size)\n"],"mappings":"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"}
@@ -5,12 +5,14 @@ import type { UseMediaQueries } from '../../shared/useMedia';
5
5
  export type BasicProps = {
6
6
  direction?: 'horizontal' | 'vertical';
7
7
  wrap?: boolean;
8
- rowGap?: 'small' | 'medium' | 'large' | true;
8
+ rowGap?: 'small' | 'medium' | 'large' | boolean;
9
9
  sizeCount?: number;
10
10
  justify?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly';
11
11
  align?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline';
12
+ /** For when used as a flex item in an outer container in addition to being a container: */
12
13
  alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch';
13
- divider?: 'space' | 'line';
14
+ /** When "line-framed" is used, a line will be shown between items and above the first and below the last item */
15
+ divider?: 'space' | 'line' | 'line-framed';
14
16
  /** Spacing between items inside */
15
17
  spacing?: false | 'xx-small' | 'x-small' | 'small' | 'medium' | 'large' | 'x-large' | 'xx-large';
16
18
  breakpoints?: MediaQueryBreakpoints;