@12-apps/ui 6.39.8 → 6.39.10

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 (473) hide show
  1. package/dist/_internal/components/data-display/Alert/Alert.js +2 -2
  2. package/dist/_internal/components/data-display/Alert/Alert.metrics.js +2 -2
  3. package/dist/_internal/components/data-display/Alert/Alert.styles.js +2 -2
  4. package/dist/_internal/components/data-display/Badge/Badge.js +4 -4
  5. package/dist/_internal/components/data-display/Badge/Badge.styles.js +2 -2
  6. package/dist/_internal/components/data-display/Badge/BadgeContent.js +2 -2
  7. package/dist/_internal/components/data-display/Banner/Banner.js +2 -2
  8. package/dist/_internal/components/data-display/Banner/Banner.styles.js +2 -2
  9. package/dist/_internal/components/data-display/CardKit/CardKebab.js +5 -5
  10. package/dist/_internal/components/data-display/CardKit/card-actions-context.js +2 -2
  11. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +6 -6
  12. package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +6 -6
  13. package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +2 -2
  14. package/dist/_internal/components/data-display/Carousel/Carousel.js +2 -2
  15. package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +2 -2
  16. package/dist/_internal/components/data-display/Carousel/Carousel.styles.js +2 -2
  17. package/dist/_internal/components/data-display/Chart/Chart.js +6 -6
  18. package/dist/_internal/components/data-display/Chart/SpecChart.js +7 -7
  19. package/dist/_internal/components/data-display/Chart/chart-context.js +4 -4
  20. package/dist/_internal/components/data-display/Chart/chart-internals.js +2 -2
  21. package/dist/_internal/components/data-display/Chart/chart-renderers.js +5 -5
  22. package/dist/_internal/components/data-display/DataViews/DataViewsBoard.js +5 -5
  23. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +38 -38
  24. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +47 -47
  25. package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +7 -7
  26. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +9 -9
  27. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +8 -8
  28. package/dist/_internal/components/data-display/DataViews/base-card.js +5 -5
  29. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +7 -7
  30. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +6 -6
  31. package/dist/_internal/components/data-display/DataViews/base-list-card.js +9 -9
  32. package/dist/_internal/components/data-display/DataViews/data-views-bar-controls.js +1 -1
  33. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +5 -5
  34. package/dist/_internal/components/data-display/DataViews/data-views-columns-tab.js +5 -5
  35. package/dist/_internal/components/data-display/DataViews/data-views-columns.js +6 -6
  36. package/dist/_internal/components/data-display/DataViews/data-views-day-input.js +1 -1
  37. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +10 -10
  38. package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +5 -5
  39. package/dist/_internal/components/data-display/DataViews/data-views-empty.js +7 -7
  40. package/dist/_internal/components/data-display/DataViews/data-views-export.js +7 -7
  41. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +6 -6
  42. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +10 -10
  43. package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +5 -5
  44. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +34 -34
  45. package/dist/_internal/components/data-display/DataViews/data-views-header-row.js +5 -5
  46. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +13 -13
  47. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +6 -6
  48. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +9 -9
  49. package/dist/_internal/components/data-display/DataViews/data-views-number-input.js +1 -1
  50. package/dist/_internal/components/data-display/DataViews/data-views-pagination.js +1 -1
  51. package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +1 -1
  52. package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +2 -2
  53. package/dist/_internal/components/data-display/DataViews/data-views-search.js +1 -1
  54. package/dist/_internal/components/data-display/DataViews/data-views-select-all-strip.js +7 -7
  55. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +15 -15
  56. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +13 -13
  57. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +14 -14
  58. package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +7 -7
  59. package/dist/_internal/components/data-display/DataViews/save-view-preview.js +5 -5
  60. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +7 -7
  61. package/dist/_internal/components/data-display/DescriptionItem/DescriptionItem.js +5 -5
  62. package/dist/_internal/components/data-display/FleetMap/FleetBody.js +11 -11
  63. package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +8 -8
  64. package/dist/_internal/components/data-display/FleetMap/FleetMap.js +13 -13
  65. package/dist/_internal/components/data-display/FleetMap/FleetRoster.js +2 -2
  66. package/dist/_internal/components/data-display/HoverCard/HoverCard.js +2 -2
  67. package/dist/_internal/components/data-display/Lightbox/Lightbox.js +2 -2
  68. package/dist/_internal/components/data-display/MapPreview/MapLayers.js +3 -3
  69. package/dist/_internal/components/data-display/MapPreview/MapPreview.js +7 -7
  70. package/dist/_internal/components/data-display/MapPreview/MapSearchBar.js +1 -1
  71. package/dist/_internal/components/data-display/Progress/Progress.js +5 -5
  72. package/dist/_internal/components/data-display/Progress/Progress.metrics.js +3 -3
  73. package/dist/_internal/components/data-display/Progress/Progress.styles.js +4 -4
  74. package/dist/_internal/components/data-display/Sheet/Sheet.body.js +2 -2
  75. package/dist/_internal/components/data-display/Sheet/Sheet.hooks.js +2 -2
  76. package/dist/_internal/components/data-display/Sheet/Sheet.js +5 -5
  77. package/dist/_internal/components/data-display/Sheet/Sheet.styles.js +2 -2
  78. package/dist/_internal/components/data-display/Table/Table.hooks.js +1 -1
  79. package/dist/_internal/components/data-display/Table/Table.js +6 -5
  80. package/dist/_internal/components/data-display/Table/Table.styles.js +1 -1
  81. package/dist/_internal/components/data-display/Table/TableParts.hooks.js +2 -1
  82. package/dist/_internal/components/data-display/Table/TableParts.js +2 -1
  83. package/dist/_internal/components/data-display/index.js +38 -38
  84. package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +5 -5
  85. package/dist/_internal/components/feedback/Modal/Modal.js +2 -2
  86. package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +5 -5
  87. package/dist/_internal/components/feedback/index.js +11 -11
  88. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.hooks.js +2 -2
  89. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +7 -7
  90. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +4 -4
  91. package/dist/_internal/components/form/AddressAutocomplete/AddressFallbackField.js +1 -1
  92. package/dist/_internal/components/form/AddressAutocomplete/AddressInputField.js +1 -1
  93. package/dist/_internal/components/form/AddressAutocomplete/AddressTextField.js +1 -1
  94. package/dist/_internal/components/form/Autocomplete/Autocomplete.js +1 -1
  95. package/dist/_internal/components/form/Autocomplete/Autocomplete.parts.js +1 -1
  96. package/dist/_internal/components/form/Button/Button.js +4 -4
  97. package/dist/_internal/components/form/Button/Button.styles.js +2 -2
  98. package/dist/_internal/components/form/Calendar/Calendar.hooks.js +2 -2
  99. package/dist/_internal/components/form/Calendar/Calendar.js +3 -3
  100. package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +1 -1
  101. package/dist/_internal/components/form/CategorySelect/CategoryPanelFoot.js +1 -1
  102. package/dist/_internal/components/form/CategorySelect/CategoryPanelHead.js +1 -1
  103. package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +1 -1
  104. package/dist/_internal/components/form/CategorySelect/CategoryRows.js +1 -1
  105. package/dist/_internal/components/form/CategorySelect/CategorySelect.js +3 -3
  106. package/dist/_internal/components/form/CategorySelect/CategorySelect.styles.js +1 -1
  107. package/dist/_internal/components/form/CategorySelect/CategoryTrigger.js +1 -1
  108. package/dist/_internal/components/form/CepField/CepField.js +1 -1
  109. package/dist/_internal/components/form/CodeEditor/CodeEditor.js +2 -2
  110. package/dist/_internal/components/form/Command/Command.js +2 -2
  111. package/dist/_internal/components/form/Command/Command.styles.js +2 -2
  112. package/dist/_internal/components/form/CreatableSelect/CreatableSelect.js +1 -1
  113. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.hooks.js +1 -1
  114. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +5 -5
  115. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.range.js +1 -1
  116. package/dist/_internal/components/form/DateRangePicker/DateRangePickerFields.js +1 -1
  117. package/dist/_internal/components/form/Input/Input.js +1 -1
  118. package/dist/_internal/components/form/Input/Input.styles.js +1 -1
  119. package/dist/_internal/components/form/InputOTP/InputOTP.js +3 -3
  120. package/dist/_internal/components/form/InputOTP/InputOTP.styles.js +1 -1
  121. package/dist/_internal/components/form/Label/Label.js +2 -2
  122. package/dist/_internal/components/form/Label/Label.styles.js +2 -2
  123. package/dist/_internal/components/form/Menubar/Menubar.item.js +2 -2
  124. package/dist/_internal/components/form/Menubar/Menubar.js +4 -4
  125. package/dist/_internal/components/form/Menubar/Menubar.styles.js +2 -2
  126. package/dist/_internal/components/form/Menubar/Menubar.toolbar.js +2 -2
  127. package/dist/_internal/components/form/PhoneInput/PhoneInput.js +1 -1
  128. package/dist/_internal/components/form/RadioGroup/RadioGroup.js +1 -1
  129. package/dist/_internal/components/form/RadioGroup/RadioGroup.styles.js +1 -1
  130. package/dist/_internal/components/form/RadioGroup/RadioGroup.variants.js +1 -1
  131. package/dist/_internal/components/form/Select/Select.js +1 -1
  132. package/dist/_internal/components/form/Switch/Switch.js +2 -2
  133. package/dist/_internal/components/form/Switch/Switch.parts.js +2 -2
  134. package/dist/_internal/components/form/Switch/Switch.styles.js +2 -2
  135. package/dist/_internal/components/form/Textarea/Textarea.js +2 -2
  136. package/dist/_internal/components/form/Textarea/TextareaRichEditor.js +1 -1
  137. package/dist/_internal/components/form/Toggle/Toggle.js +1 -1
  138. package/dist/_internal/components/form/Toggle/Toggle.styles.js +1 -1
  139. package/dist/_internal/components/form/ToggleGroup/ToggleGroup.js +1 -1
  140. package/dist/_internal/components/form/UploadButton/UploadButton.js +2 -2
  141. package/dist/_internal/components/form/index.js +23 -23
  142. package/dist/_internal/components/form/total-form/Fields/CategoryField.js +4 -4
  143. package/dist/_internal/components/form/total-form/Fields/CepField.js +1 -1
  144. package/dist/_internal/components/form/total-form/Fields/SelectField.js +1 -1
  145. package/dist/_internal/components/form/total-form/Fields/TextField.js +1 -1
  146. package/dist/_internal/components/form/total-form/Fields/ToggleField.js +1 -1
  147. package/dist/_internal/components/form/total-form/Fields/index.js +8 -8
  148. package/dist/_internal/components/form/total-form/SubmitButton.js +5 -5
  149. package/dist/_internal/components/index.js +75 -75
  150. package/dist/_internal/components/layout/Box/Box.js +5 -5
  151. package/dist/_internal/components/layout/ContentToolbar/ColumnsMenu.js +1 -1
  152. package/dist/_internal/components/layout/ContentToolbar/FilterTrigger.js +1 -1
  153. package/dist/_internal/components/layout/ContentToolbar/MultiSelectDropdown.js +1 -1
  154. package/dist/_internal/components/layout/ContentToolbar/MultiSelectTriggers.js +1 -1
  155. package/dist/_internal/components/layout/ContentToolbar/SavedViewsMenu.js +1 -1
  156. package/dist/_internal/components/layout/ContentToolbar/SortByDropdown.js +1 -1
  157. package/dist/_internal/components/layout/ContentToolbar/ViewSelector.js +1 -1
  158. package/dist/_internal/components/layout/ScrollArea/ScrollArea.js +2 -2
  159. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.js +5 -4
  160. package/dist/_internal/components/layout/SettingsLayout/SettingsPanel.js +3 -2
  161. package/dist/_internal/components/layout/SettingsLayout/SettingsSectionChips.js +2 -1
  162. package/dist/_internal/components/layout/SettingsLayout/SettingsSectionChips.scroll.js +8 -0
  163. package/dist/_internal/components/layout/SettingsLayout/SettingsSectionChips.scroll.js.map +1 -0
  164. package/dist/_internal/components/layout/Stack/Stack.js +6 -6
  165. package/dist/_internal/components/layout/TableFilter/TableFilter.js +1 -1
  166. package/dist/_internal/components/layout/index.js +6 -6
  167. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +8 -8
  168. package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +2 -2
  169. package/dist/_internal/components/navigation/Pagination/Pagination.js +1 -1
  170. package/dist/_internal/components/navigation/Pagination/PaginationParts.js +1 -1
  171. package/dist/_internal/components/navigation/Tabs/Tabs.js +1 -1
  172. package/dist/_internal/components/navigation/Tabs/Tabs.styles.js +1 -1
  173. package/dist/_internal/components/navigation/index.js +8 -8
  174. package/dist/_internal/components/typography/Heading/Heading.js +5 -5
  175. package/dist/_internal/components/typography/Heading/Heading.metrics.js +3 -3
  176. package/dist/_internal/components/typography/Heading/Heading.styles.js +4 -4
  177. package/dist/_internal/components/typography/Text/Text.js +4 -4
  178. package/dist/_internal/components/typography/Text/Text.metrics.js +3 -3
  179. package/dist/_internal/components/typography/index.js +7 -7
  180. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.helpers.js +2 -2
  181. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.js +2 -2
  182. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.parts.js +2 -2
  183. package/dist/_internal/components/utility/WorkflowStep/WorkflowStepRow.js +2 -2
  184. package/dist/_internal/components/utility/index.js +2 -2
  185. package/dist/_internal/icons/Icon.js +5 -5
  186. package/dist/_internal/provider/UiProvider.js +4 -4
  187. package/dist/_internal/provider/mui-bridge.js +3 -3
  188. package/dist/_internal/provider/use-ui-theme.js +4 -4
  189. package/dist/_internal/social-login-button/social-login-button.js +10 -10
  190. package/dist/_internal/tokens/field-height.js +1 -1
  191. package/dist/_internal/tokens/theme.js +2 -2
  192. package/dist/_internal/user-avatar/user-avatar.js +7 -7
  193. package/dist/charts.js +7 -7
  194. package/dist/{chunk-OAEYCKBN.js → chunk-2K7WPHI3.js} +2 -2
  195. package/dist/{chunk-GWEENWIS.js → chunk-3333KCAW.js} +3 -3
  196. package/dist/{chunk-L7NQCLFU.js → chunk-36JKV7CA.js} +3 -3
  197. package/dist/{chunk-JBI7ITL2.js → chunk-3BNQDOHC.js} +2 -2
  198. package/dist/{chunk-QGFBIUOK.js → chunk-3CTQZDSD.js} +2 -2
  199. package/dist/{chunk-YCCY77W5.js → chunk-3IF3I3FI.js} +2 -2
  200. package/dist/{chunk-A4OCNJWW.js → chunk-3UABIEP3.js} +2 -2
  201. package/dist/{chunk-R2WMSXQR.js → chunk-4BNV5AAI.js} +7 -7
  202. package/dist/{chunk-OHC3F7GJ.js → chunk-4NPPO63U.js} +6 -6
  203. package/dist/{chunk-WHQKH57H.js → chunk-4WF6ZLIW.js} +3 -3
  204. package/dist/{chunk-6WLHEZXI.js → chunk-4Y6W7BT4.js} +4 -4
  205. package/dist/{chunk-5KGABAQB.js → chunk-5752357K.js} +4 -4
  206. package/dist/{chunk-UITQ7KMK.js → chunk-5CQNBMLK.js} +4 -4
  207. package/dist/{chunk-3KREF4ZF.js → chunk-5FAI25JQ.js} +3 -3
  208. package/dist/{chunk-5CQ5HYJW.js → chunk-5KWHINO5.js} +4 -4
  209. package/dist/{chunk-BOGTTXPA.js → chunk-5QD6YGZ2.js} +16 -15
  210. package/dist/chunk-5QD6YGZ2.js.map +1 -0
  211. package/dist/{chunk-U4O47P6S.js → chunk-5WT4YWXC.js} +3 -3
  212. package/dist/{chunk-SZ3YFVO5.js → chunk-6MFMLQ72.js} +4 -4
  213. package/dist/{chunk-VIUDWOV6.js → chunk-7D2C4LK2.js} +5 -5
  214. package/dist/{chunk-6WBKOM5K.js → chunk-7DK6YVJU.js} +2 -2
  215. package/dist/{chunk-6QXFBZ7Q.js → chunk-7ICK5MXV.js} +4 -4
  216. package/dist/{chunk-QTNHAX2Z.js → chunk-A5B7B4HT.js} +3 -3
  217. package/dist/{chunk-KAIUDBHM.js → chunk-AXKLCWFR.js} +16 -16
  218. package/dist/{chunk-OB56SZGL.js → chunk-B7CNP5HW.js} +2 -2
  219. package/dist/{chunk-34BZXJGT.js → chunk-BKASAYQL.js} +4 -4
  220. package/dist/{chunk-PE4ZW3IA.js → chunk-BLW6KLDR.js} +4 -4
  221. package/dist/{chunk-UAVSBSV5.js → chunk-BUPDBEBA.js} +2 -2
  222. package/dist/{chunk-POV2KL2P.js → chunk-CCK7FB2V.js} +16 -2
  223. package/dist/chunk-CCK7FB2V.js.map +1 -0
  224. package/dist/{chunk-QKMJUOVH.js → chunk-CRG24BGI.js} +2 -2
  225. package/dist/{chunk-LKMMJKXU.js → chunk-CYZZHWNK.js} +2 -2
  226. package/dist/{chunk-DIM6SUGY.js → chunk-DAHYLPK7.js} +7 -7
  227. package/dist/{chunk-DUNG7D4B.js → chunk-DSF4VT7L.js} +1 -1
  228. package/dist/{chunk-KBZFBHLO.js → chunk-DXZOSP6P.js} +3 -3
  229. package/dist/{chunk-4GWHYLEB.js → chunk-DYGWKZ7T.js} +2 -2
  230. package/dist/{chunk-YOJASBHJ.js → chunk-DYNJQ3HJ.js} +3 -3
  231. package/dist/{chunk-CTKQCKRD.js → chunk-ECIHOZPK.js} +4 -4
  232. package/dist/{chunk-MYWROMGO.js → chunk-ENRBXB6L.js} +7 -7
  233. package/dist/{chunk-FWSMIUWA.js → chunk-ESCF5VMQ.js} +2 -2
  234. package/dist/{chunk-QI5CRSOW.js → chunk-F4KYBBTY.js} +4 -4
  235. package/dist/{chunk-NCEQWEXT.js → chunk-FNO5TWBJ.js} +4 -4
  236. package/dist/{chunk-S6IWKDWT.js → chunk-GC56IWIZ.js} +2 -2
  237. package/dist/{chunk-CXMVNYBY.js → chunk-GEB4WSZH.js} +3 -3
  238. package/dist/{chunk-RIF6L54B.js → chunk-H224XFFD.js} +2 -2
  239. package/dist/{chunk-2EAAWOZ2.js → chunk-HM2JJNUE.js} +4 -4
  240. package/dist/{chunk-JQWAANGN.js → chunk-HMAPQV4C.js} +3 -3
  241. package/dist/{chunk-7RRXLCOO.js → chunk-HUPR5JXY.js} +5 -5
  242. package/dist/{chunk-3RMDIO4G.js → chunk-I5T5PQQW.js} +2 -2
  243. package/dist/{chunk-F4WFUQYR.js → chunk-IFS3BRRL.js} +5 -5
  244. package/dist/{chunk-3GTMGPNQ.js → chunk-IQJCLFF4.js} +5 -5
  245. package/dist/{chunk-2ZRZTGWP.js → chunk-ISW5K72V.js} +5 -5
  246. package/dist/{chunk-IJFAF3A7.js → chunk-IWEUSZY3.js} +3 -3
  247. package/dist/{chunk-EDKLXA5W.js → chunk-J3XFUCCR.js} +3 -3
  248. package/dist/{chunk-TFMDZQK4.js → chunk-JGRBHNK6.js} +7 -7
  249. package/dist/{chunk-XEYLYUDM.js → chunk-JH5BKA3Y.js} +2 -2
  250. package/dist/{chunk-GS3RP2QE.js → chunk-KKN4LLVE.js} +2 -2
  251. package/dist/{chunk-3OBC6BOV.js → chunk-LH46NYGR.js} +2 -2
  252. package/dist/{chunk-5HQNHZ6Z.js → chunk-LH7KMYHC.js} +3 -4
  253. package/dist/chunk-LH7KMYHC.js.map +1 -0
  254. package/dist/{chunk-56JF5PZK.js → chunk-LYVTJLCF.js} +4 -4
  255. package/dist/{chunk-PZ7PU4AP.js → chunk-M2Q5CLPU.js} +4 -4
  256. package/dist/{chunk-XIG3DXXX.js → chunk-M4KVKQRN.js} +3 -3
  257. package/dist/{chunk-X4ZRPE37.js → chunk-MBHWVRV5.js} +2 -2
  258. package/dist/{chunk-ERY6D2OV.js → chunk-MWPXKZ7O.js} +4 -4
  259. package/dist/{chunk-XWZJLXJT.js → chunk-N7LPVR7P.js} +36 -10
  260. package/dist/chunk-N7LPVR7P.js.map +1 -0
  261. package/dist/{chunk-3AOQBR7N.js → chunk-OAW6GCS3.js} +2 -2
  262. package/dist/{chunk-6N2EDWMG.js → chunk-OGB25P3N.js} +4 -4
  263. package/dist/{chunk-R2XVTUVR.js → chunk-OQRG34VG.js} +2 -2
  264. package/dist/{chunk-RUEKY3VR.js → chunk-P52LYD6S.js} +2 -2
  265. package/dist/{chunk-R53ZOW4B.js → chunk-PARTZ7XI.js} +2 -2
  266. package/dist/{chunk-7GHYCQCJ.js → chunk-PCLKFR27.js} +4 -4
  267. package/dist/{chunk-K6VKL62Z.js → chunk-PG5C2AA4.js} +5 -5
  268. package/dist/{chunk-RGT6DM5W.js → chunk-PX6TWS5T.js} +68 -42
  269. package/dist/chunk-PX6TWS5T.js.map +1 -0
  270. package/dist/{chunk-R3JYC63P.js → chunk-QXSV7Z57.js} +2 -2
  271. package/dist/{chunk-5JSRM7WC.js → chunk-RB3X6CEE.js} +2 -2
  272. package/dist/{chunk-DW6F7354.js → chunk-S36NC22G.js} +2 -2
  273. package/dist/{chunk-6N4AA2Y7.js → chunk-S6JHTEV4.js} +3 -3
  274. package/dist/{chunk-5JCGBCFJ.js → chunk-SAOCDKNK.js} +4 -4
  275. package/dist/chunk-SLJAQA2X.js +82 -0
  276. package/dist/chunk-SLJAQA2X.js.map +1 -0
  277. package/dist/{chunk-ISFFETTG.js → chunk-T3DNYPEA.js} +6 -6
  278. package/dist/{chunk-JU4MSYYH.js → chunk-T6EKPFKZ.js} +2 -2
  279. package/dist/{chunk-Q2YNXJEL.js → chunk-TZBOWSAM.js} +5 -5
  280. package/dist/{chunk-D4FZ3ANG.js → chunk-UKX3MPB7.js} +2 -2
  281. package/dist/{chunk-YBH4SPMM.js → chunk-URHX4FAQ.js} +2 -2
  282. package/dist/{chunk-4CXCOR6F.js → chunk-V2UZQS2K.js} +2 -2
  283. package/dist/{chunk-TXGB2WSW.js → chunk-VJ2BNJ5M.js} +2 -2
  284. package/dist/{chunk-ASYR22BJ.js → chunk-VJG7NMGL.js} +4 -4
  285. package/dist/{chunk-BWHOCNGW.js → chunk-VPPIODKX.js} +2 -2
  286. package/dist/{chunk-4B5XUQQS.js → chunk-WB6ZU3B3.js} +3 -3
  287. package/dist/{chunk-W7F2QIAT.js → chunk-WCRGSMLV.js} +3 -3
  288. package/dist/{chunk-G62KCU3D.js → chunk-WL6N33AB.js} +2 -2
  289. package/dist/{chunk-VIRYHNEM.js → chunk-WY5PBZ7Q.js} +2 -2
  290. package/dist/{chunk-TKKQ7RGT.js → chunk-WZNTZX5N.js} +2 -2
  291. package/dist/{chunk-KE473LK6.js → chunk-YMTZN54Q.js} +2 -2
  292. package/dist/{chunk-JSD5TFDK.js → chunk-YS67XMOP.js} +5 -5
  293. package/dist/{chunk-UGGJ3KDT.js → chunk-YTINPQKU.js} +2 -2
  294. package/dist/{chunk-U3PPLAFB.js → chunk-ZN6YATOG.js} +2 -2
  295. package/dist/{chunk-WC3W36AM.js → chunk-ZOUWHGV3.js} +4 -4
  296. package/dist/data-display/Alert.js +2 -2
  297. package/dist/data-display/Badge.js +4 -4
  298. package/dist/data-display/Banner.js +2 -2
  299. package/dist/data-display/CardKit.js +10 -10
  300. package/dist/data-display/Carousel.js +2 -2
  301. package/dist/data-display/Chart.js +7 -7
  302. package/dist/data-display/DataViews.js +63 -63
  303. package/dist/data-display/DescriptionItem.js +5 -5
  304. package/dist/data-display/FleetMap.js +13 -13
  305. package/dist/data-display/HoverCard.js +2 -2
  306. package/dist/data-display/Lightbox.js +2 -2
  307. package/dist/data-display/MapPreview.js +7 -7
  308. package/dist/data-display/Progress.js +5 -5
  309. package/dist/data-display/Sheet.js +5 -5
  310. package/dist/data-display/Table.js +6 -5
  311. package/dist/feedback/ConfirmAction.js +8 -8
  312. package/dist/feedback/Modal.js +2 -2
  313. package/dist/feedback/NotificationStatusNotice.js +5 -5
  314. package/dist/form/AddressAutocomplete.js +7 -7
  315. package/dist/form/Autocomplete.js +1 -1
  316. package/dist/form/Button.js +4 -4
  317. package/dist/form/Calendar.js +3 -3
  318. package/dist/form/CategorySelect.js +3 -3
  319. package/dist/form/CepField.js +1 -1
  320. package/dist/form/CodeEditor.js +2 -2
  321. package/dist/form/Command.js +2 -2
  322. package/dist/form/CreatableSelect.js +1 -1
  323. package/dist/form/DateRangePicker.js +5 -5
  324. package/dist/form/Input.js +1 -1
  325. package/dist/form/InputOTP.js +3 -3
  326. package/dist/form/Label.js +2 -2
  327. package/dist/form/Menubar.js +4 -4
  328. package/dist/form/PhoneInput.js +1 -1
  329. package/dist/form/RadioGroup.js +1 -1
  330. package/dist/form/Select.js +1 -1
  331. package/dist/form/Switch.js +2 -2
  332. package/dist/form/Textarea.js +2 -2
  333. package/dist/form/Toggle.js +1 -1
  334. package/dist/form/ToggleGroup.js +1 -1
  335. package/dist/form/UploadButton.js +2 -2
  336. package/dist/form/total-form.js +10 -10
  337. package/dist/icons.js +5 -5
  338. package/dist/layout/Box.js +5 -5
  339. package/dist/layout/ContentToolbar.js +4 -4
  340. package/dist/layout/ScrollArea.js +2 -2
  341. package/dist/layout/SettingsLayout.js +5 -4
  342. package/dist/layout/Stack.js +6 -6
  343. package/dist/layout/TableFilter.js +1 -1
  344. package/dist/navigation/AppHeader.js +8 -8
  345. package/dist/navigation/Pagination.js +1 -1
  346. package/dist/navigation/Tabs.js +1 -1
  347. package/dist/provider.js +5 -5
  348. package/dist/social-login-button.js +10 -10
  349. package/dist/tokens.js +4 -4
  350. package/dist/types/components/data-display/Table/Table.d.ts.map +1 -1
  351. package/dist/types/components/data-display/Table/Table.hooks.d.ts +3 -2
  352. package/dist/types/components/data-display/Table/Table.hooks.d.ts.map +1 -1
  353. package/dist/types/components/data-display/Table/Table.styles.d.ts +3 -1
  354. package/dist/types/components/data-display/Table/Table.styles.d.ts.map +1 -1
  355. package/dist/types/components/data-display/Table/Table.types.d.ts +6 -4
  356. package/dist/types/components/data-display/Table/Table.types.d.ts.map +1 -1
  357. package/dist/types/components/data-display/Table/TableParts.d.ts +2 -3
  358. package/dist/types/components/data-display/Table/TableParts.d.ts.map +1 -1
  359. package/dist/types/components/data-display/Table/TableParts.hooks.d.ts +6 -2
  360. package/dist/types/components/data-display/Table/TableParts.hooks.d.ts.map +1 -1
  361. package/dist/types/components/layout/SettingsLayout/SettingsSectionChips.d.ts.map +1 -1
  362. package/dist/types/components/layout/SettingsLayout/SettingsSectionChips.scroll.d.ts +64 -0
  363. package/dist/types/components/layout/SettingsLayout/SettingsSectionChips.scroll.d.ts.map +1 -0
  364. package/dist/typography/Heading.js +5 -5
  365. package/dist/typography/Text.js +4 -4
  366. package/dist/user-avatar.js +7 -7
  367. package/dist/utility/WorkflowStep.js +2 -2
  368. package/package.json +1 -1
  369. package/src/components/data-display/Table/Table.hooks.ts +5 -4
  370. package/src/components/data-display/Table/Table.md +6 -0
  371. package/src/components/data-display/Table/Table.styles.ts +28 -1
  372. package/src/components/data-display/Table/Table.tsx +6 -4
  373. package/src/components/data-display/Table/Table.types.ts +6 -4
  374. package/src/components/data-display/Table/TableParts.hooks.tsx +23 -19
  375. package/src/components/data-display/Table/TableParts.tsx +112 -49
  376. package/src/components/layout/SettingsLayout/SettingsLayout.md +3 -1
  377. package/src/components/layout/SettingsLayout/SettingsSectionChips.scroll.ts +180 -0
  378. package/src/components/layout/SettingsLayout/SettingsSectionChips.tsx +73 -15
  379. package/dist/chunk-5HQNHZ6Z.js.map +0 -1
  380. package/dist/chunk-BOGTTXPA.js.map +0 -1
  381. package/dist/chunk-POV2KL2P.js.map +0 -1
  382. package/dist/chunk-RGT6DM5W.js.map +0 -1
  383. package/dist/chunk-XWZJLXJT.js.map +0 -1
  384. /package/dist/{chunk-OAEYCKBN.js.map → chunk-2K7WPHI3.js.map} +0 -0
  385. /package/dist/{chunk-GWEENWIS.js.map → chunk-3333KCAW.js.map} +0 -0
  386. /package/dist/{chunk-L7NQCLFU.js.map → chunk-36JKV7CA.js.map} +0 -0
  387. /package/dist/{chunk-JBI7ITL2.js.map → chunk-3BNQDOHC.js.map} +0 -0
  388. /package/dist/{chunk-QGFBIUOK.js.map → chunk-3CTQZDSD.js.map} +0 -0
  389. /package/dist/{chunk-YCCY77W5.js.map → chunk-3IF3I3FI.js.map} +0 -0
  390. /package/dist/{chunk-A4OCNJWW.js.map → chunk-3UABIEP3.js.map} +0 -0
  391. /package/dist/{chunk-R2WMSXQR.js.map → chunk-4BNV5AAI.js.map} +0 -0
  392. /package/dist/{chunk-OHC3F7GJ.js.map → chunk-4NPPO63U.js.map} +0 -0
  393. /package/dist/{chunk-WHQKH57H.js.map → chunk-4WF6ZLIW.js.map} +0 -0
  394. /package/dist/{chunk-6WLHEZXI.js.map → chunk-4Y6W7BT4.js.map} +0 -0
  395. /package/dist/{chunk-5KGABAQB.js.map → chunk-5752357K.js.map} +0 -0
  396. /package/dist/{chunk-UITQ7KMK.js.map → chunk-5CQNBMLK.js.map} +0 -0
  397. /package/dist/{chunk-3KREF4ZF.js.map → chunk-5FAI25JQ.js.map} +0 -0
  398. /package/dist/{chunk-5CQ5HYJW.js.map → chunk-5KWHINO5.js.map} +0 -0
  399. /package/dist/{chunk-U4O47P6S.js.map → chunk-5WT4YWXC.js.map} +0 -0
  400. /package/dist/{chunk-SZ3YFVO5.js.map → chunk-6MFMLQ72.js.map} +0 -0
  401. /package/dist/{chunk-VIUDWOV6.js.map → chunk-7D2C4LK2.js.map} +0 -0
  402. /package/dist/{chunk-6WBKOM5K.js.map → chunk-7DK6YVJU.js.map} +0 -0
  403. /package/dist/{chunk-6QXFBZ7Q.js.map → chunk-7ICK5MXV.js.map} +0 -0
  404. /package/dist/{chunk-QTNHAX2Z.js.map → chunk-A5B7B4HT.js.map} +0 -0
  405. /package/dist/{chunk-KAIUDBHM.js.map → chunk-AXKLCWFR.js.map} +0 -0
  406. /package/dist/{chunk-OB56SZGL.js.map → chunk-B7CNP5HW.js.map} +0 -0
  407. /package/dist/{chunk-34BZXJGT.js.map → chunk-BKASAYQL.js.map} +0 -0
  408. /package/dist/{chunk-PE4ZW3IA.js.map → chunk-BLW6KLDR.js.map} +0 -0
  409. /package/dist/{chunk-UAVSBSV5.js.map → chunk-BUPDBEBA.js.map} +0 -0
  410. /package/dist/{chunk-QKMJUOVH.js.map → chunk-CRG24BGI.js.map} +0 -0
  411. /package/dist/{chunk-LKMMJKXU.js.map → chunk-CYZZHWNK.js.map} +0 -0
  412. /package/dist/{chunk-DIM6SUGY.js.map → chunk-DAHYLPK7.js.map} +0 -0
  413. /package/dist/{chunk-DUNG7D4B.js.map → chunk-DSF4VT7L.js.map} +0 -0
  414. /package/dist/{chunk-KBZFBHLO.js.map → chunk-DXZOSP6P.js.map} +0 -0
  415. /package/dist/{chunk-4GWHYLEB.js.map → chunk-DYGWKZ7T.js.map} +0 -0
  416. /package/dist/{chunk-YOJASBHJ.js.map → chunk-DYNJQ3HJ.js.map} +0 -0
  417. /package/dist/{chunk-CTKQCKRD.js.map → chunk-ECIHOZPK.js.map} +0 -0
  418. /package/dist/{chunk-MYWROMGO.js.map → chunk-ENRBXB6L.js.map} +0 -0
  419. /package/dist/{chunk-FWSMIUWA.js.map → chunk-ESCF5VMQ.js.map} +0 -0
  420. /package/dist/{chunk-QI5CRSOW.js.map → chunk-F4KYBBTY.js.map} +0 -0
  421. /package/dist/{chunk-NCEQWEXT.js.map → chunk-FNO5TWBJ.js.map} +0 -0
  422. /package/dist/{chunk-S6IWKDWT.js.map → chunk-GC56IWIZ.js.map} +0 -0
  423. /package/dist/{chunk-CXMVNYBY.js.map → chunk-GEB4WSZH.js.map} +0 -0
  424. /package/dist/{chunk-RIF6L54B.js.map → chunk-H224XFFD.js.map} +0 -0
  425. /package/dist/{chunk-2EAAWOZ2.js.map → chunk-HM2JJNUE.js.map} +0 -0
  426. /package/dist/{chunk-JQWAANGN.js.map → chunk-HMAPQV4C.js.map} +0 -0
  427. /package/dist/{chunk-7RRXLCOO.js.map → chunk-HUPR5JXY.js.map} +0 -0
  428. /package/dist/{chunk-3RMDIO4G.js.map → chunk-I5T5PQQW.js.map} +0 -0
  429. /package/dist/{chunk-F4WFUQYR.js.map → chunk-IFS3BRRL.js.map} +0 -0
  430. /package/dist/{chunk-3GTMGPNQ.js.map → chunk-IQJCLFF4.js.map} +0 -0
  431. /package/dist/{chunk-2ZRZTGWP.js.map → chunk-ISW5K72V.js.map} +0 -0
  432. /package/dist/{chunk-IJFAF3A7.js.map → chunk-IWEUSZY3.js.map} +0 -0
  433. /package/dist/{chunk-EDKLXA5W.js.map → chunk-J3XFUCCR.js.map} +0 -0
  434. /package/dist/{chunk-TFMDZQK4.js.map → chunk-JGRBHNK6.js.map} +0 -0
  435. /package/dist/{chunk-XEYLYUDM.js.map → chunk-JH5BKA3Y.js.map} +0 -0
  436. /package/dist/{chunk-GS3RP2QE.js.map → chunk-KKN4LLVE.js.map} +0 -0
  437. /package/dist/{chunk-3OBC6BOV.js.map → chunk-LH46NYGR.js.map} +0 -0
  438. /package/dist/{chunk-56JF5PZK.js.map → chunk-LYVTJLCF.js.map} +0 -0
  439. /package/dist/{chunk-PZ7PU4AP.js.map → chunk-M2Q5CLPU.js.map} +0 -0
  440. /package/dist/{chunk-XIG3DXXX.js.map → chunk-M4KVKQRN.js.map} +0 -0
  441. /package/dist/{chunk-X4ZRPE37.js.map → chunk-MBHWVRV5.js.map} +0 -0
  442. /package/dist/{chunk-ERY6D2OV.js.map → chunk-MWPXKZ7O.js.map} +0 -0
  443. /package/dist/{chunk-3AOQBR7N.js.map → chunk-OAW6GCS3.js.map} +0 -0
  444. /package/dist/{chunk-6N2EDWMG.js.map → chunk-OGB25P3N.js.map} +0 -0
  445. /package/dist/{chunk-R2XVTUVR.js.map → chunk-OQRG34VG.js.map} +0 -0
  446. /package/dist/{chunk-RUEKY3VR.js.map → chunk-P52LYD6S.js.map} +0 -0
  447. /package/dist/{chunk-R53ZOW4B.js.map → chunk-PARTZ7XI.js.map} +0 -0
  448. /package/dist/{chunk-7GHYCQCJ.js.map → chunk-PCLKFR27.js.map} +0 -0
  449. /package/dist/{chunk-K6VKL62Z.js.map → chunk-PG5C2AA4.js.map} +0 -0
  450. /package/dist/{chunk-R3JYC63P.js.map → chunk-QXSV7Z57.js.map} +0 -0
  451. /package/dist/{chunk-5JSRM7WC.js.map → chunk-RB3X6CEE.js.map} +0 -0
  452. /package/dist/{chunk-DW6F7354.js.map → chunk-S36NC22G.js.map} +0 -0
  453. /package/dist/{chunk-6N4AA2Y7.js.map → chunk-S6JHTEV4.js.map} +0 -0
  454. /package/dist/{chunk-5JCGBCFJ.js.map → chunk-SAOCDKNK.js.map} +0 -0
  455. /package/dist/{chunk-ISFFETTG.js.map → chunk-T3DNYPEA.js.map} +0 -0
  456. /package/dist/{chunk-JU4MSYYH.js.map → chunk-T6EKPFKZ.js.map} +0 -0
  457. /package/dist/{chunk-Q2YNXJEL.js.map → chunk-TZBOWSAM.js.map} +0 -0
  458. /package/dist/{chunk-D4FZ3ANG.js.map → chunk-UKX3MPB7.js.map} +0 -0
  459. /package/dist/{chunk-YBH4SPMM.js.map → chunk-URHX4FAQ.js.map} +0 -0
  460. /package/dist/{chunk-4CXCOR6F.js.map → chunk-V2UZQS2K.js.map} +0 -0
  461. /package/dist/{chunk-TXGB2WSW.js.map → chunk-VJ2BNJ5M.js.map} +0 -0
  462. /package/dist/{chunk-ASYR22BJ.js.map → chunk-VJG7NMGL.js.map} +0 -0
  463. /package/dist/{chunk-BWHOCNGW.js.map → chunk-VPPIODKX.js.map} +0 -0
  464. /package/dist/{chunk-4B5XUQQS.js.map → chunk-WB6ZU3B3.js.map} +0 -0
  465. /package/dist/{chunk-W7F2QIAT.js.map → chunk-WCRGSMLV.js.map} +0 -0
  466. /package/dist/{chunk-G62KCU3D.js.map → chunk-WL6N33AB.js.map} +0 -0
  467. /package/dist/{chunk-VIRYHNEM.js.map → chunk-WY5PBZ7Q.js.map} +0 -0
  468. /package/dist/{chunk-TKKQ7RGT.js.map → chunk-WZNTZX5N.js.map} +0 -0
  469. /package/dist/{chunk-KE473LK6.js.map → chunk-YMTZN54Q.js.map} +0 -0
  470. /package/dist/{chunk-JSD5TFDK.js.map → chunk-YS67XMOP.js.map} +0 -0
  471. /package/dist/{chunk-UGGJ3KDT.js.map → chunk-YTINPQKU.js.map} +0 -0
  472. /package/dist/{chunk-U3PPLAFB.js.map → chunk-ZN6YATOG.js.map} +0 -0
  473. /package/dist/{chunk-WC3W36AM.js.map → chunk-ZOUWHGV3.js.map} +0 -0
@@ -1,6 +1,9 @@
1
1
  import {
2
2
  tableRowHeight
3
3
  } from "./chunk-XS3REOPN.js";
4
+ import {
5
+ FIELD_BORDER_WIDTH
6
+ } from "./chunk-PZBK3F52.js";
4
7
  import {
5
8
  rem
6
9
  } from "./chunk-YKCAJ2TN.js";
@@ -99,11 +102,36 @@ var EnhancedTableHeader = React.memo(({
99
102
  ] }) });
100
103
  });
101
104
  EnhancedTableHeader.displayName = "EnhancedTableHeader";
105
+ var JUSTIFY = {
106
+ left: "flex-start",
107
+ center: "center",
108
+ right: "flex-end"
109
+ };
110
+ var VirtualCellContent = ({ rowHeight, align, children }) => {
111
+ const theme = useTheme();
112
+ return /* @__PURE__ */ jsx(
113
+ "div",
114
+ {
115
+ style: {
116
+ height: `calc(${rem(theme, rowHeight)} - ${FIELD_BORDER_WIDTH}px)`,
117
+ display: "flex",
118
+ alignItems: "center",
119
+ justifyContent: JUSTIFY[align],
120
+ overflow: "hidden"
121
+ },
122
+ children
123
+ }
124
+ );
125
+ };
126
+ var cellContent = (column, rowData, index, renderCell) => {
127
+ const value = rowData[column.key];
128
+ if (renderCell) return renderCell(value, column, rowData, index);
129
+ return column.render ? column.render(value, rowData) : value;
130
+ };
102
131
  var TableDataRow = ({
103
132
  rowData,
104
133
  rowKey,
105
134
  index,
106
- offsetY,
107
135
  columns,
108
136
  selected,
109
137
  selectable,
@@ -112,10 +140,12 @@ var TableDataRow = ({
112
140
  onRowFocus,
113
141
  onRowBlur,
114
142
  onSelect,
115
- virtualScrolling,
143
+ virtualised,
116
144
  renderCell
117
145
  }) => {
118
146
  const theme = useTheme();
147
+ const pitch = tableRowHeight(rowHeight);
148
+ const fit = (align, content) => virtualised ? /* @__PURE__ */ jsx(VirtualCellContent, { rowHeight: pitch, align, children: content }) : content;
119
149
  return /* @__PURE__ */ jsxs(
120
150
  TableRow,
121
151
  {
@@ -124,55 +154,52 @@ var TableDataRow = ({
124
154
  onClick: (event) => onRowClick?.(event, rowData),
125
155
  onFocus: (event) => onRowFocus?.(event, rowData),
126
156
  onBlur: (event) => onRowBlur?.(event, rowData),
127
- style: virtualScrolling ? {
128
- transform: `translateY(${rem(theme, offsetY)})`,
129
- position: "absolute",
130
- top: 0,
131
- left: 0,
132
- right: 0,
133
- height: rem(theme, tableRowHeight(rowHeight))
134
- } : void 0,
157
+ style: virtualised ? { height: rem(theme, pitch) } : void 0,
135
158
  children: [
136
- selectable && /* @__PURE__ */ jsx(TableCell, { padding: "checkbox", children: /* @__PURE__ */ jsx(
137
- Checkbox,
138
- {
139
- checked: selected,
140
- onChange: (event) => onSelect(event, rowKey),
141
- onClick: (event) => event.stopPropagation(),
142
- inputProps: { "aria-label": `select row ${index + 1}` }
143
- }
159
+ selectable && /* @__PURE__ */ jsx(TableCell, { padding: "checkbox", children: fit(
160
+ "left",
161
+ /* @__PURE__ */ jsx(
162
+ Checkbox,
163
+ {
164
+ checked: selected,
165
+ onChange: (event) => onSelect(event, rowKey),
166
+ onClick: (event) => event.stopPropagation(),
167
+ inputProps: { "aria-label": `select row ${index + 1}` }
168
+ }
169
+ )
144
170
  ) }),
145
- columns.map((column) => {
146
- const value = rowData[column.key];
147
- return /* @__PURE__ */ jsx(TableCell, { align: column.align || "left", children: renderCell ? renderCell(value, column, rowData, index) : column.render ? column.render(value, rowData) : value }, column.key);
148
- })
171
+ columns.map((column) => /* @__PURE__ */ jsx(TableCell, { align: column.align || "left", children: fit(column.align || "left", cellContent(column, rowData, index, renderCell)) }, column.key))
149
172
  ]
150
173
  },
151
174
  String(rowKey)
152
175
  );
153
176
  };
154
- var VirtualisedBody = ({ visibleItems, rowHeight, renderTableRow }) => /* @__PURE__ */ jsx(
155
- TableBody,
156
- {
157
- style: {
158
- height: visibleItems.totalHeight,
159
- position: "relative"
160
- },
161
- children: visibleItems.items.map(
162
- (rowData, index) => renderTableRow(rowData, visibleItems.startIndex + index, visibleItems.offsetY + index * rowHeight)
163
- )
164
- }
165
- );
177
+ var SpacerRow = ({ heightPx, colSpan }) => {
178
+ const theme = useTheme();
179
+ if (heightPx <= 0) return null;
180
+ return /* @__PURE__ */ jsx("tr", { "aria-hidden": "true", style: { height: rem(theme, heightPx) }, children: /* @__PURE__ */ jsx("td", { colSpan, style: { padding: 0, border: 0 } }) });
181
+ };
182
+ var VirtualisedBody = ({ visibleItems, colSpan, renderTableRow }) => /* @__PURE__ */ jsxs(TableBody, { children: [
183
+ /* @__PURE__ */ jsx(SpacerRow, { heightPx: visibleItems.offsetY, colSpan }),
184
+ visibleItems.items.map(
185
+ (rowData, index) => renderTableRow(rowData, visibleItems.startIndex + index)
186
+ ),
187
+ /* @__PURE__ */ jsx(SpacerRow, { heightPx: visibleItems.trailingPx, colSpan })
188
+ ] });
166
189
  var PlainBody = ({ data, renderTableRow }) => /* @__PURE__ */ jsx(TableBody, { children: data.map((rowData, index) => renderTableRow(rowData, index)) });
167
190
  var EnhancedTableBody = React.memo((props) => {
168
191
  const { data, virtualWindow } = props;
169
- const renderTableRow = useTableRowRenderer({ ...props, selectedRows: props.selectedRows ?? [] });
192
+ const renderTableRow = useTableRowRenderer({
193
+ ...props,
194
+ selectedRows: props.selectedRows ?? [],
195
+ virtualised: Boolean(virtualWindow)
196
+ });
170
197
  if (virtualWindow) {
171
198
  return /* @__PURE__ */ jsx(
172
199
  VirtualisedBody,
173
200
  {
174
201
  visibleItems: virtualWindow,
175
- rowHeight: tableRowHeight(props.rowHeight),
202
+ colSpan: props.columns.length + (props.selectable ? 1 : 0),
176
203
  renderTableRow
177
204
  }
178
205
  );
@@ -209,7 +236,7 @@ var useTableRowRenderer = ({
209
236
  selectable,
210
237
  renderRow,
211
238
  renderCell,
212
- virtualScrolling,
239
+ virtualised,
213
240
  rowHeight
214
241
  }) => {
215
242
  const getRowKey = useRowKey(rowKeyExtractor);
@@ -219,7 +246,7 @@ var useTableRowRenderer = ({
219
246
  );
220
247
  const handleRowSelection = useRowSelection({ selectedRows, onSelectionChange });
221
248
  const renderTableRow = useCallback2(
222
- (rowData, index, offsetY = 0) => {
249
+ (rowData, index) => {
223
250
  const rowKey = getRowKey(rowData, index);
224
251
  const selected = isRowSelected(rowKey);
225
252
  if (renderRow) return renderRow(rowData, index, selected);
@@ -229,7 +256,6 @@ var useTableRowRenderer = ({
229
256
  rowData,
230
257
  rowKey,
231
258
  index,
232
- offsetY,
233
259
  columns,
234
260
  selected,
235
261
  selectable,
@@ -238,7 +264,7 @@ var useTableRowRenderer = ({
238
264
  onRowFocus,
239
265
  onRowBlur,
240
266
  onSelect: handleRowSelection,
241
- virtualScrolling,
267
+ virtualised,
242
268
  renderCell
243
269
  },
244
270
  rowKey
@@ -256,7 +282,7 @@ var useTableRowRenderer = ({
256
282
  renderCell,
257
283
  rowHeight,
258
284
  selectable,
259
- virtualScrolling
285
+ virtualised
260
286
  ]
261
287
  );
262
288
  return renderTableRow;
@@ -268,4 +294,4 @@ export {
268
294
  TableDataRow,
269
295
  EnhancedTableBody
270
296
  };
271
- //# sourceMappingURL=chunk-RGT6DM5W.js.map
297
+ //# sourceMappingURL=chunk-PX6TWS5T.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/Table/TableParts.hooks.tsx","../src/components/data-display/Table/TableParts.tsx"],"sourcesContent":["import type React from 'react';\nimport { useCallback } from 'react';\n\nimport { TableDataRow } from './TableParts';\nimport type { TableBodyProps } from './Table.types';\n\n// Row identity, selection and the row element itself. Split out of\n// EnhancedTableBody so that component is just the virtualised/plain choice.\n// A row's identity: the caller's extractor, else its id, else its position.\nconst useRowKey = (rowKeyExtractor: TableBodyProps['rowKeyExtractor']) =>\n useCallback(\n (rowData: Record<string, unknown>, index: number): string | number =>\n rowKeyExtractor ? rowKeyExtractor(rowData, index) : (rowData.id as string | number) || index,\n [rowKeyExtractor],\n );\n\nconst useRowSelection = ({\n selectedRows,\n onSelectionChange,\n}: {\n selectedRows: Array<string | number>;\n onSelectionChange: TableBodyProps['onSelectionChange'];\n}) =>\n useCallback(\n (event: React.MouseEvent | React.ChangeEvent, rowKey: string | number) => {\n // Stop propagation so selecting does not also fire the row click.\n event.stopPropagation();\n if (!onSelectionChange) return;\n onSelectionChange(rowKey, !selectedRows.includes(rowKey));\n },\n [onSelectionChange, selectedRows],\n );\n\ntype RowRendererProps = Pick<\n TableBodyProps,\n | 'columns'\n | 'onRowClick'\n | 'onRowFocus'\n | 'onRowBlur'\n | 'onSelectionChange'\n | 'rowKeyExtractor'\n | 'selectable'\n | 'renderRow'\n | 'renderCell'\n | 'rowHeight'\n> & {\n selectedRows: Array<string | number>;\n /** Whether the rows are a virtual window's, drawn at exactly `rowHeight`. */\n virtualised: boolean;\n};\n\nexport const useTableRowRenderer = ({\n columns,\n selectedRows,\n onRowClick,\n onRowFocus,\n onRowBlur,\n onSelectionChange,\n rowKeyExtractor,\n selectable,\n renderRow,\n renderCell,\n virtualised,\n rowHeight,\n}: RowRendererProps) => {\n const getRowKey = useRowKey(rowKeyExtractor);\n const isRowSelected = useCallback(\n (rowKey: string | number) => selectedRows.includes(rowKey),\n [selectedRows],\n );\n const handleRowSelection = useRowSelection({ selectedRows, onSelectionChange });\n\n const renderTableRow = useCallback(\n (rowData: Record<string, unknown>, index: number) => {\n const rowKey = getRowKey(rowData, index);\n const selected = isRowSelected(rowKey);\n\n if (renderRow) return renderRow(rowData, index, selected);\n\n return (\n <TableDataRow\n key={rowKey}\n rowData={rowData}\n rowKey={rowKey}\n index={index}\n columns={columns}\n selected={selected}\n selectable={selectable}\n rowHeight={rowHeight}\n onRowClick={onRowClick}\n onRowFocus={onRowFocus}\n onRowBlur={onRowBlur}\n onSelect={handleRowSelection}\n virtualised={virtualised}\n renderCell={renderCell}\n />\n );\n },\n [\n columns,\n getRowKey,\n isRowSelected,\n handleRowSelection,\n onRowClick,\n onRowFocus,\n onRowBlur,\n renderRow,\n renderCell,\n rowHeight,\n selectable,\n virtualised,\n ],\n );\n\n return renderTableRow;\n};\n","import Checkbox from '@mui/material/Checkbox/index.js';\nimport TableBody from '@mui/material/TableBody/index.js';\nimport TableCell from '@mui/material/TableCell/index.js';\nimport TableHead from '@mui/material/TableHead/index.js';\nimport TableRow from '@mui/material/TableRow/index.js';\nimport TableSortLabel from '@mui/material/TableSortLabel/index.js';\nimport { useTheme, type Theme } from '@mui/material/styles/index.js';\nimport React, { useCallback } from 'react';\n\nimport { FIELD_BORDER_WIDTH } from '../../../tokens/field-height.core';\nimport { rem } from '../../../tokens/relative';\n\nimport { tableRowHeight } from './Table.helpers';\nimport { useTableRowRenderer } from './TableParts.hooks';\nimport type { ColumnConfig, TableBodyProps, TableHeaderProps, VirtualWindow } from './Table.types';\n\n// Mirrors the visible sort indicator for assistive technology; undefined when\n// the column is not sorted, which is what removes the attribute entirely.\nconst ariaSortFor = (\n canSort: boolean,\n isSorted: boolean,\n direction?: 'asc' | 'desc',\n): 'ascending' | 'descending' | undefined => {\n if (!canSort || !isSorted) return undefined;\n\n return direction === 'asc' ? 'ascending' : 'descending';\n};\n\n/** A column's `width`/`minWidth` as CSS: a number is design px, a string as given. */\nconst columnLength = (theme: Theme, value: number | string | undefined): string | undefined =>\n typeof value === 'number' ? rem(theme, value) : value;\n\n// One header cell. Sorting is offered when the table is sortable and the column\n// has not opted out; aria-sort mirrors the visible indicator.\nconst HeaderCell: React.FC<{\n column: ColumnConfig;\n sortable?: boolean;\n sortConfig?: { key: string; direction: 'asc' | 'desc' };\n onSort: (columnKey: string) => void;\n}> = ({ column, sortable, sortConfig, onSort }) => {\n const theme = useTheme();\n const canSort = Boolean(sortable) && column.sortable !== false;\n const isSorted = sortConfig?.key === column.key;\n\n return (\n <TableCell\n align={column.align || 'left'}\n style={{\n minWidth: columnLength(theme, column.minWidth),\n width: columnLength(theme, column.width),\n }}\n aria-sort={ariaSortFor(canSort, isSorted, sortConfig?.direction)}\n >\n {canSort ? (\n <TableSortLabel\n active={isSorted}\n direction={isSorted ? sortConfig?.direction : 'asc'}\n onClick={() => onSort(column.key)}\n data-testid=\"sort-indicator\"\n aria-label={`Sort by ${column.label}`}\n >\n {column.label}\n </TableSortLabel>\n ) : (\n column.label\n )}\n </TableCell>\n );\n};\n\nexport const EnhancedTableHeader: React.FC<TableHeaderProps> = React.memo(({\n columns,\n data,\n sortable,\n sortConfig,\n onSortChange,\n selectable,\n selectedRows = [],\n onSelectAll,\n headRef }) => {\n const handleSort = useCallback(\n (columnKey: string) => {\n if (!sortable || !onSortChange) return;\n \n const direction = \n sortConfig?.key === columnKey && sortConfig.direction === 'asc' ? 'desc' : 'asc';\n onSortChange(columnKey, direction);\n },\n [sortable, onSortChange, sortConfig]\n );\n\n const handleSelectAll = useCallback(\n (event: React.ChangeEvent<globalThis.HTMLInputElement>) => {\n if (!onSelectAll) return;\n onSelectAll(event.target.checked);\n },\n [onSelectAll]\n );\n\n return (\n <TableHead ref={headRef}>\n <TableRow>\n {selectable && (\n <TableCell padding=\"checkbox\">\n <Checkbox\n indeterminate={selectedRows.length > 0 && selectedRows.length < data.length}\n checked={selectedRows.length === data.length && data.length > 0}\n onChange={handleSelectAll}\n inputProps={{ 'aria-label': 'select all' }}\n />\n </TableCell>\n )}\n {columns.map((column) => (\n <HeaderCell\n key={column.key}\n column={column}\n sortable={sortable}\n sortConfig={sortConfig}\n onSort={handleSort}\n />\n ))}\n </TableRow>\n </TableHead>\n );\n});\n\nEnhancedTableHeader.displayName = 'EnhancedTableHeader';\n\n/** How a virtual cell's wrapper places its content along the row, per `align`. */\nconst JUSTIFY: Record<NonNullable<ColumnConfig['align']>, React.CSSProperties['justifyContent']> = {\n left: 'flex-start',\n center: 'center',\n right: 'flex-end',\n};\n\n/**\n * A virtual cell's content (FUT-2668). The cell has no vertical padding, and\n * this fills its content box — the pitch less the cell's bottom rule, the one\n * hairline every variant draws — so the cell's border box is exactly the pitch\n * whatever it holds. Centred vertically, placed by the column's `align`, and\n * clipped rather than allowed to grow the row.\n */\nconst VirtualCellContent: React.FC<{\n rowHeight: number;\n align: NonNullable<ColumnConfig['align']>;\n children: React.ReactNode;\n}> = ({ rowHeight, align, children }) => {\n const theme = useTheme();\n return (\n <div\n style={{\n height: `calc(${rem(theme, rowHeight)} - ${FIELD_BORDER_WIDTH}px)`,\n display: 'flex',\n alignItems: 'center',\n justifyContent: JUSTIFY[align],\n overflow: 'hidden',\n }}\n >\n {children}\n </div>\n );\n};\n\n/** What one cell shows: the caller's `renderCell`, else the column's `render`, else the value. */\nconst cellContent = (\n column: ColumnConfig,\n rowData: Record<string, unknown>,\n index: number,\n renderCell: TableBodyProps['renderCell'],\n): React.ReactNode => {\n const value = rowData[column.key];\n if (renderCell) return renderCell(value, column, rowData, index);\n return column.render ? column.render(value, rowData) : (value as React.ReactNode);\n};\n\n// One data row. Split out of the memoised renderTableRow callback so the\n// callback stays a short dispatch and the row markup is readable on its own.\n// A virtualised row stays in the table's flow at `rowHeight`, and each of its\n// cells holds its content in a `VirtualCellContent` (FUT-2668); a plain row is\n// drawn as MUI draws it.\nexport const TableDataRow: React.FC<{\n rowData: Record<string, unknown>;\n rowKey: string | number;\n index: number;\n columns: ColumnConfig[];\n selected: boolean;\n selectable?: boolean;\n /** Design px; 52 when unset (`tableRowHeight`). */\n rowHeight?: number;\n onRowClick?: TableBodyProps['onRowClick'];\n onRowFocus?: TableBodyProps['onRowFocus'];\n onRowBlur?: TableBodyProps['onRowBlur'];\n onSelect: (event: React.MouseEvent | React.ChangeEvent, rowKey: string | number) => void;\n /** Whether the row is one of a virtual window's. */\n virtualised: boolean;\n renderCell?: TableBodyProps['renderCell'];\n}> = ({\n rowData,\n rowKey,\n index,\n columns,\n selected,\n selectable,\n rowHeight,\n onRowClick,\n onRowFocus,\n onRowBlur,\n onSelect,\n virtualised,\n renderCell }) => {\n const theme = useTheme();\n const pitch = tableRowHeight(rowHeight);\n const fit = (align: NonNullable<ColumnConfig['align']>, content: React.ReactNode) =>\n virtualised ? (\n <VirtualCellContent rowHeight={pitch} align={align}>\n {content}\n </VirtualCellContent>\n ) : (\n content\n );\n\n return (\n <TableRow\n key={String(rowKey)}\n selected={selected}\n className={selected ? 'selected' : ''}\n onClick={(event: React.MouseEvent<globalThis.HTMLTableRowElement>) => onRowClick?.(event, rowData)}\n onFocus={(event: React.FocusEvent<globalThis.HTMLTableRowElement>) => onRowFocus?.(event, rowData)}\n onBlur={(event: React.FocusEvent<globalThis.HTMLTableRowElement>) => onRowBlur?.(event, rowData)}\n style={virtualised ? { height: rem(theme, pitch) } : undefined}\n >\n {selectable && (\n <TableCell padding=\"checkbox\">\n {fit(\n 'left',\n <Checkbox\n checked={selected}\n onChange={(event) => onSelect(event, rowKey)}\n onClick={(event) => event.stopPropagation()}\n inputProps={{ 'aria-label': `select row ${index + 1}` }}\n />,\n )}\n </TableCell>\n )}\n {columns.map((column) => (\n <TableCell key={column.key} align={column.align || 'left'}>\n {fit(column.align || 'left', cellContent(column, rowData, index, renderCell))}\n </TableCell>\n ))}\n </TableRow>\n );\n};\n\n/**\n * A stand-in for the rows outside the window, `heightPx` design px tall. A bare\n * `<tr>` and `<td>` with no padding or border: none of MUI's row or cell\n * classes, so hover, striping and cell padding never reach it. Not rendered at\n * all when there is nothing to stand in for.\n */\nconst SpacerRow: React.FC<{ heightPx: number; colSpan: number }> = ({ heightPx, colSpan }) => {\n const theme = useTheme();\n if (heightPx <= 0) return null;\n return (\n <tr aria-hidden=\"true\" style={{ height: rem(theme, heightPx) }}>\n <td colSpan={colSpan} style={{ padding: 0, border: 0 }} />\n </tr>\n );\n};\n\n// Only the rows in view are rendered, in the table's own flow between two\n// spacer rows standing in for the rest (FUT-2668) — an absolutely positioned\n// `<tr>` is blockified and leaves the column grid. Every height is design px,\n// drawn through `rem`. The `<tbody>` sits directly in the `<table>`; the one\n// scroll container wraps the whole table, header included (FUT-2658).\nconst VirtualisedBody: React.FC<{\n visibleItems: VirtualWindow;\n colSpan: number;\n renderTableRow: (rowData: Record<string, unknown>, index: number) => React.ReactNode;\n}> = ({ visibleItems, colSpan, renderTableRow }) => (\n <TableBody>\n <SpacerRow heightPx={visibleItems.offsetY} colSpan={colSpan} />\n {visibleItems.items.map((rowData, index) =>\n renderTableRow(rowData, visibleItems.startIndex + index)\n )}\n <SpacerRow heightPx={visibleItems.trailingPx} colSpan={colSpan} />\n </TableBody>\n);\n\nconst PlainBody: React.FC<{\n data: TableBodyProps['data'];\n renderTableRow: (rowData: Record<string, unknown>, index: number) => React.ReactNode;\n}> = ({ data, renderTableRow }) => (\n\n <TableBody>\n {data.map((rowData, index) => renderTableRow(rowData, index))}\n </TableBody>\n);\n\n// Enhanced Table Body Component \nexport const EnhancedTableBody: React.FC<TableBodyProps> = React.memo((props) => {\n const { data, virtualWindow } = props;\n // The row renderer takes the body's own props; its `rowHeight` stays the\n // caller's design px, and the row resolves the default where it draws it.\n const renderTableRow = useTableRowRenderer({\n ...props,\n selectedRows: props.selectedRows ?? [],\n virtualised: Boolean(virtualWindow),\n });\n\n if (virtualWindow) {\n return (\n <VirtualisedBody\n visibleItems={virtualWindow}\n colSpan={props.columns.length + (props.selectable ? 1 : 0)}\n renderTableRow={renderTableRow}\n />\n );\n }\n\n return (\n <PlainBody data={data} renderTableRow={renderTableRow} />\n );\n});\n\nEnhancedTableBody.displayName = 'EnhancedTableBody';\n\n// Main Table Component\n"],"mappings":"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","names":["useCallback","jsx","useCallback"]}
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  useSheetDrag,
12
12
  useSheetOpen
13
- } from "./chunk-56JF5PZK.js";
13
+ } from "./chunk-LYVTJLCF.js";
14
14
  import {
15
15
  DEFAULT_DRAG_RESISTANCE,
16
16
  DEFAULT_VELOCITY_THRESHOLD,
@@ -124,4 +124,4 @@ var Sheet = (props) => {
124
124
  export {
125
125
  Sheet
126
126
  };
127
- //# sourceMappingURL=chunk-R3JYC63P.js.map
127
+ //# sourceMappingURL=chunk-QXSV7Z57.js.map
@@ -4,7 +4,7 @@ import {
4
4
  headingGradient,
5
5
  headingWeight,
6
6
  stepOf
7
- } from "./chunk-LKMMJKXU.js";
7
+ } from "./chunk-CYZZHWNK.js";
8
8
  import {
9
9
  headingMetrics
10
10
  } from "./chunk-PT6TCWIW.js";
@@ -73,4 +73,4 @@ var headingSx = (theme, flags) => {
73
73
  export {
74
74
  headingSx
75
75
  };
76
- //# sourceMappingURL=chunk-5JSRM7WC.js.map
76
+ //# sourceMappingURL=chunk-RB3X6CEE.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-4GGH6ZQ7.js";
4
4
  import {
5
5
  Box
6
- } from "./chunk-6WBKOM5K.js";
6
+ } from "./chunk-7DK6YVJU.js";
7
7
 
8
8
  // src/components/layout/Stack/Stack.tsx
9
9
  import * as React from "react";
@@ -16,4 +16,4 @@ Stack.displayName = "Stack";
16
16
  export {
17
17
  Stack
18
18
  };
19
- //# sourceMappingURL=chunk-DW6F7354.js.map
19
+ //# sourceMappingURL=chunk-S36NC22G.js.map
@@ -6,10 +6,10 @@ import {
6
6
  } from "./chunk-6DPAWXZ3.js";
7
7
  import {
8
8
  Button
9
- } from "./chunk-2EAAWOZ2.js";
9
+ } from "./chunk-HM2JJNUE.js";
10
10
  import {
11
11
  Text
12
- } from "./chunk-YBH4SPMM.js";
12
+ } from "./chunk-URHX4FAQ.js";
13
13
  import {
14
14
  rem,
15
15
  sxRem
@@ -176,4 +176,4 @@ function DataViewsExportMenu({
176
176
  export {
177
177
  DataViewsExportMenu
178
178
  };
179
- //# sourceMappingURL=chunk-6N4AA2Y7.js.map
179
+ //# sourceMappingURL=chunk-S6JHTEV4.js.map
@@ -1,12 +1,12 @@
1
+ import {
2
+ freshnessOf
3
+ } from "./chunk-XPMGFAJ3.js";
1
4
  import {
2
5
  FLEET_DOT,
3
6
  FLEET_ROSTER,
4
7
  FLEET_ROW,
5
8
  FLEET_SKELETON
6
9
  } from "./chunk-BTQZ3EX3.js";
7
- import {
8
- freshnessOf
9
- } from "./chunk-XPMGFAJ3.js";
10
10
  import {
11
11
  Skeleton
12
12
  } from "./chunk-BEGTLELZ.js";
@@ -220,4 +220,4 @@ function FleetRoster({
220
220
  export {
221
221
  FleetRoster
222
222
  };
223
- //# sourceMappingURL=chunk-5JCGBCFJ.js.map
223
+ //# sourceMappingURL=chunk-SAOCDKNK.js.map
@@ -0,0 +1,82 @@
1
+ // src/components/layout/SettingsLayout/SettingsSectionChips.scroll.ts
2
+ var LANDED_SLACK = 1;
3
+ var QUIET_BEFORE_SETTLED_MS = 250;
4
+ function horizontalDelta(event) {
5
+ if (!(event instanceof WheelEvent)) return 0;
6
+ return event.deltaX !== 0 ? event.deltaX : event.shiftKey ? event.deltaY : 0;
7
+ }
8
+ function restsOnAim(strip, aimed) {
9
+ const reachable = Math.min(aimed, strip.scrollWidth - strip.clientWidth);
10
+ return Math.abs(strip.scrollLeft - reachable) <= LANDED_SLACK;
11
+ }
12
+ function watchVisitorScroll(strip) {
13
+ const view = strip.ownerDocument.defaultView;
14
+ const hasScrollEnd = "onscrollend" in strip;
15
+ const state = {
16
+ pointer: false,
17
+ touch: false,
18
+ nudged: false,
19
+ undecided: false,
20
+ scrolled: false,
21
+ aimed: Number.NaN,
22
+ quiet: void 0,
23
+ settled: () => void 0
24
+ };
25
+ const set = (key, value) => () => {
26
+ state[key] = value;
27
+ };
28
+ const settle = () => {
29
+ if (!state.undecided) return;
30
+ state.undecided = false;
31
+ state.nudged = false;
32
+ if (!restsOnAim(strip, state.aimed)) state.scrolled = true;
33
+ state.settled();
34
+ };
35
+ const onWheel = (event) => {
36
+ if (horizontalDelta(event) !== 0) state.nudged = true;
37
+ };
38
+ const onScroll = () => {
39
+ if (state.pointer || state.touch || state.nudged) state.undecided = true;
40
+ if (!state.undecided || hasScrollEnd) return;
41
+ clearTimeout(state.quiet);
42
+ state.quiet = setTimeout(settle, QUIET_BEFORE_SETTLED_MS);
43
+ };
44
+ const onStrip = [
45
+ ["pointerdown", set("pointer", true)],
46
+ ["touchstart", set("touch", true)],
47
+ ["pointercancel", set("nudged", true)],
48
+ ["keydown", set("nudged", true)],
49
+ ["wheel", onWheel],
50
+ ["scroll", onScroll],
51
+ ["scrollend", settle]
52
+ ];
53
+ const onView = [
54
+ ["pointerup", set("pointer", false)],
55
+ ["pointercancel", set("pointer", false)],
56
+ ["touchend", set("touch", false)],
57
+ ["touchcancel", set("touch", false)]
58
+ ];
59
+ for (const [type, listener] of onStrip) strip.addEventListener(type, listener, { passive: true });
60
+ for (const [type, listener] of onView) view?.addEventListener(type, listener, { passive: true });
61
+ return {
62
+ hasScrolled: () => state.scrolled,
63
+ isUndecided: () => state.undecided,
64
+ aimedAt: () => state.aimed,
65
+ beforeOwnScroll: (left) => {
66
+ state.aimed = left;
67
+ },
68
+ onSettled: (listener) => {
69
+ state.settled = listener;
70
+ },
71
+ detach: () => {
72
+ clearTimeout(state.quiet);
73
+ for (const [type, listener] of onStrip) strip.removeEventListener(type, listener);
74
+ for (const [type, listener] of onView) view?.removeEventListener(type, listener);
75
+ }
76
+ };
77
+ }
78
+
79
+ export {
80
+ watchVisitorScroll
81
+ };
82
+ //# sourceMappingURL=chunk-SLJAQA2X.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/layout/SettingsLayout/SettingsSectionChips.scroll.ts"],"sourcesContent":["/**\n * Telling the strip's own scrolls from the visitor's (FUT-2606).\n *\n * Split from `SettingsSectionChips.tsx` so the chips stay a component file and\n * the rule for \"who moved the strip\" can be read in one place.\n */\n\n/**\n * How near to where the strip aimed itself it has to come to rest for the scroll\n * to count as the strip's own. A smooth scroll lands on a device pixel, and the\n * target it was given is fractional.\n */\nconst LANDED_SLACK = 1;\n\n/**\n * Where `scrollend` is missing: how long the strip has to go without a `scroll`\n * before it counts as settled. Generous on purpose — a busy main thread can go\n * several frames between ticks of a smooth scroll, and judging one mid-flight\n * would read the strip's own animation as the visitor's. Too long only delays a\n * re-centre; too short can latch the strip for good.\n */\nconst QUIET_BEFORE_SETTLED_MS = 250;\n\ninterface VisitorScrollWatch {\n /** True once the visitor has moved the strip themselves. */\n hasScrolled: () => boolean;\n /**\n * True while a scroll the visitor MAY be making has not come to rest yet. The\n * strip must not scroll itself under it: that would yank a drag in progress.\n */\n isUndecided: () => boolean;\n /** Where the strip last aimed itself, in its own pixels; `NaN` before it has. */\n aimedAt: () => number;\n /**\n * The strip is about to scroll itself to `left`. Records the aim and NOTHING\n * else: it used to disarm too, and a re-centre landing between a visitor's key\n * press (or wheel, or pan) and the first tick of the scroll it causes wiped\n * the arming — their scroll went unclaimed, read as the strip's own. Left\n * armed, the worst a stale arming does is put the strip's OWN next scroll\n * under judgement, which rests on its aim, is not latched, and disarms.\n */\n beforeOwnScroll: (left: number) => void;\n /** Called once an undecided scroll has come to rest and been judged. */\n onSettled: (listener: () => void) => void;\n detach: () => void;\n}\n\ntype Listeners = Array<[string, (event: Event) => void]>;\n\n/** A wheel's sideways travel: `deltaX`, or `deltaY` with Shift held, as browsers read it. */\nfunction horizontalDelta(event: Event): number {\n if (!(event instanceof WheelEvent)) return 0;\n return event.deltaX !== 0 ? event.deltaX : event.shiftKey ? event.deltaY : 0;\n}\n\ninterface WatchState {\n pointer: boolean;\n touch: boolean;\n nudged: boolean;\n undecided: boolean;\n scrolled: boolean;\n aimed: number;\n quiet: ReturnType<typeof setTimeout> | undefined;\n settled: () => void;\n}\n\n/** Whether the strip came to rest where it last aimed itself — clamped as the browser would. */\nfunction restsOnAim(strip: HTMLElement, aimed: number): boolean {\n const reachable = Math.min(aimed, strip.scrollWidth - strip.clientWidth);\n // Written so that `NaN` — the strip never aimed — reads as \"not on aim\".\n return Math.abs(strip.scrollLeft - reachable) <= LANDED_SLACK;\n}\n\n/**\n * Tell a scroll the VISITOR made from every other one.\n *\n * The `scroll` event cannot say: the strip's own `scrollTo` fires it, and so does\n * the browser clamping a strip whose content shrank. So a scroll is only a\n * CANDIDATE when it arrives during something only a visitor does:\n *\n * - a finger held on the strip (`touchstart` until `touchend`) — a drag;\n * - a pointer held on it (`pointerdown` until `pointerup`);\n * - a key press, a SIDEWAYS wheel, or the browser taking a pointer over to pan\n * it (`pointercancel`), each armed until the next scroll under judgement has\n * been judged — whoever's it turns out to be.\n *\n * and the verdict waits until the strip comes to REST (`scrollend`, or a quiet\n * spell where the browser has no `scrollend`): it is the visitor's only if the\n * strip rests somewhere other than where it last aimed itself.\n *\n * Judged at rest rather than per `scroll` because the strip's own smooth scroll\n * fires `scroll` for a third of a second, and a visitor who presses Tab or puts\n * a finger on a chip to scroll the PAGE in that window is not scrolling the\n * strip. Every tick of that animation used to count as theirs, the strip stopped\n * re-centring for good, and the open chip could be left clipped (FUT-2606\n * again, by another door). A visitor who really drags or wheels the strip\n * mid-animation cancels it, so the strip rests where THEY left it — and that\n * still counts. The one loss: a visitor who happens to leave it within a pixel\n * of the strip's own aim is not told apart from it, and the strip there is\n * already where it would have put itself.\n *\n * A tap is a pointer held with no scroll under it, so it never counts. A\n * vertical wheel scrolls the PAGE — the strip is `overflowY: hidden` — and is\n * not armed at all.\n */\nexport function watchVisitorScroll(strip: HTMLElement): VisitorScrollWatch {\n const view = strip.ownerDocument.defaultView;\n const hasScrollEnd = 'onscrollend' in strip;\n const state: WatchState = {\n pointer: false,\n touch: false,\n nudged: false,\n undecided: false,\n scrolled: false,\n aimed: Number.NaN,\n quiet: undefined,\n settled: () => undefined,\n };\n const set =\n (key: 'pointer' | 'touch' | 'nudged', value: boolean) =>\n (): void => {\n state[key] = value;\n };\n const settle = (): void => {\n // Only a scroll that was UNDER JUDGEMENT disarms. Chromium can end the\n // strip's own smooth scroll with a `scrollend` when another scroll cuts it\n // off, fired BEFORE that scroll's first `scroll` (seen with an instant one);\n // disarming there would hand the visitor's scroll to nobody.\n if (!state.undecided) return;\n state.undecided = false;\n state.nudged = false;\n if (!restsOnAim(strip, state.aimed)) state.scrolled = true;\n state.settled();\n };\n const onWheel = (event: Event): void => {\n if (horizontalDelta(event) !== 0) state.nudged = true;\n };\n const onScroll = (): void => {\n if (state.pointer || state.touch || state.nudged) state.undecided = true;\n if (!state.undecided || hasScrollEnd) return;\n // Every tick while undecided, armed or not: a quiet spell that began while\n // the strip was still moving would judge it mid-flight, away from its aim.\n clearTimeout(state.quiet);\n state.quiet = setTimeout(settle, QUIET_BEFORE_SETTLED_MS);\n };\n const onStrip: Listeners = [\n ['pointerdown', set('pointer', true)],\n ['touchstart', set('touch', true)],\n ['pointercancel', set('nudged', true)],\n ['keydown', set('nudged', true)],\n ['wheel', onWheel],\n ['scroll', onScroll],\n ['scrollend', settle],\n ];\n // A gesture can END off the strip, so its end is heard on the window.\n const onView: Listeners = [\n ['pointerup', set('pointer', false)],\n ['pointercancel', set('pointer', false)],\n ['touchend', set('touch', false)],\n ['touchcancel', set('touch', false)],\n ];\n for (const [type, listener] of onStrip) strip.addEventListener(type, listener, { passive: true });\n for (const [type, listener] of onView) view?.addEventListener(type, listener, { passive: true });\n return {\n hasScrolled: () => state.scrolled,\n isUndecided: () => state.undecided,\n aimedAt: () => state.aimed,\n beforeOwnScroll: (left) => {\n state.aimed = left;\n },\n onSettled: (listener) => {\n state.settled = listener;\n },\n detach: () => {\n clearTimeout(state.quiet);\n for (const [type, listener] of onStrip) strip.removeEventListener(type, listener);\n for (const [type, listener] of onView) view?.removeEventListener(type, listener);\n },\n };\n}\n"],"mappings":";AAYA,IAAM,eAAe;AASrB,IAAM,0BAA0B;AA6BhC,SAAS,gBAAgB,OAAsB;AAC7C,MAAI,EAAE,iBAAiB,YAAa,QAAO;AAC3C,SAAO,MAAM,WAAW,IAAI,MAAM,SAAS,MAAM,WAAW,MAAM,SAAS;AAC7E;AAcA,SAAS,WAAW,OAAoB,OAAwB;AAC9D,QAAM,YAAY,KAAK,IAAI,OAAO,MAAM,cAAc,MAAM,WAAW;AAEvE,SAAO,KAAK,IAAI,MAAM,aAAa,SAAS,KAAK;AACnD;AAkCO,SAAS,mBAAmB,OAAwC;AACzE,QAAM,OAAO,MAAM,cAAc;AACjC,QAAM,eAAe,iBAAiB;AACtC,QAAM,QAAoB;AAAA,IACxB,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,UAAU;AAAA,IACV,OAAO,OAAO;AAAA,IACd,OAAO;AAAA,IACP,SAAS,MAAM;AAAA,EACjB;AACA,QAAM,MACJ,CAAC,KAAqC,UACtC,MAAY;AACV,UAAM,GAAG,IAAI;AAAA,EACf;AACF,QAAM,SAAS,MAAY;AAKzB,QAAI,CAAC,MAAM,UAAW;AACtB,UAAM,YAAY;AAClB,UAAM,SAAS;AACf,QAAI,CAAC,WAAW,OAAO,MAAM,KAAK,EAAG,OAAM,WAAW;AACtD,UAAM,QAAQ;AAAA,EAChB;AACA,QAAM,UAAU,CAAC,UAAuB;AACtC,QAAI,gBAAgB,KAAK,MAAM,EAAG,OAAM,SAAS;AAAA,EACnD;AACA,QAAM,WAAW,MAAY;AAC3B,QAAI,MAAM,WAAW,MAAM,SAAS,MAAM,OAAQ,OAAM,YAAY;AACpE,QAAI,CAAC,MAAM,aAAa,aAAc;AAGtC,iBAAa,MAAM,KAAK;AACxB,UAAM,QAAQ,WAAW,QAAQ,uBAAuB;AAAA,EAC1D;AACA,QAAM,UAAqB;AAAA,IACzB,CAAC,eAAe,IAAI,WAAW,IAAI,CAAC;AAAA,IACpC,CAAC,cAAc,IAAI,SAAS,IAAI,CAAC;AAAA,IACjC,CAAC,iBAAiB,IAAI,UAAU,IAAI,CAAC;AAAA,IACrC,CAAC,WAAW,IAAI,UAAU,IAAI,CAAC;AAAA,IAC/B,CAAC,SAAS,OAAO;AAAA,IACjB,CAAC,UAAU,QAAQ;AAAA,IACnB,CAAC,aAAa,MAAM;AAAA,EACtB;AAEA,QAAM,SAAoB;AAAA,IACxB,CAAC,aAAa,IAAI,WAAW,KAAK,CAAC;AAAA,IACnC,CAAC,iBAAiB,IAAI,WAAW,KAAK,CAAC;AAAA,IACvC,CAAC,YAAY,IAAI,SAAS,KAAK,CAAC;AAAA,IAChC,CAAC,eAAe,IAAI,SAAS,KAAK,CAAC;AAAA,EACrC;AACA,aAAW,CAAC,MAAM,QAAQ,KAAK,QAAS,OAAM,iBAAiB,MAAM,UAAU,EAAE,SAAS,KAAK,CAAC;AAChG,aAAW,CAAC,MAAM,QAAQ,KAAK,OAAQ,OAAM,iBAAiB,MAAM,UAAU,EAAE,SAAS,KAAK,CAAC;AAC/F,SAAO;AAAA,IACL,aAAa,MAAM,MAAM;AAAA,IACzB,aAAa,MAAM,MAAM;AAAA,IACzB,SAAS,MAAM,MAAM;AAAA,IACrB,iBAAiB,CAAC,SAAS;AACzB,YAAM,QAAQ;AAAA,IAChB;AAAA,IACA,WAAW,CAAC,aAAa;AACvB,YAAM,UAAU;AAAA,IAClB;AAAA,IACA,QAAQ,MAAM;AACZ,mBAAa,MAAM,KAAK;AACxB,iBAAW,CAAC,MAAM,QAAQ,KAAK,QAAS,OAAM,oBAAoB,MAAM,QAAQ;AAChF,iBAAW,CAAC,MAAM,QAAQ,KAAK,OAAQ,OAAM,oBAAoB,MAAM,QAAQ;AAAA,IACjF;AAAA,EACF;AACF;","names":[]}
@@ -1,3 +1,6 @@
1
+ import {
2
+ useDisclosure
3
+ } from "./chunk-2JCRNWHE.js";
1
4
  import {
2
5
  DiscloseSlot,
3
6
  DragSlot,
@@ -8,16 +11,13 @@ import {
8
11
  metaShape,
9
12
  rowStyles,
10
13
  useRowShell
11
- } from "./chunk-4CXCOR6F.js";
14
+ } from "./chunk-V2UZQS2K.js";
12
15
  import {
13
16
  ListCardActions,
14
17
  ListCardCaption,
15
18
  ListCardMeta,
16
19
  ListCardTail
17
- } from "./chunk-YOJASBHJ.js";
18
- import {
19
- useDisclosure
20
- } from "./chunk-2JCRNWHE.js";
20
+ } from "./chunk-DYNJQ3HJ.js";
21
21
  import {
22
22
  DropIndicator
23
23
  } from "./chunk-K4EKTMTC.js";
@@ -179,4 +179,4 @@ function BaseListCard(props) {
179
179
  export {
180
180
  BaseListCard
181
181
  };
182
- //# sourceMappingURL=chunk-ISFFETTG.js.map
182
+ //# sourceMappingURL=chunk-T3DNYPEA.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-4XK6JQ4D.js";
4
4
  import {
5
5
  CategorySelect
6
- } from "./chunk-34BZXJGT.js";
6
+ } from "./chunk-BKASAYQL.js";
7
7
 
8
8
  // src/components/form/total-form/Fields/CategoryField.tsx
9
9
  import { jsx } from "react/jsx-runtime";
@@ -38,4 +38,4 @@ function CategoryField({
38
38
  export {
39
39
  CategoryField
40
40
  };
41
- //# sourceMappingURL=chunk-JU4MSYYH.js.map
41
+ //# sourceMappingURL=chunk-T6EKPFKZ.js.map
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  renderChartByType
3
- } from "./chunk-TXGB2WSW.js";
4
- import {
5
- ChartContainer
6
- } from "./chunk-RIRTW5EU.js";
3
+ } from "./chunk-VJ2BNJ5M.js";
7
4
  import {
8
5
  getSizeStyles,
9
6
  getVariantStyles,
10
7
  plotHeightPx
11
8
  } from "./chunk-EA2UNEL6.js";
9
+ import {
10
+ ChartContainer
11
+ } from "./chunk-RIRTW5EU.js";
12
12
  import {
13
13
  muiColor
14
14
  } from "./chunk-7ZPUN7TV.js";
@@ -111,4 +111,4 @@ var Chart = (props) => {
111
111
  export {
112
112
  Chart
113
113
  };
114
- //# sourceMappingURL=chunk-Q2YNXJEL.js.map
114
+ //# sourceMappingURL=chunk-TZBOWSAM.js.map
@@ -2,7 +2,7 @@ import {
2
2
  buildGridColumns,
3
3
  buildRowActionsColumn,
4
4
  isActionsColumn
5
- } from "./chunk-BWHOCNGW.js";
5
+ } from "./chunk-VPPIODKX.js";
6
6
 
7
7
  // src/components/data-display/DataViews/data-views-columns.ts
8
8
  import { useTheme } from "@mui/material/styles/index.js";
@@ -62,4 +62,4 @@ export {
62
62
  useColumnsWithActions,
63
63
  useRenderedColumns
64
64
  };
65
- //# sourceMappingURL=chunk-D4FZ3ANG.js.map
65
+ //# sourceMappingURL=chunk-UKX3MPB7.js.map
@@ -11,7 +11,7 @@ import {
11
11
  HEADING_LETTER_SPACING_EM,
12
12
  TEXT_SIZES,
13
13
  TEXT_WEIGHTS
14
- } from "./chunk-U3PPLAFB.js";
14
+ } from "./chunk-ZN6YATOG.js";
15
15
  import {
16
16
  resolveTestId,
17
17
  withoutTestIdProps
@@ -143,4 +143,4 @@ Text.displayName = "Text";
143
143
  export {
144
144
  Text
145
145
  };
146
- //# sourceMappingURL=chunk-YBH4SPMM.js.map
146
+ //# sourceMappingURL=chunk-URHX4FAQ.js.map
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-BYH5GPLT.js";
8
8
  import {
9
9
  STACK_BREAK
10
- } from "./chunk-YOJASBHJ.js";
10
+ } from "./chunk-DYNJQ3HJ.js";
11
11
  import {
12
12
  useDragItem
13
13
  } from "./chunk-K4EKTMTC.js";
@@ -189,4 +189,4 @@ export {
189
189
  actionProps,
190
190
  rowStyles
191
191
  };
192
- //# sourceMappingURL=chunk-4CXCOR6F.js.map
192
+ //# sourceMappingURL=chunk-V2UZQS2K.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  buildChartContext
3
- } from "./chunk-3GTMGPNQ.js";
3
+ } from "./chunk-IQJCLFF4.js";
4
4
  import {
5
5
  ChartLegendContent,
6
6
  ChartTooltipContent
@@ -318,4 +318,4 @@ function renderChartByType(props, theme) {
318
318
  export {
319
319
  renderChartByType
320
320
  };
321
- //# sourceMappingURL=chunk-TXGB2WSW.js.map
321
+ //# sourceMappingURL=chunk-VJ2BNJ5M.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-5M4TYFR3.js";
4
4
  import {
5
5
  PreviewBox
6
- } from "./chunk-OB56SZGL.js";
6
+ } from "./chunk-B7CNP5HW.js";
7
7
  import {
8
8
  useDataViewsCopy
9
9
  } from "./chunk-KHG57NAE.js";
@@ -25,10 +25,10 @@ import {
25
25
  } from "./chunk-WEBEOBN5.js";
26
26
  import {
27
27
  Button
28
- } from "./chunk-2EAAWOZ2.js";
28
+ } from "./chunk-HM2JJNUE.js";
29
29
  import {
30
30
  Text
31
- } from "./chunk-YBH4SPMM.js";
31
+ } from "./chunk-URHX4FAQ.js";
32
32
  import {
33
33
  sxRem
34
34
  } from "./chunk-YKCAJ2TN.js";
@@ -268,4 +268,4 @@ function SaveViewModal({
268
268
  export {
269
269
  SaveViewModal
270
270
  };
271
- //# sourceMappingURL=chunk-ASYR22BJ.js.map
271
+ //# sourceMappingURL=chunk-VJG7NMGL.js.map
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-6DPAWXZ3.js";
10
10
  import {
11
11
  Button
12
- } from "./chunk-2EAAWOZ2.js";
12
+ } from "./chunk-HM2JJNUE.js";
13
13
  import {
14
14
  rem,
15
15
  sxRem
@@ -166,4 +166,4 @@ export {
166
166
  togglePillValues,
167
167
  cardGridTracks
168
168
  };
169
- //# sourceMappingURL=chunk-BWHOCNGW.js.map
169
+ //# sourceMappingURL=chunk-VPPIODKX.js.map
@@ -3,10 +3,10 @@ import {
3
3
  } from "./chunk-TXEN3QJ4.js";
4
4
  import {
5
5
  AddressAutocompleteField
6
- } from "./chunk-7GHYCQCJ.js";
6
+ } from "./chunk-PCLKFR27.js";
7
7
  import {
8
8
  useAddressAutocomplete
9
- } from "./chunk-WC3W36AM.js";
9
+ } from "./chunk-ZOUWHGV3.js";
10
10
  import {
11
11
  resolveAddressProps
12
12
  } from "./chunk-MTGEJRE4.js";
@@ -35,4 +35,4 @@ export {
35
35
  AddressAutocomplete,
36
36
  AddressAutocomplete_default
37
37
  };
38
- //# sourceMappingURL=chunk-4B5XUQQS.js.map
38
+ //# sourceMappingURL=chunk-WB6ZU3B3.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  FleetCanvas
3
- } from "./chunk-FWSMIUWA.js";
3
+ } from "./chunk-ESCF5VMQ.js";
4
4
  import {
5
5
  FleetRoster
6
- } from "./chunk-5JCGBCFJ.js";
6
+ } from "./chunk-SAOCDKNK.js";
7
7
  import {
8
8
  rem
9
9
  } from "./chunk-YKCAJ2TN.js";
@@ -79,4 +79,4 @@ function FleetBody({
79
79
  export {
80
80
  FleetBody
81
81
  };
82
- //# sourceMappingURL=chunk-W7F2QIAT.js.map
82
+ //# sourceMappingURL=chunk-WCRGSMLV.js.map