@aivenio/aquarium 4.0.0 → 4.1.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.
@@ -1,43 +1,164 @@
1
1
  import React, { type DOMAttributes } from 'react';
2
+ import { type MenuItemProps as AriaMenuItemProps, type MenuProps as AriaMenuProps, type MenuSectionProps as AriaMenuSectionProps } from 'react-aria-components';
2
3
  import type { Icon } from '../../../types/IconProps';
3
4
  type DivAttributes = React.HTMLAttributes<HTMLDivElement>;
4
- type DropdownMenuProps = DivAttributes & {
5
+ export declare const dropdownMenuStyles: import("tailwind-variants").TVReturnType<{} | {} | {}, undefined, "bg-popover-content w-full flex flex-col overflow-x-hidden typography-small text-default", import("tailwind-variants/dist/config").TVConfig<unknown, {} | {}>, {} | {}, undefined, import("tailwind-variants").TVReturnType<unknown, undefined, "bg-popover-content w-full flex flex-col overflow-x-hidden typography-small text-default", import("tailwind-variants/dist/config").TVConfig<unknown, {} | {}>, unknown, unknown, undefined>>;
6
+ type DropdownMenuProps<T extends object> = Omit<AriaMenuProps<T>, 'className'> & {
7
+ className?: string;
5
8
  minHeight?: React.CSSProperties['minHeight'];
6
9
  maxHeight?: React.CSSProperties['maxHeight'];
7
10
  minWidth?: React.CSSProperties['minWidth'];
8
11
  maxWidth?: React.CSSProperties['maxWidth'];
9
12
  };
10
- type DropdownMenuComponent = React.ForwardRefExoticComponent<DropdownMenuProps & React.RefAttributes<HTMLDivElement>> & {
11
- ContentContainer: typeof ContentContainer;
12
- List: typeof List;
13
- Group: typeof Group;
14
- Item: typeof Item;
15
- Separator: typeof Separator;
16
- Description: typeof Description;
17
- EmptyStateContainer: typeof EmptyStateContainer;
13
+ export declare const DropdownMenu: {
14
+ <T extends object>({ minHeight, maxHeight, minWidth, maxWidth, className, children, ...props }: DropdownMenuProps<T>): React.JSX.Element;
15
+ ContentContainer: React.FC<{
16
+ children?: React.ReactNode | undefined;
17
+ }>;
18
+ Group: ({ className, title, titleProps, children, ...props }: GroupProps) => React.JSX.Element;
19
+ Item: ({ kind, className, icon, description, showNotification, disabled, ...props }: MenuItemProps) => React.JSX.Element;
20
+ EmptyStateContainer: React.FC<DivAttributes>;
18
21
  };
19
- export declare const DropdownMenu: DropdownMenuComponent;
20
- declare const ContentContainer: React.FC<React.PropsWithChildren>;
21
- declare const List: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLUListElement> & React.RefAttributes<HTMLUListElement>>;
22
- declare const Group: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLLIElement>, "title"> & {
23
- title: React.ReactNode;
22
+ export declare const dropdownMenuGroupStyles: import("tailwind-variants").TVReturnType<{
23
+ [key: string]: {
24
+ [key: string]: import("tailwind-merge").ClassNameValue | {
25
+ base?: import("tailwind-merge").ClassNameValue;
26
+ title?: import("tailwind-merge").ClassNameValue;
27
+ };
28
+ };
29
+ } | {
30
+ [x: string]: {
31
+ [x: string]: import("tailwind-merge").ClassNameValue | {
32
+ base?: import("tailwind-merge").ClassNameValue;
33
+ title?: import("tailwind-merge").ClassNameValue;
34
+ };
35
+ };
36
+ } | {}, {
37
+ base: string[];
38
+ title: string;
39
+ }, undefined, import("tailwind-variants/dist/config").TVConfig<unknown, {
40
+ [key: string]: {
41
+ [key: string]: import("tailwind-merge").ClassNameValue | {
42
+ base?: import("tailwind-merge").ClassNameValue;
43
+ title?: import("tailwind-merge").ClassNameValue;
44
+ };
45
+ };
46
+ } | {}>, {
47
+ [key: string]: {
48
+ [key: string]: import("tailwind-merge").ClassNameValue | {
49
+ base?: import("tailwind-merge").ClassNameValue;
50
+ title?: import("tailwind-merge").ClassNameValue;
51
+ };
52
+ };
53
+ } | {}, {
54
+ base: string[];
55
+ title: string;
56
+ }, import("tailwind-variants").TVReturnType<unknown, {
57
+ base: string[];
58
+ title: string;
59
+ }, undefined, import("tailwind-variants/dist/config").TVConfig<unknown, {
60
+ [key: string]: {
61
+ [key: string]: import("tailwind-merge").ClassNameValue | {
62
+ base?: import("tailwind-merge").ClassNameValue;
63
+ title?: import("tailwind-merge").ClassNameValue;
64
+ };
65
+ };
66
+ } | {}>, unknown, unknown, undefined>>;
67
+ type GroupProps = Omit<AriaMenuSectionProps<object>, 'items'> & {
68
+ title?: React.ReactNode;
24
69
  titleProps?: DOMAttributes<HTMLElement>;
25
- disabled?: boolean;
26
- } & React.RefAttributes<HTMLLIElement>>;
27
- declare const Item: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLLIElement> & {
28
- kind: "action" | "danger" | "default";
29
- highlighted: boolean;
30
- selected: boolean;
70
+ };
71
+ export declare const dropdownMenuItemStyles: import("tailwind-variants").TVReturnType<{
72
+ isDisabled: {
73
+ true: string;
74
+ };
75
+ isFocused: {
76
+ true: string;
77
+ };
78
+ kind: {
79
+ action: string;
80
+ danger: string;
81
+ default: string;
82
+ };
83
+ }, undefined, "group flex items-center gap-x-3 p-3 outline-none cursor-pointer", import("tailwind-variants/dist/config").TVConfig<{
84
+ isDisabled: {
85
+ true: string;
86
+ };
87
+ isFocused: {
88
+ true: string;
89
+ };
90
+ kind: {
91
+ action: string;
92
+ danger: string;
93
+ default: string;
94
+ };
95
+ }, {
96
+ isDisabled: {
97
+ true: string;
98
+ };
99
+ isFocused: {
100
+ true: string;
101
+ };
102
+ kind: {
103
+ action: string;
104
+ danger: string;
105
+ default: string;
106
+ };
107
+ }>, {
108
+ isDisabled: {
109
+ true: string;
110
+ };
111
+ isFocused: {
112
+ true: string;
113
+ };
114
+ kind: {
115
+ action: string;
116
+ danger: string;
117
+ default: string;
118
+ };
119
+ }, undefined, import("tailwind-variants").TVReturnType<{
120
+ isDisabled: {
121
+ true: string;
122
+ };
123
+ isFocused: {
124
+ true: string;
125
+ };
126
+ kind: {
127
+ action: string;
128
+ danger: string;
129
+ default: string;
130
+ };
131
+ }, undefined, "group flex items-center gap-x-3 p-3 outline-none cursor-pointer", import("tailwind-variants/dist/config").TVConfig<{
132
+ isDisabled: {
133
+ true: string;
134
+ };
135
+ isFocused: {
136
+ true: string;
137
+ };
138
+ kind: {
139
+ action: string;
140
+ danger: string;
141
+ default: string;
142
+ };
143
+ }, {
144
+ isDisabled: {
145
+ true: string;
146
+ };
147
+ isFocused: {
148
+ true: string;
149
+ };
150
+ kind: {
151
+ action: string;
152
+ danger: string;
153
+ default: string;
154
+ };
155
+ }>, unknown, unknown, undefined>>;
156
+ type MenuItemProps = Omit<AriaMenuItemProps, 'className'> & {
157
+ kind?: 'action' | 'danger' | 'default';
158
+ className?: string;
159
+ description?: React.ReactNode;
31
160
  disabled?: boolean;
32
161
  icon?: Icon;
33
162
  showNotification?: boolean;
34
- } & React.RefAttributes<HTMLLIElement>>;
35
- type MenuItemDescription = DivAttributes & {
36
- disabled?: boolean;
37
- children: React.ReactNode;
38
163
  };
39
- declare const Description: React.FC<MenuItemDescription>;
40
- type MenuSeparatorProps = React.HTMLAttributes<HTMLLIElement>;
41
- declare const Separator: React.FC<MenuSeparatorProps>;
42
- declare const EmptyStateContainer: React.FC<DivAttributes>;
43
164
  export {};
@@ -10,55 +10,83 @@ var __rest = (this && this.__rest) || function (s, e) {
10
10
  return t;
11
11
  };
12
12
  import React from 'react';
13
+ import { Collection as AriaCollection, composeRenderProps, Header as AriaHeader, Menu as AriaMenu, MenuItem as AriaMenuItem, MenuSection as AriaMenuSection, } from 'react-aria-components';
14
+ import { tv } from 'tailwind-variants';
13
15
  import { Badge } from '../../../src/molecules/Badge/Badge';
14
16
  import { InlineIcon } from '../../../src/molecules/Icon/Icon';
15
17
  import { Typography } from '../../../src/molecules/Typography/Typography';
16
18
  import { classNames, tw } from '../../../src/utils/tailwind';
17
19
  import tick from '../../../src/icons/tick';
18
- export const DropdownMenu = React.forwardRef((_a, ref) => {
19
- var { minHeight, maxHeight = '100%', minWidth = '125px', maxWidth, className, children } = _a, props = __rest(_a, ["minHeight", "maxHeight", "minWidth", "maxWidth", "className", "children"]);
20
- return (React.createElement("div", Object.assign({ ref: ref, style: { minHeight, maxHeight, minWidth, maxWidth }, className: classNames(className, 'Aquarium-DropdownMenu.Menu bg-popover-content w-full flex flex-col overflow-x-hidden typography-small text-default') }, props), children));
20
+ export const dropdownMenuStyles = tv({
21
+ base: 'bg-popover-content w-full flex flex-col overflow-x-hidden typography-small text-default',
21
22
  });
23
+ // Create the component using forwardRef and cast it to the component type
24
+ export const DropdownMenu = (_a) => {
25
+ var { minHeight, maxHeight = '100%', minWidth = '125px', maxWidth, className, children } = _a, props = __rest(_a, ["minHeight", "maxHeight", "minWidth", "maxWidth", "className", "children"]);
26
+ return (React.createElement(AriaMenu, Object.assign({ style: { minHeight, maxHeight, minWidth, maxWidth }, className: dropdownMenuStyles({ className: ['Aquarium-DropdownMenu', className] }) }, props), children));
27
+ };
22
28
  const ContentContainer = ({ children }) => (React.createElement("div", { className: tw('p-3 overflow-y-auto overflow-x-hidden') }, children));
23
29
  DropdownMenu.ContentContainer = ContentContainer;
24
- const List = React.forwardRef((_a, ref) => {
25
- var { children, className } = _a, props = __rest(_a, ["children", "className"]);
26
- return (React.createElement("ul", Object.assign({ ref: ref, className: classNames(className, 'outline-none ring-0') }, props), children));
30
+ export const dropdownMenuGroupStyles = tv({
31
+ slots: {
32
+ base: [
33
+ '[&:not(:first-child)]:before:content-[""] [&:not(:first-child)]:before:block',
34
+ '[&:not(:first-child)]:before:h-[1px] [&:not(:first-child)]:before:bg-default [&:not(:first-child)]:before:m-3',
35
+ ],
36
+ title: 'p-3 text-inactive uppercase cursor-default typography-caption',
37
+ },
27
38
  });
28
- DropdownMenu.List = List;
29
- const Group = React.forwardRef((_a, ref) => {
39
+ const Group = (_a) => {
30
40
  var { className, title, titleProps, children } = _a, props = __rest(_a, ["className", "title", "titleProps", "children"]);
31
- return (React.createElement("li", Object.assign({ ref: ref }, props),
32
- title && (React.createElement("div", Object.assign({ className: classNames(className, 'Aquarium-DropdownMenu.Group p-3 text-inactive uppercase cursor-default typography-caption') }, titleProps), title)),
33
- children));
34
- });
41
+ const styles = dropdownMenuGroupStyles();
42
+ return (React.createElement(AriaMenuSection, Object.assign({ className: styles.base({ className: 'Aquarium-DropdownMenu.Group' }) }, props),
43
+ title && (React.createElement(AriaHeader, Object.assign({ className: styles.title() }, titleProps), title)),
44
+ React.createElement(AriaCollection, null, children)));
45
+ };
35
46
  DropdownMenu.Group = Group;
36
- const Item = React.forwardRef((_a, ref) => {
37
- var { kind, highlighted, selected, className, icon, showNotification = false, children } = _a, props = __rest(_a, ["kind", "highlighted", "selected", "className", "icon", "showNotification", "children"]);
38
- return (React.createElement("li", Object.assign({ ref: ref, className: classNames(className, 'Aquarium-DropdownMenu.Item flex items-center gap-x-3 p-3 outline-none', {
39
- 'cursor-pointer hover:bg-muted': !props.disabled,
40
- 'bg-muted': highlighted,
41
- 'text-primary-intense': kind === 'action' && !props.disabled,
42
- 'text-danger-default': kind === 'danger' && !props.disabled,
43
- 'text-inactive cursor-not-allowed': props.disabled,
44
- }) }, props),
47
+ export const dropdownMenuItemStyles = tv({
48
+ base: 'group flex items-center gap-x-3 p-3 outline-none cursor-pointer',
49
+ variants: {
50
+ isDisabled: {
51
+ true: 'text-inactive cursor-not-allowed',
52
+ },
53
+ isFocused: {
54
+ true: 'bg-muted',
55
+ },
56
+ kind: {
57
+ action: '',
58
+ danger: '',
59
+ default: '',
60
+ },
61
+ },
62
+ compoundVariants: [
63
+ {
64
+ kind: 'action',
65
+ disabled: false,
66
+ className: 'text-primary-intense',
67
+ },
68
+ {
69
+ kind: 'danger',
70
+ disabled: false,
71
+ className: 'text-danger-default',
72
+ },
73
+ ],
74
+ });
75
+ const Item = (_a) => {
76
+ var { kind = 'default', className, icon, description, showNotification = false, disabled } = _a, props = __rest(_a, ["kind", "className", "icon", "description", "showNotification", "disabled"]);
77
+ return (React.createElement(AriaMenuItem, Object.assign({ className: (values) => dropdownMenuItemStyles(Object.assign(Object.assign({}, values), { kind, className: ['Aquarium-DropdownMenu.Item', className] })), isDisabled: disabled }, props), composeRenderProps(props.children, (children, { selectionMode, isSelected, isDisabled }) => (React.createElement(React.Fragment, null,
45
78
  icon && showNotification && (React.createElement(Badge.Notification, null,
46
79
  React.createElement(InlineIcon, { icon: icon }))),
47
80
  icon && !showNotification && React.createElement(InlineIcon, { icon: icon }),
48
- React.createElement("span", { className: tw('grow') }, children),
49
- selected && React.createElement(InlineIcon, { icon: tick })));
50
- });
51
- DropdownMenu.Item = Item;
52
- const Description = ({ disabled, children }) => (React.createElement(Typography.Caption, { color: disabled ? 'inactive' : 'muted' }, children));
53
- DropdownMenu.Description = Description;
54
- const Separator = (_a) => {
55
- var { className } = _a, props = __rest(_a, ["className"]);
56
- return React.createElement("li", Object.assign({}, props, { className: classNames(className, tw('m-3 block bg-default h-[1px]')) }));
81
+ React.createElement("span", { className: tw('grow') },
82
+ children,
83
+ description && (React.createElement(Typography.Caption, { color: isDisabled ? 'inactive' : 'muted' }, description))),
84
+ selectionMode !== 'none' && isSelected && React.createElement(InlineIcon, { icon: tick }))))));
57
85
  };
58
- DropdownMenu.Separator = Separator;
86
+ DropdownMenu.Item = Item;
59
87
  const EmptyStateContainer = (_a) => {
60
88
  var { className, children } = _a, props = __rest(_a, ["className", "children"]);
61
89
  return (React.createElement("div", Object.assign({ className: classNames(tw('border border-dashed border-default p-3'), className) }, props), children));
62
90
  };
63
91
  DropdownMenu.EmptyStateContainer = EmptyStateContainer;
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcGRvd25NZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F0b21zL0Ryb3Bkb3duTWVudS9Ecm9wZG93bk1lbnUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUE2QixNQUFNLE9BQU8sQ0FBQztBQUVsRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE9BQU8sSUFBSSxNQUFNLGdCQUFnQixDQUFDO0FBeUJsQyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQTBCLEtBQUssQ0FBQyxVQUFVLENBQ2pFLENBQUMsRUFBOEYsRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUF2RyxFQUFFLFNBQVMsRUFBRSxTQUFTLEdBQUcsTUFBTSxFQUFFLFFBQVEsR0FBRyxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxRQUFRLE9BQVksRUFBUCxLQUFLLGNBQTVGLDJFQUE4RixDQUFGO0lBQVksT0FBQSxDQUN2RywyQ0FDRSxHQUFHLEVBQUUsR0FBRyxFQUNSLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUNuRCxTQUFTLEVBQUUsVUFBVSxDQUNuQixTQUFTLEVBQ1Qsb0hBQW9ILENBQ3JILElBQ0csS0FBSyxHQUVSLFFBQVEsQ0FDTCxDQUNQLENBQUE7Q0FBQSxDQUN1QixDQUFDO0FBRTNCLE1BQU0sZ0JBQWdCLEdBQXNDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FDNUUsNkJBQUssU0FBUyxFQUFFLEVBQUUsQ0FBQyx1Q0FBdUMs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
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcGRvd25NZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F0b21zL0Ryb3Bkb3duTWVudS9Ecm9wZG93bk1lbnUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUE2QixNQUFNLE9BQU8sQ0FBQztBQUNsRCxPQUFPLEVBQ0wsVUFBVSxJQUFJLGNBQWMsRUFDNUIsa0JBQWtCLEVBQ2xCLE1BQU0sSUFBSSxVQUFVLEVBQ3BCLElBQUksSUFBSSxRQUFRLEVBQ2hCLFFBQVEsSUFBSSxZQUFZLEVBR3hCLFdBQVcsSUFBSSxlQUFlLEdBRS9CLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXZDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRWpFLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFcEQsT0FBTyxJQUFJLE1BQU0sZ0JBQWdCLENBQUM7QUFNbEMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0lBQ25DLElBQUksRUFBRSx5RkFBeUY7Q0FDaEcsQ0FBQyxDQUFDO0FBVUgsMEVBQTBFO0FBQzFFLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFtQixFQVF4QixFQUFFLEVBQUU7UUFSb0IsRUFDN0MsU0FBUyxFQUNULFNBQVMsR0FBRyxNQUFNLEVBQ2xCLFFBQVEsR0FBRyxPQUFPLEVBQ2xCLFFBQVEsRUFDUixTQUFTLEVBQ1QsUUFBUSxPQUVhLEVBRGxCLEtBQUssY0FQcUMsMkVBUTlDLENBRFM7SUFFUixPQUFPLENBQ0wsb0JBQUMsUUFBUSxrQkFDUCxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsRUFDbkQsU0FBUyxFQUFFLGtCQUFrQixDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsdUJBQXVCLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUM5RSxLQUFLLEdBRVIsUUFBUSxDQUNBLENBQ1osQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sZ0JBQWdCLEdBQXNDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FDNUUsNkJBQUssU0FBUyxFQUFFLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQyxJQUFHLFFBQVEsQ0FBTyxDQUM5RSxDQUFDO0FBRUYsWUFBWSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO0FBRWpELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLEVBQUUsQ0FBQztJQUN4QyxLQUFLLEVBQUU7UUFDTCxJQUFJLEVBQUU7WUFDSiw4RUFBOEU7WUFDOUUsK0dBQStHO1NBQ2hIO1FBQ0QsS0FBSyxFQUFFLCtEQUErRDtLQUN2RTtDQUNGLENBQUMsQ0FBQztBQU9ILE1BQU0sS0FBSyxHQUFHLENBQUMsRUFBZ0UsRUFBRSxFQUFFO1FBQXBFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxPQUF3QixFQUFuQixLQUFLLGNBQWxELGdEQUFvRCxDQUFGO0lBQy9ELE1BQU0sTUFBTSxHQUFHLHVCQUF1QixFQUFFLENBQUM7SUFFekMsT0FBTyxDQUNMLG9CQUFDLGVBQWUsa0JBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsNkJBQTZCLEVBQUUsQ0FBQyxJQUFNLEtBQUs7UUFDN0YsS0FBSyxJQUFJLENBQ1Isb0JBQUMsVUFBVSxrQkFBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFNLFVBQVUsR0FDbEQsS0FBSyxDQUNLLENBQ2Q7UUFDRCxvQkFBQyxjQUFjLFFBQUUsUUFBUSxDQUFrQixDQUMzQixDQUNuQixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsWUFBWSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7QUFFM0IsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsRUFBRSxDQUFDO0lBQ3ZDLElBQUksRUFBRSxpRUFBaUU7SUFDdkUsUUFBUSxFQUFFO1FBQ1IsVUFBVSxFQUFFO1lBQ1YsSUFBSSxFQUFFLGtDQUFrQztTQUN6QztRQUNELFNBQVMsRUFBRTtZQUNULElBQUksRUFBRSxVQUFVO1NBQ2pCO1FBQ0QsSUFBSSxFQUFFO1lBQ0osTUFBTSxFQUFFLEVBQUU7WUFDVixNQUFNLEVBQUUsRUFBRTtZQUNWLE9BQU8sRUFBRSxFQUFFO1NBQ1o7S0FDRjtJQUNELGdCQUFnQixFQUFFO1FBQ2hCO1lBQ0UsSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUUsS0FBSztZQUNmLFNBQVMsRUFBRSxzQkFBc0I7U0FDbEM7UUFDRDtZQUNFLElBQUksRUFBRSxRQUFRO1lBQ2QsUUFBUSxFQUFFLEtBQUs7WUFDZixTQUFTLEVBQUUscUJBQXFCO1NBQ2pDO0tBQ0Y7Q0FDRixDQUFDLENBQUM7QUFXSCxNQUFNLElBQUksR0FBRyxDQUFDLEVBUUUsRUFBRSxFQUFFO1FBUk4sRUFDWixJQUFJLEdBQUcsU0FBUyxFQUNoQixTQUFTLEVBQ1QsSUFBSSxFQUNKLFdBQVcsRUFDWCxnQkFBZ0IsR0FBRyxLQUFLLEVBQ3hCLFFBQVEsT0FFTSxFQURYLEtBQUssY0FQSSw0RUFRYixDQURTO0lBQ1csT0FBQSxDQUNuQixvQkFBQyxZQUFZLGtCQUNYLFNBQVMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ3BCLHNCQUFzQixpQ0FBTSxNQUFNLEtBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLDRCQUE0QixFQUFFLFNBQVMsQ0FBQyxJQUFHLEVBRW5HLFVBQVUsRUFBRSxRQUFRLElBQ2hCLEtBQUssR0FFUixrQkFBa0IsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FDM0Y7UUFDRyxJQUFJLElBQUksZ0JBQWdCLElBQUksQ0FDM0Isb0JBQUMsS0FBSyxDQUFDLFlBQVk7WUFDakIsb0JBQUMsVUFBVSxJQUFDLElBQUksRUFBRSxJQUFJLEdBQUksQ0FDUCxDQUN0QjtRQUNBLElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLG9CQUFDLFVBQVUsSUFBQyxJQUFJLEVBQUUsSUFBSSxHQUFJO1FBQ3hELDhCQUFNLFNBQVMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ3hCLFFBQVE7WUFDUixXQUFXLElBQUksQ0FDZCxvQkFBQyxVQUFVLENBQUMsT0FBTyxJQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFHLFdBQVcsQ0FBc0IsQ0FDakcsQ0FDSTtRQUNOLGFBQWEsS0FBSyxNQUFNLElBQUksVUFBVSxJQUFJLG9CQUFDLFVBQVUsSUFBQyxJQUFJLEVBQUUsSUFBSSxHQUFJLENBQ3BFLENBQ0osQ0FBQyxDQUNXLENBQ2hCLENBQUE7Q0FBQSxDQUFDO0FBRUYsWUFBWSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7QUFFekIsTUFBTSxtQkFBbUIsR0FBNEIsQ0FBQyxFQUFpQyxFQUFFLEVBQUU7UUFBckMsRUFBRSxTQUFTLEVBQUUsUUFBUSxPQUFZLEVBQVAsS0FBSyxjQUEvQix5QkFBaUMsQ0FBRjtJQUFPLE9BQUEsQ0FDMUYsMkNBQUssU0FBUyxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUMseUNBQXlDLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBTSxLQUFLLEdBQzVGLFFBQVEsQ0FDTCxDQUNQLENBQUE7Q0FBQSxDQUFDO0FBRUYsWUFBWSxDQUFDLG1CQUFtQixHQUFHLG1CQUFtQixDQUFDIn0=
@@ -0,0 +1,39 @@
1
+ import React from 'react';
2
+ import { type BadgeProps } from '../../../src/molecules/Badge/Badge';
3
+ import { type IconProps } from '../../../src/molecules/Icon/Icon';
4
+ type FilterTriggerProps = {
5
+ labelText: string;
6
+ icon: IconProps['icon'];
7
+ /**
8
+ * Indicates whether the filter trigger is in an error state.
9
+ */
10
+ error?: boolean;
11
+ /**
12
+ * onClear handler triggered when the clear button is clicked.
13
+ * Should be used to reset the controlled filter value passed in via `value` prop.
14
+ */
15
+ onClear?: () => void;
16
+ /**
17
+ * onClick handler triggered when the FilterTrigger is clicked.
18
+ * Useful when using <FilterTrigger> with controlled components like <Drawer>, <Modal>, or <Dialog>,
19
+ * allowing the open function to be passed via the onClick prop.
20
+ */
21
+ onClick?: () => void;
22
+ } & ({
23
+ /**
24
+ * The value of the filter trigger, which will be displayed when the filter is applied.
25
+ */
26
+ value?: string | null | undefined;
27
+ badge?: never;
28
+ } | {
29
+ value?: never;
30
+ /**
31
+ * Use the `badge` prop when displaying more than 5 filters side by side.
32
+ * In this case, no value will be displayed within the filter trigger.
33
+ */
34
+ badge?: BadgeProps['value'];
35
+ });
36
+ declare const Filter: React.FC & {
37
+ Trigger: React.FC<FilterTriggerProps>;
38
+ };
39
+ export { Filter };
@@ -0,0 +1,127 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import React from 'react';
13
+ import { Button as AriaButton, DatePickerStateContext as AriaDatePickerStateContext, DateRangePickerStateContext as AriaDateRangePickerStateContext, Group as AriaGroup, } from 'react-aria-components';
14
+ import { tv } from 'tailwind-variants';
15
+ import { Badge } from '../../../src/molecules/Badge/Badge';
16
+ import { Box } from '../../../src/molecules/Box/Box';
17
+ import { InlineIcon } from '../../../src/molecules/Icon/Icon';
18
+ import { Typography } from '../../../src/molecules/Typography/Typography';
19
+ import { tw } from '../../../src/utils/tailwind';
20
+ import crossIcon from '../../../src/icons/cross';
21
+ const DATE_FORMAT_OPTIONS = {
22
+ locale: 'en-GB',
23
+ options: { day: 'numeric', month: 'numeric', year: 'numeric' },
24
+ };
25
+ const filterWrapper = tv({
26
+ base: 'rounded-full inline-flex items-center pressed:border-info-default justify-between outline-0 outline-none border border-dashed border-default text-default bg-transparent',
27
+ variants: {
28
+ isHovered: {
29
+ true: 'hover:bg-muted',
30
+ },
31
+ isFocusWithin: {
32
+ true: 'border-solid border-info-default',
33
+ },
34
+ isInvalid: {
35
+ true: 'border-solid border-danger-default',
36
+ },
37
+ hasValue: {
38
+ true: 'border-solid',
39
+ },
40
+ },
41
+ });
42
+ const FilterTrigger = (_a) => {
43
+ var { labelText, icon, badge, onClear, onClick, value,
44
+ // children,
45
+ error = false } = _a, props = __rest(_a, ["labelText", "icon", "badge", "onClear", "onClick", "value", "error"]);
46
+ /**
47
+ * Date Picker Integration Logic
48
+ * ----------------------------
49
+ * This block handles the integration with DatePicker/DateTimePicker/DateRangePicker/DateTimeRangePicker components.
50
+ * It accesses the state and clear functionality when the Filter is used within
51
+ * either a DatePicker or DateRangePicker context.
52
+ */
53
+ const ariaDatePickerState = React.useContext(AriaDatePickerStateContext);
54
+ const ariaDateRangePickerState = React.useContext(AriaDateRangePickerStateContext);
55
+ const isUsedInsideDatePicker = !!(ariaDatePickerState === null || ariaDatePickerState === void 0 ? void 0 : ariaDatePickerState.value);
56
+ const isUsedInsideDateRangePicker = !!(ariaDateRangePickerState === null || ariaDateRangePickerState === void 0 ? void 0 : ariaDateRangePickerState.value.start) && !!ariaDateRangePickerState.value.end;
57
+ const onClearDatePickerRelated = () => {
58
+ if (isUsedInsideDatePicker) {
59
+ ariaDatePickerState.setValue(null);
60
+ }
61
+ else if (isUsedInsideDateRangePicker) {
62
+ ariaDateRangePickerState.setValue(null);
63
+ }
64
+ };
65
+ // End Date Picker Integration Logic
66
+ const hasValue = !!value || isUsedInsideDatePicker || isUsedInsideDateRangePicker;
67
+ const showClearButton = (!!onClear && !!value) || isUsedInsideDatePicker || isUsedInsideDateRangePicker;
68
+ return (React.createElement(AriaGroup, Object.assign({}, props, { isInvalid: error, className: (renderProps) => filterWrapper(Object.assign(Object.assign({}, renderProps), { hasValue: hasValue || !!badge })) }),
69
+ React.createElement(React.Fragment, null,
70
+ React.createElement(AriaButton, { onPress: () => {
71
+ onClick && onClick();
72
+ }, className: tw('outline-0 outline-none flex items-center py-3 cursor-pointer', {
73
+ 'pl-4 pr-[6px]': showClearButton, // keep padding right the same as padding left of <FilterClearButton>
74
+ 'px-4': !showClearButton,
75
+ }) },
76
+ React.createElement("div", { className: tw('flex items-center gap-3 divide-x divide-grey-20') },
77
+ React.createElement("div", { className: tw('flex items-center gap-3') },
78
+ React.createElement("div", { className: tw('flex items-center gap-2') },
79
+ React.createElement(InlineIcon, { icon: icon }),
80
+ React.createElement(Typography.Small, null, labelText)),
81
+ badge && (React.createElement(Typography, { color: "primary-active", className: tw('flex items-center') },
82
+ React.createElement(Badge, { dense: true, value: badge })))),
83
+ hasValue && (React.createElement("div", { className: "pl-3" },
84
+ React.createElement(Typography.Small, { className: tw('truncate max-w-[233px]'), color: error ? 'danger-intense' : 'primary-active' },
85
+ value,
86
+ isUsedInsideDatePicker && React.createElement(DateDisplay, { state: ariaDatePickerState }),
87
+ isUsedInsideDateRangePicker && React.createElement(DateDisplay, { state: ariaDateRangePickerState })))))),
88
+ showClearButton && (React.createElement(FilterClearButton, { onClear: () => {
89
+ onClearDatePickerRelated();
90
+ onClear === null || onClear === void 0 ? void 0 : onClear();
91
+ } })))));
92
+ };
93
+ const isDateRangePickerState = (state) => {
94
+ return 'value' in state && state.value !== null && 'start' in state.value;
95
+ };
96
+ const DateDisplay = ({ state }) => {
97
+ var _a, _b;
98
+ const primary = isDateRangePickerState(state)
99
+ ? (_a = state.formatValue(DATE_FORMAT_OPTIONS.locale, DATE_FORMAT_OPTIONS.options)) === null || _a === void 0 ? void 0 : _a.start
100
+ : state.formatValue(DATE_FORMAT_OPTIONS.locale, DATE_FORMAT_OPTIONS.options);
101
+ const secondary = isDateRangePickerState(state)
102
+ ? (_b = state.formatValue(DATE_FORMAT_OPTIONS.locale, DATE_FORMAT_OPTIONS.options)) === null || _b === void 0 ? void 0 : _b.end
103
+ : undefined;
104
+ return (React.createElement(Box.Flex, { gap: "2" },
105
+ React.createElement("span", null, primary),
106
+ secondary && (React.createElement(React.Fragment, null,
107
+ React.createElement("span", { "aria-hidden": true, className: tw('text-muted') }, "-"),
108
+ React.createElement("span", null, secondary)))));
109
+ };
110
+ const FilterClearButton = ({ onClear }) => (
111
+ // using a native HTML <button> here instead of <Button slot={null} /> from react-aria because react-aria <DialogTrigger> doesn't support it as a child. If we used <Button slot={null}>, the popover would open simultaneously with the clear callback, which is unintended behavior. Interestingly, this issue doesn't occur in react-aria's <DatePicker>, but for consistency and to avoid conflicts here, we're sticking with a plain button.
112
+ React.createElement("button", { "aria-label": "Clear filter", onClick: (e) => {
113
+ e.preventDefault();
114
+ e.stopPropagation();
115
+ // Focus the previous button before clearing, since clicking the clear button removes the clear button itself from the DOM and causes focus to be lost.
116
+ const previousButton = e.currentTarget.previousElementSibling;
117
+ if (previousButton instanceof HTMLElement) {
118
+ previousButton.focus();
119
+ }
120
+ onClear();
121
+ }, className: tw('py-[10px] pl-[6px] pr-4 inline-flex items-center hover:bg-default focus:bg-default outline-0 outline-none rounded-r-full') },
122
+ React.createElement(InlineIcon, { icon: crossIcon })));
123
+ const Filter = () => null;
124
+ FilterTrigger.displayName = 'Filter.Trigger';
125
+ Filter.Trigger = FilterTrigger;
126
+ export { Filter };
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F0b21zL0ZpbHRlci9GaWx0ZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFDTCxNQUFNLElBQUksVUFBVSxFQUNwQixzQkFBc0IsSUFBSSwwQkFBMEIsRUFDcEQsMkJBQTJCLElBQUksK0JBQStCLEVBQzlELEtBQUssSUFBSSxTQUFTLEdBQ25CLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXZDLE9BQU8sRUFBRSxLQUFLLEVBQW1CLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVDLE9BQU8sRUFBa0IsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRWpFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4QyxPQUFPLFNBQVMsTUFBTSxpQkFBaUIsQ0FBQztBQUl4QyxNQUFNLG1CQUFtQixHQUFHO0lBQzFCLE1BQU0sRUFBRSxPQUFPO0lBQ2YsT0FBTyxFQUFFLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7Q0FDdEQsQ0FBQztBQUVYLE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUN2QixJQUFJLEVBQUUsMEtBQTBLO0lBQ2hMLFFBQVEsRUFBRTtRQUNSLFNBQVMsRUFBRTtZQUNULElBQUksRUFBRSxnQkFBZ0I7U0FDdkI7UUFDRCxhQUFhLEVBQUU7WUFDYixJQUFJLEVBQUUsa0NBQWtDO1NBQ3pDO1FBQ0QsU0FBUyxFQUFFO1lBQ1QsSUFBSSxFQUFFLG9DQUFvQztTQUMzQztRQUNELFFBQVEsRUFBRTtZQUNSLElBQUksRUFBRSxjQUFjO1NBQ3JCO0tBQ0Y7Q0FDRixDQUFDLENBQUM7QUFzQ0gsTUFBTSxhQUFhLEdBQWlDLENBQUMsRUFVcEQsRUFBRSxFQUFFO1FBVmdELEVBQ25ELFNBQVMsRUFDVCxJQUFJLEVBQ0osS0FBSyxFQUNMLE9BQU8sRUFDUCxPQUFPLEVBQ1AsS0FBSztJQUNMLFlBQVk7SUFDWixLQUFLLEdBQUcsS0FBSyxPQUVkLEVBREksS0FBSyxjQVQyQyxzRUFVcEQsQ0FEUztJQUVSOzs7Ozs7T0FNRztJQUNILE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ3pFLE1BQU0sd0JBQXdCLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0lBRW5GLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLENBQUEsbUJBQW1CLGFBQW5CLG1CQUFtQix1QkFBbkIsbUJBQW1CLENBQUUsS0FBSyxDQUFBLENBQUM7SUFDNUQsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLENBQUMsQ0FBQSx3QkFBd0IsYUFBeEIsd0JBQXdCLHVCQUF4Qix3QkFBd0IsQ0FBRSxLQUFLLENBQUMsS0FBSyxDQUFBLElBQUksQ0FBQyxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFFcEgsTUFBTSx3QkFBd0IsR0FBRyxHQUFHLEVBQUU7UUFDcEMsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO1lBQzNCLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxDQUFDO2FBQU0sSUFBSSwyQkFBMkIsRUFBRSxDQUFDO1lBQ3ZDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0lBQ0Ysb0NBQW9DO0lBRXBDLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxLQUFLLElBQUksc0JBQXNCLElBQUksMkJBQTJCLENBQUM7SUFDbEYsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxzQkFBc0IsSUFBSSwyQkFBMkIsQ0FBQztJQUV4RyxPQUFPLENBQ0wsb0JBQUMsU0FBUyxvQkFDSixLQUFLLElBQ1QsU0FBUyxFQUFFLEtBQUssRUFDaEIsU0FBUyxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxhQUFhLGlDQUFNLFdBQVcsS0FBRSxRQUFRLEVBQUUsUUFBUSxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUc7UUFFNUY7WUFDRSxvQkFBQyxVQUFVLElBQ1QsT0FBTyxFQUFFLEdBQUcsRUFBRTtvQkFDWixPQUFPLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ3ZCLENBQUMsRUFDRCxTQUFTLEVBQUUsRUFBRSxDQUFDLDhEQUE4RCxFQUFFO29CQUM1RSxlQUFlLEVBQUUsZUFBZSxFQUFFLHFFQUFxRTtvQkFDdkcsTUFBTSxFQUFFLENBQUMsZUFBZTtpQkFDekIsQ0FBQztnQkFFRiw2QkFBSyxTQUFTLEVBQUUsRUFBRSxDQUFDLGlEQUFpRCxDQUFDO29CQUNuRSw2QkFBSyxTQUFTLEVBQUUsRUFBRSxDQUFDLHlCQUF5QixDQUFDO3dCQUMzQyw2QkFBSyxTQUFTLEVBQUUsRUFBRSxDQUFDLHlCQUF5QixDQUFDOzRCQUMzQyxvQkFBQyxVQUFVLElBQUMsSUFBSSxFQUFFLElBQUksR0FBSTs0QkFDMUIsb0JBQUMsVUFBVSxDQUFDLEtBQUssUUFBRSxTQUFTLENBQW9CLENBQzVDO3dCQUNMLEtBQUssSUFBSSxDQUNSLG9CQUFDLFVBQVUsSUFBQyxLQUFLLEVBQUMsZ0JBQWdCLEVBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzs0QkFDbkUsb0JBQUMsS0FBSyxJQUFDLEtBQUssUUFBQyxLQUFLLEVBQUUsS0FBSyxHQUFJLENBQ2xCLENBQ2QsQ0FDRztvQkFDTCxRQUFRLElBQUksQ0FDWCw2QkFBSyxTQUFTLEVBQUMsTUFBTTt3QkFDbkIsb0JBQUMsVUFBVSxDQUFDLEtBQUssSUFDZixTQUFTLEVBQUUsRUFBRSxDQUFDLHdCQUF3QixDQUFDLEVBQ3ZDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0I7NEJBRWpELEtBQUs7NEJBQ0wsc0JBQXNCLElBQUksb0JBQUMsV0FBVyxJQUFDLEtBQUssRUFBRSxtQkFBbUIsR0FBSTs0QkFDckUsMkJBQTJCLElBQUksb0JBQUMsV0FBVyxJQUFDLEtBQUssRUFBRSx3QkFBd0IsR0FBSSxDQUMvRCxDQUNmLENBQ1AsQ0FDRyxDQUNLO1lBRVosZUFBZSxJQUFJLENBQ2xCLG9CQUFDLGlCQUFpQixJQUNoQixPQUFPLEVBQUUsR0FBRyxFQUFFO29CQUNaLHdCQUF3QixFQUFFLENBQUM7b0JBQzNCLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sRUFBSSxDQUFDO2dCQUNkLENBQUMsR0FDRCxDQUNILENBQ0EsQ0FDTyxDQUNiLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLHNCQUFzQixHQUFHLENBQUMsS0FBNkMsRUFBaUMsRUFBRTtJQUM5RyxPQUFPLE9BQU8sSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUM7QUFDNUUsQ0FBQyxDQUFDO0FBRUYsTUFBTSxXQUFXLEdBQWdFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFOztJQUM3RixNQUFNLE9BQU8sR0FBRyxzQkFBc0IsQ0FBQyxLQUFLLENBQUM7UUFDM0MsQ0FBQyxDQUFDLE1BQUEsS0FBSyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsbUJBQW1CLENBQUMsT0FBTyxDQUFDLDBDQUFFLEtBQUs7UUFDbkYsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRS9FLE1BQU0sU0FBUyxHQUFHLHNCQUFzQixDQUFDLEtBQUssQ0FBQztRQUM3QyxDQUFDLENBQUMsTUFBQSxLQUFLLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsMENBQUUsR0FBRztRQUNqRixDQUFDLENBQUMsU0FBUyxDQUFDO0lBRWQsT0FBTyxDQUNMLG9CQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUMsR0FBRyxFQUFDLEdBQUc7UUFDZixrQ0FBTyxPQUFPLENBQVE7UUFDckIsU0FBUyxJQUFJLENBQ1o7WUFDRSxtREFBa0IsU0FBUyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFFdEM7WUFDUCxrQ0FBTyxTQUFTLENBQVEsQ0FDdkIsQ0FDSixDQUNRLENBQ1osQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0saUJBQWlCLEdBQTRELENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUM7QUFDbEcsaWJBQWliO0FBQ2piLDhDQUNhLGNBQWMsRUFDekIsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDYixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXBCLHVKQUF1SjtRQUN2SixNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDO1FBQzlELElBQUksY0FBYyxZQUFZLFdBQVcsRUFBRSxDQUFDO1lBQzFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QixDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDLEVBQ0QsU0FBUyxFQUFFLEVBQUUsQ0FDWCwwSEFBMEgsQ0FDM0g7SUFFRCxvQkFBQyxVQUFVLElBQUMsSUFBSSxFQUFFLFNBQVMsR0FBSSxDQUN4QixDQUNWLENBQUM7QUFFRixNQUFNLE1BQU0sR0FFUixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7QUFFZixhQUFhLENBQUMsV0FBVyxHQUFHLGdCQUFnQixDQUFDO0FBQzdDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyJ9
@@ -7,6 +7,7 @@ export * from './Chip/Chip';
7
7
  export * from './DataList/DataList';
8
8
  export * from './Dialog/Dialog';
9
9
  export * from './DropdownMenu/DropdownMenu';
10
+ export * from './Filter/Filter';
10
11
  export * from './InputGroup/InputGroup';
11
12
  export * from './LineClamp/LineClamp';
12
13
  export * from './Link/Link';
@@ -7,6 +7,7 @@ export * from './Chip/Chip';
7
7
  export * from './DataList/DataList';
8
8
  export * from './Dialog/Dialog';
9
9
  export * from './DropdownMenu/DropdownMenu';
10
+ export * from './Filter/Filter';
10
11
  export * from './InputGroup/InputGroup';
11
12
  export * from './LineClamp/LineClamp';
12
13
  export * from './Link/Link';
@@ -25,4 +26,4 @@ export * from './Table/Table';
25
26
  export * from './Toast/Toast';
26
27
  export * from './Typography/Typography';
27
28
  export * from './VisuallyHidden/VisuallyHidden';
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXRvbXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGlDQUFpQyxDQUFDIn0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXRvbXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsaUNBQWlDLENBQUMifQ==
@@ -48,7 +48,7 @@ export declare const fieldGroup: import("tailwind-variants").TVReturnType<{
48
48
  isDisabled: {
49
49
  true: string;
50
50
  };
51
- }, undefined, "group flex items-center bg-transparent border rounded-sm typography-small text-default px-3 py-3 overflow-hidden", import("tailwind-variants/dist/config").TVConfig<{
51
+ }, undefined, "group flex gap-3 items-center bg-transparent border rounded-sm typography-small text-default px-3 py-3 overflow-hidden", import("tailwind-variants/dist/config").TVConfig<{
52
52
  isReadOnly: {
53
53
  true: string;
54
54
  };
@@ -104,7 +104,7 @@ export declare const fieldGroup: import("tailwind-variants").TVReturnType<{
104
104
  isDisabled: {
105
105
  true: string;
106
106
  };
107
- }, undefined, "group flex items-center bg-transparent border rounded-sm typography-small text-default px-3 py-3 overflow-hidden", import("tailwind-variants/dist/config").TVConfig<{
107
+ }, undefined, "group flex gap-3 items-center bg-transparent border rounded-sm typography-small text-default px-3 py-3 overflow-hidden", import("tailwind-variants/dist/config").TVConfig<{
108
108
  isReadOnly: {
109
109
  true: string;
110
110
  };
@@ -26,7 +26,7 @@ const fieldBorder = tv({
26
26
  },
27
27
  });
28
28
  export const fieldGroup = tv({
29
- base: 'group flex items-center bg-transparent border rounded-sm typography-small text-default px-3 py-3 overflow-hidden',
29
+ base: 'group flex gap-3 items-center bg-transparent border rounded-sm typography-small text-default px-3 py-3 overflow-hidden',
30
30
  variants: fieldBorder.variants,
31
31
  });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXRvbXMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXZDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDMUIsSUFBSSxFQUFFLGtEQUFrRDtJQUN4RCxRQUFRLEVBQUU7UUFDUixjQUFjLEVBQUU7WUFDZCxLQUFLLEVBQUUsV0FBVztZQUNsQixJQUFJLEVBQUUsV0FBVztTQUNsQjtLQUNGO0NBQ0YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLFFBQVEsRUFBRTtRQUNSLFVBQVUsRUFBRTtZQUNWLElBQUksRUFBRSxrQkFBa0I7U0FDekI7UUFDRCxhQUFhLEVBQUU7WUFDYixLQUFLLEVBQUUscUNBQXFDO1lBQzVDLElBQUksRUFBRSxxQkFBcUI7U0FDNUI7UUFDRCxTQUFTLEVBQUU7WUFDVCxJQUFJLEVBQUUsdUJBQXVCO1NBQzlCO1FBQ0QsVUFBVSxFQUFFO1lBQ1YsSUFBSSxFQUFFLDZDQUE2QztTQUNwRDtLQUNGO0NBQ0YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUMzQixJQUFJLEVBQUUsa0hBQWtIO0lBQ3hILFFBQVEsRUFBRSxXQUFXLENBQUMsUUFBUTtDQUMvQixDQUFDLENBQUMifQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXRvbXMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXZDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDMUIsSUFBSSxFQUFFLGtEQUFrRDtJQUN4RCxRQUFRLEVBQUU7UUFDUixjQUFjLEVBQUU7WUFDZCxLQUFLLEVBQUUsV0FBVztZQUNsQixJQUFJLEVBQUUsV0FBVztTQUNsQjtLQUNGO0NBQ0YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLFFBQVEsRUFBRTtRQUNSLFVBQVUsRUFBRTtZQUNWLElBQUksRUFBRSxrQkFBa0I7U0FDekI7UUFDRCxhQUFhLEVBQUU7WUFDYixLQUFLLEVBQUUscUNBQXFDO1lBQzVDLElBQUksRUFBRSxxQkFBcUI7U0FDNUI7UUFDRCxTQUFTLEVBQUU7WUFDVCxJQUFJLEVBQUUsdUJBQXVCO1NBQzlCO1FBQ0QsVUFBVSxFQUFFO1lBQ1YsSUFBSSxFQUFFLDZDQUE2QztTQUNwRDtLQUNGO0NBQ0YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUMzQixJQUFJLEVBQUUsd0hBQXdIO0lBQzlILFFBQVEsRUFBRSxXQUFXLENBQUMsUUFBUTtDQUMvQixDQUFDLENBQUMifQ==
@@ -19,7 +19,7 @@ const Button = React.forwardRef((_a, ref) => {
19
19
  if (!hasChildren && !ariaLabel && !tooltip) {
20
20
  throw new Error('Button must have children, aria-label or tooltip');
21
21
  }
22
- const content = (React.createElement(_Button, Object.assign({ ref: ref, kind: kind, dense: dense, loading: loading, className: UNSAFE_className, "aria-label": ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : tooltip }, props),
22
+ const content = (React.createElement(_Button, Object.assign({ ref: ref, kind: kind, dense: dense, loading: loading, className: UNSAFE_className, "aria-label": kind === 'icon' ? (ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : tooltip) : ariaLabel }, props),
23
23
  React.createElement(LoadingSpinner, { dense: true, loading: loading },
24
24
  icon && iconPlacement === 'left' && React.createElement(Icon, { icon: icon, dense: dense }),
25
25
  children,
@@ -46,4 +46,4 @@ Button.Icon = ButtonIcon;
46
46
  Button.Text = ButtonText;
47
47
  Button.Dropdown = ButtonDropdown;
48
48
  export { Button };
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnV0dG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vbGVjdWxlcy9CdXR0b24vQnV0dG9uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEVBQUUsT0FBTyxFQUFxQixNQUFNLCtCQUErQixDQUFDO0FBRTNFLE9BQU8sRUFBRSxNQUFNLElBQUksT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVsRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBMEJ4QyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsVUFBVSxDQUM3QixDQUNFLEVBWUMsRUFDRCxHQUFHLEVBQ0gsRUFBRTtRQWRGLEVBQ0UsSUFBSSxHQUFHLFNBQVMsRUFDaEIsSUFBSSxFQUNKLGFBQWEsR0FBRyxNQUFNLEVBQ3RCLE9BQU8sRUFDUCxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLGdCQUFnQixFQUNoQixPQUFPLEVBQ1AsWUFBWSxFQUFFLFNBQVMsRUFDdkIsS0FBSyxPQUVOLEVBREksS0FBSyxjQVhWLGtJQVlDLENBRFM7SUFJVixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkQsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzNDLE1BQU0sSUFBSSxLQUFLLENBQUMsa0RBQWtELENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsTUFBTSxPQUFPLEdBQUcsQ0FDZCxvQkFBQyxPQUFPLGtCQUNOLEdBQUcsRUFBRSxHQUFHLEVBQ1IsSUFBSSxFQUFFLElBQUksRUFDVixLQUFLLEVBQUUsS0FBSyxFQUNaLE9BQU8sRUFBRSxPQUFPLEVBQ2hCLFNBQVMsRUFBRSxn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
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnV0dG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vbGVjdWxlcy9CdXR0b24vQnV0dG9uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEVBQUUsT0FBTyxFQUFxQixNQUFNLCtCQUErQixDQUFDO0FBRTNFLE9BQU8sRUFBRSxNQUFNLElBQUksT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVsRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBMEJ4QyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsVUFBVSxDQUM3QixDQUNFLEVBWUMsRUFDRCxHQUFHLEVBQ0gsRUFBRTtRQWRGLEVBQ0UsSUFBSSxHQUFHLFNBQVMsRUFDaEIsSUFBSSxFQUNKLGFBQWEsR0FBRyxNQUFNLEVBQ3RCLE9BQU8sRUFDUCxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLGdCQUFnQixFQUNoQixPQUFPLEVBQ1AsWUFBWSxFQUFFLFNBQVMsRUFDdkIsS0FBSyxPQUVOLEVBREksS0FBSyxjQVhWLGtJQVlDLENBRFM7SUFJVixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkQsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzNDLE1BQU0sSUFBSSxLQUFLLENBQUMsa0RBQWtELENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsTUFBTSxPQUFPLEdBQUcsQ0FDZCxvQkFBQyxPQUFPLGtCQUNOLEdBQUcsRUFBRSxHQUFHLEVBQ1IsSUFBSSxFQUFFLElBQUksRUFDVixLQUFLLEVBQUUsS0FBSyxFQUNaLE9BQU8sRUFBRSxPQUFPLEVBQ2hCLFNBQVMsRUFBRSxn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
@@ -1,19 +1,23 @@
1
1
  import React from 'react';
2
+ import { type ChipProps, type StatusChipProps } from '../../../src/molecules/Chip/Chip';
2
3
  import { Card as CardBase } from '../../../src/atoms/Card/Card';
3
4
  import { CompactCard } from './Compact';
4
5
  import { CardGroup } from './Group';
5
6
  import type { ActionableCard, ClickableCard, IconCard, ImageCard } from './types';
6
7
  import type { Lines } from '../../../src/atoms/LineClamp/LineClamp';
7
- import type { Either } from '../../../types/utils';
8
+ import type { Either, RequiredBy } from '../../../types/utils';
8
9
  export type CardProps = Either<ClickableCard, ActionableCard> & Either<ImageCard, IconCard> & {
9
10
  /** Short and concise card title as a string. If a custom title is needed, check out the custom title story in our storybook. */
10
11
  title: React.ReactElement<React.ComponentProps<typeof CardBase.Title>> | string;
11
12
  /** When provided, title will be clamped if needed. */
12
13
  clampTitle?: Lines;
13
14
  /**
14
- * Optional list of tags, which will be rendered as chips underneath the page title.
15
+ * Optional list to render chips above the card title. You can pass in bare
16
+ * strings to render regular chips, or exact props to render either regular
17
+ * or status chips. `dense` props are not supported as the chips are always
18
+ * rendered using the dense variant.
15
19
  */
16
- chips?: string[];
20
+ chips?: Array<Omit<ChipProps, 'dense'> | RequiredBy<Omit<StatusChipProps, 'dense'>, 'status'> | string>;
17
21
  /**
18
22
  * Optional full-width for a card.
19
23
  */