@onehaul/ui 0.1.152 → 0.1.153
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Col/index.d.ts +120 -0
- package/dist/components/DatePicker/index.d.ts +79 -0
- package/dist/components/InputNumber/index.d.ts +38 -0
- package/dist/components/Row/index.d.ts +51 -0
- package/dist/components/Slider/index.d.ts +63 -0
- package/dist/components/Tree/index.d.ts +72 -0
- package/dist/icons/index.d.ts +3 -0
- package/dist/icons/index.esm.js +1 -1
- package/dist/icons/index.esm.js.map +1 -1
- package/dist/icons/index.js +1 -1
- package/dist/icons/index.js.map +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
type Breakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
|
|
4
|
+
|
|
5
|
+
interface ColSize {
|
|
6
|
+
/**
|
|
7
|
+
* Raster number of cells to occupy, 0 corresponds to display: none
|
|
8
|
+
*/
|
|
9
|
+
span?: number;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Raster order
|
|
13
|
+
*/
|
|
14
|
+
order?: number;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The number of cells to offset Col from the left
|
|
18
|
+
*/
|
|
19
|
+
offset?: number;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The number of cells that raster is moved to the left
|
|
23
|
+
*/
|
|
24
|
+
pull?: number;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* The number of cells that raster is moved to the right
|
|
28
|
+
*/
|
|
29
|
+
push?: number;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Flex layout style
|
|
33
|
+
*/
|
|
34
|
+
flex?: string | number;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface ColProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
38
|
+
/**
|
|
39
|
+
* Flex layout style
|
|
40
|
+
*/
|
|
41
|
+
flex?: string | number;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Raster number of cells to occupy, 0 corresponds to display: none
|
|
45
|
+
*/
|
|
46
|
+
span?: number;
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Raster order
|
|
50
|
+
* @default 0
|
|
51
|
+
*/
|
|
52
|
+
order?: number;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* The number of cells to offset Col from the left
|
|
56
|
+
* @default 0
|
|
57
|
+
*/
|
|
58
|
+
offset?: number;
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* The number of cells that raster is moved to the left
|
|
62
|
+
* @default 0
|
|
63
|
+
*/
|
|
64
|
+
pull?: number;
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* The number of cells that raster is moved to the right
|
|
68
|
+
* @default 0
|
|
69
|
+
*/
|
|
70
|
+
push?: number;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* screen < 576px and also default setting, could be a span value or an object containing above props
|
|
74
|
+
*/
|
|
75
|
+
xs?: number | ColSize;
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* screen ≥ 576px, could be a span value or an object containing above props
|
|
79
|
+
*/
|
|
80
|
+
sm?: number | ColSize;
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* screen ≥ 768px, could be a span value or an object containing above props
|
|
84
|
+
*/
|
|
85
|
+
md?: number | ColSize;
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* screen ≥ 992px, could be a span value or an object containing above props
|
|
89
|
+
*/
|
|
90
|
+
lg?: number | ColSize;
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* screen ≥ 1200px, could be a span value or an object containing above props
|
|
94
|
+
*/
|
|
95
|
+
xl?: number | ColSize;
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* screen ≥ 1600px, could be a span value or an object containing above props
|
|
99
|
+
*/
|
|
100
|
+
xxl?: number | ColSize;
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Custom CSS class name
|
|
104
|
+
*/
|
|
105
|
+
className?: string;
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Inline style
|
|
109
|
+
*/
|
|
110
|
+
style?: React.CSSProperties;
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Children nodes
|
|
114
|
+
*/
|
|
115
|
+
children?: React.ReactNode;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
declare const Col: React.FC<ColProps>;
|
|
119
|
+
|
|
120
|
+
export default Col;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { DatePickerProps as AntDatePickerProps, RangePickerProps } from 'antd';
|
|
3
|
+
|
|
4
|
+
export type DatePickerVariant = 'outlined' | 'borderless' | 'filled' | 'underlined';
|
|
5
|
+
export type DatePickerPicker = 'date' | 'week' | 'month' | 'quarter' | 'year';
|
|
6
|
+
|
|
7
|
+
export const DatePickerVariants = ['outlined', 'borderless', 'filled', 'underlined'] as const;
|
|
8
|
+
export const DatePickerPickers = ['date', 'week', 'month', 'quarter', 'year'] as const;
|
|
9
|
+
|
|
10
|
+
export interface DatePickerProps extends Omit<AntDatePickerProps, 'size' | 'variant' | 'picker'> {
|
|
11
|
+
clearable?: boolean;
|
|
12
|
+
suffixIcon?: React.ReactNode;
|
|
13
|
+
prefix?: React.ReactNode;
|
|
14
|
+
format?: string;
|
|
15
|
+
showTime?: boolean;
|
|
16
|
+
picker?: DatePickerPicker;
|
|
17
|
+
className?: string;
|
|
18
|
+
variant?: DatePickerVariant;
|
|
19
|
+
disabled?: boolean;
|
|
20
|
+
floated?: boolean;
|
|
21
|
+
placeholder?: string;
|
|
22
|
+
value?: string;
|
|
23
|
+
onChange?: (value: string) => void;
|
|
24
|
+
onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;
|
|
25
|
+
onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void;
|
|
26
|
+
onClear?: () => void;
|
|
27
|
+
onToday?: () => void;
|
|
28
|
+
onCalendarChange?: (date: moment.Moment | null) => void;
|
|
29
|
+
showToday?: boolean;
|
|
30
|
+
showTime?: boolean;
|
|
31
|
+
error?: boolean;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
interface DatePickerComponent extends React.FC<DatePickerProps> {
|
|
35
|
+
/**
|
|
36
|
+
* OneHaul DatePicker component - A wrapper around Ant Design DatePicker
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```jsx
|
|
40
|
+
* <DatePicker
|
|
41
|
+
* size="lg"
|
|
42
|
+
* variant="primary"
|
|
43
|
+
* placeholder="Select date"
|
|
44
|
+
* onChange={handleDateChange}
|
|
45
|
+
* />
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* @example Range picker
|
|
49
|
+
* ```jsx
|
|
50
|
+
* <DatePicker
|
|
51
|
+
* mode="range"
|
|
52
|
+
* placeholder={['Start date', 'End date']}
|
|
53
|
+
* onChange={handleRangeChange}
|
|
54
|
+
* />
|
|
55
|
+
* ```
|
|
56
|
+
*
|
|
57
|
+
* @example With time picker
|
|
58
|
+
* ```jsx
|
|
59
|
+
* <DatePicker
|
|
60
|
+
* showTime
|
|
61
|
+
* placeholder="Select date and time"
|
|
62
|
+
* onChange={handleDateTimeChange}
|
|
63
|
+
* />
|
|
64
|
+
* ```
|
|
65
|
+
*
|
|
66
|
+
* @example Month picker
|
|
67
|
+
* ```jsx
|
|
68
|
+
* <DatePicker
|
|
69
|
+
* picker="month"
|
|
70
|
+
* placeholder="Select month"
|
|
71
|
+
* onChange={handleMonthChange}
|
|
72
|
+
* />
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
declare const DatePicker: DatePickerComponent;
|
|
78
|
+
|
|
79
|
+
export default DatePicker;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
export interface InputNumberProps {
|
|
4
|
+
placeholder?: string;
|
|
5
|
+
className?: string;
|
|
6
|
+
prefix?: React.ReactNode;
|
|
7
|
+
suffix?: React.ReactNode;
|
|
8
|
+
max?: number;
|
|
9
|
+
min?: number;
|
|
10
|
+
size?: 'md' | 'lg';
|
|
11
|
+
style?: React.CSSProperties;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
type?: 'text' | 'password' | 'textarea' | 'otp' | 'email' | 'number' | 'tel' | 'url';
|
|
14
|
+
floated?: boolean;
|
|
15
|
+
onChange?: (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
|
|
16
|
+
onPressEnter?: (e: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
|
|
17
|
+
value?: number;
|
|
18
|
+
defaultValue?: number;
|
|
19
|
+
error?: boolean;
|
|
20
|
+
helperText?: string;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
interface InputNumberComponent extends React.FC<InputNumberProps> {
|
|
24
|
+
/**
|
|
25
|
+
* OneHaul InputNumber component
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```jsx
|
|
29
|
+
* <InputNumber
|
|
30
|
+
* placeholder="Enter a number"
|
|
31
|
+
* onChange={handleChange}
|
|
32
|
+
* />
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
declare const InputNumber: InputNumberComponent;
|
|
38
|
+
export default InputNumber;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
type Breakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
|
|
4
|
+
|
|
5
|
+
type Gutter = number | Partial<Record<Breakpoint, number>>;
|
|
6
|
+
|
|
7
|
+
export interface RowProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
8
|
+
/**
|
|
9
|
+
* Vertical alignment of flex layout
|
|
10
|
+
* @default 'top'
|
|
11
|
+
*/
|
|
12
|
+
align?: 'top' | 'middle' | 'bottom' | 'stretch';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Spacing between grids, could be a number or a object like { xs: 8, sm: 16, md: 24}
|
|
16
|
+
* Or you can use array to make horizontal and vertical spacing work at the same time [horizontal, vertical]
|
|
17
|
+
* @default 0
|
|
18
|
+
*/
|
|
19
|
+
gutter?: Gutter | [Gutter, Gutter];
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Horizontal arrangement of flex layout
|
|
23
|
+
* @default 'start'
|
|
24
|
+
*/
|
|
25
|
+
justify?: 'start' | 'end' | 'center' | 'space-around' | 'space-between' | 'space-evenly';
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Auto wrap line
|
|
29
|
+
* @default true
|
|
30
|
+
*/
|
|
31
|
+
wrap?: boolean;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Custom CSS class name
|
|
35
|
+
*/
|
|
36
|
+
className?: string;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Inline style
|
|
40
|
+
*/
|
|
41
|
+
style?: React.CSSProperties;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Children nodes
|
|
45
|
+
*/
|
|
46
|
+
children?: React.ReactNode;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
declare const Row: React.FC<RowProps>;
|
|
50
|
+
|
|
51
|
+
export default Row;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
export interface SliderMarks {
|
|
4
|
+
[key: number]: React.ReactNode | { style?: React.CSSProperties; label?: React.ReactNode };
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export interface SliderProps {
|
|
8
|
+
value?: number | [number, number];
|
|
9
|
+
defaultValue?: number | [number, number];
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
min?: number;
|
|
12
|
+
max?: number;
|
|
13
|
+
step?: number | null;
|
|
14
|
+
marks?: SliderMarks;
|
|
15
|
+
dots?: boolean;
|
|
16
|
+
included?: boolean;
|
|
17
|
+
range?: boolean;
|
|
18
|
+
reverse?: boolean;
|
|
19
|
+
tooltip?: {
|
|
20
|
+
open?: boolean;
|
|
21
|
+
placement?: 'top' | 'left' | 'right' | 'bottom';
|
|
22
|
+
getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement;
|
|
23
|
+
formatter?: ((value?: number) => React.ReactNode) | null;
|
|
24
|
+
};
|
|
25
|
+
onChange?: (value: number | [number, number]) => void;
|
|
26
|
+
onChangeComplete?: (value: number | [number, number]) => void;
|
|
27
|
+
className?: string;
|
|
28
|
+
style?: React.CSSProperties;
|
|
29
|
+
size?: 'md' | 'lg';
|
|
30
|
+
id?: string;
|
|
31
|
+
autoFocus?: boolean;
|
|
32
|
+
keyboard?: boolean;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
interface SliderComponent extends React.FC<SliderProps> {
|
|
36
|
+
/**
|
|
37
|
+
* OneHaul Slider component
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```jsx
|
|
41
|
+
* <Slider
|
|
42
|
+
* min={0}
|
|
43
|
+
* max={100}
|
|
44
|
+
* value={value}
|
|
45
|
+
* onChange={handleChange}
|
|
46
|
+
* />
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* @example Range Slider
|
|
50
|
+
* ```jsx
|
|
51
|
+
* <Slider
|
|
52
|
+
* range
|
|
53
|
+
* min={0}
|
|
54
|
+
* max={100}
|
|
55
|
+
* value={[20, 50]}
|
|
56
|
+
* onChange={handleChange}
|
|
57
|
+
* />
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
declare const Slider: SliderComponent;
|
|
63
|
+
export default Slider;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TreeProps as AntTreeProps, TreeNodeProps } from 'antd/es/tree';
|
|
3
|
+
|
|
4
|
+
export type TreeSize = 'sm' | 'md' | 'lg';
|
|
5
|
+
|
|
6
|
+
export const TreeSizes = ['sm', 'md', 'lg'] as const;
|
|
7
|
+
|
|
8
|
+
export interface TreeNodeData {
|
|
9
|
+
label: string | React.ReactNode;
|
|
10
|
+
value: string;
|
|
11
|
+
icon?: React.ReactNode;
|
|
12
|
+
children?: TreeNodeData[];
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
disableCheckbox?: boolean;
|
|
15
|
+
selectable?: boolean;
|
|
16
|
+
checkable?: boolean;
|
|
17
|
+
isLeaf?: boolean;
|
|
18
|
+
[key: string]: any;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface TreeProps extends Omit<AntTreeProps, 'size'> {
|
|
22
|
+
className?: string;
|
|
23
|
+
size?: TreeSize;
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
checkable?: boolean;
|
|
26
|
+
selectable?: boolean;
|
|
27
|
+
showLine?: boolean;
|
|
28
|
+
showIcon?: boolean;
|
|
29
|
+
draggable?: boolean;
|
|
30
|
+
multiple?: boolean;
|
|
31
|
+
children?: React.ReactNode;
|
|
32
|
+
treeData?: TreeNodeData[];
|
|
33
|
+
/**
|
|
34
|
+
* Function to load data asynchronously when a node is expanded
|
|
35
|
+
* @param node - The node that was expanded
|
|
36
|
+
* @returns Promise that resolves to an array of child nodes
|
|
37
|
+
*/
|
|
38
|
+
onLoadData?: (node: { key: string; title: string; [key: string]: any }) => Promise<TreeNodeData[]>;
|
|
39
|
+
/**
|
|
40
|
+
* Callback when tree data changes (useful for async loading)
|
|
41
|
+
* @param newTreeData - The updated tree data
|
|
42
|
+
*/
|
|
43
|
+
onTreeDataChange?: (newTreeData: TreeNodeData[]) => void;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
interface TreeComponent extends React.FC<TreeProps> {
|
|
47
|
+
TreeNode: typeof TreeNodeProps;
|
|
48
|
+
DirectoryTree: any;
|
|
49
|
+
/**
|
|
50
|
+
* OneHaul Tree component with async loading support
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```jsx
|
|
54
|
+
* <Tree
|
|
55
|
+
* size="md"
|
|
56
|
+
* checkable
|
|
57
|
+
* treeData={treeData}
|
|
58
|
+
* onLoadData={async (node) => {
|
|
59
|
+
* // Load children for the node
|
|
60
|
+
* const children = await fetchChildren(node.key);
|
|
61
|
+
* return children;
|
|
62
|
+
* }}
|
|
63
|
+
* onSelect={handleSelect}
|
|
64
|
+
* onCheck={handleCheck}
|
|
65
|
+
* />
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
declare const Tree: TreeComponent;
|
|
71
|
+
|
|
72
|
+
export default Tree;
|
package/dist/icons/index.d.ts
CHANGED
|
@@ -100,3 +100,6 @@ export declare const Share: IconComponent;
|
|
|
100
100
|
export declare const Email: IconComponent;
|
|
101
101
|
export declare const Flash: IconComponent;
|
|
102
102
|
export declare const RFQ: IconComponent;
|
|
103
|
+
export declare const Block: IconComponent;
|
|
104
|
+
export declare const Lock: IconComponent;
|
|
105
|
+
export declare const Unlock: IconComponent;
|