@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 +0,0 @@
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\nexport const useTableRowRenderer = ({\n columns,\n selectedRows,\n onRowClick,\n onRowFocus,\n onRowBlur,\n onSelectionChange,\n rowKeyExtractor,\n selectable,\n renderRow,\n renderCell,\n virtualScrolling,\n rowHeight,\n}: Pick<\n TableBodyProps,\n | 'columns'\n | 'onRowClick'\n | 'onRowFocus'\n | 'onRowBlur'\n | 'onSelectionChange'\n | 'rowKeyExtractor'\n | 'selectable'\n | 'renderRow'\n | 'renderCell'\n | 'virtualScrolling'\n | 'rowHeight'\n> & { selectedRows: Array<string | number> }) => {\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, offsetY: number = 0) => {\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 offsetY={offsetY}\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 virtualScrolling={virtualScrolling}\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 virtualScrolling,\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 { 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// 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.\nexport const TableDataRow: React.FC<{\n rowData: Record<string, unknown>;\n rowKey: string | number;\n index: number;\n /** Where a virtualised row sits, in design px — drawn through `rem`, like its height. */\n offsetY: 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 virtualScrolling?: boolean;\n renderCell?: TableBodyProps['renderCell'];\n}> = ({\n rowData,\n rowKey,\n index,\n offsetY,\n columns,\n selected,\n selectable,\n rowHeight,\n onRowClick,\n onRowFocus,\n onRowBlur,\n onSelect,\n virtualScrolling,\n renderCell }) => {\n const theme = useTheme();\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={virtualScrolling ? { \n transform: `translateY(${rem(theme, offsetY)})`,\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n height: rem(theme, tableRowHeight(rowHeight)) } : undefined}\n >\n {selectable && (\n <TableCell padding=\"checkbox\">\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 </TableCell>\n )}\n {columns.map((column) => {\n const value = rowData[column.key];\n return (\n <TableCell key={column.key} align={column.align || 'left'}>\n {renderCell \n ? renderCell(value, column, rowData, index)\n : column.render \n ? column.render(value, rowData) \n : (value as React.ReactNode)\n }\n </TableCell>\n );\n })}\n </TableRow>\n );\n};\n\n// Only the rows in view are rendered, positioned by absolute offset inside a\n// body sized to the full data set. `rowHeight` and every offset are 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 rowHeight: number;\n renderTableRow: (\n rowData: Record<string, unknown>,\n index: number,\n offsetY?: number,\n ) => React.ReactNode;\n}> = ({ visibleItems, rowHeight, renderTableRow }) => (\n <TableBody\n style={{\n height: visibleItems.totalHeight,\n position: 'relative' }}\n >\n {visibleItems.items.map((rowData, index) => \n renderTableRow(rowData, visibleItems.startIndex + index, visibleItems.offsetY + index * rowHeight)\n )}\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({ ...props, selectedRows: props.selectedRows ?? [] });\n\n if (virtualWindow) {\n return (\n <VirtualisedBody\n visibleItems={virtualWindow}\n rowHeight={tableRowHeight(props.rowHeight)}\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"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/layout/SettingsLayout/SettingsSectionChips.tsx"],"sourcesContent":["'use client';\n\nimport Box from '@mui/material/Box/index.js';\nimport { alpha, useTheme, type Theme } from '@mui/material/styles/index.js';\nimport React, { useEffect, useRef, type RefObject } from 'react';\n\nimport { SettingsStatusMarker } from './SettingsStatusMarker';\nimport { TOUCH_TARGET } from './SettingsLayout.styles';\nimport { rem, sxRem } from '../../../tokens/relative';\n\n/**\n * The chip's drawn height, against `TOUCH_TARGET`'s 44 for the tappable one.\n *\n * The strip sits between a section's header and its first field on the width\n * with the least room for either, so the pill is sized to its text rather than\n * to the thumb — and the thumb is served by the hit area instead.\n */\nconst CHIP_HEIGHT = sxRem(34);\nimport type { SettingsLayoutProps, SettingsNavItem } from './SettingsLayout.types';\n\nexport interface SettingsSectionChipsProps {\n /** The sibling sections to offer — usually the open item's own group. */\n items: SettingsNavItem[];\n /** Which one is open. */\n activeItemId?: string;\n /** Accessible name of the strip, in the host's language. */\n ariaLabel: string;\n linkComponent?: SettingsLayoutProps['linkComponent'];\n onSelectItem?: (id: string) => void;\n testIdPrefix: string;\n}\n\n/** True when the visitor asked the OS for less movement. Re-read per scroll. */\nfunction prefersReducedMotion(): boolean {\n if (typeof window === 'undefined' || typeof window.matchMedia !== 'function') return false;\n return window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n}\n\n/**\n * Keep the open section's chip in view, however the visitor got here.\n *\n * Keyed on `activeItemId` in an effect rather than done in a click handler:\n * arriving by the desktop rail, by a card, by a pasted link and by the browser's\n * back button all have to land the same way, and only one of those is a click on\n * a chip. Every re-render otherwise starts the strip at scroll 0, which parks\n * the active chip off the right edge on any list longer than a screen — the\n * visitor is told where they are by an element they cannot see.\n *\n * `itemsKey` rather than `items`: a host almost always rebuilds that array per\n * render (`groups.flatMap(...)`), and depending on it would re-run this on every\n * render and yank the strip back mid-drag.\n *\n * The key joins on NUL — as the ESCAPE `'\\u0000'`, which it must stay. A\n * literal NUL byte works identically at runtime and makes git classify this file\n * as BINARY: `git diff` prints \"Binary file not shown\" and the GitHub review UI\n * shows nothing at all. This file shipped that way once, and the cost was not\n * the byte — it was a whole change nobody could read.\n */\nfunction useCentreActiveChip(\n stripRef: RefObject<HTMLDivElement | null>,\n activeItemId: string | undefined,\n itemsKey: string,\n): void {\n useEffect(() => {\n const strip = stripRef.current;\n if (!strip || !activeItemId) return;\n // Walked rather than selected: an id is host data, and a section id carrying\n // a quote would turn a selector string into a thrown SyntaxError — which\n // here would take the whole strip down to centre one chip.\n const chip = Array.from(strip.children).find(\n (node): node is HTMLElement =>\n node instanceof HTMLElement && node.dataset.chipId === activeItemId,\n );\n if (!chip) return;\n // Feature-checked, not assumed. `Element.scrollTo` is absent in jsdom and in\n // a few embedded webviews, and an unguarded call there THROWS out of an\n // effect — which React escalates to the nearest error boundary. The whole\n // settings area would go down to centre one chip, and the host's own tests\n // could not render the shell at all. Same reasoning as walking the children\n // instead of building a selector: nothing in here is worth a crash.\n if (typeof strip.scrollTo !== 'function') return;\n const target = chip.offsetLeft + chip.offsetWidth / 2 - strip.clientWidth / 2;\n const left = Math.max(0, Math.min(target, strip.scrollWidth - strip.clientWidth));\n strip.scrollTo({ left, behavior: prefersReducedMotion() ? 'auto' : 'smooth' });\n }, [stripRef, activeItemId, itemsKey]);\n}\n\n/** One chip: a link when the host gave it a target, else a button. */\nfunction SectionChip({\n item,\n active,\n theme,\n linkComponent,\n onSelectItem,\n testIdPrefix,\n}: {\n item: SettingsNavItem;\n active: boolean;\n theme: Theme;\n linkComponent?: SettingsLayoutProps['linkComponent'];\n onSelectItem?: (id: string) => void;\n testIdPrefix: string;\n}): React.JSX.Element {\n const asLink = item.href !== undefined && linkComponent !== undefined;\n const behaviour = asLink\n ? { component: linkComponent, href: item.href }\n : { component: 'button' as const, type: 'button' as const, onClick: () => onSelectItem?.(item.id) };\n\n return (\n <Box\n {...behaviour}\n data-chip-id={item.id}\n data-testid={`${testIdPrefix}-chip-${item.id}`}\n aria-current={active ? 'page' : undefined}\n sx={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: 0.75,\n flex: '0 0 auto',\n position: 'relative',\n // The chip LOOKS this tall; it is still tapped at `TOUCH_TARGET`.\n //\n // Shrinking `minHeight` alone would have bought a slimmer strip with a\n // smaller hit area — on the one width where the strip IS the navigation\n // and the input is a thumb. The `::after` below keeps the tappable\n // region at the full target while the pill itself takes less room, so\n // this is a visual change and not an accessibility trade.\n minHeight: CHIP_HEIGHT,\n px: 1.5,\n borderRadius: 999,\n cursor: 'pointer',\n font: 'inherit',\n fontSize: rem(theme, 13),\n fontWeight: active ? 700 : 500,\n textDecoration: 'none',\n whiteSpace: 'nowrap',\n color: active ? 'primary.main' : 'text.secondary',\n bgcolor: active ? alpha(theme.palette.primary.main, 0.12) : 'transparent',\n border: `1px solid ${active ? alpha(theme.palette.primary.main, 0.4) : theme.palette.divider}`,\n // Spans the chip's width only, so neighbours never overlap: the strip\n // is a row, and the extra reach is vertical.\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n insetInlineStart: 0,\n insetInlineEnd: 0,\n top: '50%',\n transform: 'translateY(-50%)',\n height: rem(theme, TOUCH_TARGET),\n },\n }}\n >\n {item.status ? (\n <SettingsStatusMarker\n status={item.status}\n label={item.statusLabel}\n testId={`${testIdPrefix}-chip-status-${item.id}`}\n />\n ) : null}\n {item.label}\n </Box>\n );\n}\n\n/**\n * The narrow-width section strip: horizontally scrollable chips for the sections\n * beside the open one.\n *\n * It clips its own overflow — `overflow-x: auto` on the strip, never on an\n * ancestor. A strip that pushes the page wide makes every OTHER screen at that\n * width scroll sideways too, and the cause is nowhere near the symptom.\n */\nexport function SettingsSectionChips({\n items,\n activeItemId,\n ariaLabel,\n linkComponent,\n onSelectItem,\n testIdPrefix,\n}: SettingsSectionChipsProps): React.JSX.Element {\n const theme = useTheme();\n const stripRef = useRef<HTMLDivElement | null>(null);\n useCentreActiveChip(stripRef, activeItemId, items.map((item) => item.id).join('\\u0000'));\n\n return (\n <Box\n ref={stripRef}\n component=\"nav\"\n aria-label={ariaLabel}\n data-testid={`${testIdPrefix}-chips`}\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: 0.75,\n px: 0.25,\n py: 0.25,\n overflowX: 'auto',\n overflowY: 'hidden',\n scrollbarWidth: 'none',\n '&::-webkit-scrollbar': { display: 'none' },\n }}\n >\n {items.map((item) => (\n <SectionChip\n key={item.id}\n item={item}\n active={item.id === activeItemId}\n theme={theme}\n linkComponent={linkComponent}\n onSelectItem={onSelectItem}\n testIdPrefix={testIdPrefix}\n />\n ))}\n </Box>\n );\n}\n\nSettingsSectionChips.displayName = 'SettingsSectionChips';\n"],"mappings":";;;;;;;;;;;;AAEA,OAAO,SAAS;AAChB,SAAS,OAAO,gBAA4B;AAC5C,SAAgB,WAAW,cAA8B;AAyGrD,SA4CI,KA5CJ;AA5FJ,IAAM,cAAc,MAAM,EAAE;AAgB5B,SAAS,uBAAgC;AACvC,MAAI,OAAO,WAAW,eAAe,OAAO,OAAO,eAAe,WAAY,QAAO;AACrF,SAAO,OAAO,WAAW,kCAAkC,EAAE;AAC/D;AAsBA,SAAS,oBACP,UACA,cACA,UACM;AACN,YAAU,MAAM;AACd,UAAM,QAAQ,SAAS;AACvB,QAAI,CAAC,SAAS,CAAC,aAAc;AAI7B,UAAM,OAAO,MAAM,KAAK,MAAM,QAAQ,EAAE;AAAA,MACtC,CAAC,SACC,gBAAgB,eAAe,KAAK,QAAQ,WAAW;AAAA,IAC3D;AACA,QAAI,CAAC,KAAM;AAOX,QAAI,OAAO,MAAM,aAAa,WAAY;AAC1C,UAAM,SAAS,KAAK,aAAa,KAAK,cAAc,IAAI,MAAM,cAAc;AAC5E,UAAM,OAAO,KAAK,IAAI,GAAG,KAAK,IAAI,QAAQ,MAAM,cAAc,MAAM,WAAW,CAAC;AAChF,UAAM,SAAS,EAAE,MAAM,UAAU,qBAAqB,IAAI,SAAS,SAAS,CAAC;AAAA,EAC/E,GAAG,CAAC,UAAU,cAAc,QAAQ,CAAC;AACvC;AAGA,SAAS,YAAY;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAOsB;AACpB,QAAM,SAAS,KAAK,SAAS,UAAa,kBAAkB;AAC5D,QAAM,YAAY,SACd,EAAE,WAAW,eAAe,MAAM,KAAK,KAAK,IAC5C,EAAE,WAAW,UAAmB,MAAM,UAAmB,SAAS,MAAM,eAAe,KAAK,EAAE,EAAE;AAEpG,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,gBAAc,KAAK;AAAA,MACnB,eAAa,GAAG,YAAY,SAAS,KAAK,EAAE;AAAA,MAC5C,gBAAc,SAAS,SAAS;AAAA,MAChC,IAAI;AAAA,QACF,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,KAAK;AAAA,QACL,MAAM;AAAA,QACN,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAQV,WAAW;AAAA,QACX,IAAI;AAAA,QACJ,cAAc;AAAA,QACd,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,UAAU,IAAI,OAAO,EAAE;AAAA,QACvB,YAAY,SAAS,MAAM;AAAA,QAC3B,gBAAgB;AAAA,QAChB,YAAY;AAAA,QACZ,OAAO,SAAS,iBAAiB;AAAA,QACjC,SAAS,SAAS,MAAM,MAAM,QAAQ,QAAQ,MAAM,IAAI,IAAI;AAAA,QAC5D,QAAQ,aAAa,SAAS,MAAM,MAAM,QAAQ,QAAQ,MAAM,GAAG,IAAI,MAAM,QAAQ,OAAO;AAAA;AAAA;AAAA,QAG5F,YAAY;AAAA,UACV,SAAS;AAAA,UACT,UAAU;AAAA,UACV,kBAAkB;AAAA,UAClB,gBAAgB;AAAA,UAChB,KAAK;AAAA,UACL,WAAW;AAAA,UACX,QAAQ,IAAI,OAAO,YAAY;AAAA,QACjC;AAAA,MACF;AAAA,MAEC;AAAA,aAAK,SACJ;AAAA,UAAC;AAAA;AAAA,YACC,QAAQ,KAAK;AAAA,YACb,OAAO,KAAK;AAAA,YACZ,QAAQ,GAAG,YAAY,gBAAgB,KAAK,EAAE;AAAA;AAAA,QAChD,IACE;AAAA,QACH,KAAK;AAAA;AAAA;AAAA,EACR;AAEJ;AAUO,SAAS,qBAAqB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAiD;AAC/C,QAAM,QAAQ,SAAS;AACvB,QAAM,WAAW,OAA8B,IAAI;AACnD,sBAAoB,UAAU,cAAc,MAAM,IAAI,CAAC,SAAS,KAAK,EAAE,EAAE,KAAK,IAAQ,CAAC;AAEvF,SACE;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL,WAAU;AAAA,MACV,cAAY;AAAA,MACZ,eAAa,GAAG,YAAY;AAAA,MAC5B,IAAI;AAAA,QACF,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,KAAK;AAAA,QACL,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,WAAW;AAAA,QACX,WAAW;AAAA,QACX,gBAAgB;AAAA,QAChB,wBAAwB,EAAE,SAAS,OAAO;AAAA,MAC5C;AAAA,MAEC,gBAAM,IAAI,CAAC,SACV;AAAA,QAAC;AAAA;AAAA,UAEC;AAAA,UACA,QAAQ,KAAK,OAAO;AAAA,UACpB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA;AAAA,QANK,KAAK;AAAA,MAOZ,CACD;AAAA;AAAA,EACH;AAEJ;AAEA,qBAAqB,cAAc;","names":[]}