@hubspot/ui-extensions 0.12.1 → 0.12.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 (42) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.js +1 -1
  3. package/dist/shared/remoteComponents.d.ts +9 -0
  4. package/dist/shared/remoteComponents.js +9 -0
  5. package/dist/shared/types/components/accordion.d.ts +1 -1
  6. package/dist/shared/types/components/alert.d.ts +1 -1
  7. package/dist/shared/types/components/app-home-header-actions.d.ts +2 -2
  8. package/dist/shared/types/components/button-row.d.ts +1 -1
  9. package/dist/shared/types/components/button.d.ts +4 -3
  10. package/dist/shared/types/components/chart.d.ts +2 -2
  11. package/dist/shared/types/components/description-list.d.ts +3 -3
  12. package/dist/shared/types/components/divider.d.ts +5 -1
  13. package/dist/shared/types/components/dropdown.d.ts +2 -2
  14. package/dist/shared/types/components/empty-state.d.ts +1 -1
  15. package/dist/shared/types/components/error-state.d.ts +1 -1
  16. package/dist/shared/types/components/form.d.ts +1 -1
  17. package/dist/shared/types/components/heading.d.ts +1 -1
  18. package/dist/shared/types/components/icon.d.ts +1 -1
  19. package/dist/shared/types/components/illustration.d.ts +1 -1
  20. package/dist/shared/types/components/image.d.ts +3 -2
  21. package/dist/shared/types/components/index.d.ts +1 -0
  22. package/dist/shared/types/components/inputs.d.ts +8 -8
  23. package/dist/shared/types/components/layouts.d.ts +5 -5
  24. package/dist/shared/types/components/link.d.ts +3 -2
  25. package/dist/shared/types/components/list.d.ts +1 -1
  26. package/dist/shared/types/components/loading-spinner.d.ts +1 -1
  27. package/dist/shared/types/components/progress-bar.d.ts +1 -1
  28. package/dist/shared/types/components/selects.d.ts +2 -2
  29. package/dist/shared/types/components/spacer.d.ts +14 -0
  30. package/dist/shared/types/components/spacer.js +1 -0
  31. package/dist/shared/types/components/statistics.d.ts +5 -5
  32. package/dist/shared/types/components/status-tag.d.ts +1 -1
  33. package/dist/shared/types/components/step-indicator.d.ts +1 -1
  34. package/dist/shared/types/components/table.d.ts +4 -4
  35. package/dist/shared/types/components/tag.d.ts +3 -2
  36. package/dist/shared/types/components/text.d.ts +1 -1
  37. package/dist/shared/types/components/tile.d.ts +1 -1
  38. package/dist/shared/types/components/toggle.d.ts +1 -1
  39. package/dist/shared/types/components/toggleInputs.d.ts +3 -3
  40. package/dist/shared/types/crm.d.ts +186 -42
  41. package/dist/shared/types/shared.d.ts +8 -0
  42. package/package.json +5 -5
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ import './clientTypes.ts';
2
2
  export { hubspot } from './hubspot.ts';
3
3
  export { logger } from './logger.ts';
4
4
  export * from './shared/types/index.ts';
5
- export { Accordion, Alert, AutoGrid, BarChart, Box, Button, ButtonRow, Card, Checkbox, CurrencyInput, DateInput, DescriptionList, DescriptionListItem, Divider, Dropdown, EmptyState, ErrorState, Flex, Form, Heading, Icon, Illustration, Image, Inline, Input, LineChart, Link, List, LoadingButton, LoadingSpinner, Modal, ModalBody, ModalFooter, MultiSelect, NumberInput, Panel, PanelBody, PanelFooter, PanelSection, ProgressBar, RadioButton, ScoreCircle, SearchInput, Select, Stack, Statistics, StatisticsItem, StatisticsTrend, StatusTag, StepIndicator, StepperInput, Tab, Table, TableBody, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, Tag, Text, TextArea, Textarea, Tile, TimeInput, Toggle, ToggleGroup, Tooltip, } from './shared/remoteComponents.tsx';
5
+ export { Accordion, Alert, AutoGrid, BarChart, Box, Button, ButtonRow, Card, Checkbox, CurrencyInput, DateInput, DescriptionList, DescriptionListItem, Divider, Dropdown, EmptyState, ErrorState, Flex, Form, Heading, Icon, Illustration, Image, Inline, Input, LineChart, Link, List, LoadingButton, LoadingSpinner, Modal, ModalBody, ModalFooter, MultiSelect, NumberInput, Panel, PanelBody, PanelFooter, PanelSection, ProgressBar, RadioButton, ScoreCircle, SearchInput, Select, Spacer, Stack, Statistics, StatisticsItem, StatisticsTrend, StatusTag, StepIndicator, StepperInput, Tab, Table, TableBody, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, Tag, Text, TextArea, Textarea, Tile, TimeInput, Toggle, ToggleGroup, Tooltip, } from './shared/remoteComponents.tsx';
6
6
  export { useExtensionContext } from './hooks/useExtensionContext.tsx';
7
7
  export { useExtensionActions } from './hooks/useExtensionActions.tsx';
8
8
  export { useExtensionApi } from './hooks/useExtensionApi.tsx';
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ import "./clientTypes.js";
3
3
  export { hubspot } from "./hubspot.js";
4
4
  export { logger } from "./logger.js";
5
5
  export * from "./shared/types/index.js";
6
- export { Accordion, Alert, AutoGrid, BarChart, Box, Button, ButtonRow, Card, Checkbox, CurrencyInput, DateInput, DescriptionList, DescriptionListItem, Divider, Dropdown, EmptyState, ErrorState, Flex, Form, Heading, Icon, Illustration, Image, Inline, Input, LineChart, Link, List, LoadingButton, LoadingSpinner, Modal, ModalBody, ModalFooter, MultiSelect, NumberInput, Panel, PanelBody, PanelFooter, PanelSection, ProgressBar, RadioButton, ScoreCircle, SearchInput, Select, Stack, Statistics, StatisticsItem, StatisticsTrend, StatusTag, StepIndicator, StepperInput, Tab, Table, TableBody, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, Tag, Text, TextArea, Textarea, Tile, TimeInput, Toggle, ToggleGroup, Tooltip, } from "./shared/remoteComponents.js";
6
+ export { Accordion, Alert, AutoGrid, BarChart, Box, Button, ButtonRow, Card, Checkbox, CurrencyInput, DateInput, DescriptionList, DescriptionListItem, Divider, Dropdown, EmptyState, ErrorState, Flex, Form, Heading, Icon, Illustration, Image, Inline, Input, LineChart, Link, List, LoadingButton, LoadingSpinner, Modal, ModalBody, ModalFooter, MultiSelect, NumberInput, Panel, PanelBody, PanelFooter, PanelSection, ProgressBar, RadioButton, ScoreCircle, SearchInput, Select, Spacer, Stack, Statistics, StatisticsItem, StatisticsTrend, StatusTag, StepIndicator, StepperInput, Tab, Table, TableBody, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, Tag, Text, TextArea, Textarea, Tile, TimeInput, Toggle, ToggleGroup, Tooltip, } from "./shared/remoteComponents.js";
7
7
  export { useExtensionContext } from "./hooks/useExtensionContext.js";
8
8
  export { useExtensionActions } from "./hooks/useExtensionActions.js";
9
9
  export { useExtensionApi } from "./hooks/useExtensionApi.js";
@@ -59,6 +59,15 @@ export declare const DescriptionListItem: import("./types/shared.ts").HubSpotRea
59
59
  * - {@link https://developers.hubspot.com/docs/reference/ui-components/standard-components/divider Docs}
60
60
  */
61
61
  export declare const Divider: import("./types/shared.ts").HubSpotReactComponent<componentTypes.DividerProps>;
62
+ /**
63
+ * The `Spacer` component renders vertical space between components. Use this component
64
+ * to add consistent spacing without using empty wrapper components.
65
+ *
66
+ * **Links:**
67
+ *
68
+ * - {@link https://developers.hubspot.com/docs/reference/ui-components/standard-components/spacer Docs}
69
+ */
70
+ export declare const Spacer: import("./types/shared.ts").HubSpotReactComponent<componentTypes.SpacerProps>;
62
71
  /**
63
72
  * The `EmptyState` component sets the content that appears when the extension is in an empty state. Use this component when there's no content or data to help guide users.
64
73
  *
@@ -63,6 +63,15 @@ export const DescriptionListItem = createAndRegisterRemoteReactComponent('Descri
63
63
  * - {@link https://developers.hubspot.com/docs/reference/ui-components/standard-components/divider Docs}
64
64
  */
65
65
  export const Divider = createAndRegisterRemoteReactComponent('Divider');
66
+ /**
67
+ * The `Spacer` component renders vertical space between components. Use this component
68
+ * to add consistent spacing without using empty wrapper components.
69
+ *
70
+ * **Links:**
71
+ *
72
+ * - {@link https://developers.hubspot.com/docs/reference/ui-components/standard-components/spacer Docs}
73
+ */
74
+ export const Spacer = createAndRegisterRemoteReactComponent('Spacer');
66
75
  /**
67
76
  * The `EmptyState` component sets the content that appears when the extension is in an empty state. Use this component when there's no content or data to help guide users.
68
77
  *
@@ -1,7 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { TShirtSizes, BaseComponentProps } from '../shared.ts';
3
3
  /**
4
- * The props type for {@link !components.Accordion}.
4
+ * The props type for [Accordion](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/accordion).
5
5
  *
6
6
  * @category Component Props
7
7
  */
@@ -1,7 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { BaseComponentProps } from '../shared.ts';
3
3
  /**
4
- * The props type for {@link !components.Alert}.
4
+ * The props type for [Alert](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/alert).
5
5
  *
6
6
  * @category Component Props
7
7
  */
@@ -2,7 +2,7 @@ import { ReactNode } from 'react';
2
2
  import { ReactionsHandler } from '../reactions.ts';
3
3
  import { ExtensionEvent, OverlayComponentProps, HrefProp, BaseComponentProps } from '../shared.ts';
4
4
  /**
5
- * The props type for {@link !components.HeaderActions}.
5
+ * The props type for [HeaderActions](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/create-an-app-home-page#headeractions).
6
6
  *
7
7
  * @category Component Props
8
8
  */
@@ -13,7 +13,7 @@ export interface HeaderActionsProps extends BaseComponentProps {
13
13
  children: ReactNode;
14
14
  }
15
15
  /**
16
- * The props type for {@link !components.HeaderActions}.
16
+ * The props type for [HeaderActions](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/create-an-app-home-page#headeractions).
17
17
  *
18
18
  * @category Component Props
19
19
  */
@@ -1,7 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { TShirtSizes, BaseComponentProps } from '../shared.ts';
3
3
  /**
4
- * The props type for {@link !components.ButtonRow}.
4
+ * The props type for [ButtonRow](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/button-row).
5
5
  *
6
6
  * @category Component Props
7
7
  */
@@ -3,7 +3,8 @@ import { OverlayComponentProps, HrefProp, TShirtSizes, IconNames, ExtensionEvent
3
3
  import { ReactionsHandler } from '../reactions.ts';
4
4
  export interface BaseButtonProps extends BaseComponentProps {
5
5
  /**
6
- * A function that will be invoked when the button is clicked. It receives no arguments and its return value is ignored.
6
+ * A function that will be invoked when the button is clicked. It receives an event object and a reactions object
7
+ * with methods to control overlays. Its return value is ignored.
7
8
  *
8
9
  * @event
9
10
  */
@@ -52,7 +53,7 @@ export interface BaseButtonProps extends BaseComponentProps {
52
53
  truncate?: boolean;
53
54
  }
54
55
  /**
55
- * The props type for {@link !components.Button}.
56
+ * The props type for [Button](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/button).
56
57
  *
57
58
  * @category Component Props
58
59
  */
@@ -71,7 +72,7 @@ export interface LoadingButtonOverlayOptions {
71
72
  openBehavior?: 'onClick' | 'onLoadingFinish';
72
73
  }
73
74
  /**
74
- * The props type for {@link !components.LoadingButton}.
75
+ * The props type for [LoadingButton](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/loading-button).
75
76
  *
76
77
  * @category Component Props
77
78
  */
@@ -24,7 +24,7 @@ export interface ChartProps extends BaseComponentProps {
24
24
  options?: ChartOptions;
25
25
  }
26
26
  /**
27
- * The props type for {@link !components.BarChart}.
27
+ * The props type for [BarChart](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/charts/bar-chart).
28
28
  *
29
29
  * @category Component Props
30
30
  */
@@ -57,7 +57,7 @@ export interface BarChartProps extends ChartProps {
57
57
  axes: ChartAxisPair;
58
58
  }
59
59
  /**
60
- * The props type for {@link !components.LineChart}.
60
+ * The props type for [LineChart](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/charts/line-chart).
61
61
  *
62
62
  * @category Component Props
63
63
  */
@@ -1,7 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { BaseComponentProps } from '../shared.ts';
3
3
  /**
4
- * The props type for {@link !components.DescriptionListItem}.
4
+ * The props type for [DescriptionListItem](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/description-list).
5
5
  *
6
6
  * @category Component Props
7
7
  */
@@ -18,13 +18,13 @@ export interface DescriptionListItemProps extends BaseComponentProps {
18
18
  label: string;
19
19
  }
20
20
  /**
21
- * The props type for {@link !components.DescriptionList}.
21
+ * The props type for [DescriptionList](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/description-list).
22
22
  *
23
23
  * @category Component Props
24
24
  */
25
25
  export interface DescriptionListProps extends BaseComponentProps {
26
26
  /**
27
- * Sets the content that will render inside the component. This prop is passed implicitly by providing sub-components. The children should be {@link !components.DescriptionListItem}.
27
+ * Sets the content that will render inside the component. This prop is passed implicitly by providing sub-components. The children should be [DescriptionListItem](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/description-list).
28
28
  *
29
29
  */
30
30
  children: ReactNode;
@@ -1,6 +1,6 @@
1
1
  import { AllDistances, BaseComponentProps } from '../shared.ts';
2
2
  /**
3
- * The props type for {@link !components.Divider}.
3
+ * The props type for [Divider](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/divider).
4
4
  *
5
5
  * @category Component Props
6
6
  */
@@ -10,5 +10,9 @@ export interface DividerProps extends BaseComponentProps {
10
10
  *
11
11
  * @defaultValue `"small"`
12
12
  */
13
+ size?: AllDistances;
14
+ /**
15
+ * @deprecated Use `size` instead.
16
+ */
13
17
  distance?: AllDistances;
14
18
  }
@@ -20,7 +20,7 @@ export interface DropdownOption {
20
20
  onClick?: () => void;
21
21
  }
22
22
  /**
23
- * The props type for {@link !components.DropdownButtonItem}.
23
+ * The props type for [DropdownButtonItem](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/dropdown).
24
24
  *
25
25
  * @category Component Props
26
26
  */
@@ -38,7 +38,7 @@ export interface DropdownButtonItemProps extends OverlayComponentProps, BaseComp
38
38
  onClick?: ReactionsHandler<ExtensionEvent>;
39
39
  }
40
40
  /**
41
- * The props type for {@link !components.Dropdown}.
41
+ * The props type for [Dropdown](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/dropdown).
42
42
  *
43
43
  * @category Component Props
44
44
  */
@@ -2,7 +2,7 @@ import { ReactNode } from 'react';
2
2
  import { BaseComponentProps } from '../shared.ts';
3
3
  export type EmptyStateImageName = 'addOnReporting' | 'announcement' | 'api' | 'automatedTesting' | 'beta' | 'building' | 'callingSetUp' | 'companies' | 'components' | 'cone' | 'contacts' | 'contentStrategy' | 'customObjects' | 'customerExperience' | 'customerSupport' | 'deals' | 'developerSecurityUpdate' | 'electronicSignature' | 'electronicSignatureEmptyState' | 'emailConfirmation' | 'emptyStateCharts' | 'idea' | 'integrations' | 'leads' | 'lock' | 'meetings' | 'missedGoal' | 'multipleObjects' | 'object' | 'productsShoppingCart' | 'registration' | 'sandboxAddOn' | 'social' | 'store' | 'storeDisabled' | 'successfullyConnectedEmail' | 'target' | 'task' | 'tickets' | 'voteAndSearch';
4
4
  /**
5
- * The props type for {@link !components.EmptyState}.
5
+ * The props type for [EmptyState](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/empty-state).
6
6
  *
7
7
  * @category Component Props
8
8
  */
@@ -1,7 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { BaseComponentProps } from '../shared.ts';
3
3
  /**
4
- * The props type for {@link !components.ErrorState}.
4
+ * The props type for [ErrorState](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/error-state).
5
5
  *
6
6
  * @category Component Props
7
7
  */
@@ -3,7 +3,7 @@ import { FormSubmitExtensionEvent, BaseComponentProps } from '../shared.ts';
3
3
  import { ReactionsHandler } from '../reactions.ts';
4
4
  export type FormInputValues = Record<string, string | number>;
5
5
  /**
6
- * The props type for {@link !components.Form}.
6
+ * The props type for [Form](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/form).
7
7
  *
8
8
  * @category Component Props
9
9
  */
@@ -1,7 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { BaseComponentProps } from '../shared.ts';
3
3
  /**
4
- * The props type for {@link !components.Heading}.
4
+ * The props type for [Heading](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/heading).
5
5
  *
6
6
  * @category Component Props
7
7
  */
@@ -1,7 +1,7 @@
1
1
  import { TShirtSizes, IconNames, BaseComponentProps } from '../shared.ts';
2
2
  export type IconColor = 'alert' | 'warning' | 'success' | 'inherit';
3
3
  /**
4
- * The props type for {@link !components.Icon}.
4
+ * The props type for [Icon](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/icon).
5
5
  *
6
6
  * @category Component Props
7
7
  */
@@ -1,6 +1,6 @@
1
1
  import { BaseComponentProps } from '../shared.ts';
2
2
  /**
3
- * The props type for {@link !components.Illustration}.
3
+ * The props type for [Illustration](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/illustration).
4
4
  *
5
5
  * @category Component Props
6
6
  */
@@ -1,7 +1,7 @@
1
1
  import { OverlayComponentProps, HrefProp, ExtensionEvent, BaseComponentProps } from '../shared.ts';
2
2
  import { ReactionsHandler } from '../reactions.ts';
3
3
  /**
4
- * The props type for {@link !components.Image}.
4
+ * The props type for [Image](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/image).
5
5
  *
6
6
  * @category Component Props
7
7
  */
@@ -22,7 +22,8 @@ export interface ImageProps extends OverlayComponentProps, BaseComponentProps {
22
22
  */
23
23
  href?: HrefProp;
24
24
  /**
25
- * A function that will be called when the image is clicked. This function will receive no arguments and any returned values will be ignored.
25
+ * A function that will be invoked when the button is clicked. It receives an event object and a reactions object
26
+ * with methods to control overlays. Its return value is ignored.
26
27
  *
27
28
  * @event
28
29
  */
@@ -26,6 +26,7 @@ export type * from './panel.ts';
26
26
  export type * from './progress-bar.ts';
27
27
  export type * from './score.ts';
28
28
  export type * from './selects.ts';
29
+ export type * from './spacer.ts';
29
30
  export type * from './statistics.ts';
30
31
  export type * from './status-tag.ts';
31
32
  export type * from './step-indicator.ts';
@@ -80,7 +80,7 @@ interface BaseInputProps<T = string, V = string> extends BaseComponentProps {
80
80
  onFocus?: (value: V) => void;
81
81
  }
82
82
  /**
83
- * The props type for {@link !components.Input}.
83
+ * The props type for [Input](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/input).
84
84
  *
85
85
  * @category Component Props
86
86
  */
@@ -93,7 +93,7 @@ export interface InputProps extends BaseInputProps {
93
93
  type?: 'text' | 'password';
94
94
  }
95
95
  /**
96
- * The props type for {@link !components.TextArea}.
96
+ * The props type for [TextArea](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/text-area).
97
97
  *
98
98
  * @category Component Props
99
99
  */
@@ -130,7 +130,7 @@ export type TextareaProps = TextAreaProps;
130
130
  * */
131
131
  type BaseInputForNumber = Omit<BaseInputProps<number, number>, 'onInput'>;
132
132
  /**
133
- * The props type for {@link !components.NumberInput}.
133
+ * The props type for [NumberInput](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/number-input).
134
134
  *
135
135
  * @category Component Props
136
136
  */
@@ -157,7 +157,7 @@ export interface NumberInputProps extends BaseInputForNumber {
157
157
  onInput?: (value: number) => void;
158
158
  }
159
159
  /**
160
- * The props type for {@link !components.CurrencyInput}.
160
+ * The props type for [CurrencyInput](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/currency-input).
161
161
  *
162
162
  * @category Component Props
163
163
  */
@@ -181,7 +181,7 @@ export interface CurrencyInputProps extends BaseInputForNumber {
181
181
  max?: number;
182
182
  }
183
183
  /**
184
- * The props type for {@link !components.StepperInput}.
184
+ * The props type for [StepperInput](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/stepper-input).
185
185
  *
186
186
  * @category Component Props
187
187
  */
@@ -219,7 +219,7 @@ export interface DateInputEventsPayload extends BaseDate {
219
219
  * */
220
220
  type BaseDateInputForDate = Omit<BaseInputProps<BaseDate | null, DateInputEventsPayload>, 'onInput' | 'placeholder'>;
221
221
  /**
222
- * The props type for {@link !components.DateInput}.
222
+ * The props type for [DateInput](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/date-input).
223
223
  *
224
224
  * @category Component Props
225
225
  */
@@ -306,7 +306,7 @@ export interface TimeInputEventsPayload extends BaseTime {
306
306
  * */
307
307
  type BaseTimeInputForTime = Omit<BaseInputProps<BaseTime | null, TimeInputEventsPayload>, 'onInput' | 'placeholder' | 'onChange'>;
308
308
  /**
309
- * The props type for {@link !components.TimeInput}.
309
+ * The props type for [TimeInput](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/time-input).
310
310
  *
311
311
  * @category Component Props
312
312
  */
@@ -338,7 +338,7 @@ export interface TimeInputProps extends BaseTimeInputForTime {
338
338
  timezone?: 'userTz' | 'portalTz';
339
339
  }
340
340
  /**
341
- * The props type for {@link !components.SearchInput}.
341
+ * The props type for [SearchInput](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/search-input).
342
342
  *
343
343
  * @category Component Props
344
344
  */
@@ -1,7 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { AllDistances, BaseComponentProps } from '../shared.ts';
3
3
  /**
4
- * The props type for {@link !components.Stack}.
4
+ * The props type for [Stack](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/flex).
5
5
  *
6
6
  * @category Component Props
7
7
  */
@@ -34,7 +34,7 @@ export interface StackProps extends BaseComponentProps {
34
34
  export type FlexJustify = 'center' | 'end' | 'start' | 'around' | 'between';
35
35
  export type FlexAlign = 'start' | 'center' | 'baseline' | 'end' | 'stretch';
36
36
  /**
37
- * The props type for {@link !components.Flex}.
37
+ * The props type for [Flex](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/flex).
38
38
  *
39
39
  * @category Component Props
40
40
  */
@@ -80,7 +80,7 @@ export interface FlexProps extends BaseComponentProps {
80
80
  wrap?: boolean | 'wrap' | 'nowrap';
81
81
  }
82
82
  /**
83
- * The props type for {@link !components.Box}.
83
+ * The props type for [Box](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/box).
84
84
  *
85
85
  * @category Component Props
86
86
  */
@@ -108,7 +108,7 @@ export interface BoxProps extends BaseComponentProps {
108
108
  flex?: 'initial' | 'auto' | 'none' | number;
109
109
  }
110
110
  /**
111
- * The props type for {@link !components.Inline}.
111
+ * The props type for [Inline](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/inline).
112
112
  *
113
113
  * @category Component Props
114
114
  */
@@ -137,7 +137,7 @@ export interface InlineProps extends BaseComponentProps {
137
137
  gap?: AllDistances;
138
138
  }
139
139
  /**
140
- * The props type for {@link !components.AutoGrid}.
140
+ * The props type for [AutoGrid](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/autogrid).
141
141
  *
142
142
  * @category Component Props
143
143
  */
@@ -2,7 +2,7 @@ import { ReactNode } from 'react';
2
2
  import { OverlayComponentProps, ExtensionEvent, HrefProp, BaseComponentProps } from '../shared.ts';
3
3
  import { ReactionsHandler } from '../reactions.ts';
4
4
  /**
5
- * The props type for {@link !components.Link}.
5
+ * The props type for [Link](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/link).
6
6
  *
7
7
  * @category Component Props
8
8
  */
@@ -27,7 +27,8 @@ export interface LinkProps extends OverlayComponentProps, BaseComponentProps {
27
27
  */
28
28
  variant?: 'primary' | 'destructive' | 'light' | 'dark';
29
29
  /**
30
- * A function that is invoked when the link is clicked. The function receives no arguments and its return value is ignored.
30
+ * A function that will be invoked when the button is clicked. It receives an event object and a reactions object
31
+ * with methods to control overlays. Its return value is ignored.
31
32
  *
32
33
  * @event
33
34
  */
@@ -1,7 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { BaseComponentProps } from '../shared.ts';
3
3
  /**
4
- * The props type for {@link !components.List}.
4
+ * The props type for [List](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/list).
5
5
  *
6
6
  * @category Component Props
7
7
  */
@@ -1,6 +1,6 @@
1
1
  import { TShirtSizes, BaseComponentProps } from '../shared.ts';
2
2
  /**
3
- * The props type for {@link !components.LoadingSpinner}.
3
+ * The props type for [LoadingSpinner](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/loading-spinner).
4
4
  *
5
5
  * @category Component Props
6
6
  */
@@ -1,6 +1,6 @@
1
1
  import { BaseComponentProps } from '../shared.ts';
2
2
  /**
3
- * The props type for {@link !components.ProgressBar}.
3
+ * The props type for [ProgressBar](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/progress-bar).
4
4
  *
5
5
  * @category Component Props
6
6
  */
@@ -57,7 +57,7 @@ export interface BaseSelectProps extends BaseComponentProps {
57
57
  variant?: 'transparent' | 'input';
58
58
  }
59
59
  /**
60
- * The props type for {@link !components.Select}.
60
+ * The props type for [Select](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/select).
61
61
  *
62
62
  * @category Component Props
63
63
  */
@@ -95,7 +95,7 @@ export interface SelectProps extends BaseSelectProps {
95
95
  }[];
96
96
  }
97
97
  /**
98
- * The props type for {@link !components.MultiSelect}.
98
+ * The props type for [MultiSelect](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/multi-select).
99
99
  *
100
100
  * @category Component Props
101
101
  */
@@ -0,0 +1,14 @@
1
+ import { AllSizesUnaliased, BaseComponentProps } from '../shared.ts';
2
+ /**
3
+ * The props type for [Spacer](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/spacer)
4
+ *
5
+ * @category Component Props
6
+ */
7
+ export interface SpacerProps extends BaseComponentProps {
8
+ /**
9
+ * The amount of vertical space to render.
10
+ *
11
+ * @defaultValue `"small"`
12
+ */
13
+ size?: AllSizesUnaliased;
14
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,7 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { BaseComponentProps } from '../shared.ts';
3
3
  /**
4
- * The props type for {@link !components.StatisticsTrend}.
4
+ * The props type for [StatisticsTrend](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/statistics).
5
5
  *
6
6
  * @category Component Props
7
7
  */
@@ -22,7 +22,7 @@ export interface StatisticsTrendProps extends BaseComponentProps {
22
22
  color?: 'red' | 'green';
23
23
  }
24
24
  /**
25
- * The props type for {@link !components.StatisticsItem}.
25
+ * The props type for [StatisticsItem](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/statistics).
26
26
  *
27
27
  * @category Component Props
28
28
  */
@@ -40,18 +40,18 @@ export interface StatisticsItemProps extends BaseComponentProps {
40
40
  */
41
41
  number: string | number;
42
42
  /**
43
- * Sets the content that will render inside the component. This prop is passed implicitly by providing sub-components. The children should be {@link !components.StatisticsTrend} or {@link !components.Text}.
43
+ * Sets the content that will render inside the component. This prop is passed implicitly by providing sub-components. The children should be [StatisticsTrend](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/statistics) or [Text](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/text).
44
44
  */
45
45
  children?: ReactNode;
46
46
  }
47
47
  /**
48
- * The props type for {@link !components.Statistics}.
48
+ * The props type for [Statistics](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/statistics).
49
49
  *
50
50
  * @category Component Props
51
51
  */
52
52
  export interface StatisticsProps extends BaseComponentProps {
53
53
  /**
54
- * Sets the content that will render inside the component. This prop is passed implicitly by providing sub-components. The children should be {@link !components.StatisticsItem}.
54
+ * Sets the content that will render inside the component. This prop is passed implicitly by providing sub-components. The children should be [StatisticsItem](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/statistics).
55
55
  */
56
56
  children: ReactNode;
57
57
  }
@@ -1,7 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { BaseComponentProps } from '../shared.ts';
3
3
  /**
4
- * The props type for {@link !components.StatusTag}.
4
+ * The props type for [StatusTag](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/status-tag).
5
5
  *
6
6
  * @category Component Props
7
7
  */
@@ -1,6 +1,6 @@
1
1
  import { AllSizes, BaseComponentProps } from '../shared.ts';
2
2
  /**
3
- * The props type for {@link !components.StepIndicator}.
3
+ * The props type for [StepIndicator](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/step-indicator).
4
4
  *
5
5
  * @category Component Props
6
6
  */
@@ -32,7 +32,7 @@ export type TableCellProps = TableElementProps & AlignmentProps & WidthProps & {
32
32
  colSpan?: number;
33
33
  } & BaseComponentProps;
34
34
  /**
35
- * The props type for {@link !components.TableHeader} when sorted === never.
35
+ * The props type for [TableHeader](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/table) when sorted === never.
36
36
  *
37
37
  * @category Component Props
38
38
  */
@@ -40,7 +40,7 @@ export interface UnSortedTableHeaderProps extends BaseTableHeaderProps {
40
40
  sortDirection?: 'never';
41
41
  }
42
42
  /**
43
- * The props type for {@link !components.TableHeader} when sorted !== never.
43
+ * The props type for [TableHeader](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/table) when sorted !== never.
44
44
  *
45
45
  * @category Component Props
46
46
  */
@@ -65,7 +65,7 @@ export interface SortedTableHeaderProps extends BaseTableHeaderProps {
65
65
  disabled?: boolean;
66
66
  }
67
67
  /**
68
- * The props type for {@link !components.TableHeader}.
68
+ * The props type for [TableHeader](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/table).
69
69
  *
70
70
  * @category Component Props
71
71
  */
@@ -141,7 +141,7 @@ export interface TablePaginatedProps extends BaseTableProps {
141
141
  onPageChange: (pageNumber: number) => void;
142
142
  }
143
143
  /**
144
- * The props type for {@link !components.Table}.
144
+ * The props type for [Table](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/table).
145
145
  *
146
146
  * @category Component Props
147
147
  */
@@ -2,7 +2,7 @@ import { ReactNode } from 'react';
2
2
  import { OverlayComponentProps, ExtensionEvent, BaseComponentProps } from '../shared.ts';
3
3
  import { ReactionsHandler } from '../reactions.ts';
4
4
  /**
5
- * The props type for {@link !components.Tag}.
5
+ * The props type for [Tag](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/tag).
6
6
  *
7
7
  * @category Component Props
8
8
  */
@@ -18,7 +18,8 @@ export interface TagProps extends OverlayComponentProps, BaseComponentProps {
18
18
  */
19
19
  variant?: 'default' | 'warning' | 'success' | 'error' | 'info';
20
20
  /**
21
- * A function that will be invoked when the tag is clicked. The function receives no arguments and its return value is ignored.
21
+ * A function that will be invoked when the button is clicked. It receives an event object and a reactions object
22
+ * with methods to control overlays. Its return value is ignored.
22
23
  *
23
24
  * @event
24
25
  */
@@ -41,7 +41,7 @@ export interface TruncateOptions {
41
41
  tooltipText?: string;
42
42
  }
43
43
  /**
44
- * The props type for {@link !components.Text}.
44
+ * The props type for [Text](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/text).
45
45
  *
46
46
  * @interface
47
47
  * @category Component Props
@@ -1,7 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { BaseComponentProps } from '../shared.ts';
3
3
  /**
4
- * The props type for {@link !components.Tile}.
4
+ * The props type for [Tile](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/tile).
5
5
  *
6
6
  * @category Component Props
7
7
  */
@@ -1,6 +1,6 @@
1
1
  import { TShirtSizes, BaseComponentProps } from '../shared.ts';
2
2
  /**
3
- * The props type for {@link !components.Toggle}.
3
+ * The props type for [Toggle](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/toggle).
4
4
  *
5
5
  * @category Component Props
6
6
  */
@@ -1,6 +1,6 @@
1
1
  import { BaseComponentProps } from '../shared.ts';
2
2
  /**
3
- * The props type for {@link !components.Checkbox}.
3
+ * The props type for [Checkbox](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/checkbox).
4
4
  *
5
5
  * @category Component Props
6
6
  */
@@ -61,7 +61,7 @@ export interface CheckboxProps extends BaseComponentProps {
61
61
  'aria-label'?: string;
62
62
  }
63
63
  /**
64
- * The props type for {@link !components.RadioButton}.
64
+ * The props type for [RadioButton](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/radio-button).
65
65
  * @category Component Props
66
66
  * @interface
67
67
  */
@@ -189,7 +189,7 @@ type DefaultToggleTypeProps = {
189
189
  toggleType?: never;
190
190
  } & CheckboxGroupProps;
191
191
  /**
192
- * The props type for {@link !components.ToggleGroup}.
192
+ * The props type for [ToggleGroup](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/toggle-group).
193
193
  *
194
194
  * @interface
195
195
  * @category Component Props
@@ -1,6 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { TShirtSizes, BaseComponentProps } from './shared.ts';
3
- /** @ignore */
4
3
  export interface CrmDataHighlightProps extends BaseComponentProps {
5
4
  /**
6
5
  * The properties to display, up to four. By default, will display property data from the currently displaying record. To pull data from a specific record, include the `objectTypeId` and `objectId` props.
@@ -15,7 +14,6 @@ export interface CrmDataHighlightProps extends BaseComponentProps {
15
14
  */
16
15
  objectId?: number;
17
16
  }
18
- /** @ignore */
19
17
  export interface CrmReportProps extends BaseComponentProps {
20
18
  /**
21
19
  * The numeric ID of the single object report, which can be found in the URL when viewing the report in HubSpot.
@@ -31,7 +29,6 @@ export interface CrmReportProps extends BaseComponentProps {
31
29
  */
32
30
  use?: 'associations' | 'subject' | 'unfiltered';
33
31
  }
34
- /** @ignore */
35
32
  export interface CrmPropertyListProps extends BaseComponentProps {
36
33
  /**
37
34
  * The properties to display, up to 24. By default, will display property data from the currently displaying record. To pull data from a specific record, include the `objectTypeId` and `objectId` props.
@@ -52,12 +49,10 @@ export interface CrmPropertyListProps extends BaseComponentProps {
52
49
  */
53
50
  objectId?: number;
54
51
  }
55
- /** @ignore */
56
52
  type CrmSortDescriptor = {
57
53
  columnName: string;
58
54
  direction: 1 | -1;
59
55
  };
60
- /** @ignore */
61
56
  interface CrmSearchFilter {
62
57
  operator: 'EQ' | 'NEQ' | 'LT' | 'LTE' | 'GT' | 'GTE' | 'BETWEEN' | 'IN' | 'NOT_IN' | 'HAS_PROPERTY' | 'NOT_HAS_PROPERTY';
63
58
  value?: string | number;
@@ -65,56 +60,132 @@ interface CrmSearchFilter {
65
60
  highValue?: string | number;
66
61
  property: string;
67
62
  }
68
- /** @ignore */
69
63
  export interface CrmAssociationTableProps extends BaseComponentProps {
64
+ /**
65
+ * The numeric ID of the type of associated object to display (e.g., `0-1` for contacts). See [complete list](https://developers.hubspot.com/guides/crm/understanding-the-crm#object-type-ids) of object IDs.
66
+ */
70
67
  objectTypeId: string;
68
+ /**
69
+ * The properties to display as table columns.
70
+ */
71
71
  propertyColumns: Array<string>;
72
+ /**
73
+ * The properties that appear as filters above the table. When included, the "Association label" quick filter will always display. See note below for more details on this prop.
74
+ */
72
75
  quickFilterProperties?: Array<string>;
76
+ /**
77
+ * When set to `false`, hides the search bar above the table.
78
+ */
73
79
  searchable?: boolean;
80
+ /**
81
+ * When set to `false`, hides the pagination navigation below the table.
82
+ */
74
83
  pagination?: boolean;
84
+ /**
85
+ * When set to `false`, hides the "Association label" quick filter above the table.
86
+ */
75
87
  associationLabelFilter?: boolean;
88
+ /**
89
+ * The number of rows to include per page of results. Include the `pagination` property to enable users to navigate through returned results.
90
+ */
76
91
  pageSize?: number;
92
+ /**
93
+ * Filters the data by specific values of the associated records. Review the [CRM data filter options](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/crm-data-components/overview#filtering-data) for more information.
94
+ */
77
95
  preFilters?: Array<CrmSearchFilter>;
96
+ /**
97
+ * The default sorting behavior for the table. In each sort object in the array, you'll specify the following:
98
+ * - `columnName`: the column to sort by.
99
+ * - `direction`: the direction to sort by. Can be either `1` (ascending) or `-1` (descending). By default, order is ascending.
100
+ */
78
101
  sort?: Array<CrmSortDescriptor>;
79
102
  }
80
- /** @ignore */
81
103
  export interface CrmAssociationPivotProps extends BaseComponentProps {
104
+ /**
105
+ * The numeric ID of the type of associated object to display (e.g., `0-1` for contacts). See [complete list](https://developers.hubspot.com/guides/crm/understanding-the-crm#object-type-ids) of object IDs.
106
+ */
82
107
  objectTypeId: string;
108
+ /**
109
+ * Filters results by specific association labels. By default, all association labels will appear.
110
+ */
83
111
  associationLabels?: Array<string>;
112
+ /**
113
+ * The number of items to return in each association label group before displaying a "Show more" button.
114
+ */
84
115
  maxAssociations?: number;
116
+ /**
117
+ * Filters the data by specific values of the associated records. Review the [CRM data filter options](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/crm-data-components/overview#filtering-data) for more information.
118
+ */
85
119
  preFilters?: Array<CrmSearchFilter>;
120
+ /**
121
+ * The default sorting behavior for the table. In the array, you'll include an object for the column you want to sort by, which specifies:
122
+ * - `columnName`: the column to sort by.
123
+ * - `direction`: the direction to sort by. Can be either `1` (ascending) or `-1` (descending). By default, order is ascending.
124
+ */
86
125
  sort?: Array<CrmSortDescriptor>;
87
126
  }
88
- /** @ignore */
89
127
  export interface CrmAssociationStageTrackerProps extends BaseComponentProps {
128
+ /**
129
+ * The numeric ID of the type of associated object to display data from (e.g., `0-1` for contacts). See [complete list](https://developers.hubspot.com/guides/crm/understanding-the-crm#object-type-ids) of object IDs.
130
+ */
90
131
  objectTypeId: string;
132
+ /**
133
+ * The properties of the associated records to display, up to four.
134
+ */
91
135
  properties: Array<string>;
136
+ /**
137
+ * If provided, will only request a list of associated records with the specified label (case sensitive).
138
+ */
92
139
  associationLabels?: Array<string>;
140
+ /**
141
+ * If provided, the component will request a list of associated records that match the specified criteria. Learn more about [filtering in CRM data components](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/crm-data-components/overview#filtering-data).
142
+ */
93
143
  filters?: Array<CrmSearchFilter>;
144
+ /**
145
+ * Whether to display the properties below the progress indicator. When set to `false`, properties will not display.
146
+ */
94
147
  showProperties?: boolean;
148
+ /**
149
+ * If provided, overrides the default sorting rules used in the search query. In the array, you'll include an object for the column you want to sort by, which specifies:
150
+ * - `columnName`: the column to sort by.
151
+ * - `direction`: the direction to sort by. Can be either `1` (ascending) or `-1` (descending). By default, order is ascending.
152
+ */
95
153
  sort?: Array<CrmSortDescriptor>;
96
154
  }
97
- /** @ignore */
98
155
  export interface CrmSimpleDeadlineProps extends BaseComponentProps {
156
+ /**
157
+ * The name of the property that contains the deadline date.
158
+ */
99
159
  endDatePropertyName: string;
160
+ /**
161
+ * The properties to display below the progress bar.
162
+ */
100
163
  properties: Array<string>;
164
+ /**
165
+ * The theme to apply to the progress bar.
166
+ */
101
167
  progressTheme?: ProgressTheme;
168
+ /**
169
+ * Whether to show provided properties below the progress bar.
170
+ */
102
171
  showProperties?: boolean;
172
+ /**
173
+ * The name of the property that contains the start date.
174
+ */
103
175
  startDatePropertyName: string;
104
176
  }
105
- /** @ignore */
106
177
  export interface CrmRelativeTimelineProps {
178
+ /**
179
+ * The names of the properties to display.
180
+ */
107
181
  properties: Array<string>;
108
182
  }
109
- /** @ignore */
110
183
  interface BaseCrmStatisticItem {
111
184
  label: string;
112
185
  }
113
- /** @ignore */
114
186
  interface FilterGroup {
115
187
  filters: Array<CrmSearchFilter>;
116
188
  }
117
- /** @ignore */
118
189
  interface ProgressTheme {
119
190
  backgroundColor?: string;
120
191
  completedColor?: string;
@@ -124,16 +195,13 @@ interface ProgressTheme {
124
195
  completedGradient?: Gradient;
125
196
  upcomingGradient?: Gradient;
126
197
  }
127
- /** @ignore */
128
198
  interface PercentileMetricItem extends BaseCrmStatisticItem {
129
199
  statisticType: 'PERCENTILES';
130
200
  propertyName: string;
131
201
  percentile: number;
132
202
  filterGroups?: Array<FilterGroup>;
133
203
  }
134
- /** @ignore */
135
204
  type CrmStatisticItem = BasicMetricItem | PercentileMetricItem;
136
- /** @ignore */
137
205
  export interface CrmStatisticsProps extends BaseComponentProps {
138
206
  /**
139
207
  * The numeric ID of the type of object to fetch statistics about (e.g., `0-1` for contacts).
@@ -144,50 +212,61 @@ export interface CrmStatisticsProps extends BaseComponentProps {
144
212
  */
145
213
  statistics: Array<CrmStatisticItem>;
146
214
  }
147
- /** @ignore */
148
215
  interface BasicMetricItem extends BaseCrmStatisticItem {
149
216
  statisticType: 'SUM' | 'AVG' | 'MIN' | 'MAX' | 'DISTINCT_APPROX' | 'COUNT';
150
217
  propertyName: string;
151
218
  filterGroups?: Array<FilterGroup>;
152
219
  }
153
- /** @ignore */
154
220
  interface Gradient {
155
221
  startColor: string;
156
222
  endColor: string;
157
223
  }
158
- /** @ignore */
159
224
  export interface CrmStageTrackerProps extends BaseComponentProps {
160
225
  /**
161
226
  * The ID of the CRM record to display property data from.
162
227
  */
163
228
  objectId?: number;
164
229
  /**
165
- * The numeric ID of the type of associated object to display (e.g., `0-1` for contacts).
230
+ * The numeric ID of the type of associated object to display (e.g., `0-1` for contacts). See [complete list](https://developers.hubspot.com/guides/crm/understanding-the-crm#object-type-ids) of object IDs.
166
231
  */
167
232
  objectTypeId?: string;
168
233
  /**
169
- * The properties to display, up to four. By default, will display property data from the currently displaying record.
234
+ * The properties to display, up to four. By default, will display property data from the currently displaying record. To pull data from a specific record, include the `objectTypeId` and `objectId` props.
170
235
  */
171
236
  properties: Array<string>;
172
237
  /**
173
- * Whether to display the properties below the progress indicator.
238
+ * Whether to display the properties below the progress indicator. When set to `false`, properties will not display.
174
239
  */
175
240
  showProperties?: boolean;
176
241
  }
177
- /** @ignore */
178
242
  export interface CrmAssociationPropertyListProps extends BaseComponentProps {
243
+ /**
244
+ * The numeric ID of the type of associated object to display (e.g., `0-1` for contacts). See [complete list](https://developers.hubspot.com/guides/crm/understanding-the-crm#object-type-ids) of object IDs.
245
+ */
179
246
  objectTypeId: string;
247
+ /**
248
+ * The list of properties to display from the associated record, up to 24.
249
+ */
180
250
  properties: Array<string>;
251
+ /**
252
+ * When provided, returns associated records that have all the specified labels.
253
+ */
181
254
  associationLabels?: Array<string>;
255
+ /**
256
+ * Filters the data by specific values of the associated records. Review the [CRM data filter options](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/crm-data-components/overview#filtering-data) for more information.
257
+ */
182
258
  filters?: Array<CrmSearchFilter>;
259
+ /**
260
+ * The default sorting behavior for the table. In each sort object in the array, you'll specify the following:
261
+ * - `columnName`: the column to sort by.
262
+ * - `direction`: the direction to sort by. Can be either `1` (ascending) or `-1` (descending). By default, order is ascending.
263
+ */
183
264
  sort?: Array<CrmSortDescriptor>;
184
265
  }
185
- /** @ignore */
186
266
  interface ObjectCoordinates {
187
267
  objectTypeId: string;
188
268
  objectId: number;
189
269
  }
190
- /** @ignore */
191
270
  interface OpenRecordAssociationFormArgs {
192
271
  objectTypeId: string;
193
272
  association: {
@@ -195,7 +274,6 @@ interface OpenRecordAssociationFormArgs {
195
274
  objectId: number;
196
275
  };
197
276
  }
198
- /** @ignore */
199
277
  interface ActivityCreatorActionArgs {
200
278
  objectTypeId: string;
201
279
  objectId: number;
@@ -203,34 +281,28 @@ interface ActivityCreatorActionArgs {
203
281
  initialEmailBody?: string;
204
282
  initialEmailSubject?: string;
205
283
  }
206
- /** @ignore */
207
284
  interface EngagementAppLinkArgs {
208
285
  objectId: number | string;
209
286
  objectTypeId: string;
210
287
  engagementId: number | string;
211
288
  external?: boolean;
212
289
  }
213
- /** @ignore */
214
290
  interface RecordAppLinkArgs {
215
291
  includeEschref?: boolean;
216
292
  objectId: number;
217
293
  objectTypeId: string;
218
294
  external?: boolean;
219
295
  }
220
- /** @ignore */
221
296
  interface PageAppLinkArgs {
222
297
  path: string;
223
298
  external?: boolean;
224
299
  }
225
- /** @ignore */
226
300
  interface ExternalUrlArgs {
227
301
  href: string;
228
302
  }
229
- /** @ignore */
230
303
  interface OpenRecordCreatorFormArgs {
231
304
  objectTypeId: string;
232
305
  }
233
- /** @ignore */
234
306
  interface ActionArgs {
235
307
  PREVIEW_OBJECT: ObjectCoordinates;
236
308
  ADD_NOTE: ActivityCreatorActionArgs;
@@ -245,56 +317,128 @@ interface ActionArgs {
245
317
  EXTERNAL_URL: ExternalUrlArgs;
246
318
  OPEN_WORKFLOW_ENROLLMENT_MODAL: ObjectCoordinates;
247
319
  }
248
- /** @ignore */
249
320
  export type ArgsFor<SpecificActionType extends ActionType> = ActionArgs[SpecificActionType];
250
321
  export type ActionType = 'PREVIEW_OBJECT' | 'ADD_NOTE' | 'ADD_TASK' | 'SEND_EMAIL' | 'SCHEDULE_MEETING' | 'OPEN_RECORD_CREATOR_FORM' | 'OPEN_RECORD_ASSOCIATION_FORM' | 'ENGAGEMENT_APP_LINK' | 'RECORD_APP_LINK' | 'PAGE_APP_LINK' | 'EXTERNAL_URL' | 'OPEN_WORKFLOW_ENROLLMENT_MODAL';
251
- /** @ignore */
252
322
  interface BaseActionComponent extends BaseComponentProps {
323
+ /**
324
+ * The content that will render inside the component.
325
+ */
253
326
  children: ReactNode;
327
+ /**
328
+ * The type of action to perform. See [list of available actions](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/crm-action-components/overview#available-actions) for more information.
329
+ */
254
330
  actionType: ActionType;
331
+ /**
332
+ * An object containing the CRM object and record context for performing the action. See [list of available actions](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/crm-action-components/overview#available-actions) for required context values.
333
+ */
255
334
  actionContext: ArgsFor<ActionType>;
335
+ /**
336
+ * An optional callback that will pass any error messages that were generated. Common errors include missing required context values or the user not having sufficient permissions to perform an action.
337
+ */
256
338
  onError?: (errors: string[]) => void;
257
339
  }
258
- /** @ignore */
259
340
  export interface CrmActionButtonProps extends BaseActionComponent {
341
+ /**
342
+ * The color variation of the button.
343
+ *
344
+ * @defaultValue `"secondary"`
345
+ */
260
346
  variant?: 'primary' | 'secondary' | 'destructive';
347
+ /**
348
+ * The button's HTML `role` attribute.
349
+ *
350
+ * @defaultValue `"button"`
351
+ */
261
352
  type?: 'button' | 'reset' | 'submit';
353
+ /**
354
+ * The size of the button.
355
+ *
356
+ * @defaultValue `"medium"`
357
+ */
262
358
  size?: TShirtSizes['xs'] | TShirtSizes['sm'] | TShirtSizes['md'];
359
+ /**
360
+ * A function that will be invoked when the button is clicked. It receives no arguments and its return value is ignored.
361
+ */
263
362
  onClick?: () => void;
363
+ /**
364
+ * When set to `true`, button renders in a disabled, greyed-out state and cannot be clicked.
365
+ */
366
+ disabled?: boolean;
264
367
  }
265
- /** @ignore */
266
368
  export interface CrmActionLinkProps extends BaseActionComponent {
369
+ /**
370
+ * The color variation of the link. See the [variants section](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/crm-action-components/crm-action-link#variants) for more information.
371
+ *
372
+ * @defaultValue `"primary"`
373
+ */
267
374
  variant?: 'primary' | 'light' | 'dark' | 'destructive';
268
375
  }
269
- /** @ignore */
270
376
  export interface ActionLibraryButtonCardActionConfig<SpecificActionType extends ActionType = ActionType> {
377
+ /**
378
+ * The type of button to render:
379
+ * - `action-library-button`: a standalone button that can perform one action.
380
+ * - `dropdown`: a dropdown menu button containing multiple `'action-library-button'` actions. When using this type, you'll need to include an `options` array containing each action.
381
+ */
271
382
  type: 'action-library-button';
383
+ /**
384
+ * The type of action to perform. See [list of available actions](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/crm-action-components/overview#available-actions) for more information.
385
+ */
272
386
  actionType: SpecificActionType;
387
+ /**
388
+ * An object containing the CRM object and record context for performing the action. See [list of available actions](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/crm-action-components/overview#available-actions) for required context values.
389
+ */
273
390
  actionContext: ArgsFor<SpecificActionType>;
391
+ /**
392
+ * The button's label text.
393
+ */
274
394
  label?: string;
395
+ /**
396
+ * When set to `true`, the button or dropdown menu option will render in a disabled, greyed-out state and can't be clicked.
397
+ */
275
398
  disabled?: boolean;
399
+ /**
400
+ * Tooltip text that appears when hovering over the button or dropdown menu option.
401
+ */
276
402
  tooltipText?: string;
277
403
  }
278
- /** @ignore */
279
404
  export type DropdownCardActionConfigOptions = [
280
405
  ActionLibraryButtonCardActionConfig,
281
406
  ...ActionLibraryButtonCardActionConfig[]
282
407
  ];
283
- /** @ignore */
284
408
  export interface DropdownCardActionConfig {
409
+ /**
410
+ * The type of button to render:
411
+ * - `action-library-button`: a standalone button that can perform one action.
412
+ * - `dropdown`: a dropdown menu button containing multiple `'action-library-button'` actions. When using this type, you'll need to include an `options` array containing each action.
413
+ */
285
414
  type: 'dropdown';
415
+ /**
416
+ * For `dropdown` type buttons, this array stores objects for each action in the dropdown menu. Each action should be set to the `'action-library-button'` type.
417
+ */
286
418
  options: DropdownCardActionConfigOptions;
419
+ /**
420
+ * The button's label text.
421
+ */
287
422
  label?: string;
423
+ /**
424
+ * When set to `true`, the button or dropdown menu option will render in a disabled, greyed-out state and can't be clicked.
425
+ */
288
426
  disabled?: boolean;
427
+ /**
428
+ * Tooltip text that appears when hovering over the button or dropdown menu option.
429
+ */
289
430
  tooltipText?: string;
290
431
  }
291
- /** @ignore */
292
432
  type ErrorHandler = (errors: string[]) => void;
293
- /** @ignore */
294
433
  type CardActionConfig = ActionLibraryButtonCardActionConfig | DropdownCardActionConfig;
295
- /** @ignore */
296
434
  export type CrmCardActionsProps = BaseComponentProps & {
435
+ /**
436
+ * An array that stores fields for configuration button actions. See below for list of supported fields.
437
+ */
297
438
  actionConfigs: Array<CardActionConfig>;
439
+ /**
440
+ * An optional callback that will pass any error messages that were generated. Common errors include missing required context values or the user not having sufficient permissions to perform an action.
441
+ */
298
442
  onError?: ErrorHandler;
299
443
  };
300
444
  export {};
@@ -21,6 +21,13 @@ export declare class FormSubmitExtensionEvent<V> extends ExtensionEvent {
21
21
  constructor(value: V, event: Event);
22
22
  }
23
23
  export type OverlayComponentProps = {
24
+ /**
25
+ * Include a [Modal](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/modal) or
26
+ * [Panel](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-components/standard-components/panel) component to
27
+ * open it as an overlay on click.
28
+ *
29
+ * Learn more about [using overlays](https://developers.hubspot.com/docs/apps/developer-platform/add-features/ui-extensibility/ui-extensions-sdk#open-overlays).
30
+ */
24
31
  overlay?: ReactNode;
25
32
  };
26
33
  export type HrefOptions = {
@@ -36,6 +43,7 @@ export interface TShirtSizes {
36
43
  xl: 'extra-large' | 'xl';
37
44
  }
38
45
  export type AllSizes = TShirtSizes['xs'] | TShirtSizes['sm'] | TShirtSizes['md'] | TShirtSizes['lg'] | TShirtSizes['xl'];
46
+ export type AllSizesUnaliased = 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large';
39
47
  export type AllDistances = 'flush' | AllSizes;
40
48
  export declare const iconNames: {
41
49
  readonly add: "add";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hubspot/ui-extensions",
3
- "version": "0.12.1",
3
+ "version": "0.12.2",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -61,19 +61,19 @@
61
61
  "devDependencies": {
62
62
  "@testing-library/dom": "^10.4.0",
63
63
  "@testing-library/react": "^14.1.2",
64
- "@types/node": "^20.11.0",
64
+ "@types/node": "^22.14.0",
65
65
  "@types/react": "^18.3.1",
66
66
  "@types/react-dom": "^18.3.1",
67
- "@vitest/coverage-v8": "2.1.8",
67
+ "@vitest/coverage-v8": "4.0.18",
68
68
  "jsdom": "26.1.0",
69
69
  "react-dom": "18.3.1",
70
70
  "react-reconciler": "^0.29.0",
71
71
  "tsd": "^0.33.0",
72
72
  "typescript": "5.9.3",
73
- "vitest": "2.1.9"
73
+ "vitest": "4.0.18"
74
74
  },
75
75
  "tsd": {
76
76
  "directory": "src/__tests__/test-d"
77
77
  },
78
- "gitHead": "3da4a07183d48528ef431d46a8d327c053c4fe94"
78
+ "gitHead": "b8c8170048a28b28112833cb552be43d4587c2ed"
79
79
  }