@nxgt/material 2.4.2 → 2.5.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 (169) hide show
  1. package/README.md +28 -19
  2. package/dist/{_Uint8Array-DEXn42kj.js → _Uint8Array-DuTT6911.js} +1 -1
  3. package/dist/_overRest-93z6TD9V.js +81 -0
  4. package/dist/{abnfDiagram-O67JEVCF-C7NxOWqd.js → abnfDiagram-O67JEVCF-Cl4ukf6a.js} +4 -4
  5. package/dist/{architectureDiagram-NJMV4G6O-BIvwyzEh.js → architectureDiagram-NJMV4G6O-WmFlBQF5.js} +7 -7
  6. package/dist/{client-only.utils-DhcBUmau.js → async-slice-B8Xv2BLH.js} +164 -93
  7. package/dist/{blockDiagram-BEXU5L5S-CzgMFdtn.js → blockDiagram-BEXU5L5S-C8UXdLfB.js} +11 -11
  8. package/dist/{c4Diagram-YGBWAQC7-WgqlRIL5.js → c4Diagram-YGBWAQC7-D9xSt2QO.js} +8 -8
  9. package/dist/{channel-Ba8pEAWx.js → channel-Dg92Hoym.js} +1 -1
  10. package/dist/{chunk-3FUC2YCW-DnIzetwB.js → chunk-3FUC2YCW-4gCRt6fO.js} +8 -8
  11. package/dist/{chunk-5DYCD2WN-Bqi3iL5i.js → chunk-5DYCD2WN-Cja1INgd.js} +3 -3
  12. package/dist/{chunk-6AEJRKK7-DDXoGWDs.js → chunk-6AEJRKK7-3YWRP4aV.js} +2 -2
  13. package/dist/{chunk-742MDFTN-nG_ROTnT.js → chunk-742MDFTN-Cs1qGiTK.js} +2 -2
  14. package/dist/{chunk-7INBJB4K-Dg64CbhT.js → chunk-7INBJB4K-BY5n77ka.js} +6 -6
  15. package/dist/{chunk-7M6MHVWA-CPdb6LVf.js → chunk-7M6MHVWA-DnPXbiTM.js} +9 -9
  16. package/dist/{chunk-7PRAP22T-DIiYRAce.js → chunk-7PRAP22T-_Av9vcXz.js} +1 -1
  17. package/dist/{chunk-GNY47TPC-CxWZwDbp.js → chunk-GNY47TPC-DLqgU2SJ.js} +11 -11
  18. package/dist/{chunk-GTNCS2PH-CzDYTYNy.js → chunk-GTNCS2PH-BZ9WMD1v.js} +3 -3
  19. package/dist/{chunk-GWA4HPMP-CmsxMX3A.js → chunk-GWA4HPMP-Co-A6dtV.js} +3 -3
  20. package/dist/{chunk-MBY4JIJT-IA2XBafa.js → chunk-MBY4JIJT-C3RQP_Nk.js} +4 -4
  21. package/dist/{chunk-NETBCI7D-Cq92-0cA.js → chunk-NETBCI7D-CBowDvwz.js} +1 -1
  22. package/dist/{chunk-O7XYJQB3-C87zK8E5.js → chunk-O7XYJQB3-A66QSOPA.js} +1 -1
  23. package/dist/{chunk-UA2S7LBM-B0LGFGu3.js → chunk-UA2S7LBM-BNeHeMx9.js} +6 -6
  24. package/dist/{chunk-WEXAMYUT-C-QP0DFq.js → chunk-WEXAMYUT-CucJfehv.js} +2 -2
  25. package/dist/{chunk-XXDRQBXY-Bq4sFnO2.js → chunk-XXDRQBXY-FgXU14Bh.js} +1 -1
  26. package/dist/{chunk-Z7XXMR3K-vh8Pvgr_.js → chunk-Z7XXMR3K-dRJc1Z30.js} +8 -8
  27. package/dist/{chunk-ZIGJFQKS-HDJ6e6OJ.js → chunk-ZIGJFQKS-C3xUAXJq.js} +3 -3
  28. package/dist/{classDiagram-v2-NBCMYWYE-BSyQx7Df.js → classDiagram-v2-NBCMYWYE-CQmePeL4.js} +14 -14
  29. package/dist/{components-C3jpOwPw.js → components-CUkJhBwK.js} +26365 -25834
  30. package/dist/components.js +6 -6
  31. package/dist/{cose-bilkent-JH36ORCC-11-T1rfk.js → cose-bilkent-JH36ORCC-DRUT3qBb.js} +2 -2
  32. package/dist/{cynefinDiagram-VND7K2PF-1kHi2rGa.js → cynefinDiagram-VND7K2PF-B9HrdQW8.js} +4 -4
  33. package/dist/{dagre-6A5THRUB-BDk37t1_.js → dagre-6A5THRUB-BhyJENrD.js} +574 -615
  34. package/dist/{diagram-22UHCM2B-BvH24G-C.js → diagram-22UHCM2B-CJc0JoTV.js} +15 -15
  35. package/dist/{diagram-3UASUU5V-DAKVPT0Q.js → diagram-3UASUU5V-0P3Cnq5H.js} +7 -7
  36. package/dist/{diagram-ATOU4E4O-Clju_0RY.js → diagram-ATOU4E4O-CNY-8kl0.js} +3 -3
  37. package/dist/{diagram-CDSNMT55-w7kkJ6MU.js → diagram-CDSNMT55-C8Mk1smi.js} +5 -5
  38. package/dist/{diagram-MLGK6HIB-mUOtRVmm.js → diagram-MLGK6HIB-CpfeILwW.js} +4 -4
  39. package/dist/{diagram-MPIPVDR6-DEUw58dq.js → diagram-MPIPVDR6-Do7bUnTd.js} +4 -4
  40. package/dist/{dist-gYpAi-su.js → dist-C3YK_ean.js} +1 -1
  41. package/dist/{dist-CeHNxLJG.js → dist-CRbPtqwD.js} +1 -1
  42. package/dist/dnd.js +1 -1
  43. package/dist/{ebnfDiagram-ZINNZB2B-BYfatie5.js → ebnfDiagram-ZINNZB2B-1GewX9Zq.js} +4 -4
  44. package/dist/{elk-276RUBZZ-CtsHzWCy.js → elk-276RUBZZ-CvgDuHoY.js} +13 -13
  45. package/dist/{erDiagram-OPXOYQCR-DTrqayuU.js → erDiagram-OPXOYQCR-BFgRy8E9.js} +14 -14
  46. package/dist/{field-blur-EUOqpHbF.js → field-blur-D1eQk-49.js} +1109 -1083
  47. package/dist/flowDiagram-KWPJA3E3-DGaa9iT2.js +17 -0
  48. package/dist/{ganttDiagram-FUAMR5RP-DxWSt8R4.js → ganttDiagram-FUAMR5RP-CDGrtGHY.js} +6 -6
  49. package/dist/{gitGraphDiagram-X574FWY7-DcGaPSwy.js → gitGraphDiagram-X574FWY7-80yOq8dE.js} +3 -3
  50. package/dist/{graphlib-BOTXrGOf.js → graphlib-Dt-isUVV.js} +103 -139
  51. package/dist/hooks.js +2 -2
  52. package/dist/{i18n-provider-XTTU9ArK.js → i18n-provider-Drsc2YXX.js} +1 -1
  53. package/dist/i18n.js +6 -6
  54. package/dist/{icon-button-Dl9PDYCE.js → icon-button-BxySFfrr.js} +581 -581
  55. package/dist/{infoDiagram-VRGFBTTK-Cvj167dl.js → infoDiagram-VRGFBTTK-Cboh-B9n.js} +3 -3
  56. package/dist/isArrayLikeObject-BhWbq65y.js +28 -0
  57. package/dist/isEmpty-DdlzV8Ue.js +53 -0
  58. package/dist/{ishikawaDiagram-OU5B5YK6-ChBwjCfr.js → ishikawaDiagram-OU5B5YK6-DwTd1YxL.js} +4 -4
  59. package/dist/{journeyDiagram-ZHPQQLJL-BycdRLE6.js → journeyDiagram-ZHPQQLJL-BuLKqWS3.js} +4 -4
  60. package/dist/{kanban-definition-PNTS6WVX-BRoa-Yp5.js → kanban-definition-PNTS6WVX-S8plI4wn.js} +10 -10
  61. package/dist/lib/components/ui/actions/button/button.compound-variants.d.ts +114 -0
  62. package/dist/lib/components/ui/actions/button/button.d.ts +4 -7
  63. package/dist/lib/components/ui/actions/button/button.variants.d.ts +7 -0
  64. package/dist/lib/components/ui/actions/button/has-text-content.d.ts +10 -0
  65. package/dist/lib/components/ui/actions/icon-button/icon-button.variants.d.ts +1 -1
  66. package/dist/lib/components/ui/collections/data-table/data-table-context.d.ts +4 -0
  67. package/dist/lib/components/ui/collections/data-table/data-table-pagination.d.ts +3 -1
  68. package/dist/lib/components/ui/collections/data-table/data-table.d.ts +12 -2
  69. package/dist/lib/components/ui/collections/data-table/hooks.d.ts +13 -13
  70. package/dist/lib/components/ui/collections/data-table/partials/data-table-body.d.ts +9 -5
  71. package/dist/lib/components/ui/collections/data-table/partials/data-table-empty-row.d.ts +14 -0
  72. package/dist/lib/components/ui/collections/data-table/partials/data-table-skeleton-rows.d.ts +7 -0
  73. package/dist/lib/components/ui/collections/filter/filter-field-number-range.d.ts +15 -0
  74. package/dist/lib/components/ui/collections/pagination/index.d.ts +1 -1
  75. package/dist/lib/components/ui/collections/pagination/pagination.d.ts +9 -1
  76. package/dist/lib/components/ui/display/chip/chip.d.ts +1 -1
  77. package/dist/lib/components/ui/feedback/toast/toast.d.ts +9 -4
  78. package/dist/lib/components/ui/fields/otp-field/index.d.ts +1 -0
  79. package/dist/lib/components/ui/fields/otp-field/input-otp.d.ts +1 -1
  80. package/dist/lib/components/ui/fields/slider/slider-header.d.ts +15 -0
  81. package/dist/lib/components/ui/fields/slider/slider.d.ts +7 -0
  82. package/dist/lib/components/ui/fields/switch/switch.d.ts +7 -0
  83. package/dist/lib/components/ui/layout/stepper/stepper-step.d.ts +17 -0
  84. package/dist/lib/components/ui/media/camera/camera-content.d.ts +1 -2
  85. package/dist/lib/components/ui/media/camera/camera-context.d.ts +4 -0
  86. package/dist/lib/components/ui/media/camera/camera-provider.d.ts +2 -0
  87. package/dist/lib/components/ui/media/camera/camera.d.ts +6 -3
  88. package/dist/lib/components/ui/media/camera/capture-photo.d.ts +13 -0
  89. package/dist/lib/components/ui/media/camera/index.d.ts +9 -1
  90. package/dist/lib/components/ui/media/camera/state/camera.reducers.d.ts +1 -1
  91. package/dist/lib/components/ui/media/camera/state/camera.slice.d.ts +4 -9
  92. package/dist/lib/components/ui/media/camera/state/camera.store.d.ts +11 -5
  93. package/dist/lib/components/ui/media/camera/state/camera.thunks.d.ts +4 -4
  94. package/dist/lib/components/ui/media/camera/types.d.ts +19 -9
  95. package/dist/lib/components/ui/media/camera/use-camera.d.ts +5 -11
  96. package/dist/lib/components/ui/media/camera/utils/camera.utils.d.ts +0 -1
  97. package/dist/lib/components/ui/media/index.d.ts +1 -0
  98. package/dist/lib/components/ui/overlays/dialog/dialog-outside.d.ts +5 -0
  99. package/dist/lib/components/ui/overlays/dialog/dialog-scroll-content.d.ts +9 -0
  100. package/dist/lib/components/ui/overlays/dialog/index.d.ts +1 -0
  101. package/dist/lib/components/ui/primitives/icon/icon-context.d.ts +1 -1
  102. package/dist/lib/components/ui/primitives/table/table.d.ts +6 -1
  103. package/dist/lib/components/ui/selection/index.d.ts +1 -0
  104. package/dist/lib/components/ui/selection/native-select/index.d.ts +1 -0
  105. package/dist/lib/components/ui/selection/native-select/native-select.d.ts +11 -0
  106. package/dist/lib/components/ui/selection/radio-group/radio-group.d.ts +8 -1
  107. package/dist/lib/i18n/resources/en/en.d.ts +7 -0
  108. package/dist/lib/i18n/resources/en/material.json.d.ts +8 -1
  109. package/dist/lib/i18n/resources/fr/fr.d.ts +7 -0
  110. package/dist/lib/i18n/resources/fr/material.json.d.ts +8 -1
  111. package/dist/lib/i18n/resources/resources.d.ts +14 -0
  112. package/dist/lib/i18n/translator.d.ts +1 -1
  113. package/dist/lib/lib/redux/status-slice.d.ts +1 -1
  114. package/dist/lib.js +295 -4
  115. package/dist/main.js +16 -16
  116. package/dist/map.js +5 -5
  117. package/dist/material.css +1 -1
  118. package/dist/merge-a7J0YkZX.js +156 -0
  119. package/dist/{mermaid.core-BGAQ3ZAZ.js → mermaid.core-CE34byhz.js} +49 -49
  120. package/dist/{mindmap-definition-NLK3R4M7-HIqs4Eil.js → mindmap-definition-NLK3R4M7-emoij-nW.js} +13 -13
  121. package/dist/{pegDiagram-GJSIUBJH-Dcm3LCQX.js → pegDiagram-GJSIUBJH-CAO6aYvj.js} +4 -4
  122. package/dist/{pieDiagram-5QR66LMP-DQ6djEkW.js → pieDiagram-5QR66LMP-BdG1tWLn.js} +5 -5
  123. package/dist/print.js +2 -2
  124. package/dist/{quadrantDiagram-O4NWA36T-yUWorB72.js → quadrantDiagram-O4NWA36T-BCd-NwsO.js} +3 -3
  125. package/dist/{railroadDiagram-XR7U4H2S-CzOJlTUA.js → railroadDiagram-XR7U4H2S-DmKDXg8V.js} +4 -4
  126. package/dist/{requirementDiagram-PLB6GJNP-Cs5-8Nro.js → requirementDiagram-PLB6GJNP-CCcH5uSr.js} +13 -13
  127. package/dist/{sankeyDiagram-IPEJSGJF-CCqxyVoj.js → sankeyDiagram-IPEJSGJF-78cK-bfe.js} +3 -3
  128. package/dist/{sequenceDiagram-PO4LG4MO-DMLeIQ03.js → sequenceDiagram-PO4LG4MO-B2qb55A5.js} +5 -5
  129. package/dist/{sortable-provider-DuRzFvwe.js → sortable-provider-VCxPasNp.js} +17 -17
  130. package/dist/{src-CJ8DNrI1.js → src-C9kQSo6K.js} +1 -1
  131. package/dist/{stateDiagram-v2-GCMORJYK-D-8sLHg8.js → stateDiagram-v2-GCMORJYK-B4ghJrhD.js} +14 -14
  132. package/dist/{stored-language-BP90Ydtg.js → stored-language-CeD7kHui.js} +20 -2
  133. package/dist/{swimlanes-2SLR337P-DM_lDm6v.js → swimlanes-2SLR337P-DmHm2yJS.js} +12 -12
  134. package/dist/swimlanesDiagram-TC7HE7FX-Dq3gGsPj.js +28 -0
  135. package/dist/{timeline-definition-EJHVYXUP-D3Tz-JnK.js → timeline-definition-EJHVYXUP-EqJV_QKn.js} +5 -5
  136. package/dist/{translate-material-Ctzt0Y2N.js → translate-material-DgRdhz5d.js} +2 -2
  137. package/dist/{translator-Cfug7hC5.js → translator-B4zUVm7j.js} +1 -1
  138. package/dist/{use-heading-spy-DtVo2HBk.js → use-heading-spy-1BHMXjIn.js} +2 -2
  139. package/dist/{use-material-translation-CJswHOmK.js → use-material-translation-UbARR81K.js} +2 -2
  140. package/dist/{usecaseDiagram-POWQR4AR-Cxx8PDrr.js → usecaseDiagram-POWQR4AR-CvCl0p5N.js} +13 -13
  141. package/dist/{vennDiagram-UO4OBE2U-Aql8mhcy.js → vennDiagram-UO4OBE2U-CO0yFCI8.js} +4 -4
  142. package/dist/{wardleyDiagram-VNRHLVJA-tknlhG_t.js → wardleyDiagram-VNRHLVJA-QkwghAYo.js} +4 -4
  143. package/dist/{xychartDiagram-PMCCYNJV-CM0QlWD5.js → xychartDiagram-PMCCYNJV-BphsHFKA.js} +7 -7
  144. package/docs/components/buttons-and-actions.md +8 -3
  145. package/docs/components/data-display.md +1 -1
  146. package/docs/components/data-table-filter-and-lists.md +95 -6
  147. package/docs/components/feedback-and-status.md +3 -2
  148. package/docs/components/form-fields.md +48 -4
  149. package/docs/components/media-and-files.md +46 -7
  150. package/docs/components/navigation-and-layout.md +6 -1
  151. package/docs/components/overlays-and-menus.md +27 -2
  152. package/docs/components/primitives.md +33 -2
  153. package/docs/components/rich-widgets.md +1 -1
  154. package/docs/components/selection-and-choice.md +32 -6
  155. package/docs/guides/i18n.md +14 -8
  156. package/docs/guides/ssr.md +3 -1
  157. package/docs/previews/media-files-camera.webp +0 -0
  158. package/docs/previews/navigation-layout-stepper.webp +0 -0
  159. package/docs/roadmap.md +37 -3
  160. package/docs/troubleshooting.md +109 -0
  161. package/package.json +1 -1
  162. package/dist/flowDiagram-KWPJA3E3-B8Isvcc5.js +0 -17
  163. package/dist/isArrayLikeObject-CCJDO2RL.js +0 -86
  164. package/dist/lib/components/ui/media/camera/camera.provider.d.ts +0 -6
  165. package/dist/lib/components/ui/media/camera/state/index.d.ts +0 -2
  166. package/dist/lib/components/ui/media/camera/utils/index.d.ts +0 -1
  167. package/dist/lib-DIj5dvbb.js +0 -367
  168. package/dist/merge-Dm-kHFxo.js +0 -172
  169. package/dist/swimlanesDiagram-TC7HE7FX-CbV1TsML.js +0 -28
@@ -1,9 +1,9 @@
1
- import { n as e, t } from "./src-CJ8DNrI1.js";
2
- import { g as n, p as r } from "./chunk-ZIGJFQKS-HDJ6e6OJ.js";
1
+ import { n as e, t } from "./src-C9kQSo6K.js";
2
+ import { g as n, p as r } from "./chunk-ZIGJFQKS-C3xUAXJq.js";
3
3
  import { n as i } from "./chunk-Y2CYZVJY-BAad7w_K.js";
4
- import { A as a, F as o, G as s, H as c, O as l, U as u, a as d, b as f, c as p, i as m, q as h, r as g, s as _, v, w as y, x as b, y as x, z as S } from "./chunk-O7XYJQB3-C87zK8E5.js";
5
- import { t as C } from "./dist-gYpAi-su.js";
6
- import { a as w, c as T, i as E, n as D, r as O, s as k } from "./chunk-GWA4HPMP-CmsxMX3A.js";
4
+ import { A as a, F as o, G as s, H as c, O as l, U as u, a as d, b as f, c as p, i as m, q as h, r as g, s as _, v, w as y, x as b, y as x, z as S } from "./chunk-O7XYJQB3-A66QSOPA.js";
5
+ import { t as C } from "./dist-C3YK_ean.js";
6
+ import { a as w, c as T, i as E, n as D, r as O, s as k } from "./chunk-GWA4HPMP-Co-A6dtV.js";
7
7
  import { n as A, t as j } from "./chunk-LNGE3PJU-DJjGTS7O.js";
8
8
  import { t as M } from "./chunk-2Q5K7J3B-C1pX24ft.js";
9
9
  //#region ../../node_modules/mermaid/dist/chunks/mermaid.core/sequenceDiagram-PO4LG4MO.mjs
@@ -1,6 +1,6 @@
1
- import { t as e, ut as t } from "./icon-button-Dl9PDYCE.js";
1
+ import { dt as e, t } from "./icon-button-BxySFfrr.js";
2
2
  import { t as n } from "./utils-UBn-46YY.js";
3
- import { t as r } from "./use-material-translation-CJswHOmK.js";
3
+ import { t as r } from "./use-material-translation-UbARR81K.js";
4
4
  import { GripVertical as i } from "lucide-react";
5
5
  import { jsx as a } from "react/jsx-runtime";
6
6
  import o, { cloneElement as s, createContext as c, forwardRef as l, memo as u, useCallback as d, useContext as f, useEffect as p, useLayoutEffect as m, useMemo as h, useReducer as g, useRef as _, useState as v } from "react";
@@ -2520,14 +2520,14 @@ function sr({ disabled: e = !1, children: t, sensors: n, collisionDetection: r =
2520
2520
  //#region lib/components/ui/collections/dnd/drag-handle.tsx
2521
2521
  function cr({ label: o, asSlot: s = !1, className: c, onClick: l, ...u }) {
2522
2522
  let { t: d } = r(), f = o ?? d("material.dnd.drag", "Drag"), p = ir(), m = p?.listeners, h = p?.attributes, g = p?.setActivatorNodeRef;
2523
- return s ? /* @__PURE__ */ a(t, {
2523
+ return s ? /* @__PURE__ */ a(e, {
2524
2524
  ref: g,
2525
2525
  "data-slot": "drag-handle",
2526
2526
  className: n("cursor-pointer", c),
2527
2527
  ...h,
2528
2528
  ...m,
2529
2529
  ...u
2530
- }) : /* @__PURE__ */ a(e, {
2530
+ }) : /* @__PURE__ */ a(t, {
2531
2531
  ref: g,
2532
2532
  type: "button",
2533
2533
  variant: "ghost",
@@ -2546,9 +2546,9 @@ function cr({ label: o, asSlot: s = !1, className: c, onClick: l, ...u }) {
2546
2546
  }
2547
2547
  //#endregion
2548
2548
  //#region lib/components/ui/collections/dnd/draggable.tsx
2549
- function lr({ id: e, data: r, disabled: i, asSlot: o = !1, className: s, style: c, ...l }) {
2549
+ function lr({ id: t, data: r, disabled: i, asSlot: o = !1, className: s, style: c, ...l }) {
2550
2550
  let { attributes: u, listeners: d, setNodeRef: f, setActivatorNodeRef: p, transform: m, isDragging: h } = mn({
2551
- id: e,
2551
+ id: t,
2552
2552
  data: r,
2553
2553
  disabled: i
2554
2554
  });
@@ -2559,7 +2559,7 @@ function lr({ id: e, data: r, disabled: i, asSlot: o = !1, className: s, style:
2559
2559
  isDragging: h,
2560
2560
  setActivatorNodeRef: p
2561
2561
  },
2562
- children: /* @__PURE__ */ a(o ? t : "div", {
2562
+ children: /* @__PURE__ */ a(o ? e : "div", {
2563
2563
  ref: f,
2564
2564
  "data-slot": "draggable",
2565
2565
  "data-dragging": h || void 0,
@@ -2577,16 +2577,16 @@ function lr({ id: e, data: r, disabled: i, asSlot: o = !1, className: s, style:
2577
2577
  }
2578
2578
  //#endregion
2579
2579
  //#region lib/components/ui/collections/dnd/draggable-droppable.tsx
2580
- function ur({ id: e, data: r, disabled: i, asSlot: o = !1, className: s, style: c, ...l }) {
2580
+ function ur({ id: t, data: r, disabled: i, asSlot: o = !1, className: s, style: c, ...l }) {
2581
2581
  let u = mn({
2582
- id: e,
2582
+ id: t,
2583
2583
  data: r,
2584
2584
  disabled: i
2585
2585
  }), d = vn({
2586
- id: e,
2586
+ id: t,
2587
2587
  data: r,
2588
2588
  disabled: i
2589
- }), f = o ? t : "div";
2589
+ }), f = o ? e : "div";
2590
2590
  return /* @__PURE__ */ a(rr, {
2591
2591
  value: {
2592
2592
  attributes: u.attributes,
@@ -2613,13 +2613,13 @@ function ur({ id: e, data: r, disabled: i, asSlot: o = !1, className: s, style:
2613
2613
  }
2614
2614
  //#endregion
2615
2615
  //#region lib/components/ui/collections/dnd/droppable.tsx
2616
- function dr({ id: e, data: r, disabled: i, asSlot: o = !1, className: s, ...c }) {
2616
+ function dr({ id: t, data: r, disabled: i, asSlot: o = !1, className: s, ...c }) {
2617
2617
  let { setNodeRef: l, isOver: u } = vn({
2618
- id: e,
2618
+ id: t,
2619
2619
  data: r,
2620
2620
  disabled: i
2621
2621
  });
2622
- return /* @__PURE__ */ a(o ? t : "div", {
2622
+ return /* @__PURE__ */ a(o ? e : "div", {
2623
2623
  ref: l,
2624
2624
  "data-slot": "droppable",
2625
2625
  "data-over": u || void 0,
@@ -2641,12 +2641,12 @@ function fr(e, t, n, r) {
2641
2641
  }
2642
2642
  //#endregion
2643
2643
  //#region lib/components/ui/collections/dnd/sortable.tsx
2644
- function pr({ id: e, data: r, disabled: i, asSlot: o = !1, handleOnly: s = !1, className: c, style: l, ...u }) {
2644
+ function pr({ id: t, data: r, disabled: i, asSlot: o = !1, handleOnly: s = !1, className: c, style: l, ...u }) {
2645
2645
  let d = $n({
2646
- id: e,
2646
+ id: t,
2647
2647
  data: r,
2648
2648
  disabled: i
2649
- }), f = o ? t : "div";
2649
+ }), f = o ? e : "div";
2650
2650
  return /* @__PURE__ */ a(rr, {
2651
2651
  value: {
2652
2652
  attributes: d.attributes,
@@ -1,4 +1,4 @@
1
- import { bt as e, gt as t } from "./icon-button-Dl9PDYCE.js";
1
+ import { bt as e, gt as t } from "./icon-button-BxySFfrr.js";
2
2
  import { d as n, i as r, n as i, t as a } from "./string-BqyOfyFV.js";
3
3
  import { n as o } from "./chunk-Y2CYZVJY-BAad7w_K.js";
4
4
  //#region ../../node_modules/d3-interpolate/src/transform/decompose.js
@@ -1,19 +1,19 @@
1
- import { n as e, t } from "./src-CJ8DNrI1.js";
2
- import { g as n, s as r } from "./chunk-ZIGJFQKS-HDJ6e6OJ.js";
1
+ import { n as e, t } from "./src-C9kQSo6K.js";
2
+ import { g as n, s as r } from "./chunk-ZIGJFQKS-C3xUAXJq.js";
3
3
  import { n as i } from "./chunk-Y2CYZVJY-BAad7w_K.js";
4
- import { H as a, U as o, a as s, et as c, q as l, s as u, v as d, w as f, x as p, y as m } from "./chunk-O7XYJQB3-C87zK8E5.js";
5
- import "./chunk-742MDFTN-nG_ROTnT.js";
6
- import "./chunk-MBY4JIJT-IA2XBafa.js";
7
- import "./chunk-7PRAP22T-DIiYRAce.js";
4
+ import { H as a, U as o, a as s, et as c, q as l, s as u, v as d, w as f, x as p, y as m } from "./chunk-O7XYJQB3-A66QSOPA.js";
5
+ import "./chunk-742MDFTN-Cs1qGiTK.js";
6
+ import "./chunk-MBY4JIJT-C3RQP_Nk.js";
7
+ import "./chunk-7PRAP22T-_Av9vcXz.js";
8
8
  import { a as h, i as g, o as _, r as v } from "./chunk-J5ZVWO5B-DmRRmhon.js";
9
- import "./chunk-7INBJB4K-Dg64CbhT.js";
10
- import "./chunk-5DYCD2WN-Bqi3iL5i.js";
11
- import "./chunk-Z7XXMR3K-vh8Pvgr_.js";
12
- import { t as y } from "./chunk-GWA4HPMP-CmsxMX3A.js";
13
- import { t as b } from "./chunk-XXDRQBXY-Bq4sFnO2.js";
14
- import { t as x } from "./chunk-WEXAMYUT-C-QP0DFq.js";
15
- import "./chunk-UA2S7LBM-B0LGFGu3.js";
16
- import { r as S, t as C } from "./chunk-GNY47TPC-CxWZwDbp.js";
9
+ import "./chunk-7INBJB4K-BY5n77ka.js";
10
+ import "./chunk-5DYCD2WN-Cja1INgd.js";
11
+ import "./chunk-Z7XXMR3K-dRJc1Z30.js";
12
+ import { t as y } from "./chunk-GWA4HPMP-Co-A6dtV.js";
13
+ import { t as b } from "./chunk-XXDRQBXY-FgXU14Bh.js";
14
+ import { t as x } from "./chunk-WEXAMYUT-CucJfehv.js";
15
+ import "./chunk-UA2S7LBM-BNeHeMx9.js";
16
+ import { r as S, t as C } from "./chunk-GNY47TPC-DLqgU2SJ.js";
17
17
  //#region ../../node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-v2-GCMORJYK.mjs
18
18
  var w = (function() {
19
19
  var e = /* @__PURE__ */ i(function(e, t, n, r) {
@@ -312,6 +312,7 @@ var e = {
312
312
  }
313
313
  },
314
314
  table: {
315
+ loading: "Loading data…",
315
316
  labels: {
316
317
  asc: "Asc",
317
318
  desc: "Desc",
@@ -704,7 +705,11 @@ var e = {
704
705
  invalid: "Enter a valid URL",
705
706
  open: "Open URL"
706
707
  },
707
- stepper: { step: "Step {step}" },
708
+ stepper: {
709
+ step: "Step {step}",
710
+ completed: "Completed",
711
+ error: "Error"
712
+ },
708
713
  "location-field": {
709
714
  placeholder: "No location selected",
710
715
  "dialog-title": "Choose a location",
@@ -1109,6 +1114,10 @@ var e = {
1109
1114
  "back-to-days": "Back to day view"
1110
1115
  },
1111
1116
  spinner: { loading: "Loading..." },
1117
+ slider: {
1118
+ minimum: "Minimum",
1119
+ maximum: "Maximum"
1120
+ },
1112
1121
  "scroll-to-top": { label: "Scroll to top" },
1113
1122
  map: {
1114
1123
  "you-are-here": "You are here",
@@ -1449,6 +1458,7 @@ var e = {
1449
1458
  }
1450
1459
  },
1451
1460
  table: {
1461
+ loading: "Chargement des données…",
1452
1462
  labels: {
1453
1463
  asc: "Asc",
1454
1464
  desc: "Desc",
@@ -1841,7 +1851,11 @@ var e = {
1841
1851
  invalid: "Saisissez une URL valide",
1842
1852
  open: "Ouvrir l’URL"
1843
1853
  },
1844
- stepper: { step: "Étape {step}" },
1854
+ stepper: {
1855
+ step: "Étape {step}",
1856
+ completed: "Terminée",
1857
+ error: "Erreur"
1858
+ },
1845
1859
  "location-field": {
1846
1860
  placeholder: "Aucun emplacement sélectionné",
1847
1861
  "dialog-title": "Choisir un emplacement",
@@ -2246,6 +2260,10 @@ var e = {
2246
2260
  "back-to-days": "Retour à la vue des jours"
2247
2261
  },
2248
2262
  spinner: { loading: "Chargement..." },
2263
+ slider: {
2264
+ minimum: "Minimum",
2265
+ maximum: "Maximum"
2266
+ },
2249
2267
  "scroll-to-top": { label: "Retour en haut" },
2250
2268
  map: {
2251
2269
  "you-are-here": "Vous êtes ici",
@@ -1,16 +1,16 @@
1
- import { n as e } from "./src-CJ8DNrI1.js";
2
- import "./chunk-ZIGJFQKS-HDJ6e6OJ.js";
1
+ import { n as e } from "./src-C9kQSo6K.js";
2
+ import "./chunk-ZIGJFQKS-C3xUAXJq.js";
3
3
  import { n as t } from "./chunk-Y2CYZVJY-BAad7w_K.js";
4
- import "./chunk-O7XYJQB3-C87zK8E5.js";
5
- import "./chunk-742MDFTN-nG_ROTnT.js";
6
- import "./chunk-MBY4JIJT-IA2XBafa.js";
7
- import "./chunk-7PRAP22T-DIiYRAce.js";
8
- import "./chunk-7INBJB4K-Dg64CbhT.js";
9
- import "./chunk-5DYCD2WN-Bqi3iL5i.js";
10
- import "./chunk-Z7XXMR3K-vh8Pvgr_.js";
11
- import "./chunk-UA2S7LBM-B0LGFGu3.js";
12
- import { r as n } from "./chunk-3FUC2YCW-DnIzetwB.js";
13
- import { t as r } from "./chunk-NETBCI7D-Cq92-0cA.js";
4
+ import "./chunk-O7XYJQB3-A66QSOPA.js";
5
+ import "./chunk-742MDFTN-Cs1qGiTK.js";
6
+ import "./chunk-MBY4JIJT-C3RQP_Nk.js";
7
+ import "./chunk-7PRAP22T-_Av9vcXz.js";
8
+ import "./chunk-7INBJB4K-BY5n77ka.js";
9
+ import "./chunk-5DYCD2WN-Cja1INgd.js";
10
+ import "./chunk-Z7XXMR3K-dRJc1Z30.js";
11
+ import "./chunk-UA2S7LBM-BNeHeMx9.js";
12
+ import { r as n } from "./chunk-3FUC2YCW-4gCRt6fO.js";
13
+ import { t as r } from "./chunk-NETBCI7D-CBowDvwz.js";
14
14
  //#region ../../node_modules/mermaid/dist/chunks/mermaid.core/swimlanes-2SLR337P.mjs
15
15
  function i(e, { measure: t }) {
16
16
  let n = e.config?.swimlane?.lineHops;
@@ -0,0 +1,28 @@
1
+ import "./src-C9kQSo6K.js";
2
+ import "./chunk-ZIGJFQKS-C3xUAXJq.js";
3
+ import { n as e } from "./chunk-Y2CYZVJY-BAad7w_K.js";
4
+ import "./chunk-O7XYJQB3-A66QSOPA.js";
5
+ import "./chunk-742MDFTN-Cs1qGiTK.js";
6
+ import "./chunk-MBY4JIJT-C3RQP_Nk.js";
7
+ import "./chunk-7PRAP22T-_Av9vcXz.js";
8
+ import "./chunk-7INBJB4K-BY5n77ka.js";
9
+ import "./chunk-5DYCD2WN-Cja1INgd.js";
10
+ import "./chunk-Z7XXMR3K-dRJc1Z30.js";
11
+ import "./chunk-GWA4HPMP-Co-A6dtV.js";
12
+ import "./chunk-XXDRQBXY-FgXU14Bh.js";
13
+ import "./chunk-WEXAMYUT-CucJfehv.js";
14
+ import "./chunk-UA2S7LBM-BNeHeMx9.js";
15
+ import "./chunk-GNY47TPC-DLqgU2SJ.js";
16
+ import "./chunk-LNGE3PJU-DJjGTS7O.js";
17
+ import { r as t, t as n } from "./chunk-7M6MHVWA-DnPXbiTM.js";
18
+ //#region ../../node_modules/mermaid/dist/chunks/mermaid.core/swimlanesDiagram-TC7HE7FX.mjs
19
+ var r = n({ styles: /* @__PURE__ */ e((e) => `${t(e)}
20
+ .swimlane.cluster:not([data-color-id]) rect {
21
+ stroke: ${e.clusterBorder} !important;
22
+ }
23
+ [data-look="neo"].cluster rect {
24
+ filter: none;
25
+ }
26
+ `, "getStyles") });
27
+ //#endregion
28
+ export { r as diagram };
@@ -1,9 +1,9 @@
1
- import { ct as e } from "./components-C3jpOwPw.js";
2
- import { n as t, t as n } from "./src-CJ8DNrI1.js";
3
- import { p as r } from "./chunk-ZIGJFQKS-HDJ6e6OJ.js";
1
+ import { ct as e } from "./components-CUkJhBwK.js";
2
+ import { n as t, t as n } from "./src-C9kQSo6K.js";
3
+ import { p as r } from "./chunk-ZIGJFQKS-C3xUAXJq.js";
4
4
  import { n as i, t as a } from "./chunk-Y2CYZVJY-BAad7w_K.js";
5
- import { Y as o, a as s, b as c, it as l, nt as u, o as d, tt as f, x as p } from "./chunk-O7XYJQB3-C87zK8E5.js";
6
- import { t as m } from "./chunk-6AEJRKK7-DDXoGWDs.js";
5
+ import { Y as o, a as s, b as c, it as l, nt as u, o as d, tt as f, x as p } from "./chunk-O7XYJQB3-A66QSOPA.js";
6
+ import { t as m } from "./chunk-6AEJRKK7-3YWRP4aV.js";
7
7
  import { i as h, n as g } from "./chunk-J5ZVWO5B-DmRRmhon.js";
8
8
  //#region ../../node_modules/mermaid/dist/chunks/mermaid.core/timeline-definition-EJHVYXUP.mjs
9
9
  var _ = (function() {
@@ -1,5 +1,5 @@
1
- import "./stored-language-BP90Ydtg.js";
2
- import { E as e, r as t } from "./translator-Cfug7hC5.js";
1
+ import "./stored-language-CeD7kHui.js";
2
+ import { E as e, r as t } from "./translator-B4zUVm7j.js";
3
3
  //#region lib/i18n/translate-material.ts
4
4
  function n(n, r, i, a) {
5
5
  if (n) for (let e of /* @__PURE__ */ new Set([n, n.split("-")[0]])) {
@@ -1,4 +1,4 @@
1
- import { a as e, i as t, o as n, t as r } from "./stored-language-BP90Ydtg.js";
1
+ import { a as e, i as t, o as n, t as r } from "./stored-language-CeD7kHui.js";
2
2
  //#region ../../node_modules/@formatjs/fast-memoize/index.js
3
3
  function i(e, t) {
4
4
  let n = t && t.cache ? t.cache : ne, r = t && t.serializer ? t.serializer : ee;
@@ -1,5 +1,5 @@
1
- import { n as e } from "./stored-language-BP90Ydtg.js";
2
- import { r as t } from "./i18n-provider-XTTU9ArK.js";
1
+ import { n as e } from "./stored-language-CeD7kHui.js";
2
+ import { r as t } from "./i18n-provider-Drsc2YXX.js";
3
3
  import { _ as n, g as r, h as i, n as a, v as o, y as s } from "./number.utils-BiBN2hWJ.js";
4
4
  import { useCallback as c, useEffect as l, useMemo as u, useSyncExternalStore as d } from "react";
5
5
  //#region lib/hooks/use-ssr-media-query.ts
@@ -1,5 +1,5 @@
1
- import { r as e } from "./i18n-provider-XTTU9ArK.js";
2
- import { t } from "./translate-material-Ctzt0Y2N.js";
1
+ import { r as e } from "./i18n-provider-Drsc2YXX.js";
2
+ import { t } from "./translate-material-DgRdhz5d.js";
3
3
  import { useCallback as n } from "react";
4
4
  //#region lib/i18n/use-material-translation.ts
5
5
  function r() {
@@ -1,18 +1,18 @@
1
- import { n as e, t } from "./src-CJ8DNrI1.js";
2
- import { g as n } from "./chunk-ZIGJFQKS-HDJ6e6OJ.js";
1
+ import { n as e, t } from "./src-C9kQSo6K.js";
2
+ import { g as n } from "./chunk-ZIGJFQKS-C3xUAXJq.js";
3
3
  import { n as r } from "./chunk-Y2CYZVJY-BAad7w_K.js";
4
- import { H as i, U as a, a as o, b as s, f as c, q as l, v as u, w as d, x as f, y as p, z as m } from "./chunk-O7XYJQB3-C87zK8E5.js";
5
- import "./chunk-742MDFTN-nG_ROTnT.js";
6
- import { i as h } from "./chunk-MBY4JIJT-IA2XBafa.js";
7
- import "./chunk-7PRAP22T-DIiYRAce.js";
4
+ import { H as i, U as a, a as o, b as s, f as c, q as l, v as u, w as d, x as f, y as p, z as m } from "./chunk-O7XYJQB3-A66QSOPA.js";
5
+ import "./chunk-742MDFTN-Cs1qGiTK.js";
6
+ import { i as h } from "./chunk-MBY4JIJT-C3RQP_Nk.js";
7
+ import "./chunk-7PRAP22T-_Av9vcXz.js";
8
8
  import { a as g, i as _, o as v, r as y } from "./chunk-J5ZVWO5B-DmRRmhon.js";
9
- import "./chunk-7INBJB4K-Dg64CbhT.js";
10
- import "./chunk-5DYCD2WN-Bqi3iL5i.js";
11
- import "./chunk-Z7XXMR3K-vh8Pvgr_.js";
12
- import { t as ee } from "./chunk-XXDRQBXY-Bq4sFnO2.js";
13
- import { t as te } from "./chunk-WEXAMYUT-C-QP0DFq.js";
14
- import "./chunk-UA2S7LBM-B0LGFGu3.js";
15
- import { r as ne, t as re } from "./chunk-GNY47TPC-CxWZwDbp.js";
9
+ import "./chunk-7INBJB4K-BY5n77ka.js";
10
+ import "./chunk-5DYCD2WN-Cja1INgd.js";
11
+ import "./chunk-Z7XXMR3K-dRJc1Z30.js";
12
+ import { t as ee } from "./chunk-XXDRQBXY-FgXU14Bh.js";
13
+ import { t as te } from "./chunk-WEXAMYUT-CucJfehv.js";
14
+ import "./chunk-UA2S7LBM-BNeHeMx9.js";
15
+ import { r as ne, t as re } from "./chunk-GNY47TPC-DLqgU2SJ.js";
16
16
  //#region ../../node_modules/chevrotain/node_modules/lodash-es/_freeGlobal.js
17
17
  var ie = typeof global == "object" && global && global.Object === Object && global, ae = typeof self == "object" && self && self.Object === Object && self, b = ie || ae || Function("return this")(), oe = b.Symbol, se = Object.prototype, ce = se.hasOwnProperty, le = se.toString, ue = oe ? oe.toStringTag : void 0;
18
18
  function de(e) {
@@ -1,8 +1,8 @@
1
- import { t as e } from "./src-CJ8DNrI1.js";
2
- import { i as t } from "./chunk-ZIGJFQKS-HDJ6e6OJ.js";
1
+ import { t as e } from "./src-C9kQSo6K.js";
2
+ import { i as t } from "./chunk-ZIGJFQKS-C3xUAXJq.js";
3
3
  import { n } from "./chunk-Y2CYZVJY-BAad7w_K.js";
4
- import { H as r, U as i, a, b as o, c as s, f as c, it as l, nt as u, q as d, rt as f, tt as p, v as m, w as h, y as g } from "./chunk-O7XYJQB3-C87zK8E5.js";
5
- import { t as _ } from "./chunk-6AEJRKK7-DDXoGWDs.js";
4
+ import { H as r, U as i, a, b as o, c as s, f as c, it as l, nt as u, q as d, rt as f, tt as p, v as m, w as h, y as g } from "./chunk-O7XYJQB3-A66QSOPA.js";
5
+ import { t as _ } from "./chunk-6AEJRKK7-3YWRP4aV.js";
6
6
  import { t as v } from "./rough.esm-Cvc79rxE.js";
7
7
  //#region ../../node_modules/khroma/dist/methods/transparentize.js
8
8
  var y = (e, t) => f(e, "a", -t), b = 1e-10;
@@ -1,9 +1,9 @@
1
- import { n as e } from "./src-CJ8DNrI1.js";
2
- import { i as t } from "./chunk-ZIGJFQKS-HDJ6e6OJ.js";
1
+ import { n as e } from "./src-C9kQSo6K.js";
2
+ import { i as t } from "./chunk-ZIGJFQKS-C3xUAXJq.js";
3
3
  import { n } from "./mermaid-parser.core-BXD_TD1T.js";
4
4
  import { n as r } from "./chunk-Y2CYZVJY-BAad7w_K.js";
5
- import { D as i, H as a, U as o, a as s, b as c, c as l, q as u, v as d, w as f, x as p, y as m } from "./chunk-O7XYJQB3-C87zK8E5.js";
6
- import { t as h } from "./chunk-6AEJRKK7-DDXoGWDs.js";
5
+ import { D as i, H as a, U as o, a as s, b as c, c as l, q as u, v as d, w as f, x as p, y as m } from "./chunk-O7XYJQB3-A66QSOPA.js";
6
+ import { t as h } from "./chunk-6AEJRKK7-3YWRP4aV.js";
7
7
  import { t as g } from "./chunk-JWPE2WC7-BGVSGRTC.js";
8
8
  //#region ../../node_modules/mermaid/dist/chunks/mermaid.core/wardleyDiagram-VNRHLVJA.mjs
9
9
  var _ = /* @__PURE__ */ r((e, t) => {
@@ -1,11 +1,11 @@
1
- import { at as e, rt as t, st as n } from "./components-C3jpOwPw.js";
2
- import { n as r } from "./src-CJ8DNrI1.js";
3
- import { i } from "./chunk-ZIGJFQKS-HDJ6e6OJ.js";
1
+ import { at as e, rt as t, st as n } from "./components-CUkJhBwK.js";
2
+ import { n as r } from "./src-C9kQSo6K.js";
3
+ import { i } from "./chunk-ZIGJFQKS-C3xUAXJq.js";
4
4
  import { n as a } from "./chunk-Y2CYZVJY-BAad7w_K.js";
5
- import { D as o, H as s, U as c, a as l, b as u, c as d, f, q as p, v as m, w as h, y as g, z as _ } from "./chunk-O7XYJQB3-C87zK8E5.js";
6
- import { t as v } from "./chunk-6AEJRKK7-DDXoGWDs.js";
7
- import "./chunk-742MDFTN-nG_ROTnT.js";
8
- import { t as y } from "./chunk-MBY4JIJT-IA2XBafa.js";
5
+ import { D as o, H as s, U as c, a as l, b as u, c as d, f, q as p, v as m, w as h, y as g, z as _ } from "./chunk-O7XYJQB3-A66QSOPA.js";
6
+ import { t as v } from "./chunk-6AEJRKK7-3YWRP4aV.js";
7
+ import "./chunk-742MDFTN-Cs1qGiTK.js";
8
+ import { t as y } from "./chunk-MBY4JIJT-C3RQP_Nk.js";
9
9
  //#region ../../node_modules/mermaid/dist/chunks/mermaid.core/xychartDiagram-PMCCYNJV.mjs
10
10
  var b = (function() {
11
11
  var e = /* @__PURE__ */ a(function(e, t, n, r) {
@@ -6,7 +6,7 @@ and language switches. Everything is imported from `@nxgt/material/components`.
6
6
 
7
7
  | | Component | What it does |
8
8
  | --- | --- | --- |
9
- | <img src="../previews/buttons-actions-button.webp" width="96" alt=""> | [Button](#button) | Five variants in seven colours, with a loading state |
9
+ | <img src="../previews/buttons-actions-button.webp" width="96" alt=""> | [Button](#button) | Five variants in seven colours and eight sizes, with a loading state |
10
10
  | <img src="../previews/buttons-actions-iconbutton.webp" width="96" alt=""> | [IconButton](#iconbutton) | Icon-only button with an optional tooltip |
11
11
  | <img src="../previews/buttons-actions-buttongroup.webp" width="96" alt=""> | [ButtonGroup](#buttongroup) | Joins adjacent buttons into one control |
12
12
  | <img src="../previews/buttons-actions-splitbutton.webp" width="96" alt=""> | [SplitButton](#splitbutton) | Main action plus a menu of secondary actions |
@@ -24,7 +24,7 @@ and language switches. Everything is imported from `@nxgt/material/components`.
24
24
 
25
25
  ![Button](../previews/buttons-actions-button.webp)
26
26
 
27
- Filled, tonal, outlined, ghost or link button in seven colours, with a loading state.
27
+ Filled, tonal, outlined, ghost or link button in seven colours, four sizes and four square icon sizes, with a loading state.
28
28
 
29
29
  ```tsx
30
30
  import { Button } from '@nxgt/material/components';
@@ -38,6 +38,10 @@ import { Mail } from 'lucide-react';
38
38
  Invite by email
39
39
  </Button>
40
40
  <Button loading>Saving</Button>
41
+ <Button size="sm">Small</Button>
42
+ <Button size="icon" aria-label="Email">
43
+ <Mail />
44
+ </Button>
41
45
  </>;
42
46
  ```
43
47
 
@@ -45,6 +49,7 @@ import { Mail } from 'lucide-react';
45
49
  | --- | --- | --- | --- |
46
50
  | `variant` | `'filled' \| 'tonal' \| 'outlined' \| 'ghost' \| 'link'` | `'filled'` | the style |
47
51
  | `color` | `'primary' \| 'secondary' \| 'success' \| 'info' \| 'warning' \| 'error' \| 'default'` | `'primary'` | the colour; `default` is the foreground colour |
52
+ | `size` | `'xs' \| 'sm' \| 'default' \| 'lg' \| 'icon-xs' \| 'icon-sm' \| 'icon' \| 'icon-lg'` | — | height: 24, 32, 36 and 40 px; the `icon*` sizes are square, for a button holding only an icon (give it an `aria-label`). Unset, the button keeps its content's height, as before sizes existed |
48
53
  | `loading` | `boolean` | — | shows a spinner and swallows clicks (the button stays focusable) |
49
54
  | `spinnerVariant` | `SpinnerProps['variant']` | `'2'` | which spinner `loading` shows |
50
55
  | `tooltip` | `string` | — | wraps the button in a `Tooltip` |
@@ -279,7 +284,7 @@ import { CopyButton, CopyValue } from '@nxgt/material/components';
279
284
 
280
285
  The check mark stays for 1.5 s.
281
286
 
282
- **Storybook:** `Buttons & actions/CopyButton` · **Vue:** `CopyButton`
287
+ **Storybook:** `Buttons & actions/CopyButton` · **Vue:** `CopyButton`, `CopyValue`
283
288
 
284
289
  ---
285
290
 
@@ -510,7 +510,7 @@ import { Markdown } from '@nxgt/material/components';
510
510
  Mermaid diagrams render in the browser only, after mount; on the server the
511
511
  fence is left empty.
512
512
 
513
- **Storybook:** `Data display/Markdown` · **Vue:** `Markdown`
513
+ **Storybook:** `Data display/Markdown` · **Vue:** `Markdown`, `MermaidDiagram`
514
514
 
515
515
  ---
516
516
 
@@ -23,7 +23,7 @@ each other, so either can be used alone.
23
23
 
24
24
  ![DataTable](../previews/data-table-filter-lists-datatable.webp)
25
25
 
26
- TanStack Table v9 with sorting, filtering, selection, expandable rows, pagination or load-more, and column visibility.
26
+ TanStack Table v9 with sorting, filtering, selection, expandable rows, pagination or load-more, column visibility, skeleton rows while loading and your own empty state.
27
27
 
28
28
  ```tsx
29
29
  import {
@@ -52,7 +52,8 @@ function PeopleTable({ people }: { people: Person[] }) {
52
52
 
53
53
  Parts: `DataTable`; `DataTableColumnHeader` (a sortable header with a hide
54
54
  action); `DataTablePagination` and `DataTableViewOptions` (used by the table,
55
- exported for a table of your own); `useColumnHelpers<T>()` returns a
55
+ exported for a table of your own; `DataTablePagination` takes `disabled`);
56
+ `useColumnHelpers<T>()` returns a
56
57
  `columnHelper` bound to the table's features and `predefinedColumns()` —
57
58
  `select` (checkboxes) and `expand` (a toggle for `renderExpandedRow`, named
58
59
  "Toggle row details" (`material.table.labels.toggle-row`) with `aria-expanded`);
@@ -71,6 +72,61 @@ table enables, for typing your own column defs.
71
72
  | `onLoadMore` / `isLoadingMore` | `() => void` / `boolean` | — | adds a "load more" button under the rows |
72
73
  | `options` | `{ showPage?: boolean; showSelected?: boolean }` | both `true` | parts of the footer |
73
74
  | `showHeader` | `boolean` | hidden on mobile | header row |
75
+ | `loading` | `boolean` | `false` | skeleton rows, or the current rows dimmed; `aria-busy`; controls disabled |
76
+ | `loadingRows` | `number` | the page size | how many skeleton rows |
77
+ | `empty` | `ReactNode \| ({ filtered }) => ReactNode` | icon and "No data available" | content of the empty row, spanning every visible column |
78
+
79
+ ### Loading and empty states
80
+
81
+ ```tsx
82
+ import { DataTable, useColumnHelpers } from '@nxgt/material/components';
83
+
84
+ type Person = { id: string; name: string; email: string };
85
+
86
+ function PeopleTable({
87
+ people,
88
+ isFetching,
89
+ }: {
90
+ people: Person[];
91
+ isFetching: boolean;
92
+ }) {
93
+ const { columnHelper } = useColumnHelpers<Person>();
94
+ const columns = [
95
+ columnHelper.accessor('name', { header: 'Name' }),
96
+ columnHelper.accessor('email', { header: 'Email' }),
97
+ ];
98
+
99
+ return (
100
+ <DataTable
101
+ data={people}
102
+ columns={columns}
103
+ loading={isFetching}
104
+ loadingRows={5}
105
+ empty={({ filtered }) =>
106
+ filtered ? 'No person matches these filters.' : 'No people yet.'
107
+ }
108
+ />
109
+ );
110
+ }
111
+ ```
112
+
113
+ While `loading` is `true`, the table is `aria-busy` and a visually
114
+ hidden status says "Loading data…" (`material.table.loading`). With no row to
115
+ show, the body is `loadingRows` skeleton rows (default: the page size), one
116
+ cell per visible column. With rows already shown — a refresh — the rows stay
117
+ where they are, dimmed and `inert`, rather than being swapped for
118
+ skeletons: the table keeps its height, so nothing below it jumps when the data
119
+ arrives. Sorting (`DataTableColumnHeader`), the `select` column's "Select
120
+ all", the toolbar's native controls (it
121
+ is a disabled `<fieldset>`, so every input or button you render there, a
122
+ filter or an export, is disabled
123
+ too) and pagination are disabled meanwhile.
124
+
125
+ When no row is left after filtering, the empty state is one `TableEmpty`
126
+ cell spanning every visible column: today's icon and "No data available" by
127
+ default, or your own content, told whether rows exist but none matches the
128
+ filters (`filtered`); content that renders nothing gets the default.
129
+ `DataTableEmpty` and `DataTableEmptyState` type the prop and its argument.
74
130
 
75
131
  For the TanStack API itself (column helpers, features, row models), see
76
132
  [TanStack Table v9](https://tanstack.com/table/latest).
@@ -116,7 +172,10 @@ const schema: FilterSchema = {
116
172
  A field's `type` is one of `text`, `number`, `select`, `multi-select`, `date`,
117
173
  `date-range`, `number-range`, `checkbox-group`, `radio-group`,
118
174
  `chips-multiple`, `chips-single`, `slider`, `slider-range`, `switch` or
119
- `custom`; `schema.groups` puts fields in collapsible sections.
175
+ `custom`; `schema.groups` puts fields in collapsible sections. A
176
+ `number-range` or `slider-range` is a `role="group"` named by its `label`,
177
+ with its inputs named by their part ("Min" / "Max", or the slider's
178
+ "<label> Minimum" / "<label> Maximum"): `getByRole('group', { name: 'Price' })`.
120
179
 
121
180
  Parts: `Filter` (one component, `variant` picks the layout);
122
181
  `FilterProvider` + `FilterContent` + `FilterActions` to lay the panel out
@@ -174,9 +233,39 @@ import { PaginationBar } from '@nxgt/material/components';
174
233
  <PaginationBar page={page} pageCount={12} onPageChange={setPage} />
175
234
  ```
176
235
 
236
+ ```tsx
237
+ import {
238
+ Pagination,
239
+ PaginationContent,
240
+ PaginationFirst,
241
+ PaginationItem,
242
+ PaginationLast,
243
+ PaginationLink,
244
+ } from '@nxgt/material/components';
245
+
246
+ <Pagination>
247
+ <PaginationContent>
248
+ <PaginationItem>
249
+ <PaginationFirst href="?page=1" />
250
+ </PaginationItem>
251
+ <PaginationItem>
252
+ <PaginationLink href="?page=2" isActive>
253
+ 2
254
+ </PaginationLink>
255
+ </PaginationItem>
256
+ <PaginationItem>
257
+ <PaginationLast href="?page=12" />
258
+ </PaginationItem>
259
+ </PaginationContent>
260
+ </Pagination>;
261
+ ```
262
+
177
263
  Parts: `Pagination`, `PaginationContent`, `PaginationItem`,
178
- `PaginationLink` (`isActive`), `PaginationPrevious`, `PaginationNext`,
179
- `PaginationEllipsis` for link-based pagination; `PaginationBar` for the
264
+ `PaginationLink` (`isActive`), `PaginationFirst`, `PaginationPrevious`,
265
+ `PaginationNext`, `PaginationLast`, `PaginationEllipsis` for link-based
266
+ pagination (first / previous / next / last take an optional `label` and
267
+ `icon`; their names are translated, `material.pagination.*`, and the text
268
+ hides below `sm`); `PaginationBar` for the
180
269
  stateful one; `paginationItems(page, pageCount, siblingCount)` for the
181
270
  window alone.
182
271
 
@@ -188,7 +277,7 @@ window alone.
188
277
  | `siblingCount` | `number` | `1` | pages shown on each side of the current one |
189
278
  | `disabled` | `boolean` | — | disables every button |
190
279
 
191
- **Storybook:** `Data table, filter & lists/Pagination` · **Vue:** `Pagination` (parts), `PaginationFirst`, `PaginationLast`
280
+ **Storybook:** `Data table, filter & lists/Pagination` · **Vue:** `Pagination` (parts), `PaginationFirst`, `PaginationLast`, `PaginationLink`, `PaginationBar`, `paginationItems`
192
281
 
193
282
  ---
194
283
 
@@ -415,7 +415,7 @@ toasts.dismiss(id);
415
415
  | --- | --- | --- | --- |
416
416
  | `title` / `description` | `ReactNode` | preset title for `success`, `error`, `loading` | toast text |
417
417
  | `icon` | `ReactNode` (`toast`) · icon name (`toasts.custom`) | preset icon | leading icon |
418
- | `action` | `{ label, onClick? }` or `(dismiss) => ReactNode` | a translated “Close” for `success`, `info`, `error` | trailing button |
418
+ | `action` | `ToastAction`: `{ label, onClick? }` or `(dismiss) => ReactNode` | a translated “Close” for `success`, `info`, `error` | trailing button: `onClick`, then the toast closes; or what the function renders, given `dismiss` |
419
419
  | `options` | Sonner `ExternalToast` | `duration: 5000` for presets, `Infinity` for `loading` | passed to Sonner (`id`, `duration`, `position`…) |
420
420
 
421
421
  The toast id defaults to the title, so two toasts with the same title
@@ -423,7 +423,8 @@ replace each other; pass `options: { id }` to show both. `Toaster` is Sonner's
423
423
  and takes its props (`position`, `expand`, `richColors`…). `Toast` is the
424
424
  component each toast renders, for use with `sonnerToast.custom`.
425
425
 
426
- **Storybook:** `Feedback & status/Toast` · **Vue:** `Toaster`, `toast`, `toasts`, `Toast`
426
+ **Types:** `ToastAction`, `ToastProps`, `ToastMethodProps`.
427
+ **Storybook:** `Feedback & status/Toast` · **Vue:** `Toaster`, `toast`, `toasts`, `Toast` (`ToastAction` type)
427
428
 
428
429
  ---
429
430