@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,173 +0,0 @@
|
|
|
1
|
-
import { DeesElement, html, css, customElement, property, query, } from '@design.estate/dees-element';
|
|
2
|
-
import * as rrwebMod from 'rrweb';
|
|
3
|
-
import rrwebPlayerMod from 'rrweb-player';
|
|
4
|
-
const rrweb = rrwebMod;
|
|
5
|
-
const rrwebPlayer = rrwebPlayerMod;
|
|
6
|
-
@customElement('sio-recorder')
|
|
7
|
-
export class SioRecorder extends DeesElement {
|
|
8
|
-
static demo = () => html `<sio-recorder></sio-recorder>`;
|
|
9
|
-
/**
|
|
10
|
-
* Holds all recorded events from rrweb.
|
|
11
|
-
*/
|
|
12
|
-
events = [];
|
|
13
|
-
/**
|
|
14
|
-
* status
|
|
15
|
-
*/
|
|
16
|
-
status = 'stopped';
|
|
17
|
-
/**
|
|
18
|
-
* A reference to rrweb's stop recording function.
|
|
19
|
-
* We'll store it when we begin a record session so we can call it later.
|
|
20
|
-
*/
|
|
21
|
-
stopFn = null;
|
|
22
|
-
/**
|
|
23
|
-
* Query for the div in our template that will be used for playback.
|
|
24
|
-
*/
|
|
25
|
-
@query('#playback')
|
|
26
|
-
accessor playbackDiv;
|
|
27
|
-
static styles = css `
|
|
28
|
-
:host {
|
|
29
|
-
display: block;
|
|
30
|
-
}
|
|
31
|
-
/* The playback container: set a fixed size for demonstration. */
|
|
32
|
-
#playback {
|
|
33
|
-
width: 800px;
|
|
34
|
-
height: 600px;
|
|
35
|
-
border: 1px solid #ccc;
|
|
36
|
-
background-color: #fff;
|
|
37
|
-
position: relative;
|
|
38
|
-
}
|
|
39
|
-
`;
|
|
40
|
-
render() {
|
|
41
|
-
return html ` <div id="playback"></div> `;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Lifecycle: Called when the element is inserted into the DOM.
|
|
45
|
-
*/
|
|
46
|
-
async connectedCallback() {
|
|
47
|
-
super.connectedCallback();
|
|
48
|
-
console.log('sio-recorder connectedCallback');
|
|
49
|
-
// Start recording immediately
|
|
50
|
-
this.startRecording();
|
|
51
|
-
// Use the domtools-based approach you have (Ctrl+H):
|
|
52
|
-
const domtools = await this.domtoolsPromise;
|
|
53
|
-
domtools.keyboard
|
|
54
|
-
.on([domtools.keyboard.keyEnum.Ctrl, domtools.keyboard.keyEnum.H])
|
|
55
|
-
.subscribe(this.handleKeydown);
|
|
56
|
-
await this.domtoolsPromise;
|
|
57
|
-
this.domtools.convenience.smartdelay.delayFor(2000).then(() => {
|
|
58
|
-
// this.handleKeydown();
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Lifecycle: Called when the element is removed from the DOM.
|
|
63
|
-
*/
|
|
64
|
-
async disconnectedCallback() {
|
|
65
|
-
super.disconnectedCallback();
|
|
66
|
-
// Stop recording if it's still running
|
|
67
|
-
this.stopRecording();
|
|
68
|
-
// Clean up your subscription or any global listeners if needed
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Starts an rrweb recording session that tracks the entire DOM,
|
|
72
|
-
* including canvases and cross-origin iframes (if permissible).
|
|
73
|
-
*/
|
|
74
|
-
async startRecording() {
|
|
75
|
-
await this.domtoolsPromise;
|
|
76
|
-
this.status = 'recording';
|
|
77
|
-
this.events = [];
|
|
78
|
-
// For capturing "everything," enable advanced flags:
|
|
79
|
-
while (this.status === 'recording') {
|
|
80
|
-
this.stopFn = rrweb.record({
|
|
81
|
-
emit: (event) => {
|
|
82
|
-
// If you have a stricter type:
|
|
83
|
-
// this.events.push(event as IRecordingEvent);
|
|
84
|
-
// else store as any:
|
|
85
|
-
this.events.push(event);
|
|
86
|
-
},
|
|
87
|
-
// Some recommended settings to capture the "complete" page:
|
|
88
|
-
recordCanvas: true, // record canvas elements
|
|
89
|
-
recordCrossOriginIframes: true, // attempt capturing cross-origin iframes
|
|
90
|
-
// checkoutEveryNms: 1000, // check every N milliseconds
|
|
91
|
-
});
|
|
92
|
-
await this.domtools.convenience.smartdelay.delayFor(1000);
|
|
93
|
-
await this.stopFn();
|
|
94
|
-
}
|
|
95
|
-
console.log('Recording has started...');
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Stops the rrweb recording session
|
|
99
|
-
*/
|
|
100
|
-
stopRecording() {
|
|
101
|
-
if (this.stopFn) {
|
|
102
|
-
this.stopFn();
|
|
103
|
-
this.stopFn = null;
|
|
104
|
-
console.log('Recording has stopped.');
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Plays back the recorded events in the `playbackDiv`
|
|
109
|
-
*/
|
|
110
|
-
async playRecording() {
|
|
111
|
-
await this.domtoolsPromise;
|
|
112
|
-
if (!this.playbackDiv)
|
|
113
|
-
return;
|
|
114
|
-
const replayer = new rrwebPlayer({
|
|
115
|
-
target: this.playbackDiv, // customizable root element
|
|
116
|
-
props: {
|
|
117
|
-
events: this.events,
|
|
118
|
-
root: this.playbackDiv,
|
|
119
|
-
showController: false,
|
|
120
|
-
width: this.playbackDiv.offsetWidth,
|
|
121
|
-
height: this.playbackDiv.offsetHeight,
|
|
122
|
-
},
|
|
123
|
-
});
|
|
124
|
-
this.domtools.convenience.smartdelay.delayFor(0).then(async () => {
|
|
125
|
-
while (true) {
|
|
126
|
-
await this.domtools.convenience.smartdelay.delayFor(30000);
|
|
127
|
-
await replayer.play();
|
|
128
|
-
await this.domtools.convenience.smartdelay.delayFor(0);
|
|
129
|
-
// this.fixPosition();
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
this.fixPosition();
|
|
133
|
-
}
|
|
134
|
-
async fixPosition() {
|
|
135
|
-
await this.domtoolsPromise;
|
|
136
|
-
await this.domtools.convenience.smartdelay.delayFor(0);
|
|
137
|
-
const playbackDiv = this.shadowRoot.querySelector('#playback');
|
|
138
|
-
const replayerWrapper = this.shadowRoot.querySelector('.replayer-wrapper');
|
|
139
|
-
const replayerMouse = this.shadowRoot.querySelector('.replayer-mouse');
|
|
140
|
-
const replayerMouseTail = this.shadowRoot.querySelector('.replayer-mouse-tail');
|
|
141
|
-
const iframe = this.shadowRoot.querySelector('iframe');
|
|
142
|
-
replayerWrapper.style.position = 'absolute';
|
|
143
|
-
replayerWrapper.style.top = '0px';
|
|
144
|
-
replayerWrapper.style.left = '0px';
|
|
145
|
-
replayerWrapper.style.transformOrigin = 'center center';
|
|
146
|
-
replayerMouse.style.position = 'absolute';
|
|
147
|
-
replayerMouseTail.style.position = 'absolute';
|
|
148
|
-
iframe.style.position = 'absolute';
|
|
149
|
-
iframe.style.top = '0px';
|
|
150
|
-
iframe.style.left = '0px';
|
|
151
|
-
iframe.style.border = 'none';
|
|
152
|
-
// set z-index
|
|
153
|
-
replayerWrapper.style.zIndex = '1000';
|
|
154
|
-
iframe.style.zIndex = '1000';
|
|
155
|
-
replayerMouse.style.zIndex = '1002';
|
|
156
|
-
replayerMouseTail.style.zIndex = '1001';
|
|
157
|
-
// lets show a mouse cursor
|
|
158
|
-
replayerMouse.style.width = '10px';
|
|
159
|
-
replayerMouse.style.height = '10px';
|
|
160
|
-
replayerMouse.style.background = 'green';
|
|
161
|
-
replayerMouse.style.transform = 'translate(-50%, -50%)';
|
|
162
|
-
replayerMouse.style.borderRadius = '50%';
|
|
163
|
-
replayerMouse.style.border = '1px solid white';
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Keydown handler. If Ctrl + H is pressed, stop the recording and replay the session
|
|
167
|
-
*/
|
|
168
|
-
handleKeydown = () => {
|
|
169
|
-
this.stopRecording();
|
|
170
|
-
this.playRecording();
|
|
171
|
-
};
|
|
172
|
-
}
|
|
173
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lvLXJlY29yZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViL2VsZW1lbnRzL3Npby1yZWNvcmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLElBQUksRUFDSixHQUFHLEVBQ0gsYUFBYSxFQUNiLFFBQVEsRUFDUixLQUFLLEdBQ04sTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEtBQUssUUFBUSxNQUFNLE9BQU8sQ0FBQztBQUNsQyxPQUFPLGNBQWMsTUFBTSxjQUFjLENBQUM7QUFFMUMsTUFBTSxLQUFLLEdBQVEsUUFBUSxDQUFDO0FBQzVCLE1BQU0sV0FBVyxHQUFrQyxjQUFxQixDQUFDO0FBYXpFLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQztBQUM5QixNQUFNLE9BQU8sV0FBWSxTQUFRLFdBQVc7SUFDbkMsTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUEsK0JBQStCLENBQUM7SUFFL0Q7O09BRUc7SUFDSyxNQUFNLEdBQXNCLEVBQUUsQ0FBQztJQUV2Qzs7T0FFRztJQUNJLE1BQU0sR0FBd0MsU0FBUyxDQUFDO0lBRS9EOzs7T0FHRztJQUNLLE1BQU0sR0FBd0IsSUFBSSxDQUFDO0lBRTNDOztPQUVHO0lBQ0gsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO0lBQ1gsUUFBUSxDQUFDLFdBQVcsQ0FBa0I7SUFFOUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7OztHQVlsQixDQUFDO0lBRUYsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFBLDZCQUE2QixDQUFDO0lBQzNDLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxpQkFBaUI7UUFDckIsS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBRTlDLDhCQUE4QjtRQUM5QixJ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
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
|
2
|
-
import * as sioInterfaces from '@social.io/interfaces';
|
|
3
|
-
interface ISioConversationWithId extends sioInterfaces.ISioConversation {
|
|
4
|
-
id: string;
|
|
5
|
-
}
|
|
6
|
-
export declare class SioSubwidgetConversations extends DeesElement {
|
|
7
|
-
selectedId: string | null;
|
|
8
|
-
showAll: boolean;
|
|
9
|
-
conversations: ISioConversationWithId[];
|
|
10
|
-
static demo: () => TemplateResult<1>;
|
|
11
|
-
render(): TemplateResult;
|
|
12
|
-
private selectConversation;
|
|
13
|
-
private viewAllConversations;
|
|
14
|
-
private formatTime;
|
|
15
|
-
}
|
|
16
|
-
export {};
|
|
@@ -1,350 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import { DeesElement, property, html, customElement, cssManager } from '@design.estate/dees-element';
|
|
11
|
-
import * as domtools from '@design.estate/dees-domtools';
|
|
12
|
-
import * as sioInterfaces from '@social.io/interfaces';
|
|
13
|
-
// Import design tokens
|
|
14
|
-
import { colors, bdTheme } from './00colors.js';
|
|
15
|
-
import { spacing, radius, shadows, transitions } from './00tokens.js';
|
|
16
|
-
import { fontFamilies, typography } from './00fonts.js';
|
|
17
|
-
let SioSubwidgetConversations = class SioSubwidgetConversations extends DeesElement {
|
|
18
|
-
constructor() {
|
|
19
|
-
super(...arguments);
|
|
20
|
-
this.selectedId = null;
|
|
21
|
-
this.showAll = false;
|
|
22
|
-
// INSTANCE
|
|
23
|
-
this.conversations = [
|
|
24
|
-
{
|
|
25
|
-
id: '1',
|
|
26
|
-
subject: 'Pricing page',
|
|
27
|
-
parties: [
|
|
28
|
-
{
|
|
29
|
-
id: '1',
|
|
30
|
-
description: 'Lossless Support',
|
|
31
|
-
name: 'Lossless Support',
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
id: '2',
|
|
35
|
-
description: 'you',
|
|
36
|
-
name: 'you',
|
|
37
|
-
},
|
|
38
|
-
],
|
|
39
|
-
conversationBlocks: [
|
|
40
|
-
{
|
|
41
|
-
partyId: '1',
|
|
42
|
-
text: 'Hello there :) How can we help you?',
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
partyId: '2',
|
|
46
|
-
text: 'Hi! Where is your pricing page?',
|
|
47
|
-
},
|
|
48
|
-
],
|
|
49
|
-
}, {
|
|
50
|
-
id: '2',
|
|
51
|
-
subject: 'Technical issue with login',
|
|
52
|
-
parties: [
|
|
53
|
-
{
|
|
54
|
-
id: '1',
|
|
55
|
-
description: 'Tech Support',
|
|
56
|
-
name: 'Tech Support',
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
id: '2',
|
|
60
|
-
description: 'you',
|
|
61
|
-
name: 'you',
|
|
62
|
-
},
|
|
63
|
-
],
|
|
64
|
-
conversationBlocks: [
|
|
65
|
-
{
|
|
66
|
-
partyId: '1',
|
|
67
|
-
text: 'I see you\'re having trouble logging in. Let me help you with that.',
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
partyId: '2',
|
|
71
|
-
text: 'Yes, I keep getting an error when I try to sign in.',
|
|
72
|
-
},
|
|
73
|
-
],
|
|
74
|
-
}, {
|
|
75
|
-
id: '3',
|
|
76
|
-
subject: 'Feature request',
|
|
77
|
-
parties: [
|
|
78
|
-
{
|
|
79
|
-
id: '1',
|
|
80
|
-
description: 'Product Team',
|
|
81
|
-
name: 'Product Team',
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
id: '2',
|
|
85
|
-
description: 'you',
|
|
86
|
-
name: 'you',
|
|
87
|
-
},
|
|
88
|
-
],
|
|
89
|
-
conversationBlocks: [
|
|
90
|
-
{
|
|
91
|
-
partyId: '2',
|
|
92
|
-
text: 'I\'d love to see dark mode support in your app!',
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
partyId: '1',
|
|
96
|
-
text: 'Thanks for the suggestion! We\'re actually working on that.',
|
|
97
|
-
},
|
|
98
|
-
],
|
|
99
|
-
},
|
|
100
|
-
];
|
|
101
|
-
}
|
|
102
|
-
static { this.demo = () => html `<sio-subwidget-conversations></sio-subwidget-conversations>`; }
|
|
103
|
-
render() {
|
|
104
|
-
const displayedConversations = this.showAll ? this.conversations : this.conversations.slice(0, 2);
|
|
105
|
-
return html `
|
|
106
|
-
${domtools.elementBasic.styles}
|
|
107
|
-
<style>
|
|
108
|
-
:host {
|
|
109
|
-
color: ${bdTheme('foreground')};
|
|
110
|
-
font-family: ${fontFamilies.sans};
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
.conversations-container {
|
|
114
|
-
padding: ${spacing[2]};
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
.section-header {
|
|
118
|
-
font-family: ${fontFamilies.sans};
|
|
119
|
-
margin-bottom: ${spacing[4]};
|
|
120
|
-
${typography.h4}
|
|
121
|
-
color: ${bdTheme('foreground')};
|
|
122
|
-
padding: 0 ${spacing[2]};
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
.conversation-item {
|
|
126
|
-
display: block;
|
|
127
|
-
padding: ${spacing[4]};
|
|
128
|
-
margin-bottom: ${spacing[2]};
|
|
129
|
-
background: ${bdTheme('background')};
|
|
130
|
-
border: 1px solid ${bdTheme('border')};
|
|
131
|
-
border-radius: ${radius.lg};
|
|
132
|
-
cursor: pointer;
|
|
133
|
-
transition: ${transitions.all};
|
|
134
|
-
position: relative;
|
|
135
|
-
overflow: hidden;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
.conversation-item:hover {
|
|
139
|
-
background: ${bdTheme('accent')};
|
|
140
|
-
border-color: ${cssManager.bdTheme('hsl(214.3 31.8% 80%)', 'hsl(217.2 32.6% 25%)')};
|
|
141
|
-
transform: translateY(-1px);
|
|
142
|
-
box-shadow: ${shadows.sm};
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
.conversation-item.selected {
|
|
146
|
-
background: ${bdTheme('accent')};
|
|
147
|
-
border-color: ${bdTheme('primary')};
|
|
148
|
-
box-shadow: 0 0 0 1px ${bdTheme('primary')};
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
.conversation-header {
|
|
152
|
-
display: flex;
|
|
153
|
-
align-items: center;
|
|
154
|
-
gap: ${spacing[3]};
|
|
155
|
-
margin-bottom: ${spacing[2]};
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
.avatar {
|
|
159
|
-
width: 40px;
|
|
160
|
-
height: 40px;
|
|
161
|
-
border-radius: ${radius.full};
|
|
162
|
-
background: ${bdTheme('primary')};
|
|
163
|
-
color: ${bdTheme('primaryForeground')};
|
|
164
|
-
display: flex;
|
|
165
|
-
align-items: center;
|
|
166
|
-
justify-content: center;
|
|
167
|
-
font-weight: 600;
|
|
168
|
-
${typography.bodySmall}
|
|
169
|
-
flex-shrink: 0;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
.conversation-meta {
|
|
173
|
-
flex: 1;
|
|
174
|
-
min-width: 0;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
.conversation-title {
|
|
178
|
-
${typography.body}
|
|
179
|
-
font-weight: 600;
|
|
180
|
-
color: ${bdTheme('foreground')};
|
|
181
|
-
margin-bottom: ${spacing[0.5]};
|
|
182
|
-
overflow: hidden;
|
|
183
|
-
text-overflow: ellipsis;
|
|
184
|
-
white-space: nowrap;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
.conversation-time {
|
|
188
|
-
${typography.caption}
|
|
189
|
-
color: ${bdTheme('mutedForeground')};
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
.conversation-preview {
|
|
193
|
-
${typography.bodySmall}
|
|
194
|
-
color: ${bdTheme('mutedForeground')};
|
|
195
|
-
line-height: 1.5;
|
|
196
|
-
overflow: hidden;
|
|
197
|
-
text-overflow: ellipsis;
|
|
198
|
-
display: -webkit-box;
|
|
199
|
-
-webkit-line-clamp: 2;
|
|
200
|
-
-webkit-box-orient: vertical;
|
|
201
|
-
margin-top: ${spacing[2]};
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
.unread-indicator {
|
|
205
|
-
position: absolute;
|
|
206
|
-
top: ${spacing[4]};
|
|
207
|
-
right: ${spacing[4]};
|
|
208
|
-
width: 8px;
|
|
209
|
-
height: 8px;
|
|
210
|
-
border-radius: ${radius.full};
|
|
211
|
-
background: ${bdTheme('primary')};
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
.view-all-button {
|
|
215
|
-
width: 100%;
|
|
216
|
-
padding: ${spacing[3]};
|
|
217
|
-
margin-top: ${spacing[3]};
|
|
218
|
-
background: transparent;
|
|
219
|
-
border: 1px solid ${bdTheme('border')};
|
|
220
|
-
border-radius: ${radius.md};
|
|
221
|
-
color: ${bdTheme('primary')};
|
|
222
|
-
font-family: ${fontFamilies.sans};
|
|
223
|
-
${typography.bodySmall}
|
|
224
|
-
font-weight: 500;
|
|
225
|
-
cursor: pointer;
|
|
226
|
-
transition: ${transitions.all};
|
|
227
|
-
text-align: center;
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
.view-all-button:hover {
|
|
231
|
-
background: ${bdTheme('accent')};
|
|
232
|
-
border-color: ${bdTheme('primary')};
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
.empty-state {
|
|
236
|
-
padding: ${spacing[8]} ${spacing[4]};
|
|
237
|
-
text-align: center;
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
.empty-state-icon {
|
|
241
|
-
font-size: 48px;
|
|
242
|
-
color: ${bdTheme('mutedForeground')};
|
|
243
|
-
opacity: 0.5;
|
|
244
|
-
margin-bottom: ${spacing[4]};
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
.empty-state-text {
|
|
248
|
-
${typography.body}
|
|
249
|
-
color: ${bdTheme('mutedForeground')};
|
|
250
|
-
}
|
|
251
|
-
</style>
|
|
252
|
-
<div class="conversations-container">
|
|
253
|
-
${!this.showAll ? html `
|
|
254
|
-
<h3 class="section-header">Recent Conversations</h3>
|
|
255
|
-
` : ''}
|
|
256
|
-
|
|
257
|
-
${this.conversations.length === 0 ? html `
|
|
258
|
-
<div class="empty-state">
|
|
259
|
-
<div class="empty-state-icon">
|
|
260
|
-
<dees-icon iconFA="comments"></dees-icon>
|
|
261
|
-
</div>
|
|
262
|
-
<div class="empty-state-text">No conversations yet</div>
|
|
263
|
-
</div>
|
|
264
|
-
` : html `
|
|
265
|
-
${displayedConversations.map((conversation) => {
|
|
266
|
-
const lastMessage = conversation.conversationBlocks[conversation.conversationBlocks.length - 1];
|
|
267
|
-
const otherParty = conversation.parties.find(p => p.id !== '2');
|
|
268
|
-
const isUnread = Math.random() > 0.7; // Simulated unread status
|
|
269
|
-
return html `
|
|
270
|
-
<div
|
|
271
|
-
class="conversation-item ${this.selectedId === conversation.id ? 'selected' : ''}"
|
|
272
|
-
@click=${() => this.selectConversation(conversation)}
|
|
273
|
-
>
|
|
274
|
-
${isUnread && this.selectedId !== conversation.id ? html `
|
|
275
|
-
<div class="unread-indicator"></div>
|
|
276
|
-
` : ''}
|
|
277
|
-
<div class="conversation-header">
|
|
278
|
-
<div class="avatar">
|
|
279
|
-
${otherParty?.name?.charAt(0).toUpperCase() || 'S'}
|
|
280
|
-
</div>
|
|
281
|
-
<div class="conversation-meta">
|
|
282
|
-
<div class="conversation-title">${conversation.subject}</div>
|
|
283
|
-
<div class="conversation-time">
|
|
284
|
-
${this.formatTime(new Date())}
|
|
285
|
-
</div>
|
|
286
|
-
</div>
|
|
287
|
-
</div>
|
|
288
|
-
<div class="conversation-preview">
|
|
289
|
-
${lastMessage.text}
|
|
290
|
-
</div>
|
|
291
|
-
</div>
|
|
292
|
-
`;
|
|
293
|
-
})}
|
|
294
|
-
|
|
295
|
-
${!this.showAll && this.conversations.length > 2 ? html `
|
|
296
|
-
<button
|
|
297
|
-
class="view-all-button"
|
|
298
|
-
@click=${this.viewAllConversations}
|
|
299
|
-
>
|
|
300
|
-
View all conversations (${this.conversations.length})
|
|
301
|
-
</button>
|
|
302
|
-
` : ''}
|
|
303
|
-
`}
|
|
304
|
-
</div>
|
|
305
|
-
`;
|
|
306
|
-
}
|
|
307
|
-
selectConversation(conversation) {
|
|
308
|
-
this.dispatchEvent(new CustomEvent('conversation-selected', {
|
|
309
|
-
detail: conversation,
|
|
310
|
-
bubbles: true,
|
|
311
|
-
composed: true
|
|
312
|
-
}));
|
|
313
|
-
}
|
|
314
|
-
viewAllConversations() {
|
|
315
|
-
this.dispatchEvent(new CustomEvent('view-all', {
|
|
316
|
-
bubbles: true,
|
|
317
|
-
composed: true
|
|
318
|
-
}));
|
|
319
|
-
}
|
|
320
|
-
formatTime(date) {
|
|
321
|
-
const now = new Date();
|
|
322
|
-
const diff = now.getTime() - date.getTime();
|
|
323
|
-
const days = Math.floor(diff / (1000 * 60 * 60 * 24));
|
|
324
|
-
if (days === 0) {
|
|
325
|
-
return date.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });
|
|
326
|
-
}
|
|
327
|
-
else if (days === 1) {
|
|
328
|
-
return 'Yesterday';
|
|
329
|
-
}
|
|
330
|
-
else if (days < 7) {
|
|
331
|
-
return `${days} days ago`;
|
|
332
|
-
}
|
|
333
|
-
else {
|
|
334
|
-
return date.toLocaleDateString();
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
};
|
|
338
|
-
__decorate([
|
|
339
|
-
property({ type: String }),
|
|
340
|
-
__metadata("design:type", String)
|
|
341
|
-
], SioSubwidgetConversations.prototype, "selectedId", void 0);
|
|
342
|
-
__decorate([
|
|
343
|
-
property({ type: Boolean }),
|
|
344
|
-
__metadata("design:type", Boolean)
|
|
345
|
-
], SioSubwidgetConversations.prototype, "showAll", void 0);
|
|
346
|
-
SioSubwidgetConversations = __decorate([
|
|
347
|
-
customElement('sio-subwidget-conversations')
|
|
348
|
-
], SioSubwidgetConversations);
|
|
349
|
-
export { SioSubwidgetConversations };
|
|
350
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lvLXN1YndpZGdldC1jb252ZXJzYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViL2VsZW1lbnRzL3Npby1zdWJ3aWRnZXQtY29udmVyc2F0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUF1QixVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxSCxPQUFPLEtBQUssUUFBUSxNQUFNLDhCQUE4QixDQUFDO0FBRXpELE9BQU8sS0FBSyxhQUFhLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQsdUJBQXVCO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFRakQsSUFBTSx5QkFBeUIsR0FBL0IsTUFBTSx5QkFBMEIsU0FBUSxXQUFXO0lBQW5EOztRQUVFLGVBQVUsR0FBa0IsSUFBSSxDQUFDO1FBR2pDLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFaEMsV0FBVztRQUNKLGtCQUFhLEdBQTZCO1lBQy9DO2dCQUNFLEVBQUUsRUFBRSxHQUFHO2dCQUNQLE9BQU8sRUFBRSxjQUFjO2dCQUN2QixPQUFPLEVBQUU7b0JBQ1A7d0JBQ0UsRUFBRSxFQUFFLEdBQUc7d0JBQ1AsV0FBVyxFQUFFLGtCQUFrQjt3QkFDL0IsSUFBSSxFQUFFLGtCQUFrQjtxQkFDekI7b0JBQ0Q7d0JBQ0UsRUFBRSxFQUFFLEdBQUc7d0JBQ1AsV0FBVyxFQUFFLEtBQUs7d0JBQ2xCLElBQUksRUFBRSxLQUFLO3FCQUNaO2lCQUNGO2dCQUNELGtCQUFrQixFQUFFO29CQUNsQjt3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
|