@nxgt/material 3.52.0 → 3.54.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 (136) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +5 -4
  3. package/dist/{async-slice-BGtmF3K5.js → async-slice-DDSsekfm.js} +2 -2
  4. package/dist/{button-Ct0KRBsN.js → button-Ct8DSLVv.js} +1 -1
  5. package/dist/charts.js +1064 -932
  6. package/dist/{chip-Ca1SEd70.js → chip-BzoNsd-W.js} +2 -2
  7. package/dist/{code-editor-DtwRhK8B.js → code-editor-DsLQeiZc.js} +6 -6
  8. package/dist/code-editor.js +5 -5
  9. package/dist/{code-language-items-CEclGxhA.js → code-language-items-4zXlIEZ0.js} +2 -2
  10. package/dist/components/components.css +1 -5
  11. package/dist/components/theme-tokens.css +19 -15
  12. package/dist/components/ui/actions/action-card/action-card-tile.css +11 -2
  13. package/dist/components/ui/collections/data-table/data-table-items-record.css +27 -0
  14. package/dist/components/ui/collections/data-table/index.css +14 -0
  15. package/dist/components/ui/overlays/dialog/dialog.css +2 -1
  16. package/dist/components/ui/overlays/popover/popover.css +3 -2
  17. package/dist/{components-CzELzsOi.js → components-DFG2mgsM.js} +14052 -13890
  18. package/dist/components.js +26 -26
  19. package/dist/{dialog-BIy04Hpd.js → dialog-DwPmwmA3.js} +4 -4
  20. package/dist/dnd.js +1 -1
  21. package/dist/draw-animate.js +1 -1
  22. package/dist/{dropdown-menu-B0Kd8x3G.js → dropdown-menu-CDN6Nqx6.js} +1 -1
  23. package/dist/editor.js +9 -9
  24. package/dist/{empty-state-CKxORwFE.js → empty-state-Bb9W9did.js} +2 -2
  25. package/dist/{escape-owner-BGKjiglh.js → escape-owner-DI_lg2ID.js} +1 -1
  26. package/dist/{field-blur-Dz1zPaYK.js → field-blur-BcJH8H9B.js} +1 -1
  27. package/dist/{field-blur-context-1T6GkSNc.js → field-blur-context-Dg1nwWOV.js} +1 -1
  28. package/dist/hooks.js +2 -2
  29. package/dist/{hover-card-BwQ9IRxa.js → hover-card-Qse4gnop.js} +2 -2
  30. package/dist/i18n-provider-DlVPS58N.js +79 -0
  31. package/dist/i18n.js +5 -5
  32. package/dist/{icon-badge-D5Ns7ndZ.js → icon-badge-DVPBQOKe.js} +3 -3
  33. package/dist/{icon-button-VzdqY_Tv.js → icon-button-C3wDxsh6.js} +12 -12
  34. package/dist/lib/components/ui/actions/action-card/action-card-semantics.d.ts +17 -1
  35. package/dist/lib/components/ui/actions/action-card/action-card.d.ts +16 -2
  36. package/dist/lib/components/ui/actions/action-card/partials/action-card-text.d.ts +6 -2
  37. package/dist/lib/components/ui/actions/action-card/partials/action-card-title-button.d.ts +15 -1
  38. package/dist/lib/components/ui/actions/action-card/partials/action-card-trail.d.ts +2 -1
  39. package/dist/lib/components/ui/collections/data-grid/columns/column-codec.d.ts +3 -3
  40. package/dist/lib/components/ui/collections/data-grid/columns/column-edit.d.ts +5 -5
  41. package/dist/lib/components/ui/collections/data-grid/columns/row-meta.d.ts +24 -0
  42. package/dist/lib/components/ui/collections/data-grid/grid-meta.d.ts +19 -6
  43. package/dist/lib/components/ui/collections/data-table/data-table.d.ts +1 -1
  44. package/dist/lib/components/ui/collections/data-table/layout-types.d.ts +27 -0
  45. package/dist/lib/components/ui/collections/data-table/partials/layouts/data-table-item-context.d.ts +2 -0
  46. package/dist/lib/components/ui/collections/data-table/partials/layouts/data-table-item-row.d.ts +8 -0
  47. package/dist/lib/components/ui/collections/data-table/types.d.ts +1 -1
  48. package/dist/lib/components/ui/collections/filter/bar/filter-bar-classes.d.ts +7 -2
  49. package/dist/lib/components/ui/collections/server-table/partials/server-table-band-classes.d.ts +5 -0
  50. package/dist/lib/components/ui/display/list-tile/internal.d.ts +1 -0
  51. package/dist/lib/components/ui/display/list-tile/partials/list-tile-dense-text.d.ts +28 -0
  52. package/dist/lib/components/ui/feedback/toast/toast-text.d.ts +7 -0
  53. package/dist/lib/components/ui/fields/contacts/placeholders.d.ts +1 -1
  54. package/dist/lib/components/ui/forms/index.d.ts +2 -0
  55. package/dist/lib/components/ui/forms/use-fast-form.d.ts +25 -0
  56. package/dist/lib/components/ui/forms/use-focus-on-refusal.d.ts +14 -0
  57. package/dist/lib/components/ui/layout/app-shell/activity-content-aside.d.ts +3 -1
  58. package/dist/lib/components/ui/layout/app-shell/activity-content.d.ts +10 -1
  59. package/dist/lib/components/ui/selection/switcher/partials/switcher-tooltip.d.ts +10 -2
  60. package/dist/lib/components/ui/selection/switcher/partials/switcher-trigger.d.ts +3 -1
  61. package/dist/lib/components/ui/selection/switcher/switcher.d.ts +1 -1
  62. package/dist/lib/components/ui/selection/switcher/types.d.ts +7 -0
  63. package/dist/lib/components/ui/widgets/native-charts/core/reference-text.d.ts +14 -6
  64. package/dist/lib/components/ui/widgets/native-charts/core/reference.d.ts +57 -10
  65. package/dist/lib/components/ui/widgets/native-charts/core/types.d.ts +13 -5
  66. package/dist/lib/components/ui/widgets/native-charts/hooks/chart-model-types.d.ts +3 -2
  67. package/dist/lib/components/ui/widgets/native-charts/index.d.ts +1 -1
  68. package/dist/lib/components/ui/widgets/native-charts/line-chart/line-chart-types.d.ts +6 -1
  69. package/dist/lib/components/ui/widgets/native-charts/line-chart/partials/reference-marks.d.ts +1 -1
  70. package/dist/lib/i18n/material-resources-registry.d.ts +21 -0
  71. package/dist/lib/i18n/resources/en/en.d.ts +4 -0
  72. package/dist/lib/i18n/resources/en/material.json.d.ts +5 -1
  73. package/dist/lib/i18n/resources/fr/fr.d.ts +4 -0
  74. package/dist/lib/i18n/resources/fr/material.json.d.ts +5 -1
  75. package/dist/lib/i18n/resources/resources.d.ts +8 -0
  76. package/dist/lib/i18n/translator.d.ts +1 -1
  77. package/dist/lib.js +1 -1
  78. package/dist/main.js +43 -43
  79. package/dist/map.js +8 -8
  80. package/dist/material.css +1 -1
  81. package/dist/pdf-reader.js +1 -1
  82. package/dist/print.js +2 -2
  83. package/dist/{public-D-J3nZFm.js → public-BoVE0ffh.js} +9 -9
  84. package/dist/{rich-code-block-Ig0ERAa2.js → rich-code-block-DAUM7Yh_.js} +5 -5
  85. package/dist/{sortable-provider-DfPkSN90.js → sortable-provider-BLXsGE_0.js} +2 -2
  86. package/dist/{spinner-KQb3YuR_.js → spinner-Rg4PnBPH.js} +1 -1
  87. package/dist/{stored-language-Cb9FMEwk.js → stored-language-B1lJMPbR.js} +10 -2
  88. package/dist/styles.css +1 -0
  89. package/dist/theme-picker.js +2 -2
  90. package/dist/{theme-toggle-BY-SpsFV.js → theme-toggle-jVdxF_mc.js} +1 -1
  91. package/dist/{toolbar-items-30w9rG5h.js → toolbar-items-BFY_hns5.js} +4 -4
  92. package/dist/{translate-material-BPl8TQLg.js → translate-material-q-JNxP1m.js} +2 -2
  93. package/dist/{translator-BnQXtpSZ.js → translator-BU1o3_l9.js} +1 -1
  94. package/dist/{use-chat-composer-BSKJRYMB.js → use-chat-composer-DGbDuIUa.js} +3758 -3716
  95. package/dist/{use-heading-spy-BgXA8uz6.js → use-heading-spy-CP63sAcS.js} +1 -1
  96. package/dist/{use-material-translation-ByM3gD9R.js → use-material-translation-nNF8fUXz.js} +2 -2
  97. package/dist/use-shape-morph-DXdy2X5g.js +35 -0
  98. package/docs/components/buttons-and-actions.md +30 -1
  99. package/docs/components/data-table-filter-and-lists.md +2 -2
  100. package/docs/components/navigation-and-layout.md +2 -1
  101. package/docs/components/rich-widgets.md +2 -1
  102. package/docs/components/selection-and-choice.md +21 -1
  103. package/docs/guides/app-shell.md +22 -0
  104. package/docs/guides/cards-and-tiles.md +40 -4
  105. package/docs/guides/charts.md +30 -2
  106. package/docs/guides/data-grid.md +80 -3
  107. package/docs/guides/forms.md +35 -0
  108. package/docs/guides/i18n.md +6 -2
  109. package/docs/guides/theming.md +8 -0
  110. package/docs/roadmap.md +85 -684
  111. package/docs/troubleshooting.md +36 -0
  112. package/lib/components/components.css +1 -5
  113. package/lib/components/theme-tokens.css +19 -15
  114. package/lib/components/ui/actions/action-card/action-card-tile.css +11 -2
  115. package/lib/components/ui/collections/data-table/data-table-items-record.css +27 -0
  116. package/lib/components/ui/collections/data-table/index.css +14 -0
  117. package/lib/components/ui/overlays/dialog/dialog.css +2 -1
  118. package/lib/components/ui/overlays/popover/popover.css +3 -2
  119. package/lib/styles.css +1 -0
  120. package/lib/themes/ambre.css +8 -6
  121. package/lib/themes/ardoise.css +8 -6
  122. package/lib/themes/bleumono.css +8 -6
  123. package/lib/themes/bluemoon.css +8 -6
  124. package/lib/themes/corail.css +8 -6
  125. package/lib/themes/foret.css +8 -6
  126. package/lib/themes/lavande.css +8 -6
  127. package/lib/themes/menthe.css +8 -6
  128. package/lib/themes/ocean.css +8 -6
  129. package/lib/themes/pink.css +8 -6
  130. package/lib/themes/prune.css +8 -6
  131. package/lib/themes/sable.css +8 -6
  132. package/lib/themes/slate.css +8 -6
  133. package/lib/themes/teal.css +8 -6
  134. package/package.json +4 -4
  135. package/dist/i18n-provider-BFNrM0Qu.js +0 -45
  136. package/dist/use-shape-morph-BKA_R5P5.js +0 -35
@@ -1,7 +1,7 @@
1
1
  import { t as e } from "./utils-BLfntITJ.js";
2
- import { r as t } from "./spinner-KQb3YuR_.js";
2
+ import { r as t } from "./spinner-Rg4PnBPH.js";
3
3
  import { s as n } from "./use-click-lock-BZYtTmVt.js";
4
- import { t as r } from "./use-material-translation-ByM3gD9R.js";
4
+ import { t as r } from "./use-material-translation-nNF8fUXz.js";
5
5
  import { t as i } from "./react-node-text-Crkpfpco.js";
6
6
  import { cloneElement as a, isValidElement as o } from "react";
7
7
  import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
@@ -2,13 +2,13 @@ import { r as e } from "./rolldown-runtime-BFFgcFxR.js";
2
2
  import { t } from "./utils-BLfntITJ.js";
3
3
  import { t as n } from "./is-production-GLw59WU8.js";
4
4
  import { a as r } from "./dist-lmHmz_bu.js";
5
- import { c as i, d as a, f as o, n as s, t as c } from "./dropdown-menu-B0Kd8x3G.js";
6
- import { a as l, i as u, n as d } from "./field-blur-context-1T6GkSNc.js";
7
- import { a as f, d as p, r as m, t as h, u as g } from "./toolbar-items-30w9rG5h.js";
8
- import { t as _ } from "./use-material-translation-ByM3gD9R.js";
9
- import { i as v, n as y, o as b, t as x } from "./code-language-items-CEclGxhA.js";
5
+ import { c as i, d as a, f as o, n as s, t as c } from "./dropdown-menu-CDN6Nqx6.js";
6
+ import { a as l, i as u, n as d } from "./field-blur-context-Dg1nwWOV.js";
7
+ import { a as f, d as p, r as m, t as h, u as g } from "./toolbar-items-BFY_hns5.js";
8
+ import { t as _ } from "./use-material-translation-nNF8fUXz.js";
9
+ import { i as v, n as y, o as b, t as x } from "./code-language-items-4zXlIEZ0.js";
10
10
  import { t as S } from "./useIsomorphicLayoutEffect-DfgAhWcH.js";
11
- import { n as C, t as w } from "./escape-owner-BGKjiglh.js";
11
+ import { n as C, t as w } from "./escape-owner-DI_lg2ID.js";
12
12
  import { t as T } from "./skeleton-DSdtr2qc.js";
13
13
  import { t as E } from "./react-node-text-Crkpfpco.js";
14
14
  import D, { memo as O, useCallback as ee, useEffect as k, useId as A, useImperativeHandle as j, useMemo as M, useRef as N, useState as P } from "react";
@@ -1,14 +1,14 @@
1
1
  import { t as e } from "./utils-BLfntITJ.js";
2
2
  import { a as t } from "./dist-lmHmz_bu.js";
3
- import { d as n, r, t as i, u as a } from "./toolbar-items-30w9rG5h.js";
4
- import { t as o } from "./use-material-translation-ByM3gD9R.js";
5
- import { i as s, n as c, o as l } from "./code-language-items-CEclGxhA.js";
6
- import { r as u, t as d } from "./field-blur-Dz1zPaYK.js";
3
+ import { d as n, r, t as i, u as a } from "./toolbar-items-BFY_hns5.js";
4
+ import { t as o } from "./use-material-translation-nNF8fUXz.js";
5
+ import { i as s, n as c, o as l } from "./code-language-items-4zXlIEZ0.js";
6
+ import { r as u, t as d } from "./field-blur-BcJH8H9B.js";
7
7
  import { t as f } from "./skeleton-DSdtr2qc.js";
8
8
  import { t as p } from "./live-status-BGPaN8r8.js";
9
9
  import { t as m } from "./use-mobile-BDro060N.js";
10
10
  import { t as h } from "./react-node-text-Crkpfpco.js";
11
- import { a as g, c as _, d as v, f as y, i as b, l as x, m as S, o as C, p as w, r as T, s as E, t as D, u as O } from "./code-editor-DtwRhK8B.js";
11
+ import { a as g, c as _, d as v, f as y, i as b, l as x, m as S, o as C, p as w, r as T, s as E, t as D, u as O } from "./code-editor-DsLQeiZc.js";
12
12
  import { useEffect as k, useRef as A, useState as j } from "react";
13
13
  import { Fragment as M, jsx as N, jsxs as P } from "react/jsx-runtime";
14
14
  import { ChevronDown as F, ChevronUp as I, Columns2 as L } from "lucide-react";
@@ -1,5 +1,5 @@
1
- import { d as e, f as t } from "./dropdown-menu-B0Kd8x3G.js";
2
- import { t as n } from "./use-material-translation-ByM3gD9R.js";
1
+ import { d as e, f as t } from "./dropdown-menu-CDN6Nqx6.js";
2
+ import { t as n } from "./use-material-translation-nNF8fUXz.js";
3
3
  import { t as r } from "./live-status-BGPaN8r8.js";
4
4
  import { useEffect as i, useRef as a, useState as o } from "react";
5
5
  import { jsx as s } from "react/jsx-runtime";
@@ -58,11 +58,7 @@
58
58
  @import "./ui/layout/app-shell/activity-backdrop-shapes.css";
59
59
  @import "./ui/layout/auth-card/auth-card-backdrop.css";
60
60
  /* DataTable cards and tiles: the item shell (hairline, tint, start bar, columns by the list's width). */
61
- @import "./ui/collections/data-table/data-table-items.css";
62
- @import "./ui/collections/data-table/data-table-items-compact.css";
63
- @import "./ui/collections/data-table/data-table-items-bar.css";
64
- @import "./ui/collections/data-table/data-table-items-forced.css";
65
- @import "./ui/collections/data-table/data-table-items-tiles.css";
61
+ @import "./ui/collections/data-table/index.css";
66
62
  /* ServerTable's second header row on a phone: select-all, sort, Filters and the actions. */
67
63
  @import "./ui/collections/server-table/server-table-phone-row.css";
68
64
  /* Checkbox and Radio: the check that draws in, the dot that springs in, the state layer. */
@@ -11,6 +11,9 @@
11
11
  keeps the flat look with `--ground: var(--background)`. */
12
12
  --ground: color-mix(in oklab, var(--primary) 7%, var(--background));
13
13
  --card: oklch(1 0 0);
14
+ /* The card's edge (Card, Popover, Dialog): the border in light; dark draws it a
15
+ hairline lighter than the card. */
16
+ --card-edge: var(--border);
14
17
  --card-foreground: oklch(0.227 0.017 290);
15
18
  --strix: oklch(45.91% 0.1864 310.75);
16
19
  --popover: oklch(1 0 0);
@@ -111,38 +114,39 @@
111
114
  var(--primary) 6%,
112
115
  color-mix(in oklab, var(--background) 55%, black)
113
116
  );
114
- --card: oklch(0.19 0.019 289.4);
117
+ --card: oklch(0.22 0.019 289.4);
118
+ --card-edge: color-mix(in oklab, white 8%, var(--card));
115
119
  --card-foreground: oklch(0.943 0.012 291.3);
116
- --popover: oklch(0.19 0.019 289.4);
120
+ --popover: oklch(0.22 0.019 289.4);
117
121
  --popover-foreground: oklch(0.943 0.012 291.3);
118
122
  --primary: oklch(46% 0.1135 276.35);
119
123
  --primary-foreground: oklch(0.995 0.002 291.3);
120
124
  /* Mixed 60 % toward white (the tonal Button labels' recipe): readable as text
121
125
  on --background and --card. */
122
126
  --primary-text: color-mix(in oklab, var(--primary) 40%, white);
123
- /* --primary itself is 2.7:1 on --background, 2.5:1 on --card and 2.3:1 on
124
- --muted. Mixed 25 % toward white: 4.8:1, 4.5:1 and 4.2:1. */
127
+ /* --primary itself is 2.7:1 on --background, 2.4:1 on --card and 2.1:1 on
128
+ --muted. Mixed 25 % toward white: 4.8:1, 4.2:1 and 3.8:1. */
125
129
  --primary-indicator: color-mix(in oklab, var(--primary) 75%, white);
126
130
  /* Brighter than the light one: it is read as text on the dark surfaces (6.8:1
127
- on --background, 6.4:1 on --card; 5.1:1 on its own 15 % tonal tint over a
131
+ on --background, 6.0:1 on --card; 4.8:1 on its own 15 % tonal tint over a
128
132
  Card). A filled secondary surface mixes it toward --background (the opaque
129
133
  70 % mix) to keep 5.4:1 under its near-white text (4.9:1 over a Card). */
130
134
  --secondary: oklch(0.675 0.1135 245.65);
131
135
  --secondary-foreground: oklch(0.995 0.002 291.3);
132
- --muted: oklch(0.228 0.022 290);
136
+ --muted: oklch(0.258 0.022 290);
133
137
  --muted-foreground: oklch(0.725 0.03 292.2);
134
- /* 3.7:1 on --background, 3.5:1 on --card; the fill 3.3:1 on the track. */
138
+ /* 3.7:1 on --background, 3.3:1 on --card; the fill 3.3:1 on the track. */
135
139
  --track: oklch(0.53 0.03 290);
136
140
  --track-fill: oklch(0.85 0.09 276.35);
137
141
  --tooltip: oklch(0.925 0.012 291.3);
138
142
  --tooltip-foreground: oklch(0.446 0.043 291);
139
- --accent: oklch(0.25 0.022 290);
143
+ --accent: oklch(0.28 0.022 290);
140
144
  --accent-foreground: oklch(0.943 0.012 291.3);
141
145
  --error: oklch(0.577 0.245 27.325);
142
146
  --error-foreground: oklch(0.995 0.002 291.3);
143
147
  /* --error stays the fill under near-white text; as text it would give only
144
148
  4.0:1 on --background and 3.8:1 on --card. Lightened (76 % --error), 6.25
145
- and 5.9:1, and 5.2:1 on a focused error menu item (bg-error/20 over the
149
+ and 5.5:1, and 4.9:1 on a focused error menu item (bg-error/20 over the
146
150
  popover; the former 80 % missed 4.5:1 once rendered). */
147
151
  --error-text: color-mix(in oklab, var(--error) 76%, white);
148
152
  /* The light brights: on the dark surfaces they read as text and as the
@@ -152,15 +156,15 @@
152
156
  --success-foreground: oklch(0.995 0.002 291.3);
153
157
  --info: oklch(0.707 0.165 254.624);
154
158
  --info-foreground: oklch(0.995 0.002 291.3);
155
- /* Amber too, as text: 7.2:1 on --background and 6.7:1 on --card, 6.4:1 and
156
- 5.9:1 on its 10% tint; the badge's 60% fill under near-white text is
157
- 6.1:1 on a page and 5.8:1 on a Card. */
159
+ /* Amber too, as text: 7.2:1 on --background and 6.3:1 on --card, 6.4:1 and
160
+ 5.5:1 on its 10% tint; the badge's 60% fill under near-white text is
161
+ 6.1:1 on a page and 5.6:1 on a Card. */
158
162
  --warning: oklch(0.7 0.15 70);
159
163
  --warning-foreground: oklch(0.995 0.002 291.3);
160
164
  --destructive: oklch(0.704 0.191 22.216);
161
- --border: oklch(0.259 0.025 291.4);
162
- --input: oklch(0.298 0.027 291.4);
163
- /* 4.05:1 on --background, 3.80:1 on --card, 3.50:1 on --muted. */
165
+ --border: oklch(0.289 0.025 291.4);
166
+ --input: oklch(0.328 0.027 291.4);
167
+ /* 4.05:1 on --background, 3.57:1 on --card, 3.22:1 on --muted. */
164
168
  --ring: oklch(0.551 0.03 290);
165
169
  --chart-1: oklch(0.488 0.243 264.376);
166
170
  --chart-2: oklch(0.696 0.17 162.48);
@@ -76,7 +76,7 @@
76
76
  * wrapper dissolves so its children take the areas. */
77
77
  .nxgt-action-card[data-size="tile"] {
78
78
  grid-template-columns: minmax(0, 1fr) auto;
79
- grid-template-areas: "title act" "status status" "desc desc" "meta meta";
79
+ grid-template-areas: "title act" "status status" "desc desc" "meta meta" "foot foot";
80
80
  align-items: start;
81
81
  /* A taller neighbour stretches the card: keep the rows at the top. */
82
82
  align-content: start;
@@ -93,7 +93,8 @@
93
93
  "icon title act"
94
94
  ". status status"
95
95
  ". desc desc"
96
- ". meta meta";
96
+ ". meta meta"
97
+ ". foot foot";
97
98
  }
98
99
  .nxgt-action-card[data-size="tile"] .nxgt-action-card-icon {
99
100
  width: 36px;
@@ -119,6 +120,14 @@
119
120
  .nxgt-action-card[data-size="tile"] .nxgt-action-card-meta {
120
121
  grid-area: meta;
121
122
  }
123
+ /* The footer: secondary links, above the stretched title link or button. */
124
+ .nxgt-action-card-footer {
125
+ grid-area: foot;
126
+ position: relative;
127
+ z-index: 1;
128
+ min-width: 0;
129
+ margin-top: 2px;
130
+ }
122
131
  .nxgt-action-card[data-size="tile"][data-has-action]
123
132
  .nxgt-action-card-action {
124
133
  align-self: start;
@@ -0,0 +1,27 @@
1
+ /* The compact record row of a tile (`item.Row`, data-table-item-row.tsx): the
2
+ * dense row of ListTile inside the tile's shell. Direction "A Refined" for the
3
+ * shell; the row is 36px tall under a fine pointer and 44px under a coarse one
4
+ * (the link's `::after` covers the tile, so the whole tile is the target).
5
+ * The title is 13px medium like ListTile's `size="sm"`; a selected tile's
6
+ * title keeps the primary text of data-table-items.css. */
7
+ @layer components {
8
+ [data-slot="data-table-tiles"]
9
+ > [data-slot="data-table-item"]:has([data-slot="data-table-record"]) {
10
+ min-height: 2.25rem;
11
+ padding-block: 0.375rem;
12
+ }
13
+ @media (pointer: coarse) {
14
+ [data-slot="data-table-tiles"]
15
+ > [data-slot="data-table-item"]:has([data-slot="data-table-record"]) {
16
+ min-height: 2.75rem;
17
+ /* The link's 44px box, centred on the title's first line, stays inside
18
+ * the tile when the subtitle and the chips stack under it. */
19
+ padding-block: 0.75rem;
20
+ }
21
+ }
22
+ [data-slot="data-table-record"] [data-slot="data-table-item-title"] {
23
+ font-size: 0.8125rem;
24
+ font-weight: 500;
25
+ line-height: 1.4;
26
+ }
27
+ }
@@ -0,0 +1,14 @@
1
+ /* DataTable cards and tiles, one file per role, in cascade order:
2
+ *
3
+ * data-table-items.css the item shell (hairline, tint, start bar, columns)
4
+ * data-table-items-compact.css compact cards
5
+ * data-table-items-bar.css the list bar
6
+ * data-table-items-forced.css forced colours
7
+ * data-table-items-tiles.css tiles: one column, one surface
8
+ * data-table-items-record.css the compact record row of a tile (item.Row) */
9
+ @import "./data-table-items.css";
10
+ @import "./data-table-items-compact.css";
11
+ @import "./data-table-items-bar.css";
12
+ @import "./data-table-items-forced.css";
13
+ @import "./data-table-items-tiles.css";
14
+ @import "./data-table-items-record.css";
@@ -39,7 +39,8 @@
39
39
  --dialog-bg: color-mix(in oklab, var(--primary) 18%, var(--card));
40
40
  box-shadow:
41
41
  var(--nxgt-elevation-3),
42
- inset 0 0 0 1px rgb(255 255 255 / 0.07);
42
+ inset 0 0 0 1px var(--card-edge),
43
+ inset 0 1px 0 rgb(255 255 255 / 0.03);
43
44
  }
44
45
  .nxgt-dialog[data-state="open"] {
45
46
  animation:
@@ -30,13 +30,14 @@
30
30
  --popover-bg: var(--popover);
31
31
  --popover-lift:
32
32
  0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
33
- border: 1px solid var(--border);
33
+ border: 1px solid var(--card-edge);
34
34
  border-radius: var(--radius-md);
35
35
  }
36
36
  :where(.dark, [data-theme="dark"]) .nxgt-popover {
37
37
  --popover-bg: color-mix(in oklab, var(--primary) 16%, var(--popover));
38
38
  --popover-lift:
39
- var(--nxgt-elevation-2), inset 0 0 0 1px rgb(255 255 255 / 0.07);
39
+ var(--nxgt-elevation-2), inset 0 0 0 1px var(--card-edge),
40
+ inset 0 1px 0 rgb(255 255 255 / 0.03);
40
41
  }
41
42
  :where(.dark, [data-theme="dark"]) .nxgt-popover[data-variant="tonal"] {
42
43
  --popover-bg: color-mix(in oklab, var(--primary) 34%, var(--popover));