@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.
- package/.xpertai-plugin/plugin.json +118 -0
- package/README.md +5 -0
- package/assets/composerIcon.svg +5 -0
- package/assets/logo.svg +10 -0
- package/dist/docs/lucidchart-agent-skill.md +46 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +153 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/constants.d.ts +25 -0
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/lib/constants.js +44 -0
- package/dist/lib/constants.js.map +1 -0
- package/dist/lib/entities/index.d.ts +4 -0
- package/dist/lib/entities/index.d.ts.map +1 -0
- package/dist/lib/entities/index.js +4 -0
- package/dist/lib/entities/index.js.map +1 -0
- package/dist/lib/entities/lucidchart-action-log.entity.d.ts +18 -0
- package/dist/lib/entities/lucidchart-action-log.entity.d.ts.map +1 -0
- package/dist/lib/entities/lucidchart-action-log.entity.js +69 -0
- package/dist/lib/entities/lucidchart-action-log.entity.js.map +1 -0
- package/dist/lib/entities/lucidchart-document-version.entity.d.ts +26 -0
- package/dist/lib/entities/lucidchart-document-version.entity.d.ts.map +1 -0
- package/dist/lib/entities/lucidchart-document-version.entity.js +102 -0
- package/dist/lib/entities/lucidchart-document-version.entity.js.map +1 -0
- package/dist/lib/entities/lucidchart-document.entity.d.ts +30 -0
- package/dist/lib/entities/lucidchart-document.entity.d.ts.map +1 -0
- package/dist/lib/entities/lucidchart-document.entity.js +118 -0
- package/dist/lib/entities/lucidchart-document.entity.js.map +1 -0
- package/dist/lib/lucidchart-view.provider.d.ts +14 -0
- package/dist/lib/lucidchart-view.provider.d.ts.map +1 -0
- package/dist/lib/lucidchart-view.provider.js +460 -0
- package/dist/lib/lucidchart-view.provider.js.map +1 -0
- package/dist/lib/lucidchart.middleware.d.ts +10 -0
- package/dist/lib/lucidchart.middleware.d.ts.map +1 -0
- package/dist/lib/lucidchart.middleware.js +193 -0
- package/dist/lib/lucidchart.middleware.js.map +1 -0
- package/dist/lib/lucidchart.plugin.d.ts +8 -0
- package/dist/lib/lucidchart.plugin.d.ts.map +1 -0
- package/dist/lib/lucidchart.plugin.js +27 -0
- package/dist/lib/lucidchart.plugin.js.map +1 -0
- package/dist/lib/lucidchart.service.d.ts +208 -0
- package/dist/lib/lucidchart.service.d.ts.map +1 -0
- package/dist/lib/lucidchart.service.js +548 -0
- package/dist/lib/lucidchart.service.js.map +1 -0
- package/dist/lib/lucidchart.templates.d.ts +3 -0
- package/dist/lib/lucidchart.templates.d.ts.map +1 -0
- package/dist/lib/lucidchart.templates.js +78 -0
- package/dist/lib/lucidchart.templates.js.map +1 -0
- package/dist/lib/remote-components/lucidchart-workbench/app.css +0 -0
- package/dist/lib/remote-components/lucidchart-workbench/app.js +1245 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/i18n.d.ts +3 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/i18n.d.ts.map +1 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/i18n.js +115 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/i18n.js.map +1 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/i18n.ts +169 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/main.tsx +1514 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-client-shim.d.ts +3 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-client-shim.d.ts.map +1 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-client-shim.js +4 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-client-shim.js.map +1 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-client-shim.ts +4 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-shim.d.ts +11 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-shim.d.ts.map +1 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-shim.js +11 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-shim.js.map +1 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/react-dom-shim.ts +11 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/react-jsx-runtime-shim.d.ts +5 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/react-jsx-runtime-shim.d.ts.map +1 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/react-jsx-runtime-shim.js +8 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/react-jsx-runtime-shim.js.map +1 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/react-jsx-runtime-shim.ts +8 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/react-shim.d.ts +36 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/react-shim.d.ts.map +1 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/react-shim.js +36 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/react-shim.js.map +1 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/react-shim.ts +36 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/runtime.d.ts +21 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/runtime.d.ts.map +1 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/runtime.js +198 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/runtime.js.map +1 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/runtime.ts +228 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/styles.d.ts +2 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/styles.d.ts.map +1 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/styles.js +383 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/styles.js.map +1 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/styles.ts +382 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/vendor.d.ts +4 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/vendor.d.ts.map +1 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/vendor.js +4 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/vendor.js.map +1 -0
- package/dist/lib/remote-components/lucidchart-workbench/src/vendor.ts +3 -0
- package/dist/lib/types.d.ts +87 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +2 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/xpert-lucidchart-assistant.yaml +137 -0
- package/package.json +85 -0
- package/skills/index/SKILL.md +46 -0
- 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 @@
|
|
|
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"}
|