@xpert-ai/plugin-lucidchart 0.1.1 → 0.2.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 (42) hide show
  1. package/.xpertai-plugin/plugin.json +1 -1
  2. package/dist/index.js +153 -0
  3. package/dist/index.js.map +1 -0
  4. package/dist/lib/constants.js +44 -0
  5. package/dist/lib/constants.js.map +1 -0
  6. package/dist/lib/entities/index.js +4 -0
  7. package/dist/lib/entities/index.js.map +1 -0
  8. package/dist/lib/entities/lucidchart-action-log.entity.js +69 -0
  9. package/dist/lib/entities/lucidchart-action-log.entity.js.map +1 -0
  10. package/dist/lib/entities/lucidchart-document-version.entity.js +102 -0
  11. package/dist/lib/entities/lucidchart-document-version.entity.js.map +1 -0
  12. package/dist/lib/entities/lucidchart-document.entity.js +118 -0
  13. package/dist/lib/entities/lucidchart-document.entity.js.map +1 -0
  14. package/dist/lib/lucidchart-view.provider.js +460 -0
  15. package/dist/lib/lucidchart-view.provider.js.map +1 -0
  16. package/dist/lib/lucidchart.middleware.js +193 -0
  17. package/dist/lib/lucidchart.middleware.js.map +1 -0
  18. package/dist/lib/lucidchart.plugin.js +27 -0
  19. package/dist/lib/lucidchart.plugin.js.map +1 -0
  20. package/dist/lib/lucidchart.service.js +548 -0
  21. package/dist/lib/lucidchart.service.js.map +1 -0
  22. package/dist/lib/lucidchart.templates.js +78 -0
  23. package/dist/lib/lucidchart.templates.js.map +1 -0
  24. package/dist/lib/remote-components/lucidchart-workbench/src/i18n.js +115 -0
  25. package/dist/lib/remote-components/lucidchart-workbench/src/i18n.js.map +1 -0
  26. package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-client-shim.js +4 -0
  27. package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-client-shim.js.map +1 -0
  28. package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-shim.js +11 -0
  29. package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-shim.js.map +1 -0
  30. package/dist/lib/remote-components/lucidchart-workbench/src/react-jsx-runtime-shim.js +8 -0
  31. package/dist/lib/remote-components/lucidchart-workbench/src/react-jsx-runtime-shim.js.map +1 -0
  32. package/dist/lib/remote-components/lucidchart-workbench/src/react-shim.js +36 -0
  33. package/dist/lib/remote-components/lucidchart-workbench/src/react-shim.js.map +1 -0
  34. package/dist/lib/remote-components/lucidchart-workbench/src/runtime.js +198 -0
  35. package/dist/lib/remote-components/lucidchart-workbench/src/runtime.js.map +1 -0
  36. package/dist/lib/remote-components/lucidchart-workbench/src/styles.js +383 -0
  37. package/dist/lib/remote-components/lucidchart-workbench/src/styles.js.map +1 -0
  38. package/dist/lib/remote-components/lucidchart-workbench/src/vendor.js +4 -0
  39. package/dist/lib/remote-components/lucidchart-workbench/src/vendor.js.map +1 -0
  40. package/dist/lib/types.js +2 -0
  41. package/dist/lib/types.js.map +1 -0
  42. package/package.json +1 -1
@@ -0,0 +1,383 @@
1
+ export function injectStyles() {
2
+ if (document.getElementById('lucidchart-workbench-styles')) {
3
+ return;
4
+ }
5
+ const style = document.createElement('style');
6
+ style.id = 'lucidchart-workbench-styles';
7
+ style.textContent = `
8
+ html, body, #root {
9
+ width: 100%;
10
+ height: 100%;
11
+ min-height: 100%;
12
+ margin: 0;
13
+ overflow: hidden;
14
+ background: var(--xps-background);
15
+ color: var(--xps-foreground);
16
+ font-family: var(--xps-font-sans);
17
+ }
18
+ * { box-sizing: border-box; }
19
+ button, input, textarea { font: inherit; }
20
+ .lw-shell {
21
+ --lw-rail-width: var(--xps-sidebar-rail-width, 44px);
22
+ --lw-panel-header-height: 2.5rem;
23
+ --lw-left-width: minmax(var(--lw-rail-width), clamp(240px, 20vw, 300px));
24
+ --lw-right-width: var(--lw-rail-width);
25
+ --lw-right-panel-width: min(360px, calc(100vw - var(--lw-rail-width) - 96px));
26
+ width: 100%;
27
+ height: 100vh;
28
+ min-height: 720px;
29
+ display: grid;
30
+ grid-template-columns: var(--lw-left-width) minmax(0, 1fr) var(--lw-right-width);
31
+ background: var(--xps-background);
32
+ overflow: hidden;
33
+ transition: grid-template-columns 160ms ease;
34
+ }
35
+ .lw-shell.left-collapsed { --lw-left-width: var(--lw-rail-width); }
36
+ .lw-shell.right-collapsed { --lw-right-width: var(--lw-rail-width); }
37
+ .lw-sidebar, .lw-inspector {
38
+ min-width: 0;
39
+ height: 100vh;
40
+ min-height: 720px;
41
+ }
42
+ .lw-inspector.xps-sidebar {
43
+ position: relative;
44
+ z-index: 30;
45
+ overflow: visible;
46
+ }
47
+ .lw-inspector[aria-expanded="true"] > .xps-sidebar-header,
48
+ .lw-inspector[aria-expanded="true"] > .xps-sidebar-content {
49
+ position: absolute;
50
+ right: 0;
51
+ width: var(--lw-right-panel-width);
52
+ max-width: calc(100vw - 16px);
53
+ z-index: 31;
54
+ background: var(--xps-card);
55
+ border-left: 1px solid var(--xps-border);
56
+ border-right: 1px solid var(--xps-border);
57
+ box-shadow: -12px 0 28px color-mix(in srgb, var(--xps-foreground) 14%, transparent);
58
+ }
59
+ .lw-inspector[aria-expanded="true"] > .xps-sidebar-header {
60
+ top: 0;
61
+ min-height: var(--lw-panel-header-height);
62
+ border-bottom: 1px solid var(--xps-border);
63
+ }
64
+ .lw-inspector[aria-expanded="true"] > .xps-sidebar-content {
65
+ top: var(--lw-panel-header-height);
66
+ bottom: 0;
67
+ min-height: 0;
68
+ overflow: hidden;
69
+ }
70
+ .lw-main {
71
+ min-width: 0;
72
+ height: 100vh;
73
+ min-height: 720px;
74
+ display: grid;
75
+ grid-template-rows: auto minmax(0, 1fr);
76
+ background: var(--xps-background);
77
+ }
78
+ .lw-toolbar {
79
+ display: grid;
80
+ grid-template-columns: minmax(160px, 240px) minmax(0, 1fr);
81
+ align-items: center;
82
+ gap: 8px 10px;
83
+ min-height: 48px;
84
+ padding: 8px 12px;
85
+ background: var(--xps-card);
86
+ border-bottom: 1px solid var(--xps-border);
87
+ min-width: 0;
88
+ overflow: visible;
89
+ }
90
+ .lw-toolbar-title { min-width: 0; }
91
+ .lw-toolbar-actions {
92
+ min-width: 0;
93
+ display: flex;
94
+ flex-wrap: wrap;
95
+ align-items: center;
96
+ gap: 8px;
97
+ }
98
+ .lw-toolbar-actions .xps-button,
99
+ .lw-toolbar-actions .xps-badge { flex: 0 0 auto; }
100
+ .lw-title-input { width: 100%; }
101
+ .lw-button-icon {
102
+ width: 1rem;
103
+ height: 1rem;
104
+ flex: 0 0 auto;
105
+ stroke-width: 2;
106
+ }
107
+ .lw-list {
108
+ flex: 1 1 auto;
109
+ min-height: 0;
110
+ padding: 6px;
111
+ }
112
+ .lw-item-title {
113
+ display: block;
114
+ width: 100%;
115
+ color: var(--xps-foreground);
116
+ font-weight: 650;
117
+ overflow: hidden;
118
+ text-overflow: ellipsis;
119
+ white-space: nowrap;
120
+ }
121
+ .lw-item-meta, .lw-muted {
122
+ color: var(--xps-muted-foreground);
123
+ font-size: 12px;
124
+ min-width: 0;
125
+ overflow: hidden;
126
+ text-overflow: ellipsis;
127
+ white-space: nowrap;
128
+ }
129
+ .lw-sidebar-controls {
130
+ padding: 8px;
131
+ display: flex;
132
+ flex-direction: column;
133
+ gap: 8px;
134
+ border-bottom: 1px solid var(--xps-border);
135
+ }
136
+ .lw-stage {
137
+ min-height: 0;
138
+ height: 100%;
139
+ display: grid;
140
+ grid-template-rows: minmax(0, 1fr);
141
+ background: var(--xps-background);
142
+ overflow: hidden;
143
+ }
144
+ .lw-editor-pane {
145
+ min-height: 0;
146
+ height: 100%;
147
+ display: grid;
148
+ grid-template-rows: auto minmax(160px, 34vh) minmax(0, 1fr);
149
+ gap: 10px;
150
+ padding: 12px;
151
+ overflow: hidden;
152
+ }
153
+ .lw-editor-header {
154
+ display: flex;
155
+ align-items: center;
156
+ gap: 8px;
157
+ min-width: 0;
158
+ }
159
+ .lw-editor-header .xps-badge:last-child {
160
+ margin-left: auto;
161
+ }
162
+ .lw-visual-frame {
163
+ min-height: 0;
164
+ border: 1px solid var(--xps-border);
165
+ border-radius: var(--xps-radius);
166
+ background: var(--xps-card);
167
+ overflow: hidden;
168
+ position: relative;
169
+ }
170
+ .lw-visual-frame iframe,
171
+ .lw-visual-frame img {
172
+ width: 100%;
173
+ height: 100%;
174
+ border: 0;
175
+ display: block;
176
+ background: #fff;
177
+ }
178
+ .lw-visual-frame img {
179
+ object-fit: contain;
180
+ background: var(--xps-background);
181
+ }
182
+ .lw-embed-empty {
183
+ height: 100%;
184
+ display: flex;
185
+ align-items: center;
186
+ justify-content: center;
187
+ padding: 16px;
188
+ color: var(--xps-muted-foreground);
189
+ text-align: center;
190
+ }
191
+ .lw-standard-preview {
192
+ width: 100%;
193
+ height: 100%;
194
+ min-height: 0;
195
+ overflow: auto;
196
+ background:
197
+ linear-gradient(color-mix(in srgb, var(--xps-border) 36%, transparent) 1px, transparent 1px),
198
+ linear-gradient(90deg, color-mix(in srgb, var(--xps-border) 36%, transparent) 1px, transparent 1px),
199
+ var(--xps-background);
200
+ background-size: 24px 24px;
201
+ }
202
+ .lw-standard-preview svg {
203
+ display: block;
204
+ width: 100%;
205
+ min-width: 680px;
206
+ height: 100%;
207
+ min-height: 260px;
208
+ }
209
+ .lw-preview-shape {
210
+ filter: drop-shadow(0 5px 14px color-mix(in srgb, var(--xps-foreground) 10%, transparent));
211
+ }
212
+ .lw-preview-label {
213
+ fill: var(--xps-foreground);
214
+ font-family: var(--xps-font-sans);
215
+ font-size: 12px;
216
+ font-weight: 600;
217
+ pointer-events: none;
218
+ }
219
+ .lw-preview-line-label {
220
+ fill: var(--xps-muted-foreground);
221
+ font-family: var(--xps-font-sans);
222
+ font-size: 11px;
223
+ font-weight: 600;
224
+ paint-order: stroke;
225
+ stroke: var(--xps-background);
226
+ stroke-width: 4px;
227
+ stroke-linejoin: round;
228
+ pointer-events: none;
229
+ }
230
+ .lw-json-editor.xps-textarea {
231
+ min-height: 0;
232
+ height: 100%;
233
+ resize: none;
234
+ font-family: var(--xps-font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);
235
+ font-size: 12px;
236
+ line-height: 1.55;
237
+ tab-size: 2;
238
+ white-space: pre;
239
+ overflow: auto;
240
+ }
241
+ .lw-status {
242
+ margin-left: auto;
243
+ flex: 0 0 auto;
244
+ }
245
+ .lw-sidebar-title-truncate {
246
+ flex: 1 1 auto;
247
+ overflow: hidden;
248
+ text-overflow: ellipsis;
249
+ white-space: nowrap;
250
+ }
251
+ .lw-sidebar-trigger-right { margin-left: auto; }
252
+ .lw-inspector-actions {
253
+ min-width: 0;
254
+ flex: 0 0 auto;
255
+ display: flex;
256
+ align-items: center;
257
+ gap: 6px;
258
+ }
259
+ .lw-inspector-actions .xps-button,
260
+ .lw-inspector-actions .xps-badge {
261
+ flex: 0 0 auto;
262
+ white-space: nowrap;
263
+ }
264
+ .lw-inspector-scroll {
265
+ min-height: 0;
266
+ height: 100%;
267
+ flex: 1 1 auto;
268
+ }
269
+ .lw-inspector-stack {
270
+ padding: 10px 12px 10px 10px;
271
+ display: flex;
272
+ flex-direction: column;
273
+ gap: 10px;
274
+ min-width: 0;
275
+ max-width: 100%;
276
+ }
277
+ .lw-section {
278
+ display: flex;
279
+ flex-direction: column;
280
+ gap: 8px;
281
+ min-width: 0;
282
+ max-width: 100%;
283
+ }
284
+ .lw-section-title {
285
+ font-size: 13px;
286
+ font-weight: 700;
287
+ color: var(--xps-foreground);
288
+ }
289
+ .lw-inline-actions {
290
+ display: flex;
291
+ flex-wrap: wrap;
292
+ gap: 8px;
293
+ }
294
+ .lw-version {
295
+ border: 1px solid var(--xps-border);
296
+ border-radius: var(--xps-radius);
297
+ background: color-mix(in srgb, var(--xps-card) 94%, var(--xps-muted) 6%);
298
+ padding: 8px;
299
+ display: grid;
300
+ grid-template-columns: minmax(0, 1fr) var(--xps-control-height);
301
+ align-items: center;
302
+ gap: 8px;
303
+ width: 100%;
304
+ min-width: 0;
305
+ overflow: hidden;
306
+ }
307
+ .lw-version > div {
308
+ min-width: 0;
309
+ overflow: hidden;
310
+ }
311
+ .lw-version > div > div {
312
+ min-width: 0;
313
+ overflow: hidden;
314
+ text-overflow: ellipsis;
315
+ white-space: nowrap;
316
+ }
317
+ .lw-version-action.xps-button {
318
+ width: var(--xps-control-height);
319
+ height: var(--xps-control-height);
320
+ padding: 0;
321
+ justify-self: end;
322
+ }
323
+ .lw-inspector .xps-input,
324
+ .lw-inspector .xps-textarea,
325
+ .lw-inspector .xps-scroll-area,
326
+ .lw-inspector .xps-scroll-area-viewport {
327
+ min-width: 0;
328
+ max-width: 100%;
329
+ }
330
+ .lw-inspector .xps-textarea {
331
+ overflow-x: hidden;
332
+ overflow-wrap: anywhere;
333
+ word-break: break-word;
334
+ }
335
+ .lw-inspector .lw-muted {
336
+ overflow: visible;
337
+ text-overflow: clip;
338
+ white-space: normal;
339
+ overflow-wrap: anywhere;
340
+ }
341
+ .lw-empty {
342
+ height: 100%;
343
+ display: flex;
344
+ align-items: center;
345
+ justify-content: center;
346
+ color: var(--xps-muted-foreground);
347
+ }
348
+ .lw-hidden-file { display: none; }
349
+ @media (max-width: 1040px) {
350
+ .lw-shell,
351
+ .lw-shell.left-collapsed,
352
+ .lw-shell.right-collapsed {
353
+ --lw-left-width: var(--lw-rail-width);
354
+ --lw-right-width: var(--lw-rail-width);
355
+ --lw-right-panel-width: min(320px, calc(100vw - var(--lw-rail-width) - 32px));
356
+ grid-template-columns: var(--lw-left-width) minmax(0, 1fr) var(--lw-right-width);
357
+ }
358
+ .lw-sidebar .xps-sidebar-content,
359
+ .lw-inspector-scroll { display: none; }
360
+ .lw-inspector[aria-expanded="true"] .lw-inspector-scroll { display: block; }
361
+ .lw-sidebar .xps-sidebar-header .xps-sidebar-title,
362
+ .lw-sidebar .xps-sidebar-header .xps-badge,
363
+ .lw-sidebar .xps-sidebar-header .xps-button:not(.xps-sidebar-trigger),
364
+ .lw-inspector[aria-expanded="false"] .xps-sidebar-header .xps-sidebar-title,
365
+ .lw-inspector[aria-expanded="false"] .xps-sidebar-header .xps-badge,
366
+ .lw-inspector[aria-expanded="false"] .xps-sidebar-header .xps-button:not(.xps-sidebar-trigger) {
367
+ display: none;
368
+ }
369
+ .xps-sidebar-rail { display: flex; }
370
+ }
371
+ @media (max-width: 920px) {
372
+ .lw-toolbar {
373
+ grid-template-columns: minmax(0, 1fr);
374
+ }
375
+ .lw-editor-pane {
376
+ grid-template-rows: auto minmax(120px, 28vh) minmax(0, 1fr);
377
+ }
378
+ .lw-status { margin-left: 0; }
379
+ }
380
+ `;
381
+ document.head.appendChild(style);
382
+ }
383
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../src/lib/remote-components/lucidchart-workbench/src/styles.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY;IAC1B,IAAI,QAAQ,CAAC,cAAc,CAAC,6BAA6B,CAAC,EAAE,CAAC;QAC3D,OAAM;IACR,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IAC7C,KAAK,CAAC,EAAE,GAAG,6BAA6B,CAAA;IACxC,KAAK,CAAC,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqXnB,CAAA;IACD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;AAClC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export const React = window.React;
2
+ export const ReactDOM = window.ReactDOM;
3
+ export const h = React.createElement;
4
+ //# sourceMappingURL=vendor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vendor.js","sourceRoot":"","sources":["../../../../../src/lib/remote-components/lucidchart-workbench/src/vendor.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAAI,MAAc,CAAC,KAAK,CAAA;AAC1C,MAAM,CAAC,MAAM,QAAQ,GAAI,MAAc,CAAC,QAAQ,CAAA;AAChD,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,aAAa,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xpert-ai/plugin-lucidchart",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "Lucidchart app plugin for agent-created Standard Import drafts, Lucid document references, reviewable versions, and a workbench.",
5
5
  "author": {
6
6
  "name": "XpertAI",