@12-apps/ui 6.92.2 → 6.93.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components-catalog.md +10 -3
- package/components-guidelines.md +30 -0
- package/dist/_internal/components/data-display/Alert/Alert.js +2 -2
- package/dist/_internal/components/data-display/AlertDialog/AlertDialog.js +2 -2
- package/dist/_internal/components/data-display/AlertDialog/AlertDialog.parts.js +9 -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/Badge/Badge.js +2 -2
- package/dist/_internal/components/data-display/CardKit/card-actions-context.js +3 -3
- package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +10 -10
- package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +7 -7
- package/dist/_internal/components/data-display/Carousel/Carousel.js +3 -3
- package/dist/_internal/components/data-display/Chart/Chart.js +4 -4
- package/dist/_internal/components/data-display/Chart/SpecChart.js +7 -7
- package/dist/_internal/components/data-display/Chart/chart-context.js +2 -2
- package/dist/_internal/components/data-display/Chart/chart-renderers.js +3 -3
- package/dist/_internal/components/data-display/Chart/chart-spec.js +2 -2
- package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +34 -34
- package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +48 -48
- package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +7 -7
- package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +3 -3
- package/dist/_internal/components/data-display/DataViews/base-list-card-layout.js +3 -3
- package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +2 -2
- package/dist/_internal/components/data-display/DataViews/base-list-card.js +6 -6
- package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +6 -6
- package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +5 -5
- package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +28 -28
- package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +10 -10
- package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +7 -7
- package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +8 -8
- package/dist/_internal/components/data-display/DataViews/data-views-range-bounds.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +5 -5
- package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +2 -2
- package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +7 -7
- package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +10 -10
- package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +6 -6
- package/dist/_internal/components/data-display/DataViews/list-card-rails.js +2 -2
- package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +4 -4
- package/dist/_internal/components/data-display/DayRuler/DayRuler.footer.js +25 -0
- package/dist/_internal/components/data-display/DayRuler/DayRuler.footer.js.map +1 -0
- package/dist/_internal/components/data-display/DayRuler/DayRuler.footer.styles.js +23 -0
- package/dist/_internal/components/data-display/DayRuler/DayRuler.footer.styles.js.map +1 -0
- package/dist/_internal/components/data-display/DayRuler/DayRuler.js +15 -13
- package/dist/_internal/components/data-display/DayRuler/DayRuler.keyboard.js +3 -3
- package/dist/_internal/components/data-display/DayRuler/DayRuler.metrics.js +1 -1
- package/dist/_internal/components/data-display/DayRuler/DayRuler.parts.js +12 -15
- package/dist/_internal/components/data-display/DayRuler/DayRuler.styles.js +3 -11
- package/dist/_internal/components/data-display/DayRuler/day-ruler-model.js +5 -1
- package/dist/_internal/components/data-display/DayRuler/useRulerDrag.js +3 -3
- package/dist/_internal/components/data-display/DayRuler/useTextFits.js +4 -3
- package/dist/_internal/components/data-display/HoverCard/HoverCard.js +1 -1
- package/dist/_internal/components/data-display/Lightbox/Lightbox.js +5 -5
- 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/RegionMap/RegionMap.js +2 -2
- package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.js +7 -7
- package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.parts.js +5 -5
- package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.styles.js +2 -2
- package/dist/_internal/components/data-display/ScheduleGrid/ScheduleNameCell.js +3 -3
- package/dist/_internal/components/data-display/ScheduleGrid/schedule-name.styles.js +2 -2
- package/dist/_internal/components/data-display/ScheduleGrid/schedule-tones.js +3 -1
- package/dist/_internal/components/data-display/Sheet/Sheet.hooks.js +2 -2
- package/dist/_internal/components/data-display/Sheet/Sheet.js +3 -3
- package/dist/_internal/components/data-display/Table/Table.js +3 -3
- package/dist/_internal/components/data-display/index.js +61 -59
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.js +4 -4
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.parts.js +3 -3
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +5 -5
- package/dist/_internal/components/feedback/ConfirmAction/with-confirmation.js +4 -4
- package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +3 -3
- package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.frame.js +48 -0
- package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.frame.js.map +1 -0
- package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.js +6 -5
- package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.overview.js +4 -4
- package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.parts.js +3 -3
- package/dist/_internal/components/feedback/index.js +15 -14
- package/dist/_internal/components/index.js +80 -77
- package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +4 -4
- package/dist/_internal/components/navigation/SectionNav/SectionNav.bar.js +6 -6
- package/dist/_internal/components/navigation/SectionNav/SectionNav.js +9 -9
- package/dist/_internal/components/navigation/SectionNav/SectionNav.parts.js +3 -3
- package/dist/_internal/components/navigation/SectionNav/SectionNav.primary.js +4 -4
- package/dist/_internal/components/navigation/SectionNav/SectionNav.rail.js +5 -5
- package/dist/_internal/components/navigation/SectionNav/SectionNav.railCreate.js +4 -4
- package/dist/_internal/components/navigation/SectionNav/SectionNav.sheet.js +4 -4
- package/dist/_internal/components/navigation/index.js +13 -13
- package/dist/_internal/user-avatar/user-avatar.js +4 -4
- package/dist/charts.js +16 -16
- package/dist/{chunk-LDCZPZPD.js → chunk-24HHUCWB.js} +2 -2
- package/dist/{chunk-7ZQ3KQ7J.js → chunk-273OLFJD.js} +16 -6
- package/dist/chunk-273OLFJD.js.map +1 -0
- package/dist/{chunk-FAUNQ3FS.js → chunk-2M3W6ACW.js} +3 -3
- package/dist/{chunk-ALOEOGQV.js → chunk-3TZUZXY5.js} +2 -2
- package/dist/{chunk-4HK4FVMV.js → chunk-3UAHDLKH.js} +7 -1
- package/dist/{chunk-4HK4FVMV.js.map → chunk-3UAHDLKH.js.map} +1 -1
- package/dist/{chunk-DWH4TQXK.js → chunk-4E2RQOSQ.js} +2 -2
- package/dist/{chunk-4QR7LM5F.js → chunk-4J62V5OE.js} +7 -7
- package/dist/{chunk-OJZLFFG4.js → chunk-5AZEDQXX.js} +59 -70
- package/dist/chunk-5AZEDQXX.js.map +1 -0
- package/dist/{chunk-CZVAVX5L.js → chunk-6ATXOJVQ.js} +2 -2
- package/dist/{chunk-YE7M7URT.js → chunk-6D5AMANO.js} +2 -2
- package/dist/{chunk-Q3SILZTQ.js → chunk-6LGKJVOA.js} +2 -2
- package/dist/{chunk-ZCNR4DN5.js → chunk-7WE432RQ.js} +12 -12
- package/dist/{chunk-EOQ6EKTS.js → chunk-7XSCEHGA.js} +7 -7
- package/dist/{chunk-B5STMM3R.js → chunk-ALMGYCHY.js} +2 -2
- package/dist/{chunk-5357QUVE.js → chunk-AMLHEKSV.js} +5 -5
- package/dist/{chunk-3I5PHWKQ.js → chunk-ASEHJIIV.js} +6 -6
- package/dist/{chunk-64UNVW6D.js → chunk-BP3ZKIPE.js} +4 -4
- package/dist/{chunk-OCT5VCLP.js → chunk-BQBEN44R.js} +2 -2
- package/dist/{chunk-FYUNROLW.js → chunk-BZYLTGOE.js} +2 -2
- package/dist/{chunk-TZ44F6W7.js → chunk-CGS2LQE5.js} +2 -2
- package/dist/chunk-CPQJFHNZ.js +63 -0
- package/dist/chunk-CPQJFHNZ.js.map +1 -0
- package/dist/{chunk-PCQ5JWLF.js → chunk-CWXX5JR3.js} +14 -12
- package/dist/chunk-CWXX5JR3.js.map +1 -0
- package/dist/{chunk-6HXNFNOB.js → chunk-EE6DJPB7.js} +4 -4
- package/dist/{chunk-QE4KYG5I.js → chunk-F2UP5ZF4.js} +6 -6
- package/dist/{chunk-P53ANKZV.js → chunk-F7LBTMCA.js} +4 -4
- package/dist/{chunk-UDBOGSFO.js → chunk-FGZIEZEP.js} +67 -110
- package/dist/chunk-FGZIEZEP.js.map +1 -0
- package/dist/{chunk-IWSTMVCA.js → chunk-FKS2PNJF.js} +8 -8
- package/dist/{chunk-3WYEENUH.js → chunk-FPNVOB52.js} +7 -7
- package/dist/{chunk-E73C73UD.js → chunk-FYSS2PYA.js} +3 -3
- package/dist/{chunk-N557OEZR.js → chunk-G6NMSBSQ.js} +2 -2
- package/dist/{chunk-A5OERY43.js → chunk-GARM5SX6.js} +2 -2
- package/dist/{chunk-66VKX6JE.js → chunk-GXGHEOWC.js} +3 -3
- package/dist/{chunk-U2SAW6DH.js → chunk-GY53SDVL.js} +4 -4
- package/dist/{chunk-JVOEVTCZ.js → chunk-HQCZT6TO.js} +5 -5
- package/dist/{chunk-CNUO2BRV.js → chunk-HWZETMO4.js} +3 -3
- package/dist/{chunk-MM3QESLI.js → chunk-ILJ3FXIC.js} +2 -2
- package/dist/{chunk-FWTVIRZZ.js → chunk-JVQ56E3U.js} +6 -6
- package/dist/{chunk-YOLLISEY.js → chunk-JXK53XJW.js} +9 -9
- package/dist/{chunk-K6VEN5VN.js → chunk-K3PMMW23.js} +4 -4
- package/dist/{chunk-T5RFH2T5.js → chunk-KOGJBAFI.js} +2 -2
- package/dist/{chunk-COK65GX2.js → chunk-KURE5R7Z.js} +12 -2
- package/dist/chunk-KURE5R7Z.js.map +1 -0
- package/dist/{chunk-EKSJES5E.js → chunk-KXDLLS62.js} +3 -3
- package/dist/{chunk-LE5JYNR7.js → chunk-L5CAHQIN.js} +23 -2
- package/dist/chunk-L5CAHQIN.js.map +1 -0
- package/dist/{chunk-DBI6AMNY.js → chunk-LKWXU6NH.js} +4 -4
- package/dist/{chunk-56JF5PZK.js → chunk-LYVTJLCF.js} +4 -4
- package/dist/{chunk-NXQ6PXLJ.js → chunk-LZ5PGB7U.js} +2 -2
- package/dist/chunk-MPVH2GM5.js +83 -0
- package/dist/chunk-MPVH2GM5.js.map +1 -0
- package/dist/{chunk-5I75WRXT.js → chunk-N3GLX64O.js} +4 -4
- package/dist/{chunk-6DO672AG.js → chunk-N5PVD4J5.js} +7 -7
- package/dist/{chunk-PEAUGQKU.js → chunk-NQCTANF3.js} +7 -7
- package/dist/{chunk-ZYZPSBNQ.js → chunk-OGSTMHT6.js} +22 -7
- package/dist/chunk-OGSTMHT6.js.map +1 -0
- package/dist/{chunk-W676GY42.js → chunk-P772HCHI.js} +4 -4
- package/dist/{chunk-FQNDJITD.js → chunk-RCTHCXS6.js} +2 -2
- package/dist/{chunk-VWRXSBT2.js → chunk-SB2SEGR6.js} +3 -3
- package/dist/{chunk-Z2WZDVGG.js → chunk-SI5SKX52.js} +2 -2
- package/dist/{chunk-RYJ6XGFA.js → chunk-SJAOQGQI.js} +2 -2
- package/dist/{chunk-D7R6SRJB.js → chunk-SKQPUAMK.js} +3 -3
- package/dist/{chunk-AMIUZRDQ.js → chunk-SNWCT6JN.js} +3 -3
- package/dist/{chunk-7W5X3KQ2.js → chunk-SW7JCF4Z.js} +2 -2
- package/dist/{chunk-WLLUARTC.js → chunk-T2G4LDU5.js} +2 -2
- package/dist/{chunk-BNBWUXT3.js → chunk-TE6HAWDM.js} +2 -2
- package/dist/{chunk-JG733RMP.js → chunk-TZC6KIK2.js} +5 -5
- package/dist/{chunk-Y3F2F36I.js → chunk-U4Z6GZDW.js} +3 -3
- package/dist/{chunk-KQDBOZQE.js → chunk-UIIHUWOV.js} +13 -13
- package/dist/{chunk-L4V7FZJI.js → chunk-UKUGSU3Y.js} +2 -2
- package/dist/{chunk-D2JQF2WC.js → chunk-UOKXYV3U.js} +5 -5
- package/dist/{chunk-K7IDOTSU.js → chunk-VNMD6BA4.js} +2 -2
- package/dist/chunk-WG7CAT5D.js +65 -0
- package/dist/chunk-WG7CAT5D.js.map +1 -0
- package/dist/chunk-WSSD7H5E.js +52 -0
- package/dist/chunk-WSSD7H5E.js.map +1 -0
- package/dist/{chunk-DTZOP4ZR.js → chunk-XCUHGPPZ.js} +2 -2
- package/dist/{chunk-DBPFKGXX.js → chunk-Y7BOP7VZ.js} +3 -3
- package/dist/{chunk-BOADHYTA.js → chunk-YNZUYZ2O.js} +2 -2
- package/dist/{chunk-XRV4QFEQ.js → chunk-ZBUMGMWP.js} +83 -65
- package/dist/chunk-ZBUMGMWP.js.map +1 -0
- package/dist/{chunk-XNAI7QGU.js → chunk-ZM6FJCWS.js} +4 -4
- package/dist/{chunk-FC7UCFFA.js → chunk-ZPWPA6FR.js} +8 -8
- package/dist/data-display/Alert.js +2 -2
- package/dist/data-display/AlertDialog.js +2 -2
- package/dist/data-display/Avatar.js +3 -3
- package/dist/data-display/Badge.js +2 -2
- package/dist/data-display/CardKit.js +18 -18
- package/dist/data-display/Carousel.js +3 -3
- package/dist/data-display/Chart.js +16 -16
- package/dist/data-display/DataViews.js +66 -66
- package/dist/data-display/DayRuler.js +15 -13
- package/dist/data-display/HoverCard.js +1 -1
- package/dist/data-display/Lightbox.js +5 -5
- package/dist/data-display/RegionMap.js +2 -2
- package/dist/data-display/ScheduleGrid.js +9 -9
- package/dist/data-display/Sheet.js +3 -3
- package/dist/data-display/Table.js +3 -3
- package/dist/feedback/ConfirmAction.js +8 -8
- package/dist/feedback/NotificationStatusNotice.js +3 -3
- package/dist/feedback/SequenceResolver.js +6 -5
- package/dist/navigation/AppHeader.js +4 -4
- package/dist/navigation/SectionNav.js +9 -9
- package/dist/types/components/data-display/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/types/components/data-display/AlertDialog/AlertDialog.parts.d.ts +11 -0
- package/dist/types/components/data-display/AlertDialog/AlertDialog.parts.d.ts.map +1 -1
- package/dist/types/components/data-display/DayRuler/DayRuler.d.ts.map +1 -1
- package/dist/types/components/data-display/DayRuler/DayRuler.footer.d.ts +16 -0
- package/dist/types/components/data-display/DayRuler/DayRuler.footer.d.ts.map +1 -0
- package/dist/types/components/data-display/DayRuler/DayRuler.footer.styles.d.ts +18 -0
- package/dist/types/components/data-display/DayRuler/DayRuler.footer.styles.d.ts.map +1 -0
- package/dist/types/components/data-display/DayRuler/DayRuler.metrics.d.ts +15 -5
- package/dist/types/components/data-display/DayRuler/DayRuler.metrics.d.ts.map +1 -1
- package/dist/types/components/data-display/DayRuler/DayRuler.parts.d.ts +13 -14
- package/dist/types/components/data-display/DayRuler/DayRuler.parts.d.ts.map +1 -1
- package/dist/types/components/data-display/DayRuler/DayRuler.styles.d.ts +20 -23
- package/dist/types/components/data-display/DayRuler/DayRuler.styles.d.ts.map +1 -1
- package/dist/types/components/data-display/DayRuler/DayRuler.types.d.ts +13 -3
- package/dist/types/components/data-display/DayRuler/DayRuler.types.d.ts.map +1 -1
- package/dist/types/components/data-display/DayRuler/day-ruler-model.d.ts +27 -0
- package/dist/types/components/data-display/DayRuler/day-ruler-model.d.ts.map +1 -1
- package/dist/types/components/data-display/DayRuler/useTextFits.d.ts +11 -9
- package/dist/types/components/data-display/DayRuler/useTextFits.d.ts.map +1 -1
- package/dist/types/components/data-display/ScheduleGrid/schedule-tones.d.ts +8 -0
- package/dist/types/components/data-display/ScheduleGrid/schedule-tones.d.ts.map +1 -1
- package/dist/types/components/feedback/SequenceResolver/SequenceResolver.d.ts +55 -2
- package/dist/types/components/feedback/SequenceResolver/SequenceResolver.d.ts.map +1 -1
- package/dist/types/components/feedback/SequenceResolver/SequenceResolver.frame.d.ts +16 -0
- package/dist/types/components/feedback/SequenceResolver/SequenceResolver.frame.d.ts.map +1 -0
- package/dist/types/components/feedback/SequenceResolver/SequenceResolver.types.d.ts +10 -4
- package/dist/types/components/feedback/SequenceResolver/SequenceResolver.types.d.ts.map +1 -1
- package/dist/user-avatar.js +4 -4
- package/package.json +1 -1
- package/src/components/data-display/AlertDialog/AlertDialog.md +25 -1
- package/src/components/data-display/AlertDialog/AlertDialog.parts.tsx +28 -0
- package/src/components/data-display/AlertDialog/AlertDialog.tsx +34 -5
- package/src/components/data-display/DayRuler/DayRuler.footer.styles.ts +54 -0
- package/src/components/data-display/DayRuler/DayRuler.footer.tsx +123 -0
- package/src/components/data-display/DayRuler/DayRuler.md +37 -13
- package/src/components/data-display/DayRuler/DayRuler.metrics.ts +15 -5
- package/src/components/data-display/DayRuler/DayRuler.parts.tsx +86 -155
- package/src/components/data-display/DayRuler/DayRuler.styles.ts +89 -83
- package/src/components/data-display/DayRuler/DayRuler.tsx +3 -2
- package/src/components/data-display/DayRuler/DayRuler.types.ts +13 -3
- package/src/components/data-display/DayRuler/day-ruler-model.ts +45 -0
- package/src/components/data-display/DayRuler/useTextFits.ts +68 -25
- package/src/components/data-display/ScheduleGrid/schedule-tones.ts +13 -0
- package/src/components/feedback/ConfirmAction/ConfirmAction.md +10 -0
- package/src/components/feedback/SequenceResolver/SequenceResolver.frame.tsx +71 -0
- package/src/components/feedback/SequenceResolver/SequenceResolver.md +2 -2
- package/src/components/feedback/SequenceResolver/SequenceResolver.tsx +122 -61
- package/src/components/feedback/SequenceResolver/SequenceResolver.types.ts +10 -4
- package/dist/chunk-7ZQ3KQ7J.js.map +0 -1
- package/dist/chunk-COK65GX2.js.map +0 -1
- package/dist/chunk-LE5JYNR7.js.map +0 -1
- package/dist/chunk-OJZLFFG4.js.map +0 -1
- package/dist/chunk-PCQ5JWLF.js.map +0 -1
- package/dist/chunk-UDBOGSFO.js.map +0 -1
- package/dist/chunk-XRV4QFEQ.js.map +0 -1
- package/dist/chunk-YMYJO2CZ.js +0 -32
- package/dist/chunk-YMYJO2CZ.js.map +0 -1
- package/dist/chunk-ZYZPSBNQ.js.map +0 -1
- /package/dist/{chunk-LDCZPZPD.js.map → chunk-24HHUCWB.js.map} +0 -0
- /package/dist/{chunk-FAUNQ3FS.js.map → chunk-2M3W6ACW.js.map} +0 -0
- /package/dist/{chunk-ALOEOGQV.js.map → chunk-3TZUZXY5.js.map} +0 -0
- /package/dist/{chunk-DWH4TQXK.js.map → chunk-4E2RQOSQ.js.map} +0 -0
- /package/dist/{chunk-4QR7LM5F.js.map → chunk-4J62V5OE.js.map} +0 -0
- /package/dist/{chunk-CZVAVX5L.js.map → chunk-6ATXOJVQ.js.map} +0 -0
- /package/dist/{chunk-YE7M7URT.js.map → chunk-6D5AMANO.js.map} +0 -0
- /package/dist/{chunk-Q3SILZTQ.js.map → chunk-6LGKJVOA.js.map} +0 -0
- /package/dist/{chunk-ZCNR4DN5.js.map → chunk-7WE432RQ.js.map} +0 -0
- /package/dist/{chunk-EOQ6EKTS.js.map → chunk-7XSCEHGA.js.map} +0 -0
- /package/dist/{chunk-B5STMM3R.js.map → chunk-ALMGYCHY.js.map} +0 -0
- /package/dist/{chunk-5357QUVE.js.map → chunk-AMLHEKSV.js.map} +0 -0
- /package/dist/{chunk-3I5PHWKQ.js.map → chunk-ASEHJIIV.js.map} +0 -0
- /package/dist/{chunk-64UNVW6D.js.map → chunk-BP3ZKIPE.js.map} +0 -0
- /package/dist/{chunk-OCT5VCLP.js.map → chunk-BQBEN44R.js.map} +0 -0
- /package/dist/{chunk-FYUNROLW.js.map → chunk-BZYLTGOE.js.map} +0 -0
- /package/dist/{chunk-TZ44F6W7.js.map → chunk-CGS2LQE5.js.map} +0 -0
- /package/dist/{chunk-6HXNFNOB.js.map → chunk-EE6DJPB7.js.map} +0 -0
- /package/dist/{chunk-QE4KYG5I.js.map → chunk-F2UP5ZF4.js.map} +0 -0
- /package/dist/{chunk-P53ANKZV.js.map → chunk-F7LBTMCA.js.map} +0 -0
- /package/dist/{chunk-IWSTMVCA.js.map → chunk-FKS2PNJF.js.map} +0 -0
- /package/dist/{chunk-3WYEENUH.js.map → chunk-FPNVOB52.js.map} +0 -0
- /package/dist/{chunk-E73C73UD.js.map → chunk-FYSS2PYA.js.map} +0 -0
- /package/dist/{chunk-N557OEZR.js.map → chunk-G6NMSBSQ.js.map} +0 -0
- /package/dist/{chunk-A5OERY43.js.map → chunk-GARM5SX6.js.map} +0 -0
- /package/dist/{chunk-66VKX6JE.js.map → chunk-GXGHEOWC.js.map} +0 -0
- /package/dist/{chunk-U2SAW6DH.js.map → chunk-GY53SDVL.js.map} +0 -0
- /package/dist/{chunk-JVOEVTCZ.js.map → chunk-HQCZT6TO.js.map} +0 -0
- /package/dist/{chunk-CNUO2BRV.js.map → chunk-HWZETMO4.js.map} +0 -0
- /package/dist/{chunk-MM3QESLI.js.map → chunk-ILJ3FXIC.js.map} +0 -0
- /package/dist/{chunk-FWTVIRZZ.js.map → chunk-JVQ56E3U.js.map} +0 -0
- /package/dist/{chunk-YOLLISEY.js.map → chunk-JXK53XJW.js.map} +0 -0
- /package/dist/{chunk-K6VEN5VN.js.map → chunk-K3PMMW23.js.map} +0 -0
- /package/dist/{chunk-T5RFH2T5.js.map → chunk-KOGJBAFI.js.map} +0 -0
- /package/dist/{chunk-EKSJES5E.js.map → chunk-KXDLLS62.js.map} +0 -0
- /package/dist/{chunk-DBI6AMNY.js.map → chunk-LKWXU6NH.js.map} +0 -0
- /package/dist/{chunk-56JF5PZK.js.map → chunk-LYVTJLCF.js.map} +0 -0
- /package/dist/{chunk-NXQ6PXLJ.js.map → chunk-LZ5PGB7U.js.map} +0 -0
- /package/dist/{chunk-5I75WRXT.js.map → chunk-N3GLX64O.js.map} +0 -0
- /package/dist/{chunk-6DO672AG.js.map → chunk-N5PVD4J5.js.map} +0 -0
- /package/dist/{chunk-PEAUGQKU.js.map → chunk-NQCTANF3.js.map} +0 -0
- /package/dist/{chunk-W676GY42.js.map → chunk-P772HCHI.js.map} +0 -0
- /package/dist/{chunk-FQNDJITD.js.map → chunk-RCTHCXS6.js.map} +0 -0
- /package/dist/{chunk-VWRXSBT2.js.map → chunk-SB2SEGR6.js.map} +0 -0
- /package/dist/{chunk-Z2WZDVGG.js.map → chunk-SI5SKX52.js.map} +0 -0
- /package/dist/{chunk-RYJ6XGFA.js.map → chunk-SJAOQGQI.js.map} +0 -0
- /package/dist/{chunk-D7R6SRJB.js.map → chunk-SKQPUAMK.js.map} +0 -0
- /package/dist/{chunk-AMIUZRDQ.js.map → chunk-SNWCT6JN.js.map} +0 -0
- /package/dist/{chunk-7W5X3KQ2.js.map → chunk-SW7JCF4Z.js.map} +0 -0
- /package/dist/{chunk-WLLUARTC.js.map → chunk-T2G4LDU5.js.map} +0 -0
- /package/dist/{chunk-BNBWUXT3.js.map → chunk-TE6HAWDM.js.map} +0 -0
- /package/dist/{chunk-JG733RMP.js.map → chunk-TZC6KIK2.js.map} +0 -0
- /package/dist/{chunk-Y3F2F36I.js.map → chunk-U4Z6GZDW.js.map} +0 -0
- /package/dist/{chunk-KQDBOZQE.js.map → chunk-UIIHUWOV.js.map} +0 -0
- /package/dist/{chunk-L4V7FZJI.js.map → chunk-UKUGSU3Y.js.map} +0 -0
- /package/dist/{chunk-D2JQF2WC.js.map → chunk-UOKXYV3U.js.map} +0 -0
- /package/dist/{chunk-K7IDOTSU.js.map → chunk-VNMD6BA4.js.map} +0 -0
- /package/dist/{chunk-DTZOP4ZR.js.map → chunk-XCUHGPPZ.js.map} +0 -0
- /package/dist/{chunk-DBPFKGXX.js.map → chunk-Y7BOP7VZ.js.map} +0 -0
- /package/dist/{chunk-BOADHYTA.js.map → chunk-YNZUYZ2O.js.map} +0 -0
- /package/dist/{chunk-XNAI7QGU.js.map → chunk-ZM6FJCWS.js.map} +0 -0
- /package/dist/{chunk-FC7UCFFA.js.map → chunk-ZPWPA6FR.js.map} +0 -0
|
@@ -3,18 +3,18 @@ import {
|
|
|
3
3
|
} from "./chunk-YNVTUQ5B.js";
|
|
4
4
|
import {
|
|
5
5
|
DataViewsGrid
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-HWZETMO4.js";
|
|
7
7
|
import {
|
|
8
8
|
viewStateKey
|
|
9
9
|
} from "./chunk-ZOLAYP2D.js";
|
|
10
|
-
import {
|
|
11
|
-
ViewDialogs,
|
|
12
|
-
ViewMutationErrorAlert
|
|
13
|
-
} from "./chunk-66VKX6JE.js";
|
|
14
10
|
import {
|
|
15
11
|
useUrlEchoGuard,
|
|
16
12
|
useUrlSyncState
|
|
17
13
|
} from "./chunk-G6EJLEVV.js";
|
|
14
|
+
import {
|
|
15
|
+
ViewDialogs,
|
|
16
|
+
ViewMutationErrorAlert
|
|
17
|
+
} from "./chunk-GXGHEOWC.js";
|
|
18
18
|
import {
|
|
19
19
|
useSavedViewsController
|
|
20
20
|
} from "./chunk-B2JSUFDX.js";
|
|
@@ -166,4 +166,4 @@ function renderViewDialogs(ctl, fields, columns, views, testIdPrefix, onSaved) {
|
|
|
166
166
|
export {
|
|
167
167
|
DataViewsTableBase
|
|
168
168
|
};
|
|
169
|
-
//# sourceMappingURL=chunk-
|
|
169
|
+
//# sourceMappingURL=chunk-ASEHJIIV.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
thumbnailStripSx
|
|
3
|
-
} from "./chunk-VQU3CBAL.js";
|
|
4
1
|
import {
|
|
5
2
|
useLightboxCopy
|
|
6
3
|
} from "./chunk-TEQYTEM2.js";
|
|
4
|
+
import {
|
|
5
|
+
thumbnailStripSx
|
|
6
|
+
} from "./chunk-VQU3CBAL.js";
|
|
7
7
|
import {
|
|
8
8
|
onMedia,
|
|
9
9
|
sheen
|
|
@@ -89,4 +89,4 @@ var LightboxThumbnails = ({
|
|
|
89
89
|
export {
|
|
90
90
|
LightboxThumbnails
|
|
91
91
|
};
|
|
92
|
-
//# sourceMappingURL=chunk-
|
|
92
|
+
//# sourceMappingURL=chunk-BP3ZKIPE.js.map
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
} from "./chunk-2ORD2FMN.js";
|
|
18
18
|
import {
|
|
19
19
|
Alert
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-NQCTANF3.js";
|
|
21
21
|
import {
|
|
22
22
|
Button
|
|
23
23
|
} from "./chunk-YOXYSAUI.js";
|
|
@@ -160,4 +160,4 @@ export {
|
|
|
160
160
|
SequenceStepBody,
|
|
161
161
|
SequenceDoneBody
|
|
162
162
|
};
|
|
163
|
-
//# sourceMappingURL=chunk-
|
|
163
|
+
//# sourceMappingURL=chunk-BQBEN44R.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-AJ6KFHEE.js";
|
|
4
4
|
import {
|
|
5
5
|
PanelRangeField
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-FPNVOB52.js";
|
|
7
7
|
import {
|
|
8
8
|
useDataViewsCopy
|
|
9
9
|
} from "./chunk-KHG57NAE.js";
|
|
@@ -157,4 +157,4 @@ export {
|
|
|
157
157
|
GridFilterPanel,
|
|
158
158
|
FilterDialog
|
|
159
159
|
};
|
|
160
|
-
//# sourceMappingURL=chunk-
|
|
160
|
+
//# sourceMappingURL=chunk-BZYLTGOE.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
nameButtonSx,
|
|
5
5
|
nameLineSx,
|
|
6
6
|
nameTextSx
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-GARM5SX6.js";
|
|
8
8
|
|
|
9
9
|
// src/components/data-display/ScheduleGrid/ScheduleNameCell.tsx
|
|
10
10
|
import Box from "@mui/material/Box/index.js";
|
|
@@ -25,4 +25,4 @@ function ScheduleNameCell({ row, sx, role, sizes }) {
|
|
|
25
25
|
export {
|
|
26
26
|
ScheduleNameCell
|
|
27
27
|
};
|
|
28
|
-
//# sourceMappingURL=chunk-
|
|
28
|
+
//# sourceMappingURL=chunk-CGS2LQE5.js.map
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import {
|
|
2
|
+
SequenceHeader
|
|
3
|
+
} from "./chunk-JO6D7YGN.js";
|
|
4
|
+
import {
|
|
5
|
+
chromeSx,
|
|
6
|
+
columnSx,
|
|
7
|
+
paperSx,
|
|
8
|
+
scrollBodySx
|
|
9
|
+
} from "./chunk-2ORD2FMN.js";
|
|
10
|
+
import {
|
|
11
|
+
Dialog
|
|
12
|
+
} from "./chunk-DAFFZED3.js";
|
|
13
|
+
|
|
14
|
+
// src/components/feedback/SequenceResolver/SequenceResolver.frame.tsx
|
|
15
|
+
import Box from "@mui/material/Box/index.js";
|
|
16
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
17
|
+
function escapeCloses(close) {
|
|
18
|
+
return (event) => {
|
|
19
|
+
if (event.key !== "Escape" || event.defaultPrevented) return;
|
|
20
|
+
event.stopPropagation();
|
|
21
|
+
close();
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function swallowClick(event) {
|
|
25
|
+
event.preventDefault();
|
|
26
|
+
event.stopPropagation();
|
|
27
|
+
}
|
|
28
|
+
function ResolverFrame(props) {
|
|
29
|
+
const { shown, exiting, touch, titleId, testId, labels, screen, close } = props;
|
|
30
|
+
return /* @__PURE__ */ jsx(
|
|
31
|
+
Dialog,
|
|
32
|
+
{
|
|
33
|
+
open: shown,
|
|
34
|
+
onClose: close,
|
|
35
|
+
persistent: true,
|
|
36
|
+
variant: touch ? "bottom-sheet" : "default",
|
|
37
|
+
size: "sm",
|
|
38
|
+
"aria-labelledby": titleId,
|
|
39
|
+
onKeyDown: escapeCloses(close),
|
|
40
|
+
slotProps: { paper: { sx: paperSx(touch) } },
|
|
41
|
+
dataTestId: testId,
|
|
42
|
+
children: /* @__PURE__ */ jsxs(Box, { sx: columnSx, inert: exiting, "aria-hidden": exiting || void 0, onClickCapture: exiting ? swallowClick : void 0, children: [
|
|
43
|
+
/* @__PURE__ */ jsx(Box, { sx: chromeSx, children: /* @__PURE__ */ jsx(
|
|
44
|
+
SequenceHeader,
|
|
45
|
+
{
|
|
46
|
+
touch,
|
|
47
|
+
...screen.header,
|
|
48
|
+
closeLabel: labels.close,
|
|
49
|
+
onClose: close,
|
|
50
|
+
progressLabel: labels.progress,
|
|
51
|
+
testId
|
|
52
|
+
}
|
|
53
|
+
) }),
|
|
54
|
+
/* @__PURE__ */ jsx(Box, { sx: scrollBodySx, "data-testid": `${testId}-body`, children: screen.body })
|
|
55
|
+
] })
|
|
56
|
+
}
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export {
|
|
61
|
+
ResolverFrame
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=chunk-CPQJFHNZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/feedback/SequenceResolver/SequenceResolver.frame.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport React from 'react';\n\nimport { Dialog } from '../Dialog';\nimport { SequenceHeader } from './SequenceResolver.header';\nimport { chromeSx, columnSx, paperSx, scrollBodySx } from './SequenceResolver.styles';\nimport type { SequenceResolverLabels } from './SequenceResolver.types';\nimport type { Screen } from './SequenceResolver';\n\n/**\n * Esc closes. `persistent` turns MUI's own Esc off together with the veil's\n * click (the prototype's veil does nothing), so Esc is put back here; a popup\n * inside a step that handles its own Esc stops it before it gets here.\n */\nfunction escapeCloses(close: () => void) {\n return (event: React.KeyboardEvent): void => {\n if (event.key !== 'Escape' || event.defaultPrevented) return;\n event.stopPropagation();\n close();\n };\n}\n\nexport interface ResolverFrameProps {\n shown: boolean;\n /** The kept last step is playing its exit: a picture, nothing on it acts. */\n exiting: boolean;\n touch: boolean;\n titleId: string;\n testId: string;\n labels: SequenceResolverLabels;\n screen: Screen;\n close: () => void;\n}\n\nfunction swallowClick(event: React.SyntheticEvent): void {\n event.preventDefault();\n event.stopPropagation();\n}\n\nexport function ResolverFrame(props: ResolverFrameProps): React.JSX.Element {\n const { shown, exiting, touch, titleId, testId, labels, screen, close } = props;\n return (\n <Dialog\n open={shown}\n onClose={close}\n persistent\n variant={touch ? 'bottom-sheet' : 'default'}\n size=\"sm\"\n aria-labelledby={titleId}\n onKeyDown={escapeCloses(close)}\n slotProps={{ paper: { sx: paperSx(touch) } }}\n dataTestId={testId}\n >\n <Box sx={columnSx} inert={exiting} aria-hidden={exiting || undefined} onClickCapture={exiting ? swallowClick : undefined}>\n <Box sx={chromeSx}>\n <SequenceHeader\n touch={touch}\n {...screen.header}\n closeLabel={labels.close}\n onClose={close}\n progressLabel={labels.progress}\n testId={testId}\n />\n </Box>\n <Box sx={scrollBodySx} data-testid={`${testId}-body`}>\n {screen.body}\n </Box>\n </Box>\n </Dialog>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA,OAAO,SAAS;AAqDV,SAEI,KAFJ;AAvCN,SAAS,aAAa,OAAmB;AACvC,SAAO,CAAC,UAAqC;AAC3C,QAAI,MAAM,QAAQ,YAAY,MAAM,iBAAkB;AACtD,UAAM,gBAAgB;AACtB,UAAM;AAAA,EACR;AACF;AAcA,SAAS,aAAa,OAAmC;AACvD,QAAM,eAAe;AACrB,QAAM,gBAAgB;AACxB;AAEO,SAAS,cAAc,OAA8C;AAC1E,QAAM,EAAE,OAAO,SAAS,OAAO,SAAS,QAAQ,QAAQ,QAAQ,MAAM,IAAI;AAC1E,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,MACN,SAAS;AAAA,MACT,YAAU;AAAA,MACV,SAAS,QAAQ,iBAAiB;AAAA,MAClC,MAAK;AAAA,MACL,mBAAiB;AAAA,MACjB,WAAW,aAAa,KAAK;AAAA,MAC7B,WAAW,EAAE,OAAO,EAAE,IAAI,QAAQ,KAAK,EAAE,EAAE;AAAA,MAC3C,YAAY;AAAA,MAEZ,+BAAC,OAAI,IAAI,UAAU,OAAO,SAAS,eAAa,WAAW,QAAW,gBAAgB,UAAU,eAAe,QAC7G;AAAA,4BAAC,OAAI,IAAI,UACP;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACC,GAAG,OAAO;AAAA,YACX,YAAY,OAAO;AAAA,YACnB,SAAS;AAAA,YACT,eAAe,OAAO;AAAA,YACtB;AAAA;AAAA,QACF,GACF;AAAA,QACA,oBAAC,OAAI,IAAI,cAAc,eAAa,GAAG,MAAM,SAC1C,iBAAO,MACV;AAAA,SACF;AAAA;AAAA,EACF;AAEJ;","names":[]}
|
|
@@ -1,32 +1,34 @@
|
|
|
1
|
+
import {
|
|
2
|
+
handleBlockKey,
|
|
3
|
+
keyCreateSpan
|
|
4
|
+
} from "./chunk-U4Z6GZDW.js";
|
|
5
|
+
import {
|
|
6
|
+
GroupFooter
|
|
7
|
+
} from "./chunk-MPVH2GM5.js";
|
|
1
8
|
import {
|
|
2
9
|
Axis,
|
|
3
10
|
Coverage,
|
|
4
|
-
GroupFooter,
|
|
5
11
|
RulerRow
|
|
6
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-FGZIEZEP.js";
|
|
7
13
|
import {
|
|
8
14
|
groupTitleSx,
|
|
9
15
|
rootSx,
|
|
10
16
|
rowSx,
|
|
11
17
|
skeletonNameSx,
|
|
12
18
|
skeletonTrackSx
|
|
13
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-5AZEDQXX.js";
|
|
14
20
|
import {
|
|
15
21
|
EN_US_DAY_RULER_LABELS
|
|
16
22
|
} from "./chunk-F2ZUUEXC.js";
|
|
17
|
-
import {
|
|
18
|
-
handleBlockKey,
|
|
19
|
-
keyCreateSpan
|
|
20
|
-
} from "./chunk-Y3F2F36I.js";
|
|
21
23
|
import {
|
|
22
24
|
useRulerDrag
|
|
23
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-KXDLLS62.js";
|
|
24
26
|
import {
|
|
25
27
|
DAY_RULER_METRICS
|
|
26
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-273OLFJD.js";
|
|
27
29
|
import {
|
|
28
30
|
SR_ONLY_SX
|
|
29
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-SJAOQGQI.js";
|
|
30
32
|
import {
|
|
31
33
|
useAnnouncer
|
|
32
34
|
} from "./chunk-35HMJQLO.js";
|
|
@@ -106,7 +108,7 @@ function DayRuler(props) {
|
|
|
106
108
|
return /* @__PURE__ */ jsxs(
|
|
107
109
|
Box,
|
|
108
110
|
{
|
|
109
|
-
sx: rootSx
|
|
111
|
+
sx: rootSx,
|
|
110
112
|
"data-testid": testId,
|
|
111
113
|
role: "region",
|
|
112
114
|
"aria-label": props["aria-label"],
|
|
@@ -125,4 +127,4 @@ function DayRuler(props) {
|
|
|
125
127
|
export {
|
|
126
128
|
DayRuler
|
|
127
129
|
};
|
|
128
|
-
//# sourceMappingURL=chunk-
|
|
130
|
+
//# sourceMappingURL=chunk-CWXX5JR3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/data-display/DayRuler/DayRuler.tsx"],"sourcesContent":["'use client';\n\nimport Box from '@mui/material/Box/index.js';\nimport type React from 'react';\n\nimport { resolveLabels } from '../../../utils/resolve-labels';\nimport { SR_ONLY_SX } from '../ScheduleGrid/ScheduleGrid.styles';\nimport { useAnnouncer } from '../ScheduleGrid/useAnnouncer';\nimport { handleBlockKey, keyCreateSpan, type RulerAbilities, type RulerScale } from './DayRuler.keyboard';\nimport { EN_US_DAY_RULER_LABELS } from './DayRuler.en-US';\nimport { DAY_RULER_METRICS as M } from './DayRuler.metrics';\nimport { GroupFooter } from './DayRuler.footer';\nimport { Axis, Coverage, RulerRow, type RowContext } from './DayRuler.parts';\nimport { groupTitleSx, rootSx, rowSx, skeletonNameSx, skeletonTrackSx } from './DayRuler.styles';\nimport type { DayRulerProps, DayRulerRow } from './DayRuler.types';\nimport { useRulerDrag } from './useRulerDrag';\n\n/** The rows, grouped under a heading each time `row.group` changes. */\nfunction grouped(rows: readonly DayRulerRow[]): { title?: string; rows: DayRulerRow[] }[] {\n const out: { title?: string; rows: DayRulerRow[] }[] = [];\n for (const row of rows) {\n const last = out[out.length - 1];\n if (last && last.title === row.group) last.rows.push(row);\n else out.push({ title: row.group, rows: [row] });\n }\n return out;\n}\n\nfunction scaleOf(props: DayRulerProps): RulerScale {\n return {\n from: props.from ?? 6,\n to: props.to ?? 26,\n snap: (props.snapMinutes ?? 15) / 60,\n createHours: props.createHours ?? 4,\n tickHours: props.tickHours ?? 4,\n };\n}\n\nfunction abilitiesOf(props: DayRulerProps): RulerAbilities {\n const open = !props.readOnly && !props.loading;\n return { create: open && Boolean(props.onCreate), move: open && Boolean(props.onMove), resize: open && Boolean(props.onResize) };\n}\n\n/** A group's lines under its rows, when the host gives any (`groupFooter`). */\nfunction FooterOf({ props, group, ctx }: { props: DayRulerProps; group: string | undefined; ctx: RowContext }): React.JSX.Element | null {\n const rows = props.groupFooter?.(group);\n if (!rows || rows.length === 0) return null;\n const marked = props.labels?.footerMarked ?? EN_US_DAY_RULER_LABELS.footerMarked;\n return <GroupFooter rows={rows} scale={ctx.scale} testId={ctx.testId} marked={marked} />;\n}\n\n/** The groups and their rows — or the skeleton, the host's error, or the host's empty state. */\nfunction RulerBody({ props, ctx }: { props: DayRulerProps; ctx: RowContext }): React.JSX.Element {\n if (props.error) return <>{props.error}</>;\n if (props.loading) {\n return (\n <>\n {Array.from({ length: M.skeletonRows }, (_, index) => (\n <Box key={index} sx={rowSx} aria-hidden data-testid={`${ctx.testId}-loading`}>\n <Box sx={skeletonNameSx} />\n <Box sx={skeletonTrackSx} />\n </Box>\n ))}\n </>\n );\n }\n if (props.rows.length === 0) return <>{props.empty ?? null}</>;\n return (\n <>\n {grouped(props.rows).map((group, index) => (\n <Box key={`${index}-${group.title ?? ''}`} role=\"list\" aria-label={group.title}>\n {group.title ? (\n <Box component=\"p\" sx={groupTitleSx} aria-hidden>\n {group.title}\n </Box>\n ) : null}\n {group.rows.map((row) => (\n <RulerRow key={row.id} row={row} ctx={ctx} />\n ))}\n <FooterOf props={props} group={group.title} ctx={ctx} />\n </Box>\n ))}\n </>\n );\n}\n\n/**\n * One day as an hour ruler per row — who is on the escala when, and who is\n * really on shift (FUT-3825). Drag on an empty stretch to create (a click\n * alone is `createHours`), drag a block to move it, drag its ends to change\n * them; every hour snaps to `snapMinutes`. On a narrow ruler (a phone) each row\n * stacks and the blocks are tap-only: touch scrolls and never drags.\n *\n * The ruler reports gestures; hours, limits and refusals are the host's.\n */\nexport function DayRuler(props: DayRulerProps): React.JSX.Element {\n const { now, onCreate, onMove, onResize } = props;\n const testId = props.dataTestId ?? 'day-ruler';\n const labels = resolveLabels(EN_US_DAY_RULER_LABELS, props.labels);\n const scale = scaleOf(props);\n const can = abilitiesOf(props);\n const dragApi = useRulerDrag(scale, { onCreate, onMove, onResize });\n const { text: announcement, say } = useAnnouncer();\n\n const ctx: RowContext = {\n scale,\n now,\n can,\n drag: dragApi.drag,\n dragApi,\n onBlockClick: props.onBlockClick,\n onKeyCreate: (row) => {\n const [start, end] = keyCreateSpan(scale, now, props.createStart?.(row.id));\n onCreate?.(row.id, start, end);\n },\n onBlockKey: (event, block) => handleBlockKey(event, block, { scale, can, onMove, onResize, labels, say }),\n createLabel: labels.createTrack,\n testId,\n };\n\n return (\n <Box\n sx={rootSx}\n data-testid={testId}\n role=\"region\"\n aria-label={props['aria-label']}\n aria-busy={props.loading || undefined}\n aria-description={props.loading ? labels.loading : undefined}\n >\n {props.coverage && props.coverage.length > 0 ? (\n <Coverage coverage={props.coverage} label={props.coverageLabel} scale={scale} testId={testId} />\n ) : null}\n <Axis scale={scale} testId={testId} />\n <RulerBody props={props} ctx={ctx} />\n <Box sx={SR_ONLY_SX} aria-live=\"polite\" role=\"status\" data-testid={`${testId}-live`}>\n {announcement}\n </Box>\n </Box>\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ColumnsTab
|
|
3
|
-
} from "./chunk-WSAUWJFO.js";
|
|
4
1
|
import {
|
|
5
2
|
DisplayTab,
|
|
6
3
|
SortTab
|
|
7
4
|
} from "./chunk-YEGZIYVM.js";
|
|
5
|
+
import {
|
|
6
|
+
ColumnsTab
|
|
7
|
+
} from "./chunk-WSAUWJFO.js";
|
|
8
8
|
import {
|
|
9
9
|
ViewActions,
|
|
10
10
|
ViewFooter,
|
|
@@ -265,4 +265,4 @@ function DataViewsDisplayPanel({
|
|
|
265
265
|
export {
|
|
266
266
|
DataViewsDisplayPanel
|
|
267
267
|
};
|
|
268
|
-
//# sourceMappingURL=chunk-
|
|
268
|
+
//# sourceMappingURL=chunk-EE6DJPB7.js.map
|
|
@@ -5,19 +5,19 @@ import {
|
|
|
5
5
|
} from "./chunk-T7OIVPCO.js";
|
|
6
6
|
import {
|
|
7
7
|
MoreFilters
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-4E2RQOSQ.js";
|
|
9
9
|
import {
|
|
10
10
|
PillControl
|
|
11
11
|
} from "./chunk-AJ6KFHEE.js";
|
|
12
|
+
import {
|
|
13
|
+
QuickChip
|
|
14
|
+
} from "./chunk-AT6UKTH4.js";
|
|
12
15
|
import {
|
|
13
16
|
isQuickActive
|
|
14
17
|
} from "./chunk-KYUEO2IO.js";
|
|
15
18
|
import {
|
|
16
19
|
RangePill
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import {
|
|
19
|
-
QuickChip
|
|
20
|
-
} from "./chunk-AT6UKTH4.js";
|
|
20
|
+
} from "./chunk-FPNVOB52.js";
|
|
21
21
|
import {
|
|
22
22
|
CollapsedSearch,
|
|
23
23
|
InlineKeyword
|
|
@@ -251,4 +251,4 @@ function FilterSlots({
|
|
|
251
251
|
export {
|
|
252
252
|
InlineFilterControls
|
|
253
253
|
};
|
|
254
|
-
//# sourceMappingURL=chunk-
|
|
254
|
+
//# sourceMappingURL=chunk-F2UP5ZF4.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SectionNavSheet
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-XCUHGPPZ.js";
|
|
4
4
|
import {
|
|
5
5
|
RaisedActionButton,
|
|
6
6
|
raisedLift
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-UKUGSU3Y.js";
|
|
8
8
|
import {
|
|
9
9
|
Box,
|
|
10
10
|
CONTROL_RESET,
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
destinationControl,
|
|
16
16
|
focusRing,
|
|
17
17
|
useMounted
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-24HHUCWB.js";
|
|
19
19
|
import {
|
|
20
20
|
barSlots,
|
|
21
21
|
destinationState,
|
|
@@ -327,4 +327,4 @@ export {
|
|
|
327
327
|
sectionNavSheetOffset,
|
|
328
328
|
SectionNavBar
|
|
329
329
|
};
|
|
330
|
-
//# sourceMappingURL=chunk-
|
|
330
|
+
//# sourceMappingURL=chunk-F7LBTMCA.js.map
|
|
@@ -8,39 +8,34 @@ import {
|
|
|
8
8
|
coverageCellSx,
|
|
9
9
|
coverageLabelSx,
|
|
10
10
|
coverageSx,
|
|
11
|
-
footerCellSx,
|
|
12
|
-
footerNoteSx,
|
|
13
11
|
handleSx,
|
|
14
12
|
lineSx,
|
|
15
13
|
nowSx,
|
|
16
14
|
rowSx,
|
|
17
15
|
trackSx,
|
|
18
|
-
trendSx,
|
|
19
16
|
whoSx
|
|
20
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-5AZEDQXX.js";
|
|
21
18
|
import {
|
|
22
|
-
|
|
23
|
-
} from "./chunk-
|
|
19
|
+
useTextFit
|
|
20
|
+
} from "./chunk-WG7CAT5D.js";
|
|
24
21
|
import {
|
|
25
22
|
DAY_RULER_METRICS
|
|
26
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-273OLFJD.js";
|
|
27
24
|
import {
|
|
28
25
|
formatHour,
|
|
29
26
|
formatRange,
|
|
27
|
+
hitBoundsOf,
|
|
30
28
|
percentOf,
|
|
31
29
|
ticksOf
|
|
32
|
-
} from "./chunk-
|
|
33
|
-
import {
|
|
34
|
-
SR_ONLY_SX
|
|
35
|
-
} from "./chunk-RYJ6XGFA.js";
|
|
30
|
+
} from "./chunk-L5CAHQIN.js";
|
|
36
31
|
import {
|
|
37
32
|
ScheduleNameCell
|
|
38
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-CGS2LQE5.js";
|
|
39
34
|
|
|
40
35
|
// src/components/data-display/DayRuler/DayRuler.parts.tsx
|
|
41
36
|
import Box from "@mui/material/Box/index.js";
|
|
42
|
-
import { useRef } from "react";
|
|
43
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
37
|
+
import { Fragment, isValidElement, useRef } from "react";
|
|
38
|
+
import { Fragment as Fragment2, jsx, jsxs } from "react/jsx-runtime";
|
|
44
39
|
var spanOf = (start, end, scale) => {
|
|
45
40
|
const at = percentOf(start, scale.from, scale.to);
|
|
46
41
|
return { at, share: Math.max(0, percentOf(end, scale.from, scale.to) - at) };
|
|
@@ -70,24 +65,31 @@ function BreakBand({ block, at, testId }) {
|
|
|
70
65
|
if (!gap) return null;
|
|
71
66
|
return /* @__PURE__ */ jsx(Box, { component: "span", "aria-hidden": true, sx: breakSx(gap), "data-dr-break": "", "data-testid": testId });
|
|
72
67
|
}
|
|
73
|
-
function
|
|
68
|
+
function fallbackFit(block, scale) {
|
|
69
|
+
return (block.end - block.start) / (scale.to - scale.from) >= DAY_RULER_METRICS.narrowShare ? "full" : "short";
|
|
70
|
+
}
|
|
71
|
+
function fitProps(fit, text) {
|
|
72
|
+
return fit === "full" ? {} : { "aria-label": text, "data-fit": fit };
|
|
73
|
+
}
|
|
74
|
+
function RulerBlock({ row, block, span, at, hit, text, ctx, testId }) {
|
|
74
75
|
const { can, dragApi, scale } = ctx;
|
|
75
76
|
const movable = can.move && Boolean(block.movable);
|
|
76
77
|
const resizable = can.resize && Boolean(block.resizable);
|
|
77
78
|
const ref = useRef(null);
|
|
78
|
-
const
|
|
79
|
+
const short = block.shortLabel ?? text;
|
|
80
|
+
const fit = useTextFit(ref, text, short, fallbackFit(block, scale));
|
|
79
81
|
const press = (mode) => (event) => dragApi.startBlock(event, row.id, block, mode);
|
|
80
82
|
return /* @__PURE__ */ jsxs(
|
|
81
83
|
Box,
|
|
82
84
|
{
|
|
83
85
|
component: "button",
|
|
84
86
|
type: "button",
|
|
85
|
-
sx: blockSx(block.tone, span, { selected: Boolean(block.selected), movable }),
|
|
87
|
+
sx: blockSx(block.tone, span, { selected: Boolean(block.selected), movable, hit }),
|
|
86
88
|
title: block.title ?? block.label,
|
|
89
|
+
...fitProps(fit, text),
|
|
87
90
|
"aria-keyshortcuts": shortcutsOf(movable, resizable),
|
|
88
91
|
"aria-current": block.selected ? "true" : void 0,
|
|
89
92
|
ref,
|
|
90
|
-
"data-narrow": fits ? void 0 : "",
|
|
91
93
|
"data-tone": block.tone,
|
|
92
94
|
"data-testid": testId,
|
|
93
95
|
onPointerDown: movable ? press("move") : void 0,
|
|
@@ -99,7 +101,7 @@ function RulerBlock({ row, block, span, at, text, ctx, testId }) {
|
|
|
99
101
|
/* @__PURE__ */ jsx(BreakBand, { block, at, testId: `${ctx.testId}-break-${block.id}` }),
|
|
100
102
|
resizable ? /* @__PURE__ */ jsx(Handle, { side: "l", onPointerDown: press("start"), testId: `${ctx.testId}-handle-l-${block.id}` }) : null,
|
|
101
103
|
/* @__PURE__ */ jsx("span", { "data-dr-text": "full", title: text, children: text }),
|
|
102
|
-
/* @__PURE__ */ jsx("span", { "data-dr-text": "short", title: text, children:
|
|
104
|
+
/* @__PURE__ */ jsx("span", { "data-dr-text": "short", title: text, children: short }),
|
|
103
105
|
resizable ? /* @__PURE__ */ jsx(Handle, { side: "r", onPointerDown: press("end"), testId: `${ctx.testId}-handle-r-${block.id}` }) : null
|
|
104
106
|
]
|
|
105
107
|
}
|
|
@@ -107,37 +109,46 @@ function RulerBlock({ row, block, span, at, text, ctx, testId }) {
|
|
|
107
109
|
}
|
|
108
110
|
function Blocks({ row, ctx }) {
|
|
109
111
|
const mine = ctx.drag && ctx.drag.rowId === row.id ? ctx.drag : null;
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
},
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
112
|
+
const drawn = row.blocks.map((block) => {
|
|
113
|
+
const live = mine?.blockId === block.id ? mine : null;
|
|
114
|
+
const start = live ? live.start : block.start;
|
|
115
|
+
const end = live ? live.end : block.end;
|
|
116
|
+
return { block, live, start, end, span: spanOf(start, end, ctx.scale) };
|
|
117
|
+
});
|
|
118
|
+
const preview = mine && mine.mode === "create" ? previewSpan(mine, ctx.scale) : null;
|
|
119
|
+
const hits = hitBoundsOf([...drawn.map((d) => d.span), ...preview ? [preview] : []]);
|
|
120
|
+
return /* @__PURE__ */ jsxs(Fragment2, { children: [
|
|
121
|
+
drawn.map(({ block, live, start, end, span }, index) => /* @__PURE__ */ jsx(
|
|
122
|
+
RulerBlock,
|
|
123
|
+
{
|
|
124
|
+
row,
|
|
125
|
+
block,
|
|
126
|
+
span,
|
|
127
|
+
at: { start, end },
|
|
128
|
+
hit: hits[index],
|
|
129
|
+
text: live?.moved ? formatRange(start, end) : block.label,
|
|
130
|
+
ctx,
|
|
131
|
+
testId: `${ctx.testId}-block-${block.id}`
|
|
132
|
+
},
|
|
133
|
+
block.id
|
|
134
|
+
)),
|
|
135
|
+
mine && preview ? /* @__PURE__ */ jsx(CreatePreview, { row, drag: mine, span: preview, hit: hits[drawn.length], ctx }) : null
|
|
130
136
|
] });
|
|
131
137
|
}
|
|
132
|
-
function
|
|
138
|
+
function previewSpan(drag, scale) {
|
|
139
|
+
return spanOf(drag.start, Math.max(drag.end, drag.start + scale.snap), scale);
|
|
140
|
+
}
|
|
141
|
+
function CreatePreview(props) {
|
|
142
|
+
const { row, drag, span, hit, ctx } = props;
|
|
133
143
|
const range = formatRange(drag.start, drag.end);
|
|
134
144
|
return /* @__PURE__ */ jsx(
|
|
135
145
|
RulerBlock,
|
|
136
146
|
{
|
|
137
147
|
row,
|
|
138
148
|
block: { id: "\0new", start: drag.start, end: drag.end, label: range, tone: "plan" },
|
|
139
|
-
span
|
|
149
|
+
span,
|
|
140
150
|
at: { start: drag.start, end: drag.end },
|
|
151
|
+
hit,
|
|
141
152
|
text: range,
|
|
142
153
|
ctx,
|
|
143
154
|
testId: `${ctx.testId}-preview`
|
|
@@ -147,7 +158,7 @@ function CreatePreview({ row, drag, ctx }) {
|
|
|
147
158
|
function Actual({ row, ctx }) {
|
|
148
159
|
const { actual } = row;
|
|
149
160
|
if (!actual) return null;
|
|
150
|
-
return /* @__PURE__ */ jsxs(
|
|
161
|
+
return /* @__PURE__ */ jsxs(Fragment2, { children: [
|
|
151
162
|
/* @__PURE__ */ jsx(Box, { sx: actualSx(spanOf(actual.start, actual.end, ctx.scale)), "data-testid": `${ctx.testId}-actual-${row.id}` }),
|
|
152
163
|
row.actualLabel ? /* @__PURE__ */ jsx(Box, { component: "span", sx: actualLabelSx(percentOf(actual.start, ctx.scale.from, ctx.scale.to)), children: row.actualLabel }) : null
|
|
153
164
|
] });
|
|
@@ -172,17 +183,24 @@ function Track({ row, ctx }) {
|
|
|
172
183
|
},
|
|
173
184
|
children: [
|
|
174
185
|
/* @__PURE__ */ jsx(Actual, { row, ctx }),
|
|
175
|
-
/* @__PURE__ */ jsx(
|
|
176
|
-
|
|
186
|
+
showNow ? /* @__PURE__ */ jsx(Box, { sx: nowSx(percentOf(now, scale.from, scale.to)), "data-testid": `${ctx.testId}-now` }) : null,
|
|
187
|
+
/* @__PURE__ */ jsx(Blocks, { row, ctx })
|
|
177
188
|
]
|
|
178
189
|
}
|
|
179
190
|
);
|
|
180
191
|
}
|
|
192
|
+
function hasContent(node) {
|
|
193
|
+
if (node === null || node === void 0 || typeof node === "boolean" || node === "") return false;
|
|
194
|
+
if (Array.isArray(node)) return node.some((child) => hasContent(child));
|
|
195
|
+
if (isValidElement(node) && node.type === Fragment) return hasContent(node.props.children);
|
|
196
|
+
return true;
|
|
197
|
+
}
|
|
181
198
|
function RulerRow({ row, ctx }) {
|
|
199
|
+
const hasActions = hasContent(row.actions);
|
|
182
200
|
return /* @__PURE__ */ jsxs(Box, { sx: rowSx, "data-testid": `${ctx.testId}-row-${row.id}`, role: "listitem", children: [
|
|
183
201
|
/* @__PURE__ */ jsx(ScheduleNameCell, { row, sx: whoSx, sizes: { name: DAY_RULER_METRICS.name, meta: DAY_RULER_METRICS.meta, chipsTop: 0.75 } }),
|
|
184
202
|
/* @__PURE__ */ jsx(Track, { row, ctx }),
|
|
185
|
-
/* @__PURE__ */ jsx(Box, { sx: actionsSx, children: row.actions })
|
|
203
|
+
hasActions ? /* @__PURE__ */ jsx(Box, { sx: actionsSx, "data-testid": `${ctx.testId}-actions-${row.id}`, children: row.actions }) : null
|
|
186
204
|
] });
|
|
187
205
|
}
|
|
188
206
|
function Coverage(props) {
|
|
@@ -193,82 +211,21 @@ function Coverage(props) {
|
|
|
193
211
|
/* @__PURE__ */ jsx(Box, { sx: coverageSx(hours), children: Array.from({ length: hours }, (_, index) => {
|
|
194
212
|
const count = coverage[index] ?? 0;
|
|
195
213
|
return /* @__PURE__ */ jsx(Box, { component: "span", sx: coverageCellSx(count), title: `${formatHour(scale.from + index)} \xB7 ${count}`, children: count > 0 ? count : "" }, index);
|
|
196
|
-
}) })
|
|
197
|
-
/* @__PURE__ */ jsx("span", {})
|
|
214
|
+
}) })
|
|
198
215
|
] });
|
|
199
216
|
}
|
|
200
|
-
function trendPoints(values, hours) {
|
|
201
|
-
const present = values.slice(0, hours).filter((value) => value !== null);
|
|
202
|
-
const max = Math.max(0, ...present);
|
|
203
|
-
return values.slice(0, hours).flatMap((value, index) => {
|
|
204
|
-
if (value === null) return [];
|
|
205
|
-
const x = (index + 0.5) * 100 / hours;
|
|
206
|
-
const y = max > 0 ? 38 - value / max * 34 : 38;
|
|
207
|
-
return [`${x.toFixed(2)},${y.toFixed(2)}`];
|
|
208
|
-
}).join(" ");
|
|
209
|
-
}
|
|
210
|
-
var hourWords = (hour, text) => text ? `${formatHour(hour)} \xB7 ${text}` : formatHour(hour);
|
|
211
|
-
function markedWords(cell, hour, marked) {
|
|
212
|
-
return cell.title ?? `${hourWords(hour, cell.text)} \xB7 ${marked}`;
|
|
213
|
-
}
|
|
214
|
-
function FooterCells({ cells, ctx }) {
|
|
215
|
-
return /* @__PURE__ */ jsx(Box, { sx: coverageSx(ctx.hours), children: Array.from({ length: ctx.hours }, (_, index) => {
|
|
216
|
-
const cell = cells[index] ?? { text: "" };
|
|
217
|
-
const hour = ctx.from + index;
|
|
218
|
-
return /* @__PURE__ */ jsx(
|
|
219
|
-
Box,
|
|
220
|
-
{
|
|
221
|
-
component: "span",
|
|
222
|
-
sx: footerCellSx(Boolean(cell.marked)),
|
|
223
|
-
title: cell.marked ? markedWords(cell, hour, ctx.marked) : cell.title ?? hourWords(hour, cell.text),
|
|
224
|
-
"data-marked": cell.marked ? "" : void 0,
|
|
225
|
-
children: cell.marked ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
226
|
-
/* @__PURE__ */ jsx("span", { "aria-hidden": true, children: cell.text }),
|
|
227
|
-
/* @__PURE__ */ jsx(Box, { component: "span", sx: SR_ONLY_SX, children: markedWords(cell, hour, ctx.marked) })
|
|
228
|
-
] }) : cell.text
|
|
229
|
-
},
|
|
230
|
-
index
|
|
231
|
-
);
|
|
232
|
-
}) });
|
|
233
|
-
}
|
|
234
|
-
function trendWords(values, ctx) {
|
|
235
|
-
return values.slice(0, ctx.hours).flatMap((value, index) => value === null ? [] : [`${formatHour(ctx.from + index)} ${Math.round(value * 10) / 10}`]).join(" \xB7 ");
|
|
236
|
-
}
|
|
237
|
-
function FooterFigures({ row, ctx }) {
|
|
238
|
-
if (row.trend) {
|
|
239
|
-
return /* @__PURE__ */ jsxs(Box, { component: "span", sx: { display: "block", minWidth: 0 }, children: [
|
|
240
|
-
/* @__PURE__ */ jsx(Box, { component: "svg", viewBox: "0 0 100 40", preserveAspectRatio: "none", sx: trendSx, "aria-hidden": true, children: /* @__PURE__ */ jsx("polyline", { fill: "none", stroke: "currentColor", strokeWidth: 1.5, vectorEffect: "non-scaling-stroke", points: trendPoints(row.trend, ctx.hours) }) }),
|
|
241
|
-
/* @__PURE__ */ jsx(Box, { component: "span", sx: SR_ONLY_SX, children: trendWords(row.trend, ctx) })
|
|
242
|
-
] });
|
|
243
|
-
}
|
|
244
|
-
if (row.note !== void 0) {
|
|
245
|
-
return /* @__PURE__ */ jsx(Box, { component: "span", sx: footerNoteSx(Boolean(row.marked)), "data-marked": row.marked ? "" : void 0, children: row.note });
|
|
246
|
-
}
|
|
247
|
-
return /* @__PURE__ */ jsx(FooterCells, { cells: row.cells ?? [], ctx });
|
|
248
|
-
}
|
|
249
|
-
function GroupFooter(props) {
|
|
250
|
-
const { rows, scale, testId } = props;
|
|
251
|
-
const ctx = { hours: scale.to - scale.from, from: scale.from, marked: props.marked };
|
|
252
|
-
return /* @__PURE__ */ jsx(Fragment, { children: rows.map((row) => /* @__PURE__ */ jsxs(Box, { sx: lineSx, "data-testid": `${testId}-footer-${row.id}`, children: [
|
|
253
|
-
/* @__PURE__ */ jsx(Box, { component: "span", sx: coverageLabelSx, children: row.label }),
|
|
254
|
-
/* @__PURE__ */ jsx(FooterFigures, { row, ctx }),
|
|
255
|
-
/* @__PURE__ */ jsx("span", {})
|
|
256
|
-
] }, row.id)) });
|
|
257
|
-
}
|
|
258
217
|
function Axis({ scale, testId }) {
|
|
259
218
|
return /* @__PURE__ */ jsxs(Box, { sx: lineSx, "data-testid": `${testId}-axis`, "aria-hidden": true, children: [
|
|
260
219
|
/* @__PURE__ */ jsx("span", {}),
|
|
261
|
-
/* @__PURE__ */ jsx(Box, { sx: axisSx, children: ticksOf(scale.from, scale.to, scale.tickHours).map((h) => /* @__PURE__ */ jsx("span", { style: { left: `${percentOf(h, scale.from, scale.to)}%` }, children: formatHour(h) }, h)) })
|
|
262
|
-
/* @__PURE__ */ jsx("span", {})
|
|
220
|
+
/* @__PURE__ */ jsx(Box, { sx: axisSx, children: ticksOf(scale.from, scale.to, scale.tickHours).map((h) => /* @__PURE__ */ jsx("span", { style: { left: `${percentOf(h, scale.from, scale.to)}%` }, children: formatHour(h) }, h)) })
|
|
263
221
|
] });
|
|
264
222
|
}
|
|
265
223
|
|
|
266
224
|
export {
|
|
267
225
|
spanOf,
|
|
226
|
+
hasContent,
|
|
268
227
|
RulerRow,
|
|
269
228
|
Coverage,
|
|
270
|
-
trendPoints,
|
|
271
|
-
GroupFooter,
|
|
272
229
|
Axis
|
|
273
230
|
};
|
|
274
|
-
//# sourceMappingURL=chunk-
|
|
231
|
+
//# sourceMappingURL=chunk-FGZIEZEP.js.map
|