@amboss/design-system 4.9.4 → 4.11.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 (271) hide show
  1. package/build/cjs/components/AIButton/AIButton.js +1 -1
  2. package/build/cjs/components/Badge/Badge.js +1 -1
  3. package/build/cjs/components/Button/Button.js +1 -1
  4. package/build/cjs/components/CheckboxCard/CheckboxCard.d.ts +1 -1
  5. package/build/cjs/components/Collapsible/Collapsible.js +1 -1
  6. package/build/cjs/components/Column/Columns.js +1 -1
  7. package/build/cjs/components/Content/ContentBadge/ContentBadge.js +1 -1
  8. package/build/cjs/components/Content/ContentCheckbox/ContentCheckbox.d.ts +1 -1
  9. package/build/cjs/components/Content/ContentCheckbox/ContentCheckbox.js +1 -1
  10. package/build/cjs/components/Content/ContentCitation/ContentCitation.d.ts +3 -3
  11. package/build/cjs/components/Content/ContentFontResizer/FontSizeOffsetContext.d.ts +1 -1
  12. package/build/cjs/components/Content/ContentLink/ContentLink.js +1 -1
  13. package/build/cjs/components/Content/ContentText/ContentText.d.ts +1 -1
  14. package/build/cjs/components/Content/ContentText/ContentText.js +1 -1
  15. package/build/cjs/components/Content/DosageButton/DosageButton.d.ts +1 -1
  16. package/build/cjs/components/CountButton/CountButton.js +1 -1
  17. package/build/cjs/components/DataTable/DataTable.d.ts +3 -2
  18. package/build/cjs/components/DataTable/DataTable.js +1 -1
  19. package/build/cjs/components/DataTable/TableCell.d.ts +1 -1
  20. package/build/cjs/components/DataTable/internal/tablePrimitives.d.ts +3 -3
  21. package/build/cjs/components/EntityList/styled-components.d.ts +8 -8
  22. package/build/cjs/components/Form/Checkbox/Checkbox.d.ts +2 -2
  23. package/build/cjs/components/Form/Combobox/SingleSelect.js +1 -1
  24. package/build/cjs/components/Form/Combobox/StyledSelectComponents.d.ts +4 -4
  25. package/build/cjs/components/Form/Combobox/StyledSelectComponents.js +1 -1
  26. package/build/cjs/components/Form/DatePicker/DatePicker.d.ts +1 -1
  27. package/build/cjs/components/Form/Input/Input.js +1 -1
  28. package/build/cjs/components/Form/MaskedInput/MaskedInput.d.ts +1 -1
  29. package/build/cjs/components/Form/PasswordInput/PasswordInput.js +1 -1
  30. package/build/cjs/components/Form/Radio/Radio.d.ts +2 -2
  31. package/build/cjs/components/Form/RadioButton/RadioButton.js +1 -1
  32. package/build/cjs/components/Form/RangeInput/RangeInput.d.ts +1 -1
  33. package/build/cjs/components/Form/SegmentedControl/SegmentedControlOption.js +1 -1
  34. package/build/cjs/components/Form/Select/Select.js +1 -1
  35. package/build/cjs/components/Form/Textarea/Textarea.d.ts +2 -2
  36. package/build/cjs/components/Form/Textarea/Textarea.js +1 -1
  37. package/build/cjs/components/Form/Toggle/Toggle.d.ts +3 -3
  38. package/build/cjs/components/Form/ToggleButton/ToggleButton.d.ts +1 -1
  39. package/build/cjs/components/Grid/Grid.d.ts +1 -1
  40. package/build/cjs/components/Grid/Grid.js +1 -1
  41. package/build/cjs/components/IconTile/IconTile.js +1 -1
  42. package/build/cjs/components/Internal/Drawer/Drawer.js +3 -3
  43. package/build/cjs/components/Internal/Float/Float.js +1 -1
  44. package/build/cjs/components/Internal/LayoutFloat/LayoutFloat.d.ts +13 -1
  45. package/build/cjs/components/Internal/LayoutFloat/useLayoutFloatDrag.d.ts +1 -1
  46. package/build/cjs/components/Internal/Panel/Panel.d.ts +5 -3
  47. package/build/cjs/components/Internal/Panel/Panel.js +1 -1
  48. package/build/cjs/components/Internal/PanelHeader/PanelHeader.d.ts +1 -1
  49. package/build/cjs/components/Internal/PanelHeader/PanelHeader.js +1 -1
  50. package/build/cjs/components/Internal/Sandwich/useSandwichContext.d.ts +1 -1
  51. package/build/cjs/components/Layout/-constants.d.ts +10 -0
  52. package/build/cjs/components/Layout/-constants.js +1 -1
  53. package/build/cjs/components/Layout/-types.d.ts +35 -11
  54. package/build/cjs/components/Layout/BottomBar/BottomBarItem/LayoutBottomBarItem.d.ts +18 -0
  55. package/build/cjs/components/Layout/BottomBar/BottomBarItem/LayoutBottomBarItem.js +1 -0
  56. package/build/cjs/components/Layout/BottomBar/LayoutBottomBar.d.ts +3 -0
  57. package/build/cjs/components/Layout/BottomBar/LayoutBottomBar.js +1 -0
  58. package/build/cjs/components/Layout/BottomBar/StyledLayoutBottomBar.d.ts +11 -0
  59. package/build/cjs/components/Layout/BottomBar/StyledLayoutBottomBar.js +1 -0
  60. package/build/cjs/components/Layout/BottomBar/StyledLayoutBottomBarSection.d.ts +13 -0
  61. package/build/cjs/components/Layout/BottomBar/StyledLayoutBottomBarSection.js +1 -0
  62. package/build/cjs/components/Layout/BottomBar/getBottomBarLayout.d.ts +42 -0
  63. package/build/cjs/components/Layout/BottomBar/getBottomBarLayout.js +1 -0
  64. package/build/cjs/components/Layout/Layout.d.ts +4 -0
  65. package/build/cjs/components/Layout/Layout.js +1 -1
  66. package/build/cjs/components/Layout/LayoutCssVars.d.ts +1 -1
  67. package/build/cjs/components/Layout/LayoutCssVars.js +1 -1
  68. package/build/cjs/components/Layout/LayoutPortal.d.ts +7 -0
  69. package/build/cjs/components/Layout/LayoutPortal.js +1 -0
  70. package/build/cjs/components/Layout/LayoutProvider.js +1 -1
  71. package/build/cjs/components/Layout/LeftPanel/LeftPanelDrawer.d.ts +3 -4
  72. package/build/cjs/components/Layout/LeftPanel/LeftPanelDrawer.js +1 -1
  73. package/build/cjs/components/Layout/LeftPanel/useLeftBarContext.d.ts +1 -1
  74. package/build/cjs/components/Layout/LeftPanel/useLeftPanelCollapseContext.d.ts +1 -1
  75. package/build/cjs/components/Layout/PanelContainer.d.ts +1 -1
  76. package/build/cjs/components/Layout/PanelContainer.js +1 -1
  77. package/build/cjs/components/Layout/RightPanel/RightPanel.js +1 -1
  78. package/build/cjs/components/Layout/RightPanel/RightPanelDocked.d.ts +1 -1
  79. package/build/cjs/components/Layout/RightPanel/RightPanelDocked.js +1 -1
  80. package/build/cjs/components/Layout/Split/MobileSplitView/MobileSplitView.js +1 -1
  81. package/build/cjs/components/Layout/Split/MobileSplitView/StyledMobileSplitSlideLayer.d.ts +1 -1
  82. package/build/cjs/components/Layout/Split/MobileSplitView/StyledMobileSplitSlideLayer.js +1 -1
  83. package/build/cjs/components/Layout/Split/MobileSplitView/useMobileSplitStack.d.ts +1 -1
  84. package/build/cjs/components/Layout/Split/Split.js +1 -1
  85. package/build/cjs/components/Layout/Split/SplitDocked.js +1 -1
  86. package/build/cjs/components/Layout/context.d.ts +2 -2
  87. package/build/cjs/components/Layout/cssVarStore.d.ts +10 -3
  88. package/build/cjs/components/Layout/cssVarStore.js +1 -1
  89. package/build/cjs/components/Layout/registry.d.ts +13 -9
  90. package/build/cjs/components/Layout/useLayout.js +1 -1
  91. package/build/cjs/components/Layout/useLeftPanelId.d.ts +1 -1
  92. package/build/cjs/components/Layout/usePanelAnimations.d.ts +12 -0
  93. package/build/cjs/components/Layout/usePanelAnimations.js +1 -0
  94. package/build/cjs/components/Layout/usePanelDockedSlide.js +1 -1
  95. package/build/cjs/components/Link/Link.js +1 -1
  96. package/build/cjs/components/MediaItem/MediaItem.js +1 -1
  97. package/build/cjs/components/MediaViewerCarousel/MediaCarousel/MediaCarousel.js +1 -1
  98. package/build/cjs/components/NavBar/NavBar.d.ts +14 -18
  99. package/build/cjs/components/NavBar/NavBarContext.d.ts +1 -1
  100. package/build/cjs/components/NavBar/NavBarDropdownTriggerButton.d.ts +1 -1
  101. package/build/cjs/components/Notification/Notification.js +1 -1
  102. package/build/cjs/components/Patterns/Dialog/DialogContext.d.ts +1 -1
  103. package/build/cjs/components/Patterns/EmptyState/EmptyState.d.ts +2 -2
  104. package/build/cjs/components/Patterns/Modal/Modal.d.ts +4 -2
  105. package/build/cjs/components/Patterns/Popover/PopoverContext.d.ts +1 -1
  106. package/build/cjs/components/PictogramButton/PictogramButton.js +1 -1
  107. package/build/cjs/components/PromptInput/PromptInput.d.ts +1 -1
  108. package/build/cjs/components/RadioCard/RadioCard.d.ts +1 -1
  109. package/build/cjs/components/RoundButton/RoundButton.js +1 -1
  110. package/build/cjs/components/SearchResult/SearchResult.d.ts +3 -1
  111. package/build/cjs/components/SearchResult/SearchResult.js +1 -1
  112. package/build/cjs/components/Sheet/Sheet.js +1 -1
  113. package/build/cjs/components/Sheet/useSheetHeightSync.d.ts +26 -0
  114. package/build/cjs/components/Sheet/useSheetHeightSync.js +1 -0
  115. package/build/cjs/components/StatusIndicator/StatusIndicator.js +1 -1
  116. package/build/cjs/components/SubThemeProvider/SubThemeContext.d.ts +1 -1
  117. package/build/cjs/components/Tooltip/FloatingPositionedContext.d.ts +1 -1
  118. package/build/cjs/components/Typography/Text/Text.js +1 -1
  119. package/build/cjs/components/Utilities/ContainerQuery/ContainerQueryContext.d.ts +1 -1
  120. package/build/cjs/components/Utilities/Expandable/Expandable.js +1 -1
  121. package/build/cjs/components/Utilities/ScreenReaderText/ScreenReaderText.d.ts +1 -1
  122. package/build/cjs/shared/components/SelectableButton.d.ts +1 -1
  123. package/build/cjs/shared/useExitAnimation.js +1 -0
  124. package/build/cjs/web-tokens/layout-vars.d.ts +7 -0
  125. package/build/cjs/web-tokens/layout-vars.js +1 -1
  126. package/build/cjs/web-tokens/layout-vars.ts +7 -0
  127. package/build/cjs/web-tokens/visualConfig.d.ts +40 -0
  128. package/build/cjs/web-tokens/visualConfig.js +1 -1
  129. package/build/esm/components/AIButton/AIButton.js +1 -1
  130. package/build/esm/components/Badge/Badge.js +1 -1
  131. package/build/esm/components/Button/Button.js +1 -1
  132. package/build/esm/components/CheckboxCard/CheckboxCard.d.ts +1 -1
  133. package/build/esm/components/Collapsible/Collapsible.js +1 -1
  134. package/build/esm/components/Column/Columns.js +1 -1
  135. package/build/esm/components/Content/ContentBadge/ContentBadge.js +1 -1
  136. package/build/esm/components/Content/ContentCheckbox/ContentCheckbox.d.ts +1 -1
  137. package/build/esm/components/Content/ContentCheckbox/ContentCheckbox.js +1 -1
  138. package/build/esm/components/Content/ContentCitation/ContentCitation.d.ts +3 -3
  139. package/build/esm/components/Content/ContentFontResizer/FontSizeOffsetContext.d.ts +1 -1
  140. package/build/esm/components/Content/ContentLink/ContentLink.js +1 -1
  141. package/build/esm/components/Content/ContentText/ContentText.d.ts +1 -1
  142. package/build/esm/components/Content/ContentText/ContentText.js +1 -1
  143. package/build/esm/components/Content/DosageButton/DosageButton.d.ts +1 -1
  144. package/build/esm/components/CountButton/CountButton.js +1 -1
  145. package/build/esm/components/DataTable/DataTable.d.ts +3 -2
  146. package/build/esm/components/DataTable/DataTable.js +1 -1
  147. package/build/esm/components/DataTable/TableCell.d.ts +1 -1
  148. package/build/esm/components/DataTable/internal/tablePrimitives.d.ts +3 -3
  149. package/build/esm/components/EntityList/styled-components.d.ts +8 -8
  150. package/build/esm/components/Form/Checkbox/Checkbox.d.ts +2 -2
  151. package/build/esm/components/Form/Combobox/SingleSelect.js +1 -1
  152. package/build/esm/components/Form/Combobox/StyledSelectComponents.d.ts +4 -4
  153. package/build/esm/components/Form/Combobox/StyledSelectComponents.js +1 -1
  154. package/build/esm/components/Form/DatePicker/DatePicker.d.ts +1 -1
  155. package/build/esm/components/Form/Input/Input.js +1 -1
  156. package/build/esm/components/Form/MaskedInput/MaskedInput.d.ts +1 -1
  157. package/build/esm/components/Form/PasswordInput/PasswordInput.js +1 -1
  158. package/build/esm/components/Form/Radio/Radio.d.ts +2 -2
  159. package/build/esm/components/Form/RadioButton/RadioButton.js +1 -1
  160. package/build/esm/components/Form/RangeInput/RangeInput.d.ts +1 -1
  161. package/build/esm/components/Form/SegmentedControl/SegmentedControlOption.js +1 -1
  162. package/build/esm/components/Form/Select/Select.js +1 -1
  163. package/build/esm/components/Form/Textarea/Textarea.d.ts +2 -2
  164. package/build/esm/components/Form/Textarea/Textarea.js +1 -1
  165. package/build/esm/components/Form/Toggle/Toggle.d.ts +3 -3
  166. package/build/esm/components/Form/ToggleButton/ToggleButton.d.ts +1 -1
  167. package/build/esm/components/Grid/Grid.d.ts +1 -1
  168. package/build/esm/components/Grid/Grid.js +1 -1
  169. package/build/esm/components/IconTile/IconTile.js +1 -1
  170. package/build/esm/components/Internal/Drawer/Drawer.js +3 -3
  171. package/build/esm/components/Internal/Float/Float.js +1 -1
  172. package/build/esm/components/Internal/LayoutFloat/LayoutFloat.d.ts +13 -1
  173. package/build/esm/components/Internal/LayoutFloat/useLayoutFloatDrag.d.ts +1 -1
  174. package/build/esm/components/Internal/Panel/Panel.d.ts +5 -3
  175. package/build/esm/components/Internal/Panel/Panel.js +1 -1
  176. package/build/esm/components/Internal/PanelHeader/PanelHeader.d.ts +1 -1
  177. package/build/esm/components/Internal/PanelHeader/PanelHeader.js +1 -1
  178. package/build/esm/components/Internal/Sandwich/useSandwichContext.d.ts +1 -1
  179. package/build/esm/components/Layout/-constants.d.ts +10 -0
  180. package/build/esm/components/Layout/-constants.js +1 -1
  181. package/build/esm/components/Layout/-types.d.ts +35 -11
  182. package/build/esm/components/Layout/BottomBar/BottomBarItem/LayoutBottomBarItem.d.ts +18 -0
  183. package/build/esm/components/Layout/BottomBar/BottomBarItem/LayoutBottomBarItem.js +1 -0
  184. package/build/esm/components/Layout/BottomBar/LayoutBottomBar.d.ts +3 -0
  185. package/build/esm/components/Layout/BottomBar/LayoutBottomBar.js +1 -0
  186. package/build/esm/components/Layout/BottomBar/StyledLayoutBottomBar.d.ts +11 -0
  187. package/build/esm/components/Layout/BottomBar/StyledLayoutBottomBar.js +1 -0
  188. package/build/esm/components/Layout/BottomBar/StyledLayoutBottomBarSection.d.ts +13 -0
  189. package/build/esm/components/Layout/BottomBar/StyledLayoutBottomBarSection.js +1 -0
  190. package/build/esm/components/Layout/BottomBar/getBottomBarLayout.d.ts +42 -0
  191. package/build/esm/components/Layout/BottomBar/getBottomBarLayout.js +1 -0
  192. package/build/esm/components/Layout/Layout.d.ts +4 -0
  193. package/build/esm/components/Layout/Layout.js +1 -1
  194. package/build/esm/components/Layout/LayoutCssVars.d.ts +1 -1
  195. package/build/esm/components/Layout/LayoutCssVars.js +1 -1
  196. package/build/esm/components/Layout/LayoutPortal.d.ts +7 -0
  197. package/build/esm/components/Layout/LayoutPortal.js +1 -0
  198. package/build/esm/components/Layout/LayoutProvider.js +1 -1
  199. package/build/esm/components/Layout/LeftPanel/LeftPanelDrawer.d.ts +3 -4
  200. package/build/esm/components/Layout/LeftPanel/LeftPanelDrawer.js +1 -1
  201. package/build/esm/components/Layout/LeftPanel/useLeftBarContext.d.ts +1 -1
  202. package/build/esm/components/Layout/LeftPanel/useLeftPanelCollapseContext.d.ts +1 -1
  203. package/build/esm/components/Layout/PanelContainer.d.ts +1 -1
  204. package/build/esm/components/Layout/PanelContainer.js +1 -1
  205. package/build/esm/components/Layout/RightPanel/RightPanel.js +1 -1
  206. package/build/esm/components/Layout/RightPanel/RightPanelDocked.d.ts +1 -1
  207. package/build/esm/components/Layout/RightPanel/RightPanelDocked.js +1 -1
  208. package/build/esm/components/Layout/Split/MobileSplitView/MobileSplitView.js +1 -1
  209. package/build/esm/components/Layout/Split/MobileSplitView/StyledMobileSplitSlideLayer.d.ts +1 -1
  210. package/build/esm/components/Layout/Split/MobileSplitView/StyledMobileSplitSlideLayer.js +1 -1
  211. package/build/esm/components/Layout/Split/MobileSplitView/useMobileSplitStack.d.ts +1 -1
  212. package/build/esm/components/Layout/Split/Split.js +1 -1
  213. package/build/esm/components/Layout/Split/SplitDocked.js +1 -1
  214. package/build/esm/components/Layout/context.d.ts +2 -2
  215. package/build/esm/components/Layout/cssVarStore.d.ts +10 -3
  216. package/build/esm/components/Layout/cssVarStore.js +1 -1
  217. package/build/esm/components/Layout/registry.d.ts +13 -9
  218. package/build/esm/components/Layout/useLayout.js +1 -1
  219. package/build/esm/components/Layout/useLeftPanelId.d.ts +1 -1
  220. package/build/esm/components/Layout/usePanelAnimations.d.ts +12 -0
  221. package/build/esm/components/Layout/usePanelAnimations.js +1 -0
  222. package/build/esm/components/Layout/usePanelDockedSlide.js +1 -1
  223. package/build/esm/components/Link/Link.js +1 -1
  224. package/build/esm/components/MediaItem/MediaItem.js +1 -1
  225. package/build/esm/components/MediaViewerCarousel/MediaCarousel/MediaCarousel.js +1 -1
  226. package/build/esm/components/NavBar/NavBar.d.ts +14 -18
  227. package/build/esm/components/NavBar/NavBarContext.d.ts +1 -1
  228. package/build/esm/components/NavBar/NavBarDropdownTriggerButton.d.ts +1 -1
  229. package/build/esm/components/Notification/Notification.js +1 -1
  230. package/build/esm/components/Patterns/Dialog/DialogContext.d.ts +1 -1
  231. package/build/esm/components/Patterns/EmptyState/EmptyState.d.ts +2 -2
  232. package/build/esm/components/Patterns/Modal/Modal.d.ts +4 -2
  233. package/build/esm/components/Patterns/Popover/PopoverContext.d.ts +1 -1
  234. package/build/esm/components/PictogramButton/PictogramButton.js +1 -1
  235. package/build/esm/components/PromptInput/PromptInput.d.ts +1 -1
  236. package/build/esm/components/RadioCard/RadioCard.d.ts +1 -1
  237. package/build/esm/components/RoundButton/RoundButton.js +1 -1
  238. package/build/esm/components/SearchResult/SearchResult.d.ts +3 -1
  239. package/build/esm/components/SearchResult/SearchResult.js +1 -1
  240. package/build/esm/components/Sheet/Sheet.js +1 -1
  241. package/build/esm/components/Sheet/useSheetHeightSync.d.ts +26 -0
  242. package/build/esm/components/Sheet/useSheetHeightSync.js +1 -0
  243. package/build/esm/components/StatusIndicator/StatusIndicator.js +1 -1
  244. package/build/esm/components/SubThemeProvider/SubThemeContext.d.ts +1 -1
  245. package/build/esm/components/Tooltip/FloatingPositionedContext.d.ts +1 -1
  246. package/build/esm/components/Typography/Text/Text.js +1 -1
  247. package/build/esm/components/Utilities/ContainerQuery/ContainerQueryContext.d.ts +1 -1
  248. package/build/esm/components/Utilities/Expandable/Expandable.js +1 -1
  249. package/build/esm/components/Utilities/ScreenReaderText/ScreenReaderText.d.ts +1 -1
  250. package/build/esm/shared/components/SelectableButton.d.ts +1 -1
  251. package/build/esm/shared/useExitAnimation.js +1 -0
  252. package/build/esm/web-tokens/layout-vars.d.ts +7 -0
  253. package/build/esm/web-tokens/layout-vars.js +1 -1
  254. package/build/esm/web-tokens/layout-vars.ts +7 -0
  255. package/build/esm/web-tokens/visualConfig.d.ts +40 -0
  256. package/build/esm/web-tokens/visualConfig.js +1 -1
  257. package/build/scss/_layout.scss +14 -0
  258. package/build/scss/_variables.scss +20 -1
  259. package/package.json +16 -13
  260. package/build/cjs/components/Internal/Drawer/useExitAnimation.js +0 -1
  261. package/build/cjs/shared/isWithinScrolledElement.d.ts +0 -1
  262. package/build/cjs/shared/isWithinScrolledElement.js +0 -1
  263. package/build/cjs/shared/useDragDown.d.ts +0 -14
  264. package/build/cjs/shared/useDragDown.js +0 -1
  265. package/build/esm/components/Internal/Drawer/useExitAnimation.js +0 -1
  266. package/build/esm/shared/isWithinScrolledElement.d.ts +0 -1
  267. package/build/esm/shared/isWithinScrolledElement.js +0 -1
  268. package/build/esm/shared/useDragDown.d.ts +0 -14
  269. package/build/esm/shared/useDragDown.js +0 -1
  270. /package/build/cjs/{components/Internal/Drawer → shared}/useExitAnimation.d.ts +0 -0
  271. /package/build/esm/{components/Internal/Drawer → shared}/useExitAnimation.d.ts +0 -0
@@ -1,6 +1,7 @@
1
1
  import type { ReactElement, ReactNode } from "react";
2
2
  import type { MQ } from "../../types";
3
3
  import type { DataTableColumn, DataTableColumnOrGroup, DataTableRow, DataTableRowProps, DataTableSlotProps } from "./types";
4
+ import { defaultSortCompareFn } from "./useDataTableSort";
4
5
  import { DataTableToolbar } from "./DataTableToolbar/DataTableToolbar";
5
6
  type DataTablePropsBase = {
6
7
  /** Screen reader text for table caption */
@@ -143,7 +144,7 @@ export type DataTableProps = DataTablePropsBase & (DataTableSelectableProps | Da
143
144
  export declare function BaseDataTable({ caption, columns, rows, footer, currentlySortedByColumn, isFirstColumnSticky, isLastColumnSticky, "data-e2e-test-id": dataE2eTestId, isLoading, loadingStateScreenReaderText, isEmpty, slotProps, children, emptyTableContentHeight, layout, width, bodyCellVerticalPadding, emptyCellContent, maxHeight, isSelectable, selectedRowIds, allRowsSelected, selectAllRowsCheckboxAriaLabel, getRowProps, onRowSelectionChange, onAllRowsSelectionChange, isExpandable, expandedRowIds: expandedRowIdsProp, onRowExpansionChange, expandRowAriaLabel, collapseRowAriaLabel, onSort, ...ariaAttributes }: DataTableProps): ReactElement;
144
145
  export declare function DataTable({ children, ...rest }: DataTableProps): ReactElement;
145
146
  export declare namespace DataTable {
146
- var sortCompareFn: (a: DataTableRow, b: DataTableRow, columnName: DataTableColumn["name"], desiredSortDirection: DataTableColumn["sortDirection"]) => number;
147
- var Toolbar: typeof DataTableToolbar;
147
+ export { defaultSortCompareFn as sortCompareFn };
148
+ export { DataTableToolbar as Toolbar };
148
149
  }
149
150
  export {};
@@ -1 +1 @@
1
- import styled from"@emotion/styled";import React,{useCallback,useEffect,useRef,useState}from"react";import{useResponsiveValue}from"../../shared/mediaQueries";import{Container}from"../Container/Container";import{ScreenReaderText}from"../Utilities/ScreenReaderText/ScreenReaderText";import{buildColumnSegments}from"./internal/buildColumnSegments";import{buildInternalColumns}from"./internal/buildInternalColumns";import TableHeader from"./header/TableHeader";import TableBody from"./TableBody";import TableColumnGroups from"./TableColumnGroups";import{useDataTableScrollContainerWidth}from"./useDataTableScrollContainer";import{defaultSortCompareFn}from"./useDataTableSort";import{DataTableToolbar}from"./DataTableToolbar/DataTableToolbar";function getTableScrolledToRight(elm){let elmRect=elm.getBoundingClientRect();return elm.scrollLeft+elmRect.width>=elm.scrollWidth}let TableContainer=styled("div",{target:"e1eldv6n0",label:"TableContainer"})(({theme,footer,maxHeight})=>({position:"relative",zIndex:0,overflow:"auto",backgroundColor:theme.values.color.background.primary.default,borderRadius:"inherit",...useResponsiveValue({maxHeight}),...footer&&{borderBottomLeftRadius:0,borderBottomRightRadius:0}})),StyledTable=styled("table",{target:"e1eldv6n1",label:"StyledTable"})(({layout,tableWidth})=>({borderSpacing:0,tableLayout:layout,...useResponsiveValue({width:tableWidth})})),StyledFooter=styled("div",{target:"e1eldv6n2",label:"StyledFooter"})(({theme})=>({padding:theme.variables.size.spacing.xs,backgroundColor:theme.values.color.background.primary.default,borderBottomLeftRadius:"inherit",borderBottomRightRadius:"inherit"})),NO_SELECTED_ROW_IDS=[];export function BaseDataTable({caption,columns,rows=[],footer,currentlySortedByColumn,isFirstColumnSticky=!0,isLastColumnSticky=!1,"data-e2e-test-id":dataE2eTestId,isLoading=!1,loadingStateScreenReaderText="Loading",isEmpty=!1,slotProps,children,emptyTableContentHeight="15rem",layout="auto",width="100%",bodyCellVerticalPadding="m",emptyCellContent="--",maxHeight,isSelectable,selectedRowIds=NO_SELECTED_ROW_IDS,allRowsSelected,selectAllRowsCheckboxAriaLabel,getRowProps=()=>({}),onRowSelectionChange,onAllRowsSelectionChange,isExpandable,expandedRowIds:expandedRowIdsProp,onRowExpansionChange,expandRowAriaLabel,collapseRowAriaLabel,onSort,...ariaAttributes}){let[isScrolledToRight,setIsScrolledToRight]=useState(isLastColumnSticky),[isScrolledToLeft,setIsScrolledToLeft]=useState(isFirstColumnSticky),[uncontrolledExpandedRowIds,setUncontrolledExpandedRowIds]=useState([]),tableRef=useRef(null),containerRef=useRef(null),containerWidth=useDataTableScrollContainerWidth(containerRef),isExpandedControlled=void 0!==expandedRowIdsProp,expandedRowIds=isExpandedControlled?expandedRowIdsProp:uncontrolledExpandedRowIds,activeSelectedRowIds=isSelectable?selectedRowIds:NO_SELECTED_ROW_IDS,internalColumns=buildInternalColumns({columns,features:{selectable:isSelectable,expandable:isExpandable}}),columnSegments=buildColumnSegments(internalColumns),hasColumnGroups=columnSegments.some(({group})=>group),handleRowExpansionChange=useCallback(nextExpandedRowIds=>{isExpandedControlled||setUncontrolledExpandedRowIds(nextExpandedRowIds),onRowExpansionChange?.(nextExpandedRowIds)},[isExpandedControlled,onRowExpansionChange]),handleScroll=useCallback(evt=>{let elm=evt.currentTarget;setIsScrolledToLeft(0===elm.scrollLeft),setIsScrolledToRight(getTableScrolledToRight(elm))},[]);useEffect(()=>{if("undefined"==typeof ResizeObserver||!containerRef.current)return;let elm=containerRef.current,observer=new ResizeObserver(()=>{setIsScrolledToLeft(0===elm.scrollLeft),setIsScrolledToRight(getTableScrolledToRight(elm))});return observer.observe(elm),()=>observer.disconnect()},[]);let footerElm=footer?React.createElement(StyledFooter,null,footer):null;return React.createElement(React.Fragment,null,React.createElement(TableContainer,{ref:containerRef,footer:footer,maxHeight:maxHeight,onScroll:handleScroll},React.createElement(StyledTable,{"data-e2e-test-id":dataE2eTestId,"data-ds-id":"DataTable",ref:tableRef,layout:layout,tableWidth:width,"aria-busy":isLoading||void 0,...ariaAttributes},React.createElement(ScreenReaderText,{as:"caption"},caption),hasColumnGroups&&React.createElement(TableColumnGroups,{segments:columnSegments}),React.createElement(TableHeader,{columns:internalColumns,isFirstColumnSticky:isFirstColumnSticky,isLastColumnSticky:isLastColumnSticky,currentlySortedByColumn:currentlySortedByColumn,isTableScrolledToLeft:isScrolledToLeft,isTableScrolledToRight:isScrolledToRight,maxHeight:maxHeight,allRowsSelected:allRowsSelected,selectedRowIds:activeSelectedRowIds,onAllRowsSelectionChange:onAllRowsSelectionChange,selectAllRowsCheckboxAriaLabel:selectAllRowsCheckboxAriaLabel,onSort:onSort}),React.createElement(TableBody,{columns:internalColumns,rows:rows,bodyCellVerticalPadding:bodyCellVerticalPadding,isTableScrolledToLeft:isScrolledToLeft,isTableScrolledToRight:isScrolledToRight,isEmpty:isEmpty,emptyState:slotProps?.emptyState,isLoading:isLoading,loadingStateScreenReaderText:loadingStateScreenReaderText,emptyTableContentHeight:emptyTableContentHeight,containerWidth:containerWidth,footer:footer,isFirstColumnSticky:isFirstColumnSticky,isLastColumnSticky:isLastColumnSticky,emptyCellContent:emptyCellContent,selectedRowIds:activeSelectedRowIds,onRowSelectionChange:onRowSelectionChange,getRowProps:getRowProps,expandedRowIds:expandedRowIds,isTableExpandable:isExpandable,expandRowAriaLabel:expandRowAriaLabel,collapseRowAriaLabel:collapseRowAriaLabel,onRowExpansionChange:handleRowExpansionChange},children))),footerElm)}export function DataTable({children,...rest}){return React.createElement(Container,{elevation:1},React.createElement(BaseDataTable,rest,children))}DataTable.sortCompareFn=defaultSortCompareFn,DataTable.Toolbar=DataTableToolbar;
1
+ import styled from"@emotion/styled";import React,{useCallback,useEffect,useRef,useState}from"react";import{useResponsiveValue}from"../../shared/mediaQueries";import{Container}from"../Container/Container";import{ScreenReaderText}from"../Utilities/ScreenReaderText/ScreenReaderText";import{buildColumnSegments}from"./internal/buildColumnSegments";import{buildInternalColumns}from"./internal/buildInternalColumns";import TableHeader from"./header/TableHeader";import TableBody from"./TableBody";import TableColumnGroups from"./TableColumnGroups";import{useDataTableScrollContainerWidth}from"./useDataTableScrollContainer";import{defaultSortCompareFn}from"./useDataTableSort";import{DataTableToolbar}from"./DataTableToolbar/DataTableToolbar";function getTableScrolledToRight(elm){let elmRect=elm.getBoundingClientRect();return elm.scrollLeft+elmRect.width>=elm.scrollWidth}let TableContainer=styled("div",{target:"e17u2o1w0",label:"TableContainer"})(({theme,footer,maxHeight})=>({position:"relative",zIndex:0,overflow:"auto",backgroundColor:theme.values.color.background.primary.default,borderRadius:"inherit",...useResponsiveValue({maxHeight}),...footer&&{borderBottomLeftRadius:0,borderBottomRightRadius:0}})),StyledTable=styled("table",{target:"e17u2o1w1",label:"StyledTable"})(({layout,tableWidth})=>({borderSpacing:0,tableLayout:layout,...useResponsiveValue({width:tableWidth})})),StyledFooter=styled("div",{target:"e17u2o1w2",label:"StyledFooter"})(({theme})=>({padding:theme.variables.size.spacing.xs,backgroundColor:theme.values.color.background.primary.default,borderBottomLeftRadius:"inherit",borderBottomRightRadius:"inherit"})),NO_SELECTED_ROW_IDS=[];export function BaseDataTable({caption,columns,rows=[],footer,currentlySortedByColumn,isFirstColumnSticky=!0,isLastColumnSticky=!1,"data-e2e-test-id":dataE2eTestId,isLoading=!1,loadingStateScreenReaderText="Loading",isEmpty=!1,slotProps,children,emptyTableContentHeight="15rem",layout="auto",width="100%",bodyCellVerticalPadding="m",emptyCellContent="--",maxHeight,isSelectable,selectedRowIds=NO_SELECTED_ROW_IDS,allRowsSelected,selectAllRowsCheckboxAriaLabel,getRowProps=()=>({}),onRowSelectionChange,onAllRowsSelectionChange,isExpandable,expandedRowIds:expandedRowIdsProp,onRowExpansionChange,expandRowAriaLabel,collapseRowAriaLabel,onSort,...ariaAttributes}){let[isScrolledToRight,setIsScrolledToRight]=useState(isLastColumnSticky),[isScrolledToLeft,setIsScrolledToLeft]=useState(isFirstColumnSticky),[uncontrolledExpandedRowIds,setUncontrolledExpandedRowIds]=useState([]),tableRef=useRef(null),containerRef=useRef(null),containerWidth=useDataTableScrollContainerWidth(containerRef),isExpandedControlled=void 0!==expandedRowIdsProp,expandedRowIds=isExpandedControlled?expandedRowIdsProp:uncontrolledExpandedRowIds,activeSelectedRowIds=isSelectable?selectedRowIds:NO_SELECTED_ROW_IDS,internalColumns=buildInternalColumns({columns,features:{selectable:isSelectable,expandable:isExpandable}}),columnSegments=buildColumnSegments(internalColumns),hasColumnGroups=columnSegments.some(({group})=>group),handleRowExpansionChange=useCallback(nextExpandedRowIds=>{isExpandedControlled||setUncontrolledExpandedRowIds(nextExpandedRowIds),onRowExpansionChange?.(nextExpandedRowIds)},[isExpandedControlled,onRowExpansionChange]),handleScroll=useCallback(evt=>{let elm=evt.currentTarget;setIsScrolledToLeft(0===elm.scrollLeft),setIsScrolledToRight(getTableScrolledToRight(elm))},[]);useEffect(()=>{if("undefined"==typeof ResizeObserver||!containerRef.current)return;let elm=containerRef.current,observer=new ResizeObserver(()=>{setIsScrolledToLeft(0===elm.scrollLeft),setIsScrolledToRight(getTableScrolledToRight(elm))});return observer.observe(elm),()=>observer.disconnect()},[]);let footerElm=footer?React.createElement(StyledFooter,null,footer):null;return React.createElement(React.Fragment,null,React.createElement(TableContainer,{ref:containerRef,footer:footer,maxHeight:maxHeight,onScroll:handleScroll},React.createElement(StyledTable,{"data-e2e-test-id":dataE2eTestId,"data-ds-id":"DataTable",ref:tableRef,layout:layout,tableWidth:width,"aria-busy":isLoading||void 0,...ariaAttributes},React.createElement(ScreenReaderText,{as:"caption"},caption),hasColumnGroups&&React.createElement(TableColumnGroups,{segments:columnSegments}),React.createElement(TableHeader,{columns:internalColumns,isFirstColumnSticky:isFirstColumnSticky,isLastColumnSticky:isLastColumnSticky,currentlySortedByColumn:currentlySortedByColumn,isTableScrolledToLeft:isScrolledToLeft,isTableScrolledToRight:isScrolledToRight,maxHeight:maxHeight,allRowsSelected:allRowsSelected,selectedRowIds:activeSelectedRowIds,onAllRowsSelectionChange:onAllRowsSelectionChange,selectAllRowsCheckboxAriaLabel:selectAllRowsCheckboxAriaLabel,onSort:onSort}),React.createElement(TableBody,{columns:internalColumns,rows:rows,bodyCellVerticalPadding:bodyCellVerticalPadding,isTableScrolledToLeft:isScrolledToLeft,isTableScrolledToRight:isScrolledToRight,isEmpty:isEmpty,emptyState:slotProps?.emptyState,isLoading:isLoading,loadingStateScreenReaderText:loadingStateScreenReaderText,emptyTableContentHeight:emptyTableContentHeight,containerWidth:containerWidth,footer:footer,isFirstColumnSticky:isFirstColumnSticky,isLastColumnSticky:isLastColumnSticky,emptyCellContent:emptyCellContent,selectedRowIds:activeSelectedRowIds,onRowSelectionChange:onRowSelectionChange,getRowProps:getRowProps,expandedRowIds:expandedRowIds,isTableExpandable:isExpandable,expandRowAriaLabel:expandRowAriaLabel,collapseRowAriaLabel:collapseRowAriaLabel,onRowExpansionChange:handleRowExpansionChange},children))),footerElm)}export function DataTable({children,...rest}){return React.createElement(Container,{elevation:1},React.createElement(BaseDataTable,rest,children))}DataTable.sortCompareFn=defaultSortCompareFn,DataTable.Toolbar=DataTableToolbar;
@@ -17,5 +17,5 @@ declare const TableCell: import("@emotion/styled").StyledComponent<{
17
17
  isTableScrolledToLeft: boolean;
18
18
  isTableScrolledToRight: boolean;
19
19
  sticky?: "left" | "right" | false;
20
- } & Pick<DataTableRowProps, "isActive">, React.DetailedHTMLProps<React.TdHTMLAttributes<HTMLTableDataCellElement>, HTMLTableDataCellElement>, {}>;
20
+ } & Pick<DataTableRowProps, "isActive">, import("react").DetailedHTMLProps<import("react").TdHTMLAttributes<HTMLTableDataCellElement>, HTMLTableDataCellElement>, {}>;
21
21
  export default TableCell;
@@ -10,14 +10,14 @@ type StyledTrProps = {
10
10
  export declare const StyledTr: import("@emotion/styled").StyledComponent<{
11
11
  theme?: import("@emotion/react").Theme;
12
12
  as?: React.ElementType;
13
- } & StyledTrProps, React.DetailedHTMLProps<React.HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement>, {}>;
13
+ } & StyledTrProps, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement>, {}>;
14
14
  type StyledTextProps = {
15
15
  alignColumn?: DataTableColumn["align"];
16
16
  };
17
17
  export declare const StyledText: import("@emotion/styled").StyledComponent<Omit<{
18
18
  theme?: import("@emotion/react").Theme;
19
19
  as?: React.ElementType;
20
- } & import("../../Typography/Text/Text").BaseTextProps & React.ClassAttributes<HTMLParagraphElement> & React.HTMLAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement> & {
20
+ } & import("../../Typography/Text/Text").BaseTextProps & import("react").ClassAttributes<HTMLParagraphElement> & import("react").HTMLAttributes<HTMLParagraphElement>, "ref"> & import("react").RefAttributes<HTMLParagraphElement> & {
21
21
  theme?: import("@emotion/react").Theme;
22
22
  } & StyledTextProps, {}, {}>;
23
23
  export declare const StyledTd: import("@emotion/styled").StyledComponent<{
@@ -30,7 +30,7 @@ export declare const StyledTd: import("@emotion/styled").StyledComponent<{
30
30
  isTableScrolledToLeft: boolean;
31
31
  isTableScrolledToRight: boolean;
32
32
  sticky?: "left" | "right" | false;
33
- } & Pick<import("../types").DataTableRowProps, "isActive"> & React.ClassAttributes<HTMLTableDataCellElement> & React.TdHTMLAttributes<HTMLTableDataCellElement> & {
33
+ } & Pick<import("../types").DataTableRowProps, "isActive"> & import("react").ClassAttributes<HTMLTableDataCellElement> & import("react").TdHTMLAttributes<HTMLTableDataCellElement> & {
34
34
  theme?: import("@emotion/react").Theme;
35
35
  } & {
36
36
  bodyCellVerticalPadding?: DataTableProps["bodyCellVerticalPadding"];
@@ -3,38 +3,38 @@ import type { EntityListItemProps, EntityListItemWrapperProps } from "./types";
3
3
  import type { ListSize } from "../../types";
4
4
  export declare const getOffsetMqStyle: (cssProp: string, { theme, size, }: {
5
5
  theme: Theme;
6
- } & Partial<EntityListItemWrapperProps>) => Record<string, (string | number) | {
6
+ } & Partial<EntityListItemWrapperProps>) => Record<string, {
7
7
  [x: string]: string | number;
8
- }>;
8
+ } | (string | number)>;
9
9
  export declare const StyledList: import("@emotion/styled").StyledComponent<{
10
10
  theme?: Theme;
11
11
  as?: React.ElementType;
12
12
  } & {
13
13
  size: ListSize;
14
- }, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
14
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
15
15
  export declare const StyledEntityItem: import("@emotion/styled").StyledComponent<{
16
16
  theme?: Theme;
17
17
  as?: React.ElementType;
18
- }, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
18
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
19
19
  export declare const StyledShowMore: import("@emotion/styled").StyledComponent<{
20
20
  theme?: Theme;
21
21
  as?: React.ElementType;
22
- }, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
22
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
23
23
  export declare const StyledWrapperOffset: import("@emotion/styled").StyledComponent<{
24
24
  theme?: Theme;
25
25
  as?: React.ElementType;
26
26
  } & {
27
27
  size: ListSize;
28
- }, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
28
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
29
29
  export declare const StyledEntityListItemWrapper: import("@emotion/styled").StyledComponent<{
30
30
  theme?: Theme;
31
31
  as?: React.ElementType;
32
32
  } & {
33
33
  size: ListSize;
34
- } & React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
34
+ } & import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
35
35
  theme?: Theme;
36
36
  } & EntityListItemWrapperProps, {}, {}>;
37
37
  export declare const StyledEntityListItemButton: import("@emotion/styled").StyledComponent<{
38
38
  theme?: Theme;
39
39
  as?: React.ElementType;
40
- } & Partial<EntityListItemProps>, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
40
+ } & Partial<EntityListItemProps>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -35,11 +35,11 @@ export declare const CheckboxRaw: React.ForwardRefExoticComponent<{
35
35
  label?: string | React.ReactElement;
36
36
  indeterminate?: boolean;
37
37
  size?: CheckboxSizes;
38
- } & Omit<FormFieldProps, "label" | "hideLabel"> & Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "size"> & {
38
+ } & Omit<FormFieldProps, "hideLabel" | "label"> & Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "type"> & {
39
39
  labelSize?: CheckboxSizes;
40
40
  } & React.RefAttributes<HTMLInputElement>>;
41
41
  export declare const Checkbox: React.ForwardRefExoticComponent<{
42
42
  label?: string | React.ReactElement;
43
43
  indeterminate?: boolean;
44
44
  size?: CheckboxSizes;
45
- } & Omit<FormFieldProps, "label" | "hideLabel"> & Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "size"> & React.RefAttributes<HTMLInputElement>>;
45
+ } & Omit<FormFieldProps, "hideLabel" | "label"> & Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "type"> & React.RefAttributes<HTMLInputElement>>;
@@ -1 +1 @@
1
- import React,{useState,useRef,useMemo,useEffect,useCallback}from"react";import styled from"@emotion/styled";import{useKeyboard}from"../../../shared/useKeyboard";import{InputRaw}from"../Input/Input";import{StyledContainer}from"./StyledSelectComponents";import{getOptionId,getOptionsListId,OptionsList}from"./OptionsList";let StyledInnerInputContainer=styled("div",{target:"eqabiiq0",label:"StyledInnerInputContainer"})({position:"relative",zIndex:1}),StyledInputWrap=styled("div",{target:"eqabiiq1",label:"StyledInputWrap"})(()=>({position:"absolute",pointerEvents:"none",width:"100%",bottom:0,left:0})),HiddenSelectInput=styled("select",{target:"eqabiiq2",label:"HiddenSelectInput"})(()=>({display:"none"}));export const SingleSelect=({options,name,value,placeholder,emptyStateMessage,hasError,filterMethod,onChange=()=>{},onBlur,onFocus,maxHeight,autoComplete,disabled,label,optionsListWidth,portalContainer,readOnly,"aria-describedby":ariaDescribedBy,privateProps,...ariaAttributes})=>{let[isOpen,setIsOpen]=useState(!1),[innerValue,setInnerValue]=useState(""),[preselectedIndex,setPreselectedIndex]=useState(-1),initialValueOption=useMemo(()=>options.find(option=>option.value===value)||{value:"",label:""},[options,value]),[fakeSelectedOption,setFakeSelectedOption]=useState(initialValueOption),fakeSelectRef=useRef(null),innerInputRef=useRef(null),currentValueRef=useRef(value);currentValueRef.current=value;let forceChangeFakeSelect=useCallback(selectedOption=>{fakeSelectedOption.value!==selectedOption.value&&setFakeSelectedOption(selectedOption)},[fakeSelectedOption]),handleOpenDropdown=useCallback(()=>{readOnly||setIsOpen(!0)},[readOnly,setIsOpen]),closeDropdown=useCallback((noSelect=!1)=>{if(setIsOpen(!1),!noSelect){let selectedOption=options.find(option=>option.label.toLowerCase().trim()===innerValue.toLowerCase().trim());selectedOption&&forceChangeFakeSelect(selectedOption)}setInnerValue(""),setPreselectedIndex(-1),onBlur?.()},[onBlur,forceChangeFakeSelect,innerValue,options]);useEffect(()=>{fakeSelectRef.current&&currentValueRef.current!==fakeSelectedOption.value&&fakeSelectRef.current.dispatchEvent(new Event("change",{bubbles:!0}))},[fakeSelectedOption,fakeSelectRef,currentValueRef]),useEffect(()=>{forceChangeFakeSelect(initialValueOption)},[initialValueOption]);let filteredOptions=useMemo(()=>innerValue?options.filter(option=>filterMethod(option,innerValue)):options,[options,filterMethod,innerValue]),displayValue=useMemo(()=>options.find(option=>option.value===value)?.label??"",[value,options]);useEffect(()=>{setPreselectedIndex(-1)},[filteredOptions]),useKeyboard({"ArrowUp ArrowDown":()=>{handleOpenDropdown()}},innerInputRef,!isOpen&&!disabled&&!readOnly);let optionsListId=getOptionsListId(name),pendingOption=filteredOptions[preselectedIndex]??null,ariaActiveDescendant=isOpen&&pendingOption?getOptionId(name,pendingOption.value):"";return React.createElement(StyledContainer,{onBlur:()=>{isOpen&&pendingOption&&!pendingOption.disabled&&forceChangeFakeSelect(pendingOption),closeDropdown(!0)}},React.createElement(StyledInnerInputContainer,null,React.createElement(InputRaw,{name:`${name}-innerInput`,value:innerValue,hasError:hasError,privateProps:{isTransparent:!(isOpen&&innerValue)||readOnly},icon:isOpen?"chevron-up":"chevron-down",disabled:disabled,readOnly:readOnly,onFocus:onFocus,onClick:handleOpenDropdown,onChange:e=>{e.currentTarget.value&&handleOpenDropdown(),setInnerValue(e.currentTarget.value)},ref:innerInputRef,autoComplete:autoComplete,...ariaAttributes,"aria-label":label,role:"combobox","aria-haspopup":"listbox","aria-activedescendant":ariaActiveDescendant,"aria-controls":isOpen?optionsListId:"","aria-expanded":isOpen,"aria-describedby":ariaDescribedBy})),React.createElement(StyledInputWrap,null,React.createElement(InputRaw,{"aria-hidden":!0,name:name,value:displayValue,onChange:()=>null,icon:isOpen?"chevron-up":"chevron-down",placeholder:placeholder,tabIndex:-1,hasError:hasError,autoComplete:"off",readOnly:readOnly})),React.createElement(OptionsList,{name:name,isOpen:isOpen,options:filteredOptions,triggerRef:innerInputRef,onCloseDropdown:closeDropdown,portalContainer:portalContainer,selectedIndex:preselectedIndex,onSelectedIndexChange:index=>{setPreselectedIndex(index)},forceChangeFakeSelect:forceChangeFakeSelect,value:value,emptyStateMessage:emptyStateMessage,disabled:disabled,maxHeight:maxHeight,optionsListWidth:optionsListWidth}),React.createElement(HiddenSelectInput,{onChange:onChange,value:fakeSelectedOption.value,ref:fakeSelectRef,autoComplete:"off"},React.createElement("option",{value:fakeSelectedOption.value},fakeSelectedOption.label)))};
1
+ import React,{useState,useRef,useMemo,useEffect,useCallback}from"react";import styled from"@emotion/styled";import{useKeyboard}from"../../../shared/useKeyboard";import{InputRaw}from"../Input/Input";import{StyledContainer}from"./StyledSelectComponents";import{getOptionId,getOptionsListId,OptionsList}from"./OptionsList";let StyledInnerInputContainer=styled("div",{target:"e1jb8j290",label:"StyledInnerInputContainer"})({position:"relative",zIndex:1}),StyledInputWrap=styled("div",{target:"e1jb8j291",label:"StyledInputWrap"})(()=>({position:"absolute",pointerEvents:"none",width:"100%",bottom:0,left:0})),HiddenSelectInput=styled("select",{target:"e1jb8j292",label:"HiddenSelectInput"})(()=>({display:"none"}));export const SingleSelect=({options,name,value,placeholder,emptyStateMessage,hasError,filterMethod,onChange=()=>{},onBlur,onFocus,maxHeight,autoComplete,disabled,label,optionsListWidth,portalContainer,readOnly,"aria-describedby":ariaDescribedBy,privateProps,...ariaAttributes})=>{let[isOpen,setIsOpen]=useState(!1),[innerValue,setInnerValue]=useState(""),[preselectedIndex,setPreselectedIndex]=useState(-1),initialValueOption=useMemo(()=>options.find(option=>option.value===value)||{value:"",label:""},[options,value]),[fakeSelectedOption,setFakeSelectedOption]=useState(initialValueOption),fakeSelectRef=useRef(null),innerInputRef=useRef(null),currentValueRef=useRef(value);currentValueRef.current=value;let forceChangeFakeSelect=useCallback(selectedOption=>{fakeSelectedOption.value!==selectedOption.value&&setFakeSelectedOption(selectedOption)},[fakeSelectedOption]),handleOpenDropdown=useCallback(()=>{readOnly||setIsOpen(!0)},[readOnly,setIsOpen]),closeDropdown=useCallback((noSelect=!1)=>{if(setIsOpen(!1),!noSelect){let selectedOption=options.find(option=>option.label.toLowerCase().trim()===innerValue.toLowerCase().trim());selectedOption&&forceChangeFakeSelect(selectedOption)}setInnerValue(""),setPreselectedIndex(-1),onBlur?.()},[onBlur,forceChangeFakeSelect,innerValue,options]);useEffect(()=>{fakeSelectRef.current&&currentValueRef.current!==fakeSelectedOption.value&&fakeSelectRef.current.dispatchEvent(new Event("change",{bubbles:!0}))},[fakeSelectedOption,fakeSelectRef,currentValueRef]),useEffect(()=>{forceChangeFakeSelect(initialValueOption)},[initialValueOption]);let filteredOptions=useMemo(()=>innerValue?options.filter(option=>filterMethod(option,innerValue)):options,[options,filterMethod,innerValue]),displayValue=useMemo(()=>options.find(option=>option.value===value)?.label??"",[value,options]);useEffect(()=>{setPreselectedIndex(-1)},[filteredOptions]),useKeyboard({"ArrowUp ArrowDown":()=>{handleOpenDropdown()}},innerInputRef,!isOpen&&!disabled&&!readOnly);let optionsListId=getOptionsListId(name),pendingOption=filteredOptions[preselectedIndex]??null,ariaActiveDescendant=isOpen&&pendingOption?getOptionId(name,pendingOption.value):"";return React.createElement(StyledContainer,{onBlur:()=>{isOpen&&pendingOption&&!pendingOption.disabled&&forceChangeFakeSelect(pendingOption),closeDropdown(!0)}},React.createElement(StyledInnerInputContainer,null,React.createElement(InputRaw,{name:`${name}-innerInput`,value:innerValue,hasError:hasError,privateProps:{isTransparent:!(isOpen&&innerValue)||readOnly},icon:isOpen?"chevron-up":"chevron-down",disabled:disabled,readOnly:readOnly,onFocus:onFocus,onClick:handleOpenDropdown,onChange:e=>{e.currentTarget.value&&handleOpenDropdown(),setInnerValue(e.currentTarget.value)},ref:innerInputRef,autoComplete:autoComplete,...ariaAttributes,"aria-label":label,role:"combobox","aria-haspopup":"listbox","aria-activedescendant":ariaActiveDescendant,"aria-controls":isOpen?optionsListId:"","aria-expanded":isOpen,"aria-describedby":ariaDescribedBy})),React.createElement(StyledInputWrap,null,React.createElement(InputRaw,{"aria-hidden":!0,name:name,value:displayValue,onChange:()=>null,icon:isOpen?"chevron-up":"chevron-down",placeholder:placeholder,tabIndex:-1,hasError:hasError,autoComplete:"off",readOnly:readOnly})),React.createElement(OptionsList,{name:name,isOpen:isOpen,options:filteredOptions,triggerRef:innerInputRef,onCloseDropdown:closeDropdown,portalContainer:portalContainer,selectedIndex:preselectedIndex,onSelectedIndexChange:index=>{setPreselectedIndex(index)},forceChangeFakeSelect:forceChangeFakeSelect,value:value,emptyStateMessage:emptyStateMessage,disabled:disabled,maxHeight:maxHeight,optionsListWidth:optionsListWidth}),React.createElement(HiddenSelectInput,{onChange:onChange,value:fakeSelectedOption.value,ref:fakeSelectRef,autoComplete:"off"},React.createElement("option",{value:fakeSelectedOption.value},fakeSelectedOption.label)))};
@@ -1,7 +1,7 @@
1
1
  export declare const StyledContainer: import("@emotion/styled").StyledComponent<{
2
2
  theme?: import("@emotion/react").Theme;
3
3
  as?: React.ElementType;
4
- }, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
4
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
5
5
  type StyledOptionProps = {
6
6
  active: boolean;
7
7
  preSelected: boolean;
@@ -10,13 +10,13 @@ type StyledOptionProps = {
10
10
  export declare const StyledOption: import("@emotion/styled").StyledComponent<{
11
11
  theme?: import("@emotion/react").Theme;
12
12
  as?: React.ElementType;
13
- } & StyledOptionProps, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
13
+ } & StyledOptionProps, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
14
14
  export declare const StyledFakeInputWrap: import("@emotion/styled").StyledComponent<{
15
15
  theme?: import("@emotion/react").Theme;
16
16
  as?: React.ElementType;
17
- }, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
17
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
18
18
  export declare const StyledDropdown: import("@emotion/styled").StyledComponent<{
19
19
  theme?: import("@emotion/react").Theme;
20
20
  as?: React.ElementType;
21
- }, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
21
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
22
22
  export {};
@@ -1 +1 @@
1
- import styled from"@emotion/styled";import{usePortalChildZIndex}from"../../Portal/Portal";export const StyledContainer=styled("div",{target:"e1hs2c340",label:"StyledContainer"})(()=>({position:"relative",zIndex:0}));export const StyledOption=styled("div",{target:"e1hs2c341",label:"StyledOption"})(({theme,active,preSelected,disabled})=>{let hoverStyles={backgroundColor:theme.values.color.background.secondary.hover,borderRadius:0};return{padding:`${theme.variables.size.spacing.xs} ${theme.variables.size.spacing.s}`,cursor:"pointer",borderRadius:theme.variables.size.borderRadius.xs,...active&&{backgroundColor:theme.values.color.background.secondary.active,borderRadius:0},...disabled&&{cursor:"not-allowed",opacity:theme.variables.opacity.disabled},...!disabled&&{"&:hover":hoverStyles},...preSelected&&hoverStyles}});export const StyledFakeInputWrap=styled("div",{target:"e1hs2c342",label:"StyledFakeInputWrap"})(()=>({zIndex:0,position:"absolute",pointerEvents:"none",width:"100%",bottom:0,left:0}));export const StyledDropdown=styled("div",{target:"e1hs2c343",label:"StyledDropdown"})(({theme})=>{let zIndex=usePortalChildZIndex(theme.variables.zIndex.dropdown);return{backgroundColor:theme.values.color.background.primary.default,position:"absolute",zIndex,borderRadius:theme.variables.size.borderRadius.xs,overflow:"hidden",boxShadow:theme.values.elevation[2],boxSizing:"border-box"}});
1
+ import styled from"@emotion/styled";import{usePortalChildZIndex}from"../../Portal/Portal";export const StyledContainer=styled("div",{target:"ewra0900",label:"StyledContainer"})(()=>({position:"relative",zIndex:0}));export const StyledOption=styled("div",{target:"ewra0901",label:"StyledOption"})(({theme,active,preSelected,disabled})=>{let hoverStyles={backgroundColor:theme.values.color.background.secondary.hover,borderRadius:0};return{padding:`${theme.variables.size.spacing.xs} ${theme.variables.size.spacing.s}`,cursor:"pointer",borderRadius:theme.variables.size.borderRadius.xs,...active&&{backgroundColor:theme.values.color.background.secondary.active,borderRadius:0},...disabled&&{cursor:"not-allowed",opacity:theme.variables.opacity.disabled},...!disabled&&{"&:hover":hoverStyles},...preSelected&&hoverStyles}});export const StyledFakeInputWrap=styled("div",{target:"ewra0902",label:"StyledFakeInputWrap"})(()=>({zIndex:0,position:"absolute",pointerEvents:"none",width:"100%",bottom:0,left:0}));export const StyledDropdown=styled("div",{target:"ewra0903",label:"StyledDropdown"})(({theme})=>{let zIndex=usePortalChildZIndex(theme.variables.zIndex.dropdown);return{backgroundColor:theme.values.color.background.primary.default,position:"absolute",zIndex,borderRadius:theme.variables.size.borderRadius.xs,overflow:"hidden",boxShadow:theme.values.elevation[2],boxSizing:"border-box"}});
@@ -27,7 +27,7 @@ export declare const DatePicker: React.ForwardRefExoticComponent<{
27
27
  formatAriaLabel: (monthName: string, year: number) => string;
28
28
  };
29
29
  };
30
- } & import("../FormField/FormField").FormFieldProps & Omit<React.InputHTMLAttributes<HTMLInputElement>, "value" | "type" | "onChange"> & {
30
+ } & import("../FormField/FormField").FormFieldProps & Omit<React.InputHTMLAttributes<HTMLInputElement>, "onChange" | "type" | "value"> & {
31
31
  value?: string;
32
32
  hasError?: boolean;
33
33
  } & React.RefAttributes<HTMLInputElement>>;
@@ -1 +1 @@
1
- import React from"react";import styled from"@emotion/styled";import{Icon}from"../../Icon/Icon";import{FormField}from"../FormField/FormField";import{Text}from"../../Typography/Text/Text";import{useFormFieldMessageId}from"../FormField/useFormFieldMessageId";import{getInputTextStyles,getInputTextPlaceholder}from"../../../shared/mixins";let StyledContainer=styled("div",{target:"e16jtuij0",label:"StyledContainer"})(()=>({width:"100%",display:"flex",alignItems:"center",flexDirection:"row",position:"relative"})),StyledIconContainer=styled("div",{target:"e16jtuij1",label:"StyledIconContainer"})(({theme})=>({position:"absolute",right:theme.variables.size.spacing.xs})),StyledInput=styled("input",{target:"e16jtuij2",label:"StyledInput"})(({theme,privateProps,hasError,icon,readOnly,inputSize})=>({...getInputTextStyles({theme,size:inputSize,hasError,readOnly}),...getInputTextPlaceholder({theme}),...privateProps?.isTransparent?{backgroundColor:theme.values.color.background.transparent.default,borderColor:"transparent"}:{backgroundColor:theme.values.color.background.primary.default},...privateProps?.hideOutline&&{outline:"none"},"&.error":{borderColor:theme.values.color.border.error.default},"& svg":{pointerEvents:"none"},...icon&&{paddingRight:`calc(${theme.variables.size.spacing.s} + ${theme.variables.size.dimension.icon.m})`}}));export const InputRaw=React.forwardRef(({size="m",hasError=!1,type="text",icon,autoComplete="on",privateProps={},readOnly,...rest},ref)=>React.createElement(StyledContainer,null,React.createElement(StyledInput,{...rest,type:type,inputSize:size,ref:ref,autoComplete:autoComplete,hasError:hasError,privateProps:privateProps,icon:icon,readOnly:readOnly,"aria-invalid":hasError}),icon&&React.createElement(StyledIconContainer,null,React.createElement(Text,{as:"span",color:"tertiary"},React.createElement(Icon,{name:icon,size:"m",color:readOnly?"quaternary":void 0})))));export const Input=React.forwardRef(({size="m",placeholder,hasError=!1,type="text",icon,autoComplete="on",privateProps={},readOnly,disabled,label,labelHint,hideLabel,hint,errorMessages,"aria-describedby":ariaDescribedBy,"data-e2e-test-id":dataE2eTestId,...rest},ref)=>{let{id,ariaDescribedByProp}=useFormFieldMessageId({ariaDescribedBy,errorMessages,hint});return React.createElement(FormField,{"data-ds-id":"Input",disabled:disabled,"data-e2e-test-id":dataE2eTestId,hideLabel:hideLabel,label:label,labelHint:labelHint,hint:hint,errorMessages:errorMessages,messageId:id},React.createElement(InputRaw,{...rest,ref:ref,size:size,type:type,icon:icon,placeholder:readOnly?void 0:placeholder,hasError:hasError,disabled:disabled,autoComplete:autoComplete,privateProps:privateProps,readOnly:readOnly,...ariaDescribedByProp}))});
1
+ import React from"react";import styled from"@emotion/styled";import{Icon}from"../../Icon/Icon";import{FormField}from"../FormField/FormField";import{Text}from"../../Typography/Text/Text";import{useFormFieldMessageId}from"../FormField/useFormFieldMessageId";import{getInputTextStyles,getInputTextPlaceholder}from"../../../shared/mixins";let StyledContainer=styled("div",{target:"e1owrw4k0",label:"StyledContainer"})(()=>({width:"100%",display:"flex",alignItems:"center",flexDirection:"row",position:"relative"})),StyledIconContainer=styled("div",{target:"e1owrw4k1",label:"StyledIconContainer"})(({theme})=>({position:"absolute",right:theme.variables.size.spacing.xs})),StyledInput=styled("input",{target:"e1owrw4k2",label:"StyledInput"})(({theme,privateProps,hasError,icon,readOnly,inputSize})=>({...getInputTextStyles({theme,size:inputSize,hasError,readOnly}),...getInputTextPlaceholder({theme}),...privateProps?.isTransparent?{backgroundColor:theme.values.color.background.transparent.default,borderColor:"transparent"}:{backgroundColor:theme.values.color.background.primary.default},...privateProps?.hideOutline&&{outline:"none"},"&.error":{borderColor:theme.values.color.border.error.default},"& svg":{pointerEvents:"none"},...icon&&{paddingRight:`calc(${theme.variables.size.spacing.s} + ${theme.variables.size.dimension.icon.m})`}}));export const InputRaw=React.forwardRef(({size="m",hasError=!1,type="text",icon,autoComplete="on",privateProps={},readOnly,...rest},ref)=>React.createElement(StyledContainer,null,React.createElement(StyledInput,{...rest,type:type,inputSize:size,ref:ref,autoComplete:autoComplete,hasError:hasError,privateProps:privateProps,icon:icon,readOnly:readOnly,"aria-invalid":hasError}),icon&&React.createElement(StyledIconContainer,null,React.createElement(Text,{as:"span",color:"tertiary"},React.createElement(Icon,{name:icon,size:"m",color:readOnly?"quaternary":void 0})))));export const Input=React.forwardRef(({size="m",placeholder,hasError=!1,type="text",icon,autoComplete="on",privateProps={},readOnly,disabled,label,labelHint,hideLabel,hint,errorMessages,"aria-describedby":ariaDescribedBy,"data-e2e-test-id":dataE2eTestId,...rest},ref)=>{let{id,ariaDescribedByProp}=useFormFieldMessageId({ariaDescribedBy,errorMessages,hint});return React.createElement(FormField,{"data-ds-id":"Input",disabled:disabled,"data-e2e-test-id":dataE2eTestId,hideLabel:hideLabel,label:label,labelHint:labelHint,hint:hint,errorMessages:errorMessages,messageId:id},React.createElement(InputRaw,{...rest,ref:ref,size:size,type:type,icon:icon,placeholder:readOnly?void 0:placeholder,hasError:hasError,disabled:disabled,autoComplete:autoComplete,privateProps:privateProps,readOnly:readOnly,...ariaDescribedByProp}))});
@@ -20,4 +20,4 @@ export declare const MaskedInput: React.ForwardRefExoticComponent<{
20
20
  maskOptions: FactoryArg;
21
21
  onAccept?: (value: string, unmaskedValue: string, typedValue: string) => void;
22
22
  onComplete?: (value: string, unmaskedValue: string, typedValue: string) => void;
23
- } & Omit<InputProps, "type" | "onChange" | "size"> & React.RefAttributes<HTMLInputElement>>;
23
+ } & Omit<InputProps, "onChange" | "size" | "type"> & React.RefAttributes<HTMLInputElement>>;
@@ -1 +1 @@
1
- import React,{useState,forwardRef}from"react";import styled from"@emotion/styled";import{FormField}from"../FormField/FormField";import{useFormFieldMessageId}from"../FormField/useFormFieldMessageId";import{PasswordInputButton}from"./PasswordInputButton";let handleBorderColor=({theme,hasError,readOnly})=>hasError?theme.values.color.border.error.default:readOnly?theme.values.color.border.primary.disabled:theme.values.color.border.primary.default,StyledContainer=styled("div",{target:"e1talrlh0",label:"StyledContainer"})(()=>({width:"100%",display:"flex",alignItems:"center",flexDirection:"row",position:"relative"})),StyledPasswordInput=styled("input",{target:"e1talrlh1",label:"StyledPasswordInput"})(({theme,hasError=!1,readOnly=!1})=>({fontFamily:theme.variables.fontFamily.lato,fontSize:theme.variables.size.font.m,lineHeight:theme.variables.size.lineHeight.xl,borderRadius:theme.variables.size.borderRadius.xs,borderWidth:"1px",borderStyle:"solid",width:"100%",padding:`calc(${theme.variables.size.spacing.xs} - 1px) ${theme.variables.size.spacing.s}`,paddingRight:theme.variables.size.spacing.xxl,boxSizing:"border-box",color:theme.values.color.text.secondary.default,borderColor:handleBorderColor({theme,hasError,readOnly}),backgroundColor:theme.values.color.background.primary.default,"&.error":{borderColor:theme.values.color.border.error.default},"&.has-icon":{paddingRight:theme.variables.size.spacing.xs+theme.variables.size.dimension.icon.m},"&::placeholder":{fontStyle:"italic",color:theme.values.color.text.tertiary.default,opacity:theme.variables.opacity.visible},"&:-ms-input-placeholder":{fontStyle:"italic",color:theme.values.color.text.tertiary.default},"&::-ms-input-placeholder":{fontStyle:"italic",color:theme.values.color.text.tertiary.default},...hasError&&{boxShadow:`0 0 0 1px inset ${theme.values.color.border.error.default}`}}));export const PasswordInputRaw=forwardRef(({placeholder,hasError=!1,onIconClick,readOnly,disabled,slotProps:{toggleVisibility:{ariaLabelShow,ariaLabelHide}},...rest},ref)=>{let[isPasswordVisible,setIsPasswordVisible]=useState(!1);return React.createElement(StyledContainer,null,React.createElement(StyledPasswordInput,{...rest,type:isPasswordVisible?"text":"password",placeholder:readOnly?void 0:placeholder,ref:ref,hasError:hasError,readOnly:readOnly,disabled:disabled,"aria-invalid":hasError}),React.createElement(PasswordInputButton,{hasError:hasError,disabled:disabled,onIconClick:onIconClick,isPasswordVisible:isPasswordVisible,readOnly:readOnly,ariaLabel:isPasswordVisible?ariaLabelHide:ariaLabelShow,onToggle:()=>setIsPasswordVisible(prev=>!prev)}))});export const PasswordInput=React.forwardRef(({placeholder="••••••••",hasError=!1,onIconClick,autoComplete="on",slotProps,disabled,label,labelHint,hideLabel,hint,errorMessages,"aria-describedby":ariaDescribedBy,"data-e2e-test-id":dataE2eTestId,...rest},ref)=>{let{id,ariaDescribedByProp}=useFormFieldMessageId({ariaDescribedBy,errorMessages,hint});return React.createElement(FormField,{"data-e2e-test-id":dataE2eTestId,"data-ds-id":"PasswordInput",disabled:disabled,label:label,labelHint:labelHint,hideLabel:hideLabel,hint:hint,errorMessages:errorMessages,messageId:id},React.createElement(PasswordInputRaw,{...rest,ref:ref,placeholder:placeholder,hasError:hasError,disabled:disabled,onIconClick:onIconClick,autoComplete:autoComplete,slotProps:slotProps,...ariaDescribedByProp}))});
1
+ import React,{useState,forwardRef}from"react";import styled from"@emotion/styled";import{FormField}from"../FormField/FormField";import{useFormFieldMessageId}from"../FormField/useFormFieldMessageId";import{PasswordInputButton}from"./PasswordInputButton";let handleBorderColor=({theme,hasError,readOnly})=>hasError?theme.values.color.border.error.default:readOnly?theme.values.color.border.primary.disabled:theme.values.color.border.primary.default,StyledContainer=styled("div",{target:"expgvjt0",label:"StyledContainer"})(()=>({width:"100%",display:"flex",alignItems:"center",flexDirection:"row",position:"relative"})),StyledPasswordInput=styled("input",{target:"expgvjt1",label:"StyledPasswordInput"})(({theme,hasError=!1,readOnly=!1})=>({fontFamily:theme.variables.fontFamily.lato,fontSize:theme.variables.size.font.m,lineHeight:theme.variables.size.lineHeight.xl,borderRadius:theme.variables.size.borderRadius.xs,borderWidth:"1px",borderStyle:"solid",width:"100%",padding:`calc(${theme.variables.size.spacing.xs} - 1px) ${theme.variables.size.spacing.s}`,paddingRight:theme.variables.size.spacing.xxl,boxSizing:"border-box",color:theme.values.color.text.secondary.default,borderColor:handleBorderColor({theme,hasError,readOnly}),backgroundColor:theme.values.color.background.primary.default,"&.error":{borderColor:theme.values.color.border.error.default},"&.has-icon":{paddingRight:theme.variables.size.spacing.xs+theme.variables.size.dimension.icon.m},"&::placeholder":{fontStyle:"italic",color:theme.values.color.text.tertiary.default,opacity:theme.variables.opacity.visible},"&:-ms-input-placeholder":{fontStyle:"italic",color:theme.values.color.text.tertiary.default},"&::-ms-input-placeholder":{fontStyle:"italic",color:theme.values.color.text.tertiary.default},...hasError&&{boxShadow:`0 0 0 1px inset ${theme.values.color.border.error.default}`}}));export const PasswordInputRaw=forwardRef(({placeholder,hasError=!1,onIconClick,readOnly,disabled,slotProps:{toggleVisibility:{ariaLabelShow,ariaLabelHide}},...rest},ref)=>{let[isPasswordVisible,setIsPasswordVisible]=useState(!1);return React.createElement(StyledContainer,null,React.createElement(StyledPasswordInput,{...rest,type:isPasswordVisible?"text":"password",placeholder:readOnly?void 0:placeholder,ref:ref,hasError:hasError,readOnly:readOnly,disabled:disabled,"aria-invalid":hasError}),React.createElement(PasswordInputButton,{hasError:hasError,disabled:disabled,onIconClick:onIconClick,isPasswordVisible:isPasswordVisible,readOnly:readOnly,ariaLabel:isPasswordVisible?ariaLabelHide:ariaLabelShow,onToggle:()=>setIsPasswordVisible(prev=>!prev)}))});export const PasswordInput=React.forwardRef(({placeholder="••••••••",hasError=!1,onIconClick,autoComplete="on",slotProps,disabled,label,labelHint,hideLabel,hint,errorMessages,"aria-describedby":ariaDescribedBy,"data-e2e-test-id":dataE2eTestId,...rest},ref)=>{let{id,ariaDescribedByProp}=useFormFieldMessageId({ariaDescribedBy,errorMessages,hint});return React.createElement(FormField,{"data-e2e-test-id":dataE2eTestId,"data-ds-id":"PasswordInput",disabled:disabled,label:label,labelHint:labelHint,hideLabel:hideLabel,hint:hint,errorMessages:errorMessages,messageId:id},React.createElement(PasswordInputRaw,{...rest,ref:ref,placeholder:placeholder,hasError:hasError,disabled:disabled,onIconClick:onIconClick,autoComplete:autoComplete,slotProps:slotProps,...ariaDescribedByProp}))});
@@ -18,7 +18,7 @@ export declare const RadioRaw: React.ForwardRefExoticComponent<{
18
18
  /** Display hint below the label specific for the radio */
19
19
  labelHint?: string | React.ReactElement;
20
20
  size?: RadioSizes;
21
- } & Omit<FormFieldProps, "label" | "labelHint" | "hideLabel"> & Omit<React.InputHTMLAttributes<HTMLInputElement>, "type" | "size"> & {
21
+ } & Omit<FormFieldProps, "hideLabel" | "label" | "labelHint"> & Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "type"> & {
22
22
  labelSize?: RadioSizes;
23
23
  } & React.RefAttributes<HTMLInputElement>>;
24
24
  export declare const Radio: React.ForwardRefExoticComponent<{
@@ -26,5 +26,5 @@ export declare const Radio: React.ForwardRefExoticComponent<{
26
26
  /** Display hint below the label specific for the radio */
27
27
  labelHint?: string | React.ReactElement;
28
28
  size?: RadioSizes;
29
- } & Omit<FormFieldProps, "label" | "labelHint" | "hideLabel"> & Omit<React.InputHTMLAttributes<HTMLInputElement>, "type" | "size"> & React.RefAttributes<HTMLInputElement>>;
29
+ } & Omit<FormFieldProps, "hideLabel" | "label" | "labelHint"> & Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "type"> & React.RefAttributes<HTMLInputElement>>;
30
30
  export {};
@@ -1 +1 @@
1
- import React from"react";import styled from"@emotion/styled";import{FormField}from"../FormField/FormField";import{Icon}from"../../Icon/Icon";import{Inline}from"../../Inline/Inline";let StyledContainer=styled("div",{target:"e1ddt1cz0",label:"StyledContainer"})(()=>({userSelect:"none",display:"block",position:"relative",width:"100%",boxSizing:"border-box"})),StyledRealInput=styled("input",{target:"e1ddt1cz1",label:"StyledRealInput"})(({theme})=>({opacity:theme.variables.opacity.hidden,cursor:"pointer",height:0,width:0,position:"absolute"})),StyledFakeInput=styled("div",{target:"e1ddt1cz2",label:"StyledFakeInput"})(({theme})=>({cursor:"pointer",textTransform:"none",textDecoration:"none",borderRadius:theme.variables.size.borderRadius.xs,fontFamily:theme.variables.fontFamily.lato,fontSize:theme.variables.size.font.s,fontWeight:theme.variables.weight.bold,lineHeight:theme.variables.size.lineHeight.xs,padding:`${theme.variables.size.spacing.s} ${theme.variables.size.spacing.l}`,"input: focus-visible + &":{outlineWidth:"2px",outlineStyle:"solid",outlineColor:"Highlight"},"@media (-webkit-min-device-pixel-ratio:0)":{"input: focus-visible + &":{outlineColor:"-webkit-focus-ring-color",outlineStyle:"auto"}},"input:not(:checked) + &":{border:`1px solid ${theme.values.color.border.secondary.default}`,backgroundColor:theme.values.color.background.primary.default,color:theme.values.color.text.secondary.default,"&:hover":{backgroundColor:theme.values.color.background.secondary.default}},"input:checked + & ":{border:`1px solid ${theme.values.color.border.accent.default}`,backgroundColor:theme.values.color.background.accentSubtle.default,color:theme.values.color.text.accent.default}}));export function RadioButton({name,value="",checked,label="",icon,disabled=!1,onChange,onClick,onBlur,onFocus,...rest}){return React.createElement(FormField,{"data-ds-id":"RadioButton",...rest,disabled:disabled},React.createElement(StyledContainer,null,React.createElement(StyledRealInput,{type:"radio",name:name,value:value,checked:checked,disabled:disabled,onChange:onChange,onClick:onClick,onBlur:onBlur,onFocus:onFocus}),React.createElement(StyledFakeInput,null,React.createElement(Inline,{vAlignItems:"center",alignItems:"spaceBetween",noWrap:!0},label,icon&&React.createElement(Icon,{name:icon})))))}
1
+ import React from"react";import styled from"@emotion/styled";import{FormField}from"../FormField/FormField";import{Icon}from"../../Icon/Icon";import{Inline}from"../../Inline/Inline";let StyledContainer=styled("div",{target:"erfbmk0",label:"StyledContainer"})(()=>({userSelect:"none",display:"block",position:"relative",width:"100%",boxSizing:"border-box"})),StyledRealInput=styled("input",{target:"erfbmk1",label:"StyledRealInput"})(({theme})=>({opacity:theme.variables.opacity.hidden,cursor:"pointer",height:0,width:0,position:"absolute"})),StyledFakeInput=styled("div",{target:"erfbmk2",label:"StyledFakeInput"})(({theme})=>({cursor:"pointer",textTransform:"none",textDecoration:"none",borderRadius:theme.variables.size.borderRadius.xs,fontFamily:theme.variables.fontFamily.lato,fontSize:theme.variables.size.font.s,fontWeight:theme.variables.weight.bold,lineHeight:theme.variables.size.lineHeight.xs,padding:`${theme.variables.size.spacing.s} ${theme.variables.size.spacing.l}`,"input: focus-visible + &":{outlineWidth:"2px",outlineStyle:"solid",outlineColor:"Highlight"},"@media (-webkit-min-device-pixel-ratio:0)":{"input: focus-visible + &":{outlineColor:"-webkit-focus-ring-color",outlineStyle:"auto"}},"input:not(:checked) + &":{border:`1px solid ${theme.values.color.border.secondary.default}`,backgroundColor:theme.values.color.background.primary.default,color:theme.values.color.text.secondary.default,"&:hover":{backgroundColor:theme.values.color.background.secondary.default}},"input:checked + & ":{border:`1px solid ${theme.values.color.border.accent.default}`,backgroundColor:theme.values.color.background.accentSubtle.default,color:theme.values.color.text.accent.default}}));export function RadioButton({name,value="",checked,label="",icon,disabled=!1,onChange,onClick,onBlur,onFocus,...rest}){return React.createElement(FormField,{"data-ds-id":"RadioButton",...rest,disabled:disabled},React.createElement(StyledContainer,null,React.createElement(StyledRealInput,{type:"radio",name:name,value:value,checked:checked,disabled:disabled,onChange:onChange,onClick:onClick,onBlur:onBlur,onFocus:onFocus}),React.createElement(StyledFakeInput,null,React.createElement(Inline,{vAlignItems:"center",alignItems:"spaceBetween",noWrap:!0},label,icon&&React.createElement(Icon,{name:icon})))))}
@@ -9,4 +9,4 @@ export declare const RangeInput: React.ForwardRefExoticComponent<{
9
9
  /** The step size for each change in the range input's value. */
10
10
  hasError?: boolean;
11
11
  onSlideStart?: (e: React.FormEvent<HTMLInputElement>) => void;
12
- } & FormFieldProps & Omit<React.InputHTMLAttributes<HTMLInputElement>, "type"> & React.RefAttributes<HTMLInputElement>>;
12
+ } & FormFieldProps & Omit<InputHTMLAttributes<HTMLInputElement>, "type"> & React.RefAttributes<HTMLInputElement>>;
@@ -1 +1 @@
1
- import React,{useRef}from"react";import styled from"@emotion/styled";import breakpoints from"../../../web-tokens/_breakpoints.json";import{Text}from"../../Typography/Text/Text";import{Icon}from"../../Icon/Icon";import{ScreenReaderText}from"../../Utilities/ScreenReaderText/ScreenReaderText";import{Tooltip}from"../../Tooltip/Tooltip";import{Inline}from"../../Inline/Inline";import{getPressedStyles}from"../../../shared/mixins";let StyledInput=styled("input",{target:"e13oprls0",label:"StyledInput"})(({theme})=>({position:"absolute",height:1,width:1,margin:-1,overflow:"hidden",padding:0,opacity:theme.variables.opacity.hidden})),StyledLabel=styled(Text,{target:"e13oprls1",label:"StyledLabel"})(({theme,size})=>({..."s"===size&&{lineHeight:theme.variables.size.lineHeight.xs}})),StyledSublabel=styled(Text,{target:"e13oprls2",label:"StyledSublabel"})(({theme,isResponsive})=>{let baseStyle={textAlign:"center"};return isResponsive?{...baseStyle,[`@media (max-width: ${breakpoints.m.value}px)`]:{lineHeight:theme.variables.size.lineHeight.xs,textAlign:"right",marginLeft:theme.variables.size.spacing.m}}:baseStyle}),StyledIconContainer=styled("div",{target:"e13oprls3",label:"StyledIconContainer"})(),StyledContainer=styled("label",{target:"e13oprls4",label:"StyledContainer"})(({theme,size,checked,isResponsive,sublabel,iconOnly,displayAsOptionWithSublabel,disabled})=>{let borderStyle={"&:first-of-type":{borderTopLeftRadius:theme.variables.size.borderRadius.xs,borderBottomLeftRadius:theme.variables.size.borderRadius.xs,borderLeftStyle:"solid"},"&:last-of-type":{borderTopRightRadius:theme.variables.size.borderRadius.xs,borderBottomRightRadius:theme.variables.size.borderRadius.xs,borderRightStyle:"solid"}},basePaddingSize="s"===size?theme.variables.size.spacing.xs:theme.variables.size.spacing.s,basePadding=`calc(${basePaddingSize} - 1px)`,baseStyle={position:"relative",cursor:"pointer",backgroundColor:theme.values.color.background.primary.default,display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",border:`1px solid ${theme.values.color.border.secondary.default}`,borderLeftStyle:"none",borderRightStyle:"none",padding:(()=>{if(iconOnly)return"l"===size?`calc(${theme.variables.size.spacing.m} - 1px)`:basePadding;let horizontalPadding="s"===size?theme.variables.size.spacing.m:theme.variables.size.spacing.l;return`${basePadding} ${horizontalPadding}`})(),...!checked&&!disabled&&{"&:hover":{backgroundColor:theme.values.color.background.secondary.default}},...disabled&&{cursor:"not-allowed",opacity:theme.variables.opacity.disabled},...checked&&getPressedStyles({theme}),[`${StyledSublabel}, ${StyledLabel}, ${StyledIconContainer}`]:{color:theme.values.color.text.secondary.default,...checked&&{color:theme.values.color.text.accent.default}},[`&:has(${StyledInput}:focus-visible)`]:{outlineWidth:2,outlineStyle:"solid",outlineColor:"Highlight",outlineOffset:-1,"@media (-webkit-min-device-pixel-ratio:0)":{outlineColor:"-webkit-focus-ring-color",outlineStyle:"solid"}}};return isResponsive?{...baseStyle,[`@media (min-width: ${breakpoints.m.value}px)`]:{...borderStyle},[`@media (max-width: ${breakpoints.m.value}px)`]:{flexDirection:"row",justifyContent:sublabel||displayAsOptionWithSublabel?"space-between":"center",padding:theme.variables.size.spacing.m,borderTopStyle:"none",borderBottomStyle:"none",borderLeftStyle:"solid",borderRightStyle:"solid","&:first-of-type":{borderTopLeftRadius:theme.variables.size.borderRadius.xs,borderTopRightRadius:theme.variables.size.borderRadius.xs,borderTopStyle:"solid"},"&:last-of-type":{borderBottomLeftRadius:theme.variables.size.borderRadius.xs,borderBottomRightRadius:theme.variables.size.borderRadius.xs,borderBottomStyle:"solid"}}}:{...baseStyle,...borderStyle}});export function SegmentedControlOption({name,value="",checked,label="",sublabel,iconName,iconOnly,slotProps,tooltipContent,tooltipPlacement,tooltipPortalContainer,tooltipShortcut,size,disabled=!1,isResponsive=!1,inputType="radio",displayAsOptionWithSublabel=!1,onChange,onClick,onBlur,onFocus,onTooltipVisibilityChange}){let containerRef=useRef(null),iconAriaLabel=iconOnly?label:void 0,iconAccessibleName=slotProps?.icon?.ariaLabel??iconAriaLabel,iconElm=iconName?React.createElement(StyledIconContainer,null,iconAccessibleName?React.createElement(Icon,{name:iconName,size:"s","aria-label":iconAccessibleName,role:"img"}):React.createElement(Icon,{name:iconName,size:"s"})):null,showIcon=!sublabel&&iconElm,labelElm=React.createElement(StyledLabel,{size:"l"===size?"m":"s",weight:"bold"},label),labelContainerElm=labelElm;showIcon&&(labelContainerElm=iconOnly?React.createElement(React.Fragment,null,iconElm,React.createElement(ScreenReaderText,null,label)):React.createElement(Inline,{space:"xs",noWrap:!0,vAlignItems:"center"},iconElm,labelElm));let sublabelElm=sublabel?React.createElement(StyledSublabel,{size:"s",isResponsive:isResponsive},sublabel):null;return React.createElement(React.Fragment,null,React.createElement(StyledContainer,{size:size,checked:checked,sublabel:sublabel,iconOnly:iconOnly,isResponsive:isResponsive,displayAsOptionWithSublabel:displayAsOptionWithSublabel,ref:containerRef,disabled:disabled,tabIndex:-1},React.createElement(StyledInput,{type:inputType,name:name,value:value,checked:checked,disabled:disabled,onChange:onChange,onClick:onClick,onBlur:onBlur,onFocus:onFocus,"aria-expanded":slotProps?.input?.ariaExpanded,"aria-controls":slotProps?.input?.ariaControls}),labelContainerElm,sublabelElm),tooltipContent&&React.createElement(Tooltip,{content:tooltipContent,shortcut:tooltipShortcut,externalTriggerRef:containerRef,onVisibilityChange:onTooltipVisibilityChange,placement:tooltipPlacement??"auto",portalContainer:tooltipPortalContainer}))}
1
+ import React,{useRef}from"react";import styled from"@emotion/styled";import breakpoints from"../../../web-tokens/_breakpoints.json";import{Text}from"../../Typography/Text/Text";import{Icon}from"../../Icon/Icon";import{ScreenReaderText}from"../../Utilities/ScreenReaderText/ScreenReaderText";import{Tooltip}from"../../Tooltip/Tooltip";import{Inline}from"../../Inline/Inline";import{getPressedStyles}from"../../../shared/mixins";let StyledInput=styled("input",{target:"enpc8r20",label:"StyledInput"})(({theme})=>({position:"absolute",height:1,width:1,margin:-1,overflow:"hidden",padding:0,opacity:theme.variables.opacity.hidden})),StyledLabel=styled(Text,{target:"enpc8r21",label:"StyledLabel"})(({theme,size})=>({..."s"===size&&{lineHeight:theme.variables.size.lineHeight.xs}})),StyledSublabel=styled(Text,{target:"enpc8r22",label:"StyledSublabel"})(({theme,isResponsive})=>{let baseStyle={textAlign:"center"};return isResponsive?{...baseStyle,[`@media (max-width: ${breakpoints.m.value}px)`]:{lineHeight:theme.variables.size.lineHeight.xs,textAlign:"right",marginLeft:theme.variables.size.spacing.m}}:baseStyle}),StyledIconContainer=styled("div",{target:"enpc8r23",label:"StyledIconContainer"})(),StyledContainer=styled("label",{target:"enpc8r24",label:"StyledContainer"})(({theme,size,checked,isResponsive,sublabel,iconOnly,displayAsOptionWithSublabel,disabled})=>{let borderStyle={"&:first-of-type":{borderTopLeftRadius:theme.variables.size.borderRadius.xs,borderBottomLeftRadius:theme.variables.size.borderRadius.xs,borderLeftStyle:"solid"},"&:last-of-type":{borderTopRightRadius:theme.variables.size.borderRadius.xs,borderBottomRightRadius:theme.variables.size.borderRadius.xs,borderRightStyle:"solid"}},basePaddingSize="s"===size?theme.variables.size.spacing.xs:theme.variables.size.spacing.s,basePadding=`calc(${basePaddingSize} - 1px)`,baseStyle={position:"relative",cursor:"pointer",backgroundColor:theme.values.color.background.primary.default,display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",border:`1px solid ${theme.values.color.border.secondary.default}`,borderLeftStyle:"none",borderRightStyle:"none",padding:(()=>{if(iconOnly)return"l"===size?`calc(${theme.variables.size.spacing.m} - 1px)`:basePadding;let horizontalPadding="s"===size?theme.variables.size.spacing.m:theme.variables.size.spacing.l;return`${basePadding} ${horizontalPadding}`})(),...!checked&&!disabled&&{"&:hover":{backgroundColor:theme.values.color.background.secondary.default}},...disabled&&{cursor:"not-allowed",opacity:theme.variables.opacity.disabled},...checked&&getPressedStyles({theme}),[`${StyledSublabel}, ${StyledLabel}, ${StyledIconContainer}`]:{color:theme.values.color.text.secondary.default,...checked&&{color:theme.values.color.text.accent.default}},[`&:has(${StyledInput}:focus-visible)`]:{outlineWidth:2,outlineStyle:"solid",outlineColor:"Highlight",outlineOffset:-1,"@media (-webkit-min-device-pixel-ratio:0)":{outlineColor:"-webkit-focus-ring-color",outlineStyle:"solid"}}};return isResponsive?{...baseStyle,[`@media (min-width: ${breakpoints.m.value}px)`]:{...borderStyle},[`@media (max-width: ${breakpoints.m.value}px)`]:{flexDirection:"row",justifyContent:sublabel||displayAsOptionWithSublabel?"space-between":"center",padding:theme.variables.size.spacing.m,borderTopStyle:"none",borderBottomStyle:"none",borderLeftStyle:"solid",borderRightStyle:"solid","&:first-of-type":{borderTopLeftRadius:theme.variables.size.borderRadius.xs,borderTopRightRadius:theme.variables.size.borderRadius.xs,borderTopStyle:"solid"},"&:last-of-type":{borderBottomLeftRadius:theme.variables.size.borderRadius.xs,borderBottomRightRadius:theme.variables.size.borderRadius.xs,borderBottomStyle:"solid"}}}:{...baseStyle,...borderStyle}});export function SegmentedControlOption({name,value="",checked,label="",sublabel,iconName,iconOnly,slotProps,tooltipContent,tooltipPlacement,tooltipPortalContainer,tooltipShortcut,size,disabled=!1,isResponsive=!1,inputType="radio",displayAsOptionWithSublabel=!1,onChange,onClick,onBlur,onFocus,onTooltipVisibilityChange}){let containerRef=useRef(null),iconAriaLabel=iconOnly?label:void 0,iconAccessibleName=slotProps?.icon?.ariaLabel??iconAriaLabel,iconElm=iconName?React.createElement(StyledIconContainer,null,iconAccessibleName?React.createElement(Icon,{name:iconName,size:"s","aria-label":iconAccessibleName,role:"img"}):React.createElement(Icon,{name:iconName,size:"s"})):null,showIcon=!sublabel&&iconElm,labelElm=React.createElement(StyledLabel,{size:"l"===size?"m":"s",weight:"bold"},label),labelContainerElm=labelElm;showIcon&&(labelContainerElm=iconOnly?React.createElement(React.Fragment,null,iconElm,React.createElement(ScreenReaderText,null,label)):React.createElement(Inline,{space:"xs",noWrap:!0,vAlignItems:"center"},iconElm,labelElm));let sublabelElm=sublabel?React.createElement(StyledSublabel,{size:"s",isResponsive:isResponsive},sublabel):null;return React.createElement(React.Fragment,null,React.createElement(StyledContainer,{size:size,checked:checked,sublabel:sublabel,iconOnly:iconOnly,isResponsive:isResponsive,displayAsOptionWithSublabel:displayAsOptionWithSublabel,ref:containerRef,disabled:disabled,tabIndex:-1},React.createElement(StyledInput,{type:inputType,name:name,value:value,checked:checked,disabled:disabled,onChange:onChange,onClick:onClick,onBlur:onBlur,onFocus:onFocus,"aria-expanded":slotProps?.input?.ariaExpanded,"aria-controls":slotProps?.input?.ariaControls}),labelContainerElm,sublabelElm),tooltipContent&&React.createElement(Tooltip,{content:tooltipContent,shortcut:tooltipShortcut,externalTriggerRef:containerRef,onVisibilityChange:onTooltipVisibilityChange,placement:tooltipPlacement??"auto",portalContainer:tooltipPortalContainer}))}
@@ -1 +1 @@
1
- import React from"react";import styled from"@emotion/styled";import{FormField}from"../FormField/FormField";import{SelectWithCustomTrigger}from"./SelectWithCustomTrigger";import{Icon}from"../../Icon/Icon";import{Inline}from"../../Inline/Inline";import{TextClamped}from"../../Typography/TextClamped/TextClamped";import{useFormFieldMessageId}from"../FormField/useFormFieldMessageId";let StyledButton=styled("button",{target:"emffu2u0",label:"StyledButton"})(({theme,hasError,isPlaceholderVisible,readOnly,size})=>({'&[type="button"]':{appearance:"none",MozAppearance:"none",WebkitAppearance:"none"},display:"inline-block",margin:0,borderRadius:theme.variables.size.borderRadius.xs,backgroundColor:theme.values.color.background.primary.default,borderWidth:"1px",borderStyle:"solid",width:"100%",padding:`${"s"===size?`calc(${theme.variables.size.spacing.xxs} + 1px)`:`calc(${theme.variables.size.spacing.xs} - 1px)`} ${theme.variables.size.spacing.s}`,paddingRight:theme.variables.size.spacing.xs,boxSizing:"border-box",borderColor:theme.values.color.border.primary.default,...readOnly&&{borderColor:theme.values.color.border.primary.disabled},...isPlaceholderVisible&&{fontStyle:"italic"},...hasError&&{boxShadow:`0 0 0 1px inset ${theme.values.color.border.error.default}`,borderColor:theme.values.color.border.error.default}})),StyledTriggerIcon=styled(Icon,{target:"emffu2u1",label:"StyledTriggerIcon"})(()=>({pointerEvents:"none"}));function TriggerButton({triggerRef,disabled,isOpen,hasError,isPlaceholderVisible,role,"aria-expanded":ariaExpanded,"aria-controls":ariaControls,"aria-activedescendant":ariaActiveDescendant,"aria-describedby":ariaDescribedBy,"aria-label":ariaLabel,readOnly,size,onFocus,onBlur,children,...ariaAttributes}){return React.createElement(StyledButton,{type:"button",ref:triggerRef,disabled:disabled,hasError:hasError,isPlaceholderVisible:isPlaceholderVisible,...ariaAttributes,role:role,"aria-expanded":ariaExpanded,"aria-controls":ariaControls,"aria-activedescendant":ariaActiveDescendant,"aria-label":ariaLabel,"aria-invalid":hasError,"aria-describedby":ariaDescribedBy,readOnly:readOnly,size:size,onFocus:onFocus,onBlur:onBlur},React.createElement(Inline,{vAlignItems:"center",alignItems:"spaceBetween",space:"xxs",noWrap:!0},React.createElement(TextClamped,{color:isPlaceholderVisible?"tertiary":"primary",size:size},readOnly&&isPlaceholderVisible?null:children),React.createElement(StyledTriggerIcon,{size:size,name:isOpen?"chevron-up":"chevron-down",color:readOnly?"quaternary":"tertiary"})))}export function Select({options,name,value,placeholder,hasError,optionsListWidth,maxHeight,disabled=!1,portalContainer,readOnly=!1,excludeFromFormData,label,labelHint,hideLabel,hint,errorMessages,size="m","data-e2e-test-id":dataE2eTestId,"aria-describedby":ariaDescribedBy,onChange,onFocus,onBlur,...ariaAttributes}){let selectedOption=options?.find(option=>option.value===value),isPlaceholderVisible=!!placeholder&&!value,{id,ariaDescribedByProp}=useFormFieldMessageId({ariaDescribedBy,errorMessages,hint});return React.createElement(SelectWithCustomTrigger,{options:options,value:value,name:name,optionsListWidth:optionsListWidth,maxHeight:maxHeight,portalContainer:portalContainer,disabled:disabled,readOnly:readOnly,excludeFromFormData:excludeFromFormData,onChange:onChange,renderTrigger:({triggerRef,isOpen,role,"aria-expanded":ariaExpanded,"aria-controls":ariaControls,"aria-activedescendant":ariaActiveDescendant})=>React.createElement(FormField,{disabled:disabled,hideLabel:hideLabel,label:label,labelHint:labelHint,hint:hint,errorMessages:errorMessages,messageId:id,"data-e2e-test-id":dataE2eTestId,"data-ds-id":"Select"},React.createElement(TriggerButton,{hasError:hasError,isPlaceholderVisible:isPlaceholderVisible,size:size,triggerRef:triggerRef,isOpen:isOpen,disabled:disabled,role:role,"aria-expanded":ariaExpanded,"aria-controls":ariaControls,"aria-activedescendant":ariaActiveDescendant,"aria-label":label,...ariaAttributes,...ariaDescribedByProp,readOnly:readOnly,onFocus:onFocus,onBlur:onBlur},selectedOption?selectedOption.label:placeholder??""))})}
1
+ import React from"react";import styled from"@emotion/styled";import{FormField}from"../FormField/FormField";import{SelectWithCustomTrigger}from"./SelectWithCustomTrigger";import{Icon}from"../../Icon/Icon";import{Inline}from"../../Inline/Inline";import{TextClamped}from"../../Typography/TextClamped/TextClamped";import{useFormFieldMessageId}from"../FormField/useFormFieldMessageId";let StyledButton=styled("button",{target:"eaelaza0",label:"StyledButton"})(({theme,hasError,isPlaceholderVisible,readOnly,size})=>({'&[type="button"]':{appearance:"none",MozAppearance:"none",WebkitAppearance:"none"},display:"inline-block",margin:0,borderRadius:theme.variables.size.borderRadius.xs,backgroundColor:theme.values.color.background.primary.default,borderWidth:"1px",borderStyle:"solid",width:"100%",padding:`${"s"===size?`calc(${theme.variables.size.spacing.xxs} + 1px)`:`calc(${theme.variables.size.spacing.xs} - 1px)`} ${theme.variables.size.spacing.s}`,paddingRight:theme.variables.size.spacing.xs,boxSizing:"border-box",borderColor:theme.values.color.border.primary.default,...readOnly&&{borderColor:theme.values.color.border.primary.disabled},...isPlaceholderVisible&&{fontStyle:"italic"},...hasError&&{boxShadow:`0 0 0 1px inset ${theme.values.color.border.error.default}`,borderColor:theme.values.color.border.error.default}})),StyledTriggerIcon=styled(Icon,{target:"eaelaza1",label:"StyledTriggerIcon"})(()=>({pointerEvents:"none"}));function TriggerButton({triggerRef,disabled,isOpen,hasError,isPlaceholderVisible,role,"aria-expanded":ariaExpanded,"aria-controls":ariaControls,"aria-activedescendant":ariaActiveDescendant,"aria-describedby":ariaDescribedBy,"aria-label":ariaLabel,readOnly,size,onFocus,onBlur,children,...ariaAttributes}){return React.createElement(StyledButton,{type:"button",ref:triggerRef,disabled:disabled,hasError:hasError,isPlaceholderVisible:isPlaceholderVisible,...ariaAttributes,role:role,"aria-expanded":ariaExpanded,"aria-controls":ariaControls,"aria-activedescendant":ariaActiveDescendant,"aria-label":ariaLabel,"aria-invalid":hasError,"aria-describedby":ariaDescribedBy,readOnly:readOnly,size:size,onFocus:onFocus,onBlur:onBlur},React.createElement(Inline,{vAlignItems:"center",alignItems:"spaceBetween",space:"xxs",noWrap:!0},React.createElement(TextClamped,{color:isPlaceholderVisible?"tertiary":"primary",size:size},readOnly&&isPlaceholderVisible?null:children),React.createElement(StyledTriggerIcon,{size:size,name:isOpen?"chevron-up":"chevron-down",color:readOnly?"quaternary":"tertiary"})))}export function Select({options,name,value,placeholder,hasError,optionsListWidth,maxHeight,disabled=!1,portalContainer,readOnly=!1,excludeFromFormData,label,labelHint,hideLabel,hint,errorMessages,size="m","data-e2e-test-id":dataE2eTestId,"aria-describedby":ariaDescribedBy,onChange,onFocus,onBlur,...ariaAttributes}){let selectedOption=options?.find(option=>option.value===value),isPlaceholderVisible=!!placeholder&&!value,{id,ariaDescribedByProp}=useFormFieldMessageId({ariaDescribedBy,errorMessages,hint});return React.createElement(SelectWithCustomTrigger,{options:options,value:value,name:name,optionsListWidth:optionsListWidth,maxHeight:maxHeight,portalContainer:portalContainer,disabled:disabled,readOnly:readOnly,excludeFromFormData:excludeFromFormData,onChange:onChange,renderTrigger:({triggerRef,isOpen,role,"aria-expanded":ariaExpanded,"aria-controls":ariaControls,"aria-activedescendant":ariaActiveDescendant})=>React.createElement(FormField,{disabled:disabled,hideLabel:hideLabel,label:label,labelHint:labelHint,hint:hint,errorMessages:errorMessages,messageId:id,"data-e2e-test-id":dataE2eTestId,"data-ds-id":"Select"},React.createElement(TriggerButton,{hasError:hasError,isPlaceholderVisible:isPlaceholderVisible,size:size,triggerRef:triggerRef,isOpen:isOpen,disabled:disabled,role:role,"aria-expanded":ariaExpanded,"aria-controls":ariaControls,"aria-activedescendant":ariaActiveDescendant,"aria-label":label,...ariaAttributes,...ariaDescribedByProp,readOnly:readOnly,onFocus:onFocus,onBlur:onBlur},selectedOption?selectedOption.label:placeholder??""))})}
@@ -14,12 +14,12 @@ export declare const TextareaRaw: React.ForwardRefExoticComponent<{
14
14
  */
15
15
  hasError?: boolean;
16
16
  resize?: "none" | "horizontal" | "vertical" | "both";
17
- } & React.TextareaHTMLAttributes<HTMLTextAreaElement> & React.RefAttributes<HTMLTextAreaElement>>;
17
+ } & TextareaHTMLAttributes<HTMLTextAreaElement> & React.RefAttributes<HTMLTextAreaElement>>;
18
18
  export declare const Textarea: React.ForwardRefExoticComponent<FormFieldProps & {
19
19
  /**
20
20
  * Set to true to toggle error state
21
21
  */
22
22
  hasError?: boolean;
23
23
  resize?: "none" | "horizontal" | "vertical" | "both";
24
- } & React.TextareaHTMLAttributes<HTMLTextAreaElement> & React.RefAttributes<HTMLTextAreaElement>>;
24
+ } & TextareaHTMLAttributes<HTMLTextAreaElement> & React.RefAttributes<HTMLTextAreaElement>>;
25
25
  export {};
@@ -1 +1 @@
1
- import React from"react";import styled from"@emotion/styled";import{FormField}from"../FormField/FormField";import{useFormFieldMessageId}from"../FormField/useFormFieldMessageId";let StyledTextarea=styled("textarea",{target:"e1ibutd00",label:"StyledTextarea"})(({theme,resize,hasError})=>({fontFamily:theme.variables.fontFamily.lato,fontSize:theme.variables.size.font.m,lineHeight:theme.variables.size.lineHeight.xl,minHeight:theme.variables.size.dimension.textarea.minHeight.m,borderRadius:theme.variables.size.borderRadius.xs,border:"1px solid",width:"100%",padding:theme.variables.size.spacing.xs,boxSizing:"border-box",color:theme.values.color.text.primary.default,borderColor:hasError?theme.values.color.border.error.default:theme.values.color.border.primary.default,backgroundColor:theme.values.color.background.primary.default,...hasError&&{boxShadow:`0 0 0 1px inset ${theme.values.color.border.error.default}`},resize})),StyledContainer=styled("div",{target:"e1ibutd01",label:"StyledContainer"})(()=>({width:"100%",display:"flex",alignItems:"center",flexDirection:"row",position:"relative"}));export const TextareaRaw=React.forwardRef(({autoComplete="on",rows=5,maxLength=256,resize="none",disabled,hasError,...rest},ref)=>React.createElement(StyledContainer,null,React.createElement(StyledTextarea,{...rest,ref:ref,hasError:hasError,autoComplete:autoComplete,disabled:disabled,rows:rows,maxLength:maxLength,resize:resize,"aria-invalid":hasError})));export const Textarea=React.forwardRef(({disabled,label,labelHint,hideLabel,hint,errorMessages,"aria-describedby":ariaDescribedBy,"data-e2e-test-id":dataE2eTestId,...rest},ref)=>{let{id,ariaDescribedByProp}=useFormFieldMessageId({ariaDescribedBy,errorMessages,hint});return React.createElement(FormField,{"data-e2e-test-id":dataE2eTestId,"data-ds-id":"Textarea",disabled:disabled,label:label,labelHint:labelHint,hideLabel:hideLabel,hint:hint,errorMessages:errorMessages,messageId:id},React.createElement(TextareaRaw,{...rest,ref:ref,disabled:disabled,...ariaDescribedByProp}))});
1
+ import React from"react";import styled from"@emotion/styled";import{FormField}from"../FormField/FormField";import{useFormFieldMessageId}from"../FormField/useFormFieldMessageId";let StyledTextarea=styled("textarea",{target:"e15fuuq00",label:"StyledTextarea"})(({theme,resize,hasError})=>({fontFamily:theme.variables.fontFamily.lato,fontSize:theme.variables.size.font.m,lineHeight:theme.variables.size.lineHeight.xl,minHeight:theme.variables.size.dimension.textarea.minHeight.m,borderRadius:theme.variables.size.borderRadius.xs,border:"1px solid",width:"100%",padding:theme.variables.size.spacing.xs,boxSizing:"border-box",color:theme.values.color.text.primary.default,borderColor:hasError?theme.values.color.border.error.default:theme.values.color.border.primary.default,backgroundColor:theme.values.color.background.primary.default,...hasError&&{boxShadow:`0 0 0 1px inset ${theme.values.color.border.error.default}`},resize})),StyledContainer=styled("div",{target:"e15fuuq01",label:"StyledContainer"})(()=>({width:"100%",display:"flex",alignItems:"center",flexDirection:"row",position:"relative"}));export const TextareaRaw=React.forwardRef(({autoComplete="on",rows=5,maxLength=256,resize="none",disabled,hasError,...rest},ref)=>React.createElement(StyledContainer,null,React.createElement(StyledTextarea,{...rest,ref:ref,hasError:hasError,autoComplete:autoComplete,disabled:disabled,rows:rows,maxLength:maxLength,resize:resize,"aria-invalid":hasError})));export const Textarea=React.forwardRef(({disabled,label,labelHint,hideLabel,hint,errorMessages,"aria-describedby":ariaDescribedBy,"data-e2e-test-id":dataE2eTestId,...rest},ref)=>{let{id,ariaDescribedByProp}=useFormFieldMessageId({ariaDescribedBy,errorMessages,hint});return React.createElement(FormField,{"data-e2e-test-id":dataE2eTestId,"data-ds-id":"Textarea",disabled:disabled,label:label,labelHint:labelHint,hideLabel:hideLabel,hint:hint,errorMessages:errorMessages,messageId:id},React.createElement(TextareaRaw,{...rest,ref:ref,disabled:disabled,...ariaDescribedByProp}))});
@@ -9,7 +9,7 @@ type ToggleRawProps = {
9
9
  export declare const ToggleRaw: React.ForwardRefExoticComponent<{
10
10
  size?: ToggleSize;
11
11
  isHighlighted?: boolean;
12
- } & Omit<React.InputHTMLAttributes<HTMLInputElement>, "type" | "size"> & React.RefAttributes<HTMLInputElement>>;
12
+ } & Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "type"> & React.RefAttributes<HTMLInputElement>>;
13
13
  export type ToggleProps = ToggleRawProps & {
14
14
  /** Controls label alignment with respect to toggle */
15
15
  alignLabel?: "before" | "after";
@@ -20,11 +20,11 @@ export type ToggleProps = ToggleRawProps & {
20
20
  export declare const Toggle: React.ForwardRefExoticComponent<{
21
21
  size?: ToggleSize;
22
22
  isHighlighted?: boolean;
23
- } & Omit<React.InputHTMLAttributes<HTMLInputElement>, "type" | "size"> & {
23
+ } & Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "type"> & {
24
24
  /** Controls label alignment with respect to toggle */
25
25
  alignLabel?: "before" | "after";
26
26
  /** Display hint below the label specific for the toggle */
27
27
  labelHint?: string | React.ReactElement;
28
28
  alignItems?: InlineProps["alignItems"];
29
- } & Omit<FormFieldProps, "labelHint" | "hideLabel"> & React.RefAttributes<HTMLInputElement>>;
29
+ } & Omit<FormFieldProps, "hideLabel" | "labelHint"> & React.RefAttributes<HTMLInputElement>>;
30
30
  export {};
@@ -7,4 +7,4 @@ export type ToggleButtonProps = {
7
7
  export declare const ToggleButton: React.ForwardRefExoticComponent<{
8
8
  label: string;
9
9
  subLabel?: string;
10
- } & Omit<FormFieldProps, "label" | "labelHint" | "errorMessages" | "hint" | "hideLabel"> & Omit<React.InputHTMLAttributes<HTMLInputElement>, "type"> & React.RefAttributes<HTMLInputElement>>;
10
+ } & Omit<FormFieldProps, "errorMessages" | "hideLabel" | "hint" | "label" | "labelHint"> & Omit<InputHTMLAttributes<HTMLInputElement>, "type"> & React.RefAttributes<HTMLInputElement>>;
@@ -32,5 +32,5 @@ export type GridProps = {
32
32
  } & HTMLAttributes<HTMLDivElement>;
33
33
  export declare function Grid({ columnGap, rowGap, "data-e2e-test-id": dataE2eTestId, children, ...rest }: GridProps): React.ReactElement;
34
34
  export declare namespace Grid {
35
- var Item: typeof GridItem;
35
+ export { GridItem as Item };
36
36
  }
@@ -1 +1 @@
1
- import React from"react";import styled from"@emotion/styled";import{useResponsiveValue,useResponsiveStyles}from"../../shared/mediaQueries";import{GridItem}from"./GridItem";let StyledContainer=styled("div",{target:"e1l758so0",label:"StyledContainer"})(({theme,templateColumns,templateRows,autoRows,templateAreas,inline,columnGap,alignItems,justifyItems,isSubgrid})=>{function getTrackSize(size){return`calc((100% - 11 * ${theme.variables.size.spacing[size??"zero"]}) / 12)`}return{width:"100%",display:inline?"inline-grid":"grid",gridAutoFlow:"row",...useResponsiveValue({gridTemplateColumns:templateColumns||(isSubgrid?"subgrid":Array.isArray(columnGap)?columnGap.map(value=>`repeat(12, ${getTrackSize(value)})`):`repeat(12, ${getTrackSize(columnGap)})`),gridTemplateRows:templateRows,gridAutoRows:autoRows,gridTemplateAreas:templateAreas,alignItems,justifyItems})}},({theme,columnGap,rowGap})=>useResponsiveStyles({gridColumnGap:[columnGap,theme.variables.size.spacing],gridRowGap:[rowGap,theme.variables.size.spacing]}));export function Grid({columnGap="m",rowGap="m","data-e2e-test-id":dataE2eTestId,children,...rest}){return React.createElement(StyledContainer,{"data-e2e-test-id":dataE2eTestId,"data-ds-id":"Grid",columnGap:columnGap,rowGap:rowGap,...rest},children)}Grid.Item=GridItem;
1
+ import React from"react";import styled from"@emotion/styled";import{useResponsiveValue,useResponsiveStyles}from"../../shared/mediaQueries";import{GridItem}from"./GridItem";let StyledContainer=styled("div",{target:"efhrkze0",label:"StyledContainer"})(({theme,templateColumns,templateRows,autoRows,templateAreas,inline,columnGap,alignItems,justifyItems,isSubgrid})=>{function getTrackSize(size){return`calc((100% - 11 * ${theme.variables.size.spacing[size??"zero"]}) / 12)`}return{width:"100%",display:inline?"inline-grid":"grid",gridAutoFlow:"row",...useResponsiveValue({gridTemplateColumns:templateColumns||(isSubgrid?"subgrid":Array.isArray(columnGap)?columnGap.map(value=>`repeat(12, ${getTrackSize(value)})`):`repeat(12, ${getTrackSize(columnGap)})`),gridTemplateRows:templateRows,gridAutoRows:autoRows,gridTemplateAreas:templateAreas,alignItems,justifyItems})}},({theme,columnGap,rowGap})=>useResponsiveStyles({gridColumnGap:[columnGap,theme.variables.size.spacing],gridRowGap:[rowGap,theme.variables.size.spacing]}));export function Grid({columnGap="m",rowGap="m","data-e2e-test-id":dataE2eTestId,children,...rest}){return React.createElement(StyledContainer,{"data-e2e-test-id":dataE2eTestId,"data-ds-id":"Grid",columnGap:columnGap,rowGap:rowGap,...rest},children)}Grid.Item=GridItem;
@@ -1 +1 @@
1
- import React from"react";import styled from"@emotion/styled";import isPropValid from"@emotion/is-prop-valid";import{Icon}from"../Icon/Icon";import{Box}from"../Box/Box";let IconTileWrapper=styled("div",{shouldForwardProp:prop=>isPropValid(prop)&&"color"!==prop,target:"en9pfw00",label:"IconTileWrapper"})(({theme,color})=>({display:"inline-block",borderRadius:theme.variables.size.borderRadius.full,border:"1px solid",borderColor:color?theme.values.color.badge.borderSubtle[color]:theme.values.color.badge.borderSubtle.default,backgroundColor:color?theme.values.color.badge.background[color]:theme.values.color.badge.background.default,color:color?theme.values.color.badge.foreground[color]:theme.values.color.badge.foreground.gray}));export const IconTile=({icon,color,"data-color":dataColor,"data-e2e-test-id":dataE2eTestId,"aria-label":ariaLabel,"aria-labelledby":ariaLabelledBy,role,...ariaAttributes})=>{let hasAccessibleName=!!(ariaLabel||ariaLabelledBy);return React.createElement(IconTileWrapper,{color:color,"data-e2e-test-id":dataE2eTestId,"data-color":dataColor,"data-ds-id":"IconTile","aria-hidden":!hasAccessibleName||void 0,"aria-label":ariaLabel,"aria-labelledby":ariaLabelledBy,role:role,...ariaAttributes},React.createElement(Box,{space:"s"},React.createElement(Icon,{name:icon,size:"m"})))};
1
+ import React from"react";import styled from"@emotion/styled";import isPropValid from"@emotion/is-prop-valid";import{Icon}from"../Icon/Icon";import{Box}from"../Box/Box";let IconTileWrapper=styled("div",{shouldForwardProp:prop=>isPropValid(prop)&&"color"!==prop,target:"e1af4gik0",label:"IconTileWrapper"})(({theme,color})=>({display:"inline-block",borderRadius:theme.variables.size.borderRadius.full,border:"1px solid",borderColor:color?theme.values.color.badge.borderSubtle[color]:theme.values.color.badge.borderSubtle.default,backgroundColor:color?theme.values.color.badge.background[color]:theme.values.color.badge.background.default,color:color?theme.values.color.badge.foreground[color]:theme.values.color.badge.foreground.gray}));export const IconTile=({icon,color,"data-color":dataColor,"data-e2e-test-id":dataE2eTestId,"aria-label":ariaLabel,"aria-labelledby":ariaLabelledBy,role,...ariaAttributes})=>{let hasAccessibleName=!!(ariaLabel||ariaLabelledBy);return React.createElement(IconTileWrapper,{color:color,"data-e2e-test-id":dataE2eTestId,"data-color":dataColor,"data-ds-id":"IconTile","aria-hidden":!hasAccessibleName||void 0,"aria-label":ariaLabel,"aria-labelledby":ariaLabelledBy,role:role,...ariaAttributes},React.createElement(Box,{space:"s"},React.createElement(Icon,{name:icon,size:"m"})))};
@@ -1,13 +1,13 @@
1
- import React,{useCallback,useEffect,useRef}from"react";import styled from"@emotion/styled";import{keyframes}from"@emotion/react";import{useOutsideClickDeactivatesWithinPortal}from"../../../shared/useOutsideClickDeactivatesWithinPortal";import{useDocument}from"../../../shared/useDocument";import{FOCUSABLE_SELECTOR}from"../../../shared/focusableSelector";import{Portal,usePortalContainerElement}from"../../Portal/Portal";import{FocusTrapWrapper}from"../../../shared/FocusTrapWrapper";import{DialogContext}from"../../Patterns/Dialog/DialogContext";import{Backdrop}from"../../Utilities/Backdrop/Backdrop";import{useExitAnimation}from"./useExitAnimation";let StyledViewportLayer=styled("div",{target:"e11o9pe90",label:"StyledViewportLayer"})(({theme,isLeaving})=>{let{hidden,visible}=theme.variables.opacity,fadeIn=keyframes`
1
+ import React,{useCallback,useEffect,useRef}from"react";import styled from"@emotion/styled";import{keyframes}from"@emotion/react";import{useOutsideClickDeactivatesWithinPortal}from"../../../shared/useOutsideClickDeactivatesWithinPortal";import{useDocument}from"../../../shared/useDocument";import{FOCUSABLE_SELECTOR}from"../../../shared/focusableSelector";import{Portal,usePortalContainerElement}from"../../Portal/Portal";import{FocusTrapWrapper}from"../../../shared/FocusTrapWrapper";import{DialogContext}from"../../Patterns/Dialog/DialogContext";import{Backdrop}from"../../Utilities/Backdrop/Backdrop";import{useExitAnimation}from"../../../shared/useExitAnimation";let StyledViewportLayer=styled("div",{target:"e1elpaa00",label:"StyledViewportLayer"})(({theme,isLeaving})=>{let{hidden,visible}=theme.variables.opacity,fadeIn=keyframes`
2
2
  from { opacity: ${hidden}; }
3
3
  to { opacity: ${visible}; }
4
4
  `,fadeOut=keyframes`
5
5
  from { opacity: ${visible}; }
6
6
  to { opacity: ${hidden}; }
7
- `,{duration,timingFunction}=theme.variables.animation.modalBackdrop.open;return{position:"fixed",top:0,left:0,zIndex:theme.variables.zIndex.modal,width:"100%",height:"100dvh",animation:`${isLeaving?fadeOut:fadeIn} ${duration} ${timingFunction} both`,"@media (prefers-reduced-motion: reduce)":{animation:"none"}}}),StyledContent=styled("div",{target:"e11o9pe91",label:"StyledContent"})(({theme,positionX,positionY,isLeaving})=>{let restX=positionX?"0%":"-50%",restY=positionY?"0%":"-50%",{x:fromX,y:fromY}="left"===positionX?{x:"-100%",y:restY}:"right"===positionX?{x:"100%",y:restY}:"top"===positionY?{x:restX,y:"-100%"}:"bottom"===positionY?{x:restX,y:"100%"}:{x:restX,y:restY},resting=`translate(${restX}, ${restY})`,offscreen=`translate(${fromX}, ${fromY})`,slideIn=keyframes`
7
+ `,{duration,timingFunction}=theme.variables.animation.modalBackdrop.open;return{position:"fixed",top:0,left:0,zIndex:theme.variables.zIndex.modal,width:"100%",height:"100dvh",animation:`${isLeaving?fadeOut:fadeIn} ${duration} ${timingFunction} both`,"@media (prefers-reduced-motion: reduce)":{animation:"none"}}}),StyledContent=styled("div",{target:"e1elpaa01",label:"StyledContent"})(({theme,positionX,positionY,isLeaving})=>{let restX=positionX?"0%":"-50%",restY=positionY?"0%":"-50%",{x:fromX,y:fromY}="left"===positionX?{x:"-100%",y:restY}:"right"===positionX?{x:"100%",y:restY}:"top"===positionY?{x:restX,y:"-100%"}:"bottom"===positionY?{x:restX,y:"100%"}:{x:restX,y:restY},resting=`translate(${restX}, ${restY})`,offscreen=`translate(${fromX}, ${fromY})`,slideIn=keyframes`
8
8
  from { transform: ${offscreen}; }
9
9
  to { transform: ${resting}; }
10
10
  `,slideOut=keyframes`
11
11
  from { transform: ${resting}; }
12
12
  to { transform: ${offscreen}; }
13
- `,{duration,timingFunction}=theme.variables.animation.navSlide.open;return{position:"fixed",...{..."left"===positionX&&{left:0},..."right"===positionX&&{right:0},...!positionX&&{left:"50%"},..."top"===positionY&&{top:0},..."bottom"===positionY&&{bottom:0},...!positionY&&{top:"50%"}},transform:resting,willChange:"transform",animation:`${isLeaving?slideOut:slideIn} ${duration} ${timingFunction} both`,"@media (prefers-reduced-motion: reduce)":{animation:"none"}}}),StyledBackdrop=styled(Backdrop,{target:"e11o9pe92",label:"StyledBackdrop"})({pointerEvents:"none"});function getFocusTarget(container,document){return container?.querySelector(FOCUSABLE_SELECTOR)??container??document.body}export function Drawer({backdropRef,portalContainer,initialFocus,isDismissible=!0,isVisible=!0,onUnmount,hasBackdrop=!0,positionX,positionY,children,handleClose,privateProps:{skipPortal}={skipPortal:!1},...rest}){let portalContainerElement=usePortalContainerElement(portalContainer),contentRef=useRef(null),document=useDocument(),{isMounted,isLeaving,onAnimationEnd}=useExitAnimation(isVisible),wasMounted=useRef(isMounted);useEffect(()=>{wasMounted.current&&!isMounted&&onUnmount?.(),wasMounted.current=isMounted},[isMounted,onUnmount]);let layerRef=useRef(null),setLayerNode=useCallback(node=>{layerRef.current=node,backdropRef&&(backdropRef.current=node)},[backdropRef]),handleClickOutsideDeactivates=useOutsideClickDeactivatesWithinPortal({portalContainerElement,outerRef:layerRef,isDismissible});if(!isMounted)return null;let content=React.createElement(StyledViewportLayer,{ref:setLayerNode,"data-ds-id":"Drawer",isLeaving:isLeaving},hasBackdrop&&React.createElement(StyledBackdrop,{"data-ds-id":"DrawerBackdrop"}),React.createElement(FocusTrapWrapper,{active:isVisible,focusTrapOptions:{allowOutsideClick:!0,clickOutsideDeactivates:handleClickOutsideDeactivates,escapeDeactivates:isDismissible,preventScroll:!0,initialFocus:()=>{var container;return container=contentRef.current,"string"==typeof initialFocus?initialFocus:initialFocus?.current??getFocusTarget(container,document)},fallbackFocus:()=>getFocusTarget(contentRef.current,document),onPostDeactivate:()=>handleClose?.()}},React.createElement(StyledContent,{...rest,ref:contentRef,positionX:positionX,positionY:positionY,isLeaving:isLeaving,onAnimationEnd:onAnimationEnd,role:"dialog","aria-modal":"true"},children)));return skipPortal?content:React.createElement(DialogContext.Provider,{value:!0},React.createElement(Portal,{portalContainer:portalContainer},content))}
13
+ `,{duration,timingFunction}=theme.variables.animation.navSlide.open;return{position:"fixed",...{..."left"===positionX&&{left:0},..."right"===positionX&&{right:0},...!positionX&&{left:"50%"},..."top"===positionY&&{top:0},..."bottom"===positionY&&{bottom:0},...!positionY&&{top:"50%"}},transform:resting,willChange:"transform",animation:`${isLeaving?slideOut:slideIn} ${duration} ${timingFunction} both`,"@media (prefers-reduced-motion: reduce)":{animation:"none"}}}),StyledBackdrop=styled(Backdrop,{target:"e1elpaa02",label:"StyledBackdrop"})({pointerEvents:"none"});function getFocusTarget(container,document){return container?.querySelector(FOCUSABLE_SELECTOR)??container??document.body}export function Drawer({backdropRef,portalContainer,initialFocus,isDismissible=!0,isVisible=!0,onUnmount,hasBackdrop=!0,positionX,positionY,children,handleClose,privateProps:{skipPortal}={skipPortal:!1},...rest}){let portalContainerElement=usePortalContainerElement(portalContainer),contentRef=useRef(null),document=useDocument(),{isMounted,isLeaving,onAnimationEnd}=useExitAnimation(isVisible),wasMounted=useRef(isMounted);useEffect(()=>{wasMounted.current&&!isMounted&&onUnmount?.(),wasMounted.current=isMounted},[isMounted,onUnmount]);let layerRef=useRef(null),setLayerNode=useCallback(node=>{layerRef.current=node,backdropRef&&(backdropRef.current=node)},[backdropRef]),handleClickOutsideDeactivates=useOutsideClickDeactivatesWithinPortal({portalContainerElement,outerRef:layerRef,isDismissible});if(!isMounted)return null;let content=React.createElement(StyledViewportLayer,{ref:setLayerNode,"data-ds-id":"Drawer",isLeaving:isLeaving},hasBackdrop&&React.createElement(StyledBackdrop,{"data-ds-id":"DrawerBackdrop"}),React.createElement(FocusTrapWrapper,{active:isVisible,focusTrapOptions:{allowOutsideClick:!0,clickOutsideDeactivates:handleClickOutsideDeactivates,escapeDeactivates:isDismissible,preventScroll:!0,initialFocus:()=>{var container;return container=contentRef.current,"string"==typeof initialFocus?initialFocus:initialFocus?.current??getFocusTarget(container,document)},fallbackFocus:()=>getFocusTarget(contentRef.current,document),onPostDeactivate:()=>handleClose?.()}},React.createElement(StyledContent,{...rest,ref:contentRef,positionX:positionX,positionY:positionY,isLeaving:isLeaving,onAnimationEnd:onAnimationEnd,role:"dialog","aria-modal":"true"},children)));return skipPortal?content:React.createElement(DialogContext.Provider,{value:!0},React.createElement(Portal,{portalContainer:portalContainer},content))}
@@ -1 +1 @@
1
- import React from"react";import{useTheme}from"@emotion/react";import styled from"@emotion/styled";import{AMBOSS_DS_FLOAT_PORTAL,Portal}from"../../Portal/Portal";import{useFloatingPosition}from"../../Utilities/FloatingPosition/useFloatingPosition";import{useDocument}from"../../../shared/useDocument";let StyledContainer=styled("div",{target:"e1gevmfu0",label:"StyledContainer"})(({floatingStyles,isPositioned,bottomBarHeight})=>({...floatingStyles,visibility:isPositioned?"visible":"hidden",...bottomBarHeight&&{translate:`0 calc(-1 * ${bottomBarHeight})`}}));export function Float(props){let{children,...viewportPosition}=props,theme=useTheme(),document=useDocument(),{setFloating,floatingStyles,isPositioned}=useFloatingPosition({mode:"viewport",...viewportPosition,offset:parseInt(theme.variables.size.spacing.m,10)}),bottomBarHeight="bottom"===props.positionY?theme.variables.layout.bottomBar.height.default:void 0,portalContainer=document?document.querySelector(`.${AMBOSS_DS_FLOAT_PORTAL}`):null;return React.createElement(Portal,{portalContainer:portalContainer},React.createElement(StyledContainer,{"data-ds-id":"Float",ref:setFloating,floatingStyles:floatingStyles,isPositioned:isPositioned,bottomBarHeight:bottomBarHeight},children))}
1
+ import React from"react";import{useTheme}from"@emotion/react";import styled from"@emotion/styled";import{AMBOSS_DS_FLOAT_PORTAL,Portal}from"../../Portal/Portal";import{useFloatingPosition}from"../../Utilities/FloatingPosition/useFloatingPosition";import{useDocument}from"../../../shared/useDocument";let StyledContainer=styled("div",{target:"ewzfx030",label:"StyledContainer"})(({floatingStyles,isPositioned,bottomBarHeight})=>({...floatingStyles,visibility:isPositioned?"visible":"hidden",...bottomBarHeight&&{translate:`0 calc(-1 * ${bottomBarHeight})`}}));export function Float(props){let{children,...viewportPosition}=props,theme=useTheme(),document=useDocument(),{setFloating,floatingStyles,isPositioned}=useFloatingPosition({mode:"viewport",...viewportPosition,offset:parseInt(theme.variables.size.spacing.m,10)}),bottomBarHeight="bottom"===props.positionY?theme.variables.layout.bottomBar.height.default:void 0,portalContainer=document?document.querySelector(`.${AMBOSS_DS_FLOAT_PORTAL}`):null;return React.createElement(Portal,{portalContainer:portalContainer},React.createElement(StyledContainer,{"data-ds-id":"Float",ref:setFloating,floatingStyles:floatingStyles,isPositioned:isPositioned,bottomBarHeight:bottomBarHeight},children))}
@@ -13,4 +13,16 @@ export type LayoutFloatProps = {
13
13
  hostRef: (el: HTMLDivElement | null) => void;
14
14
  "data-e2e-test-id"?: string;
15
15
  };
16
- export declare const LayoutFloat: React.MemoExoticComponent<({ width, height, hostRef, "data-e2e-test-id": dataE2eTestId, }: LayoutFloatProps) => React.ReactElement>;
16
+ /**
17
+ * The floating shell hosting a layout panel's content while its variant is
18
+ * `"float"`. Pins to the bottom-right viewport corner via the internal
19
+ * `Float` positioner, then becomes freely draggable by its header across the
20
+ * viewport (clamped to `spacing.m` from the edges, matching `Float`'s inset).
21
+ * The header carries the `useMove` handle; this float owns the drag geometry
22
+ * and publishes its move handlers via `useLayoutFloatDrag` for the header to drive.
23
+ * Purely presentational otherwise: the content arrives by the panel's persistent
24
+ * host node being appended into `hostRef`'s element.
25
+ */
26
+ declare const LayoutFloatBase: ({ width, height, hostRef, "data-e2e-test-id": dataE2eTestId, }: LayoutFloatProps) => React.ReactElement;
27
+ export declare const LayoutFloat: React.MemoExoticComponent<typeof LayoutFloatBase>;
28
+ export {};
@@ -10,7 +10,7 @@ export type LayoutFloatDragContextValue = {
10
10
  /** Publish/clear the handlers - for the float. */
11
11
  setHandlers: (handlers: LayoutFloatDragHandlers) => void;
12
12
  };
13
- export declare const LayoutFloatDragContext: React.Context<LayoutFloatDragContextValue>;
13
+ export declare const LayoutFloatDragContext: import("react").Context<LayoutFloatDragContextValue>;
14
14
  /** Read the float-drag channel. Outside a `LayoutFloatDragProvider` the handlers are
15
15
  * `null` and the setter a no-op, so consumers need no existence checks. */
16
16
  export declare const useLayoutFloatDrag: () => LayoutFloatDragContextValue;
@@ -3,6 +3,8 @@ import type { LayoutStorage, PanelImperativeHandle, PanelProps as ResizablePanel
3
3
  /** A size: plain number = pixels; unitless string = percentage ("10%"). */
4
4
  type Size = number | string;
5
5
  export type PanelItem = {
6
+ /** Leave a transparent spacing token before this panel's column. */
7
+ gapBefore?: boolean;
6
8
  /** Stable id — used by react-resizable-panels to track the panel and persist
7
9
  * its size, and passed back to `onResize`/`onCollapse`. */
8
10
  id: string;
@@ -15,9 +17,9 @@ export type PanelItem = {
15
17
  maxSize?: Size;
16
18
  /** Allow drag-to-collapse; collapsing fires `onCollapse(id)`. */
17
19
  collapsible?: boolean;
18
- /** When `false`, this panel is fixed: it can't be resized directly or by a
19
- * neighbour. Separators beside it stay usable as long as a resizable panel
20
- * remains on each of their sides - the drag just passes this panel by. */
20
+ /** When `false`, user input can't resize this panel directly or through a
21
+ * neighbour. Container resizing still applies. Separators stay usable if a
22
+ * resizable panel remains on each side - the drag passes this panel by. */
21
23
  resizable?: boolean;
22
24
  /** Hold this panel's width when the window (or the containing group) is
23
25
  * resized, rather than its share of the group - so the change lands on the
@@ -1 +1 @@
1
- import React from"react";import styled from"@emotion/styled";import{Group,Panel as ResizablePanel,Separator,useDefaultLayout}from"react-resizable-panels";let CustomGroup=styled(Group,{target:"ervy0ss0",label:"CustomGroup"})({height:"100%",width:"100%"}),StyledPanelChild=styled("div",{target:"ervy0ss1",label:"StyledPanelChild"})({position:"relative",height:"100%",width:"100%"}),NOOP_STORAGE={getItem:()=>null,setItem:()=>{}},isResizable=item=>!1!==item.resizable,locksWidth=item=>!0===item.lockWidthOnWindowResize&&void 0!==item.defaultSize;export const groupResizeBehaviorFor=(item,panels)=>locksWidth(item)&&panels.some(panel=>!locksWidth(panel))?"preserve-pixel-size":"preserve-relative-size";let canSeparatorResize=({panels,index})=>panels.slice(0,index).some(isResizable)&&panels.slice(index).some(isResizable);export function Panel({panels,persistenceKey,storage,onResize,onCollapse,panelHandleFor,panelElementFor,shouldSuppressLayoutCallback}){let{defaultLayout,onLayoutChanged:persistSizes}=useDefaultLayout({id:persistenceKey??"ds-layout",panelIds:panels.map(p=>p.id),storage:persistenceKey&&storage?storage:NOOP_STORAGE});return React.createElement(CustomGroup,{orientation:"horizontal",defaultLayout:defaultLayout,onLayoutChanged:layout=>{shouldSuppressLayoutCallback?.()||(persistSizes(layout),panels.forEach(({id,collapsible})=>{let pct=layout[id];"number"==typeof pct&&collapsible&&pct<.5&&onCollapse(id)}))}},panels.map((item,index)=>{let isSeparatorDisabled=!canSeparatorResize({panels,index});return React.createElement(React.Fragment,{key:item.id},index>0&&React.createElement(Separator,{disabled:isSeparatorDisabled}),React.createElement(ResizablePanel,{id:item.id,defaultSize:item.defaultSize,collapsible:item.collapsible,disabled:!1===item.resizable,groupResizeBehavior:groupResizeBehaviorFor(item,panels),minSize:item.minSize,maxSize:item.maxSize,onResize:size=>{!shouldSuppressLayoutCallback?.()&&(size.asPercentage<.5||onResize(item.id,size))},panelRef:panelHandleFor?.(item.id),elementRef:panelElementFor?.(item.id)},React.createElement(StyledPanelChild,null,item.child)))}))}
1
+ import React from"react";import styled from"@emotion/styled";import{Group,Panel as ResizablePanel,Separator,useDefaultLayout}from"react-resizable-panels";let CustomGroup=styled(Group,{target:"e1qc2hi70",label:"CustomGroup"})({height:"100%",width:"100%"}),CustomSeparator=styled(Separator,{target:"e1qc2hi71",label:"CustomSeparator"})(({theme})=>({flexShrink:0,width:theme.variables.size.spacing.xxs})),StyledPanelChild=styled("div",{target:"e1qc2hi72",label:"StyledPanelChild"})({position:"relative",height:"100%",width:"100%"}),NOOP_STORAGE={getItem:()=>null,setItem:()=>{}},isResizable=item=>!1!==item.resizable,locksWidth=item=>!0===item.lockWidthOnWindowResize&&void 0!==item.defaultSize;export const groupResizeBehaviorFor=(item,panels)=>locksWidth(item)&&panels.some(panel=>!locksWidth(panel))?"preserve-pixel-size":"preserve-relative-size";let canSeparatorResize=({panels,index})=>panels.slice(0,index).some(isResizable)&&panels.slice(index).some(isResizable);export function Panel({panels,persistenceKey,storage,onResize,onCollapse,panelHandleFor,panelElementFor,shouldSuppressLayoutCallback}){let{defaultLayout,onLayoutChanged:persistSizes}=useDefaultLayout({id:persistenceKey??"ds-layout",panelIds:panels.map(p=>p.id),storage:persistenceKey&&storage?storage:NOOP_STORAGE});return React.createElement(CustomGroup,{orientation:"horizontal",defaultLayout:defaultLayout,onLayoutChanged:layout=>{shouldSuppressLayoutCallback?.()||(persistSizes(layout),panels.forEach(({id,collapsible})=>{let pct=layout[id];"number"==typeof pct&&collapsible&&pct<.5&&onCollapse(id)}))}},panels.map((item,index)=>{let isSeparatorDisabled=!canSeparatorResize({panels,index}),SeparatorComponent=item.gapBefore?CustomSeparator:Separator;return React.createElement(React.Fragment,{key:item.id},index>0&&React.createElement(SeparatorComponent,{disabled:isSeparatorDisabled}),React.createElement(ResizablePanel,{id:item.id,defaultSize:item.defaultSize,collapsible:item.collapsible,disabled:!1===item.resizable,groupResizeBehavior:groupResizeBehaviorFor(item,panels),minSize:item.minSize,maxSize:item.maxSize,onResize:size=>{!shouldSuppressLayoutCallback?.()&&(size.asPercentage<.5||onResize(item.id,size))},panelRef:panelHandleFor?.(item.id),elementRef:panelElementFor?.(item.id)},React.createElement(StyledPanelChild,null,item.child)))}))}