@interopio/groups-ui-react 2.4.0 → 2.5.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 (58) hide show
  1. package/dist/GroupElementCreationWrapper.d.ts +49 -0
  2. package/dist/GroupWrapper.d.ts +9 -0
  3. package/dist/Portal.d.ts +6 -0
  4. package/dist/cjs/defaultComponents/channelSelector/multi/BaseMultiChannelSelector.d.ts +4 -0
  5. package/dist/cjs/defaultComponents/channelSelector/multi/ColorRectangle.d.ts +7 -0
  6. package/dist/cjs/defaultComponents/channelSelector/multi/FlatMultiChannelSelector.d.ts +4 -0
  7. package/dist/cjs/defaultComponents/channelSelector/multi/TabMultiChannelSelector.d.ts +4 -0
  8. package/dist/cjs/defaultComponents/channelSelector/utils.d.ts +4 -0
  9. package/dist/cjs/index.d.ts +3 -1
  10. package/dist/cjs/index.js +112 -15
  11. package/dist/cjs/index.js.map +1 -1
  12. package/dist/cjs/types/api.d.ts +10 -0
  13. package/dist/cjs/types/defaultComponents.d.ts +50 -0
  14. package/dist/cjs/types/internal.d.ts +22 -0
  15. package/dist/defaultComponents/BaseButton.d.ts +4 -0
  16. package/dist/defaultComponents/CloseButton.d.ts +4 -0
  17. package/dist/defaultComponents/ExtractButton.d.ts +4 -0
  18. package/dist/defaultComponents/MaximizeButton.d.ts +4 -0
  19. package/dist/defaultComponents/MinimizeButton.d.ts +4 -0
  20. package/dist/defaultComponents/RestoreButton.d.ts +4 -0
  21. package/dist/defaultComponents/Tab.d.ts +4 -0
  22. package/dist/defaultComponents/TabCaption.d.ts +4 -0
  23. package/dist/defaultComponents/TabCloseButton.d.ts +4 -0
  24. package/dist/defaultComponents/TabHeaderButtons.d.ts +4 -0
  25. package/dist/defaultComponents/channelSelector/BaseChannelSelector.d.ts +4 -0
  26. package/dist/defaultComponents/channelSelector/FrameChannelSelector.d.ts +4 -0
  27. package/dist/defaultComponents/channelSelector/TabChannelSelector.d.ts +4 -0
  28. package/dist/defaultComponents/channelSelector/utils.d.ts +1 -0
  29. package/dist/defaultComponents/frameCaptionBar/FrameButtons.d.ts +4 -0
  30. package/dist/defaultComponents/frameCaptionBar/FrameCaption.d.ts +4 -0
  31. package/dist/defaultComponents/frameCaptionBar/FrameCaptionBar.d.ts +4 -0
  32. package/dist/defaultComponents/frameCaptionBar/FrameMoveArea.d.ts +4 -0
  33. package/dist/defaultComponents/groupCaptionBar/GroupButtons.d.ts +4 -0
  34. package/dist/defaultComponents/groupCaptionBar/GroupCaption.d.ts +4 -0
  35. package/dist/defaultComponents/groupCaptionBar/GroupCaptionBar.d.ts +4 -0
  36. package/dist/defaultComponents/groupCaptionBar/GroupMoveArea.d.ts +4 -0
  37. package/dist/esm/defaultComponents/channelSelector/multi/BaseMultiChannelSelector.d.ts +4 -0
  38. package/dist/esm/defaultComponents/channelSelector/multi/ColorRectangle.d.ts +7 -0
  39. package/dist/esm/defaultComponents/channelSelector/multi/FlatMultiChannelSelector.d.ts +4 -0
  40. package/dist/esm/defaultComponents/channelSelector/multi/TabMultiChannelSelector.d.ts +4 -0
  41. package/dist/esm/defaultComponents/channelSelector/utils.d.ts +4 -0
  42. package/dist/esm/index.d.ts +3 -1
  43. package/dist/esm/index.js +111 -16
  44. package/dist/esm/index.js.map +1 -1
  45. package/dist/esm/types/api.d.ts +10 -0
  46. package/dist/esm/types/defaultComponents.d.ts +50 -0
  47. package/dist/esm/types/internal.d.ts +22 -0
  48. package/dist/index.d.ts +27 -0
  49. package/dist/index.js +16 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/styles/fonts.css +2 -0
  52. package/dist/styles/groups.css +75 -10
  53. package/dist/styles/styles.css +574 -0
  54. package/dist/styles/themes.css +155 -0
  55. package/dist/styles/vars.css +22 -5
  56. package/dist/types/internal.d.ts +373 -0
  57. package/dist/webGroupsManager.d.ts +35 -0
  58. package/package.json +1 -1
@@ -0,0 +1,155 @@
1
+ :root {
2
+ --bs-blue: #1c89ea;
3
+ --bs-indigo: #6610f2;
4
+ --bs-purple: #6f42c1;
5
+ --bs-pink: #fd397a;
6
+ --bs-red: #ff511f;
7
+ --bs-orange: #fd7e14;
8
+ --bs-yellow: #f9a825;
9
+ --bs-green: #43a047;
10
+ --bs-teal: #616161;
11
+ --bs-cyan: #469eb9;
12
+ --bs-white: #fff;
13
+ --bs-gray: #6c757d;
14
+ --bs-gray-dark: #343a40;
15
+ --bs-gray-100: #f8f9fa;
16
+ --bs-gray-200: #e9ecef;
17
+ --bs-gray-300: #dee2e6;
18
+ --bs-gray-400: #ced4da;
19
+ --bs-gray-500: #adb5bd;
20
+ --bs-gray-600: #6c757d;
21
+ --bs-gray-700: #495057;
22
+ --bs-gray-800: #343a40;
23
+ --bs-gray-900: #212529;
24
+ --bs-primary: #1c89ea;
25
+ --bs-secondary: #616161;
26
+ --bs-success: #43a047;
27
+ --bs-info: #469eb9;
28
+ --bs-warning: #f9a825;
29
+ --bs-danger: #ff511f;
30
+ --bs-light: #616161;
31
+ --bs-dark: #616161;
32
+ --bs-primary-rgb: 28, 137, 234;
33
+ --bs-secondary-rgb: 97, 97, 97;
34
+ --bs-success-rgb: 67, 160, 71;
35
+ --bs-info-rgb: 70, 158, 185;
36
+ --bs-warning-rgb: 249, 168, 37;
37
+ --bs-danger-rgb: 255, 81, 31;
38
+ --bs-light-rgb: 97, 97, 97;
39
+ --bs-dark-rgb: 97, 97, 97;
40
+ --bs-white-rgb: 255, 255, 255;
41
+ --bs-black-rgb: 0, 0, 0;
42
+ --bs-body-color-rgb: 33, 37, 41;
43
+ --bs-body-bg-rgb: 255, 255, 255;
44
+ --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto,
45
+ "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif,
46
+ "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",
47
+ "Noto Color Emoji";
48
+ --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas,
49
+ "Liberation Mono", "Courier New", monospace;
50
+ --bs-gradient: linear-gradient(
51
+ 180deg,
52
+ rgba(255, 255, 255, 0.15),
53
+ rgba(255, 255, 255, 0)
54
+ );
55
+ --bs-body-font-family: Montserrat, Helvetica Neue, Arial, sans-serif;
56
+ --bs-body-font-size: 0.75rem;
57
+ --bs-body-font-weight: 400;
58
+ --bs-body-line-height: 1.5;
59
+ --bs-body-color: #212529;
60
+ --bs-body-bg: #fff;
61
+ }
62
+ :root {
63
+ --t42-font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
64
+ --t42-font-size: 0.75rem;
65
+ --bs-gutter-x: 0.938rem;
66
+ --primary: #1c89ea;
67
+ --secondary: #616161;
68
+ --success: #43a047;
69
+ --info: #616161;
70
+ --warning: #f9a825;
71
+ --danger: #ff511f;
72
+ --light: #616161;
73
+ --dark: #616161;
74
+ --white: #ffffff;
75
+ }
76
+ .dark {
77
+ --t42-bg-light-base: 0, 0%;
78
+ --t42-bg-light-l: 18%;
79
+ --t42-bg-light: 45, 45, 45;
80
+ --t42-bg-mid: 37, 37, 37;
81
+ --t42-bg-dark: 30, 30, 30;
82
+ --t42-content-color-base: 0, 0%;
83
+ --t42-content-color: #bababa;
84
+ --t42-content-color-l: 73%;
85
+ --t42-content-color-muted: hsl(var(--t42-content-color-base), 63%);
86
+ --t42-content-color-disabled: hsl(var(--t42-content-color-base), 43%);
87
+ --t42-color-opacity-025: hsla(var(--t42-content-color-base), 100%, 0.025);
88
+ --t42-color-opacity-05: hsla(var(--t42-content-color-base), 100%, 0.05);
89
+ --t42-color-opacity-10: hsla(var(--t42-content-color-base), 100%, 0.1);
90
+ --t42-color-opacity-20: hsla(var(--t42-content-color-base), 100%, 0.2);
91
+ --t42-color-opacity-30: hsla(var(--t42-content-color-base), 100%, 0.3);
92
+ --t42-link-color: hsl(var(--t42-content-color-base), 100%);
93
+ --t42-shadow: 0 0 12px 0 hsla(var(--t42-content-color-base), 0%, 0.15);
94
+ --t42-border: 0.0625rem solid var(--t42-color-opacity-10);
95
+ --t42-logo-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNzAuMSAxMTcuOCI+Cgk8cGF0aCBmaWxsPSIjZmZmIiBkPSJNMTY3LjcsNTMuMiwxMTYuOCwyLjNBNy45LDcuOSwwLDAsMCwxMTEuMiwwYTguMSw4LjEsMCwwLDAtNS43LDIuM2wtOS45LDEwYTEuOSwxLjksMCwwLDAsMCwyLjhsNyw3LjFhMi4xLDIuMSwwLDAsMCwyLjksMGw0LjMtNC4zYTEuOSwxLjksMCwwLDEsMi44LDBsMzkuNiwzOS42YTEuOSwxLjksMCwwLDEsMCwyLjhMMTEyLjYsOTkuOWExLjksMS45LDAsMCwxLTIuOCwwTDcwLjIsNjAuM2ExLjksMS45LDAsMCwxLDAtMi44bDQtNGEyLjEsMi4xLDAsMCwwLDAtMi45bC03LjEtN2ExLjksMS45LDAsMCwwLTIuOCwwbC05LjcsOS42YTgsOCwwLDAsMCwwLDExLjNsNTAuOSw1MC45YTguMiw4LjIsMCwwLDAsNS43LDIuNCw4LDgsMCwwLDAsNS42LTIuNGw1MC45LTUwLjlBNy45LDcuOSwwLDAsMCwxNjcuNyw1My4yWiIgLz4KCTxwYXRoIGZpbGw9IiMxYzg5ZWEiIGQ9Ik0yLjMsNjQuNWw1MC45LDUwLjlhOC4yLDguMiwwLDAsMCw1LjcsMi40LDgsOCwwLDAsMCw1LjYtMi40bDEwLTkuOWEyLjEsMi4xLDAsMCwwLDAtMi45bC03LjEtN2ExLjksMS45LDAsMCwwLTIuOCwwbC00LjMsNC4zYTEuOSwxLjksMCwwLDEtMi44LDBMMTcuOSw2MC4zYTEuOSwxLjksMCwwLDEsMC0yLjhMNTcuNSwxNy45YTEuOSwxLjksMCwwLDEsMi44LDBMOTkuOSw1Ny41YTEuOSwxLjksMCwwLDEsMCwyLjhsLTQsNGExLjksMS45LDAsMCwwLDAsMi44bDcsNy4xYTIuMSwyLjEsMCwwLDAsMi45LDBsOS42LTkuN2E3LjksNy45LDAsMCwwLDAtMTEuM0w2NC41LDIuM0E3LjksNy45LDAsMCwwLDU4LjksMGE4LjEsOC4xLDAsMCwwLTUuNywyLjNMMi4zLDUzLjJBOCw4LDAsMCwwLDIuMyw2NC41WiIgLz4KPC9zdmc+Cg==");
96
+ --t42-icon-color: var(--t42-link-color);
97
+ --t42-list-group-hover-bg-special: hsla(
98
+ var(--t42-content-color-base),
99
+ 100%,
100
+ 0.065
101
+ );
102
+ --backdrop-filter: blur(5px) saturate(200%);
103
+ --accordion-filter: invert(1) brightness(1);
104
+ --filter-close: invert(1);
105
+ --t42-body: rgb(var(--t42-bg-dark));
106
+ --pink: rgb(0 170 200);
107
+ --t42-link-hover-color: hsl(var(--t42-bg-light-base), 100%);
108
+ --t42-link-hover-bg: var(--t42-color-opacity-05);
109
+ --t42-link-active-bg: var(--t42-color-opacity-10);
110
+ --t42-input-bg: rgb(var(--t42-bg-dark));
111
+ --t42-input-disabled-bg: Hsla(var(--t42-content-color-base), 100%, 0.075);
112
+ --t42-tooltip-bg: rgba(var(--t42-bg-dark), 0.85);
113
+ --t42-modal-bg: rgba(var(--t42-bg-light), 0.75);
114
+ --t42-table-active-bg: rgba(255, 255, 255, 0.1);
115
+ --t42-select-indicator: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiNFRUVFRUUiIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTIuNSA1LjVjLjQtLjQgMS0uNSAxLjYgMGwzLjkgMy43bDMuOS0zLjdjLjUtLjUgMS4xLS40IDEuNiAwYy40LjQuNCAxLjIgMCAxLjZjLS40LjQtNC43IDQuNS00LjcgNC41Yy0uMi4yLS41LjMtLjguM3MtLjYtLjEtLjgtLjNjMCAwLTQuMy00LjEtNC43LTQuNXMtLjQtMS4yIDAtMS42eiI+PC9wYXRoPjwvc3ZnPg==");
116
+ }
117
+ .light {
118
+ --t42-bg-light-base: 0, 0%;
119
+ --t42-bg-light-l: 100%;
120
+ --t42-bg-light: 255, 255, 255;
121
+ --t42-bg-mid: 250, 250, 250;
122
+ --t42-bg-dark: 245, 245, 245;
123
+ --t42-content-color-base: 0, 0%;
124
+ --t42-content-color: #757575;
125
+ --t42-content-color-l: 46%;
126
+ --t42-content-color-muted: hsl(var(--t42-content-color-base), 66%);
127
+ --t42-color-opacity-025: hsla(var(--t42-content-color-base), 0%, 0.025);
128
+ --t42-color-opacity-05: hsla(var(--t42-content-color-base), 0%, 0.05);
129
+ --t42-color-opacity-10: hsla(var(--t42-content-color-base), 0%, 0.075);
130
+ --t42-color-opacity-30: hsla(var(--t42-content-color-base), 0%, 0.1);
131
+ --t42-color-opacity-20: hsla(var(--t42-content-color-base), 0%, 0.2);
132
+ --t42-link-color: hsl(var(--t42-content-color-base), 5%);
133
+ --t42-shadow: 0 0 12px 0 hsla(var(--t42-content-color-base), 0%, 0.05);
134
+ --t42-border: 0.0625rem solid var(--t42-color-opacity-10);
135
+ --t42-logo-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNzAuMSAxMTcuOCI+Cgk8cGF0aCBmaWxsPSIjNjA2MzY5IiBkPSJNMTY3LjcsNTMuMiwxMTYuOCwyLjNBNy45LDcuOSwwLDAsMCwxMTEuMiwwYTguMSw4LjEsMCwwLDAtNS43LDIuM2wtOS45LDEwYTEuOSwxLjksMCwwLDAsMCwyLjhsNyw3LjFhMi4xLDIuMSwwLDAsMCwyLjksMGw0LjMtNC4zYTEuOSwxLjksMCwwLDEsMi44LDBsMzkuNiwzOS42YTEuOSwxLjksMCwwLDEsMCwyLjhMMTEyLjYsOTkuOWExLjksMS45LDAsMCwxLTIuOCwwTDcwLjIsNjAuM2ExLjksMS45LDAsMCwxLDAtMi44bDQtNGEyLjEsMi4xLDAsMCwwLDAtMi45bC03LjEtN2ExLjksMS45LDAsMCwwLTIuOCwwbC05LjcsOS42YTgsOCwwLDAsMCwwLDExLjNsNTAuOSw1MC45YTguMiw4LjIsMCwwLDAsNS43LDIuNCw4LDgsMCwwLDAsNS42LTIuNGw1MC45LTUwLjlBNy45LDcuOSwwLDAsMCwxNjcuNyw1My4yWiIgLz4KCTxwYXRoIGZpbGw9IiMxYzg5ZWEiIGQ9Ik0yLjMsNjQuNWw1MC45LDUwLjlhOC4yLDguMiwwLDAsMCw1LjcsMi40LDgsOCwwLDAsMCw1LjYtMi40bDEwLTkuOWEyLjEsMi4xLDAsMCwwLDAtMi45bC03LjEtN2ExLjksMS45LDAsMCwwLTIuOCwwbC00LjMsNC4zYTEuOSwxLjksMCwwLDEtMi44LDBMMTcuOSw2MC4zYTEuOSwxLjksMCwwLDEsMC0yLjhMNTcuNSwxNy45YTEuOSwxLjksMCwwLDEsMi44LDBMOTkuOSw1Ny41YTEuOSwxLjksMCwwLDEsMCwyLjhsLTQsNGExLjksMS45LDAsMCwwLDAsMi44bDcsNy4xYTIuMSwyLjEsMCwwLDAsMi45LDBsOS42LTkuN2E3LjksNy45LDAsMCwwLDAtMTEuM0w2NC41LDIuM0E3LjksNy45LDAsMCwwLDU4LjksMGE4LjEsOC4xLDAsMCwwLTUuNywyLjNMMi4zLDUzLjJBOCw4LDAsMCwwLDIuMyw2NC41WiIgLz4KPC9zdmc+Cg==");
136
+ --t42-icon-color: Hsl(var(--t42-content-color-base), 38%);
137
+ --t42-list-group-hover-bg-special: hsla(
138
+ var(--t42-content-color-base),
139
+ 95%,
140
+ 0.065
141
+ );
142
+ --backdrop-filter: blur(5px) saturate(200%);
143
+ --accordion-filter: brightness(0%);
144
+ --filter-close: invert(0);
145
+ --t42-body: rgb(var(--t42-bg-mid));
146
+ --t42-link-hover-color: hsl(var(--t42-bg-light-base), 0%);
147
+ --t42-link-hover-bg: hsl(var(--t42-content-color-base), 95%);
148
+ --t42-link-active-bg: hsl(var(--t42-content-color-base), 90%);
149
+ --t42-input-bg: rgb(var(--t42-bg-light));
150
+ --t42-input-disabled-bg: var(--t42-color-opacity-10);
151
+ --t42-tooltip-bg: rgba(var(--t42-bg-light), 0.95);
152
+ --t42-modal-bg: rgba(var(--t42-bg-light), 0.95);
153
+ --t42-table-active-bg: rgba(0, 0, 0, 0.025);
154
+ --t42-select-indicator: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiM2MTYxNjEiIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTIuNSA1LjVjLjQtLjQgMS0uNSAxLjYgMGwzLjkgMy43bDMuOS0zLjdjLjUtLjUgMS4xLS40IDEuNiAwYy40LjQuNCAxLjIgMCAxLjZjLS40LjQtNC43IDQuNS00LjcgNC41Yy0uMi4yLS41LjMtLjguM3MtLjYtLjEtLjgtLjNjMCAwLTQuMy00LjEtNC43LTQuNXMtLjQtMS4yIDAtMS42eiI+PC9wYXRoPjwvc3ZnPg==");
155
+ }
@@ -49,11 +49,11 @@
49
49
  --t42-tab-bar-selected-tab-hover-background: var(--window-tabs-background-active);
50
50
  --t42-tab-bar-fade-size: 24px;
51
51
 
52
- --t42-tab-bar-tab-height: 28px; /* for 10.0 - var(--spacing-24); */
52
+ --t42-tab-bar-tab-height: 28px; /* for 10.0 - var(--spacing-24); */
53
53
  --t42-tab-bar-tab-min-width: 48px;
54
54
  --t42-tab-bar-tab-width: 150px;
55
55
  --t42-tab-bar-tab-padding: 0 var(--spacing-8);
56
- --t42-tab-bar-tab-margin: var(--spacing-4) var(--spacing-2) 0 0; /* for 10.0 - 0 var(--spacing-2) 0 0; */
56
+ --t42-tab-bar-tab-margin: var(--spacing-4) var(--spacing-2) 0 0; /* for 10.0 - 0 var(--spacing-2) 0 0; */
57
57
  --t42-tab-bar-tab-text: var(--tabs-color-default);
58
58
  --t42-tab-bar-tab-text-hover: var(--tabs-color-hover);
59
59
  --t42-tab-bar-tab-separator-size: 1px;
@@ -66,10 +66,11 @@
66
66
  --t42-tab-bar-tab-background: transparent;
67
67
  --t42-tab-bar-tab-hover-background: transparent; /* non used */
68
68
  --t42-tab-bar-tab-flashing-color: var(--io-neutrals-0);
69
- --t42-tab-bar-tab-flashing-background:var(--severity-high); /* color-mix(in srgb, var(--severity-high) 65%, transparent); */
69
+ --t42-tab-bar-tab-flashing-background:var(--severity-high); /* color-mix(in srgb, var(--severity-high) 65%, transparent); */
70
70
 
71
71
  --t42-tab-bar-tab-channels-border-radius: var(--base-radius-default);
72
- --t42-tab-bar-tab-channels-size: var(--spacing-16);
72
+ --t42-tab-bar-tab-channels-width: var(--spacing-16);
73
+ --t42-tab-bar-tab-channels-height: var(--spacing-16);
73
74
  --t42-tab-bar-tab-channels-margin: 0 var(--spacing-4) 0 0;
74
75
  --t42-tab-bar-tab-channels-content-size: 0;
75
76
  --t42-tab-bar-tab-channels-content-margin: 0;
@@ -88,6 +89,10 @@
88
89
 
89
90
  --t42-channels-fill-color: var(--tabs-color-active);
90
91
 
92
+ --t42-channel-selector-direction-width: var(--spacing-24);
93
+ --t42-channel-selector-direction-height: var(--spacing-16);
94
+ --t42-channel-selector-direction-gap: var(--spacing-1);
95
+
91
96
  --t42-caption-separator-color: var(--tabs-border);
92
97
  --t42-caption-text-hover-color: var(--tabs-color-hover);
93
98
  --t42-caption-bar-button-width: 48px;
@@ -104,7 +109,7 @@
104
109
  --t42-hover-sizing-border-group-color: hsl(var(--io-highlight-Interactive));
105
110
  --t42-active-sizing-border-group-color: hsl(var(--io-interactive-primary));
106
111
 
107
-
112
+
108
113
  --t42-wg-tab-over-max-height: 100vh;
109
114
  --t42-wg-tab-over-max-width: 200px;
110
115
  --t42-wg-tab-over-min-width: 200px;
@@ -127,6 +132,18 @@
127
132
  --t42-wg-pin-tab-width: 120px;
128
133
  --t42-wg-pin-tab-margin: var(--spacing-4);
129
134
  --t42-wg-pin-tab-height: var(--spacing-24);
135
+ --t42-multi-channel-selector-2-color-1: var(--channels-blue);
136
+ --t42-multi-channel-selector-2-color-2: var(--channels-red);
137
+ --t42-multi-channel-selector-2-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 16 16'%3E%3Crect width='7.5' height='16'/%3E%3Crect x='8.5' width='7.5' height='16'/%3E%3C/svg%3E");
138
+ --t42-multi-channel-selector-3-color-1: var(--channels-blue);
139
+ --t42-multi-channel-selector-3-color-2: var(--channels-red);
140
+ --t42-multi-channel-selector-3-color-3: var(--channels-orange);
141
+ --t42-multi-channel-selector-3-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 16 16'%3E%3Crect fill='none' width='16' height='16' rx='4' ry='4'/%3E%3Cpath fill='%23000000' d='M16,11.6v-7.6c0-2.2-1.8-4-4-4h-3.5v7.3l7.5,4.3Z'/%3E%3Cpath fill='%23000000' d='M7.5,0h-3.5C1.8,0,0,1.8,0,4v7.9l7.5-4.3V0Z'/%3E%3Cpath fill='%23000000' d='M.1,12.9c.4,1.8,2,3.1,3.9,3.1h8c2,0,3.6-1.4,3.9-3.2l-7.7-4.5L.1,12.9Z'/%3E%3C/svg%3E");
142
+ --t42-multi-channel-selector-4-color-1: var(--channels-blue);
143
+ --t42-multi-channel-selector-4-color-2: var(--channels-red);
144
+ --t42-multi-channel-selector-4-color-3: var(--channels-orange);
145
+ --t42-multi-channel-selector-4-color-4: var(--channels-magenta);
146
+ --t42-multi-channel-selector-4-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 16 16'%3E%3Crect width='7.5' height='7.5'/%3E%3Crect x='8.5' width='7.5' height='7.5'/%3E%3Crect x='8.5' y='8.5' width='7.5' height='7.5'/%3E%3Crect y='8.5' width='7.5' height='7.5'/%3E%3C/svg%3E");
130
147
  }/* Scroll vars override */.os-theme-dark,
131
148
  .os-theme-light {
132
149
  --os-size: var(--spacing-4);
@@ -0,0 +1,373 @@
1
+ import React from "react";
2
+ export interface BaseChannelSelectorProps {
3
+ showSelector: (bounds: Bounds) => void;
4
+ outsideClass: string;
5
+ contentClass: string;
6
+ selectedChannel: string;
7
+ selectedChannelColor: string;
8
+ }
9
+ export interface FrameChannelSelectorProps {
10
+ showSelector: (bounds: Bounds) => void;
11
+ selectedChannel: string;
12
+ selectedChannelColor: string;
13
+ }
14
+ export interface TabChannelSelectorProps {
15
+ showSelector: (bounds: Bounds) => void;
16
+ selectedChannel: string;
17
+ selectedChannelColor: string;
18
+ }
19
+ export interface PortalProps {
20
+ parentElement: HTMLElement;
21
+ children?: React.ReactNode;
22
+ }
23
+ export interface GroupCaptionBarProps {
24
+ moveAreaId: string;
25
+ targetType: string;
26
+ targetId: string;
27
+ caption: string;
28
+ minimize: ButtonProps;
29
+ maximize: ButtonProps;
30
+ restore: ButtonProps;
31
+ close: ButtonProps;
32
+ }
33
+ export interface GroupMoveAreaProps {
34
+ moveAreaId: string;
35
+ children?: React.ReactNode;
36
+ }
37
+ export interface GroupButtonsProps {
38
+ minimize: ButtonProps;
39
+ maximize: ButtonProps;
40
+ restore: ButtonProps;
41
+ close: ButtonProps;
42
+ }
43
+ export interface GroupCaptionProps {
44
+ caption: string;
45
+ }
46
+ export interface GroupOverlayProps {
47
+ }
48
+ export interface MoveAreaProps {
49
+ elementId: string;
50
+ }
51
+ export interface FrameCaptionBarProps {
52
+ frameId: string;
53
+ moveAreaId: string;
54
+ caption: string;
55
+ extract?: ButtonProps;
56
+ minimize?: ButtonProps;
57
+ maximize?: ButtonProps;
58
+ restore?: ButtonProps;
59
+ close?: ButtonProps;
60
+ channels: ChannelProps;
61
+ selectedWindow: string;
62
+ }
63
+ export interface FrameMoveAreaProps {
64
+ moveAreaId: string;
65
+ children?: React.ReactNode;
66
+ }
67
+ export interface FrameButtonsProps {
68
+ extract?: ButtonProps;
69
+ minimize?: ButtonProps;
70
+ maximize?: ButtonProps;
71
+ restore?: ButtonProps;
72
+ close?: ButtonProps;
73
+ }
74
+ export interface FrameCaptionProps {
75
+ caption: string;
76
+ }
77
+ export interface FrameWindowOverlayProps {
78
+ frameId: string;
79
+ selectedWindow: string;
80
+ }
81
+ export interface BelowWindowProps {
82
+ frameId: string;
83
+ selectedWindow: string;
84
+ }
85
+ export interface ChannelProps {
86
+ visible: boolean;
87
+ selectedChannel: string;
88
+ showSelector: (bounds: Bounds) => void;
89
+ selectedChannelColor: string;
90
+ }
91
+ export interface AboveTabsProps {
92
+ frameId: string;
93
+ selectedWindow: string;
94
+ }
95
+ export interface BeforeTabsZoneProps {
96
+ frameId: string;
97
+ selectedWindow: string;
98
+ }
99
+ export interface TabElementProps {
100
+ targetId: string;
101
+ windowId: string;
102
+ caption: string;
103
+ selected: boolean;
104
+ close: () => void;
105
+ channels: ChannelProps;
106
+ }
107
+ export interface TabCaptionProps {
108
+ caption: string;
109
+ selected: boolean;
110
+ }
111
+ export interface TabCloseButtonProps {
112
+ selected: boolean;
113
+ close: () => void;
114
+ }
115
+ export interface AfterTabsZoneProps {
116
+ frameId: string;
117
+ selectedWindow: string;
118
+ }
119
+ export interface TabHeaderButtonsProps {
120
+ extract?: ButtonProps;
121
+ minimize?: ButtonProps;
122
+ maximize?: ButtonProps;
123
+ restore?: ButtonProps;
124
+ close?: ButtonProps;
125
+ frameId: string;
126
+ selectedWindow: string;
127
+ }
128
+ export interface BelowTabsProps {
129
+ frameId: string;
130
+ selectedWindow: string;
131
+ }
132
+ export interface ButtonProps {
133
+ onClick: () => void;
134
+ tooltip: string;
135
+ visible: boolean;
136
+ }
137
+ export interface MinimizeButtonProps extends ButtonProps {
138
+ }
139
+ export interface MaximizeButtonProps extends ButtonProps {
140
+ }
141
+ export interface RestoreButtonProps extends ButtonProps {
142
+ }
143
+ export interface CloseButtonProps extends ButtonProps {
144
+ }
145
+ export interface BaseButtonProps {
146
+ outerElement: React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>;
147
+ innerElement: React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>;
148
+ }
149
+ export interface GroupProps {
150
+ components?: {
151
+ group?: {
152
+ CaptionBar?: React.ComponentType<GroupCaptionBarProps>;
153
+ Overlay?: React.ComponentType<GroupOverlayProps>;
154
+ };
155
+ frame?: {
156
+ Overlay?: React.ComponentType<FrameWindowOverlayProps>;
157
+ BelowWindow?: React.ComponentType<BelowWindowProps>;
158
+ };
159
+ flat?: {
160
+ CaptionBar?: React.ComponentType<FrameCaptionBarProps>;
161
+ };
162
+ tabs?: {
163
+ Above?: React.ComponentType<AboveTabsProps>;
164
+ Before?: React.ComponentType<BeforeTabsZoneProps>;
165
+ Element?: React.ComponentType<TabElementProps>;
166
+ After?: React.ComponentType<AfterTabsZoneProps>;
167
+ Buttons?: React.ComponentType<TabHeaderButtonsProps>;
168
+ Below?: React.ComponentType<BelowTabsProps>;
169
+ };
170
+ };
171
+ }
172
+ export interface GroupWrapperProps {
173
+ onCreateGroupCaptionBarRequested?: (options: CreateGroupCaptionBarRequestOptions) => void;
174
+ onUpdateGroupCaptionBarRequested?: (options: UpdateGroupCaptionBarRequestOptions) => void;
175
+ onCreateGroupOverlayRequested?: (options: CreateElementRequestOptions) => void;
176
+ onCreateFrameCaptionBarRequested?: (options: CreateFrameCaptionBarRequestOptions) => void;
177
+ onUpdateFrameCaptionBarRequested?: (options: UpdateFrameCaptionBarRequestOptions) => void;
178
+ onCreateFrameWindowOverlayRequested?: (options: CreateFrameElementRequestOptions) => void;
179
+ onUpdateFrameWindowOverlayRequested?: (options: CreateFrameElementRequestOptions) => void;
180
+ onCreateBelowWindowRequested?: (options: CreateFrameElementRequestOptions) => void;
181
+ onCreateAboveTabsRequested?: (options: CreateFrameElementRequestOptions) => void;
182
+ onUpdateAboveTabsRequested?: (options: CreateFrameElementRequestOptions) => void;
183
+ onCreateBeforeTabsComponentRequested?: (options: CreateFrameElementRequestOptions) => void;
184
+ onUpdateBeforeTabsComponentRequested?: (options: CreateFrameElementRequestOptions) => void;
185
+ onCreateTabRequested?: (options: CreateTabRequestOptions) => void;
186
+ onUpdateTabRequested?: (options: UpdateTabRequestOptions) => void;
187
+ onCreateAfterTabsComponentRequested?: (options: CreateFrameElementRequestOptions) => void;
188
+ onUpdateAfterTabsComponentRequested?: (options: CreateFrameElementRequestOptions) => void;
189
+ onCreateTabHeaderButtonsRequested?: (options: CreateTabHeaderButtonsOptions) => void;
190
+ onCreateBelowTabsRequested?: (options: CreateFrameElementRequestOptions) => void;
191
+ onUpdateBelowTabsRequested?: (options: CreateFrameElementRequestOptions) => void;
192
+ onUpdateFrameRequested?: (options: UpdateFrameRequestionOptions) => void;
193
+ onUpdateStandardButtonRequested?: (options: UpdateStandardButtonRequestOptions) => void;
194
+ onRemoveFrameCaptionBarRequested?: (options: RemoveRequestOptions) => void;
195
+ onRemoveFrameWindowOverlayRequested?: (options: RemoveRequestOptions) => void;
196
+ onRemoveBelowWindowRequested?: (options: RemoveRequestOptions) => void;
197
+ onRemoveAboveTabsRequested?: (options: RemoveRequestOptions) => void;
198
+ onRemoveBeforeTabsComponentRequested?: (options: RemoveRequestOptions) => void;
199
+ onRemoveTabRequested?: (options: RemoveRequestOptions) => void;
200
+ onRemoveAfterTabsComponentRequested?: (options: RemoveRequestOptions) => void;
201
+ onRemoveTabHeaderButtonsRequested?: (options: RemoveRequestOptions) => void;
202
+ onRemoveBelowTabsRequested?: (options: RemoveRequestOptions) => void;
203
+ }
204
+ export interface CreateGroupCaptionBarRequestOptions extends CreateElementRequestOptions {
205
+ moveAreaId: string;
206
+ caption: string;
207
+ extract: {
208
+ tooltip: string;
209
+ visible: boolean;
210
+ };
211
+ minimize: {
212
+ tooltip: string;
213
+ visible: boolean;
214
+ };
215
+ restore: {
216
+ tooltip: string;
217
+ visible: boolean;
218
+ };
219
+ maximize: {
220
+ tooltip: string;
221
+ visible: boolean;
222
+ };
223
+ close: {
224
+ tooltip: string;
225
+ visible: boolean;
226
+ };
227
+ }
228
+ export interface UpdateGroupCaptionBarRequestOptions extends CreateGroupCaptionBarRequestOptions {
229
+ }
230
+ export interface UpdateFrameCaptionBarRequestOptions extends BaseElementOptions {
231
+ }
232
+ export interface CreateFrameCaptionBarRequestOptions extends CreateFrameElementRequestOptions {
233
+ caption: string;
234
+ moveAreaId: string;
235
+ channelSelectorVisible: boolean;
236
+ selectedChannel: string;
237
+ selectedChannelColor: string;
238
+ minimize: {
239
+ tooltip: string;
240
+ visible: boolean;
241
+ };
242
+ restore: {
243
+ tooltip: string;
244
+ visible: boolean;
245
+ };
246
+ maximize: {
247
+ tooltip: string;
248
+ visible: boolean;
249
+ };
250
+ close: {
251
+ tooltip: string;
252
+ visible: boolean;
253
+ };
254
+ }
255
+ export interface CreateTabRequestOptions extends CreateElementRequestOptions {
256
+ caption: string;
257
+ selected: boolean;
258
+ channelSelectorVisible: boolean;
259
+ selectedChannel: string;
260
+ selectedChannelColor: string;
261
+ }
262
+ export interface UpdateTabRequestOptions extends BaseElementOptions {
263
+ }
264
+ export interface UpdateStandardButtonRequestOptions extends CreateElementRequestOptions {
265
+ buttonId: StandardButtons;
266
+ visible: boolean;
267
+ tooltip: string;
268
+ }
269
+ export interface CreateTabHeaderButtonsOptions extends CreateFrameElementRequestOptions {
270
+ minimize: {
271
+ tooltip: string;
272
+ visible: boolean;
273
+ };
274
+ restore: {
275
+ tooltip: string;
276
+ visible: boolean;
277
+ };
278
+ maximize: {
279
+ tooltip: string;
280
+ visible: boolean;
281
+ };
282
+ close: {
283
+ tooltip: string;
284
+ visible: boolean;
285
+ };
286
+ }
287
+ export interface RemoveRequestOptions {
288
+ targetId: string;
289
+ }
290
+ export interface BaseElementOptions {
291
+ targetId: string;
292
+ }
293
+ export interface CreateElementRequestOptions extends BaseElementOptions {
294
+ parentElement: HTMLElement;
295
+ targetType: TargetType;
296
+ elementId: string;
297
+ }
298
+ export interface CreateFrameElementRequestOptions extends CreateElementRequestOptions {
299
+ selectedWindow: string;
300
+ }
301
+ export declare type UpdateFrameRequestionOptions = CreateFrameElementRequestOptions;
302
+ export declare enum TargetType {
303
+ Group = "group",
304
+ Frame = "frame",
305
+ TabBar = "tabBar",
306
+ Tab = "tab"
307
+ }
308
+ export declare enum StandardButtons {
309
+ Minimize = "minimize",
310
+ Maximize = "maximize",
311
+ Restore = "restore",
312
+ Close = "close"
313
+ }
314
+ export interface ElementCreationWrapperState {
315
+ groupCaptionBar?: CreateGroupCaptionBarRequestOptions;
316
+ groupOverlay?: CreateElementRequestOptions;
317
+ frameCaptionBars: {
318
+ [targetId: string]: CreateFrameCaptionBarRequestOptions;
319
+ };
320
+ frameWindowOverlays: {
321
+ [targetId: string]: CreateFrameElementRequestOptions;
322
+ };
323
+ belowWindowZones: {
324
+ [targetId: string]: CreateFrameElementRequestOptions;
325
+ };
326
+ aboveTabsZones: {
327
+ [targetId: string]: CreateFrameElementRequestOptions;
328
+ };
329
+ beforeTabsZones: {
330
+ [targetId: string]: CreateFrameElementRequestOptions;
331
+ };
332
+ tabElements: {
333
+ [targetId: string]: CreateTabRequestOptions;
334
+ };
335
+ afterTabsZones: {
336
+ [targetId: string]: CreateFrameElementRequestOptions;
337
+ };
338
+ tabHeaderButtons: {
339
+ [targetId: string]: CreateTabHeaderButtonsOptions;
340
+ };
341
+ belowTabsZones: {
342
+ [targetId: string]: CreateFrameElementRequestOptions;
343
+ };
344
+ }
345
+ export interface ExternalLibraryFactory {
346
+ readonly groupId: string;
347
+ focusPage(): void;
348
+ focusFrame(frameId: string): void;
349
+ focusGroup(): void;
350
+ onStandardButtonClick(targetType: TargetType, targetId: string, buttonId: StandardButtons): void;
351
+ onTabCloseButtonClick(targetId: string): void;
352
+ onTabChannelSelectorClick(targetId: string, channelSelectorBounds: Bounds): void;
353
+ onFrameChannelSelectorClick(targetId: string, channelSelectorBounds: Bounds): void;
354
+ onMoveAreaChanged(targetType: TargetType, targetId: string): void;
355
+ }
356
+ export interface WebGroupsManager {
357
+ init: (factory?: any) => void;
358
+ notifyMoveAreaChanged(): void;
359
+ registerPopup(element: HTMLElement): string;
360
+ removePopup(element: HTMLElement): void;
361
+ removePopupById(elementId: string): void;
362
+ subscribeForWindowFocused(cb: () => any): () => void;
363
+ unmount(): void;
364
+ externalLibraryFactory: ExternalLibraryFactory;
365
+ }
366
+ export interface Size {
367
+ width: number;
368
+ height: number;
369
+ }
370
+ export interface Bounds extends Size {
371
+ left: number;
372
+ top: number;
373
+ }
@@ -0,0 +1,35 @@
1
+ import { Bounds } from "./types/internal";
2
+ declare class WorkspacesManagerDecorator {
3
+ readonly skipFocusStyle = "t42-skip-focus";
4
+ init(glue: any, componentFactory: any): void;
5
+ getGroupId(): string;
6
+ notifyMoveAreaChanged(): void;
7
+ registerPopup(element: HTMLElement): string;
8
+ removePopup(element: HTMLElement): void;
9
+ removePopupById(elementId: string): void;
10
+ subscribeForWindowFocused(cb: () => any): () => void;
11
+ unmount(): void;
12
+ requestPageFocus(): void;
13
+ requestFrameFocus(frameId: string): void;
14
+ requestGroupFocus(): void;
15
+ closeFrame(targetId: string): void;
16
+ restoreFrame(targetId: string): void;
17
+ maximizeFrame(targetId: string): void;
18
+ minimizeFrame(targetId: string): void;
19
+ extractFrame(targetId: string): void;
20
+ closeTabBar(targetId: string): void;
21
+ restoreTabBar(targetId: string): void;
22
+ maximizeTabBar(targetId: string): void;
23
+ minimizeTabBar(targetId: string): void;
24
+ extractTabBar(targetId: string): void;
25
+ closeGroup(targetId: string): void;
26
+ restoreGroup(targetId: string): void;
27
+ maximizeGroup(targetId: string): void;
28
+ minimizeGroup(targetId: string): void;
29
+ closeTab(targetId: string): void;
30
+ onGroupMoveAreaChanged(targetId: string): void;
31
+ onTabChannelSelectorClick(targetId: string, selectorBounds: Bounds): void;
32
+ onFrameChannelSelectorClick(targetId: string, selectorBounds: Bounds): void;
33
+ }
34
+ declare const _default: WorkspacesManagerDecorator;
35
+ export default _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@interopio/groups-ui-react",
3
- "version": "2.4.0",
3
+ "version": "2.5.0",
4
4
  "description": "React library for building a Web Group App for io.Connect Desktop.",
5
5
  "author": {
6
6
  "name": "interop.io",