@hubspot/ui-extensions 0.0.1-prealpha.7 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +591 -300
- package/dist/coreComponents.d.ts +19 -4
- package/dist/coreComponents.js +4 -1
- package/dist/crm/components.d.ts +27 -2
- package/dist/crm/components.js +6 -1
- package/dist/crm/index.d.ts +2 -2
- package/dist/crm/index.js +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/types.d.ts +119 -17
- package/package.json +2 -2
package/dist/coreComponents.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AlertProps, ButtonProps, ButtonRowProps, CardProps, DescriptionListProps, DescriptionListItemProps, DividerProps, EmptyStateProps, ErrorStateProps, FormProps, HeadingProps, ImageProps, InputProps, TextareaProps, LoadingSpinnerProps, ProgressBarProps, SelectProps, TagProps, TextProps, TileProps, StackProps, StatisticsProps, StatisticsItemProps, StatisticsTrendProps, TableProps, TableElementProps, LinkProps } from './types';
|
|
1
|
+
import type { AlertProps, ButtonProps, ButtonRowProps, CardProps, DescriptionListProps, DescriptionListItemProps, DividerProps, EmptyStateProps, ErrorStateProps, FormProps, HeadingProps, ImageProps, InputProps, TextareaProps, LoadingSpinnerProps, ProgressBarProps, SelectProps, TagProps, TextProps, TileProps, StackProps, StatisticsProps, StatisticsItemProps, StatisticsTrendProps, TableProps, TableElementProps, ToggleGroupProps, LinkProps, NumberInputProps, BoxProps } from './types';
|
|
2
2
|
declare const Alert: "Alert" & {
|
|
3
3
|
readonly type?: "Alert" | undefined;
|
|
4
4
|
readonly props?: AlertProps | undefined;
|
|
@@ -61,9 +61,9 @@ declare const Image: "Image" & {
|
|
|
61
61
|
} & import("@remote-ui/react").ReactComponentTypeFromRemoteComponentType<import("@remote-ui/types").RemoteComponentType<"Image", ImageProps, true>>;
|
|
62
62
|
declare const Input: "Input" & {
|
|
63
63
|
readonly type?: "Input" | undefined;
|
|
64
|
-
readonly props?: InputProps | undefined;
|
|
64
|
+
readonly props?: InputProps<string> | undefined;
|
|
65
65
|
readonly children?: true | undefined;
|
|
66
|
-
} & import("@remote-ui/react").ReactComponentTypeFromRemoteComponentType<import("@remote-ui/types").RemoteComponentType<"Input", InputProps
|
|
66
|
+
} & import("@remote-ui/react").ReactComponentTypeFromRemoteComponentType<import("@remote-ui/types").RemoteComponentType<"Input", InputProps<string>, true>>;
|
|
67
67
|
declare const Textarea: "Textarea" & {
|
|
68
68
|
readonly type?: "Textarea" | undefined;
|
|
69
69
|
readonly props?: TextareaProps | undefined;
|
|
@@ -99,6 +99,11 @@ declare const Tile: "Tile" & {
|
|
|
99
99
|
readonly props?: TileProps | undefined;
|
|
100
100
|
readonly children?: true | undefined;
|
|
101
101
|
} & import("@remote-ui/react").ReactComponentTypeFromRemoteComponentType<import("@remote-ui/types").RemoteComponentType<"Tile", TileProps, true>>;
|
|
102
|
+
declare const ToggleGroup: "ToggleGroup" & {
|
|
103
|
+
readonly type?: "ToggleGroup" | undefined;
|
|
104
|
+
readonly props?: ToggleGroupProps | undefined;
|
|
105
|
+
readonly children?: true | undefined;
|
|
106
|
+
} & import("@remote-ui/react").ReactComponentTypeFromRemoteComponentType<import("@remote-ui/types").RemoteComponentType<"ToggleGroup", ToggleGroupProps, true>>;
|
|
102
107
|
declare const Stack: "Stack" & {
|
|
103
108
|
readonly type?: "Stack" | undefined;
|
|
104
109
|
readonly props?: StackProps | undefined;
|
|
@@ -159,4 +164,14 @@ declare const Link: "Link" & {
|
|
|
159
164
|
readonly props?: LinkProps | undefined;
|
|
160
165
|
readonly children?: true | undefined;
|
|
161
166
|
} & import("@remote-ui/react").ReactComponentTypeFromRemoteComponentType<import("@remote-ui/types").RemoteComponentType<"Link", LinkProps, true>>;
|
|
162
|
-
|
|
167
|
+
declare const NumberInput: "NumberInput" & {
|
|
168
|
+
readonly type?: "NumberInput" | undefined;
|
|
169
|
+
readonly props?: NumberInputProps | undefined;
|
|
170
|
+
readonly children?: true | undefined;
|
|
171
|
+
} & import("@remote-ui/react").ReactComponentTypeFromRemoteComponentType<import("@remote-ui/types").RemoteComponentType<"NumberInput", NumberInputProps, true>>;
|
|
172
|
+
declare const Box: "Box" & {
|
|
173
|
+
readonly type?: "Box" | undefined;
|
|
174
|
+
readonly props?: BoxProps | undefined;
|
|
175
|
+
readonly children?: true | undefined;
|
|
176
|
+
} & import("@remote-ui/react").ReactComponentTypeFromRemoteComponentType<import("@remote-ui/types").RemoteComponentType<"Box", BoxProps, true>>;
|
|
177
|
+
export { Alert, Box, Button, ButtonRow, Card, DescriptionList, DescriptionListItem, Divider, EmptyState, ErrorState, Form, Heading, Image, Input, Textarea, LoadingSpinner, Link, ProgressBar, Select, Stack, Statistics, StatisticsItem, StatisticsTrend, Table, TableFooter, TableCell, TableRow, TableBody, TableHeader, TableHead, Tag, Text, Tile, ToggleGroup, NumberInput, };
|
package/dist/coreComponents.js
CHANGED
|
@@ -19,6 +19,7 @@ const Select = createRemoteReactComponent('Select');
|
|
|
19
19
|
const Tag = createRemoteReactComponent('Tag');
|
|
20
20
|
const Text = createRemoteReactComponent('Text');
|
|
21
21
|
const Tile = createRemoteReactComponent('Tile');
|
|
22
|
+
const ToggleGroup = createRemoteReactComponent('ToggleGroup');
|
|
22
23
|
const Stack = createRemoteReactComponent('Stack');
|
|
23
24
|
const StatisticsItem = createRemoteReactComponent('StatisticsItem');
|
|
24
25
|
const Statistics = createRemoteReactComponent('Statistics');
|
|
@@ -31,4 +32,6 @@ const TableBody = createRemoteReactComponent('TableBody');
|
|
|
31
32
|
const TableHeader = createRemoteReactComponent('TableHeader');
|
|
32
33
|
const TableHead = createRemoteReactComponent('TableHead');
|
|
33
34
|
const Link = createRemoteReactComponent('Link');
|
|
34
|
-
|
|
35
|
+
const NumberInput = createRemoteReactComponent('NumberInput');
|
|
36
|
+
const Box = createRemoteReactComponent('Box');
|
|
37
|
+
export { Alert, Box, Button, ButtonRow, Card, DescriptionList, DescriptionListItem, Divider, EmptyState, ErrorState, Form, Heading, Image, Input, Textarea, LoadingSpinner, Link, ProgressBar, Select, Stack, Statistics, StatisticsItem, StatisticsTrend, Table, TableFooter, TableCell, TableRow, TableBody, TableHeader, TableHead, Tag, Text, Tile, ToggleGroup, NumberInput, };
|
package/dist/crm/components.d.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import { CrmAssociationTableProps, CrmPropertyListProps } from '../types';
|
|
1
|
+
import { CrmAssociationPivotProps, CrmAssociationTableProps, CrmDataHighlightProps, CrmObjectPropertyProps, CrmPropertyListProps, CrmReportProps, CrmAssociationPropertyListProps } from '../types';
|
|
2
|
+
declare const CrmObjectProperty: "CrmObjectProperty" & {
|
|
3
|
+
readonly type?: "CrmObjectProperty" | undefined;
|
|
4
|
+
readonly props?: CrmObjectPropertyProps | undefined;
|
|
5
|
+
readonly children?: true | undefined;
|
|
6
|
+
} & import("@remote-ui/react").ReactComponentTypeFromRemoteComponentType<import("@remote-ui/types").RemoteComponentType<"CrmObjectProperty", CrmObjectPropertyProps, true>>;
|
|
2
7
|
declare const CrmPropertyList: "CrmPropertyList" & {
|
|
3
8
|
readonly type?: "CrmPropertyList" | undefined;
|
|
4
9
|
readonly props?: CrmPropertyListProps | undefined;
|
|
@@ -9,4 +14,24 @@ declare const CrmAssociationTable: "CrmAssociationTable" & {
|
|
|
9
14
|
readonly props?: CrmAssociationTableProps | undefined;
|
|
10
15
|
readonly children?: true | undefined;
|
|
11
16
|
} & import("@remote-ui/react").ReactComponentTypeFromRemoteComponentType<import("@remote-ui/types").RemoteComponentType<"CrmAssociationTable", CrmAssociationTableProps, true>>;
|
|
12
|
-
|
|
17
|
+
declare const CrmDataHighlight: "CrmDataHighlight" & {
|
|
18
|
+
readonly type?: "CrmDataHighlight" | undefined;
|
|
19
|
+
readonly props?: CrmDataHighlightProps | undefined;
|
|
20
|
+
readonly children?: true | undefined;
|
|
21
|
+
} & import("@remote-ui/react").ReactComponentTypeFromRemoteComponentType<import("@remote-ui/types").RemoteComponentType<"CrmDataHighlight", CrmDataHighlightProps, true>>;
|
|
22
|
+
declare const CrmReport: "CrmReport" & {
|
|
23
|
+
readonly type?: "CrmReport" | undefined;
|
|
24
|
+
readonly props?: CrmReportProps | undefined;
|
|
25
|
+
readonly children?: true | undefined;
|
|
26
|
+
} & import("@remote-ui/react").ReactComponentTypeFromRemoteComponentType<import("@remote-ui/types").RemoteComponentType<"CrmReport", CrmReportProps, true>>;
|
|
27
|
+
declare const CrmAssociationPivot: "CrmAssociationPivot" & {
|
|
28
|
+
readonly type?: "CrmAssociationPivot" | undefined;
|
|
29
|
+
readonly props?: CrmAssociationPivotProps | undefined;
|
|
30
|
+
readonly children?: true | undefined;
|
|
31
|
+
} & import("@remote-ui/react").ReactComponentTypeFromRemoteComponentType<import("@remote-ui/types").RemoteComponentType<"CrmAssociationPivot", CrmAssociationPivotProps, true>>;
|
|
32
|
+
declare const CrmAssociationPropertyList: "CrmAssociationPropertyList" & {
|
|
33
|
+
readonly type?: "CrmAssociationPropertyList" | undefined;
|
|
34
|
+
readonly props?: CrmAssociationPropertyListProps | undefined;
|
|
35
|
+
readonly children?: true | undefined;
|
|
36
|
+
} & import("@remote-ui/react").ReactComponentTypeFromRemoteComponentType<import("@remote-ui/types").RemoteComponentType<"CrmAssociationPropertyList", CrmAssociationPropertyListProps, true>>;
|
|
37
|
+
export { CrmObjectProperty, CrmPropertyList, CrmAssociationTable, CrmDataHighlight, CrmReport, CrmAssociationPivot, CrmAssociationPropertyList, };
|
package/dist/crm/components.js
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { createExtensionComponent } from '../utils/createExtensionComponent';
|
|
2
|
+
const CrmObjectProperty = createExtensionComponent('CrmObjectProperty');
|
|
2
3
|
const CrmPropertyList = createExtensionComponent('CrmPropertyList');
|
|
3
4
|
const CrmAssociationTable = createExtensionComponent('CrmAssociationTable');
|
|
4
|
-
|
|
5
|
+
const CrmDataHighlight = createExtensionComponent('CrmDataHighlight');
|
|
6
|
+
const CrmReport = createExtensionComponent('CrmReport');
|
|
7
|
+
const CrmAssociationPivot = createExtensionComponent('CrmAssociationPivot');
|
|
8
|
+
const CrmAssociationPropertyList = createExtensionComponent('CrmAssociationPropertyList');
|
|
9
|
+
export { CrmObjectProperty, CrmPropertyList, CrmAssociationTable, CrmDataHighlight, CrmReport, CrmAssociationPivot, CrmAssociationPropertyList, };
|
package/dist/crm/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { CrmPropertyList, CrmAssociationTable } from './components';
|
|
2
|
-
export { CrmPropertyList, CrmAssociationTable };
|
|
1
|
+
import { CrmPropertyList, CrmAssociationTable, CrmDataHighlight, CrmReport, CrmAssociationPivot, CrmObjectProperty, CrmAssociationPropertyList } from './components';
|
|
2
|
+
export { CrmPropertyList, CrmAssociationTable, CrmDataHighlight, CrmReport, CrmAssociationPivot, CrmObjectProperty, CrmAssociationPropertyList, };
|
package/dist/crm/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { CrmPropertyList, CrmAssociationTable } from './components';
|
|
2
|
-
export { CrmPropertyList, CrmAssociationTable };
|
|
1
|
+
import { CrmPropertyList, CrmAssociationTable, CrmDataHighlight, CrmReport, CrmAssociationPivot, CrmObjectProperty, CrmAssociationPropertyList, } from './components';
|
|
2
|
+
export { CrmPropertyList, CrmAssociationTable, CrmDataHighlight, CrmReport, CrmAssociationPivot, CrmObjectProperty, CrmAssociationPropertyList, };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { Alert, Button, ButtonRow, Card, DescriptionList, DescriptionListItem, Divider, EmptyState, ErrorState, Form, Heading, Image, Input, LoadingSpinner, ProgressBar, Select, Stack, Statistics, StatisticsItem, StatisticsTrend, Table, TableFooter, TableCell, TableRow, TableBody, TableHeader, TableHead, Tag, Text, Textarea, Tile, Link, } from './coreComponents';
|
|
1
|
+
export { Alert, Button, ButtonRow, Card, DescriptionList, DescriptionListItem, Divider, EmptyState, ErrorState, Form, Heading, Image, Input, LoadingSpinner, ProgressBar, Select, Stack, Statistics, StatisticsItem, StatisticsTrend, Table, TableFooter, TableCell, TableRow, TableBody, TableHeader, TableHead, Tag, Text, Textarea, Tile, ToggleGroup, Link, NumberInput, Box, } from './coreComponents';
|
|
2
2
|
export { hubspot } from './hubspot';
|
|
3
3
|
export * from './types';
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { Alert, Button, ButtonRow, Card, DescriptionList, DescriptionListItem, Divider, EmptyState, ErrorState, Form, Heading, Image, Input, LoadingSpinner, ProgressBar, Select, Stack, Statistics, StatisticsItem, StatisticsTrend, Table, TableFooter, TableCell, TableRow, TableBody, TableHeader, TableHead, Tag, Text, Textarea, Tile, Link, } from './coreComponents';
|
|
1
|
+
export { Alert, Button, ButtonRow, Card, DescriptionList, DescriptionListItem, Divider, EmptyState, ErrorState, Form, Heading, Image, Input, LoadingSpinner, ProgressBar, Select, Stack, Statistics, StatisticsItem, StatisticsTrend, Table, TableFooter, TableCell, TableRow, TableBody, TableHeader, TableHead, Tag, Text, Textarea, Tile, ToggleGroup, Link, NumberInput, Box, } from './coreComponents';
|
|
2
2
|
export { hubspot } from './hubspot';
|
|
3
3
|
export * from './types';
|
package/dist/types.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ReactNode, ComponentType } from 'react';
|
|
2
2
|
export interface AlertProps {
|
|
3
3
|
title: string;
|
|
4
|
-
body?: string;
|
|
5
4
|
children?: ReactNode;
|
|
6
5
|
variant?: 'info' | 'warning' | 'success' | 'error' | 'danger';
|
|
7
6
|
}
|
|
@@ -29,7 +28,7 @@ export interface DescriptionListProps {
|
|
|
29
28
|
direction?: 'row' | 'column';
|
|
30
29
|
}
|
|
31
30
|
export interface DividerProps {
|
|
32
|
-
distance?:
|
|
31
|
+
distance?: AllDistances;
|
|
33
32
|
}
|
|
34
33
|
export interface EmptyStateProps {
|
|
35
34
|
flush?: boolean;
|
|
@@ -51,8 +50,8 @@ export interface FormProps {
|
|
|
51
50
|
preventDefault?: boolean;
|
|
52
51
|
}
|
|
53
52
|
export interface HeadingProps {
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
children: ReactNode;
|
|
54
|
+
inline?: boolean;
|
|
56
55
|
}
|
|
57
56
|
export interface ImageProps {
|
|
58
57
|
alt?: string;
|
|
@@ -60,22 +59,24 @@ export interface ImageProps {
|
|
|
60
59
|
onClick?: () => void;
|
|
61
60
|
src: string;
|
|
62
61
|
width?: number;
|
|
62
|
+
height?: number;
|
|
63
63
|
}
|
|
64
|
-
export interface InputProps {
|
|
64
|
+
export interface InputProps<T = string> {
|
|
65
65
|
label: string;
|
|
66
66
|
name: string;
|
|
67
|
-
value?:
|
|
67
|
+
value?: T;
|
|
68
68
|
required?: boolean;
|
|
69
69
|
readOnly?: boolean;
|
|
70
70
|
description?: string;
|
|
71
71
|
tooltip?: string;
|
|
72
72
|
placeholder?: string;
|
|
73
73
|
error?: boolean;
|
|
74
|
+
defaultValue?: T;
|
|
74
75
|
validationMessage?: string;
|
|
75
|
-
onChange?: (value:
|
|
76
|
-
onInput?: (value:
|
|
77
|
-
onBlur?: (value:
|
|
78
|
-
onFocus?: (value:
|
|
76
|
+
onChange?: (value: T) => void;
|
|
77
|
+
onInput?: (value: T) => void;
|
|
78
|
+
onBlur?: (value: T) => void;
|
|
79
|
+
onFocus?: (value: T) => void;
|
|
79
80
|
}
|
|
80
81
|
export interface TextareaProps extends InputProps {
|
|
81
82
|
cols?: number;
|
|
@@ -83,6 +84,12 @@ export interface TextareaProps extends InputProps {
|
|
|
83
84
|
rows?: number;
|
|
84
85
|
resize?: 'vertical' | 'horizontal' | 'both' | 'none';
|
|
85
86
|
}
|
|
87
|
+
export interface NumberInputProps extends InputProps<number> {
|
|
88
|
+
min?: number;
|
|
89
|
+
max?: number;
|
|
90
|
+
precision?: number;
|
|
91
|
+
formatStyle?: 'decimal' | 'percentage';
|
|
92
|
+
}
|
|
86
93
|
export interface ProgressBarProps {
|
|
87
94
|
title?: string;
|
|
88
95
|
showPercentage?: boolean;
|
|
@@ -109,7 +116,7 @@ export interface SelectProps {
|
|
|
109
116
|
}[];
|
|
110
117
|
}
|
|
111
118
|
export interface TagProps {
|
|
112
|
-
|
|
119
|
+
children: ReactNode;
|
|
113
120
|
onClick?: () => void;
|
|
114
121
|
variant?: 'default' | 'warning' | 'success' | 'error';
|
|
115
122
|
}
|
|
@@ -133,6 +140,48 @@ interface Team {
|
|
|
133
140
|
name: string;
|
|
134
141
|
teammates: number[];
|
|
135
142
|
}
|
|
143
|
+
export type ToggleGroupOption = {
|
|
144
|
+
label: string;
|
|
145
|
+
value: string;
|
|
146
|
+
initialIsChecked?: boolean;
|
|
147
|
+
readonly?: boolean;
|
|
148
|
+
description?: string;
|
|
149
|
+
};
|
|
150
|
+
interface ToggleGroupListBaseProps {
|
|
151
|
+
name: ToggleGroupProps['name'];
|
|
152
|
+
options: ToggleGroupProps['options'];
|
|
153
|
+
variant: ToggleGroupProps['variant'];
|
|
154
|
+
inline?: boolean;
|
|
155
|
+
}
|
|
156
|
+
export interface CheckboxListProps extends ToggleGroupListBaseProps {
|
|
157
|
+
value?: CheckboxGroupProps['value'];
|
|
158
|
+
onChange?: CheckboxGroupProps['onChange'];
|
|
159
|
+
}
|
|
160
|
+
export interface RadioButtonListProps extends ToggleGroupListBaseProps {
|
|
161
|
+
value?: RadioButtonGroupProps['value'];
|
|
162
|
+
onChange?: RadioButtonGroupProps['onChange'];
|
|
163
|
+
}
|
|
164
|
+
interface CheckboxGroupProps {
|
|
165
|
+
toggleType: 'checkboxList';
|
|
166
|
+
onChange?: (value: this['value']) => void;
|
|
167
|
+
value?: string[];
|
|
168
|
+
}
|
|
169
|
+
interface RadioButtonGroupProps {
|
|
170
|
+
toggleType: 'radioButtonList';
|
|
171
|
+
onChange?: (value: this['value']) => void;
|
|
172
|
+
value?: string;
|
|
173
|
+
}
|
|
174
|
+
export type ToggleGroupProps = {
|
|
175
|
+
name: string;
|
|
176
|
+
label: string;
|
|
177
|
+
validationMessage?: string;
|
|
178
|
+
required?: boolean;
|
|
179
|
+
tooltip?: string;
|
|
180
|
+
error?: boolean;
|
|
181
|
+
options: Array<ToggleGroupOption>;
|
|
182
|
+
inline?: boolean;
|
|
183
|
+
variant?: 'default' | 'small';
|
|
184
|
+
} & (CheckboxGroupProps | RadioButtonGroupProps);
|
|
136
185
|
export interface UserContext {
|
|
137
186
|
id: number;
|
|
138
187
|
emails: string[];
|
|
@@ -152,9 +201,12 @@ export interface Context {
|
|
|
152
201
|
portal: PortalContext;
|
|
153
202
|
}
|
|
154
203
|
export interface StackProps {
|
|
155
|
-
distance?:
|
|
204
|
+
distance?: AllDistances;
|
|
156
205
|
children?: React.ReactNode;
|
|
157
206
|
direction?: 'row' | 'column';
|
|
207
|
+
justify?: 'center' | 'end' | 'start';
|
|
208
|
+
align?: 'start' | 'center' | 'baseline' | 'end' | 'stretch';
|
|
209
|
+
width?: 'auto' | '100%';
|
|
158
210
|
}
|
|
159
211
|
export interface StatisticsTrendProps {
|
|
160
212
|
value: string;
|
|
@@ -215,6 +267,8 @@ export interface ServerlessExecutionRequest {
|
|
|
215
267
|
type: 'SERVERLESS_ACTION_HOOK';
|
|
216
268
|
payload: JsonValue;
|
|
217
269
|
};
|
|
270
|
+
objectId?: number;
|
|
271
|
+
objectTypeId?: string;
|
|
218
272
|
}
|
|
219
273
|
export interface ServerlessExecutionResponse {
|
|
220
274
|
logId: string;
|
|
@@ -265,19 +319,40 @@ export interface CrmMiddleExtensionPoint extends ExtensionPointContract {
|
|
|
265
319
|
customComponents: {
|
|
266
320
|
CrmPropertyList: ComponentType<CrmPropertyListProps>;
|
|
267
321
|
CrmAssociationTable: ComponentType<CrmAssociationTableProps>;
|
|
322
|
+
CrmDataHighlight: ComponentType<CrmDataHighlightProps>;
|
|
323
|
+
CrmReport: ComponentType<CrmReportProps>;
|
|
324
|
+
CrmAssociationPivot: ComponentType<CrmAssociationPivotProps>;
|
|
325
|
+
CrmObjectProperty?: ComponentType<CrmObjectPropertyProps>;
|
|
326
|
+
CrmAssociationPropertyList?: ComponentType<CrmAssociationPropertyListProps>;
|
|
268
327
|
};
|
|
269
328
|
}
|
|
329
|
+
export interface CrmDataHighlightProps {
|
|
330
|
+
properties: Array<string>;
|
|
331
|
+
objectTypeId?: string;
|
|
332
|
+
objectId?: number;
|
|
333
|
+
}
|
|
334
|
+
export interface CrmReportProps {
|
|
335
|
+
reportId: string;
|
|
336
|
+
}
|
|
270
337
|
export interface CrmPropertyListProps {
|
|
271
|
-
properties: string
|
|
338
|
+
properties: Array<string>;
|
|
272
339
|
direction?: string;
|
|
340
|
+
objectTypeId?: string;
|
|
341
|
+
objectId?: number;
|
|
342
|
+
}
|
|
343
|
+
export interface CrmObjectPropertyProps {
|
|
344
|
+
properties: Array<string>;
|
|
345
|
+
objectTypeId?: string;
|
|
346
|
+
objectId?: number;
|
|
273
347
|
}
|
|
274
348
|
type CrmSortDescriptor = {
|
|
275
349
|
columnName: string;
|
|
276
350
|
direction: 1 | -1;
|
|
277
351
|
};
|
|
278
352
|
interface CrmSearchFilter {
|
|
279
|
-
operator: 'EQ' | 'NEQ' | 'LT' | 'LTE' | 'GT' | 'GTE' | 'BETWEEN' | 'IN' | 'NOT_IN' | 'HAS_PROPERTY' | 'NOT_HAS_PROPERTY'
|
|
353
|
+
operator: 'EQ' | 'NEQ' | 'LT' | 'LTE' | 'GT' | 'GTE' | 'BETWEEN' | 'IN' | 'NOT_IN' | 'HAS_PROPERTY' | 'NOT_HAS_PROPERTY';
|
|
280
354
|
value?: string | number;
|
|
355
|
+
values?: string | number;
|
|
281
356
|
highValue?: string | number;
|
|
282
357
|
property: string;
|
|
283
358
|
}
|
|
@@ -291,6 +366,20 @@ export interface CrmAssociationTableProps {
|
|
|
291
366
|
preFilters?: Array<CrmSearchFilter>;
|
|
292
367
|
sort?: Array<CrmSortDescriptor>;
|
|
293
368
|
}
|
|
369
|
+
export interface CrmAssociationPivotProps {
|
|
370
|
+
objectTypeId: string;
|
|
371
|
+
associationLabels?: Array<string>;
|
|
372
|
+
maxAssociations?: number;
|
|
373
|
+
preFilters?: Array<CrmSearchFilter>;
|
|
374
|
+
sort?: Array<CrmSortDescriptor>;
|
|
375
|
+
}
|
|
376
|
+
export interface CrmAssociationPropertyListProps {
|
|
377
|
+
objectTypeId: string;
|
|
378
|
+
properties: Array<string>;
|
|
379
|
+
associationLabels?: Array<string>;
|
|
380
|
+
filters?: Array<CrmSearchFilter>;
|
|
381
|
+
sort?: Array<CrmSortDescriptor>;
|
|
382
|
+
}
|
|
294
383
|
interface CrmSidebarExtensionPoint extends ExtensionPointContract {
|
|
295
384
|
actions: {
|
|
296
385
|
reloadPage: ReloadPageAction;
|
|
@@ -318,7 +407,6 @@ export interface ExtensionPointApi<ExtensionPointName extends keyof ExtensionPoi
|
|
|
318
407
|
context: Context;
|
|
319
408
|
runServerlessFunction: ServerlessFuncRunner;
|
|
320
409
|
actions: ExtensionPoints[ExtensionPointName]['actions'];
|
|
321
|
-
customComponents: string[];
|
|
322
410
|
}
|
|
323
411
|
interface OpenIframeActionPayload {
|
|
324
412
|
uri: string;
|
|
@@ -329,9 +417,8 @@ interface OpenIframeActionPayload {
|
|
|
329
417
|
export interface LoadingSpinnerProps {
|
|
330
418
|
label: string;
|
|
331
419
|
showLabel?: boolean;
|
|
332
|
-
size?: 'xs' | 'sm' | 'md';
|
|
420
|
+
size?: TShirtSizes['xs'] | TShirtSizes['sm'] | TShirtSizes['md'];
|
|
333
421
|
layout?: 'inline' | 'centered';
|
|
334
|
-
grow?: boolean;
|
|
335
422
|
}
|
|
336
423
|
export interface TableElementProps {
|
|
337
424
|
children: React.ReactNode;
|
|
@@ -365,8 +452,23 @@ export interface LinkProps {
|
|
|
365
452
|
children: ReactNode;
|
|
366
453
|
href: string;
|
|
367
454
|
variant?: 'primary' | 'destructive' | 'light' | 'dark';
|
|
455
|
+
onClick?: () => void;
|
|
368
456
|
}
|
|
369
457
|
export type JsonValue = string | number | boolean | null | JsonValue[] | {
|
|
370
458
|
[key: string]: JsonValue;
|
|
371
459
|
};
|
|
460
|
+
export interface BoxProps {
|
|
461
|
+
children: ReactNode;
|
|
462
|
+
grow?: boolean;
|
|
463
|
+
alignSelf?: 'start' | 'center' | 'baseline' | 'end' | 'stretch' | 'auto';
|
|
464
|
+
}
|
|
465
|
+
interface TShirtSizes {
|
|
466
|
+
xs: 'extra-small' | 'xs';
|
|
467
|
+
sm: 'small' | 'sm';
|
|
468
|
+
md: 'medium' | 'md';
|
|
469
|
+
lg: 'large' | 'lg';
|
|
470
|
+
xl: 'extra-large' | 'xl';
|
|
471
|
+
}
|
|
472
|
+
export type AllSizes = TShirtSizes['xs'] | TShirtSizes['sm'] | TShirtSizes['md'] | TShirtSizes['lg'] | TShirtSizes['xl'];
|
|
473
|
+
export type AllDistances = 'flush' | AllSizes;
|
|
372
474
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hubspot/ui-extensions",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -48,5 +48,5 @@
|
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"typescript": "5.0.4"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "abac5960e6277af827714dcd4150ad7606e6a481"
|
|
52
52
|
}
|