@nxgt/material 2.4.2 → 2.6.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 (210) hide show
  1. package/README.md +28 -21
  2. package/dist/{_Uint8Array-DEXn42kj.js → _Uint8Array-CDlDeQmw.js} +1 -1
  3. package/dist/_overRest-CWIWQwDJ.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-Qoen0Mqm.js} +164 -93
  7. package/dist/{blockDiagram-BEXU5L5S-CzgMFdtn.js → blockDiagram-BEXU5L5S-_6EVgQ2-.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-CRQHl-Jx.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-DqXpf6CM.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-BgMsLbCS.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-CsyH43bj.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-CoCjTVVx.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-j4vk04t-.js} +14 -14
  29. package/dist/{components-C3jpOwPw.js → components-C3wIUrWw.js} +26931 -25668
  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-DXq_YBNL.js} +572 -613
  34. package/dist/{diagram-22UHCM2B-BvH24G-C.js → diagram-22UHCM2B-He8NDldw.js} +15 -15
  35. package/dist/{diagram-3UASUU5V-DAKVPT0Q.js → diagram-3UASUU5V-CeILva4U.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-DFn4kTey.js} +13 -13
  45. package/dist/{erDiagram-OPXOYQCR-DTrqayuU.js → erDiagram-OPXOYQCR-BzVUcUwh.js} +14 -14
  46. package/dist/{field-blur-EUOqpHbF.js → field-blur-BlrE9fOD.js} +1109 -1083
  47. package/dist/flowDiagram-KWPJA3E3-B4pJCj2Q.js +17 -0
  48. package/dist/{ganttDiagram-FUAMR5RP-DxWSt8R4.js → ganttDiagram-FUAMR5RP-B4A4UFFi.js} +6 -6
  49. package/dist/{gitGraphDiagram-X574FWY7-DcGaPSwy.js → gitGraphDiagram-X574FWY7-80yOq8dE.js} +3 -3
  50. package/dist/{graphlib-BOTXrGOf.js → graphlib-CQ3hLS1N.js} +103 -139
  51. package/dist/hooks.js +2 -2
  52. package/dist/{i18n-provider-XTTU9ArK.js → i18n-provider-CbYD2KxP.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-5rnYwEK7.js +28 -0
  57. package/dist/isEmpty-DChvniYe.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-C91SPPkY.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/collections/tree/use-tree.d.ts +2 -0
  77. package/dist/lib/components/ui/dates/date-range-field/date-range-field-trigger.d.ts +1 -1
  78. package/dist/lib/components/ui/dates/date-range-field/date-range-field.d.ts +10 -1
  79. package/dist/lib/components/ui/dates/date-range-field/date-range-field.utils.d.ts +13 -0
  80. package/dist/lib/components/ui/dates/date-range-field/index.d.ts +1 -0
  81. package/dist/lib/components/ui/dates/date-range-field/partials/date-range-field-content.d.ts +25 -0
  82. package/dist/lib/components/ui/dates/date-range-field/partials/date-range-presets.d.ts +11 -0
  83. package/dist/lib/components/ui/dates/date-range-field/partials/date-range-times.d.ts +11 -0
  84. package/dist/lib/components/ui/dates/date-range-field/use-date-range-presets.d.ts +22 -0
  85. package/dist/lib/components/ui/dates/time-picker/time-picker-utils.d.ts +7 -0
  86. package/dist/lib/components/ui/display/chip/chip.d.ts +1 -1
  87. package/dist/lib/components/ui/feedback/toast/toast.d.ts +9 -4
  88. package/dist/lib/components/ui/fields/number-field/number-field.d.ts +3 -1
  89. package/dist/lib/components/ui/fields/otp-field/index.d.ts +1 -0
  90. package/dist/lib/components/ui/fields/otp-field/input-otp.d.ts +1 -1
  91. package/dist/lib/components/ui/fields/slider/slider-header.d.ts +19 -0
  92. package/dist/lib/components/ui/fields/slider/slider-readout.d.ts +5 -1
  93. package/dist/lib/components/ui/fields/slider/slider.d.ts +7 -0
  94. package/dist/lib/components/ui/fields/switch/switch.d.ts +7 -0
  95. package/dist/lib/components/ui/layout/stepper/stepper-step.d.ts +17 -0
  96. package/dist/lib/components/ui/media/camera/camera-content.d.ts +1 -2
  97. package/dist/lib/components/ui/media/camera/camera-context.d.ts +4 -0
  98. package/dist/lib/components/ui/media/camera/camera-provider.d.ts +2 -0
  99. package/dist/lib/components/ui/media/camera/camera.d.ts +6 -3
  100. package/dist/lib/components/ui/media/camera/capture-photo.d.ts +13 -0
  101. package/dist/lib/components/ui/media/camera/index.d.ts +9 -1
  102. package/dist/lib/components/ui/media/camera/state/camera.reducers.d.ts +1 -1
  103. package/dist/lib/components/ui/media/camera/state/camera.slice.d.ts +4 -9
  104. package/dist/lib/components/ui/media/camera/state/camera.store.d.ts +11 -5
  105. package/dist/lib/components/ui/media/camera/state/camera.thunks.d.ts +4 -4
  106. package/dist/lib/components/ui/media/camera/types.d.ts +19 -9
  107. package/dist/lib/components/ui/media/camera/use-camera.d.ts +5 -11
  108. package/dist/lib/components/ui/media/camera/utils/camera.utils.d.ts +0 -1
  109. package/dist/lib/components/ui/media/file-preview/file-preview-pdf.lazy.d.ts +9 -0
  110. package/dist/lib/components/ui/media/file-preview/file-preview.d.ts +12 -0
  111. package/dist/lib/components/ui/media/file-preview/index.d.ts +3 -0
  112. package/dist/lib/components/ui/media/file-preview/partials/file-preview-body.d.ts +9 -0
  113. package/dist/lib/components/ui/media/file-preview/partials/file-preview-card.d.ts +20 -0
  114. package/dist/lib/components/ui/media/file-preview/partials/file-preview-media.d.ts +11 -0
  115. package/dist/lib/components/ui/media/file-preview/partials/file-preview-pdf.d.ts +10 -0
  116. package/dist/lib/components/ui/media/file-preview/partials/file-preview-status.d.ts +17 -0
  117. package/dist/lib/components/ui/media/file-preview/partials/file-preview-text.d.ts +13 -0
  118. package/dist/lib/components/ui/media/file-preview/types.d.ts +23 -0
  119. package/dist/lib/components/ui/media/file-preview/use-file-preview.d.ts +22 -0
  120. package/dist/lib/components/ui/media/file-preview/use-text-preview.d.ts +15 -0
  121. package/dist/lib/components/ui/media/index.d.ts +2 -0
  122. package/dist/lib/components/ui/media/upload/network-upload-field/use-image-preview.d.ts +6 -0
  123. package/dist/lib/components/ui/overlays/dialog/dialog-outside.d.ts +5 -0
  124. package/dist/lib/components/ui/overlays/dialog/dialog-scroll-content.d.ts +9 -0
  125. package/dist/lib/components/ui/overlays/dialog/index.d.ts +1 -0
  126. package/dist/lib/components/ui/primitives/icon/icon-context.d.ts +1 -1
  127. package/dist/lib/components/ui/primitives/table/table.d.ts +6 -1
  128. package/dist/lib/components/ui/selection/index.d.ts +2 -0
  129. package/dist/lib/components/ui/selection/native-select/index.d.ts +1 -0
  130. package/dist/lib/components/ui/selection/native-select/native-select.d.ts +11 -0
  131. package/dist/lib/components/ui/selection/radio-group/radio-group.d.ts +8 -1
  132. package/dist/lib/components/ui/selection/tree-select-field/index.d.ts +2 -0
  133. package/dist/lib/components/ui/selection/tree-select-field/partials/tree-select-content.d.ts +13 -0
  134. package/dist/lib/components/ui/selection/tree-select-field/partials/tree-select-panel.d.ts +19 -0
  135. package/dist/lib/components/ui/selection/tree-select-field/partials/tree-select-trigger.d.ts +24 -0
  136. package/dist/lib/components/ui/selection/tree-select-field/tree-select-field.d.ts +9 -0
  137. package/dist/lib/components/ui/selection/tree-select-field/tree-select-form-field.d.ts +8 -0
  138. package/dist/lib/components/ui/selection/tree-select-field/tree-select.utils.d.ts +35 -0
  139. package/dist/lib/components/ui/selection/tree-select-field/types.d.ts +37 -0
  140. package/dist/lib/components/ui/selection/tree-select-field/use-tree-select-field.d.ts +20 -0
  141. package/dist/lib/i18n/resources/en/en.d.ts +40 -0
  142. package/dist/lib/i18n/resources/en/material.json.d.ts +43 -3
  143. package/dist/lib/i18n/resources/fr/fr.d.ts +40 -0
  144. package/dist/lib/i18n/resources/fr/material.json.d.ts +43 -3
  145. package/dist/lib/i18n/resources/resources.d.ts +80 -0
  146. package/dist/lib/i18n/translator.d.ts +1 -1
  147. package/dist/lib/lib/redux/status-slice.d.ts +1 -1
  148. package/dist/lib.js +295 -4
  149. package/dist/main.js +16 -16
  150. package/dist/map.js +5 -5
  151. package/dist/material.css +1 -1
  152. package/dist/merge-_Awk4ywA.js +156 -0
  153. package/dist/{mermaid.core-BGAQ3ZAZ.js → mermaid.core-DciYB1MV.js} +49 -49
  154. package/dist/{mindmap-definition-NLK3R4M7-HIqs4Eil.js → mindmap-definition-NLK3R4M7-Brf_2jIE.js} +13 -13
  155. package/dist/{pegDiagram-GJSIUBJH-Dcm3LCQX.js → pegDiagram-GJSIUBJH-CAO6aYvj.js} +4 -4
  156. package/dist/{pieDiagram-5QR66LMP-DQ6djEkW.js → pieDiagram-5QR66LMP-MPh-EWf-.js} +5 -5
  157. package/dist/print.js +2 -2
  158. package/dist/{quadrantDiagram-O4NWA36T-yUWorB72.js → quadrantDiagram-O4NWA36T-CwDeE9KB.js} +3 -3
  159. package/dist/{railroadDiagram-XR7U4H2S-CzOJlTUA.js → railroadDiagram-XR7U4H2S-DmKDXg8V.js} +4 -4
  160. package/dist/{requirementDiagram-PLB6GJNP-Cs5-8Nro.js → requirementDiagram-PLB6GJNP-CCP3YtvB.js} +13 -13
  161. package/dist/{sankeyDiagram-IPEJSGJF-CCqxyVoj.js → sankeyDiagram-IPEJSGJF-vgVchd2a.js} +3 -3
  162. package/dist/{sequenceDiagram-PO4LG4MO-DMLeIQ03.js → sequenceDiagram-PO4LG4MO-B2qb55A5.js} +5 -5
  163. package/dist/{sortable-provider-DuRzFvwe.js → sortable-provider-CzSnl6It.js} +17 -17
  164. package/dist/{src-CJ8DNrI1.js → src-C9kQSo6K.js} +1 -1
  165. package/dist/{stateDiagram-v2-GCMORJYK-D-8sLHg8.js → stateDiagram-v2-GCMORJYK-T-oIXh-8.js} +14 -14
  166. package/dist/{stored-language-BP90Ydtg.js → stored-language-DmUUhRb5.js} +90 -6
  167. package/dist/{swimlanes-2SLR337P-DM_lDm6v.js → swimlanes-2SLR337P-tW3_wBWO.js} +12 -12
  168. package/dist/swimlanesDiagram-TC7HE7FX-B1lWzHp1.js +28 -0
  169. package/dist/{timeline-definition-EJHVYXUP-D3Tz-JnK.js → timeline-definition-EJHVYXUP-SdA6wt2-.js} +5 -5
  170. package/dist/{translate-material-Ctzt0Y2N.js → translate-material-DuY12xca.js} +2 -2
  171. package/dist/{translator-Cfug7hC5.js → translator-CaIYjyFP.js} +1 -1
  172. package/dist/{use-heading-spy-DtVo2HBk.js → use-heading-spy-Crdz4OH5.js} +2 -2
  173. package/dist/{use-material-translation-CJswHOmK.js → use-material-translation-Od0QsFPA.js} +2 -2
  174. package/dist/{usecaseDiagram-POWQR4AR-Cxx8PDrr.js → usecaseDiagram-POWQR4AR-B3rBcR4E.js} +13 -13
  175. package/dist/{vennDiagram-UO4OBE2U-Aql8mhcy.js → vennDiagram-UO4OBE2U-CO0yFCI8.js} +4 -4
  176. package/dist/{wardleyDiagram-VNRHLVJA-tknlhG_t.js → wardleyDiagram-VNRHLVJA-QkwghAYo.js} +4 -4
  177. package/dist/{xychartDiagram-PMCCYNJV-CM0QlWD5.js → xychartDiagram-PMCCYNJV-stQWLgCx.js} +7 -7
  178. package/docs/components/README.md +2 -1
  179. package/docs/components/buttons-and-actions.md +8 -3
  180. package/docs/components/data-display.md +4 -4
  181. package/docs/components/data-table-filter-and-lists.md +100 -6
  182. package/docs/components/date-and-time.md +106 -6
  183. package/docs/components/feedback-and-status.md +4 -3
  184. package/docs/components/form-fields.md +55 -5
  185. package/docs/components/media-and-files.md +117 -8
  186. package/docs/components/navigation-and-layout.md +6 -1
  187. package/docs/components/overlays-and-menus.md +27 -2
  188. package/docs/components/primitives.md +34 -3
  189. package/docs/components/rich-widgets.md +1 -1
  190. package/docs/components/selection-and-choice.md +111 -8
  191. package/docs/guides/forms.md +2 -1
  192. package/docs/guides/i18n.md +58 -9
  193. package/docs/guides/ssr.md +3 -1
  194. package/docs/previews/date-time-daterangefield.webp +0 -0
  195. package/docs/previews/media-files-camera.webp +0 -0
  196. package/docs/previews/media-files-filepreview.webp +0 -0
  197. package/docs/previews/navigation-layout-stepper.webp +0 -0
  198. package/docs/previews/selection-choice-treeselectfield.webp +0 -0
  199. package/docs/roadmap.md +42 -3
  200. package/docs/troubleshooting.md +167 -0
  201. package/package.json +2 -2
  202. package/dist/flowDiagram-KWPJA3E3-B8Isvcc5.js +0 -17
  203. package/dist/isArrayLikeObject-CCJDO2RL.js +0 -86
  204. package/dist/lib/components/ui/fields/slider/slider-ticks.d.ts +0 -1
  205. package/dist/lib/components/ui/media/camera/camera.provider.d.ts +0 -6
  206. package/dist/lib/components/ui/media/camera/state/index.d.ts +0 -2
  207. package/dist/lib/components/ui/media/camera/utils/index.d.ts +0 -1
  208. package/dist/lib-DIj5dvbb.js +0 -367
  209. package/dist/merge-Dm-kHFxo.js +0 -172
  210. package/dist/swimlanesDiagram-TC7HE7FX-CbV1TsML.js +0 -28
@@ -0,0 +1,9 @@
1
+ import { Dialog as DialogPrimitive } from 'radix-ui';
2
+ import { ComponentProps } from 'react';
3
+ /**
4
+ * A dialog content for a dialog taller than the screen: the overlay scrolls,
5
+ * and the content sits in it with a margin, instead of being clipped at the
6
+ * viewport. It renders its own close button (top right).
7
+ */
8
+ declare function DialogScrollContent({ className, children, onInteractOutside, onPointerDownOutside, onFocusOutside, onOpenAutoFocus, onCloseAutoFocus, ...props }: ComponentProps<typeof DialogPrimitive.Content>): import("react").JSX.Element;
9
+ export { DialogScrollContent };
@@ -1 +1,2 @@
1
1
  export * from './dialog';
2
+ export * from './dialog-scroll-content';
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * `true` inside a control that already carries an accessible name — a named
3
3
  * `IconButton`, and so `InputGroupButton` and `IconLinkButton`, which render
4
- * one. An `Icon` there with no `aria-label` of its own renders
4
+ * one, and a `Button` with text or an `aria-label`. An `Icon` there with no `aria-label` of its own renders
5
5
  * `aria-hidden="true"` instead of `role="img" aria-label="Icon {name}"`, so a
6
6
  * screen reader reads "Delete" and not "Delete, Icon trash".
7
7
  *
@@ -6,5 +6,10 @@ declare function TableFooter({ className, ...props }: ComponentProps<'tfoot'>):
6
6
  declare function TableRow({ className, ...props }: ComponentProps<'tr'>): import("react").JSX.Element;
7
7
  declare function TableHead({ className, ...props }: ComponentProps<'th'>): import("react").JSX.Element;
8
8
  declare function TableCell({ className, ...props }: ComponentProps<'td'>): import("react").JSX.Element;
9
+ /**
10
+ * A full-width row for "nothing here": one cell spanning `colSpan` columns
11
+ * (default 1), its content centred.
12
+ */
13
+ declare function TableEmpty({ className, colSpan, children, ...props }: ComponentProps<'td'>): import("react").JSX.Element;
9
14
  declare function TableCaption({ className, ...props }: ComponentProps<'caption'>): import("react").JSX.Element;
10
- export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, };
15
+ export { Table, TableBody, TableCaption, TableCell, TableEmpty, TableFooter, TableHead, TableHeader, TableRow, };
@@ -4,6 +4,7 @@ export * from './checkbox';
4
4
  export * from './checkbox-group';
5
5
  export * from './combobox';
6
6
  export * from './combobox-field';
7
+ export * from './native-select';
7
8
  export * from './radio-group';
8
9
  export * from './select';
9
10
  export * from './select-card-field';
@@ -12,3 +13,4 @@ export * from './select-field';
12
13
  export * from './sortable-list';
13
14
  export * from './switcher';
14
15
  export * from './transfer-list';
16
+ export * from './tree-select-field';
@@ -0,0 +1 @@
1
+ export * from './native-select';
@@ -0,0 +1,11 @@
1
+ import { ComponentProps } from 'react';
2
+ export type NativeSelectProps = ComponentProps<'select'>;
3
+ /**
4
+ * The browser's own `<select>`, styled like the library's inputs, with a
5
+ * chevron. `value` / `defaultValue` / `onChange` and every other attribute go
6
+ * to the `<select>`; `className` too, the wrapper only positions the chevron.
7
+ */
8
+ declare function NativeSelect({ className, ...props }: NativeSelectProps): import("react").JSX.Element;
9
+ declare function NativeSelectOption({ className, ...props }: ComponentProps<'option'>): import("react").JSX.Element;
10
+ declare function NativeSelectOptGroup({ className, ...props }: ComponentProps<'optgroup'>): import("react").JSX.Element;
11
+ export { NativeSelect, NativeSelectOptGroup, NativeSelectOption };
@@ -13,4 +13,11 @@ export type RadioGroupProps = {
13
13
  declare function RadioGroup({ options, label, helperText, error, orientation, className, id, ...props }: RadioGroupProps): import("react").JSX.Element;
14
14
  declare function RadioGroupBase({ className, ...props }: ComponentProps<typeof RadioGroupPrimitive.Root>): import("react").JSX.Element;
15
15
  declare function RadioGroupItem({ className, ...props }: ComponentProps<typeof RadioGroupPrimitive.Item>): import("react").JSX.Element;
16
- export { RadioGroup, RadioGroupBase, RadioGroupItem };
16
+ /**
17
+ * The labelled `RadioGroup` under `@nxgt/material-vue`'s name, so code reads
18
+ * the same in both libraries. Same component, same props. The names align
19
+ * fully in 3.0; `RadioGroup` is not deprecated.
20
+ */
21
+ declare const RadioGroupField: typeof RadioGroup;
22
+ export type RadioGroupFieldProps = RadioGroupProps;
23
+ export { RadioGroup, RadioGroupBase, RadioGroupField, RadioGroupItem };
@@ -0,0 +1,2 @@
1
+ export * from './tree-select-field';
2
+ export * from './tree-select-form-field';
@@ -0,0 +1,13 @@
1
+ import { useTreeSelectField } from '../use-tree-select-field';
2
+ export type TreeSelectContentProps = {
3
+ field: ReturnType<typeof useTreeSelectField>;
4
+ multiple?: boolean;
5
+ searchable?: boolean;
6
+ searchPlaceholder?: string;
7
+ /** Names the popover: the label's id when there is one, else the trigger's. */
8
+ labelledBy: string;
9
+ /** Names the tree: the field's label text. */
10
+ treeLabel?: string;
11
+ };
12
+ /** The popover under the field: the optional filter, then the tree. */
13
+ export declare function TreeSelectContent({ field, multiple, searchable, searchPlaceholder, labelledBy, treeLabel, }: TreeSelectContentProps): import("react").JSX.Element;
@@ -0,0 +1,19 @@
1
+ import { TreeNode } from '../../../collections/tree/types';
2
+ export type TreeSelectPanelProps = {
3
+ nodes: TreeNode[];
4
+ multiple?: boolean;
5
+ selectedIds: string[];
6
+ expandedIds: string[];
7
+ onExpandedIdsChange: (ids: string[]) => void;
8
+ onSelectedIdsChange: (ids: string[]) => void;
9
+ onSelect: (id: string) => void;
10
+ /** Names the tree: the field's label text. */
11
+ treeLabel?: string;
12
+ searchable?: boolean;
13
+ query: string;
14
+ onQueryChange: (query: string) => void;
15
+ searchLabel: string;
16
+ emptyText: string;
17
+ };
18
+ /** What the popover holds: the optional filter input, then the tree. */
19
+ export declare function TreeSelectPanel({ nodes, multiple, selectedIds, expandedIds, onExpandedIdsChange, onSelectedIdsChange, onSelect, treeLabel, searchable, query, onQueryChange, searchLabel, emptyText, }: TreeSelectPanelProps): import("react").JSX.Element;
@@ -0,0 +1,24 @@
1
+ import { ComponentProps } from 'react';
2
+ import { TreeNode } from '../../../collections/tree/types';
3
+ export type TreeSelectTriggerProps = {
4
+ open: boolean;
5
+ multiple?: boolean;
6
+ disabled?: boolean;
7
+ error?: boolean;
8
+ name?: string;
9
+ /** What the button shows while nothing is picked. */
10
+ placeholder: string;
11
+ /** What the button shows in multiple mode once something is picked. */
12
+ countText: string;
13
+ selectedNodes: TreeNode[];
14
+ onRemove: (id: string) => void;
15
+ /** The combobox's role, name, description and id (`pickerTriggerA11y`). */
16
+ a11y: ComponentProps<'button'>;
17
+ };
18
+ /**
19
+ * The field's box: in multiple mode, a chip per picked node, then the
20
+ * `combobox` button that opens the tree. The chips sit beside the button, not
21
+ * in it — a chip's remove button may not be nested in another button — and the
22
+ * box is the popover's anchor, so the tree opens under all of it.
23
+ */
24
+ export declare function TreeSelectTrigger({ open, multiple, disabled, error, name, placeholder, countText, selectedNodes, onRemove, a11y, }: TreeSelectTriggerProps): import("react").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { TreeSelectFieldProps } from './types';
2
+ export type { TreeSelectFieldBaseProps, TreeSelectFieldMultipleProps, TreeSelectFieldProps, TreeSelectFieldSingleProps, } from './types';
3
+ /**
4
+ * A form field that opens a `Tree` in a popover. Single: a pick closes it and
5
+ * the trigger shows the node. Multiple: checkboxes, the picks as chips.
6
+ * The trigger is a `combobox`; Escape closes and hands focus back to it.
7
+ * `id`, `aria-describedby` and `data-*` attributes go on the trigger.
8
+ */
9
+ export declare function TreeSelectField(props: TreeSelectFieldProps): import("react").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { UseControllerProps } from 'react-hook-form';
2
+ import { TreeSelectFieldBaseProps } from './types';
3
+ export type TreeSelectFormFieldProps<T extends Record<string, any>> = Pick<UseControllerProps<T>, 'control' | 'name'> & Omit<TreeSelectFieldBaseProps, 'name'> & {
4
+ /** The form value is a list of ids when set, else one id (or `null`). */
5
+ multiple?: boolean;
6
+ };
7
+ /** `TreeSelectField` bound to react-hook-form: touched when focus leaves it. */
8
+ export declare function TreeSelectFormField<T extends Record<string, any>>({ control, name, multiple, ...props }: TreeSelectFormFieldProps<T>): import("react").JSX.Element;
@@ -0,0 +1,35 @@
1
+ import { TreeNode } from '../../collections/tree/types';
2
+ /** The text a node shows, which the search matches against. */
3
+ export declare function treeNodeText(node: TreeNode): string;
4
+ export type FilteredTree = {
5
+ /** The matches, each under its ancestors; a match keeps its own subtree. */
6
+ nodes: TreeNode[];
7
+ /** The ancestors kept for a match below them: open, so the match shows. */
8
+ expandedIds: string[];
9
+ };
10
+ /**
11
+ * The tree narrowed to the nodes whose text contains `query` (case- and
12
+ * accent-insensitive), with every match's ancestors kept so it stays in place.
13
+ * An empty query keeps the whole tree, with nothing forced open.
14
+ */
15
+ export declare function filterTree(nodes: TreeNode[], query: string): FilteredTree;
16
+ /** The ids of the ancestors of `ids`: opened, so a picked node is in view. */
17
+ export declare function ancestorIds(nodes: TreeNode[], ids: string[]): string[];
18
+ /** The nodes of `ids`, in the order of `ids`; an id the tree lacks is skipped. */
19
+ export declare function treeNodesOf(nodes: TreeNode[], ids: string[]): TreeNode[];
20
+ /** The value as a list of ids, whatever the mode. */
21
+ export declare function toIds(value: string | string[] | null | undefined): string[];
22
+ /** The first tree item a keyboard user lands on: the roving one, else the first. */
23
+ export declare function treeEntry(root: ParentNode | null | undefined): HTMLElement | null;
24
+ /**
25
+ * `filterTree` with a one-entry memory: the search handler (for the branches
26
+ * to open) and the render (for the nodes) ask for the same filter, and the
27
+ * tree is walked once per keystroke.
28
+ */
29
+ export declare function memoFilterTree(): typeof filterTree;
30
+ /**
31
+ * Before a chip is removed, hand focus on, so a keyboard user is not dropped
32
+ * to `<body>` (which also blurs, so touches, the form field): the next chip's
33
+ * remove button, else the previous one's, else the combobox trigger.
34
+ */
35
+ export declare function focusAfterChipRemoval(box: ParentNode | null | undefined, index: number): void;
@@ -0,0 +1,37 @@
1
+ import { ReactNode } from 'react';
2
+ import { TreeNode } from '../../collections/tree/types';
3
+ import { PickerTriggerAttrs } from '../../dates/picker-trigger/picker-trigger-attrs';
4
+ export type TreeSelectFieldBaseProps = {
5
+ /** The tree to pick from: `Tree`'s node shape. */
6
+ items: TreeNode[];
7
+ label?: ReactNode;
8
+ helperText?: ReactNode;
9
+ error?: boolean;
10
+ /** Shown while nothing is picked; `material.tree-select-field.placeholder` otherwise. */
11
+ placeholder?: string;
12
+ disabled?: boolean;
13
+ required?: boolean;
14
+ /** A filter input above the tree: matches stay under their ancestors. */
15
+ searchable?: boolean;
16
+ /** The filter input's placeholder and name; `material.tree-select-field.search` otherwise. */
17
+ searchPlaceholder?: string;
18
+ name?: string;
19
+ className?: string;
20
+ /** Names the trigger; it wins over `label`. */
21
+ 'aria-label'?: string;
22
+ 'aria-labelledby'?: string;
23
+ } & PickerTriggerAttrs;
24
+ export type TreeSelectFieldSingleProps = {
25
+ multiple?: false;
26
+ /** The picked node's id. */
27
+ value?: string | null;
28
+ onValueChange?: (value: string | null) => void;
29
+ };
30
+ export type TreeSelectFieldMultipleProps = {
31
+ /** Checkboxes in the tree, and the picked nodes as chips in the trigger. */
32
+ multiple: true;
33
+ /** The picked nodes' ids. */
34
+ value?: string[];
35
+ onValueChange?: (value: string[]) => void;
36
+ };
37
+ export type TreeSelectFieldProps = TreeSelectFieldBaseProps & (TreeSelectFieldSingleProps | TreeSelectFieldMultipleProps);
@@ -0,0 +1,20 @@
1
+ import { TreeSelectFieldProps } from './types';
2
+ /**
3
+ * A `TreeSelectField`'s chrome — open, the search query, the open branches —
4
+ * and what picking does. The value stays the caller's (`value` /
5
+ * `onValueChange`); three local values need no slice, as in `Autocomplete`.
6
+ */
7
+ export declare function useTreeSelectField(props: TreeSelectFieldProps): {
8
+ open: boolean;
9
+ setOpen: (next: boolean) => void;
10
+ query: string;
11
+ search: (next: string) => void;
12
+ nodes: import('../../collections').TreeNode[];
13
+ expandedIds: string[];
14
+ setExpandedIds: import('react').Dispatch<import('react').SetStateAction<string[]>>;
15
+ selectedIds: string[];
16
+ selectedNodes: import('../../collections').TreeNode[];
17
+ onSelectedIdsChange: (ids: string[]) => void;
18
+ onSelect: (id: string) => void;
19
+ remove: (id: string) => void;
20
+ };
@@ -48,6 +48,7 @@ export declare const en: {
48
48
  cancel: string;
49
49
  processing: string;
50
50
  failed: string;
51
+ "form-failed": string;
51
52
  };
52
53
  "scroll-progress": string;
53
54
  "skip-link": string;
@@ -323,6 +324,7 @@ export declare const en: {
323
324
  };
324
325
  };
325
326
  table: {
327
+ loading: string;
326
328
  labels: {
327
329
  asc: string;
328
330
  desc: string;
@@ -625,6 +627,12 @@ export declare const en: {
625
627
  expand: string;
626
628
  collapse: string;
627
629
  };
630
+ "tree-select-field": {
631
+ placeholder: string;
632
+ search: string;
633
+ empty: string;
634
+ selected: string;
635
+ };
628
636
  "image-cropper": {
629
637
  title: string;
630
638
  zoom: string;
@@ -749,6 +757,8 @@ export declare const en: {
749
757
  };
750
758
  stepper: {
751
759
  step: string;
760
+ completed: string;
761
+ error: string;
752
762
  };
753
763
  "location-field": {
754
764
  placeholder: string;
@@ -1164,6 +1174,11 @@ export declare const en: {
1164
1174
  spinner: {
1165
1175
  loading: string;
1166
1176
  };
1177
+ slider: {
1178
+ minimum: string;
1179
+ maximum: string;
1180
+ value: string;
1181
+ };
1167
1182
  "scroll-to-top": {
1168
1183
  label: string;
1169
1184
  };
@@ -1199,6 +1214,31 @@ export declare const en: {
1199
1214
  "time-picker": {
1200
1215
  am: string;
1201
1216
  pm: string;
1217
+ hours: string;
1218
+ minutes: string;
1219
+ };
1220
+ "date-range-field": {
1221
+ presets: string;
1222
+ preset: {
1223
+ today: string;
1224
+ yesterday: string;
1225
+ "last-7-days": string;
1226
+ "last-30-days": string;
1227
+ "this-month": string;
1228
+ "last-month": string;
1229
+ "this-year": string;
1230
+ };
1231
+ "start-time": string;
1232
+ "end-time": string;
1233
+ };
1234
+ "file-preview": {
1235
+ label: string;
1236
+ untitled: string;
1237
+ loading: string;
1238
+ error: string;
1239
+ download: string;
1240
+ truncated: string;
1241
+ content: string;
1202
1242
  };
1203
1243
  };
1204
1244
  };
@@ -37,7 +37,8 @@ declare const _default: {
37
37
  "confirm": "Confirm",
38
38
  "cancel": "Cancel",
39
39
  "processing": "Processing...",
40
- "failed": "The action failed."
40
+ "failed": "The action failed.",
41
+ "form-failed": "The form could not be loaded."
41
42
  },
42
43
  "scroll-progress": "Scroll progress",
43
44
  "skip-link": "Skip to content",
@@ -313,6 +314,7 @@ declare const _default: {
313
314
  }
314
315
  },
315
316
  "table": {
317
+ "loading": "Loading data…",
316
318
  "labels": {
317
319
  "asc": "Asc",
318
320
  "desc": "Desc",
@@ -615,6 +617,12 @@ declare const _default: {
615
617
  "expand": "Expand",
616
618
  "collapse": "Collapse"
617
619
  },
620
+ "tree-select-field": {
621
+ "placeholder": "Select…",
622
+ "search": "Search",
623
+ "empty": "No match found.",
624
+ "selected": "{count} selected"
625
+ },
618
626
  "image-cropper": {
619
627
  "title": "Crop image",
620
628
  "zoom": "Zoom",
@@ -738,7 +746,9 @@ declare const _default: {
738
746
  "open": "Open URL"
739
747
  },
740
748
  "stepper": {
741
- "step": "Step {step}"
749
+ "step": "Step {step}",
750
+ "completed": "Completed",
751
+ "error": "Error"
742
752
  },
743
753
  "location-field": {
744
754
  "placeholder": "No location selected",
@@ -1154,6 +1164,11 @@ declare const _default: {
1154
1164
  "spinner": {
1155
1165
  "loading": "Loading..."
1156
1166
  },
1167
+ "slider": {
1168
+ "minimum": "Minimum",
1169
+ "maximum": "Maximum",
1170
+ "value": "Value"
1171
+ },
1157
1172
  "scroll-to-top": {
1158
1173
  "label": "Scroll to top"
1159
1174
  },
@@ -1188,7 +1203,32 @@ declare const _default: {
1188
1203
  },
1189
1204
  "time-picker": {
1190
1205
  "am": "AM",
1191
- "pm": "PM"
1206
+ "pm": "PM",
1207
+ "hours": "Hours",
1208
+ "minutes": "Minutes"
1209
+ },
1210
+ "date-range-field": {
1211
+ "presets": "Presets",
1212
+ "preset": {
1213
+ "today": "Today",
1214
+ "yesterday": "Yesterday",
1215
+ "last-7-days": "Last 7 days",
1216
+ "last-30-days": "Last 30 days",
1217
+ "this-month": "This month",
1218
+ "last-month": "Last month",
1219
+ "this-year": "This year"
1220
+ },
1221
+ "start-time": "Start time",
1222
+ "end-time": "End time"
1223
+ },
1224
+ "file-preview": {
1225
+ "label": "Preview of {name}",
1226
+ "untitled": "Untitled file",
1227
+ "loading": "Loading preview…",
1228
+ "error": "This file could not be previewed.",
1229
+ "download": "Download",
1230
+ "truncated": "Showing the first {size} of this file.",
1231
+ "content": "Contents of {name}"
1192
1232
  }
1193
1233
  }
1194
1234
  ;
@@ -48,6 +48,7 @@ export declare const fr: {
48
48
  cancel: string;
49
49
  processing: string;
50
50
  failed: string;
51
+ "form-failed": string;
51
52
  };
52
53
  "scroll-progress": string;
53
54
  "skip-link": string;
@@ -323,6 +324,7 @@ export declare const fr: {
323
324
  };
324
325
  };
325
326
  table: {
327
+ loading: string;
326
328
  labels: {
327
329
  asc: string;
328
330
  desc: string;
@@ -625,6 +627,12 @@ export declare const fr: {
625
627
  expand: string;
626
628
  collapse: string;
627
629
  };
630
+ "tree-select-field": {
631
+ placeholder: string;
632
+ search: string;
633
+ empty: string;
634
+ selected: string;
635
+ };
628
636
  "image-cropper": {
629
637
  title: string;
630
638
  zoom: string;
@@ -749,6 +757,8 @@ export declare const fr: {
749
757
  };
750
758
  stepper: {
751
759
  step: string;
760
+ completed: string;
761
+ error: string;
752
762
  };
753
763
  "location-field": {
754
764
  placeholder: string;
@@ -1164,6 +1174,11 @@ export declare const fr: {
1164
1174
  spinner: {
1165
1175
  loading: string;
1166
1176
  };
1177
+ slider: {
1178
+ minimum: string;
1179
+ maximum: string;
1180
+ value: string;
1181
+ };
1167
1182
  "scroll-to-top": {
1168
1183
  label: string;
1169
1184
  };
@@ -1199,6 +1214,31 @@ export declare const fr: {
1199
1214
  "time-picker": {
1200
1215
  am: string;
1201
1216
  pm: string;
1217
+ hours: string;
1218
+ minutes: string;
1219
+ };
1220
+ "date-range-field": {
1221
+ presets: string;
1222
+ preset: {
1223
+ today: string;
1224
+ yesterday: string;
1225
+ "last-7-days": string;
1226
+ "last-30-days": string;
1227
+ "this-month": string;
1228
+ "last-month": string;
1229
+ "this-year": string;
1230
+ };
1231
+ "start-time": string;
1232
+ "end-time": string;
1233
+ };
1234
+ "file-preview": {
1235
+ label: string;
1236
+ untitled: string;
1237
+ loading: string;
1238
+ error: string;
1239
+ download: string;
1240
+ truncated: string;
1241
+ content: string;
1202
1242
  };
1203
1243
  };
1204
1244
  };
@@ -37,7 +37,8 @@ declare const _default: {
37
37
  "confirm": "Confirmer",
38
38
  "cancel": "Annuler",
39
39
  "processing": "Traitement en cours…",
40
- "failed": "L’action a échoué."
40
+ "failed": "L’action a échoué.",
41
+ "form-failed": "Le formulaire n’a pas pu être chargé."
41
42
  },
42
43
  "scroll-progress": "Progression du défilement",
43
44
  "skip-link": "Aller au contenu",
@@ -313,6 +314,7 @@ declare const _default: {
313
314
  }
314
315
  },
315
316
  "table": {
317
+ "loading": "Chargement des données…",
316
318
  "labels": {
317
319
  "asc": "Asc",
318
320
  "desc": "Desc",
@@ -615,6 +617,12 @@ declare const _default: {
615
617
  "expand": "Déplier",
616
618
  "collapse": "Replier"
617
619
  },
620
+ "tree-select-field": {
621
+ "placeholder": "Sélectionner…",
622
+ "search": "Rechercher",
623
+ "empty": "Aucun résultat.",
624
+ "selected": "{count, plural, one {# sélectionné} other {# sélectionnés}}"
625
+ },
618
626
  "image-cropper": {
619
627
  "title": "Recadrer l'image",
620
628
  "zoom": "Zoom",
@@ -738,7 +746,9 @@ declare const _default: {
738
746
  "open": "Ouvrir l’URL"
739
747
  },
740
748
  "stepper": {
741
- "step": "Étape {step}"
749
+ "step": "Étape {step}",
750
+ "completed": "Terminée",
751
+ "error": "Erreur"
742
752
  },
743
753
  "location-field": {
744
754
  "placeholder": "Aucun emplacement sélectionné",
@@ -1154,6 +1164,11 @@ declare const _default: {
1154
1164
  "spinner": {
1155
1165
  "loading": "Chargement..."
1156
1166
  },
1167
+ "slider": {
1168
+ "minimum": "Minimum",
1169
+ "maximum": "Maximum",
1170
+ "value": "Valeur"
1171
+ },
1157
1172
  "scroll-to-top": {
1158
1173
  "label": "Retour en haut"
1159
1174
  },
@@ -1188,7 +1203,32 @@ declare const _default: {
1188
1203
  },
1189
1204
  "time-picker": {
1190
1205
  "am": "a.m.",
1191
- "pm": "p.m."
1206
+ "pm": "p.m.",
1207
+ "hours": "Heures",
1208
+ "minutes": "Minutes"
1209
+ },
1210
+ "date-range-field": {
1211
+ "presets": "Plages prédéfinies",
1212
+ "preset": {
1213
+ "today": "Aujourd’hui",
1214
+ "yesterday": "Hier",
1215
+ "last-7-days": "7 derniers jours",
1216
+ "last-30-days": "30 derniers jours",
1217
+ "this-month": "Ce mois-ci",
1218
+ "last-month": "Le mois dernier",
1219
+ "this-year": "Cette année"
1220
+ },
1221
+ "start-time": "Heure de début",
1222
+ "end-time": "Heure de fin"
1223
+ },
1224
+ "file-preview": {
1225
+ "label": "Aperçu de {name}",
1226
+ "untitled": "Fichier sans nom",
1227
+ "loading": "Chargement de l’aperçu…",
1228
+ "error": "Impossible d’afficher l’aperçu de ce fichier.",
1229
+ "download": "Télécharger",
1230
+ "truncated": "Seuls les premiers {size} de ce fichier sont affichés.",
1231
+ "content": "Contenu de {name}"
1192
1232
  }
1193
1233
  }
1194
1234
  ;