@12-apps/ui 6.18.0 → 6.19.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 +10 -2
- package/components-catalog.md +8 -4
- package/dist/_internal/components/data-display/Alert/Alert.base.js +1 -0
- package/dist/_internal/components/data-display/Alert/Alert.base.js.map +1 -0
- package/dist/_internal/components/data-display/Alert/Alert.helpers.js +16 -0
- package/dist/_internal/components/data-display/Alert/Alert.helpers.js.map +1 -0
- package/dist/_internal/components/data-display/Alert/Alert.js +9 -2
- package/dist/_internal/components/data-display/Alert/Alert.metrics.js +78 -0
- package/dist/_internal/components/data-display/Alert/Alert.metrics.js.map +1 -0
- package/dist/_internal/components/data-display/Alert/Alert.styles.js +7 -1
- package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +12 -5
- package/dist/_internal/components/data-display/Badge/Badge.js +2 -2
- package/dist/_internal/components/data-display/CardKit/CardKebab.js +3 -3
- package/dist/_internal/components/data-display/CardKit/card-actions-context.js +10 -3
- package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +10 -8
- package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +4 -4
- package/dist/_internal/components/data-display/Carousel/Carousel.js +3 -3
- package/dist/_internal/components/data-display/Chart/Chart.js +4 -4
- package/dist/_internal/components/data-display/Chart/SpecChart.js +7 -7
- package/dist/_internal/components/data-display/Chart/chart-context.js +2 -2
- package/dist/_internal/components/data-display/Chart/chart-renderers.js +3 -3
- package/dist/_internal/components/data-display/DataGrid/DataGrid.js +3 -3
- package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +38 -38
- package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +53 -51
- package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +3 -3
- package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +5 -5
- package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +5 -5
- package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +3 -3
- package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +1 -1
- package/dist/_internal/components/data-display/DataViews/base-list-card.js +5 -5
- package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +10 -10
- package/dist/_internal/components/data-display/DataViews/data-views-columns.js +4 -4
- package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +4 -4
- package/dist/_internal/components/data-display/DataViews/data-views-empty.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-export.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +11 -11
- package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +9 -9
- package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +35 -35
- package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +15 -15
- package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +4 -4
- package/dist/_internal/components/data-display/DataViews/data-views-pagination.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-select-all-strip.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +9 -9
- package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +14 -12
- package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +8 -8
- package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +3 -3
- package/dist/_internal/components/data-display/DataViews/list-card-rails.js +1 -1
- package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +6 -6
- package/dist/_internal/components/data-display/DataViews/use-saved-views-controller.js +2 -2
- package/dist/_internal/components/data-display/EmptyState/EmptyState.base.js +1 -0
- package/dist/_internal/components/data-display/EmptyState/EmptyState.base.js.map +1 -0
- package/dist/_internal/components/data-display/EmptyState/EmptyState.helpers.js +10 -0
- package/dist/_internal/components/data-display/EmptyState/EmptyState.helpers.js.map +1 -0
- package/dist/_internal/components/data-display/EmptyState/EmptyState.js +4 -1
- package/dist/_internal/components/data-display/EmptyState/EmptyState.metrics.js +44 -0
- package/dist/_internal/components/data-display/EmptyState/EmptyState.metrics.js.map +1 -0
- package/dist/_internal/components/data-display/ErrorState/ErrorState.base.js +1 -0
- package/dist/_internal/components/data-display/ErrorState/ErrorState.base.js.map +1 -0
- package/dist/_internal/components/data-display/ErrorState/ErrorState.js +3 -1
- package/dist/_internal/components/data-display/ErrorState/ErrorState.metrics.js +32 -0
- package/dist/_internal/components/data-display/ErrorState/ErrorState.metrics.js.map +1 -0
- package/dist/_internal/components/data-display/HoverCard/HoverCard.js +2 -2
- package/dist/_internal/components/data-display/Lightbox/Lightbox.js +6 -6
- package/dist/_internal/components/data-display/LoadingState/LoadingState.base.js +1 -0
- package/dist/_internal/components/data-display/LoadingState/LoadingState.base.js.map +1 -0
- package/dist/_internal/components/data-display/LoadingState/LoadingState.helpers.js +6 -2
- package/dist/_internal/components/data-display/LoadingState/LoadingState.js +6 -2
- package/dist/_internal/components/data-display/LoadingState/LoadingState.metrics.js +34 -0
- package/dist/_internal/components/data-display/LoadingState/LoadingState.metrics.js.map +1 -0
- package/dist/_internal/components/data-display/MapPreview/MapLayers.js +2 -2
- package/dist/_internal/components/data-display/MapPreview/MapPreview.js +4 -4
- package/dist/_internal/components/data-display/SectionOnboarding/SectionOnboarding.js +5 -2
- package/dist/_internal/components/data-display/Sheet/Sheet.js +2 -2
- package/dist/_internal/components/data-display/Table/Table.js +3 -3
- package/dist/_internal/components/data-display/index.js +52 -46
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +3 -3
- package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.js +2 -2
- package/dist/_internal/components/feedback/index.js +8 -8
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.hooks.js +4 -4
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +9 -9
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +3 -3
- package/dist/_internal/components/form/Button/Button.js +2 -2
- package/dist/_internal/components/form/Calendar/Calendar.hooks.js +2 -2
- package/dist/_internal/components/form/Calendar/Calendar.js +6 -6
- 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 +8 -8
- package/dist/_internal/components/form/CepField/CepField.js +3 -3
- package/dist/_internal/components/form/CodeEditor/CodeEditor.js +1 -1
- package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +9 -9
- package/dist/_internal/components/form/Input/Input.js +2 -2
- package/dist/_internal/components/form/Menubar/Menubar.js +2 -2
- package/dist/_internal/components/form/RichTextEditor/RichTextEditor.js +2 -2
- package/dist/_internal/components/form/index.js +28 -28
- package/dist/_internal/components/form/total-form/Fields/CategoryField.js +9 -9
- package/dist/_internal/components/form/total-form/Fields/CepField.js +4 -4
- package/dist/_internal/components/form/total-form/Fields/TextField.js +3 -3
- package/dist/_internal/components/form/total-form/Fields/index.js +19 -19
- package/dist/_internal/components/form/total-form/SubmitButton.js +3 -3
- package/dist/_internal/components/index.js +111 -101
- package/dist/_internal/components/layout/Container/Container.base.js +1 -0
- package/dist/_internal/components/layout/Container/Container.base.js.map +1 -0
- package/dist/_internal/components/layout/Container/Container.js +3 -1
- package/dist/_internal/components/layout/Container/Container.metrics.js +28 -0
- package/dist/_internal/components/layout/Container/Container.metrics.js.map +1 -0
- package/dist/_internal/components/layout/ScrollArea/ScrollArea.js +2 -2
- package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.js +4 -4
- package/dist/_internal/components/layout/SettingsLayout/SettingsPanel.js +2 -2
- package/dist/_internal/components/layout/Spacer/Spacer.base.js +1 -0
- package/dist/_internal/components/layout/Spacer/Spacer.base.js.map +1 -0
- package/dist/_internal/components/layout/Spacer/Spacer.js +3 -1
- package/dist/_internal/components/layout/Spacer/Spacer.metrics.js +18 -0
- package/dist/_internal/components/layout/Spacer/Spacer.metrics.js.map +1 -0
- package/dist/_internal/components/layout/index.js +10 -7
- package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +5 -5
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +2 -2
- package/dist/_internal/components/navigation/Pagination/Pagination.js +2 -2
- package/dist/_internal/components/navigation/Tabs/Tabs.js +2 -2
- package/dist/_internal/components/navigation/index.js +14 -14
- package/dist/_internal/components/typography/Heading/Heading.base.js +1 -0
- package/dist/_internal/components/typography/Heading/Heading.base.js.map +1 -0
- package/dist/_internal/components/typography/Heading/Heading.js +7 -2
- package/dist/_internal/components/typography/Heading/Heading.metrics.js +32 -0
- package/dist/_internal/components/typography/Heading/Heading.metrics.js.map +1 -0
- package/dist/_internal/components/typography/Heading/Heading.styles.js +5 -1
- package/dist/_internal/components/typography/Paragraph/Paragraph.base.js +1 -0
- package/dist/_internal/components/typography/Paragraph/Paragraph.base.js.map +1 -0
- package/dist/_internal/components/typography/Paragraph/Paragraph.js +7 -1
- package/dist/_internal/components/typography/Paragraph/Paragraph.metrics.js +24 -0
- package/dist/_internal/components/typography/Paragraph/Paragraph.metrics.js.map +1 -0
- package/dist/_internal/components/typography/index.js +5 -3
- package/dist/_internal/components/utility/InstallPrompt/InstallPrompt.js +1 -1
- package/dist/_internal/components/utility/index.js +1 -1
- package/dist/_internal/platform/aria.js +11 -0
- package/dist/_internal/platform/aria.js.map +1 -0
- package/dist/_internal/platform/text-children.js +37 -0
- package/dist/_internal/platform/text-children.js.map +1 -0
- package/dist/_internal/social-login-button/social-login-button.js +6 -5
- package/dist/_internal/tokens/mui-type.js +25 -0
- package/dist/_internal/tokens/mui-type.js.map +1 -0
- package/dist/_internal/user-avatar/user-avatar.js +3 -3
- package/dist/charts.js +13 -13
- package/dist/chunk-3N6EK6K5.js +57 -0
- package/dist/chunk-3N6EK6K5.js.map +1 -0
- package/dist/{chunk-77GA5YHQ.js → chunk-43NEBUV3.js} +2 -2
- package/dist/{chunk-4WK2RTVY.js → chunk-4FRZDSRD.js} +3 -3
- package/dist/{chunk-2EKALM6P.js → chunk-4SXZSSVV.js} +3 -3
- package/dist/{chunk-SKZHOWTS.js → chunk-5SYD23V4.js} +4 -4
- package/dist/chunk-6D5WEZ2L.js +219 -0
- package/dist/chunk-6D5WEZ2L.js.map +1 -0
- package/dist/{chunk-7RZ4WOQW.js → chunk-6DXYCXH4.js} +2 -2
- package/dist/{chunk-IJIT5HQP.js → chunk-72UYVJBQ.js} +2 -2
- package/dist/{chunk-KVN3K4J3.js → chunk-7DFEKTT7.js} +12 -16
- package/dist/chunk-7DFEKTT7.js.map +1 -0
- package/dist/{chunk-VNEEXUWA.js → chunk-7WL24VNI.js} +4 -4
- package/dist/{chunk-J54WH74M.js → chunk-AP4FLCLA.js} +4 -4
- package/dist/chunk-B2Y3BABA.js +136 -0
- package/dist/chunk-B2Y3BABA.js.map +1 -0
- package/dist/{chunk-IE7ISTLQ.js → chunk-B443IIQG.js} +4 -4
- package/dist/{chunk-EPNCYUQ7.js → chunk-BPYPUEM5.js} +5 -5
- package/dist/{chunk-V662PA6T.js → chunk-BUDXR3EV.js} +5 -5
- package/dist/{chunk-EW7ZNSWU.js → chunk-BVZVH3ZN.js} +6 -6
- package/dist/{chunk-U7RULTSH.js → chunk-C6XESZ3R.js} +6 -6
- package/dist/{chunk-WUPVHIMD.js → chunk-CLNTJM3F.js} +2 -2
- package/dist/{chunk-YNQGXSDD.js → chunk-CRNQVWIT.js} +7 -7
- package/dist/{chunk-7EESF76V.js → chunk-DLFOEXUP.js} +2 -2
- package/dist/{chunk-6YLAVHV4.js → chunk-DTKMBI7B.js} +4 -4
- package/dist/{chunk-BBC4KT5G.js → chunk-DZN3JF5E.js} +4 -4
- package/dist/{chunk-5ERH4OIK.js → chunk-E27Y7FF2.js} +92 -76
- package/dist/chunk-E27Y7FF2.js.map +1 -0
- package/dist/{chunk-P5YYVDAD.js → chunk-E5ZHW4I5.js} +4 -4
- package/dist/{chunk-OH3YGJT5.js → chunk-EMNGIYH6.js} +5 -5
- package/dist/{chunk-UQHJQ26Y.js → chunk-ES2RN7YV.js} +2 -2
- package/dist/{chunk-EGRFMPGD.js → chunk-EXJBPKGW.js} +4 -4
- package/dist/{chunk-BILE3A7F.js → chunk-FWCUELBU.js} +2 -2
- package/dist/{chunk-4R2CDZOQ.js → chunk-GBFGZJB5.js} +4 -4
- package/dist/{chunk-67LDIJQZ.js → chunk-GCJLMX63.js} +2 -2
- package/dist/chunk-HEK4LQT6.js +69 -0
- package/dist/chunk-HEK4LQT6.js.map +1 -0
- package/dist/{chunk-BLBOYCOV.js → chunk-HKV4MQ2W.js} +5 -5
- package/dist/{chunk-L5ZZJ4XE.js → chunk-HKZHEK3Z.js} +2 -2
- package/dist/{chunk-IPS55KWK.js → chunk-HP2ODXNA.js} +2 -2
- package/dist/{chunk-3AOOI2NR.js → chunk-HR7YTBR7.js} +4 -4
- package/dist/{chunk-O6J4CKS5.js → chunk-IIOEQRXX.js} +30 -13
- package/dist/chunk-IIOEQRXX.js.map +1 -0
- package/dist/{chunk-PUBPZOQJ.js → chunk-IPE5FFFD.js} +2 -2
- package/dist/{chunk-C52BELLW.js → chunk-ISSJNFJV.js} +2 -2
- package/dist/{chunk-2ZRZTGWP.js → chunk-ISW5K72V.js} +5 -5
- package/dist/{chunk-X24P3ZYW.js → chunk-J4W4TQPC.js} +6 -6
- package/dist/{chunk-LZRURORY.js → chunk-KADJNWTQ.js} +3 -3
- package/dist/{chunk-3AFUWDYS.js → chunk-KKYW3LU7.js} +3 -3
- package/dist/{chunk-NHSMLVNC.js → chunk-KSF7TLXH.js} +6 -6
- package/dist/{chunk-FP4R47TM.js → chunk-L65LF6LN.js} +2 -2
- package/dist/{chunk-FH4VARZ7.js → chunk-L6KEVPXN.js} +7 -7
- package/dist/{chunk-X5BHPSAC.js → chunk-LDE4ELB5.js} +7 -7
- package/dist/{chunk-NETZMGQP.js → chunk-LIOVN5IM.js} +2 -2
- package/dist/{chunk-OQXOYHIV.js → chunk-M3RIC6JI.js} +4 -4
- package/dist/{chunk-MY5VNNSP.js → chunk-MCRIT46W.js} +4 -4
- package/dist/{chunk-WO52KYSU.js → chunk-MHFJBNDP.js} +8 -8
- package/dist/chunk-MWFSIB6K.js +47 -0
- package/dist/chunk-MWFSIB6K.js.map +1 -0
- package/dist/chunk-N3QUEBNS.js +32 -0
- package/dist/chunk-N3QUEBNS.js.map +1 -0
- package/dist/{chunk-WBVHRLIS.js → chunk-N4WANJI3.js} +4 -4
- package/dist/chunk-N7MJ6CNC.js +30 -0
- package/dist/chunk-N7MJ6CNC.js.map +1 -0
- package/dist/{chunk-XKMFIH27.js → chunk-NECUCG2S.js} +14 -14
- package/dist/{chunk-IH4CX43Q.js → chunk-NFHS77NE.js} +2 -2
- package/dist/{chunk-E67PUPFJ.js → chunk-NQC6H7GY.js} +73 -57
- package/dist/chunk-NQC6H7GY.js.map +1 -0
- package/dist/{chunk-74KMXBG3.js → chunk-OAXAF4VY.js} +9 -9
- package/dist/{chunk-4EJSUL62.js → chunk-OR7UH2ZQ.js} +3 -3
- package/dist/{chunk-3ZFORMNT.js → chunk-OZWQNFG6.js} +4 -4
- package/dist/{chunk-23FCBIUN.js → chunk-P7FQUGED.js} +8 -8
- package/dist/{chunk-PC5FFEIY.js → chunk-PC3ZFERM.js} +2 -2
- package/dist/{chunk-XSJWN3WH.js → chunk-PMS3H3OO.js} +10 -10
- package/dist/{chunk-CGQI4XE5.js → chunk-PWR7K5OP.js} +16 -16
- package/dist/chunk-PWR7K5OP.js.map +1 -0
- package/dist/{chunk-KQ74QU55.js → chunk-QJJUTBKZ.js} +2 -2
- package/dist/chunk-QKLGH3RZ.js +29 -0
- package/dist/chunk-QKLGH3RZ.js.map +1 -0
- package/dist/{chunk-VEFDL77X.js → chunk-QZPNQWS2.js} +2 -2
- package/dist/{chunk-DWZ7FLA7.js → chunk-RBGOGTT2.js} +4 -4
- package/dist/chunk-RKCS6K36.js +48 -0
- package/dist/chunk-RKCS6K36.js.map +1 -0
- package/dist/{chunk-MZQTHSLN.js → chunk-S7HRED4D.js} +2 -2
- package/dist/{chunk-LUMF63BM.js → chunk-SFAP5EH5.js} +4 -4
- package/dist/{chunk-ZEBJT5JZ.js → chunk-SG6VULKS.js} +3 -3
- package/dist/{chunk-GJQYM3PM.js → chunk-SHQWIDD5.js} +4 -4
- package/dist/{chunk-24BUCMQA.js → chunk-SL4NFGOL.js} +4 -4
- package/dist/{chunk-PHCSPHDH.js → chunk-SOHDPFOB.js} +2 -2
- package/dist/chunk-TLGGVE56.js +37 -0
- package/dist/chunk-TLGGVE56.js.map +1 -0
- package/dist/{chunk-K2T2CQSZ.js → chunk-UF27D35R.js} +2 -2
- package/dist/{chunk-7M5BACFQ.js → chunk-UXQW6ZIN.js} +45 -57
- package/dist/chunk-UXQW6ZIN.js.map +1 -0
- package/dist/{chunk-A2GGT4OC.js → chunk-V3SBJ3PB.js} +54 -30
- package/dist/chunk-V3SBJ3PB.js.map +1 -0
- package/dist/chunk-VJK5FBNK.js +46 -0
- package/dist/chunk-VJK5FBNK.js.map +1 -0
- package/dist/{chunk-B7BZAIHL.js → chunk-VOOPGAQO.js} +2 -2
- package/dist/{chunk-GSTRPZS4.js → chunk-WEH5TCPE.js} +8 -8
- package/dist/{chunk-MUVJD26L.js → chunk-WPR2HS5B.js} +8 -8
- package/dist/{chunk-KT6HWAEN.js → chunk-WZUNBSS7.js} +2 -2
- package/dist/{chunk-3JYYPJFD.js → chunk-X2J6MRJW.js} +2 -2
- package/dist/{chunk-HEG7JIBM.js → chunk-X5MPHXG5.js} +4 -4
- package/dist/{chunk-NFAKRI4S.js → chunk-XELVDPKL.js} +4 -4
- package/dist/{chunk-EPNUVSNK.js → chunk-XFUNJYFT.js} +7 -7
- package/dist/{chunk-4G3FGCWX.js → chunk-XXJRT6BP.js} +2 -2
- package/dist/{chunk-QRX5BYUQ.js → chunk-Y6KPZQPI.js} +4 -4
- package/dist/chunk-YBVKLJAL.js +53 -0
- package/dist/chunk-YBVKLJAL.js.map +1 -0
- package/dist/{chunk-KZSKI2R3.js → chunk-YLDS5FOQ.js} +2 -2
- package/dist/chunk-YSTHOE66.js +51 -0
- package/dist/chunk-YSTHOE66.js.map +1 -0
- package/dist/{chunk-NYLXHOMR.js → chunk-Z7JNCB5Q.js} +26 -13
- package/dist/chunk-Z7JNCB5Q.js.map +1 -0
- package/dist/{chunk-WX7VWW3W.js → chunk-ZBOFBRZC.js} +2 -2
- package/dist/{chunk-HSAH5QUQ.js → chunk-ZIOCRSHU.js} +3 -3
- package/dist/{chunk-HOJL2GKW.js → chunk-ZOUWHGV3.js} +7 -7
- package/dist/{chunk-2ZDTGI5V.js → chunk-ZRFRU545.js} +7 -7
- package/dist/data-display/Alert.js +9 -2
- package/dist/data-display/AsyncStateContainer.js +12 -5
- package/dist/data-display/Badge.js +2 -2
- package/dist/data-display/CardKit.js +14 -12
- package/dist/data-display/Carousel.js +3 -3
- package/dist/data-display/Chart.js +13 -13
- package/dist/data-display/DataGrid.js +3 -3
- package/dist/data-display/DataViews.js +62 -60
- package/dist/data-display/EmptyState.js +4 -1
- package/dist/data-display/ErrorState.js +3 -1
- package/dist/data-display/HoverCard.js +2 -2
- package/dist/data-display/Lightbox.js +6 -6
- package/dist/data-display/LoadingState.js +6 -2
- package/dist/data-display/MapPreview.js +4 -4
- package/dist/data-display/SectionOnboarding.js +5 -2
- package/dist/data-display/Sheet.js +2 -2
- package/dist/data-display/Table.js +3 -3
- package/dist/feedback/ConfirmAction.js +6 -6
- package/dist/feedback/TutorialOverlay.js +2 -2
- package/dist/form/AddressAutocomplete.js +9 -9
- package/dist/form/Button.js +2 -2
- package/dist/form/Calendar.js +6 -6
- package/dist/form/CategorySelect.js +10 -10
- package/dist/form/CepField.js +3 -3
- package/dist/form/CodeEditor.js +1 -1
- package/dist/form/DateRangePicker.js +9 -9
- package/dist/form/Input.js +2 -2
- package/dist/form/Menubar.js +2 -2
- package/dist/form/RichTextEditor.js +2 -2
- package/dist/form/total-form.js +25 -25
- package/dist/layout/Container.js +3 -1
- package/dist/layout/ContentToolbar.js +3 -3
- package/dist/layout/ScrollArea.js +2 -2
- package/dist/layout/SettingsLayout.js +6 -6
- package/dist/layout/Spacer.js +3 -1
- package/dist/native/chunks/chunk-4NK5ZQZ3.js +10 -0
- package/dist/native/chunks/chunk-4NK5ZQZ3.js.map +1 -0
- package/dist/native/chunks/chunk-5GJ5OG5R.js +36 -0
- package/dist/native/chunks/chunk-5GJ5OG5R.js.map +1 -0
- package/dist/native/chunks/{chunk-QZ233LRH.js → chunk-EKKNUEA6.js} +2 -2
- package/dist/native/chunks/{chunk-L2UUNK2M.js → chunk-P3PL4WBO.js} +2 -1
- package/dist/native/chunks/chunk-UKCCYP52.js +318 -0
- package/dist/native/chunks/chunk-UKCCYP52.js.map +1 -0
- package/dist/native/chunks/chunk-V4DQTC5L.js +24 -0
- package/dist/native/chunks/chunk-V4DQTC5L.js.map +1 -0
- package/dist/native/chunks/chunk-YQGNMAJN.js +108 -0
- package/dist/native/chunks/chunk-YQGNMAJN.js.map +1 -0
- package/dist/native/chunks/{chunk-VGBKUL6D.js → chunk-YTHR4Y5P.js} +2 -2
- package/dist/native/data-display/Alert.js +372 -0
- package/dist/native/data-display/Alert.js.map +1 -0
- package/dist/native/data-display/EmptyState.js +293 -0
- package/dist/native/data-display/EmptyState.js.map +1 -0
- package/dist/native/data-display/ErrorState.js +188 -0
- package/dist/native/data-display/ErrorState.js.map +1 -0
- package/dist/native/data-display/LoadingState.js +205 -0
- package/dist/native/data-display/LoadingState.js.map +1 -0
- package/dist/native/form/Button.js +6 -316
- package/dist/native/form/Button.js.map +1 -1
- package/dist/native/icons.js +10 -99
- package/dist/native/icons.js.map +1 -1
- package/dist/native/layout/Box.js +3 -3
- package/dist/native/layout/Container.js +93 -0
- package/dist/native/layout/Container.js.map +1 -0
- package/dist/native/layout/Spacer.js +80 -0
- package/dist/native/layout/Spacer.js.map +1 -0
- package/dist/native/layout/Stack.js +3 -3
- package/dist/native/provider.js +2 -2
- package/dist/native/tokens.js +1 -1
- package/dist/native/typography/Heading.js +110 -0
- package/dist/native/typography/Heading.js.map +1 -0
- package/dist/native/typography/Paragraph.js +86 -0
- package/dist/native/typography/Paragraph.js.map +1 -0
- package/dist/native/typography/Text.js +2 -2
- package/dist/navigation/AppHeader.js +9 -9
- package/dist/navigation/NavigationMenu.js +2 -2
- package/dist/navigation/Pagination.js +2 -2
- package/dist/navigation/Tabs.js +2 -2
- package/dist/social-login-button.js +6 -5
- package/dist/types/components/data-display/Alert/Alert.base.d.ts +92 -0
- package/dist/types/components/data-display/Alert/Alert.base.d.ts.map +1 -0
- package/dist/types/components/data-display/Alert/Alert.d.ts.map +1 -1
- package/dist/types/components/data-display/Alert/Alert.helpers.d.ts +23 -0
- package/dist/types/components/data-display/Alert/Alert.helpers.d.ts.map +1 -0
- package/dist/types/components/data-display/Alert/Alert.metrics.d.ts +181 -0
- package/dist/types/components/data-display/Alert/Alert.metrics.d.ts.map +1 -0
- package/dist/types/components/data-display/Alert/Alert.styles.d.ts +3 -10
- package/dist/types/components/data-display/Alert/Alert.styles.d.ts.map +1 -1
- package/dist/types/components/data-display/Alert/Alert.types.d.ts +5 -79
- package/dist/types/components/data-display/Alert/Alert.types.d.ts.map +1 -1
- package/dist/types/components/data-display/Alert/index.d.ts +1 -1
- package/dist/types/components/data-display/Alert/index.d.ts.map +1 -1
- package/dist/types/components/data-display/EmptyState/EmptyState.base.d.ts +51 -0
- package/dist/types/components/data-display/EmptyState/EmptyState.base.d.ts.map +1 -0
- package/dist/types/components/data-display/EmptyState/EmptyState.d.ts.map +1 -1
- package/dist/types/components/data-display/EmptyState/EmptyState.helpers.d.ts +13 -0
- package/dist/types/components/data-display/EmptyState/EmptyState.helpers.d.ts.map +1 -0
- package/dist/types/components/data-display/EmptyState/EmptyState.metrics.d.ts +57 -0
- package/dist/types/components/data-display/EmptyState/EmptyState.metrics.d.ts.map +1 -0
- package/dist/types/components/data-display/EmptyState/EmptyState.types.d.ts +3 -39
- package/dist/types/components/data-display/EmptyState/EmptyState.types.d.ts.map +1 -1
- package/dist/types/components/data-display/EmptyState/index.d.ts +1 -1
- package/dist/types/components/data-display/EmptyState/index.d.ts.map +1 -1
- package/dist/types/components/data-display/ErrorState/ErrorState.base.d.ts +43 -0
- package/dist/types/components/data-display/ErrorState/ErrorState.base.d.ts.map +1 -0
- package/dist/types/components/data-display/ErrorState/ErrorState.d.ts.map +1 -1
- package/dist/types/components/data-display/ErrorState/ErrorState.metrics.d.ts +37 -0
- package/dist/types/components/data-display/ErrorState/ErrorState.metrics.d.ts.map +1 -0
- package/dist/types/components/data-display/ErrorState/ErrorState.types.d.ts +3 -32
- package/dist/types/components/data-display/ErrorState/ErrorState.types.d.ts.map +1 -1
- package/dist/types/components/data-display/ErrorState/index.d.ts +1 -1
- package/dist/types/components/data-display/ErrorState/index.d.ts.map +1 -1
- package/dist/types/components/data-display/LoadingState/LoadingState.base.d.ts +37 -0
- package/dist/types/components/data-display/LoadingState/LoadingState.base.d.ts.map +1 -0
- package/dist/types/components/data-display/LoadingState/LoadingState.d.ts.map +1 -1
- package/dist/types/components/data-display/LoadingState/LoadingState.helpers.d.ts +12 -6
- package/dist/types/components/data-display/LoadingState/LoadingState.helpers.d.ts.map +1 -1
- package/dist/types/components/data-display/LoadingState/LoadingState.metrics.d.ts +43 -0
- package/dist/types/components/data-display/LoadingState/LoadingState.metrics.d.ts.map +1 -0
- package/dist/types/components/data-display/LoadingState/LoadingState.types.d.ts +3 -27
- package/dist/types/components/data-display/LoadingState/LoadingState.types.d.ts.map +1 -1
- package/dist/types/components/data-display/LoadingState/index.d.ts +1 -1
- package/dist/types/components/data-display/LoadingState/index.d.ts.map +1 -1
- package/dist/types/components/layout/Container/Container.base.d.ts +31 -0
- package/dist/types/components/layout/Container/Container.base.d.ts.map +1 -0
- package/dist/types/components/layout/Container/Container.d.ts.map +1 -1
- package/dist/types/components/layout/Container/Container.metrics.d.ts +57 -0
- package/dist/types/components/layout/Container/Container.metrics.d.ts.map +1 -0
- package/dist/types/components/layout/Container/Container.types.d.ts +4 -8
- package/dist/types/components/layout/Container/Container.types.d.ts.map +1 -1
- package/dist/types/components/layout/Container/index.d.ts +1 -1
- package/dist/types/components/layout/Container/index.d.ts.map +1 -1
- package/dist/types/components/layout/Spacer/Spacer.base.d.ts +30 -0
- package/dist/types/components/layout/Spacer/Spacer.base.d.ts.map +1 -0
- package/dist/types/components/layout/Spacer/Spacer.d.ts.map +1 -1
- package/dist/types/components/layout/Spacer/Spacer.metrics.d.ts +36 -0
- package/dist/types/components/layout/Spacer/Spacer.metrics.d.ts.map +1 -0
- package/dist/types/components/layout/Spacer/Spacer.types.d.ts +4 -9
- package/dist/types/components/layout/Spacer/Spacer.types.d.ts.map +1 -1
- package/dist/types/components/layout/Spacer/index.d.ts +1 -1
- package/dist/types/components/layout/Spacer/index.d.ts.map +1 -1
- package/dist/types/components/typography/Heading/Heading.base.d.ts +52 -0
- package/dist/types/components/typography/Heading/Heading.base.d.ts.map +1 -0
- package/dist/types/components/typography/Heading/Heading.d.ts +9 -6
- package/dist/types/components/typography/Heading/Heading.d.ts.map +1 -1
- package/dist/types/components/typography/Heading/Heading.metrics.d.ts +52 -0
- package/dist/types/components/typography/Heading/Heading.metrics.d.ts.map +1 -0
- package/dist/types/components/typography/Heading/Heading.styles.d.ts.map +1 -1
- package/dist/types/components/typography/Heading/Heading.types.d.ts +8 -38
- package/dist/types/components/typography/Heading/Heading.types.d.ts.map +1 -1
- package/dist/types/components/typography/Heading/index.d.ts +1 -1
- package/dist/types/components/typography/Heading/index.d.ts.map +1 -1
- package/dist/types/components/typography/Paragraph/Paragraph.base.d.ts +23 -0
- package/dist/types/components/typography/Paragraph/Paragraph.base.d.ts.map +1 -0
- package/dist/types/components/typography/Paragraph/Paragraph.d.ts.map +1 -1
- package/dist/types/components/typography/Paragraph/Paragraph.metrics.d.ts +30 -0
- package/dist/types/components/typography/Paragraph/Paragraph.metrics.d.ts.map +1 -0
- package/dist/types/components/typography/Paragraph/Paragraph.types.d.ts +4 -7
- package/dist/types/components/typography/Paragraph/Paragraph.types.d.ts.map +1 -1
- package/dist/types/components/typography/Paragraph/index.d.ts +1 -1
- package/dist/types/components/typography/Paragraph/index.d.ts.map +1 -1
- package/dist/types/platform/aria.d.ts +29 -0
- package/dist/types/platform/aria.d.ts.map +1 -0
- package/dist/types/platform/text-children.d.ts +6 -0
- package/dist/types/platform/text-children.d.ts.map +1 -0
- package/dist/types/tokens/mui-type.d.ts +42 -0
- package/dist/types/tokens/mui-type.d.ts.map +1 -0
- package/dist/types-native/components/data-display/Alert/Alert.base.d.ts +92 -0
- package/dist/types-native/components/data-display/Alert/Alert.base.d.ts.map +1 -0
- package/dist/types-native/components/data-display/Alert/Alert.helpers.d.ts +23 -0
- package/dist/types-native/components/data-display/Alert/Alert.helpers.d.ts.map +1 -0
- package/dist/types-native/components/data-display/Alert/Alert.look.native.d.ts +46 -0
- package/dist/types-native/components/data-display/Alert/Alert.look.native.d.ts.map +1 -0
- package/dist/types-native/components/data-display/Alert/Alert.metrics.d.ts +181 -0
- package/dist/types-native/components/data-display/Alert/Alert.metrics.d.ts.map +1 -0
- package/dist/types-native/components/data-display/Alert/Alert.native.d.ts +5 -0
- package/dist/types-native/components/data-display/Alert/Alert.native.d.ts.map +1 -0
- package/dist/types-native/components/data-display/Alert/Alert.types.native.d.ts +8 -0
- package/dist/types-native/components/data-display/Alert/Alert.types.native.d.ts.map +1 -0
- package/dist/types-native/components/data-display/Alert/index.native.d.ts +3 -0
- package/dist/types-native/components/data-display/Alert/index.native.d.ts.map +1 -0
- package/dist/types-native/components/data-display/EmptyState/EmptyState.base.d.ts +51 -0
- package/dist/types-native/components/data-display/EmptyState/EmptyState.base.d.ts.map +1 -0
- package/dist/types-native/components/data-display/EmptyState/EmptyState.helpers.d.ts +13 -0
- package/dist/types-native/components/data-display/EmptyState/EmptyState.helpers.d.ts.map +1 -0
- package/dist/types-native/components/data-display/EmptyState/EmptyState.metrics.d.ts +57 -0
- package/dist/types-native/components/data-display/EmptyState/EmptyState.metrics.d.ts.map +1 -0
- package/dist/types-native/components/data-display/EmptyState/EmptyState.native.d.ts +22 -0
- package/dist/types-native/components/data-display/EmptyState/EmptyState.native.d.ts.map +1 -0
- package/dist/types-native/components/data-display/EmptyState/EmptyState.types.native.d.ts +8 -0
- package/dist/types-native/components/data-display/EmptyState/EmptyState.types.native.d.ts.map +1 -0
- package/dist/types-native/components/data-display/EmptyState/index.native.d.ts +3 -0
- package/dist/types-native/components/data-display/EmptyState/index.native.d.ts.map +1 -0
- package/dist/types-native/components/data-display/ErrorState/ErrorState.base.d.ts +43 -0
- package/dist/types-native/components/data-display/ErrorState/ErrorState.base.d.ts.map +1 -0
- package/dist/types-native/components/data-display/ErrorState/ErrorState.metrics.d.ts +37 -0
- package/dist/types-native/components/data-display/ErrorState/ErrorState.metrics.d.ts.map +1 -0
- package/dist/types-native/components/data-display/ErrorState/ErrorState.native.d.ts +14 -0
- package/dist/types-native/components/data-display/ErrorState/ErrorState.native.d.ts.map +1 -0
- package/dist/types-native/components/data-display/ErrorState/ErrorState.types.native.d.ts +8 -0
- package/dist/types-native/components/data-display/ErrorState/ErrorState.types.native.d.ts.map +1 -0
- package/dist/types-native/components/data-display/ErrorState/index.native.d.ts +3 -0
- package/dist/types-native/components/data-display/ErrorState/index.native.d.ts.map +1 -0
- package/dist/types-native/components/data-display/LoadingState/LoadingState.base.d.ts +37 -0
- package/dist/types-native/components/data-display/LoadingState/LoadingState.base.d.ts.map +1 -0
- package/dist/types-native/components/data-display/LoadingState/LoadingState.helpers.d.ts +27 -0
- package/dist/types-native/components/data-display/LoadingState/LoadingState.helpers.d.ts.map +1 -0
- package/dist/types-native/components/data-display/LoadingState/LoadingState.metrics.d.ts +43 -0
- package/dist/types-native/components/data-display/LoadingState/LoadingState.metrics.d.ts.map +1 -0
- package/dist/types-native/components/data-display/LoadingState/LoadingState.native.d.ts +10 -0
- package/dist/types-native/components/data-display/LoadingState/LoadingState.native.d.ts.map +1 -0
- package/dist/types-native/components/data-display/LoadingState/LoadingState.types.native.d.ts +8 -0
- package/dist/types-native/components/data-display/LoadingState/LoadingState.types.native.d.ts.map +1 -0
- package/dist/types-native/components/data-display/LoadingState/index.native.d.ts +3 -0
- package/dist/types-native/components/data-display/LoadingState/index.native.d.ts.map +1 -0
- package/dist/types-native/components/form/Button/Button.native.d.ts +1 -1
- package/dist/types-native/components/form/Button/Button.native.d.ts.map +1 -1
- package/dist/types-native/components/layout/Container/Container.base.d.ts +31 -0
- package/dist/types-native/components/layout/Container/Container.base.d.ts.map +1 -0
- package/dist/types-native/components/layout/Container/Container.metrics.d.ts +57 -0
- package/dist/types-native/components/layout/Container/Container.metrics.d.ts.map +1 -0
- package/dist/types-native/components/layout/Container/Container.native.d.ts +30 -0
- package/dist/types-native/components/layout/Container/Container.native.d.ts.map +1 -0
- package/dist/types-native/components/layout/Container/Container.types.native.d.ts +8 -0
- package/dist/types-native/components/layout/Container/Container.types.native.d.ts.map +1 -0
- package/dist/types-native/components/layout/Container/index.native.d.ts +3 -0
- package/dist/types-native/components/layout/Container/index.native.d.ts.map +1 -0
- package/dist/types-native/components/layout/Spacer/Spacer.base.d.ts +30 -0
- package/dist/types-native/components/layout/Spacer/Spacer.base.d.ts.map +1 -0
- package/dist/types-native/components/layout/Spacer/Spacer.metrics.d.ts +36 -0
- package/dist/types-native/components/layout/Spacer/Spacer.metrics.d.ts.map +1 -0
- package/dist/types-native/components/layout/Spacer/Spacer.native.d.ts +21 -0
- package/dist/types-native/components/layout/Spacer/Spacer.native.d.ts.map +1 -0
- package/dist/types-native/components/layout/Spacer/Spacer.types.native.d.ts +8 -0
- package/dist/types-native/components/layout/Spacer/Spacer.types.native.d.ts.map +1 -0
- package/dist/types-native/components/layout/Spacer/index.native.d.ts +3 -0
- package/dist/types-native/components/layout/Spacer/index.native.d.ts.map +1 -0
- package/dist/types-native/components/typography/Heading/Heading.base.d.ts +52 -0
- package/dist/types-native/components/typography/Heading/Heading.base.d.ts.map +1 -0
- package/dist/types-native/components/typography/Heading/Heading.metrics.d.ts +52 -0
- package/dist/types-native/components/typography/Heading/Heading.metrics.d.ts.map +1 -0
- package/dist/types-native/components/typography/Heading/Heading.native.d.ts +30 -0
- package/dist/types-native/components/typography/Heading/Heading.native.d.ts.map +1 -0
- package/dist/types-native/components/typography/Heading/Heading.types.native.d.ts +14 -0
- package/dist/types-native/components/typography/Heading/Heading.types.native.d.ts.map +1 -0
- package/dist/types-native/components/typography/Heading/index.native.d.ts +3 -0
- package/dist/types-native/components/typography/Heading/index.native.d.ts.map +1 -0
- package/dist/types-native/components/typography/Paragraph/Paragraph.base.d.ts +23 -0
- package/dist/types-native/components/typography/Paragraph/Paragraph.base.d.ts.map +1 -0
- package/dist/types-native/components/typography/Paragraph/Paragraph.metrics.d.ts +30 -0
- package/dist/types-native/components/typography/Paragraph/Paragraph.metrics.d.ts.map +1 -0
- package/dist/types-native/components/typography/Paragraph/Paragraph.native.d.ts +23 -0
- package/dist/types-native/components/typography/Paragraph/Paragraph.native.d.ts.map +1 -0
- package/dist/types-native/components/typography/Paragraph/Paragraph.types.native.d.ts +14 -0
- package/dist/types-native/components/typography/Paragraph/Paragraph.types.native.d.ts.map +1 -0
- package/dist/types-native/components/typography/Paragraph/index.native.d.ts +3 -0
- package/dist/types-native/components/typography/Paragraph/index.native.d.ts.map +1 -0
- package/dist/types-native/platform/aria.d.ts +29 -0
- package/dist/types-native/platform/aria.d.ts.map +1 -0
- package/dist/types-native/platform/text-children.d.ts +6 -0
- package/dist/types-native/platform/text-children.d.ts.map +1 -0
- package/dist/types-native/tokens/mui-type.d.ts +42 -0
- package/dist/types-native/tokens/mui-type.d.ts.map +1 -0
- package/dist/typography/Heading.js +7 -2
- package/dist/typography/Paragraph.js +7 -1
- package/dist/user-avatar.js +3 -3
- package/dist/utility/InstallPrompt.js +1 -1
- package/package.json +33 -1
- package/src/components/data-display/Alert/Alert.base.ts +105 -0
- package/src/components/data-display/Alert/Alert.helpers.ts +54 -0
- package/src/components/data-display/Alert/Alert.look.native.ts +131 -0
- package/src/components/data-display/Alert/Alert.metrics.ts +166 -0
- package/src/components/data-display/Alert/Alert.native.tsx +239 -0
- package/src/components/data-display/Alert/Alert.styles.tsx +162 -134
- package/src/components/data-display/Alert/Alert.tsx +136 -121
- package/src/components/data-display/Alert/Alert.types.native.ts +12 -0
- package/src/components/data-display/Alert/Alert.types.ts +7 -85
- package/src/components/data-display/Alert/NATIVE-NOTES.md +10 -0
- package/src/components/data-display/Alert/index.native.ts +2 -0
- package/src/components/data-display/Alert/index.ts +1 -1
- package/src/components/data-display/EmptyState/EmptyState.base.ts +54 -0
- package/src/components/data-display/EmptyState/EmptyState.helpers.ts +66 -0
- package/src/components/data-display/EmptyState/EmptyState.metrics.ts +54 -0
- package/src/components/data-display/EmptyState/EmptyState.native.tsx +277 -0
- package/src/components/data-display/EmptyState/EmptyState.tsx +42 -79
- package/src/components/data-display/EmptyState/EmptyState.types.native.ts +16 -0
- package/src/components/data-display/EmptyState/EmptyState.types.ts +11 -30
- package/src/components/data-display/EmptyState/NATIVE-NOTES.md +7 -0
- package/src/components/data-display/EmptyState/index.native.ts +8 -0
- package/src/components/data-display/EmptyState/index.ts +7 -1
- package/src/components/data-display/ErrorState/ErrorState.base.ts +51 -0
- package/src/components/data-display/ErrorState/ErrorState.metrics.ts +44 -0
- package/src/components/data-display/ErrorState/ErrorState.native.tsx +193 -0
- package/src/components/data-display/ErrorState/ErrorState.tsx +68 -53
- package/src/components/data-display/ErrorState/ErrorState.types.native.ts +11 -0
- package/src/components/data-display/ErrorState/ErrorState.types.ts +3 -38
- package/src/components/data-display/ErrorState/NATIVE-NOTES.md +6 -0
- package/src/components/data-display/ErrorState/index.native.ts +2 -0
- package/src/components/data-display/ErrorState/index.ts +1 -1
- package/src/components/data-display/LoadingState/LoadingState.base.ts +43 -0
- package/src/components/data-display/LoadingState/LoadingState.helpers.ts +27 -28
- package/src/components/data-display/LoadingState/LoadingState.metrics.ts +67 -0
- package/src/components/data-display/LoadingState/LoadingState.native.tsx +175 -0
- package/src/components/data-display/LoadingState/LoadingState.tsx +25 -11
- package/src/components/data-display/LoadingState/LoadingState.types.native.ts +11 -0
- package/src/components/data-display/LoadingState/LoadingState.types.ts +3 -31
- package/src/components/data-display/LoadingState/NATIVE-NOTES.md +7 -0
- package/src/components/data-display/LoadingState/index.native.ts +7 -0
- package/src/components/data-display/LoadingState/index.ts +6 -1
- package/src/components/form/Button/Button.native.tsx +2 -18
- package/src/components/layout/Container/Container.base.ts +32 -0
- package/src/components/layout/Container/Container.md +14 -0
- package/src/components/layout/Container/Container.metrics.ts +101 -0
- package/src/components/layout/Container/Container.native.tsx +73 -0
- package/src/components/layout/Container/Container.tsx +27 -30
- package/src/components/layout/Container/Container.types.native.ts +11 -0
- package/src/components/layout/Container/Container.types.ts +8 -9
- package/src/components/layout/Container/NATIVE-NOTES.md +3 -0
- package/src/components/layout/Container/index.native.ts +8 -0
- package/src/components/layout/Container/index.ts +7 -1
- package/src/components/layout/Spacer/Spacer.base.ts +32 -0
- package/src/components/layout/Spacer/Spacer.md +13 -1
- package/src/components/layout/Spacer/Spacer.metrics.ts +55 -0
- package/src/components/layout/Spacer/Spacer.native.tsx +68 -0
- package/src/components/layout/Spacer/Spacer.tsx +11 -41
- package/src/components/layout/Spacer/Spacer.types.native.ts +11 -0
- package/src/components/layout/Spacer/Spacer.types.ts +5 -9
- package/src/components/layout/Spacer/index.native.ts +2 -0
- package/src/components/layout/Spacer/index.ts +1 -1
- package/src/components/typography/Heading/Heading.base.ts +55 -0
- package/src/components/typography/Heading/Heading.md +13 -0
- package/src/components/typography/Heading/Heading.metrics.ts +84 -0
- package/src/components/typography/Heading/Heading.native.tsx +105 -0
- package/src/components/typography/Heading/Heading.styles.ts +19 -21
- package/src/components/typography/Heading/Heading.tsx +26 -23
- package/src/components/typography/Heading/Heading.types.native.ts +17 -0
- package/src/components/typography/Heading/Heading.types.ts +11 -39
- package/src/components/typography/Heading/NATIVE-NOTES.md +3 -0
- package/src/components/typography/Heading/index.native.ts +2 -0
- package/src/components/typography/Heading/index.ts +1 -1
- package/src/components/typography/Paragraph/Paragraph.base.ts +25 -0
- package/src/components/typography/Paragraph/Paragraph.md +11 -0
- package/src/components/typography/Paragraph/Paragraph.metrics.ts +41 -0
- package/src/components/typography/Paragraph/Paragraph.native.tsx +100 -0
- package/src/components/typography/Paragraph/Paragraph.tsx +53 -30
- package/src/components/typography/Paragraph/Paragraph.types.native.ts +17 -0
- package/src/components/typography/Paragraph/Paragraph.types.ts +7 -8
- package/src/components/typography/Paragraph/index.native.ts +2 -0
- package/src/components/typography/Paragraph/index.ts +1 -1
- package/src/platform/aria.ts +32 -0
- package/src/platform/text-children.tsx +68 -0
- package/src/tokens/mui-type.ts +64 -0
- package/dist/chunk-5ERH4OIK.js.map +0 -1
- package/dist/chunk-7M5BACFQ.js.map +0 -1
- package/dist/chunk-A2GGT4OC.js.map +0 -1
- package/dist/chunk-C6AZDXEE.js +0 -207
- package/dist/chunk-C6AZDXEE.js.map +0 -1
- package/dist/chunk-CGQI4XE5.js.map +0 -1
- package/dist/chunk-DTO7GKLA.js +0 -65
- package/dist/chunk-DTO7GKLA.js.map +0 -1
- package/dist/chunk-E67PUPFJ.js.map +0 -1
- package/dist/chunk-KVN3K4J3.js.map +0 -1
- package/dist/chunk-NBNLGTRB.js +0 -71
- package/dist/chunk-NBNLGTRB.js.map +0 -1
- package/dist/chunk-NYLXHOMR.js.map +0 -1
- package/dist/chunk-O6J4CKS5.js.map +0 -1
- /package/dist/{chunk-77GA5YHQ.js.map → chunk-43NEBUV3.js.map} +0 -0
- /package/dist/{chunk-4WK2RTVY.js.map → chunk-4FRZDSRD.js.map} +0 -0
- /package/dist/{chunk-2EKALM6P.js.map → chunk-4SXZSSVV.js.map} +0 -0
- /package/dist/{chunk-SKZHOWTS.js.map → chunk-5SYD23V4.js.map} +0 -0
- /package/dist/{chunk-7RZ4WOQW.js.map → chunk-6DXYCXH4.js.map} +0 -0
- /package/dist/{chunk-IJIT5HQP.js.map → chunk-72UYVJBQ.js.map} +0 -0
- /package/dist/{chunk-VNEEXUWA.js.map → chunk-7WL24VNI.js.map} +0 -0
- /package/dist/{chunk-J54WH74M.js.map → chunk-AP4FLCLA.js.map} +0 -0
- /package/dist/{chunk-IE7ISTLQ.js.map → chunk-B443IIQG.js.map} +0 -0
- /package/dist/{chunk-EPNCYUQ7.js.map → chunk-BPYPUEM5.js.map} +0 -0
- /package/dist/{chunk-V662PA6T.js.map → chunk-BUDXR3EV.js.map} +0 -0
- /package/dist/{chunk-EW7ZNSWU.js.map → chunk-BVZVH3ZN.js.map} +0 -0
- /package/dist/{chunk-U7RULTSH.js.map → chunk-C6XESZ3R.js.map} +0 -0
- /package/dist/{chunk-WUPVHIMD.js.map → chunk-CLNTJM3F.js.map} +0 -0
- /package/dist/{chunk-YNQGXSDD.js.map → chunk-CRNQVWIT.js.map} +0 -0
- /package/dist/{chunk-7EESF76V.js.map → chunk-DLFOEXUP.js.map} +0 -0
- /package/dist/{chunk-6YLAVHV4.js.map → chunk-DTKMBI7B.js.map} +0 -0
- /package/dist/{chunk-BBC4KT5G.js.map → chunk-DZN3JF5E.js.map} +0 -0
- /package/dist/{chunk-P5YYVDAD.js.map → chunk-E5ZHW4I5.js.map} +0 -0
- /package/dist/{chunk-OH3YGJT5.js.map → chunk-EMNGIYH6.js.map} +0 -0
- /package/dist/{chunk-UQHJQ26Y.js.map → chunk-ES2RN7YV.js.map} +0 -0
- /package/dist/{chunk-EGRFMPGD.js.map → chunk-EXJBPKGW.js.map} +0 -0
- /package/dist/{chunk-BILE3A7F.js.map → chunk-FWCUELBU.js.map} +0 -0
- /package/dist/{chunk-4R2CDZOQ.js.map → chunk-GBFGZJB5.js.map} +0 -0
- /package/dist/{chunk-67LDIJQZ.js.map → chunk-GCJLMX63.js.map} +0 -0
- /package/dist/{chunk-BLBOYCOV.js.map → chunk-HKV4MQ2W.js.map} +0 -0
- /package/dist/{chunk-L5ZZJ4XE.js.map → chunk-HKZHEK3Z.js.map} +0 -0
- /package/dist/{chunk-IPS55KWK.js.map → chunk-HP2ODXNA.js.map} +0 -0
- /package/dist/{chunk-3AOOI2NR.js.map → chunk-HR7YTBR7.js.map} +0 -0
- /package/dist/{chunk-PUBPZOQJ.js.map → chunk-IPE5FFFD.js.map} +0 -0
- /package/dist/{chunk-C52BELLW.js.map → chunk-ISSJNFJV.js.map} +0 -0
- /package/dist/{chunk-2ZRZTGWP.js.map → chunk-ISW5K72V.js.map} +0 -0
- /package/dist/{chunk-X24P3ZYW.js.map → chunk-J4W4TQPC.js.map} +0 -0
- /package/dist/{chunk-LZRURORY.js.map → chunk-KADJNWTQ.js.map} +0 -0
- /package/dist/{chunk-3AFUWDYS.js.map → chunk-KKYW3LU7.js.map} +0 -0
- /package/dist/{chunk-NHSMLVNC.js.map → chunk-KSF7TLXH.js.map} +0 -0
- /package/dist/{chunk-FP4R47TM.js.map → chunk-L65LF6LN.js.map} +0 -0
- /package/dist/{chunk-FH4VARZ7.js.map → chunk-L6KEVPXN.js.map} +0 -0
- /package/dist/{chunk-X5BHPSAC.js.map → chunk-LDE4ELB5.js.map} +0 -0
- /package/dist/{chunk-NETZMGQP.js.map → chunk-LIOVN5IM.js.map} +0 -0
- /package/dist/{chunk-OQXOYHIV.js.map → chunk-M3RIC6JI.js.map} +0 -0
- /package/dist/{chunk-MY5VNNSP.js.map → chunk-MCRIT46W.js.map} +0 -0
- /package/dist/{chunk-WO52KYSU.js.map → chunk-MHFJBNDP.js.map} +0 -0
- /package/dist/{chunk-WBVHRLIS.js.map → chunk-N4WANJI3.js.map} +0 -0
- /package/dist/{chunk-XKMFIH27.js.map → chunk-NECUCG2S.js.map} +0 -0
- /package/dist/{chunk-IH4CX43Q.js.map → chunk-NFHS77NE.js.map} +0 -0
- /package/dist/{chunk-74KMXBG3.js.map → chunk-OAXAF4VY.js.map} +0 -0
- /package/dist/{chunk-4EJSUL62.js.map → chunk-OR7UH2ZQ.js.map} +0 -0
- /package/dist/{chunk-3ZFORMNT.js.map → chunk-OZWQNFG6.js.map} +0 -0
- /package/dist/{chunk-23FCBIUN.js.map → chunk-P7FQUGED.js.map} +0 -0
- /package/dist/{chunk-PC5FFEIY.js.map → chunk-PC3ZFERM.js.map} +0 -0
- /package/dist/{chunk-XSJWN3WH.js.map → chunk-PMS3H3OO.js.map} +0 -0
- /package/dist/{chunk-KQ74QU55.js.map → chunk-QJJUTBKZ.js.map} +0 -0
- /package/dist/{chunk-VEFDL77X.js.map → chunk-QZPNQWS2.js.map} +0 -0
- /package/dist/{chunk-DWZ7FLA7.js.map → chunk-RBGOGTT2.js.map} +0 -0
- /package/dist/{chunk-MZQTHSLN.js.map → chunk-S7HRED4D.js.map} +0 -0
- /package/dist/{chunk-LUMF63BM.js.map → chunk-SFAP5EH5.js.map} +0 -0
- /package/dist/{chunk-ZEBJT5JZ.js.map → chunk-SG6VULKS.js.map} +0 -0
- /package/dist/{chunk-GJQYM3PM.js.map → chunk-SHQWIDD5.js.map} +0 -0
- /package/dist/{chunk-24BUCMQA.js.map → chunk-SL4NFGOL.js.map} +0 -0
- /package/dist/{chunk-PHCSPHDH.js.map → chunk-SOHDPFOB.js.map} +0 -0
- /package/dist/{chunk-K2T2CQSZ.js.map → chunk-UF27D35R.js.map} +0 -0
- /package/dist/{chunk-B7BZAIHL.js.map → chunk-VOOPGAQO.js.map} +0 -0
- /package/dist/{chunk-GSTRPZS4.js.map → chunk-WEH5TCPE.js.map} +0 -0
- /package/dist/{chunk-MUVJD26L.js.map → chunk-WPR2HS5B.js.map} +0 -0
- /package/dist/{chunk-KT6HWAEN.js.map → chunk-WZUNBSS7.js.map} +0 -0
- /package/dist/{chunk-3JYYPJFD.js.map → chunk-X2J6MRJW.js.map} +0 -0
- /package/dist/{chunk-HEG7JIBM.js.map → chunk-X5MPHXG5.js.map} +0 -0
- /package/dist/{chunk-NFAKRI4S.js.map → chunk-XELVDPKL.js.map} +0 -0
- /package/dist/{chunk-EPNUVSNK.js.map → chunk-XFUNJYFT.js.map} +0 -0
- /package/dist/{chunk-4G3FGCWX.js.map → chunk-XXJRT6BP.js.map} +0 -0
- /package/dist/{chunk-QRX5BYUQ.js.map → chunk-Y6KPZQPI.js.map} +0 -0
- /package/dist/{chunk-KZSKI2R3.js.map → chunk-YLDS5FOQ.js.map} +0 -0
- /package/dist/{chunk-WX7VWW3W.js.map → chunk-ZBOFBRZC.js.map} +0 -0
- /package/dist/{chunk-HSAH5QUQ.js.map → chunk-ZIOCRSHU.js.map} +0 -0
- /package/dist/{chunk-HOJL2GKW.js.map → chunk-ZOUWHGV3.js.map} +0 -0
- /package/dist/{chunk-2ZDTGI5V.js.map → chunk-ZRFRU545.js.map} +0 -0
- /package/dist/native/chunks/{chunk-QZ233LRH.js.map → chunk-EKKNUEA6.js.map} +0 -0
- /package/dist/native/chunks/{chunk-L2UUNK2M.js.map → chunk-P3PL4WBO.js.map} +0 -0
- /package/dist/native/chunks/{chunk-VGBKUL6D.js.map → chunk-YTHR4Y5P.js.map} +0 -0
|
@@ -3,7 +3,14 @@ import { useTheme } from '@mui/material/styles/index.js';
|
|
|
3
3
|
import type { SxProps, Theme } from '@mui/material/styles/index.js';
|
|
4
4
|
import React from 'react';
|
|
5
5
|
|
|
6
|
+
import {
|
|
7
|
+
CONTAINER_COMPACT_PADDING_UNITS,
|
|
8
|
+
containerPaddingUnits,
|
|
9
|
+
containerVerticalUnits,
|
|
10
|
+
resolveContainerMaxWidth,
|
|
11
|
+
} from './Container.metrics';
|
|
6
12
|
import type { ContainerProps } from './Container.types';
|
|
13
|
+
import { resolveTestId, withoutTestIdProps } from '../../../platform/test-id';
|
|
7
14
|
|
|
8
15
|
export const Container: React.FC<ContainerProps> = ({
|
|
9
16
|
children,
|
|
@@ -11,34 +18,18 @@ export const Container: React.FC<ContainerProps> = ({
|
|
|
11
18
|
variant = 'default',
|
|
12
19
|
padding = 'md',
|
|
13
20
|
responsive = true,
|
|
14
|
-
dataTestId,
|
|
15
21
|
sx,
|
|
16
|
-
...
|
|
22
|
+
...others
|
|
17
23
|
}) => {
|
|
18
24
|
const theme = useTheme();
|
|
25
|
+
// `testID` and `dataTestId` are the shared contract's spellings; the DOM
|
|
26
|
+
// wants `data-testid`, and must not see the other two as attributes.
|
|
27
|
+
const testId = resolveTestId(others, 'container');
|
|
28
|
+
const props = withoutTestIdProps(others);
|
|
19
29
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
xs: theme.spacing(1),
|
|
24
|
-
sm: theme.spacing(2),
|
|
25
|
-
md: theme.spacing(3),
|
|
26
|
-
lg: theme.spacing(4),
|
|
27
|
-
xl: theme.spacing(6),
|
|
28
|
-
};
|
|
29
|
-
return paddingMap[padding] || theme.spacing(3);
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
const getMaxWidth = (): 'xs' | 'sm' | 'md' | 'lg' | 'xl' | false => {
|
|
33
|
-
if (variant === 'fluid') return false;
|
|
34
|
-
if (variant === 'centered') return 'md';
|
|
35
|
-
if (typeof maxWidth === 'string' && ['xs', 'sm', 'md', 'lg', 'xl'].includes(maxWidth)) {
|
|
36
|
-
return maxWidth as 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
37
|
-
}
|
|
38
|
-
if (maxWidth === false) return false;
|
|
39
|
-
return 'lg'; // default fallback
|
|
40
|
-
};
|
|
41
|
-
|
|
30
|
+
// From the shared metrics, not tables of our own: the native `Container`
|
|
31
|
+
// reads the same units and the same max-width rule, so the two renderers
|
|
32
|
+
// cannot disagree on an inset or a column width.
|
|
42
33
|
const containerStyles: SxProps<Theme> = {
|
|
43
34
|
...(variant === 'centered' && {
|
|
44
35
|
display: 'flex',
|
|
@@ -47,14 +38,20 @@ export const Container: React.FC<ContainerProps> = ({
|
|
|
47
38
|
justifyContent: 'center',
|
|
48
39
|
minHeight: '100vh',
|
|
49
40
|
}),
|
|
41
|
+
// The shorthand FIRST: a `paddingTop` declared before it is overridden by
|
|
42
|
+
// it, which is how `variant="padded"` painted no vertical inset at all.
|
|
43
|
+
padding: theme.spacing(containerPaddingUnits(padding, false)),
|
|
50
44
|
...(variant === 'padded' && {
|
|
51
|
-
paddingTop: theme.spacing(
|
|
52
|
-
paddingBottom: theme.spacing(
|
|
45
|
+
paddingTop: theme.spacing(containerVerticalUnits(variant, padding, false)),
|
|
46
|
+
paddingBottom: theme.spacing(containerVerticalUnits(variant, padding, false)),
|
|
53
47
|
}),
|
|
54
|
-
padding: getPadding(),
|
|
55
48
|
...(responsive && {
|
|
56
49
|
[theme.breakpoints.down('sm')]: {
|
|
57
|
-
padding: theme.spacing(
|
|
50
|
+
padding: theme.spacing(CONTAINER_COMPACT_PADDING_UNITS),
|
|
51
|
+
...(variant === 'padded' && {
|
|
52
|
+
paddingTop: theme.spacing(containerVerticalUnits(variant, padding, true)),
|
|
53
|
+
paddingBottom: theme.spacing(containerVerticalUnits(variant, padding, true)),
|
|
54
|
+
}),
|
|
58
55
|
},
|
|
59
56
|
}),
|
|
60
57
|
...(sx || {}),
|
|
@@ -62,9 +59,9 @@ export const Container: React.FC<ContainerProps> = ({
|
|
|
62
59
|
|
|
63
60
|
return (
|
|
64
61
|
<MuiContainer
|
|
65
|
-
maxWidth={
|
|
62
|
+
maxWidth={resolveContainerMaxWidth(variant, maxWidth)}
|
|
66
63
|
sx={containerStyles}
|
|
67
|
-
data-testid={
|
|
64
|
+
data-testid={testId}
|
|
68
65
|
{...props}
|
|
69
66
|
>
|
|
70
67
|
{children}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { StyleProp, ViewProps, ViewStyle } from 'react-native';
|
|
2
|
+
|
|
3
|
+
import type { ContainerBaseProps } from './Container.base';
|
|
4
|
+
|
|
5
|
+
export type { ContainerBaseProps, ContainerMaxWidth, ContainerPadding, ContainerVariant } from './Container.base';
|
|
6
|
+
|
|
7
|
+
/** The native `Container`: the shared contract, plus a `View`'s own props where they do not overlap. */
|
|
8
|
+
export type ContainerProps = ContainerBaseProps &
|
|
9
|
+
Omit<ViewProps, keyof ContainerBaseProps | 'style'> & {
|
|
10
|
+
style?: StyleProp<ViewStyle>;
|
|
11
|
+
};
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import type { ContainerProps as MuiContainerProps } from '@mui/material/Container/index.js';
|
|
2
|
-
import type { ReactNode } from 'react';
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
3
|
+
import type { ContainerBaseProps } from './Container.base';
|
|
4
|
+
|
|
5
|
+
export type { ContainerBaseProps, ContainerMaxWidth, ContainerPadding, ContainerVariant } from './Container.base';
|
|
6
|
+
|
|
7
|
+
/** The web `Container`: the shared contract, plus whatever MUI's `Container` accepts that it does not already name. */
|
|
8
|
+
export interface ContainerProps
|
|
9
|
+
extends ContainerBaseProps,
|
|
10
|
+
Omit<MuiContainerProps, keyof ContainerBaseProps> {}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
# Container on React Native — known gaps
|
|
2
|
+
|
|
3
|
+
- `responsive` reads `useWindowDimensions().width < 600` in place of MUI's `sm` media query, and `centered` reads the window height in place of `100vh`; both track the window, as CSS would, but a container inside a narrower parent still measures the window, not the parent.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { SizeValue } from '../../../tokens/vocabulary';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* THE CONTRACT BOTH `Spacer` RENDERERS HONOUR — and nothing else.
|
|
5
|
+
*
|
|
6
|
+
* No MUI and no react-native here, on purpose: this file ships in both
|
|
7
|
+
* declaration outputs (`dist/types` and `dist/types-native`), and a native
|
|
8
|
+
* consumer has no `@mui/material` to resolve a type import against.
|
|
9
|
+
*/
|
|
10
|
+
export type SpacerSize = SizeValue;
|
|
11
|
+
export type SpacerDirection = 'horizontal' | 'vertical' | 'both';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* An explicit dimension: a px number, a percentage, `auto`, or any CSS length.
|
|
15
|
+
* The web hands a string to the DOM as it is; the native renderer reads the CSS
|
|
16
|
+
* lengths it can (`rem`, `em`, `px`) against a 16px root and ignores the rest.
|
|
17
|
+
*/
|
|
18
|
+
export type SpacerDimension = number | string;
|
|
19
|
+
|
|
20
|
+
export interface SpacerBaseProps {
|
|
21
|
+
/** A step of the house scale, in spacing units — see `SPACER_SIZE_UNITS`. */
|
|
22
|
+
size?: SpacerSize;
|
|
23
|
+
/** Which axes the step applies to; the other keeps whatever `width`/`height` says. */
|
|
24
|
+
direction?: SpacerDirection;
|
|
25
|
+
/** Overrides the step on that axis, whatever `direction` is. */
|
|
26
|
+
width?: SpacerDimension;
|
|
27
|
+
height?: SpacerDimension;
|
|
28
|
+
/** Grow to fill the free space in a flex row or column. */
|
|
29
|
+
flex?: boolean;
|
|
30
|
+
testID?: string;
|
|
31
|
+
dataTestId?: string;
|
|
32
|
+
}
|
|
@@ -13,7 +13,8 @@ The Spacer component creates consistent spacing between elements in layouts. It'
|
|
|
13
13
|
| width | number \| string | - | Custom width value (overrides size when provided) |
|
|
14
14
|
| height | number \| string | - | Custom height value (overrides size when provided) |
|
|
15
15
|
| flex | boolean | false | When true, spacer flexes to fill available space |
|
|
16
|
-
| className | string | - | Additional CSS class for custom styling
|
|
16
|
+
| className | string | - | Additional CSS class for custom styling (web only) |
|
|
17
|
+
| testID / dataTestId | string | - | Test id, on both renderers (`data-testid` on the web) |
|
|
17
18
|
|
|
18
19
|
## Usage Examples
|
|
19
20
|
|
|
@@ -57,6 +58,17 @@ The Spacer component creates consistent spacing between elements in layouts. It'
|
|
|
57
58
|
<Spacer direction="vertical" size="sm" />
|
|
58
59
|
```
|
|
59
60
|
|
|
61
|
+
## React Native
|
|
62
|
+
|
|
63
|
+
The same import renders natively (`@12-apps/ui/layout/Spacer` resolves to
|
|
64
|
+
`Spacer.native.tsx` under Metro): an empty `View` sized from the same
|
|
65
|
+
`SPACER_SIZE_UNITS` the web hands to `theme.spacing`, so an `md` spacer is 16
|
|
66
|
+
wide on both sides. `width`/`height` take a number, a percentage or `auto` on
|
|
67
|
+
both renderers; a CSS length string (`2rem`, `20px`) is read against the 16px
|
|
68
|
+
root on native, and anything else (`calc()`, `vw`) yields to the size step.
|
|
69
|
+
`testID`, `dataTestId` and `data-testid` all name the element. See
|
|
70
|
+
[NATIVE.md](../../../../NATIVE.md).
|
|
71
|
+
|
|
60
72
|
## Accessibility Notes
|
|
61
73
|
|
|
62
74
|
- The Spacer component is purely presentational and has `aria-hidden="true"` to prevent screen readers from announcing it
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { SpacerDirection, SpacerSize } from './Spacer.base';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* THE NUMBERS BOTH `Spacer` RENDERERS DRAW WITH.
|
|
5
|
+
*
|
|
6
|
+
* `Spacer.tsx` used to hold the size steps as a `switch` over
|
|
7
|
+
* `theme.spacing(…)` calls, and `Spacer.native.tsx` would have held them again
|
|
8
|
+
* as a second table. Now there is one, in SPACING UNITS, and each renderer
|
|
9
|
+
* multiplies it out through its own `theme.spacing` — `'16px'` on the web,
|
|
10
|
+
* `16` on native — so an `md` spacer is 16 wide on both sides by construction.
|
|
11
|
+
*/
|
|
12
|
+
export const SPACER_SIZE_UNITS: Record<SpacerSize, number> = {
|
|
13
|
+
xs: 0.5,
|
|
14
|
+
sm: 1,
|
|
15
|
+
md: 2,
|
|
16
|
+
lg: 3,
|
|
17
|
+
xl: 4,
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export const SPACER_DEFAULT_SIZE: SpacerSize = 'md';
|
|
21
|
+
export const SPACER_DEFAULT_DIRECTION: SpacerDirection = 'both';
|
|
22
|
+
|
|
23
|
+
/** `flex` grows the spacer by one share of the free space; every spacer refuses to shrink. */
|
|
24
|
+
export const SPACER_FLEX_GROW = 1;
|
|
25
|
+
export const SPACER_FLEX_SHRINK = 0;
|
|
26
|
+
|
|
27
|
+
/** The geometry props, with the dimension type left to the renderer. */
|
|
28
|
+
export interface SpacerGeometry<Dimension> {
|
|
29
|
+
size?: SpacerSize;
|
|
30
|
+
direction?: SpacerDirection;
|
|
31
|
+
width?: Dimension;
|
|
32
|
+
height?: Dimension;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* The width and height a spacer occupies, on either renderer.
|
|
37
|
+
*
|
|
38
|
+
* An explicit `width`/`height` wins on its axis whatever `direction` says; the
|
|
39
|
+
* step fills only the axes `direction` names. `spacing` is the renderer's own
|
|
40
|
+
* `theme.spacing`, so the same units come out as `'16px'` on the web and `16`
|
|
41
|
+
* on native — the one resolver is what keeps the two from disagreeing.
|
|
42
|
+
*/
|
|
43
|
+
export function spacerDimensions<Dimension, Spacing>(
|
|
44
|
+
geometry: SpacerGeometry<Dimension>,
|
|
45
|
+
spacing: (units: number) => Spacing,
|
|
46
|
+
): { width: Dimension | Spacing | undefined; height: Dimension | Spacing | undefined } {
|
|
47
|
+
const { size = SPACER_DEFAULT_SIZE, direction = SPACER_DEFAULT_DIRECTION, width, height } = geometry;
|
|
48
|
+
// A size outside the vocabulary (a story control, an untyped caller) draws `md`,
|
|
49
|
+
// exactly as the old `switch` did in its `default` arm.
|
|
50
|
+
const step = spacing(SPACER_SIZE_UNITS[size] ?? SPACER_SIZE_UNITS[SPACER_DEFAULT_SIZE]);
|
|
51
|
+
return {
|
|
52
|
+
width: direction === 'vertical' ? width : (width ?? step),
|
|
53
|
+
height: direction === 'horizontal' ? height : (height ?? step),
|
|
54
|
+
};
|
|
55
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { View, type ViewStyle } from 'react-native';
|
|
3
|
+
|
|
4
|
+
import { SPACER_FLEX_GROW, SPACER_FLEX_SHRINK, spacerDimensions } from './Spacer.metrics';
|
|
5
|
+
import type { SpacerDimension, SpacerProps } from './Spacer.types.native';
|
|
6
|
+
import { resolveTestId, withoutTestIdProps } from '../../../platform/test-id';
|
|
7
|
+
import { useUiTheme } from '../../../provider/use-ui-theme.native';
|
|
8
|
+
import { cssLengthToPx } from '../../../tokens/css-units';
|
|
9
|
+
import type { BoxDimension } from '../Box/Box.base';
|
|
10
|
+
|
|
11
|
+
const PERCENTAGE = /^-?\d+(\.\d+)?%$/;
|
|
12
|
+
/** The lengths a 16px root can resolve. `vw`, `vh`, `ch`, `pt` and `calc()` cannot. */
|
|
13
|
+
const RESOLVABLE_LENGTH = /^-?\d+(\.\d+)?(px|rem|em)$/;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* A caller's dimension as React Native can take it. Numbers, percentages and
|
|
17
|
+
* `auto` pass through; a CSS length (`2rem`, `1.5em`, `20px`) is read against
|
|
18
|
+
* the 16px root the web would use, so the same string measures the same on
|
|
19
|
+
* both sides. Anything else (`calc()`, `vw`) is not a length React Native has,
|
|
20
|
+
* and yields to the size step — the same fallback an unset dimension takes.
|
|
21
|
+
*/
|
|
22
|
+
export function toNativeDimension(value: SpacerDimension | undefined): BoxDimension | undefined {
|
|
23
|
+
if (typeof value === 'number') return value;
|
|
24
|
+
if (typeof value !== 'string') return undefined;
|
|
25
|
+
if (value === 'auto') return 'auto';
|
|
26
|
+
if (PERCENTAGE.test(value)) return value as `${number}%`;
|
|
27
|
+
// Matched before conversion, because `cssLengthToPx` reads any string
|
|
28
|
+
// `parseFloat` can start — `50vw` would silently become 50 px.
|
|
29
|
+
if (!RESOLVABLE_LENGTH.test(value)) return undefined;
|
|
30
|
+
const px = cssLengthToPx(value, Number.NaN);
|
|
31
|
+
return Number.isNaN(px) ? undefined : px;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* The native `Spacer`: an empty `View` sized from the same metrics the web
|
|
36
|
+
* puts in `sx`. Hidden from assistive technology and deaf to touches, as the
|
|
37
|
+
* web one is to the pointer.
|
|
38
|
+
*/
|
|
39
|
+
export const Spacer = React.forwardRef<View, SpacerProps>(
|
|
40
|
+
({ size, direction, width, height, flex = false, style, ...others }, ref) => {
|
|
41
|
+
const theme = useUiTheme();
|
|
42
|
+
const dimensions = spacerDimensions(
|
|
43
|
+
{ size, direction, width: toNativeDimension(width), height: toNativeDimension(height) },
|
|
44
|
+
theme.spacing,
|
|
45
|
+
);
|
|
46
|
+
// `userSelect` is the one web declaration with no View equivalent: a
|
|
47
|
+
// React Native view holds no text to select.
|
|
48
|
+
const resolved: ViewStyle = {
|
|
49
|
+
width: dimensions.width,
|
|
50
|
+
height: dimensions.height,
|
|
51
|
+
flex: flex ? SPACER_FLEX_GROW : undefined,
|
|
52
|
+
flexShrink: SPACER_FLEX_SHRINK,
|
|
53
|
+
pointerEvents: 'none',
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
return (
|
|
57
|
+
<View
|
|
58
|
+
ref={ref}
|
|
59
|
+
aria-hidden
|
|
60
|
+
style={[resolved, style]}
|
|
61
|
+
testID={resolveTestId(others)}
|
|
62
|
+
{...withoutTestIdProps(others)}
|
|
63
|
+
/>
|
|
64
|
+
);
|
|
65
|
+
},
|
|
66
|
+
);
|
|
67
|
+
|
|
68
|
+
Spacer.displayName = 'Spacer';
|
|
@@ -2,64 +2,34 @@ import Box from '@mui/material/Box/index.js';
|
|
|
2
2
|
import { useTheme } from '@mui/material/styles/index.js';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
|
|
5
|
+
import { SPACER_FLEX_GROW, SPACER_FLEX_SHRINK, spacerDimensions } from './Spacer.metrics';
|
|
5
6
|
import type { SpacerProps } from './Spacer.types';
|
|
7
|
+
import { resolveTestId } from '../../../platform/test-id';
|
|
6
8
|
|
|
7
9
|
export const Spacer: React.FC<SpacerProps> = ({
|
|
8
|
-
size
|
|
9
|
-
direction
|
|
10
|
+
size,
|
|
11
|
+
direction,
|
|
10
12
|
width,
|
|
11
13
|
height,
|
|
12
14
|
flex = false,
|
|
13
15
|
className,
|
|
14
|
-
|
|
16
|
+
...testIdProps
|
|
15
17
|
}) => {
|
|
16
18
|
const theme = useTheme();
|
|
17
19
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
return theme.spacing(0.5);
|
|
22
|
-
case 'sm':
|
|
23
|
-
return theme.spacing(1);
|
|
24
|
-
case 'md':
|
|
25
|
-
return theme.spacing(2);
|
|
26
|
-
case 'lg':
|
|
27
|
-
return theme.spacing(3);
|
|
28
|
-
case 'xl':
|
|
29
|
-
return theme.spacing(4);
|
|
30
|
-
default:
|
|
31
|
-
return theme.spacing(2);
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
const getDimensions = () => {
|
|
36
|
-
const spacing = getSpacing();
|
|
37
|
-
|
|
38
|
-
let finalWidth = width;
|
|
39
|
-
let finalHeight = height;
|
|
40
|
-
|
|
41
|
-
if (direction === 'horizontal' || direction === 'both') {
|
|
42
|
-
finalWidth = width ?? spacing;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
if (direction === 'vertical' || direction === 'both') {
|
|
46
|
-
finalHeight = height ?? spacing;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
return { width: finalWidth, height: finalHeight };
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
const dimensions = getDimensions();
|
|
20
|
+
// From the shared metrics, not a table of our own: the native `Spacer` reads
|
|
21
|
+
// the same units, so the two renderers cannot disagree on a step.
|
|
22
|
+
const dimensions = spacerDimensions({ size, direction, width, height }, (units) => theme.spacing(units));
|
|
53
23
|
|
|
54
24
|
return (
|
|
55
25
|
<Box
|
|
56
26
|
className={className}
|
|
57
|
-
data-testid={
|
|
27
|
+
data-testid={resolveTestId(testIdProps)}
|
|
58
28
|
sx={{
|
|
59
29
|
width: dimensions.width,
|
|
60
30
|
height: dimensions.height,
|
|
61
|
-
flex: flex ?
|
|
62
|
-
flexShrink:
|
|
31
|
+
flex: flex ? SPACER_FLEX_GROW : undefined,
|
|
32
|
+
flexShrink: SPACER_FLEX_SHRINK,
|
|
63
33
|
pointerEvents: 'none',
|
|
64
34
|
userSelect: 'none',
|
|
65
35
|
}}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { StyleProp, ViewProps, ViewStyle } from 'react-native';
|
|
2
|
+
|
|
3
|
+
import type { SpacerBaseProps } from './Spacer.base';
|
|
4
|
+
|
|
5
|
+
export type { SpacerBaseProps, SpacerDimension, SpacerDirection, SpacerSize } from './Spacer.base';
|
|
6
|
+
|
|
7
|
+
/** The native `Spacer`: the shared contract, plus a `View`'s own props where they do not overlap. */
|
|
8
|
+
export type SpacerProps = SpacerBaseProps &
|
|
9
|
+
Omit<ViewProps, keyof SpacerBaseProps | 'style'> & {
|
|
10
|
+
style?: StyleProp<ViewStyle>;
|
|
11
|
+
};
|
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export type SpacerSize = SizeValue;
|
|
3
|
-
export type SpacerDirection = 'horizontal' | 'vertical' | 'both';
|
|
1
|
+
import type { SpacerBaseProps } from './Spacer.base';
|
|
4
2
|
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
height?: number | string;
|
|
10
|
-
flex?: boolean;
|
|
3
|
+
export type { SpacerBaseProps, SpacerDimension, SpacerDirection, SpacerSize } from './Spacer.base';
|
|
4
|
+
|
|
5
|
+
/** The web `Spacer`: the shared contract, plus the DOM's class hook and its own test-id spelling. */
|
|
6
|
+
export interface SpacerProps extends SpacerBaseProps {
|
|
11
7
|
className?: string;
|
|
12
8
|
'data-testid'?: string;
|
|
13
9
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { Spacer } from './Spacer';
|
|
2
|
-
export type { SpacerProps } from './Spacer.types';
|
|
2
|
+
export type { SpacerBaseProps, SpacerDimension, SpacerDirection, SpacerProps, SpacerSize } from './Spacer.types';
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
|
|
3
|
+
import type { HeadingLevel } from '../../../tokens/heading-scale';
|
|
4
|
+
import type { ColorValue } from '../../../tokens/vocabulary';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* THE CONTRACT BOTH `Heading` RENDERERS HONOUR — and nothing else.
|
|
8
|
+
*
|
|
9
|
+
* No MUI and no react-native here, on purpose: this file ships in both
|
|
10
|
+
* declaration outputs (`dist/types` and `dist/types-native`), and a native
|
|
11
|
+
* consumer has no `@mui/material` to resolve a type import against. The web
|
|
12
|
+
* adds a heading element's attributes in `Heading.types.ts`; the native side
|
|
13
|
+
* adds a react-native `Text`'s props in `Heading.types.native.ts`.
|
|
14
|
+
*/
|
|
15
|
+
export type { HeadingLevel };
|
|
16
|
+
|
|
17
|
+
export type HeadingWeight = 'light' | 'normal' | 'medium' | 'semibold' | 'bold';
|
|
18
|
+
|
|
19
|
+
export interface HeadingBaseProps {
|
|
20
|
+
/**
|
|
21
|
+
* The heading's RANK — which tag it renders (`aria-level` on native) and
|
|
22
|
+
* where it sits in the document outline. Not its size; see {@link HeadingBaseProps.size}.
|
|
23
|
+
*/
|
|
24
|
+
level?: HeadingLevel;
|
|
25
|
+
/**
|
|
26
|
+
* The step of the type scale to DRAW, when it differs from the rank. Defaults
|
|
27
|
+
* to `level`, so every call written before this prop existed renders exactly
|
|
28
|
+
* as it did.
|
|
29
|
+
*
|
|
30
|
+
* It exists because `level` used to do three jobs at once — pick the tag, set
|
|
31
|
+
* the outline rank, set the font size — with no way to separate them. A page
|
|
32
|
+
* title is an `h1` to a screen reader whatever it looks like, and a dense
|
|
33
|
+
* screen may not want it drawn at the rank's size. Before this the only way to
|
|
34
|
+
* say that was to override the component's CSS from outside, which each
|
|
35
|
+
* consuming app ended up doing in its own dialect.
|
|
36
|
+
*
|
|
37
|
+
* ```tsx
|
|
38
|
+
* <Heading level="h1" size="h3">Visão geral</Heading>
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* Reach for it when the two genuinely differ for ONE heading. If a whole
|
|
42
|
+
* product wants a different scale, set `typography.headingScale` on the theme
|
|
43
|
+
* instead — that is the knob for "our headings are smaller", and this is the
|
|
44
|
+
* one for "this heading is".
|
|
45
|
+
*/
|
|
46
|
+
size?: HeadingLevel;
|
|
47
|
+
color?: ColorValue;
|
|
48
|
+
/** `normal` is the weight the step was designed to carry, not body text's 400. */
|
|
49
|
+
weight?: HeadingWeight;
|
|
50
|
+
/** Paint the glyphs with the colour's two-stop gradient (the first stop, flat, on native). */
|
|
51
|
+
gradient?: boolean;
|
|
52
|
+
children: React.ReactNode;
|
|
53
|
+
testID?: string;
|
|
54
|
+
dataTestId?: string;
|
|
55
|
+
}
|
|
@@ -164,6 +164,19 @@ Gradient text uses CSS `background-clip: text` with fallback support:
|
|
|
164
164
|
- **Danger**: Linear gradient from error.light to error.dark
|
|
165
165
|
- **Default**: Primary to secondary gradient
|
|
166
166
|
|
|
167
|
+
## React Native
|
|
168
|
+
|
|
169
|
+
The same import renders natively (`@12-apps/ui/typography/Heading` resolves
|
|
170
|
+
to `Heading.native.tsx` under Metro): a react-native `Text` with
|
|
171
|
+
`role="heading"` and `aria-level` set from `level` (`display` announces 1),
|
|
172
|
+
drawn at `size ?? level` from the theme's heading scale
|
|
173
|
+
(`UiTheme.typography.heading`, `HEADING_SCALE` unless the host built its own)
|
|
174
|
+
with the same weights and colour mapping. `gradient` paints the gradient's
|
|
175
|
+
first stop as a flat colour — React Native has no `background-clip: text`
|
|
176
|
+
(see `NATIVE-NOTES.md`). `testID`, `dataTestId` and `data-testid` all name the
|
|
177
|
+
element; `onClick` and `onPress` both fire. See
|
|
178
|
+
[NATIVE.md](../../../../NATIVE.md).
|
|
179
|
+
|
|
167
180
|
## Accessibility
|
|
168
181
|
|
|
169
182
|
- Maintains proper semantic heading hierarchy
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { HeadingWeight } from './Heading.base';
|
|
2
|
+
import { HEADING_SCALE, type HeadingLevel } from '../../../tokens/heading-scale';
|
|
3
|
+
import { FONT_WEIGHTS, type UiTheme } from '../../../tokens/theme';
|
|
4
|
+
import type { ColorValue } from '../../../tokens/vocabulary';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* THE NUMBERS BOTH `Heading` RENDERERS DRAW WITH.
|
|
8
|
+
*
|
|
9
|
+
* The type scale itself is `HEADING_SCALE` in `tokens/heading-scale.ts` (the
|
|
10
|
+
* web reads it through the MUI theme's `headingScale` overrides, native
|
|
11
|
+
* through `UiTheme.typography.heading`). What lives here is everything ELSE
|
|
12
|
+
* `Heading.styles.ts` used to declare inline: the weight table, the defaults,
|
|
13
|
+
* the rank each level announces, and the gradient's angle and stops.
|
|
14
|
+
*/
|
|
15
|
+
export const HEADING_WEIGHTS: Record<HeadingWeight, number> = FONT_WEIGHTS;
|
|
16
|
+
|
|
17
|
+
export const HEADING_DEFAULT_LEVEL: HeadingLevel = 'h2';
|
|
18
|
+
export const HEADING_DEFAULT_WEIGHT: HeadingWeight = 'bold';
|
|
19
|
+
export const HEADING_DEFAULT_COLOR: ColorValue = 'neutral';
|
|
20
|
+
|
|
21
|
+
export type HeadingRank = 1 | 2 | 3 | 4 | 5 | 6;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* The outline rank each level announces — the tag on the web, `aria-level` on
|
|
25
|
+
* native. `display` is a SIZE, not a rank, so it is an h1: the document still
|
|
26
|
+
* gets one level-one heading rather than an unnamed tag outside the outline.
|
|
27
|
+
*/
|
|
28
|
+
export const HEADING_RANK: Record<HeadingLevel, HeadingRank> = {
|
|
29
|
+
display: 1,
|
|
30
|
+
h1: 1,
|
|
31
|
+
h2: 2,
|
|
32
|
+
h3: 3,
|
|
33
|
+
h4: 4,
|
|
34
|
+
h5: 5,
|
|
35
|
+
h6: 6,
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
/** A step name the scale actually has, or the documented default (`h2`). */
|
|
39
|
+
export const stepOf = (value: string | undefined): HeadingLevel =>
|
|
40
|
+
value !== undefined && value in HEADING_SCALE ? (value as HeadingLevel) : HEADING_DEFAULT_LEVEL;
|
|
41
|
+
|
|
42
|
+
const isHeadingWeight = (value: string): value is HeadingWeight => value in HEADING_WEIGHTS;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* The weight a heading draws: `normal` is the weight the step was designed to
|
|
46
|
+
* carry (heavier as the step gets larger), anything else its table entry, and
|
|
47
|
+
* a name outside the vocabulary the default — as `Heading.styles.ts` has
|
|
48
|
+
* always fallen back.
|
|
49
|
+
*/
|
|
50
|
+
export function headingWeight(weight: string, normalWeight: number): number {
|
|
51
|
+
if (weight === 'normal') return normalWeight;
|
|
52
|
+
return HEADING_WEIGHTS[isHeadingWeight(weight) ? weight : HEADING_DEFAULT_WEIGHT];
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/** The gradient runs corner to corner. */
|
|
56
|
+
export const HEADING_GRADIENT_ANGLE = 135;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* `neutral` has no light/dark pair, so its gradient runs between two steps of
|
|
60
|
+
* the grey ramp.
|
|
61
|
+
*/
|
|
62
|
+
export const NEUTRAL_GRADIENT_STEPS = { from: 500, to: 900 } as const;
|
|
63
|
+
|
|
64
|
+
/** The CSS the web paints the glyphs with, from the two stops. */
|
|
65
|
+
export const headingGradient = (from: string, to: string): string =>
|
|
66
|
+
`linear-gradient(${HEADING_GRADIENT_ANGLE}deg, ${from} 0%, ${to} 100%)`;
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* The two stops each colour paints its glyphs with, read off a `UiTheme`. The
|
|
70
|
+
* web's `Heading.styles.ts` keeps its MUI-typed twin of this table; the pairs
|
|
71
|
+
* are the same, and `Heading.native.test.tsx` asserts as much.
|
|
72
|
+
*/
|
|
73
|
+
export function headingGradientStops(theme: UiTheme, color: ColorValue): [string, string] {
|
|
74
|
+
switch (color) {
|
|
75
|
+
case 'primary':
|
|
76
|
+
return [theme.palette.primary.main, theme.palette.secondary.main];
|
|
77
|
+
case 'secondary':
|
|
78
|
+
return [theme.palette.secondary.main, theme.palette.primary.main];
|
|
79
|
+
case 'neutral':
|
|
80
|
+
return [theme.palette.grey[NEUTRAL_GRADIENT_STEPS.from], theme.palette.grey[NEUTRAL_GRADIENT_STEPS.to]];
|
|
81
|
+
default:
|
|
82
|
+
return [theme.palette[color].light, theme.palette[color].dark];
|
|
83
|
+
}
|
|
84
|
+
}
|