@amboss/design-system 4.8.2-canary.0 → 4.9.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 (371) hide show
  1. package/build/cjs/components/AIButton/AIButton.js +1 -1
  2. package/build/cjs/components/AccessCardItem/AccessCardItem.js +1 -1
  3. package/build/cjs/components/Avatar/Avatar.js +1 -1
  4. package/build/cjs/components/BulkActionsToolbar/BulkActionsToolbar.js +1 -1
  5. package/build/cjs/components/Button/Button.js +1 -1
  6. package/build/cjs/components/Card/CardHeader/CardHeader.js +1 -1
  7. package/build/cjs/components/CatalogCard/CatalogCard.d.ts +5 -1
  8. package/build/cjs/components/CatalogCard/CatalogCard.js +1 -1
  9. package/build/cjs/components/CheckboxCard/CheckboxCard.js +1 -1
  10. package/build/cjs/components/Collapsible/Collapsible.js +1 -1
  11. package/build/cjs/components/Container/Container.js +1 -1
  12. package/build/cjs/components/Content/ContentBadge/ContentBadge.js +1 -1
  13. package/build/cjs/components/Content/ContentCheckbox/ContentCheckbox.js +1 -1
  14. package/build/cjs/components/Content/ContentLink/ContentLink.js +1 -1
  15. package/build/cjs/components/Content/ContentPictogramButton/ContentPictogramButton.js +1 -1
  16. package/build/cjs/components/Content/ContentTableModal/ContentTableModal.js +2 -2
  17. package/build/cjs/components/Content/ContentText/ContentText.d.ts +1 -1
  18. package/build/cjs/components/Content/ContentText/ContentText.js +1 -1
  19. package/build/cjs/components/Content/DosageButton/DosageButton.d.ts +1 -1
  20. package/build/cjs/components/CountButton/CountButton.js +1 -1
  21. package/build/cjs/components/DataTable/header/SortableCellContent.js +1 -1
  22. package/build/cjs/components/DataTable/header/TableHeader.js +1 -1
  23. package/build/cjs/components/DataTable/useDataTableSelectRows.d.ts +2 -2
  24. package/build/cjs/components/DataTable/useDataTableSelectRows.js +1 -1
  25. package/build/cjs/components/DataTable/useDataTableSort.d.ts +3 -3
  26. package/build/cjs/components/Divider/Divider.js +1 -1
  27. package/build/cjs/components/DropdownMenu/DropdownMenu.d.ts +5 -1
  28. package/build/cjs/components/DropdownMenu/DropdownMenu.js +1 -1
  29. package/build/cjs/components/DropdownMenu/Menu.d.ts +1 -1
  30. package/build/cjs/components/DropdownMenu/Menu.js +1 -1
  31. package/build/cjs/components/EntityList/BaseEntityList.js +1 -1
  32. package/build/cjs/components/EntityList/EntityItemBody.d.ts +3 -1
  33. package/build/cjs/components/EntityList/EntityItemBody.js +1 -1
  34. package/build/cjs/components/EntityList/EntityListItem.js +1 -1
  35. package/build/cjs/components/EntityTree/BaseEntityTree.d.ts +3 -2
  36. package/build/cjs/components/EntityTree/BaseEntityTree.js +1 -1
  37. package/build/cjs/components/EntityTree/EntityTreeItem.js +1 -1
  38. package/build/cjs/components/EntityTree/EntityTreeItemExpandButton.d.ts +3 -1
  39. package/build/cjs/components/EntityTree/EntityTreeItemExpandButton.js +1 -1
  40. package/build/cjs/components/EntityTree/tree.d.ts +1 -1
  41. package/build/cjs/components/EntityTree/tree.js +1 -1
  42. package/build/cjs/components/Form/Checkbox/Checkbox.js +1 -1
  43. package/build/cjs/components/Form/Combobox/Combobox.js +1 -1
  44. package/build/cjs/components/Form/Combobox/MultiSelect.d.ts +1 -1
  45. package/build/cjs/components/Form/Combobox/MultiSelect.js +1 -1
  46. package/build/cjs/components/Form/Combobox/MultiSelectReducer.d.ts +1 -1
  47. package/build/cjs/components/Form/Combobox/OptionsList.d.ts +6 -3
  48. package/build/cjs/components/Form/Combobox/OptionsList.js +1 -1
  49. package/build/cjs/components/Form/Combobox/SingleSelect.d.ts +1 -1
  50. package/build/cjs/components/Form/Combobox/SingleSelect.js +1 -1
  51. package/build/cjs/components/Form/Combobox/constants.js +1 -1
  52. package/build/cjs/components/Form/FormFieldGroup/FormFieldGroup.js +1 -1
  53. package/build/cjs/components/Form/Input/Input.js +1 -1
  54. package/build/cjs/components/Form/PasswordInput/PasswordInput.js +1 -1
  55. package/build/cjs/components/Form/PasswordInput/PasswordInputButton.d.ts +2 -2
  56. package/build/cjs/components/Form/PasswordInput/PasswordInputButton.js +1 -1
  57. package/build/cjs/components/Form/Radio/Radio.js +1 -1
  58. package/build/cjs/components/Form/RangeInput/RangeInput.js +1 -1
  59. package/build/cjs/components/Form/SearchInput/SearchInput.js +1 -1
  60. package/build/cjs/components/Form/SegmentedControl/-types.d.ts +2 -2
  61. package/build/cjs/components/Form/SegmentedControl/SegmentedControl.js +1 -1
  62. package/build/cjs/components/Form/SegmentedControl/SegmentedControlOption.js +1 -1
  63. package/build/cjs/components/Form/Select/Select.js +1 -1
  64. package/build/cjs/components/Form/Select/SelectWithCustomTrigger.js +1 -1
  65. package/build/cjs/components/Form/Select/useTypeAheadSearch.js +1 -1
  66. package/build/cjs/components/Form/Textarea/Textarea.js +1 -1
  67. package/build/cjs/components/Form/Toggle/Toggle.js +1 -1
  68. package/build/cjs/components/Form/ToggleButton/ToggleButton.js +1 -1
  69. package/build/cjs/components/Grid/Grid.js +1 -1
  70. package/build/cjs/components/Icon/Icon.js +1 -1
  71. package/build/cjs/components/Image/Image.js +1 -1
  72. package/build/cjs/components/Inline/Inline.js +1 -1
  73. package/build/cjs/components/Internal/BaseTag/BaseTag.d.ts +5 -1
  74. package/build/cjs/components/Internal/BaseTag/BaseTag.js +1 -1
  75. package/build/cjs/components/Internal/Float/Float.d.ts +1 -1
  76. package/build/cjs/components/Internal/Float/Float.js +1 -1
  77. package/build/cjs/components/Internal/PanelHeader/PanelHeader.d.ts +4 -0
  78. package/build/cjs/components/Internal/PanelHeader/PanelHeader.js +1 -1
  79. package/build/cjs/components/Internal/Sandwich/useSandwichContext.d.ts +1 -1
  80. package/build/cjs/components/Layout/-constants.d.ts +4 -0
  81. package/build/cjs/components/Layout/-constants.js +1 -1
  82. package/build/cjs/components/Layout/-types.d.ts +16 -24
  83. package/build/cjs/components/Layout/Layout.js +1 -1
  84. package/build/cjs/components/Layout/LayoutCssVars.d.ts +1 -1
  85. package/build/cjs/components/Layout/LeftPanel/LeftBarLayers.d.ts +2 -3
  86. package/build/cjs/components/Layout/LeftPanel/LeftBarLayers.js +1 -1
  87. package/build/cjs/components/Layout/LeftPanel/LeftBarToggle.d.ts +3 -4
  88. package/build/cjs/components/Layout/LeftPanel/LeftBarToggle.js +1 -1
  89. package/build/cjs/components/Layout/LeftPanel/LeftPanel.d.ts +2 -2
  90. package/build/cjs/components/Layout/LeftPanel/LeftPanel.js +1 -1
  91. package/build/cjs/components/Layout/LeftPanel/LeftPanelDocked.d.ts +4 -9
  92. package/build/cjs/components/Layout/LeftPanel/LeftPanelDocked.js +1 -1
  93. package/build/cjs/components/Layout/LeftPanel/LeftPanelFooter.js +1 -1
  94. package/build/cjs/components/Layout/LeftPanel/LeftPanelHeader.js +1 -1
  95. package/build/cjs/components/Layout/LeftPanel/LeftPanelOffcanvas.d.ts +2 -3
  96. package/build/cjs/components/Layout/LeftPanel/LeftPanelOffcanvas.js +1 -1
  97. package/build/cjs/components/Layout/LeftPanel/useLeftBarContext.d.ts +1 -1
  98. package/build/cjs/components/Layout/LeftPanel/useLeftBarContext.js +1 -1
  99. package/build/cjs/components/Layout/LeftPanel/useLeftPanelCollapseContext.d.ts +3 -3
  100. package/build/cjs/components/Layout/LeftPanel/useLeftPanelCollapseContext.js +1 -1
  101. package/build/cjs/components/Layout/Split/MobileSplitView/useMobileSplitStack.d.ts +1 -1
  102. package/build/cjs/components/Layout/context.d.ts +1 -1
  103. package/build/cjs/components/Layout/reducer.js +1 -1
  104. package/build/cjs/components/Layout/registry.d.ts +5 -5
  105. package/build/cjs/components/Layout/registry.js +1 -1
  106. package/build/cjs/components/Layout/useLayout.js +1 -1
  107. package/build/cjs/components/Layout/useLayoutRules.js +1 -1
  108. package/build/cjs/components/Layout/usePanelDockedSlide.d.ts +1 -1
  109. package/build/cjs/components/Layout/usePanelDockedSlide.js +1 -1
  110. package/build/cjs/components/Lightbox/Lightbox.js +2 -2
  111. package/build/cjs/components/Link/Link.js +1 -1
  112. package/build/cjs/components/MediaItem/MediaItem.d.ts +1 -0
  113. package/build/cjs/components/MediaItem/MediaItem.js +1 -1
  114. package/build/cjs/components/MediaItem/MediaItemSkeleton.js +1 -1
  115. package/build/cjs/components/MediaViewerBar/MediaViewerBar.js +1 -1
  116. package/build/cjs/components/MediaViewerCarousel/CarouselThumbnail/CarouselThumbnail.js +1 -1
  117. package/build/cjs/components/MediaViewerCarousel/MediaCarousel/MediaCarousel.js +1 -1
  118. package/build/cjs/components/Notification/Notification.d.ts +1 -1
  119. package/build/cjs/components/Notification/Notification.js +1 -1
  120. package/build/cjs/components/Patterns/ButtonGroup/ButtonGroup.d.ts +1 -1
  121. package/build/cjs/components/Patterns/EmptyState/EmptyState.js +1 -1
  122. package/build/cjs/components/Patterns/Modal/Modal.js +2 -2
  123. package/build/cjs/components/PictogramButton/PictogramButton.js +1 -1
  124. package/build/cjs/components/Portal/Portal.d.ts +2 -2
  125. package/build/cjs/components/PromptButton/PromptButton.js +1 -1
  126. package/build/cjs/components/PromptInput/AutocompleteList.d.ts +1 -1
  127. package/build/cjs/components/PromptInput/AutocompleteList.js +1 -1
  128. package/build/cjs/components/PromptInput/PromptInput.js +1 -1
  129. package/build/cjs/components/PromptInput/PromptTextArea.js +1 -1
  130. package/build/cjs/components/RadioCard/RadioCard.js +1 -1
  131. package/build/cjs/components/RoundButton/RoundButton.js +1 -1
  132. package/build/cjs/components/SearchResult/SearchResult.js +1 -1
  133. package/build/cjs/components/SegmentedProgressBar/-utils/getPercentagesForVariants.d.ts +4 -2
  134. package/build/cjs/components/SegmentedProgressBar/-utils/getPercentagesForVariants.js +1 -1
  135. package/build/cjs/components/SegmentedProgressBar/LegendPopover.d.ts +2 -1
  136. package/build/cjs/components/SegmentedProgressBar/LegendPopover.js +1 -1
  137. package/build/cjs/components/SegmentedProgressBar/SegmentedProgressBar.js +1 -1
  138. package/build/cjs/components/ShadowWebComponent/ShadowWebComponent.js +1 -1
  139. package/build/cjs/components/Sheet/Sheet.d.ts +1 -1
  140. package/build/cjs/components/Sheet/Sheet.js +1 -1
  141. package/build/cjs/components/SplashCard/SplashCard.js +1 -1
  142. package/build/cjs/components/SplashCardMedia/SplashCardMedia.js +1 -1
  143. package/build/cjs/components/Stack/Stack.js +1 -1
  144. package/build/cjs/components/SubThemeProvider/SubThemeContext.d.ts +1 -1
  145. package/build/cjs/components/SubThemeProvider/SubThemeProvider.d.ts +2 -1
  146. package/build/cjs/components/SubThemeProvider/SubThemeProvider.js +1 -1
  147. package/build/cjs/components/Tabs/Tabs.js +1 -1
  148. package/build/cjs/components/TagGroup/TagGroup.js +1 -1
  149. package/build/cjs/components/Toast/Toast.d.ts +2 -1
  150. package/build/cjs/components/Toast/Toast.js +1 -1
  151. package/build/cjs/components/Toast/ToastProvider.d.ts +5 -3
  152. package/build/cjs/components/Toggletip/BasePopover.js +1 -1
  153. package/build/cjs/components/Tooltip/TooltipContent.d.ts +1 -1
  154. package/build/cjs/components/Tooltip/TooltipContent.js +1 -1
  155. package/build/cjs/components/Typography/StyledText/StyledText.d.ts +1 -1
  156. package/build/cjs/components/Typography/StyledText/StyledText.js +1 -1
  157. package/build/cjs/components/Typography/Text/Text.d.ts +1 -1
  158. package/build/cjs/components/Typography/Text/Text.js +1 -1
  159. package/build/cjs/components/Typography/Text/TextSkeleton.js +1 -1
  160. package/build/cjs/components/Typography/TextClamped/TextClamped.js +1 -1
  161. package/build/cjs/components/UserHighlightTooltip/UserHighlightTooltip.d.ts +1 -1
  162. package/build/cjs/components/UserHighlightTooltip/UserHighlightTooltip.js +1 -1
  163. package/build/cjs/components/Utilities/ContainerQuery/ContainerQueryContext.d.ts +1 -1
  164. package/build/cjs/components/Utilities/Expandable/Expandable.js +1 -1
  165. package/build/cjs/components/Utilities/FloatingPosition/utils.d.ts +1 -1
  166. package/build/cjs/components/VirtualScrollList/VirtualScrollList.d.ts +1 -1
  167. package/build/cjs/components/VirtualScrollList/VirtualScrollList.js +1 -1
  168. package/build/cjs/components/VirtualScrollList/VirtualScrollListReducer.d.ts +2 -2
  169. package/build/cjs/components/VirtualScrollList/VirtualScrollListReducer.js +1 -1
  170. package/build/cjs/shared/appendId.d.ts +1 -1
  171. package/build/cjs/shared/forwardRefPolymorphic.d.ts +2 -0
  172. package/build/cjs/shared/forwardRefPolymorphic.js +1 -0
  173. package/build/cjs/shared/intl/translations/de.json +7 -1
  174. package/build/cjs/shared/intl/translations/en.json +7 -1
  175. package/build/cjs/shared/mediaQueries.d.ts +3 -3
  176. package/build/cjs/shared/mixins/Button/getPillStyles.js +1 -1
  177. package/build/cjs/shared/useAutoPosition.js +1 -1
  178. package/build/cjs/shared/useHover.d.ts +1 -1
  179. package/build/cjs/shared/useHover.js +1 -1
  180. package/build/cjs/shared/useOutsideClickDeactivatesWithinPortal.d.ts +1 -1
  181. package/build/cjs/shared/useOutsideClickDeactivatesWithinPortal.js +1 -1
  182. package/build/cjs/web-tokens/_colors.json +12 -12
  183. package/build/cjs/web-tokens/_sizes.json +55 -55
  184. package/build/cjs/web-tokens/visualConfig.d.ts +1 -0
  185. package/build/cjs/web-tokens/visualConfig.js +1 -1
  186. package/build/esm/components/AIButton/AIButton.js +1 -1
  187. package/build/esm/components/AccessCardItem/AccessCardItem.js +1 -1
  188. package/build/esm/components/Avatar/Avatar.js +1 -1
  189. package/build/esm/components/BulkActionsToolbar/BulkActionsToolbar.js +1 -1
  190. package/build/esm/components/Button/Button.js +1 -1
  191. package/build/esm/components/Card/CardHeader/CardHeader.js +1 -1
  192. package/build/esm/components/CatalogCard/CatalogCard.d.ts +5 -1
  193. package/build/esm/components/CatalogCard/CatalogCard.js +1 -1
  194. package/build/esm/components/CheckboxCard/CheckboxCard.js +1 -1
  195. package/build/esm/components/Collapsible/Collapsible.js +1 -1
  196. package/build/esm/components/Container/Container.js +1 -1
  197. package/build/esm/components/Content/ContentBadge/ContentBadge.js +1 -1
  198. package/build/esm/components/Content/ContentCheckbox/ContentCheckbox.js +1 -1
  199. package/build/esm/components/Content/ContentLink/ContentLink.js +1 -1
  200. package/build/esm/components/Content/ContentPictogramButton/ContentPictogramButton.js +1 -1
  201. package/build/esm/components/Content/ContentTableModal/ContentTableModal.js +2 -2
  202. package/build/esm/components/Content/ContentText/ContentText.d.ts +1 -1
  203. package/build/esm/components/Content/ContentText/ContentText.js +1 -1
  204. package/build/esm/components/Content/DosageButton/DosageButton.d.ts +1 -1
  205. package/build/esm/components/CountButton/CountButton.js +1 -1
  206. package/build/esm/components/DataTable/header/SortableCellContent.js +1 -1
  207. package/build/esm/components/DataTable/header/TableHeader.js +1 -1
  208. package/build/esm/components/DataTable/useDataTableSelectRows.d.ts +2 -2
  209. package/build/esm/components/DataTable/useDataTableSelectRows.js +1 -1
  210. package/build/esm/components/DataTable/useDataTableSort.d.ts +3 -3
  211. package/build/esm/components/Divider/Divider.js +1 -1
  212. package/build/esm/components/DropdownMenu/DropdownMenu.d.ts +5 -1
  213. package/build/esm/components/DropdownMenu/DropdownMenu.js +1 -1
  214. package/build/esm/components/DropdownMenu/Menu.d.ts +1 -1
  215. package/build/esm/components/DropdownMenu/Menu.js +1 -1
  216. package/build/esm/components/EntityList/BaseEntityList.js +1 -1
  217. package/build/esm/components/EntityList/EntityItemBody.d.ts +3 -1
  218. package/build/esm/components/EntityList/EntityItemBody.js +1 -1
  219. package/build/esm/components/EntityList/EntityListItem.js +1 -1
  220. package/build/esm/components/EntityTree/BaseEntityTree.d.ts +3 -2
  221. package/build/esm/components/EntityTree/BaseEntityTree.js +1 -1
  222. package/build/esm/components/EntityTree/EntityTreeItem.js +1 -1
  223. package/build/esm/components/EntityTree/EntityTreeItemExpandButton.d.ts +3 -1
  224. package/build/esm/components/EntityTree/EntityTreeItemExpandButton.js +1 -1
  225. package/build/esm/components/EntityTree/tree.d.ts +1 -1
  226. package/build/esm/components/EntityTree/tree.js +1 -1
  227. package/build/esm/components/Form/Checkbox/Checkbox.js +1 -1
  228. package/build/esm/components/Form/Combobox/Combobox.js +1 -1
  229. package/build/esm/components/Form/Combobox/MultiSelect.d.ts +1 -1
  230. package/build/esm/components/Form/Combobox/MultiSelect.js +1 -1
  231. package/build/esm/components/Form/Combobox/MultiSelectReducer.d.ts +1 -1
  232. package/build/esm/components/Form/Combobox/OptionsList.d.ts +6 -3
  233. package/build/esm/components/Form/Combobox/OptionsList.js +1 -1
  234. package/build/esm/components/Form/Combobox/SingleSelect.d.ts +1 -1
  235. package/build/esm/components/Form/Combobox/SingleSelect.js +1 -1
  236. package/build/esm/components/Form/Combobox/constants.js +1 -1
  237. package/build/esm/components/Form/FormFieldGroup/FormFieldGroup.js +1 -1
  238. package/build/esm/components/Form/Input/Input.js +1 -1
  239. package/build/esm/components/Form/PasswordInput/PasswordInput.js +1 -1
  240. package/build/esm/components/Form/PasswordInput/PasswordInputButton.d.ts +2 -2
  241. package/build/esm/components/Form/PasswordInput/PasswordInputButton.js +1 -1
  242. package/build/esm/components/Form/Radio/Radio.js +1 -1
  243. package/build/esm/components/Form/RangeInput/RangeInput.js +1 -1
  244. package/build/esm/components/Form/SearchInput/SearchInput.js +1 -1
  245. package/build/esm/components/Form/SegmentedControl/-types.d.ts +2 -2
  246. package/build/esm/components/Form/SegmentedControl/SegmentedControl.js +1 -1
  247. package/build/esm/components/Form/SegmentedControl/SegmentedControlOption.js +1 -1
  248. package/build/esm/components/Form/Select/Select.js +1 -1
  249. package/build/esm/components/Form/Select/SelectWithCustomTrigger.js +1 -1
  250. package/build/esm/components/Form/Select/useTypeAheadSearch.js +1 -1
  251. package/build/esm/components/Form/Textarea/Textarea.js +1 -1
  252. package/build/esm/components/Form/Toggle/Toggle.js +1 -1
  253. package/build/esm/components/Form/ToggleButton/ToggleButton.js +1 -1
  254. package/build/esm/components/Grid/Grid.js +1 -1
  255. package/build/esm/components/Icon/Icon.js +1 -1
  256. package/build/esm/components/Image/Image.js +1 -1
  257. package/build/esm/components/Inline/Inline.js +1 -1
  258. package/build/esm/components/Internal/BaseTag/BaseTag.d.ts +5 -1
  259. package/build/esm/components/Internal/BaseTag/BaseTag.js +1 -1
  260. package/build/esm/components/Internal/Float/Float.d.ts +1 -1
  261. package/build/esm/components/Internal/Float/Float.js +1 -1
  262. package/build/esm/components/Internal/PanelHeader/PanelHeader.d.ts +4 -0
  263. package/build/esm/components/Internal/PanelHeader/PanelHeader.js +1 -1
  264. package/build/esm/components/Internal/Sandwich/useSandwichContext.d.ts +1 -1
  265. package/build/esm/components/Layout/-constants.d.ts +4 -0
  266. package/build/esm/components/Layout/-constants.js +1 -1
  267. package/build/esm/components/Layout/-types.d.ts +16 -24
  268. package/build/esm/components/Layout/Layout.js +1 -1
  269. package/build/esm/components/Layout/LayoutCssVars.d.ts +1 -1
  270. package/build/esm/components/Layout/LeftPanel/LeftBarLayers.d.ts +2 -3
  271. package/build/esm/components/Layout/LeftPanel/LeftBarLayers.js +1 -1
  272. package/build/esm/components/Layout/LeftPanel/LeftBarToggle.d.ts +3 -4
  273. package/build/esm/components/Layout/LeftPanel/LeftBarToggle.js +1 -1
  274. package/build/esm/components/Layout/LeftPanel/LeftPanel.d.ts +2 -2
  275. package/build/esm/components/Layout/LeftPanel/LeftPanel.js +1 -1
  276. package/build/esm/components/Layout/LeftPanel/LeftPanelDocked.d.ts +4 -9
  277. package/build/esm/components/Layout/LeftPanel/LeftPanelDocked.js +1 -1
  278. package/build/esm/components/Layout/LeftPanel/LeftPanelFooter.js +1 -1
  279. package/build/esm/components/Layout/LeftPanel/LeftPanelHeader.js +1 -1
  280. package/build/esm/components/Layout/LeftPanel/LeftPanelOffcanvas.d.ts +2 -3
  281. package/build/esm/components/Layout/LeftPanel/LeftPanelOffcanvas.js +1 -1
  282. package/build/esm/components/Layout/LeftPanel/useLeftBarContext.d.ts +1 -1
  283. package/build/esm/components/Layout/LeftPanel/useLeftBarContext.js +1 -1
  284. package/build/esm/components/Layout/LeftPanel/useLeftPanelCollapseContext.d.ts +3 -3
  285. package/build/esm/components/Layout/LeftPanel/useLeftPanelCollapseContext.js +1 -1
  286. package/build/esm/components/Layout/Split/MobileSplitView/useMobileSplitStack.d.ts +1 -1
  287. package/build/esm/components/Layout/context.d.ts +1 -1
  288. package/build/esm/components/Layout/reducer.js +1 -1
  289. package/build/esm/components/Layout/registry.d.ts +5 -5
  290. package/build/esm/components/Layout/registry.js +1 -1
  291. package/build/esm/components/Layout/useLayout.js +1 -1
  292. package/build/esm/components/Layout/useLayoutRules.js +1 -1
  293. package/build/esm/components/Layout/usePanelDockedSlide.d.ts +1 -1
  294. package/build/esm/components/Layout/usePanelDockedSlide.js +1 -1
  295. package/build/esm/components/Lightbox/Lightbox.js +2 -2
  296. package/build/esm/components/Link/Link.js +1 -1
  297. package/build/esm/components/MediaItem/MediaItem.d.ts +1 -0
  298. package/build/esm/components/MediaItem/MediaItem.js +1 -1
  299. package/build/esm/components/MediaItem/MediaItemSkeleton.js +1 -1
  300. package/build/esm/components/MediaViewerBar/MediaViewerBar.js +1 -1
  301. package/build/esm/components/MediaViewerCarousel/CarouselThumbnail/CarouselThumbnail.js +1 -1
  302. package/build/esm/components/MediaViewerCarousel/MediaCarousel/MediaCarousel.js +1 -1
  303. package/build/esm/components/Notification/Notification.d.ts +1 -1
  304. package/build/esm/components/Notification/Notification.js +1 -1
  305. package/build/esm/components/Patterns/ButtonGroup/ButtonGroup.d.ts +1 -1
  306. package/build/esm/components/Patterns/EmptyState/EmptyState.js +1 -1
  307. package/build/esm/components/Patterns/Modal/Modal.js +2 -2
  308. package/build/esm/components/PictogramButton/PictogramButton.js +1 -1
  309. package/build/esm/components/Portal/Portal.d.ts +2 -2
  310. package/build/esm/components/PromptButton/PromptButton.js +1 -1
  311. package/build/esm/components/PromptInput/AutocompleteList.d.ts +1 -1
  312. package/build/esm/components/PromptInput/AutocompleteList.js +1 -1
  313. package/build/esm/components/PromptInput/PromptInput.js +1 -1
  314. package/build/esm/components/PromptInput/PromptTextArea.js +1 -1
  315. package/build/esm/components/RadioCard/RadioCard.js +1 -1
  316. package/build/esm/components/RoundButton/RoundButton.js +1 -1
  317. package/build/esm/components/SearchResult/SearchResult.js +1 -1
  318. package/build/esm/components/SegmentedProgressBar/-utils/getPercentagesForVariants.d.ts +4 -2
  319. package/build/esm/components/SegmentedProgressBar/-utils/getPercentagesForVariants.js +1 -1
  320. package/build/esm/components/SegmentedProgressBar/LegendPopover.d.ts +2 -1
  321. package/build/esm/components/SegmentedProgressBar/LegendPopover.js +1 -1
  322. package/build/esm/components/SegmentedProgressBar/SegmentedProgressBar.js +1 -1
  323. package/build/esm/components/ShadowWebComponent/ShadowWebComponent.js +1 -1
  324. package/build/esm/components/Sheet/Sheet.d.ts +1 -1
  325. package/build/esm/components/Sheet/Sheet.js +1 -1
  326. package/build/esm/components/SplashCard/SplashCard.js +1 -1
  327. package/build/esm/components/SplashCardMedia/SplashCardMedia.js +1 -1
  328. package/build/esm/components/Stack/Stack.js +1 -1
  329. package/build/esm/components/SubThemeProvider/SubThemeContext.d.ts +1 -1
  330. package/build/esm/components/SubThemeProvider/SubThemeProvider.d.ts +2 -1
  331. package/build/esm/components/SubThemeProvider/SubThemeProvider.js +1 -1
  332. package/build/esm/components/Tabs/Tabs.js +1 -1
  333. package/build/esm/components/TagGroup/TagGroup.js +1 -1
  334. package/build/esm/components/Toast/Toast.d.ts +2 -1
  335. package/build/esm/components/Toast/Toast.js +1 -1
  336. package/build/esm/components/Toast/ToastProvider.d.ts +5 -3
  337. package/build/esm/components/Toggletip/BasePopover.js +1 -1
  338. package/build/esm/components/Tooltip/TooltipContent.d.ts +1 -1
  339. package/build/esm/components/Tooltip/TooltipContent.js +1 -1
  340. package/build/esm/components/Typography/StyledText/StyledText.d.ts +1 -1
  341. package/build/esm/components/Typography/StyledText/StyledText.js +1 -1
  342. package/build/esm/components/Typography/Text/Text.d.ts +1 -1
  343. package/build/esm/components/Typography/Text/Text.js +1 -1
  344. package/build/esm/components/Typography/Text/TextSkeleton.js +1 -1
  345. package/build/esm/components/Typography/TextClamped/TextClamped.js +1 -1
  346. package/build/esm/components/UserHighlightTooltip/UserHighlightTooltip.d.ts +1 -1
  347. package/build/esm/components/UserHighlightTooltip/UserHighlightTooltip.js +1 -1
  348. package/build/esm/components/Utilities/ContainerQuery/ContainerQueryContext.d.ts +1 -1
  349. package/build/esm/components/Utilities/Expandable/Expandable.js +1 -1
  350. package/build/esm/components/Utilities/FloatingPosition/utils.d.ts +1 -1
  351. package/build/esm/components/VirtualScrollList/VirtualScrollList.d.ts +1 -1
  352. package/build/esm/components/VirtualScrollList/VirtualScrollList.js +1 -1
  353. package/build/esm/components/VirtualScrollList/VirtualScrollListReducer.d.ts +2 -2
  354. package/build/esm/components/VirtualScrollList/VirtualScrollListReducer.js +1 -1
  355. package/build/esm/shared/appendId.d.ts +1 -1
  356. package/build/esm/shared/forwardRefPolymorphic.d.ts +2 -0
  357. package/build/esm/shared/forwardRefPolymorphic.js +1 -0
  358. package/build/esm/shared/intl/translations/de.json +7 -1
  359. package/build/esm/shared/intl/translations/en.json +7 -1
  360. package/build/esm/shared/mediaQueries.d.ts +3 -3
  361. package/build/esm/shared/mixins/Button/getPillStyles.js +1 -1
  362. package/build/esm/shared/useAutoPosition.js +1 -1
  363. package/build/esm/shared/useHover.d.ts +1 -1
  364. package/build/esm/shared/useHover.js +1 -1
  365. package/build/esm/shared/useOutsideClickDeactivatesWithinPortal.d.ts +1 -1
  366. package/build/esm/shared/useOutsideClickDeactivatesWithinPortal.js +1 -1
  367. package/build/esm/web-tokens/_colors.json +12 -12
  368. package/build/esm/web-tokens/_sizes.json +55 -55
  369. package/build/esm/web-tokens/visualConfig.d.ts +1 -0
  370. package/build/esm/web-tokens/visualConfig.js +1 -1
  371. package/package.json +9 -5
@@ -1 +1 @@
1
- import React,{useMemo}from"react";import{ThemeProvider}from"@emotion/react";import{SubThemeContext}from"./SubThemeContext";function isObject(item){return item&&"object"==typeof item&&!Array.isArray(item)}let baseThemeByName=new Map,setBaseTheme=theme=>{theme.name&&!baseThemeByName.has(theme.name)&&baseThemeByName.set(theme.name,theme)},getBaseTheme=theme=>baseThemeByName.get(theme.name)??theme,subThemeCreator=(parentTheme,name)=>(setBaseTheme(parentTheme),function mergeDeep(target,...sources){if(!sources.length)return target;let source=sources.shift();if(isObject(target)&&isObject(source))for(let key in source)isObject(source[key])?(target[key]||Object.assign(target,{[key]:{}}),mergeDeep(target[key],source[key])):Object.assign(target,{[key]:source[key]});return mergeDeep(target,...sources)}({},parentTheme,{values:{...parentTheme.values.subThemes[name]}}));export function SubThemeProvider({name,children,as,"data-e2e-test-id":dataE2eTestId}){let memoizedTheme=useMemo(()=>parentTheme=>"unset"===name?getBaseTheme(parentTheme):subThemeCreator(parentTheme,name),[name]);return React.createElement(ThemeProvider,{theme:memoizedTheme},React.createElement(SubThemeContext.Provider,{value:name},"div"===as?React.createElement("div",{"data-subtheme":name,"data-e2e-test-id":dataE2eTestId,"data-ds-id":"SubThemeProvider"},children):children))}
1
+ import React,{useMemo}from"react";import{ThemeProvider}from"@emotion/react";import{SubThemeContext}from"./SubThemeContext";function isObject(item){return!!item&&"object"==typeof item&&!Array.isArray(item)}let baseThemeByName=new Map,setBaseTheme=theme=>{theme.name&&!baseThemeByName.has(theme.name)&&baseThemeByName.set(theme.name,theme)},getBaseTheme=theme=>baseThemeByName.get(theme.name)??theme,subThemeCreator=(parentTheme,name)=>(setBaseTheme(parentTheme),function mergeDeep(target,...sources){if(!sources.length)return target;let source=sources.shift();if(isObject(target)&&isObject(source)){for(let key in source)if(Object.prototype.hasOwnProperty.call(source,key)){let sourceValue=source[key];if(isObject(sourceValue)){let nestedTarget=target[key]||{};Object.assign(target,{[key]:nestedTarget}),mergeDeep(nestedTarget,sourceValue)}else Object.assign(target,{[key]:sourceValue})}}return mergeDeep(target,...sources)}({},parentTheme,{values:{...parentTheme.values.subThemes[name]}}));export function SubThemeProvider({name,children,as,"data-e2e-test-id":dataE2eTestId}){let memoizedTheme=useMemo(()=>parentTheme=>"unset"===name?getBaseTheme(parentTheme):subThemeCreator(parentTheme,name),[name]);return React.createElement(ThemeProvider,{theme:memoizedTheme},React.createElement(SubThemeContext.Provider,{value:name},"div"===as?React.createElement("div",{"data-subtheme":name,"data-e2e-test-id":dataE2eTestId,"data-ds-id":"SubThemeProvider"},children):children))}
@@ -1 +1 @@
1
- import styled from"@emotion/styled";import isPropValid from"@emotion/is-prop-valid";import React,{useId,useRef}from"react";import{useResponsiveStyles}from"../../shared/mediaQueries";import{useKeyboard}from"../../shared/useKeyboard";import{Icon}from"../Icon/Icon";import{Stack}from"../Stack/Stack";import{Tooltip}from"../Tooltip/Tooltip";import{useTabFocus}from"./useTabFocus";import{getButtonAppearanceReset}from"../../shared/mixins/Button/getButtonAppearanceReset";let StyledContainer=styled("div",{shouldForwardProp:prop=>isPropValid(prop),target:"e2kj0g00",label:"StyledContainer"})(({theme,horizontalPadding,hideBottomBorder})=>({display:"flex",flexDirection:"row",...useResponsiveStyles({gap:[["m","l","l"],theme.variables.size.spacing],paddingInline:[horizontalPadding,theme.variables.size.spacing]}),...!hideBottomBorder&&{borderBottom:`1px solid ${theme.values.color.border.secondary.default}`},whiteSpace:"nowrap",overflow:"auto",scrollbarWidth:"none",msOverflowStyle:"none","::-webkit-scrollbar":{display:"none"}})),StyledTab=styled("button",{shouldForwardProp:prop=>isPropValid(prop)&&"active"!==prop&&"disabled"!==prop,target:"e2kj0g01",label:"StyledTab"})(({theme,active,disabled,hideBottomBorder,activeTabClickable})=>({...getButtonAppearanceReset(),padding:0,display:"flex",gap:theme.variables.size.spacing.xxs,alignItems:"center",boxSizing:"border-box",color:theme.values.color.text.secondary.default,fontFamily:theme.variables.fontFamily.lato,fontWeight:theme.variables.weight.bold,fontSize:theme.variables.size.font.s,lineHeight:theme.variables.size.lineHeight.xs,borderBottom:"4px solid transparent",paddingTop:hideBottomBorder?theme.variables.size.spacing.m:`calc(${theme.variables.size.spacing.m} - 1px)`,paddingBottom:`calc(${theme.variables.size.spacing.m} - 4px)`,...active&&!disabled&&{color:theme.values.color.text.accent.default,borderBottomColor:theme.values.color.border.accent.default},...!active&&!disabled&&{cursor:"pointer","&:hover":{color:theme.values.color.text.primary.default,borderBottomColor:theme.values.color.border.secondary.default},"&:active":{color:theme.values.color.text.primary.default,borderBottomColor:theme.values.color.border.secondary.active}},...activeTabClickable&&{cursor:"pointer"},...disabled&&{opacity:theme.variables.opacity.disabled,cursor:"not-allowed"},"&:focus-visible":{outlineWidth:2,outlineOffset:-1}})),addSubtitle=text=>text?`(${text})`:"";export function Tabs({tabs,horizontalPadding,activeTab=0,children,onTabSelect,activeTabClickable,tabPanelId:tabPanelIdProp,"data-e2e-test-id":dataE2eTestId,hideBottomBorder,...ariaAttributes}){let tablistRef=useRef(null),instanceId=useId(),tabPanelId=tabPanelIdProp||`${instanceId}-panel`,{onBlur,onTabFocus,getTabIndex,focusNextTab}=useTabFocus({tabs,activeTab,tablistRef,tabAttribute:"data-tab-index"});useKeyboard({ArrowRight:()=>focusNextTab(1),ArrowLeft:()=>focusNextTab(-1)},tablistRef,!0);let getTabId=index=>`${instanceId}-tab-${index}`;return React.createElement(Stack,{"data-e2e-test-id":dataE2eTestId,"data-ds-id":"Tabs"},React.createElement(StyledContainer,{...ariaAttributes,hideBottomBorder:hideBottomBorder,horizontalPadding:horizontalPadding,onBlur:onBlur,ref:tablistRef,"aria-orientation":"horizontal",role:"tablist"},tabs.map(({label,sublabel,icon,as="button",disabled,tooltipContent,...rest},i)=>{let iconConfig;icon&&(iconConfig="string"==typeof icon?{name:icon,position:"left"}:icon);let Tab=React.createElement(StyledTab,{id:getTabId(i),activeTabClickable:activeTabClickable,hideBottomBorder:hideBottomBorder,disabled:disabled,as:as,key:label,active:activeTab===i,...rest,onFocus:e=>{onTabFocus(i),rest.onFocus?.(e)},onClick:e=>{disabled||(onTabSelect?.(i),rest.onClick?.(e))},tabIndex:getTabIndex(i),"data-tab-index":i,type:"button"!==as?void 0:"button",role:"tab","aria-selected":activeTab===i,"aria-disabled":disabled||void 0,"aria-controls":children?tabPanelId:void 0},iconConfig&&"left"===iconConfig.position&&React.createElement(Icon,{size:"s",name:iconConfig.name}),label," ",addSubtitle(sublabel),iconConfig&&"right"===iconConfig.position&&React.createElement(Icon,{size:"s",name:iconConfig.name}));return disabled&&tooltipContent?React.createElement(Tooltip,{key:label,content:tooltipContent},Tab):Tab})),children&&null!=activeTab&&React.createElement("div",{role:"tabpanel",id:tabPanelId,"aria-labelledby":getTabId(activeTab)},children))}
1
+ import styled from"@emotion/styled";import isPropValid from"@emotion/is-prop-valid";import React,{useId,useRef}from"react";import{useResponsiveStyles}from"../../shared/mediaQueries";import{useKeyboard}from"../../shared/useKeyboard";import{Icon}from"../Icon/Icon";import{Stack}from"../Stack/Stack";import{Tooltip}from"../Tooltip/Tooltip";import{useTabFocus}from"./useTabFocus";import{getButtonAppearanceReset}from"../../shared/mixins/Button/getButtonAppearanceReset";let StyledContainer=styled("div",{shouldForwardProp:prop=>isPropValid(prop),target:"e1ab8gc80",label:"StyledContainer"})(({theme,horizontalPadding,hideBottomBorder})=>({display:"flex",flexDirection:"row",...useResponsiveStyles({gap:[["m","l","l"],theme.variables.size.spacing],paddingInline:[horizontalPadding,theme.variables.size.spacing]}),...!hideBottomBorder&&{borderBottom:`1px solid ${theme.values.color.border.secondary.default}`},whiteSpace:"nowrap",overflow:"auto",scrollbarWidth:"none",msOverflowStyle:"none","::-webkit-scrollbar":{display:"none"}})),StyledTab=styled("button",{shouldForwardProp:prop=>isPropValid(prop)&&"active"!==prop&&"disabled"!==prop,target:"e1ab8gc81",label:"StyledTab"})(({theme,active,disabled,hideBottomBorder,activeTabClickable})=>({...getButtonAppearanceReset(),padding:0,display:"flex",gap:theme.variables.size.spacing.xxs,alignItems:"center",boxSizing:"border-box",color:theme.values.color.text.secondary.default,fontFamily:theme.variables.fontFamily.lato,fontWeight:theme.variables.weight.bold,fontSize:theme.variables.size.font.s,lineHeight:theme.variables.size.lineHeight.xs,borderBottom:"4px solid transparent",paddingTop:hideBottomBorder?theme.variables.size.spacing.m:`calc(${theme.variables.size.spacing.m} - 1px)`,paddingBottom:`calc(${theme.variables.size.spacing.m} - 4px)`,...active&&!disabled&&{color:theme.values.color.text.accent.default,borderBottomColor:theme.values.color.border.accent.default},...!active&&!disabled&&{cursor:"pointer","&:hover":{color:theme.values.color.text.primary.default,borderBottomColor:theme.values.color.border.secondary.default},"&:active":{color:theme.values.color.text.primary.default,borderBottomColor:theme.values.color.border.secondary.active}},...activeTabClickable&&{cursor:"pointer"},...disabled&&{opacity:theme.variables.opacity.disabled,cursor:"not-allowed"},"&:focus-visible":{outlineWidth:2,outlineOffset:-1}})),addSubtitle=text=>text?`(${text})`:"";export function Tabs({tabs,horizontalPadding,activeTab=0,children,onTabSelect,activeTabClickable,tabPanelId:tabPanelIdProp,"data-e2e-test-id":dataE2eTestId,hideBottomBorder,...ariaAttributes}){let tablistRef=useRef(null),instanceId=useId(),tabPanelId=tabPanelIdProp||`${instanceId}-panel`,{onBlur,onTabFocus,getTabIndex,focusNextTab}=useTabFocus({tabs,activeTab,tablistRef,tabAttribute:"data-tab-index"});useKeyboard({ArrowRight:()=>focusNextTab(1),ArrowLeft:()=>focusNextTab(-1)},tablistRef,!0);let getTabId=index=>`${instanceId}-tab-${index}`;return React.createElement(Stack,{"data-e2e-test-id":dataE2eTestId,"data-ds-id":"Tabs"},React.createElement(StyledContainer,{...ariaAttributes,hideBottomBorder:hideBottomBorder,horizontalPadding:horizontalPadding,onBlur:onBlur,ref:tablistRef,"aria-orientation":"horizontal",role:"tablist"},tabs.map(({label,sublabel,icon,as="button",disabled,tooltipContent,...rest},i)=>{let iconConfig;icon&&(iconConfig="string"==typeof icon?{name:icon,position:"left"}:icon);let Tab=React.createElement(StyledTab,{id:getTabId(i),activeTabClickable:activeTabClickable,hideBottomBorder:hideBottomBorder,disabled:disabled,as:as,key:label,active:activeTab===i,...rest,onFocus:e=>{onTabFocus(i),rest.onFocus?.(e)},onClick:e=>{disabled||(onTabSelect?.(i),rest.onClick?.(e))},tabIndex:getTabIndex(i),"data-tab-index":i,type:"button"!==as?void 0:"button",role:"tab","aria-selected":activeTab===i,"aria-disabled":disabled||void 0,"aria-controls":children?tabPanelId:void 0},iconConfig&&"left"===iconConfig.position&&React.createElement(Icon,{size:"s",name:iconConfig.name}),label," ",addSubtitle(sublabel),iconConfig&&"right"===iconConfig.position&&React.createElement(Icon,{size:"s",name:iconConfig.name}));return disabled&&tooltipContent?React.createElement(Tooltip,{key:label,content:tooltipContent},Tab):Tab})),children&&null!=activeTab&&React.createElement("div",{role:"tabpanel",id:tabPanelId,"aria-labelledby":getTabId(activeTab)},children))}
@@ -1 +1 @@
1
- import React,{useState,useRef}from"react";import styled from"@emotion/styled";import{keyframes}from"@emotion/react";import{Tag}from"../Tag/Tag";import{MAX_TAG_WIDTH}from"../Internal/BaseTag/BaseTag";let shrink=currentWidth=>keyframes({from:{width:`${currentWidth}px`},to:{width:"0px"}},"label:shrink"),StyledContainer=styled("div",{target:"e7a71ut0",label:"StyledContainer"})(({theme})=>({display:"flex",flexWrap:"wrap",gap:theme.variables.size.spacing.xs})),StyledTagContainer=styled("div",{target:"e7a71ut1",label:"StyledTagContainer"})(({theme,toBeRemoved,tagWidth})=>({overflow:"hidden",...toBeRemoved&&{opacity:theme.variables.opacity.hidden,marginLeft:`-${theme.variables.size.spacing.xs}`,animation:`0.2s ease-out 0s normal forwards ${shrink(tagWidth)}`}}));export function TagGroup({colorVariant="gray",isTagRemovable=!1,tags,onRemoveTag,"data-e2e-test-id":dataE2eTestId}){let[tagToBeRemoved,setTagToBeRemoved]=useState(null),containerRef=useRef(null),handleTagRemove=(tag,index)=>{let width=MAX_TAG_WIDTH;containerRef.current&&(width=containerRef.current.children[index].clientWidth),setTagToBeRemoved({tag,tagWidth:width})},handleAnimationEnd=()=>{onRemoveTag&&tagToBeRemoved&&onRemoveTag(tagToBeRemoved.tag)},tagElms=tags.map((tag,index)=>{let{label,clearBtnAriaLabel}=tag;if(isTagRemovable){let isToBeRemovedTag=tagToBeRemoved&&tagToBeRemoved.tag.label===label;return React.createElement(StyledTagContainer,{key:label,toBeRemoved:isToBeRemovedTag,onAnimationEnd:handleAnimationEnd,tagWidth:isToBeRemovedTag&&tagToBeRemoved?.tagWidth},React.createElement(Tag,{label:label,colorVariant:colorVariant,clearBtnAriaLabel:clearBtnAriaLabel,onClear:()=>handleTagRemove(tag,index),isRemovable:!0}))}return React.createElement(Tag,{key:label,label:label,colorVariant:colorVariant})});return React.createElement(StyledContainer,{"data-e2e-test-id":dataE2eTestId,"data-ds-id":"TagGroup",ref:containerRef},tagElms)}
1
+ import React,{useState,useRef}from"react";import styled from"@emotion/styled";import{keyframes}from"@emotion/react";import{Tag}from"../Tag/Tag";import{MAX_TAG_WIDTH}from"../Internal/BaseTag/BaseTag";let shrink=currentWidth=>keyframes({from:{width:`${currentWidth}px`},to:{width:"0px"}},"label:shrink"),StyledContainer=styled("div",{target:"e1q0hgtq0",label:"StyledContainer"})(({theme})=>({display:"flex",flexWrap:"wrap",gap:theme.variables.size.spacing.xs})),StyledTagContainer=styled("div",{target:"e1q0hgtq1",label:"StyledTagContainer"})(({theme,toBeRemoved,tagWidth})=>({overflow:"hidden",...toBeRemoved&&{opacity:theme.variables.opacity.hidden,marginLeft:`-${theme.variables.size.spacing.xs}`,animation:`0.2s ease-out 0s normal forwards ${shrink(tagWidth)}`}}));export function TagGroup({colorVariant="gray",isTagRemovable=!1,tags,onRemoveTag,"data-e2e-test-id":dataE2eTestId}){let[tagToBeRemoved,setTagToBeRemoved]=useState(null),containerRef=useRef(null),handleTagRemove=(tag,index)=>{let width=MAX_TAG_WIDTH;containerRef.current&&(width=containerRef.current.children[index].clientWidth),setTagToBeRemoved({tag,tagWidth:width})},handleAnimationEnd=()=>{onRemoveTag&&tagToBeRemoved&&onRemoveTag(tagToBeRemoved.tag)},tagElms=tags.map((tag,index)=>{let{label,clearBtnAriaLabel}=tag;if(isTagRemovable){let isToBeRemovedTag=tagToBeRemoved?.tag.label===label;return React.createElement(StyledTagContainer,{key:label,toBeRemoved:isToBeRemovedTag,onAnimationEnd:handleAnimationEnd,tagWidth:tagToBeRemoved?.tagWidth??MAX_TAG_WIDTH},React.createElement(Tag,{label:label,colorVariant:colorVariant,clearBtnAriaLabel:clearBtnAriaLabel,onClear:()=>handleTagRemove(tag,index),isRemovable:!0}))}return React.createElement(Tag,{key:label,label:label,colorVariant:colorVariant})});return React.createElement(StyledContainer,{"data-e2e-test-id":dataE2eTestId,"data-ds-id":"TagGroup",ref:containerRef},tagElms)}
@@ -11,10 +11,11 @@ export type ToastProps<C extends React.ElementType = "button"> = {
11
11
  isVisible: boolean;
12
12
  message: string | ReactElement;
13
13
  autoDismissDuration?: "none" | "s" | "m" | "l";
14
+ /** Accessible name for the close button. */
14
15
  closeButtonAriaLabel?: string;
15
16
  actionButton?: PolymorphicComponentPropsWithRef<C, ButtonProps>;
16
17
  onDismiss: (reason: DismissReason) => void;
17
18
  "data-e2e-test-id"?: string;
18
19
  } & Pick<PortalProps, "portalContainer"> & AriaAttributes;
19
- export declare function Toast<C extends React.ElementType = "button">({ type, iconName, isVisible, message, portalContainer, actionButton, autoDismissDuration, closeButtonAriaLabel, onDismiss, "data-e2e-test-id": dataE2eTestId, ...ariaAttributes }: ToastProps<C>): React.ReactElement;
20
+ export declare function Toast<C extends React.ElementType = "button">({ type, iconName, isVisible, message, portalContainer, actionButton, autoDismissDuration, closeButtonAriaLabel, onDismiss, "data-e2e-test-id": dataE2eTestId, ...ariaAttributes }: ToastProps<C>): React.ReactElement | null;
20
21
  export {};
@@ -1 +1 @@
1
- import React,{useState,useEffect,useCallback,useContext,useRef,useId}from"react";import{keyframes}from"@emotion/react";import styled from"@emotion/styled";import{Text}from"../Typography/Text/Text";import{Box}from"../Box/Box";import{PictogramButton}from"../PictogramButton/PictogramButton";import{SubThemeProvider}from"../SubThemeProvider/SubThemeProvider";import{Portal,usePortalChildZIndex}from"../Portal/Portal";import{Container}from"../Container/Container";import{Button}from"../Button/Button";import{Inline}from"../Inline/Inline";import{ToastContext}from"./ToastProvider";import{Icon}from"../Icon/Icon";import{useResponsiveValue}from"../../shared/mediaQueries";let StyledContainer=styled("aside",{target:"eht99970",label:"StyledContainer"})(({theme,isShowing,isHiding})=>{let entryAnimation=keyframes({from:{transform:`translate(-50%, ${theme.variables.animation.toast.entry.distanceY})`,opacity:theme.variables.opacity.hidden},to:{transform:"translate(-50%, 0px)",opacity:theme.variables.opacity.visible}}),exitAnimation=keyframes({from:{transform:"translate(-50%, 0px)",opacity:theme.variables.opacity.visible},to:{transform:`translate(-50%, ${theme.variables.animation.toast.exit.distanceY})`,opacity:theme.variables.opacity.hidden}}),animation="none";return isShowing?animation=`${theme.variables.animation.toast.entry.duration} ease forwards ${entryAnimation}`:isHiding&&(animation=`${theme.variables.animation.toast.exit.duration} ease forwards ${exitAnimation}`),{position:"fixed",opacity:"none"===animation?theme.variables.opacity.visible:theme.variables.opacity.hidden,left:"50%",transform:"translateX(-50%)",animation,zIndex:usePortalChildZIndex(theme.variables.zIndex.tooltip),...useResponsiveValue({maxWidth:[void 0,520],minWidth:[void 0,280],width:[`calc(100% - (2 * ${theme.variables.size.spacing.m}))`,"auto"],bottom:[theme.variables.size.spacing.m,theme.variables.size.spacing.l]})}}),StyledIconContainer=styled("div",{target:"eht99971",label:"StyledIconContainer"})(()=>useResponsiveValue({display:["none","block"]})),DEFAULT_ICONS_BY_TYPE={info:"info",success:"check",error:"alert-triangle",neutral:"info"},TYPE_TO_SUB_THEME_NAMES={info:"info",success:"success",error:"error",neutral:"dimmed"},AUTO_DISMISS_DURATION={none:0,s:5e3,m:1e4,l:15e3};export function Toast({type="info",iconName=DEFAULT_ICONS_BY_TYPE[type],isVisible,message,portalContainer,actionButton,autoDismissDuration=actionButton?"m":"s",closeButtonAriaLabel,onDismiss,"data-e2e-test-id":dataE2eTestId,...ariaAttributes}){let[isShowing,setIsShowing]=useState(!1),[isHiding,setIsHiding]=useState(!1),[isToastVisible,setIsToastVisible]=useState(!1),toastContext=useContext(ToastContext),timeoutId=useRef(null),id=useId(),autoDismissDurationMs=AUTO_DISMISS_DURATION[autoDismissDuration],showToast=useCallback(()=>{!isToastVisible&&(setIsShowing(!0),autoDismissDurationMs&&(timeoutId.current=setTimeout(()=>onDismiss("timeout"),autoDismissDurationMs)))},[isToastVisible,autoDismissDurationMs,onDismiss]),hideToast=useCallback(()=>{isToastVisible&&setIsHiding(!0)},[isToastVisible]);if(useEffect(()=>()=>{clearTimeout(timeoutId.current)},[]),useEffect(()=>{isVisible?showToast():(clearTimeout(timeoutId.current),hideToast())},[isVisible,showToast,hideToast]),useEffect(()=>{isToastVisible&&toastContext&&toastContext.lastToastId&&toastContext.lastToastId!==id&&onDismiss("replaced")},[isToastVisible,toastContext,id,onDismiss]),!(isToastVisible||isShowing||isHiding))return null;let actionButtonElm=actionButton?React.createElement(Button,{...actionButton,variant:"secondary",size:"s","aria-hidden":"true"}):null;return React.createElement(Portal,{portalContainer:portalContainer},React.createElement(StyledContainer,{"data-e2e-test-id":dataE2eTestId,"data-ds-id":"Toast",...ariaAttributes,role:"alert",isShowing:isShowing,isHiding:isHiding,onAnimationEnd:()=>{isShowing&&(setIsShowing(!1),setIsToastVisible(!0),toastContext&&toastContext.setLastToastId(id)),isHiding&&(setIsHiding(!1),setIsToastVisible(!1))},onKeyDown:evt=>{"Escape"===evt.key&&onDismiss("close")}},React.createElement(SubThemeProvider,{name:TYPE_TO_SUB_THEME_NAMES[type]},React.createElement(Container,{elevation:3,borderRadius:"s"},React.createElement(Box,{space:"m",vSpace:"s",rSpace:"s"},React.createElement(Inline,{space:"m",alignItems:"spaceBetween",vAlignItems:"top",noWrap:!0},React.createElement(Box,{space:"zero",vSpace:"xxs"},React.createElement(Inline,{space:"s",vAlignItems:"top",noWrap:!0},iconName&&React.createElement(StyledIconContainer,null,React.createElement(Text,{as:"span"},React.createElement(Icon,{name:iconName,"data-e2e-test-id":iconName}))),React.createElement(Text,null,message))),React.createElement(Inline,{space:"xs",vAlignItems:"center",noWrap:!0},actionButtonElm,React.createElement(PictogramButton,{"data-e2e-test-id":"close-button","aria-label":closeButtonAriaLabel,variant:"quaternary",icon:"x",size:"s",onClick:()=>onDismiss("close")}))))))))}
1
+ import React,{useState,useEffect,useCallback,useContext,useRef,useId}from"react";import{keyframes}from"@emotion/react";import styled from"@emotion/styled";import{Text}from"../Typography/Text/Text";import{Box}from"../Box/Box";import{PictogramButton}from"../PictogramButton/PictogramButton";import{SubThemeProvider}from"../SubThemeProvider/SubThemeProvider";import{Portal,usePortalChildZIndex}from"../Portal/Portal";import{Container}from"../Container/Container";import{Button}from"../Button/Button";import{Inline}from"../Inline/Inline";import{ToastContext}from"./ToastProvider";import{Icon}from"../Icon/Icon";import{useResponsiveValue}from"../../shared/mediaQueries";let StyledContainer=styled("aside",{target:"e2cd6ok0",label:"StyledContainer"})(({theme,isShowing,isHiding})=>{let entryAnimation=keyframes({from:{transform:`translate(-50%, ${theme.variables.animation.toast.entry.distanceY})`,opacity:theme.variables.opacity.hidden},to:{transform:"translate(-50%, 0px)",opacity:theme.variables.opacity.visible}}),exitAnimation=keyframes({from:{transform:"translate(-50%, 0px)",opacity:theme.variables.opacity.visible},to:{transform:`translate(-50%, ${theme.variables.animation.toast.exit.distanceY})`,opacity:theme.variables.opacity.hidden}}),animation="none";return isShowing?animation=`${theme.variables.animation.toast.entry.duration} ease forwards ${entryAnimation}`:isHiding&&(animation=`${theme.variables.animation.toast.exit.duration} ease forwards ${exitAnimation}`),{position:"fixed",opacity:"none"===animation?theme.variables.opacity.visible:theme.variables.opacity.hidden,left:"50%",transform:"translateX(-50%)",animation,zIndex:usePortalChildZIndex(theme.variables.zIndex.tooltip),...useResponsiveValue({maxWidth:["none",520],minWidth:[0,280],width:[`calc(100% - (2 * ${theme.variables.size.spacing.m}))`,"auto"],bottom:[theme.variables.size.spacing.m,theme.variables.size.spacing.l]})}}),StyledIconContainer=styled("div",{target:"e2cd6ok1",label:"StyledIconContainer"})(()=>useResponsiveValue({display:["none","block"]})),DEFAULT_ICONS_BY_TYPE={info:"info",success:"check",error:"alert-triangle",neutral:"info"},TYPE_TO_SUB_THEME_NAMES={info:"info",success:"success",error:"error",neutral:"dimmed"},AUTO_DISMISS_DURATION={none:0,s:5e3,m:1e4,l:15e3};export function Toast({type="info",iconName=DEFAULT_ICONS_BY_TYPE[type],isVisible,message,portalContainer,actionButton,autoDismissDuration=actionButton?"m":"s",closeButtonAriaLabel="Dismiss notification",onDismiss,"data-e2e-test-id":dataE2eTestId,...ariaAttributes}){let[isShowing,setIsShowing]=useState(!1),[isHiding,setIsHiding]=useState(!1),[isToastVisible,setIsToastVisible]=useState(!1),toastContext=useContext(ToastContext),timeoutId=useRef(null),id=useId(),autoDismissDurationMs=AUTO_DISMISS_DURATION[autoDismissDuration],showToast=useCallback(()=>{!isToastVisible&&(setIsShowing(!0),autoDismissDurationMs&&(timeoutId.current=setTimeout(()=>onDismiss("timeout"),autoDismissDurationMs)))},[isToastVisible,autoDismissDurationMs,onDismiss]),hideToast=useCallback(()=>{isToastVisible&&setIsHiding(!0)},[isToastVisible]);if(useEffect(()=>()=>{clearTimeout(timeoutId.current??void 0)},[]),useEffect(()=>{isVisible?showToast():(clearTimeout(timeoutId.current??void 0),hideToast())},[isVisible,showToast,hideToast]),useEffect(()=>{isToastVisible&&toastContext&&toastContext.lastToastId&&toastContext.lastToastId!==id&&onDismiss("replaced")},[isToastVisible,toastContext,id,onDismiss]),!(isToastVisible||isShowing||isHiding))return null;let actionButtonElm=actionButton?React.createElement(Button,{...actionButton,variant:"secondary",size:"s","aria-hidden":"true"}):null;return React.createElement(Portal,{portalContainer:portalContainer},React.createElement(StyledContainer,{"data-e2e-test-id":dataE2eTestId,"data-ds-id":"Toast",...ariaAttributes,role:"alert",isShowing:isShowing,isHiding:isHiding,onAnimationEnd:()=>{isShowing&&(setIsShowing(!1),setIsToastVisible(!0),toastContext&&toastContext.setLastToastId(id)),isHiding&&(setIsHiding(!1),setIsToastVisible(!1))},onKeyDown:evt=>{"Escape"===evt.key&&onDismiss("close")}},React.createElement(SubThemeProvider,{name:TYPE_TO_SUB_THEME_NAMES[type]},React.createElement(Container,{elevation:3,borderRadius:"s"},React.createElement(Box,{space:"m",vSpace:"s",rSpace:"s"},React.createElement(Inline,{space:"m",alignItems:"spaceBetween",vAlignItems:"top",noWrap:!0},React.createElement(Box,{space:"zero",vSpace:"xxs"},React.createElement(Inline,{space:"s",vAlignItems:"top",noWrap:!0},iconName&&React.createElement(StyledIconContainer,null,React.createElement(Text,{as:"span"},React.createElement(Icon,{name:iconName,"data-e2e-test-id":iconName}))),React.createElement(Text,null,message))),React.createElement(Inline,{space:"xs",vAlignItems:"center",noWrap:!0},actionButtonElm,React.createElement(PictogramButton,{"data-e2e-test-id":"close-button","aria-label":closeButtonAriaLabel,variant:"quaternary",icon:"x",size:"s",onClick:()=>onDismiss("close")}))))))))}
@@ -1,7 +1,9 @@
1
1
  import type { PropsWithChildren, ReactElement } from "react";
2
2
  import React from "react";
3
- export declare const ToastContext: React.Context<{
4
- lastToastId: string;
3
+ type ToastContextValue = {
4
+ lastToastId: string | null;
5
5
  setLastToastId: React.Dispatch<string>;
6
- }>;
6
+ } | null;
7
+ export declare const ToastContext: React.Context<ToastContextValue>;
7
8
  export declare function ToastProvider({ children }: PropsWithChildren): ReactElement;
9
+ export {};
@@ -1 +1 @@
1
- import styled from"@emotion/styled";import React,{useCallback,useEffect,useMemo,useRef,useState}from"react";import{getAriaAttributes}from"../../shared/ariaAttributes";import{FocusTrapWrapper}from"../../shared/FocusTrapWrapper";import{useBreakpoints}from"../../shared/useBreakpoints";import{PopoverContext}from"../Patterns/Popover/PopoverContext";import{Sheet}from"../Sheet/Sheet";import{TooltipContent}from"../Tooltip/TooltipContent";let StyledContainer=styled("div",{target:"e39b55t0",label:"StyledContainer"})(()=>({borderRadius:"inherit"})),FocusTrapContent=React.forwardRef(({children},ref)=>React.createElement(StyledContainer,{ref:ref},children)),VisibilityChangeReason={triggerClick:"triggerClick",outsideClick:"outsideClick"};function getAriaPopupType(role){let popupType=String(role);return(role||(popupType="true"),"alertdialog"===role)?"dialog":popupType}export function BasePopover({placement="auto",content,children,contentPadding="m",maxWidth,externalTriggerRef,portalContainer,name="Popover",isVisible:isPopoverVisible,dismissOnOutsideClick=!0,retainOnOutsideClick,"data-e2e-test-id":dataE2eTestId,subTheme,defaultVerticalPlacement,onVisibilityChange,disableInitialFocus=!1,disableReturnFocusToTrigger=!1,renderAsSheetOnMobile=!1,forceSheetLayout=!1,role,sheetProps,...restContentProps}){let tooltipId=useMemo(()=>`DS${name}_${Math.floor(Date.now()*Math.random())}`,[name]),[isVisible,setVisible]=useState(isPopoverVisible),{isMobileInPortrait,isMobileInLandscape}=useBreakpoints(),internalTriggerRef=useRef(null),triggerRef=externalTriggerRef||internalTriggerRef,isOutsideClickOnTrigger=useRef(!1),ariaAttributes=getAriaAttributes(restContentProps),popoverContextValue=useMemo(()=>({isWithinPopover:!0,portalContainer}),[portalContainer]),contentWithProvider=React.createElement(PopoverContext.Provider,{value:popoverContextValue},content),toggleVisibility=useCallback((status,reason)=>{setVisible(status),onVisibilityChange&&onVisibilityChange(status,reason)},[onVisibilityChange]),handleTriggerClick=useCallback(()=>{isOutsideClickOnTrigger.current?isOutsideClickOnTrigger.current=!1:toggleVisibility(!isVisible,VisibilityChangeReason.triggerClick)},[toggleVisibility,isVisible]),handleClickOutsideDeactivates=useCallback(evt=>!retainOnOutsideClick?.(evt)&&(triggerRef.current&&triggerRef.current.contains(evt.target)&&(isOutsideClickOnTrigger.current=!0),!0),[triggerRef,isOutsideClickOnTrigger,retainOnOutsideClick]),handlePostDeactivate=useCallback(()=>{toggleVisibility(!1,isOutsideClickOnTrigger.current?VisibilityChangeReason.triggerClick:VisibilityChangeReason.outsideClick)},[toggleVisibility]);useEffect(()=>{setVisible(isPopoverVisible)},[isPopoverVisible]),useEffect(()=>{let trigger=triggerRef.current;if(trigger)return trigger.addEventListener("click",handleTriggerClick),()=>{trigger.removeEventListener("click",handleTriggerClick)}},[handleTriggerClick,triggerRef]),useEffect(()=>{if(externalTriggerRef?.current&&!children){let trigger=externalTriggerRef.current,triggerTabIndex=trigger.getAttribute("tabindex");trigger.setAttribute("tabindex",triggerTabIndex??"0")}},[externalTriggerRef,children]),useEffect(()=>{if(externalTriggerRef?.current&&!children){let trigger=externalTriggerRef.current;trigger.setAttribute("aria-haspopup",getAriaPopupType(role)),trigger.setAttribute("aria-expanded",String(!!isVisible)),isVisible?trigger.setAttribute("aria-controls",tooltipId):trigger.removeAttribute("aria-controls")}},[externalTriggerRef,children,role,tooltipId,isVisible]);let triggerElm=children?React.cloneElement(children,{ref:triggerRef,"aria-expanded":!!isVisible,...isVisible&&{"aria-controls":tooltipId},tabIndex:children.props.tabIndex??0,"aria-haspopup":getAriaPopupType(role)}):null;if(forceSheetLayout||renderAsSheetOnMobile&&(isMobileInPortrait||isMobileInLandscape)){let sheetElm=React.createElement(Sheet,{id:tooltipId,isVisible:isVisible,portalContainer:portalContainer,dismissOnOutsideClick:dismissOnOutsideClick,disableInitialFocus:disableInitialFocus,disableReturnFocusToTrigger:disableReturnFocusToTrigger,onClose:handlePostDeactivate,onClickOutsideDeactivates:handleClickOutsideDeactivates,role:role,...sheetProps??{},...ariaAttributes},contentWithProvider);return React.createElement(React.Fragment,null,triggerElm,sheetElm)}let contentElm=React.createElement(FocusTrapWrapper,{active:isVisible,focusTrapOptions:{clickOutsideDeactivates:dismissOnOutsideClick&&handleClickOutsideDeactivates,allowOutsideClick:!0,escapeDeactivates:!0,fallbackFocus:`#${tooltipId}`,onPostDeactivate:handlePostDeactivate,preventScroll:!0,initialFocus:()=>!disableInitialFocus,returnFocusOnDeactivate:!disableReturnFocusToTrigger}},React.createElement(FocusTrapContent,null,contentWithProvider)),tooltipElm=React.createElement(TooltipContent,{...restContentProps,role:role,defaultVerticalPlacement:defaultVerticalPlacement,dataDSId:name,content:contentElm,contentPadding:contentPadding,maxWidth:maxWidth,placement:placement,portalContainer:portalContainer,dataE2eTestId:dataE2eTestId,subTheme:subTheme,isVisible:isVisible,tooltipId:tooltipId,triggerRef:triggerRef,isHiddenOnInvisibleTrigger:!0});return React.createElement(React.Fragment,null,triggerElm,tooltipElm)}
1
+ import styled from"@emotion/styled";import React,{useCallback,useEffect,useMemo,useRef,useState}from"react";import{getAriaAttributes}from"../../shared/ariaAttributes";import{FocusTrapWrapper}from"../../shared/FocusTrapWrapper";import{useBreakpoints}from"../../shared/useBreakpoints";import{PopoverContext}from"../Patterns/Popover/PopoverContext";import{Sheet}from"../Sheet/Sheet";import{TooltipContent}from"../Tooltip/TooltipContent";let StyledContainer=styled("div",{target:"e1bmyswc0",label:"StyledContainer"})(()=>({borderRadius:"inherit"})),FocusTrapContent=React.forwardRef(({children},ref)=>React.createElement(StyledContainer,{ref:ref},children)),VisibilityChangeReason={triggerClick:"triggerClick",outsideClick:"outsideClick"};function getAriaPopupType(role){let popupType=String(role);return(role||(popupType="true"),"alertdialog"===role)?"dialog":popupType}export function BasePopover({placement="auto",content,children,contentPadding="m",maxWidth,externalTriggerRef,portalContainer,name="Popover",isVisible:isPopoverVisible,dismissOnOutsideClick=!0,retainOnOutsideClick,"data-e2e-test-id":dataE2eTestId,subTheme,defaultVerticalPlacement,onVisibilityChange,disableInitialFocus=!1,disableReturnFocusToTrigger=!1,renderAsSheetOnMobile=!1,forceSheetLayout=!1,role,sheetProps,...restContentProps}){let tooltipId=useMemo(()=>`DS${name}_${Math.floor(Date.now()*Math.random())}`,[name]),[isVisible,setVisible]=useState(isPopoverVisible),{isMobileInPortrait,isMobileInLandscape}=useBreakpoints(),internalTriggerRef=useRef(null),triggerRef=externalTriggerRef||internalTriggerRef,isOutsideClickOnTrigger=useRef(!1),ariaAttributes=getAriaAttributes(restContentProps),popoverContextValue=useMemo(()=>({isWithinPopover:!0,portalContainer}),[portalContainer]),contentWithProvider=React.createElement(PopoverContext.Provider,{value:popoverContextValue},content),toggleVisibility=useCallback((status,reason)=>{setVisible(status),onVisibilityChange&&onVisibilityChange(status,reason)},[onVisibilityChange]),handleTriggerClick=useCallback(()=>{isOutsideClickOnTrigger.current?isOutsideClickOnTrigger.current=!1:toggleVisibility(!isVisible,VisibilityChangeReason.triggerClick)},[toggleVisibility,isVisible]),handleClickOutsideDeactivates=useCallback(evt=>!retainOnOutsideClick?.(evt)&&(triggerRef.current&&triggerRef.current.contains(evt.target)&&(isOutsideClickOnTrigger.current=!0),!0),[triggerRef,isOutsideClickOnTrigger,retainOnOutsideClick]),handlePostDeactivate=useCallback(()=>{toggleVisibility(!1,isOutsideClickOnTrigger.current?VisibilityChangeReason.triggerClick:VisibilityChangeReason.outsideClick)},[toggleVisibility]);useEffect(()=>{setVisible(isPopoverVisible)},[isPopoverVisible]),useEffect(()=>{let trigger=triggerRef.current;if(trigger)return trigger.addEventListener("click",handleTriggerClick),()=>{trigger.removeEventListener("click",handleTriggerClick)}},[handleTriggerClick,triggerRef]),useEffect(()=>{if(externalTriggerRef?.current&&!children){let trigger=externalTriggerRef.current,triggerTabIndex=trigger.getAttribute("tabindex");trigger.setAttribute("tabindex",triggerTabIndex??"0")}},[externalTriggerRef,children]),useEffect(()=>{if(externalTriggerRef?.current&&!children){let trigger=externalTriggerRef.current;trigger.setAttribute("aria-haspopup",getAriaPopupType(role)),trigger.setAttribute("aria-expanded",String(!!isVisible)),isVisible?trigger.setAttribute("aria-controls",tooltipId):trigger.removeAttribute("aria-controls")}},[externalTriggerRef,children,role,tooltipId,isVisible]);let triggerElm=children?React.cloneElement(children,{ref:triggerRef,"aria-expanded":!!isVisible,...isVisible&&{"aria-controls":tooltipId},tabIndex:children.props.tabIndex??0,"aria-haspopup":getAriaPopupType(role)}):null;if(forceSheetLayout||renderAsSheetOnMobile&&(isMobileInPortrait||isMobileInLandscape)){let sheetElm=React.createElement(Sheet,{id:tooltipId,isVisible:!!isVisible,portalContainer:portalContainer??void 0,dismissOnOutsideClick:dismissOnOutsideClick,disableInitialFocus:disableInitialFocus,disableReturnFocusToTrigger:disableReturnFocusToTrigger,onClose:handlePostDeactivate,onClickOutsideDeactivates:handleClickOutsideDeactivates,role:role,...sheetProps??{},...ariaAttributes},contentWithProvider);return React.createElement(React.Fragment,null,triggerElm,sheetElm)}let contentElm=React.createElement(FocusTrapWrapper,{active:isVisible,focusTrapOptions:{clickOutsideDeactivates:dismissOnOutsideClick&&handleClickOutsideDeactivates,allowOutsideClick:!0,escapeDeactivates:!0,fallbackFocus:`#${tooltipId}`,onPostDeactivate:handlePostDeactivate,preventScroll:!0,initialFocus:()=>!disableInitialFocus,returnFocusOnDeactivate:!disableReturnFocusToTrigger}},React.createElement(FocusTrapContent,null,contentWithProvider)),tooltipElm=React.createElement(TooltipContent,{...restContentProps,role:role,defaultVerticalPlacement:defaultVerticalPlacement,dataDSId:name,content:contentElm,contentPadding:contentPadding,maxWidth:maxWidth,placement:placement,portalContainer:portalContainer,dataE2eTestId:dataE2eTestId,subTheme:subTheme,isVisible:isVisible,tooltipId:tooltipId,triggerRef:triggerRef,isHiddenOnInvisibleTrigger:!0});return React.createElement(React.Fragment,null,triggerElm,tooltipElm)}
@@ -52,4 +52,4 @@ export type TooltipContentProps = {
52
52
  privateProps?: TooltipPrivateProps;
53
53
  } & Pick<PortalProps, "portalContainer"> & AriaAttributes;
54
54
  /** This component is used to display the overlay for both Toggletip and Tooltip components */
55
- export declare function TooltipContent({ placement, content, tooltipId, triggerRef, portalContainer, dataE2eTestId, dataDSId, isVisible, "aria-hidden": ariaHidden, role, tabIndex, contentPadding, maxWidth, subTheme, defaultVerticalPlacement, hideArrow, isHiddenOnInvisibleTrigger, onTooltipPointerEnter, onTooltipPointerLeave, onOverflowViewport, privateProps, ...ariaAttributes }: TooltipContentProps): React.ReactElement;
55
+ export declare function TooltipContent({ placement, content, tooltipId, triggerRef, portalContainer, dataE2eTestId, dataDSId, isVisible, "aria-hidden": ariaHidden, role, tabIndex, contentPadding, maxWidth, subTheme, defaultVerticalPlacement, hideArrow, isHiddenOnInvisibleTrigger, onTooltipPointerEnter, onTooltipPointerLeave, onOverflowViewport, privateProps, ...ariaAttributes }: TooltipContentProps): React.ReactElement | null;
@@ -1 +1 @@
1
- import{keyframes}from"@emotion/react";import styled from"@emotion/styled";import React,{useCallback,useEffect,useMemo,useRef,useState}from"react";import{Portal,usePortalChildZIndex}from"../Portal/Portal";import{SubThemeProvider}from"../SubThemeProvider/SubThemeProvider";import{useFloatingPosition}from"../Utilities/FloatingPosition/useFloatingPosition";import{FloatingPositionedContext}from"./FloatingPositionedContext";import{ANIMATION_DISTANCE,ARROW_SIZE,ARROW_SIZE_BIG,createOverflowViewportReporter,DISTANCE_FROM_TRIGGER,getPlacementSide,getTooltipOffsetOptions,SIDE_PLACEMENT_SIDE,sidePlacementOffset,toFloatingAnchor,toFloatingPlacement}from"./utils";let StyledContainer=styled("div",{target:"e1l7l62c0",label:"StyledContainer"})(({theme,side,maxWidth,contentPadding,subTheme,isHidden,isSidePlacement})=>{let zIndex=usePortalChildZIndex(theme.variables.zIndex.tooltip),animationDistance="top"===side?`${-ANIMATION_DISTANCE}px`:`${ANIMATION_DISTANCE}px`,animation=keyframes({from:{opacity:theme.variables.opacity.hidden,...!isSidePlacement&&{transform:`translateY(${animationDistance})`}},to:{opacity:theme.variables.opacity.visible,...!isSidePlacement&&{transform:"translateY(0)"}}}),contentPaddingMap={s:theme.variables.size.spacing.xxs,m:theme.variables.size.spacing.s},invertedSubThemeStyles={padding:`${theme.variables.size.spacing.xs} ${theme.variables.size.spacing.s}`,...contentPadding&&{padding:contentPaddingMap[contentPadding]}};return{zIndex,opacity:theme.variables.opacity.hidden,animation:`200ms ease-out forwards ${animation}`,maxWidth,width:"max-content",boxSizing:"border-box",backgroundColor:subTheme?theme.values.color.background.primary.default:theme.values.color.background.elevated.default,borderRadius:subTheme?theme.variables.size.borderRadius.xs:theme.variables.size.borderRadius.s,...isHidden&&{visibility:"hidden"},...!!subTheme&&invertedSubThemeStyles,...!subTheme&&{":after":{content:'" "',position:"absolute",top:0,left:0,width:"100%",height:"100%",pointerEvents:"none",borderRadius:"inherit",boxShadow:theme.values.elevation[3]}}}}),StyledArrow=styled("div",{target:"e1l7l62c1",label:"StyledArrow"})(({theme,subTheme,side,size=ARROW_SIZE,arrowOffsetLeft})=>{let adjustmentForShadow=+!subTheme,arrowContainerHeight=size+DISTANCE_FROM_TRIGGER,arrowSideLength=Math.sqrt(size**2+(size+adjustmentForShadow)**2);return{position:"absolute",left:arrowOffsetLeft,width:40,height:arrowContainerHeight,zIndex:1,overflow:"hidden",..."top"===side&&{top:`calc(100% - ${adjustmentForShadow}px)`},..."bottom"===side&&{top:`-${arrowContainerHeight-adjustmentForShadow}px`},"&::after":{content:'" "',position:"absolute",top:"top"===side?0:"100%",left:"50%",width:arrowSideLength,height:arrowSideLength,backgroundColor:subTheme?theme.values.color.background.primary.default:theme.values.color.background.elevated.default,transform:"translate(-50%, -50%) rotate(45deg)",...!subTheme&&{boxShadow:theme.values.elevation[3]}}}}),lastTooltipHideTimestamp=0;export function TooltipContent({placement="auto",content,tooltipId,triggerRef,portalContainer,dataE2eTestId,dataDSId,isVisible,"aria-hidden":ariaHidden,role,tabIndex,contentPadding,maxWidth=224,subTheme,defaultVerticalPlacement,hideArrow=!1,isHiddenOnInvisibleTrigger=!1,onTooltipPointerEnter,onTooltipPointerLeave,onOverflowViewport,privateProps,...ariaAttributes}){let animationDuration,[isHidden,setIsHidden]=useState(!1),arrowRef=useRef(null),isOverflowCallbackCalledRef=useRef(!1),{placement:sidePlacement,offset:sideOffset=sidePlacementOffset,maxWidth:privateMaxWidth}=privateProps??{},arrowSize=useMemo(()=>hideArrow?0:subTheme?ARROW_SIZE:ARROW_SIZE_BIG,[subTheme,hideArrow]),handleViewportOverflow=useCallback((triggerRect,tooltipRect,viewportHeight)=>{isOverflowCallbackCalledRef.current||(onOverflowViewport?.(triggerRect,tooltipRect,viewportHeight),isOverflowCallbackCalledRef.current=!0)},[onOverflowViewport,isOverflowCallbackCalledRef]),overflowMiddleware=useMemo(()=>"auto"===placement?[createOverflowViewportReporter(handleViewportOverflow)]:void 0,[placement,handleViewportOverflow]),{placement:preferredPlacement,fallbackPlacements}=useMemo(()=>toFloatingPlacement({placement,defaultVerticalPlacement,sidePlacement}),[placement,defaultVerticalPlacement,sidePlacement]),offset=useMemo(()=>getTooltipOffsetOptions({arrowSize,sideOffset}),[arrowSize,sideOffset]),anchorRef=useRef(null),anchorSourceRef=useRef(null);anchorSourceRef.current!==triggerRef.current&&(anchorSourceRef.current=triggerRef.current,anchorRef.current=toFloatingAnchor(triggerRef.current));let{setFloating,floatingStyles,placement:resolvedPlacement,isPositioned,middlewareData}=useFloatingPosition({anchorRef,placement:preferredPlacement,offset,flip:{fallbackPlacements},arrowRef:hideArrow?void 0:arrowRef,disableTransform:!0,trackAnimationFrame:!0,isOpen:!!isVisible,extraMiddleware:overflowMiddleware});if(useEffect(()=>{isVisible||(lastTooltipHideTimestamp=Date.now())},[isVisible]),useEffect(()=>{isOverflowCallbackCalledRef.current=!1},[isVisible,isOverflowCallbackCalledRef]),useEffect(()=>{let observer;return isHiddenOnInvisibleTrigger&&triggerRef.current&&isVisible&&"undefined"!=typeof IntersectionObserver&&(observer=new IntersectionObserver(entries=>entries.forEach(entry=>{let rect=entry.boundingClientRect;(rect?.width!==0||rect?.height!==0)&&setIsHidden(!entry.isIntersecting)}),{root:null,threshold:.99})).observe(triggerRef.current),()=>{observer&&observer.disconnect()}},[triggerRef,isVisible,isHiddenOnInvisibleTrigger]),!isVisible)return null;let side=getPlacementSide(resolvedPlacement),isSidePlacement=side===SIDE_PLACEMENT_SIDE,tooltipElm=React.createElement(StyledContainer,{"data-e2e-test-id":dataE2eTestId,"data-ds-id":dataDSId,"data-placement":resolvedPlacement,style:{...floatingStyles,animationDuration:(animationDuration="200ms",lastTooltipHideTimestamp&&Date.now()-lastTooltipHideTimestamp<700&&(animationDuration="0ms"),animationDuration)},ref:setFloating,id:tooltipId,role:role,...ariaAttributes,"aria-hidden":ariaHidden,subTheme:subTheme,tabIndex:tabIndex,side:side,maxWidth:privateMaxWidth??maxWidth,contentPadding:contentPadding,isHidden:isHidden||!isPositioned,isSidePlacement:isSidePlacement,onPointerEnter:onTooltipPointerEnter,onPointerLeave:onTooltipPointerLeave},React.createElement(FloatingPositionedContext.Provider,{value:isPositioned},content),!hideArrow&&side!==SIDE_PLACEMENT_SIDE&&React.createElement(StyledArrow,{ref:arrowRef,"data-e2e-test-id":`${dataE2eTestId}_arrow`,subTheme:subTheme,side:side,size:arrowSize,arrowOffsetLeft:middlewareData.arrow?.x})),wrapperElm=subTheme?React.createElement(SubThemeProvider,{name:subTheme},tooltipElm):tooltipElm;return React.createElement(Portal,{portalContainer:portalContainer},wrapperElm)}
1
+ import{keyframes}from"@emotion/react";import styled from"@emotion/styled";import React,{useCallback,useEffect,useMemo,useRef,useState}from"react";import{Portal,usePortalChildZIndex}from"../Portal/Portal";import{SubThemeProvider}from"../SubThemeProvider/SubThemeProvider";import{useFloatingPosition}from"../Utilities/FloatingPosition/useFloatingPosition";import{FloatingPositionedContext}from"./FloatingPositionedContext";import{ANIMATION_DISTANCE,ARROW_SIZE,ARROW_SIZE_BIG,createOverflowViewportReporter,DISTANCE_FROM_TRIGGER,getPlacementSide,getTooltipOffsetOptions,SIDE_PLACEMENT_SIDE,sidePlacementOffset,toFloatingAnchor,toFloatingPlacement}from"./utils";let StyledContainer=styled("div",{target:"emzgnl30",label:"StyledContainer"})(({theme,side,maxWidth,contentPadding,subTheme,isHidden,isSidePlacement})=>{let zIndex=usePortalChildZIndex(theme.variables.zIndex.tooltip),animationDistance="top"===side?`${-ANIMATION_DISTANCE}px`:`${ANIMATION_DISTANCE}px`,animation=keyframes({from:{opacity:theme.variables.opacity.hidden,...!isSidePlacement&&{transform:`translateY(${animationDistance})`}},to:{opacity:theme.variables.opacity.visible,...!isSidePlacement&&{transform:"translateY(0)"}}}),contentPaddingMap={s:theme.variables.size.spacing.xxs,m:theme.variables.size.spacing.s},invertedSubThemeStyles={padding:`${theme.variables.size.spacing.xs} ${theme.variables.size.spacing.s}`,...contentPadding&&{padding:contentPaddingMap[contentPadding]}};return{zIndex,opacity:theme.variables.opacity.hidden,animation:`200ms ease-out forwards ${animation}`,maxWidth,width:"max-content",boxSizing:"border-box",backgroundColor:subTheme?theme.values.color.background.primary.default:theme.values.color.background.elevated.default,borderRadius:subTheme?theme.variables.size.borderRadius.xs:theme.variables.size.borderRadius.s,...isHidden&&{visibility:"hidden"},...!!subTheme&&invertedSubThemeStyles,...!subTheme&&{":after":{content:'" "',position:"absolute",top:0,left:0,width:"100%",height:"100%",pointerEvents:"none",borderRadius:"inherit",boxShadow:theme.values.elevation[3]}}}}),StyledArrow=styled("div",{target:"emzgnl31",label:"StyledArrow"})(({theme,subTheme,side,size=ARROW_SIZE,arrowOffsetLeft})=>{let adjustmentForShadow=+!subTheme,arrowContainerHeight=size+DISTANCE_FROM_TRIGGER,arrowSideLength=Math.sqrt(size**2+(size+adjustmentForShadow)**2);return{position:"absolute",left:arrowOffsetLeft,width:40,height:arrowContainerHeight,zIndex:1,overflow:"hidden",..."top"===side&&{top:`calc(100% - ${adjustmentForShadow}px)`},..."bottom"===side&&{top:`-${arrowContainerHeight-adjustmentForShadow}px`},"&::after":{content:'" "',position:"absolute",top:"top"===side?0:"100%",left:"50%",width:arrowSideLength,height:arrowSideLength,backgroundColor:subTheme?theme.values.color.background.primary.default:theme.values.color.background.elevated.default,transform:"translate(-50%, -50%) rotate(45deg)",...!subTheme&&{boxShadow:theme.values.elevation[3]}}}}),lastTooltipHideTimestamp=0;export function TooltipContent({placement="auto",content,tooltipId,triggerRef,portalContainer,dataE2eTestId,dataDSId,isVisible,"aria-hidden":ariaHidden,role,tabIndex,contentPadding,maxWidth=224,subTheme,defaultVerticalPlacement,hideArrow=!1,isHiddenOnInvisibleTrigger=!1,onTooltipPointerEnter,onTooltipPointerLeave,onOverflowViewport,privateProps,...ariaAttributes}){let animationDuration,[isHidden,setIsHidden]=useState(!1),arrowRef=useRef(null),isOverflowCallbackCalledRef=useRef(!1),{placement:sidePlacement,offset:sideOffset=sidePlacementOffset,maxWidth:privateMaxWidth}=privateProps??{},arrowSize=useMemo(()=>hideArrow?0:subTheme?ARROW_SIZE:ARROW_SIZE_BIG,[subTheme,hideArrow]),handleViewportOverflow=useCallback((triggerRect,tooltipRect,viewportHeight)=>{isOverflowCallbackCalledRef.current||(onOverflowViewport?.(triggerRect,tooltipRect,viewportHeight),isOverflowCallbackCalledRef.current=!0)},[onOverflowViewport,isOverflowCallbackCalledRef]),overflowMiddleware=useMemo(()=>"auto"===placement?[createOverflowViewportReporter(handleViewportOverflow)]:void 0,[placement,handleViewportOverflow]),{placement:preferredPlacement,fallbackPlacements}=useMemo(()=>toFloatingPlacement({placement,defaultVerticalPlacement,sidePlacement}),[placement,defaultVerticalPlacement,sidePlacement]),offset=useMemo(()=>getTooltipOffsetOptions({arrowSize,sideOffset}),[arrowSize,sideOffset]),anchorRef=useRef(null),anchorSourceRef=useRef(null);anchorSourceRef.current!==triggerRef.current&&(anchorSourceRef.current=triggerRef.current,anchorRef.current=toFloatingAnchor(triggerRef.current));let{setFloating,floatingStyles,placement:resolvedPlacement,isPositioned,middlewareData}=useFloatingPosition({anchorRef,placement:preferredPlacement,offset,flip:{fallbackPlacements},arrowRef:hideArrow?void 0:arrowRef,disableTransform:!0,trackAnimationFrame:!0,isOpen:!!isVisible,extraMiddleware:overflowMiddleware});if(useEffect(()=>{isVisible||(lastTooltipHideTimestamp=Date.now())},[isVisible]),useEffect(()=>{isOverflowCallbackCalledRef.current=!1},[isVisible,isOverflowCallbackCalledRef]),useEffect(()=>{let observer;return isHiddenOnInvisibleTrigger&&triggerRef.current&&isVisible&&"undefined"!=typeof IntersectionObserver&&(observer=new IntersectionObserver(entries=>entries.forEach(entry=>{let rect=entry.boundingClientRect;(rect?.width!==0||rect?.height!==0)&&setIsHidden(!entry.isIntersecting)}),{root:null,threshold:.99})).observe(triggerRef.current),()=>{observer&&observer.disconnect()}},[triggerRef,isVisible,isHiddenOnInvisibleTrigger]),!isVisible)return null;let side=getPlacementSide(resolvedPlacement),isSidePlacement=side===SIDE_PLACEMENT_SIDE,tooltipElm=React.createElement(StyledContainer,{"data-e2e-test-id":dataE2eTestId,"data-ds-id":dataDSId,"data-placement":resolvedPlacement,style:{...floatingStyles,animationDuration:(animationDuration="200ms",lastTooltipHideTimestamp&&Date.now()-lastTooltipHideTimestamp<700&&(animationDuration="0ms"),animationDuration)},ref:setFloating,id:tooltipId,role:role,...ariaAttributes,"aria-hidden":ariaHidden,subTheme:subTheme,tabIndex:tabIndex,side:side,maxWidth:privateMaxWidth??maxWidth,contentPadding:contentPadding,isHidden:isHidden||!isPositioned,isSidePlacement:isSidePlacement,onPointerEnter:onTooltipPointerEnter,onPointerLeave:onTooltipPointerLeave},React.createElement(FloatingPositionedContext.Provider,{value:isPositioned},content),!hideArrow&&side!==SIDE_PLACEMENT_SIDE&&React.createElement(StyledArrow,{ref:arrowRef,"data-e2e-test-id":`${dataE2eTestId}_arrow`,subTheme:subTheme,side:side,size:arrowSize,arrowOffsetLeft:middlewareData.arrow?.x})),wrapperElm=subTheme?React.createElement(SubThemeProvider,{name:subTheme},tooltipElm):tooltipElm;return React.createElement(Portal,{portalContainer:portalContainer},wrapperElm)}
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  export type FormattedElementProps = {
3
3
  key: string;
4
- children: string | React.ReactNode[];
4
+ children: string | React.ReactNode[] | null;
5
5
  };
6
6
  export declare const makeStyledJSX: (string: string) => React.ReactNode[] | string | null;
7
7
  export type StyledTextProps = {
@@ -1 +1 @@
1
- import React from"react";import styled from"@emotion/styled";import{Text}from"../Text/Text";let Italic=styled("i",{target:"e52exb50",label:"Italic"})({fontStyle:"italic"}),Bold=styled("b",{target:"e52exb51",label:"Bold"})({fontWeight:"bolder"}),Components={b:({key,children})=>React.createElement(Bold,{key:key},children),i:({key,children})=>React.createElement(Italic,{key:key},children),p:({key,children})=>React.createElement(Text,{key:key,as:"p",color:"primary"},children),small:({key,children})=>React.createElement(Text,{key:key,as:"span",color:"tertiary"},children),sup:({key,children})=>React.createElement("sup",{key:key},children),sub:({key,children})=>React.createElement("sub",{key:key},children)},getNodes=string=>{let closingTagStartIndex,closingTagEndIndex,elementNames=Object.keys(Components).join("|"),elementMatch=RegExp(`<(${elementNames})>.*</\\1>`).exec(string);if(!elementMatch)return null;let elementName=elementMatch[1],openingTagStartIndex=elementMatch.index,openingTagEndIndex=elementMatch.index+elementName.length+2,numberOpenTags=1,elementTagsRegex=RegExp(`(<${elementName}>)|(</${elementName}>)`,"g"),currentTagMatch=elementTagsRegex.exec(string);do if(currentTagMatch.index>openingTagStartIndex&&(currentTagMatch[1]?numberOpenTags+=1:currentTagMatch[2]&&(numberOpenTags-=1,closingTagEndIndex=(closingTagStartIndex=currentTagMatch.index)+currentTagMatch[2].length)),!(currentTagMatch=elementTagsRegex.exec(string)))break;while(numberOpenTags>0);return{elementName,prev:string.slice(0,openingTagStartIndex),node:string.slice(openingTagEndIndex,closingTagStartIndex),next:string.slice(closingTagEndIndex)}};export const makeStyledJSX=string=>{if(!string||string.length<1)return null;let nodes=getNodes(string);if(!nodes)return string;let{elementName,prev,node,next}=nodes;return[prev,Components[elementName]({key:node,children:makeStyledJSX(node)}),makeStyledJSX(next)].filter(i=>null!==i&&""!==i&&!(Array.isArray(i)&&!i.length))};export function StyledText({children,"data-e2e-test-id":dataE2eTestId}){return"string"!=typeof children?children:React.createElement("span",{"data-e2e-test-id":dataE2eTestId,"data-ds-id":"StyledText"},makeStyledJSX(children))}
1
+ import React from"react";import styled from"@emotion/styled";import{Text}from"../Text/Text";let Italic=styled("i",{target:"e839vll0",label:"Italic"})({fontStyle:"italic"}),Bold=styled("b",{target:"e839vll1",label:"Bold"})({fontWeight:"bolder"}),Components={b:({key,children})=>React.createElement(Bold,{key:key},children),i:({key,children})=>React.createElement(Italic,{key:key},children),p:({key,children})=>React.createElement(Text,{key:key,as:"p",color:"primary"},children),small:({key,children})=>React.createElement(Text,{key:key,as:"span",color:"tertiary"},children),sup:({key,children})=>React.createElement("sup",{key:key},children),sub:({key,children})=>React.createElement("sub",{key:key},children)},getNodes=string=>{let closingTagStartIndex,closingTagEndIndex,elementNames=Object.keys(Components).join("|"),elementMatch=RegExp(`<(${elementNames})>.*</\\1>`).exec(string);if(!elementMatch)return null;let elementName=elementMatch[1],openingTagStartIndex=elementMatch.index,openingTagEndIndex=elementMatch.index+elementName.length+2,numberOpenTags=1,elementTagsRegex=RegExp(`(<${elementName}>)|(</${elementName}>)`,"g"),currentTagMatch=elementTagsRegex.exec(string);for(;currentTagMatch&&(currentTagMatch.index>openingTagStartIndex&&(currentTagMatch[1]?numberOpenTags+=1:currentTagMatch[2]&&(numberOpenTags-=1,closingTagEndIndex=(closingTagStartIndex=currentTagMatch.index)+currentTagMatch[2].length)),currentTagMatch=elementTagsRegex.exec(string),!(numberOpenTags<=0)););return{elementName,prev:string.slice(0,openingTagStartIndex),node:string.slice(openingTagEndIndex,closingTagStartIndex),next:string.slice(closingTagEndIndex)}};export const makeStyledJSX=string=>{if(!string||string.length<1)return null;let nodes=getNodes(string);if(!nodes)return string;let{elementName,prev,node,next}=nodes;return[prev,Components[elementName]({key:node,children:makeStyledJSX(node)}),makeStyledJSX(next)].filter(i=>null!==i&&""!==i&&!(Array.isArray(i)&&!i.length))};export function StyledText({children,"data-e2e-test-id":dataE2eTestId}){return"string"!=typeof children?children:React.createElement("span",{"data-e2e-test-id":dataE2eTestId,"data-ds-id":"StyledText"},makeStyledJSX(children))}
@@ -19,7 +19,7 @@ export type BaseTextProps = {
19
19
  /** @ignore */
20
20
  "data-ds-id"?: string;
21
21
  };
22
- export declare const TextContext: React.Context<Pick<BaseTextProps, "color" | "size" | "weight">>;
22
+ export declare const TextContext: React.Context<Pick<BaseTextProps, "color" | "size" | "weight"> | null>;
23
23
  export declare const getTextLineHeight: ({ theme, size, }: {
24
24
  theme: Theme;
25
25
  size: TextSize;
@@ -1 +1 @@
1
- import React,{createContext,useMemo,forwardRef}from"react";import styled from"@emotion/styled";import isPropValid from"@emotion/is-prop-valid";import{useResponsiveStyles}from"../../../shared/mediaQueries";export const TextContext=createContext(null);export const getTextLineHeight=({theme,size})=>({xxs:theme.variables.size.lineHeight.m,xs:theme.variables.size.lineHeight.m,s:theme.variables.size.lineHeight.l,m:theme.variables.size.lineHeight.xl,l:theme.variables.size.lineHeight.xl})[size];export const getTextFontSize=({theme,size})=>theme.variables.size.font[size];let StyledText=styled("p",{shouldForwardProp:prop=>isPropValid(prop)&&"color"!==prop&&"transform"!==prop,target:"erh4t6l0",label:"StyledText"})(({theme,align,weight,size,transform,hyphens,overflowWrap,color,userSelect,variant})=>({fontFamily:theme.variables.fontFamily.lato,margin:0,textTransform:transform,textAlign:align,fontWeight:theme.variables.weight[weight],color:theme.values.color.text[color]?.default??theme.values.color.text.primary.default,...userSelect&&{userSelect},...variant&&{color:theme.values.color.text[variant].default,..."primary"===variant&&{color:theme.values.color.text.accent.default},..."secondary"===variant&&{color:theme.values.color.text.primary.default}},fontSize:getTextFontSize({theme,size}),lineHeight:getTextLineHeight({theme,size}),...useResponsiveStyles({hyphens:[hyphens,{none:"none",auto:"auto",manual:"manual"}]}),overflowWrap}));export const Text=forwardRef(({size="m",weight="normal",transform="none",as="p",color:colorProp="primary",align="left",hyphens="none",overflowWrap="normal",variant,userSelect,"data-e2e-test-id":dataE2eTestId,children,...rest},ref)=>{let color=colorProp;variant&&(color="primary"===variant?"accent":"secondary"===variant?"primary":variant);let contextValues=useMemo(()=>({color,size,weight}),[color,size,weight]);return React.createElement(StyledText,{ref:ref,variant:variant,size:size,weight:weight,transform:transform,as:as,color:color,align:align,hyphens:hyphens,overflowWrap:overflowWrap,userSelect:userSelect,"data-e2e-test-id":dataE2eTestId,"data-ds-id":"Text",...rest},React.createElement(TextContext.Provider,{value:contextValues},children))});
1
+ import React,{createContext,useMemo,forwardRef}from"react";import styled from"@emotion/styled";import isPropValid from"@emotion/is-prop-valid";import{useResponsiveStyles}from"../../../shared/mediaQueries";export const TextContext=createContext(null);export const getTextLineHeight=({theme,size})=>({xxs:theme.variables.size.lineHeight.m,xs:theme.variables.size.lineHeight.m,s:theme.variables.size.lineHeight.l,m:theme.variables.size.lineHeight.xl,l:theme.variables.size.lineHeight.xl})[size];export const getTextFontSize=({theme,size})=>theme.variables.size.font[size];let StyledText=styled("p",{shouldForwardProp:prop=>isPropValid(prop)&&"color"!==prop&&"transform"!==prop,target:"enx0zg50",label:"StyledText"})(({theme,align,weight="normal",size="m",transform,hyphens,overflowWrap,color="primary",userSelect,variant})=>({fontFamily:theme.variables.fontFamily.lato,margin:0,textTransform:transform,textAlign:align,fontWeight:theme.variables.weight[weight],color:theme.values.color.text[color]?.default??theme.values.color.text.primary.default,...userSelect&&{userSelect},...variant&&{color:theme.values.color.text[variant].default,..."primary"===variant&&{color:theme.values.color.text.accent.default},..."secondary"===variant&&{color:theme.values.color.text.primary.default}},fontSize:getTextFontSize({theme,size}),lineHeight:getTextLineHeight({theme,size}),...useResponsiveStyles({hyphens:[hyphens,{none:"none",auto:"auto",manual:"manual"}]}),overflowWrap}));export const Text=forwardRef(({size="m",weight="normal",transform="none",as="p",color:colorProp="primary",align="left",hyphens="none",overflowWrap="normal",variant,userSelect,"data-e2e-test-id":dataE2eTestId,children,...rest},ref)=>{let color=colorProp;variant&&(color="primary"===variant?"accent":"secondary"===variant?"primary":variant);let contextValues=useMemo(()=>({color,size,weight}),[color,size,weight]);return React.createElement(StyledText,{ref:ref,variant:variant,size:size,weight:weight,transform:transform,as:as,color:color,align:align,hyphens:hyphens,overflowWrap:overflowWrap,userSelect:userSelect,"data-e2e-test-id":dataE2eTestId,"data-ds-id":"Text",...rest},React.createElement(TextContext.Provider,{value:contextValues},children))});
@@ -1 +1 @@
1
- import React from"react";import{useTheme}from"@emotion/react";import styled from"@emotion/styled";import{Skeleton}from"../../Skeleton/Skeleton";import{getTextLineHeight}from"./Text";import{Stack}from"../../Stack/Stack";import{useResponsiveValue}from"../../../shared/mediaQueries";let StyledSkeletonContainer=styled("div",{target:"edovei40",label:"StyledSkeletonContainer"})(({height,width,inline})=>({display:"flex",alignItems:"center",...inline&&{display:"inline-block"},...useResponsiveValue({width,height})}));export function TextSkeleton({lines,size="m",width="100%",inline=!1,"data-e2e-test-id":dataE2eTestId}){let theme=useTheme(),containerHeight=`calc(${getTextLineHeight({theme,size})} * ${theme.variables.size.font[size]})`;return lines>1?React.createElement(Stack,{space:"zero",fullWidth:!0,"data-e2e-test-id":dataE2eTestId,"data-ds-id":"TextSkeleton"},Array(lines).fill("").map((_elm,index)=>{let lineWidth=index===lines-1?`calc(${width} * 0.75)`:width;return React.createElement(StyledSkeletonContainer,{key:index,height:containerHeight,width:lineWidth},React.createElement(Skeleton,{height:"60%",borderRadius:"xs"}))})):React.createElement(StyledSkeletonContainer,{height:containerHeight,width:width,inline:inline,"data-e2e-test-id":dataE2eTestId,"data-ds-id":"TextSkeleton"},React.createElement(Skeleton,{height:"60%",borderRadius:"xs"}))}
1
+ import React from"react";import{useTheme}from"@emotion/react";import styled from"@emotion/styled";import{Skeleton}from"../../Skeleton/Skeleton";import{getTextLineHeight}from"./Text";import{Stack}from"../../Stack/Stack";import{useResponsiveValue}from"../../../shared/mediaQueries";let StyledSkeletonContainer=styled("div",{target:"e1ipwacj0",label:"StyledSkeletonContainer"})(({height,width,inline})=>({display:"flex",alignItems:"center",...inline&&{display:"inline-block"},...useResponsiveValue({width,height})}));export function TextSkeleton({lines=1,size="m",width="100%",inline=!1,"data-e2e-test-id":dataE2eTestId}){let theme=useTheme(),containerHeight=`calc(${getTextLineHeight({theme,size})} * ${theme.variables.size.font[size]})`;return lines>1?React.createElement(Stack,{space:"zero",fullWidth:!0,"data-e2e-test-id":dataE2eTestId,"data-ds-id":"TextSkeleton"},Array(lines).fill("").map((_elm,index)=>{let lineWidth=index===lines-1?`calc(${width} * 0.75)`:width;return React.createElement(StyledSkeletonContainer,{key:index,height:containerHeight,width:lineWidth},React.createElement(Skeleton,{height:"60%",borderRadius:"xs"}))})):React.createElement(StyledSkeletonContainer,{height:containerHeight,width:width,inline:inline,"data-e2e-test-id":dataE2eTestId,"data-ds-id":"TextSkeleton"},React.createElement(Skeleton,{height:"60%",borderRadius:"xs"}))}
@@ -1 +1 @@
1
- import React,{forwardRef,useEffect,useRef}from"react";import styled from"@emotion/styled";import{ContentText}from"../../Content/ContentText/ContentText";let StyledContainer=styled("span",{target:"e8z318k0",label:"StyledContainer"})(({lines,expanded,breakAll})=>({display:"-webkit-box",WebkitBoxOrient:"vertical",overflow:"hidden",WebkitLineClamp:expanded?"unset":lines,...breakAll&&{wordBreak:"break-all"}}));export const TextClamped=forwardRef((props,ref)=>{let{lines=1,expanded,children,onExceedsLines,"data-e2e-test-id":dataE2eTestId,privateProps,...textProps}=props,containerRef=useRef(null),lastExceedsStateRef=useRef(null),onExceedsLinesRef=useRef(onExceedsLines);useEffect(()=>{onExceedsLinesRef.current=onExceedsLines});let hasCallback=!!onExceedsLines;return useEffect(()=>{let containerElement=containerRef.current;if(!containerElement||!hasCallback)return;let textLinesRange=document.createRange(),countRenderedLines=element=>(textLinesRange.selectNodeContents(element),textLinesRange.getClientRects().length),resizeObserver=new ResizeObserver(()=>{let currentExceeds=countRenderedLines(containerElement)>lines;currentExceeds!==lastExceedsStateRef.current&&(lastExceedsStateRef.current=currentExceeds,onExceedsLinesRef.current?.(currentExceeds))});return resizeObserver.observe(containerElement),()=>resizeObserver.disconnect()},[containerRef,hasCallback,lines,expanded,children]),React.createElement(ContentText,{ref:ref,"data-e2e-test-id":dataE2eTestId,"data-ds-id":"TextClamped",...textProps},React.createElement(StyledContainer,{ref:containerRef,lines:lines,expanded:expanded,breakAll:privateProps?.breakAll},children))});
1
+ import React,{forwardRef,useEffect,useRef}from"react";import styled from"@emotion/styled";import{ContentText}from"../../Content/ContentText/ContentText";let StyledContainer=styled("span",{target:"eyzubzy0",label:"StyledContainer"})(({lines,expanded,breakAll})=>({display:"-webkit-box",WebkitBoxOrient:"vertical",overflow:"hidden",WebkitLineClamp:expanded?"unset":lines,...breakAll&&{wordBreak:"break-all"}}));export const TextClamped=forwardRef((props,ref)=>{let{lines=1,expanded,children,onExceedsLines,"data-e2e-test-id":dataE2eTestId,privateProps,...textProps}=props,containerRef=useRef(null),lastExceedsStateRef=useRef(null),onExceedsLinesRef=useRef(onExceedsLines);useEffect(()=>{onExceedsLinesRef.current=onExceedsLines});let hasCallback=!!onExceedsLines;return useEffect(()=>{let containerElement=containerRef.current;if(!containerElement||!hasCallback)return;let textLinesRange=document.createRange(),countRenderedLines=element=>(textLinesRange.selectNodeContents(element),textLinesRange.getClientRects().length),resizeObserver=new ResizeObserver(()=>{let currentExceeds=countRenderedLines(containerElement)>lines;currentExceeds!==lastExceedsStateRef.current&&(lastExceedsStateRef.current=currentExceeds,onExceedsLinesRef.current?.(currentExceeds))});return resizeObserver.observe(containerElement),()=>resizeObserver.disconnect()},[containerRef,hasCallback,lines,expanded,children]),React.createElement(ContentText,{ref:ref,"data-e2e-test-id":dataE2eTestId,"data-ds-id":"TextClamped",...textProps},React.createElement(StyledContainer,{ref:containerRef,lines:lines,expanded:expanded,breakAll:privateProps?.breakAll},children))});
@@ -7,4 +7,4 @@ export type UserHighlightTooltipProps = Pick<TooltipContentProps, "content" | "p
7
7
  selectedRange?: Range;
8
8
  positionAtStart?: boolean;
9
9
  };
10
- export declare function UserHighlightTooltip({ content, contentPadding, placement, maxWidth, portalContainer, "data-e2e-test-id": dataE2eTestId, triggerElements, selectedRange, onVisibilityChange, positionAtStart, ...ariaAttributes }: UserHighlightTooltipProps): React.ReactElement;
10
+ export declare function UserHighlightTooltip({ content, contentPadding, placement, maxWidth, portalContainer, "data-e2e-test-id": dataE2eTestId, triggerElements, selectedRange, onVisibilityChange, positionAtStart, ...ariaAttributes }: UserHighlightTooltipProps): React.ReactElement | null;
@@ -1 +1 @@
1
- import React,{useCallback,useEffect,useId,useMemo,useRef,useState}from"react";import{TooltipContent}from"../Tooltip/TooltipContent";import{findOverlappingTooltips}from"./-utils.ts/findOverlappingTooltips";import{getTopmostElement}from"./-utils.ts/getTopmostElement";import{TooltipRegistry}from"./-utils.ts/TooltipRegistry";let tooltipRegistry=new TooltipRegistry;export function UserHighlightTooltip({content,contentPadding="s",placement="auto",maxWidth,portalContainer,"data-e2e-test-id":dataE2eTestId,triggerElements,selectedRange,onVisibilityChange,positionAtStart,...ariaAttributes}){let tooltipId=useMemo(()=>`DSUserHighlightTooltip_${Math.floor(Date.now()*Math.random())}`,[]),instanceId=useId(),isTooltipHovered=useRef(!1),showTooltipTimeoutId=useRef(null),hideTooltipTimeoutId=useRef(null),triggerHovered=useRef(!1),rangeRef=useRef(null);useEffect(()=>{if(selectedRange)rangeRef.current=selectedRange;else{let range=document.createRange();if(positionAtStart){let text=triggerElements[0].childNodes[0];range.setStart(text,0),range.setEnd(text,1)}else range.setStart(triggerElements[0],0),range.setEnd(triggerElements[triggerElements.length-1],1);rangeRef.current=range}},[triggerElements,selectedRange,positionAtStart]);let[tooltipVisible,setTooltipVisible]=useState(!1),toggleVisibility=useCallback(status=>{setTooltipVisible(status),onVisibilityChange&&onVisibilityChange(status)},[onVisibilityChange]);useEffect(()=>(tooltipRegistry.set(instanceId,{id:instanceId,triggerElements,setVisible:visible=>{setTooltipVisible(visible),onVisibilityChange&&onVisibilityChange(visible)}}),()=>{tooltipRegistry.delete(instanceId)}),[instanceId,triggerElements,onVisibilityChange]),useEffect(()=>{selectedRange&&toggleVisibility(!0)},[]);let hideTooltipAfterDelay=useCallback(()=>{hideTooltipTimeoutId.current=setTimeout(()=>{triggerHovered.current||isTooltipHovered.current||!tooltipVisible||toggleVisibility(!1)},200)},[toggleVisibility,tooltipVisible]),handleTriggerPointerEnter=useCallback(event=>{triggerHovered.current=!0,clearTimeout(showTooltipTimeoutId.current),showTooltipTimeoutId.current=setTimeout(()=>{if(triggerHovered.current){let overlappingTooltips=findOverlappingTooltips(event?.target||triggerElements[0],instanceId,tooltipRegistry);if(overlappingTooltips.length>0){let allOverlappingElements=[...triggerElements];overlappingTooltips.forEach(tooltip=>{allOverlappingElements.push(...tooltip.triggerElements)});let topmostElement=getTopmostElement(allOverlappingElements,event);!topmostElement||triggerElements.includes(topmostElement)?(overlappingTooltips.forEach(tooltip=>{tooltip.setVisible(!1)}),tooltipVisible||toggleVisibility(!0)):tooltipVisible&&toggleVisibility(!1)}else tooltipVisible||toggleVisibility(!0)}},200)},[toggleVisibility,tooltipVisible,triggerElements,instanceId]),handleTriggerPointerLeave=useCallback(event=>{if(clearTimeout(hideTooltipTimeoutId.current),triggerHovered.current=!1,event&&"clientX"in event&&"clientY"in event)try{let elementUnderPointer=document.elementFromPoint(event.clientX,event.clientY);if(elementUnderPointer){let overlappingTooltips=findOverlappingTooltips(elementUnderPointer,instanceId,tooltipRegistry);if(overlappingTooltips.length>0){let allOverlappingElements=[];overlappingTooltips.forEach(tooltip=>{allOverlappingElements.push(...tooltip.triggerElements)});let topmostElement=getTopmostElement(allOverlappingElements,event);if(topmostElement&&!triggerElements.includes(topmostElement)){toggleVisibility(!1);let enterEvent=new PointerEvent("pointerenter",{bubbles:!0,cancelable:!0,clientX:event.clientX,clientY:event.clientY,pointerId:event.pointerId,pointerType:event.pointerType});topmostElement.dispatchEvent(enterEvent);return}}}}catch{}hideTooltipAfterDelay()},[hideTooltipAfterDelay,instanceId,toggleVisibility,triggerElements]);return(useEffect(()=>()=>{clearTimeout(showTooltipTimeoutId.current),clearTimeout(hideTooltipTimeoutId.current)},[]),useEffect(()=>{let wrappedHandleEnter=event=>{handleTriggerPointerEnter(event)};return triggerElements.forEach(node=>{node.addEventListener("pointerenter",wrappedHandleEnter),node.addEventListener("pointerleave",handleTriggerPointerLeave)}),()=>{triggerElements.forEach(node=>{node.removeEventListener("pointerenter",wrappedHandleEnter),node.removeEventListener("pointerleave",handleTriggerPointerLeave)})}},[handleTriggerPointerEnter,handleTriggerPointerLeave,triggerElements]),useEffect(()=>{triggerElements.forEach(node=>{tooltipVisible?node.setAttribute("aria-describedby",tooltipId):node.removeAttribute("aria-describedby")})},[tooltipId,tooltipVisible,triggerElements]),rangeRef.current)?React.createElement(TooltipContent,{dataDSId:"UserHighlightTooltip",content:content,placement:placement,portalContainer:portalContainer,dataE2eTestId:dataE2eTestId,isVisible:tooltipVisible,tooltipId:tooltipId,triggerRef:rangeRef,role:"tooltip",contentPadding:contentPadding,maxWidth:maxWidth,subTheme:"inverted",onTooltipPointerEnter:()=>{isTooltipHovered.current=!0},onTooltipPointerLeave:()=>{clearTimeout(hideTooltipTimeoutId.current),isTooltipHovered.current=!1,hideTooltipAfterDelay()},...ariaAttributes}):null}
1
+ import React,{useCallback,useEffect,useId,useMemo,useRef,useState}from"react";import{TooltipContent}from"../Tooltip/TooltipContent";import{findOverlappingTooltips}from"./-utils.ts/findOverlappingTooltips";import{getTopmostElement}from"./-utils.ts/getTopmostElement";import{TooltipRegistry}from"./-utils.ts/TooltipRegistry";let tooltipRegistry=new TooltipRegistry;export function UserHighlightTooltip({content,contentPadding="s",placement="auto",maxWidth,portalContainer,"data-e2e-test-id":dataE2eTestId,triggerElements,selectedRange,onVisibilityChange,positionAtStart,...ariaAttributes}){let tooltipId=useMemo(()=>`DSUserHighlightTooltip_${Math.floor(Date.now()*Math.random())}`,[]),instanceId=useId(),isTooltipHovered=useRef(!1),showTooltipTimeoutId=useRef(null),hideTooltipTimeoutId=useRef(null),triggerHovered=useRef(!1),rangeRef=useRef(null);useEffect(()=>{if(selectedRange)rangeRef.current=selectedRange;else{let range=document.createRange();if(positionAtStart){let text=triggerElements[0].childNodes[0];range.setStart(text,0),range.setEnd(text,1)}else range.setStart(triggerElements[0],0),range.setEnd(triggerElements[triggerElements.length-1],1);rangeRef.current=range}},[triggerElements,selectedRange,positionAtStart]);let[tooltipVisible,setTooltipVisible]=useState(!1),toggleVisibility=useCallback(status=>{setTooltipVisible(status),onVisibilityChange&&onVisibilityChange(status)},[onVisibilityChange]);useEffect(()=>(tooltipRegistry.set(instanceId,{id:instanceId,triggerElements,setVisible:visible=>{setTooltipVisible(visible),onVisibilityChange&&onVisibilityChange(visible)}}),()=>{tooltipRegistry.delete(instanceId)}),[instanceId,triggerElements,onVisibilityChange]),useEffect(()=>{selectedRange&&toggleVisibility(!0)},[]);let hideTooltipAfterDelay=useCallback(()=>{hideTooltipTimeoutId.current=setTimeout(()=>{triggerHovered.current||isTooltipHovered.current||!tooltipVisible||toggleVisibility(!1)},200)},[toggleVisibility,tooltipVisible]),handleTriggerPointerEnter=useCallback(event=>{triggerHovered.current=!0,clearTimeout(showTooltipTimeoutId.current??void 0),showTooltipTimeoutId.current=setTimeout(()=>{if(triggerHovered.current){let overlappingTooltips=findOverlappingTooltips(event?.target||triggerElements[0],instanceId,tooltipRegistry);if(overlappingTooltips.length>0){let allOverlappingElements=[...triggerElements];overlappingTooltips.forEach(tooltip=>{allOverlappingElements.push(...tooltip.triggerElements)});let topmostElement=getTopmostElement(allOverlappingElements,event);!topmostElement||triggerElements.includes(topmostElement)?(overlappingTooltips.forEach(tooltip=>{tooltip.setVisible(!1)}),tooltipVisible||toggleVisibility(!0)):tooltipVisible&&toggleVisibility(!1)}else tooltipVisible||toggleVisibility(!0)}},200)},[toggleVisibility,tooltipVisible,triggerElements,instanceId]),handleTriggerPointerLeave=useCallback(event=>{if(clearTimeout(hideTooltipTimeoutId.current??void 0),triggerHovered.current=!1,event&&"clientX"in event&&"clientY"in event)try{let elementUnderPointer=document.elementFromPoint(event.clientX,event.clientY);if(elementUnderPointer){let overlappingTooltips=findOverlappingTooltips(elementUnderPointer,instanceId,tooltipRegistry);if(overlappingTooltips.length>0){let allOverlappingElements=[];overlappingTooltips.forEach(tooltip=>{allOverlappingElements.push(...tooltip.triggerElements)});let topmostElement=getTopmostElement(allOverlappingElements,event);if(topmostElement&&!triggerElements.includes(topmostElement)){toggleVisibility(!1);let enterEvent=new PointerEvent("pointerenter",{bubbles:!0,cancelable:!0,clientX:event.clientX,clientY:event.clientY,pointerId:event.pointerId,pointerType:event.pointerType});topmostElement.dispatchEvent(enterEvent);return}}}}catch{}hideTooltipAfterDelay()},[hideTooltipAfterDelay,instanceId,toggleVisibility,triggerElements]);return(useEffect(()=>()=>{clearTimeout(showTooltipTimeoutId.current??void 0),clearTimeout(hideTooltipTimeoutId.current??void 0)},[]),useEffect(()=>{let wrappedHandleEnter=event=>{handleTriggerPointerEnter(event)};return triggerElements.forEach(node=>{node.addEventListener("pointerenter",wrappedHandleEnter),node.addEventListener("pointerleave",handleTriggerPointerLeave)}),()=>{triggerElements.forEach(node=>{node.removeEventListener("pointerenter",wrappedHandleEnter),node.removeEventListener("pointerleave",handleTriggerPointerLeave)})}},[handleTriggerPointerEnter,handleTriggerPointerLeave,triggerElements]),useEffect(()=>{triggerElements.forEach(node=>{tooltipVisible?node.setAttribute("aria-describedby",tooltipId):node.removeAttribute("aria-describedby")})},[tooltipId,tooltipVisible,triggerElements]),rangeRef.current)?React.createElement(TooltipContent,{dataDSId:"UserHighlightTooltip",content:content,placement:placement,portalContainer:portalContainer,dataE2eTestId:dataE2eTestId,isVisible:tooltipVisible,tooltipId:tooltipId,triggerRef:rangeRef,role:"tooltip",contentPadding:contentPadding,maxWidth:maxWidth,subTheme:"inverted",onTooltipPointerEnter:()=>{isTooltipHovered.current=!0},onTooltipPointerLeave:()=>{clearTimeout(hideTooltipTimeoutId.current??void 0),isTooltipHovered.current=!1,hideTooltipAfterDelay()},...ariaAttributes}):null}
@@ -1,2 +1,2 @@
1
1
  import type { ContainerQueryBreakpoints } from "../../../shared/mediaQueries";
2
- export declare const ContainerQueryContext: React.Context<ContainerQueryBreakpoints>;
2
+ export declare const ContainerQueryContext: React.Context<ContainerQueryBreakpoints | undefined>;
@@ -1 +1 @@
1
- import React,{useCallback,useEffect,useState}from"react";import styled from"@emotion/styled";import isPropValid from"@emotion/is-prop-valid";import{useWindow}from"../../../shared/useWindow";let StyledContainer=styled("div",{target:"elbd590",label:"StyledContainer"})(({isExpanded,reduceMotion})=>({display:"grid",gridTemplateRows:"0fr",...!reduceMotion&&{transition:"200ms grid-template-rows cubic-bezier(0.0, 0.0, 0.25, 1.0)"},...isExpanded&&{gridTemplateRows:"1fr"}})),StyledContentContainer=styled("div",{shouldForwardProp:prop=>isPropValid(prop)&&"overflow"!==prop&&"isExpanded"!==prop,target:"elbd591",label:"StyledContentContainer"})(({isExpanded,overflow})=>({overflow:"hidden",...isExpanded&&{overflow}}));export function Expandable({id,isExpanded,children,overflow="visible",reduceMotion=!1,...ariaAttributes}){let[isContentContainerExpanded,setIsContentContainerExpanded]=useState(!!isExpanded),window=useWindow(),isMotionReduced=reduceMotion||window?.matchMedia("(prefers-reduced-motion: reduce)").matches,handleTransitionEnd=useCallback(()=>{isExpanded&&setIsContentContainerExpanded(!0)},[isExpanded]);return useEffect(()=>{if(isMotionReduced)return void setIsContentContainerExpanded(isExpanded);isExpanded||setIsContentContainerExpanded(!1)},[isExpanded,isMotionReduced]),React.createElement(StyledContainer,{onTransitionEnd:handleTransitionEnd,isExpanded:isExpanded,"data-ds-id":"Expandable",id:id,reduceMotion:isMotionReduced,...ariaAttributes},React.createElement(StyledContentContainer,{isExpanded:isContentContainerExpanded,overflow:overflow},children))}
1
+ import React,{useCallback,useEffect,useState}from"react";import styled from"@emotion/styled";import isPropValid from"@emotion/is-prop-valid";import{useWindow}from"../../../shared/useWindow";let StyledContainer=styled("div",{target:"e10cpi5m0",label:"StyledContainer"})(({isExpanded,reduceMotion})=>({display:"grid",gridTemplateRows:"0fr",...!reduceMotion&&{transition:"200ms grid-template-rows cubic-bezier(0.0, 0.0, 0.25, 1.0)"},...isExpanded&&{gridTemplateRows:"1fr"}})),StyledContentContainer=styled("div",{shouldForwardProp:prop=>isPropValid(prop)&&"overflow"!==prop&&"isExpanded"!==prop,target:"e10cpi5m1",label:"StyledContentContainer"})(({isExpanded,overflow})=>({overflow:"hidden",...isExpanded&&{overflow}}));export function Expandable({id,isExpanded,children,overflow="visible",reduceMotion=!1,...ariaAttributes}){let[isContentContainerExpanded,setIsContentContainerExpanded]=useState(!!isExpanded),window=useWindow(),isMotionReduced=reduceMotion||window?.matchMedia("(prefers-reduced-motion: reduce)").matches,handleTransitionEnd=useCallback(()=>{isExpanded&&setIsContentContainerExpanded(!0)},[isExpanded]);return useEffect(()=>{if(isMotionReduced)return void setIsContentContainerExpanded(!!isExpanded);isExpanded||setIsContentContainerExpanded(!1)},[isExpanded,isMotionReduced]),React.createElement(StyledContainer,{onTransitionEnd:handleTransitionEnd,isExpanded:isExpanded,"data-ds-id":"Expandable",id:id,reduceMotion:isMotionReduced,...ariaAttributes},React.createElement(StyledContentContainer,{isExpanded:isContentContainerExpanded,overflow:overflow},children))}
@@ -24,7 +24,7 @@ export declare function viewportToFloatingPlacement(placement: ViewportPlacement
24
24
  * Both axes → a corner (`top` + `left` → `"top-start"`); a single axis →
25
25
  * centered on the other (`top` alone → `"top"`, `left` alone → `"left"`).
26
26
  */
27
- export declare function axesToViewportPlacement(positionY: "top" | "bottom" | undefined, positionX: "left" | "right" | undefined): ViewportPlacement;
27
+ export declare function axesToViewportPlacement(positionY: "top" | "bottom" | undefined, positionX: "left" | "right" | undefined): ViewportPlacement | undefined;
28
28
  /**
29
29
  * Builds the (zero-size) reference rect for a viewport spot, in viewport
30
30
  * coordinates — used by the virtual element under `strategy: "fixed"`.
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  export type VirtualScrollListProps = {
3
3
  "data-e2e-test-id"?: string;
4
- id: string;
4
+ id?: string;
5
5
  maxHeight: number;
6
6
  /** initial estimate for virtual scrolling calculations, helps estimate how many
7
7
  * items fit in the viewport before real measurements.
@@ -1 +1 @@
1
- import styled from"@emotion/styled";import React,{useRef,useReducer,useLayoutEffect,useEffect}from"react";import{VirtualScrollReducer}from"./VirtualScrollListReducer";let StyledContainer=styled("div",{target:"e1727xf20",label:"StyledContainer"})(({maxHeight})=>({overflow:"auto",width:"100%",height:"100%",maxHeight})),StyledScrollableContent=styled("div",{target:"e1727xf21",label:"StyledScrollableContent"})(({maxContentHeight})=>({overflow:"hidden",boxSizing:"border-box",height:maxContentHeight}));export function VirtualScrollList({id,maxHeight,itemHeight,itemAmount,emptyState=()=>null,itemInView,itemTemplate,containerStyle,"data-e2e-test-id":dataE2eTestId,onContentHeightChange,role,...ariaAttributes}){let scrollableContainerRef=useRef(null),viewportRef=useRef(null),adjustedForReflow=useRef(!1),[{scrolledItemCount,amountOfItemsInView,scrolledInPx,maxContentHeight=maxHeight,recommendedScrollPosition},dispatch]=useReducer(VirtualScrollReducer,{});useLayoutEffect(()=>{dispatch({type:"reset",itemHeight,maxHeight,overscan:10}),scrollableContainerRef.current.scrollTop=0},[itemHeight,itemAmount,maxHeight]),useEffect(()=>{dispatch({type:"recommendScrollPosition",scrollTop:scrollableContainerRef.current.scrollTop,itemToBeInView:itemInView})},[itemInView]),useEffect(()=>{null!==recommendedScrollPosition&&(scrollableContainerRef.current.scrollTop=recommendedScrollPosition)},[recommendedScrollPosition]),useLayoutEffect(()=>{viewportRef.current&&dispatch({type:"updateViewport",viewportNode:viewportRef.current,itemAmount})},[itemAmount,scrolledItemCount]),useEffect(()=>{onContentHeightChange?.()},[maxContentHeight,onContentHeightChange]);let itemCountToBeRendered=Math.min(Math.max(0,itemAmount-scrolledItemCount),amountOfItemsInView);return maxContentHeight>maxHeight&&!adjustedForReflow.current&&viewportRef.current&&(setTimeout(()=>{dispatch({type:"updateViewport",viewportNode:viewportRef.current,itemAmount})}),adjustedForReflow.current=!0),React.createElement(StyledContainer,{ref:scrollableContainerRef,maxHeight:maxHeight,style:{maxHeight,...containerStyle},"data-e2e-test-id":dataE2eTestId,"data-ds-id":"VirtualScrollList",onScroll:e=>{dispatch({type:"scroll",scrollTop:e.currentTarget.scrollTop})}},0===itemAmount?emptyState():React.createElement(StyledScrollableContent,{maxContentHeight:maxContentHeight},React.createElement("div",{ref:viewportRef,style:{transform:`translateY(${scrolledInPx}px`},role:role,id:id,...ariaAttributes},!!itemCountToBeRendered&&Array(itemCountToBeRendered).fill(0).map((_,index)=>itemTemplate(scrolledItemCount+index)))))}
1
+ import styled from"@emotion/styled";import React,{useRef,useReducer,useLayoutEffect,useEffect}from"react";import{VirtualScrollReducer}from"./VirtualScrollListReducer";let StyledContainer=styled("div",{target:"e1cwopw60",label:"StyledContainer"})(({maxHeight})=>({overflow:"auto",width:"100%",height:"100%",maxHeight})),StyledScrollableContent=styled("div",{target:"e1cwopw61",label:"StyledScrollableContent"})(({maxContentHeight})=>({overflow:"hidden",boxSizing:"border-box",height:maxContentHeight}));export function VirtualScrollList({id,maxHeight,itemHeight,itemAmount,emptyState=()=>null,itemInView,itemTemplate,containerStyle,"data-e2e-test-id":dataE2eTestId,onContentHeightChange,role,...ariaAttributes}){let scrollableContainerRef=useRef(null),viewportRef=useRef(null),adjustedForReflow=useRef(!1),[{scrolledItemCount=0,amountOfItemsInView=0,scrolledInPx,maxContentHeight=maxHeight,recommendedScrollPosition},dispatch]=useReducer(VirtualScrollReducer,{});useLayoutEffect(()=>{dispatch({type:"reset",itemHeight,maxHeight,overscan:10});let scrollableContainer=scrollableContainerRef.current;scrollableContainer&&(scrollableContainer.scrollTop=0)},[itemHeight,itemAmount,maxHeight]),useEffect(()=>{let scrollableContainer=scrollableContainerRef.current;scrollableContainer&&dispatch({type:"recommendScrollPosition",scrollTop:scrollableContainer.scrollTop,itemToBeInView:itemInView})},[itemInView]),useEffect(()=>{if(null==recommendedScrollPosition)return;let scrollableContainer=scrollableContainerRef.current;scrollableContainer&&(scrollableContainer.scrollTop=recommendedScrollPosition)},[recommendedScrollPosition]),useLayoutEffect(()=>{viewportRef.current&&dispatch({type:"updateViewport",viewportNode:viewportRef.current,itemAmount})},[itemAmount,scrolledItemCount]),useEffect(()=>{onContentHeightChange?.()},[maxContentHeight,onContentHeightChange]);let itemCountToBeRendered=Math.min(Math.max(0,itemAmount-scrolledItemCount),amountOfItemsInView);return maxContentHeight>maxHeight&&!adjustedForReflow.current&&viewportRef.current&&(setTimeout(()=>{let viewportNode=viewportRef.current;viewportNode&&dispatch({type:"updateViewport",viewportNode,itemAmount})}),adjustedForReflow.current=!0),React.createElement(StyledContainer,{ref:scrollableContainerRef,maxHeight:maxHeight,style:{maxHeight,...containerStyle},"data-e2e-test-id":dataE2eTestId,"data-ds-id":"VirtualScrollList",onScroll:e=>{dispatch({type:"scroll",scrollTop:e.currentTarget.scrollTop})}},0===itemAmount?emptyState():React.createElement(StyledScrollableContent,{maxContentHeight:maxContentHeight},React.createElement("div",{ref:viewportRef,style:{transform:`translateY(${scrolledInPx}px`},role:role,id:id,...ariaAttributes},!!itemCountToBeRendered&&Array(itemCountToBeRendered).fill(0).map((_,index)=>itemTemplate(scrolledItemCount+index)))))}
@@ -10,10 +10,10 @@ type State = {
10
10
  renderFrom?: number;
11
11
  scrolledItemCount?: number;
12
12
  scrolledInPx?: number;
13
- lastItemHeight?: number;
13
+ lastItemHeight?: number | null;
14
14
  amountOfItemsInView?: number;
15
15
  maxContentHeight?: number;
16
- recommendedScrollPosition?: number;
16
+ recommendedScrollPosition?: number | null;
17
17
  };
18
18
  type Action = {
19
19
  type: "scroll";
@@ -1 +1 @@
1
- let findClosestOffsetIndex=(arr,val)=>{let start=0,end=arr.length-1,mid=Math.floor((start+end)/2);for(;start<=end&&arr[mid=Math.floor((start+end)/2)].amount!==val;)val<arr[mid].amount?end=mid-1:start=mid+1;return mid},getMaxHeight=(maxAmountOfItems,offsets,lastItemHeight=0)=>{let amountOfOffsets=Math.min(offsets.length,maxAmountOfItems);return(offsets[amountOfOffsets-1]?.amount||0)+lastItemHeight},reduceScroll=(prevState,scrollTop)=>{let{topOffsets,overscan:tolerance}=prevState,scrolledItemCount=Math.max(0,findClosestOffsetIndex(topOffsets,scrollTop)-tolerance/2),scrolledInPx=topOffsets[scrolledItemCount]?.amount||0;return{...prevState,scrolledItemCount,scrolledInPx}},reduceUpdateViewport=(prevState,viewportNode,itemAmount)=>{let{topOffsets=[],scrolledInPx,scrolledItemCount,avgItemHeight,lastItemHeight,maxHeight,overscan:tolerance}=prevState,newTopOffsets=[...topOffsets],updatedLastItemHeight=lastItemHeight;Array.from(viewportNode.children).forEach((child,i)=>{newTopOffsets[i+scrolledItemCount]={amount:scrolledInPx+child.offsetTop,isInterpolated:!1},i+scrolledItemCount!==itemAmount-1||lastItemHeight||(updatedLastItemHeight=child.getBoundingClientRect().height)});let newAvgItemHeight=Math.max(avgItemHeight,viewportNode.getBoundingClientRect().height/(viewportNode.childElementCount||1));for(let i=0;i<itemAmount;i+=1)(!newTopOffsets[i]||newTopOffsets[i].isInterpolated)&&(newTopOffsets[i]={amount:newTopOffsets[i-1].amount+newAvgItemHeight,isInterpolated:!0});let maxContentHeight=getMaxHeight(itemAmount,newTopOffsets,updatedLastItemHeight);return{...prevState,lastItemHeight:updatedLastItemHeight,avgItemHeight:newAvgItemHeight,topOffsets:newTopOffsets,amountOfItemsInView:Math.round(maxHeight/newAvgItemHeight)+tolerance,maxContentHeight}},reduceReset=(prevState,itemHeight,maxHeight,overscan)=>({...prevState,lastItemHeight:null,topOffsets:[{amount:0,isInterpolated:!1}],scrolledInPx:0,scrolledItemCount:0,maxHeight,avgItemHeight:itemHeight,overscan}),reduceRecommendScrollPosition=(prevState,scrollTop,itemToBeInView)=>{let{topOffsets,maxHeight}=prevState;if(!topOffsets)return prevState;let bottomOfTarget=topOffsets[itemToBeInView+1]?.amount,topOfTarget=topOffsets[itemToBeInView]?.amount,recommendedScrollPosition=null;return topOfTarget<scrollTop&&(recommendedScrollPosition=topOfTarget),bottomOfTarget>=scrollTop+maxHeight&&(recommendedScrollPosition=bottomOfTarget-maxHeight),itemToBeInView===topOffsets.length-1&&(recommendedScrollPosition=topOffsets[itemToBeInView].amount),{...prevState,recommendedScrollPosition}};export const VirtualScrollReducer=(prevState,action)=>{switch(action.type){case"reset":return reduceReset(prevState,action.itemHeight,action.maxHeight,action.overscan);case"scroll":return reduceScroll(prevState,action.scrollTop);case"updateViewport":return reduceUpdateViewport(prevState,action.viewportNode,action.itemAmount);case"recommendScrollPosition":return reduceRecommendScrollPosition(prevState,action.scrollTop,action.itemToBeInView);default:throw Error()}};
1
+ let findClosestOffsetIndex=(arr,val)=>{let start=0,end=arr.length-1,mid=Math.floor((start+end)/2);for(;start<=end&&arr[mid=Math.floor((start+end)/2)].amount!==val;)val<arr[mid].amount?end=mid-1:start=mid+1;return mid},getMaxHeight=(maxAmountOfItems,offsets,lastItemHeight)=>{let amountOfOffsets=Math.min(offsets.length,maxAmountOfItems);return(offsets[amountOfOffsets-1]?.amount||0)+(lastItemHeight??0)},reduceScroll=(prevState,scrollTop)=>{let{topOffsets=[],overscan:tolerance=0}=prevState,scrolledItemCount=Math.max(0,findClosestOffsetIndex(topOffsets,scrollTop)-tolerance/2),scrolledInPx=topOffsets[scrolledItemCount]?.amount||0;return{...prevState,scrolledItemCount,scrolledInPx}},reduceUpdateViewport=(prevState,viewportNode,itemAmount)=>{let{topOffsets=[],scrolledInPx=0,scrolledItemCount=0,avgItemHeight=0,lastItemHeight,maxHeight=0,overscan:tolerance=0}=prevState,newTopOffsets=[...topOffsets],updatedLastItemHeight=lastItemHeight;Array.from(viewportNode.children).forEach((child,i)=>{newTopOffsets[i+scrolledItemCount]={amount:scrolledInPx+child.offsetTop,isInterpolated:!1},i+scrolledItemCount!==itemAmount-1||lastItemHeight||(updatedLastItemHeight=child.getBoundingClientRect().height)});let newAvgItemHeight=Math.max(avgItemHeight,viewportNode.getBoundingClientRect().height/(viewportNode.childElementCount||1));for(let i=0;i<itemAmount;i+=1)(!newTopOffsets[i]||newTopOffsets[i].isInterpolated)&&(newTopOffsets[i]={amount:newTopOffsets[i-1].amount+newAvgItemHeight,isInterpolated:!0});let maxContentHeight=getMaxHeight(itemAmount,newTopOffsets,updatedLastItemHeight);return{...prevState,lastItemHeight:updatedLastItemHeight,avgItemHeight:newAvgItemHeight,topOffsets:newTopOffsets,amountOfItemsInView:Math.round(maxHeight/newAvgItemHeight)+tolerance,maxContentHeight}},reduceReset=(prevState,itemHeight,maxHeight,overscan)=>({...prevState,lastItemHeight:null,topOffsets:[{amount:0,isInterpolated:!1}],scrolledInPx:0,scrolledItemCount:0,maxHeight,avgItemHeight:itemHeight,overscan}),reduceRecommendScrollPosition=(prevState,scrollTop,itemToBeInView)=>{let{topOffsets,maxHeight}=prevState;if(!topOffsets||void 0===maxHeight)return prevState;let bottomOfTarget=topOffsets[itemToBeInView+1]?.amount,topOfTarget=topOffsets[itemToBeInView]?.amount,recommendedScrollPosition=null;return topOfTarget<scrollTop&&(recommendedScrollPosition=topOfTarget),bottomOfTarget>=scrollTop+maxHeight&&(recommendedScrollPosition=bottomOfTarget-maxHeight),itemToBeInView===topOffsets.length-1&&(recommendedScrollPosition=topOffsets[itemToBeInView].amount),{...prevState,recommendedScrollPosition}};export const VirtualScrollReducer=(prevState,action)=>{switch(action.type){case"reset":return reduceReset(prevState,action.itemHeight,action.maxHeight,action.overscan);case"scroll":return reduceScroll(prevState,action.scrollTop);case"updateViewport":return reduceUpdateViewport(prevState,action.viewportNode,action.itemAmount);case"recommendScrollPosition":return reduceRecommendScrollPosition(prevState,action.scrollTop,action.itemToBeInView);default:throw Error()}};
@@ -1 +1 @@
1
- export declare function appendId(src: string, id: string): string;
1
+ export declare function appendId(src: string | undefined, id: string): string;
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const forwardRefPolymorphic: <Component>(render: (props: never, ref: never) => React.ReactNode) => Component;
@@ -0,0 +1 @@
1
+ import React from"react";export const forwardRefPolymorphic=render=>React.forwardRef(render);
@@ -6,5 +6,11 @@
6
6
  "InlineMessage.InfoIcon.AriaLabel": "Info",
7
7
  "PromptButtonGroup.OverflowButton.Label": "Weitere",
8
8
  "PromptButtonGroup.OverflowButton.AriaLabel": "Weitere Vorschläge anzeigen",
9
- "PromptButtonGroup.Popover.AriaLabel": "Prompt-Vorschläge"
9
+ "PromptButtonGroup.Popover.AriaLabel": "Prompt-Vorschläge",
10
+ "CatalogCard.DropdownMenu.AriaLabel": "Weitere Optionen",
11
+ "DropdownMenu.Trigger.AriaLabel": "Weitere Optionen",
12
+ "EntityTree.ExpandButton.ExpandAriaLabel": "Aufklappen",
13
+ "EntityTree.ExpandButton.CollapseAriaLabel": "Zuklappen",
14
+ "SearchInput.ClearButton.AriaLabel": "Suche löschen",
15
+ "Tag.RemoveButton.AriaLabel": "Entfernen"
10
16
  }
@@ -6,5 +6,11 @@
6
6
  "InlineMessage.InfoIcon.AriaLabel": "Info",
7
7
  "PromptButtonGroup.OverflowButton.Label": "More",
8
8
  "PromptButtonGroup.OverflowButton.AriaLabel": "Show more suggestions",
9
- "PromptButtonGroup.Popover.AriaLabel": "Prompt suggestions"
9
+ "PromptButtonGroup.Popover.AriaLabel": "Prompt suggestions",
10
+ "CatalogCard.DropdownMenu.AriaLabel": "More options",
11
+ "DropdownMenu.Trigger.AriaLabel": "More options",
12
+ "EntityTree.ExpandButton.ExpandAriaLabel": "Expand",
13
+ "EntityTree.ExpandButton.CollapseAriaLabel": "Collapse",
14
+ "SearchInput.ClearButton.AriaLabel": "Clear search",
15
+ "Tag.RemoveButton.AriaLabel": "Remove"
10
16
  }
@@ -2,8 +2,8 @@ import type { ColumnSizes, HorizontalAlignment, MQ, SpaceSizes, IconSizes, TextA
2
2
  export type Breakpoints = [string, string, string];
3
3
  export type ContainerQueryBreakpoints = [string, string?, string?];
4
4
  type MqProp<T> = [
5
- T | MQ<T>,
6
- (Record<T extends string ? T : never, string | number> | ((value: T) => string | number))
5
+ T | MQ<T> | undefined,
6
+ (Record<T extends string ? T : never, string | number | undefined> | ((value: T) => string | number))
7
7
  ];
8
8
  type MqRules = Record<string, MqProp<TextAlignment> | MqProp<SpaceSizes> | MqProp<HorizontalAlignment> | MqProp<VerticalAlignment> | MqProp<StackHorizontalAlignment> | MqProp<StackVerticalAlignment> | MqProp<LightboxVerticalAlignment> | MqProp<ColumnSizes> | MqProp<Order> | MqProp<ColumnAlignment> | MqProp<Hyphens> | MqProp<BorderRadius> | MqProp<boolean> | MqProp<IconSizes> | MqProp<ButtonSize> | MqProp<InlineMessageSize>>;
9
9
  type EmotionCssPropertyName = string;
@@ -13,7 +13,7 @@ type MqFunc = (rules: MqRules | {
13
13
  mq: MqRules;
14
14
  cq: MqRules;
15
15
  }) => Record<string, EmotionCssValue | EmotionCssDescription>;
16
- type ResponsiveValueRules = Record<EmotionCssPropertyName, EmotionCssValue[] | EmotionCssValue | MQ<EmotionCssValue>>;
16
+ type ResponsiveValueRules = Record<EmotionCssPropertyName, EmotionCssValue[] | EmotionCssValue | MQ<EmotionCssValue> | undefined>;
17
17
  type ResponsiveValueResult = Record<string, EmotionCssValue | EmotionCssDescription>;
18
18
  export declare const mq: MqFunc;
19
19
  export declare const useResponsiveStyles: MqFunc;
@@ -1 +1 @@
1
- import{getButtonAppearanceReset}from"./getButtonAppearanceReset";import{getDisabledStyles}from"./getDisabledStyles";export function getPillStyles({theme,disabled,leftIcon,variant}){let verticalPadding=theme.variables.size.spacing.xs;return{...getButtonAppearanceReset(),borderRadius:theme.variables.size.borderRadius.full,fontFamily:theme.variables.fontFamily.lato,fontSize:theme.variables.size.font.s,lineHeight:theme.variables.size.lineHeight.xs,fontWeight:theme.variables.weight.bold,cursor:"pointer",userSelect:"none",color:theme.values.color.text.secondary.default,backgroundColor:theme.values.color.background.primary.default,border:`2px solid ${theme.values.color.border.secondary.default}`,padding:`${verticalPadding} ${theme.variables.size.spacing.m}`,...!!leftIcon&&{padding:`${verticalPadding} ${theme.variables.size.spacing.m} ${verticalPadding} ${theme.variables.size.spacing.s}`},..."standalone"===variant&&{color:theme.values.color.text.ai.default},...!disabled&&{"&:hover, &:active":{backgroundColor:theme.values.color.background.transparent.hover,borderColor:theme.values.color.border.secondary.hover}},...disabled&&{...getDisabledStyles({theme})}}}
1
+ import{getButtonAppearanceReset}from"./getButtonAppearanceReset";import{getDisabledStyles}from"./getDisabledStyles";export function getPillStyles({theme,disabled,leftIcon,variant}){let verticalPadding=theme.variables.size.spacing.xs;return{...getButtonAppearanceReset(),borderRadius:theme.variables.size.borderRadius.full,fontFamily:theme.variables.fontFamily.lato,fontSize:theme.variables.size.font.s,lineHeight:theme.variables.size.lineHeight.xs,fontWeight:theme.variables.weight.bold,cursor:"pointer",userSelect:"none",color:theme.values.color.text.secondary.default,backgroundColor:theme.values.color.background.primary.default,border:`2px solid ${theme.values.color.border.secondary.default}`,padding:`${verticalPadding} ${theme.variables.size.spacing.m}`,...!!leftIcon&&{padding:`${verticalPadding} ${theme.variables.size.spacing.m} ${verticalPadding} ${theme.variables.size.spacing.s}`},..."standalone"===variant&&{color:theme.values.color.text.ai.default},...!disabled&&{"&:hover, &:active":{backgroundColor:theme.values.color.background.secondary.default,borderColor:theme.values.color.border.secondary.hover}},...disabled&&{...getDisabledStyles({theme})}}}
@@ -1 +1 @@
1
- import{useState,useLayoutEffect}from"react";import{useWindow}from"./useWindow";import{useDocument}from"./useDocument";export const useAutoPosition=({anchorRef,contentRef,isActive,forceVerticalPosition})=>{let[verticalPosition,setVerticalPosition]=useState("down"),[horizontalPosition,setHorizontalPosition]=useState("left"),document=useDocument(),window=useWindow();return useLayoutEffect(()=>{if(contentRef)if(isActive){let maxHeight=Math.max(document.documentElement.clientHeight||0,window.innerHeight||0),rect=contentRef.current.getBoundingClientRect(),anchorHeight=anchorRef.current.getBoundingClientRect().height,anchorX=anchorRef.current.getBoundingClientRect().x,screenWidth=window.innerWidth,isUp=rect.top+rect.height>maxHeight,isDown=rect.top-anchorHeight<rect.height;forceVerticalPosition?setVerticalPosition(forceVerticalPosition):isUp?setVerticalPosition("up"):isDown&&setVerticalPosition("down"),anchorX>screenWidth/2?setHorizontalPosition("left"):anchorX<screenWidth/2&&setHorizontalPosition("right")}else setVerticalPosition("down"),setHorizontalPosition("left")},[anchorRef,contentRef,document.documentElement.clientHeight,isActive,window.innerHeight,window.innerWidth,forceVerticalPosition]),[verticalPosition,horizontalPosition]};
1
+ import{useState,useLayoutEffect}from"react";import{useWindow}from"./useWindow";import{useDocument}from"./useDocument";export const useAutoPosition=({anchorRef,contentRef,isActive,forceVerticalPosition})=>{let[verticalPosition,setVerticalPosition]=useState("down"),[horizontalPosition,setHorizontalPosition]=useState("left"),document=useDocument(),window=useWindow();return useLayoutEffect(()=>{if(contentRef)if(isActive){let maxHeight=Math.max(document.documentElement.clientHeight||0,window.innerHeight||0),contentElement=contentRef.current,anchorElement=anchorRef.current;if(!contentElement||!anchorElement)return;let rect=contentElement.getBoundingClientRect(),anchorHeight=anchorElement.getBoundingClientRect().height,anchorX=anchorElement.getBoundingClientRect().x,screenWidth=window.innerWidth,isUp=rect.top+rect.height>maxHeight,isDown=rect.top-anchorHeight<rect.height;forceVerticalPosition?setVerticalPosition(forceVerticalPosition):isUp?setVerticalPosition("up"):isDown&&setVerticalPosition("down"),anchorX>screenWidth/2?setHorizontalPosition("left"):anchorX<screenWidth/2&&setHorizontalPosition("right")}else setVerticalPosition("down"),setHorizontalPosition("left")},[anchorRef,contentRef,document.documentElement.clientHeight,isActive,window.innerHeight,window.innerWidth,forceVerticalPosition]),[verticalPosition,horizontalPosition]};
@@ -1,2 +1,2 @@
1
1
  import type React from "react";
2
- export declare function useHover(ref: React.MutableRefObject<any>): boolean;
2
+ export declare function useHover(ref: React.MutableRefObject<any> | false | null | undefined): boolean;
@@ -1 +1 @@
1
- import{useCallback,useEffect,useState}from"react";export function useHover(ref){let[hovered,setHovered]=useState(!1),handleMouseEnter=useCallback(()=>setHovered(!0),[]),handleMouseLeave=useCallback(()=>setHovered(!1),[]);return(useEffect(()=>{if(!ref)return;let node=ref.current;if(node)return node.addEventListener("mouseenter",handleMouseEnter),node.addEventListener("mouseleave",handleMouseLeave),()=>{node.removeEventListener("mouseenter",handleMouseEnter),node.removeEventListener("mouseleave",handleMouseLeave)}},[ref,handleMouseEnter,handleMouseLeave]),ref)?hovered:null}
1
+ import{useCallback,useEffect,useState}from"react";export function useHover(ref){let[hovered,setHovered]=useState(!1),handleMouseEnter=useCallback(()=>setHovered(!0),[]),handleMouseLeave=useCallback(()=>setHovered(!1),[]);return useEffect(()=>{if(!ref)return;let node=ref.current;if(node)return node.addEventListener("mouseenter",handleMouseEnter),node.addEventListener("mouseleave",handleMouseLeave),()=>{node.removeEventListener("mouseenter",handleMouseEnter),node.removeEventListener("mouseleave",handleMouseLeave)}},[ref,handleMouseEnter,handleMouseLeave]),!!ref&&hovered}
@@ -1,5 +1,5 @@
1
1
  export type OutsideClickDeactivatesWithinPortalOptions = {
2
- portalContainerElement: Element;
2
+ portalContainerElement: Element | null;
3
3
  outerRef: {
4
4
  current: HTMLElement | null;
5
5
  } | undefined;
@@ -1 +1 @@
1
- import{useCallback}from"react";export const useOutsideClickDeactivatesWithinPortal=({portalContainerElement,outerRef,isDismissible})=>useCallback(evt=>(!portalContainerElement.contains(evt.target)||evt.target===outerRef?.current)&&isDismissible,[portalContainerElement,outerRef,isDismissible]);
1
+ import{useCallback}from"react";export const useOutsideClickDeactivatesWithinPortal=({portalContainerElement,outerRef,isDismissible})=>useCallback(evt=>(!portalContainerElement?.contains(evt.target)||evt.target===outerRef?.current)&&isDismissible,[portalContainerElement,outerRef,isDismissible]);
@@ -4,9 +4,9 @@
4
4
  "name": "1",
5
5
  "subState": "",
6
6
  "darkValue": "0px 2px 5px 0px rgba(0, 0, 0, 0.07), 0px 0.3px 0.6px 0px rgba(0, 0, 0, 0.00), 0px 0px 0px 1px rgba(64, 69, 79, 0.40) inset",
7
- "darkOriginalValue": "07), 0px 0.3px 0.6px 0px rgba(0, 0, 0, 0.00), 0px 0px 0px 1px rgba(64, 69, 79, 0",
7
+ "darkOriginalValue": "0px 2px 5px 0px rgba(0, 0, 0, 0.07), 0px 0.3px 0.6px 0px rgba(0, 0, 0, 0.00), 0px 0px 0px 1px rgba(64, 69, 79, 0.40) inset",
8
8
  "lightValue": "0px 0.3px 0.6px rgba(0, 0, 0, 0.0035), 0px 2px 5px rgba(0, 0, 0, 0.07)",
9
- "lightOriginalValue": "3px 0.6px rgba(0, 0, 0, 0.0035), 0px 2px 5px rgba(0, 0, 0, 0"
9
+ "lightOriginalValue": "0px 0.3px 0.6px rgba(0, 0, 0, 0.0035), 0px 2px 5px rgba(0, 0, 0, 0.07)"
10
10
  }
11
11
  },
12
12
  "2": {
@@ -14,9 +14,9 @@
14
14
  "name": "2",
15
15
  "subState": "",
16
16
  "darkValue": "0px 2px 8px 0px rgba(0, 0, 0, 0.12), 0px 0.3px 1px 0px rgba(0, 0, 0, 0.01), 0px 0px 0px 1px rgba(64, 69, 79, 0.40) inset",
17
- "darkOriginalValue": "12), 0px 0.3px 1px 0px rgba(0, 0, 0, 0.01), 0px 0px 0px 1px rgba(64, 69, 79, 0",
17
+ "darkOriginalValue": "0px 2px 8px 0px rgba(0, 0, 0, 0.12), 0px 0.3px 1px 0px rgba(0, 0, 0, 0.01), 0px 0px 0px 1px rgba(64, 69, 79, 0.40) inset",
18
18
  "lightValue": "0px 2px 8px 0px rgba(0, 0, 0, 0.12), 0px 0.3px 1px 0px rgba(0, 0, 0, 0.01)",
19
- "lightOriginalValue": "12), 0px 0.3px 1px 0px rgba(0, 0, 0, 0"
19
+ "lightOriginalValue": "0px 2px 8px 0px rgba(0, 0, 0, 0.12), 0px 0.3px 1px 0px rgba(0, 0, 0, 0.01)"
20
20
  }
21
21
  },
22
22
  "3": {
@@ -24,9 +24,9 @@
24
24
  "name": "3",
25
25
  "subState": "",
26
26
  "darkValue": "0px 4px 20px 0px rgba(0, 0, 0, 0.20), 0px 0.5px 2.5px 0px rgba(0, 0, 0, 0.16), 0px 0px 0px 1px rgba(64, 69, 79, 0.50) inset",
27
- "darkOriginalValue": "20), 0px 0.5px 2.5px 0px rgba(0, 0, 0, 0.16), 0px 0px 0px 1px rgba(64, 69, 79, 0",
27
+ "darkOriginalValue": "0px 4px 20px 0px rgba(0, 0, 0, 0.20), 0px 0.5px 2.5px 0px rgba(0, 0, 0, 0.16), 0px 0px 0px 1px rgba(64, 69, 79, 0.50) inset",
28
28
  "lightValue": "0px 0.5px 2.5px rgba(0, 0, 0, 0.16), 0px 4px 20px rgba(0, 0, 0, 0.2)",
29
- "lightOriginalValue": "5px 2.5px rgba(0, 0, 0, 0.16), 0px 4px 20px rgba(0, 0, 0, 0"
29
+ "lightOriginalValue": "0px 0.5px 2.5px rgba(0, 0, 0, 0.16), 0px 4px 20px rgba(0, 0, 0, 0.2)"
30
30
  }
31
31
  },
32
32
  "4": {
@@ -34,9 +34,9 @@
34
34
  "name": "4",
35
35
  "subState": "",
36
36
  "darkValue": "0px 32px 112px 0px rgba(0, 0, 0, 0.24), 0px 4px 14px 0px rgba(0, 0, 0, 0.12), 0px 0px 0px 1px rgba(64, 69, 79, 0.50) inset",
37
- "darkOriginalValue": "24), 0px 4px 14px 0px rgba(0, 0, 0, 0.12), 0px 0px 0px 1px rgba(64, 69, 79, 0",
37
+ "darkOriginalValue": "0px 32px 112px 0px rgba(0, 0, 0, 0.24), 0px 4px 14px 0px rgba(0, 0, 0, 0.12), 0px 0px 0px 1px rgba(64, 69, 79, 0.50) inset",
38
38
  "lightValue": "0px 4px 14px rgba(0, 0, 0, 0.12), 0px 32px 112px rgba(0, 0, 0, 0.24)",
39
- "lightOriginalValue": "12), 0px 32px 112px rgba(0, 0, 0, 0"
39
+ "lightOriginalValue": "0px 4px 14px rgba(0, 0, 0, 0.12), 0px 32px 112px rgba(0, 0, 0, 0.24)"
40
40
  }
41
41
  },
42
42
  "badge": {
@@ -2275,9 +2275,9 @@
2275
2275
  "name": "default-ring",
2276
2276
  "subState": "",
2277
2277
  "darkValue": "0px 0px 0px 4px rgba(123, 142, 157, 0.10)",
2278
- "darkOriginalValue": "",
2278
+ "darkOriginalValue": "0px 0px 0px 4px rgba(123, 142, 157, 0.10)",
2279
2279
  "lightValue": "0px 0px 0px 4px rgba(123, 142, 157, 0.10)",
2280
- "lightOriginalValue": ""
2280
+ "lightOriginalValue": "0px 0px 0px 4px rgba(123, 142, 157, 0.10)"
2281
2281
  }
2282
2282
  },
2283
2283
  "focus-ring": {
@@ -2285,9 +2285,9 @@
2285
2285
  "name": "focus-ring",
2286
2286
  "subState": "",
2287
2287
  "darkValue": "0px 0px 0px 4px rgba(4, 122, 136, 0.25)",
2288
- "darkOriginalValue": "",
2288
+ "darkOriginalValue": "0px 0px 0px 4px rgba(4, 122, 136, 0.25)",
2289
2289
  "lightValue": "0px 0px 0px 4px rgba(4, 122, 136, 0.25)",
2290
- "lightOriginalValue": ""
2290
+ "lightOriginalValue": "0px 0px 0px 4px rgba(4, 122, 136, 0.25)"
2291
2291
  }
2292
2292
  }
2293
2293
  }