@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,35 +113,33 @@ export const drawerListProviderDefaultProps = {
115
113
  observer_element: null,
116
114
  min_height: 10
117
115
  };
118
- export const parseContentTitle = function (dataItem) {
119
- var _dataItem;
116
+ export function parseContentTitle(dataItem) {
120
117
  let {
121
118
  separator = '\n',
122
119
  removeNumericOnlyValues = false,
123
120
  preferSelectedValue = false
124
121
  } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
122
+ dataItem = normalizeDataItem(dataItem);
123
+ if (!dataItem) {
124
+ return null;
125
+ }
125
126
  let ret = '';
126
127
  const onlyNumericRegex = /[0-9.,-\s]+/;
127
- if (Array.isArray(dataItem) && dataItem.length > 0) {
128
- dataItem = {
129
- content: dataItem
130
- };
131
- }
132
- const hasValue = (_dataItem = dataItem) === null || _dataItem === void 0 ? void 0 : _dataItem.selected_value;
133
- if (!(preferSelectedValue && hasValue) && dataItem && Array.isArray(dataItem.content)) {
128
+ const hasValue = dataItem && dataItem.selected_value;
129
+ if (!(preferSelectedValue && hasValue) && Array.isArray(dataItem.content)) {
134
130
  ret = dataItem.content.reduce((acc, cur) => {
135
- cur = convertJsxToString(cur, ' ');
136
- if (cur === false) {
131
+ const converted = convertJsxToString(cur, ' ');
132
+ if (!converted) {
137
133
  return acc;
138
134
  }
139
- const found = removeNumericOnlyValues && cur && cur.match(onlyNumericRegex);
140
- if (!(found && found[0].length === cur.length)) {
141
- acc.push(cur);
135
+ const found = removeNumericOnlyValues && converted.match(onlyNumericRegex);
136
+ if (!(found && found[0].length === converted.length)) {
137
+ acc.push(converted);
142
138
  }
143
139
  return acc;
144
140
  }, []).join(separator);
145
141
  } else {
146
- ret = convertJsxToString(dataItem && dataItem.content || dataItem, ' ');
142
+ ret = convertJsxToString(dataItem.content, ' ');
147
143
  }
148
144
  if (hasValue) {
149
145
  if (preferSelectedValue) {
@@ -153,35 +149,30 @@ export const parseContentTitle = function (dataItem) {
153
149
  return nestedChildren !== null && nestedChildren !== void 0 && (_nestedChildren$props = nestedChildren.props) !== null && _nestedChildren$props !== void 0 && _nestedChildren$props.children ? nestedChildren : word;
154
150
  }));
155
151
  } else if (!onlyNumericRegex.test(dataItem.selected_value)) {
156
- ret = String(convertJsxToString()) + separator + ret;
152
+ ret = separator + ret;
157
153
  }
158
154
  }
159
- if (Array.isArray(dataItem) && dataItem.length === 0) {
160
- ret = null;
161
- }
162
- if (ret && ret.length === 1 && ret[0].ignore_events) {
163
- return null;
164
- }
165
155
  return ret;
166
- };
156
+ }
167
157
  export const hasObjectKeyAsValue = data => {
168
158
  var _data;
169
159
  data = ((_data = data) === null || _data === void 0 ? void 0 : _data.raw_data) || data;
170
160
  return data && typeof data === 'object' && !Array.isArray(data);
171
161
  };
172
- export const preSelectData = data => {
162
+ export function preSelectData(data) {
173
163
  if (typeof data === 'string') {
174
- data = data[0] === '{' || data[0] === '[' ? JSON.parse(data) : null;
164
+ data = data[0] === '{' || data[0] === '[' ? JSON.parse(data) : undefined;
175
165
  } else if (data && React.isValidElement(data)) {
176
166
  data = [];
177
167
  } else if (typeof data === 'function') {
178
168
  data = data();
179
169
  }
180
170
  return data;
181
- };
182
- export const normalizeData = props => {
183
- let data = preSelectData(props.data || props.children || props);
184
- if (data && typeof data === 'object' && !Array.isArray(data)) {
171
+ }
172
+ export function normalizeData(props) {
173
+ var _preSelectData;
174
+ let data = (_preSelectData = preSelectData(props.data || props.children || props)) !== null && _preSelectData !== void 0 ? _preSelectData : [];
175
+ if (typeof data === 'object' && !Array.isArray(data)) {
185
176
  const list = [];
186
177
  for (const key in data) {
187
178
  list.push({
@@ -194,23 +185,22 @@ export const normalizeData = props => {
194
185
  }
195
186
  data = list;
196
187
  }
197
- return (data || []).map((item, __id) => {
198
- var _item;
199
- if (typeof item === 'number' || typeof item === 'string' || Array.isArray(item) || React.isValidElement(item)) {
200
- item = {
201
- content: item,
202
- __isTransformed: true
203
- };
204
- }
205
- return typeof ((_item = item) === null || _item === void 0 ? void 0 : _item.__id) !== 'undefined' ? item : _objectSpread(_objectSpread({}, item), {}, {
188
+ return data.map((dataItem, __id) => {
189
+ const normalized = normalizeDataItem(dataItem, true);
190
+ return typeof (normalized === null || normalized === void 0 ? void 0 : normalized.__id) !== 'undefined' ? normalized : _objectSpread(_objectSpread({}, normalized), {}, {
206
191
  __id
207
192
  });
208
193
  });
209
- };
194
+ }
195
+ function normalizeDataItem(dataItem) {
196
+ let markAsTransformed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
197
+ return dataItem === null ? undefined : typeof dataItem === 'object' && 'content' in dataItem ? dataItem : _objectSpread({
198
+ content: dataItem
199
+ }, markAsTransformed ? {
200
+ __isTransformed: true
201
+ } : {});
202
+ }
210
203
  export const getData = props => {
211
- if (props.prepared_data && Array.isArray(props.prepared_data)) {
212
- return props.prepared_data;
213
- }
214
204
  return normalizeData(props);
215
205
  };
216
206
  export const getCurrentIndex = (value, data) => {
@@ -281,9 +271,9 @@ export const getCurrentData = (item_index, data) => {
281
271
  }
282
272
  return data;
283
273
  };
284
- export const prepareStartupState = props => {
274
+ export function prepareStartupState(props) {
285
275
  const selected_item = null;
286
- const raw_data = preSelectData(props.raw_data || props.data || props.children);
276
+ const raw_data = preSelectData(props.data || (!React.isValidElement(props.children) ? props.children : undefined));
287
277
  const data = getData(props);
288
278
  const opened = props.opened !== null ? isTrue(props.opened) : null;
289
279
  const state = {
@@ -307,7 +297,7 @@ export const prepareStartupState = props => {
307
297
  state._value = props.value;
308
298
  }
309
299
  return state;
310
- };
300
+ }
311
301
  export const prepareDerivedState = (props, state) => {
312
302
  if (state.opened && !state.data && typeof props.data === 'function') {
313
303
  state.data = getData(props);
@@ -320,10 +310,12 @@ export const prepareDerivedState = (props, state) => {
320
310
  state.original_data = getData(props);
321
311
  }
322
312
  state.usePortal = props.skip_portal !== null ? !isTrue(props.skip_portal) : true;
323
- if (typeof props.wrapper_element === 'string' && typeof document !== 'undefined') {
324
- const wrapper_element = document.querySelector(props.wrapper_element);
325
- if (wrapper_element) {
326
- state.wrapper_element = wrapper_element;
313
+ if (typeof props.wrapper_element === 'string') {
314
+ if (typeof document !== 'undefined') {
315
+ const wrapper_element = document.querySelector(props.wrapper_element);
316
+ if (wrapper_element) {
317
+ state.wrapper_element = wrapper_element;
318
+ }
327
319
  }
328
320
  } else if (props.wrapper_element) {
329
321
  state.wrapper_element = props.wrapper_element;
@@ -344,13 +336,13 @@ export const prepareDerivedState = (props, state) => {
344
336
  });
345
337
  }
346
338
  }
347
- if (!(parseFloat(state.active_item) > -2) || state._value !== props.value) {
339
+ if (!(state.active_item !== null && parseFloat(state.active_item) > -2) || state._value !== props.value) {
348
340
  state.active_item = state.selected_item;
349
341
  }
350
342
  if (props.direction !== 'auto' && props.direction !== state.direction) {
351
343
  state.direction = props.direction;
352
344
  }
353
- if (parseFloat(state.selected_item) > -1) {
345
+ if (state.selected_item !== null && parseFloat(state.selected_item) > -1) {
354
346
  state.current_title = getCurrentDataTitle(state.selected_item, state.data);
355
347
  }
356
348
  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","_dataItem","separator","removeNumericOnlyValues","preferSelectedValue","arguments","length","undefined","ret","onlyNumericRegex","Array","isArray","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","_ref","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","arguments","length","undefined","normalizeDataItem","ret","onlyNumericRegex","hasValue","Array","isArray","reduce","acc","cur","converted","found","match","push","join","String","word","_nestedChildren$props","nestedChildren","props","type","test","hasObjectKeyAsValue","_data","preSelectData","JSON","parse","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","_ref","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,91 @@
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(_ref) {
51
+ let {
52
+ hash = '',
53
+ children
54
+ } = _ref;
55
+ let renderedContent = undefined;
56
+ const isDataObject = typeof children === 'object' && 'content' in children;
57
+ const content = isDataObject ? children.content : children;
58
+ if (content) {
59
+ if (Array.isArray(content)) {
60
+ renderedContent = content.map((contentItem, n) => React.createElement(DrawerListOptionItem, {
61
+ key: hash + n,
62
+ className: `item-nr-${n + 1}`
63
+ }, isDataObject && children.render ? children.render(contentItem, hash + n) : contentItem));
64
+ } else {
65
+ renderedContent = React.createElement(DrawerListOptionItem, null, isDataObject && children.render ? children.render(content, hash) : content);
66
+ }
67
+ }
68
+ return React.createElement(React.Fragment, null, renderedContent, isDataObject && children.suffix_value && React.createElement(DrawerListOptionItem, {
69
+ className: "dnb-drawer-list__option__suffix"
70
+ }, children.suffix_value));
71
+ }
72
+ function DrawerListOptionItem(_ref2) {
73
+ let {
74
+ children = undefined,
75
+ className = null
76
+ } = _ref2,
77
+ props = _objectWithoutProperties(_ref2, _excluded2);
78
+ return React.createElement("span", _extends({
79
+ className: classnames('dnb-drawer-list__option__item', className)
80
+ }, props), children);
81
+ }
82
+ export function DrawerListHorizontalItem(_ref3) {
83
+ let {
84
+ className
85
+ } = _ref3,
86
+ props = _objectWithoutProperties(_ref3, _excluded3);
87
+ return React.createElement(DrawerListOptionItem, _extends({
88
+ className: classnames('dnb-drawer-list__option__item--horizontal', className)
89
+ }, props));
90
+ }
91
+ //# 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","_ref","renderedContent","undefined","isDataObject","content","Array","isArray","map","contentItem","n","DrawerListOptionItem","render","Fragment","suffix_value","_ref2","_excluded2","DrawerListHorizontalItem","_ref3","_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;