react-native-terra-ui 0.1.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/README.md +70 -0
- package/lib/module/components/avatar/Avatar.js +121 -0
- package/lib/module/components/avatar/Avatar.js.map +1 -0
- package/lib/module/components/avatar/index.js +4 -0
- package/lib/module/components/avatar/index.js.map +1 -0
- package/lib/module/components/avatar/types.js +4 -0
- package/lib/module/components/avatar/types.js.map +1 -0
- package/lib/module/components/box/Box.js +49 -0
- package/lib/module/components/box/Box.js.map +1 -0
- package/lib/module/components/box/index.js +4 -0
- package/lib/module/components/box/index.js.map +1 -0
- package/lib/module/components/box/utils.js +95 -0
- package/lib/module/components/box/utils.js.map +1 -0
- package/lib/module/components/button/Button.js +281 -0
- package/lib/module/components/button/Button.js.map +1 -0
- package/lib/module/components/button/index.js +4 -0
- package/lib/module/components/button/index.js.map +1 -0
- package/lib/module/components/header/Header.js +25 -0
- package/lib/module/components/header/Header.js.map +1 -0
- package/lib/module/components/header/header-buttons.js +65 -0
- package/lib/module/components/header/header-buttons.js.map +1 -0
- package/lib/module/components/header/index.js +7 -0
- package/lib/module/components/header/index.js.map +1 -0
- package/lib/module/components/header/variants/LargeTitleHeader/index.js +335 -0
- package/lib/module/components/header/variants/LargeTitleHeader/index.js.map +1 -0
- package/lib/module/components/header/variants/TitleHeader/index.js +184 -0
- package/lib/module/components/header/variants/TitleHeader/index.js.map +1 -0
- package/lib/module/components/icon/Icon.js +53 -0
- package/lib/module/components/icon/Icon.js.map +1 -0
- package/lib/module/components/icon/index.js +4 -0
- package/lib/module/components/icon/index.js.map +1 -0
- package/lib/module/components/icon/utils.js +188 -0
- package/lib/module/components/icon/utils.js.map +1 -0
- package/lib/module/components/index.js +16 -0
- package/lib/module/components/index.js.map +1 -0
- package/lib/module/components/page-indicator/PageIndicator.js +49 -0
- package/lib/module/components/page-indicator/PageIndicator.js.map +1 -0
- package/lib/module/components/page-indicator/PageIndicatorRoot.js +24 -0
- package/lib/module/components/page-indicator/PageIndicatorRoot.js.map +1 -0
- package/lib/module/components/page-indicator/hooks/use-page-indicator-colors.js +24 -0
- package/lib/module/components/page-indicator/hooks/use-page-indicator-colors.js.map +1 -0
- package/lib/module/components/page-indicator/hooks/use-page-indicator-core.js +20 -0
- package/lib/module/components/page-indicator/hooks/use-page-indicator-core.js.map +1 -0
- package/lib/module/components/page-indicator/hooks/use-page-indicator-progress.js +68 -0
- package/lib/module/components/page-indicator/hooks/use-page-indicator-progress.js.map +1 -0
- package/lib/module/components/page-indicator/index.js +5 -0
- package/lib/module/components/page-indicator/index.js.map +1 -0
- package/lib/module/components/page-indicator/utils.js +127 -0
- package/lib/module/components/page-indicator/utils.js.map +1 -0
- package/lib/module/components/page-indicator/variants/DotIndicator/InactiveDot.js +50 -0
- package/lib/module/components/page-indicator/variants/DotIndicator/InactiveDot.js.map +1 -0
- package/lib/module/components/page-indicator/variants/DotIndicator/LoadingOrbit.js +165 -0
- package/lib/module/components/page-indicator/variants/DotIndicator/LoadingOrbit.js.map +1 -0
- package/lib/module/components/page-indicator/variants/DotIndicator/TravelingPill.js +60 -0
- package/lib/module/components/page-indicator/variants/DotIndicator/TravelingPill.js.map +1 -0
- package/lib/module/components/page-indicator/variants/DotIndicator/index.js +87 -0
- package/lib/module/components/page-indicator/variants/DotIndicator/index.js.map +1 -0
- package/lib/module/components/page-indicator/variants/DotIndicator/utils.js +28 -0
- package/lib/module/components/page-indicator/variants/DotIndicator/utils.js.map +1 -0
- package/lib/module/components/page-indicator/variants/PillIndicator/PillIndicatorDot.js +53 -0
- package/lib/module/components/page-indicator/variants/PillIndicator/PillIndicatorDot.js.map +1 -0
- package/lib/module/components/page-indicator/variants/PillIndicator/index.js +76 -0
- package/lib/module/components/page-indicator/variants/PillIndicator/index.js.map +1 -0
- package/lib/module/components/page-indicator/variants/PillIndicator/utils.js +47 -0
- package/lib/module/components/page-indicator/variants/PillIndicator/utils.js.map +1 -0
- package/lib/module/components/portal/PortalContext.js +20 -0
- package/lib/module/components/portal/PortalContext.js.map +1 -0
- package/lib/module/components/portal/PortalHost.js +23 -0
- package/lib/module/components/portal/PortalHost.js.map +1 -0
- package/lib/module/components/portal/PortalProvider.js +40 -0
- package/lib/module/components/portal/PortalProvider.js.map +1 -0
- package/lib/module/components/portal/index.js +6 -0
- package/lib/module/components/portal/index.js.map +1 -0
- package/lib/module/components/screen/Screen.js +100 -0
- package/lib/module/components/screen/Screen.js.map +1 -0
- package/lib/module/components/screen/ScreenContext.js +66 -0
- package/lib/module/components/screen/ScreenContext.js.map +1 -0
- package/lib/module/components/screen/ScreenFlatList.js +75 -0
- package/lib/module/components/screen/ScreenFlatList.js.map +1 -0
- package/lib/module/components/screen/ScreenScrollView.js +82 -0
- package/lib/module/components/screen/ScreenScrollView.js.map +1 -0
- package/lib/module/components/screen/index.js +7 -0
- package/lib/module/components/screen/index.js.map +1 -0
- package/lib/module/components/screen/utils.js +13 -0
- package/lib/module/components/screen/utils.js.map +1 -0
- package/lib/module/components/slot/Slot.js +38 -0
- package/lib/module/components/slot/Slot.js.map +1 -0
- package/lib/module/components/slot/index.js +10 -0
- package/lib/module/components/slot/index.js.map +1 -0
- package/lib/module/components/slot/utils.js +55 -0
- package/lib/module/components/slot/utils.js.map +1 -0
- package/lib/module/components/spinner/Spinner.js +132 -0
- package/lib/module/components/spinner/Spinner.js.map +1 -0
- package/lib/module/components/spinner/index.js +4 -0
- package/lib/module/components/spinner/index.js.map +1 -0
- package/lib/module/components/surface/Surface.js +74 -0
- package/lib/module/components/surface/Surface.js.map +1 -0
- package/lib/module/components/surface/index.js +4 -0
- package/lib/module/components/surface/index.js.map +1 -0
- package/lib/module/components/text/Text.js +67 -0
- package/lib/module/components/text/Text.js.map +1 -0
- package/lib/module/components/text/index.js +4 -0
- package/lib/module/components/text/index.js.map +1 -0
- package/lib/module/components/toast/Toast.js +350 -0
- package/lib/module/components/toast/Toast.js.map +1 -0
- package/lib/module/components/toast/ToastProvider.js +272 -0
- package/lib/module/components/toast/ToastProvider.js.map +1 -0
- package/lib/module/components/toast/index.js +5 -0
- package/lib/module/components/toast/index.js.map +1 -0
- package/lib/module/components/toast/parts/ToastAnimatedItem.js +168 -0
- package/lib/module/components/toast/parts/ToastAnimatedItem.js.map +1 -0
- package/lib/module/components/toast/types.js +4 -0
- package/lib/module/components/toast/types.js.map +1 -0
- package/lib/module/components/toast/utils/controller.js +19 -0
- package/lib/module/components/toast/utils/controller.js.map +1 -0
- package/lib/module/context/ThemeProvider.js +66 -0
- package/lib/module/context/ThemeProvider.js.map +1 -0
- package/lib/module/context/index.js +4 -0
- package/lib/module/context/index.js.map +1 -0
- package/lib/module/index.js +8 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/theme/configure.js +152 -0
- package/lib/module/theme/configure.js.map +1 -0
- package/lib/module/theme/index.js +22 -0
- package/lib/module/theme/index.js.map +1 -0
- package/lib/module/theme/runtime.js +25 -0
- package/lib/module/theme/runtime.js.map +1 -0
- package/lib/module/theme/theme.js +121 -0
- package/lib/module/theme/theme.js.map +1 -0
- package/lib/module/theme/tokens/dark.js +109 -0
- package/lib/module/theme/tokens/dark.js.map +1 -0
- package/lib/module/theme/tokens/light.js +115 -0
- package/lib/module/theme/tokens/light.js.map +1 -0
- package/lib/module/theme/tokens/primitives.js +228 -0
- package/lib/module/theme/tokens/primitives.js.map +1 -0
- package/lib/module/theme/types.js +4 -0
- package/lib/module/theme/types.js.map +1 -0
- package/lib/module/types.js +2 -0
- package/lib/module/types.js.map +1 -0
- package/lib/module/utils/accent-utils.js +52 -0
- package/lib/module/utils/accent-utils.js.map +1 -0
- package/lib/module/utils/color-utils.js +53 -0
- package/lib/module/utils/color-utils.js.map +1 -0
- package/lib/module/utils/deep-merge.js +28 -0
- package/lib/module/utils/deep-merge.js.map +1 -0
- package/lib/module/utils/resolve-theme-color.js +20 -0
- package/lib/module/utils/resolve-theme-color.js.map +1 -0
- package/lib/module/utils/typography.js +13 -0
- package/lib/module/utils/typography.js.map +1 -0
- package/lib/module/utils/unflatten.js +35 -0
- package/lib/module/utils/unflatten.js.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/components/avatar/Avatar.d.ts +3 -0
- package/lib/typescript/src/components/avatar/Avatar.d.ts.map +1 -0
- package/lib/typescript/src/components/avatar/index.d.ts +3 -0
- package/lib/typescript/src/components/avatar/index.d.ts.map +1 -0
- package/lib/typescript/src/components/avatar/types.d.ts +30 -0
- package/lib/typescript/src/components/avatar/types.d.ts.map +1 -0
- package/lib/typescript/src/components/box/Box.d.ts +12 -0
- package/lib/typescript/src/components/box/Box.d.ts.map +1 -0
- package/lib/typescript/src/components/box/index.d.ts +4 -0
- package/lib/typescript/src/components/box/index.d.ts.map +1 -0
- package/lib/typescript/src/components/box/utils.d.ts +39 -0
- package/lib/typescript/src/components/box/utils.d.ts.map +1 -0
- package/lib/typescript/src/components/button/Button.d.ts +46 -0
- package/lib/typescript/src/components/button/Button.d.ts.map +1 -0
- package/lib/typescript/src/components/button/index.d.ts +3 -0
- package/lib/typescript/src/components/button/index.d.ts.map +1 -0
- package/lib/typescript/src/components/header/Header.d.ts +22 -0
- package/lib/typescript/src/components/header/Header.d.ts.map +1 -0
- package/lib/typescript/src/components/header/header-buttons.d.ts +16 -0
- package/lib/typescript/src/components/header/header-buttons.d.ts.map +1 -0
- package/lib/typescript/src/components/header/index.d.ts +7 -0
- package/lib/typescript/src/components/header/index.d.ts.map +1 -0
- package/lib/typescript/src/components/header/variants/LargeTitleHeader/index.d.ts +25 -0
- package/lib/typescript/src/components/header/variants/LargeTitleHeader/index.d.ts.map +1 -0
- package/lib/typescript/src/components/header/variants/TitleHeader/index.d.ts +28 -0
- package/lib/typescript/src/components/header/variants/TitleHeader/index.d.ts.map +1 -0
- package/lib/typescript/src/components/icon/Icon.d.ts +22 -0
- package/lib/typescript/src/components/icon/Icon.d.ts.map +1 -0
- package/lib/typescript/src/components/icon/index.d.ts +3 -0
- package/lib/typescript/src/components/icon/index.d.ts.map +1 -0
- package/lib/typescript/src/components/icon/utils.d.ts +4 -0
- package/lib/typescript/src/components/icon/utils.d.ts.map +1 -0
- package/lib/typescript/src/components/index.d.ts +14 -0
- package/lib/typescript/src/components/index.d.ts.map +1 -0
- package/lib/typescript/src/components/page-indicator/PageIndicator.d.ts +48 -0
- package/lib/typescript/src/components/page-indicator/PageIndicator.d.ts.map +1 -0
- package/lib/typescript/src/components/page-indicator/PageIndicatorRoot.d.ts +13 -0
- package/lib/typescript/src/components/page-indicator/PageIndicatorRoot.d.ts.map +1 -0
- package/lib/typescript/src/components/page-indicator/hooks/use-page-indicator-colors.d.ts +14 -0
- package/lib/typescript/src/components/page-indicator/hooks/use-page-indicator-colors.d.ts.map +1 -0
- package/lib/typescript/src/components/page-indicator/hooks/use-page-indicator-core.d.ts +11 -0
- package/lib/typescript/src/components/page-indicator/hooks/use-page-indicator-core.d.ts.map +1 -0
- package/lib/typescript/src/components/page-indicator/hooks/use-page-indicator-progress.d.ts +19 -0
- package/lib/typescript/src/components/page-indicator/hooks/use-page-indicator-progress.d.ts.map +1 -0
- package/lib/typescript/src/components/page-indicator/index.d.ts +4 -0
- package/lib/typescript/src/components/page-indicator/index.d.ts.map +1 -0
- package/lib/typescript/src/components/page-indicator/utils.d.ts +36 -0
- package/lib/typescript/src/components/page-indicator/utils.d.ts.map +1 -0
- package/lib/typescript/src/components/page-indicator/variants/DotIndicator/InactiveDot.d.ts +14 -0
- package/lib/typescript/src/components/page-indicator/variants/DotIndicator/InactiveDot.d.ts.map +1 -0
- package/lib/typescript/src/components/page-indicator/variants/DotIndicator/LoadingOrbit.d.ts +11 -0
- package/lib/typescript/src/components/page-indicator/variants/DotIndicator/LoadingOrbit.d.ts.map +1 -0
- package/lib/typescript/src/components/page-indicator/variants/DotIndicator/TravelingPill.d.ts +15 -0
- package/lib/typescript/src/components/page-indicator/variants/DotIndicator/TravelingPill.d.ts.map +1 -0
- package/lib/typescript/src/components/page-indicator/variants/DotIndicator/index.d.ts +32 -0
- package/lib/typescript/src/components/page-indicator/variants/DotIndicator/index.d.ts.map +1 -0
- package/lib/typescript/src/components/page-indicator/variants/DotIndicator/utils.d.ts +14 -0
- package/lib/typescript/src/components/page-indicator/variants/DotIndicator/utils.d.ts.map +1 -0
- package/lib/typescript/src/components/page-indicator/variants/PillIndicator/PillIndicatorDot.d.ts +16 -0
- package/lib/typescript/src/components/page-indicator/variants/PillIndicator/PillIndicatorDot.d.ts.map +1 -0
- package/lib/typescript/src/components/page-indicator/variants/PillIndicator/index.d.ts +28 -0
- package/lib/typescript/src/components/page-indicator/variants/PillIndicator/index.d.ts.map +1 -0
- package/lib/typescript/src/components/page-indicator/variants/PillIndicator/utils.d.ts +21 -0
- package/lib/typescript/src/components/page-indicator/variants/PillIndicator/utils.d.ts.map +1 -0
- package/lib/typescript/src/components/portal/PortalContext.d.ts +19 -0
- package/lib/typescript/src/components/portal/PortalContext.d.ts.map +1 -0
- package/lib/typescript/src/components/portal/PortalHost.d.ts +7 -0
- package/lib/typescript/src/components/portal/PortalHost.d.ts.map +1 -0
- package/lib/typescript/src/components/portal/PortalProvider.d.ts +11 -0
- package/lib/typescript/src/components/portal/PortalProvider.d.ts.map +1 -0
- package/lib/typescript/src/components/portal/index.d.ts +6 -0
- package/lib/typescript/src/components/portal/index.d.ts.map +1 -0
- package/lib/typescript/src/components/screen/Screen.d.ts +53 -0
- package/lib/typescript/src/components/screen/Screen.d.ts.map +1 -0
- package/lib/typescript/src/components/screen/ScreenContext.d.ts +64 -0
- package/lib/typescript/src/components/screen/ScreenContext.d.ts.map +1 -0
- package/lib/typescript/src/components/screen/ScreenFlatList.d.ts +26 -0
- package/lib/typescript/src/components/screen/ScreenFlatList.d.ts.map +1 -0
- package/lib/typescript/src/components/screen/ScreenScrollView.d.ts +36 -0
- package/lib/typescript/src/components/screen/ScreenScrollView.d.ts.map +1 -0
- package/lib/typescript/src/components/screen/index.d.ts +9 -0
- package/lib/typescript/src/components/screen/index.d.ts.map +1 -0
- package/lib/typescript/src/components/screen/utils.d.ts +10 -0
- package/lib/typescript/src/components/screen/utils.d.ts.map +1 -0
- package/lib/typescript/src/components/slot/Slot.d.ts +17 -0
- package/lib/typescript/src/components/slot/Slot.d.ts.map +1 -0
- package/lib/typescript/src/components/slot/index.d.ts +8 -0
- package/lib/typescript/src/components/slot/index.d.ts.map +1 -0
- package/lib/typescript/src/components/slot/utils.d.ts +17 -0
- package/lib/typescript/src/components/slot/utils.d.ts.map +1 -0
- package/lib/typescript/src/components/spinner/Spinner.d.ts +18 -0
- package/lib/typescript/src/components/spinner/Spinner.d.ts.map +1 -0
- package/lib/typescript/src/components/spinner/index.d.ts +3 -0
- package/lib/typescript/src/components/spinner/index.d.ts.map +1 -0
- package/lib/typescript/src/components/surface/Surface.d.ts +31 -0
- package/lib/typescript/src/components/surface/Surface.d.ts.map +1 -0
- package/lib/typescript/src/components/surface/index.d.ts +3 -0
- package/lib/typescript/src/components/surface/index.d.ts.map +1 -0
- package/lib/typescript/src/components/text/Text.d.ts +23 -0
- package/lib/typescript/src/components/text/Text.d.ts.map +1 -0
- package/lib/typescript/src/components/text/index.d.ts +3 -0
- package/lib/typescript/src/components/text/index.d.ts.map +1 -0
- package/lib/typescript/src/components/toast/Toast.d.ts +71 -0
- package/lib/typescript/src/components/toast/Toast.d.ts.map +1 -0
- package/lib/typescript/src/components/toast/ToastProvider.d.ts +4 -0
- package/lib/typescript/src/components/toast/ToastProvider.d.ts.map +1 -0
- package/lib/typescript/src/components/toast/index.d.ts +5 -0
- package/lib/typescript/src/components/toast/index.d.ts.map +1 -0
- package/lib/typescript/src/components/toast/parts/ToastAnimatedItem.d.ts +18 -0
- package/lib/typescript/src/components/toast/parts/ToastAnimatedItem.d.ts.map +1 -0
- package/lib/typescript/src/components/toast/types.d.ts +62 -0
- package/lib/typescript/src/components/toast/types.d.ts.map +1 -0
- package/lib/typescript/src/components/toast/utils/controller.d.ts +5 -0
- package/lib/typescript/src/components/toast/utils/controller.d.ts.map +1 -0
- package/lib/typescript/src/context/ThemeProvider.d.ts +29 -0
- package/lib/typescript/src/context/ThemeProvider.d.ts.map +1 -0
- package/lib/typescript/src/context/index.d.ts +3 -0
- package/lib/typescript/src/context/index.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +4 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/theme/configure.d.ts +47 -0
- package/lib/typescript/src/theme/configure.d.ts.map +1 -0
- package/lib/typescript/src/theme/index.d.ts +11 -0
- package/lib/typescript/src/theme/index.d.ts.map +1 -0
- package/lib/typescript/src/theme/runtime.d.ts +7 -0
- package/lib/typescript/src/theme/runtime.d.ts.map +1 -0
- package/lib/typescript/src/theme/theme.d.ts +22 -0
- package/lib/typescript/src/theme/theme.d.ts.map +1 -0
- package/lib/typescript/src/theme/tokens/dark.d.ts +100 -0
- package/lib/typescript/src/theme/tokens/dark.d.ts.map +1 -0
- package/lib/typescript/src/theme/tokens/light.d.ts +106 -0
- package/lib/typescript/src/theme/tokens/light.d.ts.map +1 -0
- package/lib/typescript/src/theme/tokens/primitives.d.ts +212 -0
- package/lib/typescript/src/theme/tokens/primitives.d.ts.map +1 -0
- package/lib/typescript/src/theme/types.d.ts +273 -0
- package/lib/typescript/src/theme/types.d.ts.map +1 -0
- package/lib/typescript/src/types.d.ts +4 -0
- package/lib/typescript/src/types.d.ts.map +1 -0
- package/lib/typescript/src/utils/accent-utils.d.ts +4 -0
- package/lib/typescript/src/utils/accent-utils.d.ts.map +1 -0
- package/lib/typescript/src/utils/color-utils.d.ts +11 -0
- package/lib/typescript/src/utils/color-utils.d.ts.map +1 -0
- package/lib/typescript/src/utils/deep-merge.d.ts +11 -0
- package/lib/typescript/src/utils/deep-merge.d.ts.map +1 -0
- package/lib/typescript/src/utils/resolve-theme-color.d.ts +12 -0
- package/lib/typescript/src/utils/resolve-theme-color.d.ts.map +1 -0
- package/lib/typescript/src/utils/typography.d.ts +6 -0
- package/lib/typescript/src/utils/typography.d.ts.map +1 -0
- package/lib/typescript/src/utils/unflatten.d.ts +12 -0
- package/lib/typescript/src/utils/unflatten.d.ts.map +1 -0
- package/package.json +137 -0
- package/src/components/avatar/Avatar.tsx +146 -0
- package/src/components/avatar/index.ts +8 -0
- package/src/components/avatar/types.ts +35 -0
- package/src/components/box/Box.tsx +59 -0
- package/src/components/box/index.ts +8 -0
- package/src/components/box/utils.ts +181 -0
- package/src/components/button/Button.tsx +313 -0
- package/src/components/button/index.ts +8 -0
- package/src/components/header/Header.ts +22 -0
- package/src/components/header/header-buttons.tsx +103 -0
- package/src/components/header/index.ts +11 -0
- package/src/components/header/variants/LargeTitleHeader/index.tsx +390 -0
- package/src/components/header/variants/TitleHeader/index.tsx +194 -0
- package/src/components/icon/Icon.tsx +74 -0
- package/src/components/icon/index.ts +2 -0
- package/src/components/icon/utils.tsx +147 -0
- package/src/components/index.ts +13 -0
- package/src/components/page-indicator/PageIndicator.tsx +100 -0
- package/src/components/page-indicator/PageIndicatorRoot.tsx +41 -0
- package/src/components/page-indicator/hooks/use-page-indicator-colors.ts +65 -0
- package/src/components/page-indicator/hooks/use-page-indicator-core.ts +34 -0
- package/src/components/page-indicator/hooks/use-page-indicator-progress.ts +122 -0
- package/src/components/page-indicator/index.ts +13 -0
- package/src/components/page-indicator/utils.ts +208 -0
- package/src/components/page-indicator/variants/DotIndicator/InactiveDot.tsx +70 -0
- package/src/components/page-indicator/variants/DotIndicator/LoadingOrbit.tsx +201 -0
- package/src/components/page-indicator/variants/DotIndicator/TravelingPill.tsx +80 -0
- package/src/components/page-indicator/variants/DotIndicator/index.tsx +145 -0
- package/src/components/page-indicator/variants/DotIndicator/utils.ts +28 -0
- package/src/components/page-indicator/variants/PillIndicator/PillIndicatorDot.tsx +107 -0
- package/src/components/page-indicator/variants/PillIndicator/index.tsx +149 -0
- package/src/components/page-indicator/variants/PillIndicator/utils.ts +63 -0
- package/src/components/portal/PortalContext.tsx +27 -0
- package/src/components/portal/PortalHost.tsx +20 -0
- package/src/components/portal/PortalProvider.tsx +44 -0
- package/src/components/portal/index.ts +5 -0
- package/src/components/screen/Screen.tsx +163 -0
- package/src/components/screen/ScreenContext.tsx +144 -0
- package/src/components/screen/ScreenFlatList.tsx +121 -0
- package/src/components/screen/ScreenScrollView.tsx +130 -0
- package/src/components/screen/index.ts +8 -0
- package/src/components/screen/utils.ts +17 -0
- package/src/components/slot/Slot.tsx +56 -0
- package/src/components/slot/index.ts +8 -0
- package/src/components/slot/utils.ts +61 -0
- package/src/components/spinner/Spinner.tsx +153 -0
- package/src/components/spinner/index.ts +2 -0
- package/src/components/surface/Surface.tsx +100 -0
- package/src/components/surface/index.ts +2 -0
- package/src/components/text/Text.tsx +115 -0
- package/src/components/text/index.ts +2 -0
- package/src/components/toast/Toast.tsx +477 -0
- package/src/components/toast/ToastProvider.tsx +403 -0
- package/src/components/toast/index.ts +26 -0
- package/src/components/toast/parts/ToastAnimatedItem.tsx +184 -0
- package/src/components/toast/types.ts +75 -0
- package/src/components/toast/utils/controller.ts +23 -0
- package/src/context/ThemeProvider.tsx +97 -0
- package/src/context/index.ts +2 -0
- package/src/index.tsx +6 -0
- package/src/theme/configure.ts +215 -0
- package/src/theme/index.ts +72 -0
- package/src/theme/runtime.ts +27 -0
- package/src/theme/theme.ts +152 -0
- package/src/theme/tokens/dark.ts +117 -0
- package/src/theme/tokens/light.ts +123 -0
- package/src/theme/tokens/primitives.ts +232 -0
- package/src/theme/types.ts +384 -0
- package/src/types.ts +1 -0
- package/src/utils/accent-utils.ts +58 -0
- package/src/utils/color-utils.ts +51 -0
- package/src/utils/deep-merge.ts +36 -0
- package/src/utils/resolve-theme-color.ts +27 -0
- package/src/utils/typography.ts +15 -0
- package/src/utils/unflatten.ts +36 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/** Recursively makes every property (and nested property) optional. */
|
|
4
|
+
|
|
5
|
+
const isPlainObject = value => typeof value === 'object' && value !== null && !Array.isArray(value) && Object.getPrototypeOf(value) === Object.prototype;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Deep-merges `override` onto `base`, returning a new object.
|
|
9
|
+
* Plain objects merge recursively; all other values (and arrays) replace.
|
|
10
|
+
* Neither input is mutated.
|
|
11
|
+
*/
|
|
12
|
+
export function deepMerge(base, override) {
|
|
13
|
+
if (override === undefined) return base;
|
|
14
|
+
if (!isPlainObject(base) || !isPlainObject(override)) {
|
|
15
|
+
return override ?? base;
|
|
16
|
+
}
|
|
17
|
+
const result = {
|
|
18
|
+
...base
|
|
19
|
+
};
|
|
20
|
+
for (const key of Object.keys(override)) {
|
|
21
|
+
const overrideValue = override[key];
|
|
22
|
+
if (overrideValue === undefined) continue;
|
|
23
|
+
const baseValue = base[key];
|
|
24
|
+
result[key] = isPlainObject(baseValue) && isPlainObject(overrideValue) ? deepMerge(baseValue, overrideValue) : overrideValue;
|
|
25
|
+
}
|
|
26
|
+
return result;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=deep-merge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isPlainObject","value","Array","isArray","Object","getPrototypeOf","prototype","deepMerge","base","override","undefined","result","key","keys","overrideValue","baseValue"],"sourceRoot":"../../../src","sources":["utils/deep-merge.ts"],"mappings":";;AAAA;;AAOA,MAAMA,aAAa,GAAIC,KAAc,IACnC,OAAOA,KAAK,KAAK,QAAQ,IACzBA,KAAK,KAAK,IAAI,IACd,CAACC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,IACrBG,MAAM,CAACC,cAAc,CAACJ,KAAK,CAAC,KAAKG,MAAM,CAACE,SAAS;;AAEnD;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,SAASA,CAAIC,IAAO,EAAEC,QAAyB,EAAK;EAClE,IAAIA,QAAQ,KAAKC,SAAS,EAAE,OAAOF,IAAI;EACvC,IAAI,CAACR,aAAa,CAACQ,IAAI,CAAC,IAAI,CAACR,aAAa,CAACS,QAAQ,CAAC,EAAE;IACpD,OAAQA,QAAQ,IAAqBD,IAAI;EAC3C;EAEA,MAAMG,MAA+B,GAAG;IAAE,GAAGH;EAAK,CAAC;EACnD,KAAK,MAAMI,GAAG,IAAIR,MAAM,CAACS,IAAI,CAACJ,QAAQ,CAAC,EAAE;IACvC,MAAMK,aAAa,GAAIL,QAAQ,CAA6BG,GAAG,CAAC;IAChE,IAAIE,aAAa,KAAKJ,SAAS,EAAE;IACjC,MAAMK,SAAS,GAAIP,IAAI,CAA6BI,GAAG,CAAC;IACxDD,MAAM,CAACC,GAAG,CAAC,GACTZ,aAAa,CAACe,SAAS,CAAC,IAAIf,aAAa,CAACc,aAAa,CAAC,GACpDP,SAAS,CAACQ,SAAS,EAAED,aAA8C,CAAC,GACpEA,aAAa;EACrB;EACA,OAAOH,MAAM;AACf","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const isColorLiteral = value => value.startsWith('#') || value.startsWith('rgb') || value.startsWith('hsl') || value === 'transparent' || value === 'currentColor';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Resolves a {@link ColorToken} to a concrete color string using the theme.
|
|
7
|
+
* Raw literals pass through unchanged.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* resolveThemeColor('text.default', theme) // → '#020618'
|
|
11
|
+
* resolveThemeColor('action.bg.primary', theme) // → '#009966'
|
|
12
|
+
* resolveThemeColor('#ff0000', theme) // → '#ff0000'
|
|
13
|
+
*/
|
|
14
|
+
export function resolveThemeColor(token, theme) {
|
|
15
|
+
if (!token) return undefined;
|
|
16
|
+
if (isColorLiteral(token)) return token;
|
|
17
|
+
const value = theme.color[token];
|
|
18
|
+
return typeof value === 'string' ? value : undefined;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=resolve-theme-color.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isColorLiteral","value","startsWith","resolveThemeColor","token","theme","undefined","color"],"sourceRoot":"../../../src","sources":["utils/resolve-theme-color.ts"],"mappings":";;AAEA,MAAMA,cAAc,GAAIC,KAAa,IACnCA,KAAK,CAACC,UAAU,CAAC,GAAG,CAAC,IACrBD,KAAK,CAACC,UAAU,CAAC,KAAK,CAAC,IACvBD,KAAK,CAACC,UAAU,CAAC,KAAK,CAAC,IACvBD,KAAK,KAAK,aAAa,IACvBA,KAAK,KAAK,cAAc;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,iBAAiBA,CAC/BC,KAA6B,EAC7BC,KAAiB,EACG;EACpB,IAAI,CAACD,KAAK,EAAE,OAAOE,SAAS;EAC5B,IAAIN,cAAc,CAACI,KAAK,CAAC,EAAE,OAAOA,KAAK;EACvC,MAAMH,KAAK,GAAII,KAAK,CAACE,KAAK,CAAwCH,KAAK,CAAC;EACxE,OAAO,OAAOH,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGK,SAAS;AACtD","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/** RN's sentinel for the platform default font (SF on iOS, Roboto on Android). */
|
|
4
|
+
export const SYSTEM_FONT = 'System';
|
|
5
|
+
|
|
6
|
+
/** Numeric fontWeight applied when a weight token maps to the system font. */
|
|
7
|
+
export const FONT_WEIGHT_VALUE = {
|
|
8
|
+
regular: '400',
|
|
9
|
+
medium: '500',
|
|
10
|
+
semibold: '600',
|
|
11
|
+
bold: '700'
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=typography.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SYSTEM_FONT","FONT_WEIGHT_VALUE","regular","medium","semibold","bold"],"sourceRoot":"../../../src","sources":["utils/typography.ts"],"mappings":";;AAEA;AACA,OAAO,MAAMA,WAAW,GAAG,QAAQ;;AAEnC;AACA,OAAO,MAAMC,iBAGZ,GAAG;EACFC,OAAO,EAAE,KAAK;EACdC,MAAM,EAAE,KAAK;EACbC,QAAQ,EAAE,KAAK;EACfC,IAAI,EAAE;AACR,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Rebuilds a nested object from a flat map of dotted-path keys.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* unflatten({ 'a.b.c': 1, 'a.b.d': 2 }) // → { a: { b: { c: 1, d: 2 } } }
|
|
8
|
+
*
|
|
9
|
+
* Used to turn the flat, Figma-style token data (tokens/*.ts) back into the
|
|
10
|
+
* nested runtime theme shape that components and Unistyles consume. The caller
|
|
11
|
+
* is responsible for asserting the resulting shape (e.g. `as TerraTheme`).
|
|
12
|
+
*/
|
|
13
|
+
export function unflatten(flat) {
|
|
14
|
+
const root = {};
|
|
15
|
+
for (const [path, value] of Object.entries(flat)) {
|
|
16
|
+
const segments = path.split('.');
|
|
17
|
+
let node = root;
|
|
18
|
+
for (let i = 0; i < segments.length - 1; i++) {
|
|
19
|
+
const seg = segments[i];
|
|
20
|
+
if (seg === undefined) continue;
|
|
21
|
+
const next = node[seg];
|
|
22
|
+
if (typeof next === 'object' && next !== null) {
|
|
23
|
+
node = next;
|
|
24
|
+
} else {
|
|
25
|
+
const created = {};
|
|
26
|
+
node[seg] = created;
|
|
27
|
+
node = created;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
const leaf = segments[segments.length - 1];
|
|
31
|
+
if (leaf !== undefined) node[leaf] = value;
|
|
32
|
+
}
|
|
33
|
+
return root;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=unflatten.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["unflatten","flat","root","path","value","Object","entries","segments","split","node","i","length","seg","undefined","next","created","leaf"],"sourceRoot":"../../../src","sources":["utils/unflatten.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,SAASA,CAAcC,IAA6B,EAAK;EACvE,MAAMC,IAA6B,GAAG,CAAC,CAAC;EAExC,KAAK,MAAM,CAACC,IAAI,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACL,IAAI,CAAC,EAAE;IAChD,MAAMM,QAAQ,GAAGJ,IAAI,CAACK,KAAK,CAAC,GAAG,CAAC;IAChC,IAAIC,IAAI,GAAGP,IAAI;IAEf,KAAK,IAAIQ,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,QAAQ,CAACI,MAAM,GAAG,CAAC,EAAED,CAAC,EAAE,EAAE;MAC5C,MAAME,GAAG,GAAGL,QAAQ,CAACG,CAAC,CAAC;MACvB,IAAIE,GAAG,KAAKC,SAAS,EAAE;MACvB,MAAMC,IAAI,GAAGL,IAAI,CAACG,GAAG,CAAC;MACtB,IAAI,OAAOE,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,IAAI,EAAE;QAC7CL,IAAI,GAAGK,IAA+B;MACxC,CAAC,MAAM;QACL,MAAMC,OAAgC,GAAG,CAAC,CAAC;QAC3CN,IAAI,CAACG,GAAG,CAAC,GAAGG,OAAO;QACnBN,IAAI,GAAGM,OAAO;MAChB;IACF;IAEA,MAAMC,IAAI,GAAGT,QAAQ,CAACA,QAAQ,CAACI,MAAM,GAAG,CAAC,CAAC;IAC1C,IAAIK,IAAI,KAAKH,SAAS,EAAEJ,IAAI,CAACO,IAAI,CAAC,GAAGZ,KAAK;EAC5C;EAEA,OAAOF,IAAI;AACb","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../../src/components/avatar/Avatar.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAEV,WAAW,EAIZ,MAAM,YAAS,CAAC;AA2DjB,wBAAgB,MAAM,CAAC,EACrB,IAAW,EACX,KAAgB,EAChB,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,UAAoB,EACpB,KAAiB,EACjB,OAAmB,EACnB,KAAK,EACL,GAAG,IAAI,EACR,EAAE,WAAW,+BA4Db"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/avatar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAU,CAAC;AAClC,YAAY,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,UAAU,EACV,aAAa,GACd,MAAM,YAAS,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { ViewProps } from 'react-native';
|
|
3
|
+
import type { TerraImageContentFit } from '#theme/types';
|
|
4
|
+
export type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
5
|
+
export type AvatarShape = 'circle' | 'rounded' | 'square';
|
|
6
|
+
/** Semantic color scheme for the fallback state (initials / placeholder icon). */
|
|
7
|
+
export type AvatarColor = 'default' | 'accent' | 'success' | 'warning' | 'danger';
|
|
8
|
+
/** Visual weight of the fallback background. */
|
|
9
|
+
export type AvatarVariant = 'default' | 'soft';
|
|
10
|
+
export interface AvatarProps extends ViewProps {
|
|
11
|
+
/** Predefined size token. Defaults to `'md'`. */
|
|
12
|
+
size?: AvatarSize;
|
|
13
|
+
/** Corner shape. Defaults to `'circle'`. */
|
|
14
|
+
shape?: AvatarShape;
|
|
15
|
+
/** Remote URL or local asset. When omitted or on load error, the fallback is shown. */
|
|
16
|
+
source?: {
|
|
17
|
+
uri: string;
|
|
18
|
+
} | number;
|
|
19
|
+
/** Used to derive initials when no `source` or `fallback` is provided. */
|
|
20
|
+
name?: string;
|
|
21
|
+
/** Custom fallback content — takes priority over initials and the built-in placeholder. */
|
|
22
|
+
fallback?: ReactNode;
|
|
23
|
+
/** How the image fills its container. Defaults to `'cover'`. */
|
|
24
|
+
contentFit?: TerraImageContentFit;
|
|
25
|
+
/** Fallback color theme. Defaults to `'default'`. */
|
|
26
|
+
color?: AvatarColor;
|
|
27
|
+
/** Visual style variant. Defaults to `'default'`. */
|
|
28
|
+
variant?: AvatarVariant;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/avatar/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC1D,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC1D,kFAAkF;AAClF,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,QAAQ,GACR,SAAS,GACT,SAAS,GACT,QAAQ,CAAC;AACb,gDAAgD;AAChD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,CAAC;AAE/C,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,iDAAiD;IACjD,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,uFAAuF;IACvF,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;IAClC,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,gEAAgE;IAChE,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,qDAAqD;IACrD,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,qDAAqD;IACrD,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type ViewProps } from 'react-native';
|
|
2
|
+
import { type BoxStyleProps } from './utils.js';
|
|
3
|
+
export interface BoxProps extends ViewProps, BoxStyleProps {
|
|
4
|
+
/** Merge Box's style/props onto a single child instead of rendering a View. */
|
|
5
|
+
asChild?: boolean;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Base layout primitive: a `View` styled through theme-token props.
|
|
9
|
+
* The only component family exposing token style-props.
|
|
10
|
+
*/
|
|
11
|
+
export declare const Box: import("react").ForwardRefExoticComponent<BoxProps & import("react").RefAttributes<import("react-native/types_generated/src/private/webapis/dom/nodes/ReactNativeElement").default>>;
|
|
12
|
+
//# sourceMappingURL=Box.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Box.d.ts","sourceRoot":"","sources":["../../../../../src/components/box/Box.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAKpD,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,YAAS,CAAC;AAEjB,MAAM,WAAW,QAAS,SAAQ,SAAS,EAAE,aAAa;IACxD,+EAA+E;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAID;;;GAGG;AACH,eAAO,MAAM,GAAG,sLAmCd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/box/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,QAAQ,EAAE,MAAM,UAAO,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAO,CAAC;AAC5B,YAAY,EACV,KAAK,EACL,gBAAgB,EAChB,aAAa,EACb,OAAO,GACR,MAAM,YAAS,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { type ViewStyle } from 'react-native';
|
|
2
|
+
import type { ColorToken, RadiusKey, SpacingKey, TerraTheme } from '#theme/types';
|
|
3
|
+
export type Align = 'start' | 'center' | 'end' | 'stretch' | 'baseline';
|
|
4
|
+
export type Justify = 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';
|
|
5
|
+
export type BorderWidthInput = number | 'hairline';
|
|
6
|
+
/** Token-driven style props accepted by `Box`. */
|
|
7
|
+
export interface BoxStyleProps {
|
|
8
|
+
p?: SpacingKey;
|
|
9
|
+
px?: SpacingKey;
|
|
10
|
+
py?: SpacingKey;
|
|
11
|
+
pt?: SpacingKey;
|
|
12
|
+
pr?: SpacingKey;
|
|
13
|
+
pb?: SpacingKey;
|
|
14
|
+
pl?: SpacingKey;
|
|
15
|
+
m?: SpacingKey;
|
|
16
|
+
mx?: SpacingKey;
|
|
17
|
+
my?: SpacingKey;
|
|
18
|
+
mt?: SpacingKey;
|
|
19
|
+
mr?: SpacingKey;
|
|
20
|
+
mb?: SpacingKey;
|
|
21
|
+
ml?: SpacingKey;
|
|
22
|
+
gap?: SpacingKey;
|
|
23
|
+
/** Horizontal layout (`flexDirection: 'row'`). Defaults to column. */
|
|
24
|
+
row?: boolean;
|
|
25
|
+
align?: Align;
|
|
26
|
+
justify?: Justify;
|
|
27
|
+
wrap?: boolean;
|
|
28
|
+
flex?: number;
|
|
29
|
+
alignSelf?: Align;
|
|
30
|
+
bg?: ColorToken;
|
|
31
|
+
radius?: RadiusKey;
|
|
32
|
+
borderWidth?: BorderWidthInput;
|
|
33
|
+
borderColor?: ColorToken;
|
|
34
|
+
}
|
|
35
|
+
/** Builds a `ViewStyle` from token-driven props using the active theme. */
|
|
36
|
+
export declare function resolveBoxStyle(props: BoxStyleProps, theme: TerraTheme): ViewStyle;
|
|
37
|
+
/** Keys of {@link BoxStyleProps}, used to split style props from view props. */
|
|
38
|
+
export declare const BOX_STYLE_PROP_KEYS: readonly (keyof BoxStyleProps)[];
|
|
39
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/box/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACX,MAAM,cAAc,CAAC;AAGtB,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,UAAU,CAAC;AACxE,MAAM,MAAM,OAAO,GACf,OAAO,GACP,QAAQ,GACR,KAAK,GACL,SAAS,GACT,QAAQ,GACR,QAAQ,CAAC;AACb,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,UAAU,CAAC;AAKnD,kDAAkD;AAClD,MAAM,WAAW,aAAa;IAE5B,CAAC,CAAC,EAAE,UAAU,CAAC;IACf,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,CAAC,CAAC,EAAE,UAAU,CAAC;IACf,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,GAAG,CAAC,EAAE,UAAU,CAAC;IAEjB,sEAAsE;IACtE,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,KAAK,CAAC;IAElB,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,WAAW,CAAC,EAAE,UAAU,CAAC;CAC1B;AAwBD,2EAA2E;AAC3E,wBAAgB,eAAe,CAC7B,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,UAAU,GAChB,SAAS,CAsEX;AAED,gFAAgF;AAChF,eAAO,MAAM,mBAAmB,EAAE,SAAS,CAAC,MAAM,aAAa,CAAC,EA0B/D,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { PressableProps } from 'react-native';
|
|
3
|
+
import type { ColorToken, TerraIconName } from '#theme/types';
|
|
4
|
+
export type ButtonVariant = 'primary' | 'secondary' | 'neutral' | 'outline' | 'ghost' | 'danger';
|
|
5
|
+
export type ButtonSize = 'sm' | 'md' | 'lg';
|
|
6
|
+
export type ButtonRadius = 'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
|
|
7
|
+
export interface ButtonProps extends Omit<PressableProps, 'style' | 'children' | 'disabled'> {
|
|
8
|
+
variant?: ButtonVariant;
|
|
9
|
+
size?: ButtonSize;
|
|
10
|
+
radius?: ButtonRadius;
|
|
11
|
+
isDisabled?: boolean;
|
|
12
|
+
isLoading?: boolean;
|
|
13
|
+
/** Square (1:1) button — pass a single icon as children. */
|
|
14
|
+
isIconOnly?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Stretch to the parent width in column layouts. Defaults to `true`.
|
|
17
|
+
* Icon-only buttons always stay square regardless of this prop.
|
|
18
|
+
*/
|
|
19
|
+
fullWidth?: boolean;
|
|
20
|
+
/** Remove the button's built-in horizontal padding. */
|
|
21
|
+
compact?: boolean;
|
|
22
|
+
children?: ReactNode;
|
|
23
|
+
}
|
|
24
|
+
interface ButtonContextValue {
|
|
25
|
+
color: string;
|
|
26
|
+
size: ButtonSize;
|
|
27
|
+
}
|
|
28
|
+
export declare const useButtonContext: () => ButtonContextValue;
|
|
29
|
+
declare const ButtonLabel: ({ children }: {
|
|
30
|
+
children: ReactNode;
|
|
31
|
+
}) => import("react").JSX.Element;
|
|
32
|
+
export interface ButtonIconProps {
|
|
33
|
+
name: TerraIconName;
|
|
34
|
+
size?: number;
|
|
35
|
+
color?: ColorToken;
|
|
36
|
+
strokeWidth?: number;
|
|
37
|
+
}
|
|
38
|
+
declare const ButtonIcon: ({ name, size: sizeProp, color: colorProp, strokeWidth, }: ButtonIconProps) => import("react").JSX.Element;
|
|
39
|
+
declare const ButtonRoot: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<import("react-native/types_generated/src/private/webapis/dom/nodes/ReactNativeElement").default>>;
|
|
40
|
+
type ButtonComponent = typeof ButtonRoot & {
|
|
41
|
+
Icon: typeof ButtonIcon;
|
|
42
|
+
Label: typeof ButtonLabel;
|
|
43
|
+
};
|
|
44
|
+
export declare const Button: ButtonComponent;
|
|
45
|
+
export {};
|
|
46
|
+
//# sourceMappingURL=Button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../../src/components/button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAMnD,OAAO,KAAK,EACV,UAAU,EAEV,aAAa,EAGd,MAAM,cAAc,CAAC;AAMtB,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,WAAW,GACX,SAAS,GACT,SAAS,GACT,OAAO,GACP,QAAQ,CAAC;AACb,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC5C,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAEvE,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;IAC/D,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAID,UAAU,kBAAkB;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,CAAC;CAClB;AAOD,eAAO,MAAM,gBAAgB,QAAO,kBACT,CAAC;AA0E5B,QAAA,MAAM,WAAW,GAAI,cAAc;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,gCAYzD,CAAC;AAUF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,QAAA,MAAM,UAAU,GAAI,0DAKjB,eAAe,gCAWjB,CAAC;AAkBF,QAAA,MAAM,UAAU,yLA2Df,CAAC;AAEF,KAAK,eAAe,GAAG,OAAO,UAAU,GAAG;IACzC,IAAI,EAAE,OAAO,UAAU,CAAC;IACxB,KAAK,EAAE,OAAO,WAAW,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,MAAM,EAAiB,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/button/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,eAAe,EACf,WAAW,EACX,YAAY,EACZ,UAAU,EACV,aAAa,GACd,MAAM,aAAU,CAAC;AAClB,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,aAAU,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { LargeTitleHeader } from './variants/LargeTitleHeader/index.js';
|
|
2
|
+
import { TitleHeader } from './variants/TitleHeader/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Composite header namespace.
|
|
5
|
+
*
|
|
6
|
+
* - `Header.Title` — compact title bar ({@link TitleHeader}).
|
|
7
|
+
* - `Header.LargeTitle` — collapsing large-title header ({@link LargeTitleHeader}).
|
|
8
|
+
*
|
|
9
|
+
* Both are also exported standalone (`TitleHeader`, `LargeTitleHeader`).
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```tsx
|
|
13
|
+
* <Screen.Header>
|
|
14
|
+
* <Header.LargeTitle title="Meditate" />
|
|
15
|
+
* </Screen.Header>
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare const Header: {
|
|
19
|
+
Title: typeof TitleHeader;
|
|
20
|
+
LargeTitle: typeof LargeTitleHeader;
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=Header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../../src/components/header/Header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAA6B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAwB,CAAC;AAErD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,MAAM;;;CAGlB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type HeaderDismissAction = 'back' | 'close' | 'none';
|
|
2
|
+
export interface HeaderDismissNavigation {
|
|
3
|
+
canGoBack?: () => boolean;
|
|
4
|
+
goBack?: () => void;
|
|
5
|
+
dismiss?: () => void;
|
|
6
|
+
}
|
|
7
|
+
export interface HeaderDismissProps {
|
|
8
|
+
/** Adds a built-in dismiss button to the leading/trailing header slot. */
|
|
9
|
+
dismissAction?: HeaderDismissAction;
|
|
10
|
+
/** Called before any navigation fallback. */
|
|
11
|
+
onDismiss?: () => void;
|
|
12
|
+
/** Optional navigation object, usually from `useNavigation()`. */
|
|
13
|
+
navigation?: HeaderDismissNavigation;
|
|
14
|
+
}
|
|
15
|
+
export declare function HeaderDismissButton({ dismissAction, navigation, onDismiss, }: HeaderDismissProps): import("react").JSX.Element | null;
|
|
16
|
+
//# sourceMappingURL=header-buttons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header-buttons.d.ts","sourceRoot":"","sources":["../../../../../src/components/header/header-buttons.tsx"],"names":[],"mappings":"AAQA,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAE5D,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,0EAA0E;IAC1E,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,kEAAkE;IAClE,UAAU,CAAC,EAAE,uBAAuB,CAAC;CACtC;AAmBD,wBAAgB,mBAAmB,CAAC,EAClC,aAAsB,EACtB,UAAU,EACV,SAAS,GACV,EAAE,kBAAkB,sCA0CpB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { Header } from './Header.js';
|
|
2
|
+
export { type HeaderDismissAction, HeaderDismissButton, type HeaderDismissNavigation, type HeaderDismissProps, } from './header-buttons.js';
|
|
3
|
+
export type { LargeTitleHeaderProps } from './variants/LargeTitleHeader/index.js';
|
|
4
|
+
export { LargeTitleHeader } from './variants/LargeTitleHeader/index.js';
|
|
5
|
+
export type { TitleHeaderProps } from './variants/TitleHeader/index.js';
|
|
6
|
+
export { TitleHeader } from './variants/TitleHeader/index.js';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/header/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAU,CAAC;AAClC,OAAO,EACL,KAAK,mBAAmB,EACxB,mBAAmB,EACnB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,GACxB,MAAM,qBAAkB,CAAC;AAC1B,YAAY,EAAE,qBAAqB,EAAE,MAAM,sCAA6B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAA6B,CAAC;AAC/D,YAAY,EAAE,gBAAgB,EAAE,MAAM,iCAAwB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAwB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { TitleHeaderProps } from '../TitleHeader/index.js';
|
|
2
|
+
export interface LargeTitleHeaderProps extends TitleHeaderProps {
|
|
3
|
+
/** Optional secondary line shown under the large title. */
|
|
4
|
+
caption?: string;
|
|
5
|
+
/** Hide the large title (keeps the compact bar). Defaults to `false`. */
|
|
6
|
+
isLargeTitleHidden?: boolean;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* iOS-style collapsing large-title header. The large title is injected (via the
|
|
10
|
+
* `Screen`'s portal) into the top of the scroll content, so it scrolls away
|
|
11
|
+
* naturally; the compact bar title cross-fades and slides in over the measured
|
|
12
|
+
* portal height. Native scroll snap (`snapToOffsets`) settles between expanded
|
|
13
|
+
* and collapsed when released mid-collapse.
|
|
14
|
+
*
|
|
15
|
+
* Must be used inside a `Screen` with a `Screen.ScrollView` / `Screen.FlatList`.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```tsx
|
|
19
|
+
* <Screen.Header>
|
|
20
|
+
* <Header.LargeTitle title="Meditate" caption="Good morning" />
|
|
21
|
+
* </Screen.Header>
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare function LargeTitleHeader({ title, caption, LeftComponent, RightComponent, dismissAction, navigation, onDismiss, titleAlignment, isLargeTitleHidden, bg, }: LargeTitleHeaderProps): import("react").JSX.Element;
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/header/variants/LargeTitleHeader/index.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAgB,CAAC;AASvD,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AA4DD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,OAAO,EACP,aAAa,EACb,cAAc,EACd,aAAsB,EACtB,UAAU,EACV,SAAS,EACT,cAAyB,EACzB,kBAA0B,EAC1B,EAAsB,GACvB,EAAE,qBAAqB,+BA4KvB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { ColorToken } from '#theme/types';
|
|
3
|
+
import { type HeaderDismissProps } from '../../header-buttons.js';
|
|
4
|
+
export interface TitleHeaderProps extends HeaderDismissProps {
|
|
5
|
+
title?: string;
|
|
6
|
+
/** Content on the leading side (e.g. a back button). */
|
|
7
|
+
LeftComponent?: ReactNode;
|
|
8
|
+
/** Content on the trailing side (e.g. an action). */
|
|
9
|
+
RightComponent?: ReactNode;
|
|
10
|
+
/** Title placement within the bar. Defaults to `'center'`. */
|
|
11
|
+
titleAlignment?: 'center' | 'left';
|
|
12
|
+
/** Background color token. Defaults to `surface.default`. */
|
|
13
|
+
bg?: ColorToken;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Compact title bar (leading slot · title · trailing slot) with a top safe-area
|
|
17
|
+
* inset. The inline counterpart to `Header.LargeTitle`; use it for screens that
|
|
18
|
+
* don't need a collapsing large title.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```tsx
|
|
22
|
+
* <Screen.Header>
|
|
23
|
+
* <Header.Title title="Stats" RightComponent={<Button>Edit</Button>} />
|
|
24
|
+
* </Screen.Header>
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare function TitleHeader({ title, LeftComponent, RightComponent, dismissAction, navigation, onDismiss, titleAlignment, bg, }: TitleHeaderProps): import("react").JSX.Element;
|
|
28
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/header/variants/TitleHeader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAS,MAAM,OAAO,CAAC;AAY9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI/C,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,yBAAsB,CAAC;AAE9B,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,qDAAqD;IACrD,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,8DAA8D;IAC9D,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACnC,6DAA6D;IAC7D,EAAE,CAAC,EAAE,UAAU,CAAC;CACjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,aAAa,EACb,cAAc,EACd,aAAsB,EACtB,UAAU,EACV,SAAS,EACT,cAAyB,EACzB,EAAsB,GACvB,EAAE,gBAAgB,+BAsElB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type ViewProps } from 'react-native';
|
|
2
|
+
import type { ColorToken, TerraIconName } from '#theme/types';
|
|
3
|
+
export interface IconProps extends Omit<ViewProps, 'children'> {
|
|
4
|
+
/** Semantic or configured icon name from the theme registry. */
|
|
5
|
+
name: TerraIconName;
|
|
6
|
+
/** Icon size in density-independent pixels. Defaults to `20`. */
|
|
7
|
+
size?: number;
|
|
8
|
+
/** Theme color token or raw CSS color. Defaults to `text.default`. */
|
|
9
|
+
color?: ColorToken;
|
|
10
|
+
strokeWidth?: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Renders an icon from the Terra UI icon registry (`configureTerraUI({ icons })`
|
|
14
|
+
* plus built-in semantic names like `navigation.back`).
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```tsx
|
|
18
|
+
* <Icon name="navigation.close" size={24} color="text.default" />
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare const Icon: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<import("react-native/types_generated/src/private/webapis/dom/nodes/ReactNativeElement").default>>;
|
|
22
|
+
//# sourceMappingURL=Icon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../../../src/components/icon/Icon.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAKpD,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG9D,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IAC5D,gEAAgE;IAChE,IAAI,EAAE,aAAa,CAAC;IACpB,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,IAAI,uLA4ChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/icon/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,SAAS,EAAE,MAAM,WAAQ,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAQ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/icon/utils.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAElB,qBAAqB,EACtB,MAAM,cAAc,CAAC;AAsHtB,eAAO,MAAM,UAAU,EAAE,kBAWxB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,CAS1E,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export * from './avatar/index.js';
|
|
2
|
+
export * from './box/index.js';
|
|
3
|
+
export * from './button/index.js';
|
|
4
|
+
export * from './header/index.js';
|
|
5
|
+
export * from './icon/index.js';
|
|
6
|
+
export * from './page-indicator/index.js';
|
|
7
|
+
export * from './portal/index.js';
|
|
8
|
+
export * from './screen/index.js';
|
|
9
|
+
export * from './slot/index.js';
|
|
10
|
+
export * from './spinner/index.js';
|
|
11
|
+
export * from './surface/index.js';
|
|
12
|
+
export * from './text/index.js';
|
|
13
|
+
export * from './toast/index.js';
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAU,CAAC;AACzB,cAAc,gBAAO,CAAC;AACtB,cAAc,mBAAU,CAAC;AACzB,cAAc,mBAAU,CAAC;AACzB,cAAc,iBAAQ,CAAC;AACvB,cAAc,2BAAkB,CAAC;AACjC,cAAc,mBAAU,CAAC;AACzB,cAAc,mBAAU,CAAC;AACzB,cAAc,iBAAQ,CAAC;AACvB,cAAc,oBAAW,CAAC;AAC1B,cAAc,oBAAW,CAAC;AAC1B,cAAc,iBAAQ,CAAC;AACvB,cAAc,kBAAS,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { StyleProp, ViewStyle } from 'react-native';
|
|
2
|
+
import type { SharedValue } from 'react-native-reanimated';
|
|
3
|
+
import type { ColorToken } from '#theme/types';
|
|
4
|
+
export type PageIndicatorVariant = 'pill' | 'dot';
|
|
5
|
+
type PageIndicatorCoreProps = {
|
|
6
|
+
/** Number of pages represented by the indicator. */
|
|
7
|
+
count: number;
|
|
8
|
+
/**
|
|
9
|
+
* Active page index, or a shared value for scroll-linked motion.
|
|
10
|
+
* Index `0` is the first page; fractional values animate between pages.
|
|
11
|
+
*/
|
|
12
|
+
current?: number | SharedValue<number>;
|
|
13
|
+
/** Duration for discrete `current` changes. */
|
|
14
|
+
duration?: number;
|
|
15
|
+
/** Active page color token. */
|
|
16
|
+
activeColor?: ColorToken;
|
|
17
|
+
/** Inactive page color token. */
|
|
18
|
+
inactiveColor?: ColorToken;
|
|
19
|
+
/** Stack dots vertically instead of horizontally. */
|
|
20
|
+
vertical?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Maximum dots visible before the track scrolls and edge-scales.
|
|
23
|
+
* Defaults to `5`. Overflow scrolling is off when `count <= maxVisible`.
|
|
24
|
+
*/
|
|
25
|
+
maxVisible?: number;
|
|
26
|
+
style?: StyleProp<ViewStyle>;
|
|
27
|
+
};
|
|
28
|
+
/** Pill indicator — active page widens into a pill. Default when `variant` is omitted. */
|
|
29
|
+
export type PageIndicatorPillProps = PageIndicatorCoreProps & {
|
|
30
|
+
variant?: 'pill';
|
|
31
|
+
loading?: never;
|
|
32
|
+
loadingColor?: never;
|
|
33
|
+
};
|
|
34
|
+
/** Dot indicator — traveling dot with optional loading ring on the active page. */
|
|
35
|
+
export type PageIndicatorDotProps = PageIndicatorCoreProps & {
|
|
36
|
+
variant: 'dot';
|
|
37
|
+
/** Loading ring color token. */
|
|
38
|
+
loadingColor?: ColorToken;
|
|
39
|
+
/** Renders a ring around the active dot while loading. */
|
|
40
|
+
loading?: boolean;
|
|
41
|
+
};
|
|
42
|
+
export type PageIndicatorProps = PageIndicatorPillProps | PageIndicatorDotProps;
|
|
43
|
+
export declare function PageIndicator(props: PageIndicatorProps): import("react").JSX.Element;
|
|
44
|
+
export type { DotIndicatorProps } from './variants/DotIndicator/index.js';
|
|
45
|
+
export { DotIndicator } from './variants/DotIndicator/index.js';
|
|
46
|
+
export type { PillIndicatorProps } from './variants/PillIndicator/index.js';
|
|
47
|
+
export { PillIndicator } from './variants/PillIndicator/index.js';
|
|
48
|
+
//# sourceMappingURL=PageIndicator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageIndicator.d.ts","sourceRoot":"","sources":["../../../../../src/components/page-indicator/PageIndicator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK/C,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,KAAK,CAAC;AAElD,KAAK,sBAAsB,GAAG;IAC5B,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,iCAAiC;IACjC,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAEF,0FAA0F;AAC1F,MAAM,MAAM,sBAAsB,GAAG,sBAAsB,GAAG;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,YAAY,CAAC,EAAE,KAAK,CAAC;CACtB,CAAC;AAEF,mFAAmF;AACnF,MAAM,MAAM,qBAAqB,GAAG,sBAAsB,GAAG;IAC3D,OAAO,EAAE,KAAK,CAAC;IACf,gCAAgC;IAChC,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,0DAA0D;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GAAG,qBAAqB,CAAC;AAEhF,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,+BAyCtD;AAED,YAAY,EAAE,iBAAiB,EAAE,MAAM,kCAAyB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAyB,CAAC;AACvD,YAAY,EAAE,kBAAkB,EAAE,MAAM,mCAA0B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAA0B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
3
|
+
export type PageIndicatorRootProps = {
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
crossSize?: number;
|
|
6
|
+
overflows: boolean;
|
|
7
|
+
style?: StyleProp<ViewStyle>;
|
|
8
|
+
vertical: boolean;
|
|
9
|
+
viewportMainSize: number;
|
|
10
|
+
};
|
|
11
|
+
/** Non-interactive root with optional overflow clipping. */
|
|
12
|
+
export declare function PageIndicatorRoot({ children, crossSize, overflows, style, vertical, viewportMainSize, }: PageIndicatorRootProps): import("react").JSX.Element;
|
|
13
|
+
//# sourceMappingURL=PageIndicatorRoot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageIndicatorRoot.d.ts","sourceRoot":"","sources":["../../../../../src/components/page-indicator/PageIndicatorRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,KAAK,SAAS,EAAQ,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAIpE,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,4DAA4D;AAC5D,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,SAAS,EACT,SAAS,EACT,KAAK,EACL,QAAQ,EACR,gBAAgB,GACjB,EAAE,sBAAsB,+BAkBxB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ColorToken } from '#theme/types';
|
|
2
|
+
/** Resolved color strings for Reanimated and SVG (worklets cannot use theme tokens). */
|
|
3
|
+
export interface ResolvedColors {
|
|
4
|
+
activeColor: string;
|
|
5
|
+
inactiveColor: string;
|
|
6
|
+
loadingColor: string;
|
|
7
|
+
}
|
|
8
|
+
export type PageIndicatorColorInput = {
|
|
9
|
+
activeColor?: ColorToken;
|
|
10
|
+
inactiveColor?: ColorToken;
|
|
11
|
+
loadingColor?: ColorToken;
|
|
12
|
+
};
|
|
13
|
+
export declare function usePageIndicatorColors(colors?: PageIndicatorColorInput): ResolvedColors;
|
|
14
|
+
//# sourceMappingURL=use-page-indicator-colors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-page-indicator-colors.d.ts","sourceRoot":"","sources":["../../../../../../src/components/page-indicator/hooks/use-page-indicator-colors.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI/C,wFAAwF;AACxF,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,YAAY,CAAC,EAAE,UAAU,CAAC;CAC3B,CAAC;AAQF,wBAAgB,sBAAsB,CACpC,MAAM,GAAE,uBAA4B,GACnC,cAAc,CAmChB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { SharedValue } from 'react-native-reanimated';
|
|
2
|
+
import { type PageIndicatorColorInput } from './use-page-indicator-colors.js';
|
|
3
|
+
type PageIndicatorVariant = 'pill' | 'dot';
|
|
4
|
+
export declare function usePageIndicatorCore(count: number, current: number | SharedValue<number>, variant: PageIndicatorVariant, duration: number, colors: PageIndicatorColorInput): {
|
|
5
|
+
colors: import("./use-page-indicator-colors.js").ResolvedColors;
|
|
6
|
+
pillJump: import("./use-page-indicator-progress.js").PillJumpState;
|
|
7
|
+
progress: SharedValue<number>;
|
|
8
|
+
scrollLinked: boolean;
|
|
9
|
+
};
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=use-page-indicator-core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-page-indicator-core.d.ts","sourceRoot":"","sources":["../../../../../../src/components/page-indicator/hooks/use-page-indicator-core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,gCAA6B,CAAC;AAGrC,KAAK,oBAAoB,GAAG,MAAM,GAAG,KAAK,CAAC;AAE3C,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,EACrC,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,uBAAuB;;;;;EAkBhC"}
|