@nxgt/material 3.94.0 → 3.95.1

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 (391) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +6 -2
  3. package/dist/{alert-dialog-BaqK-rmd.js → alert-dialog-D4r0Kn9h.js} +1 -1
  4. package/dist/{async-slice-BfNpIJAH.js → async-slice-Bx438UlG.js} +1 -1
  5. package/dist/{button-CozGHXAv.js → button-Z_xcg10A.js} +1 -1
  6. package/dist/{calculator-BIx6cwgU.js → calculator-BfIBMiFX.js} +10 -10
  7. package/dist/calculator-field.js +6 -6
  8. package/dist/{calculator-segment-BsaxUtzL.js → calculator-segment-DQE1EFdw.js} +1 -1
  9. package/dist/calculator.js +1 -1
  10. package/dist/charts.js +3 -3
  11. package/dist/{chip-DMEUGYdC.js → chip-Bb9SM3Ly.js} +2 -2
  12. package/dist/{code-editor-BWfky-aN.js → code-editor-Cw-dOrn2.js} +4 -4
  13. package/dist/code-editor.js +4 -4
  14. package/dist/{code-language-items-BUaNYJuw.js → code-language-items-BVfxGKiv.js} +2 -2
  15. package/dist/components/components.css +7 -1
  16. package/dist/components/theme-tokens.css +7 -0
  17. package/dist/components/ui/dates/duration-field/duration-field-expressive.css +2 -63
  18. package/dist/components/ui/dates/picker-trigger/typed-box-expressive.css +30 -21
  19. package/dist/components/ui/fields/number-field/number-field-score.css +151 -0
  20. package/dist/components/ui/fields/quantity-field/quantity-field.css +117 -0
  21. package/dist/components/ui/primitives/field-box/field-box-parts.css +1 -2
  22. package/dist/components/ui/primitives/field-box/field-box-tokens.css +54 -36
  23. package/dist/components/ui/primitives/field-box/field-box.css +44 -86
  24. package/dist/components/ui/primitives/field-box/field-stepper.css +129 -0
  25. package/dist/{components-CZpdAQMh.js → components-DXCfO95n.js} +13787 -13699
  26. package/dist/components.js +26 -27
  27. package/dist/{conversion-variant-aIBhul_U.js → conversion-variant-Ciii9Rbh.js} +4 -4
  28. package/dist/currency-field-DipsI0Bv.js +303 -0
  29. package/dist/{dialog-H40HjqXN.js → dialog-CFuONiW5.js} +3 -3
  30. package/dist/dnd.js +1 -1
  31. package/dist/{dropdown-menu-CawkIlW8.js → dropdown-menu-BvtBDoSD.js} +1 -1
  32. package/dist/editor.js +8 -8
  33. package/dist/{empty-state-sRVjgCis.js → empty-state-n2zb23YG.js} +1 -1
  34. package/dist/{financial-variant-Bqo9-swy.js → financial-variant-CTXTLbE_.js} +7 -7
  35. package/dist/{hooks-BTj_WJm9.js → hooks-zyRsvilJ.js} +2 -2
  36. package/dist/hooks.js +2 -2
  37. package/dist/{hover-card-BZU1DWGY.js → hover-card-BJ15hu7B.js} +1 -1
  38. package/dist/i18n.js +3 -3
  39. package/dist/{icon-badge-CXgvqMsM.js → icon-badge-B2ns44Cz.js} +1 -1
  40. package/dist/{icon-button-B9WjQ3RO.js → icon-button-BG438okX.js} +1 -1
  41. package/dist/lib/components/ui/fields/contacts/placeholders.d.ts +1 -1
  42. package/dist/lib/components/ui/fields/number-field/number-control.d.ts +10 -3
  43. package/dist/lib/components/ui/fields/number-field/number-field-base.d.ts +2 -0
  44. package/dist/lib/components/ui/fields/number-field/number-field.d.ts +7 -1
  45. package/dist/lib/components/ui/fields/number-field/number-field.types.d.ts +13 -0
  46. package/dist/lib/components/ui/fields/number-field/number-score-control.d.ts +19 -0
  47. package/dist/lib/components/ui/fields/number-field/number-stepper.d.ts +16 -2
  48. package/dist/lib/components/ui/fields/quantity-field/quantity-field.d.ts +4 -3
  49. package/dist/lib/components/ui/fields/quantity-field/quantity-row.d.ts +5 -9
  50. package/dist/lib/components/ui/fields/quantity-field/quantity-unit-menu.d.ts +19 -0
  51. package/dist/lib/components/ui/fields/quantity-field/quantity-unit.d.ts +11 -4
  52. package/dist/lib/components/ui/fields/quantity-field/use-unit-chip-name.d.ts +14 -0
  53. package/dist/lib/components/ui/fields/switch/partials/switch-row.d.ts +2 -2
  54. package/dist/lib/components/ui/fields/switch/switch.d.ts +2 -2
  55. package/dist/lib/components/ui/fields/text-field/text-field-units.d.ts +24 -0
  56. package/dist/lib/components/ui/fields/text-field/text-field.d.ts +9 -0
  57. package/dist/lib/components/ui/fields/verification-code/partials/code-surface.d.ts +13 -6
  58. package/dist/lib/components/ui/fields/verification-code/partials/recovery-input.d.ts +1 -1
  59. package/dist/lib/components/ui/layout/app-shell/app-sidebar-group.d.ts +12 -0
  60. package/dist/lib/components/ui/layout/app-shell/types.d.ts +7 -0
  61. package/dist/lib/components/ui/primitives/input-group/input-group.d.ts +1 -1
  62. package/dist/lib/i18n/resources/en/en.d.ts +5 -0
  63. package/dist/lib/i18n/resources/en/material.json.d.ts +7 -2
  64. package/dist/lib/i18n/resources/fr/fr.d.ts +5 -0
  65. package/dist/lib/i18n/resources/fr/material.json.d.ts +7 -2
  66. package/dist/lib/i18n/resources/resources.d.ts +10 -0
  67. package/dist/lib/i18n/translator.d.ts +1 -1
  68. package/dist/lib.js +1 -1
  69. package/dist/main.js +32 -33
  70. package/dist/map.js +8 -8
  71. package/dist/material.css +1 -1
  72. package/dist/pdf-reader.js +1 -1
  73. package/dist/percent-field-Cjc_3pP0.js +137 -0
  74. package/dist/{picker-surface-D2aYI4v7.js → picker-surface-Cr2n42qv.js} +4 -4
  75. package/dist/{popover-QQYPWzw6.js → popover-XBAX2Shp.js} +1 -1
  76. package/dist/{pos-types-BIeZGGAs.js → pos-types-BFVWeJki.js} +1 -1
  77. package/dist/{pos-variant-Cdn1AVoA.js → pos-variant-DWB8Bc12.js} +4 -4
  78. package/dist/print.js +1 -1
  79. package/dist/{programmer-variant-CMBybkqw.js → programmer-variant-B-wPnDeX.js} +2 -2
  80. package/dist/{public-CPxFxbi4.js → public-D1bH-KPQ.js} +9 -9
  81. package/dist/{rich-code-block-DKJ8eKzL.js → rich-code-block-DP2RT7pV.js} +5 -5
  82. package/dist/{scientific-variant-CXL1ayb7.js → scientific-variant-BP08Mo0g.js} +2 -2
  83. package/dist/{sortable-provider-BYqwwyr1.js → sortable-provider-CHGZrS0f.js} +2 -2
  84. package/dist/{spinner-D7ol2n_-.js → spinner-rk8J5y9O.js} +1 -1
  85. package/dist/styles.css +2 -0
  86. package/dist/{tabs-DyiFTy5g.js → tabs-nuYLggwC.js} +1 -1
  87. package/dist/text-field-DOndWDT5.js +169 -0
  88. package/dist/theme-picker.js +2 -2
  89. package/dist/{theme-toggle-QZ0bIrg9.js → theme-toggle-5waw9Wk8.js} +1 -1
  90. package/dist/{toolbar-items-BpOEBsSt.js → toolbar-items-Bo-nMzKJ.js} +4 -4
  91. package/dist/{translate-material-DlMetRSJ.js → translate-material-H5GMStyF.js} +1 -1
  92. package/dist/{translator-VtzVrnLm.js → translator-gdpQeToI.js} +14 -4
  93. package/dist/{use-chat-composer-DQ2rTD_q.js → use-chat-composer-DEd6GM2N.js} +23 -24
  94. package/dist/{use-heading-spy-17B5xa7B.js → use-heading-spy-n_wPa5jC.js} +4 -4
  95. package/dist/{use-material-translation-Cx5u36V5.js → use-material-translation-BW5HZMwt.js} +1 -1
  96. package/dist/{use-return-focus-S7g7q_Yn.js → use-return-focus-BC4sGh1b.js} +1 -1
  97. package/docs/README.md +1 -0
  98. package/docs/components/date-and-time.md +25 -23
  99. package/docs/components/form-fields.md +80 -26
  100. package/docs/components/navigation-and-layout.md +1 -1
  101. package/docs/guides/app-shell.md +15 -0
  102. package/docs/guides/field-look-2-x.md +10 -4
  103. package/docs/guides/field-look-refined.md +130 -0
  104. package/docs/guides/layouts.md +2 -1
  105. package/docs/guides/theming.md +39 -31
  106. package/docs/previews/backgrounds-icons-quiet-band.webp +0 -0
  107. package/docs/previews/backgrounds-icons.webp +0 -0
  108. package/docs/previews/backgrounds-matrix.webp +0 -0
  109. package/docs/previews/buttons-actions-actioncard.webp +0 -0
  110. package/docs/previews/buttons-actions-backlink.webp +0 -0
  111. package/docs/previews/buttons-actions-button.webp +0 -0
  112. package/docs/previews/buttons-actions-buttongroup.webp +0 -0
  113. package/docs/previews/buttons-actions-fab.webp +0 -0
  114. package/docs/previews/buttons-actions-fabmenu.webp +0 -0
  115. package/docs/previews/buttons-actions-iconbutton.webp +0 -0
  116. package/docs/previews/buttons-actions-languageswitcher.webp +0 -0
  117. package/docs/previews/buttons-actions-linkbutton.webp +0 -0
  118. package/docs/previews/buttons-actions-loadmorebutton.webp +0 -0
  119. package/docs/previews/buttons-actions-loadmorefooter.webp +0 -0
  120. package/docs/previews/buttons-actions-responsivebutton.webp +0 -0
  121. package/docs/previews/buttons-actions-scrolltolatestbutton.webp +0 -0
  122. package/docs/previews/buttons-actions-scrolltotop.webp +0 -0
  123. package/docs/previews/buttons-actions-splitbutton.webp +0 -0
  124. package/docs/previews/buttons-actions-themetoggle.webp +0 -0
  125. package/docs/previews/buttons-actions-toolbar-density-and-keyboard.webp +0 -0
  126. package/docs/previews/buttons-actions-toolbar.webp +0 -0
  127. package/docs/previews/data-display-accordioncard.webp +0 -0
  128. package/docs/previews/data-display-apiendpoint.webp +0 -0
  129. package/docs/previews/data-display-apioperation.webp +0 -0
  130. package/docs/previews/data-display-avatar.webp +0 -0
  131. package/docs/previews/data-display-badge.webp +0 -0
  132. package/docs/previews/data-display-card-presets.webp +0 -0
  133. package/docs/previews/data-display-changehistory.webp +0 -0
  134. package/docs/previews/data-display-chip.webp +0 -0
  135. package/docs/previews/data-display-codegroup.webp +0 -0
  136. package/docs/previews/data-display-description.webp +0 -0
  137. package/docs/previews/data-display-enrolmentcard.webp +0 -0
  138. package/docs/previews/data-display-enrolmentsecret.webp +0 -0
  139. package/docs/previews/data-display-metric-cards.webp +0 -0
  140. package/docs/previews/data-display-periodcards.webp +0 -0
  141. package/docs/previews/data-display-recoverycodes.webp +0 -0
  142. package/docs/previews/data-display-recoverycodesstatus.webp +0 -0
  143. package/docs/previews/data-display-secretcard.webp +0 -0
  144. package/docs/previews/data-display-terminal.webp +0 -0
  145. package/docs/previews/data-display-timeline.webp +0 -0
  146. package/docs/previews/data-display-tonevalue.webp +0 -0
  147. package/docs/previews/data-display-votetally.webp +0 -0
  148. package/docs/previews/data-table-filter-lists-datagrid.webp +0 -0
  149. package/docs/previews/data-table-filter-lists-datatable.webp +0 -0
  150. package/docs/previews/data-table-filter-lists-daygroupedlist.webp +0 -0
  151. package/docs/previews/data-table-filter-lists-drag-and-drop.webp +0 -0
  152. package/docs/previews/data-table-filter-lists-facetgroup.webp +0 -0
  153. package/docs/previews/data-table-filter-lists-filter.webp +0 -0
  154. package/docs/previews/data-table-filter-lists-listempty.webp +0 -0
  155. package/docs/previews/data-table-filter-lists-listpane.webp +0 -0
  156. package/docs/previews/data-table-filter-lists-markinglist.webp +0 -0
  157. package/docs/previews/data-table-filter-lists-pagination.webp +0 -0
  158. package/docs/previews/data-table-filter-lists-servertable.webp +0 -0
  159. package/docs/previews/data-table-filter-lists-tree.webp +0 -0
  160. package/docs/previews/date-time-agefield.webp +0 -0
  161. package/docs/previews/date-time-calendar-expressive.webp +0 -0
  162. package/docs/previews/date-time-calendar.webp +0 -0
  163. package/docs/previews/date-time-datefield.webp +0 -0
  164. package/docs/previews/date-time-daterangefield.webp +0 -0
  165. package/docs/previews/date-time-durationfield.webp +0 -0
  166. package/docs/previews/date-time-fields-expressive.webp +0 -0
  167. package/docs/previews/date-time-halfdayrangefield.webp +0 -0
  168. package/docs/previews/date-time-nowindicator.webp +0 -0
  169. package/docs/previews/date-time-timefield.webp +0 -0
  170. package/docs/previews/date-time-timepicker-tiles.webp +0 -0
  171. package/docs/previews/date-time-timepicker.webp +0 -0
  172. package/docs/previews/feedback-status-alert.webp +0 -0
  173. package/docs/previews/feedback-status-alertdialog.webp +0 -0
  174. package/docs/previews/feedback-status-celebration.webp +0 -0
  175. package/docs/previews/feedback-status-circularprogress.webp +0 -0
  176. package/docs/previews/feedback-status-confirmationdialog.webp +0 -0
  177. package/docs/previews/feedback-status-confirmdialog.webp +0 -0
  178. package/docs/previews/feedback-status-countdowntimer.webp +0 -0
  179. package/docs/previews/feedback-status-customalertdialog.webp +0 -0
  180. package/docs/previews/feedback-status-customdialog.webp +0 -0
  181. package/docs/previews/feedback-status-emptystate.webp +0 -0
  182. package/docs/previews/feedback-status-errorstate.webp +0 -0
  183. package/docs/previews/feedback-status-hydrateloading.webp +0 -0
  184. package/docs/previews/feedback-status-illustration-education.webp +0 -0
  185. package/docs/previews/feedback-status-illustration-game.webp +0 -0
  186. package/docs/previews/feedback-status-illustration-health.webp +0 -0
  187. package/docs/previews/feedback-status-illustration.webp +0 -0
  188. package/docs/previews/feedback-status-notificationrow.webp +0 -0
  189. package/docs/previews/feedback-status-notifications.webp +0 -0
  190. package/docs/previews/feedback-status-pageloadfailed.webp +0 -0
  191. package/docs/previews/feedback-status-progress.webp +0 -0
  192. package/docs/previews/feedback-status-skeleton.webp +0 -0
  193. package/docs/previews/feedback-status-spinner.webp +0 -0
  194. package/docs/previews/feedback-status-stalenotice.webp +0 -0
  195. package/docs/previews/feedback-status-stepupdialog-retry.webp +0 -0
  196. package/docs/previews/feedback-status-stepupdialog.webp +0 -0
  197. package/docs/previews/feedback-status-toast.webp +0 -0
  198. package/docs/previews/feedback-status-typingindicator.webp +0 -0
  199. package/docs/previews/feedback-status-unsaveddialog.webp +0 -0
  200. package/docs/previews/form-fields-attributes.webp +0 -0
  201. package/docs/previews/form-fields-choicelistfield.webp +0 -0
  202. package/docs/previews/form-fields-colorfield.webp +0 -0
  203. package/docs/previews/form-fields-contacts.webp +0 -0
  204. package/docs/previews/form-fields-countryfield.webp +0 -0
  205. package/docs/previews/form-fields-currencyfield.webp +0 -0
  206. package/docs/previews/form-fields-emailfield.webp +0 -0
  207. package/docs/previews/form-fields-field.webp +0 -0
  208. package/docs/previews/form-fields-formsection.webp +0 -0
  209. package/docs/previews/form-fields-inlineedit.webp +0 -0
  210. package/docs/previews/form-fields-inputgroupfield.webp +0 -0
  211. package/docs/previews/form-fields-localizedtextfields.webp +0 -0
  212. package/docs/previews/form-fields-markdowntextareafield.webp +0 -0
  213. package/docs/previews/form-fields-numberfield.webp +0 -0
  214. package/docs/previews/form-fields-openinghours.webp +0 -0
  215. package/docs/previews/form-fields-otpfield.webp +0 -0
  216. package/docs/previews/form-fields-passwordfield.webp +0 -0
  217. package/docs/previews/form-fields-percentfield.webp +0 -0
  218. package/docs/previews/form-fields-phonefield.webp +0 -0
  219. package/docs/previews/form-fields-postaladdress.webp +0 -0
  220. package/docs/previews/form-fields-repeatablegroup.webp +0 -0
  221. package/docs/previews/form-fields-searchfield.webp +0 -0
  222. package/docs/previews/form-fields-slider.webp +0 -0
  223. package/docs/previews/form-fields-switch.webp +0 -0
  224. package/docs/previews/form-fields-textareafield.webp +0 -0
  225. package/docs/previews/form-fields-textfield.webp +0 -0
  226. package/docs/previews/form-fields-timezonefield.webp +0 -0
  227. package/docs/previews/form-fields-urlfield.webp +0 -0
  228. package/docs/previews/form-fields-verificationcode.webp +0 -0
  229. package/docs/previews/foundations-themes-gallery.webp +0 -0
  230. package/docs/previews/foundations-themes-icon-motifs.webp +0 -0
  231. package/docs/previews/foundations-themes-nesting.webp +0 -0
  232. package/docs/previews/foundations-themes-provider.webp +0 -0
  233. package/docs/previews/foundations-themes-themepicker.webp +0 -0
  234. package/docs/previews/guides-i18n-i18nprovider.webp +0 -0
  235. package/docs/previews/guides-i18n-translated-components.webp +0 -0
  236. package/docs/previews/media-files-audioplayer.webp +0 -0
  237. package/docs/previews/media-files-camera.webp +0 -0
  238. package/docs/previews/media-files-carousel.webp +0 -0
  239. package/docs/previews/media-files-filelist.webp +0 -0
  240. package/docs/previews/media-files-filelistfield.webp +0 -0
  241. package/docs/previews/media-files-filepreview.webp +0 -0
  242. package/docs/previews/media-files-gallery-image-lists.webp +0 -0
  243. package/docs/previews/media-files-gallery-video.webp +0 -0
  244. package/docs/previews/media-files-gallery-viewer.webp +0 -0
  245. package/docs/previews/media-files-gallery.webp +0 -0
  246. package/docs/previews/media-files-imagecropper.webp +0 -0
  247. package/docs/previews/media-files-imageeditor.webp +0 -0
  248. package/docs/previews/media-files-imagefield.webp +0 -0
  249. package/docs/previews/media-files-lightboxgallery.webp +0 -0
  250. package/docs/previews/media-files-map.webp +0 -0
  251. package/docs/previews/media-files-mediaplayer.webp +0 -0
  252. package/docs/previews/media-files-mediaplayerhost.webp +0 -0
  253. package/docs/previews/media-files-mediaplayerlightbox.webp +0 -0
  254. package/docs/previews/media-files-mediaplayermini.webp +0 -0
  255. package/docs/previews/media-files-minigallery.webp +0 -0
  256. package/docs/previews/media-files-pdfreader.webp +0 -0
  257. package/docs/previews/media-files-uploadfield.webp +0 -0
  258. package/docs/previews/navigation-layout-appshell-blue-moon.webp +0 -0
  259. package/docs/previews/navigation-layout-appshell-footer-icon.webp +0 -0
  260. package/docs/previews/navigation-layout-appshell-menu-badge.webp +0 -0
  261. package/docs/previews/navigation-layout-appshell-page-ground.webp +0 -0
  262. package/docs/previews/navigation-layout-appshell-themes.webp +0 -0
  263. package/docs/previews/navigation-layout-appshell.webp +0 -0
  264. package/docs/previews/navigation-layout-authcard-split.webp +0 -0
  265. package/docs/previews/navigation-layout-authcard.webp +0 -0
  266. package/docs/previews/navigation-layout-background.webp +0 -0
  267. package/docs/previews/navigation-layout-breadcrumb.webp +0 -0
  268. package/docs/previews/navigation-layout-doc-api.webp +0 -0
  269. package/docs/previews/navigation-layout-doc-blocks.webp +0 -0
  270. package/docs/previews/navigation-layout-doc.webp +0 -0
  271. package/docs/previews/navigation-layout-editorlayout.webp +0 -0
  272. package/docs/previews/navigation-layout-hero.webp +0 -0
  273. package/docs/previews/navigation-layout-landinglayout.webp +0 -0
  274. package/docs/previews/navigation-layout-listdetailslayout.webp +0 -0
  275. package/docs/previews/navigation-layout-pager.webp +0 -0
  276. package/docs/previews/navigation-layout-recordpage.webp +0 -0
  277. package/docs/previews/navigation-layout-settingslayout.webp +0 -0
  278. package/docs/previews/navigation-layout-sidebar.webp +0 -0
  279. package/docs/previews/navigation-layout-steps.webp +0 -0
  280. package/docs/previews/navigation-layout-stickyactionbar.webp +0 -0
  281. package/docs/previews/navigation-layout-threadlayout-pages.webp +0 -0
  282. package/docs/previews/navigation-layout-toc.webp +0 -0
  283. package/docs/previews/overlays-menus-contextmenu.webp +0 -0
  284. package/docs/previews/overlays-menus-dialog.webp +0 -0
  285. package/docs/previews/overlays-menus-drawer.webp +0 -0
  286. package/docs/previews/overlays-menus-dropdownmenu.webp +0 -0
  287. package/docs/previews/overlays-menus-hovercard.webp +0 -0
  288. package/docs/previews/overlays-menus-popover.webp +0 -0
  289. package/docs/previews/overlays-menus-sheet.webp +0 -0
  290. package/docs/previews/overlays-menus-tooltip.webp +0 -0
  291. package/docs/previews/primitives-accordion.webp +0 -0
  292. package/docs/previews/primitives-card.webp +0 -0
  293. package/docs/previews/primitives-collapsible.webp +0 -0
  294. package/docs/previews/primitives-extendedlabel.webp +0 -0
  295. package/docs/previews/primitives-helpertext.webp +0 -0
  296. package/docs/previews/primitives-input.webp +0 -0
  297. package/docs/previews/primitives-inputgroup.webp +0 -0
  298. package/docs/previews/primitives-label.webp +0 -0
  299. package/docs/previews/primitives-scrollarea.webp +0 -0
  300. package/docs/previews/primitives-segmentednav.webp +0 -0
  301. package/docs/previews/primitives-tabs.webp +0 -0
  302. package/docs/previews/primitives-tabsnav.webp +0 -0
  303. package/docs/previews/primitives-textarea.webp +0 -0
  304. package/docs/previews/primitives-toggle.webp +0 -0
  305. package/docs/previews/primitives-togglegroup.webp +0 -0
  306. package/docs/previews/primitives-typography.webp +0 -0
  307. package/docs/previews/rich-widgets-calculator-conversion.webp +0 -0
  308. package/docs/previews/rich-widgets-chat-action-proposal.webp +0 -0
  309. package/docs/previews/rich-widgets-chat-advanced.webp +0 -0
  310. package/docs/previews/rich-widgets-chat-composer.webp +0 -0
  311. package/docs/previews/rich-widgets-chat-inbox.webp +0 -0
  312. package/docs/previews/rich-widgets-chat-overview.webp +0 -0
  313. package/docs/previews/rich-widgets-chat-thread.webp +0 -0
  314. package/docs/previews/rich-widgets-chat-widget.webp +0 -0
  315. package/docs/previews/rich-widgets-codeeditor.webp +0 -0
  316. package/docs/previews/rich-widgets-compacteditor.webp +0 -0
  317. package/docs/previews/rich-widgets-documenteditor.webp +0 -0
  318. package/docs/previews/rich-widgets-drawing.webp +0 -0
  319. package/docs/previews/rich-widgets-emojipicker.webp +0 -0
  320. package/docs/previews/rich-widgets-eventcalendar.webp +0 -0
  321. package/docs/previews/rich-widgets-kanban-phone-layout.webp +0 -0
  322. package/docs/previews/rich-widgets-kanban.webp +0 -0
  323. package/docs/previews/rich-widgets-mentionlist.webp +0 -0
  324. package/docs/previews/rich-widgets-native-charts-areachart.webp +0 -0
  325. package/docs/previews/rich-widgets-native-charts-barchart.webp +0 -0
  326. package/docs/previews/rich-widgets-native-charts-combochart.webp +0 -0
  327. package/docs/previews/rich-widgets-native-charts-donutchart.webp +0 -0
  328. package/docs/previews/rich-widgets-native-charts-funnelchart.webp +0 -0
  329. package/docs/previews/rich-widgets-native-charts-heatmapchart.webp +0 -0
  330. package/docs/previews/rich-widgets-native-charts-linechart-reference.webp +0 -0
  331. package/docs/previews/rich-widgets-native-charts-linechart.webp +0 -0
  332. package/docs/previews/rich-widgets-native-charts-palette.webp +0 -0
  333. package/docs/previews/rich-widgets-native-charts-piechart.webp +0 -0
  334. package/docs/previews/rich-widgets-native-charts-radarchart.webp +0 -0
  335. package/docs/previews/rich-widgets-native-charts-radialbarchart.webp +0 -0
  336. package/docs/previews/rich-widgets-native-charts-scatterchart.webp +0 -0
  337. package/docs/previews/rich-widgets-questioncard-rich-content.webp +0 -0
  338. package/docs/previews/rich-widgets-questionmediaview.webp +0 -0
  339. package/docs/previews/rich-widgets-questionnavigator.webp +0 -0
  340. package/docs/previews/rich-widgets-quiz.webp +0 -0
  341. package/docs/previews/rich-widgets-richchatcomposer.webp +0 -0
  342. package/docs/previews/rich-widgets-richtexteditor.webp +0 -0
  343. package/docs/previews/rich-widgets-richtextviewer.webp +0 -0
  344. package/docs/previews/selection-choice-autocomplete.webp +0 -0
  345. package/docs/previews/selection-choice-checkbox.webp +0 -0
  346. package/docs/previews/selection-choice-checkboxgroup.webp +0 -0
  347. package/docs/previews/selection-choice-checkcardfield.webp +0 -0
  348. package/docs/previews/selection-choice-chipgroupfield.webp +0 -0
  349. package/docs/previews/selection-choice-choicecardgroup.webp +0 -0
  350. package/docs/previews/selection-choice-combobox.webp +0 -0
  351. package/docs/previews/selection-choice-comboboxfield.webp +0 -0
  352. package/docs/previews/selection-choice-optiontile.webp +0 -0
  353. package/docs/previews/selection-choice-radiogroup.webp +0 -0
  354. package/docs/previews/selection-choice-select.webp +0 -0
  355. package/docs/previews/selection-choice-selectfield.webp +0 -0
  356. package/docs/previews/selection-choice-sortablelist.webp +0 -0
  357. package/docs/previews/selection-choice-switcher.webp +0 -0
  358. package/docs/previews/selection-choice-transferlist.webp +0 -0
  359. package/docs/previews/selection-choice-treeselectfield.webp +0 -0
  360. package/docs/roadmap.md +13 -10
  361. package/docs/troubleshooting.md +44 -0
  362. package/lib/components/components.css +7 -1
  363. package/lib/components/theme-tokens.css +7 -0
  364. package/lib/components/ui/dates/duration-field/duration-field-expressive.css +2 -63
  365. package/lib/components/ui/dates/picker-trigger/typed-box-expressive.css +30 -21
  366. package/lib/components/ui/fields/number-field/number-field-score.css +151 -0
  367. package/lib/components/ui/fields/quantity-field/quantity-field.css +117 -0
  368. package/lib/components/ui/primitives/field-box/field-box-parts.css +1 -2
  369. package/lib/components/ui/primitives/field-box/field-box-tokens.css +54 -36
  370. package/lib/components/ui/primitives/field-box/field-box.css +44 -86
  371. package/lib/components/ui/primitives/field-box/field-stepper.css +129 -0
  372. package/lib/styles.css +2 -0
  373. package/lib/themes/ambre.css +5 -1
  374. package/lib/themes/ardoise.css +5 -1
  375. package/lib/themes/bleumono.css +5 -1
  376. package/lib/themes/bluemoon.css +5 -1
  377. package/lib/themes/corail.css +5 -1
  378. package/lib/themes/foret.css +5 -1
  379. package/lib/themes/lavande.css +5 -1
  380. package/lib/themes/menthe.css +5 -1
  381. package/lib/themes/ocean.css +5 -1
  382. package/lib/themes/pink.css +5 -1
  383. package/lib/themes/prune.css +5 -1
  384. package/lib/themes/sable.css +5 -1
  385. package/lib/themes/slate.css +5 -1
  386. package/lib/themes/teal.css +5 -1
  387. package/package.json +2 -2
  388. package/dist/currency-field-IcEMAcAw.js +0 -289
  389. package/dist/input-group-Df9vp2EZ.js +0 -70
  390. package/dist/percent-field-DrI4_J7x.js +0 -14
  391. package/dist/text-field-BAdY-kpO.js +0 -59
@@ -1,3 +1,3 @@
1
- import { t as e } from "./public-CPxFxbi4.js";
1
+ import { t as e } from "./public-D1bH-KPQ.js";
2
2
  import { configurePdfReader as t } from "@nxgt/material-core/pdf-reader";
3
3
  export { e as PdfReader, t as configurePdfReader };
@@ -0,0 +1,137 @@
1
+ import { t as e } from "./utils-BLfntITJ.js";
2
+ import { a as t, i as n, n as r } from "./field-blur-context-BLGgf_3z.js";
3
+ import { t as i } from "./use-material-translation-BW5HZMwt.js";
4
+ import { a, r as o } from "./currency-field-DipsI0Bv.js";
5
+ import { useId as s } from "react";
6
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
7
+ import { LockIcon as u } from "lucide-react";
8
+ //#region lib/components/ui/fields/number-field/number-score-control.tsx
9
+ function d(e) {
10
+ return e === "success" ? "circle" : e === "warning" ? "triangle" : e === "error" ? "diamond" : "square";
11
+ }
12
+ var f = (...e) => e.filter(Boolean).join(" ") || void 0;
13
+ function p({ error: e, disabled: t, locked: n, reasonId: r, tone: o, value: s, defaultValue: l = null, onChange: u, onBlur: d, min: p, max: h, step: g = 1, suffix: _, hideSteppers: v, ...y }) {
14
+ let { language: b } = i(), { draft: x, type: S, commit: C } = a({
15
+ value: s,
16
+ defaultValue: l,
17
+ onChange: u,
18
+ min: p,
19
+ max: h,
20
+ step: g,
21
+ language: b
22
+ });
23
+ return /* @__PURE__ */ c(m, {
24
+ tone: e ? "error" : o,
25
+ invalid: e,
26
+ locked: n,
27
+ disabled: t,
28
+ max: _,
29
+ children: /* @__PURE__ */ c("input", {
30
+ ...y,
31
+ inputMode: "decimal",
32
+ autoComplete: "off",
33
+ disabled: t,
34
+ readOnly: n || void 0,
35
+ "aria-invalid": e || void 0,
36
+ "aria-describedby": f(y["aria-describedby"], n ? r : void 0),
37
+ value: x,
38
+ className: "nxgt-score-input",
39
+ size: Math.max(x.length, 1),
40
+ onChange: (e) => S(e.target.value),
41
+ onBlur: (e) => {
42
+ n || C(e.target.value), d?.(e);
43
+ }
44
+ })
45
+ });
46
+ }
47
+ function m({ tone: e, invalid: t, locked: n, disabled: r, max: i, children: a }) {
48
+ return /* @__PURE__ */ l("div", {
49
+ "data-slot": "number-score",
50
+ "data-tone": e,
51
+ "data-invalid": t || void 0,
52
+ "data-locked": n || void 0,
53
+ "data-disabled": r || void 0,
54
+ className: "nxgt-score",
55
+ children: [
56
+ e && /* @__PURE__ */ c("span", {
57
+ "aria-hidden": "true",
58
+ "data-slot": "number-score-shape",
59
+ "data-shape": d(e),
60
+ className: "nxgt-score-shape"
61
+ }),
62
+ a,
63
+ i != null && /* @__PURE__ */ c("span", {
64
+ "data-slot": "number-score-max",
65
+ className: "nxgt-score-max",
66
+ children: i
67
+ }),
68
+ n && /* @__PURE__ */ c(u, {
69
+ "aria-hidden": !0,
70
+ className: "nxgt-score-lock"
71
+ })
72
+ ]
73
+ });
74
+ }
75
+ function h({ id: e, children: t }) {
76
+ return t ? /* @__PURE__ */ c("p", {
77
+ id: e,
78
+ "data-slot": "number-score-reason",
79
+ className: "m-0 text-xs text-muted-foreground",
80
+ children: t
81
+ }) : null;
82
+ }
83
+ //#endregion
84
+ //#region lib/components/ui/fields/number-field/number-field.tsx
85
+ function g(e) {
86
+ return e.variant === "score" ? /* @__PURE__ */ c(_, { ...e }) : /* @__PURE__ */ c(o, { ...e });
87
+ }
88
+ function _({ label: i, helperText: a, error: o, required: u, className: d, name: f, id: m, "aria-describedby": g, variant: _, tone: v, locked: y, lockedReason: b, ...x }) {
89
+ let S = r(), C = s(), w = m ?? C, T = s(), E = s();
90
+ return /* @__PURE__ */ l("div", {
91
+ ref: S,
92
+ "data-slot": "number-field",
93
+ "data-variant": "score",
94
+ "data-pw": f ?? "number-field",
95
+ className: e("grid w-full content-start gap-1.5", d),
96
+ children: [
97
+ i && /* @__PURE__ */ c(n, {
98
+ htmlFor: w,
99
+ withAsterisk: u,
100
+ children: i
101
+ }),
102
+ /* @__PURE__ */ c(p, {
103
+ ...x,
104
+ id: w,
105
+ name: f,
106
+ error: o,
107
+ required: u,
108
+ tone: v,
109
+ locked: y,
110
+ reasonId: b ? E : void 0,
111
+ "aria-describedby": [a ? T : void 0, g].filter(Boolean).join(" ") || void 0
112
+ }),
113
+ y && /* @__PURE__ */ c(h, {
114
+ id: E,
115
+ children: b
116
+ }),
117
+ a && /* @__PURE__ */ c(t, {
118
+ id: T,
119
+ error: o,
120
+ children: a
121
+ })
122
+ ]
123
+ });
124
+ }
125
+ //#endregion
126
+ //#region lib/components/ui/fields/percent-field/percent-field.tsx
127
+ function v({ min: e = 0, max: t = 100, step: n = 1, ...r }) {
128
+ return /* @__PURE__ */ c(g, {
129
+ ...r,
130
+ min: e,
131
+ max: t,
132
+ step: n,
133
+ suffix: "%"
134
+ });
135
+ }
136
+ //#endregion
137
+ export { g as n, v as t };
@@ -1,9 +1,9 @@
1
1
  import { t as e } from "./utils-BLfntITJ.js";
2
2
  import { r as t, t as n } from "./in-dialog-D61Yeaol.js";
3
- import { a as r, c as i, i as a, l as o, n as s, o as c, r as l, s as u, t as d, u as f } from "./use-return-focus-S7g7q_Yn.js";
4
- import { i as p, o as m, r as h, t as g } from "./popover-QQYPWzw6.js";
5
- import { t as _ } from "./use-material-translation-Cx5u36V5.js";
6
- import { n as v, t as y } from "./icon-button-B9WjQ3RO.js";
3
+ import { a as r, c as i, i as a, l as o, n as s, o as c, r as l, s as u, t as d, u as f } from "./use-return-focus-BC4sGh1b.js";
4
+ import { i as p, o as m, r as h, t as g } from "./popover-XBAX2Shp.js";
5
+ import { t as _ } from "./use-material-translation-BW5HZMwt.js";
6
+ import { n as v, t as y } from "./icon-button-BG438okX.js";
7
7
  import { t as b } from "./use-ssr-media-query-C6M5m8sf.js";
8
8
  import { i as x } from "./escape-owner-DpaP0lm1.js";
9
9
  import * as S from "react";
@@ -1,7 +1,7 @@
1
1
  import { t as e } from "./utils-BLfntITJ.js";
2
2
  import { o as t, r as n } from "./dist-DVRQkaTK.js";
3
3
  import { i as r, r as i, t as a } from "./dist-DWZXlCZR.js";
4
- import { S as o, d as s, f as c, l, p as u, u as d, x as f } from "./spinner-D7ol2n_-.js";
4
+ import { S as o, d as s, f as c, l, p as u, u as d, x as f } from "./spinner-rk8J5y9O.js";
5
5
  import { a as p, i as m, r as h } from "./dist-DHdUUM1w.js";
6
6
  import { a as g, c as _, l as v, o as y, r as b, s as x, t as S } from "./in-dialog-D61Yeaol.js";
7
7
  import { i as C } from "./escape-owner-DpaP0lm1.js";
@@ -1,4 +1,4 @@
1
- import { t as e } from "./use-material-translation-Cx5u36V5.js";
1
+ import { t as e } from "./use-material-translation-BW5HZMwt.js";
2
2
  import { n as t } from "./calculator-context-BugcKuVG.js";
3
3
  import { t as n } from "./calculator-announce-DRd2c6Dq.js";
4
4
  import { jsx as r, jsxs as i } from "react/jsx-runtime";
@@ -1,11 +1,11 @@
1
1
  import { t as e } from "./utils-BLfntITJ.js";
2
- import { t } from "./use-material-translation-Cx5u36V5.js";
3
- import { t as n } from "./icon-button-B9WjQ3RO.js";
2
+ import { t } from "./use-material-translation-BW5HZMwt.js";
3
+ import { t as n } from "./icon-button-BG438okX.js";
4
4
  import { n as r } from "./calculator-context-BugcKuVG.js";
5
- import { a as i, n as a, r as o, t as s } from "./pos-types-BIeZGGAs.js";
5
+ import { a as i, n as a, r as o, t as s } from "./pos-types-BFVWeJki.js";
6
6
  import { i as c, n as l, s as u } from "./key-layout-cR79xfGE.js";
7
7
  import { n as d, t as f } from "./currency-B-r3ig11.js";
8
- import { t as p } from "./calculator-segment-BsaxUtzL.js";
8
+ import { t as p } from "./calculator-segment-DQE1EFdw.js";
9
9
  import { useId as m, useState as h } from "react";
10
10
  import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
11
11
  import { ChevronDown as y, X as b } from "lucide-react";
package/dist/print.js CHANGED
@@ -1,4 +1,4 @@
1
- import { i as e, t } from "./translate-material-DlMetRSJ.js";
1
+ import { i as e, t } from "./translate-material-H5GMStyF.js";
2
2
  import { Children as n, createContext as r, isValidElement as i, useCallback as a, useContext as o, useEffect as s, useMemo as c, useState as l } from "react";
3
3
  import { jsx as u, jsxs as d } from "react/jsx-runtime";
4
4
  import { resolvePdfFileName as f } from "@nxgt/material-core/pdf-file-name";
@@ -1,9 +1,9 @@
1
- import { t as e } from "./use-material-translation-Cx5u36V5.js";
1
+ import { t as e } from "./use-material-translation-BW5HZMwt.js";
2
2
  import { t } from "./toggle-FeCCJqbg.js";
3
3
  import { n } from "./calculator-context-BugcKuVG.js";
4
4
  import { i as r, n as i, s as a } from "./key-layout-cR79xfGE.js";
5
5
  import { t as o } from "./programmer-word-CNCF7DJF.js";
6
- import { t as s } from "./calculator-segment-BsaxUtzL.js";
6
+ import { t as s } from "./calculator-segment-DQE1EFdw.js";
7
7
  import { useId as c, useState as l } from "react";
8
8
  import { jsx as u, jsxs as d } from "react/jsx-runtime";
9
9
  import { calculate as f, formatExpression as p, sessionOptions as m, toCanonical as h, tokenize as g } from "@nxgt/material-core/calculator";
@@ -3,25 +3,25 @@ import { n as t } from "./ui.utils-CAnKTCw5.js";
3
3
  import { t as n } from "./utils-BLfntITJ.js";
4
4
  import { o as r } from "./dist-DVRQkaTK.js";
5
5
  import { i, n as a, r as o } from "./dist-DWZXlCZR.js";
6
- import { o as s } from "./spinner-D7ol2n_-.js";
6
+ import { o as s } from "./spinner-rk8J5y9O.js";
7
7
  import { a as c, i as l, n as u } from "./dist-DHdUUM1w.js";
8
8
  import { i as d } from "./dist-DOK3zo5C.js";
9
9
  import { r as f, t as p } from "./in-dialog-D61Yeaol.js";
10
- import { a as m, c as h, i as g, l as _, n as v, o as ee, r as y, s as b, t as te, u as ne } from "./use-return-focus-S7g7q_Yn.js";
11
- import { c as x, d as S, f as C, i as w, l as T, n as E, o as D, t as re, u as O } from "./dropdown-menu-CawkIlW8.js";
12
- import { a as k, b as ie, d as ae, f as oe, i as se, n as A, o as ce, r as le, s as j, t as M, u as ue, v as de } from "./toolbar-items-BpOEBsSt.js";
10
+ import { a as m, c as h, i as g, l as _, n as v, o as ee, r as y, s as b, t as te, u as ne } from "./use-return-focus-BC4sGh1b.js";
11
+ import { c as x, d as S, f as C, i as w, l as T, n as E, o as D, t as re, u as O } from "./dropdown-menu-BvtBDoSD.js";
12
+ import { a as k, b as ie, d as ae, f as oe, i as se, n as A, o as ce, r as le, s as j, t as M, u as ue, v as de } from "./toolbar-items-Bo-nMzKJ.js";
13
13
  import { t as fe } from "./dist-DkQbkF9T.js";
14
- import { t as pe } from "./button-CozGHXAv.js";
15
- import { t as N } from "./use-material-translation-Cx5u36V5.js";
16
- import { n as me, t as he } from "./icon-button-B9WjQ3RO.js";
14
+ import { t as pe } from "./button-Z_xcg10A.js";
15
+ import { t as N } from "./use-material-translation-BW5HZMwt.js";
16
+ import { n as me, t as he } from "./icon-button-BG438okX.js";
17
17
  import { t as ge } from "./useEvent-2fKq-6w8.js";
18
18
  import { n as _e, t as ve } from "./toggle-group-CVMxEpWi.js";
19
19
  import { i as ye } from "./escape-owner-DpaP0lm1.js";
20
20
  import { n as be } from "./use-slice-reducer-BGkeGtML.js";
21
21
  import { t as xe } from "./input-CC2joTjB.js";
22
22
  import { r as Se } from "./use-csp-nonce-ZKs9k-ov.js";
23
- import { n as Ce, t as we } from "./empty-state-sRVjgCis.js";
24
- import { r as Te, t as Ee, u as De } from "./dialog-H40HjqXN.js";
23
+ import { n as Ce, t as we } from "./empty-state-n2zb23YG.js";
24
+ import { r as Te, t as Ee, u as De } from "./dialog-CFuONiW5.js";
25
25
  import { t as Oe } from "./client-only.utils-3nHNzCki.js";
26
26
  import { t as ke } from "./use-scroll-away-PQRFZkT2.js";
27
27
  import * as P from "react";
@@ -1,7 +1,7 @@
1
- import { n as e } from "./spinner-D7ol2n_-.js";
2
- import { c as t, n, t as r } from "./dropdown-menu-CawkIlW8.js";
3
- import { t as i } from "./use-material-translation-Cx5u36V5.js";
4
- import { a, i as o, n as s, o as c, t as l } from "./code-language-items-BUaNYJuw.js";
1
+ import { n as e } from "./spinner-rk8J5y9O.js";
2
+ import { c as t, n, t as r } from "./dropdown-menu-BvtBDoSD.js";
3
+ import { t as i } from "./use-material-translation-BW5HZMwt.js";
4
+ import { a, i as o, n as s, o as c, t as l } from "./code-language-items-BVfxGKiv.js";
5
5
  import { i as u, n as d, r as f, s as p } from "./dist-C3GR7kJd.js";
6
6
  import { t as m } from "./code-block-spec-CGLKRhwD.js";
7
7
  import { Suspense as h, lazy as g, useEffect as _, useRef as v, useState as y } from "react";
@@ -143,7 +143,7 @@ function M({ node: e, editor: t, updateAttributes: n, editable: r, wrap: a, onWr
143
143
  }
144
144
  //#endregion
145
145
  //#region lib/components/ui/widgets/editor/extensions/code/code-block-open.tsx
146
- var N = g(() => import("./code-editor-BWfky-aN.js").then((e) => e.n).then((e) => ({ default: e.CodeEditor })));
146
+ var N = g(() => import("./code-editor-Cw-dOrn2.js").then((e) => e.n).then((e) => ({ default: e.CodeEditor })));
147
147
  function P() {
148
148
  let { t: e } = i();
149
149
  return /* @__PURE__ */ b("div", {
@@ -1,9 +1,9 @@
1
- import { t as e } from "./use-material-translation-Cx5u36V5.js";
1
+ import { t as e } from "./use-material-translation-BW5HZMwt.js";
2
2
  import { t } from "./toggle-FeCCJqbg.js";
3
3
  import { n } from "./calculator-context-BugcKuVG.js";
4
4
  import { i as r, o as i } from "./key-layout-cR79xfGE.js";
5
5
  import { t as a } from "./standard-layout-BuSRr3TY.js";
6
- import { t as o } from "./calculator-segment-BsaxUtzL.js";
6
+ import { t as o } from "./calculator-segment-DQE1EFdw.js";
7
7
  import { jsx as s, jsxs as c } from "react/jsx-runtime";
8
8
  import { scientificOptions as l } from "@nxgt/material-core/calculator/scientific";
9
9
  //#region lib/components/ui/widgets/calculator/variants/scientific/scientific-layout.ts
@@ -1,7 +1,7 @@
1
1
  import { t as e } from "./utils-BLfntITJ.js";
2
2
  import { t } from "./dist-DVRQkaTK.js";
3
- import { t as n } from "./use-material-translation-Cx5u36V5.js";
4
- import { t as r } from "./icon-button-B9WjQ3RO.js";
3
+ import { t as n } from "./use-material-translation-BW5HZMwt.js";
4
+ import { t as r } from "./icon-button-BG438okX.js";
5
5
  import { t as i } from "./compose-refs-G4J4kaUA.js";
6
6
  import a, { cloneElement as o, createContext as s, forwardRef as c, memo as l, useCallback as u, useContext as d, useEffect as f, useId as p, useLayoutEffect as m, useMemo as h, useReducer as g, useRef as _, useState as v } from "react";
7
7
  import { jsx as y } from "react/jsx-runtime";
@@ -5,7 +5,7 @@ import { a as i, i as a, n as o, r as s, t as c } from "./dist-DWZXlCZR.js";
5
5
  import { a as l, i as u, n as d, r as f, t as p } from "./dist-DHdUUM1w.js";
6
6
  import { a as m, c as h, d as g, i as _, l as v, o as y, r as b, t as x, u as S } from "./floating-ui.dom-KkZSW8_E.js";
7
7
  import { t as C } from "./dist-DkQbkF9T.js";
8
- import { t as w } from "./use-material-translation-Cx5u36V5.js";
8
+ import { t as w } from "./use-material-translation-BW5HZMwt.js";
9
9
  import * as T from "react";
10
10
  import { useLayoutEffect as E, useRef as D, useSyncExternalStore as O } from "react";
11
11
  import { jsx as k, jsxs as A } from "react/jsx-runtime";
package/dist/styles.css CHANGED
@@ -92,10 +92,12 @@
92
92
  --color-error-text: var(--error-text);
93
93
  --color-success: var(--success);
94
94
  --color-success-foreground: var(--success-foreground);
95
+ --color-success-text: var(--success-text);
95
96
  --color-info: var(--info);
96
97
  --color-info-foreground: var(--info-foreground);
97
98
  --color-warning: var(--warning);
98
99
  --color-warning-foreground: var(--warning-foreground);
100
+ --color-warning-text: var(--warning-text);
99
101
  --color-destructive: var(--destructive);
100
102
  --color-border: var(--border);
101
103
  --color-input: var(--input);
@@ -3,7 +3,7 @@ import { n as t } from "./dist-DVRQkaTK.js";
3
3
  import { i as n, r, t as i } from "./dist-DWZXlCZR.js";
4
4
  import { a, i as o, r as s } from "./dist-DHdUUM1w.js";
5
5
  import { i as c, n as l, r as u, t as d } from "./dist-DOK3zo5C.js";
6
- import { t as f } from "./use-material-translation-Cx5u36V5.js";
6
+ import { t as f } from "./use-material-translation-BW5HZMwt.js";
7
7
  import * as p from "react";
8
8
  import { createContext as m, useCallback as h, useContext as g, useEffect as ee, useLayoutEffect as _, useRef as v, useState as te } from "react";
9
9
  import { Fragment as ne, jsx as y, jsxs as b } from "react/jsx-runtime";
@@ -0,0 +1,169 @@
1
+ import { t as e } from "./utils-BLfntITJ.js";
2
+ import { a as t, i as n, n as r } from "./field-blur-context-BLGgf_3z.js";
3
+ import { t as i } from "./dist-DkQbkF9T.js";
4
+ import { t as a } from "./icon-button-BG438okX.js";
5
+ import { t as o } from "./compose-refs-G4J4kaUA.js";
6
+ import { a as s, o as c, t as l } from "./input-CC2joTjB.js";
7
+ import { isValidElement as u, useEffect as d, useId as f, useMemo as p, useRef as m, useState as h } from "react";
8
+ import { jsx as g, jsxs as _ } from "react/jsx-runtime";
9
+ import { describedBy as v } from "@nxgt/material-core/described-by";
10
+ //#region lib/components/ui/primitives/input-group/input-group.tsx
11
+ function y({ className: t, ...n }) {
12
+ return /* @__PURE__ */ g("div", {
13
+ "data-slot": "input-group",
14
+ role: "group",
15
+ className: e(c, "group/input-group relative flex w-full items-center outline-none", "h-11 max-h-full min-w-0 has-[>textarea]:h-auto", "has-[>[data-align=inline-start]]:[&>input]:ps-2", "has-[>[data-align=inline-end]]:[&>input]:pe-2", "has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3", "has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3", t),
16
+ ...n
17
+ });
18
+ }
19
+ var b = i("flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none [&>kbd]:rounded-field-inner [&>svg:not([class*='size-'])]:size-4", {
20
+ variants: { align: {
21
+ "inline-start": "order-first ps-3 has-[>button]:ps-[0.3rem] has-[>kbd]:ps-[0.4rem]",
22
+ "inline-end": "order-last pe-3 has-[>button]:pe-[0.3rem] has-[>kbd]:pe-[0.4rem]",
23
+ "block-start": "order-first w-full justify-start px-3 pt-3 group-has-[>input]/input-group:pt-2.5 [.border-b]:pb-3",
24
+ "block-end": "order-last w-full justify-start px-3 pb-3 group-has-[>input]/input-group:pb-2.5 [.border-t]:pt-3"
25
+ } },
26
+ defaultVariants: { align: "inline-start" }
27
+ });
28
+ function x({ className: t, align: n = "inline-start", ...r }) {
29
+ return /* @__PURE__ */ g("div", {
30
+ role: "group",
31
+ "data-slot": "input-group-addon",
32
+ "data-align": n,
33
+ className: e(b({ align: n }), t),
34
+ onClick: (e) => {
35
+ e.target.closest("button") || e.currentTarget.parentElement?.querySelector("input")?.focus();
36
+ },
37
+ ...r
38
+ });
39
+ }
40
+ function S({ className: t, type: n = "button", variant: r = "ghost", ...i }) {
41
+ return /* @__PURE__ */ g(a, {
42
+ type: n,
43
+ variant: r,
44
+ className: e("size-8", t),
45
+ ...i
46
+ });
47
+ }
48
+ function C({ className: t, ...n }) {
49
+ return /* @__PURE__ */ g("span", {
50
+ className: e("flex items-center gap-2 text-sm text-muted-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4", t),
51
+ ...n
52
+ });
53
+ }
54
+ function w({ className: t, type: n = "text", ...r }) {
55
+ return /* @__PURE__ */ g("input", {
56
+ type: n,
57
+ "data-slot": "input-group-control",
58
+ "data-pw": r.name ?? "input",
59
+ className: e("h-full w-full min-w-0 flex-1 bg-transparent px-2 py-1 text-base outline-none md:text-sm", "pointer-coarse:-my-px pointer-coarse:h-[calc(100%+2px)]", "placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground disabled:pointer-events-none", t),
60
+ ...r,
61
+ placeholder: s(r.placeholder, n)
62
+ });
63
+ }
64
+ function T({ className: t, ...n }) {
65
+ return /* @__PURE__ */ g("textarea", {
66
+ "data-slot": "input-group-control",
67
+ "data-pw": n.name ?? "textarea",
68
+ className: e("field-sizing-content min-h-16 w-full min-w-[min(280px,100%)] flex-1 resize-none bg-transparent px-3 py-3 text-base outline-none md:text-sm", "placeholder:text-muted-foreground disabled:pointer-events-none", t),
69
+ ...n,
70
+ placeholder: s(n.placeholder, "text")
71
+ });
72
+ }
73
+ //#endregion
74
+ //#region lib/components/ui/fields/text-field/text-field-units.tsx
75
+ function E(e, t, n) {
76
+ return e === "password" && t ? "•".repeat(t.length) : t || n || " ";
77
+ }
78
+ var D = "button, a, input, select, textarea, label, [role=button], [role=menuitem]";
79
+ function O(e, t) {
80
+ e.defaultPrevented || e.target.closest(D) || t?.focus();
81
+ }
82
+ function k({ align: t, node: n }) {
83
+ return n ? /* @__PURE__ */ g(x, {
84
+ align: t,
85
+ "data-slot": t === "inline-start" ? "text-field-leading" : "text-field-trailing",
86
+ className: e("flex-none py-1 text-base md:text-sm font-normal whitespace-nowrap tabular-nums", u(n) && "[&>*]:size-8 pointer-coarse:[&>*]:size-11"),
87
+ children: n
88
+ }) : null;
89
+ }
90
+ function A({ leading: t, trailing: n, ref: r, ...i }) {
91
+ let a = i.value !== void 0, [s, c] = h(null), l = m(null), u = p(() => o(l, r), [r]);
92
+ d(() => {
93
+ let e = l.current?.form;
94
+ if (!e || a) return;
95
+ let t = () => c(null);
96
+ return e.addEventListener("reset", t), () => e.removeEventListener("reset", t);
97
+ }, [a]);
98
+ let f = a ? String(i.value ?? "") : s ?? String(i.defaultValue ?? ""), v = E(i.type, f, i.placeholder);
99
+ return /* @__PURE__ */ _(y, {
100
+ className: "gap-1",
101
+ onClick: (e) => O(e, l.current),
102
+ children: [
103
+ /* @__PURE__ */ g(k, {
104
+ align: "inline-start",
105
+ node: t
106
+ }),
107
+ /* @__PURE__ */ g("span", {
108
+ "data-slot": "text-field-value",
109
+ "data-value": v,
110
+ className: e("inline-grid h-full max-w-full min-w-4 items-center text-base md:text-sm", "after:invisible after:col-start-1 after:row-start-1 after:whitespace-pre after:content-[attr(data-value)]", n ? "flex-none shrink" : "flex-1", t ? "pointer-coarse:min-w-11" : "ps-3 pointer-coarse:min-w-14", !n && "pe-3"),
111
+ children: /* @__PURE__ */ g(w, {
112
+ ...i,
113
+ ref: u,
114
+ className: "col-start-1 row-start-1 w-0 min-w-full px-0 md:pb-1.5 [font:inherit] [font-variant-numeric:inherit] [letter-spacing:inherit]",
115
+ onChange: (e) => {
116
+ a || c(e.target.value), i.onChange?.(e);
117
+ }
118
+ })
119
+ }),
120
+ /* @__PURE__ */ g(k, {
121
+ align: "inline-end",
122
+ node: n
123
+ })
124
+ ]
125
+ });
126
+ }
127
+ //#endregion
128
+ //#region lib/components/ui/fields/text-field/text-field.tsx
129
+ function j({ error: i, helperText: a, label: o, className: s, leading: c, trailing: d, ...p }) {
130
+ let m = r(), h = f(), y = f(), b = v(p["aria-describedby"], !!a && y), x = !!c && !u(c), S = !!d && !u(d), C = {
131
+ "aria-invalid": i,
132
+ ...p,
133
+ id: p.id ?? h,
134
+ "aria-describedby": b
135
+ }, w = x || S ? /* @__PURE__ */ g(A, {
136
+ ...C,
137
+ leading: c,
138
+ trailing: d
139
+ }) : /* @__PURE__ */ _("div", {
140
+ className: e("relative", {
141
+ "*:first:size-8 *:first:absolute *:first:top-[calc(50%-16px)] *:first:left-1.5 [&_input]:pl-10 *:first:text-muted-foreground": !!c,
142
+ "*:last:size-8 *:last:absolute *:last:top-[calc(50%-16px)] *:last:right-1.5 *:last:pointer-coarse:size-11 *:last:pointer-coarse:top-[calc(50%-22px)] *:last:pointer-coarse:right-0 [&_input]:pr-.5 *:last:text-muted-foreground": !!d
143
+ }),
144
+ children: [
145
+ c,
146
+ /* @__PURE__ */ g(l, { ...C }),
147
+ d
148
+ ]
149
+ });
150
+ return /* @__PURE__ */ _("div", {
151
+ ref: m,
152
+ "data-slot": "text-field",
153
+ className: e("grid w-full content-start gap-1.5", s),
154
+ children: [/* @__PURE__ */ g(n, {
155
+ withAsterisk: p.required,
156
+ htmlFor: p.id ?? h,
157
+ children: o
158
+ }), /* @__PURE__ */ _("div", {
159
+ className: "flex flex-col gap-0.5",
160
+ children: [w, a ? /* @__PURE__ */ g(t, {
161
+ id: y,
162
+ error: i,
163
+ children: a
164
+ }) : null]
165
+ })]
166
+ });
167
+ }
168
+ //#endregion
169
+ export { w as a, S as i, y as n, C as o, x as r, T as s, j as t };
@@ -1,10 +1,10 @@
1
1
  import { t as e } from "./utils-BLfntITJ.js";
2
2
  import { a as t, i as n, n as r, o as i, r as a, t as o } from "./bubble-input-CQwVSoU3.js";
3
3
  import { a as s, r as c } from "./icon-sprites-CaYXzOL4.js";
4
- import { t as l } from "./use-material-translation-Cx5u36V5.js";
4
+ import { t as l } from "./use-material-translation-BW5HZMwt.js";
5
5
  import { t as u } from "./use-theme-BCLireTd.js";
6
6
  import { a as d, r as f } from "./theme-context-Cofk6vgs.js";
7
- import { t as p } from "./theme-toggle-QZ0bIrg9.js";
7
+ import { t as p } from "./theme-toggle-5waw9Wk8.js";
8
8
  import { n as m, t as h } from "./nxgt-theme-DA1IQe0O.js";
9
9
  import { useContext as g } from "react";
10
10
  import { jsx as _, jsxs as v } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- import { t as e } from "./use-material-translation-Cx5u36V5.js";
1
+ import { t as e } from "./use-material-translation-BW5HZMwt.js";
2
2
  import { i as t } from "./theme-store-BdPp43cV.js";
3
3
  import { n, t as r } from "./use-theme-BCLireTd.js";
4
4
  import { r as i } from "./theme-context-Cofk6vgs.js";
@@ -1,15 +1,15 @@
1
1
  import { t as e } from "./utils-BLfntITJ.js";
2
2
  import { o as t, t as n } from "./dist-DVRQkaTK.js";
3
3
  import { i as r, r as i } from "./dist-DWZXlCZR.js";
4
- import { n as a } from "./spinner-D7ol2n_-.js";
4
+ import { n as a } from "./spinner-rk8J5y9O.js";
5
5
  import { a as o } from "./dist-DHdUUM1w.js";
6
6
  import { i as s, n as c, r as l, t as u } from "./dist-DOK3zo5C.js";
7
7
  import { t as d } from "./in-dialog-D61Yeaol.js";
8
- import { A as f, M as p, N as m, b as h, d as g, f as _, i as v, j as y, l as b, n as x, o as S, r as C, t as w, u as T, y as ee } from "./dropdown-menu-CawkIlW8.js";
9
- import { a as te, n as ne } from "./popover-QQYPWzw6.js";
8
+ import { A as f, M as p, N as m, b as h, d as g, f as _, i as v, j as y, l as b, n as x, o as S, r as C, t as w, u as T, y as ee } from "./dropdown-menu-BvtBDoSD.js";
9
+ import { a as te, n as ne } from "./popover-XBAX2Shp.js";
10
10
  import { i as re, n as ie, r as ae, t as oe } from "./dist-BZe2evxL.js";
11
11
  import { t as se } from "./warn-once-C_e47JM8.js";
12
- import { t as ce } from "./use-material-translation-Cx5u36V5.js";
12
+ import { t as ce } from "./use-material-translation-BW5HZMwt.js";
13
13
  import * as E from "react";
14
14
  import { createContext as D, useCallback as le, useContext as O, useEffect as k, useId as ue, useLayoutEffect as A, useMemo as j, useReducer as de, useRef as M, useState as N } from "react";
15
15
  import { Fragment as P, jsx as F, jsxs as I } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- import { a as e, l as t, r as n, s as r, t as i, u as a } from "./translator-VtzVrnLm.js";
1
+ import { a as e, l as t, r as n, s as r, t as i, u as a } from "./translator-gdpQeToI.js";
2
2
  import { createContext as o, useCallback as s, useContext as c, useEffect as l, useMemo as u, useRef as d, useState as f } from "react";
3
3
  import { jsx as p } from "react/jsx-runtime";
4
4
  //#region lib/i18n/material-resources-registry.ts
@@ -1328,8 +1328,11 @@ var r = {
1328
1328
  "increase-named": "Increase {label}"
1329
1329
  },
1330
1330
  "quantity-field": {
1331
+ search: "Search or type a unit",
1331
1332
  unit: "Unit",
1332
- "unit-named": "{label} unit"
1333
+ "unit-chip": "Unit: {label}",
1334
+ "unit-named": "{label} unit",
1335
+ "use-typed": "Use “{unit}”"
1333
1336
  },
1334
1337
  "markdown-textarea-field": {
1335
1338
  write: "Write",
@@ -3465,7 +3468,9 @@ var r = {
3465
3468
  steps: "Progress",
3466
3469
  "rail-toggle": "Navigation menu",
3467
3470
  "panel-collapse": "Collapse the panel",
3468
- "panel-expand": "Expand the panel"
3471
+ "panel-expand": "Expand the panel",
3472
+ "group-collapse": "Collapse the group",
3473
+ "group-expand": "Expand the group"
3469
3474
  },
3470
3475
  dashboard: {
3471
3476
  edit: "Edit layout",
@@ -4837,8 +4842,11 @@ var r = {
4837
4842
  "increase-named": "Augmenter {label}"
4838
4843
  },
4839
4844
  "quantity-field": {
4845
+ search: "Rechercher ou saisir une unité",
4840
4846
  unit: "Unité",
4841
- "unit-named": "Unité de {label}"
4847
+ "unit-chip": "Unité : {label}",
4848
+ "unit-named": "Unité de {label}",
4849
+ "use-typed": "Utiliser « {unit} »"
4842
4850
  },
4843
4851
  "markdown-textarea-field": {
4844
4852
  write: "Écrire",
@@ -6974,7 +6982,9 @@ var r = {
6974
6982
  steps: "Progression",
6975
6983
  "rail-toggle": "Menu de navigation",
6976
6984
  "panel-collapse": "Replier le panneau",
6977
- "panel-expand": "Déplier le panneau"
6985
+ "panel-expand": "Déplier le panneau",
6986
+ "group-collapse": "Replier le groupe",
6987
+ "group-expand": "Déplier le groupe"
6978
6988
  },
6979
6989
  dashboard: {
6980
6990
  edit: "Modifier la disposition",