@dnb/eufemia 9.25.0 → 9.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (628) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/assets/icons/bookmark.svg +1 -0
  3. package/assets/icons/bookmark_medium.svg +1 -0
  4. package/assets/icons/calendar_cancel.svg +1 -0
  5. package/assets/icons/calendar_cancel_medium.svg +1 -0
  6. package/assets/icons/eufemia-icons-pdf-categorized.tgz +0 -0
  7. package/assets/icons/eufemia-icons-pdf.tgz +0 -0
  8. package/assets/icons/exclamation.svg +1 -1
  9. package/assets/icons/exclamation_circled.svg +1 -1
  10. package/assets/icons/exclamation_medium.svg +1 -1
  11. package/assets/icons/reply.svg +1 -1
  12. package/assets/icons/reply_medium.svg +1 -1
  13. package/assets/icons/stopwatch.svg +1 -1
  14. package/cjs/components/Style.d.ts +1 -0
  15. package/cjs/components/Style.js +52 -0
  16. package/cjs/components/Table.d.ts +3 -0
  17. package/cjs/components/Table.js +52 -0
  18. package/cjs/components/accordion/Accordion.d.ts +17 -4
  19. package/cjs/components/accordion/AccordionContent.js +1 -1
  20. package/cjs/components/accordion/AccordionHeader.d.ts +11 -4
  21. package/cjs/components/accordion/AccordionHeader.js +17 -7
  22. package/cjs/components/accordion/AccordionPropTypes.js +5 -2
  23. package/cjs/components/accordion/AccordionProvider.d.ts +17 -2
  24. package/cjs/components/autocomplete/Autocomplete.d.ts +32 -0
  25. package/cjs/components/autocomplete/Autocomplete.js +57 -23
  26. package/cjs/components/autocomplete/style/_autocomplete.scss +57 -6
  27. package/cjs/components/autocomplete/style/dnb-autocomplete.css +45 -13
  28. package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +2 -2
  29. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +7 -0
  30. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
  31. package/cjs/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +8 -0
  32. package/cjs/components/avatar/Avatar.js +14 -12
  33. package/cjs/components/breadcrumb/Breadcrumb.js +20 -18
  34. package/cjs/components/button/Button.d.ts +5 -3
  35. package/cjs/components/date-picker/DatePicker.d.ts +6 -0
  36. package/cjs/components/date-picker/DatePicker.js +9 -4
  37. package/cjs/components/date-picker/DatePickerFooter.js +3 -3
  38. package/cjs/components/date-picker/DatePickerInput.d.ts +6 -0
  39. package/cjs/components/date-picker/DatePickerInput.js +37 -23
  40. package/cjs/components/date-picker/style/_date-picker.scss +40 -0
  41. package/cjs/components/date-picker/style/dnb-date-picker.css +52 -8
  42. package/cjs/components/date-picker/style/dnb-date-picker.min.css +2 -2
  43. package/cjs/components/dialog/Dialog.js +7 -3
  44. package/cjs/components/dialog/DialogContent.js +6 -3
  45. package/cjs/components/dialog/style/_dialog.scss +24 -35
  46. package/cjs/components/dialog/style/dnb-dialog.css +81 -115
  47. package/cjs/components/dialog/style/dnb-dialog.min.css +1 -1
  48. package/cjs/components/dialog/types.d.ts +9 -2
  49. package/cjs/components/drawer/style/dnb-drawer.css +57 -75
  50. package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
  51. package/cjs/components/dropdown/Dropdown.d.ts +25 -0
  52. package/cjs/components/dropdown/Dropdown.js +1 -1
  53. package/cjs/components/form-row/FormRow.js +2 -12
  54. package/cjs/components/form-row/FormRowHelpers.d.ts +6 -0
  55. package/cjs/components/form-row/FormRowHelpers.js +18 -0
  56. package/cjs/components/help-button/HelpButtonInstance.js +7 -7
  57. package/cjs/components/icon/Icon.js +5 -9
  58. package/cjs/components/icon/IconHelpers.d.ts +1 -0
  59. package/cjs/components/icon/IconHelpers.js +16 -0
  60. package/cjs/components/index.d.ts +2 -1
  61. package/cjs/components/index.js +8 -0
  62. package/cjs/components/input/Input.d.ts +6 -1
  63. package/cjs/components/input/Input.js +12 -2
  64. package/cjs/components/input/style/_input.scss +11 -9
  65. package/cjs/components/input/style/dnb-input.css +7 -8
  66. package/cjs/components/input/style/dnb-input.min.css +1 -1
  67. package/cjs/components/input-masked/InputMasked.d.ts +6 -1
  68. package/cjs/components/input-masked/InputMaskedUtils.js +11 -4
  69. package/cjs/components/input-masked/addons/createNumberMask.d.ts +1 -2
  70. package/cjs/components/input-masked/addons/createNumberMask.js +1 -14
  71. package/cjs/components/input-masked/style/dnb-input-masked.css +7 -8
  72. package/cjs/components/input-masked/style/dnb-input-masked.min.css +1 -1
  73. package/cjs/components/lib.d.ts +6 -1
  74. package/cjs/components/lib.js +9 -0
  75. package/cjs/components/modal/Modal.d.ts +1 -22
  76. package/cjs/components/modal/Modal.js +4 -1
  77. package/cjs/components/modal/ModalContent.d.ts +7 -2
  78. package/cjs/components/modal/ModalContent.js +111 -70
  79. package/cjs/components/modal/ModalContext.d.ts +1 -0
  80. package/cjs/components/modal/ModalContext.js +1 -0
  81. package/cjs/components/modal/parts/CloseButton.d.ts +3 -24
  82. package/cjs/components/modal/parts/ModalHeader.d.ts +1 -0
  83. package/cjs/components/modal/parts/ModalHeaderBar.d.ts +3 -2
  84. package/cjs/components/modal/parts/ModalInner.d.ts +1 -0
  85. package/cjs/components/modal/style/_modal-mixins.scss +3 -2
  86. package/cjs/components/modal/style/_modal.scss +5 -6
  87. package/cjs/components/modal/style/dnb-modal.css +52 -71
  88. package/cjs/components/modal/style/dnb-modal.min.css +1 -1
  89. package/cjs/components/modal/types.d.ts +16 -38
  90. package/cjs/components/number-format/NumberFormat.d.ts +5 -0
  91. package/cjs/components/number-format/NumberFormat.js +7 -2
  92. package/cjs/components/pagination/PaginationBar.d.ts +7 -6
  93. package/cjs/components/radio/Radio.js +5 -2
  94. package/cjs/components/skeleton/SkeletonHelper.d.ts +4 -4
  95. package/cjs/components/table/Table.d.ts +40 -0
  96. package/cjs/components/table/Table.js +91 -0
  97. package/cjs/components/table/TableStickyHeader.d.ts +21 -0
  98. package/cjs/components/table/TableStickyHeader.js +159 -0
  99. package/cjs/components/table/TableTd.d.ts +15 -0
  100. package/cjs/components/table/TableTd.js +42 -0
  101. package/cjs/components/table/TableTh.d.ts +14 -0
  102. package/cjs/components/table/TableTh.js +42 -0
  103. package/cjs/components/table/TableTr.d.ts +15 -0
  104. package/cjs/components/table/TableTr.js +41 -0
  105. package/cjs/components/table/index.d.ts +3 -0
  106. package/cjs/components/table/index.js +52 -0
  107. package/cjs/components/table/style/_table.scss +147 -0
  108. package/cjs/components/table/style/dnb-table.css +181 -0
  109. package/cjs/components/table/style/dnb-table.min.css +1 -0
  110. package/cjs/components/table/style/dnb-table.scss +12 -0
  111. package/cjs/components/table/style/index.d.ts +6 -0
  112. package/cjs/components/table/style/index.js +3 -0
  113. package/cjs/components/table/style/themes/dnb-table-theme-ui.css +444 -0
  114. package/cjs/components/table/style/themes/dnb-table-theme-ui.min.css +2 -0
  115. package/cjs/components/table/style/themes/dnb-table-theme-ui.scss +97 -0
  116. package/cjs/components/table/style/themes/table-basis.scss +161 -0
  117. package/cjs/components/table/style/themes/ui.d.ts +1 -0
  118. package/cjs/components/table/style/themes/ui.js +3 -0
  119. package/cjs/components/table/style.d.ts +1 -0
  120. package/cjs/components/table/style.js +3 -0
  121. package/cjs/components/tag/Tag.js +16 -13
  122. package/cjs/components/timeline/Timeline.js +11 -7
  123. package/cjs/components/timeline/TimelineItem.d.ts +12 -4
  124. package/cjs/components/timeline/TimelineItem.js +60 -24
  125. package/cjs/components/timeline/style/_timeline.scss +2 -2
  126. package/cjs/components/timeline/style/dnb-timeline.css +6 -6
  127. package/cjs/components/timeline/style/dnb-timeline.min.css +1 -1
  128. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.css +4 -4
  129. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -1
  130. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.scss +4 -4
  131. package/cjs/elements/Table.d.ts +3 -35
  132. package/cjs/elements/Table.js +25 -270
  133. package/cjs/elements/Td.d.ts +2 -28
  134. package/cjs/elements/Td.js +32 -40
  135. package/cjs/elements/Th.d.ts +2 -28
  136. package/cjs/elements/Th.js +32 -40
  137. package/cjs/elements/Tr.d.ts +2 -28
  138. package/cjs/elements/Tr.js +32 -40
  139. package/cjs/elements/lib.d.ts +4 -6
  140. package/cjs/elements/lib.js +0 -9
  141. package/cjs/fragments/drawer-list/DrawerList.d.ts +13 -0
  142. package/cjs/fragments/drawer-list/DrawerList.js +25 -10
  143. package/cjs/fragments/drawer-list/DrawerListHelpers.d.ts +20 -0
  144. package/cjs/fragments/drawer-list/DrawerListHelpers.js +18 -1
  145. package/cjs/fragments/drawer-list/DrawerListProvider.d.ts +7 -9
  146. package/cjs/fragments/drawer-list/DrawerListProvider.js +28 -40
  147. package/cjs/fragments/drawer-list/style/_drawer-list.scss +40 -5
  148. package/cjs/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +58 -38
  149. package/cjs/icons/bookmark.d.ts +2 -0
  150. package/cjs/icons/bookmark.js +36 -0
  151. package/cjs/icons/bookmark_medium.d.ts +2 -0
  152. package/cjs/icons/bookmark_medium.js +36 -0
  153. package/cjs/icons/calendar_cancel.d.ts +2 -0
  154. package/cjs/icons/calendar_cancel.js +32 -0
  155. package/cjs/icons/calendar_cancel_medium.d.ts +2 -0
  156. package/cjs/icons/calendar_cancel_medium.js +32 -0
  157. package/cjs/icons/exclamation.js +5 -2
  158. package/cjs/icons/exclamation_circled.js +1 -1
  159. package/cjs/icons/exclamation_medium.js +5 -2
  160. package/cjs/icons/icons-meta.json +232 -198
  161. package/cjs/icons/icons-pdf.lock +6294 -0
  162. package/cjs/icons/icons-svg.lock +6294 -1
  163. package/cjs/icons/index.d.ts +5 -1
  164. package/cjs/icons/index.js +32 -0
  165. package/cjs/icons/reply.js +2 -1
  166. package/cjs/icons/reply_medium.js +2 -1
  167. package/cjs/icons/secondary_icons.d.ts +3 -1
  168. package/cjs/icons/secondary_icons.js +16 -0
  169. package/cjs/icons/secondary_icons_medium.d.ts +3 -1
  170. package/cjs/icons/secondary_icons_medium.js +16 -0
  171. package/cjs/icons/stopwatch.js +1 -1
  172. package/cjs/index.d.ts +30 -30
  173. package/cjs/index.js +58 -58
  174. package/cjs/shared/AnimateHeight.d.ts +1 -0
  175. package/cjs/shared/AnimateHeight.js +18 -2
  176. package/cjs/shared/Context.d.ts +92 -44
  177. package/cjs/shared/Context.js +3 -16
  178. package/cjs/shared/Eufemia.js +1 -1
  179. package/cjs/shared/MediaQuery.d.ts +18 -37
  180. package/cjs/shared/MediaQuery.js +3 -19
  181. package/cjs/shared/MediaQueryUtils.d.ts +61 -23
  182. package/cjs/shared/MediaQueryUtils.js +2 -2
  183. package/cjs/shared/Provider.d.ts +36 -12
  184. package/cjs/shared/Provider.js +6 -15
  185. package/cjs/shared/component-helper.d.ts +1 -1
  186. package/cjs/shared/component-helper.js +5 -5
  187. package/cjs/shared/interfaces.d.ts +13 -0
  188. package/cjs/shared/locales/en-GB.d.ts +1 -0
  189. package/cjs/shared/locales/en-GB.js +1 -0
  190. package/cjs/shared/locales/en-US.d.ts +1 -0
  191. package/cjs/shared/locales/index.d.ts +2 -0
  192. package/cjs/shared/locales/nb-NO.d.ts +1 -0
  193. package/cjs/shared/locales/nb-NO.js +1 -0
  194. package/cjs/shared/useMediaQuery.d.ts +3 -1
  195. package/cjs/shared/useTranslation.d.ts +1 -22
  196. package/cjs/style/dnb-ui-components.css +293 -97
  197. package/cjs/style/dnb-ui-components.min.css +4 -4
  198. package/cjs/style/dnb-ui-components.scss +1 -0
  199. package/cjs/style/dnb-ui-elements.css +1 -534
  200. package/cjs/style/dnb-ui-elements.min.css +1 -2
  201. package/cjs/style/dnb-ui-fragments.css +37 -15
  202. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  203. package/cjs/style/dnb-ui-tags.css +1 -1065
  204. package/cjs/style/dnb-ui-tags.min.css +1 -3
  205. package/cjs/style/elements/table.scss +1 -389
  206. package/cjs/style/elements/ui-tags.scss +2 -2
  207. package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.css +511 -574
  208. package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +7 -5
  209. package/cjs/style/themes/theme-ui/dnb-theme-ui.css +511 -574
  210. package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +7 -5
  211. package/cjs/style/themes/theme-ui/dnb-theme-ui.scss +1 -0
  212. package/components/Style.d.ts +1 -0
  213. package/components/Style.js +3 -0
  214. package/components/Table.d.ts +3 -0
  215. package/components/Table.js +3 -0
  216. package/components/accordion/Accordion.d.ts +17 -4
  217. package/components/accordion/AccordionContent.js +1 -1
  218. package/components/accordion/AccordionHeader.d.ts +11 -4
  219. package/components/accordion/AccordionHeader.js +17 -7
  220. package/components/accordion/AccordionPropTypes.js +5 -2
  221. package/components/accordion/AccordionProvider.d.ts +17 -2
  222. package/components/autocomplete/Autocomplete.d.ts +32 -0
  223. package/components/autocomplete/Autocomplete.js +57 -23
  224. package/components/autocomplete/style/_autocomplete.scss +57 -6
  225. package/components/autocomplete/style/dnb-autocomplete.css +45 -13
  226. package/components/autocomplete/style/dnb-autocomplete.min.css +2 -2
  227. package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +7 -0
  228. package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
  229. package/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +8 -0
  230. package/components/avatar/Avatar.js +15 -14
  231. package/components/breadcrumb/Breadcrumb.js +21 -20
  232. package/components/button/Button.d.ts +5 -3
  233. package/components/date-picker/DatePicker.d.ts +6 -0
  234. package/components/date-picker/DatePicker.js +9 -4
  235. package/components/date-picker/DatePickerFooter.js +3 -3
  236. package/components/date-picker/DatePickerInput.d.ts +6 -0
  237. package/components/date-picker/DatePickerInput.js +37 -23
  238. package/components/date-picker/style/_date-picker.scss +40 -0
  239. package/components/date-picker/style/dnb-date-picker.css +52 -8
  240. package/components/date-picker/style/dnb-date-picker.min.css +2 -2
  241. package/components/dialog/Dialog.js +7 -3
  242. package/components/dialog/DialogContent.js +7 -4
  243. package/components/dialog/style/_dialog.scss +24 -35
  244. package/components/dialog/style/dnb-dialog.css +81 -115
  245. package/components/dialog/style/dnb-dialog.min.css +1 -1
  246. package/components/dialog/types.d.ts +9 -2
  247. package/components/drawer/style/dnb-drawer.css +57 -75
  248. package/components/drawer/style/dnb-drawer.min.css +1 -1
  249. package/components/dropdown/Dropdown.d.ts +25 -0
  250. package/components/dropdown/Dropdown.js +2 -2
  251. package/components/form-row/FormRow.js +0 -7
  252. package/components/form-row/FormRowHelpers.d.ts +6 -0
  253. package/components/form-row/FormRowHelpers.js +8 -0
  254. package/components/help-button/HelpButtonInstance.js +7 -7
  255. package/components/icon/Icon.js +1 -3
  256. package/components/icon/IconHelpers.d.ts +1 -0
  257. package/components/icon/IconHelpers.js +5 -0
  258. package/components/index.d.ts +2 -1
  259. package/components/index.js +2 -1
  260. package/components/input/Input.d.ts +6 -1
  261. package/components/input/Input.js +12 -2
  262. package/components/input/style/_input.scss +11 -9
  263. package/components/input/style/dnb-input.css +7 -8
  264. package/components/input/style/dnb-input.min.css +1 -1
  265. package/components/input-masked/InputMasked.d.ts +6 -1
  266. package/components/input-masked/InputMaskedUtils.js +11 -4
  267. package/components/input-masked/addons/createNumberMask.d.ts +1 -2
  268. package/components/input-masked/addons/createNumberMask.js +1 -12
  269. package/components/input-masked/style/dnb-input-masked.css +7 -8
  270. package/components/input-masked/style/dnb-input-masked.min.css +1 -1
  271. package/components/lib.d.ts +6 -1
  272. package/components/lib.js +3 -1
  273. package/components/modal/Modal.d.ts +1 -22
  274. package/components/modal/Modal.js +4 -1
  275. package/components/modal/ModalContent.d.ts +7 -2
  276. package/components/modal/ModalContent.js +81 -60
  277. package/components/modal/ModalContext.d.ts +1 -0
  278. package/components/modal/ModalContext.js +1 -0
  279. package/components/modal/parts/CloseButton.d.ts +3 -24
  280. package/components/modal/parts/ModalHeader.d.ts +1 -0
  281. package/components/modal/parts/ModalHeaderBar.d.ts +3 -2
  282. package/components/modal/parts/ModalInner.d.ts +1 -0
  283. package/components/modal/style/_modal-mixins.scss +3 -2
  284. package/components/modal/style/_modal.scss +5 -6
  285. package/components/modal/style/dnb-modal.css +52 -71
  286. package/components/modal/style/dnb-modal.min.css +1 -1
  287. package/components/modal/types.d.ts +16 -38
  288. package/components/number-format/NumberFormat.d.ts +5 -0
  289. package/components/number-format/NumberFormat.js +7 -2
  290. package/components/pagination/PaginationBar.d.ts +7 -6
  291. package/components/radio/Radio.js +5 -2
  292. package/components/skeleton/SkeletonHelper.d.ts +4 -4
  293. package/components/table/Table.d.ts +40 -0
  294. package/components/table/Table.js +51 -0
  295. package/components/table/TableStickyHeader.d.ts +21 -0
  296. package/components/table/TableStickyHeader.js +105 -0
  297. package/components/table/TableTd.d.ts +15 -0
  298. package/components/table/TableTd.js +18 -0
  299. package/components/table/TableTh.d.ts +14 -0
  300. package/components/table/TableTh.js +18 -0
  301. package/components/table/TableTr.d.ts +15 -0
  302. package/components/table/TableTr.js +17 -0
  303. package/components/table/index.d.ts +3 -0
  304. package/components/table/index.js +3 -0
  305. package/components/table/style/_table.scss +147 -0
  306. package/components/table/style/dnb-table.css +181 -0
  307. package/components/table/style/dnb-table.min.css +1 -0
  308. package/components/table/style/dnb-table.scss +12 -0
  309. package/components/table/style/index.d.ts +6 -0
  310. package/components/table/style/index.js +1 -0
  311. package/components/table/style/themes/dnb-table-theme-ui.css +444 -0
  312. package/components/table/style/themes/dnb-table-theme-ui.min.css +2 -0
  313. package/components/table/style/themes/dnb-table-theme-ui.scss +97 -0
  314. package/components/table/style/themes/table-basis.scss +161 -0
  315. package/components/table/style/themes/ui.d.ts +1 -0
  316. package/components/table/style/themes/ui.js +1 -0
  317. package/components/table/style.d.ts +1 -0
  318. package/components/table/style.js +1 -0
  319. package/components/tag/Tag.js +14 -13
  320. package/components/timeline/Timeline.js +10 -8
  321. package/components/timeline/TimelineItem.d.ts +12 -4
  322. package/components/timeline/TimelineItem.js +59 -24
  323. package/components/timeline/style/_timeline.scss +2 -2
  324. package/components/timeline/style/dnb-timeline.css +6 -6
  325. package/components/timeline/style/dnb-timeline.min.css +1 -1
  326. package/components/timeline/style/themes/dnb-timeline-theme-ui.css +4 -4
  327. package/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -1
  328. package/components/timeline/style/themes/dnb-timeline-theme-ui.scss +4 -4
  329. package/elements/Table.d.ts +3 -35
  330. package/elements/Table.js +3 -218
  331. package/elements/Td.d.ts +2 -28
  332. package/elements/Td.js +2 -36
  333. package/elements/Th.d.ts +2 -28
  334. package/elements/Th.js +2 -36
  335. package/elements/Tr.d.ts +2 -28
  336. package/elements/Tr.js +2 -36
  337. package/elements/lib.d.ts +4 -6
  338. package/elements/lib.js +1 -3
  339. package/es/components/Style.d.ts +1 -0
  340. package/es/components/Style.js +3 -0
  341. package/es/components/Table.d.ts +3 -0
  342. package/es/components/Table.js +3 -0
  343. package/es/components/accordion/Accordion.d.ts +17 -4
  344. package/es/components/accordion/AccordionContent.js +1 -1
  345. package/es/components/accordion/AccordionHeader.d.ts +11 -4
  346. package/es/components/accordion/AccordionHeader.js +18 -8
  347. package/es/components/accordion/AccordionPropTypes.js +5 -2
  348. package/es/components/accordion/AccordionProvider.d.ts +17 -2
  349. package/es/components/autocomplete/Autocomplete.d.ts +32 -0
  350. package/es/components/autocomplete/Autocomplete.js +51 -18
  351. package/es/components/autocomplete/style/_autocomplete.scss +57 -6
  352. package/es/components/autocomplete/style/dnb-autocomplete.css +45 -13
  353. package/es/components/autocomplete/style/dnb-autocomplete.min.css +2 -2
  354. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.css +7 -0
  355. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.min.css +1 -1
  356. package/es/components/autocomplete/style/themes/dnb-autocomplete-theme-ui.scss +8 -0
  357. package/es/components/avatar/Avatar.js +8 -7
  358. package/es/components/breadcrumb/Breadcrumb.js +8 -7
  359. package/es/components/button/Button.d.ts +5 -3
  360. package/es/components/date-picker/DatePicker.d.ts +6 -0
  361. package/es/components/date-picker/DatePicker.js +9 -4
  362. package/es/components/date-picker/DatePickerFooter.js +3 -3
  363. package/es/components/date-picker/DatePickerInput.d.ts +6 -0
  364. package/es/components/date-picker/DatePickerInput.js +43 -32
  365. package/es/components/date-picker/style/_date-picker.scss +40 -0
  366. package/es/components/date-picker/style/dnb-date-picker.css +52 -8
  367. package/es/components/date-picker/style/dnb-date-picker.min.css +2 -2
  368. package/es/components/dialog/Dialog.js +7 -3
  369. package/es/components/dialog/DialogContent.js +7 -4
  370. package/es/components/dialog/style/_dialog.scss +24 -35
  371. package/es/components/dialog/style/dnb-dialog.css +81 -115
  372. package/es/components/dialog/style/dnb-dialog.min.css +1 -1
  373. package/es/components/dialog/types.d.ts +9 -2
  374. package/es/components/drawer/style/dnb-drawer.css +57 -75
  375. package/es/components/drawer/style/dnb-drawer.min.css +1 -1
  376. package/es/components/dropdown/Dropdown.d.ts +25 -0
  377. package/es/components/dropdown/Dropdown.js +2 -2
  378. package/es/components/form-row/FormRow.js +0 -7
  379. package/es/components/form-row/FormRowHelpers.d.ts +6 -0
  380. package/es/components/form-row/FormRowHelpers.js +8 -0
  381. package/es/components/help-button/HelpButtonInstance.js +7 -7
  382. package/es/components/icon/Icon.js +2 -2
  383. package/es/components/icon/IconHelpers.d.ts +1 -0
  384. package/es/components/icon/IconHelpers.js +1 -0
  385. package/es/components/index.d.ts +2 -1
  386. package/es/components/index.js +2 -1
  387. package/es/components/input/Input.d.ts +6 -1
  388. package/es/components/input/Input.js +11 -2
  389. package/es/components/input/style/_input.scss +11 -9
  390. package/es/components/input/style/dnb-input.css +7 -8
  391. package/es/components/input/style/dnb-input.min.css +1 -1
  392. package/es/components/input-masked/InputMasked.d.ts +6 -1
  393. package/es/components/input-masked/InputMaskedUtils.js +11 -4
  394. package/es/components/input-masked/addons/createNumberMask.d.ts +1 -2
  395. package/es/components/input-masked/addons/createNumberMask.js +1 -9
  396. package/es/components/input-masked/style/dnb-input-masked.css +7 -8
  397. package/es/components/input-masked/style/dnb-input-masked.min.css +1 -1
  398. package/es/components/lib.d.ts +6 -1
  399. package/es/components/lib.js +3 -1
  400. package/es/components/modal/Modal.d.ts +1 -22
  401. package/es/components/modal/Modal.js +3 -1
  402. package/es/components/modal/ModalContent.d.ts +7 -2
  403. package/es/components/modal/ModalContent.js +27 -8
  404. package/es/components/modal/ModalContext.d.ts +1 -0
  405. package/es/components/modal/ModalContext.js +1 -0
  406. package/es/components/modal/parts/CloseButton.d.ts +3 -24
  407. package/es/components/modal/parts/ModalHeader.d.ts +1 -0
  408. package/es/components/modal/parts/ModalHeaderBar.d.ts +3 -2
  409. package/es/components/modal/parts/ModalInner.d.ts +1 -0
  410. package/es/components/modal/style/_modal-mixins.scss +3 -2
  411. package/es/components/modal/style/_modal.scss +5 -6
  412. package/es/components/modal/style/dnb-modal.css +52 -71
  413. package/es/components/modal/style/dnb-modal.min.css +1 -1
  414. package/es/components/modal/types.d.ts +16 -38
  415. package/es/components/number-format/NumberFormat.d.ts +5 -0
  416. package/es/components/number-format/NumberFormat.js +7 -2
  417. package/es/components/pagination/PaginationBar.d.ts +7 -6
  418. package/es/components/radio/Radio.js +5 -2
  419. package/es/components/skeleton/SkeletonHelper.d.ts +4 -4
  420. package/es/components/table/Table.d.ts +40 -0
  421. package/es/components/table/Table.js +51 -0
  422. package/es/components/table/TableStickyHeader.d.ts +21 -0
  423. package/es/components/table/TableStickyHeader.js +98 -0
  424. package/es/components/table/TableTd.d.ts +15 -0
  425. package/es/components/table/TableTd.js +20 -0
  426. package/es/components/table/TableTh.d.ts +14 -0
  427. package/es/components/table/TableTh.js +20 -0
  428. package/es/components/table/TableTr.d.ts +15 -0
  429. package/es/components/table/TableTr.js +19 -0
  430. package/es/components/table/index.d.ts +3 -0
  431. package/es/components/table/index.js +3 -0
  432. package/es/components/table/style/_table.scss +147 -0
  433. package/es/components/table/style/dnb-table.css +181 -0
  434. package/es/components/table/style/dnb-table.min.css +1 -0
  435. package/es/components/table/style/dnb-table.scss +12 -0
  436. package/es/components/table/style/index.d.ts +6 -0
  437. package/es/components/table/style/index.js +1 -0
  438. package/es/components/table/style/themes/dnb-table-theme-ui.css +444 -0
  439. package/es/components/table/style/themes/dnb-table-theme-ui.min.css +2 -0
  440. package/es/components/table/style/themes/dnb-table-theme-ui.scss +97 -0
  441. package/es/components/table/style/themes/table-basis.scss +161 -0
  442. package/es/components/table/style/themes/ui.d.ts +1 -0
  443. package/es/components/table/style/themes/ui.js +1 -0
  444. package/es/components/table/style.d.ts +1 -0
  445. package/es/components/table/style.js +1 -0
  446. package/es/components/tag/Tag.js +8 -7
  447. package/es/components/timeline/Timeline.js +8 -6
  448. package/es/components/timeline/TimelineItem.d.ts +12 -4
  449. package/es/components/timeline/TimelineItem.js +52 -21
  450. package/es/components/timeline/style/_timeline.scss +2 -2
  451. package/es/components/timeline/style/dnb-timeline.css +6 -6
  452. package/es/components/timeline/style/dnb-timeline.min.css +1 -1
  453. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.css +4 -4
  454. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.min.css +1 -1
  455. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.scss +4 -4
  456. package/es/elements/Table.d.ts +3 -35
  457. package/es/elements/Table.js +3 -170
  458. package/es/elements/Td.d.ts +2 -28
  459. package/es/elements/Td.js +2 -26
  460. package/es/elements/Th.d.ts +2 -28
  461. package/es/elements/Th.js +2 -26
  462. package/es/elements/Tr.d.ts +2 -28
  463. package/es/elements/Tr.js +2 -26
  464. package/es/elements/lib.d.ts +4 -6
  465. package/es/elements/lib.js +1 -3
  466. package/es/fragments/drawer-list/DrawerList.d.ts +13 -0
  467. package/es/fragments/drawer-list/DrawerList.js +25 -13
  468. package/es/fragments/drawer-list/DrawerListHelpers.d.ts +20 -0
  469. package/es/fragments/drawer-list/DrawerListHelpers.js +15 -0
  470. package/es/fragments/drawer-list/DrawerListProvider.d.ts +7 -9
  471. package/es/fragments/drawer-list/DrawerListProvider.js +31 -42
  472. package/es/fragments/drawer-list/style/_drawer-list.scss +40 -5
  473. package/es/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +58 -38
  474. package/es/icons/bookmark.d.ts +2 -0
  475. package/es/icons/bookmark.js +22 -0
  476. package/es/icons/bookmark_medium.d.ts +2 -0
  477. package/es/icons/bookmark_medium.js +22 -0
  478. package/es/icons/calendar_cancel.d.ts +2 -0
  479. package/es/icons/calendar_cancel.js +18 -0
  480. package/es/icons/calendar_cancel_medium.d.ts +2 -0
  481. package/es/icons/calendar_cancel_medium.js +18 -0
  482. package/es/icons/exclamation.js +5 -2
  483. package/es/icons/exclamation_circled.js +1 -1
  484. package/es/icons/exclamation_medium.js +5 -2
  485. package/es/icons/icons-meta.json +232 -198
  486. package/es/icons/icons-pdf.lock +6294 -0
  487. package/es/icons/icons-svg.lock +6294 -1
  488. package/es/icons/index.d.ts +5 -1
  489. package/es/icons/index.js +5 -1
  490. package/es/icons/reply.js +2 -1
  491. package/es/icons/reply_medium.js +2 -1
  492. package/es/icons/secondary_icons.d.ts +3 -1
  493. package/es/icons/secondary_icons.js +3 -1
  494. package/es/icons/secondary_icons_medium.d.ts +3 -1
  495. package/es/icons/secondary_icons_medium.js +3 -1
  496. package/es/icons/stopwatch.js +1 -1
  497. package/es/index.d.ts +30 -30
  498. package/es/index.js +30 -30
  499. package/es/shared/AnimateHeight.d.ts +1 -0
  500. package/es/shared/AnimateHeight.js +18 -2
  501. package/es/shared/Context.d.ts +92 -44
  502. package/es/shared/Context.js +4 -17
  503. package/es/shared/Eufemia.js +1 -1
  504. package/es/shared/MediaQuery.d.ts +18 -37
  505. package/es/shared/MediaQuery.js +3 -18
  506. package/es/shared/MediaQueryUtils.d.ts +61 -23
  507. package/es/shared/MediaQueryUtils.js +2 -2
  508. package/es/shared/Provider.d.ts +36 -12
  509. package/es/shared/Provider.js +6 -14
  510. package/es/shared/component-helper.d.ts +1 -1
  511. package/es/shared/component-helper.js +5 -5
  512. package/es/shared/interfaces.d.ts +13 -0
  513. package/es/shared/locales/en-GB.d.ts +1 -0
  514. package/es/shared/locales/en-GB.js +1 -0
  515. package/es/shared/locales/en-US.d.ts +1 -0
  516. package/es/shared/locales/index.d.ts +2 -0
  517. package/es/shared/locales/nb-NO.d.ts +1 -0
  518. package/es/shared/locales/nb-NO.js +1 -0
  519. package/es/shared/useMediaQuery.d.ts +3 -1
  520. package/es/shared/useTranslation.d.ts +1 -22
  521. package/es/style/dnb-ui-components.css +293 -97
  522. package/es/style/dnb-ui-components.min.css +4 -4
  523. package/es/style/dnb-ui-components.scss +1 -0
  524. package/es/style/dnb-ui-elements.css +1 -534
  525. package/es/style/dnb-ui-elements.min.css +1 -2
  526. package/es/style/dnb-ui-fragments.css +37 -15
  527. package/es/style/dnb-ui-fragments.min.css +1 -1
  528. package/es/style/dnb-ui-tags.css +1 -1065
  529. package/es/style/dnb-ui-tags.min.css +1 -3
  530. package/es/style/elements/table.scss +1 -389
  531. package/es/style/elements/ui-tags.scss +2 -2
  532. package/es/style/themes/theme-eiendom/dnb-theme-eiendom.css +511 -574
  533. package/es/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +7 -5
  534. package/es/style/themes/theme-ui/dnb-theme-ui.css +511 -574
  535. package/es/style/themes/theme-ui/dnb-theme-ui.min.css +7 -5
  536. package/es/style/themes/theme-ui/dnb-theme-ui.scss +1 -0
  537. package/esm/dnb-ui-basis.min.mjs +1 -1
  538. package/esm/dnb-ui-components.min.mjs +3 -3
  539. package/esm/dnb-ui-elements.min.mjs +3 -3
  540. package/esm/dnb-ui-extensions.min.mjs +4 -4
  541. package/esm/dnb-ui-icons.min.mjs +1 -1
  542. package/esm/dnb-ui-lib.min.mjs +4 -4
  543. package/esm/dnb-ui-web-components.min.mjs +4 -4
  544. package/fragments/drawer-list/DrawerList.d.ts +13 -0
  545. package/fragments/drawer-list/DrawerList.js +24 -12
  546. package/fragments/drawer-list/DrawerListHelpers.d.ts +20 -0
  547. package/fragments/drawer-list/DrawerListHelpers.js +15 -0
  548. package/fragments/drawer-list/DrawerListProvider.d.ts +7 -9
  549. package/fragments/drawer-list/DrawerListProvider.js +29 -41
  550. package/fragments/drawer-list/style/_drawer-list.scss +40 -5
  551. package/fragments/drawer-list/style/themes/dnb-drawer-list-theme-ui.scss +58 -38
  552. package/icons/bookmark.d.ts +2 -0
  553. package/icons/bookmark.js +24 -0
  554. package/icons/bookmark_medium.d.ts +2 -0
  555. package/icons/bookmark_medium.js +24 -0
  556. package/icons/calendar_cancel.d.ts +2 -0
  557. package/icons/calendar_cancel.js +20 -0
  558. package/icons/calendar_cancel_medium.d.ts +2 -0
  559. package/icons/calendar_cancel_medium.js +20 -0
  560. package/icons/exclamation.js +5 -2
  561. package/icons/exclamation_circled.js +1 -1
  562. package/icons/exclamation_medium.js +5 -2
  563. package/icons/icons-meta.json +232 -198
  564. package/icons/icons-pdf.lock +6294 -0
  565. package/icons/icons-svg.lock +6294 -1
  566. package/icons/index.d.ts +5 -1
  567. package/icons/index.js +5 -1
  568. package/icons/reply.js +2 -1
  569. package/icons/reply_medium.js +2 -1
  570. package/icons/secondary_icons.d.ts +3 -1
  571. package/icons/secondary_icons.js +3 -1
  572. package/icons/secondary_icons_medium.d.ts +3 -1
  573. package/icons/secondary_icons_medium.js +3 -1
  574. package/icons/stopwatch.js +1 -1
  575. package/index.d.ts +30 -30
  576. package/index.js +30 -30
  577. package/package.json +1 -1
  578. package/shared/AnimateHeight.d.ts +1 -0
  579. package/shared/AnimateHeight.js +18 -2
  580. package/shared/Context.d.ts +92 -44
  581. package/shared/Context.js +3 -16
  582. package/shared/Eufemia.js +1 -1
  583. package/shared/MediaQuery.d.ts +18 -37
  584. package/shared/MediaQuery.js +3 -17
  585. package/shared/MediaQueryUtils.d.ts +61 -23
  586. package/shared/MediaQueryUtils.js +2 -2
  587. package/shared/Provider.d.ts +36 -12
  588. package/shared/Provider.js +5 -12
  589. package/shared/component-helper.d.ts +1 -1
  590. package/shared/component-helper.js +5 -5
  591. package/shared/interfaces.d.ts +13 -0
  592. package/shared/locales/en-GB.d.ts +1 -0
  593. package/shared/locales/en-GB.js +1 -0
  594. package/shared/locales/en-US.d.ts +1 -0
  595. package/shared/locales/index.d.ts +2 -0
  596. package/shared/locales/nb-NO.d.ts +1 -0
  597. package/shared/locales/nb-NO.js +1 -0
  598. package/shared/useMediaQuery.d.ts +3 -1
  599. package/shared/useTranslation.d.ts +1 -22
  600. package/style/dnb-ui-components.css +293 -97
  601. package/style/dnb-ui-components.min.css +4 -4
  602. package/style/dnb-ui-components.scss +1 -0
  603. package/style/dnb-ui-elements.css +1 -534
  604. package/style/dnb-ui-elements.min.css +1 -2
  605. package/style/dnb-ui-fragments.css +37 -15
  606. package/style/dnb-ui-fragments.min.css +1 -1
  607. package/style/dnb-ui-tags.css +1 -1065
  608. package/style/dnb-ui-tags.min.css +1 -3
  609. package/style/elements/table.scss +1 -389
  610. package/style/elements/ui-tags.scss +2 -2
  611. package/style/themes/theme-eiendom/dnb-theme-eiendom.css +511 -574
  612. package/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +7 -5
  613. package/style/themes/theme-ui/dnb-theme-ui.css +511 -574
  614. package/style/themes/theme-ui/dnb-theme-ui.min.css +7 -5
  615. package/style/themes/theme-ui/dnb-theme-ui.scss +1 -0
  616. package/umd/dnb-ui-basis.min.js +1 -1
  617. package/umd/dnb-ui-components.min.js +3 -3
  618. package/umd/dnb-ui-elements.min.js +5 -5
  619. package/umd/dnb-ui-extensions.min.js +5 -5
  620. package/umd/dnb-ui-icons.min.js +1 -1
  621. package/umd/dnb-ui-lib.min.js +3 -3
  622. package/umd/dnb-ui-web-components.min.js +4 -4
  623. package/cjs/style/themes/theme-ui/prism/dnb-prism-styles.d.ts +0 -6
  624. package/cjs/style/themes/theme-ui/prism/dnb-prism-styles.js +0 -9
  625. package/es/style/themes/theme-ui/prism/dnb-prism-styles.d.ts +0 -6
  626. package/es/style/themes/theme-ui/prism/dnb-prism-styles.js +0 -93
  627. package/style/themes/theme-ui/prism/dnb-prism-styles.d.ts +0 -6
  628. package/style/themes/theme-ui/prism/dnb-prism-styles.js +0 -2
@@ -54,6 +54,7 @@
54
54
  @import '../../../components/step-indicator/style/themes/dnb-step-indicator-theme-ui.scss';
55
55
  @import '../../../components/step-indicator/style/themes/dnb-step-indicator-v1-theme-ui.scss';
56
56
  @import '../../../components/switch/style/themes/dnb-switch-theme-ui.scss';
57
+ @import '../../../components/table/style/themes/dnb-table-theme-ui.scss';
57
58
  @import '../../../components/tabs/style/themes/dnb-tabs-theme-ui.scss';
58
59
  @import '../../../components/textarea/style/themes/dnb-textarea-theme-ui.scss';
59
60
  @import '../../../components/timeline/style/themes/dnb-timeline-theme-ui.scss';
@@ -0,0 +1 @@
1
+ export default Style;
@@ -0,0 +1,3 @@
1
+ import Style from './style/Style';
2
+ export * from './style/Style';
3
+ export default Style;
@@ -0,0 +1,3 @@
1
+ export * from "./table/Table";
2
+ export default Table;
3
+ import Table from "./table/Table";
@@ -0,0 +1,3 @@
1
+ import Table from './table/Table';
2
+ export * from './table/Table';
3
+ export default Table;
@@ -11,12 +11,24 @@ export type AccordionPreventRerenderConditional = string | boolean;
11
11
  export type AccordionRememberState = string | boolean;
12
12
  export type AccordionFlushRememberedState = string | boolean;
13
13
  export type AccordionSingleContainer = string | boolean;
14
- export type AccordionVariant = 'default' | 'outlined' | 'filled';
14
+ export type AccordionVariant = 'plain' | 'default' | 'outlined' | 'filled';
15
15
  export type AccordionAllowCloseAll = string | boolean;
16
16
  export type AccordionDisabled = string | boolean;
17
17
  export type AccordionSkeleton = string | boolean;
18
18
  export type AccordionHeading = boolean | React.ReactNode;
19
19
  export type AccordionHeadingLevel = string | number;
20
+ export type AccordionIcon =
21
+ | React.ReactNode
22
+ | ((...args: any[]) => any)
23
+ | {
24
+ closed?: React.ReactNode | ((...args: any[]) => any);
25
+
26
+ /**
27
+ * If set to `true` the accordion will be expanded as its initial state.
28
+ */
29
+ expanded?: React.ReactNode | ((...args: any[]) => any);
30
+ };
31
+ export type AccordionClosed = React.ReactNode | ((...args: any[]) => any);
20
32
  export type AccordionIconPosition = 'left' | 'right';
21
33
  export type AccordionAttributes = string | Object;
22
34
  export type AccordionSpace =
@@ -104,7 +116,7 @@ export interface AccordionProps extends React.HTMLProps<HTMLElement> {
104
116
  single_container?: AccordionSingleContainer;
105
117
 
106
118
  /**
107
- * Defines the used styling. As of now, only `outlined` is available. It defaults to `outlined`.
119
+ * Defines the used styling. As of now, only `outlined` is available. Use `plain` for no styles. It defaults to `outlined`.
108
120
  */
109
121
  variant?: AccordionVariant;
110
122
 
@@ -146,9 +158,10 @@ export interface AccordionProps extends React.HTMLProps<HTMLElement> {
146
158
  heading_level?: AccordionHeadingLevel;
147
159
 
148
160
  /**
149
- * Will replace the `chevron` icon. The icon will still rotate (by CSS).
161
+ * Will replace the `chevron` icon. The icon will still rotate (by CSS). You can use an object to use two different icons, one for the closed state and one for the expanded state `{ closed, expanded }`.
150
162
  */
151
- icon?: React.ReactNode;
163
+ icon?: AccordionIcon;
164
+ closed?: AccordionClosed;
152
165
 
153
166
  /**
154
167
  * Will set the placement of the icon. Defaults to `left`.
@@ -182,7 +182,7 @@ var AccordionContent = function (_React$PureComponent) {
182
182
  id: "".concat(id, "-content"),
183
183
  role: 'region',
184
184
  'aria-labelledby': "".concat(id, "-header"),
185
- className: classnames('dnb-accordion__content__inner', createSpacingClasses(rest), keepContentInDom === false && 'dnb-accordion__content__inner--remove-content')
185
+ className: classnames('dnb-accordion__content__inner', createSpacingClasses(rest), !expanded && !keepContentInDom && 'dnb-accordion__content__inner--remove-content')
186
186
  };
187
187
 
188
188
  if (expanded) {
@@ -81,9 +81,12 @@ export interface AccordionHeaderContainerProps {
81
81
  }
82
82
  declare const AccordionHeaderContainer: React.FC<AccordionHeaderContainerProps>;
83
83
  export type AccordionHeaderIconIcon =
84
- | string
85
84
  | React.ReactNode
86
- | ((...args: any[]) => any);
85
+ | ((...args: any[]) => any)
86
+ | {
87
+ closed?: React.ReactNode | ((...args: any[]) => any);
88
+ expanded?: React.ReactNode | ((...args: any[]) => any);
89
+ };
87
90
 
88
91
  /**
89
92
  * NB: Do not change the docs (comments) in here. The docs are updated during build time by "generateTypes.js" and "fetchPropertiesFromDocs.js".
@@ -91,6 +94,7 @@ export type AccordionHeaderIconIcon =
91
94
  export interface AccordionHeaderIconProps {
92
95
  icon?: AccordionHeaderIconIcon;
93
96
  size?: string;
97
+ expanded?: boolean;
94
98
  }
95
99
  declare const AccordionHeaderIcon: React.FC<AccordionHeaderIconProps>;
96
100
  export type AccordionHeaderTitle =
@@ -116,9 +120,12 @@ export type AccordionHeaderHeading =
116
120
  | ((...args: any[]) => any);
117
121
  export type AccordionHeaderHeadingLevel = string | number;
118
122
  export type AccordionHeaderIcon =
119
- | string
120
123
  | React.ReactNode
121
- | ((...args: any[]) => any);
124
+ | ((...args: any[]) => any)
125
+ | {
126
+ closed?: React.ReactNode | ((...args: any[]) => any);
127
+ expanded?: React.ReactNode | ((...args: any[]) => any);
128
+ };
122
129
  export type AccordionHeaderIconPosition = 'left' | 'right';
123
130
  export type AccordionHeaderDisabled = string | boolean;
124
131
  export type AccordionHeaderSkeleton = string | boolean;
@@ -14,7 +14,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutPr
14
14
  var _excluded = ["children"],
15
15
  _excluded2 = ["children"],
16
16
  _excluded3 = ["children"],
17
- _excluded4 = ["icon"],
17
+ _excluded4 = ["icon", "expanded"],
18
18
  _excluded5 = ["children", "className", "left_component", "expanded", "title", "description", "icon", "icon_size", "disabled"];
19
19
  import "core-js/modules/es.symbol.js";
20
20
  import "core-js/modules/es.symbol.description.js";
@@ -93,23 +93,29 @@ AccordionHeaderContainer.defaultProps = {
93
93
 
94
94
  function AccordionHeaderIcon(_ref4) {
95
95
  var icon = _ref4.icon,
96
+ expanded = _ref4.expanded,
96
97
  rest = _objectWithoutProperties(_ref4, _excluded4);
97
98
 
98
99
  return React.createElement("span", {
99
100
  className: "dnb-accordion__header__icon"
100
101
  }, React.createElement(IconPrimary, _extends({}, rest, {
101
- icon: icon || 'chevron-down',
102
+ icon: typeof (icon === null || icon === void 0 ? void 0 : icon.expanded) !== 'undefined' ? icon[expanded ? 'expanded' : 'closed'] : icon || 'chevron-down',
102
103
  "aria-hidden": true
103
104
  })));
104
105
  }
105
106
 
106
107
  process.env.NODE_ENV !== "production" ? AccordionHeaderIcon.propTypes = {
107
- icon: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.func]),
108
- size: PropTypes.string
108
+ icon: PropTypes.oneOfType([PropTypes.node, PropTypes.func, PropTypes.shape({
109
+ closed: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
110
+ expanded: PropTypes.oneOfType([PropTypes.node, PropTypes.func])
111
+ })]),
112
+ size: PropTypes.string,
113
+ expanded: PropTypes.bool
109
114
  } : void 0;
110
115
  AccordionHeaderIcon.defaultProps = {
111
116
  icon: null,
112
- size: 'medium'
117
+ size: 'medium',
118
+ expanded: null
113
119
  };
114
120
 
115
121
  var AccordionHeader = function (_React$PureComponent) {
@@ -219,7 +225,8 @@ var AccordionHeader = function (_React$PureComponent) {
219
225
  var defaultParts = [React.createElement(AccordionHeaderIcon, {
220
226
  key: "icon",
221
227
  icon: icon,
222
- size: icon_size
228
+ size: icon_size,
229
+ expanded: this.context.expanded
223
230
  }), React.createElement(AccordionHeaderContainer, {
224
231
  key: "container"
225
232
  }, left_component), React.createElement(AccordionHeaderTitle, {
@@ -368,7 +375,10 @@ process.env.NODE_ENV !== "production" ? AccordionHeader.propTypes = _objectSprea
368
375
  element: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.func]),
369
376
  heading: PropTypes.oneOfType([PropTypes.bool, PropTypes.string, PropTypes.node, PropTypes.func]),
370
377
  heading_level: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
371
- icon: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.func]),
378
+ icon: PropTypes.oneOfType([PropTypes.node, PropTypes.func, PropTypes.shape({
379
+ closed: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
380
+ expanded: PropTypes.oneOfType([PropTypes.node, PropTypes.func])
381
+ })]),
372
382
  icon_position: PropTypes.oneOf(['left', 'right']),
373
383
  icon_size: PropTypes.string,
374
384
  disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
@@ -24,7 +24,7 @@ export var accordionPropTypes = _objectSpread(_objectSpread({
24
24
  remember_state: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
25
25
  flush_remembered_state: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
26
26
  single_container: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
27
- variant: PropTypes.oneOf(['default', 'outlined', 'filled']),
27
+ variant: PropTypes.oneOf(['plain', 'default', 'outlined', 'filled']),
28
28
  left_component: PropTypes.node,
29
29
  allow_close_all: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
30
30
  disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
@@ -34,7 +34,10 @@ export var accordionPropTypes = _objectSpread(_objectSpread({
34
34
  element: PropTypes.node,
35
35
  heading: PropTypes.oneOfType([PropTypes.bool, PropTypes.node]),
36
36
  heading_level: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
37
- icon: PropTypes.node,
37
+ icon: PropTypes.oneOfType([PropTypes.node, PropTypes.func, PropTypes.shape({
38
+ closed: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
39
+ expanded: PropTypes.oneOfType([PropTypes.node, PropTypes.func])
40
+ })]),
38
41
  icon_position: PropTypes.oneOf(['left', 'right']),
39
42
  icon_size: PropTypes.string,
40
43
  attributes: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),
@@ -8,12 +8,26 @@ export type AccordionGroupPreventRerenderConditional = string | boolean;
8
8
  export type AccordionGroupRememberState = string | boolean;
9
9
  export type AccordionGroupFlushRememberedState = string | boolean;
10
10
  export type AccordionGroupSingleContainer = string | boolean;
11
- export type AccordionGroupVariant = 'default' | 'outlined' | 'filled';
11
+ export type AccordionGroupVariant =
12
+ | 'plain'
13
+ | 'default'
14
+ | 'outlined'
15
+ | 'filled';
12
16
  export type AccordionGroupAllowCloseAll = string | boolean;
13
17
  export type AccordionGroupDisabled = string | boolean;
14
18
  export type AccordionGroupSkeleton = string | boolean;
15
19
  export type AccordionGroupHeading = boolean | React.ReactNode;
16
20
  export type AccordionGroupHeadingLevel = string | number;
21
+ export type AccordionGroupIcon =
22
+ | React.ReactNode
23
+ | ((...args: any[]) => any)
24
+ | {
25
+ closed?: React.ReactNode | ((...args: any[]) => any);
26
+ expanded?: React.ReactNode | ((...args: any[]) => any);
27
+ };
28
+ export type AccordionGroupClosed =
29
+ | React.ReactNode
30
+ | ((...args: any[]) => any);
17
31
  export type AccordionGroupIconPosition = 'left' | 'right';
18
32
  export type AccordionGroupAttributes = string | Object;
19
33
  export type AccordionGroupSpace =
@@ -55,7 +69,8 @@ export interface AccordionGroupProps extends React.HTMLProps<HTMLElement> {
55
69
  element?: React.ReactNode;
56
70
  heading?: AccordionGroupHeading;
57
71
  heading_level?: AccordionGroupHeadingLevel;
58
- icon?: React.ReactNode;
72
+ icon?: AccordionGroupIcon;
73
+ closed?: AccordionGroupClosed;
59
74
  icon_position?: AccordionGroupIconPosition;
60
75
  icon_size?: string;
61
76
  attributes?: AccordionGroupAttributes;
@@ -41,6 +41,7 @@ export type AutocompleteFixedPosition = string | boolean;
41
41
  export type AutocompletePreventFocus = string | boolean;
42
42
  export type AutocompleteSkipKeysearch = string | boolean;
43
43
  export type AutocompleteSelectedValue = string | React.ReactNode;
44
+ export type AutocompleteSuffixValue = string | React.ReactNode;
44
45
  export type AutocompleteContent = string | React.ReactNode | string[];
45
46
  export type AutocompleteRawData =
46
47
  | any[]
@@ -115,6 +116,7 @@ export type AutocompleteData =
115
116
  | React.ReactNode
116
117
  | {
117
118
  selected_value?: string | React.ReactNode;
119
+ suffix_value?: string | React.ReactNode;
118
120
  content?: string | React.ReactNode | string[];
119
121
  }
120
122
  )[];
@@ -129,6 +131,9 @@ export type AutocompleteOpened = string | boolean;
129
131
  export type AutocompleteDisabled = string | boolean;
130
132
  export type AutocompleteStretch = string | boolean;
131
133
  export type AutocompleteSkeleton = string | boolean;
134
+ export type AutocompletePageOffset = string | number;
135
+ export type AutocompleteObserverElement = string | React.ReactNode;
136
+ export type AutocompleteMinHeight = string | number;
132
137
  export type AutocompleteChildren =
133
138
  | string
134
139
  | ((...args: any[]) => any)
@@ -205,6 +210,7 @@ export interface AutocompleteProps extends React.HTMLProps<HTMLElement> {
205
210
  */
206
211
  skip_keysearch?: AutocompleteSkipKeysearch;
207
212
  selected_value?: AutocompleteSelectedValue;
213
+ suffix_value?: AutocompleteSuffixValue;
208
214
  content?: AutocompleteContent;
209
215
  prepared_data?: any[];
210
216
  raw_data?: AutocompleteRawData;
@@ -258,6 +264,11 @@ export interface AutocompleteProps extends React.HTMLProps<HTMLElement> {
258
264
  */
259
265
  show_options_sr?: string;
260
266
 
267
+ /**
268
+ * Only for screen readers (VocieOver). The label used to announce the selected item. Defaults to `Valgt:`.
269
+ */
270
+ selected_sr?: string;
271
+
261
272
  /**
262
273
  * Title on submit button. Defaults to `Vis alternativer`.
263
274
  */
@@ -509,6 +520,26 @@ export interface AutocompleteProps extends React.HTMLProps<HTMLElement> {
509
520
  * Define a custom class for the internal drawer-list. This makes it possible more easily customize the drawer-list style with styled-components and the `css` style method. Defaults to `null`.
510
521
  */
511
522
  drawer_class?: string;
523
+
524
+ /**
525
+ * Defines if the available scrollable height. If scrolling not should change the height of the drawer-list, then set it to `0` (useful if the DrawerList is used in fixed positions on contrast to a scrollable page content). Defaults to `window.pageYOffset`.
526
+ */
527
+ page_offset?: AutocompletePageOffset;
528
+
529
+ /**
530
+ * Set a HTML element, either as a selector or a DOM element. Can be used to send in an element which will be used to make the <em>direction calculation</em> on.
531
+ */
532
+ observer_element?: AutocompleteObserverElement;
533
+
534
+ /**
535
+ * Defines if the minimum height (in `rem`) of the options list. Defaults to `10rem`.
536
+ */
537
+ min_height?: AutocompleteMinHeight;
538
+
539
+ /**
540
+ * If set to true, the HTML body will get locked from scrolling. Defaults to `false`.
541
+ */
542
+ enable_body_lock?: boolean;
512
543
  class?: string;
513
544
  className?: string;
514
545
 
@@ -518,6 +549,7 @@ export interface AutocompleteProps extends React.HTMLProps<HTMLElement> {
518
549
  children?: AutocompleteChildren;
519
550
  custom_element?: Object;
520
551
  custom_method?: (...args: any[]) => any;
552
+ ariaLiveDelay?: number;
521
553
 
522
554
  /**
523
555
  * Will be called once the user presses the autocomplete. Returns the data item `{ data, attributes }`.
@@ -23,7 +23,7 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
23
23
  var _IconPrimary, _AlignmentHelper;
24
24
 
25
25
  var _excluded = ["fillDataIfEmpty"],
26
- _excluded2 = ["title", "placeholder", "label", "label_direction", "label_sr_only", "icon", "icon_size", "input_icon", "size", "align_autocomplete", "fixed_position", "status", "status_state", "status_props", "status_no_animation", "global_status_id", "suffix", "scrollable", "focusable", "keep_open", "keep_value", "keep_value_and_selection", "show_clear_button", "prevent_close", "no_animation", "no_scroll_animation", "show_submit_button", "submit_element", "input_element", "options_render", "prevent_selection", "max_height", "default_value", "search_numbers", "search_in_word_index", "show_options_sr", "submit_button_title", "submit_button_icon", "portal_class", "drawer_class", "input_ref", "className", "class", "disabled", "stretch", "skeleton", "triangle_position", "icon_position", "skip_portal", "mode", "data", "children", "direction", "id", "opened", "value", "input_value", "indicator_label", "no_options", "show_all", "aria_live_options", "disable_highlighting"];
26
+ _excluded2 = ["title", "placeholder", "label", "label_direction", "label_sr_only", "icon", "icon_size", "input_icon", "size", "align_autocomplete", "fixed_position", "status", "status_state", "status_props", "status_no_animation", "global_status_id", "suffix", "scrollable", "focusable", "keep_open", "keep_value", "keep_value_and_selection", "show_clear_button", "prevent_close", "no_animation", "no_scroll_animation", "show_submit_button", "submit_element", "input_element", "options_render", "prevent_selection", "max_height", "default_value", "search_numbers", "search_in_word_index", "show_options_sr", "selected_sr", "submit_button_title", "submit_button_icon", "portal_class", "drawer_class", "input_ref", "className", "class", "disabled", "stretch", "skeleton", "triangle_position", "icon_position", "skip_portal", "mode", "data", "children", "direction", "id", "opened", "value", "input_value", "indicator_label", "no_options", "show_all", "aria_live_options", "disable_highlighting", "ariaLiveDelay"];
27
27
 
28
28
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
29
29
 
@@ -71,7 +71,7 @@ import FormStatus from '../form-status/FormStatus';
71
71
  import IconPrimary from '../icon-primary/IconPrimary';
72
72
  import Input, { SubmitButton } from '../input/Input';
73
73
  import ProgressIndicator from '../progress-indicator/ProgressIndicator';
74
- import DrawerList from '../../fragments/drawer-list/DrawerList';
74
+ import DrawerList, { ItemContent } from '../../fragments/drawer-list/DrawerList';
75
75
  import DrawerListContext from '../../fragments/drawer-list/DrawerListContext';
76
76
  import DrawerListProvider from '../../fragments/drawer-list/DrawerListProvider';
77
77
  import { drawerListPropTypes, parseContentTitle, getCurrentData } from '../../fragments/drawer-list/DrawerListHelpers';
@@ -128,6 +128,7 @@ _defineProperty(Autocomplete, "defaultProps", {
128
128
  aria_live_options: null,
129
129
  indicator_label: null,
130
130
  show_options_sr: null,
131
+ selected_sr: null,
131
132
  submit_button_title: null,
132
133
  submit_button_icon: 'chevron_down',
133
134
  input_ref: null,
@@ -179,11 +180,16 @@ _defineProperty(Autocomplete, "defaultProps", {
179
180
  skeleton: null,
180
181
  portal_class: null,
181
182
  drawer_class: null,
183
+ page_offset: null,
184
+ observer_element: null,
185
+ min_height: null,
186
+ enable_body_lock: false,
182
187
  class: null,
183
188
  className: null,
184
189
  children: null,
185
190
  custom_element: null,
186
191
  custom_method: null,
192
+ ariaLiveDelay: null,
187
193
  on_show: null,
188
194
  on_hide: null,
189
195
  on_type: null,
@@ -206,6 +212,7 @@ process.env.NODE_ENV !== "production" ? Autocomplete.propTypes = _objectSpread(_
206
212
  aria_live_options: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
207
213
  indicator_label: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
208
214
  show_options_sr: PropTypes.string,
215
+ selected_sr: PropTypes.string,
209
216
  submit_button_title: PropTypes.string,
210
217
  submit_button_icon: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.func]),
211
218
  input_ref: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
@@ -245,6 +252,7 @@ process.env.NODE_ENV !== "production" ? Autocomplete.propTypes = _objectSpread(_
245
252
  input_element: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),
246
253
  data: PropTypes.oneOfType([PropTypes.oneOfType([PropTypes.string, PropTypes.func, PropTypes.node, PropTypes.object]), PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOfType([PropTypes.string, PropTypes.node]), PropTypes.shape({
247
254
  selected_value: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
255
+ suffix_value: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
248
256
  content: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.arrayOf(PropTypes.string)])
249
257
  })]))]),
250
258
  search_in_word_index: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
@@ -261,11 +269,16 @@ process.env.NODE_ENV !== "production" ? Autocomplete.propTypes = _objectSpread(_
261
269
  skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
262
270
  portal_class: PropTypes.string,
263
271
  drawer_class: PropTypes.string,
272
+ page_offset: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
273
+ observer_element: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
274
+ min_height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
275
+ enable_body_lock: PropTypes.bool,
264
276
  class: PropTypes.string,
265
277
  className: PropTypes.string,
266
278
  children: PropTypes.oneOfType([PropTypes.string, PropTypes.func, PropTypes.node, PropTypes.object, PropTypes.array]),
267
279
  custom_element: PropTypes.object,
268
280
  custom_method: PropTypes.func,
281
+ ariaLiveDelay: PropTypes.number,
269
282
  on_show: PropTypes.func,
270
283
  on_type: PropTypes.func,
271
284
  on_focus: PropTypes.func,
@@ -839,16 +852,16 @@ var AutocompleteInstance = function (_React$PureComponent2) {
839
852
  };
840
853
  });
841
854
 
842
- _defineProperty(_assertThisInitialized(_this2), "hasShowMore", function () {
855
+ _defineProperty(_assertThisInitialized(_this2), "hasInjectedDataItem", function () {
843
856
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this2.context.drawerList.data;
844
857
  var lastItem = data.slice(-1)[0];
845
- return lastItem && lastItem.show_all === true;
858
+ return lastItem ? lastItem.show_all || lastItem.__id === 'no_options' : false;
846
859
  });
847
860
 
848
861
  _defineProperty(_assertThisInitialized(_this2), "countData", function () {
849
862
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this2.context.drawerList.data;
850
863
  var count = data.length;
851
- return count > 0 && _this2.hasShowMore(data) ? count - 1 : count;
864
+ return count > 0 && _this2.hasInjectedDataItem(data) ? count - 1 : count;
852
865
  });
853
866
 
854
867
  _defineProperty(_assertThisInitialized(_this2), "hasValidData", function () {
@@ -1411,10 +1424,13 @@ var AutocompleteInstance = function (_React$PureComponent2) {
1411
1424
  var opened = this.context.drawerList.opened;
1412
1425
  var _this$_props = this._props,
1413
1426
  aria_live_options = _this$_props.aria_live_options,
1414
- no_options = _this$_props.no_options;
1427
+ no_options = _this$_props.no_options,
1428
+ _this$_props$ariaLive = _this$_props.ariaLiveDelay,
1429
+ ariaLiveDelay = _this$_props$ariaLive === void 0 ? 1000 : _this$_props$ariaLive;
1415
1430
  clearTimeout(this._ariaLiveUpdateTimeout);
1416
- this._ariaLiveUpdateTimeout = setTimeout(function () {
1417
- if (opened) {
1431
+
1432
+ if (opened) {
1433
+ this._ariaLiveUpdateTimeout = setTimeout(function () {
1418
1434
  var newString = null;
1419
1435
 
1420
1436
  var count = _this5.countData();
@@ -1436,14 +1452,33 @@ var AutocompleteInstance = function (_React$PureComponent2) {
1436
1452
  ariaLiveUpdate: null,
1437
1453
  _listenForPropChanges: false
1438
1454
  });
1439
- }, 1e3);
1455
+ }, 1000);
1440
1456
  }
1441
- }
1442
- }, 1e3);
1457
+ }, ariaLiveDelay);
1458
+ }
1459
+ }
1460
+ }, {
1461
+ key: "getVocieOverActiveItem",
1462
+ value: function getVocieOverActiveItem(selected_sr) {
1463
+ if (IS_MAC) {
1464
+ var _this$context$drawerL = this.context.drawerList,
1465
+ active_item = _this$context$drawerL.active_item,
1466
+ selected_item = _this$context$drawerL.selected_item;
1467
+ var currentDataItem = getCurrentData(active_item, this.context.drawerList.data);
1468
+ return React.createElement("span", {
1469
+ className: "dnb-sr-only",
1470
+ "aria-live": "assertive",
1471
+ "aria-atomic": true
1472
+ }, currentDataItem && React.createElement(React.Fragment, null, active_item === selected_item ? React.createElement(React.Fragment, null, selected_sr, " ") : null, React.createElement(ItemContent, null, currentDataItem)));
1473
+ }
1474
+
1475
+ return null;
1443
1476
  }
1444
1477
  }, {
1445
1478
  key: "render",
1446
1479
  value: function render() {
1480
+ var _getCurrentData;
1481
+
1447
1482
  var props = this._props = extendPropsWithContext(this.props, Autocomplete.defaultProps, this.context.getTranslation(this.props).Autocomplete, this.context.FormRow, this.context.Autocomplete);
1448
1483
 
1449
1484
  var title = props.title,
@@ -1482,6 +1517,7 @@ var AutocompleteInstance = function (_React$PureComponent2) {
1482
1517
  search_numbers = props.search_numbers,
1483
1518
  search_in_word_index = props.search_in_word_index,
1484
1519
  show_options_sr = props.show_options_sr,
1520
+ selected_sr = props.selected_sr,
1485
1521
  submit_button_title = props.submit_button_title,
1486
1522
  submit_button_icon = props.submit_button_icon,
1487
1523
  portal_class = props.portal_class,
@@ -1508,6 +1544,7 @@ var AutocompleteInstance = function (_React$PureComponent2) {
1508
1544
  show_all = props.show_all,
1509
1545
  aria_live_options = props.aria_live_options,
1510
1546
  disable_highlighting = props.disable_highlighting,
1547
+ ariaLiveDelay = props.ariaLiveDelay,
1511
1548
  attributes = _objectWithoutProperties(props, _excluded2);
1512
1549
 
1513
1550
  var id = this._id;
@@ -1516,12 +1553,12 @@ var AutocompleteInstance = function (_React$PureComponent2) {
1516
1553
  inputValue = _this$state.inputValue,
1517
1554
  visibleIndicator = _this$state.visibleIndicator,
1518
1555
  ariaLiveUpdate = _this$state.ariaLiveUpdate;
1519
- var _this$context$drawerL = this.context.drawerList,
1520
- hidden = _this$context$drawerL.hidden,
1521
- selected_item = _this$context$drawerL.selected_item,
1522
- active_item = _this$context$drawerL.active_item,
1523
- direction = _this$context$drawerL.direction,
1524
- opened = _this$context$drawerL.opened;
1556
+ var _this$context$drawerL2 = this.context.drawerList,
1557
+ hidden = _this$context$drawerL2.hidden,
1558
+ selected_item = _this$context$drawerL2.selected_item,
1559
+ active_item = _this$context$drawerL2.active_item,
1560
+ direction = _this$context$drawerL2.direction,
1561
+ opened = _this$context$drawerL2.opened;
1525
1562
  var isExpanded = Boolean(opened) && this.hasValidData();
1526
1563
  delete attributes.onBlur;
1527
1564
  this.attributes = validateDOMAttributes(null, attributes);
@@ -1643,6 +1680,7 @@ var AutocompleteInstance = function (_React$PureComponent2) {
1643
1680
  status: status ? status_state : null,
1644
1681
  status_state: status_state,
1645
1682
  type: null,
1683
+ inner_element: (_getCurrentData = getCurrentData(selected_item, this.context.drawerList.original_data)) === null || _getCurrentData === void 0 ? void 0 : _getCurrentData.suffix_value,
1646
1684
  submit_element: submitButton,
1647
1685
  input_state: this.state.skipFocusDuringChange ? 'focus' : undefined,
1648
1686
  clear: isTrue(show_clear_button),
@@ -1681,16 +1719,12 @@ var AutocompleteInstance = function (_React$PureComponent2) {
1681
1719
  on_hide: this.onHideHandler,
1682
1720
  on_pre_change: this.onPreChangeHandler,
1683
1721
  on_key_down: this.onReserveActivityHandler,
1684
- onMouseDown: this.onReserveActivityHandler,
1685
- onTouchStart: this.onReserveActivityHandler
1722
+ onMouseDown: this.onReserveActivityHandler
1686
1723
  })), suffix && React.createElement(Suffix, {
1687
1724
  className: "dnb-autocomplete__suffix",
1688
1725
  id: id + '-suffix',
1689
1726
  context: props
1690
- }, suffix))), IS_MAC && React.createElement("span", {
1691
- className: "dnb-sr-only",
1692
- "aria-live": "assertive"
1693
- }, AutocompleteInstance.getCurrentDataTitle(active_item, this.context.drawerList.original_data)), React.createElement("span", {
1727
+ }, suffix))), this.getVocieOverActiveItem(selected_sr), React.createElement("span", {
1694
1728
  className: "dnb-sr-only",
1695
1729
  "aria-live": "assertive"
1696
1730
  }, ariaLiveUpdate));
@@ -76,6 +76,11 @@
76
76
  justify-content: center;
77
77
  align-items: center;
78
78
 
79
+ .dnb-drawer-list__option__item {
80
+ display: flex;
81
+ flex-direction: column;
82
+ }
83
+
79
84
  .dnb-icon {
80
85
  align-self: center;
81
86
  }
@@ -98,20 +103,66 @@
98
103
  width: 100%;
99
104
  }
100
105
  }
101
- &--show-indicator &__input .dnb-input__icon {
102
- color: transparent;
103
- }
106
+
104
107
  &--opened .dnb-input__submit-button__button .dnb-icon {
105
108
  transform: rotate(180deg);
106
109
  transform-origin: 50% 50%;
107
110
  }
108
111
  .dnb-input__submit-button__button .dnb-icon {
109
112
  transition: transform 400ms ease-out;
113
+
114
+ html[data-visual-test] & {
115
+ transition-duration: 1ms !important;
116
+ }
110
117
  }
111
118
 
112
- &__shell,
113
- &__input {
114
- border-radius: var(--autocomplete-border-radius);
119
+ // Support for "suffix_value"
120
+ .dnb-input {
121
+ &__inner__element {
122
+ position: relative;
123
+ z-index: 3;
124
+ }
125
+
126
+ &--has-submit-element .dnb-input__placeholder,
127
+ &--has-submit-element .dnb-input__input {
128
+ @include allAbove(small) {
129
+ // same width of submit button
130
+ padding-right: 0 !important; // use important so we avoid to have all sizes in addition
131
+ }
132
+ @include allBelow(small) {
133
+ // same width of submit button
134
+ padding-right: 2.5rem !important; // use important so we avoid to have all sizes in addition
135
+ }
136
+ }
137
+
138
+ &__inner__element.dnb-p {
139
+ pointer-events: none;
140
+ white-space: nowrap;
141
+ padding: 0 0.5rem;
142
+
143
+ @include allBelow(small) {
144
+ display: none;
145
+ }
146
+ }
147
+
148
+ &__inner__element.dnb-p,
149
+ .dnb-spacing &__inner__element.dnb-p {
150
+ margin: 0;
151
+ }
152
+
153
+ &--has-submit-element .dnb-input__inner__element {
154
+ // same width of submit button
155
+ margin-right: 2.5rem !important; // use important so we avoid to have all sizes in addition
156
+ }
157
+ }
158
+ &--icon-position-right .dnb-input {
159
+ // stylelint-disable-next-line
160
+ &__inner__element.dnb-p {
161
+ padding-right: 3rem;
162
+ }
163
+ &--icon-position-right &--icon-position-right#{&}--has-icon &__input {
164
+ padding-right: 1rem;
165
+ }
115
166
  }
116
167
 
117
168
  &__text {