@12-apps/ui 6.20.0 → 6.22.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 +10 -4
- package/dist/_internal/components/data-display/Alert/Alert.js +2 -2
- package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +8 -8
- package/dist/_internal/components/data-display/Badge/Badge.js +2 -2
- package/dist/_internal/components/data-display/CardKit/CardKebab.js +3 -3
- package/dist/_internal/components/data-display/CardKit/card-actions-context.js +3 -3
- package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +6 -6
- package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +3 -3
- package/dist/_internal/components/data-display/Carousel/Carousel.js +3 -3
- package/dist/_internal/components/data-display/Chart/SpecChart.js +3 -3
- package/dist/_internal/components/data-display/DataGrid/DataGrid.js +3 -3
- package/dist/_internal/components/data-display/DataViews/DataViewsBoard.js +3 -3
- package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +49 -48
- package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +72 -65
- package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +9 -6
- package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +10 -7
- package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +20 -13
- package/dist/_internal/components/data-display/DataViews/base-card.js +12 -8
- package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +6 -6
- package/dist/_internal/components/data-display/DataViews/base-list-card-gutters.js +10 -3
- package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +5 -5
- package/dist/_internal/components/data-display/DataViews/base-list-card.js +18 -15
- package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +17 -15
- package/dist/_internal/components/data-display/DataViews/data-views-columns-tab.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-columns.js +4 -4
- package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +7 -7
- package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-empty.js +4 -4
- package/dist/_internal/components/data-display/DataViews/data-views-export.js +4 -4
- package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +20 -18
- package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +11 -11
- package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +46 -45
- package/dist/_internal/components/data-display/DataViews/data-views-header-row.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +23 -22
- package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +6 -6
- package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +8 -8
- package/dist/_internal/components/data-display/DataViews/data-views-select-all-strip.js +4 -4
- package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +14 -14
- package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +27 -20
- package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +13 -13
- package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +4 -4
- package/dist/_internal/components/data-display/DataViews/list-card-rails.js +1 -1
- package/dist/_internal/components/data-display/DataViews/save-view-preview.js +3 -3
- package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +6 -6
- package/dist/_internal/components/data-display/DataViews/use-saved-views-controller.js +2 -2
- package/dist/_internal/components/data-display/DescriptionItem/DescriptionItem.js +3 -3
- package/dist/_internal/components/data-display/EmptyState/EmptyState.js +3 -3
- package/dist/_internal/components/data-display/ErrorState/ErrorState.js +2 -2
- package/dist/_internal/components/data-display/HoverCard/HoverCard.js +3 -3
- package/dist/_internal/components/data-display/LazyImage/LazyImage.js +4 -4
- package/dist/_internal/components/data-display/Lightbox/Lightbox.js +5 -5
- package/dist/_internal/components/data-display/LoadingState/LoadingState.js +4 -4
- 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/Progress/Progress.js +2 -2
- package/dist/_internal/components/data-display/SectionOnboarding/SectionOnboarding.js +4 -4
- package/dist/_internal/components/data-display/Sheet/Sheet.hooks.js +2 -2
- package/dist/_internal/components/data-display/Sheet/Sheet.js +4 -4
- package/dist/_internal/components/data-display/StatCard/StatCard.js +4 -4
- package/dist/_internal/components/data-display/index.js +50 -50
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +3 -3
- package/dist/_internal/components/feedback/Dialog/Dialog.base.js +1 -0
- package/dist/_internal/components/feedback/Dialog/Dialog.base.js.map +1 -0
- package/dist/_internal/components/feedback/Dialog/Dialog.helpers.js +12 -0
- package/dist/_internal/components/feedback/Dialog/Dialog.helpers.js.map +1 -0
- package/dist/_internal/components/feedback/Dialog/Dialog.js +6 -2
- package/dist/_internal/components/feedback/Dialog/Dialog.metrics.js +42 -0
- package/dist/_internal/components/feedback/Dialog/Dialog.metrics.js.map +1 -0
- package/dist/_internal/components/feedback/Dialog/Dialog.styles.js +3 -1
- package/dist/_internal/components/feedback/Modal/Modal.js +2 -2
- package/dist/_internal/components/feedback/StackedModal/StackedModal.js +2 -2
- package/dist/_internal/components/feedback/index.js +14 -11
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.hooks.js +3 -3
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +11 -9
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +7 -5
- package/dist/_internal/components/form/AddressAutocomplete/AddressFallbackField.js +5 -3
- package/dist/_internal/components/form/AddressAutocomplete/AddressInputField.js +5 -3
- package/dist/_internal/components/form/AddressAutocomplete/AddressTextField.js +4 -2
- package/dist/_internal/components/form/Button/Button.js +2 -2
- package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +10 -8
- package/dist/_internal/components/form/CategorySelect/CategoryPanelFoot.js +5 -3
- package/dist/_internal/components/form/CategorySelect/CategoryPanelHead.js +5 -3
- package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +6 -4
- package/dist/_internal/components/form/CategorySelect/CategoryRows.js +5 -3
- package/dist/_internal/components/form/CategorySelect/CategorySelect.js +13 -11
- package/dist/_internal/components/form/CategorySelect/CategorySelect.styles.js +4 -2
- package/dist/_internal/components/form/CategorySelect/CategoryTrigger.js +5 -3
- package/dist/_internal/components/form/CepField/CepField.js +10 -4
- package/dist/_internal/components/form/Checkbox/Checkbox.base.js +1 -0
- package/dist/_internal/components/form/Checkbox/Checkbox.base.js.map +1 -0
- package/dist/_internal/components/form/Checkbox/Checkbox.helpers.js +2 -1
- package/dist/_internal/components/form/Checkbox/Checkbox.js +9 -2
- package/dist/_internal/components/form/Checkbox/Checkbox.metrics.js +34 -0
- package/dist/_internal/components/form/Checkbox/Checkbox.metrics.js.map +1 -0
- package/dist/_internal/components/form/CodeEditor/CodeEditor.js +5 -3
- package/dist/_internal/components/form/CreatableSelect/CreatableSelect.js +4 -2
- package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +3 -3
- package/dist/_internal/components/form/Input/Input.base.js +1 -0
- package/dist/_internal/components/form/Input/Input.base.js.map +1 -0
- package/dist/_internal/components/form/Input/Input.helpers.js +23 -0
- package/dist/_internal/components/form/Input/Input.helpers.js.map +1 -0
- package/dist/_internal/components/form/Input/Input.js +9 -3
- package/dist/_internal/components/form/Input/Input.metrics.js +53 -0
- package/dist/_internal/components/form/Input/Input.metrics.js.map +1 -0
- package/dist/_internal/components/form/Input/Input.styles.js +10 -4
- package/dist/_internal/components/form/InputOTP/InputOTP.js +5 -3
- package/dist/_internal/components/form/InputOTP/InputOTP.styles.js +4 -2
- package/dist/_internal/components/form/Label/Label.js +2 -2
- package/dist/_internal/components/form/Menubar/Menubar.js +2 -2
- package/dist/_internal/components/form/PhoneInput/PhoneInput.js +4 -2
- package/dist/_internal/components/form/RadioGroup/RadioGroup.js +6 -4
- package/dist/_internal/components/form/RadioGroup/RadioGroup.styles.js +4 -2
- package/dist/_internal/components/form/RadioGroup/RadioGroup.variants.js +5 -3
- package/dist/_internal/components/form/RichTextEditor/RichTextEditor.js +4 -2
- package/dist/_internal/components/form/Select/Select.base.js +1 -0
- package/dist/_internal/components/form/Select/Select.base.js.map +1 -0
- package/dist/_internal/components/form/Select/Select.helpers.js +48 -0
- package/dist/_internal/components/form/Select/Select.helpers.js.map +1 -0
- package/dist/_internal/components/form/Select/Select.js +10 -2
- package/dist/_internal/components/form/Select/Select.metrics.js +38 -0
- package/dist/_internal/components/form/Select/Select.metrics.js.map +1 -0
- package/dist/_internal/components/form/Switch/Switch.base.js +1 -0
- package/dist/_internal/components/form/Switch/Switch.base.js.map +1 -0
- package/dist/_internal/components/form/Switch/Switch.helpers.js +59 -0
- package/dist/_internal/components/form/Switch/Switch.helpers.js.map +1 -0
- package/dist/_internal/components/form/Switch/Switch.js +9 -3
- package/dist/_internal/components/form/Switch/Switch.metrics.js +83 -0
- package/dist/_internal/components/form/Switch/Switch.metrics.js.map +1 -0
- package/dist/_internal/components/form/Switch/Switch.parts.js +7 -2
- package/dist/_internal/components/form/Switch/Switch.styles.js +6 -1
- package/dist/_internal/components/form/Textarea/Textarea.js +5 -3
- package/dist/_internal/components/form/Textarea/Textarea.styles.js +4 -2
- package/dist/_internal/components/form/Textarea/TextareaRichEditor.js +4 -2
- package/dist/_internal/components/form/Textarea/TextareaRichEditor.js.map +1 -1
- package/dist/_internal/components/form/Toggle/Toggle.js +5 -3
- package/dist/_internal/components/form/Toggle/Toggle.styles.js +4 -2
- package/dist/_internal/components/form/index.js +46 -40
- package/dist/_internal/components/form/total-form/Fields/CategoryField.js +14 -12
- package/dist/_internal/components/form/total-form/Fields/CepField.js +11 -5
- package/dist/_internal/components/form/total-form/Fields/SelectField.js +11 -3
- package/dist/_internal/components/form/total-form/Fields/TextField.js +10 -4
- package/dist/_internal/components/form/total-form/Fields/index.js +32 -24
- package/dist/_internal/components/form/total-form/SubmitButton.js +3 -3
- package/dist/_internal/components/index.js +138 -128
- package/dist/_internal/components/layout/Box/Box.js +2 -2
- package/dist/_internal/components/layout/Card/Card.base.js +1 -0
- package/dist/_internal/components/layout/Card/Card.base.js.map +1 -0
- package/dist/_internal/components/layout/Card/Card.helpers.js +1 -1
- package/dist/_internal/components/layout/Card/Card.js +6 -3
- package/dist/_internal/components/layout/Card/Card.metrics.js +44 -0
- package/dist/_internal/components/layout/Card/Card.metrics.js.map +1 -0
- package/dist/_internal/components/layout/Card/Card.styles.js +3 -1
- package/dist/_internal/components/layout/Container/Container.js +2 -2
- package/dist/_internal/components/layout/ScrollArea/ScrollArea.js +3 -3
- package/dist/_internal/components/layout/Skeleton/Skeleton.js +3 -3
- package/dist/_internal/components/layout/Spacer/Spacer.js +2 -2
- package/dist/_internal/components/layout/Stack/Stack.js +3 -3
- package/dist/_internal/components/layout/index.js +22 -20
- package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +12 -9
- 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/index.js +20 -17
- package/dist/_internal/components/typography/Heading/Heading.js +2 -2
- package/dist/_internal/components/typography/Paragraph/Paragraph.js +2 -2
- package/dist/_internal/components/typography/Text/Text.js +2 -2
- package/dist/_internal/components/typography/index.js +4 -4
- package/dist/_internal/components/utility/InstallPrompt/InstallPrompt.js +2 -2
- package/dist/_internal/components/utility/index.js +2 -2
- package/dist/_internal/icons/Icon.js +3 -3
- package/dist/_internal/icons/paths.generated.js +1 -1
- package/dist/_internal/platform/aria.js +17 -1
- package/dist/_internal/platform/aria.js.map +1 -1
- package/dist/_internal/platform/test-id.js +5 -1
- package/dist/_internal/social-login-button/social-login-button.js +10 -8
- package/dist/_internal/tokens/field-edge.core.js +11 -0
- package/dist/_internal/tokens/field-edge.core.js.map +1 -0
- package/dist/_internal/tokens/field-edge.js +5 -2
- package/dist/_internal/tokens/mui-type.js +1 -0
- package/dist/_internal/tokens/mui-type.js.map +1 -1
- package/dist/_internal/tokens/shadow.js +18 -0
- package/dist/_internal/tokens/shadow.js.map +1 -0
- package/dist/_internal/user-avatar/user-avatar.js +9 -7
- package/dist/charts.js +11 -11
- package/dist/{chunk-MBYO2F4Y.js → chunk-25R3ITGZ.js} +6 -6
- package/dist/chunk-2ECT4IY2.js +250 -0
- package/dist/chunk-2ECT4IY2.js.map +1 -0
- package/dist/{chunk-KQ74QU55.js → chunk-2FDBR77W.js} +3 -3
- package/dist/{chunk-D7FJ2GAD.js → chunk-2HPP6RVC.js} +2 -2
- package/dist/{chunk-B2A4DG77.js → chunk-2MMEIN4T.js} +6 -6
- package/dist/{chunk-YRUCIKPO.js → chunk-2UYR2OOE.js} +4 -4
- package/dist/{chunk-2PCOC3PT.js → chunk-343TTIHD.js} +2 -2
- package/dist/{chunk-DQHC5P64.js → chunk-3FLVIVOK.js} +3 -3
- package/dist/{chunk-URWGRPL7.js → chunk-3W7IEWEL.js} +2 -2
- package/dist/{chunk-47UD6DZ4.js → chunk-4523RYE7.js} +5 -5
- package/dist/{chunk-AEGX66N7.js → chunk-4IVOHL32.js} +2 -2
- package/dist/{chunk-OQXOYHIV.js → chunk-4OHRZW7U.js} +48 -40
- package/dist/chunk-4OHRZW7U.js.map +1 -0
- package/dist/{chunk-GGE7Y53F.js → chunk-4TXIZ5WI.js} +2 -2
- package/dist/{chunk-IJIT5HQP.js → chunk-4X4KM4ZB.js} +4 -4
- package/dist/{chunk-6PRA45LC.js → chunk-5KEMPCW4.js} +54 -45
- package/dist/chunk-5KEMPCW4.js.map +1 -0
- package/dist/{chunk-M7OHXNLF.js → chunk-5NKUYCZD.js} +3 -3
- package/dist/{chunk-C52BELLW.js → chunk-5OIH36KX.js} +3 -3
- package/dist/chunk-5ZNU2U4D.js +41 -0
- package/dist/chunk-5ZNU2U4D.js.map +1 -0
- package/dist/{chunk-LMJBINWN.js → chunk-5ZTUP65G.js} +7 -7
- package/dist/{chunk-EX3PSZLV.js → chunk-67L7HMEP.js} +3 -3
- package/dist/{chunk-2EKALM6P.js → chunk-6JGPPTLX.js} +5 -5
- package/dist/{chunk-LZRURORY.js → chunk-6NZTYZP5.js} +4 -4
- package/dist/chunk-6Q6T3FW5.js +92 -0
- package/dist/chunk-6Q6T3FW5.js.map +1 -0
- package/dist/{chunk-DCEMUZJQ.js → chunk-6WIDZGXE.js} +2 -2
- package/dist/{chunk-R7MX5KPJ.js → chunk-6YLAVHV4.js} +4 -4
- package/dist/chunk-73BEVJCS.js +28 -0
- package/dist/chunk-73BEVJCS.js.map +1 -0
- package/dist/chunk-7FDU3FIN.js +13 -0
- package/dist/chunk-7FDU3FIN.js.map +1 -0
- package/dist/{chunk-RXSGHPCR.js → chunk-7FOOLP5H.js} +4 -4
- package/dist/{chunk-DOADQW7I.js → chunk-7NSX7A5H.js} +2 -2
- package/dist/{chunk-QZWKC3AP.js → chunk-7VN7LFBA.js} +6 -6
- package/dist/{chunk-E4FGKZID.js → chunk-AEGXHZQT.js} +2 -2
- package/dist/{chunk-WO52KYSU.js → chunk-AGSBIUPV.js} +8 -8
- package/dist/{chunk-D2IASECY.js → chunk-AIRWM7KK.js} +39 -28
- package/dist/chunk-AIRWM7KK.js.map +1 -0
- package/dist/{chunk-PU3AAKRR.js → chunk-AJ6XEO4E.js} +2 -2
- package/dist/{chunk-7DNQHMDO.js → chunk-B6IURHSZ.js} +4 -4
- package/dist/chunk-BEBLRL5D.js +177 -0
- package/dist/chunk-BEBLRL5D.js.map +1 -0
- package/dist/{chunk-WX7VWW3W.js → chunk-C3CMEDSO.js} +2 -2
- package/dist/{chunk-HSAH5QUQ.js → chunk-CHPZTF34.js} +7 -7
- package/dist/{chunk-7EESF76V.js → chunk-CJBBGMIA.js} +2 -2
- package/dist/{chunk-2W4CIWTW.js → chunk-DBYFC6CF.js} +3 -3
- package/dist/chunk-DFK6QCXX.js +150 -0
- package/dist/chunk-DFK6QCXX.js.map +1 -0
- package/dist/{chunk-FGLV6BXQ.js → chunk-DTC224UJ.js} +6 -6
- package/dist/{chunk-HEK4LQT6.js → chunk-DVFIE54C.js} +2 -2
- package/dist/{chunk-4N4ENTF7.js → chunk-DW5FRWRQ.js} +2 -2
- package/dist/{chunk-THBT56JE.js → chunk-E55CJV65.js} +2 -2
- package/dist/{chunk-B7BZAIHL.js → chunk-EOHKZGOZ.js} +2 -2
- package/dist/{chunk-MLOWPVVW.js → chunk-EPEJMTCQ.js} +16 -13
- package/dist/chunk-EPEJMTCQ.js.map +1 -0
- package/dist/{chunk-EGRFMPGD.js → chunk-EXJBPKGW.js} +4 -4
- package/dist/{chunk-BILE3A7F.js → chunk-FGK2C7JR.js} +2 -2
- package/dist/{chunk-OI3HOI74.js → chunk-FGUESLDX.js} +2 -2
- package/dist/{chunk-RI5JZLZL.js → chunk-FKUYRQSP.js} +1 -1
- package/dist/chunk-FKUYRQSP.js.map +1 -0
- package/dist/{chunk-VCTKJHXD.js → chunk-FL54G7PV.js} +2 -2
- package/dist/{chunk-FX5DY6VR.js → chunk-FR67FG2U.js} +7 -4
- package/dist/chunk-FR67FG2U.js.map +1 -0
- package/dist/{chunk-HDNK7BAX.js → chunk-GT7C6TSM.js} +3 -3
- package/dist/chunk-GY6KNVMI.js +39 -0
- package/dist/chunk-GY6KNVMI.js.map +1 -0
- package/dist/chunk-GYXUCS37.js +36 -0
- package/dist/chunk-GYXUCS37.js.map +1 -0
- package/dist/{chunk-V3SBJ3PB.js → chunk-HFXTAEYY.js} +2 -2
- package/dist/{chunk-HBAPVB7T.js → chunk-HKKSZ7HG.js} +2 -2
- package/dist/{chunk-FOMK3WPG.js → chunk-HLYPI5CO.js} +4 -4
- package/dist/{chunk-3AOOI2NR.js → chunk-HR7YTBR7.js} +4 -4
- package/dist/{chunk-UNF65XZW.js → chunk-I5SBTNV2.js} +2 -2
- package/dist/{chunk-X24P3ZYW.js → chunk-J4W4TQPC.js} +6 -6
- package/dist/{chunk-5ZOJLYD2.js → chunk-JE6RZ5L6.js} +4 -4
- package/dist/{chunk-NQC6H7GY.js → chunk-JIKWZDNK.js} +2 -2
- package/dist/{chunk-ENNW5SKT.js → chunk-JSH3HFDQ.js} +2 -2
- package/dist/{chunk-JB7JE4QZ.js → chunk-JWW2Z3RH.js} +4 -4
- package/dist/{chunk-LAHDFBDE.js → chunk-JXNT5TUP.js} +3 -3
- package/dist/{chunk-VMNSGE2G.js → chunk-KEVPUBOE.js} +5 -1
- package/dist/chunk-KEVPUBOE.js.map +1 -0
- package/dist/{chunk-ZBNTFWTG.js → chunk-KIHQE5YA.js} +2 -2
- package/dist/{chunk-ZEBJT5JZ.js → chunk-KTK4A3IF.js} +3 -3
- package/dist/{chunk-4WK2RTVY.js → chunk-LS4FMSHY.js} +5 -5
- package/dist/{chunk-PNYXXLPU.js → chunk-M4LQRQFL.js} +2 -2
- package/dist/{chunk-Z7JNCB5Q.js → chunk-MESRKY67.js} +2 -2
- package/dist/chunk-MLCFODJO.js +135 -0
- package/dist/chunk-MLCFODJO.js.map +1 -0
- package/dist/{chunk-VJK5FBNK.js → chunk-MP4VSWHK.js} +2 -2
- package/dist/{chunk-Q5EQC7NL.js → chunk-N5IVVLTH.js} +8 -5
- package/dist/chunk-N5IVVLTH.js.map +1 -0
- package/dist/{chunk-6XPNJLXE.js → chunk-NARIG5FL.js} +2 -2
- package/dist/{chunk-VEFDL77X.js → chunk-NWNSUHEB.js} +2 -2
- package/dist/{chunk-43NEBUV3.js → chunk-O3336DJ6.js} +2 -2
- package/dist/{chunk-WBVHRLIS.js → chunk-OFOYMZRY.js} +2 -2
- package/dist/{chunk-SM3NRN7L.js → chunk-ON2CMKTI.js} +2 -2
- package/dist/{chunk-IH4CX43Q.js → chunk-OP65D4UR.js} +2 -2
- package/dist/{chunk-NHSMLVNC.js → chunk-OVLNF4AZ.js} +3 -3
- package/dist/{chunk-ZTZ6S5Q6.js → chunk-OXQP3N6X.js} +4 -4
- package/dist/{chunk-YVW7VPK4.js → chunk-PFLKPNBU.js} +2 -2
- package/dist/{chunk-7P2HZLEG.js → chunk-PFV6RL4Q.js} +3 -3
- package/dist/{chunk-76GZ55IC.js → chunk-PMS3H3OO.js} +7 -7
- package/dist/{chunk-UF27D35R.js → chunk-PRUSQQDT.js} +2 -2
- package/dist/{chunk-HBZIN6IQ.js → chunk-PZEC5CQA.js} +2 -2
- package/dist/{chunk-74OZ5KVR.js → chunk-Q75SJ35X.js} +4 -4
- package/dist/{chunk-PC5FFEIY.js → chunk-QFJRB27Q.js} +4 -4
- package/dist/{chunk-6D5WEZ2L.js → chunk-QFVFHIHE.js} +2 -2
- package/dist/{chunk-GBB6XQ56.js → chunk-QGBMCB76.js} +2 -2
- package/dist/{chunk-PODGTNXS.js → chunk-QKIJ6YXZ.js} +4 -4
- package/dist/{chunk-DX527XPL.js → chunk-QWDEOITU.js} +2 -2
- package/dist/{chunk-BJ3J6FTN.js → chunk-R7R3LOKW.js} +40 -23
- package/dist/chunk-R7R3LOKW.js.map +1 -0
- package/dist/{chunk-OLZTGVBT.js → chunk-REMK55JI.js} +4 -4
- package/dist/{chunk-BLT5ZBVL.js → chunk-RRX6ZTNX.js} +2 -2
- package/dist/{chunk-RMSH2I3O.js → chunk-S6YY2WWK.js} +40 -50
- package/dist/chunk-S6YY2WWK.js.map +1 -0
- package/dist/{chunk-FCOEJCUP.js → chunk-TFO6GBW7.js} +2 -2
- package/dist/{chunk-2ZDTGI5V.js → chunk-TLMLEC4F.js} +7 -7
- package/dist/{chunk-VSLUFBMT.js → chunk-TOYEP23N.js} +41 -27
- package/dist/chunk-TOYEP23N.js.map +1 -0
- package/dist/{chunk-FP4R47TM.js → chunk-TW3BXVEU.js} +2 -2
- package/dist/{chunk-QLWBQQW7.js → chunk-TYJR4GOF.js} +10 -2
- package/dist/chunk-TYJR4GOF.js.map +1 -0
- package/dist/{chunk-JD364H3Y.js → chunk-TZ633UZA.js} +6 -5
- package/dist/chunk-TZ633UZA.js.map +1 -0
- package/dist/{chunk-J6UFAMIC.js → chunk-TZDDL3DR.js} +2 -2
- package/dist/{chunk-6IUTT6BK.js → chunk-U2YJCNRU.js} +4 -4
- package/dist/{chunk-KZSKI2R3.js → chunk-U2ZDN2AL.js} +2 -2
- package/dist/{chunk-YFHIESMD.js → chunk-U7Q2Y6WG.js} +2 -2
- package/dist/{chunk-RQDN4BN5.js → chunk-UU3QAKG6.js} +14 -14
- package/dist/{chunk-VJFH2AXT.js → chunk-UVGRRI7N.js} +7 -7
- package/dist/{chunk-7DBFEZRC.js → chunk-VIK3HAUQ.js} +2 -2
- package/dist/chunk-VM3HRSAU.js +79 -0
- package/dist/chunk-VM3HRSAU.js.map +1 -0
- package/dist/{chunk-SOCKK67R.js → chunk-VNDOQEJ7.js} +4 -4
- package/dist/{chunk-J54WH74M.js → chunk-VNNG46TS.js} +5 -5
- package/dist/{chunk-5ZF3VASA.js → chunk-VQAM2XZV.js} +7 -7
- package/dist/{chunk-SEH7KOVG.js → chunk-VXTYVJDK.js} +2 -2
- package/dist/{chunk-37YPZHAG.js → chunk-W4SDVTZC.js} +2 -2
- package/dist/{chunk-X5D3PTWI.js → chunk-W4YWU7LQ.js} +2 -2
- package/dist/{chunk-LKVIZNUM.js → chunk-W7Y6RA6W.js} +8 -8
- package/dist/{chunk-Z4GWXTZV.js → chunk-WGRS4PGY.js} +8 -8
- package/dist/{chunk-NRUYYGDZ.js → chunk-WLQTHPMX.js} +2 -2
- package/dist/{chunk-J2KSG754.js → chunk-WRDPWEIC.js} +5 -5
- package/dist/{chunk-HEG7JIBM.js → chunk-X5MPHXG5.js} +4 -4
- package/dist/{chunk-NFAKRI4S.js → chunk-XELVDPKL.js} +4 -4
- package/dist/{chunk-EPNUVSNK.js → chunk-XFUNJYFT.js} +7 -7
- package/dist/{chunk-7RZ4WOQW.js → chunk-XKV5ZIBG.js} +3 -3
- package/dist/{chunk-F2DOTCF3.js → chunk-XSF6AXEU.js} +2 -2
- package/dist/{chunk-74EZ565M.js → chunk-XT7HMNBW.js} +9 -9
- package/dist/{chunk-PHCSPHDH.js → chunk-XUJG2HFW.js} +3 -3
- package/dist/{chunk-ACDYA5WC.js → chunk-XZTOIEKI.js} +2 -2
- package/dist/{chunk-S5LE2ARG.js → chunk-YANLN6HP.js} +66 -56
- package/dist/chunk-YANLN6HP.js.map +1 -0
- package/dist/{chunk-SKZHOWTS.js → chunk-YDI6IJ6F.js} +2 -2
- package/dist/{chunk-YK2PETUP.js → chunk-YJ4HM25H.js} +2 -2
- package/dist/{chunk-Q4NOI2CR.js → chunk-YQ6TNHAC.js} +4 -4
- package/dist/{chunk-24BUCMQA.js → chunk-YTOYMJPM.js} +2 -2
- package/dist/{chunk-G5ZVD5IJ.js → chunk-ZDWU52DJ.js} +2 -2
- package/dist/{chunk-MY5VNNSP.js → chunk-ZIYMBR7K.js} +8 -8
- package/dist/{chunk-7JWXLDRH.js → chunk-ZKR5B6YJ.js} +4 -4
- package/dist/{chunk-4MGFUPQT.js → chunk-ZOUWHGV3.js} +4 -4
- package/dist/{chunk-UMDXGIRZ.js → chunk-ZZOOSKSV.js} +2 -2
- package/dist/data-display/Alert.js +2 -2
- package/dist/data-display/AsyncStateContainer.js +8 -8
- package/dist/data-display/Badge.js +2 -2
- package/dist/data-display/CardKit.js +10 -10
- package/dist/data-display/Carousel.js +3 -3
- package/dist/data-display/Chart.js +11 -11
- package/dist/data-display/DataGrid.js +3 -3
- package/dist/data-display/DataViews.js +90 -81
- package/dist/data-display/DescriptionItem.js +3 -3
- package/dist/data-display/EmptyState.js +3 -3
- package/dist/data-display/ErrorState.js +2 -2
- package/dist/data-display/HoverCard.js +3 -3
- package/dist/data-display/LazyImage.js +4 -4
- package/dist/data-display/Lightbox.js +5 -5
- package/dist/data-display/LoadingState.js +4 -4
- package/dist/data-display/MapPreview.js +4 -4
- package/dist/data-display/Progress.js +2 -2
- package/dist/data-display/SectionOnboarding.js +4 -4
- package/dist/data-display/Sheet.js +4 -4
- package/dist/data-display/StatCard.js +4 -4
- package/dist/feedback/ConfirmAction.js +5 -5
- package/dist/feedback/Dialog.js +6 -2
- package/dist/feedback/Modal.js +2 -2
- package/dist/feedback/StackedModal.js +2 -2
- package/dist/form/AddressAutocomplete.js +11 -9
- package/dist/form/Button.js +2 -2
- package/dist/form/CategorySelect.js +13 -11
- package/dist/form/CepField.js +10 -4
- package/dist/form/Checkbox.js +9 -2
- package/dist/form/CodeEditor.js +5 -3
- package/dist/form/CreatableSelect.js +4 -2
- package/dist/form/DateRangePicker.js +3 -3
- package/dist/form/Input.js +9 -3
- package/dist/form/InputOTP.js +5 -3
- package/dist/form/Label.js +2 -2
- package/dist/form/Menubar.js +2 -2
- package/dist/form/PhoneInput.js +4 -2
- package/dist/form/RadioGroup.js +6 -4
- package/dist/form/RichTextEditor.js +4 -2
- package/dist/form/Select.js +10 -2
- package/dist/form/Switch.js +9 -3
- package/dist/form/Textarea.js +5 -3
- package/dist/form/Toggle.js +5 -3
- package/dist/form/total-form.js +37 -32
- package/dist/icons.js +3 -3
- package/dist/layout/Box.js +2 -2
- package/dist/layout/Card.js +6 -3
- package/dist/layout/Container.js +2 -2
- package/dist/layout/ContentToolbar.js +9 -9
- package/dist/layout/ScrollArea.js +3 -3
- package/dist/layout/Skeleton.js +3 -3
- package/dist/layout/Spacer.js +2 -2
- package/dist/layout/Stack.js +3 -3
- package/dist/native/chunks/{chunk-HSIND52T.js → chunk-2UFNPDYT.js} +2 -1
- package/dist/native/chunks/chunk-2UFNPDYT.js.map +1 -0
- package/dist/native/chunks/{chunk-EKKNUEA6.js → chunk-75JQYVDZ.js} +3 -3
- package/dist/native/chunks/chunk-7LTVGW23.js +351 -0
- package/dist/native/chunks/chunk-7LTVGW23.js.map +1 -0
- package/dist/native/chunks/{chunk-M4DTJDWU.js → chunk-AR5O4BEY.js} +6 -2
- package/dist/native/chunks/chunk-AR5O4BEY.js.map +1 -0
- package/dist/native/chunks/{chunk-UKCCYP52.js → chunk-ATS7STZJ.js} +4 -4
- package/dist/native/chunks/{chunk-YTHR4Y5P.js → chunk-GWGIWQO7.js} +2 -2
- package/dist/native/chunks/{chunk-P3PL4WBO.js → chunk-LEMMXZFN.js} +24 -24
- package/dist/native/chunks/{chunk-P3PL4WBO.js.map → chunk-LEMMXZFN.js.map} +1 -1
- package/dist/native/chunks/chunk-NRN37A5K.js +67 -0
- package/dist/native/chunks/chunk-NRN37A5K.js.map +1 -0
- package/dist/native/chunks/chunk-OXHZDFJZ.js +15 -0
- package/dist/native/chunks/chunk-OXHZDFJZ.js.map +1 -0
- package/dist/native/chunks/{chunk-Q52IDAF2.js → chunk-QYUD3S6F.js} +9 -5
- package/dist/native/chunks/chunk-QYUD3S6F.js.map +1 -0
- package/dist/native/chunks/chunk-T6BJPP3E.js +26 -0
- package/dist/native/chunks/chunk-T6BJPP3E.js.map +1 -0
- package/dist/native/data-display/Alert.js +9 -9
- package/dist/native/data-display/Avatar.js +7 -7
- package/dist/native/data-display/Badge.js +9 -9
- package/dist/native/data-display/Chip.js +4 -4
- package/dist/native/data-display/EmptyState.js +12 -12
- package/dist/native/data-display/ErrorState.js +12 -12
- package/dist/native/data-display/LoadingState.js +7 -7
- package/dist/native/data-display/Progress.js +3 -3
- package/dist/native/feedback/Dialog.js +496 -0
- package/dist/native/feedback/Dialog.js.map +1 -0
- package/dist/native/form/Button.js +4 -4
- package/dist/native/form/Checkbox.js +233 -0
- package/dist/native/form/Checkbox.js.map +1 -0
- package/dist/native/form/Input.js +233 -0
- package/dist/native/form/Input.js.map +1 -0
- package/dist/native/form/Select.js +348 -0
- package/dist/native/form/Select.js.map +1 -0
- package/dist/native/form/Switch.js +511 -0
- package/dist/native/form/Switch.js.map +1 -0
- package/dist/native/icons.js +4 -4
- package/dist/native/layout/Box.js +4 -4
- package/dist/native/layout/Card.js +494 -0
- package/dist/native/layout/Card.js.map +1 -0
- package/dist/native/layout/Container.js +3 -3
- package/dist/native/layout/Skeleton.js +6 -6
- package/dist/native/layout/Spacer.js +3 -3
- package/dist/native/layout/Stack.js +4 -4
- package/dist/native/provider.js +2 -2
- package/dist/native/tokens.js +1 -1
- package/dist/native/typography/Heading.js +3 -3
- package/dist/native/typography/Paragraph.js +3 -3
- package/dist/native/typography/Text.js +3 -3
- package/dist/navigation/AppHeader.js +12 -9
- package/dist/navigation/CommandPalette.js +3 -3
- package/dist/navigation/NavigationMenu.js +5 -5
- package/dist/social-login-button.js +10 -8
- package/dist/types/components/feedback/Dialog/Dialog.base.d.ts +64 -0
- package/dist/types/components/feedback/Dialog/Dialog.base.d.ts.map +1 -0
- package/dist/types/components/feedback/Dialog/Dialog.d.ts.map +1 -1
- package/dist/types/components/feedback/Dialog/Dialog.helpers.d.ts +35 -0
- package/dist/types/components/feedback/Dialog/Dialog.helpers.d.ts.map +1 -0
- package/dist/types/components/feedback/Dialog/Dialog.metrics.d.ts +133 -0
- package/dist/types/components/feedback/Dialog/Dialog.metrics.d.ts.map +1 -0
- package/dist/types/components/feedback/Dialog/Dialog.styles.d.ts +4 -4
- package/dist/types/components/feedback/Dialog/Dialog.styles.d.ts.map +1 -1
- package/dist/types/components/feedback/Dialog/Dialog.types.d.ts +8 -41
- package/dist/types/components/feedback/Dialog/Dialog.types.d.ts.map +1 -1
- package/dist/types/components/feedback/Dialog/index.d.ts +1 -1
- package/dist/types/components/feedback/Dialog/index.d.ts.map +1 -1
- package/dist/types/components/form/Checkbox/Checkbox.base.d.ts +36 -0
- package/dist/types/components/form/Checkbox/Checkbox.base.d.ts.map +1 -0
- package/dist/types/components/form/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/types/components/form/Checkbox/Checkbox.helpers.d.ts +9 -3
- package/dist/types/components/form/Checkbox/Checkbox.helpers.d.ts.map +1 -1
- package/dist/types/components/form/Checkbox/Checkbox.metrics.d.ts +92 -0
- package/dist/types/components/form/Checkbox/Checkbox.metrics.d.ts.map +1 -0
- package/dist/types/components/form/Checkbox/Checkbox.types.d.ts +8 -10
- package/dist/types/components/form/Checkbox/Checkbox.types.d.ts.map +1 -1
- package/dist/types/components/form/Checkbox/index.d.ts +1 -1
- package/dist/types/components/form/Checkbox/index.d.ts.map +1 -1
- package/dist/types/components/form/Input/Input.base.d.ts +62 -0
- package/dist/types/components/form/Input/Input.base.d.ts.map +1 -0
- package/dist/types/components/form/Input/Input.d.ts.map +1 -1
- package/dist/types/components/form/Input/Input.helpers.d.ts +11 -0
- package/dist/types/components/form/Input/Input.helpers.d.ts.map +1 -0
- package/dist/types/components/form/Input/Input.metrics.d.ts +186 -0
- package/dist/types/components/form/Input/Input.metrics.d.ts.map +1 -0
- package/dist/types/components/form/Input/Input.styles.d.ts +1 -35
- package/dist/types/components/form/Input/Input.styles.d.ts.map +1 -1
- package/dist/types/components/form/Input/Input.types.d.ts +12 -17
- package/dist/types/components/form/Input/Input.types.d.ts.map +1 -1
- package/dist/types/components/form/Input/index.d.ts +1 -1
- package/dist/types/components/form/Input/index.d.ts.map +1 -1
- package/dist/types/components/form/Select/Select.base.d.ts +75 -0
- package/dist/types/components/form/Select/Select.base.d.ts.map +1 -0
- package/dist/types/components/form/Select/Select.d.ts.map +1 -1
- package/dist/types/components/form/Select/Select.helpers.d.ts +36 -0
- package/dist/types/components/form/Select/Select.helpers.d.ts.map +1 -0
- package/dist/types/components/form/Select/Select.metrics.d.ts +72 -0
- package/dist/types/components/form/Select/Select.metrics.d.ts.map +1 -0
- package/dist/types/components/form/Select/Select.types.d.ts +12 -49
- package/dist/types/components/form/Select/Select.types.d.ts.map +1 -1
- package/dist/types/components/form/Select/index.d.ts +1 -1
- package/dist/types/components/form/Select/index.d.ts.map +1 -1
- package/dist/types/components/form/Switch/Switch.base.d.ts +111 -0
- package/dist/types/components/form/Switch/Switch.base.d.ts.map +1 -0
- package/dist/types/components/form/Switch/Switch.d.ts.map +1 -1
- package/dist/types/components/form/Switch/Switch.helpers.d.ts +17 -0
- package/dist/types/components/form/Switch/Switch.helpers.d.ts.map +1 -0
- package/dist/types/components/form/Switch/Switch.metrics.d.ts +194 -0
- package/dist/types/components/form/Switch/Switch.metrics.d.ts.map +1 -0
- package/dist/types/components/form/Switch/Switch.parts.d.ts.map +1 -1
- package/dist/types/components/form/Switch/Switch.styles.d.ts +5 -3
- package/dist/types/components/form/Switch/Switch.styles.d.ts.map +1 -1
- package/dist/types/components/form/Switch/Switch.types.d.ts +9 -91
- package/dist/types/components/form/Switch/Switch.types.d.ts.map +1 -1
- package/dist/types/components/form/Switch/index.d.ts +1 -1
- package/dist/types/components/form/Switch/index.d.ts.map +1 -1
- package/dist/types/components/layout/Card/Card.base.d.ts +77 -0
- package/dist/types/components/layout/Card/Card.base.d.ts.map +1 -0
- package/dist/types/components/layout/Card/Card.d.ts.map +1 -1
- package/dist/types/components/layout/Card/Card.helpers.d.ts +8 -3
- package/dist/types/components/layout/Card/Card.helpers.d.ts.map +1 -1
- package/dist/types/components/layout/Card/Card.metrics.d.ts +182 -0
- package/dist/types/components/layout/Card/Card.metrics.d.ts.map +1 -0
- package/dist/types/components/layout/Card/Card.styles.d.ts +2 -2
- package/dist/types/components/layout/Card/Card.styles.d.ts.map +1 -1
- package/dist/types/components/layout/Card/Card.types.d.ts +10 -44
- package/dist/types/components/layout/Card/Card.types.d.ts.map +1 -1
- package/dist/types/components/layout/Card/index.d.ts +1 -1
- package/dist/types/components/layout/Card/index.d.ts.map +1 -1
- package/dist/types/icons/paths.generated.d.ts +4 -0
- package/dist/types/icons/paths.generated.d.ts.map +1 -1
- package/dist/types/platform/aria.d.ts +59 -1
- package/dist/types/platform/aria.d.ts.map +1 -1
- package/dist/types/platform/test-id.d.ts +24 -0
- package/dist/types/platform/test-id.d.ts.map +1 -1
- package/dist/types/tokens/field-edge.core.d.ts +27 -0
- package/dist/types/tokens/field-edge.core.d.ts.map +1 -0
- package/dist/types/tokens/field-edge.d.ts +8 -9
- package/dist/types/tokens/field-edge.d.ts.map +1 -1
- package/dist/types/tokens/mui-type.d.ts +1 -1
- package/dist/types/tokens/mui-type.d.ts.map +1 -1
- package/dist/types/tokens/shadow.d.ts +40 -0
- package/dist/types/tokens/shadow.d.ts.map +1 -0
- package/dist/types-native/components/feedback/Dialog/Dialog.base.d.ts +64 -0
- package/dist/types-native/components/feedback/Dialog/Dialog.base.d.ts.map +1 -0
- package/dist/types-native/components/feedback/Dialog/Dialog.helpers.d.ts +35 -0
- package/dist/types-native/components/feedback/Dialog/Dialog.helpers.d.ts.map +1 -0
- package/dist/types-native/components/feedback/Dialog/Dialog.look.native.d.ts +44 -0
- package/dist/types-native/components/feedback/Dialog/Dialog.look.native.d.ts.map +1 -0
- package/dist/types-native/components/feedback/Dialog/Dialog.metrics.d.ts +133 -0
- package/dist/types-native/components/feedback/Dialog/Dialog.metrics.d.ts.map +1 -0
- package/dist/types-native/components/feedback/Dialog/Dialog.native.d.ts +8 -0
- package/dist/types-native/components/feedback/Dialog/Dialog.native.d.ts.map +1 -0
- package/dist/types-native/components/feedback/Dialog/Dialog.types.native.d.ts +25 -0
- package/dist/types-native/components/feedback/Dialog/Dialog.types.native.d.ts.map +1 -0
- package/dist/types-native/components/feedback/Dialog/DialogParts.native.d.ts +39 -0
- package/dist/types-native/components/feedback/Dialog/DialogParts.native.d.ts.map +1 -0
- package/dist/types-native/components/feedback/Dialog/index.native.d.ts +4 -0
- package/dist/types-native/components/feedback/Dialog/index.native.d.ts.map +1 -0
- package/dist/types-native/components/form/Checkbox/Checkbox.base.d.ts +36 -0
- package/dist/types-native/components/form/Checkbox/Checkbox.base.d.ts.map +1 -0
- package/dist/types-native/components/form/Checkbox/Checkbox.helpers.d.ts +13 -0
- package/dist/types-native/components/form/Checkbox/Checkbox.helpers.d.ts.map +1 -0
- package/dist/types-native/components/form/Checkbox/Checkbox.metrics.d.ts +92 -0
- package/dist/types-native/components/form/Checkbox/Checkbox.metrics.d.ts.map +1 -0
- package/dist/types-native/components/form/Checkbox/Checkbox.native.d.ts +21 -0
- package/dist/types-native/components/form/Checkbox/Checkbox.native.d.ts.map +1 -0
- package/dist/types-native/components/form/Checkbox/Checkbox.types.native.d.ts +27 -0
- package/dist/types-native/components/form/Checkbox/Checkbox.types.native.d.ts.map +1 -0
- package/dist/types-native/components/form/Checkbox/index.native.d.ts +3 -0
- package/dist/types-native/components/form/Checkbox/index.native.d.ts.map +1 -0
- package/dist/types-native/components/form/Input/Input.base.d.ts +62 -0
- package/dist/types-native/components/form/Input/Input.base.d.ts.map +1 -0
- package/dist/types-native/components/form/Input/Input.helpers.d.ts +11 -0
- package/dist/types-native/components/form/Input/Input.helpers.d.ts.map +1 -0
- package/dist/types-native/components/form/Input/Input.look.native.d.ts +61 -0
- package/dist/types-native/components/form/Input/Input.look.native.d.ts.map +1 -0
- package/dist/types-native/components/form/Input/Input.metrics.d.ts +186 -0
- package/dist/types-native/components/form/Input/Input.metrics.d.ts.map +1 -0
- package/dist/types-native/components/form/Input/Input.native.d.ts +22 -0
- package/dist/types-native/components/form/Input/Input.native.d.ts.map +1 -0
- package/dist/types-native/components/form/Input/Input.types.native.d.ts +20 -0
- package/dist/types-native/components/form/Input/Input.types.native.d.ts.map +1 -0
- package/dist/types-native/components/form/Input/index.native.d.ts +3 -0
- package/dist/types-native/components/form/Input/index.native.d.ts.map +1 -0
- package/dist/types-native/components/form/Select/Select.base.d.ts +75 -0
- package/dist/types-native/components/form/Select/Select.base.d.ts.map +1 -0
- package/dist/types-native/components/form/Select/Select.helpers.d.ts +36 -0
- package/dist/types-native/components/form/Select/Select.helpers.d.ts.map +1 -0
- package/dist/types-native/components/form/Select/Select.look.native.d.ts +26 -0
- package/dist/types-native/components/form/Select/Select.look.native.d.ts.map +1 -0
- package/dist/types-native/components/form/Select/Select.metrics.d.ts +72 -0
- package/dist/types-native/components/form/Select/Select.metrics.d.ts.map +1 -0
- package/dist/types-native/components/form/Select/Select.native.d.ts +21 -0
- package/dist/types-native/components/form/Select/Select.native.d.ts.map +1 -0
- package/dist/types-native/components/form/Select/Select.types.native.d.ts +29 -0
- package/dist/types-native/components/form/Select/Select.types.native.d.ts.map +1 -0
- package/dist/types-native/components/form/Select/index.native.d.ts +3 -0
- package/dist/types-native/components/form/Select/index.native.d.ts.map +1 -0
- package/dist/types-native/components/form/Switch/Switch.base.d.ts +111 -0
- package/dist/types-native/components/form/Switch/Switch.base.d.ts.map +1 -0
- package/dist/types-native/components/form/Switch/Switch.helpers.d.ts +17 -0
- package/dist/types-native/components/form/Switch/Switch.helpers.d.ts.map +1 -0
- package/dist/types-native/components/form/Switch/Switch.look.native.d.ts +43 -0
- package/dist/types-native/components/form/Switch/Switch.look.native.d.ts.map +1 -0
- package/dist/types-native/components/form/Switch/Switch.metrics.d.ts +194 -0
- package/dist/types-native/components/form/Switch/Switch.metrics.d.ts.map +1 -0
- package/dist/types-native/components/form/Switch/Switch.native.d.ts +20 -0
- package/dist/types-native/components/form/Switch/Switch.native.d.ts.map +1 -0
- package/dist/types-native/components/form/Switch/Switch.types.native.d.ts +27 -0
- package/dist/types-native/components/form/Switch/Switch.types.native.d.ts.map +1 -0
- package/dist/types-native/components/form/Switch/index.native.d.ts +3 -0
- package/dist/types-native/components/form/Switch/index.native.d.ts.map +1 -0
- package/dist/types-native/components/form/field-pulse.native.d.ts +18 -0
- package/dist/types-native/components/form/field-pulse.native.d.ts.map +1 -0
- package/dist/types-native/components/layout/Card/Card.base.d.ts +77 -0
- package/dist/types-native/components/layout/Card/Card.base.d.ts.map +1 -0
- package/dist/types-native/components/layout/Card/Card.helpers.d.ts +11 -0
- package/dist/types-native/components/layout/Card/Card.helpers.d.ts.map +1 -0
- package/dist/types-native/components/layout/Card/Card.look.native.d.ts +57 -0
- package/dist/types-native/components/layout/Card/Card.look.native.d.ts.map +1 -0
- package/dist/types-native/components/layout/Card/Card.metrics.d.ts +182 -0
- package/dist/types-native/components/layout/Card/Card.metrics.d.ts.map +1 -0
- package/dist/types-native/components/layout/Card/Card.native.d.ts +11 -0
- package/dist/types-native/components/layout/Card/Card.native.d.ts.map +1 -0
- package/dist/types-native/components/layout/Card/Card.types.native.d.ts +28 -0
- package/dist/types-native/components/layout/Card/Card.types.native.d.ts.map +1 -0
- package/dist/types-native/components/layout/Card/CardParts.native.d.ts +55 -0
- package/dist/types-native/components/layout/Card/CardParts.native.d.ts.map +1 -0
- package/dist/types-native/components/layout/Card/index.native.d.ts +4 -0
- package/dist/types-native/components/layout/Card/index.native.d.ts.map +1 -0
- package/dist/types-native/icons/paths.generated.d.ts +4 -0
- package/dist/types-native/icons/paths.generated.d.ts.map +1 -1
- package/dist/types-native/platform/aria.d.ts +59 -1
- package/dist/types-native/platform/aria.d.ts.map +1 -1
- package/dist/types-native/platform/pulse-ring.native.d.ts +35 -0
- package/dist/types-native/platform/pulse-ring.native.d.ts.map +1 -0
- package/dist/types-native/platform/test-id.d.ts +24 -0
- package/dist/types-native/platform/test-id.d.ts.map +1 -1
- package/dist/types-native/tokens/field-edge.core.d.ts +27 -0
- package/dist/types-native/tokens/field-edge.core.d.ts.map +1 -0
- package/dist/types-native/tokens/mui-type.d.ts +1 -1
- package/dist/types-native/tokens/mui-type.d.ts.map +1 -1
- package/dist/types-native/tokens/shadow.d.ts +40 -0
- package/dist/types-native/tokens/shadow.d.ts.map +1 -0
- package/dist/types-native/utils/withDefaults.d.ts +13 -0
- package/dist/types-native/utils/withDefaults.d.ts.map +1 -0
- package/dist/typography/Heading.js +2 -2
- package/dist/typography/Paragraph.js +2 -2
- package/dist/typography/Text.js +2 -2
- package/dist/user-avatar.js +9 -7
- package/dist/utility/InstallPrompt.js +2 -2
- package/package.json +25 -1
- package/src/components/data-display/CardKit/NATIVE-NOTES.md +48 -0
- package/src/components/feedback/Dialog/Dialog.base.ts +69 -0
- package/src/components/feedback/Dialog/Dialog.helpers.ts +75 -0
- package/src/components/feedback/Dialog/Dialog.look.native.ts +159 -0
- package/src/components/feedback/Dialog/Dialog.metrics.ts +140 -0
- package/src/components/feedback/Dialog/Dialog.native.tsx +149 -0
- package/src/components/feedback/Dialog/Dialog.styles.ts +63 -41
- package/src/components/feedback/Dialog/Dialog.tsx +58 -74
- package/src/components/feedback/Dialog/Dialog.types.native.ts +46 -0
- package/src/components/feedback/Dialog/Dialog.types.ts +24 -41
- package/src/components/feedback/Dialog/DialogParts.native.tsx +257 -0
- package/src/components/feedback/Dialog/NATIVE-NOTES.md +16 -0
- package/src/components/feedback/Dialog/index.native.ts +16 -0
- package/src/components/feedback/Dialog/index.ts +8 -2
- package/src/components/form/Checkbox/Checkbox.base.ts +36 -0
- package/src/components/form/Checkbox/Checkbox.helpers.ts +13 -13
- package/src/components/form/Checkbox/Checkbox.metrics.ts +73 -0
- package/src/components/form/Checkbox/Checkbox.native.tsx +246 -0
- package/src/components/form/Checkbox/Checkbox.tsx +34 -21
- package/src/components/form/Checkbox/Checkbox.types.native.ts +29 -0
- package/src/components/form/Checkbox/Checkbox.types.ts +12 -11
- package/src/components/form/Checkbox/NATIVE-NOTES.md +11 -0
- package/src/components/form/Checkbox/index.native.ts +8 -0
- package/src/components/form/Checkbox/index.ts +1 -1
- package/src/components/form/Input/Input.base.ts +84 -0
- package/src/components/form/Input/Input.helpers.ts +43 -0
- package/src/components/form/Input/Input.look.native.ts +246 -0
- package/src/components/form/Input/Input.metrics.ts +229 -0
- package/src/components/form/Input/Input.native.tsx +240 -0
- package/src/components/form/Input/Input.styles.ts +45 -51
- package/src/components/form/Input/Input.tsx +46 -42
- package/src/components/form/Input/Input.types.native.ts +29 -0
- package/src/components/form/Input/Input.types.ts +15 -17
- package/src/components/form/Input/NATIVE-NOTES.md +14 -0
- package/src/components/form/Input/index.native.ts +2 -0
- package/src/components/form/Input/index.ts +1 -1
- package/src/components/form/Select/NATIVE-NOTES.md +12 -0
- package/src/components/form/Select/Select.base.ts +78 -0
- package/src/components/form/Select/Select.helpers.ts +82 -0
- package/src/components/form/Select/Select.look.native.ts +99 -0
- package/src/components/form/Select/Select.metrics.ts +90 -0
- package/src/components/form/Select/Select.native.tsx +264 -0
- package/src/components/form/Select/Select.tsx +37 -25
- package/src/components/form/Select/Select.types.native.ts +30 -0
- package/src/components/form/Select/Select.types.ts +14 -51
- package/src/components/form/Select/index.native.ts +9 -0
- package/src/components/form/Select/index.ts +7 -1
- package/src/components/form/Switch/NATIVE-NOTES.md +12 -0
- package/src/components/form/Switch/Switch.base.ts +136 -0
- package/src/components/form/Switch/Switch.helpers.ts +61 -0
- package/src/components/form/Switch/Switch.look.native.ts +187 -0
- package/src/components/form/Switch/Switch.metrics.ts +191 -0
- package/src/components/form/Switch/Switch.native.tsx +360 -0
- package/src/components/form/Switch/Switch.parts.tsx +4 -4
- package/src/components/form/Switch/Switch.styles.ts +109 -147
- package/src/components/form/Switch/Switch.tsx +4 -2
- package/src/components/form/Switch/Switch.types.native.ts +34 -0
- package/src/components/form/Switch/Switch.types.ts +16 -117
- package/src/components/form/Switch/index.native.ts +8 -0
- package/src/components/form/Switch/index.ts +6 -1
- package/src/components/form/field-pulse.native.tsx +78 -0
- package/src/components/layout/Card/Card.base.ts +92 -0
- package/src/components/layout/Card/Card.helpers.ts +13 -7
- package/src/components/layout/Card/Card.look.native.ts +204 -0
- package/src/components/layout/Card/Card.metrics.ts +171 -0
- package/src/components/layout/Card/Card.native.tsx +130 -0
- package/src/components/layout/Card/Card.styles.ts +88 -48
- package/src/components/layout/Card/Card.tsx +41 -25
- package/src/components/layout/Card/Card.types.native.ts +59 -0
- package/src/components/layout/Card/Card.types.ts +30 -45
- package/src/components/layout/Card/CardParts.native.tsx +262 -0
- package/src/components/layout/Card/NATIVE-NOTES.md +15 -0
- package/src/components/layout/Card/index.native.ts +18 -0
- package/src/components/layout/Card/index.ts +9 -0
- package/src/icons/glyphs.json +4 -0
- package/src/icons/paths.generated.ts +4 -0
- package/src/platform/aria.ts +72 -1
- package/src/platform/pulse-ring.native.tsx +82 -0
- package/src/platform/test-id.ts +30 -0
- package/src/tokens/field-edge.core.ts +87 -0
- package/src/tokens/field-edge.ts +10 -66
- package/src/tokens/mui-type.ts +2 -1
- package/src/tokens/shadow.ts +59 -0
- package/dist/chunk-6PRA45LC.js.map +0 -1
- package/dist/chunk-BJ3J6FTN.js.map +0 -1
- package/dist/chunk-D2IASECY.js.map +0 -1
- package/dist/chunk-FX5DY6VR.js.map +0 -1
- package/dist/chunk-JD364H3Y.js.map +0 -1
- package/dist/chunk-MLOWPVVW.js.map +0 -1
- package/dist/chunk-OQXOYHIV.js.map +0 -1
- package/dist/chunk-Q5EQC7NL.js.map +0 -1
- package/dist/chunk-QLWBQQW7.js.map +0 -1
- package/dist/chunk-RI5JZLZL.js.map +0 -1
- package/dist/chunk-RMSH2I3O.js.map +0 -1
- package/dist/chunk-S5LE2ARG.js.map +0 -1
- package/dist/chunk-TBWEIQUR.js +0 -263
- package/dist/chunk-TBWEIQUR.js.map +0 -1
- package/dist/chunk-VMF3UXM4.js +0 -137
- package/dist/chunk-VMF3UXM4.js.map +0 -1
- package/dist/chunk-VMNSGE2G.js.map +0 -1
- package/dist/chunk-VSLUFBMT.js.map +0 -1
- package/dist/native/chunks/chunk-4NK5ZQZ3.js +0 -10
- package/dist/native/chunks/chunk-4NK5ZQZ3.js.map +0 -1
- package/dist/native/chunks/chunk-HSIND52T.js.map +0 -1
- package/dist/native/chunks/chunk-M4DTJDWU.js.map +0 -1
- package/dist/native/chunks/chunk-Q52IDAF2.js.map +0 -1
- /package/dist/{chunk-MBYO2F4Y.js.map → chunk-25R3ITGZ.js.map} +0 -0
- /package/dist/{chunk-KQ74QU55.js.map → chunk-2FDBR77W.js.map} +0 -0
- /package/dist/{chunk-D7FJ2GAD.js.map → chunk-2HPP6RVC.js.map} +0 -0
- /package/dist/{chunk-B2A4DG77.js.map → chunk-2MMEIN4T.js.map} +0 -0
- /package/dist/{chunk-YRUCIKPO.js.map → chunk-2UYR2OOE.js.map} +0 -0
- /package/dist/{chunk-2PCOC3PT.js.map → chunk-343TTIHD.js.map} +0 -0
- /package/dist/{chunk-DQHC5P64.js.map → chunk-3FLVIVOK.js.map} +0 -0
- /package/dist/{chunk-URWGRPL7.js.map → chunk-3W7IEWEL.js.map} +0 -0
- /package/dist/{chunk-47UD6DZ4.js.map → chunk-4523RYE7.js.map} +0 -0
- /package/dist/{chunk-AEGX66N7.js.map → chunk-4IVOHL32.js.map} +0 -0
- /package/dist/{chunk-GGE7Y53F.js.map → chunk-4TXIZ5WI.js.map} +0 -0
- /package/dist/{chunk-IJIT5HQP.js.map → chunk-4X4KM4ZB.js.map} +0 -0
- /package/dist/{chunk-M7OHXNLF.js.map → chunk-5NKUYCZD.js.map} +0 -0
- /package/dist/{chunk-C52BELLW.js.map → chunk-5OIH36KX.js.map} +0 -0
- /package/dist/{chunk-LMJBINWN.js.map → chunk-5ZTUP65G.js.map} +0 -0
- /package/dist/{chunk-EX3PSZLV.js.map → chunk-67L7HMEP.js.map} +0 -0
- /package/dist/{chunk-2EKALM6P.js.map → chunk-6JGPPTLX.js.map} +0 -0
- /package/dist/{chunk-LZRURORY.js.map → chunk-6NZTYZP5.js.map} +0 -0
- /package/dist/{chunk-DCEMUZJQ.js.map → chunk-6WIDZGXE.js.map} +0 -0
- /package/dist/{chunk-R7MX5KPJ.js.map → chunk-6YLAVHV4.js.map} +0 -0
- /package/dist/{chunk-RXSGHPCR.js.map → chunk-7FOOLP5H.js.map} +0 -0
- /package/dist/{chunk-DOADQW7I.js.map → chunk-7NSX7A5H.js.map} +0 -0
- /package/dist/{chunk-QZWKC3AP.js.map → chunk-7VN7LFBA.js.map} +0 -0
- /package/dist/{chunk-E4FGKZID.js.map → chunk-AEGXHZQT.js.map} +0 -0
- /package/dist/{chunk-WO52KYSU.js.map → chunk-AGSBIUPV.js.map} +0 -0
- /package/dist/{chunk-PU3AAKRR.js.map → chunk-AJ6XEO4E.js.map} +0 -0
- /package/dist/{chunk-7DNQHMDO.js.map → chunk-B6IURHSZ.js.map} +0 -0
- /package/dist/{chunk-WX7VWW3W.js.map → chunk-C3CMEDSO.js.map} +0 -0
- /package/dist/{chunk-HSAH5QUQ.js.map → chunk-CHPZTF34.js.map} +0 -0
- /package/dist/{chunk-7EESF76V.js.map → chunk-CJBBGMIA.js.map} +0 -0
- /package/dist/{chunk-2W4CIWTW.js.map → chunk-DBYFC6CF.js.map} +0 -0
- /package/dist/{chunk-FGLV6BXQ.js.map → chunk-DTC224UJ.js.map} +0 -0
- /package/dist/{chunk-HEK4LQT6.js.map → chunk-DVFIE54C.js.map} +0 -0
- /package/dist/{chunk-4N4ENTF7.js.map → chunk-DW5FRWRQ.js.map} +0 -0
- /package/dist/{chunk-THBT56JE.js.map → chunk-E55CJV65.js.map} +0 -0
- /package/dist/{chunk-B7BZAIHL.js.map → chunk-EOHKZGOZ.js.map} +0 -0
- /package/dist/{chunk-EGRFMPGD.js.map → chunk-EXJBPKGW.js.map} +0 -0
- /package/dist/{chunk-BILE3A7F.js.map → chunk-FGK2C7JR.js.map} +0 -0
- /package/dist/{chunk-OI3HOI74.js.map → chunk-FGUESLDX.js.map} +0 -0
- /package/dist/{chunk-VCTKJHXD.js.map → chunk-FL54G7PV.js.map} +0 -0
- /package/dist/{chunk-HDNK7BAX.js.map → chunk-GT7C6TSM.js.map} +0 -0
- /package/dist/{chunk-V3SBJ3PB.js.map → chunk-HFXTAEYY.js.map} +0 -0
- /package/dist/{chunk-HBAPVB7T.js.map → chunk-HKKSZ7HG.js.map} +0 -0
- /package/dist/{chunk-FOMK3WPG.js.map → chunk-HLYPI5CO.js.map} +0 -0
- /package/dist/{chunk-3AOOI2NR.js.map → chunk-HR7YTBR7.js.map} +0 -0
- /package/dist/{chunk-UNF65XZW.js.map → chunk-I5SBTNV2.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-NQC6H7GY.js.map → chunk-JIKWZDNK.js.map} +0 -0
- /package/dist/{chunk-ENNW5SKT.js.map → chunk-JSH3HFDQ.js.map} +0 -0
- /package/dist/{chunk-JB7JE4QZ.js.map → chunk-JWW2Z3RH.js.map} +0 -0
- /package/dist/{chunk-LAHDFBDE.js.map → chunk-JXNT5TUP.js.map} +0 -0
- /package/dist/{chunk-ZBNTFWTG.js.map → chunk-KIHQE5YA.js.map} +0 -0
- /package/dist/{chunk-ZEBJT5JZ.js.map → chunk-KTK4A3IF.js.map} +0 -0
- /package/dist/{chunk-4WK2RTVY.js.map → chunk-LS4FMSHY.js.map} +0 -0
- /package/dist/{chunk-PNYXXLPU.js.map → chunk-M4LQRQFL.js.map} +0 -0
- /package/dist/{chunk-Z7JNCB5Q.js.map → chunk-MESRKY67.js.map} +0 -0
- /package/dist/{chunk-VJK5FBNK.js.map → chunk-MP4VSWHK.js.map} +0 -0
- /package/dist/{chunk-6XPNJLXE.js.map → chunk-NARIG5FL.js.map} +0 -0
- /package/dist/{chunk-VEFDL77X.js.map → chunk-NWNSUHEB.js.map} +0 -0
- /package/dist/{chunk-43NEBUV3.js.map → chunk-O3336DJ6.js.map} +0 -0
- /package/dist/{chunk-WBVHRLIS.js.map → chunk-OFOYMZRY.js.map} +0 -0
- /package/dist/{chunk-SM3NRN7L.js.map → chunk-ON2CMKTI.js.map} +0 -0
- /package/dist/{chunk-IH4CX43Q.js.map → chunk-OP65D4UR.js.map} +0 -0
- /package/dist/{chunk-NHSMLVNC.js.map → chunk-OVLNF4AZ.js.map} +0 -0
- /package/dist/{chunk-ZTZ6S5Q6.js.map → chunk-OXQP3N6X.js.map} +0 -0
- /package/dist/{chunk-YVW7VPK4.js.map → chunk-PFLKPNBU.js.map} +0 -0
- /package/dist/{chunk-7P2HZLEG.js.map → chunk-PFV6RL4Q.js.map} +0 -0
- /package/dist/{chunk-76GZ55IC.js.map → chunk-PMS3H3OO.js.map} +0 -0
- /package/dist/{chunk-UF27D35R.js.map → chunk-PRUSQQDT.js.map} +0 -0
- /package/dist/{chunk-HBZIN6IQ.js.map → chunk-PZEC5CQA.js.map} +0 -0
- /package/dist/{chunk-74OZ5KVR.js.map → chunk-Q75SJ35X.js.map} +0 -0
- /package/dist/{chunk-PC5FFEIY.js.map → chunk-QFJRB27Q.js.map} +0 -0
- /package/dist/{chunk-6D5WEZ2L.js.map → chunk-QFVFHIHE.js.map} +0 -0
- /package/dist/{chunk-GBB6XQ56.js.map → chunk-QGBMCB76.js.map} +0 -0
- /package/dist/{chunk-PODGTNXS.js.map → chunk-QKIJ6YXZ.js.map} +0 -0
- /package/dist/{chunk-DX527XPL.js.map → chunk-QWDEOITU.js.map} +0 -0
- /package/dist/{chunk-OLZTGVBT.js.map → chunk-REMK55JI.js.map} +0 -0
- /package/dist/{chunk-BLT5ZBVL.js.map → chunk-RRX6ZTNX.js.map} +0 -0
- /package/dist/{chunk-FCOEJCUP.js.map → chunk-TFO6GBW7.js.map} +0 -0
- /package/dist/{chunk-2ZDTGI5V.js.map → chunk-TLMLEC4F.js.map} +0 -0
- /package/dist/{chunk-FP4R47TM.js.map → chunk-TW3BXVEU.js.map} +0 -0
- /package/dist/{chunk-J6UFAMIC.js.map → chunk-TZDDL3DR.js.map} +0 -0
- /package/dist/{chunk-6IUTT6BK.js.map → chunk-U2YJCNRU.js.map} +0 -0
- /package/dist/{chunk-KZSKI2R3.js.map → chunk-U2ZDN2AL.js.map} +0 -0
- /package/dist/{chunk-YFHIESMD.js.map → chunk-U7Q2Y6WG.js.map} +0 -0
- /package/dist/{chunk-RQDN4BN5.js.map → chunk-UU3QAKG6.js.map} +0 -0
- /package/dist/{chunk-VJFH2AXT.js.map → chunk-UVGRRI7N.js.map} +0 -0
- /package/dist/{chunk-7DBFEZRC.js.map → chunk-VIK3HAUQ.js.map} +0 -0
- /package/dist/{chunk-SOCKK67R.js.map → chunk-VNDOQEJ7.js.map} +0 -0
- /package/dist/{chunk-J54WH74M.js.map → chunk-VNNG46TS.js.map} +0 -0
- /package/dist/{chunk-5ZF3VASA.js.map → chunk-VQAM2XZV.js.map} +0 -0
- /package/dist/{chunk-SEH7KOVG.js.map → chunk-VXTYVJDK.js.map} +0 -0
- /package/dist/{chunk-37YPZHAG.js.map → chunk-W4SDVTZC.js.map} +0 -0
- /package/dist/{chunk-X5D3PTWI.js.map → chunk-W4YWU7LQ.js.map} +0 -0
- /package/dist/{chunk-LKVIZNUM.js.map → chunk-W7Y6RA6W.js.map} +0 -0
- /package/dist/{chunk-Z4GWXTZV.js.map → chunk-WGRS4PGY.js.map} +0 -0
- /package/dist/{chunk-NRUYYGDZ.js.map → chunk-WLQTHPMX.js.map} +0 -0
- /package/dist/{chunk-J2KSG754.js.map → chunk-WRDPWEIC.js.map} +0 -0
- /package/dist/{chunk-HEG7JIBM.js.map → chunk-X5MPHXG5.js.map} +0 -0
- /package/dist/{chunk-NFAKRI4S.js.map → chunk-XELVDPKL.js.map} +0 -0
- /package/dist/{chunk-EPNUVSNK.js.map → chunk-XFUNJYFT.js.map} +0 -0
- /package/dist/{chunk-7RZ4WOQW.js.map → chunk-XKV5ZIBG.js.map} +0 -0
- /package/dist/{chunk-F2DOTCF3.js.map → chunk-XSF6AXEU.js.map} +0 -0
- /package/dist/{chunk-74EZ565M.js.map → chunk-XT7HMNBW.js.map} +0 -0
- /package/dist/{chunk-PHCSPHDH.js.map → chunk-XUJG2HFW.js.map} +0 -0
- /package/dist/{chunk-ACDYA5WC.js.map → chunk-XZTOIEKI.js.map} +0 -0
- /package/dist/{chunk-SKZHOWTS.js.map → chunk-YDI6IJ6F.js.map} +0 -0
- /package/dist/{chunk-YK2PETUP.js.map → chunk-YJ4HM25H.js.map} +0 -0
- /package/dist/{chunk-Q4NOI2CR.js.map → chunk-YQ6TNHAC.js.map} +0 -0
- /package/dist/{chunk-24BUCMQA.js.map → chunk-YTOYMJPM.js.map} +0 -0
- /package/dist/{chunk-G5ZVD5IJ.js.map → chunk-ZDWU52DJ.js.map} +0 -0
- /package/dist/{chunk-MY5VNNSP.js.map → chunk-ZIYMBR7K.js.map} +0 -0
- /package/dist/{chunk-7JWXLDRH.js.map → chunk-ZKR5B6YJ.js.map} +0 -0
- /package/dist/{chunk-4MGFUPQT.js.map → chunk-ZOUWHGV3.js.map} +0 -0
- /package/dist/{chunk-UMDXGIRZ.js.map → chunk-ZZOOSKSV.js.map} +0 -0
- /package/dist/native/chunks/{chunk-EKKNUEA6.js.map → chunk-75JQYVDZ.js.map} +0 -0
- /package/dist/native/chunks/{chunk-UKCCYP52.js.map → chunk-ATS7STZJ.js.map} +0 -0
- /package/dist/native/chunks/{chunk-YTHR4Y5P.js.map → chunk-GWGIWQO7.js.map} +0 -0
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import {
|
|
3
|
+
Image,
|
|
4
|
+
StyleSheet,
|
|
5
|
+
Text as RNText,
|
|
6
|
+
View,
|
|
7
|
+
type DimensionValue,
|
|
8
|
+
type TextStyle,
|
|
9
|
+
type ViewStyle,
|
|
10
|
+
} from 'react-native';
|
|
11
|
+
|
|
12
|
+
import {
|
|
13
|
+
CARD_ACTIONS,
|
|
14
|
+
CARD_CONTENT_PADDING_UNITS,
|
|
15
|
+
CARD_HEADER,
|
|
16
|
+
CARD_HEADER_CHILDREN_PADDING_UNITS,
|
|
17
|
+
CARD_MEDIA_HEIGHT,
|
|
18
|
+
} from './Card.metrics';
|
|
19
|
+
import type {
|
|
20
|
+
CardActionsAlignment,
|
|
21
|
+
CardActionsProps,
|
|
22
|
+
CardContentProps,
|
|
23
|
+
CardHeaderProps,
|
|
24
|
+
CardMediaProps,
|
|
25
|
+
} from './Card.types.native';
|
|
26
|
+
import { childTestId, resolveTestId, withoutTestIdProps } from '../../../platform/test-id';
|
|
27
|
+
import { renderTextChildren } from '../../../platform/text-children';
|
|
28
|
+
import { useUiTheme } from '../../../provider/use-ui-theme.native';
|
|
29
|
+
import { muiTypeStyle } from '../../../tokens/mui-type';
|
|
30
|
+
import type { UiTheme } from '../../../tokens/theme';
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* THE FOUR SLOTS A CARD IS BUILT OUT OF, ON REACT NATIVE.
|
|
34
|
+
*
|
|
35
|
+
* Each one is a `View` carrying the padding MUI's own `CardHeader`,
|
|
36
|
+
* `CardContent`, `CardActions` and `CardMedia` declare in px — the web half
|
|
37
|
+
* overrides only `padding` and `justify-content`, so the rest of the numbers
|
|
38
|
+
* come from MUI and are restated in `Card.metrics.ts` rather than re-invented.
|
|
39
|
+
*/
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* THE INK A CARD PUBLISHES TO ITS SLOTS.
|
|
43
|
+
*
|
|
44
|
+
* `Card.styles.ts` puts `color: primary.contrastText` on the gradient card
|
|
45
|
+
* ITSELF and lets CSS inheritance carry it into the header and the body. React
|
|
46
|
+
* Native inherits nothing across views, so the card publishes its ink here and
|
|
47
|
+
* every slot reads it — which is the difference between a legible gradient card
|
|
48
|
+
* and near-black text on indigo.
|
|
49
|
+
*
|
|
50
|
+
* `null` is "no card above me": a slot rendered on its own falls back to the
|
|
51
|
+
* body ink, exactly as it would on the web.
|
|
52
|
+
*/
|
|
53
|
+
export const CardInkContext = React.createContext<string | null>(null);
|
|
54
|
+
|
|
55
|
+
/** The body text of a slot, in MUI's `body1`, so a bare string is not unstyled. */
|
|
56
|
+
const slotTextStyle = (theme: UiTheme, ink: string | null): TextStyle => ({
|
|
57
|
+
...muiTypeStyle(theme, 'body1'),
|
|
58
|
+
color: ink ?? theme.palette.text.primary,
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
/** MUI's header title: `h5`, or `body2` when an avatar shares the row. */
|
|
62
|
+
export const cardTitleStyle = (
|
|
63
|
+
theme: UiTheme,
|
|
64
|
+
hasAvatar: boolean,
|
|
65
|
+
ink: string | null = null,
|
|
66
|
+
): TextStyle => ({
|
|
67
|
+
...muiTypeStyle(theme, hasAvatar ? 'body2' : 'h5'),
|
|
68
|
+
color: ink ?? theme.palette.text.primary,
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* MUI's header subheader: `body1` (or `body2` beside an avatar), in the muted
|
|
73
|
+
* ink — which does NOT follow the card's own ink, because MUI's `CardHeader`
|
|
74
|
+
* pins the subheader to `textSecondary` explicitly rather than inheriting.
|
|
75
|
+
*/
|
|
76
|
+
export const cardSubtitleStyle = (theme: UiTheme, hasAvatar: boolean): TextStyle => ({
|
|
77
|
+
...muiTypeStyle(theme, hasAvatar ? 'body2' : 'body1'),
|
|
78
|
+
color: theme.palette.text.secondary,
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
export function CardHeader({
|
|
82
|
+
title,
|
|
83
|
+
subtitle,
|
|
84
|
+
action,
|
|
85
|
+
avatar,
|
|
86
|
+
children,
|
|
87
|
+
...others
|
|
88
|
+
}: CardHeaderProps): React.JSX.Element {
|
|
89
|
+
const theme = useUiTheme();
|
|
90
|
+
const ink = React.useContext(CardInkContext);
|
|
91
|
+
const testID = resolveTestId(others, 'card-header');
|
|
92
|
+
const { style, ...viewProps } = withoutTestIdProps(others);
|
|
93
|
+
|
|
94
|
+
if (children) {
|
|
95
|
+
return (
|
|
96
|
+
<View
|
|
97
|
+
testID={testID}
|
|
98
|
+
style={[{ padding: theme.spacing(CARD_HEADER_CHILDREN_PADDING_UNITS) }, style]}
|
|
99
|
+
{...viewProps}
|
|
100
|
+
>
|
|
101
|
+
{renderTextChildren(children, slotTextStyle(theme, ink))}
|
|
102
|
+
</View>
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
const hasAvatar = avatar != null;
|
|
107
|
+
return (
|
|
108
|
+
<View testID={testID} style={[styles.header, style]} {...viewProps}>
|
|
109
|
+
{hasAvatar ? <View style={styles.headerAvatar}>{avatar}</View> : null}
|
|
110
|
+
<View style={styles.headerContent}>
|
|
111
|
+
{title != null ? (
|
|
112
|
+
<RNText testID={childTestId(others, 'title', 'card')} style={cardTitleStyle(theme, hasAvatar, ink)}>
|
|
113
|
+
{title}
|
|
114
|
+
</RNText>
|
|
115
|
+
) : null}
|
|
116
|
+
{subtitle != null ? (
|
|
117
|
+
<RNText
|
|
118
|
+
testID={childTestId(others, 'subtitle', 'card')}
|
|
119
|
+
style={cardSubtitleStyle(theme, hasAvatar)}
|
|
120
|
+
>
|
|
121
|
+
{subtitle}
|
|
122
|
+
</RNText>
|
|
123
|
+
) : null}
|
|
124
|
+
</View>
|
|
125
|
+
{action != null ? <View style={styles.headerAction}>{action}</View> : null}
|
|
126
|
+
</View>
|
|
127
|
+
);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
CardHeader.displayName = 'CardHeader';
|
|
131
|
+
|
|
132
|
+
export function CardContent({
|
|
133
|
+
children,
|
|
134
|
+
dense = false,
|
|
135
|
+
...others
|
|
136
|
+
}: CardContentProps): React.JSX.Element {
|
|
137
|
+
const theme = useUiTheme();
|
|
138
|
+
const ink = React.useContext(CardInkContext);
|
|
139
|
+
const testID = resolveTestId(others, 'card-content');
|
|
140
|
+
const { style, ...viewProps } = withoutTestIdProps(others);
|
|
141
|
+
const padding = theme.spacing(
|
|
142
|
+
dense ? CARD_CONTENT_PADDING_UNITS.dense : CARD_CONTENT_PADDING_UNITS.normal,
|
|
143
|
+
);
|
|
144
|
+
|
|
145
|
+
return (
|
|
146
|
+
<View testID={testID} style={[{ padding }, style]} {...viewProps}>
|
|
147
|
+
{renderTextChildren(children, slotTextStyle(theme, ink))}
|
|
148
|
+
</View>
|
|
149
|
+
);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
CardContent.displayName = 'CardContent';
|
|
153
|
+
|
|
154
|
+
const JUSTIFY: Record<CardActionsAlignment, NonNullable<ViewStyle['justifyContent']>> = {
|
|
155
|
+
left: 'flex-start',
|
|
156
|
+
center: 'center',
|
|
157
|
+
right: 'flex-end',
|
|
158
|
+
'space-between': 'space-between',
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
export function CardActions({
|
|
162
|
+
children,
|
|
163
|
+
disableSpacing = false,
|
|
164
|
+
alignment = 'left',
|
|
165
|
+
...others
|
|
166
|
+
}: CardActionsProps): React.JSX.Element {
|
|
167
|
+
const theme = useUiTheme();
|
|
168
|
+
const ink = React.useContext(CardInkContext);
|
|
169
|
+
const testID = resolveTestId(others, 'card-actions');
|
|
170
|
+
const { style, ...viewProps } = withoutTestIdProps(others);
|
|
171
|
+
|
|
172
|
+
return (
|
|
173
|
+
<View
|
|
174
|
+
testID={testID}
|
|
175
|
+
style={[
|
|
176
|
+
styles.actions,
|
|
177
|
+
{ justifyContent: JUSTIFY[alignment], gap: disableSpacing ? undefined : CARD_ACTIONS.gap },
|
|
178
|
+
style,
|
|
179
|
+
]}
|
|
180
|
+
{...viewProps}
|
|
181
|
+
>
|
|
182
|
+
{renderTextChildren(children, slotTextStyle(theme, ink))}
|
|
183
|
+
</View>
|
|
184
|
+
);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
CardActions.displayName = 'CardActions';
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* `height` accepts the web's spellings: a number, a numeric string (`"200"`, as
|
|
191
|
+
* an `<img height>` takes) or a percentage.
|
|
192
|
+
*/
|
|
193
|
+
export function mediaHeight(height: number | string): DimensionValue {
|
|
194
|
+
if (typeof height === 'number') return height;
|
|
195
|
+
const parsed = Number(height);
|
|
196
|
+
return Number.isFinite(parsed) ? parsed : (height as DimensionValue);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
export function CardMedia({
|
|
200
|
+
image,
|
|
201
|
+
title,
|
|
202
|
+
height = CARD_MEDIA_HEIGHT,
|
|
203
|
+
children,
|
|
204
|
+
...others
|
|
205
|
+
}: CardMediaProps): React.JSX.Element {
|
|
206
|
+
const testID = resolveTestId(others, 'card-media');
|
|
207
|
+
const { style, ...viewProps } = withoutTestIdProps(others);
|
|
208
|
+
|
|
209
|
+
return (
|
|
210
|
+
<View
|
|
211
|
+
testID={testID}
|
|
212
|
+
style={[{ height: mediaHeight(height), width: '100%', overflow: 'hidden' }, style]}
|
|
213
|
+
{...viewProps}
|
|
214
|
+
>
|
|
215
|
+
{image != null ? (
|
|
216
|
+
<Image
|
|
217
|
+
source={{ uri: image }}
|
|
218
|
+
accessibilityLabel={title}
|
|
219
|
+
resizeMode="cover"
|
|
220
|
+
style={StyleSheet.absoluteFill}
|
|
221
|
+
/>
|
|
222
|
+
) : null}
|
|
223
|
+
{children}
|
|
224
|
+
</View>
|
|
225
|
+
);
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
CardMedia.displayName = 'CardMedia';
|
|
229
|
+
|
|
230
|
+
const styles = StyleSheet.create({
|
|
231
|
+
header: {
|
|
232
|
+
flexDirection: 'row',
|
|
233
|
+
alignItems: 'center',
|
|
234
|
+
padding: CARD_HEADER.padding,
|
|
235
|
+
},
|
|
236
|
+
headerAvatar: {
|
|
237
|
+
flexGrow: 0,
|
|
238
|
+
flexShrink: 0,
|
|
239
|
+
flexBasis: 'auto',
|
|
240
|
+
marginRight: CARD_HEADER.avatarGap,
|
|
241
|
+
},
|
|
242
|
+
headerContent: {
|
|
243
|
+
flexGrow: 1,
|
|
244
|
+
flexShrink: 1,
|
|
245
|
+
flexBasis: 'auto',
|
|
246
|
+
minWidth: 0,
|
|
247
|
+
},
|
|
248
|
+
headerAction: {
|
|
249
|
+
flexGrow: 0,
|
|
250
|
+
flexShrink: 0,
|
|
251
|
+
flexBasis: 'auto',
|
|
252
|
+
alignSelf: 'flex-start',
|
|
253
|
+
marginTop: CARD_HEADER.action.marginTop,
|
|
254
|
+
marginRight: CARD_HEADER.action.marginRight,
|
|
255
|
+
marginBottom: CARD_HEADER.action.marginBottom,
|
|
256
|
+
},
|
|
257
|
+
actions: {
|
|
258
|
+
flexDirection: 'row',
|
|
259
|
+
alignItems: 'center',
|
|
260
|
+
padding: CARD_ACTIONS.padding,
|
|
261
|
+
},
|
|
262
|
+
});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Card on React Native
|
|
2
|
+
|
|
3
|
+
Known rendering gaps, one bullet each; `pnpm native:ledger` reads them.
|
|
4
|
+
|
|
5
|
+
- `glass` paints its 0.1 paper wash and primary hairline without the 20px backdrop blur — React Native has no backdrop filter.
|
|
6
|
+
- `gradient` paints the gradient's first stop flat (`primary.main`, `primary.dark` under a press) — React Native core has no gradient fill.
|
|
7
|
+
- Hover has no touch equivalent: what a variant changes on `:hover` (border colour, wash, shadow) is applied while PRESSED, and the 2px lift is not — the web itself returns an interactive card to `translateY(0)` under the pointer, which is where a finger leaves it.
|
|
8
|
+
- The pulse ring is an expanding hollow border rather than a `box-shadow` spread behind the paper: React Native cannot paint a child behind its parent's own background, so the ring grows outward from the card's edge instead of from under it, and its corner radius stays the card's rather than widening with the ring.
|
|
9
|
+
- A `glow`ing card stops clipping its children to its corners: a view's own shadow is clipped by its own overflow on a device, so the halo the caller asked for would not paint. The web keeps `overflow: hidden` there and shows both.
|
|
10
|
+
- `elevated` restates MUI's `shadows[1]`, the elevation every card inherits from `Paper` on the web, because React Native has no Paper to inherit it from; the variant's own `elevation: 4`/`8` are not CSS properties and paint nothing on either renderer.
|
|
11
|
+
- The loading spinner is the platform's `ActivityIndicator` at MUI's 40px `CircularProgress` diameter, not MUI's arc; on iOS the built-in `large` stands in for the exact size.
|
|
12
|
+
- `CardMedia` draws its image with `resizeMode="cover"` inside the sized box. MUI's `component` and the DOM `title` attribute are web-only — a device names the image through `accessibilityLabel`.
|
|
13
|
+
- `CardActions` spaces its children with `gap` where MUI uses `& > :not(style) ~ :not(style) { margin-left: 8px }`: the same 8px, applied by the container rather than by a sibling selector.
|
|
14
|
+
- A `gradient` card's `primary.contrastText` reaches its own text children and the house slots (`CardHeader`'s title, `CardContent`, `CardActions`) through a context; the web puts one `color` on the card and lets CSS inherit it into everything below. So a consumer's own `Text` nested inside a gradient card keeps the body ink unless it reads that colour itself. The header's SUBTITLE stays `text.secondary` on both, because MUI's `CardHeader` pins the subheader to `textSecondary` rather than inheriting.
|
|
15
|
+
- Title, subtitle and raw text children are set in MUI's default `h5`/`body1`/`body2` numbers; a host that re-themes MUI's typography variants moves the web only.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export { Card } from './Card.native';
|
|
2
|
+
export { CardActions, CardContent, CardHeader, CardMedia } from './CardParts.native';
|
|
3
|
+
export type {
|
|
4
|
+
CardActionsAlignment,
|
|
5
|
+
CardActionsBaseProps,
|
|
6
|
+
CardActionsProps,
|
|
7
|
+
CardBaseProps,
|
|
8
|
+
CardBorderRadius,
|
|
9
|
+
CardContentBaseProps,
|
|
10
|
+
CardContentProps,
|
|
11
|
+
CardEntranceAnimation,
|
|
12
|
+
CardHeaderBaseProps,
|
|
13
|
+
CardHeaderProps,
|
|
14
|
+
CardMediaBaseProps,
|
|
15
|
+
CardMediaProps,
|
|
16
|
+
CardProps,
|
|
17
|
+
CardVariant,
|
|
18
|
+
} from './Card.types.native';
|
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
export { Card, CardActions, CardContent, CardHeader, CardMedia } from './Card';
|
|
2
2
|
export type {
|
|
3
|
+
CardActionsAlignment,
|
|
4
|
+
CardActionsBaseProps,
|
|
3
5
|
CardActionsProps,
|
|
6
|
+
CardBaseProps,
|
|
7
|
+
CardBorderRadius,
|
|
8
|
+
CardContentBaseProps,
|
|
4
9
|
CardContentProps,
|
|
10
|
+
CardEntranceAnimation,
|
|
11
|
+
CardHeaderBaseProps,
|
|
5
12
|
CardHeaderProps,
|
|
13
|
+
CardMediaBaseProps,
|
|
6
14
|
CardMediaProps,
|
|
7
15
|
CardProps,
|
|
16
|
+
CardVariant,
|
|
8
17
|
} from './Card.types';
|
package/src/icons/glyphs.json
CHANGED
|
@@ -2,11 +2,14 @@
|
|
|
2
2
|
"Add",
|
|
3
3
|
"ArrowBack",
|
|
4
4
|
"ArrowDownward",
|
|
5
|
+
"ArrowDropDown",
|
|
5
6
|
"ArrowForward",
|
|
6
7
|
"ArrowUpward",
|
|
7
8
|
"BrokenImage",
|
|
8
9
|
"Cancel",
|
|
9
10
|
"Check",
|
|
11
|
+
"CheckBox",
|
|
12
|
+
"CheckBoxOutlineBlank",
|
|
10
13
|
"CheckCircle",
|
|
11
14
|
"ChevronLeft",
|
|
12
15
|
"ChevronRight",
|
|
@@ -19,6 +22,7 @@
|
|
|
19
22
|
"ExpandLess",
|
|
20
23
|
"ExpandMore",
|
|
21
24
|
"FilterList",
|
|
25
|
+
"IndeterminateCheckBox",
|
|
22
26
|
"Info",
|
|
23
27
|
"InfoOutlined",
|
|
24
28
|
"KeyboardArrowDown",
|
|
@@ -10,11 +10,14 @@ export const ICON_PATHS = {
|
|
|
10
10
|
Add: ["M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"],
|
|
11
11
|
ArrowBack: ["M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z"],
|
|
12
12
|
ArrowDownward: ["m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8z"],
|
|
13
|
+
ArrowDropDown: ["m7 10 5 5 5-5z"],
|
|
13
14
|
ArrowForward: ["m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"],
|
|
14
15
|
ArrowUpward: ["m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8z"],
|
|
15
16
|
BrokenImage: ["M21 5v6.59l-3-3.01-4 4.01-4-4-4 4-3-3.01V5c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2m-3 6.42 3 3.01V19c0 1.1-.9 2-2 2H5c-1.1 0-2-.9-2-2v-6.58l3 2.99 4-4 4 4z"],
|
|
16
17
|
Cancel: ["M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2m5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12z"],
|
|
17
18
|
Check: ["M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"],
|
|
19
|
+
CheckBox: ["M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2m-9 14-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8z"],
|
|
20
|
+
CheckBoxOutlineBlank: ["M19 5v14H5V5zm0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2"],
|
|
18
21
|
CheckCircle: ["M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8z"],
|
|
19
22
|
ChevronLeft: ["M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z"],
|
|
20
23
|
ChevronRight: ["M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"],
|
|
@@ -27,6 +30,7 @@ export const ICON_PATHS = {
|
|
|
27
30
|
ExpandLess: ["m12 8-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"],
|
|
28
31
|
ExpandMore: ["M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"],
|
|
29
32
|
FilterList: ["M10 18h4v-2h-4zM3 6v2h18V6zm3 7h12v-2H6z"],
|
|
33
|
+
IndeterminateCheckBox: ["M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-2 10H7v-2h10z"],
|
|
30
34
|
Info: ["M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-6h2zm0-8h-2V7h2z"],
|
|
31
35
|
InfoOutlined: ["M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8"],
|
|
32
36
|
KeyboardArrowDown: ["M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6z"],
|
package/src/platform/aria.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* WEB ATTRIBUTES REACT NATIVE DOES NOT DECLARE.
|
|
3
3
|
*
|
|
4
4
|
* React Native's `ViewProps` (0.83) type a dozen `aria-*` props and stop:
|
|
5
5
|
* `aria-level`, `aria-atomic` and `aria-describedby` are not among them.
|
|
@@ -13,6 +13,20 @@ export interface WebAria {
|
|
|
13
13
|
'aria-level'?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
14
14
|
'aria-atomic'?: 'true' | 'false';
|
|
15
15
|
'aria-describedby'?: string;
|
|
16
|
+
/**
|
|
17
|
+
* A field's validity and whether it must be filled. React Native's
|
|
18
|
+
* `accessibilityState` has neither — its five flags are disabled, selected,
|
|
19
|
+
* checked, busy and expanded — so these are web-only, and a device reads the
|
|
20
|
+
* error text instead. react-native-web forwards both.
|
|
21
|
+
*/
|
|
22
|
+
'aria-invalid'?: boolean;
|
|
23
|
+
'aria-required'?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* What a control pops open. React Native has `aria-expanded` and no
|
|
26
|
+
* `aria-haspopup`, so a `combobox` needs this one from here to say the thing
|
|
27
|
+
* it expands is a listbox — which is what the web's own trigger carries.
|
|
28
|
+
*/
|
|
29
|
+
'aria-haspopup'?: 'listbox' | 'menu' | 'dialog' | 'true';
|
|
16
30
|
}
|
|
17
31
|
|
|
18
32
|
/**
|
|
@@ -30,3 +44,60 @@ export function webAria(attrs: WebAria): object {
|
|
|
30
44
|
const { 'aria-atomic': atomic, ...rest } = attrs;
|
|
31
45
|
return atomic === undefined ? rest : { ...rest, accessibilityAtomic: atomic };
|
|
32
46
|
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* `disabled` for a react-native-web form control.
|
|
50
|
+
*
|
|
51
|
+
* React Native's `TextInput` has `editable` and no `disabled`, because a
|
|
52
|
+
* device has no disabled state to speak of — an uneditable field simply does
|
|
53
|
+
* not take the keyboard. The DOM does: only a real `disabled` attribute takes
|
|
54
|
+
* an `<input>` out of the tab order, and it is what `toBeDisabled()` reads. So
|
|
55
|
+
* a native field spreads this ALONGSIDE `editable={false}` and
|
|
56
|
+
* `aria-disabled`: react-native-web puts the attribute on the input, and a
|
|
57
|
+
* device ignores a prop it does not know.
|
|
58
|
+
*/
|
|
59
|
+
export function webDisabled(disabled: boolean): object {
|
|
60
|
+
return disabled ? { disabled: true } : {};
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* `onClick` for a react-native-web element whose React Native twin has no
|
|
65
|
+
* click of its own.
|
|
66
|
+
*
|
|
67
|
+
* react-native-web's `TextInput` forwards `onClick` to the DOM input and drops
|
|
68
|
+
* `onPressIn`; a device does the opposite. A field that must answer a press on
|
|
69
|
+
* both renderers spreads this ALONGSIDE `onPressIn`, and exactly one of the two
|
|
70
|
+
* fires on each side — never both.
|
|
71
|
+
*/
|
|
72
|
+
export function webClick<E>(handler: ((event: E) => void) | undefined): object {
|
|
73
|
+
return handler === undefined ? {} : { onClick: handler };
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* A `role` React Native's own union does not carry.
|
|
78
|
+
*
|
|
79
|
+
* `Role` (0.83) stops at `list` and `menu`: `listbox`, the role a dropdown's
|
|
80
|
+
* option list owes a screen reader, is not in it. react-native-web forwards
|
|
81
|
+
* whatever string it is given, and a device ignores a role it does not know —
|
|
82
|
+
* the same trade `webAria` makes for the attributes below it.
|
|
83
|
+
*/
|
|
84
|
+
export function webRole(role: string): object {
|
|
85
|
+
return { role };
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/** The half of a DOM keyboard event a component needs, without the DOM lib. */
|
|
89
|
+
export interface WebKeyEvent {
|
|
90
|
+
key: string;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* `onKeyDown` for a react-native-web element.
|
|
95
|
+
*
|
|
96
|
+
* React Native has no key events on a `View` — a phone has no keyboard to
|
|
97
|
+
* press Escape on — so nothing here is typed by react-native and nothing here
|
|
98
|
+
* fires on a device. react-native-web forwards it to the DOM, which is what
|
|
99
|
+
* lets a native dropdown still answer Escape and the arrow keys in a browser.
|
|
100
|
+
*/
|
|
101
|
+
export function webKeyDown(handler: (event: WebKeyEvent) => void): object {
|
|
102
|
+
return { onKeyDown: handler };
|
|
103
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Animated, Easing } from 'react-native';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* THE `::after` PULSE, AS A REACT NATIVE VIEW.
|
|
6
|
+
*
|
|
7
|
+
* `Card` and `Dialog` pulse the same way on the web: an `::after` that fills
|
|
8
|
+
* the element, carries `box-shadow: 0 0 0 <spread>px currentColor` and animates
|
|
9
|
+
* that spread out and back while fading, once every two seconds, from BEHIND
|
|
10
|
+
* the element (`z-index: -1`). Those two read this; `Button.native.tsx` still
|
|
11
|
+
* carries its own `Pulse`, a filled overlay that scales and fades rather than a
|
|
12
|
+
* ring, and folding it onto this is a `form/Button` change.
|
|
13
|
+
*
|
|
14
|
+
* React Native cannot paint a child behind its parent's own background, so a
|
|
15
|
+
* filled overlay would wash the surface instead of haloing it. This draws a
|
|
16
|
+
* HOLLOW ring instead: the view is inset by the current spread and carries a
|
|
17
|
+
* border of exactly that width, so the band it paints is precisely the region
|
|
18
|
+
* from the surface's edge to `spread` outside it — the same band the box-shadow
|
|
19
|
+
* spread covers, and nothing over the surface itself.
|
|
20
|
+
*
|
|
21
|
+
* Layout props cannot run on the native driver, so this animates on the JS one.
|
|
22
|
+
*/
|
|
23
|
+
export interface PulseRingProps {
|
|
24
|
+
color: string;
|
|
25
|
+
/** The surface's own corner radius, which the ring follows. */
|
|
26
|
+
radius: number | string;
|
|
27
|
+
/** How far out of the edge the ring grows, in px. */
|
|
28
|
+
spread: number;
|
|
29
|
+
durationMs: number;
|
|
30
|
+
/** The fraction of the cycle the ring is still visible for. */
|
|
31
|
+
fadeAt: number;
|
|
32
|
+
/** The ring's opacity at the start of a cycle. */
|
|
33
|
+
opacity: number;
|
|
34
|
+
testID: string;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export function PulseRing({
|
|
38
|
+
color,
|
|
39
|
+
radius,
|
|
40
|
+
spread,
|
|
41
|
+
durationMs,
|
|
42
|
+
fadeAt,
|
|
43
|
+
opacity,
|
|
44
|
+
testID,
|
|
45
|
+
}: PulseRingProps): React.JSX.Element {
|
|
46
|
+
const progress = React.useRef(new Animated.Value(0)).current;
|
|
47
|
+
|
|
48
|
+
React.useEffect(() => {
|
|
49
|
+
const loop = Animated.loop(
|
|
50
|
+
Animated.timing(progress, {
|
|
51
|
+
toValue: 1,
|
|
52
|
+
duration: durationMs,
|
|
53
|
+
easing: Easing.linear,
|
|
54
|
+
useNativeDriver: false,
|
|
55
|
+
}),
|
|
56
|
+
);
|
|
57
|
+
loop.start();
|
|
58
|
+
return () => loop.stop();
|
|
59
|
+
}, [durationMs, progress]);
|
|
60
|
+
|
|
61
|
+
const grow = progress.interpolate({ inputRange: [0, fadeAt, 1], outputRange: [0, spread, 0] });
|
|
62
|
+
const inset = Animated.multiply(grow, -1);
|
|
63
|
+
|
|
64
|
+
return (
|
|
65
|
+
<Animated.View
|
|
66
|
+
testID={testID}
|
|
67
|
+
aria-hidden
|
|
68
|
+
style={{
|
|
69
|
+
position: 'absolute',
|
|
70
|
+
pointerEvents: 'none',
|
|
71
|
+
top: inset,
|
|
72
|
+
left: inset,
|
|
73
|
+
right: inset,
|
|
74
|
+
bottom: inset,
|
|
75
|
+
borderWidth: grow,
|
|
76
|
+
borderColor: color,
|
|
77
|
+
borderRadius: radius,
|
|
78
|
+
opacity: progress.interpolate({ inputRange: [0, fadeAt, 1], outputRange: [opacity, 0, 0] }),
|
|
79
|
+
}}
|
|
80
|
+
/>
|
|
81
|
+
);
|
|
82
|
+
}
|
package/src/platform/test-id.ts
CHANGED
|
@@ -18,6 +18,19 @@ export function resolveTestId(props: TestIdProps, fallback?: string): string | u
|
|
|
18
18
|
return props.testID ?? props.dataTestId ?? props['data-testid'] ?? fallback;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
/**
|
|
22
|
+
* The id under whichever of the three spellings the caller used, together with
|
|
23
|
+
* the props stripped of all three — so a web component can put `data-testid`
|
|
24
|
+
* where the DOM wants it without React seeing `testID` or `dataTestId` and
|
|
25
|
+
* warning that it does not recognise them.
|
|
26
|
+
*/
|
|
27
|
+
export function splitTestId<T extends TestIdProps>(
|
|
28
|
+
props: T,
|
|
29
|
+
fallback?: string,
|
|
30
|
+
): { testId: string | undefined; rest: Omit<T, keyof TestIdProps> } {
|
|
31
|
+
return { testId: resolveTestId(props, fallback), rest: withoutTestIdProps(props) };
|
|
32
|
+
}
|
|
33
|
+
|
|
21
34
|
/** `${id}-${suffix}` for a sub-element, or `${fallback}-${suffix}` when unnamed. */
|
|
22
35
|
export function childTestId(
|
|
23
36
|
props: TestIdProps,
|
|
@@ -32,3 +45,20 @@ export function withoutTestIdProps<P extends TestIdProps>(props: P): Omit<P, key
|
|
|
32
45
|
const { testID: _testID, dataTestId: _dataTestId, 'data-testid': _dataTestid, ...rest } = props;
|
|
33
46
|
return rest;
|
|
34
47
|
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* A SLOT's own test id, where a raw id means "this element" and `dataTestId`
|
|
51
|
+
* means "the surface I belong to".
|
|
52
|
+
*
|
|
53
|
+
* `Dialog` names its parts by derivation — `d` gives `d-title`, `d-content`,
|
|
54
|
+
* `d-actions` — and a slot receives the DIALOG's id in `dataTestId` to derive
|
|
55
|
+
* from. A raw `data-testid` (or React Native's `testID`) is something else: it
|
|
56
|
+
* is the id the caller wants ON THIS ELEMENT, which is how the shared stories
|
|
57
|
+
* address a `DialogContent`, so it is taken verbatim and no suffix is added.
|
|
58
|
+
*
|
|
59
|
+
* Both renderers read this one function, which is the only way the web and the
|
|
60
|
+
* native slot can agree about what `<DialogContent data-testid="x">` is called.
|
|
61
|
+
*/
|
|
62
|
+
export function slotTestId(props: TestIdProps, suffix: string, fallback: string): string {
|
|
63
|
+
return props.testID ?? props['data-testid'] ?? childTestId(props, suffix, fallback);
|
|
64
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import {
|
|
2
|
+
darken,
|
|
3
|
+
decomposeColor,
|
|
4
|
+
getContrastRatio,
|
|
5
|
+
getLuminance,
|
|
6
|
+
hslToRgb,
|
|
7
|
+
lighten,
|
|
8
|
+
recomposeColor,
|
|
9
|
+
} from './color';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* THE FIELD EDGE, WITH NO RENDERER BEHIND IT.
|
|
13
|
+
*
|
|
14
|
+
* The argument for why an outlined control cannot draw its resting boundary
|
|
15
|
+
* from `alpha(theme.palette.divider, 0.23)` is in `./field-edge.ts`, next to
|
|
16
|
+
* the MUI-typed `fieldEdge` the web components call. This file is the WALK
|
|
17
|
+
* itself, over two colour strings, so the native renderer can run it too:
|
|
18
|
+
* `Input.native.tsx` and `Select.native.tsx` have no MUI `Theme` to pass and no
|
|
19
|
+
* `@mui/material/styles` to import, and a second copy of the walk beside them
|
|
20
|
+
* is a second answer to "where is this field's border" waiting to drift.
|
|
21
|
+
*
|
|
22
|
+
* `./color` is a faithful port of MUI's colour manipulator (asserted equal to
|
|
23
|
+
* it in `./__tests__/color.test.ts`), so the string this returns is the string
|
|
24
|
+
* the web has always emitted.
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* WCAG 2.1 SC 1.4.11 — the contrast a control's own boundary owes the surface
|
|
29
|
+
* behind it. See `./field-edge.ts` for why 3:1 and why it is a floor.
|
|
30
|
+
*/
|
|
31
|
+
export const MIN_UI_CONTRAST = 3;
|
|
32
|
+
|
|
33
|
+
/** How far one step of the walk moves, and how many steps before it gives up. */
|
|
34
|
+
const STEP = 0.05;
|
|
35
|
+
const MAX_STEPS = 20;
|
|
36
|
+
|
|
37
|
+
/** A colour's red, green, blue and alpha, with `hsl()` converted on the way. */
|
|
38
|
+
function channels(colour: string): [number, number, number, number] {
|
|
39
|
+
const decomposed = decomposeColor(colour);
|
|
40
|
+
const rgb = decomposed.type.startsWith('hsl') ? decomposeColor(hslToRgb(colour)) : decomposed;
|
|
41
|
+
const [r, g, b, a] = rgb.values;
|
|
42
|
+
return [r ?? 0, g ?? 0, b ?? 0, a ?? 1];
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* A colour as an opaque `rgb()`, with any translucency resolved against
|
|
47
|
+
* `surface`.
|
|
48
|
+
*
|
|
49
|
+
* Needed because `getContrastRatio` reads the channels it is given and ignores
|
|
50
|
+
* the alpha, so handing it an `rgba()` measures a colour nobody sees.
|
|
51
|
+
*/
|
|
52
|
+
function flatten(colour: string, surface: string): string {
|
|
53
|
+
const [r, g, b, alpha] = channels(colour);
|
|
54
|
+
if (alpha >= 1) return recomposeColor({ type: 'rgb', values: [r, g, b] });
|
|
55
|
+
|
|
56
|
+
const [baseR, baseG, baseB] = channels(surface);
|
|
57
|
+
const blend = (fg: number, bg: number): number => Math.round(alpha * fg + (1 - alpha) * bg);
|
|
58
|
+
return recomposeColor({
|
|
59
|
+
type: 'rgb',
|
|
60
|
+
values: [blend(r, baseR), blend(g, baseG), blend(b, baseB)],
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* The resting boundary a control draws on `surface`, from the theme's own
|
|
66
|
+
* `divider` as the seed: the seed itself when it already clears
|
|
67
|
+
* {@link MIN_UI_CONTRAST}, otherwise the nearest tone of it that does.
|
|
68
|
+
*/
|
|
69
|
+
export function resolveFieldEdge(divider: string, surface: string): string {
|
|
70
|
+
const ground = flatten(surface, '#FFFFFF');
|
|
71
|
+
const seed = flatten(divider, ground);
|
|
72
|
+
if (getContrastRatio(seed, ground) >= MIN_UI_CONTRAST) return seed;
|
|
73
|
+
|
|
74
|
+
// Away from the surface, whichever way that is — so one rule serves both
|
|
75
|
+
// modes, and a dark card in a light theme is still handled by the pair rather
|
|
76
|
+
// than by `palette.mode`.
|
|
77
|
+
const away = getLuminance(ground) > 0.5 ? darken : lighten;
|
|
78
|
+
for (let step = 1; step <= MAX_STEPS; step += 1) {
|
|
79
|
+
// From the SEED each time rather than compounding the previous result, so
|
|
80
|
+
// the walk lands on the nearest passing tone instead of overshooting past it.
|
|
81
|
+
const candidate = away(seed, step * STEP);
|
|
82
|
+
if (getContrastRatio(candidate, ground) >= MIN_UI_CONTRAST) return candidate;
|
|
83
|
+
}
|
|
84
|
+
// Unreachable for any real surface — black clears 21:1 on white and white
|
|
85
|
+
// clears it on black — but a caller must never be handed `undefined`.
|
|
86
|
+
return getLuminance(ground) > 0.5 ? '#000000' : '#FFFFFF';
|
|
87
|
+
}
|