@12-apps/ui 6.17.1 → 6.19.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 +102 -0
- package/components-catalog.md +31 -4
- package/components-guidelines.md +16 -1
- 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 +10 -4
- package/dist/_internal/components/data-display/CardKit/card-actions-context.js +10 -3
- package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +17 -9
- package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +11 -5
- package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +9 -4
- package/dist/_internal/components/data-display/Carousel/Carousel.js +12 -7
- package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +8 -3
- package/dist/_internal/components/data-display/Carousel/Carousel.styles.js +8 -3
- package/dist/_internal/components/data-display/Chart/Chart.js +11 -6
- package/dist/_internal/components/data-display/Chart/SpecChart.js +14 -9
- package/dist/_internal/components/data-display/Chart/chart-context.js +9 -4
- package/dist/_internal/components/data-display/Chart/chart-internals.js +8 -3
- package/dist/_internal/components/data-display/Chart/chart-renderers.js +10 -5
- package/dist/_internal/components/data-display/DataGrid/DataGrid.js +2 -2
- package/dist/_internal/components/data-display/DataViews/DataViewsBoard.js +8 -2
- package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +45 -38
- package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +65 -56
- package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +12 -5
- package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +17 -10
- package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +14 -7
- package/dist/_internal/components/data-display/DataViews/base-card.js +8 -2
- package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +11 -5
- package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +10 -4
- package/dist/_internal/components/data-display/DataViews/base-list-card.js +12 -6
- package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-columns-tab.js +8 -2
- package/dist/_internal/components/data-display/DataViews/data-views-columns.js +11 -5
- package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +15 -8
- package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +8 -2
- package/dist/_internal/components/data-display/DataViews/data-views-empty.js +12 -5
- package/dist/_internal/components/data-display/DataViews/data-views-export.js +12 -5
- package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +2 -2
- package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +18 -11
- package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +10 -4
- package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +42 -35
- package/dist/_internal/components/data-display/DataViews/data-views-header-row.js +8 -2
- package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +16 -9
- package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +9 -3
- package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +14 -7
- 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 +12 -5
- package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +20 -13
- package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +25 -16
- package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +19 -12
- package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +12 -5
- package/dist/_internal/components/data-display/DataViews/list-card-rails.js +1 -1
- package/dist/_internal/components/data-display/DataViews/save-view-preview.js +8 -2
- package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +13 -7
- package/dist/_internal/components/data-display/DescriptionItem/DescriptionItem.js +8 -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/InteractiveTooltip/InteractiveTooltip.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.body.js +8 -3
- package/dist/_internal/components/data-display/Sheet/Sheet.hooks.js +2 -2
- package/dist/_internal/components/data-display/Sheet/Sheet.js +12 -7
- package/dist/_internal/components/data-display/Sheet/Sheet.styles.js +8 -3
- package/dist/_internal/components/data-display/Table/Table.js +3 -3
- package/dist/_internal/components/data-display/index.js +100 -87
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +10 -4
- package/dist/_internal/components/feedback/index.js +25 -19
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.hooks.js +2 -2
- 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/Button/Button.base.js +1 -0
- package/dist/_internal/components/form/Button/Button.base.js.map +1 -0
- package/dist/_internal/components/form/Button/Button.helpers.js +1 -1
- package/dist/_internal/components/form/Button/Button.js +9 -3
- package/dist/_internal/components/form/Button/Button.metrics.js +47 -0
- package/dist/_internal/components/form/Button/Button.metrics.js.map +1 -0
- package/dist/_internal/components/form/Button/Button.styles.js +6 -1
- package/dist/_internal/components/form/Command/Command.js +9 -4
- package/dist/_internal/components/form/Command/Command.styles.js +8 -3
- package/dist/_internal/components/form/Label/Label.js +9 -4
- package/dist/_internal/components/form/Label/Label.styles.js +8 -3
- package/dist/_internal/components/form/Menubar/Menubar.item.js +9 -4
- package/dist/_internal/components/form/Menubar/Menubar.js +11 -6
- package/dist/_internal/components/form/Menubar/Menubar.styles.js +8 -3
- package/dist/_internal/components/form/Menubar/Menubar.toolbar.js +10 -5
- package/dist/_internal/components/form/index.js +80 -73
- package/dist/_internal/components/form/total-form/Fields/index.js +2 -2
- package/dist/_internal/components/form/total-form/SubmitButton.js +10 -4
- package/dist/_internal/components/index.js +286 -268
- package/dist/_internal/components/layout/Box/Box.base.js +8 -0
- package/dist/_internal/components/layout/Box/Box.base.js.map +1 -0
- package/dist/_internal/components/layout/Box/Box.js +22 -0
- package/dist/_internal/components/layout/Box/Box.js.map +1 -0
- package/dist/_internal/components/layout/Box/Box.types.js +8 -0
- package/dist/_internal/components/layout/Box/Box.types.js.map +1 -0
- package/dist/_internal/components/layout/Box/box-layout.js +11 -0
- package/dist/_internal/components/layout/Box/box-layout.js.map +1 -0
- 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 +26 -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/Stack/Stack.base.js +1 -0
- package/dist/_internal/components/layout/Stack/Stack.base.js.map +1 -0
- package/dist/_internal/components/layout/Stack/Stack.js +22 -0
- package/dist/_internal/components/layout/Stack/Stack.js.map +1 -0
- package/dist/_internal/components/layout/Stack/Stack.types.js +1 -0
- package/dist/_internal/components/layout/Stack/Stack.types.js.map +1 -0
- package/dist/_internal/components/layout/Stack/with-dividers.js +8 -0
- package/dist/_internal/components/layout/Stack/with-dividers.js.map +1 -0
- package/dist/_internal/components/layout/index.js +27 -24
- package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +18 -11
- package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +8 -3
- package/dist/_internal/components/navigation/CommandPalette/CommandPalette.js +3 -3
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMegaSection.js +3 -3
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +5 -5
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMenuItem.js +2 -2
- package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +3 -3
- package/dist/_internal/components/navigation/Pagination/Pagination.js +2 -2
- package/dist/_internal/components/navigation/Tabs/Tabs.js +2 -2
- package/dist/_internal/components/navigation/index.js +43 -36
- 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 +9 -3
- 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 +7 -2
- 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/Text/Text.base.js +1 -0
- package/dist/_internal/components/typography/Text/Text.base.js.map +1 -0
- package/dist/_internal/components/typography/Text/Text.js +7 -1
- package/dist/_internal/components/typography/Text/Text.metrics.js +34 -0
- package/dist/_internal/components/typography/Text/Text.metrics.js.map +1 -0
- package/dist/_internal/components/typography/index.js +15 -7
- package/dist/_internal/components/utility/InstallPrompt/InstallPrompt.js +2 -2
- package/dist/_internal/components/utility/index.js +26 -26
- package/dist/_internal/icons/Icon.js +21 -0
- package/dist/_internal/icons/Icon.js.map +1 -0
- package/dist/_internal/icons/Icon.types.js +10 -0
- package/dist/_internal/icons/Icon.types.js.map +1 -0
- package/dist/_internal/icons/icon-color.js +10 -0
- package/dist/_internal/icons/icon-color.js.map +1 -0
- package/dist/_internal/icons/paths.generated.js +10 -0
- package/dist/_internal/icons/paths.generated.js.map +1 -0
- package/dist/_internal/platform/aria.js +11 -0
- package/dist/_internal/platform/aria.js.map +1 -0
- package/dist/_internal/platform/test-id.js +12 -0
- package/dist/_internal/platform/test-id.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/provider/UiProvider.js +17 -0
- package/dist/_internal/provider/UiProvider.js.map +1 -0
- package/dist/_internal/provider/UiProvider.types.js +8 -0
- package/dist/_internal/provider/UiProvider.types.js.map +1 -0
- package/dist/_internal/provider/mui-bridge.js +17 -0
- package/dist/_internal/provider/mui-bridge.js.map +1 -0
- package/dist/_internal/provider/ui-theme-context.js +9 -0
- package/dist/_internal/provider/ui-theme-context.js.map +1 -0
- package/dist/_internal/provider/use-ui-theme.js +16 -0
- package/dist/_internal/provider/use-ui-theme.js.map +1 -0
- package/dist/_internal/social-login-button/social-login-button.js +16 -8
- package/dist/_internal/tokens/color.js +26 -0
- package/dist/_internal/tokens/color.js.map +1 -0
- package/dist/_internal/tokens/css-units.js +10 -0
- package/dist/_internal/tokens/css-units.js.map +1 -0
- package/dist/_internal/tokens/heading-scale.js +10 -0
- package/dist/_internal/tokens/heading-scale.js.map +1 -0
- package/dist/_internal/tokens/mui-type.js +25 -0
- package/dist/_internal/tokens/mui-type.js.map +1 -0
- package/dist/_internal/tokens/theme.js +33 -0
- package/dist/_internal/tokens/theme.js.map +1 -0
- package/dist/_internal/tokens/typography.js +5 -3
- package/dist/_internal/tokens/vocabulary.js +22 -0
- package/dist/_internal/tokens/vocabulary.js.map +1 -0
- package/dist/_internal/user-avatar/user-avatar.js +12 -5
- package/dist/charts.js +20 -15
- package/dist/{chunk-VRHBJXZ7.js → chunk-2PCOC3PT.js} +62 -42
- package/dist/chunk-2PCOC3PT.js.map +1 -0
- 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-FJHNNSD3.js → chunk-4FRZDSRD.js} +5 -5
- package/dist/chunk-4GGH6ZQ7.js +14 -0
- package/dist/chunk-4GGH6ZQ7.js.map +1 -0
- package/dist/{chunk-2PPWKCMW.js → chunk-4N4ENTF7.js} +2 -2
- package/dist/{chunk-GFBNUWT5.js → chunk-4SXZSSVV.js} +6 -6
- package/dist/{chunk-6U7NA74A.js → chunk-5HOJSVQH.js} +2 -2
- package/dist/{chunk-2XGM5PDA.js → chunk-624TFFLJ.js} +5 -3
- package/dist/{chunk-2XGM5PDA.js.map → chunk-624TFFLJ.js.map} +1 -1
- package/dist/chunk-6D5WEZ2L.js +219 -0
- package/dist/chunk-6D5WEZ2L.js.map +1 -0
- package/dist/{chunk-AX7UFG2U.js → chunk-6DXYCXH4.js} +3 -3
- package/dist/chunk-6JAIFIPW.js +111 -0
- package/dist/chunk-6JAIFIPW.js.map +1 -0
- package/dist/{chunk-X4X4CVWJ.js → chunk-6JZE4IIN.js} +2 -2
- package/dist/{chunk-HEDOL2RV.js → chunk-72UYVJBQ.js} +3 -3
- package/dist/{chunk-ZDWU52DJ.js → chunk-7AR2R7TV.js} +4 -4
- package/dist/{chunk-KVN3K4J3.js → chunk-7DFEKTT7.js} +12 -16
- package/dist/chunk-7DFEKTT7.js.map +1 -0
- package/dist/{chunk-B6IURHSZ.js → chunk-7DNQHMDO.js} +4 -4
- package/dist/chunk-7JXLGOM2.js +25 -0
- package/dist/chunk-7JXLGOM2.js.map +1 -0
- package/dist/chunk-7V6ZRQYW.js +90 -0
- package/dist/chunk-7V6ZRQYW.js.map +1 -0
- package/dist/{chunk-GT7C6TSM.js → chunk-7WL24VNI.js} +5 -5
- package/dist/chunk-7ZPUN7TV.js +29 -0
- package/dist/chunk-7ZPUN7TV.js.map +1 -0
- package/dist/chunk-AG66JBNH.js +21 -0
- package/dist/chunk-AG66JBNH.js.map +1 -0
- package/dist/{chunk-ELYLG4F7.js → chunk-AP4FLCLA.js} +5 -5
- 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-WR6F6J43.js → chunk-BUDXR3EV.js} +3 -3
- package/dist/{chunk-MUAVYVDJ.js → chunk-BVZVH3ZN.js} +3 -3
- package/dist/{chunk-CBPQJAHX.js → chunk-C6XESZ3R.js} +5 -5
- package/dist/{chunk-RP3W6IQO.js → chunk-CPNSVIIB.js} +5 -5
- package/dist/{chunk-45OIUWGO.js → chunk-CRNQVWIT.js} +8 -8
- package/dist/{chunk-T4SM36XC.js → chunk-D7FJ2GAD.js} +2 -2
- package/dist/{chunk-G7CFUI4I.js → chunk-DLFOEXUP.js} +2 -2
- package/dist/{chunk-SCGVB7DS.js → chunk-DOADQW7I.js} +2 -2
- package/dist/{chunk-RIAIJTEW.js → chunk-DOMEYGTN.js} +2 -2
- package/dist/{chunk-7HPPUO2A.js → chunk-DQHC5P64.js} +3 -3
- package/dist/{chunk-6YLAVHV4.js → chunk-DTKMBI7B.js} +4 -4
- package/dist/{chunk-24LW52EU.js → chunk-DX527XPL.js} +2 -2
- 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-3LO5JWTC.js → chunk-E5ZHW4I5.js} +4 -4
- package/dist/{chunk-CXA6UNFF.js → chunk-EMNGIYH6.js} +4 -4
- package/dist/{chunk-A4YWFX5C.js → chunk-ENNW5SKT.js} +2 -2
- package/dist/{chunk-EGRFMPGD.js → chunk-EXJBPKGW.js} +4 -4
- package/dist/{chunk-DWUMMMLR.js → chunk-FOMK3WPG.js} +2 -2
- package/dist/{chunk-7CA6GVBO.js → chunk-FZXKH2ZT.js} +3 -7
- package/dist/chunk-FZXKH2ZT.js.map +1 -0
- package/dist/{chunk-6CBYPMYQ.js → chunk-GBFGZJB5.js} +2 -2
- package/dist/chunk-H2EQVMU3.js +49 -0
- package/dist/chunk-H2EQVMU3.js.map +1 -0
- package/dist/{chunk-XSKVBGCZ.js → chunk-HKV4MQ2W.js} +2 -2
- package/dist/{chunk-DQIQKIEA.js → chunk-HKZHEK3Z.js} +3 -3
- package/dist/{chunk-VR5HDUBK.js → chunk-HP2ODXNA.js} +2 -2
- package/dist/{chunk-O6J4CKS5.js → chunk-IIOEQRXX.js} +30 -13
- package/dist/chunk-IIOEQRXX.js.map +1 -0
- package/dist/{chunk-4Y65Q3CR.js → chunk-ISSJNFJV.js} +3 -3
- package/dist/chunk-ITGG5OKP.js +86 -0
- package/dist/chunk-ITGG5OKP.js.map +1 -0
- package/dist/{chunk-X24P3ZYW.js → chunk-J4W4TQPC.js} +6 -6
- package/dist/chunk-J6UFAMIC.js +19 -0
- package/dist/chunk-J6UFAMIC.js.map +1 -0
- package/dist/{chunk-5ZOJLYD2.js → chunk-JE6RZ5L6.js} +4 -4
- package/dist/{chunk-NYUGX76C.js → chunk-JT6TERQL.js} +20 -17
- package/dist/chunk-JT6TERQL.js.map +1 -0
- package/dist/chunk-JZT5XP23.js +48 -0
- package/dist/chunk-JZT5XP23.js.map +1 -0
- package/dist/{chunk-6RFL7HGI.js → chunk-KADJNWTQ.js} +4 -4
- package/dist/{chunk-EB4BTKKY.js → chunk-KKYW3LU7.js} +4 -4
- package/dist/chunk-KLREH4X6.js +16 -0
- package/dist/chunk-KLREH4X6.js.map +1 -0
- package/dist/{chunk-RQ4EQ5FJ.js → chunk-L65LF6LN.js} +2 -2
- package/dist/{chunk-FH4VARZ7.js → chunk-L6KEVPXN.js} +7 -7
- package/dist/{chunk-SRMWCN5D.js → chunk-LDE4ELB5.js} +6 -6
- package/dist/{chunk-FF55LRSV.js → chunk-LIOVN5IM.js} +2 -2
- package/dist/{chunk-NBNLGTRB.js → chunk-LLABVZM3.js} +21 -29
- package/dist/chunk-LLABVZM3.js.map +1 -0
- package/dist/{chunk-KXNWDXR7.js → chunk-M2K7BPHX.js} +2 -2
- package/dist/{chunk-VVXRIPV5.js → chunk-MCRIT46W.js} +7 -7
- package/dist/{chunk-WLDK74RR.js → chunk-MSUSZLRE.js} +2 -2
- 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-N7MJ6CNC.js +30 -0
- package/dist/chunk-N7MJ6CNC.js.map +1 -0
- package/dist/{chunk-MD6T7MDT.js → chunk-NECUCG2S.js} +11 -11
- package/dist/{chunk-A3KY6NUA.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-NQN5Z36J.js +182 -0
- package/dist/chunk-NQN5Z36J.js.map +1 -0
- package/dist/chunk-OCUVKI63.js +35 -0
- package/dist/chunk-OCUVKI63.js.map +1 -0
- package/dist/{chunk-REMK55JI.js → chunk-OLZTGVBT.js} +4 -4
- package/dist/{chunk-WME2F2YY.js → chunk-OR7UH2ZQ.js} +3 -3
- package/dist/{chunk-PKJKA4CU.js → chunk-OZWQNFG6.js} +6 -6
- package/dist/{chunk-23FCBIUN.js → chunk-P7FQUGED.js} +8 -8
- package/dist/{chunk-6TYSEAAT.js → chunk-PC3ZFERM.js} +4 -4
- package/dist/{chunk-T53L42XW.js → chunk-PMS3H3OO.js} +10 -10
- package/dist/{chunk-TCAB2ERD.js → chunk-PNYXXLPU.js} +2 -2
- package/dist/chunk-PT6TCWIW.js +13 -0
- package/dist/chunk-PT6TCWIW.js.map +1 -0
- package/dist/{chunk-QCIWROKG.js → chunk-PWR7K5OP.js} +17 -15
- package/dist/chunk-PWR7K5OP.js.map +1 -0
- package/dist/{chunk-EY4LPLIR.js → chunk-QJJUTBKZ.js} +3 -3
- package/dist/chunk-QKLGH3RZ.js +29 -0
- package/dist/chunk-QKLGH3RZ.js.map +1 -0
- package/dist/chunk-QLWBQQW7.js +18 -0
- package/dist/chunk-QLWBQQW7.js.map +1 -0
- package/dist/chunk-QWBQVQRG.js +18 -0
- package/dist/chunk-QWBQVQRG.js.map +1 -0
- package/dist/{chunk-VJKRJYZL.js → chunk-QZPNQWS2.js} +2 -2
- package/dist/{chunk-5QXSPLWU.js → chunk-R6SSXEK2.js} +2 -2
- package/dist/{chunk-W2UTDN4T.js → chunk-RBGOGTT2.js} +4 -4
- package/dist/chunk-RKCS6K36.js +48 -0
- package/dist/chunk-RKCS6K36.js.map +1 -0
- package/dist/chunk-RLC46NIW.js +47 -0
- package/dist/chunk-RLC46NIW.js.map +1 -0
- package/dist/{chunk-NR3J7VQL.js → chunk-RNCQ5KHQ.js} +2 -2
- package/dist/chunk-RTSK5OZT.js +15 -0
- package/dist/chunk-RTSK5OZT.js.map +1 -0
- package/dist/{chunk-7FOOLP5H.js → chunk-RXSGHPCR.js} +4 -4
- package/dist/{chunk-Z56IO7OV.js → chunk-RXVPUW7V.js} +2 -2
- package/dist/{chunk-JPDKRGYI.js → chunk-S7HRED4D.js} +3 -3
- package/dist/{chunk-5VVM2PPV.js → chunk-SG6VULKS.js} +3 -3
- package/dist/{chunk-IAQFQNBL.js → chunk-SL4NFGOL.js} +13 -7
- package/dist/chunk-SL4NFGOL.js.map +1 -0
- package/dist/{chunk-SLYZMJEL.js → chunk-SOHDPFOB.js} +3 -3
- package/dist/{chunk-FWL2N2KH.js → chunk-SX3V2DLV.js} +2 -2
- package/dist/{chunk-AUYC5K5K.js → chunk-TAMIZE4Q.js} +1 -1
- package/dist/chunk-TAMIZE4Q.js.map +1 -0
- package/dist/{chunk-3GOX75ZM.js → chunk-TF4TPLF2.js} +2 -2
- package/dist/{chunk-3DQP6OPC.js → chunk-THBT56JE.js} +2 -2
- package/dist/chunk-TLGGVE56.js +37 -0
- package/dist/chunk-TLGGVE56.js.map +1 -0
- package/dist/{chunk-RRX6ZTNX.js → chunk-UEJQQVP2.js} +4 -4
- 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-V3PLFYKO.js +34 -0
- package/dist/chunk-V3PLFYKO.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-V5IOLAIS.js +22 -0
- package/dist/chunk-V5IOLAIS.js.map +1 -0
- package/dist/chunk-VJK5FBNK.js +46 -0
- package/dist/chunk-VJK5FBNK.js.map +1 -0
- package/dist/{chunk-N34YHFZW.js → chunk-W2YNUUVJ.js} +2 -2
- package/dist/{chunk-XULTDO56.js → chunk-WZUNBSS7.js} +2 -2
- package/dist/{chunk-3JYYPJFD.js → chunk-X2J6MRJW.js} +2 -2
- package/dist/chunk-X5D3PTWI.js +58 -0
- package/dist/chunk-X5D3PTWI.js.map +1 -0
- package/dist/{chunk-HEG7JIBM.js → chunk-X5MPHXG5.js} +4 -4
- package/dist/{chunk-3QGRQNTP.js → chunk-XELVDPKL.js} +3 -3
- package/dist/{chunk-EPNUVSNK.js → chunk-XFUNJYFT.js} +7 -7
- package/dist/{chunk-AVU6KU27.js → chunk-XXDXW6TX.js} +2 -2
- package/dist/{chunk-WMALDOF5.js → chunk-XXJRT6BP.js} +4 -4
- package/dist/chunk-XZTRZ3HO.js +7 -0
- package/dist/chunk-XZTRZ3HO.js.map +1 -0
- package/dist/{chunk-6HNEEJES.js → chunk-Y6KPZQPI.js} +6 -6
- package/dist/{chunk-COSJTD6Z.js → chunk-YLDS5FOQ.js} +2 -2
- package/dist/chunk-YMRI5QKG.js +134 -0
- package/dist/chunk-YMRI5QKG.js.map +1 -0
- package/dist/chunk-YSTHOE66.js +51 -0
- package/dist/chunk-YSTHOE66.js.map +1 -0
- package/dist/{chunk-HQJ75HHI.js → chunk-Z7JNCB5Q.js} +26 -13
- package/dist/chunk-Z7JNCB5Q.js.map +1 -0
- package/dist/{chunk-PMFW55F5.js → chunk-ZIOCRSHU.js} +4 -4
- package/dist/{chunk-WC3W36AM.js → chunk-ZOUWHGV3.js} +4 -4
- package/dist/{chunk-2ZDTGI5V.js → chunk-ZRFRU545.js} +7 -7
- package/dist/{chunk-DJORMYOV.js → chunk-ZU3SWR4I.js} +2 -2
- 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 +18 -10
- package/dist/data-display/Carousel.js +12 -7
- package/dist/data-display/Chart.js +20 -15
- package/dist/data-display/DataGrid.js +2 -2
- package/dist/data-display/DataViews.js +77 -68
- package/dist/data-display/DescriptionItem.js +8 -2
- 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/InteractiveTooltip.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 +12 -7
- package/dist/data-display/Table.js +3 -3
- package/dist/en-US.js +8 -8
- package/dist/feedback/ConfirmAction.js +13 -7
- package/dist/form/AddressAutocomplete.js +7 -7
- package/dist/form/Button.js +9 -3
- package/dist/form/Command.js +9 -4
- package/dist/form/Label.js +9 -4
- package/dist/form/Menubar.js +11 -6
- package/dist/form/total-form.js +12 -6
- package/dist/icons.js +31 -0
- package/dist/icons.js.map +1 -0
- package/dist/layout/Box.js +23 -0
- package/dist/layout/Box.js.map +1 -0
- 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/layout/Stack.js +22 -0
- package/dist/layout/Stack.js.map +1 -0
- package/dist/locales.js +25 -25
- 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-5WLOVHKK.js +29 -0
- package/dist/native/chunks/chunk-5WLOVHKK.js.map +1 -0
- package/dist/native/chunks/chunk-EKKNUEA6.js +136 -0
- package/dist/native/chunks/chunk-EKKNUEA6.js.map +1 -0
- package/dist/native/chunks/chunk-M4DTJDWU.js +18 -0
- package/dist/native/chunks/chunk-M4DTJDWU.js.map +1 -0
- package/dist/native/chunks/chunk-P3PL4WBO.js +317 -0
- package/dist/native/chunks/chunk-P3PL4WBO.js.map +1 -0
- 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-YTHR4Y5P.js +21 -0
- package/dist/native/chunks/chunk-YTHR4Y5P.js.map +1 -0
- 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 +11 -0
- package/dist/native/form/Button.js.map +1 -0
- package/dist/native/icons.js +19 -0
- package/dist/native/icons.js.map +1 -0
- package/dist/native/layout/Box.js +12 -0
- package/dist/native/layout/Box.js.map +1 -0
- package/dist/native/layout/Container.js +87 -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 +30 -0
- package/dist/native/layout/Stack.js.map +1 -0
- package/dist/native/provider.js +26 -0
- package/dist/native/provider.js.map +1 -0
- package/dist/native/tokens.js +65 -0
- package/dist/native/tokens.js.map +1 -0
- 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 +131 -0
- package/dist/native/typography/Text.js.map +1 -0
- package/dist/navigation/AppHeader.js +23 -16
- package/dist/navigation/CommandPalette.js +3 -3
- package/dist/navigation/NavigationMenu.js +5 -5
- package/dist/navigation/Pagination.js +2 -2
- package/dist/navigation/Tabs.js +2 -2
- package/dist/provider.js +26 -0
- package/dist/provider.js.map +1 -0
- package/dist/pt-BR.js +8 -8
- package/dist/social-login-button.js +16 -8
- package/dist/tokens.js +59 -6
- 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/form/Button/Button.base.d.ts +65 -0
- package/dist/types/components/form/Button/Button.base.d.ts.map +1 -0
- package/dist/types/components/form/Button/Button.d.ts.map +1 -1
- package/dist/types/components/form/Button/Button.helpers.d.ts +7 -3
- package/dist/types/components/form/Button/Button.helpers.d.ts.map +1 -1
- package/dist/types/components/form/Button/Button.metrics.d.ts +52 -0
- package/dist/types/components/form/Button/Button.metrics.d.ts.map +1 -0
- package/dist/types/components/form/Button/Button.styles.d.ts.map +1 -1
- package/dist/types/components/form/Button/Button.types.d.ts +3 -46
- package/dist/types/components/form/Button/Button.types.d.ts.map +1 -1
- package/dist/types/components/form/Button/index.d.ts +1 -1
- package/dist/types/components/form/Button/index.d.ts.map +1 -1
- package/dist/types/components/layout/Box/Box.base.d.ts +60 -0
- package/dist/types/components/layout/Box/Box.base.d.ts.map +1 -0
- package/dist/types/components/layout/Box/Box.d.ts +10 -0
- package/dist/types/components/layout/Box/Box.d.ts.map +1 -0
- package/dist/types/components/layout/Box/Box.types.d.ts +11 -0
- package/dist/types/components/layout/Box/Box.types.d.ts.map +1 -0
- package/dist/types/components/layout/Box/box-layout.d.ts +42 -0
- package/dist/types/components/layout/Box/box-layout.d.ts.map +1 -0
- package/dist/types/components/layout/Box/index.d.ts +5 -0
- package/dist/types/components/layout/Box/index.d.ts.map +1 -0
- 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 +51 -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/layout/Stack/Stack.base.d.ts +13 -0
- package/dist/types/components/layout/Stack/Stack.base.d.ts.map +1 -0
- package/dist/types/components/layout/Stack/Stack.d.ts +4 -0
- package/dist/types/components/layout/Stack/Stack.d.ts.map +1 -0
- package/dist/types/components/layout/Stack/Stack.types.d.ts +5 -0
- package/dist/types/components/layout/Stack/Stack.types.d.ts.map +1 -0
- package/dist/types/components/layout/Stack/index.d.ts +3 -0
- package/dist/types/components/layout/Stack/index.d.ts.map +1 -0
- package/dist/types/components/layout/Stack/with-dividers.d.ts +4 -0
- package/dist/types/components/layout/Stack/with-dividers.d.ts.map +1 -0
- 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/components/typography/Text/Text.base.d.ts +23 -0
- package/dist/types/components/typography/Text/Text.base.d.ts.map +1 -0
- package/dist/types/components/typography/Text/Text.d.ts.map +1 -1
- package/dist/types/components/typography/Text/Text.metrics.d.ts +29 -0
- package/dist/types/components/typography/Text/Text.metrics.d.ts.map +1 -0
- package/dist/types/components/typography/Text/Text.types.d.ts +3 -11
- package/dist/types/components/typography/Text/Text.types.d.ts.map +1 -1
- package/dist/types/components/typography/Text/index.d.ts +1 -1
- package/dist/types/components/typography/Text/index.d.ts.map +1 -1
- package/dist/types/icons/Icon.d.ts +13 -0
- package/dist/types/icons/Icon.d.ts.map +1 -0
- package/dist/types/icons/Icon.types.d.ts +30 -0
- package/dist/types/icons/Icon.types.d.ts.map +1 -0
- package/dist/types/icons/icon-color.d.ts +10 -0
- package/dist/types/icons/icon-color.d.ts.map +1 -0
- package/dist/types/icons/index.d.ts +6 -0
- package/dist/types/icons/index.d.ts.map +1 -0
- package/dist/types/icons/paths.generated.d.ts +43 -0
- package/dist/types/icons/paths.generated.d.ts.map +1 -0
- package/dist/types/platform/aria.d.ts +29 -0
- package/dist/types/platform/aria.d.ts.map +1 -0
- package/dist/types/platform/test-id.d.ts +21 -0
- package/dist/types/platform/test-id.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/provider/UiProvider.d.ts +15 -0
- package/dist/types/provider/UiProvider.d.ts.map +1 -0
- package/dist/types/provider/UiProvider.types.d.ts +17 -0
- package/dist/types/provider/UiProvider.types.d.ts.map +1 -0
- package/dist/types/provider/index.d.ts +5 -0
- package/dist/types/provider/index.d.ts.map +1 -0
- package/dist/types/provider/mui-bridge.d.ts +7 -0
- package/dist/types/provider/mui-bridge.d.ts.map +1 -0
- package/dist/types/provider/ui-theme-context.d.ts +12 -0
- package/dist/types/provider/ui-theme-context.d.ts.map +1 -0
- package/dist/types/provider/use-ui-theme.d.ts +11 -0
- package/dist/types/provider/use-ui-theme.d.ts.map +1 -0
- package/dist/types/tokens/color.d.ts +44 -0
- package/dist/types/tokens/color.d.ts.map +1 -0
- package/dist/types/tokens/css-units.d.ts +14 -0
- package/dist/types/tokens/css-units.d.ts.map +1 -0
- package/dist/types/tokens/heading-scale.d.ts +65 -0
- package/dist/types/tokens/heading-scale.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/tokens/scales.d.ts +9 -114
- package/dist/types/tokens/scales.d.ts.map +1 -1
- package/dist/types/tokens/theme.d.ts +166 -0
- package/dist/types/tokens/theme.d.ts.map +1 -0
- package/dist/types/tokens/typography.d.ts +6 -62
- package/dist/types/tokens/typography.d.ts.map +1 -1
- package/dist/types/tokens/vocabulary.d.ts +117 -0
- package/dist/types/tokens/vocabulary.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.base.d.ts +65 -0
- package/dist/types-native/components/form/Button/Button.base.d.ts.map +1 -0
- package/dist/types-native/components/form/Button/Button.helpers.d.ts +10 -0
- package/dist/types-native/components/form/Button/Button.helpers.d.ts.map +1 -0
- package/dist/types-native/components/form/Button/Button.metrics.d.ts +52 -0
- package/dist/types-native/components/form/Button/Button.metrics.d.ts.map +1 -0
- package/dist/types-native/components/form/Button/Button.native.d.ts +10 -0
- package/dist/types-native/components/form/Button/Button.native.d.ts.map +1 -0
- package/dist/types-native/components/form/Button/Button.types.native.d.ts +17 -0
- package/dist/types-native/components/form/Button/Button.types.native.d.ts.map +1 -0
- package/dist/types-native/components/form/Button/index.native.d.ts +3 -0
- package/dist/types-native/components/form/Button/index.native.d.ts.map +1 -0
- package/dist/types-native/components/layout/Box/Box.base.d.ts +60 -0
- package/dist/types-native/components/layout/Box/Box.base.d.ts.map +1 -0
- package/dist/types-native/components/layout/Box/Box.native.d.ts +7 -0
- package/dist/types-native/components/layout/Box/Box.native.d.ts.map +1 -0
- package/dist/types-native/components/layout/Box/Box.types.native.d.ts +9 -0
- package/dist/types-native/components/layout/Box/Box.types.native.d.ts.map +1 -0
- package/dist/types-native/components/layout/Box/box-layout.d.ts +42 -0
- package/dist/types-native/components/layout/Box/box-layout.d.ts.map +1 -0
- package/dist/types-native/components/layout/Box/index.native.d.ts +5 -0
- package/dist/types-native/components/layout/Box/index.native.d.ts.map +1 -0
- 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 +51 -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/layout/Stack/Stack.base.d.ts +13 -0
- package/dist/types-native/components/layout/Stack/Stack.base.d.ts.map +1 -0
- package/dist/types-native/components/layout/Stack/Stack.native.d.ts +4 -0
- package/dist/types-native/components/layout/Stack/Stack.native.d.ts.map +1 -0
- package/dist/types-native/components/layout/Stack/Stack.types.native.d.ts +5 -0
- package/dist/types-native/components/layout/Stack/Stack.types.native.d.ts.map +1 -0
- package/dist/types-native/components/layout/Stack/index.native.d.ts +3 -0
- package/dist/types-native/components/layout/Stack/index.native.d.ts.map +1 -0
- package/dist/types-native/components/layout/Stack/with-dividers.d.ts +4 -0
- package/dist/types-native/components/layout/Stack/with-dividers.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/components/typography/Text/Text.base.d.ts +23 -0
- package/dist/types-native/components/typography/Text/Text.base.d.ts.map +1 -0
- package/dist/types-native/components/typography/Text/Text.metrics.d.ts +29 -0
- package/dist/types-native/components/typography/Text/Text.metrics.d.ts.map +1 -0
- package/dist/types-native/components/typography/Text/Text.native.d.ts +25 -0
- package/dist/types-native/components/typography/Text/Text.native.d.ts.map +1 -0
- package/dist/types-native/components/typography/Text/Text.types.native.d.ts +8 -0
- package/dist/types-native/components/typography/Text/Text.types.native.d.ts.map +1 -0
- package/dist/types-native/components/typography/Text/index.native.d.ts +3 -0
- package/dist/types-native/components/typography/Text/index.native.d.ts.map +1 -0
- package/dist/types-native/icons/Icon.native.d.ts +15 -0
- package/dist/types-native/icons/Icon.native.d.ts.map +1 -0
- package/dist/types-native/icons/Icon.types.d.ts +30 -0
- package/dist/types-native/icons/Icon.types.d.ts.map +1 -0
- package/dist/types-native/icons/icon-color.d.ts +10 -0
- package/dist/types-native/icons/icon-color.d.ts.map +1 -0
- package/dist/types-native/icons/index.native.d.ts +6 -0
- package/dist/types-native/icons/index.native.d.ts.map +1 -0
- package/dist/types-native/icons/paths.generated.d.ts +43 -0
- package/dist/types-native/icons/paths.generated.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/test-id.d.ts +21 -0
- package/dist/types-native/platform/test-id.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/provider/UiProvider.native.d.ts +8 -0
- package/dist/types-native/provider/UiProvider.native.d.ts.map +1 -0
- package/dist/types-native/provider/UiProvider.types.d.ts +17 -0
- package/dist/types-native/provider/UiProvider.types.d.ts.map +1 -0
- package/dist/types-native/provider/index.native.d.ts +4 -0
- package/dist/types-native/provider/index.native.d.ts.map +1 -0
- package/dist/types-native/provider/ui-theme-context.d.ts +12 -0
- package/dist/types-native/provider/ui-theme-context.d.ts.map +1 -0
- package/dist/types-native/provider/use-ui-theme.native.d.ts +4 -0
- package/dist/types-native/provider/use-ui-theme.native.d.ts.map +1 -0
- package/dist/types-native/tokens/color.d.ts +44 -0
- package/dist/types-native/tokens/color.d.ts.map +1 -0
- package/dist/types-native/tokens/css-units.d.ts +14 -0
- package/dist/types-native/tokens/css-units.d.ts.map +1 -0
- package/dist/types-native/tokens/heading-scale.d.ts +65 -0
- package/dist/types-native/tokens/heading-scale.d.ts.map +1 -0
- package/dist/types-native/tokens/index.native.d.ts +10 -0
- package/dist/types-native/tokens/index.native.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/types-native/tokens/theme.d.ts +166 -0
- package/dist/types-native/tokens/theme.d.ts.map +1 -0
- package/dist/types-native/tokens/vocabulary.d.ts +117 -0
- package/dist/types-native/tokens/vocabulary.d.ts.map +1 -0
- package/dist/typography/Heading.js +9 -3
- package/dist/typography/Paragraph.js +7 -1
- package/dist/typography/Text.js +7 -1
- package/dist/user-avatar.js +12 -5
- package/dist/utility/InstallPrompt.js +2 -2
- package/package.json +111 -7
- 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.base.ts +80 -0
- package/src/components/form/Button/Button.helpers.ts +12 -7
- package/src/components/form/Button/Button.metrics.ts +101 -0
- package/src/components/form/Button/Button.native.tsx +323 -0
- package/src/components/form/Button/Button.styles.ts +16 -16
- package/src/components/form/Button/Button.tsx +8 -5
- package/src/components/form/Button/Button.types.native.ts +27 -0
- package/src/components/form/Button/Button.types.ts +8 -58
- package/src/components/form/Button/index.native.ts +2 -0
- package/src/components/form/Button/index.ts +1 -1
- package/src/components/layout/Box/Box.base.ts +69 -0
- package/src/components/layout/Box/Box.md +46 -0
- package/src/components/layout/Box/Box.native.tsx +22 -0
- package/src/components/layout/Box/Box.tsx +56 -0
- package/src/components/layout/Box/Box.types.native.ts +21 -0
- package/src/components/layout/Box/Box.types.ts +22 -0
- package/src/components/layout/Box/box-layout.ts +144 -0
- package/src/components/layout/Box/index.native.ts +14 -0
- package/src/components/layout/Box/index.ts +14 -0
- 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 +87 -0
- package/src/components/layout/Container/Container.native.tsx +71 -0
- package/src/components/layout/Container/Container.tsx +21 -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 +5 -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/layout/Stack/Stack.base.ts +14 -0
- package/src/components/layout/Stack/Stack.md +19 -0
- package/src/components/layout/Stack/Stack.native.tsx +16 -0
- package/src/components/layout/Stack/Stack.tsx +15 -0
- package/src/components/layout/Stack/Stack.types.native.ts +6 -0
- package/src/components/layout/Stack/Stack.types.ts +6 -0
- package/src/components/layout/Stack/index.native.ts +2 -0
- package/src/components/layout/Stack/index.ts +2 -0
- package/src/components/layout/Stack/with-dividers.ts +15 -0
- 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/components/typography/Text/Text.base.ts +25 -0
- package/src/components/typography/Text/Text.metrics.ts +30 -0
- package/src/components/typography/Text/Text.native.tsx +149 -0
- package/src/components/typography/Text/Text.tsx +45 -27
- package/src/components/typography/Text/Text.types.native.ts +11 -0
- package/src/components/typography/Text/Text.types.ts +7 -12
- package/src/components/typography/Text/index.native.ts +2 -0
- package/src/components/typography/Text/index.ts +1 -1
- package/src/icons/Icon.md +28 -0
- package/src/icons/Icon.native.tsx +44 -0
- package/src/icons/Icon.tsx +47 -0
- package/src/icons/Icon.types.ts +40 -0
- package/src/icons/glyphs.json +39 -0
- package/src/icons/icon-color.ts +20 -0
- package/src/icons/index.native.ts +5 -0
- package/src/icons/index.ts +5 -0
- package/src/icons/paths.generated.ts +51 -0
- package/src/platform/aria.ts +32 -0
- package/src/platform/test-id.ts +34 -0
- package/src/platform/text-children.tsx +68 -0
- package/src/provider/UiProvider.native.tsx +13 -0
- package/src/provider/UiProvider.tsx +22 -0
- package/src/provider/UiProvider.types.ts +20 -0
- package/src/provider/index.native.ts +3 -0
- package/src/provider/index.ts +4 -0
- package/src/provider/mui-bridge.ts +141 -0
- package/src/provider/ui-theme-context.ts +13 -0
- package/src/provider/use-ui-theme.native.ts +9 -0
- package/src/provider/use-ui-theme.ts +18 -0
- package/src/tokens/color.ts +163 -0
- package/src/tokens/css-units.ts +28 -0
- package/src/tokens/heading-scale.ts +87 -0
- package/src/tokens/index.native.ts +9 -0
- package/src/tokens/mui-type.ts +64 -0
- package/src/tokens/scales.ts +11 -186
- package/src/tokens/theme.ts +334 -0
- package/src/tokens/typography.ts +6 -83
- package/src/tokens/vocabulary.ts +189 -0
- package/dist/chunk-5ERH4OIK.js.map +0 -1
- package/dist/chunk-7CA6GVBO.js.map +0 -1
- package/dist/chunk-7M5BACFQ.js.map +0 -1
- package/dist/chunk-A2GGT4OC.js.map +0 -1
- package/dist/chunk-AUYC5K5K.js.map +0 -1
- package/dist/chunk-C6AZDXEE.js +0 -207
- package/dist/chunk-C6AZDXEE.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-HQJ75HHI.js.map +0 -1
- package/dist/chunk-I6PZVHIT.js +0 -46
- package/dist/chunk-I6PZVHIT.js.map +0 -1
- package/dist/chunk-IAQFQNBL.js.map +0 -1
- package/dist/chunk-KVN3K4J3.js.map +0 -1
- package/dist/chunk-NBNLGTRB.js.map +0 -1
- package/dist/chunk-NYUGX76C.js.map +0 -1
- package/dist/chunk-O6J4CKS5.js.map +0 -1
- package/dist/chunk-QCIWROKG.js.map +0 -1
- package/dist/chunk-VRHBJXZ7.js.map +0 -1
- /package/dist/{chunk-77GA5YHQ.js.map → chunk-43NEBUV3.js.map} +0 -0
- /package/dist/{chunk-FJHNNSD3.js.map → chunk-4FRZDSRD.js.map} +0 -0
- /package/dist/{chunk-2PPWKCMW.js.map → chunk-4N4ENTF7.js.map} +0 -0
- /package/dist/{chunk-GFBNUWT5.js.map → chunk-4SXZSSVV.js.map} +0 -0
- /package/dist/{chunk-6U7NA74A.js.map → chunk-5HOJSVQH.js.map} +0 -0
- /package/dist/{chunk-AX7UFG2U.js.map → chunk-6DXYCXH4.js.map} +0 -0
- /package/dist/{chunk-X4X4CVWJ.js.map → chunk-6JZE4IIN.js.map} +0 -0
- /package/dist/{chunk-HEDOL2RV.js.map → chunk-72UYVJBQ.js.map} +0 -0
- /package/dist/{chunk-ZDWU52DJ.js.map → chunk-7AR2R7TV.js.map} +0 -0
- /package/dist/{chunk-B6IURHSZ.js.map → chunk-7DNQHMDO.js.map} +0 -0
- /package/dist/{chunk-GT7C6TSM.js.map → chunk-7WL24VNI.js.map} +0 -0
- /package/dist/{chunk-ELYLG4F7.js.map → chunk-AP4FLCLA.js.map} +0 -0
- /package/dist/{chunk-IE7ISTLQ.js.map → chunk-B443IIQG.js.map} +0 -0
- /package/dist/{chunk-WR6F6J43.js.map → chunk-BUDXR3EV.js.map} +0 -0
- /package/dist/{chunk-MUAVYVDJ.js.map → chunk-BVZVH3ZN.js.map} +0 -0
- /package/dist/{chunk-CBPQJAHX.js.map → chunk-C6XESZ3R.js.map} +0 -0
- /package/dist/{chunk-RP3W6IQO.js.map → chunk-CPNSVIIB.js.map} +0 -0
- /package/dist/{chunk-45OIUWGO.js.map → chunk-CRNQVWIT.js.map} +0 -0
- /package/dist/{chunk-T4SM36XC.js.map → chunk-D7FJ2GAD.js.map} +0 -0
- /package/dist/{chunk-G7CFUI4I.js.map → chunk-DLFOEXUP.js.map} +0 -0
- /package/dist/{chunk-SCGVB7DS.js.map → chunk-DOADQW7I.js.map} +0 -0
- /package/dist/{chunk-RIAIJTEW.js.map → chunk-DOMEYGTN.js.map} +0 -0
- /package/dist/{chunk-7HPPUO2A.js.map → chunk-DQHC5P64.js.map} +0 -0
- /package/dist/{chunk-6YLAVHV4.js.map → chunk-DTKMBI7B.js.map} +0 -0
- /package/dist/{chunk-24LW52EU.js.map → chunk-DX527XPL.js.map} +0 -0
- /package/dist/{chunk-BBC4KT5G.js.map → chunk-DZN3JF5E.js.map} +0 -0
- /package/dist/{chunk-3LO5JWTC.js.map → chunk-E5ZHW4I5.js.map} +0 -0
- /package/dist/{chunk-CXA6UNFF.js.map → chunk-EMNGIYH6.js.map} +0 -0
- /package/dist/{chunk-A4YWFX5C.js.map → chunk-ENNW5SKT.js.map} +0 -0
- /package/dist/{chunk-EGRFMPGD.js.map → chunk-EXJBPKGW.js.map} +0 -0
- /package/dist/{chunk-DWUMMMLR.js.map → chunk-FOMK3WPG.js.map} +0 -0
- /package/dist/{chunk-6CBYPMYQ.js.map → chunk-GBFGZJB5.js.map} +0 -0
- /package/dist/{chunk-XSKVBGCZ.js.map → chunk-HKV4MQ2W.js.map} +0 -0
- /package/dist/{chunk-DQIQKIEA.js.map → chunk-HKZHEK3Z.js.map} +0 -0
- /package/dist/{chunk-VR5HDUBK.js.map → chunk-HP2ODXNA.js.map} +0 -0
- /package/dist/{chunk-4Y65Q3CR.js.map → chunk-ISSJNFJV.js.map} +0 -0
- /package/dist/{chunk-X24P3ZYW.js.map → chunk-J4W4TQPC.js.map} +0 -0
- /package/dist/{chunk-5ZOJLYD2.js.map → chunk-JE6RZ5L6.js.map} +0 -0
- /package/dist/{chunk-6RFL7HGI.js.map → chunk-KADJNWTQ.js.map} +0 -0
- /package/dist/{chunk-EB4BTKKY.js.map → chunk-KKYW3LU7.js.map} +0 -0
- /package/dist/{chunk-RQ4EQ5FJ.js.map → chunk-L65LF6LN.js.map} +0 -0
- /package/dist/{chunk-FH4VARZ7.js.map → chunk-L6KEVPXN.js.map} +0 -0
- /package/dist/{chunk-SRMWCN5D.js.map → chunk-LDE4ELB5.js.map} +0 -0
- /package/dist/{chunk-FF55LRSV.js.map → chunk-LIOVN5IM.js.map} +0 -0
- /package/dist/{chunk-KXNWDXR7.js.map → chunk-M2K7BPHX.js.map} +0 -0
- /package/dist/{chunk-VVXRIPV5.js.map → chunk-MCRIT46W.js.map} +0 -0
- /package/dist/{chunk-WLDK74RR.js.map → chunk-MSUSZLRE.js.map} +0 -0
- /package/dist/{chunk-MD6T7MDT.js.map → chunk-NECUCG2S.js.map} +0 -0
- /package/dist/{chunk-A3KY6NUA.js.map → chunk-NFHS77NE.js.map} +0 -0
- /package/dist/{chunk-REMK55JI.js.map → chunk-OLZTGVBT.js.map} +0 -0
- /package/dist/{chunk-WME2F2YY.js.map → chunk-OR7UH2ZQ.js.map} +0 -0
- /package/dist/{chunk-PKJKA4CU.js.map → chunk-OZWQNFG6.js.map} +0 -0
- /package/dist/{chunk-23FCBIUN.js.map → chunk-P7FQUGED.js.map} +0 -0
- /package/dist/{chunk-6TYSEAAT.js.map → chunk-PC3ZFERM.js.map} +0 -0
- /package/dist/{chunk-T53L42XW.js.map → chunk-PMS3H3OO.js.map} +0 -0
- /package/dist/{chunk-TCAB2ERD.js.map → chunk-PNYXXLPU.js.map} +0 -0
- /package/dist/{chunk-EY4LPLIR.js.map → chunk-QJJUTBKZ.js.map} +0 -0
- /package/dist/{chunk-VJKRJYZL.js.map → chunk-QZPNQWS2.js.map} +0 -0
- /package/dist/{chunk-5QXSPLWU.js.map → chunk-R6SSXEK2.js.map} +0 -0
- /package/dist/{chunk-W2UTDN4T.js.map → chunk-RBGOGTT2.js.map} +0 -0
- /package/dist/{chunk-NR3J7VQL.js.map → chunk-RNCQ5KHQ.js.map} +0 -0
- /package/dist/{chunk-7FOOLP5H.js.map → chunk-RXSGHPCR.js.map} +0 -0
- /package/dist/{chunk-Z56IO7OV.js.map → chunk-RXVPUW7V.js.map} +0 -0
- /package/dist/{chunk-JPDKRGYI.js.map → chunk-S7HRED4D.js.map} +0 -0
- /package/dist/{chunk-5VVM2PPV.js.map → chunk-SG6VULKS.js.map} +0 -0
- /package/dist/{chunk-SLYZMJEL.js.map → chunk-SOHDPFOB.js.map} +0 -0
- /package/dist/{chunk-FWL2N2KH.js.map → chunk-SX3V2DLV.js.map} +0 -0
- /package/dist/{chunk-3GOX75ZM.js.map → chunk-TF4TPLF2.js.map} +0 -0
- /package/dist/{chunk-3DQP6OPC.js.map → chunk-THBT56JE.js.map} +0 -0
- /package/dist/{chunk-RRX6ZTNX.js.map → chunk-UEJQQVP2.js.map} +0 -0
- /package/dist/{chunk-K2T2CQSZ.js.map → chunk-UF27D35R.js.map} +0 -0
- /package/dist/{chunk-N34YHFZW.js.map → chunk-W2YNUUVJ.js.map} +0 -0
- /package/dist/{chunk-XULTDO56.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-3QGRQNTP.js.map → chunk-XELVDPKL.js.map} +0 -0
- /package/dist/{chunk-EPNUVSNK.js.map → chunk-XFUNJYFT.js.map} +0 -0
- /package/dist/{chunk-AVU6KU27.js.map → chunk-XXDXW6TX.js.map} +0 -0
- /package/dist/{chunk-WMALDOF5.js.map → chunk-XXJRT6BP.js.map} +0 -0
- /package/dist/{chunk-6HNEEJES.js.map → chunk-Y6KPZQPI.js.map} +0 -0
- /package/dist/{chunk-COSJTD6Z.js.map → chunk-YLDS5FOQ.js.map} +0 -0
- /package/dist/{chunk-PMFW55F5.js.map → chunk-ZIOCRSHU.js.map} +0 -0
- /package/dist/{chunk-WC3W36AM.js.map → chunk-ZOUWHGV3.js.map} +0 -0
- /package/dist/{chunk-2ZDTGI5V.js.map → chunk-ZRFRU545.js.map} +0 -0
- /package/dist/{chunk-DJORMYOV.js.map → chunk-ZU3SWR4I.js.map} +0 -0
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import {
|
|
3
|
+
ActivityIndicator,
|
|
4
|
+
Animated,
|
|
5
|
+
Easing,
|
|
6
|
+
Platform,
|
|
7
|
+
Pressable,
|
|
8
|
+
StyleSheet,
|
|
9
|
+
View,
|
|
10
|
+
type GestureResponderEvent,
|
|
11
|
+
type PressableStateCallbackType,
|
|
12
|
+
type StyleProp,
|
|
13
|
+
type TextStyle,
|
|
14
|
+
type ViewStyle,
|
|
15
|
+
} from 'react-native';
|
|
16
|
+
|
|
17
|
+
import { resolveButtonProps } from './Button.helpers';
|
|
18
|
+
import {
|
|
19
|
+
BUTTON_FONT_WEIGHT,
|
|
20
|
+
BUTTON_ICON_GAP_UNITS,
|
|
21
|
+
BUTTON_LINE_HEIGHT,
|
|
22
|
+
BUTTON_RADIUS_UNITS,
|
|
23
|
+
BUTTON_SIZES,
|
|
24
|
+
BUTTON_SPINNER_SIZE,
|
|
25
|
+
BUTTON_WASH_ALPHA,
|
|
26
|
+
GLASS_BACKGROUND_ALPHA,
|
|
27
|
+
GLASS_BACKGROUND_ALPHA_PRESSED,
|
|
28
|
+
GLASS_BORDER_ALPHA,
|
|
29
|
+
GLOW_INNER_ALPHA,
|
|
30
|
+
GLOW_RADIUS,
|
|
31
|
+
ICON_ONLY_PADDING,
|
|
32
|
+
PULSE_ALPHA,
|
|
33
|
+
PULSE_DURATION_MS,
|
|
34
|
+
PULSE_SPREAD,
|
|
35
|
+
buttonPalette,
|
|
36
|
+
gradientStops,
|
|
37
|
+
quietInk,
|
|
38
|
+
} from './Button.metrics';
|
|
39
|
+
import type { ButtonProps, ButtonVariant } from './Button.types.native';
|
|
40
|
+
import { renderTextChildren } from '../../../platform/text-children';
|
|
41
|
+
import { childTestId, resolveTestId, withoutTestIdProps } from '../../../platform/test-id';
|
|
42
|
+
import { useUiTheme } from '../../../provider/use-ui-theme.native';
|
|
43
|
+
import { alpha } from '../../../tokens/color';
|
|
44
|
+
import type { ColorValue, SizeValue } from '../../../tokens/vocabulary';
|
|
45
|
+
import type { UiPaletteColor, UiTheme } from '../../../tokens/theme';
|
|
46
|
+
|
|
47
|
+
/** MUI's `min-width` for a button that carries a label. */
|
|
48
|
+
const MIN_WIDTH = 64;
|
|
49
|
+
|
|
50
|
+
interface Paint {
|
|
51
|
+
container: ViewStyle;
|
|
52
|
+
pressed: ViewStyle;
|
|
53
|
+
label: TextStyle;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* What the web's `VARIANT_STYLES` paint, as three React Native styles: at rest,
|
|
58
|
+
* while pressed (the web's `:hover`, which touch has no equivalent of), and the
|
|
59
|
+
* label. Same palette arithmetic, same alphas.
|
|
60
|
+
*
|
|
61
|
+
* `gradient` is the one honest gap: React Native core has no gradient fill, so
|
|
62
|
+
* it paints the gradient's first stop. A host wanting the real thing adds a
|
|
63
|
+
* gradient library; the parity ledger records this.
|
|
64
|
+
*/
|
|
65
|
+
function paintFor(
|
|
66
|
+
theme: UiTheme,
|
|
67
|
+
variant: ButtonVariant,
|
|
68
|
+
color: ColorValue,
|
|
69
|
+
palette: UiPaletteColor,
|
|
70
|
+
active: boolean,
|
|
71
|
+
): Paint {
|
|
72
|
+
const wash = alpha(palette.main, BUTTON_WASH_ALPHA);
|
|
73
|
+
switch (variant) {
|
|
74
|
+
case 'outline':
|
|
75
|
+
return {
|
|
76
|
+
container: { backgroundColor: 'transparent', borderWidth: 1, borderColor: palette.main },
|
|
77
|
+
pressed: { backgroundColor: wash, borderColor: palette.dark },
|
|
78
|
+
label: { color: palette.main },
|
|
79
|
+
};
|
|
80
|
+
case 'ghost':
|
|
81
|
+
return {
|
|
82
|
+
container: { backgroundColor: 'transparent' },
|
|
83
|
+
pressed: { backgroundColor: wash },
|
|
84
|
+
label: { color: quietInk(theme, palette) },
|
|
85
|
+
};
|
|
86
|
+
case 'text':
|
|
87
|
+
return {
|
|
88
|
+
container: { backgroundColor: active ? wash : 'transparent' },
|
|
89
|
+
pressed: { backgroundColor: wash },
|
|
90
|
+
label: { color: quietInk(theme, palette) },
|
|
91
|
+
};
|
|
92
|
+
case 'glass':
|
|
93
|
+
return {
|
|
94
|
+
container: {
|
|
95
|
+
backgroundColor: alpha(theme.palette.background.paper, GLASS_BACKGROUND_ALPHA),
|
|
96
|
+
borderWidth: 1,
|
|
97
|
+
borderColor: alpha(theme.palette.divider, GLASS_BORDER_ALPHA),
|
|
98
|
+
},
|
|
99
|
+
pressed: { backgroundColor: alpha(theme.palette.background.paper, GLASS_BACKGROUND_ALPHA_PRESSED) },
|
|
100
|
+
label: { color: palette.main },
|
|
101
|
+
};
|
|
102
|
+
case 'gradient': {
|
|
103
|
+
const [from, to] = gradientStops(theme, color, palette);
|
|
104
|
+
return {
|
|
105
|
+
container: { backgroundColor: from },
|
|
106
|
+
pressed: { backgroundColor: to },
|
|
107
|
+
label: { color: '#fff' },
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
default:
|
|
111
|
+
return {
|
|
112
|
+
container: { backgroundColor: palette.main },
|
|
113
|
+
pressed: { backgroundColor: palette.dark },
|
|
114
|
+
label: { color: palette.contrastText || '#fff' },
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/** MUI's disabled treatment per variant family, so a disabled button reads as one on both sides. */
|
|
120
|
+
function disabledPaint(theme: UiTheme, variant: ButtonVariant): Paint {
|
|
121
|
+
const filled = variant === 'solid' || variant === 'gradient' || variant === 'glass';
|
|
122
|
+
return {
|
|
123
|
+
container: filled
|
|
124
|
+
? { backgroundColor: theme.palette.action.disabledBackground, borderWidth: 0 }
|
|
125
|
+
: variant === 'outline'
|
|
126
|
+
? { backgroundColor: 'transparent', borderWidth: 1, borderColor: theme.palette.action.disabledBackground }
|
|
127
|
+
: { backgroundColor: 'transparent' },
|
|
128
|
+
pressed: {},
|
|
129
|
+
label: { color: theme.palette.action.disabled },
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
function sizeStyle(theme: UiTheme, size: SizeValue, iconOnly: boolean, hasIcon: boolean): ViewStyle {
|
|
134
|
+
const metrics = BUTTON_SIZES[size];
|
|
135
|
+
if (iconOnly) {
|
|
136
|
+
return { padding: ICON_ONLY_PADDING[size], minWidth: 0 };
|
|
137
|
+
}
|
|
138
|
+
return {
|
|
139
|
+
paddingVertical: metrics.paddingVertical,
|
|
140
|
+
paddingHorizontal: metrics.paddingHorizontal,
|
|
141
|
+
minWidth: MIN_WIDTH,
|
|
142
|
+
gap: hasIcon ? theme.spacing(BUTTON_ICON_GAP_UNITS) : undefined,
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
function glowStyle(palette: UiPaletteColor): ViewStyle {
|
|
147
|
+
return Platform.select<ViewStyle>({
|
|
148
|
+
android: { elevation: 8 },
|
|
149
|
+
default: {
|
|
150
|
+
shadowColor: palette.main,
|
|
151
|
+
shadowOpacity: GLOW_INNER_ALPHA,
|
|
152
|
+
shadowRadius: GLOW_RADIUS,
|
|
153
|
+
shadowOffset: { width: 0, height: 0 },
|
|
154
|
+
},
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/** The web's `::after` pulse ring: a looped scale-and-fade behind the button. */
|
|
159
|
+
function Pulse({ color, radius, testID }: { color: string; radius: number; testID: string }): React.JSX.Element {
|
|
160
|
+
const progress = React.useRef(new Animated.Value(0)).current;
|
|
161
|
+
|
|
162
|
+
React.useEffect(() => {
|
|
163
|
+
const loop = Animated.loop(
|
|
164
|
+
Animated.timing(progress, {
|
|
165
|
+
toValue: 1,
|
|
166
|
+
duration: PULSE_DURATION_MS,
|
|
167
|
+
easing: Easing.out(Easing.ease),
|
|
168
|
+
useNativeDriver: Platform.OS !== 'web',
|
|
169
|
+
}),
|
|
170
|
+
);
|
|
171
|
+
loop.start();
|
|
172
|
+
return () => loop.stop();
|
|
173
|
+
}, [progress]);
|
|
174
|
+
|
|
175
|
+
return (
|
|
176
|
+
<Animated.View
|
|
177
|
+
testID={testID}
|
|
178
|
+
aria-hidden
|
|
179
|
+
style={[
|
|
180
|
+
StyleSheet.absoluteFill,
|
|
181
|
+
{
|
|
182
|
+
pointerEvents: 'none',
|
|
183
|
+
borderRadius: radius,
|
|
184
|
+
backgroundColor: color,
|
|
185
|
+
opacity: progress.interpolate({ inputRange: [0, 0.7, 1], outputRange: [PULSE_ALPHA, 0, 0] }),
|
|
186
|
+
transform: [
|
|
187
|
+
{ scale: progress.interpolate({ inputRange: [0, 0.7, 1], outputRange: [1, 1 + PULSE_SPREAD / 40, 1] }) },
|
|
188
|
+
],
|
|
189
|
+
},
|
|
190
|
+
]}
|
|
191
|
+
/>
|
|
192
|
+
);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
type ResolvedProps = ReturnType<typeof resolveButtonProps<ButtonProps>>;
|
|
197
|
+
|
|
198
|
+
interface ButtonLook {
|
|
199
|
+
inactive: boolean;
|
|
200
|
+
palette: UiPaletteColor;
|
|
201
|
+
radius: number;
|
|
202
|
+
label: TextStyle;
|
|
203
|
+
container: (state: PressableStateCallbackType) => StyleProp<ViewStyle>;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* Everything the button paints, decided once per render from the resolved
|
|
208
|
+
* props and the theme. Kept out of the component so the component reads as
|
|
209
|
+
* structure — what renders where — and this reads as arithmetic.
|
|
210
|
+
*/
|
|
211
|
+
function buttonLook(theme: UiTheme, props: ResolvedProps): ButtonLook {
|
|
212
|
+
const { variant, color, size, loading, icon, children, glow, pulse, active, disabled, style } = props;
|
|
213
|
+
const palette = buttonPalette(theme, color);
|
|
214
|
+
const iconOnly = !loading && icon != null && children == null;
|
|
215
|
+
const inactive = Boolean(disabled) || loading;
|
|
216
|
+
const paint = inactive ? disabledPaint(theme, variant) : paintFor(theme, variant, color, palette, active);
|
|
217
|
+
const radius = theme.spacing(BUTTON_RADIUS_UNITS);
|
|
218
|
+
const metrics = BUTTON_SIZES[size];
|
|
219
|
+
// The web button is `overflow: hidden` (its ripple needs it) unless the pulse
|
|
220
|
+
// ring turns it visible; on native the glow's shadow needs it visible too,
|
|
221
|
+
// because a view's own shadow is clipped by its own overflow there.
|
|
222
|
+
const overflow: ViewStyle['overflow'] = pulse || glow ? 'visible' : 'hidden';
|
|
223
|
+
const sized = sizeStyle(theme, size, iconOnly, icon != null && !loading);
|
|
224
|
+
const glowing = glow && !inactive ? glowStyle(palette) : null;
|
|
225
|
+
|
|
226
|
+
return {
|
|
227
|
+
inactive,
|
|
228
|
+
palette,
|
|
229
|
+
radius,
|
|
230
|
+
label: {
|
|
231
|
+
fontFamily: theme.typography.fontFamily,
|
|
232
|
+
fontSize: metrics.fontSize,
|
|
233
|
+
lineHeight: metrics.fontSize * BUTTON_LINE_HEIGHT,
|
|
234
|
+
fontWeight: String(BUTTON_FONT_WEIGHT) as TextStyle['fontWeight'],
|
|
235
|
+
textAlign: 'center',
|
|
236
|
+
...paint.label,
|
|
237
|
+
},
|
|
238
|
+
container: (state) => [
|
|
239
|
+
styles.base,
|
|
240
|
+
{ borderRadius: radius, overflow },
|
|
241
|
+
sized,
|
|
242
|
+
paint.container,
|
|
243
|
+
state.pressed && !inactive ? paint.pressed : null,
|
|
244
|
+
glowing,
|
|
245
|
+
style,
|
|
246
|
+
],
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
/** The spinner that replaces the label while loading; `role` comes from react-native's ActivityIndicator. */
|
|
251
|
+
function Spinner({ color, testID }: { color: string; testID: string }): React.JSX.Element {
|
|
252
|
+
return (
|
|
253
|
+
<ActivityIndicator
|
|
254
|
+
size={Platform.OS === 'ios' ? 'small' : BUTTON_SPINNER_SIZE}
|
|
255
|
+
color={color}
|
|
256
|
+
testID={testID}
|
|
257
|
+
accessibilityLabel="loading"
|
|
258
|
+
/>
|
|
259
|
+
);
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
export const Button = React.forwardRef<View, ButtonProps>((rawProps, ref) => {
|
|
263
|
+
const resolved = resolveButtonProps(rawProps);
|
|
264
|
+
const { loading, icon, iconPosition, pulse, ripple, children, onClick, onPress, ...others } = resolved;
|
|
265
|
+
const theme = useUiTheme();
|
|
266
|
+
const look = buttonLook(theme, resolved);
|
|
267
|
+
|
|
268
|
+
// The shared stories pass `'data-testid'` as a plain prop; honour it here and
|
|
269
|
+
// keep all three spellings off the element (react-native-web would drop them).
|
|
270
|
+
const testId = resolveTestId(others, 'button');
|
|
271
|
+
const idFor = (suffix: string) => childTestId(others, suffix, 'button');
|
|
272
|
+
const rest = withoutTestIdProps(others);
|
|
273
|
+
// `buttonLook` consumed these; they are not Pressable props.
|
|
274
|
+
const { variant: _v, color: _c, size: _s, glow: _g, active: _a, disabled: _d, style: _st, ...pressable } = rest;
|
|
275
|
+
|
|
276
|
+
const handlePress = (event: GestureResponderEvent): void => {
|
|
277
|
+
onClick?.(event);
|
|
278
|
+
onPress?.(event);
|
|
279
|
+
};
|
|
280
|
+
|
|
281
|
+
const iconNode =
|
|
282
|
+
!loading && icon ? (
|
|
283
|
+
<View style={styles.icon} testID={idFor('icon')}>
|
|
284
|
+
{icon}
|
|
285
|
+
</View>
|
|
286
|
+
) : null;
|
|
287
|
+
|
|
288
|
+
return (
|
|
289
|
+
<Pressable
|
|
290
|
+
ref={ref}
|
|
291
|
+
role="button"
|
|
292
|
+
aria-disabled={look.inactive}
|
|
293
|
+
aria-busy={loading}
|
|
294
|
+
disabled={look.inactive}
|
|
295
|
+
onPress={handlePress}
|
|
296
|
+
android_ripple={ripple && !look.inactive ? { color: alpha(look.palette.main, 0.2), borderless: false } : undefined}
|
|
297
|
+
style={look.container}
|
|
298
|
+
testID={testId}
|
|
299
|
+
{...pressable}
|
|
300
|
+
>
|
|
301
|
+
{pulse && !look.inactive ? <Pulse color={look.palette.main} radius={look.radius} testID={idFor('pulse')} /> : null}
|
|
302
|
+
{iconPosition === 'left' ? iconNode : null}
|
|
303
|
+
{loading ? <Spinner color={look.label.color as string} testID={idFor('loading')} /> : renderTextChildren(children, look.label, 1)}
|
|
304
|
+
{iconPosition === 'right' ? iconNode : null}
|
|
305
|
+
</Pressable>
|
|
306
|
+
);
|
|
307
|
+
});
|
|
308
|
+
|
|
309
|
+
Button.displayName = 'Button';
|
|
310
|
+
|
|
311
|
+
const styles = StyleSheet.create({
|
|
312
|
+
base: {
|
|
313
|
+
flexDirection: 'row',
|
|
314
|
+
alignItems: 'center',
|
|
315
|
+
justifyContent: 'center',
|
|
316
|
+
alignSelf: 'flex-start',
|
|
317
|
+
position: 'relative',
|
|
318
|
+
},
|
|
319
|
+
icon: {
|
|
320
|
+
alignItems: 'center',
|
|
321
|
+
justifyContent: 'center',
|
|
322
|
+
},
|
|
323
|
+
});
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { alpha, darken, keyframes, lighten } from '@mui/material/styles/index.js';
|
|
2
2
|
import type { CSSObject, Theme } from '@mui/material/styles/index.js';
|
|
3
3
|
|
|
4
|
+
import { BUTTON_SIZES, ICON_ONLY_PADDING as ICON_ONLY_PADDING_PX } from './Button.metrics';
|
|
5
|
+
import { px } from '../../../tokens/theme';
|
|
6
|
+
|
|
4
7
|
// Define pulse animation globally
|
|
5
8
|
const pulseAnimation = keyframes`
|
|
6
9
|
0% {
|
|
@@ -62,16 +65,17 @@ export const getColorFromTheme = (theme: Theme, color: string): ColorPalette =>
|
|
|
62
65
|
};
|
|
63
66
|
};
|
|
64
67
|
|
|
65
|
-
|
|
66
|
-
|
|
68
|
+
// Derived from `Button.metrics.ts`, which the native `Button` reads too — one
|
|
69
|
+
// table, so a size cannot differ between the renderers.
|
|
70
|
+
const SIZE_MAP: Record<string, CSSObject> = Object.fromEntries(
|
|
71
|
+
Object.entries(BUTTON_SIZES).map(([size, m]) => [
|
|
72
|
+
size,
|
|
73
|
+
{ padding: `${m.paddingVertical}px ${m.paddingHorizontal}px`, fontSize: px(m.fontSize) },
|
|
74
|
+
]),
|
|
75
|
+
);
|
|
67
76
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
sm: { padding: '6px 12px', fontSize: '0.875rem' },
|
|
71
|
-
md: DEFAULT_SIZE,
|
|
72
|
-
lg: { padding: '10px 20px', fontSize: '1.125rem' },
|
|
73
|
-
xl: { padding: '12px 24px', fontSize: '1.25rem' },
|
|
74
|
-
};
|
|
77
|
+
/** What an unrecognised size falls back to, named so indexing can never be undefined. */
|
|
78
|
+
const DEFAULT_SIZE: CSSObject = SIZE_MAP.md as CSSObject;
|
|
75
79
|
|
|
76
80
|
/**
|
|
77
81
|
* A BUTTON THAT IS ONLY AN ICON IS SQUARE.
|
|
@@ -86,13 +90,9 @@ const SIZE_MAP: Record<string, CSSObject> = {
|
|
|
86
90
|
* Derived, not declared: a button with an `icon` and no children can only be an
|
|
87
91
|
* icon button, so no consumer has to opt in and none can forget to.
|
|
88
92
|
*/
|
|
89
|
-
const ICON_ONLY_PADDING: Record<string, string> =
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
md: '7px',
|
|
93
|
-
lg: '9px',
|
|
94
|
-
xl: '11px',
|
|
95
|
-
};
|
|
93
|
+
const ICON_ONLY_PADDING: Record<string, string> = Object.fromEntries(
|
|
94
|
+
Object.entries(ICON_ONLY_PADDING_PX).map(([size, padding]) => [size, `${padding}px`]),
|
|
95
|
+
);
|
|
96
96
|
|
|
97
97
|
const iconOnlySize = (size: string): CSSObject => ({
|
|
98
98
|
minWidth: 0,
|
|
@@ -4,6 +4,7 @@ import { styled } from '@mui/material/styles/index.js';
|
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
|
|
6
6
|
import { resolveButtonProps } from './Button.helpers';
|
|
7
|
+
import { childTestId, resolveTestId, withoutTestIdProps } from '../../../platform/test-id';
|
|
7
8
|
import {
|
|
8
9
|
buttonEmphasisStyles,
|
|
9
10
|
buttonVariantStyles,
|
|
@@ -88,11 +89,13 @@ export const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
|
|
|
88
89
|
onClick,
|
|
89
90
|
onFocus,
|
|
90
91
|
onBlur,
|
|
91
|
-
|
|
92
|
-
...props
|
|
92
|
+
...others
|
|
93
93
|
} = resolveButtonProps(rawProps);
|
|
94
|
-
|
|
95
|
-
|
|
94
|
+
// Every spelling of the test id the shared contract allows, mapped to the
|
|
95
|
+
// one the DOM reads; the native Button does the same in reverse.
|
|
96
|
+
const ownTestId = resolveTestId(others, 'button');
|
|
97
|
+
const testId = (suffix: string) => childTestId(others, suffix, 'button');
|
|
98
|
+
const props = withoutTestIdProps(others);
|
|
96
99
|
|
|
97
100
|
// Wrap icon with testId if provided
|
|
98
101
|
const iconWithTestId =
|
|
@@ -122,7 +125,7 @@ export const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
|
|
|
122
125
|
onFocus={onFocus}
|
|
123
126
|
onBlur={onBlur}
|
|
124
127
|
sx={buttonSize(size, iconOnly)}
|
|
125
|
-
data-testid={
|
|
128
|
+
data-testid={ownTestId}
|
|
126
129
|
{...props}
|
|
127
130
|
className={mergedClassName}
|
|
128
131
|
>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
GestureResponderEvent,
|
|
3
|
+
NativeSyntheticEvent,
|
|
4
|
+
PressableProps,
|
|
5
|
+
StyleProp,
|
|
6
|
+
TargetedEvent,
|
|
7
|
+
ViewStyle,
|
|
8
|
+
} from 'react-native';
|
|
9
|
+
|
|
10
|
+
import type { ButtonBaseProps } from './Button.base';
|
|
11
|
+
|
|
12
|
+
export type { ButtonBaseProps, ButtonVariant } from './Button.base';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* The native `Button`. `onClick` keeps its web name — the 179 call sites in
|
|
16
|
+
* the origin apps spell it that way and a shared screen should not have to
|
|
17
|
+
* know which renderer it is on — and `onPress` is accepted too, because that is
|
|
18
|
+
* what a React Native developer will reach for. Both fire.
|
|
19
|
+
*/
|
|
20
|
+
export type ButtonProps = ButtonBaseProps &
|
|
21
|
+
Omit<PressableProps, keyof ButtonBaseProps | 'style' | 'onPress' | 'onFocus' | 'onBlur'> & {
|
|
22
|
+
onClick?: (event: GestureResponderEvent) => void;
|
|
23
|
+
onPress?: (event: GestureResponderEvent) => void;
|
|
24
|
+
onFocus?: (event: NativeSyntheticEvent<TargetedEvent>) => void;
|
|
25
|
+
onBlur?: (event: NativeSyntheticEvent<TargetedEvent>) => void;
|
|
26
|
+
style?: StyleProp<ViewStyle>;
|
|
27
|
+
};
|
|
@@ -1,75 +1,25 @@
|
|
|
1
|
-
import type { ColorValue, SizeValue } from '../../../tokens/scales';
|
|
2
1
|
import type { ButtonProps as MuiButtonProps } from '@mui/material/Button/index.js';
|
|
3
2
|
import type * as React from 'react';
|
|
4
3
|
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* The variant of the button
|
|
8
|
-
*/
|
|
9
|
-
variant?: 'solid' | 'outline' | 'ghost' | 'text' | 'glass' | 'gradient';
|
|
4
|
+
import type { ButtonBaseProps } from './Button.base';
|
|
10
5
|
|
|
11
|
-
|
|
12
|
-
* The color of the button
|
|
13
|
-
*/
|
|
14
|
-
color?: ColorValue;
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* The size of the button
|
|
18
|
-
*/
|
|
19
|
-
size?: SizeValue;
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Whether the button is in loading state
|
|
23
|
-
*/
|
|
24
|
-
loading?: boolean;
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Icon to display in the button
|
|
28
|
-
*/
|
|
29
|
-
icon?: React.ReactNode;
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Position of the icon
|
|
33
|
-
*/
|
|
34
|
-
iconPosition?: 'left' | 'right';
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Whether the button should have a glow effect
|
|
38
|
-
*/
|
|
39
|
-
glow?: boolean;
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Whether the button should have a pulse animation
|
|
43
|
-
*/
|
|
44
|
-
pulse?: boolean;
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Whether to show ripple effect on click
|
|
48
|
-
*/
|
|
49
|
-
ripple?: boolean;
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Whether the button is in active state
|
|
53
|
-
*/
|
|
54
|
-
active?: boolean;
|
|
6
|
+
export type { ButtonBaseProps, ButtonVariant } from './Button.base';
|
|
55
7
|
|
|
8
|
+
export interface ButtonProps
|
|
9
|
+
extends ButtonBaseProps,
|
|
10
|
+
Omit<MuiButtonProps, 'variant' | 'color' | 'size' | keyof ButtonBaseProps> {
|
|
56
11
|
/**
|
|
57
12
|
* Click handler
|
|
58
13
|
*/
|
|
59
14
|
onClick?: React.MouseEventHandler<HTMLButtonElement>;
|
|
60
|
-
|
|
15
|
+
|
|
61
16
|
/**
|
|
62
17
|
* Focus handler
|
|
63
18
|
*/
|
|
64
19
|
onFocus?: React.FocusEventHandler<HTMLButtonElement>;
|
|
65
|
-
|
|
20
|
+
|
|
66
21
|
/**
|
|
67
22
|
* Blur handler
|
|
68
23
|
*/
|
|
69
24
|
onBlur?: React.FocusEventHandler<HTMLButtonElement>;
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Test ID for testing purposes
|
|
73
|
-
*/
|
|
74
|
-
dataTestId?: string;
|
|
75
|
-
}
|
|
25
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { Button } from './Button';
|
|
2
|
-
export type { ButtonProps } from './Button.types';
|
|
2
|
+
export type { ButtonBaseProps, ButtonProps, ButtonVariant } from './Button.types';
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type * as React from 'react';
|
|
2
|
+
|
|
3
|
+
import type { UiPaletteKey, UiTheme } from '../../../tokens/theme';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* THE LAYOUT PRIMITIVE BOTH RENDERERS SHARE.
|
|
7
|
+
*
|
|
8
|
+
* Half of every screen in the origin apps is `@12-apps/ui/mui/Box` with an `sx`
|
|
9
|
+
* — raw MUI, which no native renderer can ever answer to. This `Box` is the
|
|
10
|
+
* one a screen meant for both platforms writes instead: a fixed set of layout
|
|
11
|
+
* props on the spacing scale, resolved by `box-layout.ts` into the same
|
|
12
|
+
* numbers on each side. `p={2}` is 16px on the web and 16dp on native, because
|
|
13
|
+
* both are `theme.spacing(2)`.
|
|
14
|
+
*
|
|
15
|
+
* Spacing props are in SPACING UNITS, exactly as MUI's own `Box` reads them.
|
|
16
|
+
*/
|
|
17
|
+
export type BoxDirection = 'row' | 'column' | 'row-reverse' | 'column-reverse';
|
|
18
|
+
export type BoxAlign = 'start' | 'center' | 'end' | 'stretch' | 'baseline';
|
|
19
|
+
export type BoxJustify = 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';
|
|
20
|
+
export type BoxBackground = 'default' | 'paper' | 'transparent' | UiPaletteKey;
|
|
21
|
+
export type BoxRadius = keyof UiTheme['radius'];
|
|
22
|
+
/** What both renderers accept as a size: px, a percentage, or `auto`. */
|
|
23
|
+
export type BoxDimension = number | 'auto' | `${number}%`;
|
|
24
|
+
|
|
25
|
+
export interface BoxSpacingProps {
|
|
26
|
+
p?: number;
|
|
27
|
+
px?: number;
|
|
28
|
+
py?: number;
|
|
29
|
+
pt?: number;
|
|
30
|
+
pr?: number;
|
|
31
|
+
pb?: number;
|
|
32
|
+
pl?: number;
|
|
33
|
+
m?: number;
|
|
34
|
+
mx?: number;
|
|
35
|
+
my?: number;
|
|
36
|
+
mt?: number;
|
|
37
|
+
mr?: number;
|
|
38
|
+
mb?: number;
|
|
39
|
+
ml?: number;
|
|
40
|
+
/** Between children. Setting it makes the box a flex container. */
|
|
41
|
+
gap?: number;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export interface BoxBaseProps extends BoxSpacingProps {
|
|
45
|
+
children?: React.ReactNode;
|
|
46
|
+
/** Setting any of these four makes the box a flex container. */
|
|
47
|
+
direction?: BoxDirection;
|
|
48
|
+
align?: BoxAlign;
|
|
49
|
+
justify?: BoxJustify;
|
|
50
|
+
wrap?: boolean;
|
|
51
|
+
flex?: number;
|
|
52
|
+
/** A surface, `transparent`, or a palette slot's main colour. */
|
|
53
|
+
bg?: BoxBackground;
|
|
54
|
+
radius?: BoxRadius;
|
|
55
|
+
/** A 1px border in the theme's divider colour. */
|
|
56
|
+
bordered?: boolean;
|
|
57
|
+
width?: BoxDimension;
|
|
58
|
+
height?: BoxDimension;
|
|
59
|
+
testID?: string;
|
|
60
|
+
dataTestId?: string;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/** Every prop {@link BoxBaseProps} owns, so a renderer can split them from its own. */
|
|
64
|
+
export const BOX_BASE_KEYS = [
|
|
65
|
+
'p', 'px', 'py', 'pt', 'pr', 'pb', 'pl',
|
|
66
|
+
'm', 'mx', 'my', 'mt', 'mr', 'mb', 'ml',
|
|
67
|
+
'gap', 'direction', 'align', 'justify', 'wrap', 'flex',
|
|
68
|
+
'bg', 'radius', 'bordered', 'width', 'height', 'testID', 'dataTestId',
|
|
69
|
+
] as const satisfies readonly (keyof Omit<BoxBaseProps, 'children'>)[];
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Box
|
|
2
|
+
|
|
3
|
+
The layout primitive both renderers share.
|
|
4
|
+
|
|
5
|
+
`@12-apps/ui/mui/Box` is raw MUI: an `sx` prop and nothing a React Native
|
|
6
|
+
renderer could ever answer to. This `Box` is what a screen meant for both
|
|
7
|
+
platforms writes instead. Its props are a fixed vocabulary on the spacing
|
|
8
|
+
scale, and one resolver (`box-layout.ts`) turns them into the same numbers on
|
|
9
|
+
each side — `p={2}` is `theme.spacing(2)`, 16px on the web and 16dp on native.
|
|
10
|
+
|
|
11
|
+
```tsx
|
|
12
|
+
import { Box } from '@12-apps/ui/layout/Box';
|
|
13
|
+
|
|
14
|
+
<Box direction="row" gap={2} align="center" p={2} bg="paper" radius="lg" bordered>
|
|
15
|
+
…
|
|
16
|
+
</Box>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Props
|
|
20
|
+
|
|
21
|
+
| prop | type | notes |
|
|
22
|
+
|---|---|---|
|
|
23
|
+
| `p` `px` `py` `pt` `pr` `pb` `pl` | `number` | padding, in spacing units; the specific side wins over the axis, the axis over `p` |
|
|
24
|
+
| `m` `mx` `my` `mt` `mr` `mb` `ml` | `number` | margin, same rules |
|
|
25
|
+
| `gap` | `number` | between children; makes the box a flex container |
|
|
26
|
+
| `direction` | `row` `column` `row-reverse` `column-reverse` | makes the box a flex container (`column` when only `gap`/`align`/`justify` is set) |
|
|
27
|
+
| `align` | `start` `center` `end` `stretch` `baseline` | `alignItems` |
|
|
28
|
+
| `justify` | `start` `center` `end` `between` `around` `evenly` | `justifyContent` |
|
|
29
|
+
| `wrap` | `boolean` | `flexWrap: wrap` |
|
|
30
|
+
| `flex` | `number` | |
|
|
31
|
+
| `bg` | `default` `paper` `transparent` or a palette slot | a surface, or the slot's `main` |
|
|
32
|
+
| `radius` | `sm` `md` `lg` `xl` `full` | the theme's radius scale (2, 4, 8, 16 px by default) |
|
|
33
|
+
| `bordered` | `boolean` | a 1px border in the divider colour |
|
|
34
|
+
| `width` `height` | `number` `'auto'` `'50%'` | what both renderers accept as a size |
|
|
35
|
+
| `testID` / `dataTestId` | `string` | either spelling; rendered as `data-testid` on the web |
|
|
36
|
+
|
|
37
|
+
On the **web** every other prop of MUI's `Box` is accepted too, `sx` included —
|
|
38
|
+
it is applied after the resolved layout, so it still wins. On **native** the
|
|
39
|
+
extras are a `View`'s own (`style`, `onLayout`, `accessibilityLabel`…).
|
|
40
|
+
|
|
41
|
+
## What differs between renderers
|
|
42
|
+
|
|
43
|
+
A `View` is always a flex column; MUI's `Box` is a `div`, a block, until a
|
|
44
|
+
layout prop makes it flex. Children stack the same way in both, so the only
|
|
45
|
+
observable difference is `display` on a box with no layout props — which is
|
|
46
|
+
why the `BlockByDefault` test story is tagged `native-skip`.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { View } from 'react-native';
|
|
3
|
+
|
|
4
|
+
import { resolveBoxLayout, splitBoxProps } from './box-layout';
|
|
5
|
+
import type { BoxProps } from './Box.types.native';
|
|
6
|
+
import { resolveTestId } from '../../../platform/test-id';
|
|
7
|
+
import { useUiTheme } from '../../../provider/use-ui-theme.native';
|
|
8
|
+
|
|
9
|
+
/** The native `Box`: a `View` with the same resolved numbers the web `Box` puts in `sx`. */
|
|
10
|
+
export const Box = React.forwardRef<View, BoxProps>(({ children, style, ...props }, ref) => {
|
|
11
|
+
const theme = useUiTheme();
|
|
12
|
+
const { layout, rest } = splitBoxProps(props);
|
|
13
|
+
const resolved = resolveBoxLayout(layout, theme);
|
|
14
|
+
|
|
15
|
+
return (
|
|
16
|
+
<View ref={ref} style={[resolved, style]} testID={resolveTestId(layout)} {...rest}>
|
|
17
|
+
{children}
|
|
18
|
+
</View>
|
|
19
|
+
);
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
Box.displayName = 'Box';
|