@12-apps/ui 6.91.0 → 6.92.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 (273) hide show
  1. package/components-catalog.md +2 -2
  2. package/dist/_internal/components/data-display/Alert/Alert.js +2 -2
  3. package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +3 -3
  4. package/dist/_internal/components/data-display/Badge/Badge.js +2 -2
  5. package/dist/_internal/components/data-display/CardKit/card-actions-context.js +3 -3
  6. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +4 -4
  7. package/dist/_internal/components/data-display/Chart/Chart.js +3 -3
  8. package/dist/_internal/components/data-display/Chart/SpecChart.js +5 -5
  9. package/dist/_internal/components/data-display/Chart/chart-renderers.js +2 -2
  10. package/dist/_internal/components/data-display/Chip/Chip.js +3 -3
  11. package/dist/_internal/components/data-display/Chip/Chip.styles.js +2 -2
  12. package/dist/_internal/components/data-display/DataGrid/DataGrid.js +2 -2
  13. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +20 -20
  14. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +26 -26
  15. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +1 -1
  16. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +5 -5
  17. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +4 -4
  18. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +17 -17
  19. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +7 -7
  20. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +5 -5
  21. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +6 -6
  22. package/dist/_internal/components/data-display/DataViews/data-views-range-bounds.js +2 -2
  23. package/dist/_internal/components/data-display/DataViews/data-views-range-calendar.js +1 -1
  24. package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +4 -4
  25. package/dist/_internal/components/data-display/DataViews/data-views-range-summary.js +1 -1
  26. package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +2 -2
  27. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +1 -1
  28. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +4 -4
  29. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +1 -1
  30. package/dist/_internal/components/data-display/DayRuler/DayRuler.en-US.js +1 -1
  31. package/dist/_internal/components/data-display/DayRuler/DayRuler.js +5 -5
  32. package/dist/_internal/components/data-display/DayRuler/DayRuler.labels.js +3 -3
  33. package/dist/_internal/components/data-display/DayRuler/DayRuler.parts.js +9 -4
  34. package/dist/_internal/components/data-display/DayRuler/DayRuler.pt-BR.js +1 -1
  35. package/dist/_internal/components/data-display/DayRuler/DayRuler.styles.js +9 -1
  36. package/dist/_internal/components/data-display/EmptyState/EmptyState.js +2 -2
  37. package/dist/_internal/components/data-display/FleetMap/FleetBody.js +5 -5
  38. package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +4 -4
  39. package/dist/_internal/components/data-display/FleetMap/FleetMap.js +9 -9
  40. package/dist/_internal/components/data-display/InteractiveTooltip/InteractiveTooltip.js +2 -2
  41. package/dist/_internal/components/data-display/Lightbox/Lightbox.js +2 -2
  42. package/dist/_internal/components/data-display/MapPreview/MapLayers.js +2 -2
  43. package/dist/_internal/components/data-display/MapPreview/MapPreview.js +3 -3
  44. package/dist/_internal/components/data-display/RegionMap/RegionMap.js +2 -2
  45. package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.js +4 -3
  46. package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.parts.js +3 -2
  47. package/dist/_internal/components/data-display/ScheduleGrid/schedule-header-host.styles.js +12 -0
  48. package/dist/_internal/components/data-display/ScheduleGrid/schedule-header-host.styles.js.map +1 -0
  49. package/dist/_internal/components/data-display/SectionOnboarding/SectionOnboarding.js +3 -3
  50. package/dist/_internal/components/data-display/index.js +42 -41
  51. package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +3 -3
  52. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.js +5 -5
  53. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.overview.js +4 -4
  54. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.parts.js +3 -3
  55. package/dist/_internal/components/feedback/index.js +6 -6
  56. package/dist/_internal/components/index.js +60 -59
  57. package/dist/_internal/components/layout/SettingCard/SettingCard.js +8 -8
  58. package/dist/_internal/components/layout/SettingCard/SettingCard.parts.js +4 -4
  59. package/dist/_internal/components/layout/SettingCard/SettingCard.summary.js +7 -7
  60. package/dist/_internal/components/layout/SettingCard/SettingGrid.js +5 -5
  61. package/dist/_internal/components/layout/SettingCard/SettingGroup.js +9 -9
  62. package/dist/_internal/components/layout/SettingCard/SettingSwitch.js +8 -8
  63. package/dist/_internal/components/layout/SettingCard/SettingToggle.js +9 -9
  64. package/dist/_internal/components/layout/index.js +12 -12
  65. package/dist/_internal/components/navigation/SectionNav/SectionNav.bar.js +6 -6
  66. package/dist/_internal/components/navigation/SectionNav/SectionNav.js +9 -9
  67. package/dist/_internal/components/navigation/SectionNav/SectionNav.parts.js +3 -3
  68. package/dist/_internal/components/navigation/SectionNav/SectionNav.primary.js +4 -4
  69. package/dist/_internal/components/navigation/SectionNav/SectionNav.rail.js +5 -5
  70. package/dist/_internal/components/navigation/SectionNav/SectionNav.railCreate.js +4 -4
  71. package/dist/_internal/components/navigation/SectionNav/SectionNav.sheet.js +4 -4
  72. package/dist/_internal/components/navigation/index.js +9 -9
  73. package/dist/charts.js +6 -6
  74. package/dist/{chunk-HC6OZ7QK.js → chunk-3EIRRLCQ.js} +2 -2
  75. package/dist/{chunk-U2AEM3K4.js → chunk-3PQL2EN5.js} +2 -2
  76. package/dist/{chunk-7NP2JHGM.js → chunk-3WYEENUH.js} +11 -6
  77. package/dist/chunk-3WYEENUH.js.map +1 -0
  78. package/dist/{chunk-M3XJVD5G.js → chunk-5357QUVE.js} +2 -2
  79. package/dist/{chunk-Z7T4EFEC.js → chunk-5I75WRXT.js} +4 -4
  80. package/dist/chunk-5MXVKZKZ.js +30 -0
  81. package/dist/chunk-5MXVKZKZ.js.map +1 -0
  82. package/dist/{chunk-5E2CRRD4.js → chunk-66VKX6JE.js} +5 -5
  83. package/dist/{chunk-N5PVD4J5.js → chunk-6DO672AG.js} +7 -7
  84. package/dist/{chunk-76DX2IMH.js → chunk-7F6D73NL.js} +2 -2
  85. package/dist/{chunk-SNWCT6JN.js → chunk-AMIUZRDQ.js} +3 -3
  86. package/dist/{chunk-A3DDEKLV.js → chunk-BOADHYTA.js} +2 -2
  87. package/dist/{chunk-JKZPGCN7.js → chunk-BXZMV6QC.js} +12 -12
  88. package/dist/{chunk-JH2XLVWM.js → chunk-CW5Z67NA.js} +2 -2
  89. package/dist/{chunk-3JZ3KEQQ.js → chunk-CZVAVX5L.js} +4 -4
  90. package/dist/{chunk-O3OU3ED7.js → chunk-D7R6SRJB.js} +3 -3
  91. package/dist/{chunk-O3OU3ED7.js.map → chunk-D7R6SRJB.js.map} +1 -1
  92. package/dist/{chunk-DVX4HDNP.js → chunk-DBPFKGXX.js} +2 -2
  93. package/dist/{chunk-QN7FVZQD.js → chunk-DHAXUVMR.js} +4 -4
  94. package/dist/{chunk-XCUHGPPZ.js → chunk-DTZOP4ZR.js} +2 -2
  95. package/dist/{chunk-BLZDSCIZ.js → chunk-DYHOBKPU.js} +6 -6
  96. package/dist/{chunk-MX2RF34M.js → chunk-E73C73UD.js} +15 -7
  97. package/dist/chunk-E73C73UD.js.map +1 -0
  98. package/dist/{chunk-42D7KBDH.js → chunk-EOIRU62W.js} +2 -2
  99. package/dist/{chunk-HNW7IZPV.js → chunk-EZBBLLEU.js} +5 -5
  100. package/dist/{chunk-HNW7IZPV.js.map → chunk-EZBBLLEU.js.map} +1 -1
  101. package/dist/{chunk-K3IB7S7Q.js → chunk-F2ZUUEXC.js} +3 -2
  102. package/dist/{chunk-K3IB7S7Q.js.map → chunk-F2ZUUEXC.js.map} +1 -1
  103. package/dist/{chunk-2M3W6ACW.js → chunk-FAUNQ3FS.js} +3 -3
  104. package/dist/{chunk-FORAVDJF.js → chunk-FC7UCFFA.js} +35 -7
  105. package/dist/chunk-FC7UCFFA.js.map +1 -0
  106. package/dist/{chunk-PJNIJIE6.js → chunk-FQNDJITD.js} +2 -2
  107. package/dist/{chunk-ZIHSCBMN.js → chunk-FWTVIRZZ.js} +4 -4
  108. package/dist/{chunk-L3PDY7CJ.js → chunk-FYUNROLW.js} +2 -2
  109. package/dist/{chunk-KJKD6Y6V.js → chunk-GBB23QLL.js} +3 -3
  110. package/dist/{chunk-MICX23P4.js → chunk-HRES2S3Q.js} +85 -8
  111. package/dist/chunk-HRES2S3Q.js.map +1 -0
  112. package/dist/{chunk-XILMDEGZ.js → chunk-IEUVP6UV.js} +3 -3
  113. package/dist/{chunk-3IDL7NK7.js → chunk-K2VDRODL.js} +2 -2
  114. package/dist/{chunk-K3PMMW23.js → chunk-K6VEN5VN.js} +4 -4
  115. package/dist/{chunk-UKUGSU3Y.js → chunk-L4V7FZJI.js} +2 -2
  116. package/dist/{chunk-24HHUCWB.js → chunk-LDCZPZPD.js} +2 -2
  117. package/dist/{chunk-42TOCPXB.js → chunk-LXIPBHNJ.js} +5 -5
  118. package/dist/{chunk-ILJ3FXIC.js → chunk-MM3QESLI.js} +2 -2
  119. package/dist/{chunk-PGANINQD.js → chunk-NI67M453.js} +5 -5
  120. package/dist/{chunk-JN2IANXD.js → chunk-OCGPOACB.js} +2 -2
  121. package/dist/{chunk-RDCIST7P.js → chunk-OCT5VCLP.js} +2 -2
  122. package/dist/{chunk-G2PVUPE7.js → chunk-OJZLFFG4.js} +41 -3
  123. package/dist/chunk-OJZLFFG4.js.map +1 -0
  124. package/dist/{chunk-F7LBTMCA.js → chunk-P53ANKZV.js} +4 -4
  125. package/dist/{chunk-HMEGQKNQ.js → chunk-PCQ5JWLF.js} +15 -7
  126. package/dist/chunk-PCQ5JWLF.js.map +1 -0
  127. package/dist/{chunk-QVDEGBME.js → chunk-PEAUGQKU.js} +4 -4
  128. package/dist/{chunk-HS662RLW.js → chunk-RZWU2KYP.js} +2 -2
  129. package/dist/{chunk-U2QXQ7D4.js → chunk-S2VZUBM7.js} +4 -4
  130. package/dist/{chunk-HOPRZEBM.js → chunk-SKIAWOUC.js} +3 -3
  131. package/dist/{chunk-WCF56ZCD.js → chunk-TMINUTQQ.js} +2 -2
  132. package/dist/{chunk-ACM3HHZY.js → chunk-UDBOGSFO.js} +68 -2
  133. package/dist/chunk-UDBOGSFO.js.map +1 -0
  134. package/dist/{chunk-MZAYIG2I.js → chunk-VCJ72ODU.js} +2 -2
  135. package/dist/{chunk-YGQM6GFQ.js → chunk-VHE7UEG5.js} +2 -2
  136. package/dist/{chunk-QHIWV55K.js → chunk-VWRXSBT2.js} +2 -2
  137. package/dist/chunk-WLDP7C4K.js +44 -0
  138. package/dist/chunk-WLDP7C4K.js.map +1 -0
  139. package/dist/{chunk-TSEBMVYY.js → chunk-X2GWR75Q.js} +3 -3
  140. package/dist/{chunk-NKEFH3RS.js → chunk-XNAI7QGU.js} +2 -2
  141. package/dist/{chunk-L6JAALMX.js → chunk-XRV4QFEQ.js} +3 -3
  142. package/dist/{chunk-WH3LUOCQ.js → chunk-YE7M7URT.js} +2 -2
  143. package/dist/{chunk-DA3D5X5Z.js → chunk-YVDNCV2D.js} +6 -6
  144. package/dist/{chunk-G3JFESKD.js → chunk-Z5WUSI47.js} +6 -6
  145. package/dist/{chunk-5HADIIWN.js → chunk-ZDAAHCIS.js} +3 -3
  146. package/dist/{chunk-D3OXTS7Y.js → chunk-ZHCZOPKE.js} +3 -2
  147. package/dist/{chunk-D3OXTS7Y.js.map → chunk-ZHCZOPKE.js.map} +1 -1
  148. package/dist/{chunk-4KWDNGMA.js → chunk-ZVHHFLYY.js} +3 -3
  149. package/dist/data-display/Alert.js +2 -2
  150. package/dist/data-display/AsyncStateContainer.js +3 -3
  151. package/dist/data-display/Badge.js +2 -2
  152. package/dist/data-display/CardKit.js +7 -7
  153. package/dist/data-display/Chart.js +6 -6
  154. package/dist/data-display/Chip.js +3 -3
  155. package/dist/data-display/DataGrid.js +2 -2
  156. package/dist/data-display/DataViews.js +35 -35
  157. package/dist/data-display/DayRuler.js +7 -7
  158. package/dist/data-display/EmptyState.js +2 -2
  159. package/dist/data-display/FleetMap.js +9 -9
  160. package/dist/data-display/InteractiveTooltip.js +2 -2
  161. package/dist/data-display/Lightbox.js +2 -2
  162. package/dist/data-display/MapPreview.js +3 -3
  163. package/dist/data-display/RegionMap.js +2 -2
  164. package/dist/data-display/ScheduleGrid.js +4 -3
  165. package/dist/data-display/SectionOnboarding.js +3 -3
  166. package/dist/feedback/NotificationStatusNotice.js +3 -3
  167. package/dist/feedback/SequenceResolver.js +5 -5
  168. package/dist/layout/SettingCard.js +12 -12
  169. package/dist/navigation/SectionNav.js +9 -9
  170. package/dist/types/components/data-display/DataViews/data-views-range-bounds.d.ts +6 -1
  171. package/dist/types/components/data-display/DataViews/data-views-range-bounds.d.ts.map +1 -1
  172. package/dist/types/components/data-display/DataViews/data-views-range-calendar.d.ts +13 -1
  173. package/dist/types/components/data-display/DataViews/data-views-range-calendar.d.ts.map +1 -1
  174. package/dist/types/components/data-display/DataViews/data-views-range-pill.d.ts.map +1 -1
  175. package/dist/types/components/data-display/DataViews/data-views-range-summary.d.ts +4 -5
  176. package/dist/types/components/data-display/DataViews/data-views-range-summary.d.ts.map +1 -1
  177. package/dist/types/components/data-display/DayRuler/DayRuler.d.ts.map +1 -1
  178. package/dist/types/components/data-display/DayRuler/DayRuler.en-US.d.ts.map +1 -1
  179. package/dist/types/components/data-display/DayRuler/DayRuler.labels.d.ts +2 -0
  180. package/dist/types/components/data-display/DayRuler/DayRuler.labels.d.ts.map +1 -1
  181. package/dist/types/components/data-display/DayRuler/DayRuler.parts.d.ts +13 -1
  182. package/dist/types/components/data-display/DayRuler/DayRuler.parts.d.ts.map +1 -1
  183. package/dist/types/components/data-display/DayRuler/DayRuler.pt-BR.d.ts.map +1 -1
  184. package/dist/types/components/data-display/DayRuler/DayRuler.styles.d.ts +16 -0
  185. package/dist/types/components/data-display/DayRuler/DayRuler.styles.d.ts.map +1 -1
  186. package/dist/types/components/data-display/DayRuler/DayRuler.types.d.ts +44 -1
  187. package/dist/types/components/data-display/DayRuler/DayRuler.types.d.ts.map +1 -1
  188. package/dist/types/components/data-display/DayRuler/index.d.ts +1 -1
  189. package/dist/types/components/data-display/DayRuler/index.d.ts.map +1 -1
  190. package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.parts.d.ts +3 -1
  191. package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.parts.d.ts.map +1 -1
  192. package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.types.d.ts +12 -0
  193. package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.types.d.ts.map +1 -1
  194. package/dist/types/components/data-display/ScheduleGrid/schedule-header-host.styles.d.ts +16 -0
  195. package/dist/types/components/data-display/ScheduleGrid/schedule-header-host.styles.d.ts.map +1 -0
  196. package/package.json +1 -1
  197. package/src/components/data-display/DataViews/RESPONSIVE-BEHAVIOUR.md +8 -4
  198. package/src/components/data-display/DataViews/data-views-range-bounds.tsx +57 -3
  199. package/src/components/data-display/DataViews/data-views-range-calendar.tsx +122 -8
  200. package/src/components/data-display/DataViews/data-views-range-pill.tsx +5 -0
  201. package/src/components/data-display/DataViews/data-views-range-summary.tsx +9 -22
  202. package/src/components/data-display/DayRuler/DayRuler.en-US.ts +1 -0
  203. package/src/components/data-display/DayRuler/DayRuler.labels.ts +2 -0
  204. package/src/components/data-display/DayRuler/DayRuler.md +3 -2
  205. package/src/components/data-display/DayRuler/DayRuler.parts.tsx +120 -1
  206. package/src/components/data-display/DayRuler/DayRuler.pt-BR.ts +1 -0
  207. package/src/components/data-display/DayRuler/DayRuler.styles.ts +50 -1
  208. package/src/components/data-display/DayRuler/DayRuler.tsx +10 -1
  209. package/src/components/data-display/DayRuler/DayRuler.types.ts +30 -1
  210. package/src/components/data-display/DayRuler/index.ts +2 -0
  211. package/src/components/data-display/ScheduleGrid/ScheduleGrid.md +3 -2
  212. package/src/components/data-display/ScheduleGrid/ScheduleGrid.parts.tsx +18 -3
  213. package/src/components/data-display/ScheduleGrid/ScheduleGrid.tsx +1 -1
  214. package/src/components/data-display/ScheduleGrid/ScheduleGrid.types.ts +12 -0
  215. package/src/components/data-display/ScheduleGrid/schedule-header-host.styles.ts +35 -0
  216. package/dist/chunk-7NP2JHGM.js.map +0 -1
  217. package/dist/chunk-ACM3HHZY.js.map +0 -1
  218. package/dist/chunk-FORAVDJF.js.map +0 -1
  219. package/dist/chunk-G2PVUPE7.js.map +0 -1
  220. package/dist/chunk-HMEGQKNQ.js.map +0 -1
  221. package/dist/chunk-J2AVWIMM.js +0 -60
  222. package/dist/chunk-J2AVWIMM.js.map +0 -1
  223. package/dist/chunk-MICX23P4.js.map +0 -1
  224. package/dist/chunk-MX2RF34M.js.map +0 -1
  225. /package/dist/{chunk-HC6OZ7QK.js.map → chunk-3EIRRLCQ.js.map} +0 -0
  226. /package/dist/{chunk-U2AEM3K4.js.map → chunk-3PQL2EN5.js.map} +0 -0
  227. /package/dist/{chunk-M3XJVD5G.js.map → chunk-5357QUVE.js.map} +0 -0
  228. /package/dist/{chunk-Z7T4EFEC.js.map → chunk-5I75WRXT.js.map} +0 -0
  229. /package/dist/{chunk-5E2CRRD4.js.map → chunk-66VKX6JE.js.map} +0 -0
  230. /package/dist/{chunk-N5PVD4J5.js.map → chunk-6DO672AG.js.map} +0 -0
  231. /package/dist/{chunk-76DX2IMH.js.map → chunk-7F6D73NL.js.map} +0 -0
  232. /package/dist/{chunk-SNWCT6JN.js.map → chunk-AMIUZRDQ.js.map} +0 -0
  233. /package/dist/{chunk-A3DDEKLV.js.map → chunk-BOADHYTA.js.map} +0 -0
  234. /package/dist/{chunk-JKZPGCN7.js.map → chunk-BXZMV6QC.js.map} +0 -0
  235. /package/dist/{chunk-JH2XLVWM.js.map → chunk-CW5Z67NA.js.map} +0 -0
  236. /package/dist/{chunk-3JZ3KEQQ.js.map → chunk-CZVAVX5L.js.map} +0 -0
  237. /package/dist/{chunk-DVX4HDNP.js.map → chunk-DBPFKGXX.js.map} +0 -0
  238. /package/dist/{chunk-QN7FVZQD.js.map → chunk-DHAXUVMR.js.map} +0 -0
  239. /package/dist/{chunk-XCUHGPPZ.js.map → chunk-DTZOP4ZR.js.map} +0 -0
  240. /package/dist/{chunk-BLZDSCIZ.js.map → chunk-DYHOBKPU.js.map} +0 -0
  241. /package/dist/{chunk-42D7KBDH.js.map → chunk-EOIRU62W.js.map} +0 -0
  242. /package/dist/{chunk-2M3W6ACW.js.map → chunk-FAUNQ3FS.js.map} +0 -0
  243. /package/dist/{chunk-PJNIJIE6.js.map → chunk-FQNDJITD.js.map} +0 -0
  244. /package/dist/{chunk-ZIHSCBMN.js.map → chunk-FWTVIRZZ.js.map} +0 -0
  245. /package/dist/{chunk-L3PDY7CJ.js.map → chunk-FYUNROLW.js.map} +0 -0
  246. /package/dist/{chunk-KJKD6Y6V.js.map → chunk-GBB23QLL.js.map} +0 -0
  247. /package/dist/{chunk-XILMDEGZ.js.map → chunk-IEUVP6UV.js.map} +0 -0
  248. /package/dist/{chunk-3IDL7NK7.js.map → chunk-K2VDRODL.js.map} +0 -0
  249. /package/dist/{chunk-K3PMMW23.js.map → chunk-K6VEN5VN.js.map} +0 -0
  250. /package/dist/{chunk-UKUGSU3Y.js.map → chunk-L4V7FZJI.js.map} +0 -0
  251. /package/dist/{chunk-24HHUCWB.js.map → chunk-LDCZPZPD.js.map} +0 -0
  252. /package/dist/{chunk-42TOCPXB.js.map → chunk-LXIPBHNJ.js.map} +0 -0
  253. /package/dist/{chunk-ILJ3FXIC.js.map → chunk-MM3QESLI.js.map} +0 -0
  254. /package/dist/{chunk-PGANINQD.js.map → chunk-NI67M453.js.map} +0 -0
  255. /package/dist/{chunk-JN2IANXD.js.map → chunk-OCGPOACB.js.map} +0 -0
  256. /package/dist/{chunk-RDCIST7P.js.map → chunk-OCT5VCLP.js.map} +0 -0
  257. /package/dist/{chunk-F7LBTMCA.js.map → chunk-P53ANKZV.js.map} +0 -0
  258. /package/dist/{chunk-QVDEGBME.js.map → chunk-PEAUGQKU.js.map} +0 -0
  259. /package/dist/{chunk-HS662RLW.js.map → chunk-RZWU2KYP.js.map} +0 -0
  260. /package/dist/{chunk-U2QXQ7D4.js.map → chunk-S2VZUBM7.js.map} +0 -0
  261. /package/dist/{chunk-HOPRZEBM.js.map → chunk-SKIAWOUC.js.map} +0 -0
  262. /package/dist/{chunk-WCF56ZCD.js.map → chunk-TMINUTQQ.js.map} +0 -0
  263. /package/dist/{chunk-MZAYIG2I.js.map → chunk-VCJ72ODU.js.map} +0 -0
  264. /package/dist/{chunk-YGQM6GFQ.js.map → chunk-VHE7UEG5.js.map} +0 -0
  265. /package/dist/{chunk-QHIWV55K.js.map → chunk-VWRXSBT2.js.map} +0 -0
  266. /package/dist/{chunk-TSEBMVYY.js.map → chunk-X2GWR75Q.js.map} +0 -0
  267. /package/dist/{chunk-NKEFH3RS.js.map → chunk-XNAI7QGU.js.map} +0 -0
  268. /package/dist/{chunk-L6JAALMX.js.map → chunk-XRV4QFEQ.js.map} +0 -0
  269. /package/dist/{chunk-WH3LUOCQ.js.map → chunk-YE7M7URT.js.map} +0 -0
  270. /package/dist/{chunk-DA3D5X5Z.js.map → chunk-YVDNCV2D.js.map} +0 -0
  271. /package/dist/{chunk-G3JFESKD.js.map → chunk-Z5WUSI47.js.map} +0 -0
  272. /package/dist/{chunk-5HADIIWN.js.map → chunk-ZDAAHCIS.js.map} +0 -0
  273. /package/dist/{chunk-4KWDNGMA.js.map → chunk-ZVHHFLYY.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"DayRuler.pt-BR.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DayRuler/DayRuler.pt-BR.ts"],"names":[],"mappings":"AAAA,uGAAuG;AACvG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,eAAO,MAAM,sBAAsB,EAAE,cAOpC,CAAC"}
1
+ {"version":3,"file":"DayRuler.pt-BR.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DayRuler/DayRuler.pt-BR.ts"],"names":[],"mappings":"AAAA,uGAAuG;AACvG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,eAAO,MAAM,sBAAsB,EAAE,cAQpC,CAAC"}
@@ -47,4 +47,20 @@ export declare function actualLabelSx(left: number): SxProps<Theme>;
47
47
  export declare function nowSx(left: number): SxProps<Theme>;
48
48
  export declare const skeletonTrackSx: SxProps<Theme>;
49
49
  export declare const skeletonNameSx: SxProps<Theme>;
50
+ /**
51
+ * A marked footer's words (FUT-3882): the warning ink deepened until it reads
52
+ * at 4.5:1 on the page — `warning.main` is 3.1:1 on white. The outline keeps
53
+ * `warning.main`: a non-text mark needs 3:1.
54
+ */
55
+ export declare function footerInk(theme: Theme, marked: boolean, plain: string): string;
56
+ /** A group's count line (FUT-3882): plain counts on the hours' columns, a marked hour outlined in the warning ink. */
57
+ export declare function footerCellSx(marked: boolean): SxProps<Theme>;
58
+ /**
59
+ * A footer line's sentence; when the host marks it ("Faltam 2, 20h–22h"), in
60
+ * the readable warning ink with a warning bar before it — a shape, so colour
61
+ * is never the only signal.
62
+ */
63
+ export declare function footerNoteSx(marked: boolean): SxProps<Theme>;
64
+ /** A group's trend line: as tall as the coverage row, drawn in the primary colour. */
65
+ export declare const trendSx: SxProps<Theme>;
50
66
  //# sourceMappingURL=DayRuler.styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DayRuler.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DayRuler/DayRuler.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAKhG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAG5E,oFAAoF;AACpF;;;GAGG;AACH,wBAAgB,MAAM,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAQ1D;AAYD,mGAAmG;AACnG,eAAO,MAAM,MAAM,EAAE,OAAO,CAAC,KAAK,CAYhC,CAAC;AAEH,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,KAAK,CAAwD,CAAC;AAEpG,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAOxD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAoB5D;AAED,eAAO,MAAM,MAAM,EAAE,OAAO,CAAC,KAAK,CAOhC,CAAC;AAEH,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,KAAK,CASvC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,OAAO,CAAC,KAAK,CAc/B,CAAC;AAEH,eAAO,MAAM,KAAK,EAAE,OAAO,CAAC,KAAK,CAAoC,CAAC;AAEtE,eAAO,MAAM,SAAS,EAAE,OAAO,CAAC,KAAK,CAQpC,CAAC;AAEF,6GAA6G;AAC7G,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAclD;AAUD,wBAAgB,OAAO,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAkBxG;AAED,qEAAqE;AACrE,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CA4C1H;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CASxD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAYnD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAW1D;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAUlD;AAED,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,KAAK,CAKzC,CAAC;AAEH,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,KAAK,CAMxC,CAAC"}
1
+ {"version":3,"file":"DayRuler.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DayRuler/DayRuler.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAKhG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAG5E,oFAAoF;AACpF;;;GAGG;AACH,wBAAgB,MAAM,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAQ1D;AAYD,mGAAmG;AACnG,eAAO,MAAM,MAAM,EAAE,OAAO,CAAC,KAAK,CAYhC,CAAC;AAEH,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,KAAK,CAAwD,CAAC;AAEpG,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAOxD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAoB5D;AAED,eAAO,MAAM,MAAM,EAAE,OAAO,CAAC,KAAK,CAOhC,CAAC;AAEH,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,KAAK,CASvC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,OAAO,CAAC,KAAK,CAc/B,CAAC;AAEH,eAAO,MAAM,KAAK,EAAE,OAAO,CAAC,KAAK,CAAoC,CAAC;AAEtE,eAAO,MAAM,SAAS,EAAE,OAAO,CAAC,KAAK,CAQpC,CAAC;AAEF,6GAA6G;AAC7G,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAclD;AAUD,wBAAgB,OAAO,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAkBxG;AAED,qEAAqE;AACrE,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CA4C1H;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CASxD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAYnD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAW1D;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAUlD;AAED,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,KAAK,CAKzC,CAAC;AAEH,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,KAAK,CAMxC,CAAC;AAEH;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED,sHAAsH;AACtH,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAc5D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAO5D;AAED,sFAAsF;AACtF,eAAO,MAAM,OAAO,EAAE,OAAO,CAAC,KAAK,CAMjC,CAAC"}
@@ -63,6 +63,43 @@ export interface DayRulerRow {
63
63
  onLabelClick?: () => void;
64
64
  labelAccessible?: string;
65
65
  }
66
+ /** One hour of a group's count line: what it says, and whether the host marks it (an hour short of people). */
67
+ export interface DayRulerFooterCell {
68
+ /** What the hour says ("4", "—"). Empty draws nothing. */
69
+ text: string;
70
+ /** Drawn in the warning ink inside a warning outline. Never the only signal: say it in `title` too. */
71
+ marked?: boolean;
72
+ /** The hour's tooltip and accessible words ("20h · o movimento pede 4, a escala tem 2"). Default: the hour and `text`. */
73
+ title?: string;
74
+ }
75
+ /**
76
+ * A line under a group's rows, on the tracks' columns (FUT-3882): one count
77
+ * per hour (`cells`, index 0 = `from…from+1`) — "Na escala, por hora",
78
+ * "O movimento pede" —, a trend drawn as a line (`trend`, one value per hour,
79
+ * `null` for none) — "Média de pedidos/hora" —, or a sentence across the
80
+ * track where the figures would be (`note`) — "Pouco histórico: …", or,
81
+ * `marked`, in the warning ink: "Faltam 2, 20h–22h".
82
+ */
83
+ export type DayRulerFooterRow = {
84
+ id: string;
85
+ label: string;
86
+ cells: readonly DayRulerFooterCell[];
87
+ trend?: undefined;
88
+ note?: undefined;
89
+ } | {
90
+ id: string;
91
+ label: string;
92
+ trend: readonly (number | null)[];
93
+ cells?: undefined;
94
+ note?: undefined;
95
+ } | {
96
+ id: string;
97
+ label: string;
98
+ note: string;
99
+ marked?: boolean;
100
+ cells?: undefined;
101
+ trend?: undefined;
102
+ };
66
103
  export interface DayRulerProps {
67
104
  rows: readonly DayRulerRow[];
68
105
  /** The ruler's first hour (default 6, 06:00). */
@@ -75,6 +112,12 @@ export interface DayRulerProps {
75
112
  coverage?: readonly number[];
76
113
  /** Beside the coverage row ("Na escala, por hora"). */
77
114
  coverageLabel?: string;
115
+ /**
116
+ * Lines under a group's rows, on the tracks' columns, for the group titled
117
+ * `group` (`undefined` for rows with no group). Like the coverage row they
118
+ * are not drawn in a phone-sized pane, where the host says it its own way.
119
+ */
120
+ groupFooter?: (group: string | undefined) => readonly DayRulerFooterRow[] | undefined;
78
121
  /** An axis label every this many hours (default 4). */
79
122
  tickHours?: number;
80
123
  /** Every gesture snaps to this (default 15 minutes). */
@@ -96,7 +139,7 @@ export interface DayRulerProps {
96
139
  /** The component's own words. Default: the English pack. */
97
140
  labels?: Partial<DayRulerLabels>;
98
141
  /**
99
- * Base test id (default `day-ruler`). Parts: `-coverage`, `-axis`, `-row-${rowId}`,
142
+ * Base test id (default `day-ruler`). Parts: `-coverage`, `-axis`, `-footer-${footerRowId}`, `-row-${rowId}`,
100
143
  * `-track-${rowId}`, `-block-${blockId}`, `-handle-l-${blockId}`, `-handle-r-${blockId}`, `-break-${blockId}`,
101
144
  * `-actual-${rowId}`, `-now`, `-preview`, `-live`, `-loading`.
102
145
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DayRuler.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DayRuler/DayRuler.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAE5E;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B,0CAA0C;AAC1C,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;IACjB,GAAG,EAAE,SAAS,CAAC;IACf,wFAAwF;IACxF,KAAK,EAAE,MAAM,CAAC;IACd,yGAAyG;IACzG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,iBAAiB,CAAC;IACxB,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sFAAsF;IACtF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,GAAG,EAAE,SAAS,CAAA;KAAE,CAAC;CAClD;AAED,gEAAgE;AAChE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,SAAS,CAAC;IACjB,GAAG,EAAE,SAAS,CAAC;CAChB;AAED,2CAA2C;AAC3C,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACjC,gHAAgH;IAChH,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,+HAA+H;IAC/H,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,wFAAwF;IACxF,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;IACjC,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yGAAyG;IACzG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,SAAS,WAAW,EAAE,CAAC;IAC7B,iDAAiD;IACjD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,sDAAsD;IACtD,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,sEAAsE;IACtE,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,uGAAuG;IACvG,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,uDAAuD;IACvD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uFAAuF;IACvF,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IAC3C,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;IACrE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;IACrE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;IACvE,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACjC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"DayRuler.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DayRuler/DayRuler.types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export { DayRuler } from './DayRuler';
2
- export type { DayRulerActual, DayRulerBlock, DayRulerProps, DayRulerRow, RulerHour, } from './DayRuler.types';
2
+ export type { DayRulerActual, DayRulerBlock, DayRulerFooterCell, DayRulerFooterRow, DayRulerProps, DayRulerRow, RulerHour, } from './DayRuler.types';
3
3
  export { DAY_RULER_LABELS } from './DayRuler.labels';
4
4
  export type { DayRulerLabels } from './DayRuler.labels';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DayRuler/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACb,WAAW,EACX,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DayRuler/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EACV,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
@@ -31,10 +31,12 @@ interface HeaderProps {
31
31
  columns: readonly ScheduleGridColumn[];
32
32
  /** Present when the grid has a last column. */
33
33
  totalLabel?: string;
34
+ /** Above the names (`ScheduleGridProps.corner`). */
35
+ corner?: React.ReactNode;
34
36
  rowSx: RowSx;
35
37
  testId: string;
36
38
  }
37
- export declare function GridHeader({ columns, totalLabel, rowSx, testId }: HeaderProps): React.JSX.Element;
39
+ export declare function GridHeader({ columns, totalLabel, corner, rowSx, testId }: HeaderProps): React.JSX.Element;
38
40
  interface BodyProps {
39
41
  grid: ScheduleGridProps;
40
42
  rows: readonly ScheduleGridRow[];
@@ -1 +1 @@
1
- {"version":3,"file":"ScheduleGrid.parts.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/ScheduleGrid/ScheduleGrid.parts.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAuBhE,OAAO,KAAK,EAEV,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE3D,8DAA8D;AAC9D,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;CACf;AAED,+CAA+C;AAC/C,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC;AAEzC,UAAU,SAAS;IACjB,GAAG,EAAE,eAAe,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,kBAAkB,CAAC;IAC3B,IAAI,EAAE,gBAAgB,CAAC;IACvB,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,WAAW,CAAC;IACrB,GAAG,EAAE,aAAa,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACnD,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB;AAgJD,2FAA2F;AAC3F,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAgC5D;AAQD,UAAU,WAAW;IACnB,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACvC,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AASD,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA6BjG;AAED,UAAU,SAAS;IACjB,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,SAAS,eAAe,EAAE,CAAC;IACjC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,aAAa,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB;AA0DD,gGAAgG;AAChG,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAqBlE"}
1
+ {"version":3,"file":"ScheduleGrid.parts.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/ScheduleGrid/ScheduleGrid.parts.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAwBhE,OAAO,KAAK,EAEV,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE3D,8DAA8D;AAC9D,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;CACf;AAED,+CAA+C;AAC/C,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC;AAEzC,UAAU,SAAS;IACjB,GAAG,EAAE,eAAe,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,kBAAkB,CAAC;IAC3B,IAAI,EAAE,gBAAgB,CAAC;IACvB,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,WAAW,CAAC;IACrB,GAAG,EAAE,aAAa,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACnD,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB;AAgJD,2FAA2F;AAC3F,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAgC5D;AAQD,UAAU,WAAW;IACnB,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACvC,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAcD,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAoCzG;AAED,UAAU,SAAS;IACjB,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,SAAS,eAAe,EAAE,CAAC;IACjC,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,aAAa,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB;AA0DD,gGAAgG;AAChG,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAqBlE"}
@@ -16,6 +16,13 @@ export interface ScheduleGridColumn {
16
16
  label: string;
17
17
  /** Under the label ("3 turnos", "ninguém"). */
18
18
  sublabel?: string;
19
+ /**
20
+ * Under the label and the sublabel, inside the pinned header row: the host's
21
+ * own figure for that day (an hour band of how busy it gets, a "falta 2 ·
22
+ * 20–22h" line). It takes the column's width and travels with the header,
23
+ * sideways too. Keep it short: every header cell grows to the tallest.
24
+ */
25
+ adornment?: React.ReactNode;
19
26
  /** Today's column: its label in the primary colour and its cells framed. */
20
27
  today?: boolean;
21
28
  /**
@@ -116,6 +123,11 @@ export interface ScheduleGridProps {
116
123
  cell: (rowId: string, day: number) => ScheduleGridCell;
117
124
  /** The last column's header ("horas"). Without it and without row totals, there is no last column. */
118
125
  totalLabel?: string;
126
+ /**
127
+ * The header row's cell above the names, pinned with it ("Movimento,
128
+ * 11h–23h" — what the days' adornments show). Empty by default.
129
+ */
130
+ corner?: React.ReactNode;
119
131
  /**
120
132
  * No create, copy or move: no "+", no grips, empty cells are not focusable.
121
133
  * Block clicks still reach `onBlockClick` (a read-only window).
@@ -1 +1 @@
1
- {"version":3,"file":"ScheduleGrid.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/ScheduleGrid/ScheduleGrid.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScheduleGrid.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/ScheduleGrid/ScheduleGrid.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { SxProps, Theme } from '@mui/material/styles/index.js';
2
+ /**
3
+ * The header row's host figures (FUT-3882): a day's adornment under its label
4
+ * and the corner above the names. Their own module to keep the grid's styles
5
+ * under the file-size budget.
6
+ */
7
+ /** A day's adornment: under its label, the column's full width, in the secondary ink unless the host says otherwise. */
8
+ export declare const headerAdornmentSx: SxProps<Theme>;
9
+ /**
10
+ * The cell above the names. It is the pinned mask over the names column (the
11
+ * grid's sticky rule): it must stay a stretched grid item, the header row's
12
+ * full height, or a day scrolled sideways shows above the names. Its words sit
13
+ * inside it on the days' label line (the prototype's "Movimento, 11h–23h").
14
+ */
15
+ export declare const cornerSx: SxProps<Theme>;
16
+ //# sourceMappingURL=schedule-header-host.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule-header-host.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/ScheduleGrid/schedule-header-host.styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAKpE;;;;GAIG;AAEH,wHAAwH;AACxH,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC,KAAK,CAK5C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,EAAE,OAAO,CAAC,KAAK,CASnC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@12-apps/ui",
3
- "version": "6.91.0",
3
+ "version": "6.92.1",
4
4
  "license": "MIT",
5
5
  "packageManager": "pnpm@10.34.5",
6
6
  "type": "module",
@@ -292,9 +292,11 @@ the keystrokes it did.
292
292
  | months | one, `<Month> ▾ <Year> ▾ ‹ ›` caption | one, same caption | two side by side, `‹ setembro` · `outubro ›`, the current month on the right |
293
293
 
294
294
  - Order in the popover: preset chips, the `De`/`Até` boxes (sharing the row
295
- equally), the inclusive/inverted note, the calendar, then the line saying
295
+ equally), the inclusive/inverted note, the calendar, then ONE line under it:
296
296
  which tap comes next ("Toque no primeiro e no último dia." / "Agora toque no
297
- último dia."), then the pill's summary and "Limpar".
297
+ último dia."), and once a period is applied the window itself ("Data:
298
+ 01/10–15/10"), with "Limpar" at the line's end from the first tap on. In the
299
+ panels the line says only the step; their header carries "Limpar".
298
300
  - One view of ONE range: a tap writes the boxes; a typed whole day writes the
299
301
  bound and moves the calendar to it; an impossible typed day (`31/02/2026`)
300
302
  is refused in its box and the calendar does not move; "Limpar", a preset or a
@@ -320,8 +322,10 @@ the keystrokes it did.
320
322
  where their trigger was when they opened, so a "Limpar" or a badge appearing
321
323
  on the bar after the first tap does not drag them sideways. They are
322
324
  re-placed only when their own height changes (a refused day's message), so
323
- they never leave the screen. A day popover keeps its summary/"Limpar" row's
324
- height while nothing is applied, so the first tap does not grow it.
325
+ they never leave the screen. A day popover has no summary row of its own:
326
+ the window and "Limpar" are on the hint's line, whose height does not change
327
+ as its words do, so no row is held empty and the first tap does not grow it
328
+ (an empty held row left 59px of white under the hint at 1280).
325
329
  - While a panel is open the bar is frozen; if the "Limpar" that a first filter
326
330
  brings in does not fit the row it shows as its icon until the panel closes.
327
331
  - A second tap before the first swaps them — the boxes never show a period
@@ -8,7 +8,7 @@
8
8
  */
9
9
  import Box from '@mui/material/Box/index.js';
10
10
  import Typography from '@mui/material/Typography/index.js';
11
- import React, { useState } from 'react';
11
+ import React, { useEffect, useRef, useState } from 'react';
12
12
 
13
13
  import { useDataViewsCopy } from './data-views-copy-context';
14
14
  import { DayBoundInput } from './data-views-day-input';
@@ -17,7 +17,7 @@ import { RangePresets } from './data-views-preset-chips';
17
17
  import { DayRangeCalendar } from './data-views-range-calendar';
18
18
  import { presetsFor } from './data-views-range-presets';
19
19
  import { useOutsideResetKey } from './data-views-range-reset';
20
- import { isRangeInverted } from './data-views-range-values';
20
+ import { isRangeInverted, isRangeSet, rangeChipLabel } from './data-views-range-values';
21
21
  import type { RangeFieldConfig, RangeValue } from './data-views-types';
22
22
  import { sxRem } from '../../../tokens/relative';
23
23
 
@@ -71,6 +71,51 @@ function BoundField<T extends Record<string, unknown>>({
71
71
  }
72
72
 
73
73
 
74
+ /**
75
+ * After the line's "Limpar" pressed from the keyboard, focus goes to the
76
+ * cleared "De" — the next thing to type — instead of falling to the page with
77
+ * the button that held it. A tap leaves focus alone: focusing "De" there would
78
+ * open the phone's keyboard over the calendar the next tap is for.
79
+ * The boxes remount on a clear, so focus waits for the reset key to move.
80
+ */
81
+ function useFocusDeAfterClear(
82
+ key: number,
83
+ testId: string,
84
+ ): { rootRef: React.RefObject<HTMLDivElement | null>; clearToDe: (clear: () => void, fromKeyboard: boolean) => void } {
85
+ const rootRef = useRef<HTMLDivElement>(null);
86
+ const pending = useRef(false);
87
+ useEffect(() => {
88
+ if (!pending.current) return;
89
+ pending.current = false;
90
+ rootRef.current?.querySelector<HTMLInputElement>(`[data-testid="${testId}-min"]`)?.focus();
91
+ }, [key, testId]);
92
+ return {
93
+ rootRef,
94
+ clearToDe: (clear, fromKeyboard) => {
95
+ pending.current = fromKeyboard;
96
+ clear();
97
+ },
98
+ };
99
+ }
100
+
101
+ /**
102
+ * The window and "Limpar" for the hint line, where the host asks for them.
103
+ * `clear` goes straight to the host, not through `emitted`: it is an outside
104
+ * write, so the boxes and the calendar re-open on the empty range.
105
+ */
106
+ function hintLineProps<T extends Record<string, unknown>>(
107
+ field: RangeFieldConfig<T>,
108
+ value: RangeValue,
109
+ clear: (fromKeyboard: boolean) => void,
110
+ ): { summary: string | undefined; onClear: (fromKeyboard: boolean) => void } {
111
+ return { summary: appliedWindow(field, value), onClear: clear };
112
+ }
113
+
114
+ /** The applied window in words ("Data: 01/10–15/10"), or nothing while none is. */
115
+ function appliedWindow<T extends Record<string, unknown>>(field: RangeFieldConfig<T>, value: RangeValue): string | undefined {
116
+ return isRangeSet(value) ? rangeChipLabel(field, value) : undefined;
117
+ }
118
+
74
119
  /** One box of the pair: an equal share of the row for a day, as it was for a number. */
75
120
  function BoundCell({ grow, children }: { grow: boolean; children: React.ReactNode }): React.JSX.Element {
76
121
  if (!grow) return <>{children}</>;
@@ -142,6 +187,11 @@ interface RangeBoundsProps<T extends Record<string, unknown>> {
142
187
  * its content and keeps the boxes' own width.
143
188
  */
144
189
  fillRow?: boolean;
190
+ /**
191
+ * Say the applied window, and its "Limpar", on the day calendar's hint line.
192
+ * The pill's popover sets it; a panel has them in its own header.
193
+ */
194
+ summaryOnHint?: boolean;
145
195
  }
146
196
 
147
197
  /**
@@ -157,9 +207,12 @@ export function RangeBounds<T extends Record<string, unknown>>({
157
207
  calendarMonths = 1,
158
208
  showCalendar = true,
159
209
  fillRow = false,
210
+ summaryOnHint = false,
160
211
  }: RangeBoundsProps<T>): React.JSX.Element {
161
212
  const copy = useDataViewsCopy();
162
213
  const { key, emitted } = useOutsideResetKey(value);
214
+ const { rootRef, clearToDe } = useFocusDeAfterClear(key, testId);
215
+ const hintLine = summaryOnHint ? hintLineProps(field, value, (fromKeyboard) => clearToDe(() => onChange({}), fromKeyboard)) : {};
163
216
  // Moves the calendar to a TYPED day. A typed write is the fields' own, so
164
217
  // the outside key above does not see it; a tap on the calendar moves
165
218
  // neither, which is what keeps it still under the finger.
@@ -170,7 +223,7 @@ export function RangeBounds<T extends Record<string, unknown>>({
170
223
  };
171
224
  const day = field.kind === 'day';
172
225
  return (
173
- <Box data-testid={`${testId}-panel`}>
226
+ <Box ref={rootRef} data-testid={`${testId}-panel`}>
174
227
  {/* Above the inputs, not below: the presets are the answer for most
175
228
  merchants, and the two date pickers are the escape hatch. */}
176
229
  <Box sx={{ '&:not(:empty)': { mb: { xs: 1, sm: 1.5 } } }}>
@@ -216,6 +269,7 @@ export function RangeBounds<T extends Record<string, unknown>>({
216
269
  months={calendarMonths}
217
270
  viewKey={`${key}-${typed}`}
218
271
  testId={testId}
272
+ {...hintLine}
219
273
  />
220
274
  )}
221
275
  </Box>
@@ -114,6 +114,107 @@ function openingMonth(value: RangeValue, months: number): Date | undefined {
114
114
  return new Date(anchor.getFullYear(), anchor.getMonth() - (months > 1 ? 1 : 0), 1);
115
115
  }
116
116
 
117
+ /**
118
+ * The line under the calendar: the next step ("Toque no primeiro e no último
119
+ * dia." / "Agora toque no último dia.") or, once a period is applied, the
120
+ * window, with "Limpar" at its end.
121
+ *
122
+ * ONE line whose words change, never a row held empty for later (FUT-4144
123
+ * follow-up): #932 kept an invisible summary row under the hint so the first
124
+ * tap would not grow the popover, and at 1280 that was 59px of white.
125
+ *
126
+ * Where the line can hold "Limpar" (the pill's popover) it is always as tall as
127
+ * its 40px target, so it keeps one height with the button and without it, and
128
+ * the popover does not move. Where it cannot (a panel, whose header has
129
+ * "Limpar") it stays a plain line of text: no row reserved for a button that
130
+ * never comes. The text keeps to one line, cut with an ellipsis and whole in
131
+ * its title, so a long label never grows the line on the closing tap. The target
132
+ * is its own box, not padding pushed out with a negative margin: that version
133
+ * ran under the calendar's last week, which took its top 10px at 320 (FUT-4144
134
+ * UI review). The window is said in the primary ink, the steps in the
135
+ * secondary one, so the result does not read as one more instruction.
136
+ */
137
+ function HintLine({
138
+ text,
139
+ isWindow,
140
+ canClear,
141
+ onClear,
142
+ testId,
143
+ }: {
144
+ text: string;
145
+ /** `text` is the applied window, not a step. */
146
+ isWindow: boolean;
147
+ /** The line can hold "Limpar" at all — fixed per surface, not per state. */
148
+ canClear: boolean;
149
+ /** Shown now: "Limpar" empties the range; `fromKeyboard` is a click with `detail` 0 (Enter or Space). */
150
+ onClear: ((fromKeyboard: boolean) => void) | undefined;
151
+ testId: string;
152
+ }): React.JSX.Element {
153
+ const clear = useDataViewsCopy().filters.clear;
154
+ return (
155
+ <Box
156
+ data-testid={`${testId}-calendar-line`}
157
+ sx={{
158
+ display: 'flex',
159
+ alignItems: 'center',
160
+ justifyContent: 'space-between',
161
+ gap: 2,
162
+ mt: { xs: 0.25, sm: 1 },
163
+ minHeight: canClear ? sxRem(40) : undefined,
164
+ fontSize: sxRem(12),
165
+ lineHeight: 1.5,
166
+ }}
167
+ >
168
+ <Typography
169
+ component="p"
170
+ aria-live="polite"
171
+ data-testid={`${testId}-calendar-hint`}
172
+ title={text}
173
+ noWrap
174
+ sx={{ m: 0, minWidth: 0, font: 'inherit', color: isWindow ? 'text.primary' : 'text.secondary' }}
175
+ >
176
+ {text}
177
+ </Typography>
178
+ {onClear && (
179
+ <Box
180
+ component="button"
181
+ type="button"
182
+ onClick={(event) => onClear(event.detail === 0)}
183
+ data-testid={`${testId}-clear`}
184
+ sx={{
185
+ flexShrink: 0,
186
+ display: 'inline-flex',
187
+ alignItems: 'center',
188
+ minHeight: sxRem(40),
189
+ border: 0,
190
+ bgcolor: 'transparent',
191
+ cursor: 'pointer',
192
+ font: 'inherit',
193
+ fontWeight: 600,
194
+ color: 'primary.main',
195
+ px: 1,
196
+ py: 0,
197
+ // Its text lines up with the boxes' right edge; the side padding
198
+ // reaches into the popover's own.
199
+ mr: -1,
200
+ borderRadius: 1,
201
+ '&:hover': { bgcolor: 'action.hover' },
202
+ // The theme's focus ring for a keyboard, none for a tap.
203
+ '&:focus': { outline: 'none' },
204
+ '&:focus-visible': {
205
+ outline: (theme: Theme) => `${rem(theme, 2)} solid`,
206
+ outlineColor: 'primary.main',
207
+ outlineOffset: sxRem(1),
208
+ },
209
+ }}
210
+ >
211
+ {clear}
212
+ </Box>
213
+ )}
214
+ </Box>
215
+ );
216
+ }
217
+
117
218
  /** Props of {@link DayRangeCalendar}. */
118
219
  export interface DayRangeCalendarProps {
119
220
  /** The filter's own label ("Data"), which names the calendar. */
@@ -133,6 +234,18 @@ export interface DayRangeCalendarProps {
133
234
  */
134
235
  viewKey: string;
135
236
  testId: string;
237
+ /**
238
+ * The applied window in words ("Data: 01/10–15/10"), said on the hint's own
239
+ * line with "Limpar" at its end. Set by the pill, whose popover has no other
240
+ * place for them; a panel says them in its own header and leaves this unset.
241
+ */
242
+ summary?: string;
243
+ /**
244
+ * Empties the range: the line's "Limpar", shown while `summary` is set. Set
245
+ * only where the line may hold it; the line reserves its 40px only then.
246
+ * `fromKeyboard` is true when it was pressed from the keyboard.
247
+ */
248
+ onClear?: (fromKeyboard: boolean) => void;
136
249
  }
137
250
 
138
251
  export function DayRangeCalendar({
@@ -142,6 +255,8 @@ export function DayRangeCalendar({
142
255
  months,
143
256
  viewKey,
144
257
  testId,
258
+ summary,
259
+ onClear,
145
260
  }: DayRangeCalendarProps): React.JSX.Element {
146
261
  const copy: DataViewsDayCalendarCopy =
147
262
  useDataViewsCopy().filters.dayCalendar ?? (EN_US_DATA_VIEWS_COPY.filters.dayCalendar as DataViewsDayCalendarCopy);
@@ -172,14 +287,13 @@ export function DayRangeCalendar({
172
287
  // tap that CLOSES a period, so the first tap would write nothing.
173
288
  onIntermediateRangeChange={pick}
174
289
  />
175
- <Typography
176
- component="p"
177
- aria-live="polite"
178
- data-testid={`${testId}-calendar-hint`}
179
- sx={{ mt: { xs: 0.25, sm: 1 }, fontSize: sxRem(12), color: 'text.secondary' }}
180
- >
181
- {waitingForEnd ? copy.pickEnd : copy.pickStart}
182
- </Typography>
290
+ <HintLine
291
+ text={waitingForEnd ? copy.pickEnd : (summary ?? copy.pickStart)}
292
+ isWindow={!waitingForEnd && summary !== undefined}
293
+ canClear={onClear !== undefined}
294
+ onClear={summary === undefined ? undefined : onClear}
295
+ testId={testId}
296
+ />
183
297
  </Box>
184
298
  );
185
299
  }
@@ -180,6 +180,10 @@ const DAY_PAPER_SX = (theme: Theme) => ({
180
180
  // 280px seven 40px day columns need: at 320 it had 256 and every day was a
181
181
  // 33px target (FUT-4144 UI review).
182
182
  maxWidth: { xs: `calc(100% - ${rem(theme, 16)})`, sm: `calc(100% - ${rem(theme, 32)})` },
183
+ // And as tall as those same margins allow: MUI's default keeps 16px off the
184
+ // top and bottom, so a refused day's message at 320×568 made the popover
185
+ // 1px taller than its cap and it scrolled (FUT-4144 code review).
186
+ maxHeight: { xs: `calc(100% - ${rem(theme, 16)})`, sm: `calc(100% - ${rem(theme, 32)})` },
183
187
  p: { xs: 1, sm: 2 },
184
188
  });
185
189
 
@@ -232,6 +236,7 @@ export function RangePill<T extends Record<string, unknown>>({
232
236
  onChange={onChange}
233
237
  testId={testId}
234
238
  calendarMonths={calendarMonths}
239
+ summaryOnHint
235
240
  />
236
241
  <RangeSummary field={field} value={value} onClear={() => onChange({})} testId={testId} />
237
242
  </Popover>
@@ -11,16 +11,15 @@ import type { RangeFieldConfig, RangeValue } from './data-views-types';
11
11
  import { sxRem } from '../../../tokens/relative';
12
12
 
13
13
  /**
14
- * The applied window in words, and "Limpar".
14
+ * The applied window in words, and "Limpar", under a NUMBER range's boxes.
15
15
  *
16
16
  * An inverted window is not an error the merchant must fix before the list
17
17
  * responds — it simply matches nothing, and saying so beats an empty grid with
18
18
  * no explanation (FUT-668).
19
19
  *
20
- * A DAY filter keeps the row's height while nothing is applied: its first tap
21
- * on the calendar applies a bound, and a row appearing then grew the popover
22
- * 26px and moved it 32px up at 320×568, the day under the finger with it
23
- * (FUT-4144 UI review round 2). The held row is invisible and inert.
20
+ * A DAY range says these on its calendar's hint line instead (FUT-4144): a row
21
+ * of its own, held empty until the first tap so the popover would not grow,
22
+ * left 59px of white under the hint at 1280.
24
23
  */
25
24
  export function RangeSummary<T extends Record<string, unknown>>({
26
25
  field,
@@ -34,29 +33,17 @@ export function RangeSummary<T extends Record<string, unknown>>({
34
33
  testId: string;
35
34
  }): React.JSX.Element | null {
36
35
  const copy = useDataViewsCopy();
37
- const active = isRangeSet(value);
38
- if (!active && field.kind !== 'day') return null;
36
+ if (field.kind === 'day' || !isRangeSet(value)) return null;
39
37
  return (
40
- <Box
41
- aria-hidden={active ? undefined : true}
42
- sx={{
43
- display: 'flex',
44
- alignItems: 'center',
45
- justifyContent: 'space-between',
46
- gap: 2,
47
- mt: { xs: 0.5, sm: 1.5 },
48
- visibility: active ? undefined : 'hidden',
49
- }}
50
- >
38
+ <Box sx={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between', gap: 2, mt: { xs: 0.5, sm: 1.5 } }}>
51
39
  <Typography component="span" sx={{ fontSize: sxRem(12), color: 'text.secondary' }}>
52
- {active ? rangeChipLabel(field, value) : field.label}
40
+ {rangeChipLabel(field, value)}
53
41
  </Typography>
54
42
  <Button
55
43
  variant="text"
56
44
  size="small"
57
- onClick={active ? onClear : undefined}
58
- tabIndex={active ? undefined : -1}
59
- data-testid={active ? `${testId}-clear` : undefined}
45
+ onClick={onClear}
46
+ data-testid={`${testId}-clear`}
60
47
  sx={{ textTransform: 'none' }}
61
48
  >
62
49
  {copy.filters.clear}
@@ -8,4 +8,5 @@ export const EN_US_DAY_RULER_LABELS: DayRulerLabels = {
8
8
  refused: "It cannot go further",
9
9
  notMovable: "This shift cannot be changed here",
10
10
  loading: "Loading the day",
11
+ footerMarked: "short of people",
11
12
  };
@@ -25,6 +25,8 @@ export interface DayRulerLabels {
25
25
  notMovable: string;
26
26
  /** The ruler's busy state. */
27
27
  loading: string;
28
+ /** Said after a group footer's marked hour when the host gives it no `title` (FUT-3882). */
29
+ footerMarked: string;
28
30
  }
29
31
 
30
32
  /**