@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,304 @@
|
|
|
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
|
+
/**
|
|
38
|
+
* sio-waveform — v7 voicemail / voice-message player.
|
|
39
|
+
*
|
|
40
|
+
* A surface card with a round play/pause control, a deterministic bar-chart
|
|
41
|
+
* waveform (played bars in the channel color, the rest in systemGray @ 45%
|
|
42
|
+
* per the v7 spec) and tabular elapsed / -remaining counters.
|
|
43
|
+
*
|
|
44
|
+
* Clicking the waveform dispatches `seek` ({ progress }); the play control
|
|
45
|
+
* toggles and dispatches `play` / `pause` ({ progress }).
|
|
46
|
+
*/
|
|
47
|
+
let SioWaveform = (() => {
|
|
48
|
+
let _classDecorators = [customElement('sio-waveform')];
|
|
49
|
+
let _classDescriptor;
|
|
50
|
+
let _classExtraInitializers = [];
|
|
51
|
+
let _classThis;
|
|
52
|
+
let _classSuper = DeesElement;
|
|
53
|
+
let _bars_decorators;
|
|
54
|
+
let _bars_initializers = [];
|
|
55
|
+
let _bars_extraInitializers = [];
|
|
56
|
+
let _progress_decorators;
|
|
57
|
+
let _progress_initializers = [];
|
|
58
|
+
let _progress_extraInitializers = [];
|
|
59
|
+
let _color_decorators;
|
|
60
|
+
let _color_initializers = [];
|
|
61
|
+
let _color_extraInitializers = [];
|
|
62
|
+
let _elapsed_decorators;
|
|
63
|
+
let _elapsed_initializers = [];
|
|
64
|
+
let _elapsed_extraInitializers = [];
|
|
65
|
+
let _remaining_decorators;
|
|
66
|
+
let _remaining_initializers = [];
|
|
67
|
+
let _remaining_extraInitializers = [];
|
|
68
|
+
let _playing_decorators;
|
|
69
|
+
let _playing_initializers = [];
|
|
70
|
+
let _playing_extraInitializers = [];
|
|
71
|
+
var SioWaveform = class extends _classSuper {
|
|
72
|
+
static { _classThis = this; }
|
|
73
|
+
static {
|
|
74
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
75
|
+
_bars_decorators = [property({ type: Number })];
|
|
76
|
+
_progress_decorators = [property({ type: Number })];
|
|
77
|
+
_color_decorators = [property({ type: String })];
|
|
78
|
+
_elapsed_decorators = [property({ type: String })];
|
|
79
|
+
_remaining_decorators = [property({ type: String })];
|
|
80
|
+
_playing_decorators = [property({ type: Boolean, reflect: true })];
|
|
81
|
+
__esDecorate(this, null, _bars_decorators, { kind: "accessor", name: "bars", static: false, private: false, access: { has: obj => "bars" in obj, get: obj => obj.bars, set: (obj, value) => { obj.bars = value; } }, metadata: _metadata }, _bars_initializers, _bars_extraInitializers);
|
|
82
|
+
__esDecorate(this, null, _progress_decorators, { kind: "accessor", name: "progress", static: false, private: false, access: { has: obj => "progress" in obj, get: obj => obj.progress, set: (obj, value) => { obj.progress = value; } }, metadata: _metadata }, _progress_initializers, _progress_extraInitializers);
|
|
83
|
+
__esDecorate(this, null, _color_decorators, { kind: "accessor", name: "color", static: false, private: false, access: { has: obj => "color" in obj, get: obj => obj.color, set: (obj, value) => { obj.color = value; } }, metadata: _metadata }, _color_initializers, _color_extraInitializers);
|
|
84
|
+
__esDecorate(this, null, _elapsed_decorators, { kind: "accessor", name: "elapsed", static: false, private: false, access: { has: obj => "elapsed" in obj, get: obj => obj.elapsed, set: (obj, value) => { obj.elapsed = value; } }, metadata: _metadata }, _elapsed_initializers, _elapsed_extraInitializers);
|
|
85
|
+
__esDecorate(this, null, _remaining_decorators, { kind: "accessor", name: "remaining", static: false, private: false, access: { has: obj => "remaining" in obj, get: obj => obj.remaining, set: (obj, value) => { obj.remaining = value; } }, metadata: _metadata }, _remaining_initializers, _remaining_extraInitializers);
|
|
86
|
+
__esDecorate(this, null, _playing_decorators, { kind: "accessor", name: "playing", static: false, private: false, access: { has: obj => "playing" in obj, get: obj => obj.playing, set: (obj, value) => { obj.playing = value; } }, metadata: _metadata }, _playing_initializers, _playing_extraInitializers);
|
|
87
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
88
|
+
SioWaveform = _classThis = _classDescriptor.value;
|
|
89
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
90
|
+
}
|
|
91
|
+
static demo = () => html `
|
|
92
|
+
<div
|
|
93
|
+
style="display: flex; flex-direction: column; gap: 20px; max-width: 420px; padding: 20px; background: var(--sio-bg); border-radius: 18px; font-family: var(--sio-font-sf);"
|
|
94
|
+
>
|
|
95
|
+
<div>
|
|
96
|
+
<div style="font-size: 22px; font-weight: 700; letter-spacing: -0.4px; color: var(--sio-label);">
|
|
97
|
+
Maren Vogel
|
|
98
|
+
</div>
|
|
99
|
+
<div style="font-size: 13px; color: var(--sio-label-3); margin-top: 2px;">
|
|
100
|
+
Today 09:41 · 1:47 · Voicemail
|
|
101
|
+
</div>
|
|
102
|
+
</div>
|
|
103
|
+
<sio-waveform progress="0.28" elapsed="0:28" remaining="-1:19"></sio-waveform>
|
|
104
|
+
<sio-waveform
|
|
105
|
+
progress="0.62"
|
|
106
|
+
playing
|
|
107
|
+
elapsed="1:06"
|
|
108
|
+
remaining="-0:41"
|
|
109
|
+
color="var(--sio-ch-chats)"
|
|
110
|
+
bars="64"
|
|
111
|
+
></sio-waveform>
|
|
112
|
+
<sio-waveform progress="0" elapsed="0:00" remaining="-1:47" color="var(--sio-tint)"></sio-waveform>
|
|
113
|
+
</div>
|
|
114
|
+
`;
|
|
115
|
+
#bars_accessor_storage = __runInitializers(this, _bars_initializers, 50);
|
|
116
|
+
/** Number of waveform bars (the v7 voicemail player draws 50). */
|
|
117
|
+
get bars() { return this.#bars_accessor_storage; }
|
|
118
|
+
set bars(value) { this.#bars_accessor_storage = value; }
|
|
119
|
+
#progress_accessor_storage = (__runInitializers(this, _bars_extraInitializers), __runInitializers(this, _progress_initializers, 0));
|
|
120
|
+
/** Playback position, 0–1. Played bars take the channel color. */
|
|
121
|
+
get progress() { return this.#progress_accessor_storage; }
|
|
122
|
+
set progress(value) { this.#progress_accessor_storage = value; }
|
|
123
|
+
#color_accessor_storage = (__runInitializers(this, _progress_extraInitializers), __runInitializers(this, _color_initializers, 'var(--sio-ch-calls)'));
|
|
124
|
+
/** Accent for played bars + play control. Any CSS color, defaults to the calls channel. */
|
|
125
|
+
get color() { return this.#color_accessor_storage; }
|
|
126
|
+
set color(value) { this.#color_accessor_storage = value; }
|
|
127
|
+
#elapsed_accessor_storage = (__runInitializers(this, _color_extraInitializers), __runInitializers(this, _elapsed_initializers, '0:00'));
|
|
128
|
+
/** Elapsed counter, e.g. "0:28". */
|
|
129
|
+
get elapsed() { return this.#elapsed_accessor_storage; }
|
|
130
|
+
set elapsed(value) { this.#elapsed_accessor_storage = value; }
|
|
131
|
+
#remaining_accessor_storage = (__runInitializers(this, _elapsed_extraInitializers), __runInitializers(this, _remaining_initializers, '-0:00'));
|
|
132
|
+
/** Remaining counter, e.g. "-1:19". */
|
|
133
|
+
get remaining() { return this.#remaining_accessor_storage; }
|
|
134
|
+
set remaining(value) { this.#remaining_accessor_storage = value; }
|
|
135
|
+
#playing_accessor_storage = (__runInitializers(this, _remaining_extraInitializers), __runInitializers(this, _playing_initializers, false));
|
|
136
|
+
get playing() { return this.#playing_accessor_storage; }
|
|
137
|
+
set playing(value) { this.#playing_accessor_storage = value; }
|
|
138
|
+
static styles = [
|
|
139
|
+
...sioElementStyles,
|
|
140
|
+
css `
|
|
141
|
+
:host {
|
|
142
|
+
display: block;
|
|
143
|
+
|
|
144
|
+
/* systemGray (#8E8E93) @ 45% — unplayed bars per the v7 spec */
|
|
145
|
+
--sio-waveform-rest: color-mix(in oklab, var(--sio-bucket-later) 45%, transparent);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
.player {
|
|
149
|
+
display: flex;
|
|
150
|
+
align-items: center;
|
|
151
|
+
gap: 12px;
|
|
152
|
+
padding: 14px 16px;
|
|
153
|
+
background: var(--sio-surface);
|
|
154
|
+
border: var(--sio-hairline) solid var(--sio-separator);
|
|
155
|
+
border-radius: 16px;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.playButton {
|
|
159
|
+
width: 44px;
|
|
160
|
+
height: 44px;
|
|
161
|
+
flex-shrink: 0;
|
|
162
|
+
display: flex;
|
|
163
|
+
align-items: center;
|
|
164
|
+
justify-content: center;
|
|
165
|
+
border: none;
|
|
166
|
+
border-radius: 22px;
|
|
167
|
+
padding: 0;
|
|
168
|
+
cursor: pointer;
|
|
169
|
+
font: inherit;
|
|
170
|
+
transition: transform 80ms ease, filter 120ms ease;
|
|
171
|
+
}
|
|
172
|
+
.playButton:hover {
|
|
173
|
+
filter: brightness(1.06);
|
|
174
|
+
}
|
|
175
|
+
.playButton:active {
|
|
176
|
+
transform: scale(0.94);
|
|
177
|
+
}
|
|
178
|
+
.playButton:focus-visible {
|
|
179
|
+
outline: 2px solid color-mix(in oklab, var(--sio-tint) 60%, transparent);
|
|
180
|
+
outline-offset: 2px;
|
|
181
|
+
}
|
|
182
|
+
.playButton svg {
|
|
183
|
+
display: block;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.track {
|
|
187
|
+
flex: 1;
|
|
188
|
+
min-width: 0;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
.wave {
|
|
192
|
+
display: block;
|
|
193
|
+
width: 100%;
|
|
194
|
+
height: 28px;
|
|
195
|
+
cursor: pointer;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.counters {
|
|
199
|
+
display: flex;
|
|
200
|
+
justify-content: space-between;
|
|
201
|
+
margin-top: 2px;
|
|
202
|
+
font-size: 11px;
|
|
203
|
+
line-height: 13px;
|
|
204
|
+
color: var(--sio-label-3);
|
|
205
|
+
font-variant-numeric: tabular-nums;
|
|
206
|
+
}
|
|
207
|
+
`,
|
|
208
|
+
];
|
|
209
|
+
render() {
|
|
210
|
+
const barCount = Math.max(1, Math.floor(this.bars));
|
|
211
|
+
const clamped = Math.min(1, Math.max(0, this.progress));
|
|
212
|
+
const playedCount = Math.round(barCount * clamped);
|
|
213
|
+
const barTemplates = [];
|
|
214
|
+
for (let i = 0; i < barCount; i++) {
|
|
215
|
+
// deterministic pseudo-random heights — transcribed from the v7 prototype
|
|
216
|
+
const h = 4 + Math.abs(Math.sin(i * 0.55) * 11) + Math.abs(Math.cos(i * 1.3) * 6);
|
|
217
|
+
barTemplates.push(html `
|
|
218
|
+
<rect
|
|
219
|
+
x=${i * 4}
|
|
220
|
+
y=${14 - h / 2}
|
|
221
|
+
width="2.2"
|
|
222
|
+
height=${h}
|
|
223
|
+
rx="1.1"
|
|
224
|
+
fill=${i < playedCount ? this.color : 'var(--sio-waveform-rest)'}
|
|
225
|
+
></rect>
|
|
226
|
+
`);
|
|
227
|
+
}
|
|
228
|
+
return html `
|
|
229
|
+
<div class="player" part="player">
|
|
230
|
+
<button
|
|
231
|
+
class="playButton"
|
|
232
|
+
style="background: ${this.color};"
|
|
233
|
+
aria-label=${this.playing ? 'Pause' : 'Play'}
|
|
234
|
+
@click=${this.handlePlayToggle}
|
|
235
|
+
>
|
|
236
|
+
${this.playing
|
|
237
|
+
? html `
|
|
238
|
+
<svg width="18" height="18" viewBox="0 0 24 24" aria-hidden="true">
|
|
239
|
+
<rect x="6" y="4.5" width="4.4" height="15" rx="1.6" fill="var(--sio-surface)"></rect>
|
|
240
|
+
<rect x="13.6" y="4.5" width="4.4" height="15" rx="1.6" fill="var(--sio-surface)"></rect>
|
|
241
|
+
</svg>
|
|
242
|
+
`
|
|
243
|
+
: html `
|
|
244
|
+
<svg width="18" height="18" viewBox="0 0 24 24" aria-hidden="true">
|
|
245
|
+
<path d="M7 5l12 7-12 7V5z" fill="var(--sio-surface)"></path>
|
|
246
|
+
</svg>
|
|
247
|
+
`}
|
|
248
|
+
</button>
|
|
249
|
+
<div class="track">
|
|
250
|
+
<svg
|
|
251
|
+
class="wave"
|
|
252
|
+
viewBox="0 0 ${barCount * 4} 28"
|
|
253
|
+
preserveAspectRatio="none"
|
|
254
|
+
role="slider"
|
|
255
|
+
aria-label="Playback position"
|
|
256
|
+
aria-valuemin="0"
|
|
257
|
+
aria-valuemax="1"
|
|
258
|
+
aria-valuenow=${clamped.toFixed(2)}
|
|
259
|
+
@click=${this.handleSeek}
|
|
260
|
+
>
|
|
261
|
+
${barTemplates}
|
|
262
|
+
</svg>
|
|
263
|
+
<div class="counters">
|
|
264
|
+
<span>${this.elapsed}</span>
|
|
265
|
+
<span>${this.remaining}</span>
|
|
266
|
+
</div>
|
|
267
|
+
</div>
|
|
268
|
+
</div>
|
|
269
|
+
`;
|
|
270
|
+
}
|
|
271
|
+
handlePlayToggle() {
|
|
272
|
+
this.playing = !this.playing;
|
|
273
|
+
this.dispatchEvent(new CustomEvent(this.playing ? 'play' : 'pause', {
|
|
274
|
+
detail: { progress: Math.min(1, Math.max(0, this.progress)) },
|
|
275
|
+
bubbles: true,
|
|
276
|
+
composed: true,
|
|
277
|
+
}));
|
|
278
|
+
}
|
|
279
|
+
handleSeek(event) {
|
|
280
|
+
const wave = event.currentTarget;
|
|
281
|
+
const rect = wave.getBoundingClientRect();
|
|
282
|
+
if (!rect.width) {
|
|
283
|
+
return;
|
|
284
|
+
}
|
|
285
|
+
const progress = Math.min(1, Math.max(0, (event.clientX - rect.left) / rect.width));
|
|
286
|
+
this.progress = progress;
|
|
287
|
+
this.dispatchEvent(new CustomEvent('seek', {
|
|
288
|
+
detail: { progress },
|
|
289
|
+
bubbles: true,
|
|
290
|
+
composed: true,
|
|
291
|
+
}));
|
|
292
|
+
}
|
|
293
|
+
constructor() {
|
|
294
|
+
super(...arguments);
|
|
295
|
+
__runInitializers(this, _playing_extraInitializers);
|
|
296
|
+
}
|
|
297
|
+
static {
|
|
298
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
299
|
+
}
|
|
300
|
+
};
|
|
301
|
+
return SioWaveform = _classThis;
|
|
302
|
+
})();
|
|
303
|
+
export { SioWaveform };
|
|
304
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lvLXdhdmVmb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViL2VsZW1lbnRzL3Npby13YXZlZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osUUFBUSxFQUNSLGFBQWEsRUFDYixHQUFHLEdBRUosTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFRL0M7Ozs7Ozs7OztHQVNHO0lBRVUsV0FBVzs0QkFEdkIsYUFBYSxDQUFDLGNBQWMsQ0FBQzs7OztzQkFDRyxXQUFXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OzJCQUFuQixTQUFRLFdBQVc7Ozs7Z0NBMkJ6QyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7b0NBSTFCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztpQ0FJMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO21DQUkxQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7cUNBSTFCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQzttQ0FHMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFsQjNDLGlLQUFnQixJQUFJLDZCQUFKLElBQUksbUZBQWM7WUFJbEMsNktBQWdCLFFBQVEsNkJBQVIsUUFBUSwyRkFBYTtZQUlyQyxvS0FBZ0IsS0FBSyw2QkFBTCxLQUFLLHFGQUFpQztZQUl0RCwwS0FBZ0IsT0FBTyw2QkFBUCxPQUFPLHlGQUFrQjtZQUl6QyxnTEFBZ0IsU0FBUyw2QkFBVCxTQUFTLDZGQUFtQjtZQUc1QywwS0FBZ0IsT0FBTyw2QkFB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
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
export declare const sioBaseStyles: import("@design.estate/dees-element").CSSResult;
|
|
2
|
+
export declare const sioElementStyles: import("@design.estate/dees-element").CSSResult[];
|
|
3
|
+
/** Free-floating liquid-glass surface (system.css `.glass`). */
|
|
4
|
+
export declare const sioGlass: import("@design.estate/dees-element").CSSResult;
|
|
5
|
+
/** Toolbar / header glass with hairline bottom edge (socialio.css `.sio-toolbar-glass`). */
|
|
6
|
+
export declare const sioToolbarGlass: import("@design.estate/dees-element").CSSResult;
|
|
7
|
+
/** Pill-shaped glass (segmented controls, floating pills, tab bars). */
|
|
8
|
+
export declare const sioPillGlass: import("@design.estate/dees-element").CSSResult;
|
|
9
|
+
export declare const sioTypeLargeTitle: import("@design.estate/dees-element").CSSResult;
|
|
10
|
+
export declare const sioTypeTitle1: import("@design.estate/dees-element").CSSResult;
|
|
11
|
+
export declare const sioTypeTitle2: import("@design.estate/dees-element").CSSResult;
|
|
12
|
+
export declare const sioTypeTitle3: import("@design.estate/dees-element").CSSResult;
|
|
13
|
+
export declare const sioTypeHeadline: import("@design.estate/dees-element").CSSResult;
|
|
14
|
+
export declare const sioTypeBody: import("@design.estate/dees-element").CSSResult;
|
|
15
|
+
export declare const sioTypeCallout: import("@design.estate/dees-element").CSSResult;
|
|
16
|
+
export declare const sioTypeSubheadline: import("@design.estate/dees-element").CSSResult;
|
|
17
|
+
export declare const sioTypeFootnote: import("@design.estate/dees-element").CSSResult;
|
|
18
|
+
export declare const sioTypeCaption1: import("@design.estate/dees-element").CSSResult;
|
|
19
|
+
export declare const sioTypeCaption2: import("@design.estate/dees-element").CSSResult;
|
|
20
|
+
/** Monospaced type (message-ids, kbd hints, code). */
|
|
21
|
+
export declare const sioTypeMono: import("@design.estate/dees-element").CSSResult;
|
|
22
|
+
/** Apply to any run of digits (counts, times, sizes) per the v7 spec. */
|
|
23
|
+
export declare const sioTabularNums: import("@design.estate/dees-element").CSSResult;
|
|
24
|
+
export declare const sioTheme: {
|
|
25
|
+
bg: string;
|
|
26
|
+
bgGrouped: string;
|
|
27
|
+
surface: string;
|
|
28
|
+
surface2: string;
|
|
29
|
+
label: string;
|
|
30
|
+
label2: string;
|
|
31
|
+
label3: string;
|
|
32
|
+
label4: string;
|
|
33
|
+
separator: string;
|
|
34
|
+
separatorOpaque: string;
|
|
35
|
+
tint: string;
|
|
36
|
+
tintHover: string;
|
|
37
|
+
tintSoft: string;
|
|
38
|
+
chMail: string;
|
|
39
|
+
chChats: string;
|
|
40
|
+
chCalls: string;
|
|
41
|
+
chLetters: string;
|
|
42
|
+
laneFeed: string;
|
|
43
|
+
lanePaper: string;
|
|
44
|
+
lanePeople: string;
|
|
45
|
+
bucketNow: string;
|
|
46
|
+
bucketToday: string;
|
|
47
|
+
bucketLater: string;
|
|
48
|
+
bucketDone: string;
|
|
49
|
+
green: string;
|
|
50
|
+
red: string;
|
|
51
|
+
yellow: string;
|
|
52
|
+
orange: string;
|
|
53
|
+
blue: string;
|
|
54
|
+
rowComfortable: string;
|
|
55
|
+
rowCozy: string;
|
|
56
|
+
rowCompact: string;
|
|
57
|
+
radiusXs: string;
|
|
58
|
+
radiusSm: string;
|
|
59
|
+
radius: string;
|
|
60
|
+
radiusMd: string;
|
|
61
|
+
radiusLg: string;
|
|
62
|
+
radiusPill: string;
|
|
63
|
+
hairline: string;
|
|
64
|
+
glassBg: string;
|
|
65
|
+
glassBorder: string;
|
|
66
|
+
toolbarGlassBg: string;
|
|
67
|
+
fontSf: string;
|
|
68
|
+
fontMono: string;
|
|
69
|
+
fontRounded: string;
|
|
70
|
+
};
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
import { css, cssManager } from '@design.estate/dees-element';
|
|
2
|
+
/*
|
|
3
|
+
* social.io v7 tokens — Apple-native design system.
|
|
4
|
+
*
|
|
5
|
+
* Light = iOS systemGray6 canvas (#F2F2F7) with white surfaces;
|
|
6
|
+
* dark = true black with elevated #1C1C1E surfaces.
|
|
7
|
+
* System-blue tint (brightened to #409CFF in dark), SF type ramp,
|
|
8
|
+
* 0.5px hairlines, liquid-glass surfaces (blur 28px saturate 180%).
|
|
9
|
+
*
|
|
10
|
+
* Components take every PALETTE color (tint, channels, lanes, buckets,
|
|
11
|
+
* surfaces, labels) from these custom props; genuinely local material
|
|
12
|
+
* values (scrims, paper textures, control knobs) may live in the component.
|
|
13
|
+
* Tints derive via color-mix(in oklab, var(--sio-...) N%, transparent).
|
|
14
|
+
*
|
|
15
|
+
* Palettes:
|
|
16
|
+
* channels mail #0A84FF · chats #30D158 · calls #FF9F0A · letters #A2845E
|
|
17
|
+
* lanes feed #0A84FF · paper #FF9F0A · people #30D158
|
|
18
|
+
* buckets now #FF453A · today #FF9F0A · later #8E8E93 · done #30D158
|
|
19
|
+
*/
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
// base custom props (light/dark via cssManager.bdTheme)
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
export const sioBaseStyles = css `
|
|
24
|
+
:host {
|
|
25
|
+
/* semantic surfaces */
|
|
26
|
+
--sio-bg: ${cssManager.bdTheme('#F2F2F7', '#000000')};
|
|
27
|
+
--sio-bg-grouped: ${cssManager.bdTheme('#F2F2F7', '#000000')};
|
|
28
|
+
--sio-surface: ${cssManager.bdTheme('#FFFFFF', '#1C1C1E')};
|
|
29
|
+
--sio-surface-2: ${cssManager.bdTheme('rgba(118,118,128,0.08)', 'rgba(118,118,128,0.24)')};
|
|
30
|
+
|
|
31
|
+
/* labels — 4 levels per iOS HIG */
|
|
32
|
+
--sio-label: ${cssManager.bdTheme('#000000', '#FFFFFF')};
|
|
33
|
+
--sio-label-2: ${cssManager.bdTheme('rgba(60,60,67,0.85)', 'rgba(235,235,245,0.85)')};
|
|
34
|
+
--sio-label-3: ${cssManager.bdTheme('rgba(60,60,67,0.60)', 'rgba(235,235,245,0.60)')};
|
|
35
|
+
--sio-label-4: ${cssManager.bdTheme('rgba(60,60,67,0.30)', 'rgba(235,235,245,0.30)')};
|
|
36
|
+
|
|
37
|
+
/* separators */
|
|
38
|
+
--sio-separator: ${cssManager.bdTheme('rgba(60,60,67,0.12)', 'rgba(84,84,88,0.65)')};
|
|
39
|
+
--sio-separator-opaque: ${cssManager.bdTheme('#C6C6C8', '#38383A')};
|
|
40
|
+
|
|
41
|
+
/* tint — system blue, brightened in dark */
|
|
42
|
+
--sio-tint: ${cssManager.bdTheme('#0A84FF', '#409CFF')};
|
|
43
|
+
--sio-tint-hover: ${cssManager.bdTheme('#0071E3', '#64B2FF')};
|
|
44
|
+
--sio-tint-soft: ${cssManager.bdTheme('rgba(10,132,255,0.10)', 'rgba(10,132,255,0.18)')};
|
|
45
|
+
/* foreground on solid tint/channel fills — white in both themes */
|
|
46
|
+
--sio-on-accent: #ffffff;
|
|
47
|
+
|
|
48
|
+
/* channel palette (stable across themes) */
|
|
49
|
+
--sio-ch-mail: #0A84FF;
|
|
50
|
+
--sio-ch-chats: #30D158;
|
|
51
|
+
--sio-ch-calls: #FF9F0A;
|
|
52
|
+
--sio-ch-letters: #A2845E;
|
|
53
|
+
|
|
54
|
+
/* lane palette — split inbox */
|
|
55
|
+
--sio-lane-feed: #0A84FF;
|
|
56
|
+
--sio-lane-paper: #FF9F0A;
|
|
57
|
+
--sio-lane-people: #30D158;
|
|
58
|
+
|
|
59
|
+
/* bucket palette — unified feed triage */
|
|
60
|
+
--sio-bucket-now: #FF453A;
|
|
61
|
+
--sio-bucket-today: #FF9F0A;
|
|
62
|
+
--sio-bucket-later: #8E8E93;
|
|
63
|
+
--sio-bucket-done: #30D158;
|
|
64
|
+
|
|
65
|
+
/* system accents */
|
|
66
|
+
--sio-green: #30D158;
|
|
67
|
+
--sio-red: #FF453A;
|
|
68
|
+
--sio-yellow: #FFD60A;
|
|
69
|
+
--sio-orange: #FF9F0A;
|
|
70
|
+
--sio-blue: #0A84FF;
|
|
71
|
+
|
|
72
|
+
/* density — list row heights */
|
|
73
|
+
--sio-row-comfortable: 78px;
|
|
74
|
+
--sio-row-cozy: 62px;
|
|
75
|
+
--sio-row-compact: 48px;
|
|
76
|
+
|
|
77
|
+
/* radii ramp */
|
|
78
|
+
--sio-radius-xs: 4px;
|
|
79
|
+
--sio-radius-sm: 6px;
|
|
80
|
+
--sio-radius: 10px;
|
|
81
|
+
--sio-radius-md: 12px;
|
|
82
|
+
--sio-radius-lg: 14px;
|
|
83
|
+
--sio-radius-pill: 980px;
|
|
84
|
+
|
|
85
|
+
/* hairline convention */
|
|
86
|
+
--sio-hairline: 0.5px;
|
|
87
|
+
|
|
88
|
+
/* liquid glass */
|
|
89
|
+
--sio-glass-bg: ${cssManager.bdTheme('rgba(255,255,255,0.55)', 'rgba(40,40,42,0.6)')};
|
|
90
|
+
--sio-glass-border: ${cssManager.bdTheme('rgba(0,0,0,0.06)', 'rgba(255,255,255,0.08)')};
|
|
91
|
+
--sio-toolbar-glass-bg: ${cssManager.bdTheme('rgba(255,255,255,0.78)', 'rgba(28,28,30,0.78)')};
|
|
92
|
+
|
|
93
|
+
/* SF font stacks */
|
|
94
|
+
--sio-font-sf: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Helvetica Neue', system-ui, sans-serif;
|
|
95
|
+
--sio-font-mono: ui-monospace, 'SF Mono', Menlo, monospace;
|
|
96
|
+
--sio-font-rounded: -apple-system-rounded, 'SF Pro Rounded', -apple-system, system-ui, sans-serif;
|
|
97
|
+
|
|
98
|
+
font-family: var(--sio-font-sf);
|
|
99
|
+
-webkit-font-smoothing: antialiased;
|
|
100
|
+
-moz-osx-font-smoothing: grayscale;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
:host([theme='dark']),
|
|
104
|
+
:host([dark]) {
|
|
105
|
+
--sio-bg: #000000;
|
|
106
|
+
--sio-bg-grouped: #000000;
|
|
107
|
+
--sio-surface: #1C1C1E;
|
|
108
|
+
--sio-surface-2: rgba(118,118,128,0.24);
|
|
109
|
+
--sio-label: #FFFFFF;
|
|
110
|
+
--sio-label-2: rgba(235,235,245,0.85);
|
|
111
|
+
--sio-label-3: rgba(235,235,245,0.60);
|
|
112
|
+
--sio-label-4: rgba(235,235,245,0.30);
|
|
113
|
+
--sio-separator: rgba(84,84,88,0.65);
|
|
114
|
+
--sio-separator-opaque: #38383A;
|
|
115
|
+
--sio-tint: #409CFF;
|
|
116
|
+
--sio-tint-hover: #64B2FF;
|
|
117
|
+
--sio-tint-soft: rgba(10,132,255,0.18);
|
|
118
|
+
--sio-glass-bg: rgba(40,40,42,0.6);
|
|
119
|
+
--sio-glass-border: rgba(255,255,255,0.08);
|
|
120
|
+
--sio-toolbar-glass-bg: rgba(28,28,30,0.78);
|
|
121
|
+
}
|
|
122
|
+
`;
|
|
123
|
+
export const sioElementStyles = [cssManager.defaultStyles, sioBaseStyles];
|
|
124
|
+
// ---------------------------------------------------------------------------
|
|
125
|
+
// glass recipes — interpolate inside a selector block:
|
|
126
|
+
// .toolbar { ${sioToolbarGlass} }
|
|
127
|
+
// ---------------------------------------------------------------------------
|
|
128
|
+
/** Free-floating liquid-glass surface (system.css `.glass`). */
|
|
129
|
+
export const sioGlass = css `
|
|
130
|
+
background: var(--sio-glass-bg);
|
|
131
|
+
backdrop-filter: blur(28px) saturate(180%);
|
|
132
|
+
-webkit-backdrop-filter: blur(28px) saturate(180%);
|
|
133
|
+
border: var(--sio-hairline) solid var(--sio-glass-border);
|
|
134
|
+
`;
|
|
135
|
+
/** Toolbar / header glass with hairline bottom edge (socialio.css `.sio-toolbar-glass`). */
|
|
136
|
+
export const sioToolbarGlass = css `
|
|
137
|
+
background: var(--sio-toolbar-glass-bg);
|
|
138
|
+
backdrop-filter: blur(28px) saturate(180%);
|
|
139
|
+
-webkit-backdrop-filter: blur(28px) saturate(180%);
|
|
140
|
+
border-bottom: var(--sio-hairline) solid var(--sio-separator);
|
|
141
|
+
`;
|
|
142
|
+
/** Pill-shaped glass (segmented controls, floating pills, tab bars). */
|
|
143
|
+
export const sioPillGlass = css `
|
|
144
|
+
background: var(--sio-glass-bg);
|
|
145
|
+
backdrop-filter: blur(28px) saturate(180%);
|
|
146
|
+
-webkit-backdrop-filter: blur(28px) saturate(180%);
|
|
147
|
+
border: var(--sio-hairline) solid var(--sio-glass-border);
|
|
148
|
+
border-radius: var(--sio-radius-pill);
|
|
149
|
+
`;
|
|
150
|
+
// ---------------------------------------------------------------------------
|
|
151
|
+
// SF type ramp — iOS HIG text styles as reusable fragments
|
|
152
|
+
// ---------------------------------------------------------------------------
|
|
153
|
+
export const sioTypeLargeTitle = css `
|
|
154
|
+
font-size: 34px;
|
|
155
|
+
line-height: 41px;
|
|
156
|
+
font-weight: 700;
|
|
157
|
+
letter-spacing: 0.37px;
|
|
158
|
+
`;
|
|
159
|
+
export const sioTypeTitle1 = css `
|
|
160
|
+
font-size: 28px;
|
|
161
|
+
line-height: 34px;
|
|
162
|
+
font-weight: 700;
|
|
163
|
+
letter-spacing: 0.36px;
|
|
164
|
+
`;
|
|
165
|
+
export const sioTypeTitle2 = css `
|
|
166
|
+
font-size: 22px;
|
|
167
|
+
line-height: 28px;
|
|
168
|
+
font-weight: 700;
|
|
169
|
+
letter-spacing: 0.35px;
|
|
170
|
+
`;
|
|
171
|
+
export const sioTypeTitle3 = css `
|
|
172
|
+
font-size: 20px;
|
|
173
|
+
line-height: 25px;
|
|
174
|
+
font-weight: 600;
|
|
175
|
+
letter-spacing: 0.38px;
|
|
176
|
+
`;
|
|
177
|
+
export const sioTypeHeadline = css `
|
|
178
|
+
font-size: 17px;
|
|
179
|
+
line-height: 22px;
|
|
180
|
+
font-weight: 600;
|
|
181
|
+
letter-spacing: -0.43px;
|
|
182
|
+
`;
|
|
183
|
+
export const sioTypeBody = css `
|
|
184
|
+
font-size: 17px;
|
|
185
|
+
line-height: 22px;
|
|
186
|
+
font-weight: 400;
|
|
187
|
+
letter-spacing: -0.43px;
|
|
188
|
+
`;
|
|
189
|
+
export const sioTypeCallout = css `
|
|
190
|
+
font-size: 16px;
|
|
191
|
+
line-height: 21px;
|
|
192
|
+
font-weight: 400;
|
|
193
|
+
letter-spacing: -0.32px;
|
|
194
|
+
`;
|
|
195
|
+
export const sioTypeSubheadline = css `
|
|
196
|
+
font-size: 15px;
|
|
197
|
+
line-height: 20px;
|
|
198
|
+
font-weight: 400;
|
|
199
|
+
letter-spacing: -0.24px;
|
|
200
|
+
`;
|
|
201
|
+
export const sioTypeFootnote = css `
|
|
202
|
+
font-size: 13px;
|
|
203
|
+
line-height: 18px;
|
|
204
|
+
font-weight: 400;
|
|
205
|
+
letter-spacing: -0.08px;
|
|
206
|
+
`;
|
|
207
|
+
export const sioTypeCaption1 = css `
|
|
208
|
+
font-size: 12px;
|
|
209
|
+
line-height: 16px;
|
|
210
|
+
font-weight: 400;
|
|
211
|
+
letter-spacing: 0;
|
|
212
|
+
`;
|
|
213
|
+
export const sioTypeCaption2 = css `
|
|
214
|
+
font-size: 11px;
|
|
215
|
+
line-height: 13px;
|
|
216
|
+
font-weight: 400;
|
|
217
|
+
letter-spacing: 0.07px;
|
|
218
|
+
`;
|
|
219
|
+
/** Monospaced type (message-ids, kbd hints, code). */
|
|
220
|
+
export const sioTypeMono = css `
|
|
221
|
+
font-family: var(--sio-font-mono);
|
|
222
|
+
`;
|
|
223
|
+
/** Apply to any run of digits (counts, times, sizes) per the v7 spec. */
|
|
224
|
+
export const sioTabularNums = css `
|
|
225
|
+
font-variant-numeric: tabular-nums;
|
|
226
|
+
`;
|
|
227
|
+
// ---------------------------------------------------------------------------
|
|
228
|
+
// sioTheme — var() references for inline styles / style maps
|
|
229
|
+
// ---------------------------------------------------------------------------
|
|
230
|
+
export const sioTheme = {
|
|
231
|
+
bg: 'var(--sio-bg)',
|
|
232
|
+
bgGrouped: 'var(--sio-bg-grouped)',
|
|
233
|
+
surface: 'var(--sio-surface)',
|
|
234
|
+
surface2: 'var(--sio-surface-2)',
|
|
235
|
+
label: 'var(--sio-label)',
|
|
236
|
+
label2: 'var(--sio-label-2)',
|
|
237
|
+
label3: 'var(--sio-label-3)',
|
|
238
|
+
label4: 'var(--sio-label-4)',
|
|
239
|
+
separator: 'var(--sio-separator)',
|
|
240
|
+
separatorOpaque: 'var(--sio-separator-opaque)',
|
|
241
|
+
tint: 'var(--sio-tint)',
|
|
242
|
+
tintHover: 'var(--sio-tint-hover)',
|
|
243
|
+
tintSoft: 'var(--sio-tint-soft)',
|
|
244
|
+
chMail: 'var(--sio-ch-mail)',
|
|
245
|
+
chChats: 'var(--sio-ch-chats)',
|
|
246
|
+
chCalls: 'var(--sio-ch-calls)',
|
|
247
|
+
chLetters: 'var(--sio-ch-letters)',
|
|
248
|
+
laneFeed: 'var(--sio-lane-feed)',
|
|
249
|
+
lanePaper: 'var(--sio-lane-paper)',
|
|
250
|
+
lanePeople: 'var(--sio-lane-people)',
|
|
251
|
+
bucketNow: 'var(--sio-bucket-now)',
|
|
252
|
+
bucketToday: 'var(--sio-bucket-today)',
|
|
253
|
+
bucketLater: 'var(--sio-bucket-later)',
|
|
254
|
+
bucketDone: 'var(--sio-bucket-done)',
|
|
255
|
+
green: 'var(--sio-green)',
|
|
256
|
+
red: 'var(--sio-red)',
|
|
257
|
+
yellow: 'var(--sio-yellow)',
|
|
258
|
+
orange: 'var(--sio-orange)',
|
|
259
|
+
blue: 'var(--sio-blue)',
|
|
260
|
+
rowComfortable: 'var(--sio-row-comfortable)',
|
|
261
|
+
rowCozy: 'var(--sio-row-cozy)',
|
|
262
|
+
rowCompact: 'var(--sio-row-compact)',
|
|
263
|
+
radiusXs: 'var(--sio-radius-xs)',
|
|
264
|
+
radiusSm: 'var(--sio-radius-sm)',
|
|
265
|
+
radius: 'var(--sio-radius)',
|
|
266
|
+
radiusMd: 'var(--sio-radius-md)',
|
|
267
|
+
radiusLg: 'var(--sio-radius-lg)',
|
|
268
|
+
radiusPill: 'var(--sio-radius-pill)',
|
|
269
|
+
hairline: 'var(--sio-hairline)',
|
|
270
|
+
glassBg: 'var(--sio-glass-bg)',
|
|
271
|
+
glassBorder: 'var(--sio-glass-border)',
|
|
272
|
+
toolbarGlassBg: 'var(--sio-toolbar-glass-bg)',
|
|
273
|
+
fontSf: 'var(--sio-font-sf)',
|
|
274
|
+
fontMono: 'var(--sio-font-mono)',
|
|
275
|
+
fontRounded: 'var(--sio-font-rounded)',
|
|
276
|
+
};
|
|
277
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViL2VsZW1lbnRzL3Rva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTlEOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQUVILDhFQUE4RTtBQUM5RSx3REFBd0Q7QUFDeEQsOEVBQThFO0FBQzlFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUE7OztnQkFHaEIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDO3dCQUNoQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7cUJBQzNDLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzt1QkFDdEMsVUFBVSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRSx3QkFBd0IsQ0FBQzs7O21CQUcxRSxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7cUJBQ3RDLFVBQVUsQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQUUsd0JBQXdCLENBQUM7cUJBQ25FLFVBQVUsQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQUUsd0JBQXdCLENBQUM7cUJBQ25FLFVBQVUsQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQUUsd0JBQXdCLENBQUM7Ozt1QkFHakUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxxQkFBcUIsQ0FBQzs4QkFDekQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDOzs7a0JBR3BELFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQzt3QkFDbEMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDO3VCQUN6QyxVQUFVLENBQUMsT0FBTyxDQUFDLHVCQUF1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
|
|
@@ -1 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* firstpage — the embeddable widget moment: a host page with the
|
|
3
|
+
* sio-fab launcher (unread pill) anchored bottom-right. Clicking the
|
|
4
|
+
* fab opens the sio-combox singleton it owns.
|
|
5
|
+
*/
|
|
1
6
|
export declare const firstpage: () => import("@design.estate/dees-element").TemplateResult<1>;
|