@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.
Files changed (130) hide show
  1. package/.smartconfig.json +51 -0
  2. package/dist_bundle/bundle.js +5455 -3248
  3. package/dist_ts_web/00_commitinfo_data.js +3 -3
  4. package/dist_ts_web/elements/index.d.ts +21 -3
  5. package/dist_ts_web/elements/index.js +28 -7
  6. package/dist_ts_web/elements/sio-ai-card.d.ts +39 -0
  7. package/dist_ts_web/elements/sio-ai-card.js +229 -0
  8. package/dist_ts_web/elements/sio-avatar.d.ts +46 -0
  9. package/dist_ts_web/elements/sio-avatar.js +379 -0
  10. package/dist_ts_web/elements/sio-bucket-header.d.ts +36 -0
  11. package/dist_ts_web/elements/sio-bucket-header.js +197 -0
  12. package/dist_ts_web/elements/sio-button.d.ts +7 -3
  13. package/dist_ts_web/elements/sio-button.js +253 -152
  14. package/dist_ts_web/elements/sio-channel-rail.d.ts +38 -0
  15. package/dist_ts_web/elements/sio-channel-rail.js +288 -0
  16. package/dist_ts_web/elements/sio-chip.d.ts +25 -0
  17. package/dist_ts_web/elements/sio-chip.js +188 -0
  18. package/dist_ts_web/elements/sio-cmdk.d.ts +59 -0
  19. package/dist_ts_web/elements/sio-cmdk.js +471 -0
  20. package/dist_ts_web/elements/sio-combox.d.ts +55 -1
  21. package/dist_ts_web/elements/sio-combox.js +458 -261
  22. package/dist_ts_web/elements/sio-composer.d.ts +48 -0
  23. package/dist_ts_web/elements/sio-composer.js +357 -0
  24. package/dist_ts_web/elements/sio-conversation-selector.d.ts +41 -1
  25. package/dist_ts_web/elements/sio-conversation-selector.js +426 -238
  26. package/dist_ts_web/elements/sio-conversation-view.d.ts +34 -6
  27. package/dist_ts_web/elements/sio-conversation-view.js +738 -564
  28. package/dist_ts_web/elements/sio-dropdown-menu.d.ts +6 -6
  29. package/dist_ts_web/elements/sio-dropdown-menu.js +223 -169
  30. package/dist_ts_web/elements/sio-fab.d.ts +23 -5
  31. package/dist_ts_web/elements/sio-fab.js +259 -235
  32. package/dist_ts_web/elements/sio-glass-toolbar.d.ts +22 -0
  33. package/dist_ts_web/elements/sio-glass-toolbar.js +178 -0
  34. package/dist_ts_web/elements/sio-icon.d.ts +1 -0
  35. package/dist_ts_web/elements/sio-icon.js +254 -94
  36. package/dist_ts_web/elements/sio-image-lightbox.d.ts +3 -4
  37. package/dist_ts_web/elements/sio-image-lightbox.js +282 -191
  38. package/dist_ts_web/elements/sio-inset-list.d.ts +28 -0
  39. package/dist_ts_web/elements/sio-inset-list.js +191 -0
  40. package/dist_ts_web/elements/sio-kbd.d.ts +16 -0
  41. package/dist_ts_web/elements/sio-kbd.js +117 -0
  42. package/dist_ts_web/elements/sio-list-row.d.ts +55 -0
  43. package/dist_ts_web/elements/sio-list-row.js +462 -0
  44. package/dist_ts_web/elements/sio-logo-render.d.ts +42 -0
  45. package/dist_ts_web/elements/sio-logo-render.js +306 -0
  46. package/dist_ts_web/elements/sio-logo.d.ts +64 -0
  47. package/dist_ts_web/elements/sio-logo.js +393 -0
  48. package/dist_ts_web/elements/sio-message-input.d.ts +25 -4
  49. package/dist_ts_web/elements/sio-message-input.js +231 -226
  50. package/dist_ts_web/elements/sio-paper-thumb.d.ts +24 -0
  51. package/dist_ts_web/elements/sio-paper-thumb.js +293 -0
  52. package/dist_ts_web/elements/sio-pdf-viewer.d.ts +2 -0
  53. package/dist_ts_web/elements/sio-pdf-viewer.js +344 -244
  54. package/dist_ts_web/elements/sio-segmented.d.ts +32 -0
  55. package/dist_ts_web/elements/sio-segmented.js +217 -0
  56. package/dist_ts_web/elements/sio-step-timeline.d.ts +28 -0
  57. package/dist_ts_web/elements/sio-step-timeline.js +222 -0
  58. package/dist_ts_web/elements/sio-tab-bar.d.ts +36 -0
  59. package/dist_ts_web/elements/sio-tab-bar.js +232 -0
  60. package/dist_ts_web/elements/sio-unread-badge.d.ts +25 -0
  61. package/dist_ts_web/elements/sio-unread-badge.js +203 -0
  62. package/dist_ts_web/elements/sio-waveform.d.ts +34 -0
  63. package/dist_ts_web/elements/sio-waveform.js +304 -0
  64. package/dist_ts_web/elements/tokens.d.ts +70 -0
  65. package/dist_ts_web/elements/tokens.js +277 -0
  66. package/dist_ts_web/pages/firstpage.d.ts +5 -0
  67. package/dist_ts_web/pages/firstpage.js +21 -2
  68. package/dist_ts_web/pages/mainpage.d.ts +6 -0
  69. package/dist_ts_web/pages/mainpage.js +111 -39
  70. package/{license → license.md} +3 -1
  71. package/package.json +23 -29
  72. package/readme.hints.md +82 -0
  73. package/readme.md +113 -146
  74. package/ts_web/00_commitinfo_data.ts +2 -2
  75. package/ts_web/elements/index.ts +31 -7
  76. package/ts_web/elements/sio-ai-card.ts +175 -0
  77. package/ts_web/elements/sio-avatar.ts +295 -0
  78. package/ts_web/elements/sio-bucket-header.ts +157 -0
  79. package/ts_web/elements/sio-button.ts +149 -127
  80. package/ts_web/elements/sio-channel-rail.ts +256 -0
  81. package/ts_web/elements/sio-chip.ts +134 -0
  82. package/ts_web/elements/sio-cmdk.ts +461 -0
  83. package/ts_web/elements/sio-combox.ts +327 -204
  84. package/ts_web/elements/sio-composer.ts +306 -0
  85. package/ts_web/elements/sio-conversation-selector.ts +350 -228
  86. package/ts_web/elements/sio-conversation-view.ts +573 -457
  87. package/ts_web/elements/sio-dropdown-menu.ts +112 -130
  88. package/ts_web/elements/sio-fab.ts +192 -227
  89. package/ts_web/elements/sio-glass-toolbar.ts +140 -0
  90. package/ts_web/elements/sio-icon.ts +147 -25
  91. package/ts_web/elements/sio-image-lightbox.ts +62 -64
  92. package/ts_web/elements/sio-inset-list.ts +140 -0
  93. package/ts_web/elements/sio-kbd.ts +80 -0
  94. package/ts_web/elements/sio-list-row.ts +393 -0
  95. package/ts_web/elements/sio-logo-render.ts +367 -0
  96. package/ts_web/elements/sio-logo.ts +311 -0
  97. package/ts_web/elements/sio-message-input.ts +142 -221
  98. package/ts_web/elements/sio-paper-thumb.ts +244 -0
  99. package/ts_web/elements/sio-pdf-viewer.ts +58 -60
  100. package/ts_web/elements/sio-segmented.ts +183 -0
  101. package/ts_web/elements/sio-step-timeline.ts +179 -0
  102. package/ts_web/elements/sio-tab-bar.ts +195 -0
  103. package/ts_web/elements/sio-unread-badge.ts +147 -0
  104. package/ts_web/elements/sio-waveform.ts +239 -0
  105. package/ts_web/elements/tokens.ts +297 -0
  106. package/ts_web/pages/firstpage.ts +20 -1
  107. package/ts_web/pages/mainpage.ts +111 -39
  108. package/dist_bundle/bundle.js.map +0 -7
  109. package/dist_ts_web/elements/00colors.d.ts +0 -108
  110. package/dist_ts_web/elements/00colors.js +0 -137
  111. package/dist_ts_web/elements/00fonts.d.ts +0 -60
  112. package/dist_ts_web/elements/00fonts.js +0 -129
  113. package/dist_ts_web/elements/00tokens.d.ts +0 -123
  114. package/dist_ts_web/elements/00tokens.js +0 -176
  115. package/dist_ts_web/elements/sio-conversation-list.d.ts +0 -20
  116. package/dist_ts_web/elements/sio-conversation-list.js +0 -495
  117. package/dist_ts_web/elements/sio-recorder.d.ts +0 -60
  118. package/dist_ts_web/elements/sio-recorder.js +0 -173
  119. package/dist_ts_web/elements/sio-subwidget-conversations.d.ts +0 -16
  120. package/dist_ts_web/elements/sio-subwidget-conversations.js +0 -350
  121. package/dist_ts_web/elements/sio-subwidget-onboardme.d.ts +0 -7
  122. package/dist_ts_web/elements/sio-subwidget-onboardme.js +0 -243
  123. package/dist_watch/bundle.js +0 -81694
  124. package/dist_watch/bundle.js.map +0 -7
  125. package/dist_watch/index.html +0 -25
  126. package/npmextra.json +0 -19
  127. package/ts_web/elements/00colors.ts +0 -164
  128. package/ts_web/elements/00fonts.ts +0 -145
  129. package/ts_web/elements/00tokens.ts +0 -197
  130. package/ts_web/elements/sio-recorder.ts +0 -213
@@ -0,0 +1,28 @@
1
+ import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
2
+ import './sio-list-row.js';
3
+ declare global {
4
+ interface HTMLElementTagNameMap {
5
+ 'sio-inset-list': SioInsetList;
6
+ }
7
+ }
8
+ /**
9
+ * sio-inset-list — iOS grouped ("inset") card list container
10
+ * (design source: SIORowMobile groups in SocialIOiOS.jsx).
11
+ *
12
+ * Rounds children into an 18px card on the grouped canvas with 16px side
13
+ * margins (mobile), separates them with 0.5px inset hairlines, and takes an
14
+ * optional uppercase section header at the 32px inset.
15
+ *
16
+ * Separators: `sio-list-row` children draw their own text-aligned inset
17
+ * hairline (auto-hidden on the last row); all other children get a plain
18
+ * hairline between siblings from this container.
19
+ */
20
+ export declare class SioInsetList extends DeesElement {
21
+ static demo: () => TemplateResult<1>;
22
+ /** Optional uppercase section header rendered above the card at the 32px inset. */
23
+ accessor header: string;
24
+ /** Drops the 16px side margins (embedding in desktop columns). */
25
+ accessor flush: boolean;
26
+ static styles: import("@design.estate/dees-element").CSSResult[];
27
+ render(): TemplateResult;
28
+ }
@@ -0,0 +1,191 @@
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-list-row.js';
38
+ /**
39
+ * sio-inset-list — iOS grouped ("inset") card list container
40
+ * (design source: SIORowMobile groups in SocialIOiOS.jsx).
41
+ *
42
+ * Rounds children into an 18px card on the grouped canvas with 16px side
43
+ * margins (mobile), separates them with 0.5px inset hairlines, and takes an
44
+ * optional uppercase section header at the 32px inset.
45
+ *
46
+ * Separators: `sio-list-row` children draw their own text-aligned inset
47
+ * hairline (auto-hidden on the last row); all other children get a plain
48
+ * hairline between siblings from this container.
49
+ */
50
+ let SioInsetList = (() => {
51
+ let _classDecorators = [customElement('sio-inset-list')];
52
+ let _classDescriptor;
53
+ let _classExtraInitializers = [];
54
+ let _classThis;
55
+ let _classSuper = DeesElement;
56
+ let _header_decorators;
57
+ let _header_initializers = [];
58
+ let _header_extraInitializers = [];
59
+ let _flush_decorators;
60
+ let _flush_initializers = [];
61
+ let _flush_extraInitializers = [];
62
+ var SioInsetList = class extends _classSuper {
63
+ static { _classThis = this; }
64
+ static {
65
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
66
+ _header_decorators = [property({ type: String })];
67
+ _flush_decorators = [property({ type: Boolean, reflect: true })];
68
+ __esDecorate(this, null, _header_decorators, { kind: "accessor", name: "header", static: false, private: false, access: { has: obj => "header" in obj, get: obj => obj.header, set: (obj, value) => { obj.header = value; } }, metadata: _metadata }, _header_initializers, _header_extraInitializers);
69
+ __esDecorate(this, null, _flush_decorators, { kind: "accessor", name: "flush", static: false, private: false, access: { has: obj => "flush" in obj, get: obj => obj.flush, set: (obj, value) => { obj.flush = value; } }, metadata: _metadata }, _flush_initializers, _flush_extraInitializers);
70
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
71
+ SioInsetList = _classThis = _classDescriptor.value;
72
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
73
+ }
74
+ static demo = () => html `
75
+ <div style="max-width: 420px; background: var(--sio-bg); padding: 18px 0; font-family: var(--sio-font-sf); border-radius: 12px;">
76
+ <sio-inset-list header="Today">
77
+ <sio-list-row
78
+ unread
79
+ title="Maya Lindqvist"
80
+ time="09:41"
81
+ subject="Q3 numbers ahead of the board call"
82
+ preview="Attached the deck — the growth slide still needs your revenue split before Thursday."
83
+ density="comfortable"
84
+ >
85
+ <span
86
+ slot="avatar"
87
+ style="width: 30px; height: 30px; border-radius: 50%; background: var(--sio-ch-mail); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 600; letter-spacing: -0.2px;"
88
+ >ML</span>
89
+ </sio-list-row>
90
+ <sio-list-row
91
+ unread
92
+ title="Jonas Weber"
93
+ time="08:12"
94
+ subject="Launch copy — final review"
95
+ preview="I folded your edits in. One open question on the pricing line."
96
+ density="comfortable"
97
+ >
98
+ <span
99
+ slot="avatar"
100
+ style="width: 30px; height: 30px; border-radius: 50%; background: var(--sio-ch-chats); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 600; letter-spacing: -0.2px;"
101
+ >JW</span>
102
+ </sio-list-row>
103
+ <sio-list-row
104
+ title="Deutsche Post"
105
+ time="Yesterday"
106
+ subject="Letter scanned: Finanzamt München"
107
+ preview="2 pages · OCR ready · deadline detected: Jul 24"
108
+ density="comfortable"
109
+ >
110
+ <span
111
+ slot="avatar"
112
+ style="width: 30px; height: 30px; border-radius: 50%; background: var(--sio-ch-letters); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 600; letter-spacing: -0.2px;"
113
+ >DP</span>
114
+ </sio-list-row>
115
+ </sio-inset-list>
116
+ <div style="height: 18px;"></div>
117
+ <sio-inset-list header="Notifications">
118
+ <div style="padding: 12px 16px; font-size: 15px; color: var(--sio-label); display: flex; align-items: center;">
119
+ <span style="flex: 1;">Priority only</span>
120
+ <span style="font-size: 15px; color: var(--sio-label-3);">On</span>
121
+ </div>
122
+ <div style="padding: 12px 16px; font-size: 15px; color: var(--sio-label); display: flex; align-items: center;">
123
+ <span style="flex: 1;">Quiet hours</span>
124
+ <span style="font-size: 15px; color: var(--sio-label-3);">22:00 – 07:00</span>
125
+ </div>
126
+ <div style="padding: 12px 16px; font-size: 15px; color: var(--sio-tint);">Add exception…</div>
127
+ </sio-inset-list>
128
+ </div>
129
+ `;
130
+ #header_accessor_storage = __runInitializers(this, _header_initializers, '');
131
+ /** Optional uppercase section header rendered above the card at the 32px inset. */
132
+ get header() { return this.#header_accessor_storage; }
133
+ set header(value) { this.#header_accessor_storage = value; }
134
+ #flush_accessor_storage = (__runInitializers(this, _header_extraInitializers), __runInitializers(this, _flush_initializers, false));
135
+ /** Drops the 16px side margins (embedding in desktop columns). */
136
+ get flush() { return this.#flush_accessor_storage; }
137
+ set flush(value) { this.#flush_accessor_storage = value; }
138
+ static styles = [
139
+ ...sioElementStyles,
140
+ css `
141
+ :host {
142
+ display: block;
143
+ font-family: var(--sio-font-sf);
144
+ }
145
+ .section-header {
146
+ padding: 6px 32px;
147
+ font-size: 13px;
148
+ font-weight: 600;
149
+ color: var(--sio-label-3);
150
+ letter-spacing: -0.08px;
151
+ text-transform: uppercase;
152
+ }
153
+ :host([flush]) .section-header {
154
+ padding: 6px 16px;
155
+ }
156
+ .card {
157
+ background: var(--sio-surface);
158
+ margin: 0 16px;
159
+ border-radius: 18px;
160
+ overflow: hidden;
161
+ }
162
+ :host([flush]) .card {
163
+ margin: 0;
164
+ }
165
+ /* plain hairline between non-row children; sio-list-row draws its own
166
+ inset hairline and hides it on :last-child itself */
167
+ ::slotted(:not(sio-list-row):not(:last-child)) {
168
+ border-bottom: var(--sio-hairline) solid var(--sio-separator);
169
+ }
170
+ `,
171
+ ];
172
+ render() {
173
+ return html `
174
+ ${this.header ? html `<div class="section-header">${this.header}</div>` : html ``}
175
+ <div class="card">
176
+ <slot></slot>
177
+ </div>
178
+ `;
179
+ }
180
+ constructor() {
181
+ super(...arguments);
182
+ __runInitializers(this, _flush_extraInitializers);
183
+ }
184
+ static {
185
+ __runInitializers(_classThis, _classExtraInitializers);
186
+ }
187
+ };
188
+ return SioInsetList = _classThis;
189
+ })();
190
+ export { SioInsetList };
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lvLWluc2V0LWxpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvc2lvLWluc2V0LWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsSUFBSSxFQUNKLFFBQVEsRUFDUixhQUFhLEVBQ2IsR0FBRyxHQUVKLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sbUJBQW1CLENBQUM7QUFRM0I7Ozs7Ozs7Ozs7O0dBV0c7SUFFVSxZQUFZOzRCQUR4QixhQUFhLENBQUMsZ0JBQWdCLENBQUM7Ozs7c0JBQ0UsV0FBVzs7Ozs7Ozs0QkFBbkIsU0FBUSxXQUFXOzs7O2tDQTJEMUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO2lDQUkxQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUgzQyx1S0FBZ0IsTUFBTSw2QkFBTixNQUFNLHVGQUFNO1lBSTVCLG9LQUFnQixLQUFLLDZCQUFMLEtBQUsscUZBQVM7WUFoRWhDLDZLQTZHQzs7OztRQTVHUSxNQUFNLENBQUMsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVEOUIsQ0FBQztRQUlGLHlFQUF5QixFQUFFLEVBQUM7UUFGNUIsbUZBQW1GO1FBRW5GLElBQWdCLE1BQU0sNENBQU07UUFBNUIsSUFBZ0IsTUFBTSxrREFBTTtRQUk1Qiw0SEFBd0IsS0FBSyxHQUFDO1FBRjlCLGtFQUFrRTtRQUVsRSxJQUFnQixLQUFLLDJDQUFTO1FBQTlCLElBQWdCLEtBQUssaURBQVM7UUFFdkIsTUFBTSxDQUFDLE1BQU0sR0FBRztZQUNyQixHQUFHLGdCQUFnQjtZQUNuQixHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQThCRjtTQUNGLENBQUM7UUFFSyxNQUFNO1lBQ1gsT0FBTyxJQUFJLENBQUE7UUFDUCxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUEsK0JBQStCLElBQUksQ0FBQyxNQUFNLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBLEVBQUU7Ozs7S0FJaEYsQ0FBQztRQUNKLENBQUM7Ozs7OztZQTVHVSx1REFBWTs7Ozs7U0FBWixZQUFZIn0=
@@ -0,0 +1,16 @@
1
+ import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ 'sio-kbd': SioKbd;
5
+ }
6
+ }
7
+ /**
8
+ * sio-kbd — keyboard hint chip (v7 `.sio-kbd`): mono 11px on surface-2
9
+ * with a 0.5px hairline border and 4px radius. Shown in toolbars and the
10
+ * command palette, e.g. ⌘R (reply), E (archive), ⌘K (commands).
11
+ */
12
+ export declare class SioKbd extends DeesElement {
13
+ static demo: () => TemplateResult<1>;
14
+ static styles: import("@design.estate/dees-element").CSSResult[];
15
+ render(): TemplateResult;
16
+ }
@@ -0,0 +1,117 @@
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, customElement, css, } from '@design.estate/dees-element';
36
+ import { sioElementStyles } from './tokens.js';
37
+ /**
38
+ * sio-kbd — keyboard hint chip (v7 `.sio-kbd`): mono 11px on surface-2
39
+ * with a 0.5px hairline border and 4px radius. Shown in toolbars and the
40
+ * command palette, e.g. ⌘R (reply), E (archive), ⌘K (commands).
41
+ */
42
+ let SioKbd = (() => {
43
+ let _classDecorators = [customElement('sio-kbd')];
44
+ let _classDescriptor;
45
+ let _classExtraInitializers = [];
46
+ let _classThis;
47
+ let _classSuper = DeesElement;
48
+ var SioKbd = class extends _classSuper {
49
+ static { _classThis = this; }
50
+ static {
51
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
52
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
53
+ SioKbd = _classThis = _classDescriptor.value;
54
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
55
+ }
56
+ static demo = () => html `
57
+ <div style="display: flex; flex-direction: column; gap: 14px;">
58
+ <div style="display: flex; gap: 6px; align-items: center;">
59
+ <sio-kbd>⌘K</sio-kbd>
60
+ <sio-kbd>⌘R</sio-kbd>
61
+ <sio-kbd>⇧⌘A</sio-kbd>
62
+ <sio-kbd>E</sio-kbd>
63
+ <sio-kbd>⌫</sio-kbd>
64
+ <sio-kbd>esc</sio-kbd>
65
+ </div>
66
+ <div style="display: flex; gap: 14px; align-items: center; font-size: 12px;">
67
+ <span style="display: inline-flex; gap: 5px; align-items: center;">
68
+ Reply <sio-kbd>⌘R</sio-kbd>
69
+ </span>
70
+ <span style="display: inline-flex; gap: 5px; align-items: center;">
71
+ Archive <sio-kbd>E</sio-kbd>
72
+ </span>
73
+ <span style="display: inline-flex; gap: 5px; align-items: center;">
74
+ Snooze <sio-kbd>H</sio-kbd>
75
+ </span>
76
+ <span style="display: inline-flex; gap: 5px; align-items: center;">
77
+ Commands <sio-kbd>⌘K</sio-kbd>
78
+ </span>
79
+ </div>
80
+ </div>
81
+ `;
82
+ static styles = [
83
+ ...sioElementStyles,
84
+ css `
85
+ :host {
86
+ display: inline-flex;
87
+ flex-shrink: 0;
88
+ }
89
+
90
+ /* v7 .sio-kbd */
91
+ .kbd {
92
+ display: inline-flex;
93
+ align-items: center;
94
+ gap: 2px;
95
+ padding: 1px 5px;
96
+ border-radius: var(--sio-radius-xs);
97
+ background: var(--sio-surface-2);
98
+ color: var(--sio-label-2);
99
+ font-family: var(--sio-font-mono);
100
+ font-size: 11px;
101
+ border: var(--sio-hairline) solid var(--sio-separator);
102
+ white-space: nowrap;
103
+ user-select: none;
104
+ }
105
+ `,
106
+ ];
107
+ render() {
108
+ return html `<span class="kbd"><slot></slot></span>`;
109
+ }
110
+ static {
111
+ __runInitializers(_classThis, _classExtraInitializers);
112
+ }
113
+ };
114
+ return SioKbd = _classThis;
115
+ })();
116
+ export { SioKbd };
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lvLWtiZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy9zaW8ta2JkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLElBQUksRUFDSixhQUFhLEVBQ2IsR0FBRyxHQUVKLE1BQU0sNkJBQTZCLENBQUM7QUFFckMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBUS9DOzs7O0dBSUc7SUFFVSxNQUFNOzRCQURsQixhQUFhLENBQUMsU0FBUyxDQUFDOzs7O3NCQUNHLFdBQVc7c0JBQW5CLFNBQVEsV0FBVzs7OztZQUF2Qyw2S0F5REM7Ozs7UUF4RFEsTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5QjlCLENBQUM7UUFFSyxNQUFNLENBQUMsTUFBTSxHQUFHO1lBQ3JCLEdBQUcsZ0JBQWdCO1lBQ25CLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBcUJGO1NBQ0YsQ0FBQztRQUVLLE1BQU07WUFDWCxPQUFPLElBQUksQ0FBQSx3Q0FBd0MsQ0FBQztRQUN0RCxDQUFDOztZQXhEVSx1REFBTTs7Ozs7U0FBTixNQUFNIn0=
@@ -0,0 +1,55 @@
1
+ import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
2
+ import './sio-icon.js';
3
+ /**
4
+ * Row density per the v7 spec — comfortable 78px / cozy 62px / compact 48px
5
+ * (`--sio-row-*` tokens) with 14 / 11 / 8px vertical padding.
6
+ */
7
+ export type TSioListRowDensity = 'comfortable' | 'cozy' | 'compact';
8
+ declare global {
9
+ interface HTMLElementTagNameMap {
10
+ 'sio-list-row': SioListRow;
11
+ }
12
+ }
13
+ /**
14
+ * sio-list-row — the universal list row of social.io v7
15
+ * (thread lists, unified feed, search results, person history).
16
+ *
17
+ * Anatomy (design source: SIODesktopRow / SIOUniRow / SIORowMobile):
18
+ * [8px unread-dot gutter] [avatar slot] [line1: title + trailing + time]
19
+ * [line2: subject]
20
+ * [preview — clamped 2/1/0 lines]
21
+ * [meta slot — chips]
22
+ * plus a hover-revealed trailing `actions` slot (triage: done/snooze/draft)
23
+ * and a 0.5px inset hairline between rows (hidden on the last row).
24
+ *
25
+ * Slots:
26
+ * avatar — leading avatar (any element; 30px at cozy/comfortable, 24px compact)
27
+ * line1-trailing — small trailing adornments on line 1 (count, star, paperclip)
28
+ * meta — chip row (lane/channel chips, AI summary chip); hidden at compact
29
+ * actions — desktop triage actions, revealed on hover (opacity 0 -> 1, .12s)
30
+ *
31
+ * Events:
32
+ * row-select — bubbles/composed; fired on click or Enter/Space
33
+ * (not fired for clicks inside the `actions` slot).
34
+ */
35
+ export declare class SioListRow extends DeesElement {
36
+ static demo: () => TemplateResult<1>;
37
+ accessor title: string;
38
+ /** Trailing timestamp on line 1 — rendered with tabular-nums. */
39
+ accessor time: string;
40
+ /** Line 2 — subject / one-line summary. Tinted when the row is selected. */
41
+ accessor subject: string;
42
+ /** Optional preview text — clamped to 2 lines (comfortable) / 1 line (cozy), hidden at compact. */
43
+ accessor preview: string;
44
+ accessor density: TSioListRowDensity;
45
+ /** Shows the 8px tint dot in the leading gutter. */
46
+ accessor unread: boolean;
47
+ /** Selected state — tint-soft background, tinted subject line. */
48
+ accessor selected: boolean;
49
+ private accessor hasMeta;
50
+ static styles: import("@design.estate/dees-element").CSSResult[];
51
+ render(): TemplateResult;
52
+ private handleMetaSlotChange;
53
+ private handleSelect;
54
+ private handleKeydown;
55
+ }