@social.io/catalog 1.3.0 → 2.1.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.
- package/.smartconfig.json +51 -0
- package/dist_bundle/bundle.js +5455 -3248
- package/dist_ts_web/00_commitinfo_data.js +3 -3
- package/dist_ts_web/elements/index.d.ts +21 -3
- package/dist_ts_web/elements/index.js +28 -7
- package/dist_ts_web/elements/sio-ai-card.d.ts +39 -0
- package/dist_ts_web/elements/sio-ai-card.js +229 -0
- package/dist_ts_web/elements/sio-avatar.d.ts +46 -0
- package/dist_ts_web/elements/sio-avatar.js +379 -0
- package/dist_ts_web/elements/sio-bucket-header.d.ts +36 -0
- package/dist_ts_web/elements/sio-bucket-header.js +197 -0
- package/dist_ts_web/elements/sio-button.d.ts +7 -3
- package/dist_ts_web/elements/sio-button.js +253 -152
- package/dist_ts_web/elements/sio-channel-rail.d.ts +38 -0
- package/dist_ts_web/elements/sio-channel-rail.js +288 -0
- package/dist_ts_web/elements/sio-chip.d.ts +25 -0
- package/dist_ts_web/elements/sio-chip.js +188 -0
- package/dist_ts_web/elements/sio-cmdk.d.ts +59 -0
- package/dist_ts_web/elements/sio-cmdk.js +471 -0
- package/dist_ts_web/elements/sio-combox.d.ts +55 -1
- package/dist_ts_web/elements/sio-combox.js +458 -261
- package/dist_ts_web/elements/sio-composer.d.ts +48 -0
- package/dist_ts_web/elements/sio-composer.js +357 -0
- package/dist_ts_web/elements/sio-conversation-selector.d.ts +41 -1
- package/dist_ts_web/elements/sio-conversation-selector.js +426 -238
- package/dist_ts_web/elements/sio-conversation-view.d.ts +34 -6
- package/dist_ts_web/elements/sio-conversation-view.js +738 -564
- package/dist_ts_web/elements/sio-dropdown-menu.d.ts +6 -6
- package/dist_ts_web/elements/sio-dropdown-menu.js +223 -169
- package/dist_ts_web/elements/sio-fab.d.ts +23 -5
- package/dist_ts_web/elements/sio-fab.js +259 -235
- package/dist_ts_web/elements/sio-glass-toolbar.d.ts +22 -0
- package/dist_ts_web/elements/sio-glass-toolbar.js +178 -0
- package/dist_ts_web/elements/sio-icon.d.ts +1 -0
- package/dist_ts_web/elements/sio-icon.js +254 -94
- package/dist_ts_web/elements/sio-image-lightbox.d.ts +3 -4
- package/dist_ts_web/elements/sio-image-lightbox.js +282 -191
- package/dist_ts_web/elements/sio-inset-list.d.ts +28 -0
- package/dist_ts_web/elements/sio-inset-list.js +191 -0
- package/dist_ts_web/elements/sio-kbd.d.ts +16 -0
- package/dist_ts_web/elements/sio-kbd.js +117 -0
- package/dist_ts_web/elements/sio-list-row.d.ts +55 -0
- package/dist_ts_web/elements/sio-list-row.js +462 -0
- package/dist_ts_web/elements/sio-logo-render.d.ts +42 -0
- package/dist_ts_web/elements/sio-logo-render.js +306 -0
- package/dist_ts_web/elements/sio-logo.d.ts +64 -0
- package/dist_ts_web/elements/sio-logo.js +393 -0
- package/dist_ts_web/elements/sio-message-input.d.ts +25 -4
- package/dist_ts_web/elements/sio-message-input.js +231 -226
- package/dist_ts_web/elements/sio-paper-thumb.d.ts +24 -0
- package/dist_ts_web/elements/sio-paper-thumb.js +293 -0
- package/dist_ts_web/elements/sio-pdf-viewer.d.ts +2 -0
- package/dist_ts_web/elements/sio-pdf-viewer.js +344 -244
- package/dist_ts_web/elements/sio-segmented.d.ts +32 -0
- package/dist_ts_web/elements/sio-segmented.js +217 -0
- package/dist_ts_web/elements/sio-step-timeline.d.ts +28 -0
- package/dist_ts_web/elements/sio-step-timeline.js +222 -0
- package/dist_ts_web/elements/sio-tab-bar.d.ts +36 -0
- package/dist_ts_web/elements/sio-tab-bar.js +232 -0
- package/dist_ts_web/elements/sio-unread-badge.d.ts +25 -0
- package/dist_ts_web/elements/sio-unread-badge.js +203 -0
- package/dist_ts_web/elements/sio-waveform.d.ts +34 -0
- package/dist_ts_web/elements/sio-waveform.js +304 -0
- package/dist_ts_web/elements/tokens.d.ts +70 -0
- package/dist_ts_web/elements/tokens.js +277 -0
- package/dist_ts_web/pages/firstpage.d.ts +5 -0
- package/dist_ts_web/pages/firstpage.js +21 -2
- package/dist_ts_web/pages/mainpage.d.ts +6 -0
- package/dist_ts_web/pages/mainpage.js +111 -39
- package/{license → license.md} +3 -1
- package/package.json +23 -29
- package/readme.hints.md +82 -0
- package/readme.md +113 -146
- package/ts_web/00_commitinfo_data.ts +2 -2
- package/ts_web/elements/index.ts +31 -7
- package/ts_web/elements/sio-ai-card.ts +175 -0
- package/ts_web/elements/sio-avatar.ts +295 -0
- package/ts_web/elements/sio-bucket-header.ts +157 -0
- package/ts_web/elements/sio-button.ts +149 -127
- package/ts_web/elements/sio-channel-rail.ts +256 -0
- package/ts_web/elements/sio-chip.ts +134 -0
- package/ts_web/elements/sio-cmdk.ts +461 -0
- package/ts_web/elements/sio-combox.ts +327 -204
- package/ts_web/elements/sio-composer.ts +306 -0
- package/ts_web/elements/sio-conversation-selector.ts +350 -228
- package/ts_web/elements/sio-conversation-view.ts +573 -457
- package/ts_web/elements/sio-dropdown-menu.ts +112 -130
- package/ts_web/elements/sio-fab.ts +192 -227
- package/ts_web/elements/sio-glass-toolbar.ts +140 -0
- package/ts_web/elements/sio-icon.ts +147 -25
- package/ts_web/elements/sio-image-lightbox.ts +62 -64
- package/ts_web/elements/sio-inset-list.ts +140 -0
- package/ts_web/elements/sio-kbd.ts +80 -0
- package/ts_web/elements/sio-list-row.ts +393 -0
- package/ts_web/elements/sio-logo-render.ts +367 -0
- package/ts_web/elements/sio-logo.ts +311 -0
- package/ts_web/elements/sio-message-input.ts +142 -221
- package/ts_web/elements/sio-paper-thumb.ts +244 -0
- package/ts_web/elements/sio-pdf-viewer.ts +58 -60
- package/ts_web/elements/sio-segmented.ts +183 -0
- package/ts_web/elements/sio-step-timeline.ts +179 -0
- package/ts_web/elements/sio-tab-bar.ts +195 -0
- package/ts_web/elements/sio-unread-badge.ts +147 -0
- package/ts_web/elements/sio-waveform.ts +239 -0
- package/ts_web/elements/tokens.ts +297 -0
- package/ts_web/pages/firstpage.ts +20 -1
- package/ts_web/pages/mainpage.ts +111 -39
- package/dist_bundle/bundle.js.map +0 -7
- package/dist_ts_web/elements/00colors.d.ts +0 -108
- package/dist_ts_web/elements/00colors.js +0 -137
- package/dist_ts_web/elements/00fonts.d.ts +0 -60
- package/dist_ts_web/elements/00fonts.js +0 -129
- package/dist_ts_web/elements/00tokens.d.ts +0 -123
- package/dist_ts_web/elements/00tokens.js +0 -176
- package/dist_ts_web/elements/sio-conversation-list.d.ts +0 -20
- package/dist_ts_web/elements/sio-conversation-list.js +0 -495
- package/dist_ts_web/elements/sio-recorder.d.ts +0 -60
- package/dist_ts_web/elements/sio-recorder.js +0 -173
- package/dist_ts_web/elements/sio-subwidget-conversations.d.ts +0 -16
- package/dist_ts_web/elements/sio-subwidget-conversations.js +0 -350
- package/dist_ts_web/elements/sio-subwidget-onboardme.d.ts +0 -7
- package/dist_ts_web/elements/sio-subwidget-onboardme.js +0 -243
- package/dist_watch/bundle.js +0 -81694
- package/dist_watch/bundle.js.map +0 -7
- package/dist_watch/index.html +0 -25
- package/npmextra.json +0 -19
- package/ts_web/elements/00colors.ts +0 -164
- package/ts_web/elements/00fonts.ts +0 -145
- package/ts_web/elements/00tokens.ts +0 -197
- package/ts_web/elements/sio-recorder.ts +0 -213
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
DeesElement,
|
|
3
|
-
html,
|
|
4
|
-
css,
|
|
5
|
-
customElement,
|
|
6
|
-
property,
|
|
7
|
-
query,
|
|
8
|
-
} from '@design.estate/dees-element';
|
|
9
|
-
import * as rrwebMod from 'rrweb';
|
|
10
|
-
import rrwebPlayerMod from 'rrweb-player';
|
|
11
|
-
|
|
12
|
-
const rrweb: any = rrwebMod;
|
|
13
|
-
const rrwebPlayer: typeof rrwebPlayerMod.default = rrwebPlayerMod as any;
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Use rrweb's eventWithTime if you like strict typing:
|
|
17
|
-
*
|
|
18
|
-
* import { eventWithTime } from 'rrweb';
|
|
19
|
-
* export interface IRecordingEvent extends eventWithTime {}
|
|
20
|
-
*
|
|
21
|
-
* Here, for brevity, we define an empty interface
|
|
22
|
-
* and cast all events to any.
|
|
23
|
-
*/
|
|
24
|
-
export interface IRecordingEvent {}
|
|
25
|
-
|
|
26
|
-
@customElement('sio-recorder')
|
|
27
|
-
export class SioRecorder extends DeesElement {
|
|
28
|
-
public static demo = () => html`<sio-recorder></sio-recorder>`;
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Holds all recorded events from rrweb.
|
|
32
|
-
*/
|
|
33
|
-
private events: IRecordingEvent[] = [];
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* status
|
|
37
|
-
*/
|
|
38
|
-
public status: 'recording' | 'playing' | 'stopped' = 'stopped';
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* A reference to rrweb's stop recording function.
|
|
42
|
-
* We'll store it when we begin a record session so we can call it later.
|
|
43
|
-
*/
|
|
44
|
-
private stopFn: (() => void) | null = null;
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Query for the div in our template that will be used for playback.
|
|
48
|
-
*/
|
|
49
|
-
@query('#playback')
|
|
50
|
-
private accessor playbackDiv!: HTMLDivElement;
|
|
51
|
-
|
|
52
|
-
static styles = css`
|
|
53
|
-
:host {
|
|
54
|
-
display: block;
|
|
55
|
-
}
|
|
56
|
-
/* The playback container: set a fixed size for demonstration. */
|
|
57
|
-
#playback {
|
|
58
|
-
width: 800px;
|
|
59
|
-
height: 600px;
|
|
60
|
-
border: 1px solid #ccc;
|
|
61
|
-
background-color: #fff;
|
|
62
|
-
position: relative;
|
|
63
|
-
}
|
|
64
|
-
`;
|
|
65
|
-
|
|
66
|
-
render() {
|
|
67
|
-
return html` <div id="playback"></div> `;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Lifecycle: Called when the element is inserted into the DOM.
|
|
72
|
-
*/
|
|
73
|
-
async connectedCallback(): Promise<void> {
|
|
74
|
-
super.connectedCallback();
|
|
75
|
-
console.log('sio-recorder connectedCallback');
|
|
76
|
-
|
|
77
|
-
// Start recording immediately
|
|
78
|
-
this.startRecording();
|
|
79
|
-
|
|
80
|
-
// Use the domtools-based approach you have (Ctrl+H):
|
|
81
|
-
const domtools = await this.domtoolsPromise;
|
|
82
|
-
domtools.keyboard
|
|
83
|
-
.on([domtools.keyboard.keyEnum.Ctrl, domtools.keyboard.keyEnum.H])
|
|
84
|
-
.subscribe(this.handleKeydown);
|
|
85
|
-
await this.domtoolsPromise;
|
|
86
|
-
this.domtools.convenience.smartdelay.delayFor(2000).then(() => {
|
|
87
|
-
// this.handleKeydown();
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Lifecycle: Called when the element is removed from the DOM.
|
|
93
|
-
*/
|
|
94
|
-
public async disconnectedCallback(): Promise<void> {
|
|
95
|
-
super.disconnectedCallback();
|
|
96
|
-
|
|
97
|
-
// Stop recording if it's still running
|
|
98
|
-
this.stopRecording();
|
|
99
|
-
|
|
100
|
-
// Clean up your subscription or any global listeners if needed
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* Starts an rrweb recording session that tracks the entire DOM,
|
|
105
|
-
* including canvases and cross-origin iframes (if permissible).
|
|
106
|
-
*/
|
|
107
|
-
private async startRecording(): Promise<void> {
|
|
108
|
-
await this.domtoolsPromise;
|
|
109
|
-
this.status = 'recording';
|
|
110
|
-
this.events = [];
|
|
111
|
-
|
|
112
|
-
// For capturing "everything," enable advanced flags:
|
|
113
|
-
while (this.status === 'recording') {
|
|
114
|
-
this.stopFn = rrweb.record({
|
|
115
|
-
emit: (event: any) => {
|
|
116
|
-
// If you have a stricter type:
|
|
117
|
-
// this.events.push(event as IRecordingEvent);
|
|
118
|
-
// else store as any:
|
|
119
|
-
this.events.push(event);
|
|
120
|
-
},
|
|
121
|
-
// Some recommended settings to capture the "complete" page:
|
|
122
|
-
recordCanvas: true, // record canvas elements
|
|
123
|
-
recordCrossOriginIframes: true, // attempt capturing cross-origin iframes
|
|
124
|
-
|
|
125
|
-
// checkoutEveryNms: 1000, // check every N milliseconds
|
|
126
|
-
});
|
|
127
|
-
await this.domtools.convenience.smartdelay.delayFor(1000);
|
|
128
|
-
await this.stopFn();
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
console.log('Recording has started...');
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* Stops the rrweb recording session
|
|
136
|
-
*/
|
|
137
|
-
private stopRecording(): void {
|
|
138
|
-
if (this.stopFn) {
|
|
139
|
-
this.stopFn();
|
|
140
|
-
this.stopFn = null;
|
|
141
|
-
console.log('Recording has stopped.');
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
/**
|
|
146
|
-
* Plays back the recorded events in the `playbackDiv`
|
|
147
|
-
*/
|
|
148
|
-
private async playRecording(): Promise<void> {
|
|
149
|
-
await this.domtoolsPromise;
|
|
150
|
-
if (!this.playbackDiv) return;
|
|
151
|
-
const replayer = new rrwebPlayer({
|
|
152
|
-
target: this.playbackDiv, // customizable root element
|
|
153
|
-
props: {
|
|
154
|
-
events: this.events as any,
|
|
155
|
-
root: this.playbackDiv,
|
|
156
|
-
showController: false,
|
|
157
|
-
width: this.playbackDiv.offsetWidth,
|
|
158
|
-
height: this.playbackDiv.offsetHeight,
|
|
159
|
-
},
|
|
160
|
-
});
|
|
161
|
-
this.domtools.convenience.smartdelay.delayFor(0).then(async () => {
|
|
162
|
-
while (true) {
|
|
163
|
-
await this.domtools.convenience.smartdelay.delayFor(30000);
|
|
164
|
-
await replayer.play();
|
|
165
|
-
await this.domtools.convenience.smartdelay.delayFor(0);
|
|
166
|
-
// this.fixPosition();
|
|
167
|
-
}
|
|
168
|
-
});
|
|
169
|
-
this.fixPosition();
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
public async fixPosition() {
|
|
173
|
-
await this.domtoolsPromise;
|
|
174
|
-
await this.domtools.convenience.smartdelay.delayFor(0);
|
|
175
|
-
const playbackDiv = this.shadowRoot.querySelector('#playback') as HTMLElement;
|
|
176
|
-
const replayerWrapper = this.shadowRoot.querySelector('.replayer-wrapper') as HTMLElement;
|
|
177
|
-
const replayerMouse = this.shadowRoot.querySelector('.replayer-mouse') as HTMLElement;
|
|
178
|
-
const replayerMouseTail = this.shadowRoot.querySelector('.replayer-mouse-tail') as HTMLElement;
|
|
179
|
-
const iframe = this.shadowRoot.querySelector('iframe');
|
|
180
|
-
replayerWrapper.style.position = 'absolute';
|
|
181
|
-
replayerWrapper.style.top = '0px';
|
|
182
|
-
replayerWrapper.style.left = '0px';
|
|
183
|
-
replayerWrapper.style.transformOrigin = 'center center';
|
|
184
|
-
replayerMouse.style.position = 'absolute';
|
|
185
|
-
replayerMouseTail.style.position = 'absolute';
|
|
186
|
-
iframe.style.position = 'absolute';
|
|
187
|
-
iframe.style.top = '0px';
|
|
188
|
-
iframe.style.left = '0px';
|
|
189
|
-
iframe.style.border = 'none';
|
|
190
|
-
|
|
191
|
-
// set z-index
|
|
192
|
-
replayerWrapper.style.zIndex = '1000';
|
|
193
|
-
iframe.style.zIndex = '1000';
|
|
194
|
-
replayerMouse.style.zIndex = '1002';
|
|
195
|
-
replayerMouseTail.style.zIndex = '1001';
|
|
196
|
-
|
|
197
|
-
// lets show a mouse cursor
|
|
198
|
-
replayerMouse.style.width = '10px';
|
|
199
|
-
replayerMouse.style.height = '10px';
|
|
200
|
-
replayerMouse.style.background = 'green';
|
|
201
|
-
replayerMouse.style.transform = 'translate(-50%, -50%)';
|
|
202
|
-
replayerMouse.style.borderRadius = '50%';
|
|
203
|
-
replayerMouse.style.border = '1px solid white';
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
/**
|
|
207
|
-
* Keydown handler. If Ctrl + H is pressed, stop the recording and replay the session
|
|
208
|
-
*/
|
|
209
|
-
private handleKeydown = (): void => {
|
|
210
|
-
this.stopRecording();
|
|
211
|
-
this.playRecording();
|
|
212
|
-
};
|
|
213
|
-
}
|