@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,83 +1,69 @@
1
+ "use client";
2
+
1
3
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
- import React from 'react';
4
+ import React, { useEffect, useRef, useState } from 'react';
6
5
  import ReactDOM from 'react-dom';
7
- import PropTypes from 'prop-types';
8
6
  import classnames from 'classnames';
9
7
  import { warn, getClosestScrollViewElement } from '../../shared/component-helper';
10
- const drawerListPropTypes = process.env.NODE_ENV !== "production" ? {
11
- id: PropTypes.string.isRequired,
12
- children: PropTypes.node.isRequired,
13
- opened: PropTypes.bool.isRequired,
14
- innerRef: PropTypes.shape({
15
- current: PropTypes.oneOfType([PropTypes.node, PropTypes.object])
16
- }),
17
- rootRef: PropTypes.shape({
18
- current: PropTypes.oneOfType([PropTypes.node, PropTypes.object])
19
- }).isRequired,
20
- include_owner_width: PropTypes.bool,
21
- independent_width: PropTypes.bool,
22
- fixed_position: PropTypes.bool,
23
- className: PropTypes.string
24
- } : {};
25
- const drawerListDefaultProps = {
26
- rootRef: {
27
- current: null
8
+ function DrawerListPortal({
9
+ innerRef,
10
+ id,
11
+ opened,
12
+ rootRef = {
13
+ current: undefined
28
14
  },
29
- innerRef: null,
30
- include_owner_width: false,
31
- independent_width: false,
32
- fixed_position: false,
33
- className: null
34
- };
35
- export class DrawerListPortal extends React.PureComponent {
36
- constructor(props) {
37
- super(props);
38
- _defineProperty(this, "state", {
39
- isMounted: false
40
- });
41
- _defineProperty(this, "init", () => {
42
- this.portalElem = this.useRootElement();
43
- this.setState({
44
- isMounted: true
45
- });
46
- });
47
- this.ref = props.innerRef || React.createRef();
48
- }
49
- componentDidMount() {
15
+ include_owner_width,
16
+ independent_width,
17
+ fixed_position,
18
+ className,
19
+ children
20
+ }) {
21
+ const [isMounted, setIsMounted] = useState(false);
22
+ const [, setForceRerender] = useState();
23
+ const ref = innerRef || React.createRef();
24
+ const portalElem = useRef();
25
+ const setPosition = useRef();
26
+ const positionTimeout = useRef();
27
+ const customElem = useRef();
28
+ const resizeObserver = useRef();
29
+ const init = () => {
30
+ portalElem.current = getRootElement();
31
+ setIsMounted(true);
32
+ };
33
+ useEffect(() => {
50
34
  if (document.readyState === 'complete') {
51
- this.init();
35
+ init();
52
36
  } else if (typeof window !== 'undefined') {
53
- window.addEventListener('load', this.init);
54
- }
55
- }
56
- componentWillUnmount() {
57
- if (typeof window !== 'undefined') {
58
- window.removeEventListener('load', this.init);
37
+ window.addEventListener('load', init);
59
38
  }
60
- this.removePositionObserver();
61
- this.portalElem = null;
62
- }
63
- useRootElement() {
39
+ }, []);
40
+ useEffect(() => {
41
+ return () => {
42
+ if (typeof window !== 'undefined') {
43
+ window.removeEventListener('load', init);
44
+ }
45
+ removePositionObserver();
46
+ portalElem.current = null;
47
+ };
48
+ }, []);
49
+ const getRootElement = () => {
64
50
  if (typeof document !== 'undefined') {
65
51
  try {
66
- let elem = document.getElementById(`${this.props.id}-portal`);
52
+ let elem = document.getElementById(`${id}-portal`);
67
53
  if (elem) {
68
54
  return elem;
69
55
  }
70
56
  elem = document.createElement('div');
71
- elem.setAttribute('id', `${this.props.id}-portal`);
57
+ elem.setAttribute('id', `${id}-portal`);
72
58
  elem.classList.add('dnb-drawer-list__portal');
73
- this.createMainElement().appendChild(elem);
59
+ createMainElement().appendChild(elem);
74
60
  return elem;
75
61
  } catch (e) {
76
62
  warn(e);
77
63
  }
78
64
  }
79
- }
80
- createMainElement() {
65
+ };
66
+ const createMainElement = () => {
81
67
  if (typeof document !== 'undefined') {
82
68
  try {
83
69
  let elem = document.getElementById('dnb-drawer-list__portal');
@@ -94,18 +80,12 @@ export class DrawerListPortal extends React.PureComponent {
94
80
  warn(e);
95
81
  }
96
82
  }
97
- }
98
- makeStyle() {
99
- if (typeof window === 'undefined' || !this.state.isMounted) {
83
+ };
84
+ const makeStyle = () => {
85
+ if (typeof window === 'undefined' || !isMounted) {
100
86
  return;
101
87
  }
102
88
  try {
103
- const {
104
- rootRef,
105
- include_owner_width,
106
- independent_width,
107
- fixed_position
108
- } = this.props;
109
89
  const rootElem = rootRef.current;
110
90
  if (!rootElem) {
111
91
  return;
@@ -118,14 +98,14 @@ export class DrawerListPortal extends React.PureComponent {
118
98
  width = minWidth * 16;
119
99
  }
120
100
  const customWidth = rootElem.getBoundingClientRect().width;
121
- if (!independent_width && parseFloat(customWidth || 0) >= 64) {
101
+ if (!independent_width && (customWidth || 0) >= 64) {
122
102
  width = customWidth;
123
103
  }
124
104
  const rect = rootElem.getBoundingClientRect();
125
105
  const scrollY = fixed_position ? 0 : window.scrollY !== undefined ? window.scrollY : window.pageYOffset;
126
106
  const scrollX = fixed_position ? 0 : window.scrollX !== undefined ? window.scrollX : window.pageXOffset;
127
107
  let top = scrollY + rect.top;
128
- let left = scrollX + rect.left + (include_owner_width ? parseFloat(ownerWidth || 0) : 0);
108
+ let left = scrollX + rect.left + (include_owner_width ? parseFloat(ownerWidth || '0') : 0);
129
109
  if (width > window.innerWidth) {
130
110
  width = window.innerWidth;
131
111
  }
@@ -145,70 +125,58 @@ export class DrawerListPortal extends React.PureComponent {
145
125
  } catch (e) {
146
126
  warn(e);
147
127
  }
148
- }
149
- addPositionObserver() {
150
- if (this.setPosition || typeof window === 'undefined') {
128
+ };
129
+ const addPositionObserver = () => {
130
+ if (setPosition.current || typeof window === 'undefined') {
151
131
  return;
152
132
  }
153
- this.setPosition = () => {
154
- clearTimeout(this.positionTimeout);
155
- this.positionTimeout = setTimeout(() => {
156
- if (this.props.opened) {
157
- this.setState({
158
- random: Date.now()
159
- });
133
+ setPosition.current = () => {
134
+ clearTimeout(positionTimeout.current);
135
+ positionTimeout.current = setTimeout(() => {
136
+ if (opened) {
137
+ setForceRerender(Date.now());
160
138
  }
161
139
  }, 200);
162
140
  };
163
- this.customElem = getClosestScrollViewElement(this.props.rootRef.current) || window;
164
- this.customElem.addEventListener('scroll', this.setPosition);
141
+ customElem.current = getClosestScrollViewElement(rootRef.current) || window;
142
+ customElem.current.addEventListener('scroll', setPosition.current);
165
143
  try {
166
- this.resizeObserver = new ResizeObserver(this.setPosition);
167
- this.resizeObserver.observe(document.body);
144
+ resizeObserver.current = new ResizeObserver(setPosition.current);
145
+ resizeObserver.current.observe(document.body);
168
146
  } catch (e) {
169
- window.addEventListener('resize', this.setPosition);
147
+ window.addEventListener('resize', setPosition.current);
170
148
  }
171
- }
172
- removePositionObserver() {
173
- clearTimeout(this.positionTimeout);
174
- if (typeof window !== 'undefined' && this.setPosition) {
175
- if (this.customElem) {
176
- this.customElem.removeEventListener('scroll', this.setPosition);
149
+ };
150
+ const removePositionObserver = () => {
151
+ clearTimeout(positionTimeout.current);
152
+ if (typeof window !== 'undefined' && setPosition.current) {
153
+ if (customElem.current) {
154
+ customElem.current.removeEventListener('scroll', setPosition.current);
177
155
  }
178
- if (this.resizeObserver) {
179
- this.resizeObserver.disconnect();
180
- this.resizeObserver = null;
156
+ if (resizeObserver.current) {
157
+ resizeObserver.current.disconnect();
158
+ resizeObserver.current = null;
181
159
  }
182
- window.removeEventListener('resize', this.setPosition);
160
+ window.removeEventListener('resize', setPosition.current);
183
161
  }
184
- this.setPosition = null;
162
+ setPosition.current = null;
163
+ };
164
+ if (!portalElem.current) {
165
+ return null;
185
166
  }
186
- render() {
187
- if (!this.portalElem) {
188
- return null;
167
+ if (typeof window !== 'undefined' && isMounted) {
168
+ if (opened) {
169
+ addPositionObserver();
189
170
  }
190
- if (typeof window !== 'undefined' && this.state.isMounted) {
191
- const {
192
- opened,
193
- fixed_position,
194
- className,
195
- children
196
- } = this.props;
197
- if (opened) {
198
- this.addPositionObserver();
199
- }
200
- const style = opened ? this.makeStyle() : {};
201
- return ReactDOM.createPortal(React.createElement("span", {
202
- className: classnames('dnb-drawer-list__portal__style', className, fixed_position && 'dnb-drawer-list__portal__style--fixed'),
203
- style: style,
204
- ref: this.ref
205
- }, children), this.portalElem);
206
- }
207
- return null;
171
+ const style = opened ? makeStyle() : {};
172
+ return ReactDOM.createPortal(React.createElement("span", {
173
+ className: classnames('dnb-drawer-list__portal__style', className, fixed_position && 'dnb-drawer-list__portal__style--fixed'),
174
+ style: style,
175
+ ref: ref
176
+ }, children), portalElem.current);
208
177
  }
178
+ return null;
209
179
  }
210
- _defineProperty(DrawerListPortal, "defaultProps", _objectSpread({}, drawerListDefaultProps));
211
- process.env.NODE_ENV !== "production" ? DrawerListPortal.propTypes = _objectSpread({}, drawerListPropTypes) : void 0;
212
180
  export default React.forwardRef((props, ref) => {
213
181
  return React.createElement(DrawerListPortal, _extends({
214
182
  innerRef: ref
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerListPortal.js","names":["React","ReactDOM","PropTypes","classnames","warn","getClosestScrollViewElement","drawerListPropTypes","process","env","NODE_ENV","id","string","isRequired","children","node","opened","bool","innerRef","shape","current","oneOfType","object","rootRef","include_owner_width","independent_width","fixed_position","className","drawerListDefaultProps","DrawerListPortal","PureComponent","constructor","props","_defineProperty","isMounted","portalElem","useRootElement","setState","ref","createRef","componentDidMount","document","readyState","init","window","addEventListener","componentWillUnmount","removeEventListener","removePositionObserver","elem","getElementById","createElement","setAttribute","classList","add","createMainElement","appendChild","e","body","makeStyle","state","rootElem","ownerElem","parentElement","width","ownerWidth","getComputedStyle","parseFloat","minWidth","documentElement","getPropertyValue","customWidth","getBoundingClientRect","rect","scrollY","undefined","pageYOffset","scrollX","pageXOffset","top","left","innerWidth","style","addPositionObserver","setPosition","clearTimeout","positionTimeout","setTimeout","random","Date","now","customElem","resizeObserver","ResizeObserver","observe","disconnect","render","createPortal","_objectSpread","propTypes","forwardRef","_extends"],"sources":["../../../../src/fragments/drawer-list/DrawerListPortal.js"],"sourcesContent":["/**\n * Web DrawerList Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n warn,\n getClosestScrollViewElement,\n} from '../../shared/component-helper'\n\nconst drawerListPropTypes = {\n id: PropTypes.string.isRequired,\n children: PropTypes.node.isRequired,\n opened: PropTypes.bool.isRequired,\n innerRef: PropTypes.shape({\n current: PropTypes.oneOfType([PropTypes.node, PropTypes.object]),\n }),\n rootRef: PropTypes.shape({\n current: PropTypes.oneOfType([PropTypes.node, PropTypes.object]),\n }).isRequired,\n include_owner_width: PropTypes.bool,\n independent_width: PropTypes.bool,\n fixed_position: PropTypes.bool,\n className: PropTypes.string,\n}\n\nconst drawerListDefaultProps = {\n rootRef: { current: null },\n innerRef: null,\n include_owner_width: false,\n independent_width: false,\n fixed_position: false,\n className: null,\n}\n\nexport class DrawerListPortal extends React.PureComponent {\n static propTypes = {\n ...drawerListPropTypes,\n }\n\n static defaultProps = {\n ...drawerListDefaultProps,\n }\n\n state = { isMounted: false }\n\n constructor(props) {\n super(props)\n this.ref = props.innerRef || React.createRef()\n }\n\n init = () => {\n this.portalElem = this.useRootElement()\n this.setState({ isMounted: true })\n }\n\n componentDidMount() {\n if (document.readyState === 'complete') {\n this.init()\n } else if (typeof window !== 'undefined') {\n window.addEventListener('load', this.init)\n }\n }\n\n componentWillUnmount() {\n if (typeof window !== 'undefined') {\n window.removeEventListener('load', this.init)\n }\n\n this.removePositionObserver()\n this.portalElem = null\n }\n\n useRootElement() {\n if (typeof document !== 'undefined') {\n try {\n let elem = document.getElementById(`${this.props.id}-portal`)\n if (elem) {\n return elem\n }\n\n elem = document.createElement('div')\n elem.setAttribute('id', `${this.props.id}-portal`)\n elem.classList.add('dnb-drawer-list__portal')\n this.createMainElement().appendChild(elem)\n\n return elem\n } catch (e) {\n warn(e)\n }\n }\n }\n\n createMainElement() {\n if (typeof document !== 'undefined') {\n try {\n let elem = document.getElementById('dnb-drawer-list__portal')\n if (elem) {\n return elem\n }\n\n elem = document.createElement('div')\n elem.setAttribute('role', 'presentation')\n elem.setAttribute('id', 'dnb-drawer-list__portal')\n elem.classList.add('dnb-core-style')\n document.body.appendChild(elem)\n\n return elem\n } catch (e) {\n warn(e)\n }\n }\n }\n\n makeStyle() {\n if (typeof window === 'undefined' || !this.state.isMounted) {\n return // stop here\n }\n\n try {\n const {\n rootRef,\n include_owner_width,\n independent_width,\n fixed_position,\n } = this.props\n\n const rootElem = rootRef.current\n if (!rootElem) {\n return // stop here\n }\n const ownerElem = rootElem.parentElement\n\n // min width as a threshold\n let width = 64\n\n // Handle width\n const ownerWidth = window.getComputedStyle(ownerElem).width\n\n // fallback for too narrow width - in case there is not width -> e.g. \"--is-popup\"\n if (independent_width || parseFloat(ownerWidth) < 64) {\n // get min-width from CSS property\n const minWidth =\n parseFloat(\n window\n .getComputedStyle(document.documentElement)\n .getPropertyValue('--drawer-list-width')\n ) || 0\n width = minWidth * 16\n }\n\n // also check if root \"has a custom width\"\n const customWidth = rootElem.getBoundingClientRect().width\n if (!independent_width && parseFloat(customWidth || 0) >= 64) {\n width = customWidth\n }\n\n // Handle positions\n const rect = rootElem.getBoundingClientRect()\n const scrollY = fixed_position\n ? 0\n : window.scrollY !== undefined\n ? window.scrollY\n : window.pageYOffset\n const scrollX = fixed_position\n ? 0\n : window.scrollX !== undefined\n ? window.scrollX\n : window.pageXOffset\n\n let top = scrollY + rect.top\n let left =\n scrollX +\n rect.left +\n (include_owner_width ? parseFloat(ownerWidth || 0) : 0)\n\n if (width > window.innerWidth) {\n width = window.innerWidth\n }\n if (top < 0) {\n top = 0\n }\n if (left < 0) {\n left = 0\n }\n\n // NB: before we recalculated the values to REM, but iOS rounds this and we get a wrong total value out of that!\n const style = {\n width,\n '--drawer-list-width': `${width / 16}rem`, // used by the \"drawer-list-scale-in\" animation\n top,\n left,\n }\n\n return style\n } catch (e) {\n warn(e)\n }\n }\n\n addPositionObserver() {\n if (this.setPosition || typeof window === 'undefined') {\n return // stop here\n }\n\n // debounce\n this.setPosition = () => {\n clearTimeout(this.positionTimeout)\n this.positionTimeout = setTimeout(() => {\n if (this.props.opened) {\n this.setState({\n random: Date.now(), // force re-render\n })\n }\n }, 200)\n }\n\n this.customElem =\n getClosestScrollViewElement(this.props.rootRef.current) || window\n this.customElem.addEventListener('scroll', this.setPosition)\n\n try {\n this.resizeObserver = new ResizeObserver(this.setPosition)\n this.resizeObserver.observe(document.body)\n } catch (e) {\n window.addEventListener('resize', this.setPosition)\n }\n }\n\n removePositionObserver() {\n clearTimeout(this.positionTimeout)\n if (typeof window !== 'undefined' && this.setPosition) {\n if (this.customElem) {\n this.customElem.removeEventListener('scroll', this.setPosition)\n }\n if (this.resizeObserver) {\n this.resizeObserver.disconnect()\n this.resizeObserver = null\n }\n window.removeEventListener('resize', this.setPosition)\n }\n this.setPosition = null\n }\n\n render() {\n if (!this.portalElem) {\n return null // stop here\n }\n\n if (typeof window !== 'undefined' && this.state.isMounted) {\n const { opened, fixed_position, className, children } = this.props\n\n if (opened) {\n this.addPositionObserver()\n }\n\n const style = opened ? this.makeStyle() : {}\n\n return ReactDOM.createPortal(\n <span\n className={classnames(\n 'dnb-drawer-list__portal__style',\n fixed_position && 'dnb-drawer-list__portal__style--fixed',\n className\n )}\n style={style}\n ref={this.ref}\n >\n {children}\n </span>,\n this.portalElem\n )\n }\n\n return null\n }\n}\n\nexport default React.forwardRef((props, ref) => {\n return <DrawerListPortal innerRef={ref} {...props} />\n})\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DrawerListPortal.js","names":["React","useEffect","useRef","useState","ReactDOM","classnames","warn","getClosestScrollViewElement","DrawerListPortal","innerRef","id","opened","rootRef","current","undefined","include_owner_width","independent_width","fixed_position","className","children","isMounted","setIsMounted","setForceRerender","ref","createRef","portalElem","setPosition","positionTimeout","customElem","resizeObserver","init","getRootElement","document","readyState","window","addEventListener","removeEventListener","removePositionObserver","elem","getElementById","createElement","setAttribute","classList","add","createMainElement","appendChild","e","body","makeStyle","rootElem","ownerElem","parentElement","width","ownerWidth","getComputedStyle","parseFloat","minWidth","documentElement","getPropertyValue","customWidth","getBoundingClientRect","rect","scrollY","pageYOffset","scrollX","pageXOffset","top","left","innerWidth","style","addPositionObserver","clearTimeout","setTimeout","Date","now","ResizeObserver","observe","disconnect","createPortal","forwardRef","props","_extends"],"sources":["../../../../src/fragments/drawer-list/DrawerListPortal.tsx"],"sourcesContent":["/**\n * Web DrawerList Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React, { useEffect, useRef, useState } from 'react'\nimport ReactDOM from 'react-dom'\nimport classnames from 'classnames'\nimport {\n warn,\n getClosestScrollViewElement,\n} from '../../shared/component-helper'\n\nexport type DrawerListPortalProps = {\n id: string\n children: React.ReactNode\n opened: boolean\n innerRef?: React.ForwardedRef<HTMLSpanElement>\n rootRef: React.RefObject<HTMLSpanElement>\n include_owner_width?: boolean\n independent_width?: boolean\n fixed_position?: boolean\n className?: string\n}\n\nfunction DrawerListPortal({\n innerRef,\n id,\n opened,\n rootRef = { current: undefined },\n include_owner_width,\n independent_width,\n fixed_position,\n className,\n children,\n}: DrawerListPortalProps) {\n const [isMounted, setIsMounted] = useState(false)\n const [, setForceRerender] = useState<number>()\n\n const ref: React.LegacyRef<HTMLSpanElement> =\n innerRef || React.createRef()\n\n const portalElem = useRef<HTMLElement>()\n const setPosition = useRef<() => void>()\n const positionTimeout = useRef<NodeJS.Timeout>()\n const customElem = useRef<Element | Window>()\n const resizeObserver = useRef<ResizeObserver>()\n\n const init = () => {\n portalElem.current = getRootElement()\n setIsMounted(true)\n }\n\n useEffect(() => {\n if (document.readyState === 'complete') {\n init()\n } else if (typeof window !== 'undefined') {\n window.addEventListener('load', init)\n }\n }, [])\n\n useEffect(() => {\n return () => {\n if (typeof window !== 'undefined') {\n window.removeEventListener('load', init)\n }\n\n removePositionObserver()\n portalElem.current = null\n }\n }, [])\n\n const getRootElement = () => {\n if (typeof document !== 'undefined') {\n try {\n let elem = document.getElementById(`${id}-portal`)\n if (elem) {\n return elem\n }\n\n elem = document.createElement('div')\n elem.setAttribute('id', `${id}-portal`)\n elem.classList.add('dnb-drawer-list__portal')\n createMainElement().appendChild(elem)\n\n return elem\n } catch (e) {\n warn(e)\n }\n }\n }\n\n const createMainElement = () => {\n if (typeof document !== 'undefined') {\n try {\n let elem = document.getElementById('dnb-drawer-list__portal')\n if (elem) {\n return elem\n }\n\n elem = document.createElement('div')\n elem.setAttribute('role', 'presentation')\n elem.setAttribute('id', 'dnb-drawer-list__portal')\n elem.classList.add('dnb-core-style')\n document.body.appendChild(elem)\n\n return elem\n } catch (e) {\n warn(e)\n }\n }\n }\n\n const makeStyle = () => {\n if (typeof window === 'undefined' || !isMounted) {\n return // stop here\n }\n\n try {\n const rootElem = rootRef.current\n if (!rootElem) {\n return // stop here\n }\n const ownerElem = rootElem.parentElement\n\n // min width as a threshold\n let width = 64\n\n // Handle width\n const ownerWidth = window.getComputedStyle(ownerElem).width\n\n // fallback for too narrow width - in case there is not width -> e.g. \"--is-popup\"\n if (independent_width || parseFloat(ownerWidth) < 64) {\n // get min-width from CSS property\n const minWidth =\n parseFloat(\n window\n .getComputedStyle(document.documentElement)\n .getPropertyValue('--drawer-list-width')\n ) || 0\n width = minWidth * 16\n }\n\n // also check if root \"has a custom width\"\n const customWidth = rootElem.getBoundingClientRect().width\n if (!independent_width && (customWidth || 0) >= 64) {\n width = customWidth\n }\n\n // Handle positions\n const rect = rootElem.getBoundingClientRect()\n const scrollY = fixed_position\n ? 0\n : window.scrollY !== undefined\n ? window.scrollY\n : window.pageYOffset\n const scrollX = fixed_position\n ? 0\n : window.scrollX !== undefined\n ? window.scrollX\n : window.pageXOffset\n\n let top = scrollY + rect.top\n let left =\n scrollX +\n rect.left +\n (include_owner_width ? parseFloat(ownerWidth || '0') : 0)\n\n if (width > window.innerWidth) {\n width = window.innerWidth\n }\n if (top < 0) {\n top = 0\n }\n if (left < 0) {\n left = 0\n }\n\n // NB: before we recalculated the values to REM, but iOS rounds this and we get a wrong total value out of that!\n const style = {\n width,\n '--drawer-list-width': `${width / 16}rem`, // used by the \"drawer-list-scale-in\" animation\n top,\n left,\n }\n\n return style\n } catch (e) {\n warn(e)\n }\n }\n\n const addPositionObserver = () => {\n if (setPosition.current || typeof window === 'undefined') {\n return // stop here\n }\n\n // debounce\n setPosition.current = () => {\n clearTimeout(positionTimeout.current)\n positionTimeout.current = setTimeout(() => {\n if (opened) {\n setForceRerender(Date.now())\n }\n }, 200)\n }\n\n customElem.current =\n getClosestScrollViewElement(rootRef.current) || window\n customElem.current.addEventListener('scroll', setPosition.current)\n\n try {\n resizeObserver.current = new ResizeObserver(setPosition.current)\n resizeObserver.current.observe(document.body)\n } catch (e) {\n window.addEventListener('resize', setPosition.current)\n }\n }\n\n const removePositionObserver = () => {\n clearTimeout(positionTimeout.current)\n if (typeof window !== 'undefined' && setPosition.current) {\n if (customElem.current) {\n customElem.current.removeEventListener(\n 'scroll',\n setPosition.current\n )\n }\n if (resizeObserver.current) {\n resizeObserver.current.disconnect()\n resizeObserver.current = null\n }\n window.removeEventListener('resize', setPosition.current)\n }\n setPosition.current = null\n }\n\n if (!portalElem.current) {\n return null // stop here\n }\n\n if (typeof window !== 'undefined' && isMounted) {\n if (opened) {\n addPositionObserver()\n }\n\n const style = opened ? makeStyle() : {}\n\n return ReactDOM.createPortal(\n <span\n className={classnames(\n 'dnb-drawer-list__portal__style',\n fixed_position && 'dnb-drawer-list__portal__style--fixed',\n className\n )}\n style={style}\n ref={ref}\n >\n {children}\n </span>,\n portalElem.current\n )\n }\n\n return null\n}\n\nexport default React.forwardRef(\n (\n props: Omit<DrawerListPortalProps, 'innerRef'>,\n ref: React.ForwardedRef<HTMLSpanElement>\n ) => {\n return <DrawerListPortal innerRef={ref} {...props} />\n }\n)\n"],"mappings":";;;AAOA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAC1D,OAAOC,QAAQ,MAAM,WAAW;AAChC,OAAOC,UAAU,MAAM,YAAY;AACnC,SACEC,IAAI,EACJC,2BAA2B,QACtB,+BAA+B;AActC,SAASC,gBAAgBA,CAAC;EACxBC,QAAQ;EACRC,EAAE;EACFC,MAAM;EACNC,OAAO,GAAG;IAAEC,OAAO,EAAEC;EAAU,CAAC;EAChCC,mBAAmB;EACnBC,iBAAiB;EACjBC,cAAc;EACdC,SAAS;EACTC;AACqB,CAAC,EAAE;EACxB,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGlB,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAM,GAAGmB,gBAAgB,CAAC,GAAGnB,QAAQ,CAAS,CAAC;EAE/C,MAAMoB,GAAqC,GACzCd,QAAQ,IAAIT,KAAK,CAACwB,SAAS,CAAC,CAAC;EAE/B,MAAMC,UAAU,GAAGvB,MAAM,CAAc,CAAC;EACxC,MAAMwB,WAAW,GAAGxB,MAAM,CAAa,CAAC;EACxC,MAAMyB,eAAe,GAAGzB,MAAM,CAAiB,CAAC;EAChD,MAAM0B,UAAU,GAAG1B,MAAM,CAAmB,CAAC;EAC7C,MAAM2B,cAAc,GAAG3B,MAAM,CAAiB,CAAC;EAE/C,MAAM4B,IAAI,GAAGA,CAAA,KAAM;IACjBL,UAAU,CAACZ,OAAO,GAAGkB,cAAc,CAAC,CAAC;IACrCV,YAAY,CAAC,IAAI,CAAC;EACpB,CAAC;EAEDpB,SAAS,CAAC,MAAM;IACd,IAAI+B,QAAQ,CAACC,UAAU,KAAK,UAAU,EAAE;MACtCH,IAAI,CAAC,CAAC;IACR,CAAC,MAAM,IAAI,OAAOI,MAAM,KAAK,WAAW,EAAE;MACxCA,MAAM,CAACC,gBAAgB,CAAC,MAAM,EAAEL,IAAI,CAAC;IACvC;EACF,CAAC,EAAE,EAAE,CAAC;EAEN7B,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACX,IAAI,OAAOiC,MAAM,KAAK,WAAW,EAAE;QACjCA,MAAM,CAACE,mBAAmB,CAAC,MAAM,EAAEN,IAAI,CAAC;MAC1C;MAEAO,sBAAsB,CAAC,CAAC;MACxBZ,UAAU,CAACZ,OAAO,GAAG,IAAI;IAC3B,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMkB,cAAc,GAAGA,CAAA,KAAM;IAC3B,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE;MACnC,IAAI;QACF,IAAIM,IAAI,GAAGN,QAAQ,CAACO,cAAc,CAAC,GAAG7B,EAAE,SAAS,CAAC;QAClD,IAAI4B,IAAI,EAAE;UACR,OAAOA,IAAI;QACb;QAEAA,IAAI,GAAGN,QAAQ,CAACQ,aAAa,CAAC,KAAK,CAAC;QACpCF,IAAI,CAACG,YAAY,CAAC,IAAI,EAAE,GAAG/B,EAAE,SAAS,CAAC;QACvC4B,IAAI,CAACI,SAAS,CAACC,GAAG,CAAC,yBAAyB,CAAC;QAC7CC,iBAAiB,CAAC,CAAC,CAACC,WAAW,CAACP,IAAI,CAAC;QAErC,OAAOA,IAAI;MACb,CAAC,CAAC,OAAOQ,CAAC,EAAE;QACVxC,IAAI,CAACwC,CAAC,CAAC;MACT;IACF;EACF,CAAC;EAED,MAAMF,iBAAiB,GAAGA,CAAA,KAAM;IAC9B,IAAI,OAAOZ,QAAQ,KAAK,WAAW,EAAE;MACnC,IAAI;QACF,IAAIM,IAAI,GAAGN,QAAQ,CAACO,cAAc,CAAC,yBAAyB,CAAC;QAC7D,IAAID,IAAI,EAAE;UACR,OAAOA,IAAI;QACb;QAEAA,IAAI,GAAGN,QAAQ,CAACQ,aAAa,CAAC,KAAK,CAAC;QACpCF,IAAI,CAACG,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC;QACzCH,IAAI,CAACG,YAAY,CAAC,IAAI,EAAE,yBAAyB,CAAC;QAClDH,IAAI,CAACI,SAAS,CAACC,GAAG,CAAC,gBAAgB,CAAC;QACpCX,QAAQ,CAACe,IAAI,CAACF,WAAW,CAACP,IAAI,CAAC;QAE/B,OAAOA,IAAI;MACb,CAAC,CAAC,OAAOQ,CAAC,EAAE;QACVxC,IAAI,CAACwC,CAAC,CAAC;MACT;IACF;EACF,CAAC;EAED,MAAME,SAAS,GAAGA,CAAA,KAAM;IACtB,IAAI,OAAOd,MAAM,KAAK,WAAW,IAAI,CAACd,SAAS,EAAE;MAC/C;IACF;IAEA,IAAI;MACF,MAAM6B,QAAQ,GAAGrC,OAAO,CAACC,OAAO;MAChC,IAAI,CAACoC,QAAQ,EAAE;QACb;MACF;MACA,MAAMC,SAAS,GAAGD,QAAQ,CAACE,aAAa;MAGxC,IAAIC,KAAK,GAAG,EAAE;MAGd,MAAMC,UAAU,GAAGnB,MAAM,CAACoB,gBAAgB,CAACJ,SAAS,CAAC,CAACE,KAAK;MAG3D,IAAIpC,iBAAiB,IAAIuC,UAAU,CAACF,UAAU,CAAC,GAAG,EAAE,EAAE;QAEpD,MAAMG,QAAQ,GACZD,UAAU,CACRrB,MAAM,CACHoB,gBAAgB,CAACtB,QAAQ,CAACyB,eAAe,CAAC,CAC1CC,gBAAgB,CAAC,qBAAqB,CAC3C,CAAC,IAAI,CAAC;QACRN,KAAK,GAAGI,QAAQ,GAAG,EAAE;MACvB;MAGA,MAAMG,WAAW,GAAGV,QAAQ,CAACW,qBAAqB,CAAC,CAAC,CAACR,KAAK;MAC1D,IAAI,CAACpC,iBAAiB,IAAI,CAAC2C,WAAW,IAAI,CAAC,KAAK,EAAE,EAAE;QAClDP,KAAK,GAAGO,WAAW;MACrB;MAGA,MAAME,IAAI,GAAGZ,QAAQ,CAACW,qBAAqB,CAAC,CAAC;MAC7C,MAAME,OAAO,GAAG7C,cAAc,GAC1B,CAAC,GACDiB,MAAM,CAAC4B,OAAO,KAAKhD,SAAS,GAC5BoB,MAAM,CAAC4B,OAAO,GACd5B,MAAM,CAAC6B,WAAW;MACtB,MAAMC,OAAO,GAAG/C,cAAc,GAC1B,CAAC,GACDiB,MAAM,CAAC8B,OAAO,KAAKlD,SAAS,GAC5BoB,MAAM,CAAC8B,OAAO,GACd9B,MAAM,CAAC+B,WAAW;MAEtB,IAAIC,GAAG,GAAGJ,OAAO,GAAGD,IAAI,CAACK,GAAG;MAC5B,IAAIC,IAAI,GACNH,OAAO,GACPH,IAAI,CAACM,IAAI,IACRpD,mBAAmB,GAAGwC,UAAU,CAACF,UAAU,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;MAE3D,IAAID,KAAK,GAAGlB,MAAM,CAACkC,UAAU,EAAE;QAC7BhB,KAAK,GAAGlB,MAAM,CAACkC,UAAU;MAC3B;MACA,IAAIF,GAAG,GAAG,CAAC,EAAE;QACXA,GAAG,GAAG,CAAC;MACT;MACA,IAAIC,IAAI,GAAG,CAAC,EAAE;QACZA,IAAI,GAAG,CAAC;MACV;MAGA,MAAME,KAAK,GAAG;QACZjB,KAAK;QACL,qBAAqB,EAAE,GAAGA,KAAK,GAAG,EAAE,KAAK;QACzCc,GAAG;QACHC;MACF,CAAC;MAED,OAAOE,KAAK;IACd,CAAC,CAAC,OAAOvB,CAAC,EAAE;MACVxC,IAAI,CAACwC,CAAC,CAAC;IACT;EACF,CAAC;EAED,MAAMwB,mBAAmB,GAAGA,CAAA,KAAM;IAChC,IAAI5C,WAAW,CAACb,OAAO,IAAI,OAAOqB,MAAM,KAAK,WAAW,EAAE;MACxD;IACF;IAGAR,WAAW,CAACb,OAAO,GAAG,MAAM;MAC1B0D,YAAY,CAAC5C,eAAe,CAACd,OAAO,CAAC;MACrCc,eAAe,CAACd,OAAO,GAAG2D,UAAU,CAAC,MAAM;QACzC,IAAI7D,MAAM,EAAE;UACVW,gBAAgB,CAACmD,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC;QAC9B;MACF,CAAC,EAAE,GAAG,CAAC;IACT,CAAC;IAED9C,UAAU,CAACf,OAAO,GAChBN,2BAA2B,CAACK,OAAO,CAACC,OAAO,CAAC,IAAIqB,MAAM;IACxDN,UAAU,CAACf,OAAO,CAACsB,gBAAgB,CAAC,QAAQ,EAAET,WAAW,CAACb,OAAO,CAAC;IAElE,IAAI;MACFgB,cAAc,CAAChB,OAAO,GAAG,IAAI8D,cAAc,CAACjD,WAAW,CAACb,OAAO,CAAC;MAChEgB,cAAc,CAAChB,OAAO,CAAC+D,OAAO,CAAC5C,QAAQ,CAACe,IAAI,CAAC;IAC/C,CAAC,CAAC,OAAOD,CAAC,EAAE;MACVZ,MAAM,CAACC,gBAAgB,CAAC,QAAQ,EAAET,WAAW,CAACb,OAAO,CAAC;IACxD;EACF,CAAC;EAED,MAAMwB,sBAAsB,GAAGA,CAAA,KAAM;IACnCkC,YAAY,CAAC5C,eAAe,CAACd,OAAO,CAAC;IACrC,IAAI,OAAOqB,MAAM,KAAK,WAAW,IAAIR,WAAW,CAACb,OAAO,EAAE;MACxD,IAAIe,UAAU,CAACf,OAAO,EAAE;QACtBe,UAAU,CAACf,OAAO,CAACuB,mBAAmB,CACpC,QAAQ,EACRV,WAAW,CAACb,OACd,CAAC;MACH;MACA,IAAIgB,cAAc,CAAChB,OAAO,EAAE;QAC1BgB,cAAc,CAAChB,OAAO,CAACgE,UAAU,CAAC,CAAC;QACnChD,cAAc,CAAChB,OAAO,GAAG,IAAI;MAC/B;MACAqB,MAAM,CAACE,mBAAmB,CAAC,QAAQ,EAAEV,WAAW,CAACb,OAAO,CAAC;IAC3D;IACAa,WAAW,CAACb,OAAO,GAAG,IAAI;EAC5B,CAAC;EAED,IAAI,CAACY,UAAU,CAACZ,OAAO,EAAE;IACvB,OAAO,IAAI;EACb;EAEA,IAAI,OAAOqB,MAAM,KAAK,WAAW,IAAId,SAAS,EAAE;IAC9C,IAAIT,MAAM,EAAE;MACV2D,mBAAmB,CAAC,CAAC;IACvB;IAEA,MAAMD,KAAK,GAAG1D,MAAM,GAAGqC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC;IAEvC,OAAO5C,QAAQ,CAAC0E,YAAY,CAC1B9E,KAAA,CAAAwC,aAAA;MACEtB,SAAS,EAAEb,UAAU,CACnB,gCAAgC,EAEhCa,SAAS,EADTD,cAAc,IAAI,uCAEpB,CAAE;MACFoD,KAAK,EAAEA,KAAM;MACb9C,GAAG,EAAEA;IAAI,GAERJ,QACG,CAAC,EACPM,UAAU,CAACZ,OACb,CAAC;EACH;EAEA,OAAO,IAAI;AACb;AAEA,eAAeb,KAAK,CAAC+E,UAAU,CAC7B,CACEC,KAA8C,EAC9CzD,GAAwC,KACrC;EACH,OAAOvB,KAAA,CAAAwC,aAAA,CAAChC,gBAAgB,EAAAyE,QAAA;IAACxE,QAAQ,EAAEc;EAAI,GAAKyD,KAAK,CAAG,CAAC;AACvD,CACF,CAAC","ignoreList":[]}
@@ -1,14 +1,220 @@
1
- import * as React from 'react';
1
+ /**
2
+ * Web DrawerList Provider
3
+ *
4
+ * This is a legacy component.
5
+ * For referencing while developing new features, please use a Functional component.
6
+ */
7
+ /// <reference types="node" />
8
+ import React from 'react';
9
+ import Context from '../../shared/Context';
10
+ import { DetectOutsideClickClass } from '../../shared/component-helper';
11
+ import { DrawerListContextState } from './DrawerListContext';
2
12
  import type { SpacingProps } from '../../shared/types';
3
13
  import type { DrawerListProps } from './DrawerList';
4
- export interface DrawerListProviderProps
5
- extends React.HTMLProps<HTMLElement>,
6
- SpacingProps,
7
- DrawerListProps {}
8
- export default class DrawerListProvider extends React.Component<
9
- DrawerListProviderProps,
10
- any
11
- > {
12
- static defaultProps: object;
13
- render(): JSX.Element;
14
+ export type DrawerListProviderProps = Omit<DrawerListProps, 'children'> & Omit<React.HTMLProps<HTMLElement>, 'data' | 'role' | 'size' | 'value'> & SpacingProps & {
15
+ hasFocusOnElement?: boolean;
16
+ getActiveElement?: () => HTMLElement;
17
+ setData?: (data: any, cb?: any, { overwriteOriginalData, }?: {
18
+ overwriteOriginalData?: boolean;
19
+ }) => DrawerListProvider;
20
+ setState?: (state: any, cb?: any) => void;
21
+ setWrapperElement?: (wrapper_element?: string | HTMLElement) => DrawerListProvider;
22
+ setHidden?: (args?: any[], onStateComplete?: any) => void;
23
+ selectItemAndClose?: (itemToSelect: any, args?: {
24
+ fireSelectEvent?: boolean;
25
+ event: any;
26
+ }) => any;
27
+ selected_item?: string | number;
28
+ active_item?: string | number;
29
+ showFocusRing?: boolean;
30
+ closestToTop?: number;
31
+ closestToBottom?: number;
32
+ usePortal?: boolean;
33
+ addObservers?: () => void;
34
+ removeObservers?: () => void;
35
+ setVisible?: (args?: Record<string, any>, onStateComplete?: any) => void;
36
+ toggleVisible?: (...args: any[]) => void;
37
+ selectItem?: (itemToSelect: any, args?: {
38
+ fireSelectEvent?: boolean;
39
+ event?: any;
40
+ closeOnSelection?: boolean;
41
+ }) => any;
42
+ scrollToItem?: (active_item: any, opt?: {
43
+ scrollTo?: boolean;
44
+ element?: any;
45
+ }) => void;
46
+ setActiveItemAndScrollToIt?: (active_item: any, args?: {
47
+ fireSelectEvent?: boolean;
48
+ scrollTo?: boolean;
49
+ event?: any;
50
+ }) => void;
51
+ _refShell?: React.RefObject<HTMLSpanElement>;
52
+ _refTriangle?: React.RefObject<HTMLLIElement & HTMLSpanElement>;
53
+ _refUl?: React.RefObject<HTMLUListElement>;
54
+ _refRoot?: React.RefObject<HTMLSpanElement>;
55
+ _rootElem?: Window | Element;
56
+ attributes?: Record<string, any>;
57
+ children: React.ReactNode;
58
+ };
59
+ export default class DrawerListProvider extends React.PureComponent<DrawerListProviderProps, DrawerListContextState> {
60
+ static contextType: React.Context<import("../../shared/Context").ContextProps>;
61
+ context: React.ContextType<typeof Context>;
62
+ static defaultProps: {
63
+ enable_body_lock: boolean;
64
+ page_offset: any;
65
+ observer_element: any;
66
+ min_height: number;
67
+ id: any;
68
+ role: string;
69
+ cache_hash: any;
70
+ triangle_position: string;
71
+ scrollable: boolean;
72
+ focusable: boolean;
73
+ max_height: any;
74
+ direction: string;
75
+ size: string;
76
+ no_animation: boolean;
77
+ no_scroll_animation: boolean;
78
+ prevent_selection: boolean;
79
+ action_menu: boolean;
80
+ is_popup: boolean;
81
+ align_drawer: string;
82
+ wrapper_element: any;
83
+ default_value: any;
84
+ value: string;
85
+ portal_class: any;
86
+ list_class: any;
87
+ skip_portal: any;
88
+ prevent_close: boolean;
89
+ keep_open: boolean;
90
+ prevent_focus: boolean;
91
+ fixed_position: boolean;
92
+ independent_width: boolean;
93
+ skip_keysearch: boolean;
94
+ opened: any;
95
+ data: any;
96
+ raw_data: any;
97
+ ignore_events: any;
98
+ className: any;
99
+ children: any;
100
+ on_show: any;
101
+ on_hide: any;
102
+ handle_dismiss_focus: any;
103
+ on_change: any;
104
+ on_pre_change: any;
105
+ on_resize: any;
106
+ on_select: any;
107
+ on_state_update: any;
108
+ options_render: any;
109
+ };
110
+ static blurDelay: number;
111
+ static isOpen: boolean;
112
+ static getDerivedStateFromProps(props: any, state: any): DrawerListContextState;
113
+ attributes: object;
114
+ _refRoot: React.RefObject<HTMLSpanElement>;
115
+ _refShell: React.RefObject<HTMLSpanElement>;
116
+ _refUl: React.RefObject<HTMLUListElement>;
117
+ _refTriangle: React.RefObject<HTMLLIElement & HTMLSpanElement>;
118
+ _showTimeout: NodeJS.Timeout;
119
+ _hideTimeout: NodeJS.Timeout;
120
+ _scrollTimeout: NodeJS.Timeout;
121
+ _directionTimeout: NodeJS.Timeout;
122
+ itemSpots: {
123
+ [customProperty: number]: {
124
+ i: number;
125
+ };
126
+ };
127
+ itemSpotsCount: number;
128
+ setOnScroll: () => void;
129
+ _bodyLockIsEnabled: boolean;
130
+ setDirection: () => void;
131
+ _rootElem: Window | Element;
132
+ changedOrderFor: string;
133
+ searchCache: Record<string, {
134
+ i: number;
135
+ }[]>;
136
+ meta: {
137
+ cmd: any;
138
+ ctrl: any;
139
+ shift: any;
140
+ alt: any;
141
+ };
142
+ outsideClick: DetectOutsideClickClass;
143
+ constructor(props: any);
144
+ componentDidMount(): void;
145
+ componentDidUpdate(prevProps: any): void;
146
+ componentWillUnmount(): void;
147
+ refreshScrollObserver(): void;
148
+ setScrollObserver(): void;
149
+ removeScrollObserver(): void;
150
+ enableBodyLock: () => void;
151
+ disableBodyLock: () => void;
152
+ setDirectionObserver(): void;
153
+ /**
154
+ * Deprecated
155
+ * We should replace all the logic of handling left/right aligned
156
+ * and setting the position, with a PopupMenu component,
157
+ * which uses the logic form Tooltip.
158
+ *
159
+ * EDS-246
160
+ */
161
+ correctHiddenView: () => void;
162
+ findItemByValue(value: any): number;
163
+ scrollToItem: (active_item: any, { scrollTo, element }?: {
164
+ scrollTo?: boolean;
165
+ element?: any;
166
+ }) => void;
167
+ /**
168
+ * During opening (Dropdown, Autocomplete),
169
+ * and if noting is selected,
170
+ * set scroll to item.
171
+ *
172
+ * @param {number} active_item The item to set as active
173
+ * @param {object} param1
174
+ * @property {boolean} fireSelectEvent Whether the onSelect event should get emitted
175
+ * @property {boolean} scrollTo Whether the list should scroll to the new active item nor not
176
+ * @property {event} event The event object to forward to the emitted events
177
+ */
178
+ setActiveItemAndScrollToIt: (active_item: any, { fireSelectEvent, scrollTo, event }?: {
179
+ fireSelectEvent?: boolean;
180
+ scrollTo?: boolean;
181
+ event?: any;
182
+ }) => void;
183
+ removeDirectionObserver(): void;
184
+ setWrapperElement: (wrapper_element?: string | HTMLElement) => this;
185
+ getAnchorElem(activeElement: any): any;
186
+ setMetaKey: (e: any) => void;
187
+ onKeyUpHandler: (e: any) => void;
188
+ onKeyDownHandler: (e: any) => void;
189
+ getSelectedElement: () => HTMLLIElement | HTMLUListElement;
190
+ getCurrentSelectedItem: () => number;
191
+ getActiveElement: () => HTMLLIElement | HTMLUListElement;
192
+ getCurrentActiveItem: () => number;
193
+ getNextActiveItem: () => number;
194
+ getPrevActiveItem: () => number;
195
+ getFirstItem: () => number;
196
+ getLastItem: () => number;
197
+ setOutsideClickObserver: () => void;
198
+ removeOutsideClickObserver(): void;
199
+ addObservers: () => void;
200
+ removeObservers: () => void;
201
+ toggleVisible: (...args: any[]) => void;
202
+ setVisible: (args?: {}, onStateComplete?: any) => void;
203
+ setHidden: (args?: {}, onStateComplete?: any) => void;
204
+ setActiveState(active: any): void;
205
+ setDataHandler: (data: any, cb?: any, { overwriteOriginalData }?: {
206
+ overwriteOriginalData?: boolean;
207
+ }) => this;
208
+ setStateHandler: (state: any, cb?: any) => this;
209
+ selectItemAndClose: (itemToSelect: any, args?: {
210
+ fireSelectEvent?: boolean;
211
+ event?: any;
212
+ closeOnSelection?: boolean;
213
+ }) => any;
214
+ selectItem: (itemToSelect: any, { fireSelectEvent, event, closeOnSelection, }?: {
215
+ fireSelectEvent?: boolean;
216
+ event?: any;
217
+ closeOnSelection?: boolean;
218
+ }) => any;
219
+ render(): import("react/jsx-runtime").JSX.Element;
14
220
  }