@backstage/ui 0.15.0-next.0 → 0.15.0-next.2
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.
- package/CHANGELOG.md +78 -0
- package/dist/components/Accordion/Accordion.module.css.esm.js +2 -2
- package/dist/components/Box/Box.module.css.esm.js +2 -2
- package/dist/components/Card/Card.module.css.esm.js +2 -2
- package/dist/components/Checkbox/Checkbox.module.css.esm.js +2 -2
- package/dist/components/Combobox/Combobox.esm.js +72 -0
- package/dist/components/Combobox/Combobox.esm.js.map +1 -0
- package/dist/components/Combobox/Combobox.module.css.esm.js +8 -0
- package/dist/components/Combobox/Combobox.module.css.esm.js.map +1 -0
- package/dist/components/Combobox/ComboboxInput.esm.js +21 -0
- package/dist/components/Combobox/ComboboxInput.esm.js.map +1 -0
- package/dist/components/Combobox/ComboboxListBox.esm.js +46 -0
- package/dist/components/Combobox/ComboboxListBox.esm.js.map +1 -0
- package/dist/components/Combobox/definition.esm.js +74 -0
- package/dist/components/Combobox/definition.esm.js.map +1 -0
- package/dist/components/Container/Container.module.css.esm.js +2 -2
- package/dist/components/Flex/Flex.module.css.esm.js +2 -2
- package/dist/components/Grid/Grid.module.css.esm.js +2 -2
- package/dist/components/Header/Header.esm.js +187 -28
- package/dist/components/Header/Header.esm.js.map +1 -1
- package/dist/components/Header/Header.module.css.esm.js +2 -2
- package/dist/components/Header/HeaderMetadataStatus.esm.js +32 -0
- package/dist/components/Header/HeaderMetadataStatus.esm.js.map +1 -0
- package/dist/components/Header/HeaderMetadataStatus.module.css.esm.js +8 -0
- package/dist/components/Header/HeaderMetadataStatus.module.css.esm.js.map +1 -0
- package/dist/components/Header/HeaderMetadataUsers.esm.js +92 -0
- package/dist/components/Header/HeaderMetadataUsers.esm.js.map +1 -0
- package/dist/components/Header/HeaderMetadataUsers.module.css.esm.js +8 -0
- package/dist/components/Header/HeaderMetadataUsers.module.css.esm.js.map +1 -0
- package/dist/components/Header/definition.esm.js +22 -3
- package/dist/components/Header/definition.esm.js.map +1 -1
- package/dist/components/Link/Link.esm.js +7 -2
- package/dist/components/Link/Link.esm.js.map +1 -1
- package/dist/components/Link/Link.module.css.esm.js +2 -2
- package/dist/components/PluginHeader/PluginHeader.esm.js +8 -17
- package/dist/components/PluginHeader/PluginHeader.esm.js.map +1 -1
- package/dist/components/PluginHeader/PluginHeader.module.css.esm.js +2 -2
- package/dist/components/Select/Select.module.css.esm.js +2 -2
- package/dist/components/Select/SelectContent.esm.js.map +1 -1
- package/dist/components/Select/SelectListBox.esm.js +26 -12
- package/dist/components/Select/SelectListBox.esm.js.map +1 -1
- package/dist/components/Select/definition.esm.js +20 -4
- package/dist/components/Select/definition.esm.js.map +1 -1
- package/dist/components/Table/hooks/useCompletePagination.esm.js +28 -11
- package/dist/components/Table/hooks/useCompletePagination.esm.js.map +1 -1
- package/dist/components/Table/hooks/useDebouncedValue.esm.js +16 -0
- package/dist/components/Table/hooks/useDebouncedValue.esm.js.map +1 -0
- package/dist/css/styles.css +34 -0
- package/dist/hooks/useDefinition/useDefinition.esm.js +8 -6
- package/dist/hooks/useDefinition/useDefinition.esm.js.map +1 -1
- package/dist/hooks/useResolvedHref.esm.js +17 -0
- package/dist/hooks/useResolvedHref.esm.js.map +1 -0
- package/dist/index.d.ts +313 -52
- package/dist/index.esm.js +4 -0
- package/dist/index.esm.js.map +1 -1
- package/dist/provider/BUIProvider.esm.js +3 -2
- package/dist/provider/BUIProvider.esm.js.map +1 -1
- package/package.json +8 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDefinition.esm.js","sources":["../../../src/hooks/useDefinition/useDefinition.tsx"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ReactNode } from 'react';\nimport clsx from 'clsx';\nimport { useBreakpoint } from '../useBreakpoint';\nimport { useBgProvider, useBgConsumer, BgProvider } from '../useBg';\nimport { resolveDefinitionProps, processUtilityProps } from './helpers';\nimport { useAnalytics } from '../../analytics/useAnalytics';\nimport { noopTracker } from '../../analytics/useAnalytics';\nimport {
|
|
1
|
+
{"version":3,"file":"useDefinition.esm.js","sources":["../../../src/hooks/useDefinition/useDefinition.tsx"],"sourcesContent":["/*\n * Copyright 2025 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ReactNode } from 'react';\nimport clsx from 'clsx';\nimport { useBreakpoint } from '../useBreakpoint';\nimport { useBgProvider, useBgConsumer, BgProvider } from '../useBg';\nimport { resolveDefinitionProps, processUtilityProps } from './helpers';\nimport { useAnalytics } from '../../analytics/useAnalytics';\nimport { noopTracker } from '../../analytics/useAnalytics';\nimport {\n useResolvedPath,\n useInRouterContext,\n createPath,\n} from 'react-router-dom';\nimport { isExternalLink } from '../../utils/linkUtils';\nimport type {\n ComponentConfig,\n UseDefinitionOptions,\n UseDefinitionResult,\n UtilityKeys,\n} from './types';\n\nexport function useDefinition<\n D extends ComponentConfig<any, any>,\n P extends Record<string, any>,\n>(\n definition: D,\n props: P,\n options?: UseDefinitionOptions<D>,\n): UseDefinitionResult<D, P> {\n const { breakpoint } = useBreakpoint();\n\n let hrefResolvedProps = props;\n const hasRouter = useInRouterContext();\n if (hasRouter) {\n const rawHref = (props as any).href;\n const resolved = useResolvedPath(rawHref ?? '');\n if (rawHref !== undefined && !isExternalLink(rawHref)) {\n hrefResolvedProps = { ...props, href: createPath(resolved) } as P;\n }\n }\n\n // Resolve all props centrally — applies responsive values and defaults\n const { ownPropsResolved, restProps } = resolveDefinitionProps(\n definition,\n hrefResolvedProps,\n breakpoint,\n );\n\n const dataAttributes: Record<string, string | undefined> = {};\n\n for (const [key, config] of Object.entries(definition.propDefs)) {\n const finalValue = ownPropsResolved[key];\n\n if (finalValue !== undefined) {\n // Skip data-bg for bg prop when the provider path handles it\n if (key === 'bg' && definition.bg === 'provider') continue;\n\n if ((config as any).dataAttribute) {\n // eslint-disable-next-line no-restricted-syntax\n dataAttributes[`data-${key.toLowerCase()}`] = String(finalValue);\n }\n }\n }\n\n // Provider: resolve bg and provide context for children\n const providerBg = useBgProvider(\n definition.bg === 'provider' ? ownPropsResolved.bg : undefined,\n );\n\n // Consumer: read parent context bg\n const consumerBg = useBgConsumer();\n\n // Provider: set data-bg from the resolved provider bg\n if (definition.bg === 'provider' && providerBg.bg !== undefined) {\n dataAttributes['data-bg'] = String(providerBg.bg);\n }\n\n // Consumer: set data-on-bg from the parent context\n if (definition.bg === 'consumer' && consumerBg.bg !== undefined) {\n dataAttributes['data-on-bg'] = String(consumerBg.bg);\n }\n\n const { utilityClasses, utilityStyle } = processUtilityProps<UtilityKeys<D>>(\n props,\n (definition.utilityProps ?? []) as readonly UtilityKeys<D>[],\n );\n\n // Analytics: conditionally call useAnalytics based on definition flag\n let analytics = noopTracker;\n if (definition.analytics) {\n const tracker = useAnalytics();\n analytics = ownPropsResolved.noTrack ? noopTracker : tracker;\n }\n\n const utilityTarget =\n options?.utilityTarget !== undefined ? options.utilityTarget : 'root';\n const classNameTarget =\n options?.classNameTarget !== undefined ? options.classNameTarget : 'root';\n\n const classes: Record<string, string> = {};\n\n for (const [name, cssKey] of Object.entries(definition.classNames)) {\n classes[name] = clsx(\n cssKey as string,\n definition.styles[cssKey as keyof typeof definition.styles],\n utilityTarget === name && utilityClasses,\n classNameTarget === name && ownPropsResolved.className,\n );\n }\n\n let children: ReactNode | undefined;\n let childrenWithBgProvider: ReactNode | undefined;\n\n if (definition.bg === 'provider') {\n childrenWithBgProvider = providerBg.bg ? (\n <BgProvider bg={providerBg.bg}>{props.children}</BgProvider>\n ) : (\n props.children\n );\n } else {\n children = props.children;\n }\n\n return {\n ownProps: {\n classes,\n ...ownPropsResolved,\n ...(definition.bg === 'provider'\n ? { childrenWithBgProvider }\n : { children }),\n },\n restProps,\n dataAttributes,\n utilityStyle,\n ...(definition.analytics ? { analytics } : {}),\n } as unknown as UseDefinitionResult<D, P>;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { useInRouterContext, useHref } from 'react-router-dom';
|
|
2
|
+
import { isExternalLink } from '../utils/linkUtils.esm.js';
|
|
3
|
+
|
|
4
|
+
function useResolvedHref(href) {
|
|
5
|
+
const hasRouter = useInRouterContext();
|
|
6
|
+
if (!hasRouter) {
|
|
7
|
+
return href;
|
|
8
|
+
}
|
|
9
|
+
const resolved = useHref(href ?? "");
|
|
10
|
+
if (!href || isExternalLink(href)) {
|
|
11
|
+
return href;
|
|
12
|
+
}
|
|
13
|
+
return resolved;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export { useResolvedHref };
|
|
17
|
+
//# sourceMappingURL=useResolvedHref.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useResolvedHref.esm.js","sources":["../../src/hooks/useResolvedHref.ts"],"sourcesContent":["/*\n * Copyright 2026 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { useHref, useInRouterContext } from 'react-router-dom';\nimport { isExternalLink } from '../utils/linkUtils';\n\n/**\n * Resolves an href for rendering. External URLs are returned unchanged;\n * internal paths are resolved through react-router's useHref so they\n * respect the current basename and route context.\n *\n * @internal\n */\nexport function useResolvedHref(href: string): string;\nexport function useResolvedHref(href: string | undefined): string | undefined;\nexport function useResolvedHref(href: string | undefined): string | undefined {\n const hasRouter = useInRouterContext();\n // useHref throws outside a Router, so we guard with useInRouterContext.\n // The guard is safe because a component's router context does not\n // change during its lifetime, keeping the hook call count stable.\n if (!hasRouter) {\n return href;\n }\n const resolved = useHref(href ?? '');\n if (!href || isExternalLink(href)) {\n return href;\n }\n return resolved;\n}\n"],"names":[],"mappings":";;;AA4BO,SAAS,gBAAgB,IAAA,EAA8C;AAC5E,EAAA,MAAM,YAAY,kBAAA,EAAmB;AAIrC,EAAA,IAAI,CAAC,SAAA,EAAW;AACd,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,MAAM,QAAA,GAAW,OAAA,CAAQ,IAAA,IAAQ,EAAE,CAAA;AACnC,EAAA,IAAI,CAAC,IAAA,IAAQ,cAAA,CAAe,IAAI,CAAA,EAAG;AACjC,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,OAAO,QAAA;AACT;;;;"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { CSSProperties, ReactNode, HTMLAttributes, ComponentPropsWithoutRef, ReactElement, ElementType, ComponentPropsWithRef, ComponentProps } from 'react';
|
|
3
|
-
import { DisclosureProps, DisclosureGroupProps, DisclosurePanelProps, HeadingProps, ButtonProps as ButtonProps$1, DateRangePickerProps as DateRangePickerProps$1, ModalOverlayProps, DialogTriggerProps as DialogTriggerProps$1, TabProps as TabProps$1, TabListProps as TabListProps$1, TabPanelProps as TabPanelProps$1, TabsProps as TabsProps$1, LinkProps as LinkProps$1, CheckboxProps as CheckboxProps$1, CheckboxGroupProps as CheckboxGroupProps$1, RadioProps as RadioProps$1, RadioGroupProps as RadioGroupProps$1, SliderProps as SliderProps$1, CellProps as CellProps$1, ColumnProps as ColumnProps$1, RowProps as RowProps$1, TableProps as TableProps$1, TableBodyProps as TableBodyProps$1, TableHeaderProps as TableHeaderProps$1, TagProps as TagProps$1, TagListProps, TagGroupProps as TagGroupProps$1, TextFieldProps as TextFieldProps$1, TooltipProps as TooltipProps$1, TooltipTriggerComponentProps, PopoverProps as PopoverProps$1, MenuProps as MenuProps$1, ListBoxProps, MenuItemProps as MenuItemProps$1, ListBoxItemProps, MenuSectionProps as MenuSectionProps$1, SeparatorProps, MenuTriggerProps as MenuTriggerProps$1, SubmenuTriggerProps as SubmenuTriggerProps$1, SearchFieldProps as SearchFieldProps$1, GridListProps, GridListItemProps,
|
|
3
|
+
import { DisclosureProps, DisclosureGroupProps, DisclosurePanelProps, HeadingProps, ButtonProps as ButtonProps$1, DateRangePickerProps as DateRangePickerProps$1, ModalOverlayProps, DialogTriggerProps as DialogTriggerProps$1, TabProps as TabProps$1, TabListProps as TabListProps$1, TabPanelProps as TabPanelProps$1, TabsProps as TabsProps$1, LinkProps as LinkProps$1, CheckboxProps as CheckboxProps$1, CheckboxGroupProps as CheckboxGroupProps$1, SelectProps as SelectProps$1, ComboBoxProps, RadioProps as RadioProps$1, RadioGroupProps as RadioGroupProps$1, SliderProps as SliderProps$1, CellProps as CellProps$1, ColumnProps as ColumnProps$1, RowProps as RowProps$1, TableProps as TableProps$1, TableBodyProps as TableBodyProps$1, TableHeaderProps as TableHeaderProps$1, TagProps as TagProps$1, TagListProps, TagGroupProps as TagGroupProps$1, TextFieldProps as TextFieldProps$1, TooltipProps as TooltipProps$1, TooltipTriggerComponentProps, PopoverProps as PopoverProps$1, MenuProps as MenuProps$1, ListBoxProps, MenuItemProps as MenuItemProps$1, ListBoxItemProps, MenuSectionProps as MenuSectionProps$1, SeparatorProps, MenuTriggerProps as MenuTriggerProps$1, SubmenuTriggerProps as SubmenuTriggerProps$1, SearchFieldProps as SearchFieldProps$1, GridListProps, GridListItemProps, SwitchProps as SwitchProps$1, ToggleButtonProps as ToggleButtonProps$1, ToggleButtonGroupProps as ToggleButtonGroupProps$1 } from 'react-aria-components';
|
|
4
4
|
import { DateValue } from '@internationalized/date';
|
|
5
5
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
6
6
|
import { NavigateOptions } from 'react-router-dom';
|
|
@@ -1568,6 +1568,44 @@ interface HeaderNavTabGroup {
|
|
|
1568
1568
|
* @public
|
|
1569
1569
|
*/
|
|
1570
1570
|
type HeaderNavTabItem = HeaderNavTab | HeaderNavTabGroup;
|
|
1571
|
+
/**
|
|
1572
|
+
* Represents a tag item in the header.
|
|
1573
|
+
*
|
|
1574
|
+
* @public
|
|
1575
|
+
*/
|
|
1576
|
+
interface HeaderTag {
|
|
1577
|
+
label: string;
|
|
1578
|
+
href?: string;
|
|
1579
|
+
}
|
|
1580
|
+
/**
|
|
1581
|
+
* Represents a metadata key-value pair in the header.
|
|
1582
|
+
*
|
|
1583
|
+
* @public
|
|
1584
|
+
*/
|
|
1585
|
+
interface HeaderMetadataItem {
|
|
1586
|
+
label: string;
|
|
1587
|
+
value: React.ReactNode;
|
|
1588
|
+
}
|
|
1589
|
+
/**
|
|
1590
|
+
* Represents a user in the HeaderMetadataUsers component.
|
|
1591
|
+
*
|
|
1592
|
+
* @public
|
|
1593
|
+
*/
|
|
1594
|
+
interface HeaderMetadataUser {
|
|
1595
|
+
name: string;
|
|
1596
|
+
src?: string;
|
|
1597
|
+
href?: string;
|
|
1598
|
+
}
|
|
1599
|
+
/**
|
|
1600
|
+
* Represents a status item in the HeaderMetadataStatus component.
|
|
1601
|
+
*
|
|
1602
|
+
* @public
|
|
1603
|
+
*/
|
|
1604
|
+
interface HeaderMetadataStatusProps {
|
|
1605
|
+
label: string;
|
|
1606
|
+
color: 'danger' | 'warning' | 'success' | 'info';
|
|
1607
|
+
href?: string;
|
|
1608
|
+
}
|
|
1571
1609
|
/**
|
|
1572
1610
|
* Own props for the Header component.
|
|
1573
1611
|
*
|
|
@@ -1578,8 +1616,23 @@ interface HeaderOwnProps {
|
|
|
1578
1616
|
customActions?: React.ReactNode;
|
|
1579
1617
|
tabs?: HeaderNavTabItem[];
|
|
1580
1618
|
activeTabId?: string | null;
|
|
1619
|
+
/**
|
|
1620
|
+
* @deprecated The breadcrumbs prop will be removed in a future release.
|
|
1621
|
+
*/
|
|
1581
1622
|
breadcrumbs?: HeaderBreadcrumb[];
|
|
1623
|
+
/**
|
|
1624
|
+
* Markdown string rendered below the title. Only inline links are supported.
|
|
1625
|
+
* Bold, italic, and block-level markdown are not rendered.
|
|
1626
|
+
*/
|
|
1627
|
+
description?: string;
|
|
1628
|
+
tags?: HeaderTag[];
|
|
1629
|
+
metadata?: HeaderMetadataItem[];
|
|
1582
1630
|
className?: string;
|
|
1631
|
+
/**
|
|
1632
|
+
* Makes the title-and-actions row stick to the top of its nearest scroll
|
|
1633
|
+
* container while the rest of the header content scrolls away.
|
|
1634
|
+
*/
|
|
1635
|
+
sticky?: boolean;
|
|
1583
1636
|
}
|
|
1584
1637
|
/**
|
|
1585
1638
|
* Props for the Header component.
|
|
@@ -1633,12 +1686,27 @@ declare const HeaderDefinition: {
|
|
|
1633
1686
|
readonly styles: {
|
|
1634
1687
|
readonly [key: string]: string;
|
|
1635
1688
|
};
|
|
1689
|
+
readonly bg: "consumer";
|
|
1636
1690
|
readonly classNames: {
|
|
1637
|
-
readonly
|
|
1691
|
+
readonly headerTop: "bui-HeaderTop";
|
|
1692
|
+
readonly stickySentinel: "bui-HeaderStickySentinel";
|
|
1638
1693
|
readonly content: "bui-HeaderContent";
|
|
1694
|
+
readonly headerBottom: "bui-HeaderBottom";
|
|
1639
1695
|
readonly breadcrumbs: "bui-HeaderBreadcrumbs";
|
|
1696
|
+
readonly breadcrumbsSmall: "bui-HeaderBreadcrumbsSmall";
|
|
1697
|
+
readonly breadcrumbLink: "bui-HeaderBreadcrumbLink";
|
|
1698
|
+
readonly breadcrumbLinkSmall: "bui-HeaderBreadcrumbLinkSmall";
|
|
1699
|
+
readonly breadcrumbSeparator: "bui-HeaderBreadcrumbSeparator";
|
|
1700
|
+
readonly titleStack: "bui-HeaderTitleStack";
|
|
1701
|
+
readonly title: "bui-HeaderTitle";
|
|
1702
|
+
readonly titleSmall: "bui-HeaderTitleSmall";
|
|
1640
1703
|
readonly tabsWrapper: "bui-HeaderTabsWrapper";
|
|
1641
1704
|
readonly controls: "bui-HeaderControls";
|
|
1705
|
+
readonly tags: "bui-HeaderTags";
|
|
1706
|
+
readonly tag: "bui-HeaderTag";
|
|
1707
|
+
readonly description: "bui-HeaderDescription";
|
|
1708
|
+
readonly metaRow: "bui-HeaderMetaRow";
|
|
1709
|
+
readonly metaItem: "bui-HeaderMetaItem";
|
|
1642
1710
|
};
|
|
1643
1711
|
readonly propDefs: {
|
|
1644
1712
|
readonly title: {};
|
|
@@ -1646,7 +1714,11 @@ declare const HeaderDefinition: {
|
|
|
1646
1714
|
readonly tabs: {};
|
|
1647
1715
|
readonly activeTabId: {};
|
|
1648
1716
|
readonly breadcrumbs: {};
|
|
1717
|
+
readonly description: {};
|
|
1718
|
+
readonly tags: {};
|
|
1719
|
+
readonly metadata: {};
|
|
1649
1720
|
readonly className: {};
|
|
1721
|
+
readonly sticky: {};
|
|
1650
1722
|
};
|
|
1651
1723
|
};
|
|
1652
1724
|
/**
|
|
@@ -1657,12 +1729,27 @@ declare const HeaderPageDefinition: {
|
|
|
1657
1729
|
readonly styles: {
|
|
1658
1730
|
readonly [key: string]: string;
|
|
1659
1731
|
};
|
|
1732
|
+
readonly bg: "consumer";
|
|
1660
1733
|
readonly classNames: {
|
|
1661
|
-
readonly
|
|
1734
|
+
readonly headerTop: "bui-HeaderTop";
|
|
1735
|
+
readonly stickySentinel: "bui-HeaderStickySentinel";
|
|
1662
1736
|
readonly content: "bui-HeaderContent";
|
|
1737
|
+
readonly headerBottom: "bui-HeaderBottom";
|
|
1663
1738
|
readonly breadcrumbs: "bui-HeaderBreadcrumbs";
|
|
1739
|
+
readonly breadcrumbsSmall: "bui-HeaderBreadcrumbsSmall";
|
|
1740
|
+
readonly breadcrumbLink: "bui-HeaderBreadcrumbLink";
|
|
1741
|
+
readonly breadcrumbLinkSmall: "bui-HeaderBreadcrumbLinkSmall";
|
|
1742
|
+
readonly breadcrumbSeparator: "bui-HeaderBreadcrumbSeparator";
|
|
1743
|
+
readonly titleStack: "bui-HeaderTitleStack";
|
|
1744
|
+
readonly title: "bui-HeaderTitle";
|
|
1745
|
+
readonly titleSmall: "bui-HeaderTitleSmall";
|
|
1664
1746
|
readonly tabsWrapper: "bui-HeaderTabsWrapper";
|
|
1665
1747
|
readonly controls: "bui-HeaderControls";
|
|
1748
|
+
readonly tags: "bui-HeaderTags";
|
|
1749
|
+
readonly tag: "bui-HeaderTag";
|
|
1750
|
+
readonly description: "bui-HeaderDescription";
|
|
1751
|
+
readonly metaRow: "bui-HeaderMetaRow";
|
|
1752
|
+
readonly metaItem: "bui-HeaderMetaItem";
|
|
1666
1753
|
};
|
|
1667
1754
|
readonly propDefs: {
|
|
1668
1755
|
readonly title: {};
|
|
@@ -1670,7 +1757,11 @@ declare const HeaderPageDefinition: {
|
|
|
1670
1757
|
readonly tabs: {};
|
|
1671
1758
|
readonly activeTabId: {};
|
|
1672
1759
|
readonly breadcrumbs: {};
|
|
1760
|
+
readonly description: {};
|
|
1761
|
+
readonly tags: {};
|
|
1762
|
+
readonly metadata: {};
|
|
1673
1763
|
readonly className: {};
|
|
1764
|
+
readonly sticky: {};
|
|
1674
1765
|
};
|
|
1675
1766
|
};
|
|
1676
1767
|
|
|
@@ -1725,6 +1816,26 @@ declare const HeaderNavGroupDefinition: {
|
|
|
1725
1816
|
};
|
|
1726
1817
|
};
|
|
1727
1818
|
|
|
1819
|
+
/**
|
|
1820
|
+
* Displays a list of users as avatars inside a Header metadata value.
|
|
1821
|
+
* A single user shows the avatar with their name beside it.
|
|
1822
|
+
* Multiple users show avatars in a row with the name revealed on hover via tooltip.
|
|
1823
|
+
* When a user has an `href`, the avatar and name become links.
|
|
1824
|
+
*
|
|
1825
|
+
* @public
|
|
1826
|
+
*/
|
|
1827
|
+
declare const HeaderMetadataUsers: ({ users, }: {
|
|
1828
|
+
users: HeaderMetadataUser[];
|
|
1829
|
+
}) => react_jsx_runtime.JSX.Element | null;
|
|
1830
|
+
|
|
1831
|
+
/**
|
|
1832
|
+
* Displays a single status indicator as a coloured dot with a label inside a
|
|
1833
|
+
* Header metadata value. Optionally renders the label as a link when href is provided.
|
|
1834
|
+
*
|
|
1835
|
+
* @public
|
|
1836
|
+
*/
|
|
1837
|
+
declare const HeaderMetadataStatus: ({ label, color, href, }: HeaderMetadataStatusProps) => react_jsx_runtime.JSX.Element;
|
|
1838
|
+
|
|
1728
1839
|
/** @public */
|
|
1729
1840
|
type ButtonIconOwnProps = {
|
|
1730
1841
|
size?: Responsive<'small' | 'medium'>;
|
|
@@ -1923,6 +2034,191 @@ declare const CheckboxGroupDefinition: {
|
|
|
1923
2034
|
};
|
|
1924
2035
|
};
|
|
1925
2036
|
|
|
2037
|
+
/** @public */
|
|
2038
|
+
type Option = {
|
|
2039
|
+
value: string;
|
|
2040
|
+
label: string;
|
|
2041
|
+
disabled?: boolean;
|
|
2042
|
+
};
|
|
2043
|
+
/** @public */
|
|
2044
|
+
type OptionSection = {
|
|
2045
|
+
title: string;
|
|
2046
|
+
options: Option[];
|
|
2047
|
+
};
|
|
2048
|
+
/** @public */
|
|
2049
|
+
type SelectOwnProps = {
|
|
2050
|
+
/**
|
|
2051
|
+
* An icon to render before the input
|
|
2052
|
+
*/
|
|
2053
|
+
icon?: ReactNode;
|
|
2054
|
+
/**
|
|
2055
|
+
* The size of the select field
|
|
2056
|
+
* @defaultValue 'small'
|
|
2057
|
+
*/
|
|
2058
|
+
size?: 'small' | 'medium' | Partial<Record<Breakpoint, 'small' | 'medium'>>;
|
|
2059
|
+
/**
|
|
2060
|
+
* The options of the select field. Pass flat options, option sections for
|
|
2061
|
+
* grouped display, or a mix of both in the same array.
|
|
2062
|
+
*/
|
|
2063
|
+
options?: Array<Option | OptionSection>;
|
|
2064
|
+
/**
|
|
2065
|
+
* Enable search/filter functionality in the dropdown
|
|
2066
|
+
* @defaultValue false
|
|
2067
|
+
*/
|
|
2068
|
+
searchable?: boolean;
|
|
2069
|
+
/**
|
|
2070
|
+
* placeholder text for the search input
|
|
2071
|
+
* only used when searchable is true
|
|
2072
|
+
* @defaultvalue 'search...'
|
|
2073
|
+
*/
|
|
2074
|
+
searchPlaceholder?: string;
|
|
2075
|
+
label?: FieldLabelProps['label'];
|
|
2076
|
+
secondaryLabel?: FieldLabelProps['secondaryLabel'];
|
|
2077
|
+
description?: FieldLabelProps['description'];
|
|
2078
|
+
isRequired?: boolean;
|
|
2079
|
+
className?: string;
|
|
2080
|
+
};
|
|
2081
|
+
/** @public */
|
|
2082
|
+
interface SelectProps<T extends 'single' | 'multiple'> extends SelectOwnProps, Omit<SelectProps$1<Option, T>, keyof SelectOwnProps> {
|
|
2083
|
+
/**
|
|
2084
|
+
* Selection mode, single or multiple
|
|
2085
|
+
* @defaultvalue 'single'
|
|
2086
|
+
*/
|
|
2087
|
+
selectionMode?: T;
|
|
2088
|
+
}
|
|
2089
|
+
|
|
2090
|
+
/** @public */
|
|
2091
|
+
type ComboboxOwnProps = {
|
|
2092
|
+
/**
|
|
2093
|
+
* An icon to render before the input
|
|
2094
|
+
*/
|
|
2095
|
+
icon?: ReactNode;
|
|
2096
|
+
/**
|
|
2097
|
+
* The size of the combobox field
|
|
2098
|
+
* @defaultValue 'small'
|
|
2099
|
+
*/
|
|
2100
|
+
size?: 'small' | 'medium' | Partial<Record<Breakpoint, 'small' | 'medium'>>;
|
|
2101
|
+
/**
|
|
2102
|
+
* The options of the combobox field. Pass flat options, option sections for
|
|
2103
|
+
* grouped display, or a mix of both in the same array.
|
|
2104
|
+
*/
|
|
2105
|
+
options?: Array<Option | OptionSection>;
|
|
2106
|
+
/**
|
|
2107
|
+
* Placeholder text for the input.
|
|
2108
|
+
*/
|
|
2109
|
+
placeholder?: string;
|
|
2110
|
+
label?: FieldLabelProps['label'];
|
|
2111
|
+
secondaryLabel?: FieldLabelProps['secondaryLabel'];
|
|
2112
|
+
description?: FieldLabelProps['description'];
|
|
2113
|
+
isRequired?: boolean;
|
|
2114
|
+
className?: string;
|
|
2115
|
+
};
|
|
2116
|
+
/** @public */
|
|
2117
|
+
interface ComboboxProps extends ComboboxOwnProps, Omit<ComboBoxProps<Option>, keyof ComboboxOwnProps> {
|
|
2118
|
+
}
|
|
2119
|
+
|
|
2120
|
+
/**
|
|
2121
|
+
* A text input combined with a dropdown list of options. The user can type to filter
|
|
2122
|
+
* suggestions, navigate with the keyboard, and pick a value. With `allowsCustomValue`
|
|
2123
|
+
* the typed text can be committed even if no option matches.
|
|
2124
|
+
*
|
|
2125
|
+
* @public
|
|
2126
|
+
*/
|
|
2127
|
+
declare const Combobox: react.ForwardRefExoticComponent<ComboboxProps & react.RefAttributes<HTMLDivElement>>;
|
|
2128
|
+
|
|
2129
|
+
/**
|
|
2130
|
+
* Component definition for Combobox
|
|
2131
|
+
* @public
|
|
2132
|
+
*/
|
|
2133
|
+
declare const ComboboxDefinition: {
|
|
2134
|
+
readonly styles: {
|
|
2135
|
+
readonly [key: string]: string;
|
|
2136
|
+
};
|
|
2137
|
+
readonly classNames: {
|
|
2138
|
+
readonly root: "bui-Combobox";
|
|
2139
|
+
readonly popover: "bui-ComboboxPopover";
|
|
2140
|
+
};
|
|
2141
|
+
readonly propDefs: {
|
|
2142
|
+
readonly icon: {};
|
|
2143
|
+
readonly size: {
|
|
2144
|
+
readonly dataAttribute: true;
|
|
2145
|
+
readonly default: "small";
|
|
2146
|
+
};
|
|
2147
|
+
readonly options: {};
|
|
2148
|
+
readonly placeholder: {};
|
|
2149
|
+
readonly label: {};
|
|
2150
|
+
readonly secondaryLabel: {};
|
|
2151
|
+
readonly description: {};
|
|
2152
|
+
readonly isRequired: {};
|
|
2153
|
+
readonly className: {};
|
|
2154
|
+
};
|
|
2155
|
+
};
|
|
2156
|
+
/**
|
|
2157
|
+
* Component definition for ComboboxInput
|
|
2158
|
+
* @public
|
|
2159
|
+
*/
|
|
2160
|
+
declare const ComboboxInputDefinition: {
|
|
2161
|
+
readonly styles: {
|
|
2162
|
+
readonly [key: string]: string;
|
|
2163
|
+
};
|
|
2164
|
+
readonly classNames: {
|
|
2165
|
+
readonly root: "bui-ComboboxInput";
|
|
2166
|
+
readonly icon: "bui-ComboboxInputIcon";
|
|
2167
|
+
readonly input: "bui-ComboboxInputField";
|
|
2168
|
+
readonly chevron: "bui-ComboboxInputChevron";
|
|
2169
|
+
};
|
|
2170
|
+
readonly bg: "consumer";
|
|
2171
|
+
readonly propDefs: {
|
|
2172
|
+
readonly icon: {};
|
|
2173
|
+
readonly placeholder: {};
|
|
2174
|
+
};
|
|
2175
|
+
};
|
|
2176
|
+
/**
|
|
2177
|
+
* Component definition for ComboboxListBox
|
|
2178
|
+
* @public
|
|
2179
|
+
*/
|
|
2180
|
+
declare const ComboboxListBoxDefinition: {
|
|
2181
|
+
readonly styles: {
|
|
2182
|
+
readonly [key: string]: string;
|
|
2183
|
+
};
|
|
2184
|
+
readonly classNames: {
|
|
2185
|
+
readonly root: "bui-ComboboxList";
|
|
2186
|
+
readonly noResults: "bui-ComboboxNoResults";
|
|
2187
|
+
};
|
|
2188
|
+
readonly propDefs: {
|
|
2189
|
+
readonly options: {};
|
|
2190
|
+
};
|
|
2191
|
+
};
|
|
2192
|
+
/**
|
|
2193
|
+
* Component definition for ComboboxListBoxItem
|
|
2194
|
+
* @public
|
|
2195
|
+
*/
|
|
2196
|
+
declare const ComboboxListBoxItemDefinition: {
|
|
2197
|
+
readonly styles: {
|
|
2198
|
+
readonly [key: string]: string;
|
|
2199
|
+
};
|
|
2200
|
+
readonly classNames: {
|
|
2201
|
+
readonly root: "bui-ComboboxItem";
|
|
2202
|
+
readonly indicator: "bui-ComboboxItemIndicator";
|
|
2203
|
+
readonly label: "bui-ComboboxItemLabel";
|
|
2204
|
+
};
|
|
2205
|
+
readonly propDefs: {};
|
|
2206
|
+
};
|
|
2207
|
+
/**
|
|
2208
|
+
* Component definition for ComboboxSection
|
|
2209
|
+
* @public
|
|
2210
|
+
*/
|
|
2211
|
+
declare const ComboboxSectionDefinition: {
|
|
2212
|
+
readonly styles: {
|
|
2213
|
+
readonly [key: string]: string;
|
|
2214
|
+
};
|
|
2215
|
+
readonly classNames: {
|
|
2216
|
+
readonly root: "bui-ComboboxSection";
|
|
2217
|
+
readonly header: "bui-ComboboxSectionHeader";
|
|
2218
|
+
};
|
|
2219
|
+
readonly propDefs: {};
|
|
2220
|
+
};
|
|
2221
|
+
|
|
1926
2222
|
/** @public */
|
|
1927
2223
|
type RadioGroupOwnProps = {
|
|
1928
2224
|
children?: ReactNode;
|
|
@@ -2484,6 +2780,18 @@ type UseTableCompleteOptions<T extends TableItem, TFilter = unknown> = QueryOpti
|
|
|
2484
2780
|
sortFn?: (data: T[], sort: SortDescriptor) => T[];
|
|
2485
2781
|
filterFn?: (data: T[], filter: TFilter) => T[];
|
|
2486
2782
|
searchFn?: (data: T[], search: string) => T[];
|
|
2783
|
+
/**
|
|
2784
|
+
* Trailing-edge debounce delay (ms) applied to the search value before it
|
|
2785
|
+
* reaches `searchFn`. Defaults to `0` — no debounce, no extra render. The
|
|
2786
|
+
* controlled `search` / `onSearchChange` surface is unaffected.
|
|
2787
|
+
*/
|
|
2788
|
+
searchDebounceMs?: number;
|
|
2789
|
+
/**
|
|
2790
|
+
* Trailing-edge debounce delay (ms) applied to the filter value before it
|
|
2791
|
+
* reaches `filterFn`. Defaults to `0` — no debounce, no extra render. The
|
|
2792
|
+
* controlled `filter` / `onFilterChange` surface is unaffected.
|
|
2793
|
+
*/
|
|
2794
|
+
filterDebounceMs?: number;
|
|
2487
2795
|
} & ({
|
|
2488
2796
|
data: T[] | undefined;
|
|
2489
2797
|
getData?: never;
|
|
@@ -3439,53 +3747,6 @@ declare const ListRowDefinition: {
|
|
|
3439
3747
|
};
|
|
3440
3748
|
};
|
|
3441
3749
|
|
|
3442
|
-
/** @public */
|
|
3443
|
-
type Option = {
|
|
3444
|
-
value: string;
|
|
3445
|
-
label: string;
|
|
3446
|
-
disabled?: boolean;
|
|
3447
|
-
};
|
|
3448
|
-
/** @public */
|
|
3449
|
-
type SelectOwnProps = {
|
|
3450
|
-
/**
|
|
3451
|
-
* An icon to render before the input
|
|
3452
|
-
*/
|
|
3453
|
-
icon?: ReactNode;
|
|
3454
|
-
/**
|
|
3455
|
-
* The size of the select field
|
|
3456
|
-
* @defaultValue 'small'
|
|
3457
|
-
*/
|
|
3458
|
-
size?: 'small' | 'medium' | Partial<Record<Breakpoint, 'small' | 'medium'>>;
|
|
3459
|
-
/**
|
|
3460
|
-
* The options of the select field
|
|
3461
|
-
*/
|
|
3462
|
-
options?: Array<Option>;
|
|
3463
|
-
/**
|
|
3464
|
-
* Enable search/filter functionality in the dropdown
|
|
3465
|
-
* @defaultValue false
|
|
3466
|
-
*/
|
|
3467
|
-
searchable?: boolean;
|
|
3468
|
-
/**
|
|
3469
|
-
* placeholder text for the search input
|
|
3470
|
-
* only used when searchable is true
|
|
3471
|
-
* @defaultvalue 'search...'
|
|
3472
|
-
*/
|
|
3473
|
-
searchPlaceholder?: string;
|
|
3474
|
-
label?: FieldLabelProps['label'];
|
|
3475
|
-
secondaryLabel?: FieldLabelProps['secondaryLabel'];
|
|
3476
|
-
description?: FieldLabelProps['description'];
|
|
3477
|
-
isRequired?: boolean;
|
|
3478
|
-
className?: string;
|
|
3479
|
-
};
|
|
3480
|
-
/** @public */
|
|
3481
|
-
interface SelectProps<T extends 'single' | 'multiple'> extends SelectOwnProps, Omit<SelectProps$1<Option, T>, keyof SelectOwnProps> {
|
|
3482
|
-
/**
|
|
3483
|
-
* Selection mode, single or multiple
|
|
3484
|
-
* @defaultvalue 'single'
|
|
3485
|
-
*/
|
|
3486
|
-
selectionMode?: T;
|
|
3487
|
-
}
|
|
3488
|
-
|
|
3489
3750
|
/**
|
|
3490
3751
|
* A dropdown picker for selecting one or multiple options from a list, with optional search filtering and inline error display.
|
|
3491
3752
|
*
|
|
@@ -3858,5 +4119,5 @@ declare function useAnalytics(): AnalyticsTracker;
|
|
|
3858
4119
|
*/
|
|
3859
4120
|
declare function getNodeText(node: ReactNode | ((...args: any[]) => ReactNode)): string | undefined;
|
|
3860
4121
|
|
|
3861
|
-
export { Accordion, AccordionDefinition, AccordionGroup, AccordionGroupDefinition, AccordionPanel, AccordionPanelDefinition, AccordionTrigger, AccordionTriggerDefinition, Alert, AlertDefinition, Avatar, AvatarDefinition, BUIProvider, Badge, BadgeDefinition, BgProvider, Box, BoxDefinition, Button, ButtonDefinition, ButtonIcon, ButtonIconDefinition, ButtonLink, ButtonLinkDefinition, Card, CardBody, CardBodyDefinition, CardDefinition, CardFooter, CardFooterDefinition, CardHeader, CardHeaderDefinition, Cell, CellProfile, CellText, Checkbox, CheckboxDefinition, CheckboxGroup, CheckboxGroupDefinition, Column, Container, ContainerDefinition, DateRangePicker, DateRangePickerDefinition, Dialog, DialogBody, DialogBodyDefinition, DialogDefinition, DialogFooter, DialogFooterDefinition, DialogHeader, DialogHeaderDefinition, DialogTrigger, FieldLabel, FieldLabelDefinition, Flex, FlexDefinition, FullPage, FullPageDefinition, Grid, GridDefinition, GridItemDefinition, Header, HeaderDefinition, HeaderNavDefinition, HeaderNavGroupDefinition, HeaderNavItemDefinition, 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, Slider, SliderDefinition, SubmenuTrigger, Switch, SwitchDefinition, Tab, TabList, TabPanel, Table, TableBody, TableBodySkeleton, 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 };
|
|
3862
|
-
export type { AccordionGroupOwnProps, AccordionGroupProps, AccordionOwnProps, AccordionPanelOwnProps, AccordionPanelProps, AccordionProps, AccordionTriggerOwnProps, AccordionTriggerProps, AlertOwnProps, AlertProps, AlignItems, AnalyticsEventAttributes, AnalyticsTracker, AvatarOwnProps, AvatarProps, BUIProviderProps, BadgeOwnProps, BadgeProps, 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, CheckboxGroupOwnProps, CheckboxGroupProps, CheckboxOwnProps, CheckboxProps, ColumnConfig, ColumnOwnProps, ColumnProps, Columns, CompletePaginationOptions, ContainerBg, ContainerOwnProps, ContainerProps, CursorParams, CursorResponse, DateRangePickerOwnProps, DateRangePickerProps, DialogBodyOwnProps, DialogBodyProps, DialogFooterOwnProps, DialogFooterProps, DialogHeaderOwnProps, DialogHeaderProps, DialogOwnProps, DialogProps, DialogTriggerProps, Display, FieldLabelOwnProps, FieldLabelProps, FilterState, FlexDirection, FlexItemProps, FlexOwnProps, FlexProps, FlexWrap, FullPageOwnProps, FullPageProps, GridItemOwnProps, GridItemProps, GridOwnProps, GridProps, HeaderBreadcrumb, HeaderNavTab, HeaderNavTabGroup, HeaderNavTabItem, 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, SliderOwnProps, SliderProps, 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 };
|
|
4122
|
+
export { Accordion, AccordionDefinition, AccordionGroup, AccordionGroupDefinition, AccordionPanel, AccordionPanelDefinition, AccordionTrigger, AccordionTriggerDefinition, Alert, AlertDefinition, Avatar, AvatarDefinition, BUIProvider, Badge, BadgeDefinition, BgProvider, Box, BoxDefinition, Button, ButtonDefinition, ButtonIcon, ButtonIconDefinition, ButtonLink, ButtonLinkDefinition, Card, CardBody, CardBodyDefinition, CardDefinition, CardFooter, CardFooterDefinition, CardHeader, CardHeaderDefinition, Cell, CellProfile, CellText, Checkbox, CheckboxDefinition, CheckboxGroup, CheckboxGroupDefinition, Column, Combobox, ComboboxDefinition, ComboboxInputDefinition, ComboboxListBoxDefinition, ComboboxListBoxItemDefinition, ComboboxSectionDefinition, Container, ContainerDefinition, DateRangePicker, DateRangePickerDefinition, Dialog, DialogBody, DialogBodyDefinition, DialogDefinition, DialogFooter, DialogFooterDefinition, DialogHeader, DialogHeaderDefinition, DialogTrigger, FieldLabel, FieldLabelDefinition, Flex, FlexDefinition, FullPage, FullPageDefinition, Grid, GridDefinition, GridItemDefinition, Header, HeaderDefinition, HeaderMetadataStatus, HeaderMetadataUsers, HeaderNavDefinition, HeaderNavGroupDefinition, HeaderNavItemDefinition, 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, Slider, SliderDefinition, SubmenuTrigger, Switch, SwitchDefinition, Tab, TabList, TabPanel, Table, TableBody, TableBodySkeleton, 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 };
|
|
4123
|
+
export type { AccordionGroupOwnProps, AccordionGroupProps, AccordionOwnProps, AccordionPanelOwnProps, AccordionPanelProps, AccordionProps, AccordionTriggerOwnProps, AccordionTriggerProps, AlertOwnProps, AlertProps, AlignItems, AnalyticsEventAttributes, AnalyticsTracker, AvatarOwnProps, AvatarProps, BUIProviderProps, BadgeOwnProps, BadgeProps, 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, CheckboxGroupOwnProps, CheckboxGroupProps, CheckboxOwnProps, CheckboxProps, ColumnConfig, ColumnOwnProps, ColumnProps, Columns, ComboboxOwnProps, ComboboxProps, CompletePaginationOptions, ContainerBg, ContainerOwnProps, ContainerProps, CursorParams, CursorResponse, DateRangePickerOwnProps, DateRangePickerProps, DialogBodyOwnProps, DialogBodyProps, DialogFooterOwnProps, DialogFooterProps, DialogHeaderOwnProps, DialogHeaderProps, DialogOwnProps, DialogProps, DialogTriggerProps, Display, FieldLabelOwnProps, FieldLabelProps, FilterState, FlexDirection, FlexItemProps, FlexOwnProps, FlexProps, FlexWrap, FullPageOwnProps, FullPageProps, GridItemOwnProps, GridItemProps, GridOwnProps, GridProps, HeaderBreadcrumb, HeaderMetadataItem, HeaderMetadataStatusProps, HeaderMetadataUser, HeaderNavTab, HeaderNavTabGroup, HeaderNavTabItem, HeaderOwnProps, HeaderPageBreadcrumb, HeaderPageOwnProps, HeaderPageProps, HeaderProps, HeaderTab, HeaderTag, 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, OptionSection, 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, SliderOwnProps, SliderProps, 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 };
|
package/dist/index.esm.js
CHANGED
|
@@ -31,6 +31,8 @@ export { PluginHeaderDefinition } from './components/PluginHeader/definition.esm
|
|
|
31
31
|
export { Header, HeaderPage } from './components/Header/Header.esm.js';
|
|
32
32
|
export { HeaderDefinition, HeaderPageDefinition } from './components/Header/definition.esm.js';
|
|
33
33
|
export { HeaderNavDefinition, HeaderNavGroupDefinition, HeaderNavItemDefinition } from './components/Header/HeaderNavDefinition.esm.js';
|
|
34
|
+
export { HeaderMetadataUsers } from './components/Header/HeaderMetadataUsers.esm.js';
|
|
35
|
+
export { HeaderMetadataStatus } from './components/Header/HeaderMetadataStatus.esm.js';
|
|
34
36
|
export { ButtonIcon } from './components/ButtonIcon/ButtonIcon.esm.js';
|
|
35
37
|
export { ButtonIconDefinition } from './components/ButtonIcon/definition.esm.js';
|
|
36
38
|
export { ButtonLink } from './components/ButtonLink/ButtonLink.esm.js';
|
|
@@ -39,6 +41,8 @@ export { Checkbox } from './components/Checkbox/Checkbox.esm.js';
|
|
|
39
41
|
export { CheckboxDefinition } from './components/Checkbox/definition.esm.js';
|
|
40
42
|
export { CheckboxGroup } from './components/CheckboxGroup/CheckboxGroup.esm.js';
|
|
41
43
|
export { CheckboxGroupDefinition } from './components/CheckboxGroup/definition.esm.js';
|
|
44
|
+
export { Combobox } from './components/Combobox/Combobox.esm.js';
|
|
45
|
+
export { ComboboxDefinition, ComboboxInputDefinition, ComboboxListBoxDefinition, ComboboxListBoxItemDefinition, ComboboxSectionDefinition } from './components/Combobox/definition.esm.js';
|
|
42
46
|
export { Radio, RadioGroup } from './components/RadioGroup/RadioGroup.esm.js';
|
|
43
47
|
export { RadioDefinition, RadioGroupDefinition } from './components/RadioGroup/definition.esm.js';
|
|
44
48
|
export { Slider } from './components/Slider/Slider.esm.js';
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { useMemo } from 'react';
|
|
3
3
|
import { RouterProvider } from 'react-aria-components';
|
|
4
|
-
import { useInRouterContext, useNavigate
|
|
4
|
+
import { useInRouterContext, useNavigate } from 'react-router-dom';
|
|
5
5
|
import { createVersionedValueMap } from '@backstage/version-bridge';
|
|
6
6
|
import { BUIContext } from '../analytics/useAnalytics.esm.js';
|
|
7
|
+
import { useResolvedHref } from '../hooks/useResolvedHref.esm.js';
|
|
7
8
|
|
|
8
9
|
function BUIProvider(props) {
|
|
9
10
|
const { useAnalytics, children } = props;
|
|
@@ -21,7 +22,7 @@ function BUIProvider(props) {
|
|
|
21
22
|
}
|
|
22
23
|
function RoutedContent({ children }) {
|
|
23
24
|
const navigate = useNavigate();
|
|
24
|
-
return /* @__PURE__ */ jsx(RouterProvider, { navigate, useHref, children });
|
|
25
|
+
return /* @__PURE__ */ jsx(RouterProvider, { navigate, useHref: useResolvedHref, children });
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
export { BUIProvider };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BUIProvider.esm.js","sources":["../../src/provider/BUIProvider.tsx"],"sourcesContent":["/*\n * Copyright 2026 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { useMemo, type ReactNode } from 'react';\nimport { RouterProvider } from 'react-aria-components';\nimport { useInRouterContext, useNavigate
|
|
1
|
+
{"version":3,"file":"BUIProvider.esm.js","sources":["../../src/provider/BUIProvider.tsx"],"sourcesContent":["/*\n * Copyright 2026 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { useMemo, type ReactNode } from 'react';\nimport { RouterProvider } from 'react-aria-components';\nimport { useInRouterContext, useNavigate } from 'react-router-dom';\nimport { createVersionedValueMap } from '@backstage/version-bridge';\nimport { BUIContext } from '../analytics/useAnalytics';\nimport { useResolvedHref } from '../hooks/useResolvedHref';\nimport type { UseAnalyticsFn } from '../analytics/types';\n\n/** @public */\nexport type BUIProviderProps = {\n useAnalytics?: UseAnalyticsFn;\n children: ReactNode;\n};\n\n/**\n * Provides integration capabilities to all descendant BUI components.\n *\n * @example\n * ```tsx\n * import { BUIProvider } from '@backstage/ui';\n * import { useAnalytics as useBackstageAnalytics } from '@backstage/core-plugin-api';\n *\n * function App() {\n * return (\n * <BUIProvider useAnalytics={useBackstageAnalytics}>\n * <AppContent />\n * </BUIProvider>\n * );\n * }\n * ```\n *\n * @public\n */\nexport function BUIProvider(props: BUIProviderProps) {\n const { useAnalytics, children } = props;\n const value = useMemo(\n () =>\n createVersionedValueMap({\n 1: { useAnalytics },\n }),\n [useAnalytics],\n );\n\n const content = (\n <BUIContext.Provider value={value}>{children}</BUIContext.Provider>\n );\n\n if (useInRouterContext()) {\n return <RoutedContent>{content}</RoutedContent>;\n }\n\n return content;\n}\n\nfunction RoutedContent({ children }: { children: ReactNode }) {\n const navigate = useNavigate();\n return (\n <RouterProvider navigate={navigate} useHref={useResolvedHref}>\n {children}\n </RouterProvider>\n );\n}\n"],"names":[],"mappings":";;;;;;;;AAiDO,SAAS,YAAY,KAAA,EAAyB;AACnD,EAAA,MAAM,EAAE,YAAA,EAAc,QAAA,EAAS,GAAI,KAAA;AACnC,EAAA,MAAM,KAAA,GAAQ,OAAA;AAAA,IACZ,MACE,uBAAA,CAAwB;AAAA,MACtB,CAAA,EAAG,EAAE,YAAA;AAAa,KACnB,CAAA;AAAA,IACH,CAAC,YAAY;AAAA,GACf;AAEA,EAAA,MAAM,0BACJ,GAAA,CAAC,UAAA,CAAW,QAAA,EAAX,EAAoB,OAAe,QAAA,EAAS,CAAA;AAG/C,EAAA,IAAI,oBAAmB,EAAG;AACxB,IAAA,uBAAO,GAAA,CAAC,iBAAe,QAAA,EAAA,OAAA,EAAQ,CAAA;AAAA,EACjC;AAEA,EAAA,OAAO,OAAA;AACT;AAEA,SAAS,aAAA,CAAc,EAAE,QAAA,EAAS,EAA4B;AAC5D,EAAA,MAAM,WAAW,WAAA,EAAY;AAC7B,EAAA,uBACE,GAAA,CAAC,cAAA,EAAA,EAAe,QAAA,EAAoB,OAAA,EAAS,iBAC1C,QAAA,EACH,CAAA;AAEJ;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@backstage/ui",
|
|
3
|
-
"version": "0.15.0-next.
|
|
3
|
+
"version": "0.15.0-next.2",
|
|
4
4
|
"backstage": {
|
|
5
5
|
"role": "web-library"
|
|
6
6
|
},
|
|
@@ -51,18 +51,23 @@
|
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
53
|
"@backstage/version-bridge": "1.0.12",
|
|
54
|
+
"@braintree/sanitize-url": "^7.1.2",
|
|
54
55
|
"@internationalized/date": "^3.12.0",
|
|
55
|
-
"@remixicon/react": "
|
|
56
|
+
"@remixicon/react": ">=4.6.0 <4.9.0",
|
|
56
57
|
"@tanstack/react-table": "^8.21.3",
|
|
57
58
|
"clsx": "^2.1.1",
|
|
59
|
+
"marked": "^15.0.12",
|
|
58
60
|
"react-aria": "~3.48.0",
|
|
59
61
|
"react-aria-components": "~1.17.0",
|
|
60
62
|
"react-stately": "~3.46.0",
|
|
61
63
|
"use-sync-external-store": "^1.4.0"
|
|
62
64
|
},
|
|
63
65
|
"devDependencies": {
|
|
64
|
-
"@backstage/cli": "0.36.2-next.
|
|
66
|
+
"@backstage/cli": "0.36.2-next.1",
|
|
67
|
+
"@backstage/core-components": "0.18.10-next.1",
|
|
65
68
|
"@storybook/react-vite": "^10.3.3",
|
|
69
|
+
"@testing-library/jest-dom": "^6.0.0",
|
|
70
|
+
"@testing-library/react": "^16.0.0",
|
|
66
71
|
"@types/react": "^18.0.0",
|
|
67
72
|
"@types/react-dom": "^18.0.0",
|
|
68
73
|
"@types/use-sync-external-store": "^1.0.0",
|