@interopio/groups-ui-react 2.7.0 → 3.0.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.
Files changed (70) hide show
  1. package/dist/cjs/GroupWrapper.d.ts +2 -1
  2. package/dist/cjs/defaultComponents/buttons/StandardButton.d.ts +4 -0
  3. package/dist/cjs/defaultComponents/utils/common.d.ts +3 -0
  4. package/dist/cjs/defaultComponents/utils/useDragMove.d.ts +6 -0
  5. package/dist/cjs/index.d.ts +2 -1
  6. package/dist/cjs/index.js +207 -92
  7. package/dist/cjs/index.js.map +1 -1
  8. package/dist/cjs/tests/buttons/BaseButton.test.d.ts +1 -0
  9. package/dist/cjs/tests/buttons/CloneButton.test.d.ts +1 -0
  10. package/dist/cjs/tests/buttons/CloseButton.test.d.ts +1 -0
  11. package/dist/cjs/tests/buttons/CustomButton.test.d.ts +1 -0
  12. package/dist/cjs/tests/buttons/ExtractButton.test.d.ts +1 -0
  13. package/dist/cjs/tests/buttons/FeedbackButton.test.d.ts +1 -0
  14. package/dist/cjs/tests/buttons/LockButtons.test.d.ts +1 -0
  15. package/dist/cjs/tests/buttons/MaximizeButton.test.d.ts +1 -0
  16. package/dist/cjs/tests/buttons/MinimizeButton.test.d.ts +1 -0
  17. package/dist/cjs/tests/buttons/OverflowButton.test.d.ts +1 -0
  18. package/dist/cjs/tests/buttons/RestoreButton.test.d.ts +1 -0
  19. package/dist/cjs/tests/buttons/StickyButton.test.d.ts +1 -0
  20. package/dist/cjs/tests/buttons/UnlockButton.test.d.ts +1 -0
  21. package/dist/cjs/tests/captionEditor/CaptionEditor.test.d.ts +1 -0
  22. package/dist/cjs/tests/channelSelector/BaseChannelSelector.test.d.ts +1 -0
  23. package/dist/cjs/tests/flatCaptionBar/FlatCaptionBar.test.d.ts +1 -0
  24. package/dist/cjs/tests/groupCaptionBar/GroupCaptionBar.test.d.ts +1 -0
  25. package/dist/cjs/tests/htmlButtonBar/HtmlButtonBar.test.d.ts +1 -0
  26. package/dist/cjs/tests/popups/TabOverflowPopup.test.d.ts +1 -0
  27. package/dist/cjs/tests/tabs/Tab.test.d.ts +1 -0
  28. package/dist/cjs/types/api.d.ts +12 -1
  29. package/dist/cjs/types/defaultComponents.d.ts +10 -2
  30. package/dist/cjs/types/internal.d.ts +48 -45
  31. package/dist/cjs/webGroupsManager.d.ts +6 -1
  32. package/dist/esm/GroupWrapper.d.ts +2 -1
  33. package/dist/esm/defaultComponents/buttons/StandardButton.d.ts +4 -0
  34. package/dist/esm/defaultComponents/utils/common.d.ts +3 -0
  35. package/dist/esm/defaultComponents/utils/useDragMove.d.ts +6 -0
  36. package/dist/esm/index.d.ts +2 -1
  37. package/dist/esm/index.js +207 -93
  38. package/dist/esm/index.js.map +1 -1
  39. package/dist/esm/tests/buttons/BaseButton.test.d.ts +1 -0
  40. package/dist/esm/tests/buttons/CloneButton.test.d.ts +1 -0
  41. package/dist/esm/tests/buttons/CloseButton.test.d.ts +1 -0
  42. package/dist/esm/tests/buttons/CustomButton.test.d.ts +1 -0
  43. package/dist/esm/tests/buttons/ExtractButton.test.d.ts +1 -0
  44. package/dist/esm/tests/buttons/FeedbackButton.test.d.ts +1 -0
  45. package/dist/esm/tests/buttons/LockButtons.test.d.ts +1 -0
  46. package/dist/esm/tests/buttons/MaximizeButton.test.d.ts +1 -0
  47. package/dist/esm/tests/buttons/MinimizeButton.test.d.ts +1 -0
  48. package/dist/esm/tests/buttons/OverflowButton.test.d.ts +1 -0
  49. package/dist/esm/tests/buttons/RestoreButton.test.d.ts +1 -0
  50. package/dist/esm/tests/buttons/StickyButton.test.d.ts +1 -0
  51. package/dist/esm/tests/buttons/UnlockButton.test.d.ts +1 -0
  52. package/dist/esm/tests/captionEditor/CaptionEditor.test.d.ts +1 -0
  53. package/dist/esm/tests/channelSelector/BaseChannelSelector.test.d.ts +1 -0
  54. package/dist/esm/tests/flatCaptionBar/FlatCaptionBar.test.d.ts +1 -0
  55. package/dist/esm/tests/groupCaptionBar/GroupCaptionBar.test.d.ts +1 -0
  56. package/dist/esm/tests/htmlButtonBar/HtmlButtonBar.test.d.ts +1 -0
  57. package/dist/esm/tests/popups/TabOverflowPopup.test.d.ts +1 -0
  58. package/dist/esm/tests/tabs/Tab.test.d.ts +1 -0
  59. package/dist/esm/types/api.d.ts +12 -1
  60. package/dist/esm/types/defaultComponents.d.ts +10 -2
  61. package/dist/esm/types/internal.d.ts +48 -45
  62. package/dist/esm/webGroupsManager.d.ts +6 -1
  63. package/dist/styles/groups.css +156 -76
  64. package/dist/styles/vars.css +865 -78
  65. package/package.json +36 -28
  66. package/dist/cjs/useGDWindow.d.ts +0 -2
  67. package/dist/esm/useGDWindow.d.ts +0 -2
  68. package/dist/styles/fonts.css +0 -2
  69. package/dist/styles/styles.css +0 -679
  70. package/dist/styles/themes.css +0 -155
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { Bounds, ButtonProps, Location, OverflowedTabInfo, ToggleButtonProps } from "./internal";
2
+ import { Bounds, ButtonProps, Location, OverflowedTabInfo, StylesOptions, ToggleButtonProps } from "./internal";
3
3
  import { CustomButtonProps } from "./defaultComponents";
4
4
  export interface ChannelProps {
5
5
  visible: boolean;
@@ -72,6 +72,7 @@ export interface GroupCaptionBarProps {
72
72
  caption: string;
73
73
  captionEditor?: CaptionEditorProps;
74
74
  visible: boolean;
75
+ showCaptionEditor: (text: string) => void;
75
76
  notifyCaptionBoundsChanged: (bounds: Bounds) => void;
76
77
  minimize: ButtonProps;
77
78
  maximize: ButtonProps;
@@ -81,6 +82,7 @@ export interface GroupCaptionBarProps {
81
82
  export interface GroupOverlayProps {
82
83
  }
83
84
  export interface FlatCaptionBarProps {
85
+ showCaptionEditor: (text: string) => void;
84
86
  frameId: string;
85
87
  moveAreaId: string;
86
88
  caption: string;
@@ -171,6 +173,15 @@ export interface GroupProps {
171
173
  Buttons?: React.ComponentType<HtmlButtonsProps>;
172
174
  };
173
175
  };
176
+ styles?: {
177
+ tabs?: {
178
+ header?: StylesOptions;
179
+ moveArea?: StylesOptions;
180
+ };
181
+ frame?: {
182
+ element?: StylesOptions;
183
+ };
184
+ };
174
185
  }
175
186
  export interface MoveAreaProps {
176
187
  elementId: string;
@@ -1,5 +1,4 @@
1
- /// <reference types="react" />
2
- import { Bounds, ButtonProps, TargetType, ToggleButtonProps } from "./internal";
1
+ import { Bounds, ButtonProps, StandardButtons, StandardButtonTarget, TargetType, ToggleButtonProps } from "./internal";
3
2
  export interface CaptionEditorProps {
4
3
  targetId: string;
5
4
  targetType: TargetType;
@@ -18,6 +17,13 @@ export interface GroupCaptionEditorProps {
18
17
  hideEditor: () => void;
19
18
  caption: string;
20
19
  }
20
+ export interface StandardButtonProps {
21
+ buttonId: StandardButtons;
22
+ tooltip: string;
23
+ target?: StandardButtonTarget;
24
+ isPressed?: boolean;
25
+ onClick: () => void;
26
+ }
21
27
  export interface StickyButtonProps extends ToggleButtonProps {
22
28
  }
23
29
  export interface FeedbackButtonProps extends ButtonProps {
@@ -142,6 +148,7 @@ export interface FlatButtonsProps {
142
148
  }
143
149
  export interface FlatCaptionProps {
144
150
  caption: string;
151
+ showCaptionEditor: (text: string) => void;
145
152
  notifyBoundsChanged?: (bounds: Bounds) => void;
146
153
  }
147
154
  export interface GroupMoveAreaProps {
@@ -156,6 +163,7 @@ export interface GroupButtonsProps {
156
163
  }
157
164
  export interface GroupCaptionProps {
158
165
  caption: string;
166
+ showCaptionEditor: (text: string) => void;
159
167
  notifyBoundsChanged?: (bounds: Bounds) => void;
160
168
  }
161
169
  export interface TabCaptionProps {
@@ -1,12 +1,21 @@
1
1
  import React from "react";
2
+ declare type NonMethodKeys<T> = ({
3
+ [P in keyof T]: T[P] extends Function ? never : P;
4
+ })[keyof T];
5
+ declare type NonMethods<T> = Pick<T, NonMethodKeys<T>>;
2
6
  export interface PortalProps {
3
7
  parentElement: HTMLElement;
4
8
  children?: React.ReactNode;
5
9
  }
10
+ export declare enum StandardButtonTarget {
11
+ Default = "default",
12
+ Frame = "frame"
13
+ }
6
14
  export interface ButtonProps {
7
15
  onClick: () => void;
8
16
  tooltip: string;
9
17
  visible: boolean;
18
+ target?: StandardButtonTarget;
10
19
  }
11
20
  export interface ToggleButtonProps extends ButtonProps {
12
21
  isPressed: boolean;
@@ -58,6 +67,15 @@ export interface GroupWrapperProps {
58
67
  onHideCaptionEditorRequested?: (targetType: TargetType, targetId: string) => void;
59
68
  onShowLoadingAnimationRequested?: (targetType: TargetType, targetId: string) => void;
60
69
  onHideLoadingAnimationRequested?: (targetType: TargetType, targetId: string) => void;
70
+ styles?: {
71
+ tabs?: {
72
+ header?: StylesOptions;
73
+ moveArea?: StylesOptions;
74
+ };
75
+ frame?: {
76
+ element?: StylesOptions;
77
+ };
78
+ };
61
79
  }
62
80
  export interface CreateGroupCaptionBarRequestOptions extends CreateElementRequestOptions {
63
81
  moveAreaId: string;
@@ -138,6 +156,7 @@ export interface CreateTabRequestOptions extends CreateElementRequestOptions {
138
156
  }
139
157
  export interface UpdateStandardButtonRequestOptions extends CreateElementRequestOptions {
140
158
  buttonId: StandardButtons;
159
+ buttonTarget: StandardButtonTarget;
141
160
  visible: boolean;
142
161
  tooltip: string;
143
162
  isPressed: boolean;
@@ -150,52 +169,26 @@ export interface UpdateCustomButtonOptions {
150
169
  tooltip: string;
151
170
  imageData: string;
152
171
  }
172
+ export interface CreateStandardButtonsOptions {
173
+ tooltip: string;
174
+ visible: boolean;
175
+ target: StandardButtonTarget;
176
+ }
177
+ export interface CreateStandardToggleButtonsOptions extends CreateStandardButtonsOptions {
178
+ isPressed: boolean;
179
+ }
153
180
  export interface CreateButtonsOptions extends CreateFrameElementRequestOptions {
154
- overflow: {
155
- tooltip: string;
156
- visible: boolean;
157
- };
158
- feedback: {
159
- tooltip: string;
160
- visible: boolean;
161
- };
162
- clone: {
163
- tooltip: string;
164
- visible: boolean;
165
- };
166
- sticky: {
167
- tooltip: string;
168
- visible: boolean;
169
- isPressed: boolean;
170
- };
171
- extract: {
172
- tooltip: string;
173
- visible: boolean;
174
- };
175
- lock: {
176
- tooltip: string;
177
- visible: boolean;
178
- };
179
- unlock: {
180
- tooltip: string;
181
- visible: boolean;
182
- };
183
- minimize: {
184
- tooltip: string;
185
- visible: boolean;
186
- };
187
- restore: {
188
- tooltip: string;
189
- visible: boolean;
190
- };
191
- maximize: {
192
- tooltip: string;
193
- visible: boolean;
194
- };
195
- close: {
196
- tooltip: string;
197
- visible: boolean;
198
- };
181
+ overflow: CreateStandardButtonsOptions;
182
+ feedback: CreateStandardButtonsOptions;
183
+ clone: CreateStandardButtonsOptions;
184
+ sticky: CreateStandardToggleButtonsOptions;
185
+ extract: CreateStandardButtonsOptions;
186
+ lock: CreateStandardButtonsOptions;
187
+ unlock: CreateStandardButtonsOptions;
188
+ minimize: CreateStandardButtonsOptions;
189
+ restore: CreateStandardButtonsOptions;
190
+ maximize: CreateStandardButtonsOptions;
191
+ close: CreateStandardButtonsOptions;
199
192
  customButtons: UpdateCustomButtonOptions[];
200
193
  hiddenTabsToTheLeft: OverflowedTabInfo[];
201
194
  hiddenTabsToTheRight: OverflowedTabInfo[];
@@ -307,9 +300,14 @@ export interface ExternalLibraryFactory {
307
300
  onFrameChannelSelectorClick(targetId: string, channelSelectorBounds: Bounds): void;
308
301
  onMoveAreaChanged(targetType: TargetType, targetId: string): void;
309
302
  onCaptionTextBoundsChanged(targetType: TargetType, targetId: string, bounds: Bounds): void;
303
+ showCaptionEditor(targetType: TargetType, targetId: string, text: string): void;
304
+ startDragMove(): void;
310
305
  onCaptionEditorVisibleChanged(targetType: TargetType, targetId: string, visible: boolean): void;
311
306
  onCaptionEditorBoundsChanged(targetType: TargetType, targetId: string, bounds: Bounds): void;
312
307
  commitCaptionEditing(targetType: TargetType, targetId: string, text: string): void;
308
+ updateTabHeaderStyles(styles: StylesOptions): void;
309
+ updateTabMoveAreaStyles(styles: StylesOptions): void;
310
+ updateFrameStyles(styles: StylesOptions): void;
313
311
  selectTab(windowId: string): void;
314
312
  openTabOverflowPopup(frameId: string, location: Location): void;
315
313
  addTabContainerClass(windowId: string, className: string): void;
@@ -333,5 +331,10 @@ export interface Location {
333
331
  left: number;
334
332
  top: number;
335
333
  }
334
+ export interface StylesOptions {
335
+ css?: Partial<NonMethods<CSSStyleDeclaration>>;
336
+ classes?: string[];
337
+ }
336
338
  export interface Bounds extends Size, Location {
337
339
  }
340
+ export {};
@@ -1,4 +1,4 @@
1
- import { Bounds, Location, TargetType } from "./types/internal";
1
+ import { Bounds, Location, StylesOptions, TargetType } from "./types/internal";
2
2
  declare class WebGroupsManagerDecorator {
3
3
  private readonly registry;
4
4
  readonly skipFocusStyle = "t42-skip-focus";
@@ -30,11 +30,16 @@ declare class WebGroupsManagerDecorator {
30
30
  onTabChannelSelectorClick(targetId: string, selectorBounds: Bounds): void;
31
31
  onFrameChannelSelectorClick(targetId: string, selectorBounds: Bounds): void;
32
32
  onCaptionTextBoundsChanged(targetType: TargetType, targetId: string, bounds: Bounds): void;
33
+ startDragMove(): void;
34
+ showCaptionEditor(targetType: TargetType, targetId: string, text: string): void;
33
35
  onCaptionEditorVisibleChanged(targetType: TargetType, targetId: string, visible: boolean): void;
34
36
  onCaptionEditorBoundsChanged(targetType: TargetType, targetId: string, bounds: Bounds): void;
35
37
  commitCaptionEditing(targetType: TargetType, targetId: string, text: string): void;
36
38
  onCommitCaptionEditingRequested(targetType: TargetType, targetId: string, callback: () => void): () => void;
37
39
  requestCommitCaptionEditing(targetType: TargetType, targetId: string): void;
40
+ updateTabHeaderStyles(styles: StylesOptions): void;
41
+ updateTabMoveAreaStyles(styles: StylesOptions): void;
42
+ updateFrameStyles(styles: StylesOptions): void;
38
43
  selectTab(windowId: string): void;
39
44
  addTabContainerClass(windowId: string, className: string): void;
40
45
  removeTabContainerClass(windowId: string, className: string): void;