@llumi/design-system 2.1.2 → 2.1.4

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.2 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.2/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
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 */
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.2 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.2/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
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 */
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-B-izvxnK.js";
4
- import { i as wt } from "./icon-button-BrQf8Mq4.js";
5
- import { i as _t } from "./icons-DOPNCQuv.js";
6
- import { L as Ue } from "./llumi-element-Beh0xrtw.js";
7
- import { S as Et } from "./slot-text-BWt87cWV.js";
8
- /*! @llumi/design-system v2.1.2 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.2/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
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 */
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-Nh6jcloJ.js");
4891
+ const { layoutProcess: o } = await import("./index-BMouT9YM.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-DOPNCQuv.js";
4
- import { L as b } from "./llumi-element-Beh0xrtw.js";
3
+ import { i as s } from "./icons-_LsftaTj.js";
4
+ import { L as b } from "./llumi-element-PGzWxI8r.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.2 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.2/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
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 */
7
7
  const p = 1e3, f = m({
8
8
  initialState: { name: "idle" },
9
9
  states: {
@@ -876,252 +876,6 @@
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
- },
1125
879
  {
1126
880
  "kind": "javascript-module",
1127
881
  "path": "src/components/review/comment-dialog.element.ts",
@@ -2216,6 +1970,252 @@
2216
1970
  }
2217
1971
  }
2218
1972
  ]
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-DOPNCQuv.js";
4
- import { L as f } from "./llumi-element-Beh0xrtw.js";
3
+ import { i as a } from "./icons-_LsftaTj.js";
4
+ import { L as f } from "./llumi-element-PGzWxI8r.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.2 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.2/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
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 */
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-BrQf8Mq4.js";
5
- import { L as b } from "./llumi-element-Beh0xrtw.js";
6
- /*! @llumi/design-system v2.1.2 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.2/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
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 */
7
7
  const y = [
8
8
  "ghcolors",
9
9
  "oneLight",
@@ -1,4 +1,4 @@
1
- /*! @llumi/design-system v2.1.2 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.2/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
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 */
2
2
  const o = ":where(button:has(>i:only-child)){box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--llumi-color-border, oklch(92% .004 286.32));border-radius:var(--llumi-radius, .5rem);background:var(--llumi-color-surface, oklch(100% 0 0));color:var(--llumi-color-fg, oklch(21% .006 285.885));cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}:where(button:has(>i:only-child):hover:not(:disabled)){background:color-mix(in oklab,var(--llumi-color-fg, oklch(21% .006 285.885)) 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, oklch(62.7% .194 149.214));color:var(--llumi-color-success, oklch(62.7% .194 149.214))}:where(button.is-error:has(>i:only-child)){border-color:var(--llumi-color-danger, oklch(57.7% .245 27.325));color:var(--llumi-color-danger, oklch(57.7% .245 27.325))}:where(button.is-working:has(>i:only-child)>i>svg){animation:llumi-spin 1s linear infinite}@keyframes llumi-spin{to{transform:rotate(360deg)}}";
3
3
  export {
4
4
  o as i
@@ -1,5 +1,5 @@
1
1
  import { svg as c, html as e } from "https://cdn.jsdelivr.net/npm/lit@3.3.3/+esm";
2
- /*! @llumi/design-system v2.1.2 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.2/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
2
+ /*! @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
3
  function r(t) {
4
4
  return e`<svg
5
5
  xmlns="http://www.w3.org/2000/svg"
@@ -1,7 +1,7 @@
1
1
  var Qt = Object.defineProperty;
2
2
  var Jt = (t, e, n) => e in t ? Qt(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
3
  var ze = (t, e, n) => Jt(t, typeof e != "symbol" ? e + "" : e, n);
4
- /*! @llumi/design-system v2.1.2 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.2/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
4
+ /*! @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 */
5
5
  const Le = Object.prototype.toString, Zt = Object.prototype.hasOwnProperty;
6
6
  function Ke(t) {
7
7
  return t === void 0;
@@ -1,5 +1,5 @@
1
1
  import { LitElement as t, css as o } from "https://cdn.jsdelivr.net/npm/lit@3.3.3/+esm";
2
- /*! @llumi/design-system v2.1.2 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.2/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
2
+ /*! @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
3
  const e = o`
4
4
  :host {
5
5
  box-sizing: border-box;
package/mermaid.mjs CHANGED
@@ -1,14 +1,14 @@
1
1
  import { select as _ } from "https://cdn.jsdelivr.net/npm/d3-selection@3.0.0/+esm";
2
2
  import { zoomIdentity as l, zoom as C } from "https://cdn.jsdelivr.net/npm/d3-zoom@3.0.0/+esm";
3
3
  import { nothing as m, html as c, unsafeCSS as d } from "https://cdn.jsdelivr.net/npm/lit@3.3.3/+esm";
4
- import { property as b, state as u, query as y, customElement as T } from "https://cdn.jsdelivr.net/npm/lit@3.3.3/decorators.js/+esm";
4
+ import { property as b, state as u, query as w, customElement as y } from "https://cdn.jsdelivr.net/npm/lit@3.3.3/decorators.js/+esm";
5
5
  import p from "https://cdn.jsdelivr.net/npm/mermaid@11.16.0/+esm";
6
6
  import "https://cdn.jsdelivr.net/npm/d3-transition@3.0.1/+esm";
7
- import { i as w } from "./icon-button-BrQf8Mq4.js";
8
- import { i as S } from "./icons-DOPNCQuv.js";
9
- import { L as f } from "./llumi-element-Beh0xrtw.js";
10
- import { S as E } from "./slot-text-BWt87cWV.js";
11
- /*! @llumi/design-system v2.1.2 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.2/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
7
+ import { i as T } from "./icon-button-BK4v3Qya.js";
8
+ import { i as S } from "./icons-_LsftaTj.js";
9
+ import { L as f } from "./llumi-element-PGzWxI8r.js";
10
+ import { S as E } from "./slot-text-CIfdXSIp.js";
11
+ /*! @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 */
12
12
  const x = 0.01, z = 150;
13
13
  function P(r, t, e) {
14
14
  return l.translate(r.x - t, r.y - e).scale(r.k);
@@ -100,7 +100,7 @@ class M {
100
100
  });
101
101
  }
102
102
  }
103
- const O = ":host{display:block}.root{position:relative;width:100%;height:100%}.container{width:100%;height:100%;overflow:hidden}.container.hidden{display:none}.error{padding:1rem;font-size:.875rem;color:var(--llumi-color-danger, oklch(57.7% .245 27.325));border:1px solid color-mix(in oklab,var(--llumi-color-danger, oklch(57.7% .245 27.325)) 35%,transparent);border-radius:var(--llumi-radius, .5rem)}.error p{margin:0;font-weight:500}.error pre{margin:.5rem 0 0;font-size:.75rem;white-space:pre-wrap;font-family:var(--llumi-font-mono, ui-monospace, monospace)}.fit{position:absolute;top:.5rem;right:.5rem;z-index:1;background:color-mix(in oklab,var(--llumi-color-surface, oklch(100% 0 0)) 80%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}";
103
+ const O = ":host{display:block;width:100%;height:100%;overflow:hidden}.root{position:relative;width:100%;height:100%}.container{width:100%;height:100%;overflow:hidden}.container.hidden{display:none}.error{padding:1rem;font-size:.875rem;color:var(--llumi-color-danger, oklch(57.7% .245 27.325));border:1px solid color-mix(in oklab,var(--llumi-color-danger, oklch(57.7% .245 27.325)) 35%,transparent);border-radius:var(--llumi-radius, .5rem)}.error p{margin:0;font-weight:500}.error pre{margin:.5rem 0 0;font-size:.75rem;white-space:pre-wrap;font-family:var(--llumi-font-mono, ui-monospace, monospace)}.fit{position:absolute;top:.5rem;right:.5rem;z-index:1;background:color-mix(in oklab,var(--llumi-color-surface, oklch(100% 0 0)) 80%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}";
104
104
  function G(r = "default") {
105
105
  return typeof r == "string" ? { startOnLoad: !1, theme: r } : { startOnLoad: !1, theme: "base", themeVariables: r };
106
106
  }
@@ -153,7 +153,7 @@ let I = 0, a = class extends f {
153
153
  const e = _(t), s = e.append("g");
154
154
  for (const n of Array.from(t.childNodes))
155
155
  n !== s.node() && ((o = s.node()) == null || o.appendChild(n));
156
- t.style.cursor = "grab", t.style.maxWidth = "100%", t.style.maxHeight = "100%", t.setAttribute("height", "100%");
156
+ t.style.cursor = "grab", t.style.width = "100%", t.style.height = "100%", t.style.maxWidth = "100%", t.style.maxHeight = "100%";
157
157
  const i = C().scaleExtent([0.25, 4]).on("zoom", (n) => {
158
158
  s.attr("transform", n.transform);
159
159
  });
@@ -211,7 +211,7 @@ let I = 0, a = class extends f {
211
211
  }
212
212
  render() {
213
213
  return c`<div class="root">
214
- <div class="container ${this._error ? "hidden" : ""}"></div>
214
+ <div class="container ${this._error ? "hidden" : ""}" part="container"></div>
215
215
  ${this._hasDiagram && !this._error ? c`<button
216
216
  class="fit"
217
217
  @click=${this.fitToContent}
@@ -228,7 +228,7 @@ let I = 0, a = class extends f {
228
228
  };
229
229
  a.styles = [
230
230
  f.styles,
231
- d(w),
231
+ d(T),
232
232
  d(O)
233
233
  ];
234
234
  h([
@@ -244,10 +244,10 @@ h([
244
244
  u()
245
245
  ], a.prototype, "_hasDiagram", 2);
246
246
  h([
247
- y(".container")
247
+ w(".container")
248
248
  ], a.prototype, "_container", 2);
249
249
  a = h([
250
- T("llumi-mermaid")
250
+ y("llumi-mermaid")
251
251
  ], a);
252
252
  export {
253
253
  a as LlumiMermaid
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@llumi/design-system",
3
- "version": "2.1.2",
3
+ "version": "2.1.4",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "type": "module",
6
6
  "sideEffects": [
package/review.mjs CHANGED
@@ -1,15 +1,15 @@
1
1
  import { fromCallback as ht, setup as Lt, emit as mt, assign as E, stateIn as At, enqueueActions as Dt, createActor as Rt } from "https://cdn.jsdelivr.net/npm/xstate@5.32.2/+esm";
2
- import { a as kt } from "./adopt-global-styles-B-izvxnK.js";
2
+ import { a as kt } from "./adopt-global-styles-C0chASBU.js";
3
3
  import { tinykeys as Nt } from "https://cdn.jsdelivr.net/npm/tinykeys@3.1.0/+esm";
4
4
  import { html as w, css as W } from "https://cdn.jsdelivr.net/npm/lit@3.3.3/+esm";
5
5
  import { property as f, query as j, state as Pt, customElement as N } from "https://cdn.jsdelivr.net/npm/lit@3.3.3/decorators.js/+esm";
6
6
  import { classMap as A } from "https://cdn.jsdelivr.net/npm/lit@3.3.3/directives/class-map.js/+esm";
7
- import { i as G } from "./icons-DOPNCQuv.js";
8
- import { L as C } from "./llumi-element-Beh0xrtw.js";
7
+ import { i as G } from "./icons-_LsftaTj.js";
8
+ import { L as C } from "./llumi-element-PGzWxI8r.js";
9
9
  import { autoUpdate as bt, computePosition as Ct, offset as Et, flip as wt, shift as xt, size as yt } from "https://cdn.jsdelivr.net/npm/@floating-ui/dom@1.7.6/+esm";
10
10
  import { repeat as _t } from "https://cdn.jsdelivr.net/npm/lit@3.3.3/directives/repeat.js/+esm";
11
11
  import { styleMap as Mt } from "https://cdn.jsdelivr.net/npm/lit@3.3.3/directives/style-map.js/+esm";
12
- /*! @llumi/design-system v2.1.2 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.2/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
12
+ /*! @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 */
13
13
  function ut(i, e) {
14
14
  const t = i.getAttribute("data-review-id");
15
15
  if (t) return t;
@@ -1,4 +1,4 @@
1
- /*! @llumi/design-system v2.1.2 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.2/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
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 */
2
2
  function o(n) {
3
3
  var i;
4
4
  const t = n.split(`
package/theme.css CHANGED
@@ -1,2 +1,2 @@
1
- /*! @llumi/design-system v2.1.2 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.2/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
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 */
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}}