@aceshooting/lyra-ui 3.6.0 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/README.md +4 -3
  2. package/custom-elements.json +497 -4
  3. package/dist/components/button/button.class.d.ts +5 -2
  4. package/dist/components/button/button.class.d.ts.map +1 -1
  5. package/dist/components/button/button.class.js +4 -1
  6. package/dist/components/button/button.class.js.map +1 -1
  7. package/dist/components/button/button.styles.d.ts.map +1 -1
  8. package/dist/components/button/button.styles.js +16 -0
  9. package/dist/components/button/button.styles.js.map +1 -1
  10. package/dist/components/file-icon/file-icon.class.d.ts +5 -1
  11. package/dist/components/file-icon/file-icon.class.d.ts.map +1 -1
  12. package/dist/components/file-icon/file-icon.class.js +20 -2
  13. package/dist/components/file-icon/file-icon.class.js.map +1 -1
  14. package/dist/components/file-icon/file-icon.styles.d.ts.map +1 -1
  15. package/dist/components/file-icon/file-icon.styles.js +4 -0
  16. package/dist/components/file-icon/file-icon.styles.js.map +1 -1
  17. package/dist/components/map/map.class.d.ts.map +1 -1
  18. package/dist/components/map/map.class.js +10 -0
  19. package/dist/components/map/map.class.js.map +1 -1
  20. package/dist/components/swatch-picker/swatch-picker.class.d.ts +55 -0
  21. package/dist/components/swatch-picker/swatch-picker.class.d.ts.map +1 -0
  22. package/dist/components/swatch-picker/swatch-picker.class.js +120 -0
  23. package/dist/components/swatch-picker/swatch-picker.class.js.map +1 -0
  24. package/dist/components/swatch-picker/swatch-picker.d.ts +2 -0
  25. package/dist/components/swatch-picker/swatch-picker.d.ts.map +1 -0
  26. package/dist/components/swatch-picker/swatch-picker.js +5 -0
  27. package/dist/components/swatch-picker/swatch-picker.js.map +1 -0
  28. package/dist/components/swatch-picker/swatch-picker.styles.d.ts +2 -0
  29. package/dist/components/swatch-picker/swatch-picker.styles.d.ts.map +1 -0
  30. package/dist/components/swatch-picker/swatch-picker.styles.js +55 -0
  31. package/dist/components/swatch-picker/swatch-picker.styles.js.map +1 -0
  32. package/dist/internal/localization.d.ts +1 -1
  33. package/dist/internal/localization.d.ts.map +1 -1
  34. package/dist/internal/localization.js +1 -0
  35. package/dist/internal/localization.js.map +1 -1
  36. package/dist/internal/root-registration-allowlist.d.ts +1 -1
  37. package/dist/internal/root-registration-allowlist.d.ts.map +1 -1
  38. package/dist/internal/root-registration-allowlist.js +1 -0
  39. package/dist/internal/root-registration-allowlist.js.map +1 -1
  40. package/dist/lyra.d.ts +4 -0
  41. package/dist/lyra.d.ts.map +1 -1
  42. package/dist/lyra.js +2 -0
  43. package/dist/lyra.js.map +1 -1
  44. package/llms-full.txt +71 -5
  45. package/llms.txt +2 -2
  46. package/package.json +1 -1
  47. package/vscode-css-data.json +14 -0
  48. package/vscode-html-data.json +40 -3
  49. package/web-types.json +49 -4
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  **Lyra UI — the free, independent web-component alternative.** A MIT-licensed [Lit](https://lit.dev)
6
6
  library for accessible forms, dashboards, charts, data visualization, and Conversation & Agent UI.
7
7
  It is a practical open-source alternative to [Shoelace](https://shoelace.style/) and
8
- [Web Awesome](https://webawesome.com/), with 167 custom elements, native custom-element APIs,
8
+ [Web Awesome](https://webawesome.com/), with 168 custom elements, native custom-element APIs,
9
9
  tree-shakeable imports, its own `--lyra-*` design tokens, built-in localization and RTL support,
10
10
  and no runtime dependency on either project.
11
11
 
@@ -251,7 +251,7 @@ containing the component's token CSS and internal `<button>` markup, and the con
251
251
  `ElementInternals`-based `attachInternals()` call (used for native form association) does not throw
252
252
  under `@lit-labs/ssr-dom-shim`'s server DOM shim.
253
253
 
254
- That said, **lyra-ui has not been systematically tested or tuned for SSR** across its 167 components:
254
+ That said, **lyra-ui has not been systematically tested or tuned for SSR** across its 168 components:
255
255
  no CI job renders the library under `@lit-labs/ssr`, no component has been verified to hydrate
256
256
  correctly on the client afterward, and components that reach for browser-only APIs early
257
257
  (`ResizeObserver`/`IntersectionObserver`, Floating UI positioning in the popover/tooltip/dropdown
@@ -314,7 +314,7 @@ coverage automatically from the bundled `web-types.json` — JetBrains IDEs pick
314
314
 
315
315
  ## Components
316
316
 
317
- The catalog below lists all 167 tags in the current Custom Elements Manifest, grouped by
317
+ The catalog below lists all 168 tags in the current Custom Elements Manifest, grouped by
318
318
  capability. The manifest and live docs are the authoritative sources for the complete generated
319
319
  API details.
320
320
 
@@ -492,6 +492,7 @@ each one-liner below.
492
492
  | `<lyra-card>` | — (extra) | Generic bordered content container (`header`/`media`/`footer`/`actions` slots) — a direct `<lyra-*>` counterpart to `wa-card` |
493
493
  | `<lyra-stepper>` | — (extra) | Ordered multi-step wizard navigation — label + index, current/completed/locked/error state, click-to-jump, data-driven and controlled |
494
494
  | `<lyra-segmented>` | — (extra) | Single-select text/icon button row with the WAI-ARIA APG `radiogroup` contract built in (roving tabindex, automatic activation) |
495
+ | `<lyra-swatch-picker>` | — (extra) | Single-select picker over a fixed set of color swatches — `radiogroup` semantics (roving tabindex, automatic activation), themeable selection ring |
495
496
  | `<lyra-diff-view>` | — (extra) | Real two-string line diff (LCS-aligned), rendered as interleaved unified-diff output |
496
497
  | `<lyra-poll-status>` | — (extra) | "Next scheduled refresh" countdown with a built-in pause control and live-region announcements |
497
498
  | `<lyra-code-block-core>` | — (extra) | Build-lean `lyra-code-block` variant for a consumer whose `languages` map already covers every language it renders — never references shiki's full ~200-language table |
@@ -8267,7 +8267,7 @@
8267
8267
  "text": "ButtonAppearance"
8268
8268
  },
8269
8269
  "default": "'filled'",
8270
- "description": "`'filled'` (the default) reads `--lyra-button-fill`, which for `variant=\"neutral\"` is the\nambient `--lyra-color-surface` -- matching this component's own container, by design, for a\nlow-emphasis default. `'accent'` is the loud tier: a solid, high-contrast fill for every\nvariant, including `neutral`.",
8270
+ "description": "`'filled'` (the default) reads `--lyra-button-fill`, which for `variant=\"neutral\"` is the\nambient `--lyra-color-surface` -- matching this component's own container, by design, for a\nlow-emphasis default. `'accent'` is the loud tier: a solid, high-contrast fill for every\nvariant, including `neutral`. `'link'` is zero-chrome inline text — no padding, border, or\nmin-height, underlined, colored from `--lyra-button-accent` (the same token `'plain'` uses)\nand inheriting the surrounding font — for a text link that flows inline in a sentence rather\nthan a button-shaped control.",
8271
8271
  "attribute": "appearance",
8272
8272
  "reflects": true
8273
8273
  },
@@ -8675,7 +8675,7 @@
8675
8675
  "text": "ButtonAppearance"
8676
8676
  },
8677
8677
  "default": "'filled'",
8678
- "description": "`'filled'` (the default) reads `--lyra-button-fill`, which for `variant=\"neutral\"` is the\nambient `--lyra-color-surface` -- matching this component's own container, by design, for a\nlow-emphasis default. `'accent'` is the loud tier: a solid, high-contrast fill for every\nvariant, including `neutral`.",
8678
+ "description": "`'filled'` (the default) reads `--lyra-button-fill`, which for `variant=\"neutral\"` is the\nambient `--lyra-color-surface` -- matching this component's own container, by design, for a\nlow-emphasis default. `'accent'` is the loud tier: a solid, high-contrast fill for every\nvariant, including `neutral`. `'link'` is zero-chrome inline text — no padding, border, or\nmin-height, underlined, colored from `--lyra-button-accent` (the same token `'plain'` uses)\nand inheriting the surrounding font — for a text link that flows inline in a sentence rather\nthan a button-shaped control.",
8679
8679
  "fieldName": "appearance"
8680
8680
  },
8681
8681
  {
@@ -53486,6 +53486,13 @@
53486
53486
  "kind": "class",
53487
53487
  "description": "Displays a localized, tokenized file-type badge from a MIME type.",
53488
53488
  "name": "LyraFileIcon",
53489
+ "cssProperties": [
53490
+ {
53491
+ "description": "Inline/block size of the format badge.",
53492
+ "name": "--lyra-file-icon-size",
53493
+ "default": "var(--lyra-size-2rem)"
53494
+ }
53495
+ ],
53489
53496
  "cssParts": [
53490
53497
  {
53491
53498
  "description": "The outer presentation wrapper.",
@@ -53498,6 +53505,10 @@
53498
53505
  {
53499
53506
  "description": "The localized format label in `variant=\"label\"` mode.",
53500
53507
  "name": "label"
53508
+ },
53509
+ {
53510
+ "description": "The formatted `size`, shown alongside `label` in `variant=\"label\"` mode when `size` is known.",
53511
+ "name": "size"
53501
53512
  }
53502
53513
  ],
53503
53514
  "members": [
@@ -53597,7 +53608,7 @@
53597
53608
  "text": "string"
53598
53609
  },
53599
53610
  "default": "''",
53600
- "description": "MIME type used to resolve metadata.",
53611
+ "description": "MIME type used to resolve metadata. Also exposed as a `title` tooltip on the badge.",
53601
53612
  "attribute": "mime-type"
53602
53613
  },
53603
53614
  {
@@ -53622,6 +53633,16 @@
53622
53633
  "module": "src/internal/lyra-element.ts"
53623
53634
  }
53624
53635
  },
53636
+ {
53637
+ "kind": "field",
53638
+ "name": "size",
53639
+ "type": {
53640
+ "text": "number"
53641
+ },
53642
+ "default": "0",
53643
+ "description": "File size in bytes, shown alongside the label in `variant=\"label\"` mode. `0` (the default) renders no size — matches `<lyra-attachment-chip>`'s `size` convention.",
53644
+ "attribute": "size"
53645
+ },
53625
53646
  {
53626
53647
  "kind": "field",
53627
53648
  "name": "stopLocaleSubscription",
@@ -53877,7 +53898,7 @@
53877
53898
  "text": "string"
53878
53899
  },
53879
53900
  "default": "''",
53880
- "description": "MIME type used to resolve metadata.",
53901
+ "description": "MIME type used to resolve metadata. Also exposed as a `title` tooltip on the badge.",
53881
53902
  "fieldName": "mimeType"
53882
53903
  },
53883
53904
  {
@@ -53889,6 +53910,15 @@
53889
53910
  "description": "Optional filename used for fallback detection with an empty or generic MIME type.",
53890
53911
  "fieldName": "name"
53891
53912
  },
53913
+ {
53914
+ "name": "size",
53915
+ "type": {
53916
+ "text": "number"
53917
+ },
53918
+ "default": "0",
53919
+ "description": "File size in bytes, shown alongside the label in `variant=\"label\"` mode. `0` (the default) renders no size — matches `<lyra-attachment-chip>`'s `size` convention.",
53920
+ "fieldName": "size"
53921
+ },
53892
53922
  {
53893
53923
  "name": "variant",
53894
53924
  "type": {
@@ -101451,6 +101481,469 @@
101451
101481
  }
101452
101482
  ]
101453
101483
  },
101484
+ {
101485
+ "kind": "javascript-module",
101486
+ "path": "src/components/swatch-picker/swatch-picker.class.ts",
101487
+ "declarations": [
101488
+ {
101489
+ "kind": "class",
101490
+ "description": "`<lyra-swatch-picker>` -- a single-select picker over a small, fixed set of color swatches with\nthe WAI-ARIA APG `radiogroup` contract built in: `role=\"radiogroup\"`/`role=\"radio\"`, roving\ntabindex, automatic activation (click or arrow-key move both select immediately, like a native\nradio group), cyclic Arrow/Home/End navigation. Distinct from `<lyra-color-picker>`'s freeform\nnative color input -- this picks exactly one of N designer-chosen named colors, the shape apps\notherwise hand-roll as a row of round accent-color buttons.",
101491
+ "name": "LyraSwatchPicker",
101492
+ "cssProperties": [
101493
+ {
101494
+ "description": "Ring color drawn around the selected swatch, themeable independently of the focus ring and every other ring color.",
101495
+ "name": "--lyra-swatch-picker-selected-color",
101496
+ "default": "var(--lyra-color-brand)"
101497
+ }
101498
+ ],
101499
+ "cssParts": [
101500
+ {
101501
+ "description": "The `role=\"radiogroup\"` root.",
101502
+ "name": "base"
101503
+ },
101504
+ {
101505
+ "description": "A single `role=\"radio\"` color swatch; the selected one is `[part='swatch'][aria-checked='true']`.",
101506
+ "name": "swatch"
101507
+ }
101508
+ ],
101509
+ "members": [
101510
+ {
101511
+ "kind": "field",
101512
+ "name": "deferredLoad",
101513
+ "type": {
101514
+ "text": "() => void | undefined"
101515
+ },
101516
+ "privacy": "private",
101517
+ "inheritedFrom": {
101518
+ "name": "LyraElement",
101519
+ "module": "src/internal/lyra-element.ts"
101520
+ }
101521
+ },
101522
+ {
101523
+ "kind": "field",
101524
+ "name": "effectiveDirection",
101525
+ "type": {
101526
+ "text": "'ltr' | 'rtl'"
101527
+ },
101528
+ "privacy": "protected",
101529
+ "description": "The effective text direction, including inherited CSS direction.",
101530
+ "readonly": true,
101531
+ "inheritedFrom": {
101532
+ "name": "LyraElement",
101533
+ "module": "src/internal/lyra-element.ts"
101534
+ }
101535
+ },
101536
+ {
101537
+ "kind": "field",
101538
+ "name": "effectiveLocale",
101539
+ "type": {
101540
+ "text": "string"
101541
+ },
101542
+ "privacy": "protected",
101543
+ "description": "The effective locale used by this component.",
101544
+ "readonly": true,
101545
+ "inheritedFrom": {
101546
+ "name": "LyraElement",
101547
+ "module": "src/internal/lyra-element.ts"
101548
+ }
101549
+ },
101550
+ {
101551
+ "kind": "field",
101552
+ "name": "label",
101553
+ "type": {
101554
+ "text": "string"
101555
+ },
101556
+ "default": "''",
101557
+ "description": "Accessible name for the radiogroup, used when no visible label context\nexists around it (e.g. no wrapping `<label>` or adjacent heading). Set\nas `aria-label` on the `role=\"radiogroup\"` element. A plain `aria-label`\nattribute on the host itself is honored as a fallback when this is left\nunset, matching `<lyra-segmented>`.",
101558
+ "attribute": "label"
101559
+ },
101560
+ {
101561
+ "kind": "field",
101562
+ "name": "loadSchedulePending",
101563
+ "type": {
101564
+ "text": "boolean"
101565
+ },
101566
+ "privacy": "private",
101567
+ "default": "false",
101568
+ "inheritedFrom": {
101569
+ "name": "LyraElement",
101570
+ "module": "src/internal/lyra-element.ts"
101571
+ }
101572
+ },
101573
+ {
101574
+ "kind": "field",
101575
+ "name": "locale",
101576
+ "type": {
101577
+ "text": "string"
101578
+ },
101579
+ "default": "''",
101580
+ "description": "Optional locale override. Otherwise the nearest `locale`/`lang` ancestor is used.",
101581
+ "attribute": "locale",
101582
+ "reflects": true,
101583
+ "inheritedFrom": {
101584
+ "name": "LyraElement",
101585
+ "module": "src/internal/lyra-element.ts"
101586
+ }
101587
+ },
101588
+ {
101589
+ "kind": "field",
101590
+ "name": "onKeyDown",
101591
+ "privacy": "private"
101592
+ },
101593
+ {
101594
+ "kind": "field",
101595
+ "name": "options",
101596
+ "type": {
101597
+ "text": "SwatchOption[]"
101598
+ },
101599
+ "default": "[]",
101600
+ "description": "The selectable color swatches, in display order."
101601
+ },
101602
+ {
101603
+ "kind": "field",
101604
+ "name": "pendingLoadController",
101605
+ "type": {
101606
+ "text": "AbortController | undefined"
101607
+ },
101608
+ "privacy": "private",
101609
+ "inheritedFrom": {
101610
+ "name": "LyraElement",
101611
+ "module": "src/internal/lyra-element.ts"
101612
+ }
101613
+ },
101614
+ {
101615
+ "kind": "field",
101616
+ "name": "stopLocaleSubscription",
101617
+ "type": {
101618
+ "text": "() => void | undefined"
101619
+ },
101620
+ "privacy": "private",
101621
+ "inheritedFrom": {
101622
+ "name": "LyraElement",
101623
+ "module": "src/internal/lyra-element.ts"
101624
+ }
101625
+ },
101626
+ {
101627
+ "kind": "field",
101628
+ "name": "strings",
101629
+ "type": {
101630
+ "text": "LyraLocaleStrings"
101631
+ },
101632
+ "default": "{}",
101633
+ "description": "Per-instance message overrides, useful for application-specific wording.",
101634
+ "inheritedFrom": {
101635
+ "name": "LyraElement",
101636
+ "module": "src/internal/lyra-element.ts"
101637
+ }
101638
+ },
101639
+ {
101640
+ "kind": "field",
101641
+ "name": "value",
101642
+ "type": {
101643
+ "text": "string | null"
101644
+ },
101645
+ "default": "null",
101646
+ "description": "The currently selected option's `value`, or `null` when nothing is selected.",
101647
+ "attribute": "value"
101648
+ },
101649
+ {
101650
+ "kind": "method",
101651
+ "name": "addEventListener",
101652
+ "return": {
101653
+ "type": {
101654
+ "text": "void"
101655
+ }
101656
+ },
101657
+ "parameters": [
101658
+ {
101659
+ "name": "type",
101660
+ "type": {
101661
+ "text": "K"
101662
+ }
101663
+ },
101664
+ {
101665
+ "name": "listener",
101666
+ "type": {
101667
+ "text": "(this: this, event: Events[K]) => unknown"
101668
+ }
101669
+ },
101670
+ {
101671
+ "name": "options",
101672
+ "optional": true,
101673
+ "type": {
101674
+ "text": "boolean | AddEventListenerOptions"
101675
+ }
101676
+ }
101677
+ ],
101678
+ "inheritedFrom": {
101679
+ "name": "LyraElement",
101680
+ "module": "src/internal/lyra-element.ts"
101681
+ }
101682
+ },
101683
+ {
101684
+ "kind": "method",
101685
+ "name": "beginAbortableLoad",
101686
+ "privacy": "protected",
101687
+ "return": {
101688
+ "type": {
101689
+ "text": "AbortSignal | undefined"
101690
+ }
101691
+ },
101692
+ "description": "Starts a component-owned cancellable load and aborts the previous one.",
101693
+ "inheritedFrom": {
101694
+ "name": "LyraElement",
101695
+ "module": "src/internal/lyra-element.ts"
101696
+ }
101697
+ },
101698
+ {
101699
+ "kind": "method",
101700
+ "name": "emit",
101701
+ "privacy": "protected",
101702
+ "return": {
101703
+ "type": {
101704
+ "text": "CustomEvent<T>"
101705
+ }
101706
+ },
101707
+ "parameters": [
101708
+ {
101709
+ "name": "name",
101710
+ "type": {
101711
+ "text": "string"
101712
+ }
101713
+ },
101714
+ {
101715
+ "name": "detail",
101716
+ "optional": true,
101717
+ "type": {
101718
+ "text": "T"
101719
+ }
101720
+ },
101721
+ {
101722
+ "name": "options",
101723
+ "optional": true,
101724
+ "type": {
101725
+ "text": "LyraEmitOptions"
101726
+ }
101727
+ }
101728
+ ],
101729
+ "description": "Dispatch a composed, bubbling custom event; notifications are not veto points by default.",
101730
+ "inheritedFrom": {
101731
+ "name": "LyraElement",
101732
+ "module": "src/internal/lyra-element.ts"
101733
+ }
101734
+ },
101735
+ {
101736
+ "kind": "method",
101737
+ "name": "focusSwatch",
101738
+ "privacy": "private",
101739
+ "return": {
101740
+ "type": {
101741
+ "text": "void"
101742
+ }
101743
+ },
101744
+ "parameters": [
101745
+ {
101746
+ "name": "value",
101747
+ "type": {
101748
+ "text": "string"
101749
+ }
101750
+ }
101751
+ ]
101752
+ },
101753
+ {
101754
+ "kind": "method",
101755
+ "name": "localize",
101756
+ "privacy": "protected",
101757
+ "return": {
101758
+ "type": {
101759
+ "text": "string"
101760
+ }
101761
+ },
101762
+ "parameters": [
101763
+ {
101764
+ "name": "key",
101765
+ "type": {
101766
+ "text": "string"
101767
+ }
101768
+ },
101769
+ {
101770
+ "name": "fallback",
101771
+ "optional": true,
101772
+ "type": {
101773
+ "text": "string"
101774
+ }
101775
+ },
101776
+ {
101777
+ "name": "values",
101778
+ "optional": true,
101779
+ "type": {
101780
+ "text": "Record<string, string | number>"
101781
+ }
101782
+ }
101783
+ ],
101784
+ "description": "Resolve a localized message using this component's overrides and locale.",
101785
+ "inheritedFrom": {
101786
+ "name": "LyraElement",
101787
+ "module": "src/internal/lyra-element.ts"
101788
+ }
101789
+ },
101790
+ {
101791
+ "kind": "method",
101792
+ "name": "removeEventListener",
101793
+ "return": {
101794
+ "type": {
101795
+ "text": "void"
101796
+ }
101797
+ },
101798
+ "parameters": [
101799
+ {
101800
+ "name": "type",
101801
+ "type": {
101802
+ "text": "K"
101803
+ }
101804
+ },
101805
+ {
101806
+ "name": "listener",
101807
+ "type": {
101808
+ "text": "(this: this, event: Events[K]) => unknown"
101809
+ }
101810
+ },
101811
+ {
101812
+ "name": "options",
101813
+ "optional": true,
101814
+ "type": {
101815
+ "text": "boolean | EventListenerOptions"
101816
+ }
101817
+ }
101818
+ ],
101819
+ "inheritedFrom": {
101820
+ "name": "LyraElement",
101821
+ "module": "src/internal/lyra-element.ts"
101822
+ }
101823
+ },
101824
+ {
101825
+ "kind": "method",
101826
+ "name": "scheduleAfterUpdate",
101827
+ "privacy": "protected",
101828
+ "return": {
101829
+ "type": {
101830
+ "text": "void"
101831
+ }
101832
+ },
101833
+ "parameters": [
101834
+ {
101835
+ "name": "callback",
101836
+ "type": {
101837
+ "text": "() => void"
101838
+ }
101839
+ }
101840
+ ],
101841
+ "description": "Runs one coalesced load callback after the current update completes.\nLit still runs the update cycle while detached, so a load scheduled then is\nheld and replayed on reconnect rather than dropped.",
101842
+ "inheritedFrom": {
101843
+ "name": "LyraElement",
101844
+ "module": "src/internal/lyra-element.ts"
101845
+ }
101846
+ },
101847
+ {
101848
+ "kind": "method",
101849
+ "name": "select",
101850
+ "privacy": "private",
101851
+ "return": {
101852
+ "type": {
101853
+ "text": "void"
101854
+ }
101855
+ },
101856
+ "parameters": [
101857
+ {
101858
+ "name": "option",
101859
+ "type": {
101860
+ "text": "SwatchOption"
101861
+ }
101862
+ }
101863
+ ]
101864
+ }
101865
+ ],
101866
+ "events": [
101867
+ {
101868
+ "description": "Fired when the selected value changes via click or keyboard. `detail: { value }`.",
101869
+ "name": "lyra-change"
101870
+ }
101871
+ ],
101872
+ "attributes": [
101873
+ {
101874
+ "name": "label",
101875
+ "type": {
101876
+ "text": "string"
101877
+ },
101878
+ "default": "''",
101879
+ "description": "Accessible name for the radiogroup, used when no visible label context\nexists around it (e.g. no wrapping `<label>` or adjacent heading). Set\nas `aria-label` on the `role=\"radiogroup\"` element. A plain `aria-label`\nattribute on the host itself is honored as a fallback when this is left\nunset, matching `<lyra-segmented>`.",
101880
+ "fieldName": "label"
101881
+ },
101882
+ {
101883
+ "name": "locale",
101884
+ "type": {
101885
+ "text": "string"
101886
+ },
101887
+ "default": "''",
101888
+ "description": "Optional locale override. Otherwise the nearest `locale`/`lang` ancestor is used.",
101889
+ "fieldName": "locale",
101890
+ "inheritedFrom": {
101891
+ "name": "LyraElement",
101892
+ "module": "src/internal/lyra-element.ts"
101893
+ }
101894
+ },
101895
+ {
101896
+ "name": "value",
101897
+ "type": {
101898
+ "text": "string | null"
101899
+ },
101900
+ "default": "null",
101901
+ "description": "The currently selected option's `value`, or `null` when nothing is selected.",
101902
+ "fieldName": "value"
101903
+ }
101904
+ ],
101905
+ "superclass": {
101906
+ "name": "LyraElement",
101907
+ "module": "/src/internal/lyra-element.js"
101908
+ },
101909
+ "tagName": "lyra-swatch-picker",
101910
+ "customElement": true
101911
+ }
101912
+ ],
101913
+ "exports": [
101914
+ {
101915
+ "kind": "js",
101916
+ "name": "LyraSwatchPicker",
101917
+ "declaration": {
101918
+ "name": "LyraSwatchPicker",
101919
+ "module": "src/components/swatch-picker/swatch-picker.class.ts"
101920
+ }
101921
+ }
101922
+ ]
101923
+ },
101924
+ {
101925
+ "kind": "javascript-module",
101926
+ "path": "src/components/swatch-picker/swatch-picker.ts",
101927
+ "declarations": [],
101928
+ "exports": [
101929
+ {
101930
+ "kind": "custom-element-definition",
101931
+ "name": "lyra-swatch-picker",
101932
+ "declaration": {
101933
+ "name": "LyraSwatchPicker",
101934
+ "module": "src/components/swatch-picker/swatch-picker.class.ts"
101935
+ }
101936
+ },
101937
+ {
101938
+ "kind": "js",
101939
+ "name": "*",
101940
+ "declaration": {
101941
+ "name": "*",
101942
+ "module": "src/components/swatch-picker/swatch-picker.class.js"
101943
+ }
101944
+ }
101945
+ ]
101946
+ },
101454
101947
  {
101455
101948
  "kind": "javascript-module",
101456
101949
  "path": "src/components/switch/switch.class.ts",
@@ -1,7 +1,7 @@
1
1
  import { type TemplateResult } from 'lit';
2
2
  import { LyraElement } from '../../internal/lyra-element.js';
3
3
  export type ButtonVariant = 'neutral' | 'brand' | 'success' | 'warning' | 'danger';
4
- export type ButtonAppearance = 'accent' | 'filled' | 'outlined' | 'plain';
4
+ export type ButtonAppearance = 'accent' | 'filled' | 'outlined' | 'plain' | 'link';
5
5
  export type ButtonSize = 'xs' | 's' | 'm' | 'l' | 'xl';
6
6
  export type ButtonType = 'button' | 'submit' | 'reset';
7
7
  /**
@@ -43,7 +43,10 @@ export declare class LyraButton extends LyraElement {
43
43
  /** `'filled'` (the default) reads `--lyra-button-fill`, which for `variant="neutral"` is the
44
44
  * ambient `--lyra-color-surface` -- matching this component's own container, by design, for a
45
45
  * low-emphasis default. `'accent'` is the loud tier: a solid, high-contrast fill for every
46
- * variant, including `neutral`. */
46
+ * variant, including `neutral`. `'link'` is zero-chrome inline text — no padding, border, or
47
+ * min-height, underlined, colored from `--lyra-button-accent` (the same token `'plain'` uses)
48
+ * and inheriting the surrounding font — for a text link that flows inline in a sentence rather
49
+ * than a button-shaped control. */
47
50
  appearance: ButtonAppearance;
48
51
  size: ButtonSize;
49
52
  /** Forwarded to this component's own submit/reset handling — see the class doc comment above
@@ -1 +1 @@
1
- {"version":3,"file":"button.class.d.ts","sourceRoot":"","sources":["../../../src/components/button/button.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAI7D,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AACnF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAC1E,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;AACvD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,UAAW,SAAQ,WAAW;IACzC,MAAM,CAAC,MAAM,iCAAgC;IAI7C,MAAM,CAAC,cAAc,UAAQ;IAE7B,cAGC;IAED;mGAC+F;IAClE,OAAO,EAAE,aAAa,CAAa;IAChE;;;wCAGoC;IACP,UAAU,EAAE,gBAAgB,CAAY;IACxC,IAAI,EAAE,UAAU,CAAO;IACpD;0FACsF;IAC1E,IAAI,EAAE,UAAU,CAAY;IACxC;;wFAEoF;IACxC,OAAO,UAAS;IAChB,QAAQ,UAAS;IAE5C,OAAO,CAAC,QAAQ,CAAC,CAAoB;IAEtD,6EAA6E;IACpE,KAAK,IAAI,IAAI,CAErB;IAEQ,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAE3C;IAEQ,IAAI,IAAI,IAAI,CAEpB;IAED,OAAO,CAAC,OAAO,CAMb;IAEF,MAAM,IAAI,cAAc,CAiBvB;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}
1
+ {"version":3,"file":"button.class.d.ts","sourceRoot":"","sources":["../../../src/components/button/button.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAI7D,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AACnF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC;AACnF,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;AACvD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,UAAW,SAAQ,WAAW;IACzC,MAAM,CAAC,MAAM,iCAAgC;IAI7C,MAAM,CAAC,cAAc,UAAQ;IAE7B,cAGC;IAED;mGAC+F;IAClE,OAAO,EAAE,aAAa,CAAa;IAChE;;;;;;wCAMoC;IACP,UAAU,EAAE,gBAAgB,CAAY;IACxC,IAAI,EAAE,UAAU,CAAO;IACpD;0FACsF;IAC1E,IAAI,EAAE,UAAU,CAAY;IACxC;;wFAEoF;IACxC,OAAO,UAAS;IAChB,QAAQ,UAAS;IAE5C,OAAO,CAAC,QAAQ,CAAC,CAAoB;IAEtD,6EAA6E;IACpE,KAAK,IAAI,IAAI,CAErB;IAEQ,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI,CAE3C;IAEQ,IAAI,IAAI,IAAI,CAEpB;IAED,OAAO,CAAC,OAAO,CAMb;IAEF,MAAM,IAAI,cAAc,CAiBvB;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}
@@ -52,7 +52,10 @@ export class LyraButton extends LyraElement {
52
52
  /** `'filled'` (the default) reads `--lyra-button-fill`, which for `variant="neutral"` is the
53
53
  * ambient `--lyra-color-surface` -- matching this component's own container, by design, for a
54
54
  * low-emphasis default. `'accent'` is the loud tier: a solid, high-contrast fill for every
55
- * variant, including `neutral`. */
55
+ * variant, including `neutral`. `'link'` is zero-chrome inline text — no padding, border, or
56
+ * min-height, underlined, colored from `--lyra-button-accent` (the same token `'plain'` uses)
57
+ * and inheriting the surrounding font — for a text link that flows inline in a sentence rather
58
+ * than a button-shaped control. */
56
59
  this.appearance = 'filled';
57
60
  this.size = 'm';
58
61
  /** Forwarded to this component's own submit/reset handling — see the class doc comment above
@@ -1 +1 @@
1
- {"version":3,"file":"button.class.js","sourceRoot":"","sources":["../../../src/components/button/button.class.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAuB,MAAM,KAAK,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAO5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,OAAO,UAAW,SAAQ,WAAW;aAClC,WAAM,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,AAA/B,CAAgC;IAC7C,uFAAuF;IACvF,wFAAwF;IACxF,+BAA+B;aACxB,mBAAc,GAAG,IAAI,AAAP,CAAQ;IAE7B;QACE,KAAK,EAAE,CAAC;QAIV;uGAC+F;QAClE,YAAO,GAAkB,SAAS,CAAC;QAChE;;;4CAGoC;QACP,eAAU,GAAqB,QAAQ,CAAC;QACxC,SAAI,GAAe,GAAG,CAAC;QACpD;8FACsF;QAC1E,SAAI,GAAe,QAAQ,CAAC;QACxC;;4FAEoF;QACxC,YAAO,GAAG,KAAK,CAAC;QAChB,aAAQ,GAAG,KAAK,CAAC;QAiBrD,YAAO,GAAG,GAAS,EAAE;YAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;YACxC,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACjC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;YAChC,CAAC;QACH,CAAC,CAAC;QA1CA,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAsBD,6EAA6E;IACpE,KAAK;QACZ,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAEQ,KAAK,CAAC,OAAsB;QACnC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAEQ,IAAI;QACX,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;IAUD,MAAM;QACJ,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAClD,OAAO,IAAI,CAAA;;;;qBAIM,SAAS,IAAI,OAAO;oBACrB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;oBAC/B,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO;iBAChC,IAAI,CAAC,OAAO;;;;;UAKnB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA,2CAA2C,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE;;KAE9F,CAAC;IACJ,CAAC;CACF;AAzD8B;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2CAAoC;AAKnC;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8CAAyC;AACxC;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wCAAwB;AAGxC;IAAX,QAAQ,EAAE;wCAA6B;AAII;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2CAAiB;AAChB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;4CAAkB;AAEpC;IAAxB,KAAK,CAAC,QAAQ,CAAC;4CAAsC"}
1
+ {"version":3,"file":"button.class.js","sourceRoot":"","sources":["../../../src/components/button/button.class.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAuB,MAAM,KAAK,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAO5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,OAAO,UAAW,SAAQ,WAAW;aAClC,WAAM,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,AAA/B,CAAgC;IAC7C,uFAAuF;IACvF,wFAAwF;IACxF,+BAA+B;aACxB,mBAAc,GAAG,IAAI,AAAP,CAAQ;IAE7B;QACE,KAAK,EAAE,CAAC;QAIV;uGAC+F;QAClE,YAAO,GAAkB,SAAS,CAAC;QAChE;;;;;;4CAMoC;QACP,eAAU,GAAqB,QAAQ,CAAC;QACxC,SAAI,GAAe,GAAG,CAAC;QACpD;8FACsF;QAC1E,SAAI,GAAe,QAAQ,CAAC;QACxC;;4FAEoF;QACxC,YAAO,GAAG,KAAK,CAAC;QAChB,aAAQ,GAAG,KAAK,CAAC;QAiBrD,YAAO,GAAG,GAAS,EAAE;YAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;YACxC,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACjC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;YAChC,CAAC;QACH,CAAC,CAAC;QA7CA,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAyBD,6EAA6E;IACpE,KAAK;QACZ,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAEQ,KAAK,CAAC,OAAsB;QACnC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAEQ,IAAI;QACX,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;IAUD,MAAM;QACJ,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAClD,OAAO,IAAI,CAAA;;;;qBAIM,SAAS,IAAI,OAAO;oBACrB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;oBAC/B,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO;iBAChC,IAAI,CAAC,OAAO;;;;;UAKnB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA,2CAA2C,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE;;KAE9F,CAAC;IACJ,CAAC;CACF;AA5D8B;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2CAAoC;AAQnC;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8CAAyC;AACxC;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wCAAwB;AAGxC;IAAX,QAAQ,EAAE;wCAA6B;AAII;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2CAAiB;AAChB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;4CAAkB;AAEpC;IAAxB,KAAK,CAAC,QAAQ,CAAC;4CAAsC"}
@@ -1 +1 @@
1
- {"version":3,"file":"button.styles.d.ts","sourceRoot":"","sources":["../../../src/components/button/button.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBA4KlB,CAAC"}
1
+ {"version":3,"file":"button.styles.d.ts","sourceRoot":"","sources":["../../../src/components/button/button.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBA4LlB,CAAC"}