konpeki 0.3.1 → 0.4.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 (167) hide show
  1. package/AGENTS.md +21 -28
  2. package/AUTHORING.md +68 -229
  3. package/CONTRIBUTING.md +10 -23
  4. package/README.md +98 -106
  5. package/SETUP.md +49 -129
  6. package/docs/development.md +43 -256
  7. package/docs/workflow.md +6 -108
  8. package/html/README.md +140 -0
  9. package/html/browser.ts +103 -0
  10. package/html/document.ts +38 -0
  11. package/html/floor.ts +34 -0
  12. package/html/index.html +5 -0
  13. package/html/inspect.ts +313 -0
  14. package/html/preview.css +62 -0
  15. package/html/preview.tsx +463 -0
  16. package/html/review-hints.ts +63 -0
  17. package/html/server.ts +99 -0
  18. package/html/source.ts +104 -0
  19. package/html/starter.ts +6 -0
  20. package/html/theme-authoring.md +176 -0
  21. package/html/theme.md +61 -0
  22. package/index.html +9 -9
  23. package/package.json +21 -37
  24. package/plugin.json +1 -1
  25. package/public/og.png +0 -0
  26. package/runtime/browser-B-29TH1a.mjs +595 -0
  27. package/runtime/floor-Cmk7G3pU.mjs +41 -0
  28. package/runtime/konpeki.mjs +90 -1410
  29. package/runtime/server-BAqC_5WD.mjs +2 -0
  30. package/runtime/server-DfRpfcY9.mjs +205 -0
  31. package/runtime/source-B_Ui9tMp.mjs +141 -0
  32. package/runtime/source-CZQq9GUO.mjs +2 -0
  33. package/skills/konpeki/SKILL.md +88 -172
  34. package/skills/konpeki/assets/blank.html +17 -0
  35. package/skills/konpeki/floor.md +76 -0
  36. package/skills/konpeki/references/cover.md +27 -0
  37. package/skills/konpeki/references/long-document.md +40 -0
  38. package/skills/konpeki/references/one-pager.md +27 -0
  39. package/skills/konpeki/references/patterns.md +118 -0
  40. package/skills/konpeki/references/resume.md +28 -0
  41. package/skills/konpeki/references/slides.md +28 -0
  42. package/skills/konpeki/scripts/ensure-runtime.mjs +10 -31
  43. package/skills/konpeki/scripts/prepare-document.mjs +25 -14
  44. package/src/components/PageBoard.tsx +156 -0
  45. package/src/lib/alignment.ts +21 -0
  46. package/src/lib/page-board.ts +25 -0
  47. package/src/lib/review-position.ts +19 -0
  48. package/src/styles/base.css +1 -10
  49. package/src/styles/feedback.css +2 -1
  50. package/src/styles/shell.css +94 -354
  51. package/theme-base.css +90 -0
  52. package/theme.css +56 -0
  53. package/vite.config.ts +2 -5
  54. package/composition/README.md +0 -156
  55. package/composition/compile.ts +0 -227
  56. package/composition/document.ts +0 -600
  57. package/composition/schema.json +0 -3001
  58. package/composition/schema.ts +0 -437
  59. package/composition/theme-tokens.ts +0 -16
  60. package/composition/types.ts +0 -269
  61. package/composition/validate.ts +0 -226
  62. package/composition/vector.ts +0 -143
  63. package/composition/visualizations.ts +0 -319
  64. package/design/README.md +0 -17
  65. package/design/palettes/README.md +0 -14
  66. package/design/palettes/base.ts +0 -14
  67. package/design/palettes/candidates.ts +0 -19
  68. package/design/palettes/index.ts +0 -78
  69. package/design/review/color-theme.md +0 -44
  70. package/design/review/layout.md +0 -16
  71. package/design/review/text.md +0 -18
  72. package/design/review/typography.md +0 -15
  73. package/design/review/visuals.md +0 -31
  74. package/design/semantic-patterns.md +0 -43
  75. package/design/themes/README.md +0 -40
  76. package/design/themes/index.ts +0 -24
  77. package/design/visual-languages/technical-product.md +0 -17
  78. package/design/visual-review.md +0 -88
  79. package/lib/assets.d.ts +0 -8
  80. package/lib/charts.ts +0 -18
  81. package/lib/contrast.ts +0 -16
  82. package/lib/layouts.ts +0 -50
  83. package/lib/slide.tsx +0 -42
  84. package/lib/taste.ts +0 -17
  85. package/lib/text.tsx +0 -89
  86. package/lib/typeface.ts +0 -44
  87. package/scripts/migrate-react-page.ts +0 -120
  88. package/skills/konpeki/assets/blank.json +0 -23
  89. package/slides/README.md +0 -56
  90. package/slides/architecture/PROMPT.md +0 -31
  91. package/slides/architecture/index.tsx +0 -102
  92. package/slides/article-brief/PROMPT.md +0 -35
  93. package/slides/article-brief/index.tsx +0 -71
  94. package/slides/bar-chart/PROMPT.md +0 -39
  95. package/slides/bar-chart/index.tsx +0 -97
  96. package/slides/comparison/PROMPT.md +0 -29
  97. package/slides/comparison/index.tsx +0 -95
  98. package/slides/decision-memo/PROMPT.md +0 -34
  99. package/slides/decision-memo/index.tsx +0 -85
  100. package/slides/delivery-plan/PROMPT.md +0 -45
  101. package/slides/delivery-plan/index.tsx +0 -105
  102. package/slides/drawing-references.md +0 -32
  103. package/slides/experiment/PROMPT.md +0 -44
  104. package/slides/experiment/index.tsx +0 -127
  105. package/slides/github-cover/PROMPT.md +0 -21
  106. package/slides/github-cover/README.md +0 -21
  107. package/slides/github-cover/author.ts +0 -67
  108. package/slides/github-cover/composition.json +0 -595
  109. package/slides/incident-workflow/PROMPT.md +0 -57
  110. package/slides/incident-workflow/index.tsx +0 -78
  111. package/slides/introducing-konpeki/PROMPT.md +0 -30
  112. package/slides/introducing-konpeki/README.md +0 -44
  113. package/slides/introducing-konpeki/SOURCE.md +0 -19
  114. package/slides/introducing-konpeki/author.ts +0 -165
  115. package/slides/introducing-konpeki/composition.json +0 -3270
  116. package/slides/line-chart/PROMPT.md +0 -40
  117. package/slides/line-chart/index.tsx +0 -72
  118. package/slides/migration/PROMPT.md +0 -38
  119. package/slides/migration/index.tsx +0 -89
  120. package/slides/og-images/PROMPT.md +0 -21
  121. package/slides/og-images/index.tsx +0 -76
  122. package/slides/product-introduction/PROMPT.md +0 -24
  123. package/slides/product-introduction/index.tsx +0 -105
  124. package/slides/research-brief/PROMPT.md +0 -40
  125. package/slides/research-brief/index.tsx +0 -104
  126. package/slides/results-explanation/PROMPT.md +0 -32
  127. package/slides/results-explanation/index.tsx +0 -96
  128. package/slides/retrospective/PROMPT.md +0 -43
  129. package/slides/retrospective/index.tsx +0 -105
  130. package/slides/sankey/PROMPT.md +0 -11
  131. package/slides/sankey/index.tsx +0 -93
  132. package/slides/teaching/PROMPT.md +0 -45
  133. package/slides/teaching/index.tsx +0 -124
  134. package/slides/vertical-bar-charts/PROMPT.md +0 -13
  135. package/slides/vertical-bar-charts/index.tsx +0 -97
  136. package/src/app/App.tsx +0 -845
  137. package/src/components/BuildOrb.tsx +0 -40
  138. package/src/components/Canvas.tsx +0 -1191
  139. package/src/components/DiagramTypeIcon.tsx +0 -78
  140. package/src/components/InspectorPanel.tsx +0 -757
  141. package/src/components/LeftPanel.tsx +0 -120
  142. package/src/components/PageSizePicker.tsx +0 -30
  143. package/src/components/Presentation.tsx +0 -105
  144. package/src/components/RevisionNotes.tsx +0 -55
  145. package/src/components/RightPanel.tsx +0 -233
  146. package/src/components/VectorOverflowWarning.tsx +0 -73
  147. package/src/components/WorkspaceChrome.tsx +0 -316
  148. package/src/components/ui.tsx +0 -147
  149. package/src/lib/examples/react-page-migration.json +0 -1295
  150. package/src/lib/examples.ts +0 -42
  151. package/src/lib/export-png.ts +0 -104
  152. package/src/lib/file-session.ts +0 -87
  153. package/src/lib/history.ts +0 -53
  154. package/src/lib/model.ts +0 -188
  155. package/src/lib/page-size.ts +0 -24
  156. package/src/lib/presentation.ts +0 -17
  157. package/src/lib/review.ts +0 -26
  158. package/src/lib/storage.ts +0 -71
  159. package/src/lib/theme.ts +0 -25
  160. package/src/lib/use-file-session.ts +0 -249
  161. package/src/main.tsx +0 -29
  162. package/src/styles/canvas.css +0 -299
  163. package/src/styles/chrome.css +0 -475
  164. package/src/styles/component-previews.css +0 -386
  165. package/src/styles/left-panel.css +0 -187
  166. package/src/styles/presentation.css +0 -72
  167. package/src/styles/right-panel.css +0 -1298
@@ -1,1298 +0,0 @@
1
- .inspector-content,
2
- .layers-panel {
3
- flex: 1;
4
- min-height: 0;
5
- padding: 18px 16px;
6
- overflow-y: auto;
7
- }
8
-
9
- .inspector-content h2 {
10
- margin-bottom: 16px;
11
- }
12
-
13
- .inspector-content:has(> .page-number-picker) legend {
14
- margin-bottom: 7px;
15
- }
16
-
17
- .overflow-trigger {
18
- display: flex;
19
- align-items: center;
20
- justify-content: center;
21
- gap: 4px;
22
- width: 48px;
23
- height: 40px;
24
- padding: 0;
25
- color: #8a5409;
26
- border: 0;
27
- background: #fff5dd;
28
- font-size: 12px;
29
- }
30
- .overflow-trigger:disabled {
31
- visibility: hidden;
32
- }
33
- .overflow-trigger svg {
34
- width: 18px;
35
- height: 18px;
36
- fill: none;
37
- stroke: currentColor;
38
- stroke-width: 1.5;
39
- stroke-linecap: round;
40
- stroke-linejoin: round;
41
- }
42
- .overflow-popover {
43
- position: fixed;
44
- inset: calc(var(--panel-top) + var(--panel-header-height) + 6px) 20px auto auto;
45
- margin: 0;
46
- width: min(328px, calc(100vw - 40px));
47
- max-height: calc(100dvh - var(--panel-top) - 100px);
48
- overflow: auto;
49
- padding: 16px;
50
- border: 1px solid var(--ui-border);
51
- border-radius: 10px;
52
- background: var(--ui-surface);
53
- color: var(--ui-text);
54
- box-shadow: 0 8px 32px #0000001a;
55
- font-size: 13px;
56
- line-height: 1.5;
57
- }
58
- .overflow-popover p {
59
- margin: 8px 0 12px;
60
- color: var(--ui-muted);
61
- font-size: 12px;
62
- }
63
- .overflow-popover ul {
64
- list-style: none;
65
- padding: 0;
66
- margin: 0;
67
- }
68
- .overflow-popover button {
69
- display: grid;
70
- gap: 4px;
71
- width: 100%;
72
- padding: 10px;
73
- text-align: left;
74
- white-space: normal;
75
- overflow-wrap: anywhere;
76
- font-size: 12px;
77
- }
78
- .overflow-popover li + li {
79
- margin-top: 8px;
80
- }
81
-
82
- .custom-visual-summary p {
83
- margin: 0 0 10px;
84
- color: var(--ui-text);
85
- font-size: 12px;
86
- line-height: 1.5;
87
- }
88
-
89
- .custom-visual-summary dl {
90
- display: grid;
91
- gap: 6px;
92
- margin: 0 0 12px;
93
- }
94
-
95
- .custom-visual-summary dl > div {
96
- display: flex;
97
- justify-content: space-between;
98
- gap: 12px;
99
- }
100
-
101
- .custom-visual-summary dt,
102
- .custom-visual-summary dd {
103
- margin: 0;
104
- font-size: 11px;
105
- }
106
-
107
- .custom-visual-summary dt {
108
- color: var(--ui-muted);
109
- }
110
-
111
- .custom-visual-summary .field-help {
112
- margin: 0;
113
- color: var(--ui-muted);
114
- font-size: 11px;
115
- }
116
-
117
- .custom-visual-summary .field {
118
- margin-top: 14px;
119
- margin-bottom: 0;
120
- }
121
-
122
- .vector-element-editor {
123
- display: grid;
124
- gap: 10px;
125
- margin-top: 14px;
126
- padding-top: 14px;
127
- border-top: 1px solid var(--ui-line);
128
- }
129
-
130
- .vector-element-editor > strong {
131
- font-size: 11px;
132
- }
133
-
134
- .vector-actions {
135
- display: grid;
136
- grid-template-columns: repeat(3, minmax(0, 1fr));
137
- gap: 6px;
138
- }
139
-
140
- .vector-actions button {
141
- display: inline-flex;
142
- align-items: center;
143
- justify-content: center;
144
- gap: 6px;
145
- min-width: 0;
146
- min-height: 40px;
147
- padding: 7px 6px;
148
- border-color: transparent;
149
- border-radius: 8px;
150
- background: #f4f4f5;
151
- font-size: 11px;
152
- white-space: nowrap;
153
- }
154
-
155
- .vector-actions button:hover:not(:disabled) {
156
- border-color: transparent;
157
- background: #e9e9eb;
158
- }
159
-
160
- .vector-action-icon {
161
- flex: none;
162
- width: 16px;
163
- height: 16px;
164
- fill: none;
165
- stroke: currentColor;
166
- stroke-linecap: round;
167
- stroke-linejoin: round;
168
- stroke-width: 1.5;
169
- }
170
-
171
- .vector-actions .vector-delete-action {
172
- background: #fff1f1;
173
- color: #9d2020;
174
- }
175
-
176
- .vector-actions .vector-delete-action:hover:not(:disabled) {
177
- background: #ffe3e3;
178
- color: #841919;
179
- }
180
-
181
- .vector-attributes {
182
- display: grid;
183
- grid-template-columns: 1fr 1fr;
184
- gap: 0 10px;
185
- }
186
-
187
- .vector-attributes .field {
188
- min-width: 0;
189
- margin-top: 0;
190
- margin-bottom: 8px;
191
- }
192
-
193
- .theme-picker {
194
- margin-top: 0;
195
- }
196
-
197
- .theme-picker + .choice-picker {
198
- margin-top: 20px;
199
- }
200
-
201
- .segmented-options {
202
- display: grid;
203
- gap: 3px;
204
- padding: 3px;
205
- background: #f4f4f5;
206
- border-radius: 8px;
207
- }
208
-
209
- .segmented-options button {
210
- min-width: 0;
211
- min-height: 40px;
212
- padding: 5px 7px;
213
- border: 1px solid transparent;
214
- border-radius: 5px;
215
- background: transparent;
216
- color: var(--ui-muted);
217
- font-size: 12px;
218
- }
219
-
220
- .segmented-options button:hover:not(:disabled) {
221
- background: #e9e9eb;
222
- border-color: transparent;
223
- }
224
-
225
- .segmented-options button.selected {
226
- background: var(--ui-selected);
227
- border-color: color-mix(in srgb, var(--accent) 45%, white);
228
- box-shadow: none;
229
- color: #006aa1;
230
- }
231
-
232
- .inspector-content .slide-settings-heading {
233
- margin-top: 24px;
234
- padding-top: 20px;
235
- border-top: 1px solid var(--ui-border);
236
- }
237
-
238
- .page-number-picker,
239
- .page-number-picker > .choice-picker:first-of-type {
240
- margin-top: 0;
241
- }
242
-
243
- .theme-options {
244
- display: grid;
245
- grid-template-columns: 1fr 1fr;
246
- gap: 7px;
247
- }
248
-
249
- .theme-options button {
250
- display: grid;
251
- min-width: 0;
252
- gap: 7px;
253
- padding: 9px;
254
- text-align: left;
255
- }
256
-
257
- .theme-options button.selected {
258
- border-color: color-mix(in srgb, var(--accent) 45%, white);
259
- background: var(--ui-selected);
260
- box-shadow: none;
261
- }
262
-
263
- .theme-options button > span:first-child {
264
- overflow: hidden;
265
- font-size: 11px;
266
- text-overflow: ellipsis;
267
- white-space: nowrap;
268
- }
269
-
270
- .theme-swatches {
271
- display: flex;
272
- gap: 3px;
273
- }
274
-
275
- .theme-swatches i {
276
- display: block;
277
- flex: 1;
278
- height: 7px;
279
- border-radius: 1px;
280
- }
281
-
282
- .layers-heading-row {
283
- display: flex;
284
- align-items: baseline;
285
- justify-content: space-between;
286
- gap: 8px;
287
- margin-bottom: 12px;
288
- }
289
-
290
- .layers-heading-row h2 {
291
- margin: 0;
292
- font-size: 12px;
293
- font-weight: 600;
294
- }
295
-
296
- .layers-heading-row > span,
297
- .layers-empty {
298
- color: var(--ui-muted);
299
- font-size: 10px;
300
- }
301
-
302
- .layers-empty {
303
- margin: 12px 2px;
304
- }
305
-
306
- .layer-list {
307
- display: grid;
308
- gap: 4px;
309
- padding-block: 3px;
310
- }
311
-
312
- .layer-row {
313
- position: relative;
314
- display: grid;
315
- grid-template-columns: 16px minmax(0, 1fr) auto;
316
- align-items: center;
317
- min-height: 48px;
318
- border: 1px solid transparent;
319
- border-radius: 6px;
320
- background: #fafafa;
321
- }
322
-
323
- .layer-row.selected {
324
- border-color: color-mix(in srgb, var(--accent) 45%, white);
325
- background: var(--ui-selected);
326
- }
327
-
328
- .layer-row.dragging {
329
- opacity: 0.45;
330
- }
331
-
332
- .layer-row[data-drop-edge]::after {
333
- position: absolute;
334
- z-index: 1;
335
- left: -1px;
336
- right: -1px;
337
- height: 2px;
338
- border-radius: 1px;
339
- background: var(--accent);
340
- pointer-events: none;
341
- content: "";
342
- }
343
-
344
- .layer-row[data-drop-edge="before"]::after {
345
- top: -4px;
346
- }
347
-
348
- .layer-row[data-drop-edge="after"]::after {
349
- bottom: -4px;
350
- }
351
-
352
- .layer-drag {
353
- color: var(--ui-muted);
354
- font-size: 13px;
355
- cursor: grab;
356
- }
357
-
358
- .layer-select {
359
- display: grid;
360
- min-width: 0;
361
- padding: 5px 3px;
362
- border: 0;
363
- background: transparent;
364
- text-align: left;
365
- }
366
-
367
- .layer-select:hover:not(:disabled) {
368
- border-color: transparent;
369
- background: transparent;
370
- }
371
-
372
- .layer-select strong,
373
- .layer-select span {
374
- overflow: hidden;
375
- text-overflow: ellipsis;
376
- white-space: nowrap;
377
- }
378
-
379
- .layer-select strong {
380
- font-size: 11px;
381
- font-weight: 500;
382
- }
383
-
384
- .layer-select span {
385
- color: var(--ui-muted);
386
- font-size: 10px;
387
- }
388
-
389
- .layer-actions {
390
- display: flex;
391
- padding-right: 3px;
392
- }
393
-
394
- .layer-actions button {
395
- width: 40px;
396
- height: 40px;
397
- padding: 0;
398
- border: 0;
399
- background: transparent;
400
- color: var(--ui-muted);
401
- font-size: 11px;
402
- }
403
-
404
- .field {
405
- display: grid;
406
- gap: 7px;
407
- margin-bottom: 17px;
408
- font-size: 12px;
409
- }
410
-
411
- .inspector-context {
412
- display: flex;
413
- align-items: center;
414
- gap: 6px;
415
- }
416
-
417
- .inspector-context button {
418
- display: inline-flex;
419
- align-items: center;
420
- min-width: 40px;
421
- min-height: 40px;
422
- padding: 0;
423
- border: 0;
424
- background: transparent;
425
- color: var(--ui-muted);
426
- font-weight: 500;
427
- }
428
-
429
- .inspector-context button:hover {
430
- background: transparent;
431
- color: var(--accent);
432
- }
433
-
434
- .field > span {
435
- color: #565656;
436
- }
437
-
438
- .field:has(> select[name="Font"]) > span {
439
- color: var(--ui-text);
440
- font-weight: 500;
441
- }
442
-
443
- .field textarea {
444
- resize: none;
445
- overflow-y: auto;
446
- }
447
-
448
- .native-text-inspector > .field {
449
- margin-bottom: 12px;
450
- gap: 5px;
451
- }
452
-
453
- .native-text-inspector > .field textarea {
454
- height: 64px;
455
- min-height: 64px;
456
- resize: vertical;
457
- }
458
-
459
- .text-typography-fields {
460
- display: grid;
461
- grid-template-columns: repeat(2, minmax(0, 1fr));
462
- gap: 10px 12px;
463
- margin-bottom: 12px;
464
- }
465
-
466
- .text-typography-fields .field {
467
- min-width: 0;
468
- margin: 0;
469
- gap: 5px;
470
- }
471
-
472
- .appearance-options {
473
- display: grid;
474
- grid-template-columns: repeat(2, minmax(0, 1fr));
475
- gap: 6px;
476
- }
477
-
478
- .appearance-options button {
479
- display: grid;
480
- grid-template-columns: 38px minmax(0, 1fr);
481
- align-items: center;
482
- min-height: 42px;
483
- gap: 7px;
484
- padding: 6px;
485
- text-align: left;
486
- }
487
-
488
- .appearance-options button.selected {
489
- border-color: color-mix(in srgb, var(--accent) 45%, white);
490
- background: var(--ui-selected);
491
- box-shadow: none;
492
- }
493
-
494
- .appearance-options button:disabled {
495
- opacity: 0.48;
496
- }
497
-
498
- .appearance-options button > span:last-child {
499
- overflow: hidden;
500
- font-size: 10px;
501
- line-height: 1.2;
502
- text-overflow: ellipsis;
503
- }
504
-
505
- .appearance-preview {
506
- position: relative;
507
- display: grid;
508
- width: 36px;
509
- height: 24px;
510
- gap: 2px;
511
- padding: 3px;
512
- overflow: hidden;
513
- border: 1px solid #dedede;
514
- background: #fff;
515
- }
516
-
517
- .appearance-preview i {
518
- display: block;
519
- min-width: 2px;
520
- min-height: 2px;
521
- background: var(--preview-muted);
522
- }
523
-
524
- .appearance-preview[data-property="alignment"],
525
- .appearance-preview[data-property="titleStyle"],
526
- .appearance-preview[data-property="purpose"] {
527
- display: flex;
528
- flex-direction: column;
529
- justify-content: center;
530
- }
531
-
532
- .appearance-preview[data-property="alignment"] i,
533
- .appearance-preview[data-property="titleStyle"] i,
534
- .appearance-preview[data-property="purpose"] i {
535
- width: 72%;
536
- height: 2px;
537
- min-height: 2px;
538
- }
539
-
540
- .appearance-preview[data-property="alignment"] i:nth-child(n + 4),
541
- .appearance-preview[data-property="titleStyle"] i:nth-child(n + 3),
542
- .appearance-preview[data-property="purpose"] i:nth-child(n + 4) {
543
- display: none;
544
- }
545
-
546
- .appearance-preview[data-property="logicalOrder"] {
547
- grid-template-columns: repeat(4, 1fr);
548
- align-items: center;
549
- }
550
-
551
- .appearance-preview[data-property="logicalOrder"][data-value="parallel"] {
552
- grid-template-columns: repeat(3, 1fr);
553
- }
554
-
555
- .appearance-preview[data-property="logicalOrder"][data-value="progressive"] {
556
- align-items: end;
557
- }
558
-
559
- .appearance-preview[data-property="logicalOrder"][data-value="progressive"] i:nth-child(1) { height: 4px; }
560
- .appearance-preview[data-property="logicalOrder"][data-value="progressive"] i:nth-child(2) { height: 8px; }
561
- .appearance-preview[data-property="logicalOrder"][data-value="progressive"] i:nth-child(3) { height: 12px; }
562
- .appearance-preview[data-property="logicalOrder"][data-value="progressive"] i:nth-child(4) { height: 16px; }
563
-
564
- .appearance-preview[data-property="tableStyle"] {
565
- gap: 0;
566
- padding: 2px;
567
- grid-template: repeat(2, 1fr) / repeat(3, 1fr);
568
- }
569
-
570
- .appearance-preview[data-property="tableStyle"] i {
571
- background: transparent;
572
- border-radius: 0;
573
- }
574
-
575
- .appearance-preview[data-property="tableStyle"] i:nth-child(-n + 3) {
576
- border-bottom: 2px solid var(--preview-ink);
577
- }
578
- .appearance-preview[data-property="tableStyle"][data-value="top-header-bottom"] {
579
- border-block: 1px solid var(--preview-muted);
580
- }
581
- .appearance-preview[data-property="tableStyle"][data-value="row-rules"] i {
582
- border-bottom: 1px solid var(--preview-muted);
583
- }
584
- .appearance-preview[data-property="tableStyle"][data-value="full-grid"] {
585
- border-top: 1px solid var(--preview-muted);
586
- border-left: 1px solid var(--preview-muted);
587
- }
588
- .appearance-preview[data-property="tableStyle"][data-value="full-grid"] i {
589
- border-right: 1px solid var(--preview-muted);
590
- border-bottom: 1px solid var(--preview-muted);
591
- }
592
-
593
- .appearance-preview[data-property="logicalOrder"][data-value="cyclical"] {
594
- grid-template: repeat(2, 1fr) / repeat(2, 1fr);
595
- border-radius: 50%;
596
- }
597
-
598
- .appearance-preview[data-property="logicalOrder"][data-value="general-to-specific"],
599
- .appearance-preview[data-property="logicalOrder"][data-value="hierarchical"] {
600
- grid-template: repeat(2, 1fr) / repeat(3, 1fr);
601
- }
602
-
603
- .appearance-preview[data-property="logicalOrder"][data-value="general-to-specific"] i:first-child {
604
- grid-column: 1 / -1;
605
- }
606
-
607
- .appearance-preview[data-property="logicalOrder"][data-value="hierarchical"] i:first-child {
608
- grid-column: 2;
609
- }
610
-
611
- .appearance-preview[data-property="logicalOrder"][data-value="hierarchical"] i:nth-child(n + 2) {
612
- grid-row: 2;
613
- }
614
-
615
- .appearance-preview[data-property="alignment"][data-value="center"] i {
616
- margin-inline: auto;
617
- }
618
-
619
- .appearance-preview[data-property="alignment"][data-value="end"] i {
620
- margin-left: auto;
621
- }
622
-
623
- .appearance-preview[data-property="border"] i {
624
- grid-area: 1 / 1 / -1 / -1;
625
- background:
626
- linear-gradient(var(--preview-muted) 0 0) 5px 6px / 18px 2px no-repeat,
627
- linear-gradient(var(--preview-muted) 0 0) 5px 11px / 13px 2px no-repeat;
628
- }
629
-
630
- .appearance-preview[data-property="border"][data-value="outline"] i {
631
- border: 1px solid var(--preview-ink);
632
- }
633
-
634
- .appearance-preview[data-property="border"][data-value="filled"] i {
635
- background:
636
- linear-gradient(#fff 0 0) 5px 6px / 18px 2px no-repeat,
637
- linear-gradient(#fff 0 0) 5px 11px / 13px 2px no-repeat,
638
- var(--preview-ink);
639
- }
640
-
641
- .appearance-preview[data-property="layout"] {
642
- align-items: stretch;
643
- grid-auto-flow: column;
644
- grid-auto-columns: 1fr;
645
- }
646
-
647
- .appearance-preview[data-property="layout"][data-value="two-plus-two"] {
648
- grid-template: repeat(2, 1fr) / repeat(2, 1fr);
649
- }
650
-
651
- .appearance-preview[data-property="layout"][data-value="one-plus-three"],
652
- .appearance-preview[data-property="layout"][data-value="three-plus-one"] {
653
- grid-template: repeat(3, 1fr) / repeat(2, 1fr);
654
- }
655
-
656
- .appearance-preview[data-property="layout"][data-value="one-plus-three"] i:first-child,
657
- .appearance-preview[data-property="layout"][data-value="three-plus-one"] i:last-child {
658
- grid-row: 1 / -1;
659
- }
660
-
661
- .appearance-preview[data-property="layout"][data-value="three-plus-one"] i:last-child {
662
- grid-column: 2;
663
- }
664
-
665
- .appearance-preview[data-property="orientation"][data-value="horizontal"] {
666
- grid-template-columns: repeat(4, 1fr);
667
- }
668
-
669
- .appearance-preview[data-property="orientation"][data-value="vertical"] {
670
- grid-template-rows: repeat(4, 1fr);
671
- }
672
-
673
- .appearance-preview[data-property="purpose"][data-value="comparison"] {
674
- display: grid;
675
- grid-template-columns: 1fr 1fr;
676
- }
677
-
678
- .appearance-preview[data-property="purpose"][data-value="comparison"] i {
679
- display: block;
680
- width: auto;
681
- height: auto;
682
- }
683
-
684
- .appearance-preview[data-property="purpose"][data-value="emphasis"] i:first-child {
685
- width: 100%;
686
- height: 5px;
687
- background: var(--preview-accent);
688
- }
689
-
690
- .appearance-preview[data-property="purpose"][data-value="emphasis"] i:nth-child(n + 2) {
691
- display: none;
692
- }
693
-
694
- .appearance-preview[data-property="treatment"] i {
695
- grid-area: 1 / 1 / -1 / -1;
696
- margin: 5px;
697
- }
698
-
699
- .appearance-preview[data-property="treatment"][data-value="subtle"] {
700
- background: color-mix(in srgb, var(--preview-accent) 10%, white);
701
- }
702
-
703
- .appearance-preview[data-property="treatment"][data-value="strong"] {
704
- background: var(--preview-ink);
705
- }
706
-
707
- .appearance-preview[data-property="treatment"][data-value="strong"] i {
708
- background: #fff;
709
- }
710
-
711
- .appearance-preview[data-property="titleStyle"][data-value="prominent"] i:first-child {
712
- width: 90%;
713
- height: 5px;
714
- background: var(--preview-ink);
715
- }
716
-
717
- .appearance-preview[data-property="rule"]::after {
718
- position: absolute;
719
- right: 3px;
720
- left: 3px;
721
- border-top: 2px solid var(--preview-accent);
722
- content: "";
723
- }
724
-
725
- .appearance-preview[data-property="rule"][data-value="none"]::after {
726
- display: none;
727
- }
728
-
729
- .appearance-preview[data-property="rule"][data-value="top"]::after {
730
- top: 4px;
731
- }
732
-
733
- .appearance-preview[data-property="rule"][data-value="bottom"]::after {
734
- bottom: 4px;
735
- }
736
-
737
- .appearance-preview[data-property="density"][data-value="sparse"] i:nth-child(n + 3),
738
- .appearance-preview[data-property="legend"] i {
739
- display: none;
740
- }
741
-
742
- .appearance-preview[data-property="density"] {
743
- grid-template-columns: repeat(4, 1fr);
744
- align-items: end;
745
- }
746
-
747
- .appearance-preview[data-property="density"] i:nth-child(odd) {
748
- height: 8px;
749
- }
750
-
751
- .appearance-preview[data-property="density"] i:nth-child(even) {
752
- height: 15px;
753
- }
754
-
755
- .appearance-preview[data-property="density"][data-value="sparse"] i:nth-child(n + 3) {
756
- display: none;
757
- }
758
-
759
- .appearance-preview[data-property="legend"]::after {
760
- position: absolute;
761
- width: 16px;
762
- height: 3px;
763
- background:
764
- linear-gradient(90deg, var(--preview-accent) 0 6px, transparent 6px 9px, var(--preview-muted) 9px);
765
- content: "";
766
- }
767
-
768
- .appearance-preview[data-property="legend"][data-value="none"]::after {
769
- display: none;
770
- }
771
-
772
- .appearance-preview[data-property="legend"][data-value="top"]::after {
773
- top: 4px;
774
- left: 4px;
775
- }
776
-
777
- .appearance-preview[data-property="legend"][data-value="right"]::after {
778
- top: 5px;
779
- right: 3px;
780
- width: 3px;
781
- height: 14px;
782
- background: linear-gradient(var(--preview-accent) 0 6px, transparent 6px 9px, var(--preview-muted) 9px);
783
- }
784
-
785
- .appearance-preview[data-property="legend"][data-value="bottom"]::after {
786
- bottom: 4px;
787
- left: 4px;
788
- }
789
-
790
- .appearance-preview[data-property="color"] i,
791
- .appearance-preview[data-property="colorScheme"] i,
792
- .appearance-preview[data-property="emphasis"] i {
793
- border-radius: 50%;
794
- }
795
-
796
- .appearance-preview[data-property="color"][data-value="ink"] i {
797
- background: var(--preview-ink);
798
- }
799
-
800
- .appearance-preview[data-property="color"][data-value="accent"] i,
801
- .appearance-preview[data-property="colorScheme"][data-value="accent-with-muted-context"] i:first-child,
802
- .appearance-preview[data-property="emphasis"][data-value="primary"] i:first-child,
803
- .appearance-preview[data-property="emphasis"][data-value="latest-series"] i:last-child {
804
- background: var(--preview-accent);
805
- }
806
-
807
- .appearance-preview[data-property="colorScheme"],
808
- .appearance-preview[data-property="emphasis"] {
809
- grid-template-columns: repeat(4, 1fr);
810
- align-items: center;
811
- }
812
-
813
- .appearance-preview[data-property="colorScheme"][data-value="monochrome"] i {
814
- background: var(--preview-ink);
815
- opacity: 0.35;
816
- }
817
-
818
- .appearance-preview[data-property="colorScheme"][data-value="monochrome"] i:nth-child(n + 3) {
819
- opacity: 0.75;
820
- }
821
-
822
- .appearance-preview[data-property="colorScheme"][data-value="categorical"] i:nth-child(1) {
823
- background: var(--preview-accent);
824
- }
825
-
826
- .appearance-preview[data-property="colorScheme"][data-value="categorical"] i:nth-child(2) {
827
- background: var(--preview-secondary);
828
- }
829
-
830
- .appearance-preview[data-property="colorScheme"][data-value="categorical"] i:nth-child(3) {
831
- background: var(--preview-tertiary);
832
- }
833
-
834
- .appearance-preview[data-property="colorScheme"][data-value="sequential"] i {
835
- background: var(--preview-accent);
836
- }
837
-
838
- .appearance-preview[data-property="colorScheme"][data-value="sequential"] i:nth-child(1) { opacity: 0.2; }
839
- .appearance-preview[data-property="colorScheme"][data-value="sequential"] i:nth-child(2) { opacity: 0.4; }
840
- .appearance-preview[data-property="colorScheme"][data-value="sequential"] i:nth-child(3) { opacity: 0.65; }
841
-
842
- .appearance-preview[data-property="colorScheme"][data-value="status"] i:nth-child(1) { background: var(--preview-complete); }
843
- .appearance-preview[data-property="colorScheme"][data-value="status"] i:nth-child(2) { background: var(--preview-attention); }
844
- .appearance-preview[data-property="colorScheme"][data-value="status"] i:nth-child(n + 3) { background: var(--preview-blocked); }
845
-
846
- .appearance-preview[data-property="emphasis"] i {
847
- background: var(--preview-muted);
848
- }
849
-
850
- .appearance-preview[data-property="emphasis"][data-value="exception"] i:nth-child(2) {
851
- background: var(--preview-blocked);
852
- }
853
-
854
- .appearance-preview[data-property="type"] {
855
- grid-template-columns: repeat(4, 1fr);
856
- align-items: center;
857
- }
858
-
859
- .appearance-preview[data-property="type"]::before {
860
- position: absolute;
861
- right: 5px;
862
- left: 5px;
863
- top: 11px;
864
- border-top: 1px solid var(--preview-muted);
865
- content: "";
866
- }
867
-
868
- .appearance-preview[data-property="type"] i {
869
- z-index: 1;
870
- height: 6px;
871
- border-radius: 1px;
872
- }
873
-
874
- .appearance-preview[data-property="type"][data-value="system"] i:first-child {
875
- grid-column: 2 / 4;
876
- }
877
-
878
- .appearance-preview[data-property="type"][data-value="system"] i:nth-child(n + 2) {
879
- align-self: end;
880
- }
881
-
882
- .appearance-preview[data-property="template"] {
883
- display: block;
884
- }
885
-
886
- .appearance-preview[data-property="template"] svg {
887
- position: absolute;
888
- inset: 0;
889
- width: 100%;
890
- height: 100%;
891
- }
892
-
893
- .appearance-preview[data-property="template"] i {
894
- position: absolute;
895
- z-index: 1;
896
- width: 5px;
897
- height: 5px;
898
- border-radius: 1px;
899
- }
900
-
901
- .appearance-preview[data-property="template"][data-value="grouped-bar"] {
902
- display: grid;
903
- grid-template-columns: repeat(4, 1fr);
904
- align-items: end;
905
- }
906
-
907
- .appearance-preview[data-property="template"][data-value="grouped-bar"] i {
908
- position: static;
909
- width: auto;
910
- height: 9px;
911
- border-radius: 0;
912
- }
913
-
914
- .appearance-preview[data-property="template"][data-value="grouped-bar"] i:nth-child(even) { height: 15px; background: var(--preview-accent); }
915
-
916
- .appearance-preview[data-property="template"][data-value="line"]::before {
917
- position: absolute;
918
- left: 5px;
919
- top: 12px;
920
- width: 25px;
921
- height: 9px;
922
- border-top: 2px solid var(--preview-accent);
923
- transform: skewY(-18deg);
924
- content: "";
925
- }
926
-
927
- .appearance-preview[data-property="template"][data-value="line"] i:nth-child(1) { left: 5px; top: 13px; }
928
- .appearance-preview[data-property="template"][data-value="line"] i:nth-child(2) { left: 14px; top: 9px; }
929
- .appearance-preview[data-property="template"][data-value="line"] i:nth-child(3) { left: 23px; top: 11px; }
930
- .appearance-preview[data-property="template"][data-value="line"] i:nth-child(4) { left: 29px; top: 6px; }
931
-
932
- .appearance-preview[data-property="template"][data-value="pie"]::before {
933
- position: absolute;
934
- inset: 4px 9px;
935
- border-radius: 50%;
936
- background: conic-gradient(var(--preview-accent) 0 34%, var(--preview-secondary) 34% 67%, var(--preview-muted) 67%);
937
- content: "";
938
- }
939
-
940
- .appearance-preview[data-property="template"][data-value="pie"] i {
941
- display: none;
942
- }
943
-
944
- .appearance-preview[data-property="template"][data-value="annotated-detail"] i:first-child {
945
- inset: 4px 12px 4px 4px;
946
- width: auto;
947
- height: auto;
948
- border: 1px solid var(--preview-muted);
949
- background: transparent;
950
- }
951
-
952
- .appearance-preview[data-property="template"][data-value="annotated-detail"] i:nth-child(2) { right: 5px; top: 5px; background: var(--preview-accent); }
953
- .appearance-preview[data-property="template"][data-value="annotated-detail"] i:nth-child(3) { right: 4px; top: 13px; width: 9px; height: 2px; }
954
- .appearance-preview[data-property="template"][data-value="annotated-detail"] i:nth-child(4) { display: none; }
955
-
956
- .appearance-preview[data-property="template"][data-value="radar"]::before {
957
- position: absolute;
958
- inset: 3px 7px;
959
- background: color-mix(in srgb, var(--preview-accent) 35%, transparent);
960
- clip-path: polygon(50% 0, 100% 38%, 82% 100%, 18% 100%, 0 38%);
961
- content: "";
962
- }
963
-
964
- .appearance-preview[data-property="template"][data-value="radar"] i { display: none; }
965
-
966
- .appearance-preview[data-property="template"][data-value="treemap"] i {
967
- border-radius: 0;
968
- }
969
- .appearance-preview[data-property="template"][data-value="treemap"] i:nth-child(1) { inset: 3px 15px 3px 3px; width: auto; height: auto; background: var(--preview-accent); }
970
- .appearance-preview[data-property="template"][data-value="treemap"] i:nth-child(2) { right: 3px; top: 3px; width: 10px; height: 8px; }
971
- .appearance-preview[data-property="template"][data-value="treemap"] i:nth-child(3) { right: 8px; bottom: 3px; width: 5px; height: 7px; }
972
- .appearance-preview[data-property="template"][data-value="treemap"] i:nth-child(4) { right: 3px; bottom: 3px; width: 3px; height: 7px; background: var(--preview-secondary); }
973
-
974
- .appearance-preview[data-property="template"][data-value="linear"]::before,
975
- .appearance-preview[data-property="template"][data-value="request-flow"]::before {
976
- position: absolute;
977
- top: 11px;
978
- right: 5px;
979
- left: 5px;
980
- border-top: 1px solid var(--preview-ink);
981
- content: "";
982
- }
983
-
984
- .appearance-preview[data-property="template"][data-value="linear"] i,
985
- .appearance-preview[data-property="template"][data-value="request-flow"] i {
986
- top: 9px;
987
- }
988
- .appearance-preview[data-property="template"][data-value="linear"] i:nth-child(1),
989
- .appearance-preview[data-property="template"][data-value="request-flow"] i:nth-child(1) { left: 4px; background: var(--preview-accent); }
990
- .appearance-preview[data-property="template"][data-value="linear"] i:nth-child(2),
991
- .appearance-preview[data-property="template"][data-value="request-flow"] i:nth-child(2) { left: 13px; }
992
- .appearance-preview[data-property="template"][data-value="linear"] i:nth-child(3),
993
- .appearance-preview[data-property="template"][data-value="request-flow"] i:nth-child(3) { left: 22px; }
994
- .appearance-preview[data-property="template"][data-value="linear"] i:nth-child(4),
995
- .appearance-preview[data-property="template"][data-value="request-flow"] i:nth-child(4) { right: 4px; }
996
-
997
- .appearance-preview[data-property="template"][data-value="request-flow"]::before {
998
- border-top-style: dashed;
999
- }
1000
-
1001
- .appearance-preview[data-property="template"][data-value="request-flow"] i:nth-child(3) {
1002
- background: var(--preview-accent);
1003
- }
1004
-
1005
- .appearance-preview[data-property="template"][data-value="branching"]::before {
1006
- position: absolute;
1007
- left: 8px;
1008
- top: 6px;
1009
- width: 19px;
1010
- height: 12px;
1011
- border: solid var(--preview-ink);
1012
- border-width: 1px 1px 1px 0;
1013
- content: "";
1014
- }
1015
- .appearance-preview[data-property="template"][data-value="branching"] i:first-child { left: 4px; top: 9px; background: var(--preview-accent); }
1016
- .appearance-preview[data-property="template"][data-value="branching"] i:nth-child(2) { right: 4px; top: 4px; }
1017
- .appearance-preview[data-property="template"][data-value="branching"] i:nth-child(3) { right: 4px; bottom: 4px; }
1018
- .appearance-preview[data-property="template"][data-value="branching"] i:nth-child(4) { display: none; }
1019
-
1020
- .appearance-preview[data-property="template"][data-value="cyclical"]::before {
1021
- position: absolute;
1022
- inset: 4px 8px;
1023
- border: 1px solid var(--preview-ink);
1024
- border-radius: 50%;
1025
- content: "";
1026
- }
1027
- .appearance-preview[data-property="template"][data-value="cyclical"] i:nth-child(1) { left: 5px; top: 9px; background: var(--preview-accent); }
1028
- .appearance-preview[data-property="template"][data-value="cyclical"] i:nth-child(2) { left: 15px; top: 3px; }
1029
- .appearance-preview[data-property="template"][data-value="cyclical"] i:nth-child(3) { right: 5px; top: 9px; }
1030
- .appearance-preview[data-property="template"][data-value="cyclical"] i:nth-child(4) { left: 15px; bottom: 3px; }
1031
-
1032
- .appearance-preview[data-property="template"][data-value="layered"] i:nth-child(1) { left: 5px; top: 4px; background: var(--preview-accent); }
1033
- .appearance-preview[data-property="template"][data-value="layered"] i:nth-child(2) { left: 13px; top: 8px; }
1034
- .appearance-preview[data-property="template"][data-value="layered"] i:nth-child(3) { left: 21px; top: 12px; }
1035
- .appearance-preview[data-property="template"][data-value="layered"] i:nth-child(4) { left: 29px; top: 16px; }
1036
-
1037
- .appearance-preview[data-property="template"][data-value="hub-and-spoke"]::before {
1038
- position: absolute;
1039
- inset: 5px 8px;
1040
- background: linear-gradient(25deg, transparent 48%, var(--preview-ink) 49% 52%, transparent 53%), linear-gradient(-25deg, transparent 48%, var(--preview-ink) 49% 52%, transparent 53%);
1041
- content: "";
1042
- }
1043
- .appearance-preview[data-property="template"][data-value="hub-and-spoke"] i:first-child { left: 15px; top: 9px; background: var(--preview-accent); }
1044
- .appearance-preview[data-property="template"][data-value="hub-and-spoke"] i:nth-child(2) { left: 4px; top: 3px; }
1045
- .appearance-preview[data-property="template"][data-value="hub-and-spoke"] i:nth-child(3) { right: 4px; top: 3px; }
1046
- .appearance-preview[data-property="template"][data-value="hub-and-spoke"] i:nth-child(4) { right: 4px; bottom: 3px; }
1047
-
1048
- .appearance-preview[data-property="layout"] {
1049
- display: block;
1050
- }
1051
-
1052
- .appearance-preview[data-property="layout"] i {
1053
- position: absolute;
1054
- z-index: 1;
1055
- width: 5px;
1056
- height: 5px;
1057
- border-radius: 1px;
1058
- }
1059
-
1060
- .appearance-preview[data-property="layout"][data-value="linear"]::before,
1061
- .appearance-preview[data-property="layout"][data-value="request-flow"]::before {
1062
- position: absolute;
1063
- top: 11px;
1064
- right: 5px;
1065
- left: 5px;
1066
- border-top: 1px solid var(--preview-ink);
1067
- content: "";
1068
- }
1069
-
1070
- .appearance-preview[data-property="layout"][data-value="request-flow"]::before {
1071
- border-top-style: dashed;
1072
- }
1073
-
1074
- .appearance-preview[data-property="layout"][data-value="linear"] i,
1075
- .appearance-preview[data-property="layout"][data-value="request-flow"] i { top: 9px; }
1076
- .appearance-preview[data-property="layout"][data-value="linear"] i:nth-child(1),
1077
- .appearance-preview[data-property="layout"][data-value="request-flow"] i:nth-child(1) { left: 4px; background: var(--preview-accent); }
1078
- .appearance-preview[data-property="layout"][data-value="linear"] i:nth-child(2),
1079
- .appearance-preview[data-property="layout"][data-value="request-flow"] i:nth-child(2) { left: 13px; }
1080
- .appearance-preview[data-property="layout"][data-value="linear"] i:nth-child(3),
1081
- .appearance-preview[data-property="layout"][data-value="request-flow"] i:nth-child(3) { left: 22px; }
1082
- .appearance-preview[data-property="layout"][data-value="linear"] i:nth-child(4),
1083
- .appearance-preview[data-property="layout"][data-value="request-flow"] i:nth-child(4) { right: 4px; }
1084
-
1085
- .appearance-preview[data-property="layout"][data-value="branching"]::before {
1086
- position: absolute;
1087
- left: 8px;
1088
- top: 6px;
1089
- width: 19px;
1090
- height: 12px;
1091
- border: solid var(--preview-ink);
1092
- border-width: 1px 1px 1px 0;
1093
- content: "";
1094
- }
1095
- .appearance-preview[data-property="layout"][data-value="branching"] i:first-child { left: 4px; top: 9px; background: var(--preview-accent); }
1096
- .appearance-preview[data-property="layout"][data-value="branching"] i:nth-child(2) { right: 4px; top: 4px; }
1097
- .appearance-preview[data-property="layout"][data-value="branching"] i:nth-child(3) { right: 4px; bottom: 4px; }
1098
- .appearance-preview[data-property="layout"][data-value="branching"] i:nth-child(4) { display: none; }
1099
-
1100
- .appearance-preview[data-property="layout"][data-value="cyclical"]::before {
1101
- position: absolute;
1102
- inset: 4px 8px;
1103
- border: 1px solid var(--preview-ink);
1104
- border-radius: 50%;
1105
- content: "";
1106
- }
1107
- .appearance-preview[data-property="layout"][data-value="cyclical"] i:nth-child(1) { left: 5px; top: 9px; background: var(--preview-accent); }
1108
- .appearance-preview[data-property="layout"][data-value="cyclical"] i:nth-child(2) { left: 15px; top: 3px; }
1109
- .appearance-preview[data-property="layout"][data-value="cyclical"] i:nth-child(3) { right: 5px; top: 9px; }
1110
- .appearance-preview[data-property="layout"][data-value="cyclical"] i:nth-child(4) { left: 15px; bottom: 3px; }
1111
-
1112
- .appearance-preview[data-property="layout"][data-value="layered"] i:nth-child(1) { left: 5px; top: 4px; background: var(--preview-accent); }
1113
- .appearance-preview[data-property="layout"][data-value="layered"] i:nth-child(2) { left: 13px; top: 8px; }
1114
- .appearance-preview[data-property="layout"][data-value="layered"] i:nth-child(3) { left: 21px; top: 12px; }
1115
- .appearance-preview[data-property="layout"][data-value="layered"] i:nth-child(4) { left: 29px; top: 16px; }
1116
-
1117
- .appearance-preview[data-property="layout"][data-value="hub-and-spoke"]::before {
1118
- position: absolute;
1119
- inset: 5px 8px;
1120
- background: linear-gradient(25deg, transparent 48%, var(--preview-ink) 49% 52%, transparent 53%), linear-gradient(-25deg, transparent 48%, var(--preview-ink) 49% 52%, transparent 53%);
1121
- content: "";
1122
- }
1123
- .appearance-preview[data-property="layout"][data-value="hub-and-spoke"] i:first-child { left: 15px; top: 9px; background: var(--preview-accent); }
1124
- .appearance-preview[data-property="layout"][data-value="hub-and-spoke"] i:nth-child(2) { left: 4px; top: 3px; }
1125
- .appearance-preview[data-property="layout"][data-value="hub-and-spoke"] i:nth-child(3) { right: 4px; top: 3px; }
1126
- .appearance-preview[data-property="layout"][data-value="hub-and-spoke"] i:nth-child(4) { right: 4px; bottom: 3px; }
1127
-
1128
- fieldset {
1129
- min-width: 0;
1130
- margin: 25px 0 0;
1131
- padding: 0;
1132
- border: 0;
1133
- }
1134
-
1135
- legend {
1136
- margin-bottom: 14px;
1137
- padding: 0;
1138
- font-size: 12px;
1139
- font-weight: 500;
1140
- }
1141
-
1142
- .diagram-type-field {
1143
- display: block;
1144
- }
1145
-
1146
- .diagram-type-field > summary {
1147
- cursor: pointer;
1148
- font-size: 12px;
1149
- line-height: 1.5;
1150
- }
1151
-
1152
- .diagram-type-field[open] > summary {
1153
- margin-bottom: 8px;
1154
- }
1155
-
1156
- .diagram-type-options {
1157
- display: grid;
1158
- margin-top: 8px;
1159
- gap: 16px;
1160
- }
1161
-
1162
- .diagram-type-category > span {
1163
- display: block;
1164
- margin-bottom: 7px;
1165
- color: var(--muted);
1166
- font-size: 10px;
1167
- font-weight: 600;
1168
- letter-spacing: 0.03em;
1169
- text-transform: uppercase;
1170
- }
1171
-
1172
- .diagram-type-category > div {
1173
- display: grid;
1174
- grid-template-columns: repeat(2, minmax(0, 1fr));
1175
- gap: 7px;
1176
- }
1177
-
1178
- .diagram-type-category button {
1179
- display: grid;
1180
- min-width: 0;
1181
- min-height: 70px;
1182
- padding: 8px;
1183
- border: 1px solid var(--line);
1184
- border-radius: 7px;
1185
- background: var(--panel);
1186
- color: var(--ink);
1187
- place-items: center;
1188
- }
1189
-
1190
- .diagram-type-category button:hover:not(:disabled) {
1191
- background: var(--ui-hover);
1192
- }
1193
-
1194
- .diagram-type-category button:disabled {
1195
- opacity: 0.48;
1196
- }
1197
-
1198
- .diagram-type-category button.selected {
1199
- border-color: color-mix(in srgb, var(--accent) 45%, white);
1200
- background: var(--ui-selected);
1201
- }
1202
-
1203
- .diagram-type-category button > span {
1204
- overflow: hidden;
1205
- max-width: 100%;
1206
- font-size: 10px;
1207
- line-height: 1.2;
1208
- text-align: center;
1209
- text-overflow: ellipsis;
1210
- }
1211
-
1212
- .diagram-type-icon {
1213
- width: 48px;
1214
- height: 32px;
1215
- color: var(--muted);
1216
- fill: none;
1217
- stroke: currentColor;
1218
- stroke-linecap: round;
1219
- stroke-linejoin: round;
1220
- stroke-width: 1.35;
1221
- }
1222
-
1223
- .diagram-type-category button.selected .diagram-type-icon {
1224
- color: var(--ui-text);
1225
- }
1226
-
1227
- .diagram-type-icon .filled {
1228
- fill: currentColor;
1229
- stroke: none;
1230
- }
1231
-
1232
- .chart-type-options .appearance-preview {
1233
- margin: 4px 0;
1234
- border: 0;
1235
- background: transparent;
1236
- transform: scale(1.333333);
1237
- }
1238
-
1239
- .visualization-description {
1240
- display: block;
1241
- margin-top: 8px;
1242
- color: var(--muted);
1243
- font-size: 11px;
1244
- line-height: 1.45;
1245
- }
1246
-
1247
- .geometry {
1248
- display: grid;
1249
- grid-template-columns: 1fr 1fr;
1250
- gap: 0 12px;
1251
- }
1252
-
1253
- .geometry .field {
1254
- margin-bottom: 12px;
1255
- }
1256
-
1257
- .right-panel :is(input, select, textarea) {
1258
- min-height: 40px;
1259
- border-color: transparent;
1260
- border-radius: 6px;
1261
- background: #f4f4f5;
1262
- font-size: 12px;
1263
- }
1264
-
1265
- .right-panel :is(input, select, textarea):hover {
1266
- border-color: #d4d4d8;
1267
- }
1268
-
1269
- .parameter-input {
1270
- position: relative;
1271
- display: block;
1272
- }
1273
-
1274
- .parameter-input input {
1275
- min-height: 40px;
1276
- padding-right: 32px;
1277
- appearance: textfield;
1278
- }
1279
-
1280
- .parameter-input input::-webkit-inner-spin-button {
1281
- appearance: none;
1282
- }
1283
-
1284
- .parameter-unit {
1285
- position: absolute;
1286
- right: 10px;
1287
- top: 50%;
1288
- transform: translateY(-50%);
1289
- pointer-events: none;
1290
- color: var(--ui-muted);
1291
- font-size: 11px;
1292
- }
1293
-
1294
- @media (max-width: 1150px) {
1295
- .inspector-content {
1296
- padding: 20px 16px;
1297
- }
1298
- }