@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,23 +1,24 @@
1
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
- import _extends from "@babel/runtime/helpers/esm/extends";
1
+ "use client";
2
+
3
3
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
- const _excluded = ["role", "align_drawer", "fixed_position", "independent_width", "scrollable", "focusable", "size", "no_animation", "no_scroll_animation", "prevent_selection", "action_menu", "is_popup", "portal_class", "list_class", "ignore_events", "options_render", "className", "cache_hash", "wrapper_element", "triangle_position", "direction", "max_height", "id", "data", "prepared_data", "raw_data", "opened", "value", "children"],
5
- _excluded2 = ["children", "className", "triangleRef", "cache_hash", "showFocusRing"],
6
- _excluded3 = ["role", "hash", "children", "className", "on_click", "selected", "active", "value", "disabled"],
7
- _excluded4 = ["children", "className"],
8
- _excluded5 = ["className"];
4
+ import _extends from "@babel/runtime/helpers/esm/extends";
5
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
6
+ const _excluded = ["data", "children", "id"],
7
+ _excluded2 = ["role", "align_drawer", "fixed_position", "independent_width", "scrollable", "focusable", "size", "no_animation", "no_scroll_animation", "prevent_selection", "action_menu", "is_popup", "portal_class", "list_class", "ignore_events", "options_render", "className", "cache_hash", "wrapper_element", "triangle_position", "direction", "max_height", "id", "data", "opened", "value", "children"],
8
+ _excluded3 = ["selected_item", "active_item", "max_height"],
9
+ _excluded4 = ["children", "className", "triangleRef", "cache_hash", "showFocusRing"];
9
10
  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; }
10
11
  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; }
11
- import React from 'react';
12
- import PropTypes from 'prop-types';
12
+ import React, { useContext } from 'react';
13
13
  import classnames from 'classnames';
14
- import { isTrue, makeUniqueId, extendPropsWithContextInClassComponent, validateDOMAttributes, dispatchCustomElementEvent, keycode } from '../../shared/component-helper';
14
+ import { isTrue, makeUniqueId, extendPropsWithContextInClassComponent, validateDOMAttributes, keycode } from '../../shared/component-helper';
15
15
  import { getThemeClasses } from '../../shared/Theme';
16
16
  import { createSpacingClasses } from '../../components/space/SpacingHelper';
17
17
  import DrawerListContext from './DrawerListContext';
18
18
  import DrawerListProvider from './DrawerListProvider';
19
19
  import DrawerListPortal from './DrawerListPortal';
20
- import { drawerListPropTypes, drawerListDefaultProps } from './DrawerListHelpers';
20
+ import { drawerListDefaultProps } from './DrawerListHelpers';
21
+ import { DrawerListHorizontalItem, DrawerListItem } from './DrawerListItem';
21
22
  const propsToFilterOut = {
22
23
  on_show: null,
23
24
  on_hide: null,
@@ -31,33 +32,32 @@ const propsToFilterOut = {
31
32
  options_render: null,
32
33
  wrapper_element: null
33
34
  };
34
- export default class DrawerList extends React.PureComponent {
35
- constructor(props) {
36
- super(props);
37
- this._id = props.id || makeUniqueId();
38
- }
39
- render() {
40
- var _this$context;
41
- const hasProvider = (_this$context = this.context) === null || _this$context === void 0 ? void 0 : _this$context.drawerList;
42
- if (hasProvider) {
43
- return React.createElement(DrawerListInstance, this.props);
44
- }
45
- return React.createElement(DrawerListProvider, _extends({
46
- id: this._id
47
- }, this.props, {
48
- data: this.props.data || this.props.children
49
- }), React.createElement(DrawerListInstance, _extends({
50
- id: this._id
51
- }, this.props)));
35
+ function DrawerList(props) {
36
+ const drawerListContext = useContext(DrawerListContext);
37
+ if (drawerListContext !== null && drawerListContext !== void 0 && drawerListContext.drawerList) {
38
+ return React.createElement(DrawerListInstance, props);
52
39
  }
40
+ const {
41
+ data,
42
+ children,
43
+ id
44
+ } = props,
45
+ rest = _objectWithoutProperties(props, _excluded);
46
+ const _id = id || makeUniqueId();
47
+ return React.createElement(DrawerListProvider, _extends({
48
+ id: _id
49
+ }, rest, {
50
+ data: data || (!React.isValidElement(children) ? children : undefined)
51
+ }), React.createElement(DrawerListInstance, _extends({
52
+ id: _id
53
+ }, props)));
53
54
  }
54
- _defineProperty(DrawerList, "contextType", DrawerListContext);
55
- _defineProperty(DrawerList, "blurDelay", DrawerListProvider.blurDelay);
56
- _defineProperty(DrawerList, "defaultProps", _objectSpread({}, drawerListDefaultProps));
57
- process.env.NODE_ENV !== "production" ? DrawerList.propTypes = _objectSpread({}, drawerListPropTypes) : void 0;
58
- class DrawerListInstance extends React.PureComponent {
59
- constructor(props, context) {
55
+ DrawerList.blurDelay = DrawerListProvider.blurDelay;
56
+ class DrawerListInstance extends React.Component {
57
+ constructor(props) {
60
58
  super(props);
59
+ _defineProperty(this, "context", void 0);
60
+ _defineProperty(this, "_id", void 0);
61
61
  _defineProperty(this, "preventTab", e => {
62
62
  switch (keycode(e)) {
63
63
  case 'tab':
@@ -83,19 +83,21 @@ class DrawerListInstance extends React.PureComponent {
83
83
  });
84
84
  this._id = props.id || makeUniqueId();
85
85
  this.state = this.state || {};
86
- context.drawerList.setState(Object.entries(propsToFilterOut).reduce((acc, [key]) => {
87
- if (props[key]) {
88
- acc[key] = props[key];
86
+ }
87
+ componentDidMount() {
88
+ this.context.drawerList.setState(Object.entries(propsToFilterOut).reduce((acc, [key]) => {
89
+ if (this.props[key]) {
90
+ acc[key] = this.props[key];
89
91
  }
90
92
  return acc;
91
93
  }, {}));
92
- context.drawerList.setState({
93
- triangle_position: props.triangle_position
94
+ this.context.drawerList.setState({
95
+ triangle_position: this.props.triangle_position
94
96
  });
95
97
  }
96
98
  render() {
97
- var _this$context2;
98
- const props = extendPropsWithContextInClassComponent(this.props, DrawerList.defaultProps, this.context.getTranslation(this.props).DrawerList);
99
+ var _this$context;
100
+ const props = extendPropsWithContextInClassComponent(this.props, DrawerListInstance.defaultProps);
99
101
  const {
100
102
  role,
101
103
  align_drawer,
@@ -121,14 +123,25 @@ class DrawerListInstance extends React.PureComponent {
121
123
  max_height: _max_height,
122
124
  id: _id,
123
125
  data: _data,
124
- prepared_data: _prepared_data,
125
- raw_data: _raw_data,
126
126
  opened: _opened,
127
127
  value: _value,
128
128
  children
129
129
  } = props,
130
- attributes = _objectWithoutProperties(props, _excluded);
130
+ attributes = _objectWithoutProperties(props, _excluded2);
131
131
  const id = this._id;
132
+ function noNullNumbers(_ref) {
133
+ let {
134
+ selected_item,
135
+ active_item,
136
+ max_height
137
+ } = _ref,
138
+ rest = _objectWithoutProperties(_ref, _excluded3);
139
+ return _objectSpread({
140
+ selected_item: selected_item !== null && selected_item !== void 0 ? selected_item : undefined,
141
+ active_item: active_item !== null && active_item !== void 0 ? active_item : undefined,
142
+ max_height: max_height !== null && max_height !== void 0 ? max_height : undefined
143
+ }, rest);
144
+ }
132
145
  const {
133
146
  data,
134
147
  opened,
@@ -149,7 +162,7 @@ class DrawerListInstance extends React.PureComponent {
149
162
  _refTriangle,
150
163
  _refUl,
151
164
  _refRoot
152
- } = this.context.drawerList;
165
+ } = noNullNumbers(this.context.drawerList);
153
166
  const mainParams = _objectSpread({
154
167
  id: `${id}-drawer-list`,
155
168
  className: classnames(`dnb-drawer-list dnb-drawer-list--${direction}`, (isTrue(independent_width) || isTrue(action_menu)) && 'dnb-drawer-list--independent-width', createSpacingClasses(props), className, opened && 'dnb-drawer-list--opened', hidden && 'dnb-drawer-list--hidden', triangle_position && `dnb-drawer-list--triangle-position-${triangle_position}`, align_drawer && `dnb-drawer-list--${align_drawer}`, size && `dnb-drawer-list--${size}`, isTrue(action_menu) && `dnb-drawer-list--action-menu`, isTrue(is_popup) && 'dnb-drawer-list--is-popup', isTrue(scrollable) && 'dnb-drawer-list--scroll', isTrue(no_scroll_animation) && 'dnb-drawer-list--no-scroll-animation')
@@ -163,9 +176,9 @@ class DrawerListInstance extends React.PureComponent {
163
176
  id: `${id}-ul`,
164
177
  'aria-expanded': opened,
165
178
  'aria-labelledby': `${id}-label`,
166
- tabIndex: '-1',
179
+ tabIndex: -1,
167
180
  style: {
168
- maxHeight: max_height > 0 ? `${max_height}rem` : null
181
+ maxHeight: parseFloat(max_height) > 0 ? `${max_height}rem` : null
169
182
  },
170
183
  ref: _refUl
171
184
  };
@@ -175,7 +188,7 @@ class DrawerListInstance extends React.PureComponent {
175
188
  ulParams['aria-activedescendant'] = `option-${id}-${selected_item}`;
176
189
  }
177
190
  if (isTrue(focusable)) {
178
- ulParams.tabIndex = '0';
191
+ ulParams.tabIndex = 0;
179
192
  }
180
193
  validateDOMAttributes(this.props, mainParams);
181
194
  validateDOMAttributes(null, listParams);
@@ -223,7 +236,7 @@ class DrawerListInstance extends React.PureComponent {
223
236
  }) : React.createElement(Items, null)), React.createElement(OnMounted, {
224
237
  addObservers: addObservers,
225
238
  removeObservers: removeObservers
226
- })) : children && React.createElement("span", {
239
+ })) : React.isValidElement(children) && React.createElement("span", {
227
240
  className: "dnb-drawer-list__content"
228
241
  }, children, React.createElement("span", {
229
242
  className: "dnb-drawer-list__triangle",
@@ -239,22 +252,21 @@ class DrawerListInstance extends React.PureComponent {
239
252
  include_owner_width: align_drawer === 'right',
240
253
  independent_width: isTrue(independent_width),
241
254
  fixed_position: isTrue(fixed_position),
242
- className: getThemeClasses((_this$context2 = this.context) === null || _this$context2 === void 0 ? void 0 : _this$context2.theme, portal_class)
255
+ className: getThemeClasses((_this$context = this.context) === null || _this$context === void 0 ? void 0 : _this$context.theme, portal_class)
243
256
  }, mainList) : mainList);
244
257
  }
245
258
  }
246
- _defineProperty(DrawerListInstance, "defaultProps", DrawerList.defaultProps);
259
+ _defineProperty(DrawerListInstance, "defaultProps", _objectSpread({}, drawerListDefaultProps));
247
260
  _defineProperty(DrawerListInstance, "contextType", DrawerListContext);
248
- process.env.NODE_ENV !== "production" ? DrawerListInstance.propTypes = DrawerList.propTypes : void 0;
249
261
  DrawerList.Options = React.memo(React.forwardRef((props, ref) => {
250
262
  const {
251
263
  children,
252
- className = null,
253
- triangleRef = null,
254
- cache_hash = null,
264
+ className,
265
+ triangleRef,
266
+ cache_hash,
255
267
  showFocusRing = false
256
268
  } = props,
257
- rest = _objectWithoutProperties(props, _excluded2);
269
+ rest = _objectWithoutProperties(props, _excluded4);
258
270
  return React.createElement("ul", _extends({
259
271
  className: classnames('dnb-drawer-list__options', className, showFocusRing && 'dnb-drawer-list__options--focusring')
260
272
  }, rest, {
@@ -270,118 +282,8 @@ DrawerList.Options = React.memo(React.forwardRef((props, ref) => {
270
282
  }
271
283
  return prevProps.cache_hash === nextProps.cache_hash;
272
284
  });
273
- DrawerList.Options.displayName = 'DrawerList.Options';
274
- DrawerList.Options.propTypes = {
275
- children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]).isRequired,
276
- cache_hash: PropTypes.string,
277
- showFocusRing: PropTypes.bool,
278
- className: PropTypes.string,
279
- triangleRef: PropTypes.object
280
- };
281
- DrawerList.Item = React.forwardRef((props, ref) => {
282
- const {
283
- role = 'option',
284
- hash = '',
285
- children,
286
- className = null,
287
- on_click = null,
288
- selected,
289
- active = null,
290
- value = null,
291
- disabled
292
- } = props,
293
- rest = _objectWithoutProperties(props, _excluded3);
294
- const params = {
295
- className: classnames(className, 'dnb-drawer-list__option', selected && 'dnb-drawer-list__option--selected', active && 'dnb-drawer-list__option--focus'),
296
- role,
297
- tabIndex: selected ? '0' : '-1',
298
- 'aria-selected': active,
299
- disabled,
300
- 'aria-disabled': disabled
301
- };
302
- if (selected) {
303
- params['aria-current'] = true;
304
- }
305
- if (on_click) {
306
- params.onClick = () => dispatchCustomElementEvent({
307
- props: _objectSpread(_objectSpread({}, props), {}, {
308
- displayName: DrawerList.Item.displayName
309
- })
310
- }, 'on_click', _objectSpread({
311
- selected,
312
- value
313
- }, rest));
314
- }
315
- return React.createElement("li", _extends({}, params, rest, {
316
- ref: ref,
317
- key: 'li' + hash
318
- }), React.createElement("span", {
319
- className: "dnb-drawer-list__option__inner"
320
- }, React.createElement(ItemContent, {
321
- hash: hash
322
- }, children)));
323
- });
324
- DrawerList.Item.displayName = 'DrawerList.Item';
325
- DrawerList.Item.propTypes = {
326
- role: PropTypes.string,
327
- hash: PropTypes.string,
328
- children: PropTypes.oneOfType([PropTypes.node, PropTypes.func, PropTypes.object]).isRequired,
329
- className: PropTypes.string,
330
- on_click: PropTypes.func,
331
- selected: PropTypes.bool,
332
- active: PropTypes.bool,
333
- value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
334
- disabled: PropTypes.bool
335
- };
336
- export function ItemContent({
337
- hash = '',
338
- children = undefined
339
- }) {
340
- let content = null;
341
- if (Array.isArray(children.content || children)) {
342
- content = (children.content || children).map((item, n) => React.createElement(DrawerListOptionItem, {
343
- key: hash + n,
344
- className: `item-nr-${n + 1}`
345
- }, children.render ? children.render(item, hash + n) : item));
346
- } else if (Object.prototype.hasOwnProperty.call(children, 'content')) {
347
- content = children.render ? children.render(children.content, hash, children) : children.content;
348
- if (content) {
349
- content = React.createElement(DrawerListOptionItem, null, content);
350
- }
351
- } else {
352
- content = children && React.createElement(DrawerListOptionItem, null, children);
353
- }
354
- return Object.prototype.hasOwnProperty.call(children, 'suffix_value') ? React.createElement(React.Fragment, null, content, React.createElement(DrawerListOptionItem, {
355
- className: "dnb-drawer-list__option__suffix"
356
- }, children.suffix_value)) : content;
357
- }
358
- process.env.NODE_ENV !== "production" ? ItemContent.propTypes = {
359
- hash: PropTypes.string,
360
- children: PropTypes.oneOfType([PropTypes.node, PropTypes.object])
361
- } : void 0;
362
- function DrawerListOptionItem(_ref) {
363
- let {
364
- children = undefined,
365
- className = null
366
- } = _ref,
367
- props = _objectWithoutProperties(_ref, _excluded4);
368
- return React.createElement("span", _extends({
369
- className: classnames('dnb-drawer-list__option__item', className)
370
- }, props), children);
371
- }
372
- DrawerList.HorizontalItem = _ref2 => {
373
- let {
374
- className = null
375
- } = _ref2,
376
- props = _objectWithoutProperties(_ref2, _excluded5);
377
- return React.createElement(DrawerListOptionItem, _extends({
378
- className: classnames('dnb-drawer-list__option__item--horizontal', className)
379
- }, props));
380
- };
381
- DrawerList.HorizontalItem.propTypes = {
382
- children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]).isRequired,
383
- className: PropTypes.string
384
- };
285
+ DrawerList.Item = DrawerListItem;
286
+ DrawerList.HorizontalItem = DrawerListHorizontalItem;
385
287
  class OnMounted extends React.PureComponent {
386
288
  componentDidMount() {
387
289
  this.props.addObservers();
@@ -393,8 +295,5 @@ class OnMounted extends React.PureComponent {
393
295
  return null;
394
296
  }
395
297
  }
396
- process.env.NODE_ENV !== "production" ? OnMounted.propTypes = {
397
- addObservers: PropTypes.func.isRequired,
398
- removeObservers: PropTypes.func.isRequired
399
- } : void 0;
298
+ export default DrawerList;
400
299
  //# sourceMappingURL=DrawerList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerList.js","names":["React","PropTypes","classnames","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","dispatchCustomElementEvent","keycode","getThemeClasses","createSpacingClasses","DrawerListContext","DrawerListProvider","DrawerListPortal","drawerListPropTypes","drawerListDefaultProps","propsToFilterOut","on_show","on_hide","handle_dismiss_focus","on_change","on_pre_change","on_resize","on_select","on_state_update","on_key_down","options_render","wrapper_element","DrawerList","PureComponent","constructor","props","_id","id","render","_this$context","hasProvider","context","drawerList","createElement","DrawerListInstance","_extends","data","children","_defineProperty","blurDelay","_objectSpread","process","env","NODE_ENV","propTypes","e","hasFocusOnElement","preventDefault","setHidden","event","selected_item","parseFloat","currentTarget","getAttribute","selectItemAndClose","fireSelectEvent","state","setState","Object","entries","reduce","acc","key","triangle_position","_this$context2","defaultProps","getTranslation","role","align_drawer","fixed_position","independent_width","scrollable","focusable","size","no_animation","no_scroll_animation","prevent_selection","action_menu","is_popup","portal_class","list_class","ignore_events","className","cache_hash","_cache_hash","_wrapper_element","_triangle_position","direction","_direction","max_height","_max_height","_data","prepared_data","_prepared_data","raw_data","_raw_data","opened","_opened","value","_value","attributes","_objectWithoutProperties","_excluded","hidden","active_item","showFocusRing","closestToTop","closestToBottom","usePortal","addObservers","removeObservers","_refShell","_refTriangle","_refUl","_refRoot","mainParams","listParams","ulParams","tabIndex","style","maxHeight","ref","assign","ignoreEvents","Items","map","dataItem","i","__id","hash","liParams","class_name","length","active","selected","onClick","selectItemHandler","onKeyDown","preventTab","disabled","Item","mainList","Fragment","Options","triangleRef","OnMounted","rootRef","include_owner_width","theme","memo","forwardRef","rest","_excluded2","prevProps","nextProps","displayName","oneOfType","node","func","isRequired","string","bool","object","on_click","_excluded3","params","ItemContent","number","undefined","content","Array","isArray","item","n","DrawerListOptionItem","prototype","hasOwnProperty","call","suffix_value","_ref","_excluded4","HorizontalItem","_ref2","_excluded5","componentDidMount","componentWillUnmount"],"sources":["../../../../src/fragments/drawer-list/DrawerList.js"],"sourcesContent":["/**\n * Web List 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 PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n keycode,\n} from '../../shared/component-helper'\nimport { getThemeClasses } from '../../shared/Theme'\nimport { createSpacingClasses } from '../../components/space/SpacingHelper'\n\nimport DrawerListContext from './DrawerListContext'\nimport DrawerListProvider from './DrawerListProvider'\nimport DrawerListPortal from './DrawerListPortal'\nimport {\n drawerListPropTypes,\n drawerListDefaultProps,\n} from './DrawerListHelpers'\n\nconst propsToFilterOut = {\n on_show: null,\n on_hide: null,\n handle_dismiss_focus: null,\n on_change: null,\n on_pre_change: null,\n on_resize: null,\n on_select: null,\n on_state_update: null,\n on_key_down: null,\n options_render: null,\n wrapper_element: null,\n}\n\nexport default class DrawerList extends React.PureComponent {\n static contextType = DrawerListContext // only used for the hasProvide check\n\n static blurDelay = DrawerListProvider.blurDelay // some ms more than \"DrawerListSlideDown 200ms\" = 201 // some ms more than \"DrawerListSlideDown 200ms\"\n\n static propTypes = {\n ...drawerListPropTypes,\n }\n\n static defaultProps = {\n ...drawerListDefaultProps,\n }\n\n constructor(props) {\n super(props)\n\n this._id = props.id || makeUniqueId()\n }\n\n render() {\n const hasProvider = this.context?.drawerList\n\n if (hasProvider) {\n return <DrawerListInstance {...this.props} />\n }\n\n return (\n <DrawerListProvider\n id={this._id}\n {...this.props}\n data={this.props.data || this.props.children}\n >\n <DrawerListInstance id={this._id} {...this.props} />\n </DrawerListProvider>\n )\n }\n}\n\nclass DrawerListInstance extends React.PureComponent {\n static propTypes = DrawerList.propTypes\n static defaultProps = DrawerList.defaultProps\n static contextType = DrawerListContext\n\n constructor(props, context) {\n super(props)\n\n this._id = props.id || makeUniqueId()\n this.state = this.state || {}\n\n // send along the event handlers to the provider state\n context.drawerList.setState(\n Object.entries(propsToFilterOut).reduce((acc, [key]) => {\n if (props[key]) {\n acc[key] = props[key]\n }\n return acc\n }, {})\n )\n\n context.drawerList.setState({\n triangle_position: props.triangle_position,\n })\n }\n\n preventTab = (e) => {\n switch (keycode(e)) {\n case 'tab':\n if (!this.context.drawerList.hasFocusOnElement) {\n e.preventDefault()\n this.context.drawerList.setHidden()\n }\n break\n\n case 'page down':\n case 'page up':\n e.preventDefault()\n break\n }\n }\n\n selectItemHandler = (event) => {\n // In case we want to stop if the users makes a number selection.\n // Should optional\n // if (getPreviousSibling('dnb-number-format', event.target)) {\n // return // stop\n // }\n const selected_item = parseFloat(\n event.currentTarget.getAttribute('data-item')\n )\n if (selected_item > -1) {\n this.context.drawerList.selectItemAndClose(selected_item, {\n fireSelectEvent: true,\n event,\n })\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n DrawerList.defaultProps,\n this.context.getTranslation(this.props).DrawerList\n )\n\n const {\n role,\n align_drawer,\n fixed_position,\n independent_width,\n scrollable,\n focusable,\n size,\n no_animation,\n no_scroll_animation,\n prevent_selection,\n action_menu,\n is_popup,\n portal_class,\n list_class,\n ignore_events,\n options_render,\n className,\n cache_hash: _cache_hash, // eslint-disable-line\n wrapper_element: _wrapper_element, // eslint-disable-line\n triangle_position: _triangle_position, // eslint-disable-line\n direction: _direction, // eslint-disable-line\n max_height: _max_height, // eslint-disable-line\n id: _id, // eslint-disable-line\n data: _data, // eslint-disable-line\n prepared_data: _prepared_data, // eslint-disable-line\n raw_data: _raw_data, // eslint-disable-line\n opened: _opened, // eslint-disable-line\n value: _value, // eslint-disable-line\n children,\n\n ...attributes\n } = props\n\n const id = this._id\n\n const {\n data,\n opened,\n hidden,\n triangle_position,\n direction,\n max_height,\n cache_hash,\n selected_item,\n active_item,\n showFocusRing,\n closestToTop,\n closestToBottom,\n usePortal,\n addObservers,\n removeObservers,\n _refShell,\n _refTriangle,\n _refUl,\n _refRoot,\n } = this.context.drawerList\n\n const mainParams = {\n id: `${id}-drawer-list`,\n className: classnames(\n 'dnb-drawer-list',\n opened && 'dnb-drawer-list--opened',\n hidden && 'dnb-drawer-list--hidden',\n `dnb-drawer-list--${direction}`,\n triangle_position &&\n `dnb-drawer-list--triangle-position-${triangle_position}`,\n align_drawer && `dnb-drawer-list--${align_drawer}`,\n size && `dnb-drawer-list--${size}`,\n isTrue(action_menu) && `dnb-drawer-list--action-menu`,\n isTrue(is_popup) && 'dnb-drawer-list--is-popup',\n (isTrue(independent_width) || isTrue(action_menu)) &&\n 'dnb-drawer-list--independent-width',\n isTrue(scrollable) && 'dnb-drawer-list--scroll',\n isTrue(no_scroll_animation) &&\n 'dnb-drawer-list--no-scroll-animation',\n createSpacingClasses(props),\n className\n ),\n ...attributes,\n }\n\n const listParams = {\n id: `${id}-listbox`,\n /**\n * We may consider to use the hidden attribute in future\n * Or we may add an prop to put the HTML in the DOM, if needed\n */\n // hidden: hidden !== false,\n className: classnames(\n 'dnb-drawer-list__list',\n isTrue(no_animation) && 'dnb-drawer-list__list--no-animation',\n list_class\n ),\n }\n\n const ulParams = {\n role,\n id: `${id}-ul`,\n 'aria-expanded': opened,\n 'aria-labelledby': `${id}-label`,\n tabIndex: '-1',\n style: {\n maxHeight: max_height > 0 ? `${max_height}rem` : null,\n },\n ref: _refUl,\n }\n\n if (\n !hidden &&\n (parseFloat(active_item) > -1 ||\n (!(parseFloat(active_item) > -1) &&\n !(parseFloat(selected_item) > -1)))\n ) {\n ulParams['aria-activedescendant'] = `option-${id}-${\n parseFloat(active_item) > -1 ? active_item : 0\n }`\n } else if (\n !isTrue(prevent_selection) &&\n !hidden &&\n parseFloat(selected_item) > -1\n ) {\n ulParams['aria-activedescendant'] = `option-${id}-${selected_item}`\n }\n\n if (isTrue(focusable)) {\n ulParams.tabIndex = '0'\n }\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, mainParams)\n validateDOMAttributes(null, listParams)\n validateDOMAttributes(null, ulParams)\n\n // make it possible to grab the rest attributes and return it with all events\n Object.assign(\n this.context.drawerList.attributes,\n validateDOMAttributes(null, attributes)\n )\n\n const ignoreEvents = isTrue(ignore_events)\n\n const Items = () =>\n data.map((dataItem, i) => {\n const _id = dataItem.__id\n const hash = `option-${id}-${_id}-${i}`\n const liParams = {\n role: role === 'menu' ? 'menuitem' : 'option',\n 'data-item': _id,\n id: `option-${id}-${_id}`,\n hash,\n className: classnames(\n // helper classes\n i === closestToTop && 'closest-to-top',\n i === closestToBottom && 'closest-to-bottom',\n i === 0 && 'first-of-type', // because of the triangle element\n i === data.length - 1 && 'last-of-type', // because of the triangle element\n ignoreEvents || (dataItem.ignore_events && 'ignore-events'),\n dataItem.class_name\n ),\n active: _id == active_item,\n selected: !dataItem.ignore_events && _id == selected_item,\n onClick: this.selectItemHandler,\n onKeyDown: this.preventTab,\n disabled: dataItem.disabled,\n style: dataItem.style,\n }\n\n if (ignoreEvents) {\n liParams.active = null\n liParams.selected = null\n liParams.onClick = null\n liParams.onKeyDown = null\n liParams.className = classnames(\n liParams.className,\n 'dnb-drawer-list__option--ignore'\n )\n }\n\n return (\n <DrawerList.Item key={hash} {...liParams}>\n {dataItem}\n </DrawerList.Item>\n )\n })\n\n const mainList = (\n <span {...mainParams} ref={_refShell}>\n <span {...listParams}>\n {hidden === false && data && data.length > 0 ? (\n <>\n <DrawerList.Options\n cache_hash={\n cache_hash +\n active_item +\n selected_item +\n closestToTop +\n closestToBottom +\n direction +\n max_height\n }\n {...ulParams}\n showFocusRing={showFocusRing}\n triangleRef={_refTriangle}\n >\n {typeof options_render === 'function' ? (\n options_render({ data, Items, Item: DrawerList.Item })\n ) : (\n <Items />\n )}\n </DrawerList.Options>\n <OnMounted\n addObservers={addObservers}\n removeObservers={removeObservers}\n />\n </>\n ) : (\n children && (\n <span className=\"dnb-drawer-list__content\">\n {children}\n <span\n className=\"dnb-drawer-list__triangle\"\n ref={_refTriangle}\n />\n </span>\n )\n )}\n </span>\n </span>\n )\n\n return (\n <span\n className={classnames(\n 'dnb-drawer-list__root',\n usePortal && 'dnb-drawer-list__root--portal'\n )}\n ref={_refRoot}\n >\n {usePortal ? (\n <DrawerListPortal\n id={this._id}\n rootRef={_refRoot}\n opened={hidden === false}\n include_owner_width={align_drawer === 'right'}\n independent_width={isTrue(independent_width)}\n fixed_position={isTrue(fixed_position)}\n className={getThemeClasses(this.context?.theme, portal_class)}\n >\n {mainList}\n </DrawerListPortal>\n ) : (\n mainList\n )}\n </span>\n )\n }\n}\n\n// DrawerList List\nDrawerList.Options = React.memo(\n React.forwardRef((props, ref) => {\n const {\n children,\n className = null,\n triangleRef = null,\n cache_hash = null, // eslint-disable-line\n showFocusRing = false,\n ...rest\n } = props\n\n return (\n <ul\n className={classnames(\n 'dnb-drawer-list__options',\n showFocusRing && 'dnb-drawer-list__options--focusring',\n className\n )}\n {...rest}\n ref={ref}\n >\n {children}\n <li\n className=\"dnb-drawer-list__triangle\"\n aria-hidden\n ref={triangleRef}\n />\n </ul>\n )\n }),\n (prevProps, nextProps) => {\n if (!prevProps.cache_hash) {\n return null\n }\n return prevProps.cache_hash === nextProps.cache_hash\n }\n)\nDrawerList.Options.displayName = 'DrawerList.Options'\nDrawerList.Options.propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func])\n .isRequired,\n cache_hash: PropTypes.string,\n showFocusRing: PropTypes.bool,\n className: PropTypes.string,\n triangleRef: PropTypes.object,\n}\n\n// DrawerList Item\nDrawerList.Item = React.forwardRef((props, ref) => {\n const {\n role = 'option', // eslint-disable-line\n hash = '', // eslint-disable-line\n children, // eslint-disable-line\n className = null, // eslint-disable-line\n on_click = null, // eslint-disable-line\n selected, // eslint-disable-line\n active = null, // eslint-disable-line\n value = null, // eslint-disable-line\n disabled, // eslint-disable-line\n ...rest\n } = props\n\n const params = {\n className: classnames(\n className,\n 'dnb-drawer-list__option',\n selected && 'dnb-drawer-list__option--selected',\n active && 'dnb-drawer-list__option--focus'\n ),\n role,\n tabIndex: selected ? '0' : '-1',\n 'aria-selected': active,\n disabled,\n 'aria-disabled': disabled,\n }\n if (selected) {\n params['aria-current'] = true // has best support on NVDA\n }\n\n if (on_click) {\n params.onClick = () =>\n dispatchCustomElementEvent(\n {\n props: { ...props, displayName: DrawerList.Item.displayName },\n },\n 'on_click',\n {\n selected,\n value,\n ...rest,\n }\n )\n }\n\n return (\n <li {...params} {...rest} ref={ref} key={'li' + hash}>\n <span className=\"dnb-drawer-list__option__inner\">\n <ItemContent hash={hash}>{children}</ItemContent>\n </span>\n </li>\n )\n})\nDrawerList.Item.displayName = 'DrawerList.Item'\nDrawerList.Item.propTypes = {\n role: PropTypes.string,\n hash: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.func,\n PropTypes.object,\n ]).isRequired,\n className: PropTypes.string,\n on_click: PropTypes.func,\n selected: PropTypes.bool,\n active: PropTypes.bool,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n disabled: PropTypes.bool,\n}\n\nexport function ItemContent({ hash = '', children = undefined }) {\n let content = null\n\n if (Array.isArray(children.content || children)) {\n content = (children.content || children).map((item, n) => (\n <DrawerListOptionItem\n key={hash + n}\n className={`item-nr-${n + 1}`} // \"item-nr\" is used by CSS\n >\n {children.render ? children.render(item, hash + n) : item}\n </DrawerListOptionItem>\n ))\n } else if (Object.prototype.hasOwnProperty.call(children, 'content')) {\n content = children.render\n ? children.render(children.content, hash, children)\n : children.content\n if (content) {\n content = <DrawerListOptionItem>{content}</DrawerListOptionItem>\n }\n } else {\n content = children && (\n <DrawerListOptionItem>{children}</DrawerListOptionItem>\n )\n }\n\n return Object.prototype.hasOwnProperty.call(children, 'suffix_value') ? (\n <>\n {content}\n\n <DrawerListOptionItem className=\"dnb-drawer-list__option__suffix\">\n {children.suffix_value}\n </DrawerListOptionItem>\n </>\n ) : (\n content\n )\n}\nItemContent.propTypes = {\n hash: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.object]),\n}\n\nfunction DrawerListOptionItem({\n children = undefined,\n className = null,\n ...props\n}) {\n return (\n <span\n className={classnames(['dnb-drawer-list__option__item', className])}\n {...props}\n >\n {children}\n </span>\n )\n}\n\nDrawerList.HorizontalItem = ({ className = null, ...props }) => (\n <DrawerListOptionItem\n className={classnames([\n 'dnb-drawer-list__option__item--horizontal',\n className,\n ])}\n {...props}\n />\n)\n\nDrawerList.HorizontalItem.propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func])\n .isRequired,\n className: PropTypes.string,\n}\n\nclass OnMounted extends React.PureComponent {\n static propTypes = {\n addObservers: PropTypes.func.isRequired,\n removeObservers: PropTypes.func.isRequired,\n }\n componentDidMount() {\n this.props.addObservers()\n }\n componentWillUnmount() {\n this.props.removeObservers()\n }\n render() {\n return null\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DrawerList.js","names":["React","useContext","classnames","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","keycode","getThemeClasses","createSpacingClasses","DrawerListContext","DrawerListProvider","DrawerListPortal","drawerListDefaultProps","DrawerListHorizontalItem","DrawerListItem","propsToFilterOut","on_show","on_hide","handle_dismiss_focus","on_change","on_pre_change","on_resize","on_select","on_state_update","on_key_down","options_render","wrapper_element","DrawerList","props","drawerListContext","drawerList","createElement","DrawerListInstance","data","children","id","rest","_objectWithoutProperties","_excluded","_id","_extends","isValidElement","undefined","blurDelay","Component","constructor","_defineProperty","e","context","hasFocusOnElement","preventDefault","setHidden","event","selected_item","parseFloat","currentTarget","getAttribute","selectItemAndClose","fireSelectEvent","state","componentDidMount","setState","Object","entries","reduce","acc","key","triangle_position","render","_this$context","defaultProps","role","align_drawer","fixed_position","independent_width","scrollable","focusable","size","no_animation","no_scroll_animation","prevent_selection","action_menu","is_popup","portal_class","list_class","ignore_events","className","cache_hash","_cache_hash","_wrapper_element","_triangle_position","direction","_direction","max_height","_max_height","_data","opened","_opened","value","_value","attributes","_excluded2","noNullNumbers","_ref","active_item","_excluded3","_objectSpread","hidden","showFocusRing","closestToTop","closestToBottom","usePortal","addObservers","removeObservers","_refShell","_refTriangle","_refUl","_refRoot","mainParams","listParams","ulParams","tabIndex","style","maxHeight","ref","assign","ignoreEvents","Items","map","dataItem","i","__id","hash","liParams","class_name","length","active","selected","onClick","selectItemHandler","onKeyDown","preventTab","disabled","Item","mainList","Fragment","Options","triangleRef","OnMounted","rootRef","include_owner_width","theme","memo","forwardRef","_excluded4","prevProps","nextProps","HorizontalItem","PureComponent","componentWillUnmount"],"sources":["../../../../src/fragments/drawer-list/DrawerList.tsx"],"sourcesContent":["/**\n * Web List Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React, { useContext } from 'react'\nimport classnames from 'classnames'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n keycode,\n} from '../../shared/component-helper'\nimport type { SpacingProps } from '../../shared/types'\n\nimport { getThemeClasses } from '../../shared/Theme'\nimport { createSpacingClasses } from '../../components/space/SpacingHelper'\n\nimport DrawerListContext, {\n DrawerListContextProps,\n} from './DrawerListContext'\nimport DrawerListProvider from './DrawerListProvider'\nimport DrawerListPortal from './DrawerListPortal'\nimport { drawerListDefaultProps } from './DrawerListHelpers'\nimport { DrawerListHorizontalItem, DrawerListItem } from './DrawerListItem'\nimport type { DrawerListItemProps } from './DrawerListItem'\n\nconst propsToFilterOut = {\n on_show: null,\n on_hide: null,\n handle_dismiss_focus: null,\n on_change: null,\n on_pre_change: null,\n on_resize: null,\n on_select: null,\n on_state_update: null,\n on_key_down: null,\n options_render: null,\n wrapper_element: null,\n}\n\nexport type DrawerListContent =\n | string\n | React.ReactNode\n | (string | React.ReactNode)[]\nexport type DrawerListDataArrayObject = {\n [customProperty: string]: any\n selected_value?: string | React.ReactNode\n selectedKey?: string | number\n selected_key?: string | number\n suffix_value?: string | React.ReactNode\n content: DrawerListContent\n disabled?: boolean\n /** used by Autocomplete for additional search hits */\n search_content?: string | React.ReactNode | string[]\n /** style prop of the html list item */\n style?: React.CSSProperties\n /** classname added to the html list item */\n class_name?: string\n /** set to true to disable mouse events selected style. Keyboard can still select @deprecated */\n ignore_events?: boolean\n /** internal use only */\n render?: (children: React.ReactNode, id: string) => React.ReactNode\n}\n/** @deprecated use `DrawerListDataArrayItem` */\nexport type DrawerListDataObjectUnion = DrawerListDataArrayItem\nexport type DrawerListDataArrayItem =\n | DrawerListDataArrayObject\n | DrawerListContent\nexport type DrawerListDataArray = DrawerListDataArrayItem[]\nexport type DrawerListDataRecord = Record<string, DrawerListContent>\nexport type DrawerListDataAll = DrawerListDataRecord | DrawerListDataArray\n\nexport type DrawerListOptionsRender = ({\n data,\n Items,\n Item,\n}: {\n data: DrawerListDataArrayObject[]\n Items: React.FunctionComponent\n Item: React.FC<DrawerListItemProps>\n}) => React.ReactNode\nexport type DrawerListValue = string | number\nexport type DrawerListData =\n | string\n | ((...args: any[]) => DrawerListDataAll)\n | DrawerListDataAll\nexport type DrawerListSuffix = React.ReactNode\n\nexport interface DrawerListProps {\n id?: string\n _id?: string\n role?: string\n /**\n * 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.\n */\n cache_hash?: string\n /**\n * Position of the arrow icon/triangle inside the drawer-list. Set to 'left' or 'right'. Defaults to 'left' if not set.\n */\n triangle_position?: string\n /**\n * Defines if the options list should be scrollable (the `max-height` is set by default to `50vh`).\n */\n scrollable?: boolean\n /**\n * If set to `true`, the element is then focusable by assertive technologies.\n */\n focusable?: boolean\n /**\n * Defines the direction of how the drawer-list shows the options list. Can be 'bottom' or 'top'. Defaults to 'auto'.\n */\n direction?: 'auto' | 'top' | 'bottom'\n size?: 'default' | 'small' | 'medium' | 'large' | number\n /**\n * Defines the minimum height (in `rem`) of the options list.\n */\n min_height?: string | number\n /**\n * Defines the maximum height (in `rem`) of the options list.\n */\n max_height?: string | number\n /**\n * To disable appear/disappear (show/hide) animation.\n */\n no_animation?: boolean\n /**\n * To disable scrolling animation.\n */\n no_scroll_animation?: boolean\n /**\n * If set to `true`, the DrawerList will then not make any permanent selection.\n */\n prevent_selection?: boolean\n action_menu?: boolean\n is_popup?: boolean\n /**\n * 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.\n */\n align_drawer?: 'left' | 'right'\n /**\n * 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.\n */\n options_render?: DrawerListOptionsRender\n /**\n * 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.\n */\n wrapper_element?: string | HTMLElement\n /**\n * Define a startup value or handle a re-render without handling the state during the re-render by yourself. Defaults to null.\n */\n default_value?: DrawerListValue\n /**\n * 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).\n */\n value?: DrawerListValue\n /**\n * To disable the React Portal behavior.\n */\n skip_portal?: boolean\n /**\n * 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.\n */\n portal_class?: string\n /**\n * Define an HTML class that will be set on the list, beside `dnb-drawer-list__list`.\n */\n list_class?: string\n /**\n * If set to `true`, the DrawerList will not close on any events.\n */\n prevent_close?: boolean\n /**\n * If set to `true`, the DrawerList will handle its width and position independently of the parent/mother element.\n */\n independent_width?: boolean\n /**\n * If set to `true`, the DrawerList will be fixed in its scroll position by using CSS `position: fixed;`.\n */\n fixed_position?: boolean\n /**\n * If set to `true`, the DrawerList will close on outside clicks, but not on selection.\n */\n keep_open?: boolean\n prevent_focus?: boolean\n /**\n * If set to `true`, search items by the first key will be ignored.\n */\n skip_keysearch?: boolean\n opened?: boolean\n data?: DrawerListData\n prepared_data?: any[]\n /**\n * If set to `true`, all keyboard and mouse events will be ignored.\n */\n ignore_events?: boolean\n className?: string\n /** Accepts the same values as the `data` prop. Will be ignored if `data` is used. Can also accept a single child for custom rendering. */\n children?: DrawerListData | React.ReactElement\n suffix?: DrawerListSuffix\n /**\n * If set to `true`, the HTML body will get locked from scrolling when the Dropdown is open.\n */\n enable_body_lock?: boolean\n /**\n * 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).\n */\n page_offset?: string | number\n /**\n * 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.\n */\n observer_element?: string | React.ReactNode\n on_show?: (...args: any[]) => any\n on_hide?: (...args: any[]) => any\n handle_dismiss_focus?: (...args: any[]) => any\n on_change?: (...args: any[]) => any\n on_pre_change?: (...args: any[]) => any\n on_resize?: (...args: any[]) => any\n on_select?: (...args: any[]) => any\n on_state_update?: (...args: any[]) => any\n}\nexport type DrawerListAllProps = DrawerListProps &\n SpacingProps &\n Omit<\n React.HTMLProps<HTMLElement>,\n 'ref' | 'size' | 'label' | 'placeholder' | 'data' | 'children'\n >\nfunction DrawerList(props: DrawerListAllProps) {\n const drawerListContext = useContext(DrawerListContext)\n\n if (drawerListContext?.drawerList) {\n return <DrawerListInstance {...props} />\n }\n\n const { data, children, id, ...rest } = props\n const _id = id || makeUniqueId()\n\n return (\n <DrawerListProvider\n id={_id}\n {...rest}\n data={\n data ||\n (!React.isValidElement(children)\n ? (children as DrawerListData)\n : undefined)\n }\n >\n <DrawerListInstance id={_id} {...props} />\n </DrawerListProvider>\n )\n}\nDrawerList.blurDelay = DrawerListProvider.blurDelay // some ms more than \"DrawerListSlideDown 200ms\" = 201 // some ms more than \"DrawerListSlideDown 200ms\"\n\nclass DrawerListInstance extends React.Component<DrawerListAllProps> {\n static defaultProps = {\n ...drawerListDefaultProps,\n }\n static contextType = DrawerListContext\n context!: React.ContextType<typeof DrawerListContext>\n _id: string\n\n constructor(props) {\n super(props)\n\n this._id = props.id || makeUniqueId()\n this.state = this.state || {}\n }\n\n componentDidMount() {\n // send along the event handlers to the provider state\n\n this.context.drawerList.setState(\n Object.entries(propsToFilterOut).reduce((acc, [key]) => {\n if (this.props[key]) {\n acc[key] = this.props[key]\n }\n return acc\n }, {})\n )\n\n this.context.drawerList.setState({\n triangle_position: this.props.triangle_position,\n })\n }\n preventTab = (e) => {\n switch (keycode(e)) {\n case 'tab':\n if (!this.context.drawerList.hasFocusOnElement) {\n e.preventDefault()\n this.context.drawerList.setHidden()\n }\n break\n\n case 'page down':\n case 'page up':\n e.preventDefault()\n break\n }\n }\n\n selectItemHandler = (event) => {\n // In case we want to stop if the users makes a number selection.\n // Should optional\n // if (getPreviousSibling('dnb-number-format', event.target)) {\n // return // stop\n // }\n const selected_item = parseFloat(\n event.currentTarget.getAttribute('data-item')\n )\n if (selected_item > -1) {\n this.context.drawerList.selectItemAndClose(selected_item, {\n fireSelectEvent: true,\n event,\n })\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n DrawerListInstance.defaultProps\n // TODO: should we only allow getTranslation if we define lang and locale props?\n // this.context.getTranslation(this.props).Button\n )\n\n const {\n role,\n align_drawer,\n fixed_position,\n independent_width,\n scrollable,\n focusable,\n size,\n no_animation,\n no_scroll_animation,\n prevent_selection,\n action_menu,\n is_popup,\n portal_class,\n list_class,\n ignore_events,\n options_render,\n className,\n cache_hash: _cache_hash, // eslint-disable-line\n wrapper_element: _wrapper_element, // eslint-disable-line\n triangle_position: _triangle_position, // eslint-disable-line\n direction: _direction, // eslint-disable-line\n max_height: _max_height, // eslint-disable-line\n id: _id, // eslint-disable-line\n data: _data, // eslint-disable-line\n opened: _opened, // eslint-disable-line\n value: _value, // eslint-disable-line\n children,\n\n ...attributes\n } = props\n\n const id = this._id\n\n function noNullNumbers({\n selected_item,\n active_item,\n max_height,\n ...rest\n }: DrawerListContextProps['drawerList']): DrawerListContextProps['drawerList'] {\n return {\n selected_item: selected_item ?? undefined,\n active_item: active_item ?? undefined,\n max_height: max_height ?? undefined,\n ...rest,\n }\n }\n\n const {\n data,\n opened,\n hidden,\n triangle_position,\n direction,\n max_height,\n cache_hash,\n selected_item,\n active_item,\n showFocusRing,\n closestToTop,\n closestToBottom,\n usePortal,\n addObservers,\n removeObservers,\n _refShell,\n _refTriangle,\n _refUl,\n _refRoot,\n } = noNullNumbers(this.context.drawerList)\n\n const mainParams = {\n id: `${id}-drawer-list`,\n className: classnames(\n 'dnb-drawer-list',\n opened && 'dnb-drawer-list--opened',\n hidden && 'dnb-drawer-list--hidden',\n `dnb-drawer-list--${direction}`,\n triangle_position &&\n `dnb-drawer-list--triangle-position-${triangle_position}`,\n align_drawer && `dnb-drawer-list--${align_drawer}`,\n size && `dnb-drawer-list--${size}`,\n isTrue(action_menu) && `dnb-drawer-list--action-menu`,\n isTrue(is_popup) && 'dnb-drawer-list--is-popup',\n (isTrue(independent_width) || isTrue(action_menu)) &&\n 'dnb-drawer-list--independent-width',\n isTrue(scrollable) && 'dnb-drawer-list--scroll',\n isTrue(no_scroll_animation) &&\n 'dnb-drawer-list--no-scroll-animation',\n createSpacingClasses(props),\n className\n ),\n ...attributes,\n }\n\n const listParams = {\n id: `${id}-listbox`,\n /**\n * We may consider to use the hidden attribute in future\n * Or we may add an prop to put the HTML in the DOM, if needed\n */\n // hidden: hidden !== false,\n className: classnames(\n 'dnb-drawer-list__list',\n isTrue(no_animation) && 'dnb-drawer-list__list--no-animation',\n list_class\n ),\n }\n\n const ulParams = {\n role,\n id: `${id}-ul`,\n 'aria-expanded': opened,\n 'aria-labelledby': `${id}-label`,\n tabIndex: -1,\n style: {\n maxHeight:\n parseFloat(max_height as string) > 0 ? `${max_height}rem` : null,\n },\n ref: _refUl,\n }\n\n if (\n !hidden &&\n (parseFloat(active_item as string) > -1 ||\n (!(parseFloat(active_item as string) > -1) &&\n !(parseFloat(selected_item as string) > -1)))\n ) {\n ulParams['aria-activedescendant'] = `option-${id}-${\n parseFloat(active_item as string) > -1 ? active_item : 0\n }`\n } else if (\n !isTrue(prevent_selection) &&\n !hidden &&\n parseFloat(selected_item as string) > -1\n ) {\n ulParams['aria-activedescendant'] = `option-${id}-${selected_item}`\n }\n\n if (isTrue(focusable)) {\n ulParams.tabIndex = 0\n }\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, mainParams)\n validateDOMAttributes(null, listParams)\n validateDOMAttributes(null, ulParams)\n\n // make it possible to grab the rest attributes and return it with all events\n Object.assign(\n this.context.drawerList.attributes,\n validateDOMAttributes(null, attributes)\n )\n\n const ignoreEvents = isTrue(ignore_events)\n\n const Items = () =>\n data.map((dataItem, i) => {\n const _id = dataItem.__id\n const hash = `option-${id}-${_id}-${i}`\n const liParams = {\n role: role === 'menu' ? 'menuitem' : 'option',\n 'data-item': _id,\n id: `option-${id}-${_id}`,\n hash,\n className: classnames(\n // helper classes\n i === closestToTop && 'closest-to-top',\n i === closestToBottom && 'closest-to-bottom',\n i === 0 && 'first-of-type', // because of the triangle element\n i === data.length - 1 && 'last-of-type', // because of the triangle element\n ignoreEvents || (dataItem.ignore_events && 'ignore-events'),\n dataItem.class_name\n ),\n active: _id == active_item,\n selected: !dataItem.ignore_events && _id == selected_item,\n onClick: this.selectItemHandler,\n onKeyDown: this.preventTab,\n disabled: dataItem.disabled,\n style: dataItem.style,\n }\n\n if (ignoreEvents) {\n liParams.active = null\n liParams.selected = null\n liParams.onClick = null\n liParams.onKeyDown = null\n liParams.className = classnames(\n liParams.className,\n 'dnb-drawer-list__option--ignore'\n )\n }\n\n return (\n <DrawerList.Item key={hash} {...liParams}>\n {dataItem}\n </DrawerList.Item>\n )\n })\n\n const mainList = (\n <span {...mainParams} ref={_refShell}>\n <span {...listParams}>\n {hidden === false && data && data.length > 0 ? (\n <>\n <DrawerList.Options\n cache_hash={\n cache_hash +\n active_item +\n selected_item +\n closestToTop +\n closestToBottom +\n direction +\n max_height\n }\n {...ulParams}\n showFocusRing={showFocusRing}\n triangleRef={_refTriangle}\n >\n {typeof options_render === 'function' ? (\n options_render({ data, Items, Item: DrawerList.Item })\n ) : (\n <Items />\n )}\n </DrawerList.Options>\n <OnMounted\n addObservers={addObservers}\n removeObservers={removeObservers}\n />\n </>\n ) : (\n React.isValidElement(children) && (\n <span className=\"dnb-drawer-list__content\">\n {children}\n <span\n className=\"dnb-drawer-list__triangle\"\n ref={_refTriangle}\n />\n </span>\n )\n )}\n </span>\n </span>\n )\n\n return (\n <span\n className={classnames(\n 'dnb-drawer-list__root',\n usePortal && 'dnb-drawer-list__root--portal'\n )}\n ref={_refRoot}\n >\n {usePortal ? (\n <DrawerListPortal\n id={this._id}\n rootRef={_refRoot}\n opened={hidden === false}\n include_owner_width={align_drawer === 'right'}\n independent_width={isTrue(independent_width)}\n fixed_position={isTrue(fixed_position)}\n className={getThemeClasses(this.context?.theme, portal_class)}\n >\n {mainList}\n </DrawerListPortal>\n ) : (\n mainList\n )}\n </span>\n )\n }\n}\n\nexport type DrawerListOptionsProps = React.HTMLProps<HTMLUListElement> & {\n children: React.ReactNode\n triangleRef?: React.LegacyRef<HTMLLIElement>\n cache_hash?: string\n showFocusRing?: boolean\n}\n// DrawerList List\nDrawerList.Options = React.memo(\n React.forwardRef(\n (\n props: DrawerListOptionsProps,\n ref: React.LegacyRef<HTMLUListElement>\n ) => {\n const {\n children,\n className,\n triangleRef,\n cache_hash, // eslint-disable-line\n showFocusRing = false,\n ...rest\n } = props\n\n return (\n <ul\n className={classnames(\n 'dnb-drawer-list__options',\n showFocusRing && 'dnb-drawer-list__options--focusring',\n className\n )}\n {...rest}\n ref={ref}\n >\n {children}\n <li\n className=\"dnb-drawer-list__triangle\"\n aria-hidden\n ref={triangleRef}\n />\n </ul>\n )\n }\n ),\n (prevProps, nextProps) => {\n if (!prevProps.cache_hash) {\n return null\n }\n return prevProps.cache_hash === nextProps.cache_hash\n }\n)\n\nDrawerList.Item = DrawerListItem\nDrawerList.HorizontalItem = DrawerListHorizontalItem\n\nclass OnMounted extends React.PureComponent<{\n addObservers: () => void\n removeObservers: () => void\n}> {\n componentDidMount() {\n this.props.addObservers()\n }\n componentWillUnmount() {\n this.props.removeObservers()\n }\n render() {\n return null\n }\n}\nexport default DrawerList\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,28 @@
1
- export default DrawerListContext;
2
- declare const DrawerListContext: React.Context<{}>;
1
+ /**
2
+ * Web DrawerList Context
3
+ *
4
+ */
3
5
  import React from 'react';
6
+ import type { DrawerListProviderProps } from './DrawerListProvider';
7
+ import { ContextProps } from '../../shared/Context';
8
+ import { DrawerListDataAll, DrawerListDataArrayObject } from './';
9
+ export type DrawerListContextState = Omit<DrawerListProviderProps, 'data' | 'wrapper_element' | 'children'> & {
10
+ data: DrawerListDataArrayObject[];
11
+ wrapper_element?: HTMLElement;
12
+ /** used by Autocomplete */
13
+ original_data?: DrawerListDataArrayObject[];
14
+ /** used by Autocomplete */
15
+ current_title?: string;
16
+ isOpen?: boolean;
17
+ /** used internally */
18
+ _data?: any;
19
+ /** used internally */
20
+ _value?: any;
21
+ /** used internally to have a backup to look up what we got in the first place (array vs object) */
22
+ raw_data?: DrawerListDataAll;
23
+ };
24
+ export type DrawerListContextProps = ContextProps & {
25
+ drawerList?: DrawerListContextState;
26
+ };
27
+ declare const DrawerListContext: React.Context<DrawerListContextProps>;
28
+ export default DrawerListContext;
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerListContext.js","names":["React","DrawerListContext","createContext"],"sources":["../../../../src/fragments/drawer-list/DrawerListContext.js"],"sourcesContent":["/**\n * Web DrawerList Context\n *\n */\n\nimport React from 'react'\n\nconst DrawerListContext = React.createContext({})\n\nexport default DrawerListContext\n"],"mappings":"AAKA,OAAOA,KAAK,MAAM,OAAO;AAEzB,MAAMC,iBAAiB,GAAGD,KAAK,CAACE,aAAa,CAAC,CAAC,CAAC,CAAC;AAEjD,eAAeD,iBAAiB","ignoreList":[]}
1
+ {"version":3,"file":"DrawerListContext.js","names":["React","DrawerListContext","createContext"],"sources":["../../../../src/fragments/drawer-list/DrawerListContext.ts"],"sourcesContent":["/**\n * Web DrawerList Context\n *\n */\n\nimport React from 'react'\nimport type { DrawerListProviderProps } from './DrawerListProvider'\nimport { ContextProps } from '../../shared/Context'\nimport { DrawerListDataAll, DrawerListDataArrayObject } from './'\n\nexport type DrawerListContextState = Omit<\n DrawerListProviderProps,\n 'data' | 'wrapper_element' | 'children'\n> & {\n data: DrawerListDataArrayObject[]\n wrapper_element?: HTMLElement\n /** used by Autocomplete */\n original_data?: DrawerListDataArrayObject[]\n /** used by Autocomplete */\n current_title?: string\n isOpen?: boolean\n /** used internally */\n _data?: any\n /** used internally */\n _value?: any\n /** used internally to have a backup to look up what we got in the first place (array vs object) */\n raw_data?: DrawerListDataAll\n}\n\nexport type DrawerListContextProps = ContextProps & {\n drawerList?: DrawerListContextState\n}\n\nconst DrawerListContext = React.createContext<DrawerListContextProps>({})\n\nexport default DrawerListContext\n"],"mappings":"AAKA,OAAOA,KAAK,MAAM,OAAO;AA4BzB,MAAMC,iBAAiB,GAAGD,KAAK,CAACE,aAAa,CAAyB,CAAC,CAAC,CAAC;AAEzE,eAAeD,iBAAiB","ignoreList":[]}