@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
|
@@ -21,29 +21,28 @@ export interface DropdownMenuLabelProps extends ViewProps {
|
|
|
21
21
|
export interface DropdownMenuSeparatorProps extends ViewProps {
|
|
22
22
|
className?: string;
|
|
23
23
|
}
|
|
24
|
-
declare function DropdownMenu({ children }: DropdownMenuProps):
|
|
24
|
+
declare function DropdownMenu({ children }: DropdownMenuProps): React.JSX.Element;
|
|
25
25
|
declare namespace DropdownMenu {
|
|
26
26
|
var displayName: string;
|
|
27
27
|
}
|
|
28
|
-
declare function DropdownMenuTrigger({ className, children, asChild, ...props }: DropdownMenuTriggerProps):
|
|
28
|
+
declare function DropdownMenuTrigger({ className, children, asChild, ...props }: DropdownMenuTriggerProps): React.JSX.Element;
|
|
29
29
|
declare namespace DropdownMenuTrigger {
|
|
30
30
|
var displayName: string;
|
|
31
31
|
}
|
|
32
|
-
declare function DropdownMenuContent({ className, children, frosted, blurIntensity, blurTintToken, style, ...props }: DropdownMenuContentProps):
|
|
32
|
+
declare function DropdownMenuContent({ className, children, frosted, blurIntensity, blurTintToken, style, ...props }: DropdownMenuContentProps): React.JSX.Element;
|
|
33
33
|
declare namespace DropdownMenuContent {
|
|
34
34
|
var displayName: string;
|
|
35
35
|
}
|
|
36
|
-
declare function DropdownMenuItem({ className, ...props }: DropdownMenuItemProps):
|
|
36
|
+
declare function DropdownMenuItem({ className, style, ...props }: DropdownMenuItemProps): React.JSX.Element;
|
|
37
37
|
declare namespace DropdownMenuItem {
|
|
38
38
|
var displayName: string;
|
|
39
39
|
}
|
|
40
|
-
declare function DropdownMenuLabel({ className, children, ...props }: DropdownMenuLabelProps):
|
|
40
|
+
declare function DropdownMenuLabel({ className, children, ...props }: DropdownMenuLabelProps): React.JSX.Element;
|
|
41
41
|
declare namespace DropdownMenuLabel {
|
|
42
42
|
var displayName: string;
|
|
43
43
|
}
|
|
44
|
-
declare function DropdownMenuSeparator({ className, ...props }: DropdownMenuSeparatorProps):
|
|
44
|
+
declare function DropdownMenuSeparator({ className, style, ...props }: DropdownMenuSeparatorProps): React.JSX.Element;
|
|
45
45
|
declare namespace DropdownMenuSeparator {
|
|
46
46
|
var displayName: string;
|
|
47
47
|
}
|
|
48
48
|
export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, };
|
|
49
|
-
//# sourceMappingURL=dropdown-menu.d.ts.map
|
|
@@ -1,15 +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 DropdownMenuContext = createContext({
|
|
7
10
|
open: false,
|
|
8
11
|
setOpen: () => { },
|
|
9
12
|
});
|
|
10
13
|
function DropdownMenu({ children }) {
|
|
11
14
|
const [open, setOpen] = useState(false);
|
|
12
|
-
|
|
15
|
+
const contextValue = useMemo(() => ({ open, setOpen }), [open]);
|
|
16
|
+
return (_jsx(DropdownMenuContext.Provider, { value: contextValue, children: children }));
|
|
13
17
|
}
|
|
14
18
|
function DropdownMenuTrigger({ className, children, asChild, ...props }) {
|
|
15
19
|
const { setOpen } = useContext(DropdownMenuContext);
|
|
@@ -23,10 +27,12 @@ function DropdownMenuTrigger({ className, children, asChild, ...props }) {
|
|
|
23
27
|
...props,
|
|
24
28
|
});
|
|
25
29
|
}
|
|
26
|
-
return (_jsx(Pressable, { className: cn(className), onPress: () => setOpen(true), ...props, children: children }));
|
|
30
|
+
return (_jsx(Pressable, { accessibilityRole: "button", className: cn(className), onPress: () => setOpen(true), ...props, children: children }));
|
|
27
31
|
}
|
|
28
32
|
function DropdownMenuContent({ className, children, frosted = false, blurIntensity, blurTintToken, style, ...props }) {
|
|
29
33
|
const { open, setOpen } = useContext(DropdownMenuContext);
|
|
34
|
+
const visual = useVisualTokens();
|
|
35
|
+
const colors = useThemeColors();
|
|
30
36
|
const frostedSurface = useFrostedSurface({
|
|
31
37
|
frosted,
|
|
32
38
|
blurIntensity,
|
|
@@ -34,21 +40,50 @@ function DropdownMenuContent({ className, children, frosted = false, blurIntensi
|
|
|
34
40
|
defaultTintToken: 'popover',
|
|
35
41
|
defaultBlurPreset: 'medium',
|
|
36
42
|
});
|
|
37
|
-
const contentStyle = [
|
|
38
|
-
|
|
43
|
+
const contentStyle = [
|
|
44
|
+
{
|
|
45
|
+
borderTopLeftRadius: surfaceRadius(visual, 'lg'),
|
|
46
|
+
borderTopRightRadius: surfaceRadius(visual, 'lg'),
|
|
47
|
+
borderTopWidth: visual.borderWidthHairline,
|
|
48
|
+
borderLeftWidth: visual.borderWidthHairline,
|
|
49
|
+
borderRightWidth: visual.borderWidthHairline,
|
|
50
|
+
},
|
|
51
|
+
shadowStyle(visual, colors, 'md'),
|
|
52
|
+
frostedSurface.surfaceStyle,
|
|
53
|
+
style,
|
|
54
|
+
];
|
|
55
|
+
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,
|
|
56
|
+
// Names the container for the `menuitem` children below; without a `menu`
|
|
57
|
+
// ancestor the role is invalid ARIA and assistive tech ignores it.
|
|
58
|
+
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] }) }) }));
|
|
39
59
|
}
|
|
40
|
-
function DropdownMenuItem({ className, ...props }) {
|
|
60
|
+
function DropdownMenuItem({ className, style, ...props }) {
|
|
41
61
|
const { setOpen } = useContext(DropdownMenuContext);
|
|
42
|
-
|
|
62
|
+
const visual = useVisualTokens();
|
|
63
|
+
const tokenStyle = {
|
|
64
|
+
borderRadius: visual.radiusSm,
|
|
65
|
+
minHeight: visual.touchTargetMinSize,
|
|
66
|
+
paddingHorizontal: visual.controlPaddingXSm,
|
|
67
|
+
paddingVertical: visual.controlPaddingYSm,
|
|
68
|
+
};
|
|
69
|
+
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) => {
|
|
43
70
|
props.onPress?.(e);
|
|
44
71
|
setOpen(false);
|
|
45
72
|
}, ...props }));
|
|
46
73
|
}
|
|
47
74
|
function DropdownMenuLabel({ className, children, ...props }) {
|
|
48
|
-
|
|
75
|
+
const visual = useVisualTokens();
|
|
76
|
+
return (_jsx(View, { className: cn('px-2 py-1.5', className), ...props, children: typeof children === 'string' ? (_jsx(Text
|
|
77
|
+
// A menu section label is a heading — without this it announces as plain text
|
|
78
|
+
// and rotor navigation cannot find it.
|
|
79
|
+
, {
|
|
80
|
+
// A menu section label is a heading — without this it announces as plain text
|
|
81
|
+
// and rotor navigation cannot find it.
|
|
82
|
+
accessibilityRole: "header", className: "font-semibold text-foreground", style: typographyStyle(visual, 'label'), children: children })) : (children) }));
|
|
49
83
|
}
|
|
50
|
-
function DropdownMenuSeparator({ className, ...props }) {
|
|
51
|
-
|
|
84
|
+
function DropdownMenuSeparator({ className, style, ...props }) {
|
|
85
|
+
const visual = useVisualTokens();
|
|
86
|
+
return (_jsx(View, { className: cn('-mx-1 my-1 bg-border', className), style: [{ height: visual.borderWidthHairline }, style], ...props }));
|
|
52
87
|
}
|
|
53
88
|
DropdownMenu.displayName = 'DropdownMenu';
|
|
54
89
|
DropdownMenuTrigger.displayName = 'DropdownMenuTrigger';
|
|
@@ -57,4 +92,3 @@ DropdownMenuItem.displayName = 'DropdownMenuItem';
|
|
|
57
92
|
DropdownMenuLabel.displayName = 'DropdownMenuLabel';
|
|
58
93
|
DropdownMenuSeparator.displayName = 'DropdownMenuSeparator';
|
|
59
94
|
export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, };
|
|
60
|
-
//# sourceMappingURL=dropdown-menu.js.map
|
|
@@ -1,2 +1 @@
|
|
|
1
1
|
export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, type DropdownMenuProps, type DropdownMenuTriggerProps, type DropdownMenuContentProps, type DropdownMenuItemProps, type DropdownMenuLabelProps, type DropdownMenuSeparatorProps, } from './dropdown-menu';
|
|
2
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -121,4 +121,3 @@ declare const FormControl: React.ForwardRefExoticComponent<FormControlProps & Re
|
|
|
121
121
|
declare const FormHint: React.ForwardRefExoticComponent<FormHintProps & React.RefAttributes<Text>>;
|
|
122
122
|
declare const FormMessage: React.ForwardRefExoticComponent<FormMessageProps & React.RefAttributes<Text>>;
|
|
123
123
|
export { FormField, FormLabel, FormControl, FormHint, FormMessage, formFieldVariants, formControlVariants, };
|
|
124
|
-
//# sourceMappingURL=form-field.d.ts.map
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } 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 { useInteractionTokens } from '../../lib/interaction-tokens';
|
|
7
|
+
import { useVisualTokens } from '../../lib/visual-tokens';
|
|
8
|
+
import { typographyStyle } from '../../lib/recipes';
|
|
7
9
|
const formFieldVariants = tv({
|
|
8
10
|
base: 'w-full',
|
|
9
11
|
variants: {
|
|
@@ -20,8 +22,8 @@ const formControlVariants = tv({
|
|
|
20
22
|
base: 'justify-center',
|
|
21
23
|
variants: {
|
|
22
24
|
density: {
|
|
23
|
-
default: '
|
|
24
|
-
compact: '
|
|
25
|
+
default: '',
|
|
26
|
+
compact: '',
|
|
25
27
|
},
|
|
26
28
|
invalid: {
|
|
27
29
|
true: '',
|
|
@@ -41,31 +43,42 @@ const FormFieldContext = createContext({
|
|
|
41
43
|
});
|
|
42
44
|
const FormField = React.forwardRef(({ className, density = 'default', invalid = false, disabled = false, required = false, ...props }, ref) => {
|
|
43
45
|
const interaction = useInteractionTokens();
|
|
44
|
-
|
|
46
|
+
const contextValue = useMemo(() => ({ density, invalid, disabled, required }), [density, disabled, invalid, required]);
|
|
47
|
+
return (_jsx(FormFieldContext.Provider, { value: contextValue, children: _jsx(View, { ref: ref, className: cn(formFieldVariants({ density }), className), style: disabled ? { opacity: interaction.disabledOpacitySoft } : undefined, ...props }) }));
|
|
45
48
|
});
|
|
46
49
|
FormField.displayName = 'FormField';
|
|
47
|
-
const FormLabel = React.forwardRef(({ className, showRequiredIndicator = true, children, ...props }, ref) => {
|
|
50
|
+
const FormLabel = React.forwardRef(({ className, showRequiredIndicator = true, children, style, ...props }, ref) => {
|
|
48
51
|
const { invalid, disabled, required } = useContext(FormFieldContext);
|
|
49
|
-
|
|
52
|
+
const visual = useVisualTokens();
|
|
53
|
+
return (_jsxs(Text, { ref: ref, className: cn('font-medium text-foreground', invalid && 'text-destructive', disabled && 'text-muted-foreground', className), style: [typographyStyle(visual, 'label'), style], ...props, children: [children, required && showRequiredIndicator ? _jsx(Text, { className: "text-destructive", children: " *" }) : null] }));
|
|
50
54
|
});
|
|
51
55
|
FormLabel.displayName = 'FormLabel';
|
|
52
|
-
const FormControl = React.forwardRef(({ className, ...props }, ref) => {
|
|
56
|
+
const FormControl = React.forwardRef(({ className, style, ...props }, ref) => {
|
|
53
57
|
const { density, invalid, disabled } = useContext(FormFieldContext);
|
|
54
58
|
const interaction = useInteractionTokens();
|
|
55
|
-
|
|
59
|
+
const visual = useVisualTokens();
|
|
60
|
+
return (_jsx(View, { ref: ref, className: cn(formControlVariants({ density, invalid }), invalid && 'ring-1 ring-destructive-soft-border', className), style: [
|
|
61
|
+
{
|
|
62
|
+
minHeight: density === 'compact' ? visual.controlHeightSm : visual.controlHeightDefault,
|
|
63
|
+
},
|
|
64
|
+
invalid ? { borderRadius: visual.radiusMd } : null,
|
|
65
|
+
disabled ? { opacity: interaction.disabledOpacitySoft } : null,
|
|
66
|
+
style,
|
|
67
|
+
], ...props }));
|
|
56
68
|
});
|
|
57
69
|
FormControl.displayName = 'FormControl';
|
|
58
|
-
const FormHint = React.forwardRef(({ className, ...props }, ref) => {
|
|
70
|
+
const FormHint = React.forwardRef(({ className, style, ...props }, ref) => {
|
|
59
71
|
const { invalid } = useContext(FormFieldContext);
|
|
60
|
-
|
|
72
|
+
const visual = useVisualTokens();
|
|
73
|
+
return (_jsx(Text, { ref: ref, className: cn('text-muted-foreground', invalid && 'text-destructive-muted', className), style: [typographyStyle(visual, 'caption'), style], ...props }));
|
|
61
74
|
});
|
|
62
75
|
FormHint.displayName = 'FormHint';
|
|
63
|
-
const FormMessage = React.forwardRef(({ className, children, ...props }, ref) => {
|
|
76
|
+
const FormMessage = React.forwardRef(({ className, children, style, ...props }, ref) => {
|
|
77
|
+
const visual = useVisualTokens();
|
|
64
78
|
if (children === undefined || children === null || children === false) {
|
|
65
79
|
return null;
|
|
66
80
|
}
|
|
67
|
-
return (_jsx(Text, { ref: ref, className: cn('
|
|
81
|
+
return (_jsx(Text, { ref: ref, className: cn('font-medium text-destructive', className), style: [typographyStyle(visual, 'caption'), style], ...props, children: children }));
|
|
68
82
|
});
|
|
69
83
|
FormMessage.displayName = 'FormMessage';
|
|
70
84
|
export { FormField, FormLabel, FormControl, FormHint, FormMessage, formFieldVariants, formControlVariants, };
|
|
71
|
-
//# sourceMappingURL=form-field.js.map
|
|
@@ -14,8 +14,7 @@ export interface HoverCardContentProps extends React.ComponentPropsWithoutRef<ty
|
|
|
14
14
|
className?: string;
|
|
15
15
|
portalHost?: string;
|
|
16
16
|
}
|
|
17
|
-
declare function HoverCard({ onOpenChange, openDelay, closeDelay, children }: HoverCardProps):
|
|
17
|
+
declare function HoverCard({ onOpenChange, openDelay, closeDelay, children }: HoverCardProps): React.JSX.Element;
|
|
18
18
|
declare const HoverCardTrigger: React.ForwardRefExoticComponent<HoverCardTriggerProps & React.RefAttributes<import("@rn-primitives/hover-card").TriggerRef>>;
|
|
19
19
|
declare const HoverCardContent: React.ForwardRefExoticComponent<HoverCardContentProps & React.RefAttributes<import("react-native").View>>;
|
|
20
20
|
export { HoverCard, HoverCardTrigger, HoverCardContent };
|
|
21
|
-
//# sourceMappingURL=hover-card.d.ts.map
|
|
@@ -4,7 +4,9 @@ import { Platform, StyleSheet } from 'react-native';
|
|
|
4
4
|
import * as HoverCardPrimitive from '@rn-primitives/hover-card';
|
|
5
5
|
import { cn } from '../../lib/cn';
|
|
6
6
|
import { useFrostedSurface } from '../../lib/frosted-surface';
|
|
7
|
-
|
|
7
|
+
import { useVisualTokens } from '../../lib/visual-tokens';
|
|
8
|
+
import { useThemeColors } from '../../lib/theme-colors';
|
|
9
|
+
import { shadowStyle, surfacePadding, surfaceRadius } from '../../lib/recipes';
|
|
8
10
|
function HoverCard({ onOpenChange, openDelay, closeDelay, children }) {
|
|
9
11
|
return (_jsx(HoverCardPrimitive.Root, { onOpenChange: onOpenChange, openDelay: openDelay, closeDelay: closeDelay, children: children }));
|
|
10
12
|
}
|
|
@@ -18,16 +20,23 @@ const HoverCardContent = React.forwardRef(({ className, align = 'center', sideOf
|
|
|
18
20
|
defaultTintToken: 'popover',
|
|
19
21
|
defaultBlurPreset: 'subtle',
|
|
20
22
|
});
|
|
23
|
+
const visual = useVisualTokens();
|
|
24
|
+
const colors = useThemeColors();
|
|
21
25
|
const resolvedStyle = StyleSheet.flatten([
|
|
22
26
|
Platform.OS === 'web' ? undefined : contentStyles,
|
|
27
|
+
{
|
|
28
|
+
borderRadius: surfaceRadius(visual, 'lg'),
|
|
29
|
+
borderWidth: visual.borderWidthHairline,
|
|
30
|
+
padding: surfacePadding(visual, 'sm'),
|
|
31
|
+
},
|
|
32
|
+
shadowStyle(visual, colors, 'md'),
|
|
23
33
|
frostedSurface.surfaceStyle,
|
|
24
34
|
style,
|
|
25
35
|
]);
|
|
26
|
-
return (_jsx(HoverCardPrimitive.Portal, { hostName: portalHost, children: _jsx(HoverCardPrimitive.Overlay, { style: Platform.OS !== 'web' ? StyleSheet.absoluteFill : undefined, children: _jsxs(HoverCardPrimitive.Content, { ref: ref, align: align, sideOffset: sideOffset, className: cn('z-50 w-64
|
|
36
|
+
return (_jsx(HoverCardPrimitive.Portal, { hostName: portalHost, children: _jsx(HoverCardPrimitive.Overlay, { style: Platform.OS !== 'web' ? StyleSheet.absoluteFill : undefined, children: _jsxs(HoverCardPrimitive.Content, { ref: ref, align: align, sideOffset: sideOffset, className: cn('z-50 w-64 border-border relative overflow-hidden', frosted ? 'bg-transparent' : 'bg-popover', 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1', className), style: resolvedStyle, ...props, children: [frostedSurface.overlay, children] }) }) }));
|
|
27
37
|
});
|
|
28
38
|
HoverCardContent.displayName = 'HoverCardContent';
|
|
29
39
|
const contentStyles = {
|
|
30
40
|
position: 'absolute',
|
|
31
41
|
};
|
|
32
42
|
export { HoverCard, HoverCardTrigger, HoverCardContent };
|
|
33
|
-
//# sourceMappingURL=hover-card.js.map
|
|
@@ -6,7 +6,7 @@ declare const inputVariants: import("tailwind-variants").TVReturnType<{
|
|
|
6
6
|
default: string;
|
|
7
7
|
error: string;
|
|
8
8
|
};
|
|
9
|
-
}, undefined, "
|
|
9
|
+
}, undefined, "w-full border-border bg-muted text-foreground", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
10
10
|
variant: {
|
|
11
11
|
default: string;
|
|
12
12
|
error: string;
|
|
@@ -26,7 +26,7 @@ declare const inputVariants: import("tailwind-variants").TVReturnType<{
|
|
|
26
26
|
default: string;
|
|
27
27
|
error: string;
|
|
28
28
|
};
|
|
29
|
-
}, undefined, "
|
|
29
|
+
}, undefined, "w-full border-border bg-muted text-foreground", import("tailwind-variants/dist/config.js").TVConfig<{
|
|
30
30
|
variant: {
|
|
31
31
|
default: string;
|
|
32
32
|
error: string;
|
|
@@ -45,4 +45,3 @@ export interface InputProps extends TextInputProps, VariantProps<typeof inputVar
|
|
|
45
45
|
}
|
|
46
46
|
declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<TextInput>>;
|
|
47
47
|
export { Input, inputVariants };
|
|
48
|
-
//# sourceMappingURL=input.d.ts.map
|
|
@@ -2,11 +2,14 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { View, TextInput } from 'react-native';
|
|
4
4
|
import { cn } from '../../lib/cn';
|
|
5
|
+
import { focusRing } from '../../lib/focus-ring';
|
|
5
6
|
import { tv } from '../../lib/tv';
|
|
6
7
|
import { useThemeColors } from '../../lib/theme-colors';
|
|
7
8
|
import { useInteractionTokens } from '../../lib/interaction-tokens';
|
|
9
|
+
import { useVisualTokens } from '../../lib/visual-tokens';
|
|
10
|
+
import { typographyStyle } from '../../lib/recipes';
|
|
8
11
|
const inputVariants = tv({
|
|
9
|
-
base: '
|
|
12
|
+
base: 'w-full border-border bg-muted text-foreground',
|
|
10
13
|
variants: {
|
|
11
14
|
variant: {
|
|
12
15
|
default: 'border-border',
|
|
@@ -20,8 +23,20 @@ const inputVariants = tv({
|
|
|
20
23
|
const Input = React.forwardRef(({ className, prefix, suffix, inputClassName, variant, editable = true, placeholderTextColor, ...props }, ref) => {
|
|
21
24
|
const colors = useThemeColors();
|
|
22
25
|
const interaction = useInteractionTokens();
|
|
23
|
-
|
|
26
|
+
const visual = useVisualTokens();
|
|
27
|
+
return (_jsxs(View, { className: cn('flex-row items-center border-border bg-muted', inputVariants({ variant }), className), style: [
|
|
28
|
+
{
|
|
29
|
+
minHeight: visual.controlHeightDefault,
|
|
30
|
+
borderWidth: visual.borderWidthControl,
|
|
31
|
+
borderRadius: visual.radiusLg,
|
|
32
|
+
paddingHorizontal: visual.controlPaddingXDefault,
|
|
33
|
+
},
|
|
34
|
+
!editable ? { opacity: interaction.disabledOpacity } : undefined,
|
|
35
|
+
], children: [prefix && (_jsx(View, { style: { paddingRight: Math.max(8, Math.round(visual.controlPaddingXDefault * 0.5)) }, children: prefix })), _jsx(TextInput, { ref: ref, className: cn('flex-1 text-foreground placeholder:text-muted-foreground', focusRing, inputClassName), style: {
|
|
36
|
+
...typographyStyle(visual, 'label'),
|
|
37
|
+
minHeight: visual.controlHeightDefault - 2,
|
|
38
|
+
paddingVertical: visual.controlPaddingYDefault,
|
|
39
|
+
}, editable: editable, placeholderTextColor: placeholderTextColor ?? colors.placeholder, ...props }), suffix && (_jsx(View, { style: { paddingLeft: Math.max(8, Math.round(visual.controlPaddingXDefault * 0.5)) }, children: suffix }))] }));
|
|
24
40
|
});
|
|
25
41
|
Input.displayName = 'Input';
|
|
26
42
|
export { Input, inputVariants };
|
|
27
|
-
//# sourceMappingURL=input.js.map
|
|
@@ -13,7 +13,6 @@ export interface LabeledFieldProps extends Omit<FormFieldProps, 'children'> {
|
|
|
13
13
|
export interface LabeledFieldControlProps extends ViewProps {
|
|
14
14
|
className?: string;
|
|
15
15
|
}
|
|
16
|
-
declare function LabeledField({ label, hint, error, leftSlot, rightSlot, children, controlWrapperClassName, required, disabled, invalid, ...props }: LabeledFieldProps):
|
|
16
|
+
declare function LabeledField({ label, hint, error, leftSlot, rightSlot, children, controlWrapperClassName, required, disabled, invalid, ...props }: LabeledFieldProps): React.JSX.Element;
|
|
17
17
|
declare const LabeledFieldControl: React.ForwardRefExoticComponent<LabeledFieldControlProps & React.RefAttributes<View>>;
|
|
18
18
|
export { LabeledField, LabeledFieldControl };
|
|
19
|
-
//# sourceMappingURL=labeled-field.d.ts.map
|
|
@@ -4,14 +4,22 @@ import { View } from 'react-native';
|
|
|
4
4
|
import { FormControl, FormField, FormHint, FormLabel, FormMessage, } from '../form-field';
|
|
5
5
|
import { cn } from '../../lib/cn';
|
|
6
6
|
import { useInteractionTokens } from '../../lib/interaction-tokens';
|
|
7
|
+
import { useVisualTokens } from '../../lib/visual-tokens';
|
|
7
8
|
function LabeledField({ label, hint, error, leftSlot, rightSlot, children, controlWrapperClassName, required, disabled, invalid, ...props }) {
|
|
8
9
|
const isInvalid = invalid ?? Boolean(error);
|
|
9
10
|
const interaction = useInteractionTokens();
|
|
10
|
-
|
|
11
|
+
const visual = useVisualTokens();
|
|
12
|
+
return (_jsxs(FormField, { required: required, disabled: disabled, invalid: isInvalid, ...props, children: [label ? _jsx(FormLabel, { children: label }) : null, _jsx(FormControl, { children: _jsxs(View, { className: cn('flex-row items-center gap-2 border border-border bg-muted', isInvalid && 'border-destructive', disabled && '', controlWrapperClassName), style: [
|
|
13
|
+
{
|
|
14
|
+
borderRadius: visual.radiusLg,
|
|
15
|
+
borderWidth: visual.borderWidthControl,
|
|
16
|
+
paddingHorizontal: visual.controlPaddingXDefault,
|
|
17
|
+
},
|
|
18
|
+
disabled ? { opacity: interaction.disabledOpacitySoft } : null,
|
|
19
|
+
], children: [leftSlot ? _jsx(View, { className: "shrink-0", children: leftSlot }) : null, _jsx(View, { className: "min-w-0 flex-1 justify-center", style: { minHeight: visual.controlHeightDefault }, children: children }), rightSlot ? _jsx(View, { className: "shrink-0", children: rightSlot }) : null] }) }), error ? _jsx(FormMessage, { children: error }) : hint ? _jsx(FormHint, { children: hint }) : null] }));
|
|
11
20
|
}
|
|
12
21
|
const LabeledFieldControl = React.forwardRef(({ className, ...props }, ref) => {
|
|
13
22
|
return _jsx(View, { ref: ref, className: cn('min-w-0 flex-1', className), ...props });
|
|
14
23
|
});
|
|
15
24
|
LabeledFieldControl.displayName = 'LabeledFieldControl';
|
|
16
25
|
export { LabeledField, LabeledFieldControl };
|
|
17
|
-
//# sourceMappingURL=labeled-field.js.map
|
|
@@ -1,2 +1 @@
|
|
|
1
1
|
export { Menubar, MenubarMenu, MenubarTrigger, MenubarContent, MenubarItem, MenubarLabel, MenubarSeparator, type MenubarProps, type MenubarMenuProps, type MenubarTriggerProps, type MenubarContentProps, type MenubarItemProps, type MenubarLabelProps, type MenubarSeparatorProps, } from './menubar';
|
|
2
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -23,33 +23,32 @@ export interface MenubarLabelProps extends ViewProps {
|
|
|
23
23
|
export interface MenubarSeparatorProps extends ViewProps {
|
|
24
24
|
className?: string;
|
|
25
25
|
}
|
|
26
|
-
declare function Menubar({ className, ...props }: MenubarProps):
|
|
26
|
+
declare function Menubar({ className, style, ...props }: MenubarProps): React.JSX.Element;
|
|
27
27
|
declare namespace Menubar {
|
|
28
28
|
var displayName: string;
|
|
29
29
|
}
|
|
30
|
-
declare function MenubarMenu({ children }: MenubarMenuProps):
|
|
30
|
+
declare function MenubarMenu({ children }: MenubarMenuProps): React.JSX.Element;
|
|
31
31
|
declare namespace MenubarMenu {
|
|
32
32
|
var displayName: string;
|
|
33
33
|
}
|
|
34
|
-
declare function MenubarTrigger({ className, ...props }: MenubarTriggerProps):
|
|
34
|
+
declare function MenubarTrigger({ className, style, ...props }: MenubarTriggerProps): React.JSX.Element;
|
|
35
35
|
declare namespace MenubarTrigger {
|
|
36
36
|
var displayName: string;
|
|
37
37
|
}
|
|
38
|
-
declare function MenubarContent({ className, children, frosted, blurIntensity, blurTintToken, style, ...props }: MenubarContentProps):
|
|
38
|
+
declare function MenubarContent({ className, children, frosted, blurIntensity, blurTintToken, style, ...props }: MenubarContentProps): React.JSX.Element;
|
|
39
39
|
declare namespace MenubarContent {
|
|
40
40
|
var displayName: string;
|
|
41
41
|
}
|
|
42
|
-
declare function MenubarItem({ className, ...props }: MenubarItemProps):
|
|
42
|
+
declare function MenubarItem({ className, style, ...props }: MenubarItemProps): React.JSX.Element;
|
|
43
43
|
declare namespace MenubarItem {
|
|
44
44
|
var displayName: string;
|
|
45
45
|
}
|
|
46
|
-
declare function MenubarLabel({ className, children, ...props }: MenubarLabelProps):
|
|
46
|
+
declare function MenubarLabel({ className, children, ...props }: MenubarLabelProps): React.JSX.Element;
|
|
47
47
|
declare namespace MenubarLabel {
|
|
48
48
|
var displayName: string;
|
|
49
49
|
}
|
|
50
|
-
declare function MenubarSeparator({ className, ...props }: MenubarSeparatorProps):
|
|
50
|
+
declare function MenubarSeparator({ className, style, ...props }: MenubarSeparatorProps): React.JSX.Element;
|
|
51
51
|
declare namespace MenubarSeparator {
|
|
52
52
|
var displayName: string;
|
|
53
53
|
}
|
|
54
54
|
export { Menubar, MenubarMenu, MenubarTrigger, MenubarContent, MenubarItem, MenubarLabel, MenubarSeparator, };
|
|
55
|
-
//# sourceMappingURL=menubar.d.ts.map
|
|
@@ -1,26 +1,34 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { createContext, useContext, useState } from 'react';
|
|
2
|
+
import { 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 { controlRecipe, shadowStyle, surfaceRadius, typographyStyle } from '../../lib/recipes';
|
|
6
9
|
const MenubarMenuContext = createContext({
|
|
7
10
|
open: false,
|
|
8
11
|
setOpen: () => { },
|
|
9
12
|
});
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return (_jsx(View, { className: cn('flex flex-row items-center gap-1
|
|
13
|
+
function Menubar({ className, style, ...props }) {
|
|
14
|
+
const visual = useVisualTokens();
|
|
15
|
+
return (_jsx(View, { className: cn('flex flex-row items-center gap-1 border-border bg-background p-1', className), style: [{ borderRadius: visual.radiusLg, borderWidth: visual.borderWidthHairline }, style], ...props }));
|
|
13
16
|
}
|
|
14
17
|
function MenubarMenu({ children }) {
|
|
15
18
|
const [open, setOpen] = useState(false);
|
|
16
|
-
|
|
19
|
+
const contextValue = useMemo(() => ({ open, setOpen }), [open]);
|
|
20
|
+
return _jsx(MenubarMenuContext.Provider, { value: contextValue, children: children });
|
|
17
21
|
}
|
|
18
|
-
function MenubarTrigger({ className, ...props }) {
|
|
22
|
+
function MenubarTrigger({ className, style, ...props }) {
|
|
19
23
|
const { setOpen } = useContext(MenubarMenuContext);
|
|
20
|
-
|
|
24
|
+
const visual = useVisualTokens();
|
|
25
|
+
const tokenStyle = controlRecipe(visual, 'sm');
|
|
26
|
+
return (_jsx(Pressable, { accessibilityRole: "button", className: cn('active:bg-accent', className), style: (state) => [tokenStyle, typeof style === 'function' ? style(state) : style], onPress: () => setOpen(true), ...props }));
|
|
21
27
|
}
|
|
22
28
|
function MenubarContent({ className, children, frosted = false, blurIntensity, blurTintToken, style, ...props }) {
|
|
23
29
|
const { open, setOpen } = useContext(MenubarMenuContext);
|
|
30
|
+
const visual = useVisualTokens();
|
|
31
|
+
const colors = useThemeColors();
|
|
24
32
|
const frostedSurface = useFrostedSurface({
|
|
25
33
|
frosted,
|
|
26
34
|
blurIntensity,
|
|
@@ -28,21 +36,47 @@ function MenubarContent({ className, children, frosted = false, blurIntensity, b
|
|
|
28
36
|
defaultTintToken: 'popover',
|
|
29
37
|
defaultBlurPreset: 'medium',
|
|
30
38
|
});
|
|
31
|
-
const contentStyle = [
|
|
32
|
-
|
|
39
|
+
const contentStyle = [
|
|
40
|
+
{
|
|
41
|
+
borderTopLeftRadius: surfaceRadius(visual, 'lg'),
|
|
42
|
+
borderTopRightRadius: surfaceRadius(visual, 'lg'),
|
|
43
|
+
borderTopWidth: visual.borderWidthHairline,
|
|
44
|
+
borderLeftWidth: visual.borderWidthHairline,
|
|
45
|
+
borderRightWidth: visual.borderWidthHairline,
|
|
46
|
+
},
|
|
47
|
+
shadowStyle(visual, colors, 'md'),
|
|
48
|
+
frostedSurface.surfaceStyle,
|
|
49
|
+
style,
|
|
50
|
+
];
|
|
51
|
+
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] }) }) }));
|
|
33
52
|
}
|
|
34
|
-
function MenubarItem({ className, ...props }) {
|
|
53
|
+
function MenubarItem({ className, style, ...props }) {
|
|
35
54
|
const { setOpen } = useContext(MenubarMenuContext);
|
|
36
|
-
|
|
55
|
+
const visual = useVisualTokens();
|
|
56
|
+
const tokenStyle = {
|
|
57
|
+
borderRadius: visual.radiusSm,
|
|
58
|
+
minHeight: visual.touchTargetMinSize,
|
|
59
|
+
paddingHorizontal: visual.controlPaddingXSm,
|
|
60
|
+
paddingVertical: visual.controlPaddingYSm,
|
|
61
|
+
};
|
|
62
|
+
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) => {
|
|
37
63
|
props.onPress?.(e);
|
|
38
64
|
setOpen(false);
|
|
39
65
|
}, ...props }));
|
|
40
66
|
}
|
|
41
67
|
function MenubarLabel({ className, children, ...props }) {
|
|
42
|
-
|
|
68
|
+
const visual = useVisualTokens();
|
|
69
|
+
return (_jsx(View, { className: cn('px-2 py-1.5', className), ...props, children: typeof children === 'string' ? (_jsx(Text
|
|
70
|
+
// A menu section label is a heading — without this it announces as plain text
|
|
71
|
+
// and rotor navigation cannot find it.
|
|
72
|
+
, {
|
|
73
|
+
// A menu section label is a heading — without this it announces as plain text
|
|
74
|
+
// and rotor navigation cannot find it.
|
|
75
|
+
accessibilityRole: "header", className: "font-semibold text-foreground", style: typographyStyle(visual, 'label'), children: children })) : (children) }));
|
|
43
76
|
}
|
|
44
|
-
function MenubarSeparator({ className, ...props }) {
|
|
45
|
-
|
|
77
|
+
function MenubarSeparator({ className, style, ...props }) {
|
|
78
|
+
const visual = useVisualTokens();
|
|
79
|
+
return (_jsx(View, { className: cn('-mx-1 my-1 bg-border', className), style: [{ height: visual.borderWidthHairline }, style], ...props }));
|
|
46
80
|
}
|
|
47
81
|
Menubar.displayName = 'Menubar';
|
|
48
82
|
MenubarMenu.displayName = 'MenubarMenu';
|
|
@@ -52,4 +86,3 @@ MenubarItem.displayName = 'MenubarItem';
|
|
|
52
86
|
MenubarLabel.displayName = 'MenubarLabel';
|
|
53
87
|
MenubarSeparator.displayName = 'MenubarSeparator';
|
|
54
88
|
export { Menubar, MenubarMenu, MenubarTrigger, MenubarContent, MenubarItem, MenubarLabel, MenubarSeparator, };
|
|
55
|
-
//# sourceMappingURL=menubar.js.map
|