- werkzeuge/vorschau/vorschau.html: Anzeige per Drag & Drop oder Dateiauswahl, Zoom, Einpassen, Fehlermeldungen; funktioniert ohne Python direkt aus dem Dateisystem. - scripts/vorschau.py: erzeugt aus .bpmn oder Arbeitsschritt-.md eine in sich geschlossene Seite und öffnet sie; --stdin als Filter, etwa für einen Gitea-Renderer. Diagramm wird mit maskiertem '<' eingebettet, die Bibliothek unverändert und nur auf <script/</script geprüft. - bpmn-js 18.29.1 (navigated viewer + CSS + LICENSE) lokal eingebettet, npm-Integrität geprüft; lädt nichts aus dem Netz. Wasserzeichen bleibt laut Lizenzauflage sichtbar. - tests/test_vorschau.py: 11 Tests; Skill sn-bpmn, Anleitung, AGENTS.md, README, Leitfäden, Fallstricke und STATUS ergänzt. - Tests: python -m pytest -q -> 55 bestanden. Darstellung mit Edge headless geprüft (beide Beispiele, leere Seite, kaputte Datei). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
161 lines
4.1 KiB
CSS
161 lines
4.1 KiB
CSS
.bjs-container {
|
|
--bjs-font-family: Arial, sans-serif;
|
|
|
|
--color-grey-225-10-15: hsl(225, 10%, 15%);
|
|
--color-grey-225-10-35: hsl(225, 10%, 35%);
|
|
--color-grey-225-10-55: hsl(225, 10%, 55%);
|
|
--color-grey-225-10-75: hsl(225, 10%, 75%);
|
|
--color-grey-225-10-80: hsl(225, 10%, 80%);
|
|
--color-grey-225-10-85: hsl(225, 10%, 85%);
|
|
--color-grey-225-10-90: hsl(225, 10%, 90%);
|
|
--color-grey-225-10-95: hsl(225, 10%, 95%);
|
|
--color-grey-225-10-97: hsl(225, 10%, 97%);
|
|
|
|
--color-blue-205-100-40: hsl(205, 100%, 40%);
|
|
--color-blue-205-100-45: hsl(205, 100%, 45%);
|
|
--color-blue-205-100-45-opacity-30: hsla(205, 100%, 45%, 30%);
|
|
--color-blue-205-100-50: hsl(205, 100%, 50%);
|
|
--color-blue-205-100-95: hsl(205, 100%, 95%);
|
|
|
|
--color-green-150-86-44: hsl(150, 86%, 44%);
|
|
|
|
--color-red-360-100-40: hsl(360, 100%, 40%);
|
|
--color-red-360-100-45: hsl(360, 100%, 45%);
|
|
--color-red-360-100-92: hsl(360, 100%, 92%);
|
|
--color-red-360-100-97: hsl(360, 100%, 97%);
|
|
|
|
--color-white: hsl(0, 0%, 100%);
|
|
--color-black: hsl(0, 0%, 0%);
|
|
--color-black-opacity-05: hsla(0, 0%, 0%, 5%);
|
|
--color-black-opacity-10: hsla(0, 0%, 0%, 10%);
|
|
|
|
--accent-color: var(--color-blue-205-100-40);
|
|
|
|
--breadcrumbs-font-family: var(--bjs-font-family);
|
|
--breadcrumbs-item-color: var(--accent-color);
|
|
--breadcrumbs-arrow-color: var(--color-black);
|
|
--breadcrumbs-background-color: var(--color-grey-225-10-97);
|
|
--breadcrumbs-border-color: var(--color-grey-225-10-75);
|
|
--breadcrumbs-focus-outline-color: var(--accent-color);
|
|
--drilldown-fill-color: var(--color-white);
|
|
--drilldown-background-color: var(--accent-color);
|
|
--drilldown-focus-outline-color: var(--accent-color);
|
|
}
|
|
|
|
.bjs-breadcrumbs {
|
|
position: absolute;
|
|
display: none;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
top: 20px;
|
|
left: 20px;
|
|
padding: 5px 10px;
|
|
margin: 0px;
|
|
font-family: var(--breadcrumbs-font-family);
|
|
font-size: 16px;
|
|
line-height: normal;
|
|
background-color: var(--breadcrumbs-background-color);
|
|
border: solid 1px var(--breadcrumbs-border-color);
|
|
border-radius: 2px;
|
|
row-gap: 5px;
|
|
}
|
|
|
|
.bjs-breadcrumbs-shown .bjs-breadcrumbs {
|
|
display: flex;
|
|
}
|
|
|
|
.djs-palette-shown .bjs-breadcrumbs {
|
|
left: 90px;
|
|
}
|
|
|
|
.djs-palette-shown.djs-palette-two-column .bjs-breadcrumbs {
|
|
left: 140px;
|
|
}
|
|
|
|
.bjs-breadcrumbs li {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.bjs-breadcrumbs a.bjs-crumb {
|
|
cursor: pointer;
|
|
color: var(--breadcrumbs-item-color);
|
|
text-decoration: none;
|
|
}
|
|
|
|
.bjs-breadcrumbs a.bjs-crumb:focus-visible {
|
|
outline: solid 1px var(--breadcrumbs-focus-outline-color);
|
|
outline-offset: 1px;
|
|
}
|
|
|
|
.bjs-breadcrumbs li:not(:first-child)::before {
|
|
content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 24 24"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z" /><path d="M0 0h24v24H0z" fill="none" /></svg>');
|
|
padding: 0 8px;
|
|
color: var(--breadcrumbs-arrow-color);
|
|
height: 1em;
|
|
}
|
|
|
|
.bjs-breadcrumbs .bjs-crumb {
|
|
display: inline-block;
|
|
max-width: 200px;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.bjs-drilldown {
|
|
width: 20px;
|
|
height: 20px;
|
|
|
|
padding: 0px;
|
|
margin-left: -20px;
|
|
|
|
cursor: pointer;
|
|
border: none;
|
|
border-radius: 2px;
|
|
|
|
fill: var(--drilldown-fill-color);
|
|
background-color: var(--drilldown-background-color);
|
|
}
|
|
|
|
.bjs-drilldown:focus-visible {
|
|
outline: solid 1px var(--drilldown-focus-outline-color);
|
|
outline-offset: 1px;
|
|
}
|
|
|
|
.bjs-drilldown-empty {
|
|
display: none;
|
|
}
|
|
|
|
.selected .bjs-drilldown-empty {
|
|
display: inherit;
|
|
}
|
|
|
|
[data-popup="align-elements"] .djs-popup-results {
|
|
display: flex;
|
|
}
|
|
|
|
[data-popup="align-elements"] .djs-popup-body [data-group] + [data-group] {
|
|
border-left: 1px solid var(--popup-border-color);
|
|
}
|
|
|
|
[data-popup="align-elements"] [data-group="align"] {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, 1fr);
|
|
}
|
|
|
|
[data-popup="align-elements"] .djs-popup-body .entry {
|
|
padding: 6px 8px;
|
|
}
|
|
|
|
[data-popup="align-elements"] .djs-popup-body .entry:not(:first-child) {
|
|
margin-top: 0;
|
|
}
|
|
|
|
[data-popup="align-elements"] .djs-popup-entry-icon {
|
|
display: block;
|
|
margin: 0;
|
|
height: 20px;
|
|
width: 20px;
|
|
}
|