@llumi/design-system 2.1.0 → 2.1.2

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.
@@ -512,366 +512,366 @@
512
512
  },
513
513
  {
514
514
  "kind": "javascript-module",
515
- "path": "src/components/highlighter/highlighter.element.ts",
515
+ "path": "src/components/download-button/download-button.element.ts",
516
516
  "declarations": [
517
517
  {
518
518
  "kind": "class",
519
- "description": "`<llumi-highlighter>` — syntax-highlighted code block (Prism via refractor),\n4 themes, optional copy button, and line-range dimming. Shadow DOM.",
520
- "name": "LlumiHighlighter",
519
+ "description": "`<llumi-download-button>` — download-a-string-as-a-file icon button with\nsuccess/error feedback. Renders in light DOM; styled by the shared\nicon-button rules in `base.css`.",
520
+ "name": "LlumiDownloadButton",
521
521
  "members": [
522
522
  {
523
523
  "kind": "field",
524
- "name": "language",
524
+ "name": "filename",
525
525
  "type": {
526
526
  "text": "string"
527
527
  },
528
528
  "default": "\"\"",
529
- "attribute": "language"
529
+ "description": "Name of the downloaded file. Required — a click with no filename is a no-op.",
530
+ "attribute": "filename"
530
531
  },
531
532
  {
532
533
  "kind": "field",
533
- "name": "theme",
534
+ "name": "mimeType",
534
535
  "type": {
535
536
  "text": "string"
536
537
  },
537
- "default": "\"ghcolors\"",
538
- "attribute": "theme",
539
- "reflects": true
538
+ "default": "\"text/plain\"",
539
+ "description": "MIME type for the Blob.",
540
+ "attribute": "mime-type"
540
541
  },
541
542
  {
542
543
  "kind": "field",
543
- "name": "code",
544
+ "name": "title",
544
545
  "type": {
545
546
  "text": "string"
546
547
  },
547
- "default": "\"\"",
548
- "attribute": "code"
549
- },
550
- {
551
- "kind": "field",
552
- "name": "highlight",
553
- "type": {
554
- "text": "LineRange[] | undefined"
555
- }
556
- },
557
- {
558
- "kind": "field",
559
- "name": "copyButton",
560
- "type": {
561
- "text": "boolean"
562
- },
563
- "default": "true",
564
- "attribute": "copy-button"
548
+ "default": "\"Download file\"",
549
+ "description": "Tooltip + mirrored to the button's aria-label.",
550
+ "attribute": "title"
565
551
  },
566
552
  {
567
553
  "kind": "field",
568
- "name": "_tokenLines",
554
+ "name": "getValue",
569
555
  "type": {
570
- "text": "Line[]"
556
+ "text": "() => string | undefined"
571
557
  },
572
- "privacy": "private",
573
- "default": "[]"
558
+ "description": "Content source (highest precedence), JS property only — no attribute."
574
559
  },
575
560
  {
576
561
  "kind": "field",
577
- "name": "_seq",
562
+ "name": "instance",
578
563
  "type": {
579
- "text": "number"
564
+ "text": "ReturnType<typeof downloadButtonMachine.newInstance> | undefined"
580
565
  },
581
- "privacy": "private",
582
- "default": "0"
566
+ "privacy": "private"
583
567
  },
584
568
  {
585
569
  "kind": "field",
586
- "name": "_highlightTask",
570
+ "name": "unsubscribe",
587
571
  "type": {
588
- "text": "Promise<void>"
572
+ "text": "() => void | undefined"
589
573
  },
590
574
  "privacy": "private"
591
575
  },
592
576
  {
593
- "kind": "field",
594
- "name": "_warnedLang",
595
- "type": {
596
- "text": "string"
597
- },
577
+ "kind": "method",
578
+ "name": "onTransition",
598
579
  "privacy": "private",
599
- "default": "\"\""
600
- },
601
- {
602
- "kind": "field",
603
- "name": "resolvedCode",
604
- "type": {
605
- "text": "string"
606
- },
607
- "description": "Code source: `code` property, else light-DOM text content.",
608
- "readonly": true
609
- },
610
- {
611
- "kind": "field",
612
- "name": "whenHighlighted",
613
- "type": {
614
- "text": "Promise<void>"
615
- },
616
- "description": "Test hook: resolves when the in-flight highlight pass has finished.",
617
- "readonly": true
580
+ "parameters": [
581
+ {
582
+ "name": "_state",
583
+ "type": {
584
+ "text": "DownloadButtonState"
585
+ }
586
+ },
587
+ {
588
+ "name": "event",
589
+ "type": {
590
+ "text": "DownloadButtonEvent | undefined"
591
+ }
592
+ }
593
+ ]
618
594
  },
619
595
  {
620
596
  "kind": "method",
621
- "name": "runHighlight",
622
- "privacy": "private",
623
- "return": {
624
- "type": {
625
- "text": "Promise<void>"
626
- }
627
- }
597
+ "name": "onClick",
598
+ "privacy": "private"
628
599
  },
629
600
  {
630
601
  "kind": "method",
631
- "name": "renderLines",
602
+ "name": "viewFor",
632
603
  "privacy": "private",
633
604
  "return": {
634
605
  "type": {
635
- "text": "TemplateResult[]"
606
+ "text": "{\n\t\ticon: TemplateResult;\n\t\tcls: string;\n\t}"
636
607
  }
637
- }
608
+ },
609
+ "parameters": [
610
+ {
611
+ "name": "name",
612
+ "type": {
613
+ "text": "DownloadButtonState[\"name\"]"
614
+ }
615
+ }
616
+ ]
638
617
  }
639
618
  ],
640
- "attributes": [
619
+ "events": [
641
620
  {
642
- "name": "language",
621
+ "name": "llumi-download",
643
622
  "type": {
644
- "text": "string"
623
+ "text": "CustomEvent"
645
624
  },
646
- "default": "\"\"",
647
- "fieldName": "language"
625
+ "description": "on success; detail `{ filename }`"
648
626
  },
649
627
  {
650
- "name": "theme",
628
+ "name": "llumi-download-error",
629
+ "type": {
630
+ "text": "CustomEvent"
631
+ },
632
+ "description": "on failure; detail `{ error }`"
633
+ }
634
+ ],
635
+ "attributes": [
636
+ {
637
+ "name": "filename",
651
638
  "type": {
652
639
  "text": "string"
653
640
  },
654
- "default": "\"ghcolors\"",
655
- "fieldName": "theme"
641
+ "default": "\"\"",
642
+ "description": "Name of the downloaded file. Required — a click with no filename is a no-op.",
643
+ "fieldName": "filename"
656
644
  },
657
645
  {
658
- "name": "code",
646
+ "name": "mime-type",
659
647
  "type": {
660
648
  "text": "string"
661
649
  },
662
- "default": "\"\"",
663
- "fieldName": "code"
650
+ "default": "\"text/plain\"",
651
+ "description": "MIME type for the Blob.",
652
+ "fieldName": "mimeType"
664
653
  },
665
654
  {
666
- "name": "copy-button",
655
+ "name": "title",
667
656
  "type": {
668
- "text": "boolean"
657
+ "text": "string"
669
658
  },
670
- "default": "true",
671
- "fieldName": "copyButton"
659
+ "default": "\"Download file\"",
660
+ "description": "Tooltip + mirrored to the button's aria-label.",
661
+ "fieldName": "title"
672
662
  }
673
663
  ],
674
664
  "superclass": {
675
665
  "name": "LlumiElement",
676
666
  "module": "/src/shared/llumi-element"
677
667
  },
678
- "tagName": "llumi-highlighter",
668
+ "tagName": "llumi-download-button",
679
669
  "customElement": true
680
670
  }
681
671
  ],
682
672
  "exports": [
683
673
  {
684
674
  "kind": "js",
685
- "name": "LlumiHighlighter",
675
+ "name": "LlumiDownloadButton",
686
676
  "declaration": {
687
- "name": "LlumiHighlighter",
688
- "module": "src/components/highlighter/highlighter.element.ts"
677
+ "name": "LlumiDownloadButton",
678
+ "module": "src/components/download-button/download-button.element.ts"
689
679
  }
690
680
  },
691
681
  {
692
682
  "kind": "custom-element-definition",
693
- "name": "llumi-highlighter",
683
+ "name": "llumi-download-button",
694
684
  "declaration": {
695
- "name": "LlumiHighlighter",
696
- "module": "src/components/highlighter/highlighter.element.ts"
685
+ "name": "LlumiDownloadButton",
686
+ "module": "src/components/download-button/download-button.element.ts"
697
687
  }
698
688
  }
699
689
  ]
700
690
  },
701
691
  {
702
692
  "kind": "javascript-module",
703
- "path": "src/components/download-button/download-button.element.ts",
693
+ "path": "src/components/highlighter/highlighter.element.ts",
704
694
  "declarations": [
705
695
  {
706
696
  "kind": "class",
707
- "description": "`<llumi-download-button>` — download-a-string-as-a-file icon button with\nsuccess/error feedback. Renders in light DOM; styled by the shared\nicon-button rules in `base.css`.",
708
- "name": "LlumiDownloadButton",
697
+ "description": "`<llumi-highlighter>` — syntax-highlighted code block (Prism via refractor),\n4 themes, optional copy button, and line-range dimming. Shadow DOM.",
698
+ "name": "LlumiHighlighter",
709
699
  "members": [
710
700
  {
711
701
  "kind": "field",
712
- "name": "filename",
702
+ "name": "language",
713
703
  "type": {
714
704
  "text": "string"
715
705
  },
716
706
  "default": "\"\"",
717
- "description": "Name of the downloaded file. Required — a click with no filename is a no-op.",
718
- "attribute": "filename"
707
+ "attribute": "language"
719
708
  },
720
709
  {
721
710
  "kind": "field",
722
- "name": "mimeType",
711
+ "name": "theme",
723
712
  "type": {
724
713
  "text": "string"
725
714
  },
726
- "default": "\"text/plain\"",
727
- "description": "MIME type for the Blob.",
728
- "attribute": "mime-type"
715
+ "default": "\"ghcolors\"",
716
+ "attribute": "theme",
717
+ "reflects": true
729
718
  },
730
719
  {
731
720
  "kind": "field",
732
- "name": "title",
721
+ "name": "code",
733
722
  "type": {
734
723
  "text": "string"
735
724
  },
736
- "default": "\"Download file\"",
737
- "description": "Tooltip + mirrored to the button's aria-label.",
738
- "attribute": "title"
725
+ "default": "\"\"",
726
+ "attribute": "code"
739
727
  },
740
728
  {
741
729
  "kind": "field",
742
- "name": "getValue",
730
+ "name": "highlight",
743
731
  "type": {
744
- "text": "() => string | undefined"
745
- },
746
- "description": "Content source (highest precedence), JS property only — no attribute."
732
+ "text": "LineRange[] | undefined"
733
+ }
747
734
  },
748
735
  {
749
736
  "kind": "field",
750
- "name": "instance",
737
+ "name": "copyButton",
751
738
  "type": {
752
- "text": "ReturnType<typeof downloadButtonMachine.newInstance> | undefined"
739
+ "text": "boolean"
753
740
  },
754
- "privacy": "private"
741
+ "default": "true",
742
+ "attribute": "copy-button"
755
743
  },
756
744
  {
757
745
  "kind": "field",
758
- "name": "unsubscribe",
746
+ "name": "_tokenLines",
759
747
  "type": {
760
- "text": "() => void | undefined"
748
+ "text": "Line[]"
761
749
  },
762
- "privacy": "private"
750
+ "privacy": "private",
751
+ "default": "[]"
763
752
  },
764
753
  {
765
- "kind": "method",
766
- "name": "onTransition",
754
+ "kind": "field",
755
+ "name": "_seq",
756
+ "type": {
757
+ "text": "number"
758
+ },
767
759
  "privacy": "private",
768
- "parameters": [
769
- {
770
- "name": "_state",
771
- "type": {
772
- "text": "DownloadButtonState"
773
- }
774
- },
775
- {
776
- "name": "event",
777
- "type": {
778
- "text": "DownloadButtonEvent | undefined"
779
- }
780
- }
781
- ]
760
+ "default": "0"
782
761
  },
783
762
  {
784
- "kind": "method",
785
- "name": "onClick",
763
+ "kind": "field",
764
+ "name": "_highlightTask",
765
+ "type": {
766
+ "text": "Promise<void>"
767
+ },
786
768
  "privacy": "private"
787
769
  },
788
770
  {
789
- "kind": "method",
790
- "name": "viewFor",
791
- "privacy": "private",
792
- "return": {
793
- "type": {
794
- "text": "{\n\t\ticon: TemplateResult;\n\t\tcls: string;\n\t}"
795
- }
771
+ "kind": "field",
772
+ "name": "_warnedLang",
773
+ "type": {
774
+ "text": "string"
796
775
  },
797
- "parameters": [
798
- {
799
- "name": "name",
800
- "type": {
801
- "text": "DownloadButtonState[\"name\"]"
802
- }
803
- }
804
- ]
805
- }
806
- ],
807
- "events": [
776
+ "privacy": "private",
777
+ "default": "\"\""
778
+ },
808
779
  {
809
- "name": "llumi-download",
780
+ "kind": "field",
781
+ "name": "resolvedCode",
810
782
  "type": {
811
- "text": "CustomEvent"
783
+ "text": "string"
812
784
  },
813
- "description": "on success; detail `{ filename }`"
785
+ "description": "Code source: `code` property, else light-DOM text content.",
786
+ "readonly": true
814
787
  },
815
788
  {
816
- "name": "llumi-download-error",
789
+ "kind": "field",
790
+ "name": "whenHighlighted",
817
791
  "type": {
818
- "text": "CustomEvent"
792
+ "text": "Promise<void>"
819
793
  },
820
- "description": "on failure; detail `{ error }`"
794
+ "description": "Test hook: resolves when the in-flight highlight pass has finished.",
795
+ "readonly": true
796
+ },
797
+ {
798
+ "kind": "method",
799
+ "name": "runHighlight",
800
+ "privacy": "private",
801
+ "return": {
802
+ "type": {
803
+ "text": "Promise<void>"
804
+ }
805
+ }
806
+ },
807
+ {
808
+ "kind": "method",
809
+ "name": "renderLines",
810
+ "privacy": "private",
811
+ "return": {
812
+ "type": {
813
+ "text": "TemplateResult[]"
814
+ }
815
+ }
821
816
  }
822
817
  ],
823
818
  "attributes": [
824
819
  {
825
- "name": "filename",
820
+ "name": "language",
826
821
  "type": {
827
822
  "text": "string"
828
823
  },
829
824
  "default": "\"\"",
830
- "description": "Name of the downloaded file. Required — a click with no filename is a no-op.",
831
- "fieldName": "filename"
825
+ "fieldName": "language"
832
826
  },
833
827
  {
834
- "name": "mime-type",
828
+ "name": "theme",
835
829
  "type": {
836
830
  "text": "string"
837
831
  },
838
- "default": "\"text/plain\"",
839
- "description": "MIME type for the Blob.",
840
- "fieldName": "mimeType"
832
+ "default": "\"ghcolors\"",
833
+ "fieldName": "theme"
841
834
  },
842
835
  {
843
- "name": "title",
836
+ "name": "code",
844
837
  "type": {
845
838
  "text": "string"
846
839
  },
847
- "default": "\"Download file\"",
848
- "description": "Tooltip + mirrored to the button's aria-label.",
849
- "fieldName": "title"
840
+ "default": "\"\"",
841
+ "fieldName": "code"
842
+ },
843
+ {
844
+ "name": "copy-button",
845
+ "type": {
846
+ "text": "boolean"
847
+ },
848
+ "default": "true",
849
+ "fieldName": "copyButton"
850
850
  }
851
851
  ],
852
852
  "superclass": {
853
853
  "name": "LlumiElement",
854
854
  "module": "/src/shared/llumi-element"
855
855
  },
856
- "tagName": "llumi-download-button",
856
+ "tagName": "llumi-highlighter",
857
857
  "customElement": true
858
858
  }
859
859
  ],
860
860
  "exports": [
861
861
  {
862
862
  "kind": "js",
863
- "name": "LlumiDownloadButton",
863
+ "name": "LlumiHighlighter",
864
864
  "declaration": {
865
- "name": "LlumiDownloadButton",
866
- "module": "src/components/download-button/download-button.element.ts"
865
+ "name": "LlumiHighlighter",
866
+ "module": "src/components/highlighter/highlighter.element.ts"
867
867
  }
868
868
  },
869
869
  {
870
870
  "kind": "custom-element-definition",
871
- "name": "llumi-download-button",
871
+ "name": "llumi-highlighter",
872
872
  "declaration": {
873
- "name": "LlumiDownloadButton",
874
- "module": "src/components/download-button/download-button.element.ts"
873
+ "name": "LlumiHighlighter",
874
+ "module": "src/components/highlighter/highlighter.element.ts"
875
875
  }
876
876
  }
877
877
  ]
@@ -1,9 +1,9 @@
1
- import { html as u } from "https://cdn.jsdelivr.net/npm/lit@3.3.3";
2
- import { property as l, customElement as p } from "https://cdn.jsdelivr.net/npm/lit@3.3.3/decorators.js";
3
- import { i as a } from "./icons-BaUbjt-v.js";
4
- import { L as f } from "./llumi-element-BWRwgzW5.js";
5
- import { defineMachine as h } from "https://cdn.jsdelivr.net/npm/yay-machine@1.5.0";
6
- /*! @llumi/design-system v2.1.0 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.0/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
1
+ import { html as u } from "https://cdn.jsdelivr.net/npm/lit@3.3.3/+esm";
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";
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 */
7
7
  const d = 1e3, O = h({
8
8
  initialState: { name: "idle" },
9
9
  states: {
package/highlighter.mjs CHANGED
@@ -1,9 +1,9 @@
1
- import { nothing as f, html as h, unsafeCSS as p } from "https://cdn.jsdelivr.net/npm/lit@3.3.3";
2
- import { property as c, customElement as v } from "https://cdn.jsdelivr.net/npm/lit@3.3.3/decorators.js";
3
- import { refractor as u } from "https://cdn.jsdelivr.net/npm/refractor@5.0.0/core";
4
- import { i as w } from "./icon-button-BwB11RGC.js";
5
- import { L as b } from "./llumi-element-BWRwgzW5.js";
6
- /*! @llumi/design-system v2.1.0 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.0/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
1
+ import { nothing as f, html as h, unsafeCSS as p } from "https://cdn.jsdelivr.net/npm/lit@3.3.3/+esm";
2
+ import { property as c, customElement as v } from "https://cdn.jsdelivr.net/npm/lit@3.3.3/decorators.js/+esm";
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 */
7
7
  const y = [
8
8
  "ghcolors",
9
9
  "oneLight",
@@ -207,22 +207,22 @@ const T = {
207
207
  shell: "bash",
208
208
  md: "markdown"
209
209
  }, S = {
210
- markup: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/markup"),
211
- css: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/css"),
212
- javascript: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/javascript"),
213
- jsx: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/jsx"),
214
- typescript: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/typescript"),
215
- tsx: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/tsx"),
216
- json: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/json"),
217
- bash: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/bash"),
218
- python: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/python"),
219
- rust: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/rust"),
220
- go: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/go"),
221
- java: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/java"),
222
- yaml: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/yaml"),
223
- markdown: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/markdown"),
224
- sql: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/sql"),
225
- diff: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/diff")
210
+ markup: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/markup/+esm"),
211
+ css: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/css/+esm"),
212
+ javascript: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/javascript/+esm"),
213
+ jsx: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/jsx/+esm"),
214
+ typescript: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/typescript/+esm"),
215
+ tsx: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/tsx/+esm"),
216
+ json: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/json/+esm"),
217
+ bash: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/bash/+esm"),
218
+ python: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/python/+esm"),
219
+ rust: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/rust/+esm"),
220
+ go: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/go/+esm"),
221
+ java: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/java/+esm"),
222
+ yaml: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/yaml/+esm"),
223
+ markdown: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/markdown/+esm"),
224
+ sql: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/sql/+esm"),
225
+ diff: () => import("https://cdn.jsdelivr.net/npm/refractor@5.0.0/diff/+esm")
226
226
  };
227
227
  function D(t) {
228
228
  const e = T[t] ?? t;
@@ -1,4 +1,4 @@
1
- /*! @llumi/design-system v2.1.0 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.0/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
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 */
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
- import { svg as c, html as e } from "https://cdn.jsdelivr.net/npm/lit@3.3.3";
2
- /*! @llumi/design-system v2.1.0 | (c) 2026 pAIrprog SAS | license: https://cdn.jsdelivr.net/npm/@llumi/design-system@2.1.0/LICENSE | bundled third-party components under MIT, see NOTICE | @license */
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 */
3
3
  function r(t) {
4
4
  return e`<svg
5
5
  xmlns="http://www.w3.org/2000/svg"