@uni-design-system/uni-mcp 11.2.0 → 11.3.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.
@@ -7,14 +7,14 @@ import { z } from "zod";
7
7
  // src/data/uni-index.json
8
8
  var uni_index_default = {
9
9
  meta: {
10
- version: "11.2.0",
11
- builtAt: "2026-09-17T10:43:40.795Z",
10
+ version: "11.3.0",
11
+ builtAt: "2026-09-28T17:48:48.887Z",
12
12
  frameworks: [
13
13
  "angular"
14
14
  ],
15
15
  counts: {
16
16
  components: 87,
17
- tokens: 490,
17
+ tokens: 493,
18
18
  themes: 2,
19
19
  examples: 245
20
20
  }
@@ -27,7 +27,7 @@ var uni_index_default = {
27
27
  summary: "",
28
28
  description: "",
29
29
  category: "feedback",
30
- version: "11.2.0",
30
+ version: "11.3.0",
31
31
  bindings: {
32
32
  angular: {
33
33
  importPath: "@uni-design-system/uni-angular",
@@ -117,7 +117,7 @@ var uni_index_default = {
117
117
  summary: "Horizontal application bar: project leading controls (menu button, logo) with the `leading` attribute, actions with `trailing` (pushed to the far edge), and either pass `title` or project custom center content.",
118
118
  description: "Horizontal application bar: project leading controls (menu button, logo) with the `leading` attribute, actions with `trailing` (pushed to the far edge), and either pass `title` or project custom center content. Surface, divider, height, typography and spacing all resolve from `appBar` tokens. Place it inside your page's `<header>` landmark.",
119
119
  category: "components",
120
- version: "11.2.0",
120
+ version: "11.3.0",
121
121
  bindings: {
122
122
  angular: {
123
123
  importPath: "@uni-design-system/uni-angular",
@@ -190,7 +190,7 @@ var uni_index_default = {
190
190
  summary: "Identity avatar with a graceful fallback chain: image \u2192 initials from `name` \u2192 themed symbol.",
191
191
  description: "Identity avatar with a graceful fallback chain: image \u2192 initials from `name` \u2192 themed symbol. Coloring, radius, typeface and sizes all resolve from `avatar` theme tokens; `variant` picks the container palette.",
192
192
  category: "components",
193
- version: "11.2.0",
193
+ version: "11.3.0",
194
194
  bindings: {
195
195
  angular: {
196
196
  importPath: "@uni-design-system/uni-angular",
@@ -285,7 +285,7 @@ var uni_index_default = {
285
285
  summary: "Overlapping stack of avatars.",
286
286
  description: "Overlapping stack of avatars. `max` collapses the overflow into a themed \u201C+N\u201D chip (itself a `uni-avatar`). Overlap and separator ring resolve from `avatarGroup` theme tokens.",
287
287
  category: "components",
288
- version: "11.2.0",
288
+ version: "11.3.0",
289
289
  bindings: {
290
290
  angular: {
291
291
  importPath: "@uni-design-system/uni-angular",
@@ -334,7 +334,7 @@ var uni_index_default = {
334
334
  summary: "",
335
335
  description: "",
336
336
  category: "primitives",
337
- version: "11.2.0",
337
+ version: "11.3.0",
338
338
  bindings: {
339
339
  angular: {
340
340
  importPath: "@uni-design-system/uni-angular",
@@ -415,7 +415,7 @@ var uni_index_default = {
415
415
  summary: "",
416
416
  description: "",
417
417
  category: "feedback",
418
- version: "11.2.0",
418
+ version: "11.3.0",
419
419
  bindings: {
420
420
  angular: {
421
421
  importPath: "@uni-design-system/uni-angular",
@@ -512,7 +512,7 @@ var uni_index_default = {
512
512
  summary: "",
513
513
  description: "",
514
514
  category: "directives",
515
- version: "11.2.0",
515
+ version: "11.3.0",
516
516
  bindings: {
517
517
  angular: {
518
518
  importPath: "@uni-design-system/uni-angular",
@@ -536,7 +536,7 @@ var uni_index_default = {
536
536
  summary: 'The base layout primitive, applied as an attribute to any element so semantics stay yours: `<main box-layout [grow]="1" padding="md">`.',
537
537
  description: 'The base layout primitive, applied as an attribute to any element so semantics stay yours: `<main box-layout [grow]="1" padding="md">`. It is a directive, so it composes freely \u2014 with another layout attribute (`<div stack-layout uni-text="body-1-long">`) and with a component\'s own host element (`<uni-card box-layout padding="lg">`); Angular merges the host `class` bindings rather than letting one win. Sizing convention (height/width/min/max/inset): a **number is px and needs a binding** \u2014 `[height]="420"`; a **plain attribute is a CSS length string** \u2014 `height="420px"`. Spacing/radius/color inputs take theme tokens.',
538
538
  category: "layout",
539
- version: "11.2.0",
539
+ version: "11.3.0",
540
540
  bindings: {
541
541
  angular: {
542
542
  importPath: "@uni-design-system/uni-angular",
@@ -944,7 +944,7 @@ var uni_index_default = {
944
944
  summary: 'WAI-ARIA breadcrumb: a `nav` landmark wrapping an ordered list; the last item is the current page (`aria-current="page"`), separators are decorative.',
945
945
  description: 'WAI-ARIA breadcrumb: a `nav` landmark wrapping an ordered list; the last item is the current page (`aria-current="page"`), separators are decorative. Items with `href` render as real links; without one they render as link-styled buttons emitting `itemClicked` \u2014 wire that to your router.',
946
946
  category: "components",
947
- version: "11.2.0",
947
+ version: "11.3.0",
948
948
  bindings: {
949
949
  angular: {
950
950
  importPath: "@uni-design-system/uni-angular",
@@ -1029,7 +1029,7 @@ var uni_index_default = {
1029
1029
  summary: "",
1030
1030
  description: "",
1031
1031
  category: "primitives",
1032
- version: "11.2.0",
1032
+ version: "11.3.0",
1033
1033
  bindings: {
1034
1034
  angular: {
1035
1035
  importPath: "@uni-design-system/uni-angular",
@@ -1189,7 +1189,7 @@ var uni_index_default = {
1189
1189
  summary: "",
1190
1190
  description: "",
1191
1191
  category: "primitives",
1192
- version: "11.2.0",
1192
+ version: "11.3.0",
1193
1193
  bindings: {
1194
1194
  angular: {
1195
1195
  importPath: "@uni-design-system/uni-angular",
@@ -1221,7 +1221,7 @@ var uni_index_default = {
1221
1221
  summary: "Inline month calendar: single-date or start\u2013end range selection, day markers (availability dots), min/max fences and disabled dates.",
1222
1222
  description: "Inline month calendar: single-date or start\u2013end range selection, day markers (availability dots), min/max fences and disabled dates. One tab stop with a roving-tabindex `role=\"grid\"`; every day is a real button named with its full date. Values are plain ISO strings (`'YYYY-MM-DD'`), never `Date` objects, so bindings are timezone-free and serializable. Selection and today colours come from the theme's `primary` role pair; geometry and glyphs come from the `calendar` theme entry.",
1223
1223
  category: "forms",
1224
- version: "11.2.0",
1224
+ version: "11.3.0",
1225
1225
  bindings: {
1226
1226
  angular: {
1227
1227
  importPath: "@uni-design-system/uni-angular",
@@ -1462,7 +1462,7 @@ var uni_index_default = {
1462
1462
  summary: "Anchored coach-mark panel that dims the page and cuts a spotlight hole around its target.",
1463
1463
  description: 'Anchored coach-mark panel that dims the page and cuts a spotlight hole around its target. Both the scrim and the panel are `popover="manual"` elements shown in order, so they stack deterministically in the top layer above every app z-index, and every scrim piece is CSS-anchor-positioned to the target \u2014 the hole tracks scroll/resize/layout with zero listeners. The panel is a non-modal `role="dialog"` (deliberately no `aria-modal`): focus moves into it on open, Tab runs a "duet loop" over the panel\'s focusables plus the spotlit target while it stays interactive, and on close focus returns to the pre-open element \u2014 unless the user moved into the target, where it stays. Storage-free by rule: `key` and the `dismissed` output are the "don\'t show again" hooks; persistence is the app\'s business (e.g. cdk local-storage).',
1464
1464
  category: "components",
1465
- version: "11.2.0",
1465
+ version: "11.3.0",
1466
1466
  bindings: {
1467
1467
  angular: {
1468
1468
  importPath: "@uni-design-system/uni-angular",
@@ -1682,7 +1682,7 @@ var uni_index_default = {
1682
1682
  summary: "",
1683
1683
  description: "",
1684
1684
  category: "layout",
1685
- version: "11.2.0",
1685
+ version: "11.3.0",
1686
1686
  bindings: {
1687
1687
  angular: {
1688
1688
  importPath: "@uni-design-system/uni-angular",
@@ -1744,7 +1744,7 @@ var uni_index_default = {
1744
1744
  summary: "",
1745
1745
  description: "",
1746
1746
  category: "layout",
1747
- version: "11.2.0",
1747
+ version: "11.3.0",
1748
1748
  bindings: {
1749
1749
  angular: {
1750
1750
  importPath: "@uni-design-system/uni-angular",
@@ -1785,7 +1785,7 @@ var uni_index_default = {
1785
1785
  summary: "",
1786
1786
  description: "",
1787
1787
  category: "layout",
1788
- version: "11.2.0",
1788
+ version: "11.3.0",
1789
1789
  bindings: {
1790
1790
  angular: {
1791
1791
  importPath: "@uni-design-system/uni-angular",
@@ -1842,7 +1842,7 @@ var uni_index_default = {
1842
1842
  summary: "",
1843
1843
  description: "",
1844
1844
  category: "layout",
1845
- version: "11.2.0",
1845
+ version: "11.3.0",
1846
1846
  bindings: {
1847
1847
  angular: {
1848
1848
  importPath: "@uni-design-system/uni-angular",
@@ -1897,7 +1897,7 @@ var uni_index_default = {
1897
1897
  summary: "",
1898
1898
  description: "",
1899
1899
  category: "forms",
1900
- version: "11.2.0",
1900
+ version: "11.3.0",
1901
1901
  bindings: {
1902
1902
  angular: {
1903
1903
  importPath: "@uni-design-system/uni-angular",
@@ -2119,7 +2119,7 @@ var uni_index_default = {
2119
2119
  summary: "Form-bound, closed-set, single-select autocomplete: `FormValueControl<T | null>` over object `Options<T>`, type-to-filter, commit-on-select.",
2120
2120
  description: "Form-bound, closed-set, single-select autocomplete: `FormValueControl<T | null>` over object `Options<T>`, type-to-filter, commit-on-select. Typing produces a draft \u2014 a filter, never a value; the value changes only when an option commits, `clear()` runs, or the model is written from outside. Select semantics, not search: a real label, a chevron, no magnifier, nothing submits. For short lists with no need to type, prefer `uni-select` \u2014 the value contract is identical, so swapping is a template-only change.",
2121
2121
  category: "forms",
2122
- version: "11.2.0",
2122
+ version: "11.3.0",
2123
2123
  bindings: {
2124
2124
  angular: {
2125
2125
  importPath: "@uni-design-system/uni-angular",
@@ -2405,7 +2405,7 @@ emptyText="No countries found"
2405
2405
  summary: "",
2406
2406
  description: "",
2407
2407
  category: "feedback",
2408
- version: "11.2.0",
2408
+ version: "11.3.0",
2409
2409
  bindings: {
2410
2410
  angular: {
2411
2411
  importPath: "@uni-design-system/uni-angular",
@@ -2452,7 +2452,7 @@ emptyText="No countries found"
2452
2452
  summary: "",
2453
2453
  description: "",
2454
2454
  category: "forms",
2455
- version: "11.2.0",
2455
+ version: "11.3.0",
2456
2456
  bindings: {
2457
2457
  angular: {
2458
2458
  importPath: "@uni-design-system/uni-angular",
@@ -2551,7 +2551,7 @@ emptyText="No countries found"
2551
2551
  summary: "",
2552
2552
  description: "",
2553
2553
  category: "data",
2554
- version: "11.2.0",
2554
+ version: "11.3.0",
2555
2555
  bindings: {
2556
2556
  angular: {
2557
2557
  importPath: "@uni-design-system/uni-angular",
@@ -2791,7 +2791,7 @@ emptyText="No countries found"
2791
2791
  summary: "Date field with free-typed parsing and a popup calendar.",
2792
2792
  description: "Date field with free-typed parsing and a popup calendar. Type `aug 20`, `8/20/2026` or `2026-08-20`, or pick from the grid \u2014 the form gets the same canonical `'YYYY-MM-DD'` string either way. Parsing is `Intl`-driven (locale digit order and month names, never hardcoded); unreadable text stays in the field, flagged, with a `rejected` event. The popup is a native popover hosting the same `uni-calendar` an app could render inline.",
2793
2793
  category: "forms",
2794
- version: "11.2.0",
2794
+ version: "11.3.0",
2795
2795
  bindings: {
2796
2796
  angular: {
2797
2797
  importPath: "@uni-design-system/uni-angular",
@@ -3022,7 +3022,7 @@ emptyText="No countries found"
3022
3022
  summary: "One field for a date and a time: a thin composer seating a uni-date-input and a uni-time-input in one input-box chrome under one label, yielding one combined `'YYYY-MM-DDTHH:mm'` value.",
3023
3023
  description: "One field for a date and a time: a thin composer seating a uni-date-input and a uni-time-input in one input-box chrome under one label, yielding one combined `'YYYY-MM-DDTHH:mm'` value. The value emits only when both parts are set \u2014 a time without a day is not an answer \u2014 and clearing the date clears it. With `slotsFor`, the time part stays disabled until a day is chosen and offers exactly that day's slots: the scheduling flow in one attribute. Two honest tab stops (it is two questions); apps needing a different arrangement compose the primitives directly.",
3024
3024
  category: "forms",
3025
- version: "11.2.0",
3025
+ version: "11.3.0",
3026
3026
  bindings: {
3027
3027
  angular: {
3028
3028
  importPath: "@uni-design-system/uni-angular",
@@ -3215,7 +3215,7 @@ emptyText="No countries found"
3215
3215
  summary: "Text input that emits `change` only after the user pauses typing.",
3216
3216
  description: "Text input that emits `change` only after the user pauses typing. Wears the shared input chrome (themed color, border, typeface, focus ring) via `uni-input-box`; project adornments with the `pre-input` / `post-input` slots, matching `uni-input`'s convention. The ARIA passthrough inputs let a wrapping composite (e.g. SearchInput's combobox) annotate the real input element.",
3217
3217
  category: "forms",
3218
- version: "11.2.0",
3218
+ version: "11.3.0",
3219
3219
  bindings: {
3220
3220
  angular: {
3221
3221
  importPath: "@uni-design-system/uni-angular",
@@ -3363,7 +3363,7 @@ emptyText="No countries found"
3363
3363
  summary: "Modal dialog on the native `<dialog>` element, laid out as three rows: an optional `[dialog-header]`, the projected body, an optional `[dialog-buttons]`.",
3364
3364
  description: "Modal dialog on the native `<dialog>` element, laid out as three rows: an optional `[dialog-header]`, the projected body, an optional `[dialog-buttons]`. **The surface is never the scroll container.** It is a flex column that is `overflow: clip` on both axes; the header and buttons pin while only the body row scrolls. Unlike the drawer, which is deliberately viewport-tall, the dialog stays content-sized: it has no `height`, and grows until it hits `calc(100dvh - 2 x inset)` \u2014 the point at which the body starts to scroll. The theme's `padding` insets all three rows (which is what makes the default header read as a pill floating inside the surface); `bodyPadding` pads the scrolling row alone.",
3365
3365
  category: "feedback",
3366
- version: "11.2.0",
3366
+ version: "11.3.0",
3367
3367
  bindings: {
3368
3368
  angular: {
3369
3369
  importPath: "@uni-design-system/uni-angular",
@@ -3516,7 +3516,7 @@ uni-dialog
3516
3516
  summary: "",
3517
3517
  description: "",
3518
3518
  category: "feedback",
3519
- version: "11.2.0",
3519
+ version: "11.3.0",
3520
3520
  bindings: {
3521
3521
  angular: {
3522
3522
  importPath: "@uni-design-system/uni-angular",
@@ -3620,7 +3620,7 @@ uni-dialog
3620
3620
  summary: "",
3621
3621
  description: "",
3622
3622
  category: "feedback",
3623
- version: "11.2.0",
3623
+ version: "11.3.0",
3624
3624
  bindings: {
3625
3625
  angular: {
3626
3626
  importPath: "@uni-design-system/uni-angular",
@@ -3661,7 +3661,7 @@ uni-dialog
3661
3661
  summary: "",
3662
3662
  description: "",
3663
3663
  category: "layout",
3664
- version: "11.2.0",
3664
+ version: "11.3.0",
3665
3665
  bindings: {
3666
3666
  angular: {
3667
3667
  importPath: "@uni-design-system/uni-angular",
@@ -3717,7 +3717,7 @@ uni-dialog
3717
3717
  summary: "",
3718
3718
  description: "",
3719
3719
  category: "directives",
3720
- version: "11.2.0",
3720
+ version: "11.3.0",
3721
3721
  bindings: {
3722
3722
  angular: {
3723
3723
  importPath: "@uni-design-system/uni-angular",
@@ -3749,7 +3749,7 @@ uni-dialog
3749
3749
  summary: "Drawer with two modes sharing one three-row layout: - `side` \u2014 an in-flow `<aside>` that pushes content (dashboard sidenav); opening/closing animates its width, and the divider border primitive separates it from the page.",
3750
3750
  description: "Drawer with two modes sharing one three-row layout: - `side` \u2014 an in-flow `<aside>` that pushes content (dashboard sidenav); opening/closing animates its width, and the divider border primitive separates it from the page. - `over` \u2014 a native `<dialog>` in the top layer: focus trap, Escape and scrim backdrop come from the platform (same machinery as `uni-dialog`), sliding in from its edge. **The panel is never the scroll container.** It is a flex column of three rows \u2014 an optional `[uni-drawer-header]`, the projected body, an optional `[uni-drawer-buttons]` \u2014 and only the body scrolls. The panel itself is `overflow: clip` on both axes. That is what lets a header and a save bar pin while a long form scrolls between them, and it is why the theme's `padding` option lands on the body row rather than the panel: padding on a scrolling box scrolls away with its content. Surface, width, divider, elevation, padding, backdrop, scrim and background all resolve from `drawer` theme tokens.",
3751
3751
  category: "components",
3752
- version: "11.2.0",
3752
+ version: "11.3.0",
3753
3753
  bindings: {
3754
3754
  angular: {
3755
3755
  importPath: "@uni-design-system/uni-angular",
@@ -3940,7 +3940,7 @@ initialFocus="input"
3940
3940
  summary: "The drawer's pinned footer action row \u2014 the save bar of an editor panel.",
3941
3941
  description: "The drawer's pinned footer action row \u2014 the save bar of an editor panel. Sits outside the scrolling body, so the actions stay reachable however long the form is. Mirrors `[dialog-buttons]`; the difference is posture, which lives in the `drawerButtons` theme options rather than here.",
3942
3942
  category: "primitives",
3943
- version: "11.2.0",
3943
+ version: "11.3.0",
3944
3944
  bindings: {
3945
3945
  angular: {
3946
3946
  importPath: "@uni-design-system/uni-angular",
@@ -4037,7 +4037,7 @@ initialFocus="input"
4037
4037
  summary: "The drawer's pinned header row: a title, and optionally a close button.",
4038
4038
  description: "The drawer's pinned header row: a title, and optionally a close button. Sits outside the scrolling body, so it stays put while the form beneath it moves. Reached either by projecting it \u2014 `<div uni-drawer-header>` \u2014 or implicitly, by giving `uni-drawer` a `headline`, in which case the drawer renders one of these itself.",
4039
4039
  category: "components",
4040
- version: "11.2.0",
4040
+ version: "11.3.0",
4041
4041
  bindings: {
4042
4042
  angular: {
4043
4043
  importPath: "@uni-design-system/uni-angular",
@@ -4085,7 +4085,7 @@ initialFocus="input"
4085
4085
  summary: "",
4086
4086
  description: "",
4087
4087
  category: "components",
4088
- version: "11.2.0",
4088
+ version: "11.3.0",
4089
4089
  bindings: {
4090
4090
  angular: {
4091
4091
  importPath: "@uni-design-system/uni-angular",
@@ -4219,7 +4219,7 @@ initialFocus="input"
4219
4219
  summary: "",
4220
4220
  description: "",
4221
4221
  category: "layout",
4222
- version: "11.2.0",
4222
+ version: "11.3.0",
4223
4223
  bindings: {
4224
4224
  angular: {
4225
4225
  importPath: "@uni-design-system/uni-angular",
@@ -4323,7 +4323,7 @@ initialFocus="input"
4323
4323
  summary: "",
4324
4324
  description: "",
4325
4325
  category: "layout",
4326
- version: "11.2.0",
4326
+ version: "11.3.0",
4327
4327
  bindings: {
4328
4328
  angular: {
4329
4329
  importPath: "@uni-design-system/uni-angular",
@@ -4394,7 +4394,7 @@ initialFocus="input"
4394
4394
  summary: "Trigger for a {@link UniExpandComponent} region.",
4395
4395
  description: "Trigger for a {@link UniExpandComponent} region. Two shapes, chosen by whether `label` is set: - **Icon only** (default) \u2014 the bare chevron, sized for a Card Header. - **Labelled** \u2014 chevron plus a label and optional muted sublabel, as a single full-width button. Most real disclosures need a name for the section, and building that row by hand is the thing this saves; it also makes the label the button's accessible name rather than adjacent text.",
4396
4396
  category: "layout",
4397
- version: "11.2.0",
4397
+ version: "11.3.0",
4398
4398
  bindings: {
4399
4399
  angular: {
4400
4400
  importPath: "@uni-design-system/uni-angular",
@@ -4479,7 +4479,7 @@ initialFocus="input"
4479
4479
  summary: "",
4480
4480
  description: "",
4481
4481
  category: "forms",
4482
- version: "11.2.0",
4482
+ version: "11.3.0",
4483
4483
  bindings: {
4484
4484
  angular: {
4485
4485
  importPath: "@uni-design-system/uni-angular",
@@ -4637,7 +4637,7 @@ initialFocus="input"
4637
4637
  summary: "",
4638
4638
  description: "",
4639
4639
  category: "layout",
4640
- version: "11.2.0",
4640
+ version: "11.3.0",
4641
4641
  bindings: {
4642
4642
  angular: {
4643
4643
  importPath: "@uni-design-system/uni-angular",
@@ -4734,7 +4734,7 @@ initialFocus="input"
4734
4734
  summary: "",
4735
4735
  description: "",
4736
4736
  category: "layout",
4737
- version: "11.2.0",
4737
+ version: "11.3.0",
4738
4738
  bindings: {
4739
4739
  angular: {
4740
4740
  importPath: "@uni-design-system/uni-angular",
@@ -4766,7 +4766,7 @@ initialFocus="input"
4766
4766
  summary: "",
4767
4767
  description: "",
4768
4768
  category: "primitives",
4769
- version: "11.2.0",
4769
+ version: "11.3.0",
4770
4770
  bindings: {
4771
4771
  angular: {
4772
4772
  importPath: "@uni-design-system/uni-angular",
@@ -4826,7 +4826,7 @@ initialFocus="input"
4826
4826
  summary: "",
4827
4827
  description: "",
4828
4828
  category: "primitives",
4829
- version: "11.2.0",
4829
+ version: "11.3.0",
4830
4830
  bindings: {
4831
4831
  angular: {
4832
4832
  importPath: "@uni-design-system/uni-angular",
@@ -4929,7 +4929,7 @@ initialFocus="input"
4929
4929
  summary: "A button that lives inside a sentence.",
4930
4930
  description: "A button that lives inside a sentence. Every other button in the library owns a box. Even `ghost` is a flex box with a hit area, horizontal padding and a type scale of its own, so dropping one into a sentence takes it out of the run of text entirely. This one inherits that type \u2014 family, size, weight, line height and colour \u2014 and adds no padding, so a paragraph reads as one continuous run with an action in the middle of it. It is always a real `<button>`: it can *look* like a link (`underline`, `link`) without claiming to be navigation, so Enter and Space activate it and assistive tech announces a button rather than an unfollowable link. A glyph may sit alongside the label without disturbing that: it is sized in `em`, so it scales with the type it lands in rather than pinning a px size into someone else's paragraph. One limit comes from the element itself. Browsers blockify a `<button>` to `inline-block` whatever `display` it asks for, so the control is an atomic inline box: its own label wraps inside it, but the run cannot split across a line break the way the words around it do. `display: contents` would buy that at the cost of the button being focusable at all, which is not a trade worth making \u2014 keep labels to a few words, which is what an inline action wants anyway.",
4931
4931
  category: "primitives",
4932
- version: "11.2.0",
4932
+ version: "11.3.0",
4933
4933
  bindings: {
4934
4934
  angular: {
4935
4935
  importPath: "@uni-design-system/uni-angular",
@@ -5044,7 +5044,7 @@ initialFocus="input"
5044
5044
  summary: "",
5045
5045
  description: "",
5046
5046
  category: "forms",
5047
- version: "11.2.0",
5047
+ version: "11.3.0",
5048
5048
  bindings: {
5049
5049
  angular: {
5050
5050
  importPath: "@uni-design-system/uni-angular",
@@ -5329,7 +5329,7 @@ initialFocus="input"
5329
5329
  summary: "",
5330
5330
  description: "",
5331
5331
  category: "forms",
5332
- version: "11.2.0",
5332
+ version: "11.3.0",
5333
5333
  bindings: {
5334
5334
  angular: {
5335
5335
  importPath: "@uni-design-system/uni-angular",
@@ -5450,7 +5450,7 @@ initialFocus="input"
5450
5450
  summary: "",
5451
5451
  description: "",
5452
5452
  category: "components",
5453
- version: "11.2.0",
5453
+ version: "11.3.0",
5454
5454
  bindings: {
5455
5455
  angular: {
5456
5456
  importPath: "@uni-design-system/uni-angular",
@@ -5520,7 +5520,7 @@ initialFocus="input"
5520
5520
  summary: "",
5521
5521
  description: "",
5522
5522
  category: "layout",
5523
- version: "11.2.0",
5523
+ version: "11.3.0",
5524
5524
  bindings: {
5525
5525
  angular: {
5526
5526
  importPath: "@uni-design-system/uni-angular",
@@ -5624,7 +5624,7 @@ initialFocus="input"
5624
5624
  summary: "",
5625
5625
  description: "",
5626
5626
  category: "layout",
5627
- version: "11.2.0",
5627
+ version: "11.3.0",
5628
5628
  bindings: {
5629
5629
  angular: {
5630
5630
  importPath: "@uni-design-system/uni-angular",
@@ -5706,7 +5706,7 @@ initialFocus="input"
5706
5706
  summary: "",
5707
5707
  description: "",
5708
5708
  category: "forms",
5709
- version: "11.2.0",
5709
+ version: "11.3.0",
5710
5710
  bindings: {
5711
5711
  angular: {
5712
5712
  importPath: "@uni-design-system/uni-angular",
@@ -5800,7 +5800,7 @@ initialFocus="input"
5800
5800
  summary: "",
5801
5801
  description: "",
5802
5802
  category: "forms",
5803
- version: "11.2.0",
5803
+ version: "11.3.0",
5804
5804
  bindings: {
5805
5805
  angular: {
5806
5806
  importPath: "@uni-design-system/uni-angular",
@@ -5979,7 +5979,7 @@ initialFocus="input"
5979
5979
  summary: "",
5980
5980
  description: "",
5981
5981
  category: "feedback",
5982
- version: "11.2.0",
5982
+ version: "11.3.0",
5983
5983
  bindings: {
5984
5984
  angular: {
5985
5985
  importPath: "@uni-design-system/uni-angular",
@@ -6239,7 +6239,7 @@ initialFocus="input"
6239
6239
  summary: "",
6240
6240
  description: "",
6241
6241
  category: "feedback",
6242
- version: "11.2.0",
6242
+ version: "11.3.0",
6243
6243
  bindings: {
6244
6244
  angular: {
6245
6245
  importPath: "@uni-design-system/uni-angular",
@@ -6263,7 +6263,7 @@ initialFocus="input"
6263
6263
  summary: "Numeric field with locale-aware parsing, `Intl` formatting on commit, prefix/suffix adornments and steppers that hold to repeat.",
6264
6264
  description: 'Numeric field with locale-aware parsing, `Intl` formatting on commit, prefix/suffix adornments and steppers that hold to repeat. Not `<input type="number">`, and the first reason is a data-loss bug: per the HTML value sanitization algorithm, a number input whose text is not a valid floating-point number reports `value === \'\'`. Type `12,50` as most of Europe does, or paste `1,234.56` from a spreadsheet, and the app reads an empty field. This is `type="text"` with `role="spinbutton"`, which is the only way to keep the user\'s malformed text on screen and tell them about it. Chrome comes from `uni-input-box`, so error, disabled and focus states match every other field. All arithmetic runs on the cdk\'s exact decimal helpers.',
6265
6265
  category: "forms",
6266
- version: "11.2.0",
6266
+ version: "11.3.0",
6267
6267
  bindings: {
6268
6268
  angular: {
6269
6269
  importPath: "@uni-design-system/uni-angular",
@@ -6689,7 +6689,7 @@ initialFocus="input"
6689
6689
  summary: "Two linked numeric fields in one chrome, with one `{ start, end }` value \u2014 price filters, thresholds, tolerances.",
6690
6690
  description: "Two linked numeric fields in one chrome, with one `{ start, end }` value \u2014 price filters, thresholds, tolerances. `start`/`end` deliberately match `UniDateRange`, so the library has one range vocabulary, and they avoid colliding with the `min`/`max` **inputs**, which mean the fence rather than the value. It owns its commit path rather than nesting two `uni-number-input`s, because the two behaviours the spec asks for need *different* bounds: a stepper must be fenced at the other end, while a typed commit must reach the parent un-clamped so a backwards range can be swapped instead of destroyed. A child field applies one bound pair to both. The arithmetic, parsing and formatting are still the cdk's, shared with every other numeric control.",
6691
6691
  category: "forms",
6692
- version: "11.2.0",
6692
+ version: "11.3.0",
6693
6693
  bindings: {
6694
6694
  angular: {
6695
6695
  importPath: "@uni-design-system/uni-angular",
@@ -6980,7 +6980,7 @@ initialFocus="input"
6980
6980
  summary: "",
6981
6981
  description: "",
6982
6982
  category: "data",
6983
- version: "11.2.0",
6983
+ version: "11.3.0",
6984
6984
  bindings: {
6985
6985
  angular: {
6986
6986
  importPath: "@uni-design-system/uni-angular",
@@ -7081,7 +7081,7 @@ initialFocus="input"
7081
7081
  summary: "Anchored, top-layer panel on the native `popover` element \u2014 the browser owns positioning (CSS anchor positioning), stacking, and, in rich mode, light dismissal.",
7082
7082
  description: 'Anchored, top-layer panel on the native `popover` element \u2014 the browser owns positioning (CSS anchor positioning), stacking, and, in rich mode, light dismissal. Two modes share one implementation: - `rich` (default): a click-toggled disclosure. The projected `[trigger]` carries `aria-expanded`/`aria-controls`; with no trigger content the app drives `open` and no element claims controller ARIA. Focus stays on the trigger (APG disclosure) unless the panel marks an `[autofocus]` field, and returns to the trigger on close. - `tooltip`: hover/focus-triggered, `role="tooltip"` + `aria-describedby`, WCAG 1.4.13 dismissable/hoverable/persistent. Content must not contain focusable elements. Anchoring and control are separate: `anchor` re-anchors the panel to any element (or id) while the trigger keeps the disclosure semantics.',
7083
7083
  category: "layout",
7084
- version: "11.2.0",
7084
+ version: "11.3.0",
7085
7085
  bindings: {
7086
7086
  angular: {
7087
7087
  importPath: "@uni-design-system/uni-angular",
@@ -7273,7 +7273,7 @@ initialFocus="input"
7273
7273
  summary: "",
7274
7274
  description: "",
7275
7275
  category: "feedback",
7276
- version: "11.2.0",
7276
+ version: "11.3.0",
7277
7277
  bindings: {
7278
7278
  angular: {
7279
7279
  importPath: "@uni-design-system/uni-angular",
@@ -7337,7 +7337,7 @@ initialFocus="input"
7337
7337
  summary: "",
7338
7338
  description: "",
7339
7339
  category: "feedback",
7340
- version: "11.2.0",
7340
+ version: "11.3.0",
7341
7341
  bindings: {
7342
7342
  angular: {
7343
7343
  importPath: "@uni-design-system/uni-angular",
@@ -7409,7 +7409,7 @@ initialFocus="input"
7409
7409
  summary: "`\u2212 3 +` for cart lines, table cells and seat counts: the numeric core with no field chrome, no label and no room for either.",
7410
7410
  description: '`\u2212 3 +` for cart lines, table cells and seat counts: the numeric core with no field chrome, no label and no room for either. A separate component rather than a `chrome="bare"` flag on `uni-number-input`, because this control is defined by what it does *not* have \u2014 presets, affixes, expressions, four stepper layouts \u2014 and eight inputs are easier to write correctly than forty with a list of which ones to leave alone. The arithmetic, parsing and hold-to-repeat are the cdk\'s, shared with the field, so `1,200` and the keyboard map behave identically in both. The middle stays a real input by default: typing `12` beats tapping `+` eleven times. `editable=false` is for read-mostly tables.',
7411
7411
  category: "forms",
7412
- version: "11.2.0",
7412
+ version: "11.3.0",
7413
7413
  bindings: {
7414
7414
  angular: {
7415
7415
  importPath: "@uni-design-system/uni-angular",
@@ -7612,7 +7612,7 @@ initialFocus="input"
7612
7612
  summary: "",
7613
7613
  description: "",
7614
7614
  category: "forms",
7615
- version: "11.2.0",
7615
+ version: "11.3.0",
7616
7616
  bindings: {
7617
7617
  angular: {
7618
7618
  importPath: "@uni-design-system/uni-angular",
@@ -7841,7 +7841,7 @@ initialFocus="input"
7841
7841
  summary: "Content for each of a radio group's options, in place of the plain label string.",
7842
7842
  description: 'Content for each of a radio group\'s options, in place of the plain label string. A group renders N labels from an `options` array, so it cannot take `<ng-content />` the way `uni-checkbox` and `uni-toggle` do \u2014 there is no single slot to project into. A template is the shape that survives the repetition: it is instantiated once per option and handed that option, so a row can carry a description, a price or a badge and still be part of the `<label>` that drives the input. ```html <uni-radio [options]="plans"> <ng-template uniRadioOption let-option> <span uni-text="body-2-long">{{ option.label }}</span> </ng-template> </uni-radio> ```',
7843
7843
  category: "forms",
7844
- version: "11.2.0",
7844
+ version: "11.3.0",
7845
7845
  bindings: {
7846
7846
  angular: {
7847
7847
  importPath: "@uni-design-system/uni-angular",
@@ -7865,7 +7865,7 @@ initialFocus="input"
7865
7865
  summary: "",
7866
7866
  description: "",
7867
7867
  category: "directives",
7868
- version: "11.2.0",
7868
+ version: "11.3.0",
7869
7869
  bindings: {
7870
7870
  angular: {
7871
7871
  importPath: "@uni-design-system/uni-angular",
@@ -7889,7 +7889,7 @@ initialFocus="input"
7889
7889
  summary: "",
7890
7890
  description: "",
7891
7891
  category: "layout",
7892
- version: "11.2.0",
7892
+ version: "11.3.0",
7893
7893
  bindings: {
7894
7894
  angular: {
7895
7895
  importPath: "@uni-design-system/uni-angular",
@@ -7944,7 +7944,7 @@ initialFocus="input"
7944
7944
  summary: "Native scroll area with theme-driven scrollbar styling.",
7945
7945
  description: "Native scroll area with theme-driven scrollbar styling. Scrollbars are styled entirely through Emotion-generated CSS: `::-webkit-scrollbar` rules cover Chromium/Safari, with a `scrollbar-width`/`scrollbar-color` fallback for Firefox.",
7946
7946
  category: "layout",
7947
- version: "11.2.0",
7947
+ version: "11.3.0",
7948
7948
  bindings: {
7949
7949
  angular: {
7950
7950
  importPath: "@uni-design-system/uni-angular",
@@ -8091,7 +8091,7 @@ initialFocus="input"
8091
8091
  summary: "Generic search field: shared input chrome with a leading magnifier, a clear button while there's a query, Enter to submit, and optional type-ahead \u2014 pass `suggestions` (refresh them from `change`) and the field becomes an ARIA combobox with a keyboard-navigable listbox.",
8092
8092
  description: "Generic search field: shared input chrome with a leading magnifier, a clear button while there's a query, Enter to submit, and optional type-ahead \u2014 pass `suggestions` (refresh them from `change`) and the field becomes an ARIA combobox with a keyboard-navigable listbox. Escape closes the list first, then clears the query.",
8093
8093
  category: "forms",
8094
- version: "11.2.0",
8094
+ version: "11.3.0",
8095
8095
  bindings: {
8096
8096
  angular: {
8097
8097
  importPath: "@uni-design-system/uni-angular",
@@ -8218,7 +8218,7 @@ initialFocus="input"
8218
8218
  summary: "",
8219
8219
  description: "",
8220
8220
  category: "forms",
8221
- version: "11.2.0",
8221
+ version: "11.3.0",
8222
8222
  bindings: {
8223
8223
  angular: {
8224
8224
  importPath: "@uni-design-system/uni-angular",
@@ -8388,7 +8388,7 @@ initialFocus="input"
8388
8388
  summary: "Loading placeholder painted with surface tokens.",
8389
8389
  description: "Loading placeholder painted with surface tokens. `text` renders one or more lines (the last line shortened, as real text would be), `rect` and `circle` render fixed shapes. The shimmer only animates when the user allows motion; it degrades to static blocks under `prefers-reduced-motion`. Color and radius are theme options with per-instance overrides, because one app routinely needs several: skeletons on a card and on the page background want different tints, and a pill placeholder wants a different corner than the text bars beside it.",
8390
8390
  category: "components",
8391
- version: "11.2.0",
8391
+ version: "11.3.0",
8392
8392
  bindings: {
8393
8393
  angular: {
8394
8394
  importPath: "@uni-design-system/uni-angular",
@@ -8539,7 +8539,7 @@ initialFocus="input"
8539
8539
  summary: "Bounded numeric input by pointer, for values where the *position* is the information: volume, opacity, weightings, price filters.",
8540
8540
  description: "Bounded numeric input by pointer, for values where the *position* is the information: volume, opacity, weightings, price filters. Custom thumbs rather than `<input type=\"range\">`, which the previous version used: one native range input cannot carry two thumbs, marks or a tooltip, and a second component for the range case would mean two keyboard maps to keep in step. The step model and the keyboard map are the cdk's, shared with the numeric fields, so nothing new is learned moving between them. All arithmetic on values runs through the cdk's exact decimal helpers \u2014 stepping `0.1` never yields `0.30000000000000004`. Only pointer *positions* use floats, and they are snapped to the grid before becoming a value.",
8541
8541
  category: "forms",
8542
- version: "11.2.0",
8542
+ version: "11.3.0",
8543
8543
  bindings: {
8544
8544
  angular: {
8545
8545
  importPath: "@uni-design-system/uni-angular",
@@ -8767,7 +8767,7 @@ initialFocus="input"
8767
8767
  }
8768
8768
  ],
8769
8769
  guidelines: {
8770
- whenToUse: 'Reach for a slider when the *position* is the information \u2014 volume, opacity,\nweightings, price filters \u2014 and for a number field when the exact figure is. A\nslider is a poor way to enter 47, and a text field is a poor way to feel where\n47 sits between 0 and 100. Bind `changed` in a form; `sliding` streams every\nframe of a drag and is there for live previews.\nOne thumb by default, two when `mode="range"`, with a `{ start, end }` value\nthat reuses the range vocabulary from `uni-calendar`. Stepping is exact decimal\narithmetic from the cdk, shared with the numeric input family, so a `0.1` step\nnever lands on `0.30000000000000004`. Fill and thumb colour come from the\n`variant` role pair; the track, geometry, marks and tooltip resolve from the\ntheme\'s `slider` options.',
8770
+ whenToUse: 'Reach for a slider when the *position* is the information \u2014 volume, opacity,\nweightings, price filters \u2014 and for a number field when the exact figure is. A\nslider is a poor way to enter 47, and a text field is a poor way to feel where\n47 sits between 0 and 100. Bind `changed` in a form; `sliding` streams every\nframe of a drag and is there for live previews.\nOne thumb by default, two when `mode="range"`, with a `{ start, end }` value\nthat reuses the range vocabulary from `uni-calendar`. Stepping is exact decimal\narithmetic from the cdk, shared with the numeric input family, so a `0.1` step\nnever lands on `0.30000000000000004`. Fill and thumb color come from the\n`variant` role pair; the track, geometry, marks and tooltip resolve from the\ntheme\'s `slider` options.',
8771
8771
  dos: [
8772
8772
  "Use `changed` for form binding and `sliding` only for live previews.",
8773
8773
  "Pair a slider with a number field when users need both a ballpark and an exact value.",
@@ -8794,6 +8794,9 @@ initialFocus="input"
8794
8794
  "slider.behavior.borderRadius",
8795
8795
  "slider.behavior.thumbSize",
8796
8796
  "slider.behavior.thumbBorderRadius",
8797
+ "slider.behavior.thumbColor",
8798
+ "slider.behavior.thumbBorderColor",
8799
+ "slider.behavior.thumbBorderWidth",
8797
8800
  "slider.behavior.minTouchTarget",
8798
8801
  "slider.behavior.markSize",
8799
8802
  "slider.behavior.markColor",
@@ -8813,7 +8816,7 @@ initialFocus="input"
8813
8816
  summary: "",
8814
8817
  description: "",
8815
8818
  category: "feedback",
8816
- version: "11.2.0",
8819
+ version: "11.3.0",
8817
8820
  bindings: {
8818
8821
  angular: {
8819
8822
  importPath: "@uni-design-system/uni-angular",
@@ -8925,7 +8928,7 @@ initialFocus="input"
8925
8928
  summary: "",
8926
8929
  description: "",
8927
8930
  category: "data",
8928
- version: "11.2.0",
8931
+ version: "11.3.0",
8929
8932
  bindings: {
8930
8933
  angular: {
8931
8934
  importPath: "@uni-design-system/uni-angular",
@@ -8984,7 +8987,7 @@ initialFocus="input"
8984
8987
  summary: "",
8985
8988
  description: "",
8986
8989
  category: "layout",
8987
- version: "11.2.0",
8990
+ version: "11.3.0",
8988
8991
  bindings: {
8989
8992
  angular: {
8990
8993
  importPath: "@uni-design-system/uni-angular",
@@ -9039,7 +9042,7 @@ initialFocus="input"
9039
9042
  summary: 'KPI stat tile: muted label, large value (numbers auto-compact: 48234 \u2192 "48.2K"), an optional delta whose ink is decided by *direction \xD7 whether up is good* (never direction alone \u2014 churn going down is good news), and an optional decorative sparkline.',
9040
9043
  description: 'KPI stat tile: muted label, large value (numbers auto-compact: 48234 \u2192 "48.2K"), an optional delta whose ink is decided by *direction \xD7 whether up is good* (never direction alone \u2014 churn going down is good news), and an optional decorative sparkline. Frame, typography and inks are all `stat` theme tokens.',
9041
9044
  category: "components",
9042
- version: "11.2.0",
9045
+ version: "11.3.0",
9043
9046
  bindings: {
9044
9047
  angular: {
9045
9048
  importPath: "@uni-design-system/uni-angular",
@@ -9157,7 +9160,7 @@ initialFocus="input"
9157
9160
  summary: "",
9158
9161
  description: "",
9159
9162
  category: "primitives",
9160
- version: "11.2.0",
9163
+ version: "11.3.0",
9161
9164
  bindings: {
9162
9165
  angular: {
9163
9166
  importPath: "@uni-design-system/uni-angular",
@@ -9246,7 +9249,7 @@ initialFocus="input"
9246
9249
  summary: "One tab inside `uni-tabs`: a label for the tablist plus projected panel content.",
9247
9250
  description: "One tab inside `uni-tabs`: a label for the tablist plus projected panel content. Content is captured in a template and only instantiated while the tab is selected, so inactive panels cost nothing.",
9248
9251
  category: "components",
9249
- version: "11.2.0",
9252
+ version: "11.3.0",
9250
9253
  bindings: {
9251
9254
  angular: {
9252
9255
  importPath: "@uni-design-system/uni-angular",
@@ -9286,7 +9289,7 @@ initialFocus="input"
9286
9289
  summary: "WAI-ARIA tabs: roving tabindex, automatic activation (arrow keys move focus and select), Home/End, disabled tabs skipped.",
9287
9290
  description: "WAI-ARIA tabs: roving tabindex, automatic activation (arrow keys move focus and select), Home/End, disabled tabs skipped. Only the selected panel is instantiated. All styling resolves from `tabs` theme option tokens.",
9288
9291
  category: "components",
9289
- version: "11.2.0",
9292
+ version: "11.3.0",
9290
9293
  bindings: {
9291
9294
  angular: {
9292
9295
  importPath: "@uni-design-system/uni-angular",
@@ -9367,7 +9370,7 @@ initialFocus="input"
9367
9370
  summary: "Compact chip for categories, states, filters and tokens.",
9368
9371
  description: "Compact chip for categories, states, filters and tokens. Two orthogonal style axes: `variant` picks the colour role and `tone` picks the archetype (soft / solid / outline). Both live in the theme's `tag` entry, so a theme restyles every chip in the app without touching markup. Two state classes ride alongside the tone class for the same reason: `tag-selected` and `tag-interactive` let the theme paint selection and hover beside the colours they belong to, instead of an app swapping `tone` by hand on every chip. Structurally a chip is **body + trailing action as siblings**, never nested buttons: an interactive chip whose body is a `<button>` cannot contain the remove `<button>` (invalid HTML, and the inner control becomes unreachable for keyboard users). Both stay independently operable.",
9369
9372
  category: "data",
9370
- version: "11.2.0",
9373
+ version: "11.3.0",
9371
9374
  bindings: {
9372
9375
  angular: {
9373
9376
  importPath: "@uni-design-system/uni-angular",
@@ -9745,7 +9748,7 @@ initialFocus="input"
9745
9748
  summary: "A row of chips the user picks from: filters, facets, a set of labels.",
9746
9749
  description: "A row of chips the user picks from: filters, facets, a set of labels. The group **renders its own chips** from `items` rather than projecting them. That is what lets it own the things an app was otherwise wiring per chip \u2014 which one is selected, which one holds the tab stop \u2014 since a parent cannot write a projected child's inputs. `uni-tag` is unchanged by this component; `controlTabIndex` was already its hook for a composite that manages focus. Keyboard model is the toolbar pattern: one tab stop for the whole group, and the arrow keys move within it. Twelve filter chips should cost one Tab to pass, not twelve.",
9747
9750
  category: "data",
9748
- version: "11.2.0",
9751
+ version: "11.3.0",
9749
9752
  bindings: {
9750
9753
  angular: {
9751
9754
  importPath: "@uni-design-system/uni-angular",
@@ -9943,7 +9946,7 @@ initialFocus="input"
9943
9946
  summary: "",
9944
9947
  description: "",
9945
9948
  category: "forms",
9946
- version: "11.2.0",
9949
+ version: "11.3.0",
9947
9950
  bindings: {
9948
9951
  angular: {
9949
9952
  importPath: "@uni-design-system/uni-angular",
@@ -10284,7 +10287,7 @@ placeholder="Name or address\u2026"
10284
10287
  summary: "The typography primitive, applied as an attribute to any element so semantics stay yours.",
10285
10288
  description: 'The typography primitive, applied as an attribute to any element so semantics stay yours. The attribute value is the typeface: `<h1 uni-text="display-small">`, `<span uni-text="caption">`, dynamic via `[uni-text]="role()"`. With no value, the typeface is inferred from the host element (h1 \u2192 headline-large, p \u2192 body-1-long, \u2026), falling back to `title-small`; the `typeface` input remains as an explicit override. It is a directive, so it stacks with anything else on the element \u2014 a layout attribute (`<div stack-layout uni-text="title-small">`) or a component\'s own host \u2014 rather than colliding with it.',
10286
10289
  category: "primitives",
10287
- version: "11.2.0",
10290
+ version: "11.3.0",
10288
10291
  bindings: {
10289
10292
  angular: {
10290
10293
  importPath: "@uni-design-system/uni-angular",
@@ -10386,7 +10389,7 @@ placeholder="Name or address\u2026"
10386
10389
  summary: "",
10387
10390
  description: "",
10388
10391
  category: "forms",
10389
- version: "11.2.0",
10392
+ version: "11.3.0",
10390
10393
  bindings: {
10391
10394
  angular: {
10392
10395
  importPath: "@uni-design-system/uni-angular",
@@ -10593,7 +10596,7 @@ placeholder="Name or address\u2026"
10593
10596
  summary: "",
10594
10597
  description: "",
10595
10598
  category: "primitives",
10596
- version: "11.2.0",
10599
+ version: "11.3.0",
10597
10600
  bindings: {
10598
10601
  angular: {
10599
10602
  importPath: "@uni-design-system/uni-angular",
@@ -10623,7 +10626,7 @@ placeholder="Name or address\u2026"
10623
10626
  summary: "Drop-in switcher for the themes registered via `UNI_THEMES`: a select over `ThemeService.themeOptions` that applies the choice through `selectTheme` (so it persists across reloads like any other theme selection).",
10624
10627
  description: "Drop-in switcher for the themes registered via `UNI_THEMES`: a select over `ThemeService.themeOptions` that applies the choice through `selectTheme` (so it persists across reloads like any other theme selection).",
10625
10628
  category: "components",
10626
- version: "11.2.0",
10629
+ version: "11.3.0",
10627
10630
  bindings: {
10628
10631
  angular: {
10629
10632
  importPath: "@uni-design-system/uni-angular",
@@ -10681,7 +10684,7 @@ placeholder="Name or address\u2026"
10681
10684
  summary: "Time field: a combobox over time options \u2014 the same listbox contract as uni-search-input and uni-tag-input.",
10682
10685
  description: "Time field: a combobox over time options \u2014 the same listbox contract as uni-search-input and uni-tag-input. Type `3p`, `930` or `15:00`, or pick `3:00 PM` from the list; the form always gets 24-hour `'HH:mm'` (`hour12` affects display only). The list is assistive, not exhaustive: any parseable time commits, unless `slots` pins the choices (a slot picker) \u2014 then a typed time must match one. Unreadable or unavailable text stays in the field, flagged, with a `rejected` event.",
10683
10686
  category: "forms",
10684
- version: "11.2.0",
10687
+ version: "11.3.0",
10685
10688
  bindings: {
10686
10689
  angular: {
10687
10690
  importPath: "@uni-design-system/uni-angular",
@@ -10896,7 +10899,7 @@ placeholder="Name or address\u2026"
10896
10899
  summary: "",
10897
10900
  description: "",
10898
10901
  category: "forms",
10899
- version: "11.2.0",
10902
+ version: "11.3.0",
10900
10903
  bindings: {
10901
10904
  angular: {
10902
10905
  importPath: "@uni-design-system/uni-angular",
@@ -11158,7 +11161,7 @@ placeholder="Name or address\u2026"
11158
11161
  summary: "",
11159
11162
  description: "",
11160
11163
  category: "feedback",
11161
- version: "11.2.0",
11164
+ version: "11.3.0",
11162
11165
  bindings: {
11163
11166
  angular: {
11164
11167
  importPath: "@uni-design-system/uni-angular",
@@ -11246,7 +11249,7 @@ placeholder="Name or address\u2026"
11246
11249
  summary: 'A thin sequencer over one `uni-callout`: steps spotlight their targets, a footer walks Next/Back with dots-or-fraction progress, and `advanceOn` gates a step behind an interaction with its target (auto-advancing for clicks, unlocking Next otherwise \u2014 announced through one `role="status"` region).',
11247
11250
  description: 'A thin sequencer over one `uni-callout`: steps spotlight their targets, a footer walks Next/Back with dots-or-fraction progress, and `advanceOn` gates a step behind an interaction with its target (auto-advancing for clicks, unlocking Next otherwise \u2014 announced through one `role="status"` region). Escape or the close button skips the tour and reports the step. `active` is a two-way model, so a tour is deep-linkable and inspectable; steps whose declared target cannot be resolved are skipped (with a dev warning) in the direction of travel rather than erroring.',
11248
11251
  category: "components",
11249
- version: "11.2.0",
11252
+ version: "11.3.0",
11250
11253
  bindings: {
11251
11254
  angular: {
11252
11255
  importPath: "@uni-design-system/uni-angular",
@@ -11373,7 +11376,7 @@ placeholder="Name or address\u2026"
11373
11376
  summary: "",
11374
11377
  description: "",
11375
11378
  category: "layout",
11376
- version: "11.2.0",
11379
+ version: "11.3.0",
11377
11380
  bindings: {
11378
11381
  angular: {
11379
11382
  importPath: "@uni-design-system/uni-angular",
@@ -16531,6 +16534,42 @@ placeholder="Name or address\u2026"
16531
16534
  DarkTheme: "max"
16532
16535
  }
16533
16536
  },
16537
+ {
16538
+ id: "slider.behavior.thumbColor",
16539
+ value: "fill",
16540
+ type: "string",
16541
+ kind: "behavioral",
16542
+ target: "component-prop",
16543
+ appliesTo: "slider",
16544
+ themeValues: {
16545
+ LightTheme: "fill",
16546
+ DarkTheme: "fill"
16547
+ }
16548
+ },
16549
+ {
16550
+ id: "slider.behavior.thumbBorderColor",
16551
+ value: "background",
16552
+ type: "string",
16553
+ kind: "behavioral",
16554
+ target: "component-prop",
16555
+ appliesTo: "slider",
16556
+ themeValues: {
16557
+ LightTheme: "background",
16558
+ DarkTheme: "background"
16559
+ }
16560
+ },
16561
+ {
16562
+ id: "slider.behavior.thumbBorderWidth",
16563
+ value: 2,
16564
+ type: "number",
16565
+ kind: "behavioral",
16566
+ target: "component-prop",
16567
+ appliesTo: "slider",
16568
+ themeValues: {
16569
+ LightTheme: 2,
16570
+ DarkTheme: 2
16571
+ }
16572
+ },
16534
16573
  {
16535
16574
  id: "slider.behavior.minTouchTarget",
16536
16575
  value: 24,
@@ -17697,6 +17736,9 @@ placeholder="Name or address\u2026"
17697
17736
  borderRadius: "max",
17698
17737
  thumbSize: 16,
17699
17738
  thumbBorderRadius: "max",
17739
+ thumbColor: "fill",
17740
+ thumbBorderColor: "background",
17741
+ thumbBorderWidth: 2,
17700
17742
  minTouchTarget: 24,
17701
17743
  markSize: 3,
17702
17744
  markColor: "on-primary-container",
@@ -18307,6 +18349,9 @@ placeholder="Name or address\u2026"
18307
18349
  borderRadius: "max",
18308
18350
  thumbSize: 16,
18309
18351
  thumbBorderRadius: "max",
18352
+ thumbColor: "fill",
18353
+ thumbBorderColor: "background",
18354
+ thumbBorderWidth: 2,
18310
18355
  minTouchTarget: 24,
18311
18356
  markSize: 3,
18312
18357
  markColor: "on-primary-container",
@@ -18382,6 +18427,30 @@ placeholder="Name or address\u2026"
18382
18427
  {
18383
18428
  package: "@uni-design-system/uni-angular",
18384
18429
  releases: [
18430
+ {
18431
+ version: "11.3.0",
18432
+ entries: [
18433
+ {
18434
+ bump: "minor",
18435
+ title: "`uni-slider` gains theme options to restyle the thumb: `thumbColor`, `thumbBorderColor`, `thumbBorderWidth` and `thumbShadow`.",
18436
+ body: "The thumb was always a solid dot in the variant's color, ringed 2px in the page background. That stays the default. A theme can now invert it, for example a white `surface` dot ringed in the variant with a soft lift. The color options take any color token, or `'fill'` for the variant's color, so a ringed thumb still recolors with `variant=\"warn\"`.\n\n`trackColor` now accepts any color token rather than only container tokens, so a hairline such as `outline` can draw the groove. Existing values still type-check.",
18437
+ commit: "0dee4cc"
18438
+ }
18439
+ ],
18440
+ dependencyBumps: []
18441
+ },
18442
+ {
18443
+ version: "11.2.1",
18444
+ entries: [
18445
+ {
18446
+ bump: "patch",
18447
+ title: '`dialog[uni-dialog]` and `uni-drawer` (`mode="over"`) no longer close when a text selection ends on the backdrop.',
18448
+ body: "Both decided \"was this a backdrop click?\" from the click's target alone. A `click` is dispatched to the nearest common ancestor of the press and the release, and the `::backdrop` belongs to the `<dialog>` \u2014 so pressing in a field, dragging to select its text, and releasing past the panel's edge produced a click whose target _was_ the `<dialog>`. The surface closed and the form's unsaved input went with it; a drawer with `disableAutoClose` emitted `closeRequest` with `reason: 'backdrop'`.\n\nA backdrop click now requires the press to have started on the `<dialog>` as well. The rule lives in one place, the new `BackdropDismiss` helper in the cdk, so the two surfaces cannot drift apart again. It compares against `currentTarget` rather than `nodeName`, so a nested `<dialog>` in projected content no longer counts as its parent's backdrop. Escape, tapping the scrim, and clicks inside the panel behave as before.\n\nOne consequence for tests: a synthetic `click()` on the dialog with no `pointerdown` before it no longer closes it. Dispatch `pointerdown` on the dialog first, as a real press does.",
18449
+ commit: "3e8de96"
18450
+ }
18451
+ ],
18452
+ dependencyBumps: []
18453
+ },
18385
18454
  {
18386
18455
  version: "11.2.0",
18387
18456
  entries: [
@@ -19244,6 +19313,23 @@ placeholder="Name or address\u2026"
19244
19313
  {
19245
19314
  package: "@uni-design-system/uni-core",
19246
19315
  releases: [
19316
+ {
19317
+ version: "11.3.0",
19318
+ entries: [
19319
+ {
19320
+ bump: "minor",
19321
+ title: "`uni-slider` gains theme options to restyle the thumb: `thumbColor`, `thumbBorderColor`, `thumbBorderWidth` and `thumbShadow`.",
19322
+ body: "The thumb was always a solid dot in the variant's color, ringed 2px in the page background. That stays the default. A theme can now invert it, for example a white `surface` dot ringed in the variant with a soft lift. The color options take any color token, or `'fill'` for the variant's color, so a ringed thumb still recolors with `variant=\"warn\"`.\n\n`trackColor` now accepts any color token rather than only container tokens, so a hairline such as `outline` can draw the groove. Existing values still type-check.",
19323
+ commit: "0dee4cc"
19324
+ }
19325
+ ],
19326
+ dependencyBumps: []
19327
+ },
19328
+ {
19329
+ version: "11.2.1",
19330
+ entries: [],
19331
+ dependencyBumps: []
19332
+ },
19247
19333
  {
19248
19334
  version: "11.2.0",
19249
19335
  entries: [
@@ -19876,6 +19962,16 @@ placeholder="Name or address\u2026"
19876
19962
  {
19877
19963
  package: "@uni-design-system/uni-react",
19878
19964
  releases: [
19965
+ {
19966
+ version: "11.3.0",
19967
+ entries: [],
19968
+ dependencyBumps: []
19969
+ },
19970
+ {
19971
+ version: "11.2.1",
19972
+ entries: [],
19973
+ dependencyBumps: []
19974
+ },
19879
19975
  {
19880
19976
  version: "11.2.0",
19881
19977
  entries: [],
@@ -20157,6 +20253,16 @@ placeholder="Name or address\u2026"
20157
20253
  {
20158
20254
  package: "@uni-design-system/uni-mcp",
20159
20255
  releases: [
20256
+ {
20257
+ version: "11.3.0",
20258
+ entries: [],
20259
+ dependencyBumps: []
20260
+ },
20261
+ {
20262
+ version: "11.2.1",
20263
+ entries: [],
20264
+ dependencyBumps: []
20265
+ },
20160
20266
  {
20161
20267
  version: "11.2.0",
20162
20268
  entries: [],
@@ -22332,6 +22438,9 @@ var buildComponents = (c) => ({
22332
22438
  borderRadius: "max",
22333
22439
  thumbSize: 16,
22334
22440
  thumbBorderRadius: "max",
22441
+ thumbColor: "fill",
22442
+ thumbBorderColor: "background",
22443
+ thumbBorderWidth: 2,
22335
22444
  minTouchTarget: 24,
22336
22445
  markSize: 3,
22337
22446
  markColor: "on-primary-container",
@@ -23798,4 +23907,4 @@ export {
23798
23907
  buildStoredTheme,
23799
23908
  createUniServer
23800
23909
  };
23801
- //# sourceMappingURL=chunk-MFGLCGV3.js.map
23910
+ //# sourceMappingURL=chunk-CHVPGDCZ.js.map