@backstage/ui 0.13.0-next.1 → 0.13.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 (167) hide show
  1. package/CHANGELOG.md +282 -0
  2. package/dist/analytics/getNodeText.esm.js +21 -0
  3. package/dist/analytics/getNodeText.esm.js.map +1 -0
  4. package/dist/analytics/useAnalytics.esm.js +26 -0
  5. package/dist/analytics/useAnalytics.esm.js.map +1 -0
  6. package/dist/components/Accordion/Accordion.module.css.esm.js +2 -2
  7. package/dist/components/Accordion/definition.esm.js +1 -0
  8. package/dist/components/Accordion/definition.esm.js.map +1 -1
  9. package/dist/components/Alert/definition.esm.js +1 -0
  10. package/dist/components/Alert/definition.esm.js.map +1 -1
  11. package/dist/components/Avatar/definition.esm.js +1 -0
  12. package/dist/components/Avatar/definition.esm.js.map +1 -1
  13. package/dist/components/Box/definition.esm.js +1 -0
  14. package/dist/components/Box/definition.esm.js.map +1 -1
  15. package/dist/components/Button/Button.module.css.esm.js +2 -2
  16. package/dist/components/Button/definition.esm.js +1 -0
  17. package/dist/components/Button/definition.esm.js.map +1 -1
  18. package/dist/components/ButtonIcon/ButtonIcon.module.css.esm.js +2 -2
  19. package/dist/components/ButtonIcon/definition.esm.js +1 -0
  20. package/dist/components/ButtonIcon/definition.esm.js.map +1 -1
  21. package/dist/components/ButtonLink/ButtonLink.esm.js +12 -4
  22. package/dist/components/ButtonLink/ButtonLink.esm.js.map +1 -1
  23. package/dist/components/ButtonLink/ButtonLink.module.css.esm.js +2 -2
  24. package/dist/components/ButtonLink/definition.esm.js +3 -0
  25. package/dist/components/ButtonLink/definition.esm.js.map +1 -1
  26. package/dist/components/Card/Card.esm.js +66 -5
  27. package/dist/components/Card/Card.esm.js.map +1 -1
  28. package/dist/components/Card/Card.module.css.esm.js +2 -2
  29. package/dist/components/Card/definition.esm.js +10 -2
  30. package/dist/components/Card/definition.esm.js.map +1 -1
  31. package/dist/components/Checkbox/Checkbox.esm.js +12 -3
  32. package/dist/components/Checkbox/Checkbox.esm.js.map +1 -1
  33. package/dist/components/Checkbox/Checkbox.module.css.esm.js +2 -2
  34. package/dist/components/Checkbox/definition.esm.js +1 -2
  35. package/dist/components/Checkbox/definition.esm.js.map +1 -1
  36. package/dist/components/Container/Container.module.css.esm.js +2 -2
  37. package/dist/components/Container/definition.esm.js +1 -0
  38. package/dist/components/Container/definition.esm.js.map +1 -1
  39. package/dist/components/Dialog/Dialog.esm.js +3 -1
  40. package/dist/components/Dialog/Dialog.esm.js.map +1 -1
  41. package/dist/components/Dialog/Dialog.module.css.esm.js +2 -2
  42. package/dist/components/Dialog/definition.esm.js +1 -0
  43. package/dist/components/Dialog/definition.esm.js.map +1 -1
  44. package/dist/components/FieldError/definition.esm.js +1 -0
  45. package/dist/components/FieldError/definition.esm.js.map +1 -1
  46. package/dist/components/FieldLabel/definition.esm.js +1 -0
  47. package/dist/components/FieldLabel/definition.esm.js.map +1 -1
  48. package/dist/components/Flex/Flex.esm.js +2 -1
  49. package/dist/components/Flex/Flex.esm.js.map +1 -1
  50. package/dist/components/Flex/definition.esm.js +1 -0
  51. package/dist/components/Flex/definition.esm.js.map +1 -1
  52. package/dist/components/FullPage/definition.esm.js +1 -0
  53. package/dist/components/FullPage/definition.esm.js.map +1 -1
  54. package/dist/components/Grid/Grid.esm.js +4 -2
  55. package/dist/components/Grid/Grid.esm.js.map +1 -1
  56. package/dist/components/Grid/definition.esm.js +1 -0
  57. package/dist/components/Grid/definition.esm.js.map +1 -1
  58. package/dist/components/{HeaderPage/HeaderPage.esm.js → Header/Header.esm.js} +6 -5
  59. package/dist/components/Header/Header.esm.js.map +1 -0
  60. package/dist/components/Header/Header.module.css.esm.js +8 -0
  61. package/dist/components/Header/Header.module.css.esm.js.map +1 -0
  62. package/dist/components/{HeaderPage → Header}/definition.esm.js +10 -8
  63. package/dist/components/Header/definition.esm.js.map +1 -0
  64. package/dist/components/Link/Link.esm.js +11 -3
  65. package/dist/components/Link/Link.esm.js.map +1 -1
  66. package/dist/components/Link/definition.esm.js +3 -0
  67. package/dist/components/Link/definition.esm.js.map +1 -1
  68. package/dist/components/List/List.esm.js +70 -0
  69. package/dist/components/List/List.esm.js.map +1 -0
  70. package/dist/components/List/List.module.css.esm.js +8 -0
  71. package/dist/components/List/List.module.css.esm.js.map +1 -0
  72. package/dist/components/List/definition.esm.js +44 -0
  73. package/dist/components/List/definition.esm.js.map +1 -0
  74. package/dist/components/Menu/Menu.esm.js +24 -9
  75. package/dist/components/Menu/Menu.esm.js.map +1 -1
  76. package/dist/components/Menu/Menu.module.css.esm.js +2 -2
  77. package/dist/components/Menu/definition.esm.js +3 -0
  78. package/dist/components/Menu/definition.esm.js.map +1 -1
  79. package/dist/components/PasswordField/definition.esm.js +1 -0
  80. package/dist/components/PasswordField/definition.esm.js.map +1 -1
  81. package/dist/components/PluginHeader/PluginHeader.esm.js +40 -8
  82. package/dist/components/PluginHeader/PluginHeader.esm.js.map +1 -1
  83. package/dist/components/PluginHeader/PluginHeader.module.css.esm.js +2 -2
  84. package/dist/components/PluginHeader/definition.esm.js +1 -0
  85. package/dist/components/PluginHeader/definition.esm.js.map +1 -1
  86. package/dist/components/Popover/definition.esm.js +1 -0
  87. package/dist/components/Popover/definition.esm.js.map +1 -1
  88. package/dist/components/RadioGroup/definition.esm.js +1 -0
  89. package/dist/components/RadioGroup/definition.esm.js.map +1 -1
  90. package/dist/components/SearchAutocomplete/SearchAutocomplete.esm.js +164 -0
  91. package/dist/components/SearchAutocomplete/SearchAutocomplete.esm.js.map +1 -0
  92. package/dist/components/SearchAutocomplete/SearchAutocomplete.module.css.esm.js +8 -0
  93. package/dist/components/SearchAutocomplete/SearchAutocomplete.module.css.esm.js.map +1 -0
  94. package/dist/components/SearchAutocomplete/definition.esm.js +52 -0
  95. package/dist/components/SearchAutocomplete/definition.esm.js.map +1 -0
  96. package/dist/components/SearchField/SearchField.module.css.esm.js +2 -2
  97. package/dist/components/SearchField/definition.esm.js +2 -0
  98. package/dist/components/SearchField/definition.esm.js.map +1 -1
  99. package/dist/components/Select/Select.module.css.esm.js +2 -2
  100. package/dist/components/Select/SelectTrigger.esm.js +5 -2
  101. package/dist/components/Select/SelectTrigger.esm.js.map +1 -1
  102. package/dist/components/Select/definition.esm.js +2 -0
  103. package/dist/components/Select/definition.esm.js.map +1 -1
  104. package/dist/components/Skeleton/definition.esm.js +1 -0
  105. package/dist/components/Skeleton/definition.esm.js.map +1 -1
  106. package/dist/components/Switch/definition.esm.js +1 -0
  107. package/dist/components/Switch/definition.esm.js.map +1 -1
  108. package/dist/components/Table/Table.module.css.esm.js +2 -2
  109. package/dist/components/Table/components/Column.esm.js +1 -1
  110. package/dist/components/Table/components/Column.esm.js.map +1 -1
  111. package/dist/components/Table/components/Row.esm.js +34 -9
  112. package/dist/components/Table/components/Row.esm.js.map +1 -1
  113. package/dist/components/Table/components/Table.esm.js +80 -67
  114. package/dist/components/Table/components/Table.esm.js.map +1 -1
  115. package/dist/components/Table/components/TableBodySkeleton.esm.js +33 -0
  116. package/dist/components/Table/components/TableBodySkeleton.esm.js.map +1 -0
  117. package/dist/components/Table/components/TableHeader.esm.js +2 -2
  118. package/dist/components/Table/components/TableHeader.esm.js.map +1 -1
  119. package/dist/components/Table/components/TableRoot.esm.js +1 -1
  120. package/dist/components/Table/components/TableRoot.esm.js.map +1 -1
  121. package/dist/components/Table/definition.esm.js +19 -3
  122. package/dist/components/Table/definition.esm.js.map +1 -1
  123. package/dist/components/Table/hooks/useCompletePagination.esm.js +14 -6
  124. package/dist/components/Table/hooks/useCompletePagination.esm.js.map +1 -1
  125. package/dist/components/TablePagination/definition.esm.js +1 -0
  126. package/dist/components/TablePagination/definition.esm.js.map +1 -1
  127. package/dist/components/Tabs/Tabs.esm.js +22 -8
  128. package/dist/components/Tabs/Tabs.esm.js.map +1 -1
  129. package/dist/components/Tabs/definition.esm.js +4 -1
  130. package/dist/components/Tabs/definition.esm.js.map +1 -1
  131. package/dist/components/TagGroup/TagGroup.esm.js +16 -6
  132. package/dist/components/TagGroup/TagGroup.esm.js.map +1 -1
  133. package/dist/components/TagGroup/definition.esm.js +3 -0
  134. package/dist/components/TagGroup/definition.esm.js.map +1 -1
  135. package/dist/components/Text/definition.esm.js +1 -0
  136. package/dist/components/Text/definition.esm.js.map +1 -1
  137. package/dist/components/TextField/TextField.module.css.esm.js +2 -2
  138. package/dist/components/TextField/definition.esm.js +2 -0
  139. package/dist/components/TextField/definition.esm.js.map +1 -1
  140. package/dist/components/ToggleButton/definition.esm.js +1 -0
  141. package/dist/components/ToggleButton/definition.esm.js.map +1 -1
  142. package/dist/components/ToggleButtonGroup/ToggleButtonGroup.module.css.esm.js +2 -2
  143. package/dist/components/ToggleButtonGroup/definition.esm.js +1 -0
  144. package/dist/components/ToggleButtonGroup/definition.esm.js.map +1 -1
  145. package/dist/components/Tooltip/definition.esm.js +1 -0
  146. package/dist/components/Tooltip/definition.esm.js.map +1 -1
  147. package/dist/components/VisuallyHidden/definition.esm.js +1 -0
  148. package/dist/components/VisuallyHidden/definition.esm.js.map +1 -1
  149. package/dist/css/styles.css +4 -3
  150. package/dist/hooks/useDefinition/defineComponent.esm.js.map +1 -1
  151. package/dist/hooks/useDefinition/useDefinition.esm.js +8 -1
  152. package/dist/hooks/useDefinition/useDefinition.esm.js.map +1 -1
  153. package/dist/index.d.ts +512 -42
  154. package/dist/index.esm.js +9 -2
  155. package/dist/index.esm.js.map +1 -1
  156. package/dist/provider/BUIProvider.esm.js +28 -0
  157. package/dist/provider/BUIProvider.esm.js.map +1 -0
  158. package/dist/utils/{isExternalLink.esm.js → linkUtils.esm.js} +5 -2
  159. package/dist/utils/linkUtils.esm.js.map +1 -0
  160. package/package.json +4 -4
  161. package/dist/components/HeaderPage/HeaderPage.esm.js.map +0 -1
  162. package/dist/components/HeaderPage/HeaderPage.module.css.esm.js +0 -8
  163. package/dist/components/HeaderPage/HeaderPage.module.css.esm.js.map +0 -1
  164. package/dist/components/HeaderPage/definition.esm.js.map +0 -1
  165. package/dist/components/InternalLinkProvider/InternalLinkProvider.esm.js +0 -55
  166. package/dist/components/InternalLinkProvider/InternalLinkProvider.esm.js.map +0 -1
  167. package/dist/utils/isExternalLink.esm.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react from 'react';
2
- import { ReactNode, CSSProperties, ComponentPropsWithoutRef, ReactElement, ElementType, ComponentPropsWithRef, ComponentProps } from 'react';
3
- import { DisclosureProps, HeadingProps, DisclosurePanelProps, DisclosureGroupProps, ButtonProps as ButtonProps$1, DialogTriggerProps as DialogTriggerProps$1, ModalOverlayProps, TabsProps as TabsProps$1, TabListProps as TabListProps$1, TabProps as TabProps$1, TabPanelProps as TabPanelProps$1, LinkProps as LinkProps$1, CheckboxProps as CheckboxProps$1, RadioGroupProps as RadioGroupProps$1, RadioProps as RadioProps$1, TableProps as TableProps$1, TableHeaderProps as TableHeaderProps$1, TableBodyProps as TableBodyProps$1, ColumnProps as ColumnProps$1, RowProps as RowProps$1, CellProps as CellProps$1, TagListProps, TagGroupProps as TagGroupProps$1, TagProps as TagProps$1, TextFieldProps as TextFieldProps$1, TooltipProps as TooltipProps$1, TooltipTriggerComponentProps, MenuTriggerProps as MenuTriggerProps$1, SubmenuTriggerProps as SubmenuTriggerProps$1, PopoverProps as PopoverProps$1, MenuProps as MenuProps$1, ListBoxProps, MenuItemProps as MenuItemProps$1, ListBoxItemProps, MenuSectionProps as MenuSectionProps$1, SeparatorProps, SearchFieldProps as SearchFieldProps$1, SelectProps as SelectProps$1, SwitchProps as SwitchProps$1, ToggleButtonProps as ToggleButtonProps$1, ToggleButtonGroupProps as ToggleButtonGroupProps$1 } from 'react-aria-components';
2
+ import { ReactNode, CSSProperties, HTMLAttributes, ComponentPropsWithoutRef, ReactElement, ElementType, ComponentPropsWithRef, ComponentProps } from 'react';
3
+ import { DisclosureProps, HeadingProps, DisclosurePanelProps, DisclosureGroupProps, ButtonProps as ButtonProps$1, DialogTriggerProps as DialogTriggerProps$1, ModalOverlayProps, TabsProps as TabsProps$1, TabListProps as TabListProps$1, TabProps as TabProps$1, TabPanelProps as TabPanelProps$1, LinkProps as LinkProps$1, CheckboxProps as CheckboxProps$1, RadioGroupProps as RadioGroupProps$1, RadioProps as RadioProps$1, TableProps as TableProps$1, TableHeaderProps as TableHeaderProps$1, TableBodyProps as TableBodyProps$1, ColumnProps as ColumnProps$1, RowProps as RowProps$1, CellProps as CellProps$1, TagListProps, TagGroupProps as TagGroupProps$1, TagProps as TagProps$1, TextFieldProps as TextFieldProps$1, TooltipProps as TooltipProps$1, TooltipTriggerComponentProps, MenuTriggerProps as MenuTriggerProps$1, SubmenuTriggerProps as SubmenuTriggerProps$1, PopoverProps as PopoverProps$1, MenuProps as MenuProps$1, ListBoxProps, MenuItemProps as MenuItemProps$1, ListBoxItemProps, MenuSectionProps as MenuSectionProps$1, SeparatorProps, SearchFieldProps as SearchFieldProps$1, GridListProps, GridListItemProps, SelectProps as SelectProps$1, SwitchProps as SwitchProps$1, ToggleButtonProps as ToggleButtonProps$1, ToggleButtonGroupProps as ToggleButtonGroupProps$1 } from 'react-aria-components';
4
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
5
  import { NavigateOptions } from 'react-router-dom';
6
6
  import { SortDescriptor as SortDescriptor$1 } from 'react-stately';
@@ -163,7 +163,7 @@ type GridOwnProps = {
163
163
  bg?: Responsive<ProviderBg>;
164
164
  };
165
165
  /** @public */
166
- interface GridProps extends SpaceProps, GridOwnProps {
166
+ interface GridProps extends SpaceProps, GridOwnProps, Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
167
167
  columns?: Responsive<Columns>;
168
168
  gap?: Responsive<Space>;
169
169
  }
@@ -175,7 +175,7 @@ type GridItemOwnProps = {
175
175
  bg?: Responsive<ProviderBg>;
176
176
  };
177
177
  /** @public */
178
- interface GridItemProps extends GridItemOwnProps {
178
+ interface GridItemProps extends GridItemOwnProps, Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
179
179
  colSpan?: Responsive<Columns>;
180
180
  colEnd?: Responsive<Columns>;
181
181
  colStart?: Responsive<Columns>;
@@ -241,7 +241,7 @@ type FlexOwnProps = {
241
241
  bg?: Responsive<ProviderBg>;
242
242
  };
243
243
  /** @public */
244
- interface FlexProps extends SpaceProps, FlexOwnProps {
244
+ interface FlexProps extends SpaceProps, FlexOwnProps, Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {
245
245
  gap?: Responsive<Space>;
246
246
  align?: Responsive<'start' | 'center' | 'end' | 'baseline' | 'stretch'>;
247
247
  justify?: Responsive<'start' | 'center' | 'end' | 'between'>;
@@ -749,17 +749,56 @@ declare const ButtonDefinition: {
749
749
  };
750
750
 
751
751
  /** @public */
752
- type CardOwnProps = {
752
+ type CardBaseProps = {
753
753
  children?: ReactNode;
754
754
  className?: string;
755
755
  };
756
+ /** @public */
757
+ type CardButtonVariant = {
758
+ /** Handler called when the card is pressed. Makes the card interactive as a button. */
759
+ onPress: NonNullable<ButtonProps$1['onPress']>;
760
+ href?: never;
761
+ /** Accessible label announced by screen readers for the interactive card. */
762
+ label: string;
763
+ target?: never;
764
+ rel?: never;
765
+ download?: never;
766
+ };
767
+ /** @public */
768
+ type CardLinkVariant = {
769
+ /** URL to navigate to. Makes the card interactive as a link. */
770
+ href: string;
771
+ onPress?: never;
772
+ /** Accessible label announced by screen readers for the interactive card. */
773
+ label: string;
774
+ /** Specifies where to open the linked URL (e.g. `_blank` for a new tab). */
775
+ target?: string;
776
+ /** Relationship between the current document and the linked URL (e.g. `noopener`). */
777
+ rel?: string;
778
+ /** Prompts the user to save the linked URL. Pass `true` for default filename or a string for a custom filename. */
779
+ download?: boolean | string;
780
+ };
781
+ /** @public */
782
+ type CardStaticVariant = {
783
+ onPress?: never;
784
+ href?: never;
785
+ label?: never;
786
+ target?: never;
787
+ rel?: never;
788
+ download?: never;
789
+ };
756
790
  /**
757
791
  * Props for the Card component.
758
792
  *
759
793
  * @public
760
794
  */
761
- interface CardProps extends CardOwnProps, React.HTMLAttributes<HTMLDivElement> {
762
- }
795
+ type CardProps = CardBaseProps & Omit<React.HTMLAttributes<HTMLDivElement>, 'onClick'> & (CardButtonVariant | CardLinkVariant | CardStaticVariant);
796
+ /**
797
+ * Flat own-props shape used by the component definition system.
798
+ * Derived from the Card variant types so it automatically stays in sync with CardProps.
799
+ * @public
800
+ */
801
+ type CardOwnProps = Pick<CardBaseProps & (CardButtonVariant | CardLinkVariant | CardStaticVariant), 'children' | 'className' | 'onPress' | 'href' | 'label' | 'target' | 'rel' | 'download'>;
763
802
  /** @public */
764
803
  type CardHeaderOwnProps = {
765
804
  children?: ReactNode;
@@ -832,10 +871,17 @@ declare const CardDefinition: {
832
871
  };
833
872
  readonly classNames: {
834
873
  readonly root: "bui-Card";
874
+ readonly trigger: "bui-CardTrigger";
835
875
  };
836
876
  readonly propDefs: {
837
877
  readonly children: {};
838
878
  readonly className: {};
879
+ readonly onPress: {};
880
+ readonly href: {};
881
+ readonly label: {};
882
+ readonly target: {};
883
+ readonly rel: {};
884
+ readonly download: {};
839
885
  };
840
886
  };
841
887
  /**
@@ -1131,6 +1177,7 @@ type TabOwnProps = {
1131
1177
  matchStrategy?: TabMatchStrategy;
1132
1178
  href?: TabProps$1['href'];
1133
1179
  id?: TabProps$1['id'];
1180
+ noTrack?: boolean;
1134
1181
  };
1135
1182
  /**
1136
1183
  * Props for the Tab component.
@@ -1278,55 +1325,98 @@ declare const PluginHeaderDefinition: {
1278
1325
  };
1279
1326
 
1280
1327
  /**
1281
- * Own props for the HeaderPage component.
1328
+ * Own props for the Header component.
1282
1329
  *
1283
1330
  * @public
1284
1331
  */
1285
- interface HeaderPageOwnProps {
1332
+ interface HeaderOwnProps {
1286
1333
  title?: string;
1287
1334
  customActions?: React.ReactNode;
1288
1335
  tabs?: HeaderTab[];
1289
- breadcrumbs?: HeaderPageBreadcrumb[];
1336
+ breadcrumbs?: HeaderBreadcrumb[];
1290
1337
  className?: string;
1291
1338
  }
1292
1339
  /**
1293
- * Props for the main HeaderPage component.
1340
+ * Props for the Header component.
1294
1341
  *
1295
1342
  * @public
1296
1343
  */
1297
- interface HeaderPageProps extends HeaderPageOwnProps {
1344
+ interface HeaderProps extends HeaderOwnProps {
1298
1345
  }
1299
1346
  /**
1300
1347
  * Represents a breadcrumb item in the header.
1301
1348
  *
1302
1349
  * @public
1303
1350
  */
1304
- interface HeaderPageBreadcrumb {
1351
+ interface HeaderBreadcrumb {
1305
1352
  label: string;
1306
1353
  href: string;
1307
1354
  }
1355
+ /**
1356
+ * @public
1357
+ * @deprecated Use {@link HeaderOwnProps} instead.
1358
+ */
1359
+ type HeaderPageOwnProps = HeaderOwnProps;
1360
+ /**
1361
+ * @public
1362
+ * @deprecated Use {@link HeaderProps} instead.
1363
+ */
1364
+ type HeaderPageProps = HeaderProps;
1365
+ /**
1366
+ * @public
1367
+ * @deprecated Use {@link HeaderBreadcrumb} instead.
1368
+ */
1369
+ type HeaderPageBreadcrumb = HeaderBreadcrumb;
1308
1370
 
1309
1371
  /**
1310
- * A component that renders a header page.
1372
+ * A secondary header with title, breadcrumbs, tabs, and actions.
1311
1373
  *
1312
1374
  * @public
1313
1375
  */
1314
- declare const HeaderPage: (props: HeaderPageProps) => react_jsx_runtime.JSX.Element;
1376
+ declare const Header: (props: HeaderProps) => react_jsx_runtime.JSX.Element;
1377
+ /**
1378
+ * @public
1379
+ * @deprecated Use {@link Header} instead.
1380
+ */
1381
+ declare const HeaderPage: (props: HeaderProps) => react_jsx_runtime.JSX.Element;
1315
1382
 
1316
1383
  /**
1317
- * Component definition for HeaderPage
1384
+ * Component definition for Header
1318
1385
  * @public
1319
1386
  */
1387
+ declare const HeaderDefinition: {
1388
+ readonly styles: {
1389
+ readonly [key: string]: string;
1390
+ };
1391
+ readonly classNames: {
1392
+ readonly root: "bui-Header";
1393
+ readonly content: "bui-HeaderContent";
1394
+ readonly breadcrumbs: "bui-HeaderBreadcrumbs";
1395
+ readonly tabsWrapper: "bui-HeaderTabsWrapper";
1396
+ readonly controls: "bui-HeaderControls";
1397
+ };
1398
+ readonly propDefs: {
1399
+ readonly title: {};
1400
+ readonly customActions: {};
1401
+ readonly tabs: {};
1402
+ readonly breadcrumbs: {};
1403
+ readonly className: {};
1404
+ };
1405
+ };
1406
+ /**
1407
+ * @public
1408
+ * @deprecated Use {@link HeaderDefinition} instead.
1409
+ */
1320
1410
  declare const HeaderPageDefinition: {
1321
1411
  readonly styles: {
1322
1412
  readonly [key: string]: string;
1323
1413
  };
1324
1414
  readonly classNames: {
1325
- readonly root: "bui-HeaderPage";
1326
- readonly content: "bui-HeaderPageContent";
1327
- readonly breadcrumbs: "bui-HeaderPageBreadcrumbs";
1328
- readonly tabsWrapper: "bui-HeaderPageTabsWrapper";
1329
- readonly controls: "bui-HeaderPageControls";
1415
+ readonly root: "bui-Header";
1416
+ readonly content: "bui-HeaderContent";
1417
+ readonly breadcrumbs: "bui-HeaderBreadcrumbs";
1418
+ readonly tabsWrapper: "bui-HeaderTabsWrapper";
1419
+ readonly controls: "bui-HeaderControls";
1330
1420
  };
1331
1421
  readonly propDefs: {
1332
1422
  readonly title: {};
@@ -1389,6 +1479,7 @@ declare const ButtonIconDefinition: {
1389
1479
 
1390
1480
  /** @public */
1391
1481
  type ButtonLinkOwnProps = {
1482
+ noTrack?: boolean;
1392
1483
  size?: Responsive<'small' | 'medium'>;
1393
1484
  variant?: Responsive<'primary' | 'secondary' | 'tertiary'>;
1394
1485
  iconStart?: ReactElement;
@@ -1420,7 +1511,9 @@ declare const ButtonLinkDefinition: {
1420
1511
  readonly content: "bui-ButtonLinkContent";
1421
1512
  };
1422
1513
  readonly bg: "consumer";
1514
+ readonly analytics: true;
1423
1515
  readonly propDefs: {
1516
+ readonly noTrack: {};
1424
1517
  readonly size: {
1425
1518
  readonly dataAttribute: true;
1426
1519
  readonly default: "small";
@@ -1438,9 +1531,7 @@ declare const ButtonLinkDefinition: {
1438
1531
 
1439
1532
  /** @public */
1440
1533
  type CheckboxOwnProps = {
1441
- selected?: boolean;
1442
- indeterminate?: boolean;
1443
- children: React.ReactNode;
1534
+ children?: React.ReactNode;
1444
1535
  className?: string;
1445
1536
  };
1446
1537
  /** @public */
@@ -1463,12 +1554,6 @@ declare const CheckboxDefinition: {
1463
1554
  readonly indicator: "bui-CheckboxIndicator";
1464
1555
  };
1465
1556
  readonly propDefs: {
1466
- readonly selected: {
1467
- readonly dataAttribute: true;
1468
- };
1469
- readonly indeterminate: {
1470
- readonly dataAttribute: true;
1471
- };
1472
1557
  readonly children: {};
1473
1558
  readonly className: {};
1474
1559
  };
@@ -1615,6 +1700,7 @@ interface SortState {
1615
1700
  /** @public */
1616
1701
  type TableRootOwnProps = {
1617
1702
  stale?: boolean;
1703
+ loading?: boolean;
1618
1704
  };
1619
1705
  /** @public */
1620
1706
  interface TableRootProps extends TableRootOwnProps, Omit<TableProps$1, keyof TableRootOwnProps> {
@@ -1637,6 +1723,7 @@ type RowOwnProps<T = object> = {
1637
1723
  columns?: RowProps$1<T>['columns'];
1638
1724
  children?: RowProps$1<T>['children'];
1639
1725
  href?: string;
1726
+ noTrack?: boolean;
1640
1727
  };
1641
1728
  /** @public */
1642
1729
  interface RowProps<T> extends RowOwnProps<T>, Omit<RowProps$1<T>, keyof RowOwnProps> {
@@ -1649,14 +1736,32 @@ type ColumnOwnProps = {
1649
1736
  /** @public */
1650
1737
  interface ColumnProps extends ColumnOwnProps, Omit<ColumnProps$1, keyof ColumnOwnProps> {
1651
1738
  }
1652
- /** @public */
1739
+ /**
1740
+ * Own props for the {@link Cell} component.
1741
+ *
1742
+ * @public
1743
+ */
1653
1744
  type CellOwnProps = {
1654
1745
  className?: string;
1655
1746
  };
1656
- /** @public */
1747
+ /**
1748
+ * Props for the {@link Cell} component.
1749
+ *
1750
+ * `Cell` is a generic cell wrapper for custom cell content. When rendering
1751
+ * cells via {@link ColumnConfig.cell} or a custom {@link RowRenderFn}, the
1752
+ * returned element **must** be a cell component (`Cell`, `CellText`, or
1753
+ * `CellProfile`) at the top level. Returning bare text or other elements
1754
+ * without a cell wrapper will break the table layout.
1755
+ *
1756
+ * @public
1757
+ */
1657
1758
  interface CellProps extends CellOwnProps, Omit<CellProps$1, keyof CellOwnProps> {
1658
1759
  }
1659
- /** @public */
1760
+ /**
1761
+ * Own props for the {@link CellText} component.
1762
+ *
1763
+ * @public
1764
+ */
1660
1765
  type CellTextOwnProps = {
1661
1766
  title: string;
1662
1767
  description?: string;
@@ -1665,10 +1770,23 @@ type CellTextOwnProps = {
1665
1770
  href?: string;
1666
1771
  className?: string;
1667
1772
  };
1668
- /** @public */
1773
+ /**
1774
+ * Props for the {@link CellText} component.
1775
+ *
1776
+ * `CellText` renders a table cell with a title and optional description. It
1777
+ * is one of the cell components (`Cell`, `CellText`, `CellProfile`) that
1778
+ * **must** be used as the top-level element returned from
1779
+ * {@link ColumnConfig.cell} or a custom {@link RowRenderFn}.
1780
+ *
1781
+ * @public
1782
+ */
1669
1783
  interface CellTextProps extends CellTextOwnProps, Omit<CellProps$1, keyof CellTextOwnProps> {
1670
1784
  }
1671
- /** @public */
1785
+ /**
1786
+ * Own props for the {@link CellProfile} component.
1787
+ *
1788
+ * @public
1789
+ */
1672
1790
  type CellProfileOwnProps = {
1673
1791
  src?: string;
1674
1792
  name?: string;
@@ -1677,7 +1795,16 @@ type CellProfileOwnProps = {
1677
1795
  color?: TextColors;
1678
1796
  className?: string;
1679
1797
  };
1680
- /** @public */
1798
+ /**
1799
+ * Props for the {@link CellProfile} component.
1800
+ *
1801
+ * `CellProfile` renders a table cell with an avatar, name, and optional
1802
+ * description. It is one of the cell components (`Cell`, `CellText`,
1803
+ * `CellProfile`) that **must** be used as the top-level element returned
1804
+ * from {@link ColumnConfig.cell} or a custom {@link RowRenderFn}.
1805
+ *
1806
+ * @public
1807
+ */
1681
1808
  interface CellProfileProps extends CellProfileOwnProps, Omit<CellProps$1, keyof CellProfileOwnProps> {
1682
1809
  }
1683
1810
  /** @public */
@@ -1694,10 +1821,27 @@ interface PagePagination extends TablePaginationProps {
1694
1821
  }
1695
1822
  /** @public */
1696
1823
  type TablePaginationType = NoPagination | PagePagination;
1697
- /** @public */
1824
+ /**
1825
+ * Configuration for a single table column.
1826
+ *
1827
+ * @public
1828
+ */
1698
1829
  interface ColumnConfig<T extends TableItem> {
1699
1830
  id: string;
1700
1831
  label: string;
1832
+ /**
1833
+ * Renders the cell content for this column.
1834
+ *
1835
+ * **Important:** The returned element **must** be a cell component at the
1836
+ * top level — either `Cell`, `CellText`, or `CellProfile`. Returning bare
1837
+ * text, fragments, or other elements without a cell wrapper will break the
1838
+ * table layout.
1839
+ *
1840
+ * @example
1841
+ * ```tsx
1842
+ * cell: item => <CellText title={item.name} />
1843
+ * ```
1844
+ */
1701
1845
  cell: (item: T) => ReactElement;
1702
1846
  header?: () => ReactElement;
1703
1847
  isSortable?: boolean;
@@ -1714,7 +1858,16 @@ interface RowConfig<T extends TableItem> {
1714
1858
  onClick?: (item: T) => void;
1715
1859
  getIsDisabled?: (item: T) => boolean;
1716
1860
  }
1717
- /** @public */
1861
+ /**
1862
+ * Custom render function for table rows.
1863
+ *
1864
+ * When using a custom row render function, each cell rendered inside the row
1865
+ * **must** use a cell component (`Cell`, `CellText`, or `CellProfile`) as
1866
+ * the top-level element. Returning bare text or other elements without a
1867
+ * cell wrapper will break the table layout.
1868
+ *
1869
+ * @public
1870
+ */
1718
1871
  type RowRenderFn<T extends TableItem> = (params: {
1719
1872
  item: T;
1720
1873
  index: number;
@@ -1727,6 +1880,12 @@ interface TableSelection {
1727
1880
  onSelectionChange?: TableProps$1['onSelectionChange'];
1728
1881
  }
1729
1882
  /** @public */
1883
+ type VirtualizedProp = boolean | {
1884
+ rowHeight: number;
1885
+ } | {
1886
+ estimatedRowHeight: number;
1887
+ };
1888
+ /** @public */
1730
1889
  interface TableProps<T extends TableItem> {
1731
1890
  columnConfig: readonly ColumnConfig<T>[];
1732
1891
  data: T[] | undefined;
@@ -1740,10 +1899,11 @@ interface TableProps<T extends TableItem> {
1740
1899
  emptyState?: ReactNode;
1741
1900
  className?: string;
1742
1901
  style?: React.CSSProperties;
1902
+ virtualized?: VirtualizedProp;
1743
1903
  }
1744
1904
 
1745
1905
  /** @public */
1746
- declare function Table<T extends TableItem>({ columnConfig, data, loading, isStale, error, pagination, sort, rowConfig, selection, emptyState, className, style, }: TableProps<T>): react_jsx_runtime.JSX.Element;
1906
+ declare function Table<T extends TableItem>({ columnConfig, data, loading, isStale, error, pagination, sort, rowConfig, selection, emptyState, className, style, virtualized, }: TableProps<T>): react_jsx_runtime.JSX.Element;
1747
1907
 
1748
1908
  /** @public */
1749
1909
  declare const TableRoot: (props: TableRootProps) => react_jsx_runtime.JSX.Element;
@@ -1885,6 +2045,9 @@ declare const TableDefinition: {
1885
2045
  readonly stale: {
1886
2046
  readonly dataAttribute: true;
1887
2047
  };
2048
+ readonly loading: {
2049
+ readonly dataAttribute: true;
2050
+ };
1888
2051
  };
1889
2052
  };
1890
2053
 
@@ -1923,6 +2086,7 @@ type TagOwnProps = {
1923
2086
  href?: TagProps$1['href'];
1924
2087
  children?: TagProps$1['children'];
1925
2088
  className?: string;
2089
+ noTrack?: boolean;
1926
2090
  };
1927
2091
  /**
1928
2092
  * Props for the Tag component.
@@ -2069,6 +2233,7 @@ declare const TextFieldDefinition: {
2069
2233
  readonly inputIcon: "bui-InputIcon";
2070
2234
  readonly inputAction: "bui-InputAction";
2071
2235
  };
2236
+ readonly bg: "consumer";
2072
2237
  readonly propDefs: {
2073
2238
  readonly size: {
2074
2239
  readonly dataAttribute: true;
@@ -2224,6 +2389,7 @@ type MenuItemOwnProps = {
2224
2389
  children: React.ReactNode;
2225
2390
  color?: 'primary' | 'danger';
2226
2391
  href?: MenuItemProps$1['href'];
2392
+ noTrack?: boolean;
2227
2393
  className?: string;
2228
2394
  };
2229
2395
  /** @public */
@@ -2383,6 +2549,117 @@ declare const PopoverDefinition: {
2383
2549
  };
2384
2550
  };
2385
2551
 
2552
+ /** @public */
2553
+ type SearchAutocompleteOwnProps = {
2554
+ /**
2555
+ * The current value of the search input (controlled).
2556
+ */
2557
+ inputValue?: string;
2558
+ /**
2559
+ * Handler called when the search input value changes.
2560
+ */
2561
+ onInputChange?: (value: string) => void;
2562
+ /**
2563
+ * The size of the search input.
2564
+ * @defaultValue 'small'
2565
+ */
2566
+ size?: 'small' | 'medium' | Partial<Record<Breakpoint, 'small' | 'medium'>>;
2567
+ /**
2568
+ * Accessible label for the search input.
2569
+ */
2570
+ 'aria-label'?: string;
2571
+ /**
2572
+ * ID of the element that labels the search input.
2573
+ */
2574
+ 'aria-labelledby'?: string;
2575
+ /**
2576
+ * The placeholder text for the search input.
2577
+ */
2578
+ placeholder?: string;
2579
+ /**
2580
+ * Width of the results popover. Accepts any CSS width value.
2581
+ * When not set, the popover matches the input width.
2582
+ */
2583
+ popoverWidth?: string;
2584
+ /**
2585
+ * Placement of the results popover relative to the input.
2586
+ * @defaultValue 'bottom start'
2587
+ */
2588
+ popoverPlacement?: PopoverProps$1['placement'];
2589
+ /**
2590
+ * The result items to render inside the autocomplete.
2591
+ */
2592
+ children?: ReactNode;
2593
+ /**
2594
+ * Whether results are currently loading.
2595
+ * When true, displays a loading indicator and announces the loading state to screen readers.
2596
+ */
2597
+ isLoading?: boolean;
2598
+ /**
2599
+ * Whether the results popover is open by default.
2600
+ */
2601
+ defaultOpen?: boolean;
2602
+ className?: string;
2603
+ style?: React.CSSProperties;
2604
+ };
2605
+ /** @public */
2606
+ interface SearchAutocompleteProps extends SearchAutocompleteOwnProps {
2607
+ }
2608
+ /** @public */
2609
+ type SearchAutocompleteItemOwnProps = {
2610
+ children: ReactNode;
2611
+ className?: string;
2612
+ };
2613
+ /** @public */
2614
+ interface SearchAutocompleteItemProps extends SearchAutocompleteItemOwnProps, Omit<ListBoxItemProps, keyof SearchAutocompleteItemOwnProps> {
2615
+ }
2616
+
2617
+ /** @public */
2618
+ declare function SearchAutocomplete(props: SearchAutocompleteProps): react_jsx_runtime.JSX.Element;
2619
+ /** @public */
2620
+ declare function SearchAutocompleteItem(props: SearchAutocompleteItemProps): react_jsx_runtime.JSX.Element;
2621
+
2622
+ /**
2623
+ * Component definition for SearchAutocomplete.
2624
+ * @public
2625
+ */
2626
+ declare const SearchAutocompleteDefinition: {
2627
+ readonly styles: {
2628
+ readonly [key: string]: string;
2629
+ };
2630
+ readonly classNames: {
2631
+ readonly root: "bui-SearchAutocomplete";
2632
+ readonly searchField: "bui-SearchAutocompleteSearchField";
2633
+ readonly searchFieldInput: "bui-SearchAutocompleteInput";
2634
+ readonly searchFieldClear: "bui-SearchAutocompleteClear";
2635
+ readonly popover: "bui-SearchAutocompletePopover";
2636
+ readonly inner: "bui-SearchAutocompleteInner";
2637
+ readonly listBox: "bui-SearchAutocompleteListBox";
2638
+ readonly loadingState: "bui-SearchAutocompleteLoadingState";
2639
+ readonly emptyState: "bui-SearchAutocompleteEmptyState";
2640
+ };
2641
+ readonly propDefs: {
2642
+ readonly 'aria-label': {};
2643
+ readonly 'aria-labelledby': {};
2644
+ readonly size: {
2645
+ readonly dataAttribute: true;
2646
+ readonly default: "small";
2647
+ };
2648
+ readonly placeholder: {
2649
+ readonly default: "Search";
2650
+ };
2651
+ readonly inputValue: {};
2652
+ readonly onInputChange: {};
2653
+ readonly popoverWidth: {};
2654
+ readonly popoverPlacement: {};
2655
+ readonly children: {};
2656
+ readonly isLoading: {};
2657
+ readonly defaultOpen: {};
2658
+ readonly className: {};
2659
+ readonly style: {};
2660
+ };
2661
+ };
2662
+
2386
2663
  /** @public */
2387
2664
  type SearchFieldOwnProps = {
2388
2665
  /**
@@ -2429,6 +2706,7 @@ declare const SearchFieldDefinition: {
2429
2706
  readonly input: "bui-SearchFieldInput";
2430
2707
  readonly inputIcon: "bui-SearchFieldInputIcon";
2431
2708
  };
2709
+ readonly bg: "consumer";
2432
2710
  readonly propDefs: {
2433
2711
  readonly startCollapsed: {
2434
2712
  readonly dataAttribute: true;
@@ -2451,6 +2729,7 @@ declare const SearchFieldDefinition: {
2451
2729
 
2452
2730
  /** @public */
2453
2731
  type LinkOwnProps = {
2732
+ noTrack?: boolean;
2454
2733
  variant?: TextVariants | Partial<Record<Breakpoint, TextVariants>>;
2455
2734
  weight?: TextWeights | Partial<Record<Breakpoint, TextWeights>>;
2456
2735
  color?: TextColors | TextColorStatus | Partial<Record<Breakpoint, TextColors | TextColorStatus>>;
@@ -2478,7 +2757,9 @@ declare const LinkDefinition: {
2478
2757
  readonly classNames: {
2479
2758
  readonly root: "bui-Link";
2480
2759
  };
2760
+ readonly analytics: true;
2481
2761
  readonly propDefs: {
2762
+ readonly noTrack: {};
2482
2763
  readonly variant: {
2483
2764
  readonly dataAttribute: true;
2484
2765
  readonly default: "body-medium";
@@ -2503,6 +2784,122 @@ declare const LinkDefinition: {
2503
2784
  };
2504
2785
  };
2505
2786
 
2787
+ /**
2788
+ * Own props for the List component.
2789
+ *
2790
+ * @public
2791
+ */
2792
+ type ListOwnProps<T = object> = {
2793
+ items?: GridListProps<T>['items'];
2794
+ children?: GridListProps<T>['children'];
2795
+ renderEmptyState?: GridListProps<T>['renderEmptyState'];
2796
+ className?: string;
2797
+ };
2798
+ /**
2799
+ * Props for the List component.
2800
+ *
2801
+ * @public
2802
+ */
2803
+ interface ListProps<T> extends ListOwnProps<T>, Omit<GridListProps<T>, keyof ListOwnProps<T>> {
2804
+ }
2805
+ /**
2806
+ * Own props for the ListRow component.
2807
+ *
2808
+ * @public
2809
+ */
2810
+ type ListRowOwnProps = {
2811
+ /**
2812
+ * The main label content of the row.
2813
+ */
2814
+ children?: React.ReactNode;
2815
+ /**
2816
+ * Optional secondary description text.
2817
+ */
2818
+ description?: string;
2819
+ /**
2820
+ * Optional icon displayed before the label, rendered in a 32×32px box.
2821
+ */
2822
+ icon?: React.ReactElement;
2823
+ /**
2824
+ * Optional menu items rendered inside an automatically managed dropdown menu.
2825
+ * Pass `MenuItem` nodes here and the component will render the trigger button
2826
+ * and menu wrapper for you.
2827
+ */
2828
+ menuItems?: React.ReactNode;
2829
+ /**
2830
+ * Optional actions rendered in a flex row on the right side of the row,
2831
+ * e.g. a set of tags. For a dropdown menu, prefer `menuItems`.
2832
+ */
2833
+ customActions?: React.ReactNode;
2834
+ className?: string;
2835
+ };
2836
+ /**
2837
+ * Props for the ListRow component.
2838
+ *
2839
+ * @public
2840
+ */
2841
+ interface ListRowProps extends ListRowOwnProps, Omit<GridListItemProps, keyof ListRowOwnProps> {
2842
+ }
2843
+
2844
+ /**
2845
+ * A list displays a list of interactive rows with support for keyboard
2846
+ * navigation, single or multiple selection, and row actions.
2847
+ *
2848
+ * @public
2849
+ */
2850
+ declare const List: <T extends object>(props: ListProps<T>) => react_jsx_runtime.JSX.Element;
2851
+ /**
2852
+ * A row within a List.
2853
+ *
2854
+ * @public
2855
+ */
2856
+ declare const ListRow: (props: ListRowProps) => react_jsx_runtime.JSX.Element;
2857
+
2858
+ /**
2859
+ * Component definition for List
2860
+ * @public
2861
+ */
2862
+ declare const ListDefinition: {
2863
+ readonly styles: {
2864
+ readonly [key: string]: string;
2865
+ };
2866
+ readonly classNames: {
2867
+ readonly root: "bui-List";
2868
+ };
2869
+ readonly propDefs: {
2870
+ readonly items: {};
2871
+ readonly children: {};
2872
+ readonly renderEmptyState: {};
2873
+ readonly className: {};
2874
+ };
2875
+ };
2876
+ /**
2877
+ * Component definition for ListRow
2878
+ * @public
2879
+ */
2880
+ declare const ListRowDefinition: {
2881
+ readonly styles: {
2882
+ readonly [key: string]: string;
2883
+ };
2884
+ readonly bg: "consumer";
2885
+ readonly classNames: {
2886
+ readonly root: "bui-ListRow";
2887
+ readonly check: "bui-ListRowCheck";
2888
+ readonly icon: "bui-ListRowIcon";
2889
+ readonly label: "bui-ListRowLabel";
2890
+ readonly description: "bui-ListRowDescription";
2891
+ readonly actions: "bui-ListRowActions";
2892
+ };
2893
+ readonly propDefs: {
2894
+ readonly children: {};
2895
+ readonly description: {};
2896
+ readonly icon: {};
2897
+ readonly menuItems: {};
2898
+ readonly customActions: {};
2899
+ readonly className: {};
2900
+ };
2901
+ };
2902
+
2506
2903
  /** @public */
2507
2904
  type Option = {
2508
2905
  value: string;
@@ -2829,5 +3226,78 @@ declare function useBgConsumer(): BgContextValue;
2829
3226
  */
2830
3227
  declare function useBgProvider(bg?: Responsive<ProviderBg>): BgContextValue;
2831
3228
 
2832
- export { Accordion, AccordionDefinition, AccordionGroup, AccordionGroupDefinition, AccordionPanel, AccordionPanelDefinition, AccordionTrigger, AccordionTriggerDefinition, Alert, AlertDefinition, Avatar, AvatarDefinition, BgProvider, Box, BoxDefinition, Button, ButtonDefinition, ButtonIcon, ButtonIconDefinition, ButtonLink, ButtonLinkDefinition, Card, CardBody, CardBodyDefinition, CardDefinition, CardFooter, CardFooterDefinition, CardHeader, CardHeaderDefinition, Cell, CellProfile, CellText, Checkbox, CheckboxDefinition, Column, Container, ContainerDefinition, Dialog, DialogBody, DialogBodyDefinition, DialogDefinition, DialogFooter, DialogFooterDefinition, DialogHeader, DialogHeaderDefinition, DialogTrigger, FieldLabel, FieldLabelDefinition, Flex, FlexDefinition, FullPage, FullPageDefinition, Grid, GridDefinition, GridItemDefinition, HeaderPage, HeaderPageDefinition, Link, LinkDefinition, Menu, MenuAutocomplete, MenuAutocompleteListbox, MenuDefinition, MenuItem, MenuListBox, MenuListBoxItem, MenuSection, MenuSeparator, MenuTrigger, PasswordField, PasswordFieldDefinition, PluginHeader, PluginHeaderDefinition, Popover, PopoverDefinition, Radio, RadioDefinition, RadioGroup, RadioGroupDefinition, Row, SearchField, SearchFieldDefinition, Select, SelectDefinition, Skeleton, SkeletonDefinition, SubmenuTrigger, Switch, SwitchDefinition, Tab, TabList, TabPanel, Table, TableBody, TableDefinition, TableHeader, TablePagination, TablePaginationDefinition, TableRoot, Tabs, TabsDefinition, Tag, TagGroup, TagGroupDefinition, Text, TextDefinition, TextField, TextFieldDefinition, ToggleButton, ToggleButtonDefinition, ToggleButtonGroup, ToggleButtonGroupDefinition, Tooltip, TooltipDefinition, TooltipTrigger, VisuallyHidden, VisuallyHiddenDefinition, useBgConsumer, useBgProvider, useBreakpoint, useTable };
2833
- export type { AccordionGroupOwnProps, AccordionGroupProps, AccordionOwnProps, AccordionPanelOwnProps, AccordionPanelProps, AccordionProps, AccordionTriggerOwnProps, AccordionTriggerProps, AlertOwnProps, AlertProps, AlignItems, AvatarOwnProps, AvatarProps, BgContextValue, BgProviderProps, Border, BorderRadius, BoxOwnProps, BoxProps, BoxUtilityProps, Breakpoint, ButtonIconOwnProps, ButtonIconProps, ButtonLinkOwnProps, ButtonLinkProps, ButtonOwnProps, ButtonProps, CardBodyOwnProps, CardBodyProps, CardFooterOwnProps, CardFooterProps, CardHeaderOwnProps, CardHeaderProps, CardOwnProps, CardProps, CellOwnProps, CellProfileOwnProps, CellProfileProps, CellProps, CellTextOwnProps, CellTextProps, CheckboxOwnProps, CheckboxProps, ColumnConfig, ColumnOwnProps, ColumnProps, Columns, ContainerBg, ContainerOwnProps, ContainerProps, CursorParams, CursorResponse, DialogBodyOwnProps, DialogBodyProps, DialogFooterOwnProps, DialogFooterProps, DialogHeaderOwnProps, DialogHeaderProps, DialogOwnProps, DialogProps, DialogTriggerProps, Display, FieldLabelOwnProps, FieldLabelProps, FilterState, FlexDirection, FlexOwnProps, FlexProps, FlexWrap, FullPageOwnProps, FullPageProps, GridItemOwnProps, GridItemProps, GridOwnProps, GridProps, HeaderPageBreadcrumb, HeaderPageOwnProps, HeaderPageProps, HeaderTab, JustifyContent, LinkOwnProps, LinkProps, MarginProps, MenuAutocompleteListBoxOwnProps, MenuAutocompleteListBoxProps, MenuAutocompleteOwnProps, MenuAutocompleteProps, MenuItemOwnProps, MenuItemProps, MenuListBoxItemOwnProps, MenuListBoxItemProps, MenuListBoxOwnProps, MenuListBoxProps, MenuOwnProps, MenuPopoverOwnProps, MenuProps, MenuSectionOwnProps, MenuSectionProps, MenuSeparatorOwnProps, MenuSeparatorProps, MenuTriggerProps, NoPagination, OffsetParams, OffsetResponse, Option, PaddingProps, PagePagination, PageSizeOption, PaginationOptions, PasswordFieldOwnProps, PasswordFieldProps, PluginHeaderOwnProps, PluginHeaderProps, PopoverOwnProps, PopoverProps, ProviderBg, QueryOptions, RadioGroupOwnProps, RadioGroupProps, RadioOwnProps, RadioProps, Responsive, RowConfig, RowOwnProps, RowProps, RowRenderFn, SearchFieldOwnProps, SearchFieldProps, SearchState, SelectOwnProps, SelectProps, SkeletonOwnProps, SkeletonProps, SortDescriptor, SortState, Space, SpaceProps, SubmenuTriggerProps, SwitchOwnProps, SwitchProps, TabListOwnProps, TabListProps, TabMatchStrategy, TabOwnProps, TabPanelOwnProps, TabPanelProps, TabProps, TableBodyOwnProps, TableBodyProps, TableHeaderOwnProps, TableHeaderProps, TableItem, TablePaginationOwnProps, TablePaginationProps, TablePaginationType, TableProps, TableRootOwnProps, TableRootProps, TableSelection, TabsOwnProps, TabsProps, TagGroupOwnProps, TagGroupProps, TagOwnProps, TagProps, TextColorStatus, TextColors, TextFieldOwnProps, TextFieldProps, TextOwnProps, TextProps, TextVariants, TextWeights, ToggleButtonGroupOwnProps, ToggleButtonGroupProps, ToggleButtonOwnProps, ToggleButtonProps, TooltipOwnProps, TooltipProps, UseTableCompleteOptions, UseTableCursorOptions, UseTableOffsetOptions, UseTableOptions, UseTableResult, UtilityProps, VisuallyHiddenOwnProps, VisuallyHiddenProps };
3229
+ /**
3230
+ * Key-value metadata attached to analytics events.
3231
+ * @public
3232
+ */
3233
+ type AnalyticsEventAttributes = {
3234
+ [key: string]: string | boolean | number;
3235
+ };
3236
+ /**
3237
+ * A generic interface for capturing analytics events. Consumers provide
3238
+ * an implementation via `BUIProvider` — this allows `@backstage/ui`
3239
+ * to fire analytics events without depending on any specific analytics
3240
+ * system. The signature intentionally matches Backstage's own
3241
+ * `AnalyticsTracker` so it can be wired through directly.
3242
+ * @public
3243
+ */
3244
+ type AnalyticsTracker = {
3245
+ captureEvent: (action: string, subject: string, options?: {
3246
+ value?: number;
3247
+ attributes?: AnalyticsEventAttributes;
3248
+ }) => void;
3249
+ };
3250
+ /**
3251
+ * A hook function that returns an AnalyticsTracker.
3252
+ * Provided via context by the consumer (e.g. a Backstage app).
3253
+ * @public
3254
+ */
3255
+ type UseAnalyticsFn = () => AnalyticsTracker;
3256
+
3257
+ /** @public */
3258
+ type BUIProviderProps = {
3259
+ useAnalytics?: UseAnalyticsFn;
3260
+ children: ReactNode;
3261
+ };
3262
+ /**
3263
+ * Provides integration capabilities to all descendant BUI components.
3264
+ *
3265
+ * @example
3266
+ * ```tsx
3267
+ * import { BUIProvider } from '@backstage/ui';
3268
+ * import { useAnalytics as useBackstageAnalytics } from '@backstage/core-plugin-api';
3269
+ *
3270
+ * function App() {
3271
+ * return (
3272
+ * <BUIProvider useAnalytics={useBackstageAnalytics}>
3273
+ * <AppContent />
3274
+ * </BUIProvider>
3275
+ * );
3276
+ * }
3277
+ * ```
3278
+ *
3279
+ * @public
3280
+ */
3281
+ declare function BUIProvider(props: BUIProviderProps): react_jsx_runtime.JSX.Element;
3282
+
3283
+ /**
3284
+ * Returns an AnalyticsTracker for capturing analytics events.
3285
+ *
3286
+ * By default returns a noop tracker. When a `BUIProvider` is present
3287
+ * in the tree, returns the tracker provided by the consumer's hook.
3288
+ *
3289
+ * @public
3290
+ */
3291
+ declare function useAnalytics(): AnalyticsTracker;
3292
+
3293
+ /**
3294
+ * Recursively extracts text content from a React node tree.
3295
+ * Returns undefined if no text content is found (e.g. icon-only children
3296
+ * or render functions).
3297
+ *
3298
+ * @public
3299
+ */
3300
+ declare function getNodeText(node: ReactNode | ((...args: any[]) => ReactNode)): string | undefined;
3301
+
3302
+ export { Accordion, AccordionDefinition, AccordionGroup, AccordionGroupDefinition, AccordionPanel, AccordionPanelDefinition, AccordionTrigger, AccordionTriggerDefinition, Alert, AlertDefinition, Avatar, AvatarDefinition, BUIProvider, BgProvider, Box, BoxDefinition, Button, ButtonDefinition, ButtonIcon, ButtonIconDefinition, ButtonLink, ButtonLinkDefinition, Card, CardBody, CardBodyDefinition, CardDefinition, CardFooter, CardFooterDefinition, CardHeader, CardHeaderDefinition, Cell, CellProfile, CellText, Checkbox, CheckboxDefinition, Column, Container, ContainerDefinition, Dialog, DialogBody, DialogBodyDefinition, DialogDefinition, DialogFooter, DialogFooterDefinition, DialogHeader, DialogHeaderDefinition, DialogTrigger, FieldLabel, FieldLabelDefinition, Flex, FlexDefinition, FullPage, FullPageDefinition, Grid, GridDefinition, GridItemDefinition, Header, HeaderDefinition, HeaderPage, HeaderPageDefinition, Link, LinkDefinition, List, ListDefinition, ListRow, ListRowDefinition, Menu, MenuAutocomplete, MenuAutocompleteListbox, MenuDefinition, MenuItem, MenuListBox, MenuListBoxItem, MenuSection, MenuSeparator, MenuTrigger, PasswordField, PasswordFieldDefinition, PluginHeader, PluginHeaderDefinition, Popover, PopoverDefinition, Radio, RadioDefinition, RadioGroup, RadioGroupDefinition, Row, SearchAutocomplete, SearchAutocompleteDefinition, SearchAutocompleteItem, SearchField, SearchFieldDefinition, Select, SelectDefinition, Skeleton, SkeletonDefinition, SubmenuTrigger, Switch, SwitchDefinition, Tab, TabList, TabPanel, Table, TableBody, TableDefinition, TableHeader, TablePagination, TablePaginationDefinition, TableRoot, Tabs, TabsDefinition, Tag, TagGroup, TagGroupDefinition, Text, TextDefinition, TextField, TextFieldDefinition, ToggleButton, ToggleButtonDefinition, ToggleButtonGroup, ToggleButtonGroupDefinition, Tooltip, TooltipDefinition, TooltipTrigger, VisuallyHidden, VisuallyHiddenDefinition, getNodeText, useAnalytics, useBgConsumer, useBgProvider, useBreakpoint, useTable };
3303
+ export type { AccordionGroupOwnProps, AccordionGroupProps, AccordionOwnProps, AccordionPanelOwnProps, AccordionPanelProps, AccordionProps, AccordionTriggerOwnProps, AccordionTriggerProps, AlertOwnProps, AlertProps, AlignItems, AnalyticsEventAttributes, AnalyticsTracker, AvatarOwnProps, AvatarProps, BUIProviderProps, BgContextValue, BgProviderProps, Border, BorderRadius, BoxOwnProps, BoxProps, BoxUtilityProps, Breakpoint, ButtonIconOwnProps, ButtonIconProps, ButtonLinkOwnProps, ButtonLinkProps, ButtonOwnProps, ButtonProps, CardBaseProps, CardBodyOwnProps, CardBodyProps, CardButtonVariant, CardFooterOwnProps, CardFooterProps, CardHeaderOwnProps, CardHeaderProps, CardLinkVariant, CardOwnProps, CardProps, CardStaticVariant, CellOwnProps, CellProfileOwnProps, CellProfileProps, CellProps, CellTextOwnProps, CellTextProps, CheckboxOwnProps, CheckboxProps, ColumnConfig, ColumnOwnProps, ColumnProps, Columns, ContainerBg, ContainerOwnProps, ContainerProps, CursorParams, CursorResponse, DialogBodyOwnProps, DialogBodyProps, DialogFooterOwnProps, DialogFooterProps, DialogHeaderOwnProps, DialogHeaderProps, DialogOwnProps, DialogProps, DialogTriggerProps, Display, FieldLabelOwnProps, FieldLabelProps, FilterState, FlexDirection, FlexOwnProps, FlexProps, FlexWrap, FullPageOwnProps, FullPageProps, GridItemOwnProps, GridItemProps, GridOwnProps, GridProps, HeaderBreadcrumb, HeaderOwnProps, HeaderPageBreadcrumb, HeaderPageOwnProps, HeaderPageProps, HeaderProps, HeaderTab, JustifyContent, LinkOwnProps, LinkProps, ListOwnProps, ListProps, ListRowOwnProps, ListRowProps, MarginProps, MenuAutocompleteListBoxOwnProps, MenuAutocompleteListBoxProps, MenuAutocompleteOwnProps, MenuAutocompleteProps, MenuItemOwnProps, MenuItemProps, MenuListBoxItemOwnProps, MenuListBoxItemProps, MenuListBoxOwnProps, MenuListBoxProps, MenuOwnProps, MenuPopoverOwnProps, MenuProps, MenuSectionOwnProps, MenuSectionProps, MenuSeparatorOwnProps, MenuSeparatorProps, MenuTriggerProps, NoPagination, OffsetParams, OffsetResponse, Option, PaddingProps, PagePagination, PageSizeOption, PaginationOptions, PasswordFieldOwnProps, PasswordFieldProps, PluginHeaderOwnProps, PluginHeaderProps, PopoverOwnProps, PopoverProps, ProviderBg, QueryOptions, RadioGroupOwnProps, RadioGroupProps, RadioOwnProps, RadioProps, Responsive, RowConfig, RowOwnProps, RowProps, RowRenderFn, SearchAutocompleteItemOwnProps, SearchAutocompleteItemProps, SearchAutocompleteOwnProps, SearchAutocompleteProps, SearchFieldOwnProps, SearchFieldProps, SearchState, SelectOwnProps, SelectProps, SkeletonOwnProps, SkeletonProps, SortDescriptor, SortState, Space, SpaceProps, SubmenuTriggerProps, SwitchOwnProps, SwitchProps, TabListOwnProps, TabListProps, TabMatchStrategy, TabOwnProps, TabPanelOwnProps, TabPanelProps, TabProps, TableBodyOwnProps, TableBodyProps, TableHeaderOwnProps, TableHeaderProps, TableItem, TablePaginationOwnProps, TablePaginationProps, TablePaginationType, TableProps, TableRootOwnProps, TableRootProps, TableSelection, TabsOwnProps, TabsProps, TagGroupOwnProps, TagGroupProps, TagOwnProps, TagProps, TextColorStatus, TextColors, TextFieldOwnProps, TextFieldProps, TextOwnProps, TextProps, TextVariants, TextWeights, ToggleButtonGroupOwnProps, ToggleButtonGroupProps, ToggleButtonOwnProps, ToggleButtonProps, TooltipOwnProps, TooltipProps, UseAnalyticsFn, UseTableCompleteOptions, UseTableCursorOptions, UseTableOffsetOptions, UseTableOptions, UseTableResult, UtilityProps, VirtualizedProp, VisuallyHiddenOwnProps, VisuallyHiddenProps };