@juspay/blend-design-system 0.0.31 → 0.0.32

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 (42) hide show
  1. package/dist/components/Charts/BlendChart.d.ts +3 -0
  2. package/dist/components/Charts/BlendChart.types.d.ts +28 -0
  3. package/dist/components/Charts/BlendChartContainer.d.ts +6 -0
  4. package/dist/components/Charts/BlendChartHeader.d.ts +6 -0
  5. package/dist/components/Charts/index.d.ts +4 -0
  6. package/dist/components/Charts/renderChart.d.ts +1 -1
  7. package/dist/components/Charts/types.d.ts +63 -6
  8. package/dist/components/Charts/utils.d.ts +4 -1
  9. package/dist/components/ChatInput/AttachmentFile.d.ts +11 -0
  10. package/dist/components/ChatInput/MobileChatInput.d.ts +14 -0
  11. package/dist/components/ChatInput/chatInput.tokens.d.ts +46 -0
  12. package/dist/components/ChatInput/utils.d.ts +5 -0
  13. package/dist/components/DataTable/DataTablePagination.d.ts +2 -1
  14. package/dist/components/DataTable/TableFooter/types.d.ts +1 -0
  15. package/dist/components/DataTable/TableHeader/FilterComponents.d.ts +1 -0
  16. package/dist/components/DataTable/TableHeader/handlers.d.ts +5 -4
  17. package/dist/components/DataTable/TableHeader/types.d.ts +3 -3
  18. package/dist/components/DataTable/types.d.ts +41 -0
  19. package/dist/components/Directory/Directory.d.ts +1 -1
  20. package/dist/components/Directory/NavItem.d.ts +1 -1
  21. package/dist/components/Directory/Section.d.ts +1 -1
  22. package/dist/components/Directory/types.d.ts +3 -0
  23. package/dist/components/Drawer/types.d.ts +5 -0
  24. package/dist/components/Inputs/NumberInput/utils.d.ts +81 -1
  25. package/dist/components/Inputs/TextArea/textarea.token.d.ts +4 -0
  26. package/dist/components/MultiSelect/MultiSelect.d.ts +1 -1
  27. package/dist/components/MultiSelect/types.d.ts +2 -0
  28. package/dist/components/Primitives/PrimitiveTextArea.d.ts +80 -1
  29. package/dist/components/Sidebar/SidebarHeader.d.ts +1 -0
  30. package/dist/components/Sidebar/sidebar.tokens.d.ts +1 -0
  31. package/dist/components/Sidebar/types.d.ts +19 -0
  32. package/dist/components/Sidebar/utils.d.ts +1 -1
  33. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  34. package/dist/components/Tooltip/types.d.ts +1 -0
  35. package/dist/components/VirtualList/VirtualList.d.ts +0 -4
  36. package/dist/components/common/TruncatedTextWithTooltip.d.ts +14 -0
  37. package/dist/components/common/index.d.ts +1 -0
  38. package/dist/context/ThemeContext.d.ts +2 -0
  39. package/dist/context/useComponentToken.d.ts +2 -1
  40. package/dist/main.js +47679 -40813
  41. package/dist/tokens/unit.tokens.d.ts +1 -0
  42. package/package.json +3 -1
@@ -0,0 +1,3 @@
1
+ import { BlendChartProps } from './BlendChart.types';
2
+ declare const BlendChart: import('react').ForwardRefExoticComponent<Omit<BlendChartProps, "ref"> & import('react').RefAttributes<import('highcharts-react-official').HighchartsReactRefObject>>;
3
+ export default BlendChart;
@@ -0,0 +1,28 @@
1
+ import { HighchartsReactProps, HighchartsReactRefObject } from 'highcharts-react-official';
2
+ import { default as Highcharts } from 'highcharts';
3
+ export declare const BlendChartBaseInstance: typeof Highcharts;
4
+ export type BlendChartType = typeof Highcharts;
5
+ export type BlendChartReactProps = HighchartsReactProps;
6
+ export type BlendChartProps = BlendChartReactProps & {
7
+ highcharts?: BlendChartType;
8
+ };
9
+ export type BlendChartOptions = Highcharts.Options;
10
+ export type BlendChartSeriesOptionsType = Highcharts.SeriesOptionsType;
11
+ export type BlendChartSeriesLineOptions = Highcharts.SeriesLineOptions;
12
+ export type BlendChartSeriesAreaOptions = Highcharts.SeriesAreaOptions;
13
+ export type BlendChartSeriesXrangeOptions = Highcharts.SeriesXrangeOptions;
14
+ export type BlendChartPoint = Highcharts.Point;
15
+ export type BlendChartPointMarkerOptionsObject = Highcharts.PointMarkerOptionsObject;
16
+ export type BlendChartXAxisOptions = Highcharts.XAxisOptions;
17
+ export type BlendChartYAxisOptions = Highcharts.YAxisOptions;
18
+ export type BlendChartChart = Highcharts.Chart;
19
+ export type BlendChartAxis = Highcharts.Axis;
20
+ export type BlendChartSeries = Highcharts.Series;
21
+ export type BlendChartSeriesZonesOptionsObject = Highcharts.SeriesZonesOptionsObject;
22
+ export type BlendChartReactRefObject = HighchartsReactRefObject;
23
+ export interface BlendChartContainerProps {
24
+ children: React.ReactNode;
25
+ }
26
+ export interface BlendChartHeaderProps {
27
+ children: React.ReactNode;
28
+ }
@@ -0,0 +1,6 @@
1
+ import { BlendChartContainerProps } from './BlendChart.types';
2
+ declare const BlendChartContainer: {
3
+ ({ children }: BlendChartContainerProps): import("react/jsx-runtime").JSX.Element;
4
+ displayName: string;
5
+ };
6
+ export default BlendChartContainer;
@@ -0,0 +1,6 @@
1
+ import { BlendChartHeaderProps } from './BlendChart.types';
2
+ declare const BlendChartHeader: {
3
+ ({ children }: BlendChartHeaderProps): import("react/jsx-runtime").JSX.Element;
4
+ displayName: string;
5
+ };
6
+ export default BlendChartHeader;
@@ -5,4 +5,8 @@ export { default as ChartHeader } from './ChartHeader';
5
5
  export { default as ChartLegends } from './ChartLegend';
6
6
  export { default as SankeyNode } from './SankeyNode';
7
7
  export { default as SankeyLink } from './SankeyLink';
8
+ export { default as BlendChart } from './BlendChart';
9
+ export { default as BlendChartContainer } from './BlendChartContainer';
10
+ export { default as BlendChartHeader } from './BlendChartHeader';
8
11
  export * from './types';
12
+ export * from './BlendChart.types';
@@ -1,2 +1,2 @@
1
1
  import { RenderChartProps } from './types';
2
- export declare const renderChart: ({ chartName, flattenedData, chartType, hoveredKey, lineKeys, colors, setHoveredKey, data: originalData, selectedKeys, isSmallScreen, barsize, xAxis, yAxis, noData, height, }: RenderChartProps) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const renderChart: ({ chartName, flattenedData, chartType, hoveredKey, lineKeys, colors, setHoveredKey, data: originalData, selectedKeys, isSmallScreen, barsize, xAxis, yAxis, tooltip, noData, height, CustomizedDot, }: RenderChartProps) => import("react/jsx-runtime").JSX.Element;
@@ -17,6 +17,13 @@ export type DataPoint = {
17
17
  timeZone?: string;
18
18
  hour12?: boolean;
19
19
  }[];
20
+ error?: {
21
+ title: string;
22
+ errorData?: {
23
+ label: string;
24
+ value: string;
25
+ }[];
26
+ };
20
27
  };
21
28
  export declare enum ChartLegendPosition {
22
29
  TOP = "top",
@@ -27,6 +34,7 @@ export declare enum ChartType {
27
34
  BAR = "bar",
28
35
  PIE = "pie",
29
36
  SCATTER = "scatter",
37
+ AREA = "area",
30
38
  SANKEY = "sankey"
31
39
  }
32
40
  export declare enum LegendsChangeType {
@@ -80,6 +88,24 @@ export type AxisConfig = {
80
88
  };
81
89
  export type XAxisConfig = AxisConfig;
82
90
  export type YAxisConfig = AxisConfig;
91
+ export type TooltipConfig = {
92
+ position?: {
93
+ x?: number;
94
+ y?: number;
95
+ };
96
+ allowEscapeViewBox?: {
97
+ x?: boolean;
98
+ y?: boolean;
99
+ };
100
+ };
101
+ export type DotItemDotProps = {
102
+ cx?: number;
103
+ cy?: number;
104
+ value?: number;
105
+ payload?: {
106
+ name?: string;
107
+ };
108
+ };
83
109
  export type NewNestedDataPoint = {
84
110
  name: string;
85
111
  data: {
@@ -97,7 +123,10 @@ export type RenderChartProps = {
97
123
  chartType: ChartType;
98
124
  hoveredKey: string | null;
99
125
  lineKeys: string[];
100
- colors: string[];
126
+ colors: {
127
+ key: string;
128
+ color: string;
129
+ }[];
101
130
  setHoveredKey: (key: string | null) => void;
102
131
  data: NewNestedDataPoint[];
103
132
  selectedKeys: string[];
@@ -105,16 +134,22 @@ export type RenderChartProps = {
105
134
  barsize?: number;
106
135
  xAxis?: XAxisConfig;
107
136
  yAxis?: YAxisConfig;
137
+ tooltip?: TooltipConfig;
108
138
  noData?: NoDataProps;
109
139
  height?: number | string;
140
+ CustomizedDot?: (props: DotItemDotProps) => React.ReactElement<SVGElement>;
110
141
  };
111
142
  export type CoreChartProps = {
112
143
  chartType?: ChartType;
113
144
  data: NewNestedDataPoint[];
114
- colors?: string[];
145
+ colors?: {
146
+ key: string;
147
+ color: string;
148
+ }[];
115
149
  barsize?: number;
116
150
  xAxis?: XAxisConfig;
117
151
  yAxis?: YAxisConfig;
152
+ tooltip?: TooltipConfig;
118
153
  height?: number | string;
119
154
  width?: number | string;
120
155
  isSmallScreen?: boolean;
@@ -130,7 +165,10 @@ export type ChartsSkeletonProps = {
130
165
  export type ChartsProps = {
131
166
  chartType?: ChartType;
132
167
  data: NewNestedDataPoint[];
133
- colors?: string[];
168
+ colors?: {
169
+ key: string;
170
+ color: string;
171
+ }[];
134
172
  slot1?: ReactNode;
135
173
  slot2?: ReactNode;
136
174
  slot3?: ReactNode;
@@ -141,6 +179,7 @@ export type ChartsProps = {
141
179
  barsize?: number;
142
180
  xAxis?: XAxisConfig;
143
181
  yAxis?: YAxisConfig;
182
+ tooltip?: TooltipConfig;
144
183
  noData?: NoDataProps;
145
184
  height?: number;
146
185
  showHeader?: boolean;
@@ -149,6 +188,11 @@ export type ChartsProps = {
149
188
  onExpandedChange?: (isExpanded: boolean) => void;
150
189
  chartName?: string;
151
190
  skeleton?: ChartsSkeletonProps;
191
+ legends?: {
192
+ title: string;
193
+ total?: string;
194
+ }[];
195
+ CustomizedDot?: (props: DotItemDotProps) => React.ReactElement<SVGElement>;
152
196
  };
153
197
  export type FlattenedDataPoint = {
154
198
  name: string;
@@ -171,7 +215,10 @@ export type ChartHeaderProps = {
171
215
  export type ChartLegendsProps = {
172
216
  chartContainerRef: React.RefObject<HTMLDivElement>;
173
217
  keys: string[];
174
- colors: string[];
218
+ colors: {
219
+ key: string;
220
+ color: string;
221
+ }[];
175
222
  handleLegendClick: (key: string) => void;
176
223
  handleLegendEnter: (key: string) => void;
177
224
  handleLegendLeave: () => void;
@@ -182,6 +229,10 @@ export type ChartLegendsProps = {
182
229
  stacked?: boolean;
183
230
  isSmallScreen?: boolean;
184
231
  stackedLegendsData?: StackedLegendsDataPoint[];
232
+ legends?: {
233
+ title: string;
234
+ total?: string;
235
+ }[];
185
236
  };
186
237
  export type CustomTooltipProps = TooltipProps<ValueType, NameType> & {
187
238
  hoveredKey: string | null;
@@ -230,7 +281,10 @@ export type SankeyNodeProps = {
230
281
  value?: number;
231
282
  };
232
283
  containerWidth?: number;
233
- nodeColors?: string[];
284
+ nodeColors?: (string | {
285
+ key: string;
286
+ color: string;
287
+ })[];
234
288
  onMouseEnter?: (data: SankeyTooltipData, event: React.MouseEvent) => void;
235
289
  onMouseLeave?: () => void;
236
290
  };
@@ -244,7 +298,10 @@ export type SankeyLinkProps = {
244
298
  linkWidth?: number;
245
299
  index?: number;
246
300
  payload?: SankeyLink;
247
- linkColors?: string[];
301
+ linkColors?: (string | {
302
+ key: string;
303
+ color: string;
304
+ })[];
248
305
  onMouseEnter?: (data: SankeyTooltipData, event: React.MouseEvent) => void;
249
306
  onMouseLeave?: () => void;
250
307
  };
@@ -1 +1,4 @@
1
- export declare const DEFAULT_COLORS: string[];
1
+ export declare const DEFAULT_COLORS: {
2
+ key: string;
3
+ color: string;
4
+ }[];
@@ -0,0 +1,11 @@
1
+ import { default as React } from 'react';
2
+ import { AttachedFile, MenuProps } from '../../main';
3
+ type AttachmentFileProps = {
4
+ attachedFiles: AttachedFile[];
5
+ onFileRemove?: (fileId: string) => void;
6
+ onFileClick?: (file: AttachedFile) => void;
7
+ overflowMenuProps?: Partial<MenuProps>;
8
+ containerRef?: React.RefObject<HTMLDivElement | null>;
9
+ };
10
+ declare const AttachmentFile: ({ attachedFiles, onFileRemove, onFileClick, overflowMenuProps, containerRef, }: AttachmentFileProps) => false | import("react/jsx-runtime").JSX.Element;
11
+ export default AttachmentFile;
@@ -0,0 +1,14 @@
1
+ import { AttachedFile, MenuProps } from '../../main';
2
+ type MobileChatInputProps = {
3
+ value: string;
4
+ onChange?: (value: string) => void;
5
+ slot1?: React.ReactNode;
6
+ placeholder?: string;
7
+ attachedFiles?: AttachedFile[];
8
+ handleAttachClick?: () => void;
9
+ onFileRemove?: (fileId: string) => void;
10
+ onFileClick?: (file: AttachedFile) => void;
11
+ overflowMenuProps?: Partial<MenuProps>;
12
+ };
13
+ declare const MobileChatInput: React.FC<MobileChatInputProps>;
14
+ export default MobileChatInput;
@@ -13,6 +13,52 @@ import { FoundationTokenType } from '../../tokens/theme.token';
13
13
  * - topQueries: Top queries section with header and items
14
14
  */
15
15
  export type ChatInputTokensType = Readonly<{
16
+ backgroundColor: {
17
+ default: CSSObject['backgroundColor'];
18
+ hover: CSSObject['backgroundColor'];
19
+ disabled: CSSObject['backgroundColor'];
20
+ };
21
+ borderRadius: {
22
+ default: CSSObject['borderRadius'];
23
+ focus: CSSObject['borderRadius'];
24
+ };
25
+ border: {
26
+ default: CSSObject['border'];
27
+ focus: CSSObject['border'];
28
+ };
29
+ minHeight: CSSObject['minHeight'];
30
+ maxHeight: CSSObject['maxHeight'];
31
+ gap: CSSObject['gap'];
32
+ text: {
33
+ color: {
34
+ default: CSSObject['color'];
35
+ hover: CSSObject['color'];
36
+ focus: CSSObject['color'];
37
+ disabled: CSSObject['color'];
38
+ };
39
+ fontSize: {
40
+ default: CSSObject['fontSize'];
41
+ hover: CSSObject['fontSize'];
42
+ focus: CSSObject['fontSize'];
43
+ disabled: CSSObject['fontSize'];
44
+ };
45
+ fontWeight: {
46
+ default: CSSObject['fontWeight'];
47
+ hover: CSSObject['fontWeight'];
48
+ focus: CSSObject['fontWeight'];
49
+ disabled: CSSObject['fontWeight'];
50
+ };
51
+ lineHeight: {
52
+ default: CSSObject['lineHeight'];
53
+ hover: CSSObject['lineHeight'];
54
+ focus: CSSObject['lineHeight'];
55
+ };
56
+ };
57
+ resize: CSSObject['resize'];
58
+ overflow: CSSObject['overflow'];
59
+ paddingLeft: CSSObject['paddingLeft'];
60
+ paddingTop: CSSObject['paddingTop'];
61
+ paddingBottom: CSSObject['paddingBottom'];
16
62
  container: {
17
63
  backgroundColor: {
18
64
  default: CSSObject['backgroundColor'];
@@ -30,3 +30,8 @@ export declare const filterDuplicateFiles: (files: File[], attachedFiles: Attach
30
30
  newFiles: File[];
31
31
  duplicateFiles: string[];
32
32
  };
33
+ /**
34
+ * Simple utility to truncate placeholder text if it exceeds the textarea's available width
35
+ * Uses canvas to measure text width and truncates with ellipsis if needed
36
+ */
37
+ export declare const truncatePlaceholder: (textarea: HTMLTextAreaElement | null, placeholder: string | undefined) => string | undefined;
@@ -5,8 +5,9 @@ type DataTablePaginationProps = {
5
5
  pageSizeOptions: number[];
6
6
  isLoading?: boolean;
7
7
  hasData?: boolean;
8
+ isNarrowContainer?: boolean;
8
9
  onPageChange: (page: number) => void;
9
10
  onPageSizeChange: (pageSize: number) => void;
10
11
  };
11
- export declare function DataTablePagination({ currentPage, pageSize, totalRows, pageSizeOptions, isLoading, hasData, onPageChange, onPageSizeChange, }: DataTablePaginationProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function DataTablePagination({ currentPage, pageSize, totalRows, pageSizeOptions, isLoading, hasData, isNarrowContainer, onPageChange, onPageSizeChange, }: DataTablePaginationProps): import("react/jsx-runtime").JSX.Element;
12
13
  export {};
@@ -7,6 +7,7 @@ export type TableFooterProps = {
7
7
  isLoading?: boolean;
8
8
  showSkeleton?: boolean;
9
9
  hasData?: boolean;
10
+ isNarrowContainer?: boolean;
10
11
  onPageChange: (page: number) => void;
11
12
  onPageSizeChange: (size: number) => void;
12
13
  };
@@ -15,6 +15,7 @@ type FilterComponentsProps = {
15
15
  onFilterApplied?: () => void;
16
16
  };
17
17
  export declare const SortOptions: React.FC<{
18
+ column: ColumnDefinition<Record<string, unknown>>;
18
19
  fieldKey: string;
19
20
  tableToken: TableTokenType;
20
21
  sortHandlers: SortHandlers;
@@ -2,6 +2,7 @@ import { SortDirection, FilterType, ColumnDefinition } from '../types';
2
2
  export type SortState = {
3
3
  currentSortField: string | null;
4
4
  currentSortDirection: SortDirection;
5
+ currentSortType?: string;
5
6
  };
6
7
  export type FilterState = {
7
8
  columnSearchValues: Record<string, string>;
@@ -15,11 +16,11 @@ export type ColumnFilterHandler = (field: string, filterType: FilterType, value:
15
16
  max: number;
16
17
  }, operator?: 'endsWith' | 'startsWith' | 'equals' | 'contains' | 'gt' | 'lt' | 'gte' | 'lte' | 'range') => void;
17
18
  export type SortHandlers = {
18
- handleSort: (field: string) => void;
19
- handleSortAscending: (field: string) => void;
20
- handleSortDescending: (field: string) => void;
19
+ handleSort: (field: string, sortType?: string) => void;
20
+ handleSortAscending: (field: string, sortType?: string) => void;
21
+ handleSortDescending: (field: string, sortType?: string) => void;
21
22
  };
22
- export declare const createSortHandlers: (sortState: SortState, onSort: (field: keyof Record<string, unknown>) => void, onSortAscending?: (field: keyof Record<string, unknown>) => void, onSortDescending?: (field: keyof Record<string, unknown>) => void) => SortHandlers;
23
+ export declare const createSortHandlers: (sortState: SortState, onSort: (field: keyof Record<string, unknown>, sortType?: string) => void, onSortAscending?: (field: keyof Record<string, unknown>, sortType?: string) => void, onSortDescending?: (field: keyof Record<string, unknown>, sortType?: string) => void) => SortHandlers;
23
24
  export type FilterHandlers = {
24
25
  handleSearchChange: (fieldKey: string, value: string) => void;
25
26
  handleSelectFilter: (column: ColumnDefinition<Record<string, unknown>>, fieldKey: string, value: string, onColumnFilter?: ColumnFilterHandler) => void;
@@ -34,9 +34,9 @@ export type TableHeaderProps<T extends Record<string, unknown>> = {
34
34
  mobileConfig?: MobileDataTableConfig;
35
35
  mobileOverflowColumns?: ColumnDefinition<T>[];
36
36
  onMobileOverflowClick?: (row: T) => void;
37
- onSort: (field: keyof T) => void;
38
- onSortAscending?: (field: keyof T) => void;
39
- onSortDescending?: (field: keyof T) => void;
37
+ onSort: (field: keyof T, sortType?: string) => void;
38
+ onSortAscending?: (field: keyof T, sortType?: string) => void;
39
+ onSortDescending?: (field: keyof T, sortType?: string) => void;
40
40
  onSelectAll: (checked: boolean | 'indeterminate') => void;
41
41
  onColumnChange: (columns: ColumnDefinition<T>[]) => void;
42
42
  onColumnReorder?: (columns: ColumnDefinition<T>[]) => void;
@@ -126,6 +126,46 @@ export type BaseColumnDefinition<T> = {
126
126
  filterType?: FilterType;
127
127
  showSkeleton?: boolean;
128
128
  skeletonVariant?: SkeletonVariant;
129
+ /**
130
+ * Function to get the field to sort by. Allows sorting by a different field than the column's field.
131
+ * @param sortType - Optional sort type identifier (e.g., 'primary', 'delta', 'absolute')
132
+ * @returns The field name to sort by
133
+ * @example
134
+ * // Sort by delta_total_volume when sortType is 'delta'
135
+ * getSortField: (sortType) => sortType === 'delta' ? 'delta_total_volume' : 'total_volume'
136
+ */
137
+ getSortField?: (sortType?: string) => string;
138
+ /**
139
+ * Enable delta sorting UI in the sorting popover. When true, shows "Value | Delta" sections.
140
+ * Requires getSortField to be provided for delta sorting to work.
141
+ * @default false
142
+ */
143
+ isDeltaSortable?: boolean;
144
+ /**
145
+ * Optional function to format/transform values before comparison during sorting.
146
+ * Useful for custom sorting logic (e.g., extracting numbers from formatted strings like "INR 276").
147
+ * The sortType parameter allows you to apply different formatting logic for delta sorting vs primary sorting.
148
+ * @param value - The raw value from the data row
149
+ * @param row - The entire row data
150
+ * @param column - The column definition
151
+ * @param sortType - Optional sort type identifier (e.g., 'primary', 'delta', 'absolute') - same value passed to getSortField. Use this to determine if delta sorting is active and apply appropriate formatting.
152
+ * @returns The formatted value to use for comparison
153
+ * @example
154
+ * // Different formatting for delta vs primary sorting
155
+ * sortValueFormatter: (value, row, column, sortType) => {
156
+ * // For delta sorting, values might already be numbers
157
+ * if (sortType === 'delta') {
158
+ * return typeof value === 'number' ? value : 0
159
+ * }
160
+ * // For primary sorting, extract numeric value from formatted string
161
+ * if (typeof value === 'string') {
162
+ * const num = parseFloat(value.replace(/[^\d.-]/g, ''))
163
+ * return isNaN(num) ? 0 : num
164
+ * }
165
+ * return value
166
+ * }
167
+ */
168
+ sortValueFormatter?: (value: unknown, row: T, column: ColumnDefinition<T>, sortType?: string) => unknown;
129
169
  };
130
170
  export type ColumnDefinition<T> = (BaseColumnDefinition<T> & {
131
171
  type: ColumnType.TEXT;
@@ -172,6 +212,7 @@ export type ColumnDefinition<T> = (BaseColumnDefinition<T> & {
172
212
  export type SortConfig = {
173
213
  field: string;
174
214
  direction: SortDirection;
215
+ sortType?: string;
175
216
  };
176
217
  export type SearchConfig = {
177
218
  query: string;
@@ -1,6 +1,6 @@
1
1
  import { DirectoryProps } from './types';
2
2
  declare const Directory: {
3
- ({ directoryData, idPrefix, activeItem, onActiveItemChange, defaultActiveItem, }: DirectoryProps): import("react/jsx-runtime").JSX.Element;
3
+ ({ directoryData, idPrefix, activeItem, onActiveItemChange, defaultActiveItem, iconOnlyMode, }: DirectoryProps): import("react/jsx-runtime").JSX.Element;
4
4
  displayName: string;
5
5
  };
6
6
  export default Directory;
@@ -17,5 +17,5 @@ type ActiveItemProviderProps = {
17
17
  defaultActiveItem?: string | null;
18
18
  };
19
19
  export declare const ActiveItemProvider: React.FC<ActiveItemProviderProps>;
20
- declare const NavItem: ({ item, index, onNavigate, itemPath, }: NavItemProps) => import("react/jsx-runtime").JSX.Element;
20
+ declare const NavItem: ({ item, index, onNavigate, itemPath, iconOnlyMode, }: NavItemProps) => import("react/jsx-runtime").JSX.Element;
21
21
  export default NavItem;
@@ -1,3 +1,3 @@
1
1
  import { SectionProps } from './types';
2
- declare const Section: ({ section, sectionIndex, onNavigateBetweenSections, idPrefix, }: SectionProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const Section: ({ section, sectionIndex, onNavigateBetweenSections, idPrefix, iconOnlyMode, }: SectionProps) => import("react/jsx-runtime").JSX.Element;
3
3
  export default Section;
@@ -5,6 +5,7 @@ export type DirectoryProps = {
5
5
  activeItem?: string | null;
6
6
  onActiveItemChange?: (item: string | null) => void;
7
7
  defaultActiveItem?: string | null;
8
+ iconOnlyMode?: boolean;
8
9
  };
9
10
  export type DirectoryData = {
10
11
  label?: string;
@@ -31,10 +32,12 @@ export type SectionProps = {
31
32
  sectionIndex: number;
32
33
  onNavigateBetweenSections: (direction: 'up' | 'down', currentIndex: number) => void;
33
34
  idPrefix?: string;
35
+ iconOnlyMode?: boolean;
34
36
  };
35
37
  export type NavItemProps = {
36
38
  item: NavbarItem;
37
39
  index: number;
38
40
  onNavigate: (direction: 'up' | 'down', currentIndex: number) => void;
39
41
  itemPath?: string;
42
+ iconOnlyMode?: boolean;
40
43
  };
@@ -118,6 +118,11 @@ export type DrawerContentProps = {
118
118
  * ID of the element describing the drawer content
119
119
  */
120
120
  'aria-describedby'?: string;
121
+ /**
122
+ * Whether the drawer should take full screen (full height and width, no border radius)
123
+ * @default false
124
+ */
125
+ fullScreen?: boolean;
121
126
  };
122
127
  export type DrawerHeaderProps = {
123
128
  /**
@@ -7,6 +7,40 @@
7
7
  * @returns Sanitized string value
8
8
  */
9
9
  export declare const sanitizeNumberInput: (inputValue: string, allowNegative?: boolean) => string;
10
+ /**
11
+ * Clamps a numeric value to the nearest valid boundary (min or max)
12
+ * If value is less than min, returns min
13
+ * If value is greater than max, returns max
14
+ * Otherwise returns the value unchanged
15
+ *
16
+ * @param value - The numeric value to clamp
17
+ * @param min - Minimum allowed value
18
+ * @param max - Maximum allowed value
19
+ * @returns Clamped numeric value
20
+ */
21
+ export declare const clampToBoundary: (value: number, min?: number, max?: number) => number;
22
+ /**
23
+ * Increments a value by step, respecting min/max constraints
24
+ *
25
+ * @param currentValue - Current numeric value (can be null)
26
+ * @param step - Step size
27
+ * @param min - Minimum allowed value
28
+ * @param max - Maximum allowed value
29
+ * @param preventNegative - Whether to prevent negative values
30
+ * @returns New incremented value, clamped to boundaries
31
+ */
32
+ export declare const incrementValue: (currentValue: number | null, step?: number, min?: number, max?: number, preventNegative?: boolean) => number;
33
+ /**
34
+ * Decrements a value by step, respecting min/max constraints
35
+ *
36
+ * @param currentValue - Current numeric value (can be null)
37
+ * @param step - Step size
38
+ * @param min - Minimum allowed value
39
+ * @param max - Maximum allowed value
40
+ * @param preventNegative - Whether to prevent negative values
41
+ * @returns New decremented value, clamped to boundaries
42
+ */
43
+ export declare const decrementValue: (currentValue: number | null, step?: number, min?: number, max?: number, preventNegative?: boolean) => number;
10
44
  /**
11
45
  * Clamps and sanitizes the value on blur
12
46
  * Similar to Chakra UI's clampValueOnBlur behavior
@@ -15,9 +49,55 @@ export declare const sanitizeNumberInput: (inputValue: string, allowNegative?: b
15
49
  * @param allowNegative - Whether negative numbers are allowed
16
50
  * @param min - Minimum allowed value
17
51
  * @param max - Maximum allowed value
18
- * @returns Clamped and sanitized number value or empty string
52
+ * @returns Clamped and sanitized value string
19
53
  */
20
54
  export declare const clampValueOnBlur: (inputValue: string, allowNegative?: boolean, min?: number, max?: number) => string;
55
+ /**
56
+ * Checks if a numeric value is outside the valid range
57
+ *
58
+ * @param value - The numeric value to check
59
+ * @param min - Minimum allowed value
60
+ * @param max - Maximum allowed value
61
+ * @returns True if value is outside the valid range
62
+ */
63
+ export declare const isValueOutsideRange: (value: number, min?: number, max?: number) => boolean;
64
+ /**
65
+ * Checks if incrementing would exceed max
66
+ *
67
+ * @param currentValue - Current numeric value (can be null)
68
+ * @param step - Step size
69
+ * @param min - Minimum allowed value
70
+ * @param max - Maximum allowed value
71
+ * @returns True if incrementing would exceed max
72
+ */
73
+ export declare const wouldExceedMax: (currentValue: number | null, step: number, min?: number, max?: number) => boolean;
74
+ /**
75
+ * Checks if decrementing would go below min
76
+ *
77
+ * @param currentValue - Current numeric value (can be null)
78
+ * @param step - Step size
79
+ * @param min - Minimum allowed value
80
+ * @param preventNegative - Whether to prevent negative values
81
+ * @returns True if decrementing would go below min
82
+ */
83
+ export declare const wouldGoBelowMin: (currentValue: number | null, step: number, min?: number, preventNegative?: boolean) => boolean;
84
+ /**
85
+ * Generates an error message for a value outside the valid range
86
+ *
87
+ * @param min - Minimum allowed value
88
+ * @param max - Maximum allowed value
89
+ * @returns Error message string
90
+ */
91
+ export declare const getRangeErrorMessage: (min?: number, max?: number) => string;
92
+ /**
93
+ * Validates if a number value is within min/max bounds
94
+ *
95
+ * @param value - The number value to validate
96
+ * @param min - Minimum allowed value
97
+ * @param max - Maximum allowed value
98
+ * @returns True if value is within bounds, false otherwise
99
+ */
100
+ export declare const isValueInRange: (value: number | null | undefined, min?: number, max?: number) => boolean;
21
101
  /**
22
102
  * Validates if a string represents a valid number
23
103
  *
@@ -10,6 +10,10 @@ declare enum TextAreaState {
10
10
  }
11
11
  export type TextAreaTokensType = {
12
12
  gap: CSSObject['gap'];
13
+ placeholder?: {
14
+ color?: CSSObject['color'];
15
+ fontWeight?: CSSObject['fontWeight'];
16
+ };
13
17
  label: {
14
18
  fontSize: CSSObject['fontSize'];
15
19
  fontWeight: CSSObject['fontWeight'];
@@ -1,3 +1,3 @@
1
1
  import { MultiSelectProps } from './types';
2
- declare const MultiSelect: ({ selectedValues, onChange, items, label, sublabel, disabled, helpIconHintText, name, required, variant, selectionTagType, slot, hintText, placeholder, size, enableSearch, searchPlaceholder, enableSelectAll, selectAllText, maxSelections, customTrigger, useDrawerOnMobile, minMenuWidth, maxMenuWidth, maxMenuHeight, alignment, side, sideOffset, alignOffset, inline, onBlur, onFocus, error, errorMessage, showActionButtons, primaryAction, secondaryAction, showItemDividers, showHeaderBorder, fullWidth, enableVirtualization, virtualListItemHeight, virtualListOverscan, itemsToRender, onEndReached, endReachedThreshold, hasMore, loadingComponent, skeleton, maxTriggerWidth, minTriggerWidth, allowCustomValue, customValueLabel, }: MultiSelectProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const MultiSelect: ({ selectedValues, onChange, items, label, sublabel, disabled, helpIconHintText, name, required, variant, selectionTagType, slot, hintText, placeholder, size, enableSearch, searchPlaceholder, enableSelectAll, selectAllText, maxSelections, customTrigger, useDrawerOnMobile, minMenuWidth, maxMenuWidth, maxMenuHeight, alignment, side, sideOffset, alignOffset, inline, onBlur, onFocus, error, errorMessage, showActionButtons, primaryAction, secondaryAction, showItemDividers, showHeaderBorder, fullWidth, enableVirtualization, virtualListItemHeight, virtualListOverscan, itemsToRender, onEndReached, endReachedThreshold, hasMore, loadingComponent, skeleton, maxTriggerWidth, minTriggerWidth, allowCustomValue, customValueLabel, showClearButton, onClearAllClick, }: MultiSelectProps) => import("react/jsx-runtime").JSX.Element;
3
3
  export default MultiSelect;
@@ -123,6 +123,8 @@ export type MultiSelectProps = {
123
123
  skeleton?: MultiSelectSkeletonProps;
124
124
  allowCustomValue?: boolean;
125
125
  customValueLabel?: string;
126
+ showClearButton?: boolean;
127
+ onClearAllClick?: () => void;
126
128
  };
127
129
  export type MultiSelectMenuProps = {
128
130
  items: MultiSelectMenuGroupType[];