@12-apps/ui 6.92.2 → 6.93.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/components-catalog.md +10 -3
  2. package/components-guidelines.md +30 -0
  3. package/dist/_internal/components/data-display/Alert/Alert.js +2 -2
  4. package/dist/_internal/components/data-display/AlertDialog/AlertDialog.js +2 -2
  5. package/dist/_internal/components/data-display/AlertDialog/AlertDialog.parts.js +9 -3
  6. package/dist/_internal/components/data-display/Avatar/Avatar.js +3 -3
  7. package/dist/_internal/components/data-display/Avatar/Avatar.view.js +2 -2
  8. package/dist/_internal/components/data-display/Badge/Badge.js +2 -2
  9. package/dist/_internal/components/data-display/CardKit/card-actions-context.js +3 -3
  10. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +10 -10
  11. package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +7 -7
  12. package/dist/_internal/components/data-display/Carousel/Carousel.js +3 -3
  13. package/dist/_internal/components/data-display/Chart/Chart.js +4 -4
  14. package/dist/_internal/components/data-display/Chart/SpecChart.js +7 -7
  15. package/dist/_internal/components/data-display/Chart/chart-context.js +2 -2
  16. package/dist/_internal/components/data-display/Chart/chart-renderers.js +3 -3
  17. package/dist/_internal/components/data-display/Chart/chart-spec.js +2 -2
  18. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +34 -34
  19. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +48 -48
  20. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +7 -7
  21. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +3 -3
  22. package/dist/_internal/components/data-display/DataViews/base-list-card-layout.js +3 -3
  23. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +2 -2
  24. package/dist/_internal/components/data-display/DataViews/base-list-card.js +6 -6
  25. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +3 -3
  26. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +6 -6
  27. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +5 -5
  28. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +28 -28
  29. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +10 -10
  30. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +7 -7
  31. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +8 -8
  32. package/dist/_internal/components/data-display/DataViews/data-views-range-bounds.js +3 -3
  33. package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +5 -5
  34. package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +2 -2
  35. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +7 -7
  36. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +10 -10
  37. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +6 -6
  38. package/dist/_internal/components/data-display/DataViews/list-card-rails.js +2 -2
  39. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +4 -4
  40. package/dist/_internal/components/data-display/DayRuler/DayRuler.footer.js +25 -0
  41. package/dist/_internal/components/data-display/DayRuler/DayRuler.footer.js.map +1 -0
  42. package/dist/_internal/components/data-display/DayRuler/DayRuler.footer.styles.js +23 -0
  43. package/dist/_internal/components/data-display/DayRuler/DayRuler.footer.styles.js.map +1 -0
  44. package/dist/_internal/components/data-display/DayRuler/DayRuler.js +15 -13
  45. package/dist/_internal/components/data-display/DayRuler/DayRuler.keyboard.js +3 -3
  46. package/dist/_internal/components/data-display/DayRuler/DayRuler.metrics.js +1 -1
  47. package/dist/_internal/components/data-display/DayRuler/DayRuler.parts.js +12 -15
  48. package/dist/_internal/components/data-display/DayRuler/DayRuler.styles.js +3 -11
  49. package/dist/_internal/components/data-display/DayRuler/day-ruler-model.js +5 -1
  50. package/dist/_internal/components/data-display/DayRuler/useRulerDrag.js +3 -3
  51. package/dist/_internal/components/data-display/DayRuler/useTextFits.js +4 -3
  52. package/dist/_internal/components/data-display/HoverCard/HoverCard.js +1 -1
  53. package/dist/_internal/components/data-display/Lightbox/Lightbox.js +5 -5
  54. package/dist/_internal/components/data-display/Lightbox/LightboxControls.js +2 -2
  55. package/dist/_internal/components/data-display/Lightbox/LightboxOverlay.js +3 -3
  56. package/dist/_internal/components/data-display/Lightbox/LightboxThumbnails.js +2 -2
  57. package/dist/_internal/components/data-display/RegionMap/RegionMap.js +2 -2
  58. package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.js +7 -7
  59. package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.parts.js +5 -5
  60. package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.styles.js +2 -2
  61. package/dist/_internal/components/data-display/ScheduleGrid/ScheduleNameCell.js +3 -3
  62. package/dist/_internal/components/data-display/ScheduleGrid/schedule-name.styles.js +2 -2
  63. package/dist/_internal/components/data-display/ScheduleGrid/schedule-tones.js +3 -1
  64. package/dist/_internal/components/data-display/Sheet/Sheet.hooks.js +2 -2
  65. package/dist/_internal/components/data-display/Sheet/Sheet.js +3 -3
  66. package/dist/_internal/components/data-display/Table/Table.js +3 -3
  67. package/dist/_internal/components/data-display/index.js +61 -59
  68. package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.js +4 -4
  69. package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.parts.js +3 -3
  70. package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +5 -5
  71. package/dist/_internal/components/feedback/ConfirmAction/with-confirmation.js +4 -4
  72. package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +3 -3
  73. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.frame.js +48 -0
  74. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.frame.js.map +1 -0
  75. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.js +6 -5
  76. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.overview.js +4 -4
  77. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.parts.js +3 -3
  78. package/dist/_internal/components/feedback/index.js +15 -14
  79. package/dist/_internal/components/index.js +80 -77
  80. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +4 -4
  81. package/dist/_internal/components/navigation/SectionNav/SectionNav.bar.js +6 -6
  82. package/dist/_internal/components/navigation/SectionNav/SectionNav.js +9 -9
  83. package/dist/_internal/components/navigation/SectionNav/SectionNav.parts.js +3 -3
  84. package/dist/_internal/components/navigation/SectionNav/SectionNav.primary.js +4 -4
  85. package/dist/_internal/components/navigation/SectionNav/SectionNav.rail.js +5 -5
  86. package/dist/_internal/components/navigation/SectionNav/SectionNav.railCreate.js +4 -4
  87. package/dist/_internal/components/navigation/SectionNav/SectionNav.sheet.js +4 -4
  88. package/dist/_internal/components/navigation/index.js +13 -13
  89. package/dist/_internal/user-avatar/user-avatar.js +4 -4
  90. package/dist/charts.js +16 -16
  91. package/dist/{chunk-LDCZPZPD.js → chunk-24HHUCWB.js} +2 -2
  92. package/dist/{chunk-7ZQ3KQ7J.js → chunk-273OLFJD.js} +16 -6
  93. package/dist/chunk-273OLFJD.js.map +1 -0
  94. package/dist/{chunk-FAUNQ3FS.js → chunk-2M3W6ACW.js} +3 -3
  95. package/dist/{chunk-ALOEOGQV.js → chunk-3TZUZXY5.js} +2 -2
  96. package/dist/{chunk-4HK4FVMV.js → chunk-3UAHDLKH.js} +7 -1
  97. package/dist/{chunk-4HK4FVMV.js.map → chunk-3UAHDLKH.js.map} +1 -1
  98. package/dist/{chunk-DWH4TQXK.js → chunk-4E2RQOSQ.js} +2 -2
  99. package/dist/{chunk-4QR7LM5F.js → chunk-4J62V5OE.js} +7 -7
  100. package/dist/{chunk-OJZLFFG4.js → chunk-5AZEDQXX.js} +59 -70
  101. package/dist/chunk-5AZEDQXX.js.map +1 -0
  102. package/dist/{chunk-CZVAVX5L.js → chunk-6ATXOJVQ.js} +2 -2
  103. package/dist/{chunk-YE7M7URT.js → chunk-6D5AMANO.js} +2 -2
  104. package/dist/{chunk-Q3SILZTQ.js → chunk-6LGKJVOA.js} +2 -2
  105. package/dist/{chunk-ZCNR4DN5.js → chunk-7WE432RQ.js} +12 -12
  106. package/dist/{chunk-EOQ6EKTS.js → chunk-7XSCEHGA.js} +7 -7
  107. package/dist/{chunk-B5STMM3R.js → chunk-ALMGYCHY.js} +2 -2
  108. package/dist/{chunk-5357QUVE.js → chunk-AMLHEKSV.js} +5 -5
  109. package/dist/{chunk-3I5PHWKQ.js → chunk-ASEHJIIV.js} +6 -6
  110. package/dist/{chunk-64UNVW6D.js → chunk-BP3ZKIPE.js} +4 -4
  111. package/dist/{chunk-OCT5VCLP.js → chunk-BQBEN44R.js} +2 -2
  112. package/dist/{chunk-FYUNROLW.js → chunk-BZYLTGOE.js} +2 -2
  113. package/dist/{chunk-TZ44F6W7.js → chunk-CGS2LQE5.js} +2 -2
  114. package/dist/chunk-CPQJFHNZ.js +63 -0
  115. package/dist/chunk-CPQJFHNZ.js.map +1 -0
  116. package/dist/{chunk-PCQ5JWLF.js → chunk-CWXX5JR3.js} +14 -12
  117. package/dist/chunk-CWXX5JR3.js.map +1 -0
  118. package/dist/{chunk-6HXNFNOB.js → chunk-EE6DJPB7.js} +4 -4
  119. package/dist/{chunk-QE4KYG5I.js → chunk-F2UP5ZF4.js} +6 -6
  120. package/dist/{chunk-P53ANKZV.js → chunk-F7LBTMCA.js} +4 -4
  121. package/dist/{chunk-UDBOGSFO.js → chunk-FGZIEZEP.js} +67 -110
  122. package/dist/chunk-FGZIEZEP.js.map +1 -0
  123. package/dist/{chunk-IWSTMVCA.js → chunk-FKS2PNJF.js} +8 -8
  124. package/dist/{chunk-3WYEENUH.js → chunk-FPNVOB52.js} +7 -7
  125. package/dist/{chunk-E73C73UD.js → chunk-FYSS2PYA.js} +3 -3
  126. package/dist/{chunk-N557OEZR.js → chunk-G6NMSBSQ.js} +2 -2
  127. package/dist/{chunk-A5OERY43.js → chunk-GARM5SX6.js} +2 -2
  128. package/dist/{chunk-66VKX6JE.js → chunk-GXGHEOWC.js} +3 -3
  129. package/dist/{chunk-U2SAW6DH.js → chunk-GY53SDVL.js} +4 -4
  130. package/dist/{chunk-JVOEVTCZ.js → chunk-HQCZT6TO.js} +5 -5
  131. package/dist/{chunk-CNUO2BRV.js → chunk-HWZETMO4.js} +3 -3
  132. package/dist/{chunk-MM3QESLI.js → chunk-ILJ3FXIC.js} +2 -2
  133. package/dist/{chunk-FWTVIRZZ.js → chunk-JVQ56E3U.js} +6 -6
  134. package/dist/{chunk-YOLLISEY.js → chunk-JXK53XJW.js} +9 -9
  135. package/dist/{chunk-K6VEN5VN.js → chunk-K3PMMW23.js} +4 -4
  136. package/dist/{chunk-T5RFH2T5.js → chunk-KOGJBAFI.js} +2 -2
  137. package/dist/{chunk-COK65GX2.js → chunk-KURE5R7Z.js} +12 -2
  138. package/dist/chunk-KURE5R7Z.js.map +1 -0
  139. package/dist/{chunk-EKSJES5E.js → chunk-KXDLLS62.js} +3 -3
  140. package/dist/{chunk-LE5JYNR7.js → chunk-L5CAHQIN.js} +23 -2
  141. package/dist/chunk-L5CAHQIN.js.map +1 -0
  142. package/dist/{chunk-DBI6AMNY.js → chunk-LKWXU6NH.js} +4 -4
  143. package/dist/{chunk-56JF5PZK.js → chunk-LYVTJLCF.js} +4 -4
  144. package/dist/{chunk-NXQ6PXLJ.js → chunk-LZ5PGB7U.js} +2 -2
  145. package/dist/chunk-MPVH2GM5.js +83 -0
  146. package/dist/chunk-MPVH2GM5.js.map +1 -0
  147. package/dist/{chunk-5I75WRXT.js → chunk-N3GLX64O.js} +4 -4
  148. package/dist/{chunk-6DO672AG.js → chunk-N5PVD4J5.js} +7 -7
  149. package/dist/{chunk-PEAUGQKU.js → chunk-NQCTANF3.js} +7 -7
  150. package/dist/{chunk-ZYZPSBNQ.js → chunk-OGSTMHT6.js} +22 -7
  151. package/dist/chunk-OGSTMHT6.js.map +1 -0
  152. package/dist/{chunk-W676GY42.js → chunk-P772HCHI.js} +4 -4
  153. package/dist/{chunk-FQNDJITD.js → chunk-RCTHCXS6.js} +2 -2
  154. package/dist/{chunk-VWRXSBT2.js → chunk-SB2SEGR6.js} +3 -3
  155. package/dist/{chunk-Z2WZDVGG.js → chunk-SI5SKX52.js} +2 -2
  156. package/dist/{chunk-RYJ6XGFA.js → chunk-SJAOQGQI.js} +2 -2
  157. package/dist/{chunk-D7R6SRJB.js → chunk-SKQPUAMK.js} +3 -3
  158. package/dist/{chunk-AMIUZRDQ.js → chunk-SNWCT6JN.js} +3 -3
  159. package/dist/{chunk-7W5X3KQ2.js → chunk-SW7JCF4Z.js} +2 -2
  160. package/dist/{chunk-WLLUARTC.js → chunk-T2G4LDU5.js} +2 -2
  161. package/dist/{chunk-BNBWUXT3.js → chunk-TE6HAWDM.js} +2 -2
  162. package/dist/{chunk-JG733RMP.js → chunk-TZC6KIK2.js} +5 -5
  163. package/dist/{chunk-Y3F2F36I.js → chunk-U4Z6GZDW.js} +3 -3
  164. package/dist/{chunk-KQDBOZQE.js → chunk-UIIHUWOV.js} +13 -13
  165. package/dist/{chunk-L4V7FZJI.js → chunk-UKUGSU3Y.js} +2 -2
  166. package/dist/{chunk-D2JQF2WC.js → chunk-UOKXYV3U.js} +5 -5
  167. package/dist/{chunk-K7IDOTSU.js → chunk-VNMD6BA4.js} +2 -2
  168. package/dist/chunk-WG7CAT5D.js +65 -0
  169. package/dist/chunk-WG7CAT5D.js.map +1 -0
  170. package/dist/chunk-WSSD7H5E.js +52 -0
  171. package/dist/chunk-WSSD7H5E.js.map +1 -0
  172. package/dist/{chunk-DTZOP4ZR.js → chunk-XCUHGPPZ.js} +2 -2
  173. package/dist/{chunk-DBPFKGXX.js → chunk-Y7BOP7VZ.js} +3 -3
  174. package/dist/{chunk-BOADHYTA.js → chunk-YNZUYZ2O.js} +2 -2
  175. package/dist/{chunk-XRV4QFEQ.js → chunk-ZBUMGMWP.js} +83 -65
  176. package/dist/chunk-ZBUMGMWP.js.map +1 -0
  177. package/dist/{chunk-XNAI7QGU.js → chunk-ZM6FJCWS.js} +4 -4
  178. package/dist/{chunk-FC7UCFFA.js → chunk-ZPWPA6FR.js} +8 -8
  179. package/dist/data-display/Alert.js +2 -2
  180. package/dist/data-display/AlertDialog.js +2 -2
  181. package/dist/data-display/Avatar.js +3 -3
  182. package/dist/data-display/Badge.js +2 -2
  183. package/dist/data-display/CardKit.js +18 -18
  184. package/dist/data-display/Carousel.js +3 -3
  185. package/dist/data-display/Chart.js +16 -16
  186. package/dist/data-display/DataViews.js +66 -66
  187. package/dist/data-display/DayRuler.js +15 -13
  188. package/dist/data-display/HoverCard.js +1 -1
  189. package/dist/data-display/Lightbox.js +5 -5
  190. package/dist/data-display/RegionMap.js +2 -2
  191. package/dist/data-display/ScheduleGrid.js +9 -9
  192. package/dist/data-display/Sheet.js +3 -3
  193. package/dist/data-display/Table.js +3 -3
  194. package/dist/feedback/ConfirmAction.js +8 -8
  195. package/dist/feedback/NotificationStatusNotice.js +3 -3
  196. package/dist/feedback/SequenceResolver.js +6 -5
  197. package/dist/navigation/AppHeader.js +4 -4
  198. package/dist/navigation/SectionNav.js +9 -9
  199. package/dist/types/components/data-display/AlertDialog/AlertDialog.d.ts.map +1 -1
  200. package/dist/types/components/data-display/AlertDialog/AlertDialog.parts.d.ts +11 -0
  201. package/dist/types/components/data-display/AlertDialog/AlertDialog.parts.d.ts.map +1 -1
  202. package/dist/types/components/data-display/DayRuler/DayRuler.d.ts.map +1 -1
  203. package/dist/types/components/data-display/DayRuler/DayRuler.footer.d.ts +16 -0
  204. package/dist/types/components/data-display/DayRuler/DayRuler.footer.d.ts.map +1 -0
  205. package/dist/types/components/data-display/DayRuler/DayRuler.footer.styles.d.ts +18 -0
  206. package/dist/types/components/data-display/DayRuler/DayRuler.footer.styles.d.ts.map +1 -0
  207. package/dist/types/components/data-display/DayRuler/DayRuler.metrics.d.ts +15 -5
  208. package/dist/types/components/data-display/DayRuler/DayRuler.metrics.d.ts.map +1 -1
  209. package/dist/types/components/data-display/DayRuler/DayRuler.parts.d.ts +13 -14
  210. package/dist/types/components/data-display/DayRuler/DayRuler.parts.d.ts.map +1 -1
  211. package/dist/types/components/data-display/DayRuler/DayRuler.styles.d.ts +20 -23
  212. package/dist/types/components/data-display/DayRuler/DayRuler.styles.d.ts.map +1 -1
  213. package/dist/types/components/data-display/DayRuler/DayRuler.types.d.ts +13 -3
  214. package/dist/types/components/data-display/DayRuler/DayRuler.types.d.ts.map +1 -1
  215. package/dist/types/components/data-display/DayRuler/day-ruler-model.d.ts +27 -0
  216. package/dist/types/components/data-display/DayRuler/day-ruler-model.d.ts.map +1 -1
  217. package/dist/types/components/data-display/DayRuler/useTextFits.d.ts +11 -9
  218. package/dist/types/components/data-display/DayRuler/useTextFits.d.ts.map +1 -1
  219. package/dist/types/components/data-display/ScheduleGrid/schedule-tones.d.ts +8 -0
  220. package/dist/types/components/data-display/ScheduleGrid/schedule-tones.d.ts.map +1 -1
  221. package/dist/types/components/feedback/SequenceResolver/SequenceResolver.d.ts +55 -2
  222. package/dist/types/components/feedback/SequenceResolver/SequenceResolver.d.ts.map +1 -1
  223. package/dist/types/components/feedback/SequenceResolver/SequenceResolver.frame.d.ts +16 -0
  224. package/dist/types/components/feedback/SequenceResolver/SequenceResolver.frame.d.ts.map +1 -0
  225. package/dist/types/components/feedback/SequenceResolver/SequenceResolver.types.d.ts +10 -4
  226. package/dist/types/components/feedback/SequenceResolver/SequenceResolver.types.d.ts.map +1 -1
  227. package/dist/user-avatar.js +4 -4
  228. package/package.json +1 -1
  229. package/src/components/data-display/AlertDialog/AlertDialog.md +25 -1
  230. package/src/components/data-display/AlertDialog/AlertDialog.parts.tsx +28 -0
  231. package/src/components/data-display/AlertDialog/AlertDialog.tsx +34 -5
  232. package/src/components/data-display/DayRuler/DayRuler.footer.styles.ts +54 -0
  233. package/src/components/data-display/DayRuler/DayRuler.footer.tsx +123 -0
  234. package/src/components/data-display/DayRuler/DayRuler.md +37 -13
  235. package/src/components/data-display/DayRuler/DayRuler.metrics.ts +15 -5
  236. package/src/components/data-display/DayRuler/DayRuler.parts.tsx +86 -155
  237. package/src/components/data-display/DayRuler/DayRuler.styles.ts +89 -83
  238. package/src/components/data-display/DayRuler/DayRuler.tsx +3 -2
  239. package/src/components/data-display/DayRuler/DayRuler.types.ts +13 -3
  240. package/src/components/data-display/DayRuler/day-ruler-model.ts +45 -0
  241. package/src/components/data-display/DayRuler/useTextFits.ts +68 -25
  242. package/src/components/data-display/ScheduleGrid/schedule-tones.ts +13 -0
  243. package/src/components/feedback/ConfirmAction/ConfirmAction.md +10 -0
  244. package/src/components/feedback/SequenceResolver/SequenceResolver.frame.tsx +71 -0
  245. package/src/components/feedback/SequenceResolver/SequenceResolver.md +2 -2
  246. package/src/components/feedback/SequenceResolver/SequenceResolver.tsx +122 -61
  247. package/src/components/feedback/SequenceResolver/SequenceResolver.types.ts +10 -4
  248. package/dist/chunk-7ZQ3KQ7J.js.map +0 -1
  249. package/dist/chunk-COK65GX2.js.map +0 -1
  250. package/dist/chunk-LE5JYNR7.js.map +0 -1
  251. package/dist/chunk-OJZLFFG4.js.map +0 -1
  252. package/dist/chunk-PCQ5JWLF.js.map +0 -1
  253. package/dist/chunk-UDBOGSFO.js.map +0 -1
  254. package/dist/chunk-XRV4QFEQ.js.map +0 -1
  255. package/dist/chunk-YMYJO2CZ.js +0 -32
  256. package/dist/chunk-YMYJO2CZ.js.map +0 -1
  257. package/dist/chunk-ZYZPSBNQ.js.map +0 -1
  258. /package/dist/{chunk-LDCZPZPD.js.map → chunk-24HHUCWB.js.map} +0 -0
  259. /package/dist/{chunk-FAUNQ3FS.js.map → chunk-2M3W6ACW.js.map} +0 -0
  260. /package/dist/{chunk-ALOEOGQV.js.map → chunk-3TZUZXY5.js.map} +0 -0
  261. /package/dist/{chunk-DWH4TQXK.js.map → chunk-4E2RQOSQ.js.map} +0 -0
  262. /package/dist/{chunk-4QR7LM5F.js.map → chunk-4J62V5OE.js.map} +0 -0
  263. /package/dist/{chunk-CZVAVX5L.js.map → chunk-6ATXOJVQ.js.map} +0 -0
  264. /package/dist/{chunk-YE7M7URT.js.map → chunk-6D5AMANO.js.map} +0 -0
  265. /package/dist/{chunk-Q3SILZTQ.js.map → chunk-6LGKJVOA.js.map} +0 -0
  266. /package/dist/{chunk-ZCNR4DN5.js.map → chunk-7WE432RQ.js.map} +0 -0
  267. /package/dist/{chunk-EOQ6EKTS.js.map → chunk-7XSCEHGA.js.map} +0 -0
  268. /package/dist/{chunk-B5STMM3R.js.map → chunk-ALMGYCHY.js.map} +0 -0
  269. /package/dist/{chunk-5357QUVE.js.map → chunk-AMLHEKSV.js.map} +0 -0
  270. /package/dist/{chunk-3I5PHWKQ.js.map → chunk-ASEHJIIV.js.map} +0 -0
  271. /package/dist/{chunk-64UNVW6D.js.map → chunk-BP3ZKIPE.js.map} +0 -0
  272. /package/dist/{chunk-OCT5VCLP.js.map → chunk-BQBEN44R.js.map} +0 -0
  273. /package/dist/{chunk-FYUNROLW.js.map → chunk-BZYLTGOE.js.map} +0 -0
  274. /package/dist/{chunk-TZ44F6W7.js.map → chunk-CGS2LQE5.js.map} +0 -0
  275. /package/dist/{chunk-6HXNFNOB.js.map → chunk-EE6DJPB7.js.map} +0 -0
  276. /package/dist/{chunk-QE4KYG5I.js.map → chunk-F2UP5ZF4.js.map} +0 -0
  277. /package/dist/{chunk-P53ANKZV.js.map → chunk-F7LBTMCA.js.map} +0 -0
  278. /package/dist/{chunk-IWSTMVCA.js.map → chunk-FKS2PNJF.js.map} +0 -0
  279. /package/dist/{chunk-3WYEENUH.js.map → chunk-FPNVOB52.js.map} +0 -0
  280. /package/dist/{chunk-E73C73UD.js.map → chunk-FYSS2PYA.js.map} +0 -0
  281. /package/dist/{chunk-N557OEZR.js.map → chunk-G6NMSBSQ.js.map} +0 -0
  282. /package/dist/{chunk-A5OERY43.js.map → chunk-GARM5SX6.js.map} +0 -0
  283. /package/dist/{chunk-66VKX6JE.js.map → chunk-GXGHEOWC.js.map} +0 -0
  284. /package/dist/{chunk-U2SAW6DH.js.map → chunk-GY53SDVL.js.map} +0 -0
  285. /package/dist/{chunk-JVOEVTCZ.js.map → chunk-HQCZT6TO.js.map} +0 -0
  286. /package/dist/{chunk-CNUO2BRV.js.map → chunk-HWZETMO4.js.map} +0 -0
  287. /package/dist/{chunk-MM3QESLI.js.map → chunk-ILJ3FXIC.js.map} +0 -0
  288. /package/dist/{chunk-FWTVIRZZ.js.map → chunk-JVQ56E3U.js.map} +0 -0
  289. /package/dist/{chunk-YOLLISEY.js.map → chunk-JXK53XJW.js.map} +0 -0
  290. /package/dist/{chunk-K6VEN5VN.js.map → chunk-K3PMMW23.js.map} +0 -0
  291. /package/dist/{chunk-T5RFH2T5.js.map → chunk-KOGJBAFI.js.map} +0 -0
  292. /package/dist/{chunk-EKSJES5E.js.map → chunk-KXDLLS62.js.map} +0 -0
  293. /package/dist/{chunk-DBI6AMNY.js.map → chunk-LKWXU6NH.js.map} +0 -0
  294. /package/dist/{chunk-56JF5PZK.js.map → chunk-LYVTJLCF.js.map} +0 -0
  295. /package/dist/{chunk-NXQ6PXLJ.js.map → chunk-LZ5PGB7U.js.map} +0 -0
  296. /package/dist/{chunk-5I75WRXT.js.map → chunk-N3GLX64O.js.map} +0 -0
  297. /package/dist/{chunk-6DO672AG.js.map → chunk-N5PVD4J5.js.map} +0 -0
  298. /package/dist/{chunk-PEAUGQKU.js.map → chunk-NQCTANF3.js.map} +0 -0
  299. /package/dist/{chunk-W676GY42.js.map → chunk-P772HCHI.js.map} +0 -0
  300. /package/dist/{chunk-FQNDJITD.js.map → chunk-RCTHCXS6.js.map} +0 -0
  301. /package/dist/{chunk-VWRXSBT2.js.map → chunk-SB2SEGR6.js.map} +0 -0
  302. /package/dist/{chunk-Z2WZDVGG.js.map → chunk-SI5SKX52.js.map} +0 -0
  303. /package/dist/{chunk-RYJ6XGFA.js.map → chunk-SJAOQGQI.js.map} +0 -0
  304. /package/dist/{chunk-D7R6SRJB.js.map → chunk-SKQPUAMK.js.map} +0 -0
  305. /package/dist/{chunk-AMIUZRDQ.js.map → chunk-SNWCT6JN.js.map} +0 -0
  306. /package/dist/{chunk-7W5X3KQ2.js.map → chunk-SW7JCF4Z.js.map} +0 -0
  307. /package/dist/{chunk-WLLUARTC.js.map → chunk-T2G4LDU5.js.map} +0 -0
  308. /package/dist/{chunk-BNBWUXT3.js.map → chunk-TE6HAWDM.js.map} +0 -0
  309. /package/dist/{chunk-JG733RMP.js.map → chunk-TZC6KIK2.js.map} +0 -0
  310. /package/dist/{chunk-Y3F2F36I.js.map → chunk-U4Z6GZDW.js.map} +0 -0
  311. /package/dist/{chunk-KQDBOZQE.js.map → chunk-UIIHUWOV.js.map} +0 -0
  312. /package/dist/{chunk-L4V7FZJI.js.map → chunk-UKUGSU3Y.js.map} +0 -0
  313. /package/dist/{chunk-D2JQF2WC.js.map → chunk-UOKXYV3U.js.map} +0 -0
  314. /package/dist/{chunk-K7IDOTSU.js.map → chunk-VNMD6BA4.js.map} +0 -0
  315. /package/dist/{chunk-DTZOP4ZR.js.map → chunk-XCUHGPPZ.js.map} +0 -0
  316. /package/dist/{chunk-DBPFKGXX.js.map → chunk-Y7BOP7VZ.js.map} +0 -0
  317. /package/dist/{chunk-BOADHYTA.js.map → chunk-YNZUYZ2O.js.map} +0 -0
  318. /package/dist/{chunk-XNAI7QGU.js.map → chunk-ZM6FJCWS.js.map} +0 -0
  319. /package/dist/{chunk-FC7UCFFA.js.map → chunk-ZPWPA6FR.js.map} +0 -0
@@ -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 { Fragment, isValidElement, 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 { useTextFit } from './useTextFits';\nimport { formatHour, formatRange, hitBoundsOf, percentOf, ticksOf, type BlockTextFit } 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 HitBounds,\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 /** How far its hit band may reach on a narrow ruler, in % of the track (the midpoints to its neighbours). */\n hit: HitBounds;\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\n/** Where nothing can be measured, a block shorter than the prototype's 30% of the ruler says its start. */\nfunction fallbackFit(block: DayRulerBlock, scale: RulerScale): BlockTextFit {\n return (block.end - block.start) / (scale.to - scale.from) >= M.narrowShare ? 'full' : 'short';\n}\n\n/**\n * What the bar's fit puts on it: `data-fit` for the styles, and — while the bar\n * shows less than its full text — that full text as its name, so the name still\n * says all of it.\n */\nfunction fitProps(fit: BlockTextFit, text: string): { 'aria-label'?: string; 'data-fit'?: BlockTextFit } {\n return fit === 'full' ? {} : { 'aria-label': text, 'data-fit': fit };\n}\n\nfunction RulerBlock({ row, block, span, at, hit, 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 const short = block.shortLabel ?? text;\n const fit = useTextFit(ref, text, short, fallbackFit(block, scale));\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, hit })}\n title={block.title ?? block.label}\n {...fitProps(fit, text)}\n aria-keyshortcuts={shortcutsOf(movable, resizable)}\n aria-current={block.selected ? 'true' : undefined}\n ref={ref}\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 {short}\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 const drawn = 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 { block, live, start, end, span: spanOf(start, end, ctx.scale) };\n });\n const preview = mine && mine.mode === 'create' ? previewSpan(mine, ctx.scale) : null;\n // Every bar drawn on the row, the create's preview included, bounds its neighbours' hit bands.\n const hits = hitBoundsOf([...drawn.map((d) => d.span), ...(preview ? [preview] : [])]);\n return (\n <>\n {drawn.map(({ block, live, start, end, span }, index) => (\n <RulerBlock\n key={block.id}\n row={row}\n block={block}\n span={span}\n at={{ start, end }}\n hit={hits[index]!}\n text={live?.moved ? formatRange(start, end) : block.label}\n ctx={ctx}\n testId={`${ctx.testId}-block-${block.id}`}\n />\n ))}\n {mine && preview ? <CreatePreview row={row} drag={mine} span={preview} hit={hits[drawn.length]!} ctx={ctx} /> : null}\n </>\n );\n}\n\n/** Where a create drag's preview is drawn: at least one snap long. */\nfunction previewSpan(drag: RulerDrag, scale: RulerScale): Span {\n return spanOf(drag.start, Math.max(drag.end, drag.start + scale.snap), scale);\n}\n\n/** The block a create drag is drawing, with its live hours. */\nfunction CreatePreview(props: { row: DayRulerRow; drag: RulerDrag; span: Span; hit: HitBounds; ctx: RowContext }): React.JSX.Element {\n const { row, drag, span, hit, ctx } = props;\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={span}\n at={{ start: drag.start, end: drag.end }}\n hit={hit}\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, the now line under its blocks (or the one being dragged, live). */\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 {/* Before the blocks, so it paints under them and never through a label. */}\n {showNow ? <Box sx={nowSx(percentOf(now, scale.from, scale.to))} data-testid={`${ctx.testId}-now`} /> : null}\n <Blocks row={row} ctx={ctx} />\n </Box>\n );\n}\n\n/**\n * Whether a node draws anything: nothing, a boolean, an empty string, an empty\n * array and an empty fragment do not — the actions slot (and its 8px above)\n * is rendered only for content.\n */\nexport function hasContent(node: React.ReactNode): boolean {\n if (node === null || node === undefined || typeof node === 'boolean' || node === '') return false;\n if (Array.isArray(node)) return node.some((child) => hasContent(child as React.ReactNode));\n if (isValidElement<{ children?: React.ReactNode }>(node) && node.type === Fragment) return hasContent(node.props.children);\n return true;\n}\n\n/**\n * One person: name, meta and chips, the row's actions under them · the track.\n * The actions live in the name's column, never a column of their own: a\n * column reserved for one row's \"Iniciar agora\" left every other row a blank\n * band, and a per-row one would have cut the hours out of line (FUT-3831).\n */\nexport function RulerRow({ row, ctx }: { row: DayRulerRow; ctx: RowContext }): React.JSX.Element {\n const hasActions = hasContent(row.actions);\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 {hasActions ? (\n <Box sx={actionsSx} data-testid={`${ctx.testId}-actions-${row.id}`}>\n {row.actions}\n </Box>\n ) : null}\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 </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 </Box>\n );\n}\n"],"mappings":"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","names":["Fragment"]}
@@ -1,12 +1,10 @@
1
+ import {
2
+ useDisclosure
3
+ } from "./chunk-2JCRNWHE.js";
1
4
  import {
2
5
  StandaloneContainer,
3
6
  useRowLayout
4
7
  } from "./chunk-E6K2UZGR.js";
5
- import {
6
- DiscloseSlot,
7
- DragSlot,
8
- SelectSlot
9
- } from "./chunk-QO7UJXXO.js";
10
8
  import {
11
9
  actionProps,
12
10
  metaShape,
@@ -20,8 +18,10 @@ import {
20
18
  ListCardTail
21
19
  } from "./chunk-CSJ7WNXU.js";
22
20
  import {
23
- useDisclosure
24
- } from "./chunk-2JCRNWHE.js";
21
+ DiscloseSlot,
22
+ DragSlot,
23
+ SelectSlot
24
+ } from "./chunk-QO7UJXXO.js";
25
25
  import {
26
26
  DropIndicator
27
27
  } from "./chunk-K4EKTMTC.js";
@@ -185,4 +185,4 @@ function BaseListCard(props) {
185
185
  export {
186
186
  BaseListCard
187
187
  };
188
- //# sourceMappingURL=chunk-IWSTMVCA.js.map
188
+ //# sourceMappingURL=chunk-FKS2PNJF.js.map
@@ -1,21 +1,21 @@
1
- import {
2
- RangeSummary
3
- } from "./chunk-WLDP7C4K.js";
4
1
  import {
5
2
  RangeBounds
6
- } from "./chunk-FC7UCFFA.js";
3
+ } from "./chunk-ZPWPA6FR.js";
7
4
  import {
8
5
  RangePresets
9
6
  } from "./chunk-LZNUBQ5I.js";
10
7
  import {
11
- presetsFor
12
- } from "./chunk-CBOB5AV6.js";
8
+ RangeSummary
9
+ } from "./chunk-WLDP7C4K.js";
13
10
  import {
14
11
  isRangeInverted,
15
12
  isRangeSet,
16
13
  numericRange,
17
14
  rangeChipLabel
18
15
  } from "./chunk-GCZJH4XL.js";
16
+ import {
17
+ presetsFor
18
+ } from "./chunk-CBOB5AV6.js";
19
19
  import {
20
20
  useStillAnchor
21
21
  } from "./chunk-7CUZTWKW.js";
@@ -240,4 +240,4 @@ export {
240
240
  RangePill,
241
241
  PanelRangeField
242
242
  };
243
- //# sourceMappingURL=chunk-3WYEENUH.js.map
243
+ //# sourceMappingURL=chunk-FPNVOB52.js.map
@@ -24,10 +24,10 @@ import {
24
24
  skeletonCellSx,
25
25
  totalCellSx,
26
26
  totalHeaderSx
27
- } from "./chunk-RYJ6XGFA.js";
27
+ } from "./chunk-SJAOQGQI.js";
28
28
  import {
29
29
  ScheduleNameCell
30
- } from "./chunk-TZ44F6W7.js";
30
+ } from "./chunk-CGS2LQE5.js";
31
31
  import {
32
32
  SCHEDULE_GRID_METRICS
33
33
  } from "./chunk-3R6BR22L.js";
@@ -254,4 +254,4 @@ export {
254
254
  GridHeader,
255
255
  GridBody
256
256
  };
257
- //# sourceMappingURL=chunk-E73C73UD.js.map
257
+ //# sourceMappingURL=chunk-FYSS2PYA.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ConfirmActionDialog
3
- } from "./chunk-7W5X3KQ2.js";
3
+ } from "./chunk-SW7JCF4Z.js";
4
4
  import {
5
5
  useConfirmAction
6
6
  } from "./chunk-EMYESBIT.js";
@@ -43,4 +43,4 @@ function useRowConfirm({
43
43
  export {
44
44
  useRowConfirm
45
45
  };
46
- //# sourceMappingURL=chunk-N557OEZR.js.map
46
+ //# sourceMappingURL=chunk-G6NMSBSQ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  signalInk
3
- } from "./chunk-4HK4FVMV.js";
3
+ } from "./chunk-3UAHDLKH.js";
4
4
  import {
5
5
  SCHEDULE_NAME_METRICS
6
6
  } from "./chunk-3R6BR22L.js";
@@ -91,4 +91,4 @@ export {
91
91
  nameLineSx,
92
92
  chipsSx
93
93
  };
94
- //# sourceMappingURL=chunk-A5OERY43.js.map
94
+ //# sourceMappingURL=chunk-GARM5SX6.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-I4DG3PP4.js";
4
4
  import {
5
5
  ManageViewsDialog
6
- } from "./chunk-K7IDOTSU.js";
6
+ } from "./chunk-VNMD6BA4.js";
7
7
  import {
8
8
  useDataViewsCopy
9
9
  } from "./chunk-KHG57NAE.js";
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-4SQ2WCZA.js";
13
13
  import {
14
14
  Alert
15
- } from "./chunk-PEAUGQKU.js";
15
+ } from "./chunk-NQCTANF3.js";
16
16
 
17
17
  // src/components/data-display/DataViews/data-views-table-parts.tsx
18
18
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -121,4 +121,4 @@ export {
121
121
  ViewsMenuSlot,
122
122
  ViewDialogs
123
123
  };
124
- //# sourceMappingURL=chunk-66VKX6JE.js.map
124
+ //# sourceMappingURL=chunk-GXGHEOWC.js.map
@@ -1,3 +1,6 @@
1
+ import {
2
+ CarouselChrome
3
+ } from "./chunk-TB5CRHTF.js";
1
4
  import {
2
5
  containerStyles,
3
6
  frameBox
@@ -8,9 +11,6 @@ import {
8
11
  import {
9
12
  useCarouselNavigation
10
13
  } from "./chunk-RUIV5TVA.js";
11
- import {
12
- CarouselChrome
13
- } from "./chunk-TB5CRHTF.js";
14
14
  import {
15
15
  withDefaults
16
16
  } from "./chunk-HPK33ACY.js";
@@ -151,4 +151,4 @@ var Carousel = (props) => {
151
151
  export {
152
152
  Carousel
153
153
  };
154
- //# sourceMappingURL=chunk-U2SAW6DH.js.map
154
+ //# sourceMappingURL=chunk-GY53SDVL.js.map
@@ -1,11 +1,11 @@
1
- import {
2
- getChartSpecRenderer,
3
- getRegisteredChartSpecTypes
4
- } from "./chunk-WKUA6P3W.js";
5
1
  import {
6
2
  chartAxisValueFormatter,
7
3
  chartValueFormatter
8
4
  } from "./chunk-6GPNZSAE.js";
5
+ import {
6
+ getChartSpecRenderer,
7
+ getRegisteredChartSpecTypes
8
+ } from "./chunk-WKUA6P3W.js";
9
9
 
10
10
  // src/components/data-display/Chart/chart-spec.ts
11
11
  var CHART_SEMANTIC_COLORS = [
@@ -151,4 +151,4 @@ export {
151
151
  parseChartSpec,
152
152
  specToChartProps
153
153
  };
154
- //# sourceMappingURL=chunk-JVOEVTCZ.js.map
154
+ //# sourceMappingURL=chunk-HQCZT6TO.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  GridShell
3
- } from "./chunk-KQDBOZQE.js";
3
+ } from "./chunk-UIIHUWOV.js";
4
4
  import {
5
5
  useDataViewsState
6
- } from "./chunk-ZCNR4DN5.js";
6
+ } from "./chunk-7WE432RQ.js";
7
7
 
8
8
  // src/components/data-display/DataViews/DataViewsGrid.tsx
9
9
  import { useEffect, useRef } from "react";
@@ -27,4 +27,4 @@ function DataViewsGrid(props) {
27
27
  export {
28
28
  DataViewsGrid
29
29
  };
30
- //# sourceMappingURL=chunk-CNUO2BRV.js.map
30
+ //# sourceMappingURL=chunk-HWZETMO4.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  CountedIcon
3
- } from "./chunk-LDCZPZPD.js";
3
+ } from "./chunk-24HHUCWB.js";
4
4
  import {
5
5
  rem
6
6
  } from "./chunk-YKCAJ2TN.js";
@@ -133,4 +133,4 @@ function RailCreateMenu({
133
133
  export {
134
134
  RailCreateMenu
135
135
  };
136
- //# sourceMappingURL=chunk-MM3QESLI.js.map
136
+ //# sourceMappingURL=chunk-ILJ3FXIC.js.map
@@ -3,25 +3,25 @@ import {
3
3
  } from "./chunk-UOS7DEQZ.js";
4
4
  import {
5
5
  LightboxThumbnails
6
- } from "./chunk-64UNVW6D.js";
6
+ } from "./chunk-BP3ZKIPE.js";
7
7
  import {
8
8
  LightboxStage
9
9
  } from "./chunk-SYGM4SHY.js";
10
10
  import {
11
11
  LightboxOverlay
12
- } from "./chunk-WLLUARTC.js";
12
+ } from "./chunk-T2G4LDU5.js";
13
13
  import {
14
14
  LightboxCurrentMedia
15
15
  } from "./chunk-RBGUS7WO.js";
16
+ import {
17
+ LightboxCopyProvider
18
+ } from "./chunk-TEQYTEM2.js";
16
19
  import {
17
20
  useLightbox
18
21
  } from "./chunk-HZBDTPPV.js";
19
22
  import {
20
23
  makeTestId
21
24
  } from "./chunk-VQU3CBAL.js";
22
- import {
23
- LightboxCopyProvider
24
- } from "./chunk-TEQYTEM2.js";
25
25
  import {
26
26
  scrim
27
27
  } from "./chunk-XJAD6E3V.js";
@@ -148,4 +148,4 @@ export {
148
148
  Lightbox,
149
149
  Lightbox_default
150
150
  };
151
- //# sourceMappingURL=chunk-FWTVIRZZ.js.map
151
+ //# sourceMappingURL=chunk-JVQ56E3U.js.map
@@ -1,3 +1,7 @@
1
+ import {
2
+ EnhancedTableBody,
3
+ EnhancedTableHeader
4
+ } from "./chunk-L5KPBMMF.js";
1
5
  import {
2
6
  tableStyles
3
7
  } from "./chunk-BVHIKXCN.js";
@@ -5,14 +9,6 @@ import {
5
9
  useTableSelection,
6
10
  useVirtualScrolling
7
11
  } from "./chunk-RZSMRBOX.js";
8
- import {
9
- EmptyRow,
10
- NoDataPlaceholder
11
- } from "./chunk-XIXR2L3L.js";
12
- import {
13
- EnhancedTableBody,
14
- EnhancedTableHeader
15
- } from "./chunk-L5KPBMMF.js";
16
12
  import {
17
13
  TABLE_DEFAULTS,
18
14
  containerStyle,
@@ -24,6 +20,10 @@ import {
24
20
  tableRowHeight,
25
21
  virtualHeight
26
22
  } from "./chunk-Y3DV7LGC.js";
23
+ import {
24
+ EmptyRow,
25
+ NoDataPlaceholder
26
+ } from "./chunk-XIXR2L3L.js";
27
27
  import {
28
28
  rem
29
29
  } from "./chunk-YKCAJ2TN.js";
@@ -310,4 +310,4 @@ Table.displayName = "Table";
310
310
  export {
311
311
  Table
312
312
  };
313
- //# sourceMappingURL=chunk-YOLLISEY.js.map
313
+ //# sourceMappingURL=chunk-JXK53XJW.js.map
@@ -1,9 +1,9 @@
1
- import {
2
- useDataViewsLayout
3
- } from "./chunk-5CAWRMDX.js";
4
1
  import {
5
2
  DataViewsScopeTabs
6
3
  } from "./chunk-PL2AB5HJ.js";
4
+ import {
5
+ useDataViewsLayout
6
+ } from "./chunk-5CAWRMDX.js";
7
7
 
8
8
  // src/components/data-display/DataViews/data-views-scope-tabs.tsx
9
9
  import { jsx } from "react/jsx-runtime";
@@ -34,4 +34,4 @@ function ScopeTabsSlot({
34
34
  export {
35
35
  ScopeTabsSlot
36
36
  };
37
- //# sourceMappingURL=chunk-K6VEN5VN.js.map
37
+ //# sourceMappingURL=chunk-K3PMMW23.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  withConfirmation
3
- } from "./chunk-ALOEOGQV.js";
3
+ } from "./chunk-3TZUZXY5.js";
4
4
  import {
5
5
  Button
6
6
  } from "./chunk-YOXYSAUI.js";
@@ -18,4 +18,4 @@ function createConfirmButton(copy, errorText) {
18
18
  export {
19
19
  createConfirmButton
20
20
  };
21
- //# sourceMappingURL=chunk-T5RFH2T5.js.map
21
+ //# sourceMappingURL=chunk-KOGJBAFI.js.map
@@ -11,6 +11,11 @@ import CircularProgress from "@mui/material/CircularProgress/index.js";
11
11
  import DialogActions from "@mui/material/DialogActions/index.js";
12
12
  import { styled, useTheme } from "@mui/material/styles/index.js";
13
13
  import { jsx } from "react/jsx-runtime";
14
+ var ALERT_DIALOG_CONTAINER = "alert-dialog";
15
+ var ALERT_DIALOG_NARROW_BELOW = 480;
16
+ function narrowDialog(theme) {
17
+ return `@container ${ALERT_DIALOG_CONTAINER} (width < ${rem(theme, ALERT_DIALOG_NARROW_BELOW)})`;
18
+ }
14
19
  var StyledDialogActions = styled(DialogActions, {
15
20
  shouldForwardProp: (prop) => prop !== "fill"
16
21
  })(({ theme, fill }) => ({
@@ -21,7 +26,9 @@ var StyledDialogActions = styled(DialogActions, {
21
26
  // A 40px tap target, the floor the kit's own Button keeps (FUT-3269): MUI's
22
27
  // medium button is 37px, short of it on a phone.
23
28
  "& > .MuiButton-root": { minHeight: rem(theme, 40) },
24
- ...fill && { "& > .MuiButton-root": { flexGrow: 1, minHeight: rem(theme, 40) } }
29
+ ...fill && { "& > .MuiButton-root": { flexGrow: 1, minHeight: rem(theme, 40) } },
30
+ // A PAIR only: a lone button (`showCancel={false}`) keeps its own width.
31
+ [narrowDialog(theme)]: { "& > .MuiButton-root:not(:only-child)": { flexGrow: 1 } }
25
32
  }));
26
33
  var confirmButtonColor = (variant) => variant === "destructive" ? "error" : "primary";
27
34
  var buttonLooks = (emphasis, variant) => emphasis === "cancel" ? {
@@ -97,6 +104,9 @@ function AlertDialogFooter({
97
104
  }
98
105
 
99
106
  export {
107
+ ALERT_DIALOG_CONTAINER,
108
+ ALERT_DIALOG_NARROW_BELOW,
109
+ narrowDialog,
100
110
  AlertDialogFooter
101
111
  };
102
- //# sourceMappingURL=chunk-COK65GX2.js.map
112
+ //# sourceMappingURL=chunk-KURE5R7Z.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/AlertDialog/AlertDialog.parts.tsx"],"sourcesContent":["/**\n * The AlertDialog's action row, kept apart from the dialog shell so each stays\n * inside the complexity budget: which button is filled, where each one sits,\n * and how the row wraps.\n */\nimport type { ButtonProps } from '@mui/material/Button/index.js';\nimport Button from '@mui/material/Button/index.js';\nimport CircularProgress from '@mui/material/CircularProgress/index.js';\nimport DialogActions from '@mui/material/DialogActions/index.js';\nimport { styled, useTheme } from '@mui/material/styles/index.js';\nimport type { Theme } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport { rem } from '../../../tokens/relative';\nimport { EN_US_UI_LABELS } from '../../../en-US.labels';\n\nimport type { AlertDialogProps } from './AlertDialog.types';\n\n/** The query container the dialog's narrow layout reads: its `.MuiDialog-container`. */\nexport const ALERT_DIALOG_CONTAINER = 'alert-dialog';\n\n/**\n * Below this width of the space the dialog is given, it lays out for a phone:\n * the icon above the title, the buttons each across the row. 480px covers\n * every phone (320–430) and leaves a tablet's dialog as it was.\n */\nexport const ALERT_DIALOG_NARROW_BELOW = 480;\n\n/** `@container` for a dialog given less than {@link ALERT_DIALOG_NARROW_BELOW}. Never a media query. */\nexport function narrowDialog(theme: Theme): string {\n return `@container ${ALERT_DIALOG_CONTAINER} (width < ${rem(theme, ALERT_DIALOG_NARROW_BELOW)})`;\n}\n\n/**\n * The action row WRAPS WHOLE BUTTONS; it never breaks a label inside one. A pair\n * that did not fit side by side used to squeeze the longer label onto two\n * lines, so one button stood twice as tall as its neighbour. Now the row breaks\n * instead. `wrap-reverse` puts the LAST button — the primary, whichever\n * `emphasis` picks — on top when it stacks, the same slot it holds on the right\n * when the row fits. A pair that fits is laid out exactly as before: natural\n * widths, pushed to the right.\n *\n * `fill` — set only by `emphasis=\"cancel\"` — lets the buttons grow to share the\n * row, and so to take the full width of their line once it stacks. It is not\n * the default because growing also stretches a pair that fits, which would\n * redraw every existing dialog's footer.\n *\n * Narrow (a dialog given less than {@link ALERT_DIALOG_NARROW_BELOW}, a\n * phone) a PAIR of buttons always grows (a lone one keeps its width), so a pair that stacks is two buttons each\n * across the row rather than two ragged widths pushed to the right\n * (FUT-3831). The stacked ORDER is the library's rule, the platforms' too\n * (Material's stacked dialog actions, Apple's stacked alert buttons): the\n * primary on top and the dismissive one at the bottom, the slot a thumb\n * reaches first — so on a destructive question the safe tap is the near one,\n * and Cancel is still FIRST in the DOM, the tab order. See\n * `components-guidelines.md`, \"Stacked buttons\".\n *\n * Rendered with `disableSpacing`: MUI's own spacing is a left margin on every\n * button after the first, which would indent a button that wrapped onto a line\n * of its own. The gaps below replace it, at the same 16px across.\n */\nconst StyledDialogActions = styled(DialogActions, {\n shouldForwardProp: (prop) => prop !== 'fill',\n})<{ fill: boolean }>(({ theme, fill }) => ({\n padding: theme.spacing(2, 3, 3, 3),\n flexWrap: 'wrap-reverse',\n columnGap: theme.spacing(2),\n rowGap: theme.spacing(1),\n // A 40px tap target, the floor the kit's own Button keeps (FUT-3269): MUI's\n // medium button is 37px, short of it on a phone.\n '& > .MuiButton-root': { minHeight: rem(theme, 40) },\n ...(fill && { '& > .MuiButton-root': { flexGrow: 1, minHeight: rem(theme, 40) } }),\n // A PAIR only: a lone button (`showCancel={false}`) keeps its own width.\n [narrowDialog(theme)]: { '& > .MuiButton-root:not(:only-child)': { flexGrow: 1 } },\n}));\n\nconst confirmButtonColor = (variant: AlertDialogProps['variant']): 'error' | 'primary' =>\n variant === 'destructive' ? 'error' : 'primary';\n\ninterface ButtonLook {\n variant: ButtonProps['variant'];\n color: ButtonProps['color'];\n}\n\n/**\n * How each button is drawn, by `emphasis`: the emphasised one is filled, the\n * other a NEUTRAL outline. Primary / neutral both ways round — a confirm that\n * steps down drops the variant's colour too, so the one filled button is the\n * only coloured thing in the row and the eye has a single place to land.\n */\nconst buttonLooks = (\n emphasis: AlertDialogProps['emphasis'],\n variant: AlertDialogProps['variant'],\n): { cancel: ButtonLook; confirm: ButtonLook } =>\n emphasis === 'cancel'\n ? {\n cancel: { variant: 'contained', color: 'primary' },\n confirm: { variant: 'outlined', color: 'inherit' },\n }\n : {\n cancel: { variant: 'outlined', color: 'inherit' },\n confirm: { variant: 'contained', color: confirmButtonColor(variant) },\n };\n\n/**\n * The emphasis that applies: `cancel` only while the cancel is shown. A hidden\n * cancel with the confirm stepped down would leave a dialog with no primary.\n */\nconst effectiveEmphasis = (\n emphasis: AlertDialogProps['emphasis'],\n showCancel: boolean,\n): NonNullable<AlertDialogProps['emphasis']> =>\n emphasis === 'cancel' && showCancel ? 'cancel' : 'confirm';\n\n/**\n * Whether the cancel owns focus on open: what `initialFocus` says, and when it\n * says nothing, the emphasised button — so Enter on a steered question keeps\n * the work instead of completing the loss.\n */\nconst focusesCancel = (\n initialFocus: AlertDialogProps['initialFocus'],\n emphasis: NonNullable<AlertDialogProps['emphasis']>,\n): boolean => (initialFocus ?? emphasis) === 'cancel';\n\n/** The two buttons in slot order: the emphasised one LAST, the primary slot. */\nconst inSlotOrder = (\n emphasis: AlertDialogProps['emphasis'],\n cancel: React.ReactNode,\n confirm: React.ReactNode,\n): React.ReactNode[] => (emphasis === 'cancel' ? [confirm, cancel] : [cancel, confirm]);\n\n/**\n * Action row: the optional cancel button and the (variant-coloured) confirm,\n * with the emphasised one LAST — the primary slot, on the right or, once the\n * row stacks, on top. DOM order is the tab order, so it follows the same rule.\n */\nexport function AlertDialogFooter({\n variant,\n cancelText = EN_US_UI_LABELS.alertDialog.cancel,\n confirmText = EN_US_UI_LABELS.alertDialog.confirm,\n showCancel = true,\n loading = false,\n confirmDisabled = false,\n initialFocus,\n emphasis: asked,\n onCancel,\n onConfirm,\n dataTestId,\n}: Pick<\n AlertDialogProps,\n | 'variant'\n | 'cancelText'\n | 'confirmText'\n | 'showCancel'\n | 'loading'\n | 'confirmDisabled'\n | 'initialFocus'\n | 'emphasis'\n> & {\n onCancel: () => void;\n onConfirm: () => void;\n dataTestId: string;\n}): React.ReactElement {\n const theme = useTheme();\n const emphasis = effectiveEmphasis(asked, showCancel);\n const look = buttonLooks(emphasis, variant);\n const cancelFocused = focusesCancel(initialFocus, emphasis);\n const cancel = showCancel && (\n <Button\n key=\"cancel\"\n onClick={onCancel}\n variant={look.cancel.variant}\n color={look.cancel.color}\n disabled={loading}\n autoFocus={cancelFocused}\n data-testid={`${dataTestId}-cancel-button`}\n >\n {cancelText}\n </Button>\n );\n const confirm = (\n <Button\n key=\"confirm\"\n onClick={onConfirm}\n variant={look.confirm.variant}\n color={look.confirm.color}\n disabled={confirmDisabled || loading}\n startIcon={\n loading ? (\n <CircularProgress\n size={rem(theme, 16)}\n color=\"inherit\"\n data-testid={`${dataTestId}-loading-spinner`}\n />\n ) : undefined\n }\n autoFocus={!cancelFocused}\n data-testid={`${dataTestId}-confirm-button`}\n >\n {confirmText}\n </Button>\n );\n return (\n <StyledDialogActions\n disableSpacing\n fill={emphasis === 'cancel'}\n data-testid={`${dataTestId}-actions`}\n >\n {inSlotOrder(emphasis, cancel, confirm)}\n </StyledDialogActions>\n );\n}\n"],"mappings":"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","names":[]}
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  DAY_RULER_METRICS
3
- } from "./chunk-7ZQ3KQ7J.js";
3
+ } from "./chunk-273OLFJD.js";
4
4
  import {
5
5
  createdSpan,
6
6
  hourAt,
7
7
  moved,
8
8
  resized
9
- } from "./chunk-LE5JYNR7.js";
9
+ } from "./chunk-L5CAHQIN.js";
10
10
  import {
11
11
  useDragWindow,
12
12
  useTrailingClick
@@ -101,4 +101,4 @@ function useRulerDrag(scale, handlers) {
101
101
  export {
102
102
  useRulerDrag
103
103
  };
104
- //# sourceMappingURL=chunk-EKSJES5E.js.map
104
+ //# sourceMappingURL=chunk-KXDLLS62.js.map
@@ -42,6 +42,25 @@ function ticksOf(from, to, step) {
42
42
  for (let h = from; h <= to + 1e-9; h += step) out.push(h);
43
43
  return out;
44
44
  }
45
+ function hitBoundsOf(spans) {
46
+ const order = spans.map((_, index) => index).sort((a, b) => spans[a].at - spans[b].at);
47
+ const out = spans.map(() => ({ lo: 0, hi: 100 }));
48
+ for (let k = 1; k < order.length; k += 1) {
49
+ const left = spans[order[k - 1]];
50
+ const right = spans[order[k]];
51
+ const leftEnd = left.at + left.share;
52
+ const mid = leftEnd <= right.at ? (leftEnd + right.at) / 2 : null;
53
+ out[order[k - 1]].hi = Math.min(out[order[k - 1]].hi, mid ?? leftEnd);
54
+ out[order[k]].lo = Math.max(out[order[k]].lo, mid ?? right.at);
55
+ }
56
+ return out;
57
+ }
58
+ function textFitOf(fullWidth, shortWidth, room) {
59
+ const slack = 0.5;
60
+ if (fullWidth <= room + slack) return "full";
61
+ if (shortWidth <= room + slack) return "short";
62
+ return "none";
63
+ }
45
64
 
46
65
  export {
47
66
  snapTo,
@@ -53,6 +72,8 @@ export {
53
72
  moved,
54
73
  resized,
55
74
  createdSpan,
56
- ticksOf
75
+ ticksOf,
76
+ hitBoundsOf,
77
+ textFitOf
57
78
  };
58
- //# sourceMappingURL=chunk-LE5JYNR7.js.map
79
+ //# sourceMappingURL=chunk-L5CAHQIN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/DayRuler/day-ruler-model.ts"],"sourcesContent":["import type { RulerHour } from './DayRuler.types';\n\n/**\n * THE RULER'S ARITHMETIC, as pure functions (FUT-3825): snapping, clamping,\n * positions and the HH:MM the ruler writes. Hours are from the day's\n * midnight; past 24 is the next morning.\n */\n\n/** `h` on the `snap`-hour grid (0.25 for 15 minutes). */\nexport function snapTo(h: RulerHour, snap: number): RulerHour {\n return snap > 0 ? Math.round(h / snap) * snap : h;\n}\n\nexport function clamp(h: RulerHour, from: RulerHour, to: RulerHour): RulerHour {\n return Math.min(to, Math.max(from, h));\n}\n\n/** The hour under `x` on a track whose box starts at `left` and is `width` wide, snapped and clamped. */\nexport function hourAt(x: number, left: number, width: number, from: RulerHour, to: RulerHour, snap: number): RulerHour {\n const share = width > 0 ? (x - left) / width : 0;\n return clamp(snapTo(from + share * (to - from), snap), from, to);\n}\n\n/** Where `h` sits along the ruler, 0..100 (%), clamped to it. */\nexport function percentOf(h: RulerHour, from: RulerHour, to: RulerHour): number {\n return ((clamp(h, from, to) - from) / (to - from)) * 100;\n}\n\n/** \"20:45\"; 26 → \"02:00\", 24 → \"00:00\". */\nexport function formatHour(h: RulerHour): string {\n const minutes = Math.round(h * 60);\n const hh = Math.floor(minutes / 60) % 24;\n const mm = minutes % 60;\n return `${String(hh).padStart(2, '0')}:${String(mm).padStart(2, '0')}`;\n}\n\n/** \"20:45–00:45\". */\nexport function formatRange(start: RulerHour, end: RulerHour): string {\n return `${formatHour(start)}–${formatHour(end)}`;\n}\n\n/** A block slid by `delta`, keeping its length and staying on the ruler. */\nexport function moved(start: RulerHour, end: RulerHour, delta: number, from: RulerHour, to: RulerHour): [RulerHour, RulerHour] {\n const length = end - start;\n const next = clamp(start + delta, from, to - length);\n return [next, next + length];\n}\n\n/** A block whose `side` was dragged to `h`, never shorter than `minHours`, never off the ruler. */\nexport function resized(\n start: RulerHour,\n end: RulerHour,\n side: 'start' | 'end',\n h: RulerHour,\n minHours: number,\n from: RulerHour,\n to: RulerHour,\n): [RulerHour, RulerHour] {\n if (side === 'start') return [clamp(Math.min(h, end - minHours), from, to), end];\n return [start, clamp(Math.max(h, start + minHours), from, to)];\n}\n\n/** A click alone (shorter than `minHours`) becomes `createHours` from where it was pressed. */\nexport function createdSpan(\n a: RulerHour,\n b: RulerHour,\n minHours: number,\n createHours: number,\n to: RulerHour,\n): [RulerHour, RulerHour] {\n const start = Math.min(a, b);\n const end = Math.max(a, b);\n if (end - start >= minHours) return [start, end];\n return [start, Math.min(to, start + createHours)];\n}\n\n/** The axis labels: every `step` hours from `from` to `to`, both ends included. */\nexport function ticksOf(from: RulerHour, to: RulerHour, step: number): RulerHour[] {\n const out: RulerHour[] = [];\n if (step <= 0) return [from, to];\n for (let h = from; h <= to + 1e-9; h += step) out.push(h);\n return out;\n}\n\n/** A bar along the track: where it starts and how long it is, both in % of the track. */\nexport interface TrackSpan {\n at: number;\n share: number;\n}\n\n/**\n * How far each bar's hit band may reach, in % of the track (FUT-3831): from\n * `lo` to `hi`, never past the track's ends and never past the MIDPOINT of\n * the gap to the bar beside it, so a band widened round a short bar cannot\n * take a tap meant for its neighbour. Two bars that touch or overlap give each\n * other nothing: the band stays on the bar's own edge on that side.\n *\n * The band itself is drawn in CSS — at least the hit area wide, centred on the\n * bar, then cut to `lo…hi` — because the bar's width in px is the layout's.\n */\nexport function hitBoundsOf(spans: readonly TrackSpan[]): { lo: number; hi: number }[] {\n const order = spans.map((_, index) => index).sort((a, b) => spans[a]!.at - spans[b]!.at);\n const out = spans.map(() => ({ lo: 0, hi: 100 }));\n for (let k = 1; k < order.length; k += 1) {\n const left = spans[order[k - 1]!]!;\n const right = spans[order[k]!]!;\n const leftEnd = left.at + left.share;\n const mid = leftEnd <= right.at ? (leftEnd + right.at) / 2 : null;\n out[order[k - 1]!]!.hi = Math.min(out[order[k - 1]!]!.hi, mid ?? leftEnd);\n out[order[k]!]!.lo = Math.max(out[order[k]!]!.lo, mid ?? right.at);\n }\n return out;\n}\n\n/** What a block can say in its bar: its full text, its start, or nothing. */\nexport type BlockTextFit = 'full' | 'short' | 'none';\n\n/**\n * Which of a block's texts fits the room it leaves inside the bar, by pixels\n * (FUT-3831): the full one, else the short one, else NOTHING — a cut \"12:\"\n * says less than an empty bar whose title and accessible name carry the text.\n */\nexport function textFitOf(fullWidth: number, shortWidth: number, room: number): BlockTextFit {\n const slack = 0.5;\n if (fullWidth <= room + slack) return 'full';\n if (shortWidth <= room + slack) return 'short';\n return 'none';\n}\n"],"mappings":"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","names":[]}
@@ -1,9 +1,9 @@
1
+ import {
2
+ DataViewsDisplayPanel
3
+ } from "./chunk-EE6DJPB7.js";
1
4
  import {
2
5
  DataViewsExportMenu
3
6
  } from "./chunk-4NG3LTRX.js";
4
- import {
5
- DataViewsDisplayPanel
6
- } from "./chunk-6HXNFNOB.js";
7
7
  import {
8
8
  STICKY_BAR_ATTR
9
9
  } from "./chunk-4IE66GY2.js";
@@ -143,4 +143,4 @@ function GridToolbar(props) {
143
143
  export {
144
144
  GridToolbar
145
145
  };
146
- //# sourceMappingURL=chunk-DBI6AMNY.js.map
146
+ //# sourceMappingURL=chunk-LKWXU6NH.js.map
@@ -1,9 +1,9 @@
1
- import {
2
- SPRING_CONFIG
3
- } from "./chunk-IM4DMKH4.js";
4
1
  import {
5
2
  useDragGestures
6
3
  } from "./chunk-CRN4KKNI.js";
4
+ import {
5
+ SPRING_CONFIG
6
+ } from "./chunk-IM4DMKH4.js";
7
7
 
8
8
  // src/components/data-display/Sheet/Sheet.hooks.ts
9
9
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
@@ -213,4 +213,4 @@ export {
213
213
  useSheetDrag,
214
214
  useSheetOpen
215
215
  };
216
- //# sourceMappingURL=chunk-56JF5PZK.js.map
216
+ //# sourceMappingURL=chunk-LYVTJLCF.js.map
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  useSheetDrag,
12
12
  useSheetOpen
13
- } from "./chunk-56JF5PZK.js";
13
+ } from "./chunk-LYVTJLCF.js";
14
14
  import {
15
15
  DEFAULT_DRAG_RESISTANCE,
16
16
  DEFAULT_VELOCITY_THRESHOLD,
@@ -143,4 +143,4 @@ var Sheet = (props) => {
143
143
  export {
144
144
  Sheet
145
145
  };
146
- //# sourceMappingURL=chunk-NXQ6PXLJ.js.map
146
+ //# sourceMappingURL=chunk-LZ5PGB7U.js.map