@uni-design-system/uni-core 10.4.0 → 11.0.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,108 @@
1
1
  # @uni-design-system/uni-core
2
2
 
3
+ ## 11.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - [`8fef84f`](https://github.com/uni-design-system/uni/commit/8fef84f25b92c3aea09ca1185304d54acae7e6b7) Thanks [@gaenglish](https://github.com/gaenglish)! - Require Angular 22. `@angular/common`, `@angular/core` and `@angular/forms` move from `^21.2.0` to `^22.0.0`, so 11.x tracks Angular 22 and 10.x remains the Angular 21 line — one major of this package per Angular major, as documented. The old range excluded v22 outright, so an app that had taken Angular 22 could not install this package without a peer override.
8
+
9
+ Two consequences of the framework's own changes:
10
+
11
+ **`touch` output on every form control.** Angular 22 marks a bound field touched through a dedicated `touch` output rather than through the `touched` model, which the `Field` directive now binds inward only. All sixteen controls that track touched state (input, textarea, checkbox, radio, toggle, select, combobox, multi-select, tag-input, calendar, date/date-time/time inputs, number/number-range inputs, quantity-stepper, slider) emit it wherever they already considered the user done with the control. Without it, `touched()` never flips and error display gated on it never appears.
12
+
13
+ **`min` / `max` typing.** The contract now types `min`/`max` as the control's own value type rather than as numbers. Where that still fits, the input was widened (`uni-slider`). Where it does not — a text control's native numeric attributes (`uni-input`), a range control's scalar bounds (`uni-number-range-input`), a tag limit (`uni-tag-input`) — the class member steps aside and the public binding name is preserved by an alias, so **templates are unchanged**. Only code reaching these through a `ViewChild` instance is affected: `min`/`max` are now `minAttr`/`maxAttr` on `uni-input`, `minValue`/`maxValue` on `uni-number-range-input`, and `max` is `maxLength` on `uni-tag-input`. `uni-number-range-input`'s protected `valueOf()` is renamed `partValue()`, since `valueOf` collides with `Object.valueOf`.
14
+
15
+ Angular 22 also makes `OnPush` the default change detection; every component here already set it explicitly.
16
+
17
+ - [`403043a`](https://github.com/uni-design-system/uni/commit/403043a58fa616d13b28a3f563a17fffee76b963) Thanks [@gaenglish](https://github.com/gaenglish)! - Add `uni-inline-button`, and remove the `footer` component name.
18
+
19
+ **`uni-inline-button`** is an action that lives inside a sentence. Every other button in the library owns a box — even `ghost` carries padding and a hit area, so dropping one into a paragraph pushes the words apart and breaks the line's rhythm. This one adds no box: it inherits the surrounding type (family, size, weight, line height, letter spacing and colour) and renders as part of the run of text.
20
+
21
+ ```html
22
+ Your data is processed under the terms you accepted. You can
23
+ <button inline-button underline link>review them</button> at any time.
24
+ ```
25
+
26
+ It is always a real `<button>`, so it can _look_ like a link without claiming to be navigation: Enter and Space activate it and assistive tech announces a button rather than an unfollowable link. Reach for an `<a>` when the thing actually goes somewhere.
27
+
28
+ Inputs: `underline` and `link` (both tri-state against the theme's defaults, and both readable as bare attributes), `iconName` / `symbolName` with `iconPosition`, and `disable`. A glyph is sized in `em` rather than px, so the same markup reads correctly in a caption and in a headline and never changes the line height of the paragraph it sits in.
29
+
30
+ It is themed as **`inlineButton`**, with `linkColor`, `underline`, `underlineOnHover`, `underlineOffset`, `gap` and `focusColor`. This replaces the `textButton` name that had sat in `ComponentName` since before there was anything to put behind it — **`ComponentName`'s `'textButton'` is renamed to `'inlineButton'`, and the exported options type `UniTextButtonOptions` to `UniInlineButtonOptions`.** Nothing shipped a `textButton` entry, so a theme only needs the rename if it had reached for the unbacked name.
31
+
32
+ One documented limit: browsers blockify every `<button>` to `inline-block` whatever `display` it asks for, so the control is an atomic inline box. A long label wraps inside it, but the run moves to the next line whole rather than splitting where the surrounding words would. `display: contents` would fix that and cost the button its focusability, so labels should stay to a few words.
33
+
34
+ **`footer` is removed** from `ComponentName` and from the base theme. It was declared and themed but never built, so a theme could set options that reached nothing. Themes that state a `footer` entry now fail to type-check; delete the entry.
35
+
36
+ - [`2e4a6a4`](https://github.com/uni-design-system/uni/commit/2e4a6a4de0fbecad710298e680a504a337cdc02e) Thanks [@gaenglish](https://github.com/gaenglish)! - Put every remaining hardcoded animation duration on the `motion` scale. Seventeen sites across twelve components carried their own literal, so a theme could retime some of the library and not the rest.
37
+
38
+ New `motion` options, each defaulting to the token named: `button`, `iconButton`, `checkbox`, `tabs`, `tooltip`, `dataTable`, `tag`. `uni-sort-header` names `control` directly — it has no theme entry to hang an option on. `combobox`'s chevron now turns with the popup it opens, reading that component's existing `motion` option.
39
+
40
+ Timings move where the literal and the token disagreed:
41
+
42
+ | | before | after | token |
43
+ | ----------------------------------------- | ----------------- | ----------------- | -------------- |
44
+ | button, icon-button, data-table row hover | 280ms ease | 300ms ease | `control` |
45
+ | checkbox box and dash | 200ms ease | 300ms ease | `control` |
46
+ | checkbox tick (drawn, trails the box) | 500ms ease | 350ms ease-in-out | `reveal` |
47
+ | tabs ink and indicator | 150ms ease | 120ms ease | `snap` |
48
+ | combobox chevron | 150ms ease | 100ms linear | `popup` |
49
+ | tag fill and ink | 200ms ease | 300ms ease | `control` |
50
+ | sort-header arrow | 350ms ease-in-out | 300ms ease | `control` |
51
+ | alert, snackbar dismiss | 300ms | 350ms | `notification` |
52
+ | data-table detail expand | 300ms ease | 350ms ease-in-out | `reveal` |
53
+ | tooltip fade, data-table loading overlay | 350ms | unchanged | `notification` |
54
+
55
+ Two of these lived in the theme rather than in a component: `button.fixed` and `tag.fixed` each baked a `transition`, and the button's won over the component that had already been migrated — so the button kept its old timing regardless. Both are gone; the components own their transitions and follow the token at runtime. A spec now fails if any shipped theme states a duration in a style block.
56
+
57
+ `uni-skeleton` still stays out: its shimmer is a loop, not a transition.
58
+
59
+ - [`2dc4fb5`](https://github.com/uni-design-system/uni/commit/2dc4fb538a1eeb1f232bf6b89ad88a623be9db72) Thanks [@gaenglish](https://github.com/gaenglish)! - Move `uni-slider`'s click-to-jump timing onto the `motion` scale. The `slider.transitionMs` theme option is removed; use `slider.motion` — a token name — instead.
60
+
61
+ It was the last duration option outside the scale. The other eight went in 9.0.0, but the slider was rewritten for the numeric family afterwards and reintroduced its own, so a theme could retime every animated component except this one.
62
+
63
+ The scale gains a sixth token for it, `snap` (120ms `ease`), which is the slider's exact previous timing — nothing moves faster or slower than before. It is a separate token rather than a reuse of `control` because the two describe different motion: `control` times a state change in place (a hover fill, a check mark) and runs 300ms, where a slider thumb covers distance to a value the user just chose and at 300ms reads as lagging the input rather than answering it. A drag is still never animated.
64
+
65
+ Themes setting `slider.transitionMs` should set `motion.snap` instead, which also retimes anything else pointed at that token.
66
+
67
+ - [`44feb5d`](https://github.com/uni-design-system/uni/commit/44feb5d47814e152155f7d0541d186eb6b2f7a81) Thanks [@gaenglish](https://github.com/gaenglish)! - Composite components now render their glyphs through `uni-icon` theme tokens instead of `uni-symbol` ligatures, completing the rule set in `AGENTS.md`. Thirteen theme options are renamed and retyped from `string` to `IconName`:
68
+
69
+ | Component | before | after |
70
+ | ---------------------- | --------------------------------- | ------------------------------------- |
71
+ | date-input, time-input | `toggleSymbol` | `toggleIcon` (`calendar`, `clock`) |
72
+ | calendar | `navPrevSymbol` / `navNextSymbol` | `navPrevIcon` / `navNextIcon` |
73
+ | menu-item | `activeSymbol` | `activeIcon` |
74
+ | avatar | `fallbackSymbol` | `fallbackIcon` (`person` → `profile`) |
75
+ | breadcrumb | `separatorSymbol` | `separatorIcon` |
76
+ | search-input | `searchSymbol` / `clearSymbol` | `searchIcon` / `clearIcon` |
77
+ | callout, popover | `closeSymbol` | `closeIcon` |
78
+
79
+ `drawer-header` and `dialog-header` shipped both `closeButtonIcon` and `closeButtonSymbol`; the `*Symbol` half is removed, and since `symbolName` outranked `iconName` inside the icon button, those two headers were still rendering the ligature path until now.
80
+
81
+ Four glyphs join `BaseIcons` (65 total): `arrowUp`/`arrowDown` and `chevronsLeft`/`chevronsRight`, which is what unblocked `uni-sort-header` and `uni-paginator`. `select-input`, `multi-select-dropdown` and `data-search` also stopped hardcoding ligatures.
82
+
83
+ **Migrating:** rename the option in your theme and swap the Material ligature for an icon token — `activeSymbol: 'check'` becomes `activeIcon: 'check'`, `toggleSymbol: 'calendar_month'` becomes `toggleIcon: 'calendar'`. Any glyph you need that `BaseIcons` lacks can be registered through `createTheme({ icons })`.
84
+
85
+ `uni-symbol` is unchanged and still the right tool for app-facing inputs that take arbitrary ligature names — `symbolName` on icon-button, tag, alert, snackbar and menu-item, and `symbolLeft`/`symbolRight` on button. One consequence worth knowing: `uni-icon` has no variable-font axes, so a theme setting `symbol: { options: { weight } }` no longer affects these composites' glyphs — they take the icon set's weight (300). The Wellsourced theme, which sets weight 200, has accepted this.
86
+
87
+ - [`0b1c528`](https://github.com/uni-design-system/uni/commit/0b1c52851188011717b9388298a4b3b3f734e9e5) Thanks [@gaenglish](https://github.com/gaenglish)! - Remove the deprecated `toggle.size` theme option and wire up three component names that were declared but unreachable.
88
+
89
+ `toggle.size` was the last `@deprecated` API in the library — the pre-`sizes` geometry (width 2x, knob 0.8x) that outranked the size block for every instance regardless of a toggle's own `size` input. No shipped theme set it. Use the `toggle.sizes` block, which gives each size token its own `width` / `height` / `padding`.
90
+
91
+ `select`, `buttonGroup` and `progressBar` were listed in `ComponentName` with no theme entry and no `COMPONENT_NAME` provider behind them, so a theme could not dress them however it tried. Each now has an entry whose defaults are exactly what the component previously hardcoded, so nothing moves:
92
+ - **`select`** — `toggleIcon`, `toggleColor`, `toggleSize` for the dropdown affordance, matching `uni-combobox`'s (`chevronDown`, `on-background-variant`, 20).
93
+ - **`buttonGroup`** — `border` and `borderRadius` for the segmented frame, previously a literal `quaternary` border and 4px corners.
94
+ - **`progressBar`** — `trackColor`, `fillColor`, `completeColor`, `borderColor` and `strokeWidth`, previously read straight off the palette.
95
+
96
+ The two remaining names are dealt with separately: `textButton` is renamed `inlineButton` and now backs the new `uni-inline-button`, and `footer` is removed from `ComponentName` altogether.
97
+
98
+ ### Patch Changes
99
+
100
+ - [`85a1ec5`](https://github.com/uni-design-system/uni/commit/85a1ec569446f7a353410e8338ef70d473dc72ae) Thanks [@gaenglish](https://github.com/gaenglish)! - Fix unreadable text in `uni-card` under dark themes. The card's theme entry painted `backgroundColor` without the matching `color`, so any unstyled text inside it fell back to the user-agent default black. On a light theme that happened to read; on every dark theme it rendered black on a near-black surface — 1.11:1 against a 4.5:1 AA requirement, reported from the theme switcher's preview card.
101
+
102
+ The card now states `on-background` alongside its background, as `cardHeader` already did for each of its variants. All six registered themes measure between 13.8:1 and 18.1:1 on that text.
103
+
104
+ Added with the fix: a spec asserting the invariant across every component entry in the shipped themes — anything that paints a `backgroundColor` must also state a `color` — so the next half-painted surface fails a test rather than reaching a consumer.
105
+
3
106
  ## 10.4.0
4
107
 
5
108
  ### Minor Changes
@@ -741,6 +741,10 @@ var BaseIcons = {
741
741
  chevronRight: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='m517.85-480-184-184L376-706.15 602.15-480 376-253.85 333.85-296l184-184Z'/%3e%3c/svg%3e",
742
742
  arrowLeft: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='m294.92-450 227.85 227.85L480-180 180-480l300-300 42.77 42.15L294.92-510H780v60H294.92Z'/%3e%3c/svg%3e",
743
743
  arrowRight: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M665.08-450H180v-60h485.08L437.23-737.85 480-780l300 300-300 300-42.77-42.15L665.08-450Z'/%3e%3c/svg%3e",
744
+ arrowUp: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M450-180v-485.08L222.15-437.23 180-480l300-300 300 300-42.15 42.77L510-665.08V-180h-60Z'/%3e%3c/svg%3e",
745
+ arrowDown: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M450-780v485.08L222.15-522.77 180-480l300 300 300-300-42.15-42.77L510-294.92V-780h-60Z'/%3e%3c/svg%3e",
746
+ chevronsLeft: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M445-253.85 218.85-480 445-706.15 487.15-664 303.77-480l183.38 184L445-253.85Zm254 0L472.85-480 699-706.15 741.15-664 557.77-480l183.38 184L699-253.85Z'/%3e%3c/svg%3e",
747
+ chevronsRight: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M402.23-480 218.85-664 261-706.15 487.15-480 261-253.85 218.85-296l183.38-184Zm254 0L472.85-664 515-706.15 741.15-480 515-253.85 472.85-296l183.38-184Z'/%3e%3c/svg%3e",
744
748
  home: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M240-200h133.85v-237.69h212.3V-200H720v-360L480-740.77 240-560v360Zm-60 60v-450l300-225.77L780-590v450H526.15v-237.69h-92.3V-140H180Zm300-330.38Z'/%3e%3c/svg%3e",
745
749
  building: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M130-136.92v-540h160v-160h380v320h160v380H530v-160H430v160H130Zm60-60h100v-100H190v100Zm0-160h100v-100H190v100Zm0-160h100v-100H190v100Zm160 160h100v-100H350v100Zm0-160h100v-100H350v100Zm0-160h100v-100H350v100Zm160 320h100v-100H510v100Zm0-160h100v-100H510v100Zm0-160h100v-100H510v100Zm160 480h100v-100H670v100Zm0-160h100v-100H670v100Z'/%3e%3c/svg%3e",
746
750
  externalLink: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M212.31-140Q182-140 161-161q-21-21-21-51.31v-535.38Q140-778 161-799q21-21 51.31-21h252.3v60h-252.3q-4.62 0-8.46 3.85-3.85 3.84-3.85 8.46v535.38q0 4.62 3.85 8.46 3.84 3.85 8.46 3.85h535.38q4.62 0 8.46-3.85 3.85-3.84 3.85-8.46v-252.3h60v252.3Q820-182 799-161q-21 21-51.31 21H212.31Zm176.46-206.62-42.15-42.15L717.85-760H560v-60h260v260h-60v-157.85L388.77-346.62Z'/%3e%3c/svg%3e",
@@ -1029,6 +1033,10 @@ var BaseMotion = {
1029
1033
  control: {
1030
1034
  duration: 300,
1031
1035
  easing: "ease"
1036
+ },
1037
+ snap: {
1038
+ duration: 120,
1039
+ easing: "ease"
1032
1040
  }
1033
1041
  };
1034
1042
  /**
@@ -1115,7 +1123,7 @@ var buildComponents = (c) => ({
1115
1123
  typeface: "label",
1116
1124
  color: "on-background-variant",
1117
1125
  currentColor: "on-background",
1118
- separatorSymbol: "chevron_right",
1126
+ separatorIcon: "chevronRight",
1119
1127
  gap: "xs"
1120
1128
  } },
1121
1129
  appBar: { options: {
@@ -1163,7 +1171,7 @@ var buildComponents = (c) => ({
1163
1171
  options: {
1164
1172
  borderRadius: "max",
1165
1173
  typeface: "subtitle-2",
1166
- fallbackSymbol: "person"
1174
+ fallbackIcon: "profile"
1167
1175
  },
1168
1176
  variants: {
1169
1177
  primary: {
@@ -1220,8 +1228,8 @@ var buildComponents = (c) => ({
1220
1228
  ringWidth: 2
1221
1229
  } },
1222
1230
  searchInput: { options: {
1223
- searchSymbol: "search",
1224
- clearSymbol: "close",
1231
+ searchIcon: "search",
1232
+ clearIcon: "close",
1225
1233
  listColor: "primary-surface",
1226
1234
  listShadow: "menu",
1227
1235
  listBorderRadius: "xs",
@@ -1230,6 +1238,7 @@ var buildComponents = (c) => ({
1230
1238
  } },
1231
1239
  checkbox: {
1232
1240
  options: {
1241
+ motion: "control",
1233
1242
  size: 20,
1234
1243
  boxColor: "surface",
1235
1244
  borderRadius: 2,
@@ -1279,6 +1288,22 @@ var buildComponents = (c) => ({
1279
1288
  closeButtonIcon: "close",
1280
1289
  closeButtonSize: "md"
1281
1290
  } },
1291
+ select: { options: {
1292
+ toggleIcon: "chevronDown",
1293
+ toggleColor: "on-background-variant",
1294
+ toggleSize: 20
1295
+ } },
1296
+ buttonGroup: { options: {
1297
+ border: "quaternary",
1298
+ borderRadius: 4
1299
+ } },
1300
+ progressBar: { options: {
1301
+ trackColor: "primary-surface",
1302
+ fillColor: "secondary-surface",
1303
+ completeColor: "secondary",
1304
+ borderColor: "on-background-variant",
1305
+ strokeWidth: 1
1306
+ } },
1282
1307
  dropdown: { options: {
1283
1308
  border: "none",
1284
1309
  borderRadius: "xxs",
@@ -1306,7 +1331,7 @@ var buildComponents = (c) => ({
1306
1331
  typeface: "label",
1307
1332
  textColor: void 0,
1308
1333
  hoverColor: "primary-container",
1309
- activeSymbol: "check",
1334
+ activeIcon: "check",
1310
1335
  motion: "control"
1311
1336
  },
1312
1337
  variants: {
@@ -1330,7 +1355,7 @@ var buildComponents = (c) => ({
1330
1355
  maxWidth: "38ch",
1331
1356
  offset: 7,
1332
1357
  arrowSize: 8,
1333
- closeSymbol: "close",
1358
+ closeIcon: "close",
1334
1359
  headerTypeface: "title-small",
1335
1360
  tooltipPadding: "4px 8px",
1336
1361
  tooltipOpenDelay: 500,
@@ -1338,12 +1363,6 @@ var buildComponents = (c) => ({
1338
1363
  motion: "panel"
1339
1364
  } },
1340
1365
  expand: { options: { motion: "reveal" } },
1341
- footer: { options: {
1342
- height: 52,
1343
- color: "primary",
1344
- logoHeight: 18.6,
1345
- logoPadding: "md"
1346
- } },
1347
1366
  input: { options: {
1348
1367
  typeface: "input",
1349
1368
  color: "primary-surface",
@@ -1402,6 +1421,7 @@ var buildComponents = (c) => ({
1402
1421
  }
1403
1422
  },
1404
1423
  tabs: { options: {
1424
+ motion: "snap",
1405
1425
  typeface: "title-small",
1406
1426
  textColor: "on-surface-variant",
1407
1427
  activeTextColor: "primary",
@@ -1429,14 +1449,14 @@ var buildComponents = (c) => ({
1429
1449
  typeface: "tag",
1430
1450
  gap: "xs",
1431
1451
  removeIcon: "close",
1432
- selectedIcon: "check"
1452
+ selectedIcon: "check",
1453
+ motion: "control"
1433
1454
  },
1434
1455
  fixed: {
1435
1456
  display: "inline-flex",
1436
1457
  alignItems: "center",
1437
1458
  maxWidth: "100%",
1438
- border: "1px solid transparent",
1439
- transition: "background-color .2s ease, color .2s ease"
1459
+ border: "1px solid transparent"
1440
1460
  },
1441
1461
  variants: {
1442
1462
  ...tagVariant(c, "primary"),
@@ -1502,8 +1522,8 @@ var buildComponents = (c) => ({
1502
1522
  dayBorderRadius: "max",
1503
1523
  typeface: "label",
1504
1524
  gap: "xxs",
1505
- navPrevSymbol: "chevron_left",
1506
- navNextSymbol: "chevron_right",
1525
+ navPrevIcon: "chevronLeft",
1526
+ navNextIcon: "chevronRight",
1507
1527
  weekdayFormat: "short",
1508
1528
  showOutsideDays: false,
1509
1529
  todayStyle: "outline"
@@ -1542,13 +1562,13 @@ var buildComponents = (c) => ({
1542
1562
  descriptionColor: "on-primary-surface-variant"
1543
1563
  } },
1544
1564
  dateInput: { options: {
1545
- toggleSymbol: "calendar_month",
1565
+ toggleIcon: "calendar",
1546
1566
  popupShadow: "menu",
1547
1567
  popupBorderRadius: "xs",
1548
1568
  popupColor: "primary-surface"
1549
1569
  } },
1550
1570
  timeInput: { options: {
1551
- toggleSymbol: "schedule",
1571
+ toggleIcon: "clock",
1552
1572
  listColor: "primary-surface",
1553
1573
  listShadow: "menu",
1554
1574
  listBorderRadius: "xs",
@@ -1562,15 +1582,15 @@ var buildComponents = (c) => ({
1562
1582
  button: {
1563
1583
  options: {
1564
1584
  borderRadius: "max",
1565
- typeface: "button"
1585
+ typeface: "button",
1586
+ motion: "control"
1566
1587
  },
1567
1588
  fixed: {
1568
1589
  position: "relative",
1569
1590
  overflow: "hidden",
1570
1591
  outline: "0",
1571
1592
  border: "0",
1572
- cursor: "pointer",
1573
- transition: "all 0.28s ease"
1593
+ cursor: "pointer"
1574
1594
  },
1575
1595
  variantOptions: {
1576
1596
  primary: { focusColor: "primary" },
@@ -1651,7 +1671,10 @@ var buildComponents = (c) => ({
1651
1671
  }
1652
1672
  },
1653
1673
  iconButton: {
1654
- options: { borderRadius: "max" },
1674
+ options: {
1675
+ borderRadius: "max",
1676
+ motion: "control"
1677
+ },
1655
1678
  variantOptions: {
1656
1679
  primary: { focusColor: "primary" },
1657
1680
  secondary: { focusColor: "secondary" },
@@ -1728,6 +1751,13 @@ var buildComponents = (c) => ({
1728
1751
  }
1729
1752
  }
1730
1753
  },
1754
+ inlineButton: { options: {
1755
+ linkColor: "primary",
1756
+ underline: false,
1757
+ underlineOnHover: true,
1758
+ underlineOffset: "0.15em",
1759
+ gap: "xxs"
1760
+ } },
1731
1761
  progressGauge: {
1732
1762
  fixed: { textFill: c["on-background"] },
1733
1763
  variants: {
@@ -1763,7 +1793,8 @@ var buildComponents = (c) => ({
1763
1793
  options: { borderRadius: "xs" },
1764
1794
  fixed: {
1765
1795
  overflow: "hidden",
1766
- backgroundColor: c.background
1796
+ backgroundColor: c.background,
1797
+ color: c["on-background"]
1767
1798
  }
1768
1799
  },
1769
1800
  cardHeader: {
@@ -1799,6 +1830,7 @@ var buildComponents = (c) => ({
1799
1830
  placeholderColor: "disabled"
1800
1831
  } },
1801
1832
  dataTable: { options: {
1833
+ motion: "control",
1802
1834
  color: "primary-surface",
1803
1835
  border: "light",
1804
1836
  borderRadius: "sm",
@@ -1862,7 +1894,7 @@ var buildComponents = (c) => ({
1862
1894
  tooltipTextColor: "on-inverse-surface",
1863
1895
  tooltipShadow: "menu",
1864
1896
  tooltipBorderRadius: "xs",
1865
- transitionMs: 120
1897
+ motion: "snap"
1866
1898
  } },
1867
1899
  skeleton: { options: {
1868
1900
  color: "surface-variant",
@@ -1911,6 +1943,7 @@ var buildComponents = (c) => ({
1911
1943
  }
1912
1944
  },
1913
1945
  tooltip: { options: {
1946
+ motion: "notification",
1914
1947
  border: void 0,
1915
1948
  borderRadius: "xs",
1916
1949
  shadow: "raised",
@@ -1925,7 +1958,7 @@ var buildComponents = (c) => ({
1925
1958
  padding: "16px",
1926
1959
  headerTypeface: "title-small",
1927
1960
  typeface: "label",
1928
- closeSymbol: "close",
1961
+ closeIcon: "close",
1929
1962
  arrowSize: 8,
1930
1963
  offset: 12,
1931
1964
  scrimColor: "rgba(0, 0, 0, 0.45)",