@rtsee/ngx 0.0.108 → 0.0.110

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.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { OnInit, AfterViewInit, ElementRef, EventEmitter, OnDestroy, ChangeDetectorRef, OutputEmitterRef, ViewContainerRef, ComponentFactoryResolver, Type, OnChanges, SimpleChanges } from '@angular/core';
2
+ import { OnInit, AfterViewInit, ElementRef, EventEmitter, OnDestroy, ChangeDetectorRef, OutputEmitterRef, ViewContainerRef, ComponentFactoryResolver, OnChanges, SimpleChanges, Type } from '@angular/core';
3
3
  import { RTSeeConference, RTSeePeerConnection } from '@rtsee/conference';
4
4
  import { RTSeeMessenger, RTSeeMessengerSearch, RTSeeMessage, RTSeeChat, RTSeeChatMember, RTSeeMentionAutocomplete, RTSeeWorkflowAutocomplete, OzzyClientTask } from '@rtsee/messenger';
5
5
  import { IPeer, RTSeeTextLabelKeys, IRTSeeCall } from '@rtsee/core';
@@ -216,12 +216,23 @@ declare class StoryElementsSectionComponent implements OnDestroy {
216
216
  collapsed: boolean;
217
217
  canDetach: boolean;
218
218
  toggled: EventEmitter<void>;
219
+ batchMode: boolean;
220
+ selectedItemIds: Set<string>;
221
+ batchAdditionalPrompt: string;
222
+ generatingItemIds: Set<string>;
223
+ private activeGenerationListeners;
219
224
  private _illustrator?;
220
225
  private onIllustratorChanged;
221
226
  set illustrator(val: RTSeeIllustrator | undefined);
222
227
  get illustrator(): RTSeeIllustrator | undefined;
223
228
  constructor(cdr: ChangeDetectorRef);
224
229
  ngOnDestroy(): void;
230
+ startBatchSelection(event: Event): void;
231
+ cancelBatchSelection(): void;
232
+ toggleItemSelection(id: string): void;
233
+ isItemSelected(id: string): boolean;
234
+ isItemGenerating(id: string): boolean;
235
+ submitBatchGeneration(): Promise<void>;
225
236
  applyReviewedImageToItem(event: Event, item: RTSeeStoryElementEntity<IRTSeeStoryElement>): Promise<void>;
226
237
  submit(): void;
227
238
  addToIllustrator(event: Event, item: RTSeeStoryElementEntity<IRTSeeStoryElement>): void;
@@ -666,7 +677,7 @@ declare class ChatComponent implements OnInit, OnDestroy {
666
677
  static ɵcmp: i0.ɵɵComponentDeclaration<ChatComponent, "rtsee-chat", never, { "chat": { "alias": "chat"; "required": false; }; "chatData": { "alias": "chatData"; "required": false; }; "entity": { "alias": "entity"; "required": false; }; "messenger": { "alias": "messenger"; "required": false; }; }, {}, never, never, true, never>;
667
678
  }
668
679
 
669
- declare class MessageComponent implements OnInit, AfterViewInit {
680
+ declare class MessageComponent implements OnInit, AfterViewInit, OnChanges {
670
681
  private widgetsService;
671
682
  private componentFactoryResolver;
672
683
  timeFormatService: TimeFormatHelperService;
@@ -675,8 +686,11 @@ declare class MessageComponent implements OnInit, AfterViewInit {
675
686
  member: RTSeeChatMember<any>;
676
687
  messenger: RTSeeMessenger;
677
688
  widgetHost: WidgetDirective;
689
+ private widgetRef;
690
+ private widgetHasMessageInput;
678
691
  constructor(widgetsService: MessageWidgetsService, componentFactoryResolver: ComponentFactoryResolver, timeFormatService: TimeFormatHelperService);
679
692
  ngOnInit(): void;
693
+ ngOnChanges(changes: SimpleChanges): void;
680
694
  ngAfterViewInit(): void;
681
695
  static ɵfac: i0.ɵɵFactoryDeclaration<MessageComponent, never>;
682
696
  static ɵcmp: i0.ɵɵComponentDeclaration<MessageComponent, "rtsee-message", never, { "chat": { "alias": "chat"; "required": false; }; "message": { "alias": "message"; "required": false; }; "member": { "alias": "member"; "required": false; }; "messenger": { "alias": "messenger"; "required": false; }; }, {}, never, never, true, never>;
@@ -96,6 +96,54 @@
96
96
  right: $rts-offset-sm;
97
97
  cursor: pointer;
98
98
  font-size: 24px;
99
+ transition: right 0.2s ease;
100
+
101
+ &.rtsee-shifted {
102
+ right: calc(#{$rts-offset-sm} + 44px);
103
+ }
99
104
  }
105
+
106
+ .rtsee-image-uploader-optimize-btn {
107
+ position: absolute;
108
+ bottom: $rts-offset-sm;
109
+ right: $rts-offset-sm;
110
+ z-index: 5;
111
+ cursor: pointer;
112
+
113
+ .p-button {
114
+ width: 36px;
115
+ height: 36px;
116
+ padding: 0;
117
+ background: linear-gradient(135deg, #ffd166 0%, #f8961e 100%);
118
+ border: 1px solid rgba(255, 255, 255, 0.35);
119
+ box-shadow: 0 4px 12px rgba(248, 150, 30, 0.45);
120
+ animation: rtsee-optimize-pulse 2.4s ease-in-out infinite;
121
+ transition: transform 0.2s ease, box-shadow 0.2s ease;
122
+
123
+ .p-button-icon {
124
+ font-size: 15px;
125
+ color: #3d2600;
126
+ }
127
+
128
+ &:hover {
129
+ transform: scale(1.1);
130
+ box-shadow: 0 6px 18px rgba(248, 150, 30, 0.65);
131
+ }
132
+ }
133
+
134
+ &.rtsee-optimizing .p-button {
135
+ animation: none;
136
+ opacity: 0.85;
137
+ }
138
+ }
139
+ }
140
+ }
141
+
142
+ @keyframes rtsee-optimize-pulse {
143
+ 0%, 100% {
144
+ box-shadow: 0 4px 12px rgba(248, 150, 30, 0.45);
145
+ }
146
+ 50% {
147
+ box-shadow: 0 0 0 6px rgba(248, 150, 30, 0.18), 0 4px 12px rgba(248, 150, 30, 0.45);
100
148
  }
101
149
  }
@@ -149,6 +149,202 @@ $ise-slide-thumb-size: 112px;
149
149
  transition: transform $ise-transition;
150
150
  }
151
151
 
152
+ .rtsee-ise-section-header {
153
+ display: flex;
154
+ align-items: center;
155
+ position: relative;
156
+ padding-right: $rts-offset-md;
157
+
158
+ .rtsee-ise-section-toggle {
159
+ flex: 1;
160
+ }
161
+ }
162
+
163
+ .rtsee-ise-btn-batch-generate {
164
+ display: inline-flex;
165
+ align-items: center;
166
+ gap: 6px;
167
+ padding: 6px 12px;
168
+ background: linear-gradient(135deg, rgba(168, 85, 247, 0.25), rgba(139, 92, 246, 0.15));
169
+ border: 1px solid rgba(168, 85, 247, 0.45);
170
+ border-radius: 8px;
171
+ color: #f3e8ff;
172
+ font-size: 0.82rem;
173
+ font-weight: 600;
174
+ cursor: pointer;
175
+ white-space: nowrap;
176
+ transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
177
+
178
+ i {
179
+ color: #c084fc;
180
+ font-size: 0.85rem;
181
+ }
182
+
183
+ &:hover {
184
+ background: linear-gradient(135deg, rgba(168, 85, 247, 0.4), rgba(139, 92, 246, 0.3));
185
+ border-color: #a855f7;
186
+ color: #ffffff;
187
+ transform: translateY(-1px);
188
+ box-shadow: 0 4px 12px rgba(168, 85, 247, 0.3);
189
+
190
+ i {
191
+ color: #ffffff;
192
+ }
193
+ }
194
+ }
195
+
196
+ .rtsee-ise-batch-panel {
197
+ margin: 0 $rts-offset-md $rts-offset-sm;
198
+ padding: $rts-offset-md;
199
+ background: rgba(30, 24, 46, 0.7);
200
+ border: 1px solid rgba(168, 85, 247, 0.35);
201
+ border-radius: 12px;
202
+ display: flex;
203
+ flex-direction: column;
204
+ gap: 10px;
205
+ animation: rtsee-ise-reveal $ise-transition both;
206
+
207
+ .rtsee-ise-batch-header {
208
+ display: flex;
209
+ justify-content: space-between;
210
+ align-items: center;
211
+ flex-wrap: wrap;
212
+ gap: 8px;
213
+
214
+ .rtsee-ise-batch-title {
215
+ font-weight: 600;
216
+ font-size: 0.9rem;
217
+ color: #e9d5ff;
218
+ display: inline-flex;
219
+ align-items: center;
220
+ gap: 6px;
221
+
222
+ i {
223
+ color: #c084fc;
224
+ }
225
+ }
226
+
227
+ .rtsee-ise-batch-hint {
228
+ font-size: 0.8rem;
229
+ color: rgba(255, 255, 255, 0.6);
230
+ }
231
+ }
232
+
233
+ .rtsee-ise-batch-prompt-input {
234
+ width: 100%;
235
+ background: rgba(15, 12, 25, 0.85);
236
+ border: 1px solid rgba(168, 85, 247, 0.25);
237
+ border-radius: 8px;
238
+ color: #ffffff;
239
+ padding: 8px 12px;
240
+ font-size: 0.88rem;
241
+ resize: vertical;
242
+ box-sizing: border-box;
243
+ font-family: inherit;
244
+
245
+ &:focus {
246
+ outline: none;
247
+ border-color: #a855f7;
248
+ box-shadow: 0 0 0 2px rgba(168, 85, 247, 0.25);
249
+ }
250
+ }
251
+
252
+ .rtsee-ise-batch-actions {
253
+ display: flex;
254
+ justify-content: flex-end;
255
+ align-items: center;
256
+ gap: 10px;
257
+
258
+ .rtsee-ise-btn-batch-cancel {
259
+ padding: 6px 14px;
260
+ background: transparent;
261
+ border: 1px solid rgba(255, 255, 255, 0.2);
262
+ border-radius: 8px;
263
+ color: rgba(255, 255, 255, 0.8);
264
+ font-size: 0.85rem;
265
+ cursor: pointer;
266
+ transition: all 0.2s ease;
267
+
268
+ &:hover {
269
+ background: rgba(255, 255, 255, 0.08);
270
+ color: #ffffff;
271
+ border-color: rgba(255, 255, 255, 0.4);
272
+ }
273
+ }
274
+
275
+ .rtsee-ise-btn-batch-submit {
276
+ display: inline-flex;
277
+ align-items: center;
278
+ gap: 6px;
279
+ padding: 6px 16px;
280
+ background: linear-gradient(135deg, #9333ea, #7c3aed);
281
+ border: none;
282
+ border-radius: 8px;
283
+ color: #ffffff;
284
+ font-size: 0.85rem;
285
+ font-weight: 600;
286
+ cursor: pointer;
287
+ transition: all 0.2s ease;
288
+ box-shadow: 0 2px 8px rgba(147, 51, 234, 0.4);
289
+
290
+ &:hover:not(:disabled) {
291
+ transform: translateY(-1px);
292
+ box-shadow: 0 4px 14px rgba(147, 51, 234, 0.6);
293
+ }
294
+
295
+ &:disabled {
296
+ opacity: 0.5;
297
+ cursor: not-allowed;
298
+ box-shadow: none;
299
+ }
300
+ }
301
+ }
302
+ }
303
+
304
+ .rtsee-ise-thumb-card--selected {
305
+ border-color: #a855f7 !important;
306
+ box-shadow: 0 0 0 2px rgba(168, 85, 247, 0.5) !important;
307
+ }
308
+
309
+ .rtsee-ise-thumb-batch-checkbox {
310
+ position: absolute;
311
+ top: 8px;
312
+ left: 8px;
313
+ z-index: 4;
314
+ background: rgba(20, 16, 30, 0.85);
315
+ border-radius: 6px;
316
+ padding: 3px 6px;
317
+ display: inline-flex;
318
+ align-items: center;
319
+ cursor: pointer;
320
+ border: 1px solid rgba(168, 85, 247, 0.4);
321
+
322
+ input[type="checkbox"] {
323
+ cursor: pointer;
324
+ accent-color: #a855f7;
325
+ }
326
+ }
327
+
328
+ .rtsee-ise-thumb-generating-overlay {
329
+ position: absolute;
330
+ inset: 0;
331
+ background: rgba(15, 12, 25, 0.8);
332
+ display: flex;
333
+ flex-direction: column;
334
+ align-items: center;
335
+ justify-content: center;
336
+ gap: 6px;
337
+ color: #e9d5ff;
338
+ font-size: 0.78rem;
339
+ font-weight: 500;
340
+ z-index: 3;
341
+
342
+ i {
343
+ font-size: 1.2rem;
344
+ color: #c084fc;
345
+ }
346
+ }
347
+
152
348
  .rtsee-ise-section-body {
153
349
  padding: 0 $rts-offset-md $rts-offset-md;
154
350
  animation: rtsee-ise-reveal $ise-transition both;
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.0.108",
2
+ "version": "0.0.110",
3
3
  "name": "@rtsee/ngx",
4
4
  "module": "./dist/ngx/fesm2022/rtsee-ngx.mjs",
5
5
  "types": "./dist/ngx/index.d.ts",
@@ -40,15 +40,15 @@
40
40
  "@angular/platform-browser-dynamic": "^20.1.2",
41
41
  "@angular/router": "^20.1.2",
42
42
  "@primeuix/themes": "^1.2.3",
43
- "@rtsee/common": "^0.0.79",
44
- "@rtsee/conference": "^0.0.80",
45
- "@rtsee/core": "^0.0.123",
46
- "@rtsee/events-dashboard": "^0.0.113",
47
- "@rtsee/factory": "^0.0.122",
48
- "@rtsee/messenger": "^0.0.113",
49
- "@rtsee/presentation": "^0.0.112",
50
- "@rtsee/signaling-client": "^0.0.126",
51
- "@rtsee/utilities-ui": "^0.0.44",
43
+ "@rtsee/common": "^0.0.81",
44
+ "@rtsee/conference": "^0.0.82",
45
+ "@rtsee/core": "^0.0.125",
46
+ "@rtsee/events-dashboard": "^0.0.115",
47
+ "@rtsee/factory": "^0.0.124",
48
+ "@rtsee/messenger": "^0.0.115",
49
+ "@rtsee/presentation": "^0.0.114",
50
+ "@rtsee/signaling-client": "^0.0.128",
51
+ "@rtsee/utilities-ui": "^0.0.46",
52
52
  "@stripe/stripe-js": "^8.6.1",
53
53
  "@types/gtag.js": "^0.0.20",
54
54
  "@types/node": "~24.0.14",
@@ -71,5 +71,5 @@
71
71
  "publishConfig": {
72
72
  "access": "public"
73
73
  },
74
- "gitHead": "dc10dc47553027689d194c40c00bef8b3c5d45f4"
74
+ "gitHead": "b103c5583d87f361e10ab55e44807600d573b588"
75
75
  }