@nxgt/material 3.80.0 → 3.82.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 (163) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/README.md +4 -3
  3. package/dist/{alert-dialog-DgHtXZuB.js → alert-dialog-DXLJ4AZP.js} +75 -74
  4. package/dist/{async-slice-YBQsGtQT.js → async-slice-BfVokA46.js} +1 -1
  5. package/dist/{button-_vm-xSBU.js → button-CSKUtMI3.js} +2 -2
  6. package/dist/{calculator-CTd_S23A.js → calculator-Cv00UQgR.js} +10 -10
  7. package/dist/calculator-field.js +6 -6
  8. package/dist/{calculator-segment-OI1BT3bA.js → calculator-segment-CwnC2cV_.js} +1 -1
  9. package/dist/calculator.js +1 -1
  10. package/dist/charts.js +3 -3
  11. package/dist/{chip-DumcVzUO.js → chip-BGn0V6Pt.js} +3 -3
  12. package/dist/{code-editor-CiwgfSOK.js → code-editor-B25-mWhb.js} +4 -4
  13. package/dist/code-editor.js +4 -4
  14. package/dist/{code-language-items-Dip0xnmc.js → code-language-items-oRjtO3qV.js} +2 -2
  15. package/dist/components/base-content.css +11 -0
  16. package/dist/components/components.css +2 -0
  17. package/dist/components/ui/collections/data-table/data-table-items-tiles.css +27 -1
  18. package/dist/components/ui/collections/data-table/data-table-items.css +15 -0
  19. package/dist/components/ui/display/tube-cap/tube-cap.css +87 -0
  20. package/dist/{components-CJFHhkZv.js → components-BmZk-git.js} +19258 -18882
  21. package/dist/components.js +37 -37
  22. package/dist/{conversion-variant-CqrPwPjC.js → conversion-variant-wZd-G6xR.js} +3 -3
  23. package/dist/{currency-field-CMFvctye.js → currency-field-DizBTAat.js} +4 -4
  24. package/dist/{date.utils-DUvqcjan.js → date.utils-JTEIo3mM.js} +98 -98
  25. package/dist/{dialog-B0iU3fmh.js → dialog-B-3s-oXt.js} +3 -3
  26. package/dist/dnd.js +1 -1
  27. package/dist/{dropdown-menu-CPOgcajv.js → dropdown-menu-C6rcYGB9.js} +1 -1
  28. package/dist/editor.js +987 -980
  29. package/dist/{empty-state-D3Jggupu.js → empty-state-CSkghnD9.js} +1 -1
  30. package/dist/{financial-variant-BdyfYhnp.js → financial-variant-igpGRbGw.js} +5 -5
  31. package/dist/{hooks-Z7KKbv4G.js → hooks-k8_f3B0k.js} +2 -2
  32. package/dist/hooks.js +9 -8
  33. package/dist/{hover-card-CFGIX6kg.js → hover-card-DuaVVKMb.js} +1 -1
  34. package/dist/i18n.js +3 -3
  35. package/dist/{icon-badge-kxGWUvcO.js → icon-badge-3ThP6EOl.js} +1 -1
  36. package/dist/{icon-button-BamxMwZs.js → icon-button-4PKlaI1g.js} +2 -2
  37. package/dist/lib/components/ui/actions/button/button-tones.d.ts +17 -16
  38. package/dist/lib/components/ui/collections/day-grouped-list/day-grouped-list.d.ts +6 -1
  39. package/dist/lib/components/ui/collections/filter/use-filter-field-config.d.ts +2 -0
  40. package/dist/lib/components/ui/collections/server-table/types-states.d.ts +5 -1
  41. package/dist/lib/components/ui/display/index.d.ts +1 -0
  42. package/dist/lib/components/ui/display/tube-cap/index.d.ts +2 -0
  43. package/dist/lib/components/ui/display/tube-cap/tube-cap.d.ts +27 -0
  44. package/dist/lib/components/ui/display/tube-cap/tube-cap.kinds.d.ts +7 -0
  45. package/dist/lib/components/ui/fields/contacts/placeholders.d.ts +1 -1
  46. package/dist/lib/components/ui/fields/inline-edit/inline-edit-display.d.ts +5 -1
  47. package/dist/lib/components/ui/fields/inline-edit/inline-edit-editor.d.ts +6 -1
  48. package/dist/lib/components/ui/fields/inline-edit/inline-edit.d.ts +14 -1
  49. package/dist/lib/components/ui/fields/inline-edit/use-inline-edit.d.ts +4 -1
  50. package/dist/lib/components/ui/fields/repeatable-group/partials/repeatable-group-row.d.ts +3 -1
  51. package/dist/lib/components/ui/fields/repeatable-group/partials/repeatable-group-rows.d.ts +2 -1
  52. package/dist/lib/components/ui/fields/repeatable-group/repeatable-group.d.ts +1 -1
  53. package/dist/lib/components/ui/fields/repeatable-group/types.d.ts +7 -0
  54. package/dist/lib/components/ui/layout/dashboard-grid/dashboard-grid.types.d.ts +6 -1
  55. package/dist/lib/components/ui/layout/dashboard-grid/dashboard-tile.d.ts +1 -1
  56. package/dist/lib/components/ui/media/galleries/gallery.d.ts +1 -1
  57. package/dist/lib/components/ui/media/galleries/gallery.utils.d.ts +14 -0
  58. package/dist/lib/components/ui/media/galleries/lightbox-gallery.d.ts +1 -1
  59. package/dist/lib/components/ui/media/galleries/mini-gallery.d.ts +1 -1
  60. package/dist/lib/components/ui/media/galleries/partials/gallery-tile-button.d.ts +12 -0
  61. package/dist/lib/components/ui/media/galleries/partials/gallery-tile.d.ts +3 -1
  62. package/dist/lib/components/ui/overlays/dialog/dialog-parts.d.ts +1 -1
  63. package/dist/lib/components/ui/overlays/sheet/sheet-parts.d.ts +5 -0
  64. package/dist/lib/components/ui/selection/choice-card-group/choice-card-balance.d.ts +4 -0
  65. package/dist/lib/components/ui/selection/choice-card-group/choice-card-group.d.ts +3 -1
  66. package/dist/lib/components/ui/selection/choice-card-group/choice-card-group.types.d.ts +7 -0
  67. package/dist/lib/components/ui/selection/sortable-list/partials/sortable-list-body.d.ts +5 -1
  68. package/dist/lib/components/ui/selection/sortable-list/partials/sortable-list-row-parts.d.ts +2 -1
  69. package/dist/lib/components/ui/selection/sortable-list/partials/sortable-list-row-props.d.ts +8 -5
  70. package/dist/lib/components/ui/selection/sortable-list/partials/use-owed-focus.d.ts +10 -0
  71. package/dist/lib/components/ui/selection/sortable-list/sortable-list-context.d.ts +2 -0
  72. package/dist/lib/components/ui/selection/sortable-list/sortable-list.keyboard.d.ts +1 -1
  73. package/dist/lib/components/ui/widgets/event-calendar/event-calendar-context.d.ts +3 -0
  74. package/dist/lib/components/ui/widgets/event-calendar/event-calendar-shell.d.ts +15 -0
  75. package/dist/lib/components/ui/widgets/event-calendar/event-calendar-template.d.ts +9 -0
  76. package/dist/lib/components/ui/widgets/event-calendar/event-calendar.d.ts +7 -3
  77. package/dist/lib/components/ui/widgets/event-calendar/event-calendar.template.d.ts +41 -0
  78. package/dist/lib/components/ui/widgets/event-calendar/index.d.ts +1 -0
  79. package/dist/lib/components/ui/widgets/event-calendar/partials/calendar-date-nav.d.ts +2 -0
  80. package/dist/lib/components/ui/widgets/event-calendar/partials/calendar-lane-toggle.d.ts +5 -0
  81. package/dist/lib/components/ui/widgets/event-calendar/partials/time-grid-header-template.d.ts +7 -0
  82. package/dist/lib/components/ui/widgets/event-calendar/template.types.d.ts +73 -0
  83. package/dist/lib/components/ui/widgets/event-calendar/types.d.ts +2 -0
  84. package/dist/lib/components/ui/widgets/event-calendar/use-chip-event.d.ts +1 -0
  85. package/dist/lib/components/ui/widgets/event-calendar/use-drawn-events.d.ts +4 -3
  86. package/dist/lib/components/ui/widgets/event-calendar/use-template-calendar.d.ts +18 -0
  87. package/dist/lib/components/ui/widgets/event-calendar/use-template-lane.d.ts +17 -0
  88. package/dist/lib/hooks/index.d.ts +1 -0
  89. package/dist/lib/i18n/resources/en/en.d.ts +2 -0
  90. package/dist/lib/i18n/resources/en/material.json.d.ts +2 -0
  91. package/dist/lib/i18n/resources/fr/fr.d.ts +2 -0
  92. package/dist/lib/i18n/resources/fr/material.json.d.ts +2 -0
  93. package/dist/lib/i18n/resources/resources.d.ts +4 -0
  94. package/dist/lib/i18n/translator.d.ts +1 -1
  95. package/dist/lib/illustrations-game/index.d.ts +4 -3
  96. package/dist/lib.js +2 -2
  97. package/dist/main.js +53 -52
  98. package/dist/map.js +7 -7
  99. package/dist/material.css +1 -1
  100. package/dist/pdf-reader.js +1 -1
  101. package/dist/{percent-field-C2LNr8NA.js → percent-field-QwU1l2Q4.js} +1 -1
  102. package/dist/{picker-surface-BUCFMoAZ.js → picker-surface-CiTycWgV.js} +4 -4
  103. package/dist/{popover-DFRwQF12.js → popover-YmbzbKQG.js} +1 -1
  104. package/dist/{pos-types-CXnEdjdy.js → pos-types-BFrapNmx.js} +1 -1
  105. package/dist/{pos-variant-DMwn_7is.js → pos-variant-CctfqieO.js} +4 -4
  106. package/dist/print.js +1 -1
  107. package/dist/{programmer-variant-Bo4eiDFi.js → programmer-variant-Dd0YOixn.js} +2 -2
  108. package/dist/{public-CyQPkkSR.js → public-CshR_aW7.js} +10 -10
  109. package/dist/{rich-code-block-iK7UcZdc.js → rich-code-block-BuJLDoBu.js} +5 -5
  110. package/dist/{scientific-variant-B9ScTgfx.js → scientific-variant-CjErQxuZ.js} +2 -2
  111. package/dist/{sortable-provider-BZwVjSVU.js → sortable-provider-DU2nvpFc.js} +2 -2
  112. package/dist/{spinner-RITOxvpH.js → spinner-DH1mm8hH.js} +1 -1
  113. package/dist/{tabs-DSo4eCUn.js → tabs-Um0SFyf1.js} +1 -1
  114. package/dist/theme-picker.js +2 -2
  115. package/dist/{theme-toggle-3gbzQX0x.js → theme-toggle-C-Ih4uQU.js} +1 -1
  116. package/dist/{toolbar-items-Bt5RK-Nx.js → toolbar-items-BoEY5bkt.js} +4 -4
  117. package/dist/{translate-material-CZTGqgen.js → translate-material-D4rn5UaQ.js} +1 -1
  118. package/dist/{translator-DTlOlIoq.js → translator-CcEgQ-H7.js} +4 -0
  119. package/dist/{use-chat-composer-DBY01IpX.js → use-chat-composer-BfFcmDua.js} +1439 -1391
  120. package/dist/{use-click-lock-BZYtTmVt.js → use-click-lock-Bwg_caHO.js} +14 -14
  121. package/dist/{use-heading-spy-Dt48bBts.js → use-heading-spy-gDNtK1sU.js} +19 -19
  122. package/dist/{use-material-translation-BJucC_xe.js → use-material-translation-DYrfV_JJ.js} +1 -1
  123. package/dist/{use-return-focus-BS1JLcnq.js → use-return-focus-C_Qz_yTk.js} +1 -1
  124. package/docs/README.md +1 -1
  125. package/docs/components/data-display.md +36 -8
  126. package/docs/components/data-table-filter-and-lists.md +7 -3
  127. package/docs/components/form-fields.md +6 -0
  128. package/docs/components/media-and-files.md +1 -0
  129. package/docs/components/navigation-and-layout.md +3 -1
  130. package/docs/components/overlays-and-menus.md +11 -5
  131. package/docs/components/rich-widgets.md +85 -1
  132. package/docs/components/selection-and-choice.md +49 -10
  133. package/docs/guides/forms.md +7 -0
  134. package/docs/guides/helpers.md +23 -0
  135. package/docs/guides/icon-motifs.md +1 -1
  136. package/docs/guides/illustrations.md +5 -5
  137. package/docs/guides/layouts.md +2 -2
  138. package/docs/guides/theming.md +7 -7
  139. package/docs/previews/data-display-tubecap.webp +0 -0
  140. package/docs/previews/feedback-status-illustration-game.webp +0 -0
  141. package/docs/previews/selection-choice-sortablelist.webp +0 -0
  142. package/docs/roadmap.md +3 -1
  143. package/docs/troubleshooting.md +50 -2
  144. package/lib/components/base-content.css +11 -0
  145. package/lib/components/components.css +2 -0
  146. package/lib/components/ui/collections/data-table/data-table-items-tiles.css +27 -1
  147. package/lib/components/ui/collections/data-table/data-table-items.css +15 -0
  148. package/lib/components/ui/display/tube-cap/tube-cap.css +87 -0
  149. package/lib/themes/ambre.css +1 -1
  150. package/lib/themes/ardoise.css +1 -1
  151. package/lib/themes/bleumono.css +1 -1
  152. package/lib/themes/bluemoon.css +1 -1
  153. package/lib/themes/corail.css +2 -2
  154. package/lib/themes/foret.css +1 -1
  155. package/lib/themes/lavande.css +1 -1
  156. package/lib/themes/menthe.css +2 -2
  157. package/lib/themes/ocean.css +1 -1
  158. package/lib/themes/pink.css +2 -2
  159. package/lib/themes/prune.css +1 -1
  160. package/lib/themes/sable.css +1 -1
  161. package/lib/themes/slate.css +1 -1
  162. package/lib/themes/teal.css +2 -2
  163. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./utils-BLfntITJ.js";
2
- import { t } from "./use-material-translation-BJucC_xe.js";
2
+ import { t } from "./use-material-translation-DYrfV_JJ.js";
3
3
  import { t as n } from "./typography-CYEquVeb.js";
4
4
  import { a as r, c as i, i as a, n as o, o as s, r as c, t as l, u } from "./state-scenes-BX03WmSu.js";
5
5
  import { Suspense as d } from "react";
@@ -1,12 +1,12 @@
1
- import { n as e, r as t, t as n, u as r } from "./tabs-DSo4eCUn.js";
2
- import { t as i } from "./use-material-translation-BJucC_xe.js";
3
- import { r as a, t as o } from "./currency-field-CMFvctye.js";
4
- import { t as s } from "./percent-field-C2LNr8NA.js";
1
+ import { n as e, r as t, t as n, u as r } from "./tabs-Um0SFyf1.js";
2
+ import { t as i } from "./use-material-translation-DYrfV_JJ.js";
3
+ import { r as a, t as o } from "./currency-field-DizBTAat.js";
4
+ import { t as s } from "./percent-field-QwU1l2Q4.js";
5
5
  import { n as c } from "./calculator-context-BugcKuVG.js";
6
6
  import { t as l } from "./calculator-announce-DRd2c6Dq.js";
7
7
  import { n as u, t as d } from "./calculator-panel-announce-AZSnZUSr.js";
8
8
  import { t as f } from "./currency-B-r3ig11.js";
9
- import { t as p } from "./calculator-segment-OI1BT3bA.js";
9
+ import { t as p } from "./calculator-segment-CwnC2cV_.js";
10
10
  import { useId as m, useMemo as h, useState as g } from "react";
11
11
  import { jsx as _, jsxs as v } from "react/jsx-runtime";
12
12
  import { currencyFractionDigits as y } from "@nxgt/material-core/currency-digits";
@@ -1,5 +1,5 @@
1
- import { i as e } from "./translate-material-CZTGqgen.js";
2
- import { n as t } from "./use-heading-spy-Dt48bBts.js";
1
+ import { i as e } from "./translate-material-D4rn5UaQ.js";
2
+ import { n as t } from "./use-heading-spy-gDNtK1sU.js";
3
3
  import { t as n } from "./number.utils-CSueQZcv.js";
4
4
  import { useCallback as r, useEffect as i, useMemo as a, useRef as o, useState as s } from "react";
5
5
  import { jsx as c } from "react/jsx-runtime";
package/dist/hooks.js CHANGED
@@ -1,8 +1,9 @@
1
- import { a as e, i as t, o as n, r, s as i } from "./theme-store-BdPp43cV.js";
2
- import { n as a, t as o } from "./use-theme-BCLireTd.js";
3
- import { a as s, i as c, m as l, o as u, r as d, s as f, t as p } from "./use-heading-spy-Dt48bBts.js";
4
- import { r as m } from "./use-csp-nonce-ZKs9k-ov.js";
5
- import { t as h } from "./use-mobile-BDro060N.js";
6
- import { t as g } from "./use-scroll-away-PQRFZkT2.js";
7
- import { a as _, c as v, d as y, f as b, g as x, h as S, i as C, l as w, m as T, n as E, o as D, p as O, r as k, s as A, t as j, u as M } from "./hooks-Z7KKbv4G.js";
8
- export { r as DEFAULT_THEME, t as applyResolvedTheme, e as applyThemeName, _ as buildOptions, c as busySettler, b as clearDrafts, s as createSubmitGuard, D as extractNode, S as isLeaving, n as resolveTheme, i as resolveThemeName, x as shouldBlockNavigation, T as useAllowedTransitions, d as useCountdown, m as useCspNonce, E as useDiscardGuard, O as useDrafts, f as useFocusOnMount, y as useFormatters, p as useHeadingSpy, a as useIsClient, h as useIsMobile, l as useLocalizedDate, w as useNavigationHandler, M as useNavigationHandlers, v as useNumberFormatter, A as useOptions, C as useReactRouterBlock, g as useScrollAway, k as useSearchParam, u as useSubmitOnce, o as useTheme, j as useUnsavedGuard };
1
+ import { t as e } from "./use-ssr-media-query-C6M5m8sf.js";
2
+ import { a as t, i as n, o as r, r as i, s as a } from "./theme-store-BdPp43cV.js";
3
+ import { n as o, t as s } from "./use-theme-BCLireTd.js";
4
+ import { a as c, i as l, m as u, o as d, r as f, s as p, t as m } from "./use-heading-spy-gDNtK1sU.js";
5
+ import { r as h } from "./use-csp-nonce-ZKs9k-ov.js";
6
+ import { t as g } from "./use-mobile-BDro060N.js";
7
+ import { t as _ } from "./use-scroll-away-PQRFZkT2.js";
8
+ import { a as v, c as y, d as b, f as x, g as S, h as C, i as w, l as T, m as E, n as D, o as O, p as k, r as A, s as j, t as M, u as N } from "./hooks-k8_f3B0k.js";
9
+ export { i as DEFAULT_THEME, n as applyResolvedTheme, t as applyThemeName, v as buildOptions, l as busySettler, x as clearDrafts, c as createSubmitGuard, O as extractNode, C as isLeaving, r as resolveTheme, a as resolveThemeName, S as shouldBlockNavigation, E as useAllowedTransitions, f as useCountdown, h as useCspNonce, D as useDiscardGuard, k as useDrafts, p as useFocusOnMount, b as useFormatters, m as useHeadingSpy, o as useIsClient, g as useIsMobile, u as useLocalizedDate, T as useNavigationHandler, N as useNavigationHandlers, y as useNumberFormatter, j as useOptions, w as useReactRouterBlock, _ as useScrollAway, A as useSearchParam, e as useSsrMediaQuery, d as useSubmitOnce, s as useTheme, M as useUnsavedGuard };
@@ -1,7 +1,7 @@
1
1
  import { t as e } from "./utils-BLfntITJ.js";
2
2
  import { o as t } from "./dist-DVRQkaTK.js";
3
3
  import { i as n, r, t as i } from "./dist-DWZXlCZR.js";
4
- import { S as a, d as o, f as s, l as c, p as l, x as u } from "./spinner-RITOxvpH.js";
4
+ import { S as a, d as o, f as s, l as c, p as l, x as u } from "./spinner-DH1mm8hH.js";
5
5
  import { a as d, i as f } from "./dist-DHdUUM1w.js";
6
6
  import { t as p } from "./in-dialog-D61Yeaol.js";
7
7
  import { i as m } from "./escape-owner-DpaP0lm1.js";
package/dist/i18n.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { t as e } from "./is-production-GLw59WU8.js";
2
- import { c as t, d as n, i as r, l as i, n as a, o, r as s, t as c, u as l } from "./translator-DTlOlIoq.js";
3
- import { i as u, n as d, r as f, t as p } from "./translate-material-CZTGqgen.js";
2
+ import { c as t, d as n, i as r, l as i, n as a, o, r as s, t as c, u as l } from "./translator-CcEgQ-H7.js";
3
+ import { i as u, n as d, r as f, t as p } from "./translate-material-D4rn5UaQ.js";
4
4
  import { o as m, t as h } from "./merge-BCZE6HGq.js";
5
- import { t as g } from "./use-material-translation-BJucC_xe.js";
5
+ import { t as g } from "./use-material-translation-DYrfV_JJ.js";
6
6
  import { useCallback as _ } from "react";
7
7
  //#region lib/i18n/merge-resources.ts
8
8
  function v(e, t, n = "") {
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./utils-BLfntITJ.js";
2
- import { t } from "./icon-button-BamxMwZs.js";
2
+ import { t } from "./icon-button-4PKlaI1g.js";
3
3
  import { jsx as n } from "react/jsx-runtime";
4
4
  //#region lib/components/ui/actions/icon-button/icon-badge.tsx
5
5
  function r({ children: r, className: i, ...a }) {
@@ -1,9 +1,9 @@
1
1
  import { t as e } from "./utils-BLfntITJ.js";
2
2
  import { n as t } from "./use-shape-morph-BKA_R5P5.js";
3
3
  import { n, t as r } from "./dist-DVRQkaTK.js";
4
- import { n as i, t as a } from "./spinner-RITOxvpH.js";
4
+ import { n as i, t as a } from "./spinner-DH1mm8hH.js";
5
5
  import { t as o } from "./dist-DkQbkF9T.js";
6
- import { a as s, i as c, n as l, o as u, r as d, s as f, t as p } from "./use-click-lock-BZYtTmVt.js";
6
+ import { a as s, i as c, n as l, o as u, r as d, s as f, t as p } from "./use-click-lock-Bwg_caHO.js";
7
7
  import { t as m } from "./is-production-GLw59WU8.js";
8
8
  import { t as h } from "./button-group-context-CaP0X5p_.js";
9
9
  import { shapeOutline as g, toSvgPath as _ } from "@nxgt/material-core/shapes";
@@ -1,37 +1,38 @@
1
1
  /**
2
2
  * The text colour of the `tonal`, `outlined` and `link` variants of `Button`
3
3
  * and `IconButton`, per `color`: the token itself where it reads at 4.5:1 on
4
- * the page, on `--card` and on its own 15 % tint, else mixed toward black in
5
- * the light theme and toward white in the dark one (WCAG 1.4.3). The class
4
+ * the page ground (`--ground`, a tinted page), on `--card` and on its own 15 %
5
+ * tint over either, else mixed toward black in the light theme and toward white
6
+ * in the dark one, on the card, popover, muted and accent surfaces too (WCAG 1.4.3, #2398). The class
6
7
  * names are written out whole so Tailwind finds them.
7
8
  */
8
9
  export declare const toneText: {
9
10
  readonly primary: "text-primary-text";
10
- readonly secondary: "text-secondary";
11
- readonly success: "text-success dark:text-[color-mix(in_oklab,var(--color-success)_85%,white)]";
12
- readonly info: "text-info";
11
+ readonly secondary: "text-[color-mix(in_oklab,var(--color-secondary)_90%,black)] dark:text-[color-mix(in_oklab,var(--color-secondary)_80%,white)]";
12
+ readonly success: "text-[color-mix(in_oklab,var(--color-success)_90%,black)] dark:text-[color-mix(in_oklab,var(--color-success)_70%,white)]";
13
+ readonly info: "text-[color-mix(in_oklab,var(--color-info)_90%,black)] dark:text-[color-mix(in_oklab,var(--color-info)_85%,white)]";
13
14
  readonly warning: "text-[color-mix(in_oklab,var(--color-warning)_85%,black)] dark:text-[color-mix(in_oklab,var(--color-warning)_85%,white)]";
14
- readonly error: "text-[color-mix(in_oklab,var(--color-error)_85%,black)] dark:text-[color-mix(in_oklab,var(--color-error)_70%,white)]";
15
+ readonly error: "text-[color-mix(in_oklab,var(--color-error)_80%,black)] dark:text-[color-mix(in_oklab,var(--color-error)_70%,white)]";
15
16
  readonly default: "text-foreground";
16
17
  };
17
18
  /** The same tones for an icon marked `data-slot="icon"`. */
18
19
  export declare const toneIcon: {
19
20
  readonly primary: "[&_svg]:data-[slot=icon]:text-primary-text";
20
- readonly secondary: "[&_svg]:data-[slot=icon]:text-secondary";
21
- readonly success: "[&_svg]:data-[slot=icon]:text-success dark:[&_svg]:data-[slot=icon]:text-[color-mix(in_oklab,var(--color-success)_85%,white)]";
22
- readonly info: "[&_svg]:data-[slot=icon]:text-info";
21
+ readonly secondary: "[&_svg]:data-[slot=icon]:text-[color-mix(in_oklab,var(--color-secondary)_90%,black)] dark:[&_svg]:data-[slot=icon]:text-[color-mix(in_oklab,var(--color-secondary)_80%,white)]";
22
+ readonly success: "[&_svg]:data-[slot=icon]:text-[color-mix(in_oklab,var(--color-success)_90%,black)] dark:[&_svg]:data-[slot=icon]:text-[color-mix(in_oklab,var(--color-success)_70%,white)]";
23
+ readonly info: "[&_svg]:data-[slot=icon]:text-[color-mix(in_oklab,var(--color-info)_90%,black)] dark:[&_svg]:data-[slot=icon]:text-[color-mix(in_oklab,var(--color-info)_85%,white)]";
23
24
  readonly warning: "[&_svg]:data-[slot=icon]:text-[color-mix(in_oklab,var(--color-warning)_85%,black)] dark:[&_svg]:data-[slot=icon]:text-[color-mix(in_oklab,var(--color-warning)_85%,white)]";
24
- readonly error: "[&_svg]:data-[slot=icon]:text-[color-mix(in_oklab,var(--color-error)_85%,black)] dark:[&_svg]:data-[slot=icon]:text-[color-mix(in_oklab,var(--color-error)_70%,white)]";
25
+ readonly error: "[&_svg]:data-[slot=icon]:text-[color-mix(in_oklab,var(--color-error)_80%,black)] dark:[&_svg]:data-[slot=icon]:text-[color-mix(in_oklab,var(--color-error)_70%,white)]";
25
26
  readonly default: "[&_svg]:data-[slot=icon]:text-foreground";
26
27
  };
27
28
  /** The same tones for `IconButton`'s icon line (`stroke`). */
28
29
  export declare const toneStroke: {
29
30
  readonly primary: "[&_svg]:stroke-primary-text";
30
- readonly secondary: "[&_svg]:stroke-secondary";
31
- readonly success: "[&_svg]:stroke-success dark:[&_svg]:stroke-[color-mix(in_oklab,var(--color-success)_85%,white)]";
32
- readonly info: "[&_svg]:stroke-info";
31
+ readonly secondary: "[&_svg]:stroke-[color-mix(in_oklab,var(--color-secondary)_90%,black)] dark:[&_svg]:stroke-[color-mix(in_oklab,var(--color-secondary)_80%,white)]";
32
+ readonly success: "[&_svg]:stroke-[color-mix(in_oklab,var(--color-success)_90%,black)] dark:[&_svg]:stroke-[color-mix(in_oklab,var(--color-success)_70%,white)]";
33
+ readonly info: "[&_svg]:stroke-[color-mix(in_oklab,var(--color-info)_90%,black)] dark:[&_svg]:stroke-[color-mix(in_oklab,var(--color-info)_85%,white)]";
33
34
  readonly warning: "[&_svg]:stroke-[color-mix(in_oklab,var(--color-warning)_85%,black)] dark:[&_svg]:stroke-[color-mix(in_oklab,var(--color-warning)_85%,white)]";
34
- readonly error: "[&_svg]:stroke-[color-mix(in_oklab,var(--color-error)_85%,black)] dark:[&_svg]:stroke-[color-mix(in_oklab,var(--color-error)_70%,white)]";
35
+ readonly error: "[&_svg]:stroke-[color-mix(in_oklab,var(--color-error)_80%,black)] dark:[&_svg]:stroke-[color-mix(in_oklab,var(--color-error)_70%,white)]";
35
36
  readonly default: "[&_svg]:stroke-foreground";
36
37
  };
37
38
  /**
@@ -44,9 +45,9 @@ export declare const toneStroke: {
44
45
  export declare const toneVars: {
45
46
  readonly primary: "[--morph-on:var(--color-primary)] [--morph-on-fg:var(--color-primary-foreground)] [--btn-focus:var(--color-primary-text)] [--btn-line:var(--color-primary)]";
46
47
  readonly secondary: "[--morph-on:var(--color-secondary)] dark:[--morph-on:color-mix(in_oklab,var(--color-secondary)_70%,var(--color-background))] [--morph-on-fg:var(--color-secondary-foreground)] [--btn-focus:var(--color-secondary)] [--btn-line:var(--color-secondary)]";
47
- readonly success: "[--morph-on:var(--color-success)] dark:[--morph-on:color-mix(in_oklab,var(--color-success)_60%,var(--color-background))] [--morph-on-fg:var(--color-success-foreground)] [--btn-focus:var(--color-success)] dark:[--btn-focus:color-mix(in_oklab,var(--color-success)_85%,white)] [--btn-line:var(--color-success)]";
48
+ readonly success: "[--morph-on:var(--color-success)] dark:[--morph-on:color-mix(in_oklab,var(--color-success)_60%,var(--color-background))] [--morph-on-fg:var(--color-success-foreground)] [--btn-focus:var(--color-success)] dark:[--btn-focus:color-mix(in_oklab,var(--color-success)_70%,white)] [--btn-line:var(--color-success)]";
48
49
  readonly info: "[--morph-on:var(--color-info)] dark:[--morph-on:color-mix(in_oklab,var(--color-info)_60%,var(--color-background))] [--morph-on-fg:var(--color-info-foreground)] [--btn-focus:var(--color-info)] [--btn-line:var(--color-info)]";
49
50
  readonly warning: "[--morph-on:var(--color-warning)] dark:[--morph-on:color-mix(in_oklab,var(--color-warning)_60%,var(--color-background))] [--morph-on-fg:var(--color-warning-foreground)] [--btn-focus:color-mix(in_oklab,var(--color-warning)_85%,black)] dark:[--btn-focus:color-mix(in_oklab,var(--color-warning)_85%,white)] [--btn-line:var(--color-warning)]";
50
- readonly error: "[--morph-on:var(--color-error)] [--morph-on-fg:var(--color-error-foreground)] [--btn-focus:color-mix(in_oklab,var(--color-error)_85%,black)] dark:[--btn-focus:color-mix(in_oklab,var(--color-error)_70%,white)] [--btn-line:var(--color-error)]";
51
+ readonly error: "[--morph-on:var(--color-error)] [--morph-on-fg:var(--color-error-foreground)] [--btn-focus:color-mix(in_oklab,var(--color-error)_80%,black)] dark:[--btn-focus:color-mix(in_oklab,var(--color-error)_70%,white)] [--btn-line:var(--color-error)]";
51
52
  readonly default: "[--morph-on:var(--color-foreground)] [--morph-on-fg:var(--color-background)] [--btn-focus:var(--color-foreground)] [--btn-line:var(--color-foreground)]";
52
53
  };
@@ -17,6 +17,11 @@ export type DayGroupedListProps<T> = Omit<ComponentProps<'div'>, 'children'> & {
17
17
  sticky?: boolean;
18
18
  /** Shows how many items a bucket holds beside its heading. */
19
19
  showCount?: boolean;
20
+ /**
21
+ * The heading level of each bucket's title (`<h2>` to `<h6>`). Default `3`;
22
+ * pick the level that follows the heading above the list.
23
+ */
24
+ headingLevel?: 2 | 3 | 4 | 5 | 6;
20
25
  /** Extra classes for each heading (its background, say, on a tinted parent). */
21
26
  headerClassName?: string;
22
27
  /** Extra classes for each `<ul>` (`divide-y`, a gap…). */
@@ -27,4 +32,4 @@ export type DayGroupedListProps<T> = Omit<ComponentProps<'div'>, 'children'> & {
27
32
  * labelled section whose heading sticks while its items scroll under it.
28
33
  * The parent scrolls; the list only lays the buckets out.
29
34
  */
30
- export declare function DayGroupedList<T>({ items, getDate, getKey, renderItem, now, labels, sticky, showCount, headerClassName, listClassName, className, ...props }: DayGroupedListProps<T>): import("react").JSX.Element;
35
+ export declare function DayGroupedList<T>({ items, getDate, getKey, renderItem, now, labels, sticky, showCount, headingLevel, headerClassName, listClassName, className, ...props }: DayGroupedListProps<T>): import("react").JSX.Element;
@@ -7188,6 +7188,7 @@ export declare function useFilterFieldConfig({ field, value, onChange, error, di
7188
7188
  min?: number | undefined;
7189
7189
  orientation?: "horizontal" | "vertical" | undefined;
7190
7190
  required?: boolean | undefined;
7191
+ balance?: boolean | undefined;
7191
7192
  density?: "comfortable" | "compact" | undefined;
7192
7193
  } | {
7193
7194
  className: string;
@@ -7480,6 +7481,7 @@ export declare function useFilterFieldConfig({ field, value, onChange, error, di
7480
7481
  min?: number | undefined;
7481
7482
  orientation?: "horizontal" | "vertical" | undefined;
7482
7483
  required?: boolean | undefined;
7484
+ balance?: boolean | undefined;
7483
7485
  options: import('../../selection/index.js').ChoiceCardOption[];
7484
7486
  density?: "comfortable" | "compact" | undefined;
7485
7487
  helperText?: import('react').ReactNode;
@@ -1,7 +1,7 @@
1
1
  import { IconStyleInput } from '@nxgt/material-core/icons';
2
2
  import { ErrorStateKind } from '@nxgt/material-core/states';
3
3
  import { ReactNode } from 'react';
4
- import { StateHeadingLevel } from '../../feedback/state-frame/state-frame.js';
4
+ import { StateHeadingLevel, StateIllustrationProp } from '../../feedback/state-frame/state-frame.js';
5
5
  import { ListEmptyContent } from '../list-empty/list-empty.js';
6
6
  /** What an empty page says: nothing at all yet, or nothing matching. */
7
7
  export type ServerTableEmpty = {
@@ -39,4 +39,8 @@ export type ServerTableError = {
39
39
  /** Which failure it is: the illustration and icon follow it. Default
40
40
  * `generic`. */
41
41
  kind?: ErrorStateKind;
42
+ /** Replaces the scene `kind` picks, as `ListEmptyPage`'s `illustration`
43
+ * does for the empty states: a scene id, a node, `true` for an icon
44
+ * illustration, `false` for none. */
45
+ illustration?: StateIllustrationProp;
42
46
  };
@@ -35,5 +35,6 @@ export * from './status-indicator/index.js';
35
35
  export * from './summary-data/index.js';
36
36
  export * from './terminal/index.js';
37
37
  export * from './timeline/index.js';
38
+ export * from './tube-cap/index.js';
38
39
  export * from './vote-tally/index.js';
39
40
  export * from './zoned-time/index.js';
@@ -0,0 +1,2 @@
1
+ export * from './tube-cap.js';
2
+ export { TUBE_CAP_KINDS, type TubeCapKind } from './tube-cap.kinds.js';
@@ -0,0 +1,27 @@
1
+ import { ComponentProps, ReactNode } from 'react';
2
+ import { TubeCapKind } from './tube-cap.kinds.js';
3
+ export type TubeCapProps = Omit<ComponentProps<'span'>, 'children' | 'role' | 'aria-label'> & {
4
+ /** The kind of tube; its cap colour is fixed by the international convention. */
5
+ kind: TubeCapKind;
6
+ /**
7
+ * The container's name, written beside the cap ("EDTA", "Serum"): the
8
+ * colour never carries the meaning alone. It also names the chip.
9
+ */
10
+ label: ReactNode;
11
+ /** The volume drawn or required, as text ("4 mL"). */
12
+ volume?: ReactNode;
13
+ /** The accession label of the tube ("L00000042-1"). */
14
+ accession?: ReactNode;
15
+ /** Trailing slot for an action, such as an `IconButton`. */
16
+ action?: ReactNode;
17
+ /** `default` 28px cap, `sm` 20px, `lg` 40px. */
18
+ size?: 'sm' | 'default' | 'lg';
19
+ };
20
+ /**
21
+ * A chip for a specimen tube: a cap in its fixed convention colour (the same
22
+ * in light and dark, in every theme) and the container's name beside it, with
23
+ * an optional volume, accession label and action. The colour is a data
24
+ * attribute resolved in CSS, so the server writes the markup the client does,
25
+ * with no inline style.
26
+ */
27
+ export declare function TubeCap({ kind, label, volume, accession, action, size, className, ...props }: TubeCapProps): import("react").JSX.Element;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * The cap colours of the international tube convention (ISO 6710 / CLSI
3
+ * GP41), as the kind of tube they stand for. The colour of a kind is fixed:
4
+ * it does not follow the theme or the colour scheme (see `tube-cap.css`).
5
+ */
6
+ export declare const TUBE_CAP_KINDS: readonly ["edta", "heparin", "citrate", "esr", "serum", "gel", "fluoride", "trace", "other"];
7
+ export type TubeCapKind = (typeof TUBE_CAP_KINDS)[number];