@thewhileloop/whileui 1.2.3 → 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 +246 -83
- 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 +9 -10
- package/dist/components/alert-dialog/alert-dialog.js +175 -51
- 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
|
@@ -16,7 +16,7 @@ declare const badgeVariants: import("tailwind-variants").TVReturnType<{
|
|
|
16
16
|
'soft-warning': string;
|
|
17
17
|
'soft-info': string;
|
|
18
18
|
};
|
|
19
|
-
}, undefined, "inline-flex items-center
|
|
19
|
+
}, undefined, "inline-flex items-center", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
20
20
|
variant: {
|
|
21
21
|
default: string;
|
|
22
22
|
secondary: string;
|
|
@@ -80,7 +80,7 @@ declare const badgeVariants: import("tailwind-variants").TVReturnType<{
|
|
|
80
80
|
'soft-warning': string;
|
|
81
81
|
'soft-info': string;
|
|
82
82
|
};
|
|
83
|
-
}, undefined, "inline-flex items-center
|
|
83
|
+
}, undefined, "inline-flex items-center", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
84
84
|
variant: {
|
|
85
85
|
default: string;
|
|
86
86
|
secondary: string;
|
|
@@ -129,7 +129,7 @@ declare const badgeTextVariants: import("tailwind-variants").TVReturnType<{
|
|
|
129
129
|
'soft-warning': string;
|
|
130
130
|
'soft-info': string;
|
|
131
131
|
};
|
|
132
|
-
}, undefined, "
|
|
132
|
+
}, undefined, "font-semibold", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
133
133
|
variant: {
|
|
134
134
|
default: string;
|
|
135
135
|
secondary: string;
|
|
@@ -193,7 +193,7 @@ declare const badgeTextVariants: import("tailwind-variants").TVReturnType<{
|
|
|
193
193
|
'soft-warning': string;
|
|
194
194
|
'soft-info': string;
|
|
195
195
|
};
|
|
196
|
-
}, undefined, "
|
|
196
|
+
}, undefined, "font-semibold", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
197
197
|
variant: {
|
|
198
198
|
default: string;
|
|
199
199
|
secondary: string;
|
|
@@ -230,13 +230,12 @@ export interface BadgeProps extends ViewProps, VariantProps<typeof badgeVariants
|
|
|
230
230
|
}
|
|
231
231
|
export interface BadgeTextProps extends TextProps, VariantProps<typeof badgeTextVariants> {
|
|
232
232
|
}
|
|
233
|
-
declare function Badge({ className, variant, children, ...props }: BadgeProps): import("react
|
|
233
|
+
declare function Badge({ className, variant, children, style, ...props }: BadgeProps): import("react").JSX.Element;
|
|
234
234
|
declare namespace Badge {
|
|
235
235
|
var displayName: string;
|
|
236
236
|
}
|
|
237
|
-
declare function BadgeText({ className, variant: variantProp, ...props }: BadgeTextProps): import("react
|
|
237
|
+
declare function BadgeText({ className, variant: variantProp, style, ...props }: BadgeTextProps): import("react").JSX.Element;
|
|
238
238
|
declare namespace BadgeText {
|
|
239
239
|
var displayName: string;
|
|
240
240
|
}
|
|
241
241
|
export { Badge, BadgeText, badgeVariants, badgeTextVariants };
|
|
242
|
-
//# sourceMappingURL=badge.d.ts.map
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { createContext, useContext } from 'react';
|
|
2
|
+
import { createContext, useContext, useMemo } from 'react';
|
|
3
3
|
import { View } from 'react-native';
|
|
4
4
|
import { Text } from '../text';
|
|
5
5
|
import { cn } from '../../lib/cn';
|
|
6
6
|
import { tv } from '../../lib/tv';
|
|
7
|
+
import { useVisualTokens } from '../../lib/visual-tokens';
|
|
8
|
+
import { typographyStyle } from '../../lib/recipes';
|
|
7
9
|
const BadgeContext = createContext({
|
|
8
10
|
variant: 'default',
|
|
9
11
|
});
|
|
10
12
|
const badgeVariants = tv({
|
|
11
|
-
base: 'inline-flex items-center
|
|
13
|
+
base: 'inline-flex items-center',
|
|
12
14
|
variants: {
|
|
13
15
|
variant: {
|
|
14
16
|
default: 'bg-primary',
|
|
15
17
|
secondary: 'bg-secondary',
|
|
16
18
|
destructive: 'bg-destructive',
|
|
17
|
-
outline: 'border
|
|
19
|
+
outline: 'border-border bg-transparent',
|
|
18
20
|
success: 'bg-success',
|
|
19
21
|
warning: 'bg-warning',
|
|
20
22
|
info: 'bg-info',
|
|
@@ -31,7 +33,7 @@ const badgeVariants = tv({
|
|
|
31
33
|
},
|
|
32
34
|
});
|
|
33
35
|
const badgeTextVariants = tv({
|
|
34
|
-
base: '
|
|
36
|
+
base: 'font-semibold',
|
|
35
37
|
variants: {
|
|
36
38
|
variant: {
|
|
37
39
|
default: 'text-primary-foreground',
|
|
@@ -53,15 +55,25 @@ const badgeTextVariants = tv({
|
|
|
53
55
|
variant: 'default',
|
|
54
56
|
},
|
|
55
57
|
});
|
|
56
|
-
function Badge({ className, variant = 'default', children, ...props }) {
|
|
57
|
-
|
|
58
|
+
function Badge({ className, variant = 'default', children, style, ...props }) {
|
|
59
|
+
const visual = useVisualTokens();
|
|
60
|
+
const contextValue = useMemo(() => ({ variant }), [variant]);
|
|
61
|
+
return (_jsx(BadgeContext.Provider, { value: contextValue, children: _jsx(View, { className: cn(badgeVariants({ variant }), className), style: [
|
|
62
|
+
{
|
|
63
|
+
borderRadius: visual.badgeRadius,
|
|
64
|
+
paddingHorizontal: visual.badgePaddingX,
|
|
65
|
+
paddingVertical: visual.badgePaddingY,
|
|
66
|
+
...(variant === 'outline' ? { borderWidth: visual.borderWidthHairline } : null),
|
|
67
|
+
},
|
|
68
|
+
style,
|
|
69
|
+
], ...props, children: children }) }));
|
|
58
70
|
}
|
|
59
|
-
function BadgeText({ className, variant: variantProp, ...props }) {
|
|
71
|
+
function BadgeText({ className, variant: variantProp, style, ...props }) {
|
|
60
72
|
const context = useContext(BadgeContext);
|
|
73
|
+
const visual = useVisualTokens();
|
|
61
74
|
const variant = variantProp ?? context.variant;
|
|
62
|
-
return _jsx(Text, { className: cn(badgeTextVariants({ variant }), className), ...props });
|
|
75
|
+
return (_jsx(Text, { className: cn(badgeTextVariants({ variant }), className), style: [typographyStyle(visual, 'caption'), style], ...props }));
|
|
63
76
|
}
|
|
64
77
|
Badge.displayName = 'Badge';
|
|
65
78
|
BadgeText.displayName = 'BadgeText';
|
|
66
79
|
export { Badge, BadgeText, badgeVariants, badgeTextVariants };
|
|
67
|
-
//# sourceMappingURL=badge.js.map
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { View, type
|
|
2
|
+
import { View, type TextProps, type ViewProps } from 'react-native';
|
|
3
|
+
import { type PressableProps } from '../pressable';
|
|
3
4
|
import { type VariantProps } from '../../lib/tv';
|
|
4
5
|
declare const buttonVariants: import("tailwind-variants").TVReturnType<{
|
|
5
6
|
variant: {
|
|
@@ -16,7 +17,7 @@ declare const buttonVariants: import("tailwind-variants").TVReturnType<{
|
|
|
16
17
|
lg: string;
|
|
17
18
|
icon: string;
|
|
18
19
|
};
|
|
19
|
-
}, undefined, "flex-row items-center justify-center gap-2
|
|
20
|
+
}, undefined, "flex-row items-center justify-center gap-2", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
20
21
|
variant: {
|
|
21
22
|
default: string;
|
|
22
23
|
destructive: string;
|
|
@@ -76,7 +77,7 @@ declare const buttonVariants: import("tailwind-variants").TVReturnType<{
|
|
|
76
77
|
lg: string;
|
|
77
78
|
icon: string;
|
|
78
79
|
};
|
|
79
|
-
}, undefined, "flex-row items-center justify-center gap-2
|
|
80
|
+
}, undefined, "flex-row items-center justify-center gap-2", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
80
81
|
variant: {
|
|
81
82
|
default: string;
|
|
82
83
|
destructive: string;
|
|
@@ -122,7 +123,7 @@ declare const buttonTextVariants: import("tailwind-variants").TVReturnType<{
|
|
|
122
123
|
lg: string;
|
|
123
124
|
icon: string;
|
|
124
125
|
};
|
|
125
|
-
}, undefined, "
|
|
126
|
+
}, undefined, "font-medium text-center", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
126
127
|
variant: {
|
|
127
128
|
default: string;
|
|
128
129
|
destructive: string;
|
|
@@ -182,7 +183,7 @@ declare const buttonTextVariants: import("tailwind-variants").TVReturnType<{
|
|
|
182
183
|
lg: string;
|
|
183
184
|
icon: string;
|
|
184
185
|
};
|
|
185
|
-
}, undefined, "
|
|
186
|
+
}, undefined, "font-medium text-center", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
186
187
|
variant: {
|
|
187
188
|
default: string;
|
|
188
189
|
destructive: string;
|
|
@@ -213,10 +214,12 @@ declare const buttonTextVariants: import("tailwind-variants").TVReturnType<{
|
|
|
213
214
|
icon: string;
|
|
214
215
|
};
|
|
215
216
|
}>, unknown, unknown, undefined>>;
|
|
216
|
-
export interface ButtonProps extends Omit<PressableProps, 'children'>, VariantProps<typeof buttonVariants> {
|
|
217
|
+
export interface ButtonProps extends Omit<PressableProps, 'children' | 'feedback' | 'loading'>, VariantProps<typeof buttonVariants> {
|
|
217
218
|
children?: React.ReactNode;
|
|
218
219
|
className?: string;
|
|
219
220
|
disabled?: boolean;
|
|
221
|
+
/** Shows a centered spinner, exposes busy state, and prevents interaction. */
|
|
222
|
+
loading?: boolean;
|
|
220
223
|
}
|
|
221
224
|
export interface ButtonTextProps extends TextProps {
|
|
222
225
|
variant?: VariantProps<typeof buttonTextVariants>['variant'];
|
|
@@ -225,16 +228,14 @@ export interface ButtonTextProps extends TextProps {
|
|
|
225
228
|
}
|
|
226
229
|
export interface ButtonIconProps extends ViewProps {
|
|
227
230
|
className?: string;
|
|
228
|
-
position?: 'left' | 'right';
|
|
229
231
|
}
|
|
230
232
|
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<View>>;
|
|
231
|
-
declare function ButtonText({ className, variant: variantProp, size: sizeProp, style, ...props }: ButtonTextProps):
|
|
233
|
+
declare function ButtonText({ className, variant: variantProp, size: sizeProp, style, ...props }: ButtonTextProps): React.JSX.Element;
|
|
232
234
|
declare namespace ButtonText {
|
|
233
235
|
var displayName: string;
|
|
234
236
|
}
|
|
235
|
-
declare function ButtonIcon({ className,
|
|
237
|
+
declare function ButtonIcon({ className, ...props }: ButtonIconProps): React.JSX.Element;
|
|
236
238
|
declare namespace ButtonIcon {
|
|
237
239
|
var displayName: string;
|
|
238
240
|
}
|
|
239
241
|
export { Button, ButtonText, ButtonIcon, buttonVariants, buttonTextVariants };
|
|
240
|
-
//# sourceMappingURL=button.d.ts.map
|
|
@@ -1,31 +1,35 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import React, { createContext, useContext } from 'react';
|
|
3
|
-
import {
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React, { createContext, useContext, useMemo } from 'react';
|
|
3
|
+
import { Text, View } from 'react-native';
|
|
4
|
+
import { Pressable } from '../pressable';
|
|
5
|
+
import { Spinner } from '../spinner';
|
|
4
6
|
import { cn } from '../../lib/cn';
|
|
7
|
+
import { focusRing } from '../../lib/focus-ring';
|
|
5
8
|
import { tv } from '../../lib/tv';
|
|
6
9
|
import { useResolveFontFamily } from '../../lib/font-context';
|
|
7
|
-
import {
|
|
10
|
+
import { useThemeColors } from '../../lib/theme-colors';
|
|
11
|
+
import { useVisualTokens } from '../../lib/visual-tokens';
|
|
12
|
+
import { controlRecipe, typographyStyle } from '../../lib/recipes';
|
|
8
13
|
const ButtonContext = createContext({
|
|
9
14
|
variant: 'default',
|
|
10
15
|
size: 'default',
|
|
11
16
|
});
|
|
12
|
-
// ─── Variants ────────────────────────────────────────────────
|
|
13
17
|
const buttonVariants = tv({
|
|
14
|
-
base: 'flex-row items-center justify-center gap-2
|
|
18
|
+
base: 'flex-row items-center justify-center gap-2',
|
|
15
19
|
variants: {
|
|
16
20
|
variant: {
|
|
17
|
-
default: 'bg-primary
|
|
18
|
-
destructive: 'bg-destructive
|
|
19
|
-
outline: 'border border-input bg-background
|
|
20
|
-
secondary: 'bg-secondary
|
|
21
|
-
ghost: '
|
|
21
|
+
default: 'bg-primary',
|
|
22
|
+
destructive: 'bg-destructive',
|
|
23
|
+
outline: 'border border-input bg-background',
|
|
24
|
+
secondary: 'bg-secondary',
|
|
25
|
+
ghost: 'bg-transparent',
|
|
22
26
|
link: '',
|
|
23
27
|
},
|
|
24
28
|
size: {
|
|
25
|
-
default: '
|
|
26
|
-
sm: '
|
|
27
|
-
lg: '
|
|
28
|
-
icon: '
|
|
29
|
+
default: '',
|
|
30
|
+
sm: '',
|
|
31
|
+
lg: '',
|
|
32
|
+
icon: '',
|
|
29
33
|
},
|
|
30
34
|
},
|
|
31
35
|
defaultVariants: {
|
|
@@ -33,8 +37,24 @@ const buttonVariants = tv({
|
|
|
33
37
|
size: 'default',
|
|
34
38
|
},
|
|
35
39
|
});
|
|
40
|
+
function getButtonStyleTokens(visual, size, variant) {
|
|
41
|
+
if (variant === 'link') {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
const recipe = controlRecipe(visual, size);
|
|
45
|
+
if (variant === 'outline') {
|
|
46
|
+
return { ...recipe, borderWidth: visual.borderWidthControl };
|
|
47
|
+
}
|
|
48
|
+
return recipe;
|
|
49
|
+
}
|
|
50
|
+
const BUTTON_TEXT_ROLE = {
|
|
51
|
+
default: 'label',
|
|
52
|
+
sm: 'caption',
|
|
53
|
+
lg: 'body',
|
|
54
|
+
icon: 'label',
|
|
55
|
+
};
|
|
36
56
|
const buttonTextVariants = tv({
|
|
37
|
-
base: '
|
|
57
|
+
base: 'font-medium text-center',
|
|
38
58
|
variants: {
|
|
39
59
|
variant: {
|
|
40
60
|
default: 'text-primary-foreground',
|
|
@@ -45,10 +65,10 @@ const buttonTextVariants = tv({
|
|
|
45
65
|
link: 'text-primary underline',
|
|
46
66
|
},
|
|
47
67
|
size: {
|
|
48
|
-
default: '
|
|
49
|
-
sm: '
|
|
50
|
-
lg: '
|
|
51
|
-
icon: '
|
|
68
|
+
default: '',
|
|
69
|
+
sm: '',
|
|
70
|
+
lg: '',
|
|
71
|
+
icon: '',
|
|
52
72
|
},
|
|
53
73
|
},
|
|
54
74
|
defaultVariants: {
|
|
@@ -56,30 +76,39 @@ const buttonTextVariants = tv({
|
|
|
56
76
|
size: 'default',
|
|
57
77
|
},
|
|
58
78
|
});
|
|
59
|
-
|
|
60
|
-
const
|
|
61
|
-
const
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
79
|
+
const Button = React.forwardRef(({ className, variant = 'default', size = 'default', disabled, loading = false, children, style: styleProp, ...props }, ref) => {
|
|
80
|
+
const visual = useVisualTokens();
|
|
81
|
+
const colors = useThemeColors();
|
|
82
|
+
const tokenStyle = getButtonStyleTokens(visual, size, variant);
|
|
83
|
+
const contextValue = useMemo(() => ({ variant, size }), [size, variant]);
|
|
84
|
+
const spinnerColor = variant === 'default'
|
|
85
|
+
? colors.primaryForeground
|
|
86
|
+
: variant === 'destructive'
|
|
87
|
+
? colors.destructiveForeground
|
|
88
|
+
: variant === 'secondary'
|
|
89
|
+
? colors.secondaryForeground
|
|
90
|
+
: variant === 'link'
|
|
91
|
+
? colors.primary
|
|
92
|
+
: colors.foreground;
|
|
93
|
+
return (_jsx(ButtonContext.Provider, { value: contextValue, children: _jsx(Pressable, { ref: ref, accessibilityRole: variant === 'link' ? 'link' : 'button', className: cn(buttonVariants({ variant, size }), focusRing, className), style: (state) => [
|
|
94
|
+
typeof styleProp === 'function' ? styleProp(state) : styleProp,
|
|
95
|
+
tokenStyle ?? null,
|
|
96
|
+
], disabled: disabled, loading: loading, feedback: variant === 'link' ? 'none' : 'strong', ...props, children: loading ? (_jsxs(_Fragment, { children: [_jsx(View, { className: "flex-row items-center justify-center gap-2 opacity-0", children: children }), _jsx(View, { pointerEvents: "none", accessible: false, importantForAccessibility: "no-hide-descendants", className: "absolute inset-0 items-center justify-center", children: _jsx(Spinner, { color: spinnerColor, accessible: false }) })] })) : (children) }) }));
|
|
67
97
|
});
|
|
68
98
|
Button.displayName = 'Button';
|
|
69
|
-
// ─── Sub-components ──────────────────────────────────────────
|
|
70
99
|
function ButtonText({ className, variant: variantProp, size: sizeProp, style, ...props }) {
|
|
71
100
|
const context = useContext(ButtonContext);
|
|
101
|
+
const visual = useVisualTokens();
|
|
72
102
|
const variant = variantProp ?? context.variant;
|
|
73
103
|
const size = sizeProp ?? context.size;
|
|
74
104
|
const resolved = cn(buttonTextVariants({ variant, size }), className);
|
|
75
105
|
const font = useResolveFontFamily(resolved);
|
|
76
|
-
|
|
106
|
+
const typography = typographyStyle(visual, BUTTON_TEXT_ROLE[size ?? 'default'] ?? 'label');
|
|
107
|
+
return (_jsx(Text, { className: font ? font.className : resolved, style: font ? [typography, font.style, style] : [typography, style], ...props }));
|
|
77
108
|
}
|
|
78
109
|
ButtonText.displayName = 'ButtonText';
|
|
79
|
-
function ButtonIcon({ className,
|
|
110
|
+
function ButtonIcon({ className, ...props }) {
|
|
80
111
|
return _jsx(View, { className: cn('items-center justify-center', className), ...props });
|
|
81
112
|
}
|
|
82
113
|
ButtonIcon.displayName = 'ButtonIcon';
|
|
83
|
-
// ─── Exports ─────────────────────────────────────────────────
|
|
84
114
|
export { Button, ButtonText, ButtonIcon, buttonVariants, buttonTextVariants };
|
|
85
|
-
//# sourceMappingURL=button.js.map
|
|
@@ -2,6 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import { View, type ViewProps, type TextProps } from 'react-native';
|
|
3
3
|
import { type VariantProps } from '../../lib/tv';
|
|
4
4
|
import { type FrostedSurfaceProps } from '../../lib/frosted-surface';
|
|
5
|
+
import { type ShadowTier } from '../../lib/recipes';
|
|
5
6
|
declare const cardVariants: import("tailwind-variants").TVReturnType<{
|
|
6
7
|
padding: {
|
|
7
8
|
none: string;
|
|
@@ -13,7 +14,7 @@ declare const cardVariants: import("tailwind-variants").TVReturnType<{
|
|
|
13
14
|
true: string;
|
|
14
15
|
false: string;
|
|
15
16
|
};
|
|
16
|
-
}, undefined, "
|
|
17
|
+
}, undefined, "border border-border bg-card", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
17
18
|
padding: {
|
|
18
19
|
none: string;
|
|
19
20
|
sm: string;
|
|
@@ -57,7 +58,7 @@ declare const cardVariants: import("tailwind-variants").TVReturnType<{
|
|
|
57
58
|
true: string;
|
|
58
59
|
false: string;
|
|
59
60
|
};
|
|
60
|
-
}, undefined, "
|
|
61
|
+
}, undefined, "border border-border bg-card", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
61
62
|
padding: {
|
|
62
63
|
none: string;
|
|
63
64
|
sm: string;
|
|
@@ -81,6 +82,8 @@ declare const cardVariants: import("tailwind-variants").TVReturnType<{
|
|
|
81
82
|
};
|
|
82
83
|
}>, unknown, unknown, undefined>>;
|
|
83
84
|
export interface CardProps extends ViewProps, VariantProps<typeof cardVariants>, FrostedSurfaceProps {
|
|
85
|
+
/** Elevation tier; 'sm' by default, 'none' for flat cards. */
|
|
86
|
+
shadow?: ShadowTier;
|
|
84
87
|
}
|
|
85
88
|
declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<View>>;
|
|
86
89
|
export interface CardHeaderProps extends ViewProps {
|
|
@@ -99,4 +102,3 @@ export interface CardFooterProps extends ViewProps {
|
|
|
99
102
|
}
|
|
100
103
|
declare const CardFooter: React.ForwardRefExoticComponent<CardFooterProps & React.RefAttributes<View>>;
|
|
101
104
|
export { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter, cardVariants };
|
|
102
|
-
//# sourceMappingURL=card.d.ts.map
|
|
@@ -5,15 +5,17 @@ import { Text } from '../text';
|
|
|
5
5
|
import { cn } from '../../lib/cn';
|
|
6
6
|
import { tv } from '../../lib/tv';
|
|
7
7
|
import { useFrostedSurface } from '../../lib/frosted-surface';
|
|
8
|
-
|
|
8
|
+
import { useVisualTokens } from '../../lib/visual-tokens';
|
|
9
|
+
import { useThemeColors } from '../../lib/theme-colors';
|
|
10
|
+
import { shadowStyle, surfacePadding, typographyStyle } from '../../lib/recipes';
|
|
9
11
|
const cardVariants = tv({
|
|
10
|
-
base: '
|
|
12
|
+
base: 'border border-border bg-card',
|
|
11
13
|
variants: {
|
|
12
14
|
padding: {
|
|
13
|
-
none: '
|
|
14
|
-
sm: '
|
|
15
|
-
default: '
|
|
16
|
-
lg: '
|
|
15
|
+
none: '',
|
|
16
|
+
sm: '',
|
|
17
|
+
default: '',
|
|
18
|
+
lg: '',
|
|
17
19
|
},
|
|
18
20
|
unstyled: {
|
|
19
21
|
true: 'rounded-none border-0 bg-transparent shadow-none',
|
|
@@ -25,7 +27,9 @@ const cardVariants = tv({
|
|
|
25
27
|
unstyled: false,
|
|
26
28
|
},
|
|
27
29
|
});
|
|
28
|
-
const Card = React.forwardRef(({ className, padding, unstyled, frosted = false, blurIntensity, blurTintToken, style, children, ...props }, ref) => {
|
|
30
|
+
const Card = React.forwardRef(({ className, padding, unstyled, shadow = 'sm', frosted = false, blurIntensity, blurTintToken, style, children, ...props }, ref) => {
|
|
31
|
+
const visual = useVisualTokens();
|
|
32
|
+
const colors = useThemeColors();
|
|
29
33
|
const frostedSurface = useFrostedSurface({
|
|
30
34
|
frosted,
|
|
31
35
|
blurIntensity,
|
|
@@ -33,7 +37,17 @@ const Card = React.forwardRef(({ className, padding, unstyled, frosted = false,
|
|
|
33
37
|
defaultTintToken: 'card',
|
|
34
38
|
defaultBlurPreset: 'subtle',
|
|
35
39
|
});
|
|
36
|
-
const
|
|
40
|
+
const effectivePadding = surfacePadding(visual, padding ?? 'default');
|
|
41
|
+
const cardStyle = [
|
|
42
|
+
{
|
|
43
|
+
borderRadius: unstyled ? 0 : visual.radiusXl,
|
|
44
|
+
padding: unstyled ? 0 : effectivePadding,
|
|
45
|
+
borderWidth: unstyled ? 0 : visual.borderWidthHairline,
|
|
46
|
+
},
|
|
47
|
+
unstyled ? null : shadowStyle(visual, colors, shadow),
|
|
48
|
+
frostedSurface.surfaceStyle,
|
|
49
|
+
style,
|
|
50
|
+
];
|
|
37
51
|
return (_jsxs(View, { ref: ref, className: cn(cardVariants({ padding, unstyled }), frosted && 'relative overflow-hidden bg-transparent', className), style: cardStyle, ...props, children: [frostedSurface.overlay, children] }));
|
|
38
52
|
});
|
|
39
53
|
Card.displayName = 'Card';
|
|
@@ -41,12 +55,14 @@ const CardHeader = React.forwardRef(({ className, ...props }, ref) => {
|
|
|
41
55
|
return _jsx(View, { ref: ref, className: cn('pb-3', className), ...props });
|
|
42
56
|
});
|
|
43
57
|
CardHeader.displayName = 'CardHeader';
|
|
44
|
-
const CardTitle = React.forwardRef(({ className, ...props }, ref) => {
|
|
45
|
-
|
|
58
|
+
const CardTitle = React.forwardRef(({ className, style, ...props }, ref) => {
|
|
59
|
+
const visual = useVisualTokens();
|
|
60
|
+
return (_jsx(Text, { ref: ref, className: cn('font-semibold text-card-foreground tracking-tight', className), style: [typographyStyle(visual, 'title'), style], ...props }));
|
|
46
61
|
});
|
|
47
62
|
CardTitle.displayName = 'CardTitle';
|
|
48
|
-
const CardDescription = React.forwardRef(({ className, ...props }, ref) => {
|
|
49
|
-
|
|
63
|
+
const CardDescription = React.forwardRef(({ className, style, ...props }, ref) => {
|
|
64
|
+
const visual = useVisualTokens();
|
|
65
|
+
return (_jsx(Text, { ref: ref, className: cn('text-muted-foreground', className), style: [typographyStyle(visual, 'label'), style], ...props }));
|
|
50
66
|
});
|
|
51
67
|
CardDescription.displayName = 'CardDescription';
|
|
52
68
|
const CardContent = React.forwardRef(({ className, ...props }, ref) => {
|
|
@@ -57,6 +73,4 @@ const CardFooter = React.forwardRef(({ className, ...props }, ref) => {
|
|
|
57
73
|
return _jsx(View, { ref: ref, className: cn('flex-row items-center pt-1', className), ...props });
|
|
58
74
|
});
|
|
59
75
|
CardFooter.displayName = 'CardFooter';
|
|
60
|
-
// ─── Exports ─────────────────────────────────────────────────
|
|
61
76
|
export { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter, cardVariants };
|
|
62
|
-
//# sourceMappingURL=card.js.map
|
|
@@ -6,9 +6,8 @@ export interface CheckboxProps extends Omit<ViewProps, 'children'> {
|
|
|
6
6
|
disabled?: boolean;
|
|
7
7
|
className?: string;
|
|
8
8
|
}
|
|
9
|
-
declare function Checkbox({ checked: controlledChecked, defaultChecked, onCheckedChange, disabled, className, ...props }: CheckboxProps): import("react
|
|
9
|
+
declare function Checkbox({ checked: controlledChecked, defaultChecked, onCheckedChange, disabled, className, ...props }: CheckboxProps): import("react").JSX.Element;
|
|
10
10
|
declare namespace Checkbox {
|
|
11
11
|
var displayName: string;
|
|
12
12
|
}
|
|
13
13
|
export { Checkbox };
|
|
14
|
-
//# sourceMappingURL=checkbox.d.ts.map
|
|
@@ -2,15 +2,20 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { Pressable, View } from 'react-native';
|
|
4
4
|
import { cn } from '../../lib/cn';
|
|
5
|
+
import { focusRing } from '../../lib/focus-ring';
|
|
5
6
|
import { useInteractionTokens, withInteractivePressableStyle } from '../../lib/interaction-tokens';
|
|
7
|
+
import { useVisualTokens } from '../../lib/visual-tokens';
|
|
6
8
|
function Checkbox({ checked: controlledChecked, defaultChecked = false, onCheckedChange, disabled = false, className, ...props }) {
|
|
7
9
|
const [internalChecked, setInternalChecked] = useState(defaultChecked);
|
|
8
10
|
const isChecked = controlledChecked ?? internalChecked;
|
|
9
11
|
const interaction = useInteractionTokens();
|
|
12
|
+
const visual = useVisualTokens();
|
|
10
13
|
const interactiveStyle = withInteractivePressableStyle(undefined, interaction, {
|
|
11
14
|
disabled,
|
|
12
15
|
pressedVariant: 'default',
|
|
13
16
|
});
|
|
17
|
+
const size = Math.max(18, Math.round(visual.controlHeightSm * 0.55));
|
|
18
|
+
const checkSize = Math.max(8, Math.round(size * 0.5));
|
|
14
19
|
const handleToggle = () => {
|
|
15
20
|
if (disabled)
|
|
16
21
|
return;
|
|
@@ -18,8 +23,16 @@ function Checkbox({ checked: controlledChecked, defaultChecked = false, onChecke
|
|
|
18
23
|
setInternalChecked(newValue);
|
|
19
24
|
onCheckedChange?.(newValue);
|
|
20
25
|
};
|
|
21
|
-
return (_jsx(Pressable, { onPress: handleToggle, disabled: disabled, style: interactiveStyle, hitSlop: { top: 12, bottom: 12, left: 12, right: 12 }, accessibilityRole: "checkbox", accessibilityState: { checked: isChecked, disabled }, children: _jsx(View, { className: cn('
|
|
26
|
+
return (_jsx(Pressable, { onPress: handleToggle, disabled: disabled, style: interactiveStyle, hitSlop: { top: 12, bottom: 12, left: 12, right: 12 }, accessibilityRole: "checkbox", accessibilityState: { checked: isChecked, disabled }, "aria-checked": isChecked, children: _jsx(View, { className: cn('items-center justify-center', isChecked ? 'border-primary bg-primary' : 'border-border bg-muted', focusRing, className), style: {
|
|
27
|
+
width: size,
|
|
28
|
+
height: size,
|
|
29
|
+
borderWidth: visual.borderWidthControl,
|
|
30
|
+
borderRadius: Math.max(6, Math.round(visual.radiusSm * 0.7)),
|
|
31
|
+
}, ...props, children: isChecked && (_jsx(View, { className: "bg-primary-foreground", style: {
|
|
32
|
+
width: checkSize,
|
|
33
|
+
height: checkSize,
|
|
34
|
+
borderRadius: Math.max(3, Math.round(visual.radiusSm * 0.35)),
|
|
35
|
+
} })) }) }));
|
|
22
36
|
}
|
|
23
37
|
Checkbox.displayName = 'Checkbox';
|
|
24
38
|
export { Checkbox };
|
|
25
|
-
//# sourceMappingURL=checkbox.js.map
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { type ViewProps, type PressableProps } from 'react-native';
|
|
2
3
|
interface CollapsibleContextValue {
|
|
3
4
|
isOpen: boolean;
|
|
@@ -20,17 +21,16 @@ export interface CollapsibleContentProps extends ViewProps {
|
|
|
20
21
|
className?: string;
|
|
21
22
|
forceMount?: boolean;
|
|
22
23
|
}
|
|
23
|
-
declare function Collapsible({ defaultOpen, open: controlledOpen, onOpenChange, disabled, className, children, ...props }: CollapsibleProps):
|
|
24
|
+
declare function Collapsible({ defaultOpen, open: controlledOpen, onOpenChange, disabled, className, children, ...props }: CollapsibleProps): React.JSX.Element;
|
|
24
25
|
declare namespace Collapsible {
|
|
25
26
|
var displayName: string;
|
|
26
27
|
}
|
|
27
|
-
declare function CollapsibleTrigger({ className, children, asChild, onPress, ...props }: CollapsibleTriggerProps):
|
|
28
|
+
declare function CollapsibleTrigger({ className, children, asChild, onPress, ...props }: CollapsibleTriggerProps): React.JSX.Element;
|
|
28
29
|
declare namespace CollapsibleTrigger {
|
|
29
30
|
var displayName: string;
|
|
30
31
|
}
|
|
31
|
-
declare function CollapsibleContent({ className, children, forceMount, ...props }: CollapsibleContentProps):
|
|
32
|
+
declare function CollapsibleContent({ className, children, forceMount, ...props }: CollapsibleContentProps): React.JSX.Element | null;
|
|
32
33
|
declare namespace CollapsibleContent {
|
|
33
34
|
var displayName: string;
|
|
34
35
|
}
|
|
35
36
|
export { Collapsible, CollapsibleTrigger, CollapsibleContent };
|
|
36
|
-
//# sourceMappingURL=collapsible.d.ts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import React, { createContext, useContext, useState } from 'react';
|
|
3
|
-
import { View, Pressable } from 'react-native';
|
|
2
|
+
import React, { createContext, useCallback, useContext, useMemo, useState } from 'react';
|
|
3
|
+
import { View, Pressable, } from 'react-native';
|
|
4
4
|
import Animated, { useSharedValue, useAnimatedStyle, withTiming, Easing, } from 'react-native-reanimated';
|
|
5
5
|
import { cn } from '../../lib/cn';
|
|
6
6
|
const CollapsibleContext = createContext({
|
|
@@ -8,22 +8,21 @@ const CollapsibleContext = createContext({
|
|
|
8
8
|
toggle: () => { },
|
|
9
9
|
disabled: false,
|
|
10
10
|
});
|
|
11
|
-
// Hook to access collapsible state
|
|
12
11
|
export function useCollapsible() {
|
|
13
12
|
return useContext(CollapsibleContext);
|
|
14
13
|
}
|
|
15
|
-
// ─── Components ──────────────────────────────────────────────
|
|
16
14
|
function Collapsible({ defaultOpen = false, open: controlledOpen, onOpenChange, disabled = false, className, children, ...props }) {
|
|
17
15
|
const [internalOpen, setInternalOpen] = useState(defaultOpen);
|
|
18
16
|
const isOpen = controlledOpen ?? internalOpen;
|
|
19
|
-
const toggle = () => {
|
|
17
|
+
const toggle = useCallback(() => {
|
|
20
18
|
if (disabled)
|
|
21
19
|
return;
|
|
22
20
|
const next = !isOpen;
|
|
23
21
|
setInternalOpen(next);
|
|
24
22
|
onOpenChange?.(next);
|
|
25
|
-
};
|
|
26
|
-
|
|
23
|
+
}, [disabled, isOpen, onOpenChange]);
|
|
24
|
+
const contextValue = useMemo(() => ({ isOpen, toggle, disabled }), [disabled, isOpen, toggle]);
|
|
25
|
+
return (_jsx(CollapsibleContext.Provider, { value: contextValue, children: _jsx(View, { className: cn(className), ...props, children: children }) }));
|
|
27
26
|
}
|
|
28
27
|
function CollapsibleTrigger({ className, children, asChild, onPress, ...props }) {
|
|
29
28
|
const { toggle, disabled } = useContext(CollapsibleContext);
|
|
@@ -31,11 +30,10 @@ function CollapsibleTrigger({ className, children, asChild, onPress, ...props })
|
|
|
31
30
|
onPress?.(e);
|
|
32
31
|
toggle();
|
|
33
32
|
};
|
|
34
|
-
// When asChild is true, wrap child in an invisible pressable overlay
|
|
35
33
|
if (asChild && React.isValidElement(children)) {
|
|
36
|
-
return (_jsx(Pressable, { onPress: handlePress, disabled: disabled, className: cn(className), ...props, children: children }));
|
|
34
|
+
return (_jsx(Pressable, { accessibilityRole: "button", onPress: handlePress, disabled: disabled, className: cn(className), ...props, children: children }));
|
|
37
35
|
}
|
|
38
|
-
return (_jsx(Pressable, { className: cn(className), onPress: handlePress, disabled: disabled, ...props, children: children }));
|
|
36
|
+
return (_jsx(Pressable, { accessibilityRole: "button", className: cn(className), onPress: handlePress, disabled: disabled, ...props, children: children }));
|
|
39
37
|
}
|
|
40
38
|
function CollapsibleContent({ className, children, forceMount, ...props }) {
|
|
41
39
|
const { isOpen } = useContext(CollapsibleContext);
|
|
@@ -57,4 +55,3 @@ Collapsible.displayName = 'Collapsible';
|
|
|
57
55
|
CollapsibleTrigger.displayName = 'CollapsibleTrigger';
|
|
58
56
|
CollapsibleContent.displayName = 'CollapsibleContent';
|
|
59
57
|
export { Collapsible, CollapsibleTrigger, CollapsibleContent };
|
|
60
|
-
//# sourceMappingURL=collapsible.js.map
|