@dnb/eufemia 10.16.0 → 10.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (591) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/cjs/components/anchor/Anchor.js +9 -5
  3. package/cjs/components/anchor/Anchor.js.map +1 -1
  4. package/cjs/components/anchor/style/anchor-mixins.scss +0 -11
  5. package/cjs/components/anchor/style/dnb-anchor.css +0 -16
  6. package/cjs/components/anchor/style/dnb-anchor.min.css +1 -1
  7. package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +16 -4
  8. package/cjs/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  9. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.css +16 -4
  10. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  11. package/cjs/components/anchor/style/themes/dnb-anchor-theme-ui.scss +10 -2
  12. package/cjs/components/autocomplete/Autocomplete.js +2 -2
  13. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  14. package/cjs/components/button/style/dnb-button.css +13 -0
  15. package/cjs/components/button/style/dnb-button.min.css +1 -1
  16. package/cjs/components/button/style/dnb-button.scss +16 -0
  17. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.css +12 -1
  18. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
  19. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.css +12 -0
  20. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.min.css +2 -2
  21. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.scss +10 -0
  22. package/cjs/components/button/style/themes/dnb-button-theme-ui.css +12 -1
  23. package/cjs/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  24. package/cjs/components/button/style/themes/dnb-button-theme-ui.scss +12 -3
  25. package/cjs/components/date-picker/DatePicker.d.ts +14 -1
  26. package/cjs/components/date-picker/DatePicker.js +0 -1
  27. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  28. package/cjs/components/date-picker/DatePickerCalc.js +2 -1
  29. package/cjs/components/date-picker/DatePickerCalc.js.map +1 -1
  30. package/cjs/components/date-picker/DatePickerInput.d.ts +3 -0
  31. package/cjs/components/date-picker/DatePickerInput.js +9 -2
  32. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  33. package/cjs/components/dropdown/Dropdown.js +3 -2
  34. package/cjs/components/dropdown/Dropdown.js.map +1 -1
  35. package/cjs/components/flex/Container.js +15 -2
  36. package/cjs/components/flex/Container.js.map +1 -1
  37. package/cjs/components/flex/export.d.ts +1 -0
  38. package/cjs/components/flex/export.js +7 -0
  39. package/cjs/components/flex/export.js.map +1 -1
  40. package/cjs/components/flex/utils.d.ts +1 -1
  41. package/cjs/components/flex/utils.js +11 -1
  42. package/cjs/components/flex/utils.js.map +1 -1
  43. package/cjs/components/flex/withChildren.d.ts +6 -0
  44. package/cjs/components/flex/withChildren.js +13 -0
  45. package/cjs/components/flex/withChildren.js.map +1 -0
  46. package/cjs/components/input/Input.js +3 -3
  47. package/cjs/components/input/Input.js.map +1 -1
  48. package/cjs/components/input/style/themes/dnb-input-theme-ui.css +2 -0
  49. package/cjs/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  50. package/cjs/components/input/style/themes/dnb-input-theme-ui.scss +2 -0
  51. package/cjs/components/input-masked/InputMaskedHooks.d.ts +1 -0
  52. package/cjs/components/input-masked/InputMaskedHooks.js +13 -8
  53. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  54. package/cjs/components/input-masked/MultiInputMask.d.ts +10 -2
  55. package/cjs/components/input-masked/MultiInputMask.js +41 -14
  56. package/cjs/components/input-masked/MultiInputMask.js.map +1 -1
  57. package/cjs/components/input-masked/hooks/useHandleCursorPosition.js +7 -3
  58. package/cjs/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -1
  59. package/cjs/components/input-masked/hooks/useMultiInputValues.d.ts +2 -2
  60. package/cjs/components/input-masked/hooks/useMultiInputValues.js.map +1 -1
  61. package/cjs/components/number-format/NumberFormat.js +1 -1
  62. package/cjs/components/number-format/NumberFormat.js.map +1 -1
  63. package/cjs/components/textarea/style/dnb-textarea.css +5 -0
  64. package/cjs/components/textarea/style/dnb-textarea.min.css +1 -1
  65. package/cjs/components/textarea/style/dnb-textarea.scss +4 -0
  66. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +8 -1
  67. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -1
  68. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +6 -1
  69. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +4 -0
  70. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
  71. package/cjs/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +5 -0
  72. package/cjs/components/visually-hidden/VisuallyHidden.js +1 -1
  73. package/cjs/components/visually-hidden/VisuallyHidden.js.map +1 -1
  74. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +8 -4
  75. package/cjs/extensions/forms/DataContext/Provider/Provider.js +22 -4
  76. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  77. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +14 -14
  78. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  79. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -2
  80. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  81. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +12 -2
  82. package/cjs/extensions/forms/Field/Currency/Currency.d.ts +1 -5
  83. package/cjs/extensions/forms/Field/Currency/Currency.js.map +1 -1
  84. package/cjs/extensions/forms/Field/Date/Date.d.ts +3 -1
  85. package/cjs/extensions/forms/Field/Date/Date.js +47 -10
  86. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  87. package/cjs/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  88. package/cjs/extensions/forms/Field/Expiry/Expiry.js +20 -10
  89. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  90. package/cjs/extensions/forms/Field/Number/Number.d.ts +5 -1
  91. package/cjs/extensions/forms/Field/Number/Number.js +109 -30
  92. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  93. package/cjs/extensions/forms/Field/Number/style/dnb-number.css +192 -0
  94. package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -0
  95. package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +176 -0
  96. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +74 -0
  97. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +3 -0
  98. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +81 -0
  99. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +15 -0
  100. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +5 -0
  101. package/cjs/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +15 -0
  102. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -10
  103. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  104. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +7 -1
  105. package/cjs/extensions/forms/Field/Selection/Selection.js +4 -9
  106. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  107. package/cjs/extensions/forms/Field/String/String.d.ts +0 -1
  108. package/cjs/extensions/forms/Field/String/String.js +23 -9
  109. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  110. package/cjs/extensions/forms/Field/Toggle/Toggle.js +0 -4
  111. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  112. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  113. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +16 -26
  114. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  115. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +9 -9
  116. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  117. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -11
  118. package/cjs/extensions/forms/Form/Handler/Handler.js +1 -0
  119. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  120. package/cjs/extensions/forms/{Visibility → Form/Visibility}/Visibility.d.ts +5 -2
  121. package/cjs/extensions/forms/{Visibility → Form/Visibility}/Visibility.js +7 -2
  122. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -0
  123. package/cjs/extensions/forms/Form/Visibility/index.js.map +1 -0
  124. package/cjs/extensions/forms/Form/hooks/useData.d.ts +10 -0
  125. package/cjs/extensions/forms/Form/hooks/useData.js +36 -0
  126. package/cjs/extensions/forms/Form/hooks/useData.js.map +1 -0
  127. package/cjs/extensions/forms/Form/index.d.ts +2 -0
  128. package/cjs/extensions/forms/Form/index.js +14 -0
  129. package/cjs/extensions/forms/Form/index.js.map +1 -1
  130. package/cjs/extensions/forms/Iterate/Array/Array.js +0 -4
  131. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  132. package/cjs/extensions/forms/hooks/useDataValue.js +26 -33
  133. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  134. package/cjs/extensions/forms/hooks/useId.d.ts +1 -0
  135. package/cjs/extensions/forms/hooks/useId.js +18 -0
  136. package/cjs/extensions/forms/hooks/useId.js.map +1 -0
  137. package/cjs/extensions/forms/index.d.ts +6 -1
  138. package/cjs/extensions/forms/index.js +5 -8
  139. package/cjs/extensions/forms/index.js.map +1 -1
  140. package/cjs/extensions/forms/style/dnb-forms.css +214 -11
  141. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  142. package/cjs/extensions/forms/types.d.ts +16 -18
  143. package/cjs/extensions/forms/types.js.map +1 -1
  144. package/cjs/extensions/forms/utils/TestElement/TestElement.d.ts +5 -1
  145. package/cjs/extensions/forms/utils/TestElement/TestElement.js +1 -0
  146. package/cjs/extensions/forms/utils/TestElement/TestElement.js.map +1 -1
  147. package/cjs/shared/Eufemia.d.ts +1 -1
  148. package/cjs/shared/Eufemia.js +2 -2
  149. package/cjs/shared/Eufemia.js.map +1 -1
  150. package/cjs/shared/helpers/EventEmitter.d.ts +5 -0
  151. package/cjs/shared/helpers/EventEmitter.js.map +1 -1
  152. package/cjs/shared/helpers/useEventEmitter.d.ts +2 -0
  153. package/cjs/shared/helpers/useEventEmitter.js.map +1 -1
  154. package/cjs/shared/helpers/useSharedState.d.ts +15 -0
  155. package/cjs/shared/helpers/useSharedState.js +71 -0
  156. package/cjs/shared/helpers/useSharedState.js.map +1 -0
  157. package/cjs/style/core/utilities.scss +1 -2
  158. package/cjs/style/dnb-ui-components.css +232 -27
  159. package/cjs/style/dnb-ui-components.min.css +3 -3
  160. package/cjs/style/dnb-ui-extensions.css +214 -11
  161. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  162. package/cjs/style/dnb-ui-forms.css +214 -11
  163. package/cjs/style/dnb-ui-forms.min.css +1 -1
  164. package/cjs/style/dnb-ui-forms.scss +1 -0
  165. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +498 -44
  166. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +9 -5
  167. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +230 -11
  168. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +5 -1
  169. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  170. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +230 -12
  171. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +5 -1
  172. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.scss +2 -0
  173. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +541 -40
  174. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -6
  175. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +289 -11
  176. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +3 -1
  177. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  178. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +289 -12
  179. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +3 -1
  180. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +2 -0
  181. package/cjs/style/themes/theme-ui/ui-theme-components.css +496 -44
  182. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +9 -5
  183. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +230 -11
  184. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +5 -1
  185. package/cjs/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  186. package/cjs/style/themes/theme-ui/ui-theme-forms.css +230 -12
  187. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +5 -1
  188. package/cjs/style/themes/theme-ui/ui-theme-forms.scss +2 -0
  189. package/cjs/style/themes/theme-ui/ui-theme-tags.css +8 -10
  190. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  191. package/components/anchor/Anchor.js +9 -5
  192. package/components/anchor/Anchor.js.map +1 -1
  193. package/components/anchor/style/anchor-mixins.scss +0 -11
  194. package/components/anchor/style/dnb-anchor.css +0 -16
  195. package/components/anchor/style/dnb-anchor.min.css +1 -1
  196. package/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +16 -4
  197. package/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  198. package/components/anchor/style/themes/dnb-anchor-theme-ui.css +16 -4
  199. package/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  200. package/components/anchor/style/themes/dnb-anchor-theme-ui.scss +10 -2
  201. package/components/autocomplete/Autocomplete.js +2 -2
  202. package/components/autocomplete/Autocomplete.js.map +1 -1
  203. package/components/button/style/dnb-button.css +13 -0
  204. package/components/button/style/dnb-button.min.css +1 -1
  205. package/components/button/style/dnb-button.scss +16 -0
  206. package/components/button/style/themes/dnb-button-theme-eiendom.css +12 -1
  207. package/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
  208. package/components/button/style/themes/dnb-button-theme-sbanken.css +12 -0
  209. package/components/button/style/themes/dnb-button-theme-sbanken.min.css +2 -2
  210. package/components/button/style/themes/dnb-button-theme-sbanken.scss +10 -0
  211. package/components/button/style/themes/dnb-button-theme-ui.css +12 -1
  212. package/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  213. package/components/button/style/themes/dnb-button-theme-ui.scss +12 -3
  214. package/components/date-picker/DatePicker.d.ts +14 -1
  215. package/components/date-picker/DatePicker.js +0 -1
  216. package/components/date-picker/DatePicker.js.map +1 -1
  217. package/components/date-picker/DatePickerCalc.js +2 -1
  218. package/components/date-picker/DatePickerCalc.js.map +1 -1
  219. package/components/date-picker/DatePickerInput.d.ts +3 -0
  220. package/components/date-picker/DatePickerInput.js +9 -2
  221. package/components/date-picker/DatePickerInput.js.map +1 -1
  222. package/components/dropdown/Dropdown.js +3 -2
  223. package/components/dropdown/Dropdown.js.map +1 -1
  224. package/components/flex/Container.js +15 -2
  225. package/components/flex/Container.js.map +1 -1
  226. package/components/flex/export.d.ts +1 -0
  227. package/components/flex/export.js +1 -0
  228. package/components/flex/export.js.map +1 -1
  229. package/components/flex/utils.d.ts +1 -1
  230. package/components/flex/utils.js +11 -1
  231. package/components/flex/utils.js.map +1 -1
  232. package/components/flex/withChildren.d.ts +6 -0
  233. package/components/flex/withChildren.js +6 -0
  234. package/components/flex/withChildren.js.map +1 -0
  235. package/components/input/Input.js +3 -3
  236. package/components/input/Input.js.map +1 -1
  237. package/components/input/style/themes/dnb-input-theme-ui.css +2 -0
  238. package/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  239. package/components/input/style/themes/dnb-input-theme-ui.scss +2 -0
  240. package/components/input-masked/InputMaskedHooks.d.ts +1 -0
  241. package/components/input-masked/InputMaskedHooks.js +13 -8
  242. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  243. package/components/input-masked/MultiInputMask.d.ts +10 -2
  244. package/components/input-masked/MultiInputMask.js +39 -14
  245. package/components/input-masked/MultiInputMask.js.map +1 -1
  246. package/components/input-masked/hooks/useHandleCursorPosition.js +7 -3
  247. package/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -1
  248. package/components/input-masked/hooks/useMultiInputValues.d.ts +2 -2
  249. package/components/input-masked/hooks/useMultiInputValues.js.map +1 -1
  250. package/components/number-format/NumberFormat.js +1 -1
  251. package/components/number-format/NumberFormat.js.map +1 -1
  252. package/components/textarea/style/dnb-textarea.css +5 -0
  253. package/components/textarea/style/dnb-textarea.min.css +1 -1
  254. package/components/textarea/style/dnb-textarea.scss +4 -0
  255. package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +8 -1
  256. package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -1
  257. package/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +6 -1
  258. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +4 -0
  259. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
  260. package/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +5 -0
  261. package/components/visually-hidden/VisuallyHidden.js +1 -1
  262. package/components/visually-hidden/VisuallyHidden.js.map +1 -1
  263. package/es/components/anchor/Anchor.js +9 -5
  264. package/es/components/anchor/Anchor.js.map +1 -1
  265. package/es/components/anchor/style/anchor-mixins.scss +0 -11
  266. package/es/components/anchor/style/dnb-anchor.css +0 -16
  267. package/es/components/anchor/style/dnb-anchor.min.css +1 -1
  268. package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.css +16 -4
  269. package/es/components/anchor/style/themes/dnb-anchor-theme-eiendom.min.css +1 -1
  270. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.css +16 -4
  271. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.min.css +1 -1
  272. package/es/components/anchor/style/themes/dnb-anchor-theme-ui.scss +10 -2
  273. package/es/components/autocomplete/Autocomplete.js +2 -2
  274. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  275. package/es/components/button/style/dnb-button.css +13 -0
  276. package/es/components/button/style/dnb-button.min.css +1 -1
  277. package/es/components/button/style/dnb-button.scss +16 -0
  278. package/es/components/button/style/themes/dnb-button-theme-eiendom.css +12 -1
  279. package/es/components/button/style/themes/dnb-button-theme-eiendom.min.css +1 -1
  280. package/es/components/button/style/themes/dnb-button-theme-sbanken.css +12 -0
  281. package/es/components/button/style/themes/dnb-button-theme-sbanken.min.css +2 -2
  282. package/es/components/button/style/themes/dnb-button-theme-sbanken.scss +10 -0
  283. package/es/components/button/style/themes/dnb-button-theme-ui.css +12 -1
  284. package/es/components/button/style/themes/dnb-button-theme-ui.min.css +1 -1
  285. package/es/components/button/style/themes/dnb-button-theme-ui.scss +12 -3
  286. package/es/components/date-picker/DatePicker.d.ts +14 -1
  287. package/es/components/date-picker/DatePicker.js +0 -1
  288. package/es/components/date-picker/DatePicker.js.map +1 -1
  289. package/es/components/date-picker/DatePickerCalc.js +2 -1
  290. package/es/components/date-picker/DatePickerCalc.js.map +1 -1
  291. package/es/components/date-picker/DatePickerInput.d.ts +3 -0
  292. package/es/components/date-picker/DatePickerInput.js +9 -2
  293. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  294. package/es/components/dropdown/Dropdown.js +3 -2
  295. package/es/components/dropdown/Dropdown.js.map +1 -1
  296. package/es/components/flex/Container.js +15 -2
  297. package/es/components/flex/Container.js.map +1 -1
  298. package/es/components/flex/export.d.ts +1 -0
  299. package/es/components/flex/export.js +1 -0
  300. package/es/components/flex/export.js.map +1 -1
  301. package/es/components/flex/utils.d.ts +1 -1
  302. package/es/components/flex/utils.js +11 -1
  303. package/es/components/flex/utils.js.map +1 -1
  304. package/es/components/flex/withChildren.d.ts +6 -0
  305. package/es/components/flex/withChildren.js +6 -0
  306. package/es/components/flex/withChildren.js.map +1 -0
  307. package/es/components/input/Input.js +3 -3
  308. package/es/components/input/Input.js.map +1 -1
  309. package/es/components/input/style/themes/dnb-input-theme-ui.css +2 -0
  310. package/es/components/input/style/themes/dnb-input-theme-ui.min.css +1 -1
  311. package/es/components/input/style/themes/dnb-input-theme-ui.scss +2 -0
  312. package/es/components/input-masked/InputMaskedHooks.d.ts +1 -0
  313. package/es/components/input-masked/InputMaskedHooks.js +13 -8
  314. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  315. package/es/components/input-masked/MultiInputMask.d.ts +10 -2
  316. package/es/components/input-masked/MultiInputMask.js +39 -13
  317. package/es/components/input-masked/MultiInputMask.js.map +1 -1
  318. package/es/components/input-masked/hooks/useHandleCursorPosition.js +7 -3
  319. package/es/components/input-masked/hooks/useHandleCursorPosition.js.map +1 -1
  320. package/es/components/input-masked/hooks/useMultiInputValues.d.ts +2 -2
  321. package/es/components/input-masked/hooks/useMultiInputValues.js.map +1 -1
  322. package/es/components/number-format/NumberFormat.js +1 -1
  323. package/es/components/number-format/NumberFormat.js.map +1 -1
  324. package/es/components/textarea/style/dnb-textarea.css +5 -0
  325. package/es/components/textarea/style/dnb-textarea.min.css +1 -1
  326. package/es/components/textarea/style/dnb-textarea.scss +4 -0
  327. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.css +8 -1
  328. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.min.css +1 -1
  329. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-sbanken.scss +6 -1
  330. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.css +4 -0
  331. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.min.css +1 -1
  332. package/es/components/toggle-button/style/themes/dnb-toggle-button-theme-ui.scss +5 -0
  333. package/es/components/visually-hidden/VisuallyHidden.js +1 -1
  334. package/es/components/visually-hidden/VisuallyHidden.js.map +1 -1
  335. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +8 -4
  336. package/es/extensions/forms/DataContext/Provider/Provider.js +22 -4
  337. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  338. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +15 -15
  339. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  340. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -2
  341. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  342. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +12 -2
  343. package/es/extensions/forms/Field/Currency/Currency.d.ts +1 -5
  344. package/es/extensions/forms/Field/Currency/Currency.js.map +1 -1
  345. package/es/extensions/forms/Field/Date/Date.d.ts +3 -1
  346. package/es/extensions/forms/Field/Date/Date.js +45 -9
  347. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  348. package/es/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  349. package/es/extensions/forms/Field/Expiry/Expiry.js +20 -11
  350. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  351. package/es/extensions/forms/Field/Number/Number.d.ts +5 -1
  352. package/es/extensions/forms/Field/Number/Number.js +109 -31
  353. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  354. package/es/extensions/forms/Field/Number/style/dnb-number.css +192 -0
  355. package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -0
  356. package/es/extensions/forms/Field/Number/style/dnb-number.scss +176 -0
  357. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +74 -0
  358. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +3 -0
  359. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +81 -0
  360. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +15 -0
  361. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +5 -0
  362. package/es/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +15 -0
  363. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -10
  364. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  365. package/es/extensions/forms/Field/Selection/Selection.d.ts +7 -1
  366. package/es/extensions/forms/Field/Selection/Selection.js +4 -9
  367. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  368. package/es/extensions/forms/Field/String/String.d.ts +0 -1
  369. package/es/extensions/forms/Field/String/String.js +23 -9
  370. package/es/extensions/forms/Field/String/String.js.map +1 -1
  371. package/es/extensions/forms/Field/Toggle/Toggle.js +0 -4
  372. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  373. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  374. package/es/extensions/forms/FieldBlock/FieldBlock.js +14 -23
  375. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  376. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +9 -9
  377. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  378. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -11
  379. package/es/extensions/forms/Form/Handler/Handler.js +1 -0
  380. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  381. package/{extensions/forms → es/extensions/forms/Form}/Visibility/Visibility.d.ts +5 -2
  382. package/es/extensions/forms/{Visibility → Form/Visibility}/Visibility.js +7 -2
  383. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -0
  384. package/es/extensions/forms/Form/Visibility/index.js.map +1 -0
  385. package/es/extensions/forms/Form/hooks/useData.d.ts +10 -0
  386. package/es/extensions/forms/Form/hooks/useData.js +29 -0
  387. package/es/extensions/forms/Form/hooks/useData.js.map +1 -0
  388. package/es/extensions/forms/Form/index.d.ts +2 -0
  389. package/es/extensions/forms/Form/index.js +2 -0
  390. package/es/extensions/forms/Form/index.js.map +1 -1
  391. package/es/extensions/forms/Iterate/Array/Array.js +0 -4
  392. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  393. package/es/extensions/forms/hooks/useDataValue.js +26 -33
  394. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  395. package/es/extensions/forms/hooks/useId.d.ts +1 -0
  396. package/es/extensions/forms/hooks/useId.js +11 -0
  397. package/es/extensions/forms/hooks/useId.js.map +1 -0
  398. package/es/extensions/forms/index.d.ts +6 -1
  399. package/es/extensions/forms/index.js +3 -1
  400. package/es/extensions/forms/index.js.map +1 -1
  401. package/es/extensions/forms/style/dnb-forms.css +214 -11
  402. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  403. package/es/extensions/forms/types.d.ts +16 -18
  404. package/es/extensions/forms/types.js.map +1 -1
  405. package/es/extensions/forms/utils/TestElement/TestElement.d.ts +5 -1
  406. package/es/extensions/forms/utils/TestElement/TestElement.js +1 -0
  407. package/es/extensions/forms/utils/TestElement/TestElement.js.map +1 -1
  408. package/es/shared/Eufemia.d.ts +1 -1
  409. package/es/shared/Eufemia.js +2 -2
  410. package/es/shared/Eufemia.js.map +1 -1
  411. package/es/shared/helpers/EventEmitter.d.ts +5 -0
  412. package/es/shared/helpers/EventEmitter.js.map +1 -1
  413. package/es/shared/helpers/useEventEmitter.d.ts +2 -0
  414. package/es/shared/helpers/useEventEmitter.js.map +1 -1
  415. package/es/shared/helpers/useSharedState.d.ts +15 -0
  416. package/es/shared/helpers/useSharedState.js +63 -0
  417. package/es/shared/helpers/useSharedState.js.map +1 -0
  418. package/es/style/core/utilities.scss +1 -2
  419. package/es/style/dnb-ui-components.css +232 -27
  420. package/es/style/dnb-ui-components.min.css +3 -3
  421. package/es/style/dnb-ui-extensions.css +214 -11
  422. package/es/style/dnb-ui-extensions.min.css +1 -1
  423. package/es/style/dnb-ui-forms.css +214 -11
  424. package/es/style/dnb-ui-forms.min.css +1 -1
  425. package/es/style/dnb-ui-forms.scss +1 -0
  426. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +498 -44
  427. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +9 -5
  428. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +230 -11
  429. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +5 -1
  430. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  431. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +230 -12
  432. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +5 -1
  433. package/es/style/themes/theme-eiendom/eiendom-theme-forms.scss +2 -0
  434. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +541 -40
  435. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -6
  436. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +289 -11
  437. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +3 -1
  438. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  439. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +289 -12
  440. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +3 -1
  441. package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +2 -0
  442. package/es/style/themes/theme-ui/ui-theme-components.css +496 -44
  443. package/es/style/themes/theme-ui/ui-theme-components.min.css +9 -5
  444. package/es/style/themes/theme-ui/ui-theme-extensions.css +230 -11
  445. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +5 -1
  446. package/es/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  447. package/es/style/themes/theme-ui/ui-theme-forms.css +230 -12
  448. package/es/style/themes/theme-ui/ui-theme-forms.min.css +5 -1
  449. package/es/style/themes/theme-ui/ui-theme-forms.scss +2 -0
  450. package/es/style/themes/theme-ui/ui-theme-tags.css +8 -10
  451. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  452. package/esm/dnb-ui-basis.min.mjs +1 -1
  453. package/esm/dnb-ui-components.min.mjs +1 -1
  454. package/esm/dnb-ui-elements.min.mjs +1 -1
  455. package/esm/dnb-ui-extensions.min.mjs +3 -3
  456. package/esm/dnb-ui-lib.min.mjs +1 -1
  457. package/extensions/forms/DataContext/Provider/Provider.d.ts +8 -4
  458. package/extensions/forms/DataContext/Provider/Provider.js +22 -4
  459. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  460. package/extensions/forms/Field/ArraySelection/ArraySelection.js +15 -15
  461. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  462. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +12 -2
  463. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  464. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +12 -2
  465. package/extensions/forms/Field/Currency/Currency.d.ts +1 -5
  466. package/extensions/forms/Field/Currency/Currency.js.map +1 -1
  467. package/extensions/forms/Field/Date/Date.d.ts +3 -1
  468. package/extensions/forms/Field/Date/Date.js +48 -11
  469. package/extensions/forms/Field/Date/Date.js.map +1 -1
  470. package/extensions/forms/Field/Expiry/Expiry.d.ts +1 -1
  471. package/extensions/forms/Field/Expiry/Expiry.js +21 -11
  472. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  473. package/extensions/forms/Field/Number/Number.d.ts +5 -1
  474. package/extensions/forms/Field/Number/Number.js +110 -31
  475. package/extensions/forms/Field/Number/Number.js.map +1 -1
  476. package/extensions/forms/Field/Number/style/dnb-number.css +192 -0
  477. package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -0
  478. package/extensions/forms/Field/Number/style/dnb-number.scss +176 -0
  479. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.css +74 -0
  480. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.min.css +3 -0
  481. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-sbanken.scss +81 -0
  482. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.css +15 -0
  483. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.min.css +5 -0
  484. package/extensions/forms/Field/Number/style/themes/dnb-number-theme-ui.scss +15 -0
  485. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +7 -10
  486. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  487. package/extensions/forms/Field/Selection/Selection.d.ts +7 -1
  488. package/extensions/forms/Field/Selection/Selection.js +4 -9
  489. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  490. package/extensions/forms/Field/String/String.d.ts +0 -1
  491. package/extensions/forms/Field/String/String.js +23 -9
  492. package/extensions/forms/Field/String/String.js.map +1 -1
  493. package/extensions/forms/Field/Toggle/Toggle.js +0 -4
  494. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  495. package/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  496. package/extensions/forms/FieldBlock/FieldBlock.js +16 -26
  497. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  498. package/extensions/forms/FieldBlock/style/dnb-field-block.css +9 -9
  499. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  500. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +2 -11
  501. package/extensions/forms/Form/Handler/Handler.js +1 -0
  502. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  503. package/{es/extensions/forms → extensions/forms/Form}/Visibility/Visibility.d.ts +5 -2
  504. package/extensions/forms/{Visibility → Form/Visibility}/Visibility.js +7 -2
  505. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -0
  506. package/extensions/forms/Form/Visibility/index.js.map +1 -0
  507. package/extensions/forms/Form/hooks/useData.d.ts +10 -0
  508. package/extensions/forms/Form/hooks/useData.js +30 -0
  509. package/extensions/forms/Form/hooks/useData.js.map +1 -0
  510. package/extensions/forms/Form/index.d.ts +2 -0
  511. package/extensions/forms/Form/index.js +2 -0
  512. package/extensions/forms/Form/index.js.map +1 -1
  513. package/extensions/forms/Iterate/Array/Array.js +0 -4
  514. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  515. package/extensions/forms/hooks/useDataValue.js +26 -33
  516. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  517. package/extensions/forms/hooks/useId.d.ts +1 -0
  518. package/extensions/forms/hooks/useId.js +11 -0
  519. package/extensions/forms/hooks/useId.js.map +1 -0
  520. package/extensions/forms/index.d.ts +6 -1
  521. package/extensions/forms/index.js +3 -1
  522. package/extensions/forms/index.js.map +1 -1
  523. package/extensions/forms/style/dnb-forms.css +214 -11
  524. package/extensions/forms/style/dnb-forms.min.css +1 -1
  525. package/extensions/forms/types.d.ts +16 -18
  526. package/extensions/forms/types.js.map +1 -1
  527. package/extensions/forms/utils/TestElement/TestElement.d.ts +5 -1
  528. package/extensions/forms/utils/TestElement/TestElement.js +1 -0
  529. package/extensions/forms/utils/TestElement/TestElement.js.map +1 -1
  530. package/package.json +1 -1
  531. package/shared/Eufemia.d.ts +1 -1
  532. package/shared/Eufemia.js +2 -2
  533. package/shared/Eufemia.js.map +1 -1
  534. package/shared/helpers/EventEmitter.d.ts +5 -0
  535. package/shared/helpers/EventEmitter.js.map +1 -1
  536. package/shared/helpers/useEventEmitter.d.ts +2 -0
  537. package/shared/helpers/useEventEmitter.js.map +1 -1
  538. package/shared/helpers/useSharedState.d.ts +15 -0
  539. package/shared/helpers/useSharedState.js +63 -0
  540. package/shared/helpers/useSharedState.js.map +1 -0
  541. package/style/core/utilities.scss +1 -2
  542. package/style/dnb-ui-components.css +232 -27
  543. package/style/dnb-ui-components.min.css +3 -3
  544. package/style/dnb-ui-extensions.css +214 -11
  545. package/style/dnb-ui-extensions.min.css +1 -1
  546. package/style/dnb-ui-forms.css +214 -11
  547. package/style/dnb-ui-forms.min.css +1 -1
  548. package/style/dnb-ui-forms.scss +1 -0
  549. package/style/themes/theme-eiendom/eiendom-theme-components.css +498 -44
  550. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +9 -5
  551. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +230 -11
  552. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +5 -1
  553. package/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  554. package/style/themes/theme-eiendom/eiendom-theme-forms.css +230 -12
  555. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +5 -1
  556. package/style/themes/theme-eiendom/eiendom-theme-forms.scss +2 -0
  557. package/style/themes/theme-sbanken/sbanken-theme-components.css +541 -40
  558. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +8 -6
  559. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +289 -11
  560. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +3 -1
  561. package/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  562. package/style/themes/theme-sbanken/sbanken-theme-forms.css +289 -12
  563. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +3 -1
  564. package/style/themes/theme-sbanken/sbanken-theme-forms.scss +2 -0
  565. package/style/themes/theme-ui/ui-theme-components.css +496 -44
  566. package/style/themes/theme-ui/ui-theme-components.min.css +9 -5
  567. package/style/themes/theme-ui/ui-theme-extensions.css +230 -11
  568. package/style/themes/theme-ui/ui-theme-extensions.min.css +5 -1
  569. package/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  570. package/style/themes/theme-ui/ui-theme-forms.css +230 -12
  571. package/style/themes/theme-ui/ui-theme-forms.min.css +5 -1
  572. package/style/themes/theme-ui/ui-theme-forms.scss +2 -0
  573. package/style/themes/theme-ui/ui-theme-tags.css +8 -10
  574. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  575. package/umd/dnb-ui-basis.min.js +1 -1
  576. package/umd/dnb-ui-components.min.js +1 -1
  577. package/umd/dnb-ui-elements.min.js +1 -1
  578. package/umd/dnb-ui-extensions.min.js +3 -3
  579. package/umd/dnb-ui-lib.min.js +1 -1
  580. package/cjs/extensions/forms/Visibility/Visibility.js.map +0 -1
  581. package/cjs/extensions/forms/Visibility/index.js.map +0 -1
  582. package/es/extensions/forms/Visibility/Visibility.js.map +0 -1
  583. package/es/extensions/forms/Visibility/index.js.map +0 -1
  584. package/extensions/forms/Visibility/Visibility.js.map +0 -1
  585. package/extensions/forms/Visibility/index.js.map +0 -1
  586. /package/cjs/extensions/forms/{Visibility → Form/Visibility}/index.d.ts +0 -0
  587. /package/cjs/extensions/forms/{Visibility → Form/Visibility}/index.js +0 -0
  588. /package/es/extensions/forms/{Visibility → Form/Visibility}/index.d.ts +0 -0
  589. /package/es/extensions/forms/{Visibility → Form/Visibility}/index.js +0 -0
  590. /package/extensions/forms/{Visibility → Form/Visibility}/index.d.ts +0 -0
  591. /package/extensions/forms/{Visibility → Form/Visibility}/index.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.js","names":["React","PropTypes","classnames","warn","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","dispatchCustomElementEvent","detectOutsideClick","getStatusState","combineDescribedBy","validateDOMAttributes","AlignmentHelper","spacingPropTypes","createSpacingClasses","pickFormElementProps","skeletonDOMAttributes","format","nbLocale","enLocale","Context","Suffix","FormLabel","FormStatus","DatePickerProvider","DatePickerRange","DatePickerInput","DatePickerAddon","DatePickerFooter","DatePicker","PureComponent","constructor","props","_defineProperty","show_input","align_picker","triangleWidth","_triangleRef","current","_innerRef","shellWidth","querySelector","getBoundingClientRect","width","buttonWidth","distance","style","marginRight","marginLeft","e","outsideClick","_e$event","hidePicker","focusOnHide","event","key","_ref","args","_objectWithoutProperties","_excluded","show_submit_button","show_cancel_button","getReturnObject","_hideTimeout","clearTimeout","setState","opened","hidden","_listenForPropChanges","setTrianglePosition","setOutsideClickHandler","prevent_close","persist","setTimeout","_submitButtonRef","focus","preventScroll","no_animation","blurDelay","removeOutsideClickHandler","state","showPicker","_id","id","showInput","direction","end_date","range","createRef","remove","componentWillUnmount","componentDidMount","formatSelectedDateTitle","startDate","endDate","selected_date","start","end","context","getTranslation","currentDate","replace","render","_this$context","_this$context2","_this$context3","defaultProps","skeleton","lang","locale","code","FormRow","formElement","test","label","title","label_direction","label_sr_only","only_month","hide_last_week","disable_autofocus","enable_keyboard_nav","hide_navigation_buttons","first_day","reset_date","link","sync","input_element","addon_element","shortcuts","disabled","stretch","size","status","status_state","status_props","status_no_animation","globalStatus","suffix","mask_order","mask_placeholder","submit_button_text","cancel_button_text","reset_button_text","hide_navigation","_hide_navigation","return_format","_return_format","date_format","_date_format","hide_days","_hide_days","month","_month","date","_date","start_date","_start_date","_end_date","min_date","_min_date","max_date","_max_date","correct_invalid_date","_correct_invalid_date","_opened","_direction","className","class","_className","show_reset_button","attributes","_excluded2","showStatus","pickerParams","submitParams","ref","selectedDateTitle","mainParams","createElement","_extends","setReturnObject","fn","enhanceWithMethods","for_id","text","sr_only","_AlignmentHelper","show","text_id","width_selector","maskOrder","maskPlaceholder","isRange","submitAttributes","onFocus","onSubmit","togglePicker","Fragment","firstDayOfWeek","resetDate","isLink","isSync","hideDays","hideNav","views","nextBtn","prevBtn","onlyMonth","hideNextMonthWeek","noAutofocus","onChange","onPickerChange","renderElement","onSubmitHandler","onCancel","onCancelHandler","onReset","onResetHandler","submitButtonText","cancelButtonText","resetButtonText","undefined","start_month","end_month","on_days_render","on_change","on_type","on_show","on_hide","on_submit","on_cancel","on_reset","onBlur","process","env","NODE_ENV","propTypes","_objectSpread","string","oneOfType","instanceOf","Date","bool","object","func","node","oneOf","array","shape","message","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/date-picker/DatePicker.js"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n dispatchCustomElementEvent,\n detectOutsideClick,\n getStatusState,\n combineDescribedBy,\n validateDOMAttributes,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport { skeletonDOMAttributes } from '../skeleton/SkeletonHelper'\n\n// date-fns\nimport format from 'date-fns/format'\nimport nbLocale from 'date-fns/locale/nb'\nimport enLocale from 'date-fns/locale/en-GB'\n\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport DatePickerProvider from './DatePickerProvider'\nimport DatePickerRange from './DatePickerRange'\nimport DatePickerInput from './DatePickerInput'\nimport DatePickerAddon from './DatePickerAddon'\nimport DatePickerFooter from './DatePickerFooter'\n\nexport default class DatePicker extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n id: PropTypes.string,\n title: PropTypes.string,\n date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]), // e.g. 2019-04-03T00:00:00Z\n start_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]), // e.g. 2019-04-03T00:00:00Z\n end_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]), // e.g. 2019-04-03T00:00:00Z\n month: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n start_month: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n end_month: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n min_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n max_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n correct_invalid_date: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n mask_order: PropTypes.string,\n mask_placeholder: PropTypes.string,\n date_format: PropTypes.string,\n return_format: PropTypes.string,\n hide_navigation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n hide_navigation_buttons: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n hide_days: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n only_month: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n hide_last_week: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n disable_autofocus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n enable_keyboard_nav: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n show_input: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n show_submit_button: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n show_cancel_button: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n show_reset_button: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n submit_button_text: PropTypes.string,\n cancel_button_text: PropTypes.string,\n reset_button_text: PropTypes.string,\n reset_date: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n first_day: PropTypes.string,\n locale: PropTypes.object,\n range: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n link: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n sync: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n input_element: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n addon_element: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n shortcuts: PropTypes.oneOfType([PropTypes.array, PropTypes.func]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n opened: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n prevent_close: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n direction: PropTypes.oneOf(['auto', 'top', 'bottom']),\n align_picker: PropTypes.oneOf(['auto', 'left', 'right']),\n class: PropTypes.string,\n className: PropTypes.string,\n\n ...spacingPropTypes,\n\n on_days_render: PropTypes.func,\n on_change: PropTypes.func,\n on_type: PropTypes.func,\n on_show: PropTypes.func,\n on_hide: PropTypes.func,\n on_submit: PropTypes.func,\n on_cancel: PropTypes.func,\n on_reset: PropTypes.func,\n onBlur: PropTypes.func,\n }\n\n static defaultProps = {\n id: null,\n title: null,\n date: undefined,\n start_date: undefined,\n end_date: undefined,\n month: undefined,\n start_month: undefined,\n end_month: undefined,\n mask_order: 'dd/mm/yyyy',\n mask_placeholder: 'dd/mm/åååå', // have to be same setup as \"mask\" - but can be like: dd/mm/åååå\n date_format: 'yyyy-MM-dd', // in v1 of date-fns we were more flexible in terms of the format\n return_format: 'yyyy-MM-dd', // used in date-fns v1: YYYY-MM-DD\n hide_navigation: false,\n hide_navigation_buttons: false,\n hide_days: false,\n only_month: false,\n hide_last_week: false,\n disable_autofocus: false,\n enable_keyboard_nav: false,\n show_input: false,\n show_submit_button: null,\n show_cancel_button: null,\n show_reset_button: null,\n submit_button_text: 'Ok',\n cancel_button_text: 'Avbryt',\n reset_button_text: 'Tilbakestill',\n reset_date: true,\n first_day: 'monday',\n min_date: undefined,\n max_date: undefined,\n correct_invalid_date: null,\n locale: nbLocale,\n range: false,\n link: false,\n sync: true,\n label: null,\n label_direction: null,\n label_sr_only: null,\n input_element: null,\n addon_element: null,\n shortcuts: null,\n disabled: null,\n stretch: null,\n skeleton: null,\n size: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n opened: false,\n prevent_close: null,\n no_animation: false,\n direction: 'auto',\n align_picker: null,\n class: null,\n className: null,\n\n on_days_render: null,\n on_change: null,\n on_type: null,\n on_show: null,\n on_hide: null,\n on_submit: null,\n on_cancel: null,\n on_reset: null,\n onBlur: null,\n }\n\n static blurDelay = 201 // some ms more than \"dropdownSlideDown 200ms\"\n\n constructor(props) {\n super(props)\n\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n\n const opened = isTrue(props.opened)\n this.state = {\n showInput: isTrue(props.show_input),\n opened,\n hidden: !opened,\n direction: props.direction,\n _listenForPropChanges: true,\n }\n\n if (props.end_date && !isTrue(props.range)) {\n warn(\n `The DatePicker got a \"end_date\". You have to set range={true} as well!.`\n )\n }\n\n this._innerRef = React.createRef()\n this._triangleRef = React.createRef()\n this._submitButtonRef = React.createRef()\n }\n\n setTrianglePosition = () => {\n const { show_input, align_picker } = this.props\n const triangleWidth = 16\n if (\n isTrue(show_input) &&\n this._triangleRef.current &&\n this._innerRef.current\n ) {\n try {\n const shellWidth = this._innerRef.current\n .querySelector('.dnb-input__shell')\n .getBoundingClientRect().width\n const buttonWidth = this._innerRef.current\n .querySelector('.dnb-input__submit-button__button')\n .getBoundingClientRect().width\n if (align_picker === 'right') {\n const distance = buttonWidth / 2 - triangleWidth / 2\n this._triangleRef.current.style.marginRight = `${\n distance / 16\n }rem`\n } else {\n const distance = shellWidth - buttonWidth / 2 - triangleWidth / 2\n this._triangleRef.current.style.marginLeft = `${\n distance / 16\n }rem`\n }\n } catch (e) {\n warn(e)\n }\n }\n }\n\n setOutsideClickHandler = () => {\n this.outsideClick = detectOutsideClick(this._innerRef.current, (e) => {\n this.hidePicker({ focusOnHide: e?.event?.key })\n })\n }\n\n removeOutsideClickHandler() {\n if (this.outsideClick) {\n this.outsideClick.remove()\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this._hideTimeout)\n this.removeOutsideClickHandler()\n }\n\n onPickerChange = ({ hidePicker = true, ...args }) => {\n if (\n hidePicker &&\n !isTrue(this.props.show_submit_button) &&\n !isTrue(this.props.show_cancel_button)\n ) {\n this.hidePicker(args)\n }\n }\n\n onSubmitHandler = (args) => {\n this.hidePicker(args)\n dispatchCustomElementEvent(\n this,\n 'on_submit',\n this.getReturnObject(args)\n )\n }\n\n onCancelHandler = (args) => {\n this.hidePicker(args)\n dispatchCustomElementEvent(\n this,\n 'on_cancel',\n this.getReturnObject(args)\n )\n }\n\n onResetHandler = (args) => {\n this.hidePicker(args)\n dispatchCustomElementEvent(\n this,\n 'on_reset',\n this.getReturnObject(args)\n )\n }\n\n componentDidMount() {\n if (isTrue(this.props.opened)) {\n this.showPicker()\n }\n }\n\n showPicker = (args) => {\n if (this._hideTimeout) {\n clearTimeout(this._hideTimeout)\n }\n this.setState({\n opened: true,\n hidden: false,\n _listenForPropChanges: false,\n })\n dispatchCustomElementEvent(this, 'on_show', this.getReturnObject(args))\n\n this.setTrianglePosition()\n this.setOutsideClickHandler()\n }\n\n hidePicker = (args) => {\n if (isTrue(this.props.prevent_close)) {\n return // stop here\n }\n if (args && args.event && args.event.persist) {\n args.event.persist()\n }\n this.setState(\n {\n opened: false,\n _listenForPropChanges: false,\n },\n () => {\n dispatchCustomElementEvent(\n this,\n 'on_hide',\n this.getReturnObject(args)\n )\n }\n )\n\n this._hideTimeout = setTimeout(\n () => {\n this.setState(\n {\n hidden: true,\n _listenForPropChanges: false,\n },\n () => {\n if (args?.focusOnHide) {\n try {\n this._submitButtonRef.current.focus({\n preventScroll: true,\n })\n } catch (e) {\n warn(e)\n }\n }\n }\n )\n },\n isTrue(this.props.no_animation) ? 1 : DatePicker.blurDelay\n ) // wait until animation is over\n\n this.removeOutsideClickHandler()\n }\n\n togglePicker = (args) => {\n !this.state.opened\n ? this.showPicker((args && args.event) || args)\n : this.hidePicker((args && args.event) || args)\n }\n\n formatSelectedDateTitle() {\n const { range } = this.props\n const { startDate, endDate } = this.state\n const { selected_date, start, end } = this.context.getTranslation(\n this.props\n ).DatePicker\n\n let currentDate = startDate ? format(startDate, 'PPPP') : null\n\n if (isTrue(range) && startDate && endDate) {\n currentDate = `${start} ${currentDate} - ${end} ${format(\n endDate,\n 'PPPP'\n )}`\n }\n\n return currentDate ? selected_date.replace(/%s/, currentDate) : ''\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n DatePicker.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation({\n lang: this.props.lang,\n locale: this.props.locale.code,\n }).DatePicker,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.DatePicker\n )\n\n if (props.locale !== enLocale && /en-/.test(this.context.locale)) {\n props.locale = enLocale\n }\n\n const {\n label,\n title,\n label_direction,\n label_sr_only,\n only_month,\n hide_last_week,\n disable_autofocus,\n enable_keyboard_nav, // eslint-disable-line\n hide_navigation_buttons,\n show_input, // eslint-disable-line\n range,\n first_day,\n reset_date,\n locale,\n link,\n sync,\n input_element,\n addon_element,\n shortcuts,\n disabled,\n stretch,\n skeleton,\n size,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n mask_order,\n mask_placeholder,\n align_picker,\n submit_button_text,\n cancel_button_text,\n reset_button_text,\n\n hide_navigation: _hide_navigation, // eslint-disable-line\n return_format: _return_format, // eslint-disable-line\n date_format: _date_format, // eslint-disable-line\n hide_days: _hide_days, // eslint-disable-line\n month: _month, // eslint-disable-line\n date: _date, // eslint-disable-line\n start_date: _start_date, // eslint-disable-line\n end_date: _end_date, // eslint-disable-line\n min_date: _min_date, // eslint-disable-line\n max_date: _max_date, // eslint-disable-line\n correct_invalid_date: _correct_invalid_date, // eslint-disable-line\n opened: _opened, // eslint-disable-line\n direction: _direction, // eslint-disable-line\n id: _id, // eslint-disable-line\n className,\n class: _className,\n show_submit_button, // eslint-disable-line\n show_cancel_button, // eslint-disable-line\n show_reset_button, // eslint-disable-line\n\n ...attributes\n } = props\n\n let { hide_navigation, hide_days } = this.props\n\n // never show days and navigation\n if (isTrue(only_month)) {\n hide_days = true\n hide_navigation = isTrue(hide_navigation_buttons) ? false : true\n }\n\n const { opened, hidden, showInput } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const pickerParams = {}\n if (showStatus || suffix) {\n pickerParams['aria-describedby'] = combineDescribedBy(\n pickerParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n\n const submitParams = {\n ['aria-expanded']: opened,\n ref: this._submitButtonRef,\n }\n const selectedDateTitle = this.formatSelectedDateTitle()\n\n const mainParams = {\n className: classnames(\n 'dnb-date-picker',\n status && `dnb-date-picker__status--${status_state}`,\n label_direction && `dnb-date-picker--${label_direction}`,\n opened && 'dnb-date-picker--opened',\n hidden && 'dnb-date-picker--hidden',\n showInput && 'dnb-date-picker--show-input',\n (isTrue(range) ||\n isTrue(show_submit_button) ||\n isTrue(show_cancel_button) ||\n isTrue(show_reset_button)) &&\n 'dnb-date-picker--show-footer',\n align_picker && `dnb-date-picker--${align_picker}`,\n isTrue(stretch) && `dnb-date-picker--stretch`,\n 'dnb-form-component',\n size && `dnb-date-picker--${size}`,\n createSpacingClasses(props),\n _className,\n className\n ),\n }\n\n if (locale?.code) {\n mainParams.lang = locale.code\n }\n\n skeletonDOMAttributes(pickerParams, skeleton, this.context)\n\n validateDOMAttributes(this.props, attributes)\n validateDOMAttributes(null, submitParams)\n validateDOMAttributes(null, pickerParams)\n\n return (\n <DatePickerProvider\n {...this.props}\n attributes={attributes}\n setReturnObject={(fn) => (this.getReturnObject = fn)}\n enhanceWithMethods={{\n hidePicker: this.hidePicker,\n }}\n >\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n label_direction={label_direction}\n sr_only={label_sr_only}\n disabled={disabled}\n skeleton={skeleton}\n />\n )}\n\n <span\n className=\"dnb-date-picker__inner\"\n ref={this._innerRef}\n {...pickerParams}\n >\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n width_selector={id + '-shell'}\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-date-picker__row\">\n <span className=\"dnb-date-picker__shell\" id={`${id}-shell`}>\n <DatePickerInput\n id={id}\n title={title}\n disabled={isTrue(disabled)}\n stretch={isTrue(stretch)}\n skeleton={isTrue(skeleton)}\n maskOrder={mask_order}\n maskPlaceholder={mask_placeholder}\n isRange={isTrue(range)}\n showInput={showInput}\n selectedDateTitle={selectedDateTitle}\n input_element={input_element}\n opened={opened}\n hidden={hidden}\n size={size}\n status={status ? 'error' : null}\n status_state={status_state}\n locale={locale}\n {...attributes}\n submitAttributes={submitParams}\n onFocus={this.showPicker}\n onSubmit={this.togglePicker}\n {...status_props}\n />\n <span className=\"dnb-date-picker__container\">\n <span\n className=\"dnb-date-picker__triangle\"\n ref={this._triangleRef}\n />\n {!hidden && (\n <>\n <DatePickerRange\n id={id}\n firstDayOfWeek={first_day}\n locale={locale}\n resetDate={isTrue(reset_date)}\n isRange={isTrue(range)}\n isLink={isTrue(link)}\n isSync={isTrue(sync)}\n hideDays={isTrue(hide_days)}\n hideNav={isTrue(hide_navigation)}\n views={\n isTrue(hide_navigation_buttons)\n ? [{ nextBtn: false, prevBtn: false }]\n : null\n }\n onlyMonth={isTrue(only_month)}\n hideNextMonthWeek={isTrue(hide_last_week)}\n noAutofocus={isTrue(disable_autofocus)}\n onChange={this.onPickerChange}\n />\n {(addon_element || shortcuts) && (\n <DatePickerAddon\n {...props}\n renderElement={addon_element}\n shortcuts={shortcuts}\n />\n )}\n <DatePickerFooter\n isRange={isTrue(range)}\n onSubmit={this.onSubmitHandler}\n onCancel={this.onCancelHandler}\n onReset={this.onResetHandler}\n submitButtonText={submit_button_text}\n cancelButtonText={cancel_button_text}\n resetButtonText={reset_button_text}\n />\n </>\n )}\n </span>\n </span>\n {suffix && (\n <Suffix\n className=\"dnb-date-picker__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n\n <p className=\"dnb-sr-only\" aria-live=\"assertive\">\n {selectedDateTitle}\n </p>\n </span>\n </DatePickerProvider>\n )\n }\n}\n\nDatePicker._formElement = true\nDatePicker._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePicker.js","names":["React","PropTypes","classnames","warn","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","dispatchCustomElementEvent","detectOutsideClick","getStatusState","combineDescribedBy","validateDOMAttributes","AlignmentHelper","spacingPropTypes","createSpacingClasses","pickFormElementProps","skeletonDOMAttributes","format","nbLocale","enLocale","Context","Suffix","FormLabel","FormStatus","DatePickerProvider","DatePickerRange","DatePickerInput","DatePickerAddon","DatePickerFooter","DatePicker","PureComponent","constructor","props","_defineProperty","show_input","align_picker","triangleWidth","_triangleRef","current","_innerRef","shellWidth","querySelector","getBoundingClientRect","width","buttonWidth","distance","style","marginRight","marginLeft","e","outsideClick","_e$event","hidePicker","focusOnHide","event","key","_ref","args","_objectWithoutProperties","_excluded","show_submit_button","show_cancel_button","getReturnObject","_hideTimeout","clearTimeout","setState","opened","hidden","_listenForPropChanges","setTrianglePosition","setOutsideClickHandler","prevent_close","persist","setTimeout","_submitButtonRef","focus","preventScroll","no_animation","blurDelay","removeOutsideClickHandler","state","showPicker","_id","id","showInput","direction","end_date","range","createRef","remove","componentWillUnmount","componentDidMount","formatSelectedDateTitle","startDate","endDate","selected_date","start","end","context","getTranslation","currentDate","replace","render","_this$context","_this$context2","_this$context3","defaultProps","skeleton","lang","locale","code","FormRow","formElement","test","label","title","label_direction","label_sr_only","only_month","hide_last_week","disable_autofocus","enable_keyboard_nav","hide_navigation_buttons","first_day","reset_date","link","sync","input_element","addon_element","shortcuts","disabled","stretch","size","status","status_state","status_props","status_no_animation","globalStatus","suffix","mask_order","mask_placeholder","submit_button_text","cancel_button_text","reset_button_text","hide_navigation","_hide_navigation","return_format","_return_format","date_format","_date_format","hide_days","_hide_days","month","_month","date","_date","start_date","_start_date","_end_date","min_date","_min_date","max_date","_max_date","correct_invalid_date","_correct_invalid_date","_opened","_direction","className","class","_className","show_reset_button","attributes","_excluded2","showStatus","pickerParams","submitParams","ref","selectedDateTitle","mainParams","createElement","_extends","setReturnObject","fn","enhanceWithMethods","for_id","text","sr_only","_AlignmentHelper","show","text_id","width_selector","maskOrder","maskPlaceholder","isRange","submitAttributes","onSubmit","togglePicker","Fragment","firstDayOfWeek","resetDate","isLink","isSync","hideDays","hideNav","views","nextBtn","prevBtn","onlyMonth","hideNextMonthWeek","noAutofocus","onChange","onPickerChange","renderElement","onSubmitHandler","onCancel","onCancelHandler","onReset","onResetHandler","submitButtonText","cancelButtonText","resetButtonText","undefined","start_month","end_month","on_days_render","on_change","on_type","on_show","on_hide","on_submit","on_cancel","on_reset","onBlur","process","env","NODE_ENV","propTypes","_objectSpread","string","oneOfType","instanceOf","Date","bool","object","func","node","oneOf","array","shape","message","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/date-picker/DatePicker.js"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n dispatchCustomElementEvent,\n detectOutsideClick,\n getStatusState,\n combineDescribedBy,\n validateDOMAttributes,\n} from '../../shared/component-helper'\nimport AlignmentHelper from '../../shared/AlignmentHelper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport { skeletonDOMAttributes } from '../skeleton/SkeletonHelper'\n\n// date-fns\nimport format from 'date-fns/format'\nimport nbLocale from 'date-fns/locale/nb'\nimport enLocale from 'date-fns/locale/en-GB'\n\nimport Context from '../../shared/Context'\nimport Suffix from '../../shared/helpers/Suffix'\nimport FormLabel from '../form-label/FormLabel'\nimport FormStatus from '../form-status/FormStatus'\nimport DatePickerProvider from './DatePickerProvider'\nimport DatePickerRange from './DatePickerRange'\nimport DatePickerInput from './DatePickerInput'\nimport DatePickerAddon from './DatePickerAddon'\nimport DatePickerFooter from './DatePickerFooter'\n\nexport default class DatePicker extends React.PureComponent {\n static contextType = Context\n\n static propTypes = {\n id: PropTypes.string,\n title: PropTypes.string,\n date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]), // e.g. 2019-04-03T00:00:00Z\n start_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]), // e.g. 2019-04-03T00:00:00Z\n end_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]), // e.g. 2019-04-03T00:00:00Z\n month: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n start_month: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n end_month: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n min_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n max_date: PropTypes.oneOfType([\n PropTypes.instanceOf(Date),\n PropTypes.string,\n ]),\n correct_invalid_date: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n mask_order: PropTypes.string,\n mask_placeholder: PropTypes.string,\n date_format: PropTypes.string,\n return_format: PropTypes.string,\n hide_navigation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n hide_navigation_buttons: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n hide_days: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n only_month: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n hide_last_week: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n disable_autofocus: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n enable_keyboard_nav: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n show_input: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n show_submit_button: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n show_cancel_button: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n show_reset_button: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n submit_button_text: PropTypes.string,\n cancel_button_text: PropTypes.string,\n reset_button_text: PropTypes.string,\n reset_date: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n first_day: PropTypes.string,\n locale: PropTypes.object,\n range: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n link: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n sync: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n label_direction: PropTypes.oneOf(['horizontal', 'vertical']),\n label_sr_only: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n input_element: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n addon_element: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n shortcuts: PropTypes.oneOfType([PropTypes.array, PropTypes.func]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n suffix: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n opened: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n prevent_close: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n direction: PropTypes.oneOf(['auto', 'top', 'bottom']),\n align_picker: PropTypes.oneOf(['auto', 'left', 'right']),\n class: PropTypes.string,\n className: PropTypes.string,\n\n ...spacingPropTypes,\n\n on_days_render: PropTypes.func,\n on_change: PropTypes.func,\n on_type: PropTypes.func,\n on_show: PropTypes.func,\n on_hide: PropTypes.func,\n on_submit: PropTypes.func,\n on_cancel: PropTypes.func,\n on_reset: PropTypes.func,\n onBlur: PropTypes.func,\n }\n\n static defaultProps = {\n id: null,\n title: null,\n date: undefined,\n start_date: undefined,\n end_date: undefined,\n month: undefined,\n start_month: undefined,\n end_month: undefined,\n mask_order: 'dd/mm/yyyy',\n mask_placeholder: 'dd/mm/åååå', // have to be same setup as \"mask\" - but can be like: dd/mm/åååå\n date_format: 'yyyy-MM-dd', // in v1 of date-fns we were more flexible in terms of the format\n return_format: 'yyyy-MM-dd', // used in date-fns v1: YYYY-MM-DD\n hide_navigation: false,\n hide_navigation_buttons: false,\n hide_days: false,\n only_month: false,\n hide_last_week: false,\n disable_autofocus: false,\n enable_keyboard_nav: false,\n show_input: false,\n show_submit_button: null,\n show_cancel_button: null,\n show_reset_button: null,\n submit_button_text: 'Ok',\n cancel_button_text: 'Avbryt',\n reset_button_text: 'Tilbakestill',\n reset_date: true,\n first_day: 'monday',\n min_date: undefined,\n max_date: undefined,\n correct_invalid_date: null,\n locale: nbLocale,\n range: false,\n link: false,\n sync: true,\n label: null,\n label_direction: null,\n label_sr_only: null,\n input_element: null,\n addon_element: null,\n shortcuts: null,\n disabled: null,\n stretch: null,\n skeleton: null,\n size: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n suffix: null,\n opened: false,\n prevent_close: null,\n no_animation: false,\n direction: 'auto',\n align_picker: null,\n class: null,\n className: null,\n\n on_days_render: null,\n on_change: null,\n on_type: null,\n on_show: null,\n on_hide: null,\n on_submit: null,\n on_cancel: null,\n on_reset: null,\n onBlur: null,\n }\n\n static blurDelay = 201 // some ms more than \"dropdownSlideDown 200ms\"\n\n constructor(props) {\n super(props)\n\n this._id = props.id || makeUniqueId() // cause we need an id anyway\n\n const opened = isTrue(props.opened)\n this.state = {\n showInput: isTrue(props.show_input),\n opened,\n hidden: !opened,\n direction: props.direction,\n _listenForPropChanges: true,\n }\n\n if (props.end_date && !isTrue(props.range)) {\n warn(\n `The DatePicker got a \"end_date\". You have to set range={true} as well!.`\n )\n }\n\n this._innerRef = React.createRef()\n this._triangleRef = React.createRef()\n this._submitButtonRef = React.createRef()\n }\n\n setTrianglePosition = () => {\n const { show_input, align_picker } = this.props\n const triangleWidth = 16\n if (\n isTrue(show_input) &&\n this._triangleRef.current &&\n this._innerRef.current\n ) {\n try {\n const shellWidth = this._innerRef.current\n .querySelector('.dnb-input__shell')\n .getBoundingClientRect().width\n const buttonWidth = this._innerRef.current\n .querySelector('.dnb-input__submit-button__button')\n .getBoundingClientRect().width\n if (align_picker === 'right') {\n const distance = buttonWidth / 2 - triangleWidth / 2\n this._triangleRef.current.style.marginRight = `${\n distance / 16\n }rem`\n } else {\n const distance = shellWidth - buttonWidth / 2 - triangleWidth / 2\n this._triangleRef.current.style.marginLeft = `${\n distance / 16\n }rem`\n }\n } catch (e) {\n warn(e)\n }\n }\n }\n\n setOutsideClickHandler = () => {\n this.outsideClick = detectOutsideClick(this._innerRef.current, (e) => {\n this.hidePicker({ focusOnHide: e?.event?.key })\n })\n }\n\n removeOutsideClickHandler() {\n if (this.outsideClick) {\n this.outsideClick.remove()\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this._hideTimeout)\n this.removeOutsideClickHandler()\n }\n\n onPickerChange = ({ hidePicker = true, ...args }) => {\n if (\n hidePicker &&\n !isTrue(this.props.show_submit_button) &&\n !isTrue(this.props.show_cancel_button)\n ) {\n this.hidePicker(args)\n }\n }\n\n onSubmitHandler = (args) => {\n this.hidePicker(args)\n dispatchCustomElementEvent(\n this,\n 'on_submit',\n this.getReturnObject(args)\n )\n }\n\n onCancelHandler = (args) => {\n this.hidePicker(args)\n dispatchCustomElementEvent(\n this,\n 'on_cancel',\n this.getReturnObject(args)\n )\n }\n\n onResetHandler = (args) => {\n this.hidePicker(args)\n dispatchCustomElementEvent(\n this,\n 'on_reset',\n this.getReturnObject(args)\n )\n }\n\n componentDidMount() {\n if (isTrue(this.props.opened)) {\n this.showPicker()\n }\n }\n\n showPicker = (args) => {\n if (this._hideTimeout) {\n clearTimeout(this._hideTimeout)\n }\n this.setState({\n opened: true,\n hidden: false,\n _listenForPropChanges: false,\n })\n dispatchCustomElementEvent(this, 'on_show', this.getReturnObject(args))\n\n this.setTrianglePosition()\n this.setOutsideClickHandler()\n }\n\n hidePicker = (args) => {\n if (isTrue(this.props.prevent_close)) {\n return // stop here\n }\n if (args && args.event && args.event.persist) {\n args.event.persist()\n }\n this.setState(\n {\n opened: false,\n _listenForPropChanges: false,\n },\n () => {\n dispatchCustomElementEvent(\n this,\n 'on_hide',\n this.getReturnObject(args)\n )\n }\n )\n\n this._hideTimeout = setTimeout(\n () => {\n this.setState(\n {\n hidden: true,\n _listenForPropChanges: false,\n },\n () => {\n if (args?.focusOnHide) {\n try {\n this._submitButtonRef.current.focus({\n preventScroll: true,\n })\n } catch (e) {\n warn(e)\n }\n }\n }\n )\n },\n isTrue(this.props.no_animation) ? 1 : DatePicker.blurDelay\n ) // wait until animation is over\n\n this.removeOutsideClickHandler()\n }\n\n togglePicker = (args) => {\n !this.state.opened\n ? this.showPicker((args && args.event) || args)\n : this.hidePicker((args && args.event) || args)\n }\n\n formatSelectedDateTitle() {\n const { range } = this.props\n const { startDate, endDate } = this.state\n const { selected_date, start, end } = this.context.getTranslation(\n this.props\n ).DatePicker\n\n let currentDate = startDate ? format(startDate, 'PPPP') : null\n\n if (isTrue(range) && startDate && endDate) {\n currentDate = `${start} ${currentDate} - ${end} ${format(\n endDate,\n 'PPPP'\n )}`\n }\n\n return currentDate ? selected_date.replace(/%s/, currentDate) : ''\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n DatePicker.defaultProps,\n { skeleton: this.context?.skeleton },\n this.context.getTranslation({\n lang: this.props.lang,\n locale: this.props.locale.code,\n }).DatePicker,\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.DatePicker\n )\n\n if (props.locale !== enLocale && /en-/.test(this.context.locale)) {\n props.locale = enLocale\n }\n\n const {\n label,\n title,\n label_direction,\n label_sr_only,\n only_month,\n hide_last_week,\n disable_autofocus,\n enable_keyboard_nav, // eslint-disable-line\n hide_navigation_buttons,\n show_input, // eslint-disable-line\n range,\n first_day,\n reset_date,\n locale,\n link,\n sync,\n input_element,\n addon_element,\n shortcuts,\n disabled,\n stretch,\n skeleton,\n size,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n suffix,\n mask_order,\n mask_placeholder,\n align_picker,\n submit_button_text,\n cancel_button_text,\n reset_button_text,\n\n hide_navigation: _hide_navigation, // eslint-disable-line\n return_format: _return_format, // eslint-disable-line\n date_format: _date_format, // eslint-disable-line\n hide_days: _hide_days, // eslint-disable-line\n month: _month, // eslint-disable-line\n date: _date, // eslint-disable-line\n start_date: _start_date, // eslint-disable-line\n end_date: _end_date, // eslint-disable-line\n min_date: _min_date, // eslint-disable-line\n max_date: _max_date, // eslint-disable-line\n correct_invalid_date: _correct_invalid_date, // eslint-disable-line\n opened: _opened, // eslint-disable-line\n direction: _direction, // eslint-disable-line\n id: _id, // eslint-disable-line\n className,\n class: _className,\n show_submit_button, // eslint-disable-line\n show_cancel_button, // eslint-disable-line\n show_reset_button, // eslint-disable-line\n\n ...attributes\n } = props\n\n let { hide_navigation, hide_days } = this.props\n\n // never show days and navigation\n if (isTrue(only_month)) {\n hide_days = true\n hide_navigation = isTrue(hide_navigation_buttons) ? false : true\n }\n\n const { opened, hidden, showInput } = this.state\n\n const id = this._id\n const showStatus = getStatusState(status)\n\n const pickerParams = {}\n if (showStatus || suffix) {\n pickerParams['aria-describedby'] = combineDescribedBy(\n pickerParams,\n showStatus ? id + '-status' : null,\n suffix ? id + '-suffix' : null\n )\n }\n\n const submitParams = {\n ['aria-expanded']: opened,\n ref: this._submitButtonRef,\n }\n const selectedDateTitle = this.formatSelectedDateTitle()\n\n const mainParams = {\n className: classnames(\n 'dnb-date-picker',\n status && `dnb-date-picker__status--${status_state}`,\n label_direction && `dnb-date-picker--${label_direction}`,\n opened && 'dnb-date-picker--opened',\n hidden && 'dnb-date-picker--hidden',\n showInput && 'dnb-date-picker--show-input',\n (isTrue(range) ||\n isTrue(show_submit_button) ||\n isTrue(show_cancel_button) ||\n isTrue(show_reset_button)) &&\n 'dnb-date-picker--show-footer',\n align_picker && `dnb-date-picker--${align_picker}`,\n isTrue(stretch) && `dnb-date-picker--stretch`,\n 'dnb-form-component',\n size && `dnb-date-picker--${size}`,\n createSpacingClasses(props),\n _className,\n className\n ),\n }\n\n if (locale?.code) {\n mainParams.lang = locale.code\n }\n\n skeletonDOMAttributes(pickerParams, skeleton, this.context)\n\n validateDOMAttributes(this.props, attributes)\n validateDOMAttributes(null, submitParams)\n validateDOMAttributes(null, pickerParams)\n\n return (\n <DatePickerProvider\n {...this.props}\n attributes={attributes}\n setReturnObject={(fn) => (this.getReturnObject = fn)}\n enhanceWithMethods={{\n hidePicker: this.hidePicker,\n }}\n >\n <span {...mainParams}>\n {label && (\n <FormLabel\n id={id + '-label'}\n for_id={id}\n text={label}\n label_direction={label_direction}\n sr_only={label_sr_only}\n disabled={disabled}\n skeleton={skeleton}\n />\n )}\n\n <span\n className=\"dnb-date-picker__inner\"\n ref={this._innerRef}\n {...pickerParams}\n >\n <AlignmentHelper />\n\n <FormStatus\n show={showStatus}\n id={id + '-form-status'}\n globalStatus={globalStatus}\n label={label}\n text_id={id + '-status'} // used for \"aria-describedby\"\n width_selector={id + '-shell'}\n text={status}\n state={status_state}\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n <span className=\"dnb-date-picker__row\">\n <span className=\"dnb-date-picker__shell\" id={`${id}-shell`}>\n <DatePickerInput\n id={id}\n title={title}\n disabled={isTrue(disabled)}\n stretch={isTrue(stretch)}\n skeleton={isTrue(skeleton)}\n maskOrder={mask_order}\n maskPlaceholder={mask_placeholder}\n isRange={isTrue(range)}\n showInput={showInput}\n selectedDateTitle={selectedDateTitle}\n input_element={input_element}\n opened={opened}\n hidden={hidden}\n size={size}\n status={status ? 'error' : null}\n status_state={status_state}\n locale={locale}\n {...attributes}\n submitAttributes={submitParams}\n onSubmit={this.togglePicker}\n {...status_props}\n />\n <span className=\"dnb-date-picker__container\">\n <span\n className=\"dnb-date-picker__triangle\"\n ref={this._triangleRef}\n />\n {!hidden && (\n <>\n <DatePickerRange\n id={id}\n firstDayOfWeek={first_day}\n locale={locale}\n resetDate={isTrue(reset_date)}\n isRange={isTrue(range)}\n isLink={isTrue(link)}\n isSync={isTrue(sync)}\n hideDays={isTrue(hide_days)}\n hideNav={isTrue(hide_navigation)}\n views={\n isTrue(hide_navigation_buttons)\n ? [{ nextBtn: false, prevBtn: false }]\n : null\n }\n onlyMonth={isTrue(only_month)}\n hideNextMonthWeek={isTrue(hide_last_week)}\n noAutofocus={isTrue(disable_autofocus)}\n onChange={this.onPickerChange}\n />\n {(addon_element || shortcuts) && (\n <DatePickerAddon\n {...props}\n renderElement={addon_element}\n shortcuts={shortcuts}\n />\n )}\n <DatePickerFooter\n isRange={isTrue(range)}\n onSubmit={this.onSubmitHandler}\n onCancel={this.onCancelHandler}\n onReset={this.onResetHandler}\n submitButtonText={submit_button_text}\n cancelButtonText={cancel_button_text}\n resetButtonText={reset_button_text}\n />\n </>\n )}\n </span>\n </span>\n {suffix && (\n <Suffix\n className=\"dnb-date-picker__suffix\"\n id={id + '-suffix'} // used for \"aria-describedby\"\n context={props}\n >\n {suffix}\n </Suffix>\n )}\n </span>\n </span>\n\n <p className=\"dnb-sr-only\" aria-live=\"assertive\">\n {selectedDateTitle}\n </p>\n </span>\n </DatePickerProvider>\n )\n }\n}\n\nDatePicker._formElement = true\nDatePicker._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -15,6 +15,7 @@ import getDaysInMonth from 'date-fns/getDaysInMonth';
15
15
  import toDate from 'date-fns/toDate';
16
16
  import parseISO from 'date-fns/parseISO';
17
17
  import parse from 'date-fns/parse';
18
+ import startOfDay from 'date-fns/startOfDay';
18
19
  import { warn } from '../../shared/component-helper';
19
20
  export const makeDayObject = (date, _ref) => {
20
21
  let {
@@ -123,7 +124,7 @@ const isWithinSelectionCalc = (date, startDate, endDate) => {
123
124
  }) : false;
124
125
  };
125
126
  const isDisabledCalc = (date, minDate, maxDate) => {
126
- return minDate && isBefore(date, minDate) || maxDate && isAfter(date, maxDate);
127
+ return minDate && isBefore(date, startOfDay(minDate)) || maxDate && isAfter(date, startOfDay(maxDate));
127
128
  };
128
129
  export { isDisabledCalc as isDisabled };
129
130
  const isStartDateCalc = (date, range) => {
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerCalc.js","names":["subMonths","addMonths","isWithinInterval","isValid","isAfter","isBefore","isSameDay","isToday","isSameMonth","addDays","startOfWeek","getDay","startOfMonth","getDaysInMonth","toDate","parseISO","parse","warn","makeDayObject","date","_ref","startDate","endDate","hoverDate","minDate","maxDate","month","range","getRange","isLastMonth","isNextMonth","isStartDate","isStartDateCalc","isEndDate","isEndDateCalc","isWithinSelection","isWithinSelectionCalc","isPreview","isPreviewCalc","isDisabled","isDisabledCalc","isSelectable","isInactive","getCalendar","weekStartsOn","arguments","length","undefined","onlyMonth","hideNextMonthWeek","thisMonth","getMonth","calendarCache","firstDay","lastMonth","fillCount","nextMonth","dayOffset","dayName","week","indexOf","toLowerCase","toRange","_startDate","getWeek","startDay","Date","Array","fill","map","value","i","skip","limit","size","Math","min","max","parseInt","start","end","correctV1Format","test","replace","convertStringToDate","date_format","dateObject"],"sources":["../../../../src/components/date-picker/DatePickerCalc.js"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\n// date-fns\nimport subMonths from 'date-fns/subMonths'\nimport addMonths from 'date-fns/addMonths'\nimport isWithinInterval from 'date-fns/isWithinInterval'\nimport isValid from 'date-fns/isValid'\nimport isAfter from 'date-fns/isAfter'\nimport isBefore from 'date-fns/isBefore'\nimport isSameDay from 'date-fns/isSameDay'\nimport isToday from 'date-fns/isToday'\nimport isSameMonth from 'date-fns/isSameMonth'\nimport addDays from 'date-fns/addDays'\nimport startOfWeek from 'date-fns/startOfWeek'\nimport getDay from 'date-fns/getDay'\nimport startOfMonth from 'date-fns/startOfMonth'\nimport getDaysInMonth from 'date-fns/getDaysInMonth'\nimport toDate from 'date-fns/toDate'\nimport parseISO from 'date-fns/parseISO'\nimport parse from 'date-fns/parse'\n\nimport { warn } from '../../shared/component-helper'\n\n// Is used as DatePickerCalc\nexport const makeDayObject = (\n date,\n { startDate, endDate, hoverDate, minDate, maxDate, month }\n) => {\n const range = getRange(startDate, endDate, hoverDate)\n const isLastMonth = isSameMonth(subMonths(date, 1), month)\n const isNextMonth = isSameMonth(addMonths(date, 1), month)\n const isStartDate = isStartDateCalc(date, range)\n const isEndDate = isEndDateCalc(date, range)\n const isWithinSelection = isWithinSelectionCalc(date, startDate, endDate)\n const isPreview = isPreviewCalc(date, startDate, endDate, hoverDate)\n const isDisabled = isDisabledCalc(date, minDate, maxDate)\n\n return {\n date,\n isToday: isToday(date),\n isLastMonth,\n isNextMonth,\n isStartDate,\n isEndDate,\n isWithinSelection,\n isPreview,\n isDisabled,\n isSelectable: !isLastMonth && !isNextMonth && !isDisabled,\n isInactive: isLastMonth || isNextMonth || isDisabled,\n }\n}\n\n// return an array of objects with dates and extra info\nexport const getCalendar = (\n month,\n weekStartsOn = 0,\n { onlyMonth = false, hideNextMonthWeek = false } = {}\n) => {\n // Get the main month\n const thisMonth = getMonth(month)\n if (onlyMonth) {\n return (calendarCache[month] = [...thisMonth])\n }\n\n if (calendarCache[month]) {\n return calendarCache[month]\n }\n\n // Get day of the week of the first day of month, e.g. => 3\n // Add 7 days 7 to make sure it's not negative when subtracting weekStartsOn and wraps around\n const firstDay = (7 + getDay(startOfMonth(month)) - weekStartsOn) % 7\n const lastMonth = getMonth(\n subMonths(month, 1),\n getDaysInMonth(subMonths(month, 1)) - firstDay\n )\n let fillCount = -1\n if (hideNextMonthWeek) {\n // use this variant if it is OK with empty slots at the bottom\n fillCount = 35 - (thisMonth.length + firstDay)\n }\n if (fillCount < 0) {\n fillCount = 42 - (thisMonth.length + firstDay)\n }\n const nextMonth = getMonth(\n addMonths(month, 1),\n 0,\n fillCount > -1 ? fillCount : 0\n )\n return (calendarCache[month] = [\n ...lastMonth,\n ...thisMonth,\n ...nextMonth,\n ])\n}\nconst calendarCache = {}\n\n// calculates offset from Sunday, e.g. Monday is +1\nexport const dayOffset = (dayName) => {\n const week = [\n 'sunday',\n 'monday',\n 'tuesday',\n 'wednesday',\n 'thursday',\n 'friday',\n 'saturday',\n ]\n return dayName ? week.indexOf(dayName.toLowerCase()) : 0\n}\n\n// creates a date range object and automatically swaps startDate and endDate if endDate is before startDate\nexport const toRange = (startDate, endDate) => {\n if (isBefore(endDate, startDate)) {\n const _startDate = startDate\n startDate = endDate\n endDate = _startDate\n }\n return { startDate, endDate }\n}\n\n// returns startDate and endDate if both dates are selected\n// otherwise uses the startDate and hoverDate\n// unless user hasn't hovered, then use start date twice\nconst getRange = (startDate, endDate, hoverDate) => {\n if (startDate && endDate) {\n return toRange(startDate, endDate)\n } else if (startDate && hoverDate) {\n return toRange(startDate, hoverDate)\n } else {\n return toRange(startDate, startDate)\n }\n}\n\n// returns an array of dates for each day of the current week\n// weekStartsOn is a number, use dayOffset to convert from a string\nexport const getWeek = (weekStartsOn) => {\n const startDay = startOfWeek(new Date(), { weekStartsOn })\n return Array(7)\n .fill(1)\n .map((value, i) => addDays(startDay, i))\n}\n\n// returns an array of dates of the month, optionally skip x number of days\nexport const getMonth = (month, skip = 0, limit) => {\n const startDay = startOfMonth(month)\n let size = getDaysInMonth(month) - skip\n size = Math.min(Math.max(parseInt(size), 0), limit > -1 ? limit : size)\n size = size < 0 ? 0 : size\n return Array(size)\n .fill(1)\n .map((value, i) => addDays(startDay, i + skip))\n}\n\n// date is between selection range\nconst isWithinSelectionCalc = (date, startDate, endDate) => {\n const { startDate: start, endDate: end } = toRange(startDate, endDate)\n return startDate && endDate\n ? isValid(start) &&\n isValid(end) &&\n isWithinInterval(date, {\n start,\n end,\n })\n : false\n}\n\n// date is before minDate or after maxDate\nconst isDisabledCalc = (date, minDate, maxDate) => {\n // isBefore and isAfter return false if comparison date is undefined, which is useful here in case minDate and maxDate aren't supplied\n return (\n (minDate && isBefore(date, minDate)) ||\n (maxDate && isAfter(date, maxDate))\n )\n}\nexport { isDisabledCalc as isDisabled }\n\n// date selected is start date\nconst isStartDateCalc = (date, range) => {\n return range.startDate && isSameDay(date, range.startDate)\n}\n\n// date selected is end date\nconst isEndDateCalc = (date, range) => {\n return range.endDate && isSameDay(date, range.endDate)\n}\n\n// date is between startDate (exclusive) and hoverDate (inclusive)\nconst isPreviewCalc = (date, startDate, endDate, hoverDate) => {\n const { startDate: start, endDate: end } = toRange(startDate, hoverDate)\n return (\n startDate &&\n !endDate &&\n // To exclude \"isPreview\" from startDate/endDate, we have to enable these two lines\n // !isStartDate(date, previewRange) &&\n // !isEndDate(date, previewRange) &&\n isValid(start) &&\n isValid(end) &&\n isWithinInterval(date, {\n start,\n end,\n })\n )\n}\n\nexport const correctV1Format = (date) => {\n // for backwards compatibility\n // TODO: Remove this in next major version\n if (/YYYY/.test(date) && /DD/.test(date)) {\n warn(\n 'You are using \"YYYY-MM-DD\" as the date_format or return_format? Please use \"yyyy-MM-dd\" instead!'\n )\n date = date.replace(/DD/, 'dd').replace(/YYYY/, 'yyyy')\n }\n\n return date\n}\n\nexport const convertStringToDate = (date, { date_format = null } = {}) => {\n if (date === null) {\n return null\n }\n let dateObject\n dateObject = typeof date === 'string' ? parseISO(date) : toDate(date)\n\n // check one more time if we can generate a valid date\n if (typeof date === 'string' && date_format && !isValid(dateObject)) {\n date_format = correctV1Format(date_format)\n dateObject = parse(date, date_format, new Date())\n }\n\n // rather return null than an invalid date\n if (!isValid(dateObject)) {\n warn('convertStringToDate got invalid date:', date)\n return null\n }\n\n return dateObject\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerCalc.js","names":["subMonths","addMonths","isWithinInterval","isValid","isAfter","isBefore","isSameDay","isToday","isSameMonth","addDays","startOfWeek","getDay","startOfMonth","getDaysInMonth","toDate","parseISO","parse","startOfDay","warn","makeDayObject","date","_ref","startDate","endDate","hoverDate","minDate","maxDate","month","range","getRange","isLastMonth","isNextMonth","isStartDate","isStartDateCalc","isEndDate","isEndDateCalc","isWithinSelection","isWithinSelectionCalc","isPreview","isPreviewCalc","isDisabled","isDisabledCalc","isSelectable","isInactive","getCalendar","weekStartsOn","arguments","length","undefined","onlyMonth","hideNextMonthWeek","thisMonth","getMonth","calendarCache","firstDay","lastMonth","fillCount","nextMonth","dayOffset","dayName","week","indexOf","toLowerCase","toRange","_startDate","getWeek","startDay","Date","Array","fill","map","value","i","skip","limit","size","Math","min","max","parseInt","start","end","correctV1Format","test","replace","convertStringToDate","date_format","dateObject"],"sources":["../../../../src/components/date-picker/DatePickerCalc.js"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\n// date-fns\nimport subMonths from 'date-fns/subMonths'\nimport addMonths from 'date-fns/addMonths'\nimport isWithinInterval from 'date-fns/isWithinInterval'\nimport isValid from 'date-fns/isValid'\nimport isAfter from 'date-fns/isAfter'\nimport isBefore from 'date-fns/isBefore'\nimport isSameDay from 'date-fns/isSameDay'\nimport isToday from 'date-fns/isToday'\nimport isSameMonth from 'date-fns/isSameMonth'\nimport addDays from 'date-fns/addDays'\nimport startOfWeek from 'date-fns/startOfWeek'\nimport getDay from 'date-fns/getDay'\nimport startOfMonth from 'date-fns/startOfMonth'\nimport getDaysInMonth from 'date-fns/getDaysInMonth'\nimport toDate from 'date-fns/toDate'\nimport parseISO from 'date-fns/parseISO'\nimport parse from 'date-fns/parse'\nimport startOfDay from 'date-fns/startOfDay'\n\nimport { warn } from '../../shared/component-helper'\n\n// Is used as DatePickerCalc\nexport const makeDayObject = (\n date,\n { startDate, endDate, hoverDate, minDate, maxDate, month }\n) => {\n const range = getRange(startDate, endDate, hoverDate)\n const isLastMonth = isSameMonth(subMonths(date, 1), month)\n const isNextMonth = isSameMonth(addMonths(date, 1), month)\n const isStartDate = isStartDateCalc(date, range)\n const isEndDate = isEndDateCalc(date, range)\n const isWithinSelection = isWithinSelectionCalc(date, startDate, endDate)\n const isPreview = isPreviewCalc(date, startDate, endDate, hoverDate)\n const isDisabled = isDisabledCalc(date, minDate, maxDate)\n\n return {\n date,\n isToday: isToday(date),\n isLastMonth,\n isNextMonth,\n isStartDate,\n isEndDate,\n isWithinSelection,\n isPreview,\n isDisabled,\n isSelectable: !isLastMonth && !isNextMonth && !isDisabled,\n isInactive: isLastMonth || isNextMonth || isDisabled,\n }\n}\n\n// return an array of objects with dates and extra info\nexport const getCalendar = (\n month,\n weekStartsOn = 0,\n { onlyMonth = false, hideNextMonthWeek = false } = {}\n) => {\n // Get the main month\n const thisMonth = getMonth(month)\n if (onlyMonth) {\n return (calendarCache[month] = [...thisMonth])\n }\n\n if (calendarCache[month]) {\n return calendarCache[month]\n }\n\n // Get day of the week of the first day of month, e.g. => 3\n // Add 7 days 7 to make sure it's not negative when subtracting weekStartsOn and wraps around\n const firstDay = (7 + getDay(startOfMonth(month)) - weekStartsOn) % 7\n const lastMonth = getMonth(\n subMonths(month, 1),\n getDaysInMonth(subMonths(month, 1)) - firstDay\n )\n let fillCount = -1\n if (hideNextMonthWeek) {\n // use this variant if it is OK with empty slots at the bottom\n fillCount = 35 - (thisMonth.length + firstDay)\n }\n if (fillCount < 0) {\n fillCount = 42 - (thisMonth.length + firstDay)\n }\n const nextMonth = getMonth(\n addMonths(month, 1),\n 0,\n fillCount > -1 ? fillCount : 0\n )\n return (calendarCache[month] = [\n ...lastMonth,\n ...thisMonth,\n ...nextMonth,\n ])\n}\nconst calendarCache = {}\n\n// calculates offset from Sunday, e.g. Monday is +1\nexport const dayOffset = (dayName) => {\n const week = [\n 'sunday',\n 'monday',\n 'tuesday',\n 'wednesday',\n 'thursday',\n 'friday',\n 'saturday',\n ]\n return dayName ? week.indexOf(dayName.toLowerCase()) : 0\n}\n\n// creates a date range object and automatically swaps startDate and endDate if endDate is before startDate\nexport const toRange = (startDate, endDate) => {\n if (isBefore(endDate, startDate)) {\n const _startDate = startDate\n startDate = endDate\n endDate = _startDate\n }\n return { startDate, endDate }\n}\n\n// returns startDate and endDate if both dates are selected\n// otherwise uses the startDate and hoverDate\n// unless user hasn't hovered, then use start date twice\nconst getRange = (startDate, endDate, hoverDate) => {\n if (startDate && endDate) {\n return toRange(startDate, endDate)\n } else if (startDate && hoverDate) {\n return toRange(startDate, hoverDate)\n } else {\n return toRange(startDate, startDate)\n }\n}\n\n// returns an array of dates for each day of the current week\n// weekStartsOn is a number, use dayOffset to convert from a string\nexport const getWeek = (weekStartsOn) => {\n const startDay = startOfWeek(new Date(), { weekStartsOn })\n return Array(7)\n .fill(1)\n .map((value, i) => addDays(startDay, i))\n}\n\n// returns an array of dates of the month, optionally skip x number of days\nexport const getMonth = (month, skip = 0, limit) => {\n const startDay = startOfMonth(month)\n let size = getDaysInMonth(month) - skip\n size = Math.min(Math.max(parseInt(size), 0), limit > -1 ? limit : size)\n size = size < 0 ? 0 : size\n return Array(size)\n .fill(1)\n .map((value, i) => addDays(startDay, i + skip))\n}\n\n// date is between selection range\nconst isWithinSelectionCalc = (date, startDate, endDate) => {\n const { startDate: start, endDate: end } = toRange(startDate, endDate)\n return startDate && endDate\n ? isValid(start) &&\n isValid(end) &&\n isWithinInterval(date, {\n start,\n end,\n })\n : false\n}\n\n// date is before minDate or after maxDate\nconst isDisabledCalc = (date, minDate, maxDate) => {\n // isBefore and isAfter return false if comparison date is undefined, which is useful here in case minDate and maxDate aren't supplied\n return (\n (minDate && isBefore(date, startOfDay(minDate))) ||\n (maxDate && isAfter(date, startOfDay(maxDate)))\n )\n}\nexport { isDisabledCalc as isDisabled }\n\n// date selected is start date\nconst isStartDateCalc = (date, range) => {\n return range.startDate && isSameDay(date, range.startDate)\n}\n\n// date selected is end date\nconst isEndDateCalc = (date, range) => {\n return range.endDate && isSameDay(date, range.endDate)\n}\n\n// date is between startDate (exclusive) and hoverDate (inclusive)\nconst isPreviewCalc = (date, startDate, endDate, hoverDate) => {\n const { startDate: start, endDate: end } = toRange(startDate, hoverDate)\n return (\n startDate &&\n !endDate &&\n // To exclude \"isPreview\" from startDate/endDate, we have to enable these two lines\n // !isStartDate(date, previewRange) &&\n // !isEndDate(date, previewRange) &&\n isValid(start) &&\n isValid(end) &&\n isWithinInterval(date, {\n start,\n end,\n })\n )\n}\n\nexport const correctV1Format = (date) => {\n // for backwards compatibility\n // TODO: Remove this in next major version\n if (/YYYY/.test(date) && /DD/.test(date)) {\n warn(\n 'You are using \"YYYY-MM-DD\" as the date_format or return_format? Please use \"yyyy-MM-dd\" instead!'\n )\n date = date.replace(/DD/, 'dd').replace(/YYYY/, 'yyyy')\n }\n\n return date\n}\n\nexport const convertStringToDate = (date, { date_format = null } = {}) => {\n if (date === null) {\n return null\n }\n let dateObject\n dateObject = typeof date === 'string' ? parseISO(date) : toDate(date)\n\n // check one more time if we can generate a valid date\n if (typeof date === 'string' && date_format && !isValid(dateObject)) {\n date_format = correctV1Format(date_format)\n dateObject = parse(date, date_format, new Date())\n }\n\n // rather return null than an invalid date\n if (!isValid(dateObject)) {\n warn('convertStringToDate got invalid date:', date)\n return null\n }\n\n return dateObject\n}\n"],"mappings":"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"}
@@ -52,6 +52,9 @@ export interface DatePickerInputProps
52
52
  showInput?: boolean;
53
53
  onChange?: (...args: any[]) => any;
54
54
  onSubmit?: (...args: any[]) => any;
55
+ /**
56
+ * Will be called once the input gets focus.
57
+ */
55
58
  onFocus?: (...args: any[]) => any;
56
59
  }
57
60
  export default class DatePickerInput extends React.Component<
@@ -200,15 +200,22 @@ export default class DatePickerInput extends React.PureComponent {
200
200
  focusState: 'focus',
201
201
  _listenForPropChanges: false
202
202
  });
203
+ if (this.props.onFocus) {
204
+ this.props.onFocus(_objectSpread(_objectSpread({}, event), this.context.getReturnObject({
205
+ event
206
+ })));
207
+ }
203
208
  });
204
- _defineProperty(this, "onBlurHandler", e => {
209
+ _defineProperty(this, "onBlurHandler", event => {
205
210
  this.focusMode = null;
206
211
  this.setState({
207
212
  focusState: 'blur',
208
213
  _listenForPropChanges: false
209
214
  });
210
215
  if (this.props.onBlur) {
211
- this.props.onBlur(e);
216
+ this.props.onBlur(_objectSpread(_objectSpread({}, event), this.context.getReturnObject({
217
+ event
218
+ })));
212
219
  }
213
220
  });
214
221
  _defineProperty(this, "onKeyDownHandler", async event => {