@xpert-ai/plugin-lucidchart 0.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 (100) hide show
  1. package/.xpertai-plugin/plugin.json +118 -0
  2. package/README.md +5 -0
  3. package/assets/composerIcon.svg +5 -0
  4. package/assets/logo.svg +10 -0
  5. package/dist/docs/lucidchart-agent-skill.md +46 -0
  6. package/dist/index.d.ts +14 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +153 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/lib/constants.d.ts +25 -0
  11. package/dist/lib/constants.d.ts.map +1 -0
  12. package/dist/lib/constants.js +44 -0
  13. package/dist/lib/constants.js.map +1 -0
  14. package/dist/lib/entities/index.d.ts +4 -0
  15. package/dist/lib/entities/index.d.ts.map +1 -0
  16. package/dist/lib/entities/index.js +4 -0
  17. package/dist/lib/entities/index.js.map +1 -0
  18. package/dist/lib/entities/lucidchart-action-log.entity.d.ts +18 -0
  19. package/dist/lib/entities/lucidchart-action-log.entity.d.ts.map +1 -0
  20. package/dist/lib/entities/lucidchart-action-log.entity.js +69 -0
  21. package/dist/lib/entities/lucidchart-action-log.entity.js.map +1 -0
  22. package/dist/lib/entities/lucidchart-document-version.entity.d.ts +26 -0
  23. package/dist/lib/entities/lucidchart-document-version.entity.d.ts.map +1 -0
  24. package/dist/lib/entities/lucidchart-document-version.entity.js +102 -0
  25. package/dist/lib/entities/lucidchart-document-version.entity.js.map +1 -0
  26. package/dist/lib/entities/lucidchart-document.entity.d.ts +30 -0
  27. package/dist/lib/entities/lucidchart-document.entity.d.ts.map +1 -0
  28. package/dist/lib/entities/lucidchart-document.entity.js +118 -0
  29. package/dist/lib/entities/lucidchart-document.entity.js.map +1 -0
  30. package/dist/lib/lucidchart-view.provider.d.ts +14 -0
  31. package/dist/lib/lucidchart-view.provider.d.ts.map +1 -0
  32. package/dist/lib/lucidchart-view.provider.js +460 -0
  33. package/dist/lib/lucidchart-view.provider.js.map +1 -0
  34. package/dist/lib/lucidchart.middleware.d.ts +10 -0
  35. package/dist/lib/lucidchart.middleware.d.ts.map +1 -0
  36. package/dist/lib/lucidchart.middleware.js +193 -0
  37. package/dist/lib/lucidchart.middleware.js.map +1 -0
  38. package/dist/lib/lucidchart.plugin.d.ts +8 -0
  39. package/dist/lib/lucidchart.plugin.d.ts.map +1 -0
  40. package/dist/lib/lucidchart.plugin.js +27 -0
  41. package/dist/lib/lucidchart.plugin.js.map +1 -0
  42. package/dist/lib/lucidchart.service.d.ts +208 -0
  43. package/dist/lib/lucidchart.service.d.ts.map +1 -0
  44. package/dist/lib/lucidchart.service.js +548 -0
  45. package/dist/lib/lucidchart.service.js.map +1 -0
  46. package/dist/lib/lucidchart.templates.d.ts +3 -0
  47. package/dist/lib/lucidchart.templates.d.ts.map +1 -0
  48. package/dist/lib/lucidchart.templates.js +78 -0
  49. package/dist/lib/lucidchart.templates.js.map +1 -0
  50. package/dist/lib/remote-components/lucidchart-workbench/app.css +0 -0
  51. package/dist/lib/remote-components/lucidchart-workbench/app.js +1245 -0
  52. package/dist/lib/remote-components/lucidchart-workbench/src/i18n.d.ts +3 -0
  53. package/dist/lib/remote-components/lucidchart-workbench/src/i18n.d.ts.map +1 -0
  54. package/dist/lib/remote-components/lucidchart-workbench/src/i18n.js +115 -0
  55. package/dist/lib/remote-components/lucidchart-workbench/src/i18n.js.map +1 -0
  56. package/dist/lib/remote-components/lucidchart-workbench/src/i18n.ts +169 -0
  57. package/dist/lib/remote-components/lucidchart-workbench/src/main.tsx +1514 -0
  58. package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-client-shim.d.ts +3 -0
  59. package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-client-shim.d.ts.map +1 -0
  60. package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-client-shim.js +4 -0
  61. package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-client-shim.js.map +1 -0
  62. package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-client-shim.ts +4 -0
  63. package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-shim.d.ts +11 -0
  64. package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-shim.d.ts.map +1 -0
  65. package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-shim.js +11 -0
  66. package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-shim.js.map +1 -0
  67. package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-shim.ts +11 -0
  68. package/dist/lib/remote-components/lucidchart-workbench/src/react-jsx-runtime-shim.d.ts +5 -0
  69. package/dist/lib/remote-components/lucidchart-workbench/src/react-jsx-runtime-shim.d.ts.map +1 -0
  70. package/dist/lib/remote-components/lucidchart-workbench/src/react-jsx-runtime-shim.js +8 -0
  71. package/dist/lib/remote-components/lucidchart-workbench/src/react-jsx-runtime-shim.js.map +1 -0
  72. package/dist/lib/remote-components/lucidchart-workbench/src/react-jsx-runtime-shim.ts +8 -0
  73. package/dist/lib/remote-components/lucidchart-workbench/src/react-shim.d.ts +36 -0
  74. package/dist/lib/remote-components/lucidchart-workbench/src/react-shim.d.ts.map +1 -0
  75. package/dist/lib/remote-components/lucidchart-workbench/src/react-shim.js +36 -0
  76. package/dist/lib/remote-components/lucidchart-workbench/src/react-shim.js.map +1 -0
  77. package/dist/lib/remote-components/lucidchart-workbench/src/react-shim.ts +36 -0
  78. package/dist/lib/remote-components/lucidchart-workbench/src/runtime.d.ts +21 -0
  79. package/dist/lib/remote-components/lucidchart-workbench/src/runtime.d.ts.map +1 -0
  80. package/dist/lib/remote-components/lucidchart-workbench/src/runtime.js +198 -0
  81. package/dist/lib/remote-components/lucidchart-workbench/src/runtime.js.map +1 -0
  82. package/dist/lib/remote-components/lucidchart-workbench/src/runtime.ts +228 -0
  83. package/dist/lib/remote-components/lucidchart-workbench/src/styles.d.ts +2 -0
  84. package/dist/lib/remote-components/lucidchart-workbench/src/styles.d.ts.map +1 -0
  85. package/dist/lib/remote-components/lucidchart-workbench/src/styles.js +383 -0
  86. package/dist/lib/remote-components/lucidchart-workbench/src/styles.js.map +1 -0
  87. package/dist/lib/remote-components/lucidchart-workbench/src/styles.ts +382 -0
  88. package/dist/lib/remote-components/lucidchart-workbench/src/vendor.d.ts +4 -0
  89. package/dist/lib/remote-components/lucidchart-workbench/src/vendor.d.ts.map +1 -0
  90. package/dist/lib/remote-components/lucidchart-workbench/src/vendor.js +4 -0
  91. package/dist/lib/remote-components/lucidchart-workbench/src/vendor.js.map +1 -0
  92. package/dist/lib/remote-components/lucidchart-workbench/src/vendor.ts +3 -0
  93. package/dist/lib/types.d.ts +87 -0
  94. package/dist/lib/types.d.ts.map +1 -0
  95. package/dist/lib/types.js +2 -0
  96. package/dist/lib/types.js.map +1 -0
  97. package/dist/xpert-lucidchart-assistant.yaml +137 -0
  98. package/package.json +85 -0
  99. package/skills/index/SKILL.md +46 -0
  100. package/skills/index/agents/xpertai.yaml +6 -0
@@ -0,0 +1,228 @@
1
+ const CHANNEL = 'xpertai.remote_component'
2
+ const VERSION = 1
3
+ const pending = new Map<string, { resolve: (value: any) => void; reject: (error: Error) => void }>()
4
+
5
+ let instanceId: string | null = null
6
+ let requestSequence = 0
7
+ let runtimeText = {
8
+ requestTimeout: 'Request timed out',
9
+ remoteRequestFailed: 'Remote request failed',
10
+ unknownError: 'Unknown error'
11
+ }
12
+
13
+ export function isObject(value: unknown): value is Record<string, unknown> {
14
+ return Boolean(value && typeof value === 'object' && !Array.isArray(value))
15
+ }
16
+
17
+ export function post(type: string, body?: Record<string, unknown>, transfer?: Transferable[]) {
18
+ if (!instanceId && type !== 'ready') {
19
+ return
20
+ }
21
+ parent.postMessage(
22
+ Object.assign(
23
+ {
24
+ channel: CHANNEL,
25
+ protocolVersion: VERSION,
26
+ instanceId,
27
+ type
28
+ },
29
+ body || {}
30
+ ),
31
+ '*',
32
+ transfer || []
33
+ )
34
+ }
35
+
36
+ export function request(type: string, body?: Record<string, unknown>, transfer?: Transferable[]): Promise<any> {
37
+ const requestId = String(++requestSequence)
38
+ return new Promise((resolve, reject) => {
39
+ pending.set(requestId, { resolve, reject })
40
+ try {
41
+ post(type, Object.assign({ requestId }, body || {}), transfer)
42
+ } catch (error) {
43
+ pending.delete(requestId)
44
+ reject(error instanceof Error ? error : new Error(runtimeText.remoteRequestFailed))
45
+ return
46
+ }
47
+ setTimeout(() => {
48
+ if (!pending.has(requestId)) {
49
+ return
50
+ }
51
+ pending.delete(requestId)
52
+ reject(new Error(runtimeText.requestTimeout))
53
+ }, 30000)
54
+ })
55
+ }
56
+
57
+ export function requestData(query?: any) {
58
+ return request('requestData', { query: query || {} })
59
+ }
60
+
61
+ export function executeAction(actionKey: string, targetId?: string | null, input?: any, parameters?: any) {
62
+ return request('executeAction', {
63
+ actionKey,
64
+ targetId,
65
+ input,
66
+ parameters
67
+ })
68
+ }
69
+
70
+ export async function executeFileAction(actionKey: string, targetId: string | null, input: any, parameters: any, file: File) {
71
+ const buffer = await file.arrayBuffer()
72
+ return request(
73
+ 'executeFileAction',
74
+ {
75
+ actionKey,
76
+ targetId,
77
+ input,
78
+ parameters,
79
+ file: {
80
+ name: file.name,
81
+ type: file.type,
82
+ size: file.size,
83
+ buffer
84
+ }
85
+ },
86
+ [buffer]
87
+ )
88
+ }
89
+
90
+ export function invokeClientCommand(commandKey: string, payload: any) {
91
+ return request('invokeClientCommand', {
92
+ commandKey,
93
+ payload
94
+ })
95
+ }
96
+
97
+ export function notify(level: 'success' | 'error' | 'info' | 'warning', message: string) {
98
+ post('notify', { level, message })
99
+ }
100
+
101
+ export function reportResize() {
102
+ const height = Math.max(document.body.scrollHeight, document.documentElement.scrollHeight, window.innerHeight || 0, 720)
103
+ post('resize', { height, viewportBound: true })
104
+ }
105
+
106
+ export function getResponsePayload(response: any) {
107
+ if (!response) {
108
+ return null
109
+ }
110
+ if (response.payload !== undefined) {
111
+ return response.payload
112
+ }
113
+ if (response.data !== undefined) {
114
+ return response.data
115
+ }
116
+ if (response.result !== undefined) {
117
+ return response.result
118
+ }
119
+ return response
120
+ }
121
+
122
+ export function resolveMessage(message: any, locale?: unknown): string {
123
+ if (!message) {
124
+ return ''
125
+ }
126
+ if (typeof message === 'string') {
127
+ return message
128
+ }
129
+ if (String(locale || '').toLowerCase().startsWith('en')) {
130
+ return message.en_US || message.en || message.zh_Hans || message.zh_CN || ''
131
+ }
132
+ return message.zh_Hans || message.zh_CN || message.en_US || message.en || ''
133
+ }
134
+
135
+ export function getErrorMessage(error: any): string {
136
+ return error?.message ? error.message : String(error || runtimeText.unknownError)
137
+ }
138
+
139
+ export function setRuntimeText(nextText: Partial<typeof runtimeText>) {
140
+ runtimeText = {
141
+ ...runtimeText,
142
+ ...nextText
143
+ }
144
+ }
145
+
146
+ export function startRemoteBridge(setContext: (context: any) => void, handleHostEvent: (event: any) => void) {
147
+ let currentContext: any = null
148
+
149
+ function applyHostTheme(theme: any) {
150
+ if ((window as any).XpertRemoteUI && typeof (window as any).XpertRemoteUI.applyTheme === 'function') {
151
+ ;(window as any).XpertRemoteUI.applyTheme(theme)
152
+ }
153
+ currentContext = {
154
+ ...(currentContext || {}),
155
+ theme
156
+ }
157
+ setContext(currentContext)
158
+ setTimeout(reportResize, 0)
159
+ }
160
+
161
+ window.addEventListener('message', (event) => {
162
+ const message = event.data
163
+ if (!isObject(message) || message.channel !== CHANNEL || message.protocolVersion !== VERSION) {
164
+ return
165
+ }
166
+
167
+ if (message.type === 'init') {
168
+ instanceId = typeof message.instanceId === 'string' ? message.instanceId : null
169
+ currentContext = {
170
+ manifest: message.manifest,
171
+ payload: message.payload,
172
+ initialQuery: message.initialQuery || {},
173
+ locale: message.locale,
174
+ theme: message.theme
175
+ }
176
+ if ((window as any).XpertRemoteUI && typeof (window as any).XpertRemoteUI.applyTheme === 'function') {
177
+ ;(window as any).XpertRemoteUI.applyTheme(message.theme)
178
+ }
179
+ setContext(currentContext)
180
+ setTimeout(reportResize, 0)
181
+ return
182
+ }
183
+
184
+ if (message.instanceId !== instanceId) {
185
+ return
186
+ }
187
+
188
+ if (isThemeMessage(message)) {
189
+ applyHostTheme(extractThemeFromMessage(message))
190
+ return
191
+ }
192
+
193
+ if (message.type === 'hostEvent') {
194
+ handleHostEvent(message.event)
195
+ return
196
+ }
197
+
198
+ if (message.requestId && pending.has(String(message.requestId))) {
199
+ const item = pending.get(String(message.requestId))
200
+ pending.delete(String(message.requestId))
201
+ if (!item) {
202
+ return
203
+ }
204
+ if (message.type === 'error') {
205
+ item.reject(new Error(String(message.message || runtimeText.remoteRequestFailed)))
206
+ } else {
207
+ item.resolve(message)
208
+ }
209
+ }
210
+ })
211
+ }
212
+
213
+ function isThemeMessage(message: Record<string, unknown>) {
214
+ return ['theme', 'themeChanged', 'theme-change', 'hostThemeChanged', 'host-theme-changed'].includes(String(message.type || ''))
215
+ }
216
+
217
+ function extractThemeFromMessage(message: Record<string, unknown>) {
218
+ if (message.theme !== undefined) {
219
+ return message.theme
220
+ }
221
+ if (isObject(message.payload) && message.payload.theme !== undefined) {
222
+ return message.payload.theme
223
+ }
224
+ if (isObject(message.data) && message.data.theme !== undefined) {
225
+ return message.data.theme
226
+ }
227
+ return message.payload ?? message.data ?? null
228
+ }
@@ -0,0 +1,2 @@
1
+ export declare function injectStyles(): void;
2
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../src/lib/remote-components/lucidchart-workbench/src/styles.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,SA6X3B"}
@@ -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"}