@12-apps/ui 6.43.1 → 6.44.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/NATIVE.md +2 -2
- package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +3 -3
- package/dist/_internal/components/data-display/Badge/Badge.js +6 -5
- package/dist/_internal/components/data-display/Badge/Badge.styles.js +4 -3
- package/dist/_internal/components/data-display/Badge/BadgeContent.js +5 -4
- package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +5 -5
- package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +5 -5
- package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +5 -4
- package/dist/_internal/components/data-display/Carousel/Carousel.js +8 -7
- package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +4 -3
- package/dist/_internal/components/data-display/Carousel/Carousel.styles.js +4 -3
- package/dist/_internal/components/data-display/Chart/Chart.js +7 -6
- package/dist/_internal/components/data-display/Chart/SpecChart.js +8 -7
- package/dist/_internal/components/data-display/Chart/chart-context.js +5 -4
- package/dist/_internal/components/data-display/Chart/chart-internals.js +4 -3
- package/dist/_internal/components/data-display/Chart/chart-renderers.js +6 -5
- package/dist/_internal/components/data-display/DataGrid/DataGrid.js +4 -3
- package/dist/_internal/components/data-display/DataGrid/DataGrid.model.js +3 -2
- package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +32 -31
- package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +45 -44
- package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +3 -3
- package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +7 -7
- package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +3 -3
- package/dist/_internal/components/data-display/DataViews/base-card.js +4 -3
- package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +6 -5
- package/dist/_internal/components/data-display/DataViews/base-list-card-gutters.js +5 -3
- package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +5 -4
- package/dist/_internal/components/data-display/DataViews/base-list-card.js +11 -9
- package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +8 -8
- package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +5 -4
- package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +4 -3
- package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +12 -12
- package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +8 -7
- package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +31 -30
- package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +12 -12
- package/dist/_internal/components/data-display/DataViews/data-views-layout-context.js +3 -2
- package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +9 -9
- package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +10 -10
- package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +4 -3
- package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +8 -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 +7 -6
- package/dist/_internal/components/data-display/DataViews/list-card-rails.js +4 -3
- package/dist/_internal/components/data-display/DataViews/use-saved-views-controller.js +2 -2
- package/dist/_internal/components/data-display/EmptyState/EmptyState.js +2 -2
- package/dist/_internal/components/data-display/FleetMap/FleetBody.js +5 -5
- package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +4 -4
- package/dist/_internal/components/data-display/FleetMap/FleetMap.js +13 -12
- package/dist/_internal/components/data-display/InteractiveTooltip/InteractiveTooltip.js +2 -2
- package/dist/_internal/components/data-display/Lightbox/Lightbox.js +2 -2
- package/dist/_internal/components/data-display/MapPreview/MapLayers.js +2 -2
- package/dist/_internal/components/data-display/MapPreview/MapPreview.js +3 -3
- package/dist/_internal/components/data-display/SectionOnboarding/SectionOnboarding.js +3 -3
- package/dist/_internal/components/data-display/Sheet/Sheet.body.js +3 -2
- package/dist/_internal/components/data-display/Sheet/Sheet.js +5 -4
- package/dist/_internal/components/data-display/Sheet/Sheet.styles.js +4 -3
- package/dist/_internal/components/data-display/Table/Table.js +4 -3
- package/dist/_internal/components/data-display/index.js +38 -37
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.js +2 -2
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +3 -3
- package/dist/_internal/components/feedback/ConfirmAction/with-confirmation.js +2 -2
- package/dist/_internal/components/feedback/Dialog/Dialog.js +2 -2
- package/dist/_internal/components/feedback/StackedModal/StackedModal.js +6 -6
- package/dist/_internal/components/feedback/index.js +14 -14
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +1 -1
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +1 -1
- package/dist/_internal/components/form/Autocomplete/Autocomplete.js +3 -3
- package/dist/_internal/components/form/Autocomplete/useAutocomplete.js +1 -1
- package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +3 -3
- package/dist/_internal/components/form/CategorySelect/CategorySelect.js +6 -6
- package/dist/_internal/components/form/Checkbox/Checkbox.js +4 -2
- package/dist/_internal/components/form/Checkbox/Checkbox.metrics.js +7 -3
- package/dist/_internal/components/form/Command/Command.js +5 -4
- package/dist/_internal/components/form/Command/Command.styles.js +4 -3
- package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +2 -2
- package/dist/_internal/components/form/Label/Label.js +5 -4
- package/dist/_internal/components/form/Label/Label.styles.js +4 -3
- package/dist/_internal/components/form/Menubar/Menubar.item.js +5 -4
- package/dist/_internal/components/form/Menubar/Menubar.js +7 -6
- package/dist/_internal/components/form/Menubar/Menubar.styles.js +4 -3
- package/dist/_internal/components/form/Menubar/Menubar.toolbar.js +6 -5
- package/dist/_internal/components/form/UploadButton/UploadButton.js +2 -2
- package/dist/_internal/components/form/index.js +21 -20
- package/dist/_internal/components/form/total-form/Fields/CategoryField.js +7 -7
- package/dist/_internal/components/form/total-form/Fields/index.js +11 -11
- package/dist/_internal/components/index.js +100 -99
- package/dist/_internal/components/layout/Box/Box.js +6 -5
- package/dist/_internal/components/layout/ScrollArea/ScrollArea.js +2 -2
- package/dist/_internal/components/layout/SettingCard/SettingCard.js +8 -7
- package/dist/_internal/components/layout/SettingCard/SettingCard.parts.js +7 -6
- package/dist/_internal/components/layout/SettingCard/SettingGrid.js +8 -7
- package/dist/_internal/components/layout/SettingCard/SettingGroup.js +10 -9
- package/dist/_internal/components/layout/SettingCard/SettingSwitch.js +9 -8
- package/dist/_internal/components/layout/SettingCard/SettingToggle.js +10 -9
- package/dist/_internal/components/layout/Stack/Stack.js +7 -6
- package/dist/_internal/components/layout/index.js +20 -19
- package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +8 -7
- package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +4 -3
- package/dist/_internal/components/navigation/CommandPalette/CommandPalette.js +2 -2
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMegaSection.js +3 -3
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +5 -5
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMenuItem.js +2 -2
- package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +3 -3
- package/dist/_internal/components/navigation/index.js +16 -15
- package/dist/_internal/components/utility/InfiniteScroll/InfiniteScroll.js +2 -2
- package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.helpers.js +6 -3
- package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.js +7 -6
- package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.parts.js +5 -4
- package/dist/_internal/components/utility/WorkflowStep/WorkflowStepRow.js +6 -5
- package/dist/_internal/components/utility/index.js +9 -8
- package/dist/_internal/icons/Icon.js +6 -5
- package/dist/_internal/provider/UiProvider.js +5 -4
- package/dist/_internal/provider/mui-bridge.js +4 -3
- package/dist/_internal/provider/use-ui-theme.js +5 -4
- package/dist/_internal/tokens/density-overrides.js +11 -0
- package/dist/_internal/tokens/density-overrides.js.map +1 -0
- package/dist/_internal/tokens/density.js +3 -1
- package/dist/charts.js +8 -7
- package/dist/{chunk-GZT7MLLO.js → chunk-26QYVCDK.js} +2 -2
- package/dist/{chunk-DJKVSUXH.js → chunk-2GG5W6LR.js} +10 -2
- package/dist/chunk-2GG5W6LR.js.map +1 -0
- package/dist/{chunk-442FSG7G.js → chunk-3I77A65F.js} +4 -4
- package/dist/{chunk-R2FUQV24.js → chunk-4MGUBSAL.js} +2 -2
- package/dist/{chunk-YIWVHEPW.js → chunk-4T5LD2NV.js} +2 -2
- package/dist/{chunk-4CHYMTBT.js → chunk-4WCDMCIS.js} +4 -4
- package/dist/chunk-532XOWZ5.js +59 -0
- package/dist/chunk-532XOWZ5.js.map +1 -0
- package/dist/{chunk-5KGABAQB.js → chunk-5752357K.js} +4 -4
- package/dist/{chunk-JSGVYOMN.js → chunk-5MW7OYBM.js} +2 -2
- package/dist/{chunk-RWRPF24F.js → chunk-5OS5AMC2.js} +2 -2
- package/dist/{chunk-I6MVJWUO.js → chunk-6B3QXFF5.js} +2 -2
- package/dist/{chunk-MLUUF7OZ.js → chunk-6B4UTB4O.js} +2 -2
- package/dist/{chunk-FBUCXTA4.js → chunk-6DMUVVON.js} +2 -2
- package/dist/{chunk-G7RYAWPZ.js → chunk-6HTCCWUM.js} +2 -2
- package/dist/{chunk-77BKKPCI.js → chunk-6KLDYVRY.js} +2 -2
- package/dist/{chunk-6Z6PUG4C.js → chunk-6LYRFS5S.js} +5 -5
- package/dist/{chunk-KJID4PRD.js → chunk-6S25ZCEW.js} +34 -45
- package/dist/chunk-6S25ZCEW.js.map +1 -0
- package/dist/{chunk-K4A3JDYQ.js → chunk-6ZWOVUNB.js} +2 -2
- package/dist/{chunk-3RUCLKAK.js → chunk-7HZTYK7U.js} +4 -4
- package/dist/{chunk-BKZERHNC.js → chunk-7XDET7PL.js} +3 -3
- package/dist/{chunk-OD3L6GX5.js → chunk-A7OQBAR7.js} +2 -2
- package/dist/{chunk-2MLS6KU4.js → chunk-AEKHSORY.js} +2 -2
- package/dist/{chunk-5DAVXZPY.js → chunk-B2WBDMHE.js} +2 -2
- package/dist/{chunk-54HTXJJ2.js → chunk-BHE44AQE.js} +2 -2
- package/dist/{chunk-OOB3YWPX.js → chunk-BZFRBG2H.js} +4 -4
- package/dist/{chunk-PICOOZLX.js → chunk-C5RTSOXD.js} +3 -3
- package/dist/{chunk-GO6XDMBB.js → chunk-CIBTYBBN.js} +2 -2
- package/dist/{chunk-ZGWEFOW6.js → chunk-CKAVTWXP.js} +4 -4
- package/dist/{chunk-ANYOSBNA.js → chunk-CSXK7LH7.js} +2 -2
- package/dist/{chunk-U6DOF5CR.js → chunk-CU7ELD43.js} +2 -2
- package/dist/{chunk-XO4ZUHVH.js → chunk-CYPBF3BI.js} +2 -2
- package/dist/{chunk-4PRZLII7.js → chunk-DDL6W7JS.js} +10 -7
- package/dist/chunk-DDL6W7JS.js.map +1 -0
- package/dist/{chunk-EO5IEWFI.js → chunk-DE6A46AE.js} +6 -6
- package/dist/{chunk-3EPA2A4M.js → chunk-DJIFXJ4C.js} +5 -5
- package/dist/{chunk-CM2Q7IH3.js → chunk-DTLKF4AX.js} +6 -6
- package/dist/{chunk-C6JUGWAU.js → chunk-DYCTIOER.js} +4 -4
- package/dist/{chunk-LCWGNDTH.js → chunk-EKBUM7HK.js} +4 -4
- package/dist/{chunk-NYT3UVOH.js → chunk-EOEYOPOS.js} +7 -7
- package/dist/{chunk-7LILFS72.js → chunk-EOKPFMJD.js} +2 -2
- package/dist/{chunk-ZSTSISM6.js → chunk-FHWXRHMA.js} +1 -1
- package/dist/{chunk-ZSTSISM6.js.map → chunk-FHWXRHMA.js.map} +1 -1
- package/dist/{chunk-QSNLIWEB.js → chunk-FTV5R2UZ.js} +2 -2
- package/dist/{chunk-NDHDBOUH.js → chunk-FWPFCK4D.js} +4 -4
- package/dist/{chunk-ON4TRXCM.js → chunk-GHJ2FIJO.js} +3 -3
- package/dist/{chunk-GANW7FXQ.js → chunk-GKNMKPR6.js} +2 -2
- package/dist/{chunk-LGCRL7DK.js → chunk-GP4BJI3F.js} +2 -2
- package/dist/{chunk-652PYSML.js → chunk-HDVEE4NQ.js} +14 -6
- package/dist/chunk-HDVEE4NQ.js.map +1 -0
- package/dist/{chunk-4MKVGSHX.js → chunk-HN3PZTUK.js} +5 -5
- package/dist/{chunk-HBP2OU4Q.js → chunk-HNFZLXZI.js} +5 -5
- package/dist/{chunk-5FHPZOYK.js → chunk-HOIHO2YQ.js} +2 -2
- package/dist/{chunk-3AOOI2NR.js → chunk-HR7YTBR7.js} +4 -4
- package/dist/{chunk-PGV2FLE3.js → chunk-IG26N6J2.js} +2 -2
- package/dist/{chunk-G2WERTWZ.js → chunk-IGGXKT5B.js} +2 -2
- package/dist/{chunk-XLXMJ6X2.js → chunk-IO2X6DVH.js} +3 -3
- package/dist/{chunk-3CLBGHTL.js → chunk-ITBUKGG3.js} +2 -2
- package/dist/{chunk-6IRJAIS4.js → chunk-IXWIJCS3.js} +2 -2
- package/dist/{chunk-TMW7RBW7.js → chunk-J6TIK47Z.js} +2 -2
- package/dist/{chunk-G4TKMUOL.js → chunk-JDEKR77O.js} +7 -7
- package/dist/{chunk-Y2C2S4R7.js → chunk-JHW62I7Z.js} +7 -5
- package/dist/chunk-JHW62I7Z.js.map +1 -0
- package/dist/{chunk-ITFFA3H2.js → chunk-JYLBVHG2.js} +3 -3
- package/dist/{chunk-G7XHJPLO.js → chunk-JZ7ZRZTF.js} +4 -4
- package/dist/{chunk-YTVXT5TD.js → chunk-K5CCQBNN.js} +6 -6
- package/dist/{chunk-K62RHTFB.js → chunk-KNAWZM7F.js} +2 -2
- package/dist/{chunk-AOFI3GDS.js → chunk-KPZ53JY6.js} +5 -5
- package/dist/{chunk-4Z2HIHA5.js → chunk-KRA75CKC.js} +2 -2
- package/dist/{chunk-RHKT2XW2.js → chunk-KUKY5GEX.js} +3 -3
- package/dist/{chunk-HUAQQ5ZL.js → chunk-LHHV6NXO.js} +2 -2
- package/dist/{chunk-BJGUDLWZ.js → chunk-LRFXCZB4.js} +2 -2
- package/dist/{chunk-U6W2RY3Z.js → chunk-MLQYIJTO.js} +5 -5
- package/dist/{chunk-GPHURU2K.js → chunk-MSAAOQAD.js} +7 -7
- package/dist/{chunk-3MJHHPRW.js → chunk-MVR4GURP.js} +2 -2
- package/dist/{chunk-PRLYYKMG.js → chunk-MW7S7WZM.js} +2 -2
- package/dist/{chunk-ERY6D2OV.js → chunk-MWPXKZ7O.js} +4 -4
- package/dist/{chunk-ZUME25DS.js → chunk-NM2FLCPV.js} +3 -3
- package/dist/{chunk-UP7SSTCZ.js → chunk-OAVRXSAS.js} +7 -7
- package/dist/{chunk-VYA4QWQL.js → chunk-PJVZY2SA.js} +2 -2
- package/dist/{chunk-SDBBJ6FG.js → chunk-PUYJVQ7X.js} +2 -2
- package/dist/{chunk-IUD6N52Q.js → chunk-PXGURBIU.js} +4 -4
- package/dist/{chunk-PNDYAIKM.js → chunk-Q5J37WOE.js} +2 -2
- package/dist/{chunk-DCT2PKMQ.js → chunk-QGB3DOMV.js} +2 -2
- package/dist/{chunk-YGYQC7MT.js → chunk-QOLIBVGS.js} +4 -4
- package/dist/{chunk-TIQXDPIX.js → chunk-RIJGMRJK.js} +10 -1
- package/dist/chunk-RIJGMRJK.js.map +1 -0
- package/dist/{chunk-P6Q2O3TU.js → chunk-RNVR3RGV.js} +2 -2
- package/dist/{chunk-SNW5MJ6I.js → chunk-RPKWTFJ2.js} +2 -2
- package/dist/{chunk-NPPJ3IJP.js → chunk-RRAWJQIO.js} +2 -2
- package/dist/{chunk-H3GYVR7S.js → chunk-SM4MT4YC.js} +3 -3
- package/dist/{chunk-5B7BTLN4.js → chunk-SOCZLOPJ.js} +2 -2
- package/dist/{chunk-RXNIOPOA.js → chunk-TM5QQJTF.js} +8 -2
- package/dist/{chunk-RXNIOPOA.js.map → chunk-TM5QQJTF.js.map} +1 -1
- package/dist/{chunk-Z4O3F6KU.js → chunk-U4QUDFPJ.js} +4 -4
- package/dist/{chunk-KWU62UPM.js → chunk-UHGQ74E3.js} +2 -2
- package/dist/{chunk-Z6LTEJ7F.js → chunk-VKFZQSQC.js} +4 -4
- package/dist/{chunk-MBNXCCRG.js → chunk-VQUPB7F7.js} +7 -7
- package/dist/{chunk-CNR5RFKC.js → chunk-VVFV4MXS.js} +2 -2
- package/dist/{chunk-ALOUJ3CE.js → chunk-WQ3KTELX.js} +5 -5
- package/dist/{chunk-FY6PONLA.js → chunk-WSYPM3SR.js} +2 -2
- package/dist/{chunk-QMELMQPA.js → chunk-X4VWYWFK.js} +2 -2
- package/dist/{chunk-5PJM772Y.js → chunk-XLQYOBHP.js} +4 -4
- package/dist/{chunk-TCMH3FXD.js → chunk-XTDJ2D5A.js} +2 -2
- package/dist/{chunk-F5GXWK6B.js → chunk-Y2CMWGIU.js} +3 -3
- package/dist/{chunk-SJGYMI6Y.js → chunk-Y4ET3NRC.js} +2 -2
- package/dist/{chunk-7OO3BELX.js → chunk-Y6RSQEOU.js} +3 -2
- package/dist/{chunk-7OO3BELX.js.map → chunk-Y6RSQEOU.js.map} +1 -1
- package/dist/{chunk-FIO55AKI.js → chunk-YCHOWWRE.js} +3 -3
- package/dist/{chunk-MM5XSAVE.js → chunk-YDIRPKYI.js} +2 -2
- package/dist/{chunk-44Z72DDM.js → chunk-YF3VD2KD.js} +2 -2
- package/dist/{chunk-BR2T72JI.js → chunk-YWJZPN5C.js} +11 -1
- package/dist/chunk-YWJZPN5C.js.map +1 -0
- package/dist/{chunk-Z4DKVLYG.js → chunk-Z3HSRNJT.js} +4 -4
- package/dist/{chunk-5PTCT3LF.js → chunk-ZQ7IESR7.js} +2 -2
- package/dist/data-display/AsyncStateContainer.js +3 -3
- package/dist/data-display/Badge.js +6 -5
- package/dist/data-display/CardKit.js +10 -10
- package/dist/data-display/Carousel.js +8 -7
- package/dist/data-display/Chart.js +8 -7
- package/dist/data-display/DataGrid.js +4 -3
- package/dist/data-display/DataViews.js +54 -53
- package/dist/data-display/EmptyState.js +2 -2
- package/dist/data-display/FleetMap.js +13 -12
- package/dist/data-display/InteractiveTooltip.js +2 -2
- package/dist/data-display/Lightbox.js +2 -2
- package/dist/data-display/MapPreview.js +3 -3
- package/dist/data-display/SectionOnboarding.js +3 -3
- package/dist/data-display/Sheet.js +5 -4
- package/dist/data-display/Table.js +4 -3
- package/dist/feedback/ConfirmAction.js +6 -6
- package/dist/feedback/Dialog.js +2 -2
- package/dist/feedback/StackedModal.js +6 -6
- package/dist/form/AddressAutocomplete.js +1 -1
- package/dist/form/Autocomplete.js +3 -3
- package/dist/form/CategorySelect.js +6 -6
- package/dist/form/Checkbox.js +4 -2
- package/dist/form/Command.js +5 -4
- package/dist/form/DateRangePicker.js +2 -2
- package/dist/form/Label.js +5 -4
- package/dist/form/Menubar.js +7 -6
- package/dist/form/UploadButton.js +2 -2
- package/dist/form/total-form.js +9 -9
- package/dist/icons.js +6 -5
- package/dist/layout/Box.js +6 -5
- package/dist/layout/ContentToolbar.js +3 -3
- package/dist/layout/ScrollArea.js +2 -2
- package/dist/layout/SettingCard.js +15 -14
- package/dist/layout/Stack.js +7 -6
- package/dist/native/form/Checkbox.js +9 -2
- package/dist/native/form/Checkbox.js.map +1 -1
- package/dist/navigation/AppHeader.js +9 -8
- package/dist/navigation/CommandPalette.js +2 -2
- package/dist/navigation/NavigationMenu.js +5 -5
- package/dist/provider.js +6 -5
- package/dist/tokens.js +8 -2
- package/dist/types/components/form/Autocomplete/useAutocomplete.d.ts.map +1 -1
- package/dist/types/components/form/Checkbox/Checkbox.base.d.ts +23 -3
- package/dist/types/components/form/Checkbox/Checkbox.base.d.ts.map +1 -1
- package/dist/types/components/form/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/types/components/form/Checkbox/Checkbox.metrics.d.ts +23 -8
- package/dist/types/components/form/Checkbox/Checkbox.metrics.d.ts.map +1 -1
- package/dist/types/components/form/Checkbox/Checkbox.types.d.ts +5 -2
- package/dist/types/components/form/Checkbox/Checkbox.types.d.ts.map +1 -1
- package/dist/types/components/utility/WorkflowStep/WorkflowStep.d.ts.map +1 -1
- package/dist/types/components/utility/WorkflowStep/WorkflowStep.helpers.d.ts +15 -0
- package/dist/types/components/utility/WorkflowStep/WorkflowStep.helpers.d.ts.map +1 -1
- package/dist/types/components/utility/WorkflowStep/WorkflowStep.parts.d.ts +7 -1
- package/dist/types/components/utility/WorkflowStep/WorkflowStep.parts.d.ts.map +1 -1
- package/dist/types/components/utility/WorkflowStep/WorkflowStep.types.d.ts +10 -0
- package/dist/types/components/utility/WorkflowStep/WorkflowStep.types.d.ts.map +1 -1
- package/dist/types/components/utility/WorkflowStep/WorkflowStepRow.d.ts.map +1 -1
- package/dist/types/provider/mui-bridge.d.ts.map +1 -1
- package/dist/types/tokens/density-overrides.d.ts +6 -0
- package/dist/types/tokens/density-overrides.d.ts.map +1 -0
- package/dist/types/tokens/density.d.ts +9 -6
- package/dist/types/tokens/density.d.ts.map +1 -1
- package/dist/types/tokens/scales.d.ts +1 -0
- package/dist/types/tokens/scales.d.ts.map +1 -1
- package/dist/types-native/components/form/Checkbox/Checkbox.base.d.ts +23 -3
- package/dist/types-native/components/form/Checkbox/Checkbox.base.d.ts.map +1 -1
- package/dist/types-native/components/form/Checkbox/Checkbox.metrics.d.ts +23 -8
- package/dist/types-native/components/form/Checkbox/Checkbox.metrics.d.ts.map +1 -1
- package/dist/types-native/components/form/Checkbox/Checkbox.native.d.ts +0 -1
- package/dist/types-native/components/form/Checkbox/Checkbox.native.d.ts.map +1 -1
- package/dist/types-native/components/form/Checkbox/Checkbox.types.native.d.ts +1 -5
- package/dist/types-native/components/form/Checkbox/Checkbox.types.native.d.ts.map +1 -1
- package/dist/utility/InfiniteScroll.js +2 -2
- package/dist/utility/WorkflowStep.js +7 -6
- package/package.json +1 -1
- package/src/components/form/Autocomplete/useAutocomplete.ts +17 -0
- package/src/components/form/Checkbox/Checkbox.base.ts +25 -3
- package/src/components/form/Checkbox/Checkbox.md +1 -0
- package/src/components/form/Checkbox/Checkbox.metrics.ts +32 -4
- package/src/components/form/Checkbox/Checkbox.native.tsx +2 -1
- package/src/components/form/Checkbox/Checkbox.tsx +3 -0
- package/src/components/form/Checkbox/Checkbox.types.native.ts +1 -5
- package/src/components/form/Checkbox/Checkbox.types.ts +5 -2
- package/src/components/utility/WorkflowStep/WorkflowStep.helpers.ts +25 -0
- package/src/components/utility/WorkflowStep/WorkflowStep.parts.tsx +46 -49
- package/src/components/utility/WorkflowStep/WorkflowStep.tsx +5 -3
- package/src/components/utility/WorkflowStep/WorkflowStep.types.ts +10 -0
- package/src/components/utility/WorkflowStep/WorkflowStepRow.tsx +1 -0
- package/src/provider/mui-bridge.ts +9 -4
- package/src/tokens/density-overrides.ts +177 -0
- package/src/tokens/density.ts +15 -7
- package/src/tokens/scales.ts +4 -0
- package/dist/chunk-4PRZLII7.js.map +0 -1
- package/dist/chunk-652PYSML.js.map +0 -1
- package/dist/chunk-BR2T72JI.js.map +0 -1
- package/dist/chunk-DJKVSUXH.js.map +0 -1
- package/dist/chunk-KJID4PRD.js.map +0 -1
- package/dist/chunk-TIQXDPIX.js.map +0 -1
- package/dist/chunk-Y2C2S4R7.js.map +0 -1
- /package/dist/{chunk-GZT7MLLO.js.map → chunk-26QYVCDK.js.map} +0 -0
- /package/dist/{chunk-442FSG7G.js.map → chunk-3I77A65F.js.map} +0 -0
- /package/dist/{chunk-R2FUQV24.js.map → chunk-4MGUBSAL.js.map} +0 -0
- /package/dist/{chunk-YIWVHEPW.js.map → chunk-4T5LD2NV.js.map} +0 -0
- /package/dist/{chunk-4CHYMTBT.js.map → chunk-4WCDMCIS.js.map} +0 -0
- /package/dist/{chunk-5KGABAQB.js.map → chunk-5752357K.js.map} +0 -0
- /package/dist/{chunk-JSGVYOMN.js.map → chunk-5MW7OYBM.js.map} +0 -0
- /package/dist/{chunk-RWRPF24F.js.map → chunk-5OS5AMC2.js.map} +0 -0
- /package/dist/{chunk-I6MVJWUO.js.map → chunk-6B3QXFF5.js.map} +0 -0
- /package/dist/{chunk-MLUUF7OZ.js.map → chunk-6B4UTB4O.js.map} +0 -0
- /package/dist/{chunk-FBUCXTA4.js.map → chunk-6DMUVVON.js.map} +0 -0
- /package/dist/{chunk-G7RYAWPZ.js.map → chunk-6HTCCWUM.js.map} +0 -0
- /package/dist/{chunk-77BKKPCI.js.map → chunk-6KLDYVRY.js.map} +0 -0
- /package/dist/{chunk-6Z6PUG4C.js.map → chunk-6LYRFS5S.js.map} +0 -0
- /package/dist/{chunk-K4A3JDYQ.js.map → chunk-6ZWOVUNB.js.map} +0 -0
- /package/dist/{chunk-3RUCLKAK.js.map → chunk-7HZTYK7U.js.map} +0 -0
- /package/dist/{chunk-BKZERHNC.js.map → chunk-7XDET7PL.js.map} +0 -0
- /package/dist/{chunk-OD3L6GX5.js.map → chunk-A7OQBAR7.js.map} +0 -0
- /package/dist/{chunk-2MLS6KU4.js.map → chunk-AEKHSORY.js.map} +0 -0
- /package/dist/{chunk-5DAVXZPY.js.map → chunk-B2WBDMHE.js.map} +0 -0
- /package/dist/{chunk-54HTXJJ2.js.map → chunk-BHE44AQE.js.map} +0 -0
- /package/dist/{chunk-OOB3YWPX.js.map → chunk-BZFRBG2H.js.map} +0 -0
- /package/dist/{chunk-PICOOZLX.js.map → chunk-C5RTSOXD.js.map} +0 -0
- /package/dist/{chunk-GO6XDMBB.js.map → chunk-CIBTYBBN.js.map} +0 -0
- /package/dist/{chunk-ZGWEFOW6.js.map → chunk-CKAVTWXP.js.map} +0 -0
- /package/dist/{chunk-ANYOSBNA.js.map → chunk-CSXK7LH7.js.map} +0 -0
- /package/dist/{chunk-U6DOF5CR.js.map → chunk-CU7ELD43.js.map} +0 -0
- /package/dist/{chunk-XO4ZUHVH.js.map → chunk-CYPBF3BI.js.map} +0 -0
- /package/dist/{chunk-EO5IEWFI.js.map → chunk-DE6A46AE.js.map} +0 -0
- /package/dist/{chunk-3EPA2A4M.js.map → chunk-DJIFXJ4C.js.map} +0 -0
- /package/dist/{chunk-CM2Q7IH3.js.map → chunk-DTLKF4AX.js.map} +0 -0
- /package/dist/{chunk-C6JUGWAU.js.map → chunk-DYCTIOER.js.map} +0 -0
- /package/dist/{chunk-LCWGNDTH.js.map → chunk-EKBUM7HK.js.map} +0 -0
- /package/dist/{chunk-NYT3UVOH.js.map → chunk-EOEYOPOS.js.map} +0 -0
- /package/dist/{chunk-7LILFS72.js.map → chunk-EOKPFMJD.js.map} +0 -0
- /package/dist/{chunk-QSNLIWEB.js.map → chunk-FTV5R2UZ.js.map} +0 -0
- /package/dist/{chunk-NDHDBOUH.js.map → chunk-FWPFCK4D.js.map} +0 -0
- /package/dist/{chunk-ON4TRXCM.js.map → chunk-GHJ2FIJO.js.map} +0 -0
- /package/dist/{chunk-GANW7FXQ.js.map → chunk-GKNMKPR6.js.map} +0 -0
- /package/dist/{chunk-LGCRL7DK.js.map → chunk-GP4BJI3F.js.map} +0 -0
- /package/dist/{chunk-4MKVGSHX.js.map → chunk-HN3PZTUK.js.map} +0 -0
- /package/dist/{chunk-HBP2OU4Q.js.map → chunk-HNFZLXZI.js.map} +0 -0
- /package/dist/{chunk-5FHPZOYK.js.map → chunk-HOIHO2YQ.js.map} +0 -0
- /package/dist/{chunk-3AOOI2NR.js.map → chunk-HR7YTBR7.js.map} +0 -0
- /package/dist/{chunk-PGV2FLE3.js.map → chunk-IG26N6J2.js.map} +0 -0
- /package/dist/{chunk-G2WERTWZ.js.map → chunk-IGGXKT5B.js.map} +0 -0
- /package/dist/{chunk-XLXMJ6X2.js.map → chunk-IO2X6DVH.js.map} +0 -0
- /package/dist/{chunk-3CLBGHTL.js.map → chunk-ITBUKGG3.js.map} +0 -0
- /package/dist/{chunk-6IRJAIS4.js.map → chunk-IXWIJCS3.js.map} +0 -0
- /package/dist/{chunk-TMW7RBW7.js.map → chunk-J6TIK47Z.js.map} +0 -0
- /package/dist/{chunk-G4TKMUOL.js.map → chunk-JDEKR77O.js.map} +0 -0
- /package/dist/{chunk-ITFFA3H2.js.map → chunk-JYLBVHG2.js.map} +0 -0
- /package/dist/{chunk-G7XHJPLO.js.map → chunk-JZ7ZRZTF.js.map} +0 -0
- /package/dist/{chunk-YTVXT5TD.js.map → chunk-K5CCQBNN.js.map} +0 -0
- /package/dist/{chunk-K62RHTFB.js.map → chunk-KNAWZM7F.js.map} +0 -0
- /package/dist/{chunk-AOFI3GDS.js.map → chunk-KPZ53JY6.js.map} +0 -0
- /package/dist/{chunk-4Z2HIHA5.js.map → chunk-KRA75CKC.js.map} +0 -0
- /package/dist/{chunk-RHKT2XW2.js.map → chunk-KUKY5GEX.js.map} +0 -0
- /package/dist/{chunk-HUAQQ5ZL.js.map → chunk-LHHV6NXO.js.map} +0 -0
- /package/dist/{chunk-BJGUDLWZ.js.map → chunk-LRFXCZB4.js.map} +0 -0
- /package/dist/{chunk-U6W2RY3Z.js.map → chunk-MLQYIJTO.js.map} +0 -0
- /package/dist/{chunk-GPHURU2K.js.map → chunk-MSAAOQAD.js.map} +0 -0
- /package/dist/{chunk-3MJHHPRW.js.map → chunk-MVR4GURP.js.map} +0 -0
- /package/dist/{chunk-PRLYYKMG.js.map → chunk-MW7S7WZM.js.map} +0 -0
- /package/dist/{chunk-ERY6D2OV.js.map → chunk-MWPXKZ7O.js.map} +0 -0
- /package/dist/{chunk-ZUME25DS.js.map → chunk-NM2FLCPV.js.map} +0 -0
- /package/dist/{chunk-UP7SSTCZ.js.map → chunk-OAVRXSAS.js.map} +0 -0
- /package/dist/{chunk-VYA4QWQL.js.map → chunk-PJVZY2SA.js.map} +0 -0
- /package/dist/{chunk-SDBBJ6FG.js.map → chunk-PUYJVQ7X.js.map} +0 -0
- /package/dist/{chunk-IUD6N52Q.js.map → chunk-PXGURBIU.js.map} +0 -0
- /package/dist/{chunk-PNDYAIKM.js.map → chunk-Q5J37WOE.js.map} +0 -0
- /package/dist/{chunk-DCT2PKMQ.js.map → chunk-QGB3DOMV.js.map} +0 -0
- /package/dist/{chunk-YGYQC7MT.js.map → chunk-QOLIBVGS.js.map} +0 -0
- /package/dist/{chunk-P6Q2O3TU.js.map → chunk-RNVR3RGV.js.map} +0 -0
- /package/dist/{chunk-SNW5MJ6I.js.map → chunk-RPKWTFJ2.js.map} +0 -0
- /package/dist/{chunk-NPPJ3IJP.js.map → chunk-RRAWJQIO.js.map} +0 -0
- /package/dist/{chunk-H3GYVR7S.js.map → chunk-SM4MT4YC.js.map} +0 -0
- /package/dist/{chunk-5B7BTLN4.js.map → chunk-SOCZLOPJ.js.map} +0 -0
- /package/dist/{chunk-Z4O3F6KU.js.map → chunk-U4QUDFPJ.js.map} +0 -0
- /package/dist/{chunk-KWU62UPM.js.map → chunk-UHGQ74E3.js.map} +0 -0
- /package/dist/{chunk-Z6LTEJ7F.js.map → chunk-VKFZQSQC.js.map} +0 -0
- /package/dist/{chunk-MBNXCCRG.js.map → chunk-VQUPB7F7.js.map} +0 -0
- /package/dist/{chunk-CNR5RFKC.js.map → chunk-VVFV4MXS.js.map} +0 -0
- /package/dist/{chunk-ALOUJ3CE.js.map → chunk-WQ3KTELX.js.map} +0 -0
- /package/dist/{chunk-FY6PONLA.js.map → chunk-WSYPM3SR.js.map} +0 -0
- /package/dist/{chunk-QMELMQPA.js.map → chunk-X4VWYWFK.js.map} +0 -0
- /package/dist/{chunk-5PJM772Y.js.map → chunk-XLQYOBHP.js.map} +0 -0
- /package/dist/{chunk-TCMH3FXD.js.map → chunk-XTDJ2D5A.js.map} +0 -0
- /package/dist/{chunk-F5GXWK6B.js.map → chunk-Y2CMWGIU.js.map} +0 -0
- /package/dist/{chunk-SJGYMI6Y.js.map → chunk-Y4ET3NRC.js.map} +0 -0
- /package/dist/{chunk-FIO55AKI.js.map → chunk-YCHOWWRE.js.map} +0 -0
- /package/dist/{chunk-MM5XSAVE.js.map → chunk-YDIRPKYI.js.map} +0 -0
- /package/dist/{chunk-44Z72DDM.js.map → chunk-YF3VD2KD.js.map} +0 -0
- /package/dist/{chunk-Z4DKVLYG.js.map → chunk-Z3HSRNJT.js.map} +0 -0
- /package/dist/{chunk-5PTCT3LF.js.map → chunk-ZQ7IESR7.js.map} +0 -0
|
@@ -5,15 +5,25 @@
|
|
|
5
5
|
* and a native consumer has no `@mui/material` to resolve a type import
|
|
6
6
|
* against. See `Button.base.ts`.
|
|
7
7
|
*/
|
|
8
|
+
import type { SizeValue } from '../../../tokens/vocabulary';
|
|
8
9
|
export type CheckboxVariant = 'default' | 'rounded' | 'toggle';
|
|
10
|
+
/**
|
|
11
|
+
* MUI's own words for the glyph's size — `CHECKBOX_GLYPH_SIZES` in
|
|
12
|
+
* `Checkbox.metrics.ts` gives each one's pixel value.
|
|
13
|
+
*
|
|
14
|
+
* @deprecated `size` now also accepts `SizeValue` (`'xs' | 'sm' | 'md' | 'lg' |
|
|
15
|
+
* 'xl'`), the house vocabulary every other sized component in the package
|
|
16
|
+
* speaks — translated to this at the MUI boundary by `resolveCheckboxSize`
|
|
17
|
+
* (`Checkbox.metrics.ts`). These words keep working for one release; pass
|
|
18
|
+
* `SizeValue` instead. Removed in the next major version.
|
|
19
|
+
*/
|
|
20
|
+
export type CheckboxSize = 'small' | 'medium' | 'large';
|
|
9
21
|
/**
|
|
10
22
|
* The contract both renderers honour.
|
|
11
23
|
*
|
|
12
24
|
* `checked`, `defaultChecked` and `onChange` are NOT here: MUI types the change
|
|
13
25
|
* as a DOM `ChangeEvent` and the native side synthesises the
|
|
14
|
-
* `{ target: { checked } }` shape those handlers already read.
|
|
15
|
-
* `size`, which this component takes in MUI's own words (`small | medium`)
|
|
16
|
-
* rather than the house scale — narrowing it would reject the callers it has.
|
|
26
|
+
* `{ target: { checked } }` shape those handlers already read.
|
|
17
27
|
*/
|
|
18
28
|
export interface CheckboxBaseProps {
|
|
19
29
|
variant?: CheckboxVariant;
|
|
@@ -30,6 +40,16 @@ export interface CheckboxBaseProps {
|
|
|
30
40
|
/** The third state: neither checked nor unchecked, drawn as a dash. */
|
|
31
41
|
indeterminate?: boolean;
|
|
32
42
|
disabled?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* The size of the box and glyph.
|
|
45
|
+
*
|
|
46
|
+
* `SizeValue` (`'xs' | 'sm' | 'md' | 'lg' | 'xl'`) is the documented house
|
|
47
|
+
* vocabulary every other sized component in the package speaks, translated
|
|
48
|
+
* to MUI's own word at the MUI boundary (`resolveCheckboxSize`, in
|
|
49
|
+
* `Checkbox.metrics.ts`) — the same pattern `Chip`/`Button` already follow.
|
|
50
|
+
* MUI's own words (`CheckboxSize`) still work; see its `@deprecated` note.
|
|
51
|
+
*/
|
|
52
|
+
size?: SizeValue | CheckboxSize;
|
|
33
53
|
testID?: string;
|
|
34
54
|
dataTestId?: string;
|
|
35
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.base.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Checkbox/Checkbox.base.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE/D
|
|
1
|
+
{"version":3,"file":"Checkbox.base.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Checkbox/Checkbox.base.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE/D;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAExD;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uEAAuE;IACvE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { SizeValue } from '../../../tokens/vocabulary';
|
|
2
|
+
import type { CheckboxSize, CheckboxVariant } from './Checkbox.base';
|
|
3
|
+
export type { CheckboxSize } from './Checkbox.base';
|
|
2
4
|
/**
|
|
3
5
|
* THE NUMBERS BOTH `Checkbox` RENDERERS DRAW WITH.
|
|
4
6
|
*
|
|
@@ -11,14 +13,27 @@ import type { CheckboxVariant } from './Checkbox.base';
|
|
|
11
13
|
*/
|
|
12
14
|
/** MUI's `SwitchBase`: 9px of padding around the glyph, at every size. */
|
|
13
15
|
export declare const CHECKBOX_PADDING = 9;
|
|
14
|
-
/**
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
export
|
|
16
|
+
/**
|
|
17
|
+
* `SvgIcon`'s own three steps. MUI passes the `size` prop straight to the
|
|
18
|
+
* glyph. Typed against {@link CheckboxSize} (declared in `Checkbox.base.ts`,
|
|
19
|
+
* the contract file, since it is part of the public prop type) rather than the
|
|
20
|
+
* other way around, so a step added to one and not the other fails here.
|
|
21
|
+
*/
|
|
22
|
+
export declare const CHECKBOX_GLYPH_SIZES: Record<CheckboxSize, number>;
|
|
21
23
|
export declare const glyphSize: (size: CheckboxSize | undefined) => number;
|
|
24
|
+
/**
|
|
25
|
+
* `size` at the MUI boundary.
|
|
26
|
+
*
|
|
27
|
+
* A `SizeValue` is translated via `muiSize()` — the pattern `Chip`/`Button`/
|
|
28
|
+
* `Carousel` already follow. MUI's own deprecated word (see
|
|
29
|
+
* {@link CheckboxSize}) is passed through UNCHANGED rather than re-derived,
|
|
30
|
+
* so a caller who has not migrated renders at exactly the size it always has —
|
|
31
|
+
* translating it through `muiSize()` too would not change any of the three
|
|
32
|
+
* words' own geometry, but passing it through untouched is the one route that
|
|
33
|
+
* cannot drift from what "unchanged" already means. `undefined` stays
|
|
34
|
+
* `undefined`, so a caller who names no size keeps MUI's own default.
|
|
35
|
+
*/
|
|
36
|
+
export declare const resolveCheckboxSize: (size: SizeValue | CheckboxSize | undefined) => CheckboxSize | undefined;
|
|
22
37
|
/**
|
|
23
38
|
* The three glyphs MUI draws, by state.
|
|
24
39
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.metrics.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Checkbox/Checkbox.metrics.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"Checkbox.metrics.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Checkbox/Checkbox.metrics.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAErE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD;;;;;;;;;GASG;AAEH,0EAA0E;AAC1E,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAwC,CAAC;AAEvG,eAAO,MAAM,SAAS,GAAI,MAAM,YAAY,GAAG,SAAS,KAAG,MACY,CAAC;AAExE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,SAAS,GAAG,YAAY,GAAG,SAAS,KACzC,YAAY,GAAG,SAIjB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AAEX;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,eAAe,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAIlG,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C,sEAAsE;AACtE,eAAO,MAAM,gBAAgB;;;CAAqC,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;CAAkF,CAAC;AAC7G,eAAO,MAAM,cAAc;;;;CAAgD,CAAC;AAE5E,uEAAuE;AACvE,eAAO,MAAM,SAAS,GAAI,YAAY,MAAM,KAAG,MAAgD,CAAC;AAEhG,uEAAuE;AACvE,eAAO,MAAM,cAAc;;;CAA2C,CAAC;AAEvE,iEAAiE;AACjE,eAAO,MAAM,eAAe;;;;;CAAuF,CAAC"}
|
|
@@ -12,7 +12,6 @@ import { View, type GestureResponderEvent, type ViewStyle } from 'react-native';
|
|
|
12
12
|
export declare const Checkbox: React.ForwardRefExoticComponent<import("./Checkbox.base").CheckboxBaseProps & Omit<import("react-native").ViewProps, "style" | keyof import("./Checkbox.base").CheckboxBaseProps> & {
|
|
13
13
|
checked?: boolean;
|
|
14
14
|
defaultChecked?: boolean;
|
|
15
|
-
size?: import("./Checkbox.metrics").CheckboxSize;
|
|
16
15
|
onChange?: (event: import("./Checkbox.types.native").CheckboxChangeEvent, checked: boolean) => void;
|
|
17
16
|
onClick?: (event: GestureResponderEvent) => void;
|
|
18
17
|
onPress?: (event: GestureResponderEvent) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.native.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Checkbox/Checkbox.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAML,IAAI,EACJ,KAAK,qBAAqB,EAE1B,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"Checkbox.native.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Checkbox/Checkbox.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAML,IAAI,EACJ,KAAK,qBAAqB,EAE1B,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAmJtB;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ;;;;;;;8BAyDnB,CAAC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import type { GestureResponderEvent, StyleProp, ViewProps, ViewStyle } from 'react-native';
|
|
2
2
|
import type { CheckboxBaseProps } from './Checkbox.base';
|
|
3
|
-
|
|
4
|
-
export type { CheckboxBaseProps, CheckboxVariant } from './Checkbox.base';
|
|
5
|
-
export type { CheckboxSize } from './Checkbox.metrics';
|
|
3
|
+
export type { CheckboxBaseProps, CheckboxSize, CheckboxVariant } from './Checkbox.base';
|
|
6
4
|
/**
|
|
7
5
|
* The change a native `Checkbox` reports: the `{ target: { checked } }` shape
|
|
8
6
|
* MUI's `ChangeEvent` gives, and the resolved flag second, as MUI passes it.
|
|
@@ -16,8 +14,6 @@ export interface CheckboxChangeEvent {
|
|
|
16
14
|
export type CheckboxProps = CheckboxBaseProps & Omit<ViewProps, keyof CheckboxBaseProps | 'style'> & {
|
|
17
15
|
checked?: boolean;
|
|
18
16
|
defaultChecked?: boolean;
|
|
19
|
-
/** MUI's own words for the glyph's size, which is what this component takes. */
|
|
20
|
-
size?: CheckboxSize;
|
|
21
17
|
onChange?: (event: CheckboxChangeEvent, checked: boolean) => void;
|
|
22
18
|
/** Both spellings fire, as `Button`'s do. */
|
|
23
19
|
onClick?: (event: GestureResponderEvent) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.types.native.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Checkbox/Checkbox.types.native.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE3F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"Checkbox.types.native.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Checkbox/Checkbox.types.native.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE3F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAExF;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CAC9B;AAED,6EAA6E;AAC7E,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAC3C,IAAI,CAAC,SAAS,EAAE,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAClE,6CAA6C;IAC7C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACjD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import "../chunk-H7NA4TXY.js";
|
|
2
2
|
import {
|
|
3
3
|
InfiniteScroll
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-5KNDAC24.js";
|
|
4
|
+
} from "../chunk-HNFZLXZI.js";
|
|
6
5
|
import "../chunk-Y2X7LYIN.js";
|
|
6
|
+
import "../chunk-5KNDAC24.js";
|
|
7
7
|
import "../chunk-YKCAJ2TN.js";
|
|
8
8
|
import "../chunk-PZ5AY32C.js";
|
|
9
9
|
export {
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import "../chunk-IO36MEBD.js";
|
|
2
2
|
import {
|
|
3
3
|
WorkflowStep
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-JHW62I7Z.js";
|
|
5
|
+
import "../chunk-Y6RSQEOU.js";
|
|
6
|
+
import "../chunk-6S25ZCEW.js";
|
|
7
|
+
import "../chunk-TM5QQJTF.js";
|
|
8
|
+
import "../chunk-FHWXRHMA.js";
|
|
9
9
|
import "../chunk-7ZPUN7TV.js";
|
|
10
|
-
import "../chunk-
|
|
10
|
+
import "../chunk-2GG5W6LR.js";
|
|
11
|
+
import "../chunk-532XOWZ5.js";
|
|
11
12
|
import "../chunk-PT6TCWIW.js";
|
|
12
13
|
import "../chunk-M47ZOUGF.js";
|
|
13
14
|
import "../chunk-7FDU3FIN.js";
|
package/package.json
CHANGED
|
@@ -245,6 +245,14 @@ function runSelectItem<T>(item: T, p: AutocompleteProps<T>, s: AutocompleteState
|
|
|
245
245
|
// commitMultiSelect already clears inputValue and resets the flag itself,
|
|
246
246
|
// so the empty-input branch of the filter effect keeps the list closed.
|
|
247
247
|
const isSingleSelectPick = isLink || !p.multiple;
|
|
248
|
+
// Cancel a still-pending keystroke debounce BEFORE dispatching the pick, so
|
|
249
|
+
// no branch below — including `openLink`, which never touches `onChange`
|
|
250
|
+
// at all — can leave it armed to fire the STALE pre-pick text later
|
|
251
|
+
// (FUT-2779 #1). `commitSingleSelect`/`commitMultiSelect` already clear it
|
|
252
|
+
// as a side effect of calling the same `debouncedOnChange`; this makes it
|
|
253
|
+
// unconditional so a `link` pick (which skips `onChange` entirely) is
|
|
254
|
+
// covered too.
|
|
255
|
+
if (s.debounceRef.current) window.clearTimeout(s.debounceRef.current);
|
|
248
256
|
commitPick(item, isLink ? (url as string) : null, p, s, onChange);
|
|
249
257
|
s.setOpen(false);
|
|
250
258
|
s.setActiveIndex(-1);
|
|
@@ -347,6 +355,15 @@ export function useAutocomplete<T>(p: AutocompleteProps<T>): AutocompleteView<T>
|
|
|
347
355
|
if (!s.open || s.filteredSuggestions.length === 0) s.setActiveIndex(-1);
|
|
348
356
|
setDeliberateClose(s, false);
|
|
349
357
|
},
|
|
358
|
+
// Unconditionally reopens on a non-empty input, unguarded by
|
|
359
|
+
// `userClosedDropdownRef` — plausible on a touch device that blurs the
|
|
360
|
+
// input on `touchstart` before a tap's own `click`/`mousedown` reaches the
|
|
361
|
+
// option (FUT-2779 #2). Checked under Playwright touch emulation
|
|
362
|
+
// (`hasTouch`/`isMobile` context, both the `.tap()` API and raw CDP
|
|
363
|
+
// `Input.dispatchTouchEvent` at the option's coordinates) against this
|
|
364
|
+
// Chromium build: `document.activeElement` never left the input across
|
|
365
|
+
// the touch, so the reopen never happened — not reproduced, left
|
|
366
|
+
// unguarded per the ticket's decision rather than fixed blind.
|
|
350
367
|
onFocus: (): void => {
|
|
351
368
|
s.setIsInputFocused(true);
|
|
352
369
|
setDeliberateClose(s, false);
|
|
@@ -5,16 +5,28 @@
|
|
|
5
5
|
* and a native consumer has no `@mui/material` to resolve a type import
|
|
6
6
|
* against. See `Button.base.ts`.
|
|
7
7
|
*/
|
|
8
|
+
import type { SizeValue } from '../../../tokens/vocabulary';
|
|
9
|
+
|
|
8
10
|
export type CheckboxVariant = 'default' | 'rounded' | 'toggle';
|
|
9
11
|
|
|
12
|
+
/**
|
|
13
|
+
* MUI's own words for the glyph's size — `CHECKBOX_GLYPH_SIZES` in
|
|
14
|
+
* `Checkbox.metrics.ts` gives each one's pixel value.
|
|
15
|
+
*
|
|
16
|
+
* @deprecated `size` now also accepts `SizeValue` (`'xs' | 'sm' | 'md' | 'lg' |
|
|
17
|
+
* 'xl'`), the house vocabulary every other sized component in the package
|
|
18
|
+
* speaks — translated to this at the MUI boundary by `resolveCheckboxSize`
|
|
19
|
+
* (`Checkbox.metrics.ts`). These words keep working for one release; pass
|
|
20
|
+
* `SizeValue` instead. Removed in the next major version.
|
|
21
|
+
*/
|
|
22
|
+
export type CheckboxSize = 'small' | 'medium' | 'large';
|
|
23
|
+
|
|
10
24
|
/**
|
|
11
25
|
* The contract both renderers honour.
|
|
12
26
|
*
|
|
13
27
|
* `checked`, `defaultChecked` and `onChange` are NOT here: MUI types the change
|
|
14
28
|
* as a DOM `ChangeEvent` and the native side synthesises the
|
|
15
|
-
* `{ target: { checked } }` shape those handlers already read.
|
|
16
|
-
* `size`, which this component takes in MUI's own words (`small | medium`)
|
|
17
|
-
* rather than the house scale — narrowing it would reject the callers it has.
|
|
29
|
+
* `{ target: { checked } }` shape those handlers already read.
|
|
18
30
|
*/
|
|
19
31
|
export interface CheckboxBaseProps {
|
|
20
32
|
variant?: CheckboxVariant;
|
|
@@ -31,6 +43,16 @@ export interface CheckboxBaseProps {
|
|
|
31
43
|
/** The third state: neither checked nor unchecked, drawn as a dash. */
|
|
32
44
|
indeterminate?: boolean;
|
|
33
45
|
disabled?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* The size of the box and glyph.
|
|
48
|
+
*
|
|
49
|
+
* `SizeValue` (`'xs' | 'sm' | 'md' | 'lg' | 'xl'`) is the documented house
|
|
50
|
+
* vocabulary every other sized component in the package speaks, translated
|
|
51
|
+
* to MUI's own word at the MUI boundary (`resolveCheckboxSize`, in
|
|
52
|
+
* `Checkbox.metrics.ts`) — the same pattern `Chip`/`Button` already follow.
|
|
53
|
+
* MUI's own words (`CheckboxSize`) still work; see its `@deprecated` note.
|
|
54
|
+
*/
|
|
55
|
+
size?: SizeValue | CheckboxSize;
|
|
34
56
|
testID?: string;
|
|
35
57
|
dataTestId?: string;
|
|
36
58
|
}
|
|
@@ -55,6 +55,7 @@ import { Checkbox } from '@/components/form/Checkbox';
|
|
|
55
55
|
| glow | `boolean` | `false` | Enable glow animation |
|
|
56
56
|
| pulse | `boolean` | `false` | Enable pulse animation |
|
|
57
57
|
| disabled | `boolean` | `false` | Disable the checkbox |
|
|
58
|
+
| size | `'xs' \| 'sm' \| 'md' \| 'lg' \| 'xl'` | MUI's `'medium'` | The house size vocabulary, translated to MUI's own size at the boundary. MUI's own words (`'small' \| 'medium' \| 'large'`) still work but are **deprecated** — migrate to the house vocabulary; removed in the next major version. |
|
|
58
59
|
| data-testid | `string` | - | Custom test ID for testing |
|
|
59
60
|
|
|
60
61
|
Plus all standard MUI Checkbox props (checked, onChange, indeterminate, etc.)
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { alpha } from '../../../tokens/color';
|
|
2
2
|
import { EFFECT_GLOW } from '../../../tokens/ink.core';
|
|
3
|
+
import { muiSize } from '../../../tokens/vocabulary';
|
|
4
|
+
import type { SizeValue } from '../../../tokens/vocabulary';
|
|
3
5
|
|
|
4
|
-
import type { CheckboxVariant } from './Checkbox.base';
|
|
6
|
+
import type { CheckboxSize, CheckboxVariant } from './Checkbox.base';
|
|
7
|
+
|
|
8
|
+
export type { CheckboxSize } from './Checkbox.base';
|
|
5
9
|
|
|
6
10
|
/**
|
|
7
11
|
* THE NUMBERS BOTH `Checkbox` RENDERERS DRAW WITH.
|
|
@@ -17,13 +21,37 @@ import type { CheckboxVariant } from './Checkbox.base';
|
|
|
17
21
|
/** MUI's `SwitchBase`: 9px of padding around the glyph, at every size. */
|
|
18
22
|
export const CHECKBOX_PADDING = 9;
|
|
19
23
|
|
|
20
|
-
/**
|
|
21
|
-
|
|
22
|
-
|
|
24
|
+
/**
|
|
25
|
+
* `SvgIcon`'s own three steps. MUI passes the `size` prop straight to the
|
|
26
|
+
* glyph. Typed against {@link CheckboxSize} (declared in `Checkbox.base.ts`,
|
|
27
|
+
* the contract file, since it is part of the public prop type) rather than the
|
|
28
|
+
* other way around, so a step added to one and not the other fails here.
|
|
29
|
+
*/
|
|
30
|
+
export const CHECKBOX_GLYPH_SIZES: Record<CheckboxSize, number> = { small: 20, medium: 24, large: 35 };
|
|
23
31
|
|
|
24
32
|
export const glyphSize = (size: CheckboxSize | undefined): number =>
|
|
25
33
|
CHECKBOX_GLYPH_SIZES[size ?? 'medium'] ?? CHECKBOX_GLYPH_SIZES.medium;
|
|
26
34
|
|
|
35
|
+
/**
|
|
36
|
+
* `size` at the MUI boundary.
|
|
37
|
+
*
|
|
38
|
+
* A `SizeValue` is translated via `muiSize()` — the pattern `Chip`/`Button`/
|
|
39
|
+
* `Carousel` already follow. MUI's own deprecated word (see
|
|
40
|
+
* {@link CheckboxSize}) is passed through UNCHANGED rather than re-derived,
|
|
41
|
+
* so a caller who has not migrated renders at exactly the size it always has —
|
|
42
|
+
* translating it through `muiSize()` too would not change any of the three
|
|
43
|
+
* words' own geometry, but passing it through untouched is the one route that
|
|
44
|
+
* cannot drift from what "unchanged" already means. `undefined` stays
|
|
45
|
+
* `undefined`, so a caller who names no size keeps MUI's own default.
|
|
46
|
+
*/
|
|
47
|
+
export const resolveCheckboxSize = (
|
|
48
|
+
size: SizeValue | CheckboxSize | undefined,
|
|
49
|
+
): CheckboxSize | undefined => {
|
|
50
|
+
if (size === undefined) return undefined;
|
|
51
|
+
if (size === 'small' || size === 'medium' || size === 'large') return size;
|
|
52
|
+
return muiSize(size);
|
|
53
|
+
};
|
|
54
|
+
|
|
27
55
|
/**
|
|
28
56
|
* The three glyphs MUI draws, by state.
|
|
29
57
|
*
|
|
@@ -22,6 +22,7 @@ import {
|
|
|
22
22
|
CHECKBOX_VARIANT,
|
|
23
23
|
effectInk,
|
|
24
24
|
glyphSize,
|
|
25
|
+
resolveCheckboxSize,
|
|
25
26
|
} from './Checkbox.metrics';
|
|
26
27
|
import type { CheckboxProps } from './Checkbox.types.native';
|
|
27
28
|
import { Icon } from '../../../icons/Icon.native';
|
|
@@ -199,7 +200,7 @@ export const Checkbox = React.forwardRef<View, CheckboxProps>((rawProps, ref) =>
|
|
|
199
200
|
glow={glow}
|
|
200
201
|
ripple={ripple}
|
|
201
202
|
variant={variant}
|
|
202
|
-
size={glyphSize(size)}
|
|
203
|
+
size={glyphSize(resolveCheckboxSize(size))}
|
|
203
204
|
label={label}
|
|
204
205
|
onToggle={toggle}
|
|
205
206
|
rest={withoutTestIdProps(others) as Record<string, unknown>}
|
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
CHECKBOX_TRANSITION_MS,
|
|
18
18
|
CHECKBOX_VARIANT,
|
|
19
19
|
effectInk,
|
|
20
|
+
resolveCheckboxSize,
|
|
20
21
|
} from './Checkbox.metrics';
|
|
21
22
|
import type { CheckboxProps } from './Checkbox.types';
|
|
22
23
|
import { splitTestId } from '../../../platform/test-id';
|
|
@@ -126,6 +127,7 @@ export const Checkbox = React.forwardRef<HTMLButtonElement, CheckboxProps>(
|
|
|
126
127
|
glow,
|
|
127
128
|
pulse,
|
|
128
129
|
disabled,
|
|
130
|
+
size,
|
|
129
131
|
...others
|
|
130
132
|
} = resolveCheckboxProps(rawProps);
|
|
131
133
|
const theme = useTheme();
|
|
@@ -142,6 +144,7 @@ export const Checkbox = React.forwardRef<HTMLButtonElement, CheckboxProps>(
|
|
|
142
144
|
glow={glow}
|
|
143
145
|
pulse={pulse}
|
|
144
146
|
disabled={isDisabled}
|
|
147
|
+
size={resolveCheckboxSize(size)}
|
|
145
148
|
data-testid={dataTestId || 'checkbox'}
|
|
146
149
|
{...props}
|
|
147
150
|
/>
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import type { GestureResponderEvent, StyleProp, ViewProps, ViewStyle } from 'react-native';
|
|
2
2
|
|
|
3
3
|
import type { CheckboxBaseProps } from './Checkbox.base';
|
|
4
|
-
import type { CheckboxSize } from './Checkbox.metrics';
|
|
5
4
|
|
|
6
|
-
export type { CheckboxBaseProps, CheckboxVariant } from './Checkbox.base';
|
|
7
|
-
export type { CheckboxSize } from './Checkbox.metrics';
|
|
5
|
+
export type { CheckboxBaseProps, CheckboxSize, CheckboxVariant } from './Checkbox.base';
|
|
8
6
|
|
|
9
7
|
/**
|
|
10
8
|
* The change a native `Checkbox` reports: the `{ target: { checked } }` shape
|
|
@@ -19,8 +17,6 @@ export type CheckboxProps = CheckboxBaseProps &
|
|
|
19
17
|
Omit<ViewProps, keyof CheckboxBaseProps | 'style'> & {
|
|
20
18
|
checked?: boolean;
|
|
21
19
|
defaultChecked?: boolean;
|
|
22
|
-
/** MUI's own words for the glyph's size, which is what this component takes. */
|
|
23
|
-
size?: CheckboxSize;
|
|
24
20
|
onChange?: (event: CheckboxChangeEvent, checked: boolean) => void;
|
|
25
21
|
/** Both spellings fire, as `Button`'s do. */
|
|
26
22
|
onClick?: (event: GestureResponderEvent) => void;
|
|
@@ -3,12 +3,15 @@ import type { ChangeEvent, FocusEventHandler, MouseEventHandler } from 'react';
|
|
|
3
3
|
|
|
4
4
|
import type { CheckboxBaseProps } from './Checkbox.base';
|
|
5
5
|
|
|
6
|
-
export type { CheckboxBaseProps, CheckboxVariant } from './Checkbox.base';
|
|
6
|
+
export type { CheckboxBaseProps, CheckboxSize, CheckboxVariant } from './Checkbox.base';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* The web `Checkbox`: the shared contract, plus everything MUI's `Checkbox`
|
|
10
10
|
* accepts that the contract does not already name — `checked`,
|
|
11
|
-
* `defaultChecked`, `
|
|
11
|
+
* `defaultChecked`, `color`, `icon`, `inputProps`, `sx`. `size` IS already
|
|
12
|
+
* named by the contract (`CheckboxBaseProps`), which is why it is omitted
|
|
13
|
+
* from what flows through here — MUI's own `size` type would otherwise win
|
|
14
|
+
* over the house `SizeValue` the contract adds.
|
|
12
15
|
*/
|
|
13
16
|
export interface CheckboxProps
|
|
14
17
|
extends CheckboxBaseProps,
|
|
@@ -172,3 +172,28 @@ export const progressValueText = (
|
|
|
172
172
|
const step = steps[currentStep];
|
|
173
173
|
return step === undefined ? position : `${position}: ${step.title}`;
|
|
174
174
|
};
|
|
175
|
+
|
|
176
|
+
export interface ProgressValueRange {
|
|
177
|
+
max?: number;
|
|
178
|
+
now?: number;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* The progressbar's `aria-valuemax`/`aria-valuenow` pair (FUT-2773). With no
|
|
183
|
+
* steps at all there is no meaningful range to report — a `role="progressbar"`
|
|
184
|
+
* with zero steps has nothing to measure, and WAI-ARIA's own value attributes
|
|
185
|
+
* are optional for exactly this case (an indeterminate progressbar omits
|
|
186
|
+
* `aria-valuenow`) — so both are left out rather than asserting the invalid
|
|
187
|
+
* range `aria-valuemax={-1}` with `aria-valuenow={0}`. Otherwise `currentStep`
|
|
188
|
+
* is clamped to `[0, steps.length - 1]` so the reported value never falls
|
|
189
|
+
* outside `[aria-valuemin, aria-valuemax]`, however far `currentStep` strays.
|
|
190
|
+
*/
|
|
191
|
+
export const progressValueRange = (
|
|
192
|
+
steps: readonly WorkflowStepItem[],
|
|
193
|
+
currentStep: number,
|
|
194
|
+
): ProgressValueRange => {
|
|
195
|
+
if (steps.length === 0) return {};
|
|
196
|
+
|
|
197
|
+
const max = steps.length - 1;
|
|
198
|
+
return { max, now: Math.min(Math.max(currentStep, 0), max) };
|
|
199
|
+
};
|
|
@@ -123,14 +123,17 @@ const StepContent = styled(Box, {
|
|
|
123
123
|
orientation: WorkflowStepProps['orientation'];
|
|
124
124
|
interactive: boolean;
|
|
125
125
|
disabled: boolean;
|
|
126
|
-
}>(({ theme, orientation,
|
|
126
|
+
}>(({ theme, orientation, disabled }) => ({
|
|
127
127
|
display: 'flex',
|
|
128
128
|
flexDirection: 'column',
|
|
129
129
|
alignItems: orientation === 'vertical' ? 'flex-start' : 'center',
|
|
130
130
|
textAlign: orientation === 'vertical' ? 'left' : 'center',
|
|
131
131
|
marginTop: orientation === 'vertical' ? theme.spacing(1) : theme.spacing(0.5),
|
|
132
132
|
marginLeft: orientation === 'horizontal' ? theme.spacing(1) : 0,
|
|
133
|
-
|
|
133
|
+
// Inert (FUT-2773): the content block has no click handling of its own —
|
|
134
|
+
// the indicator is the step's one interactive element — so its cursor
|
|
135
|
+
// never claims to be clickable, whatever `interactive` says.
|
|
136
|
+
cursor: 'default',
|
|
134
137
|
minWidth: 0,
|
|
135
138
|
flex: 1,
|
|
136
139
|
|
|
@@ -160,26 +163,27 @@ const StepContent = styled(Box, {
|
|
|
160
163
|
}));
|
|
161
164
|
|
|
162
165
|
const StepConnector = styled(Box, {
|
|
163
|
-
shouldForwardProp: (prop) => !['orientation', 'isCompleted', 'color', 'variant'].includes(prop as string),
|
|
166
|
+
shouldForwardProp: (prop) => !['orientation', 'isCompleted', 'color', 'variant', 'animated'].includes(prop as string),
|
|
164
167
|
})<{
|
|
165
168
|
orientation: WorkflowStepProps['orientation'];
|
|
166
169
|
isCompleted: boolean;
|
|
167
170
|
color: WorkflowStepProps['color'];
|
|
168
171
|
variant: WorkflowStepProps['variant'];
|
|
169
|
-
|
|
172
|
+
animated: boolean;
|
|
173
|
+
}>(({ theme, orientation, isCompleted, color, variant, animated }) => {
|
|
170
174
|
const connectorColor = isCompleted ? stepPalette(theme, color).main : neutralTones(theme).track;
|
|
171
175
|
|
|
172
176
|
return {
|
|
173
177
|
flex: 1,
|
|
174
178
|
position: 'relative',
|
|
175
|
-
|
|
179
|
+
|
|
176
180
|
...(orientation === 'horizontal' && {
|
|
177
181
|
height: rem(theme, 2),
|
|
178
182
|
backgroundColor: connectorColor,
|
|
179
183
|
margin: `0 ${theme.spacing(1)}`,
|
|
180
184
|
minWidth: theme.spacing(2),
|
|
181
185
|
}),
|
|
182
|
-
|
|
186
|
+
|
|
183
187
|
...(orientation === 'vertical' && {
|
|
184
188
|
width: rem(theme, 2),
|
|
185
189
|
backgroundColor: connectorColor,
|
|
@@ -191,9 +195,11 @@ const StepConnector = styled(Box, {
|
|
|
191
195
|
top: '100%',
|
|
192
196
|
}),
|
|
193
197
|
|
|
194
|
-
transition:
|
|
195
|
-
|
|
196
|
-
|
|
198
|
+
transition: animated
|
|
199
|
+
? theme.transitions.create('background-color', {
|
|
200
|
+
duration: theme.transitions.duration.short,
|
|
201
|
+
})
|
|
202
|
+
: 'none',
|
|
197
203
|
|
|
198
204
|
...(variant === 'minimal' && {
|
|
199
205
|
opacity: 0.6,
|
|
@@ -223,6 +229,8 @@ const StepIndicatorComponent = forwardRef<HTMLDivElement, StepIndicatorProps>(({
|
|
|
223
229
|
onClick,
|
|
224
230
|
'data-testid': dataTestId,
|
|
225
231
|
}, ref) => {
|
|
232
|
+
const isDisabled = Boolean(disabled || step.disabled);
|
|
233
|
+
|
|
226
234
|
const handleClick = useCallback(() => {
|
|
227
235
|
if (interactive && !disabled && onClick) {
|
|
228
236
|
onClick(index, step);
|
|
@@ -265,13 +273,14 @@ const StepIndicatorComponent = forwardRef<HTMLDivElement, StepIndicatorProps>(({
|
|
|
265
273
|
isError={isError}
|
|
266
274
|
interactive={interactive}
|
|
267
275
|
animated={animated}
|
|
268
|
-
disabled={
|
|
276
|
+
disabled={isDisabled}
|
|
269
277
|
onClick={handleClick}
|
|
270
278
|
onKeyDown={handleKeyDown}
|
|
271
279
|
role={interactive ? 'button' : undefined}
|
|
272
|
-
tabIndex={interactive
|
|
280
|
+
tabIndex={!interactive ? undefined : isDisabled ? -1 : 0}
|
|
273
281
|
aria-label={`Step ${index + 1}: ${step.title}`}
|
|
274
282
|
aria-current={isActive ? 'step' : undefined}
|
|
283
|
+
aria-disabled={interactive && isDisabled ? true : undefined}
|
|
275
284
|
data-testid={dataTestId}
|
|
276
285
|
>
|
|
277
286
|
{renderIndicatorContent()}
|
|
@@ -289,6 +298,10 @@ const StepConnectorComponent = forwardRef<HTMLDivElement, StepConnectorProps>(({
|
|
|
289
298
|
orientation,
|
|
290
299
|
variant,
|
|
291
300
|
color,
|
|
301
|
+
// Defaults to the connector's own prior, unconditional behaviour (FUT-2773):
|
|
302
|
+
// an external caller building a `StepConnectorProps` value that predates
|
|
303
|
+
// this field keeps the transition it always had.
|
|
304
|
+
animated = true,
|
|
292
305
|
'data-testid': dataTestId,
|
|
293
306
|
}, ref) => (
|
|
294
307
|
<StepConnector
|
|
@@ -297,6 +310,7 @@ const StepConnectorComponent = forwardRef<HTMLDivElement, StepConnectorProps>(({
|
|
|
297
310
|
isCompleted={isCompleted}
|
|
298
311
|
color={color}
|
|
299
312
|
variant={variant}
|
|
313
|
+
animated={animated}
|
|
300
314
|
data-testid={dataTestId}
|
|
301
315
|
/>
|
|
302
316
|
));
|
|
@@ -304,51 +318,34 @@ const StepConnectorComponent = forwardRef<HTMLDivElement, StepConnectorProps>(({
|
|
|
304
318
|
StepConnectorComponent.displayName = 'StepConnector';
|
|
305
319
|
|
|
306
320
|
/**
|
|
307
|
-
* Step content component
|
|
321
|
+
* Step content component.
|
|
322
|
+
*
|
|
323
|
+
* Inert on purpose (FUT-2773): the indicator is the step's one focusable
|
|
324
|
+
* `role="button"` element — it already carries `aria-label="Step N: <title>"`
|
|
325
|
+
* — so the title/description block gets no `role`, `tabIndex`, click or key
|
|
326
|
+
* handling of its own. Two independently-interactive elements per step gave
|
|
327
|
+
* assistive tech two tab stops for what a caller means as a single control.
|
|
308
328
|
*/
|
|
309
329
|
const StepContentComponent = forwardRef<HTMLDivElement, StepContentProps>(({
|
|
310
330
|
step,
|
|
311
|
-
index,
|
|
312
331
|
orientation,
|
|
313
332
|
interactive,
|
|
314
333
|
disabled,
|
|
315
|
-
onClick,
|
|
316
334
|
'data-testid': dataTestId,
|
|
317
|
-
}, ref) =>
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
}, [interactive, disabled, onClick, index, step]);
|
|
332
|
-
|
|
333
|
-
return (
|
|
334
|
-
<StepContent
|
|
335
|
-
ref={ref}
|
|
336
|
-
orientation={orientation}
|
|
337
|
-
interactive={interactive}
|
|
338
|
-
disabled={Boolean(disabled || step.disabled)}
|
|
339
|
-
onClick={handleClick}
|
|
340
|
-
onKeyDown={handleKeyDown}
|
|
341
|
-
role={interactive ? 'button' : undefined}
|
|
342
|
-
tabIndex={interactive && !disabled && !step.disabled ? 0 : -1}
|
|
343
|
-
data-testid={dataTestId}
|
|
344
|
-
>
|
|
345
|
-
<div className="step-title">{step.title}</div>
|
|
346
|
-
{step.description && (
|
|
347
|
-
<div className="step-description">{step.description}</div>
|
|
348
|
-
)}
|
|
349
|
-
</StepContent>
|
|
350
|
-
);
|
|
351
|
-
});
|
|
335
|
+
}, ref) => (
|
|
336
|
+
<StepContent
|
|
337
|
+
ref={ref}
|
|
338
|
+
orientation={orientation}
|
|
339
|
+
interactive={interactive}
|
|
340
|
+
disabled={Boolean(disabled || step.disabled)}
|
|
341
|
+
data-testid={dataTestId}
|
|
342
|
+
>
|
|
343
|
+
<div className="step-title">{step.title}</div>
|
|
344
|
+
{step.description && (
|
|
345
|
+
<div className="step-description">{step.description}</div>
|
|
346
|
+
)}
|
|
347
|
+
</StepContent>
|
|
348
|
+
));
|
|
352
349
|
|
|
353
350
|
StepContentComponent.displayName = 'StepContent';
|
|
354
351
|
|