@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,297 @@
1
+ import { css, cssManager } from '@design.estate/dees-element';
2
+
3
+ /*
4
+ * social.io v7 tokens — Apple-native design system.
5
+ *
6
+ * Light = iOS systemGray6 canvas (#F2F2F7) with white surfaces;
7
+ * dark = true black with elevated #1C1C1E surfaces.
8
+ * System-blue tint (brightened to #409CFF in dark), SF type ramp,
9
+ * 0.5px hairlines, liquid-glass surfaces (blur 28px saturate 180%).
10
+ *
11
+ * Components take every PALETTE color (tint, channels, lanes, buckets,
12
+ * surfaces, labels) from these custom props; genuinely local material
13
+ * values (scrims, paper textures, control knobs) may live in the component.
14
+ * Tints derive via color-mix(in oklab, var(--sio-...) N%, transparent).
15
+ *
16
+ * Palettes:
17
+ * channels mail #0A84FF · chats #30D158 · calls #FF9F0A · letters #A2845E
18
+ * lanes feed #0A84FF · paper #FF9F0A · people #30D158
19
+ * buckets now #FF453A · today #FF9F0A · later #8E8E93 · done #30D158
20
+ */
21
+
22
+ // ---------------------------------------------------------------------------
23
+ // base custom props (light/dark via cssManager.bdTheme)
24
+ // ---------------------------------------------------------------------------
25
+ export const sioBaseStyles = css`
26
+ :host {
27
+ /* semantic surfaces */
28
+ --sio-bg: ${cssManager.bdTheme('#F2F2F7', '#000000')};
29
+ --sio-bg-grouped: ${cssManager.bdTheme('#F2F2F7', '#000000')};
30
+ --sio-surface: ${cssManager.bdTheme('#FFFFFF', '#1C1C1E')};
31
+ --sio-surface-2: ${cssManager.bdTheme('rgba(118,118,128,0.08)', 'rgba(118,118,128,0.24)')};
32
+
33
+ /* labels — 4 levels per iOS HIG */
34
+ --sio-label: ${cssManager.bdTheme('#000000', '#FFFFFF')};
35
+ --sio-label-2: ${cssManager.bdTheme('rgba(60,60,67,0.85)', 'rgba(235,235,245,0.85)')};
36
+ --sio-label-3: ${cssManager.bdTheme('rgba(60,60,67,0.60)', 'rgba(235,235,245,0.60)')};
37
+ --sio-label-4: ${cssManager.bdTheme('rgba(60,60,67,0.30)', 'rgba(235,235,245,0.30)')};
38
+
39
+ /* separators */
40
+ --sio-separator: ${cssManager.bdTheme('rgba(60,60,67,0.12)', 'rgba(84,84,88,0.65)')};
41
+ --sio-separator-opaque: ${cssManager.bdTheme('#C6C6C8', '#38383A')};
42
+
43
+ /* tint — system blue, brightened in dark */
44
+ --sio-tint: ${cssManager.bdTheme('#0A84FF', '#409CFF')};
45
+ --sio-tint-hover: ${cssManager.bdTheme('#0071E3', '#64B2FF')};
46
+ --sio-tint-soft: ${cssManager.bdTheme('rgba(10,132,255,0.10)', 'rgba(10,132,255,0.18)')};
47
+ /* foreground on solid tint/channel fills — white in both themes */
48
+ --sio-on-accent: #ffffff;
49
+
50
+ /* channel palette (stable across themes) */
51
+ --sio-ch-mail: #0A84FF;
52
+ --sio-ch-chats: #30D158;
53
+ --sio-ch-calls: #FF9F0A;
54
+ --sio-ch-letters: #A2845E;
55
+
56
+ /* lane palette — split inbox */
57
+ --sio-lane-feed: #0A84FF;
58
+ --sio-lane-paper: #FF9F0A;
59
+ --sio-lane-people: #30D158;
60
+
61
+ /* bucket palette — unified feed triage */
62
+ --sio-bucket-now: #FF453A;
63
+ --sio-bucket-today: #FF9F0A;
64
+ --sio-bucket-later: #8E8E93;
65
+ --sio-bucket-done: #30D158;
66
+
67
+ /* system accents */
68
+ --sio-green: #30D158;
69
+ --sio-red: #FF453A;
70
+ --sio-yellow: #FFD60A;
71
+ --sio-orange: #FF9F0A;
72
+ --sio-blue: #0A84FF;
73
+
74
+ /* density — list row heights */
75
+ --sio-row-comfortable: 78px;
76
+ --sio-row-cozy: 62px;
77
+ --sio-row-compact: 48px;
78
+
79
+ /* radii ramp */
80
+ --sio-radius-xs: 4px;
81
+ --sio-radius-sm: 6px;
82
+ --sio-radius: 10px;
83
+ --sio-radius-md: 12px;
84
+ --sio-radius-lg: 14px;
85
+ --sio-radius-pill: 980px;
86
+
87
+ /* hairline convention */
88
+ --sio-hairline: 0.5px;
89
+
90
+ /* liquid glass */
91
+ --sio-glass-bg: ${cssManager.bdTheme('rgba(255,255,255,0.55)', 'rgba(40,40,42,0.6)')};
92
+ --sio-glass-border: ${cssManager.bdTheme('rgba(0,0,0,0.06)', 'rgba(255,255,255,0.08)')};
93
+ --sio-toolbar-glass-bg: ${cssManager.bdTheme('rgba(255,255,255,0.78)', 'rgba(28,28,30,0.78)')};
94
+
95
+ /* SF font stacks */
96
+ --sio-font-sf: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Helvetica Neue', system-ui, sans-serif;
97
+ --sio-font-mono: ui-monospace, 'SF Mono', Menlo, monospace;
98
+ --sio-font-rounded: -apple-system-rounded, 'SF Pro Rounded', -apple-system, system-ui, sans-serif;
99
+
100
+ font-family: var(--sio-font-sf);
101
+ -webkit-font-smoothing: antialiased;
102
+ -moz-osx-font-smoothing: grayscale;
103
+ }
104
+
105
+ :host([theme='dark']),
106
+ :host([dark]) {
107
+ --sio-bg: #000000;
108
+ --sio-bg-grouped: #000000;
109
+ --sio-surface: #1C1C1E;
110
+ --sio-surface-2: rgba(118,118,128,0.24);
111
+ --sio-label: #FFFFFF;
112
+ --sio-label-2: rgba(235,235,245,0.85);
113
+ --sio-label-3: rgba(235,235,245,0.60);
114
+ --sio-label-4: rgba(235,235,245,0.30);
115
+ --sio-separator: rgba(84,84,88,0.65);
116
+ --sio-separator-opaque: #38383A;
117
+ --sio-tint: #409CFF;
118
+ --sio-tint-hover: #64B2FF;
119
+ --sio-tint-soft: rgba(10,132,255,0.18);
120
+ --sio-glass-bg: rgba(40,40,42,0.6);
121
+ --sio-glass-border: rgba(255,255,255,0.08);
122
+ --sio-toolbar-glass-bg: rgba(28,28,30,0.78);
123
+ }
124
+ `;
125
+
126
+ export const sioElementStyles = [cssManager.defaultStyles, sioBaseStyles];
127
+
128
+ // ---------------------------------------------------------------------------
129
+ // glass recipes — interpolate inside a selector block:
130
+ // .toolbar { ${sioToolbarGlass} }
131
+ // ---------------------------------------------------------------------------
132
+
133
+ /** Free-floating liquid-glass surface (system.css `.glass`). */
134
+ export const sioGlass = css`
135
+ background: var(--sio-glass-bg);
136
+ backdrop-filter: blur(28px) saturate(180%);
137
+ -webkit-backdrop-filter: blur(28px) saturate(180%);
138
+ border: var(--sio-hairline) solid var(--sio-glass-border);
139
+ `;
140
+
141
+ /** Toolbar / header glass with hairline bottom edge (socialio.css `.sio-toolbar-glass`). */
142
+ export const sioToolbarGlass = css`
143
+ background: var(--sio-toolbar-glass-bg);
144
+ backdrop-filter: blur(28px) saturate(180%);
145
+ -webkit-backdrop-filter: blur(28px) saturate(180%);
146
+ border-bottom: var(--sio-hairline) solid var(--sio-separator);
147
+ `;
148
+
149
+ /** Pill-shaped glass (segmented controls, floating pills, tab bars). */
150
+ export const sioPillGlass = css`
151
+ background: var(--sio-glass-bg);
152
+ backdrop-filter: blur(28px) saturate(180%);
153
+ -webkit-backdrop-filter: blur(28px) saturate(180%);
154
+ border: var(--sio-hairline) solid var(--sio-glass-border);
155
+ border-radius: var(--sio-radius-pill);
156
+ `;
157
+
158
+ // ---------------------------------------------------------------------------
159
+ // SF type ramp — iOS HIG text styles as reusable fragments
160
+ // ---------------------------------------------------------------------------
161
+ export const sioTypeLargeTitle = css`
162
+ font-size: 34px;
163
+ line-height: 41px;
164
+ font-weight: 700;
165
+ letter-spacing: 0.37px;
166
+ `;
167
+
168
+ export const sioTypeTitle1 = css`
169
+ font-size: 28px;
170
+ line-height: 34px;
171
+ font-weight: 700;
172
+ letter-spacing: 0.36px;
173
+ `;
174
+
175
+ export const sioTypeTitle2 = css`
176
+ font-size: 22px;
177
+ line-height: 28px;
178
+ font-weight: 700;
179
+ letter-spacing: 0.35px;
180
+ `;
181
+
182
+ export const sioTypeTitle3 = css`
183
+ font-size: 20px;
184
+ line-height: 25px;
185
+ font-weight: 600;
186
+ letter-spacing: 0.38px;
187
+ `;
188
+
189
+ export const sioTypeHeadline = css`
190
+ font-size: 17px;
191
+ line-height: 22px;
192
+ font-weight: 600;
193
+ letter-spacing: -0.43px;
194
+ `;
195
+
196
+ export const sioTypeBody = css`
197
+ font-size: 17px;
198
+ line-height: 22px;
199
+ font-weight: 400;
200
+ letter-spacing: -0.43px;
201
+ `;
202
+
203
+ export const sioTypeCallout = css`
204
+ font-size: 16px;
205
+ line-height: 21px;
206
+ font-weight: 400;
207
+ letter-spacing: -0.32px;
208
+ `;
209
+
210
+ export const sioTypeSubheadline = css`
211
+ font-size: 15px;
212
+ line-height: 20px;
213
+ font-weight: 400;
214
+ letter-spacing: -0.24px;
215
+ `;
216
+
217
+ export const sioTypeFootnote = css`
218
+ font-size: 13px;
219
+ line-height: 18px;
220
+ font-weight: 400;
221
+ letter-spacing: -0.08px;
222
+ `;
223
+
224
+ export const sioTypeCaption1 = css`
225
+ font-size: 12px;
226
+ line-height: 16px;
227
+ font-weight: 400;
228
+ letter-spacing: 0;
229
+ `;
230
+
231
+ export const sioTypeCaption2 = css`
232
+ font-size: 11px;
233
+ line-height: 13px;
234
+ font-weight: 400;
235
+ letter-spacing: 0.07px;
236
+ `;
237
+
238
+ /** Monospaced type (message-ids, kbd hints, code). */
239
+ export const sioTypeMono = css`
240
+ font-family: var(--sio-font-mono);
241
+ `;
242
+
243
+ /** Apply to any run of digits (counts, times, sizes) per the v7 spec. */
244
+ export const sioTabularNums = css`
245
+ font-variant-numeric: tabular-nums;
246
+ `;
247
+
248
+ // ---------------------------------------------------------------------------
249
+ // sioTheme — var() references for inline styles / style maps
250
+ // ---------------------------------------------------------------------------
251
+ export const sioTheme = {
252
+ bg: 'var(--sio-bg)',
253
+ bgGrouped: 'var(--sio-bg-grouped)',
254
+ surface: 'var(--sio-surface)',
255
+ surface2: 'var(--sio-surface-2)',
256
+ label: 'var(--sio-label)',
257
+ label2: 'var(--sio-label-2)',
258
+ label3: 'var(--sio-label-3)',
259
+ label4: 'var(--sio-label-4)',
260
+ separator: 'var(--sio-separator)',
261
+ separatorOpaque: 'var(--sio-separator-opaque)',
262
+ tint: 'var(--sio-tint)',
263
+ tintHover: 'var(--sio-tint-hover)',
264
+ tintSoft: 'var(--sio-tint-soft)',
265
+ chMail: 'var(--sio-ch-mail)',
266
+ chChats: 'var(--sio-ch-chats)',
267
+ chCalls: 'var(--sio-ch-calls)',
268
+ chLetters: 'var(--sio-ch-letters)',
269
+ laneFeed: 'var(--sio-lane-feed)',
270
+ lanePaper: 'var(--sio-lane-paper)',
271
+ lanePeople: 'var(--sio-lane-people)',
272
+ bucketNow: 'var(--sio-bucket-now)',
273
+ bucketToday: 'var(--sio-bucket-today)',
274
+ bucketLater: 'var(--sio-bucket-later)',
275
+ bucketDone: 'var(--sio-bucket-done)',
276
+ green: 'var(--sio-green)',
277
+ red: 'var(--sio-red)',
278
+ yellow: 'var(--sio-yellow)',
279
+ orange: 'var(--sio-orange)',
280
+ blue: 'var(--sio-blue)',
281
+ rowComfortable: 'var(--sio-row-comfortable)',
282
+ rowCozy: 'var(--sio-row-cozy)',
283
+ rowCompact: 'var(--sio-row-compact)',
284
+ radiusXs: 'var(--sio-radius-xs)',
285
+ radiusSm: 'var(--sio-radius-sm)',
286
+ radius: 'var(--sio-radius)',
287
+ radiusMd: 'var(--sio-radius-md)',
288
+ radiusLg: 'var(--sio-radius-lg)',
289
+ radiusPill: 'var(--sio-radius-pill)',
290
+ hairline: 'var(--sio-hairline)',
291
+ glassBg: 'var(--sio-glass-bg)',
292
+ glassBorder: 'var(--sio-glass-border)',
293
+ toolbarGlassBg: 'var(--sio-toolbar-glass-bg)',
294
+ fontSf: 'var(--sio-font-sf)',
295
+ fontMono: 'var(--sio-font-mono)',
296
+ fontRounded: 'var(--sio-font-rounded)',
297
+ };
@@ -1,5 +1,24 @@
1
1
  import { html } from '@design.estate/dees-element';
2
2
 
3
+ /**
4
+ * firstpage — the embeddable widget moment: a host page with the
5
+ * sio-fab launcher (unread pill) anchored bottom-right. Clicking the
6
+ * fab opens the sio-combox singleton it owns.
7
+ */
3
8
  export const firstpage = () => html`
4
- <sio-fab></sio-fab>
9
+ <div
10
+ style="position: relative; min-height: 100vh; font-family: var(--sio-font-sf); background: var(--sio-bg);"
11
+ >
12
+ <div style="max-width: 560px; margin: 0 auto; padding: 64px 24px;">
13
+ <div style="font-size: 28px; font-weight: 700; letter-spacing: 0.36px; color: var(--sio-label);">
14
+ Orbit — customer page
15
+ </div>
16
+ <div style="margin-top: 10px; font-size: 15px; line-height: 20px; letter-spacing: -0.24px; color: var(--sio-label-3);">
17
+ A stand-in host website. The launcher bubble bottom-right is the
18
+ social.io widget entry point — click it (or press Ctrl+S) to open
19
+ the combox.
20
+ </div>
21
+ </div>
22
+ <sio-fab .unread=${2}></sio-fab>
23
+ </div>
5
24
  `;
@@ -1,45 +1,117 @@
1
1
  import { html } from '@design.estate/dees-element';
2
2
 
3
+ /**
4
+ * mainpage — a composed v7 showcase: the unified feed, built from the
5
+ * catalog primitives (sio-segmented, sio-ai-card, sio-inset-list,
6
+ * sio-list-row, sio-avatar, sio-chip). Everything color-related comes
7
+ * from the --sio-* tokens; light/dark follows the theme manager.
8
+ */
3
9
  export const mainpage = () => html`
4
- <style>
5
- body {
6
- margin: 0;
7
- padding: 0;
8
- background: #f5f5f5;
9
- }
10
- .demo-container {
11
- min-height: 100vh;
12
- display: flex;
13
- align-items: center;
14
- justify-content: center;
15
- padding: 0;
16
- }
17
- .demo-section {
18
- background: white;
19
- border-radius: 8px;
20
- padding: 40px;
21
- box-shadow: 0 2px 10px rgba(0,0,0,0.1);
22
- max-width: 1200px;
23
- width: 100%;
24
- }
25
- h2 {
26
- margin-bottom: 20px;
27
- font-family: sans-serif;
28
- }
29
- .component-demo {
30
- margin: 20px 0;
31
- position: relative;
32
- min-height: 700px;
33
- }
34
- </style>
35
- <div class="demo-container">
36
- <div class="demo-section">
37
- <h2>Social.io Catalog Components</h2>
38
-
39
- <div class="component-demo">
40
- <h3>FAB with Combox Demo</h3>
41
- <sio-fab .showCombox=${true}></sio-fab>
10
+ <div
11
+ style="min-height: 100vh; padding: 40px 0 64px; background: var(--sio-bg); font-family: var(--sio-font-sf);"
12
+ >
13
+ <div style="max-width: 440px; margin: 0 auto;">
14
+ <div
15
+ style="padding: 0 16px 14px; font-size: 34px; line-height: 41px; font-weight: 700; letter-spacing: 0.37px; color: var(--sio-label);"
16
+ >
17
+ Feed
42
18
  </div>
19
+
20
+ <div style="padding: 0 16px 18px;">
21
+ <sio-segmented
22
+ .segments=${[
23
+ { id: 'priority', label: 'Priority' },
24
+ { id: 'time', label: 'Timeline' },
25
+ { id: 'person', label: 'By person' },
26
+ ]}
27
+ selected="priority"
28
+ ></sio-segmented>
29
+ </div>
30
+
31
+ <div style="padding: 0 16px 18px;">
32
+ <sio-ai-card label="Morning digest · 3 items">
33
+ <div>Maya needs your revenue split for the Q3 deck before Thursday's board call.</div>
34
+ <div>Finanzamt letter: objection deadline detected — Jul 24 (13 days left).</div>
35
+ <div>Jonas resolved the launch-copy thread; one pricing question stays open.</div>
36
+ </sio-ai-card>
37
+ </div>
38
+
39
+ <sio-inset-list header="Now">
40
+ <sio-list-row
41
+ unread
42
+ title="Maya Lindqvist"
43
+ time="09:41"
44
+ subject="Q3 numbers ahead of the board call"
45
+ preview="Attached the deck — the growth slide still needs your revenue split before Thursday. Can you take a pass today?"
46
+ density="comfortable"
47
+ >
48
+ <sio-avatar
49
+ slot="avatar"
50
+ initials="ML"
51
+ tint="#FF6B8A"
52
+ size="30"
53
+ channelBadge="mail"
54
+ ></sio-avatar>
55
+ <sio-chip slot="meta" variant="channel" value="mail" icon="envelope">Mail</sio-chip>
56
+ <sio-chip slot="meta" variant="status" value="now">Now</sio-chip>
57
+ </sio-list-row>
58
+ <sio-list-row
59
+ unread
60
+ title="Deutsche Post"
61
+ time="08:55"
62
+ subject="Letter scanned: Finanzamt München"
63
+ preview="2 pages · OCR ready · deadline detected: Jul 24"
64
+ density="comfortable"
65
+ >
66
+ <sio-avatar
67
+ slot="avatar"
68
+ initials="DP"
69
+ tint="var(--sio-ch-letters)"
70
+ size="30"
71
+ channelBadge="letters"
72
+ ></sio-avatar>
73
+ <sio-chip slot="meta" variant="channel" value="letters" icon="file-text">Letter</sio-chip>
74
+ <sio-chip slot="meta" variant="lane" value="paper">Paper trail</sio-chip>
75
+ </sio-list-row>
76
+ </sio-inset-list>
77
+
78
+ <div style="height: 22px;"></div>
79
+
80
+ <sio-inset-list header="Today">
81
+ <sio-list-row
82
+ title="Jonas Weber"
83
+ time="08:12"
84
+ subject="Launch copy — final review"
85
+ preview="I folded your edits in. One open question on the pricing line."
86
+ density="cozy"
87
+ >
88
+ <sio-avatar
89
+ slot="avatar"
90
+ initials="JW"
91
+ tint="var(--sio-ch-chats)"
92
+ size="30"
93
+ presence="online"
94
+ ></sio-avatar>
95
+ <sio-chip slot="meta" variant="channel" value="chats" icon="message-circle">Chat</sio-chip>
96
+ <sio-chip slot="meta" variant="status" value="today">Today</sio-chip>
97
+ </sio-list-row>
98
+ <sio-list-row
99
+ title="Ana Ferreira"
100
+ time="Tue"
101
+ subject="Missed call · voicemail (0:42)"
102
+ density="cozy"
103
+ >
104
+ <sio-avatar
105
+ slot="avatar"
106
+ initials="AF"
107
+ tint="var(--sio-ch-calls)"
108
+ size="30"
109
+ channelBadge="calls"
110
+ ></sio-avatar>
111
+ <sio-chip slot="meta" variant="channel" value="calls" icon="phone">Call</sio-chip>
112
+ <sio-chip slot="meta" variant="status" value="done">Done</sio-chip>
113
+ </sio-list-row>
114
+ </sio-inset-list>
43
115
  </div>
44
116
  </div>
45
- `;
117
+ `;