@equinor/eds-core-react 2.3.4 → 2.3.6-beta.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 (262) hide show
  1. package/build/index.css +186 -304
  2. package/build/index.min.css +1 -5
  3. package/dist/eds-core-react.cjs +233 -47
  4. package/dist/esm/components/Accordion/{Accordion.mjs → Accordion.js} +2 -2
  5. package/dist/esm/components/Accordion/{AccordionHeader.mjs → AccordionHeader.js} +4 -4
  6. package/dist/esm/components/Accordion/{index.mjs → index.js} +6 -6
  7. package/dist/esm/components/Autocomplete/{AddNewOption.mjs → AddNewOption.js} +5 -5
  8. package/dist/esm/components/Autocomplete/{Autocomplete.mjs → Autocomplete.js} +9 -9
  9. package/dist/esm/components/Autocomplete/{Autocomplete.tokens.mjs → Autocomplete.tokens.js} +1 -1
  10. package/dist/esm/components/Autocomplete/{AutocompleteContext.mjs → AutocompleteContext.js} +2 -2
  11. package/dist/esm/components/Autocomplete/{EmptyOption.mjs → EmptyOption.js} +2 -2
  12. package/dist/esm/components/Autocomplete/{MultipleInput.mjs → MultipleInput.js} +5 -5
  13. package/dist/esm/components/Autocomplete/{Option.mjs → Option.js} +13 -4
  14. package/dist/esm/components/Autocomplete/{OptionList.mjs → OptionList.js} +14 -12
  15. package/dist/esm/components/Autocomplete/{RightAdornments.mjs → RightAdornments.js} +4 -4
  16. package/dist/esm/components/Autocomplete/{SelectAllOption.mjs → SelectAllOption.js} +4 -4
  17. package/dist/esm/components/Autocomplete/{SingleInput.mjs → SingleInput.js} +3 -3
  18. package/dist/esm/components/Autocomplete/{useAutocomplete.mjs → useAutocomplete.js} +17 -6
  19. package/dist/esm/components/Autocomplete/{utils.mjs → utils.js} +2 -2
  20. package/dist/esm/components/Avatar/{Avatar.mjs → Avatar.js} +1 -1
  21. package/dist/esm/components/Banner/{Banner.mjs → Banner.js} +5 -5
  22. package/dist/esm/components/Banner/{Banner.tokens.mjs → Banner.tokens.js} +2 -10
  23. package/dist/esm/components/Banner/{BannerIcon.mjs → BannerIcon.js} +2 -2
  24. package/dist/esm/components/Banner/{BannerMessage.mjs → BannerMessage.js} +1 -1
  25. package/dist/esm/components/Banner/{index.mjs → index.js} +4 -4
  26. package/dist/esm/components/Breadcrumbs/{Breadcrumb.mjs → Breadcrumb.js} +3 -3
  27. package/dist/esm/components/Breadcrumbs/{Breadcrumbs.mjs → Breadcrumbs.js} +2 -2
  28. package/dist/esm/components/Breadcrumbs/{index.mjs → index.js} +2 -2
  29. package/dist/esm/components/Button/{Button.mjs → Button.js} +3 -3
  30. package/dist/esm/components/Button/ButtonGroup/{ButtonGroup.mjs → ButtonGroup.js} +1 -1
  31. package/dist/esm/components/Button/ToggleButton/{ToggleButton.mjs → ToggleButton.js} +2 -2
  32. package/dist/esm/components/Button/{index.mjs → index.js} +3 -3
  33. package/dist/esm/components/Button/tokens/{contained.mjs → contained.js} +2 -2
  34. package/dist/esm/components/Button/tokens/{contained_icon.mjs → contained_icon.js} +2 -2
  35. package/dist/esm/components/Button/tokens/{ghost.mjs → ghost.js} +2 -2
  36. package/dist/esm/components/Button/tokens/{icon.mjs → icon.js} +2 -2
  37. package/dist/esm/components/Button/tokens/{index.mjs → index.js} +5 -5
  38. package/dist/esm/components/Button/tokens/{outlined.mjs → outlined.js} +2 -2
  39. package/dist/esm/components/Card/{Card.mjs → Card.js} +2 -2
  40. package/dist/esm/components/Card/{CardActions.mjs → CardActions.js} +2 -2
  41. package/dist/esm/components/Card/{CardContent.mjs → CardContent.js} +1 -1
  42. package/dist/esm/components/Card/{CardHeader.mjs → CardHeader.js} +1 -1
  43. package/dist/esm/components/Card/{CardMedia.mjs → CardMedia.js} +1 -1
  44. package/dist/esm/components/Card/{index.mjs → index.js} +6 -6
  45. package/dist/esm/components/Checkbox/{Checkbox.mjs → Checkbox.js} +2 -2
  46. package/dist/esm/components/Checkbox/{Input.mjs → Input.js} +2 -2
  47. package/dist/esm/components/Chip/{Chip.mjs → Chip.js} +3 -3
  48. package/dist/esm/components/Chip/{Chip.tokens.mjs → Chip.tokens.js} +0 -2
  49. package/dist/esm/components/Chip/{Icon.mjs → Icon.js} +2 -2
  50. package/dist/esm/components/Datepicker/{DatePicker.mjs → DatePicker.js} +13 -10
  51. package/dist/esm/components/Datepicker/{DateRangePicker.mjs → DateRangePicker.js} +13 -10
  52. package/dist/esm/components/Datepicker/calendars/{Calendar.mjs → Calendar.js} +4 -4
  53. package/dist/esm/components/Datepicker/calendars/{CalendarCell.mjs → CalendarCell.js} +2 -2
  54. package/dist/esm/components/Datepicker/calendars/{CalendarGrid.mjs → CalendarGrid.js} +6 -10
  55. package/dist/esm/components/Datepicker/calendars/{CalendarHeader.mjs → CalendarHeader.js} +9 -9
  56. package/dist/esm/components/Datepicker/calendars/{RangeCalendar.mjs → RangeCalendar.js} +4 -4
  57. package/dist/esm/components/Datepicker/calendars/{YearGrid.mjs → YearGrid.js} +1 -1
  58. package/dist/esm/components/Datepicker/fields/{DateField.mjs → DateField.js} +2 -2
  59. package/dist/esm/components/Datepicker/fields/{DateFieldSegments.mjs → DateFieldSegments.js} +12 -3
  60. package/dist/esm/components/Datepicker/fields/{DateRangeField.mjs → DateRangeField.js} +3 -3
  61. package/dist/esm/components/Datepicker/fields/{DateSegment.mjs → DateSegment.js} +5 -2
  62. package/dist/esm/components/Datepicker/fields/{FieldWrapper.mjs → FieldWrapper.js} +3 -3
  63. package/dist/esm/components/Datepicker/fields/{Toggle.mjs → Toggle.js} +2 -2
  64. package/dist/esm/components/Datepicker/utils/{get-calendar-date.mjs → get-calendar-date.js} +1 -1
  65. package/dist/esm/components/Datepicker/utils/getLocalizedValidationErrors.js +164 -0
  66. package/dist/esm/components/Datepicker/utils/{useConvertedValidationFunctions.mjs → useConvertedValidationFunctions.js} +1 -1
  67. package/dist/esm/components/Dialog/{Dialog.mjs → Dialog.js} +3 -3
  68. package/dist/esm/components/Dialog/{DialogContent.mjs → DialogContent.js} +1 -1
  69. package/dist/esm/components/Dialog/{DialogHeader.mjs → DialogHeader.js} +1 -1
  70. package/dist/esm/components/Dialog/{index.mjs → index.js} +5 -5
  71. package/dist/esm/components/Divider/{Divider.mjs → Divider.js} +1 -1
  72. package/dist/esm/components/EdsProvider/{eds.context.mjs → eds.context.js} +1 -1
  73. package/dist/esm/components/Icon/{Icon.mjs → Icon.js} +1 -1
  74. package/dist/esm/components/Icon/index.js +7 -0
  75. package/dist/esm/components/Input/{Input.mjs → Input.js} +2 -2
  76. package/dist/esm/components/Input/{Input.tokens.mjs → Input.tokens.js} +1 -1
  77. package/dist/esm/components/InputWrapper/HelperText/{HelperText.mjs → HelperText.js} +1 -1
  78. package/dist/esm/components/InputWrapper/{InputWrapper.mjs → InputWrapper.js} +4 -4
  79. package/dist/esm/components/InputWrapper/{InputWrapper.tokens.mjs → InputWrapper.tokens.js} +1 -1
  80. package/dist/esm/components/Label/{Label.mjs → Label.js} +1 -1
  81. package/dist/esm/components/List/{List.mjs → List.js} +1 -1
  82. package/dist/esm/components/List/{index.mjs → index.js} +2 -2
  83. package/dist/esm/components/Menu/{Menu.context.mjs → Menu.context.js} +1 -1
  84. package/dist/esm/components/Menu/{Menu.mjs → Menu.js} +5 -5
  85. package/dist/esm/components/Menu/{MenuItem.mjs → MenuItem.js} +2 -2
  86. package/dist/esm/components/Menu/{MenuList.mjs → MenuList.js} +4 -4
  87. package/dist/esm/components/Menu/{MenuSection.mjs → MenuSection.js} +3 -3
  88. package/dist/esm/components/Menu/{index.mjs → index.js} +3 -3
  89. package/dist/esm/components/Pagination/{Pagination.mjs → Pagination.js} +6 -6
  90. package/dist/esm/components/Pagination/{PaginationItem.mjs → PaginationItem.js} +2 -2
  91. package/dist/esm/components/Paper/{Paper.mjs → Paper.js} +1 -1
  92. package/dist/esm/components/Popover/{Popover.mjs → Popover.js} +7 -7
  93. package/dist/esm/components/Popover/{PopoverHeader.mjs → PopoverHeader.js} +1 -1
  94. package/dist/esm/components/Popover/{index.mjs → index.js} +5 -5
  95. package/dist/esm/components/Progress/Circular/{CircularProgress.mjs → CircularProgress.js} +1 -1
  96. package/dist/esm/components/Progress/Dots/{DotProgress.mjs → DotProgress.js} +1 -1
  97. package/dist/esm/components/Progress/Linear/{LinearProgress.mjs → LinearProgress.js} +1 -1
  98. package/dist/esm/components/Progress/Star/{StarProgress.mjs → StarProgress.js} +1 -1
  99. package/dist/esm/components/Progress/index.js +13 -0
  100. package/dist/esm/components/Radio/{Radio.mjs → Radio.js} +2 -2
  101. package/dist/esm/components/Scrim/{Scrim.mjs → Scrim.js} +1 -1
  102. package/dist/esm/components/Search/{Search.mjs → Search.js} +4 -4
  103. package/dist/esm/components/Select/{NativeSelect.mjs → NativeSelect.js} +3 -3
  104. package/dist/esm/components/SideBar/{SideBar.context.mjs → SideBar.context.js} +1 -1
  105. package/dist/esm/components/SideBar/{SideBar.mjs → SideBar.js} +3 -3
  106. package/dist/esm/components/SideBar/SideBarAccordion/{index.mjs → index.js} +6 -6
  107. package/dist/esm/components/SideBar/SideBarAccordionItem/{index.mjs → index.js} +3 -3
  108. package/dist/esm/components/SideBar/SideBarButton/{index.mjs → index.js} +5 -5
  109. package/dist/esm/components/SideBar/{SideBarToggle.mjs → SideBarToggle.js} +5 -5
  110. package/dist/esm/components/SideBar/SidebarLink/{index.mjs → index.js} +5 -5
  111. package/dist/esm/components/SideBar/{index.mjs → index.js} +8 -8
  112. package/dist/esm/components/SideSheet/{SideSheet.mjs → SideSheet.js} +4 -4
  113. package/dist/esm/components/Slider/{MinMax.mjs → MinMax.js} +1 -1
  114. package/dist/esm/components/Slider/{Output.mjs → Output.js} +1 -1
  115. package/dist/esm/components/Slider/{Slider.mjs → Slider.js} +4 -4
  116. package/dist/esm/components/Slider/{SliderInput.mjs → SliderInput.js} +1 -1
  117. package/dist/esm/components/Snackbar/{Snackbar.mjs → Snackbar.js} +3 -3
  118. package/dist/esm/components/Snackbar/index.js +7 -0
  119. package/dist/esm/components/Switch/{Switch.mjs → Switch.js} +4 -4
  120. package/dist/esm/components/Switch/{SwitchDefault.mjs → SwitchDefault.js} +1 -1
  121. package/dist/esm/components/Switch/{SwitchSmall.mjs → SwitchSmall.js} +1 -1
  122. package/dist/esm/components/Table/{Body.mjs → Body.js} +1 -1
  123. package/dist/esm/components/Table/{Cell.mjs → Cell.js} +4 -4
  124. package/dist/esm/components/Table/DataCell/{DataCell.mjs → DataCell.js} +3 -3
  125. package/dist/esm/components/Table/DataCell/{DataCell.tokens.mjs → DataCell.tokens.js} +1 -1
  126. package/dist/esm/components/Table/Foot/{Foot.mjs → Foot.js} +2 -2
  127. package/dist/esm/components/Table/FooterCell/{FooterCell.mjs → FooterCell.js} +3 -3
  128. package/dist/esm/components/Table/Head/{Head.mjs → Head.js} +2 -2
  129. package/dist/esm/components/Table/HeaderCell/{HeaderCell.mjs → HeaderCell.js} +3 -3
  130. package/dist/esm/components/Table/Row/{Row.mjs → Row.js} +1 -1
  131. package/dist/esm/components/Table/{Table.mjs → Table.js} +1 -1
  132. package/dist/esm/components/Table/{index.mjs → index.js} +7 -7
  133. package/dist/esm/components/TableOfContents/{TableOfContents.mjs → TableOfContents.js} +4 -4
  134. package/dist/esm/components/TableOfContents/{index.mjs → index.js} +2 -2
  135. package/dist/esm/components/Tabs/{TabList.mjs → TabList.js} +1 -1
  136. package/dist/esm/components/Tabs/{TabPanels.mjs → TabPanels.js} +1 -1
  137. package/dist/esm/components/Tabs/{Tabs.mjs → Tabs.js} +3 -3
  138. package/dist/esm/components/Tabs/{index.mjs → index.js} +5 -5
  139. package/dist/esm/components/TextField/{TextField.mjs → TextField.js} +3 -3
  140. package/dist/esm/components/Textarea/{Textarea.mjs → Textarea.js} +6 -6
  141. package/dist/esm/components/Tooltip/{Tooltip.mjs → Tooltip.js} +2 -2
  142. package/dist/esm/components/TopBar/{TopBar.mjs → TopBar.js} +3 -3
  143. package/dist/esm/components/TopBar/{index.mjs → index.js} +4 -4
  144. package/dist/esm/components/Typography/{Heading.mjs → Heading.js} +1 -1
  145. package/dist/esm/components/Typography/{Paragraph.mjs → Paragraph.js} +1 -1
  146. package/dist/esm/components/Typography/{Typography.mjs → Typography.js} +1 -1
  147. package/dist/esm/index.js +100 -0
  148. package/dist/esm/node_modules/.pnpm/ramda@0.32.0/node_modules/ramda/es/internal/{_curry1.mjs → _curry1.js} +1 -1
  149. package/dist/esm/node_modules/.pnpm/ramda@0.32.0/node_modules/ramda/es/internal/{_curry2.mjs → _curry2.js} +2 -2
  150. package/dist/esm/node_modules/.pnpm/ramda@0.32.0/node_modules/ramda/es/internal/{_curry3.mjs → _curry3.js} +3 -3
  151. package/dist/esm/node_modules/.pnpm/ramda@0.32.0/node_modules/ramda/es/{mergeDeepRight.mjs → mergeDeepRight.js} +2 -2
  152. package/dist/esm/node_modules/.pnpm/ramda@0.32.0/node_modules/ramda/es/{mergeDeepWithKey.mjs → mergeDeepWithKey.js} +3 -3
  153. package/dist/esm/node_modules/.pnpm/ramda@0.32.0/node_modules/ramda/es/{mergeWith.mjs → mergeWith.js} +2 -2
  154. package/dist/esm/node_modules/.pnpm/ramda@0.32.0/node_modules/ramda/es/{mergeWithKey.mjs → mergeWithKey.js} +2 -2
  155. package/dist/esm/node_modules/.pnpm/ramda@0.32.0/node_modules/ramda/es/{pickBy.mjs → pickBy.js} +1 -1
  156. package/dist/esm-next/components/Tooltip/{Tooltip.mjs → Tooltip.js} +2 -2
  157. package/dist/esm-next/components/next/Button/{Button.mjs → Button.js} +5 -6
  158. package/dist/esm-next/components/next/Checkbox/{Checkbox.mjs → Checkbox.js} +2 -2
  159. package/dist/esm-next/components/next/Field/{Field.Description.mjs → Field.Description.js} +1 -1
  160. package/dist/esm-next/components/next/Field/{Field.HelperMessage.mjs → Field.HelperMessage.js} +1 -1
  161. package/dist/esm-next/components/next/Field/{Field.Label.mjs → Field.Label.js} +1 -1
  162. package/dist/esm-next/components/next/Field/{Field.mjs → Field.js} +3 -3
  163. package/dist/esm-next/components/next/Icon/{Icon.mjs → Icon.js} +27 -1
  164. package/dist/esm-next/components/next/Input/{Input.mjs → Input.js} +7 -12
  165. package/dist/esm-next/components/next/Radio/{Radio.mjs → Radio.js} +2 -2
  166. package/dist/esm-next/components/next/Switch/{Switch.mjs → Switch.js} +1 -1
  167. package/dist/esm-next/components/next/TextField/{TextField.mjs → TextField.js} +13 -7
  168. package/dist/esm-next/index.next.js +9 -0
  169. package/dist/index.next.cjs +44 -19
  170. package/dist/types/components/Autocomplete/Autocomplete.d.ts +1 -1
  171. package/dist/types/components/Autocomplete/AutocompleteContext.d.ts +2 -2
  172. package/dist/types/components/Autocomplete/useAutocomplete.d.ts +3 -2
  173. package/dist/types/components/Datepicker/DateRangePicker.d.ts +1 -1
  174. package/dist/types/components/Datepicker/utils/getLocalizedValidationErrors.d.ts +9 -0
  175. package/dist/types/components/SideBar/SideBarButton/index.d.ts +1 -1
  176. package/dist/types/components/next/Icon/Icon.d.ts +0 -1
  177. package/dist/types/components/next/Input/Input.types.d.ts +6 -4
  178. package/dist/types/components/next/TextField/TextField.d.ts +1 -0
  179. package/package.json +46 -39
  180. package/dist/esm/components/Icon/index.mjs +0 -7
  181. package/dist/esm/components/Progress/index.mjs +0 -13
  182. package/dist/esm/components/Snackbar/index.mjs +0 -7
  183. package/dist/esm/index.mjs +0 -100
  184. package/dist/esm-next/index.next.mjs +0 -9
  185. /package/dist/esm/components/Accordion/{Accordion.tokens.mjs → Accordion.tokens.js} +0 -0
  186. /package/dist/esm/components/Accordion/{AccordionHeaderActions.mjs → AccordionHeaderActions.js} +0 -0
  187. /package/dist/esm/components/Accordion/{AccordionHeaderTitle.mjs → AccordionHeaderTitle.js} +0 -0
  188. /package/dist/esm/components/Accordion/{AccordionItem.mjs → AccordionItem.js} +0 -0
  189. /package/dist/esm/components/Accordion/{AccordionPanel.mjs → AccordionPanel.js} +0 -0
  190. /package/dist/esm/components/Avatar/{Avatar.tokens.mjs → Avatar.tokens.js} +0 -0
  191. /package/dist/esm/components/Banner/{BannerActions.mjs → BannerActions.js} +0 -0
  192. /package/dist/esm/components/Breadcrumbs/{Breadcrumbs.tokens.mjs → Breadcrumbs.tokens.js} +0 -0
  193. /package/dist/esm/components/Button/ButtonGroup/{ButtonGroup.tokens.mjs → ButtonGroup.tokens.js} +0 -0
  194. /package/dist/esm/components/Button/{InnerFullWidth.mjs → InnerFullWidth.js} +0 -0
  195. /package/dist/esm/components/Button/tokens/{button.mjs → button.js} +0 -0
  196. /package/dist/esm/components/Card/{Card.tokens.mjs → Card.tokens.js} +0 -0
  197. /package/dist/esm/components/Card/{CardHeaderTitle.mjs → CardHeaderTitle.js} +0 -0
  198. /package/dist/esm/components/Checkbox/{Checkbox.tokens.mjs → Checkbox.tokens.js} +0 -0
  199. /package/dist/esm/components/Datepicker/calendars/{CalendarWrapper.mjs → CalendarWrapper.js} +0 -0
  200. /package/dist/esm/components/Datepicker/utils/{context.mjs → context.js} +0 -0
  201. /package/dist/esm/components/Datepicker/utils/{getPageYears.mjs → getPageYears.js} +0 -0
  202. /package/dist/esm/components/Datepicker/utils/{useGetLocale.mjs → useGetLocale.js} +0 -0
  203. /package/dist/esm/components/Dialog/{Dialog.tokens.mjs → Dialog.tokens.js} +0 -0
  204. /package/dist/esm/components/Dialog/{DialogActions.mjs → DialogActions.js} +0 -0
  205. /package/dist/esm/components/Dialog/{DialogTitle.mjs → DialogTitle.js} +0 -0
  206. /package/dist/esm/components/Divider/{Divider.tokens.mjs → Divider.tokens.js} +0 -0
  207. /package/dist/esm/components/Icon/{library.mjs → library.js} +0 -0
  208. /package/dist/esm/components/InputWrapper/HelperText/{HelperText.token.mjs → HelperText.token.js} +0 -0
  209. /package/dist/esm/components/InputWrapper/{useInputField.mjs → useInputField.js} +0 -0
  210. /package/dist/esm/components/Label/{Label.tokens.mjs → Label.tokens.js} +0 -0
  211. /package/dist/esm/components/List/{List.tokens.mjs → List.tokens.js} +0 -0
  212. /package/dist/esm/components/List/{ListItem.mjs → ListItem.js} +0 -0
  213. /package/dist/esm/components/Menu/{Menu.tokens.mjs → Menu.tokens.js} +0 -0
  214. /package/dist/esm/components/Pagination/{Pagination.tokens.mjs → Pagination.tokens.js} +0 -0
  215. /package/dist/esm/components/Pagination/{paginationControl.mjs → paginationControl.js} +0 -0
  216. /package/dist/esm/components/Paper/{Paper.tokens.mjs → Paper.tokens.js} +0 -0
  217. /package/dist/esm/components/Popover/{Popover.tokens.mjs → Popover.tokens.js} +0 -0
  218. /package/dist/esm/components/Popover/{PopoverActions.mjs → PopoverActions.js} +0 -0
  219. /package/dist/esm/components/Popover/{PopoverContent.mjs → PopoverContent.js} +0 -0
  220. /package/dist/esm/components/Popover/{PopoverTitle.mjs → PopoverTitle.js} +0 -0
  221. /package/dist/esm/components/Progress/Circular/{CircularProgress.tokens.mjs → CircularProgress.tokens.js} +0 -0
  222. /package/dist/esm/components/Progress/Dots/{DotProgress.tokens.mjs → DotProgress.tokens.js} +0 -0
  223. /package/dist/esm/components/Progress/Linear/{LinearProgress.tokens.mjs → LinearProgress.tokens.js} +0 -0
  224. /package/dist/esm/components/Progress/Star/{StarProgress.tokens.mjs → StarProgress.tokens.js} +0 -0
  225. /package/dist/esm/components/Radio/{Radio.tokens.mjs → Radio.tokens.js} +0 -0
  226. /package/dist/esm/components/Scrim/{Scrim.tokens.mjs → Scrim.tokens.js} +0 -0
  227. /package/dist/esm/components/Select/{NativeSelect.tokens.mjs → NativeSelect.tokens.js} +0 -0
  228. /package/dist/esm/components/SideBar/{SideBar.tokens.mjs → SideBar.tokens.js} +0 -0
  229. /package/dist/esm/components/SideBar/{SideBarContent.mjs → SideBarContent.js} +0 -0
  230. /package/dist/esm/components/SideBar/{SideBarFooter.mjs → SideBarFooter.js} +0 -0
  231. /package/dist/esm/components/SideSheet/{SideSheet.tokens.mjs → SideSheet.tokens.js} +0 -0
  232. /package/dist/esm/components/Slider/{Slider.tokens.mjs → Slider.tokens.js} +0 -0
  233. /package/dist/esm/components/Snackbar/{Snackbar.tokens.mjs → Snackbar.tokens.js} +0 -0
  234. /package/dist/esm/components/Snackbar/{SnackbarAction.mjs → SnackbarAction.js} +0 -0
  235. /package/dist/esm/components/Switch/{Switch.styles.mjs → Switch.styles.js} +0 -0
  236. /package/dist/esm/components/Switch/{Switch.tokens.mjs → Switch.tokens.js} +0 -0
  237. /package/dist/esm/components/Table/{Caption.mjs → Caption.js} +0 -0
  238. /package/dist/esm/components/Table/Foot/{Foot.tokens.mjs → Foot.tokens.js} +0 -0
  239. /package/dist/esm/components/Table/Head/{Head.tokens.mjs → Head.tokens.js} +0 -0
  240. /package/dist/esm/components/Table/HeaderCell/{HeaderCell.tokens.mjs → HeaderCell.tokens.js} +0 -0
  241. /package/dist/esm/components/Table/{Inner.context.mjs → Inner.context.js} +0 -0
  242. /package/dist/esm/components/Table/Row/{Row.tokens.mjs → Row.tokens.js} +0 -0
  243. /package/dist/esm/components/TableOfContents/{LinkItem.mjs → LinkItem.js} +0 -0
  244. /package/dist/esm/components/TableOfContents/{TableOfContents.tokens.mjs → TableOfContents.tokens.js} +0 -0
  245. /package/dist/esm/components/Tabs/{Tab.mjs → Tab.js} +0 -0
  246. /package/dist/esm/components/Tabs/{TabPanel.mjs → TabPanel.js} +0 -0
  247. /package/dist/esm/components/Tabs/{Tabs.context.mjs → Tabs.context.js} +0 -0
  248. /package/dist/esm/components/Tabs/{Tabs.tokens.mjs → Tabs.tokens.js} +0 -0
  249. /package/dist/esm/components/Tooltip/{Tooltip.tokens.mjs → Tooltip.tokens.js} +0 -0
  250. /package/dist/esm/components/TopBar/{Actions.mjs → Actions.js} +0 -0
  251. /package/dist/esm/components/TopBar/{CustomContent.mjs → CustomContent.js} +0 -0
  252. /package/dist/esm/components/TopBar/{Header.mjs → Header.js} +0 -0
  253. /package/dist/esm/components/TopBar/{TopBar.tokens.mjs → TopBar.tokens.js} +0 -0
  254. /package/dist/esm/components/Typography/{Typography.new.mjs → Typography.new.js} +0 -0
  255. /package/dist/esm/components/Typography/{Typography.tokens.mjs → Typography.tokens.js} +0 -0
  256. /package/dist/esm/node_modules/.pnpm/ramda@0.32.0/node_modules/ramda/es/internal/{_has.mjs → _has.js} +0 -0
  257. /package/dist/esm/node_modules/.pnpm/ramda@0.32.0/node_modules/ramda/es/internal/{_isObject.mjs → _isObject.js} +0 -0
  258. /package/dist/esm/node_modules/.pnpm/ramda@0.32.0/node_modules/ramda/es/internal/{_isPlaceholder.mjs → _isPlaceholder.js} +0 -0
  259. /package/dist/esm-next/components/EdsProvider/{eds.context.mjs → eds.context.js} +0 -0
  260. /package/dist/esm-next/components/Tooltip/{Tooltip.tokens.mjs → Tooltip.tokens.js} +0 -0
  261. /package/dist/esm-next/components/Typography/{Typography.new.mjs → Typography.new.js} +0 -0
  262. /package/dist/esm-next/components/next/Field/{useFieldIds.mjs → useFieldIds.js} +0 -0
@@ -1830,7 +1830,7 @@ const StyledTableCell$2 = styled__default.default.td.withConfig({
1830
1830
  align
1831
1831
  } = theme;
1832
1832
  const backgroundColor = color === 'error' ? theme.validation.error?.background : '';
1833
- const base = styled.css(["min-height:", ";height:", ";background:", ";vertical-align:", ";box-sizing:border-box;", " ", " ", ""], height, height, backgroundColor, align.vertical, edsUtils.spacingsTemplate(spacings), edsUtils.typographyTemplate(typography), edsUtils.bordersTemplate(border));
1833
+ const base = styled.css(["min-height:", ";height:", ";background:", ";vertical-align:", ";box-sizing:border-box;", " ", " ", " a{font-size:inherit;font-weight:inherit;}"], height, height, backgroundColor, align.vertical, edsUtils.spacingsTemplate(spacings), edsUtils.typographyTemplate(typography), edsUtils.bordersTemplate(border));
1834
1834
  return base;
1835
1835
  });
1836
1836
  const TableDataCell = /*#__PURE__*/react.forwardRef(function TableDataCell({
@@ -2011,7 +2011,7 @@ const StyledTableCell$1 = styled__default.default.th.withConfig({
2011
2011
  // Firefox specific workaround (bug in v142.0) - see issue #3910
2012
2012
  // Hardcoded padding values compensate for Firefox's incorrect table cell height calculation
2013
2013
  const firefoxFix = edsUtils.isFirefox() ? styled.css(["vertical-align:top;height:auto;min-height:", ";> div{padding:", " 0;}"], height, $density === 'compact' ? '7px' : '13px') : styled.css([""]);
2014
- return styled.css(["min-height:", ";height:", ";background:", ";box-sizing:border-box;", " ", " ", " ", " ", " ", " ", ""], height, height, background, edsUtils.spacingsTemplate(spacings), edsUtils.typographyTemplate(typography), edsUtils.bordersTemplate(theme.border), sortStylingHover, sortStylingActive, firefoxFix, $sticky ? styled.css(["position:sticky;top:0;z-index:1;"]) : '');
2014
+ return styled.css(["min-height:", ";height:", ";background:", ";box-sizing:border-box;", " ", " ", " ", " ", " ", " a{font-size:inherit;font-weight:inherit;}", ""], height, height, background, edsUtils.spacingsTemplate(spacings), edsUtils.typographyTemplate(typography), edsUtils.bordersTemplate(theme.border), sortStylingHover, sortStylingActive, firefoxFix, $sticky ? styled.css(["position:sticky;top:0;z-index:1;"]) : '');
2015
2015
  });
2016
2016
  const CellInner$1 = styled__default.default.div.withConfig({
2017
2017
  displayName: "HeaderCell__CellInner",
@@ -2061,7 +2061,7 @@ const StyledTableCell = styled__default.default.th.withConfig({
2061
2061
  typography,
2062
2062
  spacings
2063
2063
  } = theme;
2064
- return styled.css(["min-height:", ";height:", ";background:", ";box-sizing:border-box;", " ", " ", " ", ""], height, height, background, edsUtils.spacingsTemplate(spacings), edsUtils.typographyTemplate(typography), edsUtils.bordersTemplate(theme.border), $sticky ? styled.css(["position:sticky;bottom:0;z-index:2;"]) : '');
2064
+ return styled.css(["min-height:", ";height:", ";background:", ";box-sizing:border-box;", " ", " ", " a{font-size:inherit;font-weight:inherit;}", ""], height, height, background, edsUtils.spacingsTemplate(spacings), edsUtils.typographyTemplate(typography), edsUtils.bordersTemplate(theme.border), $sticky ? styled.css(["position:sticky;bottom:0;z-index:2;"]) : '');
2065
2065
  });
2066
2066
  const CellInner = styled__default.default.div.withConfig({
2067
2067
  displayName: "FooterCell__CellInner",
@@ -5443,8 +5443,6 @@ const enabled$3 = {
5443
5443
  },
5444
5444
  entities: {
5445
5445
  icon: {
5446
- height: medium$3,
5447
- width: medium$3,
5448
5446
  border: {
5449
5447
  radius: borderRadius$3,
5450
5448
  type: 'border',
@@ -5596,7 +5594,7 @@ const Chip = /*#__PURE__*/react.forwardRef(function Chip({
5596
5594
  };
5597
5595
  const resizedChildren = react.Children.map(children, child => {
5598
5596
  // We force size on Icon & Avatar component
5599
- if (child.props) {
5597
+ if (child?.props) {
5600
5598
  return /*#__PURE__*/react.cloneElement(child, {
5601
5599
  size: 16,
5602
5600
  disabled
@@ -6691,12 +6689,12 @@ const Popover$1 = /*#__PURE__*/react.forwardRef(function Popover({
6691
6689
  } = react$1.useInteractions([react$1.useDismiss(context)]);
6692
6690
  react.useEffect(() => {
6693
6691
  if (!elements.floating) return;
6694
- if (open) {
6695
- if (elements.floating.isConnected) {
6692
+ if (elements.floating.hasAttribute('popover')) {
6693
+ if (open) {
6696
6694
  elements.floating.showPopover();
6695
+ } else {
6696
+ elements.floating.hidePopover();
6697
6697
  }
6698
- } else {
6699
- elements.floating.hidePopover();
6700
6698
  }
6701
6699
  }, [open, elements.floating]);
6702
6700
  react.useEffect(() => {
@@ -6964,11 +6962,7 @@ const info$1 = {
6964
6962
  color: infoColor
6965
6963
  }
6966
6964
  }
6967
- },
6968
- modes: {
6969
- compact: {}
6970
- }
6971
- };
6965
+ }};
6972
6966
  const warning$1 = {
6973
6967
  entities: {
6974
6968
  icon: {
@@ -6977,11 +6971,7 @@ const warning$1 = {
6977
6971
  color: warningColor
6978
6972
  }
6979
6973
  }
6980
- },
6981
- modes: {
6982
- compact: {}
6983
- }
6984
- };
6974
+ }};
6985
6975
 
6986
6976
  var tokens$2 = /*#__PURE__*/Object.freeze({
6987
6977
  __proto__: null,
@@ -9512,7 +9502,7 @@ Switch.displayName = 'Switch';
9512
9502
 
9513
9503
  const AutocompleteContext = /*#__PURE__*/react.createContext(null);
9514
9504
  const useAutocompleteContext = () => {
9515
- const context = react.use(AutocompleteContext);
9505
+ const context = react.useContext(AutocompleteContext);
9516
9506
  if (!context) {
9517
9507
  throw new Error('Autocomplete compound components must be used within an Autocomplete component');
9518
9508
  }
@@ -9694,7 +9684,9 @@ function Option({
9694
9684
  const isSelected = selectedItemsLabels.includes(label);
9695
9685
  const optionComponent = _optionComponent?.(item, isSelected);
9696
9686
  const highlighted = highlightedIndex === index && !isDisabled ? 'true' : 'false';
9697
- const itemProps = getItemProps({
9687
+
9688
+ // Guard: downshift 9.x validates that item exists in the items array
9689
+ const itemProps = item !== undefined ? getItemProps({
9698
9690
  ...(multiline && {
9699
9691
  ref: rowVirtualizer.measureElement
9700
9692
  }),
@@ -9706,7 +9698,14 @@ function Option({
9706
9698
  height: `${virtualItem.size}px`
9707
9699
  })
9708
9700
  }
9709
- });
9701
+ }) : {
9702
+ style: {
9703
+ transform: `translateY(${virtualItem.start}px)`,
9704
+ ...(!multiline && {
9705
+ height: `${virtualItem.size}px`
9706
+ })
9707
+ }
9708
+ };
9710
9709
  return /*#__PURE__*/jsxRuntime.jsxs(StyledListItem, {
9711
9710
  $isdisabled: isDisabled ? 'true' : 'false',
9712
9711
  $highlighted: highlighted,
@@ -9766,7 +9765,7 @@ function AddNewOption({
9766
9765
  ref: rowVirtualizer.measureElement
9767
9766
  }),
9768
9767
  item,
9769
- index: index
9768
+ index
9770
9769
  });
9771
9770
  return /*#__PURE__*/jsxRuntime.jsxs(StyledListItem, {
9772
9771
  $highlighted: highlighted,
@@ -9818,7 +9817,7 @@ function SelectAllOption({
9818
9817
  ref: rowVirtualizer.measureElement
9819
9818
  }),
9820
9819
  item,
9821
- index: index
9820
+ index
9822
9821
  });
9823
9822
  return /*#__PURE__*/jsxRuntime.jsxs(StyledListItem, {
9824
9823
  ref: ref,
@@ -9985,10 +9984,12 @@ const OptionList = ({
9985
9984
 
9986
9985
  // MARK: popover toggle
9987
9986
  edsUtils.useIsomorphicLayoutEffect(() => {
9988
- if (isOpen) {
9989
- refs.floating.current?.showPopover();
9990
- } else {
9991
- refs.floating.current?.hidePopover();
9987
+ if (refs.floating.current?.hasAttribute('popover')) {
9988
+ if (isOpen) {
9989
+ refs.floating.current.showPopover();
9990
+ } else {
9991
+ refs.floating.current.hidePopover();
9992
+ }
9992
9993
  }
9993
9994
  }, [isOpen, refs.floating]);
9994
9995
  const showNoOptions = isOpen && !availableItems.length && noOptionsText.length > 0;
@@ -10333,7 +10334,13 @@ const useAutocomplete = ({
10333
10334
  ...multipleSelectionProps,
10334
10335
  onSelectedItemsChange: changes => {
10335
10336
  if (onOptionsChange) {
10336
- let selectedItems = changes.selectedItems.filter(item => item !== AllSymbol || item !== AddSymbol);
10337
+ // AddSymbol/AllSymbol are handled manually in onStateChange,
10338
+ // so skip propagating when they appear in selectedItems
10339
+ // (downshift 9.x propagates selectedItem to useMultipleSelection)
10340
+ if (changes.selectedItems.some(item => item === AllSymbol || item === AddSymbol)) {
10341
+ return;
10342
+ }
10343
+ let selectedItems = changes.selectedItems;
10337
10344
  if (itemCompare) {
10338
10345
  selectedItems = inputOptions.filter(item => selectedItems.some(compare => itemCompare(item, compare)));
10339
10346
  }
@@ -10490,6 +10497,9 @@ const useAutocomplete = ({
10490
10497
  toggleAllSelected();
10491
10498
  } else if (selectedItem === AddSymbol && typedInputValue.trim()) {
10492
10499
  onAddNewOption?.(typedInputValue);
10500
+ if (clearSearchOnChange) {
10501
+ setTypedInputValue('');
10502
+ }
10493
10503
  } else if (multiple) {
10494
10504
  const shouldRemove = itemCompare ? selectedItems.some(i => itemCompare(selectedItem, i)) : selectedItems.includes(selectedItem);
10495
10505
  if (shouldRemove) {
@@ -10715,7 +10725,9 @@ const useAutocomplete = ({
10715
10725
  };
10716
10726
  case downshift.useCombobox.stateChangeTypes.InputKeyDownEnter:
10717
10727
  case downshift.useCombobox.stateChangeTypes.ItemClick:
10718
- if (clearSearchOnChange) {
10728
+ // Don't clear typedInputValue for AddSymbol — onStateChange needs
10729
+ // it to call onAddNewOption (downshift 9.x runs onStateChange after re-render)
10730
+ if (clearSearchOnChange && changes.selectedItem !== AddSymbol) {
10719
10731
  setTypedInputValue('');
10720
10732
  }
10721
10733
  return {
@@ -12076,9 +12088,6 @@ function CalendarGrid({
12076
12088
  setYearPickerPage,
12077
12089
  ...props
12078
12090
  }) {
12079
- const {
12080
- locale
12081
- } = reactAria.useLocale();
12082
12091
  const {
12083
12092
  gridProps,
12084
12093
  headerProps,
@@ -12088,9 +12097,9 @@ function CalendarGrid({
12088
12097
  weekdayStyle: 'long'
12089
12098
  }, state);
12090
12099
 
12091
- // Get the number of weeks in the month so that we can render the proper number of rows.
12092
- const howManyWeeksInMonth = date.getWeeksInMonth(state.visibleRange.start, locale);
12093
- const weeksInMonthArray = [...new Array(howManyWeeksInMonth).keys()];
12100
+ // Always render 6 rows (the maximum weeks in any month) so the calendar
12101
+ // height stays consistent when navigating between months.
12102
+ const weeksInMonthArray = [...new Array(6).keys()];
12094
12103
  return showYearPicker ? /*#__PURE__*/jsxRuntime.jsx(YearGrid, {
12095
12104
  year: state.focusedDate.year,
12096
12105
  setFocusedYear: year => {
@@ -12142,7 +12151,7 @@ function TodayPicker({
12142
12151
  onClick: () => onClick(new date.CalendarDate(today.getFullYear(), today.getMonth() + 1, today.getDate())),
12143
12152
  variant: 'ghost',
12144
12153
  style: {
12145
- marginLeft: 16
12154
+ marginLeft: 4
12146
12155
  },
12147
12156
  children: "Today"
12148
12157
  });
@@ -12151,6 +12160,10 @@ const HeaderActions = styled__default.default.div.withConfig({
12151
12160
  displayName: "CalendarHeader__HeaderActions",
12152
12161
  componentId: "sc-kuy15-1"
12153
12162
  })(["display:flex;align-items:center;width:100%;"]);
12163
+ const TitleButton = styled__default.default(Button$1).withConfig({
12164
+ displayName: "CalendarHeader__TitleButton",
12165
+ componentId: "sc-kuy15-2"
12166
+ })(["min-width:13.1rem;white-space:nowrap;font-size:", ";text-transform:capitalize;& > span{display:flex;justify-content:space-between;align-items:center;width:100%;}"], edsTokens.tokens.typography.heading.h5.fontSize);
12154
12167
 
12155
12168
  /**
12156
12169
  * The default header for the calendar components if no custom header is provided
@@ -12182,15 +12195,11 @@ function CalendarHeader({
12182
12195
  style: {
12183
12196
  flex: '1 1 auto'
12184
12197
  }
12185
- }), /*#__PURE__*/jsxRuntime.jsxs(Button$1, {
12198
+ }), /*#__PURE__*/jsxRuntime.jsxs(TitleButton, {
12186
12199
  onClick: () => setShowYearPicker(!showYearPicker),
12187
12200
  "data-testid": 'heading',
12188
12201
  "aria-live": 'polite',
12189
12202
  variant: 'ghost',
12190
- style: {
12191
- fontSize: edsTokens.tokens.typography.heading.h5.fontSize,
12192
- textTransform: 'capitalize'
12193
- },
12194
12203
  children: [title, /*#__PURE__*/jsxRuntime.jsx(Icon$1, {
12195
12204
  data: showYearPicker ? edsIcons.chevron_up : edsIcons.chevron_down
12196
12205
  })]
@@ -12482,7 +12491,10 @@ function DateSegment({
12482
12491
  formatOptions,
12483
12492
  timezone
12484
12493
  } = useDatePickerContext();
12485
- const formatter = reactAria.useDateFormatter(formatOptions);
12494
+ const formatter = reactAria.useDateFormatter({
12495
+ ...formatOptions,
12496
+ timeZone: timezone
12497
+ });
12486
12498
  const parts = state.value ? formatter.formatToParts(state.value.toDate(timezone)) : [];
12487
12499
  const part = parts.find(p => p.type === segment.type);
12488
12500
  const value = segment.isPlaceholder || segment.type === 'literal' ? segment.text : part?.value ?? segment.text;
@@ -12523,14 +12535,23 @@ function DateSegment({
12523
12535
 
12524
12536
  // In some cases we need to use the index as key
12525
12537
  /* eslint-disable react/no-array-index-key */
12538
+ // Use January 1st as placeholder when no value is set.
12539
+ // This ensures the day segment allows values up to 31,
12540
+ // preventing eager auto-advance when typing "3" (which
12541
+ // would otherwise auto-complete to "03" in months with
12542
+ // fewer than 30 days, like February).
12543
+ const DEFAULT_PLACEHOLDER = new date.CalendarDate(new Date().getFullYear(), 1, 1);
12544
+
12526
12545
  /**
12527
12546
  * A field that wraps segments for inputting a date / date-time
12528
12547
  */
12529
12548
  const DateFieldSegments = /*#__PURE__*/react.forwardRef((props, ref) => {
12549
+ const placeholderValue = props.placeholderValue ?? DEFAULT_PLACEHOLDER;
12530
12550
  const state = datepicker.useDateFieldState({
12531
12551
  ...props,
12532
12552
  locale: props.locale,
12533
- createCalendar: date.createCalendar
12553
+ createCalendar: date.createCalendar,
12554
+ placeholderValue
12534
12555
  });
12535
12556
  const {
12536
12557
  fieldProps
@@ -12678,6 +12699,167 @@ const useGetLocale = locale => {
12678
12699
  return locale ?? currentLocale ?? browserLocale;
12679
12700
  };
12680
12701
 
12702
+ /**
12703
+ * Validation message translations matching @react-stately/datepicker's built-in messages.
12704
+ * Sourced from @react-stately/datepicker's intlStrings bundle.
12705
+ * Unsupported locales fall back to English.
12706
+ */
12707
+ const allTranslations = {
12708
+ 'en-US': {
12709
+ rangeUnderflow: args => `Value must be ${args.minValue} or later.`,
12710
+ rangeOverflow: args => `Value must be ${args.maxValue} or earlier.`,
12711
+ unavailableDate: 'Selected date unavailable.'
12712
+ },
12713
+ 'nb-NO': {
12714
+ rangeUnderflow: args => `Verdien m\u00e5 v\u00e6re ${args.minValue} eller senere.`,
12715
+ rangeOverflow: args => `Verdien m\u00e5 v\u00e6re ${args.maxValue} eller tidligere.`,
12716
+ unavailableDate: 'Valgt dato utilgjengelig.'
12717
+ },
12718
+ 'da-DK': {
12719
+ rangeUnderflow: args => `V\u00e6rdien skal v\u00e6re ${args.minValue} eller senere.`,
12720
+ rangeOverflow: args => `V\u00e6rdien skal v\u00e6re ${args.maxValue} eller tidligere.`,
12721
+ unavailableDate: 'Den valgte dato er ikke tilg\u00e6ngelig.'
12722
+ },
12723
+ 'sv-SE': {
12724
+ rangeUnderflow: args => `V\u00e4rdet m\u00e5ste vara ${args.minValue} eller senare.`,
12725
+ rangeOverflow: args => `V\u00e4rdet m\u00e5ste vara ${args.maxValue} eller tidigare.`,
12726
+ unavailableDate: 'Valt datum \u00e4r inte tillg\u00e4ngligt.'
12727
+ },
12728
+ 'de-DE': {
12729
+ rangeUnderflow: args => `Der Wert muss ${args.minValue} oder sp\u00e4ter sein.`,
12730
+ rangeOverflow: args => `Der Wert muss ${args.maxValue} oder fr\u00fcher sein.`,
12731
+ unavailableDate: 'Das ausgew\u00e4hlte Datum ist nicht verf\u00fcgbar.'
12732
+ },
12733
+ 'fr-FR': {
12734
+ rangeUnderflow: args => `La valeur doit \u00eatre ${args.minValue} ou ult\u00e9rieure.`,
12735
+ rangeOverflow: args => `La valeur doit \u00eatre ${args.maxValue} ou ant\u00e9rieure.`,
12736
+ unavailableDate: 'Date s\u00e9lectionn\u00e9e non disponible.'
12737
+ },
12738
+ 'es-ES': {
12739
+ rangeUnderflow: args => `El valor debe ser ${args.minValue} o posterior.`,
12740
+ rangeOverflow: args => `El valor debe ser ${args.maxValue} o anterior.`,
12741
+ unavailableDate: 'Fecha seleccionada no disponible.'
12742
+ },
12743
+ 'pt-BR': {
12744
+ rangeUnderflow: args => `O valor deve ser ${args.minValue} ou posterior.`,
12745
+ rangeOverflow: args => `O valor deve ser ${args.maxValue} ou anterior.`,
12746
+ unavailableDate: 'Data selecionada indispon\u00edvel.'
12747
+ },
12748
+ 'pt-PT': {
12749
+ rangeUnderflow: args => `O valor tem de ser ${args.minValue} ou posterior.`,
12750
+ rangeOverflow: args => `O valor tem de ser ${args.maxValue} ou anterior.`,
12751
+ unavailableDate: 'Data selecionada indispon\u00edvel.'
12752
+ },
12753
+ 'pl-PL': {
12754
+ rangeUnderflow: args => `Warto\u015b\u0107 musi wynosi\u0107 ${args.minValue} lub p\u00f3\u017aniej.`,
12755
+ rangeOverflow: args => `Warto\u015b\u0107 musi wynosi\u0107 ${args.maxValue} lub wcze\u015bniej.`,
12756
+ unavailableDate: 'Wybrana data jest niedost\u0119pna.'
12757
+ },
12758
+ 'nl-NL': {
12759
+ rangeUnderflow: args => `Waarde moet ${args.minValue} of later zijn.`,
12760
+ rangeOverflow: args => `Waarde moet ${args.maxValue} of eerder zijn.`,
12761
+ unavailableDate: 'Geselecteerde datum niet beschikbaar.'
12762
+ },
12763
+ 'it-IT': {
12764
+ rangeUnderflow: args => `Il valore deve essere ${args.minValue} o successivo.`,
12765
+ rangeOverflow: args => `Il valore deve essere ${args.maxValue} o precedente.`,
12766
+ unavailableDate: 'Data selezionata non disponibile.'
12767
+ },
12768
+ 'ja-JP': {
12769
+ rangeUnderflow: args => `\u5024\u306f${args.minValue}\u4ee5\u964d\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002`,
12770
+ rangeOverflow: args => `\u5024\u306f${args.maxValue}\u4ee5\u524d\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002`,
12771
+ unavailableDate: '\u9078\u629e\u3057\u305f\u65e5\u4ed8\u306f\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002'
12772
+ },
12773
+ 'ko-KR': {
12774
+ rangeUnderflow: args => `\uac12\uc740 ${args.minValue} \uc774\ud6c4\uc5ec\uc57c \ud569\ub2c8\ub2e4.`,
12775
+ rangeOverflow: args => `\uac12\uc740 ${args.maxValue} \uc774\uc804\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.`,
12776
+ unavailableDate: '\uc120\ud0dd\ud55c \ub0a0\uc9dc\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.'
12777
+ },
12778
+ 'zh-CN': {
12779
+ rangeUnderflow: args => `\u503c\u5fc5\u987b\u4e3a ${args.minValue} \u6216\u66f4\u665a\u3002`,
12780
+ rangeOverflow: args => `\u503c\u5fc5\u987b\u4e3a ${args.maxValue} \u6216\u66f4\u65e9\u3002`,
12781
+ unavailableDate: '\u6240\u9009\u65e5\u671f\u4e0d\u53ef\u7528\u3002'
12782
+ },
12783
+ 'zh-TW': {
12784
+ rangeUnderflow: args => `\u503c\u5fc5\u9808\u70ba ${args.minValue} \u6216\u66f4\u665a\u3002`,
12785
+ rangeOverflow: args => `\u503c\u5fc5\u9808\u70ba ${args.maxValue} \u6216\u66f4\u65e9\u3002`,
12786
+ unavailableDate: '\u6240\u9078\u65e5\u671f\u4e0d\u53ef\u7528\u3002'
12787
+ },
12788
+ 'ru-RU': {
12789
+ rangeUnderflow: args => `\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c ${args.minValue} \u0438\u043b\u0438 \u043f\u043e\u0437\u0436\u0435.`,
12790
+ rangeOverflow: args => `\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c ${args.maxValue} \u0438\u043b\u0438 \u0440\u0430\u043d\u044c\u0448\u0435.`,
12791
+ unavailableDate: '\u0412\u044b\u0431\u0440\u0430\u043d\u043d\u0430\u044f \u0434\u0430\u0442\u0430 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430.'
12792
+ },
12793
+ 'uk-UA': {
12794
+ rangeUnderflow: args => `\u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 ${args.minValue} \u0430\u0431\u043e \u043f\u0456\u0437\u043d\u0456\u0448\u0435.`,
12795
+ rangeOverflow: args => `\u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043c\u0430\u0454 \u0431\u0443\u0442\u0438 ${args.maxValue} \u0430\u0431\u043e \u0440\u0430\u043d\u0456\u0448\u0435.`,
12796
+ unavailableDate: '\u0412\u0438\u0431\u0440\u0430\u043d\u0430 \u0434\u0430\u0442\u0430 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430.'
12797
+ },
12798
+ 'ar-AE': {
12799
+ rangeUnderflow: args => `\u064a\u062c\u0628 \u0623\u0646 \u062a\u0643\u0648\u0646 \u0627\u0644\u0642\u064a\u0645\u0629 ${args.minValue} \u0623\u0648 \u0623\u062d\u062f\u062b.`,
12800
+ rangeOverflow: args => `\u064a\u062c\u0628 \u0623\u0646 \u062a\u0643\u0648\u0646 \u0627\u0644\u0642\u064a\u0645\u0629 ${args.maxValue} \u0623\u0648 \u0623\u0642\u062f\u0645.`,
12801
+ unavailableDate: '\u0627\u0644\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0645\u062d\u062f\u062f \u063a\u064a\u0631 \u0645\u062a\u0627\u062d.'
12802
+ },
12803
+ 'fi-FI': {
12804
+ rangeUnderflow: args => `Arvon on oltava ${args.minValue} tai my\u00f6hempi.`,
12805
+ rangeOverflow: args => `Arvon on oltava ${args.maxValue} tai aikaisempi.`,
12806
+ unavailableDate: 'Valittu p\u00e4iv\u00e4m\u00e4\u00e4r\u00e4 ei ole k\u00e4ytett\u00e4viss\u00e4.'
12807
+ }
12808
+ };
12809
+ const englishFallback = allTranslations['en-US'];
12810
+
12811
+ /**
12812
+ * Find the best matching locale from available translations.
12813
+ * Tries exact match first (e.g. "nb-NO"), then language prefix match (e.g. "nb" → "nb-NO").
12814
+ */
12815
+ function findLocaleMessages(locale) {
12816
+ if (allTranslations[locale]) return allTranslations[locale];
12817
+ const language = Intl.Locale ? new Intl.Locale(locale).language : locale.split('-')[0];
12818
+
12819
+ // First match wins: e.g. "pt" → "pt-BR", "zh" → "zh-CN"
12820
+ for (const key of Object.keys(allTranslations)) {
12821
+ const keyLang = key.split('-')[0];
12822
+ if (keyLang === language) return allTranslations[key];
12823
+ }
12824
+ return englishFallback;
12825
+ }
12826
+ function formatMessage(msg, args) {
12827
+ return typeof msg === 'function' ? msg(args) : msg;
12828
+ }
12829
+
12830
+ /**
12831
+ * Generates validation error messages using the provided locale instead of
12832
+ * navigator.language (which is what react-stately uses internally).
12833
+ *
12834
+ * This fixes the issue where validation messages appear in the browser's
12835
+ * language rather than the locale configured via I18nProvider.
12836
+ */
12837
+ function getLocalizedValidationErrors(validationDetails, locale, minValue, maxValue, timezone) {
12838
+ const msgs = findLocaleMessages(locale);
12839
+ const dateFormatter = new date.DateFormatter(locale, {
12840
+ year: 'numeric',
12841
+ month: 'numeric',
12842
+ day: 'numeric'
12843
+ });
12844
+ const timeZone = timezone ?? dateFormatter.resolvedOptions().timeZone;
12845
+ const errors = [];
12846
+ if (validationDetails.rangeUnderflow && minValue && msgs.rangeUnderflow) {
12847
+ errors.push(formatMessage(msgs.rangeUnderflow, {
12848
+ minValue: dateFormatter.format(minValue.toDate(timeZone))
12849
+ }));
12850
+ }
12851
+ if (validationDetails.rangeOverflow && maxValue && msgs.rangeOverflow) {
12852
+ errors.push(formatMessage(msgs.rangeOverflow, {
12853
+ maxValue: dateFormatter.format(maxValue.toDate(timeZone))
12854
+ }));
12855
+ }
12856
+ // react-stately maps isDateUnavailable to badInput (not customError)
12857
+ if (validationDetails.badInput && msgs.unavailableDate) {
12858
+ errors.push(formatMessage(msgs.unavailableDate, {}));
12859
+ }
12860
+ return errors;
12861
+ }
12862
+
12681
12863
  const DatePicker = /*#__PURE__*/react.forwardRef(({
12682
12864
  onChange,
12683
12865
  label,
@@ -12772,8 +12954,10 @@ const DatePicker = /*#__PURE__*/react.forwardRef(({
12772
12954
  fieldProps,
12773
12955
  calendarProps
12774
12956
  } = reactAria.useDatePicker(dateCreateProps, pickerState, ref);
12957
+ const localizedErrors = pickerState.displayValidation.isInvalid ? getLocalizedValidationErrors(pickerState.displayValidation.validationDetails, locale, _minValue, _maxValue, timezone) : [];
12958
+ const errorMessages = localizedErrors.length > 0 ? localizedErrors : pickerState.displayValidation.validationErrors;
12775
12959
  const helperPropsInvalid = pickerState.displayValidation.isInvalid ? {
12776
- text: pickerState.displayValidation.validationErrors.join('\n'),
12960
+ text: errorMessages.join('\n'),
12777
12961
  color: edsTokens.tokens.colors.interactive.warning__text.rgba,
12778
12962
  icon: /*#__PURE__*/jsxRuntime.jsx(Icon$1, {
12779
12963
  size: 16,
@@ -13023,8 +13207,10 @@ const DateRangePicker = /*#__PURE__*/react.forwardRef(({
13023
13207
  buttonProps,
13024
13208
  calendarProps
13025
13209
  } = reactAria.useDateRangePicker(dateRangePickerStateProps, state, ref);
13210
+ const localizedErrors = state.displayValidation.isInvalid ? getLocalizedValidationErrors(state.displayValidation.validationDetails, locale, _minValue, _maxValue, timezone) : [];
13211
+ const errorMessages = localizedErrors.length > 0 ? localizedErrors : state.displayValidation.validationErrors;
13026
13212
  const helperProps = state.displayValidation.isInvalid ? {
13027
- text: state.displayValidation.validationErrors.join('\n'),
13213
+ text: errorMessages.join('\n'),
13028
13214
  color: edsTokens.tokens.colors.interactive.warning__text.rgba,
13029
13215
  icon: /*#__PURE__*/jsxRuntime.jsx(Icon$1, {
13030
13216
  size: 16,
@@ -1,9 +1,9 @@
1
1
  import { forwardRef, useId, Children, cloneElement } from 'react';
2
2
  import { ThemeProvider } from 'styled-components';
3
- import { accordion } from './Accordion.tokens.mjs';
3
+ import { accordion } from './Accordion.tokens.js';
4
4
  import { useToken } from '@equinor/eds-utils';
5
5
  import { jsx } from 'react/jsx-runtime';
6
- import { useEds } from '../EdsProvider/eds.context.mjs';
6
+ import { useEds } from '../EdsProvider/eds.context.js';
7
7
 
8
8
  const Accordion = /*#__PURE__*/forwardRef(function Accordion({
9
9
  headerLevel = 'h2',
@@ -1,10 +1,10 @@
1
1
  import { forwardRef, Children, isValidElement, cloneElement } from 'react';
2
2
  import styled, { css } from 'styled-components';
3
3
  import { chevron_up, chevron_down } from '@equinor/eds-icons';
4
- import { Icon } from '../Icon/index.mjs';
5
- import { AccordionHeaderTitle } from './AccordionHeaderTitle.mjs';
6
- import { AccordionHeaderActions } from './AccordionHeaderActions.mjs';
7
- import { accordion } from './Accordion.tokens.mjs';
4
+ import { Icon } from '../Icon/index.js';
5
+ import { AccordionHeaderTitle } from './AccordionHeaderTitle.js';
6
+ import { AccordionHeaderActions } from './AccordionHeaderActions.js';
7
+ import { accordion } from './Accordion.tokens.js';
8
8
  import { bordersTemplate, typographyTemplate, spacingsTemplate, outlineTemplate } from '@equinor/eds-utils';
9
9
  import { jsx, jsxs } from 'react/jsx-runtime';
10
10
 
@@ -1,9 +1,9 @@
1
- import { Accordion as Accordion$1 } from './Accordion.mjs';
2
- import { AccordionItem } from './AccordionItem.mjs';
3
- import { AccordionHeader } from './AccordionHeader.mjs';
4
- import { AccordionHeaderTitle } from './AccordionHeaderTitle.mjs';
5
- import { AccordionHeaderActions } from './AccordionHeaderActions.mjs';
6
- import { AccordionPanel } from './AccordionPanel.mjs';
1
+ import { Accordion as Accordion$1 } from './Accordion.js';
2
+ import { AccordionItem } from './AccordionItem.js';
3
+ import { AccordionHeader } from './AccordionHeader.js';
4
+ import { AccordionHeaderTitle } from './AccordionHeaderTitle.js';
5
+ import { AccordionHeaderActions } from './AccordionHeaderActions.js';
6
+ import { AccordionPanel } from './AccordionPanel.js';
7
7
 
8
8
  const Accordion = Accordion$1;
9
9
  Accordion.Item = AccordionItem;
@@ -1,10 +1,10 @@
1
1
  import { add_box } from '@equinor/eds-icons';
2
2
  import { tokens } from '@equinor/eds-tokens';
3
3
  import styled, { css } from 'styled-components';
4
- import { Icon } from '../Icon/index.mjs';
5
- import { input } from '../Input/Input.tokens.mjs';
6
- import { useAutocompleteContext } from './AutocompleteContext.mjs';
7
- import { StyledListItem, AutocompleteOptionLabel } from './Option.mjs';
4
+ import { Icon } from '../Icon/index.js';
5
+ import { input } from '../Input/Input.tokens.js';
6
+ import { useAutocompleteContext } from './AutocompleteContext.js';
7
+ import { StyledListItem, AutocompleteOptionLabel } from './Option.js';
8
8
  import { jsxs, jsx } from 'react/jsx-runtime';
9
9
 
10
10
  const StyledAddItemIcon = styled(Icon).withConfig({
@@ -40,7 +40,7 @@ function AddNewOption({
40
40
  ref: rowVirtualizer.measureElement
41
41
  }),
42
42
  item,
43
- index: index
43
+ index
44
44
  });
45
45
  return /*#__PURE__*/jsxs(StyledListItem, {
46
46
  $highlighted: highlighted,
@@ -1,14 +1,14 @@
1
1
  import { useFloating, offset, flip, size } from '@floating-ui/react';
2
- import styled, { css, ThemeProvider } from 'styled-components';
3
- import { Button } from '../Button/index.mjs';
4
- import { AutocompleteContext } from './AutocompleteContext.mjs';
5
- import { MultipleInput } from './MultipleInput.mjs';
6
- import { OptionList } from './OptionList.mjs';
7
- import { SingleInput } from './SingleInput.mjs';
8
- import { useAutocomplete } from './useAutocomplete.mjs';
2
+ import styled, { ThemeProvider, css } from 'styled-components';
3
+ import { Button } from '../Button/index.js';
4
+ import { AutocompleteContext } from './AutocompleteContext.js';
5
+ import { MultipleInput } from './MultipleInput.js';
6
+ import { OptionList } from './OptionList.js';
7
+ import { SingleInput } from './SingleInput.js';
8
+ import { useAutocomplete } from './useAutocomplete.js';
9
9
  import { jsx, jsxs } from 'react/jsx-runtime';
10
- import { Label } from '../Label/Label.mjs';
11
- import { HelperText as TextfieldHelperText } from '../InputWrapper/HelperText/HelperText.mjs';
10
+ import { Label } from '../Label/Label.js';
11
+ import { HelperText as TextfieldHelperText } from '../InputWrapper/HelperText/HelperText.js';
12
12
 
13
13
  const Container = styled.div.withConfig({
14
14
  displayName: "Autocomplete__Container",
@@ -1,5 +1,5 @@
1
1
  import { tokens } from '@equinor/eds-tokens';
2
- import mergeDeepRight from '../../node_modules/.pnpm/ramda@0.32.0/node_modules/ramda/es/mergeDeepRight.mjs';
2
+ import mergeDeepRight from '../../node_modules/.pnpm/ramda@0.32.0/node_modules/ramda/es/mergeDeepRight.js';
3
3
 
4
4
  const {
5
5
  typography,
@@ -1,8 +1,8 @@
1
- import { createContext, use } from 'react';
1
+ import { createContext, useContext } from 'react';
2
2
 
3
3
  const AutocompleteContext = /*#__PURE__*/createContext(null);
4
4
  const useAutocompleteContext = () => {
5
- const context = use(AutocompleteContext);
5
+ const context = useContext(AutocompleteContext);
6
6
  if (!context) {
7
7
  throw new Error('Autocomplete compound components must be used within an Autocomplete component');
8
8
  }
@@ -1,5 +1,5 @@
1
- import { useAutocompleteContext } from './AutocompleteContext.mjs';
2
- import { StyledListItem, AutocompleteOptionLabel } from './Option.mjs';
1
+ import { useAutocompleteContext } from './AutocompleteContext.js';
2
+ import { StyledListItem, AutocompleteOptionLabel } from './Option.js';
3
3
  import { jsx } from 'react/jsx-runtime';
4
4
 
5
5
  function EmptyOption() {
@@ -1,11 +1,11 @@
1
1
  import { useRef } from 'react';
2
2
  import styled from 'styled-components';
3
- import { useAutocompleteContext } from './AutocompleteContext.mjs';
4
- import { RightAdornments } from './RightAdornments.mjs';
3
+ import { useAutocompleteContext } from './AutocompleteContext.js';
4
+ import { RightAdornments } from './RightAdornments.js';
5
5
  import { jsx, jsxs } from 'react/jsx-runtime';
6
- import { Chip } from '../Chip/Chip.mjs';
7
- import { useEds } from '../EdsProvider/eds.context.mjs';
8
- import { Input } from '../Input/Input.mjs';
6
+ import { Chip } from '../Chip/Chip.js';
7
+ import { useEds } from '../EdsProvider/eds.context.js';
8
+ import { Input } from '../Input/Input.js';
9
9
 
10
10
  const UnstyledInput = styled.input.withConfig({
11
11
  displayName: "MultipleInput__UnstyledInput",
@@ -1,8 +1,8 @@
1
1
  import { typographyTemplate, spacingsTemplate } from '@equinor/eds-utils';
2
2
  import styled, { css } from 'styled-components';
3
- import { useAutocompleteContext } from './AutocompleteContext.mjs';
3
+ import { useAutocompleteContext } from './AutocompleteContext.js';
4
4
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
5
- import { Checkbox } from '../Checkbox/Checkbox.mjs';
5
+ import { Checkbox } from '../Checkbox/Checkbox.js';
6
6
 
7
7
  const StyledListItem = styled.li.withConfig({
8
8
  displayName: "Option__StyledListItem",
@@ -48,7 +48,9 @@ function Option({
48
48
  const isSelected = selectedItemsLabels.includes(label);
49
49
  const optionComponent = _optionComponent?.(item, isSelected);
50
50
  const highlighted = highlightedIndex === index && !isDisabled ? 'true' : 'false';
51
- const itemProps = getItemProps({
51
+
52
+ // Guard: downshift 9.x validates that item exists in the items array
53
+ const itemProps = item !== undefined ? getItemProps({
52
54
  ...(multiline && {
53
55
  ref: rowVirtualizer.measureElement
54
56
  }),
@@ -60,7 +62,14 @@ function Option({
60
62
  height: `${virtualItem.size}px`
61
63
  })
62
64
  }
63
- });
65
+ }) : {
66
+ style: {
67
+ transform: `translateY(${virtualItem.start}px)`,
68
+ ...(!multiline && {
69
+ height: `${virtualItem.size}px`
70
+ })
71
+ }
72
+ };
64
73
  return /*#__PURE__*/jsxs(StyledListItem, {
65
74
  $isdisabled: isDisabled ? 'true' : 'false',
66
75
  $highlighted: highlighted,