@signature.digital/catalog 1.3.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 (71) hide show
  1. package/.smartconfig.json +82 -0
  2. package/dist_bundle/bundle.js +6077 -0
  3. package/dist_bundle/bundle.js.map +7 -0
  4. package/dist_bundle/index.html +28 -0
  5. package/dist_ts_web/00_commitinfo_data.d.ts +8 -0
  6. package/dist_ts_web/00_commitinfo_data.js +9 -0
  7. package/dist_ts_web/elements/index.d.ts +3 -0
  8. package/dist_ts_web/elements/index.js +6 -0
  9. package/dist_ts_web/elements/sdig-signbox/index.d.ts +1 -0
  10. package/dist_ts_web/elements/sdig-signbox/index.js +2 -0
  11. package/dist_ts_web/elements/sdig-signbox/sdig-signbox.d.ts +13 -0
  12. package/dist_ts_web/elements/sdig-signbox/sdig-signbox.js +153 -0
  13. package/dist_ts_web/elements/sdig-signpad/index.d.ts +1 -0
  14. package/dist_ts_web/elements/sdig-signpad/index.js +2 -0
  15. package/dist_ts_web/elements/sdig-signpad/sdig-signpad.d.ts +22 -0
  16. package/dist_ts_web/elements/sdig-signpad/sdig-signpad.js +149 -0
  17. package/dist_ts_web/elements/sdig-workspace/index.d.ts +8 -0
  18. package/dist_ts_web/elements/sdig-workspace/index.js +9 -0
  19. package/dist_ts_web/elements/sdig-workspace/sdig-workspace-audit.d.ts +12 -0
  20. package/dist_ts_web/elements/sdig-workspace/sdig-workspace-audit.js +81 -0
  21. package/dist_ts_web/elements/sdig-workspace/sdig-workspace-compose.d.ts +44 -0
  22. package/dist_ts_web/elements/sdig-workspace/sdig-workspace-compose.js +418 -0
  23. package/dist_ts_web/elements/sdig-workspace/sdig-workspace-developers.d.ts +12 -0
  24. package/dist_ts_web/elements/sdig-workspace/sdig-workspace-developers.js +91 -0
  25. package/dist_ts_web/elements/sdig-workspace/sdig-workspace-inbox.d.ts +19 -0
  26. package/dist_ts_web/elements/sdig-workspace/sdig-workspace-inbox.js +181 -0
  27. package/dist_ts_web/elements/sdig-workspace/sdig-workspace-placeholder.d.ts +14 -0
  28. package/dist_ts_web/elements/sdig-workspace/sdig-workspace-placeholder.js +84 -0
  29. package/dist_ts_web/elements/sdig-workspace/sdig-workspace-sign.d.ts +18 -0
  30. package/dist_ts_web/elements/sdig-workspace/sdig-workspace-sign.js +152 -0
  31. package/dist_ts_web/elements/sdig-workspace/sdig-workspace.d.ts +31 -0
  32. package/dist_ts_web/elements/sdig-workspace/sdig-workspace.js +245 -0
  33. package/dist_ts_web/elements/sdig-workspace/sdig-workspace.shared.d.ts +53 -0
  34. package/dist_ts_web/elements/sdig-workspace/sdig-workspace.shared.js +385 -0
  35. package/dist_ts_web/index.d.ts +1 -0
  36. package/dist_ts_web/index.js +2 -0
  37. package/dist_ts_web/pages/index.d.ts +2 -0
  38. package/dist_ts_web/pages/index.js +3 -0
  39. package/dist_ts_web/pages/page1.d.ts +1 -0
  40. package/dist_ts_web/pages/page1.js +5 -0
  41. package/dist_ts_web/pages/page2.d.ts +1 -0
  42. package/dist_ts_web/pages/page2.js +5 -0
  43. package/dist_ts_web/plugins.d.ts +3 -0
  44. package/dist_ts_web/plugins.js +5 -0
  45. package/dist_watch/bundle.js +135319 -0
  46. package/dist_watch/bundle.js.map +7 -0
  47. package/dist_watch/index.html +28 -0
  48. package/license +19 -0
  49. package/package.json +63 -0
  50. package/readme.hints.md +31 -0
  51. package/readme.md +172 -0
  52. package/ts_web/00_commitinfo_data.ts +8 -0
  53. package/ts_web/elements/index.ts +6 -0
  54. package/ts_web/elements/sdig-signbox/index.ts +1 -0
  55. package/ts_web/elements/sdig-signbox/sdig-signbox.ts +109 -0
  56. package/ts_web/elements/sdig-signpad/index.ts +1 -0
  57. package/ts_web/elements/sdig-signpad/sdig-signpad.ts +115 -0
  58. package/ts_web/elements/sdig-workspace/index.ts +8 -0
  59. package/ts_web/elements/sdig-workspace/sdig-workspace-audit.ts +37 -0
  60. package/ts_web/elements/sdig-workspace/sdig-workspace-compose.ts +369 -0
  61. package/ts_web/elements/sdig-workspace/sdig-workspace-developers.ts +47 -0
  62. package/ts_web/elements/sdig-workspace/sdig-workspace-inbox.ts +117 -0
  63. package/ts_web/elements/sdig-workspace/sdig-workspace-placeholder.ts +22 -0
  64. package/ts_web/elements/sdig-workspace/sdig-workspace-sign.ts +91 -0
  65. package/ts_web/elements/sdig-workspace/sdig-workspace.shared.ts +440 -0
  66. package/ts_web/elements/sdig-workspace/sdig-workspace.ts +175 -0
  67. package/ts_web/index.ts +1 -0
  68. package/ts_web/pages/index.ts +2 -0
  69. package/ts_web/pages/page1.ts +5 -0
  70. package/ts_web/pages/page2.ts +5 -0
  71. package/ts_web/plugins.ts +8 -0
@@ -0,0 +1,245 @@
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, property, state, html, customElement, css } from '@design.estate/dees-element';
36
+ import { icon } from './sdig-workspace.shared.js';
37
+ import './sdig-workspace-inbox.js';
38
+ import './sdig-workspace-compose.js';
39
+ import './sdig-workspace-sign.js';
40
+ import './sdig-workspace-audit.js';
41
+ import './sdig-workspace-developers.js';
42
+ import './sdig-workspace-placeholder.js';
43
+ let SdigWorkspace = (() => {
44
+ let _classDecorators = [customElement('sdig-workspace')];
45
+ let _classDescriptor;
46
+ let _classExtraInitializers = [];
47
+ let _classThis;
48
+ let _classSuper = DeesElement;
49
+ let _accent_decorators;
50
+ let _accent_initializers = [];
51
+ let _accent_extraInitializers = [];
52
+ let _density_decorators;
53
+ let _density_initializers = [];
54
+ let _density_extraInitializers = [];
55
+ let _theme_decorators;
56
+ let _theme_initializers = [];
57
+ let _theme_extraInitializers = [];
58
+ let _initialView_decorators;
59
+ let _initialView_initializers = [];
60
+ let _initialView_extraInitializers = [];
61
+ let _view_decorators;
62
+ let _view_initializers = [];
63
+ let _view_extraInitializers = [];
64
+ var SdigWorkspace = class extends _classSuper {
65
+ static { _classThis = this; }
66
+ static {
67
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
68
+ _accent_decorators = [property({ type: String })];
69
+ _density_decorators = [property({ type: String })];
70
+ _theme_decorators = [property({ type: String, reflect: true })];
71
+ _initialView_decorators = [property({ type: String })];
72
+ _view_decorators = [state()];
73
+ __esDecorate(this, null, _accent_decorators, { kind: "accessor", name: "accent", static: false, private: false, access: { has: obj => "accent" in obj, get: obj => obj.accent, set: (obj, value) => { obj.accent = value; } }, metadata: _metadata }, _accent_initializers, _accent_extraInitializers);
74
+ __esDecorate(this, null, _density_decorators, { kind: "accessor", name: "density", static: false, private: false, access: { has: obj => "density" in obj, get: obj => obj.density, set: (obj, value) => { obj.density = value; } }, metadata: _metadata }, _density_initializers, _density_extraInitializers);
75
+ __esDecorate(this, null, _theme_decorators, { kind: "accessor", name: "theme", static: false, private: false, access: { has: obj => "theme" in obj, get: obj => obj.theme, set: (obj, value) => { obj.theme = value; } }, metadata: _metadata }, _theme_initializers, _theme_extraInitializers);
76
+ __esDecorate(this, null, _initialView_decorators, { kind: "accessor", name: "initialView", static: false, private: false, access: { has: obj => "initialView" in obj, get: obj => obj.initialView, set: (obj, value) => { obj.initialView = value; } }, metadata: _metadata }, _initialView_initializers, _initialView_extraInitializers);
77
+ __esDecorate(this, null, _view_decorators, { kind: "accessor", name: "view", static: false, private: false, access: { has: obj => "view" in obj, get: obj => obj.view, set: (obj, value) => { obj.view = value; } }, metadata: _metadata }, _view_initializers, _view_extraInitializers);
78
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
79
+ SdigWorkspace = _classThis = _classDescriptor.value;
80
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
81
+ }
82
+ static demo = () => html `<sdig-workspace></sdig-workspace>`;
83
+ static demoGroups = ['Signature Digital Workspace'];
84
+ #accent_accessor_storage = __runInitializers(this, _accent_initializers, '#3b82f6');
85
+ get accent() { return this.#accent_accessor_storage; }
86
+ set accent(value) { this.#accent_accessor_storage = value; }
87
+ #density_accessor_storage = (__runInitializers(this, _accent_extraInitializers), __runInitializers(this, _density_initializers, 'comfortable'));
88
+ get density() { return this.#density_accessor_storage; }
89
+ set density(value) { this.#density_accessor_storage = value; }
90
+ #theme_accessor_storage = (__runInitializers(this, _density_extraInitializers), __runInitializers(this, _theme_initializers, 'dark'));
91
+ get theme() { return this.#theme_accessor_storage; }
92
+ set theme(value) { this.#theme_accessor_storage = value; }
93
+ #initialView_accessor_storage = (__runInitializers(this, _theme_extraInitializers), __runInitializers(this, _initialView_initializers, 'inbox'));
94
+ get initialView() { return this.#initialView_accessor_storage; }
95
+ set initialView(value) { this.#initialView_accessor_storage = value; }
96
+ #view_accessor_storage = (__runInitializers(this, _initialView_extraInitializers), __runInitializers(this, _view_initializers, 'inbox'));
97
+ get view() { return this.#view_accessor_storage; }
98
+ set view(value) { this.#view_accessor_storage = value; }
99
+ connectedCallback = (__runInitializers(this, _view_extraInitializers), async () => {
100
+ await super.connectedCallback();
101
+ this.view = this.initialView || 'inbox';
102
+ this.addEventListener('workspace-view-request', this.handleViewRequest);
103
+ });
104
+ disconnectedCallback = async () => {
105
+ this.removeEventListener('workspace-view-request', this.handleViewRequest);
106
+ await super.disconnectedCallback();
107
+ };
108
+ static styles = css `
109
+ :host {
110
+ display: block;
111
+ width: 100%;
112
+ height: 100%;
113
+ min-height: 720px;
114
+ --accent: #3b82f6;
115
+ --bg: hsl(0 0% 3.9%);
116
+ --bg-el: hsl(0 0% 6%);
117
+ --bg-card: hsl(0 0% 7%);
118
+ --bg-input: hsl(0 0% 9%);
119
+ --border: hsl(0 0% 14.9%);
120
+ --border-subtle: hsl(0 0% 11%);
121
+ --border-strong: hsl(0 0% 20%);
122
+ --text: hsl(0 0% 98%);
123
+ --text-sec: hsl(0 0% 63.9%);
124
+ --text-muted: hsl(0 0% 48%);
125
+ --text-dim: hsl(0 0% 32%);
126
+ --hover: rgba(255,255,255,0.06);
127
+ --hover-subtle: rgba(255,255,255,0.03);
128
+ --row-hover: rgba(255,255,255,0.025);
129
+ --success: #22c55e;
130
+ --warning: #f59e0b;
131
+ --error: #ef4444;
132
+ font-family: Geist, Inter, Roboto, -apple-system, BlinkMacSystemFont, sans-serif;
133
+ }
134
+
135
+ :host([theme='light']) {
136
+ --bg: hsl(0 0% 99%);
137
+ --bg-el: hsl(0 0% 97%);
138
+ --bg-card: hsl(0 0% 100%);
139
+ --bg-input: hsl(0 0% 98%);
140
+ --border: hsl(0 0% 90%);
141
+ --border-subtle: hsl(0 0% 93%);
142
+ --border-strong: hsl(0 0% 80%);
143
+ --text: hsl(0 0% 9%);
144
+ --text-sec: hsl(0 0% 32%);
145
+ --text-muted: hsl(0 0% 45%);
146
+ --text-dim: hsl(0 0% 62%);
147
+ --hover: rgba(0,0,0,0.04);
148
+ --hover-subtle: rgba(0,0,0,0.02);
149
+ --row-hover: rgba(0,0,0,0.02);
150
+ --success: #16a34a;
151
+ --warning: #d97706;
152
+ --error: #dc2626;
153
+ }
154
+
155
+ * { box-sizing: border-box; }
156
+ button { font: inherit; border: 0; cursor: pointer; }
157
+ .workspace { display: flex; height: 100%; min-height: 720px; background: var(--bg); color: var(--text); overflow: hidden; }
158
+ .sidebar { width: 220px; background: var(--bg); border-right: 1px solid var(--border-subtle); display: flex; flex-direction: column; flex-shrink: 0; height: 100%; }
159
+ .brand { padding: 14px 16px 12px; display: flex; align-items: center; gap: 8px; }
160
+ .logomark { width: 26px; height: 26px; border-radius: 6px; background: var(--bg-el); border: 1px solid var(--border-strong); display: inline-flex; align-items: center; justify-content: center; font-family: 'Plus Jakarta Sans', Inter, sans-serif; font-size: 13px; font-weight: 700; position: relative; }
161
+ .logomark::after, .wordmark::after { content: ''; display: inline-block; border-radius: 50%; background: var(--accent); }
162
+ .logomark::after { width: 4px; height: 4px; position: absolute; right: 5px; bottom: 5px; }
163
+ .wordmark { font-size: 13px; font-weight: 500; letter-spacing: -0.02em; white-space: nowrap; }
164
+ .wordmark .dot { color: var(--text-muted); }
165
+ .wordmark::after { width: 4px; height: 4px; margin-left: 3px; transform: translateY(-1px); }
166
+ .workspace-card { margin: 0 12px 8px; padding: 7px 10px; background: var(--bg-el); border: 1px solid var(--border-subtle); border-radius: 6px; display: flex; align-items: center; gap: 8px; }
167
+ .workspace-badge { width: 18px; height: 18px; border-radius: 4px; background: linear-gradient(135deg, var(--accent), hsl(280 70% 60%)); color: white; font-size: 10px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
168
+ .workspace-name { font-size: 12px; font-weight: 500; line-height: 1.2; }
169
+ .workspace-plan { font-size: 10px; color: var(--text-muted); }
170
+ .nav-block { padding: 4px 0; }
171
+ .nav-item { display: flex; align-items: center; gap: 10px; padding: 7px 10px; margin: 1px 8px; border-radius: 6px; color: var(--text-muted); background: transparent; transition: all 0.1s ease; font-size: 13px; position: relative; width: calc(100% - 16px); text-align: left; }
172
+ .compact .nav-item { padding: 5px 10px; }
173
+ .nav-item:hover { background: var(--hover-subtle); color: var(--text-sec); }
174
+ .nav-item.active { background: var(--hover); color: var(--text); font-weight: 500; }
175
+ .nav-item.active::before { content: ''; position: absolute; left: -8px; width: 2px; height: 14px; border-radius: 2px; background: var(--accent); }
176
+ .nav-count { margin-left: auto; min-width: 18px; padding: 1px 6px; border-radius: 999px; background: var(--bg-el); color: var(--text-muted); font-size: 10px; text-align: center; }
177
+ .github-card { margin: 8px 12px; padding: 10px; border: 1px solid var(--border-subtle); border-radius: 6px; background: var(--bg-el); }
178
+ .sparkline { margin-top: 8px; display: flex; gap: 2px; align-items: flex-end; height: 18px; }
179
+ .sparkline span { flex: 1; background: var(--border-strong); border-radius: 1px; }
180
+ .sparkline span:nth-last-child(-n+4) { background: var(--accent); }
181
+ .user-card { padding: 8px 12px; border-top: 1px solid var(--border-subtle); display: flex; align-items: center; gap: 10px; }
182
+ .avatar { width: 26px; height: 26px; border-radius: 50%; background: var(--accent); color: white; font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
183
+ .main { flex: 1; min-width: 0; display: flex; flex-direction: column; overflow: hidden; }
184
+ .view-host { flex: 1; min-height: 0; display: flex; flex-direction: column; }
185
+ .statusbar { height: 24px; flex-shrink: 0; border-top: 1px solid var(--border-subtle); background: var(--bg); display: flex; align-items: center; padding: 0 16px; gap: 16px; font-size: 10px; color: var(--text-dim); font-family: 'Intel One Mono', ui-monospace, SFMono-Regular, Menlo, monospace; }
186
+ @media (max-width: 920px) { .workspace { flex-direction: column; min-height: 100vh; } .sidebar { width: 100%; height: auto; border-right: 0; border-bottom: 1px solid var(--border-subtle); } .brand, .workspace-card, .github-card, .user-card { display: none; } .nav-block { display: flex; overflow-x: auto; padding: 8px; } .nav-item { width: auto; margin: 0 2px; } .statusbar { display: none; } }
187
+ `;
188
+ handleViewRequest = (event) => {
189
+ this.setView(event.detail.view);
190
+ };
191
+ setView(viewArg) {
192
+ this.view = viewArg;
193
+ this.dispatchEvent(new CustomEvent('view-change', { detail: { view: viewArg }, bubbles: true, composed: true }));
194
+ }
195
+ navButton(item) {
196
+ return html `<button class="nav-item ${this.view === item.id ? 'active' : ''}" @click=${() => this.setView(item.id)}>${icon(item.icon, 15)}<span>${item.label}</span>${item.count !== undefined ? html `<span class="nav-count">${item.count}</span>` : ''}</button>`;
197
+ }
198
+ renderSidebar() {
199
+ const navItems = [
200
+ { id: 'inbox', label: 'Inbox', icon: 'inbox', count: 4 },
201
+ { id: 'compose', label: 'Compose', icon: 'plus' },
202
+ { id: 'templates', label: 'Templates', icon: 'folder', count: 12 },
203
+ { id: 'audit', label: 'Audit Trail', icon: 'shield' },
204
+ { id: 'developers', label: 'Developers', icon: 'code' },
205
+ ];
206
+ const lowerItems = [
207
+ { id: 'team', label: 'Team', icon: 'user' },
208
+ { id: 'settings', label: 'Settings', icon: 'settings' },
209
+ ];
210
+ return html `
211
+ <aside class="sidebar">
212
+ <div class="brand"><span class="logomark">s</span><span class="wordmark">signature<span class="dot">.</span>digital</span></div>
213
+ <div class="workspace-card"><span class="workspace-badge">L</span><div style="flex: 1; min-width: 0;"><div class="workspace-name">Lossless GmbH</div><div class="workspace-plan">Cloud · Pro</div></div>${icon('chevronDown', 12)}</div>
214
+ <div class="nav-block">${navItems.map((item) => this.navButton(item))}</div>
215
+ <div style="flex: 1;"></div>
216
+ <div class="github-card"><div style="display: flex; align-items: center; gap: 6px; margin-bottom: 8px; font-size: 11px; color: var(--text-sec); font-family: 'Intel One Mono', ui-monospace;">${icon('github', 13)} signature-digital/core</div><div style="display: flex; gap: 12px; font-size: 11px; color: var(--text-muted);"><span>${icon('star', 11)} 8.2k</span><span>${icon('git', 11)} 248</span></div><div class="sparkline">${[3, 5, 2, 7, 4, 6, 8, 5, 9, 6, 4, 8, 7, 10].map((height) => html `<span style="height: ${height * 10}%"></span>`)}</div></div>
217
+ <div class="nav-block" style="border-top: 1px solid var(--border-subtle); padding-top: 8px;">${lowerItems.map((item) => this.navButton(item))}</div>
218
+ <div class="user-card"><span class="avatar">PK</span><div style="flex: 1; min-width: 0;"><div style="font-size: 12px; font-weight: 500;">Philipp K.</div><div style="font-family: 'Intel One Mono', ui-monospace; font-size: 10px; color: var(--text-muted); overflow: hidden; text-overflow: ellipsis;">philipp@lossless.com</div></div>${icon('more', 14)}</div>
219
+ </aside>
220
+ `;
221
+ }
222
+ renderView() {
223
+ switch (this.view) {
224
+ case 'inbox': return html `<sdig-workspace-inbox class="view-host" .density=${this.density}></sdig-workspace-inbox>`;
225
+ case 'compose': return html `<sdig-workspace-compose class="view-host"></sdig-workspace-compose>`;
226
+ case 'sign': return html `<sdig-workspace-sign class="view-host"></sdig-workspace-sign>`;
227
+ case 'audit': return html `<sdig-workspace-audit class="view-host"></sdig-workspace-audit>`;
228
+ case 'developers': return html `<sdig-workspace-developers class="view-host"></sdig-workspace-developers>`;
229
+ case 'templates': return html `<sdig-workspace-placeholder class="view-host" label="Templates" subtitle="Reusable agreement templates"></sdig-workspace-placeholder>`;
230
+ case 'team': return html `<sdig-workspace-placeholder class="view-host" label="Team" subtitle="Workspace members & roles"></sdig-workspace-placeholder>`;
231
+ case 'settings': return html `<sdig-workspace-placeholder class="view-host" label="Settings" subtitle="Workspace, billing, security"></sdig-workspace-placeholder>`;
232
+ default: return html `<sdig-workspace-inbox class="view-host" .density=${this.density}></sdig-workspace-inbox>`;
233
+ }
234
+ }
235
+ render() {
236
+ return html `<div class="workspace ${this.density === 'compact' ? 'compact' : ''}" style="--accent: ${this.accent};" data-screen-label=${this.view}>${this.renderSidebar()}<main class="main">${this.renderView()}<div class="statusbar"><span style="display: inline-flex; align-items: center; gap: 5px;"><span style="width: 6px; height: 6px; border-radius: 50%; background: var(--success);"></span>api.signature.digital</span><span>eu-central-1</span><span>4 sigs queued</span><div style="flex: 1;"></div><span style="color: var(--accent);">Open Source · MIT</span><span>v0.42.1</span><span>${icon('git', 11)} main</span></div></main></div>`;
237
+ }
238
+ static {
239
+ __runInitializers(_classThis, _classExtraInitializers);
240
+ }
241
+ };
242
+ return SdigWorkspace = _classThis;
243
+ })();
244
+ export { SdigWorkspace };
245
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2RpZy13b3Jrc3BhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90c193ZWIvZWxlbWVudHMvc2RpZy13b3Jrc3BhY2Uvc2RpZy13b3Jrc3BhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUF1QixHQUFHLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxSCxPQUFPLEVBQUUsSUFBSSxFQUE0RCxNQUFNLDRCQUE0QixDQUFDO0FBQzVHLE9BQU8sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLGlDQUFpQyxDQUFDO0lBUzVCLGFBQWE7NEJBRHpCLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQzs7OztzQkFDRyxXQUFXOzs7Ozs7Ozs7Ozs7Ozs7OzZCQUFuQixTQUFRLFdBQVc7Ozs7a0NBSTNDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQzttQ0FDMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO2lDQUMxQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQzt1Q0FDekMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO2dDQUMxQixLQUFLLEVBQUU7WUFKb0IsdUtBQWdCLE1BQU0sNkJBQU4sTUFBTSx1RkFBcUI7WUFDM0MsMEtBQWdCLE9BQU8sNkJBQVAsT0FBTyx5RkFBMkI7WUFDbkMsb0tBQWdCLEtBQUssNkJBQUwsS0FBSyxxRkFBMkI7WUFDL0Qsc0xBQWdCLFdBQVcs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
@@ -0,0 +1,53 @@
1
+ import { type TemplateResult } from '@design.estate/dees-element';
2
+ import '@design.estate/dees-catalog/ts_web/elements/00group-utility/dees-icon/dees-icon.js';
3
+ export type TWorkspaceView = 'inbox' | 'compose' | 'sign' | 'audit' | 'developers' | 'templates' | 'team' | 'settings';
4
+ export type TWorkspaceTheme = 'dark' | 'light';
5
+ export type TDensity = 'compact' | 'comfortable';
6
+ export interface IDocumentRow {
7
+ id: string;
8
+ title: string;
9
+ status: 'awaiting' | 'signed' | 'draft' | 'declined';
10
+ recipients: Array<{
11
+ name: string;
12
+ initials: string;
13
+ signed: boolean;
14
+ }>;
15
+ updated: string;
16
+ sender: string;
17
+ pages: number;
18
+ deadline?: string;
19
+ }
20
+ export interface IRecipient {
21
+ id: number;
22
+ name: string;
23
+ email: string;
24
+ color: string;
25
+ order: number;
26
+ }
27
+ export interface IFieldPlacement {
28
+ id: string;
29
+ type: 'signature' | 'date' | 'text' | 'initials' | 'check';
30
+ x: number;
31
+ y: number;
32
+ w: number;
33
+ h: number;
34
+ page: number;
35
+ recipient: number;
36
+ label: string;
37
+ }
38
+ export declare const demoDocuments: IDocumentRow[];
39
+ export declare const demoRecipients: IRecipient[];
40
+ export declare const demoFields: IFieldPlacement[];
41
+ export declare const workspaceBaseStyles: import("@design.estate/dees-element").CSSResult;
42
+ export declare function icon(name: string, size?: number): TemplateResult;
43
+ export declare function pill(label: string, tone?: 'default' | 'success' | 'warning' | 'error' | 'info', dot?: boolean): TemplateResult;
44
+ export declare function actionButton(label: string, variant?: 'primary' | 'outline' | 'ghost', iconName?: string, onClick?: () => void): TemplateResult;
45
+ export declare function topBar(config: {
46
+ breadcrumb: string[];
47
+ title: string;
48
+ subtitle?: TemplateResult;
49
+ actions?: TemplateResult;
50
+ }): TemplateResult;
51
+ export declare function workspaceDemoFrame(content: TemplateResult, theme?: TWorkspaceTheme): TemplateResult;
52
+ export declare function fakeDocument(): TemplateResult;
53
+ export declare function requestWorkspaceView(element: HTMLElement, view: TWorkspaceView): void;