@thewhileloop/whileui 1.2.2 → 2.0.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 +248 -85
- package/dist/blocks/chat/chat.d.ts +3 -4
- package/dist/blocks/chat/chat.js +29 -17
- package/dist/blocks/chat/index.d.ts +0 -1
- package/dist/blocks/chat/index.js +0 -1
- package/dist/blocks/commerce/checkout-summary.d.ts +1 -2
- package/dist/blocks/commerce/checkout-summary.js +16 -4
- package/dist/blocks/commerce/feature-gate.d.ts +1 -2
- package/dist/blocks/commerce/feature-gate.js +14 -4
- package/dist/blocks/commerce/index.d.ts +0 -1
- package/dist/blocks/commerce/index.js +0 -1
- package/dist/blocks/commerce/metric-card.d.ts +3 -4
- package/dist/blocks/commerce/metric-card.js +7 -3
- package/dist/blocks/commerce/plan-toggle.d.ts +1 -2
- package/dist/blocks/commerce/plan-toggle.js +11 -9
- package/dist/blocks/commerce/pricing-card.d.ts +1 -2
- package/dist/blocks/commerce/pricing-card.js +23 -6
- package/dist/blocks/commerce/product-card.d.ts +1 -2
- package/dist/blocks/commerce/product-card.js +23 -9
- package/dist/blocks/commerce/subscription-card.d.ts +1 -2
- package/dist/blocks/commerce/subscription-card.js +6 -3
- package/dist/blocks/commerce/upgrade-banner.d.ts +1 -2
- package/dist/blocks/commerce/upgrade-banner.js +13 -3
- package/dist/blocks/commerce/usage-bar.d.ts +1 -2
- package/dist/blocks/commerce/usage-bar.js +4 -2
- package/dist/blocks/datepicker/date-range-picker-modal.d.ts +2 -3
- package/dist/blocks/datepicker/date-range-picker-modal.js +33 -7
- package/dist/blocks/datepicker/datepicker-inline.d.ts +1 -2
- package/dist/blocks/datepicker/datepicker-inline.js +9 -3
- package/dist/blocks/datepicker/datepicker-modal.d.ts +2 -3
- package/dist/blocks/datepicker/datepicker-modal.js +49 -17
- package/dist/blocks/datepicker/index.d.ts +0 -1
- package/dist/blocks/datepicker/index.js +0 -1
- package/dist/blocks/datepicker/use-calendar-theme.d.ts +0 -1
- package/dist/blocks/datepicker/use-calendar-theme.js +0 -1
- package/dist/blocks/layout/action-bar.d.ts +1 -2
- package/dist/blocks/layout/action-bar.js +0 -1
- package/dist/blocks/layout/app-shell.d.ts +1 -2
- package/dist/blocks/layout/app-shell.js +11 -5
- package/dist/blocks/layout/confirm-action-sheet.d.ts +1 -2
- package/dist/blocks/layout/confirm-action-sheet.js +18 -6
- package/dist/blocks/layout/content-skeleton.d.ts +1 -2
- package/dist/blocks/layout/content-skeleton.js +22 -9
- package/dist/blocks/layout/docked-input.d.ts +11 -0
- package/dist/blocks/layout/docked-input.js +27 -0
- package/dist/blocks/layout/empty-state.d.ts +1 -2
- package/dist/blocks/layout/empty-state.js +10 -5
- package/dist/blocks/layout/error-boundary.d.ts +1 -2
- package/dist/blocks/layout/error-boundary.js +0 -2
- package/dist/blocks/layout/error-state.d.ts +1 -2
- package/dist/blocks/layout/error-state.js +0 -2
- package/dist/blocks/layout/form-modal-screen.d.ts +1 -2
- package/dist/blocks/layout/form-modal-screen.js +24 -21
- package/dist/blocks/layout/index.d.ts +2 -2
- package/dist/blocks/layout/index.js +2 -2
- package/dist/blocks/layout/keyboard-aware-screen.d.ts +14 -0
- package/dist/blocks/layout/keyboard-aware-screen.js +12 -0
- package/dist/blocks/layout/loading-screen.d.ts +1 -2
- package/dist/blocks/layout/loading-screen.js +6 -8
- package/dist/blocks/layout/page-skeleton.d.ts +1 -2
- package/dist/blocks/layout/page-skeleton.js +38 -20
- package/dist/blocks/layout/pull-to-refresh-scroll-view.d.ts +8 -4
- package/dist/blocks/layout/pull-to-refresh-scroll-view.js +17 -4
- package/dist/blocks/layout/screen-skeleton.d.ts +1 -2
- package/dist/blocks/layout/screen-skeleton.js +0 -1
- package/dist/blocks/layout/sheet.d.ts +9 -9
- package/dist/blocks/layout/sheet.js +51 -21
- package/dist/blocks/layout/smart-input.d.ts +6 -1
- package/dist/blocks/layout/smart-input.js +121 -9
- package/dist/blocks/lists/index.d.ts +0 -2
- package/dist/blocks/lists/index.js +0 -2
- package/dist/blocks/lists/list-item.d.ts +1 -2
- package/dist/blocks/lists/list-item.js +20 -6
- package/dist/blocks/lists/notification-item.d.ts +1 -2
- package/dist/blocks/lists/notification-item.js +19 -6
- package/dist/blocks/lists/timeline-feed.d.ts +1 -2
- package/dist/blocks/lists/timeline-feed.js +4 -2
- package/dist/blocks/media/index.d.ts +0 -1
- package/dist/blocks/media/index.js +0 -1
- package/dist/blocks/media/smart-image.d.ts +0 -1
- package/dist/blocks/media/smart-image.js +24 -8
- package/dist/blocks/navigation/bottom-nav.d.ts +1 -2
- package/dist/blocks/navigation/bottom-nav.js +7 -4
- package/dist/blocks/navigation/drawer-menu.d.ts +1 -2
- package/dist/blocks/navigation/drawer-menu.js +52 -15
- package/dist/blocks/navigation/floating-bottom-nav.d.ts +1 -2
- package/dist/blocks/navigation/floating-bottom-nav.js +14 -5
- package/dist/blocks/navigation/header.d.ts +2 -3
- package/dist/blocks/navigation/header.js +13 -5
- package/dist/blocks/navigation/index.d.ts +0 -2
- package/dist/blocks/navigation/index.js +0 -2
- package/dist/blocks/navigation/tab-bar.d.ts +1 -2
- package/dist/blocks/navigation/tab-bar.js +22 -10
- package/dist/blocks/splash/index.d.ts +0 -1
- package/dist/blocks/splash/index.js +0 -1
- package/dist/blocks/splash/splash-screen.d.ts +3 -4
- package/dist/blocks/splash/splash-screen.js +15 -11
- package/dist/components/accordion/accordion.d.ts +4 -5
- package/dist/components/accordion/accordion.js +6 -7
- package/dist/components/accordion/index.d.ts +0 -1
- package/dist/components/accordion/index.js +0 -1
- package/dist/components/alert/alert.d.ts +2 -3
- package/dist/components/alert/alert.js +19 -8
- package/dist/components/alert/index.d.ts +0 -1
- package/dist/components/alert/index.js +0 -1
- package/dist/components/alert-dialog/alert-dialog.d.ts +16 -12
- package/dist/components/alert-dialog/alert-dialog.js +184 -49
- package/dist/components/alert-dialog/index.d.ts +0 -1
- package/dist/components/alert-dialog/index.js +0 -1
- package/dist/components/aspect-ratio/aspect-ratio.d.ts +1 -2
- package/dist/components/aspect-ratio/aspect-ratio.js +0 -3
- package/dist/components/aspect-ratio/index.d.ts +0 -1
- package/dist/components/aspect-ratio/index.js +0 -1
- package/dist/components/avatar/avatar.d.ts +2 -3
- package/dist/components/avatar/avatar.js +7 -8
- package/dist/components/avatar/index.d.ts +0 -1
- package/dist/components/avatar/index.js +0 -1
- package/dist/components/badge/badge.d.ts +6 -7
- package/dist/components/badge/badge.js +21 -9
- package/dist/components/badge/index.d.ts +0 -1
- package/dist/components/badge/index.js +0 -1
- package/dist/components/button/button.d.ts +11 -10
- package/dist/components/button/button.js +62 -33
- package/dist/components/button/index.d.ts +0 -1
- package/dist/components/button/index.js +0 -1
- package/dist/components/card/card.d.ts +5 -3
- package/dist/components/card/card.js +28 -14
- package/dist/components/card/index.d.ts +0 -1
- package/dist/components/card/index.js +0 -1
- package/dist/components/checkbox/checkbox.d.ts +1 -2
- package/dist/components/checkbox/checkbox.js +15 -2
- package/dist/components/checkbox/index.d.ts +0 -1
- package/dist/components/checkbox/index.js +0 -1
- package/dist/components/collapsible/collapsible.d.ts +4 -4
- package/dist/components/collapsible/collapsible.js +8 -11
- package/dist/components/collapsible/index.d.ts +0 -1
- package/dist/components/collapsible/index.js +0 -1
- package/dist/components/container/container.d.ts +146 -0
- package/dist/components/container/container.js +43 -0
- package/dist/components/container/index.d.ts +1 -0
- package/dist/components/container/index.js +1 -0
- package/dist/components/context-menu/context-menu.d.ts +6 -7
- package/dist/components/context-menu/context-menu.js +42 -12
- package/dist/components/context-menu/index.d.ts +0 -1
- package/dist/components/context-menu/index.js +0 -1
- package/dist/components/data-row/data-row.d.ts +0 -1
- package/dist/components/data-row/data-row.js +35 -17
- package/dist/components/data-row/index.d.ts +0 -1
- package/dist/components/data-row/index.js +0 -1
- package/dist/components/dialog/dialog.d.ts +8 -9
- package/dist/components/dialog/dialog.js +48 -24
- package/dist/components/dialog/index.d.ts +0 -1
- package/dist/components/dialog/index.js +0 -1
- package/dist/components/dropdown-menu/dropdown-menu.d.ts +6 -7
- package/dist/components/dropdown-menu/dropdown-menu.js +45 -11
- package/dist/components/dropdown-menu/index.d.ts +0 -1
- package/dist/components/dropdown-menu/index.js +0 -1
- package/dist/components/form-field/form-field.d.ts +0 -1
- package/dist/components/form-field/form-field.js +26 -13
- package/dist/components/form-field/index.d.ts +0 -1
- package/dist/components/form-field/index.js +0 -1
- package/dist/components/hover-card/hover-card.d.ts +1 -2
- package/dist/components/hover-card/hover-card.js +12 -3
- package/dist/components/hover-card/index.d.ts +0 -1
- package/dist/components/hover-card/index.js +0 -1
- package/dist/components/input/index.d.ts +0 -1
- package/dist/components/input/index.js +0 -1
- package/dist/components/input/input.d.ts +2 -3
- package/dist/components/input/input.js +18 -3
- package/dist/components/label/index.d.ts +0 -1
- package/dist/components/label/index.js +0 -1
- package/dist/components/label/label.d.ts +0 -1
- package/dist/components/label/label.js +0 -1
- package/dist/components/labeled-field/index.d.ts +0 -1
- package/dist/components/labeled-field/index.js +0 -1
- package/dist/components/labeled-field/labeled-field.d.ts +1 -2
- package/dist/components/labeled-field/labeled-field.js +10 -2
- package/dist/components/menubar/index.d.ts +0 -1
- package/dist/components/menubar/index.js +0 -1
- package/dist/components/menubar/menubar.d.ts +7 -8
- package/dist/components/menubar/menubar.js +48 -15
- package/dist/components/numeric-input/index.d.ts +0 -1
- package/dist/components/numeric-input/index.js +0 -1
- package/dist/components/numeric-input/numeric-input.d.ts +6 -5
- package/dist/components/numeric-input/numeric-input.js +55 -26
- package/dist/components/otp-input/index.d.ts +0 -1
- package/dist/components/otp-input/index.js +0 -1
- package/dist/components/otp-input/otp-input.d.ts +3 -4
- package/dist/components/otp-input/otp-input.js +13 -9
- package/dist/components/popover/index.d.ts +0 -1
- package/dist/components/popover/index.js +0 -1
- package/dist/components/popover/popover.d.ts +4 -2
- package/dist/components/popover/popover.js +21 -4
- package/dist/components/pressable/index.d.ts +0 -1
- package/dist/components/pressable/index.js +0 -1
- package/dist/components/pressable/pressable.d.ts +7 -1
- package/dist/components/pressable/pressable.js +47 -4
- package/dist/components/progress/index.d.ts +0 -1
- package/dist/components/progress/index.js +0 -1
- package/dist/components/progress/progress.d.ts +0 -1
- package/dist/components/progress/progress.js +5 -2
- package/dist/components/radio-group/index.d.ts +0 -1
- package/dist/components/radio-group/index.js +0 -1
- package/dist/components/radio-group/radio-group.d.ts +2 -3
- package/dist/components/radio-group/radio-group.js +16 -7
- package/dist/components/row/index.d.ts +0 -1
- package/dist/components/row/index.js +0 -1
- package/dist/components/row/row.d.ts +0 -1
- package/dist/components/row/row.js +0 -1
- package/dist/components/segmented-control/index.d.ts +0 -1
- package/dist/components/segmented-control/index.js +0 -1
- package/dist/components/segmented-control/segmented-control.d.ts +7 -8
- package/dist/components/segmented-control/segmented-control.js +57 -24
- package/dist/components/select/index.d.ts +0 -1
- package/dist/components/select/index.js +0 -1
- package/dist/components/select/select.d.ts +15 -7
- package/dist/components/select/select.js +53 -11
- package/dist/components/separator/index.d.ts +0 -1
- package/dist/components/separator/index.js +0 -1
- package/dist/components/separator/separator.d.ts +0 -1
- package/dist/components/separator/separator.js +0 -1
- package/dist/components/skeleton/index.d.ts +0 -1
- package/dist/components/skeleton/index.js +0 -1
- package/dist/components/skeleton/skeleton.d.ts +3 -4
- package/dist/components/skeleton/skeleton.js +7 -8
- package/dist/components/spinner/index.d.ts +0 -1
- package/dist/components/spinner/index.js +0 -1
- package/dist/components/spinner/spinner.d.ts +1 -2
- package/dist/components/spinner/spinner.js +4 -2
- package/dist/components/stack/index.d.ts +0 -1
- package/dist/components/stack/index.js +0 -1
- package/dist/components/stack/stack.d.ts +0 -1
- package/dist/components/stack/stack.js +0 -1
- package/dist/components/switch/index.d.ts +0 -1
- package/dist/components/switch/index.js +0 -1
- package/dist/components/switch/switch.d.ts +1 -2
- package/dist/components/switch/switch.js +21 -2
- package/dist/components/tabs/index.d.ts +0 -1
- package/dist/components/tabs/index.js +0 -1
- package/dist/components/tabs/tabs.d.ts +6 -7
- package/dist/components/tabs/tabs.js +42 -12
- package/dist/components/text/index.d.ts +0 -1
- package/dist/components/text/index.js +0 -1
- package/dist/components/text/text.d.ts +0 -1
- package/dist/components/text/text.js +0 -1
- package/dist/components/textarea/index.d.ts +0 -1
- package/dist/components/textarea/index.js +0 -1
- package/dist/components/textarea/textarea.d.ts +2 -3
- package/dist/components/textarea/textarea.js +16 -8
- package/dist/components/toast/index.d.ts +0 -1
- package/dist/components/toast/index.js +0 -1
- package/dist/components/toast/toast.d.ts +5 -6
- package/dist/components/toast/toast.js +40 -24
- package/dist/components/toggle/index.d.ts +0 -1
- package/dist/components/toggle/index.js +0 -1
- package/dist/components/toggle/toggle.d.ts +6 -7
- package/dist/components/toggle/toggle.js +32 -16
- package/dist/components/toggle-group/index.d.ts +0 -1
- package/dist/components/toggle-group/index.js +0 -1
- package/dist/components/toggle-group/toggle-group.d.ts +7 -8
- package/dist/components/toggle-group/toggle-group.js +36 -19
- package/dist/components/tooltip/index.d.ts +0 -1
- package/dist/components/tooltip/index.js +0 -1
- package/dist/components/tooltip/tooltip.d.ts +1 -2
- package/dist/components/tooltip/tooltip.js +20 -3
- package/dist/components/view/index.d.ts +0 -1
- package/dist/components/view/index.js +0 -1
- package/dist/components/view/view.d.ts +0 -1
- package/dist/components/view/view.js +0 -1
- package/dist/index.d.ts +9 -3
- package/dist/index.js +9 -7
- package/dist/lib/cn.d.ts +0 -1
- package/dist/lib/cn.js +0 -1
- package/dist/lib/compose-event-handlers.d.ts +15 -0
- package/dist/lib/compose-event-handlers.js +20 -0
- package/dist/lib/focus-ring.d.ts +25 -0
- package/dist/lib/focus-ring.js +25 -0
- package/dist/lib/font-context.d.ts +1 -1
- package/dist/lib/font-context.js +6 -4
- package/dist/lib/frosted-surface.d.ts +0 -1
- package/dist/lib/frosted-surface.js +31 -6
- package/dist/lib/interaction-tokens.d.ts +12 -1
- package/dist/lib/interaction-tokens.js +27 -13
- package/dist/lib/motion-policy.d.ts +25 -0
- package/dist/lib/motion-policy.js +97 -0
- package/dist/lib/overlay-insets.d.ts +17 -0
- package/dist/lib/overlay-insets.js +23 -0
- package/dist/lib/portal.d.ts +0 -1
- package/dist/lib/portal.js +0 -1
- package/dist/lib/react-native-classname.d.ts +0 -1
- package/dist/lib/react-native-classname.js +0 -1
- package/dist/lib/recipes.d.ts +30 -0
- package/dist/lib/recipes.js +138 -0
- package/dist/lib/tap-only.d.ts +11 -0
- package/dist/lib/tap-only.js +24 -0
- package/dist/lib/theme-bridge.d.ts +0 -1
- package/dist/lib/theme-bridge.js +11 -3
- package/dist/lib/theme-colors.d.ts +2 -46
- package/dist/lib/theme-colors.js +25 -226
- package/dist/lib/theme-contract.d.ts +78 -0
- package/dist/lib/theme-contract.js +481 -0
- package/dist/lib/theme-derive.d.ts +4 -0
- package/dist/lib/theme-derive.js +80 -0
- package/dist/lib/theme-presets.d.ts +31 -0
- package/dist/lib/theme-presets.js +221 -0
- package/dist/lib/tv.d.ts +0 -1
- package/dist/lib/tv.js +0 -1
- package/dist/lib/visual-token-contract.d.ts +110 -0
- package/dist/lib/visual-token-contract.js +583 -0
- package/dist/lib/visual-tokens.d.ts +2 -38
- package/dist/lib/visual-tokens.js +22 -75
- package/dist/tokens.d.ts +4 -0
- package/dist/tokens.js +6 -0
- package/dist/vite.d.ts +0 -1
- package/dist/vite.js +0 -1
- package/package.json +30 -20
- package/dist/blocks/auth/forgot-password-form.d.ts +0 -10
- package/dist/blocks/auth/forgot-password-form.d.ts.map +0 -1
- package/dist/blocks/auth/forgot-password-form.js +0 -17
- package/dist/blocks/auth/forgot-password-form.js.map +0 -1
- package/dist/blocks/auth/index.d.ts +0 -8
- package/dist/blocks/auth/index.d.ts.map +0 -1
- package/dist/blocks/auth/index.js +0 -8
- package/dist/blocks/auth/index.js.map +0 -1
- package/dist/blocks/auth/reset-password-form.d.ts +0 -9
- package/dist/blocks/auth/reset-password-form.d.ts.map +0 -1
- package/dist/blocks/auth/reset-password-form.js +0 -16
- package/dist/blocks/auth/reset-password-form.js.map +0 -1
- package/dist/blocks/auth/sign-in-form.d.ts +0 -17
- package/dist/blocks/auth/sign-in-form.d.ts.map +0 -1
- package/dist/blocks/auth/sign-in-form.js +0 -19
- package/dist/blocks/auth/sign-in-form.js.map +0 -1
- package/dist/blocks/auth/sign-up-form.d.ts +0 -17
- package/dist/blocks/auth/sign-up-form.d.ts.map +0 -1
- package/dist/blocks/auth/sign-up-form.js +0 -21
- package/dist/blocks/auth/sign-up-form.js.map +0 -1
- package/dist/blocks/auth/social-connections.d.ts +0 -10
- package/dist/blocks/auth/social-connections.d.ts.map +0 -1
- package/dist/blocks/auth/social-connections.js +0 -8
- package/dist/blocks/auth/social-connections.js.map +0 -1
- package/dist/blocks/auth/user-menu.d.ts +0 -12
- package/dist/blocks/auth/user-menu.d.ts.map +0 -1
- package/dist/blocks/auth/user-menu.js +0 -10
- package/dist/blocks/auth/user-menu.js.map +0 -1
- package/dist/blocks/auth/verify-email-form.d.ts +0 -10
- package/dist/blocks/auth/verify-email-form.d.ts.map +0 -1
- package/dist/blocks/auth/verify-email-form.js +0 -17
- package/dist/blocks/auth/verify-email-form.js.map +0 -1
- package/dist/blocks/chat/chat.d.ts.map +0 -1
- package/dist/blocks/chat/chat.js.map +0 -1
- package/dist/blocks/chat/index.d.ts.map +0 -1
- package/dist/blocks/chat/index.js.map +0 -1
- package/dist/blocks/commerce/checkout-summary.d.ts.map +0 -1
- package/dist/blocks/commerce/checkout-summary.js.map +0 -1
- package/dist/blocks/commerce/feature-gate.d.ts.map +0 -1
- package/dist/blocks/commerce/feature-gate.js.map +0 -1
- package/dist/blocks/commerce/index.d.ts.map +0 -1
- package/dist/blocks/commerce/index.js.map +0 -1
- package/dist/blocks/commerce/metric-card.d.ts.map +0 -1
- package/dist/blocks/commerce/metric-card.js.map +0 -1
- package/dist/blocks/commerce/plan-toggle.d.ts.map +0 -1
- package/dist/blocks/commerce/plan-toggle.js.map +0 -1
- package/dist/blocks/commerce/pricing-card.d.ts.map +0 -1
- package/dist/blocks/commerce/pricing-card.js.map +0 -1
- package/dist/blocks/commerce/product-card.d.ts.map +0 -1
- package/dist/blocks/commerce/product-card.js.map +0 -1
- package/dist/blocks/commerce/subscription-card.d.ts.map +0 -1
- package/dist/blocks/commerce/subscription-card.js.map +0 -1
- package/dist/blocks/commerce/upgrade-banner.d.ts.map +0 -1
- package/dist/blocks/commerce/upgrade-banner.js.map +0 -1
- package/dist/blocks/commerce/usage-bar.d.ts.map +0 -1
- package/dist/blocks/commerce/usage-bar.js.map +0 -1
- package/dist/blocks/datepicker/date-range-picker-modal.d.ts.map +0 -1
- package/dist/blocks/datepicker/date-range-picker-modal.js.map +0 -1
- package/dist/blocks/datepicker/datepicker-inline.d.ts.map +0 -1
- package/dist/blocks/datepicker/datepicker-inline.js.map +0 -1
- package/dist/blocks/datepicker/datepicker-modal.d.ts.map +0 -1
- package/dist/blocks/datepicker/datepicker-modal.js.map +0 -1
- package/dist/blocks/datepicker/index.d.ts.map +0 -1
- package/dist/blocks/datepicker/index.js.map +0 -1
- package/dist/blocks/datepicker/use-calendar-theme.d.ts.map +0 -1
- package/dist/blocks/datepicker/use-calendar-theme.js.map +0 -1
- package/dist/blocks/layout/action-bar.d.ts.map +0 -1
- package/dist/blocks/layout/action-bar.js.map +0 -1
- package/dist/blocks/layout/app-shell.d.ts.map +0 -1
- package/dist/blocks/layout/app-shell.js.map +0 -1
- package/dist/blocks/layout/confirm-action-sheet.d.ts.map +0 -1
- package/dist/blocks/layout/confirm-action-sheet.js.map +0 -1
- package/dist/blocks/layout/content-skeleton.d.ts.map +0 -1
- package/dist/blocks/layout/content-skeleton.js.map +0 -1
- package/dist/blocks/layout/empty-state.d.ts.map +0 -1
- package/dist/blocks/layout/empty-state.js.map +0 -1
- package/dist/blocks/layout/error-boundary.d.ts.map +0 -1
- package/dist/blocks/layout/error-boundary.js.map +0 -1
- package/dist/blocks/layout/error-state.d.ts.map +0 -1
- package/dist/blocks/layout/error-state.js.map +0 -1
- package/dist/blocks/layout/form-modal-screen.d.ts.map +0 -1
- package/dist/blocks/layout/form-modal-screen.js.map +0 -1
- package/dist/blocks/layout/index.d.ts.map +0 -1
- package/dist/blocks/layout/index.js.map +0 -1
- package/dist/blocks/layout/loading-screen.d.ts.map +0 -1
- package/dist/blocks/layout/loading-screen.js.map +0 -1
- package/dist/blocks/layout/onboarding-screen.d.ts +0 -19
- package/dist/blocks/layout/onboarding-screen.d.ts.map +0 -1
- package/dist/blocks/layout/onboarding-screen.js +0 -35
- package/dist/blocks/layout/onboarding-screen.js.map +0 -1
- package/dist/blocks/layout/page-skeleton.d.ts.map +0 -1
- package/dist/blocks/layout/page-skeleton.js.map +0 -1
- package/dist/blocks/layout/pull-to-refresh-scroll-view.d.ts.map +0 -1
- package/dist/blocks/layout/pull-to-refresh-scroll-view.js.map +0 -1
- package/dist/blocks/layout/screen-skeleton.d.ts.map +0 -1
- package/dist/blocks/layout/screen-skeleton.js.map +0 -1
- package/dist/blocks/layout/sheet.d.ts.map +0 -1
- package/dist/blocks/layout/sheet.js.map +0 -1
- package/dist/blocks/layout/smart-image.d.ts +0 -9
- package/dist/blocks/layout/smart-image.d.ts.map +0 -1
- package/dist/blocks/layout/smart-image.js +0 -23
- package/dist/blocks/layout/smart-image.js.map +0 -1
- package/dist/blocks/layout/smart-input.d.ts.map +0 -1
- package/dist/blocks/layout/smart-input.js.map +0 -1
- package/dist/blocks/lists/index.d.ts.map +0 -1
- package/dist/blocks/lists/index.js.map +0 -1
- package/dist/blocks/lists/list-item.d.ts.map +0 -1
- package/dist/blocks/lists/list-item.js.map +0 -1
- package/dist/blocks/lists/notification-item.d.ts.map +0 -1
- package/dist/blocks/lists/notification-item.js.map +0 -1
- package/dist/blocks/lists/swipeable-item.d.ts +0 -17
- package/dist/blocks/lists/swipeable-item.d.ts.map +0 -1
- package/dist/blocks/lists/swipeable-item.js +0 -65
- package/dist/blocks/lists/swipeable-item.js.map +0 -1
- package/dist/blocks/lists/timeline-feed.d.ts.map +0 -1
- package/dist/blocks/lists/timeline-feed.js.map +0 -1
- package/dist/blocks/media/index.d.ts.map +0 -1
- package/dist/blocks/media/index.js.map +0 -1
- package/dist/blocks/media/smart-image.d.ts.map +0 -1
- package/dist/blocks/media/smart-image.js.map +0 -1
- package/dist/blocks/navigation/bottom-nav.d.ts.map +0 -1
- package/dist/blocks/navigation/bottom-nav.js.map +0 -1
- package/dist/blocks/navigation/drawer-menu.d.ts.map +0 -1
- package/dist/blocks/navigation/drawer-menu.js.map +0 -1
- package/dist/blocks/navigation/floating-bottom-nav.d.ts.map +0 -1
- package/dist/blocks/navigation/floating-bottom-nav.js.map +0 -1
- package/dist/blocks/navigation/header.d.ts.map +0 -1
- package/dist/blocks/navigation/header.js.map +0 -1
- package/dist/blocks/navigation/index.d.ts.map +0 -1
- package/dist/blocks/navigation/index.js.map +0 -1
- package/dist/blocks/navigation/navigation-sidebar.d.ts +0 -25
- package/dist/blocks/navigation/navigation-sidebar.d.ts.map +0 -1
- package/dist/blocks/navigation/navigation-sidebar.js +0 -18
- package/dist/blocks/navigation/navigation-sidebar.js.map +0 -1
- package/dist/blocks/navigation/tab-bar.d.ts.map +0 -1
- package/dist/blocks/navigation/tab-bar.js.map +0 -1
- package/dist/blocks/profile/account-card.d.ts +0 -11
- package/dist/blocks/profile/account-card.d.ts.map +0 -1
- package/dist/blocks/profile/account-card.js +0 -10
- package/dist/blocks/profile/account-card.js.map +0 -1
- package/dist/blocks/profile/index.d.ts +0 -5
- package/dist/blocks/profile/index.d.ts.map +0 -1
- package/dist/blocks/profile/index.js +0 -5
- package/dist/blocks/profile/index.js.map +0 -1
- package/dist/blocks/profile/profile-header.d.ts +0 -27
- package/dist/blocks/profile/profile-header.d.ts.map +0 -1
- package/dist/blocks/profile/profile-header.js +0 -11
- package/dist/blocks/profile/profile-header.js.map +0 -1
- package/dist/blocks/profile/settings-item.d.ts +0 -15
- package/dist/blocks/profile/settings-item.d.ts.map +0 -1
- package/dist/blocks/profile/settings-item.js +0 -11
- package/dist/blocks/profile/settings-item.js.map +0 -1
- package/dist/blocks/profile/settings-section.d.ts +0 -7
- package/dist/blocks/profile/settings-section.d.ts.map +0 -1
- package/dist/blocks/profile/settings-section.js +0 -9
- package/dist/blocks/profile/settings-section.js.map +0 -1
- package/dist/blocks/splash/index.d.ts.map +0 -1
- package/dist/blocks/splash/index.js.map +0 -1
- package/dist/blocks/splash/splash-screen.d.ts.map +0 -1
- package/dist/blocks/splash/splash-screen.js.map +0 -1
- package/dist/components/accordion/accordion.d.ts.map +0 -1
- package/dist/components/accordion/accordion.js.map +0 -1
- package/dist/components/accordion/index.d.ts.map +0 -1
- package/dist/components/accordion/index.js.map +0 -1
- package/dist/components/alert/alert.d.ts.map +0 -1
- package/dist/components/alert/alert.js.map +0 -1
- package/dist/components/alert/index.d.ts.map +0 -1
- package/dist/components/alert/index.js.map +0 -1
- package/dist/components/alert-dialog/alert-dialog.d.ts.map +0 -1
- package/dist/components/alert-dialog/alert-dialog.js.map +0 -1
- package/dist/components/alert-dialog/index.d.ts.map +0 -1
- package/dist/components/alert-dialog/index.js.map +0 -1
- package/dist/components/aspect-ratio/aspect-ratio.d.ts.map +0 -1
- package/dist/components/aspect-ratio/aspect-ratio.js.map +0 -1
- package/dist/components/aspect-ratio/index.d.ts.map +0 -1
- package/dist/components/aspect-ratio/index.js.map +0 -1
- package/dist/components/avatar/avatar.d.ts.map +0 -1
- package/dist/components/avatar/avatar.js.map +0 -1
- package/dist/components/avatar/index.d.ts.map +0 -1
- package/dist/components/avatar/index.js.map +0 -1
- package/dist/components/badge/badge.d.ts.map +0 -1
- package/dist/components/badge/badge.js.map +0 -1
- package/dist/components/badge/index.d.ts.map +0 -1
- package/dist/components/badge/index.js.map +0 -1
- package/dist/components/box/box.d.ts +0 -143
- package/dist/components/box/box.d.ts.map +0 -1
- package/dist/components/box/box.js +0 -38
- package/dist/components/box/box.js.map +0 -1
- package/dist/components/box/index.d.ts +0 -2
- package/dist/components/box/index.d.ts.map +0 -1
- package/dist/components/box/index.js +0 -2
- package/dist/components/box/index.js.map +0 -1
- package/dist/components/button/button.d.ts.map +0 -1
- package/dist/components/button/button.js.map +0 -1
- package/dist/components/button/index.d.ts.map +0 -1
- package/dist/components/button/index.js.map +0 -1
- package/dist/components/card/card.d.ts.map +0 -1
- package/dist/components/card/card.js.map +0 -1
- package/dist/components/card/index.d.ts.map +0 -1
- package/dist/components/card/index.js.map +0 -1
- package/dist/components/checkbox/checkbox.d.ts.map +0 -1
- package/dist/components/checkbox/checkbox.js.map +0 -1
- package/dist/components/checkbox/index.d.ts.map +0 -1
- package/dist/components/checkbox/index.js.map +0 -1
- package/dist/components/collapsible/collapsible.d.ts.map +0 -1
- package/dist/components/collapsible/collapsible.js.map +0 -1
- package/dist/components/collapsible/index.d.ts.map +0 -1
- package/dist/components/collapsible/index.js.map +0 -1
- package/dist/components/context-menu/context-menu.d.ts.map +0 -1
- package/dist/components/context-menu/context-menu.js.map +0 -1
- package/dist/components/context-menu/index.d.ts.map +0 -1
- package/dist/components/context-menu/index.js.map +0 -1
- package/dist/components/data-row/data-row.d.ts.map +0 -1
- package/dist/components/data-row/data-row.js.map +0 -1
- package/dist/components/data-row/index.d.ts.map +0 -1
- package/dist/components/data-row/index.js.map +0 -1
- package/dist/components/dialog/dialog.d.ts.map +0 -1
- package/dist/components/dialog/dialog.js.map +0 -1
- package/dist/components/dialog/index.d.ts.map +0 -1
- package/dist/components/dialog/index.js.map +0 -1
- package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +0 -1
- package/dist/components/dropdown-menu/dropdown-menu.js.map +0 -1
- package/dist/components/dropdown-menu/index.d.ts.map +0 -1
- package/dist/components/dropdown-menu/index.js.map +0 -1
- package/dist/components/form-field/form-field.d.ts.map +0 -1
- package/dist/components/form-field/form-field.js.map +0 -1
- package/dist/components/form-field/index.d.ts.map +0 -1
- package/dist/components/form-field/index.js.map +0 -1
- package/dist/components/hover-card/hover-card.d.ts.map +0 -1
- package/dist/components/hover-card/hover-card.js.map +0 -1
- package/dist/components/hover-card/index.d.ts.map +0 -1
- package/dist/components/hover-card/index.js.map +0 -1
- package/dist/components/input/index.d.ts.map +0 -1
- package/dist/components/input/index.js.map +0 -1
- package/dist/components/input/input.d.ts.map +0 -1
- package/dist/components/input/input.js.map +0 -1
- package/dist/components/label/index.d.ts.map +0 -1
- package/dist/components/label/index.js.map +0 -1
- package/dist/components/label/label.d.ts.map +0 -1
- package/dist/components/label/label.js.map +0 -1
- package/dist/components/labeled-field/index.d.ts.map +0 -1
- package/dist/components/labeled-field/index.js.map +0 -1
- package/dist/components/labeled-field/labeled-field.d.ts.map +0 -1
- package/dist/components/labeled-field/labeled-field.js.map +0 -1
- package/dist/components/layout/index.d.ts +0 -2
- package/dist/components/layout/index.d.ts.map +0 -1
- package/dist/components/layout/index.js +0 -2
- package/dist/components/layout/index.js.map +0 -1
- package/dist/components/layout/layout.d.ts +0 -395
- package/dist/components/layout/layout.d.ts.map +0 -1
- package/dist/components/layout/layout.js +0 -93
- package/dist/components/layout/layout.js.map +0 -1
- package/dist/components/menubar/index.d.ts.map +0 -1
- package/dist/components/menubar/index.js.map +0 -1
- package/dist/components/menubar/menubar.d.ts.map +0 -1
- package/dist/components/menubar/menubar.js.map +0 -1
- package/dist/components/numeric-input/index.d.ts.map +0 -1
- package/dist/components/numeric-input/index.js.map +0 -1
- package/dist/components/numeric-input/numeric-input.d.ts.map +0 -1
- package/dist/components/numeric-input/numeric-input.js.map +0 -1
- package/dist/components/otp-input/index.d.ts.map +0 -1
- package/dist/components/otp-input/index.js.map +0 -1
- package/dist/components/otp-input/otp-input.d.ts.map +0 -1
- package/dist/components/otp-input/otp-input.js.map +0 -1
- package/dist/components/popover/index.d.ts.map +0 -1
- package/dist/components/popover/index.js.map +0 -1
- package/dist/components/popover/popover.d.ts.map +0 -1
- package/dist/components/popover/popover.js.map +0 -1
- package/dist/components/pressable/index.d.ts.map +0 -1
- package/dist/components/pressable/index.js.map +0 -1
- package/dist/components/pressable/pressable.d.ts.map +0 -1
- package/dist/components/pressable/pressable.js.map +0 -1
- package/dist/components/progress/index.d.ts.map +0 -1
- package/dist/components/progress/index.js.map +0 -1
- package/dist/components/progress/progress.d.ts.map +0 -1
- package/dist/components/progress/progress.js.map +0 -1
- package/dist/components/radio-group/index.d.ts.map +0 -1
- package/dist/components/radio-group/index.js.map +0 -1
- package/dist/components/radio-group/radio-group.d.ts.map +0 -1
- package/dist/components/radio-group/radio-group.js.map +0 -1
- package/dist/components/row/index.d.ts.map +0 -1
- package/dist/components/row/index.js.map +0 -1
- package/dist/components/row/row.d.ts.map +0 -1
- package/dist/components/row/row.js.map +0 -1
- package/dist/components/segmented-control/index.d.ts.map +0 -1
- package/dist/components/segmented-control/index.js.map +0 -1
- package/dist/components/segmented-control/segmented-control.d.ts.map +0 -1
- package/dist/components/segmented-control/segmented-control.js.map +0 -1
- package/dist/components/select/index.d.ts.map +0 -1
- package/dist/components/select/index.js.map +0 -1
- package/dist/components/select/select.d.ts.map +0 -1
- package/dist/components/select/select.js.map +0 -1
- package/dist/components/separator/index.d.ts.map +0 -1
- package/dist/components/separator/index.js.map +0 -1
- package/dist/components/separator/separator.d.ts.map +0 -1
- package/dist/components/separator/separator.js.map +0 -1
- package/dist/components/skeleton/index.d.ts.map +0 -1
- package/dist/components/skeleton/index.js.map +0 -1
- package/dist/components/skeleton/skeleton.d.ts.map +0 -1
- package/dist/components/skeleton/skeleton.js.map +0 -1
- package/dist/components/spinner/index.d.ts.map +0 -1
- package/dist/components/spinner/index.js.map +0 -1
- package/dist/components/spinner/spinner.d.ts.map +0 -1
- package/dist/components/spinner/spinner.js.map +0 -1
- package/dist/components/stack/index.d.ts.map +0 -1
- package/dist/components/stack/index.js.map +0 -1
- package/dist/components/stack/stack.d.ts.map +0 -1
- package/dist/components/stack/stack.js.map +0 -1
- package/dist/components/switch/index.d.ts.map +0 -1
- package/dist/components/switch/index.js.map +0 -1
- package/dist/components/switch/switch.d.ts.map +0 -1
- package/dist/components/switch/switch.js.map +0 -1
- package/dist/components/tabs/index.d.ts.map +0 -1
- package/dist/components/tabs/index.js.map +0 -1
- package/dist/components/tabs/tabs.d.ts.map +0 -1
- package/dist/components/tabs/tabs.js.map +0 -1
- package/dist/components/text/index.d.ts.map +0 -1
- package/dist/components/text/index.js.map +0 -1
- package/dist/components/text/text.d.ts.map +0 -1
- package/dist/components/text/text.js.map +0 -1
- package/dist/components/textarea/index.d.ts.map +0 -1
- package/dist/components/textarea/index.js.map +0 -1
- package/dist/components/textarea/textarea.d.ts.map +0 -1
- package/dist/components/textarea/textarea.js.map +0 -1
- package/dist/components/toast/index.d.ts.map +0 -1
- package/dist/components/toast/index.js.map +0 -1
- package/dist/components/toast/toast.d.ts.map +0 -1
- package/dist/components/toast/toast.js.map +0 -1
- package/dist/components/toggle/index.d.ts.map +0 -1
- package/dist/components/toggle/index.js.map +0 -1
- package/dist/components/toggle/toggle.d.ts.map +0 -1
- package/dist/components/toggle/toggle.js.map +0 -1
- package/dist/components/toggle-group/index.d.ts.map +0 -1
- package/dist/components/toggle-group/index.js.map +0 -1
- package/dist/components/toggle-group/toggle-group.d.ts.map +0 -1
- package/dist/components/toggle-group/toggle-group.js.map +0 -1
- package/dist/components/tooltip/index.d.ts.map +0 -1
- package/dist/components/tooltip/index.js.map +0 -1
- package/dist/components/tooltip/tooltip.d.ts.map +0 -1
- package/dist/components/tooltip/tooltip.js.map +0 -1
- package/dist/components/view/index.d.ts.map +0 -1
- package/dist/components/view/index.js.map +0 -1
- package/dist/components/view/view.d.ts.map +0 -1
- package/dist/components/view/view.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib/cn.d.ts.map +0 -1
- package/dist/lib/cn.js.map +0 -1
- package/dist/lib/font-context.d.ts.map +0 -1
- package/dist/lib/font-context.js.map +0 -1
- package/dist/lib/frosted-surface.d.ts.map +0 -1
- package/dist/lib/frosted-surface.js.map +0 -1
- package/dist/lib/index.d.ts +0 -6
- package/dist/lib/index.d.ts.map +0 -1
- package/dist/lib/index.js +0 -6
- package/dist/lib/index.js.map +0 -1
- package/dist/lib/interaction-tokens.d.ts.map +0 -1
- package/dist/lib/interaction-tokens.js.map +0 -1
- package/dist/lib/portal.d.ts.map +0 -1
- package/dist/lib/portal.js.map +0 -1
- package/dist/lib/react-native-classname.d.ts.map +0 -1
- package/dist/lib/react-native-classname.js.map +0 -1
- package/dist/lib/theme-bridge.d.ts.map +0 -1
- package/dist/lib/theme-bridge.js.map +0 -1
- package/dist/lib/theme-colors.d.ts.map +0 -1
- package/dist/lib/theme-colors.js.map +0 -1
- package/dist/lib/tv.d.ts.map +0 -1
- package/dist/lib/tv.js.map +0 -1
- package/dist/lib/visual-tokens.d.ts.map +0 -1
- package/dist/lib/visual-tokens.js.map +0 -1
- package/dist/vite.d.ts.map +0 -1
- package/dist/vite.js.map +0 -1
|
@@ -8,8 +8,17 @@ function parseNumber(value, fallback) {
|
|
|
8
8
|
function clampOpacity(value) {
|
|
9
9
|
return Math.max(0, Math.min(1, value));
|
|
10
10
|
}
|
|
11
|
+
/** Motion values used when a `--ui-motion-*` token is absent, and by the provider-less motion policy. */
|
|
12
|
+
export const MOTION_TOKEN_DEFAULTS = {
|
|
13
|
+
motionFast: 140,
|
|
14
|
+
motionNormal: 200,
|
|
15
|
+
motionSlow: 280,
|
|
16
|
+
motionSpringDamping: 20,
|
|
17
|
+
motionSpringStiffness: 260,
|
|
18
|
+
motionSpringMass: 0.8,
|
|
19
|
+
};
|
|
11
20
|
export function useInteractionTokens() {
|
|
12
|
-
const [pressOpacity, pressOpacityStrong, disabledOpacity, disabledOpacitySoft, disabledOpacitySubtle, inactiveOpacity, motionFast, motionNormal, motionSlow, drawerOpenDuration, drawerCloseDuration,] = useCSSVariable([
|
|
21
|
+
const [pressOpacity, pressOpacityStrong, disabledOpacity, disabledOpacitySoft, disabledOpacitySubtle, inactiveOpacity, motionFast, motionNormal, motionSlow, motionSpringDamping, motionSpringStiffness, motionSpringMass, drawerOpenDuration, drawerCloseDuration,] = useCSSVariable([
|
|
13
22
|
'--ui-press-opacity',
|
|
14
23
|
'--ui-press-opacity-strong',
|
|
15
24
|
'--ui-disabled-opacity',
|
|
@@ -19,21 +28,27 @@ export function useInteractionTokens() {
|
|
|
19
28
|
'--ui-motion-fast',
|
|
20
29
|
'--ui-motion-normal',
|
|
21
30
|
'--ui-motion-slow',
|
|
31
|
+
'--ui-motion-spring-damping',
|
|
32
|
+
'--ui-motion-spring-stiffness',
|
|
33
|
+
'--ui-motion-spring-mass',
|
|
22
34
|
'--ui-drawer-open-duration',
|
|
23
35
|
'--ui-drawer-close-duration',
|
|
24
36
|
]);
|
|
25
37
|
return {
|
|
26
|
-
pressOpacity: clampOpacity(parseNumber(pressOpacity, 0.
|
|
27
|
-
pressOpacityStrong: clampOpacity(parseNumber(pressOpacityStrong, 0.
|
|
28
|
-
disabledOpacity: clampOpacity(parseNumber(disabledOpacity, 0.
|
|
29
|
-
disabledOpacitySoft: clampOpacity(parseNumber(disabledOpacitySoft, 0.
|
|
30
|
-
disabledOpacitySubtle: clampOpacity(parseNumber(disabledOpacitySubtle, 0.
|
|
31
|
-
inactiveOpacity: clampOpacity(parseNumber(inactiveOpacity, 0.
|
|
32
|
-
motionFast: Math.max(0, Math.round(parseNumber(motionFast,
|
|
33
|
-
motionNormal: Math.max(0, Math.round(parseNumber(motionNormal,
|
|
34
|
-
motionSlow: Math.max(0, Math.round(parseNumber(motionSlow,
|
|
35
|
-
|
|
36
|
-
|
|
38
|
+
pressOpacity: clampOpacity(parseNumber(pressOpacity, 0.82)),
|
|
39
|
+
pressOpacityStrong: clampOpacity(parseNumber(pressOpacityStrong, 0.92)),
|
|
40
|
+
disabledOpacity: clampOpacity(parseNumber(disabledOpacity, 0.46)),
|
|
41
|
+
disabledOpacitySoft: clampOpacity(parseNumber(disabledOpacitySoft, 0.56)),
|
|
42
|
+
disabledOpacitySubtle: clampOpacity(parseNumber(disabledOpacitySubtle, 0.36)),
|
|
43
|
+
inactiveOpacity: clampOpacity(parseNumber(inactiveOpacity, 0.54)),
|
|
44
|
+
motionFast: Math.max(0, Math.round(parseNumber(motionFast, MOTION_TOKEN_DEFAULTS.motionFast))),
|
|
45
|
+
motionNormal: Math.max(0, Math.round(parseNumber(motionNormal, MOTION_TOKEN_DEFAULTS.motionNormal))),
|
|
46
|
+
motionSlow: Math.max(0, Math.round(parseNumber(motionSlow, MOTION_TOKEN_DEFAULTS.motionSlow))),
|
|
47
|
+
motionSpringDamping: Math.max(0, parseNumber(motionSpringDamping, MOTION_TOKEN_DEFAULTS.motionSpringDamping)),
|
|
48
|
+
motionSpringStiffness: Math.max(0, parseNumber(motionSpringStiffness, MOTION_TOKEN_DEFAULTS.motionSpringStiffness)),
|
|
49
|
+
motionSpringMass: Math.max(0.01, parseNumber(motionSpringMass, MOTION_TOKEN_DEFAULTS.motionSpringMass)),
|
|
50
|
+
drawerOpenDuration: Math.max(0, Math.round(parseNumber(drawerOpenDuration, 260))),
|
|
51
|
+
drawerCloseDuration: Math.max(0, Math.round(parseNumber(drawerCloseDuration, 180))),
|
|
37
52
|
};
|
|
38
53
|
}
|
|
39
54
|
function resolveDisabledOpacity(tokens, variant) {
|
|
@@ -67,4 +82,3 @@ export function withInteractivePressableStyle(styleProp, tokens, options = {}) {
|
|
|
67
82
|
];
|
|
68
83
|
};
|
|
69
84
|
}
|
|
70
|
-
//# sourceMappingURL=interaction-tokens.js.map
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ReduceMotion } from 'react-native-reanimated';
|
|
3
|
+
export type MotionMode = 'system' | 'reduced' | 'full' | 'disabled';
|
|
4
|
+
export type MotionDuration = 'fast' | 'normal' | 'slow';
|
|
5
|
+
export type MotionSpring = 'responsive';
|
|
6
|
+
export interface MotionSpringConfig {
|
|
7
|
+
damping: number;
|
|
8
|
+
stiffness: number;
|
|
9
|
+
mass: number;
|
|
10
|
+
reduceMotion: ReduceMotion;
|
|
11
|
+
}
|
|
12
|
+
export interface MotionPolicy {
|
|
13
|
+
mode: MotionMode;
|
|
14
|
+
reduceMotion: boolean;
|
|
15
|
+
animationsEnabled: boolean;
|
|
16
|
+
durations: Readonly<Record<MotionDuration, number>>;
|
|
17
|
+
springs: Readonly<Record<MotionSpring, Readonly<MotionSpringConfig>>>;
|
|
18
|
+
reanimatedReduceMotion: ReduceMotion;
|
|
19
|
+
}
|
|
20
|
+
export interface MotionProviderProps {
|
|
21
|
+
children: React.ReactNode;
|
|
22
|
+
mode?: MotionMode;
|
|
23
|
+
}
|
|
24
|
+
export declare function MotionProvider({ children, mode }: MotionProviderProps): React.JSX.Element;
|
|
25
|
+
export declare function useMotionPolicy(): MotionPolicy;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useContext, useEffect, useMemo, useState } from 'react';
|
|
3
|
+
import { AccessibilityInfo } from 'react-native';
|
|
4
|
+
import { ReduceMotion, useReducedMotion } from 'react-native-reanimated';
|
|
5
|
+
import { MOTION_TOKEN_DEFAULTS, useInteractionTokens } from './interaction-tokens';
|
|
6
|
+
// Without a provider, components still render and Reanimated still follows the system
|
|
7
|
+
// setting. Only `--ui-motion-*` overrides and the non-Reanimated reduced-motion paths
|
|
8
|
+
// need `MotionProvider` at the root.
|
|
9
|
+
const DEFAULT_MOTION_POLICY = {
|
|
10
|
+
mode: 'system',
|
|
11
|
+
reduceMotion: false,
|
|
12
|
+
animationsEnabled: true,
|
|
13
|
+
durations: {
|
|
14
|
+
fast: MOTION_TOKEN_DEFAULTS.motionFast,
|
|
15
|
+
normal: MOTION_TOKEN_DEFAULTS.motionNormal,
|
|
16
|
+
slow: MOTION_TOKEN_DEFAULTS.motionSlow,
|
|
17
|
+
},
|
|
18
|
+
springs: {
|
|
19
|
+
responsive: {
|
|
20
|
+
damping: MOTION_TOKEN_DEFAULTS.motionSpringDamping,
|
|
21
|
+
stiffness: MOTION_TOKEN_DEFAULTS.motionSpringStiffness,
|
|
22
|
+
mass: MOTION_TOKEN_DEFAULTS.motionSpringMass,
|
|
23
|
+
reduceMotion: ReduceMotion.System,
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
reanimatedReduceMotion: ReduceMotion.System,
|
|
27
|
+
};
|
|
28
|
+
const MotionPolicyContext = createContext(DEFAULT_MOTION_POLICY);
|
|
29
|
+
function useSystemReducedMotion(active) {
|
|
30
|
+
const initialValue = useReducedMotion();
|
|
31
|
+
const [enabled, setEnabled] = useState(initialValue);
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
if (!active)
|
|
34
|
+
return;
|
|
35
|
+
let mounted = true;
|
|
36
|
+
void AccessibilityInfo.isReduceMotionEnabled()
|
|
37
|
+
.then((value) => {
|
|
38
|
+
if (mounted)
|
|
39
|
+
setEnabled(value);
|
|
40
|
+
})
|
|
41
|
+
.catch(() => {
|
|
42
|
+
// Keep Reanimated's startup snapshot if the native query is unavailable.
|
|
43
|
+
});
|
|
44
|
+
const subscription = AccessibilityInfo.addEventListener('reduceMotionChanged', setEnabled);
|
|
45
|
+
return () => {
|
|
46
|
+
mounted = false;
|
|
47
|
+
subscription.remove();
|
|
48
|
+
};
|
|
49
|
+
}, [active]);
|
|
50
|
+
return enabled;
|
|
51
|
+
}
|
|
52
|
+
export function MotionProvider({ children, mode = 'system' }) {
|
|
53
|
+
const interaction = useInteractionTokens();
|
|
54
|
+
const systemReducedMotion = useSystemReducedMotion(mode === 'system');
|
|
55
|
+
const relevantSystemValue = mode === 'system' ? systemReducedMotion : false;
|
|
56
|
+
const policy = useMemo(() => {
|
|
57
|
+
const reduceMotion = mode === 'reduced' || mode === 'disabled' || (mode === 'system' && relevantSystemValue);
|
|
58
|
+
const animationsEnabled = mode !== 'disabled';
|
|
59
|
+
const reanimatedReduceMotion = mode === 'system'
|
|
60
|
+
? ReduceMotion.System
|
|
61
|
+
: mode === 'full'
|
|
62
|
+
? ReduceMotion.Never
|
|
63
|
+
: ReduceMotion.Always;
|
|
64
|
+
return {
|
|
65
|
+
mode,
|
|
66
|
+
reduceMotion,
|
|
67
|
+
animationsEnabled,
|
|
68
|
+
durations: {
|
|
69
|
+
fast: animationsEnabled ? interaction.motionFast : 0,
|
|
70
|
+
normal: animationsEnabled ? interaction.motionNormal : 0,
|
|
71
|
+
slow: animationsEnabled ? interaction.motionSlow : 0,
|
|
72
|
+
},
|
|
73
|
+
springs: {
|
|
74
|
+
responsive: {
|
|
75
|
+
damping: interaction.motionSpringDamping,
|
|
76
|
+
stiffness: interaction.motionSpringStiffness,
|
|
77
|
+
mass: interaction.motionSpringMass,
|
|
78
|
+
reduceMotion: reanimatedReduceMotion,
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
reanimatedReduceMotion,
|
|
82
|
+
};
|
|
83
|
+
}, [
|
|
84
|
+
interaction.motionFast,
|
|
85
|
+
interaction.motionNormal,
|
|
86
|
+
interaction.motionSlow,
|
|
87
|
+
interaction.motionSpringDamping,
|
|
88
|
+
interaction.motionSpringMass,
|
|
89
|
+
interaction.motionSpringStiffness,
|
|
90
|
+
mode,
|
|
91
|
+
relevantSystemValue,
|
|
92
|
+
]);
|
|
93
|
+
return _jsx(MotionPolicyContext.Provider, { value: policy, children: children });
|
|
94
|
+
}
|
|
95
|
+
export function useMotionPolicy() {
|
|
96
|
+
return useContext(MotionPolicyContext);
|
|
97
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface OverlayInsets {
|
|
2
|
+
top: number;
|
|
3
|
+
bottom: number;
|
|
4
|
+
left: number;
|
|
5
|
+
right: number;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Collision padding for anything that floats: popovers, dropdowns, context menus.
|
|
9
|
+
*
|
|
10
|
+
* Without it these are only clamped to the viewport, so a trigger near an edge produces
|
|
11
|
+
* a panel sitting flush against it — touching the screen edge on web, and sliding under
|
|
12
|
+
* the notch or home indicator on a device. Both read as broken rather than deliberate.
|
|
13
|
+
*
|
|
14
|
+
* Safe area plus a margin, so the result clears the hardware and still leaves the panel
|
|
15
|
+
* looking placed rather than jammed. Callers can override per instance.
|
|
16
|
+
*/
|
|
17
|
+
export declare function useOverlayInsets(): OverlayInsets;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
2
|
+
import { useVisualTokens } from './visual-tokens';
|
|
3
|
+
/**
|
|
4
|
+
* Collision padding for anything that floats: popovers, dropdowns, context menus.
|
|
5
|
+
*
|
|
6
|
+
* Without it these are only clamped to the viewport, so a trigger near an edge produces
|
|
7
|
+
* a panel sitting flush against it — touching the screen edge on web, and sliding under
|
|
8
|
+
* the notch or home indicator on a device. Both read as broken rather than deliberate.
|
|
9
|
+
*
|
|
10
|
+
* Safe area plus a margin, so the result clears the hardware and still leaves the panel
|
|
11
|
+
* looking placed rather than jammed. Callers can override per instance.
|
|
12
|
+
*/
|
|
13
|
+
export function useOverlayInsets() {
|
|
14
|
+
const safeArea = useSafeAreaInsets();
|
|
15
|
+
const visual = useVisualTokens();
|
|
16
|
+
const margin = visual.surfacePaddingSm;
|
|
17
|
+
return {
|
|
18
|
+
top: safeArea.top + margin,
|
|
19
|
+
bottom: safeArea.bottom + margin,
|
|
20
|
+
left: safeArea.left + margin,
|
|
21
|
+
right: safeArea.right + margin,
|
|
22
|
+
};
|
|
23
|
+
}
|
package/dist/lib/portal.d.ts
CHANGED
package/dist/lib/portal.js
CHANGED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { TextStyle, ViewStyle } from 'react-native';
|
|
2
|
+
import { type ThemeColors } from './theme-colors';
|
|
3
|
+
import { type VisualTokens } from './visual-tokens';
|
|
4
|
+
/**
|
|
5
|
+
* Shared style recipes.
|
|
6
|
+
* Components consume these instead of hardcoding radius/height/padding/font
|
|
7
|
+
* classes so a theme (color contract + visual token contract) can fully
|
|
8
|
+
* restyle the package.
|
|
9
|
+
*/
|
|
10
|
+
export type ControlSize = 'sm' | 'default' | 'lg' | 'icon';
|
|
11
|
+
export type SurfacePaddingSize = 'none' | 'sm' | 'default' | 'lg';
|
|
12
|
+
export type ShadowTier = 'none' | 'sm' | 'md' | 'lg';
|
|
13
|
+
export type TypographyRole = 'caption' | 'label' | 'body' | 'emphasis' | 'title' | 'headline';
|
|
14
|
+
export declare function controlRecipe(visual: VisualTokens, size?: ControlSize): ViewStyle;
|
|
15
|
+
export declare function fieldRecipe(visual: VisualTokens, size?: ControlSize): ViewStyle;
|
|
16
|
+
export interface SurfaceRecipeOptions {
|
|
17
|
+
padding?: SurfacePaddingSize;
|
|
18
|
+
radius?: 'sm' | 'md' | 'lg' | 'xl';
|
|
19
|
+
bordered?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export declare function surfacePadding(visual: VisualTokens, padding?: SurfacePaddingSize): number;
|
|
22
|
+
export declare function surfaceRadius(visual: VisualTokens, radius?: 'sm' | 'md' | 'lg' | 'xl'): number;
|
|
23
|
+
export declare function surfaceRecipe(visual: VisualTokens, options?: SurfaceRecipeOptions): ViewStyle;
|
|
24
|
+
export declare function shadowStyle(visual: VisualTokens, colors: ThemeColors, tier: ShadowTier): ViewStyle;
|
|
25
|
+
export declare function typographyStyle(visual: VisualTokens, role: TypographyRole): TextStyle;
|
|
26
|
+
export declare function useControlRecipe(size?: ControlSize): ViewStyle;
|
|
27
|
+
export declare function useFieldRecipe(size?: ControlSize): ViewStyle;
|
|
28
|
+
export declare function useSurfaceRecipe(options?: SurfaceRecipeOptions): ViewStyle;
|
|
29
|
+
export declare function useShadowStyle(tier: ShadowTier): ViewStyle;
|
|
30
|
+
export declare function useTypography(role: TypographyRole): TextStyle;
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { useThemeColors } from './theme-colors';
|
|
2
|
+
import { useVisualTokens } from './visual-tokens';
|
|
3
|
+
export function controlRecipe(visual, size = 'default') {
|
|
4
|
+
if (size === 'sm') {
|
|
5
|
+
return {
|
|
6
|
+
minHeight: visual.controlHeightSm,
|
|
7
|
+
borderRadius: visual.radiusMd,
|
|
8
|
+
paddingHorizontal: visual.controlPaddingXSm,
|
|
9
|
+
paddingVertical: visual.controlPaddingYSm,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
if (size === 'lg') {
|
|
13
|
+
return {
|
|
14
|
+
minHeight: visual.controlHeightLg,
|
|
15
|
+
borderRadius: visual.radiusXl,
|
|
16
|
+
paddingHorizontal: visual.controlPaddingXLg,
|
|
17
|
+
paddingVertical: visual.controlPaddingYLg,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
if (size === 'icon') {
|
|
21
|
+
return {
|
|
22
|
+
minHeight: visual.controlHeightDefault,
|
|
23
|
+
minWidth: visual.controlHeightDefault,
|
|
24
|
+
width: visual.controlHeightDefault,
|
|
25
|
+
borderRadius: visual.radiusLg,
|
|
26
|
+
paddingHorizontal: 0,
|
|
27
|
+
paddingVertical: 0,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
return {
|
|
31
|
+
minHeight: visual.controlHeightDefault,
|
|
32
|
+
borderRadius: visual.radiusLg,
|
|
33
|
+
paddingHorizontal: visual.controlPaddingXDefault,
|
|
34
|
+
paddingVertical: visual.controlPaddingYDefault,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export function fieldRecipe(visual, size = 'default') {
|
|
38
|
+
const base = controlRecipe(visual, size);
|
|
39
|
+
return {
|
|
40
|
+
...base,
|
|
41
|
+
borderWidth: visual.borderWidthControl,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export function surfacePadding(visual, padding = 'default') {
|
|
45
|
+
if (padding === 'none')
|
|
46
|
+
return 0;
|
|
47
|
+
if (padding === 'sm')
|
|
48
|
+
return visual.surfacePaddingSm;
|
|
49
|
+
if (padding === 'lg')
|
|
50
|
+
return visual.surfacePaddingLg;
|
|
51
|
+
return visual.surfacePaddingDefault;
|
|
52
|
+
}
|
|
53
|
+
export function surfaceRadius(visual, radius = 'xl') {
|
|
54
|
+
if (radius === 'sm')
|
|
55
|
+
return visual.radiusSm;
|
|
56
|
+
if (radius === 'md')
|
|
57
|
+
return visual.radiusMd;
|
|
58
|
+
if (radius === 'lg')
|
|
59
|
+
return visual.radiusLg;
|
|
60
|
+
return visual.radiusXl;
|
|
61
|
+
}
|
|
62
|
+
export function surfaceRecipe(visual, options = {}) {
|
|
63
|
+
const { padding = 'default', radius = 'xl', bordered = true } = options;
|
|
64
|
+
return {
|
|
65
|
+
borderRadius: surfaceRadius(visual, radius),
|
|
66
|
+
padding: surfacePadding(visual, padding),
|
|
67
|
+
...(bordered ? { borderWidth: visual.borderWidthHairline } : null),
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
export function shadowStyle(visual, colors, tier) {
|
|
71
|
+
if (tier === 'none')
|
|
72
|
+
return {};
|
|
73
|
+
const opacity = tier === 'sm'
|
|
74
|
+
? visual.shadowOpacitySm
|
|
75
|
+
: tier === 'md'
|
|
76
|
+
? visual.shadowOpacityMd
|
|
77
|
+
: visual.shadowOpacityLg;
|
|
78
|
+
const radius = tier === 'sm'
|
|
79
|
+
? visual.shadowRadiusSm
|
|
80
|
+
: tier === 'md'
|
|
81
|
+
? visual.shadowRadiusMd
|
|
82
|
+
: visual.shadowRadiusLg;
|
|
83
|
+
const offsetY = tier === 'sm'
|
|
84
|
+
? visual.shadowOffsetYSm
|
|
85
|
+
: tier === 'md'
|
|
86
|
+
? visual.shadowOffsetYMd
|
|
87
|
+
: visual.shadowOffsetYLg;
|
|
88
|
+
const elevation = tier === 'sm'
|
|
89
|
+
? visual.shadowElevationSm
|
|
90
|
+
: tier === 'md'
|
|
91
|
+
? visual.shadowElevationMd
|
|
92
|
+
: visual.shadowElevationLg;
|
|
93
|
+
if (opacity <= 0)
|
|
94
|
+
return {};
|
|
95
|
+
return {
|
|
96
|
+
shadowColor: colors.shadow,
|
|
97
|
+
shadowOpacity: opacity,
|
|
98
|
+
shadowRadius: radius,
|
|
99
|
+
shadowOffset: { width: 0, height: offsetY },
|
|
100
|
+
elevation,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
// Component-owned text sizes. Font family/weight stays on className
|
|
104
|
+
// (font-medium etc.) so app font mappings keep working.
|
|
105
|
+
export function typographyStyle(visual, role) {
|
|
106
|
+
if (role === 'caption')
|
|
107
|
+
return {
|
|
108
|
+
fontSize: visual.fontSizeXs,
|
|
109
|
+
letterSpacing: visual.letterSpacingCaption,
|
|
110
|
+
};
|
|
111
|
+
if (role === 'label')
|
|
112
|
+
return { fontSize: visual.fontSizeSm, letterSpacing: visual.letterSpacingLabel };
|
|
113
|
+
if (role === 'emphasis')
|
|
114
|
+
return { fontSize: visual.fontSizeLg, letterSpacing: visual.letterSpacingBody };
|
|
115
|
+
if (role === 'title')
|
|
116
|
+
return { fontSize: visual.fontSizeXl, letterSpacing: visual.letterSpacingTitle };
|
|
117
|
+
if (role === 'headline')
|
|
118
|
+
return {
|
|
119
|
+
fontSize: visual.fontSize2xl,
|
|
120
|
+
letterSpacing: visual.letterSpacingHeadline,
|
|
121
|
+
};
|
|
122
|
+
return { fontSize: visual.fontSizeBase, letterSpacing: visual.letterSpacingBody };
|
|
123
|
+
}
|
|
124
|
+
export function useControlRecipe(size = 'default') {
|
|
125
|
+
return controlRecipe(useVisualTokens(), size);
|
|
126
|
+
}
|
|
127
|
+
export function useFieldRecipe(size = 'default') {
|
|
128
|
+
return fieldRecipe(useVisualTokens(), size);
|
|
129
|
+
}
|
|
130
|
+
export function useSurfaceRecipe(options = {}) {
|
|
131
|
+
return surfaceRecipe(useVisualTokens(), options);
|
|
132
|
+
}
|
|
133
|
+
export function useShadowStyle(tier) {
|
|
134
|
+
return shadowStyle(useVisualTokens(), useThemeColors(), tier);
|
|
135
|
+
}
|
|
136
|
+
export function useTypography(role) {
|
|
137
|
+
return typographyStyle(useVisualTokens(), role);
|
|
138
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { GestureResponderEvent } from 'react-native';
|
|
2
|
+
/**
|
|
3
|
+
* Press handlers that fire only for a tap, not for a drag that happens to start and
|
|
4
|
+
* end inside the same view. A `Pressable` keeps a press alive while the finger stays
|
|
5
|
+
* within its bounds, so on a full-screen backdrop every swipe was also a tap and
|
|
6
|
+
* dismissed the overlay. Ten points is the platform touch slop.
|
|
7
|
+
*/
|
|
8
|
+
export declare function useTapOnly(onTap: () => void, slop?: number): {
|
|
9
|
+
onPressIn: (event: GestureResponderEvent) => void;
|
|
10
|
+
onPress: (event: GestureResponderEvent) => void;
|
|
11
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { useRef } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Press handlers that fire only for a tap, not for a drag that happens to start and
|
|
4
|
+
* end inside the same view. A `Pressable` keeps a press alive while the finger stays
|
|
5
|
+
* within its bounds, so on a full-screen backdrop every swipe was also a tap and
|
|
6
|
+
* dismissed the overlay. Ten points is the platform touch slop.
|
|
7
|
+
*/
|
|
8
|
+
export function useTapOnly(onTap, slop = 10) {
|
|
9
|
+
const start = useRef(null);
|
|
10
|
+
return {
|
|
11
|
+
onPressIn: (event) => {
|
|
12
|
+
start.current = { x: event.nativeEvent.pageX, y: event.nativeEvent.pageY };
|
|
13
|
+
},
|
|
14
|
+
onPress: (event) => {
|
|
15
|
+
const from = start.current;
|
|
16
|
+
start.current = null;
|
|
17
|
+
const moved = from !== null &&
|
|
18
|
+
Number.isFinite(event.nativeEvent.pageX) &&
|
|
19
|
+
Math.hypot(event.nativeEvent.pageX - from.x, event.nativeEvent.pageY - from.y) > slop;
|
|
20
|
+
if (!moved)
|
|
21
|
+
onTap();
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
}
|
|
@@ -26,4 +26,3 @@ export declare function syncThemeMode(mode: ThemeMode, adapter?: ThemeBridgeAdap
|
|
|
26
26
|
export declare function useThemeBridge({ initialMode, adapter, }?: UseThemeBridgeOptions): UseThemeBridgeResult;
|
|
27
27
|
export declare function ThemeBridge({ mode: controlledMode, initialMode, adapter, onModeChange, }: ThemeBridgeProps): null;
|
|
28
28
|
export {};
|
|
29
|
-
//# sourceMappingURL=theme-bridge.d.ts.map
|
package/dist/lib/theme-bridge.js
CHANGED
|
@@ -30,8 +30,17 @@ export function useThemeBridge({ initialMode = 'system', adapter, } = {}) {
|
|
|
30
30
|
if (!adapter) {
|
|
31
31
|
return;
|
|
32
32
|
}
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
// `loadThemeMode` is the consumer's storage. If it rejects — a corrupt store, a
|
|
34
|
+
// keychain prompt the user dismissed — the app must still render in the initial
|
|
35
|
+
// mode; leaving `hydrated` false would strand anything gated on it forever.
|
|
36
|
+
void (async () => {
|
|
37
|
+
let next;
|
|
38
|
+
try {
|
|
39
|
+
next = await resolveThemeMode(adapter, initialMode);
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
next = initialMode;
|
|
43
|
+
}
|
|
35
44
|
if (!mounted) {
|
|
36
45
|
return;
|
|
37
46
|
}
|
|
@@ -76,4 +85,3 @@ export function ThemeBridge({ mode: controlledMode, initialMode = 'system', adap
|
|
|
76
85
|
}, [effectiveMode, onModeChange]);
|
|
77
86
|
return null;
|
|
78
87
|
}
|
|
79
|
-
//# sourceMappingURL=theme-bridge.js.map
|
|
@@ -1,46 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* Reads from global.css via useCSSVariable — single source of truth in your theme.
|
|
4
|
-
*/
|
|
5
|
-
export interface ThemeColors {
|
|
6
|
-
primary: string;
|
|
7
|
-
primaryForeground: string;
|
|
8
|
-
foreground: string;
|
|
9
|
-
background: string;
|
|
10
|
-
card: string;
|
|
11
|
-
cardForeground: string;
|
|
12
|
-
popover: string;
|
|
13
|
-
popoverForeground: string;
|
|
14
|
-
secondary: string;
|
|
15
|
-
secondaryForeground: string;
|
|
16
|
-
muted: string;
|
|
17
|
-
mutedForeground: string;
|
|
18
|
-
border: string;
|
|
19
|
-
input: string;
|
|
20
|
-
ring: string;
|
|
21
|
-
accent: string;
|
|
22
|
-
accentForeground: string;
|
|
23
|
-
destructive: string;
|
|
24
|
-
destructiveForeground: string;
|
|
25
|
-
success: string;
|
|
26
|
-
successForeground: string;
|
|
27
|
-
warning: string;
|
|
28
|
-
warningForeground: string;
|
|
29
|
-
info: string;
|
|
30
|
-
infoForeground: string;
|
|
31
|
-
overlay: string;
|
|
32
|
-
overlayStrong: string;
|
|
33
|
-
surfaceElevated: string;
|
|
34
|
-
surfaceTranslucent: string;
|
|
35
|
-
surfaceTranslucentBorder: string;
|
|
36
|
-
surfaceBorder: string;
|
|
37
|
-
surfaceHighlight: string;
|
|
38
|
-
stateHover: string;
|
|
39
|
-
statePressed: string;
|
|
40
|
-
stateDisabled: string;
|
|
41
|
-
/** For placeholder text (aliases mutedForeground; override via placeholderTextColor when needed) */
|
|
42
|
-
placeholder: string;
|
|
43
|
-
}
|
|
1
|
+
import { type ThemeColors } from './theme-contract';
|
|
2
|
+
export type { ThemeColors } from './theme-contract';
|
|
44
3
|
export declare function useThemeColors(): ThemeColors;
|
|
45
4
|
/** Icon colors derived from theme. For @expo/vector-icons which need hex values. */
|
|
46
5
|
export declare function useIconColors(): {
|
|
@@ -56,6 +15,3 @@ export declare function useIconColors(): {
|
|
|
56
15
|
};
|
|
57
16
|
/** Alias for useThemeColors. Returns RN-safe color strings (hex/rgb/rgba) for RefreshControl, LinearGradient, charts. */
|
|
58
17
|
export declare const useThemeTokens: typeof useThemeColors;
|
|
59
|
-
/** @deprecated Use useThemeTokens or useThemeColors. */
|
|
60
|
-
export declare const useResolvedThemeColors: typeof useThemeColors;
|
|
61
|
-
//# sourceMappingURL=theme-colors.d.ts.map
|