@12-apps/ui 6.51.1 → 6.52.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 (546) hide show
  1. package/components-guidelines.md +6 -2
  2. package/dist/_internal/components/data-display/Alert/Alert.js +3 -3
  3. package/dist/_internal/components/data-display/Alert/Alert.metrics.js +3 -3
  4. package/dist/_internal/components/data-display/Alert/Alert.styles.js +3 -3
  5. package/dist/_internal/components/data-display/Badge/Badge.js +7 -7
  6. package/dist/_internal/components/data-display/Badge/Badge.styles.js +5 -5
  7. package/dist/_internal/components/data-display/Badge/BadgeContent.js +5 -5
  8. package/dist/_internal/components/data-display/Banner/Banner.js +3 -3
  9. package/dist/_internal/components/data-display/Banner/Banner.styles.js +3 -3
  10. package/dist/_internal/components/data-display/CardKit/CardKebab.js +3 -3
  11. package/dist/_internal/components/data-display/CardKit/card-actions-context.js +3 -3
  12. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +3 -3
  13. package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +3 -3
  14. package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +5 -5
  15. package/dist/_internal/components/data-display/Carousel/Carousel.js +5 -5
  16. package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +5 -5
  17. package/dist/_internal/components/data-display/Carousel/Carousel.styles.js +5 -5
  18. package/dist/_internal/components/data-display/Chart/Chart.js +8 -8
  19. package/dist/_internal/components/data-display/Chart/SpecChart.js +10 -10
  20. package/dist/_internal/components/data-display/Chart/chart-context.js +5 -5
  21. package/dist/_internal/components/data-display/Chart/chart-internals.js +5 -5
  22. package/dist/_internal/components/data-display/Chart/chart-renderers.js +7 -7
  23. package/dist/_internal/components/data-display/Chip/Chip.js +3 -3
  24. package/dist/_internal/components/data-display/Chip/Chip.styles.js +2 -2
  25. package/dist/_internal/components/data-display/DataGrid/DataGrid.js +3 -15
  26. package/dist/_internal/components/data-display/DataGrid/DataGrid.model.js +1 -15
  27. package/dist/_internal/components/data-display/DataViews/DataViewsBoard.js +6 -6
  28. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +45 -49
  29. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +54 -58
  30. package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +9 -9
  31. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +9 -9
  32. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +10 -10
  33. package/dist/_internal/components/data-display/DataViews/base-card.js +8 -8
  34. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +10 -18
  35. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +9 -17
  36. package/dist/_internal/components/data-display/DataViews/base-list-card.js +13 -21
  37. package/dist/_internal/components/data-display/DataViews/data-views-bar-controls.js +1 -1
  38. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +7 -7
  39. package/dist/_internal/components/data-display/DataViews/data-views-columns-tab.js +6 -6
  40. package/dist/_internal/components/data-display/DataViews/data-views-columns.js +3 -3
  41. package/dist/_internal/components/data-display/DataViews/data-views-day-input.js +1 -1
  42. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +10 -14
  43. package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +7 -15
  44. package/dist/_internal/components/data-display/DataViews/data-views-empty.js +6 -6
  45. package/dist/_internal/components/data-display/DataViews/data-views-export.js +6 -6
  46. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +12 -12
  47. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +13 -17
  48. package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +3 -3
  49. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +41 -45
  50. package/dist/_internal/components/data-display/DataViews/data-views-header-row.js +6 -6
  51. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +16 -16
  52. package/dist/_internal/components/data-display/DataViews/data-views-layout-context.js +1 -14
  53. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +14 -14
  54. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +15 -15
  55. package/dist/_internal/components/data-display/DataViews/data-views-number-input.js +1 -1
  56. package/dist/_internal/components/data-display/DataViews/data-views-pagination.js +4 -4
  57. package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +3 -3
  58. package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +2 -13
  59. package/dist/_internal/components/data-display/DataViews/data-views-search.js +1 -1
  60. package/dist/_internal/components/data-display/DataViews/data-views-select-all-strip.js +6 -6
  61. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +14 -18
  62. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +13 -13
  63. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +13 -17
  64. package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +6 -6
  65. package/dist/_internal/components/data-display/DataViews/list-card-rails.js +2 -13
  66. package/dist/_internal/components/data-display/DataViews/save-view-preview.js +6 -6
  67. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +6 -6
  68. package/dist/_internal/components/data-display/DescriptionItem/DescriptionItem.js +6 -6
  69. package/dist/_internal/components/data-display/FleetMap/FleetBody.js +8 -8
  70. package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +7 -7
  71. package/dist/_internal/components/data-display/FleetMap/FleetMap.js +13 -13
  72. package/dist/_internal/components/data-display/HoverCard/HoverCard.js +2 -2
  73. package/dist/_internal/components/data-display/LazyImage/LazyImage.js +1 -1
  74. package/dist/_internal/components/data-display/Lightbox/Lightbox.js +7 -7
  75. package/dist/_internal/components/data-display/Lightbox/LightboxControls.js +2 -2
  76. package/dist/_internal/components/data-display/Lightbox/LightboxOverlay.js +3 -3
  77. package/dist/_internal/components/data-display/Lightbox/LightboxThumbnails.js +2 -2
  78. package/dist/_internal/components/data-display/MapPreview/MapLayers.js +3 -3
  79. package/dist/_internal/components/data-display/MapPreview/MapPreview.js +6 -6
  80. package/dist/_internal/components/data-display/MapPreview/MapSearchBar.js +1 -1
  81. package/dist/_internal/components/data-display/Progress/Progress.js +6 -6
  82. package/dist/_internal/components/data-display/Progress/Progress.metrics.js +4 -4
  83. package/dist/_internal/components/data-display/Progress/Progress.styles.js +5 -5
  84. package/dist/_internal/components/data-display/Sheet/Sheet.body.js +5 -5
  85. package/dist/_internal/components/data-display/Sheet/Sheet.js +5 -5
  86. package/dist/_internal/components/data-display/Sheet/Sheet.styles.js +5 -5
  87. package/dist/_internal/components/data-display/Table/Table.helpers.js +1 -1
  88. package/dist/_internal/components/data-display/Table/Table.js +3 -14
  89. package/dist/_internal/components/data-display/Table/TableParts.hooks.js +2 -2
  90. package/dist/_internal/components/data-display/Table/TableParts.js +2 -2
  91. package/dist/_internal/components/data-display/index.js +45 -45
  92. package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +3 -3
  93. package/dist/_internal/components/feedback/Dialog/Dialog.js +3 -3
  94. package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +5 -5
  95. package/dist/_internal/components/feedback/StackedModal/StackedModal.js +2 -2
  96. package/dist/_internal/components/feedback/index.js +10 -10
  97. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.hooks.js +3 -3
  98. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +6 -6
  99. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +3 -3
  100. package/dist/_internal/components/form/AddressAutocomplete/AddressFallbackField.js +1 -1
  101. package/dist/_internal/components/form/AddressAutocomplete/AddressInputField.js +1 -1
  102. package/dist/_internal/components/form/AddressAutocomplete/AddressTextField.js +1 -1
  103. package/dist/_internal/components/form/Autocomplete/Autocomplete.js +1 -1
  104. package/dist/_internal/components/form/Autocomplete/Autocomplete.parts.js +1 -1
  105. package/dist/_internal/components/form/Button/Button.js +3 -3
  106. package/dist/_internal/components/form/Button/Button.styles.js +3 -3
  107. package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +3 -3
  108. package/dist/_internal/components/form/CategorySelect/CategoryPanelFoot.js +1 -1
  109. package/dist/_internal/components/form/CategorySelect/CategoryPanelHead.js +1 -1
  110. package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +1 -1
  111. package/dist/_internal/components/form/CategorySelect/CategoryRows.js +1 -1
  112. package/dist/_internal/components/form/CategorySelect/CategorySelect.js +5 -5
  113. package/dist/_internal/components/form/CategorySelect/CategorySelect.styles.js +1 -1
  114. package/dist/_internal/components/form/CategorySelect/CategoryTrigger.js +1 -1
  115. package/dist/_internal/components/form/CepField/CepField.js +1 -1
  116. package/dist/_internal/components/form/Command/Command.js +7 -7
  117. package/dist/_internal/components/form/Command/Command.styles.js +5 -5
  118. package/dist/_internal/components/form/CreatableSelect/CreatableSelect.js +1 -1
  119. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.hooks.js +1 -1
  120. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +4 -4
  121. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.range.js +1 -1
  122. package/dist/_internal/components/form/DateRangePicker/DateRangePickerFields.js +1 -1
  123. package/dist/_internal/components/form/Input/Input.js +1 -1
  124. package/dist/_internal/components/form/Input/Input.styles.js +1 -1
  125. package/dist/_internal/components/form/InputOTP/InputOTP.js +1 -1
  126. package/dist/_internal/components/form/InputOTP/InputOTP.styles.js +1 -1
  127. package/dist/_internal/components/form/Label/Label.js +5 -5
  128. package/dist/_internal/components/form/Label/Label.styles.js +5 -5
  129. package/dist/_internal/components/form/Menubar/Menubar.item.js +5 -5
  130. package/dist/_internal/components/form/Menubar/Menubar.js +5 -5
  131. package/dist/_internal/components/form/Menubar/Menubar.styles.js +5 -5
  132. package/dist/_internal/components/form/Menubar/Menubar.toolbar.js +5 -5
  133. package/dist/_internal/components/form/NumberField/NumberField.js +1 -1
  134. package/dist/_internal/components/form/PhoneInput/PhoneInput.js +1 -1
  135. package/dist/_internal/components/form/RadioGroup/RadioGroup.js +1 -1
  136. package/dist/_internal/components/form/RadioGroup/RadioGroup.styles.js +1 -1
  137. package/dist/_internal/components/form/RadioGroup/RadioGroup.variants.js +1 -1
  138. package/dist/_internal/components/form/Select/Select.js +1 -1
  139. package/dist/_internal/components/form/Select/Select.menu.js +1 -1
  140. package/dist/_internal/components/form/Select/Select.searchable.js +1 -1
  141. package/dist/_internal/components/form/Select/Select.styles.js +1 -1
  142. package/dist/_internal/components/form/Switch/Switch.js +3 -3
  143. package/dist/_internal/components/form/Switch/Switch.parts.js +3 -3
  144. package/dist/_internal/components/form/Switch/Switch.styles.js +3 -3
  145. package/dist/_internal/components/form/Textarea/Textarea.js +2 -2
  146. package/dist/_internal/components/form/Textarea/TextareaRichEditor.js +1 -1
  147. package/dist/_internal/components/form/Toggle/Toggle.js +1 -1
  148. package/dist/_internal/components/form/Toggle/Toggle.styles.js +1 -1
  149. package/dist/_internal/components/form/ToggleGroup/ToggleGroup.js +1 -1
  150. package/dist/_internal/components/form/index.js +18 -18
  151. package/dist/_internal/components/form/total-form/Fields/CategoryField.js +6 -6
  152. package/dist/_internal/components/form/total-form/Fields/CepField.js +1 -1
  153. package/dist/_internal/components/form/total-form/Fields/SelectField.js +1 -1
  154. package/dist/_internal/components/form/total-form/Fields/TextField.js +1 -1
  155. package/dist/_internal/components/form/total-form/Fields/ToggleField.js +1 -1
  156. package/dist/_internal/components/form/total-form/Fields/index.js +10 -10
  157. package/dist/_internal/components/form/total-form/SubmitButton.js +3 -3
  158. package/dist/_internal/components/index.js +99 -98
  159. package/dist/_internal/components/layout/Box/Box.js +8 -8
  160. package/dist/_internal/components/layout/Card/Card.js +2 -2
  161. package/dist/_internal/components/layout/ContentToolbar/ColumnsMenu.js +1 -1
  162. package/dist/_internal/components/layout/ContentToolbar/FilterTrigger.js +1 -1
  163. package/dist/_internal/components/layout/ContentToolbar/MultiSelectDropdown.js +1 -1
  164. package/dist/_internal/components/layout/ContentToolbar/MultiSelectTriggers.js +1 -1
  165. package/dist/_internal/components/layout/ContentToolbar/SavedViewsMenu.js +1 -1
  166. package/dist/_internal/components/layout/ContentToolbar/SortByDropdown.js +1 -1
  167. package/dist/_internal/components/layout/ContentToolbar/ViewSelector.js +1 -1
  168. package/dist/_internal/components/layout/ScrollArea/ScrollArea.js +2 -2
  169. package/dist/_internal/components/layout/SettingCard/SettingCard.js +13 -13
  170. package/dist/_internal/components/layout/SettingCard/SettingCard.parts.js +12 -12
  171. package/dist/_internal/components/layout/SettingCard/SettingGrid.js +13 -13
  172. package/dist/_internal/components/layout/SettingCard/SettingGroup.js +15 -15
  173. package/dist/_internal/components/layout/SettingCard/SettingSwitch.js +13 -13
  174. package/dist/_internal/components/layout/SettingCard/SettingToggle.js +15 -15
  175. package/dist/_internal/components/layout/Stack/Stack.js +9 -9
  176. package/dist/_internal/components/layout/TableFilter/TableFilter.js +1 -1
  177. package/dist/_internal/components/layout/index.js +25 -25
  178. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +9 -9
  179. package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +5 -5
  180. package/dist/_internal/components/navigation/NavigationMenu/NavigationMegaSection.js +2 -2
  181. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +4 -4
  182. package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +2 -2
  183. package/dist/_internal/components/navigation/Pagination/Pagination.js +3 -3
  184. package/dist/_internal/components/navigation/Pagination/PaginationParts.js +1 -1
  185. package/dist/_internal/components/navigation/SectionNav/SectionNav.bar.js +11 -11
  186. package/dist/_internal/components/navigation/SectionNav/SectionNav.js +14 -13
  187. package/dist/_internal/components/navigation/SectionNav/SectionNav.parts.js +8 -8
  188. package/dist/_internal/components/navigation/SectionNav/SectionNav.primary.js +9 -9
  189. package/dist/_internal/components/navigation/SectionNav/SectionNav.rail.js +10 -9
  190. package/dist/_internal/components/navigation/SectionNav/SectionNav.railCreate.js +41 -0
  191. package/dist/_internal/components/navigation/SectionNav/SectionNav.railCreate.js.map +1 -0
  192. package/dist/_internal/components/navigation/SectionNav/SectionNav.sheet.js +9 -9
  193. package/dist/_internal/components/navigation/SectionNav/__stories__/fixtures.js +5 -5
  194. package/dist/_internal/components/navigation/Tabs/Tabs.js +1 -1
  195. package/dist/_internal/components/navigation/Tabs/Tabs.styles.js +1 -1
  196. package/dist/_internal/components/navigation/index.js +24 -23
  197. package/dist/_internal/components/typography/Heading/Heading.js +6 -6
  198. package/dist/_internal/components/typography/Heading/Heading.metrics.js +4 -4
  199. package/dist/_internal/components/typography/Heading/Heading.styles.js +5 -5
  200. package/dist/_internal/components/typography/Text/Text.js +5 -5
  201. package/dist/_internal/components/typography/Text/Text.metrics.js +4 -4
  202. package/dist/_internal/components/typography/index.js +8 -8
  203. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.helpers.js +5 -5
  204. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.js +5 -5
  205. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.parts.js +5 -5
  206. package/dist/_internal/components/utility/WorkflowStep/WorkflowStepRow.js +5 -5
  207. package/dist/_internal/components/utility/index.js +5 -5
  208. package/dist/_internal/icons/Icon.js +8 -8
  209. package/dist/_internal/provider/UiProvider.js +7 -7
  210. package/dist/_internal/provider/mui-bridge.js +6 -6
  211. package/dist/_internal/provider/use-ui-theme.js +7 -7
  212. package/dist/_internal/social-login-button/social-login-button.js +11 -11
  213. package/dist/_internal/tokens/density.js +2 -2
  214. package/dist/_internal/tokens/field-height.js +1 -1
  215. package/dist/_internal/tokens/theme.js +3 -3
  216. package/dist/_internal/user-avatar/user-avatar.js +8 -8
  217. package/dist/charts.js +11 -11
  218. package/dist/{chunk-ROSYXRNN.js → chunk-2OTBMU5Z.js} +4 -4
  219. package/dist/{chunk-LPCPS5GZ.js → chunk-3QGMAVUF.js} +4 -4
  220. package/dist/{chunk-D4YPZILH.js → chunk-46MO2WZL.js} +6 -6
  221. package/dist/{chunk-EATBLXBP.js → chunk-4E4MSUY5.js} +4 -4
  222. package/dist/{chunk-ZOUWHGV3.js → chunk-4MGFUPQT.js} +4 -4
  223. package/dist/{chunk-RRG75JJS.js → chunk-4SHMSLFA.js} +2 -2
  224. package/dist/{chunk-YDLJE654.js → chunk-4XET5MWR.js} +2 -2
  225. package/dist/{chunk-J2SFOLGZ.js → chunk-4XHVGUOM.js} +2 -2
  226. package/dist/{chunk-MKJ4FMEF.js → chunk-4ZTHVUXE.js} +2 -2
  227. package/dist/{chunk-5N2UJOCT.js → chunk-57VL5UX7.js} +3 -3
  228. package/dist/{chunk-HGVWYKD4.js → chunk-67LNVBFO.js} +3 -3
  229. package/dist/{chunk-DJCAXJ2R.js → chunk-6J54X3ES.js} +4 -4
  230. package/dist/{chunk-JMMFRTZP.js → chunk-6PYX6V3R.js} +4 -4
  231. package/dist/{chunk-WL7IG7TT.js → chunk-6REPQ352.js} +2 -2
  232. package/dist/chunk-76FANB5I.js +126 -0
  233. package/dist/chunk-76FANB5I.js.map +1 -0
  234. package/dist/{chunk-UXJUTMAY.js → chunk-7GQ2ZZBQ.js} +2 -2
  235. package/dist/{chunk-GPROISHG.js → chunk-7TWZZD7R.js} +2 -2
  236. package/dist/{chunk-DLO5V4AV.js → chunk-7XSICFOJ.js} +3 -3
  237. package/dist/{chunk-S4ZUZ6DS.js → chunk-BAGLUQM3.js} +2 -2
  238. package/dist/{chunk-YK4ZG5Y4.js → chunk-BE5FGUJS.js} +2 -2
  239. package/dist/{chunk-M2GVHVE4.js → chunk-CJ45OL7L.js} +2 -2
  240. package/dist/{chunk-ZR33DDTI.js → chunk-CTXF22BU.js} +4 -4
  241. package/dist/{chunk-A436VORP.js → chunk-CVQYKXC5.js} +2 -2
  242. package/dist/{chunk-P7YUOH2E.js → chunk-CZV6NVCA.js} +4 -8
  243. package/dist/chunk-CZV6NVCA.js.map +1 -0
  244. package/dist/{chunk-MRWYKNBY.js → chunk-DFI2RKVQ.js} +2 -2
  245. package/dist/{chunk-SJ4IAZ3V.js → chunk-DH6J64PS.js} +1 -1
  246. package/dist/chunk-DH6J64PS.js.map +1 -0
  247. package/dist/{chunk-3U45DRNS.js → chunk-DI46ZEWP.js} +2 -2
  248. package/dist/{chunk-XYHNXO6Q.js → chunk-DWJH3KXN.js} +2 -2
  249. package/dist/{chunk-CDVYJB7J.js → chunk-E3GOREEB.js} +2 -2
  250. package/dist/{chunk-MYCR7FMI.js → chunk-E6JRPGMN.js} +9 -9
  251. package/dist/{chunk-K4BLVDYH.js → chunk-EIY5EYO3.js} +2 -2
  252. package/dist/{chunk-MG3SRQ6N.js → chunk-EOTV5BLM.js} +3 -3
  253. package/dist/{chunk-AY5MY7HJ.js → chunk-ERY6D2OV.js} +4 -4
  254. package/dist/{chunk-MT7XMJUJ.js → chunk-F33YKDO2.js} +12 -12
  255. package/dist/{chunk-TJ7NQG7E.js → chunk-FBUCXTA4.js} +4 -4
  256. package/dist/{chunk-32K4DRE5.js → chunk-FQTTVM2A.js} +2 -2
  257. package/dist/{chunk-4A535L3N.js → chunk-FRCBJLV5.js} +7 -7
  258. package/dist/{chunk-EACVF3GX.js → chunk-FRP7NM6X.js} +2 -2
  259. package/dist/{chunk-4B5WSVS7.js → chunk-FXZUVZON.js} +7 -7
  260. package/dist/{chunk-UI5O6J6R.js → chunk-FY6PONLA.js} +4 -4
  261. package/dist/{chunk-ABPTS3XK.js → chunk-G5XHAN56.js} +4 -4
  262. package/dist/{chunk-DSHM7VN6.js → chunk-G6ZPQHBL.js} +2 -2
  263. package/dist/{chunk-WLKCGWIV.js → chunk-GDYGT2KN.js} +4 -4
  264. package/dist/{chunk-HI3D6H37.js → chunk-GJRKWDRR.js} +4 -4
  265. package/dist/{chunk-TH7RBREI.js → chunk-GNHXFJRR.js} +4 -4
  266. package/dist/{chunk-KT5BEZEK.js → chunk-H7SOEZHW.js} +4 -4
  267. package/dist/{chunk-XMJ5AKDM.js → chunk-HCEJT65A.js} +5 -5
  268. package/dist/{chunk-HJUR6ZY6.js → chunk-HCYWRH5N.js} +3 -3
  269. package/dist/{chunk-WF4XK5AS.js → chunk-IWGW2E35.js} +2 -2
  270. package/dist/{chunk-AMSNWV7V.js → chunk-JK7SVLE2.js} +7 -7
  271. package/dist/{chunk-JLOMSSZD.js → chunk-JUHNEYCH.js} +3 -3
  272. package/dist/{chunk-NYHZUVLC.js → chunk-KN3WYEH2.js} +4 -4
  273. package/dist/{chunk-MPYIEIBA.js → chunk-KW3H5FUS.js} +2 -2
  274. package/dist/{chunk-OWILUXWM.js → chunk-LDROG4QI.js} +2 -12
  275. package/dist/chunk-LDROG4QI.js.map +1 -0
  276. package/dist/{chunk-YZHX2HTC.js → chunk-MKLIMY3D.js} +2 -2
  277. package/dist/{chunk-QWTPK3FT.js → chunk-MLDA44NW.js} +3 -3
  278. package/dist/{chunk-HDZQIFHL.js → chunk-MQ277OLB.js} +9 -9
  279. package/dist/{chunk-UDTA7YWD.js → chunk-NGAU6PNB.js} +5 -5
  280. package/dist/{chunk-742Z3VD3.js → chunk-NKJSYZEU.js} +5 -5
  281. package/dist/{chunk-GPTICJVN.js → chunk-OEBHWQSX.js} +3 -3
  282. package/dist/{chunk-W6YR35UL.js → chunk-OYT7YXQL.js} +5 -5
  283. package/dist/{chunk-RV26QUJS.js → chunk-OZPLAOI4.js} +5 -5
  284. package/dist/{chunk-BSEZ33G6.js → chunk-P35CTP6L.js} +3 -3
  285. package/dist/{chunk-TZASFX6G.js → chunk-P53KRCKW.js} +4 -4
  286. package/dist/{chunk-6IWO7CM2.js → chunk-PAT2BQOQ.js} +2 -2
  287. package/dist/{chunk-RCJOTNIW.js → chunk-PJVDIUT2.js} +5 -5
  288. package/dist/{chunk-BHPLHGZP.js → chunk-PM7SI4YT.js} +4 -4
  289. package/dist/{chunk-53HQNN3C.js → chunk-PY3RW5LC.js} +2 -2
  290. package/dist/{chunk-XLLJU5Q7.js → chunk-QEINKMMX.js} +2 -2
  291. package/dist/{chunk-5BV5DOW6.js → chunk-QHXMNSOZ.js} +2 -2
  292. package/dist/{chunk-H556NMKE.js → chunk-QMNNADL3.js} +6 -6
  293. package/dist/{chunk-VJBTFWDK.js → chunk-QQSRZUT4.js} +7 -7
  294. package/dist/{chunk-WNKRFMSI.js → chunk-QWBS22F4.js} +2 -2
  295. package/dist/{chunk-YG46LIVW.js → chunk-QYV7KLEN.js} +4 -4
  296. package/dist/{chunk-ESW4Z5I7.js → chunk-QZY5NG5N.js} +2 -2
  297. package/dist/{chunk-6B5NOR2U.js → chunk-SCCE6VWY.js} +2 -2
  298. package/dist/{chunk-L3MRRAZM.js → chunk-SLSED46V.js} +2 -2
  299. package/dist/chunk-SLSED46V.js.map +1 -0
  300. package/dist/{chunk-NJXDE6D3.js → chunk-SPZAEMGW.js} +9 -9
  301. package/dist/{chunk-TE3XYCX7.js → chunk-STTULW2K.js} +2 -2
  302. package/dist/{chunk-ZDMQDTSH.js → chunk-SV4FYSDL.js} +4 -4
  303. package/dist/{chunk-FDJLYYDA.js → chunk-SZA44EFA.js} +5 -5
  304. package/dist/{chunk-2VV6XZAU.js → chunk-TBZKUZNW.js} +4 -4
  305. package/dist/{chunk-KOBWXZNH.js → chunk-UFCULHHH.js} +2 -2
  306. package/dist/{chunk-FM5RBGG7.js → chunk-UHR7WIOR.js} +2 -2
  307. package/dist/{chunk-I2LF53MJ.js → chunk-UHX2LOT2.js} +3 -12
  308. package/dist/chunk-UHX2LOT2.js.map +1 -0
  309. package/dist/{chunk-AJ4MRDKM.js → chunk-UNEJ4MUR.js} +3 -3
  310. package/dist/{chunk-5GQYTB3K.js → chunk-UOQ4AF2N.js} +3 -3
  311. package/dist/{chunk-FYTC4LOD.js → chunk-VEHMODO3.js} +2 -2
  312. package/dist/{chunk-4BI5PCOM.js → chunk-VJXC7VEB.js} +2 -2
  313. package/dist/{chunk-3VFYTZ7I.js → chunk-VVFASSFY.js} +4 -4
  314. package/dist/{chunk-WNZBUR76.js → chunk-VYWCBG3I.js} +6 -6
  315. package/dist/{chunk-IVJKILIX.js → chunk-VZ4VAQX3.js} +2 -2
  316. package/dist/{chunk-FR6BUKSJ.js → chunk-W3CGKCTR.js} +4 -4
  317. package/dist/{chunk-N2BVJAGH.js → chunk-WF7BZT6V.js} +2 -2
  318. package/dist/{chunk-HKEBTPKY.js → chunk-WM4KYIYQ.js} +6 -3
  319. package/dist/chunk-WM4KYIYQ.js.map +1 -0
  320. package/dist/{chunk-OP5JR5Q5.js → chunk-WN5PNP6F.js} +4 -4
  321. package/dist/{chunk-2AMYHIA7.js → chunk-WQRBHMP3.js} +1 -1
  322. package/dist/{chunk-F5BYZNXY.js → chunk-WV62BSWA.js} +2 -2
  323. package/dist/{chunk-C4QKXFZN.js → chunk-X66E5WSX.js} +3 -3
  324. package/dist/{chunk-L3CQTVFU.js → chunk-XAUKQZJK.js} +6 -6
  325. package/dist/{chunk-HF7V3RI5.js → chunk-XG5LPGRV.js} +2 -2
  326. package/dist/{chunk-II7Z5UB6.js → chunk-XNBX3M35.js} +4 -4
  327. package/dist/{chunk-5ZBFADBL.js → chunk-XSHWEUDB.js} +2 -2
  328. package/dist/{chunk-WKB4VWKQ.js → chunk-XW633XLR.js} +4 -4
  329. package/dist/{chunk-6WZUZHJM.js → chunk-YFODI4KT.js} +8 -8
  330. package/dist/{chunk-PXDJQQ6X.js → chunk-YVRLYDYN.js} +4 -4
  331. package/dist/{chunk-GNLNIEJD.js → chunk-ZTTFLIPH.js} +3 -3
  332. package/dist/{chunk-LO4M5D7T.js → chunk-ZUME25DS.js} +3 -3
  333. package/dist/data-display/Alert.js +3 -3
  334. package/dist/data-display/Badge.js +7 -7
  335. package/dist/data-display/Banner.js +3 -3
  336. package/dist/data-display/CardKit.js +6 -6
  337. package/dist/data-display/Carousel.js +5 -5
  338. package/dist/data-display/Chart.js +11 -11
  339. package/dist/data-display/Chip.js +3 -3
  340. package/dist/data-display/DataGrid.js +3 -15
  341. package/dist/data-display/DataViews.js +62 -66
  342. package/dist/data-display/DescriptionItem.js +6 -6
  343. package/dist/data-display/FleetMap.js +13 -13
  344. package/dist/data-display/HoverCard.js +2 -2
  345. package/dist/data-display/LazyImage.js +1 -1
  346. package/dist/data-display/Lightbox.js +7 -7
  347. package/dist/data-display/MapPreview.js +6 -6
  348. package/dist/data-display/Progress.js +6 -6
  349. package/dist/data-display/Sheet.js +5 -5
  350. package/dist/data-display/Table.js +3 -14
  351. package/dist/feedback/ConfirmAction.js +3 -3
  352. package/dist/feedback/Dialog.js +3 -3
  353. package/dist/feedback/NotificationStatusNotice.js +5 -5
  354. package/dist/feedback/StackedModal.js +2 -2
  355. package/dist/form/AddressAutocomplete.js +6 -6
  356. package/dist/form/Autocomplete.js +1 -1
  357. package/dist/form/Button.js +3 -3
  358. package/dist/form/CategorySelect.js +5 -5
  359. package/dist/form/CepField.js +1 -1
  360. package/dist/form/Command.js +7 -7
  361. package/dist/form/CreatableSelect.js +1 -1
  362. package/dist/form/DateRangePicker.js +6 -6
  363. package/dist/form/Input.js +1 -1
  364. package/dist/form/InputOTP.js +1 -1
  365. package/dist/form/Label.js +5 -5
  366. package/dist/form/MenuSelect.js +1 -1
  367. package/dist/form/Menubar.js +5 -5
  368. package/dist/form/NumberField.js +1 -1
  369. package/dist/form/PhoneInput.js +1 -1
  370. package/dist/form/RadioGroup.js +1 -1
  371. package/dist/form/Select.js +1 -1
  372. package/dist/form/Switch.js +3 -3
  373. package/dist/form/Textarea.js +2 -2
  374. package/dist/form/Toggle.js +1 -1
  375. package/dist/form/ToggleGroup.js +1 -1
  376. package/dist/form/total-form.js +12 -12
  377. package/dist/icons.js +8 -8
  378. package/dist/layout/Box.js +8 -8
  379. package/dist/layout/Card.js +2 -2
  380. package/dist/layout/ContentToolbar.js +4 -4
  381. package/dist/layout/ScrollArea.js +2 -2
  382. package/dist/layout/SettingCard.js +18 -18
  383. package/dist/layout/Stack.js +9 -9
  384. package/dist/layout/TableFilter.js +1 -1
  385. package/dist/native/feedback/Dialog.js +86 -40
  386. package/dist/native/feedback/Dialog.js.map +1 -1
  387. package/dist/navigation/AppHeader.js +9 -9
  388. package/dist/navigation/NavigationMenu.js +4 -4
  389. package/dist/navigation/Pagination.js +3 -3
  390. package/dist/navigation/SectionNav.js +14 -13
  391. package/dist/navigation/Tabs.js +1 -1
  392. package/dist/provider.js +8 -8
  393. package/dist/social-login-button.js +11 -11
  394. package/dist/tokens.js +19 -19
  395. package/dist/types/components/data-display/DataGrid/DataGrid.model.d.ts +3 -13
  396. package/dist/types/components/data-display/DataGrid/DataGrid.model.d.ts.map +1 -1
  397. package/dist/types/components/data-display/DataGrid/DataGrid.types.d.ts +6 -0
  398. package/dist/types/components/data-display/DataGrid/DataGrid.types.d.ts.map +1 -1
  399. package/dist/types/components/data-display/DataViews/data-views-layout-context.d.ts +0 -12
  400. package/dist/types/components/data-display/DataViews/data-views-layout-context.d.ts.map +1 -1
  401. package/dist/types/components/data-display/Table/Table.d.ts.map +1 -1
  402. package/dist/types/components/data-display/Table/Table.helpers.d.ts +15 -7
  403. package/dist/types/components/data-display/Table/Table.helpers.d.ts.map +1 -1
  404. package/dist/types/components/data-display/Table/Table.types.d.ts +4 -1
  405. package/dist/types/components/data-display/Table/Table.types.d.ts.map +1 -1
  406. package/dist/types/components/navigation/SectionNav/SectionNav.rail.d.ts +3 -2
  407. package/dist/types/components/navigation/SectionNav/SectionNav.rail.d.ts.map +1 -1
  408. package/dist/types/components/navigation/SectionNav/SectionNav.railCreate.d.ts +24 -0
  409. package/dist/types/components/navigation/SectionNav/SectionNav.railCreate.d.ts.map +1 -0
  410. package/dist/types/components/navigation/SectionNav/SectionNav.types.d.ts +6 -5
  411. package/dist/types/components/navigation/SectionNav/SectionNav.types.d.ts.map +1 -1
  412. package/dist/types/tokens/density.d.ts +9 -3
  413. package/dist/types/tokens/density.d.ts.map +1 -1
  414. package/dist/types-native/components/feedback/Dialog/Dialog.look.native.d.ts +12 -0
  415. package/dist/types-native/components/feedback/Dialog/Dialog.look.native.d.ts.map +1 -1
  416. package/dist/types-native/components/feedback/Dialog/Dialog.native.d.ts.map +1 -1
  417. package/dist/types-native/platform/keyboard-overlap.native.d.ts +36 -0
  418. package/dist/types-native/platform/keyboard-overlap.native.d.ts.map +1 -0
  419. package/dist/typography/Heading.js +6 -6
  420. package/dist/typography/Text.js +5 -5
  421. package/dist/user-avatar.js +8 -8
  422. package/dist/utility/WorkflowStep.js +5 -5
  423. package/package.json +1 -1
  424. package/src/components/data-display/DataGrid/DataGrid.md +12 -1
  425. package/src/components/data-display/DataGrid/DataGrid.model.ts +7 -22
  426. package/src/components/data-display/DataGrid/DataGrid.types.ts +7 -1
  427. package/src/components/data-display/DataViews/data-views-layout-context.tsx +13 -20
  428. package/src/components/data-display/Table/Table.helpers.ts +23 -16
  429. package/src/components/data-display/Table/Table.md +11 -0
  430. package/src/components/data-display/Table/Table.tsx +2 -3
  431. package/src/components/data-display/Table/Table.types.ts +4 -1
  432. package/src/components/feedback/Dialog/Dialog.look.native.ts +17 -0
  433. package/src/components/feedback/Dialog/Dialog.native.tsx +12 -2
  434. package/src/components/navigation/SectionNav/SectionNav.md +7 -4
  435. package/src/components/navigation/SectionNav/SectionNav.rail.tsx +11 -8
  436. package/src/components/navigation/SectionNav/SectionNav.railCreate.tsx +148 -0
  437. package/src/components/navigation/SectionNav/SectionNav.types.ts +6 -5
  438. package/src/platform/keyboard-overlap.native.ts +77 -0
  439. package/src/tokens/density.ts +9 -3
  440. package/dist/chunk-HKEBTPKY.js.map +0 -1
  441. package/dist/chunk-I2LF53MJ.js.map +0 -1
  442. package/dist/chunk-L3MRRAZM.js.map +0 -1
  443. package/dist/chunk-OWILUXWM.js.map +0 -1
  444. package/dist/chunk-P7YUOH2E.js.map +0 -1
  445. package/dist/chunk-SJ4IAZ3V.js.map +0 -1
  446. /package/dist/{chunk-ROSYXRNN.js.map → chunk-2OTBMU5Z.js.map} +0 -0
  447. /package/dist/{chunk-LPCPS5GZ.js.map → chunk-3QGMAVUF.js.map} +0 -0
  448. /package/dist/{chunk-D4YPZILH.js.map → chunk-46MO2WZL.js.map} +0 -0
  449. /package/dist/{chunk-EATBLXBP.js.map → chunk-4E4MSUY5.js.map} +0 -0
  450. /package/dist/{chunk-ZOUWHGV3.js.map → chunk-4MGFUPQT.js.map} +0 -0
  451. /package/dist/{chunk-RRG75JJS.js.map → chunk-4SHMSLFA.js.map} +0 -0
  452. /package/dist/{chunk-YDLJE654.js.map → chunk-4XET5MWR.js.map} +0 -0
  453. /package/dist/{chunk-J2SFOLGZ.js.map → chunk-4XHVGUOM.js.map} +0 -0
  454. /package/dist/{chunk-MKJ4FMEF.js.map → chunk-4ZTHVUXE.js.map} +0 -0
  455. /package/dist/{chunk-5N2UJOCT.js.map → chunk-57VL5UX7.js.map} +0 -0
  456. /package/dist/{chunk-HGVWYKD4.js.map → chunk-67LNVBFO.js.map} +0 -0
  457. /package/dist/{chunk-DJCAXJ2R.js.map → chunk-6J54X3ES.js.map} +0 -0
  458. /package/dist/{chunk-JMMFRTZP.js.map → chunk-6PYX6V3R.js.map} +0 -0
  459. /package/dist/{chunk-WL7IG7TT.js.map → chunk-6REPQ352.js.map} +0 -0
  460. /package/dist/{chunk-UXJUTMAY.js.map → chunk-7GQ2ZZBQ.js.map} +0 -0
  461. /package/dist/{chunk-GPROISHG.js.map → chunk-7TWZZD7R.js.map} +0 -0
  462. /package/dist/{chunk-DLO5V4AV.js.map → chunk-7XSICFOJ.js.map} +0 -0
  463. /package/dist/{chunk-S4ZUZ6DS.js.map → chunk-BAGLUQM3.js.map} +0 -0
  464. /package/dist/{chunk-YK4ZG5Y4.js.map → chunk-BE5FGUJS.js.map} +0 -0
  465. /package/dist/{chunk-M2GVHVE4.js.map → chunk-CJ45OL7L.js.map} +0 -0
  466. /package/dist/{chunk-ZR33DDTI.js.map → chunk-CTXF22BU.js.map} +0 -0
  467. /package/dist/{chunk-A436VORP.js.map → chunk-CVQYKXC5.js.map} +0 -0
  468. /package/dist/{chunk-MRWYKNBY.js.map → chunk-DFI2RKVQ.js.map} +0 -0
  469. /package/dist/{chunk-3U45DRNS.js.map → chunk-DI46ZEWP.js.map} +0 -0
  470. /package/dist/{chunk-XYHNXO6Q.js.map → chunk-DWJH3KXN.js.map} +0 -0
  471. /package/dist/{chunk-CDVYJB7J.js.map → chunk-E3GOREEB.js.map} +0 -0
  472. /package/dist/{chunk-MYCR7FMI.js.map → chunk-E6JRPGMN.js.map} +0 -0
  473. /package/dist/{chunk-K4BLVDYH.js.map → chunk-EIY5EYO3.js.map} +0 -0
  474. /package/dist/{chunk-MG3SRQ6N.js.map → chunk-EOTV5BLM.js.map} +0 -0
  475. /package/dist/{chunk-AY5MY7HJ.js.map → chunk-ERY6D2OV.js.map} +0 -0
  476. /package/dist/{chunk-MT7XMJUJ.js.map → chunk-F33YKDO2.js.map} +0 -0
  477. /package/dist/{chunk-TJ7NQG7E.js.map → chunk-FBUCXTA4.js.map} +0 -0
  478. /package/dist/{chunk-32K4DRE5.js.map → chunk-FQTTVM2A.js.map} +0 -0
  479. /package/dist/{chunk-4A535L3N.js.map → chunk-FRCBJLV5.js.map} +0 -0
  480. /package/dist/{chunk-EACVF3GX.js.map → chunk-FRP7NM6X.js.map} +0 -0
  481. /package/dist/{chunk-4B5WSVS7.js.map → chunk-FXZUVZON.js.map} +0 -0
  482. /package/dist/{chunk-UI5O6J6R.js.map → chunk-FY6PONLA.js.map} +0 -0
  483. /package/dist/{chunk-ABPTS3XK.js.map → chunk-G5XHAN56.js.map} +0 -0
  484. /package/dist/{chunk-DSHM7VN6.js.map → chunk-G6ZPQHBL.js.map} +0 -0
  485. /package/dist/{chunk-WLKCGWIV.js.map → chunk-GDYGT2KN.js.map} +0 -0
  486. /package/dist/{chunk-HI3D6H37.js.map → chunk-GJRKWDRR.js.map} +0 -0
  487. /package/dist/{chunk-TH7RBREI.js.map → chunk-GNHXFJRR.js.map} +0 -0
  488. /package/dist/{chunk-KT5BEZEK.js.map → chunk-H7SOEZHW.js.map} +0 -0
  489. /package/dist/{chunk-XMJ5AKDM.js.map → chunk-HCEJT65A.js.map} +0 -0
  490. /package/dist/{chunk-HJUR6ZY6.js.map → chunk-HCYWRH5N.js.map} +0 -0
  491. /package/dist/{chunk-WF4XK5AS.js.map → chunk-IWGW2E35.js.map} +0 -0
  492. /package/dist/{chunk-AMSNWV7V.js.map → chunk-JK7SVLE2.js.map} +0 -0
  493. /package/dist/{chunk-JLOMSSZD.js.map → chunk-JUHNEYCH.js.map} +0 -0
  494. /package/dist/{chunk-NYHZUVLC.js.map → chunk-KN3WYEH2.js.map} +0 -0
  495. /package/dist/{chunk-MPYIEIBA.js.map → chunk-KW3H5FUS.js.map} +0 -0
  496. /package/dist/{chunk-YZHX2HTC.js.map → chunk-MKLIMY3D.js.map} +0 -0
  497. /package/dist/{chunk-QWTPK3FT.js.map → chunk-MLDA44NW.js.map} +0 -0
  498. /package/dist/{chunk-HDZQIFHL.js.map → chunk-MQ277OLB.js.map} +0 -0
  499. /package/dist/{chunk-UDTA7YWD.js.map → chunk-NGAU6PNB.js.map} +0 -0
  500. /package/dist/{chunk-742Z3VD3.js.map → chunk-NKJSYZEU.js.map} +0 -0
  501. /package/dist/{chunk-GPTICJVN.js.map → chunk-OEBHWQSX.js.map} +0 -0
  502. /package/dist/{chunk-W6YR35UL.js.map → chunk-OYT7YXQL.js.map} +0 -0
  503. /package/dist/{chunk-RV26QUJS.js.map → chunk-OZPLAOI4.js.map} +0 -0
  504. /package/dist/{chunk-BSEZ33G6.js.map → chunk-P35CTP6L.js.map} +0 -0
  505. /package/dist/{chunk-TZASFX6G.js.map → chunk-P53KRCKW.js.map} +0 -0
  506. /package/dist/{chunk-6IWO7CM2.js.map → chunk-PAT2BQOQ.js.map} +0 -0
  507. /package/dist/{chunk-RCJOTNIW.js.map → chunk-PJVDIUT2.js.map} +0 -0
  508. /package/dist/{chunk-BHPLHGZP.js.map → chunk-PM7SI4YT.js.map} +0 -0
  509. /package/dist/{chunk-53HQNN3C.js.map → chunk-PY3RW5LC.js.map} +0 -0
  510. /package/dist/{chunk-XLLJU5Q7.js.map → chunk-QEINKMMX.js.map} +0 -0
  511. /package/dist/{chunk-5BV5DOW6.js.map → chunk-QHXMNSOZ.js.map} +0 -0
  512. /package/dist/{chunk-H556NMKE.js.map → chunk-QMNNADL3.js.map} +0 -0
  513. /package/dist/{chunk-VJBTFWDK.js.map → chunk-QQSRZUT4.js.map} +0 -0
  514. /package/dist/{chunk-WNKRFMSI.js.map → chunk-QWBS22F4.js.map} +0 -0
  515. /package/dist/{chunk-YG46LIVW.js.map → chunk-QYV7KLEN.js.map} +0 -0
  516. /package/dist/{chunk-ESW4Z5I7.js.map → chunk-QZY5NG5N.js.map} +0 -0
  517. /package/dist/{chunk-6B5NOR2U.js.map → chunk-SCCE6VWY.js.map} +0 -0
  518. /package/dist/{chunk-NJXDE6D3.js.map → chunk-SPZAEMGW.js.map} +0 -0
  519. /package/dist/{chunk-TE3XYCX7.js.map → chunk-STTULW2K.js.map} +0 -0
  520. /package/dist/{chunk-ZDMQDTSH.js.map → chunk-SV4FYSDL.js.map} +0 -0
  521. /package/dist/{chunk-FDJLYYDA.js.map → chunk-SZA44EFA.js.map} +0 -0
  522. /package/dist/{chunk-2VV6XZAU.js.map → chunk-TBZKUZNW.js.map} +0 -0
  523. /package/dist/{chunk-KOBWXZNH.js.map → chunk-UFCULHHH.js.map} +0 -0
  524. /package/dist/{chunk-FM5RBGG7.js.map → chunk-UHR7WIOR.js.map} +0 -0
  525. /package/dist/{chunk-AJ4MRDKM.js.map → chunk-UNEJ4MUR.js.map} +0 -0
  526. /package/dist/{chunk-5GQYTB3K.js.map → chunk-UOQ4AF2N.js.map} +0 -0
  527. /package/dist/{chunk-FYTC4LOD.js.map → chunk-VEHMODO3.js.map} +0 -0
  528. /package/dist/{chunk-4BI5PCOM.js.map → chunk-VJXC7VEB.js.map} +0 -0
  529. /package/dist/{chunk-3VFYTZ7I.js.map → chunk-VVFASSFY.js.map} +0 -0
  530. /package/dist/{chunk-WNZBUR76.js.map → chunk-VYWCBG3I.js.map} +0 -0
  531. /package/dist/{chunk-IVJKILIX.js.map → chunk-VZ4VAQX3.js.map} +0 -0
  532. /package/dist/{chunk-FR6BUKSJ.js.map → chunk-W3CGKCTR.js.map} +0 -0
  533. /package/dist/{chunk-N2BVJAGH.js.map → chunk-WF7BZT6V.js.map} +0 -0
  534. /package/dist/{chunk-OP5JR5Q5.js.map → chunk-WN5PNP6F.js.map} +0 -0
  535. /package/dist/{chunk-2AMYHIA7.js.map → chunk-WQRBHMP3.js.map} +0 -0
  536. /package/dist/{chunk-F5BYZNXY.js.map → chunk-WV62BSWA.js.map} +0 -0
  537. /package/dist/{chunk-C4QKXFZN.js.map → chunk-X66E5WSX.js.map} +0 -0
  538. /package/dist/{chunk-L3CQTVFU.js.map → chunk-XAUKQZJK.js.map} +0 -0
  539. /package/dist/{chunk-HF7V3RI5.js.map → chunk-XG5LPGRV.js.map} +0 -0
  540. /package/dist/{chunk-II7Z5UB6.js.map → chunk-XNBX3M35.js.map} +0 -0
  541. /package/dist/{chunk-5ZBFADBL.js.map → chunk-XSHWEUDB.js.map} +0 -0
  542. /package/dist/{chunk-WKB4VWKQ.js.map → chunk-XW633XLR.js.map} +0 -0
  543. /package/dist/{chunk-6WZUZHJM.js.map → chunk-YFODI4KT.js.map} +0 -0
  544. /package/dist/{chunk-PXDJQQ6X.js.map → chunk-YVRLYDYN.js.map} +0 -0
  545. /package/dist/{chunk-GNLNIEJD.js.map → chunk-ZTTFLIPH.js.map} +0 -0
  546. /package/dist/{chunk-LO4M5D7T.js.map → chunk-ZUME25DS.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  UserAvatar,
3
3
  UserMenu
4
- } from "./chunk-MG3SRQ6N.js";
4
+ } from "./chunk-EOTV5BLM.js";
5
5
  import "./chunk-UDQSIRAP.js";
6
6
  import "./chunk-PGPPN63I.js";
7
7
  import "./chunk-TNQDSTIA.js";
@@ -10,29 +10,29 @@ import "./chunk-3ZVUNSFF.js";
10
10
  import "./chunk-MTEQEPNY.js";
11
11
  import "./chunk-VUHLNYAE.js";
12
12
  import "./chunk-2GSIEDGN.js";
13
- import "./chunk-OP5JR5Q5.js";
14
- import "./chunk-76X6JRVI.js";
13
+ import "./chunk-WN5PNP6F.js";
15
14
  import "./chunk-FKUYRQSP.js";
15
+ import "./chunk-76X6JRVI.js";
16
16
  import "./chunk-JH7EEJEQ.js";
17
17
  import "./chunk-BA4RHQ3B.js";
18
18
  import "./chunk-RIZRF5XR.js";
19
19
  import "./chunk-LTE2QHBH.js";
20
20
  import "./chunk-LN46DSMF.js";
21
21
  import "./chunk-TAMIZE4Q.js";
22
- import "./chunk-YZHX2HTC.js";
23
- import "./chunk-6IWO7CM2.js";
22
+ import "./chunk-MKLIMY3D.js";
23
+ import "./chunk-PAT2BQOQ.js";
24
24
  import "./chunk-TYJR4GOF.js";
25
25
  import "./chunk-2TZ6X265.js";
26
26
  import "./chunk-7FDU3FIN.js";
27
27
  import "./chunk-EPEJMTCQ.js";
28
28
  import "./chunk-GDN2LUTZ.js";
29
- import "./chunk-6WZUZHJM.js";
29
+ import "./chunk-YFODI4KT.js";
30
+ import "./chunk-VBP46YP4.js";
30
31
  import "./chunk-2BYKTBDL.js";
31
32
  import "./chunk-AG66JBNH.js";
32
33
  import "./chunk-FZXKH2ZT.js";
33
- import "./chunk-VBP46YP4.js";
34
- import "./chunk-O6MJWHU5.js";
35
34
  import "./chunk-26X4CZVR.js";
35
+ import "./chunk-O6MJWHU5.js";
36
36
  import "./chunk-FQ6UW7IY.js";
37
37
  import "./chunk-6JAIFIPW.js";
38
38
  import "./chunk-N3GAFIXG.js";
@@ -6,23 +6,23 @@ import "../chunk-LV4WSWQZ.js";
6
6
  import "../chunk-KNWG77FB.js";
7
7
  import "../chunk-TM5QQJTF.js";
8
8
  import "../chunk-3IPPMWUA.js";
9
- import "../chunk-7ZPUN7TV.js";
10
- import "../chunk-SJ4IAZ3V.js";
9
+ import "../chunk-DH6J64PS.js";
11
10
  import "../chunk-25MSGLNU.js";
12
11
  import "../chunk-GAXHYRX6.js";
13
12
  import "../chunk-NP6SHLQ3.js";
13
+ import "../chunk-7ZPUN7TV.js";
14
14
  import "../chunk-PT6TCWIW.js";
15
15
  import "../chunk-2TZ6X265.js";
16
16
  import "../chunk-7FDU3FIN.js";
17
17
  import "../chunk-EPEJMTCQ.js";
18
18
  import "../chunk-GDN2LUTZ.js";
19
- import "../chunk-6WZUZHJM.js";
19
+ import "../chunk-YFODI4KT.js";
20
+ import "../chunk-VBP46YP4.js";
20
21
  import "../chunk-2BYKTBDL.js";
21
22
  import "../chunk-AG66JBNH.js";
22
23
  import "../chunk-FZXKH2ZT.js";
23
- import "../chunk-VBP46YP4.js";
24
- import "../chunk-O6MJWHU5.js";
25
24
  import "../chunk-26X4CZVR.js";
25
+ import "../chunk-O6MJWHU5.js";
26
26
  import "../chunk-FQ6UW7IY.js";
27
27
  import "../chunk-6JAIFIPW.js";
28
28
  import "../chunk-N3GAFIXG.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@12-apps/ui",
3
- "version": "6.51.1",
3
+ "version": "6.52.1",
4
4
  "license": "MIT",
5
5
  "packageManager": "pnpm@10.34.5",
6
6
  "type": "module",
@@ -165,7 +165,7 @@ export interface DataGridProps<T = any> extends React.HTMLAttributes<HTMLElement
165
165
 
166
166
  /** Sizing, density, and layout */
167
167
  sizeMode?: GridSizeMode; // auto | fixed | fill
168
- density?: GridDensity; // compact | comfortable | spacious
168
+ density?: GridDensity; // compact | comfortable | spacious; defaults to 'comfortable', never the theme (FUT-2886)
169
169
  rowHeight?: number; // default row height (px)
170
170
  headerHeight?: number; // default header height (px)
171
171
  footerHeight?: number; // optional
@@ -303,6 +303,17 @@ Use Requisio tokens only:
303
303
  - Elevation (optional for sticky header shadow): `--rs-shadow-sm`
304
304
  - Density mapping adjusts `rowHeight`, paddings, and font sizes.
305
305
 
306
+ **A theme density scales a grid once, through `rem()`** (FUT-2886). With no
307
+ `density` prop, the grid's own discrete density stays `'comfortable'` no
308
+ matter what the host theme's density is set to — it is NOT re-picked from the
309
+ theme. The theme's density factor still applies, exactly the way it scales
310
+ every other size on the page, so a compact theme still gives smaller rows
311
+ (≈0.9× the unthemed default) and a comfortable one still gives taller ones
312
+ (≈1.1×); it does so by scaling the `'comfortable'` row through `rem()`, not by
313
+ swapping in a different discrete row-height table (`'compact'`'s 0.8× or
314
+ `'spacious'`'s 1.2×). Pass `density` explicitly for a deliberate, second,
315
+ per-grid choice on top of that.
316
+
306
317
  Dark mode:
307
318
 
308
319
  - Verify AA contrast for header/body text, dividers, selected rows, and focus outlines.
@@ -15,7 +15,6 @@ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
15
15
  import type React from 'react';
16
16
 
17
17
  import { rem, remPx } from '../../../tokens/relative';
18
- import { useDensity, type DensityLevel } from '../../../tokens/density';
19
18
 
20
19
  import { processRows } from './DataGrid.rows';
21
20
  import type {
@@ -53,8 +52,9 @@ export interface VisibleRange {
53
52
  export interface DataGridModel<T extends Record<string, unknown>> {
54
53
  containerRef: React.RefObject<HTMLDivElement | null>;
55
54
  /**
56
- * The density this render actually used: `props.density`, else the
57
- * theme-driven default (FUT-2769, {@link mapThemeToGridDensity}). The same
55
+ * The density this render actually used: `props.density`, else
56
+ * `'comfortable'` — the grid's own normal density, never re-picked from the
57
+ * theme (FUT-2886, reverting FUT-2769's default-from-theme half). The same
58
58
  * value `rowHeight` was scaled by — read it here rather than re-deriving it,
59
59
  * so the reported default and the geometry can never disagree.
60
60
  */
@@ -91,21 +91,6 @@ function densityHeight(base: number, density: DataGridProps['density']): number
91
91
  return base;
92
92
  }
93
93
 
94
- /**
95
- * The theme's density level, aliased to `GridDensity` (FUT-2769 — umbrella
96
- * Decision 7, non-breaking): `GridDensity`'s three names are not the theme's
97
- * three names, so this is an alias table rather than a verbatim read.
98
- * `'normal'` (the theme's own default, and what a theme with no density at
99
- * all resolves to) maps to `'comfortable'` — today's literal default,
100
- * unchanged — so the mapping is a no-op exactly when nothing about density
101
- * has been said.
102
- */
103
- export function mapThemeToGridDensity(level: DensityLevel): GridDensity {
104
- if (level === 'compact') return 'compact';
105
- if (level === 'comfortable') return 'spacious';
106
- return 'comfortable';
107
- }
108
-
109
94
  /** The rows this render should show, with every client-mode step resolved. */
110
95
  function useProcessedRows<T extends Record<string, unknown>>(
111
96
  props: DataGridProps<T>,
@@ -316,13 +301,13 @@ export function useDataGridModel<T extends Record<string, unknown>>(
316
301
  ): DataGridModel<T> {
317
302
  const { columns } = props;
318
303
  const theme = useTheme();
319
- const themeDensity = useDensity();
320
304
  const containerRef = useRef<HTMLDivElement>(null);
321
305
  const [editingCell, setEditingCell] = useState<EditingCell | null>(null);
322
306
  const { sortBy, filters, setInternalSortBy } = useSortAndFilter(props);
323
- // An explicit `density` prop wins; otherwise the theme's own level, aliased
324
- // to this grid's three names (FUT-2769).
325
- const density = props.density ?? mapThemeToGridDensity(themeDensity.level ?? 'normal');
307
+ // An explicit `density` prop wins; otherwise the grid's own normal density,
308
+ // never from the theme (FUT-2886) — the theme's factor still scales the row
309
+ // height below, but only once, through `rem()`.
310
+ const density = props.density ?? 'comfortable';
326
311
  // 52 design px unless the caller says; the density scales it, then the type scale does.
327
312
  const designRowHeight = densityHeight(props.rowHeight ?? 52, density);
328
313
  const rowPitch = remPx(theme, designRowHeight);
@@ -158,7 +158,13 @@ export interface DataGridProps<T = Record<string, unknown>> extends React.HTMLAt
158
158
 
159
159
  /** Sizing, density, and layout */
160
160
  sizeMode?: GridSizeMode; // auto | fixed | fill
161
- density?: GridDensity; // compact | comfortable | spacious
161
+ /**
162
+ * compact | comfortable | spacious. Defaults to `'comfortable'` — NOT the
163
+ * host theme's density: a theme density still scales row height, but only
164
+ * once, through `rem()` (FUT-2886). Pass this explicitly for a deliberate,
165
+ * per-grid density on top of that.
166
+ */
167
+ density?: GridDensity;
162
168
  /** Row height (default 52) — design px, scaled with the theme's type scale; `density` scales it first. */
163
169
  rowHeight?: number;
164
170
  /** Header row height (default 56) — design px, scaled with the theme's type scale. */
@@ -7,7 +7,6 @@ import GridViewOutlinedIcon from "@mui/icons-material/GridViewOutlined";
7
7
  import { Slider } from "../../form/Slider";
8
8
  import { Box } from "../../../mui/Box";
9
9
  import { sxRem } from "../../../tokens/relative";
10
- import { useDensity, type DensityLevel } from "../../../tokens/density";
11
10
 
12
11
  import { useDataViewsCopy } from "./data-views-copy-context";
13
12
  import { DATA_VIEWS_LAYOUTS, type DataViewsLayout } from "./data-views-types";
@@ -168,20 +167,18 @@ function isDensity(value: unknown): value is DataViewsDensity {
168
167
  }
169
168
 
170
169
  /**
171
- * The theme's density level, aliased to `DataViewsDensity` (FUT-2769 —
172
- * umbrella Decision 7, non-breaking): `DataViewsDensity`'s three names are not
173
- * the theme's three names, so this is an alias table rather than a verbatim
174
- * read. `'normal'` (the theme's own default, and what a theme with no density
175
- * at all resolves to) maps to `'cozy'` — today's literal default, unchanged —
176
- * so the mapping is a no-op exactly when nothing about density has been said.
177
- * The STORED per-viewer preference still wins over this default, unchanged
170
+ * `density`'s default with nothing stored and nothing passed (FUT-2886,
171
+ * reverting FUT-2769's own half of this): always `'cozy'` — today's literal,
172
+ * unchanged — never sourced from `useDensity()`. FUT-2769 aliased the theme's
173
+ * level to this density through `mapThemeToDataViewsDensity`, which — like
174
+ * `Table`'s own theme default — made a theme scale a DataViews table's row
175
+ * height twice: once by picking a DIFFERENT discrete density, and again
176
+ * through the `rem()` that density's own row height is drawn with. A theme
177
+ * density now scales a DataViews table's rows exactly ONCE, through `rem()`;
178
+ * the STORED per-viewer preference still wins over this default, unchanged
178
179
  * from today (below).
179
180
  */
180
- export function mapThemeToDataViewsDensity(level: DensityLevel): DataViewsDensity {
181
- if (level === 'compact') return 'compact';
182
- if (level === 'comfortable') return 'comfortable';
183
- return 'cozy';
184
- }
181
+ const DEFAULT_DENSITY: DataViewsDensity = 'cozy';
185
182
 
186
183
  /** The remembered density, or undefined (no window, no value, junk). */
187
184
  function readStoredDensity(): DataViewsDensity | undefined {
@@ -275,20 +272,16 @@ export function DataViewsLayoutProvider({
275
272
  children,
276
273
  }: LayoutProviderProps): React.JSX.Element {
277
274
  const availability = { canUseCards, canUseList, canUseBoard };
278
- // Read once, outside the lazy initializer below: a hook cannot be called
279
- // from inside one (FUT-2769 — the theme is only a fallback when nothing is
280
- // stored, same precedence as before this ticket).
281
- const themeDensity = useDensity();
282
275
  const [layout, setLayoutState] = useState<DataViewsLayout>(() =>
283
276
  pinLayout(
284
277
  viewLayout ?? (ignoreStoredLayout ? undefined : readStoredLayout()) ?? defaultLayout,
285
278
  availability,
286
279
  ),
287
280
  );
281
+ // `DEFAULT_DENSITY` ('cozy'), never the theme (FUT-2886 — see that
282
+ // constant's own doc comment): the stored per-viewer preference still wins.
288
283
  const [density, setDensityState] = useState<DataViewsDensity>(
289
- () =>
290
- (ignoreStoredLayout ? undefined : readStoredDensity()) ??
291
- mapThemeToDataViewsDensity(themeDensity.level ?? "normal"),
284
+ () => (ignoreStoredLayout ? undefined : readStoredDensity()) ?? DEFAULT_DENSITY,
292
285
  );
293
286
  const [zoom, setZoom] = useState(DEFAULT_ZOOM);
294
287
  // A newly applied view carrying a layout switches to it (its reference-change
@@ -3,7 +3,6 @@ import type { Theme } from '@mui/material/styles/index.js';
3
3
  import type React from 'react';
4
4
 
5
5
  import { rem } from '../../../tokens/relative';
6
- import type { DensityLevel } from '../../../tokens/density';
7
6
 
8
7
  import type { TableDensity, TableProps } from './Table.types';
9
8
 
@@ -15,16 +14,23 @@ import type { TableDensity, TableProps } from './Table.types';
15
14
  export const tableRowHeight = (rowHeight: number | undefined): number => rowHeight ?? 52;
16
15
 
17
16
  /**
18
- * `density`'s default (FUT-2769): the caller's own prop, else the theme's
19
- * level — `'normal'` for a theme with no density at all (`useDensity()`'s own
20
- * fallback) or an unnamed numeric one. `TableDensity` is a verbatim match for
21
- * the theme's `DensityLevel`, so no alias table is needed, unlike `DataGrid`'s
22
- * `mapThemeToGridDensity` or `DataViews`' `mapThemeToDataViewsDensity`.
17
+ * `density`'s default (FUT-2886, reverting FUT-2769's half of this): the
18
+ * caller's own `density` prop, else `'normal'` — never the theme's level.
19
+ *
20
+ * FUT-2769 defaulted this from `useDensity()`, which combined with
21
+ * `Table.styles.ts`'s own discrete per-density row-height table
22
+ * (`densityConfig.rowHeightPx`, already 36/52/68) to scale row height TWICE
23
+ * under a themed density: that table picked the discrete height for the
24
+ * theme's level, and the `rem()` it is drawn through then scaled it AGAIN by
25
+ * the same theme's `typography.fontSize` factor — a compact theme gave
26
+ * `36 * 0.9 = 32.4px` rows, not a clean `0.9×` of anything. A theme density
27
+ * now scales a table's rows exactly ONCE, through `rem()`: `density` alone
28
+ * picks the discrete row-height table, and the theme's factor is applied on
29
+ * top of THAT by `rem()`, giving `52 * 0.9` under a compact theme rather than
30
+ * a second discrete step.
23
31
  */
24
- export const resolveTableDensity = (
25
- explicit: TableDensity | undefined,
26
- themeLevel: DensityLevel | undefined,
27
- ): TableDensity => explicit ?? themeLevel ?? 'normal';
32
+ export const resolveTableDensity = (explicit: TableDensity | undefined): TableDensity =>
33
+ explicit ?? 'normal';
28
34
 
29
35
  /** The scroll box's height: a number is design px, 400 unless the caller says otherwise. */
30
36
  const scrollHeight = (theme: Theme, containerHeight: number | string | undefined): string => {
@@ -84,12 +90,13 @@ export const virtualHeight = (p: TableProps): number | undefined =>
84
90
  ? p.containerHeight
85
91
  : undefined;
86
92
 
87
- // `density` is NOT here (FUT-2769): `TableDensity` is a verbatim match for
88
- // the theme's `DensityLevel`, so `Table.tsx` resolves it itself —
89
- // `props.density ?? (useDensity().level ?? 'normal')` — reading the theme
90
- // requires a hook, which this module-level constant cannot call. At
91
- // `theme.density` unset, or its level `'normal'`, that reproduces this
92
- // object's OTHER defaults' shape exactly: today's literal `'normal'`.
93
+ // `density` is NOT here (kept in `resolveTableDensity` instead, FUT-2886):
94
+ // this object's OTHER defaults are read at the module level, before any
95
+ // props exist, while `density`'s default is `explicit ?? 'normal'` — a
96
+ // two-argument fallback that reads just as well next to `Table.tsx`'s own
97
+ // assignment as it would spread from here. No theme read is involved any
98
+ // more (FUT-2769's `useDensity()` default was reverted): a table's own
99
+ // discrete density is always `'normal'` unless the caller says otherwise.
93
100
  export const TABLE_DEFAULTS: Partial<TableProps> = {
94
101
  variant: 'default',
95
102
  stripeColor: 'neutral',
@@ -178,6 +178,17 @@ const columns = [
178
178
  - **normal** - Standard padding (default)
179
179
  - **comfortable** - Extra padding for improved readability
180
180
 
181
+ **A theme density scales a table once, through `rem()`.** With no `density`
182
+ prop, the table's own discrete density stays `'normal'` no matter what the
183
+ host theme's density is set to — it is NOT re-picked from the theme. The
184
+ theme's density factor still applies, exactly the way it scales every other
185
+ size on the page, so a compact theme still gives smaller rows (≈0.9× normal)
186
+ and a comfortable one still gives taller ones (≈1.1× normal); it does so by
187
+ scaling the `'normal'` row through `rem()`, not by swapping in a different
188
+ discrete row-height table. Pass `density` explicitly (or let a viewer's stored
189
+ DataViews preference apply it) for a deliberate, second, per-table choice on
190
+ top of that.
191
+
181
192
  ## Accessibility
182
193
 
183
194
  - Proper `role="table"` attributes
@@ -35,7 +35,6 @@ import { EnhancedTableBody, EnhancedTableHeader } from './TableParts';
35
35
  import { EmptyRow, NoDataPlaceholder } from './TableStates';
36
36
  import { tableStyles } from './Table.styles';
37
37
  import { rem } from '../../../tokens/relative';
38
- import { useDensity } from '../../../tokens/density';
39
38
 
40
39
  // Helper function to get stripe color from theme
41
40
  const StyledTable = styled(MuiTable, {
@@ -330,9 +329,9 @@ const TableEmptyState: React.FC<{
330
329
 
331
330
  export const Table = React.forwardRef<globalThis.HTMLTableElement, TableProps>(
332
331
  (tableProps, ref) => {
333
- const themeDensity = useDensity(); // FUT-2769 — density's default; see resolveTableDensity
334
332
  const resolved = { ...TABLE_DEFAULTS, ...definedProps(tableProps) } as TableProps;
335
- resolved.density = resolveTableDensity(resolved.density, themeDensity.level);
333
+ // Never from the theme (FUT-2886) — see `resolveTableDensity`.
334
+ resolved.density = resolveTableDensity(resolved.density);
336
335
  const {
337
336
  columns,
338
337
  data,
@@ -118,7 +118,10 @@ export interface TableProps extends Omit<MuiTableProps, 'variant'> {
118
118
  // Advanced Features
119
119
 
120
120
  /**
121
- * The density of the table rows
121
+ * The density of the table rows. Defaults to `'normal'` — NOT the host
122
+ * theme's density: a theme density still scales row height, but only once,
123
+ * through `rem()` (`resolveTableDensity`, FUT-2886). Pass this explicitly
124
+ * for a deliberate, per-table density on top of that.
122
125
  */
123
126
  density?: TableDensity;
124
127
 
@@ -120,6 +120,23 @@ function overlayFor(theme: UiTheme, variant: DialogVariant): ViewStyle {
120
120
  return centredOverlay(theme);
121
121
  }
122
122
 
123
+ /**
124
+ * The overlay's bottom inset while the soft keyboard covers `overlap` dp of it
125
+ * (FUT-3021), or nothing while it covers none.
126
+ *
127
+ * The inset grows by exactly the overlap, on top of the margin the variant
128
+ * already keeps, so the space the paper may fill — its `maxHeight: '100%'`, or
129
+ * the `height: '100%'` of `fullscreen` and `drawer` — shrinks by the same
130
+ * amount and ends where the keyboard starts. A centred paper re-centres in what
131
+ * is left, and a body taller than that scrolls inside `DialogContent` with the
132
+ * actions still on screen.
133
+ */
134
+ export function dialogKeyboardLift(theme: UiTheme, variant: DialogVariant, overlap: number): ViewStyle | null {
135
+ if (overlap <= 0) return null;
136
+ const margin = variant === 'fullscreen' || variant === 'drawer' ? 0 : theme.spacing(DIALOG_MARGIN_UNITS);
137
+ return { paddingBottom: margin + overlap };
138
+ }
139
+
123
140
  /**
124
141
  * Everything the dialog paints, decided once per render.
125
142
  *
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { Modal, Pressable, ScrollView, StyleSheet, View } from 'react-native';
3
3
 
4
4
  import { hasSpacingSlot, withDialogDefaults } from './Dialog.helpers';
5
- import { dialogBackdrop, dialogLook } from './Dialog.look.native';
5
+ import { dialogBackdrop, dialogKeyboardLift, dialogLook } from './Dialog.look.native';
6
6
  import { DIALOG_BODY_PADDING_UNITS, DIALOG_PULSE } from './Dialog.metrics';
7
7
  import type { DialogProps } from './Dialog.types.native';
8
8
  import {
@@ -12,6 +12,7 @@ import {
12
12
  DialogTitledContext,
13
13
  dialogBodyTextStyle,
14
14
  } from './DialogParts.native';
15
+ import { useKeyboardOverlap } from '../../../platform/keyboard-overlap.native';
15
16
  import { PulseRing } from '../../../platform/pulse-ring.native';
16
17
  import { resolveTestId, withoutTestIdProps } from '../../../platform/test-id';
17
18
  import { renderTextChildren } from '../../../platform/text-children';
@@ -106,9 +107,18 @@ export function Dialog(rawProps: DialogProps): React.JSX.Element {
106
107
  // backdrop and Escape (which `Modal` routes through `onRequestClose`).
107
108
  const dismiss = persistent ? undefined : onClose;
108
109
 
110
+ // Edge-to-edge defeats the `SOFT_INPUT_ADJUST_RESIZE` that `Modal` asks for,
111
+ // so the window never shrinks for the keyboard and nothing else moves the
112
+ // paper: the overlay measures how much of it the keyboard covers and takes
113
+ // that off the paper's room itself (FUT-3021).
114
+ const keyboard = useKeyboardOverlap();
115
+
109
116
  return (
110
117
  <Modal visible={open} transparent onRequestClose={dismiss} {...modalProps}>
111
- <View style={look.overlay}>
118
+ <View
119
+ style={[look.overlay, dialogKeyboardLift(theme, variant, keyboard.overlap)]}
120
+ onLayout={keyboard.onLayout}
121
+ >
112
122
  <Pressable
113
123
  aria-hidden
114
124
  tabIndex={-1}
@@ -20,7 +20,7 @@ action, the sheets, and the rail's sections.
20
20
  | `layout` | draws | menus |
21
21
  |---|---|---|
22
22
  | `bar` | a bottom row: the destinations, `more` last, `primary` raised in the middle | open as bottom sheets over the page, stopping above the bar |
23
- | `rail` | a vertical list: `back`, `heading`, the destinations, then each menu | listed under their `title`: nothing is folded on a wide screen |
23
+ | `rail` | a vertical list: `back`, `heading`, a `primary` menu as one button, the destinations, then `more` | `primary` opens as a menu anchored to its button (named by `title`); `more` is listed under its `title` |
24
24
 
25
25
  Which layout to use is the HOST's call. A bar beside a sidebar is two
26
26
  navigations competing for one glance, and only the host knows what else is on
@@ -76,8 +76,9 @@ looks one tap apart.
76
76
  reports `aria-pressed="true"` (`false` when `active: false`). Only a link
77
77
  reports `aria-current="page"`; an action is not a page.
78
78
  - A menu entry, and a whole menu, can be `disabled` too. In the bar a disabled
79
- menu's trigger is inert and opens no sheet; in the rail, where the menu is
80
- listed rather than behind a trigger, every row of it is inert.
79
+ menu's trigger is inert and opens no sheet. In the rail a disabled `primary`
80
+ is a disabled button, and a disabled `more`, listed rather than behind a
81
+ trigger, has every row inert.
81
82
  - `dataTestId` on a destination, entry, action or menu replaces the id the nav
82
83
  would derive, for a host whose suites already drive their own.
83
84
 
@@ -124,4 +125,6 @@ icon turns 45° while open.
124
125
 
125
126
  `<prefix>-dest-<id>`, `<prefix>-primary`, `<prefix>-more`,
126
127
  `<prefix>-{primary,more}-sheet`, `<prefix>-{primary,more}-sheet-entry-<id>` (bar),
127
- `<prefix>-{primary,more}-entry-<id>` (rail), and `<prefix>-back`.
128
+ `<prefix>-{primary,more}-entry-<id>` (rail; a `primary` entry exists once its
129
+ menu is open), `<prefix>-primary-menu` (the rail's open `primary` menu), and
130
+ `<prefix>-back`.
@@ -16,6 +16,7 @@ import {
16
16
  destinationControl,
17
17
  focusRing,
18
18
  } from './SectionNav.parts';
19
+ import { RailCreateMenu } from './SectionNav.railCreate';
19
20
  import type {
20
21
  SectionNavAction,
21
22
  SectionNavBack,
@@ -114,9 +115,10 @@ function RailHeading({ children }: { children: ReactNode }): React.JSX.Element {
114
115
  }
115
116
 
116
117
  /**
117
- * A menu's groups, listed under its title — nothing folded away on a wide
118
- * screen. A `disabled` menu has no trigger here to refuse, so every row of it
119
- * is inert instead.
118
+ * The `more` menu's groups, listed under its title — the rail has room for the
119
+ * places it holds. A `disabled` menu has no trigger here to refuse, so every
120
+ * row of it is inert instead. (`primary` folds behind one button instead —
121
+ * `RailCreateMenu`.)
120
122
  */
121
123
  function RailMenu({
122
124
  menu,
@@ -262,8 +264,9 @@ function RailDestination({
262
264
  }
263
265
 
264
266
  /**
265
- * The wide-screen layout: a vertical rail — the way back, the destinations,
266
- * then every menu's entries.
267
+ * The wide-screen layout: a vertical rail — the way back, the heading, a
268
+ * `primary` menu as one button that opens it (FUT-3015), the destinations, a
269
+ * `primary` action as a row, then `more` listed in full.
267
270
  *
268
271
  * It fills the column the host gives it and scrolls on its own, like the
269
272
  * sidebar it stands in for.
@@ -300,6 +303,9 @@ export function SectionNavRail({
300
303
  >
301
304
  {back ? <RailBack back={back} linkComponent={linkComponent} testId={`${dataTestId}-back`} /> : null}
302
305
  {heading ? <RailHeading>{heading}</RailHeading> : null}
306
+ {isMenu(primary) ? (
307
+ <RailCreateMenu menu={primary} linkComponent={linkComponent} copy={copy} testId={`${dataTestId}-primary`} />
308
+ ) : null}
303
309
  {destinations.map((destination) => (
304
310
  <RailDestination
305
311
  key={destination.id}
@@ -312,9 +318,6 @@ export function SectionNavRail({
312
318
  {primary && !isMenu(primary) ? (
313
319
  <RailAction action={primary} linkComponent={linkComponent} copy={copy} testId={`${dataTestId}-primary`} />
314
320
  ) : null}
315
- {isMenu(primary) ? (
316
- <RailMenu menu={primary} linkComponent={linkComponent} copy={copy} testId={`${dataTestId}-primary`} />
317
- ) : null}
318
321
  {more ? <RailMenu menu={more} linkComponent={linkComponent} copy={copy} testId={`${dataTestId}-more`} /> : null}
319
322
  </Box>
320
323
  );