@nxgt/material 3.79.1 → 3.81.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 (352) hide show
  1. package/CHANGELOG.md +94 -0
  2. package/README.md +48 -8
  3. package/dist/{alert-dialog-653apk3f.js → alert-dialog-DOZ0SfQs.js} +1 -1
  4. package/dist/{async-slice-CXLbQuOc.js → async-slice-BfVokA46.js} +1 -1
  5. package/dist/{button-3op3rtZh.js → button-CSKUtMI3.js} +2 -2
  6. package/dist/{calculator-KqIMBXSh.js → calculator-Cv00UQgR.js} +10 -10
  7. package/dist/calculator-field.js +6 -6
  8. package/dist/{calculator-segment-BlJE1LaS.js → calculator-segment-CwnC2cV_.js} +1 -1
  9. package/dist/calculator.js +1 -1
  10. package/dist/charts.js +3 -3
  11. package/dist/{chip-MuKDwtkG.js → chip-BGn0V6Pt.js} +3 -3
  12. package/dist/{code-editor-Bp2RrdNx.js → code-editor-B25-mWhb.js} +4 -4
  13. package/dist/code-editor.js +4 -4
  14. package/dist/{code-language-items-B7WR5ua_.js → code-language-items-oRjtO3qV.js} +2 -2
  15. package/dist/components/base-content.css +11 -0
  16. package/dist/components/components.css +5 -0
  17. package/dist/components/ui/actions/fab/fab-dock.css +19 -6
  18. package/dist/components/ui/collections/data-table/data-table-items-tiles.css +27 -1
  19. package/dist/components/ui/display/tube-cap/tube-cap.css +87 -0
  20. package/dist/components/ui/layout/app-search/app-search.css +62 -0
  21. package/dist/components/ui/layout/app-shell/activity-backdrop.css +10 -2
  22. package/dist/components/ui/layout/app-shell/app-header.css +108 -0
  23. package/dist/components/ui/layout/navigation-toolbar/navigation-toolbar.css +43 -0
  24. package/dist/{components-CTyNC_zW.js → components-B00kDHzJ.js} +23101 -18734
  25. package/dist/components.js +37 -37
  26. package/dist/{conversion-variant-BDFAxqe9.js → conversion-variant-wZd-G6xR.js} +3 -3
  27. package/dist/{currency-field-DWHB5oms.js → currency-field-DizBTAat.js} +4 -4
  28. package/dist/{date.utils-DUvqcjan.js → date.utils-JTEIo3mM.js} +98 -98
  29. package/dist/{dialog-Bm5LvVlB.js → dialog-B-3s-oXt.js} +3 -3
  30. package/dist/dnd.js +2 -2
  31. package/dist/{dropdown-menu-xlZ6NYUA.js → dropdown-menu-C6rcYGB9.js} +1 -1
  32. package/dist/editor.js +19 -19
  33. package/dist/{empty-state-C0kviQdW.js → empty-state-CSkghnD9.js} +1 -1
  34. package/dist/{financial-variant-CggTpad2.js → financial-variant-igpGRbGw.js} +5 -5
  35. package/dist/{hooks-Dg94jPRq.js → hooks-DvIsom2p.js} +2 -2
  36. package/dist/hooks.js +9 -8
  37. package/dist/{hover-card-B1g55Hi6.js → hover-card-DuaVVKMb.js} +1 -1
  38. package/dist/i18n.js +3 -3
  39. package/dist/{icon-badge-BcW66bRk.js → icon-badge-3ThP6EOl.js} +1 -1
  40. package/dist/{icon-button-Cogxy1cy.js → icon-button-4PKlaI1g.js} +2 -2
  41. package/dist/lib/components/ui/actions/button/button-tones.d.ts +17 -16
  42. package/dist/lib/components/ui/collections/day-grouped-list/day-grouped-list.d.ts +6 -1
  43. package/dist/lib/components/ui/collections/filter/use-filter-field-config.d.ts +2 -0
  44. package/dist/lib/components/ui/collections/server-table/types-states.d.ts +5 -1
  45. package/dist/lib/components/ui/display/index.d.ts +1 -0
  46. package/dist/lib/components/ui/display/tube-cap/index.d.ts +2 -0
  47. package/dist/lib/components/ui/display/tube-cap/tube-cap.d.ts +27 -0
  48. package/dist/lib/components/ui/display/tube-cap/tube-cap.kinds.d.ts +7 -0
  49. package/dist/lib/components/ui/fields/contacts/placeholders.d.ts +1 -1
  50. package/dist/lib/components/ui/fields/repeatable-group/partials/repeatable-group-row.d.ts +3 -1
  51. package/dist/lib/components/ui/fields/repeatable-group/partials/repeatable-group-rows.d.ts +2 -1
  52. package/dist/lib/components/ui/fields/repeatable-group/repeatable-group.d.ts +1 -1
  53. package/dist/lib/components/ui/fields/repeatable-group/types.d.ts +7 -0
  54. package/dist/lib/components/ui/layout/app-bar/top-app-bar.d.ts +18 -3
  55. package/dist/lib/components/ui/layout/app-search/app-search-bar.d.ts +11 -0
  56. package/dist/lib/components/ui/layout/app-search/app-search.types.d.ts +47 -0
  57. package/dist/lib/components/ui/layout/app-search/index.d.ts +3 -0
  58. package/dist/lib/components/ui/layout/app-search/partials/on-phone.d.ts +2 -0
  59. package/dist/lib/components/ui/layout/app-search/partials/phone-search.d.ts +3 -0
  60. package/dist/lib/components/ui/layout/app-search/partials/pill-search.d.ts +3 -0
  61. package/dist/lib/components/ui/layout/app-search/pill-form.d.ts +18 -0
  62. package/dist/lib/components/ui/layout/app-search/search-panel.d.ts +24 -0
  63. package/dist/lib/components/ui/layout/app-search/search-results.d.ts +14 -0
  64. package/dist/lib/components/ui/layout/app-search/search-shortcut.d.ts +15 -0
  65. package/dist/lib/components/ui/layout/app-search/search-view.d.ts +22 -0
  66. package/dist/lib/components/ui/layout/app-search/use-pill-panel.d.ts +22 -0
  67. package/dist/lib/components/ui/layout/app-search/use-search-text.d.ts +8 -0
  68. package/dist/lib/components/ui/layout/app-shell/activity-app-bar.d.ts +35 -0
  69. package/dist/lib/components/ui/layout/app-shell/activity-chrome.d.ts +26 -3
  70. package/dist/lib/components/ui/layout/app-shell/activity-column-props.d.ts +22 -0
  71. package/dist/lib/components/ui/layout/app-shell/activity-column.d.ts +10 -2
  72. package/dist/lib/components/ui/layout/app-shell/activity-layout-navigation.types.d.ts +94 -0
  73. package/dist/lib/components/ui/layout/app-shell/activity-layout.d.ts +8 -1
  74. package/dist/lib/components/ui/layout/app-shell/activity-layout.types.d.ts +2 -1
  75. package/dist/lib/components/ui/layout/app-shell/activity-rails.d.ts +16 -0
  76. package/dist/lib/components/ui/layout/app-shell/activity-sidebar-lane.d.ts +22 -0
  77. package/dist/lib/components/ui/layout/app-shell/activity-top-nav.d.ts +11 -0
  78. package/dist/lib/components/ui/layout/app-shell/activity-two-level-lane.d.ts +14 -0
  79. package/dist/lib/components/ui/layout/app-shell/app-back.d.ts +22 -0
  80. package/dist/lib/components/ui/layout/app-shell/app-header-row.d.ts +3 -0
  81. package/dist/lib/components/ui/layout/app-shell/app-header.d.ts +33 -1
  82. package/dist/lib/components/ui/layout/app-shell/app-shell.utils.d.ts +8 -0
  83. package/dist/lib/components/ui/layout/app-shell/app-sidebar-entries.d.ts +13 -0
  84. package/dist/lib/components/ui/layout/app-shell/app-sidebar-label-item.d.ts +3 -1
  85. package/dist/lib/components/ui/layout/app-shell/bottom-chrome.d.ts +13 -0
  86. package/dist/lib/components/ui/layout/app-shell/header-title.d.ts +18 -2
  87. package/dist/lib/components/ui/layout/app-shell/header.utils.d.ts +37 -0
  88. package/dist/lib/components/ui/layout/app-shell/index.d.ts +3 -0
  89. package/dist/lib/components/ui/layout/app-shell/navigation-parts.d.ts +38 -0
  90. package/dist/lib/components/ui/layout/app-shell/navigation.utils.d.ts +36 -0
  91. package/dist/lib/components/ui/layout/app-shell/page-title-scope.d.ts +14 -0
  92. package/dist/lib/components/ui/layout/app-shell/page-title.d.ts +12 -1
  93. package/dist/lib/components/ui/layout/app-shell/shell-scroll.d.ts +32 -0
  94. package/dist/lib/components/ui/layout/app-shell/sticky-offset.d.ts +8 -0
  95. package/dist/lib/components/ui/layout/app-shell/types.d.ts +14 -0
  96. package/dist/lib/components/ui/layout/app-shell/use-focus-while-hidden.d.ts +9 -0
  97. package/dist/lib/components/ui/layout/app-shell/use-header-height.d.ts +12 -0
  98. package/dist/lib/components/ui/layout/app-shell/use-header-scroll.d.ts +19 -0
  99. package/dist/lib/components/ui/layout/app-shell/use-shell-header.d.ts +20 -0
  100. package/dist/lib/components/ui/layout/auth-card/auth-card-split.d.ts +14 -0
  101. package/dist/lib/components/ui/layout/auth-card/auth-card.d.ts +13 -1
  102. package/dist/lib/components/ui/layout/dashboard-grid/dashboard-grid-context.d.ts +21 -0
  103. package/dist/lib/components/ui/layout/dashboard-grid/dashboard-grid.d.ts +9 -0
  104. package/dist/lib/components/ui/layout/dashboard-grid/dashboard-grid.state.d.ts +30 -0
  105. package/dist/lib/components/ui/layout/dashboard-grid/dashboard-grid.tiles.d.ts +8 -0
  106. package/dist/lib/components/ui/layout/dashboard-grid/dashboard-grid.types.d.ts +50 -0
  107. package/dist/lib/components/ui/layout/dashboard-grid/dashboard-grid.utils.d.ts +70 -0
  108. package/dist/lib/components/ui/layout/dashboard-grid/dashboard-tile.d.ts +7 -0
  109. package/dist/lib/components/ui/layout/dashboard-grid/index.d.ts +4 -0
  110. package/dist/lib/components/ui/layout/dashboard-grid/partials/dashboard-announcer.d.ts +6 -0
  111. package/dist/lib/components/ui/layout/dashboard-grid/partials/dashboard-edit-bar.d.ts +11 -0
  112. package/dist/lib/components/ui/layout/dashboard-grid/partials/dashboard-move-buttons.d.ts +9 -0
  113. package/dist/lib/components/ui/layout/dashboard-grid/partials/dashboard-toolbar.d.ts +7 -0
  114. package/dist/lib/components/ui/layout/dashboard-grid/use-dashboard-grid.d.ts +21 -0
  115. package/dist/lib/components/ui/layout/dashboard-grid/use-dashboard-moves.d.ts +22 -0
  116. package/dist/lib/components/ui/layout/doc/doc-context.d.ts +2 -0
  117. package/dist/lib/components/ui/layout/doc/doc.d.ts +5 -0
  118. package/dist/lib/components/ui/layout/doc/index.d.ts +1 -1
  119. package/dist/lib/components/ui/layout/doc/partials/doc-embedded-bar.d.ts +9 -0
  120. package/dist/lib/components/ui/layout/doc/partials/doc-embedded.d.ts +8 -0
  121. package/dist/lib/components/ui/layout/doc/use-doc.d.ts +9 -1
  122. package/dist/lib/components/ui/layout/editor-layout/editor-layout.d.ts +14 -0
  123. package/dist/lib/components/ui/layout/editor-layout/editor-layout.types.d.ts +31 -0
  124. package/dist/lib/components/ui/layout/editor-layout/index.d.ts +4 -0
  125. package/dist/lib/components/ui/layout/editor-layout/partials/editor-layout-body.d.ts +11 -0
  126. package/dist/lib/components/ui/layout/editor-layout/partials/editor-layout-canvas.d.ts +8 -0
  127. package/dist/lib/components/ui/layout/editor-layout/partials/editor-layout-context.d.ts +12 -0
  128. package/dist/lib/components/ui/layout/editor-layout/partials/editor-layout-start.d.ts +8 -0
  129. package/dist/lib/components/ui/layout/editor-layout/partials/editor-layout-triggers.d.ts +10 -0
  130. package/dist/lib/components/ui/layout/editor-layout/partials/use-editor-layout-names.d.ts +8 -0
  131. package/dist/lib/components/ui/layout/editor-layout/partials/use-editor-layout-state.d.ts +21 -0
  132. package/dist/lib/components/ui/layout/index.d.ts +9 -0
  133. package/dist/lib/components/ui/layout/landing/index.d.ts +6 -0
  134. package/dist/lib/components/ui/layout/landing/landing-layout.d.ts +15 -0
  135. package/dist/lib/components/ui/layout/landing/landing-layout.types.d.ts +27 -0
  136. package/dist/lib/components/ui/layout/landing/landing-section.d.ts +12 -0
  137. package/dist/lib/components/ui/layout/landing/landing-section.types.d.ts +32 -0
  138. package/dist/lib/components/ui/layout/landing/landing.classes.d.ts +20 -0
  139. package/dist/lib/components/ui/layout/landing/partials/landing-header.d.ts +11 -0
  140. package/dist/lib/components/ui/layout/landing/partials/landing-section-intro.d.ts +13 -0
  141. package/dist/lib/components/ui/layout/landing/partials/site-footer-group.d.ts +8 -0
  142. package/dist/lib/components/ui/layout/landing/site-footer.d.ts +13 -0
  143. package/dist/lib/components/ui/layout/landing/site-footer.types.d.ts +29 -0
  144. package/dist/lib/components/ui/layout/list-details-layout/internal.d.ts +2 -0
  145. package/dist/lib/components/ui/layout/list-details-layout/list-details-layout.d.ts +9 -17
  146. package/dist/lib/components/ui/layout/list-details-layout/partials/history-mark.d.ts +2 -0
  147. package/dist/lib/components/ui/layout/list-details-layout/partials/list-details-context.d.ts +17 -1
  148. package/dist/lib/components/ui/layout/list-details-layout/partials/list-details-history.d.ts +8 -0
  149. package/dist/lib/components/ui/layout/list-details-layout/partials/list-details-inspector.d.ts +21 -0
  150. package/dist/lib/components/ui/layout/list-details-layout/partials/list-details-layout.types.d.ts +47 -0
  151. package/dist/lib/components/ui/layout/list-details-layout/partials/list-details-resizer.d.ts +9 -0
  152. package/dist/lib/components/ui/layout/list-details-layout/partials/list-details-root.d.ts +3 -0
  153. package/dist/lib/components/ui/layout/list-details-layout/partials/list-details-trigger.d.ts +13 -4
  154. package/dist/lib/components/ui/layout/list-details-layout/partials/use-inspector-focus.d.ts +8 -0
  155. package/dist/lib/components/ui/layout/list-details-layout/partials/use-list-details-param.d.ts +26 -0
  156. package/dist/lib/components/ui/layout/list-details-layout/partials/use-list-details-state.d.ts +15 -0
  157. package/dist/lib/components/ui/layout/list-details-layout/partials/use-list-width.d.ts +16 -0
  158. package/dist/lib/components/ui/layout/list-details-layout/partials/use-pane-focus.d.ts +6 -4
  159. package/dist/lib/components/ui/layout/navigation-bar/index.d.ts +3 -0
  160. package/dist/lib/components/ui/layout/navigation-bar/internal.d.ts +4 -0
  161. package/dist/lib/components/ui/layout/navigation-bar/navigation-bar.classes.d.ts +14 -0
  162. package/dist/lib/components/ui/layout/navigation-bar/navigation-bar.d.ts +35 -0
  163. package/dist/lib/components/ui/layout/navigation-bar/navigation-bar.utils.d.ts +19 -0
  164. package/dist/lib/components/ui/layout/navigation-bar/partials/bar-badge.d.ts +5 -0
  165. package/dist/lib/components/ui/layout/navigation-bar/partials/bar-entry.d.ts +12 -0
  166. package/dist/lib/components/ui/layout/navigation-bar/partials/navigation-bar-item.d.ts +22 -0
  167. package/dist/lib/components/ui/layout/navigation-bar/partials/navigation-bar-more.d.ts +24 -0
  168. package/dist/lib/components/ui/layout/navigation-bar/use-nav-bar-inset.d.ts +12 -0
  169. package/dist/lib/components/ui/layout/navigation-drawer/index.d.ts +5 -0
  170. package/dist/lib/components/ui/layout/navigation-drawer/navigation-drawer.classes.d.ts +9 -0
  171. package/dist/lib/components/ui/layout/navigation-drawer/navigation-drawer.d.ts +45 -0
  172. package/dist/lib/components/ui/layout/navigation-drawer/navigation-drawer.utils.d.ts +14 -0
  173. package/dist/lib/components/ui/layout/navigation-drawer/partials/navigation-drawer-body.d.ts +3 -0
  174. package/dist/lib/components/ui/layout/navigation-drawer/partials/navigation-drawer-item.d.ts +20 -0
  175. package/dist/lib/components/ui/layout/navigation-drawer/partials/navigation-drawer-modal.d.ts +17 -0
  176. package/dist/lib/components/ui/layout/navigation-drawer/partials/navigation-drawer-section.d.ts +15 -0
  177. package/dist/lib/components/ui/layout/navigation-rail/index.d.ts +3 -0
  178. package/dist/lib/components/ui/layout/navigation-rail/navigation-rail-panel.d.ts +26 -0
  179. package/dist/lib/components/ui/layout/navigation-rail/navigation-rail.classes.d.ts +23 -0
  180. package/dist/lib/components/ui/layout/navigation-rail/navigation-rail.d.ts +42 -1
  181. package/dist/lib/components/ui/layout/navigation-rail/navigation-rail.utils.d.ts +4 -0
  182. package/dist/lib/components/ui/layout/navigation-rail/partials/navigation-rail-body.d.ts +3 -0
  183. package/dist/lib/components/ui/layout/navigation-rail/partials/navigation-rail-item.d.ts +20 -0
  184. package/dist/lib/components/ui/layout/navigation-rail/partials/navigation-rail-panel-item.d.ts +7 -0
  185. package/dist/lib/components/ui/layout/navigation-rail/partials/navigation-rail-toggle.d.ts +7 -0
  186. package/dist/lib/components/ui/layout/navigation-rail/use-rail-expanded.d.ts +13 -0
  187. package/dist/lib/components/ui/layout/navigation-toolbar/index.d.ts +2 -0
  188. package/dist/lib/components/ui/layout/navigation-toolbar/navigation-toolbar.classes.d.ts +20 -0
  189. package/dist/lib/components/ui/layout/navigation-toolbar/navigation-toolbar.d.ts +51 -0
  190. package/dist/lib/components/ui/layout/navigation-toolbar/partials/navigation-toolbar-item.d.ts +25 -0
  191. package/dist/lib/components/ui/layout/navigation-toolbar/partials/navigation-toolbar-more.d.ts +3 -0
  192. package/dist/lib/components/ui/layout/pane-layout/internal.d.ts +3 -0
  193. package/dist/lib/components/ui/layout/pane-layout/pane-layout.d.ts +16 -2
  194. package/dist/lib/components/ui/layout/pane-layout/partials/pane-layout-classes.d.ts +7 -0
  195. package/dist/lib/components/ui/layout/pane-layout/partials/pane-layout-context.d.ts +13 -0
  196. package/dist/lib/components/ui/layout/pane-layout/partials/use-pane-layout-state.d.ts +16 -0
  197. package/dist/lib/components/ui/layout/pane-layout/partials/use-pane-narrow.d.ts +6 -0
  198. package/dist/lib/components/ui/layout/responsive-grid/index.d.ts +4 -1
  199. package/dist/lib/components/ui/layout/responsive-grid/responsive-grid-item.d.ts +19 -0
  200. package/dist/lib/components/ui/layout/responsive-grid/responsive-grid-spans.d.ts +19 -0
  201. package/dist/lib/components/ui/layout/responsive-grid/responsive-grid.d.ts +24 -2
  202. package/dist/lib/components/ui/layout/responsive-grid/responsive-grid.utils.d.ts +12 -0
  203. package/dist/lib/components/ui/layout/settings-layout/index.d.ts +2 -0
  204. package/dist/lib/components/ui/layout/settings-layout/partials/settings-link.d.ts +7 -0
  205. package/dist/lib/components/ui/layout/settings-layout/partials/settings-list.d.ts +11 -0
  206. package/dist/lib/components/ui/layout/settings-layout/partials/settings-page.d.ts +5 -0
  207. package/dist/lib/components/ui/layout/settings-layout/settings-layout.d.ts +10 -0
  208. package/dist/lib/components/ui/layout/settings-layout/settings-layout.types.d.ts +33 -0
  209. package/dist/lib/components/ui/layout/settings-layout/settings-layout.utils.d.ts +13 -0
  210. package/dist/lib/components/ui/layout/thread-layout/thread-layout-classes.d.ts +17 -0
  211. package/dist/lib/components/ui/layout/thread-layout/thread-layout-parts.d.ts +14 -0
  212. package/dist/lib/components/ui/layout/thread-layout/thread-layout-stepper.d.ts +11 -0
  213. package/dist/lib/components/ui/layout/thread-layout/thread-layout.d.ts +30 -3
  214. package/dist/lib/components/ui/layout/top-nav/index.d.ts +5 -0
  215. package/dist/lib/components/ui/layout/top-nav/partials/top-nav-item.d.ts +23 -0
  216. package/dist/lib/components/ui/layout/top-nav/partials/top-nav-menu.d.ts +22 -0
  217. package/dist/lib/components/ui/layout/top-nav/top-nav.classes.d.ts +10 -0
  218. package/dist/lib/components/ui/layout/top-nav/top-nav.d.ts +34 -0
  219. package/dist/lib/components/ui/layout/top-nav/top-nav.utils.d.ts +10 -0
  220. package/dist/lib/components/ui/media/galleries/gallery.d.ts +1 -1
  221. package/dist/lib/components/ui/media/galleries/lightbox-gallery.d.ts +1 -1
  222. package/dist/lib/components/ui/media/galleries/mini-gallery.d.ts +1 -1
  223. package/dist/lib/components/ui/overlays/dialog/dialog-parts.d.ts +1 -1
  224. package/dist/lib/components/ui/overlays/sheet/sheet-parts.d.ts +5 -0
  225. package/dist/lib/components/ui/selection/choice-card-group/choice-card-balance.d.ts +4 -0
  226. package/dist/lib/components/ui/selection/choice-card-group/choice-card-group.d.ts +3 -1
  227. package/dist/lib/components/ui/selection/choice-card-group/choice-card-group.types.d.ts +7 -0
  228. package/dist/lib/components/ui/selection/sortable-list/partials/sortable-list-body.d.ts +5 -1
  229. package/dist/lib/components/ui/selection/sortable-list/partials/sortable-list-row-parts.d.ts +2 -1
  230. package/dist/lib/components/ui/selection/sortable-list/partials/sortable-list-row-props.d.ts +8 -5
  231. package/dist/lib/components/ui/selection/sortable-list/partials/use-owed-focus.d.ts +10 -0
  232. package/dist/lib/components/ui/selection/sortable-list/sortable-list-context.d.ts +2 -0
  233. package/dist/lib/components/ui/selection/sortable-list/sortable-list.keyboard.d.ts +1 -1
  234. package/dist/lib/components/ui/widgets/event-calendar/event-calendar-context.d.ts +3 -0
  235. package/dist/lib/components/ui/widgets/event-calendar/event-calendar-shell.d.ts +15 -0
  236. package/dist/lib/components/ui/widgets/event-calendar/event-calendar-template.d.ts +9 -0
  237. package/dist/lib/components/ui/widgets/event-calendar/event-calendar.d.ts +7 -3
  238. package/dist/lib/components/ui/widgets/event-calendar/event-calendar.template.d.ts +41 -0
  239. package/dist/lib/components/ui/widgets/event-calendar/index.d.ts +1 -0
  240. package/dist/lib/components/ui/widgets/event-calendar/partials/calendar-date-nav.d.ts +2 -0
  241. package/dist/lib/components/ui/widgets/event-calendar/partials/calendar-lane-toggle.d.ts +5 -0
  242. package/dist/lib/components/ui/widgets/event-calendar/partials/time-grid-header-template.d.ts +7 -0
  243. package/dist/lib/components/ui/widgets/event-calendar/template.types.d.ts +73 -0
  244. package/dist/lib/components/ui/widgets/event-calendar/types.d.ts +2 -0
  245. package/dist/lib/components/ui/widgets/event-calendar/use-chip-event.d.ts +1 -0
  246. package/dist/lib/components/ui/widgets/event-calendar/use-drawn-events.d.ts +4 -3
  247. package/dist/lib/components/ui/widgets/event-calendar/use-template-calendar.d.ts +18 -0
  248. package/dist/lib/components/ui/widgets/event-calendar/use-template-lane.d.ts +17 -0
  249. package/dist/lib/components/ui/widgets/kanban/index.d.ts +1 -1
  250. package/dist/lib/components/ui/widgets/kanban/kanban-context.d.ts +5 -2
  251. package/dist/lib/components/ui/widgets/kanban/kanban.d.ts +11 -2
  252. package/dist/lib/components/ui/widgets/kanban/kanban.slice.d.ts +32 -0
  253. package/dist/lib/components/ui/widgets/kanban/kanban.utils.d.ts +9 -0
  254. package/dist/lib/components/ui/widgets/kanban/partials/kanban-card-preview.d.ts +3 -1
  255. package/dist/lib/components/ui/widgets/kanban/partials/kanban-column.d.ts +6 -0
  256. package/dist/lib/components/ui/widgets/kanban/partials/kanban-move-to.d.ts +13 -0
  257. package/dist/lib/components/ui/widgets/kanban/partials/kanban-phone-tabs.d.ts +10 -0
  258. package/dist/lib/components/ui/widgets/kanban/types.d.ts +7 -0
  259. package/dist/lib/components/ui/widgets/kanban/use-kanban-board-keys.d.ts +7 -0
  260. package/dist/lib/components/ui/widgets/kanban/use-kanban-item-actions.d.ts +5 -0
  261. package/dist/lib/components/ui/widgets/kanban/use-kanban-phone-column.d.ts +18 -0
  262. package/dist/lib/components/ui/widgets/kanban/use-kanban.d.ts +6 -1
  263. package/dist/lib/hooks/index.d.ts +1 -0
  264. package/dist/lib/i18n/resources/en/en.d.ts +52 -0
  265. package/dist/lib/i18n/resources/en/material.json.d.ts +54 -2
  266. package/dist/lib/i18n/resources/fr/fr.d.ts +52 -0
  267. package/dist/lib/i18n/resources/fr/material.json.d.ts +54 -2
  268. package/dist/lib/i18n/resources/resources.d.ts +104 -0
  269. package/dist/lib/i18n/translator.d.ts +1 -1
  270. package/dist/lib.js +2 -2
  271. package/dist/main.js +53 -52
  272. package/dist/map.js +7 -7
  273. package/dist/material.css +1 -1
  274. package/dist/pdf-reader.js +1 -1
  275. package/dist/{percent-field--WIXV5dX.js → percent-field-QwU1l2Q4.js} +1 -1
  276. package/dist/{picker-surface-CV09H7Nb.js → picker-surface-CiTycWgV.js} +4 -4
  277. package/dist/{popover-Cd7DkND4.js → popover-YmbzbKQG.js} +1 -1
  278. package/dist/{pos-types-DKCkOTYy.js → pos-types-BFrapNmx.js} +1 -1
  279. package/dist/{pos-variant-GrUfbTTP.js → pos-variant-CctfqieO.js} +4 -4
  280. package/dist/print.js +1 -1
  281. package/dist/{programmer-variant-eKJNKENL.js → programmer-variant-Dd0YOixn.js} +2 -2
  282. package/dist/{public-y6g4ddxd.js → public-CshR_aW7.js} +10 -10
  283. package/dist/{rich-code-block-CRQ0iyLb.js → rich-code-block-BuJLDoBu.js} +5 -5
  284. package/dist/{scientific-variant-2y3UxAAU.js → scientific-variant-CjErQxuZ.js} +2 -2
  285. package/dist/{sortable-provider-DdiI3Fwk.js → sortable-provider-DU2nvpFc.js} +3 -3
  286. package/dist/{spinner-C1QIewWv.js → spinner-DH1mm8hH.js} +2 -2
  287. package/dist/{tabs-KGKvve3y.js → tabs-Um0SFyf1.js} +1 -1
  288. package/dist/theme-picker.js +2 -2
  289. package/dist/{theme-toggle-C_VeiiCm.js → theme-toggle-C-Ih4uQU.js} +1 -1
  290. package/dist/{toolbar-items-D310xDuM.js → toolbar-items-BoEY5bkt.js} +4 -4
  291. package/dist/{translate-material-BypJJ1l5.js → translate-material-D4rn5UaQ.js} +1 -1
  292. package/dist/{translator-DJkf4J7t.js → translator-CcEgQ-H7.js} +112 -4
  293. package/dist/{use-chat-composer-BFhRMHcX.js → use-chat-composer-BBF1BI_s.js} +47 -43
  294. package/dist/{use-click-lock-BZYtTmVt.js → use-click-lock-Bwg_caHO.js} +14 -14
  295. package/dist/{use-heading-spy-DJR8YYm6.js → use-heading-spy-BgyA6SJl.js} +19 -19
  296. package/dist/{use-material-translation-CD6QoVal.js → use-material-translation-DYrfV_JJ.js} +1 -1
  297. package/dist/{use-return-focus-Cevw_6yq.js → use-return-focus-C_Qz_yTk.js} +1 -1
  298. package/docs/README.md +1 -0
  299. package/docs/components/data-display.md +40 -8
  300. package/docs/components/data-table-filter-and-lists.md +7 -3
  301. package/docs/components/form-fields.md +1 -0
  302. package/docs/components/media-and-files.md +1 -0
  303. package/docs/components/navigation-and-layout.md +946 -28
  304. package/docs/components/overlays-and-menus.md +11 -5
  305. package/docs/components/rich-widgets.md +111 -1
  306. package/docs/components/selection-and-choice.md +49 -10
  307. package/docs/guides/app-shell.md +641 -2
  308. package/docs/guides/forms.md +7 -0
  309. package/docs/guides/helpers.md +23 -0
  310. package/docs/guides/i18n.md +13 -1
  311. package/docs/guides/layouts.md +215 -0
  312. package/docs/guides/ssr.md +1 -1
  313. package/docs/guides/theming.md +7 -7
  314. package/docs/previews/data-display-tubecap.webp +0 -0
  315. package/docs/previews/navigation-layout-appshell-page-ground.webp +0 -0
  316. package/docs/previews/navigation-layout-appshell.webp +0 -0
  317. package/docs/previews/navigation-layout-authcard-split.webp +0 -0
  318. package/docs/previews/navigation-layout-authcard.webp +0 -0
  319. package/docs/previews/navigation-layout-dashboardgrid.webp +0 -0
  320. package/docs/previews/navigation-layout-editorlayout.webp +0 -0
  321. package/docs/previews/navigation-layout-landinglayout.webp +0 -0
  322. package/docs/previews/navigation-layout-panelayout.webp +0 -0
  323. package/docs/previews/navigation-layout-settingslayout.webp +0 -0
  324. package/docs/previews/navigation-layout-threadlayout-pages.webp +0 -0
  325. package/docs/previews/navigation-layout-threadlayout.webp +0 -0
  326. package/docs/previews/selection-choice-sortablelist.webp +0 -0
  327. package/docs/roadmap.md +12 -2
  328. package/docs/troubleshooting.md +50 -2
  329. package/lib/components/base-content.css +11 -0
  330. package/lib/components/components.css +5 -0
  331. package/lib/components/ui/actions/fab/fab-dock.css +19 -6
  332. package/lib/components/ui/collections/data-table/data-table-items-tiles.css +27 -1
  333. package/lib/components/ui/display/tube-cap/tube-cap.css +87 -0
  334. package/lib/components/ui/layout/app-search/app-search.css +62 -0
  335. package/lib/components/ui/layout/app-shell/activity-backdrop.css +10 -2
  336. package/lib/components/ui/layout/app-shell/app-header.css +108 -0
  337. package/lib/components/ui/layout/navigation-toolbar/navigation-toolbar.css +43 -0
  338. package/lib/themes/ambre.css +1 -1
  339. package/lib/themes/ardoise.css +1 -1
  340. package/lib/themes/bleumono.css +1 -1
  341. package/lib/themes/bluemoon.css +1 -1
  342. package/lib/themes/corail.css +2 -2
  343. package/lib/themes/foret.css +1 -1
  344. package/lib/themes/lavande.css +1 -1
  345. package/lib/themes/menthe.css +2 -2
  346. package/lib/themes/ocean.css +1 -1
  347. package/lib/themes/pink.css +2 -2
  348. package/lib/themes/prune.css +1 -1
  349. package/lib/themes/sable.css +1 -1
  350. package/lib/themes/slate.css +1 -1
  351. package/lib/themes/teal.css +2 -2
  352. package/package.json +2 -2
@@ -0,0 +1,50 @@
1
+ import { ComponentProps, ReactNode } from 'react';
2
+ import { ResponsiveGridGap } from '../responsive-grid/responsive-grid.utils.js';
3
+ import { GridRowSpan, GridSpan, ResponsiveValue } from '../responsive-grid/responsive-grid-spans.js';
4
+ import { DashboardColumns } from './dashboard-grid.utils.js';
5
+ export type DashboardGridProps = Omit<ComponentProps<'div'>, 'children'> & {
6
+ /** `DashboardTile`s, written directly here (not inside a fragment or a wrapper): each one's `id` places it in the order. */
7
+ children: ReactNode;
8
+ /**
9
+ * The tiles' ids in display order (controlled). A tile `order` does not
10
+ * list goes after the listed ones, in the order it is written; an id with
11
+ * no tile is ignored. The app stores it (a user's saved layout) and
12
+ * passes it back from `onOrderChange`.
13
+ */
14
+ order?: string[];
15
+ /** The initial order when `order` is not controlled. Default: the order the tiles are written in. */
16
+ defaultOrder?: string[];
17
+ /** Called with the whole new order after a drop, a keyboard move or a move button. */
18
+ onOrderChange?: (order: string[]) => void;
19
+ /** Edit mode (controlled): tiles show a handle and can be reordered. */
20
+ editing?: boolean;
21
+ /** Edit mode at first, when `editing` is not controlled. */
22
+ defaultEditing?: boolean;
23
+ onEditingChange?: (editing: boolean) => void;
24
+ /** The "Edit layout" / "Done" button above the grid. `false` hides it, for an app that toggles `editing` itself. Default `true`. */
25
+ editButton?: boolean;
26
+ /**
27
+ * Columns by container width: `{ base: 1, md: 2, xl: 4 }`, the default
28
+ * (`md` is 768px, `xl` 1280px). A tile's span is held to the columns of
29
+ * its width.
30
+ */
31
+ columns?: DashboardColumns;
32
+ /** The space between tiles: `sm` 0.5rem, `md` 1rem (default), `lg` 1.5rem. */
33
+ gap?: ResponsiveGridGap;
34
+ /** Fill the holes a wide tile leaves by moving later, smaller tiles up. The visual order then differs from the tab order. */
35
+ dense?: boolean;
36
+ };
37
+ export type DashboardTileProps = Omit<ComponentProps<'div'>, 'title' | 'id'> & {
38
+ /** Names the tile in the order (`order` lists these ids). Unique in the grid. */
39
+ id: string;
40
+ /** A heading at the top of the tile (an `h3`), also its accessible name and the name of its handle. */
41
+ title?: ReactNode;
42
+ /** Columns the tile covers: a number, `'full'`, or one per width. Held to the grid's columns. */
43
+ span?: ResponsiveValue<GridSpan>;
44
+ /** Rows the tile covers (1 to 4), or one per width. */
45
+ rowSpan?: ResponsiveValue<GridRowSpan>;
46
+ /** Draws no card (border, background, padding) of its own: for a child that is a card already (`StatCard`, `Card`). */
47
+ plain?: boolean;
48
+ /** Names the tile for its handle and the announcements when `title` is not text. */
49
+ label?: string;
50
+ };
@@ -0,0 +1,70 @@
1
+ import { GridSpan, ResponsiveValue } from '../responsive-grid/responsive-grid-spans.js';
2
+ /** How many columns the grid has at each container width (`md` 768px, `xl` 1280px). */
3
+ export type DashboardColumns = {
4
+ base?: 1 | 2;
5
+ md?: 1 | 2 | 3 | 4 | 5 | 6;
6
+ xl?: 1 | 2 | 3 | 4 | 5 | 6;
7
+ };
8
+ export declare const DEFAULT_COLUMNS: Required<DashboardColumns>;
9
+ /** The grid's columns; literal classes so Tailwind sees them. */
10
+ export declare const COLUMNS_CLASS: {
11
+ readonly base: {
12
+ readonly 1: "grid-cols-1";
13
+ readonly 2: "grid-cols-2";
14
+ };
15
+ readonly md: {
16
+ readonly 1: "@3xl:grid-cols-1";
17
+ readonly 2: "@3xl:grid-cols-2";
18
+ readonly 3: "@3xl:grid-cols-3";
19
+ readonly 4: "@3xl:grid-cols-4";
20
+ readonly 5: "@3xl:grid-cols-5";
21
+ readonly 6: "@3xl:grid-cols-6";
22
+ };
23
+ readonly xl: {
24
+ readonly 1: "@7xl:grid-cols-1";
25
+ readonly 2: "@7xl:grid-cols-2";
26
+ readonly 3: "@7xl:grid-cols-3";
27
+ readonly 4: "@7xl:grid-cols-4";
28
+ readonly 5: "@7xl:grid-cols-5";
29
+ readonly 6: "@7xl:grid-cols-6";
30
+ };
31
+ };
32
+ export type ReorderDirection = 'earlier' | 'later' | 'first' | 'last';
33
+ /**
34
+ * The displayed order: the ids of `order` that are still tiles, then the
35
+ * tiles `order` does not know yet (a new tile), in the order they were
36
+ * written. A repeated id counts once.
37
+ */
38
+ export declare function resolveOrder(order: readonly string[], ids: readonly string[]): string[];
39
+ /** Moves one id to a position (clamped); the same array when nothing moves. */
40
+ export declare function moveTo(order: string[], id: string, to: number): string[];
41
+ /** Moves one id a step earlier or later, or to the first or last place. */
42
+ export declare function moveTile(order: string[], id: string, direction: ReorderDirection): string[];
43
+ export type TileKeyCommand = {
44
+ type: 'grab';
45
+ } | {
46
+ type: 'move';
47
+ direction: ReorderDirection;
48
+ } | {
49
+ type: 'drop';
50
+ } | {
51
+ type: 'cancel';
52
+ };
53
+ /**
54
+ * A tile handle's keys. Space or Enter picks the tile up; then the arrows
55
+ * move it (left and up go earlier, right and down later; in a right-to-left
56
+ * page left goes later), Home and End send it first or last, Space, Enter or
57
+ * Tab drops it, Escape puts it back.
58
+ */
59
+ export declare function tileKeyCommand(key: string, grabbed: boolean, rtl?: boolean): TileKeyCommand | null;
60
+ /**
61
+ * A span held to the columns of its width, so a tile never adds implicit
62
+ * columns: `span: 3` in a two-column width covers two.
63
+ */
64
+ export declare function clampSpan(span: ResponsiveValue<GridSpan> | undefined, columns: Required<DashboardColumns>): ResponsiveValue<GridSpan> | undefined;
65
+ /** What a tile is called to a screen reader: `label`, a text `title`, else its `id`. */
66
+ export declare const tileLabel: (props: {
67
+ id: string;
68
+ label?: string;
69
+ title?: unknown;
70
+ }) => string;
@@ -0,0 +1,7 @@
1
+ import { DashboardTileProps } from './dashboard-grid.types.js';
2
+ /**
3
+ * DashboardTile - one tile of a `DashboardGrid`: a card with an optional
4
+ * title, covering `span` columns and `rowSpan` rows. In edit mode it shows a
5
+ * handle to move it. Outside a grid it is a plain card.
6
+ */
7
+ export declare function DashboardTile({ id, title, span, rowSpan, plain, label, className, children, ...props }: DashboardTileProps): import("react").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export * from './dashboard-grid.js';
2
+ export type { DashboardGridProps, DashboardTileProps, } from './dashboard-grid.types.js';
3
+ export type { DashboardColumns } from './dashboard-grid.utils.js';
4
+ export * from './dashboard-tile.js';
@@ -0,0 +1,6 @@
1
+ import { DashboardState } from '../dashboard-grid.state.js';
2
+ /** Says where a tile went, for screen readers (WCAG 4.1.3). */
3
+ export declare function DashboardAnnouncer({ note, labels, }: {
4
+ note: DashboardState['note'];
5
+ labels: Record<string, string>;
6
+ }): import("react").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { DashboardGridContextValue } from '../dashboard-grid-context.js';
2
+ /**
3
+ * The strip a tile shows in edit mode: its handle (drag with a pointer, or
4
+ * Space then arrows), and below 768px, in the narrow layout, the
5
+ * "earlier" and "later" buttons.
6
+ */
7
+ export declare function DashboardEditBar({ grid, id, label, }: {
8
+ grid: DashboardGridContextValue;
9
+ id: string;
10
+ label: string;
11
+ }): import("react").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { DashboardGridContextValue } from '../dashboard-grid-context.js';
2
+ /** Earlier / later buttons for the narrow layout, where tiles stack: hidden from 768px. */
3
+ export declare function DashboardMoveButtons({ grid, id, label, first, last, }: {
4
+ grid: DashboardGridContextValue;
5
+ id: string;
6
+ label: string;
7
+ first: boolean;
8
+ last: boolean;
9
+ }): import("react").JSX.Element;
@@ -0,0 +1,7 @@
1
+ /** The button that turns edit mode on and off, and the keys' hint it describes. */
2
+ export declare function DashboardToolbar({ editing, onEditingChange, hintId, showButton, }: {
3
+ editing: boolean;
4
+ onEditingChange: (editing: boolean) => void;
5
+ hintId: string;
6
+ showButton: boolean;
7
+ }): import("react").JSX.Element;
@@ -0,0 +1,21 @@
1
+ import { DashboardGridProps } from './dashboard-grid.types.js';
2
+ import { DashboardGridContextValue } from './dashboard-grid-context.js';
3
+ /**
4
+ * The grid's state: the order and the edit mode (each controlled or not), the
5
+ * tile picked up with the keyboard, and the note for the live region.
6
+ */
7
+ export declare function useDashboardGrid(props: DashboardGridProps): {
8
+ context: DashboardGridContextValue;
9
+ editing: boolean;
10
+ setEditing: (next: boolean) => void;
11
+ order: string[];
12
+ elements: Map<string, import('react').ReactElement<unknown, string | import('react').JSXElementConstructor<any>>>;
13
+ labels: Record<string, string>;
14
+ note: {
15
+ kind: import('./dashboard-grid.state.js').DashboardNoteKind;
16
+ id: string;
17
+ order: string[];
18
+ seq: number;
19
+ } | null;
20
+ onDragEnd: ({ active, over }: import('@dnd-kit/core').DragEndEvent) => void;
21
+ };
@@ -0,0 +1,22 @@
1
+ import { DragEndEvent } from '@dnd-kit/core';
2
+ import { Dispatch } from 'react';
3
+ import { DashboardAction, DashboardState } from './dashboard-grid.state.js';
4
+ import { ReorderDirection } from './dashboard-grid.utils.js';
5
+ import { DashboardFocusTarget } from './dashboard-grid-context.js';
6
+ /**
7
+ * What changes the order: a step, a pick-up and drop, a cancel, a pointer
8
+ * drop. It also remembers which control of the moved tile takes the focus
9
+ * back (a tile that moves in the DOM can lose it).
10
+ */
11
+ export declare function useDashboardMoves({ order, setOrder, state, dispatch, }: {
12
+ order: string[];
13
+ setOrder: (next: string[]) => void;
14
+ state: DashboardState;
15
+ dispatch: Dispatch<DashboardAction>;
16
+ }): {
17
+ move: (id: string, direction: ReorderDirection, target: DashboardFocusTarget) => void;
18
+ drop: () => void;
19
+ onHandleKey: (id: string, key: string, rtl: boolean) => boolean;
20
+ onDragEnd: ({ active, over }: DragEndEvent) => void;
21
+ takeFocus: (id: string) => DashboardFocusTarget | null;
22
+ };
@@ -13,6 +13,7 @@ export declare function useDocContext(): {
13
13
  actions: ReactNode;
14
14
  searchable: boolean;
15
15
  linkComponent: import('./types.js').DocLinkComponent | undefined;
16
+ frame: import('./use-doc.js').DocChrome;
16
17
  chrome: import('./types.js').DocChromeState;
17
18
  chromeActions: {
18
19
  setSidebarOpen: (payload: boolean) => void;
@@ -40,6 +41,7 @@ export declare function useOptionalDocContext(): {
40
41
  actions: ReactNode;
41
42
  searchable: boolean;
42
43
  linkComponent: import('./types.js').DocLinkComponent | undefined;
44
+ frame: import('./use-doc.js').DocChrome;
43
45
  chrome: import('./types.js').DocChromeState;
44
46
  chromeActions: {
45
47
  setSidebarOpen: (payload: boolean) => void;
@@ -7,5 +7,10 @@ export type DocProps = UseDocOptions & {
7
7
  /**
8
8
  * Documentation site shell. Layout is CSS-first, matching the usual docs
9
9
  * breakpoints: one column below `md`, sidebar from `md`, TOC rail from `xl`.
10
+ *
11
+ * `chrome="embedded"` draws it inside `ActivityLayout` instead of over the whole
12
+ * viewport: no top bar of its own (the shell's header stays), the nav and the
13
+ * outline stick under that header and scroll with the shell, and a bottom
14
+ * navigation bar or floating toolbar is cleared.
10
15
  */
11
16
  export declare function Doc({ children, className, ...options }: DocProps): import("react").JSX.Element;
@@ -33,5 +33,5 @@ export { DocToc } from './partials/doc-toc.js';
33
33
  export type { DocTopbarProps } from './partials/doc-topbar.js';
34
34
  export { DocTopbar } from './partials/doc-topbar.js';
35
35
  export type { DocChromeState, DocLinkComponent, DocLinkProps, DocNavItem, DocPagerLink, DocSearchHit, DocTocItem, } from './types.js';
36
- export type { DocModel, UseDocOptions } from './use-doc.js';
36
+ export type { DocChrome, DocModel, UseDocOptions } from './use-doc.js';
37
37
  export { useDoc } from './use-doc.js';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * The row an embedded {@link Doc} keeps of its top bar: the phone's trigger for
3
+ * the page tree (a sheet, named apart from the shell's own "Menu"), the search
4
+ * and the `actions`. It is not a bar of its own: no fill below `md`, where it
5
+ * sticks under the shell's header.
6
+ */
7
+ export declare function DocEmbeddedBar({ className }: {
8
+ className?: string;
9
+ }): import("react").JSX.Element;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Where an embedded Doc's nav and outline stick: under the shell's header, as
3
+ * `ActivityContent`'s aside does (`--ac-top` and `--ac-max` are set on the
4
+ * Doc's root, and the shell's scroll box or the window decides their value).
5
+ */
6
+ export declare const EMBEDDED_STICK = "top-(--ac-top) h-(--ac-max) sm:top-(--ac-top) sm:h-(--ac-max)";
7
+ /** The sheet's list clears a bottom bar and the home indicator. */
8
+ export declare const EMBEDDED_SHEET_PAD = "pb-[calc(1rem+max(var(--nxgt-bottom-chrome, calc(var(--nxgt-nav-bar, 0px) + var(--nxgt-media-dock, 0px))),env(safe-area-inset-bottom)))]";
@@ -1,6 +1,13 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { DocLinkComponent, DocNavItem, DocPagerLink, DocTocItem } from './types.js';
3
+ export type DocChrome = 'standalone' | 'embedded';
3
4
  export type UseDocOptions = {
5
+ /**
6
+ * `'standalone'` (default) owns the viewport: its top bar and full-height
7
+ * frame. `'embedded'` is drawn inside the app shell (`ActivityLayout`): no top
8
+ * bar, and the nav and outline stick under the shell's header.
9
+ */
10
+ chrome?: DocChrome;
4
11
  items: DocNavItem[];
5
12
  pathname: string;
6
13
  toc?: DocTocItem[];
@@ -13,7 +20,7 @@ export type UseDocOptions = {
13
20
  next?: DocPagerLink | null;
14
21
  defaultCollapsedIds?: string[];
15
22
  };
16
- export declare function useDoc({ items, pathname, toc, brand, actions, searchable, onNavigate, linkComponent, previous, next, defaultCollapsedIds, }: UseDocOptions): {
23
+ export declare function useDoc({ chrome: frame, items, pathname, toc, brand, actions, searchable, onNavigate, linkComponent, previous, next, defaultCollapsedIds, }: UseDocOptions): {
17
24
  items: DocNavItem[];
18
25
  pathname: string;
19
26
  toc: DocTocItem[];
@@ -21,6 +28,7 @@ export declare function useDoc({ items, pathname, toc, brand, actions, searchabl
21
28
  actions: ReactNode;
22
29
  searchable: boolean;
23
30
  linkComponent: DocLinkComponent | undefined;
31
+ frame: DocChrome;
24
32
  chrome: import('./types.js').DocChromeState;
25
33
  chromeActions: {
26
34
  setSidebarOpen: (payload: boolean) => void;
@@ -0,0 +1,14 @@
1
+ import { EditorLayoutProps } from './editor-layout.types.js';
2
+ import { EditorLayoutPropertiesTrigger, EditorLayoutStartTrigger } from './partials/editor-layout-triggers.js';
3
+ /**
4
+ * The editor page: a toolbar, a canvas that scrolls on its own, a properties
5
+ * panel at the end and an optional panel at the start. Built on `PaneLayout`
6
+ * (container breakpoint at 768px): the properties are a bottom sheet below it.
7
+ * The pane comes after the canvas in the source, so Tab reaches the canvas first.
8
+ */
9
+ export declare function EditorLayout({ children, toolbar, start, properties, ground, propertiesWidth, propertiesOpen, defaultPropertiesOpen, onPropertiesOpenChange, toolbarLabel, startLabel, propertiesLabel, canvasLabel, className, ref, ...props }: EditorLayoutProps): import("react").JSX.Element;
10
+ export declare namespace EditorLayout {
11
+ var displayName: string;
12
+ var PropertiesTrigger: typeof EditorLayoutPropertiesTrigger;
13
+ var StartTrigger: typeof EditorLayoutStartTrigger;
14
+ }
@@ -0,0 +1,31 @@
1
+ import { ComponentProps, ReactNode } from 'react';
2
+ import { PaneLayoutPaneWidth } from '../pane-layout/internal.js';
3
+ /** What the canvas sits on: the page `plain`, the tinted page `ground`, or a `neutral` grey. */
4
+ export type EditorLayoutGround = 'plain' | 'tinted' | 'neutral';
5
+ export interface EditorLayoutProps extends Omit<ComponentProps<'div'>, 'children'> {
6
+ /** The canvas: it scrolls on its own, in both directions. */
7
+ children: ReactNode;
8
+ /**
9
+ * The bar above the canvas. It stays in view while the canvas scrolls. Put
10
+ * `EditorLayout.PropertiesTrigger` (and `StartTrigger`) in it.
11
+ */
12
+ toolbar?: ReactNode;
13
+ /** The panel at the start (layers, outline): inline from 1280px, a side sheet below. */
14
+ start?: ReactNode;
15
+ /** The properties panel at the end: inline from 768px, a bottom sheet below. */
16
+ properties?: ReactNode;
17
+ /** What the canvas sits on. */
18
+ ground?: EditorLayoutGround;
19
+ /** Width of the inline properties panel: `sm` 16rem, `md` 20rem (default), `lg` 24rem. */
20
+ propertiesWidth?: PaneLayoutPaneWidth;
21
+ /** Whether the inline properties panel is shown. Below 768px the sheet starts closed. */
22
+ propertiesOpen?: boolean;
23
+ defaultPropertiesOpen?: boolean;
24
+ /** Called when the inline panel opens or closes (not for the phone sheet). */
25
+ onPropertiesOpenChange?: (open: boolean) => void;
26
+ /** Names of the regions; `material.editor-layout.*` by default. */
27
+ toolbarLabel?: string;
28
+ startLabel?: string;
29
+ propertiesLabel?: string;
30
+ canvasLabel?: string;
31
+ }
@@ -0,0 +1,4 @@
1
+ export * from './editor-layout.js';
2
+ export type { EditorLayoutGround, EditorLayoutProps, } from './editor-layout.types.js';
3
+ export { useEditorLayout } from './partials/editor-layout-context.js';
4
+ export type { EditorLayoutTriggerProps } from './partials/editor-layout-triggers.js';
@@ -0,0 +1,11 @@
1
+ import { ReactNode } from 'react';
2
+ import { EditorLayoutGround } from '../editor-layout.types.js';
3
+ import { useEditorLayoutNames } from './use-editor-layout-names.js';
4
+ /** The toolbar above a row of the optional start panel and the canvas. */
5
+ export declare function EditorLayoutBody({ toolbar, start, ground, names, children, }: {
6
+ toolbar: ReactNode;
7
+ start: ReactNode;
8
+ ground: EditorLayoutGround;
9
+ names: ReturnType<typeof useEditorLayoutNames>;
10
+ children: ReactNode;
11
+ }): import("react").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from 'react';
2
+ import { EditorLayoutGround } from '../editor-layout.types.js';
3
+ /** The canvas: a region that scrolls on its own, so the keyboard can reach it. */
4
+ export declare function EditorLayoutCanvas({ ground, label, children, }: {
5
+ ground: EditorLayoutGround;
6
+ label: string;
7
+ children: ReactNode;
8
+ }): import("react").JSX.Element;
@@ -0,0 +1,12 @@
1
+ export interface EditorLayoutContextProps {
2
+ hasStart: boolean;
3
+ hasProperties: boolean;
4
+ /** Whether the start panel is a sheet now (the layout is narrower than 1280px). */
5
+ startSheet: boolean;
6
+ startOpen: boolean;
7
+ setStartOpen: (open: boolean) => void;
8
+ startLabel: string;
9
+ }
10
+ export declare const EditorLayoutContext: import('react').Context<EditorLayoutContextProps | undefined>;
11
+ /** The start panel's state; for the properties panel use `usePaneLayout`. */
12
+ export declare function useEditorLayout(): EditorLayoutContextProps;
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from 'react';
2
+ /**
3
+ * The start panel: inline from 1280px (hidden by CSS before hydrating), a side
4
+ * sheet below, opened by `EditorLayout.StartTrigger`.
5
+ */
6
+ export declare function EditorLayoutStart({ children }: {
7
+ children: ReactNode;
8
+ }): import("react").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { ReactNode } from 'react';
2
+ import { ButtonProps } from '../../../actions/button/button.js';
3
+ export type EditorLayoutTriggerProps = Omit<ButtonProps, 'children'> & {
4
+ /** The label; its default is the panel's name. Below 768px only the icon shows. */
5
+ children?: ReactNode;
6
+ };
7
+ /** Opens the properties: a bottom sheet on a phone, the inline panel otherwise. */
8
+ export declare function EditorLayoutPropertiesTrigger({ children, onClick, className, ...props }: EditorLayoutTriggerProps): import("react").JSX.Element | null;
9
+ /** Opens the start panel as a side sheet; hidden once the panel is inline (1280px). */
10
+ export declare function EditorLayoutStartTrigger({ children, onClick, className, ...props }: EditorLayoutTriggerProps): import("react").JSX.Element | null;
@@ -0,0 +1,8 @@
1
+ import { EditorLayoutProps } from '../editor-layout.types.js';
2
+ /** The names of the four regions: the app's, else `material.editor-layout.*`. */
3
+ export declare function useEditorLayoutNames(p: Pick<EditorLayoutProps, 'toolbarLabel' | 'startLabel' | 'propertiesLabel' | 'canvasLabel'>): {
4
+ toolbar: string;
5
+ start: string;
6
+ properties: string;
7
+ canvas: string;
8
+ };
@@ -0,0 +1,21 @@
1
+ interface Options {
2
+ hasStart: boolean;
3
+ open?: boolean;
4
+ defaultOpen: boolean;
5
+ onOpenChange?: (open: boolean) => void;
6
+ }
7
+ /**
8
+ * The properties panel has two open states: the inline panel's (open by
9
+ * default, the app's to control) and the phone sheet's (closed by default, so
10
+ * a phone never loads with a sheet over the canvas). Both widths are read on
11
+ * the layout itself, after hydrating; the server renders the desktop markup.
12
+ */
13
+ export declare function useEditorLayoutState(o: Options): {
14
+ rootRef: import('react').RefObject<HTMLDivElement | null>;
15
+ open: boolean;
16
+ setOpen: (next: boolean) => void;
17
+ startSheet: boolean;
18
+ startOpen: boolean;
19
+ setStartOpen: import('react').Dispatch<import('react').SetStateAction<boolean>>;
20
+ };
21
+ export {};
@@ -1,13 +1,20 @@
1
1
  export * from './account-menu/index.js';
2
2
  export * from './app-bar/index.js';
3
+ export * from './app-search/index.js';
3
4
  export * from './app-shell/index.js';
4
5
  export * from './auth-card/index.js';
5
6
  export * from './background/index.js';
6
7
  export * from './breadcrumb/index.js';
8
+ export * from './dashboard-grid/index.js';
7
9
  export * from './doc/index.js';
10
+ export * from './editor-layout/index.js';
8
11
  export * from './hero/index.js';
12
+ export * from './landing/index.js';
9
13
  export * from './list-details-layout/index.js';
14
+ export * from './navigation-bar/index.js';
15
+ export * from './navigation-drawer/index.js';
10
16
  export * from './navigation-rail/index.js';
17
+ export * from './navigation-toolbar/index.js';
11
18
  export * from './pager/index.js';
12
19
  export * from './pane-layout/index.js';
13
20
  export * from './record-page/index.js';
@@ -15,6 +22,7 @@ export * from './resizable/index.js';
15
22
  export * from './responsive-grid/index.js';
16
23
  export * from './section-columns/index.js';
17
24
  export * from './see-also/index.js';
25
+ export * from './settings-layout/index.js';
18
26
  export * from './sidebar/index.js';
19
27
  export * from './skip-link/index.js';
20
28
  export * from './stepper/index.js';
@@ -22,3 +30,4 @@ export * from './steps/index.js';
22
30
  export * from './sticky-action-bar/index.js';
23
31
  export * from './thread-layout/index.js';
24
32
  export * from './toc/index.js';
33
+ export * from './top-nav/index.js';
@@ -0,0 +1,6 @@
1
+ export * from './landing-layout.js';
2
+ export type { LandingLayoutProps } from './landing-layout.types.js';
3
+ export * from './landing-section.js';
4
+ export type { LandingSectionAlign, LandingSectionProps, LandingSectionTone, LandingSectionWidth, } from './landing-section.types.js';
5
+ export * from './site-footer.js';
6
+ export type { SiteFooterGroup, SiteFooterLink, SiteFooterProps, } from './site-footer.types.js';
@@ -0,0 +1,15 @@
1
+ import { LandingLayoutProps } from './landing-layout.types.js';
2
+ /**
3
+ * The frame of a public marketing or landing page, outside the app shell: a
4
+ * top bar (the brand, the `TopNav` links from 768px or a drawer below, and
5
+ * your actions), a `main` holding the hero then the sections, and the footer.
6
+ * Sections are `LandingSection`s, the footer a `SiteFooter`. The bar sticks
7
+ * unless `stickyHeader={false}`; in dark the bar and the footer take the card
8
+ * surface, one tone above the page.
9
+ *
10
+ * Needs a React Router context, like `TopNav`.
11
+ */
12
+ export declare function LandingLayout({ items, linkComponent, logo, name, brand, brandHref, actions, hero, footer, stickyHeader, navigationLabel, className, children, ...props }: LandingLayoutProps): import("react").JSX.Element;
13
+ export declare namespace LandingLayout {
14
+ var displayName: string;
15
+ }
@@ -0,0 +1,27 @@
1
+ import { ComponentProps, ReactNode } from 'react';
2
+ import { AppLogo, AppShellLinkComponent, MenuItem } from '../app-shell/types.js';
3
+ export type LandingLayoutProps = {
4
+ /** The destinations of the top bar (the top level only); on a phone the same links open in a drawer. */
5
+ items?: MenuItem[];
6
+ linkComponent?: AppShellLinkComponent;
7
+ /** The brand's logo (an image URL, `{ src, alt }` or a node); with `name`, both show. */
8
+ logo?: AppLogo;
9
+ /** The brand's name; also the brand link's accessible name. */
10
+ name?: string;
11
+ /** Replaces the logo and name. It is placed in a link to `brandHref` and rendered twice (in the bar and at the top of the phone's drawer): give it an accessible name, and keep it free of ids and state. */
12
+ brand?: ReactNode;
13
+ /** Where the brand links to. @default "/" */
14
+ brandHref?: string;
15
+ /** The end of the top bar: a sign-in link, a primary button, a theme toggle. Shown at every width. */
16
+ actions?: ReactNode;
17
+ /** The first band, usually `<LandingSection variant="hero">`. */
18
+ hero?: ReactNode;
19
+ /** A `SiteFooter`. */
20
+ footer?: ReactNode;
21
+ /** Keeps the top bar in view while the page scrolls. @default true */
22
+ stickyHeader?: boolean;
23
+ /** The top bar's navigation name, already translated. @default "Navigation" */
24
+ navigationLabel?: string;
25
+ /** The sections, in order: `LandingSection`s. */
26
+ children?: ReactNode;
27
+ } & Omit<ComponentProps<'div'>, 'children'>;
@@ -0,0 +1,12 @@
1
+ import { LandingSectionProps } from './landing-section.types.js';
2
+ /**
3
+ * One band of a landing page: an intro (eyebrow, title, description, actions)
4
+ * over its content, on a surface from the theme's tokens, the content centred
5
+ * at the chosen width. A `section` named by its title (a region); without a
6
+ * title it is a plain band. `variant="hero"` draws the first band, with the
7
+ * page's `h1`.
8
+ */
9
+ export declare function LandingSection({ eyebrow, title, description, actions, tone, width, align, variant, media, className, children, ...props }: LandingSectionProps): import("react").JSX.Element;
10
+ export declare namespace LandingSection {
11
+ var displayName: string;
12
+ }
@@ -0,0 +1,32 @@
1
+ import { ComponentProps, ReactNode } from 'react';
2
+ /** The band's surface: the page, a calm tint, the page ground or the primary container. */
3
+ export type LandingSectionTone = 'background' | 'muted' | 'ground' | 'primary';
4
+ /** The content's width: `narrow` 48rem, `medium` 64rem, `default` 80rem, `full` the whole band. */
5
+ export type LandingSectionWidth = 'narrow' | 'medium' | 'default' | 'full';
6
+ export type LandingSectionAlign = 'start' | 'center';
7
+ export type LandingSectionProps = {
8
+ /** A short line above the title. */
9
+ eyebrow?: ReactNode;
10
+ /** The section's heading; it names the region. */
11
+ title?: ReactNode;
12
+ description?: ReactNode;
13
+ /** Buttons or links under the description. */
14
+ actions?: ReactNode;
15
+ /**
16
+ * A visual beside the intro from `lg` (an illustration, a product card),
17
+ * under it on a phone and a tablet. Meant for a hero; decorative content
18
+ * should be `aria-hidden`.
19
+ */
20
+ media?: ReactNode;
21
+ /** The surface of the band. @default "background" */
22
+ tone?: LandingSectionTone;
23
+ /** @default "default" */
24
+ width?: LandingSectionWidth;
25
+ /** Where the intro sits. @default "start" */
26
+ align?: LandingSectionAlign;
27
+ /**
28
+ * `hero` is the first band of the page: its title is the page's `h1`, set
29
+ * larger, with more room around. @default "section" (an `h2`)
30
+ */
31
+ variant?: 'section' | 'hero';
32
+ } & Omit<ComponentProps<'section'>, 'title'>;
@@ -0,0 +1,20 @@
1
+ import { LandingSectionAlign, LandingSectionTone, LandingSectionWidth } from './landing-section.types.js';
2
+ /** The page's column: header, sections and footer share its edges. */
3
+ export declare const LANDING_GUTTER = "px-4 sm:px-6 lg:px-8";
4
+ /** The widths a section's content takes, centred. */
5
+ export declare const LANDING_WIDTH: Record<LandingSectionWidth, string>;
6
+ /**
7
+ * The band's surface, from the existing tokens. The primary container is the
8
+ * theme's tonal primary; its text stays `foreground` so the contrast holds in
9
+ * every theme, light and dark.
10
+ */
11
+ export declare const LANDING_TONE: Record<LandingSectionTone, string>;
12
+ /** The copy under a title: muted on a calm surface, near-foreground on the tinted one. */
13
+ export declare const LANDING_DESCRIPTION: Record<LandingSectionTone, string>;
14
+ export declare const LANDING_ALIGN: Record<LandingSectionAlign, string>;
15
+ /**
16
+ * The header and footer chrome. Light: the page's own surface (the footer a
17
+ * calm tint of it). Dark: the card surface, one tone above the page.
18
+ */
19
+ export declare const LANDING_HEADER_SURFACE = "border-b border-border/60 bg-background/90 backdrop-blur-md dark:bg-card/90";
20
+ export declare const LANDING_FOOTER_SURFACE = "border-t border-border/60 bg-muted/40 dark:bg-card";
@@ -0,0 +1,11 @@
1
+ import { LandingLayoutProps } from '../landing-layout.types.js';
2
+ type LandingHeaderProps = Pick<LandingLayoutProps, 'items' | 'linkComponent' | 'logo' | 'name' | 'brand' | 'brandHref' | 'actions' | 'navigationLabel'> & {
3
+ sticky: boolean;
4
+ };
5
+ /**
6
+ * The top bar of a landing page: the brand, the `TopNav` from 768px (a drawer
7
+ * opened by a menu button below it) and the actions. Which of the two shows is
8
+ * decided by breakpoint classes, so the server and the browser draw the same.
9
+ */
10
+ export declare function LandingHeader({ items, linkComponent, logo, name, brand, brandHref, actions, navigationLabel, sticky, }: LandingHeaderProps): import("react").JSX.Element;
11
+ export {};