@dnb/eufemia 10.53.0 → 10.54.1

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 (816) hide show
  1. package/CHANGELOG.md +42 -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 +9 -6
  89. package/cjs/components/upload/UploadInfo.js.map +1 -1
  90. package/cjs/components/upload/style/dnb-upload.css +1 -1
  91. package/cjs/components/upload/style/dnb-upload.min.css +1 -1
  92. package/cjs/components/upload/style/dnb-upload.scss +1 -1
  93. package/cjs/extensions/forms/DataContext/Context.d.ts +12 -9
  94. package/cjs/extensions/forms/DataContext/Context.js +2 -4
  95. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  96. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  97. package/cjs/extensions/forms/DataContext/Provider/Provider.js +34 -20
  98. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  99. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  100. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  101. package/cjs/extensions/forms/DataContext/index.d.ts +3 -0
  102. package/cjs/extensions/forms/DataContext/index.js +5 -0
  103. package/cjs/extensions/forms/DataContext/index.js.map +1 -1
  104. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +6 -2
  105. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +30 -11
  106. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  107. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +6 -7
  108. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  109. package/cjs/extensions/forms/Field/Date/Date.js +21 -5
  110. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  111. package/cjs/extensions/forms/Field/Email/Email.js +13 -8
  112. package/cjs/extensions/forms/Field/Email/Email.js.map +1 -1
  113. package/cjs/extensions/forms/Field/Expiry/Expiry.js +42 -34
  114. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  115. package/cjs/extensions/forms/Field/Name/Name.js +20 -13
  116. package/cjs/extensions/forms/Field/Name/Name.js.map +1 -1
  117. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -1
  118. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +8 -17
  119. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  120. package/cjs/extensions/forms/Field/Number/Number.d.ts +4 -11
  121. package/cjs/extensions/forms/Field/Number/Number.js +14 -16
  122. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  123. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +4 -7
  124. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  125. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -0
  126. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +43 -30
  127. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  128. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +4 -4
  129. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  130. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +6 -6
  131. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +18 -11
  132. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  133. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +2 -1
  134. package/cjs/extensions/forms/Field/Selection/Selection.js +39 -18
  135. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  136. package/cjs/extensions/forms/Field/Slider/Slider.js +34 -12
  137. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  138. package/cjs/extensions/forms/Field/String/String.d.ts +2 -9
  139. package/cjs/extensions/forms/Field/String/String.js +9 -12
  140. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  141. package/cjs/extensions/forms/Field/Toggle/Toggle.js +8 -1
  142. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  143. package/cjs/extensions/forms/Field/Upload/Upload.js +6 -8
  144. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  145. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  146. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +16 -11
  147. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  148. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
  149. package/cjs/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  150. package/cjs/extensions/forms/Form/Handler/Handler.js +1 -2
  151. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  152. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  153. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +2 -0
  154. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js +9 -5
  155. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  156. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +12 -1
  157. package/cjs/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
  158. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +5 -1
  159. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +9 -3
  160. package/cjs/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  161. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +1 -0
  162. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +7 -5
  163. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -1
  164. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +7 -1
  165. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
  166. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +4 -1
  167. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +6 -2
  168. package/cjs/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -1
  169. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  170. package/cjs/extensions/forms/Iterate/Array/Array.js +2 -2
  171. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  172. package/cjs/extensions/forms/Tools/Log.js +2 -2
  173. package/cjs/extensions/forms/Tools/Log.js.map +1 -1
  174. package/cjs/extensions/forms/Value/Date/Date.d.ts +5 -0
  175. package/cjs/extensions/forms/Value/Date/Date.js +27 -13
  176. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  177. package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +3 -3
  178. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -6
  179. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  180. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -11
  181. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +8 -8
  182. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  183. package/cjs/extensions/forms/constants/countries.js +20 -20
  184. package/cjs/extensions/forms/constants/countries.js.map +1 -1
  185. package/cjs/extensions/forms/hooks/index.d.ts +2 -1
  186. package/cjs/extensions/forms/hooks/index.js +1 -1
  187. package/cjs/extensions/forms/hooks/index.js.map +1 -1
  188. package/cjs/extensions/forms/hooks/useErrorMessage.d.ts +3 -10
  189. package/cjs/extensions/forms/hooks/useErrorMessage.js.map +1 -1
  190. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +4 -3
  191. package/cjs/extensions/forms/hooks/useFieldProps.js +136 -71
  192. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  193. package/cjs/extensions/forms/hooks/usePath.d.ts +3 -0
  194. package/cjs/extensions/forms/hooks/usePath.js +2 -1
  195. package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
  196. package/cjs/extensions/forms/hooks/useProcessManager.js +1 -1
  197. package/cjs/extensions/forms/hooks/useProcessManager.js.map +1 -1
  198. package/cjs/extensions/forms/hooks/useTranslation.d.ts +2 -2
  199. package/cjs/extensions/forms/hooks/useTranslation.js.map +1 -1
  200. package/cjs/extensions/forms/style/dnb-forms.css +1 -6
  201. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  202. package/cjs/extensions/forms/types.d.ts +59 -36
  203. package/cjs/extensions/forms/types.js +0 -17
  204. package/cjs/extensions/forms/types.js.map +1 -1
  205. package/cjs/extensions/forms/utils/FormError.d.ts +45 -0
  206. package/cjs/extensions/forms/utils/FormError.js +25 -0
  207. package/cjs/extensions/forms/utils/FormError.js.map +1 -0
  208. package/cjs/extensions/forms/utils/ajv.d.ts +17 -1
  209. package/cjs/extensions/forms/utils/ajv.js +82 -7
  210. package/cjs/extensions/forms/utils/ajv.js.map +1 -1
  211. package/cjs/extensions/forms/utils/errors.d.ts +1 -1
  212. package/cjs/extensions/forms/utils/errors.js.map +1 -1
  213. package/cjs/extensions/forms/utils/index.d.ts +2 -0
  214. package/cjs/extensions/forms/utils/index.js +24 -0
  215. package/cjs/extensions/forms/utils/index.js.map +1 -1
  216. package/cjs/fragments/drawer-list/DrawerList.js +1 -2
  217. package/cjs/fragments/drawer-list/DrawerList.js.map +1 -1
  218. package/cjs/fragments/drawer-list/DrawerListProvider.js +2 -3
  219. package/cjs/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  220. package/cjs/index.d.ts +2 -1
  221. package/cjs/index.js +7 -0
  222. package/cjs/index.js.map +1 -1
  223. package/cjs/shared/Eufemia.d.ts +1 -1
  224. package/cjs/shared/Eufemia.js +2 -2
  225. package/cjs/shared/Eufemia.js.map +1 -1
  226. package/cjs/shared/component-helper.d.ts +2 -1
  227. package/cjs/shared/component-helper.js +9 -2
  228. package/cjs/shared/component-helper.js.map +1 -1
  229. package/cjs/shared/keycode.d.ts +75 -0
  230. package/cjs/shared/keycode.js +138 -0
  231. package/cjs/shared/keycode.js.map +1 -0
  232. package/cjs/shared/libs/Shortcuts.js +1 -3
  233. package/cjs/shared/libs/Shortcuts.js.map +1 -1
  234. package/cjs/shared/locales/nb-NO.js +2 -2
  235. package/cjs/shared/locales/nb-NO.js.map +1 -1
  236. package/cjs/shared/useTranslation.d.ts +2 -2
  237. package/cjs/shared/useTranslation.js.map +1 -1
  238. package/cjs/style/core/scopes.scss +1 -1
  239. package/cjs/style/dnb-ui-basis.css +1 -1
  240. package/cjs/style/dnb-ui-basis.min.css +1 -1
  241. package/cjs/style/dnb-ui-body.css +1 -1
  242. package/cjs/style/dnb-ui-body.min.css +1 -1
  243. package/cjs/style/dnb-ui-components.css +1308 -187
  244. package/cjs/style/dnb-ui-components.min.css +3 -3
  245. package/cjs/style/dnb-ui-components.scss +2 -0
  246. package/cjs/style/dnb-ui-core.css +1 -1
  247. package/cjs/style/dnb-ui-core.min.css +1 -1
  248. package/cjs/style/dnb-ui-extensions.css +1 -6
  249. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  250. package/cjs/style/dnb-ui-forms.css +1 -6
  251. package/cjs/style/dnb-ui-forms.min.css +1 -1
  252. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +1297 -181
  253. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  254. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -6
  255. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  256. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -6
  257. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  258. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +1297 -181
  259. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  260. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -6
  261. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  262. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -6
  263. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  264. package/cjs/style/themes/theme-ui/ui-theme-components.css +1297 -181
  265. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  266. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +1 -6
  267. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  268. package/cjs/style/themes/theme-ui/ui-theme-forms.css +1 -6
  269. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  270. package/components/CountryFlag.d.ts +12 -0
  271. package/components/CountryFlag.js +4 -0
  272. package/components/CountryFlag.js.map +1 -0
  273. package/components/autocomplete/Autocomplete.js +1 -2
  274. package/components/autocomplete/Autocomplete.js.map +1 -1
  275. package/components/button/style/themes/dnb-button-theme-eiendom.scss +1 -1
  276. package/components/checkbox/Checkbox.js +1 -2
  277. package/components/checkbox/Checkbox.js.map +1 -1
  278. package/components/country-flag/CountryFlag.d.ts +11 -0
  279. package/components/country-flag/CountryFlag.js +38 -0
  280. package/components/country-flag/CountryFlag.js.map +1 -0
  281. package/components/country-flag/CountryFlagDocs.d.ts +2 -0
  282. package/components/country-flag/CountryFlagDocs.js +18 -0
  283. package/components/country-flag/CountryFlagDocs.js.map +1 -0
  284. package/components/country-flag/index.d.ts +7 -0
  285. package/components/country-flag/index.js +4 -0
  286. package/components/country-flag/index.js.map +1 -0
  287. package/components/country-flag/style/dnb-country-flag-icons.css +1087 -0
  288. package/components/country-flag/style/dnb-country-flag-icons.min.css +1 -0
  289. package/components/country-flag/style/dnb-country-flag-icons.scss +1088 -0
  290. package/components/country-flag/style/dnb-country-flag.css +42 -0
  291. package/components/country-flag/style/dnb-country-flag.min.css +1 -0
  292. package/components/country-flag/style/dnb-country-flag.scss +53 -0
  293. package/components/country-flag/style/index.d.ts +5 -0
  294. package/components/country-flag/style/index.js +1 -0
  295. package/components/country-flag/style/index.js.map +1 -0
  296. package/components/country-flag/style.d.ts +5 -0
  297. package/components/country-flag/style.js +1 -0
  298. package/components/country-flag/style.js.map +1 -0
  299. package/components/date-picker/DatePickerCalendar.js +1 -1
  300. package/components/date-picker/DatePickerCalendar.js.map +1 -1
  301. package/components/date-picker/DatePickerInput.js +1 -2
  302. package/components/date-picker/DatePickerInput.js.map +1 -1
  303. package/components/dialog/Dialog.js +3 -1
  304. package/components/dialog/Dialog.js.map +1 -1
  305. package/components/dialog/DialogDocs.d.ts +2 -0
  306. package/components/dialog/DialogDocs.js +113 -0
  307. package/components/dialog/DialogDocs.js.map +1 -0
  308. package/components/dropdown/Dropdown.js +1 -2
  309. package/components/dropdown/Dropdown.js.map +1 -1
  310. package/components/global-status/GlobalStatus.js +1 -2
  311. package/components/global-status/GlobalStatus.js.map +1 -1
  312. package/components/index.d.ts +2 -1
  313. package/components/index.js +2 -1
  314. package/components/index.js.map +1 -1
  315. package/components/input-masked/InputMaskedHooks.js +1 -2
  316. package/components/input-masked/InputMaskedHooks.js.map +1 -1
  317. package/components/input-masked/InputMaskedUtils.js +9 -5
  318. package/components/input-masked/InputMaskedUtils.js.map +1 -1
  319. package/components/lib.d.ts +10 -1
  320. package/components/lib.js +3 -1
  321. package/components/lib.js.map +1 -1
  322. package/components/modal/Modal.d.ts +1 -0
  323. package/components/modal/Modal.js +4 -1
  324. package/components/modal/Modal.js.map +1 -1
  325. package/components/modal/ModalContent.js +4 -4
  326. package/components/modal/ModalContent.js.map +1 -1
  327. package/components/modal/style/dnb-modal.css +4 -0
  328. package/components/modal/style/dnb-modal.min.css +1 -1
  329. package/components/modal/style/dnb-modal.scss +5 -0
  330. package/components/modal/types.d.ts +4 -0
  331. package/components/modal/types.js.map +1 -1
  332. package/components/number-format/NumberUtils.d.ts +2 -2
  333. package/components/number-format/NumberUtils.js +1 -1
  334. package/components/number-format/NumberUtils.js.map +1 -1
  335. package/components/pagination/Pagination.d.ts +3 -3
  336. package/components/pagination/PaginationBar.d.ts +1 -1
  337. package/components/pagination/PaginationBar.js.map +1 -1
  338. package/components/radio/Radio.js +1 -2
  339. package/components/radio/Radio.js.map +1 -1
  340. package/components/table/TableClickableHead.js +1 -1
  341. package/components/table/TableClickableHead.js.map +1 -1
  342. package/components/table/style/dnb-table.css +0 -9
  343. package/components/table/style/dnb-table.min.css +1 -1
  344. package/components/table/style/dnb-table.scss +3 -1
  345. package/components/table/style/table-accordion.scss +0 -10
  346. package/components/table/style/table-container.scss +3 -2
  347. package/components/table/style/table-td.scss +2 -1
  348. package/components/tabs/Tabs.js +1 -2
  349. package/components/tabs/Tabs.js.map +1 -1
  350. package/components/toggle-button/ToggleButton.js +1 -2
  351. package/components/toggle-button/ToggleButton.js.map +1 -1
  352. package/components/upload/UploadDocs.js +2 -2
  353. package/components/upload/UploadDocs.js.map +1 -1
  354. package/components/upload/UploadFileListCell.js +2 -8
  355. package/components/upload/UploadFileListCell.js.map +1 -1
  356. package/components/upload/UploadInfo.js +9 -6
  357. package/components/upload/UploadInfo.js.map +1 -1
  358. package/components/upload/style/dnb-upload.css +1 -1
  359. package/components/upload/style/dnb-upload.min.css +1 -1
  360. package/components/upload/style/dnb-upload.scss +1 -1
  361. package/es/components/CountryFlag.d.ts +12 -0
  362. package/es/components/CountryFlag.js +4 -0
  363. package/es/components/CountryFlag.js.map +1 -0
  364. package/es/components/autocomplete/Autocomplete.js +1 -2
  365. package/es/components/autocomplete/Autocomplete.js.map +1 -1
  366. package/es/components/button/style/themes/dnb-button-theme-eiendom.scss +1 -1
  367. package/es/components/checkbox/Checkbox.js +1 -2
  368. package/es/components/checkbox/Checkbox.js.map +1 -1
  369. package/es/components/country-flag/CountryFlag.d.ts +11 -0
  370. package/es/components/country-flag/CountryFlag.js +38 -0
  371. package/es/components/country-flag/CountryFlag.js.map +1 -0
  372. package/es/components/country-flag/CountryFlagDocs.d.ts +2 -0
  373. package/es/components/country-flag/CountryFlagDocs.js +18 -0
  374. package/es/components/country-flag/CountryFlagDocs.js.map +1 -0
  375. package/es/components/country-flag/index.d.ts +7 -0
  376. package/es/components/country-flag/index.js +4 -0
  377. package/es/components/country-flag/index.js.map +1 -0
  378. package/es/components/country-flag/style/dnb-country-flag-icons.css +1087 -0
  379. package/es/components/country-flag/style/dnb-country-flag-icons.min.css +1 -0
  380. package/es/components/country-flag/style/dnb-country-flag-icons.scss +1088 -0
  381. package/es/components/country-flag/style/dnb-country-flag.css +42 -0
  382. package/es/components/country-flag/style/dnb-country-flag.min.css +1 -0
  383. package/es/components/country-flag/style/dnb-country-flag.scss +53 -0
  384. package/es/components/country-flag/style/index.d.ts +5 -0
  385. package/es/components/country-flag/style/index.js +1 -0
  386. package/es/components/country-flag/style/index.js.map +1 -0
  387. package/es/components/country-flag/style.d.ts +5 -0
  388. package/es/components/country-flag/style.js +1 -0
  389. package/es/components/country-flag/style.js.map +1 -0
  390. package/es/components/date-picker/DatePickerCalendar.js +1 -1
  391. package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
  392. package/es/components/date-picker/DatePickerInput.js +1 -2
  393. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  394. package/es/components/dialog/Dialog.js +3 -1
  395. package/es/components/dialog/Dialog.js.map +1 -1
  396. package/es/components/dialog/DialogDocs.d.ts +2 -0
  397. package/es/components/dialog/DialogDocs.js +113 -0
  398. package/es/components/dialog/DialogDocs.js.map +1 -0
  399. package/es/components/dropdown/Dropdown.js +1 -2
  400. package/es/components/dropdown/Dropdown.js.map +1 -1
  401. package/es/components/global-status/GlobalStatus.js +1 -2
  402. package/es/components/global-status/GlobalStatus.js.map +1 -1
  403. package/es/components/index.d.ts +2 -1
  404. package/es/components/index.js +2 -1
  405. package/es/components/index.js.map +1 -1
  406. package/es/components/input-masked/InputMaskedHooks.js +1 -2
  407. package/es/components/input-masked/InputMaskedHooks.js.map +1 -1
  408. package/es/components/input-masked/InputMaskedUtils.js +9 -5
  409. package/es/components/input-masked/InputMaskedUtils.js.map +1 -1
  410. package/es/components/lib.d.ts +10 -1
  411. package/es/components/lib.js +3 -1
  412. package/es/components/lib.js.map +1 -1
  413. package/es/components/modal/Modal.d.ts +1 -0
  414. package/es/components/modal/Modal.js +4 -1
  415. package/es/components/modal/Modal.js.map +1 -1
  416. package/es/components/modal/ModalContent.js +4 -4
  417. package/es/components/modal/ModalContent.js.map +1 -1
  418. package/es/components/modal/style/dnb-modal.css +4 -0
  419. package/es/components/modal/style/dnb-modal.min.css +1 -1
  420. package/es/components/modal/style/dnb-modal.scss +5 -0
  421. package/es/components/modal/types.d.ts +4 -0
  422. package/es/components/modal/types.js.map +1 -1
  423. package/es/components/number-format/NumberUtils.d.ts +2 -2
  424. package/es/components/number-format/NumberUtils.js +1 -1
  425. package/es/components/number-format/NumberUtils.js.map +1 -1
  426. package/es/components/pagination/Pagination.d.ts +3 -3
  427. package/es/components/pagination/PaginationBar.d.ts +1 -1
  428. package/es/components/pagination/PaginationBar.js.map +1 -1
  429. package/es/components/radio/Radio.js +1 -2
  430. package/es/components/radio/Radio.js.map +1 -1
  431. package/es/components/table/TableClickableHead.js +1 -1
  432. package/es/components/table/TableClickableHead.js.map +1 -1
  433. package/es/components/table/style/dnb-table.css +0 -9
  434. package/es/components/table/style/dnb-table.min.css +1 -1
  435. package/es/components/table/style/dnb-table.scss +3 -1
  436. package/es/components/table/style/table-accordion.scss +0 -10
  437. package/es/components/table/style/table-container.scss +3 -2
  438. package/es/components/table/style/table-td.scss +2 -1
  439. package/es/components/tabs/Tabs.js +1 -2
  440. package/es/components/tabs/Tabs.js.map +1 -1
  441. package/es/components/toggle-button/ToggleButton.js +1 -2
  442. package/es/components/toggle-button/ToggleButton.js.map +1 -1
  443. package/es/components/upload/UploadDocs.js +2 -2
  444. package/es/components/upload/UploadDocs.js.map +1 -1
  445. package/es/components/upload/UploadFileListCell.js +2 -8
  446. package/es/components/upload/UploadFileListCell.js.map +1 -1
  447. package/es/components/upload/UploadInfo.js +9 -6
  448. package/es/components/upload/UploadInfo.js.map +1 -1
  449. package/es/components/upload/style/dnb-upload.css +1 -1
  450. package/es/components/upload/style/dnb-upload.min.css +1 -1
  451. package/es/components/upload/style/dnb-upload.scss +1 -1
  452. package/es/extensions/forms/DataContext/Context.d.ts +12 -9
  453. package/es/extensions/forms/DataContext/Context.js +1 -3
  454. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  455. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  456. package/es/extensions/forms/DataContext/Provider/Provider.js +32 -18
  457. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  458. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  459. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  460. package/es/extensions/forms/DataContext/index.d.ts +3 -0
  461. package/es/extensions/forms/DataContext/index.js +5 -0
  462. package/es/extensions/forms/DataContext/index.js.map +1 -1
  463. package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +6 -2
  464. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +24 -9
  465. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  466. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +6 -7
  467. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  468. package/es/extensions/forms/Field/Date/Date.js +23 -6
  469. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  470. package/es/extensions/forms/Field/Email/Email.js +11 -8
  471. package/es/extensions/forms/Field/Email/Email.js.map +1 -1
  472. package/es/extensions/forms/Field/Expiry/Expiry.js +42 -34
  473. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  474. package/es/extensions/forms/Field/Name/Name.js +18 -13
  475. package/es/extensions/forms/Field/Name/Name.js.map +1 -1
  476. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -1
  477. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -15
  478. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  479. package/es/extensions/forms/Field/Number/Number.d.ts +4 -11
  480. package/es/extensions/forms/Field/Number/Number.js +15 -17
  481. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  482. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +4 -7
  483. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  484. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -0
  485. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +44 -31
  486. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  487. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +4 -4
  488. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  489. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +6 -6
  490. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +18 -11
  491. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  492. package/es/extensions/forms/Field/Selection/Selection.d.ts +2 -1
  493. package/es/extensions/forms/Field/Selection/Selection.js +37 -15
  494. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  495. package/es/extensions/forms/Field/Slider/Slider.js +35 -13
  496. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  497. package/es/extensions/forms/Field/String/String.d.ts +2 -9
  498. package/es/extensions/forms/Field/String/String.js +10 -13
  499. package/es/extensions/forms/Field/String/String.js.map +1 -1
  500. package/es/extensions/forms/Field/Toggle/Toggle.js +9 -2
  501. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  502. package/es/extensions/forms/Field/Upload/Upload.js +7 -9
  503. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  504. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  505. package/es/extensions/forms/FieldBlock/FieldBlock.js +15 -10
  506. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  507. package/es/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
  508. package/es/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  509. package/es/extensions/forms/Form/Handler/Handler.js +1 -2
  510. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  511. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  512. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +2 -0
  513. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js +8 -4
  514. package/es/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  515. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +12 -1
  516. package/es/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
  517. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +5 -1
  518. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +9 -3
  519. package/es/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  520. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +1 -0
  521. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +6 -4
  522. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -1
  523. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +7 -1
  524. package/es/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
  525. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +4 -1
  526. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +6 -2
  527. package/es/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -1
  528. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  529. package/es/extensions/forms/Iterate/Array/Array.js +3 -3
  530. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  531. package/es/extensions/forms/Tools/Log.js +2 -2
  532. package/es/extensions/forms/Tools/Log.js.map +1 -1
  533. package/es/extensions/forms/Value/Date/Date.d.ts +5 -0
  534. package/es/extensions/forms/Value/Date/Date.js +25 -14
  535. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  536. package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +3 -3
  537. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -6
  538. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  539. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -11
  540. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +8 -8
  541. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  542. package/es/extensions/forms/constants/countries.js +20 -20
  543. package/es/extensions/forms/constants/countries.js.map +1 -1
  544. package/es/extensions/forms/hooks/index.d.ts +2 -1
  545. package/es/extensions/forms/hooks/index.js +1 -1
  546. package/es/extensions/forms/hooks/index.js.map +1 -1
  547. package/es/extensions/forms/hooks/useErrorMessage.d.ts +3 -10
  548. package/es/extensions/forms/hooks/useErrorMessage.js.map +1 -1
  549. package/es/extensions/forms/hooks/useFieldProps.d.ts +4 -3
  550. package/es/extensions/forms/hooks/useFieldProps.js +134 -69
  551. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  552. package/es/extensions/forms/hooks/usePath.d.ts +3 -0
  553. package/es/extensions/forms/hooks/usePath.js +2 -1
  554. package/es/extensions/forms/hooks/usePath.js.map +1 -1
  555. package/es/extensions/forms/hooks/useProcessManager.js +1 -1
  556. package/es/extensions/forms/hooks/useProcessManager.js.map +1 -1
  557. package/es/extensions/forms/hooks/useTranslation.d.ts +2 -2
  558. package/es/extensions/forms/hooks/useTranslation.js.map +1 -1
  559. package/es/extensions/forms/style/dnb-forms.css +1 -6
  560. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  561. package/es/extensions/forms/types.d.ts +59 -36
  562. package/es/extensions/forms/types.js +0 -13
  563. package/es/extensions/forms/types.js.map +1 -1
  564. package/es/extensions/forms/utils/FormError.d.ts +45 -0
  565. package/es/extensions/forms/utils/FormError.js +16 -0
  566. package/es/extensions/forms/utils/FormError.js.map +1 -0
  567. package/es/extensions/forms/utils/ajv.d.ts +17 -1
  568. package/es/extensions/forms/utils/ajv.js +72 -7
  569. package/es/extensions/forms/utils/ajv.js.map +1 -1
  570. package/es/extensions/forms/utils/errors.d.ts +1 -1
  571. package/es/extensions/forms/utils/errors.js.map +1 -1
  572. package/es/extensions/forms/utils/index.d.ts +2 -0
  573. package/es/extensions/forms/utils/index.js +2 -0
  574. package/es/extensions/forms/utils/index.js.map +1 -1
  575. package/es/fragments/drawer-list/DrawerList.js +1 -2
  576. package/es/fragments/drawer-list/DrawerList.js.map +1 -1
  577. package/es/fragments/drawer-list/DrawerListProvider.js +1 -2
  578. package/es/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  579. package/es/index.d.ts +2 -1
  580. package/es/index.js +2 -1
  581. package/es/index.js.map +1 -1
  582. package/es/shared/Eufemia.d.ts +1 -1
  583. package/es/shared/Eufemia.js +2 -2
  584. package/es/shared/Eufemia.js.map +1 -1
  585. package/es/shared/component-helper.d.ts +2 -1
  586. package/es/shared/component-helper.js +2 -2
  587. package/es/shared/component-helper.js.map +1 -1
  588. package/es/shared/keycode.d.ts +75 -0
  589. package/es/shared/keycode.js +127 -0
  590. package/es/shared/keycode.js.map +1 -0
  591. package/es/shared/libs/Shortcuts.js +1 -2
  592. package/es/shared/libs/Shortcuts.js.map +1 -1
  593. package/es/shared/locales/nb-NO.js +2 -2
  594. package/es/shared/locales/nb-NO.js.map +1 -1
  595. package/es/shared/useTranslation.d.ts +2 -2
  596. package/es/shared/useTranslation.js.map +1 -1
  597. package/es/style/core/scopes.scss +1 -1
  598. package/es/style/dnb-ui-basis.css +1 -1
  599. package/es/style/dnb-ui-basis.min.css +1 -1
  600. package/es/style/dnb-ui-body.css +1 -1
  601. package/es/style/dnb-ui-body.min.css +1 -1
  602. package/es/style/dnb-ui-components.css +1308 -187
  603. package/es/style/dnb-ui-components.min.css +3 -3
  604. package/es/style/dnb-ui-components.scss +2 -0
  605. package/es/style/dnb-ui-core.css +1 -1
  606. package/es/style/dnb-ui-core.min.css +1 -1
  607. package/es/style/dnb-ui-extensions.css +1 -6
  608. package/es/style/dnb-ui-extensions.min.css +1 -1
  609. package/es/style/dnb-ui-forms.css +1 -6
  610. package/es/style/dnb-ui-forms.min.css +1 -1
  611. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +1297 -181
  612. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  613. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -6
  614. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  615. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -6
  616. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  617. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +1297 -181
  618. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  619. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -6
  620. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  621. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -6
  622. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  623. package/es/style/themes/theme-ui/ui-theme-components.css +1297 -181
  624. package/es/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  625. package/es/style/themes/theme-ui/ui-theme-extensions.css +1 -6
  626. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  627. package/es/style/themes/theme-ui/ui-theme-forms.css +1 -6
  628. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  629. package/esm/dnb-ui-basis.min.mjs +1 -1
  630. package/esm/dnb-ui-components.min.mjs +1 -1
  631. package/esm/dnb-ui-elements.min.mjs +1 -1
  632. package/esm/dnb-ui-extensions.min.mjs +5 -5
  633. package/esm/dnb-ui-lib.min.mjs +1 -1
  634. package/extensions/forms/DataContext/Context.d.ts +12 -9
  635. package/extensions/forms/DataContext/Context.js +1 -3
  636. package/extensions/forms/DataContext/Context.js.map +1 -1
  637. package/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  638. package/extensions/forms/DataContext/Provider/Provider.js +32 -18
  639. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  640. package/extensions/forms/DataContext/Provider/ProviderDocs.js +1 -1
  641. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  642. package/extensions/forms/DataContext/index.d.ts +3 -0
  643. package/extensions/forms/DataContext/index.js +5 -0
  644. package/extensions/forms/DataContext/index.js.map +1 -1
  645. package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +6 -2
  646. package/extensions/forms/Field/ArraySelection/ArraySelection.js +30 -11
  647. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  648. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js +6 -7
  649. package/extensions/forms/Field/BankAccountNumber/BankAccountNumber.js.map +1 -1
  650. package/extensions/forms/Field/Date/Date.js +23 -6
  651. package/extensions/forms/Field/Date/Date.js.map +1 -1
  652. package/extensions/forms/Field/Email/Email.js +11 -8
  653. package/extensions/forms/Field/Email/Email.js.map +1 -1
  654. package/extensions/forms/Field/Expiry/Expiry.js +42 -34
  655. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  656. package/extensions/forms/Field/Name/Name.js +18 -13
  657. package/extensions/forms/Field/Name/Name.js.map +1 -1
  658. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.d.ts +2 -1
  659. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js +6 -15
  660. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumber.js.map +1 -1
  661. package/extensions/forms/Field/Number/Number.d.ts +4 -11
  662. package/extensions/forms/Field/Number/Number.js +15 -17
  663. package/extensions/forms/Field/Number/Number.js.map +1 -1
  664. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js +4 -7
  665. package/extensions/forms/Field/OrganizationNumber/OrganizationNumber.js.map +1 -1
  666. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -0
  667. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +44 -31
  668. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  669. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +4 -4
  670. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  671. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +6 -6
  672. package/extensions/forms/Field/SelectCountry/SelectCountry.js +18 -11
  673. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  674. package/extensions/forms/Field/Selection/Selection.d.ts +2 -1
  675. package/extensions/forms/Field/Selection/Selection.js +38 -17
  676. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  677. package/extensions/forms/Field/Slider/Slider.js +35 -13
  678. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  679. package/extensions/forms/Field/String/String.d.ts +2 -9
  680. package/extensions/forms/Field/String/String.js +10 -13
  681. package/extensions/forms/Field/String/String.js.map +1 -1
  682. package/extensions/forms/Field/Toggle/Toggle.js +9 -2
  683. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  684. package/extensions/forms/Field/Upload/Upload.js +7 -9
  685. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  686. package/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  687. package/extensions/forms/FieldBlock/FieldBlock.js +15 -10
  688. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  689. package/extensions/forms/FieldBlock/FieldBlockContext.d.ts +1 -1
  690. package/extensions/forms/FieldBlock/FieldBlockContext.js.map +1 -1
  691. package/extensions/forms/Form/Handler/Handler.js +1 -2
  692. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  693. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  694. package/extensions/forms/Form/Section/EditContainer/EditContainer.d.ts +2 -0
  695. package/extensions/forms/Form/Section/EditContainer/EditContainer.js +8 -4
  696. package/extensions/forms/Form/Section/EditContainer/EditContainer.js.map +1 -1
  697. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js +12 -1
  698. package/extensions/forms/Form/Section/EditContainer/EditContainerDocs.js.map +1 -1
  699. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.d.ts +5 -1
  700. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js +9 -3
  701. package/extensions/forms/Form/Section/EditContainer/EditToolbarTools.js.map +1 -1
  702. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.d.ts +1 -0
  703. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js +6 -4
  704. package/extensions/forms/Form/Section/ViewContainer/ViewContainer.js.map +1 -1
  705. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js +7 -1
  706. package/extensions/forms/Form/Section/ViewContainer/ViewContainerDocs.js.map +1 -1
  707. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.d.ts +4 -1
  708. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js +6 -2
  709. package/extensions/forms/Form/Section/ViewContainer/ViewToolbarTools.js.map +1 -1
  710. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  711. package/extensions/forms/Iterate/Array/Array.js +3 -3
  712. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  713. package/extensions/forms/Tools/Log.js +2 -2
  714. package/extensions/forms/Tools/Log.js.map +1 -1
  715. package/extensions/forms/Value/Date/Date.d.ts +5 -0
  716. package/extensions/forms/Value/Date/Date.js +26 -14
  717. package/extensions/forms/Value/Date/Date.js.map +1 -1
  718. package/extensions/forms/Value/Provider/useValueProvider.d.ts +3 -3
  719. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +1 -6
  720. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  721. package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +1 -11
  722. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +8 -8
  723. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  724. package/extensions/forms/constants/countries.js +20 -20
  725. package/extensions/forms/constants/countries.js.map +1 -1
  726. package/extensions/forms/hooks/index.d.ts +2 -1
  727. package/extensions/forms/hooks/index.js +1 -1
  728. package/extensions/forms/hooks/index.js.map +1 -1
  729. package/extensions/forms/hooks/useErrorMessage.d.ts +3 -10
  730. package/extensions/forms/hooks/useErrorMessage.js.map +1 -1
  731. package/extensions/forms/hooks/useFieldProps.d.ts +4 -3
  732. package/extensions/forms/hooks/useFieldProps.js +136 -71
  733. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  734. package/extensions/forms/hooks/usePath.d.ts +3 -0
  735. package/extensions/forms/hooks/usePath.js +2 -1
  736. package/extensions/forms/hooks/usePath.js.map +1 -1
  737. package/extensions/forms/hooks/useProcessManager.js +1 -1
  738. package/extensions/forms/hooks/useProcessManager.js.map +1 -1
  739. package/extensions/forms/hooks/useTranslation.d.ts +2 -2
  740. package/extensions/forms/hooks/useTranslation.js.map +1 -1
  741. package/extensions/forms/style/dnb-forms.css +1 -6
  742. package/extensions/forms/style/dnb-forms.min.css +1 -1
  743. package/extensions/forms/types.d.ts +59 -36
  744. package/extensions/forms/types.js +0 -13
  745. package/extensions/forms/types.js.map +1 -1
  746. package/extensions/forms/utils/FormError.d.ts +45 -0
  747. package/extensions/forms/utils/FormError.js +16 -0
  748. package/extensions/forms/utils/FormError.js.map +1 -0
  749. package/extensions/forms/utils/ajv.d.ts +17 -1
  750. package/extensions/forms/utils/ajv.js +77 -7
  751. package/extensions/forms/utils/ajv.js.map +1 -1
  752. package/extensions/forms/utils/errors.d.ts +1 -1
  753. package/extensions/forms/utils/errors.js.map +1 -1
  754. package/extensions/forms/utils/index.d.ts +2 -0
  755. package/extensions/forms/utils/index.js +2 -0
  756. package/extensions/forms/utils/index.js.map +1 -1
  757. package/fragments/drawer-list/DrawerList.js +1 -2
  758. package/fragments/drawer-list/DrawerList.js.map +1 -1
  759. package/fragments/drawer-list/DrawerListProvider.js +1 -2
  760. package/fragments/drawer-list/DrawerListProvider.js.map +1 -1
  761. package/index.d.ts +2 -1
  762. package/index.js +2 -1
  763. package/index.js.map +1 -1
  764. package/package.json +2 -2
  765. package/shared/Eufemia.d.ts +1 -1
  766. package/shared/Eufemia.js +2 -2
  767. package/shared/Eufemia.js.map +1 -1
  768. package/shared/component-helper.d.ts +2 -1
  769. package/shared/component-helper.js +2 -2
  770. package/shared/component-helper.js.map +1 -1
  771. package/shared/keycode.d.ts +75 -0
  772. package/shared/keycode.js +127 -0
  773. package/shared/keycode.js.map +1 -0
  774. package/shared/libs/Shortcuts.js +1 -2
  775. package/shared/libs/Shortcuts.js.map +1 -1
  776. package/shared/locales/nb-NO.js +2 -2
  777. package/shared/locales/nb-NO.js.map +1 -1
  778. package/shared/useTranslation.d.ts +2 -2
  779. package/shared/useTranslation.js.map +1 -1
  780. package/style/core/scopes.scss +1 -1
  781. package/style/dnb-ui-basis.css +1 -1
  782. package/style/dnb-ui-basis.min.css +1 -1
  783. package/style/dnb-ui-body.css +1 -1
  784. package/style/dnb-ui-body.min.css +1 -1
  785. package/style/dnb-ui-components.css +1308 -187
  786. package/style/dnb-ui-components.min.css +3 -3
  787. package/style/dnb-ui-components.scss +2 -0
  788. package/style/dnb-ui-core.css +1 -1
  789. package/style/dnb-ui-core.min.css +1 -1
  790. package/style/dnb-ui-extensions.css +1 -6
  791. package/style/dnb-ui-extensions.min.css +1 -1
  792. package/style/dnb-ui-forms.css +1 -6
  793. package/style/dnb-ui-forms.min.css +1 -1
  794. package/style/themes/theme-eiendom/eiendom-theme-components.css +1297 -181
  795. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +3 -3
  796. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +1 -6
  797. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  798. package/style/themes/theme-eiendom/eiendom-theme-forms.css +1 -6
  799. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  800. package/style/themes/theme-sbanken/sbanken-theme-components.css +1297 -181
  801. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +3 -3
  802. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +1 -6
  803. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  804. package/style/themes/theme-sbanken/sbanken-theme-forms.css +1 -6
  805. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  806. package/style/themes/theme-ui/ui-theme-components.css +1297 -181
  807. package/style/themes/theme-ui/ui-theme-components.min.css +3 -3
  808. package/style/themes/theme-ui/ui-theme-extensions.css +1 -6
  809. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  810. package/style/themes/theme-ui/ui-theme-forms.css +1 -6
  811. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  812. package/umd/dnb-ui-basis.min.js +1 -1
  813. package/umd/dnb-ui-components.min.js +1 -1
  814. package/umd/dnb-ui-elements.min.js +1 -1
  815. package/umd/dnb-ui-extensions.min.js +5 -5
  816. 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,48 @@ export function getMessageValues(ajvError) {
57
88
  };
58
89
  }
59
90
  }
91
+ export function overwriteErrorMessagesWithGivenAjvKeys(messages) {
92
+ messages = _objectSpread({}, messages);
93
+ ajvErrorKeywordsTranslationTable.forEach(({
94
+ ajvKey,
95
+ translationKey
96
+ }) => {
97
+ if (messages[ajvKey]) {
98
+ messages[translationKey] = messages[ajvKey];
99
+ }
100
+ });
101
+ return messages;
102
+ }
103
+ export function extendErrorMessagesWithTranslationMessages(messages, translation) {
104
+ messages = _objectSpread({}, messages);
105
+ ajvErrorKeywordsTranslationTable.forEach(({
106
+ ajvKey,
107
+ translationKey
108
+ }) => {
109
+ if (!messages[ajvKey]) {
110
+ var _messages$translation, _messages$translation2;
111
+ const keys = translationKey.split('.');
112
+ messages[ajvKey] = (_messages$translation = messages[translationKey]) !== null && _messages$translation !== void 0 ? _messages$translation : translation[keys[0]][keys[1]];
113
+ messages[translationKey] = (_messages$translation2 = messages[translationKey]) !== null && _messages$translation2 !== void 0 ? _messages$translation2 : translation[keys[0]][keys[1]];
114
+ }
115
+ });
116
+ return messages;
117
+ }
118
+ export function getTranslationKeyFromValidationRule(validationRule) {
119
+ const item = ajvErrorKeywordsTranslationTable.find(({
120
+ ajvKey
121
+ }) => ajvKey === validationRule);
122
+ return item === null || item === void 0 ? void 0 : item.translationKey;
123
+ }
60
124
  export function ajvErrorToFormError(ajvError) {
61
- var _ajvError$message2;
125
+ var _ref, _getTranslationKeyFro;
62
126
  if (ajvError.keyword === 'errorMessage') {
63
127
  var _ajvError$message;
64
128
  return new Error((_ajvError$message = ajvError.message) !== null && _ajvError$message !== void 0 ? _ajvError$message : 'Unknown error');
65
129
  }
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)
130
+ return new FormError((_ref = (_getTranslationKeyFro = getTranslationKeyFromValidationRule(getValidationRule(ajvError))) !== null && _getTranslationKeyFro !== void 0 ? _getTranslationKeyFro : ajvError.message) !== null && _ref !== void 0 ? _ref : 'Unknown error', {
131
+ messageValues: getMessageValues(ajvError),
132
+ ajvKeyword: ajvError.keyword
69
133
  });
70
134
  }
71
135
  export function ajvErrorsToOneFormError(errors, value) {
@@ -79,8 +143,9 @@ export function ajvErrorsToOneFormError(errors, value) {
79
143
  }
80
144
  return ajvErrorToFormError(error);
81
145
  }
82
- const errorMessages = errors === null || errors === void 0 ? void 0 : errors.map(error => error.message);
83
- return new FormError(errorMessages.join(' and '));
146
+ return new FormError('Multiple errors', {
147
+ errors: errors === null || errors === void 0 ? void 0 : errors.map(error => ajvErrorToFormError(error))
148
+ });
84
149
  }
85
150
  export const ajvErrorsToFormErrors = (errors, data) => {
86
151
  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":"AAAA,OAAOA,WAAW,MAAuB,eAAe;AACxD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,OAAO,MAAsB,gBAAgB;AACpD,SAASC,SAAS,QAAc,UAAU;AAI1C,SAASH,WAAW;AAUpB,OAAO,SAASI,eAAeA,CAACC,QAAc,EAAE;EAC9C,MAAMC,GAAG,GACPD,QAAQ,IACR,IAAIL,WAAW,CAAC;IAEdO,SAAS,EAAE;EACb,CAAC,CAAC;EAEJ,IAAI,CAACD,GAAG,CAAC,eAAe,CAAC,EAAE;IACzBL,SAAS,CAACK,GAAG,CAAC;IACdA,GAAG,CAAC,eAAe,CAAC,GAAG,IAAI;EAC7B;EAEA,OAAOA,GAAG;AACZ;AASA,OAAO,SAASE,eAAeA,CAACC,QAAqB,EAAQ;EAC3D,QAAQA,QAAQ,CAACC,OAAO;IACtB,KAAK,UAAU;MAAE;QAGf,OAAQ,GAAED,QAAQ,CAACE,YAAa,IAAGF,QAAQ,CAACG,MAAM,CAACC,eAAgB,EAAC;MACtE;IACA,KAAK,cAAc;MAAE;QAGnB,IAAIJ,QAAQ,CAACG,MAAM,CAACE,MAAM,CAAC,CAAC,CAAC,EAAE;UAC7B,OAAON,eAAe,CAACC,QAAQ,CAACG,MAAM,CAACE,MAAM,CAAC,CAAC,CAAC,CAAC;QACnD;MACF;EACF;EACA,OAAOL,QAAQ,CAACE,YAAY;AAC9B;AASA,OAAO,SAASI,iBAAiBA,CAACN,QAAqB,EAAU;EAC/D,IAAIA,QAAQ,CAACC,OAAO,KAAK,cAAc,IAAID,QAAQ,CAACG,MAAM,CAACE,MAAM,CAAC,CAAC,CAAC,EAAE;IAGpE,OAAOC,iBAAiB,CAACN,QAAQ,CAACG,MAAM,CAACE,MAAM,CAAC,CAAC,CAAC,CAAC;EACrD;EACA,OAAOL,QAAQ,CAACC,OAAO;AACzB;AAOA,OAAO,SAASM,gBAAgBA,CAC9BP,QAAqB,EACO;EAAA,IAAAQ,gBAAA,EAAAC,iBAAA,EAAAC,iBAAA;EAC5B,MAAMC,cAAc,GAAGL,iBAAiB,CAACN,QAAQ,CAAC;EAElD,QAAQW,cAAc;IACpB,KAAK,WAAW;IAChB,KAAK,WAAW;IAChB,KAAK,SAAS;IACd,KAAK,SAAS;IACd,KAAK,kBAAkB;IACvB,KAAK,kBAAkB;MACrB,OAAO;QACL,CAACA,cAAc,IAAAH,gBAAA,GAAGR,QAAQ,CAACG,MAAM,cAAAK,gBAAA,uBAAfA,gBAAA,CAAiBI;MACrC,CAAC;IACH,KAAK,YAAY;MACf,OAAO;QACL,CAACD,cAAc,IAAAF,iBAAA,GAAGT,QAAQ,CAACG,MAAM,cAAAM,iBAAA,uBAAfA,iBAAA,CAAiBI;MACrC,CAAC;IACH,KAAK,SAAS;MACZ,OAAO;QACL,CAACF,cAAc,IAAAD,iBAAA,GAAGV,QAAQ,CAACG,MAAM,cAAAO,iBAAA,uBAAfA,iBAAA,CAAiBI;MACrC,CAAC;EACL;AACF;AAQA,OAAO,SAASC,mBAAmBA,CAACf,QAAqB,EAAa;EAAA,IAAAgB,kBAAA;EACpE,IAAIhB,QAAQ,CAACC,OAAO,KAAK,cAAc,EAAE;IAAA,IAAAgB,iBAAA;IACvC,OAAO,IAAIC,KAAK,EAAAD,iBAAA,GAACjB,QAAQ,CAACmB,OAAO,cAAAF,iBAAA,cAAAA,iBAAA,GAAI,eAAe,CAAC;EACvD;EAEA,OAAO,IAAIvB,SAAS,EAAAsB,kBAAA,GAAChB,QAAQ,CAACmB,OAAO,cAAAH,kBAAA,cAAAA,kBAAA,GAAI,eAAe,EAAE;IACxDL,cAAc,EAAEL,iBAAiB,CAACN,QAAQ,CAAC;IAG3CoB,aAAa,EAAEb,gBAAgB,CAACP,QAAQ;EAC1C,CAAC,CAAC;AACJ;AAOA,OAAO,SAASqB,uBAAuBA,CACrChB,MAA6B,EAC7BiB,KAAe,EACQ;EACvB,IAAI,CAACjB,MAAM,IAAIA,MAAM,CAACkB,MAAM,KAAK,CAAC,EAAE;IAClC;EACF;EACA,IAAIlB,MAAM,CAACkB,MAAM,KAAK,CAAC,EAAE;IACvB,MAAMC,KAAK,GAAGC,uBAAuB,CAACpB,MAAM,CAAC,CAAC,CAAC,EAAEiB,KAAK,CAAC;IACvD,IAAI,CAACE,KAAK,EAAE;MACV,OAAOE,SAAS;IAClB;IAEA,OAAOX,mBAAmB,CAACS,KAAK,CAAC;EACnC;EAEA,MAAMG,aAAa,GAAGtB,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEuB,GAAG,CAAEJ,KAAK,IAAKA,KAAK,CAACL,OAAO,CAAC;EAC3D,OAAO,IAAIzB,SAAS,CAACiC,aAAa,CAACE,IAAI,CAAC,OAAO,CAAC,CAAC;AACnD;AASA,OAAO,MAAMC,qBAAqB,GAAGA,CACnCzB,MAA6B,EAC7B0B,IAAiB,KACa;EAC9B,OAAO,CAAC1B,MAAM,aAANA,MAAM,cAANA,MAAM,GAAI,EAAE,EAAE2B,MAAM,CAAC,CAAC3B,MAAM,EAAEL,QAAQ,KAAK;IACjD,MAAMiC,IAAI,GAAGlC,eAAe,CAACC,QAAQ,CAAC;IACtC,MAAMwB,KAAK,GAAGC,uBAAuB,CAACzB,QAAQ,EAAE+B,IAAI,EAAEE,IAAI,CAAC;IAE3D,IAAIT,KAAK,EAAE;MACTnB,MAAM,CAAC4B,IAAI,CAAC,GAAGlB,mBAAmB,CAACS,KAAK,CAAC;IAC3C;IAEA,OAAOnB,MAAM;EACf,CAAC,EAAE,CAAC,CAAC,CAAC;AACR,CAAC;AAUD,SAASoB,uBAAuBA,CAC9BzB,QAAqB,EACrB+B,IAAsC,EACtCE,IAAW,EACX;EACA,IAAIjC,QAAQ,CAACC,OAAO,KAAK,MAAM,EAAE;IAC/B,MAAMqB,KAAK,GACTS,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAIE,IAAI,GACpCxC,OAAO,CAACyC,GAAG,CAACH,IAAI,EAAEE,IAAI,CAAC,GACvBF,IAAI;IAGV,IAAIT,KAAK,KAAK,EAAE,IAAIA,KAAK,KAAK,IAAI,EAAE;MAClC,OAAOI,SAAS;IAClB,CAAC,MAAM;MAEL,MAAMS,KAAK,GAAGF,IAAI,GAAI,kBAAiBA,IAAK,GAAE,GAAG,OAAO;MACxDjC,QAAQ,CAACmB,OAAO,GAAI,OAAMgB,KAAM,WAAUb,KAAM,UAAStB,QAAQ,CAACmB,OAAQ,EAAC;MAG3EiB,OAAO,CAACZ,KAAK,CAACxB,QAAQ,CAACmB,OAAO,CAAC;IACjC;EACF;EAEA,OAAOnB,QAAQ;AACjB"}
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","extendErrorMessagesWithTranslationMessages","translation","_messages$translation","_messages$translation2","keys","split","getTranslationKeyFromValidationRule","item","find","ajvErrorToFormError","_ref","_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","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","content","Array","isArray","item","n","prototype","hasOwnProperty","call","suffix_value","HorizontalItem","_ref","_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":"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"}
1
+ {"version":3,"file":"DrawerList.js","names":["React","PropTypes","classnames","isTrue","makeUniqueId","extendPropsWithContextInClassComponent","validateDOMAttributes","dispatchCustomElementEvent","keycode","getThemeClasses","createSpacingClasses","DrawerListContext","DrawerListProvider","DrawerListPortal","drawerListPropTypes","drawerListDefaultProps","propsToFilterOut","on_show","on_hide","handle_dismiss_focus","on_change","on_pre_change","on_resize","on_select","on_state_update","on_key_down","options_render","wrapper_element","DrawerList","PureComponent","constructor","props","_id","id","render","_this$context","hasProvider","context","drawerList","createElement","DrawerListInstance","_extends","data","children","_defineProperty","blurDelay","_objectSpread","process","env","NODE_ENV","propTypes","e","hasFocusOnElement","preventDefault","setHidden","event","selected_item","parseFloat","currentTarget","getAttribute","selectItemAndClose","fireSelectEvent","state","setState","Object","entries","reduce","acc","key","triangle_position","_this$context2","defaultProps","getTranslation","role","align_drawer","fixed_position","independent_width","scrollable","focusable","size","no_animation","no_scroll_animation","prevent_selection","action_menu","is_popup","portal_class","list_class","ignore_events","className","cache_hash","_cache_hash","_wrapper_element","_triangle_position","direction","_direction","max_height","_max_height","_data","prepared_data","_prepared_data","raw_data","_raw_data","opened","_opened","value","_value","attributes","_objectWithoutProperties","_excluded","hidden","active_item","showFocusRing","closestToTop","closestToBottom","usePortal","addObservers","removeObservers","_refShell","_refTriangle","_refUl","_refRoot","mainParams","listParams","ulParams","tabIndex","style","maxHeight","ref","assign","ignoreEvents","Items","map","dataItem","i","__id","hash","liParams","class_name","length","active","selected","onClick","selectItemHandler","onKeyDown","preventTab","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","content","Array","isArray","item","n","prototype","hasOwnProperty","call","suffix_value","HorizontalItem","_ref","_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';