@dnb/eufemia 10.54.0 → 10.55.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 (1121) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/cjs/components/ListFormat.d.ts +12 -0
  3. package/cjs/components/ListFormat.js +24 -0
  4. package/cjs/components/ListFormat.js.map +1 -0
  5. package/cjs/components/anchor/Anchor.js +1 -1
  6. package/cjs/components/anchor/Anchor.js.map +1 -1
  7. package/cjs/components/autocomplete/Autocomplete.js +3 -3
  8. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  9. package/cjs/components/card/Card.js +14 -5
  10. package/cjs/components/card/Card.js.map +1 -1
  11. package/cjs/components/card/CardContext.d.ts +6 -0
  12. package/cjs/components/card/CardContext.js +12 -0
  13. package/cjs/components/card/CardContext.js.map +1 -0
  14. package/cjs/components/card/CardDocs.js +2 -2
  15. package/cjs/components/card/CardDocs.js.map +1 -1
  16. package/cjs/components/card/style/dnb-card.css +3 -0
  17. package/cjs/components/card/style/dnb-card.min.css +1 -1
  18. package/cjs/components/card/style/dnb-card.scss +5 -0
  19. package/cjs/components/card/style/themes/dnb-card-theme-sbanken.css +3 -0
  20. package/cjs/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -1
  21. package/cjs/components/card/style/themes/dnb-card-theme-sbanken.scss +5 -0
  22. package/cjs/components/card/style/themes/dnb-card-theme-ui.css +5 -0
  23. package/cjs/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  24. package/cjs/components/card/style/themes/dnb-card-theme-ui.scss +7 -0
  25. package/cjs/components/country-flag/CountryFlagDocs.js +5 -0
  26. package/cjs/components/country-flag/CountryFlagDocs.js.map +1 -1
  27. package/cjs/components/date-picker/DatePicker.d.ts +261 -291
  28. package/cjs/components/date-picker/DatePicker.js +346 -482
  29. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  30. package/cjs/components/date-picker/DatePickerAddon.d.ts +21 -20
  31. package/cjs/components/date-picker/DatePickerAddon.js +66 -84
  32. package/cjs/components/date-picker/DatePickerAddon.js.map +1 -1
  33. package/cjs/components/date-picker/DatePickerCalc.d.ts +19 -21
  34. package/cjs/components/date-picker/DatePickerCalc.js +44 -44
  35. package/cjs/components/date-picker/DatePickerCalc.js.map +1 -1
  36. package/cjs/components/date-picker/DatePickerCalendar.d.ts +73 -39
  37. package/cjs/components/date-picker/DatePickerCalendar.js +391 -535
  38. package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
  39. package/cjs/components/date-picker/DatePickerContext.d.ts +26 -2
  40. package/cjs/components/date-picker/DatePickerContext.js.map +1 -1
  41. package/cjs/components/date-picker/DatePickerFooter.d.ts +20 -18
  42. package/cjs/components/date-picker/DatePickerFooter.js +92 -117
  43. package/cjs/components/date-picker/DatePickerFooter.js.map +1 -1
  44. package/cjs/components/date-picker/DatePickerInput.d.ts +56 -64
  45. package/cjs/components/date-picker/DatePickerInput.js +515 -533
  46. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  47. package/cjs/components/date-picker/DatePickerOld.d.ts +334 -0
  48. package/cjs/components/date-picker/DatePickerOld.js +538 -0
  49. package/cjs/components/date-picker/DatePickerOld.js.map +1 -0
  50. package/cjs/components/date-picker/DatePickerProvider.d.ts +40 -17
  51. package/cjs/components/date-picker/DatePickerProvider.js +125 -236
  52. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  53. package/cjs/components/date-picker/DatePickerRange.d.ts +22 -20
  54. package/cjs/components/date-picker/DatePickerRange.js +61 -144
  55. package/cjs/components/date-picker/DatePickerRange.js.map +1 -1
  56. package/cjs/components/date-picker/hooks/useDates.d.ts +45 -0
  57. package/cjs/components/date-picker/hooks/useDates.js +182 -0
  58. package/cjs/components/date-picker/hooks/useDates.js.map +1 -0
  59. package/cjs/components/date-picker/hooks/useLastEventCallCache.d.ts +9 -0
  60. package/cjs/components/date-picker/hooks/useLastEventCallCache.js +16 -0
  61. package/cjs/components/date-picker/hooks/useLastEventCallCache.js.map +1 -0
  62. package/cjs/components/date-picker/hooks/useViews.d.ts +20 -0
  63. package/cjs/components/date-picker/hooks/useViews.js +84 -0
  64. package/cjs/components/date-picker/hooks/useViews.js.map +1 -0
  65. package/cjs/components/date-picker/style/dnb-date-picker.css +12 -1
  66. package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
  67. package/cjs/components/dropdown/Dropdown.js +3 -3
  68. package/cjs/components/dropdown/Dropdown.js.map +1 -1
  69. package/cjs/components/flex/StackDocs.d.ts +2 -0
  70. package/cjs/components/flex/StackDocs.js +30 -0
  71. package/cjs/components/flex/StackDocs.js.map +1 -0
  72. package/cjs/components/form-row/FormRow.js +3 -3
  73. package/cjs/components/form-row/FormRow.js.map +1 -1
  74. package/cjs/components/form-row/style/dnb-form-row.css +12 -1
  75. package/cjs/components/form-row/style/dnb-form-row.min.css +1 -1
  76. package/cjs/components/form-status/FormStatus.d.ts +4 -1
  77. package/cjs/components/icon/style/dnb-icon.scss +1 -1
  78. package/cjs/components/index.d.ts +2 -1
  79. package/cjs/components/index.js +7 -0
  80. package/cjs/components/index.js.map +1 -1
  81. package/cjs/components/input-masked/TextMask.d.ts +2 -1
  82. package/cjs/components/input-masked/style/dnb-input-masked.css +12 -1
  83. package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
  84. package/cjs/components/lib.d.ts +3 -1
  85. package/cjs/components/lib.js +8 -0
  86. package/cjs/components/lib.js.map +1 -1
  87. package/cjs/components/list-format/ListFormat.d.ts +40 -0
  88. package/cjs/components/list-format/ListFormat.js +122 -0
  89. package/cjs/components/list-format/ListFormat.js.map +1 -0
  90. package/cjs/components/list-format/ListFormatDocs.d.ts +2 -0
  91. package/cjs/components/list-format/ListFormatDocs.js +35 -0
  92. package/cjs/components/list-format/ListFormatDocs.js.map +1 -0
  93. package/cjs/components/list-format/index.d.ts +7 -0
  94. package/cjs/components/list-format/index.js +24 -0
  95. package/cjs/components/list-format/index.js.map +1 -0
  96. package/cjs/components/number-format/NumberUtils.js +1 -1
  97. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  98. package/cjs/components/radio/style/dnb-radio.css +12 -1
  99. package/cjs/components/radio/style/dnb-radio.min.css +1 -1
  100. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js +1 -1
  101. package/cjs/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  102. package/cjs/components/textarea/Textarea.js +3 -3
  103. package/cjs/components/textarea/Textarea.js.map +1 -1
  104. package/cjs/components/toggle-button/ToggleButton.js +3 -3
  105. package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
  106. package/cjs/components/toggle-button/style/dnb-toggle-button.css +12 -1
  107. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  108. package/cjs/components/upload/Upload.js +2 -1
  109. package/cjs/components/upload/Upload.js.map +1 -1
  110. package/cjs/components/upload/UploadContext.d.ts +1 -0
  111. package/cjs/components/upload/UploadContext.js +2 -1
  112. package/cjs/components/upload/UploadContext.js.map +1 -1
  113. package/cjs/components/upload/UploadDocs.js +5 -0
  114. package/cjs/components/upload/UploadDocs.js.map +1 -1
  115. package/cjs/components/upload/UploadDropzone.js.map +1 -1
  116. package/cjs/components/upload/UploadFileList.js +3 -1
  117. package/cjs/components/upload/UploadFileList.js.map +1 -1
  118. package/cjs/components/upload/UploadFileListCell.d.ts +22 -3
  119. package/cjs/components/upload/UploadFileListCell.js +17 -8
  120. package/cjs/components/upload/UploadFileListCell.js.map +1 -1
  121. package/cjs/components/upload/UploadInfo.js +7 -4
  122. package/cjs/components/upload/UploadInfo.js.map +1 -1
  123. package/cjs/components/upload/UploadVerify.d.ts +2 -2
  124. package/cjs/components/upload/UploadVerify.js.map +1 -1
  125. package/cjs/components/upload/style/dnb-upload.css +1 -1
  126. package/cjs/components/upload/style/dnb-upload.min.css +1 -1
  127. package/cjs/components/upload/style/dnb-upload.scss +1 -1
  128. package/cjs/components/upload/types.d.ts +11 -5
  129. package/cjs/components/upload/types.js.map +1 -1
  130. package/cjs/components/upload/useUpload.d.ts +6 -6
  131. package/cjs/components/upload/useUpload.js.map +1 -1
  132. package/cjs/elements/lists/style/lists-mixins.scss +1 -0
  133. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +1 -1
  134. package/cjs/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  135. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +11 -14
  136. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  137. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +3 -4
  138. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  139. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +4 -4
  140. package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +3 -2
  141. package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  142. package/cjs/extensions/forms/Field/Composition/CompositionDocs.js +1 -1
  143. package/cjs/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -1
  144. package/cjs/extensions/forms/Field/Date/Date.js +4 -12
  145. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  146. package/cjs/extensions/forms/Field/Expiry/Expiry.js +6 -14
  147. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  148. package/cjs/extensions/forms/Field/FieldDocs.d.ts +2 -2
  149. package/cjs/extensions/forms/Field/FieldDocs.js +10 -10
  150. package/cjs/extensions/forms/Field/FieldDocs.js.map +1 -1
  151. package/cjs/extensions/forms/Field/Number/Number.d.ts +2 -1
  152. package/cjs/extensions/forms/Field/Number/Number.js +7 -19
  153. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  154. package/cjs/extensions/forms/Field/Number/style/dnb-number.css +0 -3
  155. package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  156. package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +0 -2
  157. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
  158. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +9 -10
  159. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  160. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +1 -1
  161. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +3 -3
  162. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  163. package/cjs/extensions/forms/Field/Provider/FieldProviderDocs.js +6 -3
  164. package/cjs/extensions/forms/Field/Provider/FieldProviderDocs.js.map +1 -1
  165. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +10 -3
  166. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -1
  167. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +14 -12
  168. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  169. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +2 -1
  170. package/cjs/extensions/forms/Field/Selection/Selection.js +5 -13
  171. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  172. package/cjs/extensions/forms/Field/Slider/Slider.d.ts +2 -1
  173. package/cjs/extensions/forms/Field/Slider/Slider.js +0 -13
  174. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  175. package/cjs/extensions/forms/Field/String/String.d.ts +2 -1
  176. package/cjs/extensions/forms/Field/String/String.js +7 -20
  177. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  178. package/cjs/extensions/forms/Field/Toggle/Toggle.d.ts +1 -1
  179. package/cjs/extensions/forms/Field/Toggle/Toggle.js +6 -18
  180. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  181. package/cjs/extensions/forms/Field/Upload/Upload.d.ts +4 -3
  182. package/cjs/extensions/forms/Field/Upload/Upload.js +2 -12
  183. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  184. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +45 -6
  185. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +39 -20
  186. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  187. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -0
  188. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  189. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +3 -2
  190. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +20 -5
  191. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  192. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +34 -11
  193. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  194. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +56 -13
  195. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.css +7 -0
  196. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.min.css +1 -0
  197. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.scss +10 -0
  198. package/cjs/extensions/forms/Form/Section/EditContainer/CancelButton.d.ts +1 -0
  199. package/cjs/extensions/forms/Form/Section/EditContainer/{EditToolbarTools.js → CancelButton.js} +15 -41
  200. package/cjs/extensions/forms/Form/Section/EditContainer/CancelButton.js.map +1 -0
  201. package/cjs/extensions/forms/Form/Section/EditContainer/DoneButton.d.ts +1 -0
  202. package/cjs/extensions/forms/Form/Section/EditContainer/DoneButton.js +52 -0
  203. package/cjs/extensions/forms/Form/Section/EditContainer/DoneButton.js.map +1 -0
  204. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +2 -0
  205. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js +11 -4
  206. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  207. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +1 -1
  208. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
  209. package/cjs/extensions/forms/Form/Section/Section.d.ts +4 -2
  210. package/cjs/extensions/forms/Form/Section/Section.js +2 -0
  211. package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
  212. package/cjs/extensions/forms/Form/Section/Toolbar/Toolbar.d.ts +7 -0
  213. package/cjs/extensions/forms/Form/Section/Toolbar/Toolbar.js +68 -0
  214. package/cjs/extensions/forms/Form/Section/Toolbar/Toolbar.js.map +1 -0
  215. package/cjs/extensions/forms/Form/Section/Toolbar/ToolbarContext.d.ts +9 -0
  216. package/cjs/extensions/forms/Form/Section/Toolbar/ToolbarContext.js +12 -0
  217. package/cjs/extensions/forms/Form/Section/Toolbar/ToolbarContext.js.map +1 -0
  218. package/cjs/extensions/forms/Form/Section/Toolbar/ToolbarDocs.d.ts +3 -0
  219. package/cjs/extensions/forms/Form/Section/Toolbar/ToolbarDocs.js +11 -0
  220. package/cjs/extensions/forms/Form/Section/Toolbar/ToolbarDocs.js.map +1 -0
  221. package/cjs/extensions/forms/Form/Section/Toolbar/index.d.ts +2 -0
  222. package/cjs/extensions/forms/Form/Section/Toolbar/index.js +27 -0
  223. package/cjs/extensions/forms/Form/Section/Toolbar/index.js.map +1 -0
  224. package/cjs/extensions/forms/Form/Section/ViewContainer/EditButton.d.ts +1 -0
  225. package/cjs/extensions/forms/Form/Section/ViewContainer/{ViewToolbarTools.js → EditButton.js} +12 -13
  226. package/cjs/extensions/forms/Form/Section/ViewContainer/EditButton.js.map +1 -0
  227. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +1 -0
  228. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +9 -4
  229. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -1
  230. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +1 -1
  231. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
  232. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js +3 -2
  233. package/cjs/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
  234. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.css +6 -13
  235. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  236. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.scss +11 -24
  237. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js +5 -5
  238. package/cjs/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  239. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js +3 -2
  240. package/cjs/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  241. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.d.ts +1 -1
  242. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js +2 -2
  243. package/cjs/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  244. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +1 -1
  245. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  246. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.d.ts +1 -1
  247. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js +2 -2
  248. package/cjs/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  249. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +1 -1
  250. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  251. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +2 -25
  252. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js +16 -49
  253. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  254. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +7 -17
  255. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
  256. package/cjs/extensions/forms/Value/Composition/CompositionDocs.js +3 -1
  257. package/cjs/extensions/forms/Value/Composition/CompositionDocs.js.map +1 -1
  258. package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -1
  259. package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.js +5 -5
  260. package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -1
  261. package/cjs/extensions/forms/Value/Upload/Upload.d.ts +11 -0
  262. package/cjs/extensions/forms/Value/Upload/Upload.js +99 -0
  263. package/cjs/extensions/forms/Value/Upload/Upload.js.map +1 -0
  264. package/cjs/extensions/forms/Value/Upload/UploadDocs.d.ts +2 -0
  265. package/cjs/extensions/forms/Value/Upload/UploadDocs.js +26 -0
  266. package/cjs/extensions/forms/Value/Upload/UploadDocs.js.map +1 -0
  267. package/cjs/extensions/forms/Value/Upload/index.d.ts +2 -0
  268. package/cjs/extensions/forms/Value/Upload/index.js +27 -0
  269. package/cjs/extensions/forms/Value/Upload/index.js.map +1 -0
  270. package/cjs/extensions/forms/Value/index.d.ts +1 -0
  271. package/cjs/extensions/forms/Value/index.js +7 -0
  272. package/cjs/extensions/forms/Value/index.js.map +1 -1
  273. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +8 -3
  274. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  275. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +0 -7
  276. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  277. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.scss +0 -10
  278. package/cjs/extensions/forms/Wizard/Step/StepDocs.js +1 -1
  279. package/cjs/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  280. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +2 -0
  281. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  282. package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.d.ts +3 -0
  283. package/cjs/extensions/forms/hooks/{DataValueDocs.js → DataValueWritePropsDocs.js} +6 -6
  284. package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -0
  285. package/cjs/extensions/forms/hooks/useDataValue.js +6 -1
  286. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  287. package/cjs/extensions/forms/hooks/useFieldProps.js +8 -3
  288. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  289. package/cjs/extensions/forms/hooks/useValueProps.js +1 -6
  290. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  291. package/cjs/extensions/forms/style/dnb-forms.css +45 -38
  292. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  293. package/cjs/extensions/forms/types.d.ts +6 -28
  294. package/cjs/extensions/forms/types.js.map +1 -1
  295. package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -0
  296. package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
  297. package/cjs/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -0
  298. package/cjs/index.d.ts +2 -1
  299. package/cjs/index.js +7 -0
  300. package/cjs/index.js.map +1 -1
  301. package/cjs/shared/Context.d.ts +4 -0
  302. package/cjs/shared/Context.js.map +1 -1
  303. package/cjs/shared/Eufemia.d.ts +1 -1
  304. package/cjs/shared/Eufemia.js +2 -2
  305. package/cjs/shared/Eufemia.js.map +1 -1
  306. package/cjs/shared/component-helper.d.ts +1 -1
  307. package/cjs/shared/component-helper.js.map +1 -1
  308. package/cjs/style/core/reset.scss +0 -8
  309. package/cjs/style/core/scopes.scss +1 -1
  310. package/cjs/style/core/utilities.scss +12 -16
  311. package/cjs/style/dnb-ui-basis.css +1 -7
  312. package/cjs/style/dnb-ui-basis.min.css +1 -1
  313. package/cjs/style/dnb-ui-body.css +1 -7
  314. package/cjs/style/dnb-ui-body.min.css +1 -1
  315. package/cjs/style/dnb-ui-components.css +109 -43
  316. package/cjs/style/dnb-ui-components.min.css +3 -3
  317. package/cjs/style/dnb-ui-core.css +1 -8
  318. package/cjs/style/dnb-ui-core.min.css +1 -1
  319. package/cjs/style/dnb-ui-elements.css +1 -0
  320. package/cjs/style/dnb-ui-elements.min.css +1 -1
  321. package/cjs/style/dnb-ui-extensions.css +45 -38
  322. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  323. package/cjs/style/dnb-ui-forms.css +45 -38
  324. package/cjs/style/dnb-ui-forms.min.css +1 -1
  325. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -0
  326. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  327. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +159 -80
  328. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  329. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -0
  330. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  331. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +45 -38
  332. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  333. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +45 -38
  334. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  335. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -0
  336. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  337. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +164 -83
  338. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +5 -5
  339. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -0
  340. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  341. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +50 -41
  342. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  343. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -1
  344. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +52 -41
  345. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  346. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -1
  347. package/cjs/style/themes/theme-ui/ui-theme-basis.css +1 -0
  348. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  349. package/cjs/style/themes/theme-ui/ui-theme-components.css +159 -80
  350. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  351. package/cjs/style/themes/theme-ui/ui-theme-elements.css +1 -0
  352. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  353. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +45 -38
  354. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  355. package/cjs/style/themes/theme-ui/ui-theme-forms.css +45 -38
  356. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  357. package/cjs/style/themes/theme-ui/ui-theme-tags.css +1 -0
  358. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  359. package/components/ListFormat.d.ts +12 -0
  360. package/components/ListFormat.js +4 -0
  361. package/components/ListFormat.js.map +1 -0
  362. package/components/anchor/Anchor.js +1 -1
  363. package/components/anchor/Anchor.js.map +1 -1
  364. package/components/autocomplete/Autocomplete.js +3 -3
  365. package/components/autocomplete/Autocomplete.js.map +1 -1
  366. package/components/card/Card.js +13 -5
  367. package/components/card/Card.js.map +1 -1
  368. package/components/card/CardContext.d.ts +6 -0
  369. package/components/card/CardContext.js +4 -0
  370. package/components/card/CardContext.js.map +1 -0
  371. package/components/card/CardDocs.js +2 -2
  372. package/components/card/CardDocs.js.map +1 -1
  373. package/components/card/style/dnb-card.css +3 -0
  374. package/components/card/style/dnb-card.min.css +1 -1
  375. package/components/card/style/dnb-card.scss +5 -0
  376. package/components/card/style/themes/dnb-card-theme-sbanken.css +3 -0
  377. package/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -1
  378. package/components/card/style/themes/dnb-card-theme-sbanken.scss +5 -0
  379. package/components/card/style/themes/dnb-card-theme-ui.css +5 -0
  380. package/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  381. package/components/card/style/themes/dnb-card-theme-ui.scss +7 -0
  382. package/components/country-flag/CountryFlagDocs.js +5 -0
  383. package/components/country-flag/CountryFlagDocs.js.map +1 -1
  384. package/components/date-picker/DatePicker.d.ts +261 -291
  385. package/components/date-picker/DatePicker.js +343 -481
  386. package/components/date-picker/DatePicker.js.map +1 -1
  387. package/components/date-picker/DatePickerAddon.d.ts +21 -20
  388. package/components/date-picker/DatePickerAddon.js +64 -81
  389. package/components/date-picker/DatePickerAddon.js.map +1 -1
  390. package/components/date-picker/DatePickerCalc.d.ts +19 -21
  391. package/components/date-picker/DatePickerCalc.js +35 -34
  392. package/components/date-picker/DatePickerCalc.js.map +1 -1
  393. package/components/date-picker/DatePickerCalendar.d.ts +73 -39
  394. package/components/date-picker/DatePickerCalendar.js +389 -534
  395. package/components/date-picker/DatePickerCalendar.js.map +1 -1
  396. package/components/date-picker/DatePickerContext.d.ts +26 -2
  397. package/components/date-picker/DatePickerContext.js.map +1 -1
  398. package/components/date-picker/DatePickerFooter.d.ts +20 -18
  399. package/components/date-picker/DatePickerFooter.js +90 -116
  400. package/components/date-picker/DatePickerFooter.js.map +1 -1
  401. package/components/date-picker/DatePickerInput.d.ts +56 -64
  402. package/components/date-picker/DatePickerInput.js +515 -532
  403. package/components/date-picker/DatePickerInput.js.map +1 -1
  404. package/components/date-picker/DatePickerOld.d.ts +334 -0
  405. package/components/date-picker/DatePickerOld.js +528 -0
  406. package/components/date-picker/DatePickerOld.js.map +1 -0
  407. package/components/date-picker/DatePickerProvider.d.ts +40 -17
  408. package/components/date-picker/DatePickerProvider.js +123 -235
  409. package/components/date-picker/DatePickerProvider.js.map +1 -1
  410. package/components/date-picker/DatePickerRange.d.ts +22 -20
  411. package/components/date-picker/DatePickerRange.js +58 -140
  412. package/components/date-picker/DatePickerRange.js.map +1 -1
  413. package/components/date-picker/hooks/useDates.d.ts +45 -0
  414. package/components/date-picker/hooks/useDates.js +173 -0
  415. package/components/date-picker/hooks/useDates.js.map +1 -0
  416. package/components/date-picker/hooks/useLastEventCallCache.d.ts +9 -0
  417. package/components/date-picker/hooks/useLastEventCallCache.js +11 -0
  418. package/components/date-picker/hooks/useLastEventCallCache.js.map +1 -0
  419. package/components/date-picker/hooks/useViews.d.ts +20 -0
  420. package/components/date-picker/hooks/useViews.js +74 -0
  421. package/components/date-picker/hooks/useViews.js.map +1 -0
  422. package/components/date-picker/style/dnb-date-picker.css +12 -1
  423. package/components/date-picker/style/dnb-date-picker.min.css +1 -1
  424. package/components/dropdown/Dropdown.js +3 -3
  425. package/components/dropdown/Dropdown.js.map +1 -1
  426. package/components/flex/StackDocs.d.ts +2 -0
  427. package/components/flex/StackDocs.js +23 -0
  428. package/components/flex/StackDocs.js.map +1 -0
  429. package/components/form-row/FormRow.js +3 -3
  430. package/components/form-row/FormRow.js.map +1 -1
  431. package/components/form-row/style/dnb-form-row.css +12 -1
  432. package/components/form-row/style/dnb-form-row.min.css +1 -1
  433. package/components/form-status/FormStatus.d.ts +4 -1
  434. package/components/icon/style/dnb-icon.scss +1 -1
  435. package/components/index.d.ts +2 -1
  436. package/components/index.js +2 -1
  437. package/components/index.js.map +1 -1
  438. package/components/input-masked/TextMask.d.ts +2 -1
  439. package/components/input-masked/style/dnb-input-masked.css +12 -1
  440. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  441. package/components/lib.d.ts +3 -1
  442. package/components/lib.js +3 -1
  443. package/components/lib.js.map +1 -1
  444. package/components/list-format/ListFormat.d.ts +40 -0
  445. package/components/list-format/ListFormat.js +112 -0
  446. package/components/list-format/ListFormat.js.map +1 -0
  447. package/components/list-format/ListFormatDocs.d.ts +2 -0
  448. package/components/list-format/ListFormatDocs.js +28 -0
  449. package/components/list-format/ListFormatDocs.js.map +1 -0
  450. package/components/list-format/index.d.ts +7 -0
  451. package/components/list-format/index.js +4 -0
  452. package/components/list-format/index.js.map +1 -0
  453. package/components/number-format/NumberUtils.js +1 -1
  454. package/components/number-format/NumberUtils.js.map +1 -1
  455. package/components/radio/style/dnb-radio.css +12 -1
  456. package/components/radio/style/dnb-radio.min.css +1 -1
  457. package/components/step-indicator/StepIndicatorTriggerButton.js +1 -1
  458. package/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  459. package/components/textarea/Textarea.js +3 -3
  460. package/components/textarea/Textarea.js.map +1 -1
  461. package/components/toggle-button/ToggleButton.js +3 -3
  462. package/components/toggle-button/ToggleButton.js.map +1 -1
  463. package/components/toggle-button/style/dnb-toggle-button.css +12 -1
  464. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  465. package/components/upload/Upload.js +2 -1
  466. package/components/upload/Upload.js.map +1 -1
  467. package/components/upload/UploadContext.d.ts +1 -0
  468. package/components/upload/UploadContext.js +2 -1
  469. package/components/upload/UploadContext.js.map +1 -1
  470. package/components/upload/UploadDocs.js +5 -0
  471. package/components/upload/UploadDocs.js.map +1 -1
  472. package/components/upload/UploadDropzone.js.map +1 -1
  473. package/components/upload/UploadFileList.js +3 -1
  474. package/components/upload/UploadFileList.js.map +1 -1
  475. package/components/upload/UploadFileListCell.d.ts +22 -3
  476. package/components/upload/UploadFileListCell.js +16 -8
  477. package/components/upload/UploadFileListCell.js.map +1 -1
  478. package/components/upload/UploadInfo.js +7 -4
  479. package/components/upload/UploadInfo.js.map +1 -1
  480. package/components/upload/UploadVerify.d.ts +2 -2
  481. package/components/upload/UploadVerify.js.map +1 -1
  482. package/components/upload/style/dnb-upload.css +1 -1
  483. package/components/upload/style/dnb-upload.min.css +1 -1
  484. package/components/upload/style/dnb-upload.scss +1 -1
  485. package/components/upload/types.d.ts +11 -5
  486. package/components/upload/types.js.map +1 -1
  487. package/components/upload/useUpload.d.ts +6 -6
  488. package/components/upload/useUpload.js.map +1 -1
  489. package/elements/lists/style/lists-mixins.scss +1 -0
  490. package/es/components/ListFormat.d.ts +12 -0
  491. package/es/components/ListFormat.js +4 -0
  492. package/es/components/ListFormat.js.map +1 -0
  493. package/es/components/anchor/Anchor.js +1 -1
  494. package/es/components/anchor/Anchor.js.map +1 -1
  495. package/es/components/autocomplete/Autocomplete.js +3 -3
  496. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  497. package/es/components/card/Card.js +13 -5
  498. package/es/components/card/Card.js.map +1 -1
  499. package/es/components/card/CardContext.d.ts +6 -0
  500. package/es/components/card/CardContext.js +4 -0
  501. package/es/components/card/CardContext.js.map +1 -0
  502. package/es/components/card/CardDocs.js +2 -2
  503. package/es/components/card/CardDocs.js.map +1 -1
  504. package/es/components/card/style/dnb-card.css +3 -0
  505. package/es/components/card/style/dnb-card.min.css +1 -1
  506. package/es/components/card/style/dnb-card.scss +5 -0
  507. package/es/components/card/style/themes/dnb-card-theme-sbanken.css +3 -0
  508. package/es/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -1
  509. package/es/components/card/style/themes/dnb-card-theme-sbanken.scss +5 -0
  510. package/es/components/card/style/themes/dnb-card-theme-ui.css +5 -0
  511. package/es/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  512. package/es/components/card/style/themes/dnb-card-theme-ui.scss +7 -0
  513. package/es/components/country-flag/CountryFlagDocs.js +5 -0
  514. package/es/components/country-flag/CountryFlagDocs.js.map +1 -1
  515. package/es/components/date-picker/DatePicker.d.ts +261 -291
  516. package/es/components/date-picker/DatePicker.js +342 -481
  517. package/es/components/date-picker/DatePicker.js.map +1 -1
  518. package/es/components/date-picker/DatePickerAddon.d.ts +21 -20
  519. package/es/components/date-picker/DatePickerAddon.js +65 -82
  520. package/es/components/date-picker/DatePickerAddon.js.map +1 -1
  521. package/es/components/date-picker/DatePickerCalc.d.ts +19 -21
  522. package/es/components/date-picker/DatePickerCalc.js +38 -37
  523. package/es/components/date-picker/DatePickerCalc.js.map +1 -1
  524. package/es/components/date-picker/DatePickerCalendar.d.ts +73 -39
  525. package/es/components/date-picker/DatePickerCalendar.js +387 -531
  526. package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
  527. package/es/components/date-picker/DatePickerContext.d.ts +26 -2
  528. package/es/components/date-picker/DatePickerContext.js.map +1 -1
  529. package/es/components/date-picker/DatePickerFooter.d.ts +20 -18
  530. package/es/components/date-picker/DatePickerFooter.js +89 -116
  531. package/es/components/date-picker/DatePickerFooter.js.map +1 -1
  532. package/es/components/date-picker/DatePickerInput.d.ts +56 -64
  533. package/es/components/date-picker/DatePickerInput.js +508 -525
  534. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  535. package/es/components/date-picker/DatePickerOld.d.ts +334 -0
  536. package/es/components/date-picker/DatePickerOld.js +528 -0
  537. package/es/components/date-picker/DatePickerOld.js.map +1 -0
  538. package/es/components/date-picker/DatePickerProvider.d.ts +40 -17
  539. package/es/components/date-picker/DatePickerProvider.js +122 -230
  540. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  541. package/es/components/date-picker/DatePickerRange.d.ts +22 -20
  542. package/es/components/date-picker/DatePickerRange.js +57 -138
  543. package/es/components/date-picker/DatePickerRange.js.map +1 -1
  544. package/es/components/date-picker/hooks/useDates.d.ts +45 -0
  545. package/es/components/date-picker/hooks/useDates.js +169 -0
  546. package/es/components/date-picker/hooks/useDates.js.map +1 -0
  547. package/es/components/date-picker/hooks/useLastEventCallCache.d.ts +9 -0
  548. package/es/components/date-picker/hooks/useLastEventCallCache.js +11 -0
  549. package/es/components/date-picker/hooks/useLastEventCallCache.js.map +1 -0
  550. package/es/components/date-picker/hooks/useViews.d.ts +20 -0
  551. package/es/components/date-picker/hooks/useViews.js +72 -0
  552. package/es/components/date-picker/hooks/useViews.js.map +1 -0
  553. package/es/components/date-picker/style/dnb-date-picker.css +12 -1
  554. package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
  555. package/es/components/dropdown/Dropdown.js +3 -3
  556. package/es/components/dropdown/Dropdown.js.map +1 -1
  557. package/es/components/flex/StackDocs.d.ts +2 -0
  558. package/es/components/flex/StackDocs.js +23 -0
  559. package/es/components/flex/StackDocs.js.map +1 -0
  560. package/es/components/form-row/FormRow.js +3 -3
  561. package/es/components/form-row/FormRow.js.map +1 -1
  562. package/es/components/form-row/style/dnb-form-row.css +12 -1
  563. package/es/components/form-row/style/dnb-form-row.min.css +1 -1
  564. package/es/components/form-status/FormStatus.d.ts +4 -1
  565. package/es/components/icon/style/dnb-icon.scss +1 -1
  566. package/es/components/index.d.ts +2 -1
  567. package/es/components/index.js +2 -1
  568. package/es/components/index.js.map +1 -1
  569. package/es/components/input-masked/TextMask.d.ts +2 -1
  570. package/es/components/input-masked/style/dnb-input-masked.css +12 -1
  571. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  572. package/es/components/lib.d.ts +3 -1
  573. package/es/components/lib.js +3 -1
  574. package/es/components/lib.js.map +1 -1
  575. package/es/components/list-format/ListFormat.d.ts +40 -0
  576. package/es/components/list-format/ListFormat.js +111 -0
  577. package/es/components/list-format/ListFormat.js.map +1 -0
  578. package/es/components/list-format/ListFormatDocs.d.ts +2 -0
  579. package/es/components/list-format/ListFormatDocs.js +28 -0
  580. package/es/components/list-format/ListFormatDocs.js.map +1 -0
  581. package/es/components/list-format/index.d.ts +7 -0
  582. package/es/components/list-format/index.js +4 -0
  583. package/es/components/list-format/index.js.map +1 -0
  584. package/es/components/number-format/NumberUtils.js +1 -1
  585. package/es/components/number-format/NumberUtils.js.map +1 -1
  586. package/es/components/radio/style/dnb-radio.css +12 -1
  587. package/es/components/radio/style/dnb-radio.min.css +1 -1
  588. package/es/components/step-indicator/StepIndicatorTriggerButton.js +1 -1
  589. package/es/components/step-indicator/StepIndicatorTriggerButton.js.map +1 -1
  590. package/es/components/textarea/Textarea.js +3 -3
  591. package/es/components/textarea/Textarea.js.map +1 -1
  592. package/es/components/toggle-button/ToggleButton.js +3 -3
  593. package/es/components/toggle-button/ToggleButton.js.map +1 -1
  594. package/es/components/toggle-button/style/dnb-toggle-button.css +12 -1
  595. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  596. package/es/components/upload/Upload.js +2 -1
  597. package/es/components/upload/Upload.js.map +1 -1
  598. package/es/components/upload/UploadContext.d.ts +1 -0
  599. package/es/components/upload/UploadContext.js +2 -1
  600. package/es/components/upload/UploadContext.js.map +1 -1
  601. package/es/components/upload/UploadDocs.js +5 -0
  602. package/es/components/upload/UploadDocs.js.map +1 -1
  603. package/es/components/upload/UploadDropzone.js.map +1 -1
  604. package/es/components/upload/UploadFileList.js +3 -1
  605. package/es/components/upload/UploadFileList.js.map +1 -1
  606. package/es/components/upload/UploadFileListCell.d.ts +22 -3
  607. package/es/components/upload/UploadFileListCell.js +16 -8
  608. package/es/components/upload/UploadFileListCell.js.map +1 -1
  609. package/es/components/upload/UploadInfo.js +7 -4
  610. package/es/components/upload/UploadInfo.js.map +1 -1
  611. package/es/components/upload/UploadVerify.d.ts +2 -2
  612. package/es/components/upload/UploadVerify.js.map +1 -1
  613. package/es/components/upload/style/dnb-upload.css +1 -1
  614. package/es/components/upload/style/dnb-upload.min.css +1 -1
  615. package/es/components/upload/style/dnb-upload.scss +1 -1
  616. package/es/components/upload/types.d.ts +11 -5
  617. package/es/components/upload/types.js.map +1 -1
  618. package/es/components/upload/useUpload.d.ts +6 -6
  619. package/es/components/upload/useUpload.js.map +1 -1
  620. package/es/elements/lists/style/lists-mixins.scss +1 -0
  621. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +1 -1
  622. package/es/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  623. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +11 -14
  624. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  625. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +3 -4
  626. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  627. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +4 -4
  628. package/es/extensions/forms/Field/Boolean/Boolean.d.ts +3 -2
  629. package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  630. package/es/extensions/forms/Field/Composition/CompositionDocs.js +2 -2
  631. package/es/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -1
  632. package/es/extensions/forms/Field/Date/Date.js +4 -12
  633. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  634. package/es/extensions/forms/Field/Expiry/Expiry.js +6 -14
  635. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  636. package/es/extensions/forms/Field/FieldDocs.d.ts +2 -2
  637. package/es/extensions/forms/Field/FieldDocs.js +8 -8
  638. package/es/extensions/forms/Field/FieldDocs.js.map +1 -1
  639. package/es/extensions/forms/Field/Number/Number.d.ts +2 -1
  640. package/es/extensions/forms/Field/Number/Number.js +8 -19
  641. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  642. package/es/extensions/forms/Field/Number/style/dnb-number.css +0 -3
  643. package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  644. package/es/extensions/forms/Field/Number/style/dnb-number.scss +0 -2
  645. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
  646. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +9 -10
  647. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  648. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +1 -1
  649. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +1 -1
  650. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  651. package/es/extensions/forms/Field/Provider/FieldProviderDocs.js +6 -3
  652. package/es/extensions/forms/Field/Provider/FieldProviderDocs.js.map +1 -1
  653. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +10 -3
  654. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -1
  655. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +14 -12
  656. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  657. package/es/extensions/forms/Field/Selection/Selection.d.ts +2 -1
  658. package/es/extensions/forms/Field/Selection/Selection.js +5 -13
  659. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  660. package/es/extensions/forms/Field/Slider/Slider.d.ts +2 -1
  661. package/es/extensions/forms/Field/Slider/Slider.js +0 -13
  662. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  663. package/es/extensions/forms/Field/String/String.d.ts +2 -1
  664. package/es/extensions/forms/Field/String/String.js +7 -20
  665. package/es/extensions/forms/Field/String/String.js.map +1 -1
  666. package/es/extensions/forms/Field/Toggle/Toggle.d.ts +1 -1
  667. package/es/extensions/forms/Field/Toggle/Toggle.js +6 -18
  668. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  669. package/es/extensions/forms/Field/Upload/Upload.d.ts +4 -3
  670. package/es/extensions/forms/Field/Upload/Upload.js +2 -12
  671. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  672. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +45 -6
  673. package/es/extensions/forms/FieldBlock/FieldBlock.js +39 -20
  674. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  675. package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -0
  676. package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  677. package/es/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +3 -2
  678. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +17 -2
  679. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  680. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +34 -11
  681. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  682. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +56 -13
  683. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.css +7 -0
  684. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.min.css +1 -0
  685. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.scss +10 -0
  686. package/es/extensions/forms/Form/Section/EditContainer/CancelButton.d.ts +1 -0
  687. package/es/extensions/forms/Form/Section/EditContainer/CancelButton.js +51 -0
  688. package/es/extensions/forms/Form/Section/EditContainer/CancelButton.js.map +1 -0
  689. package/es/extensions/forms/Form/Section/EditContainer/DoneButton.d.ts +1 -0
  690. package/es/extensions/forms/Form/Section/EditContainer/DoneButton.js +44 -0
  691. package/es/extensions/forms/Form/Section/EditContainer/DoneButton.js.map +1 -0
  692. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +2 -0
  693. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js +11 -4
  694. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  695. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +1 -1
  696. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
  697. package/es/extensions/forms/Form/Section/Section.d.ts +4 -2
  698. package/es/extensions/forms/Form/Section/Section.js +2 -0
  699. package/es/extensions/forms/Form/Section/Section.js.map +1 -1
  700. package/es/extensions/forms/Form/Section/Toolbar/Toolbar.d.ts +7 -0
  701. package/es/extensions/forms/Form/Section/Toolbar/Toolbar.js +59 -0
  702. package/es/extensions/forms/Form/Section/Toolbar/Toolbar.js.map +1 -0
  703. package/es/extensions/forms/Form/Section/Toolbar/ToolbarContext.d.ts +9 -0
  704. package/es/extensions/forms/Form/Section/Toolbar/ToolbarContext.js +4 -0
  705. package/es/extensions/forms/Form/Section/Toolbar/ToolbarContext.js.map +1 -0
  706. package/es/extensions/forms/Form/Section/Toolbar/ToolbarDocs.d.ts +3 -0
  707. package/es/extensions/forms/Form/Section/Toolbar/ToolbarDocs.js +3 -0
  708. package/es/extensions/forms/Form/Section/Toolbar/ToolbarDocs.js.map +1 -0
  709. package/es/extensions/forms/Form/Section/Toolbar/index.d.ts +2 -0
  710. package/es/extensions/forms/Form/Section/Toolbar/index.js +3 -0
  711. package/es/extensions/forms/Form/Section/Toolbar/index.js.map +1 -0
  712. package/es/extensions/forms/Form/Section/ViewContainer/EditButton.d.ts +1 -0
  713. package/es/extensions/forms/Form/Section/ViewContainer/{ViewToolbarTools.js → EditButton.js} +10 -11
  714. package/es/extensions/forms/Form/Section/ViewContainer/EditButton.js.map +1 -0
  715. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +1 -0
  716. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +9 -4
  717. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -1
  718. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +1 -1
  719. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
  720. package/es/extensions/forms/Form/Section/containers/SectionContainer.js +4 -3
  721. package/es/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
  722. package/es/extensions/forms/Form/Section/style/dnb-form-section.css +6 -13
  723. package/es/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  724. package/es/extensions/forms/Form/Section/style/dnb-form-section.scss +11 -24
  725. package/es/extensions/forms/Iterate/Array/ArrayDocs.js +5 -5
  726. package/es/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  727. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js +4 -3
  728. package/es/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  729. package/es/extensions/forms/Iterate/EditContainer/CancelButton.d.ts +1 -1
  730. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js +1 -1
  731. package/es/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  732. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +1 -1
  733. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  734. package/es/extensions/forms/Iterate/ViewContainer/EditButton.d.ts +1 -1
  735. package/es/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -1
  736. package/es/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  737. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +1 -1
  738. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  739. package/es/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +2 -25
  740. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js +14 -45
  741. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  742. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +5 -17
  743. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
  744. package/es/extensions/forms/Value/Composition/CompositionDocs.js +3 -1
  745. package/es/extensions/forms/Value/Composition/CompositionDocs.js.map +1 -1
  746. package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -1
  747. package/es/extensions/forms/Value/SummaryList/SummaryListDocs.js +5 -5
  748. package/es/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -1
  749. package/es/extensions/forms/Value/Upload/Upload.d.ts +11 -0
  750. package/es/extensions/forms/Value/Upload/Upload.js +88 -0
  751. package/es/extensions/forms/Value/Upload/Upload.js.map +1 -0
  752. package/es/extensions/forms/Value/Upload/UploadDocs.d.ts +2 -0
  753. package/es/extensions/forms/Value/Upload/UploadDocs.js +17 -0
  754. package/es/extensions/forms/Value/Upload/UploadDocs.js.map +1 -0
  755. package/es/extensions/forms/Value/Upload/index.d.ts +2 -0
  756. package/es/extensions/forms/Value/Upload/index.js +3 -0
  757. package/es/extensions/forms/Value/Upload/index.js.map +1 -0
  758. package/es/extensions/forms/Value/index.d.ts +1 -0
  759. package/es/extensions/forms/Value/index.js +1 -0
  760. package/es/extensions/forms/Value/index.js.map +1 -1
  761. package/es/extensions/forms/ValueBlock/ValueBlock.js +8 -3
  762. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  763. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +0 -7
  764. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  765. package/es/extensions/forms/ValueBlock/style/dnb-value-block.scss +0 -10
  766. package/es/extensions/forms/Wizard/Step/StepDocs.js +1 -1
  767. package/es/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  768. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +2 -0
  769. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  770. package/es/extensions/forms/hooks/DataValueWritePropsDocs.d.ts +3 -0
  771. package/es/extensions/forms/hooks/{DataValueDocs.js → DataValueWritePropsDocs.js} +3 -3
  772. package/es/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -0
  773. package/es/extensions/forms/hooks/useDataValue.js +6 -1
  774. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  775. package/es/extensions/forms/hooks/useFieldProps.js +8 -3
  776. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  777. package/es/extensions/forms/hooks/useValueProps.js +1 -6
  778. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  779. package/es/extensions/forms/style/dnb-forms.css +45 -38
  780. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  781. package/es/extensions/forms/types.d.ts +6 -28
  782. package/es/extensions/forms/types.js.map +1 -1
  783. package/es/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -0
  784. package/es/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
  785. package/es/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -0
  786. package/es/index.d.ts +2 -1
  787. package/es/index.js +2 -1
  788. package/es/index.js.map +1 -1
  789. package/es/shared/Context.d.ts +4 -0
  790. package/es/shared/Context.js.map +1 -1
  791. package/es/shared/Eufemia.d.ts +1 -1
  792. package/es/shared/Eufemia.js +2 -2
  793. package/es/shared/Eufemia.js.map +1 -1
  794. package/es/shared/component-helper.d.ts +1 -1
  795. package/es/shared/component-helper.js.map +1 -1
  796. package/es/style/core/reset.scss +0 -8
  797. package/es/style/core/scopes.scss +1 -1
  798. package/es/style/core/utilities.scss +12 -16
  799. package/es/style/dnb-ui-basis.css +1 -7
  800. package/es/style/dnb-ui-basis.min.css +1 -1
  801. package/es/style/dnb-ui-body.css +1 -7
  802. package/es/style/dnb-ui-body.min.css +1 -1
  803. package/es/style/dnb-ui-components.css +109 -43
  804. package/es/style/dnb-ui-components.min.css +3 -3
  805. package/es/style/dnb-ui-core.css +1 -8
  806. package/es/style/dnb-ui-core.min.css +1 -1
  807. package/es/style/dnb-ui-elements.css +1 -0
  808. package/es/style/dnb-ui-elements.min.css +1 -1
  809. package/es/style/dnb-ui-extensions.css +45 -38
  810. package/es/style/dnb-ui-extensions.min.css +1 -1
  811. package/es/style/dnb-ui-forms.css +45 -38
  812. package/es/style/dnb-ui-forms.min.css +1 -1
  813. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -0
  814. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  815. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +159 -80
  816. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  817. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -0
  818. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  819. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +45 -38
  820. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  821. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +45 -38
  822. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  823. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -0
  824. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  825. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +164 -83
  826. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +5 -5
  827. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -0
  828. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  829. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +50 -41
  830. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  831. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -1
  832. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +52 -41
  833. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  834. package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -1
  835. package/es/style/themes/theme-ui/ui-theme-basis.css +1 -0
  836. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  837. package/es/style/themes/theme-ui/ui-theme-components.css +159 -80
  838. package/es/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  839. package/es/style/themes/theme-ui/ui-theme-elements.css +1 -0
  840. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  841. package/es/style/themes/theme-ui/ui-theme-extensions.css +45 -38
  842. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  843. package/es/style/themes/theme-ui/ui-theme-forms.css +45 -38
  844. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  845. package/es/style/themes/theme-ui/ui-theme-tags.css +1 -0
  846. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  847. package/esm/dnb-ui-basis.min.mjs +1 -1
  848. package/esm/dnb-ui-components.min.mjs +1 -1
  849. package/esm/dnb-ui-elements.min.mjs +1 -1
  850. package/esm/dnb-ui-extensions.min.mjs +3 -3
  851. package/esm/dnb-ui-lib.min.mjs +1 -1
  852. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js +1 -1
  853. package/extensions/forms/DataContext/FieldBoundary/FieldBoundaryProvider.js.map +1 -1
  854. package/extensions/forms/Field/ArraySelection/ArraySelection.js +11 -14
  855. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  856. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +3 -4
  857. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  858. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +4 -4
  859. package/extensions/forms/Field/Boolean/Boolean.d.ts +3 -2
  860. package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  861. package/extensions/forms/Field/Composition/CompositionDocs.js +2 -2
  862. package/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -1
  863. package/extensions/forms/Field/Date/Date.js +4 -12
  864. package/extensions/forms/Field/Date/Date.js.map +1 -1
  865. package/extensions/forms/Field/Expiry/Expiry.js +6 -14
  866. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  867. package/extensions/forms/Field/FieldDocs.d.ts +2 -2
  868. package/extensions/forms/Field/FieldDocs.js +8 -8
  869. package/extensions/forms/Field/FieldDocs.js.map +1 -1
  870. package/extensions/forms/Field/Number/Number.d.ts +2 -1
  871. package/extensions/forms/Field/Number/Number.js +7 -19
  872. package/extensions/forms/Field/Number/Number.js.map +1 -1
  873. package/extensions/forms/Field/Number/style/dnb-number.css +0 -3
  874. package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  875. package/extensions/forms/Field/Number/style/dnb-number.scss +0 -2
  876. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
  877. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +9 -10
  878. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  879. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.d.ts +1 -1
  880. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +1 -1
  881. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  882. package/extensions/forms/Field/Provider/FieldProviderDocs.js +6 -3
  883. package/extensions/forms/Field/Provider/FieldProviderDocs.js.map +1 -1
  884. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +10 -3
  885. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -1
  886. package/extensions/forms/Field/SelectCountry/SelectCountry.js +14 -12
  887. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  888. package/extensions/forms/Field/Selection/Selection.d.ts +2 -1
  889. package/extensions/forms/Field/Selection/Selection.js +5 -13
  890. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  891. package/extensions/forms/Field/Slider/Slider.d.ts +2 -1
  892. package/extensions/forms/Field/Slider/Slider.js +0 -13
  893. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  894. package/extensions/forms/Field/String/String.d.ts +2 -1
  895. package/extensions/forms/Field/String/String.js +7 -20
  896. package/extensions/forms/Field/String/String.js.map +1 -1
  897. package/extensions/forms/Field/Toggle/Toggle.d.ts +1 -1
  898. package/extensions/forms/Field/Toggle/Toggle.js +6 -18
  899. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  900. package/extensions/forms/Field/Upload/Upload.d.ts +4 -3
  901. package/extensions/forms/Field/Upload/Upload.js +2 -12
  902. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  903. package/extensions/forms/FieldBlock/FieldBlock.d.ts +45 -6
  904. package/extensions/forms/FieldBlock/FieldBlock.js +39 -20
  905. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  906. package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -0
  907. package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  908. package/extensions/forms/FieldBlock/FieldBlockDocs.d.ts +3 -2
  909. package/extensions/forms/FieldBlock/FieldBlockDocs.js +17 -2
  910. package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  911. package/extensions/forms/FieldBlock/style/dnb-field-block.css +34 -11
  912. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  913. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +56 -13
  914. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.css +7 -0
  915. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.min.css +1 -0
  916. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.scss +10 -0
  917. package/extensions/forms/Form/Section/EditContainer/CancelButton.d.ts +1 -0
  918. package/extensions/forms/Form/Section/EditContainer/CancelButton.js +51 -0
  919. package/extensions/forms/Form/Section/EditContainer/CancelButton.js.map +1 -0
  920. package/extensions/forms/Form/Section/EditContainer/DoneButton.d.ts +1 -0
  921. package/extensions/forms/Form/Section/EditContainer/DoneButton.js +44 -0
  922. package/extensions/forms/Form/Section/EditContainer/DoneButton.js.map +1 -0
  923. package/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +2 -0
  924. package/extensions/forms/Form/Section/EditContainer/EditContainer.js +11 -4
  925. package/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  926. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +1 -1
  927. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
  928. package/extensions/forms/Form/Section/Section.d.ts +4 -2
  929. package/extensions/forms/Form/Section/Section.js +2 -0
  930. package/extensions/forms/Form/Section/Section.js.map +1 -1
  931. package/extensions/forms/Form/Section/Toolbar/Toolbar.d.ts +7 -0
  932. package/extensions/forms/Form/Section/Toolbar/Toolbar.js +59 -0
  933. package/extensions/forms/Form/Section/Toolbar/Toolbar.js.map +1 -0
  934. package/extensions/forms/Form/Section/Toolbar/ToolbarContext.d.ts +9 -0
  935. package/extensions/forms/Form/Section/Toolbar/ToolbarContext.js +4 -0
  936. package/extensions/forms/Form/Section/Toolbar/ToolbarContext.js.map +1 -0
  937. package/extensions/forms/Form/Section/Toolbar/ToolbarDocs.d.ts +3 -0
  938. package/extensions/forms/Form/Section/Toolbar/ToolbarDocs.js +3 -0
  939. package/extensions/forms/Form/Section/Toolbar/ToolbarDocs.js.map +1 -0
  940. package/extensions/forms/Form/Section/Toolbar/index.d.ts +2 -0
  941. package/extensions/forms/Form/Section/Toolbar/index.js +3 -0
  942. package/extensions/forms/Form/Section/Toolbar/index.js.map +1 -0
  943. package/extensions/forms/Form/Section/ViewContainer/EditButton.d.ts +1 -0
  944. package/extensions/forms/Form/Section/ViewContainer/{ViewToolbarTools.js → EditButton.js} +10 -11
  945. package/extensions/forms/Form/Section/ViewContainer/EditButton.js.map +1 -0
  946. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +1 -0
  947. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +9 -4
  948. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -1
  949. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +1 -1
  950. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
  951. package/extensions/forms/Form/Section/containers/SectionContainer.js +4 -3
  952. package/extensions/forms/Form/Section/containers/SectionContainer.js.map +1 -1
  953. package/extensions/forms/Form/Section/style/dnb-form-section.css +6 -13
  954. package/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  955. package/extensions/forms/Form/Section/style/dnb-form-section.scss +11 -24
  956. package/extensions/forms/Iterate/Array/ArrayDocs.js +5 -5
  957. package/extensions/forms/Iterate/Array/ArrayDocs.js.map +1 -1
  958. package/extensions/forms/Iterate/Array/ArrayItemArea.js +4 -3
  959. package/extensions/forms/Iterate/Array/ArrayItemArea.js.map +1 -1
  960. package/extensions/forms/Iterate/EditContainer/CancelButton.d.ts +1 -1
  961. package/extensions/forms/Iterate/EditContainer/CancelButton.js +1 -1
  962. package/extensions/forms/Iterate/EditContainer/CancelButton.js.map +1 -1
  963. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +1 -1
  964. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  965. package/extensions/forms/Iterate/ViewContainer/EditButton.d.ts +1 -1
  966. package/extensions/forms/Iterate/ViewContainer/EditButton.js +1 -1
  967. package/extensions/forms/Iterate/ViewContainer/EditButton.js.map +1 -1
  968. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +1 -1
  969. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  970. package/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +2 -25
  971. package/extensions/forms/Value/ArraySelection/ArraySelection.js +14 -46
  972. package/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  973. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +5 -17
  974. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
  975. package/extensions/forms/Value/Composition/CompositionDocs.js +3 -1
  976. package/extensions/forms/Value/Composition/CompositionDocs.js.map +1 -1
  977. package/extensions/forms/Value/Provider/useValueProvider.d.ts +1 -1
  978. package/extensions/forms/Value/SummaryList/SummaryListDocs.js +5 -5
  979. package/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -1
  980. package/extensions/forms/Value/Upload/Upload.d.ts +11 -0
  981. package/extensions/forms/Value/Upload/Upload.js +88 -0
  982. package/extensions/forms/Value/Upload/Upload.js.map +1 -0
  983. package/extensions/forms/Value/Upload/UploadDocs.d.ts +2 -0
  984. package/extensions/forms/Value/Upload/UploadDocs.js +17 -0
  985. package/extensions/forms/Value/Upload/UploadDocs.js.map +1 -0
  986. package/extensions/forms/Value/Upload/index.d.ts +2 -0
  987. package/extensions/forms/Value/Upload/index.js +3 -0
  988. package/extensions/forms/Value/Upload/index.js.map +1 -0
  989. package/extensions/forms/Value/index.d.ts +1 -0
  990. package/extensions/forms/Value/index.js +1 -0
  991. package/extensions/forms/Value/index.js.map +1 -1
  992. package/extensions/forms/ValueBlock/ValueBlock.js +8 -3
  993. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  994. package/extensions/forms/ValueBlock/style/dnb-value-block.css +0 -7
  995. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  996. package/extensions/forms/ValueBlock/style/dnb-value-block.scss +0 -10
  997. package/extensions/forms/Wizard/Step/StepDocs.js +1 -1
  998. package/extensions/forms/Wizard/Step/StepDocs.js.map +1 -1
  999. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +2 -0
  1000. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  1001. package/extensions/forms/hooks/DataValueWritePropsDocs.d.ts +3 -0
  1002. package/extensions/forms/hooks/{DataValueDocs.js → DataValueWritePropsDocs.js} +3 -3
  1003. package/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -0
  1004. package/extensions/forms/hooks/useDataValue.js +6 -1
  1005. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  1006. package/extensions/forms/hooks/useFieldProps.js +8 -3
  1007. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  1008. package/extensions/forms/hooks/useValueProps.js +1 -6
  1009. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  1010. package/extensions/forms/style/dnb-forms.css +45 -38
  1011. package/extensions/forms/style/dnb-forms.min.css +1 -1
  1012. package/extensions/forms/types.d.ts +6 -28
  1013. package/extensions/forms/types.js.map +1 -1
  1014. package/extensions/forms/utils/TestElement/style/dnb-test-element.css +2 -0
  1015. package/extensions/forms/utils/TestElement/style/dnb-test-element.min.css +1 -1
  1016. package/extensions/forms/utils/TestElement/style/dnb-test-element.scss +2 -0
  1017. package/index.d.ts +2 -1
  1018. package/index.js +2 -1
  1019. package/index.js.map +1 -1
  1020. package/package.json +1 -1
  1021. package/shared/Context.d.ts +4 -0
  1022. package/shared/Context.js.map +1 -1
  1023. package/shared/Eufemia.d.ts +1 -1
  1024. package/shared/Eufemia.js +2 -2
  1025. package/shared/Eufemia.js.map +1 -1
  1026. package/shared/component-helper.d.ts +1 -1
  1027. package/shared/component-helper.js.map +1 -1
  1028. package/style/core/reset.scss +0 -8
  1029. package/style/core/scopes.scss +1 -1
  1030. package/style/core/utilities.scss +12 -16
  1031. package/style/dnb-ui-basis.css +1 -7
  1032. package/style/dnb-ui-basis.min.css +1 -1
  1033. package/style/dnb-ui-body.css +1 -7
  1034. package/style/dnb-ui-body.min.css +1 -1
  1035. package/style/dnb-ui-components.css +109 -43
  1036. package/style/dnb-ui-components.min.css +3 -3
  1037. package/style/dnb-ui-core.css +1 -8
  1038. package/style/dnb-ui-core.min.css +1 -1
  1039. package/style/dnb-ui-elements.css +1 -0
  1040. package/style/dnb-ui-elements.min.css +1 -1
  1041. package/style/dnb-ui-extensions.css +45 -38
  1042. package/style/dnb-ui-extensions.min.css +1 -1
  1043. package/style/dnb-ui-forms.css +45 -38
  1044. package/style/dnb-ui-forms.min.css +1 -1
  1045. package/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -0
  1046. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  1047. package/style/themes/theme-eiendom/eiendom-theme-components.css +159 -80
  1048. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +4 -4
  1049. package/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -0
  1050. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  1051. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +45 -38
  1052. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  1053. package/style/themes/theme-eiendom/eiendom-theme-forms.css +45 -38
  1054. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  1055. package/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -0
  1056. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  1057. package/style/themes/theme-sbanken/sbanken-theme-components.css +164 -83
  1058. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +5 -5
  1059. package/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -0
  1060. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  1061. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +50 -41
  1062. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  1063. package/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -1
  1064. package/style/themes/theme-sbanken/sbanken-theme-forms.css +52 -41
  1065. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  1066. package/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -1
  1067. package/style/themes/theme-ui/ui-theme-basis.css +1 -0
  1068. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  1069. package/style/themes/theme-ui/ui-theme-components.css +159 -80
  1070. package/style/themes/theme-ui/ui-theme-components.min.css +4 -4
  1071. package/style/themes/theme-ui/ui-theme-elements.css +1 -0
  1072. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  1073. package/style/themes/theme-ui/ui-theme-extensions.css +45 -38
  1074. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  1075. package/style/themes/theme-ui/ui-theme-forms.css +45 -38
  1076. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  1077. package/style/themes/theme-ui/ui-theme-tags.css +1 -0
  1078. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  1079. package/umd/dnb-ui-basis.min.js +1 -1
  1080. package/umd/dnb-ui-components.min.js +1 -1
  1081. package/umd/dnb-ui-elements.min.js +1 -1
  1082. package/umd/dnb-ui-extensions.min.js +3 -3
  1083. package/umd/dnb-ui-lib.min.js +1 -1
  1084. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.css +0 -4
  1085. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.min.css +0 -1
  1086. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.scss +0 -6
  1087. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +0 -5
  1088. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +0 -1
  1089. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +0 -4
  1090. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +0 -1
  1091. package/cjs/extensions/forms/Form/Section/containers/Toolbar.d.ts +0 -7
  1092. package/cjs/extensions/forms/Form/Section/containers/Toolbar.js +0 -35
  1093. package/cjs/extensions/forms/Form/Section/containers/Toolbar.js.map +0 -1
  1094. package/cjs/extensions/forms/hooks/DataValueDocs.d.ts +0 -3
  1095. package/cjs/extensions/forms/hooks/DataValueDocs.js.map +0 -1
  1096. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.css +0 -4
  1097. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.min.css +0 -1
  1098. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.scss +0 -6
  1099. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +0 -5
  1100. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +0 -77
  1101. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +0 -1
  1102. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +0 -4
  1103. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +0 -1
  1104. package/es/extensions/forms/Form/Section/containers/Toolbar.d.ts +0 -7
  1105. package/es/extensions/forms/Form/Section/containers/Toolbar.js +0 -27
  1106. package/es/extensions/forms/Form/Section/containers/Toolbar.js.map +0 -1
  1107. package/es/extensions/forms/hooks/DataValueDocs.d.ts +0 -3
  1108. package/es/extensions/forms/hooks/DataValueDocs.js.map +0 -1
  1109. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.css +0 -4
  1110. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.min.css +0 -1
  1111. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-sbanken.scss +0 -6
  1112. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +0 -5
  1113. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +0 -77
  1114. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +0 -1
  1115. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +0 -4
  1116. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +0 -1
  1117. package/extensions/forms/Form/Section/containers/Toolbar.d.ts +0 -7
  1118. package/extensions/forms/Form/Section/containers/Toolbar.js +0 -27
  1119. package/extensions/forms/Form/Section/containers/Toolbar.js.map +0 -1
  1120. package/extensions/forms/hooks/DataValueDocs.d.ts +0 -3
  1121. package/extensions/forms/hooks/DataValueDocs.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerCalendar.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_format","_subMonths","_addMonths","_addWeeks","_addDays","_isSameDay","_isSameMonth","_startOfDay","_differenceInCalendarDays","_differenceInMonths","_lastDayOfMonth","_setDate","_keycode","_nb","_DatePickerCalc","_Button","_DatePickerContext","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_defineProperty","value","_toPropertyKey","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","DatePickerCalendar","React","PureComponent","constructor","props","context","updateState","hoverDate","event","_event$target","nodeName","toLowerCase","_listRef","current","focus","preventScroll","e","nr","isRange","onlyMonth","hideNav","onKeyDown","keyCode","keycode","preventDefault","persist","type","newDate","keyNavCalc","addMonths","Date","callOnSelect","hidePicker","state","currentMonth","Math","abs","differenceInMonths","setDate","lastDayOfMonth","isSameMonth","findValid","hasReachedEnd","endDate","startDate","changeMonthViews","date","isDisabled","minDate","maxDate","day","classnames","className","isStartDate","isEndDate","isPreview","isWithinSelection","isSelectable","isInactive","isToday","createRef","_labelRef","_days","_cache","componentDidMount","noAutofocus","args","onSelect","addDays","addWeeks","on_days_render","month","format","getDays","Array","isArray","foundDate","find","cur","isSameDay","nextDate","getCacheKey","firstDayOfWeek","hideNextMonthWeek","join","getMemorizedDays","count","values","reduce","acc","push","days","getCalendar","dayOffset","map","makeDayObject","changedDays","render","id","rtl","titleFormat","locale","dayOfWeekFormat","hideDays","onPrev","onNext","resetDate","onHover","prevBtn","nextBtn","translation","DatePicker","selected_month","weekDays","createElement","lang","code","PrevButton","title","replace","tabIndex","ref","NextButton","role","onKeyDownHandler","onMouseLeave","onMouseLeaveHandler","getWeek","scope","week","handleAsDisabled","isLastMonth","isNextMonth","paramsCell","paramsButton","buildClassNames","onFocus","size","variant","text","bounding","disabled","onClick","_ref","onSelectRange","onMouseOver","onHoverDay","exports","DatePickerContext","nbLocale","process","env","NODE_ENV","propTypes","PropTypes","string","number","instanceOf","bool","func","object","_ref2","Fragment","prev_month","subMonths","icon","isRequired","defaultProps","_ref3","next_month","_ref4","startOfDay","hasEndDate","daysToStartDate","differenceInCalendarDays","daysToEndDate","range","toRange","_ref5"],"sources":["../../../../src/components/date-picker/DatePickerCalendar.js"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\n\n// date-fns\nimport format from 'date-fns/format'\nimport subMonths from 'date-fns/subMonths'\nimport addMonths from 'date-fns/addMonths'\nimport addWeeks from 'date-fns/addWeeks'\nimport addDays from 'date-fns/addDays'\nimport isSameDay from 'date-fns/isSameDay'\nimport isSameMonth from 'date-fns/isSameMonth'\nimport startOfDay from 'date-fns/startOfDay'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\nimport differenceInMonths from 'date-fns/differenceInMonths'\nimport lastDayOfMonth from 'date-fns/lastDayOfMonth'\nimport setDate from 'date-fns/setDate'\n\nimport keycode from '../../shared/keycode'\nimport nbLocale from 'date-fns/locale/nb'\nimport {\n isDisabled,\n makeDayObject,\n toRange,\n getWeek,\n dayOffset,\n getCalendar,\n} from './DatePickerCalc'\nimport Button from '../button/Button'\nimport DatePickerContext from './DatePickerContext'\n\nexport default class DatePickerCalendar extends React.PureComponent {\n static contextType = DatePickerContext\n\n static propTypes = {\n id: PropTypes.string,\n nr: PropTypes.number,\n month: PropTypes.instanceOf(Date), // What month will be displayed in the first calendar. Default: new Date()\n prevBtn: PropTypes.bool,\n nextBtn: PropTypes.bool,\n titleFormat: PropTypes.string,\n dayOfWeekFormat: PropTypes.string,\n firstDayOfWeek: PropTypes.string,\n hideNav: PropTypes.bool,\n hideDays: PropTypes.bool,\n onlyMonth: PropTypes.bool,\n hideNextMonthWeek: PropTypes.bool,\n noAutofocus: PropTypes.bool,\n\n onHover: PropTypes.func,\n onSelect: PropTypes.func,\n onPrev: PropTypes.func,\n onNext: PropTypes.func,\n\n locale: PropTypes.object,\n rtl: PropTypes.bool,\n\n isRange: PropTypes.bool,\n resetDate: PropTypes.bool,\n onKeyDown: PropTypes.func,\n }\n\n static defaultProps = {\n id: null,\n nr: null,\n month: null,\n prevBtn: true,\n nextBtn: true,\n titleFormat: 'MMMM yyyy',\n dayOfWeekFormat: 'EEEEEE',\n firstDayOfWeek: 'monday',\n hideNav: false,\n hideDays: false,\n onlyMonth: false,\n hideNextMonthWeek: false,\n noAutofocus: false,\n\n // locale\n locale: nbLocale,\n rtl: false,\n\n // events\n onHover: null,\n onSelect: null,\n onPrev: null,\n onNext: null,\n\n // dates\n isRange: null,\n resetDate: true, // reset start/end date once we already have them\n\n // Limit selection with minDate and maxDate\n // maxDate: null, // addDays(new Date(), 45)\n onKeyDown: null,\n }\n\n constructor(props) {\n super(props)\n this._listRef = React.createRef()\n this._labelRef = React.createRef()\n this._days = {}\n this._cache = {}\n }\n\n componentDidMount() {\n if (!this.props.noAutofocus && this.props.nr === 0) {\n if (this._listRef.current) {\n this._listRef.current.focus({ preventScroll: true })\n }\n }\n }\n\n onMouseLeaveHandler = () => {\n this.context.updateState({\n hoverDate: null,\n })\n }\n\n onKeyDownHandler = (event) => {\n if (String(event?.target?.nodeName).toLowerCase() === 'td') {\n try {\n this._listRef.current.focus({ preventScroll: true })\n } catch (e) {\n //\n }\n }\n\n const { nr, isRange, onlyMonth, hideNav, onKeyDown } = this.props\n\n if (typeof onKeyDown === 'function') {\n return onKeyDown(event, this._listRef, nr)\n }\n\n const keyCode = keycode(event)\n\n // only continue of key is one of these\n switch (keyCode) {\n case 'enter':\n case 'space':\n case 'left':\n case 'right':\n case 'up':\n case 'down':\n event.preventDefault()\n event.persist() // since we use the event after setState\n break\n default:\n return\n }\n\n let type = nr === 0 ? 'start' : 'end'\n if (!isRange) {\n type = 'start'\n }\n let newDate = this.context[`${type}Date`]\n\n if (newDate) {\n newDate = this.keyNavCalc(newDate, keyCode)\n } else {\n // use the date picker month, if provided\n newDate =\n this.context[`${type}Month`] ||\n (isRange && nr === 1 ? addMonths(new Date(), 1) : new Date())\n }\n\n if (newDate === this.context[`${type}Date`]) {\n switch (keyCode) {\n case 'enter':\n case 'space':\n this.callOnSelect({\n event,\n nr,\n hidePicker: true,\n })\n break\n }\n } else {\n // const state = {...this.context}\n const state = {}\n\n const currentMonth = this.context[`${type}Month`]\n\n if (\n // in case we don't have a start/end date, then we use the current month date\n (currentMonth && !this.context[`${type}Date`]) ||\n // if we have a larger gap between the new date and the current month in the calendar\n (currentMonth &&\n Math.abs(differenceInMonths(newDate, currentMonth)) > 1)\n ) {\n if (!isRange) {\n newDate = currentMonth\n } else {\n newDate =\n nr === 0\n ? setDate(currentMonth, 1)\n : lastDayOfMonth(currentMonth)\n }\n // only to make sure we navigate the calendar to the new date\n } else if (\n currentMonth &&\n !isSameMonth(this.context[`${type}Date`], currentMonth)\n ) {\n state[`${type}Month`] = newDate\n }\n\n newDate = this.findValid(newDate, keyCode)\n\n if (this.hasReachedEnd(newDate)) {\n return\n }\n\n state[`${type}Date`] = newDate\n\n // set fallbacks\n if (!isRange) {\n state.endDate = newDate\n } else {\n if (!this.context.startDate) {\n state.startDate = newDate\n }\n if (!this.context.endDate) {\n state.endDate = newDate\n }\n }\n\n // make sure we stay on the same month\n if (onlyMonth || hideNav) {\n if (\n !isSameMonth(state.startDate, this.context.startDate) ||\n !isSameMonth(state.endDate, this.context.startDate) // Heads up, should this not be context.endDate?\n ) {\n return\n }\n }\n\n state.changeMonthViews = true\n\n this.context.updateState(state, () => {\n // call after state update, so the input get's the latest state as well\n this.callOnSelect({\n event,\n nr,\n hidePicker: false,\n })\n\n // and set the focus back again\n if (this._listRef && this._listRef.current) {\n this._listRef.current.focus({ preventScroll: true })\n }\n })\n }\n }\n\n callOnSelect(args) {\n this.props.onSelect && this.props.onSelect(args)\n }\n\n keyNavCalc(date, keyCode) {\n // only to process key up and down press\n switch (keyCode) {\n case 'left':\n date = addDays(date, -1)\n break\n case 'right':\n date = addDays(date, 1)\n break\n case 'up':\n date = addWeeks(date, -1)\n break\n case 'down':\n date = addWeeks(date, 1)\n break\n }\n\n return date\n }\n\n findValid(date, keyCode) {\n if (this.context.props.on_days_render) {\n const month = format(date, 'yyyy-MM')\n\n if (!this._days) {\n return date\n }\n\n if (!this._days[month]) {\n // re-render with new month\n this.getDays(date)\n }\n\n if (Array.isArray(this._days[month])) {\n const foundDate = this._days[month].find((cur) =>\n isSameDay(cur.date, date)\n )\n\n if (\n foundDate &&\n foundDate.date &&\n (foundDate.isDisabled ||\n foundDate.isSelectable === false ||\n foundDate.isInactive)\n ) {\n const nextDate = this.keyNavCalc(foundDate.date, keyCode)\n foundDate.date = this.findValid(nextDate, keyCode)\n }\n\n if (foundDate && foundDate.date) {\n return foundDate.date\n }\n }\n }\n\n return date\n }\n\n hasReachedEnd = (date) =>\n isDisabled(date, this.context.minDate, this.context.maxDate)\n\n buildClassNames = (day) =>\n classnames(\n {\n 'dnb-date-picker__day--start-date': day.isStartDate,\n 'dnb-date-picker__day--end-date': day.isEndDate,\n 'dnb-date-picker__day--preview': day.isPreview,\n 'dnb-date-picker__day--within-selection': day.isWithinSelection,\n 'dnb-date-picker__day--selectable': day.isSelectable,\n 'dnb-date-picker__day--inactive': day.isInactive,\n 'dnb-date-picker__day--disabled': day.isDisabled,\n 'dnb-date-picker__day--today': day.isToday,\n },\n day.className\n )\n\n getCacheKey() {\n const { nr, month, firstDayOfWeek, onlyMonth, hideNextMonthWeek } =\n this.props\n\n const { startDate, endDate, hoverDate, maxDate, minDate } =\n this.context\n\n return [\n nr,\n month,\n firstDayOfWeek,\n onlyMonth,\n hideNextMonthWeek,\n startDate,\n endDate,\n hoverDate,\n maxDate,\n minDate,\n ].join('|')\n }\n\n getMemorizedDays(month) {\n // Cache the result, just because we then avoid at least double calc because of reconciliation,\n // but we do not avoid calculating every day during hover or select\n const key = this.getCacheKey()\n\n if (this._cache[key]) {\n return this._cache[key]\n } else {\n let count = 0\n return (this._cache[key] = Object.values(\n this.getDays(month).reduce((acc, cur, i) => {\n // Normalize the data for table consumption\n acc[count] = acc[count] || []\n acc[count].push(cur)\n if (i % 7 === 6) {\n count++\n }\n return acc\n }, {})\n ))\n }\n }\n\n getDays(month) {\n const { nr, firstDayOfWeek, onlyMonth, hideNextMonthWeek } = this.props\n\n const { startDate, endDate, hoverDate, maxDate, minDate } =\n this.context\n\n let days = getCalendar(\n month || new Date(),\n dayOffset(firstDayOfWeek),\n {\n onlyMonth,\n hideNextMonthWeek,\n }\n ).map((date) =>\n makeDayObject(date, {\n startDate,\n endDate,\n hoverDate,\n minDate,\n maxDate,\n month,\n })\n )\n\n if (this.context.props.on_days_render) {\n const changedDays = this.context.props.on_days_render(days, nr)\n if (Array.isArray(changedDays)) {\n days = changedDays\n }\n }\n\n // // Save for later check against disabled days during key navigation\n this._days[format(month, 'yyyy-MM')] = days\n\n return days\n }\n\n render() {\n const {\n id,\n nr,\n rtl,\n month,\n isRange,\n titleFormat,\n locale,\n firstDayOfWeek,\n dayOfWeekFormat,\n hideNav,\n hideDays,\n onPrev,\n onNext,\n resetDate,\n onHover,\n prevBtn,\n nextBtn,\n } = this.props\n\n const {\n startDate,\n endDate,\n hoverDate,\n maxDate,\n minDate,\n translation: {\n DatePicker: { selected_month },\n },\n } = this.context\n\n const weekDays = this.getMemorizedDays(month)\n\n return (\n <div\n className={classnames('dnb-date-picker__calendar', rtl && 'rtl')}\n lang={locale?.code}\n >\n {!hideNav && (\n <div className=\"dnb-date-picker__header\">\n <div className=\"dnb-date-picker__header__nav\">\n <PrevButton\n nr={nr}\n minDate={minDate}\n month={month}\n locale={locale}\n context={this.context}\n prevBtn={prevBtn}\n onPrev={onPrev}\n />\n </div>\n <label\n id={`${id}--title`}\n className=\"dnb-date-picker__header__title dnb-no-focus\"\n title={selected_month.replace(\n /%s/,\n format(month, titleFormat, {\n locale,\n })\n )}\n tabIndex=\"-1\"\n ref={this._labelRef}\n >\n {format(month, titleFormat, {\n locale,\n })}\n </label>\n <div className=\"dnb-date-picker__header__nav\">\n <NextButton\n nr={nr}\n maxDate={maxDate}\n month={month}\n locale={locale}\n context={this.context}\n nextBtn={nextBtn}\n onNext={onNext}\n />\n </div>\n </div>\n )}\n <table\n role=\"grid\"\n className=\"dnb-no-focus\"\n tabIndex=\"0\"\n aria-labelledby={`${id}--title`}\n onKeyDown={this.onKeyDownHandler}\n onMouseLeave={this.onMouseLeaveHandler}\n ref={this._listRef}\n >\n {!hideDays && (\n <thead aria-hidden>\n <tr role=\"row\" className=\"dnb-date-picker__labels\">\n {getWeek(dayOffset(firstDayOfWeek)).map((day, i) => (\n <th\n key={i}\n role=\"columnheader\"\n scope=\"col\"\n className={classnames(\n 'dnb-date-picker__labels__day',\n `dnb-date-picker__labels__day--${format(day, 'i', {\n locale,\n })}`\n )}\n aria-label={format(day, 'EEEE', {\n locale,\n })}\n >\n {format(day, dayOfWeekFormat, {\n locale,\n })}\n </th>\n ))}\n </tr>\n </thead>\n )}\n <tbody>\n {weekDays.map((week, i) => {\n return (\n <tr\n key={'week' + i}\n role=\"row\"\n className=\"dnb-date-picker__days\"\n >\n {week.map((day, i) => {\n const title = format(day.date, 'PPPP', {\n locale,\n })\n const handleAsDisabled =\n day.isLastMonth ||\n day.isNextMonth ||\n day.isDisabled ||\n day.isInactive\n\n // cell params\n const paramsCell = {}\n paramsCell.tabIndex = '-1'\n if (day.isStartDate) {\n paramsCell.id = id + '--button-start'\n } else if (day.isEndDate) {\n paramsCell.id = id + '--button-end'\n }\n\n // cell + button params\n const paramsButton = {}\n if (nr === 0 ? day.isStartDate : day.isEndDate) {\n paramsButton['aria-current'] = 'date'\n paramsCell['aria-selected'] = true // aria-selected is not allowed on buttons\n }\n\n return (\n <td\n key={'day' + i}\n role=\"gridcell\"\n className={classnames(\n 'dnb-date-picker__day',\n 'dnb-no-focus',\n this.buildClassNames(day)\n )}\n onFocus={this.onKeyDownHandler}\n {...paramsCell}\n >\n <Button\n size=\"medium\"\n variant=\"secondary\"\n text={format(day.date, 'd', { locale })}\n bounding={true}\n disabled={handleAsDisabled}\n tabIndex={handleAsDisabled ? '0' : '-1'} // fix for NVDA\n aria-disabled={handleAsDisabled}\n aria-label={title}\n {...paramsButton}\n onClick={\n handleAsDisabled\n ? undefined\n : ({ event }) =>\n onSelectRange({\n day,\n isRange,\n startDate,\n endDate,\n resetDate,\n event,\n onSelect: (state) =>\n this.context.updateState(state, () =>\n this.callOnSelect({\n event,\n nr,\n hidePicker: !isRange,\n })\n ),\n })\n }\n onMouseOver={\n handleAsDisabled\n ? undefined\n : () =>\n onHoverDay({ day, hoverDate, onHover })\n }\n onFocus={\n handleAsDisabled\n ? undefined\n : () =>\n onHoverDay({ day, hoverDate, onHover })\n }\n />\n </td>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n </div>\n )\n }\n}\n\nconst PrevButton = ({\n nr,\n minDate,\n month,\n locale,\n context,\n prevBtn,\n onPrev,\n onKeyDown,\n}) => {\n if (!prevBtn) {\n return <></>\n }\n const disabled = minDate && isSameMonth(month, minDate)\n const onClick = () => onPrev && !disabled && onPrev({ nr })\n\n const {\n translation: {\n DatePicker: { prev_month },\n },\n } = context\n const title = prev_month.replace(\n /%s/,\n format(subMonths(month, 1), 'MMMM yyyy', {\n locale,\n })\n )\n\n return (\n <Button\n className={classnames('dnb-date-picker__prev', { disabled })}\n icon=\"chevron_left\"\n size=\"small\"\n aria-label={title}\n onClick={onClick}\n onKeyDown={onKeyDown}\n />\n )\n}\nPrevButton.propTypes = {\n nr: PropTypes.number.isRequired,\n minDate: PropTypes.instanceOf(Date),\n month: PropTypes.object.isRequired,\n locale: PropTypes.object.isRequired,\n context: PropTypes.object.isRequired,\n prevBtn: PropTypes.bool.isRequired,\n onPrev: PropTypes.func.isRequired,\n onKeyDown: PropTypes.func,\n}\nPrevButton.defaultProps = {\n minDate: null,\n onKeyDown: null,\n}\n\nconst NextButton = ({\n nr,\n maxDate,\n month,\n locale,\n context,\n nextBtn,\n onNext,\n onKeyDown,\n}) => {\n if (!nextBtn) {\n return <></>\n }\n const disabled = maxDate && isSameMonth(month, maxDate)\n const onClick = () => onNext && !disabled && onNext({ nr })\n\n const {\n translation: {\n DatePicker: { next_month },\n },\n } = context\n const title = next_month.replace(\n /%s/,\n format(addMonths(month, 1), 'MMMM yyyy', {\n locale,\n })\n )\n\n return (\n nextBtn && (\n <Button\n className={classnames('dnb-date-picker__next', { disabled })}\n icon=\"chevron_right\"\n size=\"small\"\n aria-label={title}\n onClick={onClick}\n onKeyDown={onKeyDown}\n />\n )\n )\n}\nNextButton.propTypes = {\n nr: PropTypes.number.isRequired,\n maxDate: PropTypes.instanceOf(Date),\n month: PropTypes.object.isRequired,\n locale: PropTypes.object.isRequired,\n context: PropTypes.object.isRequired,\n nextBtn: PropTypes.bool.isRequired,\n onNext: PropTypes.func.isRequired,\n onKeyDown: PropTypes.func,\n}\nNextButton.defaultProps = {\n maxDate: null,\n onKeyDown: null,\n}\n\nconst onSelectRange = ({\n day,\n isRange,\n startDate,\n endDate,\n onSelect,\n resetDate,\n event,\n}) => {\n event.persist()\n if (!isRange) {\n // set only date\n onSelect({\n startDate: startOfDay(day.date),\n endDate: startOfDay(day.date),\n event,\n })\n\n // for setting date new on every selection, do this here\n } else if (!startDate || (resetDate && startDate && endDate)) {\n // set startDate\n // user is selecting startDate\n onSelect({\n startDate: startOfDay(day.date),\n endDate: undefined,\n event,\n })\n } else {\n const hasEndDate = endDate\n // set either startDate or endDate\n const daysToStartDate = Math.abs(\n differenceInCalendarDays(startDate, day.date)\n )\n const daysToEndDate = Math.abs(\n differenceInCalendarDays(endDate, day.date)\n )\n\n let range = toRange(startDate, day.date)\n if (hasEndDate && !resetDate && daysToStartDate < daysToEndDate) {\n range = toRange(endDate, day.date)\n }\n onSelect({\n startDate: startOfDay(range.startDate),\n endDate: startOfDay(range.endDate),\n event,\n })\n }\n}\n\nconst onHoverDay = ({ day, hoverDate, onHover }) => {\n if (!isSameDay(day.date, hoverDate)) {\n onHover && onHover(day.date)\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerCalendar.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_format","_subMonths","_addMonths","_addWeeks","_addDays","_isSameDay","_isSameMonth","_startOfDay","_differenceInCalendarDays","_differenceInMonths","_lastDayOfMonth","_setDate","_localize","_formatLong","_localize2","_formatLong2","_formatLong3","_DatePickerCalc","_Button","_DatePickerContext","_shared","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","locales","localize","nbLocalize","formatLong","nbFormatLong","enLocalize","gbFormatLong","enFormatLong","defaultProps","prevBtn","nextBtn","titleFormat","dayOfWeekFormat","firstDayOfWeek","hideNav","hideDays","onlyMonth","hideNextMonthWeek","noAutoFocus","rtl","resetDate","arrowKeys","keysToHandle","DatePickerCalendar","restOfProps","props","updateDates","forceViewMonthChange","startDate","endDate","hoverDate","maxDate","minDate","startMonth","endMonth","translation","DatePicker","selected_month","on_days_render","useContext","DatePickerContext","id","nr","month","isRange","locale","localeCode","onPrev","onNext","onSelect","onHover","onKeyDown","listRef","useRef","labelRef","days","useEffect","current","focus","preventScroll","onMouseLeaveHandler","useCallback","callOnSelect","event","getDays","daysFromCalendar","getCalendar","Date","dayOffset","map","date","makeDayObject","changedDays","Array","isArray","format","keyNavCalc","keyCode","includes","dateHandler","test","addDays","addWeeks","shiftAmount","findValid","foundDate","find","cur","isSameDay","isDisabled","isSelectable","isInactive","nextDate","hasReachedEnd","onKeyDownHandler","pressedKey","code","preventDefault","persist","currentDates","dateType","currentDate","newDate","addMonths","hidePicker","dates","currentMonth","Math","abs","differenceInMonths","setDate","lastDayOfMonth","isSameMonth","cacheKey","useMemo","join","weekDays","count","values","reduce","acc","createElement","className","lang","CalendarButton","type","showButton","onClick","title","replace","tabIndex","ref","role","onMouseLeave","getWeek","day","scope","week","handleAsDisabled","isLastMonth","isNextMonth","isStartDate","isEndDate","isSelectedDate","paramsCell","paramsButton","classnames","buildDayClassNames","size","variant","text","bounding","disabled","on_click","_ref","onSelectRange","state","onMouseOver","onHoverDay","onFocus","_default","exports","_ref2","tr","useTranslation","Fragment","subMonths","icon","_ref3","startOfDay","daysToStartDate","differenceInCalendarDays","daysToEndDate","range","toRange","_ref4","isPreview","isWithinSelection","isToday"],"sources":["../../../../src/components/date-picker/DatePickerCalendar.tsx"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React, {\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\n\n// date-fns\nimport format from 'date-fns/format'\nimport subMonths from 'date-fns/subMonths'\nimport addMonths from 'date-fns/addMonths'\nimport addWeeks from 'date-fns/addWeeks'\nimport addDays from 'date-fns/addDays'\nimport isSameDay from 'date-fns/isSameDay'\nimport isSameMonth from 'date-fns/isSameMonth'\nimport startOfDay from 'date-fns/startOfDay'\nimport differenceInCalendarDays from 'date-fns/differenceInCalendarDays'\nimport differenceInMonths from 'date-fns/differenceInMonths'\nimport lastDayOfMonth from 'date-fns/lastDayOfMonth'\nimport setDate from 'date-fns/setDate'\n\n// Imports only the parts of the date-fns locale object that we actually use\nimport nbLocalize from 'date-fns/locale/nb/_lib/localize'\nimport nbFormatLong from 'date-fns/locale/nb/_lib/formatLong'\nimport enLocalize from 'date-fns/locale/en-US/_lib/localize'\nimport enFormatLong from 'date-fns/locale/en-US/_lib/formatLong'\nimport gbFormatLong from 'date-fns/locale/en-GB/_lib/formatLong'\n\nimport {\n isDisabled,\n makeDayObject,\n toRange,\n getWeek,\n dayOffset,\n getCalendar,\n} from './DatePickerCalc'\nimport Button, { ButtonProps } from '../button/Button'\nimport DatePickerContext from './DatePickerContext'\nimport { useTranslation } from '../../shared'\nimport { InternalLocale } from '../../shared/Context'\nimport { DatePickerChangeEvent } from './DatePickerProvider'\nimport { DatePickerDates } from './hooks/useDates'\n\nexport type CalendarDay = {\n date: Date\n isDisabled?: boolean\n isEndDate?: boolean\n isInactive?: boolean\n isLastMonth?: boolean\n isNextMonth?: boolean\n isPreview?: boolean\n isSelectable?: boolean\n isStartDate?: boolean\n isToday?: boolean\n isWithinSelection?: boolean\n className?: string\n}\n\ntype CalendarLocales = {\n // eslint-disable-next-line no-unused-vars\n [locale in InternalLocale]?: Pick<Locale, 'localize' | 'formatLong'>\n}\n// Easy to access objects containing the only (in our case) needed functions for date-fns format\nconst locales: CalendarLocales = {\n 'nb-NO': { localize: nbLocalize, formatLong: nbFormatLong },\n 'en-GB': { localize: enLocalize, formatLong: gbFormatLong },\n 'en-US': { localize: enLocalize, formatLong: enFormatLong },\n}\n\nexport type CalendarNavigationEvent = {\n nr: number\n type?: CalendarButtonProps['type']\n}\n\nexport type DatePickerCalendarProps = Omit<\n React.HTMLProps<HTMLElement>,\n 'onSelect' | 'onChange'\n> & {\n id?: string\n nr?: number\n /**\n * To display what month should be shown in the first calendar by default. Defaults to the `date` respective `start_date`.\n */\n month?: Date\n prevBtn?: boolean\n nextBtn?: boolean\n titleFormat?: string\n dayOfWeekFormat?: string\n firstDayOfWeek?: string\n hideNav?: boolean\n hideDays?: boolean\n onlyMonth?: boolean\n hideNextMonthWeek?: boolean\n noAutoFocus?: boolean\n onHover?: (day: Date) => void\n onSelect?: (\n event: DatePickerChangeEvent<\n | React.MouseEvent<HTMLSpanElement>\n | React.KeyboardEvent<HTMLTableElement | HTMLButtonElement>\n >\n ) => void\n onPrev?: (event: CalendarNavigationEvent) => void\n onNext?: (event: CalendarNavigationEvent) => void\n onKeyDown?: (\n event: React.KeyboardEvent<HTMLTableElement | HTMLButtonElement>,\n tableRef: React.MutableRefObject<HTMLTableElement>,\n nr: number\n ) => void\n /**\n * To define the locale used in the calendar. Needs to be an `date-fns` \"v2\" locale object, like `import enLocale from &#39;date-fns/locale/en-GB&#39;`. Defaults to `nb-NO`.\n */\n locale?: InternalLocale\n rtl?: boolean\n isRange?: boolean\n resetDate?: boolean\n}\n\ntype DayObject = {\n date: Date\n isToday: boolean\n isLastMonth: boolean\n isNextMonth: boolean\n isStartDate: boolean\n isEndDate: boolean\n isWithinSelection: boolean\n isPreview: boolean\n isDisabled: boolean\n isSelectable: boolean\n isInactive: boolean\n className?: string\n}\n\nconst defaultProps: DatePickerCalendarProps = {\n prevBtn: true,\n nextBtn: true,\n titleFormat: 'MMMM yyyy',\n dayOfWeekFormat: 'EEEEEE',\n firstDayOfWeek: 'monday',\n hideNav: false,\n hideDays: false,\n onlyMonth: false,\n hideNextMonthWeek: false,\n noAutoFocus: false,\n rtl: false,\n resetDate: true,\n}\n\nconst arrowKeys = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown']\nconst keysToHandle = ['Enter', 'Space', ...arrowKeys]\n\nfunction DatePickerCalendar(restOfProps: DatePickerCalendarProps) {\n const props = { ...defaultProps, ...restOfProps }\n\n const {\n updateDates,\n forceViewMonthChange,\n startDate,\n endDate,\n hoverDate,\n maxDate,\n minDate,\n startMonth,\n endMonth,\n translation: {\n DatePicker: { selected_month },\n },\n props: { on_days_render },\n } = useContext(DatePickerContext)\n\n const {\n id,\n nr,\n rtl,\n month,\n isRange,\n titleFormat,\n firstDayOfWeek,\n dayOfWeekFormat,\n hideNav,\n locale: localeCode,\n hideDays,\n onPrev,\n onNext,\n onSelect,\n onHover,\n onKeyDown,\n resetDate,\n prevBtn,\n nextBtn,\n noAutoFocus,\n hideNextMonthWeek,\n onlyMonth,\n } = props\n\n const listRef = useRef<React.ElementRef<'table'>>()\n const labelRef = useRef<HTMLLabelElement>()\n const days = useRef<Record<string, Array<CalendarDay>>>({})\n const cache = useRef<Record<string, CalendarDay[][]>>({})\n\n useEffect(() => {\n if (!noAutoFocus && nr === 0) {\n if (listRef.current) {\n listRef.current.focus({ preventScroll: true })\n }\n }\n }, [noAutoFocus, nr])\n\n const onMouseLeaveHandler = useCallback(() => {\n updateDates({\n hoverDate: null,\n })\n }, [updateDates])\n\n const callOnSelect = useCallback(\n (\n event: DatePickerChangeEvent<\n | React.MouseEvent<HTMLSpanElement>\n | React.KeyboardEvent<HTMLTableElement>\n > &\n DatePickerDates\n ) => {\n onSelect?.(event)\n },\n [onSelect]\n )\n\n const getDays = useCallback(\n (month: Date): DayObject[] => {\n let daysFromCalendar = getCalendar(\n month || new Date(),\n dayOffset(firstDayOfWeek),\n {\n onlyMonth,\n hideNextMonthWeek,\n }\n ).map((date) =>\n makeDayObject(date, {\n startDate,\n endDate,\n hoverDate,\n minDate,\n maxDate,\n month,\n })\n )\n\n if (on_days_render) {\n const changedDays = on_days_render(daysFromCalendar, nr)\n if (Array.isArray(changedDays)) {\n daysFromCalendar = changedDays\n }\n }\n\n // // Save for later check against disabled days during key navigation\n days.current[format(month, 'yyyy-MM')] = daysFromCalendar\n\n return daysFromCalendar\n },\n [\n endDate,\n firstDayOfWeek,\n hideNextMonthWeek,\n hoverDate,\n maxDate,\n minDate,\n nr,\n on_days_render,\n onlyMonth,\n startDate,\n ]\n )\n\n const keyNavCalc = useCallback((date: Date, keyCode: string) => {\n // Return date if arrow keys are not pressed\n if (!arrowKeys.includes(keyCode)) {\n return date\n }\n\n const dateHandler = /(ArrowLeft|ArrowRight)/g.test(keyCode)\n ? addDays\n : addWeeks\n const shiftAmount = /(ArrowLeft|ArrowUp)/g.test(keyCode) ? -1 : 1\n\n return dateHandler(date, shiftAmount)\n }, [])\n\n const findValid = useCallback(\n (date: Date, keyCode: string) => {\n if (!on_days_render) {\n return date\n }\n\n if (!days.current) {\n return date\n }\n\n const month = format(date, 'yyyy-MM')\n\n if (!days.current[month]) {\n // re-render with new month\n getDays(date)\n }\n\n if (Array.isArray(days.current[month])) {\n const foundDate = days.current[month].find((cur) =>\n isSameDay(cur.date, date)\n )\n\n if (\n foundDate?.date &&\n (foundDate.isDisabled ||\n foundDate.isSelectable === false ||\n foundDate.isInactive)\n ) {\n const nextDate = keyNavCalc(foundDate.date, keyCode)\n foundDate.date = findValid(nextDate, keyCode)\n }\n\n if (foundDate?.date) {\n return foundDate.date\n }\n }\n\n return date\n },\n [on_days_render, getDays, keyNavCalc]\n )\n\n const hasReachedEnd = useCallback(\n (date: Date) => isDisabled(date, minDate, maxDate),\n [minDate, maxDate]\n )\n\n const onKeyDownHandler = useCallback(\n (event: React.KeyboardEvent<HTMLTableElement>) => {\n const pressedKey = event.code\n\n // call onKeyDown prop if given\n if (typeof onKeyDown === 'function') {\n return onKeyDown(event, listRef, nr)\n }\n\n // only continue of key is one of these\n if (!keysToHandle.includes(pressedKey)) {\n return\n }\n event.preventDefault()\n event.persist() // since we use the event after setState\n\n const currentDates = { startDate, endDate, startMonth, endMonth }\n const dateType = !isRange || nr === 0 ? 'start' : 'end'\n const currentDate = currentDates[`${dateType}Date`]\n\n let newDate = currentDate\n ? keyNavCalc(currentDate, pressedKey)\n : currentDates[`${dateType}Month`] ||\n (isRange && nr === 1 ? addMonths(new Date(), 1) : new Date())\n\n if (\n newDate === currentDate &&\n (pressedKey === 'Enter' || pressedKey === 'Space')\n ) {\n return callOnSelect({\n event,\n nr,\n hidePicker: true,\n })\n }\n\n const dates: {\n startDate?: Date\n endDate?: Date\n startMonth?: Date\n endMonth?: Date\n } = {}\n\n const currentMonth = currentDates[`${dateType}Month`]\n\n if (\n // in case we don't have a start/end date, then we use the current month date\n (currentMonth && !currentDate) ||\n // if we have a larger gap between the new date and the current month in the calendar\n (currentMonth &&\n Math.abs(differenceInMonths(newDate, currentMonth)) > 1)\n ) {\n newDate = !isRange\n ? currentMonth\n : nr === 0\n ? setDate(currentMonth, 1)\n : lastDayOfMonth(currentMonth)\n\n // only to make sure we navigate the calendar to the new date\n } else if (currentMonth && !isSameMonth(currentDate, currentMonth)) {\n dates[`${dateType}Month`] = newDate\n }\n\n newDate = findValid(newDate, pressedKey)\n\n if (hasReachedEnd(newDate)) {\n return // Stop here\n }\n\n dates[`${dateType}Date`] = newDate\n\n // set fallbacks\n if (!isRange) {\n dates.endDate = newDate\n } else {\n if (!startDate) {\n dates.startDate = newDate\n }\n if (!endDate) {\n dates.endDate = newDate\n }\n }\n\n // make sure we stay on the same month\n if (onlyMonth || hideNav) {\n if (\n !isSameMonth(dates.startDate, startDate) ||\n !isSameMonth(dates.endDate, startDate) // Heads up, should this not be context.endDate?\n ) {\n return\n }\n }\n\n updateDates(dates, () => {\n // call after state update, so the input get's the latest state as well\n callOnSelect({\n event,\n nr,\n hidePicker: false,\n ...dates,\n })\n })\n\n forceViewMonthChange()\n\n // and set the focus back again\n if (listRef && listRef.current) {\n listRef.current.focus({ preventScroll: true })\n }\n },\n [\n callOnSelect,\n findValid,\n hasReachedEnd,\n onKeyDown,\n startDate,\n endDate,\n updateDates,\n hideNav,\n isRange,\n keyNavCalc,\n nr,\n onlyMonth,\n endMonth,\n startMonth,\n forceViewMonthChange,\n ]\n )\n\n const cacheKey = useMemo(() => {\n return [\n nr,\n month,\n firstDayOfWeek,\n onlyMonth,\n hideNextMonthWeek,\n startDate,\n endDate,\n hoverDate,\n maxDate,\n minDate,\n ].join('|')\n }, [\n nr,\n month,\n firstDayOfWeek,\n onlyMonth,\n hideNextMonthWeek,\n startDate,\n endDate,\n hoverDate,\n maxDate,\n minDate,\n ])\n\n const weekDays = useMemo(() => {\n // Cache the result, just because we then avoid at least double calc because of reconciliation,\n // but we do not avoid calculating every day during hover or select\n\n if (cache.current[cacheKey]) {\n return cache.current[cacheKey]\n }\n\n let count = 0\n\n return (cache.current[cacheKey] = Object.values(\n getDays(month).reduce((acc, cur, i) => {\n // Normalize the data for table consumption\n acc[count] = acc[count] || []\n acc[count].push(cur)\n if (i % 7 === 6) {\n count++\n }\n return acc\n }, {})\n ))\n }, [cacheKey, getDays, month])\n\n const locale = useMemo(() => ({ ...locales[localeCode] }), [localeCode])\n\n return (\n <div\n className={classnames('dnb-date-picker__calendar', rtl && 'rtl')}\n lang={localeCode}\n >\n {!hideNav && (\n <div className=\"dnb-date-picker__header\">\n <div className=\"dnb-date-picker__header__nav\">\n <CalendarButton\n type=\"prev\"\n nr={nr}\n date={minDate}\n month={month}\n locale={locale}\n showButton={prevBtn}\n onClick={onPrev}\n />\n </div>\n <label\n id={`${id}--title`}\n className=\"dnb-date-picker__header__title dnb-no-focus\"\n title={selected_month.replace(\n /%s/,\n format(month, titleFormat, {\n locale,\n })\n )}\n tabIndex={-1}\n ref={labelRef}\n >\n {format(month, titleFormat, {\n locale,\n })}\n </label>\n <div className=\"dnb-date-picker__header__nav\">\n <CalendarButton\n type=\"next\"\n nr={nr}\n date={maxDate}\n month={month}\n locale={locale}\n showButton={nextBtn}\n onClick={onNext}\n />\n </div>\n </div>\n )}\n <table\n role=\"grid\"\n className=\"dnb-no-focus\"\n tabIndex={0}\n aria-labelledby={`${id}--title`}\n onKeyDown={onKeyDownHandler}\n onMouseLeave={onMouseLeaveHandler}\n ref={listRef}\n >\n {!hideDays && (\n <thead aria-hidden>\n <tr role=\"row\" className=\"dnb-date-picker__labels\">\n {getWeek(dayOffset(firstDayOfWeek)).map((day, i) => (\n <th\n key={i}\n role=\"columnheader\"\n scope=\"col\"\n className={classnames(\n 'dnb-date-picker__labels__day',\n `dnb-date-picker__labels__day--${format(day, 'i', {\n locale,\n })}`\n )}\n aria-label={format(day, 'EEEE', {\n locale,\n })}\n >\n {format(day, dayOfWeekFormat, {\n locale,\n })}\n </th>\n ))}\n </tr>\n </thead>\n )}\n <tbody>\n {weekDays.map((week, i) => {\n return (\n <tr\n key={'week' + i}\n role=\"row\"\n className=\"dnb-date-picker__days\"\n >\n {week.map((day: DayObject, i) => {\n const title = format(day.date, 'PPPP', {\n locale,\n })\n\n const handleAsDisabled =\n day.isLastMonth ||\n day.isNextMonth ||\n day.isDisabled ||\n day.isInactive\n\n const dateType = day.isStartDate\n ? 'start'\n : day.isEndDate\n ? 'end'\n : undefined\n const isSelectedDate =\n nr === 0 ? day.isStartDate : day.isEndDate\n\n // cell params\n const paramsCell = {\n tabIndex: -1,\n ...(dateType && { id: `${id}--button-${dateType}` }),\n ...(isSelectedDate && { ['aria-selected']: true }),\n } as React.HTMLProps<HTMLTableCellElement>\n\n // cell + button params\n const paramsButton = {\n ...(isSelectedDate && { ['aria-current']: 'date' }),\n } as ButtonProps\n\n return (\n <td\n key={'day' + i}\n role=\"gridcell\"\n className={classnames(\n 'dnb-date-picker__day',\n 'dnb-no-focus',\n buildDayClassNames(day)\n )}\n {...paramsCell}\n >\n <Button\n size=\"medium\"\n variant=\"secondary\"\n text={format(day.date, 'd', {\n locale,\n })}\n bounding={true}\n disabled={handleAsDisabled}\n tabIndex={handleAsDisabled ? 0 : -1} // fix for NVDA\n aria-disabled={handleAsDisabled}\n aria-label={title}\n {...paramsButton}\n on_click={\n handleAsDisabled\n ? undefined\n : ({ event }) =>\n onSelectRange({\n day,\n isRange,\n startDate,\n endDate,\n resetDate,\n event,\n onSelect: (state) => {\n updateDates(state, (dates) =>\n callOnSelect({\n ...dates,\n event,\n nr,\n hidePicker: !isRange,\n })\n )\n },\n })\n }\n onMouseOver={\n handleAsDisabled\n ? undefined\n : () => onHoverDay({ day, hoverDate, onHover })\n }\n onFocus={\n handleAsDisabled\n ? undefined\n : () => onHoverDay({ day, hoverDate, onHover })\n }\n />\n </td>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n </div>\n )\n}\n\nexport default DatePickerCalendar\n\nexport type CalendarButtonProps = {\n type: 'prev' | 'next'\n nr: number\n date: Date\n month: Date\n locale: CalendarLocales[keyof CalendarLocales]\n showButton: boolean\n onClick: ({\n nr,\n type,\n }: {\n nr: number\n type: CalendarButtonProps['type']\n }) => void\n onKeyDown?: (event: React.KeyboardEvent<HTMLButtonElement>) => void\n}\n\nfunction CalendarButton({\n type,\n nr,\n date,\n month,\n locale,\n showButton,\n onClick,\n onKeyDown,\n}: CalendarButtonProps) {\n const tr = useTranslation().DatePicker\n\n if (!showButton) {\n return <></>\n }\n const disabled = date && isSameMonth(month, date)\n\n const title = tr[`${type}_month`].replace(\n /%s/,\n format(subMonths(month, 1), 'MMMM yyyy', {\n locale,\n })\n )\n\n const icon = type === 'prev' ? 'chevron_left' : 'chevron_right'\n\n return (\n <Button\n className={classnames(`dnb-date-picker__${type}`, { disabled })}\n icon={icon}\n size=\"small\"\n aria-label={title}\n onClick={() => onClick && !disabled && onClick({ nr, type })}\n onKeyDown={onKeyDown}\n />\n )\n}\n\ntype SelectRangeEvent = {\n day: DayObject\n event?: React.MouseEvent<HTMLButtonElement>\n startDate?: Date\n endDate?: Date\n resetDate?: boolean\n isRange?: boolean\n onSelect?: DatePickerCalendarProps['onSelect']\n}\n\nfunction onSelectRange({\n day,\n isRange,\n startDate,\n endDate,\n onSelect,\n resetDate,\n event,\n}: SelectRangeEvent) {\n event.persist()\n\n if (!isRange) {\n // set only date\n return onSelect({\n startDate: startOfDay(day.date),\n endDate: startOfDay(day.date),\n event,\n })\n\n // for setting date new on every selection, do this here\n }\n\n if (!startDate || (resetDate && startDate && endDate)) {\n // set startDate\n // user is selecting startDate\n return onSelect({\n startDate: startOfDay(day.date),\n endDate: undefined,\n event,\n })\n }\n\n // set either startDate or endDate\n const daysToStartDate = Math.abs(\n differenceInCalendarDays(startDate, day.date)\n )\n const daysToEndDate = Math.abs(\n differenceInCalendarDays(endDate, day.date)\n )\n\n const range = toRange(\n endDate && !resetDate && daysToStartDate < daysToEndDate\n ? endDate\n : startDate,\n day.date\n )\n\n return onSelect({\n startDate: startOfDay(range.startDate),\n endDate: startOfDay(range.endDate),\n event,\n })\n}\n\nfunction onHoverDay({\n day,\n hoverDate,\n onHover,\n}: {\n day: CalendarDay\n hoverDate?: Date\n onHover: DatePickerCalendarProps['onHover']\n}) {\n if (!isSameDay(day.date, hoverDate) && onHover) {\n onHover(day.date)\n }\n}\n\nfunction buildDayClassNames(day: DayObject) {\n return classnames(\n {\n 'dnb-date-picker__day--start-date': day.isStartDate,\n 'dnb-date-picker__day--end-date': day.isEndDate,\n 'dnb-date-picker__day--preview': day.isPreview,\n 'dnb-date-picker__day--within-selection': day.isWithinSelection,\n 'dnb-date-picker__day--selectable': day.isSelectable,\n 'dnb-date-picker__day--inactive': day.isInactive,\n 'dnb-date-picker__day--disabled': day.isDisabled,\n 'dnb-date-picker__day--today': day.isToday,\n },\n day.className\n )\n}\n"],"mappings":"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"}
@@ -1,3 +1,27 @@
1
- export default DatePickerContext;
2
- declare const DatePickerContext: React.Context<{}>;
1
+ /**
2
+ * Web DatePicker Context
3
+ *
4
+ */
3
5
  import React from 'react';
6
+ import { DatePickerProps, DisplayPickerEvent } from './DatePicker';
7
+ import { ContextProps } from '../../shared/Context';
8
+ import { DatePickerChangeEvent, DatePickerProviderState, GetReturnObjectParams, ReturnObject } from './DatePickerProvider';
9
+ import { DatePickerDateProps, DatePickerDates } from './hooks/useDates';
10
+ import { CalendarView } from './hooks/useViews';
11
+ export type DateType = Date | string;
12
+ export type DatePickerContextValues = ContextProps & DatePickerDates & {
13
+ props: DatePickerProps;
14
+ translation: ContextProps['translation'];
15
+ views: Array<CalendarView>;
16
+ hasHadValidDate: boolean;
17
+ previousDates: DatePickerDateProps;
18
+ updateDates: (dates: DatePickerDates, callback?: (dates: DatePickerDates) => void) => void;
19
+ setState?: (state: DatePickerProviderState) => void;
20
+ setViews: (views: Array<CalendarView>, callback?: () => void) => void;
21
+ forceViewMonthChange: () => void;
22
+ callOnChangeHandler: <E>(event: DatePickerChangeEvent<E>) => void;
23
+ hidePicker: (event: DisplayPickerEvent) => void;
24
+ getReturnObject: <E>(params: GetReturnObjectParams<E>) => ReturnObject<E>;
25
+ };
26
+ declare const DatePickerContext: React.Context<DatePickerContextValues>;
27
+ export default DatePickerContext;
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerContext.js","names":["_react","_interopRequireDefault","require","obj","__esModule","default","DatePickerContext","React","createContext","_default","exports"],"sources":["../../../../src/components/date-picker/DatePickerContext.js"],"sourcesContent":["/**\n * Web DatePicker Context\n *\n */\n\nimport React from 'react'\n\nconst DatePickerContext = React.createContext({})\n\nexport default DatePickerContext\n"],"mappings":";;;;;;AAKA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAyB,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEzB,MAAMG,iBAAiB,GAAGC,cAAK,CAACC,aAAa,CAAC,CAAC,CAAC,CAAC;AAAA,IAAAC,QAAA,GAElCH,iBAAiB;AAAAI,OAAA,CAAAL,OAAA,GAAAI,QAAA"}
1
+ {"version":3,"file":"DatePickerContext.js","names":["_react","_interopRequireDefault","require","obj","__esModule","default","DatePickerContext","React","createContext","_default","exports"],"sources":["../../../../src/components/date-picker/DatePickerContext.ts"],"sourcesContent":["/**\n * Web DatePicker Context\n *\n */\n\nimport React from 'react'\nimport { DatePickerProps, DisplayPickerEvent } from './DatePicker'\nimport { ContextProps } from '../../shared/Context'\nimport {\n DatePickerChangeEvent,\n DatePickerProviderState,\n GetReturnObjectParams,\n ReturnObject,\n} from './DatePickerProvider'\nimport { DatePickerDateProps, DatePickerDates } from './hooks/useDates'\nimport { CalendarView } from './hooks/useViews'\n\nexport type DateType = Date | string\n\nexport type DatePickerContextValues = ContextProps &\n DatePickerDates & {\n props: DatePickerProps\n translation: ContextProps['translation']\n views: Array<CalendarView>\n hasHadValidDate: boolean\n previousDates: DatePickerDateProps\n updateDates: (\n dates: DatePickerDates,\n callback?: (dates: DatePickerDates) => void\n ) => void\n setState?: (state: DatePickerProviderState) => void\n setViews: (views: Array<CalendarView>, callback?: () => void) => void\n forceViewMonthChange: () => void\n callOnChangeHandler: <E>(event: DatePickerChangeEvent<E>) => void\n hidePicker: (event: DisplayPickerEvent) => void\n getReturnObject: <E>(\n params: GetReturnObjectParams<E>\n ) => ReturnObject<E>\n }\n\nconst DatePickerContext = React.createContext<DatePickerContextValues>(\n {} as DatePickerContextValues\n)\n\nexport default DatePickerContext\n"],"mappings":";;;;;;AAKA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAyB,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAmCzB,MAAMG,iBAAiB,GAAGC,cAAK,CAACC,aAAa,CAC3C,CAAC,CACH,CAAC;AAAA,IAAAC,QAAA,GAEcH,iBAAiB;AAAAI,OAAA,CAAAL,OAAA,GAAAI,QAAA"}
@@ -1,18 +1,20 @@
1
- import * as React from 'react';
2
- export interface DatePickerFooterProps
3
- extends React.HTMLProps<HTMLElement> {
4
- isRange: boolean;
5
- onSubmit?: (...args: any[]) => any;
6
- onCancel?: (...args: any[]) => any;
7
- onReset?: (...args: any[]) => any;
8
- submitButtonText?: string;
9
- cancelButtonText?: string;
10
- resetButtonText?: string;
11
- }
12
- export default class DatePickerFooter extends React.Component<
13
- DatePickerFooterProps,
14
- any
15
- > {
16
- static defaultProps: object;
17
- render(): JSX.Element;
18
- }
1
+ /**
2
+ * Web DatePicker Component
3
+ *
4
+ */
5
+ import React from 'react';
6
+ import { DatePickerInputDates } from './hooks/useDates';
7
+ type DatePickerFooterEvent = React.MouseEvent<HTMLButtonElement> & DatePickerInputDates & {
8
+ event: React.MouseEvent<HTMLButtonElement>;
9
+ };
10
+ export type DatePickerFooterProps = Omit<React.HTMLProps<HTMLElement>, 'onSubmit' | 'onCancel' | 'onReset'> & {
11
+ isRange: boolean;
12
+ onSubmit?: (event: DatePickerFooterEvent) => void;
13
+ onCancel?: (event: DatePickerFooterEvent) => void;
14
+ onReset?: (event: DatePickerFooterEvent) => void;
15
+ submitButtonText?: string;
16
+ cancelButtonText?: string;
17
+ resetButtonText?: string;
18
+ };
19
+ declare function DatePickerFooter({ isRange, submitButtonText, cancelButtonText, resetButtonText, onSubmit, onCancel, onReset, }: DatePickerFooterProps): import("react/jsx-runtime").JSX.Element;
20
+ export default DatePickerFooter;
@@ -1,136 +1,111 @@
1
1
  "use strict";
2
+ "use client";
2
3
 
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.default = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
  var _Button = _interopRequireDefault(require("../button/Button"));
10
10
  var _DatePickerContext = _interopRequireDefault(require("./DatePickerContext"));
11
- var _componentHelper = require("../../shared/component-helper");
12
11
  var _DatePickerCalc = require("./DatePickerCalc");
12
+ var _shared = require("../../shared");
13
13
  var _span, _span2, _span3;
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
18
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
15
19
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
16
20
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
17
21
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
18
- class DatePickerFooter extends _react.default.PureComponent {
19
- constructor() {
20
- super(...arguments);
21
- _defineProperty(this, "onSubmitHandler", args => {
22
- const {
23
- onSubmit
24
- } = this.props;
25
- if (onSubmit) {
26
- onSubmit(args);
27
- }
28
- });
29
- _defineProperty(this, "onCancelHandler", args => {
30
- const {
31
- date_format
32
- } = this.context.props;
33
- const startDate = this.context._startDate ? (0, _DatePickerCalc.convertStringToDate)(this.context._startDate, {
34
- date_format
35
- }) : null;
36
- const endDate = this.context._endDate ? (0, _DatePickerCalc.convertStringToDate)(this.context._endDate, {
37
- date_format
38
- }) : startDate;
39
- if (args && args.event) {
40
- args.event.persist();
41
- }
42
- this.context.updateState({
43
- startDate,
44
- endDate
45
- }, () => {
46
- const {
47
- onCancel
48
- } = this.props;
49
- if (onCancel) {
50
- onCancel(args);
51
- }
52
- });
53
- });
54
- _defineProperty(this, "onResetHandler", args => {
55
- if (args && args.event) {
56
- args.event.persist();
57
- }
58
- this.context.updateState({
59
- date: undefined,
60
- startDate: undefined,
61
- endDate: undefined
62
- }, () => {
63
- const {
64
- onReset
65
- } = this.props;
66
- if (onReset) {
67
- onReset(args);
68
- }
69
- });
22
+ function DatePickerFooter(_ref) {
23
+ let {
24
+ isRange,
25
+ submitButtonText,
26
+ cancelButtonText,
27
+ resetButtonText,
28
+ onSubmit,
29
+ onCancel,
30
+ onReset
31
+ } = _ref;
32
+ const {
33
+ updateDates,
34
+ previousDates,
35
+ props: contextProps
36
+ } = (0, _react.useContext)(_DatePickerContext.default);
37
+ const {
38
+ show_reset_button,
39
+ show_cancel_button,
40
+ show_submit_button,
41
+ date_format
42
+ } = contextProps;
43
+ const {
44
+ submit_button_text: submit_button_text_translation,
45
+ cancel_button_text: cancel_button_text_translation,
46
+ reset_button_text: reset_button_text_translation
47
+ } = (0, _shared.useTranslation)().DatePicker;
48
+ const onSubmitHandler = (0, _react.useCallback)(args => {
49
+ onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(args);
50
+ }, [onSubmit]);
51
+ const onCancelHandler = (0, _react.useCallback)(args => {
52
+ if (args && args.event) {
53
+ args.event.persist();
54
+ }
55
+ const startDate = previousDates.startDate ? (0, _DatePickerCalc.convertStringToDate)(previousDates.startDate, {
56
+ date_format
57
+ }) : previousDates.date ? (0, _DatePickerCalc.convertStringToDate)(previousDates.date, {
58
+ date_format
59
+ }) : null;
60
+ const endDate = previousDates.endDate ? (0, _DatePickerCalc.convertStringToDate)(previousDates.endDate, {
61
+ date_format
62
+ }) : startDate;
63
+ updateDates({
64
+ startDate,
65
+ endDate
66
+ }, dates => {
67
+ onCancel === null || onCancel === void 0 ? void 0 : onCancel(_objectSpread(_objectSpread({}, args), dates));
70
68
  });
71
- }
72
- render() {
73
- const {
74
- isRange,
75
- resetButtonText,
76
- submitButtonText,
77
- cancelButtonText
78
- } = this.props;
79
- const {
80
- show_reset_button,
81
- show_cancel_button,
82
- show_submit_button
83
- } = this.context.props;
84
- if (!isRange && !(0, _componentHelper.isTrue)(show_submit_button) && !(0, _componentHelper.isTrue)(show_cancel_button) && !(0, _componentHelper.isTrue)(show_reset_button)) {
85
- return _react.default.createElement(_react.default.Fragment, null);
69
+ }, [date_format, updateDates, previousDates, onCancel]);
70
+ const onResetHandler = (0, _react.useCallback)(args => {
71
+ if (args && args.event) {
72
+ args.event.persist();
86
73
  }
87
- const {
88
- submit_button_text: submit_button_text_translation,
89
- cancel_button_text: cancel_button_text_translation,
90
- reset_button_text: reset_button_text_translation
91
- } = this.context.translation.DatePicker;
92
- return _react.default.createElement("div", {
93
- className: "dnb-date-picker__footer"
94
- }, (isRange || (0, _componentHelper.isTrue)(show_submit_button)) && _react.default.createElement(_Button.default, {
95
- text: submitButtonText || submit_button_text_translation,
96
- onClick: this.onSubmitHandler,
97
- "data-testid": "submit"
98
- }) || _span || (_span = _react.default.createElement("span", null)), _react.default.createElement("span", null, (0, _componentHelper.isTrue)(show_reset_button) && _react.default.createElement(_Button.default, {
99
- text: resetButtonText || reset_button_text_translation,
100
- icon: "reset",
101
- icon_position: "left",
102
- variant: "tertiary",
103
- onClick: this.onResetHandler,
104
- "data-testid": "reset",
105
- right: "0.5rem"
106
- }) || _span2 || (_span2 = _react.default.createElement("span", null)), (isRange || (0, _componentHelper.isTrue)(show_cancel_button)) && _react.default.createElement(_Button.default, {
107
- text: cancelButtonText || cancel_button_text_translation,
108
- icon: "close",
109
- icon_position: "left",
110
- variant: "tertiary",
111
- onClick: this.onCancelHandler,
112
- "data-testid": "cancel",
113
- right: "0.5rem"
114
- }) || _span3 || (_span3 = _react.default.createElement("span", null))));
74
+ updateDates({
75
+ date: undefined,
76
+ startDate: undefined,
77
+ endDate: undefined
78
+ }, dates => {
79
+ onReset === null || onReset === void 0 ? void 0 : onReset(_objectSpread(_objectSpread({}, args), dates));
80
+ });
81
+ }, [updateDates, onReset]);
82
+ if (!isRange && !show_submit_button && !show_cancel_button && !show_reset_button) {
83
+ return _react.default.createElement(_react.default.Fragment, null);
115
84
  }
85
+ return _react.default.createElement("div", {
86
+ className: "dnb-date-picker__footer"
87
+ }, (isRange || show_submit_button) && _react.default.createElement(_Button.default, {
88
+ text: submitButtonText || submit_button_text_translation,
89
+ onClick: onSubmitHandler,
90
+ "data-testid": "submit"
91
+ }) || _span || (_span = _react.default.createElement("span", null)), _react.default.createElement("span", null, show_reset_button && _react.default.createElement(_Button.default, {
92
+ text: resetButtonText || reset_button_text_translation,
93
+ icon: "reset",
94
+ icon_position: "left",
95
+ variant: "tertiary",
96
+ onClick: onResetHandler,
97
+ "data-testid": "reset",
98
+ right: "0.5rem"
99
+ }) || _span2 || (_span2 = _react.default.createElement("span", null)), (isRange || show_cancel_button) && _react.default.createElement(_Button.default, {
100
+ text: cancelButtonText || cancel_button_text_translation,
101
+ icon: "close",
102
+ icon_position: "left",
103
+ variant: "tertiary",
104
+ onClick: onCancelHandler,
105
+ "data-testid": "cancel",
106
+ right: "0.5rem"
107
+ }) || _span3 || (_span3 = _react.default.createElement("span", null))));
116
108
  }
117
- exports.default = DatePickerFooter;
118
- _defineProperty(DatePickerFooter, "contextType", _DatePickerContext.default);
119
- _defineProperty(DatePickerFooter, "defaultProps", {
120
- onSubmit: null,
121
- onCancel: null,
122
- onReset: null,
123
- submitButtonText: null,
124
- cancelButtonText: null,
125
- resetButtonText: null
126
- });
127
- process.env.NODE_ENV !== "production" ? DatePickerFooter.propTypes = {
128
- isRange: _propTypes.default.bool.isRequired,
129
- onSubmit: _propTypes.default.func,
130
- onCancel: _propTypes.default.func,
131
- onReset: _propTypes.default.func,
132
- submitButtonText: _propTypes.default.string,
133
- cancelButtonText: _propTypes.default.string,
134
- resetButtonText: _propTypes.default.string
135
- } : void 0;
109
+ var _default = DatePickerFooter;
110
+ exports.default = _default;
136
111
  //# sourceMappingURL=DatePickerFooter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerFooter.js","names":["_react","_interopRequireDefault","require","_propTypes","_Button","_DatePickerContext","_componentHelper","_DatePickerCalc","_span","_span2","_span3","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","DatePickerFooter","React","PureComponent","constructor","arguments","args","onSubmit","props","date_format","context","startDate","_startDate","convertStringToDate","endDate","_endDate","event","persist","updateState","onCancel","date","onReset","render","isRange","resetButtonText","submitButtonText","cancelButtonText","show_reset_button","show_cancel_button","show_submit_button","isTrue","createElement","Fragment","submit_button_text","submit_button_text_translation","cancel_button_text","cancel_button_text_translation","reset_button_text","reset_button_text_translation","translation","DatePicker","className","text","onClick","onSubmitHandler","icon","icon_position","variant","onResetHandler","right","onCancelHandler","exports","DatePickerContext","process","env","NODE_ENV","propTypes","PropTypes","bool","isRequired","func","string"],"sources":["../../../../src/components/date-picker/DatePickerFooter.js"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport Button from '../button/Button'\nimport DatePickerContext from './DatePickerContext'\nimport { isTrue } from '../../shared/component-helper'\nimport { convertStringToDate } from './DatePickerCalc'\n\nexport default class DatePickerFooter extends React.PureComponent {\n static contextType = DatePickerContext\n\n static propTypes = {\n isRange: PropTypes.bool.isRequired,\n\n onSubmit: PropTypes.func,\n onCancel: PropTypes.func,\n onReset: PropTypes.func,\n\n submitButtonText: PropTypes.string,\n cancelButtonText: PropTypes.string,\n resetButtonText: PropTypes.string,\n }\n\n static defaultProps = {\n onSubmit: null,\n onCancel: null,\n onReset: null,\n submitButtonText: null,\n cancelButtonText: null,\n resetButtonText: null,\n }\n\n onSubmitHandler = (args) => {\n const { onSubmit } = this.props\n if (onSubmit) {\n onSubmit(args)\n }\n }\n\n onCancelHandler = (args) => {\n const { date_format } = this.context.props\n\n const startDate = this.context._startDate\n ? convertStringToDate(this.context._startDate, {\n date_format,\n })\n : null\n const endDate = this.context._endDate\n ? convertStringToDate(this.context._endDate, {\n date_format,\n })\n : startDate\n\n if (args && args.event) {\n args.event.persist()\n }\n\n this.context.updateState(\n {\n startDate,\n endDate,\n },\n () => {\n const { onCancel } = this.props\n if (onCancel) {\n onCancel(args)\n }\n }\n )\n }\n\n onResetHandler = (args) => {\n if (args && args.event) {\n args.event.persist()\n }\n\n this.context.updateState(\n {\n date: undefined,\n startDate: undefined,\n endDate: undefined,\n },\n () => {\n const { onReset } = this.props\n if (onReset) {\n onReset(args)\n }\n }\n )\n }\n\n render() {\n const {\n isRange,\n resetButtonText,\n submitButtonText,\n cancelButtonText,\n } = this.props\n\n const { show_reset_button, show_cancel_button, show_submit_button } =\n this.context.props\n\n if (\n !isRange &&\n !isTrue(show_submit_button) &&\n !isTrue(show_cancel_button) &&\n !isTrue(show_reset_button)\n ) {\n return <></>\n }\n\n const {\n submit_button_text: submit_button_text_translation,\n cancel_button_text: cancel_button_text_translation,\n reset_button_text: reset_button_text_translation,\n } = this.context.translation.DatePicker\n\n return (\n <div className=\"dnb-date-picker__footer\">\n {((isRange || isTrue(show_submit_button)) && (\n <Button\n text={submitButtonText || submit_button_text_translation}\n onClick={this.onSubmitHandler}\n data-testid=\"submit\"\n />\n )) || <span />}\n\n <span>\n {(isTrue(show_reset_button) && (\n <Button\n text={resetButtonText || reset_button_text_translation}\n icon=\"reset\"\n icon_position=\"left\"\n variant=\"tertiary\"\n onClick={this.onResetHandler}\n data-testid=\"reset\"\n right=\"0.5rem\"\n />\n )) || <span />}\n\n {((isRange || isTrue(show_cancel_button)) && (\n <Button\n text={cancelButtonText || cancel_button_text_translation}\n icon=\"close\"\n icon_position=\"left\"\n variant=\"tertiary\"\n onClick={this.onCancelHandler}\n data-testid=\"cancel\"\n right=\"0.5rem\"\n />\n )) || <span />}\n </span>\n </div>\n )\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerFooter.js","names":["_react","_interopRequireWildcard","require","_Button","_interopRequireDefault","_DatePickerContext","_DatePickerCalc","_shared","_span","_span2","_span3","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","DatePickerFooter","_ref","isRange","submitButtonText","cancelButtonText","resetButtonText","onSubmit","onCancel","onReset","updateDates","previousDates","props","contextProps","useContext","DatePickerContext","show_reset_button","show_cancel_button","show_submit_button","date_format","submit_button_text","submit_button_text_translation","cancel_button_text","cancel_button_text_translation","reset_button_text","reset_button_text_translation","useTranslation","DatePicker","onSubmitHandler","useCallback","args","onCancelHandler","event","persist","startDate","convertStringToDate","date","endDate","dates","onResetHandler","createElement","Fragment","className","text","onClick","icon","icon_position","variant","right","_default","exports"],"sources":["../../../../src/components/date-picker/DatePickerFooter.tsx"],"sourcesContent":["/**\n * Web DatePicker Component\n *\n */\n\nimport React, { useContext, useCallback } from 'react'\nimport Button from '../button/Button'\nimport DatePickerContext from './DatePickerContext'\nimport { convertStringToDate } from './DatePickerCalc'\nimport { useTranslation } from '../../shared'\nimport { DatePickerInputDates } from './hooks/useDates'\n\ntype DatePickerFooterEvent = React.MouseEvent<HTMLButtonElement> &\n DatePickerInputDates & {\n event: React.MouseEvent<HTMLButtonElement>\n }\n\nexport type DatePickerFooterProps = Omit<\n React.HTMLProps<HTMLElement>,\n 'onSubmit' | 'onCancel' | 'onReset'\n> & {\n isRange: boolean\n onSubmit?: (event: DatePickerFooterEvent) => void\n onCancel?: (event: DatePickerFooterEvent) => void\n onReset?: (event: DatePickerFooterEvent) => void\n submitButtonText?: string\n cancelButtonText?: string\n resetButtonText?: string\n}\n\nfunction DatePickerFooter({\n isRange,\n submitButtonText,\n cancelButtonText,\n resetButtonText,\n onSubmit,\n onCancel,\n onReset,\n}: DatePickerFooterProps) {\n const {\n updateDates,\n previousDates,\n props: contextProps,\n } = useContext(DatePickerContext)\n\n const {\n show_reset_button,\n show_cancel_button,\n show_submit_button,\n date_format,\n } = contextProps\n\n const {\n submit_button_text: submit_button_text_translation,\n cancel_button_text: cancel_button_text_translation,\n reset_button_text: reset_button_text_translation,\n } = useTranslation().DatePicker\n\n const onSubmitHandler = useCallback(\n (args: DatePickerFooterEvent) => {\n onSubmit?.(args)\n },\n [onSubmit]\n )\n\n const onCancelHandler = useCallback(\n (args: DatePickerFooterEvent) => {\n if (args && args.event) {\n args.event.persist()\n }\n\n const startDate = previousDates.startDate\n ? convertStringToDate(previousDates.startDate, {\n date_format,\n })\n : previousDates.date\n ? convertStringToDate(previousDates.date, {\n date_format,\n })\n : null\n\n const endDate = previousDates.endDate\n ? convertStringToDate(previousDates.endDate, {\n date_format,\n })\n : startDate\n\n updateDates(\n {\n startDate,\n endDate,\n },\n (dates) => {\n onCancel?.({ ...args, ...dates })\n }\n )\n },\n [date_format, updateDates, previousDates, onCancel]\n )\n\n const onResetHandler = useCallback(\n (args: DatePickerFooterEvent) => {\n if (args && args.event) {\n args.event.persist()\n }\n\n updateDates(\n {\n date: undefined,\n startDate: undefined,\n endDate: undefined,\n },\n (dates) => {\n onReset?.({ ...args, ...dates })\n }\n )\n },\n [updateDates, onReset]\n )\n\n if (\n !isRange &&\n !show_submit_button &&\n !show_cancel_button &&\n !show_reset_button\n ) {\n return <></>\n }\n\n return (\n <div className=\"dnb-date-picker__footer\">\n {((isRange || show_submit_button) && (\n <Button\n text={submitButtonText || submit_button_text_translation}\n onClick={onSubmitHandler}\n data-testid=\"submit\"\n />\n )) || <span />}\n\n <span>\n {(show_reset_button && (\n <Button\n text={resetButtonText || reset_button_text_translation}\n icon=\"reset\"\n icon_position=\"left\"\n variant=\"tertiary\"\n onClick={onResetHandler}\n data-testid=\"reset\"\n right=\"0.5rem\"\n />\n )) || <span />}\n\n {((isRange || show_cancel_button) && (\n <Button\n text={cancelButtonText || cancel_button_text_translation}\n icon=\"close\"\n icon_position=\"left\"\n variant=\"tertiary\"\n onClick={onCancelHandler}\n data-testid=\"cancel\"\n right=\"0.5rem\"\n />\n )) || <span />}\n </span>\n </div>\n )\n}\n\nexport default DatePickerFooter\n"],"mappings":"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"}