@hubspot/ui-extensions 0.8.27 → 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
  *
@@ -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: {
@@ -2402,4 +2446,9 @@ export interface HubSpotFetchOptions {
2402
2446
  headers?: Headers | Record<string, string>;
2403
2447
  }
2404
2448
  export type HubSpotFetchRequestURI = string | URL;
2449
+ export type ProxyMetadata = {
2450
+ userEmail?: string;
2451
+ userId?: number;
2452
+ portalId?: number;
2453
+ };
2405
2454
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hubspot/ui-extensions",
3
- "version": "0.8.27",
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": "159fa4d11b8a3c87899b456317134037957036f4"
54
+ "gitHead": "9b5657943dee46788096ac1788aec575aa87f410"
55
55
  }