@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
|
@@ -13,7 +13,7 @@ declare const segmentedControlVariants: import("tailwind-variants").TVReturnType
|
|
|
13
13
|
default: string;
|
|
14
14
|
compact: string;
|
|
15
15
|
};
|
|
16
|
-
}, undefined, "w-full flex-row items-center
|
|
16
|
+
}, undefined, "w-full flex-row items-center", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
17
17
|
variant: {
|
|
18
18
|
default: string;
|
|
19
19
|
pill: string;
|
|
@@ -65,7 +65,7 @@ declare const segmentedControlVariants: import("tailwind-variants").TVReturnType
|
|
|
65
65
|
default: string;
|
|
66
66
|
compact: string;
|
|
67
67
|
};
|
|
68
|
-
}, undefined, "w-full flex-row items-center
|
|
68
|
+
}, undefined, "w-full flex-row items-center", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
69
69
|
variant: {
|
|
70
70
|
default: string;
|
|
71
71
|
pill: string;
|
|
@@ -113,7 +113,7 @@ declare const segmentedControlItemVariants: import("tailwind-variants").TVReturn
|
|
|
113
113
|
true: string;
|
|
114
114
|
false: string;
|
|
115
115
|
};
|
|
116
|
-
}, undefined, "min-
|
|
116
|
+
}, undefined, "min-w-0 flex-row items-center justify-center", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
117
117
|
variant: {
|
|
118
118
|
default: string;
|
|
119
119
|
pill: string;
|
|
@@ -197,7 +197,7 @@ declare const segmentedControlItemVariants: import("tailwind-variants").TVReturn
|
|
|
197
197
|
true: string;
|
|
198
198
|
false: string;
|
|
199
199
|
};
|
|
200
|
-
}, undefined, "min-
|
|
200
|
+
}, undefined, "min-w-0 flex-row items-center justify-center", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
201
201
|
variant: {
|
|
202
202
|
default: string;
|
|
203
203
|
pill: string;
|
|
@@ -322,17 +322,16 @@ export interface SegmentedControlItemProps extends Omit<PressableProps, 'childre
|
|
|
322
322
|
export interface SegmentedControlItemTextProps extends TextProps {
|
|
323
323
|
className?: string;
|
|
324
324
|
}
|
|
325
|
-
declare function SegmentedControl({ value: controlledValue, defaultValue, onValueChange, variant, wrap, size, disabled, className, children, ...props }: SegmentedControlProps):
|
|
325
|
+
declare function SegmentedControl({ value: controlledValue, defaultValue, onValueChange, variant, wrap, size, disabled, className, children, style: styleProp, ...props }: SegmentedControlProps): React.JSX.Element;
|
|
326
326
|
declare namespace SegmentedControl {
|
|
327
327
|
var displayName: string;
|
|
328
328
|
}
|
|
329
|
-
declare function SegmentedControlItem({ value: itemValue, className, children, disabled: itemDisabled, style: styleProp, ...props }: SegmentedControlItemProps):
|
|
329
|
+
declare function SegmentedControlItem({ value: itemValue, className, children, disabled: itemDisabled, style: styleProp, ...props }: SegmentedControlItemProps): React.JSX.Element;
|
|
330
330
|
declare namespace SegmentedControlItem {
|
|
331
331
|
var displayName: string;
|
|
332
332
|
}
|
|
333
|
-
declare function SegmentedControlItemText({ className, ...props }: SegmentedControlItemTextProps):
|
|
333
|
+
declare function SegmentedControlItemText({ className, style, ...props }: SegmentedControlItemTextProps): React.JSX.Element;
|
|
334
334
|
declare namespace SegmentedControlItemText {
|
|
335
335
|
var displayName: string;
|
|
336
336
|
}
|
|
337
337
|
export { SegmentedControl, SegmentedControlItem, SegmentedControlItemText, segmentedControlVariants, segmentedControlItemVariants, segmentedControlItemTextVariants, };
|
|
338
|
-
//# sourceMappingURL=segmented-control.d.ts.map
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import React, { createContext, useContext, useMemo, useState } from 'react';
|
|
2
|
+
import React, { createContext, useCallback, useContext, useMemo, useState } from 'react';
|
|
3
3
|
import { Pressable, Text, View, } from 'react-native';
|
|
4
4
|
import { cn } from '../../lib/cn';
|
|
5
|
+
import { focusRingInset } from '../../lib/focus-ring';
|
|
5
6
|
import { tv } from '../../lib/tv';
|
|
6
7
|
import { useInteractionTokens, withInteractivePressableStyle } from '../../lib/interaction-tokens';
|
|
8
|
+
import { useThemeColors } from '../../lib/theme-colors';
|
|
7
9
|
import { useVisualTokens } from '../../lib/visual-tokens';
|
|
10
|
+
import { typographyStyle } from '../../lib/recipes';
|
|
8
11
|
const segmentedControlVariants = tv({
|
|
9
|
-
base: 'w-full flex-row items-center
|
|
12
|
+
base: 'w-full flex-row items-center',
|
|
10
13
|
variants: {
|
|
11
14
|
variant: {
|
|
12
|
-
default: '
|
|
13
|
-
pill: '
|
|
15
|
+
default: '',
|
|
16
|
+
pill: '',
|
|
14
17
|
},
|
|
15
18
|
wrap: {
|
|
16
19
|
true: 'flex-wrap justify-center gap-1',
|
|
@@ -28,19 +31,19 @@ const segmentedControlVariants = tv({
|
|
|
28
31
|
},
|
|
29
32
|
});
|
|
30
33
|
const segmentedControlItemVariants = tv({
|
|
31
|
-
base: 'min-
|
|
34
|
+
base: 'min-w-0 flex-row items-center justify-center',
|
|
32
35
|
variants: {
|
|
33
36
|
variant: {
|
|
34
|
-
default: '
|
|
35
|
-
pill: '
|
|
37
|
+
default: '',
|
|
38
|
+
pill: '',
|
|
36
39
|
},
|
|
37
40
|
selected: {
|
|
38
|
-
true: '
|
|
39
|
-
false: '
|
|
41
|
+
true: '',
|
|
42
|
+
false: '',
|
|
40
43
|
},
|
|
41
44
|
size: {
|
|
42
|
-
default: '
|
|
43
|
-
compact: '
|
|
45
|
+
default: '',
|
|
46
|
+
compact: '',
|
|
44
47
|
},
|
|
45
48
|
disabled: {
|
|
46
49
|
true: '',
|
|
@@ -67,8 +70,8 @@ const segmentedControlItemTextVariants = tv({
|
|
|
67
70
|
false: 'text-muted-foreground',
|
|
68
71
|
},
|
|
69
72
|
size: {
|
|
70
|
-
default: '
|
|
71
|
-
compact: '
|
|
73
|
+
default: '',
|
|
74
|
+
compact: '',
|
|
72
75
|
},
|
|
73
76
|
},
|
|
74
77
|
defaultVariants: {
|
|
@@ -76,6 +79,26 @@ const segmentedControlItemTextVariants = tv({
|
|
|
76
79
|
size: 'default',
|
|
77
80
|
},
|
|
78
81
|
});
|
|
82
|
+
function getSegmentedContainerStyle(visual, colors, variant) {
|
|
83
|
+
const inset = Math.max(4, Math.round(visual.controlPaddingYSm * 0.5));
|
|
84
|
+
return {
|
|
85
|
+
borderRadius: variant === 'pill' ? 999 : visual.radiusXl,
|
|
86
|
+
backgroundColor: colors.muted,
|
|
87
|
+
padding: inset,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
function getSegmentedItemStyle(visual, colors, size, variant, selected) {
|
|
91
|
+
const compact = size === 'compact';
|
|
92
|
+
return {
|
|
93
|
+
minHeight: compact ? visual.controlHeightSm : visual.controlHeightDefault,
|
|
94
|
+
borderRadius: variant === 'pill' ? 999 : visual.radiusLg,
|
|
95
|
+
paddingHorizontal: compact ? visual.controlPaddingXSm : visual.controlPaddingXDefault,
|
|
96
|
+
paddingVertical: compact ? visual.controlPaddingYSm : visual.controlPaddingYDefault,
|
|
97
|
+
borderWidth: selected ? visual.borderWidthHairline : 0,
|
|
98
|
+
borderColor: selected ? colors.surfaceBorder : 'transparent',
|
|
99
|
+
backgroundColor: selected ? colors.surfaceElevated : 'transparent',
|
|
100
|
+
};
|
|
101
|
+
}
|
|
79
102
|
const SegmentedControlContext = createContext({
|
|
80
103
|
value: '',
|
|
81
104
|
onValueChange: () => { },
|
|
@@ -88,20 +111,22 @@ const SegmentedControlItemContext = createContext({
|
|
|
88
111
|
selected: false,
|
|
89
112
|
size: 'default',
|
|
90
113
|
});
|
|
91
|
-
function SegmentedControl({ value: controlledValue, defaultValue = '', onValueChange, variant = 'default', wrap = 'auto', size = 'default', disabled = false, className, children, ...props }) {
|
|
114
|
+
function SegmentedControl({ value: controlledValue, defaultValue = '', onValueChange, variant = 'default', wrap = 'auto', size = 'default', disabled = false, className, children, style: styleProp, ...props }) {
|
|
115
|
+
const visual = useVisualTokens();
|
|
116
|
+
const colors = useThemeColors();
|
|
92
117
|
const [internalValue, setInternalValue] = useState(defaultValue);
|
|
93
118
|
const value = controlledValue ?? internalValue;
|
|
94
119
|
const itemCount = useMemo(() => React.Children.toArray(children).filter((child) => React.isValidElement(child)).length, [children]);
|
|
95
120
|
const shouldWrap = wrap === 'auto' ? itemCount > 3 : wrap;
|
|
96
|
-
const handleValueChange = (nextValue) => {
|
|
121
|
+
const handleValueChange = useCallback((nextValue) => {
|
|
97
122
|
if (disabled || value === nextValue) {
|
|
98
123
|
return;
|
|
99
124
|
}
|
|
100
125
|
setInternalValue(nextValue);
|
|
101
126
|
onValueChange?.(nextValue);
|
|
102
|
-
};
|
|
103
|
-
const contextValue = useMemo(() => ({ value, onValueChange: handleValueChange, variant, size, wrap: shouldWrap, disabled }), [
|
|
104
|
-
return (_jsx(SegmentedControlContext.Provider, { value: contextValue, children: _jsx(View, { className: cn(segmentedControlVariants({ variant, wrap: shouldWrap, size }), className), accessibilityRole: "radiogroup", ...props, children: children }) }));
|
|
127
|
+
}, [disabled, onValueChange, value]);
|
|
128
|
+
const contextValue = useMemo(() => ({ value, onValueChange: handleValueChange, variant, size, wrap: shouldWrap, disabled }), [disabled, handleValueChange, shouldWrap, size, value, variant]);
|
|
129
|
+
return (_jsx(SegmentedControlContext.Provider, { value: contextValue, children: _jsx(View, { className: cn(segmentedControlVariants({ variant, wrap: shouldWrap, size }), className), style: [getSegmentedContainerStyle(visual, colors, variant), styleProp], accessibilityRole: "radiogroup", ...props, children: children }) }));
|
|
105
130
|
}
|
|
106
131
|
function SegmentedControlItem({ value: itemValue, className, children, disabled: itemDisabled, style: styleProp, ...props }) {
|
|
107
132
|
const { value, onValueChange, variant, size, wrap, disabled } = useContext(SegmentedControlContext);
|
|
@@ -109,6 +134,7 @@ function SegmentedControlItem({ value: itemValue, className, children, disabled:
|
|
|
109
134
|
const finalDisabled = disabled || Boolean(itemDisabled);
|
|
110
135
|
const interaction = useInteractionTokens();
|
|
111
136
|
const visual = useVisualTokens();
|
|
137
|
+
const colors = useThemeColors();
|
|
112
138
|
const interactiveStyle = withInteractivePressableStyle(styleProp, interaction, {
|
|
113
139
|
disabled: finalDisabled,
|
|
114
140
|
pressedVariant: 'default',
|
|
@@ -116,23 +142,30 @@ function SegmentedControlItem({ value: itemValue, className, children, disabled:
|
|
|
116
142
|
const wrapBasisStyle = wrap
|
|
117
143
|
? { flexBasis: `${visual.segmentedWrapBasisRatio * 100}%` }
|
|
118
144
|
: undefined;
|
|
119
|
-
|
|
145
|
+
const tokenStyle = getSegmentedItemStyle(visual, colors, size, variant, selected);
|
|
146
|
+
const contextValue = useMemo(() => ({ selected, size }), [selected, size]);
|
|
147
|
+
return (_jsx(SegmentedControlItemContext.Provider, { value: contextValue, children: _jsx(Pressable, { className: cn(segmentedControlItemVariants({
|
|
120
148
|
variant,
|
|
121
149
|
selected,
|
|
122
150
|
size,
|
|
123
151
|
disabled: finalDisabled,
|
|
124
152
|
wrap,
|
|
125
|
-
}), className), onPress: () => onValueChange(itemValue), accessibilityRole: "radio",
|
|
153
|
+
}), focusRingInset, className), onPress: () => onValueChange(itemValue), accessibilityRole: "radio",
|
|
154
|
+
// A radio is checked, not selected. `selected` maps to `aria-selected`, which is
|
|
155
|
+
// not a valid attribute on `role="radio"` — assistive technology could not tell
|
|
156
|
+
// which segment was active. `checked` also carries the state correctly on native.
|
|
157
|
+
accessibilityState: { checked: selected, disabled: finalDisabled }, "aria-checked": selected, disabled: finalDisabled, style: (state) => {
|
|
126
158
|
const baseStyle = typeof interactiveStyle === 'function' ? interactiveStyle(state) : interactiveStyle;
|
|
127
|
-
return [baseStyle, wrapBasisStyle ?? null];
|
|
159
|
+
return [baseStyle, tokenStyle, wrapBasisStyle ?? null];
|
|
128
160
|
}, hitSlop: 4, ...props, children: typeof children === 'string' ? (_jsx(SegmentedControlItemText, { children: children })) : (children) }) }));
|
|
129
161
|
}
|
|
130
|
-
function SegmentedControlItemText({ className, ...props }) {
|
|
162
|
+
function SegmentedControlItemText({ className, style, ...props }) {
|
|
131
163
|
const { selected, size } = useContext(SegmentedControlItemContext);
|
|
132
|
-
|
|
164
|
+
const visual = useVisualTokens();
|
|
165
|
+
const typography = typographyStyle(visual, size === 'compact' ? 'caption' : 'label');
|
|
166
|
+
return (_jsx(Text, { className: cn(segmentedControlItemTextVariants({ selected, size }), className), style: [typography, style], numberOfLines: 1, ...props }));
|
|
133
167
|
}
|
|
134
168
|
SegmentedControl.displayName = 'SegmentedControl';
|
|
135
169
|
SegmentedControlItem.displayName = 'SegmentedControlItem';
|
|
136
170
|
SegmentedControlItemText.displayName = 'SegmentedControlItemText';
|
|
137
171
|
export { SegmentedControl, SegmentedControlItem, SegmentedControlItemText, segmentedControlVariants, segmentedControlItemVariants, segmentedControlItemTextVariants, };
|
|
138
|
-
//# sourceMappingURL=segmented-control.js.map
|
|
@@ -1,2 +1 @@
|
|
|
1
1
|
export { Select, SelectTrigger, SelectValue, SelectContent, SelectItem, SelectItemIcon, SelectGroup, SelectLabel, SelectSeparator, NativeSelectScrollView, type SelectOption, type SelectTriggerRef, type SelectProps, type SelectTriggerProps, type SelectValueProps, type SelectContentProps, type SelectItemProps, type SelectItemIconProps, type SelectGroupProps, type SelectLabelProps, type SelectSeparatorProps, } from './select';
|
|
2
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { ScrollView, View } from 'react-native';
|
|
2
|
+
import { ScrollView, View, type StyleProp, type ViewStyle } from 'react-native';
|
|
3
3
|
import * as SelectPrimitive from '@rn-primitives/select';
|
|
4
4
|
import { type FrostedSurfaceProps } from '../../lib/frosted-surface';
|
|
5
5
|
export type SelectOption = SelectPrimitive.Option;
|
|
@@ -12,8 +12,15 @@ export interface SelectProps {
|
|
|
12
12
|
disabled?: boolean;
|
|
13
13
|
children: React.ReactNode;
|
|
14
14
|
}
|
|
15
|
-
export interface SelectTriggerProps extends React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger> {
|
|
15
|
+
export interface SelectTriggerProps extends Omit<React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>, 'style'> {
|
|
16
16
|
className?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Object form only. On web this primitive is merged through a Slot that spreads
|
|
19
|
+
* `style`, which cannot carry a state callback — a function silently becomes `{}` and
|
|
20
|
+
* every style is lost. Rejecting it at compile time is the honest contract, and it is
|
|
21
|
+
* the same on both platforms so the API does not diverge.
|
|
22
|
+
*/
|
|
23
|
+
style?: StyleProp<ViewStyle>;
|
|
17
24
|
}
|
|
18
25
|
export interface SelectValueProps {
|
|
19
26
|
className?: string;
|
|
@@ -29,9 +36,11 @@ export interface SelectContentProps extends React.ComponentPropsWithoutRef<typeo
|
|
|
29
36
|
right?: number;
|
|
30
37
|
};
|
|
31
38
|
}
|
|
32
|
-
export interface SelectItemProps extends React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item> {
|
|
39
|
+
export interface SelectItemProps extends Omit<React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>, 'style'> {
|
|
33
40
|
className?: string;
|
|
34
41
|
children?: React.ReactNode;
|
|
42
|
+
/** Object form only — see `SelectTriggerProps.style`. */
|
|
43
|
+
style?: StyleProp<ViewStyle>;
|
|
35
44
|
}
|
|
36
45
|
export interface SelectItemIconProps {
|
|
37
46
|
className?: string;
|
|
@@ -62,10 +71,10 @@ declare const SelectGroup: React.ForwardRefExoticComponent<import("react-native"
|
|
|
62
71
|
asChild?: boolean;
|
|
63
72
|
} & React.RefAttributes<View>>;
|
|
64
73
|
declare const SelectTrigger: React.ForwardRefExoticComponent<SelectTriggerProps & React.RefAttributes<SelectPrimitive.TriggerRef>>;
|
|
65
|
-
declare function SelectValue({ className, placeholder, ...props }: SelectValueProps & React.RefAttributes<SelectPrimitive.ValueRef>):
|
|
74
|
+
declare function SelectValue({ className, placeholder, ...props }: SelectValueProps & React.RefAttributes<SelectPrimitive.ValueRef>): React.JSX.Element;
|
|
66
75
|
declare const SelectContent: React.ForwardRefExoticComponent<SelectContentProps & React.RefAttributes<View>>;
|
|
67
76
|
declare const SelectItem: React.ForwardRefExoticComponent<SelectItemProps & React.RefAttributes<View>>;
|
|
68
|
-
declare function SelectItemIcon({ className, children }: SelectItemIconProps):
|
|
77
|
+
declare function SelectItemIcon({ className, children }: SelectItemIconProps): React.JSX.Element;
|
|
69
78
|
declare namespace SelectItemIcon {
|
|
70
79
|
var displayName: string;
|
|
71
80
|
}
|
|
@@ -75,6 +84,5 @@ declare const SelectSeparator: React.ForwardRefExoticComponent<SelectSeparatorPr
|
|
|
75
84
|
* @platform Native only
|
|
76
85
|
* Returns the children on web
|
|
77
86
|
*/
|
|
78
|
-
declare function NativeSelectScrollView({ className, children, ...props }: React.ComponentProps<typeof ScrollView>):
|
|
87
|
+
declare function NativeSelectScrollView({ className, children, ...props }: React.ComponentProps<typeof ScrollView>): React.JSX.Element;
|
|
79
88
|
export { NativeSelectScrollView, Select, SelectContent, SelectGroup, SelectItem, SelectItemIcon, SelectLabel, SelectSeparator, SelectTrigger, SelectValue, };
|
|
80
|
-
//# sourceMappingURL=select.d.ts.map
|
|
@@ -1,27 +1,50 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import { Platform, ScrollView, StyleSheet, View } from 'react-native';
|
|
3
|
+
import { Platform, ScrollView, StyleSheet, View, } from 'react-native';
|
|
4
4
|
import * as SelectPrimitive from '@rn-primitives/select';
|
|
5
5
|
import { FullWindowOverlay as RNFullWindowOverlay } from 'react-native-screens';
|
|
6
|
+
import { Text } from '../text';
|
|
6
7
|
import { cn } from '../../lib/cn';
|
|
8
|
+
import { focusRing } from '../../lib/focus-ring';
|
|
7
9
|
import { useInteractionTokens } from '../../lib/interaction-tokens';
|
|
8
10
|
import { useFrostedSurface } from '../../lib/frosted-surface';
|
|
11
|
+
import { useVisualTokens } from '../../lib/visual-tokens';
|
|
12
|
+
import { useThemeColors } from '../../lib/theme-colors';
|
|
13
|
+
import { fieldRecipe, shadowStyle, surfaceRadius, typographyStyle } from '../../lib/recipes';
|
|
9
14
|
// iOS needs FullWindowOverlay to render above everything
|
|
10
15
|
const FullWindowOverlay = Platform.OS === 'ios' ? RNFullWindowOverlay : React.Fragment;
|
|
11
|
-
// ─── Components ──────────────────────────────────────────────
|
|
12
16
|
const Select = SelectPrimitive.Root;
|
|
13
17
|
const SelectGroup = SelectPrimitive.Group;
|
|
14
18
|
const SelectTrigger = React.forwardRef(({ className, children, style: styleProp, ...props }, ref) => {
|
|
15
19
|
const interaction = useInteractionTokens();
|
|
16
|
-
|
|
20
|
+
const visual = useVisualTokens();
|
|
21
|
+
return (_jsxs(SelectPrimitive.Trigger, { ref: ref, className: cn('border-border bg-muted flex w-full flex-row items-center justify-between gap-2 shadow-sm active:bg-state-pressed', focusRing, props.disabled && '', className),
|
|
22
|
+
// Pass an array unless the caller actually gave a callback. On web this primitive
|
|
23
|
+
// is wrapped in a Slot that merges `style` by object spread, which turns a
|
|
24
|
+
// function into `{}` and silently drops every style — the trigger rendered 24px
|
|
25
|
+
// tall with no padding, border or radius. A callback is still honoured on native,
|
|
26
|
+
// where dropping it was the original bug.
|
|
27
|
+
// Flattened, not an array. On web this primitive is merged through a Slot that
|
|
28
|
+
// spreads `style`, and spreading an array yields { 0: …, 1: … } — numeric keys
|
|
29
|
+
// that reach the DOM as indexed style properties and throw. The Select rendered
|
|
30
|
+
// nothing at all on web because of this.
|
|
31
|
+
style: StyleSheet.flatten([
|
|
32
|
+
fieldRecipe(visual, 'default'),
|
|
17
33
|
styleProp,
|
|
18
34
|
props.disabled ? { opacity: interaction.disabledOpacity } : null,
|
|
19
|
-
], ...props, children: [_jsx(_Fragment, { children: children }), _jsx(View, { className: "border-muted-foreground h-2 w-2 rotate-45 border-b-2 border-r-2" })] }));
|
|
35
|
+
]), ...props, children: [_jsx(_Fragment, { children: children }), _jsx(View, { className: "border-muted-foreground h-2 w-2 rotate-45 border-b-2 border-r-2" })] }));
|
|
20
36
|
});
|
|
21
37
|
SelectTrigger.displayName = 'SelectTrigger';
|
|
22
38
|
function SelectValue({ className, placeholder = 'Select...', ...props }) {
|
|
23
39
|
const { value } = SelectPrimitive.useRootContext();
|
|
24
|
-
|
|
40
|
+
const visual = useVisualTokens();
|
|
41
|
+
// The colour is set on a wrapper and inherited, rather than on the primitive itself.
|
|
42
|
+
// Its web build wraps a Radix span in a `Slot.Text` that drops React Native props, so
|
|
43
|
+
// neither `className` nor `style` reached the DOM and the text fell back to the
|
|
44
|
+
// user-agent default black — 1.2:1 on a dark surface. Rendering the label ourselves
|
|
45
|
+
// instead would fix the colour and lose the value: Radix owns the selection on web,
|
|
46
|
+
// and `useRootContext().value` is not populated there.
|
|
47
|
+
return (_jsx(Text, { className: cn('text-foreground', !value && 'text-muted-foreground', className), style: typographyStyle(visual, 'body'), numberOfLines: 1, children: _jsx(SelectPrimitive.Value, { placeholder: placeholder, ...props }) }));
|
|
25
48
|
}
|
|
26
49
|
const SelectContent = React.forwardRef(({ className, children, portalHost, position = 'popper', insets, style: styleProp, frosted = false, blurIntensity, blurTintToken, ...props }, ref) => {
|
|
27
50
|
const frostedSurface = useFrostedSurface({
|
|
@@ -31,7 +54,17 @@ const SelectContent = React.forwardRef(({ className, children, portalHost, posit
|
|
|
31
54
|
defaultTintToken: 'popover',
|
|
32
55
|
defaultBlurPreset: 'subtle',
|
|
33
56
|
});
|
|
34
|
-
|
|
57
|
+
const visual = useVisualTokens();
|
|
58
|
+
const colors = useThemeColors();
|
|
59
|
+
return (_jsx(SelectPrimitive.Portal, { hostName: portalHost, children: _jsx(FullWindowOverlay, { children: _jsx(SelectPrimitive.Overlay, { style: Platform.select({ native: StyleSheet.absoluteFill }), children: _jsxs(SelectPrimitive.Content, { ref: ref, position: position, insets: insets, style: StyleSheet.flatten([
|
|
60
|
+
{
|
|
61
|
+
borderRadius: surfaceRadius(visual, 'lg'),
|
|
62
|
+
borderWidth: visual.borderWidthHairline,
|
|
63
|
+
},
|
|
64
|
+
shadowStyle(visual, colors, 'md'),
|
|
65
|
+
frostedSurface.surfaceStyle,
|
|
66
|
+
styleProp,
|
|
67
|
+
]), className: cn('border-border relative z-50 min-w-32 overflow-hidden', frosted ? 'bg-transparent' : 'bg-popover', Platform.select({
|
|
35
68
|
web: cn('max-h-96 overflow-y-auto overflow-x-hidden', props.side === 'bottom' && 'translate-y-1', props.side === 'top' && '-translate-y-1'),
|
|
36
69
|
native: 'p-1',
|
|
37
70
|
}), className), ...props, children: [frostedSurface.overlay, _jsx(SelectPrimitive.Viewport, { className: cn('p-1', position === 'popper' &&
|
|
@@ -42,19 +75,29 @@ const SelectContent = React.forwardRef(({ className, children, portalHost, posit
|
|
|
42
75
|
SelectContent.displayName = 'SelectContent';
|
|
43
76
|
const SelectItem = React.forwardRef(({ className, children, style: styleProp, ...props }, ref) => {
|
|
44
77
|
const interaction = useInteractionTokens();
|
|
45
|
-
|
|
78
|
+
const visual = useVisualTokens();
|
|
79
|
+
return (_jsxs(SelectPrimitive.Item, { ref: ref, className: cn('active:bg-accent group relative flex w-full flex-row items-center gap-2 pr-8', Platform.select({
|
|
46
80
|
web: 'focus:bg-accent focus:text-accent-foreground cursor-default outline-none',
|
|
47
|
-
}), props.disabled && '', className), style: [
|
|
81
|
+
}), props.disabled && '', className), style: StyleSheet.flatten([
|
|
82
|
+
{
|
|
83
|
+
borderRadius: visual.radiusSm,
|
|
84
|
+
minHeight: visual.touchTargetMinSize,
|
|
85
|
+
paddingVertical: visual.controlPaddingYSm,
|
|
86
|
+
paddingLeft: visual.controlPaddingXSm,
|
|
87
|
+
},
|
|
48
88
|
styleProp,
|
|
49
89
|
props.disabled ? { opacity: interaction.disabledOpacity } : null,
|
|
50
|
-
], ...props, children: [_jsx(View, { className: "absolute right-3 flex h-4 w-4 items-center justify-center", children: _jsx(SelectPrimitive.ItemIndicator, { children: _jsx(View, { className: "border-foreground h-2.5 w-1.5 rotate-45 border-b-2 border-r-2 -mt-0.5" }) }) }), children, _jsx(SelectPrimitive.ItemText, { className: "text-foreground group-active:text-accent-foreground
|
|
90
|
+
]), ...props, children: [_jsx(View, { className: "absolute right-3 flex h-4 w-4 items-center justify-center", children: _jsx(SelectPrimitive.ItemIndicator, { children: _jsx(View, { className: "border-foreground h-2.5 w-1.5 rotate-45 border-b-2 border-r-2 -mt-0.5" }) }) }), children, _jsx(SelectPrimitive.ItemText, { className: "text-foreground group-active:text-accent-foreground", style: typographyStyle(visual, 'body') })] }));
|
|
51
91
|
});
|
|
52
92
|
SelectItem.displayName = 'SelectItem';
|
|
53
93
|
function SelectItemIcon({ className, children }) {
|
|
54
94
|
return _jsx(View, { className: cn('items-center justify-center', className), children: children });
|
|
55
95
|
}
|
|
56
96
|
SelectItemIcon.displayName = 'SelectItemIcon';
|
|
57
|
-
const SelectLabel = React.forwardRef(({ className, ...props }, ref) =>
|
|
97
|
+
const SelectLabel = React.forwardRef(({ className, style: styleProp, ...props }, ref) => {
|
|
98
|
+
const visual = useVisualTokens();
|
|
99
|
+
return (_jsx(SelectPrimitive.Label, { ref: ref, className: cn('text-muted-foreground px-2 py-2', className), style: StyleSheet.flatten([typographyStyle(visual, 'caption'), styleProp]), ...props }));
|
|
100
|
+
});
|
|
58
101
|
SelectLabel.displayName = 'SelectLabel';
|
|
59
102
|
const SelectSeparator = React.forwardRef(({ className, ...props }, ref) => (_jsx(SelectPrimitive.Separator, { ref: ref, className: cn('bg-border -mx-1 my-1 h-px', Platform.select({ web: 'pointer-events-none' }), className), ...props })));
|
|
60
103
|
SelectSeparator.displayName = 'SelectSeparator';
|
|
@@ -69,4 +112,3 @@ function NativeSelectScrollView({ className, children, ...props }) {
|
|
|
69
112
|
return (_jsx(ScrollView, { className: cn('max-h-52', className), ...props, children: children }));
|
|
70
113
|
}
|
|
71
114
|
export { NativeSelectScrollView, Select, SelectContent, SelectGroup, SelectItem, SelectItemIcon, SelectLabel, SelectSeparator, SelectTrigger, SelectValue, };
|
|
72
|
-
//# sourceMappingURL=select.js.map
|
|
@@ -5,7 +5,7 @@ declare const skeletonVariants: import("tailwind-variants").TVReturnType<{
|
|
|
5
5
|
pulse: string;
|
|
6
6
|
shimmer: string;
|
|
7
7
|
};
|
|
8
|
-
}, undefined, "
|
|
8
|
+
}, undefined, "bg-muted", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
9
9
|
variant: {
|
|
10
10
|
pulse: string;
|
|
11
11
|
shimmer: string;
|
|
@@ -25,7 +25,7 @@ declare const skeletonVariants: import("tailwind-variants").TVReturnType<{
|
|
|
25
25
|
pulse: string;
|
|
26
26
|
shimmer: string;
|
|
27
27
|
};
|
|
28
|
-
}, undefined, "
|
|
28
|
+
}, undefined, "bg-muted", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
29
29
|
variant: {
|
|
30
30
|
pulse: string;
|
|
31
31
|
shimmer: string;
|
|
@@ -39,9 +39,8 @@ declare const skeletonVariants: import("tailwind-variants").TVReturnType<{
|
|
|
39
39
|
export interface SkeletonProps extends ViewProps, VariantProps<typeof skeletonVariants> {
|
|
40
40
|
className?: string;
|
|
41
41
|
}
|
|
42
|
-
declare function Skeleton({ className, variant, ...props }: SkeletonProps): import("react
|
|
42
|
+
declare function Skeleton({ className, variant, style, ...props }: SkeletonProps): import("react").JSX.Element;
|
|
43
43
|
declare namespace Skeleton {
|
|
44
44
|
var displayName: string;
|
|
45
45
|
}
|
|
46
46
|
export { Skeleton, skeletonVariants };
|
|
47
|
-
//# sourceMappingURL=skeleton.d.ts.map
|
|
@@ -6,9 +6,8 @@ import { cn } from '../../lib/cn';
|
|
|
6
6
|
import { tv } from '../../lib/tv';
|
|
7
7
|
import { useThemeColors } from '../../lib/theme-colors';
|
|
8
8
|
import { useVisualTokens } from '../../lib/visual-tokens';
|
|
9
|
-
// ─── Variants ─────────────────────────────────────────────────
|
|
10
9
|
const skeletonVariants = tv({
|
|
11
|
-
base: '
|
|
10
|
+
base: 'bg-muted',
|
|
12
11
|
variants: {
|
|
13
12
|
variant: {
|
|
14
13
|
pulse: '',
|
|
@@ -17,11 +16,13 @@ const skeletonVariants = tv({
|
|
|
17
16
|
},
|
|
18
17
|
defaultVariants: { variant: 'pulse' },
|
|
19
18
|
});
|
|
20
|
-
|
|
21
|
-
function Skeleton({ className, variant = 'pulse', ...props }) {
|
|
19
|
+
function Skeleton({ className, variant = 'pulse', style, ...props }) {
|
|
22
20
|
const progress = useSharedValue(0);
|
|
23
21
|
const colors = useThemeColors();
|
|
24
22
|
const visual = useVisualTokens();
|
|
23
|
+
// Circular skeletons keep their class-driven radius; everything else gets the token radius.
|
|
24
|
+
const isCircular = className?.includes('rounded-full') ?? false;
|
|
25
|
+
const radiusStyle = isCircular ? null : { borderRadius: visual.radiusMd };
|
|
25
26
|
useEffect(() => {
|
|
26
27
|
progress.value = withRepeat(withTiming(1, { duration: variant === 'shimmer' ? 1400 : 1500, easing: Easing.linear }), -1, false);
|
|
27
28
|
}, [progress, variant]);
|
|
@@ -37,7 +38,7 @@ function Skeleton({ className, variant = 'pulse', ...props }) {
|
|
|
37
38
|
};
|
|
38
39
|
});
|
|
39
40
|
if (variant === 'shimmer') {
|
|
40
|
-
return (_jsx(View, { className: cn(skeletonVariants({ variant }), 'overflow-hidden', className), ...props, children: _jsx(Animated.View, { style: [
|
|
41
|
+
return (_jsx(View, { className: cn(skeletonVariants({ variant }), 'overflow-hidden', className), style: [radiusStyle, style], ...props, children: _jsx(Animated.View, { style: [
|
|
41
42
|
shimmerStyle,
|
|
42
43
|
{
|
|
43
44
|
position: 'absolute',
|
|
@@ -49,9 +50,7 @@ function Skeleton({ className, variant = 'pulse', ...props }) {
|
|
|
49
50
|
},
|
|
50
51
|
] }) }));
|
|
51
52
|
}
|
|
52
|
-
return (_jsx(Animated.View, { style: pulseStyle, className: cn(skeletonVariants({ variant }), className), ...props }));
|
|
53
|
+
return (_jsx(Animated.View, { style: [pulseStyle, radiusStyle, style], className: cn(skeletonVariants({ variant }), className), ...props }));
|
|
53
54
|
}
|
|
54
55
|
Skeleton.displayName = 'Skeleton';
|
|
55
|
-
// ─── Exports ─────────────────────────────────────────────────
|
|
56
56
|
export { Skeleton, skeletonVariants };
|
|
57
|
-
//# sourceMappingURL=skeleton.js.map
|
|
@@ -46,9 +46,8 @@ declare const spinnerVariants: import("tailwind-variants").TVReturnType<{
|
|
|
46
46
|
export interface SpinnerProps extends Omit<ActivityIndicatorProps, 'size'>, VariantProps<typeof spinnerVariants> {
|
|
47
47
|
className?: string;
|
|
48
48
|
}
|
|
49
|
-
declare function Spinner({ className, size, color, ...props }: SpinnerProps): import("react
|
|
49
|
+
declare function Spinner({ className, size, color, ...props }: SpinnerProps): import("react").JSX.Element;
|
|
50
50
|
declare namespace Spinner {
|
|
51
51
|
var displayName: string;
|
|
52
52
|
}
|
|
53
53
|
export { Spinner, spinnerVariants };
|
|
54
|
-
//# sourceMappingURL=spinner.d.ts.map
|
|
@@ -24,8 +24,10 @@ const sizeMap = {
|
|
|
24
24
|
function Spinner({ className, size, color, ...props }) {
|
|
25
25
|
const colors = useThemeColors();
|
|
26
26
|
const activityIndicatorSize = size && size in sizeMap ? sizeMap[size] : 'small';
|
|
27
|
-
return (_jsx(ActivityIndicator, { size: activityIndicatorSize, color: color ?? colors.foreground, className: cn(spinnerVariants({ size }), className),
|
|
27
|
+
return (_jsx(ActivityIndicator, { size: activityIndicatorSize, color: color ?? colors.foreground, className: cn(spinnerVariants({ size }), className),
|
|
28
|
+
// `ActivityIndicator` renders `role="progressbar"`, and a progressbar with no name
|
|
29
|
+
// fails WCAG 4.1.2. Override with what is loading when you know it.
|
|
30
|
+
accessibilityLabel: "Loading", ...props }));
|
|
28
31
|
}
|
|
29
32
|
Spinner.displayName = 'Spinner';
|
|
30
33
|
export { Spinner, spinnerVariants };
|
|
31
|
-
//# sourceMappingURL=spinner.js.map
|
|
@@ -6,9 +6,8 @@ export interface SwitchProps extends Omit<ViewProps, 'children'> {
|
|
|
6
6
|
disabled?: boolean;
|
|
7
7
|
className?: string;
|
|
8
8
|
}
|
|
9
|
-
declare function Switch({ checked: controlledChecked, defaultChecked, onCheckedChange, disabled, className, ...props }: SwitchProps): import("react
|
|
9
|
+
declare function Switch({ checked: controlledChecked, defaultChecked, onCheckedChange, disabled, className, ...props }: SwitchProps): import("react").JSX.Element;
|
|
10
10
|
declare namespace Switch {
|
|
11
11
|
var displayName: string;
|
|
12
12
|
}
|
|
13
13
|
export { Switch };
|
|
14
|
-
//# sourceMappingURL=switch.d.ts.map
|