@12-apps/ui 6.86.2 → 6.87.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (844) hide show
  1. package/NATIVE.md +1 -1
  2. package/components-catalog.md +16 -2
  3. package/dist/_internal/components/data-display/Alert/Alert.js +3 -3
  4. package/dist/_internal/components/data-display/AlertDialog/AlertDialog.js +3 -3
  5. package/dist/_internal/components/data-display/AlertDialog/AlertDialog.parts.js +2 -2
  6. package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +9 -9
  7. package/dist/_internal/components/data-display/Avatar/Avatar.js +4 -4
  8. package/dist/_internal/components/data-display/Avatar/Avatar.view.js +2 -2
  9. package/dist/_internal/components/data-display/Badge/Badge.js +1 -1
  10. package/dist/_internal/components/data-display/Badge/Badge.styles.js +1 -1
  11. package/dist/_internal/components/data-display/Badge/BadgeContent.js +1 -1
  12. package/dist/_internal/components/data-display/CardKit/card-actions-context.js +4 -4
  13. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +12 -12
  14. package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +8 -8
  15. package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +1 -1
  16. package/dist/_internal/components/data-display/Carousel/Carousel.js +4 -4
  17. package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +1 -1
  18. package/dist/_internal/components/data-display/Carousel/Carousel.styles.js +1 -1
  19. package/dist/_internal/components/data-display/Chart/Chart.js +6 -6
  20. package/dist/_internal/components/data-display/Chart/SpecChart.js +9 -9
  21. package/dist/_internal/components/data-display/Chart/chart-context.js +3 -3
  22. package/dist/_internal/components/data-display/Chart/chart-internals.js +1 -1
  23. package/dist/_internal/components/data-display/Chart/chart-renderers.js +5 -5
  24. package/dist/_internal/components/data-display/Chart/chart-spec.js +2 -2
  25. package/dist/_internal/components/data-display/Chip/Chip.js +3 -3
  26. package/dist/_internal/components/data-display/Chip/Chip.styles.js +2 -2
  27. package/dist/_internal/components/data-display/DataGrid/DataGrid.js +2 -2
  28. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +58 -58
  29. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +78 -78
  30. package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +3 -3
  31. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +9 -9
  32. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +7 -7
  33. package/dist/_internal/components/data-display/DataViews/base-card.js +3 -3
  34. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +3 -3
  35. package/dist/_internal/components/data-display/DataViews/base-list-card-layout.js +3 -3
  36. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +2 -2
  37. package/dist/_internal/components/data-display/DataViews/base-list-card.js +8 -8
  38. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +16 -16
  39. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +2 -2
  40. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +24 -24
  41. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +6 -6
  42. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +53 -53
  43. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +26 -26
  44. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +23 -23
  45. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +24 -24
  46. package/dist/_internal/components/data-display/DataViews/data-views-pagination.js +3 -3
  47. package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +4 -4
  48. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +12 -12
  49. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +23 -23
  50. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +11 -11
  51. package/dist/_internal/components/data-display/DataViews/list-card-rails.js +2 -2
  52. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +4 -4
  53. package/dist/_internal/components/data-display/DayRuler/DayRuler.js +33 -0
  54. package/dist/_internal/components/data-display/DayRuler/DayRuler.keyboard.js +12 -0
  55. package/dist/_internal/components/data-display/DayRuler/DayRuler.keyboard.js.map +1 -0
  56. package/dist/_internal/components/data-display/DayRuler/DayRuler.metrics.js +8 -0
  57. package/dist/_internal/components/data-display/DayRuler/DayRuler.metrics.js.map +1 -0
  58. package/dist/_internal/components/data-display/DayRuler/DayRuler.parts.js +30 -0
  59. package/dist/_internal/components/data-display/DayRuler/DayRuler.parts.js.map +1 -0
  60. package/dist/_internal/components/data-display/DayRuler/DayRuler.styles.js +54 -0
  61. package/dist/_internal/components/data-display/DayRuler/DayRuler.styles.js.map +1 -0
  62. package/dist/_internal/components/data-display/DayRuler/DayRuler.types.js +1 -0
  63. package/dist/_internal/components/data-display/DayRuler/DayRuler.types.js.map +1 -0
  64. package/dist/_internal/components/data-display/DayRuler/day-ruler-model.js +26 -0
  65. package/dist/_internal/components/data-display/DayRuler/day-ruler-model.js.map +1 -0
  66. package/dist/_internal/components/data-display/DayRuler/useRulerDrag.js +11 -0
  67. package/dist/_internal/components/data-display/DayRuler/useRulerDrag.js.map +1 -0
  68. package/dist/_internal/components/data-display/DayRuler/useTextFits.js +8 -0
  69. package/dist/_internal/components/data-display/DayRuler/useTextFits.js.map +1 -0
  70. package/dist/_internal/components/data-display/EmptyState/EmptyState.js +3 -3
  71. package/dist/_internal/components/data-display/ErrorState/ErrorState.js +2 -2
  72. package/dist/_internal/components/data-display/FleetMap/FleetBody.js +12 -12
  73. package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +6 -6
  74. package/dist/_internal/components/data-display/FleetMap/FleetMap.js +19 -19
  75. package/dist/_internal/components/data-display/FleetMap/FleetRoster.js +3 -3
  76. package/dist/_internal/components/data-display/HoverCard/HoverCard.js +3 -3
  77. package/dist/_internal/components/data-display/InteractiveTooltip/InteractiveTooltip.js +2 -2
  78. package/dist/_internal/components/data-display/LazyImage/LazyImage.js +4 -4
  79. package/dist/_internal/components/data-display/Lightbox/Lightbox.js +4 -4
  80. package/dist/_internal/components/data-display/LoadingState/LoadingState.js +5 -5
  81. package/dist/_internal/components/data-display/MapPreview/MapLayers.js +3 -3
  82. package/dist/_internal/components/data-display/MapPreview/MapPreview.js +5 -5
  83. package/dist/_internal/components/data-display/RegionMap/RegionMap.js +6 -6
  84. package/dist/_internal/components/data-display/RegionMap/RegionMapDrawing.js +2 -2
  85. package/dist/_internal/components/data-display/RegionMap/RegionMapList.js +1 -1
  86. package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.js +30 -0
  87. package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.js.map +1 -0
  88. package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.keyboard.js +11 -0
  89. package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.keyboard.js.map +1 -0
  90. package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.metrics.js +10 -0
  91. package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.metrics.js.map +1 -0
  92. package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.parts.js +25 -0
  93. package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.parts.js.map +1 -0
  94. package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.styles.js +59 -0
  95. package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.styles.js.map +1 -0
  96. package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.types.js +1 -0
  97. package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.types.js.map +1 -0
  98. package/dist/_internal/components/data-display/ScheduleGrid/ScheduleNameCell.js +18 -0
  99. package/dist/_internal/components/data-display/ScheduleGrid/ScheduleNameCell.js.map +1 -0
  100. package/dist/_internal/components/data-display/ScheduleGrid/drag-session.js +10 -0
  101. package/dist/_internal/components/data-display/ScheduleGrid/drag-session.js.map +1 -0
  102. package/dist/_internal/components/data-display/ScheduleGrid/schedule-grid-model.js +18 -0
  103. package/dist/_internal/components/data-display/ScheduleGrid/schedule-grid-model.js.map +1 -0
  104. package/dist/_internal/components/data-display/ScheduleGrid/schedule-name.styles.js +25 -0
  105. package/dist/_internal/components/data-display/ScheduleGrid/schedule-name.styles.js.map +1 -0
  106. package/dist/_internal/components/data-display/ScheduleGrid/schedule-tones.js +26 -0
  107. package/dist/_internal/components/data-display/ScheduleGrid/schedule-tones.js.map +1 -0
  108. package/dist/_internal/components/data-display/ScheduleGrid/useAnnouncer.js +8 -0
  109. package/dist/_internal/components/data-display/ScheduleGrid/useAnnouncer.js.map +1 -0
  110. package/dist/_internal/components/data-display/ScheduleGrid/useGridDrag.js +10 -0
  111. package/dist/_internal/components/data-display/ScheduleGrid/useGridDrag.js.map +1 -0
  112. package/dist/_internal/components/data-display/ScheduleGrid/useSidewaysScroll.js +9 -0
  113. package/dist/_internal/components/data-display/ScheduleGrid/useSidewaysScroll.js.map +1 -0
  114. package/dist/_internal/components/data-display/SectionOnboarding/SectionOnboarding.js +5 -5
  115. package/dist/_internal/components/data-display/Sheet/Sheet.body.js +4 -4
  116. package/dist/_internal/components/data-display/Sheet/Sheet.hooks.js +2 -2
  117. package/dist/_internal/components/data-display/Sheet/Sheet.js +8 -8
  118. package/dist/_internal/components/data-display/Sheet/Sheet.parts.js +2 -2
  119. package/dist/_internal/components/data-display/Sheet/Sheet.styles.js +1 -1
  120. package/dist/_internal/components/data-display/StatCard/StatCard.js +3 -3
  121. package/dist/_internal/components/data-display/Stepper/Stepper.js +2 -2
  122. package/dist/_internal/components/data-display/Table/Table.js +5 -5
  123. package/dist/_internal/components/data-display/Table/TableParts.hooks.js +2 -2
  124. package/dist/_internal/components/data-display/Table/TableParts.js +2 -2
  125. package/dist/_internal/components/data-display/Timeline/Timeline.js +2 -2
  126. package/dist/_internal/components/data-display/index.js +159 -130
  127. package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.js +5 -5
  128. package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.parts.js +4 -4
  129. package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +6 -6
  130. package/dist/_internal/components/feedback/ConfirmAction/with-confirmation.js +5 -5
  131. package/dist/_internal/components/feedback/Dialog/Dialog.js +2 -2
  132. package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +4 -4
  133. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.header.js +38 -0
  134. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.header.js.map +1 -0
  135. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.header.styles.js +14 -0
  136. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.header.styles.js.map +1 -0
  137. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.js +14 -11
  138. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.metrics.js +1 -1
  139. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.overview.js +40 -0
  140. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.overview.js.map +1 -0
  141. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.parts.js +6 -13
  142. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.styles.js +10 -2
  143. package/dist/_internal/components/feedback/SequenceResolver/sequence-model.js +7 -1
  144. package/dist/_internal/components/feedback/SequenceResolver/useSequenceRun.js +2 -2
  145. package/dist/_internal/components/feedback/Sonner/Sonner.js +2 -2
  146. package/dist/_internal/components/feedback/StackedModal/StackedModal.js +4 -4
  147. package/dist/_internal/components/feedback/StackedModal/StackedModal.parts.js +2 -2
  148. package/dist/_internal/components/feedback/Toast/Toast.js +2 -2
  149. package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.js +2 -2
  150. package/dist/_internal/components/feedback/index.js +45 -42
  151. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +1 -1
  152. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +1 -1
  153. package/dist/_internal/components/form/Autocomplete/Autocomplete.js +2 -2
  154. package/dist/_internal/components/form/Calendar/Calendar.js +7 -7
  155. package/dist/_internal/components/form/Calendar/CalendarDayCell.js +2 -2
  156. package/dist/_internal/components/form/Calendar/CalendarMonth.js +3 -3
  157. package/dist/_internal/components/form/Calendar/CalendarSelectorsMonth.js +5 -5
  158. package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +5 -5
  159. package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +3 -3
  160. package/dist/_internal/components/form/CategorySelect/CategoryRows.js +2 -2
  161. package/dist/_internal/components/form/CategorySelect/CategorySelect.js +9 -9
  162. package/dist/_internal/components/form/Command/Command.hooks.js +2 -2
  163. package/dist/_internal/components/form/Command/Command.js +6 -6
  164. package/dist/_internal/components/form/Command/Command.parts.js +2 -2
  165. package/dist/_internal/components/form/Command/Command.styles.js +1 -1
  166. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.hooks.js +3 -3
  167. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +13 -13
  168. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.range.js +2 -2
  169. package/dist/_internal/components/form/DateRangePicker/DateRangePickerFields.js +3 -3
  170. package/dist/_internal/components/form/Label/Label.js +1 -1
  171. package/dist/_internal/components/form/Label/Label.styles.js +1 -1
  172. package/dist/_internal/components/form/Menubar/Menubar.item.js +1 -1
  173. package/dist/_internal/components/form/Menubar/Menubar.js +5 -5
  174. package/dist/_internal/components/form/Menubar/Menubar.styles.js +1 -1
  175. package/dist/_internal/components/form/Menubar/Menubar.toolbar.js +3 -3
  176. package/dist/_internal/components/form/PickerSheet/PickerSheet.js +4 -4
  177. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.dom.js +2 -2
  178. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.format.js +3 -3
  179. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.hooks.js +4 -4
  180. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.js +5 -5
  181. package/dist/_internal/components/form/Switch/Switch.js +4 -4
  182. package/dist/_internal/components/form/Switch/Switch.parts.js +3 -3
  183. package/dist/_internal/components/form/Switch/Switch.styles.js +2 -2
  184. package/dist/_internal/components/form/index.js +83 -83
  185. package/dist/_internal/components/form/total-form/Fields/CategoryField.js +10 -10
  186. package/dist/_internal/components/form/total-form/Fields/index.js +17 -17
  187. package/dist/_internal/components/form/total-form/FormErrorSnackbar.js +3 -3
  188. package/dist/_internal/components/index.js +366 -334
  189. package/dist/_internal/components/layout/Box/Box.js +1 -1
  190. package/dist/_internal/components/layout/Card/Card.js +2 -2
  191. package/dist/_internal/components/layout/ContentToolbar/ColumnsMenu.js +2 -2
  192. package/dist/_internal/components/layout/ContentToolbar/FilterTrigger.js +3 -3
  193. package/dist/_internal/components/layout/ContentToolbar/MultiSelectDropdown.js +2 -2
  194. package/dist/_internal/components/layout/ContentToolbar/ViewSelector.js +2 -2
  195. package/dist/_internal/components/layout/Dashboard/Dashboard.js +2 -2
  196. package/dist/_internal/components/layout/Drawer/Drawer.js +2 -2
  197. package/dist/_internal/components/layout/Screen/Screen.js +1 -1
  198. package/dist/_internal/components/layout/ScrollArea/ScrollArea.js +3 -3
  199. package/dist/_internal/components/layout/SettingCard/SettingCard.js +9 -9
  200. package/dist/_internal/components/layout/SettingCard/SettingCard.parts.js +5 -5
  201. package/dist/_internal/components/layout/SettingCard/SettingCard.summary.js +8 -8
  202. package/dist/_internal/components/layout/SettingCard/SettingGrid.js +6 -6
  203. package/dist/_internal/components/layout/SettingCard/SettingGroup.js +15 -15
  204. package/dist/_internal/components/layout/SettingCard/SettingSwitch.js +14 -14
  205. package/dist/_internal/components/layout/SettingCard/SettingToggle.js +15 -15
  206. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.js +7 -7
  207. package/dist/_internal/components/layout/SettingsLayout/SettingsPanel.js +4 -4
  208. package/dist/_internal/components/layout/SettingsLayout/SettingsSectionChips.js +2 -2
  209. package/dist/_internal/components/layout/Skeleton/Skeleton.js +2 -2
  210. package/dist/_internal/components/layout/Stack/Stack.js +1 -1
  211. package/dist/_internal/components/layout/TableFilter/TableFilter.js +2 -2
  212. package/dist/_internal/components/layout/index.js +68 -68
  213. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +9 -9
  214. package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +3 -3
  215. package/dist/_internal/components/navigation/Breadcrumbs/Breadcrumbs.js +2 -2
  216. package/dist/_internal/components/navigation/NavigationMenu/NavigationMegaSection.js +3 -3
  217. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +6 -6
  218. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenuItem.js +2 -2
  219. package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +4 -4
  220. package/dist/_internal/components/navigation/Pagination/Pagination.js +2 -2
  221. package/dist/_internal/components/navigation/SectionNav/SectionNav.bar.js +5 -5
  222. package/dist/_internal/components/navigation/SectionNav/SectionNav.js +6 -6
  223. package/dist/_internal/components/navigation/SectionNav/SectionNav.parts.js +1 -1
  224. package/dist/_internal/components/navigation/SectionNav/SectionNav.primary.js +1 -1
  225. package/dist/_internal/components/navigation/SectionNav/SectionNav.rail.js +1 -1
  226. package/dist/_internal/components/navigation/SectionNav/SectionNav.railCreate.js +1 -1
  227. package/dist/_internal/components/navigation/SectionNav/SectionNav.sheet.js +4 -4
  228. package/dist/_internal/components/navigation/SectionNav/__stories__/fixtures.js +1 -1
  229. package/dist/_internal/components/navigation/index.js +36 -36
  230. package/dist/_internal/components/typography/Code/Code.js +2 -2
  231. package/dist/_internal/components/typography/index.js +6 -6
  232. package/dist/_internal/components/utility/AnimatedIcon/AnimatedIcon.js +2 -2
  233. package/dist/_internal/components/utility/InfiniteScroll/InfiniteScroll.js +3 -3
  234. package/dist/_internal/components/utility/InfiniteScroll/InfiniteScroll.parts.js +2 -2
  235. package/dist/_internal/components/utility/InstallPrompt/InstallPrompt.js +2 -2
  236. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.helpers.js +3 -3
  237. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.js +6 -6
  238. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.parts.js +4 -4
  239. package/dist/_internal/components/utility/WorkflowStep/WorkflowStepRow.js +5 -5
  240. package/dist/_internal/components/utility/index.js +23 -23
  241. package/dist/_internal/en-US.labels.js +1 -1
  242. package/dist/_internal/icons/Icon.js +1 -1
  243. package/dist/_internal/provider/UiProvider.js +1 -1
  244. package/dist/_internal/provider/mui-bridge.js +1 -1
  245. package/dist/_internal/provider/use-ui-theme.js +1 -1
  246. package/dist/_internal/pt-BR.labels.js +1 -1
  247. package/dist/_internal/social-login-button/social-login-button.js +4 -4
  248. package/dist/_internal/user-avatar/user-avatar.js +7 -7
  249. package/dist/charts.js +18 -18
  250. package/dist/{chunk-X4N6Q37Q.js → chunk-2CRNOJGL.js} +9 -9
  251. package/dist/{chunk-L5KPBMMF.js → chunk-2ENMRK3U.js} +2 -2
  252. package/dist/{chunk-K7IDOTSU.js → chunk-2KBATUOZ.js} +3 -3
  253. package/dist/{chunk-VKTF3GAP.js → chunk-2MYSXWZQ.js} +9 -9
  254. package/dist/{chunk-CHP3QIS3.js → chunk-2ORD2FMN.js} +37 -3
  255. package/dist/{chunk-CHP3QIS3.js.map → chunk-2ORD2FMN.js.map} +1 -1
  256. package/dist/{chunk-7QKFMMWK.js → chunk-2Q2DUGH7.js} +2 -2
  257. package/dist/chunk-2SRWPNQ7.js +60 -0
  258. package/dist/chunk-2SRWPNQ7.js.map +1 -0
  259. package/dist/{chunk-VQ6V5TO7.js → chunk-2UNZG4JK.js} +3 -3
  260. package/dist/chunk-35HMJQLO.js +26 -0
  261. package/dist/chunk-35HMJQLO.js.map +1 -0
  262. package/dist/{chunk-5VKHJ7PI.js → chunk-3B4NXP4N.js} +3 -3
  263. package/dist/{chunk-HC6OZ7QK.js → chunk-3EIRRLCQ.js} +2 -2
  264. package/dist/{chunk-MSJP2AEN.js → chunk-3EKY63LD.js} +2 -2
  265. package/dist/{chunk-LH43GKP2.js → chunk-3KMP2F4R.js} +13 -13
  266. package/dist/chunk-3R6BR22L.js +72 -0
  267. package/dist/chunk-3R6BR22L.js.map +1 -0
  268. package/dist/{chunk-D3W5A4N6.js → chunk-3STNOYYO.js} +3 -3
  269. package/dist/{chunk-TVDHA7BT.js → chunk-3Y6NO5XL.js} +8 -8
  270. package/dist/{chunk-ABQZFK7M.js → chunk-44PBCQ7E.js} +6 -6
  271. package/dist/chunk-4HK4FVMV.js +106 -0
  272. package/dist/chunk-4HK4FVMV.js.map +1 -0
  273. package/dist/{chunk-PGHSNG33.js → chunk-4PZZJ2AE.js} +5 -5
  274. package/dist/{chunk-TRAMTVIO.js → chunk-4QTPERAY.js} +2 -2
  275. package/dist/{chunk-W2RXXF7K.js → chunk-4XBAEKQQ.js} +4 -4
  276. package/dist/{chunk-XCUHGPPZ.js → chunk-55PFFAAY.js} +2 -2
  277. package/dist/{chunk-LYVTJLCF.js → chunk-56JF5PZK.js} +4 -4
  278. package/dist/{native/chunks/chunk-QHW7JEPZ.js → chunk-57FIUJJJ.js} +18 -1
  279. package/dist/chunk-57FIUJJJ.js.map +1 -0
  280. package/dist/{chunk-5C3JSXBK.js → chunk-5BVAUUWL.js} +5 -5
  281. package/dist/{chunk-6OISIUZM.js → chunk-5F7HYYGM.js} +2 -2
  282. package/dist/{chunk-JHW35C6W.js → chunk-5QUH53HV.js} +6 -6
  283. package/dist/{chunk-DAFFZED3.js → chunk-5YVMFK7Y.js} +2 -2
  284. package/dist/{chunk-TI4FGQYV.js → chunk-62PTREG5.js} +2 -2
  285. package/dist/{chunk-3DPPDGOF.js → chunk-62SXUU5U.js} +5 -5
  286. package/dist/{chunk-3JZ3KEQQ.js → chunk-6ATXOJVQ.js} +4 -4
  287. package/dist/{chunk-7W5X3KQ2.js → chunk-6BQ3YKLD.js} +2 -2
  288. package/dist/chunk-6D5AMANO.js +50 -0
  289. package/dist/chunk-6D5AMANO.js.map +1 -0
  290. package/dist/{chunk-VPH3TENY.js → chunk-6DGNMASB.js} +2 -2
  291. package/dist/chunk-6HZYRKOB.js +94 -0
  292. package/dist/chunk-6HZYRKOB.js.map +1 -0
  293. package/dist/{chunk-NOF2FF4K.js → chunk-7CPLKAL6.js} +4 -4
  294. package/dist/{chunk-DVX4HDNP.js → chunk-7IBFGOLF.js} +3 -3
  295. package/dist/chunk-7RXL4ONS.js +1 -0
  296. package/dist/chunk-7RXL4ONS.js.map +1 -0
  297. package/dist/{chunk-EOQ6EKTS.js → chunk-7XSCEHGA.js} +7 -7
  298. package/dist/{chunk-QCYQL3ST.js → chunk-7XUQJJPK.js} +2 -2
  299. package/dist/chunk-7ZQ3KQ7J.js +49 -0
  300. package/dist/chunk-7ZQ3KQ7J.js.map +1 -0
  301. package/dist/{chunk-7VUXSNVZ.js → chunk-A4B27HYU.js} +2 -2
  302. package/dist/chunk-AC7K7IJE.js +28 -0
  303. package/dist/chunk-AC7K7IJE.js.map +1 -0
  304. package/dist/{chunk-42D7KBDH.js → chunk-AD6GRJFV.js} +3 -3
  305. package/dist/{chunk-CAOL4AIB.js → chunk-AEAVVKGY.js} +2 -2
  306. package/dist/{chunk-HHPFWEJY.js → chunk-ALDS5ISD.js} +14 -2
  307. package/dist/chunk-ALDS5ISD.js.map +1 -0
  308. package/dist/{chunk-M3XJVD5G.js → chunk-AMLHEKSV.js} +5 -5
  309. package/dist/{chunk-E5QOT7KK.js → chunk-AN37BIIO.js} +9 -9
  310. package/dist/{chunk-ABVIMFSD.js → chunk-AWUB3T7C.js} +2 -2
  311. package/dist/{chunk-ALOEOGQV.js → chunk-AXGQB24R.js} +2 -2
  312. package/dist/chunk-B3SL5FP2.js +94 -0
  313. package/dist/chunk-B3SL5FP2.js.map +1 -0
  314. package/dist/{chunk-Q4QFYGPH.js → chunk-B5SBDLRS.js} +3 -3
  315. package/dist/{chunk-G4W6HR6Q.js → chunk-B7GGLFJB.js} +5 -5
  316. package/dist/{chunk-C347NNZJ.js → chunk-B7ZAEZJW.js} +2 -2
  317. package/dist/chunk-BK3YLYL6.js +62 -0
  318. package/dist/chunk-BK3YLYL6.js.map +1 -0
  319. package/dist/{chunk-OFESNJKE.js → chunk-BQBEN44R.js} +18 -64
  320. package/dist/chunk-BQBEN44R.js.map +1 -0
  321. package/dist/{chunk-GANJRIT3.js → chunk-C3MXURP3.js} +2 -2
  322. package/dist/{chunk-4QR7LM5F.js → chunk-CTN4BRAH.js} +8 -8
  323. package/dist/{chunk-ZANWHTXH.js → chunk-CVB26LLB.js} +2 -2
  324. package/dist/{chunk-JH2XLVWM.js → chunk-CW5Z67NA.js} +2 -2
  325. package/dist/{chunk-CY4XIZNW.js → chunk-D3B4V44W.js} +2 -2
  326. package/dist/{chunk-BAC2PBOS.js → chunk-D3SIZ2CX.js} +7 -7
  327. package/dist/chunk-D6JKCCRQ.js +120 -0
  328. package/dist/chunk-D6JKCCRQ.js.map +1 -0
  329. package/dist/{chunk-QN7FVZQD.js → chunk-DHAXUVMR.js} +4 -4
  330. package/dist/chunk-DJNKSDQH.js +1 -0
  331. package/dist/chunk-DJNKSDQH.js.map +1 -0
  332. package/dist/{chunk-YGLAGY74.js → chunk-DM57YWZH.js} +2 -2
  333. package/dist/{chunk-NASLJO2R.js → chunk-DRJGHTQU.js} +2 -2
  334. package/dist/{chunk-BLZDSCIZ.js → chunk-DYHOBKPU.js} +6 -6
  335. package/dist/{chunk-6HXNFNOB.js → chunk-EE6DJPB7.js} +4 -4
  336. package/dist/chunk-EEK2NK4W.js +281 -0
  337. package/dist/chunk-EEK2NK4W.js.map +1 -0
  338. package/dist/{chunk-ANUO67JQ.js → chunk-EIMFA7KP.js} +2 -2
  339. package/dist/{chunk-AKE6KVQG.js → chunk-EVIQUBC6.js} +4 -4
  340. package/dist/{chunk-6X7PE5DH.js → chunk-EXKEPOL7.js} +7 -7
  341. package/dist/{chunk-LIN4A2BW.js → chunk-FKS2PNJF.js} +9 -9
  342. package/dist/{chunk-ZYZPSBNQ.js → chunk-G3G5W4OF.js} +3 -3
  343. package/dist/{chunk-J2KVF5GO.js → chunk-GBB23QLL.js} +3 -3
  344. package/dist/{chunk-KTXJQ4YJ.js → chunk-GBVNY2LG.js} +6 -6
  345. package/dist/{chunk-CJLZHW2Z.js → chunk-GCR6VE5S.js} +2 -2
  346. package/dist/chunk-GONPUJIE.js +92 -0
  347. package/dist/chunk-GONPUJIE.js.map +1 -0
  348. package/dist/{chunk-APSEM5AA.js → chunk-GS3QDXDP.js} +4 -4
  349. package/dist/{chunk-6IRZZYHF.js → chunk-H5R2EZYI.js} +7 -7
  350. package/dist/{chunk-WLSFBXGS.js → chunk-HED2CZDZ.js} +3 -3
  351. package/dist/{chunk-JVOEVTCZ.js → chunk-HQCZT6TO.js} +5 -5
  352. package/dist/{chunk-NKEFH3RS.js → chunk-HWJ3FLZY.js} +5 -5
  353. package/dist/{chunk-42TOCPXB.js → chunk-I5SIHPOG.js} +6 -6
  354. package/dist/{chunk-K6FCSB6T.js → chunk-I62SKY4E.js} +4 -4
  355. package/dist/{chunk-GOQOVKUZ.js → chunk-I6CP3ZTP.js} +3 -3
  356. package/dist/chunk-I7CVC2DW.js +229 -0
  357. package/dist/chunk-I7CVC2DW.js.map +1 -0
  358. package/dist/{chunk-UFGT2SFD.js → chunk-ICHM2LQA.js} +4 -4
  359. package/dist/{chunk-5IMI2XNU.js → chunk-IMMPY4Q7.js} +6 -6
  360. package/dist/chunk-IP424VZD.js +208 -0
  361. package/dist/chunk-IP424VZD.js.map +1 -0
  362. package/dist/{chunk-437HQPUN.js → chunk-IQ5MBELJ.js} +7 -7
  363. package/dist/{chunk-FRUDRDJX.js → chunk-IZ7JTG3Z.js} +4 -4
  364. package/dist/{chunk-5ZOJLYD2.js → chunk-JE6RZ5L6.js} +4 -4
  365. package/dist/{chunk-KF3Q3C3P.js → chunk-JJFLCEJJ.js} +2 -2
  366. package/dist/chunk-JO6D7YGN.js +111 -0
  367. package/dist/chunk-JO6D7YGN.js.map +1 -0
  368. package/dist/{chunk-IWMAFTXP.js → chunk-K2VDRODL.js} +2 -2
  369. package/dist/{chunk-CFDWKQZT.js → chunk-KILA7LCC.js} +4 -4
  370. package/dist/{chunk-IMYKJTVX.js → chunk-KLLHCPA2.js} +2 -2
  371. package/dist/{chunk-5UBP2DJ4.js → chunk-KZ5F52D6.js} +39 -5
  372. package/dist/chunk-KZ5F52D6.js.map +1 -0
  373. package/dist/{chunk-FORQEHRQ.js → chunk-L5GZZUTY.js} +2 -2
  374. package/dist/{chunk-N557OEZR.js → chunk-L62HC3UB.js} +2 -2
  375. package/dist/chunk-LE5JYNR7.js +58 -0
  376. package/dist/chunk-LE5JYNR7.js.map +1 -0
  377. package/dist/{chunk-2IHUFUTO.js → chunk-LR56OANO.js} +6 -6
  378. package/dist/{chunk-EAFZ3RDY.js → chunk-LSGZLFKX.js} +8 -8
  379. package/dist/{chunk-W5WYTVLS.js → chunk-LY5I3ZSV.js} +4 -4
  380. package/dist/{chunk-T77OVQEO.js → chunk-LZKS3NER.js} +2 -2
  381. package/dist/{chunk-ZAPP32GD.js → chunk-M7HYNXCU.js} +2 -2
  382. package/dist/chunk-MAYAJXO6.js +104 -0
  383. package/dist/chunk-MAYAJXO6.js.map +1 -0
  384. package/dist/{chunk-D34PZJH3.js → chunk-MBMZNSBP.js} +2 -2
  385. package/dist/{chunk-HUXAIQC5.js → chunk-MJDSXQV7.js} +2 -2
  386. package/dist/{chunk-PEVBSNCD.js → chunk-MLAIXRVL.js} +2 -2
  387. package/dist/chunk-MQVYJVKV.js +32 -0
  388. package/dist/chunk-MQVYJVKV.js.map +1 -0
  389. package/dist/{chunk-5U7LBO2V.js → chunk-MUHRPJQT.js} +4 -4
  390. package/dist/{chunk-COK65GX2.js → chunk-N2KHISGH.js} +2 -2
  391. package/dist/{chunk-UQ5GJPVZ.js → chunk-N3C4J6Z2.js} +3 -3
  392. package/dist/{chunk-PGANINQD.js → chunk-NI67M453.js} +5 -5
  393. package/dist/{chunk-P4Q7JK4L.js → chunk-NQ6P7O7C.js} +2 -2
  394. package/dist/{chunk-QVDEGBME.js → chunk-NQCTANF3.js} +7 -7
  395. package/dist/{chunk-AQPPSR4P.js → chunk-NQUYBJKJ.js} +2 -2
  396. package/dist/{chunk-LOHQLARB.js → chunk-NTCWIMIU.js} +4 -4
  397. package/dist/{chunk-Q4GAPZDA.js → chunk-O2MR6U7Q.js} +5 -5
  398. package/dist/{chunk-2FQF4CNE.js → chunk-OPP6USJC.js} +2 -2
  399. package/dist/{chunk-HNEZWVDR.js → chunk-P5C4DTO4.js} +3 -3
  400. package/dist/{chunk-6EZQLNPK.js → chunk-PGJIWCQR.js} +4 -4
  401. package/dist/{chunk-TJUWSQYQ.js → chunk-PSIUFPXA.js} +18 -1
  402. package/dist/{chunk-TJUWSQYQ.js.map → chunk-PSIUFPXA.js.map} +1 -1
  403. package/dist/{chunk-3LUT2C5M.js → chunk-QMRR35W2.js} +19 -11
  404. package/dist/chunk-QMRR35W2.js.map +1 -0
  405. package/dist/chunk-QQFFE3CQ.js +90 -0
  406. package/dist/chunk-QQFFE3CQ.js.map +1 -0
  407. package/dist/{chunk-PJNIJIE6.js → chunk-RCTHCXS6.js} +2 -2
  408. package/dist/{chunk-YBAK2WN5.js → chunk-RFMQBIE6.js} +4 -4
  409. package/dist/{chunk-EYFDIUVR.js → chunk-RZTUMBRD.js} +2 -2
  410. package/dist/{chunk-SGFRSRAL.js → chunk-S5VIN3EB.js} +4 -4
  411. package/dist/{chunk-QHIWV55K.js → chunk-SB2SEGR6.js} +3 -3
  412. package/dist/{chunk-5CP6VW5H.js → chunk-SFNVAM7I.js} +6 -6
  413. package/dist/{chunk-HOPRZEBM.js → chunk-SKIAWOUC.js} +3 -3
  414. package/dist/{chunk-KES3HNSU.js → chunk-T7NEXLW6.js} +2 -2
  415. package/dist/{chunk-EWFBDAB7.js → chunk-TOLCZ4XT.js} +2 -2
  416. package/dist/{chunk-HBH7V3IP.js → chunk-TOOEEQ46.js} +2 -2
  417. package/dist/{chunk-L7HNQRFS.js → chunk-TSID4257.js} +8 -8
  418. package/dist/chunk-TTRWOI6Z.js +1 -0
  419. package/dist/chunk-TTRWOI6Z.js.map +1 -0
  420. package/dist/{chunk-5CP5Z3YU.js → chunk-TYGVNTUP.js} +2 -2
  421. package/dist/{chunk-JG733RMP.js → chunk-TZC6KIK2.js} +5 -5
  422. package/dist/{chunk-XS6QHZMD.js → chunk-UBMH5MED.js} +9 -9
  423. package/dist/chunk-UIHPFELH.js +228 -0
  424. package/dist/chunk-UIHPFELH.js.map +1 -0
  425. package/dist/{chunk-UXOFA3ZP.js → chunk-UNCDOLF5.js} +7 -7
  426. package/dist/{chunk-UYKIUUWP.js → chunk-V2QTL6VI.js} +2 -2
  427. package/dist/{chunk-6GICMRDX.js → chunk-VMTOLAZ5.js} +5 -5
  428. package/dist/{chunk-4QGMUHAU.js → chunk-VQ7YNAK2.js} +2 -2
  429. package/dist/chunk-WCETCAZO.js +140 -0
  430. package/dist/chunk-WCETCAZO.js.map +1 -0
  431. package/dist/{chunk-B32XH7NK.js → chunk-WHOD6LVN.js} +3 -3
  432. package/dist/{chunk-X3EEV3OI.js → chunk-WLC56R2I.js} +7 -7
  433. package/dist/{chunk-X4J576GR.js → chunk-WTACWJSF.js} +2 -2
  434. package/dist/{chunk-5S5K73I6.js → chunk-WUBMJSBR.js} +2 -2
  435. package/dist/{chunk-TSEBMVYY.js → chunk-X2GWR75Q.js} +3 -3
  436. package/dist/{chunk-2VRJ577J.js → chunk-X3EB67O2.js} +4 -4
  437. package/dist/{chunk-PQGHYFUA.js → chunk-XALFZ25A.js} +4 -4
  438. package/dist/{chunk-BNBWUXT3.js → chunk-XEKJ7L7I.js} +2 -2
  439. package/dist/{chunk-YPW4HZ3Z.js → chunk-XHIBFBNP.js} +4 -4
  440. package/dist/{chunk-QAH3XILB.js → chunk-XNIHDUOP.js} +3 -3
  441. package/dist/{chunk-DILDC77M.js → chunk-XRVXQJNB.js} +3 -3
  442. package/dist/{chunk-K6WY2CHG.js → chunk-XZFTRGRW.js} +2 -2
  443. package/dist/{chunk-LLPPIO3K.js → chunk-Y4ZWPOUV.js} +2 -2
  444. package/dist/{chunk-C4NSEUT5.js → chunk-Y6IIWGZB.js} +2 -2
  445. package/dist/{chunk-TLJVUWJ5.js → chunk-YAQE7QVC.js} +3 -3
  446. package/dist/{chunk-4OUJ4ZMK.js → chunk-YDIC6LSP.js} +2 -2
  447. package/dist/chunk-YE44HUFF.js +72 -0
  448. package/dist/chunk-YE44HUFF.js.map +1 -0
  449. package/dist/{chunk-PVIQDBUN.js → chunk-YFG6XXBB.js} +2 -2
  450. package/dist/{chunk-UBVKMM3V.js → chunk-YGQ2DLIM.js} +2 -2
  451. package/dist/{chunk-T5RFH2T5.js → chunk-YKONJEI4.js} +2 -2
  452. package/dist/{chunk-ZIHSCBMN.js → chunk-YLZXIR6B.js} +7 -7
  453. package/dist/chunk-YMYJO2CZ.js +32 -0
  454. package/dist/chunk-YMYJO2CZ.js.map +1 -0
  455. package/dist/{chunk-A3DDEKLV.js → chunk-YNZUYZ2O.js} +2 -2
  456. package/dist/chunk-YSUJCKEE.js +341 -0
  457. package/dist/chunk-YSUJCKEE.js.map +1 -0
  458. package/dist/{chunk-YNVTUQ5B.js → chunk-YWBPASB2.js} +2 -2
  459. package/dist/{chunk-G3JFESKD.js → chunk-Z5WUSI47.js} +6 -6
  460. package/dist/{chunk-IX5ADKII.js → chunk-Z7CBLQQR.js} +3 -3
  461. package/dist/{chunk-7WE432RQ.js → chunk-ZCNR4DN5.js} +12 -12
  462. package/dist/{chunk-JRBSTOMA.js → chunk-ZDAAHCIS.js} +6 -6
  463. package/dist/{chunk-2SBQ47RI.js → chunk-ZF2LZVDO.js} +7 -7
  464. package/dist/{chunk-4IG73U2X.js → chunk-ZIA774ZW.js} +2 -2
  465. package/dist/{chunk-E5OBAS3U.js → chunk-ZLIES3XR.js} +2 -2
  466. package/dist/data-display/Alert.js +3 -3
  467. package/dist/data-display/AlertDialog.js +3 -3
  468. package/dist/data-display/AsyncStateContainer.js +9 -9
  469. package/dist/data-display/Avatar.js +4 -4
  470. package/dist/data-display/Badge.js +1 -1
  471. package/dist/data-display/CardKit.js +22 -22
  472. package/dist/data-display/Carousel.js +4 -4
  473. package/dist/data-display/Chart.js +18 -18
  474. package/dist/data-display/Chip.js +3 -3
  475. package/dist/data-display/DataGrid.js +2 -2
  476. package/dist/data-display/DataViews.js +92 -92
  477. package/dist/data-display/DayRuler.js +33 -0
  478. package/dist/data-display/DayRuler.js.map +1 -0
  479. package/dist/data-display/EmptyState.js +3 -3
  480. package/dist/data-display/ErrorState.js +2 -2
  481. package/dist/data-display/FleetMap.js +19 -19
  482. package/dist/data-display/HoverCard.js +3 -3
  483. package/dist/data-display/InteractiveTooltip.js +2 -2
  484. package/dist/data-display/LazyImage.js +4 -4
  485. package/dist/data-display/Lightbox.js +4 -4
  486. package/dist/data-display/LoadingState.js +5 -5
  487. package/dist/data-display/MapPreview.js +5 -5
  488. package/dist/data-display/RegionMap.js +6 -6
  489. package/dist/data-display/ScheduleGrid.js +30 -0
  490. package/dist/data-display/ScheduleGrid.js.map +1 -0
  491. package/dist/data-display/SectionOnboarding.js +5 -5
  492. package/dist/data-display/Sheet.js +8 -8
  493. package/dist/data-display/StatCard.js +3 -3
  494. package/dist/data-display/Stepper.js +2 -2
  495. package/dist/data-display/Table.js +5 -5
  496. package/dist/data-display/Timeline.js +2 -2
  497. package/dist/en-US.js +1 -1
  498. package/dist/feedback/ConfirmAction.js +9 -9
  499. package/dist/feedback/Dialog.js +2 -2
  500. package/dist/feedback/NotificationStatusNotice.js +4 -4
  501. package/dist/feedback/SequenceResolver.js +14 -11
  502. package/dist/feedback/Sonner.js +2 -2
  503. package/dist/feedback/StackedModal.js +4 -4
  504. package/dist/feedback/Toast.js +2 -2
  505. package/dist/feedback/TutorialOverlay.js +2 -2
  506. package/dist/form/AddressAutocomplete.js +1 -1
  507. package/dist/form/Autocomplete.js +2 -2
  508. package/dist/form/Calendar.js +7 -7
  509. package/dist/form/CategorySelect.js +9 -9
  510. package/dist/form/Command.js +6 -6
  511. package/dist/form/DateRangePicker.js +13 -13
  512. package/dist/form/Label.js +1 -1
  513. package/dist/form/Menubar.js +5 -5
  514. package/dist/form/PickerSheet.js +4 -4
  515. package/dist/form/RichTextEditor.js +5 -5
  516. package/dist/form/Switch.js +4 -4
  517. package/dist/form/total-form.js +18 -18
  518. package/dist/icons.js +1 -1
  519. package/dist/layout/Box.js +1 -1
  520. package/dist/layout/Card.js +2 -2
  521. package/dist/layout/ContentToolbar.js +8 -8
  522. package/dist/layout/Dashboard.js +2 -2
  523. package/dist/layout/Drawer.js +2 -2
  524. package/dist/layout/Screen.js +1 -1
  525. package/dist/layout/ScrollArea.js +3 -3
  526. package/dist/layout/SettingCard.js +21 -21
  527. package/dist/layout/SettingsLayout.js +8 -8
  528. package/dist/layout/Skeleton.js +2 -2
  529. package/dist/layout/Stack.js +1 -1
  530. package/dist/layout/TableFilter.js +2 -2
  531. package/dist/locales.js +27 -27
  532. package/dist/native/chunks/{chunk-FXA5DLKR.js → chunk-4G634E3Q.js} +3 -3
  533. package/dist/{chunk-XOXXG7Q5.js → native/chunks/chunk-E5UA5XVN.js} +18 -1
  534. package/dist/native/chunks/chunk-E5UA5XVN.js.map +1 -0
  535. package/dist/native/chunks/{chunk-IN3XZ7EK.js → chunk-WLG3KT2V.js} +2 -2
  536. package/dist/native/data-display/Avatar.js +1 -1
  537. package/dist/native/data-display/Badge.js +1 -1
  538. package/dist/native/data-display/Chip.js +1 -1
  539. package/dist/native/data-display/EmptyState.js +3 -3
  540. package/dist/native/data-display/ErrorState.js +2 -2
  541. package/dist/native/data-display/FleetMap.js +3 -3
  542. package/dist/native/data-display/LoadingState.js +1 -1
  543. package/dist/native/feedback/Dialog.js +1 -1
  544. package/dist/native/form/Button.js +2 -2
  545. package/dist/native/form/Checkbox.js +1 -1
  546. package/dist/native/form/Input.js +1 -1
  547. package/dist/native/form/Switch.js +1 -1
  548. package/dist/navigation/AppHeader.js +13 -13
  549. package/dist/navigation/Breadcrumbs.js +2 -2
  550. package/dist/navigation/NavigationMenu.js +6 -6
  551. package/dist/navigation/Pagination.js +2 -2
  552. package/dist/navigation/SectionNav.js +6 -6
  553. package/dist/provider.js +1 -1
  554. package/dist/pt-BR.js +24 -24
  555. package/dist/social-login-button.js +4 -4
  556. package/dist/tokens.js +6 -6
  557. package/dist/types/components/data-display/DayRuler/DayRuler.d.ts +13 -0
  558. package/dist/types/components/data-display/DayRuler/DayRuler.d.ts.map +1 -0
  559. package/dist/types/components/data-display/DayRuler/DayRuler.keyboard.d.ts +31 -0
  560. package/dist/types/components/data-display/DayRuler/DayRuler.keyboard.d.ts.map +1 -0
  561. package/dist/types/components/data-display/DayRuler/DayRuler.metrics.d.ts +86 -0
  562. package/dist/types/components/data-display/DayRuler/DayRuler.metrics.d.ts.map +1 -0
  563. package/dist/types/components/data-display/DayRuler/DayRuler.parts.d.ts +37 -0
  564. package/dist/types/components/data-display/DayRuler/DayRuler.parts.d.ts.map +1 -0
  565. package/dist/types/components/data-display/DayRuler/DayRuler.styles.d.ts +45 -0
  566. package/dist/types/components/data-display/DayRuler/DayRuler.styles.d.ts.map +1 -0
  567. package/dist/types/components/data-display/DayRuler/DayRuler.types.d.ts +105 -0
  568. package/dist/types/components/data-display/DayRuler/DayRuler.types.d.ts.map +1 -0
  569. package/dist/types/components/data-display/DayRuler/day-ruler-model.d.ts +26 -0
  570. package/dist/types/components/data-display/DayRuler/day-ruler-model.d.ts.map +1 -0
  571. package/dist/types/components/data-display/DayRuler/index.d.ts +4 -0
  572. package/dist/types/components/data-display/DayRuler/index.d.ts.map +1 -0
  573. package/dist/types/components/data-display/DayRuler/useRulerDrag.d.ts +45 -0
  574. package/dist/types/components/data-display/DayRuler/useRulerDrag.d.ts.map +1 -0
  575. package/dist/types/components/data-display/DayRuler/useTextFits.d.ts +14 -0
  576. package/dist/types/components/data-display/DayRuler/useTextFits.d.ts.map +1 -0
  577. package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.d.ts +15 -0
  578. package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.d.ts.map +1 -0
  579. package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.keyboard.d.ts +32 -0
  580. package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.keyboard.d.ts.map +1 -0
  581. package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.metrics.d.ts +105 -0
  582. package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.metrics.d.ts.map +1 -0
  583. package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.parts.d.ts +51 -0
  584. package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.parts.d.ts.map +1 -0
  585. package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.styles.d.ts +75 -0
  586. package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.styles.d.ts.map +1 -0
  587. package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.types.d.ts +136 -0
  588. package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.types.d.ts.map +1 -0
  589. package/dist/types/components/data-display/ScheduleGrid/ScheduleNameCell.d.ts +33 -0
  590. package/dist/types/components/data-display/ScheduleGrid/ScheduleNameCell.d.ts.map +1 -0
  591. package/dist/types/components/data-display/ScheduleGrid/drag-session.d.ts +47 -0
  592. package/dist/types/components/data-display/ScheduleGrid/drag-session.d.ts.map +1 -0
  593. package/dist/types/components/data-display/ScheduleGrid/index.d.ts +4 -0
  594. package/dist/types/components/data-display/ScheduleGrid/index.d.ts.map +1 -0
  595. package/dist/types/components/data-display/ScheduleGrid/schedule-grid-model.d.ts +18 -0
  596. package/dist/types/components/data-display/ScheduleGrid/schedule-grid-model.d.ts.map +1 -0
  597. package/dist/types/components/data-display/ScheduleGrid/schedule-name.styles.d.ts +16 -0
  598. package/dist/types/components/data-display/ScheduleGrid/schedule-name.styles.d.ts.map +1 -0
  599. package/dist/types/components/data-display/ScheduleGrid/schedule-tones.d.ts +32 -0
  600. package/dist/types/components/data-display/ScheduleGrid/schedule-tones.d.ts.map +1 -0
  601. package/dist/types/components/data-display/ScheduleGrid/useAnnouncer.d.ts +13 -0
  602. package/dist/types/components/data-display/ScheduleGrid/useAnnouncer.d.ts.map +1 -0
  603. package/dist/types/components/data-display/ScheduleGrid/useGridDrag.d.ts +56 -0
  604. package/dist/types/components/data-display/ScheduleGrid/useGridDrag.d.ts.map +1 -0
  605. package/dist/types/components/data-display/ScheduleGrid/useSidewaysScroll.d.ts +26 -0
  606. package/dist/types/components/data-display/ScheduleGrid/useSidewaysScroll.d.ts.map +1 -0
  607. package/dist/types/components/data-display/index.d.ts +2 -0
  608. package/dist/types/components/data-display/index.d.ts.map +1 -1
  609. package/dist/types/components/feedback/SequenceResolver/SequenceResolver.d.ts.map +1 -1
  610. package/dist/types/components/feedback/SequenceResolver/SequenceResolver.header.d.ts +33 -0
  611. package/dist/types/components/feedback/SequenceResolver/SequenceResolver.header.d.ts.map +1 -0
  612. package/dist/types/components/feedback/SequenceResolver/SequenceResolver.header.styles.d.ts +17 -0
  613. package/dist/types/components/feedback/SequenceResolver/SequenceResolver.header.styles.d.ts.map +1 -0
  614. package/dist/types/components/feedback/SequenceResolver/SequenceResolver.metrics.d.ts +12 -0
  615. package/dist/types/components/feedback/SequenceResolver/SequenceResolver.metrics.d.ts.map +1 -1
  616. package/dist/types/components/feedback/SequenceResolver/SequenceResolver.overview.d.ts +22 -0
  617. package/dist/types/components/feedback/SequenceResolver/SequenceResolver.overview.d.ts.map +1 -0
  618. package/dist/types/components/feedback/SequenceResolver/SequenceResolver.parts.d.ts +6 -18
  619. package/dist/types/components/feedback/SequenceResolver/SequenceResolver.parts.d.ts.map +1 -1
  620. package/dist/types/components/feedback/SequenceResolver/SequenceResolver.styles.d.ts +17 -0
  621. package/dist/types/components/feedback/SequenceResolver/SequenceResolver.styles.d.ts.map +1 -1
  622. package/dist/types/components/feedback/SequenceResolver/SequenceResolver.types.d.ts +56 -1
  623. package/dist/types/components/feedback/SequenceResolver/SequenceResolver.types.d.ts.map +1 -1
  624. package/dist/types/components/feedback/SequenceResolver/index.d.ts +1 -1
  625. package/dist/types/components/feedback/SequenceResolver/index.d.ts.map +1 -1
  626. package/dist/types/components/feedback/SequenceResolver/sequence-model.d.ts +27 -3
  627. package/dist/types/components/feedback/SequenceResolver/sequence-model.d.ts.map +1 -1
  628. package/dist/types/components/feedback/SequenceResolver/useSequenceRun.d.ts +9 -0
  629. package/dist/types/components/feedback/SequenceResolver/useSequenceRun.d.ts.map +1 -1
  630. package/dist/types/copy/labels.d.ts +34 -0
  631. package/dist/types/copy/labels.d.ts.map +1 -1
  632. package/dist/types/en-US.labels.d.ts.map +1 -1
  633. package/dist/types/pt-BR.labels.d.ts.map +1 -1
  634. package/dist/types-native/copy/labels.d.ts +34 -0
  635. package/dist/types-native/copy/labels.d.ts.map +1 -1
  636. package/dist/types-native/en-US.labels.d.ts.map +1 -1
  637. package/dist/typography/Code.js +2 -2
  638. package/dist/user-avatar.js +7 -7
  639. package/dist/utility/AnimatedIcon.js +2 -2
  640. package/dist/utility/InfiniteScroll.js +3 -3
  641. package/dist/utility/InstallPrompt.js +2 -2
  642. package/dist/utility/WorkflowStep.js +6 -6
  643. package/package.json +9 -1
  644. package/src/components/data-display/DayRuler/DayRuler.keyboard.ts +94 -0
  645. package/src/components/data-display/DayRuler/DayRuler.md +84 -0
  646. package/src/components/data-display/DayRuler/DayRuler.metrics.ts +47 -0
  647. package/src/components/data-display/DayRuler/DayRuler.parts.tsx +272 -0
  648. package/src/components/data-display/DayRuler/DayRuler.styles.ts +288 -0
  649. package/src/components/data-display/DayRuler/DayRuler.tsx +130 -0
  650. package/src/components/data-display/DayRuler/DayRuler.types.ts +107 -0
  651. package/src/components/data-display/DayRuler/day-ruler-model.ts +83 -0
  652. package/src/components/data-display/DayRuler/index.ts +9 -0
  653. package/src/components/data-display/DayRuler/useRulerDrag.ts +167 -0
  654. package/src/components/data-display/DayRuler/useTextFits.ts +41 -0
  655. package/src/components/data-display/ScheduleGrid/ScheduleGrid.keyboard.ts +138 -0
  656. package/src/components/data-display/ScheduleGrid/ScheduleGrid.md +140 -0
  657. package/src/components/data-display/ScheduleGrid/ScheduleGrid.metrics.ts +75 -0
  658. package/src/components/data-display/ScheduleGrid/ScheduleGrid.parts.tsx +357 -0
  659. package/src/components/data-display/ScheduleGrid/ScheduleGrid.styles.ts +386 -0
  660. package/src/components/data-display/ScheduleGrid/ScheduleGrid.tsx +142 -0
  661. package/src/components/data-display/ScheduleGrid/ScheduleGrid.types.ts +144 -0
  662. package/src/components/data-display/ScheduleGrid/ScheduleNameCell.tsx +66 -0
  663. package/src/components/data-display/ScheduleGrid/drag-session.ts +120 -0
  664. package/src/components/data-display/ScheduleGrid/index.ts +12 -0
  665. package/src/components/data-display/ScheduleGrid/schedule-grid-model.ts +39 -0
  666. package/src/components/data-display/ScheduleGrid/schedule-name.styles.ts +96 -0
  667. package/src/components/data-display/ScheduleGrid/schedule-tones.ts +126 -0
  668. package/src/components/data-display/ScheduleGrid/useAnnouncer.ts +32 -0
  669. package/src/components/data-display/ScheduleGrid/useGridDrag.ts +137 -0
  670. package/src/components/data-display/ScheduleGrid/useSidewaysScroll.ts +126 -0
  671. package/src/components/data-display/index.ts +2 -0
  672. package/src/components/feedback/SequenceResolver/SequenceResolver.header.styles.ts +65 -0
  673. package/src/components/feedback/SequenceResolver/SequenceResolver.header.tsx +153 -0
  674. package/src/components/feedback/SequenceResolver/SequenceResolver.md +43 -2
  675. package/src/components/feedback/SequenceResolver/SequenceResolver.metrics.ts +12 -0
  676. package/src/components/feedback/SequenceResolver/SequenceResolver.overview.tsx +74 -0
  677. package/src/components/feedback/SequenceResolver/SequenceResolver.parts.tsx +37 -83
  678. package/src/components/feedback/SequenceResolver/SequenceResolver.styles.ts +47 -0
  679. package/src/components/feedback/SequenceResolver/SequenceResolver.tsx +152 -35
  680. package/src/components/feedback/SequenceResolver/SequenceResolver.types.ts +58 -1
  681. package/src/components/feedback/SequenceResolver/index.ts +2 -0
  682. package/src/components/feedback/SequenceResolver/sequence-model.ts +66 -5
  683. package/src/components/feedback/SequenceResolver/useSequenceRun.ts +28 -10
  684. package/src/copy/labels.ts +36 -0
  685. package/src/en-US.labels.ts +17 -0
  686. package/src/pt-BR.labels.ts +17 -0
  687. package/dist/chunk-3LUT2C5M.js.map +0 -1
  688. package/dist/chunk-5UBP2DJ4.js.map +0 -1
  689. package/dist/chunk-ABRUOINB.js +0 -1
  690. package/dist/chunk-HHPFWEJY.js.map +0 -1
  691. package/dist/chunk-OFESNJKE.js.map +0 -1
  692. package/dist/chunk-PXEIN3J4.js +0 -162
  693. package/dist/chunk-PXEIN3J4.js.map +0 -1
  694. package/dist/chunk-XOXXG7Q5.js.map +0 -1
  695. package/dist/native/chunks/chunk-QHW7JEPZ.js.map +0 -1
  696. /package/dist/{chunk-ABRUOINB.js.map → _internal/components/data-display/DayRuler/DayRuler.js.map} +0 -0
  697. /package/dist/{chunk-X4N6Q37Q.js.map → chunk-2CRNOJGL.js.map} +0 -0
  698. /package/dist/{chunk-L5KPBMMF.js.map → chunk-2ENMRK3U.js.map} +0 -0
  699. /package/dist/{chunk-K7IDOTSU.js.map → chunk-2KBATUOZ.js.map} +0 -0
  700. /package/dist/{chunk-VKTF3GAP.js.map → chunk-2MYSXWZQ.js.map} +0 -0
  701. /package/dist/{chunk-7QKFMMWK.js.map → chunk-2Q2DUGH7.js.map} +0 -0
  702. /package/dist/{chunk-VQ6V5TO7.js.map → chunk-2UNZG4JK.js.map} +0 -0
  703. /package/dist/{chunk-5VKHJ7PI.js.map → chunk-3B4NXP4N.js.map} +0 -0
  704. /package/dist/{chunk-HC6OZ7QK.js.map → chunk-3EIRRLCQ.js.map} +0 -0
  705. /package/dist/{chunk-MSJP2AEN.js.map → chunk-3EKY63LD.js.map} +0 -0
  706. /package/dist/{chunk-LH43GKP2.js.map → chunk-3KMP2F4R.js.map} +0 -0
  707. /package/dist/{chunk-D3W5A4N6.js.map → chunk-3STNOYYO.js.map} +0 -0
  708. /package/dist/{chunk-TVDHA7BT.js.map → chunk-3Y6NO5XL.js.map} +0 -0
  709. /package/dist/{chunk-ABQZFK7M.js.map → chunk-44PBCQ7E.js.map} +0 -0
  710. /package/dist/{chunk-PGHSNG33.js.map → chunk-4PZZJ2AE.js.map} +0 -0
  711. /package/dist/{chunk-TRAMTVIO.js.map → chunk-4QTPERAY.js.map} +0 -0
  712. /package/dist/{chunk-W2RXXF7K.js.map → chunk-4XBAEKQQ.js.map} +0 -0
  713. /package/dist/{chunk-XCUHGPPZ.js.map → chunk-55PFFAAY.js.map} +0 -0
  714. /package/dist/{chunk-LYVTJLCF.js.map → chunk-56JF5PZK.js.map} +0 -0
  715. /package/dist/{chunk-5C3JSXBK.js.map → chunk-5BVAUUWL.js.map} +0 -0
  716. /package/dist/{chunk-6OISIUZM.js.map → chunk-5F7HYYGM.js.map} +0 -0
  717. /package/dist/{chunk-JHW35C6W.js.map → chunk-5QUH53HV.js.map} +0 -0
  718. /package/dist/{chunk-DAFFZED3.js.map → chunk-5YVMFK7Y.js.map} +0 -0
  719. /package/dist/{chunk-TI4FGQYV.js.map → chunk-62PTREG5.js.map} +0 -0
  720. /package/dist/{chunk-3DPPDGOF.js.map → chunk-62SXUU5U.js.map} +0 -0
  721. /package/dist/{chunk-3JZ3KEQQ.js.map → chunk-6ATXOJVQ.js.map} +0 -0
  722. /package/dist/{chunk-7W5X3KQ2.js.map → chunk-6BQ3YKLD.js.map} +0 -0
  723. /package/dist/{chunk-VPH3TENY.js.map → chunk-6DGNMASB.js.map} +0 -0
  724. /package/dist/{chunk-NOF2FF4K.js.map → chunk-7CPLKAL6.js.map} +0 -0
  725. /package/dist/{chunk-DVX4HDNP.js.map → chunk-7IBFGOLF.js.map} +0 -0
  726. /package/dist/{chunk-EOQ6EKTS.js.map → chunk-7XSCEHGA.js.map} +0 -0
  727. /package/dist/{chunk-QCYQL3ST.js.map → chunk-7XUQJJPK.js.map} +0 -0
  728. /package/dist/{chunk-7VUXSNVZ.js.map → chunk-A4B27HYU.js.map} +0 -0
  729. /package/dist/{chunk-42D7KBDH.js.map → chunk-AD6GRJFV.js.map} +0 -0
  730. /package/dist/{chunk-CAOL4AIB.js.map → chunk-AEAVVKGY.js.map} +0 -0
  731. /package/dist/{chunk-M3XJVD5G.js.map → chunk-AMLHEKSV.js.map} +0 -0
  732. /package/dist/{chunk-E5QOT7KK.js.map → chunk-AN37BIIO.js.map} +0 -0
  733. /package/dist/{chunk-ABVIMFSD.js.map → chunk-AWUB3T7C.js.map} +0 -0
  734. /package/dist/{chunk-ALOEOGQV.js.map → chunk-AXGQB24R.js.map} +0 -0
  735. /package/dist/{chunk-Q4QFYGPH.js.map → chunk-B5SBDLRS.js.map} +0 -0
  736. /package/dist/{chunk-G4W6HR6Q.js.map → chunk-B7GGLFJB.js.map} +0 -0
  737. /package/dist/{chunk-C347NNZJ.js.map → chunk-B7ZAEZJW.js.map} +0 -0
  738. /package/dist/{chunk-GANJRIT3.js.map → chunk-C3MXURP3.js.map} +0 -0
  739. /package/dist/{chunk-4QR7LM5F.js.map → chunk-CTN4BRAH.js.map} +0 -0
  740. /package/dist/{chunk-ZANWHTXH.js.map → chunk-CVB26LLB.js.map} +0 -0
  741. /package/dist/{chunk-JH2XLVWM.js.map → chunk-CW5Z67NA.js.map} +0 -0
  742. /package/dist/{chunk-CY4XIZNW.js.map → chunk-D3B4V44W.js.map} +0 -0
  743. /package/dist/{chunk-BAC2PBOS.js.map → chunk-D3SIZ2CX.js.map} +0 -0
  744. /package/dist/{chunk-QN7FVZQD.js.map → chunk-DHAXUVMR.js.map} +0 -0
  745. /package/dist/{chunk-YGLAGY74.js.map → chunk-DM57YWZH.js.map} +0 -0
  746. /package/dist/{chunk-NASLJO2R.js.map → chunk-DRJGHTQU.js.map} +0 -0
  747. /package/dist/{chunk-BLZDSCIZ.js.map → chunk-DYHOBKPU.js.map} +0 -0
  748. /package/dist/{chunk-6HXNFNOB.js.map → chunk-EE6DJPB7.js.map} +0 -0
  749. /package/dist/{chunk-ANUO67JQ.js.map → chunk-EIMFA7KP.js.map} +0 -0
  750. /package/dist/{chunk-AKE6KVQG.js.map → chunk-EVIQUBC6.js.map} +0 -0
  751. /package/dist/{chunk-6X7PE5DH.js.map → chunk-EXKEPOL7.js.map} +0 -0
  752. /package/dist/{chunk-LIN4A2BW.js.map → chunk-FKS2PNJF.js.map} +0 -0
  753. /package/dist/{chunk-ZYZPSBNQ.js.map → chunk-G3G5W4OF.js.map} +0 -0
  754. /package/dist/{chunk-J2KVF5GO.js.map → chunk-GBB23QLL.js.map} +0 -0
  755. /package/dist/{chunk-KTXJQ4YJ.js.map → chunk-GBVNY2LG.js.map} +0 -0
  756. /package/dist/{chunk-CJLZHW2Z.js.map → chunk-GCR6VE5S.js.map} +0 -0
  757. /package/dist/{chunk-APSEM5AA.js.map → chunk-GS3QDXDP.js.map} +0 -0
  758. /package/dist/{chunk-6IRZZYHF.js.map → chunk-H5R2EZYI.js.map} +0 -0
  759. /package/dist/{chunk-WLSFBXGS.js.map → chunk-HED2CZDZ.js.map} +0 -0
  760. /package/dist/{chunk-JVOEVTCZ.js.map → chunk-HQCZT6TO.js.map} +0 -0
  761. /package/dist/{chunk-NKEFH3RS.js.map → chunk-HWJ3FLZY.js.map} +0 -0
  762. /package/dist/{chunk-42TOCPXB.js.map → chunk-I5SIHPOG.js.map} +0 -0
  763. /package/dist/{chunk-K6FCSB6T.js.map → chunk-I62SKY4E.js.map} +0 -0
  764. /package/dist/{chunk-GOQOVKUZ.js.map → chunk-I6CP3ZTP.js.map} +0 -0
  765. /package/dist/{chunk-UFGT2SFD.js.map → chunk-ICHM2LQA.js.map} +0 -0
  766. /package/dist/{chunk-5IMI2XNU.js.map → chunk-IMMPY4Q7.js.map} +0 -0
  767. /package/dist/{chunk-437HQPUN.js.map → chunk-IQ5MBELJ.js.map} +0 -0
  768. /package/dist/{chunk-FRUDRDJX.js.map → chunk-IZ7JTG3Z.js.map} +0 -0
  769. /package/dist/{chunk-5ZOJLYD2.js.map → chunk-JE6RZ5L6.js.map} +0 -0
  770. /package/dist/{chunk-KF3Q3C3P.js.map → chunk-JJFLCEJJ.js.map} +0 -0
  771. /package/dist/{chunk-IWMAFTXP.js.map → chunk-K2VDRODL.js.map} +0 -0
  772. /package/dist/{chunk-CFDWKQZT.js.map → chunk-KILA7LCC.js.map} +0 -0
  773. /package/dist/{chunk-IMYKJTVX.js.map → chunk-KLLHCPA2.js.map} +0 -0
  774. /package/dist/{chunk-FORQEHRQ.js.map → chunk-L5GZZUTY.js.map} +0 -0
  775. /package/dist/{chunk-N557OEZR.js.map → chunk-L62HC3UB.js.map} +0 -0
  776. /package/dist/{chunk-2IHUFUTO.js.map → chunk-LR56OANO.js.map} +0 -0
  777. /package/dist/{chunk-EAFZ3RDY.js.map → chunk-LSGZLFKX.js.map} +0 -0
  778. /package/dist/{chunk-W5WYTVLS.js.map → chunk-LY5I3ZSV.js.map} +0 -0
  779. /package/dist/{chunk-T77OVQEO.js.map → chunk-LZKS3NER.js.map} +0 -0
  780. /package/dist/{chunk-ZAPP32GD.js.map → chunk-M7HYNXCU.js.map} +0 -0
  781. /package/dist/{chunk-D34PZJH3.js.map → chunk-MBMZNSBP.js.map} +0 -0
  782. /package/dist/{chunk-HUXAIQC5.js.map → chunk-MJDSXQV7.js.map} +0 -0
  783. /package/dist/{chunk-PEVBSNCD.js.map → chunk-MLAIXRVL.js.map} +0 -0
  784. /package/dist/{chunk-5U7LBO2V.js.map → chunk-MUHRPJQT.js.map} +0 -0
  785. /package/dist/{chunk-COK65GX2.js.map → chunk-N2KHISGH.js.map} +0 -0
  786. /package/dist/{chunk-UQ5GJPVZ.js.map → chunk-N3C4J6Z2.js.map} +0 -0
  787. /package/dist/{chunk-PGANINQD.js.map → chunk-NI67M453.js.map} +0 -0
  788. /package/dist/{chunk-P4Q7JK4L.js.map → chunk-NQ6P7O7C.js.map} +0 -0
  789. /package/dist/{chunk-QVDEGBME.js.map → chunk-NQCTANF3.js.map} +0 -0
  790. /package/dist/{chunk-AQPPSR4P.js.map → chunk-NQUYBJKJ.js.map} +0 -0
  791. /package/dist/{chunk-LOHQLARB.js.map → chunk-NTCWIMIU.js.map} +0 -0
  792. /package/dist/{chunk-Q4GAPZDA.js.map → chunk-O2MR6U7Q.js.map} +0 -0
  793. /package/dist/{chunk-2FQF4CNE.js.map → chunk-OPP6USJC.js.map} +0 -0
  794. /package/dist/{chunk-HNEZWVDR.js.map → chunk-P5C4DTO4.js.map} +0 -0
  795. /package/dist/{chunk-6EZQLNPK.js.map → chunk-PGJIWCQR.js.map} +0 -0
  796. /package/dist/{chunk-PJNIJIE6.js.map → chunk-RCTHCXS6.js.map} +0 -0
  797. /package/dist/{chunk-YBAK2WN5.js.map → chunk-RFMQBIE6.js.map} +0 -0
  798. /package/dist/{chunk-EYFDIUVR.js.map → chunk-RZTUMBRD.js.map} +0 -0
  799. /package/dist/{chunk-SGFRSRAL.js.map → chunk-S5VIN3EB.js.map} +0 -0
  800. /package/dist/{chunk-QHIWV55K.js.map → chunk-SB2SEGR6.js.map} +0 -0
  801. /package/dist/{chunk-5CP6VW5H.js.map → chunk-SFNVAM7I.js.map} +0 -0
  802. /package/dist/{chunk-HOPRZEBM.js.map → chunk-SKIAWOUC.js.map} +0 -0
  803. /package/dist/{chunk-KES3HNSU.js.map → chunk-T7NEXLW6.js.map} +0 -0
  804. /package/dist/{chunk-EWFBDAB7.js.map → chunk-TOLCZ4XT.js.map} +0 -0
  805. /package/dist/{chunk-HBH7V3IP.js.map → chunk-TOOEEQ46.js.map} +0 -0
  806. /package/dist/{chunk-L7HNQRFS.js.map → chunk-TSID4257.js.map} +0 -0
  807. /package/dist/{chunk-5CP5Z3YU.js.map → chunk-TYGVNTUP.js.map} +0 -0
  808. /package/dist/{chunk-JG733RMP.js.map → chunk-TZC6KIK2.js.map} +0 -0
  809. /package/dist/{chunk-XS6QHZMD.js.map → chunk-UBMH5MED.js.map} +0 -0
  810. /package/dist/{chunk-UXOFA3ZP.js.map → chunk-UNCDOLF5.js.map} +0 -0
  811. /package/dist/{chunk-UYKIUUWP.js.map → chunk-V2QTL6VI.js.map} +0 -0
  812. /package/dist/{chunk-6GICMRDX.js.map → chunk-VMTOLAZ5.js.map} +0 -0
  813. /package/dist/{chunk-4QGMUHAU.js.map → chunk-VQ7YNAK2.js.map} +0 -0
  814. /package/dist/{chunk-B32XH7NK.js.map → chunk-WHOD6LVN.js.map} +0 -0
  815. /package/dist/{chunk-X3EEV3OI.js.map → chunk-WLC56R2I.js.map} +0 -0
  816. /package/dist/{chunk-X4J576GR.js.map → chunk-WTACWJSF.js.map} +0 -0
  817. /package/dist/{chunk-5S5K73I6.js.map → chunk-WUBMJSBR.js.map} +0 -0
  818. /package/dist/{chunk-TSEBMVYY.js.map → chunk-X2GWR75Q.js.map} +0 -0
  819. /package/dist/{chunk-2VRJ577J.js.map → chunk-X3EB67O2.js.map} +0 -0
  820. /package/dist/{chunk-PQGHYFUA.js.map → chunk-XALFZ25A.js.map} +0 -0
  821. /package/dist/{chunk-BNBWUXT3.js.map → chunk-XEKJ7L7I.js.map} +0 -0
  822. /package/dist/{chunk-YPW4HZ3Z.js.map → chunk-XHIBFBNP.js.map} +0 -0
  823. /package/dist/{chunk-QAH3XILB.js.map → chunk-XNIHDUOP.js.map} +0 -0
  824. /package/dist/{chunk-DILDC77M.js.map → chunk-XRVXQJNB.js.map} +0 -0
  825. /package/dist/{chunk-K6WY2CHG.js.map → chunk-XZFTRGRW.js.map} +0 -0
  826. /package/dist/{chunk-LLPPIO3K.js.map → chunk-Y4ZWPOUV.js.map} +0 -0
  827. /package/dist/{chunk-C4NSEUT5.js.map → chunk-Y6IIWGZB.js.map} +0 -0
  828. /package/dist/{chunk-TLJVUWJ5.js.map → chunk-YAQE7QVC.js.map} +0 -0
  829. /package/dist/{chunk-4OUJ4ZMK.js.map → chunk-YDIC6LSP.js.map} +0 -0
  830. /package/dist/{chunk-PVIQDBUN.js.map → chunk-YFG6XXBB.js.map} +0 -0
  831. /package/dist/{chunk-UBVKMM3V.js.map → chunk-YGQ2DLIM.js.map} +0 -0
  832. /package/dist/{chunk-T5RFH2T5.js.map → chunk-YKONJEI4.js.map} +0 -0
  833. /package/dist/{chunk-ZIHSCBMN.js.map → chunk-YLZXIR6B.js.map} +0 -0
  834. /package/dist/{chunk-A3DDEKLV.js.map → chunk-YNZUYZ2O.js.map} +0 -0
  835. /package/dist/{chunk-YNVTUQ5B.js.map → chunk-YWBPASB2.js.map} +0 -0
  836. /package/dist/{chunk-G3JFESKD.js.map → chunk-Z5WUSI47.js.map} +0 -0
  837. /package/dist/{chunk-IX5ADKII.js.map → chunk-Z7CBLQQR.js.map} +0 -0
  838. /package/dist/{chunk-7WE432RQ.js.map → chunk-ZCNR4DN5.js.map} +0 -0
  839. /package/dist/{chunk-JRBSTOMA.js.map → chunk-ZDAAHCIS.js.map} +0 -0
  840. /package/dist/{chunk-2SBQ47RI.js.map → chunk-ZF2LZVDO.js.map} +0 -0
  841. /package/dist/{chunk-4IG73U2X.js.map → chunk-ZIA774ZW.js.map} +0 -0
  842. /package/dist/{chunk-E5OBAS3U.js.map → chunk-ZLIES3XR.js.map} +0 -0
  843. /package/dist/native/chunks/{chunk-FXA5DLKR.js.map → chunk-4G634E3Q.js.map} +0 -0
  844. /package/dist/native/chunks/{chunk-IN3XZ7EK.js.map → chunk-WLG3KT2V.js.map} +0 -0
@@ -0,0 +1,208 @@
1
+ import {
2
+ actionsSx,
3
+ actualLabelSx,
4
+ actualSx,
5
+ axisSx,
6
+ blockSx,
7
+ breakSx,
8
+ coverageCellSx,
9
+ coverageLabelSx,
10
+ coverageSx,
11
+ handleSx,
12
+ lineSx,
13
+ nowSx,
14
+ rowSx,
15
+ trackSx,
16
+ whoSx
17
+ } from "./chunk-EEK2NK4W.js";
18
+ import {
19
+ formatHour,
20
+ formatRange,
21
+ percentOf,
22
+ ticksOf
23
+ } from "./chunk-LE5JYNR7.js";
24
+ import {
25
+ DAY_RULER_METRICS
26
+ } from "./chunk-7ZQ3KQ7J.js";
27
+ import {
28
+ useTextFits
29
+ } from "./chunk-YMYJO2CZ.js";
30
+ import {
31
+ ScheduleNameCell
32
+ } from "./chunk-AC7K7IJE.js";
33
+
34
+ // src/components/data-display/DayRuler/DayRuler.parts.tsx
35
+ import Box from "@mui/material/Box/index.js";
36
+ import { useRef } from "react";
37
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
38
+ var spanOf = (start, end, scale) => {
39
+ const at = percentOf(start, scale.from, scale.to);
40
+ return { at, share: Math.max(0, percentOf(end, scale.from, scale.to) - at) };
41
+ };
42
+ function shortcutsOf(movable, resizable) {
43
+ const keys = [
44
+ movable ? "Alt+ArrowLeft Alt+ArrowRight" : "",
45
+ resizable ? "Shift+ArrowLeft Shift+ArrowRight Shift+Alt+ArrowLeft Shift+Alt+ArrowRight" : ""
46
+ ];
47
+ return keys.filter(Boolean).join(" ") || void 0;
48
+ }
49
+ function Handle({ side, onPointerDown, testId }) {
50
+ return /* @__PURE__ */ jsx(Box, { component: "span", "aria-hidden": true, sx: handleSx(side), "data-testid": testId, onPointerDown });
51
+ }
52
+ function breakShare(block, start, end) {
53
+ const span = block.breakSpan;
54
+ const length = end - start;
55
+ if (!span || !(length > 0)) return null;
56
+ const shift = Math.abs(length - (block.end - block.start)) < 1e-6 ? start - block.start : 0;
57
+ const a = Math.max(start, span.start + shift);
58
+ const b = Math.min(end, span.end + shift);
59
+ if (!(b > a)) return null;
60
+ return { at: (a - start) / length * 100, share: (b - a) / length * 100 };
61
+ }
62
+ function BreakBand({ block, at, testId }) {
63
+ const gap = breakShare(block, at.start, at.end);
64
+ if (!gap) return null;
65
+ return /* @__PURE__ */ jsx(Box, { component: "span", "aria-hidden": true, sx: breakSx(gap), "data-dr-break": "", "data-testid": testId });
66
+ }
67
+ function RulerBlock({ row, block, span, at, text, ctx, testId }) {
68
+ const { can, dragApi, scale } = ctx;
69
+ const movable = can.move && Boolean(block.movable);
70
+ const resizable = can.resize && Boolean(block.resizable);
71
+ const ref = useRef(null);
72
+ const fits = useTextFits(ref, text, (block.end - block.start) / (scale.to - scale.from) >= DAY_RULER_METRICS.narrowShare);
73
+ const press = (mode) => (event) => dragApi.startBlock(event, row.id, block, mode);
74
+ return /* @__PURE__ */ jsxs(
75
+ Box,
76
+ {
77
+ component: "button",
78
+ type: "button",
79
+ sx: blockSx(block.tone, span, { selected: Boolean(block.selected), movable }),
80
+ title: block.title ?? block.label,
81
+ "aria-keyshortcuts": shortcutsOf(movable, resizable),
82
+ "aria-current": block.selected ? "true" : void 0,
83
+ ref,
84
+ "data-narrow": fits ? void 0 : "",
85
+ "data-tone": block.tone,
86
+ "data-testid": testId,
87
+ onPointerDown: movable ? press("move") : void 0,
88
+ onClick: () => {
89
+ if (!dragApi.takeClick()) ctx.onBlockClick?.(block.id);
90
+ },
91
+ onKeyDown: (event) => ctx.onBlockKey(event, block),
92
+ children: [
93
+ /* @__PURE__ */ jsx(BreakBand, { block, at, testId: `${ctx.testId}-break-${block.id}` }),
94
+ resizable ? /* @__PURE__ */ jsx(Handle, { side: "l", onPointerDown: press("start"), testId: `${ctx.testId}-handle-l-${block.id}` }) : null,
95
+ /* @__PURE__ */ jsx("span", { "data-dr-text": "full", title: text, children: text }),
96
+ /* @__PURE__ */ jsx("span", { "data-dr-text": "short", title: text, children: block.shortLabel ?? text }),
97
+ resizable ? /* @__PURE__ */ jsx(Handle, { side: "r", onPointerDown: press("end"), testId: `${ctx.testId}-handle-r-${block.id}` }) : null
98
+ ]
99
+ }
100
+ );
101
+ }
102
+ function Blocks({ row, ctx }) {
103
+ const mine = ctx.drag && ctx.drag.rowId === row.id ? ctx.drag : null;
104
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
105
+ row.blocks.map((block) => {
106
+ const live = mine?.blockId === block.id ? mine : null;
107
+ const start = live ? live.start : block.start;
108
+ const end = live ? live.end : block.end;
109
+ return /* @__PURE__ */ jsx(
110
+ RulerBlock,
111
+ {
112
+ row,
113
+ block,
114
+ span: spanOf(start, end, ctx.scale),
115
+ at: { start, end },
116
+ text: live?.moved ? formatRange(start, end) : block.label,
117
+ ctx,
118
+ testId: `${ctx.testId}-block-${block.id}`
119
+ },
120
+ block.id
121
+ );
122
+ }),
123
+ mine && mine.mode === "create" ? /* @__PURE__ */ jsx(CreatePreview, { row, drag: mine, ctx }) : null
124
+ ] });
125
+ }
126
+ function CreatePreview({ row, drag, ctx }) {
127
+ const range = formatRange(drag.start, drag.end);
128
+ return /* @__PURE__ */ jsx(
129
+ RulerBlock,
130
+ {
131
+ row,
132
+ block: { id: "\0new", start: drag.start, end: drag.end, label: range, tone: "plan" },
133
+ span: spanOf(drag.start, Math.max(drag.end, drag.start + ctx.scale.snap), ctx.scale),
134
+ at: { start: drag.start, end: drag.end },
135
+ text: range,
136
+ ctx,
137
+ testId: `${ctx.testId}-preview`
138
+ }
139
+ );
140
+ }
141
+ function Actual({ row, ctx }) {
142
+ const { actual } = row;
143
+ if (!actual) return null;
144
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
145
+ /* @__PURE__ */ jsx(Box, { sx: actualSx(spanOf(actual.start, actual.end, ctx.scale)), "data-testid": `${ctx.testId}-actual-${row.id}` }),
146
+ row.actualLabel ? /* @__PURE__ */ jsx(Box, { component: "span", sx: actualLabelSx(percentOf(actual.start, ctx.scale.from, ctx.scale.to)), children: row.actualLabel }) : null
147
+ ] });
148
+ }
149
+ function Track({ row, ctx }) {
150
+ const { scale, now, can, dragApi } = ctx;
151
+ const showNow = now !== void 0 && now >= scale.from && now <= scale.to;
152
+ return /* @__PURE__ */ jsxs(
153
+ Box,
154
+ {
155
+ sx: trackSx({ hours: scale.to - scale.from, tickHours: scale.tickHours, interactive: can.create }),
156
+ "data-dr-track": "",
157
+ "data-testid": `${ctx.testId}-track-${row.id}`,
158
+ role: can.create ? "group" : void 0,
159
+ tabIndex: can.create ? 0 : void 0,
160
+ "aria-label": can.create ? ctx.createLabel(row.label) : void 0,
161
+ onPointerDown: can.create ? (event) => dragApi.startCreate(event, row.id) : void 0,
162
+ onKeyDown: (event) => {
163
+ if (!can.create || event.target !== event.currentTarget || event.key !== "Enter" && event.key !== " ") return;
164
+ event.preventDefault();
165
+ ctx.onKeyCreate(row);
166
+ },
167
+ children: [
168
+ /* @__PURE__ */ jsx(Actual, { row, ctx }),
169
+ /* @__PURE__ */ jsx(Blocks, { row, ctx }),
170
+ showNow ? /* @__PURE__ */ jsx(Box, { sx: nowSx(percentOf(now, scale.from, scale.to)), "data-testid": `${ctx.testId}-now` }) : null
171
+ ]
172
+ }
173
+ );
174
+ }
175
+ function RulerRow({ row, ctx }) {
176
+ return /* @__PURE__ */ jsxs(Box, { sx: rowSx, "data-testid": `${ctx.testId}-row-${row.id}`, role: "listitem", children: [
177
+ /* @__PURE__ */ jsx(ScheduleNameCell, { row, sx: whoSx, sizes: { name: DAY_RULER_METRICS.name, meta: DAY_RULER_METRICS.meta, chipsTop: 0.75 } }),
178
+ /* @__PURE__ */ jsx(Track, { row, ctx }),
179
+ /* @__PURE__ */ jsx(Box, { sx: actionsSx, children: row.actions })
180
+ ] });
181
+ }
182
+ function Coverage(props) {
183
+ const { coverage, label, scale, testId } = props;
184
+ const hours = scale.to - scale.from;
185
+ return /* @__PURE__ */ jsxs(Box, { sx: lineSx, "data-testid": `${testId}-coverage`, children: [
186
+ /* @__PURE__ */ jsx(Box, { component: "span", sx: coverageLabelSx, children: label }),
187
+ /* @__PURE__ */ jsx(Box, { sx: coverageSx(hours), children: Array.from({ length: hours }, (_, index) => {
188
+ const count = coverage[index] ?? 0;
189
+ return /* @__PURE__ */ jsx(Box, { component: "span", sx: coverageCellSx(count), title: `${formatHour(scale.from + index)} \xB7 ${count}`, children: count > 0 ? count : "" }, index);
190
+ }) }),
191
+ /* @__PURE__ */ jsx("span", {})
192
+ ] });
193
+ }
194
+ function Axis({ scale, testId }) {
195
+ return /* @__PURE__ */ jsxs(Box, { sx: lineSx, "data-testid": `${testId}-axis`, "aria-hidden": true, children: [
196
+ /* @__PURE__ */ jsx("span", {}),
197
+ /* @__PURE__ */ jsx(Box, { sx: axisSx, children: ticksOf(scale.from, scale.to, scale.tickHours).map((h) => /* @__PURE__ */ jsx("span", { style: { left: `${percentOf(h, scale.from, scale.to)}%` }, children: formatHour(h) }, h)) }),
198
+ /* @__PURE__ */ jsx("span", {})
199
+ ] });
200
+ }
201
+
202
+ export {
203
+ spanOf,
204
+ RulerRow,
205
+ Coverage,
206
+ Axis
207
+ };
208
+ //# sourceMappingURL=chunk-IP424VZD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/DayRuler/DayRuler.parts.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport type * as React from 'react';\nimport { useRef } from 'react';\n\nimport { ScheduleNameCell } from '../ScheduleGrid/ScheduleNameCell';\nimport type { RulerAbilities, RulerScale } from './DayRuler.keyboard';\nimport { DAY_RULER_METRICS as M } from './DayRuler.metrics';\nimport { useTextFits } from './useTextFits';\nimport { formatHour, formatRange, percentOf, ticksOf } from './day-ruler-model';\nimport {\n actionsSx,\n actualLabelSx,\n actualSx,\n axisSx,\n blockSx,\n breakSx,\n coverageCellSx,\n coverageLabelSx,\n coverageSx,\n handleSx,\n lineSx,\n nowSx,\n rowSx,\n trackSx,\n whoSx,\n type Span,\n} from './DayRuler.styles';\nimport type { DayRulerBlock, DayRulerRow, RulerHour } from './DayRuler.types';\nimport type { RulerDrag, RulerDragApi } from './useRulerDrag';\n\nexport const spanOf = (start: RulerHour, end: RulerHour, scale: RulerScale): Span => {\n const at = percentOf(start, scale.from, scale.to);\n return { at, share: Math.max(0, percentOf(end, scale.from, scale.to) - at) };\n};\n\n/** What every row of one ruler shares. */\nexport interface RowContext {\n scale: RulerScale;\n now?: RulerHour;\n can: RulerAbilities;\n drag: RulerDrag | null;\n dragApi: RulerDragApi;\n onBlockClick?: (blockId: string) => void;\n onKeyCreate: (row: DayRulerRow) => void;\n onBlockKey: (event: React.KeyboardEvent, block: DayRulerBlock) => void;\n createLabel: (row: string) => string;\n testId: string;\n}\n\n/** The keys a block answers to, for `aria-keyshortcuts`. */\nfunction shortcutsOf(movable: boolean, resizable: boolean): string | undefined {\n const keys = [\n movable ? 'Alt+ArrowLeft Alt+ArrowRight' : '',\n resizable ? 'Shift+ArrowLeft Shift+ArrowRight Shift+Alt+ArrowLeft Shift+Alt+ArrowRight' : '',\n ];\n return keys.filter(Boolean).join(' ') || undefined;\n}\n\nfunction Handle({ side, onPointerDown, testId }: { side: 'l' | 'r'; onPointerDown: (event: React.PointerEvent<HTMLElement>) => void; testId: string }) {\n return <Box component=\"span\" aria-hidden sx={handleSx(side)} data-testid={testId} onPointerDown={onPointerDown} />;\n}\n\ninterface BlockProps {\n row: DayRulerRow;\n block: DayRulerBlock;\n /** Where it is drawn: its own hours, or where a drag has it now. */\n span: Span;\n /** The hours it is drawn at (its own, or a drag's). */\n at: { start: RulerHour; end: RulerHour };\n text: string;\n ctx: RowContext;\n testId: string;\n}\n\n/**\n * The block's break, where it falls inside the block as drawn: it moves with a\n * dragged block (same offset from its start) and is cut to the block's ends.\n */\nfunction breakShare(block: DayRulerBlock, start: RulerHour, end: RulerHour): Span | null {\n const span = block.breakSpan;\n const length = end - start;\n if (!span || !(length > 0)) return null;\n const shift = Math.abs(length - (block.end - block.start)) < 1e-6 ? start - block.start : 0;\n const a = Math.max(start, span.start + shift);\n const b = Math.min(end, span.end + shift);\n if (!(b > a)) return null;\n return { at: ((a - start) / length) * 100, share: ((b - a) / length) * 100 };\n}\n\n/** The block's break as a hatched band, when it falls inside the block as drawn. */\nfunction BreakBand({ block, at, testId }: { block: DayRulerBlock; at: BlockProps['at']; testId: string }): React.JSX.Element | null {\n const gap = breakShare(block, at.start, at.end);\n if (!gap) return null;\n return <Box component=\"span\" aria-hidden sx={breakSx(gap)} data-dr-break=\"\" data-testid={testId} />;\n}\n\nfunction RulerBlock({ row, block, span, at, text, ctx, testId }: BlockProps): React.JSX.Element {\n const { can, dragApi, scale } = ctx;\n const movable = can.move && Boolean(block.movable);\n const resizable = can.resize && Boolean(block.resizable);\n const ref = useRef<HTMLButtonElement | null>(null);\n // Short by pixels; where nothing can be measured, by the prototype's 30% rule.\n const fits = useTextFits(ref, text, (block.end - block.start) / (scale.to - scale.from) >= M.narrowShare);\n const press = (mode: 'move' | 'start' | 'end') => (event: React.PointerEvent<HTMLElement>) =>\n dragApi.startBlock(event, row.id, block, mode);\n return (\n <Box\n component=\"button\"\n type=\"button\"\n sx={blockSx(block.tone, span, { selected: Boolean(block.selected), movable })}\n title={block.title ?? block.label}\n aria-keyshortcuts={shortcutsOf(movable, resizable)}\n aria-current={block.selected ? 'true' : undefined}\n ref={ref}\n data-narrow={fits ? undefined : ''}\n data-tone={block.tone}\n data-testid={testId}\n onPointerDown={movable ? press('move') : undefined}\n onClick={() => {\n if (!dragApi.takeClick()) ctx.onBlockClick?.(block.id);\n }}\n onKeyDown={(event: React.KeyboardEvent) => ctx.onBlockKey(event, block)}\n >\n <BreakBand block={block} at={at} testId={`${ctx.testId}-break-${block.id}`} />\n {resizable ? <Handle side=\"l\" onPointerDown={press('start')} testId={`${ctx.testId}-handle-l-${block.id}`} /> : null}\n <span data-dr-text=\"full\" title={text}>\n {text}\n </span>\n <span data-dr-text=\"short\" title={text}>\n {block.shortLabel ?? text}\n </span>\n {resizable ? <Handle side=\"r\" onPointerDown={press('end')} testId={`${ctx.testId}-handle-r-${block.id}`} /> : null}\n </Box>\n );\n}\n\n/** A row's blocks, each where a drag has it now (with its live hours) or where it is. */\nfunction Blocks({ row, ctx }: { row: DayRulerRow; ctx: RowContext }): React.JSX.Element {\n const mine = ctx.drag && ctx.drag.rowId === row.id ? ctx.drag : null;\n return (\n <>\n {row.blocks.map((block) => {\n const live = mine?.blockId === block.id ? mine : null;\n const start = live ? live.start : block.start;\n const end = live ? live.end : block.end;\n return (\n <RulerBlock\n key={block.id}\n row={row}\n block={block}\n span={spanOf(start, end, ctx.scale)}\n at={{ start, end }}\n text={live?.moved ? formatRange(start, end) : block.label}\n ctx={ctx}\n testId={`${ctx.testId}-block-${block.id}`}\n />\n );\n })}\n {mine && mine.mode === 'create' ? <CreatePreview row={row} drag={mine} ctx={ctx} /> : null}\n </>\n );\n}\n\n/** The block a create drag is drawing, with its live hours. */\nfunction CreatePreview({ row, drag, ctx }: { row: DayRulerRow; drag: RulerDrag; ctx: RowContext }): React.JSX.Element {\n const range = formatRange(drag.start, drag.end);\n return (\n <RulerBlock\n row={row}\n block={{ id: '\\u0000new', start: drag.start, end: drag.end, label: range, tone: 'plan' }}\n span={spanOf(drag.start, Math.max(drag.end, drag.start + ctx.scale.snap), ctx.scale)}\n at={{ start: drag.start, end: drag.end }}\n text={range}\n ctx={ctx}\n testId={`${ctx.testId}-preview`}\n />\n );\n}\n\n/** The real shift under the blocks, and its label at its start. */\nfunction Actual({ row, ctx }: { row: DayRulerRow; ctx: RowContext }): React.JSX.Element | null {\n const { actual } = row;\n if (!actual) return null;\n return (\n <>\n <Box sx={actualSx(spanOf(actual.start, actual.end, ctx.scale))} data-testid={`${ctx.testId}-actual-${row.id}`} />\n {row.actualLabel ? (\n <Box component=\"span\" sx={actualLabelSx(percentOf(actual.start, ctx.scale.from, ctx.scale.to))}>\n {row.actualLabel}\n </Box>\n ) : null}\n </>\n );\n}\n\n/** A row's track: the actual bar, its blocks (or the one being dragged, live) and the now line. */\nfunction Track({ row, ctx }: { row: DayRulerRow; ctx: RowContext }): React.JSX.Element {\n const { scale, now, can, dragApi } = ctx;\n const showNow = now !== undefined && now >= scale.from && now <= scale.to;\n return (\n <Box\n sx={trackSx({ hours: scale.to - scale.from, tickHours: scale.tickHours, interactive: can.create })}\n data-dr-track=\"\"\n data-testid={`${ctx.testId}-track-${row.id}`}\n role={can.create ? 'group' : undefined}\n tabIndex={can.create ? 0 : undefined}\n aria-label={can.create ? ctx.createLabel(row.label) : undefined}\n onPointerDown={can.create ? (event: React.PointerEvent<HTMLElement>) => dragApi.startCreate(event, row.id) : undefined}\n onKeyDown={(event: React.KeyboardEvent) => {\n if (!can.create || event.target !== event.currentTarget || (event.key !== 'Enter' && event.key !== ' ')) return;\n event.preventDefault();\n ctx.onKeyCreate(row);\n }}\n >\n <Actual row={row} ctx={ctx} />\n <Blocks row={row} ctx={ctx} />\n {showNow ? <Box sx={nowSx(percentOf(now, scale.from, scale.to))} data-testid={`${ctx.testId}-now`} /> : null}\n </Box>\n );\n}\n\n/** One person: name, meta and chips · the track · the row's actions. */\nexport function RulerRow({ row, ctx }: { row: DayRulerRow; ctx: RowContext }): React.JSX.Element {\n return (\n <Box sx={rowSx} data-testid={`${ctx.testId}-row-${row.id}`} role=\"listitem\">\n <ScheduleNameCell row={row} sx={whoSx} sizes={{ name: M.name, meta: M.meta, chipsTop: 0.75 }} />\n <Track row={row} ctx={ctx} />\n <Box sx={actionsSx}>{row.actions}</Box>\n </Box>\n );\n}\n\n/** \"Na escala, por hora\": a count per hour above the axis. */\nexport function Coverage(props: { coverage: readonly number[]; label?: string; scale: RulerScale; testId: string }): React.JSX.Element {\n const { coverage, label, scale, testId } = props;\n const hours = scale.to - scale.from;\n return (\n <Box sx={lineSx} data-testid={`${testId}-coverage`}>\n <Box component=\"span\" sx={coverageLabelSx}>\n {label}\n </Box>\n <Box sx={coverageSx(hours)}>\n {Array.from({ length: hours }, (_, index) => {\n const count = coverage[index] ?? 0;\n return (\n <Box key={index} component=\"span\" sx={coverageCellSx(count)} title={`${formatHour(scale.from + index)} · ${count}`}>\n {count > 0 ? count : ''}\n </Box>\n );\n })}\n </Box>\n <span />\n </Box>\n );\n}\n\n/** The hour labels under the coverage row. */\nexport function Axis({ scale, testId }: { scale: RulerScale; testId: string }): React.JSX.Element {\n return (\n <Box sx={lineSx} data-testid={`${testId}-axis`} aria-hidden>\n <span />\n <Box sx={axisSx}>\n {ticksOf(scale.from, scale.to, scale.tickHours).map((h) => (\n <span key={h} style={{ left: `${percentOf(h, scale.from, scale.to)}%` }}>\n {formatHour(h)}\n </span>\n ))}\n </Box>\n <span />\n </Box>\n );\n}\n"],"mappings":"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","names":[]}
@@ -1,19 +1,19 @@
1
+ import {
2
+ MapControlBar
3
+ } from "./chunk-6WHIJPEF.js";
4
+ import {
5
+ MapSearchBar
6
+ } from "./chunk-MIUPTZS6.js";
1
7
  import {
2
8
  HeatmapOverlay,
3
9
  RouteOverlay
4
10
  } from "./chunk-ZZ4MMUBY.js";
5
- import {
6
- MapControlBar
7
- } from "./chunk-6WHIJPEF.js";
8
11
  import {
9
12
  resolveMapCopy
10
13
  } from "./chunk-CSGBHYW6.js";
11
14
  import {
12
15
  HEATMAP_VIEWBOX
13
16
  } from "./chunk-H2J2MTRE.js";
14
- import {
15
- MapSearchBar
16
- } from "./chunk-MIUPTZS6.js";
17
17
 
18
18
  // src/components/data-display/MapPreview/MapLayers.tsx
19
19
  import { useTheme } from "@mui/material/styles/index.js";
@@ -59,4 +59,4 @@ var MapLayers = ({ settings, zoom, mapType, search, controls }) => {
59
59
  export {
60
60
  MapLayers
61
61
  };
62
- //# sourceMappingURL=chunk-437HQPUN.js.map
62
+ //# sourceMappingURL=chunk-IQ5MBELJ.js.map
@@ -1,6 +1,3 @@
1
- import {
2
- usePickerSheet
3
- } from "./chunk-WSMUOFWF.js";
4
1
  import {
5
2
  PickerSheetHead,
6
3
  PickerSheetList,
@@ -12,6 +9,9 @@ import {
12
9
  footSx,
13
10
  sheetPaperSx
14
11
  } from "./chunk-LZJHHMOF.js";
12
+ import {
13
+ usePickerSheet
14
+ } from "./chunk-WSMUOFWF.js";
15
15
  import {
16
16
  METRICS
17
17
  } from "./chunk-VPGDYI63.js";
@@ -125,4 +125,4 @@ function PickerSheet(props) {
125
125
  export {
126
126
  PickerSheet
127
127
  };
128
- //# sourceMappingURL=chunk-FRUDRDJX.js.map
128
+ //# sourceMappingURL=chunk-IZ7JTG3Z.js.map
@@ -1,9 +1,9 @@
1
- import {
2
- installPromptStyles
3
- } from "./chunk-GY62N32G.js";
4
1
  import {
5
2
  usePwaInstall
6
3
  } from "./chunk-5GMHJ7Y5.js";
4
+ import {
5
+ installPromptStyles
6
+ } from "./chunk-GY62N32G.js";
7
7
 
8
8
  // src/components/utility/InstallPrompt/InstallPrompt.tsx
9
9
  import Close from "@mui/icons-material/Close";
@@ -154,4 +154,4 @@ InstallPrompt.displayName = "InstallPrompt";
154
154
  export {
155
155
  InstallPrompt
156
156
  };
157
- //# sourceMappingURL=chunk-5ZOJLYD2.js.map
157
+ //# sourceMappingURL=chunk-JE6RZ5L6.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  EN_US_UI_LABELS
3
- } from "./chunk-XOXXG7Q5.js";
3
+ } from "./chunk-57FIUJJJ.js";
4
4
  import {
5
5
  modeInk,
6
6
  neutralTones
@@ -217,4 +217,4 @@ Code.displayName = "Code";
217
217
  export {
218
218
  Code
219
219
  };
220
- //# sourceMappingURL=chunk-KF3Q3C3P.js.map
220
+ //# sourceMappingURL=chunk-JJFLCEJJ.js.map
@@ -0,0 +1,111 @@
1
+ import {
2
+ backButtonSx,
3
+ closeButtonSx,
4
+ handleSx,
5
+ headerStartSx,
6
+ headerSx,
7
+ overviewTitleSx,
8
+ stepLabelSx
9
+ } from "./chunk-2ORD2FMN.js";
10
+ import {
11
+ seeAllButtonSx,
12
+ seeAllFrameSx,
13
+ seeAllGridSx
14
+ } from "./chunk-2SRWPNQ7.js";
15
+ import {
16
+ Progress
17
+ } from "./chunk-L4FWEI2P.js";
18
+ import {
19
+ Button
20
+ } from "./chunk-YOXYSAUI.js";
21
+
22
+ // src/components/feedback/SequenceResolver/SequenceResolver.header.tsx
23
+ import ChevronLeftIcon from "@mui/icons-material/ChevronLeft";
24
+ import CloseIcon from "@mui/icons-material/Close";
25
+ import Box from "@mui/material/Box/index.js";
26
+ import IconButton from "@mui/material/IconButton/index.js";
27
+ import Typography from "@mui/material/Typography/index.js";
28
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
29
+ function Bar({ progress, progressLabel, testId }) {
30
+ return /* @__PURE__ */ jsx(Progress, { variant: "linear", size: "md", color: "warning", value: progress, "aria-label": progressLabel, dataTestId: `${testId}-progress` });
31
+ }
32
+ function CloseButton({ touch, closeLabel, onClose, testId }) {
33
+ return /* @__PURE__ */ jsx(IconButton, { "aria-label": closeLabel, onClick: onClose, sx: closeButtonSx(touch), "data-testid": `${testId}-close`, "data-sr-close": "", children: /* @__PURE__ */ jsx(CloseIcon, {}) });
34
+ }
35
+ function PlainHeader(props) {
36
+ const { touch, label, back, testId, title } = props;
37
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
38
+ /* @__PURE__ */ jsxs(Box, { sx: headerSx, children: [
39
+ /* @__PURE__ */ jsxs(Box, { sx: headerStartSx, children: [
40
+ back ? /* @__PURE__ */ jsx(
41
+ Button,
42
+ {
43
+ variant: "text",
44
+ color: "primary",
45
+ size: "md",
46
+ icon: /* @__PURE__ */ jsx(ChevronLeftIcon, {}),
47
+ "aria-label": back.accessible,
48
+ onClick: back.onClick,
49
+ disabled: back.disabled,
50
+ sx: backButtonSx(touch),
51
+ dataTestId: `${testId}-back`,
52
+ children: back.label
53
+ }
54
+ ) : null,
55
+ title ? /* @__PURE__ */ jsx(Typography, { component: "h2", id: title.id, tabIndex: -1, ref: title.ref, sx: overviewTitleSx, children: title.text }) : /* @__PURE__ */ jsx(Typography, { component: "span", sx: stepLabelSx, "data-testid": `${testId}-step-label`, children: label })
56
+ ] }),
57
+ /* @__PURE__ */ jsx(CloseButton, { ...props })
58
+ ] }),
59
+ /* @__PURE__ */ jsx(Bar, { ...props })
60
+ ] });
61
+ }
62
+ function SeeAllHeader(props) {
63
+ const { touch, label, back, testId, seeAll } = props;
64
+ return /* @__PURE__ */ jsx(Box, { sx: seeAllFrameSx, children: /* @__PURE__ */ jsxs(Box, { sx: seeAllGridSx, "data-testid": `${testId}-header`, children: [
65
+ back ? /* @__PURE__ */ jsx(
66
+ Button,
67
+ {
68
+ variant: "text",
69
+ color: "primary",
70
+ size: "md",
71
+ icon: /* @__PURE__ */ jsx(ChevronLeftIcon, {}),
72
+ "aria-label": back.accessible ?? back.label,
73
+ onClick: back.onClick,
74
+ disabled: back.disabled,
75
+ sx: backButtonSx(touch),
76
+ dataTestId: `${testId}-back`,
77
+ "data-sr-back": "",
78
+ children: /* @__PURE__ */ jsx("span", { "data-back-word": "", children: back.label })
79
+ }
80
+ ) : null,
81
+ /* @__PURE__ */ jsx(Typography, { component: "span", "data-sr-label": "", "data-testid": `${testId}-step-label`, children: label }),
82
+ /* @__PURE__ */ jsx(
83
+ Button,
84
+ {
85
+ variant: "text",
86
+ color: "primary",
87
+ size: "md",
88
+ onClick: seeAll.onClick,
89
+ disabled: seeAll.disabled,
90
+ sx: seeAllButtonSx(touch),
91
+ dataTestId: `${testId}-see-all`,
92
+ "data-sr-see": "",
93
+ children: seeAll.label
94
+ }
95
+ ),
96
+ /* @__PURE__ */ jsx(CloseButton, { ...props }),
97
+ /* @__PURE__ */ jsx(Box, { "data-sr-bar": "", children: /* @__PURE__ */ jsx(Bar, { ...props }) })
98
+ ] }) });
99
+ }
100
+ function SequenceHeader(props) {
101
+ const { touch, testId, seeAll } = props;
102
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
103
+ touch ? /* @__PURE__ */ jsx(Box, { "aria-hidden": true, sx: handleSx, "data-testid": `${testId}-handle` }) : null,
104
+ seeAll ? /* @__PURE__ */ jsx(SeeAllHeader, { ...props, seeAll }) : /* @__PURE__ */ jsx(PlainHeader, { ...props })
105
+ ] });
106
+ }
107
+
108
+ export {
109
+ SequenceHeader
110
+ };
111
+ //# sourceMappingURL=chunk-JO6D7YGN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/feedback/SequenceResolver/SequenceResolver.header.tsx"],"sourcesContent":["import ChevronLeftIcon from '@mui/icons-material/ChevronLeft';\nimport CloseIcon from '@mui/icons-material/Close';\nimport Box from '@mui/material/Box/index.js';\nimport IconButton from '@mui/material/IconButton/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport type * as React from 'react';\n\nimport { Progress } from '../../data-display/Progress';\nimport { Button } from '../../form/Button';\nimport { seeAllButtonSx, seeAllFrameSx, seeAllGridSx } from './SequenceResolver.header.styles';\nimport {\n backButtonSx,\n closeButtonSx,\n handleSx,\n headerStartSx,\n headerSx,\n overviewTitleSx,\n stepLabelSx,\n} from './SequenceResolver.styles';\n\ninterface HeaderProps {\n touch: boolean;\n label: string;\n /** Absent: no back button (intro, first step, or the host turned it off). */\n back?: { label: string; accessible?: string; onClick: () => void; disabled: boolean };\n closeLabel: string;\n onClose: () => void;\n progress: number;\n progressLabel: string;\n testId: string;\n /** \"Ver todos (N)\": a text button between the label and close. */\n seeAll?: { label: string; onClick: () => void; disabled: boolean };\n /** The overview's title, drawn in the label's place and naming the dialog. */\n title?: { id: string; text: string; ref: React.RefObject<HTMLHeadingElement | null> };\n}\n\nfunction Bar({ progress, progressLabel, testId }: Pick<HeaderProps, 'progress' | 'progressLabel' | 'testId'>): React.JSX.Element {\n return (\n <Progress variant=\"linear\" size=\"md\" color=\"warning\" value={progress} aria-label={progressLabel} dataTestId={`${testId}-progress`} />\n );\n}\n\nfunction CloseButton({ touch, closeLabel, onClose, testId }: Pick<HeaderProps, 'touch' | 'closeLabel' | 'onClose' | 'testId'>) {\n return (\n <IconButton aria-label={closeLabel} onClick={onClose} sx={closeButtonSx(touch)} data-testid={`${testId}-close`} data-sr-close=\"\">\n <CloseIcon />\n </IconButton>\n );\n}\n\n/**\n * The header every resolver had before \"Ver todos\" (FUT-3671): Back and the\n * label (which takes its own row on a narrow sheet rather than squeeze) and\n * close, the bar under them. Over the overview the title takes the label's place.\n */\nfunction PlainHeader(props: HeaderProps): React.JSX.Element {\n const { touch, label, back, testId, title } = props;\n return (\n <>\n <Box sx={headerSx}>\n <Box sx={headerStartSx}>\n {back ? (\n <Button\n variant=\"text\"\n color=\"primary\"\n size=\"md\"\n icon={<ChevronLeftIcon />}\n aria-label={back.accessible}\n onClick={back.onClick}\n disabled={back.disabled}\n sx={backButtonSx(touch)}\n dataTestId={`${testId}-back`}\n >\n {back.label}\n </Button>\n ) : null}\n {title ? (\n <Typography component=\"h2\" id={title.id} tabIndex={-1} ref={title.ref} sx={overviewTitleSx}>\n {title.text}\n </Typography>\n ) : (\n <Typography component=\"span\" sx={stepLabelSx} data-testid={`${testId}-step-label`}>\n {label}\n </Typography>\n )}\n </Box>\n <CloseButton {...props} />\n </Box>\n <Bar {...props} />\n </>\n );\n}\n\n/**\n * The header of a run with \"Ver todos (N)\" (FUT-3825): one grid, so the ONE\n * step label node sits on the header's line or, on a narrow chrome, on its own\n * line under the bar — never beside it. Nothing on the line is cut.\n */\nfunction SeeAllHeader(props: HeaderProps & { seeAll: NonNullable<HeaderProps['seeAll']> }): React.JSX.Element {\n const { touch, label, back, testId, seeAll } = props;\n return (\n <Box sx={seeAllFrameSx}>\n <Box sx={seeAllGridSx} data-testid={`${testId}-header`}>\n {back ? (\n <Button\n variant=\"text\"\n color=\"primary\"\n size=\"md\"\n icon={<ChevronLeftIcon />}\n aria-label={back.accessible ?? back.label}\n onClick={back.onClick}\n disabled={back.disabled}\n sx={backButtonSx(touch)}\n dataTestId={`${testId}-back`}\n data-sr-back=\"\"\n >\n <span data-back-word=\"\">{back.label}</span>\n </Button>\n ) : null}\n <Typography component=\"span\" data-sr-label=\"\" data-testid={`${testId}-step-label`}>\n {label}\n </Typography>\n <Button\n variant=\"text\"\n color=\"primary\"\n size=\"md\"\n onClick={seeAll.onClick}\n disabled={seeAll.disabled}\n sx={seeAllButtonSx(touch)}\n dataTestId={`${testId}-see-all`}\n data-sr-see=\"\"\n >\n {seeAll.label}\n </Button>\n <CloseButton {...props} />\n <Box data-sr-bar=\"\">\n <Bar {...props} />\n </Box>\n </Box>\n </Box>\n );\n}\n\n/** The drag handle (phone), the header row and the progress bar. */\nexport function SequenceHeader(props: HeaderProps): React.JSX.Element {\n const { touch, testId, seeAll } = props;\n return (\n <>\n {touch ? <Box aria-hidden sx={handleSx} data-testid={`${testId}-handle`} /> : null}\n {seeAll ? <SeeAllHeader {...props} seeAll={seeAll} /> : <PlainHeader {...props} />}\n </>\n );\n}\n"],"mappings":"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","names":[]}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SettingSwitchBlock,
3
3
  useSettingSwitchIds
4
- } from "./chunk-JRBSTOMA.js";
4
+ } from "./chunk-ZDAAHCIS.js";
5
5
  import {
6
6
  useSettingGroup
7
7
  } from "./chunk-XJQNSMGA.js";
@@ -44,4 +44,4 @@ SettingToggle.displayName = "SettingToggle";
44
44
  export {
45
45
  SettingToggle
46
46
  };
47
- //# sourceMappingURL=chunk-IWMAFTXP.js.map
47
+ //# sourceMappingURL=chunk-K2VDRODL.js.map
@@ -1,12 +1,12 @@
1
- import {
2
- useAutocomplete
3
- } from "./chunk-SY5FYBAF.js";
4
1
  import {
5
2
  AutocompleteInput,
6
3
  ChipList,
7
4
  DefaultSuggestion,
8
5
  SuggestionListBox
9
6
  } from "./chunk-SAKSIN7E.js";
7
+ import {
8
+ useAutocomplete
9
+ } from "./chunk-SY5FYBAF.js";
10
10
  import {
11
11
  defaultGetKey,
12
12
  defaultGetLabel,
@@ -131,4 +131,4 @@ export {
131
131
  Autocomplete,
132
132
  Autocomplete_default
133
133
  };
134
- //# sourceMappingURL=chunk-CFDWKQZT.js.map
134
+ //# sourceMappingURL=chunk-KILA7LCC.js.map
@@ -3,7 +3,7 @@ import {
3
3
  stepColors,
4
4
  stepPalette,
5
5
  workflowLabels
6
- } from "./chunk-UBVKMM3V.js";
6
+ } from "./chunk-YGQ2DLIM.js";
7
7
  import {
8
8
  neutralTones
9
9
  } from "./chunk-XJAD6E3V.js";
@@ -285,4 +285,4 @@ export {
285
285
  StepContentComponent,
286
286
  StepItemRow
287
287
  };
288
- //# sourceMappingURL=chunk-IMYKJTVX.js.map
288
+ //# sourceMappingURL=chunk-KLLHCPA2.js.map
@@ -9,8 +9,12 @@ function dedupe(items, skip) {
9
9
  }
10
10
  return out;
11
11
  }
12
- function startRun(queue) {
13
- return { visits: [], ahead: dedupe(queue, /* @__PURE__ */ new Set()), held: [] };
12
+ function startRun(queue, initialKey) {
13
+ const ahead = dedupe(queue, /* @__PURE__ */ new Set());
14
+ const at = initialKey === void 0 ? -1 : ahead.findIndex((item) => item.key === initialKey);
15
+ const first = ahead[at];
16
+ if (at <= 0 || !first) return { visits: [], ahead, held: [] };
17
+ return { visits: [], ahead: [first, ...ahead.slice(0, at), ...ahead.slice(at + 1)], held: [] };
14
18
  }
15
19
  function syncRun(state, queue) {
16
20
  const fresh = new Map(queue.map((item) => [item.key, item]));
@@ -35,9 +39,11 @@ function leaving(state, key) {
35
39
  held: state.held.filter((held) => held !== key)
36
40
  };
37
41
  }
38
- function resolveRun(state, result, item = state.ahead[0], alsoResolved = 0) {
42
+ function resolveRun(state, result, item = state.ahead[0], alsoResolved = 0, final = false) {
39
43
  if (!item || !state.ahead.some((entry) => entry.key === item.key)) return state;
40
- const visit = alsoResolved > 0 ? { item, outcome: "resolved", result, alsoResolved } : { item, outcome: "resolved", result };
44
+ const visit = { item, outcome: "resolved", result };
45
+ if (alsoResolved > 0) visit.alsoResolved = alsoResolved;
46
+ if (final) visit.final = true;
41
47
  return {
42
48
  visits: [...state.visits, visit],
43
49
  ahead: state.ahead.filter((entry) => entry.key !== item.key),
@@ -65,6 +71,31 @@ function backRun(state, key) {
65
71
  held: [...state.held.filter((held) => held !== last.item.key), last.item.key]
66
72
  };
67
73
  }
74
+ function canReturn(state) {
75
+ const last = previousOf(state);
76
+ return last !== void 0 && !(last.outcome === "resolved" && last.final);
77
+ }
78
+ function jumpTargetOf(state, keys) {
79
+ const wanted = new Set(keys);
80
+ const ahead = state.ahead.find((item) => wanted.has(item.key));
81
+ if (ahead) return ahead.key;
82
+ return state.visits.find((visit) => visit.outcome === "skipped" && wanted.has(visit.item.key))?.item.key;
83
+ }
84
+ function jumpRun(state, key) {
85
+ const [current] = state.ahead;
86
+ if (current?.key === key) return state;
87
+ const passed = state.visits.findIndex((visit) => visit.outcome === "skipped" && visit.item.key === key);
88
+ const target = state.ahead.find((item) => item.key === key) ?? state.visits[passed]?.item;
89
+ if (!target) return state;
90
+ const visits = passed >= 0 ? state.visits.filter((_, index) => index !== passed) : [...state.visits];
91
+ const rest = state.ahead.filter((item) => item.key !== key && item.key !== current?.key);
92
+ const pins = current ? leaving(state, current.key) : { pinned: state.pinned, held: state.held };
93
+ return {
94
+ visits: current ? [...visits, { item: current, outcome: "skipped" }] : visits,
95
+ ahead: [target, ...rest],
96
+ ...pins
97
+ };
98
+ }
68
99
  function summaryOf(state) {
69
100
  const resolved = state.visits.filter((visit) => visit.outcome === "resolved").length;
70
101
  const alsoResolved = state.visits.reduce(
@@ -95,8 +126,11 @@ export {
95
126
  skipRun,
96
127
  previousOf,
97
128
  backRun,
129
+ canReturn,
130
+ jumpTargetOf,
131
+ jumpRun,
98
132
  summaryOf,
99
133
  positionOf,
100
134
  progressOf
101
135
  };
102
- //# sourceMappingURL=chunk-5UBP2DJ4.js.map
136
+ //# sourceMappingURL=chunk-KZ5F52D6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/feedback/SequenceResolver/sequence-model.ts"],"sourcesContent":["import type { SequenceItem, SequenceSummary } from './SequenceResolver.types';\n\n/**\n * THE RUN, as pure data: what was answered or passed over, and what is ahead.\n *\n * The queue is the host's live data, not a snapshot. An answer can resolve\n * other entries with it (one limit saved for every sibling of a product), a\n * refetch can drop the entry just answered, and a realtime push can add one —\n * so the run is NOT an index into the queue. It keeps the visited steps in the\n * order they were visited, and the steps still ahead in the order the queue\n * gave them; `syncRun` reconciles the second list with each new queue.\n */\n\n/** How a visited step was left. */\nexport type Visit<I extends SequenceItem, R> =\n | {\n item: I;\n outcome: 'resolved';\n result: R;\n alsoResolved?: number;\n /** The step said `canGoBack: false` when it was answered: the answer has no inverse, so Back stops here. */\n final?: true;\n }\n | { item: I; outcome: 'skipped' };\n\nexport interface RunState<I extends SequenceItem, R> {\n /** Every step left behind, oldest first. Back pops the last one. */\n visits: Visit<I, R>[];\n /** The steps still ahead; the first is on screen. Empty means the end screen. */\n ahead: I[];\n /**\n * The step whose answer is being written, kept ahead even while the queue\n * lacks it (the host's refetch may drop it before the write returns).\n * Cleared when the run leaves it.\n */\n pinned?: string;\n /**\n * The steps Back returned to, kept ahead while the queue lacks them (the\n * host's inverse ran, its refetch has not put the entry back yet). A SET:\n * two Backs before one refetch hold both. A key leaves it when the queue\n * confirms the entry or the run leaves the step.\n */\n held: readonly string[];\n}\n\nfunction dedupe<I extends SequenceItem>(items: readonly I[], skip: ReadonlySet<string>): I[] {\n const seen = new Set(skip);\n const out: I[] = [];\n for (const item of items) {\n if (seen.has(item.key)) continue;\n seen.add(item.key);\n out.push(item);\n }\n return out;\n}\n\n/**\n * A fresh run over `queue` (a repeated key counts once). With `initialKey` the\n * run opens at that entry; the entries before it follow it, in queue order —\n * nothing is passed over (a click on one problem's block opens the run there).\n */\nexport function startRun<I extends SequenceItem, R>(queue: readonly I[], initialKey?: string): RunState<I, R> {\n const ahead = dedupe(queue, new Set());\n const at = initialKey === undefined ? -1 : ahead.findIndex((item) => item.key === initialKey);\n const first = ahead[at];\n if (at <= 0 || !first) return { visits: [], ahead, held: [] };\n return { visits: [], ahead: [first, ...ahead.slice(0, at), ...ahead.slice(at + 1)], held: [] };\n}\n\n/**\n * The run against a new queue.\n *\n * - A step ahead that the queue no longer has is dropped — it was resolved\n * elsewhere (siblings answered together, another device) — unless it is\n * `pinned` or `held`.\n * - A held key the queue has again is released: the host confirmed it.\n * - A queue entry the run has not seen is appended, in queue order.\n * - The entries kept are refreshed from the queue (same key, newer data).\n * - Visited steps are history and never change.\n */\nexport function syncRun<I extends SequenceItem, R>(\n state: RunState<I, R>,\n queue: readonly I[],\n): RunState<I, R> {\n const fresh = new Map(queue.map((item) => [item.key, item] as const));\n const kept = state.ahead.flatMap((item) => {\n const next = fresh.get(item.key);\n if (next) return [next];\n return item.key === state.pinned || state.held.includes(item.key) ? [item] : [];\n });\n const known = new Set([...state.visits.map((visit) => visit.item.key), ...kept.map((item) => item.key)]);\n const held = state.held.filter((key) => !fresh.has(key));\n return { ...state, ahead: [...kept, ...dedupe(queue, known)], held };\n}\n\n/** Keep `key` ahead whatever the queue says, until the run moves on (see {@link RunState.pinned}). */\nexport function pinRun<I extends SequenceItem, R>(state: RunState<I, R>, key: string): RunState<I, R> {\n return { ...state, pinned: key };\n}\n\n/** The step on screen, or `undefined` at the end. */\nexport function currentOf<I extends SequenceItem, R>(state: RunState<I, R>): I | undefined {\n return state.ahead[0];\n}\n\n/** The pins once the run leaves `key`: neither the write pin nor the held set keeps it. */\nfunction leaving<I extends SequenceItem, R>(state: RunState<I, R>, key: string): Pick<RunState<I, R>, 'pinned' | 'held'> {\n return {\n pinned: state.pinned === key ? undefined : state.pinned,\n held: state.held.filter((held) => held !== key),\n };\n}\n\n/**\n * Answer `item` — the step that was on screen when the answer began (a pending\n * write keeps it there, see {@link RunState.pinned}). An item no longer ahead\n * was already answered (a double call): a no-op, as at the end.\n */\nexport function resolveRun<I extends SequenceItem, R>(\n state: RunState<I, R>,\n result: R,\n item: I | undefined = state.ahead[0],\n alsoResolved = 0,\n final = false,\n): RunState<I, R> {\n if (!item || !state.ahead.some((entry) => entry.key === item.key)) return state;\n const visit: Visit<I, R> = { item, outcome: 'resolved', result };\n if (alsoResolved > 0) visit.alsoResolved = alsoResolved;\n if (final) visit.final = true;\n return {\n visits: [...state.visits, visit],\n ahead: state.ahead.filter((entry) => entry.key !== item.key),\n ...leaving(state, item.key),\n };\n}\n\n/**\n * Pass over the step on screen. Given the `key` that was on screen when the\n * skip began, a step that has moved on since (a double call) is left alone. At\n * the end it is a no-op.\n */\nexport function skipRun<I extends SequenceItem, R>(state: RunState<I, R>, key?: string): RunState<I, R> {\n const [item, ...rest] = state.ahead;\n if (!item || (key !== undefined && item.key !== key)) return state;\n return { visits: [...state.visits, { item, outcome: 'skipped' }], ahead: rest, ...leaving(state, item.key) };\n}\n\n/** The step Back would return to, or `undefined` on the first one. */\nexport function previousOf<I extends SequenceItem, R>(state: RunState<I, R>): Visit<I, R> | undefined {\n return state.visits[state.visits.length - 1];\n}\n\n/**\n * Return to the previous step: it is on screen again, ahead of the rest, and\n * held until the queue confirms it. Given the `key` Back began from, a step\n * already returned to (a double call) is left alone.\n */\nexport function backRun<I extends SequenceItem, R>(state: RunState<I, R>, key?: string): RunState<I, R> {\n const last = previousOf(state);\n if (!last || (key !== undefined && last.item.key !== key)) return state;\n const ahead = state.ahead.filter((item) => item.key !== last.item.key);\n // The step being left keeps no write pin: `pinned` is for a write in flight\n // on the step ON SCREEN, and a failed one must not hold an entry the\n // host's refetch has since dropped (it was applied server-side).\n const leftKey = state.ahead[0]?.key;\n return {\n ...state,\n pinned: state.pinned === leftKey ? undefined : state.pinned,\n visits: state.visits.slice(0, -1),\n ahead: [last.item, ...ahead],\n held: [...state.held.filter((held) => held !== last.item.key), last.item.key],\n };\n}\n\n/** True when Back may return from the step on screen: a previous step exists and its answer has an inverse. */\nexport function canReturn<I extends SequenceItem, R>(state: RunState<I, R>): boolean {\n const last = previousOf(state);\n return last !== undefined && !(last.outcome === 'resolved' && last.final);\n}\n\n/**\n * The step a jump to `keys` (one category of the overview) lands on: the\n * first of them still AHEAD, in run order; else the first one passed over\n * (skipped, or left by an earlier jump). An answered key is never a target.\n */\nexport function jumpTargetOf<I extends SequenceItem, R>(state: RunState<I, R>, keys: readonly string[]): string | undefined {\n const wanted = new Set(keys);\n const ahead = state.ahead.find((item) => wanted.has(item.key));\n if (ahead) return ahead.key;\n return state.visits.find((visit) => visit.outcome === 'skipped' && wanted.has(visit.item.key))?.item.key;\n}\n\n/**\n * Jump to `key` (\"Ver todos\" → a category's Resolver, or `api.jumpTo`).\n *\n * The step on screen is recorded as PASSED OVER — Back from the target returns\n * to it at once, with nothing to undo — and the target goes first; the rest\n * stays in run order. A target that was passed over before is taken back out\n * of the history. The step already on screen, an answered key or an unknown\n * one leaves the run as it is.\n */\nexport function jumpRun<I extends SequenceItem, R>(state: RunState<I, R>, key: string): RunState<I, R> {\n const [current] = state.ahead;\n if (current?.key === key) return state;\n const passed = state.visits.findIndex((visit) => visit.outcome === 'skipped' && visit.item.key === key);\n const target = state.ahead.find((item) => item.key === key) ?? state.visits[passed]?.item;\n if (!target) return state;\n const visits = passed >= 0 ? state.visits.filter((_, index) => index !== passed) : [...state.visits];\n const rest = state.ahead.filter((item) => item.key !== key && item.key !== current?.key);\n const pins = current ? leaving(state, current.key) : { pinned: state.pinned, held: state.held };\n return {\n visits: current ? [...visits, { item: current, outcome: 'skipped' }] : visits,\n ahead: [target, ...rest],\n ...pins,\n };\n}\n\n/** Where the run stands. */\nexport function summaryOf<I extends SequenceItem, R>(state: RunState<I, R>): SequenceSummary {\n const resolved = state.visits.filter((visit) => visit.outcome === 'resolved').length;\n const alsoResolved = state.visits.reduce(\n (sum, visit) => sum + (visit.outcome === 'resolved' ? Math.max(0, visit.alsoResolved ?? 0) : 0),\n 0,\n );\n return {\n alsoResolved,\n resolved,\n skipped: state.visits.length - resolved,\n total: state.visits.length + state.ahead.length,\n };\n}\n\n/** 1-based position of the step on screen (`total + 1` never happens: at the end it is `total`). */\nexport function positionOf<I extends SequenceItem, R>(state: RunState<I, R>): number {\n return Math.min(state.visits.length + 1, state.visits.length + state.ahead.length);\n}\n\n/** How far along, 0..100. An empty run is complete. */\nexport function progressOf<I extends SequenceItem, R>(state: RunState<I, R>): number {\n const total = state.visits.length + state.ahead.length;\n return total === 0 ? 100 : Math.round((state.visits.length / total) * 100);\n}\n"],"mappings":"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","names":[]}
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-7AIL2F5E.js";
5
5
  import {
6
6
  EN_US_UI_LABELS
7
- } from "./chunk-XOXXG7Q5.js";
7
+ } from "./chunk-57FIUJJJ.js";
8
8
  import {
9
9
  fieldTextFieldStyles
10
10
  } from "./chunk-RGVNXES5.js";
@@ -329,4 +329,4 @@ TableFilter.RangeField = TableFilterRangeField;
329
329
  export {
330
330
  TableFilter
331
331
  };
332
- //# sourceMappingURL=chunk-FORQEHRQ.js.map
332
+ //# sourceMappingURL=chunk-L5GZZUTY.js.map