@epam/ai-dial-ui-kit 0.14.0-dev.1 → 0.14.0-dev.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/README.md +7 -1
  2. package/dist/CHANGELOG.md +56 -1
  3. package/dist/{JsonEditor-pyqbLZZf.cjs → JsonEditor-CIlvycLc.cjs} +1 -1
  4. package/dist/{JsonEditor-v9m_npfK.js → JsonEditor-NpnQyFhU.js} +1 -1
  5. package/dist/{MarkdownEditor-5UpxUtXf.js → MarkdownEditor-BfGhvCXb.js} +1 -1
  6. package/dist/{MarkdownEditor-BjqdSHPU.cjs → MarkdownEditor-D4Bnm8m2.cjs} +1 -1
  7. package/dist/{MarkdownEditor-CWZVSR--.js → MarkdownEditor-DNsyeoRP.js} +1 -1
  8. package/dist/{MarkdownEditor-9aPIyyuu.cjs → MarkdownEditor-HHw9bUhi.cjs} +1 -1
  9. package/dist/components-manifest.json +1757 -200
  10. package/dist/dial-ui-kit.cjs.js +1 -1
  11. package/dist/dial-ui-kit.es.js +227 -194
  12. package/dist/{index-DKDaSZqV.js → index-BLzC7Z4I.js} +14869 -13247
  13. package/dist/{index-xlqMH2Q1.cjs → index-CCLX8BoI.cjs} +31 -31
  14. package/dist/index.css +2 -2
  15. package/dist/migration-guides/0.14.0/button-tooltip-2-0.md +111 -0
  16. package/dist/migration-guides/0.14.0/control-color-token-rename.md +143 -0
  17. package/dist/migration-guides/0.14.0/focus-border-token-role-naming.md +87 -0
  18. package/dist/migration-guides/0.14.0/select-multiselect-option-row.md +99 -0
  19. package/dist/migration-guides/0.14.0/shadow-token-per-step-rename.md +104 -0
  20. package/dist/migration-guides/0.14.0/tag-single-size.md +121 -0
  21. package/dist/migration-guides/README.md +6 -0
  22. package/dist/src/components/Grid/comparators/base-column-comparator.d.ts +1 -4
  23. package/dist/src/components/Grid/renderers/utils.d.ts +1 -2
  24. package/dist/src/components/New/Button/Button.d.ts +4 -3
  25. package/dist/src/components/New/Calendar/constants.d.ts +5 -5
  26. package/dist/src/components/New/Checkbox/Checkbox.d.ts +50 -0
  27. package/dist/src/components/New/Checkbox/CheckboxBox.d.ts +30 -0
  28. package/dist/src/components/New/Checkbox/constants.d.ts +10 -0
  29. package/dist/src/components/New/CollapsibleSidebar/CollapsibleSidebar.d.ts +82 -0
  30. package/dist/src/components/New/Dropdown/constants.d.ts +3 -1
  31. package/dist/src/components/New/EllipsisTooltip/EllipsisTooltip.d.ts +51 -0
  32. package/dist/src/components/New/EllipsisTooltip/use-truncation.d.ts +21 -0
  33. package/dist/src/components/New/Grid/Grid.d.ts +124 -0
  34. package/dist/src/components/New/Grid/components/SelectionCell.d.ts +21 -0
  35. package/dist/src/components/New/Grid/components/SelectionHeader.d.ts +14 -0
  36. package/dist/src/components/New/Grid/constants.d.ts +59 -0
  37. package/dist/src/components/New/Grid/renderers/DateCellRenderer.d.ts +48 -0
  38. package/dist/src/components/New/Grid/renderers/constants.d.ts +5 -0
  39. package/dist/src/components/New/Highlight/Highlight.d.ts +1 -1
  40. package/dist/src/components/New/IconButton/IconButton.d.ts +4 -4
  41. package/dist/src/components/New/Input/Button/constants.d.ts +1 -1
  42. package/dist/src/components/New/Label/Label.d.ts +5 -0
  43. package/dist/src/components/New/NoDataContent/NoDataContent.d.ts +48 -0
  44. package/dist/src/components/New/Notification/Notification.d.ts +7 -0
  45. package/dist/src/components/New/Notification/NotificationWrapper.d.ts +2 -0
  46. package/dist/src/components/New/Popup/Popup.d.ts +48 -9
  47. package/dist/src/components/New/Popup/constants.d.ts +7 -0
  48. package/dist/src/components/New/Radio/Radio.d.ts +48 -0
  49. package/dist/src/components/New/RadioGroup/RadioGroup.d.ts +78 -0
  50. package/dist/src/components/New/RadioGroup/constants.d.ts +11 -0
  51. package/dist/src/components/New/RadioGroupPopupField/RadioGroupPopupField.d.ts +93 -0
  52. package/dist/src/components/New/RadioGroupPopupField/constants.d.ts +22 -0
  53. package/dist/src/components/New/ResizableContainer/ConditionalResizableContainer.d.ts +34 -0
  54. package/dist/src/components/New/ResizableContainer/ResizableContainer.d.ts +76 -0
  55. package/dist/src/components/New/ResizableContainer/components/ResizeHandle.d.ts +21 -0
  56. package/dist/src/components/New/SegmentedControl/SegmentedControl.d.ts +54 -0
  57. package/dist/src/components/New/SegmentedControl/constants.d.ts +16 -0
  58. package/dist/src/components/New/Select/constants.d.ts +2 -2
  59. package/dist/src/components/New/Slider/Slider.d.ts +70 -0
  60. package/dist/src/components/New/Tag/Tag.d.ts +26 -4
  61. package/dist/src/components/New/Tag/constants.d.ts +23 -0
  62. package/dist/src/components/New/ToggleIconButton/ToggleIconButton.d.ts +47 -0
  63. package/dist/src/components/New/Tooltip/Tooltip.d.ts +43 -0
  64. package/dist/src/components/New/Tooltip/TooltipContainer.d.ts +32 -0
  65. package/dist/src/components/New/Tooltip/TooltipContent.d.ts +18 -0
  66. package/dist/src/components/New/Tooltip/TooltipContext.d.ts +115 -0
  67. package/dist/src/components/New/Tooltip/TooltipTrigger.d.ts +18 -0
  68. package/dist/src/components/New/Tooltip/constants.d.ts +30 -0
  69. package/dist/src/components/New/constants/overlay.d.ts +12 -3
  70. package/dist/src/index.d.ts +44 -1
  71. package/dist/src/models/dropdown.d.ts +10 -0
  72. package/dist/src/types/notification.d.ts +2 -1
  73. package/dist/src/types/tag.d.ts +4 -0
  74. package/dist/src/types/tooltip.d.ts +6 -0
  75. package/dist/src/utils/grid-comparators.d.ts +4 -0
  76. package/dist/src/utils/grid-date.d.ts +7 -0
  77. package/package.json +1 -1
@@ -1,10 +1,10 @@
1
1
  import { FC, HTMLAttributes, MouseEvent, ReactNode } from 'react';
2
- import { ElementSize } from '../../../types/size';
2
+ import { TagAppearance } from '../../../types/tag';
3
3
  type NativeTagProps = Omit<HTMLAttributes<HTMLSpanElement>, 'children'>;
4
4
  export interface TagProps extends NativeTagProps {
5
5
  label: string;
6
6
  icon?: ReactNode;
7
- size?: ElementSize;
7
+ appearance?: TagAppearance;
8
8
  selected?: boolean;
9
9
  disabled?: boolean;
10
10
  closable?: boolean;
@@ -16,6 +16,10 @@ export interface TagProps extends NativeTagProps {
16
16
  * aliases: Chip|Pill
17
17
  * Design system 2.0
18
18
  *
19
+ * The tag has one height — the 32px pill of the 2.0 design. There is no `size`
20
+ * prop: a tag sizes itself, and a caller that needs a different height is
21
+ * usually reaching for a button.
22
+ *
19
23
  * The label truncates rather than wrapping, and carries a native `title` so the
20
24
  * full text stays reachable when it does.
21
25
  *
@@ -24,18 +28,36 @@ export interface TagProps extends NativeTagProps {
24
28
  * the caller: a clickable tag that is also closable gives a screen reader two
25
29
  * actions with no way to tell which one it landed on.
26
30
  *
31
+ * No tag draws a rim; the two appearances are told apart by their fill.
32
+ * `TagAppearance.Selectable` is the filter chip of the 2.0 design: no fill
33
+ * at all until it is selected, one hover tint shared by both states, a semibold
34
+ * label once selected, and the state carried on `aria-pressed` rather than by
35
+ * the tint alone. Give it an `onClick` — a selectable tag that cannot be
36
+ * activated is a colour and nothing else.
37
+ *
38
+ * Selecting one therefore changes its width by the difference between the
39
+ * regular and semibold label. In a wrapping filter row that is what the design
40
+ * asks for; if a fixed width matters, give the chip one.
41
+ *
27
42
  * @example
28
43
  * ```tsx
29
44
  * <Tag label="TypeScript" />
30
45
  * <Tag label="TypeScript" closable onRemove={() => remove('TypeScript')} />
31
46
  * <Tag label="Drafts" selected onClick={() => toggle('Drafts')} />
47
+ * <Tag
48
+ * label="Drafts"
49
+ * appearance={TagAppearance.Selectable}
50
+ * selected={isSelected}
51
+ * onClick={() => toggle('Drafts')}
52
+ * />
32
53
  * ```
33
54
  *
34
55
  * @param label - Text content displayed inside the tag.
35
56
  * @param [icon] - Icon rendered before the label.
36
- * @param [size=ElementSize.Standard] - Tag height: standard is 24px, small is 20px.
57
+ * @param [appearance=TagAppearance.Outlined] - `outlined` is the filled chip on the raised
58
+ * layer; `selectable` is the unfilled filter chip that tints and turns semibold when selected.
37
59
  * @param [selected=false] - Applies the accent-tinted selected styling.
38
- * @param [disabled=false] - Dims the tag and suppresses the remove control and click handling.
60
+ * @param [disabled=false] - Stops the tag responding: no click handling, no remove control. The design defines no disabled tag, so the colours stay put.
39
61
  * @param [closable=false] - Renders the remove button. Needs `onRemove` to appear.
40
62
  * @param [removeLabel] - Accessible name of the remove button; defaults to `Remove <label>`.
41
63
  * @param [onRemove] - Called when the remove button is clicked. The click does not bubble to `onClick`.
@@ -0,0 +1,23 @@
1
+ import { TagAppearance } from '../../../types/tag';
2
+ /**
3
+ * Geometry and layout shared by every tag. No transition: the design animates
4
+ * the hover and selected steps instantly (0ms), so the fill switches on the
5
+ * same frame as the pointer.
6
+ */
7
+ export declare const tagBaseClassName = "inline-flex h-[32px] max-w-full items-center gap-1 rounded-full px-3";
8
+ /**
9
+ * Fill and text colour per appearance and selection. No tag draws a rim: the
10
+ * two appearances are told apart by their fill — `outlined` sits on the raised
11
+ * layer, `selectable` on nothing until it is selected, where it also steps its
12
+ * label up from secondary to primary.
13
+ */
14
+ export declare const tagStateClassNames: Record<TagAppearance, Record<'default' | 'selected', string>>;
15
+ /** Cursor and focus ring of a tag that can be activated. */
16
+ export declare const tagInteractiveClassName = "cursor-pointer outline-offset-0 focus-visible:outline focus-visible:outline-focus";
17
+ /**
18
+ * Hover and active step of a clickable tag — one accent tint for every
19
+ * appearance and both selections, as the 2.0 overlay rows do. A selected tag
20
+ * must not read as hovered at rest, and the label is left alone, so an
21
+ * unselected one never darkens into looking selected.
22
+ */
23
+ export declare const tagHoverClassName = "hover:bg-control-accent-alpha-hover active:bg-control-accent-alpha-active";
@@ -0,0 +1,47 @@
1
+ import { FC, ReactNode } from 'react';
2
+ import { IconButtonProps } from '../IconButton/IconButton';
3
+ import { TooltipProps } from '../Tooltip/Tooltip';
4
+ type ToggleTooltipProps = Omit<TooltipProps, 'children'>;
5
+ export interface ToggleIconButtonProps extends Omit<IconButtonProps, 'variant' | 'appearance' | 'tooltipProps' | 'onToggle'> {
6
+ icon: ReactNode;
7
+ selectedIcon?: ReactNode;
8
+ isSelected?: boolean;
9
+ onToggle?: (isSelected: boolean) => void;
10
+ tooltipProps?: ToggleTooltipProps;
11
+ }
12
+ /**
13
+ * An icon button that stays pressed, for a setting the icon itself represents.
14
+ * aliases: IconToggle|ToggleButton|BookmarkButton
15
+ * Design system 2.0
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * <ToggleIconButton
20
+ * icon={<IconBookmark />}
21
+ * selectedIcon={<IconBookmarkFilled />}
22
+ * isSelected={isBookmarked}
23
+ * onToggle={setIsBookmarked}
24
+ * tooltipProps={{ tooltip: 'Bookmark' }}
25
+ * />
26
+ * ```
27
+ *
28
+ * This is a button, not a checkbox: the state rides on `aria-pressed`, so one
29
+ * unchanging accessible name covers both states and screen readers announce it
30
+ * as "pressed". Do not switch the name between them — a control that renames
31
+ * itself on click reads as a different control.
32
+ *
33
+ * Built on the primary ghost {@link IconButton}, which already supplies the
34
+ * whole unselected column of the design: a secondary-grey icon that turns
35
+ * accent on hover, an accent-alpha tint on hover and active, and a grey icon
36
+ * when disabled. Selected keeps that accent icon at rest and swaps in
37
+ * `selectedIcon` — usually the filled twin of `icon`.
38
+ *
39
+ * @param icon - Icon shown while unselected; rendered at 16px
40
+ * @param [selectedIcon] - Icon shown while selected; falls back to `icon`
41
+ * @param [isSelected=false] - Whether the toggle is on
42
+ * @param [onToggle] - Callback fired with the next value when clicked
43
+ * @param [size=ElementSize.Small] - Defines the size of the button
44
+ * @param [tooltipProps] - Props of the 2.0 {@link Tooltip} wrapping the button
45
+ */
46
+ export declare const ToggleIconButton: FC<ToggleIconButtonProps>;
47
+ export {};
@@ -0,0 +1,43 @@
1
+ import { FC, ReactNode } from 'react';
2
+ import { TooltipContainerOptions } from './TooltipContext';
3
+ export interface TooltipProps extends TooltipContainerOptions {
4
+ hideTooltip?: boolean;
5
+ tooltip?: ReactNode;
6
+ children: ReactNode;
7
+ asChild?: boolean;
8
+ triggerClassName?: string;
9
+ contentClassName?: string;
10
+ }
11
+ /**
12
+ * Shows a short explanation next to an element while it is hovered or focused.
13
+ * aliases: HoverPopover|InfoPopover
14
+ * Design system 2.0
15
+ *
16
+ * The tooltip is placed on one of the four sides of the trigger and follows it
17
+ * on scroll, flipping to the opposite side when it would not fit.
18
+ *
19
+ * Tooltip text does not reach assistive technology unless the trigger itself
20
+ * carries it: pass `asChild` so the `aria-describedby` lands on the control
21
+ * rather than on a wrapper `<span>`, and never let a tooltip be the only
22
+ * accessible name of a control — it renders nothing on mobile screens.
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * <Tooltip tooltip="Tooltip text" placement={TooltipPlacement.Top} asChild>
27
+ * <button>Hover me</button>
28
+ * </Tooltip>
29
+ * ```
30
+ *
31
+ * @param [tooltip] - The content to display in the tooltip
32
+ * @param children - The element that triggers the tooltip
33
+ * @param [asChild=false] - Use the child as the trigger instead of wrapping it in a `<span>`
34
+ * @param [hideTooltip=false] - Suppress the tooltip while keeping the trigger rendered
35
+ * @param [triggerClassName] - Additional CSS classes for the trigger element
36
+ * @param [contentClassName] - Additional CSS classes for the tooltip bubble
37
+ * @param [initialOpen=false] - Whether the tooltip starts open (uncontrolled only)
38
+ * @param [placement=TooltipPlacement.Bottom] - Side of the trigger the tooltip is placed on
39
+ * @param [isTriggerClickable=false] - Restrict hover handling to mouse input, ignoring touch
40
+ * @param [open] - Controlled open state; disables the hover and focus triggers
41
+ * @param [onOpenChange] - Callback fired when the open state should change
42
+ */
43
+ export declare const Tooltip: FC<TooltipProps>;
@@ -0,0 +1,32 @@
1
+ import { FC, ReactNode } from 'react';
2
+ import { TooltipContainerOptions } from './TooltipContext';
3
+ interface Props {
4
+ children: ReactNode;
5
+ }
6
+ /**
7
+ * Provides tooltip positioning and open state to a trigger and a content pair.
8
+ * aliases: TooltipProvider|TooltipRoot
9
+ * Design system 2.0
10
+ *
11
+ * Use it directly only when the trigger and the content cannot be rendered by
12
+ * `Tooltip` itself — for example when the content needs custom markup.
13
+ *
14
+ * @example
15
+ * ```tsx
16
+ * <TooltipContainer placement={TooltipPlacement.Top}>
17
+ * <TooltipTrigger asChild>
18
+ * <button>Hover me</button>
19
+ * </TooltipTrigger>
20
+ * <TooltipContent>Tooltip text</TooltipContent>
21
+ * </TooltipContainer>
22
+ * ```
23
+ *
24
+ * @param children - The tooltip trigger and content components
25
+ * @param [initialOpen=false] - Whether the tooltip starts open (uncontrolled only)
26
+ * @param [placement=TooltipPlacement.Bottom] - Side of the trigger the tooltip is placed on
27
+ * @param [isTriggerClickable=false] - Restrict hover handling to mouse input, ignoring touch
28
+ * @param [open] - Controlled open state; disables the hover and focus triggers
29
+ * @param [onOpenChange] - Callback fired when the open state should change
30
+ */
31
+ export declare const TooltipContainer: FC<Props & TooltipContainerOptions>;
32
+ export {};
@@ -0,0 +1,18 @@
1
+ import { CSSProperties, FC, HTMLProps } from 'react';
2
+ export interface TooltipContentProps extends HTMLProps<HTMLDivElement> {
3
+ style?: CSSProperties;
4
+ }
5
+ /**
6
+ * The floating bubble that carries the tooltip text.
7
+ * Design system 2.0
8
+ *
9
+ * Rendered in a portal, above popups and dropdowns, with an arrow pointing back
10
+ * at the trigger. Renders nothing on a mobile screen, where there is no hover
11
+ * to reveal it — so a control must never depend on a tooltip alone to be
12
+ * understood, or to have an accessible name.
13
+ *
14
+ * @param children - The content to display inside the tooltip
15
+ * @param [className] - Additional CSS classes applied to the tooltip bubble
16
+ * @param [style] - Additional inline styles for the tooltip bubble
17
+ */
18
+ export declare const TooltipContent: FC<TooltipContentProps>;
@@ -0,0 +1,115 @@
1
+ import { TooltipPlacement } from '../../../types/tooltip';
2
+ type ContextType = ReturnType<typeof useTooltip> | null;
3
+ export declare const TooltipContext: import('react').Context<ContextType>;
4
+ export interface TooltipContainerOptions {
5
+ initialOpen?: boolean;
6
+ placement?: TooltipPlacement;
7
+ isTriggerClickable?: boolean;
8
+ open?: boolean;
9
+ onOpenChange?: (open: boolean) => void;
10
+ }
11
+ export declare const useTooltipContext: () => {
12
+ placement: import('@floating-ui/utils').Placement;
13
+ strategy: import('@floating-ui/utils').Strategy;
14
+ middlewareData: import('@floating-ui/core').MiddlewareData;
15
+ x: number;
16
+ y: number;
17
+ isPositioned: boolean;
18
+ update: () => void;
19
+ floatingStyles: React.CSSProperties;
20
+ refs: {
21
+ reference: import('react').MutableRefObject<import('@floating-ui/react-dom').ReferenceType | null>;
22
+ floating: React.MutableRefObject<HTMLElement | null>;
23
+ setReference: (node: import('@floating-ui/react-dom').ReferenceType | null) => void;
24
+ setFloating: (node: HTMLElement | null) => void;
25
+ } & import('@floating-ui/react').ExtendedRefs<import('@floating-ui/react').ReferenceType>;
26
+ elements: {
27
+ reference: import('@floating-ui/react-dom').ReferenceType | null;
28
+ floating: HTMLElement | null;
29
+ } & import('@floating-ui/react').ExtendedElements<import('@floating-ui/react').ReferenceType>;
30
+ context: {
31
+ placement: import('@floating-ui/utils').Placement;
32
+ strategy: import('@floating-ui/utils').Strategy;
33
+ x: number;
34
+ y: number;
35
+ middlewareData: import('@floating-ui/core').MiddlewareData;
36
+ isPositioned: boolean;
37
+ update: () => void;
38
+ floatingStyles: React.CSSProperties;
39
+ open: boolean;
40
+ onOpenChange: (open: boolean, event?: Event, reason?: import('@floating-ui/react').OpenChangeReason) => void;
41
+ events: import('@floating-ui/react').FloatingEvents;
42
+ dataRef: React.MutableRefObject<import('@floating-ui/react').ContextData>;
43
+ nodeId: string | undefined;
44
+ floatingId: string | undefined;
45
+ refs: import('@floating-ui/react').ExtendedRefs<import('@floating-ui/react').ReferenceType>;
46
+ elements: import('@floating-ui/react').ExtendedElements<import('@floating-ui/react').ReferenceType>;
47
+ };
48
+ getReferenceProps: (userProps?: React.HTMLProps<Element>) => Record<string, unknown>;
49
+ getFloatingProps: (userProps?: React.HTMLProps<HTMLElement>) => Record<string, unknown>;
50
+ getItemProps: (userProps?: Omit<React.HTMLProps<HTMLElement>, "selected" | "active"> & {
51
+ active?: boolean;
52
+ selected?: boolean;
53
+ }) => Record<string, unknown>;
54
+ open: boolean;
55
+ setOpen: (open: boolean) => void;
56
+ arrowRef: import('react').RefObject<SVGSVGElement | null>;
57
+ };
58
+ /**
59
+ * Positioning and interaction state shared by the tooltip trigger and content.
60
+ * Design system 2.0
61
+ *
62
+ * @param [initialOpen=false] - Whether the tooltip starts open (uncontrolled only)
63
+ * @param [placement=TooltipPlacement.Bottom] - Side of the trigger the tooltip is placed on
64
+ * @param [isTriggerClickable=false] - Restrict hover handling to mouse input, ignoring touch
65
+ * @param [open] - Controlled open state; disables the hover and focus triggers
66
+ * @param [onOpenChange] - Callback fired when the open state should change
67
+ */
68
+ export declare const useTooltip: ({ initialOpen, placement, isTriggerClickable, open: controlledOpen, onOpenChange: setControlledOpen, }?: TooltipContainerOptions) => {
69
+ placement: import('@floating-ui/utils').Placement;
70
+ strategy: import('@floating-ui/utils').Strategy;
71
+ middlewareData: import('@floating-ui/core').MiddlewareData;
72
+ x: number;
73
+ y: number;
74
+ isPositioned: boolean;
75
+ update: () => void;
76
+ floatingStyles: React.CSSProperties;
77
+ refs: {
78
+ reference: import('react').MutableRefObject<import('@floating-ui/react-dom').ReferenceType | null>;
79
+ floating: React.MutableRefObject<HTMLElement | null>;
80
+ setReference: (node: import('@floating-ui/react-dom').ReferenceType | null) => void;
81
+ setFloating: (node: HTMLElement | null) => void;
82
+ } & import('@floating-ui/react').ExtendedRefs<import('@floating-ui/react').ReferenceType>;
83
+ elements: {
84
+ reference: import('@floating-ui/react-dom').ReferenceType | null;
85
+ floating: HTMLElement | null;
86
+ } & import('@floating-ui/react').ExtendedElements<import('@floating-ui/react').ReferenceType>;
87
+ context: {
88
+ placement: import('@floating-ui/utils').Placement;
89
+ strategy: import('@floating-ui/utils').Strategy;
90
+ x: number;
91
+ y: number;
92
+ middlewareData: import('@floating-ui/core').MiddlewareData;
93
+ isPositioned: boolean;
94
+ update: () => void;
95
+ floatingStyles: React.CSSProperties;
96
+ open: boolean;
97
+ onOpenChange: (open: boolean, event?: Event, reason?: import('@floating-ui/react').OpenChangeReason) => void;
98
+ events: import('@floating-ui/react').FloatingEvents;
99
+ dataRef: React.MutableRefObject<import('@floating-ui/react').ContextData>;
100
+ nodeId: string | undefined;
101
+ floatingId: string | undefined;
102
+ refs: import('@floating-ui/react').ExtendedRefs<import('@floating-ui/react').ReferenceType>;
103
+ elements: import('@floating-ui/react').ExtendedElements<import('@floating-ui/react').ReferenceType>;
104
+ };
105
+ getReferenceProps: (userProps?: React.HTMLProps<Element>) => Record<string, unknown>;
106
+ getFloatingProps: (userProps?: React.HTMLProps<HTMLElement>) => Record<string, unknown>;
107
+ getItemProps: (userProps?: Omit<React.HTMLProps<HTMLElement>, "selected" | "active"> & {
108
+ active?: boolean;
109
+ selected?: boolean;
110
+ }) => Record<string, unknown>;
111
+ open: boolean;
112
+ setOpen: (open: boolean) => void;
113
+ arrowRef: import('react').RefObject<SVGSVGElement | null>;
114
+ };
115
+ export {};
@@ -0,0 +1,18 @@
1
+ import { FC, HTMLProps } from 'react';
2
+ interface TooltipTriggerProps extends HTMLProps<HTMLElement> {
3
+ asChild?: boolean;
4
+ }
5
+ /**
6
+ * The element a tooltip is anchored to and opened from.
7
+ * Design system 2.0
8
+ *
9
+ * Prefer `asChild` whenever the trigger is a single element: it puts the
10
+ * `aria-describedby` that names the tooltip on the control itself instead of on
11
+ * a wrapper `<span>`, which is the only way the tooltip text reaches assistive
12
+ * technology.
13
+ *
14
+ * @param children - The element that opens the tooltip
15
+ * @param [asChild=false] - Render the child as the trigger instead of wrapping it in a `<span>`
16
+ */
17
+ export declare const TooltipTrigger: FC<TooltipTriggerProps>;
18
+ export {};
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Tooltip layout and styling constants.
3
+ * Design system 2.0
4
+ */
5
+ /** Height of the `FloatingArrow` triangle, in px — its default `height`. */
6
+ export declare const ARROW_HEIGHT = 7;
7
+ /** Space left between the arrow tip and the trigger, in px. */
8
+ export declare const ARROW_GAP = 2;
9
+ /**
10
+ * Delay before an on-hover tooltip opens, in ms. Long enough that a pointer
11
+ * crossing the trigger on its way somewhere else does not flash a tooltip.
12
+ */
13
+ export declare const HOVER_OPEN_DELAY = 500;
14
+ /**
15
+ * The arrow is an SVG outside the tooltip box, so it cannot inherit the box's
16
+ * background — keep this in sync with `bg-control-inverted` in
17
+ * `tooltipClassName`. A CSS fill beats the `fill` presentation attribute
18
+ * `FloatingArrow` puts on the `<svg>`, and the filled `<path>` inherits it.
19
+ */
20
+ export declare const arrowClassName = "fill-control-inverted";
21
+ /**
22
+ * Tooltips sit above popups, dropdowns and the calendar (all `z-[53]`), since
23
+ * they can be triggered by a control inside one of them.
24
+ *
25
+ * `max-w-[376px]` is the cap the design puts on a tooltip: at `dial-small-text`
26
+ * that is around 60 characters a line, past which a line stops being
27
+ * comfortable to read. Longer text wraps instead of widening the bubble. The
28
+ * width stays a literal because Tailwind only sees static class strings.
29
+ */
30
+ export declare const tooltipClassName = "z-[55] max-w-[376px] whitespace-pre-wrap break-words rounded-lg bg-control-inverted px-3 py-2 dial-small-text text-control-inverted";
@@ -17,8 +17,17 @@ export declare const overlaySubMenuClassName: string;
17
17
  * reached by keyboard, and the 1.0 versions suppressed the ring outright.
18
18
  */
19
19
  export declare const overlayItemClassName: string;
20
- /** Tint marking the row that is currently selected. */
21
- export declare const overlayItemSelectedClassName = "bg-control-accent-alpha-hover";
22
- export declare const overlayItemDisabledClassName = "opacity-75";
20
+ /**
21
+ * Tint marking the row that is currently selected, at rest: the faint step of
22
+ * the accent-alpha ramp, so hovering a selected row still has somewhere to go.
23
+ */
24
+ export declare const overlayItemSelectedClassName = "bg-control-accent-alpha";
25
+ /**
26
+ * A row that cannot be chosen. `overlayItemClassName` tints every row on hover
27
+ * and a selected row carries a tint at rest, so both have to be turned off
28
+ * again here — `mergeClasses` is tailwind-merge, so these later declarations
29
+ * win as long as the disabled classes are merged after the selected ones.
30
+ */
31
+ export declare const overlayItemDisabledClassName: string;
23
32
  /** Distance between the trigger and its panel, and between nested panels. */
24
33
  export declare const overlayGap = 4;
@@ -150,7 +150,7 @@ export { Notification } from './components/New/Notification/Notification';
150
150
  export { Highlight } from './components/New/Highlight/Highlight';
151
151
  export { CardShell } from './components/New/CardShell/CardShell';
152
152
  export type { CardShellProps } from './components/New/CardShell/CardShell';
153
- export { ErrorMessageNotification, ErrorToastNotification, InfoMessageNotification, InfoToastNotification, LoadingMessageNotification, LoadingToastNotification, SuccessMessageNotification, SuccessToastNotification, WarningMessageNotification, WarningToastNotification, } from './components/New/Notification/NotificationWrapper';
153
+ export { ErrorMessageNotification, ErrorToastNotification, GeneralMessageNotification, GeneralToastNotification, InfoMessageNotification, InfoToastNotification, LoadingMessageNotification, LoadingToastNotification, SuccessMessageNotification, SuccessToastNotification, WarningMessageNotification, WarningToastNotification, } from './components/New/Notification/NotificationWrapper';
154
154
  export { CalendarMode } from './types/calendar.ts';
155
155
  export { Calendar } from './components/New/Calendar/Calendar';
156
156
  export type { CalendarProps, CalendarValue, } from './components/New/Calendar/Calendar';
@@ -200,14 +200,57 @@ export { Accordion } from './components/New/Accordion/Accordion';
200
200
  export type { AccordionProps } from './components/New/Accordion/Accordion';
201
201
  export { Switch } from './components/New/Switch/Switch';
202
202
  export type { SwitchProps } from './components/New/Switch/Switch';
203
+ export { Radio } from './components/New/Radio/Radio';
204
+ export type { RadioProps } from './components/New/Radio/Radio';
205
+ export { RadioGroup } from './components/New/RadioGroup/RadioGroup';
206
+ export type { RadioGroupProps, RadioGroupItem, } from './components/New/RadioGroup/RadioGroup';
207
+ export { RadioGroupPopupField } from './components/New/RadioGroupPopupField/RadioGroupPopupField';
208
+ export type { RadioGroupPopupFieldProps } from './components/New/RadioGroupPopupField/RadioGroupPopupField';
209
+ export { Checkbox } from './components/New/Checkbox/Checkbox';
210
+ export type { CheckboxProps } from './components/New/Checkbox/Checkbox';
211
+ export { CheckboxBox } from './components/New/Checkbox/CheckboxBox';
212
+ export type { CheckboxBoxProps } from './components/New/Checkbox/CheckboxBox';
213
+ export { ToggleIconButton } from './components/New/ToggleIconButton/ToggleIconButton';
214
+ export type { ToggleIconButtonProps } from './components/New/ToggleIconButton/ToggleIconButton';
215
+ export { SegmentedControl } from './components/New/SegmentedControl/SegmentedControl';
216
+ export type { SegmentedControlProps, SegmentedControlItem, } from './components/New/SegmentedControl/SegmentedControl';
203
217
  export { Tabs } from './components/New/Tabs/Tabs';
204
218
  export type { TabsProps, TabItem } from './components/New/Tabs/Tabs';
205
219
  export { FileDropzone } from './components/New/FileDropzone/FileDropzone';
206
220
  export type { FileDropzoneProps } from './components/New/FileDropzone/FileDropzone';
207
221
  export { Tag } from './components/New/Tag/Tag';
208
222
  export type { TagProps } from './components/New/Tag/Tag';
223
+ export { TagAppearance } from './types/tag';
209
224
  export { TagInput } from './components/New/TagInput/TagInput';
210
225
  export type { TagInputProps } from './components/New/TagInput/TagInput';
211
226
  export { Search } from './components/New/Search/Search';
212
227
  export type { SearchProps } from './components/New/Search/Search';
213
228
  export { matchesAccept } from './utils/file-accept';
229
+ export { Slider } from './components/New/Slider/Slider';
230
+ export type { SliderProps } from './components/New/Slider/Slider';
231
+ export { Tooltip } from './components/New/Tooltip/Tooltip';
232
+ export type { TooltipProps } from './components/New/Tooltip/Tooltip';
233
+ export { TooltipContainer } from './components/New/Tooltip/TooltipContainer';
234
+ export { TooltipContent } from './components/New/Tooltip/TooltipContent';
235
+ export type { TooltipContentProps } from './components/New/Tooltip/TooltipContent';
236
+ export { TooltipTrigger } from './components/New/Tooltip/TooltipTrigger';
237
+ export type { TooltipContainerOptions } from './components/New/Tooltip/TooltipContext';
238
+ export { TooltipPlacement } from './types/tooltip.ts';
239
+ export { EllipsisTooltip } from './components/New/EllipsisTooltip/EllipsisTooltip';
240
+ export type { EllipsisTooltipProps } from './components/New/EllipsisTooltip/EllipsisTooltip';
241
+ export { CollapsibleSidebar } from './components/New/CollapsibleSidebar/CollapsibleSidebar';
242
+ export type { CollapsibleSidebarProps } from './components/New/CollapsibleSidebar/CollapsibleSidebar';
243
+ export { ResizableContainer } from './components/New/ResizableContainer/ResizableContainer';
244
+ export type { ResizableContainerProps } from './components/New/ResizableContainer/ResizableContainer';
245
+ export { ConditionalResizableContainer } from './components/New/ResizableContainer/ConditionalResizableContainer';
246
+ export type { ConditionalResizableContainerProps } from './components/New/ResizableContainer/ConditionalResizableContainer';
247
+ export { NoDataContent } from './components/New/NoDataContent/NoDataContent';
248
+ export type { NoDataContentProps } from './components/New/NoDataContent/NoDataContent';
249
+ export { Grid, GRID_SELECTION_COLUMN_ID } from './components/New/Grid/Grid';
250
+ export type { GridProps } from './components/New/Grid/Grid';
251
+ export { DateCellRenderer } from './components/New/Grid/renderers/DateCellRenderer';
252
+ export type { DateCellRendererProps, DateValue, } from './components/New/Grid/renderers/DateCellRenderer';
253
+ export { DEFAULT_DATE_FORMAT_OPTIONS, DEFAULT_LOCALE as DEFAULT_DATE_LOCALE, } from './components/New/Grid/renderers/constants';
254
+ export { GRID_ALIGN_RIGHT_CLASS, GRID_ROOT_CLASS, GRID_THEME_PARAMS, ROW_HEIGHT as GRID_ROW_HEIGHT, } from './components/New/Grid/constants';
255
+ export { convertToDate } from './utils/grid-date';
256
+ export { baseColumnComparator, checkColDefsChanges, } from './utils/grid-comparators';
@@ -15,6 +15,16 @@ export interface DropdownItem {
15
15
  icon?: ReactNode;
16
16
  disabled?: boolean;
17
17
  danger?: boolean;
18
+ /**
19
+ * Renders the item as a multiselect row: a checkbox box before the label, the
20
+ * accent tint while checked, and a click that leaves the menu open. The row is
21
+ * a `menuitemcheckbox` whose state lives on `aria-checked`; the box itself is
22
+ * decorative. Keep `checked` in your own state and update it from the item's
23
+ * `onClick` (or the dropdown's `onItemClick`).
24
+ */
25
+ selectable?: boolean;
26
+ /** Whether a `selectable` item is currently checked. */
27
+ checked?: boolean;
18
28
  type?: DropdownItemType;
19
29
  className?: string;
20
30
  onClick?: (info: {
@@ -3,7 +3,8 @@ export declare enum NotificationVariant {
3
3
  Success = "success",
4
4
  Warning = "warning",
5
5
  Error = "error",
6
- Loading = "loading"
6
+ Loading = "loading",
7
+ General = "general"
7
8
  }
8
9
  export declare enum NotificationType {
9
10
  Toast = "toast",
@@ -0,0 +1,4 @@
1
+ export declare enum TagAppearance {
2
+ Outlined = "outlined",
3
+ Selectable = "selectable"
4
+ }
@@ -0,0 +1,6 @@
1
+ export declare enum TooltipPlacement {
2
+ Top = "top",
3
+ Right = "right",
4
+ Bottom = "bottom",
5
+ Left = "left"
6
+ }
@@ -0,0 +1,4 @@
1
+ import { ColDef, IRowNode } from 'ag-grid-community';
2
+ export declare const baseColumnComparator: (a: string | number | undefined, b: string | number | undefined, _nodeA?: IRowNode, _nodeB?: IRowNode, isInverted?: boolean) => number;
3
+ export declare const omitUndefined: <T extends object>(value: T | undefined) => T;
4
+ export declare const checkColDefsChanges: (cols: ColDef[], initialCols: ColDef[]) => boolean;
@@ -0,0 +1,7 @@
1
+ export type DateValue = string | number | Date;
2
+ /**
3
+ * Normalises the value a date cell can receive into a `Date`, or `null` when it
4
+ * carries no usable date. A pure integer string is read as epoch milliseconds,
5
+ * so a serialised timestamp behaves like the number it came from.
6
+ */
7
+ export declare const convertToDate: (input?: DateValue | null) => Date | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epam/ai-dial-ui-kit",
3
- "version": "0.14.0-dev.1",
3
+ "version": "0.14.0-dev.12",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "description": "A modern UI kit for building AI DIAL interfaces with React",