@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
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-4SQ2WCZA.js";
13
13
  import {
14
14
  Alert
15
- } from "./chunk-NQCTANF3.js";
15
+ } from "./chunk-QVDEGBME.js";
16
16
 
17
17
  // src/components/data-display/DataViews/data-views-table-parts.tsx
18
18
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -121,4 +121,4 @@ export {
121
121
  ViewsMenuSlot,
122
122
  ViewDialogs
123
123
  };
124
- //# sourceMappingURL=chunk-WJMSND5Q.js.map
124
+ //# sourceMappingURL=chunk-SCXVTNLE.js.map
@@ -1,7 +1,3 @@
1
- import {
2
- containerStyles,
3
- frameBox
4
- } from "./chunk-Z64TMGYT.js";
5
1
  import {
6
2
  CarouselTrack
7
3
  } from "./chunk-6FDLBWTE.js";
@@ -10,7 +6,11 @@ import {
10
6
  } from "./chunk-RUIV5TVA.js";
11
7
  import {
12
8
  CarouselChrome
13
- } from "./chunk-U2ILXZDG.js";
9
+ } from "./chunk-TB5CRHTF.js";
10
+ import {
11
+ containerStyles,
12
+ frameBox
13
+ } from "./chunk-Z64TMGYT.js";
14
14
  import {
15
15
  withDefaults
16
16
  } from "./chunk-HPK33ACY.js";
@@ -151,4 +151,4 @@ var Carousel = (props) => {
151
151
  export {
152
152
  Carousel
153
153
  };
154
- //# sourceMappingURL=chunk-K6FCSB6T.js.map
154
+ //# sourceMappingURL=chunk-SK2CTB3O.js.map
@@ -18,18 +18,48 @@ import {
18
18
  import CloseRoundedIcon from "@mui/icons-material/CloseRounded";
19
19
  import FilterAltOffRoundedIcon from "@mui/icons-material/FilterAltOffRounded";
20
20
  import Tooltip from "@mui/material/Tooltip/index.js";
21
+ import { useLayoutEffect, useRef, useState } from "react";
21
22
  import { jsx, jsxs } from "react/jsx-runtime";
23
+ function useBarFrozen(report) {
24
+ const [openCount, setOpenCount] = useState(0);
25
+ return {
26
+ frozen: openCount > 0,
27
+ onOpenChange: (open) => {
28
+ setOpenCount((count) => Math.max(0, count + (open ? 1 : -1)));
29
+ report?.(open);
30
+ }
31
+ };
32
+ }
33
+ function useCutByRow(ref, frozen) {
34
+ const [cut, setCut] = useState(false);
35
+ useLayoutEffect(() => {
36
+ if (!frozen) {
37
+ setCut(false);
38
+ return;
39
+ }
40
+ const button = ref.current;
41
+ let row = button?.parentElement ?? null;
42
+ while (row && getComputedStyle(row).overflowX === "visible") row = row.parentElement;
43
+ if (button && row && button.getBoundingClientRect().right > row.getBoundingClientRect().right + 0.5) setCut(true);
44
+ });
45
+ return cut;
46
+ }
22
47
  function ClearAllControl({
23
48
  onClearAll,
24
- compact,
25
- testIdPrefix
49
+ compact: compactRung,
50
+ testIdPrefix,
51
+ frozen = false
26
52
  }) {
27
53
  const copy = useDataViewsCopy();
54
+ const ref = useRef(null);
55
+ const cut = useCutByRow(ref, frozen && !compactRung);
56
+ const compact = compactRung || cut;
28
57
  const button = /* @__PURE__ */ jsxs(
29
58
  default2,
30
59
  {
31
60
  component: "button",
32
61
  type: "button",
62
+ ref,
33
63
  onClick: onClearAll,
34
64
  "data-testid": `${testIdPrefix}-clear-all`,
35
65
  "aria-label": copy.filters.clearAll,
@@ -46,6 +76,10 @@ function ClearAllControl({
46
76
  font: "inherit",
47
77
  fontSize: sxRem(13),
48
78
  whiteSpace: "nowrap",
79
+ // Never squeezed: the bar is frozen while a panel is open, and when a
80
+ // first filter applied from inside one brought this in, the row had
81
+ // no room budgeted for it and cut "Limpar" to "Lin" (FUT-4144).
82
+ flexShrink: 0,
49
83
  color: "text.secondary",
50
84
  "&:hover": { color: "text.primary", bgcolor: "action.hover" }
51
85
  },
@@ -88,7 +122,8 @@ function CloseSearchControl({
88
122
  }
89
123
 
90
124
  export {
125
+ useBarFrozen,
91
126
  ClearAllControl,
92
127
  CloseSearchControl
93
128
  };
94
- //# sourceMappingURL=chunk-QLJU7UUI.js.map
129
+ //# sourceMappingURL=chunk-T7OIVPCO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/DataViews/data-views-bar-controls.tsx"],"sourcesContent":["\"use client\";\n\n/**\n * THE TWO BARE AFFORDANCES ON THE FILTER BAR.\n *\n * Neither opens anything, which is what sets them apart from every other\n * control on that row and why they are styled flat rather than as outlined\n * pills: one clears the filters, one leaves a search takeover. Giving them a\n * pill's weight made \"Limpar\" read as a sixth filter.\n *\n * Their own module because `data-views-inline-bar` outgrew the file-size gate.\n */\nimport CloseRoundedIcon from \"@mui/icons-material/CloseRounded\";\nimport FilterAltOffRoundedIcon from \"@mui/icons-material/FilterAltOffRounded\";\nimport Tooltip from \"@mui/material/Tooltip/index.js\";\nimport React, { useLayoutEffect, useRef, useState } from \"react\";\n\nimport { Box } from \"../../../mui/Box\";\nimport { fieldRadiusPx } from \"../../../tokens/field-radius\";\nimport { useDataViewsCopy } from \"./data-views-copy-context\";\nimport { fieldHeight } from \"../../../tokens/field-height\";\nimport { sxRem } from \"../../../tokens/relative\";\n\n/**\n * \"Limpar\" — one gesture back to the unfiltered list.\n *\n * Present ONLY while something is applied, and last in the cluster, because it\n * is destructive and must never be where a filter control was a moment ago.\n * Each pill already carries its own ✕; this is the other job — six applied\n * filters is six ✕ hunts, and the operator who wants \"show me everything\n * again\" has no way to say it.\n *\n * Loses its label on the same rung Exibir/Exportar lose theirs, and keeps a\n * tooltip when it does: it is one of the two controls (with the search) whose\n * icon has to carry the whole meaning on a phone.\n */\n/**\n * Whether a filter control's panel is open — the stretch during which the bar\n * is measured once and then FROZEN, so the field being edited is not promoted\n * out from under the hand (FUT-4144 UI review round 2).\n *\n * Wraps the controls' `onOpenChange` to count the open panels.\n */\nexport function useBarFrozen(report?: (open: boolean) => void): {\n frozen: boolean;\n onOpenChange: (open: boolean) => void;\n} {\n const [openCount, setOpenCount] = useState(0);\n return {\n frozen: openCount > 0,\n onOpenChange: (open) => {\n setOpenCount((count) => Math.max(0, count + (open ? 1 : -1)));\n report?.(open);\n },\n };\n}\n\n/**\n * Whether the button runs past the edge of the row that holds it. Only asked\n * while the bar is frozen: a first filter applied from inside an open panel\n * brings \"Limpar\" in with no room budgeted for its label, and at 900 the row\n * cut it to \"Lin\". It then shows as its icon (the tooltip and accessible name\n * keep the word) until the panel closes and the row is measured again.\n */\nfunction useCutByRow(ref: React.RefObject<HTMLElement | null>, frozen: boolean): boolean {\n const [cut, setCut] = useState(false);\n useLayoutEffect(() => {\n if (!frozen) {\n setCut(false);\n return;\n }\n const button = ref.current;\n let row = button?.parentElement ?? null;\n while (row && getComputedStyle(row).overflowX === \"visible\") row = row.parentElement;\n if (button && row && button.getBoundingClientRect().right > row.getBoundingClientRect().right + 0.5) setCut(true);\n });\n return cut;\n}\n\nexport function ClearAllControl({\n onClearAll,\n compact: compactRung,\n testIdPrefix,\n frozen = false,\n}: {\n onClearAll: () => void;\n compact: boolean;\n testIdPrefix: string;\n /** The bar is frozen while a panel is open; see {@link useCutByRow}. */\n frozen?: boolean;\n}): React.JSX.Element {\n const copy = useDataViewsCopy();\n const ref = useRef<HTMLButtonElement>(null);\n const cut = useCutByRow(ref, frozen && !compactRung);\n const compact = compactRung || cut;\n // No border, no fill. Every other control on this row is an outlined field\n // because it OPENS something; this one is an escape hatch, and giving it the\n // same weight made it read as a sixth filter. Quiet until hovered.\n const button = (\n <Box\n component=\"button\"\n type=\"button\"\n ref={ref}\n onClick={onClearAll}\n data-testid={`${testIdPrefix}-clear-all`}\n aria-label={copy.filters.clearAll}\n sx={{\n display: \"inline-flex\",\n alignItems: \"center\",\n gap: 0.5,\n height: fieldHeight,\n px: compact ? 0.75 : 1,\n border: 0,\n borderRadius: fieldRadiusPx,\n bgcolor: \"transparent\",\n cursor: \"pointer\",\n font: \"inherit\",\n fontSize: sxRem(13),\n whiteSpace: \"nowrap\",\n // Never squeezed: the bar is frozen while a panel is open, and when a\n // first filter applied from inside one brought this in, the row had\n // no room budgeted for it and cut \"Limpar\" to \"Lin\" (FUT-4144).\n flexShrink: 0,\n color: \"text.secondary\",\n \"&:hover\": { color: \"text.primary\", bgcolor: \"action.hover\" },\n }}\n >\n <FilterAltOffRoundedIcon sx={{ fontSize: sxRem(16) }} />\n {!compact && <Box component=\"span\">{copy.filters.clear}</Box>}\n </Box>\n );\n return compact ? <Tooltip title={copy.filters.clearAll}>{button}</Tooltip> : button;\n}\n\n/**\n * The way out of a search takeover.\n *\n * A phone has no Escape key, and without this the takeover is a one-way door\n * onto a bar with no filters on it.\n\n/**\n * The way out of a search takeover.\n *\n * A phone has no Escape key, and without this the takeover is a one-way door\n * onto a bar with no filters on it.\n */\nexport function CloseSearchControl({\n onClose,\n testIdPrefix,\n}: {\n onClose: () => void;\n testIdPrefix: string;\n}): React.JSX.Element {\n const copy = useDataViewsCopy();\n return (\n <Tooltip title={copy.search.close}>\n <Box\n component=\"button\"\n type=\"button\"\n onClick={onClose}\n aria-label={copy.search.close}\n data-testid={`${testIdPrefix}-search-close`}\n sx={{\n display: \"inline-flex\",\n alignItems: \"center\",\n height: fieldHeight,\n px: 0.75,\n border: 0,\n borderRadius: fieldRadiusPx,\n bgcolor: \"transparent\",\n cursor: \"pointer\",\n color: \"text.secondary\",\n \"&:hover\": { color: \"text.primary\", bgcolor: \"action.hover\" },\n }}\n >\n <CloseRoundedIcon sx={{ fontSize: sxRem(18) }} />\n </Box>\n </Tooltip>\n );\n}\n"],"mappings":"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","names":["default"]}
@@ -2,7 +2,7 @@ import {
2
2
  CarouselArrows,
3
3
  CarouselIndicators,
4
4
  CarouselThumbnails
5
- } from "./chunk-BECKKDYG.js";
5
+ } from "./chunk-M2M4IDFU.js";
6
6
 
7
7
  // src/components/data-display/Carousel/Carousel.chrome.tsx
8
8
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -60,4 +60,4 @@ var CarouselChrome = ({
60
60
  export {
61
61
  CarouselChrome
62
62
  };
63
- //# sourceMappingURL=chunk-U2ILXZDG.js.map
63
+ //# sourceMappingURL=chunk-TB5CRHTF.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  Chart
3
- } from "./chunk-AMLHEKSV.js";
3
+ } from "./chunk-HI7JPDD6.js";
4
4
  import {
5
5
  CHART_SEMANTIC_COLORS,
6
6
  specToChartProps
7
- } from "./chunk-HQCZT6TO.js";
7
+ } from "./chunk-JVOEVTCZ.js";
8
8
  import {
9
9
  accentFor
10
10
  } from "./chunk-B7ZHEOQQ.js";
@@ -46,4 +46,4 @@ var SpecChart = ({
46
46
  export {
47
47
  SpecChart
48
48
  };
49
- //# sourceMappingURL=chunk-SB2SEGR6.js.map
49
+ //# sourceMappingURL=chunk-TIM4PXWN.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  CalendarDayCell
3
- } from "./chunk-XHIBFBNP.js";
3
+ } from "./chunk-3ZRK3BRN.js";
4
4
  import {
5
5
  getMonthName
6
6
  } from "./chunk-QWOI5BZV.js";
@@ -24,13 +24,22 @@ var GRID_SX = {
24
24
  rowGap: 0.5
25
25
  };
26
26
  var MONTH_SX = { flex: `1 1 ${sxRem(280)}`, minWidth: 0, maxWidth: sxRem(304) };
27
- var MonthNavHeader = ({ title, showPrevious, showNext, onPreviousMonth, onNextMonth }) => /* @__PURE__ */ jsxs(
27
+ var MonthNavHeader = ({ title, showPrevious, showNext, labels, onPreviousMonth, onNextMonth }) => /* @__PURE__ */ jsxs(
28
28
  Box,
29
29
  {
30
30
  sx: { display: "flex", alignItems: "center", justifyContent: "space-between", mb: 2 },
31
31
  "data-testid": "calendar-header",
32
32
  children: [
33
- showPrevious && /* @__PURE__ */ jsx(IconButton, { onClick: onPreviousMonth, size: "small", "data-testid": "calendar-prev-month", children: /* @__PURE__ */ jsx(ChevronLeft, {}) }),
33
+ showPrevious && /* @__PURE__ */ jsx(
34
+ IconButton,
35
+ {
36
+ onClick: onPreviousMonth,
37
+ size: "small",
38
+ "aria-label": labels?.previousMonth,
39
+ "data-testid": "calendar-prev-month",
40
+ children: /* @__PURE__ */ jsx(ChevronLeft, {})
41
+ }
42
+ ),
34
43
  /* @__PURE__ */ jsx(
35
44
  Typography,
36
45
  {
@@ -40,7 +49,16 @@ var MonthNavHeader = ({ title, showPrevious, showNext, onPreviousMonth, onNextMo
40
49
  children: title
41
50
  }
42
51
  ),
43
- showNext && /* @__PURE__ */ jsx(IconButton, { onClick: onNextMonth, size: "small", "data-testid": "calendar-next-month", children: /* @__PURE__ */ jsx(ChevronRight, {}) }),
52
+ showNext && /* @__PURE__ */ jsx(
53
+ IconButton,
54
+ {
55
+ onClick: onNextMonth,
56
+ size: "small",
57
+ "aria-label": labels?.nextMonth,
58
+ "data-testid": "calendar-next-month",
59
+ children: /* @__PURE__ */ jsx(ChevronRight, {})
60
+ }
61
+ ),
44
62
  !showPrevious && !showNext && /* @__PURE__ */ jsx(Box, { sx: { width: SPACER_WIDTH } })
45
63
  ]
46
64
  }
@@ -63,13 +81,13 @@ var WeekdayHeader = ({ weekdayNames }) => /* @__PURE__ */ jsx(Box, { sx: { ...GR
63
81
  },
64
82
  `weekday-${index}`
65
83
  )) });
66
- var MonthDays = ({ matrix, monthIndex, weekdayNames, dayContext }) => /* @__PURE__ */ jsxs(Fragment, { children: [
84
+ var MonthDays = ({ matrix, weekdayNames, dayContext }) => /* @__PURE__ */ jsxs(Fragment, { children: [
67
85
  /* @__PURE__ */ jsx(WeekdayHeader, { weekdayNames }),
68
86
  /* @__PURE__ */ jsx(
69
87
  Box,
70
88
  {
71
89
  role: "grid",
72
- "aria-labelledby": `month-${monthIndex}`,
90
+ "aria-label": getMonthName(matrix.month, matrix.year, dayContext.locale),
73
91
  "data-testid": "calendar-grid",
74
92
  sx: GRID_SX,
75
93
  children: matrix.weeks.flat().map((day) => /* @__PURE__ */ jsx(CalendarDayCell, { day, ...dayContext }, day.key))
@@ -83,6 +101,7 @@ var CalendarMonth = ({
83
101
  locale,
84
102
  weekdayNames,
85
103
  renderHeader,
104
+ labels,
86
105
  onPreviousMonth,
87
106
  onNextMonth,
88
107
  dayContext
@@ -102,6 +121,7 @@ var CalendarMonth = ({
102
121
  title,
103
122
  showPrevious: monthIndex === 0,
104
123
  showNext: monthIndex === monthsToShow - 1,
124
+ labels,
105
125
  onPreviousMonth,
106
126
  onNextMonth
107
127
  }
@@ -124,4 +144,4 @@ export {
124
144
  MonthDays,
125
145
  CalendarMonth
126
146
  };
127
- //# sourceMappingURL=chunk-YDIC6LSP.js.map
147
+ //# sourceMappingURL=chunk-VCQFDQM3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/form/Calendar/CalendarMonth.tsx"],"sourcesContent":["import ChevronLeft from '@mui/icons-material/ChevronLeft';\nimport ChevronRight from '@mui/icons-material/ChevronRight';\nimport Box from '@mui/material/Box/index.js';\nimport IconButton from '@mui/material/IconButton/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport type { FC } from 'react';\nimport React from 'react';\n\nimport type { CalendarLabels } from '../../../copy/labels';\nimport { sxRem } from '../../../tokens/relative';\n\nimport { getMonthName } from './Calendar.dates';\nimport type { CalendarProps, MonthMatrix } from './Calendar.types';\nimport type { DayCellContext } from './CalendarDayCell';\nimport { CalendarDayCell } from './CalendarDayCell';\n\n/** The nav spacer's width and the weekday row's height, 32 design px through the type scale. */\nconst SPACER_WIDTH = sxRem(32);\n\n// `minmax(0, 1fr)`, not `1fr`: a bare `1fr` keeps each column at least its\n// content's width, which is what held the grid at 304px (FUT-3861). No column\n// gap: a selected range is one band across the days, and a gap cut it into\n// tiles (FUT-4162). Rows keep theirs. Items centre in their column: the built-in\n// day stretches across it, a host's `renderDay` cell sits in its middle.\nconst GRID_SX = {\n display: 'grid',\n justifyItems: 'center',\n gridTemplateColumns: 'repeat(7, minmax(0, 1fr))',\n columnGap: 0,\n rowGap: 0.5,\n} as const;\n\n/**\n * A month takes the room it is given, from nothing up to seven full columns\n * (304 design px: what 7 × 40 cells and 6 × 4 gaps came to before the gaps\n * went, FUT-4162). Months side by side keep a 280 basis,\n * so a multi-month calendar still wraps rather than squeezing every month.\n */\nexport const MONTH_SX = { flex: `1 1 ${sxRem(280)}`, minWidth: 0, maxWidth: sxRem(304) } as const;\n\n/** The two arrows' accessible names; an icon alone names nothing. */\nexport type MonthArrowLabels = Pick<CalendarLabels, 'previousMonth' | 'nextMonth'>;\n\n// Only the outermost months carry arrows; the ones between get a spacer so their\n// titles stay centred.\nconst MonthNavHeader: FC<{\n title: React.ReactNode;\n showPrevious: boolean;\n showNext: boolean;\n labels?: MonthArrowLabels;\n onPreviousMonth: () => void;\n onNextMonth: () => void;\n}> = ({ title, showPrevious, showNext, labels, onPreviousMonth, onNextMonth }) => (\n <Box\n sx={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between', mb: 2 }}\n data-testid=\"calendar-header\"\n >\n {showPrevious && (\n <IconButton\n onClick={onPreviousMonth}\n size=\"small\"\n aria-label={labels?.previousMonth}\n data-testid=\"calendar-prev-month\"\n >\n <ChevronLeft />\n </IconButton>\n )}\n\n <Typography\n variant=\"h6\"\n component=\"h2\"\n sx={{ fontWeight: 'bold', flex: 1, textAlign: 'center' }}\n >\n {title}\n </Typography>\n\n {showNext && (\n <IconButton\n onClick={onNextMonth}\n size=\"small\"\n aria-label={labels?.nextMonth}\n data-testid=\"calendar-next-month\"\n >\n <ChevronRight />\n </IconButton>\n )}\n\n {!showPrevious && !showNext && <Box sx={{ width: SPACER_WIDTH }} />}\n </Box>\n);\n\nconst WeekdayHeader: FC<{ weekdayNames: string[] }> = ({ weekdayNames }) => (\n <Box sx={{ ...GRID_SX, mb: 1 }}>\n {weekdayNames.map((weekday, index) => (\n <Box\n // Narrow weekday names repeat within a week ('S', 'T'), so position is\n // the only stable key here.\n key={`weekday-${index}`}\n role=\"columnheader\"\n data-testid={`calendar-weekday-${index}`}\n sx={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: SPACER_WIDTH,\n fontSize: sxRem(14),\n fontWeight: 'bold',\n color: 'text.secondary',\n }}\n >\n {weekday}\n </Box>\n ))}\n </Box>\n);\n\n/** The weekday row and the day grid under a month's caption. */\nexport const MonthDays: FC<{\n matrix: MonthMatrix;\n monthIndex: number;\n weekdayNames: string[];\n dayContext: DayCellContext;\n}> = ({ matrix, weekdayNames, dayContext }) => (\n <>\n <WeekdayHeader weekdayNames={weekdayNames} />\n\n <Box\n role=\"grid\"\n // Named by its month in words. It pointed at an id nothing carried, so\n // the grid had no name at all and a two-month calendar read as two\n // anonymous grids.\n aria-label={getMonthName(matrix.month, matrix.year, dayContext.locale)}\n data-testid=\"calendar-grid\"\n sx={GRID_SX}\n >\n {matrix.weeks.flat().map((day) => (\n <CalendarDayCell key={day.key} day={day} {...dayContext} />\n ))}\n </Box>\n </>\n);\n\nexport interface CalendarMonthProps {\n matrix: MonthMatrix;\n monthIndex: number;\n monthsToShow: number;\n locale: string;\n weekdayNames: string[];\n renderHeader?: CalendarProps['renderHeader'];\n /** The arrows' accessible names. */\n labels?: MonthArrowLabels;\n onPreviousMonth: () => void;\n onNextMonth: () => void;\n dayContext: DayCellContext;\n}\n\nexport const CalendarMonth: FC<CalendarMonthProps> = ({\n matrix,\n monthIndex,\n monthsToShow,\n locale,\n weekdayNames,\n renderHeader,\n labels,\n onPreviousMonth,\n onNextMonth,\n dayContext,\n}) => {\n const monthName = getMonthName(matrix.month, matrix.year, locale);\n const title = renderHeader ? renderHeader({ month: matrix.month, year: matrix.year }) : monthName;\n\n return (\n /* The month is addressable by its position, because in a multi-month\n calendar every day number appears once PER MONTH — `calendar-date-5` is\n January's 5th and February's. Without a per-month hook a test can only\n reach a day positionally, which is exactly what the flakiness gate\n refuses. Additive: `calendar-grid` below is unchanged. */\n <Box sx={MONTH_SX} data-testid={`calendar-month-${monthIndex}`}>\n <MonthNavHeader\n title={title}\n showPrevious={monthIndex === 0}\n showNext={monthIndex === monthsToShow - 1}\n labels={labels}\n onPreviousMonth={onPreviousMonth}\n onNextMonth={onNextMonth}\n />\n\n <MonthDays\n matrix={matrix}\n monthIndex={monthIndex}\n weekdayNames={weekdayNames}\n dayContext={dayContext}\n />\n </Box>\n );\n};\n"],"mappings":";;;;;;;;;;;AAAA,OAAO,iBAAiB;AACxB,OAAO,kBAAkB;AACzB,OAAO,SAAS;AAChB,OAAO,gBAAgB;AACvB,OAAO,gBAAgB;AAiDrB,SAsEA,UA3DM,KAXN;AApCF,IAAM,eAAe,MAAM,EAAE;AAO7B,IAAM,UAAU;AAAA,EACd,SAAS;AAAA,EACT,cAAc;AAAA,EACd,qBAAqB;AAAA,EACrB,WAAW;AAAA,EACX,QAAQ;AACV;AAQO,IAAM,WAAW,EAAE,MAAM,OAAO,MAAM,GAAG,CAAC,IAAI,UAAU,GAAG,UAAU,MAAM,GAAG,EAAE;AAOvF,IAAM,iBAOD,CAAC,EAAE,OAAO,cAAc,UAAU,QAAQ,iBAAiB,YAAY,MAC1E;AAAA,EAAC;AAAA;AAAA,IACC,IAAI,EAAE,SAAS,QAAQ,YAAY,UAAU,gBAAgB,iBAAiB,IAAI,EAAE;AAAA,IACpF,eAAY;AAAA,IAEX;AAAA,sBACC;AAAA,QAAC;AAAA;AAAA,UACC,SAAS;AAAA,UACT,MAAK;AAAA,UACL,cAAY,QAAQ;AAAA,UACpB,eAAY;AAAA,UAEZ,8BAAC,eAAY;AAAA;AAAA,MACf;AAAA,MAGF;AAAA,QAAC;AAAA;AAAA,UACC,SAAQ;AAAA,UACR,WAAU;AAAA,UACV,IAAI,EAAE,YAAY,QAAQ,MAAM,GAAG,WAAW,SAAS;AAAA,UAEtD;AAAA;AAAA,MACH;AAAA,MAEC,YACC;AAAA,QAAC;AAAA;AAAA,UACC,SAAS;AAAA,UACT,MAAK;AAAA,UACL,cAAY,QAAQ;AAAA,UACpB,eAAY;AAAA,UAEZ,8BAAC,gBAAa;AAAA;AAAA,MAChB;AAAA,MAGD,CAAC,gBAAgB,CAAC,YAAY,oBAAC,OAAI,IAAI,EAAE,OAAO,aAAa,GAAG;AAAA;AAAA;AACnE;AAGF,IAAM,gBAAgD,CAAC,EAAE,aAAa,MACpE,oBAAC,OAAI,IAAI,EAAE,GAAG,SAAS,IAAI,EAAE,GAC1B,uBAAa,IAAI,CAAC,SAAS,UAC1B;AAAA,EAAC;AAAA;AAAA,IAIC,MAAK;AAAA,IACL,eAAa,oBAAoB,KAAK;AAAA,IACtC,IAAI;AAAA,MACF,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,QAAQ;AAAA,MACR,UAAU,MAAM,EAAE;AAAA,MAClB,YAAY;AAAA,MACZ,OAAO;AAAA,IACT;AAAA,IAEC;AAAA;AAAA,EAbI,WAAW,KAAK;AAcvB,CACD,GACH;AAIK,IAAM,YAKR,CAAC,EAAE,QAAQ,cAAc,WAAW,MACvC,iCACE;AAAA,sBAAC,iBAAc,cAA4B;AAAA,EAE3C;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MAIL,cAAY,aAAa,OAAO,OAAO,OAAO,MAAM,WAAW,MAAM;AAAA,MACrE,eAAY;AAAA,MACZ,IAAI;AAAA,MAEH,iBAAO,MAAM,KAAK,EAAE,IAAI,CAAC,QACxB,oBAAC,mBAA8B,KAAW,GAAG,cAAvB,IAAI,GAA+B,CAC1D;AAAA;AAAA,EACH;AAAA,GACF;AAiBK,IAAM,gBAAwC,CAAC;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,YAAY,aAAa,OAAO,OAAO,OAAO,MAAM,MAAM;AAChE,QAAM,QAAQ,eAAe,aAAa,EAAE,OAAO,OAAO,OAAO,MAAM,OAAO,KAAK,CAAC,IAAI;AAExF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAME,qBAAC,OAAI,IAAI,UAAU,eAAa,kBAAkB,UAAU,IAC1D;AAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,cAAc,eAAe;AAAA,UAC7B,UAAU,eAAe,eAAe;AAAA,UACxC;AAAA,UACA;AAAA,UACA;AAAA;AAAA,MACF;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA;AAAA,MACF;AAAA,OACF;AAAA;AAEJ;","names":[]}
@@ -0,0 +1,164 @@
1
+ import {
2
+ NumberBoundInput
3
+ } from "./chunk-2FKWKLSC.js";
4
+ import {
5
+ DayRangeCalendar
6
+ } from "./chunk-MICX23P4.js";
7
+ import {
8
+ RangePresets
9
+ } from "./chunk-LZNUBQ5I.js";
10
+ import {
11
+ presetsFor
12
+ } from "./chunk-CBOB5AV6.js";
13
+ import {
14
+ isRangeInverted
15
+ } from "./chunk-GCZJH4XL.js";
16
+ import {
17
+ useOutsideResetKey
18
+ } from "./chunk-YOPMXGHY.js";
19
+ import {
20
+ useDataViewsCopy
21
+ } from "./chunk-KHG57NAE.js";
22
+ import {
23
+ DayBoundInput
24
+ } from "./chunk-L6YTVXGN.js";
25
+ import {
26
+ sxRem
27
+ } from "./chunk-YKCAJ2TN.js";
28
+
29
+ // src/components/data-display/DataViews/data-views-range-bounds.tsx
30
+ import Box from "@mui/material/Box/index.js";
31
+ import Typography from "@mui/material/Typography/index.js";
32
+ import { useState } from "react";
33
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
34
+ function BoundField({
35
+ field,
36
+ label,
37
+ value,
38
+ onChange,
39
+ testId,
40
+ fill
41
+ }) {
42
+ const copy = useDataViewsCopy();
43
+ if (field.kind === "day") {
44
+ return /* @__PURE__ */ jsx(
45
+ DayBoundInput,
46
+ {
47
+ fill: true,
48
+ mask: copy.filters.dayMask,
49
+ invalidMessage: copy.filters.dayInvalid,
50
+ label,
51
+ value: value == null ? void 0 : String(value),
52
+ onChange,
53
+ testId
54
+ }
55
+ );
56
+ }
57
+ return /* @__PURE__ */ jsx(
58
+ NumberBoundInput,
59
+ {
60
+ fill,
61
+ label,
62
+ value,
63
+ unit: field.unit,
64
+ onChange,
65
+ testId
66
+ }
67
+ );
68
+ }
69
+ function BoundCell({ grow, children }) {
70
+ if (!grow) return /* @__PURE__ */ jsx(Fragment, { children });
71
+ return /* @__PURE__ */ jsx(Box, { sx: { flex: "1 1 0", minWidth: 0 }, children });
72
+ }
73
+ function RangeNote({
74
+ day,
75
+ inverted,
76
+ testId
77
+ }) {
78
+ const copy = useDataViewsCopy();
79
+ if (inverted) {
80
+ return /* @__PURE__ */ jsx(
81
+ Typography,
82
+ {
83
+ component: "p",
84
+ "data-testid": `${testId}-inverted`,
85
+ sx: { mt: 0.75, fontSize: sxRem(12), color: "error.main" },
86
+ children: copy.filters.rangeInvalid
87
+ }
88
+ );
89
+ }
90
+ if (!day) return null;
91
+ return /* @__PURE__ */ jsx(
92
+ Typography,
93
+ {
94
+ component: "p",
95
+ "data-testid": `${testId}-inclusive`,
96
+ sx: { mt: { xs: 0.25, sm: 0.75 }, fontSize: sxRem(12), color: "text.secondary" },
97
+ children: copy.filters.rangeInclusiveNote
98
+ }
99
+ );
100
+ }
101
+ function RangeBounds({
102
+ field,
103
+ value,
104
+ onChange,
105
+ testId,
106
+ calendarMonths = 1,
107
+ showCalendar = true,
108
+ fillRow = false
109
+ }) {
110
+ const copy = useDataViewsCopy();
111
+ const { key, emitted } = useOutsideResetKey(value);
112
+ const [typed, setTyped] = useState(0);
113
+ const typedChange = (range) => {
114
+ setTyped((n) => n + 1);
115
+ onChange(emitted(range));
116
+ };
117
+ const day = field.kind === "day";
118
+ return /* @__PURE__ */ jsxs(Box, { "data-testid": `${testId}-panel`, children: [
119
+ /* @__PURE__ */ jsx(Box, { sx: { "&:not(:empty)": { mb: { xs: 1, sm: 1.5 } } }, children: /* @__PURE__ */ jsx(RangePresets, { presets: presetsFor(field, copy), value, onChange, testId }) }),
120
+ /* @__PURE__ */ jsxs(Box, { sx: { display: "flex", alignItems: "flex-start", gap: 1.5 }, children: [
121
+ /* @__PURE__ */ jsx(BoundCell, { grow: day || fillRow, children: /* @__PURE__ */ jsx(
122
+ BoundField,
123
+ {
124
+ field,
125
+ label: copy.filters.rangeStart,
126
+ value: value.min,
127
+ onChange: (min) => typedChange({ ...value, min }),
128
+ testId: `${testId}-min`,
129
+ fill: fillRow
130
+ },
131
+ `min-${key}`
132
+ ) }),
133
+ /* @__PURE__ */ jsx(BoundCell, { grow: day || fillRow, children: /* @__PURE__ */ jsx(
134
+ BoundField,
135
+ {
136
+ field,
137
+ label: copy.filters.rangeEnd,
138
+ value: value.max,
139
+ onChange: (max) => typedChange({ ...value, max }),
140
+ testId: `${testId}-max`,
141
+ fill: fillRow
142
+ },
143
+ `max-${key}`
144
+ ) })
145
+ ] }),
146
+ /* @__PURE__ */ jsx(RangeNote, { day, inverted: isRangeInverted(value), testId }),
147
+ day && showCalendar && /* @__PURE__ */ jsx(
148
+ DayRangeCalendar,
149
+ {
150
+ fieldLabel: field.label,
151
+ value,
152
+ onChange: (range) => onChange(emitted(range)),
153
+ months: calendarMonths,
154
+ viewKey: `${key}-${typed}`,
155
+ testId
156
+ }
157
+ )
158
+ ] });
159
+ }
160
+
161
+ export {
162
+ RangeBounds
163
+ };
164
+ //# sourceMappingURL=chunk-VIMMEADQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/DataViews/data-views-range-bounds.tsx"],"sourcesContent":["'use client';\n\n/**\n * The `De`/`Até` pair of a range filter, its preset chips, the line under it\n * and — for a day range — the calendar under that (FUT-4144). Shared by the\n * pill's popover, the slide-in panel and the \"Mais\" sheet, so the three cannot\n * drift on what a bound accepts or how it clears.\n */\nimport Box from '@mui/material/Box/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport React, { useState } from 'react';\n\nimport { useDataViewsCopy } from './data-views-copy-context';\nimport { DayBoundInput } from './data-views-day-input';\nimport { NumberBoundInput } from './data-views-number-input';\nimport { RangePresets } from './data-views-preset-chips';\nimport { DayRangeCalendar } from './data-views-range-calendar';\nimport { presetsFor } from './data-views-range-presets';\nimport { useOutsideResetKey } from './data-views-range-reset';\nimport { isRangeInverted } from './data-views-range-values';\nimport type { RangeFieldConfig, RangeValue } from './data-views-types';\nimport { sxRem } from '../../../tokens/relative';\n\n/**\n * One end of the range. A day keeps its `AAAA-MM-DD` string verbatim (the form\n * both the field and the backend speak) and is typed through the masked\n * `dd/mm/aaaa` field rather than a native date input — see\n * {@link DayBoundInput} for why. A number parses, and an unparseable/blank\n * entry CLEARS the bound rather than writing `NaN`.\n */\nfunction BoundField<T extends Record<string, unknown>>({\n field,\n label,\n value,\n onChange,\n testId,\n fill,\n}: {\n field: RangeFieldConfig<T>;\n label: string;\n value: number | string | undefined;\n onChange: (bound: number | string | undefined) => void;\n testId: string;\n /** A number box takes its cell's width; a day box always does. */\n fill: boolean;\n}): React.JSX.Element {\n const copy = useDataViewsCopy();\n if (field.kind === 'day') {\n return (\n <DayBoundInput\n fill\n mask={copy.filters.dayMask}\n invalidMessage={copy.filters.dayInvalid}\n label={label}\n value={value == null ? undefined : String(value)}\n onChange={onChange}\n testId={testId}\n />\n );\n }\n return (\n <NumberBoundInput\n fill={fill}\n label={label}\n value={value}\n unit={field.unit}\n onChange={onChange}\n testId={testId}\n />\n );\n}\n\n\n/** One box of the pair: an equal share of the row for a day, as it was for a number. */\nfunction BoundCell({ grow, children }: { grow: boolean; children: React.ReactNode }): React.JSX.Element {\n if (!grow) return <>{children}</>;\n return <Box sx={{ flex: '1 1 0', minWidth: 0 }}>{children}</Box>;\n}\n\n/**\n * The line under the pair: why an inverted window matches nothing, or — for a\n * day range — that BOTH days are in the result. Saying so is FUT-668's other\n * half: the bounds compare as ISO strings precisely so `até` keeps its whole\n * day, and nothing on screen would otherwise tell the merchant that.\n */\nfunction RangeNote({\n day,\n inverted,\n testId,\n}: {\n day: boolean;\n inverted: boolean;\n testId: string;\n}): React.JSX.Element | null {\n const copy = useDataViewsCopy();\n if (inverted) {\n return (\n <Typography\n component=\"p\"\n data-testid={`${testId}-inverted`}\n sx={{ mt: 0.75, fontSize: sxRem(12), color: 'error.main' }}\n >\n {copy.filters.rangeInvalid}\n </Typography>\n );\n }\n if (!day) return null;\n return (\n <Typography\n component=\"p\"\n data-testid={`${testId}-inclusive`}\n // `text.secondary`, not `disabled`: the note is read, and disabled grey\n // at 12px is 2.68:1 (FUT-4144 UI review).\n sx={{ mt: { xs: 0.25, sm: 0.75 }, fontSize: sxRem(12), color: 'text.secondary' }}\n >\n {copy.filters.rangeInclusiveNote}\n </Typography>\n );\n}\n\n/** Props of {@link RangeBounds}. */\ninterface RangeBoundsProps<T extends Record<string, unknown>> {\n field: RangeFieldConfig<T>;\n value: RangeValue;\n onChange: (range: RangeValue) => void;\n testId: string;\n /**\n * Months the day calendar shows side by side (FUT-4144). Two where the\n * popover has the room; one, with the month/year selectors, on a phone and\n * in the panels.\n */\n calendarMonths?: 1 | 2;\n /**\n * Whether the day calendar is mounted. A host that keeps the pair mounted\n * while hidden (the slide-in panel) passes its open state, so a closed panel\n * holds no calendar of its own.\n */\n showCalendar?: boolean;\n /**\n * A NUMBER pair splits the row equally too, as a day pair always does. Set\n * by the panels, whose width is the row's; the pill's popover sizes itself to\n * its content and keeps the boxes' own width.\n */\n fillRow?: boolean;\n}\n\n/**\n * The `De`/`Até` pair for a range — shared by the pill's popover and the\n * slide-in panel's day fields, so the two surfaces cannot drift on what a bound\n * accepts or how it clears.\n */\nexport function RangeBounds<T extends Record<string, unknown>>({\n field,\n value,\n onChange,\n testId,\n calendarMonths = 1,\n showCalendar = true,\n fillRow = false,\n}: RangeBoundsProps<T>): React.JSX.Element {\n const copy = useDataViewsCopy();\n const { key, emitted } = useOutsideResetKey(value);\n // Moves the calendar to a TYPED day. A typed write is the fields' own, so\n // the outside key above does not see it; a tap on the calendar moves\n // neither, which is what keeps it still under the finger.\n const [typed, setTyped] = useState(0);\n const typedChange = (range: RangeValue) => {\n setTyped((n) => n + 1);\n onChange(emitted(range));\n };\n const day = field.kind === 'day';\n return (\n <Box data-testid={`${testId}-panel`}>\n {/* Above the inputs, not below: the presets are the answer for most\n merchants, and the two date pickers are the escape hatch. */}\n <Box sx={{ '&:not(:empty)': { mb: { xs: 1, sm: 1.5 } } }}>\n <RangePresets presets={presetsFor(field, copy)} value={value} onChange={onChange} testId={testId} />\n </Box>\n {/* Top-aligned: a day that does not exist grows ITS field by a message\n line, and centring would push the other box half a line down. The two\n boxes are one height, so with no message this is the same row. */}\n <Box sx={{ display: 'flex', alignItems: 'flex-start', gap: 1.5 }}>\n {/* A day pair shares the row equally, so it spans the calendar under\n it; a number pair keeps its own widths. */}\n <BoundCell grow={day || fillRow}>\n <BoundField\n key={`min-${key}`}\n field={field}\n label={copy.filters.rangeStart}\n value={value.min}\n onChange={(min) => typedChange({ ...value, min })}\n testId={`${testId}-min`}\n fill={fillRow}\n />\n </BoundCell>\n <BoundCell grow={day || fillRow}>\n <BoundField\n key={`max-${key}`}\n field={field}\n label={copy.filters.rangeEnd}\n value={value.max}\n onChange={(max) => typedChange({ ...value, max })}\n testId={`${testId}-max`}\n fill={fillRow}\n />\n </BoundCell>\n </Box>\n <RangeNote day={day} inverted={isRangeInverted(value)} testId={testId} />\n {/* Under the boxes and the note, with no button to reach it: the typed\n path stays as short as it was, and a period is two taps (FUT-4144). */}\n {day && showCalendar && (\n <DayRangeCalendar\n fieldLabel={field.label}\n value={value}\n onChange={(range) => onChange(emitted(range))}\n months={calendarMonths}\n viewKey={`${key}-${typed}`}\n testId={testId}\n />\n )}\n </Box>\n );\n}\n"],"mappings":"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","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  useFocusOnScreen
3
- } from "./chunk-BQBEN44R.js";
3
+ } from "./chunk-RDCIST7P.js";
4
4
  import {
5
5
  actionSx,
6
6
  categoryDescriptionSx,
@@ -47,4 +47,4 @@ function SequenceOverviewBody(props) {
47
47
  export {
48
48
  SequenceOverviewBody
49
49
  };
50
- //# sourceMappingURL=chunk-6D5AMANO.js.map
50
+ //# sourceMappingURL=chunk-WH3LUOCQ.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-ZCPSND5Y.js";
4
4
  import {
5
5
  FleetBody
6
- } from "./chunk-BAQ3ITZV.js";
6
+ } from "./chunk-JFD742C3.js";
7
7
  import {
8
8
  FLEET_DEFAULT_LAGGING_AFTER_SECONDS,
9
9
  FLEET_DEFAULT_STALE_AFTER_SECONDS,
@@ -117,4 +117,4 @@ export {
117
117
  FleetMap,
118
118
  FleetMap_default
119
119
  };
120
- //# sourceMappingURL=chunk-OWRQOYUE.js.map
120
+ //# sourceMappingURL=chunk-WWR6APJR.js.map
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  MONTH_SX,
9
9
  MonthDays
10
- } from "./chunk-YDIC6LSP.js";
10
+ } from "./chunk-VCQFDQM3.js";
11
11
  import {
12
12
  MONTH_INDEXES,
13
13
  canShiftMonth,
@@ -115,4 +115,4 @@ var CalendarSelectorsMonth = ({
115
115
  export {
116
116
  CalendarSelectorsMonth
117
117
  };
118
- //# sourceMappingURL=chunk-5BVAUUWL.js.map
118
+ //# sourceMappingURL=chunk-X37NTEVS.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  GridToolbar
3
- } from "./chunk-LV6AD6XC.js";
3
+ } from "./chunk-DBI6AMNY.js";
4
4
 
5
5
  // src/components/data-display/DataViews/data-views-shell-toolbar.tsx
6
6
  import { jsx } from "react/jsx-runtime";
@@ -68,4 +68,4 @@ function ShellToolbar({
68
68
  export {
69
69
  ShellToolbar
70
70
  };
71
- //# sourceMappingURL=chunk-WW3F7DCX.js.map
71
+ //# sourceMappingURL=chunk-Z2WZDVGG.js.map
@@ -4,10 +4,10 @@ import {
4
4
  } from "./chunk-ZZ4MMUBY.js";
5
5
  import {
6
6
  MapControlBar
7
- } from "./chunk-6WHIJPEF.js";
7
+ } from "./chunk-6PU5P7QT.js";
8
8
  import {
9
9
  resolveMapCopy
10
- } from "./chunk-CSGBHYW6.js";
10
+ } from "./chunk-M5Y42AZ4.js";
11
11
  import {
12
12
  MapSearchBar
13
13
  } from "./chunk-MIUPTZS6.js";
@@ -59,4 +59,4 @@ var MapLayers = ({ settings, zoom, mapType, search, controls }) => {
59
59
  export {
60
60
  MapLayers
61
61
  };
62
- //# sourceMappingURL=chunk-EXVCVXFX.js.map
62
+ //# sourceMappingURL=chunk-ZH6NYB6Y.js.map
@@ -1,11 +1,11 @@
1
1
  import "../chunk-NUGT7LMR.js";
2
2
  import {
3
3
  Alert
4
- } from "../chunk-NQCTANF3.js";
5
- import "../chunk-L5RS6QAT.js";
6
- import "../chunk-QXUXO22M.js";
4
+ } from "../chunk-QVDEGBME.js";
7
5
  import "../chunk-7HZ36QDH.js";
6
+ import "../chunk-L5RS6QAT.js";
8
7
  import "../chunk-L7VH6IMR.js";
8
+ import "../chunk-QXUXO22M.js";
9
9
  import "../chunk-5ZY3IIIG.js";
10
10
  import "../chunk-TYJR4GOF.js";
11
11
  import "../chunk-2FBGDSGC.js";
@@ -2,11 +2,11 @@ import "../chunk-UDQSIRAP.js";
2
2
  import {
3
3
  Avatar,
4
4
  AvatarGroup
5
- } from "../chunk-JIEVKHOH.js";
6
- import "../chunk-7XSCEHGA.js";
7
- import "../chunk-MTEQEPNY.js";
8
- import "../chunk-6ZZGK5DT.js";
5
+ } from "../chunk-7YJYIMWP.js";
9
6
  import "../chunk-3ZVUNSFF.js";
7
+ import "../chunk-EOQ6EKTS.js";
8
+ import "../chunk-6ZZGK5DT.js";
9
+ import "../chunk-MTEQEPNY.js";
10
10
  import "../chunk-XOXXG7Q5.js";
11
11
  import "../chunk-XJAD6E3V.js";
12
12
  import "../chunk-F5H2ZXST.js";
@@ -1,9 +1,16 @@
1
+ import {
2
+ CardKebab
3
+ } from "../chunk-R2ODLE6G.js";
1
4
  import {
2
5
  useRowConfirm
3
6
  } from "../chunk-N557OEZR.js";
4
7
  import {
5
8
  useRemoveConfirm
6
- } from "../chunk-3YFDGFEK.js";
9
+ } from "../chunk-DVX4HDNP.js";
10
+ import {
11
+ CardActionsProvider,
12
+ useCardActions
13
+ } from "../chunk-PJNIJIE6.js";
7
14
  import {
8
15
  rowActionsToMenuItems
9
16
  } from "../chunk-ZBXG6RVJ.js";
@@ -14,13 +21,6 @@ import {
14
21
  Ledger,
15
22
  TagList
16
23
  } from "../chunk-JOKWTRWL.js";
17
- import {
18
- CardActionsProvider,
19
- useCardActions
20
- } from "../chunk-RCTHCXS6.js";
21
- import {
22
- CardKebab
23
- } from "../chunk-R2ODLE6G.js";
24
24
  import "../chunk-WVML3ENZ.js";
25
25
  import "../chunk-AY5GKCH7.js";
26
26
  import "../chunk-XCBQXSTR.js";
@@ -32,11 +32,11 @@ import "../chunk-EMYESBIT.js";
32
32
  import "../chunk-LZRVUOMU.js";
33
33
  import "../chunk-EEB66IVH.js";
34
34
  import "../chunk-NUGT7LMR.js";
35
- import "../chunk-NQCTANF3.js";
36
- import "../chunk-L5RS6QAT.js";
37
- import "../chunk-QXUXO22M.js";
35
+ import "../chunk-QVDEGBME.js";
38
36
  import "../chunk-7HZ36QDH.js";
37
+ import "../chunk-L5RS6QAT.js";
39
38
  import "../chunk-L7VH6IMR.js";
39
+ import "../chunk-QXUXO22M.js";
40
40
  import "../chunk-2IBFEHIX.js";
41
41
  import "../chunk-ZYZPSBNQ.js";
42
42
  import "../chunk-COK65GX2.js";
@@ -1,19 +1,20 @@
1
1
  import "../chunk-62FET2BM.js";
2
2
  import {
3
3
  Carousel
4
- } from "../chunk-K6FCSB6T.js";
5
- import "../chunk-Z64TMGYT.js";
4
+ } from "../chunk-SK2CTB3O.js";
6
5
  import "../chunk-6FDLBWTE.js";
7
6
  import "../chunk-RUIV5TVA.js";
8
- import "../chunk-U2ILXZDG.js";
7
+ import "../chunk-TB5CRHTF.js";
9
8
  import {
10
9
  CarouselArrows,
11
10
  CarouselIndicators,
12
11
  CarouselThumbnails
13
- } from "../chunk-BECKKDYG.js";
14
- import "../chunk-FEKWKWGK.js";
12
+ } from "../chunk-M2M4IDFU.js";
13
+ import "../chunk-Z64TMGYT.js";
14
+ import "../chunk-ARGVUTTL.js";
15
15
  import "../chunk-PZS7N74L.js";
16
16
  import "../chunk-AA2X5GOT.js";
17
+ import "../chunk-XOXXG7Q5.js";
17
18
  import "../chunk-HPK33ACY.js";
18
19
  import "../chunk-B7ZHEOQQ.js";
19
20
  import "../chunk-BRHRK7BK.js";