@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
@@ -1,5 +1,24 @@
1
1
  import { html } from '@design.estate/dees-element';
2
+ /**
3
+ * firstpage — the embeddable widget moment: a host page with the
4
+ * sio-fab launcher (unread pill) anchored bottom-right. Clicking the
5
+ * fab opens the sio-combox singleton it owns.
6
+ */
2
7
  export const firstpage = () => html `
3
- <sio-fab></sio-fab>
8
+ <div
9
+ style="position: relative; min-height: 100vh; font-family: var(--sio-font-sf); background: var(--sio-bg);"
10
+ >
11
+ <div style="max-width: 560px; margin: 0 auto; padding: 64px 24px;">
12
+ <div style="font-size: 28px; font-weight: 700; letter-spacing: 0.36px; color: var(--sio-label);">
13
+ Orbit — customer page
14
+ </div>
15
+ <div style="margin-top: 10px; font-size: 15px; line-height: 20px; letter-spacing: -0.24px; color: var(--sio-label-3);">
16
+ A stand-in host website. The launcher bubble bottom-right is the
17
+ social.io widget entry point — click it (or press Ctrl+S) to open
18
+ the combox.
19
+ </div>
20
+ </div>
21
+ <sio-fab .unread=${2}></sio-fab>
22
+ </div>
4
23
  `;
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyc3RwYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViL3BhZ2VzL2ZpcnN0cGFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFbkQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQTs7Q0FFbEMsQ0FBQyJ9
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyc3RwYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfd2ViL3BhZ2VzL2ZpcnN0cGFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFbkQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUE7Ozs7Ozs7Ozs7Ozs7O3VCQWNaLENBQUM7O0NBRXZCLENBQUMifQ==
@@ -1 +1,7 @@
1
+ /**
2
+ * mainpage — a composed v7 showcase: the unified feed, built from the
3
+ * catalog primitives (sio-segmented, sio-ai-card, sio-inset-list,
4
+ * sio-list-row, sio-avatar, sio-chip). Everything color-related comes
5
+ * from the --sio-* tokens; light/dark follows the theme manager.
6
+ */
1
7
  export declare const mainpage: () => import("@design.estate/dees-element").TemplateResult<1>;
@@ -1,45 +1,117 @@
1
1
  import { html } from '@design.estate/dees-element';
2
+ /**
3
+ * mainpage — a composed v7 showcase: the unified feed, built from the
4
+ * catalog primitives (sio-segmented, sio-ai-card, sio-inset-list,
5
+ * sio-list-row, sio-avatar, sio-chip). Everything color-related comes
6
+ * from the --sio-* tokens; light/dark follows the theme manager.
7
+ */
2
8
  export const mainpage = () => html `
3
- <style>
4
- body {
5
- margin: 0;
6
- padding: 0;
7
- background: #f5f5f5;
8
- }
9
- .demo-container {
10
- min-height: 100vh;
11
- display: flex;
12
- align-items: center;
13
- justify-content: center;
14
- padding: 0;
15
- }
16
- .demo-section {
17
- background: white;
18
- border-radius: 8px;
19
- padding: 40px;
20
- box-shadow: 0 2px 10px rgba(0,0,0,0.1);
21
- max-width: 1200px;
22
- width: 100%;
23
- }
24
- h2 {
25
- margin-bottom: 20px;
26
- font-family: sans-serif;
27
- }
28
- .component-demo {
29
- margin: 20px 0;
30
- position: relative;
31
- min-height: 700px;
32
- }
33
- </style>
34
- <div class="demo-container">
35
- <div class="demo-section">
36
- <h2>Social.io Catalog Components</h2>
37
-
38
- <div class="component-demo">
39
- <h3>FAB with Combox Demo</h3>
40
- <sio-fab .showCombox=${true}></sio-fab>
9
+ <div
10
+ style="min-height: 100vh; padding: 40px 0 64px; background: var(--sio-bg); font-family: var(--sio-font-sf);"
11
+ >
12
+ <div style="max-width: 440px; margin: 0 auto;">
13
+ <div
14
+ style="padding: 0 16px 14px; font-size: 34px; line-height: 41px; font-weight: 700; letter-spacing: 0.37px; color: var(--sio-label);"
15
+ >
16
+ Feed
41
17
  </div>
18
+
19
+ <div style="padding: 0 16px 18px;">
20
+ <sio-segmented
21
+ .segments=${[
22
+ { id: 'priority', label: 'Priority' },
23
+ { id: 'time', label: 'Timeline' },
24
+ { id: 'person', label: 'By person' },
25
+ ]}
26
+ selected="priority"
27
+ ></sio-segmented>
28
+ </div>
29
+
30
+ <div style="padding: 0 16px 18px;">
31
+ <sio-ai-card label="Morning digest · 3 items">
32
+ <div>Maya needs your revenue split for the Q3 deck before Thursday's board call.</div>
33
+ <div>Finanzamt letter: objection deadline detected — Jul 24 (13 days left).</div>
34
+ <div>Jonas resolved the launch-copy thread; one pricing question stays open.</div>
35
+ </sio-ai-card>
36
+ </div>
37
+
38
+ <sio-inset-list header="Now">
39
+ <sio-list-row
40
+ unread
41
+ title="Maya Lindqvist"
42
+ time="09:41"
43
+ subject="Q3 numbers ahead of the board call"
44
+ preview="Attached the deck — the growth slide still needs your revenue split before Thursday. Can you take a pass today?"
45
+ density="comfortable"
46
+ >
47
+ <sio-avatar
48
+ slot="avatar"
49
+ initials="ML"
50
+ tint="#FF6B8A"
51
+ size="30"
52
+ channelBadge="mail"
53
+ ></sio-avatar>
54
+ <sio-chip slot="meta" variant="channel" value="mail" icon="envelope">Mail</sio-chip>
55
+ <sio-chip slot="meta" variant="status" value="now">Now</sio-chip>
56
+ </sio-list-row>
57
+ <sio-list-row
58
+ unread
59
+ title="Deutsche Post"
60
+ time="08:55"
61
+ subject="Letter scanned: Finanzamt München"
62
+ preview="2 pages · OCR ready · deadline detected: Jul 24"
63
+ density="comfortable"
64
+ >
65
+ <sio-avatar
66
+ slot="avatar"
67
+ initials="DP"
68
+ tint="var(--sio-ch-letters)"
69
+ size="30"
70
+ channelBadge="letters"
71
+ ></sio-avatar>
72
+ <sio-chip slot="meta" variant="channel" value="letters" icon="file-text">Letter</sio-chip>
73
+ <sio-chip slot="meta" variant="lane" value="paper">Paper trail</sio-chip>
74
+ </sio-list-row>
75
+ </sio-inset-list>
76
+
77
+ <div style="height: 22px;"></div>
78
+
79
+ <sio-inset-list header="Today">
80
+ <sio-list-row
81
+ title="Jonas Weber"
82
+ time="08:12"
83
+ subject="Launch copy — final review"
84
+ preview="I folded your edits in. One open question on the pricing line."
85
+ density="cozy"
86
+ >
87
+ <sio-avatar
88
+ slot="avatar"
89
+ initials="JW"
90
+ tint="var(--sio-ch-chats)"
91
+ size="30"
92
+ presence="online"
93
+ ></sio-avatar>
94
+ <sio-chip slot="meta" variant="channel" value="chats" icon="message-circle">Chat</sio-chip>
95
+ <sio-chip slot="meta" variant="status" value="today">Today</sio-chip>
96
+ </sio-list-row>
97
+ <sio-list-row
98
+ title="Ana Ferreira"
99
+ time="Tue"
100
+ subject="Missed call · voicemail (0:42)"
101
+ density="cozy"
102
+ >
103
+ <sio-avatar
104
+ slot="avatar"
105
+ initials="AF"
106
+ tint="var(--sio-ch-calls)"
107
+ size="30"
108
+ channelBadge="calls"
109
+ ></sio-avatar>
110
+ <sio-chip slot="meta" variant="channel" value="calls" icon="phone">Call</sio-chip>
111
+ <sio-chip slot="meta" variant="status" value="done">Done</sio-chip>
112
+ </sio-list-row>
113
+ </sio-inset-list>
42
114
  </div>
43
115
  </div>
44
116
  `;
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbnBhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvcGFnZXMvbWFpbnBhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRW5ELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OytCQXNDSCxJQUFJOzs7O0NBSWxDLENBQUMifQ==
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbnBhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvcGFnZXMvbWFpbnBhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRW5EOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQTs7Ozs7Ozs7Ozs7OztzQkFhWjtJQUNWLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFO0lBQ3JDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFO0lBQ2pDLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFO0NBQ3JDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBMkZWLENBQUMifQ==
@@ -1,4 +1,6 @@
1
- Copyright (c) 2020 Lossless GmbH (hello@lossless.com)
1
+ MIT License
2
+
3
+ Copyright (c) 2020-2026 Task Venture Capital GmbH (hello@task.vc)
2
4
 
3
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
6
  of this software and associated documentation files (the "Software"), to deal
package/package.json CHANGED
@@ -1,33 +1,27 @@
1
1
  {
2
2
  "name": "@social.io/catalog",
3
- "version": "1.3.0",
3
+ "version": "2.1.0",
4
4
  "private": false,
5
- "description": "catalog for social.io",
6
- "main": "dist_ts_web/index.js",
7
- "typings": "dist_ts_web/index.d.ts",
5
+ "description": "Apple-native v8 design system and web components for social.io",
6
+ "exports": {
7
+ ".": "./dist_ts_web/index.js"
8
+ },
8
9
  "type": "module",
9
- "author": "Lossless GmbH",
10
- "license": "UNLICENSED",
10
+ "author": "Task Venture Capital GmbH",
11
+ "license": "MIT",
11
12
  "dependencies": {
12
- "@design.estate/dees-domtools": "^2.3.6",
13
- "@design.estate/dees-element": "^2.1.3",
14
- "@design.estate/dees-wcctools": "^1.2.1",
15
- "@losslessone_private/loint-pubapi": "^1.0.14",
16
- "@social.io/interfaces": "^1.2.1",
17
- "lucide": "^0.556.0",
18
- "rrweb": "2.0.0-alpha.4",
19
- "rrweb-player": "1.0.0-alpha.4",
20
- "rrweb-snapshot": "2.0.0-alpha.4"
13
+ "@design.estate/dees-domtools": "^2.5.6",
14
+ "@design.estate/dees-element": "^2.4.0",
15
+ "lucide": "^1.16.0"
21
16
  },
22
17
  "devDependencies": {
23
- "@git.zone/tsbuild": "^3.1.2",
24
- "@git.zone/tsbundle": "^2.6.3",
25
- "@git.zone/tsrun": "^2.0.0",
26
- "@git.zone/tstest": "^3.1.3",
27
- "@git.zone/tswatch": "^2.3.5",
28
- "@push.rocks/projectinfo": "^5.0.2",
29
- "@push.rocks/smartenv": "^6.0.0",
30
- "@types/node": "^24.10.1"
18
+ "@git.zone/tsbuild": "^4.4.2",
19
+ "@git.zone/tsbundle": "^2.11.2",
20
+ "@git.zone/tsrun": "^2.0.5",
21
+ "@git.zone/tstest": "^3.6.6",
22
+ "@git.zone/tswatch": "^3.3.5",
23
+ "@types/node": "^26.1.1",
24
+ "@design.estate/dees-wcctools": "^3.9.0"
31
25
  },
32
26
  "files": [
33
27
  "ts/**/*",
@@ -38,7 +32,7 @@
38
32
  "dist_ts_web/**/*",
39
33
  "assets/**/*",
40
34
  "cli.js",
41
- "npmextra.json",
35
+ ".smartconfig.json",
42
36
  "readme.md"
43
37
  ],
44
38
  "browserslist": [
@@ -46,16 +40,16 @@
46
40
  ],
47
41
  "repository": {
48
42
  "type": "git",
49
- "url": "git+https://gitlab.com/social.io/private/catalog.git"
43
+ "url": "git+https://code.foss.global/social.io/catalog.git"
50
44
  },
51
45
  "bugs": {
52
- "url": "https://gitlab.com/social.io/private/catalog/issues"
46
+ "url": "https://code.foss.global/social.io/catalog/issues"
53
47
  },
54
- "homepage": "https://gitlab.com/social.io/private/catalog#readme",
48
+ "homepage": "https://code.foss.global/social.io/catalog#readme",
55
49
  "scripts": {
56
50
  "test": "tstest test/",
57
- "build": "tsbuild tsfolders --allowimplicitany --skiplibcheck && tsbundle element --production",
58
- "watch": "tswatch element",
51
+ "build": "tsbuild tsfolders --allowimplicitany && tsbundle",
52
+ "watch": "tswatch",
59
53
  "buildDocs": "tsdoc"
60
54
  }
61
55
  }
package/readme.hints.md CHANGED
@@ -0,0 +1,82 @@
1
+ # @social.io/catalog — hints
2
+
3
+ ## v2 architecture (v8 design program)
4
+
5
+ - Pure web-component catalog: Lit via `@design.estate/dees-element` with
6
+ standard TC39 decorators (`@property({ ... }) public accessor x`,
7
+ `@state() private accessor y`). No services, no recorder — the v1
8
+ media-recorder stack was removed.
9
+ - Every element: `@customElement('sio-...')`, a
10
+ `declare global { interface HTMLElementTagNameMap }` entry, a
11
+ `public static demo = () => html\`...\`` with realistic v8 content, and
12
+ `static styles = [...sioElementStyles, css\`...\`]`.
13
+ - Entry points:
14
+ - `ts_web/index.ts` → re-exports `ts_web/elements/index.ts` (the barrel:
15
+ tokens + all components).
16
+ - `html/index.ts` → dees-wcctools catalog with three sections:
17
+ Primitives (all `Sio*` classes except the widget suite), Chat Widget
18
+ (`SioFab`, `SioCombox`, `SioConversationSelector`, `SioConversationView`,
19
+ `SioMessageInput`, `SioImageLightbox`, `SioPdfViewer`), Pages.
20
+ - `ts_web/pages/` — `firstpage` (widget host page with the sio-fab
21
+ launcher), `mainpage` (composed v7 unified-feed showcase:
22
+ segmented + ai-card + inset-list + list-rows + avatars + chips).
23
+ - Build: `pnpm build` = `tsbuild tsfolders` (no skipLibCheck) + `tsbundle`.
24
+ Dev: `pnpm watch` (tswatch serves `html/index.html`).
25
+ - Tests: `test/test.chromium.ts` runs in real Chromium via
26
+ `pnpm test` (tstest). Pattern: construct → append to body →
27
+ `await updateComplete` → assert against `shadowRoot`. Gotcha: the
28
+ dees-domtools base styles put `transition: background .1s, color .1s`
29
+ on `*` — wait ~200ms before asserting a *changed* computed color.
30
+
31
+ ## Token system (`ts_web/elements/tokens.ts`)
32
+
33
+ - The only source of color/typography/radius/density values. Components
34
+ never hardcode colors; tints derive with
35
+ `color-mix(in oklab, var(--sio-...) N%, transparent)`. No string
36
+ concatenation on `cssManager.bdTheme(...)` results (the v1 anti-pattern) —
37
+ light/dark pairs live inside tokens.ts, or a component declares its own
38
+ scoped custom prop via `bdTheme` when the value is component-specific
39
+ (e.g. the segmented-control knob).
40
+ - `sioElementStyles = [cssManager.defaultStyles, sioBaseStyles]` — spread it
41
+ first in every element's `static styles`.
42
+ - Custom props (all `--sio-*`): surfaces (`bg`, `bg-grouped`, `surface`,
43
+ `surface-2`), 4-level labels, separators (0.5px hairline convention via
44
+ `--sio-hairline`), tint `#0A84FF` (dark `#409CFF`, hover `#0071E3`/`#64B2FF`,
45
+ soft 10%/18%), channel palette (mail `#0A84FF`, chats `#30D158`,
46
+ calls `#FF9F0A`, letters `#A2845E`), lane palette (feed/paper/people),
47
+ bucket palette (now `#FF453A`, today `#FF9F0A`, later `#8E8E93`,
48
+ done `#30D158`), density row heights 78/62/48px, radii ramp, glass values.
49
+ - Helper CSS fragments: `sioGlass` / `sioToolbarGlass` / `sioPillGlass`
50
+ (backdrop blur 28px saturate 180%), the SF type ramp
51
+ (`sioTypeLargeTitle` … `sioTypeCaption2`, `sioTypeMono`), and
52
+ `sioTabularNums` for any run of digits. `sioTheme` maps token names to
53
+ `var(--sio-*)` strings for inline styles.
54
+ - Icons: `sio-icon` is a thin wrapper over the `lucide` npm package
55
+ (never a CDN), with a small alias map (e.g. `envelope` → `mail`).
56
+
57
+ ## Component inventory (28 files / 29 elements)
58
+
59
+ Foundation: `sio-logo` (faceted canvas mark, theme/DPR/reduced-motion aware),
60
+ `sio-icon`, `sio-button`, `sio-kbd`, `sio-chip`
61
+ (channel/lane/status palettes), `sio-avatar` + `sio-avatar-stack`,
62
+ `sio-unread-badge`.
63
+
64
+ Chrome & navigation: `sio-glass-toolbar`, `sio-segmented`,
65
+ `sio-tab-bar`, `sio-channel-rail`, `sio-dropdown-menu`.
66
+
67
+ Lists & feed: `sio-list-row` (density comfortable/cozy/compact =
68
+ 78/62/48px, unread gutter, hover triage actions, inset hairlines),
69
+ `sio-inset-list` (iOS grouped card), `sio-bucket-header`.
70
+
71
+ Content & input: `sio-ai-card`, `sio-composer` (`composer-send` /
72
+ `composer-attach`), `sio-cmdk` (host-owned `open`, `cmdk-run` /
73
+ `cmdk-close`), `sio-waveform`, `sio-step-timeline`, `sio-paper-thumb`.
74
+
75
+ Chat-widget suite (embeddable): `sio-fab` (owns the `SioCombox`
76
+ singleton), `sio-combox` (three states: home list / conversation /
77
+ away email-fallback), `sio-conversation-selector`,
78
+ `sio-conversation-view`, `sio-message-input`, `sio-image-lightbox`,
79
+ `sio-pdf-viewer`.
80
+
81
+ All interactions dispatch `CustomEvent`s with `bubbles: true,
82
+ composed: true`; `render()` stays side-effect free.