@llumi/design-system 2.1.4 → 2.1.5

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.
@@ -1,4 +1,4 @@
1
- /*! @llumi/design-system v2.1.4 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.4/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
1
+ /*! @llumi/design-system v2.1.5 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.5/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
2
2
  const n = /* @__PURE__ */ new Set();
3
3
  function r(e, a) {
4
4
  if (typeof document > "u" || n.has(e)) return;
package/base.css CHANGED
@@ -1,2 +1,2 @@
1
- /*! @llumi/design-system v2.1.4 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.4/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
1
+ /*! @llumi/design-system v2.1.5 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.5/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
2
2
  :root{--llumi-white:oklch(100% 0 0);--llumi-zinc-50:oklch(98.5% 0 0);--llumi-zinc-100:oklch(96.7% .001 286.375);--llumi-zinc-200:oklch(92% .004 286.32);--llumi-zinc-300:oklch(87.1% .006 286.286);--llumi-zinc-400:oklch(70.5% .015 286.067);--llumi-zinc-500:oklch(55.2% .016 285.938);--llumi-zinc-700:oklch(37% .013 285.805);--llumi-zinc-800:oklch(27.4% .006 286.033);--llumi-zinc-900:oklch(21% .006 285.885);--llumi-zinc-950:oklch(14.1% .005 285.823);--llumi-purple-100:oklch(94.6% .033 307.174);--llumi-purple-300:oklch(82.7% .119 306.383);--llumi-purple-400:oklch(71.4% .203 305.504);--llumi-purple-600:oklch(55.8% .288 302.321);--llumi-purple-700:oklch(49.6% .265 301.924);--llumi-pink-100:oklch(94.8% .028 342.258);--llumi-pink-600:oklch(59.2% .249 .584);--llumi-pink-700:oklch(52.5% .223 3.958);--llumi-green-100:oklch(96.2% .044 156.743);--llumi-green-600:oklch(62.7% .194 149.214);--llumi-red-100:oklch(93.6% .032 17.717);--llumi-red-600:oklch(57.7% .245 27.325);--llumi-amber-100:oklch(96.2% .059 95.617);--llumi-amber-600:oklch(66.6% .179 58.318);--llumi-color-bg:var(--llumi-zinc-50);--llumi-color-surface:var(--llumi-white);--llumi-color-fg:var(--llumi-zinc-900);--llumi-color-muted:var(--llumi-zinc-500);--llumi-color-border:var(--llumi-zinc-200);--llumi-color-primary:var(--llumi-purple-600);--llumi-color-primary-hover:var(--llumi-purple-700);--llumi-color-primary-subtle:var(--llumi-purple-100);--llumi-color-on-primary:var(--llumi-white);--llumi-color-accent:var(--llumi-pink-600);--llumi-color-accent-subtle:var(--llumi-pink-100);--llumi-color-on-accent:var(--llumi-white);--llumi-color-success:var(--llumi-green-600);--llumi-color-success-subtle:var(--llumi-green-100);--llumi-color-danger:var(--llumi-red-600);--llumi-color-danger-subtle:var(--llumi-red-100);--llumi-color-warning:var(--llumi-amber-600);--llumi-color-warning-subtle:var(--llumi-amber-100);--llumi-color-link:var(--llumi-purple-600);--llumi-color-link-hover:var(--llumi-purple-700);--llumi-color-ring:var(--llumi-color-primary);--llumi-radius-sm:.25rem;--llumi-radius:.5rem;--llumi-radius-lg:.75rem;--llumi-font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji";--llumi-font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--llumi-text-xs:.75rem;--llumi-text-sm:.875rem;--llumi-text-base:1rem;--llumi-text-lg:1.125rem;--llumi-text-xl:1.25rem;--llumi-text-2xl:1.5rem;--llumi-text-3xl:1.875rem;--llumi-text-4xl:2.25rem;--llumi-leading:1.5;--llumi-leading-tight:1.25;--llumi-font-weight-normal:400;--llumi-font-weight-medium:500;--llumi-font-weight-semibold:600;--llumi-font-weight-bold:700;--llumi-space:1rem;--buncss-light:initial;--buncss-dark: ;color-scheme:light}[data-theme=dark]{--llumi-color-bg:var(--llumi-zinc-950);--llumi-color-surface:var(--llumi-zinc-900);--llumi-color-fg:var(--llumi-zinc-50);--llumi-color-muted:var(--llumi-zinc-400);--llumi-color-border:var(--llumi-zinc-800);--llumi-color-link:var(--llumi-purple-400);--llumi-color-link-hover:var(--llumi-purple-300);--buncss-light: ;--buncss-dark:initial;color-scheme:dark}[data-theme=light]{--llumi-color-bg:var(--llumi-zinc-50);--llumi-color-surface:var(--llumi-white);--llumi-color-fg:var(--llumi-zinc-900);--llumi-color-muted:var(--llumi-zinc-500);--llumi-color-border:var(--llumi-zinc-200);--llumi-color-link:var(--llumi-purple-600);--llumi-color-link-hover:var(--llumi-purple-700);--buncss-light:initial;--buncss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--llumi-color-bg:var(--llumi-zinc-950);--llumi-color-surface:var(--llumi-zinc-900);--llumi-color-fg:var(--llumi-zinc-50);--llumi-color-muted:var(--llumi-zinc-400);--llumi-color-border:var(--llumi-zinc-800);--llumi-color-link:var(--llumi-purple-400);--llumi-color-link-hover:var(--llumi-purple-300);--buncss-light: ;--buncss-dark:initial;color-scheme:dark}}:where(html){font-family:var(--llumi-font-sans);line-height:var(--llumi-leading);-webkit-text-size-adjust:100%}:where(body){background:var(--llumi-color-bg);color:var(--llumi-color-fg);font-size:var(--llumi-text-base);line-height:var(--llumi-leading);margin:0}:where(h1,h2,h3,h4,h5,h6){margin:0 0 var(--llumi-space);line-height:var(--llumi-leading-tight);font-weight:var(--llumi-font-weight-semibold);color:var(--llumi-color-fg)}:where(h1){font-size:var(--llumi-text-4xl)}:where(h2){font-size:var(--llumi-text-3xl)}:where(h3){font-size:var(--llumi-text-2xl)}:where(h4){font-size:var(--llumi-text-xl)}:where(h5){font-size:var(--llumi-text-lg)}:where(h6){font-size:var(--llumi-text-base)}:where(p,ul,ol,dl,blockquote,pre,table,figure){margin:0 0 var(--llumi-space)}:where(a){color:var(--llumi-color-link);text-decoration:underline;text-underline-offset:2px}:where(a:hover){color:var(--llumi-color-link-hover)}:where(strong,b){font-weight:var(--llumi-font-weight-semibold)}:where(small){font-size:var(--llumi-text-sm)}:where(mark){background:var(--llumi-color-warning-subtle);color:var(--llumi-color-fg);border-radius:var(--llumi-radius-sm);padding:0 .2em}:where(ul,ol){padding-left:1.5rem}:where(li){margin:.25rem 0}:where(blockquote){border-left:3px solid var(--llumi-color-border);padding-left:var(--llumi-space);color:var(--llumi-color-muted)}:where(hr){border:0;border-top:1px solid var(--llumi-color-border);margin:calc(var(--llumi-space)*1.5)0}:where(code,kbd,samp){font-family:var(--llumi-font-mono);font-size:.9em}:where(code){background:var(--llumi-color-surface);border:1px solid var(--llumi-color-border);border-radius:var(--llumi-radius-sm);padding:.1em .35em}:where(pre){background:var(--llumi-color-surface);border:1px solid var(--llumi-color-border);border-radius:var(--llumi-radius);padding:var(--llumi-space);overflow:auto}:where(pre) :where(code){background:0 0;border:0;padding:0}:where(kbd){background:var(--llumi-color-surface);border:1px solid var(--llumi-color-border);border-radius:var(--llumi-radius-sm);padding:.1em .4em}:where(table){border-collapse:collapse;width:100%}:where(caption){text-align:left;color:var(--llumi-color-muted);padding-bottom:.5rem}:where(th,td){text-align:left;border-bottom:1px solid var(--llumi-color-border);padding:.5rem .75rem}:where(th){font-weight:var(--llumi-font-weight-semibold)}:where(input,textarea,select){font:inherit;color:var(--llumi-color-fg);background:var(--llumi-color-surface);border:1px solid var(--llumi-color-border);border-radius:var(--llumi-radius);padding:.5rem .75rem}:where(input:focus-visible,textarea:focus-visible,select:focus-visible){outline:2px solid var(--llumi-color-ring);outline-offset:1px}:where(button){font:inherit;font-weight:var(--llumi-font-weight-medium);color:var(--llumi-color-on-primary);background:var(--llumi-color-primary);border-radius:var(--llumi-radius);cursor:pointer;border:1px solid #0000;padding:.5rem 1rem}:where(button:hover){background:var(--llumi-color-primary-hover)}:where(button:focus-visible){outline:2px solid var(--llumi-color-ring);outline-offset:1px}:where(button:has(>i:only-child)){box-sizing:border-box;display:inline-flex;border:1px solid var(--llumi-color-border,#e4e4e7);border-radius:var(--llumi-radius,.5rem);background:var(--llumi-color-surface,#fff);color:var(--llumi-color-fg,#18181b);cursor:pointer;appearance:none;justify-content:center;align-items: center;width:2.25rem;height:2.25rem;padding:0;transition:background-color .15s,color .15s,border-color .15s}@supports (color:color(display-p3 0 0 0)){:where(button:has(>i:only-child)){border:1px solid var(--llumi-color-border,color(display-p3 .894477 .894477 .905114));background:var(--llumi-color-surface,color(display-p3 1 1 1));color:var(--llumi-color-fg,color(display-p3 .0937957 .093793 .104806))}}@supports (color:lab(0% 0 0)){:where(button:has(>i:only-child)){border:1px solid var(--llumi-color-border,lab(90.6853% .399262 -1.45453));background:var(--llumi-color-surface,lab(100% 0 0));color:var(--llumi-color-fg,lab(8.30603% .618212 -2.16573))}}:where(button:has(>i:only-child):hover:not(:disabled)){background:color-mix(in oklab,var(--llumi-color-fg,#18181b)6%,transparent)}@supports (color:color(display-p3 0 0 0)){:where(button:has(>i:only-child):hover:not(:disabled)){background:color-mix(in oklab,var(--llumi-color-fg,color(display-p3 .0937957 .093793 .104806))6%,transparent)}}@supports (color:lab(0% 0 0)){:where(button:has(>i:only-child):hover:not(:disabled)){background:color-mix(in oklab,var(--llumi-color-fg,lab(8.30603% .618212 -2.16573))6%,transparent)}}:where(button:has(>i:only-child):focus-visible){outline:2px solid var(--llumi-color-ring,oklch(55.8% .288 302.321));outline-offset:2px}:where(button:has(>i:only-child):disabled){opacity:.6;cursor:default}:where(button:has(>i:only-child)>i){display:inline-flex;width:1rem;height:1rem}:where(button:has(>i:only-child)>i>svg){width:100%;height:100%}:where(button.is-done:has(>i:only-child)){border-color:var(--llumi-color-success,#00a544);color:var(--llumi-color-success,#00a544)}@supports (color:color(display-p3 0 0 0)){:where(button.is-done:has(>i:only-child)){border-color:var(--llumi-color-success,color(display-p3 .243883 .640824 .294808));color:var(--llumi-color-success,color(display-p3 .243883 .640824 .294808))}}@supports (color:lab(0% 0 0)){:where(button.is-done:has(>i:only-child)){border-color:var(--llumi-color-success,lab(59.0978% -58.6621 41.2579));color:var(--llumi-color-success,lab(59.0978% -58.6621 41.2579))}}:where(button.is-error:has(>i:only-child)){border-color:var(--llumi-color-danger,#e40014);color:var(--llumi-color-danger,#e40014)}@supports (color:color(display-p3 0 0 0)){:where(button.is-error:has(>i:only-child)){border-color:var(--llumi-color-danger,color(display-p3 .830323 .140383 .133196));color:var(--llumi-color-danger,color(display-p3 .830323 .140383 .133196))}}@supports (color:lab(0% 0 0)){:where(button.is-error:has(>i:only-child)){border-color:var(--llumi-color-danger,lab(48.4493% 77.4328 61.5452));color:var(--llumi-color-danger,lab(48.4493% 77.4328 61.5452))}}:where(button.is-working:has(>i:only-child)>i>svg){animation:llumi-spin 1s linear infinite}@keyframes llumi-spin{to{transform:rotate(360deg)}}:where(label){display:inline-block;font-weight:var(--llumi-font-weight-medium)}:where(fieldset){border:1px solid var(--llumi-color-border);border-radius:var(--llumi-radius);padding:var(--llumi-space)}:where(legend){padding:0 .5rem}:where(img,svg,video){max-width:100%;height:auto}:where(figure){margin-inline-start:0;margin-inline-end:0}:where(figcaption){color:var(--llumi-color-muted);font-size:var(--llumi-text-sm)}
package/bpmn.mjs CHANGED
@@ -1,11 +1,11 @@
1
1
  import { html as pe, unsafeCSS as Be } from "https://cdn.jsdelivr.net/npm/lit@3.3.3/+esm";
2
2
  import { property as K, state as bt, customElement as kt } from "https://cdn.jsdelivr.net/npm/lit@3.3.3/decorators.js/+esm";
3
- import { a as yt } from "./adopt-global-styles-C0chASBU.js";
4
- import { i as wt } from "./icon-button-BK4v3Qya.js";
5
- import { i as _t } from "./icons-_LsftaTj.js";
6
- import { L as Ue } from "./llumi-element-PGzWxI8r.js";
7
- import { S as Et } from "./slot-text-CIfdXSIp.js";
8
- /*! @llumi/design-system v2.1.4 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.4/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
3
+ import { a as yt } from "./adopt-global-styles-Bo2exag9.js";
4
+ import { i as wt } from "./icon-button-DmgiqZbF.js";
5
+ import { i as _t } from "./icons-D0InUNTF.js";
6
+ import { L as Ue } from "./llumi-element-CLEVA6m6.js";
7
+ import { S as Et } from "./slot-text-Dd3_erPv.js";
8
+ /*! @llumi/design-system v2.1.5 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.5/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
9
9
  const Ct = `.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-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%);--breadcrumbs-font-family: var(--bjs-font-family);--breadcrumbs-item-color: var(--color-blue-205-100-50);--breadcrumbs-arrow-color: var(--color-black);--drilldown-fill-color: var(--color-white);--drilldown-background-color: var(--color-blue-205-100-50)}.bjs-breadcrumbs{position:absolute;display:none;flex-wrap:wrap;align-items:center;top:30px;left:30px;padding:0;margin:0;font-family:var(--breadcrumbs-font-family);font-size:16px;line-height:normal}.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;padding-bottom:5px;align-items:center}.bjs-breadcrumbs li a{cursor:pointer;color:var(--breadcrumbs-item-color)}.bjs-breadcrumbs li:last-of-type a{color:inherit;cursor:default}.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:0;margin-left:-20px;cursor:pointer;border:none;border-radius:2px;outline:none;fill:var(--drilldown-fill-color);background-color:var(--drilldown-background-color)}.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}`, At = '.djs-parent{--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-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-50-opacity-15: hsla(205, 100%, 50%, 15%);--color-blue-205-100-70: hsl(205, 100%, 75%);--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-10: hsla(0, 0%, 0%, 10%);--color-black-opacity-30: hsla(0, 0%, 0%, 30%);--canvas-fill-color: var(--color-white);--bendpoint-fill-color: var(--color-blue-205-100-45);--bendpoint-stroke-color: var(--canvas-fill-color);--context-pad-entry-background-color: var(--color-white);--context-pad-entry-hover-background-color: var(--color-grey-225-10-95);--element-dragger-color: var(--color-blue-205-100-50);--element-hover-outline-fill-color: var(--color-blue-205-100-45);--element-selected-outline-stroke-color: var(--color-blue-205-100-50);--element-selected-outline-secondary-stroke-color: var(--color-blue-205-100-70);--lasso-fill-color: var(--color-blue-205-100-50-opacity-15);--lasso-stroke-color: var(--element-selected-outline-stroke-color);--palette-entry-color: var(--color-grey-225-10-15);--palette-entry-hover-color: var(--color-blue-205-100-45);--palette-entry-selected-color: var(--color-blue-205-100-50);--palette-separator-color: var(--color-grey-225-10-75);--palette-toggle-hover-background-color: var(--color-grey-225-10-55);--palette-background-color: var(--color-grey-225-10-97);--palette-border-color: var(--color-grey-225-10-75);--popup-font-family: "IBM Plex Sans", sans-serif;--popup-font-size: 14px;--popup-header-entry-selected-color: var(--color-blue-205-100-50);--popup-header-font-weight: bolder;--popup-header-group-divider-color: var(--color-grey-225-10-75);--popup-background-color: var(--color-white);--popup-border-color: transparent;--popup-shadow-color: var(--color-black-opacity-30);--popup-disabled-color: var(--color-grey-225-10-35);--popup-description-color: var(--color-grey-225-10-35);--popup-no-results-color: var(--color-grey-225-10-55);--popup-entry-title-color: var(--color-grey-225-10-55);--popup-entry-hover-color: var(--color-grey-225-10-95);--popup-search-border-color: var(--color-grey-225-10-75);--popup-search-focus-border-color: var(--color-blue-205-100-50);--popup-search-focus-background-color: var(--color-blue-205-100-95);--resizer-fill-color: var(--color-blue-205-100-45);--resizer-stroke-color: var(--canvas-fill-color);--search-font-family: "IBM Plex Sans", sans-serif;--search-font-size: 14px;--search-container-background-color: var(--color-white);--search-shadow-color: var(--color-black-opacity-30);--search-input-border-color: var(--color-grey-225-10-75);--search-input-focus-border-color: var(--color-blue-205-100-50);--search-input-focus-background-color: var(--color-blue-205-100-95);--search-result-hover-background-color: var(--color-grey-225-10-95);--search-result-secondary-color: var(--color-grey-225-10-55);--search-preselected-background-color: var(--color-blue-205-100-50-opacity-15);--shape-attach-allowed-stroke-color: var(--color-blue-205-100-50);--shape-connect-allowed-fill-color: var(--color-grey-225-10-97);--shape-drop-allowed-fill-color: var(--color-grey-225-10-97);--shape-drop-not-allowed-fill-color: var(--color-red-360-100-97);--shape-resize-preview-stroke-color: var(--color-blue-205-100-50);--snap-line-stroke-color: var(--color-blue-205-100-45-opacity-30);--space-tool-crosshair-stroke-color: var(--color-black);--tooltip-error-background-color: var(--color-red-360-100-97);--tooltip-error-border-color: var(--color-red-360-100-45);--tooltip-error-color: var(--color-red-360-100-45)}.djs-container svg.drop-not-ok{background:var(--shape-drop-not-allowed-fill-color)!important}.djs-container svg.new-parent{background:var(--shape-drop-allowed-fill-color)!important}.djs-container svg:focus{outline-offset:-1px}.djs-outline,.djs-selection-outline{fill:none;shape-rendering:geometricPrecision;stroke-width:2px}.djs-outline{visibility:hidden}.djs-selection-outline{stroke:var(--element-selected-outline-stroke-color)}.djs-element.selected .djs-outline{visibility:visible;stroke:var(--element-selected-outline-stroke-color)}.djs-connection.selected .djs-outline{display:none}.djs-multi-select .djs-element.selected .djs-outline,.djs-dragging-active-lasso .djs-element.selected .djs-outline{stroke:var(--element-selected-outline-secondary-stroke-color);display:block}.djs-shape.connect-ok .djs-visual>:nth-child(1){fill:var(--shape-connect-allowed-fill-color)!important}.djs-shape.connect-not-ok .djs-visual>:nth-child(1),.djs-shape.drop-not-ok .djs-visual>:nth-child(1){fill:var(--shape-drop-not-allowed-fill-color)!important}.djs-shape.new-parent .djs-visual>:nth-child(1){fill:var(--shape-drop-allowed-fill-color)!important}.drop-not-ok,.connect-not-ok,.drop-not-ok *,.connect-not-ok *{cursor:not-allowed!important}.drop-ok,.connect-ok,.drop-ok *,.connect-ok *{cursor:default!important}.djs-element.attach-ok .djs-visual>:nth-child(1){stroke-width:5px!important;stroke:var(--shape-attach-allowed-stroke-color)!important}.djs-frame.connect-not-ok .djs-visual>:nth-child(1),.djs-frame.drop-not-ok .djs-visual>:nth-child(1){stroke-width:3px!important;stroke:var(--shape-drop-not-allowed-fill-color)!important;fill:none!important}.djs-lasso-overlay{fill:var(--lasso-fill-color);stroke:var(--lasso-stroke-color);stroke-width:2px;shape-rendering:geometricPrecision;pointer-events:none}.djs-resize-overlay{fill:none;stroke-dasharray:5 1 3 1;stroke:var(--shape-resize-preview-stroke-color);pointer-events:none}.djs-resizer-hit{fill:none;pointer-events:all}.djs-resizer-visual{fill:var(--resizer-fill-color);stroke-width:1px;stroke:var(--resizer-stroke-color);shape-rendering:geometricPrecision}.djs-resizer:hover .djs-resizer-visual{stroke:var(--resizer-stroke-color);stroke-opacity:1}.djs-cursor-resize-ns,.djs-resizer-n,.djs-resizer-s{cursor:ns-resize}.djs-cursor-resize-ew,.djs-resizer-e,.djs-resizer-w{cursor:ew-resize}.djs-cursor-resize-nwse,.djs-resizer-nw,.djs-resizer-se{cursor:nwse-resize}.djs-cursor-resize-nesw,.djs-resizer-ne,.djs-resizer-sw{cursor:nesw-resize}.djs-shape.djs-resizing>.djs-outline{visibility:hidden!important}.djs-shape.djs-resizing>.djs-resizer{visibility:hidden}.djs-dragger>.djs-resizer{visibility:hidden}.djs-dragger *{fill:none!important;stroke:var(--element-dragger-color)!important}.djs-dragger tspan,.djs-dragger text{fill:var(--element-dragger-color)!important;stroke:none!important}.djs-dragger marker circle,.djs-dragger marker path,.djs-dragger marker polygon,.djs-dragger marker polyline,.djs-dragger marker rect{fill:var(--element-dragger-color)!important;stroke:none!important}.djs-dragger marker text,.djs-dragger marker tspan{fill:none!important;stroke:var(--element-dragger-color)!important}.djs-dragging,.djs-dragging>*{opacity:.3!important;pointer-events:none!important}.djs-visual,.djs-outline{pointer-events:none}.djs-element.attach-ok .djs-hit{stroke-width:60px!important}.djs-element>.djs-hit-all,.djs-element>.djs-hit-no-move{pointer-events:all}.djs-element>.djs-hit-stroke,.djs-element>.djs-hit-click-stroke{pointer-events:stroke}.djs-connection .djs-visual{stroke-width:2px;fill:none}.djs-cursor-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.djs-cursor-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.djs-cursor-crosshair{cursor:crosshair}.djs-cursor-move{cursor:move}.djs-cursor-resize-ns{cursor:ns-resize}.djs-cursor-resize-ew{cursor:ew-resize}.djs-snap-line{stroke:var(--snap-line-stroke-color);stroke-linecap:round;stroke-width:2px;pointer-events:none}.djs-crosshair{stroke:var(--space-tool-crosshair-stroke-color);stroke-linecap:round;stroke-width:1px;pointer-events:none;shape-rendering:geometricPrecision;stroke-dasharray:5,5}.djs-palette{position:absolute;left:20px;top:20px;box-sizing:border-box;width:48px}.djs-palette .separator{margin:5px;padding-top:5px;border:none;border-bottom:solid 1px var(--palette-separator-color);clear:both}.djs-palette .entry:before{vertical-align:initial}.djs-palette .djs-palette-toggle{cursor:pointer}.djs-palette .entry,.djs-palette .djs-palette-toggle{color:var(--palette-entry-color);font-size:30px;text-align:center}.djs-palette .entry{float:left}.djs-palette .entry img{max-width:100%}.djs-palette .djs-palette-entries:after{content:"";display:table;clear:both}.djs-palette .djs-palette-toggle:hover{background:var(--palette-toggle-hover-background-color)}.djs-palette .entry:hover{color:var(--palette-entry-hover-color)}.djs-palette .highlighted-entry{color:var(--palette-entry-selected-color)!important}.djs-palette .entry,.djs-palette .djs-palette-toggle{width:46px;height:46px;line-height:46px;cursor:default}.djs-palette.two-column.open{width:94px}.djs-palette:not(.open) .djs-palette-entries{display:none}.djs-palette:not(.open){overflow:hidden}.djs-palette.open .djs-palette-toggle{display:none}.djs-context-pad{position:absolute;display:none;pointer-events:none;line-height:1;width:72px;z-index:100}.djs-context-pad .entry{width:22px;height:22px;text-align:center;display:inline-block;font-size:22px;margin:0 2px 2px 0;border-radius:3px;cursor:default;background-color:var(--context-pad-entry-background-color);box-shadow:0 0 2px 1px var(--context-pad-entry-background-color);pointer-events:all;vertical-align:middle}.djs-context-pad .entry:hover{background:var(--context-pad-entry-hover-background-color)}.djs-context-pad.open{display:block}.djs-popup{line-height:1;box-sizing:border-box;width:min-content;background:var(--popup-background-color);overflow:hidden;position:fixed;z-index:200;box-shadow:0 2px 6px var(--popup-shadow-color);border:solid 1px var(--popup-border-color);min-width:120px;outline:none;font-size:var(--popup-font-size);font-family:var(--popup-font-family)}.djs-popup-search input{width:100%;box-sizing:border-box;font-size:var(--popup-font-size);padding:3px 6px 3px 28px;border-radius:2px;border:solid 1px var(--popup-search-border-color);line-height:21px}.djs-popup-search input:focus{background-color:var(--popup-search-focus-background-color);border:solid 1px var(--popup-search-focus-border-color);outline:none}.djs-popup-header{display:flex;align-items:stretch;line-height:20px;margin:10px 12px}.djs-popup-header .entry{border-radius:2px}.djs-popup button.entry{padding:0;background:transparent;border:0}.djs-popup-header .entry.active{color:var(--popup-header-entry-selected-color)}.djs-popup-header .entry.disabled{color:inherit}.djs-popup-header-group{display:flex;flex-direction:row;align-items:center;list-style:none;margin:0;padding:0}.djs-popup-header-group .entry{display:flex;flex-direction:row;align-items:center}.djs-popup-header-group+.djs-popup-header-group:before{content:"";width:1px;height:20px;background:var(--popup-header-group-divider-color);margin:0 5px}.djs-popup-search{position:relative;width:auto;margin:10px 12px}.djs-popup-title{font-size:var(--popup-font-size);font-weight:var(--popup-header-font-weight);flex:1;margin:0}.djs-popup-breadcrumbs{display:flex;line-height:20px;margin:10px 12px}.djs-popup-breadcrumbs-item{display:inline-flex;min-width:0;padding:0;margin:0;background:transparent;border:0;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:var(--popup-description-color);font:inherit;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.djs-popup-breadcrumbs-item--separator:before{display:inline-block;content:"/";color:var(--popup-description-color);margin:0 4px}.djs-popup-breadcrumbs-item:hover{color:inherit;text-decoration:underline}.djs-popup-breadcrumbs-item:focus-visible{outline:1px solid var(--popup-search-focus-border-color);outline-offset:2px}.djs-popup-breadcrumbs-item--back{align-items:center;justify-content:center;flex-shrink:0;padding:2px 3px;margin-right:6px;border:1px solid var(--popup-search-border-color);border-radius:4px}.djs-popup-breadcrumbs-item--back:hover{background:#f2f3f5}.djs-popup-breadcrumbs-item--current{font-weight:var(--popup-header-font-weight);color:inherit;cursor:default}.djs-popup-breadcrumbs-item--current:hover{text-decoration:none}.djs-popup-entry-chevron{display:flex;align-items:center;margin-left:6px;color:var(--popup-description-color)}.djs-popup-search-icon{position:absolute;left:8px;top:7px}.djs-popup-search-count{margin:0 12px;font-size:11px;color:var(--popup-description-color)}.djs-popup-results{margin:7px 3px 7px 12px;list-style:none;max-height:280px;overflow:auto;padding-right:9px}.djs-popup-group{margin:0;padding:0;width:100%}.djs-popup-body .entry,.djs-popup-body .entry-header{padding:5px 7px;cursor:default;border-radius:4px}.djs-popup-body .entry-header{font-weight:var(--popup-header-font-weight);color:var(--popup-entry-title-color);padding-left:0}.djs-popup [class*=icon] .djs-popup-label,.djs-popup-label:not(:first-child){margin-left:.5em}.djs-popup [class*=icon]:before,.djs-popup-entry-icon{width:1em;height:1em;display:inline-block;font-size:1.4em;vertical-align:middle}.djs-popup-body .entry-header:not(:first-child){margin-top:8px;margin-bottom:2px}.djs-popup-body .entry{display:flex;flex-direction:row;align-items:stretch;height:min-content}.djs-popup .entry.selected{background-color:var(--popup-entry-hover-color)}.djs-popup .entry.disabled{color:var(--popup-disabled-color);cursor:not-allowed}.djs-popup-body .entry:not(:first-child){margin-top:2px}.djs-popup-entry-content{display:flex;flex-direction:column;flex:1}.djs-popup-entry-description{font-size:.9em;margin-top:.25em;color:var(--popup-description-color)}.djs-popup-label,.djs-popup-entry-description{line-height:1.4em}.djs-popup .entry,.djs-popup .entry-header{margin:1px}.djs-popup-body{flex-direction:column;width:auto}.djs-popup *::-webkit-scrollbar{width:6px}.djs-popup *::-webkit-scrollbar-thumb{border-radius:3px;background-color:#0003}.djs-popup *::-webkit-scrollbar-track{box-shadow:none;background:transparent;margin:0;padding:5px}.djs-popup-no-results{padding:0 12px 12px;color:var(--popup-no-results-color)}.djs-popup-entry-docs{display:none;margin-left:3px;color:var(--popup-description-color)}.djs-popup-body .entry:focus-within .djs-popup-entry-docs,.djs-popup-body .entry:focus .djs-popup-entry-docs,.djs-popup-body .entry:hover .djs-popup-entry-docs{display:inline}.djs-popup-entry-docs svg{vertical-align:middle;margin:2px}.djs-palette{background:var(--palette-background-color);border:solid 1px var(--palette-border-color);border-radius:2px}.djs-segment-dragger,.djs-bendpoint{display:none}.djs-segment-dragger .djs-visual{display:none;fill:var(--bendpoint-fill-color);stroke:var(--bendpoint-stroke-color);stroke-width:1px;stroke-opacity:1}.djs-segment-dragger:hover .djs-visual{display:block}.djs-bendpoint .djs-visual{fill:var(--bendpoint-fill-color);stroke:var(--bendpoint-stroke-color);stroke-width:1px}.djs-segment-dragger:hover,.djs-bendpoints.hover .djs-segment-dragger,.djs-bendpoints.selected .djs-segment-dragger,.djs-bendpoint:hover,.djs-bendpoints.hover .djs-bendpoint,.djs-bendpoints.selected .djs-bendpoint{display:block}.djs-drag-active .djs-bendpoints *{display:none}.djs-bendpoints:not(.hover) .floating{display:none}.djs-segment-dragger:hover .djs-visual,.djs-segment-dragger.djs-dragging .djs-visual,.djs-bendpoint:hover .djs-visual,.djs-bendpoint.floating .djs-visual{fill:var(--bendpoint-fill-color);stroke:var(--bendpoint-stroke-color);stroke-opacity:1}.djs-bendpoint.floating .djs-hit{pointer-events:none}.djs-segment-dragger .djs-hit,.djs-bendpoint .djs-hit{fill:none;pointer-events:all}.djs-segment-dragger.horizontal .djs-hit{cursor:ns-resize}.djs-segment-dragger.vertical .djs-hit{cursor:ew-resize}.djs-segment-dragger.djs-dragging .djs-hit{pointer-events:none}.djs-updating,.djs-updating>*{pointer-events:none!important}.djs-updating .djs-context-pad,.djs-updating .djs-outline,.djs-updating .djs-bendpoint,.djs-multi-select .djs-bendpoint,.djs-multi-select .djs-segment-dragger,.connect-ok .djs-bendpoint,.connect-not-ok .djs-bendpoint,.drop-ok .djs-bendpoint,.drop-not-ok .djs-bendpoint{display:none!important}.djs-segment-dragger.djs-dragging,.djs-bendpoint.djs-dragging{display:block;opacity:1}.djs-tooltip-error{width:160px;padding:6px;background:var(--tooltip-error-background-color);border:solid 1px var(--tooltip-error-border-color);border-radius:2px;color:var(--tooltip-error-color);font-size:12px;line-height:16px;opacity:.75}.djs-tooltip-error:hover{opacity:1}.djs-search-open .djs-context-pad{display:none}.djs-search-open .djs-connection.selected .djs-outline{display:block}.djs-search-container{position:absolute;top:20px;left:0;right:0;margin-left:auto;margin-right:auto;width:25%;min-width:300px;max-width:400px;z-index:10;font-family:var(--search-font-family);font-size:var(--search-font-size);border-radius:2px;box-shadow:0 2px 6px var(--search-shadow-color)}.djs-search-container:not(.open){display:none}.djs-search-input{position:relative}.djs-search-input svg{position:absolute;left:8px;top:7px}.djs-search-input input{font-size:var(--search-font-size);width:100%;padding:3px 6px 3px 28px;border:1px solid var(--search-input-border-color);border-radius:2px;box-sizing:border-box;line-height:21px}.djs-search-input input:focus{background-color:var(--search-input-focus-background-color);border:solid 1px var(--search-input-focus-border-color);outline:none}.djs-search-results{position:relative;overflow-y:auto;max-height:200px;background:var(--search-container-background-color)}.djs-search-result{padding:6px 8px}.djs-search-result-primary{margin:0 0 3px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.djs-search-result-secondary{font-family:monospace;margin:0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;color:var(--search-result-secondary-color)}.djs-search-result:hover,.djs-search-result-selected,.djs-search-result-selected:hover{background:var(--search-result-hover-background-color)}.djs-search-open .djs-element .djs-outline{fill:var(--search-preselected-background-color)!important}.djs-element-hidden,.djs-element-hidden .djs-hit,.djs-element-hidden .djs-outline,.djs-label-hidden .djs-label{display:none!important}.djs-element .djs-hit-stroke,.djs-element .djs-hit-click-stroke,.djs-element .djs-hit-all{cursor:move}', St = ":host{display:block;position:relative;width:100%;height:100%}.toolbar{position:absolute;top:.5rem;right:.5rem;z-index:1}.error{padding:1rem;border:1px solid var(--llumi-color-danger, #e53935);border-radius:var(--llumi-radius, .375rem);color:var(--llumi-color-danger, #e53935);font-size:.875rem}.error-title{margin:0;font-weight:600}.error-detail{margin:.5rem 0 0;font-size:.75rem;white-space:pre-wrap}", It = {
10
10
  "bpmn-focus-single": { stroke: "#7c3aed", fill: "#ede9fe" },
11
11
  "bpmn-error": { stroke: "#e53935", fill: "#ffcdd2" },
@@ -4888,7 +4888,7 @@ ${Lt}
4888
4888
  try {
4889
4889
  let i = Oi(t);
4890
4890
  if (this.autoLayout) {
4891
- const { layoutProcess: o } = await import("./index-BMouT9YM.js");
4891
+ const { layoutProcess: o } = await import("./index-DB0dYOCa.js");
4892
4892
  if (e !== this._seq) return;
4893
4893
  i = await o(i);
4894
4894
  }
package/copy-button.mjs CHANGED
@@ -1,9 +1,9 @@
1
1
  import { html as d } from "https://cdn.jsdelivr.net/npm/lit@3.3.3/+esm";
2
2
  import { property as u, customElement as h } from "https://cdn.jsdelivr.net/npm/lit@3.3.3/decorators.js/+esm";
3
- import { i as s } from "./icons-_LsftaTj.js";
4
- import { L as b } from "./llumi-element-PGzWxI8r.js";
3
+ import { i as s } from "./icons-D0InUNTF.js";
4
+ import { L as b } from "./llumi-element-CLEVA6m6.js";
5
5
  import { defineMachine as m } from "https://cdn.jsdelivr.net/npm/yay-machine@1.5.0/+esm";
6
- /*! @llumi/design-system v2.1.4 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.4/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
6
+ /*! @llumi/design-system v2.1.5 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.5/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
7
7
  const p = 1e3, f = m({
8
8
  initialState: { name: "idle" },
9
9
  states: {
@@ -876,6 +876,252 @@
876
876
  }
877
877
  ]
878
878
  },
879
+ {
880
+ "kind": "javascript-module",
881
+ "path": "src/components/mermaid/mermaid.element.ts",
882
+ "declarations": [
883
+ {
884
+ "kind": "class",
885
+ "description": "`<llumi-mermaid>` — renders a Mermaid diagram from a definition string.\nShadow DOM; async render guarded by a `_seq` cancellation token. Custom\ntheming is delegated to mermaid's in-diagram directives; `theme` selects a\nbuilt-in theme name. Pan/zoom + fit button are wired via d3-zoom and\nMacGesturesController.",
886
+ "name": "LlumiMermaid",
887
+ "members": [
888
+ {
889
+ "kind": "field",
890
+ "name": "theme",
891
+ "type": {
892
+ "text": "string"
893
+ },
894
+ "default": "\"default\"",
895
+ "attribute": "theme",
896
+ "reflects": true
897
+ },
898
+ {
899
+ "kind": "field",
900
+ "name": "_source",
901
+ "type": {
902
+ "text": "string"
903
+ },
904
+ "privacy": "protected",
905
+ "default": "\"\""
906
+ },
907
+ {
908
+ "kind": "field",
909
+ "name": "_error",
910
+ "type": {
911
+ "text": "string | null"
912
+ },
913
+ "privacy": "protected",
914
+ "default": "null"
915
+ },
916
+ {
917
+ "kind": "field",
918
+ "name": "_hasDiagram",
919
+ "type": {
920
+ "text": "boolean"
921
+ },
922
+ "privacy": "protected",
923
+ "default": "false"
924
+ },
925
+ {
926
+ "kind": "field",
927
+ "name": "_slot",
928
+ "privacy": "private",
929
+ "readonly": true,
930
+ "default": "new SlotTextController(this, (text) => { this._source = text; })"
931
+ },
932
+ {
933
+ "kind": "field",
934
+ "name": "_container",
935
+ "type": {
936
+ "text": "HTMLDivElement"
937
+ },
938
+ "privacy": "protected"
939
+ },
940
+ {
941
+ "kind": "field",
942
+ "name": "_uid",
943
+ "privacy": "protected",
944
+ "readonly": true,
945
+ "default": "`llumi-mermaid-${++uidCounter}`"
946
+ },
947
+ {
948
+ "kind": "field",
949
+ "name": "_seq",
950
+ "type": {
951
+ "text": "number"
952
+ },
953
+ "privacy": "protected",
954
+ "default": "0"
955
+ },
956
+ {
957
+ "kind": "field",
958
+ "name": "_renderTask",
959
+ "type": {
960
+ "text": "Promise<void>"
961
+ },
962
+ "privacy": "private"
963
+ },
964
+ {
965
+ "kind": "field",
966
+ "name": "_gestures",
967
+ "privacy": "private",
968
+ "readonly": true,
969
+ "default": "new MacGesturesController(this)"
970
+ },
971
+ {
972
+ "kind": "field",
973
+ "name": "_zoomCtx",
974
+ "type": {
975
+ "text": "{\n\t\tsvgSelection: Selection<SVGSVGElement, unknown, null, undefined>;\n\t\tzoomBehavior: ZoomBehavior<SVGSVGElement, unknown>;\n\t} | null"
976
+ },
977
+ "privacy": "private",
978
+ "default": "null"
979
+ },
980
+ {
981
+ "kind": "field",
982
+ "name": "resolvedCode",
983
+ "type": {
984
+ "text": "string"
985
+ },
986
+ "privacy": "protected",
987
+ "description": "Diagram source: dedented light-DOM text content.",
988
+ "readonly": true
989
+ },
990
+ {
991
+ "kind": "field",
992
+ "name": "whenRendered",
993
+ "type": {
994
+ "text": "Promise<void>"
995
+ },
996
+ "description": "Test hook: resolves when the in-flight render has settled.\nChains through `updateComplete` so that calling this immediately after a\nproperty change (before the next Lit update cycle) still awaits the render\nthat `willUpdate` schedules for that change.",
997
+ "readonly": true
998
+ },
999
+ {
1000
+ "kind": "method",
1001
+ "name": "cleanupOrphans",
1002
+ "privacy": "protected",
1003
+ "return": {
1004
+ "type": {
1005
+ "text": "void"
1006
+ }
1007
+ }
1008
+ },
1009
+ {
1010
+ "kind": "method",
1011
+ "name": "onSvgRendered",
1012
+ "privacy": "protected",
1013
+ "return": {
1014
+ "type": {
1015
+ "text": "void"
1016
+ }
1017
+ },
1018
+ "parameters": [
1019
+ {
1020
+ "name": "container",
1021
+ "type": {
1022
+ "text": "HTMLDivElement"
1023
+ }
1024
+ }
1025
+ ],
1026
+ "description": "Attach d3-zoom + gestures to the freshly rendered SVG."
1027
+ },
1028
+ {
1029
+ "kind": "method",
1030
+ "name": "teardownZoom",
1031
+ "privacy": "protected",
1032
+ "return": {
1033
+ "type": {
1034
+ "text": "void"
1035
+ }
1036
+ },
1037
+ "description": "Tear down zoom/gesture state on error/disconnect."
1038
+ },
1039
+ {
1040
+ "kind": "method",
1041
+ "name": "zoomTo",
1042
+ "return": {
1043
+ "type": {
1044
+ "text": "void"
1045
+ }
1046
+ },
1047
+ "parameters": [
1048
+ {
1049
+ "name": "k",
1050
+ "type": {
1051
+ "text": "number"
1052
+ }
1053
+ }
1054
+ ],
1055
+ "description": "Test hook: jump the zoom to scale `k` (no transition)."
1056
+ },
1057
+ {
1058
+ "kind": "field",
1059
+ "name": "fitToContent",
1060
+ "privacy": "private",
1061
+ "readonly": true
1062
+ },
1063
+ {
1064
+ "kind": "method",
1065
+ "name": "renderDiagram",
1066
+ "privacy": "protected",
1067
+ "return": {
1068
+ "type": {
1069
+ "text": "Promise<void>"
1070
+ }
1071
+ }
1072
+ }
1073
+ ],
1074
+ "events": [
1075
+ {
1076
+ "name": "llumi-mermaid-render",
1077
+ "type": {
1078
+ "text": "CustomEvent"
1079
+ }
1080
+ },
1081
+ {
1082
+ "name": "llumi-mermaid-error",
1083
+ "type": {
1084
+ "text": "CustomEvent"
1085
+ }
1086
+ }
1087
+ ],
1088
+ "attributes": [
1089
+ {
1090
+ "name": "theme",
1091
+ "type": {
1092
+ "text": "string"
1093
+ },
1094
+ "default": "\"default\"",
1095
+ "fieldName": "theme"
1096
+ }
1097
+ ],
1098
+ "superclass": {
1099
+ "name": "LlumiElement",
1100
+ "module": "/src/shared/llumi-element"
1101
+ },
1102
+ "tagName": "llumi-mermaid",
1103
+ "customElement": true
1104
+ }
1105
+ ],
1106
+ "exports": [
1107
+ {
1108
+ "kind": "js",
1109
+ "name": "LlumiMermaid",
1110
+ "declaration": {
1111
+ "name": "LlumiMermaid",
1112
+ "module": "src/components/mermaid/mermaid.element.ts"
1113
+ }
1114
+ },
1115
+ {
1116
+ "kind": "custom-element-definition",
1117
+ "name": "llumi-mermaid",
1118
+ "declaration": {
1119
+ "name": "LlumiMermaid",
1120
+ "module": "src/components/mermaid/mermaid.element.ts"
1121
+ }
1122
+ }
1123
+ ]
1124
+ },
879
1125
  {
880
1126
  "kind": "javascript-module",
881
1127
  "path": "src/components/review/comment-dialog.element.ts",
@@ -1970,252 +2216,6 @@
1970
2216
  }
1971
2217
  }
1972
2218
  ]
1973
- },
1974
- {
1975
- "kind": "javascript-module",
1976
- "path": "src/components/mermaid/mermaid.element.ts",
1977
- "declarations": [
1978
- {
1979
- "kind": "class",
1980
- "description": "`<llumi-mermaid>` — renders a Mermaid diagram from a definition string.\nShadow DOM; async render guarded by a `_seq` cancellation token. Custom\ntheming is delegated to mermaid's in-diagram directives; `theme` selects a\nbuilt-in theme name. Pan/zoom + fit button are wired via d3-zoom and\nMacGesturesController.",
1981
- "name": "LlumiMermaid",
1982
- "members": [
1983
- {
1984
- "kind": "field",
1985
- "name": "theme",
1986
- "type": {
1987
- "text": "string"
1988
- },
1989
- "default": "\"default\"",
1990
- "attribute": "theme",
1991
- "reflects": true
1992
- },
1993
- {
1994
- "kind": "field",
1995
- "name": "_source",
1996
- "type": {
1997
- "text": "string"
1998
- },
1999
- "privacy": "protected",
2000
- "default": "\"\""
2001
- },
2002
- {
2003
- "kind": "field",
2004
- "name": "_error",
2005
- "type": {
2006
- "text": "string | null"
2007
- },
2008
- "privacy": "protected",
2009
- "default": "null"
2010
- },
2011
- {
2012
- "kind": "field",
2013
- "name": "_hasDiagram",
2014
- "type": {
2015
- "text": "boolean"
2016
- },
2017
- "privacy": "protected",
2018
- "default": "false"
2019
- },
2020
- {
2021
- "kind": "field",
2022
- "name": "_slot",
2023
- "privacy": "private",
2024
- "readonly": true,
2025
- "default": "new SlotTextController(this, (text) => { this._source = text; })"
2026
- },
2027
- {
2028
- "kind": "field",
2029
- "name": "_container",
2030
- "type": {
2031
- "text": "HTMLDivElement"
2032
- },
2033
- "privacy": "protected"
2034
- },
2035
- {
2036
- "kind": "field",
2037
- "name": "_uid",
2038
- "privacy": "protected",
2039
- "readonly": true,
2040
- "default": "`llumi-mermaid-${++uidCounter}`"
2041
- },
2042
- {
2043
- "kind": "field",
2044
- "name": "_seq",
2045
- "type": {
2046
- "text": "number"
2047
- },
2048
- "privacy": "protected",
2049
- "default": "0"
2050
- },
2051
- {
2052
- "kind": "field",
2053
- "name": "_renderTask",
2054
- "type": {
2055
- "text": "Promise<void>"
2056
- },
2057
- "privacy": "private"
2058
- },
2059
- {
2060
- "kind": "field",
2061
- "name": "_gestures",
2062
- "privacy": "private",
2063
- "readonly": true,
2064
- "default": "new MacGesturesController(this)"
2065
- },
2066
- {
2067
- "kind": "field",
2068
- "name": "_zoomCtx",
2069
- "type": {
2070
- "text": "{\n\t\tsvgSelection: Selection<SVGSVGElement, unknown, null, undefined>;\n\t\tzoomBehavior: ZoomBehavior<SVGSVGElement, unknown>;\n\t} | null"
2071
- },
2072
- "privacy": "private",
2073
- "default": "null"
2074
- },
2075
- {
2076
- "kind": "field",
2077
- "name": "resolvedCode",
2078
- "type": {
2079
- "text": "string"
2080
- },
2081
- "privacy": "protected",
2082
- "description": "Diagram source: dedented light-DOM text content.",
2083
- "readonly": true
2084
- },
2085
- {
2086
- "kind": "field",
2087
- "name": "whenRendered",
2088
- "type": {
2089
- "text": "Promise<void>"
2090
- },
2091
- "description": "Test hook: resolves when the in-flight render has settled.\nChains through `updateComplete` so that calling this immediately after a\nproperty change (before the next Lit update cycle) still awaits the render\nthat `willUpdate` schedules for that change.",
2092
- "readonly": true
2093
- },
2094
- {
2095
- "kind": "method",
2096
- "name": "cleanupOrphans",
2097
- "privacy": "protected",
2098
- "return": {
2099
- "type": {
2100
- "text": "void"
2101
- }
2102
- }
2103
- },
2104
- {
2105
- "kind": "method",
2106
- "name": "onSvgRendered",
2107
- "privacy": "protected",
2108
- "return": {
2109
- "type": {
2110
- "text": "void"
2111
- }
2112
- },
2113
- "parameters": [
2114
- {
2115
- "name": "container",
2116
- "type": {
2117
- "text": "HTMLDivElement"
2118
- }
2119
- }
2120
- ],
2121
- "description": "Attach d3-zoom + gestures to the freshly rendered SVG."
2122
- },
2123
- {
2124
- "kind": "method",
2125
- "name": "teardownZoom",
2126
- "privacy": "protected",
2127
- "return": {
2128
- "type": {
2129
- "text": "void"
2130
- }
2131
- },
2132
- "description": "Tear down zoom/gesture state on error/disconnect."
2133
- },
2134
- {
2135
- "kind": "method",
2136
- "name": "zoomTo",
2137
- "return": {
2138
- "type": {
2139
- "text": "void"
2140
- }
2141
- },
2142
- "parameters": [
2143
- {
2144
- "name": "k",
2145
- "type": {
2146
- "text": "number"
2147
- }
2148
- }
2149
- ],
2150
- "description": "Test hook: jump the zoom to scale `k` (no transition)."
2151
- },
2152
- {
2153
- "kind": "field",
2154
- "name": "fitToContent",
2155
- "privacy": "private",
2156
- "readonly": true
2157
- },
2158
- {
2159
- "kind": "method",
2160
- "name": "renderDiagram",
2161
- "privacy": "protected",
2162
- "return": {
2163
- "type": {
2164
- "text": "Promise<void>"
2165
- }
2166
- }
2167
- }
2168
- ],
2169
- "events": [
2170
- {
2171
- "name": "llumi-mermaid-render",
2172
- "type": {
2173
- "text": "CustomEvent"
2174
- }
2175
- },
2176
- {
2177
- "name": "llumi-mermaid-error",
2178
- "type": {
2179
- "text": "CustomEvent"
2180
- }
2181
- }
2182
- ],
2183
- "attributes": [
2184
- {
2185
- "name": "theme",
2186
- "type": {
2187
- "text": "string"
2188
- },
2189
- "default": "\"default\"",
2190
- "fieldName": "theme"
2191
- }
2192
- ],
2193
- "superclass": {
2194
- "name": "LlumiElement",
2195
- "module": "/src/shared/llumi-element"
2196
- },
2197
- "tagName": "llumi-mermaid",
2198
- "customElement": true
2199
- }
2200
- ],
2201
- "exports": [
2202
- {
2203
- "kind": "js",
2204
- "name": "LlumiMermaid",
2205
- "declaration": {
2206
- "name": "LlumiMermaid",
2207
- "module": "src/components/mermaid/mermaid.element.ts"
2208
- }
2209
- },
2210
- {
2211
- "kind": "custom-element-definition",
2212
- "name": "llumi-mermaid",
2213
- "declaration": {
2214
- "name": "LlumiMermaid",
2215
- "module": "src/components/mermaid/mermaid.element.ts"
2216
- }
2217
- }
2218
- ]
2219
2219
  }
2220
2220
  ]
2221
2221
  }
@@ -1,9 +1,9 @@
1
1
  import { html as u } from "https://cdn.jsdelivr.net/npm/lit@3.3.3/+esm";
2
2
  import { property as l, customElement as p } from "https://cdn.jsdelivr.net/npm/lit@3.3.3/decorators.js/+esm";
3
- import { i as a } from "./icons-_LsftaTj.js";
4
- import { L as f } from "./llumi-element-PGzWxI8r.js";
3
+ import { i as a } from "./icons-D0InUNTF.js";
4
+ import { L as f } from "./llumi-element-CLEVA6m6.js";
5
5
  import { defineMachine as h } from "https://cdn.jsdelivr.net/npm/yay-machine@1.5.0/+esm";
6
- /*! @llumi/design-system v2.1.4 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.4/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
6
+ /*! @llumi/design-system v2.1.5 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.5/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
7
7
  const d = 1e3, O = h({
8
8
  initialState: { name: "idle" },
9
9
  states: {
package/highlighter.mjs CHANGED
@@ -1,9 +1,9 @@
1
1
  import { nothing as f, html as h, unsafeCSS as p } from "https://cdn.jsdelivr.net/npm/lit@3.3.3/+esm";
2
2
  import { property as c, customElement as v } from "https://cdn.jsdelivr.net/npm/lit@3.3.3/decorators.js/+esm";
3
3
  import { refractor as u } from "https://cdn.jsdelivr.net/npm/refractor@5.0.0/core/+esm";
4
- import { i as w } from "./icon-button-BK4v3Qya.js";
5
- import { L as b } from "./llumi-element-PGzWxI8r.js";
6
- /*! @llumi/design-system v2.1.4 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.4/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
4
+ import { i as w } from "./icon-button-DmgiqZbF.js";
5
+ import { L as b } from "./llumi-element-CLEVA6m6.js";
6
+ /*! @llumi/design-system v2.1.5 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.5/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
7
7
  const y = [
8
8
  "ghcolors",
9
9
  "oneLight",