@12-apps/ui 6.21.0 → 6.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NATIVE.md +6 -4
- package/components-catalog.md +7 -0
- package/dist/_internal/components/data-display/Alert/Alert.js +4 -4
- package/dist/_internal/components/data-display/Alert/Alert.styles.js +2 -2
- package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +8 -8
- package/dist/_internal/components/data-display/Badge/Badge.js +3 -3
- package/dist/_internal/components/data-display/CardKit/CardKebab.js +4 -4
- package/dist/_internal/components/data-display/CardKit/card-actions-context.js +5 -5
- package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +9 -9
- package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +4 -4
- package/dist/_internal/components/data-display/Chart/Chart.js +3 -3
- package/dist/_internal/components/data-display/Chart/SpecChart.js +5 -5
- package/dist/_internal/components/data-display/Chart/chart-renderers.js +2 -2
- package/dist/_internal/components/data-display/Chip/Chip.js +3 -3
- package/dist/_internal/components/data-display/Chip/Chip.styles.js +2 -2
- package/dist/_internal/components/data-display/DataGrid/DataGrid.js +2 -2
- package/dist/_internal/components/data-display/DataViews/DataViewsBoard.js +3 -3
- package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +50 -50
- package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +68 -65
- package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +10 -7
- package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +11 -8
- package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +14 -11
- package/dist/_internal/components/data-display/DataViews/base-card.js +9 -7
- package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +7 -7
- package/dist/_internal/components/data-display/DataViews/base-list-card-gutters.js +3 -3
- package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +6 -6
- package/dist/_internal/components/data-display/DataViews/base-list-card.js +15 -13
- package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +12 -12
- package/dist/_internal/components/data-display/DataViews/data-views-columns-tab.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-columns.js +5 -5
- package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +8 -8
- package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-empty.js +5 -5
- package/dist/_internal/components/data-display/DataViews/data-views-export.js +5 -5
- package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +15 -15
- package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +12 -12
- package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +4 -4
- package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +46 -46
- package/dist/_internal/components/data-display/DataViews/data-views-header-row.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +21 -21
- package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +6 -6
- package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +9 -9
- package/dist/_internal/components/data-display/DataViews/data-views-pagination.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +2 -2
- package/dist/_internal/components/data-display/DataViews/data-views-select-all-strip.js +5 -5
- package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +13 -13
- package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +21 -18
- package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +12 -12
- package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +5 -5
- package/dist/_internal/components/data-display/DataViews/list-card-rails.js +2 -2
- package/dist/_internal/components/data-display/DataViews/save-view-preview.js +3 -3
- package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +7 -7
- package/dist/_internal/components/data-display/DescriptionItem/DescriptionItem.js +3 -3
- package/dist/_internal/components/data-display/EmptyState/EmptyState.js +2 -2
- package/dist/_internal/components/data-display/ErrorState/ErrorState.js +2 -2
- package/dist/_internal/components/data-display/FleetMap/FleetBody.js +31 -0
- package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +23 -0
- package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js.map +1 -0
- package/dist/_internal/components/data-display/FleetMap/FleetMap.fixtures.js +57 -0
- package/dist/_internal/components/data-display/FleetMap/FleetMap.fixtures.js.map +1 -0
- package/dist/_internal/components/data-display/FleetMap/FleetMap.helpers.js +14 -0
- package/dist/_internal/components/data-display/FleetMap/FleetMap.helpers.js.map +1 -0
- package/dist/_internal/components/data-display/FleetMap/FleetMap.hooks.js +9 -0
- package/dist/_internal/components/data-display/FleetMap/FleetMap.hooks.js.map +1 -0
- package/dist/_internal/components/data-display/FleetMap/FleetMap.js +46 -0
- package/dist/_internal/components/data-display/FleetMap/FleetMap.js.map +1 -0
- package/dist/_internal/components/data-display/FleetMap/FleetMap.types.js +1 -0
- package/dist/_internal/components/data-display/FleetMap/FleetMap.types.js.map +1 -0
- package/dist/_internal/components/data-display/FleetMap/FleetRoster.js +14 -0
- package/dist/_internal/components/data-display/FleetMap/FleetRoster.js.map +1 -0
- package/dist/_internal/components/data-display/LazyImage/LazyImage.js +4 -4
- package/dist/_internal/components/data-display/Lightbox/Lightbox.js +1 -1
- package/dist/_internal/components/data-display/LoadingState/LoadingState.js +4 -4
- package/dist/_internal/components/data-display/MapPreview/MapDecorations.js +2 -2
- package/dist/_internal/components/data-display/MapPreview/MapPreview.hooks.js +2 -2
- package/dist/_internal/components/data-display/MapPreview/MapPreview.js +7 -7
- package/dist/_internal/components/data-display/MapPreview/MapTiles.js +2 -2
- package/dist/_internal/components/data-display/MapPreview/StaticMapView.js +4 -4
- package/dist/_internal/components/data-display/MapPreview/useMapPreview.js +3 -3
- package/dist/_internal/components/data-display/Progress/Progress.js +2 -2
- package/dist/_internal/components/data-display/SectionOnboarding/SectionOnboarding.js +3 -3
- package/dist/_internal/components/data-display/Sheet/Sheet.js +3 -3
- package/dist/_internal/components/data-display/StatCard/StatCard.js +4 -4
- package/dist/_internal/components/data-display/Table/Table.js +2 -2
- package/dist/_internal/components/data-display/index.js +88 -68
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +4 -4
- package/dist/_internal/components/feedback/Dialog/Dialog.base.js +1 -0
- package/dist/_internal/components/feedback/Dialog/Dialog.base.js.map +1 -0
- package/dist/_internal/components/feedback/Dialog/Dialog.helpers.js +12 -0
- package/dist/_internal/components/feedback/Dialog/Dialog.helpers.js.map +1 -0
- package/dist/_internal/components/feedback/Dialog/Dialog.js +6 -2
- package/dist/_internal/components/feedback/Dialog/Dialog.metrics.js +42 -0
- package/dist/_internal/components/feedback/Dialog/Dialog.metrics.js.map +1 -0
- package/dist/_internal/components/feedback/Dialog/Dialog.styles.js +3 -1
- package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.js +2 -2
- package/dist/_internal/components/feedback/index.js +16 -13
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.hooks.js +3 -3
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +7 -7
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +3 -3
- package/dist/_internal/components/form/Autocomplete/Autocomplete.js +2 -2
- package/dist/_internal/components/form/Button/Button.js +3 -3
- package/dist/_internal/components/form/Calendar/Calendar.js +4 -4
- package/dist/_internal/components/form/Calendar/CalendarDayCell.js +2 -2
- package/dist/_internal/components/form/Calendar/CalendarMonth.js +3 -3
- package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +5 -5
- package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +3 -3
- package/dist/_internal/components/form/CategorySelect/CategoryRows.js +2 -2
- package/dist/_internal/components/form/CategorySelect/CategorySelect.js +10 -10
- package/dist/_internal/components/form/CepField/CepField.js +4 -4
- package/dist/_internal/components/form/Checkbox/Checkbox.js +2 -2
- package/dist/_internal/components/form/CodeEditor/CodeEditor.js +2 -2
- package/dist/_internal/components/form/Command/Command.js +2 -2
- package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +6 -6
- package/dist/_internal/components/form/Input/Input.js +3 -3
- package/dist/_internal/components/form/Label/Label.js +2 -2
- package/dist/_internal/components/form/Menubar/Menubar.js +5 -5
- package/dist/_internal/components/form/Menubar/Menubar.toolbar.js +2 -2
- package/dist/_internal/components/form/PhoneInput/PhoneInput.hooks.js +2 -2
- package/dist/_internal/components/form/PhoneInput/PhoneInput.js +3 -3
- package/dist/_internal/components/form/Select/Select.js +2 -2
- package/dist/_internal/components/form/Switch/Switch.js +2 -2
- package/dist/_internal/components/form/index.js +55 -55
- package/dist/_internal/components/form/total-form/Fields/CategoryField.js +11 -11
- package/dist/_internal/components/form/total-form/Fields/CepField.js +5 -5
- package/dist/_internal/components/form/total-form/Fields/SelectField.js +3 -3
- package/dist/_internal/components/form/total-form/Fields/TextField.js +4 -4
- package/dist/_internal/components/form/total-form/Fields/index.js +25 -25
- package/dist/_internal/components/form/total-form/SubmitButton.js +4 -4
- package/dist/_internal/components/index.js +198 -175
- package/dist/_internal/components/layout/Box/Box.js +2 -2
- package/dist/_internal/components/layout/Card/Card.base.js +1 -0
- package/dist/_internal/components/layout/Card/Card.base.js.map +1 -0
- package/dist/_internal/components/layout/Card/Card.helpers.js +1 -1
- package/dist/_internal/components/layout/Card/Card.js +6 -3
- package/dist/_internal/components/layout/Card/Card.metrics.js +44 -0
- package/dist/_internal/components/layout/Card/Card.metrics.js.map +1 -0
- package/dist/_internal/components/layout/Card/Card.styles.js +3 -1
- package/dist/_internal/components/layout/Container/Container.js +2 -2
- package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.js +2 -2
- package/dist/_internal/components/layout/Skeleton/Skeleton.js +3 -3
- package/dist/_internal/components/layout/Spacer/Spacer.js +2 -2
- package/dist/_internal/components/layout/Stack/Stack.js +3 -3
- package/dist/_internal/components/layout/index.js +30 -28
- package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +12 -9
- package/dist/_internal/components/navigation/CommandPalette/CommandPalette.js +2 -2
- package/dist/_internal/components/navigation/Pagination/Pagination.js +2 -2
- package/dist/_internal/components/navigation/index.js +22 -19
- package/dist/_internal/components/typography/Heading/Heading.js +2 -2
- package/dist/_internal/components/typography/Paragraph/Paragraph.js +2 -2
- package/dist/_internal/components/typography/Text/Text.js +2 -2
- package/dist/_internal/components/typography/index.js +4 -4
- package/dist/_internal/components/utility/InfiniteScroll/InfiniteScroll.js +2 -2
- package/dist/_internal/components/utility/InstallPrompt/InstallPrompt.js +2 -2
- package/dist/_internal/components/utility/index.js +8 -8
- package/dist/_internal/icons/Icon.js +2 -2
- package/dist/_internal/platform/test-id.js +3 -1
- package/dist/_internal/pt-BR.data-display.js +2 -2
- package/dist/_internal/social-login-button/social-login-button.js +11 -9
- package/dist/_internal/tokens/mui-type.js +1 -0
- package/dist/_internal/tokens/mui-type.js.map +1 -1
- package/dist/_internal/tokens/shadow.js +18 -0
- package/dist/_internal/tokens/shadow.js.map +1 -0
- package/dist/_internal/user-avatar/user-avatar.js +10 -8
- package/dist/charts.js +6 -6
- package/dist/{chunk-NUE774AN.js → chunk-25R3ITGZ.js} +2 -2
- package/dist/{chunk-Z6UEOSL7.js → chunk-2FDBR77W.js} +3 -3
- package/dist/{chunk-IFNK5TPI.js → chunk-2HPP6RVC.js} +2 -2
- package/dist/chunk-2RQINU5T.js +41 -0
- package/dist/chunk-2RQINU5T.js.map +1 -0
- package/dist/{chunk-GCXYCDOA.js → chunk-2UGJIKVA.js} +2 -2
- package/dist/{chunk-26Z7QWID.js → chunk-343TTIHD.js} +2 -2
- package/dist/{chunk-BRSF5NRT.js → chunk-3FLVIVOK.js} +4 -4
- package/dist/{chunk-BDVNAU2C.js → chunk-4523RYE7.js} +5 -5
- package/dist/{chunk-4ETQRBZC.js → chunk-46UPILLK.js} +4 -4
- package/dist/{chunk-WMALDOF5.js → chunk-4G3FGCWX.js} +4 -4
- package/dist/{chunk-I3MDKPGG.js → chunk-4IVOHL32.js} +2 -2
- package/dist/{chunk-SAHQLXNN.js → chunk-4LRFGB3K.js} +4 -4
- package/dist/{chunk-ZOUWHGV3.js → chunk-4MGFUPQT.js} +4 -4
- package/dist/{chunk-TLX66HCW.js → chunk-4OHRZW7U.js} +5 -5
- package/dist/{chunk-2QFTAGDH.js → chunk-4X4KM4ZB.js} +4 -4
- package/dist/{chunk-7ZH7ZB33.js → chunk-4XZXLB4I.js} +4 -4
- package/dist/{chunk-6PRA45LC.js → chunk-5KEMPCW4.js} +54 -45
- package/dist/chunk-5KEMPCW4.js.map +1 -0
- package/dist/{chunk-77F36LQQ.js → chunk-5OIH36KX.js} +3 -3
- package/dist/chunk-5V4UPOWK.js +36 -0
- package/dist/chunk-5V4UPOWK.js.map +1 -0
- package/dist/{chunk-GDEXYUPF.js → chunk-67L7HMEP.js} +2 -2
- package/dist/{chunk-ZFPJBKVZ.js → chunk-6JGPPTLX.js} +5 -5
- package/dist/chunk-6Q6T3FW5.js +92 -0
- package/dist/chunk-6Q6T3FW5.js.map +1 -0
- package/dist/chunk-73BEVJCS.js +28 -0
- package/dist/chunk-73BEVJCS.js.map +1 -0
- package/dist/{chunk-VIK3HAUQ.js → chunk-73NJCGQG.js} +2 -2
- package/dist/{chunk-D4T646G4.js → chunk-7NSX7A5H.js} +2 -2
- package/dist/{chunk-QS7ZGRNS.js → chunk-7VN7LFBA.js} +6 -6
- package/dist/{chunk-3UOHKHOT.js → chunk-ACFGEZ4Q.js} +3 -3
- package/dist/{chunk-GBNOYRLP.js → chunk-AEGXHZQT.js} +8 -8
- package/dist/{chunk-D2IASECY.js → chunk-AIRWM7KK.js} +39 -28
- package/dist/chunk-AIRWM7KK.js.map +1 -0
- package/dist/{chunk-BEH4DN63.js → chunk-AJGYHDA5.js} +6 -6
- package/dist/{chunk-65DLYC4S.js → chunk-AVGTTWTE.js} +4 -4
- package/dist/{chunk-PXH24VIP.js → chunk-B6IURHSZ.js} +4 -4
- package/dist/chunk-BEBLRL5D.js +177 -0
- package/dist/chunk-BEBLRL5D.js.map +1 -0
- package/dist/{chunk-XEE7PLDR.js → chunk-BZTFPSWT.js} +4 -4
- package/dist/{chunk-B3BK2SNS.js → chunk-C3CMEDSO.js} +2 -2
- package/dist/{chunk-OH3YGJT5.js → chunk-CBTY36TU.js} +2 -2
- package/dist/chunk-CDCTLPMD.js +1 -0
- package/dist/chunk-CDCTLPMD.js.map +1 -0
- package/dist/chunk-CF3FAAPC.js +79 -0
- package/dist/chunk-CF3FAAPC.js.map +1 -0
- package/dist/{chunk-JIINGMEB.js → chunk-CHPZTF34.js} +7 -7
- package/dist/{chunk-PWXL3QQ6.js → chunk-CJBBGMIA.js} +2 -2
- package/dist/{chunk-BPYPUEM5.js → chunk-CZJLWCEG.js} +2 -2
- package/dist/{chunk-FPWB5ILF.js → chunk-DRHIIUDO.js} +5 -5
- package/dist/{chunk-BEGWE5O4.js → chunk-DTC224UJ.js} +4 -4
- package/dist/{chunk-UB76PBDF.js → chunk-DVFIE54C.js} +2 -2
- package/dist/{chunk-GO4MVQGC.js → chunk-DW5FRWRQ.js} +2 -2
- package/dist/{chunk-6Z4H2Y77.js → chunk-E27Y7FF2.js} +4 -4
- package/dist/{chunk-PANMJFDS.js → chunk-E55CJV65.js} +2 -2
- package/dist/{chunk-JXAYT6LX.js → chunk-EJQW2IYW.js} +2 -2
- package/dist/{chunk-TPIBJP4S.js → chunk-EOHKZGOZ.js} +2 -2
- package/dist/{chunk-MSUSZLRE.js → chunk-EWT3WMVY.js} +5 -5
- package/dist/chunk-F7VBGS4C.js +64 -0
- package/dist/chunk-F7VBGS4C.js.map +1 -0
- package/dist/{chunk-DH75UNF3.js → chunk-FGK2C7JR.js} +2 -2
- package/dist/{chunk-RI5JZLZL.js → chunk-FKUYRQSP.js} +1 -1
- package/dist/chunk-FKUYRQSP.js.map +1 -0
- package/dist/{chunk-AD776JPA.js → chunk-FR67FG2U.js} +2 -2
- package/dist/{chunk-SHQWIDD5.js → chunk-GJQYM3PM.js} +4 -4
- package/dist/{chunk-7KTU6YMQ.js → chunk-GMTM6EN7.js} +5 -5
- package/dist/{chunk-WROCSDVL.js → chunk-GSFNH4C5.js} +5 -5
- package/dist/{chunk-PF5HDFYY.js → chunk-GVA5CYKP.js} +4 -4
- package/dist/chunk-GYXUCS37.js +36 -0
- package/dist/chunk-GYXUCS37.js.map +1 -0
- package/dist/{chunk-Z5ABJLTM.js → chunk-HFXTAEYY.js} +2 -2
- package/dist/{chunk-FOMK3WPG.js → chunk-HLYPI5CO.js} +4 -4
- package/dist/{chunk-VR5HDUBK.js → chunk-HP2ODXNA.js} +2 -2
- package/dist/{chunk-GBRKP5GZ.js → chunk-I5SBTNV2.js} +2 -2
- package/dist/{chunk-TP4N3X2Q.js → chunk-IPVYEPXO.js} +5 -5
- package/dist/{chunk-RRO2EOJB.js → chunk-JB67KPGM.js} +4 -4
- package/dist/{chunk-5ZOJLYD2.js → chunk-JE6RZ5L6.js} +4 -4
- package/dist/{chunk-4HYXEMBP.js → chunk-JIKWZDNK.js} +2 -2
- package/dist/{chunk-4MLDWACO.js → chunk-JM64OEU6.js} +12 -12
- package/dist/{chunk-2QLVUVVR.js → chunk-JSH3HFDQ.js} +2 -2
- package/dist/{chunk-TZ4SFX3M.js → chunk-JWW2Z3RH.js} +4 -4
- package/dist/{chunk-QFHH2NU5.js → chunk-JXNT5TUP.js} +3 -3
- package/dist/{chunk-FINCVAAR.js → chunk-KHWCX4LI.js} +4 -4
- package/dist/{chunk-THZ2NAA4.js → chunk-KW7H5O3K.js} +7 -7
- package/dist/{chunk-XLJJ2ZAP.js → chunk-L4U23SBX.js} +11 -11
- package/dist/{chunk-ZXLIWOXC.js → chunk-LS4FMSHY.js} +5 -5
- package/dist/{chunk-SFAP5EH5.js → chunk-LUMF63BM.js} +4 -4
- package/dist/{chunk-CZPU5TW3.js → chunk-LYSSO6WC.js} +4 -4
- package/dist/{chunk-736HP6BL.js → chunk-M4LQRQFL.js} +2 -2
- package/dist/{chunk-426FTCMF.js → chunk-MESRKY67.js} +2 -2
- package/dist/{chunk-B5PYBEXO.js → chunk-MP4VSWHK.js} +2 -2
- package/dist/chunk-MQNKRIGC.js +205 -0
- package/dist/chunk-MQNKRIGC.js.map +1 -0
- package/dist/{chunk-UOPQOBQZ.js → chunk-MYGNIFZC.js} +3 -3
- package/dist/{chunk-6RGWDKUL.js → chunk-N2TUX4A5.js} +4 -4
- package/dist/{chunk-VWGR5XUP.js → chunk-NWNSUHEB.js} +2 -2
- package/dist/{chunk-4K7FDVAB.js → chunk-O3336DJ6.js} +2 -2
- package/dist/{chunk-YCCKY5VW.js → chunk-OFOYMZRY.js} +4 -4
- package/dist/{chunk-OCXCH2ZW.js → chunk-OIKQO73C.js} +7 -7
- package/dist/{chunk-QZDBWXZG.js → chunk-OP65D4UR.js} +2 -2
- package/dist/{chunk-MCRIT46W.js → chunk-OTH7H3IP.js} +5 -5
- package/dist/{chunk-BQQONDW5.js → chunk-OVLNF4AZ.js} +6 -6
- package/dist/{chunk-AGYGNNOM.js → chunk-PQECNGDE.js} +2 -2
- package/dist/{chunk-IIROZKW5.js → chunk-PRUSQQDT.js} +2 -2
- package/dist/{chunk-IPE5FFFD.js → chunk-PUBPZOQJ.js} +2 -2
- package/dist/{chunk-FB36IHCE.js → chunk-QFVFHIHE.js} +8 -8
- package/dist/{chunk-V5P5Q6HM.js → chunk-QJRDDVZ2.js} +3 -3
- package/dist/{chunk-WBKWIFXA.js → chunk-QYNCPS5W.js} +6 -6
- package/dist/{chunk-VPHOSIPB.js → chunk-R6SNYC3D.js} +10 -10
- package/dist/{chunk-STH66VLA.js → chunk-R7R3LOKW.js} +2 -2
- package/dist/{chunk-W2UTDN4T.js → chunk-RBGOGTT2.js} +4 -4
- package/dist/chunk-RQWZYD6H.js +1 -0
- package/dist/chunk-RQWZYD6H.js.map +1 -0
- package/dist/{chunk-VWBWKLXX.js → chunk-SX3V2DLV.js} +4 -4
- package/dist/{chunk-P7FQUGED.js → chunk-TNVO2DTB.js} +5 -5
- package/dist/{chunk-WTIOCG4M.js → chunk-TOYEP23N.js} +2 -2
- package/dist/{chunk-G2IPK2XE.js → chunk-TPLKJHNN.js} +8 -8
- package/dist/{chunk-U2AC4AQX.js → chunk-TU5EIKJA.js} +4 -4
- package/dist/{chunk-ZGHIHEND.js → chunk-TW3BXVEU.js} +2 -2
- package/dist/chunk-TWQYDKCA.js +113 -0
- package/dist/chunk-TWQYDKCA.js.map +1 -0
- package/dist/{chunk-BGYLL467.js → chunk-TXHJX2NG.js} +4 -4
- package/dist/{chunk-6F5IKY32.js → chunk-TYJR4GOF.js} +6 -2
- package/dist/{chunk-6F5IKY32.js.map → chunk-TYJR4GOF.js.map} +1 -1
- package/dist/{chunk-5RQ7N63M.js → chunk-TZDDL3DR.js} +2 -2
- package/dist/{chunk-RPQ3W2C6.js → chunk-U2ZDN2AL.js} +2 -2
- package/dist/{chunk-WPZT2JD4.js → chunk-U7Q2Y6WG.js} +2 -2
- package/dist/{chunk-E46PG577.js → chunk-URXT5TOY.js} +4 -4
- package/dist/chunk-VM3HRSAU.js +79 -0
- package/dist/chunk-VM3HRSAU.js.map +1 -0
- package/dist/{chunk-P6IPJYCS.js → chunk-VNNG46TS.js} +6 -6
- package/dist/{chunk-CXVMD6FE.js → chunk-VON4BFK4.js} +3 -3
- package/dist/{chunk-2SWQ6HIK.js → chunk-W3FAKT3D.js} +4 -4
- package/dist/{chunk-JDMYD6QC.js → chunk-W4SDVTZC.js} +2 -2
- package/dist/{chunk-7MAOQIWA.js → chunk-W4YWU7LQ.js} +2 -2
- package/dist/{chunk-Y46RBFBV.js → chunk-W7Y6RA6W.js} +6 -6
- package/dist/{chunk-XFU2S6XT.js → chunk-WGRS4PGY.js} +10 -10
- package/dist/{chunk-OOGEYCJH.js → chunk-WIT3Y7JT.js} +2 -2
- package/dist/{chunk-KT6HWAEN.js → chunk-WQA4LIIK.js} +4 -4
- package/dist/{chunk-J2KSG754.js → chunk-WRDPWEIC.js} +5 -5
- package/dist/{chunk-RPWEXIAW.js → chunk-X5MPHXG5.js} +6 -6
- package/dist/{chunk-UEIVXFUC.js → chunk-XELVDPKL.js} +5 -5
- package/dist/{chunk-RRZBATXK.js → chunk-XKV5ZIBG.js} +3 -3
- package/dist/{chunk-ZKFYBC6G.js → chunk-XSF6AXEU.js} +2 -2
- package/dist/{chunk-R6RVBYTU.js → chunk-XUJG2HFW.js} +3 -3
- package/dist/{chunk-S5LE2ARG.js → chunk-YANLN6HP.js} +66 -56
- package/dist/chunk-YANLN6HP.js.map +1 -0
- package/dist/{chunk-FRQ4HNGF.js → chunk-YJ4HM25H.js} +2 -2
- package/dist/{chunk-TVO5STZB.js → chunk-YQ6TNHAC.js} +3 -3
- package/dist/{chunk-BNNSO4MC.js → chunk-YTOYMJPM.js} +5 -5
- package/dist/{chunk-IH4RSRQA.js → chunk-ZA4U5GDU.js} +6 -6
- package/dist/data-display/Alert.js +4 -4
- package/dist/data-display/AsyncStateContainer.js +8 -8
- package/dist/data-display/Badge.js +3 -3
- package/dist/data-display/CardKit.js +13 -13
- package/dist/data-display/Chart.js +6 -6
- package/dist/data-display/Chip.js +3 -3
- package/dist/data-display/DataGrid.js +2 -2
- package/dist/data-display/DataViews.js +84 -80
- package/dist/data-display/DescriptionItem.js +3 -3
- package/dist/data-display/EmptyState.js +2 -2
- package/dist/data-display/ErrorState.js +2 -2
- package/dist/data-display/FleetMap.js +54 -0
- package/dist/data-display/FleetMap.js.map +1 -0
- package/dist/data-display/LazyImage.js +4 -4
- package/dist/data-display/Lightbox.js +1 -1
- package/dist/data-display/LoadingState.js +4 -4
- package/dist/data-display/MapPreview.js +7 -7
- package/dist/data-display/Progress.js +2 -2
- package/dist/data-display/SectionOnboarding.js +3 -3
- package/dist/data-display/Sheet.js +3 -3
- package/dist/data-display/StatCard.js +4 -4
- package/dist/data-display/Table.js +2 -2
- package/dist/feedback/ConfirmAction.js +4 -4
- package/dist/feedback/Dialog.js +6 -2
- package/dist/feedback/TutorialOverlay.js +2 -2
- package/dist/form/AddressAutocomplete.js +7 -7
- package/dist/form/Autocomplete.js +2 -2
- package/dist/form/Button.js +3 -3
- package/dist/form/Calendar.js +4 -4
- package/dist/form/CategorySelect.js +10 -10
- package/dist/form/CepField.js +4 -4
- package/dist/form/Checkbox.js +2 -2
- package/dist/form/CodeEditor.js +2 -2
- package/dist/form/Command.js +2 -2
- package/dist/form/DateRangePicker.js +11 -11
- package/dist/form/Input.js +3 -3
- package/dist/form/Label.js +2 -2
- package/dist/form/Menubar.js +5 -5
- package/dist/form/PhoneInput.js +3 -3
- package/dist/form/Select.js +2 -2
- package/dist/form/Switch.js +2 -2
- package/dist/form/total-form.js +30 -30
- package/dist/icons.js +2 -2
- package/dist/layout/Box.js +2 -2
- package/dist/layout/Card.js +6 -3
- package/dist/layout/Container.js +2 -2
- package/dist/layout/ContentToolbar.js +3 -3
- package/dist/layout/SettingsLayout.js +2 -2
- package/dist/layout/Skeleton.js +3 -3
- package/dist/layout/Spacer.js +2 -2
- package/dist/layout/Stack.js +3 -3
- package/dist/locales.js +4 -4
- package/dist/native/chunks/{chunk-HSIND52T.js → chunk-2UFNPDYT.js} +2 -1
- package/dist/native/chunks/chunk-2UFNPDYT.js.map +1 -0
- package/dist/native/chunks/{chunk-OGWPPQL4.js → chunk-75JQYVDZ.js} +3 -3
- package/dist/native/chunks/{chunk-WKMDCNIN.js → chunk-7LTVGW23.js} +2 -2
- package/dist/native/chunks/{chunk-QZAUOHDQ.js → chunk-AR5O4BEY.js} +6 -2
- package/dist/native/chunks/{chunk-QZAUOHDQ.js.map → chunk-AR5O4BEY.js.map} +1 -1
- package/dist/native/chunks/{chunk-RJVM5YDE.js → chunk-ATS7STZJ.js} +4 -4
- package/dist/native/chunks/{chunk-YTHR4Y5P.js → chunk-GWGIWQO7.js} +2 -2
- package/dist/native/chunks/{chunk-P3PL4WBO.js → chunk-LEMMXZFN.js} +24 -24
- package/dist/native/chunks/{chunk-P3PL4WBO.js.map → chunk-LEMMXZFN.js.map} +1 -1
- package/dist/native/chunks/chunk-NRN37A5K.js +67 -0
- package/dist/native/chunks/chunk-NRN37A5K.js.map +1 -0
- package/dist/native/chunks/{chunk-D4EYAXNG.js → chunk-QYUD3S6F.js} +5 -5
- package/dist/native/data-display/Alert.js +8 -8
- package/dist/native/data-display/Avatar.js +7 -7
- package/dist/native/data-display/Badge.js +8 -8
- package/dist/native/data-display/Chip.js +4 -4
- package/dist/native/data-display/EmptyState.js +11 -11
- package/dist/native/data-display/ErrorState.js +11 -11
- package/dist/native/data-display/LoadingState.js +7 -7
- package/dist/native/data-display/Progress.js +3 -3
- package/dist/native/feedback/Dialog.js +496 -0
- package/dist/native/feedback/Dialog.js.map +1 -0
- package/dist/native/form/Button.js +4 -4
- package/dist/native/form/Checkbox.js +5 -5
- package/dist/native/form/Input.js +5 -5
- package/dist/native/form/Select.js +6 -6
- package/dist/native/form/Switch.js +3 -3
- package/dist/native/icons.js +4 -4
- package/dist/native/layout/Box.js +4 -4
- package/dist/native/layout/Card.js +494 -0
- package/dist/native/layout/Card.js.map +1 -0
- package/dist/native/layout/Container.js +3 -3
- package/dist/native/layout/Skeleton.js +6 -6
- package/dist/native/layout/Spacer.js +3 -3
- package/dist/native/layout/Stack.js +4 -4
- package/dist/native/provider.js +2 -2
- package/dist/native/tokens.js +1 -1
- package/dist/native/typography/Heading.js +3 -3
- package/dist/native/typography/Paragraph.js +3 -3
- package/dist/native/typography/Text.js +3 -3
- package/dist/navigation/AppHeader.js +14 -11
- package/dist/navigation/CommandPalette.js +2 -2
- package/dist/navigation/Pagination.js +2 -2
- package/dist/pt-BR.js +4 -4
- package/dist/social-login-button.js +11 -9
- package/dist/types/components/data-display/FleetMap/FleetBody.d.ts +22 -0
- package/dist/types/components/data-display/FleetMap/FleetBody.d.ts.map +1 -0
- package/dist/types/components/data-display/FleetMap/FleetCanvas.d.ts +50 -0
- package/dist/types/components/data-display/FleetMap/FleetCanvas.d.ts.map +1 -0
- package/dist/types/components/data-display/FleetMap/FleetMap.d.ts +32 -0
- package/dist/types/components/data-display/FleetMap/FleetMap.d.ts.map +1 -0
- package/dist/types/components/data-display/FleetMap/FleetMap.fixtures.d.ts +23 -0
- package/dist/types/components/data-display/FleetMap/FleetMap.fixtures.d.ts.map +1 -0
- package/dist/types/components/data-display/FleetMap/FleetMap.helpers.d.ts +45 -0
- package/dist/types/components/data-display/FleetMap/FleetMap.helpers.d.ts.map +1 -0
- package/dist/types/components/data-display/FleetMap/FleetMap.hooks.d.ts +54 -0
- package/dist/types/components/data-display/FleetMap/FleetMap.hooks.d.ts.map +1 -0
- package/dist/types/components/data-display/FleetMap/FleetMap.types.d.ts +145 -0
- package/dist/types/components/data-display/FleetMap/FleetMap.types.d.ts.map +1 -0
- package/dist/types/components/data-display/FleetMap/FleetRoster.d.ts +15 -0
- package/dist/types/components/data-display/FleetMap/FleetRoster.d.ts.map +1 -0
- package/dist/types/components/data-display/FleetMap/index.d.ts +5 -0
- package/dist/types/components/data-display/FleetMap/index.d.ts.map +1 -0
- package/dist/types/components/data-display/index.d.ts +1 -0
- package/dist/types/components/data-display/index.d.ts.map +1 -1
- package/dist/types/components/feedback/Dialog/Dialog.base.d.ts +64 -0
- package/dist/types/components/feedback/Dialog/Dialog.base.d.ts.map +1 -0
- package/dist/types/components/feedback/Dialog/Dialog.d.ts.map +1 -1
- package/dist/types/components/feedback/Dialog/Dialog.helpers.d.ts +35 -0
- package/dist/types/components/feedback/Dialog/Dialog.helpers.d.ts.map +1 -0
- package/dist/types/components/feedback/Dialog/Dialog.metrics.d.ts +133 -0
- package/dist/types/components/feedback/Dialog/Dialog.metrics.d.ts.map +1 -0
- package/dist/types/components/feedback/Dialog/Dialog.styles.d.ts +4 -4
- package/dist/types/components/feedback/Dialog/Dialog.styles.d.ts.map +1 -1
- package/dist/types/components/feedback/Dialog/Dialog.types.d.ts +8 -41
- package/dist/types/components/feedback/Dialog/Dialog.types.d.ts.map +1 -1
- package/dist/types/components/feedback/Dialog/index.d.ts +1 -1
- package/dist/types/components/feedback/Dialog/index.d.ts.map +1 -1
- package/dist/types/components/layout/Card/Card.base.d.ts +77 -0
- package/dist/types/components/layout/Card/Card.base.d.ts.map +1 -0
- package/dist/types/components/layout/Card/Card.d.ts.map +1 -1
- package/dist/types/components/layout/Card/Card.helpers.d.ts +8 -3
- package/dist/types/components/layout/Card/Card.helpers.d.ts.map +1 -1
- package/dist/types/components/layout/Card/Card.metrics.d.ts +182 -0
- package/dist/types/components/layout/Card/Card.metrics.d.ts.map +1 -0
- package/dist/types/components/layout/Card/Card.styles.d.ts +2 -2
- package/dist/types/components/layout/Card/Card.styles.d.ts.map +1 -1
- package/dist/types/components/layout/Card/Card.types.d.ts +10 -44
- package/dist/types/components/layout/Card/Card.types.d.ts.map +1 -1
- package/dist/types/components/layout/Card/index.d.ts +1 -1
- package/dist/types/components/layout/Card/index.d.ts.map +1 -1
- package/dist/types/platform/test-id.d.ts +14 -0
- package/dist/types/platform/test-id.d.ts.map +1 -1
- package/dist/types/tokens/mui-type.d.ts +1 -1
- package/dist/types/tokens/mui-type.d.ts.map +1 -1
- package/dist/types/tokens/shadow.d.ts +40 -0
- package/dist/types/tokens/shadow.d.ts.map +1 -0
- package/dist/types-native/components/feedback/Dialog/Dialog.base.d.ts +64 -0
- package/dist/types-native/components/feedback/Dialog/Dialog.base.d.ts.map +1 -0
- package/dist/types-native/components/feedback/Dialog/Dialog.helpers.d.ts +35 -0
- package/dist/types-native/components/feedback/Dialog/Dialog.helpers.d.ts.map +1 -0
- package/dist/types-native/components/feedback/Dialog/Dialog.look.native.d.ts +44 -0
- package/dist/types-native/components/feedback/Dialog/Dialog.look.native.d.ts.map +1 -0
- package/dist/types-native/components/feedback/Dialog/Dialog.metrics.d.ts +133 -0
- package/dist/types-native/components/feedback/Dialog/Dialog.metrics.d.ts.map +1 -0
- package/dist/types-native/components/feedback/Dialog/Dialog.native.d.ts +8 -0
- package/dist/types-native/components/feedback/Dialog/Dialog.native.d.ts.map +1 -0
- package/dist/types-native/components/feedback/Dialog/Dialog.types.native.d.ts +25 -0
- package/dist/types-native/components/feedback/Dialog/Dialog.types.native.d.ts.map +1 -0
- package/dist/types-native/components/feedback/Dialog/DialogParts.native.d.ts +39 -0
- package/dist/types-native/components/feedback/Dialog/DialogParts.native.d.ts.map +1 -0
- package/dist/types-native/components/feedback/Dialog/index.native.d.ts +4 -0
- package/dist/types-native/components/feedback/Dialog/index.native.d.ts.map +1 -0
- package/dist/types-native/components/layout/Card/Card.base.d.ts +77 -0
- package/dist/types-native/components/layout/Card/Card.base.d.ts.map +1 -0
- package/dist/types-native/components/layout/Card/Card.helpers.d.ts +11 -0
- package/dist/types-native/components/layout/Card/Card.helpers.d.ts.map +1 -0
- package/dist/types-native/components/layout/Card/Card.look.native.d.ts +57 -0
- package/dist/types-native/components/layout/Card/Card.look.native.d.ts.map +1 -0
- package/dist/types-native/components/layout/Card/Card.metrics.d.ts +182 -0
- package/dist/types-native/components/layout/Card/Card.metrics.d.ts.map +1 -0
- package/dist/types-native/components/layout/Card/Card.native.d.ts +11 -0
- package/dist/types-native/components/layout/Card/Card.native.d.ts.map +1 -0
- package/dist/types-native/components/layout/Card/Card.types.native.d.ts +28 -0
- package/dist/types-native/components/layout/Card/Card.types.native.d.ts.map +1 -0
- package/dist/types-native/components/layout/Card/CardParts.native.d.ts +55 -0
- package/dist/types-native/components/layout/Card/CardParts.native.d.ts.map +1 -0
- package/dist/types-native/components/layout/Card/index.native.d.ts +4 -0
- package/dist/types-native/components/layout/Card/index.native.d.ts.map +1 -0
- package/dist/types-native/platform/pulse-ring.native.d.ts +35 -0
- package/dist/types-native/platform/pulse-ring.native.d.ts.map +1 -0
- package/dist/types-native/platform/test-id.d.ts +14 -0
- package/dist/types-native/platform/test-id.d.ts.map +1 -1
- package/dist/types-native/tokens/mui-type.d.ts +1 -1
- package/dist/types-native/tokens/mui-type.d.ts.map +1 -1
- package/dist/types-native/tokens/shadow.d.ts +40 -0
- package/dist/types-native/tokens/shadow.d.ts.map +1 -0
- package/dist/typography/Heading.js +2 -2
- package/dist/typography/Paragraph.js +2 -2
- package/dist/typography/Text.js +2 -2
- package/dist/user-avatar.js +10 -8
- package/dist/utility/InfiniteScroll.js +2 -2
- package/dist/utility/InstallPrompt.js +2 -2
- package/package.json +13 -1
- package/src/components/data-display/CardKit/NATIVE-NOTES.md +48 -0
- package/src/components/data-display/FleetMap/FleetBody.tsx +96 -0
- package/src/components/data-display/FleetMap/FleetCanvas.tsx +80 -0
- package/src/components/data-display/FleetMap/FleetMap.fixtures.ts +70 -0
- package/src/components/data-display/FleetMap/FleetMap.helpers.ts +85 -0
- package/src/components/data-display/FleetMap/FleetMap.hooks.ts +164 -0
- package/src/components/data-display/FleetMap/FleetMap.md +182 -0
- package/src/components/data-display/FleetMap/FleetMap.tsx +169 -0
- package/src/components/data-display/FleetMap/FleetMap.types.ts +148 -0
- package/src/components/data-display/FleetMap/FleetRoster.tsx +321 -0
- package/src/components/data-display/FleetMap/index.ts +9 -0
- package/src/components/data-display/FleetMap/tests.md +79 -0
- package/src/components/data-display/FleetMap/track.md +50 -0
- package/src/components/data-display/index.ts +1 -0
- package/src/components/feedback/ConfirmAction/ConfirmAction.md +10 -4
- package/src/components/feedback/Dialog/Dialog.base.ts +69 -0
- package/src/components/feedback/Dialog/Dialog.helpers.ts +75 -0
- package/src/components/feedback/Dialog/Dialog.look.native.ts +159 -0
- package/src/components/feedback/Dialog/Dialog.metrics.ts +140 -0
- package/src/components/feedback/Dialog/Dialog.native.tsx +149 -0
- package/src/components/feedback/Dialog/Dialog.styles.ts +63 -41
- package/src/components/feedback/Dialog/Dialog.tsx +58 -74
- package/src/components/feedback/Dialog/Dialog.types.native.ts +46 -0
- package/src/components/feedback/Dialog/Dialog.types.ts +24 -41
- package/src/components/feedback/Dialog/DialogParts.native.tsx +257 -0
- package/src/components/feedback/Dialog/NATIVE-NOTES.md +16 -0
- package/src/components/feedback/Dialog/index.native.ts +16 -0
- package/src/components/feedback/Dialog/index.ts +8 -2
- package/src/components/layout/Card/Card.base.ts +92 -0
- package/src/components/layout/Card/Card.helpers.ts +13 -7
- package/src/components/layout/Card/Card.look.native.ts +204 -0
- package/src/components/layout/Card/Card.metrics.ts +171 -0
- package/src/components/layout/Card/Card.native.tsx +130 -0
- package/src/components/layout/Card/Card.styles.ts +88 -48
- package/src/components/layout/Card/Card.tsx +41 -25
- package/src/components/layout/Card/Card.types.native.ts +59 -0
- package/src/components/layout/Card/Card.types.ts +30 -45
- package/src/components/layout/Card/CardParts.native.tsx +262 -0
- package/src/components/layout/Card/NATIVE-NOTES.md +15 -0
- package/src/components/layout/Card/index.native.ts +18 -0
- package/src/components/layout/Card/index.ts +9 -0
- package/src/platform/pulse-ring.native.tsx +82 -0
- package/src/platform/test-id.ts +17 -0
- package/src/tokens/mui-type.ts +2 -1
- package/src/tokens/shadow.ts +59 -0
- package/dist/chunk-6PRA45LC.js.map +0 -1
- package/dist/chunk-D2IASECY.js.map +0 -1
- package/dist/chunk-RI5JZLZL.js.map +0 -1
- package/dist/chunk-S5LE2ARG.js.map +0 -1
- package/dist/chunk-VMF3UXM4.js +0 -137
- package/dist/chunk-VMF3UXM4.js.map +0 -1
- package/dist/chunk-X3HL5C6H.js +0 -1
- package/dist/native/chunks/chunk-HSIND52T.js.map +0 -1
- /package/dist/{chunk-X3HL5C6H.js.map → _internal/components/data-display/FleetMap/FleetBody.js.map} +0 -0
- /package/dist/{chunk-NUE774AN.js.map → chunk-25R3ITGZ.js.map} +0 -0
- /package/dist/{chunk-Z6UEOSL7.js.map → chunk-2FDBR77W.js.map} +0 -0
- /package/dist/{chunk-IFNK5TPI.js.map → chunk-2HPP6RVC.js.map} +0 -0
- /package/dist/{chunk-GCXYCDOA.js.map → chunk-2UGJIKVA.js.map} +0 -0
- /package/dist/{chunk-26Z7QWID.js.map → chunk-343TTIHD.js.map} +0 -0
- /package/dist/{chunk-BRSF5NRT.js.map → chunk-3FLVIVOK.js.map} +0 -0
- /package/dist/{chunk-BDVNAU2C.js.map → chunk-4523RYE7.js.map} +0 -0
- /package/dist/{chunk-4ETQRBZC.js.map → chunk-46UPILLK.js.map} +0 -0
- /package/dist/{chunk-WMALDOF5.js.map → chunk-4G3FGCWX.js.map} +0 -0
- /package/dist/{chunk-I3MDKPGG.js.map → chunk-4IVOHL32.js.map} +0 -0
- /package/dist/{chunk-SAHQLXNN.js.map → chunk-4LRFGB3K.js.map} +0 -0
- /package/dist/{chunk-ZOUWHGV3.js.map → chunk-4MGFUPQT.js.map} +0 -0
- /package/dist/{chunk-TLX66HCW.js.map → chunk-4OHRZW7U.js.map} +0 -0
- /package/dist/{chunk-2QFTAGDH.js.map → chunk-4X4KM4ZB.js.map} +0 -0
- /package/dist/{chunk-7ZH7ZB33.js.map → chunk-4XZXLB4I.js.map} +0 -0
- /package/dist/{chunk-77F36LQQ.js.map → chunk-5OIH36KX.js.map} +0 -0
- /package/dist/{chunk-GDEXYUPF.js.map → chunk-67L7HMEP.js.map} +0 -0
- /package/dist/{chunk-ZFPJBKVZ.js.map → chunk-6JGPPTLX.js.map} +0 -0
- /package/dist/{chunk-VIK3HAUQ.js.map → chunk-73NJCGQG.js.map} +0 -0
- /package/dist/{chunk-D4T646G4.js.map → chunk-7NSX7A5H.js.map} +0 -0
- /package/dist/{chunk-QS7ZGRNS.js.map → chunk-7VN7LFBA.js.map} +0 -0
- /package/dist/{chunk-3UOHKHOT.js.map → chunk-ACFGEZ4Q.js.map} +0 -0
- /package/dist/{chunk-GBNOYRLP.js.map → chunk-AEGXHZQT.js.map} +0 -0
- /package/dist/{chunk-BEH4DN63.js.map → chunk-AJGYHDA5.js.map} +0 -0
- /package/dist/{chunk-65DLYC4S.js.map → chunk-AVGTTWTE.js.map} +0 -0
- /package/dist/{chunk-PXH24VIP.js.map → chunk-B6IURHSZ.js.map} +0 -0
- /package/dist/{chunk-XEE7PLDR.js.map → chunk-BZTFPSWT.js.map} +0 -0
- /package/dist/{chunk-B3BK2SNS.js.map → chunk-C3CMEDSO.js.map} +0 -0
- /package/dist/{chunk-OH3YGJT5.js.map → chunk-CBTY36TU.js.map} +0 -0
- /package/dist/{chunk-JIINGMEB.js.map → chunk-CHPZTF34.js.map} +0 -0
- /package/dist/{chunk-PWXL3QQ6.js.map → chunk-CJBBGMIA.js.map} +0 -0
- /package/dist/{chunk-BPYPUEM5.js.map → chunk-CZJLWCEG.js.map} +0 -0
- /package/dist/{chunk-FPWB5ILF.js.map → chunk-DRHIIUDO.js.map} +0 -0
- /package/dist/{chunk-BEGWE5O4.js.map → chunk-DTC224UJ.js.map} +0 -0
- /package/dist/{chunk-UB76PBDF.js.map → chunk-DVFIE54C.js.map} +0 -0
- /package/dist/{chunk-GO4MVQGC.js.map → chunk-DW5FRWRQ.js.map} +0 -0
- /package/dist/{chunk-6Z4H2Y77.js.map → chunk-E27Y7FF2.js.map} +0 -0
- /package/dist/{chunk-PANMJFDS.js.map → chunk-E55CJV65.js.map} +0 -0
- /package/dist/{chunk-JXAYT6LX.js.map → chunk-EJQW2IYW.js.map} +0 -0
- /package/dist/{chunk-TPIBJP4S.js.map → chunk-EOHKZGOZ.js.map} +0 -0
- /package/dist/{chunk-MSUSZLRE.js.map → chunk-EWT3WMVY.js.map} +0 -0
- /package/dist/{chunk-DH75UNF3.js.map → chunk-FGK2C7JR.js.map} +0 -0
- /package/dist/{chunk-AD776JPA.js.map → chunk-FR67FG2U.js.map} +0 -0
- /package/dist/{chunk-SHQWIDD5.js.map → chunk-GJQYM3PM.js.map} +0 -0
- /package/dist/{chunk-7KTU6YMQ.js.map → chunk-GMTM6EN7.js.map} +0 -0
- /package/dist/{chunk-WROCSDVL.js.map → chunk-GSFNH4C5.js.map} +0 -0
- /package/dist/{chunk-PF5HDFYY.js.map → chunk-GVA5CYKP.js.map} +0 -0
- /package/dist/{chunk-Z5ABJLTM.js.map → chunk-HFXTAEYY.js.map} +0 -0
- /package/dist/{chunk-FOMK3WPG.js.map → chunk-HLYPI5CO.js.map} +0 -0
- /package/dist/{chunk-VR5HDUBK.js.map → chunk-HP2ODXNA.js.map} +0 -0
- /package/dist/{chunk-GBRKP5GZ.js.map → chunk-I5SBTNV2.js.map} +0 -0
- /package/dist/{chunk-TP4N3X2Q.js.map → chunk-IPVYEPXO.js.map} +0 -0
- /package/dist/{chunk-RRO2EOJB.js.map → chunk-JB67KPGM.js.map} +0 -0
- /package/dist/{chunk-5ZOJLYD2.js.map → chunk-JE6RZ5L6.js.map} +0 -0
- /package/dist/{chunk-4HYXEMBP.js.map → chunk-JIKWZDNK.js.map} +0 -0
- /package/dist/{chunk-4MLDWACO.js.map → chunk-JM64OEU6.js.map} +0 -0
- /package/dist/{chunk-2QLVUVVR.js.map → chunk-JSH3HFDQ.js.map} +0 -0
- /package/dist/{chunk-TZ4SFX3M.js.map → chunk-JWW2Z3RH.js.map} +0 -0
- /package/dist/{chunk-QFHH2NU5.js.map → chunk-JXNT5TUP.js.map} +0 -0
- /package/dist/{chunk-FINCVAAR.js.map → chunk-KHWCX4LI.js.map} +0 -0
- /package/dist/{chunk-THZ2NAA4.js.map → chunk-KW7H5O3K.js.map} +0 -0
- /package/dist/{chunk-XLJJ2ZAP.js.map → chunk-L4U23SBX.js.map} +0 -0
- /package/dist/{chunk-ZXLIWOXC.js.map → chunk-LS4FMSHY.js.map} +0 -0
- /package/dist/{chunk-SFAP5EH5.js.map → chunk-LUMF63BM.js.map} +0 -0
- /package/dist/{chunk-CZPU5TW3.js.map → chunk-LYSSO6WC.js.map} +0 -0
- /package/dist/{chunk-736HP6BL.js.map → chunk-M4LQRQFL.js.map} +0 -0
- /package/dist/{chunk-426FTCMF.js.map → chunk-MESRKY67.js.map} +0 -0
- /package/dist/{chunk-B5PYBEXO.js.map → chunk-MP4VSWHK.js.map} +0 -0
- /package/dist/{chunk-UOPQOBQZ.js.map → chunk-MYGNIFZC.js.map} +0 -0
- /package/dist/{chunk-6RGWDKUL.js.map → chunk-N2TUX4A5.js.map} +0 -0
- /package/dist/{chunk-VWGR5XUP.js.map → chunk-NWNSUHEB.js.map} +0 -0
- /package/dist/{chunk-4K7FDVAB.js.map → chunk-O3336DJ6.js.map} +0 -0
- /package/dist/{chunk-YCCKY5VW.js.map → chunk-OFOYMZRY.js.map} +0 -0
- /package/dist/{chunk-OCXCH2ZW.js.map → chunk-OIKQO73C.js.map} +0 -0
- /package/dist/{chunk-QZDBWXZG.js.map → chunk-OP65D4UR.js.map} +0 -0
- /package/dist/{chunk-MCRIT46W.js.map → chunk-OTH7H3IP.js.map} +0 -0
- /package/dist/{chunk-BQQONDW5.js.map → chunk-OVLNF4AZ.js.map} +0 -0
- /package/dist/{chunk-AGYGNNOM.js.map → chunk-PQECNGDE.js.map} +0 -0
- /package/dist/{chunk-IIROZKW5.js.map → chunk-PRUSQQDT.js.map} +0 -0
- /package/dist/{chunk-IPE5FFFD.js.map → chunk-PUBPZOQJ.js.map} +0 -0
- /package/dist/{chunk-FB36IHCE.js.map → chunk-QFVFHIHE.js.map} +0 -0
- /package/dist/{chunk-V5P5Q6HM.js.map → chunk-QJRDDVZ2.js.map} +0 -0
- /package/dist/{chunk-WBKWIFXA.js.map → chunk-QYNCPS5W.js.map} +0 -0
- /package/dist/{chunk-VPHOSIPB.js.map → chunk-R6SNYC3D.js.map} +0 -0
- /package/dist/{chunk-STH66VLA.js.map → chunk-R7R3LOKW.js.map} +0 -0
- /package/dist/{chunk-W2UTDN4T.js.map → chunk-RBGOGTT2.js.map} +0 -0
- /package/dist/{chunk-VWBWKLXX.js.map → chunk-SX3V2DLV.js.map} +0 -0
- /package/dist/{chunk-P7FQUGED.js.map → chunk-TNVO2DTB.js.map} +0 -0
- /package/dist/{chunk-WTIOCG4M.js.map → chunk-TOYEP23N.js.map} +0 -0
- /package/dist/{chunk-G2IPK2XE.js.map → chunk-TPLKJHNN.js.map} +0 -0
- /package/dist/{chunk-U2AC4AQX.js.map → chunk-TU5EIKJA.js.map} +0 -0
- /package/dist/{chunk-ZGHIHEND.js.map → chunk-TW3BXVEU.js.map} +0 -0
- /package/dist/{chunk-BGYLL467.js.map → chunk-TXHJX2NG.js.map} +0 -0
- /package/dist/{chunk-5RQ7N63M.js.map → chunk-TZDDL3DR.js.map} +0 -0
- /package/dist/{chunk-RPQ3W2C6.js.map → chunk-U2ZDN2AL.js.map} +0 -0
- /package/dist/{chunk-WPZT2JD4.js.map → chunk-U7Q2Y6WG.js.map} +0 -0
- /package/dist/{chunk-E46PG577.js.map → chunk-URXT5TOY.js.map} +0 -0
- /package/dist/{chunk-P6IPJYCS.js.map → chunk-VNNG46TS.js.map} +0 -0
- /package/dist/{chunk-CXVMD6FE.js.map → chunk-VON4BFK4.js.map} +0 -0
- /package/dist/{chunk-2SWQ6HIK.js.map → chunk-W3FAKT3D.js.map} +0 -0
- /package/dist/{chunk-JDMYD6QC.js.map → chunk-W4SDVTZC.js.map} +0 -0
- /package/dist/{chunk-7MAOQIWA.js.map → chunk-W4YWU7LQ.js.map} +0 -0
- /package/dist/{chunk-Y46RBFBV.js.map → chunk-W7Y6RA6W.js.map} +0 -0
- /package/dist/{chunk-XFU2S6XT.js.map → chunk-WGRS4PGY.js.map} +0 -0
- /package/dist/{chunk-OOGEYCJH.js.map → chunk-WIT3Y7JT.js.map} +0 -0
- /package/dist/{chunk-KT6HWAEN.js.map → chunk-WQA4LIIK.js.map} +0 -0
- /package/dist/{chunk-J2KSG754.js.map → chunk-WRDPWEIC.js.map} +0 -0
- /package/dist/{chunk-RPWEXIAW.js.map → chunk-X5MPHXG5.js.map} +0 -0
- /package/dist/{chunk-UEIVXFUC.js.map → chunk-XELVDPKL.js.map} +0 -0
- /package/dist/{chunk-RRZBATXK.js.map → chunk-XKV5ZIBG.js.map} +0 -0
- /package/dist/{chunk-ZKFYBC6G.js.map → chunk-XSF6AXEU.js.map} +0 -0
- /package/dist/{chunk-R6RVBYTU.js.map → chunk-XUJG2HFW.js.map} +0 -0
- /package/dist/{chunk-FRQ4HNGF.js.map → chunk-YJ4HM25H.js.map} +0 -0
- /package/dist/{chunk-TVO5STZB.js.map → chunk-YQ6TNHAC.js.map} +0 -0
- /package/dist/{chunk-BNNSO4MC.js.map → chunk-YTOYMJPM.js.map} +0 -0
- /package/dist/{chunk-IH4RSRQA.js.map → chunk-ZA4U5GDU.js.map} +0 -0
- /package/dist/native/chunks/{chunk-OGWPPQL4.js.map → chunk-75JQYVDZ.js.map} +0 -0
- /package/dist/native/chunks/{chunk-WKMDCNIN.js.map → chunk-7LTVGW23.js.map} +0 -0
- /package/dist/native/chunks/{chunk-RJVM5YDE.js.map → chunk-ATS7STZJ.js.map} +0 -0
- /package/dist/native/chunks/{chunk-YTHR4Y5P.js.map → chunk-GWGIWQO7.js.map} +0 -0
- /package/dist/native/chunks/{chunk-D4EYAXNG.js.map → chunk-QYUD3S6F.js.map} +0 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type DimensionValue, type TextStyle } from 'react-native';
|
|
3
|
+
import type { CardActionsProps, CardContentProps, CardHeaderProps, CardMediaProps } from './Card.types.native';
|
|
4
|
+
import type { UiTheme } from '../../../tokens/theme';
|
|
5
|
+
/**
|
|
6
|
+
* THE FOUR SLOTS A CARD IS BUILT OUT OF, ON REACT NATIVE.
|
|
7
|
+
*
|
|
8
|
+
* Each one is a `View` carrying the padding MUI's own `CardHeader`,
|
|
9
|
+
* `CardContent`, `CardActions` and `CardMedia` declare in px — the web half
|
|
10
|
+
* overrides only `padding` and `justify-content`, so the rest of the numbers
|
|
11
|
+
* come from MUI and are restated in `Card.metrics.ts` rather than re-invented.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* THE INK A CARD PUBLISHES TO ITS SLOTS.
|
|
15
|
+
*
|
|
16
|
+
* `Card.styles.ts` puts `color: primary.contrastText` on the gradient card
|
|
17
|
+
* ITSELF and lets CSS inheritance carry it into the header and the body. React
|
|
18
|
+
* Native inherits nothing across views, so the card publishes its ink here and
|
|
19
|
+
* every slot reads it — which is the difference between a legible gradient card
|
|
20
|
+
* and near-black text on indigo.
|
|
21
|
+
*
|
|
22
|
+
* `null` is "no card above me": a slot rendered on its own falls back to the
|
|
23
|
+
* body ink, exactly as it would on the web.
|
|
24
|
+
*/
|
|
25
|
+
export declare const CardInkContext: React.Context<string | null>;
|
|
26
|
+
/** MUI's header title: `h5`, or `body2` when an avatar shares the row. */
|
|
27
|
+
export declare const cardTitleStyle: (theme: UiTheme, hasAvatar: boolean, ink?: string | null) => TextStyle;
|
|
28
|
+
/**
|
|
29
|
+
* MUI's header subheader: `body1` (or `body2` beside an avatar), in the muted
|
|
30
|
+
* ink — which does NOT follow the card's own ink, because MUI's `CardHeader`
|
|
31
|
+
* pins the subheader to `textSecondary` explicitly rather than inheriting.
|
|
32
|
+
*/
|
|
33
|
+
export declare const cardSubtitleStyle: (theme: UiTheme, hasAvatar: boolean) => TextStyle;
|
|
34
|
+
export declare function CardHeader({ title, subtitle, action, avatar, children, ...others }: CardHeaderProps): React.JSX.Element;
|
|
35
|
+
export declare namespace CardHeader {
|
|
36
|
+
var displayName: string;
|
|
37
|
+
}
|
|
38
|
+
export declare function CardContent({ children, dense, ...others }: CardContentProps): React.JSX.Element;
|
|
39
|
+
export declare namespace CardContent {
|
|
40
|
+
var displayName: string;
|
|
41
|
+
}
|
|
42
|
+
export declare function CardActions({ children, disableSpacing, alignment, ...others }: CardActionsProps): React.JSX.Element;
|
|
43
|
+
export declare namespace CardActions {
|
|
44
|
+
var displayName: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* `height` accepts the web's spellings: a number, a numeric string (`"200"`, as
|
|
48
|
+
* an `<img height>` takes) or a percentage.
|
|
49
|
+
*/
|
|
50
|
+
export declare function mediaHeight(height: number | string): DimensionValue;
|
|
51
|
+
export declare function CardMedia({ image, title, height, children, ...others }: CardMediaProps): React.JSX.Element;
|
|
52
|
+
export declare namespace CardMedia {
|
|
53
|
+
var displayName: string;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=CardParts.native.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CardParts.native.d.ts","sourceRoot":"","sources":["../../../../../src/components/layout/Card/CardParts.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAKL,KAAK,cAAc,EACnB,KAAK,SAAS,EAEf,MAAM,cAAc,CAAC;AAStB,OAAO,KAAK,EAEV,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACf,MAAM,qBAAqB,CAAC;AAK7B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD;;;;;;;GAOG;AAEH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,8BAA2C,CAAC;AAQvE,0EAA0E;AAC1E,eAAO,MAAM,cAAc,GACzB,OAAO,OAAO,EACd,WAAW,OAAO,EAClB,MAAK,MAAM,GAAG,IAAW,KACxB,SAGD,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,EAAE,WAAW,OAAO,KAAG,SAGrE,CAAC;AAEH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,MAAM,EACN,MAAM,EACN,QAAQ,EACR,GAAG,MAAM,EACV,EAAE,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAwCrC;yBA/Ce,UAAU;;;AAmD1B,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,KAAa,EACb,GAAG,MAAM,EACV,EAAE,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CActC;yBAlBe,WAAW;;;AA6B3B,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,cAAsB,EACtB,SAAkB,EAClB,GAAG,MAAM,EACV,EAAE,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAmBtC;yBAxBe,WAAW;;;AA4B3B;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc,CAInE;AAED,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,KAAK,EACL,MAA0B,EAC1B,QAAQ,EACR,GAAG,MAAM,EACV,EAAE,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAqBpC;yBA3Be,SAAS"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { Card } from './Card.native';
|
|
2
|
+
export { CardActions, CardContent, CardHeader, CardMedia } from './CardParts.native';
|
|
3
|
+
export type { CardActionsAlignment, CardActionsBaseProps, CardActionsProps, CardBaseProps, CardBorderRadius, CardContentBaseProps, CardContentProps, CardEntranceAnimation, CardHeaderBaseProps, CardHeaderProps, CardMediaBaseProps, CardMediaProps, CardProps, CardVariant, } from './Card.types.native';
|
|
4
|
+
//# sourceMappingURL=index.native.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../../../src/components/layout/Card/index.native.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACrF,YAAY,EACV,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,SAAS,EACT,WAAW,GACZ,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* THE `::after` PULSE, AS A REACT NATIVE VIEW.
|
|
4
|
+
*
|
|
5
|
+
* `Card` and `Dialog` pulse the same way on the web: an `::after` that fills
|
|
6
|
+
* the element, carries `box-shadow: 0 0 0 <spread>px currentColor` and animates
|
|
7
|
+
* that spread out and back while fading, once every two seconds, from BEHIND
|
|
8
|
+
* the element (`z-index: -1`). Those two read this; `Button.native.tsx` still
|
|
9
|
+
* carries its own `Pulse`, a filled overlay that scales and fades rather than a
|
|
10
|
+
* ring, and folding it onto this is a `form/Button` change.
|
|
11
|
+
*
|
|
12
|
+
* React Native cannot paint a child behind its parent's own background, so a
|
|
13
|
+
* filled overlay would wash the surface instead of haloing it. This draws a
|
|
14
|
+
* HOLLOW ring instead: the view is inset by the current spread and carries a
|
|
15
|
+
* border of exactly that width, so the band it paints is precisely the region
|
|
16
|
+
* from the surface's edge to `spread` outside it — the same band the box-shadow
|
|
17
|
+
* spread covers, and nothing over the surface itself.
|
|
18
|
+
*
|
|
19
|
+
* Layout props cannot run on the native driver, so this animates on the JS one.
|
|
20
|
+
*/
|
|
21
|
+
export interface PulseRingProps {
|
|
22
|
+
color: string;
|
|
23
|
+
/** The surface's own corner radius, which the ring follows. */
|
|
24
|
+
radius: number | string;
|
|
25
|
+
/** How far out of the edge the ring grows, in px. */
|
|
26
|
+
spread: number;
|
|
27
|
+
durationMs: number;
|
|
28
|
+
/** The fraction of the cycle the ring is still visible for. */
|
|
29
|
+
fadeAt: number;
|
|
30
|
+
/** The ring's opacity at the start of a cycle. */
|
|
31
|
+
opacity: number;
|
|
32
|
+
testID: string;
|
|
33
|
+
}
|
|
34
|
+
export declare function PulseRing({ color, radius, spread, durationMs, fadeAt, opacity, testID, }: PulseRingProps): React.JSX.Element;
|
|
35
|
+
//# sourceMappingURL=pulse-ring.native.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pulse-ring.native.d.ts","sourceRoot":"","sources":["../../../src/platform/pulse-ring.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,MAAM,EACN,MAAM,EACN,UAAU,EACV,MAAM,EACN,OAAO,EACP,MAAM,GACP,EAAE,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAqCpC"}
|
|
@@ -28,4 +28,18 @@ export declare function splitTestId<T extends TestIdProps>(props: T, fallback?:
|
|
|
28
28
|
export declare function childTestId(props: TestIdProps, suffix: string, fallback: string): string;
|
|
29
29
|
/** `props` without any of the three spellings, for spreading onto a native element. */
|
|
30
30
|
export declare function withoutTestIdProps<P extends TestIdProps>(props: P): Omit<P, keyof TestIdProps>;
|
|
31
|
+
/**
|
|
32
|
+
* A SLOT's own test id, where a raw id means "this element" and `dataTestId`
|
|
33
|
+
* means "the surface I belong to".
|
|
34
|
+
*
|
|
35
|
+
* `Dialog` names its parts by derivation — `d` gives `d-title`, `d-content`,
|
|
36
|
+
* `d-actions` — and a slot receives the DIALOG's id in `dataTestId` to derive
|
|
37
|
+
* from. A raw `data-testid` (or React Native's `testID`) is something else: it
|
|
38
|
+
* is the id the caller wants ON THIS ELEMENT, which is how the shared stories
|
|
39
|
+
* address a `DialogContent`, so it is taken verbatim and no suffix is added.
|
|
40
|
+
*
|
|
41
|
+
* Both renderers read this one function, which is the only way the web and the
|
|
42
|
+
* native slot can agree about what `<DialogContent data-testid="x">` is called.
|
|
43
|
+
*/
|
|
44
|
+
export declare function slotTestId(props: TestIdProps, suffix: string, fallback: string): string;
|
|
31
45
|
//# sourceMappingURL=test-id.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-id.d.ts","sourceRoot":"","sources":["../../../src/platform/test-id.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEvF;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,EAC/C,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,MAAM,GAChB;IAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,WAAW,CAAC,CAAA;CAAE,CAElE;AAED,oFAAoF;AACpF,wBAAgB,WAAW,CACzB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,MAAM,CAER;AAED,uFAAuF;AACvF,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,WAAW,CAAC,CAG9F"}
|
|
1
|
+
{"version":3,"file":"test-id.d.ts","sourceRoot":"","sources":["../../../src/platform/test-id.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEvF;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,EAC/C,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,MAAM,GAChB;IAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,WAAW,CAAC,CAAA;CAAE,CAElE;AAED,oFAAoF;AACpF,wBAAgB,WAAW,CACzB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,MAAM,CAER;AAED,uFAAuF;AACvF,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,WAAW,CAAC,CAG9F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvF"}
|
|
@@ -14,7 +14,7 @@ import type { UiTheme } from './theme';
|
|
|
14
14
|
* halves and not these; each component that reads this records that as a
|
|
15
15
|
* known gap in its `NATIVE-NOTES.md`.
|
|
16
16
|
*/
|
|
17
|
-
export type MuiTypeVariantName = 'h6' | 'body1' | 'body2' | 'caption';
|
|
17
|
+
export type MuiTypeVariantName = 'h5' | 'h6' | 'body1' | 'body2' | 'caption';
|
|
18
18
|
export interface MuiTypeVariant {
|
|
19
19
|
fontSize: number;
|
|
20
20
|
lineHeight: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mui-type.d.ts","sourceRoot":"","sources":["../../../src/tokens/mui-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"mui-type.d.ts","sourceRoot":"","sources":["../../../src/tokens/mui-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,IAAI,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;AAE7E,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,GAAG,GAAG,GAAG,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,kBAAkB,EAAE,cAAc,CAM/D,CAAC;AAEF,yFAAyF;AACzF,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C,mGAAmG;AACnG,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,GAAG,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC;IAC9C,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAClC,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,GAAE,MAAmC,GAC5C,YAAY,CASd"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ONE SHADOW, IN THE SHAPE BOTH RENDERERS READ.
|
|
3
|
+
*
|
|
4
|
+
* A drop shadow is one of the few decorations the two sides express in the same
|
|
5
|
+
* numbers and different syntax: CSS wants `0 8px 32px rgba(…)`, React Native
|
|
6
|
+
* wants `{ offsetX, offsetY, blurRadius, spreadDistance, color }` (its
|
|
7
|
+
* `BoxShadowValue`, which `boxShadow` takes an array of). So the numbers live in
|
|
8
|
+
* a component's `*.metrics.ts` as this object, native passes it straight
|
|
9
|
+
* through, and the web renders it with {@link shadowCss}.
|
|
10
|
+
*
|
|
11
|
+
* {@link shadowCss} reproduces the text the web components already wrote by
|
|
12
|
+
* hand: a bare `0` for a zero length, and no spread at all when the spread is
|
|
13
|
+
* zero. That is what makes moving a shadow into a metrics table a refactor
|
|
14
|
+
* rather than a restyle.
|
|
15
|
+
*/
|
|
16
|
+
export interface UiShadow {
|
|
17
|
+
offsetX: number;
|
|
18
|
+
offsetY: number;
|
|
19
|
+
blurRadius: number;
|
|
20
|
+
spreadDistance: number;
|
|
21
|
+
color: string;
|
|
22
|
+
}
|
|
23
|
+
/** One shadow as CSS. A zero spread is omitted, as the web has always written it. */
|
|
24
|
+
export declare const shadowCss: (shadow: UiShadow) => string;
|
|
25
|
+
/** Several shadows as one CSS declaration. */
|
|
26
|
+
export declare const shadowListCss: (shadows: readonly UiShadow[]) => string;
|
|
27
|
+
/**
|
|
28
|
+
* MUI's `palette.common`, which `UiTheme` has no slot for.
|
|
29
|
+
*
|
|
30
|
+
* Here rather than beside each caller because the neumorphic, glass and scrim
|
|
31
|
+
* arithmetic in more than one component mixes from exactly these two, and a
|
|
32
|
+
* per-component copy is a per-component chance to write `#000000`.
|
|
33
|
+
*/
|
|
34
|
+
export declare const BLACK = "#000";
|
|
35
|
+
export declare const WHITE = "#fff";
|
|
36
|
+
/** A shadow with no offset — a halo all round, which is how `glow` reads. */
|
|
37
|
+
export declare const halo: (blurRadius: number, color: string) => UiShadow[];
|
|
38
|
+
/** A dropped shadow straight down, which is how a lifted surface sits. */
|
|
39
|
+
export declare const drop: (offsetY: number, blurRadius: number, color: string) => UiShadow[];
|
|
40
|
+
//# sourceMappingURL=shadow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shadow.d.ts","sourceRoot":"","sources":["../../../src/tokens/shadow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf;AAKD,qFAAqF;AACrF,eAAO,MAAM,SAAS,GAAI,QAAQ,QAAQ,KAAG,MAOhC,CAAC;AAEd,8CAA8C;AAC9C,eAAO,MAAM,aAAa,GAAI,SAAS,SAAS,QAAQ,EAAE,KAAG,MAC1B,CAAC;AAEpC;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,SAAS,CAAC;AAC5B,eAAO,MAAM,KAAK,SAAS,CAAC;AAE5B,6EAA6E;AAC7E,eAAO,MAAM,IAAI,GAAI,YAAY,MAAM,EAAE,OAAO,MAAM,KAAG,QAAQ,EAEhE,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,IAAI,GAAI,SAAS,MAAM,EAAE,YAAY,MAAM,EAAE,OAAO,MAAM,KAAG,QAAQ,EAEjF,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import "../chunk-6GP2DOOO.js";
|
|
2
2
|
import {
|
|
3
3
|
Heading
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-MESRKY67.js";
|
|
5
5
|
import "../chunk-PWR7K5OP.js";
|
|
6
6
|
import "../chunk-3N6EK6K5.js";
|
|
7
|
-
import "../chunk-
|
|
7
|
+
import "../chunk-TYJR4GOF.js";
|
|
8
8
|
import "../chunk-PT6TCWIW.js";
|
|
9
9
|
import "../chunk-NQN5Z36J.js";
|
|
10
10
|
import "../chunk-AG66JBNH.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Paragraph
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-HFXTAEYY.js";
|
|
4
4
|
import "../chunk-QKLGH3RZ.js";
|
|
5
|
-
import "../chunk-
|
|
5
|
+
import "../chunk-TYJR4GOF.js";
|
|
6
6
|
import "../chunk-NQN5Z36J.js";
|
|
7
7
|
import "../chunk-AG66JBNH.js";
|
|
8
8
|
import "../chunk-6JAIFIPW.js";
|
package/dist/typography/Text.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import "../chunk-VUHLNYAE.js";
|
|
2
2
|
import {
|
|
3
3
|
Text
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-343TTIHD.js";
|
|
5
5
|
import "../chunk-V3PLFYKO.js";
|
|
6
|
-
import "../chunk-
|
|
6
|
+
import "../chunk-TYJR4GOF.js";
|
|
7
7
|
import "../chunk-NQN5Z36J.js";
|
|
8
8
|
import "../chunk-AG66JBNH.js";
|
|
9
9
|
import "../chunk-6JAIFIPW.js";
|
package/dist/user-avatar.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
UserAvatar,
|
|
3
3
|
UserMenu
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-4LRFGB3K.js";
|
|
5
5
|
import "./chunk-UDQSIRAP.js";
|
|
6
6
|
import "./chunk-I7HYGIEJ.js";
|
|
7
7
|
import "./chunk-4SQFO4GW.js";
|
|
@@ -10,17 +10,19 @@ import "./chunk-3ZVUNSFF.js";
|
|
|
10
10
|
import "./chunk-XRMZMBE3.js";
|
|
11
11
|
import "./chunk-VUHLNYAE.js";
|
|
12
12
|
import "./chunk-2GSIEDGN.js";
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-AIRWM7KK.js";
|
|
14
|
+
import "./chunk-BEBLRL5D.js";
|
|
15
|
+
import "./chunk-6Q6T3FW5.js";
|
|
16
|
+
import "./chunk-FKUYRQSP.js";
|
|
16
17
|
import "./chunk-BA4RHQ3B.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-TAMIZE4Q.js";
|
|
18
|
+
import "./chunk-YTOYMJPM.js";
|
|
19
19
|
import "./chunk-JT6TERQL.js";
|
|
20
20
|
import "./chunk-ITGG5OKP.js";
|
|
21
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-TAMIZE4Q.js";
|
|
22
|
+
import "./chunk-73BEVJCS.js";
|
|
23
|
+
import "./chunk-343TTIHD.js";
|
|
22
24
|
import "./chunk-V3PLFYKO.js";
|
|
23
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-TYJR4GOF.js";
|
|
24
26
|
import "./chunk-NQN5Z36J.js";
|
|
25
27
|
import "./chunk-AG66JBNH.js";
|
|
26
28
|
import "./chunk-6JAIFIPW.js";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import "../chunk-H7NA4TXY.js";
|
|
2
2
|
import {
|
|
3
3
|
InfiniteScroll
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-QF6LTUCE.js";
|
|
4
|
+
} from "../chunk-GSFNH4C5.js";
|
|
6
5
|
import "../chunk-ATSHKSSD.js";
|
|
6
|
+
import "../chunk-QF6LTUCE.js";
|
|
7
7
|
import "../chunk-PZ5AY32C.js";
|
|
8
8
|
export {
|
|
9
9
|
InfiniteScroll
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import "../chunk-3QQVEYOR.js";
|
|
2
2
|
import {
|
|
3
3
|
InstallPrompt
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-GY62N32G.js";
|
|
4
|
+
} from "../chunk-JE6RZ5L6.js";
|
|
6
5
|
import {
|
|
7
6
|
usePwaInstall
|
|
8
7
|
} from "../chunk-5GMHJ7Y5.js";
|
|
8
|
+
import "../chunk-GY62N32G.js";
|
|
9
9
|
import "../chunk-WXYLH3QZ.js";
|
|
10
10
|
import {
|
|
11
11
|
PWA_INSTALL_AVAILABLE_EVENT,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@12-apps/ui",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.23.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"packageManager": "pnpm@10.34.5",
|
|
6
6
|
"type": "module",
|
|
@@ -204,6 +204,10 @@
|
|
|
204
204
|
"types": "./dist/types/components/data-display/EmptyState/index.d.ts",
|
|
205
205
|
"default": "./dist/data-display/EmptyState.js"
|
|
206
206
|
},
|
|
207
|
+
"./data-display/FleetMap": {
|
|
208
|
+
"types": "./dist/types/components/data-display/FleetMap/index.d.ts",
|
|
209
|
+
"default": "./dist/data-display/FleetMap.js"
|
|
210
|
+
},
|
|
207
211
|
"./data-display/SectionOnboarding": {
|
|
208
212
|
"types": "./dist/types/components/data-display/SectionOnboarding/index.d.ts",
|
|
209
213
|
"default": "./dist/data-display/SectionOnboarding.js"
|
|
@@ -293,6 +297,10 @@
|
|
|
293
297
|
"default": "./dist/feedback/ConfirmAction.js"
|
|
294
298
|
},
|
|
295
299
|
"./feedback/Dialog": {
|
|
300
|
+
"react-native": {
|
|
301
|
+
"types": "./dist/types-native/components/feedback/Dialog/index.native.d.ts",
|
|
302
|
+
"default": "./dist/native/feedback/Dialog.js"
|
|
303
|
+
},
|
|
296
304
|
"types": "./dist/types/components/feedback/Dialog/index.d.ts",
|
|
297
305
|
"default": "./dist/feedback/Dialog.js"
|
|
298
306
|
},
|
|
@@ -473,6 +481,10 @@
|
|
|
473
481
|
"default": "./dist/layout/Box.js"
|
|
474
482
|
},
|
|
475
483
|
"./layout/Card": {
|
|
484
|
+
"react-native": {
|
|
485
|
+
"types": "./dist/types-native/components/layout/Card/index.native.d.ts",
|
|
486
|
+
"default": "./dist/native/layout/Card.js"
|
|
487
|
+
},
|
|
476
488
|
"types": "./dist/types/components/layout/Card/index.d.ts",
|
|
477
489
|
"default": "./dist/layout/Card.js"
|
|
478
490
|
},
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# CardKit on React Native — NOT PORTED, and why
|
|
2
|
+
|
|
3
|
+
`data-display/CardKit` carries no `react-native` condition and is absent from
|
|
4
|
+
`entries.native.json` on purpose. Under Metro the subpath therefore resolves to
|
|
5
|
+
the web file and fails at import on `@mui/material`, loudly — which is the
|
|
6
|
+
behaviour `NATIVE.md` asks an unported subpath for. This file is here so the
|
|
7
|
+
absence is a decision on the record rather than an omission.
|
|
8
|
+
|
|
9
|
+
It is written down because CardKit was in the same batch as `layout/Card` and
|
|
10
|
+
`feedback/Dialog`, and both of those shipped.
|
|
11
|
+
|
|
12
|
+
## What blocks it
|
|
13
|
+
|
|
14
|
+
Four of the kit's five value exports are renderer-bound, and each one is bound
|
|
15
|
+
to a component that has no native half yet:
|
|
16
|
+
|
|
17
|
+
| export | needs | state |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| `CardKebab` | `navigation/DropdownMenu` (MUI `Menu`; `DropdownMenu.types.ts` imports `MenuProps`) | not ported |
|
|
20
|
+
| `CardActionsProvider` / `useCardActions` | `@mui/material/Snackbar` | no ported equivalent (`feedback/Toast`, `feedback/Sonner` are web-only too) |
|
|
21
|
+
| `useRowConfirm` / `useRemoveConfirm` | `feedback/ConfirmAction` → `data-display/AlertDialog` | neither ported |
|
|
22
|
+
| `BodyHeading`, `DetailColumns`, `Fact`, `Ledger`, `TagList` | `@12-apps/ui/mui/Box` | raw MUI, web-only by design (see NATIVE.md's layout row) |
|
|
23
|
+
|
|
24
|
+
Only `rowActionsToMenuItems` is already platform-neutral — a pure array
|
|
25
|
+
transform that imports no renderer.
|
|
26
|
+
|
|
27
|
+
The TYPES are entangled the same way: `CardKit.types.ts` builds `KindCardProps`
|
|
28
|
+
and `KindListCardProps` on `CardAspectRatio` and `DataViewCardSelection` from
|
|
29
|
+
`../DataViews`, whose `data-views-types.ts` imports `DropdownMenuItem` from
|
|
30
|
+
`navigation/DropdownMenu`, which imports `MenuProps` from `@mui/material/Menu`.
|
|
31
|
+
A native entry would emit that chain into `dist/types-native`, where
|
|
32
|
+
`pnpm native:check` refuses any `@mui/*` import — a native consumer has nothing
|
|
33
|
+
to resolve one against.
|
|
34
|
+
|
|
35
|
+
## Why not a partial port
|
|
36
|
+
|
|
37
|
+
Porting only the five layout parts and leaving the kebab, the provider and the
|
|
38
|
+
two confirm hooks out would put a `react-native` condition on the subpath while
|
|
39
|
+
four of its names resolved to `undefined` under Metro. That trades a loud
|
|
40
|
+
module-level failure naming `@mui/material` for a render-time "Element type is
|
|
41
|
+
invalid" that names nothing — the exact swap `NATIVE.md` argues against.
|
|
42
|
+
|
|
43
|
+
## What porting it actually costs
|
|
44
|
+
|
|
45
|
+
`navigation/DropdownMenu`, `data-display/AlertDialog`, `feedback/ConfirmAction`
|
|
46
|
+
and a native snackbar, ported first — three categories, none of them in this
|
|
47
|
+
batch, and none of them claimed by a parallel one. CardKit follows them; it is
|
|
48
|
+
not the unit of work.
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import Box from '@mui/material/Box/index.js';
|
|
2
|
+
import Stack from '@mui/material/Stack/index.js';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
|
|
5
|
+
import { FleetCanvas } from './FleetCanvas';
|
|
6
|
+
import type { FleetMapState } from './FleetMap.hooks';
|
|
7
|
+
import type { FleetMapCopy } from './FleetMap.types';
|
|
8
|
+
import { FleetRoster } from './FleetRoster';
|
|
9
|
+
|
|
10
|
+
export interface FleetBodyProps
|
|
11
|
+
extends Pick<FleetMapState, 'ordered' | 'centre' | 'markers' | 'select' | 'onKeyDown'> {
|
|
12
|
+
copy: FleetMapCopy;
|
|
13
|
+
selectedId: string | null | undefined;
|
|
14
|
+
laggingAfterSeconds: number;
|
|
15
|
+
staleAfterSeconds: number;
|
|
16
|
+
height: string;
|
|
17
|
+
loading: boolean;
|
|
18
|
+
testId: string;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The two halves side by side: the roster that reads the fleet, and the map.
|
|
23
|
+
*
|
|
24
|
+
* A component rather than JSX inside {@link import('./FleetMap').FleetMap}
|
|
25
|
+
* because the layout is where every responsive decision lives, and keeping it
|
|
26
|
+
* here is what leaves the exported component short enough to read in one
|
|
27
|
+
* screen — which the complexity ledger enforces rather than merely suggests.
|
|
28
|
+
*/
|
|
29
|
+
export function FleetBody({
|
|
30
|
+
ordered,
|
|
31
|
+
centre,
|
|
32
|
+
markers,
|
|
33
|
+
select,
|
|
34
|
+
onKeyDown,
|
|
35
|
+
copy,
|
|
36
|
+
selectedId,
|
|
37
|
+
laggingAfterSeconds,
|
|
38
|
+
staleAfterSeconds,
|
|
39
|
+
height,
|
|
40
|
+
loading,
|
|
41
|
+
testId,
|
|
42
|
+
}: FleetBodyProps): React.JSX.Element {
|
|
43
|
+
return (
|
|
44
|
+
<Stack
|
|
45
|
+
direction={{ xs: 'column', md: 'row' }}
|
|
46
|
+
spacing={2}
|
|
47
|
+
// `aria-busy` belongs on the halves that are actually reloading, NOT on
|
|
48
|
+
// the panel root — the live region announcing the reload is a sibling up
|
|
49
|
+
// there, and a live region inside a busy subtree is exactly what
|
|
50
|
+
// `aria-busy` tells assistive tech to hold back. Marking the root busy
|
|
51
|
+
// would have silenced the announcement for the whole of the only window
|
|
52
|
+
// in which it has anything to say. `CepField` splits them the same way.
|
|
53
|
+
aria-busy={loading || undefined}
|
|
54
|
+
data-testid={`${testId}-body`}
|
|
55
|
+
sx={{ alignItems: 'stretch', minWidth: 0 }}
|
|
56
|
+
>
|
|
57
|
+
{/* The roster reads first on a phone and sits beside the map from md up.
|
|
58
|
+
It keeps a ceiling so thirty units scroll rather than push the map off
|
|
59
|
+
the screen.
|
|
60
|
+
|
|
61
|
+
It also WIDENS with the viewport rather than staying at its md width.
|
|
62
|
+
Held at 280px, a desktop gave the map 1600px for three pins while the
|
|
63
|
+
roster stayed too narrow for its own meta line — `Lagging · 2 min ago ·
|
|
64
|
+
±180 m` wrapped, at 1920px of all widths. The rungs below are the ones
|
|
65
|
+
the six-width pass was taken at. */}
|
|
66
|
+
<Box
|
|
67
|
+
sx={{
|
|
68
|
+
flexBasis: { md: '280px', lg: '320px', xl: '380px' },
|
|
69
|
+
flexShrink: 0,
|
|
70
|
+
minWidth: 0,
|
|
71
|
+
maxHeight: height,
|
|
72
|
+
display: 'flex',
|
|
73
|
+
}}
|
|
74
|
+
>
|
|
75
|
+
<FleetRoster
|
|
76
|
+
units={ordered}
|
|
77
|
+
copy={copy}
|
|
78
|
+
selectedId={selectedId}
|
|
79
|
+
onSelect={select}
|
|
80
|
+
laggingAfterSeconds={laggingAfterSeconds}
|
|
81
|
+
staleAfterSeconds={staleAfterSeconds}
|
|
82
|
+
loading={loading}
|
|
83
|
+
testId={testId}
|
|
84
|
+
onKeyDown={onKeyDown}
|
|
85
|
+
/>
|
|
86
|
+
</Box>
|
|
87
|
+
<FleetCanvas
|
|
88
|
+
copy={copy}
|
|
89
|
+
centre={centre}
|
|
90
|
+
markers={markers}
|
|
91
|
+
height={height}
|
|
92
|
+
testId={testId}
|
|
93
|
+
/>
|
|
94
|
+
</Stack>
|
|
95
|
+
);
|
|
96
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import Box from '@mui/material/Box/index.js';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
|
|
4
|
+
import { MapPreview } from '../MapPreview/MapPreview';
|
|
5
|
+
|
|
6
|
+
import type { FleetMarker } from './FleetMap.hooks';
|
|
7
|
+
import type { LatLng } from './FleetMap.helpers';
|
|
8
|
+
import type { FleetMapCopy } from './FleetMap.types';
|
|
9
|
+
|
|
10
|
+
export interface FleetCanvasProps {
|
|
11
|
+
copy: FleetMapCopy;
|
|
12
|
+
/** Where to point. `null` renders NOTHING — see the component's note. */
|
|
13
|
+
centre: LatLng | null;
|
|
14
|
+
markers: FleetMarker[];
|
|
15
|
+
height: string;
|
|
16
|
+
testId: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The map half — a NAMED LANDMARK, not an `aria-hidden` one.
|
|
21
|
+
*
|
|
22
|
+
* Its controls are focusable, and `aria-hidden` over a focusable subtree is the
|
|
23
|
+
* `aria-hidden-focus` violation: a keyboard user tabs into something a screen
|
|
24
|
+
* reader insists is not there. `role="region"` with a name is what puts it in a
|
|
25
|
+
* screen reader's landmark rotor, so it can be jumped PAST in one gesture;
|
|
26
|
+
* `role="group"` is not a landmark and would not.
|
|
27
|
+
*
|
|
28
|
+
* ## Skipping it does not silence it, and that is not ours to fix here
|
|
29
|
+
*
|
|
30
|
+
* `MapPreview` puts `aria-live="polite"` on its own root, with an English
|
|
31
|
+
* `aria-label` naming the centre coordinates and zoom. So re-centring the map —
|
|
32
|
+
* which every selection change does — announces something like "Map preview
|
|
33
|
+
* centered at -23.5505, -46.6333 with zoom level 15", in English, however
|
|
34
|
+
* thoroughly a reader has skipped the landmark. Two things follow, and neither
|
|
35
|
+
* is solved by anything this file can do:
|
|
36
|
+
*
|
|
37
|
+
* * a live region announces from wherever the reader is, so the landmark's
|
|
38
|
+
* skippability does not suppress it;
|
|
39
|
+
* * that string is the one piece of user-facing text in this component that
|
|
40
|
+
* does NOT come through `copy`.
|
|
41
|
+
*
|
|
42
|
+
* Fixing it means changing `MapPreview`, which every other consumer shares, so
|
|
43
|
+
* it is stated here rather than quietly claimed away.
|
|
44
|
+
*
|
|
45
|
+
* ## No centre, no map
|
|
46
|
+
*
|
|
47
|
+
* `mapCentre` answers `null` rather than a coordinate for an empty fleet, and
|
|
48
|
+
* that refusal has to survive the whole way down. `MapPreview` has no default
|
|
49
|
+
* centre — it resolves `center || coordinates || { lat: 0, lng: 0 }` — so
|
|
50
|
+
* forwarding `undefined` sails the map to the Gulf of Guinea and prints
|
|
51
|
+
* `Lat: 0.000000` under a default pin. That is exactly the render the helper
|
|
52
|
+
* exists to prevent, and it is reachable: a board that is `loading` with
|
|
53
|
+
* nothing yet reported skips the empty state by design and lands here.
|
|
54
|
+
*/
|
|
55
|
+
export function FleetCanvas({
|
|
56
|
+
copy,
|
|
57
|
+
centre,
|
|
58
|
+
markers,
|
|
59
|
+
height,
|
|
60
|
+
testId,
|
|
61
|
+
}: FleetCanvasProps): React.JSX.Element | null {
|
|
62
|
+
if (!centre) return null;
|
|
63
|
+
return (
|
|
64
|
+
<Box
|
|
65
|
+
role="region"
|
|
66
|
+
aria-label={copy.mapLabel}
|
|
67
|
+
data-testid={`${testId}-canvas`}
|
|
68
|
+
sx={{ flexGrow: 1, minWidth: 0 }}
|
|
69
|
+
>
|
|
70
|
+
<MapPreview
|
|
71
|
+
copy={copy.map}
|
|
72
|
+
center={centre}
|
|
73
|
+
markers={markers}
|
|
74
|
+
height={height}
|
|
75
|
+
interactive
|
|
76
|
+
showControls
|
|
77
|
+
/>
|
|
78
|
+
</Box>
|
|
79
|
+
);
|
|
80
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { EN_US_MAP_PREVIEW_COPY } from '../../../en-US.data-display';
|
|
2
|
+
|
|
3
|
+
import type { FleetMapCopy, FleetUnit } from './FleetMap.types';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* The copy and the fleet every story and test story shares.
|
|
7
|
+
*
|
|
8
|
+
* A module rather than a per-story literal, so a change to the shape breaks in
|
|
9
|
+
* ONE place rather than in fourteen — and so the test stories assert against
|
|
10
|
+
* the same words the visual ones render.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/** English, because stories are developer-facing. A consumer passes its own. */
|
|
14
|
+
export const FLEET_COPY: FleetMapCopy = {
|
|
15
|
+
title: 'Couriers on the road',
|
|
16
|
+
emptyTitle: 'Nobody is reporting',
|
|
17
|
+
emptyDescription: 'A courier appears here once their phone sends its first position.',
|
|
18
|
+
rosterLabel: 'Couriers, freshest first',
|
|
19
|
+
mapLabel: 'Map of where the couriers are',
|
|
20
|
+
freshness: { live: 'Live', lagging: 'Lagging', stale: 'Stale' },
|
|
21
|
+
lastSeen: (seconds) =>
|
|
22
|
+
seconds < 60 ? `${seconds}s ago` : `${Math.floor(seconds / 60)} min ago`,
|
|
23
|
+
// A NON-BREAKING space between the number and its unit. The meta line is
|
|
24
|
+
// the narrowest text in the component and it wraps at spaces, so a plain
|
|
25
|
+
// space orphans the `m` onto a line of its own — measured at 900px and
|
|
26
|
+
// 1920px, where the roster column is at its tightest relative to the map.
|
|
27
|
+
// Consumers writing their own `accuracy` want the same character.
|
|
28
|
+
accuracy: (metres) => `±${Math.round(metres)}\u00A0m`,
|
|
29
|
+
map: EN_US_MAP_PREVIEW_COPY,
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Three riders around São Paulo, one in each freshness state.
|
|
34
|
+
*
|
|
35
|
+
* Deliberately NOT in staleness order, and the labels deliberately do not agree
|
|
36
|
+
* with it either. `rosterOrder` sorts on staleness and breaks ties on the
|
|
37
|
+
* label, so a fixture whose two orders coincide lets the roster's ordering
|
|
38
|
+
* assertion pass against a LABEL-only sort as readily as the real one — a test
|
|
39
|
+
* reporting coverage it does not have. Here the three orders are all different:
|
|
40
|
+
* declared is [ale, ana, bruno], alphabetical is the same, and the correct
|
|
41
|
+
* answer is [ana, bruno, ale].
|
|
42
|
+
*/
|
|
43
|
+
export const FLEET: FleetUnit[] = [
|
|
44
|
+
{
|
|
45
|
+
id: 'ale',
|
|
46
|
+
label: 'Alessandra Nunes',
|
|
47
|
+
latitude: -23.5405,
|
|
48
|
+
longitude: -46.6133,
|
|
49
|
+
accuracyM: null,
|
|
50
|
+
staleSeconds: 640,
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
id: 'ana',
|
|
54
|
+
label: 'Ana Ribeiro',
|
|
55
|
+
latitude: -23.5505,
|
|
56
|
+
longitude: -46.6333,
|
|
57
|
+
accuracyM: 12,
|
|
58
|
+
staleSeconds: 8,
|
|
59
|
+
badge: '2 deliveries',
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
id: 'bruno',
|
|
63
|
+
label: 'Bruno Alves',
|
|
64
|
+
latitude: -23.5605,
|
|
65
|
+
longitude: -46.6533,
|
|
66
|
+
accuracyM: 180,
|
|
67
|
+
staleSeconds: 140,
|
|
68
|
+
badge: '1 delivery',
|
|
69
|
+
},
|
|
70
|
+
];
|