@hubspot/ui-extensions 0.8.42 → 0.8.46

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.
@@ -7,6 +7,26 @@ declare const Iframe: "Iframe" & {
7
7
  readonly props?: types.IframeProps | undefined;
8
8
  readonly children?: true | undefined;
9
9
  } & import("@remote-ui/react").ReactComponentTypeFromRemoteComponentType<import("@remote-ui/types").RemoteComponentType<"Iframe", types.IframeProps, true>>;
10
+ /** @experimental */
11
+ export declare const Tab: "Tab" & {
12
+ readonly type?: "Tab" | undefined;
13
+ readonly props?: experimentalTypes.TabProps | undefined;
14
+ readonly children?: true | undefined;
15
+ } & import("@remote-ui/react").ReactComponentTypeFromRemoteComponentType<import("@remote-ui/types").RemoteComponentType<"Tab", experimentalTypes.TabProps, true>>;
16
+ /** @experimental */
17
+ export declare const Tabs: "Tabs" & {
18
+ readonly type?: "Tabs" | undefined;
19
+ readonly props?: experimentalTypes.TabsProps | undefined;
20
+ readonly children?: ("Tab" & {
21
+ readonly type?: "Tab" | undefined;
22
+ readonly props?: experimentalTypes.TabProps | undefined;
23
+ readonly children?: true | undefined;
24
+ } & import("@remote-ui/react").ReactComponentTypeFromRemoteComponentType<import("@remote-ui/types").RemoteComponentType<"Tab", experimentalTypes.TabProps, true>>) | undefined;
25
+ } & import("@remote-ui/react").ReactComponentTypeFromRemoteComponentType<import("@remote-ui/types").RemoteComponentType<"Tabs", experimentalTypes.TabsProps, "Tab" & {
26
+ readonly type?: "Tab" | undefined;
27
+ readonly props?: experimentalTypes.TabProps | undefined;
28
+ readonly children?: true | undefined;
29
+ } & import("@remote-ui/react").ReactComponentTypeFromRemoteComponentType<import("@remote-ui/types").RemoteComponentType<"Tab", experimentalTypes.TabProps, true>>>>;
10
30
  /** @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. */
11
31
  declare const MediaObject: "MediaObject" & {
12
32
  readonly type?: "MediaObject" | undefined;
@@ -49,4 +69,9 @@ declare const GridItem: "GridItem" & {
49
69
  readonly props?: experimentalTypes.GridItemProps | undefined;
50
70
  readonly children?: true | undefined;
51
71
  } & import("@remote-ui/react").ReactComponentTypeFromRemoteComponentType<import("@remote-ui/types").RemoteComponentType<"GridItem", experimentalTypes.GridItemProps, true>>;
52
- export { Iframe, MediaObject, Inline, Stack2, Center, SimpleGrid, GridItem, Grid, };
72
+ declare const SettingsView: "SettingsView" & {
73
+ readonly type?: "SettingsView" | undefined;
74
+ readonly props?: experimentalTypes.SettingsViewProps | undefined;
75
+ readonly children?: true | undefined;
76
+ } & import("@remote-ui/react").ReactComponentTypeFromRemoteComponentType<import("@remote-ui/types").RemoteComponentType<"SettingsView", experimentalTypes.SettingsViewProps, true>>;
77
+ export { Iframe, MediaObject, Inline, Stack2, Center, SimpleGrid, GridItem, Grid, SettingsView, };
@@ -2,6 +2,10 @@ import { createRemoteReactComponent } from '@remote-ui/react';
2
2
  export { useCrmProperties } from './hooks/useCrmProperties';
3
3
  /** @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. */
4
4
  const Iframe = createRemoteReactComponent('Iframe');
5
+ /** @experimental */
6
+ export const Tab = createRemoteReactComponent('Tab');
7
+ /** @experimental */
8
+ export const Tabs = createRemoteReactComponent('Tabs');
5
9
  /** @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. */
6
10
  const MediaObject = createRemoteReactComponent('MediaObject', {
7
11
  fragmentProps: ['itemRight', 'itemLeft'],
@@ -18,4 +22,5 @@ const SimpleGrid = createRemoteReactComponent('SimpleGrid');
18
22
  const Grid = createRemoteReactComponent('Grid');
19
23
  /** @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. */
20
24
  const GridItem = createRemoteReactComponent('GridItem');
21
- export { Iframe, MediaObject, Inline, Stack2, Center, SimpleGrid, GridItem, Grid, };
25
+ const SettingsView = createRemoteReactComponent('SettingsView');
26
+ export { Iframe, MediaObject, Inline, Stack2, Center, SimpleGrid, GridItem, Grid, SettingsView, };
@@ -1,6 +1,67 @@
1
1
  import type { ReactNode } from 'react';
2
2
  import type { RemoteFragment } from '@remote-ui/core';
3
- import type { AllDistances } from '../types';
3
+ import type { AllDistances, ExtensionEvent, ReactionsHandler } from '../types';
4
+ /**
5
+ * @ignore
6
+ * @experimental do not use in production
7
+ */
8
+ export interface TabsProps {
9
+ /**
10
+ * Sets the content that will render inside the component.
11
+ */
12
+ children?: ReactNode;
13
+ /**
14
+ * Callback when the selected tab changes.
15
+ */
16
+ onSelectedChange?: (selectedId: string | number) => void;
17
+ /**
18
+ * The initially selected tab ID.
19
+ */
20
+ defaultSelected?: string | number;
21
+ /**
22
+ * The currently selected tab ID (controlled component).
23
+ */
24
+ selected?: string | number;
25
+ /**
26
+ * Visual style variant of the tabs.
27
+ * @defaultValue 'default'
28
+ */
29
+ variant?: 'default' | 'enclosed' | 'enclosed-shaded';
30
+ /**
31
+ * Whether to show a border around the tab (only applies to 'default' variant).
32
+ */
33
+ bordered?: boolean;
34
+ /**
35
+ * Whether the tab should fill available space.
36
+ */
37
+ fill?: boolean;
38
+ }
39
+ /**
40
+ * @ignore
41
+ * @experimental do not use in production
42
+ */
43
+ export interface TabProps {
44
+ /**
45
+ * Whether the tab is disabled.
46
+ */
47
+ disabled?: boolean;
48
+ /**
49
+ * Unique identifier for the tab.
50
+ */
51
+ tabId?: string | number;
52
+ /**
53
+ * The title text of the tab.
54
+ */
55
+ title?: string;
56
+ /**
57
+ * The content to display when this tab is selected.
58
+ */
59
+ children?: ReactNode;
60
+ /**
61
+ * The tooltip text of the tab.
62
+ */
63
+ tooltip?: string;
64
+ }
4
65
  /**
5
66
  * @ignore
6
67
  * @experimental do not use in production
@@ -79,4 +140,36 @@ export interface GridItemProps {
79
140
  children?: ReactNode;
80
141
  offset?: number;
81
142
  }
143
+ /**
144
+ * @ignore
145
+ * @experimental do not use in production
146
+ */
147
+ export interface SettingsViewProps {
148
+ /**
149
+ * Sets the content that will render inside the component. This prop is passed implicitly by providing sub-components.
150
+ */
151
+ children: ReactNode;
152
+ /**
153
+ * If set to `true`, will show the save bar with "cancel" and "save" buttons at the bottom of the page.
154
+ *
155
+ * @defaultValue `false`
156
+ */
157
+ saveBarVisible?: boolean;
158
+ /**
159
+ * Used in the save bar to let the user know how many settings they've changed and not yet saved.
160
+ */
161
+ numberOfSettingsChanged?: number;
162
+ /**
163
+ * The function that will be invoked when the save button in the save bar is clicked.
164
+ *
165
+ * @event
166
+ */
167
+ onSave?: ReactionsHandler<ExtensionEvent>;
168
+ /**
169
+ * The function that will be invoked when the cancel button in the save bar is clicked.
170
+ *
171
+ * @event
172
+ */
173
+ onCancel?: ReactionsHandler<ExtensionEvent>;
174
+ }
82
175
  export {};
package/dist/types.d.ts CHANGED
@@ -1631,7 +1631,7 @@ export interface ServerlessErrorResponse {
1631
1631
  status: number;
1632
1632
  }
1633
1633
  /** @ignore */
1634
- export interface ExtensionContextData {
1634
+ export interface BaseExtensionContextData {
1635
1635
  appId: number | string;
1636
1636
  appName?: string;
1637
1637
  cardId: string;
@@ -1644,7 +1644,7 @@ export interface ExtensionContextData {
1644
1644
  } | null;
1645
1645
  }
1646
1646
  /** @ignore */
1647
- export interface CrmExtensionContextData extends ExtensionContextData {
1647
+ export interface CrmExtensionContextData extends BaseExtensionContextData {
1648
1648
  objectId: number | string;
1649
1649
  objectTypeId: string;
1650
1650
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hubspot/ui-extensions",
3
- "version": "0.8.42",
3
+ "version": "0.8.46",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -60,5 +60,5 @@
60
60
  "react-reconciler": "^0.29.0",
61
61
  "typescript": "5.0.4"
62
62
  },
63
- "gitHead": "adebd2d54ad45cfedb1ab6b173eda06c8642965c"
63
+ "gitHead": "a97919f0e9d8a69a039f7a2861e074af93f2dda0"
64
64
  }