@thewhileloop/whileui 1.2.2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +248 -85
- package/dist/blocks/chat/chat.d.ts +3 -4
- package/dist/blocks/chat/chat.js +29 -17
- package/dist/blocks/chat/index.d.ts +0 -1
- package/dist/blocks/chat/index.js +0 -1
- package/dist/blocks/commerce/checkout-summary.d.ts +1 -2
- package/dist/blocks/commerce/checkout-summary.js +16 -4
- package/dist/blocks/commerce/feature-gate.d.ts +1 -2
- package/dist/blocks/commerce/feature-gate.js +14 -4
- package/dist/blocks/commerce/index.d.ts +0 -1
- package/dist/blocks/commerce/index.js +0 -1
- package/dist/blocks/commerce/metric-card.d.ts +3 -4
- package/dist/blocks/commerce/metric-card.js +7 -3
- package/dist/blocks/commerce/plan-toggle.d.ts +1 -2
- package/dist/blocks/commerce/plan-toggle.js +11 -9
- package/dist/blocks/commerce/pricing-card.d.ts +1 -2
- package/dist/blocks/commerce/pricing-card.js +23 -6
- package/dist/blocks/commerce/product-card.d.ts +1 -2
- package/dist/blocks/commerce/product-card.js +23 -9
- package/dist/blocks/commerce/subscription-card.d.ts +1 -2
- package/dist/blocks/commerce/subscription-card.js +6 -3
- package/dist/blocks/commerce/upgrade-banner.d.ts +1 -2
- package/dist/blocks/commerce/upgrade-banner.js +13 -3
- package/dist/blocks/commerce/usage-bar.d.ts +1 -2
- package/dist/blocks/commerce/usage-bar.js +4 -2
- package/dist/blocks/datepicker/date-range-picker-modal.d.ts +2 -3
- package/dist/blocks/datepicker/date-range-picker-modal.js +33 -7
- package/dist/blocks/datepicker/datepicker-inline.d.ts +1 -2
- package/dist/blocks/datepicker/datepicker-inline.js +9 -3
- package/dist/blocks/datepicker/datepicker-modal.d.ts +2 -3
- package/dist/blocks/datepicker/datepicker-modal.js +49 -17
- package/dist/blocks/datepicker/index.d.ts +0 -1
- package/dist/blocks/datepicker/index.js +0 -1
- package/dist/blocks/datepicker/use-calendar-theme.d.ts +0 -1
- package/dist/blocks/datepicker/use-calendar-theme.js +0 -1
- package/dist/blocks/layout/action-bar.d.ts +1 -2
- package/dist/blocks/layout/action-bar.js +0 -1
- package/dist/blocks/layout/app-shell.d.ts +1 -2
- package/dist/blocks/layout/app-shell.js +11 -5
- package/dist/blocks/layout/confirm-action-sheet.d.ts +1 -2
- package/dist/blocks/layout/confirm-action-sheet.js +18 -6
- package/dist/blocks/layout/content-skeleton.d.ts +1 -2
- package/dist/blocks/layout/content-skeleton.js +22 -9
- package/dist/blocks/layout/docked-input.d.ts +11 -0
- package/dist/blocks/layout/docked-input.js +27 -0
- package/dist/blocks/layout/empty-state.d.ts +1 -2
- package/dist/blocks/layout/empty-state.js +10 -5
- package/dist/blocks/layout/error-boundary.d.ts +1 -2
- package/dist/blocks/layout/error-boundary.js +0 -2
- package/dist/blocks/layout/error-state.d.ts +1 -2
- package/dist/blocks/layout/error-state.js +0 -2
- package/dist/blocks/layout/form-modal-screen.d.ts +1 -2
- package/dist/blocks/layout/form-modal-screen.js +24 -21
- package/dist/blocks/layout/index.d.ts +2 -2
- package/dist/blocks/layout/index.js +2 -2
- package/dist/blocks/layout/keyboard-aware-screen.d.ts +14 -0
- package/dist/blocks/layout/keyboard-aware-screen.js +12 -0
- package/dist/blocks/layout/loading-screen.d.ts +1 -2
- package/dist/blocks/layout/loading-screen.js +6 -8
- package/dist/blocks/layout/page-skeleton.d.ts +1 -2
- package/dist/blocks/layout/page-skeleton.js +38 -20
- package/dist/blocks/layout/pull-to-refresh-scroll-view.d.ts +8 -4
- package/dist/blocks/layout/pull-to-refresh-scroll-view.js +17 -4
- package/dist/blocks/layout/screen-skeleton.d.ts +1 -2
- package/dist/blocks/layout/screen-skeleton.js +0 -1
- package/dist/blocks/layout/sheet.d.ts +9 -9
- package/dist/blocks/layout/sheet.js +51 -21
- package/dist/blocks/layout/smart-input.d.ts +6 -1
- package/dist/blocks/layout/smart-input.js +121 -9
- package/dist/blocks/lists/index.d.ts +0 -2
- package/dist/blocks/lists/index.js +0 -2
- package/dist/blocks/lists/list-item.d.ts +1 -2
- package/dist/blocks/lists/list-item.js +20 -6
- package/dist/blocks/lists/notification-item.d.ts +1 -2
- package/dist/blocks/lists/notification-item.js +19 -6
- package/dist/blocks/lists/timeline-feed.d.ts +1 -2
- package/dist/blocks/lists/timeline-feed.js +4 -2
- package/dist/blocks/media/index.d.ts +0 -1
- package/dist/blocks/media/index.js +0 -1
- package/dist/blocks/media/smart-image.d.ts +0 -1
- package/dist/blocks/media/smart-image.js +24 -8
- package/dist/blocks/navigation/bottom-nav.d.ts +1 -2
- package/dist/blocks/navigation/bottom-nav.js +7 -4
- package/dist/blocks/navigation/drawer-menu.d.ts +1 -2
- package/dist/blocks/navigation/drawer-menu.js +52 -15
- package/dist/blocks/navigation/floating-bottom-nav.d.ts +1 -2
- package/dist/blocks/navigation/floating-bottom-nav.js +14 -5
- package/dist/blocks/navigation/header.d.ts +2 -3
- package/dist/blocks/navigation/header.js +13 -5
- package/dist/blocks/navigation/index.d.ts +0 -2
- package/dist/blocks/navigation/index.js +0 -2
- package/dist/blocks/navigation/tab-bar.d.ts +1 -2
- package/dist/blocks/navigation/tab-bar.js +22 -10
- package/dist/blocks/splash/index.d.ts +0 -1
- package/dist/blocks/splash/index.js +0 -1
- package/dist/blocks/splash/splash-screen.d.ts +3 -4
- package/dist/blocks/splash/splash-screen.js +15 -11
- package/dist/components/accordion/accordion.d.ts +4 -5
- package/dist/components/accordion/accordion.js +6 -7
- package/dist/components/accordion/index.d.ts +0 -1
- package/dist/components/accordion/index.js +0 -1
- package/dist/components/alert/alert.d.ts +2 -3
- package/dist/components/alert/alert.js +19 -8
- package/dist/components/alert/index.d.ts +0 -1
- package/dist/components/alert/index.js +0 -1
- package/dist/components/alert-dialog/alert-dialog.d.ts +16 -12
- package/dist/components/alert-dialog/alert-dialog.js +184 -49
- package/dist/components/alert-dialog/index.d.ts +0 -1
- package/dist/components/alert-dialog/index.js +0 -1
- package/dist/components/aspect-ratio/aspect-ratio.d.ts +1 -2
- package/dist/components/aspect-ratio/aspect-ratio.js +0 -3
- package/dist/components/aspect-ratio/index.d.ts +0 -1
- package/dist/components/aspect-ratio/index.js +0 -1
- package/dist/components/avatar/avatar.d.ts +2 -3
- package/dist/components/avatar/avatar.js +7 -8
- package/dist/components/avatar/index.d.ts +0 -1
- package/dist/components/avatar/index.js +0 -1
- package/dist/components/badge/badge.d.ts +6 -7
- package/dist/components/badge/badge.js +21 -9
- package/dist/components/badge/index.d.ts +0 -1
- package/dist/components/badge/index.js +0 -1
- package/dist/components/button/button.d.ts +11 -10
- package/dist/components/button/button.js +62 -33
- package/dist/components/button/index.d.ts +0 -1
- package/dist/components/button/index.js +0 -1
- package/dist/components/card/card.d.ts +5 -3
- package/dist/components/card/card.js +28 -14
- package/dist/components/card/index.d.ts +0 -1
- package/dist/components/card/index.js +0 -1
- package/dist/components/checkbox/checkbox.d.ts +1 -2
- package/dist/components/checkbox/checkbox.js +15 -2
- package/dist/components/checkbox/index.d.ts +0 -1
- package/dist/components/checkbox/index.js +0 -1
- package/dist/components/collapsible/collapsible.d.ts +4 -4
- package/dist/components/collapsible/collapsible.js +8 -11
- package/dist/components/collapsible/index.d.ts +0 -1
- package/dist/components/collapsible/index.js +0 -1
- package/dist/components/container/container.d.ts +146 -0
- package/dist/components/container/container.js +43 -0
- package/dist/components/container/index.d.ts +1 -0
- package/dist/components/container/index.js +1 -0
- package/dist/components/context-menu/context-menu.d.ts +6 -7
- package/dist/components/context-menu/context-menu.js +42 -12
- package/dist/components/context-menu/index.d.ts +0 -1
- package/dist/components/context-menu/index.js +0 -1
- package/dist/components/data-row/data-row.d.ts +0 -1
- package/dist/components/data-row/data-row.js +35 -17
- package/dist/components/data-row/index.d.ts +0 -1
- package/dist/components/data-row/index.js +0 -1
- package/dist/components/dialog/dialog.d.ts +8 -9
- package/dist/components/dialog/dialog.js +48 -24
- package/dist/components/dialog/index.d.ts +0 -1
- package/dist/components/dialog/index.js +0 -1
- package/dist/components/dropdown-menu/dropdown-menu.d.ts +6 -7
- package/dist/components/dropdown-menu/dropdown-menu.js +45 -11
- package/dist/components/dropdown-menu/index.d.ts +0 -1
- package/dist/components/dropdown-menu/index.js +0 -1
- package/dist/components/form-field/form-field.d.ts +0 -1
- package/dist/components/form-field/form-field.js +26 -13
- package/dist/components/form-field/index.d.ts +0 -1
- package/dist/components/form-field/index.js +0 -1
- package/dist/components/hover-card/hover-card.d.ts +1 -2
- package/dist/components/hover-card/hover-card.js +12 -3
- package/dist/components/hover-card/index.d.ts +0 -1
- package/dist/components/hover-card/index.js +0 -1
- package/dist/components/input/index.d.ts +0 -1
- package/dist/components/input/index.js +0 -1
- package/dist/components/input/input.d.ts +2 -3
- package/dist/components/input/input.js +18 -3
- package/dist/components/label/index.d.ts +0 -1
- package/dist/components/label/index.js +0 -1
- package/dist/components/label/label.d.ts +0 -1
- package/dist/components/label/label.js +0 -1
- package/dist/components/labeled-field/index.d.ts +0 -1
- package/dist/components/labeled-field/index.js +0 -1
- package/dist/components/labeled-field/labeled-field.d.ts +1 -2
- package/dist/components/labeled-field/labeled-field.js +10 -2
- package/dist/components/menubar/index.d.ts +0 -1
- package/dist/components/menubar/index.js +0 -1
- package/dist/components/menubar/menubar.d.ts +7 -8
- package/dist/components/menubar/menubar.js +48 -15
- package/dist/components/numeric-input/index.d.ts +0 -1
- package/dist/components/numeric-input/index.js +0 -1
- package/dist/components/numeric-input/numeric-input.d.ts +6 -5
- package/dist/components/numeric-input/numeric-input.js +55 -26
- package/dist/components/otp-input/index.d.ts +0 -1
- package/dist/components/otp-input/index.js +0 -1
- package/dist/components/otp-input/otp-input.d.ts +3 -4
- package/dist/components/otp-input/otp-input.js +13 -9
- package/dist/components/popover/index.d.ts +0 -1
- package/dist/components/popover/index.js +0 -1
- package/dist/components/popover/popover.d.ts +4 -2
- package/dist/components/popover/popover.js +21 -4
- package/dist/components/pressable/index.d.ts +0 -1
- package/dist/components/pressable/index.js +0 -1
- package/dist/components/pressable/pressable.d.ts +7 -1
- package/dist/components/pressable/pressable.js +47 -4
- package/dist/components/progress/index.d.ts +0 -1
- package/dist/components/progress/index.js +0 -1
- package/dist/components/progress/progress.d.ts +0 -1
- package/dist/components/progress/progress.js +5 -2
- package/dist/components/radio-group/index.d.ts +0 -1
- package/dist/components/radio-group/index.js +0 -1
- package/dist/components/radio-group/radio-group.d.ts +2 -3
- package/dist/components/radio-group/radio-group.js +16 -7
- package/dist/components/row/index.d.ts +0 -1
- package/dist/components/row/index.js +0 -1
- package/dist/components/row/row.d.ts +0 -1
- package/dist/components/row/row.js +0 -1
- package/dist/components/segmented-control/index.d.ts +0 -1
- package/dist/components/segmented-control/index.js +0 -1
- package/dist/components/segmented-control/segmented-control.d.ts +7 -8
- package/dist/components/segmented-control/segmented-control.js +57 -24
- package/dist/components/select/index.d.ts +0 -1
- package/dist/components/select/index.js +0 -1
- package/dist/components/select/select.d.ts +15 -7
- package/dist/components/select/select.js +53 -11
- package/dist/components/separator/index.d.ts +0 -1
- package/dist/components/separator/index.js +0 -1
- package/dist/components/separator/separator.d.ts +0 -1
- package/dist/components/separator/separator.js +0 -1
- package/dist/components/skeleton/index.d.ts +0 -1
- package/dist/components/skeleton/index.js +0 -1
- package/dist/components/skeleton/skeleton.d.ts +3 -4
- package/dist/components/skeleton/skeleton.js +7 -8
- package/dist/components/spinner/index.d.ts +0 -1
- package/dist/components/spinner/index.js +0 -1
- package/dist/components/spinner/spinner.d.ts +1 -2
- package/dist/components/spinner/spinner.js +4 -2
- package/dist/components/stack/index.d.ts +0 -1
- package/dist/components/stack/index.js +0 -1
- package/dist/components/stack/stack.d.ts +0 -1
- package/dist/components/stack/stack.js +0 -1
- package/dist/components/switch/index.d.ts +0 -1
- package/dist/components/switch/index.js +0 -1
- package/dist/components/switch/switch.d.ts +1 -2
- package/dist/components/switch/switch.js +21 -2
- package/dist/components/tabs/index.d.ts +0 -1
- package/dist/components/tabs/index.js +0 -1
- package/dist/components/tabs/tabs.d.ts +6 -7
- package/dist/components/tabs/tabs.js +42 -12
- package/dist/components/text/index.d.ts +0 -1
- package/dist/components/text/index.js +0 -1
- package/dist/components/text/text.d.ts +0 -1
- package/dist/components/text/text.js +0 -1
- package/dist/components/textarea/index.d.ts +0 -1
- package/dist/components/textarea/index.js +0 -1
- package/dist/components/textarea/textarea.d.ts +2 -3
- package/dist/components/textarea/textarea.js +16 -8
- package/dist/components/toast/index.d.ts +0 -1
- package/dist/components/toast/index.js +0 -1
- package/dist/components/toast/toast.d.ts +5 -6
- package/dist/components/toast/toast.js +40 -24
- package/dist/components/toggle/index.d.ts +0 -1
- package/dist/components/toggle/index.js +0 -1
- package/dist/components/toggle/toggle.d.ts +6 -7
- package/dist/components/toggle/toggle.js +32 -16
- package/dist/components/toggle-group/index.d.ts +0 -1
- package/dist/components/toggle-group/index.js +0 -1
- package/dist/components/toggle-group/toggle-group.d.ts +7 -8
- package/dist/components/toggle-group/toggle-group.js +36 -19
- package/dist/components/tooltip/index.d.ts +0 -1
- package/dist/components/tooltip/index.js +0 -1
- package/dist/components/tooltip/tooltip.d.ts +1 -2
- package/dist/components/tooltip/tooltip.js +20 -3
- package/dist/components/view/index.d.ts +0 -1
- package/dist/components/view/index.js +0 -1
- package/dist/components/view/view.d.ts +0 -1
- package/dist/components/view/view.js +0 -1
- package/dist/index.d.ts +9 -3
- package/dist/index.js +9 -7
- package/dist/lib/cn.d.ts +0 -1
- package/dist/lib/cn.js +0 -1
- package/dist/lib/compose-event-handlers.d.ts +15 -0
- package/dist/lib/compose-event-handlers.js +20 -0
- package/dist/lib/focus-ring.d.ts +25 -0
- package/dist/lib/focus-ring.js +25 -0
- package/dist/lib/font-context.d.ts +1 -1
- package/dist/lib/font-context.js +6 -4
- package/dist/lib/frosted-surface.d.ts +0 -1
- package/dist/lib/frosted-surface.js +31 -6
- package/dist/lib/interaction-tokens.d.ts +12 -1
- package/dist/lib/interaction-tokens.js +27 -13
- package/dist/lib/motion-policy.d.ts +25 -0
- package/dist/lib/motion-policy.js +97 -0
- package/dist/lib/overlay-insets.d.ts +17 -0
- package/dist/lib/overlay-insets.js +23 -0
- package/dist/lib/portal.d.ts +0 -1
- package/dist/lib/portal.js +0 -1
- package/dist/lib/react-native-classname.d.ts +0 -1
- package/dist/lib/react-native-classname.js +0 -1
- package/dist/lib/recipes.d.ts +30 -0
- package/dist/lib/recipes.js +138 -0
- package/dist/lib/tap-only.d.ts +11 -0
- package/dist/lib/tap-only.js +24 -0
- package/dist/lib/theme-bridge.d.ts +0 -1
- package/dist/lib/theme-bridge.js +11 -3
- package/dist/lib/theme-colors.d.ts +2 -46
- package/dist/lib/theme-colors.js +25 -226
- package/dist/lib/theme-contract.d.ts +78 -0
- package/dist/lib/theme-contract.js +481 -0
- package/dist/lib/theme-derive.d.ts +4 -0
- package/dist/lib/theme-derive.js +80 -0
- package/dist/lib/theme-presets.d.ts +31 -0
- package/dist/lib/theme-presets.js +221 -0
- package/dist/lib/tv.d.ts +0 -1
- package/dist/lib/tv.js +0 -1
- package/dist/lib/visual-token-contract.d.ts +110 -0
- package/dist/lib/visual-token-contract.js +583 -0
- package/dist/lib/visual-tokens.d.ts +2 -38
- package/dist/lib/visual-tokens.js +22 -75
- package/dist/tokens.d.ts +4 -0
- package/dist/tokens.js +6 -0
- package/dist/vite.d.ts +0 -1
- package/dist/vite.js +0 -1
- package/package.json +30 -20
- package/dist/blocks/auth/forgot-password-form.d.ts +0 -10
- package/dist/blocks/auth/forgot-password-form.d.ts.map +0 -1
- package/dist/blocks/auth/forgot-password-form.js +0 -17
- package/dist/blocks/auth/forgot-password-form.js.map +0 -1
- package/dist/blocks/auth/index.d.ts +0 -8
- package/dist/blocks/auth/index.d.ts.map +0 -1
- package/dist/blocks/auth/index.js +0 -8
- package/dist/blocks/auth/index.js.map +0 -1
- package/dist/blocks/auth/reset-password-form.d.ts +0 -9
- package/dist/blocks/auth/reset-password-form.d.ts.map +0 -1
- package/dist/blocks/auth/reset-password-form.js +0 -16
- package/dist/blocks/auth/reset-password-form.js.map +0 -1
- package/dist/blocks/auth/sign-in-form.d.ts +0 -17
- package/dist/blocks/auth/sign-in-form.d.ts.map +0 -1
- package/dist/blocks/auth/sign-in-form.js +0 -19
- package/dist/blocks/auth/sign-in-form.js.map +0 -1
- package/dist/blocks/auth/sign-up-form.d.ts +0 -17
- package/dist/blocks/auth/sign-up-form.d.ts.map +0 -1
- package/dist/blocks/auth/sign-up-form.js +0 -21
- package/dist/blocks/auth/sign-up-form.js.map +0 -1
- package/dist/blocks/auth/social-connections.d.ts +0 -10
- package/dist/blocks/auth/social-connections.d.ts.map +0 -1
- package/dist/blocks/auth/social-connections.js +0 -8
- package/dist/blocks/auth/social-connections.js.map +0 -1
- package/dist/blocks/auth/user-menu.d.ts +0 -12
- package/dist/blocks/auth/user-menu.d.ts.map +0 -1
- package/dist/blocks/auth/user-menu.js +0 -10
- package/dist/blocks/auth/user-menu.js.map +0 -1
- package/dist/blocks/auth/verify-email-form.d.ts +0 -10
- package/dist/blocks/auth/verify-email-form.d.ts.map +0 -1
- package/dist/blocks/auth/verify-email-form.js +0 -17
- package/dist/blocks/auth/verify-email-form.js.map +0 -1
- package/dist/blocks/chat/chat.d.ts.map +0 -1
- package/dist/blocks/chat/chat.js.map +0 -1
- package/dist/blocks/chat/index.d.ts.map +0 -1
- package/dist/blocks/chat/index.js.map +0 -1
- package/dist/blocks/commerce/checkout-summary.d.ts.map +0 -1
- package/dist/blocks/commerce/checkout-summary.js.map +0 -1
- package/dist/blocks/commerce/feature-gate.d.ts.map +0 -1
- package/dist/blocks/commerce/feature-gate.js.map +0 -1
- package/dist/blocks/commerce/index.d.ts.map +0 -1
- package/dist/blocks/commerce/index.js.map +0 -1
- package/dist/blocks/commerce/metric-card.d.ts.map +0 -1
- package/dist/blocks/commerce/metric-card.js.map +0 -1
- package/dist/blocks/commerce/plan-toggle.d.ts.map +0 -1
- package/dist/blocks/commerce/plan-toggle.js.map +0 -1
- package/dist/blocks/commerce/pricing-card.d.ts.map +0 -1
- package/dist/blocks/commerce/pricing-card.js.map +0 -1
- package/dist/blocks/commerce/product-card.d.ts.map +0 -1
- package/dist/blocks/commerce/product-card.js.map +0 -1
- package/dist/blocks/commerce/subscription-card.d.ts.map +0 -1
- package/dist/blocks/commerce/subscription-card.js.map +0 -1
- package/dist/blocks/commerce/upgrade-banner.d.ts.map +0 -1
- package/dist/blocks/commerce/upgrade-banner.js.map +0 -1
- package/dist/blocks/commerce/usage-bar.d.ts.map +0 -1
- package/dist/blocks/commerce/usage-bar.js.map +0 -1
- package/dist/blocks/datepicker/date-range-picker-modal.d.ts.map +0 -1
- package/dist/blocks/datepicker/date-range-picker-modal.js.map +0 -1
- package/dist/blocks/datepicker/datepicker-inline.d.ts.map +0 -1
- package/dist/blocks/datepicker/datepicker-inline.js.map +0 -1
- package/dist/blocks/datepicker/datepicker-modal.d.ts.map +0 -1
- package/dist/blocks/datepicker/datepicker-modal.js.map +0 -1
- package/dist/blocks/datepicker/index.d.ts.map +0 -1
- package/dist/blocks/datepicker/index.js.map +0 -1
- package/dist/blocks/datepicker/use-calendar-theme.d.ts.map +0 -1
- package/dist/blocks/datepicker/use-calendar-theme.js.map +0 -1
- package/dist/blocks/layout/action-bar.d.ts.map +0 -1
- package/dist/blocks/layout/action-bar.js.map +0 -1
- package/dist/blocks/layout/app-shell.d.ts.map +0 -1
- package/dist/blocks/layout/app-shell.js.map +0 -1
- package/dist/blocks/layout/confirm-action-sheet.d.ts.map +0 -1
- package/dist/blocks/layout/confirm-action-sheet.js.map +0 -1
- package/dist/blocks/layout/content-skeleton.d.ts.map +0 -1
- package/dist/blocks/layout/content-skeleton.js.map +0 -1
- package/dist/blocks/layout/empty-state.d.ts.map +0 -1
- package/dist/blocks/layout/empty-state.js.map +0 -1
- package/dist/blocks/layout/error-boundary.d.ts.map +0 -1
- package/dist/blocks/layout/error-boundary.js.map +0 -1
- package/dist/blocks/layout/error-state.d.ts.map +0 -1
- package/dist/blocks/layout/error-state.js.map +0 -1
- package/dist/blocks/layout/form-modal-screen.d.ts.map +0 -1
- package/dist/blocks/layout/form-modal-screen.js.map +0 -1
- package/dist/blocks/layout/index.d.ts.map +0 -1
- package/dist/blocks/layout/index.js.map +0 -1
- package/dist/blocks/layout/loading-screen.d.ts.map +0 -1
- package/dist/blocks/layout/loading-screen.js.map +0 -1
- package/dist/blocks/layout/onboarding-screen.d.ts +0 -19
- package/dist/blocks/layout/onboarding-screen.d.ts.map +0 -1
- package/dist/blocks/layout/onboarding-screen.js +0 -35
- package/dist/blocks/layout/onboarding-screen.js.map +0 -1
- package/dist/blocks/layout/page-skeleton.d.ts.map +0 -1
- package/dist/blocks/layout/page-skeleton.js.map +0 -1
- package/dist/blocks/layout/pull-to-refresh-scroll-view.d.ts.map +0 -1
- package/dist/blocks/layout/pull-to-refresh-scroll-view.js.map +0 -1
- package/dist/blocks/layout/screen-skeleton.d.ts.map +0 -1
- package/dist/blocks/layout/screen-skeleton.js.map +0 -1
- package/dist/blocks/layout/sheet.d.ts.map +0 -1
- package/dist/blocks/layout/sheet.js.map +0 -1
- package/dist/blocks/layout/smart-image.d.ts +0 -9
- package/dist/blocks/layout/smart-image.d.ts.map +0 -1
- package/dist/blocks/layout/smart-image.js +0 -23
- package/dist/blocks/layout/smart-image.js.map +0 -1
- package/dist/blocks/layout/smart-input.d.ts.map +0 -1
- package/dist/blocks/layout/smart-input.js.map +0 -1
- package/dist/blocks/lists/index.d.ts.map +0 -1
- package/dist/blocks/lists/index.js.map +0 -1
- package/dist/blocks/lists/list-item.d.ts.map +0 -1
- package/dist/blocks/lists/list-item.js.map +0 -1
- package/dist/blocks/lists/notification-item.d.ts.map +0 -1
- package/dist/blocks/lists/notification-item.js.map +0 -1
- package/dist/blocks/lists/swipeable-item.d.ts +0 -17
- package/dist/blocks/lists/swipeable-item.d.ts.map +0 -1
- package/dist/blocks/lists/swipeable-item.js +0 -65
- package/dist/blocks/lists/swipeable-item.js.map +0 -1
- package/dist/blocks/lists/timeline-feed.d.ts.map +0 -1
- package/dist/blocks/lists/timeline-feed.js.map +0 -1
- package/dist/blocks/media/index.d.ts.map +0 -1
- package/dist/blocks/media/index.js.map +0 -1
- package/dist/blocks/media/smart-image.d.ts.map +0 -1
- package/dist/blocks/media/smart-image.js.map +0 -1
- package/dist/blocks/navigation/bottom-nav.d.ts.map +0 -1
- package/dist/blocks/navigation/bottom-nav.js.map +0 -1
- package/dist/blocks/navigation/drawer-menu.d.ts.map +0 -1
- package/dist/blocks/navigation/drawer-menu.js.map +0 -1
- package/dist/blocks/navigation/floating-bottom-nav.d.ts.map +0 -1
- package/dist/blocks/navigation/floating-bottom-nav.js.map +0 -1
- package/dist/blocks/navigation/header.d.ts.map +0 -1
- package/dist/blocks/navigation/header.js.map +0 -1
- package/dist/blocks/navigation/index.d.ts.map +0 -1
- package/dist/blocks/navigation/index.js.map +0 -1
- package/dist/blocks/navigation/navigation-sidebar.d.ts +0 -25
- package/dist/blocks/navigation/navigation-sidebar.d.ts.map +0 -1
- package/dist/blocks/navigation/navigation-sidebar.js +0 -18
- package/dist/blocks/navigation/navigation-sidebar.js.map +0 -1
- package/dist/blocks/navigation/tab-bar.d.ts.map +0 -1
- package/dist/blocks/navigation/tab-bar.js.map +0 -1
- package/dist/blocks/profile/account-card.d.ts +0 -11
- package/dist/blocks/profile/account-card.d.ts.map +0 -1
- package/dist/blocks/profile/account-card.js +0 -10
- package/dist/blocks/profile/account-card.js.map +0 -1
- package/dist/blocks/profile/index.d.ts +0 -5
- package/dist/blocks/profile/index.d.ts.map +0 -1
- package/dist/blocks/profile/index.js +0 -5
- package/dist/blocks/profile/index.js.map +0 -1
- package/dist/blocks/profile/profile-header.d.ts +0 -27
- package/dist/blocks/profile/profile-header.d.ts.map +0 -1
- package/dist/blocks/profile/profile-header.js +0 -11
- package/dist/blocks/profile/profile-header.js.map +0 -1
- package/dist/blocks/profile/settings-item.d.ts +0 -15
- package/dist/blocks/profile/settings-item.d.ts.map +0 -1
- package/dist/blocks/profile/settings-item.js +0 -11
- package/dist/blocks/profile/settings-item.js.map +0 -1
- package/dist/blocks/profile/settings-section.d.ts +0 -7
- package/dist/blocks/profile/settings-section.d.ts.map +0 -1
- package/dist/blocks/profile/settings-section.js +0 -9
- package/dist/blocks/profile/settings-section.js.map +0 -1
- package/dist/blocks/splash/index.d.ts.map +0 -1
- package/dist/blocks/splash/index.js.map +0 -1
- package/dist/blocks/splash/splash-screen.d.ts.map +0 -1
- package/dist/blocks/splash/splash-screen.js.map +0 -1
- package/dist/components/accordion/accordion.d.ts.map +0 -1
- package/dist/components/accordion/accordion.js.map +0 -1
- package/dist/components/accordion/index.d.ts.map +0 -1
- package/dist/components/accordion/index.js.map +0 -1
- package/dist/components/alert/alert.d.ts.map +0 -1
- package/dist/components/alert/alert.js.map +0 -1
- package/dist/components/alert/index.d.ts.map +0 -1
- package/dist/components/alert/index.js.map +0 -1
- package/dist/components/alert-dialog/alert-dialog.d.ts.map +0 -1
- package/dist/components/alert-dialog/alert-dialog.js.map +0 -1
- package/dist/components/alert-dialog/index.d.ts.map +0 -1
- package/dist/components/alert-dialog/index.js.map +0 -1
- package/dist/components/aspect-ratio/aspect-ratio.d.ts.map +0 -1
- package/dist/components/aspect-ratio/aspect-ratio.js.map +0 -1
- package/dist/components/aspect-ratio/index.d.ts.map +0 -1
- package/dist/components/aspect-ratio/index.js.map +0 -1
- package/dist/components/avatar/avatar.d.ts.map +0 -1
- package/dist/components/avatar/avatar.js.map +0 -1
- package/dist/components/avatar/index.d.ts.map +0 -1
- package/dist/components/avatar/index.js.map +0 -1
- package/dist/components/badge/badge.d.ts.map +0 -1
- package/dist/components/badge/badge.js.map +0 -1
- package/dist/components/badge/index.d.ts.map +0 -1
- package/dist/components/badge/index.js.map +0 -1
- package/dist/components/box/box.d.ts +0 -143
- package/dist/components/box/box.d.ts.map +0 -1
- package/dist/components/box/box.js +0 -38
- package/dist/components/box/box.js.map +0 -1
- package/dist/components/box/index.d.ts +0 -2
- package/dist/components/box/index.d.ts.map +0 -1
- package/dist/components/box/index.js +0 -2
- package/dist/components/box/index.js.map +0 -1
- package/dist/components/button/button.d.ts.map +0 -1
- package/dist/components/button/button.js.map +0 -1
- package/dist/components/button/index.d.ts.map +0 -1
- package/dist/components/button/index.js.map +0 -1
- package/dist/components/card/card.d.ts.map +0 -1
- package/dist/components/card/card.js.map +0 -1
- package/dist/components/card/index.d.ts.map +0 -1
- package/dist/components/card/index.js.map +0 -1
- package/dist/components/checkbox/checkbox.d.ts.map +0 -1
- package/dist/components/checkbox/checkbox.js.map +0 -1
- package/dist/components/checkbox/index.d.ts.map +0 -1
- package/dist/components/checkbox/index.js.map +0 -1
- package/dist/components/collapsible/collapsible.d.ts.map +0 -1
- package/dist/components/collapsible/collapsible.js.map +0 -1
- package/dist/components/collapsible/index.d.ts.map +0 -1
- package/dist/components/collapsible/index.js.map +0 -1
- package/dist/components/context-menu/context-menu.d.ts.map +0 -1
- package/dist/components/context-menu/context-menu.js.map +0 -1
- package/dist/components/context-menu/index.d.ts.map +0 -1
- package/dist/components/context-menu/index.js.map +0 -1
- package/dist/components/data-row/data-row.d.ts.map +0 -1
- package/dist/components/data-row/data-row.js.map +0 -1
- package/dist/components/data-row/index.d.ts.map +0 -1
- package/dist/components/data-row/index.js.map +0 -1
- package/dist/components/dialog/dialog.d.ts.map +0 -1
- package/dist/components/dialog/dialog.js.map +0 -1
- package/dist/components/dialog/index.d.ts.map +0 -1
- package/dist/components/dialog/index.js.map +0 -1
- package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +0 -1
- package/dist/components/dropdown-menu/dropdown-menu.js.map +0 -1
- package/dist/components/dropdown-menu/index.d.ts.map +0 -1
- package/dist/components/dropdown-menu/index.js.map +0 -1
- package/dist/components/form-field/form-field.d.ts.map +0 -1
- package/dist/components/form-field/form-field.js.map +0 -1
- package/dist/components/form-field/index.d.ts.map +0 -1
- package/dist/components/form-field/index.js.map +0 -1
- package/dist/components/hover-card/hover-card.d.ts.map +0 -1
- package/dist/components/hover-card/hover-card.js.map +0 -1
- package/dist/components/hover-card/index.d.ts.map +0 -1
- package/dist/components/hover-card/index.js.map +0 -1
- package/dist/components/input/index.d.ts.map +0 -1
- package/dist/components/input/index.js.map +0 -1
- package/dist/components/input/input.d.ts.map +0 -1
- package/dist/components/input/input.js.map +0 -1
- package/dist/components/label/index.d.ts.map +0 -1
- package/dist/components/label/index.js.map +0 -1
- package/dist/components/label/label.d.ts.map +0 -1
- package/dist/components/label/label.js.map +0 -1
- package/dist/components/labeled-field/index.d.ts.map +0 -1
- package/dist/components/labeled-field/index.js.map +0 -1
- package/dist/components/labeled-field/labeled-field.d.ts.map +0 -1
- package/dist/components/labeled-field/labeled-field.js.map +0 -1
- package/dist/components/layout/index.d.ts +0 -2
- package/dist/components/layout/index.d.ts.map +0 -1
- package/dist/components/layout/index.js +0 -2
- package/dist/components/layout/index.js.map +0 -1
- package/dist/components/layout/layout.d.ts +0 -395
- package/dist/components/layout/layout.d.ts.map +0 -1
- package/dist/components/layout/layout.js +0 -93
- package/dist/components/layout/layout.js.map +0 -1
- package/dist/components/menubar/index.d.ts.map +0 -1
- package/dist/components/menubar/index.js.map +0 -1
- package/dist/components/menubar/menubar.d.ts.map +0 -1
- package/dist/components/menubar/menubar.js.map +0 -1
- package/dist/components/numeric-input/index.d.ts.map +0 -1
- package/dist/components/numeric-input/index.js.map +0 -1
- package/dist/components/numeric-input/numeric-input.d.ts.map +0 -1
- package/dist/components/numeric-input/numeric-input.js.map +0 -1
- package/dist/components/otp-input/index.d.ts.map +0 -1
- package/dist/components/otp-input/index.js.map +0 -1
- package/dist/components/otp-input/otp-input.d.ts.map +0 -1
- package/dist/components/otp-input/otp-input.js.map +0 -1
- package/dist/components/popover/index.d.ts.map +0 -1
- package/dist/components/popover/index.js.map +0 -1
- package/dist/components/popover/popover.d.ts.map +0 -1
- package/dist/components/popover/popover.js.map +0 -1
- package/dist/components/pressable/index.d.ts.map +0 -1
- package/dist/components/pressable/index.js.map +0 -1
- package/dist/components/pressable/pressable.d.ts.map +0 -1
- package/dist/components/pressable/pressable.js.map +0 -1
- package/dist/components/progress/index.d.ts.map +0 -1
- package/dist/components/progress/index.js.map +0 -1
- package/dist/components/progress/progress.d.ts.map +0 -1
- package/dist/components/progress/progress.js.map +0 -1
- package/dist/components/radio-group/index.d.ts.map +0 -1
- package/dist/components/radio-group/index.js.map +0 -1
- package/dist/components/radio-group/radio-group.d.ts.map +0 -1
- package/dist/components/radio-group/radio-group.js.map +0 -1
- package/dist/components/row/index.d.ts.map +0 -1
- package/dist/components/row/index.js.map +0 -1
- package/dist/components/row/row.d.ts.map +0 -1
- package/dist/components/row/row.js.map +0 -1
- package/dist/components/segmented-control/index.d.ts.map +0 -1
- package/dist/components/segmented-control/index.js.map +0 -1
- package/dist/components/segmented-control/segmented-control.d.ts.map +0 -1
- package/dist/components/segmented-control/segmented-control.js.map +0 -1
- package/dist/components/select/index.d.ts.map +0 -1
- package/dist/components/select/index.js.map +0 -1
- package/dist/components/select/select.d.ts.map +0 -1
- package/dist/components/select/select.js.map +0 -1
- package/dist/components/separator/index.d.ts.map +0 -1
- package/dist/components/separator/index.js.map +0 -1
- package/dist/components/separator/separator.d.ts.map +0 -1
- package/dist/components/separator/separator.js.map +0 -1
- package/dist/components/skeleton/index.d.ts.map +0 -1
- package/dist/components/skeleton/index.js.map +0 -1
- package/dist/components/skeleton/skeleton.d.ts.map +0 -1
- package/dist/components/skeleton/skeleton.js.map +0 -1
- package/dist/components/spinner/index.d.ts.map +0 -1
- package/dist/components/spinner/index.js.map +0 -1
- package/dist/components/spinner/spinner.d.ts.map +0 -1
- package/dist/components/spinner/spinner.js.map +0 -1
- package/dist/components/stack/index.d.ts.map +0 -1
- package/dist/components/stack/index.js.map +0 -1
- package/dist/components/stack/stack.d.ts.map +0 -1
- package/dist/components/stack/stack.js.map +0 -1
- package/dist/components/switch/index.d.ts.map +0 -1
- package/dist/components/switch/index.js.map +0 -1
- package/dist/components/switch/switch.d.ts.map +0 -1
- package/dist/components/switch/switch.js.map +0 -1
- package/dist/components/tabs/index.d.ts.map +0 -1
- package/dist/components/tabs/index.js.map +0 -1
- package/dist/components/tabs/tabs.d.ts.map +0 -1
- package/dist/components/tabs/tabs.js.map +0 -1
- package/dist/components/text/index.d.ts.map +0 -1
- package/dist/components/text/index.js.map +0 -1
- package/dist/components/text/text.d.ts.map +0 -1
- package/dist/components/text/text.js.map +0 -1
- package/dist/components/textarea/index.d.ts.map +0 -1
- package/dist/components/textarea/index.js.map +0 -1
- package/dist/components/textarea/textarea.d.ts.map +0 -1
- package/dist/components/textarea/textarea.js.map +0 -1
- package/dist/components/toast/index.d.ts.map +0 -1
- package/dist/components/toast/index.js.map +0 -1
- package/dist/components/toast/toast.d.ts.map +0 -1
- package/dist/components/toast/toast.js.map +0 -1
- package/dist/components/toggle/index.d.ts.map +0 -1
- package/dist/components/toggle/index.js.map +0 -1
- package/dist/components/toggle/toggle.d.ts.map +0 -1
- package/dist/components/toggle/toggle.js.map +0 -1
- package/dist/components/toggle-group/index.d.ts.map +0 -1
- package/dist/components/toggle-group/index.js.map +0 -1
- package/dist/components/toggle-group/toggle-group.d.ts.map +0 -1
- package/dist/components/toggle-group/toggle-group.js.map +0 -1
- package/dist/components/tooltip/index.d.ts.map +0 -1
- package/dist/components/tooltip/index.js.map +0 -1
- package/dist/components/tooltip/tooltip.d.ts.map +0 -1
- package/dist/components/tooltip/tooltip.js.map +0 -1
- package/dist/components/view/index.d.ts.map +0 -1
- package/dist/components/view/index.js.map +0 -1
- package/dist/components/view/view.d.ts.map +0 -1
- package/dist/components/view/view.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib/cn.d.ts.map +0 -1
- package/dist/lib/cn.js.map +0 -1
- package/dist/lib/font-context.d.ts.map +0 -1
- package/dist/lib/font-context.js.map +0 -1
- package/dist/lib/frosted-surface.d.ts.map +0 -1
- package/dist/lib/frosted-surface.js.map +0 -1
- package/dist/lib/index.d.ts +0 -6
- package/dist/lib/index.d.ts.map +0 -1
- package/dist/lib/index.js +0 -6
- package/dist/lib/index.js.map +0 -1
- package/dist/lib/interaction-tokens.d.ts.map +0 -1
- package/dist/lib/interaction-tokens.js.map +0 -1
- package/dist/lib/portal.d.ts.map +0 -1
- package/dist/lib/portal.js.map +0 -1
- package/dist/lib/react-native-classname.d.ts.map +0 -1
- package/dist/lib/react-native-classname.js.map +0 -1
- package/dist/lib/theme-bridge.d.ts.map +0 -1
- package/dist/lib/theme-bridge.js.map +0 -1
- package/dist/lib/theme-colors.d.ts.map +0 -1
- package/dist/lib/theme-colors.js.map +0 -1
- package/dist/lib/tv.d.ts.map +0 -1
- package/dist/lib/tv.js.map +0 -1
- package/dist/lib/visual-tokens.d.ts.map +0 -1
- package/dist/lib/visual-tokens.js.map +0 -1
- package/dist/vite.d.ts.map +0 -1
- package/dist/vite.js.map +0 -1
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { type ViewProps } from 'react-native';
|
|
2
|
+
import { type VariantProps } from '../../lib/tv';
|
|
3
|
+
/**
|
|
4
|
+
* A centred content column with a maximum width.
|
|
5
|
+
*
|
|
6
|
+
* Phone-first layouts stretch to whatever the viewport is, which is correct at
|
|
7
|
+
* 390px and wrong at 1600px — line lengths become unreadable and related controls
|
|
8
|
+
* drift apart. This caps the content and centres it.
|
|
9
|
+
*
|
|
10
|
+
* There is no platform branch and none is needed: every size here is wider than any
|
|
11
|
+
* phone, so on iOS and Android the cap never engages and this renders as a plain
|
|
12
|
+
* full-width `View`. The same component is a no-op on native and the whole fix on
|
|
13
|
+
* desktop.
|
|
14
|
+
*/
|
|
15
|
+
declare const containerVariants: import("tailwind-variants").TVReturnType<{
|
|
16
|
+
size: {
|
|
17
|
+
/** Forms, auth, single-column reading. */
|
|
18
|
+
sm: string;
|
|
19
|
+
/** Default. Feeds, dashboards, most app screens. */
|
|
20
|
+
md: string;
|
|
21
|
+
/** Multi-column dashboards and wide tables. */
|
|
22
|
+
lg: string;
|
|
23
|
+
/** Near-full width, still stops short of an ultrawide monitor. */
|
|
24
|
+
xl: string;
|
|
25
|
+
/** Opt out — edge-to-edge at every width. */
|
|
26
|
+
full: string;
|
|
27
|
+
};
|
|
28
|
+
/** Fill the available height, for a container used as a screen root. */
|
|
29
|
+
fill: {
|
|
30
|
+
true: string;
|
|
31
|
+
false: string;
|
|
32
|
+
};
|
|
33
|
+
}, undefined, "w-full self-center", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
34
|
+
size: {
|
|
35
|
+
/** Forms, auth, single-column reading. */
|
|
36
|
+
sm: string;
|
|
37
|
+
/** Default. Feeds, dashboards, most app screens. */
|
|
38
|
+
md: string;
|
|
39
|
+
/** Multi-column dashboards and wide tables. */
|
|
40
|
+
lg: string;
|
|
41
|
+
/** Near-full width, still stops short of an ultrawide monitor. */
|
|
42
|
+
xl: string;
|
|
43
|
+
/** Opt out — edge-to-edge at every width. */
|
|
44
|
+
full: string;
|
|
45
|
+
};
|
|
46
|
+
/** Fill the available height, for a container used as a screen root. */
|
|
47
|
+
fill: {
|
|
48
|
+
true: string;
|
|
49
|
+
false: string;
|
|
50
|
+
};
|
|
51
|
+
}, {
|
|
52
|
+
size: {
|
|
53
|
+
/** Forms, auth, single-column reading. */
|
|
54
|
+
sm: string;
|
|
55
|
+
/** Default. Feeds, dashboards, most app screens. */
|
|
56
|
+
md: string;
|
|
57
|
+
/** Multi-column dashboards and wide tables. */
|
|
58
|
+
lg: string;
|
|
59
|
+
/** Near-full width, still stops short of an ultrawide monitor. */
|
|
60
|
+
xl: string;
|
|
61
|
+
/** Opt out — edge-to-edge at every width. */
|
|
62
|
+
full: string;
|
|
63
|
+
};
|
|
64
|
+
/** Fill the available height, for a container used as a screen root. */
|
|
65
|
+
fill: {
|
|
66
|
+
true: string;
|
|
67
|
+
false: string;
|
|
68
|
+
};
|
|
69
|
+
}>, {
|
|
70
|
+
size: {
|
|
71
|
+
/** Forms, auth, single-column reading. */
|
|
72
|
+
sm: string;
|
|
73
|
+
/** Default. Feeds, dashboards, most app screens. */
|
|
74
|
+
md: string;
|
|
75
|
+
/** Multi-column dashboards and wide tables. */
|
|
76
|
+
lg: string;
|
|
77
|
+
/** Near-full width, still stops short of an ultrawide monitor. */
|
|
78
|
+
xl: string;
|
|
79
|
+
/** Opt out — edge-to-edge at every width. */
|
|
80
|
+
full: string;
|
|
81
|
+
};
|
|
82
|
+
/** Fill the available height, for a container used as a screen root. */
|
|
83
|
+
fill: {
|
|
84
|
+
true: string;
|
|
85
|
+
false: string;
|
|
86
|
+
};
|
|
87
|
+
}, undefined, import("tailwind-variants").TVReturnType<{
|
|
88
|
+
size: {
|
|
89
|
+
/** Forms, auth, single-column reading. */
|
|
90
|
+
sm: string;
|
|
91
|
+
/** Default. Feeds, dashboards, most app screens. */
|
|
92
|
+
md: string;
|
|
93
|
+
/** Multi-column dashboards and wide tables. */
|
|
94
|
+
lg: string;
|
|
95
|
+
/** Near-full width, still stops short of an ultrawide monitor. */
|
|
96
|
+
xl: string;
|
|
97
|
+
/** Opt out — edge-to-edge at every width. */
|
|
98
|
+
full: string;
|
|
99
|
+
};
|
|
100
|
+
/** Fill the available height, for a container used as a screen root. */
|
|
101
|
+
fill: {
|
|
102
|
+
true: string;
|
|
103
|
+
false: string;
|
|
104
|
+
};
|
|
105
|
+
}, undefined, "w-full self-center", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
106
|
+
size: {
|
|
107
|
+
/** Forms, auth, single-column reading. */
|
|
108
|
+
sm: string;
|
|
109
|
+
/** Default. Feeds, dashboards, most app screens. */
|
|
110
|
+
md: string;
|
|
111
|
+
/** Multi-column dashboards and wide tables. */
|
|
112
|
+
lg: string;
|
|
113
|
+
/** Near-full width, still stops short of an ultrawide monitor. */
|
|
114
|
+
xl: string;
|
|
115
|
+
/** Opt out — edge-to-edge at every width. */
|
|
116
|
+
full: string;
|
|
117
|
+
};
|
|
118
|
+
/** Fill the available height, for a container used as a screen root. */
|
|
119
|
+
fill: {
|
|
120
|
+
true: string;
|
|
121
|
+
false: string;
|
|
122
|
+
};
|
|
123
|
+
}, {
|
|
124
|
+
size: {
|
|
125
|
+
/** Forms, auth, single-column reading. */
|
|
126
|
+
sm: string;
|
|
127
|
+
/** Default. Feeds, dashboards, most app screens. */
|
|
128
|
+
md: string;
|
|
129
|
+
/** Multi-column dashboards and wide tables. */
|
|
130
|
+
lg: string;
|
|
131
|
+
/** Near-full width, still stops short of an ultrawide monitor. */
|
|
132
|
+
xl: string;
|
|
133
|
+
/** Opt out — edge-to-edge at every width. */
|
|
134
|
+
full: string;
|
|
135
|
+
};
|
|
136
|
+
/** Fill the available height, for a container used as a screen root. */
|
|
137
|
+
fill: {
|
|
138
|
+
true: string;
|
|
139
|
+
false: string;
|
|
140
|
+
};
|
|
141
|
+
}>, unknown, unknown, undefined>>;
|
|
142
|
+
export interface ContainerProps extends ViewProps, VariantProps<typeof containerVariants> {
|
|
143
|
+
className?: string;
|
|
144
|
+
}
|
|
145
|
+
export declare function Container({ size, fill, className, children, ...props }: ContainerProps): import("react").JSX.Element;
|
|
146
|
+
export { containerVariants };
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { View } from 'react-native';
|
|
3
|
+
import { cn } from '../../lib/cn';
|
|
4
|
+
import { tv } from '../../lib/tv';
|
|
5
|
+
/**
|
|
6
|
+
* A centred content column with a maximum width.
|
|
7
|
+
*
|
|
8
|
+
* Phone-first layouts stretch to whatever the viewport is, which is correct at
|
|
9
|
+
* 390px and wrong at 1600px — line lengths become unreadable and related controls
|
|
10
|
+
* drift apart. This caps the content and centres it.
|
|
11
|
+
*
|
|
12
|
+
* There is no platform branch and none is needed: every size here is wider than any
|
|
13
|
+
* phone, so on iOS and Android the cap never engages and this renders as a plain
|
|
14
|
+
* full-width `View`. The same component is a no-op on native and the whole fix on
|
|
15
|
+
* desktop.
|
|
16
|
+
*/
|
|
17
|
+
const containerVariants = tv({
|
|
18
|
+
base: 'w-full self-center',
|
|
19
|
+
variants: {
|
|
20
|
+
size: {
|
|
21
|
+
/** Forms, auth, single-column reading. */
|
|
22
|
+
sm: 'max-w-xl',
|
|
23
|
+
/** Default. Feeds, dashboards, most app screens. */
|
|
24
|
+
md: 'max-w-3xl',
|
|
25
|
+
/** Multi-column dashboards and wide tables. */
|
|
26
|
+
lg: 'max-w-5xl',
|
|
27
|
+
/** Near-full width, still stops short of an ultrawide monitor. */
|
|
28
|
+
xl: 'max-w-7xl',
|
|
29
|
+
/** Opt out — edge-to-edge at every width. */
|
|
30
|
+
full: 'max-w-none',
|
|
31
|
+
},
|
|
32
|
+
/** Fill the available height, for a container used as a screen root. */
|
|
33
|
+
fill: {
|
|
34
|
+
true: 'flex-1',
|
|
35
|
+
false: '',
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
defaultVariants: { size: 'md', fill: false },
|
|
39
|
+
});
|
|
40
|
+
export function Container({ size, fill, className, children, ...props }) {
|
|
41
|
+
return (_jsx(View, { className: cn(containerVariants({ size, fill }), className), ...props, children: children }));
|
|
42
|
+
}
|
|
43
|
+
export { containerVariants };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './container';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './container';
|
|
@@ -21,29 +21,28 @@ export interface ContextMenuLabelProps extends ViewProps {
|
|
|
21
21
|
export interface ContextMenuSeparatorProps extends ViewProps {
|
|
22
22
|
className?: string;
|
|
23
23
|
}
|
|
24
|
-
declare function ContextMenu({ children }: ContextMenuProps):
|
|
24
|
+
declare function ContextMenu({ children }: ContextMenuProps): React.JSX.Element;
|
|
25
25
|
declare namespace ContextMenu {
|
|
26
26
|
var displayName: string;
|
|
27
27
|
}
|
|
28
|
-
declare function ContextMenuTrigger({ className, children, asChild, ...props }: ContextMenuTriggerProps):
|
|
28
|
+
declare function ContextMenuTrigger({ className, children, asChild, ...props }: ContextMenuTriggerProps): React.JSX.Element;
|
|
29
29
|
declare namespace ContextMenuTrigger {
|
|
30
30
|
var displayName: string;
|
|
31
31
|
}
|
|
32
|
-
declare function ContextMenuContent({ className, children, frosted, blurIntensity, blurTintToken, style, ...props }: ContextMenuContentProps):
|
|
32
|
+
declare function ContextMenuContent({ className, children, frosted, blurIntensity, blurTintToken, style, ...props }: ContextMenuContentProps): React.JSX.Element;
|
|
33
33
|
declare namespace ContextMenuContent {
|
|
34
34
|
var displayName: string;
|
|
35
35
|
}
|
|
36
|
-
declare function ContextMenuItem({ className, ...props }: ContextMenuItemProps):
|
|
36
|
+
declare function ContextMenuItem({ className, style, ...props }: ContextMenuItemProps): React.JSX.Element;
|
|
37
37
|
declare namespace ContextMenuItem {
|
|
38
38
|
var displayName: string;
|
|
39
39
|
}
|
|
40
|
-
declare function ContextMenuLabel({ className, children, ...props }: ContextMenuLabelProps):
|
|
40
|
+
declare function ContextMenuLabel({ className, children, ...props }: ContextMenuLabelProps): React.JSX.Element;
|
|
41
41
|
declare namespace ContextMenuLabel {
|
|
42
42
|
var displayName: string;
|
|
43
43
|
}
|
|
44
|
-
declare function ContextMenuSeparator({ className, ...props }: ContextMenuSeparatorProps):
|
|
44
|
+
declare function ContextMenuSeparator({ className, style, ...props }: ContextMenuSeparatorProps): React.JSX.Element;
|
|
45
45
|
declare namespace ContextMenuSeparator {
|
|
46
46
|
var displayName: string;
|
|
47
47
|
}
|
|
48
48
|
export { ContextMenu, ContextMenuTrigger, ContextMenuContent, ContextMenuItem, ContextMenuLabel, ContextMenuSeparator, };
|
|
49
|
-
//# sourceMappingURL=context-menu.d.ts.map
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import React, { createContext, useContext, useState } from 'react';
|
|
2
|
+
import React, { createContext, useContext, useMemo, useState } from 'react';
|
|
3
3
|
import { View, Modal, Pressable, Text } from 'react-native';
|
|
4
4
|
import { cn } from '../../lib/cn';
|
|
5
5
|
import { useFrostedSurface } from '../../lib/frosted-surface';
|
|
6
|
+
import { useVisualTokens } from '../../lib/visual-tokens';
|
|
7
|
+
import { useThemeColors } from '../../lib/theme-colors';
|
|
8
|
+
import { shadowStyle, surfaceRadius, typographyStyle } from '../../lib/recipes';
|
|
6
9
|
const ContextMenuContext = createContext({
|
|
7
10
|
open: false,
|
|
8
11
|
setOpen: () => { },
|
|
9
12
|
});
|
|
10
|
-
// ─── Components ──────────────────────────────────────────────
|
|
11
13
|
function ContextMenu({ children }) {
|
|
12
14
|
const [open, setOpen] = useState(false);
|
|
13
|
-
|
|
15
|
+
const contextValue = useMemo(() => ({ open, setOpen }), [open]);
|
|
16
|
+
return _jsx(ContextMenuContext.Provider, { value: contextValue, children: children });
|
|
14
17
|
}
|
|
15
18
|
function ContextMenuTrigger({ className, children, asChild, ...props }) {
|
|
16
19
|
const { setOpen } = useContext(ContextMenuContext);
|
|
@@ -25,10 +28,12 @@ function ContextMenuTrigger({ className, children, asChild, ...props }) {
|
|
|
25
28
|
...props,
|
|
26
29
|
});
|
|
27
30
|
}
|
|
28
|
-
return (_jsx(Pressable, { className: cn(className), onLongPress: () => setOpen(true), delayLongPress: 300, ...props, children: children }));
|
|
31
|
+
return (_jsx(Pressable, { accessibilityRole: "button", className: cn(className), onLongPress: () => setOpen(true), delayLongPress: 300, ...props, children: children }));
|
|
29
32
|
}
|
|
30
33
|
function ContextMenuContent({ className, children, frosted = false, blurIntensity, blurTintToken, style, ...props }) {
|
|
31
34
|
const { open, setOpen } = useContext(ContextMenuContext);
|
|
35
|
+
const visual = useVisualTokens();
|
|
36
|
+
const colors = useThemeColors();
|
|
32
37
|
const frostedSurface = useFrostedSurface({
|
|
33
38
|
frosted,
|
|
34
39
|
blurIntensity,
|
|
@@ -36,21 +41,47 @@ function ContextMenuContent({ className, children, frosted = false, blurIntensit
|
|
|
36
41
|
defaultTintToken: 'popover',
|
|
37
42
|
defaultBlurPreset: 'medium',
|
|
38
43
|
});
|
|
39
|
-
const contentStyle = [
|
|
40
|
-
|
|
44
|
+
const contentStyle = [
|
|
45
|
+
{
|
|
46
|
+
borderTopLeftRadius: surfaceRadius(visual, 'lg'),
|
|
47
|
+
borderTopRightRadius: surfaceRadius(visual, 'lg'),
|
|
48
|
+
borderTopWidth: visual.borderWidthHairline,
|
|
49
|
+
borderLeftWidth: visual.borderWidthHairline,
|
|
50
|
+
borderRightWidth: visual.borderWidthHairline,
|
|
51
|
+
},
|
|
52
|
+
shadowStyle(visual, colors, 'md'),
|
|
53
|
+
frostedSurface.surfaceStyle,
|
|
54
|
+
style,
|
|
55
|
+
];
|
|
56
|
+
return (_jsx(Modal, { visible: open, transparent: true, animationType: "slide", statusBarTranslucent: true, navigationBarTranslucent: true, onRequestClose: () => setOpen(false), children: _jsx(Pressable, { accessible: false, importantForAccessibility: "no", className: "flex-1 justify-end", onPress: () => setOpen(false), children: _jsxs(Pressable, { accessible: false, accessibilityRole: "menu", className: cn('w-full border-border p-2 pb-8 relative overflow-hidden', frosted ? 'bg-transparent' : 'bg-popover', className), style: contentStyle, onPress: (e) => e.stopPropagation(), ...props, children: [frostedSurface.overlay, children] }) }) }));
|
|
41
57
|
}
|
|
42
|
-
function ContextMenuItem({ className, ...props }) {
|
|
58
|
+
function ContextMenuItem({ className, style, ...props }) {
|
|
43
59
|
const { setOpen } = useContext(ContextMenuContext);
|
|
44
|
-
|
|
60
|
+
const visual = useVisualTokens();
|
|
61
|
+
const tokenStyle = {
|
|
62
|
+
borderRadius: visual.radiusSm,
|
|
63
|
+
minHeight: visual.touchTargetMinSize,
|
|
64
|
+
paddingHorizontal: visual.controlPaddingXSm,
|
|
65
|
+
paddingVertical: visual.controlPaddingYSm,
|
|
66
|
+
};
|
|
67
|
+
return (_jsx(Pressable, { accessibilityRole: "menuitem", className: cn('flex flex-row items-center active:bg-accent', className), style: (state) => [tokenStyle, typeof style === 'function' ? style(state) : style], onPress: (e) => {
|
|
45
68
|
props.onPress?.(e);
|
|
46
69
|
setOpen(false);
|
|
47
70
|
}, ...props }));
|
|
48
71
|
}
|
|
49
72
|
function ContextMenuLabel({ className, children, ...props }) {
|
|
50
|
-
|
|
73
|
+
const visual = useVisualTokens();
|
|
74
|
+
return (_jsx(View, { className: cn('px-2 py-1.5', className), ...props, children: typeof children === 'string' ? (_jsx(Text
|
|
75
|
+
// A menu section label is a heading — without this it announces as plain text
|
|
76
|
+
// and rotor navigation cannot find it.
|
|
77
|
+
, {
|
|
78
|
+
// A menu section label is a heading — without this it announces as plain text
|
|
79
|
+
// and rotor navigation cannot find it.
|
|
80
|
+
accessibilityRole: "header", className: "font-semibold text-foreground", style: typographyStyle(visual, 'label'), children: children })) : (children) }));
|
|
51
81
|
}
|
|
52
|
-
function ContextMenuSeparator({ className, ...props }) {
|
|
53
|
-
|
|
82
|
+
function ContextMenuSeparator({ className, style, ...props }) {
|
|
83
|
+
const visual = useVisualTokens();
|
|
84
|
+
return (_jsx(View, { className: cn('-mx-1 my-1 bg-border', className), style: [{ height: visual.borderWidthHairline }, style], ...props }));
|
|
54
85
|
}
|
|
55
86
|
ContextMenu.displayName = 'ContextMenu';
|
|
56
87
|
ContextMenuTrigger.displayName = 'ContextMenuTrigger';
|
|
@@ -59,4 +90,3 @@ ContextMenuItem.displayName = 'ContextMenuItem';
|
|
|
59
90
|
ContextMenuLabel.displayName = 'ContextMenuLabel';
|
|
60
91
|
ContextMenuSeparator.displayName = 'ContextMenuSeparator';
|
|
61
92
|
export { ContextMenu, ContextMenuTrigger, ContextMenuContent, ContextMenuItem, ContextMenuLabel, ContextMenuSeparator, };
|
|
62
|
-
//# sourceMappingURL=context-menu.js.map
|
|
@@ -1,2 +1 @@
|
|
|
1
1
|
export { ContextMenu, ContextMenuTrigger, ContextMenuContent, ContextMenuItem, ContextMenuLabel, ContextMenuSeparator, type ContextMenuProps, type ContextMenuTriggerProps, type ContextMenuContentProps, type ContextMenuItemProps, type ContextMenuLabelProps, type ContextMenuSeparatorProps, } from './context-menu';
|
|
2
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -66,4 +66,3 @@ declare const DataRowLabel: React.ForwardRefExoticComponent<DataRowLabelProps &
|
|
|
66
66
|
declare const DataRowDescription: React.ForwardRefExoticComponent<DataRowDescriptionProps & React.RefAttributes<Text>>;
|
|
67
67
|
declare const DataRowValue: React.ForwardRefExoticComponent<DataRowValueProps & React.RefAttributes<Text>>;
|
|
68
68
|
export { DataRow, DataRowLeft, DataRowCenter, DataRowRight, DataRowLabel, DataRowDescription, DataRowValue, dataRowVariants, };
|
|
69
|
-
//# sourceMappingURL=data-row.d.ts.map
|
|
@@ -1,27 +1,40 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import React, { createContext, useContext } from 'react';
|
|
2
|
+
import React, { createContext, useContext, useMemo } from 'react';
|
|
3
3
|
import { Text, View } from 'react-native';
|
|
4
4
|
import { cn } from '../../lib/cn';
|
|
5
5
|
import { tv } from '../../lib/tv';
|
|
6
6
|
import { useVisualTokens } from '../../lib/visual-tokens';
|
|
7
|
+
import { typographyStyle } from '../../lib/recipes';
|
|
7
8
|
const dataRowVariants = tv({
|
|
8
9
|
base: 'w-full flex-row items-center gap-3',
|
|
9
10
|
variants: {
|
|
10
11
|
size: {
|
|
11
|
-
default: '
|
|
12
|
-
compact: '
|
|
12
|
+
default: '',
|
|
13
|
+
compact: '',
|
|
13
14
|
},
|
|
14
15
|
},
|
|
15
16
|
defaultVariants: {
|
|
16
17
|
size: 'default',
|
|
17
18
|
},
|
|
18
19
|
});
|
|
20
|
+
function getDataRowStyle(visual, size) {
|
|
21
|
+
if (size === 'compact') {
|
|
22
|
+
return {
|
|
23
|
+
minHeight: Math.round((visual.controlHeightSm + visual.controlHeightDefault) / 2),
|
|
24
|
+
paddingVertical: Math.max(4, Math.round(visual.controlPaddingYSm * 0.75)),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
minHeight: visual.controlHeightDefault,
|
|
29
|
+
paddingVertical: visual.controlPaddingYSm,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
19
32
|
const dataRowLabelVariants = tv({
|
|
20
33
|
base: 'font-medium text-foreground',
|
|
21
34
|
variants: {
|
|
22
35
|
size: {
|
|
23
|
-
default: '
|
|
24
|
-
compact: '
|
|
36
|
+
default: '',
|
|
37
|
+
compact: '',
|
|
25
38
|
},
|
|
26
39
|
},
|
|
27
40
|
defaultVariants: {
|
|
@@ -32,8 +45,8 @@ const dataRowDescriptionVariants = tv({
|
|
|
32
45
|
base: 'text-muted-foreground',
|
|
33
46
|
variants: {
|
|
34
47
|
size: {
|
|
35
|
-
default: '
|
|
36
|
-
compact: '
|
|
48
|
+
default: '',
|
|
49
|
+
compact: '',
|
|
37
50
|
},
|
|
38
51
|
},
|
|
39
52
|
defaultVariants: {
|
|
@@ -44,8 +57,8 @@ const dataRowValueVariants = tv({
|
|
|
44
57
|
base: 'font-medium text-foreground text-right',
|
|
45
58
|
variants: {
|
|
46
59
|
size: {
|
|
47
|
-
default: '
|
|
48
|
-
compact: '
|
|
60
|
+
default: '',
|
|
61
|
+
compact: '',
|
|
49
62
|
},
|
|
50
63
|
},
|
|
51
64
|
defaultVariants: {
|
|
@@ -55,8 +68,10 @@ const dataRowValueVariants = tv({
|
|
|
55
68
|
const DataRowContext = createContext({
|
|
56
69
|
size: 'default',
|
|
57
70
|
});
|
|
58
|
-
const DataRow = React.forwardRef(({ className, size = 'default', ...props }, ref) => {
|
|
59
|
-
|
|
71
|
+
const DataRow = React.forwardRef(({ className, size = 'default', style, ...props }, ref) => {
|
|
72
|
+
const visual = useVisualTokens();
|
|
73
|
+
const contextValue = useMemo(() => ({ size }), [size]);
|
|
74
|
+
return (_jsx(DataRowContext.Provider, { value: contextValue, children: _jsx(View, { ref: ref, className: cn(dataRowVariants({ size }), className), style: [getDataRowStyle(visual, size), style], ...props }) }));
|
|
60
75
|
});
|
|
61
76
|
DataRow.displayName = 'DataRow';
|
|
62
77
|
const DataRowLeft = React.forwardRef(({ className, ...props }, ref) => {
|
|
@@ -72,21 +87,24 @@ const DataRowRight = React.forwardRef(({ className, style, ...props }, ref) => {
|
|
|
72
87
|
return (_jsx(View, { ref: ref, className: cn('ml-2 shrink-0 items-end justify-center', className), style: [{ maxWidth: `${visual.dataRowRightMaxWidthRatio * 100}%` }, style], ...props }));
|
|
73
88
|
});
|
|
74
89
|
DataRowRight.displayName = 'DataRowRight';
|
|
75
|
-
const DataRowLabel = React.forwardRef(({ className, ...props }, ref) => {
|
|
90
|
+
const DataRowLabel = React.forwardRef(({ className, style, ...props }, ref) => {
|
|
76
91
|
const { size } = useContext(DataRowContext);
|
|
77
|
-
|
|
92
|
+
const visual = useVisualTokens();
|
|
93
|
+
return (_jsx(Text, { ref: ref, className: cn(dataRowLabelVariants({ size }), className), style: [typographyStyle(visual, size === 'compact' ? 'caption' : 'label'), style], numberOfLines: 1, ...props }));
|
|
78
94
|
});
|
|
79
95
|
DataRowLabel.displayName = 'DataRowLabel';
|
|
80
96
|
const DataRowDescription = React.forwardRef(({ className, style, ...props }, ref) => {
|
|
81
97
|
const { size } = useContext(DataRowContext);
|
|
82
98
|
const visual = useVisualTokens();
|
|
83
|
-
return (_jsx(Text, { ref: ref, className: cn(dataRowDescriptionVariants({ size }), className), style: size === 'compact'
|
|
99
|
+
return (_jsx(Text, { ref: ref, className: cn(dataRowDescriptionVariants({ size }), className), style: size === 'compact'
|
|
100
|
+
? [{ fontSize: visual.dataRowCompactDescriptionSize }, style]
|
|
101
|
+
: [typographyStyle(visual, 'caption'), style], numberOfLines: 2, ...props }));
|
|
84
102
|
});
|
|
85
103
|
DataRowDescription.displayName = 'DataRowDescription';
|
|
86
|
-
const DataRowValue = React.forwardRef(({ className, ...props }, ref) => {
|
|
104
|
+
const DataRowValue = React.forwardRef(({ className, style, ...props }, ref) => {
|
|
87
105
|
const { size } = useContext(DataRowContext);
|
|
88
|
-
|
|
106
|
+
const visual = useVisualTokens();
|
|
107
|
+
return (_jsx(Text, { ref: ref, className: cn(dataRowValueVariants({ size }), className), style: [typographyStyle(visual, size === 'compact' ? 'caption' : 'label'), style], numberOfLines: 1, ...props }));
|
|
89
108
|
});
|
|
90
109
|
DataRowValue.displayName = 'DataRowValue';
|
|
91
110
|
export { DataRow, DataRowLeft, DataRowCenter, DataRowRight, DataRowLabel, DataRowDescription, DataRowValue, dataRowVariants, };
|
|
92
|
-
//# sourceMappingURL=data-row.js.map
|
|
@@ -1,2 +1 @@
|
|
|
1
1
|
export { DataRow, DataRowLeft, DataRowCenter, DataRowRight, DataRowLabel, DataRowDescription, DataRowValue, dataRowVariants, type DataRowProps, type DataRowLeftProps, type DataRowCenterProps, type DataRowRightProps, type DataRowLabelProps, type DataRowDescriptionProps, type DataRowValueProps, } from './data-row';
|
|
2
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -33,37 +33,36 @@ export interface DialogCloseProps extends PressableProps {
|
|
|
33
33
|
className?: string;
|
|
34
34
|
asChild?: boolean;
|
|
35
35
|
}
|
|
36
|
-
declare function Dialog({ defaultOpen, open: controlledOpen, onOpenChange, children, }: DialogProps):
|
|
36
|
+
declare function Dialog({ defaultOpen, open: controlledOpen, onOpenChange, children, }: DialogProps): React.JSX.Element;
|
|
37
37
|
declare namespace Dialog {
|
|
38
38
|
var displayName: string;
|
|
39
39
|
}
|
|
40
|
-
declare function DialogTrigger({ className, children, asChild, ...props }: DialogTriggerProps):
|
|
40
|
+
declare function DialogTrigger({ className, children, asChild, onPress, ...props }: DialogTriggerProps): React.JSX.Element;
|
|
41
41
|
declare namespace DialogTrigger {
|
|
42
42
|
var displayName: string;
|
|
43
43
|
}
|
|
44
|
-
declare function DialogContent({ className, children, frosted, blurIntensity, blurTintToken, style, ...props }: DialogContentProps):
|
|
44
|
+
declare function DialogContent({ className, children, frosted, blurIntensity, blurTintToken, style, ...props }: DialogContentProps): React.JSX.Element;
|
|
45
45
|
declare namespace DialogContent {
|
|
46
46
|
var displayName: string;
|
|
47
47
|
}
|
|
48
|
-
declare function DialogHeader({ className, ...props }: DialogHeaderProps):
|
|
48
|
+
declare function DialogHeader({ className, ...props }: DialogHeaderProps): React.JSX.Element;
|
|
49
49
|
declare namespace DialogHeader {
|
|
50
50
|
var displayName: string;
|
|
51
51
|
}
|
|
52
|
-
declare function DialogFooter({ className, ...props }: DialogFooterProps):
|
|
52
|
+
declare function DialogFooter({ className, ...props }: DialogFooterProps): React.JSX.Element;
|
|
53
53
|
declare namespace DialogFooter {
|
|
54
54
|
var displayName: string;
|
|
55
55
|
}
|
|
56
|
-
declare function DialogTitle({ className, ...props }: DialogTitleProps):
|
|
56
|
+
declare function DialogTitle({ className, style, ...props }: DialogTitleProps): React.JSX.Element;
|
|
57
57
|
declare namespace DialogTitle {
|
|
58
58
|
var displayName: string;
|
|
59
59
|
}
|
|
60
|
-
declare function DialogDescription({ className, ...props }: DialogDescriptionProps):
|
|
60
|
+
declare function DialogDescription({ className, style, ...props }: DialogDescriptionProps): React.JSX.Element;
|
|
61
61
|
declare namespace DialogDescription {
|
|
62
62
|
var displayName: string;
|
|
63
63
|
}
|
|
64
|
-
declare function DialogClose({ className, children, asChild, ...props }: DialogCloseProps):
|
|
64
|
+
declare function DialogClose({ className, children, asChild, onPress, ...props }: DialogCloseProps): React.JSX.Element;
|
|
65
65
|
declare namespace DialogClose {
|
|
66
66
|
var displayName: string;
|
|
67
67
|
}
|
|
68
68
|
export { Dialog, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, DialogClose, };
|
|
69
|
-
//# sourceMappingURL=dialog.d.ts.map
|
|
@@ -1,40 +1,44 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import React, { createContext, useContext, useState } from 'react';
|
|
2
|
+
import React, { createContext, useCallback, useContext, useMemo, useState } from 'react';
|
|
3
3
|
import { View, Modal, Pressable, Text, } from 'react-native';
|
|
4
4
|
import { cn } from '../../lib/cn';
|
|
5
|
+
import { composeEventHandlers } from '../../lib/compose-event-handlers';
|
|
5
6
|
import { useThemeColors } from '../../lib/theme-colors';
|
|
6
7
|
import { useFrostedSurface } from '../../lib/frosted-surface';
|
|
8
|
+
import { useVisualTokens } from '../../lib/visual-tokens';
|
|
9
|
+
import { shadowStyle, typographyStyle } from '../../lib/recipes';
|
|
7
10
|
const DialogContext = createContext({
|
|
8
11
|
open: false,
|
|
9
12
|
setOpen: () => { },
|
|
10
13
|
});
|
|
11
|
-
// ─── Components ──────────────────────────────────────────────
|
|
12
14
|
function Dialog({ defaultOpen = false, open: controlledOpen, onOpenChange, children, }) {
|
|
13
15
|
const [internalOpen, setInternalOpen] = useState(defaultOpen);
|
|
14
16
|
const open = controlledOpen ?? internalOpen;
|
|
15
|
-
const setOpen = (value) => {
|
|
16
|
-
|
|
17
|
+
const setOpen = useCallback((value) => {
|
|
18
|
+
if (controlledOpen === undefined) {
|
|
19
|
+
setInternalOpen(value);
|
|
20
|
+
}
|
|
17
21
|
onOpenChange?.(value);
|
|
18
|
-
};
|
|
19
|
-
|
|
22
|
+
}, [controlledOpen, onOpenChange]);
|
|
23
|
+
const contextValue = useMemo(() => ({ open, setOpen }), [open, setOpen]);
|
|
24
|
+
return _jsx(DialogContext.Provider, { value: contextValue, children: children });
|
|
20
25
|
}
|
|
21
|
-
function DialogTrigger({ className, children, asChild, ...props }) {
|
|
26
|
+
function DialogTrigger({ className, children, asChild, onPress, ...props }) {
|
|
22
27
|
const { setOpen } = useContext(DialogContext);
|
|
23
28
|
if (asChild && React.isValidElement(children)) {
|
|
24
29
|
const child = children;
|
|
25
30
|
return React.cloneElement(child, {
|
|
26
|
-
onPress: (e) => {
|
|
27
|
-
child.props.onPress?.(e);
|
|
28
|
-
setOpen(true);
|
|
29
|
-
},
|
|
30
31
|
...props,
|
|
32
|
+
className: cn(child.props.className, className),
|
|
33
|
+
onPress: composeEventHandlers(composeEventHandlers(child.props.onPress, onPress), () => setOpen(true)),
|
|
31
34
|
});
|
|
32
35
|
}
|
|
33
|
-
return (_jsx(Pressable, { className: cn(className), onPress: () => setOpen(true),
|
|
36
|
+
return (_jsx(Pressable, { accessibilityRole: "button", ...props, className: cn(className), onPress: composeEventHandlers(onPress, () => setOpen(true)), children: children }));
|
|
34
37
|
}
|
|
35
38
|
function DialogContent({ className, children, frosted = false, blurIntensity, blurTintToken, style, ...props }) {
|
|
36
39
|
const { open, setOpen } = useContext(DialogContext);
|
|
37
40
|
const colors = useThemeColors();
|
|
41
|
+
const visual = useVisualTokens();
|
|
38
42
|
const frostedSurface = useFrostedSurface({
|
|
39
43
|
frosted,
|
|
40
44
|
blurIntensity,
|
|
@@ -43,7 +47,28 @@ function DialogContent({ className, children, frosted = false, blurIntensity, bl
|
|
|
43
47
|
defaultBlurPreset: 'medium',
|
|
44
48
|
});
|
|
45
49
|
const contentStyle = [frostedSurface.surfaceStyle, style];
|
|
46
|
-
return (_jsx(Modal, { visible: open, transparent: true, animationType: "fade",
|
|
50
|
+
return (_jsx(Modal, { visible: open, transparent: true, animationType: "fade", statusBarTranslucent: true, navigationBarTranslucent: true, onRequestClose: () => setOpen(false), children: _jsx(Pressable
|
|
51
|
+
// Tap-to-dismiss is a pointer affordance. Left accessible it would swallow the
|
|
52
|
+
// whole panel into one element; screen reader users close from inside.
|
|
53
|
+
, {
|
|
54
|
+
// Tap-to-dismiss is a pointer affordance. Left accessible it would swallow the
|
|
55
|
+
// whole panel into one element; screen reader users close from inside.
|
|
56
|
+
accessible: false, importantForAccessibility: "no", className: "flex-1 justify-center items-center px-4", style: { backgroundColor: colors.overlayStrong }, onPress: () => setOpen(false), children: _jsxs(Pressable
|
|
57
|
+
// Container, not a control — Pressable defaults to `accessible: true`, which
|
|
58
|
+
// on iOS collapses every descendant into one accessibility element.
|
|
59
|
+
, {
|
|
60
|
+
// Container, not a control — Pressable defaults to `accessible: true`, which
|
|
61
|
+
// on iOS collapses every descendant into one accessibility element.
|
|
62
|
+
accessible: false, className: cn('w-full border-border relative overflow-hidden', frosted ? 'bg-transparent' : 'bg-background', className), style: [
|
|
63
|
+
{
|
|
64
|
+
maxWidth: visual.sheetMaxWidth,
|
|
65
|
+
borderWidth: visual.borderWidthHairline,
|
|
66
|
+
borderRadius: visual.radiusXl,
|
|
67
|
+
padding: visual.surfacePaddingDefault,
|
|
68
|
+
},
|
|
69
|
+
shadowStyle(visual, colors, 'lg'),
|
|
70
|
+
contentStyle,
|
|
71
|
+
], onPress: (e) => e.stopPropagation(), ...props, children: [frostedSurface.overlay, children] }) }) }));
|
|
47
72
|
}
|
|
48
73
|
function DialogHeader({ className, ...props }) {
|
|
49
74
|
return _jsx(View, { className: cn('flex flex-col gap-1.5 pb-4', className), ...props });
|
|
@@ -51,26 +76,26 @@ function DialogHeader({ className, ...props }) {
|
|
|
51
76
|
function DialogFooter({ className, ...props }) {
|
|
52
77
|
return _jsx(View, { className: cn('flex flex-row justify-end gap-2 pt-4', className), ...props });
|
|
53
78
|
}
|
|
54
|
-
function DialogTitle({ className, ...props }) {
|
|
55
|
-
|
|
79
|
+
function DialogTitle({ className, style, ...props }) {
|
|
80
|
+
const visual = useVisualTokens();
|
|
81
|
+
return (_jsx(Text, { className: cn('font-semibold text-foreground', className), style: [typographyStyle(visual, 'title'), style], ...props }));
|
|
56
82
|
}
|
|
57
|
-
function DialogDescription({ className, ...props }) {
|
|
58
|
-
|
|
83
|
+
function DialogDescription({ className, style, ...props }) {
|
|
84
|
+
const visual = useVisualTokens();
|
|
85
|
+
return (_jsx(Text, { className: cn('text-muted-foreground', className), style: [typographyStyle(visual, 'label'), style], ...props }));
|
|
59
86
|
}
|
|
60
87
|
// ... (interfaces update needed too)
|
|
61
|
-
function DialogClose({ className, children, asChild, ...props }) {
|
|
88
|
+
function DialogClose({ className, children, asChild, onPress, ...props }) {
|
|
62
89
|
const { setOpen } = useContext(DialogContext);
|
|
63
90
|
if (asChild && React.isValidElement(children)) {
|
|
64
91
|
const child = children;
|
|
65
92
|
return React.cloneElement(child, {
|
|
66
|
-
onPress: (e) => {
|
|
67
|
-
child.props.onPress?.(e);
|
|
68
|
-
setOpen(false);
|
|
69
|
-
},
|
|
70
93
|
...props,
|
|
94
|
+
className: cn(child.props.className, className),
|
|
95
|
+
onPress: composeEventHandlers(composeEventHandlers(child.props.onPress, onPress), () => setOpen(false)),
|
|
71
96
|
});
|
|
72
97
|
}
|
|
73
|
-
return (_jsx(Pressable, { className: cn(className), onPress: () => setOpen(false),
|
|
98
|
+
return (_jsx(Pressable, { accessibilityRole: "button", ...props, className: cn(className), onPress: composeEventHandlers(onPress, () => setOpen(false)), children: children }));
|
|
74
99
|
}
|
|
75
100
|
Dialog.displayName = 'Dialog';
|
|
76
101
|
DialogTrigger.displayName = 'DialogTrigger';
|
|
@@ -81,4 +106,3 @@ DialogTitle.displayName = 'DialogTitle';
|
|
|
81
106
|
DialogDescription.displayName = 'DialogDescription';
|
|
82
107
|
DialogClose.displayName = 'DialogClose';
|
|
83
108
|
export { Dialog, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, DialogClose, };
|
|
84
|
-
//# sourceMappingURL=dialog.js.map
|
|
@@ -1,2 +1 @@
|
|
|
1
1
|
export { Dialog, DialogTrigger, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, DialogClose, type DialogProps, type DialogTriggerProps, type DialogContentProps, type DialogHeaderProps, type DialogFooterProps, type DialogTitleProps, type DialogDescriptionProps, type DialogCloseProps, } from './dialog';
|
|
2
|
-
//# sourceMappingURL=index.d.ts.map
|