@12-apps/ui 6.89.1 → 6.90.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. package/components-catalog.md +1 -1
  2. package/dist/_internal/components/data-display/Alert/Alert.js +3 -3
  3. package/dist/_internal/components/data-display/Avatar/Avatar.js +4 -4
  4. package/dist/_internal/components/data-display/Avatar/Avatar.view.js +2 -2
  5. package/dist/_internal/components/data-display/CardKit/card-actions-context.js +4 -4
  6. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +5 -5
  7. package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +4 -3
  8. package/dist/_internal/components/data-display/Carousel/Carousel.js +6 -5
  9. package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +3 -2
  10. package/dist/_internal/components/data-display/Chart/Chart.js +3 -3
  11. package/dist/_internal/components/data-display/Chart/SpecChart.js +6 -6
  12. package/dist/_internal/components/data-display/Chart/chart-renderers.js +2 -2
  13. package/dist/_internal/components/data-display/Chart/chart-spec.js +2 -2
  14. package/dist/_internal/components/data-display/DataGrid/DataGrid.js +2 -2
  15. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +48 -23
  16. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +53 -28
  17. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +1 -1
  18. package/dist/_internal/components/data-display/DataViews/base-list-card-layout.js +1 -1
  19. package/dist/_internal/components/data-display/DataViews/base-list-card.js +3 -3
  20. package/dist/_internal/components/data-display/DataViews/data-views-bar-controls.js +5 -3
  21. package/dist/_internal/components/data-display/DataViews/data-views-day-input.js +1 -1
  22. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +31 -6
  23. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +3 -3
  24. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +47 -22
  25. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +37 -12
  26. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +32 -7
  27. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +33 -8
  28. package/dist/_internal/components/data-display/DataViews/data-views-number-input.js +1 -1
  29. package/dist/_internal/components/data-display/DataViews/data-views-preset-chips.js +10 -3
  30. package/dist/_internal/components/data-display/DataViews/data-views-range-bounds.js +47 -0
  31. package/dist/_internal/components/data-display/DataViews/data-views-range-bounds.js.map +1 -0
  32. package/dist/_internal/components/data-display/DataViews/data-views-range-calendar.js +36 -0
  33. package/dist/_internal/components/data-display/DataViews/data-views-range-calendar.js.map +1 -0
  34. package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +32 -6
  35. package/dist/_internal/components/data-display/DataViews/data-views-range-summary.js +12 -0
  36. package/dist/_internal/components/data-display/DataViews/data-views-range-summary.js.map +1 -0
  37. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +3 -3
  38. package/dist/_internal/components/data-display/DataViews/data-views-still-anchor.js +9 -0
  39. package/dist/_internal/components/data-display/DataViews/data-views-still-anchor.js.map +1 -0
  40. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +4 -4
  41. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +2 -2
  42. package/dist/_internal/components/data-display/DayRuler/DayRuler.js +3 -3
  43. package/dist/_internal/components/data-display/DayRuler/DayRuler.parts.js +2 -2
  44. package/dist/_internal/components/data-display/DayRuler/DayRuler.styles.js +3 -1
  45. package/dist/_internal/components/data-display/FleetMap/FleetBody.js +9 -8
  46. package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +8 -7
  47. package/dist/_internal/components/data-display/FleetMap/FleetMap.fixtures.js +2 -1
  48. package/dist/_internal/components/data-display/FleetMap/FleetMap.fixtures.js.map +1 -1
  49. package/dist/_internal/components/data-display/FleetMap/FleetMap.js +9 -9
  50. package/dist/_internal/components/data-display/MapPreview/MapControlBar.js +4 -3
  51. package/dist/_internal/components/data-display/MapPreview/MapLayers.js +5 -4
  52. package/dist/_internal/components/data-display/MapPreview/MapMarkers.js +4 -3
  53. package/dist/_internal/components/data-display/MapPreview/MapPreview.helpers.js +3 -2
  54. package/dist/_internal/components/data-display/MapPreview/MapPreview.js +7 -6
  55. package/dist/_internal/components/data-display/index.js +38 -38
  56. package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +4 -4
  57. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.js +6 -6
  58. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.overview.js +5 -5
  59. package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.parts.js +4 -4
  60. package/dist/_internal/components/feedback/index.js +7 -7
  61. package/dist/_internal/components/form/Calendar/Calendar.js +5 -5
  62. package/dist/_internal/components/form/Calendar/CalendarDay.js +1 -1
  63. package/dist/_internal/components/form/Calendar/CalendarDayCell.js +2 -2
  64. package/dist/_internal/components/form/Calendar/CalendarMonth.js +3 -3
  65. package/dist/_internal/components/form/Calendar/CalendarSelectorsMonth.js +4 -4
  66. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.hooks.js +3 -3
  67. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +10 -10
  68. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.range.js +2 -2
  69. package/dist/_internal/components/form/DateRangePicker/DateRangePickerFields.js +3 -3
  70. package/dist/_internal/components/form/index.js +24 -24
  71. package/dist/_internal/components/index.js +66 -66
  72. package/dist/_internal/en-US.data-display.js +2 -1
  73. package/dist/_internal/pt-BR.data-display.js +2 -1
  74. package/dist/_internal/user-avatar/user-avatar.js +5 -5
  75. package/dist/charts.js +11 -11
  76. package/dist/{chunk-FJ3UZ4RC.js → chunk-2FKWKLSC.js} +5 -3
  77. package/dist/chunk-2FKWKLSC.js.map +1 -0
  78. package/dist/{chunk-BO6MT2S2.js → chunk-3HZKUN5J.js} +7 -6
  79. package/dist/chunk-3HZKUN5J.js.map +1 -0
  80. package/dist/{chunk-TYXFFNPM.js → chunk-3OTGREQG.js} +10 -10
  81. package/dist/{chunk-BEHT4IHH.js → chunk-3X2MA47R.js} +2 -2
  82. package/dist/{chunk-XHIBFBNP.js → chunk-3ZRK3BRN.js} +4 -2
  83. package/dist/chunk-3ZRK3BRN.js.map +1 -0
  84. package/dist/{chunk-X5OGIT2F.js → chunk-4L54KUZV.js} +22 -4
  85. package/dist/chunk-4L54KUZV.js.map +1 -0
  86. package/dist/{chunk-TRYR424I.js → chunk-6LOWZCH7.js} +15 -1
  87. package/dist/chunk-6LOWZCH7.js.map +1 -0
  88. package/dist/{chunk-6WHIJPEF.js → chunk-6PU5P7QT.js} +2 -2
  89. package/dist/chunk-7CUZTWKW.js +52 -0
  90. package/dist/chunk-7CUZTWKW.js.map +1 -0
  91. package/dist/{chunk-JIEVKHOH.js → chunk-7YJYIMWP.js} +7 -7
  92. package/dist/{chunk-YNZUYZ2O.js → chunk-A3DDEKLV.js} +2 -2
  93. package/dist/{chunk-KHREN7Y7.js → chunk-ACM3HHZY.js} +2 -2
  94. package/dist/{chunk-FEKWKWGK.js → chunk-ARGVUTTL.js} +15 -1
  95. package/dist/chunk-ARGVUTTL.js.map +1 -0
  96. package/dist/{chunk-DYHOBKPU.js → chunk-BLZDSCIZ.js} +6 -6
  97. package/dist/{chunk-E2UOEI7N.js → chunk-BV2LOTMC.js} +2 -2
  98. package/dist/{chunk-O63ZROSY.js → chunk-BZBLPXV7.js} +4 -4
  99. package/dist/{chunk-OKRITX4S.js → chunk-CJ6XXM4X.js} +4 -4
  100. package/dist/{chunk-LV6AD6XC.js → chunk-DBI6AMNY.js} +4 -4
  101. package/dist/{chunk-QRRWLLXW.js → chunk-DSBC6O46.js} +2 -2
  102. package/dist/{chunk-3YFDGFEK.js → chunk-DVX4HDNP.js} +2 -2
  103. package/dist/{chunk-CJUK32UH.js → chunk-EEO7M5GU.js} +2 -2
  104. package/dist/{chunk-7XSCEHGA.js → chunk-EOQ6EKTS.js} +7 -7
  105. package/dist/{chunk-5RSK5M6M.js → chunk-FI2CQOGC.js} +63 -126
  106. package/dist/chunk-FI2CQOGC.js.map +1 -0
  107. package/dist/{chunk-Q2ERGAQO.js → chunk-FYAW5GBF.js} +33 -6
  108. package/dist/chunk-FYAW5GBF.js.map +1 -0
  109. package/dist/{chunk-EOJSA2EK.js → chunk-G2PVUPE7.js} +26 -18
  110. package/dist/chunk-G2PVUPE7.js.map +1 -0
  111. package/dist/{chunk-AMLHEKSV.js → chunk-HI7JPDD6.js} +5 -5
  112. package/dist/{chunk-2H6SCVLD.js → chunk-HMEGQKNQ.js} +3 -3
  113. package/dist/chunk-J2AVWIMM.js +60 -0
  114. package/dist/chunk-J2AVWIMM.js.map +1 -0
  115. package/dist/{chunk-7QKIL5YF.js → chunk-J2GDA64N.js} +4 -4
  116. package/dist/{chunk-BAQ3ITZV.js → chunk-JFD742C3.js} +2 -2
  117. package/dist/{chunk-OBA75Y5O.js → chunk-JHWEL4NX.js} +61 -33
  118. package/dist/chunk-JHWEL4NX.js.map +1 -0
  119. package/dist/{chunk-HQCZT6TO.js → chunk-JVOEVTCZ.js} +5 -5
  120. package/dist/{chunk-WAO7UQRS.js → chunk-KANCE4MS.js} +3 -3
  121. package/dist/{chunk-XLU5WFSY.js → chunk-KRBPWTXW.js} +2 -2
  122. package/dist/{chunk-S6D7NOV7.js → chunk-L6JAALMX.js} +3 -3
  123. package/dist/{chunk-72HOUWAW.js → chunk-L6YTVXGN.js} +5 -3
  124. package/dist/{chunk-72HOUWAW.js.map → chunk-L6YTVXGN.js.map} +1 -1
  125. package/dist/chunk-LZNUBQ5I.js +181 -0
  126. package/dist/chunk-LZNUBQ5I.js.map +1 -0
  127. package/dist/{chunk-BECKKDYG.js → chunk-M2M4IDFU.js} +2 -2
  128. package/dist/{chunk-CSGBHYW6.js → chunk-M5Y42AZ4.js} +2 -2
  129. package/dist/chunk-MICX23P4.js +122 -0
  130. package/dist/chunk-MICX23P4.js.map +1 -0
  131. package/dist/{chunk-5CP5Z3YU.js → chunk-MPWA55CF.js} +4 -4
  132. package/dist/{chunk-5KK3I42O.js → chunk-NK6O4NE4.js} +13 -10
  133. package/dist/chunk-NK6O4NE4.js.map +1 -0
  134. package/dist/{chunk-RCTHCXS6.js → chunk-PJNIJIE6.js} +2 -2
  135. package/dist/{chunk-6ATXOJVQ.js → chunk-QADTI63U.js} +4 -4
  136. package/dist/{chunk-MW7P2C2C.js → chunk-QAEO52Z4.js} +2 -2
  137. package/dist/{chunk-5S5K73I6.js → chunk-QSOCOXVL.js} +3 -3
  138. package/dist/{chunk-NQCTANF3.js → chunk-QVDEGBME.js} +7 -7
  139. package/dist/{chunk-BQBEN44R.js → chunk-RDCIST7P.js} +2 -2
  140. package/dist/{chunk-HUXAIQC5.js → chunk-RZ3P4X2I.js} +2 -2
  141. package/dist/{chunk-WJMSND5Q.js → chunk-SCXVTNLE.js} +2 -2
  142. package/dist/{chunk-K6FCSB6T.js → chunk-SK2CTB3O.js} +6 -6
  143. package/dist/{chunk-QLJU7UUI.js → chunk-T7OIVPCO.js} +38 -3
  144. package/dist/chunk-T7OIVPCO.js.map +1 -0
  145. package/dist/{chunk-U2ILXZDG.js → chunk-TB5CRHTF.js} +2 -2
  146. package/dist/{chunk-SB2SEGR6.js → chunk-TIM4PXWN.js} +3 -3
  147. package/dist/{chunk-YDIC6LSP.js → chunk-VCQFDQM3.js} +27 -7
  148. package/dist/chunk-VCQFDQM3.js.map +1 -0
  149. package/dist/chunk-VIMMEADQ.js +164 -0
  150. package/dist/chunk-VIMMEADQ.js.map +1 -0
  151. package/dist/{chunk-6D5AMANO.js → chunk-WH3LUOCQ.js} +2 -2
  152. package/dist/{chunk-OWRQOYUE.js → chunk-WWR6APJR.js} +2 -2
  153. package/dist/{chunk-5BVAUUWL.js → chunk-X37NTEVS.js} +2 -2
  154. package/dist/{chunk-WW3F7DCX.js → chunk-Z2WZDVGG.js} +2 -2
  155. package/dist/{chunk-EXVCVXFX.js → chunk-ZH6NYB6Y.js} +3 -3
  156. package/dist/data-display/Alert.js +3 -3
  157. package/dist/data-display/Avatar.js +4 -4
  158. package/dist/data-display/CardKit.js +11 -11
  159. package/dist/data-display/Carousel.js +6 -5
  160. package/dist/data-display/Chart.js +11 -11
  161. package/dist/data-display/DataGrid.js +2 -2
  162. package/dist/data-display/DataViews.js +60 -35
  163. package/dist/data-display/DayRuler.js +3 -3
  164. package/dist/data-display/FleetMap.js +9 -9
  165. package/dist/data-display/MapPreview.js +7 -6
  166. package/dist/en-US.js +1 -1
  167. package/dist/feedback/NotificationStatusNotice.js +4 -4
  168. package/dist/feedback/SequenceResolver.js +6 -6
  169. package/dist/form/Calendar.js +5 -5
  170. package/dist/form/DateRangePicker.js +10 -10
  171. package/dist/locales.js +5 -5
  172. package/dist/pt-BR.js +1 -1
  173. package/dist/types/components/data-display/DataViews/data-views-bar-controls.d.ts +15 -1
  174. package/dist/types/components/data-display/DataViews/data-views-bar-controls.d.ts.map +1 -1
  175. package/dist/types/components/data-display/DataViews/data-views-copy.d.ts +35 -0
  176. package/dist/types/components/data-display/DataViews/data-views-copy.d.ts.map +1 -1
  177. package/dist/types/components/data-display/DataViews/data-views-day-input.d.ts +7 -1
  178. package/dist/types/components/data-display/DataViews/data-views-day-input.d.ts.map +1 -1
  179. package/dist/types/components/data-display/DataViews/data-views-more-fields.d.ts.map +1 -1
  180. package/dist/types/components/data-display/DataViews/data-views-more-filters.d.ts +5 -3
  181. package/dist/types/components/data-display/DataViews/data-views-more-filters.d.ts.map +1 -1
  182. package/dist/types/components/data-display/DataViews/data-views-number-input.d.ts +10 -2
  183. package/dist/types/components/data-display/DataViews/data-views-number-input.d.ts.map +1 -1
  184. package/dist/types/components/data-display/DataViews/data-views-preset-chips.d.ts +10 -0
  185. package/dist/types/components/data-display/DataViews/data-views-preset-chips.d.ts.map +1 -1
  186. package/dist/types/components/data-display/DataViews/data-views-range-bounds.d.ts +35 -0
  187. package/dist/types/components/data-display/DataViews/data-views-range-bounds.d.ts.map +1 -0
  188. package/dist/types/components/data-display/DataViews/data-views-range-calendar.d.ts +35 -0
  189. package/dist/types/components/data-display/DataViews/data-views-range-calendar.d.ts.map +1 -0
  190. package/dist/types/components/data-display/DataViews/data-views-range-pill.d.ts +2 -11
  191. package/dist/types/components/data-display/DataViews/data-views-range-pill.d.ts.map +1 -1
  192. package/dist/types/components/data-display/DataViews/data-views-range-summary.d.ts +21 -0
  193. package/dist/types/components/data-display/DataViews/data-views-range-summary.d.ts.map +1 -0
  194. package/dist/types/components/data-display/DataViews/data-views-still-anchor.d.ts +45 -0
  195. package/dist/types/components/data-display/DataViews/data-views-still-anchor.d.ts.map +1 -0
  196. package/dist/types/components/data-display/DayRuler/DayRuler.styles.d.ts +6 -1
  197. package/dist/types/components/data-display/DayRuler/DayRuler.styles.d.ts.map +1 -1
  198. package/dist/types/components/data-display/LazyImage/LazyImage.hooks.d.ts +1 -1
  199. package/dist/types/components/form/Calendar/Calendar.d.ts.map +1 -1
  200. package/dist/types/components/form/Calendar/CalendarDay.d.ts +2 -0
  201. package/dist/types/components/form/Calendar/CalendarDay.d.ts.map +1 -1
  202. package/dist/types/components/form/Calendar/CalendarDayCell.d.ts +2 -0
  203. package/dist/types/components/form/Calendar/CalendarDayCell.d.ts.map +1 -1
  204. package/dist/types/components/form/Calendar/CalendarMonth.d.ts +5 -0
  205. package/dist/types/components/form/Calendar/CalendarMonth.d.ts.map +1 -1
  206. package/dist/types/en-US.data-display.d.ts.map +1 -1
  207. package/dist/types/pt-BR.data-display.d.ts.map +1 -1
  208. package/dist/user-avatar.js +5 -5
  209. package/package.json +1 -1
  210. package/src/components/data-display/DataViews/RESPONSIVE-BEHAVIOUR.md +59 -0
  211. package/src/components/data-display/DataViews/data-views-bar-controls.tsx +56 -1
  212. package/src/components/data-display/DataViews/data-views-copy.ts +36 -0
  213. package/src/components/data-display/DataViews/data-views-day-input.tsx +9 -1
  214. package/src/components/data-display/DataViews/data-views-inline-bar.tsx +5 -3
  215. package/src/components/data-display/DataViews/data-views-more-fields.tsx +1 -0
  216. package/src/components/data-display/DataViews/data-views-more-filters.tsx +82 -29
  217. package/src/components/data-display/DataViews/data-views-number-input.tsx +19 -9
  218. package/src/components/data-display/DataViews/data-views-preset-chips.tsx +165 -16
  219. package/src/components/data-display/DataViews/data-views-range-bounds.tsx +223 -0
  220. package/src/components/data-display/DataViews/data-views-range-calendar.tsx +185 -0
  221. package/src/components/data-display/DataViews/data-views-range-pill.tsx +71 -154
  222. package/src/components/data-display/DataViews/data-views-range-summary.tsx +66 -0
  223. package/src/components/data-display/DataViews/data-views-still-anchor.ts +93 -0
  224. package/src/components/data-display/DayRuler/DayRuler.styles.ts +29 -16
  225. package/src/components/form/Calendar/Calendar.md +17 -2
  226. package/src/components/form/Calendar/Calendar.tsx +56 -3
  227. package/src/components/form/Calendar/CalendarDay.tsx +33 -3
  228. package/src/components/form/Calendar/CalendarDayCell.tsx +4 -0
  229. package/src/components/form/Calendar/CalendarMonth.tsx +27 -5
  230. package/src/en-US.data-display.ts +12 -0
  231. package/src/pt-BR.data-display.ts +12 -0
  232. package/dist/chunk-5KK3I42O.js.map +0 -1
  233. package/dist/chunk-5RSK5M6M.js.map +0 -1
  234. package/dist/chunk-7D7CJRL7.js +0 -78
  235. package/dist/chunk-7D7CJRL7.js.map +0 -1
  236. package/dist/chunk-BO6MT2S2.js.map +0 -1
  237. package/dist/chunk-EOJSA2EK.js.map +0 -1
  238. package/dist/chunk-FEKWKWGK.js.map +0 -1
  239. package/dist/chunk-FJ3UZ4RC.js.map +0 -1
  240. package/dist/chunk-OBA75Y5O.js.map +0 -1
  241. package/dist/chunk-Q2ERGAQO.js.map +0 -1
  242. package/dist/chunk-QLJU7UUI.js.map +0 -1
  243. package/dist/chunk-TRYR424I.js.map +0 -1
  244. package/dist/chunk-X5OGIT2F.js.map +0 -1
  245. package/dist/chunk-XHIBFBNP.js.map +0 -1
  246. package/dist/chunk-YDIC6LSP.js.map +0 -1
  247. /package/dist/{chunk-TYXFFNPM.js.map → chunk-3OTGREQG.js.map} +0 -0
  248. /package/dist/{chunk-BEHT4IHH.js.map → chunk-3X2MA47R.js.map} +0 -0
  249. /package/dist/{chunk-6WHIJPEF.js.map → chunk-6PU5P7QT.js.map} +0 -0
  250. /package/dist/{chunk-JIEVKHOH.js.map → chunk-7YJYIMWP.js.map} +0 -0
  251. /package/dist/{chunk-YNZUYZ2O.js.map → chunk-A3DDEKLV.js.map} +0 -0
  252. /package/dist/{chunk-KHREN7Y7.js.map → chunk-ACM3HHZY.js.map} +0 -0
  253. /package/dist/{chunk-DYHOBKPU.js.map → chunk-BLZDSCIZ.js.map} +0 -0
  254. /package/dist/{chunk-E2UOEI7N.js.map → chunk-BV2LOTMC.js.map} +0 -0
  255. /package/dist/{chunk-O63ZROSY.js.map → chunk-BZBLPXV7.js.map} +0 -0
  256. /package/dist/{chunk-OKRITX4S.js.map → chunk-CJ6XXM4X.js.map} +0 -0
  257. /package/dist/{chunk-LV6AD6XC.js.map → chunk-DBI6AMNY.js.map} +0 -0
  258. /package/dist/{chunk-QRRWLLXW.js.map → chunk-DSBC6O46.js.map} +0 -0
  259. /package/dist/{chunk-3YFDGFEK.js.map → chunk-DVX4HDNP.js.map} +0 -0
  260. /package/dist/{chunk-CJUK32UH.js.map → chunk-EEO7M5GU.js.map} +0 -0
  261. /package/dist/{chunk-7XSCEHGA.js.map → chunk-EOQ6EKTS.js.map} +0 -0
  262. /package/dist/{chunk-AMLHEKSV.js.map → chunk-HI7JPDD6.js.map} +0 -0
  263. /package/dist/{chunk-2H6SCVLD.js.map → chunk-HMEGQKNQ.js.map} +0 -0
  264. /package/dist/{chunk-7QKIL5YF.js.map → chunk-J2GDA64N.js.map} +0 -0
  265. /package/dist/{chunk-BAQ3ITZV.js.map → chunk-JFD742C3.js.map} +0 -0
  266. /package/dist/{chunk-HQCZT6TO.js.map → chunk-JVOEVTCZ.js.map} +0 -0
  267. /package/dist/{chunk-WAO7UQRS.js.map → chunk-KANCE4MS.js.map} +0 -0
  268. /package/dist/{chunk-XLU5WFSY.js.map → chunk-KRBPWTXW.js.map} +0 -0
  269. /package/dist/{chunk-S6D7NOV7.js.map → chunk-L6JAALMX.js.map} +0 -0
  270. /package/dist/{chunk-BECKKDYG.js.map → chunk-M2M4IDFU.js.map} +0 -0
  271. /package/dist/{chunk-CSGBHYW6.js.map → chunk-M5Y42AZ4.js.map} +0 -0
  272. /package/dist/{chunk-5CP5Z3YU.js.map → chunk-MPWA55CF.js.map} +0 -0
  273. /package/dist/{chunk-RCTHCXS6.js.map → chunk-PJNIJIE6.js.map} +0 -0
  274. /package/dist/{chunk-6ATXOJVQ.js.map → chunk-QADTI63U.js.map} +0 -0
  275. /package/dist/{chunk-MW7P2C2C.js.map → chunk-QAEO52Z4.js.map} +0 -0
  276. /package/dist/{chunk-5S5K73I6.js.map → chunk-QSOCOXVL.js.map} +0 -0
  277. /package/dist/{chunk-NQCTANF3.js.map → chunk-QVDEGBME.js.map} +0 -0
  278. /package/dist/{chunk-BQBEN44R.js.map → chunk-RDCIST7P.js.map} +0 -0
  279. /package/dist/{chunk-HUXAIQC5.js.map → chunk-RZ3P4X2I.js.map} +0 -0
  280. /package/dist/{chunk-WJMSND5Q.js.map → chunk-SCXVTNLE.js.map} +0 -0
  281. /package/dist/{chunk-K6FCSB6T.js.map → chunk-SK2CTB3O.js.map} +0 -0
  282. /package/dist/{chunk-U2ILXZDG.js.map → chunk-TB5CRHTF.js.map} +0 -0
  283. /package/dist/{chunk-SB2SEGR6.js.map → chunk-TIM4PXWN.js.map} +0 -0
  284. /package/dist/{chunk-6D5AMANO.js.map → chunk-WH3LUOCQ.js.map} +0 -0
  285. /package/dist/{chunk-OWRQOYUE.js.map → chunk-WWR6APJR.js.map} +0 -0
  286. /package/dist/{chunk-5BVAUUWL.js.map → chunk-X37NTEVS.js.map} +0 -0
  287. /package/dist/{chunk-WW3F7DCX.js.map → chunk-Z2WZDVGG.js.map} +0 -0
  288. /package/dist/{chunk-EXVCVXFX.js.map → chunk-ZH6NYB6Y.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"data-views-more-fields.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-more-fields.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AASxE,qEAAqE;AACrE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACzE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5D,4DAA4D;IAC5D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACnD,YAAY,EAAE,MAAM,CAAC;CACtB;AAsJD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC/D,KAAK,EACL,KAAK,EACL,MAAM,EACN,YAAY,EACZ,aAAa,GACd,EAAE;IACD,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;CACzB,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,QAAQ,GAAG,cAAc,GAAG,eAAe,CAAC,GAAG;IAChF,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAkBA;AAGD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,KAAK,EACL,aAAa,EACb,YAAY,GACb,EAAE;IACD,KAAK,EAAE,iBAAiB,CAAC;CAC1B,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,eAAe,GAAG,cAAc,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAWvF;AAED,2EAA2E;AAC3E,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC3D,KAAK,EACL,KAAK,EACL,MAAM,EACN,YAAY,EACZ,aAAa,EACb,YAAY,GACb,EAAE;IACD,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;CACzB,GAAG,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAwDrC"}
1
+ {"version":3,"file":"data-views-more-fields.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-more-fields.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AASxE,qEAAqE;AACrE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACzE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5D,4DAA4D;IAC5D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACnD,YAAY,EAAE,MAAM,CAAC;CACtB;AAuJD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC/D,KAAK,EACL,KAAK,EACL,MAAM,EACN,YAAY,EACZ,aAAa,GACd,EAAE;IACD,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;CACzB,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,QAAQ,GAAG,cAAc,GAAG,eAAe,CAAC,GAAG;IAChF,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAkBA;AAGD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,KAAK,EACL,aAAa,EACb,YAAY,GACb,EAAE;IACD,KAAK,EAAE,iBAAiB,CAAC;CAC1B,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,eAAe,GAAG,cAAc,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAWvF;AAED,2EAA2E;AAC3E,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC3D,KAAK,EACL,KAAK,EACL,MAAM,EACN,YAAY,EACZ,aAAa,EACb,YAAY,GACb,EAAE;IACD,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;CACzB,GAAG,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAwDrC"}
@@ -14,8 +14,8 @@ import type { OverflowField } from "./data-views-overflow";
14
14
  interface MoreFiltersProps<T extends Record<string, unknown>> extends MoreFieldProps {
15
15
  fields: OverflowField<T>[];
16
16
  }
17
- /** The overflow trigger + panel. Renders nothing when everything fits. */
18
- export declare function MoreFilters<T extends Record<string, unknown>>({ fields, onOpenChange, onClearAll, anyApplied, compact, clearKey, ...rest }: MoreFiltersProps<T> & {
17
+ /** Props of {@link MoreFilters}. */
18
+ interface MoreFiltersPanelProps<T extends Record<string, unknown>> extends MoreFiltersProps<T> {
19
19
  /** Changes on every clear-all; the fields here are keyed on it (FUT-4144). */
20
20
  clearKey?: number;
21
21
  /** Icon only — the same rung that strips Exibir/Exportar. */
@@ -33,6 +33,8 @@ export declare function MoreFilters<T extends Record<string, unknown>>({ fields,
33
33
  * got as far as "1" and then had nowhere to go.
34
34
  */
35
35
  onOpenChange?: (open: boolean) => void;
36
- }): React.JSX.Element | null;
36
+ }
37
+ /** The overflow trigger + panel. Renders nothing when everything fits. */
38
+ export declare function MoreFilters<T extends Record<string, unknown>>({ fields, onOpenChange, onClearAll, anyApplied, compact, clearKey, ...rest }: MoreFiltersPanelProps<T>): React.JSX.Element | null;
37
39
  export {};
38
40
  //# sourceMappingURL=data-views-more-filters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-views-more-filters.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-more-filters.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAuC,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACpG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D;;;;;;;;;;GAUG;AAEH,UAAU,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAE,SAAQ,cAAc;IAClF,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;CAC5B;AAsKD,0EAA0E;AAC1E,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC7D,MAAM,EACN,YAAY,EACZ,UAAU,EACV,UAAU,EACV,OAAe,EACf,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG;IACvB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sDAAsD;IACtD,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,gFAAgF;IAChF,UAAU,EAAE,OAAO,CAAC;IACpB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAoD3B"}
1
+ {"version":3,"file":"data-views-more-filters.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-more-filters.tsx"],"names":[],"mappings":"AAmBA,OAAO,EAAuC,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAEpG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D;;;;;;;;;;GAUG;AAEH,UAAU,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAE,SAAQ,cAAc;IAClF,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;CAC5B;AAmND,oCAAoC;AACpC,UAAU,qBAAqB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC;IAC5F,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sDAAsD;IACtD,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,gFAAgF;IAChF,UAAU,EAAE,OAAO,CAAC;IACpB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC;AAED,0EAA0E;AAC1E,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC7D,MAAM,EACN,YAAY,EACZ,UAAU,EACV,UAAU,EACV,OAAe,EACf,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAuDrD"}
@@ -21,7 +21,8 @@ export declare function formatPtBrNumber(amount: number | string | undefined): s
21
21
  * One end of a numeric range. The BOUND stays a plain `number` — nothing
22
22
  * downstream learns that the typing surface changed.
23
23
  */
24
- export declare function NumberBoundInput({ label, value, unit, onChange, testId, }: {
24
+ /** Props of {@link NumberBoundInput}. */
25
+ interface NumberBoundInputProps {
25
26
  label: string;
26
27
  /** The applied bound. A range restored from the URL hands this over as a string. */
27
28
  value: number | string | undefined;
@@ -29,5 +30,12 @@ export declare function NumberBoundInput({ label, value, unit, onChange, testId,
29
30
  unit?: string;
30
31
  onChange: (bound: number | undefined) => void;
31
32
  testId: string;
32
- }): React.JSX.Element;
33
+ /**
34
+ * Take the width of the cell it sits in rather than its own 140px, so a
35
+ * pair in a panel splits the row equally (FUT-4144 UI review round 2).
36
+ */
37
+ fill?: boolean;
38
+ }
39
+ export declare function NumberBoundInput({ label, value, unit, onChange, testId, fill, }: NumberBoundInputProps): React.JSX.Element;
40
+ export {};
33
41
  //# sourceMappingURL=data-views-number-input.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-views-number-input.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-number-input.tsx"],"names":[],"mappings":"AAuCA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAOnD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAahE;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAG5E;AASD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,MAAM,GACP,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACnC,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9C,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA8DpB"}
1
+ {"version":3,"file":"data-views-number-input.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-number-input.tsx"],"names":[],"mappings":"AAuCA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAOnD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAahE;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAG5E;AASD;;;GAGG;AACH,yCAAyC;AACzC,UAAU,qBAAqB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACnC,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,IAAY,GACb,EAAE,qBAAqB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA+D3C"}
@@ -1,4 +1,11 @@
1
+ import React from "react";
1
2
  import type { RangePreset, RangeValue } from "./data-views-types";
3
+ /**
4
+ * Whether `count` equal parts, each as wide as the widest label, fit `width`
5
+ * with `gap` between them. Unmeasured (`null`: the server, jsdom) counts as
6
+ * fitting, so the row renders the buttons it always rendered.
7
+ */
8
+ export declare function presetsFitOneLine(width: number | null, widest: number, count: number, gap: number): boolean;
2
9
  /**
3
10
  * The preset row. Renders nothing when a field declares none, so a numeric
4
11
  * range without host-configured windows keeps the popover it had.
@@ -6,6 +13,9 @@ import type { RangePreset, RangeValue } from "./data-views-types";
6
13
  * Carries no outer margin — the three surfaces that host it (the pill's
7
14
  * popover, the slide-in panel, the "Mais" overflow) each sit it in a different
8
15
  * stack, and a baked-in margin would be wrong in two of them.
16
+ *
17
+ * What is measured is the row's OWN width, not the window's: the same row
18
+ * lives in a 670px popover, a 300px panel and a phone-wide sheet.
9
19
  */
10
20
  export declare function RangePresets({ presets, value, onChange, testId, }: {
11
21
  presets: RangePreset[];
@@ -1 +1 @@
1
- {"version":3,"file":"data-views-preset-chips.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-preset-chips.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AA4ClE;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,KAAK,EACL,QAAQ,EACR,MAAM,GACP,EAAE;IACD,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAqB3B"}
1
+ {"version":3,"file":"data-views-preset-chips.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-preset-chips.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAKjF,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AA0DlE;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAG3G;AA0FD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,KAAK,EACL,QAAQ,EACR,MAAM,GACP,EAAE;IACD,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CA4C3B"}
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import type { RangeFieldConfig, RangeValue } from './data-views-types';
3
+ /** Props of {@link RangeBounds}. */
4
+ interface RangeBoundsProps<T extends Record<string, unknown>> {
5
+ field: RangeFieldConfig<T>;
6
+ value: RangeValue;
7
+ onChange: (range: RangeValue) => void;
8
+ testId: string;
9
+ /**
10
+ * Months the day calendar shows side by side (FUT-4144). Two where the
11
+ * popover has the room; one, with the month/year selectors, on a phone and
12
+ * in the panels.
13
+ */
14
+ calendarMonths?: 1 | 2;
15
+ /**
16
+ * Whether the day calendar is mounted. A host that keeps the pair mounted
17
+ * while hidden (the slide-in panel) passes its open state, so a closed panel
18
+ * holds no calendar of its own.
19
+ */
20
+ showCalendar?: boolean;
21
+ /**
22
+ * A NUMBER pair splits the row equally too, as a day pair always does. Set
23
+ * by the panels, whose width is the row's; the pill's popover sizes itself to
24
+ * its content and keeps the boxes' own width.
25
+ */
26
+ fillRow?: boolean;
27
+ }
28
+ /**
29
+ * The `De`/`Até` pair for a range — shared by the pill's popover and the
30
+ * slide-in panel's day fields, so the two surfaces cannot drift on what a bound
31
+ * accepts or how it clears.
32
+ */
33
+ export declare function RangeBounds<T extends Record<string, unknown>>({ field, value, onChange, testId, calendarMonths, showCalendar, fillRow, }: RangeBoundsProps<T>): React.JSX.Element;
34
+ export {};
35
+ //# sourceMappingURL=data-views-range-bounds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-views-range-bounds.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-range-bounds.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAUxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAoGvE,oCAAoC;AACpC,UAAU,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1D,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC3B,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACvB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC7D,KAAK,EACL,KAAK,EACL,QAAQ,EACR,MAAM,EACN,cAAkB,EAClB,YAAmB,EACnB,OAAe,GAChB,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA+DzC"}
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import { type DateRange } from '../../form/Calendar';
3
+ import type { RangeValue } from './data-views-types';
4
+ /**
5
+ * What a tap on the calendar makes of the range.
6
+ *
7
+ * `Calendar` reports the period it holds after the tap: a fresh start (`end`
8
+ * null) or a closed one, already in order. The one case it cannot see is a
9
+ * range with only `Até` — typed, or left by a saved view — where its first tap
10
+ * would drop that `Até`. A first day on or before it keeps it, so "até 15/10"
11
+ * plus one tap on the 3rd is 03/10–15/10, as the prototype does.
12
+ */
13
+ export declare function rangeFromCalendar(previous: RangeValue, picked: DateRange): RangeValue;
14
+ /** Props of {@link DayRangeCalendar}. */
15
+ export interface DayRangeCalendarProps {
16
+ /** The filter's own label ("Data"), which names the calendar. */
17
+ fieldLabel: string;
18
+ value: RangeValue;
19
+ /** Called with the range a tap leaves; never for a typed day. */
20
+ onChange: (range: RangeValue) => void;
21
+ /**
22
+ * Months side by side. Two read as a period at a glance where there is room;
23
+ * one, with the month/year selectors, where there is not.
24
+ */
25
+ months: 1 | 2;
26
+ /**
27
+ * Changes when the range moved from OUTSIDE the calendar (typed, a preset,
28
+ * "Limpar"), so the calendar re-opens on it. Never for its own taps: a
29
+ * calendar that jumped under the finger picking in it would be unusable.
30
+ */
31
+ viewKey: string;
32
+ testId: string;
33
+ }
34
+ export declare function DayRangeCalendar({ fieldLabel, value, onChange, months, viewKey, testId, }: DayRangeCalendarProps): React.JSX.Element;
35
+ //# sourceMappingURL=data-views-range-calendar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-views-range-calendar.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-range-calendar.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAI/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAgDrD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,GAAG,UAAU,CAIrF;AAwBD,yCAAyC;AACzC,MAAM,WAAW,qBAAqB;IACpC,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,UAAU,CAAC;IAClB,iEAAiE;IACjE,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC;;;OAGG;IACH,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;IACd;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,UAAU,EACV,KAAK,EACL,QAAQ,EACR,MAAM,EACN,OAAO,EACP,MAAM,GACP,EAAE,qBAAqB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAwC3C"}
@@ -1,16 +1,7 @@
1
1
  import React from 'react';
2
+ import { RangeBounds } from './data-views-range-bounds';
2
3
  import type { RangeFieldConfig, RangeValue } from './data-views-types';
3
- /**
4
- * The `De`/`Até` pair for a range — shared by the pill's popover and the
5
- * slide-in panel's day fields, so the two surfaces cannot drift on what a bound
6
- * accepts or how it clears.
7
- */
8
- export declare function RangeBounds<T extends Record<string, unknown>>({ field, value, onChange, testId, }: {
9
- field: RangeFieldConfig<T>;
10
- value: RangeValue;
11
- onChange: (range: RangeValue) => void;
12
- testId: string;
13
- }): React.JSX.Element;
4
+ export { RangeBounds };
14
5
  export declare function RangePill<T extends Record<string, unknown>>({ field, value, onChange, onOpenChange, testIdPrefix, }: {
15
6
  field: RangeFieldConfig<T>;
16
7
  value: RangeValue;
@@ -1 +1 @@
1
- {"version":3,"file":"data-views-range-pill.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-range-pill.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAexC,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAqDvE;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC7D,KAAK,EACL,KAAK,EACL,QAAQ,EACR,MAAM,GACP,EAAE;IACD,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC3B,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAuDpB;AA8GD,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC3D,KAAK,EACL,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,YAAY,GACb,EAAE;IACD,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC3B,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,+DAA+D;IAC/D,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAmDpB;AAGD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EACjE,KAAK,EACL,KAAK,EACL,QAAQ,EACR,MAAM,GACP,EAAE;IACD,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC3B,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA2BpB"}
1
+ {"version":3,"file":"data-views-range-pill.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-range-pill.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAM1C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAUxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAOvE,OAAO,EAAE,WAAW,EAAE,CAAC;AA8IvB,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC3D,KAAK,EACL,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,YAAY,GACb,EAAE;IACD,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC3B,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,+DAA+D;IAC/D,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAwCpB;AAGD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EACjE,KAAK,EACL,KAAK,EACL,QAAQ,EACR,MAAM,GACP,EAAE;IACD,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC3B,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAoCpB"}
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import type { RangeFieldConfig, RangeValue } from './data-views-types';
3
+ /**
4
+ * The applied window in words, and "Limpar".
5
+ *
6
+ * An inverted window is not an error the merchant must fix before the list
7
+ * responds — it simply matches nothing, and saying so beats an empty grid with
8
+ * no explanation (FUT-668).
9
+ *
10
+ * A DAY filter keeps the row's height while nothing is applied: its first tap
11
+ * on the calendar applies a bound, and a row appearing then grew the popover
12
+ * 26px and moved it 32px up at 320×568, the day under the finger with it
13
+ * (FUT-4144 UI review round 2). The held row is invisible and inert.
14
+ */
15
+ export declare function RangeSummary<T extends Record<string, unknown>>({ field, value, onClear, testId, }: {
16
+ field: RangeFieldConfig<T>;
17
+ value: RangeValue;
18
+ onClear: () => void;
19
+ testId: string;
20
+ }): React.JSX.Element | null;
21
+ //# sourceMappingURL=data-views-range-summary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-views-range-summary.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-range-summary.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGvE;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC9D,KAAK,EACL,KAAK,EACL,OAAO,EACP,MAAM,GACP,EAAE;IACD,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC3B,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CA+B3B"}
@@ -0,0 +1,45 @@
1
+ import type { PopoverActions } from '@mui/material/Popover/index.js';
2
+ import { type RefObject } from 'react';
3
+ /**
4
+ * What the popover hangs from: the trigger's box as it was when it opened —
5
+ * a MUI "virtual element", so the popover keeps its own anchor origin.
6
+ */
7
+ interface StillElement {
8
+ nodeType: 1;
9
+ getBoundingClientRect: () => DOMRect;
10
+ }
11
+ /**
12
+ * A popover that holds STILL while it is open (FUT-4144 UI review round 2).
13
+ *
14
+ * Anchored to an element, a popover follows it. A filter applied from inside
15
+ * one grows the toolbar a "Limpar" and a badge, the trigger moves, and the
16
+ * panel jumped 55px sideways under the finger that had just tapped a day. The
17
+ * point it hangs from is read once, when it opens — and again only when the
18
+ * window itself is resized, which is the one move a reader expects it to make.
19
+ *
20
+ * The other move it makes is when its own HEIGHT changes after it was placed
21
+ * (a preset row settling into a select once measured, a refused day's message):
22
+ * MUI places a popover once, so a taller one ran off a 320×568 screen. The
23
+ * paper's size is watched and the popover re-placed, which moves it only when
24
+ * its height really changed — never on a tap that leaves it the same size.
25
+ *
26
+ * Spread `popoverProps` onto a MUI `Popover` and pass `paperRef` as the paper
27
+ * slot's `ref`.
28
+ */
29
+ export declare function useStillAnchor(): {
30
+ anchor: HTMLElement | null;
31
+ open: (element: HTMLElement) => void;
32
+ close: () => void;
33
+ paperRef: (node: HTMLDivElement | null) => void;
34
+ popoverProps: {
35
+ open: boolean;
36
+ anchorEl: StillElement | null;
37
+ anchorOrigin: {
38
+ vertical: 'bottom';
39
+ horizontal: 'left';
40
+ };
41
+ action: RefObject<PopoverActions | null>;
42
+ };
43
+ };
44
+ export {};
45
+ //# sourceMappingURL=data-views-still-anchor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-views-still-anchor.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-still-anchor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAA4C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEjF;;;GAGG;AACH,UAAU,YAAY;IACpB,QAAQ,EAAE,CAAC,CAAC;IACZ,qBAAqB,EAAE,MAAM,OAAO,CAAC;CACtC;AAOD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,IAAI;IAChC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IACrC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,YAAY,EAAE;QACZ,IAAI,EAAE,OAAO,CAAC;QACd,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;QAC9B,YAAY,EAAE;YAAE,QAAQ,EAAE,QAAQ,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;QACzD,MAAM,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;KAC1C,CAAC;CACH,CA4CA"}
@@ -1,4 +1,4 @@
1
- import type { SxProps, Theme } from '@mui/material/styles/index.js';
1
+ import { type SxProps, type Theme } from '@mui/material/styles/index.js';
2
2
  import type { ScheduleBlockTone } from '../ScheduleGrid/ScheduleGrid.types';
3
3
  /** The container narrow rows answer to (container queries, never media queries). */
4
4
  /**
@@ -10,6 +10,11 @@ export declare function rootSx(hasActions: boolean): SxProps<Theme>;
10
10
  export declare const lineSx: SxProps<Theme>;
11
11
  export declare const coverageLabelSx: SxProps<Theme>;
12
12
  export declare function coverageSx(hours: number): SxProps<Theme>;
13
+ /**
14
+ * How strongly a staffed hour is filled: the prototype's tonal success step, deeper with each
15
+ * person on the escala (0.18 + 0.09 per person, at most 0.85). An empty hour has none.
16
+ */
17
+ export declare function coverageStrength(count: number): number;
13
18
  export declare function coverageCellSx(count: number): SxProps<Theme>;
14
19
  export declare const axisSx: SxProps<Theme>;
15
20
  export declare const groupTitleSx: SxProps<Theme>;
@@ -1 +1 @@
1
- {"version":3,"file":"DayRuler.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DayRuler/DayRuler.styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAM/E,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,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAe5D;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"}
@@ -12,7 +12,7 @@ export declare const imgPassThrough: (props: ResolvedLazyImageProps) => Record<s
12
12
  export declare const useLazyImage: (props: ResolvedLazyImageProps) => {
13
13
  state: LazyImageState;
14
14
  containerRef: React.RefObject<HTMLDivElement | null>;
15
- effectiveLoadingState: "placeholder" | "none" | "spinner" | "skeleton";
15
+ effectiveLoadingState: "none" | "placeholder" | "spinner" | "skeleton";
16
16
  handleImageLoad: (event: React.SyntheticEvent<HTMLImageElement>) => void;
17
17
  handleImageError: (event: React.SyntheticEvent<HTMLImageElement>) => void;
18
18
  handlePlaceholderError: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Calendar/Calendar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA8B,MAAM,OAAO,CAAC;AASnD,OAAO,KAAK,EAAE,aAAa,EAAyB,MAAM,kBAAkB,CAAC;AAkD7E,eAAO,MAAM,QAAQ,sFAmEnB,CAAC;AAIH,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Calendar/Calendar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAU9D,OAAO,KAAK,EAAE,aAAa,EAAyB,MAAM,kBAAkB,CAAC;AA0F7E,eAAO,MAAM,QAAQ,sFA+EnB,CAAC;AAIH,eAAe,QAAQ,CAAC"}
@@ -3,6 +3,8 @@ import type { DayBand } from './Calendar.band';
3
3
  import type { DayRenderArgs } from './Calendar.types';
4
4
  export interface CalendarDayProps {
5
5
  day: DayRenderArgs;
6
+ /** BCP-47 tag the day's accessible name is written in. Default: en-US. */
7
+ locale?: string;
6
8
  band: DayBand;
7
9
  focused: boolean;
8
10
  showOutsideDays: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarDay.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Calendar/CalendarDay.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAKhC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAqItD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,aAAa,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,MAAM,CAAC;IAC/C,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC9B,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAqC5C,CAAC"}
1
+ {"version":3,"file":"CalendarDay.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Calendar/CalendarDay.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAKhC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAgJtD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,aAAa,CAAC;IACnB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,MAAM,CAAC;IAC/C,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC9B,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAsD5C,CAAC"}
@@ -2,6 +2,8 @@ import type { FC } from 'react';
2
2
  import type { CalendarProps, DateRange, MonthMatrixDay, SelectionMode } from './Calendar.types';
3
3
  export interface DayCellContext {
4
4
  selectionMode: SelectionMode;
5
+ /** BCP-47 tag each day's spoken name is written in. */
6
+ locale: string;
5
7
  value: Date | null;
6
8
  range: DateRange;
7
9
  hoveredDate: Date | null;
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarDayCell.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Calendar/CalendarDayCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAMhC,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIhG,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,IAAI,CAAC;IAClB,KAAK,EAAE,IAAI,CAAC;IACZ,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;IACpC,SAAS,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC7C,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC9B,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,cAAc,GAAG;IAAE,GAAG,EAAE,cAAc,CAAA;CAAE,CA2BxE,CAAC"}
1
+ {"version":3,"file":"CalendarDayCell.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Calendar/CalendarDayCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAMhC,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIhG,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,IAAI,CAAC;IAClB,KAAK,EAAE,IAAI,CAAC;IACZ,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;IACpC,SAAS,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC7C,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC9B,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,cAAc,GAAG;IAAE,GAAG,EAAE,cAAc,CAAA;CAAE,CA6BxE,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { FC } from 'react';
2
+ import type { CalendarLabels } from '../../../copy/labels';
2
3
  import type { CalendarProps, MonthMatrix } from './Calendar.types';
3
4
  import type { DayCellContext } from './CalendarDayCell';
4
5
  /**
@@ -12,6 +13,8 @@ export declare const MONTH_SX: {
12
13
  readonly minWidth: 0;
13
14
  readonly maxWidth: (theme: import("@mui/material").Theme) => string;
14
15
  };
16
+ /** The two arrows' accessible names; an icon alone names nothing. */
17
+ export type MonthArrowLabels = Pick<CalendarLabels, 'previousMonth' | 'nextMonth'>;
15
18
  /** The weekday row and the day grid under a month's caption. */
16
19
  export declare const MonthDays: FC<{
17
20
  matrix: MonthMatrix;
@@ -26,6 +29,8 @@ export interface CalendarMonthProps {
26
29
  locale: string;
27
30
  weekdayNames: string[];
28
31
  renderHeader?: CalendarProps['renderHeader'];
32
+ /** The arrows' accessible names. */
33
+ labels?: MonthArrowLabels;
29
34
  onPreviousMonth: () => void;
30
35
  onNextMonth: () => void;
31
36
  dayContext: DayCellContext;
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarMonth.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Calendar/CalendarMonth.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAMhC,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAmBxD;;;;;GAKG;AACH,eAAO,MAAM,QAAQ;;;;CAA4E,CAAC;AAgElG,gEAAgE;AAChE,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,cAAc,CAAC;CAC5B,CAeA,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC7C,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAqChD,CAAC"}
1
+ {"version":3,"file":"CalendarMonth.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Calendar/CalendarMonth.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI3D,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAmBxD;;;;;GAKG;AACH,eAAO,MAAM,QAAQ;;;;CAA4E,CAAC;AAElG,qEAAqE;AACrE,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,EAAE,eAAe,GAAG,WAAW,CAAC,CAAC;AA2EnF,gEAAgE;AAChE,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,cAAc,CAAC;CAC5B,CAkBA,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC7C,oCAAoC;IACpC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAuChD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"en-US.data-display.d.ts","sourceRoot":"","sources":["../../src/en-US.data-display.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,cAAc,EACd,iBAAiB,EAClB,MAAM,QAAQ,CAAC;AAQhB,eAAO,MAAM,mBAAmB,EAAE,YAcjC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,YAOlC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,cAAc,CAa3D,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,YAAY,CAItD,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,iBAUvC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,aAMnC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,aAsMnC,CAAC"}
1
+ {"version":3,"file":"en-US.data-display.d.ts","sourceRoot":"","sources":["../../src/en-US.data-display.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,cAAc,EACd,iBAAiB,EAClB,MAAM,QAAQ,CAAC;AAShB,eAAO,MAAM,mBAAmB,EAAE,YAcjC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,YAOlC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,cAAc,CAa3D,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,YAAY,CAItD,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,iBAUvC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,aAMnC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,aAiNnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pt-BR.data-display.d.ts","sourceRoot":"","sources":["../../src/pt-BR.data-display.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,cAAc,EACd,iBAAiB,EAClB,MAAM,QAAQ,CAAC;AAQhB,eAAO,MAAM,mBAAmB,EAAE,YAcjC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,YAOlC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,cAAc,CAa3D,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,YAAY,CAItD,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,iBAUvC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,aAMnC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,aA8LnC,CAAC"}
1
+ {"version":3,"file":"pt-BR.data-display.d.ts","sourceRoot":"","sources":["../../src/pt-BR.data-display.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,cAAc,EACd,iBAAiB,EAClB,MAAM,QAAQ,CAAC;AAShB,eAAO,MAAM,mBAAmB,EAAE,YAcjC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,YAOlC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,cAAc,CAa3D,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,YAAY,CAItD,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,iBAUvC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,aAMnC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,aAyMnC,CAAC"}
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  UserAvatar,
3
3
  UserMenu
4
- } from "./chunk-E2UOEI7N.js";
4
+ } from "./chunk-BV2LOTMC.js";
5
5
  import "./chunk-DQ22UKMZ.js";
6
6
  import "./chunk-UDQSIRAP.js";
7
- import "./chunk-JIEVKHOH.js";
8
- import "./chunk-7XSCEHGA.js";
9
- import "./chunk-MTEQEPNY.js";
10
- import "./chunk-6ZZGK5DT.js";
7
+ import "./chunk-7YJYIMWP.js";
11
8
  import "./chunk-3ZVUNSFF.js";
9
+ import "./chunk-EOQ6EKTS.js";
10
+ import "./chunk-6ZZGK5DT.js";
11
+ import "./chunk-MTEQEPNY.js";
12
12
  import "./chunk-VUHLNYAE.js";
13
13
  import "./chunk-2GSIEDGN.js";
14
14
  import "./chunk-4XBAEKQQ.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@12-apps/ui",
3
- "version": "6.89.1",
3
+ "version": "6.90.0",
4
4
  "license": "MIT",
5
5
  "packageManager": "pnpm@10.34.5",
6
6
  "type": "module",
@@ -276,6 +276,65 @@ leaves the board with a single populated column, which reads as data loss.
276
276
 
277
277
  ---
278
278
 
279
+ ### A day filter's popover: the range calendar (FUT-4144)
280
+
281
+ A `kind: "day"` range ("Data" on Pedidos, Auditoria, Agendados) opens with a
282
+ range calendar ALWAYS visible under its typed `De`/`Até` boxes — the owner's
283
+ option B. A period is three taps: open the filter, tap the first day, tap the
284
+ last. Nothing was added in front of the boxes, so typing a date costs exactly
285
+ the keystrokes it did.
286
+
287
+ | | below `sm` (320, 390) | `sm` to `md` (600) | from `md` (900, 1280, 1920) |
288
+ | --- | --- | --- | --- |
289
+ | popover width | the screen's, less 8px each side, 8px padding (so seven 40px day columns fit at 320) | 400px | its content's (~670px) |
290
+ | presets | one select ("Atalho") | one select | one row of five equal parts |
291
+ | "Mais" panel | the screen's width less 8px each side, as tall as the screen allows | 320px wide, as tall as the screen allows | — (the pill is on the bar) |
292
+ | months | one, `<Month> ▾ <Year> ▾ ‹ ›` caption | one, same caption | two side by side, `‹ setembro` · `outubro ›`, the current month on the right |
293
+
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
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".
298
+ - One view of ONE range: a tap writes the boxes; a typed whole day writes the
299
+ bound and moves the calendar to it; an impossible typed day (`31/02/2026`)
300
+ is refused in its box and the calendar does not move; "Limpar", a preset or a
301
+ saved view re-opens the calendar on the new range. A tap never moves the
302
+ calendar under the finger.
303
+ - The presets are the options of ONE question, so they sit on one line at
304
+ every width (ADR 0190 in the host): equal parts where the row is wide enough
305
+ for the widest label in each part, measured on the row itself; otherwise the
306
+ same options as a select, where "Nenhum" stands for tapping the active one
307
+ again.
308
+ - Day columns are at least 40px wide below `sm`. The range is the Calendar's
309
+ own band (FUT-4162): one tint behind the days, round AA endpoints.
310
+ - A "Mais" panel holding a day range keeps the "Limpar filtros" row's height
311
+ while nothing is applied, so the first tap does not grow the panel under the
312
+ finger; the panel is as tall as the screen allows instead of a fixed 320px,
313
+ so a range's boxes, its month caption and its weeks are on screen together.
314
+ - The presets' fit is measured on their LAYOUT width (padding and border in,
315
+ never a box read while the popover grows in from 75%), for a number range's
316
+ presets too: "Acima de R$ 10" goes to the select rather than to "Acima de …".
317
+ - In a panel (the "Mais" sheet, the slide-in panel) a number pair splits the
318
+ row equally, like a day pair; in the pill's popover it keeps its own width.
319
+ - The pill's popover and the "Mais" panel hold STILL while open: they hang from
320
+ where their trigger was when they opened, so a "Limpar" or a badge appearing
321
+ on the bar after the first tap does not drag them sideways. They are
322
+ 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
+ - While a panel is open the bar is frozen; if the "Limpar" that a first filter
326
+ brings in does not fit the row it shows as its icon until the panel closes.
327
+ - A second tap before the first swaps them — the boxes never show a period
328
+ backwards. A tap on or before a lone `Até` keeps that `Até`.
329
+ - The slide-in panel and the "Mais" sheet use the same pair, so they get the
330
+ same calendar, one month wide.
331
+ - The calendar is `Calendar` in `selectionMode="range"`, the one
332
+ `DateRangePicker` mounts; its words are `copy.filters.dayCalendar` (optional:
333
+ a host copy without it gets the en-US pack's).
334
+
335
+ Tested in `__tests__/range-calendar.test.tsx` and
336
+ `data-views-range-calendar.test.stories.tsx`.
337
+
279
338
  ## Where this is tested
280
339
 
281
340
  `__tests__/data-views-responsive.test.tsx` drives a fake `ResizeObserver` at each
@@ -13,6 +13,7 @@
13
13
  import CloseRoundedIcon from "@mui/icons-material/CloseRounded";
14
14
  import FilterAltOffRoundedIcon from "@mui/icons-material/FilterAltOffRounded";
15
15
  import Tooltip from "@mui/material/Tooltip/index.js";
16
+ import React, { useLayoutEffect, useRef, useState } from "react";
16
17
 
17
18
  import { Box } from "../../../mui/Box";
18
19
  import { fieldRadiusPx } from "../../../tokens/field-radius";
@@ -33,16 +34,65 @@ import { sxRem } from "../../../tokens/relative";
33
34
  * tooltip when it does: it is one of the two controls (with the search) whose
34
35
  * icon has to carry the whole meaning on a phone.
35
36
  */
37
+ /**
38
+ * Whether a filter control's panel is open — the stretch during which the bar
39
+ * is measured once and then FROZEN, so the field being edited is not promoted
40
+ * out from under the hand (FUT-4144 UI review round 2).
41
+ *
42
+ * Wraps the controls' `onOpenChange` to count the open panels.
43
+ */
44
+ export function useBarFrozen(report?: (open: boolean) => void): {
45
+ frozen: boolean;
46
+ onOpenChange: (open: boolean) => void;
47
+ } {
48
+ const [openCount, setOpenCount] = useState(0);
49
+ return {
50
+ frozen: openCount > 0,
51
+ onOpenChange: (open) => {
52
+ setOpenCount((count) => Math.max(0, count + (open ? 1 : -1)));
53
+ report?.(open);
54
+ },
55
+ };
56
+ }
57
+
58
+ /**
59
+ * Whether the button runs past the edge of the row that holds it. Only asked
60
+ * while the bar is frozen: a first filter applied from inside an open panel
61
+ * brings "Limpar" in with no room budgeted for its label, and at 900 the row
62
+ * cut it to "Lin". It then shows as its icon (the tooltip and accessible name
63
+ * keep the word) until the panel closes and the row is measured again.
64
+ */
65
+ function useCutByRow(ref: React.RefObject<HTMLElement | null>, frozen: boolean): boolean {
66
+ const [cut, setCut] = useState(false);
67
+ useLayoutEffect(() => {
68
+ if (!frozen) {
69
+ setCut(false);
70
+ return;
71
+ }
72
+ const button = ref.current;
73
+ let row = button?.parentElement ?? null;
74
+ while (row && getComputedStyle(row).overflowX === "visible") row = row.parentElement;
75
+ if (button && row && button.getBoundingClientRect().right > row.getBoundingClientRect().right + 0.5) setCut(true);
76
+ });
77
+ return cut;
78
+ }
79
+
36
80
  export function ClearAllControl({
37
81
  onClearAll,
38
- compact,
82
+ compact: compactRung,
39
83
  testIdPrefix,
84
+ frozen = false,
40
85
  }: {
41
86
  onClearAll: () => void;
42
87
  compact: boolean;
43
88
  testIdPrefix: string;
89
+ /** The bar is frozen while a panel is open; see {@link useCutByRow}. */
90
+ frozen?: boolean;
44
91
  }): React.JSX.Element {
45
92
  const copy = useDataViewsCopy();
93
+ const ref = useRef<HTMLButtonElement>(null);
94
+ const cut = useCutByRow(ref, frozen && !compactRung);
95
+ const compact = compactRung || cut;
46
96
  // No border, no fill. Every other control on this row is an outlined field
47
97
  // because it OPENS something; this one is an escape hatch, and giving it the
48
98
  // same weight made it read as a sixth filter. Quiet until hovered.
@@ -50,6 +100,7 @@ export function ClearAllControl({
50
100
  <Box
51
101
  component="button"
52
102
  type="button"
103
+ ref={ref}
53
104
  onClick={onClearAll}
54
105
  data-testid={`${testIdPrefix}-clear-all`}
55
106
  aria-label={copy.filters.clearAll}
@@ -66,6 +117,10 @@ export function ClearAllControl({
66
117
  font: "inherit",
67
118
  fontSize: sxRem(13),
68
119
  whiteSpace: "nowrap",
120
+ // Never squeezed: the bar is frozen while a panel is open, and when a
121
+ // first filter applied from inside one brought this in, the row had
122
+ // no room budgeted for it and cut "Limpar" to "Lin" (FUT-4144).
123
+ flexShrink: 0,
69
124
  color: "text.secondary",
70
125
  "&:hover": { color: "text.primary", bgcolor: "action.hover" },
71
126
  }}