@12-apps/ui 6.89.2 → 6.91.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.
- package/components-catalog.md +2 -2
- package/dist/_internal/components/data-display/Alert/Alert.js +3 -3
- package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +3 -3
- package/dist/_internal/components/data-display/Avatar/Avatar.js +3 -3
- package/dist/_internal/components/data-display/Avatar/Avatar.view.js +2 -2
- package/dist/_internal/components/data-display/CardKit/card-actions-context.js +4 -4
- package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +5 -5
- package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +4 -3
- package/dist/_internal/components/data-display/Carousel/Carousel.js +5 -4
- package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +3 -2
- package/dist/_internal/components/data-display/Chart/Chart.js +5 -5
- package/dist/_internal/components/data-display/Chart/SpecChart.js +8 -8
- package/dist/_internal/components/data-display/Chart/chart-context.js +2 -2
- package/dist/_internal/components/data-display/Chart/chart-renderers.js +4 -4
- package/dist/_internal/components/data-display/Chart/chart-spec.js +2 -2
- package/dist/_internal/components/data-display/Chip/Chip.js +3 -3
- package/dist/_internal/components/data-display/Chip/Chip.styles.js +2 -2
- package/dist/_internal/components/data-display/DataGrid/DataGrid.js +2 -2
- package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +56 -31
- package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +64 -39
- package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +6 -6
- package/dist/_internal/components/data-display/DataViews/base-list-card-layout.js +7 -7
- package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +5 -5
- package/dist/_internal/components/data-display/DataViews/base-list-card.js +9 -9
- package/dist/_internal/components/data-display/DataViews/data-views-bar-controls.js +5 -3
- package/dist/_internal/components/data-display/DataViews/data-views-day-input.js +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +31 -6
- package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +8 -8
- package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +53 -28
- package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +36 -11
- package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +32 -7
- package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +33 -8
- package/dist/_internal/components/data-display/DataViews/data-views-number-input.js +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-preset-chips.js +10 -3
- package/dist/_internal/components/data-display/DataViews/data-views-range-bounds.js +47 -0
- package/dist/_internal/components/data-display/DataViews/data-views-range-calendar.js +36 -0
- package/dist/_internal/components/data-display/DataViews/data-views-range-calendar.js.map +1 -0
- package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +32 -6
- package/dist/_internal/components/data-display/DataViews/data-views-range-summary.js +12 -0
- package/dist/_internal/components/data-display/DataViews/data-views-range-summary.js.map +1 -0
- package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-still-anchor.js +9 -0
- package/dist/_internal/components/data-display/DataViews/data-views-still-anchor.js.map +1 -0
- package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +5 -5
- package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +2 -2
- package/dist/_internal/components/data-display/DataViews/list-card-rails.js +4 -4
- package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +2 -2
- package/dist/_internal/components/data-display/EmptyState/EmptyState.js +2 -2
- package/dist/_internal/components/data-display/FleetMap/FleetBody.js +13 -12
- package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +12 -11
- package/dist/_internal/components/data-display/FleetMap/FleetMap.fixtures.js +2 -1
- package/dist/_internal/components/data-display/FleetMap/FleetMap.fixtures.js.map +1 -1
- package/dist/_internal/components/data-display/FleetMap/FleetMap.js +15 -15
- package/dist/_internal/components/data-display/InteractiveTooltip/InteractiveTooltip.js +2 -2
- package/dist/_internal/components/data-display/Lightbox/Lightbox.js +7 -7
- package/dist/_internal/components/data-display/Lightbox/LightboxControls.js +2 -2
- package/dist/_internal/components/data-display/Lightbox/LightboxOverlay.js +3 -3
- package/dist/_internal/components/data-display/Lightbox/LightboxThumbnails.js +2 -2
- package/dist/_internal/components/data-display/MapPreview/MapControlBar.js +4 -3
- package/dist/_internal/components/data-display/MapPreview/MapLayers.js +6 -5
- package/dist/_internal/components/data-display/MapPreview/MapMarkers.js +5 -4
- package/dist/_internal/components/data-display/MapPreview/MapPreview.helpers.js +3 -2
- package/dist/_internal/components/data-display/MapPreview/MapPreview.js +11 -10
- package/dist/_internal/components/data-display/RegionMap/RegionMap.hooks.js +2 -1
- package/dist/_internal/components/data-display/RegionMap/RegionMap.js +4 -3
- package/dist/_internal/components/data-display/RegionMap/RegionMap.view.js +19 -0
- package/dist/_internal/components/data-display/RegionMap/RegionMap.view.js.map +1 -0
- package/dist/_internal/components/data-display/RegionMap/RegionMapDrawing.js +1 -1
- package/dist/_internal/components/data-display/SectionOnboarding/SectionOnboarding.js +3 -3
- package/dist/_internal/components/data-display/index.js +67 -61
- package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +4 -4
- package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.js +6 -6
- package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.overview.js +5 -5
- package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.parts.js +4 -4
- package/dist/_internal/components/feedback/index.js +7 -7
- package/dist/_internal/components/form/Calendar/Calendar.js +5 -5
- package/dist/_internal/components/form/Calendar/CalendarDay.js +1 -1
- package/dist/_internal/components/form/Calendar/CalendarDayCell.js +2 -2
- package/dist/_internal/components/form/Calendar/CalendarMonth.js +3 -3
- package/dist/_internal/components/form/Calendar/CalendarSelectorsMonth.js +4 -4
- package/dist/_internal/components/form/DateRangePicker/DateRangePicker.hooks.js +3 -3
- package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +10 -10
- package/dist/_internal/components/form/DateRangePicker/DateRangePicker.range.js +2 -2
- package/dist/_internal/components/form/DateRangePicker/DateRangePickerFields.js +3 -3
- package/dist/_internal/components/form/index.js +24 -24
- package/dist/_internal/components/index.js +102 -96
- package/dist/_internal/components/layout/SettingCard/SettingCard.js +8 -8
- package/dist/_internal/components/layout/SettingCard/SettingCard.parts.js +4 -4
- package/dist/_internal/components/layout/SettingCard/SettingCard.summary.js +7 -7
- package/dist/_internal/components/layout/SettingCard/SettingGrid.js +5 -5
- package/dist/_internal/components/layout/SettingCard/SettingGroup.js +9 -9
- package/dist/_internal/components/layout/SettingCard/SettingSwitch.js +8 -8
- package/dist/_internal/components/layout/SettingCard/SettingToggle.js +9 -9
- package/dist/_internal/components/layout/index.js +12 -12
- package/dist/_internal/en-US.data-display.js +2 -1
- package/dist/_internal/pt-BR.data-display.js +2 -1
- package/dist/_internal/user-avatar/user-avatar.js +4 -4
- package/dist/charts.js +11 -11
- package/dist/{chunk-FJ3UZ4RC.js → chunk-2FKWKLSC.js} +5 -3
- package/dist/chunk-2FKWKLSC.js.map +1 -0
- package/dist/{chunk-K2VDRODL.js → chunk-3IDL7NK7.js} +2 -2
- package/dist/{chunk-6ATXOJVQ.js → chunk-3JZ3KEQQ.js} +4 -4
- package/dist/{chunk-XHIBFBNP.js → chunk-3ZRK3BRN.js} +4 -2
- package/dist/chunk-3ZRK3BRN.js.map +1 -0
- package/dist/{chunk-EOIRU62W.js → chunk-42D7KBDH.js} +2 -2
- package/dist/{chunk-LXIPBHNJ.js → chunk-42TOCPXB.js} +5 -5
- package/dist/{chunk-WAO7UQRS.js → chunk-4KWDNGMA.js} +3 -3
- package/dist/{chunk-X5OGIT2F.js → chunk-4L54KUZV.js} +22 -4
- package/dist/chunk-4L54KUZV.js.map +1 -0
- package/dist/{chunk-JIEVKHOH.js → chunk-4QR7LM5F.js} +2 -2
- package/dist/{chunk-WJMSND5Q.js → chunk-5E2CRRD4.js} +5 -5
- package/dist/{chunk-ZDAAHCIS.js → chunk-5HADIIWN.js} +3 -3
- package/dist/{chunk-BP3ZKIPE.js → chunk-64UNVW6D.js} +4 -4
- package/dist/{chunk-TRYR424I.js → chunk-6LOWZCH7.js} +15 -1
- package/dist/chunk-6LOWZCH7.js.map +1 -0
- package/dist/{chunk-6WHIJPEF.js → chunk-6PU5P7QT.js} +2 -2
- package/dist/{chunk-7F6D73NL.js → chunk-76DX2IMH.js} +2 -2
- package/dist/chunk-7CUZTWKW.js +52 -0
- package/dist/chunk-7CUZTWKW.js.map +1 -0
- package/dist/{chunk-5RSK5M6M.js → chunk-7NP2JHGM.js} +63 -126
- package/dist/chunk-7NP2JHGM.js.map +1 -0
- package/dist/{chunk-YNZUYZ2O.js → chunk-A3DDEKLV.js} +2 -2
- package/dist/{chunk-FEKWKWGK.js → chunk-ARGVUTTL.js} +15 -1
- package/dist/chunk-ARGVUTTL.js.map +1 -0
- package/dist/{chunk-BMTIBQQC.js → chunk-BBBHPK2Q.js} +6 -6
- package/dist/{chunk-DYHOBKPU.js → chunk-BLZDSCIZ.js} +6 -6
- package/dist/{chunk-EUR2ORTN.js → chunk-CSJ7WNXU.js} +2 -2
- package/dist/{chunk-OWRQOYUE.js → chunk-DA3D5X5Z.js} +5 -5
- package/dist/{chunk-LV6AD6XC.js → chunk-DBI6AMNY.js} +4 -4
- package/dist/{chunk-3YFDGFEK.js → chunk-DVX4HDNP.js} +2 -2
- package/dist/chunk-DY2I6LMX.js +1 -0
- package/dist/chunk-DY2I6LMX.js.map +1 -0
- package/dist/{chunk-QKOJ4637.js → chunk-E6K2UZGR.js} +3 -3
- package/dist/{chunk-7XSCEHGA.js → chunk-EOQ6EKTS.js} +7 -7
- package/dist/chunk-FORAVDJF.js +164 -0
- package/dist/chunk-FORAVDJF.js.map +1 -0
- package/dist/chunk-FWAY2SAI.js +72 -0
- package/dist/chunk-FWAY2SAI.js.map +1 -0
- package/dist/{chunk-Q2ERGAQO.js → chunk-FYAW5GBF.js} +33 -6
- package/dist/chunk-FYAW5GBF.js.map +1 -0
- package/dist/{chunk-GMRQPNG3.js → chunk-G2NVBCF7.js} +20 -25
- package/dist/chunk-G2NVBCF7.js.map +1 -0
- package/dist/{chunk-Z5WUSI47.js → chunk-G3JFESKD.js} +6 -6
- package/dist/{chunk-3EIRRLCQ.js → chunk-HC6OZ7QK.js} +2 -2
- package/dist/{chunk-SKIAWOUC.js → chunk-HOPRZEBM.js} +3 -3
- package/dist/{chunk-OBA75Y5O.js → chunk-HS662RLW.js} +61 -33
- package/dist/chunk-HS662RLW.js.map +1 -0
- package/dist/{chunk-O63ZROSY.js → chunk-IWSTMVCA.js} +7 -7
- package/dist/chunk-J2AVWIMM.js +60 -0
- package/dist/chunk-J2AVWIMM.js.map +1 -0
- package/dist/{chunk-7QKIL5YF.js → chunk-J2GDA64N.js} +4 -4
- package/dist/{chunk-TZC6KIK2.js → chunk-JG733RMP.js} +5 -5
- package/dist/{chunk-CW5Z67NA.js → chunk-JH2XLVWM.js} +2 -2
- package/dist/{chunk-TYXFFNPM.js → chunk-JKZPGCN7.js} +11 -11
- package/dist/{chunk-QRRWLLXW.js → chunk-JN2IANXD.js} +3 -3
- package/dist/{chunk-HQCZT6TO.js → chunk-JVOEVTCZ.js} +5 -5
- package/dist/{chunk-GBB23QLL.js → chunk-KJKD6Y6V.js} +3 -3
- package/dist/{chunk-XLU5WFSY.js → chunk-L3PDY7CJ.js} +2 -2
- package/dist/{chunk-S6D7NOV7.js → chunk-L6JAALMX.js} +3 -3
- package/dist/{chunk-72HOUWAW.js → chunk-L6YTVXGN.js} +5 -3
- package/dist/{chunk-72HOUWAW.js.map → chunk-L6YTVXGN.js.map} +1 -1
- package/dist/chunk-LZNUBQ5I.js +181 -0
- package/dist/chunk-LZNUBQ5I.js.map +1 -0
- package/dist/{chunk-BECKKDYG.js → chunk-M2M4IDFU.js} +2 -2
- package/dist/{chunk-AMLHEKSV.js → chunk-M3XJVD5G.js} +5 -5
- package/dist/{chunk-CSGBHYW6.js → chunk-M5Y42AZ4.js} +2 -2
- package/dist/chunk-MICX23P4.js +122 -0
- package/dist/chunk-MICX23P4.js.map +1 -0
- package/dist/{chunk-5CP5Z3YU.js → chunk-MPWA55CF.js} +4 -4
- package/dist/{chunk-CJUK32UH.js → chunk-MYTV353T.js} +5 -5
- package/dist/{chunk-BO6MT2S2.js → chunk-MZAYIG2I.js} +7 -6
- package/dist/chunk-MZAYIG2I.js.map +1 -0
- package/dist/{chunk-AKE6KVQG.js → chunk-NGXL4R54.js} +5 -1
- package/dist/chunk-NGXL4R54.js.map +1 -0
- package/dist/{chunk-BEHT4IHH.js → chunk-NKEFH3RS.js} +6 -6
- package/dist/{chunk-NI67M453.js → chunk-PGANINQD.js} +5 -5
- package/dist/{chunk-RCTHCXS6.js → chunk-PJNIJIE6.js} +2 -2
- package/dist/{chunk-E2UOEI7N.js → chunk-Q3SILZTQ.js} +2 -2
- package/dist/{chunk-SB2SEGR6.js → chunk-QHIWV55K.js} +3 -3
- package/dist/{chunk-DHAXUVMR.js → chunk-QN7FVZQD.js} +4 -4
- package/dist/{chunk-5S5K73I6.js → chunk-QSOCOXVL.js} +3 -3
- package/dist/{chunk-NQCTANF3.js → chunk-QVDEGBME.js} +7 -7
- package/dist/{chunk-BQBEN44R.js → chunk-RDCIST7P.js} +2 -2
- package/dist/{chunk-HUXAIQC5.js → chunk-RZ3P4X2I.js} +2 -2
- package/dist/{chunk-QLJU7UUI.js → chunk-T7OIVPCO.js} +38 -3
- package/dist/chunk-T7OIVPCO.js.map +1 -0
- package/dist/{chunk-U2ILXZDG.js → chunk-TB5CRHTF.js} +2 -2
- package/dist/{chunk-X2GWR75Q.js → chunk-TSEBMVYY.js} +3 -3
- package/dist/{chunk-OKRITX4S.js → chunk-U2AEM3K4.js} +7 -7
- package/dist/{chunk-EXVCVXFX.js → chunk-U2QXQ7D4.js} +6 -6
- package/dist/{chunk-K6FCSB6T.js → chunk-U2SAW6DH.js} +2 -2
- package/dist/{chunk-DAHSKQBV.js → chunk-UMOHHWXY.js} +2 -2
- package/dist/{chunk-YDIC6LSP.js → chunk-VCQFDQM3.js} +27 -7
- package/dist/chunk-VCQFDQM3.js.map +1 -0
- package/dist/{chunk-P772HCHI.js → chunk-W676GY42.js} +4 -4
- package/dist/{chunk-BAQ3ITZV.js → chunk-WCF56ZCD.js} +2 -2
- package/dist/{chunk-6D5AMANO.js → chunk-WH3LUOCQ.js} +2 -2
- package/dist/{chunk-T2G4LDU5.js → chunk-WLLUARTC.js} +2 -2
- package/dist/{chunk-5BVAUUWL.js → chunk-X37NTEVS.js} +2 -2
- package/dist/{chunk-5KK3I42O.js → chunk-XILMDEGZ.js} +13 -10
- package/dist/chunk-XILMDEGZ.js.map +1 -0
- package/dist/{chunk-MW7P2C2C.js → chunk-YGQM6GFQ.js} +2 -2
- package/dist/{chunk-WW3F7DCX.js → chunk-Z2WZDVGG.js} +2 -2
- package/dist/{chunk-WNNA6YYE.js → chunk-Z7T4EFEC.js} +7 -4
- package/dist/chunk-Z7T4EFEC.js.map +1 -0
- package/dist/{chunk-LOLYBFYY.js → chunk-ZCNR4DN5.js} +5 -5
- package/dist/{chunk-COKPPU42.js → chunk-ZIHSCBMN.js} +12 -12
- package/dist/data-display/Alert.js +3 -3
- package/dist/data-display/AsyncStateContainer.js +3 -3
- package/dist/data-display/Avatar.js +3 -3
- package/dist/data-display/CardKit.js +15 -15
- package/dist/data-display/Carousel.js +5 -4
- package/dist/data-display/Chart.js +11 -11
- package/dist/data-display/Chip.js +3 -3
- package/dist/data-display/DataGrid.js +2 -2
- package/dist/data-display/DataViews.js +75 -50
- package/dist/data-display/DayRuler.js +4 -4
- package/dist/data-display/EmptyState.js +2 -2
- package/dist/data-display/FleetMap.js +15 -15
- package/dist/data-display/InteractiveTooltip.js +2 -2
- package/dist/data-display/Lightbox.js +7 -7
- package/dist/data-display/MapPreview.js +11 -10
- package/dist/data-display/RegionMap.js +11 -5
- package/dist/data-display/SectionOnboarding.js +3 -3
- package/dist/en-US.js +1 -1
- package/dist/feedback/NotificationStatusNotice.js +4 -4
- package/dist/feedback/SequenceResolver.js +6 -6
- package/dist/form/Calendar.js +5 -5
- package/dist/form/DateRangePicker.js +10 -10
- package/dist/layout/SettingCard.js +12 -12
- package/dist/locales.js +5 -5
- package/dist/pt-BR.js +1 -1
- package/dist/types/components/data-display/DataViews/data-views-bar-controls.d.ts +15 -1
- package/dist/types/components/data-display/DataViews/data-views-bar-controls.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-copy.d.ts +35 -0
- package/dist/types/components/data-display/DataViews/data-views-copy.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-day-input.d.ts +7 -1
- package/dist/types/components/data-display/DataViews/data-views-day-input.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-more-fields.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-more-filters.d.ts +5 -3
- package/dist/types/components/data-display/DataViews/data-views-more-filters.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-number-input.d.ts +10 -2
- package/dist/types/components/data-display/DataViews/data-views-number-input.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-preset-chips.d.ts +10 -0
- package/dist/types/components/data-display/DataViews/data-views-preset-chips.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-range-bounds.d.ts +35 -0
- package/dist/types/components/data-display/DataViews/data-views-range-bounds.d.ts.map +1 -0
- package/dist/types/components/data-display/DataViews/data-views-range-calendar.d.ts +35 -0
- package/dist/types/components/data-display/DataViews/data-views-range-calendar.d.ts.map +1 -0
- package/dist/types/components/data-display/DataViews/data-views-range-pill.d.ts +2 -11
- package/dist/types/components/data-display/DataViews/data-views-range-pill.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-range-summary.d.ts +21 -0
- package/dist/types/components/data-display/DataViews/data-views-range-summary.d.ts.map +1 -0
- package/dist/types/components/data-display/DataViews/data-views-still-anchor.d.ts +45 -0
- package/dist/types/components/data-display/DataViews/data-views-still-anchor.d.ts.map +1 -0
- package/dist/types/components/data-display/LazyImage/LazyImage.hooks.d.ts +1 -1
- package/dist/types/components/data-display/RegionMap/RegionMap.d.ts +4 -1
- package/dist/types/components/data-display/RegionMap/RegionMap.d.ts.map +1 -1
- package/dist/types/components/data-display/RegionMap/RegionMap.hooks.d.ts +4 -2
- package/dist/types/components/data-display/RegionMap/RegionMap.hooks.d.ts.map +1 -1
- package/dist/types/components/data-display/RegionMap/RegionMap.types.d.ts +40 -0
- package/dist/types/components/data-display/RegionMap/RegionMap.types.d.ts.map +1 -1
- package/dist/types/components/data-display/RegionMap/RegionMap.view.d.ts +36 -0
- package/dist/types/components/data-display/RegionMap/RegionMap.view.d.ts.map +1 -0
- package/dist/types/components/data-display/RegionMap/RegionMapDrawing.d.ts +4 -1
- package/dist/types/components/data-display/RegionMap/RegionMapDrawing.d.ts.map +1 -1
- package/dist/types/components/data-display/RegionMap/index.d.ts +3 -2
- package/dist/types/components/data-display/RegionMap/index.d.ts.map +1 -1
- package/dist/types/components/form/Calendar/Calendar.d.ts.map +1 -1
- package/dist/types/components/form/Calendar/CalendarDay.d.ts +2 -0
- package/dist/types/components/form/Calendar/CalendarDay.d.ts.map +1 -1
- package/dist/types/components/form/Calendar/CalendarDayCell.d.ts +2 -0
- package/dist/types/components/form/Calendar/CalendarDayCell.d.ts.map +1 -1
- package/dist/types/components/form/Calendar/CalendarMonth.d.ts +5 -0
- package/dist/types/components/form/Calendar/CalendarMonth.d.ts.map +1 -1
- package/dist/types/en-US.data-display.d.ts.map +1 -1
- package/dist/types/pt-BR.data-display.d.ts.map +1 -1
- package/dist/user-avatar.js +4 -4
- package/package.json +1 -1
- package/src/components/data-display/DataViews/RESPONSIVE-BEHAVIOUR.md +59 -0
- package/src/components/data-display/DataViews/data-views-bar-controls.tsx +56 -1
- package/src/components/data-display/DataViews/data-views-copy.ts +36 -0
- package/src/components/data-display/DataViews/data-views-day-input.tsx +9 -1
- package/src/components/data-display/DataViews/data-views-inline-bar.tsx +5 -3
- package/src/components/data-display/DataViews/data-views-more-fields.tsx +1 -0
- package/src/components/data-display/DataViews/data-views-more-filters.tsx +82 -29
- package/src/components/data-display/DataViews/data-views-number-input.tsx +19 -9
- package/src/components/data-display/DataViews/data-views-preset-chips.tsx +165 -16
- package/src/components/data-display/DataViews/data-views-range-bounds.tsx +223 -0
- package/src/components/data-display/DataViews/data-views-range-calendar.tsx +185 -0
- package/src/components/data-display/DataViews/data-views-range-pill.tsx +71 -154
- package/src/components/data-display/DataViews/data-views-range-summary.tsx +66 -0
- package/src/components/data-display/DataViews/data-views-still-anchor.ts +93 -0
- package/src/components/data-display/RegionMap/RegionMap.hooks.ts +24 -33
- package/src/components/data-display/RegionMap/RegionMap.md +27 -0
- package/src/components/data-display/RegionMap/RegionMap.tsx +7 -1
- package/src/components/data-display/RegionMap/RegionMap.types.ts +41 -0
- package/src/components/data-display/RegionMap/RegionMap.view.ts +105 -0
- package/src/components/data-display/RegionMap/RegionMapDrawing.tsx +11 -0
- package/src/components/data-display/RegionMap/index.ts +5 -1
- package/src/components/data-display/RegionMap/tests.md +10 -2
- package/src/components/form/Calendar/Calendar.md +17 -2
- package/src/components/form/Calendar/Calendar.tsx +56 -3
- package/src/components/form/Calendar/CalendarDay.tsx +33 -3
- package/src/components/form/Calendar/CalendarDayCell.tsx +4 -0
- package/src/components/form/Calendar/CalendarMonth.tsx +27 -5
- package/src/en-US.data-display.ts +12 -0
- package/src/pt-BR.data-display.ts +12 -0
- package/dist/chunk-5KK3I42O.js.map +0 -1
- package/dist/chunk-5RSK5M6M.js.map +0 -1
- package/dist/chunk-7D7CJRL7.js +0 -78
- package/dist/chunk-7D7CJRL7.js.map +0 -1
- package/dist/chunk-ACFKPE2T.js +0 -1
- package/dist/chunk-AKE6KVQG.js.map +0 -1
- package/dist/chunk-BO6MT2S2.js.map +0 -1
- package/dist/chunk-FEKWKWGK.js.map +0 -1
- package/dist/chunk-FJ3UZ4RC.js.map +0 -1
- package/dist/chunk-GMRQPNG3.js.map +0 -1
- package/dist/chunk-OBA75Y5O.js.map +0 -1
- package/dist/chunk-Q2ERGAQO.js.map +0 -1
- package/dist/chunk-QLJU7UUI.js.map +0 -1
- package/dist/chunk-TRYR424I.js.map +0 -1
- package/dist/chunk-WNNA6YYE.js.map +0 -1
- package/dist/chunk-X5OGIT2F.js.map +0 -1
- package/dist/chunk-XHIBFBNP.js.map +0 -1
- package/dist/chunk-YDIC6LSP.js.map +0 -1
- /package/dist/{chunk-ACFKPE2T.js.map → _internal/components/data-display/DataViews/data-views-range-bounds.js.map} +0 -0
- /package/dist/{chunk-K2VDRODL.js.map → chunk-3IDL7NK7.js.map} +0 -0
- /package/dist/{chunk-6ATXOJVQ.js.map → chunk-3JZ3KEQQ.js.map} +0 -0
- /package/dist/{chunk-EOIRU62W.js.map → chunk-42D7KBDH.js.map} +0 -0
- /package/dist/{chunk-LXIPBHNJ.js.map → chunk-42TOCPXB.js.map} +0 -0
- /package/dist/{chunk-WAO7UQRS.js.map → chunk-4KWDNGMA.js.map} +0 -0
- /package/dist/{chunk-JIEVKHOH.js.map → chunk-4QR7LM5F.js.map} +0 -0
- /package/dist/{chunk-WJMSND5Q.js.map → chunk-5E2CRRD4.js.map} +0 -0
- /package/dist/{chunk-ZDAAHCIS.js.map → chunk-5HADIIWN.js.map} +0 -0
- /package/dist/{chunk-BP3ZKIPE.js.map → chunk-64UNVW6D.js.map} +0 -0
- /package/dist/{chunk-6WHIJPEF.js.map → chunk-6PU5P7QT.js.map} +0 -0
- /package/dist/{chunk-7F6D73NL.js.map → chunk-76DX2IMH.js.map} +0 -0
- /package/dist/{chunk-YNZUYZ2O.js.map → chunk-A3DDEKLV.js.map} +0 -0
- /package/dist/{chunk-BMTIBQQC.js.map → chunk-BBBHPK2Q.js.map} +0 -0
- /package/dist/{chunk-DYHOBKPU.js.map → chunk-BLZDSCIZ.js.map} +0 -0
- /package/dist/{chunk-EUR2ORTN.js.map → chunk-CSJ7WNXU.js.map} +0 -0
- /package/dist/{chunk-OWRQOYUE.js.map → chunk-DA3D5X5Z.js.map} +0 -0
- /package/dist/{chunk-LV6AD6XC.js.map → chunk-DBI6AMNY.js.map} +0 -0
- /package/dist/{chunk-3YFDGFEK.js.map → chunk-DVX4HDNP.js.map} +0 -0
- /package/dist/{chunk-QKOJ4637.js.map → chunk-E6K2UZGR.js.map} +0 -0
- /package/dist/{chunk-7XSCEHGA.js.map → chunk-EOQ6EKTS.js.map} +0 -0
- /package/dist/{chunk-Z5WUSI47.js.map → chunk-G3JFESKD.js.map} +0 -0
- /package/dist/{chunk-3EIRRLCQ.js.map → chunk-HC6OZ7QK.js.map} +0 -0
- /package/dist/{chunk-SKIAWOUC.js.map → chunk-HOPRZEBM.js.map} +0 -0
- /package/dist/{chunk-O63ZROSY.js.map → chunk-IWSTMVCA.js.map} +0 -0
- /package/dist/{chunk-7QKIL5YF.js.map → chunk-J2GDA64N.js.map} +0 -0
- /package/dist/{chunk-TZC6KIK2.js.map → chunk-JG733RMP.js.map} +0 -0
- /package/dist/{chunk-CW5Z67NA.js.map → chunk-JH2XLVWM.js.map} +0 -0
- /package/dist/{chunk-TYXFFNPM.js.map → chunk-JKZPGCN7.js.map} +0 -0
- /package/dist/{chunk-QRRWLLXW.js.map → chunk-JN2IANXD.js.map} +0 -0
- /package/dist/{chunk-HQCZT6TO.js.map → chunk-JVOEVTCZ.js.map} +0 -0
- /package/dist/{chunk-GBB23QLL.js.map → chunk-KJKD6Y6V.js.map} +0 -0
- /package/dist/{chunk-XLU5WFSY.js.map → chunk-L3PDY7CJ.js.map} +0 -0
- /package/dist/{chunk-S6D7NOV7.js.map → chunk-L6JAALMX.js.map} +0 -0
- /package/dist/{chunk-BECKKDYG.js.map → chunk-M2M4IDFU.js.map} +0 -0
- /package/dist/{chunk-AMLHEKSV.js.map → chunk-M3XJVD5G.js.map} +0 -0
- /package/dist/{chunk-CSGBHYW6.js.map → chunk-M5Y42AZ4.js.map} +0 -0
- /package/dist/{chunk-5CP5Z3YU.js.map → chunk-MPWA55CF.js.map} +0 -0
- /package/dist/{chunk-CJUK32UH.js.map → chunk-MYTV353T.js.map} +0 -0
- /package/dist/{chunk-BEHT4IHH.js.map → chunk-NKEFH3RS.js.map} +0 -0
- /package/dist/{chunk-NI67M453.js.map → chunk-PGANINQD.js.map} +0 -0
- /package/dist/{chunk-RCTHCXS6.js.map → chunk-PJNIJIE6.js.map} +0 -0
- /package/dist/{chunk-E2UOEI7N.js.map → chunk-Q3SILZTQ.js.map} +0 -0
- /package/dist/{chunk-SB2SEGR6.js.map → chunk-QHIWV55K.js.map} +0 -0
- /package/dist/{chunk-DHAXUVMR.js.map → chunk-QN7FVZQD.js.map} +0 -0
- /package/dist/{chunk-5S5K73I6.js.map → chunk-QSOCOXVL.js.map} +0 -0
- /package/dist/{chunk-NQCTANF3.js.map → chunk-QVDEGBME.js.map} +0 -0
- /package/dist/{chunk-BQBEN44R.js.map → chunk-RDCIST7P.js.map} +0 -0
- /package/dist/{chunk-HUXAIQC5.js.map → chunk-RZ3P4X2I.js.map} +0 -0
- /package/dist/{chunk-U2ILXZDG.js.map → chunk-TB5CRHTF.js.map} +0 -0
- /package/dist/{chunk-X2GWR75Q.js.map → chunk-TSEBMVYY.js.map} +0 -0
- /package/dist/{chunk-OKRITX4S.js.map → chunk-U2AEM3K4.js.map} +0 -0
- /package/dist/{chunk-EXVCVXFX.js.map → chunk-U2QXQ7D4.js.map} +0 -0
- /package/dist/{chunk-K6FCSB6T.js.map → chunk-U2SAW6DH.js.map} +0 -0
- /package/dist/{chunk-DAHSKQBV.js.map → chunk-UMOHHWXY.js.map} +0 -0
- /package/dist/{chunk-P772HCHI.js.map → chunk-W676GY42.js.map} +0 -0
- /package/dist/{chunk-BAQ3ITZV.js.map → chunk-WCF56ZCD.js.map} +0 -0
- /package/dist/{chunk-6D5AMANO.js.map → chunk-WH3LUOCQ.js.map} +0 -0
- /package/dist/{chunk-T2G4LDU5.js.map → chunk-WLLUARTC.js.map} +0 -0
- /package/dist/{chunk-5BVAUUWL.js.map → chunk-X37NTEVS.js.map} +0 -0
- /package/dist/{chunk-MW7P2C2C.js.map → chunk-YGQM6GFQ.js.map} +0 -0
- /package/dist/{chunk-WW3F7DCX.js.map → chunk-Z2WZDVGG.js.map} +0 -0
- /package/dist/{chunk-LOLYBFYY.js.map → chunk-ZCNR4DN5.js.map} +0 -0
- /package/dist/{chunk-COKPPU42.js.map → chunk-ZIHSCBMN.js.map} +0 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type PlaneBox, type Projection } from './RegionMap.helpers';
|
|
2
|
+
import type { RegionMapBounds, RegionMapCircle, RegionMapReach, RegionMapRegion, RegionMapRing } from './RegionMap.types';
|
|
3
|
+
/** The smallest box holding every given box, or null with none. */
|
|
4
|
+
export declare function unionBox(boxes: readonly (PlaneBox | null)[]): PlaneBox | null;
|
|
5
|
+
/** The latitude/longitude box around some outlines — a `reach` no radius describes. */
|
|
6
|
+
export declare function boundsOfRings(rings: readonly RegionMapRing[]): RegionMapBounds | null;
|
|
7
|
+
/** A `reach` as a box in projected metres (a radius is a square around the centre). */
|
|
8
|
+
export declare function reachBox(reach: RegionMapReach, projection: Projection): PlaneBox | null;
|
|
9
|
+
/**
|
|
10
|
+
* The view, given what it must fit: the outermost circle and the `reach` with
|
|
11
|
+
* the margin on top, still centred on the centre; else every area and the
|
|
12
|
+
* reach together. Without a reach it is exactly `viewBoxFor`'s.
|
|
13
|
+
*/
|
|
14
|
+
export declare function viewWithin(outermostMetres: number | null, reach: PlaneBox | null, areaBoxes: () => readonly (PlaneBox | null)[]): PlaneBox | null;
|
|
15
|
+
/** The middle of every area, for a map with no centre of its own. */
|
|
16
|
+
export declare function centreOf(regions: readonly RegionMapRegion[]): {
|
|
17
|
+
latitude: number;
|
|
18
|
+
longitude: number;
|
|
19
|
+
} | null;
|
|
20
|
+
/**
|
|
21
|
+
* The square `RegionMap` shows for these props, in projected metres around
|
|
22
|
+
* `center` (or the areas' middle) — for a host that lays its own HTML over the
|
|
23
|
+
* drawing at the same scale: a point `p` sits at
|
|
24
|
+
* `(p.x - view.minX) / view.spanX` across. With circles the view is centred,
|
|
25
|
+
* so its half-side is `view.spanX / 2`.
|
|
26
|
+
*/
|
|
27
|
+
export declare function regionMapView({ regions, center, circles, reach, }: {
|
|
28
|
+
regions: readonly RegionMapRegion[];
|
|
29
|
+
center: {
|
|
30
|
+
latitude: number;
|
|
31
|
+
longitude: number;
|
|
32
|
+
} | null;
|
|
33
|
+
circles?: readonly RegionMapCircle[];
|
|
34
|
+
reach?: RegionMapReach;
|
|
35
|
+
}): PlaneBox | null;
|
|
36
|
+
//# sourceMappingURL=RegionMap.view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RegionMap.view.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/RegionMap/RegionMap.view.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,QAAQ,EACb,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,cAAc,EACd,eAAe,EACf,aAAa,EACd,MAAM,mBAAmB,CAAC;AAK3B,mEAAmE;AACnE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,QAAQ,GAAG,IAAI,CAM7E;AAED,uFAAuF;AACvF,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,GAAG,eAAe,GAAG,IAAI,CAMrF;AAED,uFAAuF;AACvF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CASvF;AAOD;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,eAAe,EAAE,MAAM,GAAG,IAAI,EAC9B,KAAK,EAAE,QAAQ,GAAG,IAAI,EACtB,SAAS,EAAE,MAAM,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,GAC5C,QAAQ,GAAG,IAAI,CAKjB;AAED,qEAAqE;AACrE,wBAAgB,QAAQ,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAI5G;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,MAAM,EACN,OAAY,EACZ,KAAK,GACN,EAAE;IACD,OAAO,EAAE,SAAS,eAAe,EAAE,CAAC;IACpC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACvD,OAAO,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IACrC,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB,GAAG,QAAQ,GAAG,IAAI,CASlB"}
|
|
@@ -2,10 +2,13 @@ import { type Theme } from '@mui/material/styles/index.js';
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { type PlaneBox } from './RegionMap.helpers';
|
|
4
4
|
import type { RegionMapModel } from './RegionMap.hooks';
|
|
5
|
+
import type { RegionMapLayer } from './RegionMap.types';
|
|
5
6
|
export interface RegionMapDrawingProps {
|
|
6
7
|
model: RegionMapModel & {
|
|
7
8
|
view: PlaneBox;
|
|
8
9
|
};
|
|
10
|
+
/** The host's layer, drawn inside the SVG under the circles (`RegionMapProps.overlay`). */
|
|
11
|
+
overlay?: (layer: RegionMapLayer) => React.ReactNode;
|
|
9
12
|
showCenter: boolean;
|
|
10
13
|
highlightedIds: readonly string[];
|
|
11
14
|
maxHeight: string | undefined;
|
|
@@ -24,5 +27,5 @@ export interface RegionMapDrawingProps {
|
|
|
24
27
|
* The base areas are a memoised layer: a toggle changes `excluded`, not the
|
|
25
28
|
* geometry, so only the hatch, highlight and label layers re-render.
|
|
26
29
|
*/
|
|
27
|
-
export declare function RegionMapDrawing({ model, showCenter, highlightedIds, maxHeight, label, tappable, testId, theme, }: RegionMapDrawingProps): React.JSX.Element;
|
|
30
|
+
export declare function RegionMapDrawing({ model, overlay, showCenter, highlightedIds, maxHeight, label, tappable, testId, theme, }: RegionMapDrawingProps): React.JSX.Element;
|
|
28
31
|
//# sourceMappingURL=RegionMapDrawing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegionMapDrawing.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/RegionMap/RegionMapDrawing.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAS,KAAK,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAsD,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACxG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"RegionMapDrawing.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/RegionMap/RegionMapDrawing.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAS,KAAK,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAsD,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACxG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,cAAc,GAAG;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,CAAC;IAC3C,2FAA2F;IAC3F,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,KAAK,CAAC,SAAS,CAAC;IACrD,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,OAAO,EACP,UAAU,EACV,cAAc,EACd,SAAS,EACT,KAAK,EACL,QAAQ,EACR,MAAM,EACN,KAAK,GACN,EAAE,qBAAqB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAmE3C"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { RegionMap } from './RegionMap';
|
|
2
2
|
export { decodePolyline, hitRegion, projectionAt } from './RegionMap.helpers';
|
|
3
|
-
export
|
|
4
|
-
export type {
|
|
3
|
+
export { boundsOfRings, regionMapView } from './RegionMap.view';
|
|
4
|
+
export type { AreaGeometry, PlaneBox, PlanePoint, PlaneRegion, Projection } from './RegionMap.helpers';
|
|
5
|
+
export type { RegionMapBounds, RegionMapCircle, RegionMapCopy, RegionMapLayer, RegionMapListMode, RegionMapListSort, RegionMapPoint, RegionMapProps, RegionMapReach, RegionMapRegion, RegionMapRing, } from './RegionMap.types';
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/RegionMap/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9E,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/RegionMap/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAChE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACvG,YAAY,EACV,eAAe,EACf,eAAe,EACf,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,cAAc,EACd,eAAe,EACf,aAAa,GACd,MAAM,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Calendar/Calendar.tsx"],"names":[],"mappings":"AAGA,OAAO,
|
|
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;
|
|
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,
|
|
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;
|
|
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;
|
|
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;
|
|
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"}
|
package/dist/user-avatar.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
UserAvatar,
|
|
3
3
|
UserMenu
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-Q3SILZTQ.js";
|
|
5
5
|
import "./chunk-DQ22UKMZ.js";
|
|
6
6
|
import "./chunk-UDQSIRAP.js";
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-MTEQEPNY.js";
|
|
7
|
+
import "./chunk-4QR7LM5F.js";
|
|
8
|
+
import "./chunk-EOQ6EKTS.js";
|
|
10
9
|
import "./chunk-6ZZGK5DT.js";
|
|
11
10
|
import "./chunk-3ZVUNSFF.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
|
@@ -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
|
}}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { CategorySelectCopy, ConfirmActionCopy, DataGridCopy, TableFilterCopy } from "../../../copy";
|
|
2
|
+
import type { CalendarLabels } from "../../../copy/labels";
|
|
2
3
|
import type { SavedViewsLabels } from "../../layout/ContentToolbar/ContentToolbar.types";
|
|
3
4
|
/**
|
|
4
5
|
* Every word the DataViews family renders, as REQUIRED host config (FUT-760).
|
|
@@ -180,6 +181,24 @@ export interface DataViewsGridCopy extends DataGridCopy {
|
|
|
180
181
|
sortDescending: string;
|
|
181
182
|
}
|
|
182
183
|
|
|
184
|
+
/**
|
|
185
|
+
* The words of the range calendar a day filter shows under its typed boxes.
|
|
186
|
+
* Month names, weekday initials and each day's spoken name come from `Intl` in
|
|
187
|
+
* `locale`; only the sentences below are copy.
|
|
188
|
+
*/
|
|
189
|
+
export interface DataViewsDayCalendarCopy {
|
|
190
|
+
/** BCP-47 tag the calendar names its months and days in. */
|
|
191
|
+
locale: string;
|
|
192
|
+
/** The calendar's accessible name, from the filter's own label ("Data"). */
|
|
193
|
+
label(fieldLabel: string): string;
|
|
194
|
+
/** Under the calendar while no day, or a whole period, is chosen. */
|
|
195
|
+
pickStart: string;
|
|
196
|
+
/** Under the calendar once the first day is chosen and the last is not. */
|
|
197
|
+
pickEnd: string;
|
|
198
|
+
/** The month/year caption's names — `UI_LABELS[locale].calendar`. */
|
|
199
|
+
caption: CalendarLabels;
|
|
200
|
+
}
|
|
201
|
+
|
|
183
202
|
export interface DataViewsFiltersCopy {
|
|
184
203
|
moreFilters(count: number): string;
|
|
185
204
|
moreFiltersApplied(count: number, appliedCount: number): string;
|
|
@@ -212,8 +231,25 @@ export interface DataViewsFiltersCopy {
|
|
|
212
231
|
* list read like an answer to a date nobody could have meant (FUT-4144).
|
|
213
232
|
*/
|
|
214
233
|
dayInvalid: string;
|
|
234
|
+
/**
|
|
235
|
+
* The range calendar under a day range's `De`/`Até` boxes (FUT-4144). Optional
|
|
236
|
+
* so a host that builds its own copy keeps compiling; without it the calendar
|
|
237
|
+
* speaks the en-US pack's words.
|
|
238
|
+
*/
|
|
239
|
+
dayCalendar?: DataViewsDayCalendarCopy;
|
|
215
240
|
/** Drop every applied filter, spelled out in the panel where there is room. */
|
|
216
241
|
clearAllFilters: string;
|
|
242
|
+
/**
|
|
243
|
+
* The presets asked as a select, where the row is too narrow for them as
|
|
244
|
+
* one line of equal parts (ADR 0190, FUT-4144). Optional: a host copy
|
|
245
|
+
* without it gets the en-US pack's words.
|
|
246
|
+
*/
|
|
247
|
+
presetSelect?: {
|
|
248
|
+
/** The select's label. */
|
|
249
|
+
label: string;
|
|
250
|
+
/** The empty option: no preset — picking it clears an applied one. */
|
|
251
|
+
none: string;
|
|
252
|
+
};
|
|
217
253
|
/** The day-range presets' labels, keyed by preset id. */
|
|
218
254
|
rangePresets: Readonly<Record<string, string>>;
|
|
219
255
|
scopesLabel: string;
|
|
@@ -239,6 +239,12 @@ interface DayBoundInputProps {
|
|
|
239
239
|
* impossible day is still never written, and blur still snaps back.
|
|
240
240
|
*/
|
|
241
241
|
invalidMessage?: string;
|
|
242
|
+
/**
|
|
243
|
+
* Take the width of the box it sits in rather than its own 165px. Set where
|
|
244
|
+
* the pair stands over the range calendar, so the two boxes span the
|
|
245
|
+
* calendar's width instead of leaving a gap beside them (FUT-4144).
|
|
246
|
+
*/
|
|
247
|
+
fill?: boolean;
|
|
242
248
|
}
|
|
243
249
|
|
|
244
250
|
/** What {@link useDayText} hands the field: its text, its verdict and its handlers. */
|
|
@@ -326,6 +332,7 @@ export function DayBoundInput({
|
|
|
326
332
|
describedBy,
|
|
327
333
|
mask,
|
|
328
334
|
invalidMessage,
|
|
335
|
+
fill = false,
|
|
329
336
|
}: DayBoundInputProps): React.JSX.Element {
|
|
330
337
|
const id = useId();
|
|
331
338
|
const { text, impossible, handleChange, handlePaste, handleBlur } = useDayText(
|
|
@@ -351,7 +358,8 @@ export function DayBoundInput({
|
|
|
351
358
|
// The placeholder occupies the space an un-shrunk label would render into.
|
|
352
359
|
InputLabelProps={{ shrink: true }}
|
|
353
360
|
inputProps={dayInputProps(testId, [impossible ? `${id}-helper-text` : undefined, describedBy])}
|
|
354
|
-
|
|
361
|
+
fullWidth={fill}
|
|
362
|
+
sx={[{ width: fill ? '100%' : sxRem(165) }, fieldTextFieldStyles]}
|
|
355
363
|
/>
|
|
356
364
|
);
|
|
357
365
|
}
|
|
@@ -19,7 +19,7 @@ import Box from "@mui/material/Box/index.js";
|
|
|
19
19
|
import { useState } from "react";
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
import { ClearAllControl, CloseSearchControl } from "./data-views-bar-controls";
|
|
22
|
+
import { ClearAllControl, CloseSearchControl, useBarFrozen } from "./data-views-bar-controls";
|
|
23
23
|
import type { GridFilterPanelProps } from "./data-views-filter-panel";
|
|
24
24
|
import { MoreFilters } from "./data-views-more-filters";
|
|
25
25
|
import type { OverflowField, OverflowSplit } from "./data-views-overflow";
|
|
@@ -324,13 +324,14 @@ function FilterSlots<T extends Record<string, unknown>>({
|
|
|
324
324
|
clearAllHidden: boolean;
|
|
325
325
|
testIdPrefix: string;
|
|
326
326
|
}): React.JSX.Element {
|
|
327
|
+
const clear = useBarFrozen(onControlOpenChange);
|
|
327
328
|
return (
|
|
328
329
|
<>
|
|
329
330
|
{inline.map((field) => (
|
|
330
331
|
<InlineControl
|
|
331
332
|
key={field.id}
|
|
332
333
|
field={field}
|
|
333
|
-
onOpenChange={
|
|
334
|
+
onOpenChange={clear.onOpenChange}
|
|
334
335
|
pills={pills}
|
|
335
336
|
ranges={ranges}
|
|
336
337
|
onTogglePill={onTogglePill}
|
|
@@ -342,7 +343,7 @@ function FilterSlots<T extends Record<string, unknown>>({
|
|
|
342
343
|
))}
|
|
343
344
|
<MoreFilters
|
|
344
345
|
clearKey={clearKey}
|
|
345
|
-
onOpenChange={
|
|
346
|
+
onOpenChange={clear.onOpenChange}
|
|
346
347
|
onClearAll={onClearAll}
|
|
347
348
|
anyApplied={activeFilterCount > 0}
|
|
348
349
|
compact={compactControls}
|
|
@@ -358,6 +359,7 @@ function FilterSlots<T extends Record<string, unknown>>({
|
|
|
358
359
|
<ClearAllControl
|
|
359
360
|
onClearAll={onClearAll}
|
|
360
361
|
compact={compactControls}
|
|
362
|
+
frozen={clear.frozen}
|
|
361
363
|
testIdPrefix={testIdPrefix}
|
|
362
364
|
/>
|
|
363
365
|
)}
|