@hubspot/ui-extensions 0.8.26 → 0.8.28

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.
@@ -17,4 +17,10 @@ declare const Iframe: "Iframe" & {
17
17
  readonly props?: types.IframeProps | undefined;
18
18
  readonly children?: true | undefined;
19
19
  } & import("@remote-ui/react").ReactComponentTypeFromRemoteComponentType<import("@remote-ui/types").RemoteComponentType<"Iframe", types.IframeProps, true>>;
20
- export { Tooltip, Slider, Iframe };
20
+ /** @experimental This component is experimental. Avoid using it in production due to potential breaking changes. Your feedback is valuable for improvements. Stay tuned for updates. */
21
+ declare const LoadingButton: "LoadingButton" & {
22
+ readonly type?: "LoadingButton" | undefined;
23
+ readonly props?: types.LoadingButtonProps | undefined;
24
+ readonly children?: true | undefined;
25
+ } & import("@remote-ui/react").ReactComponentTypeFromRemoteComponentType<import("@remote-ui/types").RemoteComponentType<"LoadingButton", types.LoadingButtonProps, true>>;
26
+ export { Tooltip, Slider, Iframe, LoadingButton };
@@ -5,4 +5,8 @@ const Tooltip = createRemoteReactComponent('Tooltip');
5
5
  const Slider = createRemoteReactComponent('Slider');
6
6
  /** @experimental This component is experimental. Avoid using it in production due to potential breaking changes. Your feedback is valuable for improvements. Stay tuned for updates. */
7
7
  const Iframe = createRemoteReactComponent('Iframe');
8
- export { Tooltip, Slider, Iframe };
8
+ /** @experimental This component is experimental. Avoid using it in production due to potential breaking changes. Your feedback is valuable for improvements. Stay tuned for updates. */
9
+ const LoadingButton = createRemoteReactComponent('LoadingButton', {
10
+ fragmentProps: ['overlay'],
11
+ });
12
+ export { Tooltip, Slider, Iframe, LoadingButton };
package/dist/types.d.ts CHANGED
@@ -38,12 +38,7 @@ export interface AlertProps {
38
38
  */
39
39
  variant?: 'info' | 'warning' | 'success' | 'error' | 'danger' | 'tip';
40
40
  }
41
- /**
42
- * The props type for {@link !components.Button}.
43
- *
44
- * @category Component Props
45
- */
46
- export interface ButtonProps extends OverlayComponentProps {
41
+ export interface BaseButtonProps {
47
42
  /**
48
43
  * A function that will be invoked when the button is clicked. Do not use this function for submitting a form; use Form's `onSubmit` function instead.
49
44
  *
@@ -81,6 +76,54 @@ export interface ButtonProps extends OverlayComponentProps {
81
76
  */
82
77
  size?: TShirtSizes['xs'] | TShirtSizes['sm'] | TShirtSizes['md'];
83
78
  }
79
+ /**
80
+ * The props type for {@link !components.Button}.
81
+ *
82
+ * @category Component Props
83
+ */
84
+ export interface ButtonProps extends BaseButtonProps, OverlayComponentProps {
85
+ }
86
+ /**
87
+ * Extra configuration passed to the overlay
88
+ */
89
+ export interface LoadingButtonOverlayOptions {
90
+ /**
91
+ * If `onLoadingFinish`, the overlay will open once the loading operation is done.
92
+ * If `onClick`, the overlay will open as soon as there is a click on the button.
93
+ *
94
+ * @defaultValue `"onClick"`
95
+ */
96
+ openBehavior?: 'onClick' | 'onLoadingFinish';
97
+ }
98
+ /**
99
+ * The props type for {@link !components.LoadingButton}.
100
+ *
101
+ * @category Component Props
102
+ */
103
+ export interface LoadingButtonProps extends BaseButtonProps, OverlayComponentProps {
104
+ /**
105
+ * Sets the color variation of the button.
106
+ *
107
+ * @defaultValue `"secondary"`
108
+ */
109
+ variant?: 'primary' | 'secondary' | 'destructive';
110
+ /**
111
+ * If true, the loading indicator is shown and the button becomes disabled.
112
+ *
113
+ * @defaultValue `false`
114
+ */
115
+ loading?: boolean;
116
+ /**
117
+ * Extra configuration passed to the overlay
118
+ */
119
+ overlayOptions?: LoadingButtonOverlayOptions;
120
+ /**
121
+ * Controls the icon that's shown after loading is done.
122
+ *
123
+ * @defaultValue `"success"`
124
+ */
125
+ resultIconName?: IconNames;
126
+ }
84
127
  /**
85
128
  * The props type for {@link !components.ButtonRow}.
86
129
  *
@@ -1214,7 +1257,7 @@ export interface BaseContext {
1214
1257
  }
1215
1258
  /** @ignore */
1216
1259
  export interface CrmContext extends BaseContext {
1217
- location: 'crm.record.tab' | 'crm.record.sidebar' | 'crm.preview';
1260
+ location: 'crm.record.tab' | 'crm.record.sidebar' | 'crm.preview' | 'helpdesk.sidebar';
1218
1261
  crm: CrmRecordContext;
1219
1262
  extension?: AppContext;
1220
1263
  }
@@ -1465,6 +1508,7 @@ export interface StandardCrmExtensionPoint extends ExtensionPointContract {
1465
1508
  openIframeModal: OpenIframeModalAction;
1466
1509
  refreshObjectProperties: refreshObjectPropertiesAction;
1467
1510
  onCrmPropertiesUpdate: onCrmPropertiesUpdateAction;
1511
+ copyTextToClipboard?: Clipboard['writeText'];
1468
1512
  };
1469
1513
  context: CrmContext;
1470
1514
  customComponents: {
@@ -1721,6 +1765,7 @@ export interface ExtensionPoints {
1721
1765
  'crm.record.tab': StandardCrmExtensionPoint;
1722
1766
  'crm.preview': StandardCrmExtensionPoint;
1723
1767
  'crm.record.sidebar': CrmSidebarExtensionPoint;
1768
+ 'helpdesk.sidebar': StandardCrmExtensionPoint;
1724
1769
  }
1725
1770
  export interface ExampleCrmComponentProps {
1726
1771
  name: string;
@@ -2401,4 +2446,9 @@ export interface HubSpotFetchOptions {
2401
2446
  headers?: Headers | Record<string, string>;
2402
2447
  }
2403
2448
  export type HubSpotFetchRequestURI = string | URL;
2449
+ export type ProxyMetadata = {
2450
+ userEmail?: string;
2451
+ userId?: number;
2452
+ portalId?: number;
2453
+ };
2404
2454
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hubspot/ui-extensions",
3
- "version": "0.8.26",
3
+ "version": "0.8.28",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -51,5 +51,5 @@
51
51
  "devDependencies": {
52
52
  "typescript": "5.0.4"
53
53
  },
54
- "gitHead": "2cf3d398c538788c36beb8d0f0c923b42b5d0e67"
54
+ "gitHead": "9b5657943dee46788096ac1788aec575aa87f410"
55
55
  }