@social.io/catalog 1.3.0 → 2.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.
- package/.smartconfig.json +51 -0
- package/dist_bundle/bundle.js +5450 -3267
- package/dist_ts_web/00_commitinfo_data.js +3 -3
- package/dist_ts_web/elements/index.d.ts +20 -3
- package/dist_ts_web/elements/index.js +27 -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 +37 -0
- package/dist_ts_web/elements/sio-channel-rail.js +275 -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-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 +81 -0
- package/readme.md +85 -151
- package/ts_web/00_commitinfo_data.ts +2 -2
- package/ts_web/elements/index.ts +30 -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 +243 -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-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
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
|
2
|
+
import './sio-icon.js';
|
|
3
|
+
/** Accent of the circular send button. 'tint' = system blue (default). */
|
|
4
|
+
export type TSioComposerAccent = 'tint' | 'mail' | 'chats' | 'calls' | 'letters';
|
|
5
|
+
/** 'email' swaps the field to type=email with a "you@email.com" placeholder. */
|
|
6
|
+
export type TSioComposerVariant = 'message' | 'email';
|
|
7
|
+
declare global {
|
|
8
|
+
interface HTMLElementTagNameMap {
|
|
9
|
+
'sio-composer': SioComposer;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* sio-composer — the v7 message composer row.
|
|
14
|
+
*
|
|
15
|
+
* Pill input (radius 20, --sio-surface-2, 15px) + circular 32px send
|
|
16
|
+
* button (solid accent, white arrow-up), optional leading attach "+"
|
|
17
|
+
* button, optional auto-expanding multiline field. Email-capture
|
|
18
|
+
* variant for the widget's mail-fallback moment.
|
|
19
|
+
*
|
|
20
|
+
* Events (bubbles, composed):
|
|
21
|
+
* composer-send { text } — send click or Enter (Shift+Enter = newline when auto-expand)
|
|
22
|
+
* composer-attach — attach button click
|
|
23
|
+
*
|
|
24
|
+
* Design sources: SocialIOChannels.jsx (chat composer),
|
|
25
|
+
* SocialIOWidget.jsx (widget composer + email capture).
|
|
26
|
+
*/
|
|
27
|
+
export declare class SioComposer extends DeesElement {
|
|
28
|
+
static demo: () => TemplateResult<1>;
|
|
29
|
+
/** Field placeholder; defaults to "Message" (or "you@email.com" for the email variant). */
|
|
30
|
+
accessor placeholder: string;
|
|
31
|
+
/** 'message' (default) or 'email' — email capture swaps input type + placeholder. */
|
|
32
|
+
accessor variant: TSioComposerVariant;
|
|
33
|
+
/** Send-button accent: system tint or a channel color. */
|
|
34
|
+
accessor accent: TSioComposerAccent;
|
|
35
|
+
/** Show the leading circular "+" attach button. */
|
|
36
|
+
accessor attach: boolean;
|
|
37
|
+
/** Multiline field that grows with content (Shift+Enter for newline). */
|
|
38
|
+
accessor autoExpand: boolean;
|
|
39
|
+
/** Current field text. */
|
|
40
|
+
accessor value: string;
|
|
41
|
+
static styles: import("@design.estate/dees-element").CSSResult[];
|
|
42
|
+
render(): TemplateResult;
|
|
43
|
+
updated(): void;
|
|
44
|
+
private handleInput;
|
|
45
|
+
private handleKeydown;
|
|
46
|
+
private handleSend;
|
|
47
|
+
private handleAttach;
|
|
48
|
+
}
|
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
2
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
3
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
4
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
5
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
6
|
+
var _, done = false;
|
|
7
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
8
|
+
var context = {};
|
|
9
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
10
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
11
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
12
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
13
|
+
if (kind === "accessor") {
|
|
14
|
+
if (result === void 0) continue;
|
|
15
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
16
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
17
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
18
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
19
|
+
}
|
|
20
|
+
else if (_ = accept(result)) {
|
|
21
|
+
if (kind === "field") initializers.unshift(_);
|
|
22
|
+
else descriptor[key] = _;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
26
|
+
done = true;
|
|
27
|
+
};
|
|
28
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
29
|
+
var useValue = arguments.length > 2;
|
|
30
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
31
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
32
|
+
}
|
|
33
|
+
return useValue ? value : void 0;
|
|
34
|
+
};
|
|
35
|
+
import { DeesElement, html, property, customElement, css, } from '@design.estate/dees-element';
|
|
36
|
+
import { sioElementStyles } from './tokens.js';
|
|
37
|
+
import './sio-icon.js';
|
|
38
|
+
/**
|
|
39
|
+
* sio-composer — the v7 message composer row.
|
|
40
|
+
*
|
|
41
|
+
* Pill input (radius 20, --sio-surface-2, 15px) + circular 32px send
|
|
42
|
+
* button (solid accent, white arrow-up), optional leading attach "+"
|
|
43
|
+
* button, optional auto-expanding multiline field. Email-capture
|
|
44
|
+
* variant for the widget's mail-fallback moment.
|
|
45
|
+
*
|
|
46
|
+
* Events (bubbles, composed):
|
|
47
|
+
* composer-send { text } — send click or Enter (Shift+Enter = newline when auto-expand)
|
|
48
|
+
* composer-attach — attach button click
|
|
49
|
+
*
|
|
50
|
+
* Design sources: SocialIOChannels.jsx (chat composer),
|
|
51
|
+
* SocialIOWidget.jsx (widget composer + email capture).
|
|
52
|
+
*/
|
|
53
|
+
let SioComposer = (() => {
|
|
54
|
+
let _classDecorators = [customElement('sio-composer')];
|
|
55
|
+
let _classDescriptor;
|
|
56
|
+
let _classExtraInitializers = [];
|
|
57
|
+
let _classThis;
|
|
58
|
+
let _classSuper = DeesElement;
|
|
59
|
+
let _placeholder_decorators;
|
|
60
|
+
let _placeholder_initializers = [];
|
|
61
|
+
let _placeholder_extraInitializers = [];
|
|
62
|
+
let _variant_decorators;
|
|
63
|
+
let _variant_initializers = [];
|
|
64
|
+
let _variant_extraInitializers = [];
|
|
65
|
+
let _accent_decorators;
|
|
66
|
+
let _accent_initializers = [];
|
|
67
|
+
let _accent_extraInitializers = [];
|
|
68
|
+
let _attach_decorators;
|
|
69
|
+
let _attach_initializers = [];
|
|
70
|
+
let _attach_extraInitializers = [];
|
|
71
|
+
let _autoExpand_decorators;
|
|
72
|
+
let _autoExpand_initializers = [];
|
|
73
|
+
let _autoExpand_extraInitializers = [];
|
|
74
|
+
let _value_decorators;
|
|
75
|
+
let _value_initializers = [];
|
|
76
|
+
let _value_extraInitializers = [];
|
|
77
|
+
var SioComposer = class extends _classSuper {
|
|
78
|
+
static { _classThis = this; }
|
|
79
|
+
static {
|
|
80
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
81
|
+
_placeholder_decorators = [property({ type: String })];
|
|
82
|
+
_variant_decorators = [property({ type: String, reflect: true })];
|
|
83
|
+
_accent_decorators = [property({ type: String, reflect: true })];
|
|
84
|
+
_attach_decorators = [property({ type: Boolean, reflect: true })];
|
|
85
|
+
_autoExpand_decorators = [property({ type: Boolean, reflect: true, attribute: 'auto-expand' })];
|
|
86
|
+
_value_decorators = [property({ type: String })];
|
|
87
|
+
__esDecorate(this, null, _placeholder_decorators, { kind: "accessor", name: "placeholder", static: false, private: false, access: { has: obj => "placeholder" in obj, get: obj => obj.placeholder, set: (obj, value) => { obj.placeholder = value; } }, metadata: _metadata }, _placeholder_initializers, _placeholder_extraInitializers);
|
|
88
|
+
__esDecorate(this, null, _variant_decorators, { kind: "accessor", name: "variant", static: false, private: false, access: { has: obj => "variant" in obj, get: obj => obj.variant, set: (obj, value) => { obj.variant = value; } }, metadata: _metadata }, _variant_initializers, _variant_extraInitializers);
|
|
89
|
+
__esDecorate(this, null, _accent_decorators, { kind: "accessor", name: "accent", static: false, private: false, access: { has: obj => "accent" in obj, get: obj => obj.accent, set: (obj, value) => { obj.accent = value; } }, metadata: _metadata }, _accent_initializers, _accent_extraInitializers);
|
|
90
|
+
__esDecorate(this, null, _attach_decorators, { kind: "accessor", name: "attach", static: false, private: false, access: { has: obj => "attach" in obj, get: obj => obj.attach, set: (obj, value) => { obj.attach = value; } }, metadata: _metadata }, _attach_initializers, _attach_extraInitializers);
|
|
91
|
+
__esDecorate(this, null, _autoExpand_decorators, { kind: "accessor", name: "autoExpand", static: false, private: false, access: { has: obj => "autoExpand" in obj, get: obj => obj.autoExpand, set: (obj, value) => { obj.autoExpand = value; } }, metadata: _metadata }, _autoExpand_initializers, _autoExpand_extraInitializers);
|
|
92
|
+
__esDecorate(this, null, _value_decorators, { kind: "accessor", name: "value", static: false, private: false, access: { has: obj => "value" in obj, get: obj => obj.value, set: (obj, value) => { obj.value = value; } }, metadata: _metadata }, _value_initializers, _value_extraInitializers);
|
|
93
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
94
|
+
SioComposer = _classThis = _classDescriptor.value;
|
|
95
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
96
|
+
}
|
|
97
|
+
static demo = () => html `
|
|
98
|
+
<div
|
|
99
|
+
style="display: grid; gap: 18px; max-width: 420px; padding: 24px; background: var(--sio-bg); font-family: var(--sio-font-sf);"
|
|
100
|
+
>
|
|
101
|
+
<div
|
|
102
|
+
style="font-size: 11px; font-weight: 700; letter-spacing: 0.06px; text-transform: uppercase; color: var(--sio-label-3);"
|
|
103
|
+
>
|
|
104
|
+
Chat composer — attach + chats accent
|
|
105
|
+
</div>
|
|
106
|
+
<div style="background: var(--sio-surface); border-radius: 16px; padding-top: 12px;">
|
|
107
|
+
<sio-composer attach accent="chats" placeholder="Message"></sio-composer>
|
|
108
|
+
</div>
|
|
109
|
+
|
|
110
|
+
<div
|
|
111
|
+
style="font-size: 11px; font-weight: 700; letter-spacing: 0.06px; text-transform: uppercase; color: var(--sio-label-3);"
|
|
112
|
+
>
|
|
113
|
+
Widget composer — auto-expand, tint accent
|
|
114
|
+
</div>
|
|
115
|
+
<div style="background: var(--sio-surface); border-radius: 16px; padding-top: 12px;">
|
|
116
|
+
<sio-composer auto-expand placeholder="Write a message…"></sio-composer>
|
|
117
|
+
</div>
|
|
118
|
+
|
|
119
|
+
<div
|
|
120
|
+
style="font-size: 11px; font-weight: 700; letter-spacing: 0.06px; text-transform: uppercase; color: var(--sio-label-3);"
|
|
121
|
+
>
|
|
122
|
+
Email capture — team is away
|
|
123
|
+
</div>
|
|
124
|
+
<div style="background: var(--sio-surface); border-radius: 16px; padding-top: 12px;">
|
|
125
|
+
<sio-composer variant="email"></sio-composer>
|
|
126
|
+
</div>
|
|
127
|
+
|
|
128
|
+
<div
|
|
129
|
+
style="font-size: 11px; font-weight: 700; letter-spacing: 0.06px; text-transform: uppercase; color: var(--sio-label-3);"
|
|
130
|
+
>
|
|
131
|
+
Mail reply — mail accent
|
|
132
|
+
</div>
|
|
133
|
+
<div style="background: var(--sio-surface); border-radius: 16px; padding-top: 12px;">
|
|
134
|
+
<sio-composer attach accent="mail" placeholder="Reply to Lena…"></sio-composer>
|
|
135
|
+
</div>
|
|
136
|
+
</div>
|
|
137
|
+
`;
|
|
138
|
+
#placeholder_accessor_storage = __runInitializers(this, _placeholder_initializers, '');
|
|
139
|
+
/** Field placeholder; defaults to "Message" (or "you@email.com" for the email variant). */
|
|
140
|
+
get placeholder() { return this.#placeholder_accessor_storage; }
|
|
141
|
+
set placeholder(value) { this.#placeholder_accessor_storage = value; }
|
|
142
|
+
#variant_accessor_storage = (__runInitializers(this, _placeholder_extraInitializers), __runInitializers(this, _variant_initializers, 'message'));
|
|
143
|
+
/** 'message' (default) or 'email' — email capture swaps input type + placeholder. */
|
|
144
|
+
get variant() { return this.#variant_accessor_storage; }
|
|
145
|
+
set variant(value) { this.#variant_accessor_storage = value; }
|
|
146
|
+
#accent_accessor_storage = (__runInitializers(this, _variant_extraInitializers), __runInitializers(this, _accent_initializers, 'tint'));
|
|
147
|
+
/** Send-button accent: system tint or a channel color. */
|
|
148
|
+
get accent() { return this.#accent_accessor_storage; }
|
|
149
|
+
set accent(value) { this.#accent_accessor_storage = value; }
|
|
150
|
+
#attach_accessor_storage = (__runInitializers(this, _accent_extraInitializers), __runInitializers(this, _attach_initializers, false));
|
|
151
|
+
/** Show the leading circular "+" attach button. */
|
|
152
|
+
get attach() { return this.#attach_accessor_storage; }
|
|
153
|
+
set attach(value) { this.#attach_accessor_storage = value; }
|
|
154
|
+
#autoExpand_accessor_storage = (__runInitializers(this, _attach_extraInitializers), __runInitializers(this, _autoExpand_initializers, false));
|
|
155
|
+
/** Multiline field that grows with content (Shift+Enter for newline). */
|
|
156
|
+
get autoExpand() { return this.#autoExpand_accessor_storage; }
|
|
157
|
+
set autoExpand(value) { this.#autoExpand_accessor_storage = value; }
|
|
158
|
+
#value_accessor_storage = (__runInitializers(this, _autoExpand_extraInitializers), __runInitializers(this, _value_initializers, ''));
|
|
159
|
+
/** Current field text. */
|
|
160
|
+
get value() { return this.#value_accessor_storage; }
|
|
161
|
+
set value(value) { this.#value_accessor_storage = value; }
|
|
162
|
+
static styles = [
|
|
163
|
+
...sioElementStyles,
|
|
164
|
+
css `
|
|
165
|
+
:host {
|
|
166
|
+
display: flex;
|
|
167
|
+
gap: 8px;
|
|
168
|
+
align-items: flex-end;
|
|
169
|
+
padding: 8px 10px 14px;
|
|
170
|
+
border-top: var(--sio-hairline) solid var(--sio-separator);
|
|
171
|
+
font-family: var(--sio-font-sf);
|
|
172
|
+
--sio-composer-accent: var(--sio-tint);
|
|
173
|
+
--sio-composer-accent-active: var(--sio-tint-hover);
|
|
174
|
+
}
|
|
175
|
+
:host([accent='mail']) {
|
|
176
|
+
--sio-composer-accent: var(--sio-ch-mail);
|
|
177
|
+
--sio-composer-accent-active: color-mix(in oklab, var(--sio-ch-mail) 85%, var(--sio-label));
|
|
178
|
+
}
|
|
179
|
+
:host([accent='chats']) {
|
|
180
|
+
--sio-composer-accent: var(--sio-ch-chats);
|
|
181
|
+
--sio-composer-accent-active: color-mix(in oklab, var(--sio-ch-chats) 85%, var(--sio-label));
|
|
182
|
+
}
|
|
183
|
+
:host([accent='calls']) {
|
|
184
|
+
--sio-composer-accent: var(--sio-ch-calls);
|
|
185
|
+
--sio-composer-accent-active: color-mix(in oklab, var(--sio-ch-calls) 85%, var(--sio-label));
|
|
186
|
+
}
|
|
187
|
+
:host([accent='letters']) {
|
|
188
|
+
--sio-composer-accent: var(--sio-ch-letters);
|
|
189
|
+
--sio-composer-accent-active: color-mix(in oklab, var(--sio-ch-letters) 85%, var(--sio-label));
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
.attach,
|
|
193
|
+
.send {
|
|
194
|
+
width: 32px;
|
|
195
|
+
height: 32px;
|
|
196
|
+
border-radius: 16px;
|
|
197
|
+
border: none;
|
|
198
|
+
padding: 0;
|
|
199
|
+
margin-bottom: 2px;
|
|
200
|
+
display: flex;
|
|
201
|
+
align-items: center;
|
|
202
|
+
justify-content: center;
|
|
203
|
+
cursor: pointer;
|
|
204
|
+
flex: 0 0 auto;
|
|
205
|
+
font-family: inherit;
|
|
206
|
+
transition: background 120ms ease, color 120ms ease, transform 80ms ease;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
.attach {
|
|
210
|
+
background: var(--sio-surface-2);
|
|
211
|
+
color: var(--sio-label-3);
|
|
212
|
+
}
|
|
213
|
+
.attach:hover {
|
|
214
|
+
color: var(--sio-label-2);
|
|
215
|
+
}
|
|
216
|
+
.attach:active {
|
|
217
|
+
transform: scale(0.94);
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
.send {
|
|
221
|
+
background: var(--sio-composer-accent);
|
|
222
|
+
color: var(--sio-on-accent, #fff);
|
|
223
|
+
}
|
|
224
|
+
.send:hover:not(:disabled) {
|
|
225
|
+
background: var(--sio-composer-accent-active);
|
|
226
|
+
}
|
|
227
|
+
.send:active:not(:disabled) {
|
|
228
|
+
transform: scale(0.94);
|
|
229
|
+
}
|
|
230
|
+
.send:disabled {
|
|
231
|
+
opacity: 0.4;
|
|
232
|
+
cursor: default;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
.attach:focus-visible,
|
|
236
|
+
.send:focus-visible {
|
|
237
|
+
outline: 2px solid color-mix(in oklab, var(--sio-composer-accent) 55%, transparent);
|
|
238
|
+
outline-offset: 2px;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
.field {
|
|
242
|
+
flex: 1;
|
|
243
|
+
min-width: 0;
|
|
244
|
+
box-sizing: border-box;
|
|
245
|
+
min-height: 36px;
|
|
246
|
+
background: var(--sio-surface-2);
|
|
247
|
+
border: none;
|
|
248
|
+
outline: none;
|
|
249
|
+
border-radius: 20px;
|
|
250
|
+
padding: 8px 14px;
|
|
251
|
+
margin: 0;
|
|
252
|
+
font-family: inherit;
|
|
253
|
+
font-size: 15px;
|
|
254
|
+
line-height: 20px;
|
|
255
|
+
letter-spacing: -0.24px;
|
|
256
|
+
color: var(--sio-label);
|
|
257
|
+
}
|
|
258
|
+
.field::placeholder {
|
|
259
|
+
color: var(--sio-label-3);
|
|
260
|
+
}
|
|
261
|
+
.field:focus-visible {
|
|
262
|
+
box-shadow: 0 0 0 3px color-mix(in oklab, var(--sio-composer-accent) 25%, transparent);
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
textarea.field {
|
|
266
|
+
resize: none;
|
|
267
|
+
max-height: 120px;
|
|
268
|
+
overflow-y: auto;
|
|
269
|
+
display: block;
|
|
270
|
+
}
|
|
271
|
+
`,
|
|
272
|
+
];
|
|
273
|
+
render() {
|
|
274
|
+
const placeholder = this.placeholder || (this.variant === 'email' ? 'you@email.com' : 'Message');
|
|
275
|
+
return html `
|
|
276
|
+
${this.attach
|
|
277
|
+
? html `
|
|
278
|
+
<button class="attach" aria-label="Add attachment" @click=${this.handleAttach}>
|
|
279
|
+
<sio-icon icon="plus" size="16" .strokeWidth=${2}></sio-icon>
|
|
280
|
+
</button>
|
|
281
|
+
`
|
|
282
|
+
: html ``}
|
|
283
|
+
${this.autoExpand
|
|
284
|
+
? html `
|
|
285
|
+
<textarea
|
|
286
|
+
class="field"
|
|
287
|
+
rows="1"
|
|
288
|
+
placeholder=${placeholder}
|
|
289
|
+
.value=${this.value}
|
|
290
|
+
@input=${this.handleInput}
|
|
291
|
+
@keydown=${this.handleKeydown}
|
|
292
|
+
></textarea>
|
|
293
|
+
`
|
|
294
|
+
: html `
|
|
295
|
+
<input
|
|
296
|
+
class="field"
|
|
297
|
+
type=${this.variant === 'email' ? 'email' : 'text'}
|
|
298
|
+
placeholder=${placeholder}
|
|
299
|
+
.value=${this.value}
|
|
300
|
+
@input=${this.handleInput}
|
|
301
|
+
@keydown=${this.handleKeydown}
|
|
302
|
+
/>
|
|
303
|
+
`}
|
|
304
|
+
<button
|
|
305
|
+
class="send"
|
|
306
|
+
aria-label="Send"
|
|
307
|
+
?disabled=${!this.value.trim()}
|
|
308
|
+
@click=${this.handleSend}
|
|
309
|
+
>
|
|
310
|
+
<sio-icon icon="arrow-up" size="15" .strokeWidth=${2.2}></sio-icon>
|
|
311
|
+
</button>
|
|
312
|
+
`;
|
|
313
|
+
}
|
|
314
|
+
updated() {
|
|
315
|
+
if (this.autoExpand) {
|
|
316
|
+
const textarea = this.shadowRoot?.querySelector('textarea');
|
|
317
|
+
if (textarea) {
|
|
318
|
+
textarea.style.height = 'auto';
|
|
319
|
+
textarea.style.height = `${Math.min(textarea.scrollHeight, 120)}px`;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
handleInput = (__runInitializers(this, _value_extraInitializers), (event) => {
|
|
324
|
+
this.value = event.target.value;
|
|
325
|
+
});
|
|
326
|
+
handleKeydown = (event) => {
|
|
327
|
+
if (event.key === 'Enter' && !(this.autoExpand && event.shiftKey)) {
|
|
328
|
+
event.preventDefault();
|
|
329
|
+
this.handleSend();
|
|
330
|
+
}
|
|
331
|
+
};
|
|
332
|
+
handleSend = () => {
|
|
333
|
+
const text = this.value.trim();
|
|
334
|
+
if (!text) {
|
|
335
|
+
return;
|
|
336
|
+
}
|
|
337
|
+
this.dispatchEvent(new CustomEvent('composer-send', {
|
|
338
|
+
detail: { text },
|
|
339
|
+
bubbles: true,
|
|
340
|
+
composed: true,
|
|
341
|
+
}));
|
|
342
|
+
this.value = '';
|
|
343
|
+
};
|
|
344
|
+
handleAttach = () => {
|
|
345
|
+
this.dispatchEvent(new CustomEvent('composer-attach', {
|
|
346
|
+
bubbles: true,
|
|
347
|
+
composed: true,
|
|
348
|
+
}));
|
|
349
|
+
};
|
|
350
|
+
static {
|
|
351
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
352
|
+
}
|
|
353
|
+
};
|
|
354
|
+
return SioComposer = _classThis;
|
|
355
|
+
})();
|
|
356
|
+
export { SioComposer };
|
|
357
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lvLWNvbXBvc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViL2VsZW1lbnRzL3Npby1jb21wb3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osUUFBUSxFQUNSLGFBQWEsRUFDYixHQUFHLEdBRUosTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxlQUFlLENBQUM7QUFjdkI7Ozs7Ozs7Ozs7Ozs7O0dBY0c7SUFFVSxXQUFXOzRCQUR2QixhQUFhLENBQUMsY0FBYyxDQUFDOzs7O3NCQUNHLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7MkJBQW5CLFNBQVEsV0FBVzs7Ozt1Q0E0Q3pDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQzttQ0FJMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7a0NBSXpDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO2tDQUl6QyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztzQ0FJMUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsQ0FBQztpQ0FJcEUsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBbkIzQixzTEFBZ0IsV0FBVyw2QkFBWCxXQUFXLGlHQUFNO1lBSWpDLDBLQUFnQixPQUFPLDZCQUFQLE9BQU8seUZBQWtDO1lBSXpELHVLQUFnQixNQUFNLDZCQUFO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
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
|
2
|
+
import './sio-icon.js';
|
|
3
|
+
import './sio-avatar.js';
|
|
4
|
+
export type TConversationStatus = 'new' | 'waiting' | 'needs-action' | 'resolved';
|
|
2
5
|
export interface IConversation {
|
|
3
6
|
id: string;
|
|
4
7
|
title: string;
|
|
@@ -6,19 +9,56 @@ export interface IConversation {
|
|
|
6
9
|
time: string;
|
|
7
10
|
unread?: boolean;
|
|
8
11
|
avatar?: string;
|
|
12
|
+
status?: TConversationStatus;
|
|
13
|
+
/** agent initials for the avatar circle (falls back to the title's initials) */
|
|
14
|
+
initials?: string;
|
|
15
|
+
/** agent accent color (data-driven, any CSS color) */
|
|
16
|
+
tint?: string;
|
|
17
|
+
}
|
|
18
|
+
/** team member shown in the welcome header's avatar stack */
|
|
19
|
+
export interface ITeamMember {
|
|
20
|
+
initials: string;
|
|
21
|
+
tint: string;
|
|
9
22
|
}
|
|
10
23
|
declare global {
|
|
11
24
|
interface HTMLElementTagNameMap {
|
|
12
25
|
'sio-conversation-selector': SioConversationSelector;
|
|
13
26
|
}
|
|
14
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* sio-conversation-selector — the widget's home / welcome state
|
|
30
|
+
* (v7 SocialIOWidget.jsx SIOWidgetHome).
|
|
31
|
+
*
|
|
32
|
+
* Gradient tint header (white text) with the 3-avatar team stack,
|
|
33
|
+
* "Hi there 👋 / How can we help?" greeting and the presence line;
|
|
34
|
+
* body cards on radius 14: recent-conversation resume rows, the solid
|
|
35
|
+
* tint "Send us a message" CTA and the FAQ list with 0.5px hairlines.
|
|
36
|
+
*
|
|
37
|
+
* Events (bubbles, composed):
|
|
38
|
+
* conversation-selected { conversation } — resume a recent thread
|
|
39
|
+
* new-conversation — CTA row click
|
|
40
|
+
* faq-selected { question } — FAQ row click
|
|
41
|
+
* close — phablet close chevron
|
|
42
|
+
*/
|
|
15
43
|
export declare class SioConversationSelector extends DeesElement {
|
|
16
44
|
static demo: () => TemplateResult<1>;
|
|
17
45
|
accessor conversations: IConversation[];
|
|
18
46
|
accessor selectedConversationId: string | null;
|
|
19
|
-
|
|
47
|
+
/** greeting headline, first line */
|
|
48
|
+
accessor greeting: string;
|
|
49
|
+
/** greeting headline, second line */
|
|
50
|
+
accessor tagline: string;
|
|
51
|
+
/** presence line next to the green dot */
|
|
52
|
+
accessor replyNote: string;
|
|
53
|
+
/** team members for the overlapping avatar stack in the header */
|
|
54
|
+
accessor team: ITeamMember[];
|
|
55
|
+
/** FAQ quick answers */
|
|
56
|
+
accessor faqs: string[];
|
|
20
57
|
static styles: import("@design.estate/dees-element").CSSResult[];
|
|
21
58
|
render(): TemplateResult;
|
|
59
|
+
private deriveInitials;
|
|
22
60
|
private selectConversation;
|
|
23
61
|
private startNewConversation;
|
|
62
|
+
private selectFaq;
|
|
63
|
+
private handleClose;
|
|
24
64
|
}
|