@bloomreach/react-banana-ui 1.32.2 → 1.34.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.
- package/README.md +229 -50
- package/dist/bloomreach-react-banana-ui.es.js +12507 -11672
- package/dist/bloomreach-react-banana-ui.es.js.map +1 -1
- package/dist/bloomreach-react-banana-ui.umd.js +18 -43
- package/dist/bloomreach-react-banana-ui.umd.js.map +1 -1
- package/dist/components/data-display/actions-container/actions-container.types.d.ts +2 -2
- package/dist/components/data-display/badge/badge.types.d.ts +2 -2
- package/dist/components/data-display/description/description.types.d.ts +2 -2
- package/dist/components/data-display/header/header.types.d.ts +2 -2
- package/dist/components/data-display/index.d.ts +1 -11
- package/dist/components/data-display/internal.d.ts +1 -1
- package/dist/components/data-display/table/index.d.ts +8 -2
- package/dist/components/data-display/table/table/index.d.ts +2 -0
- package/dist/components/data-display/tags/index.d.ts +4 -0
- package/dist/components/data-display/{tag → tags/tag}/tag.types.d.ts +2 -2
- package/dist/components/data-display/{tag-group → tags/tag-group}/tag-group.types.d.ts +2 -2
- package/dist/components/date/date-range-quick-selections/date-range-quick-selections.d.ts +9 -0
- package/dist/components/date/date-range-quick-selections/date-range-quick-selections.types.d.ts +25 -0
- package/dist/components/date/date-range-quick-selections/index.d.ts +2 -0
- package/dist/components/date/date-time-picker/date-time-picker.stories.d.ts +6 -0
- package/dist/components/date/date-time-picker/date-time-picker.types.d.ts +23 -1
- package/dist/components/date/date-time-range-picker/date-time-range-picker.stories.d.ts +11 -0
- package/dist/components/date/date-time-range-picker/date-time-range-picker.types.d.ts +86 -1
- package/dist/components/date/date-time-range-picker/index.d.ts +1 -0
- package/dist/components/dropdowns/menu/menu.stories.d.ts +9 -1
- package/dist/components/inputs/autocomplete/autocomplete.qa.stories.d.ts +3 -1
- package/dist/components/inputs/autocomplete/autocomplete.stories.d.ts +3 -0
- package/dist/components/inputs/autocomplete/autocomplete.types.d.ts +42 -2
- package/dist/components/inputs/autocomplete-field/autocomplete-field.d.ts +26 -0
- package/dist/components/inputs/autocomplete-field/autocomplete-field.qa.stories.d.ts +34 -0
- package/dist/components/inputs/autocomplete-field/autocomplete-field.stories.d.ts +44 -0
- package/dist/components/inputs/autocomplete-field/autocomplete-field.types.d.ts +34 -0
- package/dist/components/inputs/autocomplete-field/index.d.ts +2 -0
- package/dist/components/inputs/base-field/base-field.types.d.ts +4 -0
- package/dist/components/inputs/index.d.ts +1 -0
- package/dist/components/inputs/input-field/input-field.stories.d.ts +1 -0
- package/dist/components/inputs/internal.d.ts +1 -0
- package/dist/components/inputs/select-field/select-field.stories.d.ts +1 -0
- package/dist/components/inputs/text-field/text-field.stories.d.ts +1 -0
- package/dist/components/lists/listbox-item/listbox-item.types.d.ts +9 -1
- package/dist/components/lists/listbox-separator/index.d.ts +2 -0
- package/dist/components/lists/listbox-separator/listbox-separator.d.ts +24 -0
- package/dist/components/lists/listbox-separator/listbox-separator.types.d.ts +6 -0
- package/dist/components/popovers/tooltip/tooltip.qa.stories.d.ts +8 -2
- package/dist/components/popovers/tooltip/tooltip.stories.d.ts +43 -13
- package/dist/components/popovers/tooltip/tooltip.types.d.ts +6 -0
- package/dist/react-banana-ui.css +1 -1
- package/dist/utils/date-range-presets.d.ts +144 -0
- package/dist/utils/hooks/index.d.ts +1 -0
- package/dist/utils/hooks/use-sync-max-height.d.ts +8 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/use-id.d.ts +39 -0
- package/package.json +42 -42
- package/dist/components/dropdowns/menu/menu/menu.stories.d.ts +0 -6
- package/dist/components/dropdowns/menu/menu-button/menu-button.stories.d.ts +0 -6
- package/dist/components/dropdowns/menu/menu-content/menu-content.stories.d.ts +0 -10
- package/dist/components/dropdowns/menu/menu-group/menu-group.stories.d.ts +0 -6
- package/dist/components/dropdowns/menu/menu-group-label/menu-group-label.stories.d.ts +0 -6
- package/dist/components/dropdowns/menu/menu-item/menu-item.stories.d.ts +0 -6
- package/dist/components/dropdowns/menu/menu-separator/menu-separator.stories.d.ts +0 -6
- package/dist/components/inputs/base-field/generate-field-id.d.ts +0 -4
- /package/dist/components/data-display/table/{table-context.d.ts → table/table-context.d.ts} +0 -0
- /package/dist/components/data-display/table/{table-section-context.d.ts → table/table-section-context.d.ts} +0 -0
- /package/dist/components/data-display/table/{table.d.ts → table/table.d.ts} +0 -0
- /package/dist/components/data-display/table/{table.qa.stories.d.ts → table/table.qa.stories.d.ts} +0 -0
- /package/dist/components/data-display/table/{table.stories.d.ts → table/table.stories.d.ts} +0 -0
- /package/dist/components/data-display/table/{table.types.d.ts → table/table.types.d.ts} +0 -0
- /package/dist/components/data-display/{table-body → table/table-body}/index.d.ts +0 -0
- /package/dist/components/data-display/{table-body → table/table-body}/table-body.d.ts +0 -0
- /package/dist/components/data-display/{table-body → table/table-body}/table-body.types.d.ts +0 -0
- /package/dist/components/data-display/{table-cell → table/table-cell}/index.d.ts +0 -0
- /package/dist/components/data-display/{table-cell → table/table-cell}/table-cell.d.ts +0 -0
- /package/dist/components/data-display/{table-cell → table/table-cell}/table-cell.types.d.ts +0 -0
- /package/dist/components/data-display/{table-cell-action → table/table-cell-action}/index.d.ts +0 -0
- /package/dist/components/data-display/{table-cell-action → table/table-cell-action}/table-cell-action.d.ts +0 -0
- /package/dist/components/data-display/{table-cell-action → table/table-cell-action}/table-cell-action.types.d.ts +0 -0
- /package/dist/components/data-display/{table-foot → table/table-foot}/index.d.ts +0 -0
- /package/dist/components/data-display/{table-foot → table/table-foot}/table-foot.d.ts +0 -0
- /package/dist/components/data-display/{table-foot → table/table-foot}/table-foot.types.d.ts +0 -0
- /package/dist/components/data-display/{table-head → table/table-head}/index.d.ts +0 -0
- /package/dist/components/data-display/{table-head → table/table-head}/table-head.d.ts +0 -0
- /package/dist/components/data-display/{table-head → table/table-head}/table-head.types.d.ts +0 -0
- /package/dist/components/data-display/{table-row → table/table-row}/index.d.ts +0 -0
- /package/dist/components/data-display/{table-row → table/table-row}/table-row-context.d.ts +0 -0
- /package/dist/components/data-display/{table-row → table/table-row}/table-row.d.ts +0 -0
- /package/dist/components/data-display/{table-row → table/table-row}/table-row.types.d.ts +0 -0
- /package/dist/components/data-display/{table-sort-label → table/table-sort-label}/index.d.ts +0 -0
- /package/dist/components/data-display/{table-sort-label → table/table-sort-label}/table-sort-label.d.ts +0 -0
- /package/dist/components/data-display/{table-sort-label → table/table-sort-label}/table-sort-label.types.d.ts +0 -0
- /package/dist/components/data-display/{asset-tag → tags/asset-tag}/asset-tag.d.ts +0 -0
- /package/dist/components/data-display/{asset-tag → tags/asset-tag}/asset-tag.qa.stories.d.ts +0 -0
- /package/dist/components/data-display/{asset-tag → tags/asset-tag}/asset-tag.stories.d.ts +0 -0
- /package/dist/components/data-display/{asset-tag → tags/asset-tag}/asset-tag.types.d.ts +0 -0
- /package/dist/components/data-display/{asset-tag → tags/asset-tag}/index.d.ts +0 -0
- /package/dist/components/data-display/{filter-tag → tags/filter-tag}/filter-tag.d.ts +0 -0
- /package/dist/components/data-display/{filter-tag → tags/filter-tag}/filter-tag.qa.stories.d.ts +0 -0
- /package/dist/components/data-display/{filter-tag → tags/filter-tag}/filter-tag.stories.d.ts +0 -0
- /package/dist/components/data-display/{filter-tag → tags/filter-tag}/filter-tag.types.d.ts +0 -0
- /package/dist/components/data-display/{filter-tag → tags/filter-tag}/index.d.ts +0 -0
- /package/dist/components/data-display/{input-tag → tags/input-tag}/index.d.ts +0 -0
- /package/dist/components/data-display/{input-tag → tags/input-tag}/input-tag.d.ts +0 -0
- /package/dist/components/data-display/{input-tag → tags/input-tag}/input-tag.qa.stories.d.ts +0 -0
- /package/dist/components/data-display/{input-tag → tags/input-tag}/input-tag.stories.d.ts +0 -0
- /package/dist/components/data-display/{input-tag → tags/input-tag}/input-tag.types.d.ts +0 -0
- /package/dist/components/data-display/{tag → tags/tag}/index.d.ts +0 -0
- /package/dist/components/data-display/{tag → tags/tag}/tag.d.ts +0 -0
- /package/dist/components/data-display/{tag-group → tags/tag-group}/index.d.ts +0 -0
- /package/dist/components/data-display/{tag-group → tags/tag-group}/tag-group.d.ts +0 -0
- /package/dist/components/data-display/{tag-group → tags/tag-group}/tag-group.qa.stories.d.ts +0 -0
- /package/dist/components/data-display/{tag-group → tags/tag-group}/tag-group.stories.d.ts +0 -0
|
@@ -14,6 +14,7 @@ export declare const CompleteField: Story;
|
|
|
14
14
|
export declare const Disabled: Story;
|
|
15
15
|
export declare const ReadOnly: Story;
|
|
16
16
|
export declare const Error: Story;
|
|
17
|
+
export declare const Required: Story;
|
|
17
18
|
export declare const FullWidth: Story;
|
|
18
19
|
export declare const CompleteFieldFullWidth: Story;
|
|
19
20
|
export declare const Controlled: Story;
|
|
@@ -8,6 +8,7 @@ export declare const WithLabel: Story;
|
|
|
8
8
|
export declare const WithTooltip: Story;
|
|
9
9
|
export declare const WithHelperText: Story;
|
|
10
10
|
export declare const CompleteField: Story;
|
|
11
|
+
export declare const Required: Story;
|
|
11
12
|
export declare const FullWidth: Story;
|
|
12
13
|
export declare const ControlledSingleSelect: Story;
|
|
13
14
|
export declare const Multiple: Story<string, true>;
|
|
@@ -12,6 +12,7 @@ export declare const CompleteField: Story;
|
|
|
12
12
|
export declare const Disabled: Story;
|
|
13
13
|
export declare const ReadOnly: Story;
|
|
14
14
|
export declare const Error: Story;
|
|
15
|
+
export declare const Required: Story;
|
|
15
16
|
export declare const ManuallyResizable: Story;
|
|
16
17
|
export declare const MinRows: Story;
|
|
17
18
|
export declare const AutoSize: Story;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HTMLAttributes, ReactNode } from 'react';
|
|
1
|
+
import { HTMLAttributes, MouseEventHandler, ReactNode } from 'react';
|
|
2
2
|
export interface ListboxItemProps {
|
|
3
3
|
/**
|
|
4
4
|
* The type of the check mark icon.
|
|
@@ -21,6 +21,10 @@ export interface ListboxItemProps {
|
|
|
21
21
|
* If `true`, the item will be highlighted.
|
|
22
22
|
*/
|
|
23
23
|
highlighted?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* The onClick handler for the list box item.
|
|
26
|
+
*/
|
|
27
|
+
onClick?: MouseEventHandler<HTMLLIElement>;
|
|
24
28
|
/**
|
|
25
29
|
* The role of the list box item.
|
|
26
30
|
* @default 'option'
|
|
@@ -30,4 +34,8 @@ export interface ListboxItemProps {
|
|
|
30
34
|
* If `true`, the item will be selected.
|
|
31
35
|
*/
|
|
32
36
|
selected?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Icon displayed at the start of the item (before the content).
|
|
39
|
+
*/
|
|
40
|
+
startIcon?: ReactNode;
|
|
33
41
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ListboxSeparatorProps } from './listbox-separator.types';
|
|
2
|
+
/**
|
|
3
|
+
* @internal
|
|
4
|
+
* The `ListboxSeparator` component is used to display a separator between list items.
|
|
5
|
+
*
|
|
6
|
+
* ### Usage
|
|
7
|
+
*
|
|
8
|
+
* ```tsx
|
|
9
|
+
* import { Listbox, ListboxItem, ListboxSeparator } from '@bloomreach/react-banana-ui';
|
|
10
|
+
*
|
|
11
|
+
* export default function MyList() {
|
|
12
|
+
* return (
|
|
13
|
+
* <Listbox>
|
|
14
|
+
* <ListboxItem>Item 1</ListboxItem>
|
|
15
|
+
* <ListboxItem>Item 2</ListboxItem>
|
|
16
|
+
* <ListboxSeparator />
|
|
17
|
+
* <ListboxItem>Item 3</ListboxItem>
|
|
18
|
+
* </Listbox>
|
|
19
|
+
* );
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
declare const ListboxSeparator: import('react').ForwardRefExoticComponent<ListboxSeparatorProps & import('react').RefAttributes<HTMLLIElement>>;
|
|
24
|
+
export default ListboxSeparator;
|
|
@@ -3,6 +3,12 @@ import { Meta } from '@storybook/react-vite';
|
|
|
3
3
|
import { Story } from './tooltip.stories';
|
|
4
4
|
declare const meta: Meta<typeof Tooltip>;
|
|
5
5
|
export default meta;
|
|
6
|
-
export declare const
|
|
7
|
-
export declare const
|
|
6
|
+
export declare const Basic: Story;
|
|
7
|
+
export declare const RichContent: Story;
|
|
8
|
+
export declare const Placement: Story;
|
|
9
|
+
export declare const IconTooltips: Story;
|
|
10
|
+
export declare const RenderOnIcon: Story;
|
|
11
|
+
export declare const RenderOnCustomIcon: Story;
|
|
8
12
|
export declare const AutoPlacement: Story;
|
|
13
|
+
export declare const OverflowContainer: Story;
|
|
14
|
+
export declare const ScrollContainer: Story;
|
|
@@ -3,23 +3,53 @@ import { Meta, StoryObj } from '@storybook/react-vite';
|
|
|
3
3
|
declare const meta: Meta<typeof Tooltip>;
|
|
4
4
|
export default meta;
|
|
5
5
|
export type Story = StoryObj<typeof Tooltip>;
|
|
6
|
-
export declare const Simple: Story;
|
|
7
|
-
export declare const LongHtmlContent: Story;
|
|
8
6
|
/**
|
|
9
|
-
*
|
|
10
|
-
* reference to a custom portal(container where the tooltip is rendered and used to calculate the tooltip position)
|
|
11
|
-
* using id. You can also pass a ref or a HTML element to the portalRoot prop
|
|
7
|
+
* Basic tooltip with simple text content on hover.
|
|
12
8
|
*/
|
|
13
|
-
export declare const
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
export declare const Basic: Story;
|
|
10
|
+
/**
|
|
11
|
+
* Tooltips can contain rich HTML content including bold, italic, and other formatting.
|
|
12
|
+
*/
|
|
13
|
+
export declare const RichContent: Story;
|
|
14
|
+
/**
|
|
15
|
+
* Control tooltip placement with the `placement` prop. Placement automatically adjusts if there isn't enough space.
|
|
16
|
+
*/
|
|
17
|
+
export declare const Placement: Story;
|
|
16
18
|
/**
|
|
17
|
-
*
|
|
19
|
+
* Tooltips can be attached to icon components. All icon types are supported.
|
|
18
20
|
*/
|
|
19
21
|
export declare const IconTooltips: Story;
|
|
20
|
-
export declare const EmptyTitleNoTooltip: Story;
|
|
21
22
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
23
|
+
* When `renderOnIcon` is `true`, the tooltip is triggered by an info icon next to the content.
|
|
24
|
+
* This is useful for labels, form fields, and informational text.
|
|
25
|
+
*/
|
|
26
|
+
export declare const RenderOnIcon: Story;
|
|
27
|
+
/**
|
|
28
|
+
* Provide a custom icon to `renderOnIcon` instead of the default info icon.
|
|
29
|
+
*/
|
|
30
|
+
export declare const RenderOnCustomIcon: Story;
|
|
31
|
+
/**
|
|
32
|
+
* Tooltips automatically adjust position when constrained by container boundaries.
|
|
33
|
+
* The arrow position updates accordingly to maintain visual connection to the trigger.
|
|
34
|
+
*/
|
|
35
|
+
export declare const AutoPlacement: Story;
|
|
36
|
+
/**
|
|
37
|
+
* Tooltips render in a portal by default, making them visible outside containers with `overflow: hidden`.
|
|
38
|
+
*/
|
|
39
|
+
export declare const OverflowContainer: Story;
|
|
40
|
+
/**
|
|
41
|
+
* Tooltips stay attached to their trigger element when scrolling inside custom scroll containers.
|
|
42
|
+
*/
|
|
43
|
+
export declare const ScrollContainer: Story;
|
|
44
|
+
/**
|
|
45
|
+
* When title is empty, no tooltip is rendered and the child element is returned as-is.
|
|
46
|
+
*/
|
|
47
|
+
export declare const EmptyTitle: Story;
|
|
48
|
+
/**
|
|
49
|
+
* Real-world usage examples showing tooltips in common UI patterns.
|
|
50
|
+
*/
|
|
51
|
+
export declare const RealWorldExamples: Story;
|
|
52
|
+
/**
|
|
53
|
+
* Complex layout demonstrating multiple tooltips working together in a card-based interface.
|
|
24
54
|
*/
|
|
25
|
-
export declare const
|
|
55
|
+
export declare const ComplexLayout: Story;
|
|
@@ -24,6 +24,12 @@ export interface TooltipProps extends Omit<HTMLAttributes<HTMLDivElement>, 'titl
|
|
|
24
24
|
* determine the placement of the tooltip
|
|
25
25
|
*/
|
|
26
26
|
portalRoot?: HTMLElement | React.MutableRefObject<HTMLElement | null> | string;
|
|
27
|
+
/**
|
|
28
|
+
* If `true`, the tooltip will be rendered on the info-small icon after the children.
|
|
29
|
+
* Allows rendering on a different icon by passing the appropriate icon element.
|
|
30
|
+
* @default false
|
|
31
|
+
*/
|
|
32
|
+
renderOnIcon?: boolean | ReactElement;
|
|
27
33
|
/**
|
|
28
34
|
* The tooltip message, it can be string or any valid React node
|
|
29
35
|
*/
|