@juspay/blend-design-system 0.0.37-beta.0 → 0.0.37-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/dist/components/BreadcrumbV2/BreadcrumbV2.d.ts +3 -0
  2. package/dist/components/BreadcrumbV2/BreadcrumbV2Icon.d.ts +6 -0
  3. package/dist/components/BreadcrumbV2/BreadcrumbV2Item.d.ts +6 -0
  4. package/dist/components/BreadcrumbV2/BreadcrumbV2List.d.ts +15 -0
  5. package/dist/components/BreadcrumbV2/BreadcrumbV2OverflowMenu.d.ts +11 -0
  6. package/dist/components/BreadcrumbV2/BreadcrumbV2Page.d.ts +9 -0
  7. package/dist/components/BreadcrumbV2/BreadcrumbV2Separator.d.ts +6 -0
  8. package/dist/components/BreadcrumbV2/breadcrumbV2.dark.tokens.d.ts +3 -0
  9. package/dist/components/BreadcrumbV2/breadcrumbV2.light.tokens.d.ts +3 -0
  10. package/dist/components/BreadcrumbV2/breadcrumbV2.tokens.d.ts +31 -0
  11. package/dist/components/BreadcrumbV2/breadcrumbV2.types.d.ts +46 -0
  12. package/dist/components/BreadcrumbV2/index.d.ts +3 -0
  13. package/dist/components/BreadcrumbV2/utils.d.ts +27 -0
  14. package/dist/components/CodeBlock/CodeBlockDiffView/CodeBlockDiffView.d.ts +6 -0
  15. package/dist/components/CodeBlock/CodeBlockDiffView/types.d.ts +16 -0
  16. package/dist/components/CodeBlock/CodeBlockDiffView/utils.d.ts +4 -0
  17. package/dist/components/CodeBlock/CodeBlockLineParts.d.ts +56 -0
  18. package/dist/components/CodeBlock/codeBlock.token.d.ts +18 -0
  19. package/dist/components/CodeBlock/types.d.ts +31 -0
  20. package/dist/components/CodeBlock/utils.d.ts +16 -1
  21. package/dist/components/CodeEditorV2/CodeEditorV2.d.ts +28 -0
  22. package/dist/components/CodeEditorV2/CodeEditorV2Header.d.ts +2 -0
  23. package/dist/components/CodeEditorV2/MonacoEditor/MonacoEditorWrapper.d.ts +2 -0
  24. package/dist/components/CodeEditorV2/MonacoEditor/monacoTheme.d.ts +3 -0
  25. package/dist/components/CodeEditorV2/codeEditorV2.dark.tokens.d.ts +3 -0
  26. package/dist/components/CodeEditorV2/codeEditorV2.light.token.d.ts +3 -0
  27. package/dist/components/CodeEditorV2/codeEditorV2.tokens.d.ts +94 -0
  28. package/dist/components/CodeEditorV2/codeEditorV2.types.d.ts +112 -0
  29. package/dist/components/CodeEditorV2/index.d.ts +3 -0
  30. package/dist/components/CodeEditorV2/utils.d.ts +78 -0
  31. package/dist/components/DataTable/TableBody/types.d.ts +2 -0
  32. package/dist/components/DataTable/TableHeader/FilterComponents.d.ts +7 -0
  33. package/dist/components/DataTable/TableHeader/types.d.ts +5 -0
  34. package/dist/components/DataTable/TableHeader/utils.d.ts +2 -0
  35. package/dist/components/DataTable/types.d.ts +6 -0
  36. package/dist/components/DrawerV2/index.d.ts +3 -0
  37. package/dist/components/DrawerV2/types.d.ts +26 -0
  38. package/dist/components/InputsV2/MultiValueInputV2/MultiValueInputV2.d.ts +27 -0
  39. package/dist/components/InputsV2/MultiValueInputV2/MultiValueInputV2.dark.tokens.d.ts +3 -0
  40. package/dist/components/InputsV2/MultiValueInputV2/MultiValueInputV2.light.tokens.d.ts +3 -0
  41. package/dist/components/InputsV2/MultiValueInputV2/MultiValueInputV2.tokens.d.ts +74 -0
  42. package/dist/components/InputsV2/MultiValueInputV2/MultiValueV2.types.d.ts +26 -0
  43. package/dist/components/InputsV2/MultiValueInputV2/index.d.ts +3 -0
  44. package/dist/components/InputsV2/TextInputV2/TextInputV2.d.ts +1 -4
  45. package/dist/components/InputsV2/TextInputV2/TextInputV2.types.d.ts +1 -4
  46. package/dist/components/InputsV2/inputV2.tokens.d.ts +90 -0
  47. package/dist/components/InputsV2/utils/FloatingLabelsV2/FloatingLabelsV2.d.ts +1 -20
  48. package/dist/components/InputsV2/utils/InputFooter/InputFooterV2.d.ts +2 -30
  49. package/dist/components/InputsV2/utils/InputLabels/InputLabelsV2.d.ts +2 -46
  50. package/dist/components/MenuV2/MenuV2.d.ts +4 -0
  51. package/dist/components/MenuV2/MenuV2Content.d.ts +29 -0
  52. package/dist/components/MenuV2/MenuV2Item.d.ts +9 -0
  53. package/dist/components/MenuV2/MenuV2SubMenu.d.ts +12 -0
  54. package/dist/components/MenuV2/index.d.ts +7 -0
  55. package/dist/components/MenuV2/menuV2.animations.d.ts +2 -0
  56. package/dist/components/MenuV2/menuV2.dark.tokens.d.ts +3 -0
  57. package/dist/components/MenuV2/menuV2.light.tokens.d.ts +3 -0
  58. package/dist/components/MenuV2/menuV2.tokens.d.ts +92 -0
  59. package/dist/components/MenuV2/menuV2.types.d.ts +86 -0
  60. package/dist/components/MenuV2/menuV2.utils.d.ts +26 -0
  61. package/dist/components/Modal/modal.tokens.d.ts +3 -0
  62. package/dist/components/ProgressBarV2/CircularProgressBarV2.d.ts +2 -0
  63. package/dist/components/ProgressBarV2/LinearProgressBarV2.d.ts +2 -0
  64. package/dist/components/ProgressBarV2/ProgressBarV2.d.ts +11 -0
  65. package/dist/components/ProgressBarV2/index.d.ts +3 -0
  66. package/dist/components/ProgressBarV2/progressBarV2.dark.tokens.d.ts +3 -0
  67. package/dist/components/ProgressBarV2/progressBarV2.light.tokens.d.ts +3 -0
  68. package/dist/components/ProgressBarV2/progressBarV2.tokens.d.ts +63 -0
  69. package/dist/components/ProgressBarV2/progressBarV2.types.d.ts +45 -0
  70. package/dist/components/StatCardV2/StatCardV2.chartConfig.d.ts +2 -0
  71. package/dist/components/StatCardV2/StatCardV2.d.ts +16 -0
  72. package/dist/components/StatCardV2/StatCardV2Change.d.ts +3 -0
  73. package/dist/components/StatCardV2/StatCardV2NoData.d.ts +10 -0
  74. package/dist/components/StatCardV2/StatCardV2Skeleton.d.ts +7 -0
  75. package/dist/components/StatCardV2/StatCardV2Subtitle.d.ts +3 -0
  76. package/dist/components/StatCardV2/StatCardV2Title.d.ts +3 -0
  77. package/dist/components/StatCardV2/StatCardV2Value.d.ts +11 -0
  78. package/dist/components/StatCardV2/index.d.ts +3 -0
  79. package/dist/components/StatCardV2/statcardV2.dark.tokens.d.ts +3 -0
  80. package/dist/components/StatCardV2/statcardV2.light.tokens.d.ts +3 -0
  81. package/dist/components/StatCardV2/statcardV2.tokens.d.ts +81 -0
  82. package/dist/components/StatCardV2/statcardV2.types.d.ts +78 -0
  83. package/dist/components/StatCardV2/utils.d.ts +7 -0
  84. package/dist/components/TabsV2/StyledTabsV2.d.ts +26 -0
  85. package/dist/components/TabsV2/TabsV2.d.ts +15 -0
  86. package/dist/components/TabsV2/TabsV2Content.d.ts +2 -0
  87. package/dist/components/TabsV2/TabsV2List.d.ts +14 -0
  88. package/dist/components/TabsV2/TabsV2Trigger.d.ts +19 -0
  89. package/dist/components/TabsV2/index.d.ts +8 -0
  90. package/dist/components/TabsV2/tabsV2.context.d.ts +21 -0
  91. package/dist/components/TabsV2/tabsV2.dark.tokens.d.ts +3 -0
  92. package/dist/components/TabsV2/tabsV2.light.tokens.d.ts +3 -0
  93. package/dist/components/TabsV2/tabsV2.tokens.d.ts +97 -0
  94. package/dist/components/TabsV2/tabsV2.types.d.ts +68 -0
  95. package/dist/components/TabsV2/tabsV2.utils.d.ts +18 -0
  96. package/dist/components/common/virtualViewport.d.ts +12 -0
  97. package/dist/context/ThemeContext.d.ts +14 -0
  98. package/dist/context/useComponentToken.d.ts +8 -1
  99. package/dist/main.d.ts +1 -0
  100. package/dist/main.js +43034 -37077
  101. package/dist/tokens/font.tokens.d.ts +2 -0
  102. package/dist/tokens/zIndex.tokens.d.ts +1 -0
  103. package/package.json +2 -1
@@ -0,0 +1,78 @@
1
+ import { Dispatch, MutableRefObject, SetStateAction } from 'react';
2
+ import { CodeEditorV2Variant } from './codeEditorV2.types';
3
+ import { CodeEditorV2Tokens } from './codeEditorV2.tokens';
4
+ import { CSSObject } from 'styled-components';
5
+ import type * as Monaco from 'monaco-editor';
6
+ /** Delay before focusing the editor after mount (ms). */
7
+ export declare const EDITOR_FOCUS_DELAY_MS = 100;
8
+ /** How long the “copied” state stays visible after copy (ms). */
9
+ export declare const COPY_FEEDBACK_RESET_MS = 2000;
10
+ /** Minimum Monaco vertical/horizontal scrollbar thickness (px). */
11
+ export declare const MIN_SCROLLBAR_SIZE = 8;
12
+ /** Ref must be stable across renders (e.g. from `useRef`) so timeout ids persist. */
13
+ export type CopyFeedbackTimeoutRef = MutableRefObject<ReturnType<typeof setTimeout> | null>;
14
+ /**
15
+ * Writes `code` to the clipboard, sets copied feedback to true, and schedules
16
+ * resetting it after `resetMs`. Clears any previous reset timeout on the same ref.
17
+ */
18
+ export declare const copyToClipboardWithTemporaryFeedback: (code: string, setIsCopied: Dispatch<SetStateAction<boolean>>, feedbackTimeoutRef: CopyFeedbackTimeoutRef, resetMs?: number) => void;
19
+ export declare const shouldShowLineNumbers: (showLineNumbers: boolean | undefined, variant: CodeEditorV2Variant) => boolean;
20
+ /** True when Monaco should render the diff editor (either explicit `diff` or `variant="diff"`). */
21
+ export declare const isDiffEditorMode: (diff: boolean | undefined, variant: CodeEditorV2Variant) => boolean;
22
+ /**
23
+ * Calculates container styles with min/max height
24
+ */
25
+ export declare const getContainerStyles: (minHeight?: string | number, maxHeight?: string | number) => React.CSSProperties;
26
+ export declare const toCssValue: (value?: string | number) => string | undefined;
27
+ export declare const toNumericValue: (value: string | number | undefined, fallback?: number) => number;
28
+ export type EditorMetrics = {
29
+ fontSize: number;
30
+ lineHeight: number;
31
+ verticalPadding: number;
32
+ codePaddingLeft: number;
33
+ gutterWidth: number;
34
+ lineDecorationsWidth: number;
35
+ lineNumbersMinChars: number;
36
+ scrollbarSize: number;
37
+ };
38
+ export declare function getEditorMetrics(tokens: CodeEditorV2Tokens, showLineNumbers: boolean): EditorMetrics;
39
+ export declare function getContainerDimensions(height: CSSObject['height'] | undefined, minHeight: CSSObject['minHeight'], maxHeight?: CSSObject['maxHeight']): {
40
+ minHeight?: CSSObject['minHeight'];
41
+ maxHeight?: CSSObject['maxHeight'];
42
+ height?: CSSObject['height'];
43
+ };
44
+ export declare function getPlaceholderPosition(metrics: EditorMetrics, showLineNumbers: boolean): {
45
+ top: string;
46
+ left: string;
47
+ };
48
+ export declare function configureLanguageDefaults(monaco: typeof import('monaco-editor')): void;
49
+ /** Options applied on editor mount (full set) */
50
+ export declare function getMountEditorOptions(metrics: EditorMetrics, tokens: CodeEditorV2Tokens, showLineNumbers: boolean, readOnly: boolean, disabled: boolean): Monaco.editor.IStandaloneEditorConstructionOptions;
51
+ /** Options applied when props change (subset) */
52
+ export declare function getUpdateEditorOptions(metrics: EditorMetrics, showLineNumbers: boolean, readOnly: boolean, disabled: boolean): Monaco.editor.IEditorOptions;
53
+ export declare function getDiffEditorOptions(metrics: EditorMetrics, tokens: CodeEditorV2Tokens, showLineNumbers: boolean, renderSideBySide: boolean, readOnly: boolean, disabled: boolean, isDiffUnchangedCollapsed: boolean, diffContextLines: number, diffExpandChunk: number): Monaco.editor.IDiffEditorConstructionOptions;
54
+ export declare function getInitialEditorOptions(metrics: EditorMetrics, tokens: CodeEditorV2Tokens, showLineNumbers: boolean, readOnly: boolean, disabled: boolean): Monaco.editor.IStandaloneEditorConstructionOptions;
55
+ export declare const backupColor: {
56
+ body: {
57
+ backgroundColor: string;
58
+ gutter: {
59
+ color: string;
60
+ backgroundColor: {
61
+ added: string;
62
+ removed: string;
63
+ unchanged: string;
64
+ };
65
+ borderColor: {
66
+ added: string;
67
+ removed: string;
68
+ unchanged: string;
69
+ };
70
+ };
71
+ highlightedLine: {
72
+ backgroundColor: string;
73
+ };
74
+ };
75
+ header: {
76
+ backgroundColor: string;
77
+ };
78
+ };
@@ -16,6 +16,8 @@ export type TableBodyProps<T extends Record<string, unknown>> = {
16
16
  enableRowSelection?: boolean;
17
17
  rowActions?: RowActionsConfig<T>;
18
18
  columnFreeze?: number;
19
+ /** Freeze last N columns on the right side (sticky right). */
20
+ columnFreezeRight?: number;
19
21
  /** Measured pixel widths of frozen columns (from header ResizeObserver). Used for sticky left offset. */
20
22
  measuredFrozenWidths?: number[];
21
23
  mobileConfig?: MobileDataTableConfig;
@@ -11,6 +11,11 @@ type FilterComponentsProps = {
11
11
  filterState: FilterState;
12
12
  sortState: SortState;
13
13
  onColumnFilter?: ColumnFilterHandler;
14
+ onRenameHeader?: () => void;
15
+ onOperations?: () => void;
16
+ onInsertLeft?: () => void;
17
+ onInsertRight?: () => void;
18
+ onDeleteColumn?: () => void;
14
19
  onPopoverClose?: () => void;
15
20
  onFilterApplied?: () => void;
16
21
  };
@@ -20,6 +25,8 @@ export declare const SortOptions: React.FC<{
20
25
  tableToken: TableTokenType;
21
26
  sortHandlers: SortHandlers;
22
27
  sortState: SortState;
28
+ nestedSortOpen: boolean;
29
+ setNestedSortOpen: (open: boolean) => void;
23
30
  onFilterApplied?: () => void;
24
31
  onPopoverClose?: () => void;
25
32
  }>;
@@ -31,6 +31,7 @@ export type TableHeaderProps<T extends Record<string, unknown>> = {
31
31
  rowActions?: RowActionsConfig<T>;
32
32
  data?: T[];
33
33
  columnFreeze?: number;
34
+ columnFreezeRight?: number;
34
35
  mobileConfig?: MobileDataTableConfig;
35
36
  mobileOverflowColumns?: ColumnDefinition<T>[];
36
37
  onMobileOverflowClick?: (row: T) => void;
@@ -54,6 +55,10 @@ export type TableHeaderProps<T extends Record<string, unknown>> = {
54
55
  operator?: string;
55
56
  }>;
56
57
  onHeaderChange?: (field: keyof T, newHeader: string) => void;
58
+ onOperations?: (field: keyof T) => void;
59
+ onInsertLeft?: (field: keyof T) => void;
60
+ onInsertRight?: (field: keyof T) => void;
61
+ onDeleteColumn?: (field: keyof T) => void;
57
62
  getColumnWidth: (column: ColumnDefinition<T>, index: number) => React.CSSProperties;
58
63
  /** Measured pixel widths of frozen columns (from ResizeObserver). Used for sticky left offset. */
59
64
  measuredFrozenWidths?: number[];
@@ -18,6 +18,8 @@ export declare const filterItemsBySearch: (items: Array<{
18
18
  }>;
19
19
  export declare const getPopoverAlignment: (index: number, totalColumns: number) => "start" | "center" | "end";
20
20
  export declare function getFrozenLeftOffset(index: number, _columnFreeze: number, enableRowExpansion: boolean, enableRowSelection: boolean, visibleColumns: ColumnDefinition<Record<string, unknown>>[], getColumnWidth: (column: ColumnDefinition<Record<string, unknown>>, i: number) => React.CSSProperties, measuredFrozenWidths?: number[]): number;
21
+ export declare function getFrozenRightOffset(index: number, columnFreezeRight: number, visibleColumns: ColumnDefinition<Record<string, unknown>>[], getColumnWidth: (column: ColumnDefinition<Record<string, unknown>>, i: number) => React.CSSProperties, rightStickyOffsetPx: number): number;
22
+ export declare const getFrozenRightColumnStyles: (index: number, columnFreezeRight: number, visibleColumns: ColumnDefinition<Record<string, unknown>>[], getColumnWidth: (column: ColumnDefinition<Record<string, unknown>>, index: number) => React.CSSProperties, backgroundColor: string, rightStickyOffsetPx: number) => {};
21
23
  export declare const getFrozenColumnStyles: (index: number, columnFreeze: number, enableRowExpansion: boolean, enableRowSelection: boolean, visibleColumns: ColumnDefinition<Record<string, unknown>>[], getColumnWidth: (column: ColumnDefinition<Record<string, unknown>>, index: number) => React.CSSProperties, backgroundColor: string, measuredFrozenWidths?: number[]) => {
22
24
  padding: string;
23
25
  } | {
@@ -289,6 +289,8 @@ export type DataTableProps<T extends Record<string, unknown>> = {
289
289
  onFilterChange?: (filters: ColumnFilter[]) => void;
290
290
  onAdvancedFiltersChange?: (filters: unknown[]) => void;
291
291
  columnFreeze?: number;
292
+ /** Freeze last N columns on the right side (sticky right). */
293
+ columnFreezeRight?: number;
292
294
  enableColumnManager?: boolean;
293
295
  enableColumnReordering?: boolean;
294
296
  onColumnReorder?: (columns: ColumnDefinition<T>[]) => void;
@@ -340,6 +342,10 @@ export type DataTableProps<T extends Record<string, unknown>> = {
340
342
  onRowSelectionChange?: (selectedRowIds: string[], isSelected: boolean, rowId: string, rowData: T) => void;
341
343
  bulkActions?: BulkActionsConfig;
342
344
  rowActions?: RowActionsConfig<T>;
345
+ onOperations?: (field: keyof T) => void;
346
+ onInsertLeft?: (field: keyof T) => void;
347
+ onInsertRight?: (field: keyof T) => void;
348
+ onDeleteColumn?: (field: keyof T) => void;
343
349
  getRowStyle?: (row: T, index: number) => React.CSSProperties;
344
350
  tableBodyHeight?: string | number;
345
351
  mobileColumnsToShow?: number;
@@ -0,0 +1,3 @@
1
+ export { default as DrawerV2 } from './DrawerV2';
2
+ export { DrawerV2Body, DrawerV2Close, DrawerV2Content, DrawerV2Description, DrawerV2Footer, DrawerV2Header, DrawerV2NestedRoot, DrawerV2Overlay, DrawerV2Portal, DrawerV2Title, DrawerV2Trigger, } from './DrawerV2';
3
+ export * from './types';
@@ -0,0 +1,26 @@
1
+ import { default as React } from 'react';
2
+ import { Drawer as VaulDrawer } from 'vaul';
3
+ export type DrawerV2RootRef = unknown;
4
+ export type DrawerV2RootProps = React.ComponentPropsWithoutRef<typeof VaulDrawer.Root>;
5
+ export type DrawerV2NestedRootRef = unknown;
6
+ export type DrawerV2NestedRootProps = React.ComponentPropsWithoutRef<typeof VaulDrawer.NestedRoot>;
7
+ export type DrawerV2TriggerRef = React.ComponentRef<typeof VaulDrawer.Trigger>;
8
+ export type DrawerV2TriggerProps = React.ComponentPropsWithoutRef<typeof VaulDrawer.Trigger>;
9
+ export type DrawerV2PortalRef = unknown;
10
+ export type DrawerV2PortalProps = React.ComponentPropsWithoutRef<typeof VaulDrawer.Portal>;
11
+ export type DrawerV2OverlayRef = React.ElementRef<typeof VaulDrawer.Overlay>;
12
+ export type DrawerV2OverlayProps = React.ComponentPropsWithoutRef<typeof VaulDrawer.Overlay>;
13
+ export type DrawerV2ContentRef = React.ComponentRef<typeof VaulDrawer.Content>;
14
+ export type DrawerV2ContentProps = React.ComponentPropsWithoutRef<typeof VaulDrawer.Content>;
15
+ export type DrawerV2TitleRef = React.ComponentRef<typeof VaulDrawer.Title>;
16
+ export type DrawerV2TitleProps = React.ComponentPropsWithoutRef<typeof VaulDrawer.Title>;
17
+ export type DrawerV2DescriptionRef = React.ComponentRef<typeof VaulDrawer.Description>;
18
+ export type DrawerV2DescriptionProps = React.ComponentPropsWithoutRef<typeof VaulDrawer.Description>;
19
+ export type DrawerV2CloseRef = React.ComponentRef<typeof VaulDrawer.Close>;
20
+ export type DrawerV2CloseProps = React.ComponentPropsWithoutRef<typeof VaulDrawer.Close>;
21
+ export type DrawerV2HeaderRef = HTMLDivElement;
22
+ export type DrawerV2HeaderProps = React.HTMLAttributes<HTMLDivElement>;
23
+ export type DrawerV2BodyRef = HTMLDivElement;
24
+ export type DrawerV2BodyProps = React.HTMLAttributes<HTMLDivElement>;
25
+ export type DrawerV2FooterRef = HTMLDivElement;
26
+ export type DrawerV2FooterProps = React.HTMLAttributes<HTMLDivElement>;
@@ -0,0 +1,27 @@
1
+ import { TagShape, TagSize, TagVariant } from '../../Tags';
2
+ import { InputSizeV2 } from '../inputV2.types';
3
+ declare const MultiValueInputV2: import('react').ForwardRefExoticComponent<{
4
+ value?: string;
5
+ label?: string;
6
+ sublabel?: string;
7
+ helpIconHintText?: string;
8
+ error?: boolean;
9
+ errorMessage?: string;
10
+ hintText?: string;
11
+ disabled?: boolean;
12
+ tags?: {
13
+ value: string[];
14
+ size: TagSize;
15
+ shape: TagShape;
16
+ variant: TagVariant;
17
+ };
18
+ onChange?: (value: string) => void;
19
+ onTagAdd?: (tag: string) => void;
20
+ onTagRemove?: (tag: string) => void;
21
+ size?: InputSizeV2;
22
+ onFocus?: (e: React.FocusEvent<HTMLInputElement>) => void;
23
+ onBlur?: (e: React.FocusEvent<HTMLInputElement>) => void;
24
+ leftSlot?: React.ReactNode;
25
+ rightSlot?: React.ReactNode;
26
+ } & Omit<import('react').InputHTMLAttributes<HTMLInputElement>, "size" | "style" | "className" | "value" | "onFocus" | "onBlur" | "onChange"> & import('react').RefAttributes<HTMLInputElement>>;
27
+ export default MultiValueInputV2;
@@ -0,0 +1,3 @@
1
+ import { FoundationTokenType } from '../../../tokens/theme.token';
2
+ import { ResponsiveMultiValueInputV2Tokens } from './MultiValueInputV2.tokens';
3
+ export declare const getMultiValueInputV2DarkTokens: (foundationTokens: FoundationTokenType) => ResponsiveMultiValueInputV2Tokens;
@@ -0,0 +1,3 @@
1
+ import { FoundationTokenType } from '../../../tokens/theme.token';
2
+ import { ResponsiveMultiValueInputV2Tokens } from './MultiValueInputV2.tokens';
3
+ export declare const getMultiValueInputV2LightTokens: (foundationTokens: FoundationTokenType) => ResponsiveMultiValueInputV2Tokens;
@@ -0,0 +1,74 @@
1
+ import { CSSObject } from 'styled-components';
2
+ import { InputSizeV2, InputStateV2 } from '../inputV2.types';
3
+ import { BreakpointType } from '../../../breakpoints/breakPoints';
4
+ import { Theme } from '../../../context/theme.enum';
5
+ import { FoundationTokenType } from '../../../tokens/theme.token';
6
+ import { InputFooterV2Tokens, InputLabelsV2Tokens } from '../inputV2.tokens';
7
+ export type MultiValueInputV2TokensType = {
8
+ gap: CSSObject['gap'];
9
+ borderRadius: CSSObject['borderRadius'];
10
+ topContainer: InputLabelsV2Tokens;
11
+ inputContainer: {
12
+ offSet: number;
13
+ fontSize: {
14
+ [key in InputSizeV2]: CSSObject['fontSize'];
15
+ };
16
+ fontWeight: {
17
+ [key in InputSizeV2]: CSSObject['fontWeight'];
18
+ };
19
+ gap: CSSObject['gap'];
20
+ borderRadius?: CSSObject['borderRadius'];
21
+ boxShadow: {
22
+ [key in InputStateV2]: CSSObject['boxShadow'];
23
+ };
24
+ paddingTop: {
25
+ [key in InputSizeV2]: CSSObject['paddingTop'];
26
+ };
27
+ paddingRight: {
28
+ [key in InputSizeV2]: CSSObject['paddingRight'];
29
+ };
30
+ paddingBottom: {
31
+ [key in InputSizeV2]: CSSObject['paddingBottom'];
32
+ };
33
+ paddingLeft: {
34
+ [key in InputSizeV2]: CSSObject['paddingLeft'];
35
+ };
36
+ border: {
37
+ [key in InputStateV2]: CSSObject['border'];
38
+ };
39
+ color: {
40
+ [key in InputStateV2]: CSSObject['color'];
41
+ };
42
+ placeholderColor: {
43
+ default: CSSObject['color'];
44
+ focus: CSSObject['color'];
45
+ hover: CSSObject['color'];
46
+ error: CSSObject['color'];
47
+ disabled: CSSObject['color'];
48
+ };
49
+ backgroundColor: {
50
+ [key in InputStateV2]: CSSObject['backgroundColor'];
51
+ };
52
+ closeButton: {
53
+ width: CSSObject['width'];
54
+ };
55
+ leftSlot: {
56
+ width: CSSObject['width'];
57
+ height: CSSObject['height'];
58
+ };
59
+ rightSlot: {
60
+ width: CSSObject['width'];
61
+ height: CSSObject['height'];
62
+ };
63
+ /** Vertical alignment for slot row vs tags (`top` / `marginTop` in layout) */
64
+ slotAlignTop: {
65
+ withTags: CSSObject['top'];
66
+ withoutTags: CSSObject['top'];
67
+ };
68
+ };
69
+ bottomContainer: InputFooterV2Tokens;
70
+ };
71
+ export type ResponsiveMultiValueInputV2Tokens = {
72
+ [key in keyof BreakpointType]: MultiValueInputV2TokensType;
73
+ };
74
+ export declare const getMultiValueInputV2Tokens: (foundationToken: FoundationTokenType, theme?: Theme | string) => ResponsiveMultiValueInputV2Tokens;
@@ -0,0 +1,26 @@
1
+ import { TagShape, TagSize, TagVariant } from '../../Tags/types';
2
+ import { InputSizeV2 } from '../inputV2.types';
3
+ export type MultiValueInputV2Props = {
4
+ value?: string;
5
+ label?: string;
6
+ sublabel?: string;
7
+ helpIconHintText?: string;
8
+ error?: boolean;
9
+ errorMessage?: string;
10
+ hintText?: string;
11
+ disabled?: boolean;
12
+ tags?: {
13
+ value: string[];
14
+ size: TagSize;
15
+ shape: TagShape;
16
+ variant: TagVariant;
17
+ };
18
+ onChange?: (value: string) => void;
19
+ onTagAdd?: (tag: string) => void;
20
+ onTagRemove?: (tag: string) => void;
21
+ size?: InputSizeV2;
22
+ onFocus?: (e: React.FocusEvent<HTMLInputElement>) => void;
23
+ onBlur?: (e: React.FocusEvent<HTMLInputElement>) => void;
24
+ leftSlot?: React.ReactNode;
25
+ rightSlot?: React.ReactNode;
26
+ } & Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'style' | 'className' | 'onChange' | 'value' | 'onFocus' | 'onBlur'>;
@@ -0,0 +1,3 @@
1
+ export { default as MultiValueInputV2 } from './MultiValueInputV2';
2
+ export * from './MultiValueInputV2.tokens';
3
+ export * from './MultiValueV2.types';
@@ -9,10 +9,7 @@ declare const TextInputV2: import('react').ForwardRefExoticComponent<{
9
9
  message?: string;
10
10
  };
11
11
  hintText?: string;
12
- helpIconText?: {
13
- text: string;
14
- onClick?: () => void;
15
- };
12
+ helpIconText?: string;
16
13
  leftSlot?: {
17
14
  slot: import('react').ReactElement;
18
15
  maxHeight?: import('styled-components').CSSObject["maxHeight"];
@@ -11,10 +11,7 @@ export type TextInputV2Props = {
11
11
  message?: string;
12
12
  };
13
13
  hintText?: string;
14
- helpIconText?: {
15
- text: string;
16
- onClick?: () => void;
17
- };
14
+ helpIconText?: string;
18
15
  leftSlot?: {
19
16
  slot: ReactElement;
20
17
  maxHeight?: CSSObject['maxHeight'];
@@ -0,0 +1,90 @@
1
+ import { CSSObject } from 'styled-components';
2
+ import { InputSizeV2, InputStateV2 } from './inputV2.types';
3
+ export type FloatingLabelsV2Tokens = {
4
+ placeholder: {
5
+ color: {
6
+ [key in InputStateV2]: CSSObject['color'];
7
+ };
8
+ fontSize: {
9
+ [key in InputSizeV2]: CSSObject['fontSize'];
10
+ };
11
+ fontWeight: {
12
+ [key in InputSizeV2]: CSSObject['fontWeight'];
13
+ };
14
+ lineHeight: {
15
+ [key in InputSizeV2]: CSSObject['lineHeight'];
16
+ };
17
+ };
18
+ required: {
19
+ color: CSSObject['color'];
20
+ };
21
+ };
22
+ export type InputLabelsV2Tokens = {
23
+ label: {
24
+ fontSize: {
25
+ [key in InputSizeV2]: CSSObject['fontSize'];
26
+ };
27
+ fontWeight: {
28
+ [key in InputSizeV2]: CSSObject['fontWeight'];
29
+ };
30
+ lineHeight: {
31
+ [key in InputSizeV2]: CSSObject['lineHeight'];
32
+ };
33
+ color: {
34
+ [key in InputStateV2]: CSSObject['color'];
35
+ };
36
+ };
37
+ subLabel: {
38
+ fontSize: {
39
+ [key in InputSizeV2]: CSSObject['fontSize'];
40
+ };
41
+ fontWeight: {
42
+ [key in InputSizeV2]: CSSObject['fontWeight'];
43
+ };
44
+ lineHeight: {
45
+ [key in InputSizeV2]: CSSObject['lineHeight'];
46
+ };
47
+ color: {
48
+ [key in InputStateV2]: CSSObject['color'];
49
+ };
50
+ };
51
+ required: {
52
+ color: CSSObject['color'];
53
+ };
54
+ helpIcon: {
55
+ width: {
56
+ [key in InputSizeV2]: CSSObject['width'];
57
+ };
58
+ color: {
59
+ [key in InputStateV2]: CSSObject['color'];
60
+ };
61
+ };
62
+ };
63
+ export type InputFooterV2Tokens = {
64
+ hintText: {
65
+ fontSize: {
66
+ [key in InputSizeV2]: CSSObject['fontSize'];
67
+ };
68
+ fontWeight: {
69
+ [key in InputSizeV2]: CSSObject['fontWeight'];
70
+ };
71
+ lineHeight: {
72
+ [key in InputSizeV2]: CSSObject['lineHeight'];
73
+ };
74
+ color: {
75
+ [key in InputStateV2]: CSSObject['color'];
76
+ };
77
+ };
78
+ errorMessage: {
79
+ fontSize: {
80
+ [key in InputSizeV2]: CSSObject['fontSize'];
81
+ };
82
+ fontWeight: {
83
+ [key in InputSizeV2]: CSSObject['fontWeight'];
84
+ };
85
+ lineHeight: {
86
+ [key in InputSizeV2]: CSSObject['lineHeight'];
87
+ };
88
+ color: CSSObject['color'];
89
+ };
90
+ };
@@ -1,24 +1,5 @@
1
1
  import { InputSizeV2, InputStateV2 } from '../../inputV2.types';
2
- import { CSSObject } from 'styled-components';
3
- export type FloatingLabelsV2Tokens = {
4
- placeholder: {
5
- color: {
6
- [key in InputStateV2]: CSSObject['color'];
7
- };
8
- fontSize: {
9
- [key in InputSizeV2]: CSSObject['fontSize'];
10
- };
11
- fontWeight: {
12
- [key in InputSizeV2]: CSSObject['fontWeight'];
13
- };
14
- lineHeight: {
15
- [key in InputSizeV2]: CSSObject['lineHeight'];
16
- };
17
- };
18
- required: {
19
- color: CSSObject['color'];
20
- };
21
- };
2
+ import { FloatingLabelsV2Tokens } from '../../inputV2.tokens';
22
3
  declare const FloatingLabelsV2: ({ label, required, name, inputId, isInputFocusedOrWithValue, topPadding, leftPadding, tokens, size, state, }: {
23
4
  label: string;
24
5
  required: boolean;
@@ -1,33 +1,5 @@
1
- import { CSSObject } from 'styled-components';
2
- import { InputSizeV2, InputStateV2 } from '../../inputV2.types';
3
- type InputFooterV2Tokens = {
4
- hintText: {
5
- fontSize: {
6
- [key in InputSizeV2]: CSSObject['fontSize'];
7
- };
8
- fontWeight: {
9
- [key in InputSizeV2]: CSSObject['fontWeight'];
10
- };
11
- lineHeight: {
12
- [key in InputSizeV2]: CSSObject['lineHeight'];
13
- };
14
- color: {
15
- [key in InputStateV2]: CSSObject['color'];
16
- };
17
- };
18
- errorMessage: {
19
- fontSize: {
20
- [key in InputSizeV2]: CSSObject['fontSize'];
21
- };
22
- fontWeight: {
23
- [key in InputSizeV2]: CSSObject['fontWeight'];
24
- };
25
- lineHeight: {
26
- [key in InputSizeV2]: CSSObject['lineHeight'];
27
- };
28
- color: CSSObject['color'];
29
- };
30
- };
1
+ import { InputSizeV2 } from '../../inputV2.types';
2
+ import { InputFooterV2Tokens } from '../../inputV2.tokens';
31
3
  type InputFooterV2Props = {
32
4
  error?: boolean;
33
5
  errorMessage?: string;
@@ -1,53 +1,9 @@
1
1
  import { InputSizeV2, InputStateV2 } from '../../inputV2.types';
2
- import { CSSObject } from 'styled-components';
3
- export type InputLabelsV2Tokens = {
4
- label: {
5
- fontSize: {
6
- [key in InputSizeV2]: CSSObject['fontSize'];
7
- };
8
- fontWeight: {
9
- [key in InputSizeV2]: CSSObject['fontWeight'];
10
- };
11
- lineHeight: {
12
- [key in InputSizeV2]: CSSObject['lineHeight'];
13
- };
14
- color: {
15
- [key in InputStateV2]: CSSObject['color'];
16
- };
17
- };
18
- subLabel: {
19
- fontSize: {
20
- [key in InputSizeV2]: CSSObject['fontSize'];
21
- };
22
- fontWeight: {
23
- [key in InputSizeV2]: CSSObject['fontWeight'];
24
- };
25
- lineHeight: {
26
- [key in InputSizeV2]: CSSObject['lineHeight'];
27
- };
28
- color: {
29
- [key in InputStateV2]: CSSObject['color'];
30
- };
31
- };
32
- required: {
33
- color: CSSObject['color'];
34
- };
35
- helpIcon: {
36
- width: {
37
- [key in InputSizeV2]: CSSObject['width'];
38
- };
39
- color: {
40
- [key in InputStateV2]: CSSObject['color'];
41
- };
42
- };
43
- };
2
+ import { InputLabelsV2Tokens } from '../../inputV2.tokens';
44
3
  export type InputLabelsV2Props = {
45
4
  label?: string;
46
5
  sublabel?: string;
47
- helpIconText?: {
48
- text: string;
49
- onClick?: () => void;
50
- };
6
+ helpIconText?: string;
51
7
  name?: string;
52
8
  inputId?: string;
53
9
  required?: boolean;
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { MenuV2Props } from './menuV2.types';
3
+ declare const MenuV2: React.ForwardRefExoticComponent<MenuV2Props & React.RefAttributes<HTMLDivElement>>;
4
+ export default MenuV2;
@@ -0,0 +1,29 @@
1
+ import { FocusEvent, KeyboardEvent, default as React } from 'react';
2
+ import { CSSObject } from 'styled-components';
3
+ import { MenuV2GroupType, MenuV2VirtualScrollingConfig } from './menuV2.types';
4
+ import { MenuV2TokensType } from './menuV2.tokens';
5
+ export type MenuV2ContentProps = {
6
+ filteredItems: MenuV2GroupType[];
7
+ menuTokens: MenuV2TokensType;
8
+ enableSearch: boolean;
9
+ searchPlaceholder: string;
10
+ searchText: string;
11
+ onSearchTextChange: (value: string) => void;
12
+ maxHeight?: CSSObject['maxHeight'];
13
+ minHeight?: CSSObject['minHeight'];
14
+ minWidth?: CSSObject['minWidth'];
15
+ maxWidth?: CSSObject['maxWidth'];
16
+ enableVirtualScrolling?: boolean;
17
+ virtualScrolling?: MenuV2VirtualScrollingConfig;
18
+ alignment?: 'start' | 'center' | 'end';
19
+ side?: 'top' | 'right' | 'bottom' | 'left';
20
+ sideOffset?: number;
21
+ alignOffset?: number;
22
+ collisionBoundaryRef?: HTMLElement | null | (HTMLElement | null)[];
23
+ onInteractOutside?: (e: unknown) => void;
24
+ onPointerDownOutside?: (e: unknown) => void;
25
+ onFocusCapture?: (e: FocusEvent<HTMLDivElement>) => void;
26
+ onKeyDown?: (e: KeyboardEvent<HTMLDivElement>) => void;
27
+ };
28
+ declare const MenuV2Content: React.ForwardRefExoticComponent<MenuV2ContentProps & React.RefAttributes<HTMLDivElement>>;
29
+ export default MenuV2Content;
@@ -0,0 +1,9 @@
1
+ import { MenuV2ItemType } from './menuV2.types';
2
+ import { MenuV2TokensType } from './menuV2.tokens';
3
+ type MenuV2ItemProps = {
4
+ item: MenuV2ItemType;
5
+ index: number;
6
+ itemTokens: MenuV2TokensType['group']['item'];
7
+ };
8
+ declare const MenuV2Item: import('react').ForwardRefExoticComponent<MenuV2ItemProps & import('react').RefAttributes<HTMLDivElement>>;
9
+ export default MenuV2Item;
@@ -0,0 +1,12 @@
1
+ import { CSSObject } from 'styled-components';
2
+ import { MenuV2ItemType } from './menuV2.types';
3
+ type MenuV2SubMenuProps = {
4
+ item: MenuV2ItemType;
5
+ index: number;
6
+ maxHeight?: CSSObject['maxHeight'];
7
+ };
8
+ declare const MenuV2SubMenu: {
9
+ ({ item, index, maxHeight }: MenuV2SubMenuProps): import("react/jsx-runtime").JSX.Element;
10
+ displayName: string;
11
+ };
12
+ export default MenuV2SubMenu;
@@ -0,0 +1,7 @@
1
+ export { default as MenuV2 } from './MenuV2';
2
+ export { default as MenuV2Content } from './MenuV2Content';
3
+ export { default as MenuV2Item } from './MenuV2Item';
4
+ export { default as MenuV2SubMenu } from './MenuV2SubMenu';
5
+ export * from './menuV2.types';
6
+ export * from './menuV2.tokens';
7
+ export * from './menuV2.utils';
@@ -0,0 +1,2 @@
1
+ export declare const menuV2ContentAnimations = "\n transform-origin: var(--radix-dropdown-menu-content-transform-origin);\n\n &[data-side='bottom'][data-state='open'] {\n animation: menuV2SlideInFromTop 400ms cubic-bezier(0.16, 1, 0.3, 1);\n }\n &[data-side='bottom'][data-state='closed'] {\n animation: menuV2SlideOutToTop 300ms cubic-bezier(0.16, 1, 0.3, 1);\n }\n\n &[data-side='top'][data-state='open'] {\n animation: menuV2SlideInFromBottom 400ms cubic-bezier(0.16, 1, 0.3, 1);\n }\n &[data-side='top'][data-state='closed'] {\n animation: menuV2SlideOutToBottom 300ms cubic-bezier(0.16, 1, 0.3, 1);\n }\n\n &[data-side='right'][data-state='open'] {\n animation: menuV2SlideInFromLeft 400ms cubic-bezier(0.16, 1, 0.3, 1);\n }\n &[data-side='right'][data-state='closed'] {\n animation: menuV2SlideOutToLeft 300ms cubic-bezier(0.16, 1, 0.3, 1);\n }\n\n &[data-side='left'][data-state='open'] {\n animation: menuV2SlideInFromRight 400ms cubic-bezier(0.16, 1, 0.3, 1);\n }\n &[data-side='left'][data-state='closed'] {\n animation: menuV2SlideOutToRight 300ms cubic-bezier(0.16, 1, 0.3, 1);\n }\n\n @keyframes menuV2SlideInFromTop {\n from { opacity: 0; transform: translateY(-8px) scale(0.95); }\n to { opacity: 1; transform: translateY(0) scale(1); }\n }\n @keyframes menuV2SlideOutToTop {\n from { opacity: 1; transform: translateY(0) scale(1); }\n to { opacity: 0; transform: translateY(-8px) scale(0.95); }\n }\n @keyframes menuV2SlideInFromBottom {\n from { opacity: 0; transform: translateY(8px) scale(0.95); }\n to { opacity: 1; transform: translateY(0) scale(1); }\n }\n @keyframes menuV2SlideOutToBottom {\n from { opacity: 1; transform: translateY(0) scale(1); }\n to { opacity: 0; transform: translateY(8px) scale(0.95); }\n }\n @keyframes menuV2SlideInFromLeft {\n from { opacity: 0; transform: translateX(-8px) scale(0.95); }\n to { opacity: 1; transform: translateX(0) scale(1); }\n }\n @keyframes menuV2SlideOutToLeft {\n from { opacity: 1; transform: translateX(0) scale(1); }\n to { opacity: 0; transform: translateX(-8px) scale(0.95); }\n }\n @keyframes menuV2SlideInFromRight {\n from { opacity: 0; transform: translateX(8px) scale(0.95); }\n to { opacity: 1; transform: translateX(0) scale(1); }\n }\n @keyframes menuV2SlideOutToRight {\n from { opacity: 1; transform: translateX(0) scale(1); }\n to { opacity: 0; transform: translateX(8px) scale(0.95); }\n }\n";
2
+ export declare const menuV2SubmenuContentAnimations = "\n transform-origin: var(--radix-dropdown-menu-content-transform-origin);\n\n &[data-side='right'][data-state='open'] {\n animation: menuV2SlideInFromLeft 400ms cubic-bezier(0.16, 1, 0.3, 1);\n }\n &[data-side='right'][data-state='closed'] {\n animation: menuV2SlideOutToLeft 300ms cubic-bezier(0.16, 1, 0.3, 1);\n }\n &[data-side='left'][data-state='open'] {\n animation: menuV2SlideInFromRight 400ms cubic-bezier(0.16, 1, 0.3, 1);\n }\n &[data-side='left'][data-state='closed'] {\n animation: menuV2SlideOutToRight 300ms cubic-bezier(0.16, 1, 0.3, 1);\n }\n";