@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
@@ -43,7 +43,6 @@ export const drawerListPropTypes = _objectSpread(_objectSpread({
43
43
  disabled: PropTypes.bool,
44
44
  content: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.arrayOf(PropTypes.string)])
45
45
  })]))]),
46
- prepared_data: PropTypes.array,
47
46
  raw_data: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.func]),
48
47
  ignore_events: PropTypes.oneOfType([PropTypes.string, PropTypes.bool])
49
48
  }, spacingPropTypes), {}, {
@@ -88,7 +87,6 @@ export const drawerListDefaultProps = {
88
87
  skip_keysearch: false,
89
88
  opened: null,
90
89
  data: null,
91
- prepared_data: null,
92
90
  raw_data: null,
93
91
  ignore_events: null,
94
92
  className: null,
@@ -115,34 +113,32 @@ export const drawerListProviderDefaultProps = {
115
113
  observer_element: null,
116
114
  min_height: 10
117
115
  };
118
- export const parseContentTitle = (dataItem, {
116
+ export function parseContentTitle(dataItem, {
119
117
  separator = '\n',
120
118
  removeNumericOnlyValues = false,
121
119
  preferSelectedValue = false
122
- } = {}) => {
123
- var _dataItem;
120
+ } = {}) {
121
+ dataItem = normalizeDataItem(dataItem);
122
+ if (!dataItem) {
123
+ return null;
124
+ }
124
125
  let ret = '';
125
126
  const onlyNumericRegex = /[0-9.,-\s]+/;
126
- if (Array.isArray(dataItem) && dataItem.length > 0) {
127
- dataItem = {
128
- content: dataItem
129
- };
130
- }
131
- const hasValue = (_dataItem = dataItem) === null || _dataItem === void 0 ? void 0 : _dataItem.selected_value;
132
- if (!(preferSelectedValue && hasValue) && dataItem && Array.isArray(dataItem.content)) {
127
+ const hasValue = dataItem && dataItem.selected_value;
128
+ if (!(preferSelectedValue && hasValue) && Array.isArray(dataItem.content)) {
133
129
  ret = dataItem.content.reduce((acc, cur) => {
134
- cur = convertJsxToString(cur, ' ');
135
- if (cur === false) {
130
+ const converted = convertJsxToString(cur, ' ');
131
+ if (!converted) {
136
132
  return acc;
137
133
  }
138
- const found = removeNumericOnlyValues && cur && cur.match(onlyNumericRegex);
139
- if (!(found && found[0].length === cur.length)) {
140
- acc.push(cur);
134
+ const found = removeNumericOnlyValues && converted.match(onlyNumericRegex);
135
+ if (!(found && found[0].length === converted.length)) {
136
+ acc.push(converted);
141
137
  }
142
138
  return acc;
143
139
  }, []).join(separator);
144
140
  } else {
145
- ret = convertJsxToString(dataItem && dataItem.content || dataItem, ' ');
141
+ ret = convertJsxToString(dataItem.content, ' ');
146
142
  }
147
143
  if (hasValue) {
148
144
  if (preferSelectedValue) {
@@ -152,35 +148,30 @@ export const parseContentTitle = (dataItem, {
152
148
  return nestedChildren !== null && nestedChildren !== void 0 && (_nestedChildren$props = nestedChildren.props) !== null && _nestedChildren$props !== void 0 && _nestedChildren$props.children ? nestedChildren : word;
153
149
  }));
154
150
  } else if (!onlyNumericRegex.test(dataItem.selected_value)) {
155
- ret = String(convertJsxToString()) + separator + ret;
151
+ ret = separator + ret;
156
152
  }
157
153
  }
158
- if (Array.isArray(dataItem) && dataItem.length === 0) {
159
- ret = null;
160
- }
161
- if (ret && ret.length === 1 && ret[0].ignore_events) {
162
- return null;
163
- }
164
154
  return ret;
165
- };
155
+ }
166
156
  export const hasObjectKeyAsValue = data => {
167
157
  var _data;
168
158
  data = ((_data = data) === null || _data === void 0 ? void 0 : _data.raw_data) || data;
169
159
  return data && typeof data === 'object' && !Array.isArray(data);
170
160
  };
171
- export const preSelectData = data => {
161
+ export function preSelectData(data) {
172
162
  if (typeof data === 'string') {
173
- data = data[0] === '{' || data[0] === '[' ? JSON.parse(data) : null;
163
+ data = data[0] === '{' || data[0] === '[' ? JSON.parse(data) : undefined;
174
164
  } else if (data && React.isValidElement(data)) {
175
165
  data = [];
176
166
  } else if (typeof data === 'function') {
177
167
  data = data();
178
168
  }
179
169
  return data;
180
- };
181
- export const normalizeData = props => {
182
- let data = preSelectData(props.data || props.children || props);
183
- if (data && typeof data === 'object' && !Array.isArray(data)) {
170
+ }
171
+ export function normalizeData(props) {
172
+ var _preSelectData;
173
+ let data = (_preSelectData = preSelectData(props.data || props.children || props)) !== null && _preSelectData !== void 0 ? _preSelectData : [];
174
+ if (typeof data === 'object' && !Array.isArray(data)) {
184
175
  const list = [];
185
176
  for (const key in data) {
186
177
  list.push({
@@ -193,23 +184,21 @@ export const normalizeData = props => {
193
184
  }
194
185
  data = list;
195
186
  }
196
- return (data || []).map((item, __id) => {
197
- var _item;
198
- if (typeof item === 'number' || typeof item === 'string' || Array.isArray(item) || React.isValidElement(item)) {
199
- item = {
200
- content: item,
201
- __isTransformed: true
202
- };
203
- }
204
- return typeof ((_item = item) === null || _item === void 0 ? void 0 : _item.__id) !== 'undefined' ? item : _objectSpread(_objectSpread({}, item), {}, {
187
+ return data.map((dataItem, __id) => {
188
+ const normalized = normalizeDataItem(dataItem, true);
189
+ return typeof (normalized === null || normalized === void 0 ? void 0 : normalized.__id) !== 'undefined' ? normalized : _objectSpread(_objectSpread({}, normalized), {}, {
205
190
  __id
206
191
  });
207
192
  });
208
- };
193
+ }
194
+ function normalizeDataItem(dataItem, markAsTransformed = false) {
195
+ return dataItem === null ? undefined : typeof dataItem === 'object' && 'content' in dataItem ? dataItem : _objectSpread({
196
+ content: dataItem
197
+ }, markAsTransformed ? {
198
+ __isTransformed: true
199
+ } : {});
200
+ }
209
201
  export const getData = props => {
210
- if (props.prepared_data && Array.isArray(props.prepared_data)) {
211
- return props.prepared_data;
212
- }
213
202
  return normalizeData(props);
214
203
  };
215
204
  export const getCurrentIndex = (value, data) => {
@@ -277,9 +266,9 @@ export const getCurrentData = (item_index, data) => {
277
266
  }
278
267
  return data;
279
268
  };
280
- export const prepareStartupState = props => {
269
+ export function prepareStartupState(props) {
281
270
  const selected_item = null;
282
- const raw_data = preSelectData(props.raw_data || props.data || props.children);
271
+ const raw_data = preSelectData(props.data || (!React.isValidElement(props.children) ? props.children : undefined));
283
272
  const data = getData(props);
284
273
  const opened = props.opened !== null ? isTrue(props.opened) : null;
285
274
  const state = {
@@ -303,7 +292,7 @@ export const prepareStartupState = props => {
303
292
  state._value = props.value;
304
293
  }
305
294
  return state;
306
- };
295
+ }
307
296
  export const prepareDerivedState = (props, state) => {
308
297
  if (state.opened && !state.data && typeof props.data === 'function') {
309
298
  state.data = getData(props);
@@ -316,10 +305,12 @@ export const prepareDerivedState = (props, state) => {
316
305
  state.original_data = getData(props);
317
306
  }
318
307
  state.usePortal = props.skip_portal !== null ? !isTrue(props.skip_portal) : true;
319
- if (typeof props.wrapper_element === 'string' && typeof document !== 'undefined') {
320
- const wrapper_element = document.querySelector(props.wrapper_element);
321
- if (wrapper_element) {
322
- state.wrapper_element = wrapper_element;
308
+ if (typeof props.wrapper_element === 'string') {
309
+ if (typeof document !== 'undefined') {
310
+ const wrapper_element = document.querySelector(props.wrapper_element);
311
+ if (wrapper_element) {
312
+ state.wrapper_element = wrapper_element;
313
+ }
323
314
  }
324
315
  } else if (props.wrapper_element) {
325
316
  state.wrapper_element = props.wrapper_element;
@@ -340,13 +331,13 @@ export const prepareDerivedState = (props, state) => {
340
331
  });
341
332
  }
342
333
  }
343
- if (!(parseFloat(state.active_item) > -2) || state._value !== props.value) {
334
+ if (!(state.active_item !== null && parseFloat(state.active_item) > -2) || state._value !== props.value) {
344
335
  state.active_item = state.selected_item;
345
336
  }
346
337
  if (props.direction !== 'auto' && props.direction !== state.direction) {
347
338
  state.direction = props.direction;
348
339
  }
349
- if (parseFloat(state.selected_item) > -1) {
340
+ if (state.selected_item !== null && parseFloat(state.selected_item) > -1) {
350
341
  state.current_title = getCurrentDataTitle(state.selected_item, state.data);
351
342
  }
352
343
  state._data = props.data;
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerListHelpers.js","names":["React","PropTypes","isTrue","dispatchCustomElementEvent","convertJsxToString","spacingPropTypes","drawerListPropTypes","_objectSpread","id","string","role","cache_hash","triangle_position","scrollable","oneOfType","bool","focusable","direction","oneOf","size","max_height","number","no_animation","no_scroll_animation","prevent_selection","action_menu","is_popup","align_drawer","options_render","object","func","node","wrapper_element","default_value","value","skip_portal","portal_class","list_class","prevent_close","independent_width","fixed_position","keep_open","prevent_focus","skip_keysearch","opened","data","arrayOf","shape","selectedKey","selected_key","selected_value","suffix_value","disabled","content","prepared_data","array","raw_data","ignore_events","className","children","on_show","on_hide","handle_dismiss_focus","on_change","on_pre_change","on_resize","on_select","on_state_update","drawerListDefaultProps","drawerListProviderPropTypes","enable_body_lock","page_offset","observer_element","min_height","drawerListProviderDefaultProps","parseContentTitle","dataItem","separator","removeNumericOnlyValues","preferSelectedValue","_dataItem","ret","onlyNumericRegex","Array","isArray","length","hasValue","reduce","acc","cur","found","match","push","join","String","word","_nestedChildren$props","nestedChildren","props","type","test","hasObjectKeyAsValue","_data","preSelectData","JSON","parse","isValidElement","normalizeData","list","key","map","item","__id","_item","__isTransformed","getData","getCurrentIndex","findIndex","parseCurrentValue","selectedKeyExists","index","isNaN","parseFloat","i","l","_data$i","_data$i2","_data$i3","getSelectedItemValue","state","filter","_","current","getEventData","item_index","getCurrentData","find","prepareStartupState","selected_item","original_data","active_item","_value","prepareDerivedState","Date","now","usePortal","document","querySelector","current_title","getCurrentDataTitle","currentData","findClosest","arr","val","Math","max","apply","v"],"sources":["../../../../src/fragments/drawer-list/DrawerListHelpers.js"],"sourcesContent":["/**\n * Web DrawerList Helpers\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 {\n isTrue,\n dispatchCustomElementEvent,\n convertJsxToString,\n} from '../../shared/component-helper'\nimport { spacingPropTypes } from '../../components/space/SpacingHelper'\n\nexport const drawerListPropTypes = {\n id: PropTypes.string,\n role: PropTypes.string,\n cache_hash: PropTypes.string,\n triangle_position: PropTypes.string,\n scrollable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n focusable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n direction: PropTypes.oneOf(['auto', 'top', 'bottom']),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n max_height: PropTypes.number,\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_scroll_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n\n prevent_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n action_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n is_popup: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n align_drawer: PropTypes.oneOf(['left', 'right']),\n options_render: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.node,\n ]),\n wrapper_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.node,\n ]),\n default_value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n skip_portal: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n portal_class: PropTypes.string,\n list_class: PropTypes.string,\n prevent_close: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n independent_width: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n fixed_position: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_open: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n prevent_focus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skip_keysearch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n opened: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n data: PropTypes.oneOfType([\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n ]),\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n PropTypes.shape({\n selectedKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n /** @deprecated use `selectedKey` */\n selected_key: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n suffix_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n disabled: PropTypes.bool,\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n }),\n ])\n ),\n ]),\n prepared_data: PropTypes.array,\n raw_data: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object,\n PropTypes.func,\n ]),\n ignore_events: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n PropTypes.array,\n ]),\n\n on_show: PropTypes.func,\n on_hide: PropTypes.func,\n handle_dismiss_focus: PropTypes.func,\n on_change: PropTypes.func,\n on_pre_change: PropTypes.func,\n on_resize: PropTypes.func,\n on_select: PropTypes.func,\n on_state_update: PropTypes.func,\n}\n\nexport const drawerListDefaultProps = {\n id: null,\n role: 'listbox',\n cache_hash: null,\n triangle_position: 'left',\n scrollable: true,\n focusable: false,\n max_height: null,\n direction: 'auto',\n size: 'default',\n no_animation: false,\n no_scroll_animation: false,\n prevent_selection: false,\n action_menu: false,\n is_popup: false,\n align_drawer: 'left',\n wrapper_element: null,\n default_value: null,\n value: 'initval',\n portal_class: null,\n list_class: null,\n skip_portal: null,\n prevent_close: false,\n keep_open: false,\n prevent_focus: false,\n fixed_position: false,\n independent_width: false,\n skip_keysearch: false,\n opened: null,\n data: null,\n prepared_data: null,\n raw_data: null,\n ignore_events: null,\n\n className: null,\n children: null,\n\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 options_render: null,\n}\n\nexport const drawerListProviderPropTypes = {\n enable_body_lock: PropTypes.bool,\n page_offset: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n observer_element: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n min_height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n}\n\nexport const drawerListProviderDefaultProps = {\n enable_body_lock: false,\n page_offset: null,\n observer_element: null,\n min_height: 10, // 10rem = 10x16=160,\n}\n\nexport const parseContentTitle = (\n dataItem,\n {\n separator = '\\n',\n removeNumericOnlyValues = false,\n preferSelectedValue = false,\n } = {}\n) => {\n let ret = ''\n const onlyNumericRegex = /[0-9.,-\\s]+/\n if (Array.isArray(dataItem) && dataItem.length > 0) {\n dataItem = { content: dataItem }\n }\n\n const hasValue = dataItem?.selected_value\n\n if (\n !(preferSelectedValue && hasValue) &&\n dataItem &&\n Array.isArray(dataItem.content)\n ) {\n ret = dataItem.content\n .reduce((acc, cur) => {\n // check if we have React inside, with strings we can use\n cur = convertJsxToString(cur, ' ')\n if (cur === false) {\n return acc\n }\n // remove only numbers\n const found =\n removeNumericOnlyValues && cur && cur.match(onlyNumericRegex)\n if (!(found && found[0].length === cur.length)) {\n acc.push(cur)\n }\n return acc\n }, [])\n .join(separator)\n } else {\n ret = convertJsxToString(\n (dataItem && dataItem.content) || dataItem,\n ' '\n )\n }\n\n if (hasValue) {\n if (preferSelectedValue) {\n ret = String(\n convertJsxToString(dataItem.selected_value, separator, (word) => {\n const nestedChildren =\n !word.props.children &&\n typeof word?.type === 'function' &&\n word.type()\n\n return nestedChildren?.props?.children ? nestedChildren : word\n })\n )\n } else if (!onlyNumericRegex.test(dataItem.selected_value)) {\n ret = String(convertJsxToString()) + separator + ret\n }\n }\n\n // make sure we don't return empty strings\n if (Array.isArray(dataItem) && dataItem.length === 0) {\n ret = null\n }\n\n if (ret && ret.length === 1 && ret[0].ignore_events) {\n return null\n }\n\n return ret\n}\n\nexport const hasObjectKeyAsValue = (data) => {\n data = data?.raw_data || data\n return data && typeof data === 'object' && !Array.isArray(data)\n}\n\nexport const preSelectData = (data) => {\n if (typeof data === 'string') {\n data = data[0] === '{' || data[0] === '[' ? JSON.parse(data) : null\n } else if (data && React.isValidElement(data)) {\n data = []\n } else if (typeof data === 'function') {\n data = data()\n }\n\n return data\n}\n\n// normalize data\nexport const normalizeData = (props) => {\n let data = preSelectData(props.data || props.children || props)\n\n if (data && typeof data === 'object' && !Array.isArray(data)) {\n const list = []\n for (const key in data) {\n list.push({\n selectedKey: key,\n selected_key: key,\n value: key,\n content: data[key],\n type: 'object',\n })\n }\n data = list\n }\n\n return (data || []).map((item, __id) => {\n if (\n typeof item === 'number' ||\n typeof item === 'string' ||\n Array.isArray(item) ||\n React.isValidElement(item)\n ) {\n item = { content: item, __isTransformed: true }\n }\n\n return typeof item?.__id !== 'undefined' ? item : { ...item, __id }\n })\n}\n\nexport const getData = (props) => {\n if (props.prepared_data && Array.isArray(props.prepared_data)) {\n return props.prepared_data\n }\n\n return normalizeData(props)\n}\n\nexport const getCurrentIndex = (value, data) => {\n // 1. if a non-numeric value is given\n if (/[^0-9]/.test(String(value))) {\n return data?.findIndex((cur) => parseCurrentValue(cur) === value)\n }\n // 2. if \"selectedKey\" is given in data, we now handle it as a value, and not an index.\n if (selectedKeyExists()) {\n const index = data?.findIndex(\n (cur) => String(parseCurrentValue(cur)) === String(value)\n )\n if (index > -1) {\n return index\n }\n }\n // 3. if is numeric, and no matching \"selectedKey\", handle it as a index.\n if (!isNaN(parseFloat(value))) {\n return value\n }\n\n return null\n\n function selectedKeyExists() {\n for (let i = 0, l = data?.length; i < l; i++) {\n if (i > 10) {\n return false\n }\n if (\n typeof data[i]?.selectedKey !== 'undefined' ||\n typeof data[i]?.selected_key !== 'undefined' ||\n data[i]?.type === 'object'\n ) {\n return true\n }\n }\n }\n}\n\nexport const getSelectedItemValue = (value, state) => {\n if (hasObjectKeyAsValue(state)) {\n return parseCurrentValue(\n state.data.filter((_, i) => i === parseFloat(value))[0]\n )\n }\n\n return value\n}\n\nexport const parseCurrentValue = (current) => {\n if (typeof current?.selectedKey !== 'undefined') {\n return current?.selectedKey\n }\n if (typeof current?.selected_key !== 'undefined') {\n return current?.selected_key\n }\n if (typeof current?.content !== 'undefined') {\n return current?.content\n }\n return current\n}\n\nexport const getEventData = (item_index, data) => {\n data = getCurrentData(item_index, data)\n\n // cleanup\n if (data && data.__id) {\n data = { ...data }\n delete data.__id\n delete data.__isTransformed\n }\n\n return data\n}\n\nexport const getCurrentData = (item_index, data) => {\n if (typeof data === 'function') {\n data = normalizeData(data)\n }\n\n data = (data && data.find(({ __id }) => __id == item_index)) || null\n\n if (data && data.__isTransformed) {\n return data.content\n }\n\n return data\n}\n\nexport const prepareStartupState = (props) => {\n const selected_item = null\n const raw_data = preSelectData(\n props.raw_data || props.data || props.children\n )\n const data = getData(props)\n const opened = props.opened !== null ? isTrue(props.opened) : null\n\n const state = {\n opened,\n data,\n original_data: data, // used to reset in case we reorder data etc.\n raw_data, // to have a backup to look up what we got in the first place (array vs object)\n direction: props.direction,\n max_height: props.max_height,\n selected_item,\n active_item: selected_item,\n on_hide: props.on_hide,\n on_show: props.on_show,\n on_change: props.on_change,\n on_select: props.on_select,\n }\n\n if (\n props.value !== null &&\n typeof props.value !== 'undefined' &&\n props.value !== 'initval'\n ) {\n state.selected_item = state.active_item = getCurrentIndex(\n props.value,\n data\n )\n } else if (props.default_value !== null) {\n state.selected_item = state.active_item = getCurrentIndex(\n props.default_value,\n data\n )\n state._value = props.value\n }\n\n return state\n}\n\nexport const prepareDerivedState = (props, state) => {\n if (state.opened && !state.data && typeof props.data === 'function') {\n state.data = getData(props)\n }\n\n if (props.data && props.data !== state._data) {\n if (state._data) {\n state.cache_hash = state.cache_hash + Date.now()\n }\n state.data = getData(props)\n state.original_data = getData(props)\n }\n\n state.usePortal =\n props.skip_portal !== null ? !isTrue(props.skip_portal) : true\n\n if (\n typeof props.wrapper_element === 'string' &&\n typeof document !== 'undefined'\n ) {\n const wrapper_element = document.querySelector(props.wrapper_element)\n if (wrapper_element) {\n state.wrapper_element = wrapper_element\n }\n } else if (props.wrapper_element) {\n state.wrapper_element = props.wrapper_element\n }\n\n if (\n state.selected_item !== props.value &&\n (state._value !== props.value || isTrue(props.prevent_selection))\n ) {\n if (props.value === 'initval') {\n state.selected_item = null\n } else {\n state.selected_item = getCurrentIndex(\n props.value,\n state.original_data\n )\n }\n\n if (typeof props.on_state_update === 'function') {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n selected_item: state.selected_item,\n value: getSelectedItemValue(state.selected_item, state),\n data: getEventData(state.selected_item, state.data),\n })\n }\n }\n\n // active_item can be -1, so we check for -2\n if (\n !(parseFloat(state.active_item) > -2) ||\n state._value !== props.value\n ) {\n state.active_item = state.selected_item\n }\n\n if (props.direction !== 'auto' && props.direction !== state.direction) {\n state.direction = props.direction\n }\n\n if (parseFloat(state.selected_item) > -1) {\n state.current_title = getCurrentDataTitle(\n state.selected_item,\n state.data\n )\n }\n\n state._data = props.data\n state._value = props.value\n\n return state\n}\n\nexport const getCurrentDataTitle = (selected_item, data) => {\n const currentData = getCurrentData(selected_item, data)\n return parseContentTitle(currentData, {\n separator: ' ',\n preferSelectedValue: true,\n })\n}\n\nexport const findClosest = (arr, val) =>\n Math.max.apply(\n null,\n arr.filter((v) => v <= val)\n )\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DrawerListHelpers.js","names":["React","PropTypes","isTrue","dispatchCustomElementEvent","convertJsxToString","spacingPropTypes","drawerListPropTypes","_objectSpread","id","string","role","cache_hash","triangle_position","scrollable","oneOfType","bool","focusable","direction","oneOf","size","max_height","number","no_animation","no_scroll_animation","prevent_selection","action_menu","is_popup","align_drawer","options_render","object","func","node","wrapper_element","default_value","value","skip_portal","portal_class","list_class","prevent_close","independent_width","fixed_position","keep_open","prevent_focus","skip_keysearch","opened","data","arrayOf","shape","selectedKey","selected_key","selected_value","suffix_value","disabled","content","raw_data","array","ignore_events","className","children","on_show","on_hide","handle_dismiss_focus","on_change","on_pre_change","on_resize","on_select","on_state_update","drawerListDefaultProps","drawerListProviderPropTypes","enable_body_lock","page_offset","observer_element","min_height","drawerListProviderDefaultProps","parseContentTitle","dataItem","separator","removeNumericOnlyValues","preferSelectedValue","normalizeDataItem","ret","onlyNumericRegex","hasValue","Array","isArray","reduce","acc","cur","converted","found","match","length","push","join","String","word","_nestedChildren$props","nestedChildren","props","type","test","hasObjectKeyAsValue","_data","preSelectData","JSON","parse","undefined","isValidElement","normalizeData","_preSelectData","list","key","map","__id","normalized","markAsTransformed","__isTransformed","getData","getCurrentIndex","findIndex","parseCurrentValue","selectedKeyExists","index","isNaN","parseFloat","i","l","_data$i","_data$i2","_data$i3","getSelectedItemValue","state","filter","_","current","getEventData","item_index","getCurrentData","find","prepareStartupState","selected_item","original_data","active_item","_value","prepareDerivedState","Date","now","usePortal","document","querySelector","current_title","getCurrentDataTitle","currentData","findClosest","arr","val","Math","max","apply","v"],"sources":["../../../../src/fragments/drawer-list/DrawerListHelpers.ts"],"sourcesContent":["/**\n * Web DrawerList Helpers\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 {\n isTrue,\n dispatchCustomElementEvent,\n convertJsxToString,\n} from '../../shared/component-helper'\nimport { spacingPropTypes } from '../../components/space/SpacingHelper'\nimport {\n DrawerListDataArrayItem,\n DrawerListDataArrayObject,\n DrawerListData,\n DrawerListDataAll,\n DrawerListDataArray,\n} from './DrawerList'\nimport { DrawerListProviderProps } from './DrawerListProvider'\nimport { DrawerListContextState } from './DrawerListContext'\n\n// legacy used by Autocomplete and Dropdown\nexport const drawerListPropTypes = {\n id: PropTypes.string,\n role: PropTypes.string,\n cache_hash: PropTypes.string,\n triangle_position: PropTypes.string,\n scrollable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n focusable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n direction: PropTypes.oneOf(['auto', 'top', 'bottom']),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n max_height: PropTypes.number,\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_scroll_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n\n prevent_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n action_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n is_popup: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n align_drawer: PropTypes.oneOf(['left', 'right']),\n options_render: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.node,\n ]),\n wrapper_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.node,\n ]),\n default_value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n skip_portal: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n portal_class: PropTypes.string,\n list_class: PropTypes.string,\n prevent_close: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n independent_width: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n fixed_position: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_open: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n prevent_focus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skip_keysearch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n opened: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n data: PropTypes.oneOfType([\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n ]),\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n PropTypes.shape({\n selectedKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n /** @deprecated use `selectedKey` */\n selected_key: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n suffix_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n disabled: PropTypes.bool,\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n }),\n ])\n ),\n ]),\n raw_data: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object,\n PropTypes.func,\n ]),\n ignore_events: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n PropTypes.array,\n ]),\n\n on_show: PropTypes.func,\n on_hide: PropTypes.func,\n handle_dismiss_focus: PropTypes.func,\n on_change: PropTypes.func,\n on_pre_change: PropTypes.func,\n on_resize: PropTypes.func,\n on_select: PropTypes.func,\n on_state_update: PropTypes.func,\n}\n\nexport const drawerListDefaultProps = {\n id: null,\n role: 'listbox',\n cache_hash: null,\n triangle_position: 'left',\n scrollable: true,\n focusable: false,\n max_height: null,\n direction: 'auto',\n size: 'default',\n no_animation: false,\n no_scroll_animation: false,\n prevent_selection: false,\n action_menu: false,\n is_popup: false,\n align_drawer: 'left',\n wrapper_element: null,\n default_value: null,\n value: 'initval',\n portal_class: null,\n list_class: null,\n skip_portal: null,\n prevent_close: false,\n keep_open: false,\n prevent_focus: false,\n fixed_position: false,\n independent_width: false,\n skip_keysearch: false,\n opened: null,\n data: null,\n raw_data: null,\n ignore_events: null,\n\n className: null,\n children: null,\n\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 options_render: null,\n}\n\n// legacy used by Dropdown\nexport const drawerListProviderPropTypes = {\n enable_body_lock: PropTypes.bool,\n page_offset: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n observer_element: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n min_height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n}\n\nexport const drawerListProviderDefaultProps = {\n enable_body_lock: false,\n page_offset: null,\n observer_element: null,\n min_height: 10, // 10rem = 10x16=160,\n}\n\nexport function parseContentTitle(\n dataItem: DrawerListDataArrayItem,\n {\n separator = '\\n',\n removeNumericOnlyValues = false,\n preferSelectedValue = false,\n } = {}\n): string | null {\n dataItem = normalizeDataItem(dataItem)\n\n if (!dataItem) {\n return null\n }\n\n let ret = ''\n const onlyNumericRegex = /[0-9.,-\\s]+/\n\n const hasValue = dataItem && dataItem.selected_value\n\n if (\n !(preferSelectedValue && hasValue) &&\n Array.isArray(dataItem.content)\n ) {\n ret = dataItem.content\n .reduce<string[]>((acc, cur) => {\n // check if we have React inside, with strings we can use\n const converted = convertJsxToString(cur, ' ')\n if (!converted) {\n return acc\n }\n // remove only numbers\n const found =\n removeNumericOnlyValues && converted.match(onlyNumericRegex)\n if (!(found && found[0].length === converted.length)) {\n acc.push(converted)\n }\n return acc\n }, [])\n .join(separator)\n } else {\n ret = convertJsxToString(dataItem.content, ' ')\n }\n\n if (hasValue) {\n if (preferSelectedValue) {\n ret = String(\n convertJsxToString(dataItem.selected_value, separator, (word) => {\n const nestedChildren =\n !word.props.children &&\n typeof word?.type === 'function' &&\n (word.type as () => React.ReactElement)()\n\n return nestedChildren?.props?.children ? nestedChildren : word\n })\n )\n } else if (!onlyNumericRegex.test(dataItem.selected_value as string)) {\n ret = separator + ret\n }\n }\n\n return ret\n}\n\nexport const hasObjectKeyAsValue = (data) => {\n data = data?.raw_data || data\n return data && typeof data === 'object' && !Array.isArray(data)\n}\n\nexport function preSelectData(data: DrawerListData): DrawerListDataAll {\n if (typeof data === 'string') {\n data =\n data[0] === '{' || data[0] === '['\n ? (JSON.parse(data) as Array<any> | Record<string, any>)\n : undefined\n } else if (data && React.isValidElement(data)) {\n data = []\n } else if (typeof data === 'function') {\n data = data()\n }\n\n return data\n}\n\n/**\n * Takes any of the forms data can have and returns a normalized array representation of it.\n * If the data is a single React.ReactNode, it will return an empty list.\n * @param {*} props object containing the data in props.data or props.children, or the data itself\n * @returns an array representation of the data\n */\nexport function normalizeData(props): DrawerListDataArrayObject[] {\n let data = preSelectData(props.data || props.children || props) ?? []\n\n if (typeof data === 'object' && !Array.isArray(data)) {\n const list: DrawerListDataArray = []\n for (const key in data) {\n list.push({\n selectedKey: key,\n selected_key: key,\n value: key,\n content: data[key],\n type: 'object',\n })\n }\n data = list\n }\n\n return data.map((dataItem, __id) => {\n const normalized = normalizeDataItem(dataItem, true)\n\n return typeof normalized?.__id !== 'undefined'\n ? normalized\n : { ...normalized, __id }\n })\n}\n\nfunction normalizeDataItem(\n dataItem: DrawerListDataArrayItem,\n markAsTransformed = false\n): DrawerListDataArrayObject {\n return dataItem === null\n ? undefined\n : typeof dataItem === 'object' && 'content' in dataItem\n ? dataItem\n : {\n content: dataItem,\n ...(markAsTransformed ? { __isTransformed: true } : {}),\n }\n}\n\nexport const getData = (props) => {\n return normalizeData(props)\n}\n\nexport const getCurrentIndex = (value, data) => {\n // 1. if a non-numeric value is given\n if (/[^0-9]/.test(String(value))) {\n return data?.findIndex((cur) => parseCurrentValue(cur) === value)\n }\n // 2. if \"selectedKey\" is given in data, we now handle it as a value, and not an index.\n if (selectedKeyExists()) {\n const index = data?.findIndex(\n (cur) => String(parseCurrentValue(cur)) === String(value)\n )\n if (index > -1) {\n return index\n }\n }\n // 3. if is numeric, and no matching \"selectedKey\", handle it as a index.\n if (!isNaN(parseFloat(value))) {\n return value\n }\n\n return null\n\n function selectedKeyExists() {\n for (let i = 0, l = data?.length; i < l; i++) {\n if (i > 10) {\n return false\n }\n if (\n typeof data[i]?.selectedKey !== 'undefined' ||\n typeof data[i]?.selected_key !== 'undefined' ||\n data[i]?.type === 'object'\n ) {\n return true\n }\n }\n }\n}\n\nexport const getSelectedItemValue = (value, state) => {\n if (hasObjectKeyAsValue(state)) {\n return parseCurrentValue(\n state.data.filter((_, i) => i === parseFloat(value))[0]\n )\n }\n\n return value\n}\n\nexport const parseCurrentValue = (current) => {\n if (typeof current?.selectedKey !== 'undefined') {\n return current?.selectedKey\n }\n if (typeof current?.selected_key !== 'undefined') {\n return current?.selected_key\n }\n if (typeof current?.content !== 'undefined') {\n return current?.content\n }\n return current\n}\n\nexport const getEventData = (item_index, data) => {\n data = getCurrentData(item_index, data)\n\n // cleanup\n if (data && data.__id) {\n data = { ...data }\n delete data.__id\n delete data.__isTransformed\n }\n\n return data\n}\n\nexport const getCurrentData = (item_index, data) => {\n if (typeof data === 'function') {\n data = normalizeData(data)\n }\n\n data = (data && data.find(({ __id }) => __id == item_index)) || null\n\n if (data && data.__isTransformed) {\n return data.content\n }\n\n return data\n}\n\nexport function prepareStartupState(\n props: DrawerListProviderProps\n): DrawerListContextState {\n const selected_item = null\n const raw_data = preSelectData(\n props.data ||\n (!React.isValidElement(props.children)\n ? (props.children as DrawerListData)\n : undefined)\n )\n const data = getData(props)\n const opened = props.opened !== null ? isTrue(props.opened) : null\n\n const state: DrawerListContextState = {\n opened,\n data,\n original_data: data, // used to reset in case we reorder data etc.\n raw_data,\n direction: props.direction,\n max_height: props.max_height,\n selected_item,\n active_item: selected_item,\n on_hide: props.on_hide,\n on_show: props.on_show,\n on_change: props.on_change,\n on_select: props.on_select,\n }\n\n if (\n props.value !== null &&\n typeof props.value !== 'undefined' &&\n props.value !== 'initval'\n ) {\n state.selected_item = state.active_item = getCurrentIndex(\n props.value,\n data\n )\n } else if (props.default_value !== null) {\n state.selected_item = state.active_item = getCurrentIndex(\n props.default_value,\n data\n )\n state._value = props.value\n }\n\n return state\n}\n\nexport const prepareDerivedState = (\n props: DrawerListProviderProps,\n state: DrawerListContextState\n) => {\n if (state.opened && !state.data && typeof props.data === 'function') {\n state.data = getData(props)\n }\n\n if (props.data && props.data !== state._data) {\n if (state._data) {\n state.cache_hash = state.cache_hash + Date.now()\n }\n state.data = getData(props)\n state.original_data = getData(props)\n }\n\n state.usePortal =\n props.skip_portal !== null ? !isTrue(props.skip_portal) : true\n\n if (typeof props.wrapper_element === 'string') {\n if (typeof document !== 'undefined') {\n const wrapper_element = document.querySelector<HTMLElement>(\n props.wrapper_element\n )\n if (wrapper_element) {\n state.wrapper_element = wrapper_element\n }\n }\n } else if (props.wrapper_element) {\n state.wrapper_element = props.wrapper_element\n }\n\n if (\n state.selected_item !== props.value &&\n (state._value !== props.value || isTrue(props.prevent_selection))\n ) {\n if (props.value === 'initval') {\n state.selected_item = null\n } else {\n state.selected_item = getCurrentIndex(\n props.value,\n state.original_data\n )\n }\n\n if (typeof props.on_state_update === 'function') {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n selected_item: state.selected_item,\n value: getSelectedItemValue(state.selected_item, state),\n data: getEventData(state.selected_item, state.data),\n })\n }\n }\n\n // active_item can be -1, so we check for -2\n if (\n !(\n state.active_item !== null &&\n parseFloat(state.active_item as string) > -2\n ) ||\n state._value !== props.value\n ) {\n state.active_item = state.selected_item\n }\n\n if (props.direction !== 'auto' && props.direction !== state.direction) {\n state.direction = props.direction\n }\n\n if (\n state.selected_item !== null &&\n parseFloat(state.selected_item as string) > -1\n ) {\n state.current_title = getCurrentDataTitle(\n state.selected_item,\n state.data\n )\n }\n\n state._data = props.data\n state._value = props.value\n\n return state\n}\n\nexport const getCurrentDataTitle = (selected_item, data) => {\n const currentData = getCurrentData(selected_item, data)\n return parseContentTitle(currentData, {\n separator: ' ',\n preferSelectedValue: true,\n })\n}\n\nexport const findClosest = (arr, val) =>\n Math.max.apply(\n null,\n arr.filter((v) => v <= val)\n )\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import { DrawerListDataArrayObject } from './DrawerList';
3
+ export type DrawerListItemProps = Omit<React.HTMLProps<HTMLLIElement>, 'children'> & {
4
+ children: ItemContentChildren;
5
+ active?: boolean;
6
+ hash?: string;
7
+ selected?: boolean;
8
+ /**
9
+ * 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).
10
+ */
11
+ value?: string;
12
+ on_click?: ({ selected, value, }: {
13
+ selected: boolean;
14
+ /**
15
+ * 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).
16
+ */
17
+ value: string;
18
+ }) => void;
19
+ };
20
+ export declare const DrawerListItem: React.ForwardRefExoticComponent<Omit<DrawerListItemProps, "ref"> & React.RefAttributes<HTMLLIElement>>;
21
+ export type ItemContentChildren = React.ReactNode | DrawerListDataArrayObject;
22
+ export interface ItemContentProps {
23
+ hash?: string;
24
+ children?: ItemContentChildren;
25
+ }
26
+ export declare function ItemContent({ hash, children }: ItemContentProps): import("react/jsx-runtime").JSX.Element;
27
+ export type DrawerListHorizontalItemProps = {
28
+ children: React.ReactNode;
29
+ } & Omit<React.HTMLProps<HTMLElement>, 'children'>;
30
+ export declare function DrawerListHorizontalItem({ className, ...props }: DrawerListHorizontalItemProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,90 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
+ const _excluded = ["role", "hash", "children", "className", "on_click", "selected", "active", "value", "disabled"],
5
+ _excluded2 = ["children", "className"],
6
+ _excluded3 = ["className"];
7
+ 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; }
8
+ 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; }
9
+ import React, { forwardRef } from 'react';
10
+ import classnames from 'classnames';
11
+ export const DrawerListItem = forwardRef(function DrawerListItem(props, ref) {
12
+ const {
13
+ role = 'option',
14
+ hash = '',
15
+ children,
16
+ className = null,
17
+ on_click = null,
18
+ selected,
19
+ active = null,
20
+ value = null,
21
+ disabled
22
+ } = props,
23
+ rest = _objectWithoutProperties(props, _excluded);
24
+ const params = {
25
+ className: classnames(className, 'dnb-drawer-list__option', selected && 'dnb-drawer-list__option--selected', active && 'dnb-drawer-list__option--focus'),
26
+ role,
27
+ tabIndex: selected ? 0 : -1,
28
+ disabled,
29
+ 'aria-selected': active,
30
+ 'aria-disabled': disabled
31
+ };
32
+ if (selected) {
33
+ params['aria-current'] = true;
34
+ }
35
+ if (on_click && !rest.onClick) {
36
+ rest.onClick = () => on_click(_objectSpread({
37
+ selected,
38
+ value
39
+ }, rest));
40
+ }
41
+ return React.createElement("li", _extends({}, params, rest, {
42
+ ref: ref,
43
+ key: 'li' + hash
44
+ }), React.createElement("span", {
45
+ className: "dnb-drawer-list__option__inner"
46
+ }, React.createElement(ItemContent, {
47
+ hash: hash
48
+ }, children)));
49
+ });
50
+ export function ItemContent({
51
+ hash = '',
52
+ children
53
+ }) {
54
+ let renderedContent = undefined;
55
+ const isDataObject = typeof children === 'object' && 'content' in children;
56
+ const content = isDataObject ? children.content : children;
57
+ if (content) {
58
+ if (Array.isArray(content)) {
59
+ renderedContent = content.map((contentItem, n) => React.createElement(DrawerListOptionItem, {
60
+ key: hash + n,
61
+ className: `item-nr-${n + 1}`
62
+ }, isDataObject && children.render ? children.render(contentItem, hash + n) : contentItem));
63
+ } else {
64
+ renderedContent = React.createElement(DrawerListOptionItem, null, isDataObject && children.render ? children.render(content, hash) : content);
65
+ }
66
+ }
67
+ return React.createElement(React.Fragment, null, renderedContent, isDataObject && children.suffix_value && React.createElement(DrawerListOptionItem, {
68
+ className: "dnb-drawer-list__option__suffix"
69
+ }, children.suffix_value));
70
+ }
71
+ function DrawerListOptionItem(_ref) {
72
+ let {
73
+ children = undefined,
74
+ className = null
75
+ } = _ref,
76
+ props = _objectWithoutProperties(_ref, _excluded2);
77
+ return React.createElement("span", _extends({
78
+ className: classnames('dnb-drawer-list__option__item', className)
79
+ }, props), children);
80
+ }
81
+ export function DrawerListHorizontalItem(_ref2) {
82
+ let {
83
+ className
84
+ } = _ref2,
85
+ props = _objectWithoutProperties(_ref2, _excluded3);
86
+ return React.createElement(DrawerListOptionItem, _extends({
87
+ className: classnames('dnb-drawer-list__option__item--horizontal', className)
88
+ }, props));
89
+ }
90
+ //# sourceMappingURL=DrawerListItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawerListItem.js","names":["React","forwardRef","classnames","DrawerListItem","props","ref","role","hash","children","className","on_click","selected","active","value","disabled","rest","_objectWithoutProperties","_excluded","params","tabIndex","onClick","_objectSpread","createElement","_extends","key","ItemContent","renderedContent","undefined","isDataObject","content","Array","isArray","map","contentItem","n","DrawerListOptionItem","render","Fragment","suffix_value","_ref","_excluded2","DrawerListHorizontalItem","_ref2","_excluded3"],"sources":["../../../../src/fragments/drawer-list/DrawerListItem.tsx"],"sourcesContent":["import React, { forwardRef } from 'react'\nimport classnames from 'classnames'\nimport { DrawerListDataArrayObject } from './DrawerList'\n\nexport type DrawerListItemProps = Omit<\n React.HTMLProps<HTMLLIElement>,\n 'children'\n> & {\n children: ItemContentChildren\n active?: boolean\n hash?: string\n selected?: boolean\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?: string\n on_click?: ({\n selected,\n value,\n }: {\n selected: boolean\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: string\n }) => void\n}\n\nexport const DrawerListItem = forwardRef(function DrawerListItem(\n props: DrawerListItemProps,\n ref: React.ForwardedRef<HTMLLIElement>\n) {\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 disabled,\n 'aria-selected': active,\n 'aria-disabled': disabled,\n }\n if (selected) {\n params['aria-current'] = true // has best support on NVDA\n }\n\n if (on_click && !rest.onClick) {\n rest.onClick = () =>\n on_click({\n selected,\n value,\n ...rest,\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})\n\nexport type ItemContentChildren =\n | React.ReactNode\n | DrawerListDataArrayObject\n\nexport interface ItemContentProps {\n hash?: string\n children?: ItemContentChildren\n}\n\nexport function ItemContent({ hash = '', children }: ItemContentProps) {\n let renderedContent = undefined\n const isDataObject =\n typeof children === 'object' && 'content' in children\n\n const content = isDataObject ? children.content : children\n if (content) {\n if (Array.isArray(content)) {\n renderedContent = content.map((contentItem, n) => (\n <DrawerListOptionItem\n key={hash + n}\n className={`item-nr-${n + 1}`} // \"item-nr\" is used by CSS\n >\n {isDataObject && children.render\n ? children.render(contentItem, hash + n)\n : contentItem}\n </DrawerListOptionItem>\n ))\n } else {\n renderedContent = (\n <DrawerListOptionItem>\n {isDataObject && children.render\n ? children.render(content, hash)\n : content}\n </DrawerListOptionItem>\n )\n }\n }\n\n return (\n <>\n {renderedContent}\n {isDataObject && children.suffix_value && (\n <DrawerListOptionItem className=\"dnb-drawer-list__option__suffix\">\n {children.suffix_value}\n </DrawerListOptionItem>\n )}\n </>\n )\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\nexport type DrawerListHorizontalItemProps = {\n children: React.ReactNode\n} & Omit<React.HTMLProps<HTMLElement>, 'children'>\n\nexport function DrawerListHorizontalItem({\n className,\n ...props\n}: DrawerListHorizontalItemProps) {\n return (\n <DrawerListOptionItem\n className={classnames([\n 'dnb-drawer-list__option__item--horizontal',\n className,\n ])}\n {...props}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,30 +1,20 @@
1
- import * as React from 'react';
2
- export interface DrawerListPortalInnerRef {
3
- current?: React.ReactNode | Record<string, unknown>;
4
- }
5
- export type DrawerListPortalCurrent =
6
- | React.ReactNode
7
- | Record<string, unknown>;
8
- export interface DrawerListPortalRootRef {
9
- current?: React.ReactNode | Record<string, unknown>;
10
- }
11
- export interface DrawerListPortalProps
12
- extends React.HTMLProps<HTMLElement> {
13
- id: string;
14
- children: React.ReactNode;
15
- opened: boolean;
16
- innerRef?: DrawerListPortalInnerRef;
17
- current?: DrawerListPortalCurrent;
18
- rootRef: DrawerListPortalRootRef;
19
- include_owner_width?: boolean;
20
- independent_width?: boolean;
21
- fixed_position?: boolean;
22
- className?: string;
23
- }
24
- export default class DrawerListPortal extends React.Component<
25
- DrawerListPortalProps,
26
- any
27
- > {
28
- static defaultProps: object;
29
- render(): JSX.Element;
30
- }
1
+ /**
2
+ * Web DrawerList Component
3
+ *
4
+ * This is a legacy component.
5
+ * For referencing while developing new features, please use a Functional component.
6
+ */
7
+ import React from 'react';
8
+ export type DrawerListPortalProps = {
9
+ id: string;
10
+ children: React.ReactNode;
11
+ opened: boolean;
12
+ innerRef?: React.ForwardedRef<HTMLSpanElement>;
13
+ rootRef: React.RefObject<HTMLSpanElement>;
14
+ include_owner_width?: boolean;
15
+ independent_width?: boolean;
16
+ fixed_position?: boolean;
17
+ className?: string;
18
+ };
19
+ declare const _default: React.ForwardRefExoticComponent<Omit<DrawerListPortalProps, "innerRef"> & React.RefAttributes<HTMLSpanElement>>;
20
+ export default _default;