@dnb/eufemia 10.73.2 → 10.74.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 (624) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/cjs/components/autocomplete/Autocomplete.js +7 -4
  3. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  4. package/cjs/components/autocomplete/AutocompleteDocs.d.ts +289 -3
  5. package/cjs/components/autocomplete/AutocompleteDocs.js +2 -2
  6. package/cjs/components/autocomplete/AutocompleteDocs.js.map +1 -1
  7. package/cjs/components/button/style/dnb-button.css +1 -0
  8. package/cjs/components/button/style/dnb-button.min.css +1 -1
  9. package/cjs/components/button/style/dnb-button.scss +1 -0
  10. package/cjs/components/checkbox/Checkbox.d.ts +9 -1
  11. package/cjs/components/checkbox/Checkbox.js +59 -34
  12. package/cjs/components/checkbox/Checkbox.js.map +1 -1
  13. package/cjs/components/checkbox/CheckboxDocs.js +6 -1
  14. package/cjs/components/checkbox/CheckboxDocs.js.map +1 -1
  15. package/cjs/components/date-picker/DatePicker.d.ts +4 -0
  16. package/cjs/components/date-picker/DatePicker.js +4 -3
  17. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  18. package/cjs/components/date-picker/DatePickerCalendar.d.ts +2 -16
  19. package/cjs/components/date-picker/DatePickerCalendar.js +27 -86
  20. package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
  21. package/cjs/components/date-picker/DatePickerCalendarNavigator.d.ts +37 -0
  22. package/cjs/components/date-picker/DatePickerCalendarNavigator.js +173 -0
  23. package/cjs/components/date-picker/DatePickerCalendarNavigator.js.map +1 -0
  24. package/cjs/components/date-picker/DatePickerContext.d.ts +3 -0
  25. package/cjs/components/date-picker/DatePickerContext.js.map +1 -1
  26. package/cjs/components/date-picker/DatePickerDocs.js +6 -1
  27. package/cjs/components/date-picker/DatePickerDocs.js.map +1 -1
  28. package/cjs/components/date-picker/DatePickerFooter.js +20 -17
  29. package/cjs/components/date-picker/DatePickerFooter.js.map +1 -1
  30. package/cjs/components/date-picker/DatePickerProvider.js +7 -0
  31. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  32. package/cjs/components/date-picker/DatePickerRange.js +2 -28
  33. package/cjs/components/date-picker/DatePickerRange.js.map +1 -1
  34. package/cjs/components/date-picker/hooks/useSubmittedDates.d.ts +7 -0
  35. package/cjs/components/date-picker/hooks/useSubmittedDates.js +19 -0
  36. package/cjs/components/date-picker/hooks/useSubmittedDates.js.map +1 -0
  37. package/cjs/components/date-picker/style/dnb-date-picker.css +1 -1
  38. package/cjs/components/date-picker/style/dnb-date-picker.min.css +1 -1
  39. package/cjs/components/date-picker/style/dnb-date-picker.scss +1 -1
  40. package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +17 -0
  41. package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
  42. package/cjs/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +19 -0
  43. package/cjs/components/drawer/Drawer.js +1 -0
  44. package/cjs/components/drawer/Drawer.js.map +1 -1
  45. package/cjs/components/dropdown/Dropdown.js +6 -4
  46. package/cjs/components/dropdown/Dropdown.js.map +1 -1
  47. package/cjs/components/dropdown/DropdownDocs.d.ts +179 -3
  48. package/cjs/components/dropdown/DropdownDocs.js.map +1 -1
  49. package/cjs/components/heading/HeadingHelpers.js +9 -5
  50. package/cjs/components/heading/HeadingHelpers.js.map +1 -1
  51. package/cjs/components/icon/Icon.d.ts +2 -2
  52. package/cjs/components/input-masked/InputMaskedDocs.js +1 -1
  53. package/cjs/components/input-masked/InputMaskedDocs.js.map +1 -1
  54. package/cjs/components/input-masked/InputMaskedHooks.d.ts +1 -0
  55. package/cjs/components/input-masked/InputMaskedHooks.js +38 -6
  56. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  57. package/cjs/components/input-masked/InputMaskedUtils.js +5 -4
  58. package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
  59. package/cjs/components/number-format/NumberUtils.js +6 -4
  60. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  61. package/cjs/components/switch/SwitchDocs.js +2 -2
  62. package/cjs/components/switch/SwitchDocs.js.map +1 -1
  63. package/cjs/extensions/forms/DataContext/Context.d.ts +1 -1
  64. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  65. package/cjs/extensions/forms/DataContext/Provider/Provider.js +9 -0
  66. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  67. package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +1 -0
  68. package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  69. package/cjs/extensions/forms/Field/Boolean/BooleanDocs.d.ts +1 -0
  70. package/cjs/extensions/forms/Field/Boolean/BooleanDocs.js +8 -1
  71. package/cjs/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -1
  72. package/cjs/extensions/forms/Field/Date/Date.d.ts +1 -1
  73. package/cjs/extensions/forms/Field/Date/Date.js +1 -1
  74. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  75. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  76. package/cjs/extensions/forms/Field/Number/NumberDocs.js +1 -1
  77. package/cjs/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  78. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +3 -3
  79. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +2 -2
  80. package/cjs/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  81. package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js +2 -2
  82. package/cjs/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js.map +1 -1
  83. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +2 -0
  84. package/cjs/extensions/forms/Field/Selection/Selection.js +10 -9
  85. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  86. package/cjs/extensions/forms/Field/Toggle/Toggle.d.ts +7 -0
  87. package/cjs/extensions/forms/Field/Toggle/Toggle.js +24 -8
  88. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  89. package/cjs/extensions/forms/Field/Toggle/ToggleDocs.d.ts +1 -0
  90. package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js +8 -1
  91. package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
  92. package/cjs/extensions/forms/Form/Isolation/IsolatedContainer.d.ts +4 -0
  93. package/cjs/extensions/forms/Form/Isolation/IsolatedContainer.js +64 -0
  94. package/cjs/extensions/forms/Form/Isolation/IsolatedContainer.js.map +1 -0
  95. package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +16 -0
  96. package/cjs/extensions/forms/Form/Isolation/Isolation.js +39 -14
  97. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  98. package/cjs/extensions/forms/Form/Isolation/IsolationCommitButton.js +1 -1
  99. package/cjs/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -1
  100. package/cjs/extensions/forms/Form/Isolation/IsolationContext.d.ts +12 -0
  101. package/cjs/extensions/forms/Form/Isolation/IsolationContext.js +11 -0
  102. package/cjs/extensions/forms/Form/Isolation/IsolationContext.js.map +1 -0
  103. package/cjs/extensions/forms/Form/Isolation/IsolationDataReference.d.ts +9 -0
  104. package/cjs/extensions/forms/Form/Isolation/IsolationDataReference.js +31 -0
  105. package/cjs/extensions/forms/Form/Isolation/IsolationDataReference.js.map +1 -0
  106. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js +15 -0
  107. package/cjs/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  108. package/cjs/extensions/forms/Form/Isolation/IsolationResetButton.d.ts +7 -0
  109. package/cjs/extensions/forms/Form/Isolation/IsolationResetButton.js +112 -0
  110. package/cjs/extensions/forms/Form/Isolation/IsolationResetButton.js.map +1 -0
  111. package/cjs/extensions/forms/Form/Isolation/useDataContextSnapshot.d.ts +7 -0
  112. package/cjs/extensions/forms/Form/Isolation/useDataContextSnapshot.js +58 -0
  113. package/cjs/extensions/forms/Form/Isolation/useDataContextSnapshot.js.map +1 -0
  114. package/cjs/extensions/forms/Form/Isolation/useHandleStatus.d.ts +9 -0
  115. package/cjs/extensions/forms/Form/Isolation/useHandleStatus.js +57 -0
  116. package/cjs/extensions/forms/Form/Isolation/useHandleStatus.js.map +1 -0
  117. package/cjs/extensions/forms/{Iterate/EditContainer → Form/Isolation}/useHasContentChanged.js +11 -9
  118. package/cjs/extensions/forms/Form/Isolation/useHasContentChanged.js.map +1 -0
  119. package/cjs/extensions/forms/Form/Snapshot/Snapshot.d.ts +2 -1
  120. package/cjs/extensions/forms/Form/Snapshot/Snapshot.js.map +1 -1
  121. package/cjs/extensions/forms/Iterate/EditContainer/ResetButton.js +1 -1
  122. package/cjs/extensions/forms/Iterate/EditContainer/ResetButton.js.map +1 -1
  123. package/cjs/extensions/forms/Iterate/EditContainer/index.d.ts +1 -1
  124. package/cjs/extensions/forms/Iterate/EditContainer/index.js +1 -1
  125. package/cjs/extensions/forms/Iterate/EditContainer/index.js.map +1 -1
  126. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +7 -0
  127. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js +15 -56
  128. package/cjs/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  129. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +2 -2
  130. package/cjs/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  131. package/cjs/extensions/forms/constants/locales/en-GB.d.ts +1 -1
  132. package/cjs/extensions/forms/constants/locales/en-GB.js +3 -3
  133. package/cjs/extensions/forms/constants/locales/en-GB.js.map +1 -1
  134. package/cjs/extensions/forms/constants/locales/en-US.d.ts +1 -1
  135. package/cjs/extensions/forms/constants/locales/index.d.ts +2 -2
  136. package/cjs/extensions/forms/constants/locales/nb-NO.d.ts +1 -1
  137. package/cjs/extensions/forms/constants/locales/nb-NO.js +3 -3
  138. package/cjs/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  139. package/cjs/extensions/forms/constants/locales/sv-SE.d.ts +1 -1
  140. package/cjs/extensions/forms/constants/locales/sv-SE.js +3 -3
  141. package/cjs/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  142. package/cjs/extensions/forms/hooks/useDataContext.js +5 -3
  143. package/cjs/extensions/forms/hooks/useDataContext.js.map +1 -1
  144. package/cjs/extensions/forms/hooks/useSnapshot.js +17 -14
  145. package/cjs/extensions/forms/hooks/useSnapshot.js.map +1 -1
  146. package/cjs/fragments/drawer-list/DrawerList.d.ts +176 -224
  147. package/cjs/fragments/drawer-list/DrawerList.js +70 -175
  148. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  149. package/cjs/fragments/drawer-list/DrawerListContext.d.ts +27 -2
  150. package/cjs/fragments/drawer-list/DrawerListContext.js.map +1 -1
  151. package/cjs/fragments/drawer-list/DrawerListDocs.d.ts +211 -4
  152. package/cjs/fragments/drawer-list/DrawerListDocs.js +2 -2
  153. package/cjs/fragments/drawer-list/DrawerListDocs.js.map +1 -1
  154. package/cjs/fragments/drawer-list/DrawerListHelpers.d.ts +85 -89
  155. package/cjs/fragments/drawer-list/DrawerListHelpers.js +52 -58
  156. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  157. package/cjs/fragments/drawer-list/DrawerListItem.d.ts +30 -0
  158. package/cjs/fragments/drawer-list/DrawerListItem.js +106 -0
  159. package/cjs/fragments/drawer-list/DrawerListItem.js.map +1 -0
  160. package/cjs/fragments/drawer-list/DrawerListPortal.d.ts +20 -30
  161. package/cjs/fragments/drawer-list/DrawerListPortal.js +93 -125
  162. package/cjs/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  163. package/cjs/fragments/drawer-list/DrawerListProvider.d.ts +217 -11
  164. package/cjs/fragments/drawer-list/DrawerListProvider.js +11 -18
  165. package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  166. package/cjs/shared/Eufemia.d.ts +1 -1
  167. package/cjs/shared/Eufemia.js +2 -2
  168. package/cjs/shared/Eufemia.js.map +1 -1
  169. package/cjs/shared/component-helper.d.ts +45 -48
  170. package/cjs/shared/component-helper.js +72 -201
  171. package/cjs/shared/component-helper.js.map +1 -1
  172. package/cjs/shared/helpers/withCamelCaseProps.d.ts +4 -5
  173. package/cjs/shared/helpers/withCamelCaseProps.js +7 -2
  174. package/cjs/shared/helpers/withCamelCaseProps.js.map +1 -1
  175. package/cjs/shared/legacy/component-helper-legacy.d.ts +19 -0
  176. package/cjs/shared/legacy/component-helper-legacy.js +202 -0
  177. package/cjs/shared/legacy/component-helper-legacy.js.map +1 -0
  178. package/cjs/shared/locales/en-GB.d.ts +1 -0
  179. package/cjs/shared/locales/en-GB.js +1 -0
  180. package/cjs/shared/locales/en-GB.js.map +1 -1
  181. package/cjs/shared/locales/en-US.js.map +1 -1
  182. package/cjs/shared/locales/index.d.ts +2 -0
  183. package/cjs/shared/locales/nb-NO.d.ts +1 -0
  184. package/cjs/shared/locales/nb-NO.js +2 -1
  185. package/cjs/shared/locales/nb-NO.js.map +1 -1
  186. package/cjs/shared/locales/sv-SE.d.ts +1 -0
  187. package/cjs/shared/locales/sv-SE.js +1 -0
  188. package/cjs/shared/locales/sv-SE.js.map +1 -1
  189. package/cjs/style/core/scopes.scss +1 -1
  190. package/cjs/style/dnb-ui-basis.css +1 -1
  191. package/cjs/style/dnb-ui-basis.min.css +1 -1
  192. package/cjs/style/dnb-ui-body.css +1 -1
  193. package/cjs/style/dnb-ui-body.min.css +1 -1
  194. package/cjs/style/dnb-ui-components.css +2 -1
  195. package/cjs/style/dnb-ui-components.min.css +1 -1
  196. package/cjs/style/dnb-ui-core.css +1 -1
  197. package/cjs/style/dnb-ui-core.min.css +1 -1
  198. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +19 -1
  199. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  200. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +19 -1
  201. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  202. package/cjs/style/themes/theme-ui/ui-theme-components.css +19 -1
  203. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  204. package/components/autocomplete/Autocomplete.js +6 -3
  205. package/components/autocomplete/Autocomplete.js.map +1 -1
  206. package/components/autocomplete/AutocompleteDocs.d.ts +289 -3
  207. package/components/autocomplete/AutocompleteDocs.js +1 -1
  208. package/components/autocomplete/AutocompleteDocs.js.map +1 -1
  209. package/components/button/style/dnb-button.css +1 -0
  210. package/components/button/style/dnb-button.min.css +1 -1
  211. package/components/button/style/dnb-button.scss +1 -0
  212. package/components/checkbox/Checkbox.d.ts +9 -1
  213. package/components/checkbox/Checkbox.js +60 -35
  214. package/components/checkbox/Checkbox.js.map +1 -1
  215. package/components/checkbox/CheckboxDocs.js +6 -1
  216. package/components/checkbox/CheckboxDocs.js.map +1 -1
  217. package/components/date-picker/DatePicker.d.ts +4 -0
  218. package/components/date-picker/DatePicker.js +4 -3
  219. package/components/date-picker/DatePicker.js.map +1 -1
  220. package/components/date-picker/DatePickerCalendar.d.ts +2 -16
  221. package/components/date-picker/DatePickerCalendar.js +27 -86
  222. package/components/date-picker/DatePickerCalendar.js.map +1 -1
  223. package/components/date-picker/DatePickerCalendarNavigator.d.ts +37 -0
  224. package/components/date-picker/DatePickerCalendarNavigator.js +162 -0
  225. package/components/date-picker/DatePickerCalendarNavigator.js.map +1 -0
  226. package/components/date-picker/DatePickerContext.d.ts +3 -0
  227. package/components/date-picker/DatePickerContext.js.map +1 -1
  228. package/components/date-picker/DatePickerDocs.js +6 -1
  229. package/components/date-picker/DatePickerDocs.js.map +1 -1
  230. package/components/date-picker/DatePickerFooter.js +20 -17
  231. package/components/date-picker/DatePickerFooter.js.map +1 -1
  232. package/components/date-picker/DatePickerProvider.js +7 -0
  233. package/components/date-picker/DatePickerProvider.js.map +1 -1
  234. package/components/date-picker/DatePickerRange.js +2 -28
  235. package/components/date-picker/DatePickerRange.js.map +1 -1
  236. package/components/date-picker/hooks/useSubmittedDates.d.ts +7 -0
  237. package/components/date-picker/hooks/useSubmittedDates.js +14 -0
  238. package/components/date-picker/hooks/useSubmittedDates.js.map +1 -0
  239. package/components/date-picker/style/dnb-date-picker.css +1 -1
  240. package/components/date-picker/style/dnb-date-picker.min.css +1 -1
  241. package/components/date-picker/style/dnb-date-picker.scss +1 -1
  242. package/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +17 -0
  243. package/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
  244. package/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +19 -0
  245. package/components/drawer/Drawer.js +1 -0
  246. package/components/drawer/Drawer.js.map +1 -1
  247. package/components/dropdown/Dropdown.js +6 -4
  248. package/components/dropdown/Dropdown.js.map +1 -1
  249. package/components/dropdown/DropdownDocs.d.ts +179 -3
  250. package/components/dropdown/DropdownDocs.js.map +1 -1
  251. package/components/heading/HeadingHelpers.js +9 -5
  252. package/components/heading/HeadingHelpers.js.map +1 -1
  253. package/components/icon/Icon.d.ts +2 -2
  254. package/components/input-masked/InputMaskedDocs.js +1 -1
  255. package/components/input-masked/InputMaskedDocs.js.map +1 -1
  256. package/components/input-masked/InputMaskedHooks.d.ts +1 -0
  257. package/components/input-masked/InputMaskedHooks.js +39 -7
  258. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  259. package/components/input-masked/InputMaskedUtils.js +6 -5
  260. package/components/input-masked/InputMaskedUtils.js.map +1 -1
  261. package/components/number-format/NumberUtils.js +5 -4
  262. package/components/number-format/NumberUtils.js.map +1 -1
  263. package/components/switch/SwitchDocs.js +2 -2
  264. package/components/switch/SwitchDocs.js.map +1 -1
  265. package/es/components/autocomplete/Autocomplete.js +6 -3
  266. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  267. package/es/components/autocomplete/AutocompleteDocs.d.ts +289 -3
  268. package/es/components/autocomplete/AutocompleteDocs.js +1 -1
  269. package/es/components/autocomplete/AutocompleteDocs.js.map +1 -1
  270. package/es/components/button/style/dnb-button.css +1 -0
  271. package/es/components/button/style/dnb-button.min.css +1 -1
  272. package/es/components/button/style/dnb-button.scss +1 -0
  273. package/es/components/checkbox/Checkbox.d.ts +9 -1
  274. package/es/components/checkbox/Checkbox.js +60 -35
  275. package/es/components/checkbox/Checkbox.js.map +1 -1
  276. package/es/components/checkbox/CheckboxDocs.js +6 -1
  277. package/es/components/checkbox/CheckboxDocs.js.map +1 -1
  278. package/es/components/date-picker/DatePicker.d.ts +4 -0
  279. package/es/components/date-picker/DatePicker.js +4 -3
  280. package/es/components/date-picker/DatePicker.js.map +1 -1
  281. package/es/components/date-picker/DatePickerCalendar.d.ts +2 -16
  282. package/es/components/date-picker/DatePickerCalendar.js +23 -80
  283. package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
  284. package/es/components/date-picker/DatePickerCalendarNavigator.d.ts +37 -0
  285. package/es/components/date-picker/DatePickerCalendarNavigator.js +158 -0
  286. package/es/components/date-picker/DatePickerCalendarNavigator.js.map +1 -0
  287. package/es/components/date-picker/DatePickerContext.d.ts +3 -0
  288. package/es/components/date-picker/DatePickerContext.js.map +1 -1
  289. package/es/components/date-picker/DatePickerDocs.js +6 -1
  290. package/es/components/date-picker/DatePickerDocs.js.map +1 -1
  291. package/es/components/date-picker/DatePickerFooter.js +20 -17
  292. package/es/components/date-picker/DatePickerFooter.js.map +1 -1
  293. package/es/components/date-picker/DatePickerProvider.js +7 -0
  294. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  295. package/es/components/date-picker/DatePickerRange.js +2 -27
  296. package/es/components/date-picker/DatePickerRange.js.map +1 -1
  297. package/es/components/date-picker/hooks/useSubmittedDates.d.ts +7 -0
  298. package/es/components/date-picker/hooks/useSubmittedDates.js +14 -0
  299. package/es/components/date-picker/hooks/useSubmittedDates.js.map +1 -0
  300. package/es/components/date-picker/style/dnb-date-picker.css +1 -1
  301. package/es/components/date-picker/style/dnb-date-picker.min.css +1 -1
  302. package/es/components/date-picker/style/dnb-date-picker.scss +1 -1
  303. package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.css +17 -0
  304. package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.min.css +1 -1
  305. package/es/components/date-picker/style/themes/dnb-date-picker-theme-ui.scss +19 -0
  306. package/es/components/drawer/Drawer.js +1 -0
  307. package/es/components/drawer/Drawer.js.map +1 -1
  308. package/es/components/dropdown/Dropdown.js +6 -4
  309. package/es/components/dropdown/Dropdown.js.map +1 -1
  310. package/es/components/dropdown/DropdownDocs.d.ts +179 -3
  311. package/es/components/dropdown/DropdownDocs.js.map +1 -1
  312. package/es/components/heading/HeadingHelpers.js +9 -5
  313. package/es/components/heading/HeadingHelpers.js.map +1 -1
  314. package/es/components/icon/Icon.d.ts +2 -2
  315. package/es/components/input-masked/InputMaskedDocs.js +1 -1
  316. package/es/components/input-masked/InputMaskedDocs.js.map +1 -1
  317. package/es/components/input-masked/InputMaskedHooks.d.ts +1 -0
  318. package/es/components/input-masked/InputMaskedHooks.js +39 -7
  319. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  320. package/es/components/input-masked/InputMaskedUtils.js +6 -5
  321. package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
  322. package/es/components/number-format/NumberUtils.js +5 -4
  323. package/es/components/number-format/NumberUtils.js.map +1 -1
  324. package/es/components/switch/SwitchDocs.js +2 -2
  325. package/es/components/switch/SwitchDocs.js.map +1 -1
  326. package/es/extensions/forms/DataContext/Context.d.ts +1 -1
  327. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  328. package/es/extensions/forms/DataContext/Provider/Provider.js +9 -0
  329. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  330. package/es/extensions/forms/Field/Boolean/Boolean.d.ts +1 -0
  331. package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  332. package/es/extensions/forms/Field/Boolean/BooleanDocs.d.ts +1 -0
  333. package/es/extensions/forms/Field/Boolean/BooleanDocs.js +7 -0
  334. package/es/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -1
  335. package/es/extensions/forms/Field/Date/Date.d.ts +1 -1
  336. package/es/extensions/forms/Field/Date/Date.js +1 -1
  337. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  338. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  339. package/es/extensions/forms/Field/Number/NumberDocs.js +1 -1
  340. package/es/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  341. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +3 -3
  342. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +3 -3
  343. package/es/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  344. package/es/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js +3 -3
  345. package/es/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js.map +1 -1
  346. package/es/extensions/forms/Field/Selection/Selection.d.ts +2 -0
  347. package/es/extensions/forms/Field/Selection/Selection.js +9 -8
  348. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  349. package/es/extensions/forms/Field/Toggle/Toggle.d.ts +7 -0
  350. package/es/extensions/forms/Field/Toggle/Toggle.js +24 -6
  351. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  352. package/es/extensions/forms/Field/Toggle/ToggleDocs.d.ts +1 -0
  353. package/es/extensions/forms/Field/Toggle/ToggleDocs.js +7 -0
  354. package/es/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
  355. package/es/extensions/forms/Form/Isolation/IsolatedContainer.d.ts +4 -0
  356. package/es/extensions/forms/Form/Isolation/IsolatedContainer.js +53 -0
  357. package/es/extensions/forms/Form/Isolation/IsolatedContainer.js.map +1 -0
  358. package/es/extensions/forms/Form/Isolation/Isolation.d.ts +16 -0
  359. package/es/extensions/forms/Form/Isolation/Isolation.js +40 -14
  360. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  361. package/es/extensions/forms/Form/Isolation/IsolationCommitButton.js +1 -1
  362. package/es/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -1
  363. package/es/extensions/forms/Form/Isolation/IsolationContext.d.ts +12 -0
  364. package/es/extensions/forms/Form/Isolation/IsolationContext.js +6 -0
  365. package/es/extensions/forms/Form/Isolation/IsolationContext.js.map +1 -0
  366. package/es/extensions/forms/Form/Isolation/IsolationDataReference.d.ts +9 -0
  367. package/es/extensions/forms/Form/Isolation/IsolationDataReference.js +25 -0
  368. package/es/extensions/forms/Form/Isolation/IsolationDataReference.js.map +1 -0
  369. package/es/extensions/forms/Form/Isolation/IsolationDocs.js +15 -0
  370. package/es/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  371. package/es/extensions/forms/Form/Isolation/IsolationResetButton.d.ts +7 -0
  372. package/es/extensions/forms/Form/Isolation/IsolationResetButton.js +99 -0
  373. package/es/extensions/forms/Form/Isolation/IsolationResetButton.js.map +1 -0
  374. package/es/extensions/forms/Form/Isolation/useDataContextSnapshot.d.ts +7 -0
  375. package/es/extensions/forms/Form/Isolation/useDataContextSnapshot.js +50 -0
  376. package/es/extensions/forms/Form/Isolation/useDataContextSnapshot.js.map +1 -0
  377. package/es/extensions/forms/Form/Isolation/useHandleStatus.d.ts +9 -0
  378. package/es/extensions/forms/Form/Isolation/useHandleStatus.js +48 -0
  379. package/es/extensions/forms/Form/Isolation/useHandleStatus.js.map +1 -0
  380. package/es/extensions/forms/{Iterate/EditContainer → Form/Isolation}/useHasContentChanged.js +12 -10
  381. package/es/extensions/forms/Form/Isolation/useHasContentChanged.js.map +1 -0
  382. package/es/extensions/forms/Form/Snapshot/Snapshot.d.ts +2 -1
  383. package/es/extensions/forms/Form/Snapshot/Snapshot.js.map +1 -1
  384. package/es/extensions/forms/Iterate/EditContainer/ResetButton.js +1 -1
  385. package/es/extensions/forms/Iterate/EditContainer/ResetButton.js.map +1 -1
  386. package/es/extensions/forms/Iterate/EditContainer/index.d.ts +1 -1
  387. package/es/extensions/forms/Iterate/EditContainer/index.js +1 -1
  388. package/es/extensions/forms/Iterate/EditContainer/index.js.map +1 -1
  389. package/es/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +7 -0
  390. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js +16 -55
  391. package/es/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  392. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +2 -2
  393. package/es/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  394. package/es/extensions/forms/constants/locales/en-GB.d.ts +1 -1
  395. package/es/extensions/forms/constants/locales/en-GB.js +3 -3
  396. package/es/extensions/forms/constants/locales/en-GB.js.map +1 -1
  397. package/es/extensions/forms/constants/locales/en-US.d.ts +1 -1
  398. package/es/extensions/forms/constants/locales/index.d.ts +2 -2
  399. package/es/extensions/forms/constants/locales/nb-NO.d.ts +1 -1
  400. package/es/extensions/forms/constants/locales/nb-NO.js +3 -3
  401. package/es/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  402. package/es/extensions/forms/constants/locales/sv-SE.d.ts +1 -1
  403. package/es/extensions/forms/constants/locales/sv-SE.js +3 -3
  404. package/es/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  405. package/es/extensions/forms/hooks/useDataContext.js +5 -3
  406. package/es/extensions/forms/hooks/useDataContext.js.map +1 -1
  407. package/es/extensions/forms/hooks/useSnapshot.js +18 -15
  408. package/es/extensions/forms/hooks/useSnapshot.js.map +1 -1
  409. package/es/fragments/drawer-list/DrawerList.d.ts +176 -224
  410. package/es/fragments/drawer-list/DrawerList.js +72 -173
  411. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  412. package/es/fragments/drawer-list/DrawerListContext.d.ts +27 -2
  413. package/es/fragments/drawer-list/DrawerListContext.js.map +1 -1
  414. package/es/fragments/drawer-list/DrawerListDocs.d.ts +211 -4
  415. package/es/fragments/drawer-list/DrawerListDocs.js +2 -2
  416. package/es/fragments/drawer-list/DrawerListDocs.js.map +1 -1
  417. package/es/fragments/drawer-list/DrawerListHelpers.d.ts +85 -89
  418. package/es/fragments/drawer-list/DrawerListHelpers.js +45 -54
  419. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  420. package/es/fragments/drawer-list/DrawerListItem.d.ts +30 -0
  421. package/es/fragments/drawer-list/DrawerListItem.js +90 -0
  422. package/es/fragments/drawer-list/DrawerListItem.js.map +1 -0
  423. package/es/fragments/drawer-list/DrawerListPortal.d.ts +20 -30
  424. package/es/fragments/drawer-list/DrawerListPortal.js +88 -120
  425. package/es/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  426. package/es/fragments/drawer-list/DrawerListProvider.d.ts +217 -11
  427. package/es/fragments/drawer-list/DrawerListProvider.js +33 -19
  428. package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  429. package/es/shared/Eufemia.d.ts +1 -1
  430. package/es/shared/Eufemia.js +2 -2
  431. package/es/shared/Eufemia.js.map +1 -1
  432. package/es/shared/component-helper.d.ts +45 -48
  433. package/es/shared/component-helper.js +20 -183
  434. package/es/shared/component-helper.js.map +1 -1
  435. package/es/shared/helpers/withCamelCaseProps.d.ts +4 -5
  436. package/es/shared/helpers/withCamelCaseProps.js +7 -2
  437. package/es/shared/helpers/withCamelCaseProps.js.map +1 -1
  438. package/es/shared/legacy/component-helper-legacy.d.ts +19 -0
  439. package/es/shared/legacy/component-helper-legacy.js +180 -0
  440. package/es/shared/legacy/component-helper-legacy.js.map +1 -0
  441. package/es/shared/locales/en-GB.d.ts +1 -0
  442. package/es/shared/locales/en-GB.js +1 -0
  443. package/es/shared/locales/en-GB.js.map +1 -1
  444. package/es/shared/locales/en-US.js.map +1 -1
  445. package/es/shared/locales/index.d.ts +2 -0
  446. package/es/shared/locales/nb-NO.d.ts +1 -0
  447. package/es/shared/locales/nb-NO.js +2 -1
  448. package/es/shared/locales/nb-NO.js.map +1 -1
  449. package/es/shared/locales/sv-SE.d.ts +1 -0
  450. package/es/shared/locales/sv-SE.js +1 -0
  451. package/es/shared/locales/sv-SE.js.map +1 -1
  452. package/es/style/core/scopes.scss +1 -1
  453. package/es/style/dnb-ui-basis.css +1 -1
  454. package/es/style/dnb-ui-basis.min.css +1 -1
  455. package/es/style/dnb-ui-body.css +1 -1
  456. package/es/style/dnb-ui-body.min.css +1 -1
  457. package/es/style/dnb-ui-components.css +2 -1
  458. package/es/style/dnb-ui-components.min.css +1 -1
  459. package/es/style/dnb-ui-core.css +1 -1
  460. package/es/style/dnb-ui-core.min.css +1 -1
  461. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +19 -1
  462. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  463. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +19 -1
  464. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  465. package/es/style/themes/theme-ui/ui-theme-components.css +19 -1
  466. package/es/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  467. package/esm/dnb-ui-basis.min.mjs +1 -1
  468. package/esm/dnb-ui-components.min.mjs +1 -1
  469. package/esm/dnb-ui-elements.min.mjs +1 -1
  470. package/esm/dnb-ui-extensions.min.mjs +2 -2
  471. package/esm/dnb-ui-lib.min.mjs +1 -1
  472. package/extensions/forms/DataContext/Context.d.ts +1 -1
  473. package/extensions/forms/DataContext/Context.js.map +1 -1
  474. package/extensions/forms/DataContext/Provider/Provider.js +9 -0
  475. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  476. package/extensions/forms/Field/Boolean/Boolean.d.ts +1 -0
  477. package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  478. package/extensions/forms/Field/Boolean/BooleanDocs.d.ts +1 -0
  479. package/extensions/forms/Field/Boolean/BooleanDocs.js +7 -0
  480. package/extensions/forms/Field/Boolean/BooleanDocs.js.map +1 -1
  481. package/extensions/forms/Field/Date/Date.d.ts +1 -1
  482. package/extensions/forms/Field/Date/Date.js +1 -1
  483. package/extensions/forms/Field/Date/Date.js.map +1 -1
  484. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  485. package/extensions/forms/Field/Number/NumberDocs.js +1 -1
  486. package/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  487. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +3 -3
  488. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js +3 -3
  489. package/extensions/forms/Field/SelectCountry/SelectCountryDocs.js.map +1 -1
  490. package/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js +3 -3
  491. package/extensions/forms/Field/SelectCurrency/SelectCurrencyDocs.js.map +1 -1
  492. package/extensions/forms/Field/Selection/Selection.d.ts +2 -0
  493. package/extensions/forms/Field/Selection/Selection.js +10 -9
  494. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  495. package/extensions/forms/Field/Toggle/Toggle.d.ts +7 -0
  496. package/extensions/forms/Field/Toggle/Toggle.js +26 -9
  497. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  498. package/extensions/forms/Field/Toggle/ToggleDocs.d.ts +1 -0
  499. package/extensions/forms/Field/Toggle/ToggleDocs.js +7 -0
  500. package/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
  501. package/extensions/forms/Form/Isolation/IsolatedContainer.d.ts +4 -0
  502. package/extensions/forms/Form/Isolation/IsolatedContainer.js +54 -0
  503. package/extensions/forms/Form/Isolation/IsolatedContainer.js.map +1 -0
  504. package/extensions/forms/Form/Isolation/Isolation.d.ts +16 -0
  505. package/extensions/forms/Form/Isolation/Isolation.js +40 -15
  506. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  507. package/extensions/forms/Form/Isolation/IsolationCommitButton.js +1 -1
  508. package/extensions/forms/Form/Isolation/IsolationCommitButton.js.map +1 -1
  509. package/extensions/forms/Form/Isolation/IsolationContext.d.ts +12 -0
  510. package/extensions/forms/Form/Isolation/IsolationContext.js +6 -0
  511. package/extensions/forms/Form/Isolation/IsolationContext.js.map +1 -0
  512. package/extensions/forms/Form/Isolation/IsolationDataReference.d.ts +9 -0
  513. package/extensions/forms/Form/Isolation/IsolationDataReference.js +25 -0
  514. package/extensions/forms/Form/Isolation/IsolationDataReference.js.map +1 -0
  515. package/extensions/forms/Form/Isolation/IsolationDocs.js +15 -0
  516. package/extensions/forms/Form/Isolation/IsolationDocs.js.map +1 -1
  517. package/extensions/forms/Form/Isolation/IsolationResetButton.d.ts +7 -0
  518. package/extensions/forms/Form/Isolation/IsolationResetButton.js +100 -0
  519. package/extensions/forms/Form/Isolation/IsolationResetButton.js.map +1 -0
  520. package/extensions/forms/Form/Isolation/useDataContextSnapshot.d.ts +7 -0
  521. package/extensions/forms/Form/Isolation/useDataContextSnapshot.js +52 -0
  522. package/extensions/forms/Form/Isolation/useDataContextSnapshot.js.map +1 -0
  523. package/extensions/forms/Form/Isolation/useHandleStatus.d.ts +9 -0
  524. package/extensions/forms/Form/Isolation/useHandleStatus.js +51 -0
  525. package/extensions/forms/Form/Isolation/useHandleStatus.js.map +1 -0
  526. package/extensions/forms/{Iterate/EditContainer → Form/Isolation}/useHasContentChanged.js +12 -10
  527. package/extensions/forms/Form/Isolation/useHasContentChanged.js.map +1 -0
  528. package/extensions/forms/Form/Snapshot/Snapshot.d.ts +2 -1
  529. package/extensions/forms/Form/Snapshot/Snapshot.js.map +1 -1
  530. package/extensions/forms/Iterate/EditContainer/ResetButton.js +1 -1
  531. package/extensions/forms/Iterate/EditContainer/ResetButton.js.map +1 -1
  532. package/extensions/forms/Iterate/EditContainer/index.d.ts +1 -1
  533. package/extensions/forms/Iterate/EditContainer/index.js +1 -1
  534. package/extensions/forms/Iterate/EditContainer/index.js.map +1 -1
  535. package/extensions/forms/Iterate/PushContainer/PushContainer.d.ts +7 -0
  536. package/extensions/forms/Iterate/PushContainer/PushContainer.js +16 -57
  537. package/extensions/forms/Iterate/PushContainer/PushContainer.js.map +1 -1
  538. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js +2 -2
  539. package/extensions/forms/Iterate/PushContainer/PushContainerDocs.js.map +1 -1
  540. package/extensions/forms/constants/locales/en-GB.d.ts +1 -1
  541. package/extensions/forms/constants/locales/en-GB.js +3 -3
  542. package/extensions/forms/constants/locales/en-GB.js.map +1 -1
  543. package/extensions/forms/constants/locales/en-US.d.ts +1 -1
  544. package/extensions/forms/constants/locales/index.d.ts +2 -2
  545. package/extensions/forms/constants/locales/nb-NO.d.ts +1 -1
  546. package/extensions/forms/constants/locales/nb-NO.js +3 -3
  547. package/extensions/forms/constants/locales/nb-NO.js.map +1 -1
  548. package/extensions/forms/constants/locales/sv-SE.d.ts +1 -1
  549. package/extensions/forms/constants/locales/sv-SE.js +3 -3
  550. package/extensions/forms/constants/locales/sv-SE.js.map +1 -1
  551. package/extensions/forms/hooks/useDataContext.js +5 -3
  552. package/extensions/forms/hooks/useDataContext.js.map +1 -1
  553. package/extensions/forms/hooks/useSnapshot.js +18 -15
  554. package/extensions/forms/hooks/useSnapshot.js.map +1 -1
  555. package/fragments/drawer-list/DrawerList.d.ts +176 -224
  556. package/fragments/drawer-list/DrawerList.js +71 -175
  557. package/fragments/drawer-list/DrawerList.js.map +1 -1
  558. package/fragments/drawer-list/DrawerListContext.d.ts +27 -2
  559. package/fragments/drawer-list/DrawerListContext.js.map +1 -1
  560. package/fragments/drawer-list/DrawerListDocs.d.ts +211 -4
  561. package/fragments/drawer-list/DrawerListDocs.js +2 -2
  562. package/fragments/drawer-list/DrawerListDocs.js.map +1 -1
  563. package/fragments/drawer-list/DrawerListHelpers.d.ts +85 -89
  564. package/fragments/drawer-list/DrawerListHelpers.js +45 -53
  565. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  566. package/fragments/drawer-list/DrawerListItem.d.ts +30 -0
  567. package/fragments/drawer-list/DrawerListItem.js +91 -0
  568. package/fragments/drawer-list/DrawerListItem.js.map +1 -0
  569. package/fragments/drawer-list/DrawerListPortal.d.ts +20 -30
  570. package/fragments/drawer-list/DrawerListPortal.js +91 -121
  571. package/fragments/drawer-list/DrawerListPortal.js.map +1 -1
  572. package/fragments/drawer-list/DrawerListProvider.d.ts +217 -11
  573. package/fragments/drawer-list/DrawerListProvider.js +12 -19
  574. package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  575. package/package.json +1 -1
  576. package/shared/Eufemia.d.ts +1 -1
  577. package/shared/Eufemia.js +2 -2
  578. package/shared/Eufemia.js.map +1 -1
  579. package/shared/component-helper.d.ts +45 -48
  580. package/shared/component-helper.js +23 -189
  581. package/shared/component-helper.js.map +1 -1
  582. package/shared/helpers/withCamelCaseProps.d.ts +4 -5
  583. package/shared/helpers/withCamelCaseProps.js +7 -2
  584. package/shared/helpers/withCamelCaseProps.js.map +1 -1
  585. package/shared/legacy/component-helper-legacy.d.ts +19 -0
  586. package/shared/legacy/component-helper-legacy.js +185 -0
  587. package/shared/legacy/component-helper-legacy.js.map +1 -0
  588. package/shared/locales/en-GB.d.ts +1 -0
  589. package/shared/locales/en-GB.js +1 -0
  590. package/shared/locales/en-GB.js.map +1 -1
  591. package/shared/locales/en-US.js.map +1 -1
  592. package/shared/locales/index.d.ts +2 -0
  593. package/shared/locales/nb-NO.d.ts +1 -0
  594. package/shared/locales/nb-NO.js +2 -1
  595. package/shared/locales/nb-NO.js.map +1 -1
  596. package/shared/locales/sv-SE.d.ts +1 -0
  597. package/shared/locales/sv-SE.js +1 -0
  598. package/shared/locales/sv-SE.js.map +1 -1
  599. package/style/core/scopes.scss +1 -1
  600. package/style/dnb-ui-basis.css +1 -1
  601. package/style/dnb-ui-basis.min.css +1 -1
  602. package/style/dnb-ui-body.css +1 -1
  603. package/style/dnb-ui-body.min.css +1 -1
  604. package/style/dnb-ui-components.css +2 -1
  605. package/style/dnb-ui-components.min.css +1 -1
  606. package/style/dnb-ui-core.css +1 -1
  607. package/style/dnb-ui-core.min.css +1 -1
  608. package/style/themes/theme-eiendom/eiendom-theme-components.css +19 -1
  609. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +2 -2
  610. package/style/themes/theme-sbanken/sbanken-theme-components.css +19 -1
  611. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +2 -2
  612. package/style/themes/theme-ui/ui-theme-components.css +19 -1
  613. package/style/themes/theme-ui/ui-theme-components.min.css +2 -2
  614. package/umd/dnb-ui-basis.min.js +1 -1
  615. package/umd/dnb-ui-components.min.js +1 -1
  616. package/umd/dnb-ui-elements.min.js +1 -1
  617. package/umd/dnb-ui-extensions.min.js +1 -1
  618. package/umd/dnb-ui-lib.min.js +1 -1
  619. package/cjs/extensions/forms/Iterate/EditContainer/useHasContentChanged.js.map +0 -1
  620. package/es/extensions/forms/Iterate/EditContainer/useHasContentChanged.js.map +0 -1
  621. package/extensions/forms/Iterate/EditContainer/useHasContentChanged.js.map +0 -1
  622. /package/cjs/extensions/forms/{Iterate/EditContainer → Form/Isolation}/useHasContentChanged.d.ts +0 -0
  623. /package/es/extensions/forms/{Iterate/EditContainer → Form/Isolation}/useHasContentChanged.d.ts +0 -0
  624. /package/extensions/forms/{Iterate/EditContainer → Form/Isolation}/useHasContentChanged.d.ts +0 -0
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
 
3
- import { useCallback, useRef } from 'react';
3
+ import { useCallback, useMemo, useRef } from 'react';
4
4
  import { makeUniqueId } from '../../../shared/component-helper';
5
5
  import pointer from '../utils/json-pointer';
6
6
  import useDataContext from './useDataContext';
@@ -17,29 +17,30 @@ export default function useSnapshot(id) {
17
17
  set: setData,
18
18
  update: updateData
19
19
  } = useData(id);
20
+ const {
21
+ internalDataRef,
22
+ snapshotsRef
23
+ } = getContext() || {};
24
+ const internalData = internalDataRef === null || internalDataRef === void 0 ? void 0 : internalDataRef.current;
20
25
  const createSnapshot = useCallback((id = makeUniqueId(), name = null, content = null) => {
21
- const {
22
- internalDataRef,
23
- snapshotsRef
24
- } = getContext();
25
26
  if (!content) {
26
27
  var _snapshotsRef$current, _snapshotsRef$current2;
27
28
  const snapshotWithPaths = snapshotsRef === null || snapshotsRef === void 0 ? void 0 : (_snapshotsRef$current = snapshotsRef.current) === null || _snapshotsRef$current === void 0 ? void 0 : (_snapshotsRef$current2 = _snapshotsRef$current.get) === null || _snapshotsRef$current2 === void 0 ? void 0 : _snapshotsRef$current2.call(_snapshotsRef$current, name);
28
29
  if (snapshotWithPaths) {
29
30
  const collectedData = new Map();
30
31
  snapshotWithPaths.forEach((isMounted, path) => {
31
- if (isMounted && pointer.has(internalDataRef.current, path)) {
32
- collectedData.set(path, pointer.get(internalDataRef.current, path));
32
+ if (isMounted && pointer.has(internalData, path)) {
33
+ collectedData.set(path, pointer.get(internalData, path));
33
34
  }
34
35
  });
35
36
  content = collectedData;
36
37
  } else {
37
- content = internalDataRef.current;
38
+ content = internalData;
38
39
  }
39
40
  }
40
41
  internalSnapshotsRef.current.set(combineIdWithName(id, name), content);
41
42
  return id;
42
- }, [getContext]);
43
+ }, [internalData, snapshotsRef]);
43
44
  const getSnapshot = useCallback((id, name = null) => {
44
45
  return internalSnapshotsRef.current.get(combineIdWithName(id, name));
45
46
  }, []);
@@ -60,12 +61,14 @@ export default function useSnapshot(id) {
60
61
  applySnapshot(id, name);
61
62
  deleteSnapshot(id, name);
62
63
  }, [applySnapshot, deleteSnapshot]);
63
- return {
64
- createSnapshot,
65
- revertSnapshot,
66
- applySnapshot,
67
- internalSnapshotsRef
68
- };
64
+ return useMemo(() => {
65
+ return {
66
+ createSnapshot,
67
+ revertSnapshot,
68
+ applySnapshot,
69
+ internalSnapshotsRef
70
+ };
71
+ }, [applySnapshot, createSnapshot, revertSnapshot]);
69
72
  }
70
73
  function combineIdWithName(id, name = null) {
71
74
  return name ? `${id}-${name}` : id;
@@ -1 +1 @@
1
- {"version":3,"file":"useSnapshot.js","names":["useCallback","useRef","makeUniqueId","pointer","useDataContext","useData","useSnapshot","id","internalSnapshotsRef","current","Map","getContext","set","setData","update","updateData","createSnapshot","name","content","internalDataRef","snapshotsRef","_snapshotsRef$current","_snapshotsRef$current2","snapshotWithPaths","get","call","collectedData","forEach","isMounted","path","has","combineIdWithName","getSnapshot","deleteSnapshot","delete","applySnapshot","snapshot","value","revertSnapshot"],"sources":["../../../../../src/extensions/forms/hooks/useSnapshot.tsx"],"sourcesContent":["import { useCallback, useRef } from 'react'\nimport { makeUniqueId } from '../../../shared/component-helper'\nimport pointer, { JsonObject } from '../utils/json-pointer'\nimport { SharedStateId } from '../../../shared/helpers/useSharedState'\nimport useDataContext from './useDataContext'\nimport { SnapshotId, SnapshotName } from '../Form/Snapshot'\nimport useData from '../Form/data-context/useData'\n\nexport default function useSnapshot(id?: SharedStateId) {\n const internalSnapshotsRef = useRef<Map<SnapshotId, JsonObject>>()\n if (!internalSnapshotsRef.current) {\n internalSnapshotsRef.current = new Map()\n }\n\n const { getContext } = useDataContext(id)\n const { set: setData, update: updateData } = useData(id)\n\n const createSnapshot = useCallback(\n (\n id: SnapshotId = makeUniqueId(),\n name: SnapshotName = null,\n content: JsonObject = null\n ): SnapshotId => {\n const { internalDataRef, snapshotsRef } = getContext()\n\n if (!content) {\n const snapshotWithPaths = snapshotsRef?.current?.get?.(name)\n if (snapshotWithPaths) {\n const collectedData: Map<string, JsonObject> = new Map()\n snapshotWithPaths.forEach((isMounted, path) => {\n if (isMounted && pointer.has(internalDataRef.current, path)) {\n collectedData.set(\n path,\n pointer.get(internalDataRef.current, path)\n )\n }\n })\n content = collectedData as unknown as JsonObject\n } else {\n content = internalDataRef.current\n }\n }\n\n internalSnapshotsRef.current.set(\n combineIdWithName(id, name),\n content\n )\n\n return id\n },\n [getContext]\n )\n\n const getSnapshot = useCallback(\n (id: SnapshotId, name: SnapshotName = null): JsonObject => {\n return internalSnapshotsRef.current.get(combineIdWithName(id, name))\n },\n []\n )\n\n const deleteSnapshot = useCallback(\n (id: SnapshotId, name: SnapshotName = null): void => {\n internalSnapshotsRef.current.delete(combineIdWithName(id, name))\n },\n []\n )\n\n const applySnapshot = useCallback(\n (id: SnapshotId, name: SnapshotName = null) => {\n const snapshot = getSnapshot(id, name)\n\n if (snapshot instanceof Map) {\n snapshot.forEach((value, path) => {\n updateData(path, value)\n })\n } else if (snapshot) {\n setData(snapshot)\n }\n },\n [getSnapshot, setData, updateData]\n )\n\n const revertSnapshot = useCallback(\n (id: SnapshotId, name: SnapshotName = null) => {\n applySnapshot(id, name)\n deleteSnapshot(id, name)\n },\n [applySnapshot, deleteSnapshot]\n )\n\n return {\n createSnapshot,\n revertSnapshot,\n applySnapshot,\n internalSnapshotsRef,\n }\n}\n\nfunction combineIdWithName(id: SnapshotId, name: SnapshotName = null) {\n return name ? `${id}-${name}` : id\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useSnapshot.js","names":["useCallback","useMemo","useRef","makeUniqueId","pointer","useDataContext","useData","useSnapshot","id","internalSnapshotsRef","current","Map","getContext","set","setData","update","updateData","internalDataRef","snapshotsRef","internalData","createSnapshot","name","content","_snapshotsRef$current","_snapshotsRef$current2","snapshotWithPaths","get","call","collectedData","forEach","isMounted","path","has","combineIdWithName","getSnapshot","deleteSnapshot","delete","applySnapshot","snapshot","value","revertSnapshot"],"sources":["../../../../../src/extensions/forms/hooks/useSnapshot.tsx"],"sourcesContent":["import { useCallback, useMemo, useRef } from 'react'\nimport { makeUniqueId } from '../../../shared/component-helper'\nimport pointer, { JsonObject } from '../utils/json-pointer'\nimport { SharedStateId } from '../../../shared/helpers/useSharedState'\nimport useDataContext from './useDataContext'\nimport { SnapshotId, SnapshotName } from '../Form/Snapshot'\nimport useData from '../Form/data-context/useData'\n\nexport default function useSnapshot(id?: SharedStateId) {\n const internalSnapshotsRef = useRef<Map<SnapshotId, JsonObject>>()\n if (!internalSnapshotsRef.current) {\n internalSnapshotsRef.current = new Map()\n }\n\n const { getContext } = useDataContext(id)\n const { set: setData, update: updateData } = useData(id)\n\n const { internalDataRef, snapshotsRef } = getContext() || {}\n const internalData = internalDataRef?.current // Ensure the createSnapshot dependency gets updated\n const createSnapshot = useCallback(\n (\n id: SnapshotId = makeUniqueId(),\n name: SnapshotName = null,\n content: JsonObject = null\n ): SnapshotId => {\n if (!content) {\n const snapshotWithPaths = snapshotsRef?.current?.get?.(name)\n if (snapshotWithPaths) {\n const collectedData: Map<string, JsonObject> = new Map()\n snapshotWithPaths.forEach((isMounted, path) => {\n if (isMounted && pointer.has(internalData, path)) {\n collectedData.set(path, pointer.get(internalData, path))\n }\n })\n content = collectedData as unknown as JsonObject\n } else {\n content = internalData\n }\n }\n\n internalSnapshotsRef.current.set(\n combineIdWithName(id, name),\n content\n )\n\n return id\n },\n [internalData, snapshotsRef]\n )\n\n const getSnapshot = useCallback(\n (id: SnapshotId, name: SnapshotName = null): JsonObject => {\n return internalSnapshotsRef.current.get(combineIdWithName(id, name))\n },\n []\n )\n\n const deleteSnapshot = useCallback(\n (id: SnapshotId, name: SnapshotName = null): void => {\n internalSnapshotsRef.current.delete(combineIdWithName(id, name))\n },\n []\n )\n\n const applySnapshot = useCallback(\n (id: SnapshotId, name: SnapshotName = null) => {\n const snapshot = getSnapshot(id, name)\n\n if (snapshot instanceof Map) {\n snapshot.forEach((value, path) => {\n updateData(path, value)\n })\n } else if (snapshot) {\n setData(snapshot)\n }\n },\n [getSnapshot, setData, updateData]\n )\n\n const revertSnapshot = useCallback(\n (id: SnapshotId, name: SnapshotName = null) => {\n applySnapshot(id, name)\n deleteSnapshot(id, name)\n },\n [applySnapshot, deleteSnapshot]\n )\n\n return useMemo(() => {\n return {\n createSnapshot,\n revertSnapshot,\n applySnapshot,\n\n internalSnapshotsRef,\n }\n }, [applySnapshot, createSnapshot, revertSnapshot])\n}\n\nfunction combineIdWithName(id: SnapshotId, name: SnapshotName = null) {\n return name ? `${id}-${name}` : id\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,239 +1,191 @@
1
- import * as React from 'react';
1
+ /**
2
+ * Web List Component
3
+ *
4
+ * This is a legacy component.
5
+ * For referencing while developing new features, please use a Functional component.
6
+ */
7
+ import React from 'react';
2
8
  import type { SpacingProps } from '../../shared/types';
3
- export type DrawerListDirection = 'auto' | 'top' | 'bottom';
4
- export type DrawerListSize =
5
- | 'default'
6
- | 'small'
7
- | 'medium'
8
- | 'large'
9
- | number;
10
- export type DrawerListAlignDrawer = 'left' | 'right';
11
- export type DrawerListOptionsRender =
12
- | Record<string, unknown>
13
- | ((...args: any[]) => any)
14
- | React.ReactNode;
15
- export type DrawerListWrapperElement =
16
- | Record<string, unknown>
17
- | ((...args: any[]) => any)
18
- | React.ReactNode;
19
- export type DrawerListDefaultValue = string | number;
20
- export type DrawerListValue = string | number;
21
- /** @deprecated use `DrawerListDataArrayObject` */
22
- export type DrawerListDataObject = DrawerListDataArrayObject;
9
+ import { DrawerListHorizontalItem } from './DrawerListItem';
10
+ import type { DrawerListItemProps } from './DrawerListItem';
11
+ export type DrawerListContent = string | React.ReactNode | (string | React.ReactNode)[];
23
12
  export type DrawerListDataArrayObject = {
24
- [customProperty: string]: any;
25
- selected_value?: string | React.ReactNode;
26
- selectedKey?: string | number;
27
- selected_key?: string | number;
28
- suffix_value?: string | React.ReactNode;
29
- content?: DrawerListContent;
30
- disabled?: boolean;
31
- search_content?: string | React.ReactNode | string[];
32
- style?: React.CSSProperties;
13
+ [customProperty: string]: any;
14
+ selected_value?: string | React.ReactNode;
15
+ selectedKey?: string | number;
16
+ selected_key?: string | number;
17
+ suffix_value?: string | React.ReactNode;
18
+ content: DrawerListContent;
19
+ disabled?: boolean;
20
+ /** used by Autocomplete for additional search hits */
21
+ search_content?: string | React.ReactNode | string[];
22
+ /** style prop of the html list item */
23
+ style?: React.CSSProperties;
24
+ /** classname added to the html list item */
25
+ class_name?: string;
26
+ /** set to true to disable mouse events selected style. Keyboard can still select @deprecated */
27
+ ignore_events?: boolean;
28
+ /** internal use only */
29
+ render?: (children: React.ReactNode, id: string) => React.ReactNode;
33
30
  };
34
31
  /** @deprecated use `DrawerListDataArrayItem` */
35
32
  export type DrawerListDataObjectUnion = DrawerListDataArrayItem;
36
- export type DrawerListDataArrayItem =
37
- | DrawerListDataArrayObject
38
- | DrawerListContent;
33
+ export type DrawerListDataArrayItem = DrawerListDataArrayObject | DrawerListContent;
39
34
  export type DrawerListDataArray = DrawerListDataArrayItem[];
40
35
  export type DrawerListDataRecord = Record<string, DrawerListContent>;
41
36
  export type DrawerListDataAll = DrawerListDataRecord | DrawerListDataArray;
42
- export type DrawerListData =
43
- | string
44
- | ((...args: any[]) => DrawerListDataAll)
45
- | DrawerListDataAll;
46
- export type DrawerListContent =
47
- | string
48
- | React.ReactNode
49
- | (string | React.ReactNode)[];
50
- export type DrawerListRawData =
51
- | any[]
52
- | Record<string, unknown>
53
- | ((...args: any[]) => any);
54
- export type DrawerListChildren =
55
- | string
56
- | ((...args: any[]) => any)
57
- | React.ReactNode
58
- | Record<string, unknown>
59
- | any[];
37
+ export type DrawerListOptionsRender = ({ data, Items, Item, }: {
38
+ data: DrawerListDataArrayObject[];
39
+ Items: React.FunctionComponent;
40
+ Item: React.FC<DrawerListItemProps>;
41
+ }) => React.ReactNode;
42
+ export type DrawerListValue = string | number;
43
+ export type DrawerListData = string | ((...args: any[]) => DrawerListDataAll) | DrawerListDataAll;
60
44
  export type DrawerListSuffix = React.ReactNode;
61
45
  export interface DrawerListProps {
62
- id?: string;
63
- role?: string;
64
- /**
65
- * Set a `cache_hash` as a string to enable internal memorizing of the list to enhance rerendering performance. Components like Autocomplete are using this because of the huge data changes due to search and reorder.
66
- */
67
- cache_hash?: string;
68
- /**
69
- * Position of the arrow icon/triangle inside the drawer-list. Set to 'left' or 'right'. Defaults to 'left' if not set.
70
- */
71
- triangle_position?: string;
72
- /**
73
- * Defines if the options list should be scrollable (the `max-height` is set by default to `50vh`).
74
- */
75
- scrollable?: boolean;
76
- /**
77
- * If set to `true`, the element is then focusable by assertive technologies.
78
- */
79
- focusable?: boolean;
80
- /**
81
- * Defines the direction of how the drawer-list shows the options list. Can be 'bottom' or 'top'. Defaults to 'auto'.
82
- */
83
- direction?: DrawerListDirection;
84
- size?: DrawerListSize;
85
- /**
86
- * Defines the minimum height (in `rem`) of the options list.
87
- */
88
- min_height?: string | number;
89
- /**
90
- * Defines the maximum height (in `rem`) of the options list.
91
- */
92
- max_height?: number;
93
- /**
94
- * To disable appear/disappear (show/hide) animation.
95
- */
96
- no_animation?: boolean;
97
- /**
98
- * To disable scrolling animation.
99
- */
100
- no_scroll_animation?: boolean;
101
- /**
102
- * If set to `true`, the DrawerList will then not make any permanent selection.
103
- */
104
- prevent_selection?: boolean;
105
- action_menu?: boolean;
106
- is_popup?: boolean;
107
- /**
108
- * Use 'right' to change the options alignment direction. Makes only sense to use in combination with `prevent_selection` or `more_menu` - or if an independent width is used.
109
- */
110
- align_drawer?: DrawerListAlignDrawer;
111
- /**
112
- * Has to be a function, returning the items again. See [example](/uilib/components/fragments/drawer-list#example-usage-of-options_render). This can be used to add additional options above the actual rendered list.
113
- */
114
- options_render?: DrawerListOptionsRender;
115
- /**
116
- * Has to be an HTML Element, ideally a mother element, used to calculate sizes and distances. Also used for the 'click outside' detection. Clicking on the `wrapper_element` will not trigger an outside click.
117
- */
118
- wrapper_element?: DrawerListWrapperElement;
119
- /**
120
- * Define a startup value or handle a re-render without handling the state during the re-render by yourself. Defaults to `null`.
121
- */
122
- default_value?: DrawerListDefaultValue;
123
- /**
124
- * Define a preselected `data` entry. In order of priority, `value` can be set to: object key (if `data` is an object), `selectedKey` prop (if `data` is an array), array index (if no `selectedKey`) or content (if `value` is a non-integer string).
125
- */
126
- value?: DrawerListValue;
127
- /**
128
- * To disable the React Portal behavior.
129
- */
130
- skip_portal?: boolean;
131
- /**
132
- * Define an HTML class that will be set on the DOM portal beside `dnb-drawer-list__portal__style`. Can be useful to handle e.g. a custom `z-index` in relation to a header.
133
- */
134
- portal_class?: string;
135
- /**
136
- * Define an HTML class that will be set on the list, beside `dnb-drawer-list__list`.
137
- */
138
- list_class?: string;
139
- /**
140
- * If set to `true`, the DrawerList will not close on any events.
141
- */
142
- prevent_close?: boolean;
143
- /**
144
- * If set to `true`, the DrawerList will handle its width and position independently of the parent/mother element.
145
- */
146
- independent_width?: boolean;
147
- /**
148
- * If set to `true`, the DrawerList will be fixed in its scroll position by using CSS `position: fixed;`.
149
- */
150
- fixed_position?: boolean;
151
- /**
152
- * If set to `true`, the DrawerList will close on outside clicks, but not on selection.
153
- */
154
- keep_open?: boolean;
155
- prevent_focus?: boolean;
156
- /**
157
- * If set to `true`, search items by the first key will be ignored.
158
- */
159
- skip_keysearch?: boolean;
160
- opened?: boolean;
161
- data?: DrawerListData;
162
- prepared_data?: any[];
163
- raw_data?: DrawerListRawData;
164
- /**
165
- * If set to `true`, all keyboard and mouse events will be ignored.
166
- */
167
- ignore_events?: boolean;
168
- className?: string;
169
- children?: DrawerListChildren;
170
- suffix?: DrawerListSuffix;
171
- /**
172
- * If set to `true`, the HTML body will get locked from scrolling when the Dropdown is open.
173
- */
174
- enable_body_lock?: boolean;
175
- /**
176
- * Defines the available scrollable height. If scrolling should not change the height of the drawer-list, then set it to `0` (useful if the DrawerList is used in fixed positions on contrast to a scrollable page content).
177
- */
178
- page_offset?: string | number;
179
- /**
180
- * Set a HTML element, either as a selector or a DOM element. Can be used to send in an element which will be used to make the direction calculation on.
181
- */
182
- observer_element?: string | React.ReactNode;
183
- on_show?: (...args: any[]) => any;
184
- on_hide?: (...args: any[]) => any;
185
- handle_dismiss_focus?: (...args: any[]) => any;
186
- on_change?: (...args: any[]) => any;
187
- on_pre_change?: (...args: any[]) => any;
188
- on_resize?: (...args: any[]) => any;
189
- on_select?: (...args: any[]) => any;
190
- on_state_update?: (...args: any[]) => any;
191
- }
192
- export type DrawerListOptionsProps = {
193
- children: React.ReactNode;
194
- };
195
- export type DrawerListItemProps = {
196
- children: React.ReactNode;
197
- selected: boolean;
198
- /**
199
- * Define a preselected `data` entry. In order of priority, `value` can be set to: object key (if `data` is an object), `selectedKey` prop (if `data` is an array), array index (if no `selectedKey`) or content (if `value` is a non-integer string).
200
- */
201
- value: string;
202
- on_click: ({
203
- value
204
- }: {
46
+ id?: string;
47
+ _id?: string;
48
+ role?: string;
49
+ /**
50
+ * Set a `cache_hash` as a string to enable internal memorizing of the list to enhance rerendering performance. Components like Autocomplete are using this because of the huge data changes due to search and reorder.
51
+ */
52
+ cache_hash?: string;
53
+ /**
54
+ * Position of the arrow icon/triangle inside the drawer-list. Set to 'left' or 'right'. Defaults to 'left' if not set.
55
+ */
56
+ triangle_position?: string;
57
+ /**
58
+ * Defines if the options list should be scrollable (the `max-height` is set by default to `50vh`).
59
+ */
60
+ scrollable?: boolean;
61
+ /**
62
+ * If set to `true`, the element is then focusable by assertive technologies.
63
+ */
64
+ focusable?: boolean;
65
+ /**
66
+ * Defines the direction of how the drawer-list shows the options list. Can be 'bottom' or 'top'. Defaults to 'auto'.
67
+ */
68
+ direction?: 'auto' | 'top' | 'bottom';
69
+ size?: 'default' | 'small' | 'medium' | 'large' | number;
70
+ /**
71
+ * Defines the minimum height (in `rem`) of the options list.
72
+ */
73
+ min_height?: string | number;
74
+ /**
75
+ * Defines the maximum height (in `rem`) of the options list.
76
+ */
77
+ max_height?: string | number;
78
+ /**
79
+ * To disable appear/disappear (show/hide) animation.
80
+ */
81
+ no_animation?: boolean;
82
+ /**
83
+ * To disable scrolling animation.
84
+ */
85
+ no_scroll_animation?: boolean;
86
+ /**
87
+ * If set to `true`, the DrawerList will then not make any permanent selection.
88
+ */
89
+ prevent_selection?: boolean;
90
+ action_menu?: boolean;
91
+ is_popup?: boolean;
92
+ /**
93
+ * Use 'right' to change the options alignment direction. Makes only sense to use in combination with `prevent_selection` or `more_menu` - or if an independent width is used.
94
+ */
95
+ align_drawer?: 'left' | 'right';
96
+ /**
97
+ * Has to be a function, returning the items again. See [example](/uilib/components/fragments/drawer-list#example-usage-of-options_render). This can be used to add additional options above the actual rendered list.
98
+ */
99
+ options_render?: DrawerListOptionsRender;
100
+ /**
101
+ * Has to be an HTML Element, ideally a mother element, used to calculate sizes and distances. Also used for the 'click outside' detection. Clicking on the `wrapper_element` will not trigger an outside click.
102
+ */
103
+ wrapper_element?: string | HTMLElement;
104
+ /**
105
+ * Define a startup value or handle a re-render without handling the state during the re-render by yourself. Defaults to null.
106
+ */
107
+ default_value?: DrawerListValue;
205
108
  /**
206
109
  * Define a preselected `data` entry. In order of priority, `value` can be set to: object key (if `data` is an object), `selectedKey` prop (if `data` is an array), array index (if no `selectedKey`) or content (if `value` is a non-integer string).
207
110
  */
208
- value: string;
209
- }) => void;
210
- } & Omit<React.HTMLProps<HTMLElement>, 'children'>;
211
- export type DrawerListHorizontalItemProps = {
212
- children: React.ReactNode;
213
- } & Omit<React.HTMLProps<HTMLElement>, 'children'>;
214
- export type DrawerListAllProps = DrawerListProps &
215
- SpacingProps &
216
- Omit<
217
- React.HTMLProps<HTMLElement>,
218
- 'ref' | 'size' | 'label' | 'placeholder' | 'data' | 'children'
219
- >;
220
- export default class DrawerList extends React.Component<
221
- DrawerListAllProps,
222
- any
223
- > {
224
- static defaultProps: object;
225
- static Options: (props: DrawerListOptionsProps) => JSX.Element;
226
- static Item: (props: DrawerListItemProps) => JSX.Element;
227
- static HorizontalItem: (
228
- props: DrawerListHorizontalItemProps
229
- ) => JSX.Element;
230
- render(): JSX.Element;
111
+ value?: DrawerListValue;
112
+ /**
113
+ * To disable the React Portal behavior.
114
+ */
115
+ skip_portal?: boolean;
116
+ /**
117
+ * Define an HTML class that will be set on the DOM portal beside `dnb-drawer-list__portal__style`. Can be useful to handle e.g. a custom `z-index` in relation to a header.
118
+ */
119
+ portal_class?: string;
120
+ /**
121
+ * Define an HTML class that will be set on the list, beside `dnb-drawer-list__list`.
122
+ */
123
+ list_class?: string;
124
+ /**
125
+ * If set to `true`, the DrawerList will not close on any events.
126
+ */
127
+ prevent_close?: boolean;
128
+ /**
129
+ * If set to `true`, the DrawerList will handle its width and position independently of the parent/mother element.
130
+ */
131
+ independent_width?: boolean;
132
+ /**
133
+ * If set to `true`, the DrawerList will be fixed in its scroll position by using CSS `position: fixed;`.
134
+ */
135
+ fixed_position?: boolean;
136
+ /**
137
+ * If set to `true`, the DrawerList will close on outside clicks, but not on selection.
138
+ */
139
+ keep_open?: boolean;
140
+ prevent_focus?: boolean;
141
+ /**
142
+ * If set to `true`, search items by the first key will be ignored.
143
+ */
144
+ skip_keysearch?: boolean;
145
+ opened?: boolean;
146
+ data?: DrawerListData;
147
+ prepared_data?: any[];
148
+ /**
149
+ * If set to `true`, all keyboard and mouse events will be ignored.
150
+ */
151
+ ignore_events?: boolean;
152
+ className?: string;
153
+ /** Accepts the same values as the `data` prop. Will be ignored if `data` is used. Can also accept a single child for custom rendering. */
154
+ children?: DrawerListData | React.ReactElement;
155
+ suffix?: DrawerListSuffix;
156
+ /**
157
+ * If set to `true`, the HTML body will get locked from scrolling when the Dropdown is open.
158
+ */
159
+ enable_body_lock?: boolean;
160
+ /**
161
+ * Defines the available scrollable height. If scrolling should not change the height of the drawer-list, then set it to `0` (useful if the DrawerList is used in fixed positions on contrast to a scrollable page content).
162
+ */
163
+ page_offset?: string | number;
164
+ /**
165
+ * Set a HTML element, either as a selector or a DOM element. Can be used to send in an element which will be used to make the direction calculation on.
166
+ */
167
+ observer_element?: string | React.ReactNode;
168
+ on_show?: (...args: any[]) => any;
169
+ on_hide?: (...args: any[]) => any;
170
+ handle_dismiss_focus?: (...args: any[]) => any;
171
+ on_change?: (...args: any[]) => any;
172
+ on_pre_change?: (...args: any[]) => any;
173
+ on_resize?: (...args: any[]) => any;
174
+ on_select?: (...args: any[]) => any;
175
+ on_state_update?: (...args: any[]) => any;
231
176
  }
232
- export type ItemContentChildren =
233
- | React.ReactNode
234
- | Record<string, unknown>;
235
- export interface ItemContentProps {
236
- hash?: string;
237
- children?: ItemContentChildren;
177
+ export type DrawerListAllProps = DrawerListProps & SpacingProps & Omit<React.HTMLProps<HTMLElement>, 'ref' | 'size' | 'label' | 'placeholder' | 'data' | 'children'>;
178
+ declare function DrawerList(props: DrawerListAllProps): import("react/jsx-runtime").JSX.Element;
179
+ declare namespace DrawerList {
180
+ var blurDelay: number;
181
+ var Options: React.MemoExoticComponent<React.ForwardRefExoticComponent<Omit<DrawerListOptionsProps, "ref"> & React.RefAttributes<HTMLUListElement>>>;
182
+ var Item: React.ForwardRefExoticComponent<Omit<DrawerListItemProps, "ref"> & React.RefAttributes<HTMLLIElement>>;
183
+ var HorizontalItem: typeof DrawerListHorizontalItem;
238
184
  }
239
- export declare const ItemContent: React.FC<ItemContentProps>;
185
+ export type DrawerListOptionsProps = React.HTMLProps<HTMLUListElement> & {
186
+ children: React.ReactNode;
187
+ triangleRef?: React.LegacyRef<HTMLLIElement>;
188
+ cache_hash?: string;
189
+ showFocusRing?: boolean;
190
+ };
191
+ export default DrawerList;