@dnb/eufemia 10.74.0 → 10.75.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (871) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/cjs/components/country-flag/CountryFlag.js +6 -3
  3. package/cjs/components/country-flag/CountryFlag.js.map +1 -1
  4. package/cjs/components/date-picker/DatePicker.d.ts +16 -7
  5. package/cjs/components/date-picker/DatePicker.js +8 -20
  6. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  7. package/cjs/components/date-picker/DatePickerCalendar.d.ts +1 -3
  8. package/cjs/components/date-picker/DatePickerCalendar.js +34 -19
  9. package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
  10. package/cjs/components/date-picker/DatePickerCalendarNavigator.d.ts +1 -4
  11. package/cjs/components/date-picker/DatePickerCalendarNavigator.js +1 -10
  12. package/cjs/components/date-picker/DatePickerCalendarNavigator.js.map +1 -1
  13. package/cjs/components/date-picker/DatePickerContext.d.ts +1 -0
  14. package/cjs/components/date-picker/DatePickerContext.js.map +1 -1
  15. package/cjs/components/date-picker/DatePickerDocs.js +0 -5
  16. package/cjs/components/date-picker/DatePickerDocs.js.map +1 -1
  17. package/cjs/components/date-picker/DatePickerFooter.js +2 -2
  18. package/cjs/components/date-picker/DatePickerFooter.js.map +1 -1
  19. package/cjs/components/date-picker/DatePickerInput.d.ts +3 -2
  20. package/cjs/components/date-picker/DatePickerInput.js +9 -8
  21. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  22. package/cjs/components/date-picker/DatePickerProvider.d.ts +1 -1
  23. package/cjs/components/date-picker/DatePickerProvider.js +16 -15
  24. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  25. package/cjs/components/date-picker/DatePickerRange.d.ts +3 -7
  26. package/cjs/components/date-picker/DatePickerRange.js +10 -8
  27. package/cjs/components/date-picker/DatePickerRange.js.map +1 -1
  28. package/cjs/components/date-picker/hooks/useDates.js.map +1 -1
  29. package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +4 -0
  30. package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
  31. package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +5 -0
  32. package/cjs/components/number-format/NumberUtils.d.ts +1 -1
  33. package/cjs/extensions/forms/DataContext/Provider/Provider.js +20 -12
  34. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  35. package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +2 -9
  36. package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  37. package/cjs/extensions/forms/Field/Date/Date.d.ts +1 -1
  38. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  39. package/cjs/extensions/forms/Field/Date/DateDocs.js +2 -1
  40. package/cjs/extensions/forms/Field/Date/DateDocs.js.map +1 -1
  41. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.d.ts +1 -1
  42. package/cjs/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  43. package/cjs/extensions/forms/Field/Indeterminate/IndeterminateDocs.js +1 -1
  44. package/cjs/extensions/forms/Field/Indeterminate/IndeterminateDocs.js.map +1 -1
  45. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +8 -4
  46. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  47. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +2 -2
  48. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +3 -2
  49. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +20 -13
  50. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  51. package/cjs/extensions/forms/Field/SelectCountry/useCountries.d.ts +2016 -0
  52. package/cjs/extensions/forms/Field/SelectCountry/useCountries.js +72 -0
  53. package/cjs/extensions/forms/Field/SelectCountry/useCountries.js.map +1 -0
  54. package/cjs/extensions/forms/Form/Isolation/useDataContextSnapshot.js +9 -2
  55. package/cjs/extensions/forms/Form/Isolation/useDataContextSnapshot.js.map +1 -1
  56. package/cjs/extensions/forms/Form/Isolation/useHasContentChanged.js +2 -1
  57. package/cjs/extensions/forms/Form/Isolation/useHasContentChanged.js.map +1 -1
  58. package/cjs/extensions/forms/Iterate/Array/Array.js +19 -6
  59. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  60. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +10 -0
  61. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  62. package/cjs/extensions/forms/Iterate/Array/types.d.ts +4 -1
  63. package/cjs/extensions/forms/Iterate/Array/types.js.map +1 -1
  64. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +9 -2
  65. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  66. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +9 -2
  67. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  68. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -2
  69. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  70. package/cjs/extensions/forms/Value/SelectCountry/useCountry.js +6 -1
  71. package/cjs/extensions/forms/Value/SelectCountry/useCountry.js.map +1 -1
  72. package/cjs/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
  73. package/cjs/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -1
  74. package/cjs/extensions/forms/constants/locales/countries/sv-SE.d.ts +257 -0
  75. package/cjs/extensions/forms/constants/locales/countries/sv-SE.js +263 -0
  76. package/cjs/extensions/forms/constants/locales/countries/sv-SE.js.map +1 -0
  77. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +4 -0
  78. package/cjs/extensions/forms/constants/locales/en-GB.js +4 -0
  79. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  80. package/cjs/extensions/forms/constants/locales/en-US.d.ts +4 -0
  81. package/cjs/extensions/forms/constants/locales/index.d.ts +8 -0
  82. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +4 -0
  83. package/cjs/extensions/forms/constants/locales/nb-NO.js +4 -0
  84. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  85. package/cjs/extensions/forms/constants/locales/sv-SE.d.ts +4 -0
  86. package/cjs/extensions/forms/constants/locales/sv-SE.js +4 -0
  87. package/cjs/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  88. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +2 -1
  89. package/cjs/extensions/forms/hooks/useFieldProps.js +32 -12
  90. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  91. package/cjs/extensions/forms/hooks/usePath.d.ts +4 -1
  92. package/cjs/extensions/forms/hooks/usePath.js +10 -3
  93. package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
  94. package/cjs/extensions/forms/hooks/useTranslation.d.ts +2 -2
  95. package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
  96. package/cjs/extensions/forms/utils/ajv.js +11 -3
  97. package/cjs/extensions/forms/utils/ajv.js.map +1 -1
  98. package/cjs/extensions/payment-card/PaymentCard.d.ts +9 -3
  99. package/cjs/extensions/payment-card/PaymentCard.js +12 -143
  100. package/cjs/extensions/payment-card/PaymentCard.js.map +1 -1
  101. package/cjs/extensions/payment-card/PaymentCardDocs.js +13 -13
  102. package/cjs/extensions/payment-card/PaymentCardDocs.js.map +1 -1
  103. package/cjs/extensions/payment-card/components/CardFigure.d.ts +12 -0
  104. package/cjs/extensions/payment-card/components/CardFigure.js +105 -0
  105. package/cjs/extensions/payment-card/components/CardFigure.js.map +1 -0
  106. package/cjs/extensions/payment-card/components/CardNumber.d.ts +27 -0
  107. package/cjs/extensions/payment-card/components/CardNumber.js +37 -0
  108. package/cjs/extensions/payment-card/components/CardNumber.js.map +1 -0
  109. package/cjs/extensions/payment-card/components/CardType.d.ts +7 -0
  110. package/cjs/extensions/payment-card/components/CardType.js +25 -0
  111. package/cjs/extensions/payment-card/components/CardType.js.map +1 -0
  112. package/cjs/extensions/payment-card/components/StatusOverlay.d.ts +20 -0
  113. package/cjs/extensions/payment-card/components/StatusOverlay.js +68 -0
  114. package/cjs/extensions/payment-card/components/StatusOverlay.js.map +1 -0
  115. package/cjs/extensions/payment-card/icons/brandLogos/DNB.js +24 -0
  116. package/cjs/extensions/payment-card/icons/brandLogos/DNB.js.map +1 -0
  117. package/cjs/extensions/payment-card/icons/brandLogos/Sbanken.js +31 -0
  118. package/cjs/extensions/payment-card/icons/brandLogos/Sbanken.js.map +1 -0
  119. package/cjs/extensions/payment-card/icons/index.d.ts +3 -5
  120. package/cjs/extensions/payment-card/icons/index.js +40 -58
  121. package/cjs/extensions/payment-card/icons/index.js.map +1 -1
  122. package/cjs/extensions/payment-card/icons/loyaltyLogos/Bedrift.js +40 -0
  123. package/cjs/extensions/payment-card/icons/loyaltyLogos/Bedrift.js.map +1 -0
  124. package/cjs/extensions/payment-card/icons/loyaltyLogos/Business.js +43 -0
  125. package/cjs/extensions/payment-card/icons/loyaltyLogos/Business.js.map +1 -0
  126. package/cjs/extensions/payment-card/icons/loyaltyLogos/Corporate.d.ts +3 -0
  127. package/cjs/extensions/payment-card/icons/loyaltyLogos/Corporate.js +52 -0
  128. package/cjs/extensions/payment-card/icons/loyaltyLogos/Corporate.js.map +1 -0
  129. package/cjs/extensions/payment-card/icons/loyaltyLogos/Intro.js +22 -0
  130. package/cjs/extensions/payment-card/icons/loyaltyLogos/Intro.js.map +1 -0
  131. package/cjs/extensions/payment-card/icons/loyaltyLogos/PB.js +61 -0
  132. package/cjs/extensions/payment-card/icons/loyaltyLogos/PB.js.map +1 -0
  133. package/cjs/extensions/payment-card/icons/loyaltyLogos/Pluss.js +29 -0
  134. package/cjs/extensions/payment-card/icons/loyaltyLogos/Pluss.js.map +1 -0
  135. package/cjs/extensions/payment-card/icons/loyaltyLogos/SagaGold.js +22 -0
  136. package/cjs/extensions/payment-card/icons/loyaltyLogos/SagaGold.js.map +1 -0
  137. package/cjs/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js +43 -0
  138. package/cjs/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js.map +1 -0
  139. package/cjs/extensions/payment-card/icons/loyaltyLogos/WorldElite.d.ts +3 -0
  140. package/cjs/extensions/payment-card/icons/loyaltyLogos/WorldElite.js +22 -0
  141. package/cjs/extensions/payment-card/icons/loyaltyLogos/WorldElite.js.map +1 -0
  142. package/cjs/extensions/payment-card/icons/providers/BankAxept.js +24 -0
  143. package/cjs/extensions/payment-card/icons/providers/BankAxept.js.map +1 -0
  144. package/cjs/extensions/payment-card/icons/providers/ClickToPay.d.ts +3 -0
  145. package/cjs/extensions/payment-card/icons/providers/ClickToPay.js +24 -0
  146. package/cjs/extensions/payment-card/icons/providers/ClickToPay.js.map +1 -0
  147. package/cjs/extensions/payment-card/icons/providers/MastercardDark.js +814 -0
  148. package/cjs/extensions/payment-card/icons/providers/MastercardDark.js.map +1 -0
  149. package/cjs/extensions/payment-card/icons/providers/MastercardDefault.js +37 -0
  150. package/cjs/extensions/payment-card/icons/providers/MastercardDefault.js.map +1 -0
  151. package/cjs/extensions/payment-card/icons/providers/VisaDefault.js +28 -0
  152. package/cjs/extensions/payment-card/icons/providers/VisaDefault.js.map +1 -0
  153. package/cjs/extensions/payment-card/icons/providers/VisaPlatinum.js +28 -0
  154. package/cjs/extensions/payment-card/icons/providers/VisaPlatinum.js.map +1 -0
  155. package/cjs/extensions/payment-card/icons/status/index.d.ts +3 -0
  156. package/cjs/extensions/payment-card/icons/status/index.js +61 -0
  157. package/cjs/extensions/payment-card/icons/status/index.js.map +1 -0
  158. package/cjs/extensions/payment-card/index.d.ts +2 -0
  159. package/cjs/extensions/payment-card/index.js +10 -1
  160. package/cjs/extensions/payment-card/index.js.map +1 -1
  161. package/cjs/extensions/payment-card/style/dnb-payment-card.css +173 -163
  162. package/cjs/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  163. package/cjs/extensions/payment-card/style/dnb-payment-card.scss +257 -242
  164. package/cjs/extensions/payment-card/utils/CardDesigns.d.ts +22 -10
  165. package/cjs/extensions/payment-card/utils/CardDesigns.js +44 -36
  166. package/cjs/extensions/payment-card/utils/CardDesigns.js.map +1 -1
  167. package/cjs/extensions/payment-card/utils/Types.js +2 -0
  168. package/cjs/extensions/payment-card/utils/Types.js.map +1 -1
  169. package/cjs/extensions/payment-card/utils/backgrounds/index.d.ts +6 -2
  170. package/cjs/extensions/payment-card/utils/backgrounds/index.js +31 -3
  171. package/cjs/extensions/payment-card/utils/backgrounds/index.js.map +1 -1
  172. package/cjs/extensions/payment-card/utils/backgrounds/master-gold.d.ts +2 -0
  173. package/cjs/extensions/payment-card/utils/backgrounds/master-gold.js +9 -0
  174. package/cjs/extensions/payment-card/utils/backgrounds/master-gold.js.map +1 -0
  175. package/cjs/extensions/payment-card/utils/backgrounds/my-first.d.ts +1 -1
  176. package/cjs/extensions/payment-card/utils/backgrounds/my-first.js +1 -1
  177. package/cjs/extensions/payment-card/utils/backgrounds/my-first.js.map +1 -1
  178. package/cjs/extensions/payment-card/utils/backgrounds/visa-default.d.ts +2 -0
  179. package/cjs/extensions/payment-card/utils/backgrounds/visa-default.js +9 -0
  180. package/cjs/extensions/payment-card/utils/backgrounds/visa-default.js.map +1 -0
  181. package/cjs/extensions/payment-card/utils/backgrounds/visa-pluss.d.ts +2 -0
  182. package/cjs/extensions/payment-card/utils/backgrounds/visa-pluss.js +9 -0
  183. package/cjs/extensions/payment-card/utils/backgrounds/visa-pluss.js.map +1 -0
  184. package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-gold.d.ts +2 -0
  185. package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-gold.js +9 -0
  186. package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-gold.js.map +1 -0
  187. package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-platinum.d.ts +2 -0
  188. package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js +9 -0
  189. package/cjs/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js.map +1 -0
  190. package/cjs/extensions/payment-card/utils/backgrounds/youth.d.ts +1 -1
  191. package/cjs/extensions/payment-card/utils/backgrounds/youth.js +1 -1
  192. package/cjs/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
  193. package/cjs/extensions/payment-card/utils/cardProducts.d.ts +1 -1
  194. package/cjs/extensions/payment-card/utils/cardProducts.js +241 -209
  195. package/cjs/extensions/payment-card/utils/cardProducts.js.map +1 -1
  196. package/cjs/shared/Context.d.ts +1 -1
  197. package/cjs/shared/Context.js +5 -14
  198. package/cjs/shared/Context.js.map +1 -1
  199. package/cjs/shared/Eufemia.d.ts +1 -1
  200. package/cjs/shared/Eufemia.js +2 -2
  201. package/cjs/shared/Eufemia.js.map +1 -1
  202. package/cjs/shared/Provider.js +15 -24
  203. package/cjs/shared/Provider.js.map +1 -1
  204. package/cjs/shared/locales/en-GB.d.ts +4 -2
  205. package/cjs/shared/locales/en-GB.js +6 -4
  206. package/cjs/shared/locales/en-GB.js.map +1 -1
  207. package/cjs/shared/locales/en-US.d.ts +4 -2
  208. package/cjs/shared/locales/index.d.ts +8 -4
  209. package/cjs/shared/locales/nb-NO.d.ts +4 -2
  210. package/cjs/shared/locales/nb-NO.js +6 -4
  211. package/cjs/shared/locales/nb-NO.js.map +1 -1
  212. package/cjs/shared/locales/sv-SE.d.ts +4 -2
  213. package/cjs/shared/locales/sv-SE.js +6 -4
  214. package/cjs/shared/locales/sv-SE.js.map +1 -1
  215. package/cjs/shared/useTranslation.d.ts +3 -2
  216. package/cjs/shared/useTranslation.js.map +1 -1
  217. package/cjs/style/core/scopes.scss +1 -1
  218. package/cjs/style/dnb-ui-basis.css +1 -1
  219. package/cjs/style/dnb-ui-basis.min.css +1 -1
  220. package/cjs/style/dnb-ui-body.css +1 -1
  221. package/cjs/style/dnb-ui-body.min.css +1 -1
  222. package/cjs/style/dnb-ui-core.css +1 -1
  223. package/cjs/style/dnb-ui-core.min.css +1 -1
  224. package/cjs/style/dnb-ui-extensions.css +173 -163
  225. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  226. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +4 -0
  227. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  228. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +173 -163
  229. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  230. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +4 -0
  231. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  232. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +173 -163
  233. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  234. package/cjs/style/themes/theme-ui/ui-theme-components.css +4 -0
  235. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  236. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +173 -163
  237. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  238. package/components/country-flag/CountryFlag.js +5 -2
  239. package/components/country-flag/CountryFlag.js.map +1 -1
  240. package/components/date-picker/DatePicker.d.ts +16 -7
  241. package/components/date-picker/DatePicker.js +8 -20
  242. package/components/date-picker/DatePicker.js.map +1 -1
  243. package/components/date-picker/DatePickerCalendar.d.ts +1 -3
  244. package/components/date-picker/DatePickerCalendar.js +34 -19
  245. package/components/date-picker/DatePickerCalendar.js.map +1 -1
  246. package/components/date-picker/DatePickerCalendarNavigator.d.ts +1 -4
  247. package/components/date-picker/DatePickerCalendarNavigator.js +1 -10
  248. package/components/date-picker/DatePickerCalendarNavigator.js.map +1 -1
  249. package/components/date-picker/DatePickerContext.d.ts +1 -0
  250. package/components/date-picker/DatePickerContext.js.map +1 -1
  251. package/components/date-picker/DatePickerDocs.js +0 -5
  252. package/components/date-picker/DatePickerDocs.js.map +1 -1
  253. package/components/date-picker/DatePickerFooter.js +2 -2
  254. package/components/date-picker/DatePickerFooter.js.map +1 -1
  255. package/components/date-picker/DatePickerInput.d.ts +3 -2
  256. package/components/date-picker/DatePickerInput.js +9 -8
  257. package/components/date-picker/DatePickerInput.js.map +1 -1
  258. package/components/date-picker/DatePickerProvider.d.ts +1 -1
  259. package/components/date-picker/DatePickerProvider.js +17 -16
  260. package/components/date-picker/DatePickerProvider.js.map +1 -1
  261. package/components/date-picker/DatePickerRange.d.ts +3 -7
  262. package/components/date-picker/DatePickerRange.js +9 -8
  263. package/components/date-picker/DatePickerRange.js.map +1 -1
  264. package/components/date-picker/hooks/useDates.js.map +1 -1
  265. package/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +4 -0
  266. package/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
  267. package/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +5 -0
  268. package/components/number-format/NumberUtils.d.ts +1 -1
  269. package/es/components/country-flag/CountryFlag.js +5 -2
  270. package/es/components/country-flag/CountryFlag.js.map +1 -1
  271. package/es/components/date-picker/DatePicker.d.ts +16 -7
  272. package/es/components/date-picker/DatePicker.js +8 -20
  273. package/es/components/date-picker/DatePicker.js.map +1 -1
  274. package/es/components/date-picker/DatePickerCalendar.d.ts +1 -3
  275. package/es/components/date-picker/DatePickerCalendar.js +33 -19
  276. package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
  277. package/es/components/date-picker/DatePickerCalendarNavigator.d.ts +1 -4
  278. package/es/components/date-picker/DatePickerCalendarNavigator.js +1 -10
  279. package/es/components/date-picker/DatePickerCalendarNavigator.js.map +1 -1
  280. package/es/components/date-picker/DatePickerContext.d.ts +1 -0
  281. package/es/components/date-picker/DatePickerContext.js.map +1 -1
  282. package/es/components/date-picker/DatePickerDocs.js +0 -5
  283. package/es/components/date-picker/DatePickerDocs.js.map +1 -1
  284. package/es/components/date-picker/DatePickerFooter.js +2 -2
  285. package/es/components/date-picker/DatePickerFooter.js.map +1 -1
  286. package/es/components/date-picker/DatePickerInput.d.ts +3 -2
  287. package/es/components/date-picker/DatePickerInput.js +9 -8
  288. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  289. package/es/components/date-picker/DatePickerProvider.d.ts +1 -1
  290. package/es/components/date-picker/DatePickerProvider.js +16 -15
  291. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  292. package/es/components/date-picker/DatePickerRange.d.ts +3 -7
  293. package/es/components/date-picker/DatePickerRange.js +9 -8
  294. package/es/components/date-picker/DatePickerRange.js.map +1 -1
  295. package/es/components/date-picker/hooks/useDates.js.map +1 -1
  296. package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +4 -0
  297. package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
  298. package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +5 -0
  299. package/es/components/number-format/NumberUtils.d.ts +1 -1
  300. package/es/extensions/forms/DataContext/Provider/Provider.js +20 -12
  301. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  302. package/es/extensions/forms/Field/Boolean/Boolean.d.ts +2 -9
  303. package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  304. package/es/extensions/forms/Field/Date/Date.d.ts +1 -1
  305. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  306. package/es/extensions/forms/Field/Date/DateDocs.js +2 -1
  307. package/es/extensions/forms/Field/Date/DateDocs.js.map +1 -1
  308. package/es/extensions/forms/Field/Indeterminate/Indeterminate.d.ts +1 -1
  309. package/es/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  310. package/es/extensions/forms/Field/Indeterminate/IndeterminateDocs.js +1 -1
  311. package/es/extensions/forms/Field/Indeterminate/IndeterminateDocs.js.map +1 -1
  312. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -3
  313. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  314. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +2 -2
  315. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +3 -2
  316. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +13 -6
  317. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  318. package/es/extensions/forms/Field/SelectCountry/useCountries.d.ts +2016 -0
  319. package/es/extensions/forms/Field/SelectCountry/useCountries.js +63 -0
  320. package/es/extensions/forms/Field/SelectCountry/useCountries.js.map +1 -0
  321. package/es/extensions/forms/Form/Isolation/useDataContextSnapshot.js +10 -3
  322. package/es/extensions/forms/Form/Isolation/useDataContextSnapshot.js.map +1 -1
  323. package/es/extensions/forms/Form/Isolation/useHasContentChanged.js +2 -1
  324. package/es/extensions/forms/Form/Isolation/useHasContentChanged.js.map +1 -1
  325. package/es/extensions/forms/Iterate/Array/Array.js +19 -6
  326. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  327. package/es/extensions/forms/Iterate/Array/ArrayDocs.js +10 -0
  328. package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  329. package/es/extensions/forms/Iterate/Array/types.d.ts +4 -1
  330. package/es/extensions/forms/Iterate/Array/types.js.map +1 -1
  331. package/es/extensions/forms/Iterate/PushButton/PushButton.js +9 -2
  332. package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  333. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +10 -3
  334. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  335. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -2
  336. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  337. package/es/extensions/forms/Value/SelectCountry/useCountry.js +6 -1
  338. package/es/extensions/forms/Value/SelectCountry/useCountry.js.map +1 -1
  339. package/es/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
  340. package/es/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -1
  341. package/es/extensions/forms/constants/locales/countries/sv-SE.d.ts +257 -0
  342. package/es/extensions/forms/constants/locales/countries/sv-SE.js +257 -0
  343. package/es/extensions/forms/constants/locales/countries/sv-SE.js.map +1 -0
  344. package/es/extensions/forms/constants/locales/en-GB.d.ts +4 -0
  345. package/es/extensions/forms/constants/locales/en-GB.js +4 -0
  346. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  347. package/es/extensions/forms/constants/locales/en-US.d.ts +4 -0
  348. package/es/extensions/forms/constants/locales/index.d.ts +8 -0
  349. package/es/extensions/forms/constants/locales/nb-NO.d.ts +4 -0
  350. package/es/extensions/forms/constants/locales/nb-NO.js +4 -0
  351. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  352. package/es/extensions/forms/constants/locales/sv-SE.d.ts +4 -0
  353. package/es/extensions/forms/constants/locales/sv-SE.js +4 -0
  354. package/es/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  355. package/es/extensions/forms/hooks/useFieldProps.d.ts +2 -1
  356. package/es/extensions/forms/hooks/useFieldProps.js +32 -12
  357. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  358. package/es/extensions/forms/hooks/usePath.d.ts +4 -1
  359. package/es/extensions/forms/hooks/usePath.js +10 -4
  360. package/es/extensions/forms/hooks/usePath.js.map +1 -1
  361. package/es/extensions/forms/hooks/useTranslation.d.ts +2 -2
  362. package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
  363. package/es/extensions/forms/utils/ajv.js +11 -3
  364. package/es/extensions/forms/utils/ajv.js.map +1 -1
  365. package/es/extensions/payment-card/PaymentCard.d.ts +9 -3
  366. package/es/extensions/payment-card/PaymentCard.js +9 -133
  367. package/es/extensions/payment-card/PaymentCard.js.map +1 -1
  368. package/es/extensions/payment-card/PaymentCardDocs.js +13 -13
  369. package/es/extensions/payment-card/PaymentCardDocs.js.map +1 -1
  370. package/es/extensions/payment-card/components/CardFigure.d.ts +12 -0
  371. package/es/extensions/payment-card/components/CardFigure.js +94 -0
  372. package/es/extensions/payment-card/components/CardFigure.js.map +1 -0
  373. package/es/extensions/payment-card/components/CardNumber.d.ts +27 -0
  374. package/es/extensions/payment-card/components/CardNumber.js +26 -0
  375. package/es/extensions/payment-card/components/CardNumber.js.map +1 -0
  376. package/es/extensions/payment-card/components/CardType.d.ts +7 -0
  377. package/es/extensions/payment-card/components/CardType.js +17 -0
  378. package/es/extensions/payment-card/components/CardType.js.map +1 -0
  379. package/es/extensions/payment-card/components/StatusOverlay.d.ts +20 -0
  380. package/es/extensions/payment-card/components/StatusOverlay.js +59 -0
  381. package/es/extensions/payment-card/components/StatusOverlay.js.map +1 -0
  382. package/es/extensions/payment-card/icons/brandLogos/DNB.js +17 -0
  383. package/es/extensions/payment-card/icons/brandLogos/DNB.js.map +1 -0
  384. package/es/extensions/payment-card/icons/brandLogos/Sbanken.js +24 -0
  385. package/es/extensions/payment-card/icons/brandLogos/Sbanken.js.map +1 -0
  386. package/es/extensions/payment-card/icons/index.d.ts +3 -5
  387. package/es/extensions/payment-card/icons/index.js +30 -53
  388. package/es/extensions/payment-card/icons/index.js.map +1 -1
  389. package/es/extensions/payment-card/icons/loyaltyLogos/Bedrift.js +33 -0
  390. package/es/extensions/payment-card/icons/loyaltyLogos/Bedrift.js.map +1 -0
  391. package/es/extensions/payment-card/icons/loyaltyLogos/Business.js +36 -0
  392. package/es/extensions/payment-card/icons/loyaltyLogos/Business.js.map +1 -0
  393. package/es/extensions/payment-card/icons/loyaltyLogos/Corporate.d.ts +3 -0
  394. package/es/extensions/payment-card/icons/loyaltyLogos/Corporate.js +45 -0
  395. package/es/extensions/payment-card/icons/loyaltyLogos/Corporate.js.map +1 -0
  396. package/es/extensions/payment-card/icons/loyaltyLogos/Intro.js +15 -0
  397. package/es/extensions/payment-card/icons/loyaltyLogos/Intro.js.map +1 -0
  398. package/es/extensions/payment-card/icons/loyaltyLogos/PB.js +54 -0
  399. package/es/extensions/payment-card/icons/loyaltyLogos/PB.js.map +1 -0
  400. package/es/extensions/payment-card/icons/loyaltyLogos/Pluss.js +22 -0
  401. package/es/extensions/payment-card/icons/loyaltyLogos/Pluss.js.map +1 -0
  402. package/es/extensions/payment-card/icons/loyaltyLogos/SagaGold.js +15 -0
  403. package/es/extensions/payment-card/icons/loyaltyLogos/SagaGold.js.map +1 -0
  404. package/es/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js +36 -0
  405. package/es/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js.map +1 -0
  406. package/es/extensions/payment-card/icons/loyaltyLogos/WorldElite.d.ts +3 -0
  407. package/es/extensions/payment-card/icons/loyaltyLogos/WorldElite.js +15 -0
  408. package/es/extensions/payment-card/icons/loyaltyLogos/WorldElite.js.map +1 -0
  409. package/es/extensions/payment-card/icons/providers/BankAxept.js +17 -0
  410. package/es/extensions/payment-card/icons/providers/BankAxept.js.map +1 -0
  411. package/es/extensions/payment-card/icons/providers/ClickToPay.d.ts +3 -0
  412. package/es/extensions/payment-card/icons/providers/ClickToPay.js +17 -0
  413. package/es/extensions/payment-card/icons/providers/ClickToPay.js.map +1 -0
  414. package/es/extensions/payment-card/icons/providers/MastercardDark.js +807 -0
  415. package/es/extensions/payment-card/icons/providers/MastercardDark.js.map +1 -0
  416. package/es/extensions/payment-card/icons/providers/MastercardDefault.js +30 -0
  417. package/es/extensions/payment-card/icons/providers/MastercardDefault.js.map +1 -0
  418. package/es/extensions/payment-card/icons/providers/VisaDefault.js +21 -0
  419. package/es/extensions/payment-card/icons/providers/VisaDefault.js.map +1 -0
  420. package/es/extensions/payment-card/icons/providers/VisaPlatinum.js +21 -0
  421. package/es/extensions/payment-card/icons/providers/VisaPlatinum.js.map +1 -0
  422. package/es/extensions/payment-card/icons/status/index.d.ts +3 -0
  423. package/es/extensions/payment-card/icons/status/index.js +52 -0
  424. package/es/extensions/payment-card/icons/status/index.js.map +1 -0
  425. package/es/extensions/payment-card/index.d.ts +2 -0
  426. package/es/extensions/payment-card/index.js +2 -0
  427. package/es/extensions/payment-card/index.js.map +1 -1
  428. package/es/extensions/payment-card/style/dnb-payment-card.css +173 -163
  429. package/es/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  430. package/es/extensions/payment-card/style/dnb-payment-card.scss +257 -242
  431. package/es/extensions/payment-card/utils/CardDesigns.d.ts +22 -10
  432. package/es/extensions/payment-card/utils/CardDesigns.js +45 -37
  433. package/es/extensions/payment-card/utils/CardDesigns.js.map +1 -1
  434. package/es/extensions/payment-card/utils/Types.js +2 -0
  435. package/es/extensions/payment-card/utils/Types.js.map +1 -1
  436. package/es/extensions/payment-card/utils/backgrounds/index.d.ts +6 -2
  437. package/es/extensions/payment-card/utils/backgrounds/index.js +6 -2
  438. package/es/extensions/payment-card/utils/backgrounds/index.js.map +1 -1
  439. package/es/extensions/payment-card/utils/backgrounds/master-gold.d.ts +2 -0
  440. package/es/extensions/payment-card/utils/backgrounds/master-gold.js +3 -0
  441. package/es/extensions/payment-card/utils/backgrounds/master-gold.js.map +1 -0
  442. package/es/extensions/payment-card/utils/backgrounds/my-first.d.ts +1 -1
  443. package/es/extensions/payment-card/utils/backgrounds/my-first.js +1 -1
  444. package/es/extensions/payment-card/utils/backgrounds/my-first.js.map +1 -1
  445. package/es/extensions/payment-card/utils/backgrounds/visa-default.d.ts +2 -0
  446. package/es/extensions/payment-card/utils/backgrounds/visa-default.js +3 -0
  447. package/es/extensions/payment-card/utils/backgrounds/visa-default.js.map +1 -0
  448. package/es/extensions/payment-card/utils/backgrounds/visa-pluss.d.ts +2 -0
  449. package/es/extensions/payment-card/utils/backgrounds/visa-pluss.js +3 -0
  450. package/es/extensions/payment-card/utils/backgrounds/visa-pluss.js.map +1 -0
  451. package/es/extensions/payment-card/utils/backgrounds/visa-saga-gold.d.ts +2 -0
  452. package/es/extensions/payment-card/utils/backgrounds/visa-saga-gold.js +3 -0
  453. package/es/extensions/payment-card/utils/backgrounds/visa-saga-gold.js.map +1 -0
  454. package/es/extensions/payment-card/utils/backgrounds/visa-saga-platinum.d.ts +2 -0
  455. package/es/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js +3 -0
  456. package/es/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js.map +1 -0
  457. package/es/extensions/payment-card/utils/backgrounds/youth.d.ts +1 -1
  458. package/es/extensions/payment-card/utils/backgrounds/youth.js +1 -1
  459. package/es/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
  460. package/es/extensions/payment-card/utils/cardProducts.d.ts +1 -1
  461. package/es/extensions/payment-card/utils/cardProducts.js +241 -209
  462. package/es/extensions/payment-card/utils/cardProducts.js.map +1 -1
  463. package/es/shared/Context.d.ts +1 -1
  464. package/es/shared/Context.js +5 -14
  465. package/es/shared/Context.js.map +1 -1
  466. package/es/shared/Eufemia.d.ts +1 -1
  467. package/es/shared/Eufemia.js +2 -2
  468. package/es/shared/Eufemia.js.map +1 -1
  469. package/es/shared/Provider.js +15 -24
  470. package/es/shared/Provider.js.map +1 -1
  471. package/es/shared/locales/en-GB.d.ts +4 -2
  472. package/es/shared/locales/en-GB.js +6 -4
  473. package/es/shared/locales/en-GB.js.map +1 -1
  474. package/es/shared/locales/en-US.d.ts +4 -2
  475. package/es/shared/locales/index.d.ts +8 -4
  476. package/es/shared/locales/nb-NO.d.ts +4 -2
  477. package/es/shared/locales/nb-NO.js +6 -4
  478. package/es/shared/locales/nb-NO.js.map +1 -1
  479. package/es/shared/locales/sv-SE.d.ts +4 -2
  480. package/es/shared/locales/sv-SE.js +6 -4
  481. package/es/shared/locales/sv-SE.js.map +1 -1
  482. package/es/shared/useTranslation.d.ts +3 -2
  483. package/es/shared/useTranslation.js.map +1 -1
  484. package/es/style/core/scopes.scss +1 -1
  485. package/es/style/dnb-ui-basis.css +1 -1
  486. package/es/style/dnb-ui-basis.min.css +1 -1
  487. package/es/style/dnb-ui-body.css +1 -1
  488. package/es/style/dnb-ui-body.min.css +1 -1
  489. package/es/style/dnb-ui-core.css +1 -1
  490. package/es/style/dnb-ui-core.min.css +1 -1
  491. package/es/style/dnb-ui-extensions.css +173 -163
  492. package/es/style/dnb-ui-extensions.min.css +1 -1
  493. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +4 -0
  494. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  495. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +173 -163
  496. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  497. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +4 -0
  498. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  499. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +173 -163
  500. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  501. package/es/style/themes/theme-ui/ui-theme-components.css +4 -0
  502. package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  503. package/es/style/themes/theme-ui/ui-theme-extensions.css +173 -163
  504. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  505. package/esm/dnb-ui-components.min.mjs +1 -1
  506. package/esm/dnb-ui-elements.min.mjs +1 -1
  507. package/esm/dnb-ui-extensions.min.mjs +3 -3
  508. package/esm/dnb-ui-lib.min.mjs +1 -1
  509. package/extensions/forms/DataContext/Provider/Provider.js +20 -12
  510. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  511. package/extensions/forms/Field/Boolean/Boolean.d.ts +2 -9
  512. package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  513. package/extensions/forms/Field/Date/Date.d.ts +1 -1
  514. package/extensions/forms/Field/Date/Date.js.map +1 -1
  515. package/extensions/forms/Field/Date/DateDocs.js +2 -1
  516. package/extensions/forms/Field/Date/DateDocs.js.map +1 -1
  517. package/extensions/forms/Field/Indeterminate/Indeterminate.d.ts +1 -1
  518. package/extensions/forms/Field/Indeterminate/Indeterminate.js.map +1 -1
  519. package/extensions/forms/Field/Indeterminate/IndeterminateDocs.js +1 -1
  520. package/extensions/forms/Field/Indeterminate/IndeterminateDocs.js.map +1 -1
  521. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -3
  522. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  523. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +2 -2
  524. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +3 -2
  525. package/extensions/forms/Field/SelectCountry/SelectCountry.js +17 -10
  526. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  527. package/extensions/forms/Field/SelectCountry/useCountries.d.ts +2016 -0
  528. package/extensions/forms/Field/SelectCountry/useCountries.js +64 -0
  529. package/extensions/forms/Field/SelectCountry/useCountries.js.map +1 -0
  530. package/extensions/forms/Form/Isolation/useDataContextSnapshot.js +10 -3
  531. package/extensions/forms/Form/Isolation/useDataContextSnapshot.js.map +1 -1
  532. package/extensions/forms/Form/Isolation/useHasContentChanged.js +2 -1
  533. package/extensions/forms/Form/Isolation/useHasContentChanged.js.map +1 -1
  534. package/extensions/forms/Iterate/Array/Array.js +19 -6
  535. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  536. package/extensions/forms/Iterate/Array/ArrayDocs.js +10 -0
  537. package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  538. package/extensions/forms/Iterate/Array/types.d.ts +4 -1
  539. package/extensions/forms/Iterate/Array/types.js.map +1 -1
  540. package/extensions/forms/Iterate/PushButton/PushButton.js +9 -2
  541. package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  542. package/extensions/forms/Iterate/PushContainer/PushContainer.js +10 -3
  543. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  544. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +4 -2
  545. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  546. package/extensions/forms/Value/SelectCountry/useCountry.js +6 -1
  547. package/extensions/forms/Value/SelectCountry/useCountry.js.map +1 -1
  548. package/extensions/forms/Wizard/Container/DisplaySteps.js.map +1 -1
  549. package/extensions/forms/Wizard/Container/useCollectStepsData.js.map +1 -1
  550. package/extensions/forms/constants/locales/countries/sv-SE.d.ts +257 -0
  551. package/extensions/forms/constants/locales/countries/sv-SE.js +257 -0
  552. package/extensions/forms/constants/locales/countries/sv-SE.js.map +1 -0
  553. package/extensions/forms/constants/locales/en-GB.d.ts +4 -0
  554. package/extensions/forms/constants/locales/en-GB.js +4 -0
  555. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  556. package/extensions/forms/constants/locales/en-US.d.ts +4 -0
  557. package/extensions/forms/constants/locales/index.d.ts +8 -0
  558. package/extensions/forms/constants/locales/nb-NO.d.ts +4 -0
  559. package/extensions/forms/constants/locales/nb-NO.js +4 -0
  560. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  561. package/extensions/forms/constants/locales/sv-SE.d.ts +4 -0
  562. package/extensions/forms/constants/locales/sv-SE.js +4 -0
  563. package/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  564. package/extensions/forms/hooks/useFieldProps.d.ts +2 -1
  565. package/extensions/forms/hooks/useFieldProps.js +32 -12
  566. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  567. package/extensions/forms/hooks/usePath.d.ts +4 -1
  568. package/extensions/forms/hooks/usePath.js +10 -3
  569. package/extensions/forms/hooks/usePath.js.map +1 -1
  570. package/extensions/forms/hooks/useTranslation.d.ts +2 -2
  571. package/extensions/forms/hooks/useTranslation.js.map +1 -1
  572. package/extensions/forms/utils/ajv.js +11 -3
  573. package/extensions/forms/utils/ajv.js.map +1 -1
  574. package/extensions/payment-card/PaymentCard.d.ts +9 -3
  575. package/extensions/payment-card/PaymentCard.js +9 -139
  576. package/extensions/payment-card/PaymentCard.js.map +1 -1
  577. package/extensions/payment-card/PaymentCardDocs.js +13 -13
  578. package/extensions/payment-card/PaymentCardDocs.js.map +1 -1
  579. package/extensions/payment-card/components/CardFigure.d.ts +12 -0
  580. package/extensions/payment-card/components/CardFigure.js +95 -0
  581. package/extensions/payment-card/components/CardFigure.js.map +1 -0
  582. package/extensions/payment-card/components/CardNumber.d.ts +27 -0
  583. package/extensions/payment-card/components/CardNumber.js +29 -0
  584. package/extensions/payment-card/components/CardNumber.js.map +1 -0
  585. package/extensions/payment-card/components/CardType.d.ts +7 -0
  586. package/extensions/payment-card/components/CardType.js +18 -0
  587. package/extensions/payment-card/components/CardType.js.map +1 -0
  588. package/extensions/payment-card/components/StatusOverlay.d.ts +20 -0
  589. package/extensions/payment-card/components/StatusOverlay.js +60 -0
  590. package/extensions/payment-card/components/StatusOverlay.js.map +1 -0
  591. package/extensions/payment-card/icons/brandLogos/DNB.js +17 -0
  592. package/extensions/payment-card/icons/brandLogos/DNB.js.map +1 -0
  593. package/extensions/payment-card/icons/brandLogos/Sbanken.js +24 -0
  594. package/extensions/payment-card/icons/brandLogos/Sbanken.js.map +1 -0
  595. package/extensions/payment-card/icons/index.d.ts +3 -5
  596. package/extensions/payment-card/icons/index.js +32 -56
  597. package/extensions/payment-card/icons/index.js.map +1 -1
  598. package/extensions/payment-card/icons/loyaltyLogos/Bedrift.js +33 -0
  599. package/extensions/payment-card/icons/loyaltyLogos/Bedrift.js.map +1 -0
  600. package/extensions/payment-card/icons/loyaltyLogos/Business.js +36 -0
  601. package/extensions/payment-card/icons/loyaltyLogos/Business.js.map +1 -0
  602. package/extensions/payment-card/icons/loyaltyLogos/Corporate.d.ts +3 -0
  603. package/extensions/payment-card/icons/loyaltyLogos/Corporate.js +45 -0
  604. package/extensions/payment-card/icons/loyaltyLogos/Corporate.js.map +1 -0
  605. package/extensions/payment-card/icons/loyaltyLogos/Intro.js +15 -0
  606. package/extensions/payment-card/icons/loyaltyLogos/Intro.js.map +1 -0
  607. package/extensions/payment-card/icons/loyaltyLogos/PB.js +54 -0
  608. package/extensions/payment-card/icons/loyaltyLogos/PB.js.map +1 -0
  609. package/extensions/payment-card/icons/loyaltyLogos/Pluss.js +22 -0
  610. package/extensions/payment-card/icons/loyaltyLogos/Pluss.js.map +1 -0
  611. package/extensions/payment-card/icons/loyaltyLogos/SagaGold.js +15 -0
  612. package/extensions/payment-card/icons/loyaltyLogos/SagaGold.js.map +1 -0
  613. package/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js +36 -0
  614. package/extensions/payment-card/icons/loyaltyLogos/SagaPlatinum.js.map +1 -0
  615. package/extensions/payment-card/icons/loyaltyLogos/WorldElite.d.ts +3 -0
  616. package/extensions/payment-card/icons/loyaltyLogos/WorldElite.js +15 -0
  617. package/extensions/payment-card/icons/loyaltyLogos/WorldElite.js.map +1 -0
  618. package/extensions/payment-card/icons/providers/BankAxept.js +17 -0
  619. package/extensions/payment-card/icons/providers/BankAxept.js.map +1 -0
  620. package/extensions/payment-card/icons/providers/ClickToPay.d.ts +3 -0
  621. package/extensions/payment-card/icons/providers/ClickToPay.js +17 -0
  622. package/extensions/payment-card/icons/providers/ClickToPay.js.map +1 -0
  623. package/extensions/payment-card/icons/providers/MastercardDark.js +807 -0
  624. package/extensions/payment-card/icons/providers/MastercardDark.js.map +1 -0
  625. package/extensions/payment-card/icons/providers/MastercardDefault.js +30 -0
  626. package/extensions/payment-card/icons/providers/MastercardDefault.js.map +1 -0
  627. package/extensions/payment-card/icons/providers/VisaDefault.js +21 -0
  628. package/extensions/payment-card/icons/providers/VisaDefault.js.map +1 -0
  629. package/extensions/payment-card/icons/providers/VisaPlatinum.js +21 -0
  630. package/extensions/payment-card/icons/providers/VisaPlatinum.js.map +1 -0
  631. package/extensions/payment-card/icons/status/index.d.ts +3 -0
  632. package/extensions/payment-card/icons/status/index.js +53 -0
  633. package/extensions/payment-card/icons/status/index.js.map +1 -0
  634. package/extensions/payment-card/index.d.ts +2 -0
  635. package/extensions/payment-card/index.js +2 -0
  636. package/extensions/payment-card/index.js.map +1 -1
  637. package/extensions/payment-card/style/dnb-payment-card.css +173 -163
  638. package/extensions/payment-card/style/dnb-payment-card.min.css +1 -1
  639. package/extensions/payment-card/style/dnb-payment-card.scss +257 -242
  640. package/extensions/payment-card/utils/CardDesigns.d.ts +22 -10
  641. package/extensions/payment-card/utils/CardDesigns.js +45 -37
  642. package/extensions/payment-card/utils/CardDesigns.js.map +1 -1
  643. package/extensions/payment-card/utils/Types.js +2 -0
  644. package/extensions/payment-card/utils/Types.js.map +1 -1
  645. package/extensions/payment-card/utils/backgrounds/index.d.ts +6 -2
  646. package/extensions/payment-card/utils/backgrounds/index.js +6 -2
  647. package/extensions/payment-card/utils/backgrounds/index.js.map +1 -1
  648. package/extensions/payment-card/utils/backgrounds/master-gold.d.ts +2 -0
  649. package/extensions/payment-card/utils/backgrounds/master-gold.js +3 -0
  650. package/extensions/payment-card/utils/backgrounds/master-gold.js.map +1 -0
  651. package/extensions/payment-card/utils/backgrounds/my-first.d.ts +1 -1
  652. package/extensions/payment-card/utils/backgrounds/my-first.js +1 -1
  653. package/extensions/payment-card/utils/backgrounds/my-first.js.map +1 -1
  654. package/extensions/payment-card/utils/backgrounds/visa-default.d.ts +2 -0
  655. package/extensions/payment-card/utils/backgrounds/visa-default.js +3 -0
  656. package/extensions/payment-card/utils/backgrounds/visa-default.js.map +1 -0
  657. package/extensions/payment-card/utils/backgrounds/visa-pluss.d.ts +2 -0
  658. package/extensions/payment-card/utils/backgrounds/visa-pluss.js +3 -0
  659. package/extensions/payment-card/utils/backgrounds/visa-pluss.js.map +1 -0
  660. package/extensions/payment-card/utils/backgrounds/visa-saga-gold.d.ts +2 -0
  661. package/extensions/payment-card/utils/backgrounds/visa-saga-gold.js +3 -0
  662. package/extensions/payment-card/utils/backgrounds/visa-saga-gold.js.map +1 -0
  663. package/extensions/payment-card/utils/backgrounds/visa-saga-platinum.d.ts +2 -0
  664. package/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js +3 -0
  665. package/extensions/payment-card/utils/backgrounds/visa-saga-platinum.js.map +1 -0
  666. package/extensions/payment-card/utils/backgrounds/youth.d.ts +1 -1
  667. package/extensions/payment-card/utils/backgrounds/youth.js +1 -1
  668. package/extensions/payment-card/utils/backgrounds/youth.js.map +1 -1
  669. package/extensions/payment-card/utils/cardProducts.d.ts +1 -1
  670. package/extensions/payment-card/utils/cardProducts.js +241 -209
  671. package/extensions/payment-card/utils/cardProducts.js.map +1 -1
  672. package/package.json +1 -1
  673. package/shared/Context.d.ts +1 -1
  674. package/shared/Context.js +5 -14
  675. package/shared/Context.js.map +1 -1
  676. package/shared/Eufemia.d.ts +1 -1
  677. package/shared/Eufemia.js +2 -2
  678. package/shared/Eufemia.js.map +1 -1
  679. package/shared/Provider.js +15 -24
  680. package/shared/Provider.js.map +1 -1
  681. package/shared/locales/en-GB.d.ts +4 -2
  682. package/shared/locales/en-GB.js +6 -4
  683. package/shared/locales/en-GB.js.map +1 -1
  684. package/shared/locales/en-US.d.ts +4 -2
  685. package/shared/locales/index.d.ts +8 -4
  686. package/shared/locales/nb-NO.d.ts +4 -2
  687. package/shared/locales/nb-NO.js +6 -4
  688. package/shared/locales/nb-NO.js.map +1 -1
  689. package/shared/locales/sv-SE.d.ts +4 -2
  690. package/shared/locales/sv-SE.js +6 -4
  691. package/shared/locales/sv-SE.js.map +1 -1
  692. package/shared/useTranslation.d.ts +3 -2
  693. package/shared/useTranslation.js.map +1 -1
  694. package/style/core/scopes.scss +1 -1
  695. package/style/dnb-ui-basis.css +1 -1
  696. package/style/dnb-ui-basis.min.css +1 -1
  697. package/style/dnb-ui-body.css +1 -1
  698. package/style/dnb-ui-body.min.css +1 -1
  699. package/style/dnb-ui-core.css +1 -1
  700. package/style/dnb-ui-core.min.css +1 -1
  701. package/style/dnb-ui-extensions.css +173 -163
  702. package/style/dnb-ui-extensions.min.css +1 -1
  703. package/style/themes/theme-eiendom/eiendom-theme-components.css +4 -0
  704. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
  705. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +173 -163
  706. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  707. package/style/themes/theme-sbanken/sbanken-theme-components.css +4 -0
  708. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
  709. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +173 -163
  710. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  711. package/style/themes/theme-ui/ui-theme-components.css +4 -0
  712. package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
  713. package/style/themes/theme-ui/ui-theme-extensions.css +173 -163
  714. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  715. package/umd/dnb-ui-components.min.js +1 -1
  716. package/umd/dnb-ui-elements.min.js +1 -1
  717. package/umd/dnb-ui-extensions.min.js +3 -3
  718. package/umd/dnb-ui-lib.min.js +1 -1
  719. package/cjs/extensions/payment-card/icons/BankAxept.js +0 -22
  720. package/cjs/extensions/payment-card/icons/BankAxept.js.map +0 -1
  721. package/cjs/extensions/payment-card/icons/Bedrift.js +0 -22
  722. package/cjs/extensions/payment-card/icons/Bedrift.js.map +0 -1
  723. package/cjs/extensions/payment-card/icons/Business.js +0 -22
  724. package/cjs/extensions/payment-card/icons/Business.js.map +0 -1
  725. package/cjs/extensions/payment-card/icons/Clock.d.ts +0 -3
  726. package/cjs/extensions/payment-card/icons/Clock.js +0 -25
  727. package/cjs/extensions/payment-card/icons/Clock.js.map +0 -1
  728. package/cjs/extensions/payment-card/icons/Credit.d.ts +0 -3
  729. package/cjs/extensions/payment-card/icons/Credit.js +0 -22
  730. package/cjs/extensions/payment-card/icons/Credit.js.map +0 -1
  731. package/cjs/extensions/payment-card/icons/DNB.js +0 -24
  732. package/cjs/extensions/payment-card/icons/DNB.js.map +0 -1
  733. package/cjs/extensions/payment-card/icons/Intro.js +0 -22
  734. package/cjs/extensions/payment-card/icons/Intro.js.map +0 -1
  735. package/cjs/extensions/payment-card/icons/MastercardDark.js +0 -28
  736. package/cjs/extensions/payment-card/icons/MastercardDark.js.map +0 -1
  737. package/cjs/extensions/payment-card/icons/MastercardDefault.js +0 -28
  738. package/cjs/extensions/payment-card/icons/MastercardDefault.js.map +0 -1
  739. package/cjs/extensions/payment-card/icons/PB.js +0 -22
  740. package/cjs/extensions/payment-card/icons/PB.js.map +0 -1
  741. package/cjs/extensions/payment-card/icons/Pluss.js +0 -22
  742. package/cjs/extensions/payment-card/icons/Pluss.js.map +0 -1
  743. package/cjs/extensions/payment-card/icons/SagaGold.js +0 -22
  744. package/cjs/extensions/payment-card/icons/SagaGold.js.map +0 -1
  745. package/cjs/extensions/payment-card/icons/SagaPlatinum.js +0 -22
  746. package/cjs/extensions/payment-card/icons/SagaPlatinum.js.map +0 -1
  747. package/cjs/extensions/payment-card/icons/Sbanken.js +0 -22
  748. package/cjs/extensions/payment-card/icons/Sbanken.js.map +0 -1
  749. package/cjs/extensions/payment-card/icons/VisaDefault.js +0 -22
  750. package/cjs/extensions/payment-card/icons/VisaDefault.js.map +0 -1
  751. package/cjs/extensions/payment-card/icons/VisaPlatinum.js +0 -22
  752. package/cjs/extensions/payment-card/icons/VisaPlatinum.js.map +0 -1
  753. package/cjs/extensions/payment-card/utils/backgrounds/ung.d.ts +0 -2
  754. package/cjs/extensions/payment-card/utils/backgrounds/ung.js +0 -9
  755. package/cjs/extensions/payment-card/utils/backgrounds/ung.js.map +0 -1
  756. package/es/extensions/payment-card/icons/BankAxept.js +0 -15
  757. package/es/extensions/payment-card/icons/BankAxept.js.map +0 -1
  758. package/es/extensions/payment-card/icons/Bedrift.js +0 -15
  759. package/es/extensions/payment-card/icons/Bedrift.js.map +0 -1
  760. package/es/extensions/payment-card/icons/Business.js +0 -15
  761. package/es/extensions/payment-card/icons/Business.js.map +0 -1
  762. package/es/extensions/payment-card/icons/Clock.d.ts +0 -3
  763. package/es/extensions/payment-card/icons/Clock.js +0 -18
  764. package/es/extensions/payment-card/icons/Clock.js.map +0 -1
  765. package/es/extensions/payment-card/icons/Credit.d.ts +0 -3
  766. package/es/extensions/payment-card/icons/Credit.js +0 -15
  767. package/es/extensions/payment-card/icons/Credit.js.map +0 -1
  768. package/es/extensions/payment-card/icons/DNB.js +0 -17
  769. package/es/extensions/payment-card/icons/DNB.js.map +0 -1
  770. package/es/extensions/payment-card/icons/Intro.js +0 -15
  771. package/es/extensions/payment-card/icons/Intro.js.map +0 -1
  772. package/es/extensions/payment-card/icons/MastercardDark.js +0 -21
  773. package/es/extensions/payment-card/icons/MastercardDark.js.map +0 -1
  774. package/es/extensions/payment-card/icons/MastercardDefault.js +0 -21
  775. package/es/extensions/payment-card/icons/MastercardDefault.js.map +0 -1
  776. package/es/extensions/payment-card/icons/PB.js +0 -15
  777. package/es/extensions/payment-card/icons/PB.js.map +0 -1
  778. package/es/extensions/payment-card/icons/Pluss.js +0 -15
  779. package/es/extensions/payment-card/icons/Pluss.js.map +0 -1
  780. package/es/extensions/payment-card/icons/SagaGold.js +0 -15
  781. package/es/extensions/payment-card/icons/SagaGold.js.map +0 -1
  782. package/es/extensions/payment-card/icons/SagaPlatinum.js +0 -15
  783. package/es/extensions/payment-card/icons/SagaPlatinum.js.map +0 -1
  784. package/es/extensions/payment-card/icons/Sbanken.js +0 -15
  785. package/es/extensions/payment-card/icons/Sbanken.js.map +0 -1
  786. package/es/extensions/payment-card/icons/VisaDefault.js +0 -15
  787. package/es/extensions/payment-card/icons/VisaDefault.js.map +0 -1
  788. package/es/extensions/payment-card/icons/VisaPlatinum.js +0 -15
  789. package/es/extensions/payment-card/icons/VisaPlatinum.js.map +0 -1
  790. package/es/extensions/payment-card/utils/backgrounds/ung.d.ts +0 -2
  791. package/es/extensions/payment-card/utils/backgrounds/ung.js +0 -3
  792. package/es/extensions/payment-card/utils/backgrounds/ung.js.map +0 -1
  793. package/extensions/payment-card/icons/BankAxept.js +0 -15
  794. package/extensions/payment-card/icons/BankAxept.js.map +0 -1
  795. package/extensions/payment-card/icons/Bedrift.js +0 -15
  796. package/extensions/payment-card/icons/Bedrift.js.map +0 -1
  797. package/extensions/payment-card/icons/Business.js +0 -15
  798. package/extensions/payment-card/icons/Business.js.map +0 -1
  799. package/extensions/payment-card/icons/Clock.d.ts +0 -3
  800. package/extensions/payment-card/icons/Clock.js +0 -18
  801. package/extensions/payment-card/icons/Clock.js.map +0 -1
  802. package/extensions/payment-card/icons/Credit.d.ts +0 -3
  803. package/extensions/payment-card/icons/Credit.js +0 -15
  804. package/extensions/payment-card/icons/Credit.js.map +0 -1
  805. package/extensions/payment-card/icons/DNB.js +0 -17
  806. package/extensions/payment-card/icons/DNB.js.map +0 -1
  807. package/extensions/payment-card/icons/Intro.js +0 -15
  808. package/extensions/payment-card/icons/Intro.js.map +0 -1
  809. package/extensions/payment-card/icons/MastercardDark.js +0 -21
  810. package/extensions/payment-card/icons/MastercardDark.js.map +0 -1
  811. package/extensions/payment-card/icons/MastercardDefault.js +0 -21
  812. package/extensions/payment-card/icons/MastercardDefault.js.map +0 -1
  813. package/extensions/payment-card/icons/PB.js +0 -15
  814. package/extensions/payment-card/icons/PB.js.map +0 -1
  815. package/extensions/payment-card/icons/Pluss.js +0 -15
  816. package/extensions/payment-card/icons/Pluss.js.map +0 -1
  817. package/extensions/payment-card/icons/SagaGold.js +0 -15
  818. package/extensions/payment-card/icons/SagaGold.js.map +0 -1
  819. package/extensions/payment-card/icons/SagaPlatinum.js +0 -15
  820. package/extensions/payment-card/icons/SagaPlatinum.js.map +0 -1
  821. package/extensions/payment-card/icons/Sbanken.js +0 -15
  822. package/extensions/payment-card/icons/Sbanken.js.map +0 -1
  823. package/extensions/payment-card/icons/VisaDefault.js +0 -15
  824. package/extensions/payment-card/icons/VisaDefault.js.map +0 -1
  825. package/extensions/payment-card/icons/VisaPlatinum.js +0 -15
  826. package/extensions/payment-card/icons/VisaPlatinum.js.map +0 -1
  827. package/extensions/payment-card/utils/backgrounds/ung.d.ts +0 -2
  828. package/extensions/payment-card/utils/backgrounds/ung.js +0 -3
  829. package/extensions/payment-card/utils/backgrounds/ung.js.map +0 -1
  830. /package/cjs/extensions/payment-card/icons/{DNB.d.ts → brandLogos/DNB.d.ts} +0 -0
  831. /package/cjs/extensions/payment-card/icons/{Sbanken.d.ts → brandLogos/Sbanken.d.ts} +0 -0
  832. /package/cjs/extensions/payment-card/icons/{Bedrift.d.ts → loyaltyLogos/Bedrift.d.ts} +0 -0
  833. /package/cjs/extensions/payment-card/icons/{Business.d.ts → loyaltyLogos/Business.d.ts} +0 -0
  834. /package/cjs/extensions/payment-card/icons/{Intro.d.ts → loyaltyLogos/Intro.d.ts} +0 -0
  835. /package/cjs/extensions/payment-card/icons/{PB.d.ts → loyaltyLogos/PB.d.ts} +0 -0
  836. /package/cjs/extensions/payment-card/icons/{Pluss.d.ts → loyaltyLogos/Pluss.d.ts} +0 -0
  837. /package/cjs/extensions/payment-card/icons/{SagaGold.d.ts → loyaltyLogos/SagaGold.d.ts} +0 -0
  838. /package/cjs/extensions/payment-card/icons/{SagaPlatinum.d.ts → loyaltyLogos/SagaPlatinum.d.ts} +0 -0
  839. /package/cjs/extensions/payment-card/icons/{BankAxept.d.ts → providers/BankAxept.d.ts} +0 -0
  840. /package/cjs/extensions/payment-card/icons/{MastercardDark.d.ts → providers/MastercardDark.d.ts} +0 -0
  841. /package/cjs/extensions/payment-card/icons/{MastercardDefault.d.ts → providers/MastercardDefault.d.ts} +0 -0
  842. /package/cjs/extensions/payment-card/icons/{VisaDefault.d.ts → providers/VisaDefault.d.ts} +0 -0
  843. /package/cjs/extensions/payment-card/icons/{VisaPlatinum.d.ts → providers/VisaPlatinum.d.ts} +0 -0
  844. /package/es/extensions/payment-card/icons/{DNB.d.ts → brandLogos/DNB.d.ts} +0 -0
  845. /package/es/extensions/payment-card/icons/{Sbanken.d.ts → brandLogos/Sbanken.d.ts} +0 -0
  846. /package/es/extensions/payment-card/icons/{Bedrift.d.ts → loyaltyLogos/Bedrift.d.ts} +0 -0
  847. /package/es/extensions/payment-card/icons/{Business.d.ts → loyaltyLogos/Business.d.ts} +0 -0
  848. /package/es/extensions/payment-card/icons/{Intro.d.ts → loyaltyLogos/Intro.d.ts} +0 -0
  849. /package/es/extensions/payment-card/icons/{PB.d.ts → loyaltyLogos/PB.d.ts} +0 -0
  850. /package/es/extensions/payment-card/icons/{Pluss.d.ts → loyaltyLogos/Pluss.d.ts} +0 -0
  851. /package/es/extensions/payment-card/icons/{SagaGold.d.ts → loyaltyLogos/SagaGold.d.ts} +0 -0
  852. /package/es/extensions/payment-card/icons/{SagaPlatinum.d.ts → loyaltyLogos/SagaPlatinum.d.ts} +0 -0
  853. /package/es/extensions/payment-card/icons/{BankAxept.d.ts → providers/BankAxept.d.ts} +0 -0
  854. /package/es/extensions/payment-card/icons/{MastercardDark.d.ts → providers/MastercardDark.d.ts} +0 -0
  855. /package/es/extensions/payment-card/icons/{MastercardDefault.d.ts → providers/MastercardDefault.d.ts} +0 -0
  856. /package/es/extensions/payment-card/icons/{VisaDefault.d.ts → providers/VisaDefault.d.ts} +0 -0
  857. /package/es/extensions/payment-card/icons/{VisaPlatinum.d.ts → providers/VisaPlatinum.d.ts} +0 -0
  858. /package/extensions/payment-card/icons/{DNB.d.ts → brandLogos/DNB.d.ts} +0 -0
  859. /package/extensions/payment-card/icons/{Sbanken.d.ts → brandLogos/Sbanken.d.ts} +0 -0
  860. /package/extensions/payment-card/icons/{Bedrift.d.ts → loyaltyLogos/Bedrift.d.ts} +0 -0
  861. /package/extensions/payment-card/icons/{Business.d.ts → loyaltyLogos/Business.d.ts} +0 -0
  862. /package/extensions/payment-card/icons/{Intro.d.ts → loyaltyLogos/Intro.d.ts} +0 -0
  863. /package/extensions/payment-card/icons/{PB.d.ts → loyaltyLogos/PB.d.ts} +0 -0
  864. /package/extensions/payment-card/icons/{Pluss.d.ts → loyaltyLogos/Pluss.d.ts} +0 -0
  865. /package/extensions/payment-card/icons/{SagaGold.d.ts → loyaltyLogos/SagaGold.d.ts} +0 -0
  866. /package/extensions/payment-card/icons/{SagaPlatinum.d.ts → loyaltyLogos/SagaPlatinum.d.ts} +0 -0
  867. /package/extensions/payment-card/icons/{BankAxept.d.ts → providers/BankAxept.d.ts} +0 -0
  868. /package/extensions/payment-card/icons/{MastercardDark.d.ts → providers/MastercardDark.d.ts} +0 -0
  869. /package/extensions/payment-card/icons/{MastercardDefault.d.ts → providers/MastercardDefault.d.ts} +0 -0
  870. /package/extensions/payment-card/icons/{VisaDefault.d.ts → providers/VisaDefault.d.ts} +0 -0
  871. /package/extensions/payment-card/icons/{VisaPlatinum.d.ts → providers/VisaPlatinum.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerFooter.js","names":["React","useContext","useCallback","Button","DatePickerContext","convertStringToDate","useTranslation","DatePickerFooter","isRange","submitButtonText","cancelButtonText","resetButtonText","onSubmit","onCancel","onReset","updateDates","previousDateProps","startDate","endDate","submittedDates","setSubmittedDates","props","contextProps","showResetButton","showCancelButton","showSubmitButton","dateFormat","submitButtonTextTranslation","cancelButtonTextTranslation","resetButtonTextTranslation","DatePicker","onSubmitHandler","args","onCancelHandler","event","persist","dates","_objectSpread","onResetHandler","date","_Fragment","createElement","Fragment","className","text","onClick","_span","icon","icon_position","variant","right","_span2","_span3"],"sources":["../../../../src/components/date-picker/DatePickerFooter.tsx"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React, { useContext, useCallback } from 'react'\nimport Button from '../button/Button'\nimport DatePickerContext from './DatePickerContext'\nimport { convertStringToDate } from './DatePickerCalc'\nimport { useTranslation } from '../../shared'\nimport { DatePickerDates } from './hooks/useDates'\n\ntype DatePickerFooterEvent = React.MouseEvent<HTMLButtonElement> &\n DatePickerDates & {\n event: React.MouseEvent<HTMLButtonElement>\n }\n\nexport type DatePickerFooterProps = Omit<\n React.HTMLProps<HTMLElement>,\n 'onSubmit' | 'onCancel' | 'onReset'\n> & {\n isRange: boolean\n onSubmit?: (event: DatePickerFooterEvent) => void\n onCancel?: (event: DatePickerFooterEvent) => void\n onReset?: (event: DatePickerFooterEvent) => void\n submitButtonText?: string\n cancelButtonText?: string\n resetButtonText?: string\n}\n\nfunction DatePickerFooter({\n isRange,\n submitButtonText,\n cancelButtonText,\n resetButtonText,\n onSubmit,\n onCancel,\n onReset,\n}: DatePickerFooterProps) {\n const {\n updateDates,\n previousDateProps,\n startDate,\n endDate,\n submittedDates,\n setSubmittedDates,\n props: contextProps,\n } = useContext(DatePickerContext)\n\n const {\n showResetButton,\n showCancelButton,\n showSubmitButton,\n dateFormat,\n } = contextProps\n\n const {\n submitButtonText: submitButtonTextTranslation,\n cancelButtonText: cancelButtonTextTranslation,\n resetButtonText: resetButtonTextTranslation,\n } = useTranslation().DatePicker\n\n const onSubmitHandler = useCallback(\n (args: DatePickerFooterEvent) => {\n onSubmit?.(args)\n setSubmittedDates({ startDate, endDate })\n },\n [onSubmit, startDate, endDate, setSubmittedDates]\n )\n\n const onCancelHandler = useCallback(\n (args: DatePickerFooterEvent) => {\n if (args && args.event) {\n args.event.persist()\n }\n\n updateDates(submittedDates, (dates) => {\n onCancel?.({ ...args, ...dates })\n })\n },\n [updateDates, onCancel, submittedDates]\n )\n\n const onResetHandler = useCallback(\n (args: DatePickerFooterEvent) => {\n if (args && args.event) {\n args.event.persist()\n }\n\n const startDate = previousDateProps.startDate\n ? convertStringToDate(previousDateProps.startDate, {\n dateFormat,\n })\n : previousDateProps.date\n ? convertStringToDate(previousDateProps.date, {\n dateFormat,\n })\n : null\n\n const endDate = previousDateProps.endDate\n ? convertStringToDate(previousDateProps.endDate, {\n dateFormat,\n })\n : startDate\n\n updateDates(\n {\n startDate,\n endDate,\n },\n (dates) => {\n onReset?.({ ...args, ...dates })\n }\n )\n },\n [dateFormat, updateDates, previousDateProps, onReset]\n )\n\n if (\n !isRange &&\n !showSubmitButton &&\n !showCancelButton &&\n !showResetButton\n ) {\n return <></>\n }\n\n return (\n <div className=\"dnb-date-picker__footer\">\n {((isRange || showSubmitButton) && (\n <Button\n text={submitButtonText || submitButtonTextTranslation}\n onClick={onSubmitHandler}\n data-testid=\"submit\"\n />\n )) || <span />}\n\n <span>\n {(showResetButton && (\n <Button\n text={resetButtonText || resetButtonTextTranslation}\n icon=\"reset\"\n icon_position=\"left\"\n variant=\"tertiary\"\n onClick={onResetHandler}\n data-testid=\"reset\"\n right=\"1rem\"\n />\n )) || <span />}\n\n {((isRange || showCancelButton) && (\n <Button\n text={cancelButtonText || cancelButtonTextTranslation}\n icon=\"close\"\n icon_position=\"left\"\n variant=\"tertiary\"\n onClick={onCancelHandler}\n data-testid=\"cancel\"\n />\n )) || <span />}\n </span>\n </div>\n )\n}\n\nexport default DatePickerFooter\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DatePickerFooter.js","names":["React","useContext","useCallback","Button","DatePickerContext","convertStringToDate","useTranslation","DatePickerFooter","isRange","submitButtonText","cancelButtonText","resetButtonText","onSubmit","onCancel","onReset","updateDates","previousDateProps","startDate","endDate","submittedDates","setSubmittedDates","dateFormat","props","contextProps","showResetButton","showCancelButton","showSubmitButton","submitButtonTextTranslation","cancelButtonTextTranslation","resetButtonTextTranslation","DatePicker","onSubmitHandler","args","onCancelHandler","event","persist","dates","_objectSpread","onResetHandler","date","_Fragment","createElement","Fragment","className","text","onClick","_span","icon","icon_position","variant","right","_span2","_span3"],"sources":["../../../../src/components/date-picker/DatePickerFooter.tsx"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React, { useContext, useCallback } from 'react'\nimport Button from '../button/Button'\nimport DatePickerContext from './DatePickerContext'\nimport { convertStringToDate } from './DatePickerCalc'\nimport { useTranslation } from '../../shared'\nimport { DatePickerDates } from './hooks/useDates'\n\ntype DatePickerFooterEvent = React.MouseEvent<HTMLButtonElement> &\n DatePickerDates & {\n event: React.MouseEvent<HTMLButtonElement>\n }\n\nexport type DatePickerFooterProps = Omit<\n React.HTMLProps<HTMLElement>,\n 'onSubmit' | 'onCancel' | 'onReset'\n> & {\n isRange: boolean\n onSubmit?: (event: DatePickerFooterEvent) => void\n onCancel?: (event: DatePickerFooterEvent) => void\n onReset?: (event: DatePickerFooterEvent) => void\n submitButtonText?: string\n cancelButtonText?: string\n resetButtonText?: string\n}\n\nfunction DatePickerFooter({\n isRange,\n submitButtonText,\n cancelButtonText,\n resetButtonText,\n onSubmit,\n onCancel,\n onReset,\n}: DatePickerFooterProps) {\n const {\n updateDates,\n previousDateProps,\n startDate,\n endDate,\n submittedDates,\n setSubmittedDates,\n dateFormat,\n props: contextProps,\n } = useContext(DatePickerContext)\n\n const { showResetButton, showCancelButton, showSubmitButton } =\n contextProps\n\n const {\n submitButtonText: submitButtonTextTranslation,\n cancelButtonText: cancelButtonTextTranslation,\n resetButtonText: resetButtonTextTranslation,\n } = useTranslation().DatePicker\n\n const onSubmitHandler = useCallback(\n (args: DatePickerFooterEvent) => {\n onSubmit?.(args)\n setSubmittedDates({ startDate, endDate })\n },\n [onSubmit, startDate, endDate, setSubmittedDates]\n )\n\n const onCancelHandler = useCallback(\n (args: DatePickerFooterEvent) => {\n if (args && args.event) {\n args.event.persist()\n }\n\n updateDates(submittedDates, (dates) => {\n onCancel?.({ ...args, ...dates })\n })\n },\n [updateDates, onCancel, submittedDates]\n )\n\n const onResetHandler = useCallback(\n (args: DatePickerFooterEvent) => {\n if (args && args.event) {\n args.event.persist()\n }\n\n const startDate = previousDateProps.startDate\n ? convertStringToDate(previousDateProps.startDate, {\n dateFormat,\n })\n : previousDateProps.date\n ? convertStringToDate(previousDateProps.date, {\n dateFormat,\n })\n : null\n\n const endDate = previousDateProps.endDate\n ? convertStringToDate(previousDateProps.endDate, {\n dateFormat,\n })\n : startDate\n\n updateDates(\n {\n startDate,\n endDate,\n },\n (dates) => {\n onReset?.({ ...args, ...dates })\n }\n )\n },\n [dateFormat, updateDates, previousDateProps, onReset]\n )\n\n if (\n !isRange &&\n !showSubmitButton &&\n !showCancelButton &&\n !showResetButton\n ) {\n return <></>\n }\n\n return (\n <div className=\"dnb-date-picker__footer\">\n {((isRange || showSubmitButton) && (\n <Button\n text={submitButtonText || submitButtonTextTranslation}\n onClick={onSubmitHandler}\n data-testid=\"submit\"\n />\n )) || <span />}\n\n <span>\n {(showResetButton && (\n <Button\n text={resetButtonText || resetButtonTextTranslation}\n icon=\"reset\"\n icon_position=\"left\"\n variant=\"tertiary\"\n onClick={onResetHandler}\n data-testid=\"reset\"\n right=\"1rem\"\n />\n )) || <span />}\n\n {((isRange || showCancelButton) && (\n <Button\n text={cancelButtonText || cancelButtonTextTranslation}\n icon=\"close\"\n icon_position=\"left\"\n variant=\"tertiary\"\n onClick={onCancelHandler}\n data-testid=\"cancel\"\n />\n )) || <span />}\n </span>\n </div>\n )\n}\n\nexport default DatePickerFooter\n"],"mappings":"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","ignoreList":[]}
@@ -7,10 +7,11 @@ import type { InputInputElement, InputSize } from '../Input';
7
7
  import type { FormStatusProps, FormStatusState, FormStatusText } from '../FormStatus';
8
8
  import type { SkeletonShow } from '../Skeleton';
9
9
  import { ReturnObject } from './DatePickerProvider';
10
+ import { DatePickerProps } from './DatePicker';
10
11
  export type DatePickerInputProps = Omit<React.HTMLProps<HTMLInputElement>, 'children' | 'ref' | 'value' | 'size' | 'onFocus' | 'onBlur' | 'onSubmit' | 'label'> & {
11
12
  selectedDateTitle?: string;
12
- maskOrder?: string;
13
- maskPlaceholder?: string;
13
+ maskOrder?: DatePickerProps['maskOrder'];
14
+ maskPlaceholder?: DatePickerProps['maskPlaceholder'];
14
15
  separatorRegExp?: RegExp;
15
16
  submitAttributes?: Record<string, unknown>;
16
17
  isRange?: boolean;
@@ -24,22 +24,24 @@ import { Context, useTranslation } from '../../shared';
24
24
  import usePartialDates from './hooks/usePartialDates';
25
25
  import useInputDates from './hooks/useInputDates';
26
26
  const defaultProps = {
27
- maskOrder: 'dd/mm/yyyy',
28
- maskPlaceholder: 'dd/mm/åååå',
29
27
  separatorRegExp: /[-/ ]/g,
30
28
  statusState: 'error',
31
29
  opened: false
32
30
  };
33
31
  function DatePickerInput(externalProps) {
34
32
  const props = _objectSpread(_objectSpread({}, defaultProps), externalProps);
33
+ const {
34
+ maskOrder: defaultMaskOrder,
35
+ maskPlaceholder: defaultMaskPlaceholder
36
+ } = useTranslation().DatePicker;
35
37
  const {
36
38
  isRange,
37
- maskOrder,
39
+ maskOrder = defaultMaskOrder,
38
40
  separatorRegExp,
39
41
  id,
40
42
  title,
41
43
  submitAttributes,
42
- maskPlaceholder,
44
+ maskPlaceholder = defaultMaskPlaceholder,
43
45
  onFocus,
44
46
  onBlur,
45
47
  onChange,
@@ -75,8 +77,7 @@ function DatePickerInput(externalProps) {
75
77
  endDate,
76
78
  props: {
77
79
  onType,
78
- label,
79
- correctInvalidDate
80
+ label
80
81
  }
81
82
  } = useContext(DatePickerContext);
82
83
  const {
@@ -366,7 +367,7 @@ function DatePickerInput(externalProps) {
366
367
  const onKeyDownHandler = useCallback(async event => {
367
368
  const keyCode = event.key;
368
369
  const target = event.target;
369
- if (correctInvalidDate && target.selectionStart !== target.selectionEnd) {
370
+ if (target.selectionStart !== target.selectionEnd) {
370
371
  setCursorPosition(target);
371
372
  }
372
373
  const size = parseFloat(target.getAttribute('size'));
@@ -421,7 +422,7 @@ function DatePickerInput(externalProps) {
421
422
  }
422
423
  }
423
424
  }
424
- }, [correctInvalidDate, dateSetters]);
425
+ }, [dateSetters]);
425
426
  const onInputHandler = useCallback(event => {
426
427
  const target = event.currentTarget;
427
428
  if (IS_ANDROID && event.nativeEvent.inputType === 'deleteContentBackward' && target.selectionStart === 0 && target.selectionEnd === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerInput.js","names":["React","useCallback","useContext","useMemo","useRef","useState","isValid","parseISO","classnames","TextMask","Button","Input","SubmitButton","warn","validateDOMAttributes","toCapitalized","IS_ANDROID","IS_IOS","convertStringToDate","formatDate","DatePickerContext","Context","useTranslation","usePartialDates","useInputDates","defaultProps","maskOrder","maskPlaceholder","separatorRegExp","statusState","opened","DatePickerInput","externalProps","props","_objectSpread","isRange","id","title","submitAttributes","onFocus","onBlur","onChange","onSubmit","selectedDateTitle","showInput","inputElement","lang","disabled","skeleton","size","status","statusProps","attributes","_objectWithoutProperties","_excluded","focusState","setFocusState","partialDatesRef","setPartialDates","invalidDatesRef","invalidStartDate","invalidEndDate","isDateFullyFilledOutRef","updateDates","callOnChangeHandler","getReturnObject","startDate","endDate","onType","label","correctInvalidDate","inputDates","updateInputDates","translation","DatePicker","locale","hasHadValidDate","modeDate","inputRefs","startDayRef","current","undefined","startMonthRef","startYearRef","endDayRef","endMonthRef","endYearRef","dateRefs","startDay","startMonth","startYear","endDay","endMonth","endYear","syncDateRefs","temporaryDates","refList","focusMode","maskList","separators","match","split","reduce","acc","cur","push","length","shift","copyHandler","event","mode","date","preventDefault","valueToCopy","clipboardData","setData","pasteHandler","success","window","getData","possibleFormats","forEach","sep","replace","reverse","join","index","dateFormat","error","callOnChangeAsInvalid","state","datesFromContext","derivedStartDate","derivedEndDate","callOnChange","dates","callOnType","getDates","partialStartDate","partialEndDate","parsedStartDate","parsedEndDate","isStartDateValid","isEndDateValid","_getReturnObject","is_valid","is_valid_start_date","is_valid_end_date","returnObject","_excluded2","typedDates","start_date","end_date","setDate","type","persist","value","target","fallback","year","getFullYear","month","getMonth","day","getDate","Date","parseFloat","String","isValidDate","test","dateString","dateSetters","set_startDay","set_startMonth","set_startYear","set_endDay","set_endMonth","set_endYear","onFocusHandler","isNaN","setCursorPosition","onBlurHandler","onKeyDownHandler","keyCode","key","selectionStart","selectionEnd","getAttribute","firstSelectionStart","firstSelectionEnd","wait","secondSelectionStart","refListArray","findIndex","isLastChar","isFirstChar","isMovingForward","isExplicitForward","hasNextField","_refListArray","nextSibling","withoutDelay","name","slice","isMovingBackward","isPressingBackspace","_refListArray2","prevSibling","endPos","onInputHandler","currentTarget","nativeEvent","inputType","getPlaceholderChar","indexOf","generateDateList","element","map","i","placeholderChar","isRangeLabel","onInput","onKeyDown","e","onPaste","onCopy","DateField","isValidElement","InputElement","inputSizeClassName","createElement","Fragment","_extends","className","mask","inputRef","hidden","htmlFor","renderInputElement","startDateList","endDateList","_span","ariaLabel","openPickerText","SubmitElement","innerRef","ref","input_state","input_element","status_state","submit_element","icon","variant","on_submit","on_click","position","options","focus","select","setSelectionRange","process","env","NODE_ENV","setTimeout","_ref","_excluded3","guide","inputMode","showMask","keepCharPositions","autoComplete","autoCapitalize","spellCheck","autoCorrect","dateRefValue","inputDateValue","duration","Promise","r"],"sources":["../../../../src/components/date-picker/DatePickerInput.tsx"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React, {\n MutableRefObject,\n useCallback,\n useContext,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\n// date-fns\nimport isValid from 'date-fns/isValid'\nimport parseISO from 'date-fns/parseISO'\n\nimport classnames from 'classnames'\nimport TextMask, { TextMaskProps } from '../input-masked/TextMask'\nimport Button from '../button/Button'\nimport Input, { SubmitButton } from '../input/Input'\nimport type { InputInputElement, InputSize } from '../Input'\nimport {\n warn,\n validateDOMAttributes,\n toCapitalized,\n} from '../../shared/component-helper'\nimport { IS_ANDROID, IS_IOS } from '../../shared/helpers'\nimport { convertStringToDate, formatDate } from './DatePickerCalc'\nimport DatePickerContext from './DatePickerContext'\n\nimport type {\n FormStatusProps,\n FormStatusState,\n FormStatusText,\n} from '../FormStatus'\nimport type { SkeletonShow } from '../Skeleton'\nimport { ReturnObject } from './DatePickerProvider'\nimport { DatePickerEventAttributes } from './DatePicker'\nimport { Context, useTranslation } from '../../shared'\nimport usePartialDates from './hooks/usePartialDates'\nimport useInputDates, { DatePickerInputDates } from './hooks/useInputDates'\n\nexport type DatePickerInputProps = Omit<\n React.HTMLProps<HTMLInputElement>,\n | 'children'\n | 'ref'\n | 'value'\n | 'size'\n | 'onFocus'\n | 'onBlur'\n | 'onSubmit'\n | 'label'\n> & {\n selectedDateTitle?: string\n maskOrder?: string\n maskPlaceholder?: string\n separatorRegExp?: RegExp\n submitAttributes?: Record<string, unknown>\n isRange?: boolean\n /**\n * The sizes you can choose is `small` (1.5rem), `default` (2rem), `medium` (2.5rem) and `large` (3rem) are supported component sizes. Defaults to `default` / `null`.\n */\n size?: InputSize\n /**\n * Text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message.\n */\n status?: FormStatusText\n /**\n * Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.\n */\n statusState?: FormStatusState\n /**\n * Use an object to define additional FormStatus properties.\n */\n statusProps?: FormStatusProps\n /**\n * Gives you the possibility to use a plain/vanilla `<input />` HTML element by defining it as a string `input_element=\"input\"`, a React element, or a render function `input_element={(internalProps) => (<Return />)}`. Can also be used in circumstances where the `react-text-mask` not should be used, e.g. in testing environments. Defaults to custom masked input.\n */\n inputElement?: InputInputElement\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n /**\n * To open the date-picker by default. Defaults to `false`.\n */\n opened?: boolean\n showInput?: boolean\n onSubmit?: (event: React.MouseEvent<HTMLButtonElement>) => void\n onChange?: (\n event: ReturnObject<React.ChangeEvent<HTMLInputElement>>\n ) => void\n /**\n * Will be called once the input gets focus.\n */\n onFocus?: (\n event: ReturnObject<React.FocusEvent<HTMLInputElement>>\n ) => void\n /**\n * Will be called once the input lose focus.\n */\n onBlur?: (\n event: ReturnObject<React.FocusEvent<HTMLInputElement>>\n ) => void\n}\n\nexport type InvalidDates = {\n invalidDate?: string\n invalidStartDate?: string\n invalidEndDate?: string\n}\n\nconst defaultProps: DatePickerInputProps = {\n maskOrder: 'dd/mm/yyyy',\n maskPlaceholder: 'dd/mm/åååå',\n separatorRegExp: /[-/ ]/g,\n statusState: 'error',\n opened: false,\n}\n\nfunction DatePickerInput(externalProps: DatePickerInputProps) {\n const props = { ...defaultProps, ...externalProps }\n\n const {\n isRange,\n maskOrder,\n separatorRegExp,\n id,\n title,\n submitAttributes,\n maskPlaceholder, // eslint-disable-line\n onFocus,\n onBlur,\n onChange, // eslint-disable-line\n onSubmit, // eslint-disable-line\n selectedDateTitle, // eslint-disable-line\n showInput, // eslint-disable-line\n inputElement,\n lang,\n disabled,\n skeleton,\n opened,\n size,\n status,\n statusState,\n statusProps,\n\n ...attributes\n } = props\n const [focusState, setFocusState] = useState<string>('virgin')\n\n const { partialDatesRef, setPartialDates } = usePartialDates()\n\n const invalidDatesRef = useRef<InvalidDates>({\n invalidStartDate: null,\n invalidEndDate: null,\n })\n const isDateFullyFilledOutRef = useRef(false)\n\n const {\n updateDates,\n callOnChangeHandler,\n getReturnObject,\n startDate,\n endDate,\n props: { onType, label, correctInvalidDate },\n } = useContext(DatePickerContext)\n\n const { inputDates, updateInputDates } = useInputDates({\n startDate,\n endDate,\n })\n\n const translation = useTranslation().DatePicker\n const { locale } = useContext(Context)\n\n const hasHadValidDate = isValid(startDate) || isValid(endDate)\n\n const modeDate = useMemo(\n () => ({\n startDate,\n endDate,\n }),\n [startDate, endDate]\n )\n\n const inputRefs = useRef<\n Record<string, MutableRefObject<HTMLInputElement>>\n >({\n startDayRef: { current: undefined },\n startMonthRef: { current: undefined },\n startYearRef: { current: undefined },\n endDayRef: { current: undefined },\n endMonthRef: { current: undefined },\n endYearRef: { current: undefined },\n })\n\n const dateRefs = useRef<DatePickerInputDates>({\n startDay: '',\n startMonth: '',\n startYear: '',\n endDay: '',\n endMonth: '',\n endYear: '',\n })\n\n // Keep dateRefs in sync with inputDates on re-render\n syncDateRefs(dateRefs, inputDates)\n\n const temporaryDates = useRef<Record<string, Date>>({\n startDate: undefined,\n endDate: undefined,\n })\n\n const refList = useRef<Array<MutableRefObject<HTMLInputElement>>>()\n\n const focusMode = useRef<string>()\n\n const maskList = useMemo(() => {\n const separators = maskOrder.match(separatorRegExp)\n\n return maskOrder\n .split(separatorRegExp)\n .reduce<Array<string>>((acc, cur) => {\n if (!cur) {\n return acc\n }\n\n acc.push(cur)\n\n if (separators.length > 0) {\n // makes sure that separators are added at the correct places and removed from array when added\n acc.push(separators.shift())\n }\n\n return acc\n }, [])\n }, [maskOrder, separatorRegExp])\n\n const copyHandler = useCallback(\n (\n event: React.ClipboardEvent<HTMLInputElement>,\n mode: DatePickerEventAttributes['mode']\n ) => {\n const date = mode === 'end' ? endDate : startDate\n if (isValid(date)) {\n event.preventDefault()\n const valueToCopy = formatDate(date, { locale })\n event.clipboardData.setData('text/plain', valueToCopy)\n }\n },\n [endDate, locale, startDate]\n )\n\n const pasteHandler = useCallback(\n async (event: React.ClipboardEvent<HTMLInputElement>) => {\n if (!focusMode.current) {\n return // Stop here\n }\n\n const success = (\n event.clipboardData ||\n (typeof window !== 'undefined' && window['clipboardData'])\n ).getData('text/plain')\n\n if (!success) {\n return // Stop here\n }\n\n event.preventDefault()\n\n try {\n const separators = ['.', '/']\n const possibleFormats = ['yyyy-MM-dd']\n\n // TODO: Merge these loops\n possibleFormats.forEach((date) => {\n separators.forEach((sep) => {\n possibleFormats.push(date.replace(/-/g, sep))\n })\n })\n\n possibleFormats.forEach((date) => {\n possibleFormats.push(date.split('').reverse().join(''))\n })\n\n let date: Date\n let index = 0\n\n for (index; index < possibleFormats.length; ++index) {\n date = convertStringToDate(success, {\n dateFormat: possibleFormats[index],\n })\n\n if (date) {\n break\n }\n }\n\n const mode =\n focusMode.current === 'start' ? 'startDate' : 'endDate'\n\n if (date) {\n updateDates({\n [mode]: date,\n })\n }\n } catch (error: unknown) {\n warn(error)\n }\n },\n [updateDates]\n )\n\n const callOnChangeAsInvalid = useCallback(\n (state: {\n endDate?: Date\n starDate?: Date\n event: React.ChangeEvent<HTMLInputElement>\n }) => {\n // Should fire if user has filled out an invalid date,\n // or if the date was valid. Like if the user has pressed backspace or removed the valid date.\n if (isDateFullyFilledOutRef.current || hasHadValidDate) {\n const datesFromContext = { startDate, endDate }\n\n const {\n startDate: derivedStartDate,\n endDate: derivedEndDate,\n event,\n } = {\n ...state,\n ...datesFromContext,\n }\n\n callOnChangeHandler({\n startDate: derivedStartDate,\n endDate: derivedEndDate,\n event,\n ...invalidDatesRef.current,\n })\n }\n },\n [callOnChangeHandler, hasHadValidDate, startDate, endDate]\n )\n\n const callOnChange = useCallback(\n ({\n startDate,\n endDate,\n event,\n }: {\n startDate?: Date\n endDate?: Date\n event:\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n }) => {\n const state = {}\n if (typeof startDate !== 'undefined' && isValid(startDate)) {\n state['startDate'] = startDate\n }\n if (!isRange) {\n endDate = startDate\n }\n if (typeof endDate !== 'undefined' && isValid(endDate)) {\n state['endDate'] = endDate\n }\n\n updateDates(state, (dates) => {\n if (\n (typeof startDate !== 'undefined' && isValid(startDate)) ||\n (typeof endDate !== 'undefined' && isValid(endDate))\n ) {\n callOnChangeHandler({\n event,\n ...dates,\n ...invalidDatesRef.current,\n })\n }\n })\n },\n [updateDates, callOnChangeHandler, isRange]\n )\n\n const callOnType = useCallback(\n ({ event }: { event: React.ChangeEvent<HTMLInputElement> }) => {\n const getDates = () =>\n ['start', 'end'].reduce(\n (acc, mode) => {\n acc[`${mode}Date`] = [\n dateRefs.current[`${mode}Year`] ||\n inputDates[`${mode}Year`] ||\n 'yyyy',\n dateRefs.current[`${mode}Month`] ||\n inputDates[`${mode}Month`] ||\n 'mm',\n dateRefs.current[`${mode}Day`] ||\n inputDates[`${mode}Day`] ||\n 'dd',\n ].join('-')\n return acc\n },\n { startDate: undefined, endDate: undefined }\n )\n\n // Get the typed dates, so we can ...\n const { startDate, endDate } = getDates()\n\n // Get the partial dates, so we can know if something was typed or not in an optional date field\n setPartialDates({\n partialStartDate: startDate,\n // Only set endDate if in range mode\n ...(isRange && { partialEndDate: endDate }),\n })\n\n const parsedStartDate = parseISO(startDate)\n const parsedEndDate = parseISO(endDate)\n\n const isStartDateValid = isValid(parsedStartDate)\n const isEndDateValid = isValid(parsedEndDate)\n\n const {\n is_valid,\n is_valid_start_date,\n is_valid_end_date,\n ...returnObject\n } = getReturnObject({\n startDate: isStartDateValid ? parsedStartDate : null,\n endDate: isEndDateValid ? parsedEndDate : null,\n event,\n ...partialDatesRef.current,\n ...invalidDatesRef.current,\n })\n\n // Re-assigns dates to the typed date, instead of `null` from getReturnObject, if dates are invalid\n const typedDates = {\n ...(!isRange && is_valid === false && { date: startDate }),\n ...(isRange &&\n is_valid_start_date === false && { start_date: startDate }),\n ...(isRange &&\n is_valid_end_date === false && { end_date: endDate }),\n }\n\n onType?.({\n is_valid,\n is_valid_start_date,\n is_valid_end_date,\n ...returnObject,\n ...typedDates,\n })\n },\n [\n setPartialDates,\n isRange,\n getReturnObject,\n partialDatesRef,\n onType,\n inputDates,\n ]\n )\n\n const setDate = useCallback(\n (\n event: React.ChangeEvent<HTMLInputElement>,\n mode: 'start' | 'end',\n type: 'Day' | 'Month' | 'Year'\n ) => {\n event.persist() // since we have later a state update and afterwards the callback\n\n const value = (event.target as HTMLInputElement).value\n\n dateRefs.current[`${mode}${type}`] = value\n\n if (modeDate[`${mode}Date`]) {\n temporaryDates.current[`${mode}Date`] = modeDate[`${mode}Date`]\n }\n\n const fallback = temporaryDates.current[`${mode}Date`]\n\n // provide fallbacks to create a temp fallback\n const year =\n dateRefs.current[`${mode}Year`] ||\n (fallback && fallback.getFullYear())\n const month =\n dateRefs.current[`${mode}Month`] ||\n (fallback && fallback.getMonth() + 1)\n const day =\n dateRefs.current[`${mode}Day`] || (fallback && fallback.getDate())\n\n // calculate new date\n const date = new Date(\n parseFloat(String(year)),\n parseFloat(String(month)) - 1,\n parseFloat(String(day))\n )\n\n const isValidDate =\n !/[^0-9]/.test(String(day)) &&\n !/[^0-9]/.test(String(month)) &&\n !/[^0-9]/.test(String(year)) &&\n isValid(date) &&\n date.getDate() == parseFloat(String(day)) &&\n date.getMonth() + 1 == parseFloat(String(month)) &&\n date.getFullYear() == parseFloat(String(year))\n\n const dateString = `${year}-${month}-${day}`\n\n isDateFullyFilledOutRef.current =\n /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test(dateString)\n\n // update the date\n if (isValidDate) {\n invalidDatesRef.current = {\n ...invalidDatesRef.current,\n ...(mode === 'start'\n ? { invalidStartDate: null }\n : { invalidEndDate: null }),\n }\n\n callOnChange({\n [`${mode}Date`]: date,\n event,\n })\n } else {\n updateDates({\n [`${mode}Date`]: null,\n })\n updateInputDates({ [`${mode}${type}`]: value })\n\n invalidDatesRef.current = {\n ...invalidDatesRef.current,\n ...(mode === 'start'\n ? { invalidStartDate: dateString }\n : { invalidEndDate: dateString }),\n }\n\n callOnChangeAsInvalid({\n [`${mode}Date`]: null,\n event,\n })\n }\n\n callOnType({ event })\n },\n [\n updateDates,\n callOnChange,\n callOnChangeAsInvalid,\n callOnType,\n modeDate,\n dateRefs,\n temporaryDates,\n updateInputDates,\n ]\n )\n\n const dateSetters = useMemo(\n () => ({\n set_startDay: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'start', 'Day')\n },\n\n set_startMonth: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'start', 'Month')\n },\n\n set_startYear: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'start', 'Year')\n },\n\n set_endDay: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'end', 'Day')\n },\n\n set_endMonth: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'end', 'Month')\n },\n\n set_endYear: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'end', 'Year')\n },\n }),\n [setDate]\n )\n\n const onFocusHandler = useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n setFocusState('focus')\n\n onFocus?.({\n ...event,\n ...getReturnObject({ event }),\n })\n\n if (isNaN(parseFloat(event.target.value))) {\n setCursorPosition(event.target)\n }\n },\n [getReturnObject, onFocus]\n )\n\n const onBlurHandler = useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n focusMode.current = null\n setFocusState('blur')\n\n onBlur?.({\n ...event,\n ...getReturnObject({ event, ...partialDatesRef.current }),\n })\n },\n [onBlur, getReturnObject, partialDatesRef]\n )\n\n const onKeyDownHandler = useCallback(\n async (event: React.KeyboardEvent<HTMLInputElement>) => {\n const keyCode = event.key\n const target = event.target as HTMLInputElement\n\n if (\n correctInvalidDate &&\n target.selectionStart !== target.selectionEnd\n ) {\n setCursorPosition(target)\n }\n\n // The rest is for value entry\n\n const size = parseFloat(target.getAttribute('size'))\n const firstSelectionStart = target.selectionStart\n const firstSelectionEnd = target.selectionEnd\n\n // To get the correct position afterwards.\n // Use 10ms in order to make it work on iOS Safari\n await wait(IS_IOS ? 10 : 1)\n\n const secondSelectionStart = target.selectionStart\n\n // Always false (since the old keycode function set number keys to undefined) but needed to not break tests\n const isValid = /[0-9]/g.test(keyCode)\n const refListArray = refList.current\n\n const index = refListArray.findIndex(\n ({ current }) => current === target\n )\n\n const isLastChar = secondSelectionStart === size\n const isFirstChar = firstSelectionStart === size\n\n const isMovingForward =\n keyCode !== 'ArrowLeft' &&\n keyCode !== 'Backspace' &&\n isValid &&\n isLastChar\n\n const isExplicitForward =\n (keyCode === 'ArrowRight' || keyCode === 'Enter') && isFirstChar\n\n const hasNextField = index < refListArray.length - 1\n\n if (hasNextField && (isMovingForward || isExplicitForward)) {\n // stop in case there is no next input element\n if (!refListArray[index + 1].current) {\n return // stop here\n }\n const nextSibling = refListArray[index + 1]?.current\n\n if (nextSibling) {\n setCursorPosition(nextSibling, 0, { withoutDelay: true })\n }\n\n // When the cursor is at the end of the input\n // and the user types a number, we want to set the value on the next input.\n if (\n parseFloat(keyCode) <= 9 &&\n firstSelectionStart === target.size\n ) {\n const name = toCapitalized(\n nextSibling\n .getAttribute('class')\n .match(/__input--(day|month|year)($|\\s)/)[1]\n )\n const mode = nextSibling\n .getAttribute('id')\n .match(/-(start|end)-(day|month|year)/)[1]\n\n dateSetters[`set_${mode}${name}`]({\n persist: () => null,\n ...event,\n target: {\n value: keyCode + nextSibling.value.slice(1),\n },\n })\n\n setCursorPosition(nextSibling, 1)\n }\n } else if (index > 0 && firstSelectionStart === firstSelectionEnd) {\n const isMovingBackward =\n keyCode === 'ArrowLeft' && firstSelectionStart === 0\n const isPressingBackspace =\n keyCode === 'Backspace' && firstSelectionStart <= 1\n\n if (isMovingBackward || isPressingBackspace) {\n const prevSibling = refListArray[index - 1]?.current\n if (prevSibling) {\n const endPos = prevSibling.value.length\n setCursorPosition(prevSibling, endPos, {\n withoutDelay: true,\n })\n }\n }\n }\n },\n [correctInvalidDate, dateSetters]\n )\n\n const onInputHandler = useCallback(\n (event) => {\n const target = event.currentTarget\n\n // Add support for \"backspace\" on Android virtual keyboard\n if (\n IS_ANDROID &&\n event.nativeEvent.inputType === 'deleteContentBackward' &&\n target.selectionStart === 0 &&\n target.selectionEnd === 0\n ) {\n onKeyDownHandler({\n ...event,\n key: 'Backspace',\n })\n }\n },\n [onKeyDownHandler]\n )\n\n const getPlaceholderChar = useCallback(\n (value: string) => {\n const index = maskOrder.indexOf(value)\n return maskPlaceholder[index]\n },\n [maskOrder, maskPlaceholder]\n )\n\n // TODO: Replace with MultiInputMask\n const generateDateList = useCallback(\n (\n element: Omit<React.HTMLProps<HTMLInputElement>, 'size'> &\n DatePickerEventAttributes,\n mode: 'start' | 'end'\n ) => {\n return maskList.map((value, i) => {\n const state = value.slice(0, 1)\n const placeholderChar = getPlaceholderChar(value)\n const { day, month, year } = translation\n const isRangeLabel = isRange ? `${translation[mode]} ` : ''\n\n if (!separatorRegExp.test(value)) {\n if (!inputElement) {\n element = {\n ...element,\n onInput: onInputHandler,\n onKeyDown: onKeyDownHandler,\n onFocus: (e) => {\n focusMode.current = mode\n onFocusHandler(e)\n },\n onBlur: onBlurHandler,\n onPaste: pasteHandler,\n onCopy: (event) => {\n copyHandler(event, mode)\n },\n placeholderChar,\n }\n }\n\n // this makes it possible to use a vanilla <input /> like: input_element=\"input\"\n const DateField =\n inputElement && React.isValidElement(inputElement)\n ? inputElement.type\n : InputElement\n\n const inputSizeClassName =\n size && `dnb-date-picker__input--${size}`\n\n switch (state) {\n case 'd':\n refList.current.push(inputRefs.current[`${mode}DayRef`])\n\n return (\n <React.Fragment key={'dd' + i}>\n <DateField\n {...element}\n id={`${id}-${mode}-day`}\n key={'di' + i}\n className={classnames(\n element.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--day',\n inputSizeClassName\n )}\n size={2}\n mask={[/[0-9]/, /[0-9]/]}\n inputRef={inputRefs.current[`${mode}DayRef`]}\n onChange={dateSetters[`set_${mode}Day`]}\n value={inputDates[`${mode}Day`] || ''}\n aria-labelledby={`${id}-${mode}-day-label`}\n />\n <label\n key={'dl' + i}\n hidden\n id={`${id}-${mode}-day-label`}\n htmlFor={`${id}-${mode}-day`}\n >\n {isRangeLabel + day}\n </label>\n </React.Fragment>\n )\n case 'm':\n refList.current.push(inputRefs.current[`${mode}MonthRef`])\n\n return (\n <React.Fragment key={'mm' + i}>\n <DateField\n {...element}\n id={`${id}-${mode}-month`}\n key={'mi' + i}\n className={classnames(\n element.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--month',\n inputSizeClassName\n )}\n size={2}\n mask={[/[0-9]/, /[0-9]/]}\n inputRef={inputRefs.current[`${mode}MonthRef`]}\n onChange={dateSetters[`set_${mode}Month`]}\n value={inputDates[`${mode}Month`] || ''}\n aria-labelledby={`${id}-${mode}-month-label`}\n />\n <label\n key={'ml' + i}\n hidden\n id={`${id}-${mode}-month-label`}\n htmlFor={`${id}-${mode}-month`}\n >\n {isRangeLabel + month}\n </label>\n </React.Fragment>\n )\n case 'y':\n refList.current.push(inputRefs.current[`${mode}YearRef`])\n\n return (\n <React.Fragment key={'yy' + i}>\n <DateField\n {...element}\n id={`${id}-${mode}-year`}\n key={'yi' + i}\n className={classnames(\n element.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--year',\n inputSizeClassName\n )}\n size={4}\n mask={[/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/]}\n inputRef={inputRefs.current[`${mode}YearRef`]}\n onChange={dateSetters[`set_${mode}Year`]}\n value={inputDates[`${mode}Year`] || ''}\n aria-labelledby={`${id}-${mode}-year-label`}\n />\n <label\n key={'yl' + i}\n hidden\n id={`${id}-${mode}-year-label`}\n htmlFor={`${id}-${mode}-year`}\n >\n {isRangeLabel + year}\n </label>\n </React.Fragment>\n )\n }\n }\n return (\n <span\n key={'s' + i}\n className=\"dnb-date-picker--separator\"\n aria-hidden\n >\n {placeholderChar}\n </span>\n )\n })\n },\n [\n maskList,\n getPlaceholderChar,\n translation,\n isRange,\n separatorRegExp,\n inputElement,\n size,\n onInputHandler,\n onKeyDownHandler,\n pasteHandler,\n onBlurHandler,\n onFocusHandler,\n id,\n dateSetters,\n inputDates,\n ]\n )\n\n const renderInputElement = useCallback(\n (\n element: React.HTMLProps<HTMLInputElement> &\n DatePickerEventAttributes\n ) => {\n refList.current = []\n const startDateList = generateDateList(element, 'start')\n const endDateList = generateDateList(element, 'end')\n\n return (\n <span\n id={`${id}-input`}\n className=\"dnb-date-picker__input__wrapper\"\n >\n {startDateList}\n {isRange && (\n <span className=\"dnb-date-picker--separator\" aria-hidden>\n {' – '}\n </span>\n )}\n {isRange && endDateList}\n </span>\n )\n },\n [id, isRange, generateDateList]\n )\n\n const ariaLabel = useMemo(\n () =>\n selectedDateTitle\n ? `${selectedDateTitle}, ${translation.openPickerText}`\n : translation.openPickerText,\n [selectedDateTitle, translation]\n )\n\n validateDOMAttributes(props, attributes)\n validateDOMAttributes(null, submitAttributes)\n\n const SubmitElement: React.ElementType = useMemo(\n () => (showInput ? SubmitButton : Button),\n [showInput]\n )\n\n if (!showInput) {\n // Use Button inner ref\n submitAttributes.innerRef = submitAttributes.ref\n submitAttributes.ref = null\n }\n\n return (\n <fieldset className=\"dnb-date-picker__fieldset\" lang={lang}>\n {label && <legend className=\"dnb-sr-only\">{label}</legend>}\n <Input\n id={`${id}__input`}\n input_state={disabled ? 'disabled' : focusState}\n input_element={\n inputElement && typeof inputElement !== 'string'\n ? typeof inputElement === 'function'\n ? inputElement(props)\n : inputElement\n : renderInputElement\n }\n disabled={disabled || skeleton}\n skeleton={skeleton}\n size={size}\n status={!opened ? status : null}\n status_state={statusState}\n {...statusProps}\n submit_element={\n <SubmitElement\n id={id}\n disabled={disabled}\n skeleton={skeleton}\n className={classnames(\n showInput && 'dnb-button--input-button',\n opened ? 'dnb-button--active' : null\n )}\n aria-label={ariaLabel}\n title={title}\n size={size}\n status={status}\n status_state={statusState}\n type=\"button\"\n icon=\"calendar\"\n variant=\"secondary\"\n on_submit={onSubmit}\n on_click={onSubmit}\n {...submitAttributes}\n {...statusProps}\n />\n }\n lang={lang}\n {...attributes}\n />\n </fieldset>\n )\n}\n\nexport default DatePickerInput\n\nfunction setCursorPosition(\n target: HTMLInputElement,\n position = 0,\n options?: { withoutDelay?: boolean }\n) {\n target.focus()\n\n const select = () => {\n target.setSelectionRange(position, position)\n }\n\n // Delay for correct iOS Safari appearance\n if (!options?.withoutDelay && process.env.NODE_ENV !== 'test') {\n setTimeout(select, 0)\n } else {\n select()\n }\n}\n\nfunction InputElement({ className, value, ...props }: TextMaskProps) {\n return (\n <TextMask\n guide={true}\n inputMode=\"numeric\"\n showMask={true}\n keepCharPositions={false} // so we can overwrite next value, if it already exists\n autoComplete=\"off\"\n autoCapitalize=\"none\"\n spellCheck={false}\n autoCorrect=\"off\"\n className={classnames(\n className,\n /\\d+/.test(String(value)) && 'dnb-date-picker__input--highlight'\n )}\n value={value}\n {...props}\n />\n )\n}\n\nfunction syncDateRefs(\n dateRefs: React.MutableRefObject<DatePickerInputDates>,\n inputDates: DatePickerInputDates\n) {\n for (const date in dateRefs.current) {\n const dateRefValue = dateRefs.current[date]\n const inputDateValue = inputDates[date]\n\n if (dateRefValue !== inputDateValue) {\n dateRefs.current[date] = inputDateValue\n }\n }\n}\n\nconst wait = (duration: number) =>\n new Promise((r) => setTimeout(r, duration))\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DatePickerInput.js","names":["React","useCallback","useContext","useMemo","useRef","useState","isValid","parseISO","classnames","TextMask","Button","Input","SubmitButton","warn","validateDOMAttributes","toCapitalized","IS_ANDROID","IS_IOS","convertStringToDate","formatDate","DatePickerContext","Context","useTranslation","usePartialDates","useInputDates","defaultProps","separatorRegExp","statusState","opened","DatePickerInput","externalProps","props","_objectSpread","maskOrder","defaultMaskOrder","maskPlaceholder","defaultMaskPlaceholder","DatePicker","isRange","id","title","submitAttributes","onFocus","onBlur","onChange","onSubmit","selectedDateTitle","showInput","inputElement","lang","disabled","skeleton","size","status","statusProps","attributes","_objectWithoutProperties","_excluded","focusState","setFocusState","partialDatesRef","setPartialDates","invalidDatesRef","invalidStartDate","invalidEndDate","isDateFullyFilledOutRef","updateDates","callOnChangeHandler","getReturnObject","startDate","endDate","onType","label","inputDates","updateInputDates","translation","locale","hasHadValidDate","modeDate","inputRefs","startDayRef","current","undefined","startMonthRef","startYearRef","endDayRef","endMonthRef","endYearRef","dateRefs","startDay","startMonth","startYear","endDay","endMonth","endYear","syncDateRefs","temporaryDates","refList","focusMode","maskList","separators","match","split","reduce","acc","cur","push","length","shift","copyHandler","event","mode","date","preventDefault","valueToCopy","clipboardData","setData","pasteHandler","success","window","getData","possibleFormats","forEach","sep","replace","reverse","join","index","dateFormat","error","callOnChangeAsInvalid","state","datesFromContext","derivedStartDate","derivedEndDate","callOnChange","dates","callOnType","getDates","partialStartDate","partialEndDate","parsedStartDate","parsedEndDate","isStartDateValid","isEndDateValid","_getReturnObject","is_valid","is_valid_start_date","is_valid_end_date","returnObject","_excluded2","typedDates","start_date","end_date","setDate","type","persist","value","target","fallback","year","getFullYear","month","getMonth","day","getDate","Date","parseFloat","String","isValidDate","test","dateString","dateSetters","set_startDay","set_startMonth","set_startYear","set_endDay","set_endMonth","set_endYear","onFocusHandler","isNaN","setCursorPosition","onBlurHandler","onKeyDownHandler","keyCode","key","selectionStart","selectionEnd","getAttribute","firstSelectionStart","firstSelectionEnd","wait","secondSelectionStart","refListArray","findIndex","isLastChar","isFirstChar","isMovingForward","isExplicitForward","hasNextField","_refListArray","nextSibling","withoutDelay","name","slice","isMovingBackward","isPressingBackspace","_refListArray2","prevSibling","endPos","onInputHandler","currentTarget","nativeEvent","inputType","getPlaceholderChar","indexOf","generateDateList","element","map","i","placeholderChar","isRangeLabel","onInput","onKeyDown","e","onPaste","onCopy","DateField","isValidElement","InputElement","inputSizeClassName","createElement","Fragment","_extends","className","mask","inputRef","hidden","htmlFor","renderInputElement","startDateList","endDateList","_span","ariaLabel","openPickerText","SubmitElement","innerRef","ref","input_state","input_element","status_state","submit_element","icon","variant","on_submit","on_click","position","options","focus","select","setSelectionRange","process","env","NODE_ENV","setTimeout","_ref","_excluded3","guide","inputMode","showMask","keepCharPositions","autoComplete","autoCapitalize","spellCheck","autoCorrect","dateRefValue","inputDateValue","duration","Promise","r"],"sources":["../../../../src/components/date-picker/DatePickerInput.tsx"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React, {\n MutableRefObject,\n useCallback,\n useContext,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\n// date-fns\nimport isValid from 'date-fns/isValid'\nimport parseISO from 'date-fns/parseISO'\n\nimport classnames from 'classnames'\nimport TextMask, { TextMaskProps } from '../input-masked/TextMask'\nimport Button from '../button/Button'\nimport Input, { SubmitButton } from '../input/Input'\nimport type { InputInputElement, InputSize } from '../Input'\nimport {\n warn,\n validateDOMAttributes,\n toCapitalized,\n} from '../../shared/component-helper'\nimport { IS_ANDROID, IS_IOS } from '../../shared/helpers'\nimport { convertStringToDate, formatDate } from './DatePickerCalc'\nimport DatePickerContext from './DatePickerContext'\n\nimport type {\n FormStatusProps,\n FormStatusState,\n FormStatusText,\n} from '../FormStatus'\nimport type { SkeletonShow } from '../Skeleton'\nimport { ReturnObject } from './DatePickerProvider'\nimport { DatePickerEventAttributes, DatePickerProps } from './DatePicker'\nimport { Context, useTranslation } from '../../shared'\nimport usePartialDates from './hooks/usePartialDates'\nimport useInputDates, { DatePickerInputDates } from './hooks/useInputDates'\n\nexport type DatePickerInputProps = Omit<\n React.HTMLProps<HTMLInputElement>,\n | 'children'\n | 'ref'\n | 'value'\n | 'size'\n | 'onFocus'\n | 'onBlur'\n | 'onSubmit'\n | 'label'\n> & {\n selectedDateTitle?: string\n maskOrder?: DatePickerProps['maskOrder']\n maskPlaceholder?: DatePickerProps['maskPlaceholder']\n separatorRegExp?: RegExp\n submitAttributes?: Record<string, unknown>\n isRange?: boolean\n /**\n * The sizes you can choose is `small` (1.5rem), `default` (2rem), `medium` (2.5rem) and `large` (3rem) are supported component sizes. Defaults to `default` / `null`.\n */\n size?: InputSize\n /**\n * Text with a status message. The style defaults to an error message. You can use `true` to only get the status color, without a message.\n */\n status?: FormStatusText\n /**\n * Defines the state of the status. Currently, there are two statuses `[error, info]`. Defaults to `error`.\n */\n statusState?: FormStatusState\n /**\n * Use an object to define additional FormStatus properties.\n */\n statusProps?: FormStatusProps\n /**\n * Gives you the possibility to use a plain/vanilla `<input />` HTML element by defining it as a string `input_element=\"input\"`, a React element, or a render function `input_element={(internalProps) => (<Return />)}`. Can also be used in circumstances where the `react-text-mask` not should be used, e.g. in testing environments. Defaults to custom masked input.\n */\n inputElement?: InputInputElement\n /**\n * If set to `true`, an overlaying skeleton with animation will be shown.\n */\n skeleton?: SkeletonShow\n /**\n * To open the date-picker by default. Defaults to `false`.\n */\n opened?: boolean\n showInput?: boolean\n onSubmit?: (event: React.MouseEvent<HTMLButtonElement>) => void\n onChange?: (\n event: ReturnObject<React.ChangeEvent<HTMLInputElement>>\n ) => void\n /**\n * Will be called once the input gets focus.\n */\n onFocus?: (\n event: ReturnObject<React.FocusEvent<HTMLInputElement>>\n ) => void\n /**\n * Will be called once the input lose focus.\n */\n onBlur?: (\n event: ReturnObject<React.FocusEvent<HTMLInputElement>>\n ) => void\n}\n\nexport type InvalidDates = {\n invalidDate?: string\n invalidStartDate?: string\n invalidEndDate?: string\n}\n\nconst defaultProps: DatePickerInputProps = {\n separatorRegExp: /[-/ ]/g,\n statusState: 'error',\n opened: false,\n}\n\nfunction DatePickerInput(externalProps: DatePickerInputProps) {\n const props = { ...defaultProps, ...externalProps }\n\n const {\n maskOrder: defaultMaskOrder,\n maskPlaceholder: defaultMaskPlaceholder,\n } = useTranslation().DatePicker\n\n const {\n isRange,\n maskOrder = defaultMaskOrder,\n separatorRegExp,\n id,\n title,\n submitAttributes,\n maskPlaceholder = defaultMaskPlaceholder, // eslint-disable-line\n onFocus,\n onBlur,\n onChange, // eslint-disable-line\n onSubmit, // eslint-disable-line\n selectedDateTitle, // eslint-disable-line\n showInput, // eslint-disable-line\n inputElement,\n lang,\n disabled,\n skeleton,\n opened,\n size,\n status,\n statusState,\n statusProps,\n\n ...attributes\n } = props\n const [focusState, setFocusState] = useState<string>('virgin')\n\n const { partialDatesRef, setPartialDates } = usePartialDates()\n\n const invalidDatesRef = useRef<InvalidDates>({\n invalidStartDate: null,\n invalidEndDate: null,\n })\n const isDateFullyFilledOutRef = useRef(false)\n\n const {\n updateDates,\n callOnChangeHandler,\n getReturnObject,\n startDate,\n endDate,\n props: { onType, label },\n } = useContext(DatePickerContext)\n\n const { inputDates, updateInputDates } = useInputDates({\n startDate,\n endDate,\n })\n\n const translation = useTranslation().DatePicker\n const { locale } = useContext(Context)\n\n const hasHadValidDate = isValid(startDate) || isValid(endDate)\n\n const modeDate = useMemo(\n () => ({\n startDate,\n endDate,\n }),\n [startDate, endDate]\n )\n\n const inputRefs = useRef<\n Record<string, MutableRefObject<HTMLInputElement>>\n >({\n startDayRef: { current: undefined },\n startMonthRef: { current: undefined },\n startYearRef: { current: undefined },\n endDayRef: { current: undefined },\n endMonthRef: { current: undefined },\n endYearRef: { current: undefined },\n })\n\n const dateRefs = useRef<DatePickerInputDates>({\n startDay: '',\n startMonth: '',\n startYear: '',\n endDay: '',\n endMonth: '',\n endYear: '',\n })\n\n // Keep dateRefs in sync with inputDates on re-render\n syncDateRefs(dateRefs, inputDates)\n\n const temporaryDates = useRef<Record<string, Date>>({\n startDate: undefined,\n endDate: undefined,\n })\n\n const refList = useRef<Array<MutableRefObject<HTMLInputElement>>>()\n\n const focusMode = useRef<string>()\n\n const maskList = useMemo(() => {\n const separators = maskOrder.match(separatorRegExp)\n\n return maskOrder\n .split(separatorRegExp)\n .reduce<Array<string>>((acc, cur) => {\n if (!cur) {\n return acc\n }\n\n acc.push(cur)\n\n if (separators.length > 0) {\n // makes sure that separators are added at the correct places and removed from array when added\n acc.push(separators.shift())\n }\n\n return acc\n }, [])\n }, [maskOrder, separatorRegExp])\n\n const copyHandler = useCallback(\n (\n event: React.ClipboardEvent<HTMLInputElement>,\n mode: DatePickerEventAttributes['mode']\n ) => {\n const date = mode === 'end' ? endDate : startDate\n if (isValid(date)) {\n event.preventDefault()\n const valueToCopy = formatDate(date, { locale })\n event.clipboardData.setData('text/plain', valueToCopy)\n }\n },\n [endDate, locale, startDate]\n )\n\n const pasteHandler = useCallback(\n async (event: React.ClipboardEvent<HTMLInputElement>) => {\n if (!focusMode.current) {\n return // Stop here\n }\n\n const success = (\n event.clipboardData ||\n (typeof window !== 'undefined' && window['clipboardData'])\n ).getData('text/plain')\n\n if (!success) {\n return // Stop here\n }\n\n event.preventDefault()\n\n try {\n const separators = ['.', '/']\n const possibleFormats = ['yyyy-MM-dd']\n\n // TODO: Merge these loops\n possibleFormats.forEach((date) => {\n separators.forEach((sep) => {\n possibleFormats.push(date.replace(/-/g, sep))\n })\n })\n\n possibleFormats.forEach((date) => {\n possibleFormats.push(date.split('').reverse().join(''))\n })\n\n let date: Date\n let index = 0\n\n for (index; index < possibleFormats.length; ++index) {\n date = convertStringToDate(success, {\n dateFormat: possibleFormats[index],\n })\n\n if (date) {\n break\n }\n }\n\n const mode =\n focusMode.current === 'start' ? 'startDate' : 'endDate'\n\n if (date) {\n updateDates({\n [mode]: date,\n })\n }\n } catch (error: unknown) {\n warn(error)\n }\n },\n [updateDates]\n )\n\n const callOnChangeAsInvalid = useCallback(\n (state: {\n endDate?: Date\n starDate?: Date\n event: React.ChangeEvent<HTMLInputElement>\n }) => {\n // Should fire if user has filled out an invalid date,\n // or if the date was valid. Like if the user has pressed backspace or removed the valid date.\n if (isDateFullyFilledOutRef.current || hasHadValidDate) {\n const datesFromContext = { startDate, endDate }\n\n const {\n startDate: derivedStartDate,\n endDate: derivedEndDate,\n event,\n } = {\n ...state,\n ...datesFromContext,\n }\n\n callOnChangeHandler({\n startDate: derivedStartDate,\n endDate: derivedEndDate,\n event,\n ...invalidDatesRef.current,\n })\n }\n },\n [callOnChangeHandler, hasHadValidDate, startDate, endDate]\n )\n\n const callOnChange = useCallback(\n ({\n startDate,\n endDate,\n event,\n }: {\n startDate?: Date\n endDate?: Date\n event:\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n }) => {\n const state = {}\n if (typeof startDate !== 'undefined' && isValid(startDate)) {\n state['startDate'] = startDate\n }\n if (!isRange) {\n endDate = startDate\n }\n if (typeof endDate !== 'undefined' && isValid(endDate)) {\n state['endDate'] = endDate\n }\n\n updateDates(state, (dates) => {\n if (\n (typeof startDate !== 'undefined' && isValid(startDate)) ||\n (typeof endDate !== 'undefined' && isValid(endDate))\n ) {\n callOnChangeHandler({\n event,\n ...dates,\n ...invalidDatesRef.current,\n })\n }\n })\n },\n [updateDates, callOnChangeHandler, isRange]\n )\n\n const callOnType = useCallback(\n ({ event }: { event: React.ChangeEvent<HTMLInputElement> }) => {\n const getDates = () =>\n ['start', 'end'].reduce(\n (acc, mode) => {\n acc[`${mode}Date`] = [\n dateRefs.current[`${mode}Year`] ||\n inputDates[`${mode}Year`] ||\n 'yyyy',\n dateRefs.current[`${mode}Month`] ||\n inputDates[`${mode}Month`] ||\n 'mm',\n dateRefs.current[`${mode}Day`] ||\n inputDates[`${mode}Day`] ||\n 'dd',\n ].join('-')\n return acc\n },\n { startDate: undefined, endDate: undefined }\n )\n\n // Get the typed dates, so we can ...\n const { startDate, endDate } = getDates()\n\n // Get the partial dates, so we can know if something was typed or not in an optional date field\n setPartialDates({\n partialStartDate: startDate,\n // Only set endDate if in range mode\n ...(isRange && { partialEndDate: endDate }),\n })\n\n const parsedStartDate = parseISO(startDate)\n const parsedEndDate = parseISO(endDate)\n\n const isStartDateValid = isValid(parsedStartDate)\n const isEndDateValid = isValid(parsedEndDate)\n\n const {\n is_valid,\n is_valid_start_date,\n is_valid_end_date,\n ...returnObject\n } = getReturnObject({\n startDate: isStartDateValid ? parsedStartDate : null,\n endDate: isEndDateValid ? parsedEndDate : null,\n event,\n ...partialDatesRef.current,\n ...invalidDatesRef.current,\n })\n\n // Re-assigns dates to the typed date, instead of `null` from getReturnObject, if dates are invalid\n const typedDates = {\n ...(!isRange && is_valid === false && { date: startDate }),\n ...(isRange &&\n is_valid_start_date === false && { start_date: startDate }),\n ...(isRange &&\n is_valid_end_date === false && { end_date: endDate }),\n }\n\n onType?.({\n is_valid,\n is_valid_start_date,\n is_valid_end_date,\n ...returnObject,\n ...typedDates,\n })\n },\n [\n setPartialDates,\n isRange,\n getReturnObject,\n partialDatesRef,\n onType,\n inputDates,\n ]\n )\n\n const setDate = useCallback(\n (\n event: React.ChangeEvent<HTMLInputElement>,\n mode: 'start' | 'end',\n type: 'Day' | 'Month' | 'Year'\n ) => {\n event.persist() // since we have later a state update and afterwards the callback\n\n const value = (event.target as HTMLInputElement).value\n\n dateRefs.current[`${mode}${type}`] = value\n\n if (modeDate[`${mode}Date`]) {\n temporaryDates.current[`${mode}Date`] = modeDate[`${mode}Date`]\n }\n\n const fallback = temporaryDates.current[`${mode}Date`]\n\n // provide fallbacks to create a temp fallback\n const year =\n dateRefs.current[`${mode}Year`] ||\n (fallback && fallback.getFullYear())\n const month =\n dateRefs.current[`${mode}Month`] ||\n (fallback && fallback.getMonth() + 1)\n const day =\n dateRefs.current[`${mode}Day`] || (fallback && fallback.getDate())\n\n // calculate new date\n const date = new Date(\n parseFloat(String(year)),\n parseFloat(String(month)) - 1,\n parseFloat(String(day))\n )\n\n const isValidDate =\n !/[^0-9]/.test(String(day)) &&\n !/[^0-9]/.test(String(month)) &&\n !/[^0-9]/.test(String(year)) &&\n isValid(date) &&\n date.getDate() == parseFloat(String(day)) &&\n date.getMonth() + 1 == parseFloat(String(month)) &&\n date.getFullYear() == parseFloat(String(year))\n\n const dateString = `${year}-${month}-${day}`\n\n isDateFullyFilledOutRef.current =\n /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test(dateString)\n\n // update the date\n if (isValidDate) {\n invalidDatesRef.current = {\n ...invalidDatesRef.current,\n ...(mode === 'start'\n ? { invalidStartDate: null }\n : { invalidEndDate: null }),\n }\n\n callOnChange({\n [`${mode}Date`]: date,\n event,\n })\n } else {\n updateDates({\n [`${mode}Date`]: null,\n })\n updateInputDates({ [`${mode}${type}`]: value })\n\n invalidDatesRef.current = {\n ...invalidDatesRef.current,\n ...(mode === 'start'\n ? { invalidStartDate: dateString }\n : { invalidEndDate: dateString }),\n }\n\n callOnChangeAsInvalid({\n [`${mode}Date`]: null,\n event,\n })\n }\n\n callOnType({ event })\n },\n [\n updateDates,\n callOnChange,\n callOnChangeAsInvalid,\n callOnType,\n modeDate,\n dateRefs,\n temporaryDates,\n updateInputDates,\n ]\n )\n\n const dateSetters = useMemo(\n () => ({\n set_startDay: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'start', 'Day')\n },\n\n set_startMonth: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'start', 'Month')\n },\n\n set_startYear: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'start', 'Year')\n },\n\n set_endDay: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'end', 'Day')\n },\n\n set_endMonth: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'end', 'Month')\n },\n\n set_endYear: (event: React.ChangeEvent<HTMLInputElement>) => {\n setDate(event, 'end', 'Year')\n },\n }),\n [setDate]\n )\n\n const onFocusHandler = useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n setFocusState('focus')\n\n onFocus?.({\n ...event,\n ...getReturnObject({ event }),\n })\n\n if (isNaN(parseFloat(event.target.value))) {\n setCursorPosition(event.target)\n }\n },\n [getReturnObject, onFocus]\n )\n\n const onBlurHandler = useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n focusMode.current = null\n setFocusState('blur')\n\n onBlur?.({\n ...event,\n ...getReturnObject({ event, ...partialDatesRef.current }),\n })\n },\n [onBlur, getReturnObject, partialDatesRef]\n )\n\n const onKeyDownHandler = useCallback(\n async (event: React.KeyboardEvent<HTMLInputElement>) => {\n const keyCode = event.key\n const target = event.target as HTMLInputElement\n\n if (target.selectionStart !== target.selectionEnd) {\n setCursorPosition(target)\n }\n\n // The rest is for value entry\n\n const size = parseFloat(target.getAttribute('size'))\n const firstSelectionStart = target.selectionStart\n const firstSelectionEnd = target.selectionEnd\n\n // To get the correct position afterwards.\n // Use 10ms in order to make it work on iOS Safari\n await wait(IS_IOS ? 10 : 1)\n\n const secondSelectionStart = target.selectionStart\n\n // Always false (since the old keycode function set number keys to undefined) but needed to not break tests\n const isValid = /[0-9]/g.test(keyCode)\n const refListArray = refList.current\n\n const index = refListArray.findIndex(\n ({ current }) => current === target\n )\n\n const isLastChar = secondSelectionStart === size\n const isFirstChar = firstSelectionStart === size\n\n const isMovingForward =\n keyCode !== 'ArrowLeft' &&\n keyCode !== 'Backspace' &&\n isValid &&\n isLastChar\n\n const isExplicitForward =\n (keyCode === 'ArrowRight' || keyCode === 'Enter') && isFirstChar\n\n const hasNextField = index < refListArray.length - 1\n\n if (hasNextField && (isMovingForward || isExplicitForward)) {\n // stop in case there is no next input element\n if (!refListArray[index + 1].current) {\n return // stop here\n }\n const nextSibling = refListArray[index + 1]?.current\n\n if (nextSibling) {\n setCursorPosition(nextSibling, 0, { withoutDelay: true })\n }\n\n // When the cursor is at the end of the input\n // and the user types a number, we want to set the value on the next input.\n if (\n parseFloat(keyCode) <= 9 &&\n firstSelectionStart === target.size\n ) {\n const name = toCapitalized(\n nextSibling\n .getAttribute('class')\n .match(/__input--(day|month|year)($|\\s)/)[1]\n )\n const mode = nextSibling\n .getAttribute('id')\n .match(/-(start|end)-(day|month|year)/)[1]\n\n dateSetters[`set_${mode}${name}`]({\n persist: () => null,\n ...event,\n target: {\n value: keyCode + nextSibling.value.slice(1),\n },\n })\n\n setCursorPosition(nextSibling, 1)\n }\n } else if (index > 0 && firstSelectionStart === firstSelectionEnd) {\n const isMovingBackward =\n keyCode === 'ArrowLeft' && firstSelectionStart === 0\n const isPressingBackspace =\n keyCode === 'Backspace' && firstSelectionStart <= 1\n\n if (isMovingBackward || isPressingBackspace) {\n const prevSibling = refListArray[index - 1]?.current\n if (prevSibling) {\n const endPos = prevSibling.value.length\n setCursorPosition(prevSibling, endPos, {\n withoutDelay: true,\n })\n }\n }\n }\n },\n [dateSetters]\n )\n\n const onInputHandler = useCallback(\n (event) => {\n const target = event.currentTarget\n\n // Add support for \"backspace\" on Android virtual keyboard\n if (\n IS_ANDROID &&\n event.nativeEvent.inputType === 'deleteContentBackward' &&\n target.selectionStart === 0 &&\n target.selectionEnd === 0\n ) {\n onKeyDownHandler({\n ...event,\n key: 'Backspace',\n })\n }\n },\n [onKeyDownHandler]\n )\n\n const getPlaceholderChar = useCallback(\n (value: string) => {\n const index = maskOrder.indexOf(value)\n return maskPlaceholder[index]\n },\n [maskOrder, maskPlaceholder]\n )\n\n // TODO: Replace with MultiInputMask\n const generateDateList = useCallback(\n (\n element: Omit<React.HTMLProps<HTMLInputElement>, 'size'> &\n DatePickerEventAttributes,\n mode: 'start' | 'end'\n ) => {\n return maskList.map((value, i) => {\n const state = value.slice(0, 1)\n const placeholderChar = getPlaceholderChar(value)\n const { day, month, year } = translation\n const isRangeLabel = isRange ? `${translation[mode]} ` : ''\n\n if (!separatorRegExp.test(value)) {\n if (!inputElement) {\n element = {\n ...element,\n onInput: onInputHandler,\n onKeyDown: onKeyDownHandler,\n onFocus: (e) => {\n focusMode.current = mode\n onFocusHandler(e)\n },\n onBlur: onBlurHandler,\n onPaste: pasteHandler,\n onCopy: (event) => {\n copyHandler(event, mode)\n },\n placeholderChar,\n }\n }\n\n // this makes it possible to use a vanilla <input /> like: input_element=\"input\"\n const DateField =\n inputElement && React.isValidElement(inputElement)\n ? inputElement.type\n : InputElement\n\n const inputSizeClassName =\n size && `dnb-date-picker__input--${size}`\n\n switch (state) {\n case 'd':\n refList.current.push(inputRefs.current[`${mode}DayRef`])\n\n return (\n <React.Fragment key={'dd' + i}>\n <DateField\n {...element}\n id={`${id}-${mode}-day`}\n key={'di' + i}\n className={classnames(\n element.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--day',\n inputSizeClassName\n )}\n size={2}\n mask={[/[0-9]/, /[0-9]/]}\n inputRef={inputRefs.current[`${mode}DayRef`]}\n onChange={dateSetters[`set_${mode}Day`]}\n value={inputDates[`${mode}Day`] || ''}\n aria-labelledby={`${id}-${mode}-day-label`}\n />\n <label\n key={'dl' + i}\n hidden\n id={`${id}-${mode}-day-label`}\n htmlFor={`${id}-${mode}-day`}\n >\n {isRangeLabel + day}\n </label>\n </React.Fragment>\n )\n case 'm':\n refList.current.push(inputRefs.current[`${mode}MonthRef`])\n\n return (\n <React.Fragment key={'mm' + i}>\n <DateField\n {...element}\n id={`${id}-${mode}-month`}\n key={'mi' + i}\n className={classnames(\n element.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--month',\n inputSizeClassName\n )}\n size={2}\n mask={[/[0-9]/, /[0-9]/]}\n inputRef={inputRefs.current[`${mode}MonthRef`]}\n onChange={dateSetters[`set_${mode}Month`]}\n value={inputDates[`${mode}Month`] || ''}\n aria-labelledby={`${id}-${mode}-month-label`}\n />\n <label\n key={'ml' + i}\n hidden\n id={`${id}-${mode}-month-label`}\n htmlFor={`${id}-${mode}-month`}\n >\n {isRangeLabel + month}\n </label>\n </React.Fragment>\n )\n case 'y':\n refList.current.push(inputRefs.current[`${mode}YearRef`])\n\n return (\n <React.Fragment key={'yy' + i}>\n <DateField\n {...element}\n id={`${id}-${mode}-year`}\n key={'yi' + i}\n className={classnames(\n element.className,\n 'dnb-date-picker__input',\n 'dnb-date-picker__input--year',\n inputSizeClassName\n )}\n size={4}\n mask={[/[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/]}\n inputRef={inputRefs.current[`${mode}YearRef`]}\n onChange={dateSetters[`set_${mode}Year`]}\n value={inputDates[`${mode}Year`] || ''}\n aria-labelledby={`${id}-${mode}-year-label`}\n />\n <label\n key={'yl' + i}\n hidden\n id={`${id}-${mode}-year-label`}\n htmlFor={`${id}-${mode}-year`}\n >\n {isRangeLabel + year}\n </label>\n </React.Fragment>\n )\n }\n }\n return (\n <span\n key={'s' + i}\n className=\"dnb-date-picker--separator\"\n aria-hidden\n >\n {placeholderChar}\n </span>\n )\n })\n },\n [\n maskList,\n getPlaceholderChar,\n translation,\n isRange,\n separatorRegExp,\n inputElement,\n size,\n onInputHandler,\n onKeyDownHandler,\n pasteHandler,\n onBlurHandler,\n onFocusHandler,\n id,\n dateSetters,\n inputDates,\n ]\n )\n\n const renderInputElement = useCallback(\n (\n element: React.HTMLProps<HTMLInputElement> &\n DatePickerEventAttributes\n ) => {\n refList.current = []\n const startDateList = generateDateList(element, 'start')\n const endDateList = generateDateList(element, 'end')\n\n return (\n <span\n id={`${id}-input`}\n className=\"dnb-date-picker__input__wrapper\"\n >\n {startDateList}\n {isRange && (\n <span className=\"dnb-date-picker--separator\" aria-hidden>\n {' – '}\n </span>\n )}\n {isRange && endDateList}\n </span>\n )\n },\n [id, isRange, generateDateList]\n )\n\n const ariaLabel = useMemo(\n () =>\n selectedDateTitle\n ? `${selectedDateTitle}, ${translation.openPickerText}`\n : translation.openPickerText,\n [selectedDateTitle, translation]\n )\n\n validateDOMAttributes(props, attributes)\n validateDOMAttributes(null, submitAttributes)\n\n const SubmitElement: React.ElementType = useMemo(\n () => (showInput ? SubmitButton : Button),\n [showInput]\n )\n\n if (!showInput) {\n // Use Button inner ref\n submitAttributes.innerRef = submitAttributes.ref\n submitAttributes.ref = null\n }\n\n return (\n <fieldset className=\"dnb-date-picker__fieldset\" lang={lang}>\n {label && <legend className=\"dnb-sr-only\">{label}</legend>}\n <Input\n id={`${id}__input`}\n input_state={disabled ? 'disabled' : focusState}\n input_element={\n inputElement && typeof inputElement !== 'string'\n ? typeof inputElement === 'function'\n ? inputElement(props)\n : inputElement\n : renderInputElement\n }\n disabled={disabled || skeleton}\n skeleton={skeleton}\n size={size}\n status={!opened ? status : null}\n status_state={statusState}\n {...statusProps}\n submit_element={\n <SubmitElement\n id={id}\n disabled={disabled}\n skeleton={skeleton}\n className={classnames(\n showInput && 'dnb-button--input-button',\n opened ? 'dnb-button--active' : null\n )}\n aria-label={ariaLabel}\n title={title}\n size={size}\n status={status}\n status_state={statusState}\n type=\"button\"\n icon=\"calendar\"\n variant=\"secondary\"\n on_submit={onSubmit}\n on_click={onSubmit}\n {...submitAttributes}\n {...statusProps}\n />\n }\n lang={lang}\n {...attributes}\n />\n </fieldset>\n )\n}\n\nexport default DatePickerInput\n\nfunction setCursorPosition(\n target: HTMLInputElement,\n position = 0,\n options?: { withoutDelay?: boolean }\n) {\n target.focus()\n\n const select = () => {\n target.setSelectionRange(position, position)\n }\n\n // Delay for correct iOS Safari appearance\n if (!options?.withoutDelay && process.env.NODE_ENV !== 'test') {\n setTimeout(select, 0)\n } else {\n select()\n }\n}\n\nfunction InputElement({ className, value, ...props }: TextMaskProps) {\n return (\n <TextMask\n guide={true}\n inputMode=\"numeric\"\n showMask={true}\n keepCharPositions={false} // so we can overwrite next value, if it already exists\n autoComplete=\"off\"\n autoCapitalize=\"none\"\n spellCheck={false}\n autoCorrect=\"off\"\n className={classnames(\n className,\n /\\d+/.test(String(value)) && 'dnb-date-picker__input--highlight'\n )}\n value={value}\n {...props}\n />\n )\n}\n\nfunction syncDateRefs(\n dateRefs: React.MutableRefObject<DatePickerInputDates>,\n inputDates: DatePickerInputDates\n) {\n for (const date in dateRefs.current) {\n const dateRefValue = dateRefs.current[date]\n const inputDateValue = inputDates[date]\n\n if (dateRefValue !== inputDateValue) {\n dateRefs.current[date] = inputDateValue\n }\n }\n}\n\nconst wait = (duration: number) =>\n new Promise((r) => setTimeout(r, duration))\n"],"mappings":"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","ignoreList":[]}
@@ -33,5 +33,5 @@ export type ReturnObject<E> = InvalidDates & PartialDates & {
33
33
  is_valid_start_date?: boolean;
34
34
  is_valid_end_date?: boolean;
35
35
  };
36
- declare function DatePickerProvider(externalProps: DatePickerProviderProps): import("react/jsx-runtime").JSX.Element;
36
+ declare function DatePickerProvider(props: DatePickerProviderProps): import("react/jsx-runtime").JSX.Element;
37
37
  export default DatePickerProvider;
@@ -1,11 +1,11 @@
1
1
  "use client";
2
2
 
3
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
3
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
5
  const _excluded = ["event"];
6
6
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
7
7
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8
- import React, { useCallback, useContext } from 'react';
8
+ import React, { useCallback, useContext, useMemo } from 'react';
9
9
  import isValid from 'date-fns/isValid';
10
10
  import format from 'date-fns/format';
11
11
  import differenceInCalendarDays from 'date-fns/differenceInCalendarDays';
@@ -17,11 +17,12 @@ import useDates from './hooks/useDates';
17
17
  import useLastEventCallCache from './hooks/useLastEventCallCache';
18
18
  import useHoverDate from './hooks/useHoverDate';
19
19
  import useSubmittedDates from './hooks/useSubmittedDates';
20
- const defaultProps = {
21
- returnFormat: 'yyyy-MM-dd'
22
- };
23
- function DatePickerProvider(externalProps) {
24
- const props = _objectSpread(_objectSpread({}, defaultProps), externalProps);
20
+ function DatePickerProvider(props) {
21
+ const sharedContext = useContext(SharedContext);
22
+ const {
23
+ returnFormat: defaultReturnFormat,
24
+ dateFormat: defaultDateFormat
25
+ } = sharedContext.translation.DatePicker;
25
26
  const {
26
27
  date,
27
28
  startDate,
@@ -30,17 +31,17 @@ function DatePickerProvider(externalProps) {
30
31
  endMonth,
31
32
  minDate,
32
33
  maxDate,
33
- dateFormat,
34
+ dateFormat = defaultDateFormat,
34
35
  range,
35
- correctInvalidDate,
36
36
  attributes,
37
37
  returnFormat: returnFormatProp,
38
38
  children,
39
39
  onChange,
40
40
  setReturnObject,
41
- hidePicker
41
+ hidePicker,
42
+ correctInvalidDate
42
43
  } = props;
43
- const sharedContext = useContext(SharedContext);
44
+ const returnFormat = useMemo(() => correctV1Format(returnFormatProp || defaultReturnFormat), [returnFormatProp, defaultReturnFormat]);
44
45
  const {
45
46
  dates,
46
47
  updateDates,
@@ -54,7 +55,7 @@ function DatePickerProvider(externalProps) {
54
55
  minDate,
55
56
  maxDate
56
57
  }, {
57
- dateFormat: dateFormat,
58
+ dateFormat,
58
59
  isRange: range,
59
60
  shouldCorrectDate: correctInvalidDate
60
61
  });
@@ -92,7 +93,6 @@ function DatePickerProvider(externalProps) {
92
93
  invalidStartDate,
93
94
  invalidEndDate
94
95
  } = _objectSpread(_objectSpread(_objectSpread({}, views), dates), rest);
95
- const returnFormat = correctV1Format(returnFormatProp);
96
96
  const startDateIsValid = Boolean(startDate && isValid(startDate));
97
97
  const endDateIsValid = Boolean(endDate && isValid(endDate));
98
98
  const hasMinOrMaxDates = minDate || maxDate;
@@ -120,7 +120,7 @@ function DatePickerProvider(externalProps) {
120
120
  invalidDate: invalidStartDate,
121
121
  is_valid: hasMinOrMaxDates && startDateIsValid && isDisabled(startDate, dates.minDate, dates.maxDate) ? false : startDateIsValid
122
122
  });
123
- }, [dates, views, attributes, maxDate, minDate, range, returnFormatProp]);
123
+ }, [dates, views, attributes, maxDate, minDate, range, returnFormat]);
124
124
  const callOnChangeHandler = useCallback(event => {
125
125
  if (lastEventCallCache && lastEventCallCache.startDate === event.startDate && lastEventCallCache.endDate === event.endDate) {
126
126
  return;
@@ -141,7 +141,8 @@ function DatePickerProvider(externalProps) {
141
141
  getReturnObject,
142
142
  callOnChangeHandler,
143
143
  hidePicker: hidePicker,
144
- props
144
+ props,
145
+ dateFormat
145
146
  }, dates), {}, {
146
147
  previousDateProps,
147
148
  submittedDates: submittedDatesRef.current,
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerProvider.js","names":["React","useCallback","useContext","isValid","format","differenceInCalendarDays","SharedContext","correctV1Format","isDisabled","DatePickerContext","useViews","useDates","useLastEventCallCache","useHoverDate","useSubmittedDates","defaultProps","returnFormat","DatePickerProvider","externalProps","props","_objectSpread","date","startDate","endDate","startMonth","endMonth","minDate","maxDate","dateFormat","range","correctInvalidDate","attributes","returnFormatProp","children","onChange","setReturnObject","hidePicker","sharedContext","dates","updateDates","previousDateProps","isRange","shouldCorrectDate","views","setViews","setHasClickedCalendarDay","lastEventCallCache","setLastEventCallCache","hoverDate","setHoverDate","submittedDatesRef","setSubmittedDates","getReturnObject","_ref","event","rest","_objectWithoutProperties","_excluded","partialStartDate","partialEndDate","invalidStartDate","invalidEndDate","startDateIsValid","Boolean","endDateIsValid","hasMinOrMaxDates","returnObject","days_between","start_date","end_date","is_valid_start_date","is_valid_end_date","partialDate","invalidDate","is_valid","callOnChangeHandler","createElement","Provider","value","translation","submittedDates","current"],"sources":["../../../../src/components/date-picker/DatePickerProvider.tsx"],"sourcesContent":["/**\n * Web DatePicker Provider\n *\n */\n\nimport React, { useCallback, useContext } from 'react'\nimport type {\n DatePickerEventAttributes,\n DatePickerAllProps,\n DatePickerProps,\n} from './DatePicker'\n\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\n\nimport SharedContext from '../../shared/Context'\nimport { correctV1Format, isDisabled } from './DatePickerCalc'\nimport DatePickerContext, {\n DatePickerContextValues,\n} from './DatePickerContext'\nimport useViews from './hooks/useViews'\nimport useDates, { DatePickerDates } from './hooks/useDates'\nimport useLastEventCallCache from './hooks/useLastEventCallCache'\nimport { InvalidDates } from './DatePickerInput'\nimport { PartialDates } from './hooks/usePartialDates'\nimport useHoverDate from './hooks/useHoverDate'\nimport useSubmittedDates from './hooks/useSubmittedDates'\n\ntype DatePickerProviderProps = DatePickerAllProps & {\n setReturnObject: (\n func: DatePickerContextValues['getReturnObject']\n ) => DatePickerContextValues['getReturnObject']\n hidePicker?: DatePickerContextValues['hidePicker']\n attributes?: DatePickerEventAttributes\n children: React.ReactNode\n}\n\nexport type DatePickerChangeEvent<E> = DatePickerDates &\n InvalidDates & {\n nr?: number\n hidePicker?: boolean\n event?: E\n }\n\nexport type GetReturnObjectParams<E> = DatePickerDates &\n PartialDates &\n InvalidDates & {\n event?: E\n }\n\n// TODO: convert properties on event handler return objects to camelCase, constitutes a breaking change\nexport type ReturnObject<E> = InvalidDates &\n PartialDates & {\n event?: E\n attributes?: Record<string, unknown>\n days_between?: number\n date?: string | null\n start_date?: string | null\n end_date?: string | null\n is_valid?: boolean\n is_valid_start_date?: boolean\n is_valid_end_date?: boolean\n }\n\nconst defaultProps: Partial<DatePickerProps> = {\n returnFormat: 'yyyy-MM-dd', // used in date-fns v1: YYYY-MM-DD\n}\n\nfunction DatePickerProvider(externalProps: DatePickerProviderProps) {\n const props = { ...defaultProps, ...externalProps }\n\n const {\n date,\n startDate,\n endDate,\n startMonth,\n endMonth,\n minDate,\n maxDate,\n dateFormat,\n range,\n correctInvalidDate,\n attributes,\n returnFormat: returnFormatProp,\n children,\n onChange,\n setReturnObject,\n hidePicker,\n } = props\n\n const sharedContext = useContext(SharedContext)\n\n const { dates, updateDates, previousDateProps } = useDates(\n {\n date,\n startDate,\n endDate,\n startMonth,\n endMonth,\n minDate,\n maxDate,\n },\n {\n dateFormat: dateFormat,\n isRange: range,\n shouldCorrectDate: correctInvalidDate,\n }\n )\n\n const { views, setViews, setHasClickedCalendarDay } = useViews({\n startMonth: dates.startMonth,\n endMonth: dates.endMonth,\n isRange: range,\n })\n\n const [lastEventCallCache, setLastEventCallCache] =\n useLastEventCallCache({\n startDate: dates.startDate,\n endDate: dates.endDate,\n })\n\n const { hoverDate, setHoverDate } = useHoverDate()\n\n const { submittedDatesRef, setSubmittedDates } = useSubmittedDates()\n\n const getReturnObject = useCallback(\n <E,>({ event = null, ...rest }: GetReturnObjectParams<E> = {}) => {\n const {\n startDate,\n endDate,\n partialStartDate,\n partialEndDate,\n invalidStartDate,\n invalidEndDate,\n } = {\n ...views,\n ...dates,\n ...rest,\n }\n\n const returnFormat = correctV1Format(returnFormatProp)\n const startDateIsValid = Boolean(startDate && isValid(startDate))\n const endDateIsValid = Boolean(endDate && isValid(endDate))\n const hasMinOrMaxDates = minDate || maxDate\n\n const returnObject: ReturnObject<E> = {\n event,\n attributes: attributes || {},\n }\n\n // Handle range props\n if (range) {\n return {\n ...returnObject,\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:\n hasMinOrMaxDates &&\n startDateIsValid &&\n isDisabled(startDate, dates.minDate, dates.maxDate)\n ? false\n : startDateIsValid,\n is_valid_end_date:\n hasMinOrMaxDates &&\n endDateIsValid &&\n isDisabled(endDate, dates.minDate, dates.maxDate)\n ? false\n : endDateIsValid,\n partialStartDate,\n partialEndDate,\n invalidStartDate,\n invalidEndDate,\n }\n }\n\n return {\n ...returnObject,\n date: startDateIsValid ? format(startDate, returnFormat) : null,\n partialDate: partialStartDate,\n // Can be removed in v11, in favor to partialDate,\n // to keep the naming logic the same as with date and invalidDate when not in range mode\n partialStartDate,\n invalidDate: invalidStartDate,\n is_valid:\n hasMinOrMaxDates &&\n startDateIsValid &&\n isDisabled(startDate, dates.minDate, dates.maxDate)\n ? false\n : startDateIsValid,\n }\n },\n [dates, views, attributes, maxDate, minDate, range, returnFormatProp]\n )\n\n const callOnChangeHandler = useCallback(\n <E,>(event: E & DatePickerDates) => {\n /**\n * Prevent on_change to be fired twice if date not has actually changed\n */\n if (\n lastEventCallCache &&\n lastEventCallCache.startDate === event.startDate &&\n lastEventCallCache.endDate === event.endDate\n ) {\n return // stop here\n }\n\n onChange?.(getReturnObject({ ...dates, ...event }))\n\n setLastEventCallCache({\n startDate: event.startDate,\n endDate: event.endDate,\n })\n },\n [\n getReturnObject,\n dates,\n onChange,\n lastEventCallCache,\n setLastEventCallCache,\n ]\n )\n\n // Is this at any point something other than a function?\n if (typeof setReturnObject === 'function') {\n setReturnObject(getReturnObject)\n }\n\n return (\n <DatePickerContext.Provider\n value={{\n translation: sharedContext.translation,\n updateDates,\n getReturnObject,\n callOnChangeHandler,\n hidePicker: hidePicker,\n props,\n ...dates,\n previousDateProps,\n submittedDates: submittedDatesRef.current,\n setSubmittedDates,\n views,\n setViews,\n setHasClickedCalendarDay,\n hoverDate,\n setHoverDate,\n }}\n >\n {children}\n </DatePickerContext.Provider>\n )\n}\n\nexport default DatePickerProvider\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DatePickerProvider.js","names":["React","useCallback","useContext","useMemo","isValid","format","differenceInCalendarDays","SharedContext","correctV1Format","isDisabled","DatePickerContext","useViews","useDates","useLastEventCallCache","useHoverDate","useSubmittedDates","DatePickerProvider","props","sharedContext","returnFormat","defaultReturnFormat","dateFormat","defaultDateFormat","translation","DatePicker","date","startDate","endDate","startMonth","endMonth","minDate","maxDate","range","attributes","returnFormatProp","children","onChange","setReturnObject","hidePicker","correctInvalidDate","dates","updateDates","previousDateProps","isRange","shouldCorrectDate","views","setViews","setHasClickedCalendarDay","lastEventCallCache","setLastEventCallCache","hoverDate","setHoverDate","submittedDatesRef","setSubmittedDates","getReturnObject","_ref","event","rest","_objectWithoutProperties","_excluded","partialStartDate","partialEndDate","invalidStartDate","invalidEndDate","_objectSpread","startDateIsValid","Boolean","endDateIsValid","hasMinOrMaxDates","returnObject","days_between","start_date","end_date","is_valid_start_date","is_valid_end_date","partialDate","invalidDate","is_valid","callOnChangeHandler","createElement","Provider","value","submittedDates","current"],"sources":["../../../../src/components/date-picker/DatePickerProvider.tsx"],"sourcesContent":["/**\n * Web DatePicker Provider\n *\n */\n\nimport React, { useCallback, useContext, useMemo } from 'react'\nimport type {\n DatePickerEventAttributes,\n DatePickerAllProps,\n} from './DatePicker'\n\nimport isValid from 'date-fns/isValid'\nimport format from 'date-fns/format'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\n\nimport SharedContext from '../../shared/Context'\nimport { correctV1Format, isDisabled } from './DatePickerCalc'\nimport DatePickerContext, {\n DatePickerContextValues,\n} from './DatePickerContext'\nimport useViews from './hooks/useViews'\nimport useDates, { DatePickerDates } from './hooks/useDates'\nimport useLastEventCallCache from './hooks/useLastEventCallCache'\nimport { InvalidDates } from './DatePickerInput'\nimport { PartialDates } from './hooks/usePartialDates'\nimport useHoverDate from './hooks/useHoverDate'\nimport useSubmittedDates from './hooks/useSubmittedDates'\n\ntype DatePickerProviderProps = DatePickerAllProps & {\n setReturnObject: (\n func: DatePickerContextValues['getReturnObject']\n ) => DatePickerContextValues['getReturnObject']\n hidePicker?: DatePickerContextValues['hidePicker']\n attributes?: DatePickerEventAttributes\n children: React.ReactNode\n}\n\nexport type DatePickerChangeEvent<E> = DatePickerDates &\n InvalidDates & {\n nr?: number\n hidePicker?: boolean\n event?: E\n }\n\nexport type GetReturnObjectParams<E> = DatePickerDates &\n PartialDates &\n InvalidDates & {\n event?: E\n }\n\n// TODO: convert properties on event handler return objects to camelCase, constitutes a breaking change\nexport type ReturnObject<E> = InvalidDates &\n PartialDates & {\n event?: E\n attributes?: Record<string, unknown>\n days_between?: number\n date?: string | null\n start_date?: string | null\n end_date?: string | null\n is_valid?: boolean\n is_valid_start_date?: boolean\n is_valid_end_date?: boolean\n }\n\nfunction DatePickerProvider(props: DatePickerProviderProps) {\n const sharedContext = useContext(SharedContext)\n\n const {\n returnFormat: defaultReturnFormat,\n dateFormat: defaultDateFormat,\n } = sharedContext.translation.DatePicker\n\n const {\n date,\n startDate,\n endDate,\n startMonth,\n endMonth,\n minDate,\n maxDate,\n dateFormat = defaultDateFormat,\n range,\n attributes,\n returnFormat: returnFormatProp,\n children,\n onChange,\n setReturnObject,\n hidePicker,\n // Deprecated – can be removed in v11\n correctInvalidDate,\n } = props\n\n const returnFormat = useMemo(\n () => correctV1Format(returnFormatProp || defaultReturnFormat),\n [returnFormatProp, defaultReturnFormat]\n )\n\n const { dates, updateDates, previousDateProps } = useDates(\n {\n date,\n startDate,\n endDate,\n startMonth,\n endMonth,\n minDate,\n maxDate,\n },\n {\n dateFormat,\n isRange: range,\n // Deprecated – can be removed in v11\n shouldCorrectDate: correctInvalidDate,\n }\n )\n\n const { views, setViews, setHasClickedCalendarDay } = useViews({\n startMonth: dates.startMonth,\n endMonth: dates.endMonth,\n isRange: range,\n })\n\n const [lastEventCallCache, setLastEventCallCache] =\n useLastEventCallCache({\n startDate: dates.startDate,\n endDate: dates.endDate,\n })\n\n const { hoverDate, setHoverDate } = useHoverDate()\n\n const { submittedDatesRef, setSubmittedDates } = useSubmittedDates()\n\n const getReturnObject = useCallback(\n <E,>({ event = null, ...rest }: GetReturnObjectParams<E> = {}) => {\n const {\n startDate,\n endDate,\n partialStartDate,\n partialEndDate,\n invalidStartDate,\n invalidEndDate,\n } = {\n ...views,\n ...dates,\n ...rest,\n }\n\n const startDateIsValid = Boolean(startDate && isValid(startDate))\n const endDateIsValid = Boolean(endDate && isValid(endDate))\n const hasMinOrMaxDates = minDate || maxDate\n\n const returnObject: ReturnObject<E> = {\n event,\n attributes: attributes || {},\n }\n\n // Handle range props\n if (range) {\n return {\n ...returnObject,\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:\n hasMinOrMaxDates &&\n startDateIsValid &&\n isDisabled(startDate, dates.minDate, dates.maxDate)\n ? false\n : startDateIsValid,\n is_valid_end_date:\n hasMinOrMaxDates &&\n endDateIsValid &&\n isDisabled(endDate, dates.minDate, dates.maxDate)\n ? false\n : endDateIsValid,\n partialStartDate,\n partialEndDate,\n invalidStartDate,\n invalidEndDate,\n }\n }\n\n return {\n ...returnObject,\n date: startDateIsValid ? format(startDate, returnFormat) : null,\n partialDate: partialStartDate,\n // Can be removed in v11, in favor to partialDate,\n // to keep the naming logic the same as with date and invalidDate when not in range mode\n partialStartDate,\n invalidDate: invalidStartDate,\n is_valid:\n hasMinOrMaxDates &&\n startDateIsValid &&\n isDisabled(startDate, dates.minDate, dates.maxDate)\n ? false\n : startDateIsValid,\n }\n },\n [dates, views, attributes, maxDate, minDate, range, returnFormat]\n )\n\n const callOnChangeHandler = useCallback(\n <E,>(event: E & DatePickerDates) => {\n /**\n * Prevent on_change to be fired twice if date not has actually changed\n */\n if (\n lastEventCallCache &&\n lastEventCallCache.startDate === event.startDate &&\n lastEventCallCache.endDate === event.endDate\n ) {\n return // stop here\n }\n\n onChange?.(getReturnObject({ ...dates, ...event }))\n\n setLastEventCallCache({\n startDate: event.startDate,\n endDate: event.endDate,\n })\n },\n [\n getReturnObject,\n dates,\n onChange,\n lastEventCallCache,\n setLastEventCallCache,\n ]\n )\n\n // Is this at any point something other than a function?\n if (typeof setReturnObject === 'function') {\n setReturnObject(getReturnObject)\n }\n\n return (\n <DatePickerContext.Provider\n value={{\n translation: sharedContext.translation,\n updateDates,\n getReturnObject,\n callOnChangeHandler,\n hidePicker: hidePicker,\n props,\n dateFormat,\n ...dates,\n previousDateProps,\n submittedDates: submittedDatesRef.current,\n setSubmittedDates,\n views,\n setViews,\n setHasClickedCalendarDay,\n hoverDate,\n setHoverDate,\n }}\n >\n {children}\n </DatePickerContext.Provider>\n )\n}\n\nexport default DatePickerProvider\n"],"mappings":"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","ignoreList":[]}
@@ -12,12 +12,8 @@ export type DatePickerRangeProps = Omit<React.HTMLProps<HTMLElement>, 'onChange'
12
12
  isLink?: boolean;
13
13
  isSync?: boolean;
14
14
  onlyMonth?: boolean;
15
- hideNav?: boolean;
16
- views?: [{
17
- nextBtn: false;
18
- prevBtn: false;
19
- }];
20
- onChange?: (event: DatePickerChangeEvent<React.MouseEvent<HTMLSpanElement> | React.KeyboardEvent<HTMLTableElement>>) => void;
15
+ hideNavigation?: boolean;
16
+ onPickerChange?: (event: DatePickerChangeEvent<React.MouseEvent<HTMLSpanElement> | React.KeyboardEvent<HTMLTableElement>>) => void;
21
17
  };
22
- declare function DatePickerRange(props: DatePickerRangeProps): import("react/jsx-runtime").JSX.Element;
18
+ declare function DatePickerRange({ onPickerChange, ...props }: DatePickerRangeProps): import("react/jsx-runtime").JSX.Element;
23
19
  export default DatePickerRange;