@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.
Files changed (124) hide show
  1. package/.smartconfig.json +51 -0
  2. package/dist_bundle/bundle.js +5450 -3267
  3. package/dist_ts_web/00_commitinfo_data.js +3 -3
  4. package/dist_ts_web/elements/index.d.ts +20 -3
  5. package/dist_ts_web/elements/index.js +27 -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 +37 -0
  15. package/dist_ts_web/elements/sio-channel-rail.js +275 -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-message-input.d.ts +25 -4
  45. package/dist_ts_web/elements/sio-message-input.js +231 -226
  46. package/dist_ts_web/elements/sio-paper-thumb.d.ts +24 -0
  47. package/dist_ts_web/elements/sio-paper-thumb.js +293 -0
  48. package/dist_ts_web/elements/sio-pdf-viewer.d.ts +2 -0
  49. package/dist_ts_web/elements/sio-pdf-viewer.js +344 -244
  50. package/dist_ts_web/elements/sio-segmented.d.ts +32 -0
  51. package/dist_ts_web/elements/sio-segmented.js +217 -0
  52. package/dist_ts_web/elements/sio-step-timeline.d.ts +28 -0
  53. package/dist_ts_web/elements/sio-step-timeline.js +222 -0
  54. package/dist_ts_web/elements/sio-tab-bar.d.ts +36 -0
  55. package/dist_ts_web/elements/sio-tab-bar.js +232 -0
  56. package/dist_ts_web/elements/sio-unread-badge.d.ts +25 -0
  57. package/dist_ts_web/elements/sio-unread-badge.js +203 -0
  58. package/dist_ts_web/elements/sio-waveform.d.ts +34 -0
  59. package/dist_ts_web/elements/sio-waveform.js +304 -0
  60. package/dist_ts_web/elements/tokens.d.ts +70 -0
  61. package/dist_ts_web/elements/tokens.js +277 -0
  62. package/dist_ts_web/pages/firstpage.d.ts +5 -0
  63. package/dist_ts_web/pages/firstpage.js +21 -2
  64. package/dist_ts_web/pages/mainpage.d.ts +6 -0
  65. package/dist_ts_web/pages/mainpage.js +111 -39
  66. package/{license → license.md} +3 -1
  67. package/package.json +23 -29
  68. package/readme.hints.md +81 -0
  69. package/readme.md +85 -151
  70. package/ts_web/00_commitinfo_data.ts +2 -2
  71. package/ts_web/elements/index.ts +30 -7
  72. package/ts_web/elements/sio-ai-card.ts +175 -0
  73. package/ts_web/elements/sio-avatar.ts +295 -0
  74. package/ts_web/elements/sio-bucket-header.ts +157 -0
  75. package/ts_web/elements/sio-button.ts +149 -127
  76. package/ts_web/elements/sio-channel-rail.ts +243 -0
  77. package/ts_web/elements/sio-chip.ts +134 -0
  78. package/ts_web/elements/sio-cmdk.ts +461 -0
  79. package/ts_web/elements/sio-combox.ts +327 -204
  80. package/ts_web/elements/sio-composer.ts +306 -0
  81. package/ts_web/elements/sio-conversation-selector.ts +350 -228
  82. package/ts_web/elements/sio-conversation-view.ts +573 -457
  83. package/ts_web/elements/sio-dropdown-menu.ts +112 -130
  84. package/ts_web/elements/sio-fab.ts +192 -227
  85. package/ts_web/elements/sio-glass-toolbar.ts +140 -0
  86. package/ts_web/elements/sio-icon.ts +147 -25
  87. package/ts_web/elements/sio-image-lightbox.ts +62 -64
  88. package/ts_web/elements/sio-inset-list.ts +140 -0
  89. package/ts_web/elements/sio-kbd.ts +80 -0
  90. package/ts_web/elements/sio-list-row.ts +393 -0
  91. package/ts_web/elements/sio-message-input.ts +142 -221
  92. package/ts_web/elements/sio-paper-thumb.ts +244 -0
  93. package/ts_web/elements/sio-pdf-viewer.ts +58 -60
  94. package/ts_web/elements/sio-segmented.ts +183 -0
  95. package/ts_web/elements/sio-step-timeline.ts +179 -0
  96. package/ts_web/elements/sio-tab-bar.ts +195 -0
  97. package/ts_web/elements/sio-unread-badge.ts +147 -0
  98. package/ts_web/elements/sio-waveform.ts +239 -0
  99. package/ts_web/elements/tokens.ts +297 -0
  100. package/ts_web/pages/firstpage.ts +20 -1
  101. package/ts_web/pages/mainpage.ts +111 -39
  102. package/dist_bundle/bundle.js.map +0 -7
  103. package/dist_ts_web/elements/00colors.d.ts +0 -108
  104. package/dist_ts_web/elements/00colors.js +0 -137
  105. package/dist_ts_web/elements/00fonts.d.ts +0 -60
  106. package/dist_ts_web/elements/00fonts.js +0 -129
  107. package/dist_ts_web/elements/00tokens.d.ts +0 -123
  108. package/dist_ts_web/elements/00tokens.js +0 -176
  109. package/dist_ts_web/elements/sio-conversation-list.d.ts +0 -20
  110. package/dist_ts_web/elements/sio-conversation-list.js +0 -495
  111. package/dist_ts_web/elements/sio-recorder.d.ts +0 -60
  112. package/dist_ts_web/elements/sio-recorder.js +0 -173
  113. package/dist_ts_web/elements/sio-subwidget-conversations.d.ts +0 -16
  114. package/dist_ts_web/elements/sio-subwidget-conversations.js +0 -350
  115. package/dist_ts_web/elements/sio-subwidget-onboardme.d.ts +0 -7
  116. package/dist_ts_web/elements/sio-subwidget-onboardme.js +0 -243
  117. package/dist_watch/bundle.js +0 -81694
  118. package/dist_watch/bundle.js.map +0 -7
  119. package/dist_watch/index.html +0 -25
  120. package/npmextra.json +0 -19
  121. package/ts_web/elements/00colors.ts +0 -164
  122. package/ts_web/elements/00fonts.ts +0 -145
  123. package/ts_web/elements/00tokens.ts +0 -197
  124. package/ts_web/elements/sio-recorder.ts +0 -213
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@social.io/catalog',
6
- version: '1.3.0',
7
- description: 'catalog for social.io'
6
+ version: '2.0.0',
7
+ description: 'v7 Apple-native design system and web components for social.io'
8
8
  };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsb0JBQW9CO0lBQzFCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFdBQVcsRUFBRSx1QkFBdUI7Q0FDckMsQ0FBQSJ9
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsb0JBQW9CO0lBQzFCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFdBQVcsRUFBRSxnRUFBZ0U7Q0FDOUUsQ0FBQSJ9
@@ -1,11 +1,28 @@
1
+ export * from './tokens.js';
1
2
  export * from './sio-icon.js';
2
3
  export * from './sio-button.js';
4
+ export * from './sio-kbd.js';
5
+ export * from './sio-chip.js';
6
+ export * from './sio-avatar.js';
7
+ export * from './sio-unread-badge.js';
8
+ export * from './sio-glass-toolbar.js';
9
+ export * from './sio-segmented.js';
10
+ export * from './sio-tab-bar.js';
11
+ export * from './sio-channel-rail.js';
3
12
  export * from './sio-dropdown-menu.js';
13
+ export * from './sio-list-row.js';
14
+ export * from './sio-inset-list.js';
15
+ export * from './sio-bucket-header.js';
16
+ export * from './sio-ai-card.js';
17
+ export * from './sio-composer.js';
18
+ export * from './sio-cmdk.js';
19
+ export * from './sio-waveform.js';
20
+ export * from './sio-step-timeline.js';
21
+ export * from './sio-paper-thumb.js';
22
+ export * from './sio-fab.js';
23
+ export * from './sio-combox.js';
4
24
  export * from './sio-conversation-selector.js';
5
25
  export * from './sio-conversation-view.js';
6
26
  export * from './sio-message-input.js';
7
- export * from './sio-combox.js';
8
- export * from './sio-fab.js';
9
- export * from './sio-recorder.js';
10
27
  export * from './sio-image-lightbox.js';
11
28
  export * from './sio-pdf-viewer.js';
@@ -1,15 +1,35 @@
1
- // Core components
1
+ // design tokens — custom props, glass recipes, SF type ramp
2
+ export * from './tokens.js';
3
+ // foundation
2
4
  export * from './sio-icon.js';
3
5
  export * from './sio-button.js';
6
+ export * from './sio-kbd.js';
7
+ export * from './sio-chip.js';
8
+ export * from './sio-avatar.js';
9
+ export * from './sio-unread-badge.js';
10
+ // chrome & navigation
11
+ export * from './sio-glass-toolbar.js';
12
+ export * from './sio-segmented.js';
13
+ export * from './sio-tab-bar.js';
14
+ export * from './sio-channel-rail.js';
4
15
  export * from './sio-dropdown-menu.js';
5
- // Conversation components
16
+ // lists & feed
17
+ export * from './sio-list-row.js';
18
+ export * from './sio-inset-list.js';
19
+ export * from './sio-bucket-header.js';
20
+ // content & input
21
+ export * from './sio-ai-card.js';
22
+ export * from './sio-composer.js';
23
+ export * from './sio-cmdk.js';
24
+ export * from './sio-waveform.js';
25
+ export * from './sio-step-timeline.js';
26
+ export * from './sio-paper-thumb.js';
27
+ // embeddable chat-widget suite
28
+ export * from './sio-fab.js';
29
+ export * from './sio-combox.js';
6
30
  export * from './sio-conversation-selector.js';
7
31
  export * from './sio-conversation-view.js';
8
32
  export * from './sio-message-input.js';
9
- export * from './sio-combox.js';
10
- // Other components
11
- export * from './sio-fab.js';
12
- export * from './sio-recorder.js';
13
33
  export * from './sio-image-lightbox.js';
14
34
  export * from './sio-pdf-viewer.js';
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0JBQWtCO0FBQ2xCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyx3QkFBd0IsQ0FBQztBQUV2QywwQkFBMEI7QUFDMUIsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxtQkFBbUI7QUFDbkIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMscUJBQXFCLENBQUMifQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNERBQTREO0FBQzVELGNBQWMsYUFBYSxDQUFDO0FBRTVCLGFBQWE7QUFDYixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyx1QkFBdUIsQ0FBQztBQUV0QyxzQkFBc0I7QUFDdEIsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHdCQUF3QixDQUFDO0FBRXZDLGVBQWU7QUFDZixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx3QkFBd0IsQ0FBQztBQUV2QyxrQkFBa0I7QUFDbEIsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLCtCQUErQjtBQUMvQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxxQkFBcUIsQ0FBQyJ9
@@ -0,0 +1,39 @@
1
+ import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
2
+ import './sio-icon.js';
3
+ /**
4
+ * Accent source for the card. Empty string = system tint (default);
5
+ * a channel name colors the card with the channel palette instead
6
+ * (bg 8% / border 28% per the unified detail design).
7
+ */
8
+ export type TSioAiCardChannel = '' | 'mail' | 'chats' | 'calls' | 'letters';
9
+ declare global {
10
+ interface HTMLElementTagNameMap {
11
+ 'sio-ai-card': SioAiCard;
12
+ }
13
+ }
14
+ /**
15
+ * sio-ai-card — the shared AI surface of social.io v7.
16
+ *
17
+ * Tint-soft (or channel-color 8%) background, 0.5px hairline border at
18
+ * color-mix 25–28%, radius 12. Header row: sparkle icon + uppercase
19
+ * 11/700 tinted eyebrow. Slotted children render as bullet lines,
20
+ * each prefixed with a tinted dot (disable via `plain` for the
21
+ * single-paragraph summary style).
22
+ *
23
+ * Design sources: SocialIODesktop.jsx (thread AI summary),
24
+ * SocialIOUnified.jsx (channel-colored summary),
25
+ * SocialIOChannels.jsx (letters "translated" summary).
26
+ */
27
+ export declare class SioAiCard extends DeesElement {
28
+ static demo: () => TemplateResult<1>;
29
+ /** Eyebrow text, rendered uppercase — e.g. "Summary · 4 messages". */
30
+ accessor label: string;
31
+ /** Channel accent; empty = system tint. */
32
+ accessor channel: TSioAiCardChannel;
33
+ /** Translated variant — appends "· translated to <language>" to the eyebrow. */
34
+ accessor translatedTo: string;
35
+ /** Single-paragraph summary style: no tinted dot in front of slotted lines. */
36
+ accessor plain: boolean;
37
+ static styles: import("@design.estate/dees-element").CSSResult[];
38
+ render(): TemplateResult;
39
+ }
@@ -0,0 +1,229 @@
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
34
+ };
35
+ import { DeesElement, html, property, customElement, css, } from '@design.estate/dees-element';
36
+ import { sioElementStyles } from './tokens.js';
37
+ import './sio-icon.js';
38
+ /**
39
+ * sio-ai-card — the shared AI surface of social.io v7.
40
+ *
41
+ * Tint-soft (or channel-color 8%) background, 0.5px hairline border at
42
+ * color-mix 25–28%, radius 12. Header row: sparkle icon + uppercase
43
+ * 11/700 tinted eyebrow. Slotted children render as bullet lines,
44
+ * each prefixed with a tinted dot (disable via `plain` for the
45
+ * single-paragraph summary style).
46
+ *
47
+ * Design sources: SocialIODesktop.jsx (thread AI summary),
48
+ * SocialIOUnified.jsx (channel-colored summary),
49
+ * SocialIOChannels.jsx (letters "translated" summary).
50
+ */
51
+ let SioAiCard = (() => {
52
+ let _classDecorators = [customElement('sio-ai-card')];
53
+ let _classDescriptor;
54
+ let _classExtraInitializers = [];
55
+ let _classThis;
56
+ let _classSuper = DeesElement;
57
+ let _label_decorators;
58
+ let _label_initializers = [];
59
+ let _label_extraInitializers = [];
60
+ let _channel_decorators;
61
+ let _channel_initializers = [];
62
+ let _channel_extraInitializers = [];
63
+ let _translatedTo_decorators;
64
+ let _translatedTo_initializers = [];
65
+ let _translatedTo_extraInitializers = [];
66
+ let _plain_decorators;
67
+ let _plain_initializers = [];
68
+ let _plain_extraInitializers = [];
69
+ var SioAiCard = class extends _classSuper {
70
+ static { _classThis = this; }
71
+ static {
72
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
73
+ _label_decorators = [property({ type: String })];
74
+ _channel_decorators = [property({ type: String, reflect: true })];
75
+ _translatedTo_decorators = [property({ type: String, attribute: 'translated-to' })];
76
+ _plain_decorators = [property({ type: Boolean, reflect: true })];
77
+ __esDecorate(this, null, _label_decorators, { kind: "accessor", name: "label", static: false, private: false, access: { has: obj => "label" in obj, get: obj => obj.label, set: (obj, value) => { obj.label = value; } }, metadata: _metadata }, _label_initializers, _label_extraInitializers);
78
+ __esDecorate(this, null, _channel_decorators, { kind: "accessor", name: "channel", static: false, private: false, access: { has: obj => "channel" in obj, get: obj => obj.channel, set: (obj, value) => { obj.channel = value; } }, metadata: _metadata }, _channel_initializers, _channel_extraInitializers);
79
+ __esDecorate(this, null, _translatedTo_decorators, { kind: "accessor", name: "translatedTo", static: false, private: false, access: { has: obj => "translatedTo" in obj, get: obj => obj.translatedTo, set: (obj, value) => { obj.translatedTo = value; } }, metadata: _metadata }, _translatedTo_initializers, _translatedTo_extraInitializers);
80
+ __esDecorate(this, null, _plain_decorators, { kind: "accessor", name: "plain", static: false, private: false, access: { has: obj => "plain" in obj, get: obj => obj.plain, set: (obj, value) => { obj.plain = value; } }, metadata: _metadata }, _plain_initializers, _plain_extraInitializers);
81
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
82
+ SioAiCard = _classThis = _classDescriptor.value;
83
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
84
+ }
85
+ static demo = () => html `
86
+ <div
87
+ style="display: grid; gap: 14px; max-width: 640px; padding: 24px; background: var(--sio-bg); font-family: var(--sio-font-sf);"
88
+ >
89
+ <sio-ai-card label="Summary · 4 messages">
90
+ <div>Lena rewrote the hero and the "three lanes" section based on Tuesday's feedback.</div>
91
+ <div>Two open questions: (1) keep the Hey-style screener mention, (2) tighten the closing CTA.</div>
92
+ <div>She's asking for a 15-min sync before Tuesday's ship.</div>
93
+ </sio-ai-card>
94
+
95
+ <sio-ai-card label="Summary" translated-to="English" plain>
96
+ <div>
97
+ 2024 tax assessment — <b>refund of €1,284.60</b> due to you. Will be paid to your
98
+ registered bank account within 4 weeks. Objection period: 1 month.
99
+ </div>
100
+ </sio-ai-card>
101
+
102
+ <sio-ai-card label="AI summary" channel="letters" plain>
103
+ <div>Scanned at Berlin-Mitte hub. Objection deadline in 28 days.</div>
104
+ </sio-ai-card>
105
+
106
+ <sio-ai-card label="AI summary" channel="chats" plain>
107
+ <div>Lena: "bumping this — should we hold the banner for Thursday?"</div>
108
+ </sio-ai-card>
109
+ </div>
110
+ `;
111
+ #label_accessor_storage = __runInitializers(this, _label_initializers, 'Summary');
112
+ /** Eyebrow text, rendered uppercase — e.g. "Summary · 4 messages". */
113
+ get label() { return this.#label_accessor_storage; }
114
+ set label(value) { this.#label_accessor_storage = value; }
115
+ #channel_accessor_storage = (__runInitializers(this, _label_extraInitializers), __runInitializers(this, _channel_initializers, ''));
116
+ /** Channel accent; empty = system tint. */
117
+ get channel() { return this.#channel_accessor_storage; }
118
+ set channel(value) { this.#channel_accessor_storage = value; }
119
+ #translatedTo_accessor_storage = (__runInitializers(this, _channel_extraInitializers), __runInitializers(this, _translatedTo_initializers, ''));
120
+ /** Translated variant — appends "· translated to <language>" to the eyebrow. */
121
+ get translatedTo() { return this.#translatedTo_accessor_storage; }
122
+ set translatedTo(value) { this.#translatedTo_accessor_storage = value; }
123
+ #plain_accessor_storage = (__runInitializers(this, _translatedTo_extraInitializers), __runInitializers(this, _plain_initializers, false));
124
+ /** Single-paragraph summary style: no tinted dot in front of slotted lines. */
125
+ get plain() { return this.#plain_accessor_storage; }
126
+ set plain(value) { this.#plain_accessor_storage = value; }
127
+ static styles = [
128
+ ...sioElementStyles,
129
+ css `
130
+ :host {
131
+ display: block;
132
+ --sio-ai-accent: var(--sio-tint);
133
+ --sio-ai-bg: var(--sio-tint-soft);
134
+ --sio-ai-border: color-mix(in oklab, var(--sio-tint) 25%, transparent);
135
+ }
136
+ :host([channel='mail']) {
137
+ --sio-ai-accent: var(--sio-ch-mail);
138
+ --sio-ai-bg: color-mix(in oklab, var(--sio-ch-mail) 8%, transparent);
139
+ --sio-ai-border: color-mix(in oklab, var(--sio-ch-mail) 28%, transparent);
140
+ }
141
+ :host([channel='chats']) {
142
+ --sio-ai-accent: var(--sio-ch-chats);
143
+ --sio-ai-bg: color-mix(in oklab, var(--sio-ch-chats) 8%, transparent);
144
+ --sio-ai-border: color-mix(in oklab, var(--sio-ch-chats) 28%, transparent);
145
+ }
146
+ :host([channel='calls']) {
147
+ --sio-ai-accent: var(--sio-ch-calls);
148
+ --sio-ai-bg: color-mix(in oklab, var(--sio-ch-calls) 8%, transparent);
149
+ --sio-ai-border: color-mix(in oklab, var(--sio-ch-calls) 28%, transparent);
150
+ }
151
+ :host([channel='letters']) {
152
+ --sio-ai-accent: var(--sio-ch-letters);
153
+ --sio-ai-bg: color-mix(in oklab, var(--sio-ch-letters) 8%, transparent);
154
+ --sio-ai-border: color-mix(in oklab, var(--sio-ch-letters) 28%, transparent);
155
+ }
156
+
157
+ .card {
158
+ padding: 14px 16px;
159
+ border-radius: var(--sio-radius-md);
160
+ background: var(--sio-ai-bg);
161
+ border: var(--sio-hairline) solid var(--sio-ai-border);
162
+ }
163
+
164
+ .eyebrow {
165
+ display: flex;
166
+ align-items: center;
167
+ gap: 8px;
168
+ margin-bottom: 8px;
169
+ font-size: 11px;
170
+ line-height: 13px;
171
+ font-weight: 700;
172
+ letter-spacing: 0.06px;
173
+ text-transform: uppercase;
174
+ color: var(--sio-ai-accent);
175
+ font-variant-numeric: tabular-nums;
176
+ }
177
+
178
+ .eyebrow sio-icon {
179
+ flex: 0 0 auto;
180
+ }
181
+
182
+ ::slotted(*) {
183
+ display: flex;
184
+ gap: 8px;
185
+ margin: 0 0 3px;
186
+ font-size: 13.5px;
187
+ line-height: 1.5;
188
+ color: var(--sio-label);
189
+ }
190
+
191
+ ::slotted(*:last-child) {
192
+ margin-bottom: 0;
193
+ }
194
+
195
+ ::slotted(*)::before {
196
+ content: '·';
197
+ color: var(--sio-ai-accent);
198
+ flex: 0 0 auto;
199
+ }
200
+
201
+ :host([plain]) ::slotted(*)::before {
202
+ content: none;
203
+ }
204
+ `,
205
+ ];
206
+ render() {
207
+ const suffix = this.translatedTo ? ` · translated to ${this.translatedTo}` : '';
208
+ return html `
209
+ <div class="card" part="card">
210
+ <div class="eyebrow" part="eyebrow">
211
+ <sio-icon icon="sparkles" size="11" .strokeWidth=${2}></sio-icon>
212
+ <span>${this.label}${suffix}</span>
213
+ </div>
214
+ <slot></slot>
215
+ </div>
216
+ `;
217
+ }
218
+ constructor() {
219
+ super(...arguments);
220
+ __runInitializers(this, _plain_extraInitializers);
221
+ }
222
+ static {
223
+ __runInitializers(_classThis, _classExtraInitializers);
224
+ }
225
+ };
226
+ return SioAiCard = _classThis;
227
+ })();
228
+ export { SioAiCard };
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lvLWFpLWNhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHMvc2lvLWFpLWNhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsSUFBSSxFQUNKLFFBQVEsRUFDUixhQUFhLEVBQ2IsR0FBRyxHQUVKLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sZUFBZSxDQUFDO0FBZXZCOzs7Ozs7Ozs7Ozs7R0FZRztJQUVVLFNBQVM7NEJBRHJCLGFBQWEsQ0FBQyxhQUFhLENBQUM7Ozs7c0JBQ0UsV0FBVzs7Ozs7Ozs7Ozs7Ozt5QkFBbkIsU0FBUSxXQUFXOzs7O2lDQTZCdkMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO21DQUkxQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQzt3Q0FJekMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLENBQUM7aUNBSXRELFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO1lBWDNDLG9LQUFnQixLQUFLLDZCQUFMLEtBQUsscUZBQWE7WUFJbEMsMEtBQWdCLE9BQU8sNkJBQVAsT0FBTyx5RkFBeUI7WUFJaEQseUxBQWdCLFlBQVksNkJBQVosWUFBWSxtR0FBTTtZQUlsQyxvS0FBZ0IsS0FBSyw2QkFBTCxLQUFLLHFGQUFTO1lBMUNoQyw2S0F3SUM7Ozs7UUF2SVEsTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5QjlCLENBQUM7UUFJRix1RUFBd0IsU0FBUyxFQUFDO1FBRmxDLHNFQUFzRTtRQUV0RSxJQUFnQixLQUFLLDJDQUFhO1FBQWxDLElBQWdCLEtBQUssaURBQWE7UUFJbEMsK0hBQTZDLEVBQUUsR0FBQztRQUZoRCwyQ0FBMkM7UUFFM0MsSUFBZ0IsT0FBTyw2Q0FBeUI7UUFBaEQsSUFBZ0IsT0FBTyxtREFBeUI7UUFJaEQsMklBQStCLEVBQUUsR0FBQztRQUZsQyxnRkFBZ0Y7UUFFaEYsSUFBZ0IsWUFBWSxrREFBTTtRQUFsQyxJQUFnQixZQUFZLHdEQUFNO1FBSWxDLGtJQUF3QixLQUFLLEdBQUM7UUFGOUIsK0VBQStFO1FBRS9FLElBQWdCLEtBQUssMkNBQVM7UUFBOUIsSUFBZ0IsS0FBSyxpREFBUztRQUV2QixNQUFNLENBQUMsTUFBTSxHQUFHO1lBQ3JCLEdBQUcsZ0JBQWdCO1lBQ25CLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBMkVGO1NBQ0YsQ0FBQztRQUVLLE1BQU07WUFDWCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDaEYsT0FBTyxJQUFJLENBQUE7Ozs2REFHOEMsQ0FBQztrQkFDNUMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNOzs7O0tBSWhDLENBQUM7UUFDSixDQUFDOzs7Ozs7WUF2SVUsdURBQVM7Ozs7O1NBQVQsU0FBUyJ9
@@ -0,0 +1,46 @@
1
+ import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
2
+ import './sio-icon.js';
3
+ export type TSioAvatarPresence = 'none' | 'online';
4
+ export type TSioAvatarChannelBadge = 'none' | 'mail' | 'chats' | 'calls' | 'letters';
5
+ declare global {
6
+ interface HTMLElementTagNameMap {
7
+ 'sio-avatar': SioAvatar;
8
+ 'sio-avatar-stack': SioAvatarStack;
9
+ }
10
+ }
11
+ /**
12
+ * sio-avatar — initials on a tinted circle (v7 `.sio-avatar`).
13
+ *
14
+ * The tint is data-driven (each person carries their own accent color),
15
+ * so it is passed in as a prop; it defaults to the system tint token.
16
+ * Optional presence dot (online) and channel badge, both ringed with
17
+ * 2px of surface color so they read on top of list rows.
18
+ */
19
+ export declare class SioAvatar extends DeesElement {
20
+ static demo: () => TemplateResult<1>;
21
+ accessor initials: string;
22
+ /** person accent color (data-driven); any CSS color, tokens welcome */
23
+ accessor tint: string;
24
+ accessor size: number;
25
+ accessor presence: TSioAvatarPresence;
26
+ accessor channelBadge: TSioAvatarChannelBadge;
27
+ static styles: import("@design.estate/dees-element").CSSResult[];
28
+ render(): TemplateResult;
29
+ }
30
+ /**
31
+ * sio-avatar-stack — overlapping avatar row (thread participants).
32
+ * Slotted sio-avatar elements overlap by -8px, each ringed with 2px of
33
+ * surface color; avatars beyond `max` collapse into a "+N" bubble.
34
+ */
35
+ export declare class SioAvatarStack extends DeesElement {
36
+ static demo: () => TemplateResult<1>;
37
+ /** visible avatars before collapsing into "+N" */
38
+ accessor max: number;
39
+ /** diameter of the "+N" overflow bubble — match the slotted avatar size */
40
+ accessor size: number;
41
+ private accessor overflowCount;
42
+ static styles: import("@design.estate/dees-element").CSSResult[];
43
+ render(): TemplateResult;
44
+ updated(changedProperties: Map<PropertyKey, unknown>): void;
45
+ private recomputeStack;
46
+ }