@dnb/eufemia 10.53.0 → 10.54.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 (807) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/cjs/components/CountryFlag.d.ts +12 -0
  3. package/cjs/components/CountryFlag.js +24 -0
  4. package/cjs/components/CountryFlag.js.map +1 -0
  5. package/cjs/components/autocomplete/Autocomplete.js +2 -3
  6. package/cjs/components/autocomplete/Autocomplete.js.map +1 -1
  7. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.scss +1 -1
  8. package/cjs/components/checkbox/Checkbox.js +1 -2
  9. package/cjs/components/checkbox/Checkbox.js.map +1 -1
  10. package/cjs/components/country-flag/CountryFlag.d.ts +11 -0
  11. package/cjs/components/country-flag/CountryFlag.js +48 -0
  12. package/cjs/components/country-flag/CountryFlag.js.map +1 -0
  13. package/cjs/components/country-flag/CountryFlagDocs.d.ts +2 -0
  14. package/cjs/components/country-flag/CountryFlagDocs.js +25 -0
  15. package/cjs/components/country-flag/CountryFlagDocs.js.map +1 -0
  16. package/cjs/components/country-flag/index.d.ts +7 -0
  17. package/cjs/components/country-flag/index.js +24 -0
  18. package/cjs/components/country-flag/index.js.map +1 -0
  19. package/cjs/components/country-flag/style/dnb-country-flag-icons.css +1087 -0
  20. package/cjs/components/country-flag/style/dnb-country-flag-icons.min.css +1 -0
  21. package/cjs/components/country-flag/style/dnb-country-flag-icons.scss +1088 -0
  22. package/cjs/components/country-flag/style/dnb-country-flag.css +42 -0
  23. package/cjs/components/country-flag/style/dnb-country-flag.min.css +1 -0
  24. package/cjs/components/country-flag/style/dnb-country-flag.scss +53 -0
  25. package/cjs/components/country-flag/style/index.d.ts +5 -0
  26. package/cjs/components/country-flag/style/index.js +4 -0
  27. package/cjs/components/country-flag/style/index.js.map +1 -0
  28. package/cjs/components/country-flag/style.d.ts +5 -0
  29. package/cjs/components/country-flag/style.js +4 -0
  30. package/cjs/components/country-flag/style.js.map +1 -0
  31. package/cjs/components/date-picker/DatePickerCalendar.js +1 -1
  32. package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
  33. package/cjs/components/date-picker/DatePickerInput.js +1 -2
  34. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  35. package/cjs/components/dialog/Dialog.js +3 -1
  36. package/cjs/components/dialog/Dialog.js.map +1 -1
  37. package/cjs/components/dialog/DialogDocs.d.ts +2 -0
  38. package/cjs/components/dialog/DialogDocs.js +120 -0
  39. package/cjs/components/dialog/DialogDocs.js.map +1 -0
  40. package/cjs/components/dropdown/Dropdown.js +1 -2
  41. package/cjs/components/dropdown/Dropdown.js.map +1 -1
  42. package/cjs/components/global-status/GlobalStatus.js +2 -3
  43. package/cjs/components/global-status/GlobalStatus.js.map +1 -1
  44. package/cjs/components/index.d.ts +2 -1
  45. package/cjs/components/index.js +7 -0
  46. package/cjs/components/index.js.map +1 -1
  47. package/cjs/components/input-masked/InputMaskedHooks.js +1 -2
  48. package/cjs/components/input-masked/InputMaskedHooks.js.map +1 -1
  49. package/cjs/components/input-masked/InputMaskedUtils.js +9 -5
  50. package/cjs/components/input-masked/InputMaskedUtils.js.map +1 -1
  51. package/cjs/components/lib.d.ts +10 -1
  52. package/cjs/components/lib.js +8 -0
  53. package/cjs/components/lib.js.map +1 -1
  54. package/cjs/components/modal/Modal.d.ts +1 -0
  55. package/cjs/components/modal/Modal.js +4 -1
  56. package/cjs/components/modal/Modal.js.map +1 -1
  57. package/cjs/components/modal/ModalContent.js +4 -4
  58. package/cjs/components/modal/ModalContent.js.map +1 -1
  59. package/cjs/components/modal/style/dnb-modal.css +4 -0
  60. package/cjs/components/modal/style/dnb-modal.min.css +1 -1
  61. package/cjs/components/modal/style/dnb-modal.scss +5 -0
  62. package/cjs/components/modal/types.d.ts +4 -0
  63. package/cjs/components/modal/types.js.map +1 -1
  64. package/cjs/components/number-format/NumberUtils.d.ts +2 -2
  65. package/cjs/components/number-format/NumberUtils.js +1 -1
  66. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  67. package/cjs/components/pagination/Pagination.d.ts +3 -3
  68. package/cjs/components/pagination/PaginationBar.d.ts +1 -1
  69. package/cjs/components/pagination/PaginationBar.js.map +1 -1
  70. package/cjs/components/radio/Radio.js +1 -2
  71. package/cjs/components/radio/Radio.js.map +1 -1
  72. package/cjs/components/table/TableClickableHead.js +1 -1
  73. package/cjs/components/table/TableClickableHead.js.map +1 -1
  74. package/cjs/components/table/style/dnb-table.css +0 -9
  75. package/cjs/components/table/style/dnb-table.min.css +1 -1
  76. package/cjs/components/table/style/dnb-table.scss +3 -1
  77. package/cjs/components/table/style/table-accordion.scss +0 -10
  78. package/cjs/components/table/style/table-container.scss +3 -2
  79. package/cjs/components/table/style/table-td.scss +2 -1
  80. package/cjs/components/tabs/Tabs.js +2 -3
  81. package/cjs/components/tabs/Tabs.js.map +1 -1
  82. package/cjs/components/toggle-button/ToggleButton.js +2 -3
  83. package/cjs/components/toggle-button/ToggleButton.js.map +1 -1
  84. package/cjs/components/upload/UploadDocs.js +2 -2
  85. package/cjs/components/upload/UploadDocs.js.map +1 -1
  86. package/cjs/components/upload/UploadFileListCell.js +2 -8
  87. package/cjs/components/upload/UploadFileListCell.js.map +1 -1
  88. package/cjs/components/upload/UploadInfo.js +3 -3
  89. package/cjs/components/upload/UploadInfo.js.map +1 -1
  90. package/cjs/extensions/forms/DataContext/Context.d.ts +12 -9
  91. package/cjs/extensions/forms/DataContext/Context.js +2 -4
  92. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  93. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  94. package/cjs/extensions/forms/DataContext/Provider/Provider.js +34 -20
  95. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  96. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  97. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  98. package/cjs/extensions/forms/DataContext/index.d.ts +3 -0
  99. package/cjs/extensions/forms/DataContext/index.js +5 -0
  100. package/cjs/extensions/forms/DataContext/index.js.map +1 -1
  101. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +6 -2
  102. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +30 -11
  103. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  104. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +6 -7
  105. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  106. package/cjs/extensions/forms/Field/Date/Date.js +21 -5
  107. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  108. package/cjs/extensions/forms/Field/Email/Email.js +13 -8
  109. package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
  110. package/cjs/extensions/forms/Field/Expiry/Expiry.js +42 -34
  111. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  112. package/cjs/extensions/forms/Field/Name/Name.js +20 -13
  113. package/cjs/extensions/forms/Field/Name/Name.js.map +1 -1
  114. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -1
  115. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +8 -17
  116. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  117. package/cjs/extensions/forms/Field/Number/Number.d.ts +4 -11
  118. package/cjs/extensions/forms/Field/Number/Number.js +14 -16
  119. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  120. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +4 -7
  121. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  122. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -0
  123. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +43 -30
  124. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  125. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +4 -4
  126. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  127. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +6 -6
  128. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +18 -11
  129. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  130. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +2 -1
  131. package/cjs/extensions/forms/Field/Selection/Selection.js +39 -18
  132. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  133. package/cjs/extensions/forms/Field/Slider/Slider.js +34 -12
  134. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  135. package/cjs/extensions/forms/Field/String/String.d.ts +2 -9
  136. package/cjs/extensions/forms/Field/String/String.js +9 -12
  137. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  138. package/cjs/extensions/forms/Field/Toggle/Toggle.js +8 -1
  139. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  140. package/cjs/extensions/forms/Field/Upload/Upload.js +6 -8
  141. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  142. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  143. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +16 -11
  144. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  145. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
  146. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  147. package/cjs/extensions/forms/Form/Handler/Handler.js +1 -2
  148. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  149. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  150. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +2 -0
  151. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js +9 -5
  152. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  153. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +12 -1
  154. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
  155. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +5 -1
  156. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +9 -3
  157. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  158. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +1 -0
  159. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +7 -5
  160. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -1
  161. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +7 -1
  162. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
  163. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +4 -1
  164. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +6 -2
  165. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -1
  166. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  167. package/cjs/extensions/forms/Iterate/Array/Array.js +2 -2
  168. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  169. package/cjs/extensions/forms/Tools/Log.js +2 -2
  170. package/cjs/extensions/forms/Tools/Log.js.map +1 -1
  171. package/cjs/extensions/forms/Value/Date/Date.d.ts +5 -0
  172. package/cjs/extensions/forms/Value/Date/Date.js +27 -13
  173. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  174. package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +3 -3
  175. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -6
  176. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  177. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -11
  178. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +8 -8
  179. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  180. package/cjs/extensions/forms/constants/countries.js +20 -20
  181. package/cjs/extensions/forms/constants/countries.js.map +1 -1
  182. package/cjs/extensions/forms/hooks/index.d.ts +2 -1
  183. package/cjs/extensions/forms/hooks/index.js +1 -1
  184. package/cjs/extensions/forms/hooks/index.js.map +1 -1
  185. package/cjs/extensions/forms/hooks/useErrorMessage.d.ts +3 -10
  186. package/cjs/extensions/forms/hooks/useErrorMessage.js.map +1 -1
  187. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +4 -3
  188. package/cjs/extensions/forms/hooks/useFieldProps.js +136 -71
  189. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  190. package/cjs/extensions/forms/hooks/usePath.d.ts +3 -0
  191. package/cjs/extensions/forms/hooks/usePath.js +2 -1
  192. package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
  193. package/cjs/extensions/forms/hooks/useProcessManager.js +1 -1
  194. package/cjs/extensions/forms/hooks/useProcessManager.js.map +1 -1
  195. package/cjs/extensions/forms/hooks/useTranslation.d.ts +2 -2
  196. package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
  197. package/cjs/extensions/forms/style/dnb-forms.css +1 -6
  198. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  199. package/cjs/extensions/forms/types.d.ts +59 -36
  200. package/cjs/extensions/forms/types.js +0 -17
  201. package/cjs/extensions/forms/types.js.map +1 -1
  202. package/cjs/extensions/forms/utils/FormError.d.ts +45 -0
  203. package/cjs/extensions/forms/utils/FormError.js +25 -0
  204. package/cjs/extensions/forms/utils/FormError.js.map +1 -0
  205. package/cjs/extensions/forms/utils/ajv.d.ts +17 -1
  206. package/cjs/extensions/forms/utils/ajv.js +82 -7
  207. package/cjs/extensions/forms/utils/ajv.js.map +1 -1
  208. package/cjs/extensions/forms/utils/errors.d.ts +1 -1
  209. package/cjs/extensions/forms/utils/errors.js.map +1 -1
  210. package/cjs/extensions/forms/utils/index.d.ts +2 -0
  211. package/cjs/extensions/forms/utils/index.js +24 -0
  212. package/cjs/extensions/forms/utils/index.js.map +1 -1
  213. package/cjs/fragments/drawer-list/DrawerList.js +1 -2
  214. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  215. package/cjs/fragments/drawer-list/DrawerListProvider.js +2 -3
  216. package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  217. package/cjs/index.d.ts +2 -1
  218. package/cjs/index.js +7 -0
  219. package/cjs/index.js.map +1 -1
  220. package/cjs/shared/Eufemia.d.ts +1 -1
  221. package/cjs/shared/Eufemia.js +2 -2
  222. package/cjs/shared/Eufemia.js.map +1 -1
  223. package/cjs/shared/component-helper.d.ts +2 -1
  224. package/cjs/shared/component-helper.js +9 -2
  225. package/cjs/shared/component-helper.js.map +1 -1
  226. package/cjs/shared/keycode.d.ts +75 -0
  227. package/cjs/shared/keycode.js +138 -0
  228. package/cjs/shared/keycode.js.map +1 -0
  229. package/cjs/shared/libs/Shortcuts.js +1 -3
  230. package/cjs/shared/libs/Shortcuts.js.map +1 -1
  231. package/cjs/shared/locales/nb-NO.js +2 -2
  232. package/cjs/shared/locales/nb-NO.js.map +1 -1
  233. package/cjs/shared/useTranslation.d.ts +2 -2
  234. package/cjs/shared/useTranslation.js.map +1 -1
  235. package/cjs/style/core/scopes.scss +1 -1
  236. package/cjs/style/dnb-ui-basis.css +1 -1
  237. package/cjs/style/dnb-ui-basis.min.css +1 -1
  238. package/cjs/style/dnb-ui-body.css +1 -1
  239. package/cjs/style/dnb-ui-body.min.css +1 -1
  240. package/cjs/style/dnb-ui-components.css +1307 -186
  241. package/cjs/style/dnb-ui-components.min.css +3 -3
  242. package/cjs/style/dnb-ui-components.scss +2 -0
  243. package/cjs/style/dnb-ui-core.css +1 -1
  244. package/cjs/style/dnb-ui-core.min.css +1 -1
  245. package/cjs/style/dnb-ui-extensions.css +1 -6
  246. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  247. package/cjs/style/dnb-ui-forms.css +1 -6
  248. package/cjs/style/dnb-ui-forms.min.css +1 -1
  249. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +1296 -180
  250. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  251. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -6
  252. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  253. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -6
  254. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  255. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +1296 -180
  256. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  257. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -6
  258. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  259. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -6
  260. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  261. package/cjs/style/themes/theme-ui/ui-theme-components.css +1296 -180
  262. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  263. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +1 -6
  264. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  265. package/cjs/style/themes/theme-ui/ui-theme-forms.css +1 -6
  266. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  267. package/components/CountryFlag.d.ts +12 -0
  268. package/components/CountryFlag.js +4 -0
  269. package/components/CountryFlag.js.map +1 -0
  270. package/components/autocomplete/Autocomplete.js +1 -2
  271. package/components/autocomplete/Autocomplete.js.map +1 -1
  272. package/components/button/style/themes/dnb-button-theme-eiendom.scss +1 -1
  273. package/components/checkbox/Checkbox.js +1 -2
  274. package/components/checkbox/Checkbox.js.map +1 -1
  275. package/components/country-flag/CountryFlag.d.ts +11 -0
  276. package/components/country-flag/CountryFlag.js +38 -0
  277. package/components/country-flag/CountryFlag.js.map +1 -0
  278. package/components/country-flag/CountryFlagDocs.d.ts +2 -0
  279. package/components/country-flag/CountryFlagDocs.js +18 -0
  280. package/components/country-flag/CountryFlagDocs.js.map +1 -0
  281. package/components/country-flag/index.d.ts +7 -0
  282. package/components/country-flag/index.js +4 -0
  283. package/components/country-flag/index.js.map +1 -0
  284. package/components/country-flag/style/dnb-country-flag-icons.css +1087 -0
  285. package/components/country-flag/style/dnb-country-flag-icons.min.css +1 -0
  286. package/components/country-flag/style/dnb-country-flag-icons.scss +1088 -0
  287. package/components/country-flag/style/dnb-country-flag.css +42 -0
  288. package/components/country-flag/style/dnb-country-flag.min.css +1 -0
  289. package/components/country-flag/style/dnb-country-flag.scss +53 -0
  290. package/components/country-flag/style/index.d.ts +5 -0
  291. package/components/country-flag/style/index.js +1 -0
  292. package/components/country-flag/style/index.js.map +1 -0
  293. package/components/country-flag/style.d.ts +5 -0
  294. package/components/country-flag/style.js +1 -0
  295. package/components/country-flag/style.js.map +1 -0
  296. package/components/date-picker/DatePickerCalendar.js +1 -1
  297. package/components/date-picker/DatePickerCalendar.js.map +1 -1
  298. package/components/date-picker/DatePickerInput.js +1 -2
  299. package/components/date-picker/DatePickerInput.js.map +1 -1
  300. package/components/dialog/Dialog.js +3 -1
  301. package/components/dialog/Dialog.js.map +1 -1
  302. package/components/dialog/DialogDocs.d.ts +2 -0
  303. package/components/dialog/DialogDocs.js +113 -0
  304. package/components/dialog/DialogDocs.js.map +1 -0
  305. package/components/dropdown/Dropdown.js +1 -2
  306. package/components/dropdown/Dropdown.js.map +1 -1
  307. package/components/global-status/GlobalStatus.js +1 -2
  308. package/components/global-status/GlobalStatus.js.map +1 -1
  309. package/components/index.d.ts +2 -1
  310. package/components/index.js +2 -1
  311. package/components/index.js.map +1 -1
  312. package/components/input-masked/InputMaskedHooks.js +1 -2
  313. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  314. package/components/input-masked/InputMaskedUtils.js +9 -5
  315. package/components/input-masked/InputMaskedUtils.js.map +1 -1
  316. package/components/lib.d.ts +10 -1
  317. package/components/lib.js +3 -1
  318. package/components/lib.js.map +1 -1
  319. package/components/modal/Modal.d.ts +1 -0
  320. package/components/modal/Modal.js +4 -1
  321. package/components/modal/Modal.js.map +1 -1
  322. package/components/modal/ModalContent.js +4 -4
  323. package/components/modal/ModalContent.js.map +1 -1
  324. package/components/modal/style/dnb-modal.css +4 -0
  325. package/components/modal/style/dnb-modal.min.css +1 -1
  326. package/components/modal/style/dnb-modal.scss +5 -0
  327. package/components/modal/types.d.ts +4 -0
  328. package/components/modal/types.js.map +1 -1
  329. package/components/number-format/NumberUtils.d.ts +2 -2
  330. package/components/number-format/NumberUtils.js +1 -1
  331. package/components/number-format/NumberUtils.js.map +1 -1
  332. package/components/pagination/Pagination.d.ts +3 -3
  333. package/components/pagination/PaginationBar.d.ts +1 -1
  334. package/components/pagination/PaginationBar.js.map +1 -1
  335. package/components/radio/Radio.js +1 -2
  336. package/components/radio/Radio.js.map +1 -1
  337. package/components/table/TableClickableHead.js +1 -1
  338. package/components/table/TableClickableHead.js.map +1 -1
  339. package/components/table/style/dnb-table.css +0 -9
  340. package/components/table/style/dnb-table.min.css +1 -1
  341. package/components/table/style/dnb-table.scss +3 -1
  342. package/components/table/style/table-accordion.scss +0 -10
  343. package/components/table/style/table-container.scss +3 -2
  344. package/components/table/style/table-td.scss +2 -1
  345. package/components/tabs/Tabs.js +1 -2
  346. package/components/tabs/Tabs.js.map +1 -1
  347. package/components/toggle-button/ToggleButton.js +1 -2
  348. package/components/toggle-button/ToggleButton.js.map +1 -1
  349. package/components/upload/UploadDocs.js +2 -2
  350. package/components/upload/UploadDocs.js.map +1 -1
  351. package/components/upload/UploadFileListCell.js +2 -8
  352. package/components/upload/UploadFileListCell.js.map +1 -1
  353. package/components/upload/UploadInfo.js +3 -3
  354. package/components/upload/UploadInfo.js.map +1 -1
  355. package/es/components/CountryFlag.d.ts +12 -0
  356. package/es/components/CountryFlag.js +4 -0
  357. package/es/components/CountryFlag.js.map +1 -0
  358. package/es/components/autocomplete/Autocomplete.js +1 -2
  359. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  360. package/es/components/button/style/themes/dnb-button-theme-eiendom.scss +1 -1
  361. package/es/components/checkbox/Checkbox.js +1 -2
  362. package/es/components/checkbox/Checkbox.js.map +1 -1
  363. package/es/components/country-flag/CountryFlag.d.ts +11 -0
  364. package/es/components/country-flag/CountryFlag.js +38 -0
  365. package/es/components/country-flag/CountryFlag.js.map +1 -0
  366. package/es/components/country-flag/CountryFlagDocs.d.ts +2 -0
  367. package/es/components/country-flag/CountryFlagDocs.js +18 -0
  368. package/es/components/country-flag/CountryFlagDocs.js.map +1 -0
  369. package/es/components/country-flag/index.d.ts +7 -0
  370. package/es/components/country-flag/index.js +4 -0
  371. package/es/components/country-flag/index.js.map +1 -0
  372. package/es/components/country-flag/style/dnb-country-flag-icons.css +1087 -0
  373. package/es/components/country-flag/style/dnb-country-flag-icons.min.css +1 -0
  374. package/es/components/country-flag/style/dnb-country-flag-icons.scss +1088 -0
  375. package/es/components/country-flag/style/dnb-country-flag.css +42 -0
  376. package/es/components/country-flag/style/dnb-country-flag.min.css +1 -0
  377. package/es/components/country-flag/style/dnb-country-flag.scss +53 -0
  378. package/es/components/country-flag/style/index.d.ts +5 -0
  379. package/es/components/country-flag/style/index.js +1 -0
  380. package/es/components/country-flag/style/index.js.map +1 -0
  381. package/es/components/country-flag/style.d.ts +5 -0
  382. package/es/components/country-flag/style.js +1 -0
  383. package/es/components/country-flag/style.js.map +1 -0
  384. package/es/components/date-picker/DatePickerCalendar.js +1 -1
  385. package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
  386. package/es/components/date-picker/DatePickerInput.js +1 -2
  387. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  388. package/es/components/dialog/Dialog.js +3 -1
  389. package/es/components/dialog/Dialog.js.map +1 -1
  390. package/es/components/dialog/DialogDocs.d.ts +2 -0
  391. package/es/components/dialog/DialogDocs.js +113 -0
  392. package/es/components/dialog/DialogDocs.js.map +1 -0
  393. package/es/components/dropdown/Dropdown.js +1 -2
  394. package/es/components/dropdown/Dropdown.js.map +1 -1
  395. package/es/components/global-status/GlobalStatus.js +1 -2
  396. package/es/components/global-status/GlobalStatus.js.map +1 -1
  397. package/es/components/index.d.ts +2 -1
  398. package/es/components/index.js +2 -1
  399. package/es/components/index.js.map +1 -1
  400. package/es/components/input-masked/InputMaskedHooks.js +1 -2
  401. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  402. package/es/components/input-masked/InputMaskedUtils.js +9 -5
  403. package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
  404. package/es/components/lib.d.ts +10 -1
  405. package/es/components/lib.js +3 -1
  406. package/es/components/lib.js.map +1 -1
  407. package/es/components/modal/Modal.d.ts +1 -0
  408. package/es/components/modal/Modal.js +4 -1
  409. package/es/components/modal/Modal.js.map +1 -1
  410. package/es/components/modal/ModalContent.js +4 -4
  411. package/es/components/modal/ModalContent.js.map +1 -1
  412. package/es/components/modal/style/dnb-modal.css +4 -0
  413. package/es/components/modal/style/dnb-modal.min.css +1 -1
  414. package/es/components/modal/style/dnb-modal.scss +5 -0
  415. package/es/components/modal/types.d.ts +4 -0
  416. package/es/components/modal/types.js.map +1 -1
  417. package/es/components/number-format/NumberUtils.d.ts +2 -2
  418. package/es/components/number-format/NumberUtils.js +1 -1
  419. package/es/components/number-format/NumberUtils.js.map +1 -1
  420. package/es/components/pagination/Pagination.d.ts +3 -3
  421. package/es/components/pagination/PaginationBar.d.ts +1 -1
  422. package/es/components/pagination/PaginationBar.js.map +1 -1
  423. package/es/components/radio/Radio.js +1 -2
  424. package/es/components/radio/Radio.js.map +1 -1
  425. package/es/components/table/TableClickableHead.js +1 -1
  426. package/es/components/table/TableClickableHead.js.map +1 -1
  427. package/es/components/table/style/dnb-table.css +0 -9
  428. package/es/components/table/style/dnb-table.min.css +1 -1
  429. package/es/components/table/style/dnb-table.scss +3 -1
  430. package/es/components/table/style/table-accordion.scss +0 -10
  431. package/es/components/table/style/table-container.scss +3 -2
  432. package/es/components/table/style/table-td.scss +2 -1
  433. package/es/components/tabs/Tabs.js +1 -2
  434. package/es/components/tabs/Tabs.js.map +1 -1
  435. package/es/components/toggle-button/ToggleButton.js +1 -2
  436. package/es/components/toggle-button/ToggleButton.js.map +1 -1
  437. package/es/components/upload/UploadDocs.js +2 -2
  438. package/es/components/upload/UploadDocs.js.map +1 -1
  439. package/es/components/upload/UploadFileListCell.js +2 -8
  440. package/es/components/upload/UploadFileListCell.js.map +1 -1
  441. package/es/components/upload/UploadInfo.js +3 -3
  442. package/es/components/upload/UploadInfo.js.map +1 -1
  443. package/es/extensions/forms/DataContext/Context.d.ts +12 -9
  444. package/es/extensions/forms/DataContext/Context.js +1 -3
  445. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  446. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  447. package/es/extensions/forms/DataContext/Provider/Provider.js +32 -18
  448. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  449. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  450. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  451. package/es/extensions/forms/DataContext/index.d.ts +3 -0
  452. package/es/extensions/forms/DataContext/index.js +5 -0
  453. package/es/extensions/forms/DataContext/index.js.map +1 -1
  454. package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +6 -2
  455. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +24 -9
  456. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  457. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +6 -7
  458. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  459. package/es/extensions/forms/Field/Date/Date.js +23 -6
  460. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  461. package/es/extensions/forms/Field/Email/Email.js +11 -8
  462. package/es/extensions/forms/Field/Email/Email.js.map +1 -1
  463. package/es/extensions/forms/Field/Expiry/Expiry.js +42 -34
  464. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  465. package/es/extensions/forms/Field/Name/Name.js +18 -13
  466. package/es/extensions/forms/Field/Name/Name.js.map +1 -1
  467. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -1
  468. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -15
  469. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  470. package/es/extensions/forms/Field/Number/Number.d.ts +4 -11
  471. package/es/extensions/forms/Field/Number/Number.js +15 -17
  472. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  473. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +4 -7
  474. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  475. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -0
  476. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +44 -31
  477. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  478. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +4 -4
  479. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  480. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +6 -6
  481. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +18 -11
  482. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  483. package/es/extensions/forms/Field/Selection/Selection.d.ts +2 -1
  484. package/es/extensions/forms/Field/Selection/Selection.js +37 -15
  485. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  486. package/es/extensions/forms/Field/Slider/Slider.js +35 -13
  487. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  488. package/es/extensions/forms/Field/String/String.d.ts +2 -9
  489. package/es/extensions/forms/Field/String/String.js +10 -13
  490. package/es/extensions/forms/Field/String/String.js.map +1 -1
  491. package/es/extensions/forms/Field/Toggle/Toggle.js +9 -2
  492. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  493. package/es/extensions/forms/Field/Upload/Upload.js +7 -9
  494. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  495. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  496. package/es/extensions/forms/FieldBlock/FieldBlock.js +15 -10
  497. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  498. package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
  499. package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  500. package/es/extensions/forms/Form/Handler/Handler.js +1 -2
  501. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  502. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  503. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +2 -0
  504. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js +8 -4
  505. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  506. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +12 -1
  507. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
  508. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +5 -1
  509. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +9 -3
  510. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  511. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +1 -0
  512. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +6 -4
  513. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -1
  514. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +7 -1
  515. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
  516. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +4 -1
  517. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +6 -2
  518. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -1
  519. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  520. package/es/extensions/forms/Iterate/Array/Array.js +3 -3
  521. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  522. package/es/extensions/forms/Tools/Log.js +2 -2
  523. package/es/extensions/forms/Tools/Log.js.map +1 -1
  524. package/es/extensions/forms/Value/Date/Date.d.ts +5 -0
  525. package/es/extensions/forms/Value/Date/Date.js +25 -14
  526. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  527. package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +3 -3
  528. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -6
  529. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  530. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -11
  531. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +8 -8
  532. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  533. package/es/extensions/forms/constants/countries.js +20 -20
  534. package/es/extensions/forms/constants/countries.js.map +1 -1
  535. package/es/extensions/forms/hooks/index.d.ts +2 -1
  536. package/es/extensions/forms/hooks/index.js +1 -1
  537. package/es/extensions/forms/hooks/index.js.map +1 -1
  538. package/es/extensions/forms/hooks/useErrorMessage.d.ts +3 -10
  539. package/es/extensions/forms/hooks/useErrorMessage.js.map +1 -1
  540. package/es/extensions/forms/hooks/useFieldProps.d.ts +4 -3
  541. package/es/extensions/forms/hooks/useFieldProps.js +134 -69
  542. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  543. package/es/extensions/forms/hooks/usePath.d.ts +3 -0
  544. package/es/extensions/forms/hooks/usePath.js +2 -1
  545. package/es/extensions/forms/hooks/usePath.js.map +1 -1
  546. package/es/extensions/forms/hooks/useProcessManager.js +1 -1
  547. package/es/extensions/forms/hooks/useProcessManager.js.map +1 -1
  548. package/es/extensions/forms/hooks/useTranslation.d.ts +2 -2
  549. package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
  550. package/es/extensions/forms/style/dnb-forms.css +1 -6
  551. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  552. package/es/extensions/forms/types.d.ts +59 -36
  553. package/es/extensions/forms/types.js +0 -13
  554. package/es/extensions/forms/types.js.map +1 -1
  555. package/es/extensions/forms/utils/FormError.d.ts +45 -0
  556. package/es/extensions/forms/utils/FormError.js +16 -0
  557. package/es/extensions/forms/utils/FormError.js.map +1 -0
  558. package/es/extensions/forms/utils/ajv.d.ts +17 -1
  559. package/es/extensions/forms/utils/ajv.js +72 -7
  560. package/es/extensions/forms/utils/ajv.js.map +1 -1
  561. package/es/extensions/forms/utils/errors.d.ts +1 -1
  562. package/es/extensions/forms/utils/errors.js.map +1 -1
  563. package/es/extensions/forms/utils/index.d.ts +2 -0
  564. package/es/extensions/forms/utils/index.js +2 -0
  565. package/es/extensions/forms/utils/index.js.map +1 -1
  566. package/es/fragments/drawer-list/DrawerList.js +1 -2
  567. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  568. package/es/fragments/drawer-list/DrawerListProvider.js +1 -2
  569. package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  570. package/es/index.d.ts +2 -1
  571. package/es/index.js +2 -1
  572. package/es/index.js.map +1 -1
  573. package/es/shared/Eufemia.d.ts +1 -1
  574. package/es/shared/Eufemia.js +2 -2
  575. package/es/shared/Eufemia.js.map +1 -1
  576. package/es/shared/component-helper.d.ts +2 -1
  577. package/es/shared/component-helper.js +2 -2
  578. package/es/shared/component-helper.js.map +1 -1
  579. package/es/shared/keycode.d.ts +75 -0
  580. package/es/shared/keycode.js +127 -0
  581. package/es/shared/keycode.js.map +1 -0
  582. package/es/shared/libs/Shortcuts.js +1 -2
  583. package/es/shared/libs/Shortcuts.js.map +1 -1
  584. package/es/shared/locales/nb-NO.js +2 -2
  585. package/es/shared/locales/nb-NO.js.map +1 -1
  586. package/es/shared/useTranslation.d.ts +2 -2
  587. package/es/shared/useTranslation.js.map +1 -1
  588. package/es/style/core/scopes.scss +1 -1
  589. package/es/style/dnb-ui-basis.css +1 -1
  590. package/es/style/dnb-ui-basis.min.css +1 -1
  591. package/es/style/dnb-ui-body.css +1 -1
  592. package/es/style/dnb-ui-body.min.css +1 -1
  593. package/es/style/dnb-ui-components.css +1307 -186
  594. package/es/style/dnb-ui-components.min.css +3 -3
  595. package/es/style/dnb-ui-components.scss +2 -0
  596. package/es/style/dnb-ui-core.css +1 -1
  597. package/es/style/dnb-ui-core.min.css +1 -1
  598. package/es/style/dnb-ui-extensions.css +1 -6
  599. package/es/style/dnb-ui-extensions.min.css +1 -1
  600. package/es/style/dnb-ui-forms.css +1 -6
  601. package/es/style/dnb-ui-forms.min.css +1 -1
  602. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +1296 -180
  603. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  604. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -6
  605. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  606. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -6
  607. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  608. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +1296 -180
  609. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  610. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -6
  611. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  612. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -6
  613. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  614. package/es/style/themes/theme-ui/ui-theme-components.css +1296 -180
  615. package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  616. package/es/style/themes/theme-ui/ui-theme-extensions.css +1 -6
  617. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  618. package/es/style/themes/theme-ui/ui-theme-forms.css +1 -6
  619. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  620. package/esm/dnb-ui-basis.min.mjs +1 -1
  621. package/esm/dnb-ui-components.min.mjs +1 -1
  622. package/esm/dnb-ui-elements.min.mjs +1 -1
  623. package/esm/dnb-ui-extensions.min.mjs +5 -5
  624. package/esm/dnb-ui-lib.min.mjs +1 -1
  625. package/extensions/forms/DataContext/Context.d.ts +12 -9
  626. package/extensions/forms/DataContext/Context.js +1 -3
  627. package/extensions/forms/DataContext/Context.js.map +1 -1
  628. package/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  629. package/extensions/forms/DataContext/Provider/Provider.js +32 -18
  630. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  631. package/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  632. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  633. package/extensions/forms/DataContext/index.d.ts +3 -0
  634. package/extensions/forms/DataContext/index.js +5 -0
  635. package/extensions/forms/DataContext/index.js.map +1 -1
  636. package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +6 -2
  637. package/extensions/forms/Field/ArraySelection/ArraySelection.js +30 -11
  638. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  639. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +6 -7
  640. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  641. package/extensions/forms/Field/Date/Date.js +23 -6
  642. package/extensions/forms/Field/Date/Date.js.map +1 -1
  643. package/extensions/forms/Field/Email/Email.js +11 -8
  644. package/extensions/forms/Field/Email/Email.js.map +1 -1
  645. package/extensions/forms/Field/Expiry/Expiry.js +42 -34
  646. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  647. package/extensions/forms/Field/Name/Name.js +18 -13
  648. package/extensions/forms/Field/Name/Name.js.map +1 -1
  649. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -1
  650. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -15
  651. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  652. package/extensions/forms/Field/Number/Number.d.ts +4 -11
  653. package/extensions/forms/Field/Number/Number.js +15 -17
  654. package/extensions/forms/Field/Number/Number.js.map +1 -1
  655. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +4 -7
  656. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  657. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -0
  658. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +44 -31
  659. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  660. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +4 -4
  661. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  662. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +6 -6
  663. package/extensions/forms/Field/SelectCountry/SelectCountry.js +18 -11
  664. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  665. package/extensions/forms/Field/Selection/Selection.d.ts +2 -1
  666. package/extensions/forms/Field/Selection/Selection.js +38 -17
  667. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  668. package/extensions/forms/Field/Slider/Slider.js +35 -13
  669. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  670. package/extensions/forms/Field/String/String.d.ts +2 -9
  671. package/extensions/forms/Field/String/String.js +10 -13
  672. package/extensions/forms/Field/String/String.js.map +1 -1
  673. package/extensions/forms/Field/Toggle/Toggle.js +9 -2
  674. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  675. package/extensions/forms/Field/Upload/Upload.js +7 -9
  676. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  677. package/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  678. package/extensions/forms/FieldBlock/FieldBlock.js +15 -10
  679. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  680. package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
  681. package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  682. package/extensions/forms/Form/Handler/Handler.js +1 -2
  683. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  684. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  685. package/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +2 -0
  686. package/extensions/forms/Form/Section/EditContainer/EditContainer.js +8 -4
  687. package/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  688. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +12 -1
  689. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
  690. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +5 -1
  691. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +9 -3
  692. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  693. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +1 -0
  694. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +6 -4
  695. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -1
  696. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +7 -1
  697. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
  698. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +4 -1
  699. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +6 -2
  700. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -1
  701. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  702. package/extensions/forms/Iterate/Array/Array.js +3 -3
  703. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  704. package/extensions/forms/Tools/Log.js +2 -2
  705. package/extensions/forms/Tools/Log.js.map +1 -1
  706. package/extensions/forms/Value/Date/Date.d.ts +5 -0
  707. package/extensions/forms/Value/Date/Date.js +26 -14
  708. package/extensions/forms/Value/Date/Date.js.map +1 -1
  709. package/extensions/forms/Value/Provider/useValueProvider.d.ts +3 -3
  710. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -6
  711. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  712. package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -11
  713. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +8 -8
  714. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  715. package/extensions/forms/constants/countries.js +20 -20
  716. package/extensions/forms/constants/countries.js.map +1 -1
  717. package/extensions/forms/hooks/index.d.ts +2 -1
  718. package/extensions/forms/hooks/index.js +1 -1
  719. package/extensions/forms/hooks/index.js.map +1 -1
  720. package/extensions/forms/hooks/useErrorMessage.d.ts +3 -10
  721. package/extensions/forms/hooks/useErrorMessage.js.map +1 -1
  722. package/extensions/forms/hooks/useFieldProps.d.ts +4 -3
  723. package/extensions/forms/hooks/useFieldProps.js +136 -71
  724. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  725. package/extensions/forms/hooks/usePath.d.ts +3 -0
  726. package/extensions/forms/hooks/usePath.js +2 -1
  727. package/extensions/forms/hooks/usePath.js.map +1 -1
  728. package/extensions/forms/hooks/useProcessManager.js +1 -1
  729. package/extensions/forms/hooks/useProcessManager.js.map +1 -1
  730. package/extensions/forms/hooks/useTranslation.d.ts +2 -2
  731. package/extensions/forms/hooks/useTranslation.js.map +1 -1
  732. package/extensions/forms/style/dnb-forms.css +1 -6
  733. package/extensions/forms/style/dnb-forms.min.css +1 -1
  734. package/extensions/forms/types.d.ts +59 -36
  735. package/extensions/forms/types.js +0 -13
  736. package/extensions/forms/types.js.map +1 -1
  737. package/extensions/forms/utils/FormError.d.ts +45 -0
  738. package/extensions/forms/utils/FormError.js +16 -0
  739. package/extensions/forms/utils/FormError.js.map +1 -0
  740. package/extensions/forms/utils/ajv.d.ts +17 -1
  741. package/extensions/forms/utils/ajv.js +77 -7
  742. package/extensions/forms/utils/ajv.js.map +1 -1
  743. package/extensions/forms/utils/errors.d.ts +1 -1
  744. package/extensions/forms/utils/errors.js.map +1 -1
  745. package/extensions/forms/utils/index.d.ts +2 -0
  746. package/extensions/forms/utils/index.js +2 -0
  747. package/extensions/forms/utils/index.js.map +1 -1
  748. package/fragments/drawer-list/DrawerList.js +1 -2
  749. package/fragments/drawer-list/DrawerList.js.map +1 -1
  750. package/fragments/drawer-list/DrawerListProvider.js +1 -2
  751. package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  752. package/index.d.ts +2 -1
  753. package/index.js +2 -1
  754. package/index.js.map +1 -1
  755. package/package.json +2 -2
  756. package/shared/Eufemia.d.ts +1 -1
  757. package/shared/Eufemia.js +2 -2
  758. package/shared/Eufemia.js.map +1 -1
  759. package/shared/component-helper.d.ts +2 -1
  760. package/shared/component-helper.js +2 -2
  761. package/shared/component-helper.js.map +1 -1
  762. package/shared/keycode.d.ts +75 -0
  763. package/shared/keycode.js +127 -0
  764. package/shared/keycode.js.map +1 -0
  765. package/shared/libs/Shortcuts.js +1 -2
  766. package/shared/libs/Shortcuts.js.map +1 -1
  767. package/shared/locales/nb-NO.js +2 -2
  768. package/shared/locales/nb-NO.js.map +1 -1
  769. package/shared/useTranslation.d.ts +2 -2
  770. package/shared/useTranslation.js.map +1 -1
  771. package/style/core/scopes.scss +1 -1
  772. package/style/dnb-ui-basis.css +1 -1
  773. package/style/dnb-ui-basis.min.css +1 -1
  774. package/style/dnb-ui-body.css +1 -1
  775. package/style/dnb-ui-body.min.css +1 -1
  776. package/style/dnb-ui-components.css +1307 -186
  777. package/style/dnb-ui-components.min.css +3 -3
  778. package/style/dnb-ui-components.scss +2 -0
  779. package/style/dnb-ui-core.css +1 -1
  780. package/style/dnb-ui-core.min.css +1 -1
  781. package/style/dnb-ui-extensions.css +1 -6
  782. package/style/dnb-ui-extensions.min.css +1 -1
  783. package/style/dnb-ui-forms.css +1 -6
  784. package/style/dnb-ui-forms.min.css +1 -1
  785. package/style/themes/theme-eiendom/eiendom-theme-components.css +1296 -180
  786. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  787. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -6
  788. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  789. package/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -6
  790. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  791. package/style/themes/theme-sbanken/sbanken-theme-components.css +1296 -180
  792. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  793. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -6
  794. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  795. package/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -6
  796. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  797. package/style/themes/theme-ui/ui-theme-components.css +1296 -180
  798. package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  799. package/style/themes/theme-ui/ui-theme-extensions.css +1 -6
  800. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  801. package/style/themes/theme-ui/ui-theme-forms.css +1 -6
  802. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  803. package/umd/dnb-ui-basis.min.js +1 -1
  804. package/umd/dnb-ui-components.min.js +1 -1
  805. package/umd/dnb-ui-elements.min.js +1 -1
  806. package/umd/dnb-ui-extensions.min.js +5 -5
  807. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1,8 +1,39 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1
4
  import ajvInstance from 'ajv/dist/2020';
2
5
  import ajvErrors from 'ajv-errors';
3
6
  import pointer from './json-pointer';
4
- import { FormError } from '../types';
7
+ import { FormError } from './FormError';
5
8
  export { ajvInstance };
9
+ const ajvErrorKeywordsTranslationTable = [{
10
+ ajvKey: 'required',
11
+ translationKey: 'Field.errorRequired'
12
+ }, {
13
+ ajvKey: 'pattern',
14
+ translationKey: 'Field.errorPattern'
15
+ }, {
16
+ ajvKey: 'minLength',
17
+ translationKey: 'StringField.errorMinLength'
18
+ }, {
19
+ ajvKey: 'maxLength',
20
+ translationKey: 'StringField.errorMaxLength'
21
+ }, {
22
+ ajvKey: 'minimum',
23
+ translationKey: 'NumberField.errorMinimum'
24
+ }, {
25
+ ajvKey: 'maximum',
26
+ translationKey: 'NumberField.errorMaximum'
27
+ }, {
28
+ ajvKey: 'exclusiveMinimum',
29
+ translationKey: 'NumberField.errorExclusiveMinimum'
30
+ }, {
31
+ ajvKey: 'exclusiveMaximum',
32
+ translationKey: 'NumberField.errorExclusiveMaximum'
33
+ }, {
34
+ ajvKey: 'multipleOf',
35
+ translationKey: 'NumberField.errorMultipleOf'
36
+ }];
6
37
  export function makeAjvInstance(instance) {
7
38
  const ajv = instance || new ajvInstance({
8
39
  allErrors: true
@@ -57,15 +88,53 @@ export function getMessageValues(ajvError) {
57
88
  };
58
89
  }
59
90
  }
91
+ export function overwriteErrorMessagesWithGivenAjvKeys(messages) {
92
+ messages = _objectSpread({}, messages);
93
+ ajvErrorKeywordsTranslationTable.forEach(_ref => {
94
+ let {
95
+ ajvKey,
96
+ translationKey
97
+ } = _ref;
98
+ if (messages[ajvKey]) {
99
+ messages[translationKey] = messages[ajvKey];
100
+ }
101
+ });
102
+ return messages;
103
+ }
104
+ export function extendErrorMessagesWithTranslationMessages(messages, translation) {
105
+ messages = _objectSpread({}, messages);
106
+ ajvErrorKeywordsTranslationTable.forEach(_ref2 => {
107
+ let {
108
+ ajvKey,
109
+ translationKey
110
+ } = _ref2;
111
+ if (!messages[ajvKey]) {
112
+ var _messages$translation, _messages$translation2;
113
+ const keys = translationKey.split('.');
114
+ messages[ajvKey] = (_messages$translation = messages[translationKey]) !== null && _messages$translation !== void 0 ? _messages$translation : translation[keys[0]][keys[1]];
115
+ messages[translationKey] = (_messages$translation2 = messages[translationKey]) !== null && _messages$translation2 !== void 0 ? _messages$translation2 : translation[keys[0]][keys[1]];
116
+ }
117
+ });
118
+ return messages;
119
+ }
120
+ export function getTranslationKeyFromValidationRule(validationRule) {
121
+ const item = ajvErrorKeywordsTranslationTable.find(_ref3 => {
122
+ let {
123
+ ajvKey
124
+ } = _ref3;
125
+ return ajvKey === validationRule;
126
+ });
127
+ return item === null || item === void 0 ? void 0 : item.translationKey;
128
+ }
60
129
  export function ajvErrorToFormError(ajvError) {
61
- var _ajvError$message2;
130
+ var _ref4, _getTranslationKeyFro;
62
131
  if (ajvError.keyword === 'errorMessage') {
63
132
  var _ajvError$message;
64
133
  return new Error((_ajvError$message = ajvError.message) !== null && _ajvError$message !== void 0 ? _ajvError$message : 'Unknown error');
65
134
  }
66
- return new FormError((_ajvError$message2 = ajvError.message) !== null && _ajvError$message2 !== void 0 ? _ajvError$message2 : 'Unknown error', {
67
- validationRule: getValidationRule(ajvError),
68
- messageValues: getMessageValues(ajvError)
135
+ return new FormError((_ref4 = (_getTranslationKeyFro = getTranslationKeyFromValidationRule(getValidationRule(ajvError))) !== null && _getTranslationKeyFro !== void 0 ? _getTranslationKeyFro : ajvError.message) !== null && _ref4 !== void 0 ? _ref4 : 'Unknown error', {
136
+ messageValues: getMessageValues(ajvError),
137
+ ajvKeyword: ajvError.keyword
69
138
  });
70
139
  }
71
140
  export function ajvErrorsToOneFormError(errors, value) {
@@ -79,8 +148,9 @@ export function ajvErrorsToOneFormError(errors, value) {
79
148
  }
80
149
  return ajvErrorToFormError(error);
81
150
  }
82
- const errorMessages = errors === null || errors === void 0 ? void 0 : errors.map(error => error.message);
83
- return new FormError(errorMessages.join(' and '));
151
+ return new FormError('Multiple errors', {
152
+ errors: errors === null || errors === void 0 ? void 0 : errors.map(error => ajvErrorToFormError(error))
153
+ });
84
154
  }
85
155
  export const ajvErrorsToFormErrors = (errors, data) => {
86
156
  return (errors !== null && errors !== void 0 ? errors : []).reduce((errors, ajvError) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ajv.js","names":["ajvInstance","ajvErrors","pointer","FormError","makeAjvInstance","instance","ajv","allErrors","getInstancePath","ajvError","keyword","instancePath","params","missingProperty","errors","getValidationRule","getMessageValues","_ajvError$params","_ajvError$params2","_ajvError$params3","validationRule","limit","multipleOf","pattern","ajvErrorToFormError","_ajvError$message2","_ajvError$message","Error","message","messageValues","ajvErrorsToOneFormError","value","length","error","ajvErrorsTransformation","undefined","errorMessages","map","join","ajvErrorsToFormErrors","data","reduce","path","get","field","console"],"sources":["../../../../../src/extensions/forms/utils/ajv.ts"],"sourcesContent":["import ajvInstance, { ErrorObject } from 'ajv/dist/2020'\nimport ajvErrors from 'ajv-errors'\nimport pointer, { JsonObject } from './json-pointer'\nimport { FormError, Path } from '../types'\nimport type Ajv from 'ajv/dist/2020'\n\nexport type AjvInstance = typeof ajvInstance\nexport { ajvInstance, Ajv }\n\n/**\n * Creates an instance of Ajv (Another JSON Schema Validator) with optional custom instance.\n * If no instance is provided, a new instance of Ajv is created with the specified options.\n * The created Ajv instance is enhanced with custom error handling.\n *\n * @param instance - Optional custom instance of Ajv.\n * @returns The created or provided instance of Ajv.\n */\nexport function makeAjvInstance(instance?: Ajv) {\n const ajv =\n instance ||\n new ajvInstance({\n // If allErrors is off, Ajv only give you the first error it finds\n allErrors: true,\n })\n\n if (!ajv['__ajvErrors__']) {\n ajvErrors(ajv)\n ajv['__ajvErrors__'] = true\n }\n\n return ajv\n}\n\n/**\n * Returns the instance path of the given Ajv error.\n * If the error is of type 'required', it is considered an object error and the missing property is shown under the relevant field.\n * If the error is of type 'errorMessage', it is a wrapped error and the instance path is found from the original error to avoid issues like required-errors pointing at the parent object.\n * @param ajvError - The Ajv error object.\n * @returns The instance path of the error.\n */\nexport function getInstancePath(ajvError: ErrorObject): Path {\n switch (ajvError.keyword) {\n case 'required': {\n // Required-errors are considered object errors by ajv, so they don't have instancePaths. We want to\n // show them under the relevant field\n return `${ajvError.instancePath}/${ajvError.params.missingProperty}`\n }\n case 'errorMessage': {\n // errorMessage structures (from ajv-errors) wrap the original error. Find instance path from original\n // to avoid issues like required-errors pointing at parent object.\n if (ajvError.params.errors[0]) {\n return getInstancePath(ajvError.params.errors[0])\n }\n }\n }\n return ajvError.instancePath\n}\n\n/**\n * Retrieves the validation rule from an AJV error object.\n * If the error object has an 'errorMessage' keyword, it unwraps the original error\n * to avoid issues like required-errors pointing at the parent object.\n * @param ajvError - The AJV error object.\n * @returns The validation rule.\n */\nexport function getValidationRule(ajvError: ErrorObject): string {\n if (ajvError.keyword === 'errorMessage' && ajvError.params.errors[0]) {\n // errorMessage structures (from ajv-errors) wrap the original error. Find keyword from original\n // to avoid issues like required-errors pointing at parent object.\n return getValidationRule(ajvError.params.errors[0])\n }\n return ajvError.keyword\n}\n\n/**\n * Retrieves the message values from an AJV error object.\n * @param ajvError The AJV error object.\n * @returns The message values extracted from the error object.\n */\nexport function getMessageValues(\n ajvError: ErrorObject\n): FormError['messageValues'] {\n const validationRule = getValidationRule(ajvError)\n\n switch (validationRule) {\n case 'minLength':\n case 'maxLength':\n case 'minimum':\n case 'maximum':\n case 'exclusiveMinimum':\n case 'exclusiveMaximum':\n return {\n [validationRule]: ajvError.params?.limit,\n }\n case 'multipleOf':\n return {\n [validationRule]: ajvError.params?.multipleOf,\n }\n case 'pattern':\n return {\n [validationRule]: ajvError.params?.pattern,\n }\n }\n}\n\n/**\n * Converts an AJV error object to a FormError object.\n *\n * @param ajvError - The AJV error object to convert.\n * @returns The converted FormError object.\n */\nexport function ajvErrorToFormError(ajvError: ErrorObject): FormError {\n if (ajvError.keyword === 'errorMessage') {\n return new Error(ajvError.message ?? 'Unknown error')\n }\n\n return new FormError(ajvError.message ?? 'Unknown error', {\n validationRule: getValidationRule(ajvError),\n // Keep the message values in the error object instead of injecting them into the message\n // at once, since an error might be validated one place, and then get a new message before it is displayed.\n messageValues: getMessageValues(ajvError),\n })\n}\n\n/**\n * Converts an array of Ajv errors to a single FormError.\n * @param errors - An array of Ajv errors.\n * @returns A single FormError or undefined if there are no errors.\n */\nexport function ajvErrorsToOneFormError(\n errors?: ErrorObject[] | null,\n value?: unknown\n): FormError | undefined {\n if (!errors || errors.length === 0) {\n return\n }\n if (errors.length === 1) {\n const error = ajvErrorsTransformation(errors[0], value)\n if (!error) {\n return undefined\n }\n\n return ajvErrorToFormError(error)\n }\n\n const errorMessages = errors?.map((error) => error.message)\n return new FormError(errorMessages.join(' and '))\n}\n\n/**\n * Converts AJV validation errors to form errors.\n *\n * @param errors - The array of AJV validation errors.\n * @param data - The data object being validated.\n * @returns The converted form errors as a record of path and form error pairs.\n */\nexport const ajvErrorsToFormErrors = (\n errors?: ErrorObject[] | null,\n data?: JsonObject\n): Record<string, FormError> => {\n return (errors ?? []).reduce((errors, ajvError) => {\n const path = getInstancePath(ajvError)\n const error = ajvErrorsTransformation(ajvError, data, path)\n\n if (error) {\n errors[path] = ajvErrorToFormError(error)\n }\n\n return errors\n }, {})\n}\n\n/**\n * Transforms AJV errors based on specific conditions.\n *\n * @param ajvError - The AJV error object.\n * @param data - The data object or value being validated.\n * @param path - The path to the data object property being validated.\n * @returns The transformed AJV error object or undefined if the error should be removed.\n */\nfunction ajvErrorsTransformation(\n ajvError: ErrorObject,\n data?: Record<Path, unknown> | unknown,\n path?: Path\n) {\n if (ajvError.keyword === 'type') {\n const value =\n data && typeof data === 'object' && path\n ? pointer.get(data, path)\n : data\n\n // Remove the error if the value is empty\n if (value === '' || value === null) {\n return undefined\n } else {\n // This extend the very limited error message with the value and the path\n const field = path ? `field at path=\"${path}\"` : 'field'\n ajvError.message = `The ${field} value (${value}) type ${ajvError.message}`\n\n // Warn about the issue\n console.error(ajvError.message)\n }\n }\n\n return ajvError\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ajv.js","names":["ajvInstance","ajvErrors","pointer","FormError","ajvErrorKeywordsTranslationTable","ajvKey","translationKey","makeAjvInstance","instance","ajv","allErrors","getInstancePath","ajvError","keyword","instancePath","params","missingProperty","errors","getValidationRule","getMessageValues","_ajvError$params","_ajvError$params2","_ajvError$params3","validationRule","limit","multipleOf","pattern","overwriteErrorMessagesWithGivenAjvKeys","messages","_objectSpread","forEach","_ref","extendErrorMessagesWithTranslationMessages","translation","_ref2","_messages$translation","_messages$translation2","keys","split","getTranslationKeyFromValidationRule","item","find","_ref3","ajvErrorToFormError","_ref4","_getTranslationKeyFro","_ajvError$message","Error","message","messageValues","ajvKeyword","ajvErrorsToOneFormError","value","length","error","ajvErrorsTransformation","undefined","map","ajvErrorsToFormErrors","data","reduce","path","get","field","console"],"sources":["../../../../../src/extensions/forms/utils/ajv.ts"],"sourcesContent":["import ajvInstance, { ErrorObject } from 'ajv/dist/2020'\nimport ajvErrors from 'ajv-errors'\nimport pointer, { JsonObject } from './json-pointer'\nimport { DefaultErrorMessages, Path } from '../types'\nimport { FormError } from './FormError'\nimport type Ajv from 'ajv/dist/2020'\nimport type { FormsTranslation } from '../hooks/useTranslation'\n\nexport type AjvInstance = typeof ajvInstance\nexport { ajvInstance, Ajv }\n\n/**\n * Translation table for Ajv error keywords.\n * It represents the mapping between Ajv error keywords and their corresponding translation keys.\n */\nconst ajvErrorKeywordsTranslationTable = [\n { ajvKey: 'required', translationKey: 'Field.errorRequired' },\n { ajvKey: 'pattern', translationKey: 'Field.errorPattern' },\n {\n ajvKey: 'minLength',\n translationKey: 'StringField.errorMinLength',\n },\n {\n ajvKey: 'maxLength',\n translationKey: 'StringField.errorMaxLength',\n },\n { ajvKey: 'minimum', translationKey: 'NumberField.errorMinimum' },\n { ajvKey: 'maximum', translationKey: 'NumberField.errorMaximum' },\n {\n ajvKey: 'exclusiveMinimum',\n translationKey: 'NumberField.errorExclusiveMinimum',\n },\n {\n ajvKey: 'exclusiveMaximum',\n translationKey: 'NumberField.errorExclusiveMaximum',\n },\n {\n ajvKey: 'multipleOf',\n translationKey: 'NumberField.errorMultipleOf',\n },\n]\n\n/**\n * Creates an instance of Ajv (Another JSON Schema Validator) with optional custom instance.\n * If no instance is provided, a new instance of Ajv is created with the specified options.\n * The created Ajv instance is enhanced with custom error handling.\n *\n * @param instance - Optional custom instance of Ajv.\n * @returns The created or provided instance of Ajv.\n */\nexport function makeAjvInstance(instance?: Ajv) {\n const ajv =\n instance ||\n new ajvInstance({\n // If allErrors is off, Ajv only give you the first error it finds\n allErrors: true,\n })\n\n if (!ajv['__ajvErrors__']) {\n ajvErrors(ajv)\n ajv['__ajvErrors__'] = true\n }\n\n return ajv\n}\n\n/**\n * Returns the instance path of the given Ajv error.\n * If the error is of type 'required', it is considered an object error and the missing property is shown under the relevant field.\n * If the error is of type 'errorMessage', it is a wrapped error and the instance path is found from the original error to avoid issues like required-errors pointing at the parent object.\n * @param ajvError - The Ajv error object.\n * @returns The instance path of the error.\n */\nexport function getInstancePath(ajvError: ErrorObject): Path {\n switch (ajvError.keyword) {\n case 'required': {\n // Required-errors are considered object errors by ajv, so they don't have instancePaths. We want to\n // show them under the relevant field\n return `${ajvError.instancePath}/${ajvError.params.missingProperty}`\n }\n case 'errorMessage': {\n // errorMessage structures (from ajv-errors) wrap the original error. Find instance path from original\n // to avoid issues like required-errors pointing at parent object.\n if (ajvError.params.errors[0]) {\n return getInstancePath(ajvError.params.errors[0])\n }\n }\n }\n return ajvError.instancePath\n}\n\n/**\n * Retrieves the validation rule from an AJV error object.\n * If the error object has an 'errorMessage' keyword, it unwraps the original error\n * to avoid issues like required-errors pointing at the parent object.\n * @param ajvError - The AJV error object.\n * @returns The validation rule.\n */\nexport function getValidationRule(ajvError: ErrorObject): string {\n if (ajvError.keyword === 'errorMessage' && ajvError.params.errors[0]) {\n // errorMessage structures (from ajv-errors) wrap the original error. Find keyword from original\n // to avoid issues like required-errors pointing at parent object.\n return getValidationRule(ajvError.params.errors[0])\n }\n return ajvError.keyword\n}\n\n/**\n * Retrieves the message values from an AJV error object.\n * @param ajvError The AJV error object.\n * @returns The message values extracted from the error object.\n */\nexport function getMessageValues(\n ajvError: ErrorObject\n): FormError['messageValues'] {\n const validationRule = getValidationRule(ajvError)\n\n switch (validationRule) {\n case 'minLength':\n case 'maxLength':\n case 'minimum':\n case 'maximum':\n case 'exclusiveMinimum':\n case 'exclusiveMaximum':\n return {\n [validationRule]: ajvError.params?.limit,\n }\n case 'multipleOf':\n return {\n [validationRule]: ajvError.params?.multipleOf,\n }\n case 'pattern':\n return {\n [validationRule]: ajvError.params?.pattern,\n }\n }\n}\n\n/**\n * Overwrite the internal translation messages with given messaged that uses the Ajv keywords.\n *\n * @deprecated – can be removed in v11\n */\nexport function overwriteErrorMessagesWithGivenAjvKeys(\n messages: DefaultErrorMessages\n) {\n messages = { ...messages }\n\n ajvErrorKeywordsTranslationTable.forEach(\n ({ ajvKey, translationKey }) => {\n if (messages[ajvKey]) {\n messages[translationKey] = messages[ajvKey]\n }\n }\n )\n\n return messages\n}\n\n/**\n * Extend the error messages with relevant translation messages.\n */\nexport function extendErrorMessagesWithTranslationMessages(\n messages: DefaultErrorMessages,\n translation: FormsTranslation\n) {\n messages = { ...messages }\n\n ajvErrorKeywordsTranslationTable.forEach(\n ({ ajvKey, translationKey }) => {\n if (!messages[ajvKey]) {\n const keys = translationKey.split('.')\n\n /**\n * For backward compatibility.\n * Because we removed ajv keys in the fields, we now always set all the messages here instead.\n *\n * @deprecated – can be removed in v11\n */\n messages[ajvKey] =\n messages[translationKey] ?? translation[keys[0]][keys[1]]\n\n messages[translationKey] =\n messages[translationKey] ?? translation[keys[0]][keys[1]]\n }\n }\n )\n\n return messages\n}\n\n/**\n * Get the translation key from the Ajv validation rule\n */\nexport function getTranslationKeyFromValidationRule(\n validationRule: string\n) {\n const item = ajvErrorKeywordsTranslationTable.find(\n ({ ajvKey }) => ajvKey === validationRule\n )\n return item?.translationKey\n}\n\n/**\n * Converts an AJV error object to a FormError object.\n *\n * @param ajvError - The AJV error object to convert.\n * @returns The converted FormError object.\n */\nexport function ajvErrorToFormError(ajvError: ErrorObject): FormError {\n if (ajvError.keyword === 'errorMessage') {\n return new Error(ajvError.message ?? 'Unknown error')\n }\n\n return new FormError(\n getTranslationKeyFromValidationRule(getValidationRule(ajvError)) ??\n ajvError.message ??\n 'Unknown error',\n {\n // Keep the message values in the error object instead of injecting them into the message\n // at once, since an error might be validated one place, and then get a new message before it is displayed.\n messageValues: getMessageValues(ajvError),\n ajvKeyword: ajvError.keyword,\n }\n )\n}\n\n/**\n * Converts an array of Ajv errors to a single FormError.\n * @param errors - An array of Ajv errors.\n * @returns A single FormError or undefined if there are no errors.\n */\nexport function ajvErrorsToOneFormError(\n errors?: ErrorObject[] | null,\n value?: unknown\n): FormError | undefined {\n if (!errors || errors.length === 0) {\n return\n }\n if (errors.length === 1) {\n const error = ajvErrorsTransformation(errors[0], value)\n if (!error) {\n return undefined\n }\n\n return ajvErrorToFormError(error)\n }\n\n return new FormError('Multiple errors', {\n errors: errors?.map((error) => ajvErrorToFormError(error)),\n })\n}\n\n/**\n * Converts AJV validation errors to form errors.\n *\n * @param errors - The array of AJV validation errors.\n * @param data - The data object being validated.\n * @returns The converted form errors as a record of path and form error pairs.\n */\nexport const ajvErrorsToFormErrors = (\n errors?: ErrorObject[] | null,\n data?: JsonObject\n): Record<string, FormError> => {\n return (errors ?? []).reduce((errors, ajvError) => {\n const path = getInstancePath(ajvError)\n const error = ajvErrorsTransformation(ajvError, data, path)\n\n if (error) {\n errors[path] = ajvErrorToFormError(error)\n }\n\n return errors\n }, {})\n}\n\n/**\n * Transforms AJV errors based on specific conditions.\n *\n * @param ajvError - The AJV error object.\n * @param data - The data object or value being validated.\n * @param path - The path to the data object property being validated.\n * @returns The transformed AJV error object or undefined if the error should be removed.\n */\nfunction ajvErrorsTransformation(\n ajvError: ErrorObject,\n data?: Record<Path, unknown> | unknown,\n path?: Path\n) {\n if (ajvError.keyword === 'type') {\n const value =\n data && typeof data === 'object' && path\n ? pointer.get(data, path)\n : data\n\n // Remove the error if the value is empty\n if (value === '' || value === null) {\n return undefined\n } else {\n // This extend the very limited error message with the value and the path\n const field = path ? `field at path=\"${path}\"` : 'field'\n ajvError.message = `The ${field} value (${value}) type ${ajvError.message}`\n\n // Warn about the issue\n console.error(ajvError.message)\n }\n }\n\n return ajvError\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { FormError } from '../types';
1
+ import { FormError } from './FormError';
2
2
  export declare function errorChanged(error1?: FormError, error2?: FormError): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","names":["errorChanged","error1","error2","undefined","Error","message"],"sources":["../../../../../src/extensions/forms/utils/errors.ts"],"sourcesContent":["import { FormError } from '../types'\n\nexport function errorChanged(\n error1?: FormError,\n error2?: FormError\n): boolean {\n if (\n (error1 === undefined && error2 instanceof Error) ||\n (error1 instanceof Error && error2 === undefined)\n ) {\n return true\n }\n if (error1 && error2 && error1.message !== error2.message) {\n return true\n }\n return false\n}\n"],"mappings":"AAEA,OAAO,SAASA,YAAYA,CAC1BC,MAAkB,EAClBC,MAAkB,EACT;EACT,IACGD,MAAM,KAAKE,SAAS,IAAID,MAAM,YAAYE,KAAK,IAC/CH,MAAM,YAAYG,KAAK,IAAIF,MAAM,KAAKC,SAAU,EACjD;IACA,OAAO,IAAI;EACb;EACA,IAAIF,MAAM,IAAIC,MAAM,IAAID,MAAM,CAACI,OAAO,KAAKH,MAAM,CAACG,OAAO,EAAE;IACzD,OAAO,IAAI;EACb;EACA,OAAO,KAAK;AACd"}
1
+ {"version":3,"file":"errors.js","names":["errorChanged","error1","error2","undefined","Error","message"],"sources":["../../../../../src/extensions/forms/utils/errors.ts"],"sourcesContent":["import { FormError } from './FormError'\n\nexport function errorChanged(\n error1?: FormError,\n error2?: FormError\n): boolean {\n if (\n (error1 === undefined && error2 instanceof Error) ||\n (error1 instanceof Error && error2 === undefined)\n ) {\n return true\n }\n if (error1 && error2 && error1.message !== error2.message) {\n return true\n }\n return false\n}\n"],"mappings":"AAEA,OAAO,SAASA,YAAYA,CAC1BC,MAAkB,EAClBC,MAAkB,EACT;EACT,IACGD,MAAM,KAAKE,SAAS,IAAID,MAAM,YAAYE,KAAK,IAC/CH,MAAM,YAAYG,KAAK,IAAIF,MAAM,KAAKC,SAAU,EACjD;IACA,OAAO,IAAI;EACb;EACA,IAAIF,MAAM,IAAIC,MAAM,IAAID,MAAM,CAACI,OAAO,KAAKH,MAAM,CAACG,OAAO,EAAE;IACzD,OAAO,IAAI;EACb;EACA,OAAO,KAAK;AACd"}
@@ -1,3 +1,5 @@
1
+ export * from './ajv';
1
2
  export * from './errors';
2
3
  export * from './json-pointer';
4
+ export * from './FormError';
3
5
  export { default as TestElement } from './TestElement/TestElement';
@@ -1,4 +1,6 @@
1
+ export * from './ajv';
1
2
  export * from './errors';
2
3
  export * from './json-pointer';
4
+ export * from './FormError';
3
5
  export { default as TestElement } from './TestElement/TestElement';
4
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","TestElement"],"sources":["../../../../../src/extensions/forms/utils/index.ts"],"sourcesContent":["export * from './errors'\nexport * from './json-pointer'\nexport { default as TestElement } from './TestElement/TestElement'\n"],"mappings":"AAAA,cAAc,UAAU;AACxB,cAAc,gBAAgB;AAC9B,SAASA,OAAO,IAAIC,WAAW,QAAQ,2BAA2B"}
1
+ {"version":3,"file":"index.js","names":["default","TestElement"],"sources":["../../../../../src/extensions/forms/utils/index.ts"],"sourcesContent":["export * from './ajv'\nexport * from './errors'\nexport * from './json-pointer'\nexport * from './FormError'\nexport { default as TestElement } from './TestElement/TestElement'\n"],"mappings":"AAAA,cAAc,OAAO;AACrB,cAAc,UAAU;AACxB,cAAc,gBAAgB;AAC9B,cAAc,aAAa;AAC3B,SAASA,OAAO,IAAIC,WAAW,QAAQ,2BAA2B"}
@@ -10,8 +10,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
10
10
  import React from 'react';
11
11
  import PropTypes from 'prop-types';
12
12
  import classnames from 'classnames';
13
- import keycode from 'keycode';
14
- import { isTrue, makeUniqueId, extendPropsWithContextInClassComponent, validateDOMAttributes, dispatchCustomElementEvent } from '../../shared/component-helper';
13
+ import { isTrue, makeUniqueId, extendPropsWithContextInClassComponent, validateDOMAttributes, dispatchCustomElementEvent, keycode } from '../../shared/component-helper';
15
14
  import { getThemeClasses } from '../../shared/Theme';
16
15
  import { createSpacingClasses } from '../../components/space/SpacingHelper';
17
16
  import DrawerListContext from './DrawerListContext';
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerList.js","names":["React","PropTypes","classnames","keycode","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","dispatchCustomElementEvent","getThemeClasses","createSpacingClasses","DrawerListContext","DrawerListProvider","DrawerListPortal","drawerListPropTypes","drawerListDefaultProps","propsToFilterOut","on_show","on_hide","handle_dismiss_focus","on_change","on_pre_change","on_resize","on_select","on_state_update","on_key_down","options_render","wrapper_element","DrawerList","PureComponent","constructor","props","_id","id","render","_this$context","hasProvider","context","drawerList","createElement","DrawerListInstance","_extends","data","children","_defineProperty","blurDelay","_objectSpread","process","env","NODE_ENV","propTypes","e","hasFocusOnElement","preventDefault","setHidden","event","selected_item","parseFloat","currentTarget","getAttribute","selectItemAndClose","fireSelectEvent","state","setState","Object","entries","reduce","acc","_ref","key","triangle_position","_this$context2","defaultProps","getTranslation","role","align_drawer","fixed_position","independent_width","scrollable","focusable","size","no_animation","no_scroll_animation","prevent_selection","action_menu","is_popup","portal_class","list_class","ignore_events","className","cache_hash","_cache_hash","_wrapper_element","_triangle_position","direction","_direction","max_height","_max_height","_data","prepared_data","_prepared_data","raw_data","_raw_data","opened","_opened","value","_value","attributes","_objectWithoutProperties","_excluded","hidden","active_item","showFocusRing","closestToTop","closestToBottom","usePortal","addObservers","removeObservers","_refShell","_refTriangle","_refUl","_refRoot","mainParams","listParams","ulParams","tabIndex","style","maxHeight","ref","assign","ignoreEvents","Items","map","dataItem","i","__id","hash","liParams","class_name","length","active","selected","onClick","selectItemHandler","onKeyDown","preventTab","Item","mainList","Fragment","Options","triangleRef","OnMounted","rootRef","include_owner_width","theme","memo","forwardRef","rest","_excluded2","prevProps","nextProps","displayName","oneOfType","node","func","isRequired","string","bool","object","on_click","_excluded3","params","ItemContent","number","_ref2","content","Array","isArray","item","n","prototype","hasOwnProperty","call","suffix_value","HorizontalItem","_ref3","_excluded4","componentDidMount","componentWillUnmount"],"sources":["../../../../src/fragments/drawer-list/DrawerList.js"],"sourcesContent":["/**\n * Web List Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport keycode from 'keycode'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { getThemeClasses } from '../../shared/Theme'\nimport { createSpacingClasses } from '../../components/space/SpacingHelper'\n\nimport DrawerListContext from './DrawerListContext'\nimport DrawerListProvider from './DrawerListProvider'\nimport DrawerListPortal from './DrawerListPortal'\nimport {\n drawerListPropTypes,\n drawerListDefaultProps,\n} from './DrawerListHelpers'\n\nconst propsToFilterOut = {\n on_show: null,\n on_hide: null,\n handle_dismiss_focus: null,\n on_change: null,\n on_pre_change: null,\n on_resize: null,\n on_select: null,\n on_state_update: null,\n on_key_down: null,\n options_render: null,\n wrapper_element: null,\n}\n\nexport default class DrawerList extends React.PureComponent {\n static contextType = DrawerListContext // only used for the hasProvide check\n\n static blurDelay = DrawerListProvider.blurDelay // some ms more than \"DrawerListSlideDown 200ms\" = 201 // some ms more than \"DrawerListSlideDown 200ms\"\n\n static propTypes = {\n ...drawerListPropTypes,\n }\n\n static defaultProps = {\n ...drawerListDefaultProps,\n }\n\n constructor(props) {\n super(props)\n\n this._id = props.id || makeUniqueId()\n }\n\n render() {\n const hasProvider = this.context?.drawerList\n\n if (hasProvider) {\n return <DrawerListInstance {...this.props} />\n }\n\n return (\n <DrawerListProvider\n id={this._id}\n {...this.props}\n data={this.props.data || this.props.children}\n >\n <DrawerListInstance id={this._id} {...this.props} />\n </DrawerListProvider>\n )\n }\n}\n\nclass DrawerListInstance extends React.PureComponent {\n static propTypes = DrawerList.propTypes\n static defaultProps = DrawerList.defaultProps\n static contextType = DrawerListContext\n\n constructor(props, context) {\n super(props)\n\n this._id = props.id || makeUniqueId()\n this.state = this.state || {}\n\n // send along the event handlers to the provider state\n context.drawerList.setState(\n Object.entries(propsToFilterOut).reduce((acc, [key]) => {\n if (props[key]) {\n acc[key] = props[key]\n }\n return acc\n }, {})\n )\n\n context.drawerList.setState({\n triangle_position: props.triangle_position,\n })\n }\n\n preventTab = (e) => {\n switch (keycode(e)) {\n case 'tab':\n if (!this.context.drawerList.hasFocusOnElement) {\n e.preventDefault()\n this.context.drawerList.setHidden()\n }\n break\n\n case 'page down':\n case 'page up':\n e.preventDefault()\n break\n }\n }\n\n selectItemHandler = (event) => {\n // In case we want to stop if the users makes a number selection.\n // Should optional\n // if (getPreviousSibling('dnb-number-format', event.target)) {\n // return // stop\n // }\n const selected_item = parseFloat(\n event.currentTarget.getAttribute('data-item')\n )\n if (selected_item > -1) {\n this.context.drawerList.selectItemAndClose(selected_item, {\n fireSelectEvent: true,\n event,\n })\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n DrawerList.defaultProps,\n this.context.getTranslation(this.props).DrawerList\n )\n\n const {\n role,\n align_drawer,\n fixed_position,\n independent_width,\n scrollable,\n focusable,\n size,\n no_animation,\n no_scroll_animation,\n prevent_selection,\n action_menu,\n is_popup,\n portal_class,\n list_class,\n ignore_events,\n options_render,\n className,\n cache_hash: _cache_hash, // eslint-disable-line\n wrapper_element: _wrapper_element, // eslint-disable-line\n triangle_position: _triangle_position, // eslint-disable-line\n direction: _direction, // eslint-disable-line\n max_height: _max_height, // eslint-disable-line\n id: _id, // eslint-disable-line\n data: _data, // eslint-disable-line\n prepared_data: _prepared_data, // eslint-disable-line\n raw_data: _raw_data, // eslint-disable-line\n opened: _opened, // eslint-disable-line\n value: _value, // eslint-disable-line\n children,\n\n ...attributes\n } = props\n\n const id = this._id\n\n const {\n data,\n opened,\n hidden,\n triangle_position,\n direction,\n max_height,\n cache_hash,\n selected_item,\n active_item,\n showFocusRing,\n closestToTop,\n closestToBottom,\n usePortal,\n addObservers,\n removeObservers,\n _refShell,\n _refTriangle,\n _refUl,\n _refRoot,\n } = this.context.drawerList\n\n const mainParams = {\n id: `${id}-drawer-list`,\n className: classnames(\n 'dnb-drawer-list',\n opened && 'dnb-drawer-list--opened',\n hidden && 'dnb-drawer-list--hidden',\n `dnb-drawer-list--${direction}`,\n triangle_position &&\n `dnb-drawer-list--triangle-position-${triangle_position}`,\n align_drawer && `dnb-drawer-list--${align_drawer}`,\n size && `dnb-drawer-list--${size}`,\n isTrue(action_menu) && `dnb-drawer-list--action-menu`,\n isTrue(is_popup) && 'dnb-drawer-list--is-popup',\n (isTrue(independent_width) || isTrue(action_menu)) &&\n 'dnb-drawer-list--independent-width',\n isTrue(scrollable) && 'dnb-drawer-list--scroll',\n isTrue(no_scroll_animation) &&\n 'dnb-drawer-list--no-scroll-animation',\n createSpacingClasses(props),\n className\n ),\n ...attributes,\n }\n\n const listParams = {\n id: `${id}-listbox`,\n /**\n * We may consider to use the hidden attribute in future\n * Or we may add an prop to put the HTML in the DOM, if needed\n */\n // hidden: hidden !== false,\n className: classnames(\n 'dnb-drawer-list__list',\n isTrue(no_animation) && 'dnb-drawer-list__list--no-animation',\n list_class\n ),\n }\n\n const ulParams = {\n role,\n id: `${id}-ul`,\n 'aria-expanded': opened,\n 'aria-labelledby': `${id}-label`,\n tabIndex: '-1',\n style: {\n maxHeight: max_height > 0 ? `${max_height}rem` : null,\n },\n ref: _refUl,\n }\n\n if (\n !hidden &&\n (parseFloat(active_item) > -1 ||\n (!(parseFloat(active_item) > -1) &&\n !(parseFloat(selected_item) > -1)))\n ) {\n ulParams['aria-activedescendant'] = `option-${id}-${\n parseFloat(active_item) > -1 ? active_item : 0\n }`\n } else if (\n !isTrue(prevent_selection) &&\n !hidden &&\n parseFloat(selected_item) > -1\n ) {\n ulParams['aria-activedescendant'] = `option-${id}-${selected_item}`\n }\n\n if (isTrue(focusable)) {\n ulParams.tabIndex = '0'\n }\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, mainParams)\n validateDOMAttributes(null, listParams)\n validateDOMAttributes(null, ulParams)\n\n // make it possible to grab the rest attributes and return it with all events\n Object.assign(\n this.context.drawerList.attributes,\n validateDOMAttributes(null, attributes)\n )\n\n const ignoreEvents = isTrue(ignore_events)\n\n const Items = () =>\n data.map((dataItem, i) => {\n const _id = dataItem.__id\n const hash = `option-${id}-${_id}-${i}`\n const liParams = {\n role: role === 'menu' ? 'menuitem' : 'option',\n 'data-item': _id,\n id: `option-${id}-${_id}`,\n hash,\n className: classnames(\n // helper classes\n i === closestToTop && 'closest-to-top',\n i === closestToBottom && 'closest-to-bottom',\n i === 0 && 'first-of-type', // because of the triangle element\n i === data.length - 1 && 'last-of-type', // because of the triangle element\n ignoreEvents || (dataItem.ignore_events && 'ignore-events'),\n dataItem.class_name\n ),\n active: _id == active_item,\n selected: !dataItem.ignore_events && _id == selected_item,\n onClick: this.selectItemHandler,\n onKeyDown: this.preventTab,\n }\n\n if (ignoreEvents) {\n liParams.active = null\n liParams.selected = null\n liParams.onClick = null\n liParams.onKeyDown = null\n liParams.className = classnames(\n liParams.className,\n 'dnb-drawer-list__option--ignore'\n )\n }\n\n return (\n <DrawerList.Item key={hash} {...liParams}>\n {dataItem}\n </DrawerList.Item>\n )\n })\n\n const mainList = (\n <span {...mainParams} ref={_refShell}>\n <span {...listParams}>\n {hidden === false && data && data.length > 0 ? (\n <>\n <DrawerList.Options\n cache_hash={\n cache_hash +\n active_item +\n selected_item +\n closestToTop +\n closestToBottom +\n direction +\n max_height\n }\n {...ulParams}\n showFocusRing={showFocusRing}\n triangleRef={_refTriangle}\n >\n {typeof options_render === 'function' ? (\n options_render({ data, Items, Item: DrawerList.Item })\n ) : (\n <Items />\n )}\n </DrawerList.Options>\n <OnMounted\n addObservers={addObservers}\n removeObservers={removeObservers}\n />\n </>\n ) : (\n children && (\n <span className=\"dnb-drawer-list__content\">\n {children}\n <span\n className=\"dnb-drawer-list__triangle\"\n ref={_refTriangle}\n />\n </span>\n )\n )}\n </span>\n </span>\n )\n\n return (\n <span\n className={classnames(\n 'dnb-drawer-list__root',\n usePortal && 'dnb-drawer-list__root--portal'\n )}\n ref={_refRoot}\n >\n {usePortal ? (\n <DrawerListPortal\n id={this._id}\n rootRef={_refRoot}\n opened={hidden === false}\n include_owner_width={align_drawer === 'right'}\n independent_width={isTrue(independent_width)}\n fixed_position={isTrue(fixed_position)}\n className={getThemeClasses(this.context?.theme, portal_class)}\n >\n {mainList}\n </DrawerListPortal>\n ) : (\n mainList\n )}\n </span>\n )\n }\n}\n\n// DrawerList List\nDrawerList.Options = React.memo(\n React.forwardRef((props, ref) => {\n const {\n children,\n className,\n triangleRef = null,\n cache_hash, // eslint-disable-line\n showFocusRing,\n ...rest\n } = props\n\n return (\n <ul\n className={classnames(\n 'dnb-drawer-list__options',\n showFocusRing && 'dnb-drawer-list__options--focusring',\n className\n )}\n {...rest}\n ref={ref}\n >\n {children}\n <li\n className=\"dnb-drawer-list__triangle\"\n aria-hidden\n ref={triangleRef}\n />\n </ul>\n )\n }),\n (prevProps, nextProps) => {\n if (!prevProps.cache_hash) {\n return null\n }\n return prevProps.cache_hash === nextProps.cache_hash\n }\n)\nDrawerList.Options.displayName = 'DrawerList.Options'\nDrawerList.Options.propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func])\n .isRequired,\n cache_hash: PropTypes.string,\n showFocusRing: PropTypes.bool,\n className: PropTypes.string,\n triangleRef: PropTypes.object,\n}\nDrawerList.Options.defaultProps = {\n cache_hash: null,\n showFocusRing: false,\n className: null,\n triangleRef: null,\n}\n\n// DrawerList Item\nDrawerList.Item = React.forwardRef((props, ref) => {\n const {\n role, // eslint-disable-line\n hash, // eslint-disable-line\n children, // eslint-disable-line\n className, // eslint-disable-line\n on_click, // eslint-disable-line\n selected, // eslint-disable-line\n active, // eslint-disable-line\n value, // eslint-disable-line\n ...rest\n } = props\n\n const params = {\n className: classnames(\n className,\n 'dnb-drawer-list__option',\n selected && 'dnb-drawer-list__option--selected',\n active && 'dnb-drawer-list__option--focus'\n ),\n role,\n tabIndex: selected ? '0' : '-1',\n 'aria-selected': active,\n }\n if (selected) {\n params['aria-current'] = true // has best support on NVDA\n }\n\n if (on_click) {\n params.onClick = () =>\n dispatchCustomElementEvent(\n {\n props: { ...props, displayName: DrawerList.Item.displayName },\n },\n 'on_click',\n {\n selected,\n value,\n ...rest,\n }\n )\n }\n\n return (\n <li {...params} {...rest} ref={ref} key={'li' + hash}>\n <span className=\"dnb-drawer-list__option__inner\">\n <ItemContent hash={hash}>{children}</ItemContent>\n </span>\n </li>\n )\n})\nDrawerList.Item.displayName = 'DrawerList.Item'\nDrawerList.Item.propTypes = {\n role: PropTypes.string,\n hash: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.func,\n PropTypes.object,\n ]).isRequired,\n className: PropTypes.string,\n on_click: PropTypes.func,\n selected: PropTypes.bool,\n active: PropTypes.bool,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n}\nDrawerList.Item.defaultProps = {\n role: 'option',\n hash: '',\n className: null,\n on_click: null,\n selected: null,\n active: null,\n value: null,\n}\n\nexport function ItemContent({ hash = '', children }) {\n let content = null\n\n if (Array.isArray(children.content || children)) {\n content = (children.content || children).map((item, n) => (\n <span\n key={hash + n}\n className={`dnb-drawer-list__option__item item-nr-${n + 1}`} // \"item-nr\" is used by CSS\n >\n {children.render ? children.render(item, hash + n) : item}\n </span>\n ))\n } else if (Object.prototype.hasOwnProperty.call(children, 'content')) {\n content = children.render\n ? children.render(children.content, hash, children)\n : children.content\n if (content) {\n content = (\n <span className=\"dnb-drawer-list__option__item\">{content}</span>\n )\n }\n } else {\n content = children && (\n <span className=\"dnb-drawer-list__option__item\">{children}</span>\n )\n }\n\n return Object.prototype.hasOwnProperty.call(children, 'suffix_value') ? (\n <>\n {content}\n\n <span className=\"dnb-drawer-list__option__item dnb-drawer-list__option__suffix\">\n {children.suffix_value}\n </span>\n </>\n ) : (\n content\n )\n}\nItemContent.propTypes = {\n hash: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.object]),\n}\n\nDrawerList.HorizontalItem = ({ className, ...props }) => (\n <span\n className={classnames([\n 'dnb-drawer-list__option__item dnb-drawer-list__option__item--horizontal',\n className,\n ])}\n {...props}\n />\n)\nDrawerList.HorizontalItem.propTypes = {\n className: PropTypes.string,\n}\nDrawerList.HorizontalItem.defaultProps = {\n className: null,\n}\n\nclass OnMounted extends React.PureComponent {\n static propTypes = {\n addObservers: PropTypes.func.isRequired,\n removeObservers: PropTypes.func.isRequired,\n }\n componentDidMount() {\n this.props.addObservers()\n }\n componentWillUnmount() {\n this.props.removeObservers()\n }\n render() {\n return null\n }\n}\n"],"mappings":";;;;;;;;;AAOA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,OAAO,MAAM,SAAS;AAC7B,SACEC,MAAM,EACNC,YAAY,EACZC,sCAAsC,EACtCC,qBAAqB,EACrBC,0BAA0B,QACrB,+BAA+B;AACtC,SAASC,eAAe,QAAQ,oBAAoB;AACpD,SAASC,oBAAoB,QAAQ,sCAAsC;AAE3E,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,OAAOC,kBAAkB,MAAM,sBAAsB;AACrD,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,SACEC,mBAAmB,EACnBC,sBAAsB,QACjB,qBAAqB;AAE5B,MAAMC,gBAAgB,GAAG;EACvBC,OAAO,EAAE,IAAI;EACbC,OAAO,EAAE,IAAI;EACbC,oBAAoB,EAAE,IAAI;EAC1BC,SAAS,EAAE,IAAI;EACfC,aAAa,EAAE,IAAI;EACnBC,SAAS,EAAE,IAAI;EACfC,SAAS,EAAE,IAAI;EACfC,eAAe,EAAE,IAAI;EACrBC,WAAW,EAAE,IAAI;EACjBC,cAAc,EAAE,IAAI;EACpBC,eAAe,EAAE;AACnB,CAAC;AAED,eAAe,MAAMC,UAAU,SAAS5B,KAAK,CAAC6B,aAAa,CAAC;EAa1DC,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAEZ,IAAI,CAACC,GAAG,GAAGD,KAAK,CAACE,EAAE,IAAI5B,YAAY,CAAC,CAAC;EACvC;EAEA6B,MAAMA,CAAA,EAAG;IAAA,IAAAC,aAAA;IACP,MAAMC,WAAW,IAAAD,aAAA,GAAG,IAAI,CAACE,OAAO,cAAAF,aAAA,uBAAZA,aAAA,CAAcG,UAAU;IAE5C,IAAIF,WAAW,EAAE;MACf,OAAOpC,KAAA,CAAAuC,aAAA,CAACC,kBAAkB,EAAK,IAAI,CAACT,KAAQ,CAAC;IAC/C;IAEA,OACE/B,KAAA,CAAAuC,aAAA,CAAC3B,kBAAkB,EAAA6B,QAAA;MACjBR,EAAE,EAAE,IAAI,CAACD;IAAI,GACT,IAAI,CAACD,KAAK;MACdW,IAAI,EAAE,IAAI,CAACX,KAAK,CAACW,IAAI,IAAI,IAAI,CAACX,KAAK,CAACY;IAAS,IAE7C3C,KAAA,CAAAuC,aAAA,CAACC,kBAAkB,EAAAC,QAAA;MAACR,EAAE,EAAE,IAAI,CAACD;IAAI,GAAK,IAAI,CAACD,KAAK,CAAG,CACjC,CAAC;EAEzB;AACF;AAACa,eAAA,CApCoBhB,UAAU,iBACRjB,iBAAiB;AAAAiC,eAAA,CADnBhB,UAAU,eAGVhB,kBAAkB,CAACiC,SAAS;AAAAD,eAAA,CAH5BhB,UAAU,kBAAAkB,aAAA,KAUxB/B,sBAAsB;AAAAgC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAVRrB,UAAU,CAKtBsB,SAAS,GAAAJ,aAAA,KACXhC,mBAAmB;AAgC1B,MAAM0B,kBAAkB,SAASxC,KAAK,CAAC6B,aAAa,CAAC;EAKnDC,WAAWA,CAACC,KAAK,EAAEM,OAAO,EAAE;IAC1B,KAAK,CAACN,KAAK,CAAC;IAAAa,eAAA,qBAoBAO,CAAC,IAAK;MAClB,QAAQhD,OAAO,CAACgD,CAAC,CAAC;QAChB,KAAK,KAAK;UACR,IAAI,CAAC,IAAI,CAACd,OAAO,CAACC,UAAU,CAACc,iBAAiB,EAAE;YAC9CD,CAAC,CAACE,cAAc,CAAC,CAAC;YAClB,IAAI,CAAChB,OAAO,CAACC,UAAU,CAACgB,SAAS,CAAC,CAAC;UACrC;UACA;QAEF,KAAK,WAAW;QAChB,KAAK,SAAS;UACZH,CAAC,CAACE,cAAc,CAAC,CAAC;UAClB;MACJ;IACF,CAAC;IAAAT,eAAA,4BAEoBW,KAAK,IAAK;MAM7B,MAAMC,aAAa,GAAGC,UAAU,CAC9BF,KAAK,CAACG,aAAa,CAACC,YAAY,CAAC,WAAW,CAC9C,CAAC;MACD,IAAIH,aAAa,GAAG,CAAC,CAAC,EAAE;QACtB,IAAI,CAACnB,OAAO,CAACC,UAAU,CAACsB,kBAAkB,CAACJ,aAAa,EAAE;UACxDK,eAAe,EAAE,IAAI;UACrBN;QACF,CAAC,CAAC;MACJ;IACF,CAAC;IAjDC,IAAI,CAACvB,GAAG,GAAGD,KAAK,CAACE,EAAE,IAAI5B,YAAY,CAAC,CAAC;IACrC,IAAI,CAACyD,KAAK,GAAG,IAAI,CAACA,KAAK,IAAI,CAAC,CAAC;IAG7BzB,OAAO,CAACC,UAAU,CAACyB,QAAQ,CACzBC,MAAM,CAACC,OAAO,CAACjD,gBAAgB,CAAC,CAACkD,MAAM,CAAC,CAACC,GAAG,EAAAC,IAAA,KAAY;MAAA,IAAV,CAACC,GAAG,CAAC,GAAAD,IAAA;MACjD,IAAIrC,KAAK,CAACsC,GAAG,CAAC,EAAE;QACdF,GAAG,CAACE,GAAG,CAAC,GAAGtC,KAAK,CAACsC,GAAG,CAAC;MACvB;MACA,OAAOF,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CACP,CAAC;IAED9B,OAAO,CAACC,UAAU,CAACyB,QAAQ,CAAC;MAC1BO,iBAAiB,EAAEvC,KAAK,CAACuC;IAC3B,CAAC,CAAC;EACJ;EAmCApC,MAAMA,CAAA,EAAG;IAAA,IAAAqC,cAAA;IAEP,MAAMxC,KAAK,GAAGzB,sCAAsC,CAClD,IAAI,CAACyB,KAAK,EACVH,UAAU,CAAC4C,YAAY,EACvB,IAAI,CAACnC,OAAO,CAACoC,cAAc,CAAC,IAAI,CAAC1C,KAAK,CAAC,CAACH,UAC1C,CAAC;IAED,MAAM;QACJ8C,IAAI;QACJC,YAAY;QACZC,cAAc;QACdC,iBAAiB;QACjBC,UAAU;QACVC,SAAS;QACTC,IAAI;QACJC,YAAY;QACZC,mBAAmB;QACnBC,iBAAiB;QACjBC,WAAW;QACXC,QAAQ;QACRC,YAAY;QACZC,UAAU;QACVC,aAAa;QACb9D,cAAc;QACd+D,SAAS;QACTC,UAAU,EAAEC,WAAW;QACvBhE,eAAe,EAAEiE,gBAAgB;QACjCtB,iBAAiB,EAAEuB,kBAAkB;QACrCC,SAAS,EAAEC,UAAU;QACrBC,UAAU,EAAEC,WAAW;QACvBhE,EAAE,EAAED,GAAG;QACPU,IAAI,EAAEwD,KAAK;QACXC,aAAa,EAAEC,cAAc;QAC7BC,QAAQ,EAAEC,SAAS;QACnBC,MAAM,EAAEC,OAAO;QACfC,KAAK,EAAEC,MAAM;QACb/D;MAGF,CAAC,GAAGZ,KAAK;MADJ4E,UAAU,GAAAC,wBAAA,CACX7E,KAAK,EAAA8E,SAAA;IAET,MAAM5E,EAAE,GAAG,IAAI,CAACD,GAAG;IAEnB,MAAM;MACJU,IAAI;MACJ6D,MAAM;MACNO,MAAM;MACNxC,iBAAiB;MACjBwB,SAAS;MACTE,UAAU;MACVN,UAAU;MACVlC,aAAa;MACbuD,WAAW;MACXC,aAAa;MACbC,YAAY;MACZC,eAAe;MACfC,SAAS;MACTC,YAAY;MACZC,eAAe;MACfC,SAAS;MACTC,YAAY;MACZC,MAAM;MACNC;IACF,CAAC,GAAG,IAAI,CAACpF,OAAO,CAACC,UAAU;IAE3B,MAAMoF,UAAU,GAAA5E,aAAA;MACdb,EAAE,EAAG,GAAEA,EAAG,cAAa;MACvBwD,SAAS,EAAEvF,UAAU,qCAIC4F,SAAU,IAO9B,CAAC1F,MAAM,CAACyE,iBAAiB,CAAC,IAAIzE,MAAM,CAACgF,WAAW,CAAC,KAC/C,oCAAoC,EAItC1E,oBAAoB,CAACqB,KAAK,CAAC,EAC3B0D,SAAS,EAfTc,MAAM,IAAI,yBAAyB,EACnCO,MAAM,IAAI,yBAAyB,EAEnCxC,iBAAiB,IACd,sCAAqCA,iBAAkB,EAAC,EAC3DK,YAAY,IAAK,oBAAmBA,YAAa,EAAC,EAClDK,IAAI,IAAK,oBAAmBA,IAAK,EAAC,EAClC5E,MAAM,CAACgF,WAAW,CAAC,IAAK,8BAA6B,EACrDhF,MAAM,CAACiF,QAAQ,CAAC,IAAI,2BAA2B,EAG/CjF,MAAM,CAAC0E,UAAU,CAAC,IAAI,yBAAyB,EAC/C1E,MAAM,CAAC8E,mBAAmB,CAAC,IACzB,sCAGJ;IAAC,GACEyB,UAAU,CACd;IAED,MAAMgB,UAAU,GAAG;MACjB1F,EAAE,EAAG,GAAEA,EAAG,UAAS;MAMnBwD,SAAS,EAAEvF,UAAU,CACnB,uBAAuB,EAEvBqF,UAAU,EADVnF,MAAM,CAAC6E,YAAY,CAAC,IAAI,qCAE1B;IACF,CAAC;IAED,MAAM2C,QAAQ,GAAG;MACflD,IAAI;MACJzC,EAAE,EAAG,GAAEA,EAAG,KAAI;MACd,eAAe,EAAEsE,MAAM;MACvB,iBAAiB,EAAG,GAAEtE,EAAG,QAAO;MAChC4F,QAAQ,EAAE,IAAI;MACdC,KAAK,EAAE;QACLC,SAAS,EAAE/B,UAAU,GAAG,CAAC,GAAI,GAAEA,UAAW,KAAI,GAAG;MACnD,CAAC;MACDgC,GAAG,EAAER;IACP,CAAC;IAED,IACE,CAACV,MAAM,KACNrD,UAAU,CAACsD,WAAW,CAAC,GAAG,CAAC,CAAC,IAC1B,EAAEtD,UAAU,CAACsD,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAC9B,EAAEtD,UAAU,CAACD,aAAa,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,EACvC;MACAoE,QAAQ,CAAC,uBAAuB,CAAC,GAAI,UAAS3F,EAAG,IAC/CwB,UAAU,CAACsD,WAAW,CAAC,GAAG,CAAC,CAAC,GAAGA,WAAW,GAAG,CAC9C,EAAC;IACJ,CAAC,MAAM,IACL,CAAC3G,MAAM,CAAC+E,iBAAiB,CAAC,IAC1B,CAAC2B,MAAM,IACPrD,UAAU,CAACD,aAAa,CAAC,GAAG,CAAC,CAAC,EAC9B;MACAoE,QAAQ,CAAC,uBAAuB,CAAC,GAAI,UAAS3F,EAAG,IAAGuB,aAAc,EAAC;IACrE;IAEA,IAAIpD,MAAM,CAAC2E,SAAS,CAAC,EAAE;MACrB6C,QAAQ,CAACC,QAAQ,GAAG,GAAG;IACzB;IAGAtH,qBAAqB,CAAC,IAAI,CAACwB,KAAK,EAAE2F,UAAU,CAAC;IAC7CnH,qBAAqB,CAAC,IAAI,EAAEoH,UAAU,CAAC;IACvCpH,qBAAqB,CAAC,IAAI,EAAEqH,QAAQ,CAAC;IAGrC5D,MAAM,CAACiE,MAAM,CACX,IAAI,CAAC5F,OAAO,CAACC,UAAU,CAACqE,UAAU,EAClCpG,qBAAqB,CAAC,IAAI,EAAEoG,UAAU,CACxC,CAAC;IAED,MAAMuB,YAAY,GAAG9H,MAAM,CAACoF,aAAa,CAAC;IAE1C,MAAM2C,KAAK,GAAGA,CAAA,KACZzF,IAAI,CAAC0F,GAAG,CAAC,CAACC,QAAQ,EAAEC,CAAC,KAAK;MACxB,MAAMtG,GAAG,GAAGqG,QAAQ,CAACE,IAAI;MACzB,MAAMC,IAAI,GAAI,UAASvG,EAAG,IAAGD,GAAI,IAAGsG,CAAE,EAAC;MACvC,MAAMG,QAAQ,GAAG;QACf/D,IAAI,EAAEA,IAAI,KAAK,MAAM,GAAG,UAAU,GAAG,QAAQ;QAC7C,WAAW,EAAE1C,GAAG;QAChBC,EAAE,EAAG,UAASA,EAAG,IAAGD,GAAI,EAAC;QACzBwG,IAAI;QACJ/C,SAAS,EAAEvF,UAAU,CAMnBgI,YAAY,IAAKG,QAAQ,CAAC7C,aAAa,IAAI,eAAgB,EAC3D6C,QAAQ,CAACK,UAAU,EALnBJ,CAAC,KAAKrB,YAAY,IAAI,gBAAgB,EACtCqB,CAAC,KAAKpB,eAAe,IAAI,mBAAmB,EAC5CoB,CAAC,KAAK,CAAC,IAAI,eAAe,EAC1BA,CAAC,KAAK5F,IAAI,CAACiG,MAAM,GAAG,CAAC,IAAI,cAG3B,CAAC;QACDC,MAAM,EAAE5G,GAAG,IAAI+E,WAAW;QAC1B8B,QAAQ,EAAE,CAACR,QAAQ,CAAC7C,aAAa,IAAIxD,GAAG,IAAIwB,aAAa;QACzDsF,OAAO,EAAE,IAAI,CAACC,iBAAiB;QAC/BC,SAAS,EAAE,IAAI,CAACC;MAClB,CAAC;MAED,IAAIf,YAAY,EAAE;QAChBO,QAAQ,CAACG,MAAM,GAAG,IAAI;QACtBH,QAAQ,CAACI,QAAQ,GAAG,IAAI;QACxBJ,QAAQ,CAACK,OAAO,GAAG,IAAI;QACvBL,QAAQ,CAACO,SAAS,GAAG,IAAI;QACzBP,QAAQ,CAAChD,SAAS,GAAGvF,UAAU,CAC7BuI,QAAQ,CAAChD,SAAS,EAClB,iCACF,CAAC;MACH;MAEA,OACEzF,KAAA,CAAAuC,aAAA,CAACX,UAAU,CAACsH,IAAI,EAAAzG,QAAA;QAAC4B,GAAG,EAAEmE;MAAK,GAAKC,QAAQ,GACrCJ,QACc,CAAC;IAEtB,CAAC,CAAC;IAEJ,MAAMc,QAAQ,GACZnJ,KAAA,CAAAuC,aAAA,SAAAE,QAAA,KAAUiF,UAAU;MAAEM,GAAG,EAAEV;IAAU,IACnCtH,KAAA,CAAAuC,aAAA,SAAUoF,UAAU,EACjBb,MAAM,KAAK,KAAK,IAAIpE,IAAI,IAAIA,IAAI,CAACiG,MAAM,GAAG,CAAC,GAC1C3I,KAAA,CAAAuC,aAAA,CAAAvC,KAAA,CAAAoJ,QAAA,QACEpJ,KAAA,CAAAuC,aAAA,CAACX,UAAU,CAACyH,OAAO,EAAA5G,QAAA;MACjBiD,UAAU,EACRA,UAAU,GACVqB,WAAW,GACXvD,aAAa,GACbyD,YAAY,GACZC,eAAe,GACfpB,SAAS,GACTE;IACD,GACG4B,QAAQ;MACZZ,aAAa,EAAEA,aAAc;MAC7BsC,WAAW,EAAE/B;IAAa,IAEzB,OAAO7F,cAAc,KAAK,UAAU,GACnCA,cAAc,CAAC;MAAEgB,IAAI;MAAEyF,KAAK;MAAEe,IAAI,EAAEtH,UAAU,CAACsH;IAAK,CAAC,CAAC,GAEtDlJ,KAAA,CAAAuC,aAAA,CAAC4F,KAAK,MAAE,CAEQ,CAAC,EACrBnI,KAAA,CAAAuC,aAAA,CAACgH,SAAS;MACRnC,YAAY,EAAEA,YAAa;MAC3BC,eAAe,EAAEA;IAAgB,CAClC,CACD,CAAC,GAEH1E,QAAQ,IACN3C,KAAA,CAAAuC,aAAA;MAAMkD,SAAS,EAAC;IAA0B,GACvC9C,QAAQ,EACT3C,KAAA,CAAAuC,aAAA;MACEkD,SAAS,EAAC,2BAA2B;MACrCuC,GAAG,EAAET;IAAa,CACnB,CACG,CAGN,CACF,CACP;IAED,OACEvH,KAAA,CAAAuC,aAAA;MACEkD,SAAS,EACP,uBAAuB,IACvB0B,SAAS,yCACT;MACFa,GAAG,EAAEP;IAAS,GAEbN,SAAS,GACRnH,KAAA,CAAAuC,aAAA,CAAC1B,gBAAgB;MACfoB,EAAE,EAAE,IAAI,CAACD,GAAI;MACbwH,OAAO,EAAE/B,QAAS;MAClBlB,MAAM,EAAEO,MAAM,KAAK,KAAM;MACzB2C,mBAAmB,EAAE9E,YAAY,KAAK,OAAQ;MAC9CE,iBAAiB,EAAEzE,MAAM,CAACyE,iBAAiB,CAAE;MAC7CD,cAAc,EAAExE,MAAM,CAACwE,cAAc,CAAE;MACvCa,SAAS,EAAEhF,eAAe,EAAA8D,cAAA,GAAC,IAAI,CAAClC,OAAO,cAAAkC,cAAA,uBAAZA,cAAA,CAAcmF,KAAK,EAAEpE,YAAY;IAAE,GAE7D6D,QACe,CAAC,GAEnBA,QAEE,CAAC;EAEX;AACF;AAACvG,eAAA,CAlUKJ,kBAAkB,kBAEAZ,UAAU,CAAC4C,YAAY;AAAA5B,eAAA,CAFzCJ,kBAAkB,iBAGD7B,iBAAiB;AAAAoC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAHlCT,kBAAkB,CACfU,SAAS,GAAGtB,UAAU,CAACsB,SAAS;AAoUzCtB,UAAU,CAACyH,OAAO,GAAGrJ,KAAK,CAAC2J,IAAI,CAC7B3J,KAAK,CAAC4J,UAAU,CAAC,CAAC7H,KAAK,EAAEiG,GAAG,KAAK;EAC/B,MAAM;MACJrF,QAAQ;MACR8C,SAAS;MACT6D,WAAW,GAAG,IAAI;MAClB5D,UAAU;MACVsB;IAEF,CAAC,GAAGjF,KAAK;IADJ8H,IAAI,GAAAjD,wBAAA,CACL7E,KAAK,EAAA+H,UAAA;EAET,OACE9J,KAAA,CAAAuC,aAAA,OAAAE,QAAA;IACEgD,SAAS,EAAEvF,UAAU,CACnB,0BAA0B,EAE1BuF,SAAS,EADTuB,aAAa,IAAI,qCAEnB;EAAE,GACE6C,IAAI;IACR7B,GAAG,EAAEA;EAAI,IAERrF,QAAQ,EACT3C,KAAA,CAAAuC,aAAA;IACEkD,SAAS,EAAC,2BAA2B;IACrC,mBAAW;IACXuC,GAAG,EAAEsB;EAAY,CAClB,CACC,CAAC;AAET,CAAC,CAAC,EACF,CAACS,SAAS,EAAEC,SAAS,KAAK;EACxB,IAAI,CAACD,SAAS,CAACrE,UAAU,EAAE;IACzB,OAAO,IAAI;EACb;EACA,OAAOqE,SAAS,CAACrE,UAAU,KAAKsE,SAAS,CAACtE,UAAU;AACtD,CACF,CAAC;AACD9D,UAAU,CAACyH,OAAO,CAACY,WAAW,GAAG,oBAAoB;AACrDrI,UAAU,CAACyH,OAAO,CAACnG,SAAS,GAAG;EAC7BP,QAAQ,EAAE1C,SAAS,CAACiK,SAAS,CAAC,CAACjK,SAAS,CAACkK,IAAI,EAAElK,SAAS,CAACmK,IAAI,CAAC,CAAC,CAC5DC,UAAU;EACb3E,UAAU,EAAEzF,SAAS,CAACqK,MAAM;EAC5BtD,aAAa,EAAE/G,SAAS,CAACsK,IAAI;EAC7B9E,SAAS,EAAExF,SAAS,CAACqK,MAAM;EAC3BhB,WAAW,EAAErJ,SAAS,CAACuK;AACzB,CAAC;AACD5I,UAAU,CAACyH,OAAO,CAAC7E,YAAY,GAAG;EAChCkB,UAAU,EAAE,IAAI;EAChBsB,aAAa,EAAE,KAAK;EACpBvB,SAAS,EAAE,IAAI;EACf6D,WAAW,EAAE;AACf,CAAC;AAGD1H,UAAU,CAACsH,IAAI,GAAGlJ,KAAK,CAAC4J,UAAU,CAAC,CAAC7H,KAAK,EAAEiG,GAAG,KAAK;EACjD,MAAM;MACJtD,IAAI;MACJ8D,IAAI;MACJ7F,QAAQ;MACR8C,SAAS;MACTgF,QAAQ;MACR5B,QAAQ;MACRD,MAAM;MACNnC;IAEF,CAAC,GAAG1E,KAAK;IADJ8H,IAAI,GAAAjD,wBAAA,CACL7E,KAAK,EAAA2I,UAAA;EAET,MAAMC,MAAM,GAAG;IACblF,SAAS,EAAEvF,UAAU,CACnBuF,SAAS,EACT,yBAAyB,EACzBoD,QAAQ,IAAI,mCAAmC,EAC/CD,MAAM,IAAI,gCACZ,CAAC;IACDlE,IAAI;IACJmD,QAAQ,EAAEgB,QAAQ,GAAG,GAAG,GAAG,IAAI;IAC/B,eAAe,EAAED;EACnB,CAAC;EACD,IAAIC,QAAQ,EAAE;IACZ8B,MAAM,CAAC,cAAc,CAAC,GAAG,IAAI;EAC/B;EAEA,IAAIF,QAAQ,EAAE;IACZE,MAAM,CAAC7B,OAAO,GAAG,MACftI,0BAA0B,CACxB;MACEuB,KAAK,EAAAe,aAAA,CAAAA,aAAA,KAAOf,KAAK;QAAEkI,WAAW,EAAErI,UAAU,CAACsH,IAAI,CAACe;MAAW;IAC7D,CAAC,EACD,UAAU,EAAAnH,aAAA;MAER+F,QAAQ;MACRpC;IAAK,GACFoD,IAAI,CAEX,CAAC;EACL;EAEA,OACE7J,KAAA,CAAAuC,aAAA,OAAAE,QAAA,KAAQkI,MAAM,EAAMd,IAAI;IAAE7B,GAAG,EAAEA,GAAI;IAAC3D,GAAG,EAAE,IAAI,GAAGmE;EAAK,IACnDxI,KAAA,CAAAuC,aAAA;IAAMkD,SAAS,EAAC;EAAgC,GAC9CzF,KAAA,CAAAuC,aAAA,CAACqI,WAAW;IAACpC,IAAI,EAAEA;EAAK,GAAE7F,QAAsB,CAC5C,CACJ,CAAC;AAET,CAAC,CAAC;AACFf,UAAU,CAACsH,IAAI,CAACe,WAAW,GAAG,iBAAiB;AAC/CrI,UAAU,CAACsH,IAAI,CAAChG,SAAS,GAAG;EAC1BwB,IAAI,EAAEzE,SAAS,CAACqK,MAAM;EACtB9B,IAAI,EAAEvI,SAAS,CAACqK,MAAM;EACtB3H,QAAQ,EAAE1C,SAAS,CAACiK,SAAS,CAAC,CAC5BjK,SAAS,CAACkK,IAAI,EACdlK,SAAS,CAACmK,IAAI,EACdnK,SAAS,CAACuK,MAAM,CACjB,CAAC,CAACH,UAAU;EACb5E,SAAS,EAAExF,SAAS,CAACqK,MAAM;EAC3BG,QAAQ,EAAExK,SAAS,CAACmK,IAAI;EACxBvB,QAAQ,EAAE5I,SAAS,CAACsK,IAAI;EACxB3B,MAAM,EAAE3I,SAAS,CAACsK,IAAI;EACtB9D,KAAK,EAAExG,SAAS,CAACiK,SAAS,CAAC,CAACjK,SAAS,CAACqK,MAAM,EAAErK,SAAS,CAAC4K,MAAM,CAAC;AACjE,CAAC;AACDjJ,UAAU,CAACsH,IAAI,CAAC1E,YAAY,GAAG;EAC7BE,IAAI,EAAE,QAAQ;EACd8D,IAAI,EAAE,EAAE;EACR/C,SAAS,EAAE,IAAI;EACfgF,QAAQ,EAAE,IAAI;EACd5B,QAAQ,EAAE,IAAI;EACdD,MAAM,EAAE,IAAI;EACZnC,KAAK,EAAE;AACT,CAAC;AAED,OAAO,SAASmE,WAAWA,CAAAE,KAAA,EAA0B;EAAA,IAAzB;IAAEtC,IAAI,GAAG,EAAE;IAAE7F;EAAS,CAAC,GAAAmI,KAAA;EACjD,IAAIC,OAAO,GAAG,IAAI;EAElB,IAAIC,KAAK,CAACC,OAAO,CAACtI,QAAQ,CAACoI,OAAO,IAAIpI,QAAQ,CAAC,EAAE;IAC/CoI,OAAO,GAAG,CAACpI,QAAQ,CAACoI,OAAO,IAAIpI,QAAQ,EAAEyF,GAAG,CAAC,CAAC8C,IAAI,EAAEC,CAAC,KACnDnL,KAAA,CAAAuC,aAAA;MACE8B,GAAG,EAAEmE,IAAI,GAAG2C,CAAE;MACd1F,SAAS,EAAG,yCAAwC0F,CAAC,GAAG,CAAE;IAAE,GAE3DxI,QAAQ,CAACT,MAAM,GAAGS,QAAQ,CAACT,MAAM,CAACgJ,IAAI,EAAE1C,IAAI,GAAG2C,CAAC,CAAC,GAAGD,IACjD,CACP,CAAC;EACJ,CAAC,MAAM,IAAIlH,MAAM,CAACoH,SAAS,CAACC,cAAc,CAACC,IAAI,CAAC3I,QAAQ,EAAE,SAAS,CAAC,EAAE;IACpEoI,OAAO,GAAGpI,QAAQ,CAACT,MAAM,GACrBS,QAAQ,CAACT,MAAM,CAACS,QAAQ,CAACoI,OAAO,EAAEvC,IAAI,EAAE7F,QAAQ,CAAC,GACjDA,QAAQ,CAACoI,OAAO;IACpB,IAAIA,OAAO,EAAE;MACXA,OAAO,GACL/K,KAAA,CAAAuC,aAAA;QAAMkD,SAAS,EAAC;MAA+B,GAAEsF,OAAc,CAChE;IACH;EACF,CAAC,MAAM;IACLA,OAAO,GAAGpI,QAAQ,IAChB3C,KAAA,CAAAuC,aAAA;MAAMkD,SAAS,EAAC;IAA+B,GAAE9C,QAAe,CACjE;EACH;EAEA,OAAOqB,MAAM,CAACoH,SAAS,CAACC,cAAc,CAACC,IAAI,CAAC3I,QAAQ,EAAE,cAAc,CAAC,GACnE3C,KAAA,CAAAuC,aAAA,CAAAvC,KAAA,CAAAoJ,QAAA,QACG2B,OAAO,EAER/K,KAAA,CAAAuC,aAAA;IAAMkD,SAAS,EAAC;EAA+D,GAC5E9C,QAAQ,CAAC4I,YACN,CACN,CAAC,GAEHR,OACD;AACH;AACAhI,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAA2H,WAAW,CAAC1H,SAAS,GAAG;EACtBsF,IAAI,EAAEvI,SAAS,CAACqK,MAAM;EACtB3H,QAAQ,EAAE1C,SAAS,CAACiK,SAAS,CAAC,CAACjK,SAAS,CAACkK,IAAI,EAAElK,SAAS,CAACuK,MAAM,CAAC;AAClE,CAAC;AAED5I,UAAU,CAAC4J,cAAc,GAAGC,KAAA;EAAA,IAAC;MAAEhG;IAAoB,CAAC,GAAAgG,KAAA;IAAP1J,KAAK,GAAA6E,wBAAA,CAAA6E,KAAA,EAAAC,UAAA;EAAA,OAChD1L,KAAA,CAAAuC,aAAA,SAAAE,QAAA;IACEgD,SAAS,EAAEvF,UAAU,CACnB,yEAAyE,EACzEuF,SACD;EAAE,GACC1D,KAAK,CACV,CAAC;AAAA,CACH;AACDH,UAAU,CAAC4J,cAAc,CAACtI,SAAS,GAAG;EACpCuC,SAAS,EAAExF,SAAS,CAACqK;AACvB,CAAC;AACD1I,UAAU,CAAC4J,cAAc,CAAChH,YAAY,GAAG;EACvCiB,SAAS,EAAE;AACb,CAAC;AAED,MAAM8D,SAAS,SAASvJ,KAAK,CAAC6B,aAAa,CAAC;EAK1C8J,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAAC5J,KAAK,CAACqF,YAAY,CAAC,CAAC;EAC3B;EACAwE,oBAAoBA,CAAA,EAAG;IACrB,IAAI,CAAC7J,KAAK,CAACsF,eAAe,CAAC,CAAC;EAC9B;EACAnF,MAAMA,CAAA,EAAG;IACP,OAAO,IAAI;EACb;AACF;AAACa,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAdKsG,SAAS,CACNrG,SAAS,GAAG;EACjBkE,YAAY,EAAEnH,SAAS,CAACmK,IAAI,CAACC,UAAU;EACvChD,eAAe,EAAEpH,SAAS,CAACmK,IAAI,CAACC;AAClC,CAAC"}
1
+ {"version":3,"file":"DrawerList.js","names":["React","PropTypes","classnames","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","dispatchCustomElementEvent","keycode","getThemeClasses","createSpacingClasses","DrawerListContext","DrawerListProvider","DrawerListPortal","drawerListPropTypes","drawerListDefaultProps","propsToFilterOut","on_show","on_hide","handle_dismiss_focus","on_change","on_pre_change","on_resize","on_select","on_state_update","on_key_down","options_render","wrapper_element","DrawerList","PureComponent","constructor","props","_id","id","render","_this$context","hasProvider","context","drawerList","createElement","DrawerListInstance","_extends","data","children","_defineProperty","blurDelay","_objectSpread","process","env","NODE_ENV","propTypes","e","hasFocusOnElement","preventDefault","setHidden","event","selected_item","parseFloat","currentTarget","getAttribute","selectItemAndClose","fireSelectEvent","state","setState","Object","entries","reduce","acc","_ref","key","triangle_position","_this$context2","defaultProps","getTranslation","role","align_drawer","fixed_position","independent_width","scrollable","focusable","size","no_animation","no_scroll_animation","prevent_selection","action_menu","is_popup","portal_class","list_class","ignore_events","className","cache_hash","_cache_hash","_wrapper_element","_triangle_position","direction","_direction","max_height","_max_height","_data","prepared_data","_prepared_data","raw_data","_raw_data","opened","_opened","value","_value","attributes","_objectWithoutProperties","_excluded","hidden","active_item","showFocusRing","closestToTop","closestToBottom","usePortal","addObservers","removeObservers","_refShell","_refTriangle","_refUl","_refRoot","mainParams","listParams","ulParams","tabIndex","style","maxHeight","ref","assign","ignoreEvents","Items","map","dataItem","i","__id","hash","liParams","class_name","length","active","selected","onClick","selectItemHandler","onKeyDown","preventTab","Item","mainList","Fragment","Options","triangleRef","OnMounted","rootRef","include_owner_width","theme","memo","forwardRef","rest","_excluded2","prevProps","nextProps","displayName","oneOfType","node","func","isRequired","string","bool","object","on_click","_excluded3","params","ItemContent","number","_ref2","content","Array","isArray","item","n","prototype","hasOwnProperty","call","suffix_value","HorizontalItem","_ref3","_excluded4","componentDidMount","componentWillUnmount"],"sources":["../../../../src/fragments/drawer-list/DrawerList.js"],"sourcesContent":["/**\n * Web List Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport {\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n dispatchCustomElementEvent,\n keycode,\n} from '../../shared/component-helper'\nimport { getThemeClasses } from '../../shared/Theme'\nimport { createSpacingClasses } from '../../components/space/SpacingHelper'\n\nimport DrawerListContext from './DrawerListContext'\nimport DrawerListProvider from './DrawerListProvider'\nimport DrawerListPortal from './DrawerListPortal'\nimport {\n drawerListPropTypes,\n drawerListDefaultProps,\n} from './DrawerListHelpers'\n\nconst propsToFilterOut = {\n on_show: null,\n on_hide: null,\n handle_dismiss_focus: null,\n on_change: null,\n on_pre_change: null,\n on_resize: null,\n on_select: null,\n on_state_update: null,\n on_key_down: null,\n options_render: null,\n wrapper_element: null,\n}\n\nexport default class DrawerList extends React.PureComponent {\n static contextType = DrawerListContext // only used for the hasProvide check\n\n static blurDelay = DrawerListProvider.blurDelay // some ms more than \"DrawerListSlideDown 200ms\" = 201 // some ms more than \"DrawerListSlideDown 200ms\"\n\n static propTypes = {\n ...drawerListPropTypes,\n }\n\n static defaultProps = {\n ...drawerListDefaultProps,\n }\n\n constructor(props) {\n super(props)\n\n this._id = props.id || makeUniqueId()\n }\n\n render() {\n const hasProvider = this.context?.drawerList\n\n if (hasProvider) {\n return <DrawerListInstance {...this.props} />\n }\n\n return (\n <DrawerListProvider\n id={this._id}\n {...this.props}\n data={this.props.data || this.props.children}\n >\n <DrawerListInstance id={this._id} {...this.props} />\n </DrawerListProvider>\n )\n }\n}\n\nclass DrawerListInstance extends React.PureComponent {\n static propTypes = DrawerList.propTypes\n static defaultProps = DrawerList.defaultProps\n static contextType = DrawerListContext\n\n constructor(props, context) {\n super(props)\n\n this._id = props.id || makeUniqueId()\n this.state = this.state || {}\n\n // send along the event handlers to the provider state\n context.drawerList.setState(\n Object.entries(propsToFilterOut).reduce((acc, [key]) => {\n if (props[key]) {\n acc[key] = props[key]\n }\n return acc\n }, {})\n )\n\n context.drawerList.setState({\n triangle_position: props.triangle_position,\n })\n }\n\n preventTab = (e) => {\n switch (keycode(e)) {\n case 'tab':\n if (!this.context.drawerList.hasFocusOnElement) {\n e.preventDefault()\n this.context.drawerList.setHidden()\n }\n break\n\n case 'page down':\n case 'page up':\n e.preventDefault()\n break\n }\n }\n\n selectItemHandler = (event) => {\n // In case we want to stop if the users makes a number selection.\n // Should optional\n // if (getPreviousSibling('dnb-number-format', event.target)) {\n // return // stop\n // }\n const selected_item = parseFloat(\n event.currentTarget.getAttribute('data-item')\n )\n if (selected_item > -1) {\n this.context.drawerList.selectItemAndClose(selected_item, {\n fireSelectEvent: true,\n event,\n })\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n DrawerList.defaultProps,\n this.context.getTranslation(this.props).DrawerList\n )\n\n const {\n role,\n align_drawer,\n fixed_position,\n independent_width,\n scrollable,\n focusable,\n size,\n no_animation,\n no_scroll_animation,\n prevent_selection,\n action_menu,\n is_popup,\n portal_class,\n list_class,\n ignore_events,\n options_render,\n className,\n cache_hash: _cache_hash, // eslint-disable-line\n wrapper_element: _wrapper_element, // eslint-disable-line\n triangle_position: _triangle_position, // eslint-disable-line\n direction: _direction, // eslint-disable-line\n max_height: _max_height, // eslint-disable-line\n id: _id, // eslint-disable-line\n data: _data, // eslint-disable-line\n prepared_data: _prepared_data, // eslint-disable-line\n raw_data: _raw_data, // eslint-disable-line\n opened: _opened, // eslint-disable-line\n value: _value, // eslint-disable-line\n children,\n\n ...attributes\n } = props\n\n const id = this._id\n\n const {\n data,\n opened,\n hidden,\n triangle_position,\n direction,\n max_height,\n cache_hash,\n selected_item,\n active_item,\n showFocusRing,\n closestToTop,\n closestToBottom,\n usePortal,\n addObservers,\n removeObservers,\n _refShell,\n _refTriangle,\n _refUl,\n _refRoot,\n } = this.context.drawerList\n\n const mainParams = {\n id: `${id}-drawer-list`,\n className: classnames(\n 'dnb-drawer-list',\n opened && 'dnb-drawer-list--opened',\n hidden && 'dnb-drawer-list--hidden',\n `dnb-drawer-list--${direction}`,\n triangle_position &&\n `dnb-drawer-list--triangle-position-${triangle_position}`,\n align_drawer && `dnb-drawer-list--${align_drawer}`,\n size && `dnb-drawer-list--${size}`,\n isTrue(action_menu) && `dnb-drawer-list--action-menu`,\n isTrue(is_popup) && 'dnb-drawer-list--is-popup',\n (isTrue(independent_width) || isTrue(action_menu)) &&\n 'dnb-drawer-list--independent-width',\n isTrue(scrollable) && 'dnb-drawer-list--scroll',\n isTrue(no_scroll_animation) &&\n 'dnb-drawer-list--no-scroll-animation',\n createSpacingClasses(props),\n className\n ),\n ...attributes,\n }\n\n const listParams = {\n id: `${id}-listbox`,\n /**\n * We may consider to use the hidden attribute in future\n * Or we may add an prop to put the HTML in the DOM, if needed\n */\n // hidden: hidden !== false,\n className: classnames(\n 'dnb-drawer-list__list',\n isTrue(no_animation) && 'dnb-drawer-list__list--no-animation',\n list_class\n ),\n }\n\n const ulParams = {\n role,\n id: `${id}-ul`,\n 'aria-expanded': opened,\n 'aria-labelledby': `${id}-label`,\n tabIndex: '-1',\n style: {\n maxHeight: max_height > 0 ? `${max_height}rem` : null,\n },\n ref: _refUl,\n }\n\n if (\n !hidden &&\n (parseFloat(active_item) > -1 ||\n (!(parseFloat(active_item) > -1) &&\n !(parseFloat(selected_item) > -1)))\n ) {\n ulParams['aria-activedescendant'] = `option-${id}-${\n parseFloat(active_item) > -1 ? active_item : 0\n }`\n } else if (\n !isTrue(prevent_selection) &&\n !hidden &&\n parseFloat(selected_item) > -1\n ) {\n ulParams['aria-activedescendant'] = `option-${id}-${selected_item}`\n }\n\n if (isTrue(focusable)) {\n ulParams.tabIndex = '0'\n }\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, mainParams)\n validateDOMAttributes(null, listParams)\n validateDOMAttributes(null, ulParams)\n\n // make it possible to grab the rest attributes and return it with all events\n Object.assign(\n this.context.drawerList.attributes,\n validateDOMAttributes(null, attributes)\n )\n\n const ignoreEvents = isTrue(ignore_events)\n\n const Items = () =>\n data.map((dataItem, i) => {\n const _id = dataItem.__id\n const hash = `option-${id}-${_id}-${i}`\n const liParams = {\n role: role === 'menu' ? 'menuitem' : 'option',\n 'data-item': _id,\n id: `option-${id}-${_id}`,\n hash,\n className: classnames(\n // helper classes\n i === closestToTop && 'closest-to-top',\n i === closestToBottom && 'closest-to-bottom',\n i === 0 && 'first-of-type', // because of the triangle element\n i === data.length - 1 && 'last-of-type', // because of the triangle element\n ignoreEvents || (dataItem.ignore_events && 'ignore-events'),\n dataItem.class_name\n ),\n active: _id == active_item,\n selected: !dataItem.ignore_events && _id == selected_item,\n onClick: this.selectItemHandler,\n onKeyDown: this.preventTab,\n }\n\n if (ignoreEvents) {\n liParams.active = null\n liParams.selected = null\n liParams.onClick = null\n liParams.onKeyDown = null\n liParams.className = classnames(\n liParams.className,\n 'dnb-drawer-list__option--ignore'\n )\n }\n\n return (\n <DrawerList.Item key={hash} {...liParams}>\n {dataItem}\n </DrawerList.Item>\n )\n })\n\n const mainList = (\n <span {...mainParams} ref={_refShell}>\n <span {...listParams}>\n {hidden === false && data && data.length > 0 ? (\n <>\n <DrawerList.Options\n cache_hash={\n cache_hash +\n active_item +\n selected_item +\n closestToTop +\n closestToBottom +\n direction +\n max_height\n }\n {...ulParams}\n showFocusRing={showFocusRing}\n triangleRef={_refTriangle}\n >\n {typeof options_render === 'function' ? (\n options_render({ data, Items, Item: DrawerList.Item })\n ) : (\n <Items />\n )}\n </DrawerList.Options>\n <OnMounted\n addObservers={addObservers}\n removeObservers={removeObservers}\n />\n </>\n ) : (\n children && (\n <span className=\"dnb-drawer-list__content\">\n {children}\n <span\n className=\"dnb-drawer-list__triangle\"\n ref={_refTriangle}\n />\n </span>\n )\n )}\n </span>\n </span>\n )\n\n return (\n <span\n className={classnames(\n 'dnb-drawer-list__root',\n usePortal && 'dnb-drawer-list__root--portal'\n )}\n ref={_refRoot}\n >\n {usePortal ? (\n <DrawerListPortal\n id={this._id}\n rootRef={_refRoot}\n opened={hidden === false}\n include_owner_width={align_drawer === 'right'}\n independent_width={isTrue(independent_width)}\n fixed_position={isTrue(fixed_position)}\n className={getThemeClasses(this.context?.theme, portal_class)}\n >\n {mainList}\n </DrawerListPortal>\n ) : (\n mainList\n )}\n </span>\n )\n }\n}\n\n// DrawerList List\nDrawerList.Options = React.memo(\n React.forwardRef((props, ref) => {\n const {\n children,\n className,\n triangleRef = null,\n cache_hash, // eslint-disable-line\n showFocusRing,\n ...rest\n } = props\n\n return (\n <ul\n className={classnames(\n 'dnb-drawer-list__options',\n showFocusRing && 'dnb-drawer-list__options--focusring',\n className\n )}\n {...rest}\n ref={ref}\n >\n {children}\n <li\n className=\"dnb-drawer-list__triangle\"\n aria-hidden\n ref={triangleRef}\n />\n </ul>\n )\n }),\n (prevProps, nextProps) => {\n if (!prevProps.cache_hash) {\n return null\n }\n return prevProps.cache_hash === nextProps.cache_hash\n }\n)\nDrawerList.Options.displayName = 'DrawerList.Options'\nDrawerList.Options.propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func])\n .isRequired,\n cache_hash: PropTypes.string,\n showFocusRing: PropTypes.bool,\n className: PropTypes.string,\n triangleRef: PropTypes.object,\n}\nDrawerList.Options.defaultProps = {\n cache_hash: null,\n showFocusRing: false,\n className: null,\n triangleRef: null,\n}\n\n// DrawerList Item\nDrawerList.Item = React.forwardRef((props, ref) => {\n const {\n role, // eslint-disable-line\n hash, // eslint-disable-line\n children, // eslint-disable-line\n className, // eslint-disable-line\n on_click, // eslint-disable-line\n selected, // eslint-disable-line\n active, // eslint-disable-line\n value, // eslint-disable-line\n ...rest\n } = props\n\n const params = {\n className: classnames(\n className,\n 'dnb-drawer-list__option',\n selected && 'dnb-drawer-list__option--selected',\n active && 'dnb-drawer-list__option--focus'\n ),\n role,\n tabIndex: selected ? '0' : '-1',\n 'aria-selected': active,\n }\n if (selected) {\n params['aria-current'] = true // has best support on NVDA\n }\n\n if (on_click) {\n params.onClick = () =>\n dispatchCustomElementEvent(\n {\n props: { ...props, displayName: DrawerList.Item.displayName },\n },\n 'on_click',\n {\n selected,\n value,\n ...rest,\n }\n )\n }\n\n return (\n <li {...params} {...rest} ref={ref} key={'li' + hash}>\n <span className=\"dnb-drawer-list__option__inner\">\n <ItemContent hash={hash}>{children}</ItemContent>\n </span>\n </li>\n )\n})\nDrawerList.Item.displayName = 'DrawerList.Item'\nDrawerList.Item.propTypes = {\n role: PropTypes.string,\n hash: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.func,\n PropTypes.object,\n ]).isRequired,\n className: PropTypes.string,\n on_click: PropTypes.func,\n selected: PropTypes.bool,\n active: PropTypes.bool,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n}\nDrawerList.Item.defaultProps = {\n role: 'option',\n hash: '',\n className: null,\n on_click: null,\n selected: null,\n active: null,\n value: null,\n}\n\nexport function ItemContent({ hash = '', children }) {\n let content = null\n\n if (Array.isArray(children.content || children)) {\n content = (children.content || children).map((item, n) => (\n <span\n key={hash + n}\n className={`dnb-drawer-list__option__item item-nr-${n + 1}`} // \"item-nr\" is used by CSS\n >\n {children.render ? children.render(item, hash + n) : item}\n </span>\n ))\n } else if (Object.prototype.hasOwnProperty.call(children, 'content')) {\n content = children.render\n ? children.render(children.content, hash, children)\n : children.content\n if (content) {\n content = (\n <span className=\"dnb-drawer-list__option__item\">{content}</span>\n )\n }\n } else {\n content = children && (\n <span className=\"dnb-drawer-list__option__item\">{children}</span>\n )\n }\n\n return Object.prototype.hasOwnProperty.call(children, 'suffix_value') ? (\n <>\n {content}\n\n <span className=\"dnb-drawer-list__option__item dnb-drawer-list__option__suffix\">\n {children.suffix_value}\n </span>\n </>\n ) : (\n content\n )\n}\nItemContent.propTypes = {\n hash: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.object]),\n}\n\nDrawerList.HorizontalItem = ({ className, ...props }) => (\n <span\n className={classnames([\n 'dnb-drawer-list__option__item dnb-drawer-list__option__item--horizontal',\n className,\n ])}\n {...props}\n />\n)\nDrawerList.HorizontalItem.propTypes = {\n className: PropTypes.string,\n}\nDrawerList.HorizontalItem.defaultProps = {\n className: null,\n}\n\nclass OnMounted extends React.PureComponent {\n static propTypes = {\n addObservers: PropTypes.func.isRequired,\n removeObservers: PropTypes.func.isRequired,\n }\n componentDidMount() {\n this.props.addObservers()\n }\n componentWillUnmount() {\n this.props.removeObservers()\n }\n render() {\n return null\n }\n}\n"],"mappings":"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"}
@@ -5,9 +5,8 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
5
5
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
6
  import React from 'react';
7
7
  import PropTypes from 'prop-types';
8
- import keycode from 'keycode';
9
8
  import Context from '../../shared/Context';
10
- import { warn, isTrue, roundToNearest, getClosestScrollViewElement, detectOutsideClick, dispatchCustomElementEvent, getPreviousSibling } from '../../shared/component-helper';
9
+ import { warn, isTrue, roundToNearest, getClosestScrollViewElement, detectOutsideClick, dispatchCustomElementEvent, getPreviousSibling, keycode } from '../../shared/component-helper';
11
10
  import { getOffsetTop, getOffsetLeft, hasSelectedText, getSelectedElement } from '../../shared/helpers';
12
11
  import { getData, normalizeData, findClosest, getSelectedItemValue, parseContentTitle, getEventData, prepareStartupState, prepareDerivedState, drawerListPropTypes, drawerListDefaultProps, drawerListProviderPropTypes, drawerListProviderDefaultProps } from './DrawerListHelpers';
13
12
  import DrawerListContext from './DrawerListContext';