@devalok/shilp-sutra 0.53.0 → 0.55.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/AGENTS.md +7 -1
- package/BREAKING.json +29 -0
- package/MIGRATION.md +83 -0
- package/dist/_chunks/badge-group.js +1 -1
- package/dist/_chunks/popover.js +38 -37
- package/dist/_chunks/popover.js.map +1 -1
- package/dist/_chunks/primitives/react-accordion.js +270 -0
- package/dist/_chunks/primitives/react-accordion.js.map +1 -0
- package/dist/_chunks/primitives/react-alert-dialog.js +857 -0
- package/dist/_chunks/primitives/react-alert-dialog.js.map +1 -0
- package/dist/_chunks/primitives/react-aspect-ratio.js +32 -0
- package/dist/_chunks/primitives/react-aspect-ratio.js.map +1 -0
- package/dist/_chunks/primitives/react-avatar.js +69 -0
- package/dist/_chunks/primitives/react-avatar.js.map +1 -0
- package/dist/_chunks/primitives/react-checkbox.js +151 -0
- package/dist/_chunks/primitives/react-checkbox.js.map +1 -0
- package/dist/_chunks/primitives/react-context-menu.js +905 -0
- package/dist/_chunks/primitives/react-context-menu.js.map +1 -0
- package/dist/_chunks/primitives/react-dropdown-menu.js +220 -0
- package/dist/_chunks/primitives/react-dropdown-menu.js.map +1 -0
- package/dist/_chunks/primitives/react-hover-card.js +153 -0
- package/dist/_chunks/primitives/react-hover-card.js.map +1 -0
- package/dist/_chunks/primitives/react-label.js +16 -0
- package/dist/_chunks/primitives/react-label.js.map +1 -0
- package/dist/_chunks/primitives/react-menubar.js +304 -0
- package/dist/_chunks/primitives/react-menubar.js.map +1 -0
- package/dist/_chunks/primitives/react-navigation-menu.js +560 -0
- package/dist/_chunks/primitives/react-navigation-menu.js.map +1 -0
- package/dist/_chunks/primitives/react-popover.js +186 -0
- package/dist/_chunks/primitives/react-popover.js.map +1 -0
- package/dist/_chunks/primitives/react-progress.js +70 -0
- package/dist/_chunks/primitives/react-progress.js.map +1 -0
- package/dist/_chunks/primitives/react-radio-group.js +170 -0
- package/dist/_chunks/primitives/react-radio-group.js.map +1 -0
- package/dist/_chunks/primitives/react-select.js +671 -0
- package/dist/_chunks/primitives/react-select.js.map +1 -0
- package/dist/_chunks/primitives/react-separator.js +24 -0
- package/dist/_chunks/primitives/react-separator.js.map +1 -0
- package/dist/_chunks/primitives/react-slider.js +349 -0
- package/dist/_chunks/primitives/react-slider.js.map +1 -0
- package/dist/_chunks/primitives/react-switch.js +92 -0
- package/dist/_chunks/primitives/react-switch.js.map +1 -0
- package/dist/_chunks/primitives/react-tabs.js +114 -0
- package/dist/_chunks/primitives/react-tabs.js.map +1 -0
- package/dist/_chunks/primitives/react-toggle-group.js +122 -0
- package/dist/_chunks/primitives/react-toggle-group.js.map +1 -0
- package/dist/_chunks/primitives/react-toggle.js +28 -0
- package/dist/_chunks/primitives/react-toggle.js.map +1 -0
- package/dist/_chunks/primitives/react-tooltip.js +341 -0
- package/dist/_chunks/primitives/react-tooltip.js.map +1 -0
- package/dist/_chunks/primitives-internal.js +2071 -0
- package/dist/_chunks/primitives-internal.js.map +1 -0
- package/dist/_chunks/shared.js +32 -32
- package/dist/_chunks/tiptap.js +1 -1
- package/dist/ai/ai-command-provider.d.ts +2 -3
- package/dist/ai/block-renderer.d.ts +1 -2
- package/dist/ai/blocks/block-shell.d.ts +0 -1
- package/dist/ai/blocks/block-table.d.ts +1 -2
- package/dist/ai/blocks/confirm.d.ts +1 -2
- package/dist/ai/blocks/divider.d.ts +1 -2
- package/dist/ai/blocks/error.d.ts +1 -2
- package/dist/ai/blocks/index.d.ts +7 -8
- package/dist/ai/blocks/info.d.ts +1 -2
- package/dist/ai/blocks/loading.d.ts +1 -2
- package/dist/ai/blocks/stat-row.d.ts +1 -2
- package/dist/ai/blocks/success.d.ts +1 -2
- package/dist/ai/blocks/text.d.ts +1 -2
- package/dist/ai/command-bar.d.ts +1 -2
- package/dist/ai/conversation.d.ts +2 -3
- package/dist/ai/devadoot-icon.d.ts +0 -1
- package/dist/ai/index.d.ts +16 -17
- package/dist/ai/types.js +1 -0
- package/dist/composed/activity-feed.d.ts +1 -2
- package/dist/composed/avatar-group.d.ts +11 -10
- package/dist/composed/avatar-group.d.ts.map +1 -1
- package/dist/composed/avatar-group.js +108 -140
- package/dist/composed/avatar-group.js.map +1 -1
- package/dist/composed/bulk-action-bar.d.ts +20 -13
- package/dist/composed/bulk-action-bar.d.ts.map +1 -1
- package/dist/composed/bulk-action-bar.js +81 -110
- package/dist/composed/bulk-action-bar.js.map +1 -1
- package/dist/composed/command-palette.d.ts +1 -2
- package/dist/composed/confirm-dialog.d.ts +0 -1
- package/dist/composed/date-picker/calendar-grid.d.ts +0 -1
- package/dist/composed/date-picker/date-picker.d.ts +0 -1
- package/dist/composed/date-picker/date-range-picker.d.ts +1 -2
- package/dist/composed/date-picker/date-time-picker.d.ts +0 -1
- package/dist/composed/date-picker/index.d.ts +17 -18
- package/dist/composed/date-picker/month-picker.d.ts +0 -1
- package/dist/composed/date-picker/presets.d.ts +0 -1
- package/dist/composed/date-picker/time-picker.d.ts +0 -1
- package/dist/composed/date-picker/use-calendar.d.ts +0 -1
- package/dist/composed/date-picker/year-picker.d.ts +0 -1
- package/dist/composed/deadline-indicator.d.ts +0 -1
- package/dist/composed/diff.d.ts +0 -1
- package/dist/composed/emoji-picker.d.ts +0 -1
- package/dist/composed/empty-state.d.ts +1 -2
- package/dist/composed/error-boundary.d.ts +15 -4
- package/dist/composed/error-boundary.d.ts.map +1 -1
- package/dist/composed/error-boundary.js +43 -26
- package/dist/composed/error-boundary.js.map +1 -1
- package/dist/composed/extensions/emoji-data.d.ts +0 -1
- package/dist/composed/extensions/emoji-node.d.ts +0 -1
- package/dist/composed/extensions/emoji-suggestion.d.ts +1 -2
- package/dist/composed/extensions/file-attachment.d.ts +0 -1
- package/dist/composed/extensions/mention-suggestion.d.ts +1 -2
- package/dist/composed/extensions/slash-command.d.ts +0 -1
- package/dist/composed/file-preview/audio-preview.d.ts +0 -1
- package/dist/composed/file-preview/document-preview.d.ts +0 -1
- package/dist/composed/file-preview/embed-preview.d.ts +0 -1
- package/dist/composed/file-preview/image-preview.d.ts +0 -1
- package/dist/composed/file-preview/shared.d.ts +0 -1
- package/dist/composed/file-preview/video-preview.d.ts +0 -1
- package/dist/composed/file-preview.d.ts +0 -1
- package/dist/composed/filter-bar.d.ts +0 -1
- package/dist/composed/form-section.d.ts +0 -1
- package/dist/composed/global-loading.d.ts +0 -1
- package/dist/composed/index.d.ts +49 -50
- package/dist/composed/inline-edit.d.ts +0 -1
- package/dist/composed/loading-skeleton.d.ts +2 -0
- package/dist/composed/loading-skeleton.d.ts.map +1 -1
- package/dist/composed/loading-skeleton.js +79 -56
- package/dist/composed/loading-skeleton.js.map +1 -1
- package/dist/composed/markdown-viewer.d.ts +0 -1
- package/dist/composed/master-detail.d.ts +21 -9
- package/dist/composed/master-detail.d.ts.map +1 -1
- package/dist/composed/master-detail.js +91 -77
- package/dist/composed/master-detail.js.map +1 -1
- package/dist/composed/member-picker.d.ts +0 -1
- package/dist/composed/multi-select-popover.d.ts +0 -1
- package/dist/composed/page-skeletons.d.ts +6 -0
- package/dist/composed/page-skeletons.d.ts.map +1 -1
- package/dist/composed/page-skeletons.js +93 -71
- package/dist/composed/page-skeletons.js.map +1 -1
- package/dist/composed/priority-indicator.d.ts +0 -1
- package/dist/composed/responsive-modal.d.ts +1 -2
- package/dist/composed/responsive-modal.js +47 -47
- package/dist/composed/rich-chat-input/attachment-strip.d.ts +0 -1
- package/dist/composed/rich-chat-input/audio-player.d.ts +0 -1
- package/dist/composed/rich-chat-input/audio-waveform.d.ts +0 -1
- package/dist/composed/rich-chat-input/chat-toolbar.d.ts +0 -1
- package/dist/composed/rich-chat-input/recording-overlay.d.ts +0 -1
- package/dist/composed/rich-chat-input/reply-banner.d.ts +0 -1
- package/dist/composed/rich-chat-input/schedule-send.d.ts +0 -1
- package/dist/composed/rich-chat-input/use-voice-recorder.d.ts +0 -1
- package/dist/composed/rich-chat-input.d.ts +9 -10
- package/dist/composed/rich-chat-input.js +1 -1
- package/dist/composed/rich-text-editor.d.ts +1 -2
- package/dist/composed/schedule-view.d.ts +0 -1
- package/dist/composed/simple-tooltip.d.ts +0 -1
- package/dist/composed/status-badge.d.ts +1 -2
- package/dist/hooks/index.d.ts +6 -7
- package/dist/hooks/use-color-mode.d.ts +0 -1
- package/dist/hooks/use-mobile.d.ts +0 -1
- package/dist/hooks/use-touch-device.d.ts +0 -1
- package/dist/hooks/use-viewport-height.d.ts +0 -1
- package/dist/motion/check-motion-provider.d.ts +0 -1
- package/dist/motion/index.d.ts +2 -3
- package/dist/motion/motion-provider.d.ts +1 -2
- package/dist/motion/primitives-index.d.ts +1 -2
- package/dist/motion/primitives.d.ts +1 -2
- package/dist/primitives/_internal/react-arrow.d.ts +1 -1
- package/dist/primitives/_internal/react-collection.d.ts +2 -2
- package/dist/primitives/_internal/react-dismissable-layer.d.ts +1 -1
- package/dist/primitives/_internal/react-focus-scope.d.ts +1 -1
- package/dist/primitives/_internal/react-popper.d.ts +4 -4
- package/dist/primitives/_internal/react-portal.d.ts +1 -1
- package/dist/primitives/_internal/react-use-rect.d.ts +1 -1
- package/dist/primitives/react-accordion.d.ts +3 -3
- package/dist/primitives/react-alert-dialog.d.ts +2 -2
- package/dist/primitives/react-aspect-ratio.d.ts +1 -1
- package/dist/primitives/react-avatar.d.ts +2 -2
- package/dist/primitives/react-checkbox.d.ts +3 -3
- package/dist/primitives/react-collapsible.d.ts +2 -2
- package/dist/primitives/react-context-menu.d.ts +3 -3
- package/dist/primitives/react-dialog.d.ts +5 -5
- package/dist/primitives/react-dropdown-menu.d.ts +3 -3
- package/dist/primitives/react-hover-card.d.ts +5 -5
- package/dist/primitives/react-label.d.ts +1 -1
- package/dist/primitives/react-menu.d.ts +7 -7
- package/dist/primitives/react-menubar.d.ts +5 -5
- package/dist/primitives/react-navigation-menu.d.ts +5 -5
- package/dist/primitives/react-popover.d.ts +6 -6
- package/dist/primitives/react-progress.d.ts +2 -2
- package/dist/primitives/react-radio-group.d.ts +3 -3
- package/dist/primitives/react-roving-focus.d.ts +2 -2
- package/dist/primitives/react-select.d.ts +6 -6
- package/dist/primitives/react-separator.d.ts +1 -1
- package/dist/primitives/react-slider.d.ts +2 -2
- package/dist/primitives/react-switch.d.ts +2 -2
- package/dist/primitives/react-tabs.d.ts +3 -3
- package/dist/primitives/react-toast.d.ts +3 -3
- package/dist/primitives/react-toggle-group.d.ts +4 -4
- package/dist/primitives/react-toggle.d.ts +1 -1
- package/dist/primitives/react-tooltip.d.ts +5 -5
- package/dist/primitives/react-visually-hidden.d.ts +1 -1
- package/dist/shell/app-command-palette.d.ts +2 -3
- package/dist/shell/bottom-navbar.d.ts +1 -2
- package/dist/shell/command-registry.d.ts +1 -2
- package/dist/shell/index.d.ts +12 -11
- package/dist/shell/index.d.ts.map +1 -1
- package/dist/shell/index.js +2 -3
- package/dist/shell/link-context.d.ts +2 -3
- package/dist/shell/notification-center.d.ts +0 -1
- package/dist/shell/notification-preferences.d.ts +0 -1
- package/dist/shell/notification-preferences.d.ts.map +1 -1
- package/dist/shell/notification-preferences.js +2 -0
- package/dist/shell/notification-preferences.js.map +1 -1
- package/dist/shell/top-bar.d.ts +1 -2
- package/dist/test-utils/conformance.d.ts +0 -1
- package/dist/ui/accordion.d.ts +1 -2
- package/dist/ui/accordion.js +1 -1
- package/dist/ui/alert-dialog.d.ts +1 -2
- package/dist/ui/alert-dialog.js +52 -52
- package/dist/ui/alert.d.ts +0 -1
- package/dist/ui/aspect-ratio.d.ts +1 -2
- package/dist/ui/aspect-ratio.js +4 -4
- package/dist/ui/autocomplete.d.ts +1 -2
- package/dist/ui/autocomplete.js +1 -1
- package/dist/ui/avatar.d.ts +1 -2
- package/dist/ui/avatar.js +33 -33
- package/dist/ui/badge-group.d.ts +1 -2
- package/dist/ui/badge-indicator.d.ts +0 -1
- package/dist/ui/badge.d.ts +3 -4
- package/dist/ui/banner.d.ts +0 -1
- package/dist/ui/breadcrumb.js +1 -1
- package/dist/ui/button-group.d.ts +1 -2
- package/dist/ui/button-processing.d.ts +0 -1
- package/dist/ui/button.d.ts +1 -2
- package/dist/ui/button.js +1 -1
- package/dist/ui/card.d.ts +0 -1
- package/dist/ui/charts/_internal/animation.d.ts +0 -1
- package/dist/ui/charts/_internal/axes.d.ts +0 -1
- package/dist/ui/charts/_internal/colors.d.ts +1 -2
- package/dist/ui/charts/_internal/grid-lines.d.ts +0 -1
- package/dist/ui/charts/_internal/legend.d.ts +0 -1
- package/dist/ui/charts/_internal/scales.d.ts +0 -1
- package/dist/ui/charts/_internal/tooltip.d.ts +0 -1
- package/dist/ui/charts/_internal/types.d.ts +0 -1
- package/dist/ui/charts/area-chart.d.ts +1 -2
- package/dist/ui/charts/bar-chart.d.ts +1 -2
- package/dist/ui/charts/chart-container.d.ts +1 -2
- package/dist/ui/charts/gauge-chart.d.ts +0 -1
- package/dist/ui/charts/index.d.ts +9 -10
- package/dist/ui/charts/line-chart.d.ts +1 -2
- package/dist/ui/charts/pie-chart.d.ts +0 -1
- package/dist/ui/charts/radar-chart.d.ts +0 -1
- package/dist/ui/charts/sparkline.d.ts +0 -1
- package/dist/ui/chat/date-separator.d.ts +0 -1
- package/dist/ui/chat/index.d.ts +7 -8
- package/dist/ui/chat/message-input.d.ts +0 -1
- package/dist/ui/chat/message-list.d.ts +0 -1
- package/dist/ui/chat/message.d.ts +1 -2
- package/dist/ui/chat/system-message.d.ts +1 -2
- package/dist/ui/chat/typing-indicator.d.ts +0 -1
- package/dist/ui/chat/unread-separator.d.ts +0 -1
- package/dist/ui/checkbox.d.ts +2 -3
- package/dist/ui/checkbox.js +13 -13
- package/dist/ui/collapsible.d.ts +1 -2
- package/dist/ui/collapsible.js +1 -1
- package/dist/ui/color-input.d.ts +0 -1
- package/dist/ui/color-swatch.d.ts +0 -1
- package/dist/ui/combobox.d.ts +3 -4
- package/dist/ui/combobox.d.ts.map +1 -1
- package/dist/ui/combobox.js +146 -141
- package/dist/ui/combobox.js.map +1 -1
- package/dist/ui/context-menu.d.ts +1 -2
- package/dist/ui/context-menu.js +58 -58
- package/dist/ui/data-table-body.d.ts +0 -1
- package/dist/ui/data-table-bulk-actions.d.ts +0 -1
- package/dist/ui/data-table-card.d.ts +0 -1
- package/dist/ui/data-table-context.d.ts +0 -1
- package/dist/ui/data-table-header.d.ts +0 -1
- package/dist/ui/data-table-pagination.d.ts +0 -1
- package/dist/ui/data-table-toolbar.d.ts +0 -1
- package/dist/ui/data-table.d.ts +3 -4
- package/dist/ui/devalok-grain.d.ts +0 -1
- package/dist/ui/dialog.d.ts +1 -2
- package/dist/ui/dialog.js +43 -43
- package/dist/ui/dot.d.ts +0 -1
- package/dist/ui/dropdown-menu.d.ts +1 -2
- package/dist/ui/dropdown-menu.js +69 -69
- package/dist/ui/file-upload.d.ts +0 -1
- package/dist/ui/file-upload.d.ts.map +1 -1
- package/dist/ui/file-upload.js +124 -138
- package/dist/ui/file-upload.js.map +1 -1
- package/dist/ui/form.d.ts +7 -1
- package/dist/ui/form.d.ts.map +1 -1
- package/dist/ui/form.js +4 -2
- package/dist/ui/form.js.map +1 -1
- package/dist/ui/hover-card.d.ts +1 -2
- package/dist/ui/hover-card.js +16 -16
- package/dist/ui/icon-button.d.ts +4 -4
- package/dist/ui/icon-button.d.ts.map +1 -1
- package/dist/ui/icon-button.js +1 -1
- package/dist/ui/icon-button.js.map +1 -1
- package/dist/ui/icon-context.d.ts +0 -1
- package/dist/ui/icon-group.d.ts +1 -2
- package/dist/ui/icon.d.ts +1 -2
- package/dist/ui/index.d.ts +78 -79
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/input-otp.d.ts +0 -1
- package/dist/ui/input.d.ts +1 -2
- package/dist/ui/label.d.ts +1 -2
- package/dist/ui/label.d.ts.map +1 -1
- package/dist/ui/label.js +13 -12
- package/dist/ui/label.js.map +1 -1
- package/dist/ui/lib/bottom-sheet.d.ts +0 -1
- package/dist/ui/lib/check-tokens.d.ts +0 -1
- package/dist/ui/lib/field-state.d.ts +0 -1
- package/dist/ui/lib/icon-input.d.ts +0 -1
- package/dist/ui/lib/index.d.ts +6 -7
- package/dist/ui/lib/keybinding.d.ts +0 -1
- package/dist/ui/lib/link-context.d.ts +0 -1
- package/dist/ui/lib/mention.d.ts +0 -1
- package/dist/ui/lib/normalize-icon.d.ts +2 -2
- package/dist/ui/lib/slot.d.ts +2 -3
- package/dist/ui/lib/use-controllable-open.d.ts +0 -1
- package/dist/ui/link.d.ts +0 -1
- package/dist/ui/link.js +1 -1
- package/dist/ui/menubar.d.ts +1 -2
- package/dist/ui/menubar.js +64 -64
- package/dist/ui/navigation-menu.d.ts +1 -2
- package/dist/ui/navigation-menu.js +67 -67
- package/dist/ui/number-input.d.ts +1 -2
- package/dist/ui/oauth-button/index.d.ts +1 -2
- package/dist/ui/oauth-button/oauth-button.d.ts +2 -3
- package/dist/ui/pagination.d.ts +0 -1
- package/dist/ui/pagination.js +1 -1
- package/dist/ui/popover.d.ts +1 -2
- package/dist/ui/progress-ring.d.ts +0 -1
- package/dist/ui/progress.d.ts +1 -2
- package/dist/ui/progress.js +30 -30
- package/dist/ui/radio.d.ts +2 -3
- package/dist/ui/radio.js +18 -18
- package/dist/ui/search-input.d.ts +0 -1
- package/dist/ui/segmented-control.d.ts +1 -2
- package/dist/ui/select.d.ts +1 -2
- package/dist/ui/select.js +55 -55
- package/dist/ui/separator.d.ts +1 -2
- package/dist/ui/separator.js +5 -5
- package/dist/ui/sheet.d.ts +1 -2
- package/dist/ui/sheet.js +45 -45
- package/dist/ui/sidebar.d.ts +4 -5
- package/dist/ui/sidebar.js +1 -1
- package/dist/ui/slider.d.ts +1 -2
- package/dist/ui/slider.js +14 -14
- package/dist/ui/spinner.d.ts +0 -1
- package/dist/ui/spinner.d.ts.map +1 -1
- package/dist/ui/spinner.js +50 -44
- package/dist/ui/spinner.js.map +1 -1
- package/dist/ui/split-button.d.ts +14 -4
- package/dist/ui/split-button.d.ts.map +1 -1
- package/dist/ui/split-button.js.map +1 -1
- package/dist/ui/stat-card.d.ts +3 -4
- package/dist/ui/stat-flash.d.ts +1 -2
- package/dist/ui/stepper.d.ts +1 -2
- package/dist/ui/surface.js +1 -1
- package/dist/ui/switch.d.ts +2 -3
- package/dist/ui/switch.d.ts.map +1 -1
- package/dist/ui/switch.js +31 -31
- package/dist/ui/switch.js.map +1 -1
- package/dist/ui/table-row-link.d.ts +0 -1
- package/dist/ui/table.js +1 -1
- package/dist/ui/table.js.map +1 -1
- package/dist/ui/tabs.d.ts +1 -2
- package/dist/ui/tabs.js +35 -35
- package/dist/ui/textarea.d.ts +1 -2
- package/dist/ui/toast-registry.d.ts +0 -1
- package/dist/ui/toast-types.js +1 -0
- package/dist/ui/toast.d.ts +2 -3
- package/dist/ui/toaster.d.ts +0 -1
- package/dist/ui/toggle-group.d.ts +2 -3
- package/dist/ui/toggle-group.js +14 -14
- package/dist/ui/toggle.d.ts +1 -2
- package/dist/ui/toggle.js +12 -12
- package/dist/ui/tooltip.d.ts +1 -2
- package/dist/ui/tooltip.js +21 -21
- package/dist/ui/tree-view/index.d.ts +3 -4
- package/dist/ui/tree-view/tree-item.d.ts +1 -2
- package/dist/ui/tree-view/tree-view.d.ts +1 -2
- package/dist/ui/tree-view/use-tree.d.ts +1 -2
- package/dist/ui/truncated-text.d.ts +0 -1
- package/docs/components/composed/bulk-action-bar.md +9 -3
- package/docs/components/composed/error-boundary.md +18 -2
- package/docs/components/composed/master-detail.md +12 -2
- package/docs/components/composed/page-skeletons.md +2 -2
- package/docs/components/composed/rich-chat-input.md +18 -6
- package/docs/components/composed/simple-tooltip.md +1 -1
- package/docs/components/shell/app-command-palette.md +2 -1
- package/docs/components/shell/bottom-navbar.md +4 -4
- package/docs/components/shell/command-registry.md +2 -2
- package/docs/components/shell/link-context.md +2 -2
- package/docs/components/shell/top-bar.md +1 -1
- package/docs/components/ui/search-input.md +2 -2
- package/docs/components/ui/slider.md +2 -2
- package/docs/components/ui/split-button.md +3 -3
- package/docs/recipes/install-astro.md +2 -0
- package/docs/recipes/install-next-app-router.md +2 -0
- package/docs/recipes/install-remix.md +2 -0
- package/docs/recipes/install-tanstack-start.md +2 -0
- package/docs/recipes/install-vite.md +2 -0
- package/docs/recipes/troubleshoot.md +80 -0
- package/llms.txt +2 -2
- package/make-kit/Guidelines.md +1 -1
- package/make-kit/components/overview.md +2 -2
- package/make-kit/foundations/surfaces.md +1 -1
- package/mcp-manifest.json +411 -147
- package/package.json +30 -10
- package/skill/SKILL.md +1 -1
- package/skill/chat-skill/README.md +18 -0
- package/skill/chat-skill/SKILL.md +78 -0
- package/skill/chat-skill/chatgpt-instructions.md +26 -0
- package/skill/chat-skill/gemini-instructions.md +25 -0
- package/skill/references/components.md +2 -2
- package/skill/references/setup-astro.md +2 -0
- package/skill/references/setup-next-app-router.md +2 -0
- package/skill/references/setup-remix.md +2 -0
- package/skill/references/setup-tanstack-start.md +2 -0
- package/skill/references/setup-vite.md +2 -0
- package/skill/references/troubleshoot.md +80 -0
- package/dist/_chunks/primitives.js +0 -7596
- package/dist/_chunks/primitives.js.map +0 -1
- package/dist/shell/sidebar.d.ts +0 -113
- package/dist/shell/sidebar.d.ts.map +0 -1
- package/dist/shell/sidebar.js +0 -293
- package/dist/shell/sidebar.js.map +0 -1
- package/docs/components/shell/sidebar.md +0 -103
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-context-menu.js","names":[],"sources":["../../../src/primitives/react-roving-focus.js","../../../src/primitives/react-menu.js","../../../src/primitives/react-context-menu.js"],"sourcesContent":["// @ts-nocheck\n/**\n * Vendored from @radix-ui/react-roving-focus (compiled ESM)\n * @see ./LICENSE\n */\n\n\"use client\";\n\n// src/roving-focus-group.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"./_internal/primitive\";\nimport { createCollection } from \"./_internal/react-collection\";\nimport { useComposedRefs } from \"./_internal/react-compose-refs\";\nimport { createContextScope } from \"./_internal/react-context\";\nimport { useId } from \"./_internal/react-id\";\nimport { Primitive } from \"./_internal/react-primitive\";\nimport { useCallbackRef } from \"./_internal/react-use-callback-ref\";\nimport { useControllableState } from \"./_internal/react-use-controllable-state\";\nimport { useDirection } from \"./_internal/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ENTRY_FOCUS = \"rovingFocusGroup.onEntryFocus\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar GROUP_NAME = \"RovingFocusGroup\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(GROUP_NAME);\nvar [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n GROUP_NAME,\n [createCollectionScope]\n);\nvar [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);\nvar RovingFocusGroup = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });\n }\n);\nRovingFocusGroup.displayName = GROUP_NAME;\nvar RovingFocusGroupImpl = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n orientation,\n loop = false,\n dir,\n currentTabStopId: currentTabStopIdProp,\n defaultCurrentTabStopId,\n onCurrentTabStopIdChange,\n onEntryFocus,\n preventScrollOnEntryFocus = false,\n ...groupProps\n } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const direction = useDirection(dir);\n const [currentTabStopId, setCurrentTabStopId] = useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId ?? null,\n onChange: onCurrentTabStopIdChange,\n caller: GROUP_NAME\n });\n const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);\n const handleEntryFocus = useCallbackRef(onEntryFocus);\n const getItems = useCollection(__scopeRovingFocusGroup);\n const isClickFocusRef = React.useRef(false);\n const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n }\n }, [handleEntryFocus]);\n return /* @__PURE__ */ jsx(\n RovingFocusProvider,\n {\n scope: __scopeRovingFocusGroup,\n orientation,\n dir: direction,\n loop,\n currentTabStopId,\n onItemFocus: React.useCallback(\n (tabStopId) => setCurrentTabStopId(tabStopId),\n [setCurrentTabStopId]\n ),\n onItemShiftTab: React.useCallback(() => setIsTabbingBackOut(true), []),\n onFocusableItemAdd: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount + 1),\n []\n ),\n onFocusableItemRemove: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount - 1),\n []\n ),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,\n \"data-orientation\": orientation,\n ...groupProps,\n ref: composedRefs,\n style: { outline: \"none\", ...props.style },\n onMouseDown: composeEventHandlers(props.onMouseDown, () => {\n isClickFocusRef.current = true;\n }),\n onFocus: composeEventHandlers(props.onFocus, (event) => {\n const isKeyboardFocus = !isClickFocusRef.current;\n if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);\n event.currentTarget.dispatchEvent(entryFocusEvent);\n if (!entryFocusEvent.defaultPrevented) {\n const items = getItems().filter((item) => item.focusable);\n const activeItem = items.find((item) => item.active);\n const currentItem = items.find((item) => item.id === currentTabStopId);\n const candidateItems = [activeItem, currentItem, ...items].filter(\n Boolean\n );\n const candidateNodes = candidateItems.map((item) => item.ref.current);\n focusFirst(candidateNodes, preventScrollOnEntryFocus);\n }\n }\n isClickFocusRef.current = false;\n }),\n onBlur: composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))\n }\n )\n }\n );\n});\nvar ITEM_NAME = \"RovingFocusGroupItem\";\nvar RovingFocusGroupItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n focusable = true,\n active = false,\n tabStopId,\n children,\n ...itemProps\n } = props;\n const autoId = useId();\n const id = tabStopId || autoId;\n const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);\n const isCurrentTabStop = context.currentTabStopId === id;\n const getItems = useCollection(__scopeRovingFocusGroup);\n const { onFocusableItemAdd, onFocusableItemRemove, currentTabStopId } = context;\n React.useEffect(() => {\n if (focusable) {\n onFocusableItemAdd();\n return () => onFocusableItemRemove();\n }\n }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeRovingFocusGroup,\n id,\n focusable,\n active,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n tabIndex: isCurrentTabStop ? 0 : -1,\n \"data-orientation\": context.orientation,\n ...itemProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!focusable) event.preventDefault();\n else context.onItemFocus(id);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => context.onItemFocus(id)),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Tab\" && event.shiftKey) {\n context.onItemShiftTab();\n return;\n }\n if (event.target !== event.currentTarget) return;\n const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n if (focusIntent !== void 0) {\n if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;\n event.preventDefault();\n const items = getItems().filter((item) => item.focusable);\n let candidateNodes = items.map((item) => item.ref.current);\n if (focusIntent === \"last\") candidateNodes.reverse();\n else if (focusIntent === \"prev\" || focusIntent === \"next\") {\n if (focusIntent === \"prev\") candidateNodes.reverse();\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = context.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n }\n }),\n children: typeof children === \"function\" ? children({ isCurrentTabStop, hasTabStop: currentTabStopId != null }) : children\n }\n )\n }\n );\n }\n);\nRovingFocusGroupItem.displayName = ITEM_NAME;\nvar MAP_KEY_TO_FOCUS_INTENT = {\n ArrowLeft: \"prev\",\n ArrowUp: \"prev\",\n ArrowRight: \"next\",\n ArrowDown: \"next\",\n PageUp: \"first\",\n Home: \"first\",\n PageDown: \"last\",\n End: \"last\"\n};\nfunction getDirectionAwareKey(key, dir) {\n if (dir !== \"rtl\") return key;\n return key === \"ArrowLeft\" ? \"ArrowRight\" : key === \"ArrowRight\" ? \"ArrowLeft\" : key;\n}\nfunction getFocusIntent(event, orientation, dir) {\n const key = getDirectionAwareKey(event.key, dir);\n if (orientation === \"vertical\" && [\"ArrowLeft\", \"ArrowRight\"].includes(key)) return void 0;\n if (orientation === \"horizontal\" && [\"ArrowUp\", \"ArrowDown\"].includes(key)) return void 0;\n return MAP_KEY_TO_FOCUS_INTENT[key];\n}\nfunction focusFirst(candidates, preventScroll = false) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus({ preventScroll });\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root = RovingFocusGroup;\nvar Item = RovingFocusGroupItem;\nexport {\n Item,\n Root,\n RovingFocusGroup,\n RovingFocusGroupItem,\n createRovingFocusGroupScope\n};\n","// @ts-nocheck\n/**\n * Vendored from @radix-ui/react-menu (compiled ESM)\n * @see ./LICENSE\n */\n\n\"use client\";\n\n// src/menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"./_internal/primitive\";\nimport { createCollection } from \"./_internal/react-collection\";\nimport { useComposedRefs, composeRefs } from \"./_internal/react-compose-refs\";\nimport { createContextScope } from \"./_internal/react-context\";\nimport { useDirection } from \"./_internal/react-direction\";\nimport { DismissableLayer } from \"./_internal/react-dismissable-layer\";\nimport { useFocusGuards } from \"./_internal/react-focus-guards\";\nimport { FocusScope } from \"./_internal/react-focus-scope\";\nimport { useId } from \"./_internal/react-id\";\nimport * as PopperPrimitive from \"./_internal/react-popper\";\nimport { createPopperScope } from \"./_internal/react-popper\";\nimport { Portal as PortalPrimitive } from \"./_internal/react-portal\";\nimport { Presence } from \"./_internal/react-presence\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"./_internal/react-primitive\";\nimport * as RovingFocusGroup from \"./react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"./react-roving-focus\";\nimport { createSlot } from \"./react-slot\";\nimport { useCallbackRef } from \"./_internal/react-use-callback-ref\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SELECTION_KEYS = [\"Enter\", \" \"];\nvar FIRST_KEYS = [\"ArrowDown\", \"PageUp\", \"Home\"];\nvar LAST_KEYS = [\"ArrowUp\", \"PageDown\", \"End\"];\nvar FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];\nvar SUB_OPEN_KEYS = {\n ltr: [...SELECTION_KEYS, \"ArrowRight\"],\n rtl: [...SELECTION_KEYS, \"ArrowLeft\"]\n};\nvar SUB_CLOSE_KEYS = {\n ltr: [\"ArrowLeft\"],\n rtl: [\"ArrowRight\"]\n};\nvar MENU_NAME = \"Menu\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(MENU_NAME);\nvar [createMenuContext, createMenuScope] = createContextScope(MENU_NAME, [\n createCollectionScope,\n createPopperScope,\n createRovingFocusGroupScope\n]);\nvar usePopperScope = createPopperScope();\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);\nvar [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);\nvar Menu = (props) => {\n const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;\n const popperScope = usePopperScope(__scopeMenu);\n const [content, setContent] = React.useState(null);\n const isUsingKeyboardRef = React.useRef(false);\n const handleOpenChange = useCallbackRef(onOpenChange);\n const direction = useDirection(dir);\n React.useEffect(() => {\n const handleKeyDown = () => {\n isUsingKeyboardRef.current = true;\n document.addEventListener(\"pointerdown\", handlePointer, { capture: true, once: true });\n document.addEventListener(\"pointermove\", handlePointer, { capture: true, once: true });\n };\n const handlePointer = () => isUsingKeyboardRef.current = false;\n document.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n document.removeEventListener(\"pointerdown\", handlePointer, { capture: true });\n document.removeEventListener(\"pointermove\", handlePointer, { capture: true });\n };\n }, []);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuRootProvider,\n {\n scope: __scopeMenu,\n onClose: React.useCallback(() => handleOpenChange(false), [handleOpenChange]),\n isUsingKeyboardRef,\n dir: direction,\n modal,\n children\n }\n )\n }\n ) });\n};\nMenu.displayName = MENU_NAME;\nvar ANCHOR_NAME = \"MenuAnchor\";\nvar MenuAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...anchorProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }\n);\nMenuAnchor.displayName = ANCHOR_NAME;\nvar PORTAL_NAME = \"MenuPortal\";\nvar [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar MenuPortal = (props) => {\n const { __scopeMenu, forceMount, children, container } = props;\n const context = useMenuContext(PORTAL_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"MenuContent\";\nvar [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME);\nvar MenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ jsx(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });\n }\n);\nvar MenuRootContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const content = ref.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: context.open,\n disableOutsideScroll: true,\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n ),\n onDismiss: () => context.onOpenChange(false)\n }\n );\n }\n);\nvar MenuRootContentNonModal = React.forwardRef((props, forwardedRef) => {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n onDismiss: () => context.onOpenChange(false)\n }\n );\n});\nvar Slot = createSlot(\"MenuContent.ScrollLock\");\nvar MenuContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeMenu,\n loop = false,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEntryFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n disableOutsideScroll,\n ...contentProps\n } = props;\n const context = useMenuContext(CONTENT_NAME, __scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const getItems = useCollection(__scopeMenu);\n const [currentItemId, setCurrentItemId] = React.useState(null);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);\n const timerRef = React.useRef(0);\n const searchRef = React.useRef(\"\");\n const pointerGraceTimerRef = React.useRef(0);\n const pointerGraceIntentRef = React.useRef(null);\n const pointerDirRef = React.useRef(\"right\");\n const lastPointerXRef = React.useRef(0);\n const ScrollLockWrapper = disableOutsideScroll ? RemoveScroll : React.Fragment;\n const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot, allowPinchZoom: true } : void 0;\n const handleTypeaheadSearch = (key) => {\n const search = searchRef.current + key;\n const items = getItems().filter((item) => !item.disabled);\n const currentItem = document.activeElement;\n const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;\n const values = items.map((item) => item.textValue);\n const nextMatch = getNextMatch(values, search, currentMatch);\n const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;\n (function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n })(search);\n if (newItem) {\n setTimeout(() => newItem.focus());\n }\n };\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n useFocusGuards();\n const isPointerMovingToSubmenu = React.useCallback((event) => {\n const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;\n return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentProvider,\n {\n scope: __scopeMenu,\n searchRef,\n onItemEnter: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n onItemLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) return;\n contentRef.current?.focus();\n setCurrentItemId(null);\n },\n [isPointerMovingToSubmenu]\n ),\n onTriggerLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n pointerGraceTimerRef,\n onPointerGraceIntentChange: React.useCallback((intent) => {\n pointerGraceIntentRef.current = intent;\n }, []),\n children: /* @__PURE__ */ jsx(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: trapFocus,\n onMountAutoFocus: composeEventHandlers(onOpenAutoFocus, (event) => {\n event.preventDefault();\n contentRef.current?.focus({ preventScroll: true });\n }),\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n children: /* @__PURE__ */ jsx(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n dir: rootContext.dir,\n orientation: \"vertical\",\n loop,\n currentTabStopId: currentItemId,\n onCurrentTabStopIdChange: setCurrentItemId,\n onEntryFocus: composeEventHandlers(onEntryFocus, (event) => {\n if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();\n }),\n preventScrollOnEntryFocus: true,\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n role: \"menu\",\n \"aria-orientation\": \"vertical\",\n \"data-state\": getOpenState(context.open),\n \"data-radix-menu-content\": \"\",\n dir: rootContext.dir,\n ...popperScope,\n ...contentProps,\n ref: composedRefs,\n style: { outline: \"none\", ...contentProps.style },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const target = event.target;\n const isKeyDownInside = target.closest(\"[data-radix-menu-content]\") === event.currentTarget;\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n const isCharacterKey = event.key.length === 1;\n if (isKeyDownInside) {\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);\n }\n const content = contentRef.current;\n if (event.target !== content) return;\n if (!FIRST_LAST_KEYS.includes(event.key)) return;\n event.preventDefault();\n const items = getItems().filter((item) => !item.disabled);\n const candidateNodes = items.map((item) => item.ref.current);\n if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();\n focusFirst(candidateNodes);\n }),\n onBlur: composeEventHandlers(props.onBlur, (event) => {\n if (!event.currentTarget.contains(event.target)) {\n window.clearTimeout(timerRef.current);\n searchRef.current = \"\";\n }\n }),\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n const target = event.target;\n const pointerXHasChanged = lastPointerXRef.current !== event.clientX;\n if (event.currentTarget.contains(target) && pointerXHasChanged) {\n const newDir = event.clientX > lastPointerXRef.current ? \"right\" : \"left\";\n pointerDirRef.current = newDir;\n lastPointerXRef.current = event.clientX;\n }\n })\n )\n }\n )\n }\n )\n }\n )\n }\n ) })\n }\n );\n }\n);\nMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"MenuGroup\";\nvar MenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...groupProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", ...groupProps, ref: forwardedRef });\n }\n);\nMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"MenuLabel\";\nvar MenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...labelProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { ...labelProps, ref: forwardedRef });\n }\n);\nMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"MenuItem\";\nvar ITEM_SELECT = \"menu.itemSelect\";\nvar MenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { disabled = false, onSelect, ...itemProps } = props;\n const ref = React.useRef(null);\n const rootContext = useMenuRootContext(ITEM_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(ITEM_NAME, props.__scopeMenu);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const isPointerDownRef = React.useRef(false);\n const handleSelect = () => {\n const menuItem = ref.current;\n if (!disabled && menuItem) {\n const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });\n menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });\n dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);\n if (itemSelectEvent.defaultPrevented) {\n isPointerDownRef.current = false;\n } else {\n rootContext.onClose();\n }\n }\n };\n return /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n ...itemProps,\n ref: composedRefs,\n disabled,\n onClick: composeEventHandlers(props.onClick, handleSelect),\n onPointerDown: (event) => {\n props.onPointerDown?.(event);\n isPointerDownRef.current = true;\n },\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n if (!isPointerDownRef.current) event.currentTarget?.click();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (disabled || isTypingAhead && event.key === \" \") return;\n if (SELECTION_KEYS.includes(event.key)) {\n event.currentTarget.click();\n event.preventDefault();\n }\n })\n }\n );\n }\n);\nMenuItem.displayName = ITEM_NAME;\nvar MenuItemImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;\n const contentContext = useMenuContentContext(ITEM_NAME, __scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [isFocused, setIsFocused] = React.useState(false);\n const [textContent, setTextContent] = React.useState(\"\");\n React.useEffect(() => {\n const menuItem = ref.current;\n if (menuItem) {\n setTextContent((menuItem.textContent ?? \"\").trim());\n }\n }, [itemProps.children]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeMenu,\n disabled,\n textValue: textValue ?? textContent,\n children: /* @__PURE__ */ jsx(RovingFocusGroup.Item, { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"menuitem\",\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...itemProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n if (disabled) {\n contentContext.onItemLeave(event);\n } else {\n contentContext.onItemEnter(event);\n if (!event.defaultPrevented) {\n const item = event.currentTarget;\n item.focus({ preventScroll: true });\n }\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => contentContext.onItemLeave(event))\n ),\n onFocus: composeEventHandlers(props.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(props.onBlur, () => setIsFocused(false))\n }\n ) })\n }\n );\n }\n);\nvar CHECKBOX_ITEM_NAME = \"MenuCheckboxItem\";\nvar MenuCheckboxItem = React.forwardRef(\n (props, forwardedRef) => {\n const { checked = false, onCheckedChange, ...checkboxItemProps } = props;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemcheckbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n ...checkboxItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n checkboxItemProps.onSelect,\n () => onCheckedChange?.(isIndeterminate(checked) ? true : !checked),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"MenuRadioGroup\";\nvar [RadioGroupProvider, useRadioGroupContext] = createMenuContext(\n RADIO_GROUP_NAME,\n { value: void 0, onValueChange: () => {\n } }\n);\nvar MenuRadioGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { value, onValueChange, ...groupProps } = props;\n const handleValueChange = useCallbackRef(onValueChange);\n return /* @__PURE__ */ jsx(RadioGroupProvider, { scope: props.__scopeMenu, value, onValueChange: handleValueChange, children: /* @__PURE__ */ jsx(MenuGroup, { ...groupProps, ref: forwardedRef }) });\n }\n);\nMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"MenuRadioItem\";\nvar MenuRadioItem = React.forwardRef(\n (props, forwardedRef) => {\n const { value, ...radioItemProps } = props;\n const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);\n const checked = value === context.value;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemradio\",\n \"aria-checked\": checked,\n ...radioItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n radioItemProps.onSelect,\n () => context.onValueChange?.(value),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar ITEM_INDICATOR_NAME = \"MenuItemIndicator\";\nvar [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(\n ITEM_INDICATOR_NAME,\n { checked: false }\n);\nvar MenuItemIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;\n const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(\n Presence,\n {\n present: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...itemIndicatorProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(indicatorContext.checked)\n }\n )\n }\n );\n }\n);\nMenuItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SEPARATOR_NAME = \"MenuSeparator\";\nvar MenuSeparator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"separator\",\n \"aria-orientation\": \"horizontal\",\n ...separatorProps,\n ref: forwardedRef\n }\n );\n }\n);\nMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"MenuArrow\";\nvar MenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeMenu, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nMenuArrow.displayName = ARROW_NAME;\nvar SUB_NAME = \"MenuSub\";\nvar [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);\nvar MenuSub = (props) => {\n const { __scopeMenu, children, open = false, onOpenChange } = props;\n const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const [trigger, setTrigger] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const handleOpenChange = useCallbackRef(onOpenChange);\n React.useEffect(() => {\n if (parentMenuContext.open === false) handleOpenChange(false);\n return () => handleOpenChange(false);\n }, [parentMenuContext.open, handleOpenChange]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuSubProvider,\n {\n scope: __scopeMenu,\n contentId: useId(),\n triggerId: useId(),\n trigger,\n onTriggerChange: setTrigger,\n children\n }\n )\n }\n ) });\n};\nMenuSub.displayName = SUB_NAME;\nvar SUB_TRIGGER_NAME = \"MenuSubTrigger\";\nvar MenuSubTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const openTimerRef = React.useRef(null);\n const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;\n const scope = { __scopeMenu: props.__scopeMenu };\n const clearOpenTimer = React.useCallback(() => {\n if (openTimerRef.current) window.clearTimeout(openTimerRef.current);\n openTimerRef.current = null;\n }, []);\n React.useEffect(() => clearOpenTimer, [clearOpenTimer]);\n React.useEffect(() => {\n const pointerGraceTimer = pointerGraceTimerRef.current;\n return () => {\n window.clearTimeout(pointerGraceTimer);\n onPointerGraceIntentChange(null);\n };\n }, [pointerGraceTimerRef, onPointerGraceIntentChange]);\n return /* @__PURE__ */ jsx(MenuAnchor, { asChild: true, ...scope, children: /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n id: subContext.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": subContext.contentId,\n \"data-state\": getOpenState(context.open),\n ...props,\n ref: composeRefs(forwardedRef, subContext.onTriggerChange),\n onClick: (event) => {\n props.onClick?.(event);\n if (props.disabled || event.defaultPrevented) return;\n event.currentTarget.focus();\n if (!context.open) context.onOpenChange(true);\n },\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n contentContext.onItemEnter(event);\n if (event.defaultPrevented) return;\n if (!props.disabled && !context.open && !openTimerRef.current) {\n contentContext.onPointerGraceIntentChange(null);\n openTimerRef.current = window.setTimeout(() => {\n context.onOpenChange(true);\n clearOpenTimer();\n }, 100);\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => {\n clearOpenTimer();\n const contentRect = context.content?.getBoundingClientRect();\n if (contentRect) {\n const side = context.content?.dataset.side;\n const rightSide = side === \"right\";\n const bleed = rightSide ? -5 : 5;\n const contentNearEdge = contentRect[rightSide ? \"left\" : \"right\"];\n const contentFarEdge = contentRect[rightSide ? \"right\" : \"left\"];\n contentContext.onPointerGraceIntentChange({\n area: [\n // Apply a bleed on clientX to ensure that our exit point is\n // consistently within polygon bounds\n { x: event.clientX + bleed, y: event.clientY },\n { x: contentNearEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.bottom },\n { x: contentNearEdge, y: contentRect.bottom }\n ],\n side\n });\n window.clearTimeout(pointerGraceTimerRef.current);\n pointerGraceTimerRef.current = window.setTimeout(\n () => contentContext.onPointerGraceIntentChange(null),\n 300\n );\n } else {\n contentContext.onTriggerLeave(event);\n if (event.defaultPrevented) return;\n contentContext.onPointerGraceIntentChange(null);\n }\n })\n ),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (props.disabled || isTypingAhead && event.key === \" \") return;\n if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {\n context.onOpenChange(true);\n context.content?.focus();\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"MenuSubContent\";\nvar MenuSubContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...subContentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n id: subContext.contentId,\n \"aria-labelledby\": subContext.triggerId,\n ...subContentProps,\n ref: composedRefs,\n align: \"start\",\n side: rootContext.dir === \"rtl\" ? \"left\" : \"right\",\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n trapFocus: false,\n onOpenAutoFocus: (event) => {\n if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();\n event.preventDefault();\n },\n onCloseAutoFocus: (event) => event.preventDefault(),\n onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {\n if (event.target !== subContext.trigger) context.onOpenChange(false);\n }),\n onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (event) => {\n rootContext.onClose();\n event.preventDefault();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isKeyDownInside = event.currentTarget.contains(event.target);\n const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);\n if (isKeyDownInside && isCloseKey) {\n context.onOpenChange(false);\n subContext.trigger?.focus();\n event.preventDefault();\n }\n })\n }\n ) }) }) });\n }\n);\nMenuSubContent.displayName = SUB_CONTENT_NAME;\nfunction getOpenState(open) {\n return open ? \"open\" : \"closed\";\n}\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\nfunction getCheckedState(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nfunction focusFirst(candidates) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nfunction getNextMatch(values, search, currentMatch) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;\n let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));\n const excludeCurrentMatch = normalizedSearch.length === 1;\n if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);\n const nextMatch = wrappedValues.find(\n (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextMatch !== currentMatch ? nextMatch : void 0;\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const ii = polygon[i];\n const jj = polygon[j];\n const xi = ii.x;\n const yi = ii.y;\n const xj = jj.x;\n const yj = jj.y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction isPointerInGraceArea(event, area) {\n if (!area) return false;\n const cursorPos = { x: event.clientX, y: event.clientY };\n return isPointInPolygon(cursorPos, area);\n}\nfunction whenMouse(handler) {\n return (event) => event.pointerType === \"mouse\" ? handler(event) : void 0;\n}\nvar Root3 = Menu;\nvar Anchor2 = MenuAnchor;\nvar Portal = MenuPortal;\nvar Content2 = MenuContent;\nvar Group = MenuGroup;\nvar Label = MenuLabel;\nvar Item2 = MenuItem;\nvar CheckboxItem = MenuCheckboxItem;\nvar RadioGroup = MenuRadioGroup;\nvar RadioItem = MenuRadioItem;\nvar ItemIndicator = MenuItemIndicator;\nvar Separator = MenuSeparator;\nvar Arrow2 = MenuArrow;\nvar Sub = MenuSub;\nvar SubTrigger = MenuSubTrigger;\nvar SubContent = MenuSubContent;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n CheckboxItem,\n Content2 as Content,\n Group,\n Item2 as Item,\n ItemIndicator,\n Label,\n Menu,\n MenuAnchor,\n MenuArrow,\n MenuCheckboxItem,\n MenuContent,\n MenuGroup,\n MenuItem,\n MenuItemIndicator,\n MenuLabel,\n MenuPortal,\n MenuRadioGroup,\n MenuRadioItem,\n MenuSeparator,\n MenuSub,\n MenuSubContent,\n MenuSubTrigger,\n Portal,\n RadioGroup,\n RadioItem,\n Root3 as Root,\n Separator,\n Sub,\n SubContent,\n SubTrigger,\n createMenuScope\n};\n","// @ts-nocheck\n/**\n * Vendored from @radix-ui/react-context-menu (compiled ESM)\n * @see ./LICENSE\n */\n\n\"use client\";\n\n// src/context-menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"./_internal/primitive\";\nimport { createContextScope } from \"./_internal/react-context\";\nimport { Primitive } from \"./_internal/react-primitive\";\nimport * as MenuPrimitive from \"./react-menu\";\nimport { createMenuScope } from \"./react-menu\";\nimport { useCallbackRef } from \"./_internal/react-use-callback-ref\";\nimport { useControllableState } from \"./_internal/react-use-controllable-state\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar CONTEXT_MENU_NAME = \"ContextMenu\";\nvar [createContextMenuContext, createContextMenuScope] = createContextScope(CONTEXT_MENU_NAME, [\n createMenuScope\n]);\nvar useMenuScope = createMenuScope();\nvar [ContextMenuProvider, useContextMenuContext] = createContextMenuContext(CONTEXT_MENU_NAME);\nvar ContextMenu = (props) => {\n const { __scopeContextMenu, children, onOpenChange, dir, modal = true } = props;\n const [open, setOpen] = React.useState(false);\n const menuScope = useMenuScope(__scopeContextMenu);\n const handleOpenChangeProp = useCallbackRef(onOpenChange);\n const handleOpenChange = React.useCallback(\n (open2) => {\n setOpen(open2);\n handleOpenChangeProp(open2);\n },\n [handleOpenChangeProp]\n );\n return /* @__PURE__ */ jsx(\n ContextMenuProvider,\n {\n scope: __scopeContextMenu,\n open,\n onOpenChange: handleOpenChange,\n modal,\n children: /* @__PURE__ */ jsx(\n MenuPrimitive.Root,\n {\n ...menuScope,\n dir,\n open,\n onOpenChange: handleOpenChange,\n modal,\n children\n }\n )\n }\n );\n};\nContextMenu.displayName = CONTEXT_MENU_NAME;\nvar TRIGGER_NAME = \"ContextMenuTrigger\";\nvar ContextMenuTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeContextMenu, disabled = false, ...triggerProps } = props;\n const context = useContextMenuContext(TRIGGER_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n const pointRef = React.useRef({ x: 0, y: 0 });\n const virtualRef = React.useRef({\n getBoundingClientRect: () => DOMRect.fromRect({ width: 0, height: 0, ...pointRef.current })\n });\n const longPressTimerRef = React.useRef(0);\n const clearLongPress = React.useCallback(\n () => window.clearTimeout(longPressTimerRef.current),\n []\n );\n const handleOpen = (event) => {\n pointRef.current = { x: event.clientX, y: event.clientY };\n context.onOpenChange(true);\n };\n React.useEffect(() => clearLongPress, [clearLongPress]);\n React.useEffect(() => void (disabled && clearLongPress()), [disabled, clearLongPress]);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(MenuPrimitive.Anchor, { ...menuScope, virtualRef }),\n /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n ...triggerProps,\n ref: forwardedRef,\n style: { WebkitTouchCallout: \"none\", ...props.style },\n onContextMenu: disabled ? props.onContextMenu : composeEventHandlers(props.onContextMenu, (event) => {\n clearLongPress();\n handleOpen(event);\n event.preventDefault();\n }),\n onPointerDown: disabled ? props.onPointerDown : composeEventHandlers(\n props.onPointerDown,\n whenTouchOrPen((event) => {\n clearLongPress();\n longPressTimerRef.current = window.setTimeout(() => handleOpen(event), 700);\n })\n ),\n onPointerMove: disabled ? props.onPointerMove : composeEventHandlers(props.onPointerMove, whenTouchOrPen(clearLongPress)),\n onPointerCancel: disabled ? props.onPointerCancel : composeEventHandlers(props.onPointerCancel, whenTouchOrPen(clearLongPress)),\n onPointerUp: disabled ? props.onPointerUp : composeEventHandlers(props.onPointerUp, whenTouchOrPen(clearLongPress))\n }\n )\n ] });\n }\n);\nContextMenuTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"ContextMenuPortal\";\nvar ContextMenuPortal = (props) => {\n const { __scopeContextMenu, ...portalProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Portal, { ...menuScope, ...portalProps });\n};\nContextMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"ContextMenuContent\";\nvar ContextMenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeContextMenu, ...contentProps } = props;\n const context = useContextMenuContext(CONTENT_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n const hasInteractedOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.Content,\n {\n ...menuScope,\n ...contentProps,\n ref: forwardedRef,\n side: \"right\",\n sideOffset: 2,\n align: \"start\",\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented && hasInteractedOutsideRef.current) {\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented && !context.modal) hasInteractedOutsideRef.current = true;\n },\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-context-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-context-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-context-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-context-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-context-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n }\n);\nContextMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"ContextMenuGroup\";\nvar ContextMenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeContextMenu, ...groupProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Group, { ...menuScope, ...groupProps, ref: forwardedRef });\n }\n);\nContextMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"ContextMenuLabel\";\nvar ContextMenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeContextMenu, ...labelProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Label, { ...menuScope, ...labelProps, ref: forwardedRef });\n }\n);\nContextMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"ContextMenuItem\";\nvar ContextMenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeContextMenu, ...itemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Item, { ...menuScope, ...itemProps, ref: forwardedRef });\n }\n);\nContextMenuItem.displayName = ITEM_NAME;\nvar CHECKBOX_ITEM_NAME = \"ContextMenuCheckboxItem\";\nvar ContextMenuCheckboxItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...checkboxItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });\n});\nContextMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"ContextMenuRadioGroup\";\nvar ContextMenuRadioGroup = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...radioGroupProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });\n});\nContextMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"ContextMenuRadioItem\";\nvar ContextMenuRadioItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...radioItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });\n});\nContextMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar INDICATOR_NAME = \"ContextMenuItemIndicator\";\nvar ContextMenuItemIndicator = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });\n});\nContextMenuItemIndicator.displayName = INDICATOR_NAME;\nvar SEPARATOR_NAME = \"ContextMenuSeparator\";\nvar ContextMenuSeparator = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...separatorProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });\n});\nContextMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"ContextMenuArrow\";\nvar ContextMenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeContextMenu, ...arrowProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Arrow, { ...menuScope, ...arrowProps, ref: forwardedRef });\n }\n);\nContextMenuArrow.displayName = ARROW_NAME;\nvar SUB_NAME = \"ContextMenuSub\";\nvar ContextMenuSub = (props) => {\n const { __scopeContextMenu, children, onOpenChange, open: openProp, defaultOpen } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: SUB_NAME\n });\n return /* @__PURE__ */ jsx(MenuPrimitive.Sub, { ...menuScope, open, onOpenChange: setOpen, children });\n};\nContextMenuSub.displayName = SUB_NAME;\nvar SUB_TRIGGER_NAME = \"ContextMenuSubTrigger\";\nvar ContextMenuSubTrigger = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...triggerItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.SubTrigger, { ...menuScope, ...triggerItemProps, ref: forwardedRef });\n});\nContextMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"ContextMenuSubContent\";\nvar ContextMenuSubContent = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...subContentProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.SubContent,\n {\n ...menuScope,\n ...subContentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-context-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-context-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-context-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-context-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-context-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nContextMenuSubContent.displayName = SUB_CONTENT_NAME;\nfunction whenTouchOrPen(handler) {\n return (event) => event.pointerType !== \"mouse\" ? handler(event) : void 0;\n}\nvar Root2 = ContextMenu;\nvar Trigger = ContextMenuTrigger;\nvar Portal2 = ContextMenuPortal;\nvar Content2 = ContextMenuContent;\nvar Group2 = ContextMenuGroup;\nvar Label2 = ContextMenuLabel;\nvar Item2 = ContextMenuItem;\nvar CheckboxItem2 = ContextMenuCheckboxItem;\nvar RadioGroup2 = ContextMenuRadioGroup;\nvar RadioItem2 = ContextMenuRadioItem;\nvar ItemIndicator2 = ContextMenuItemIndicator;\nvar Separator2 = ContextMenuSeparator;\nvar Arrow2 = ContextMenuArrow;\nvar Sub2 = ContextMenuSub;\nvar SubTrigger2 = ContextMenuSubTrigger;\nvar SubContent2 = ContextMenuSubContent;\nexport {\n Arrow2 as Arrow,\n CheckboxItem2 as CheckboxItem,\n Content2 as Content,\n ContextMenu,\n ContextMenuArrow,\n ContextMenuCheckboxItem,\n ContextMenuContent,\n ContextMenuGroup,\n ContextMenuItem,\n ContextMenuItemIndicator,\n ContextMenuLabel,\n ContextMenuPortal,\n ContextMenuRadioGroup,\n ContextMenuRadioItem,\n ContextMenuSeparator,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuTrigger,\n Group2 as Group,\n Item2 as Item,\n ItemIndicator2 as ItemIndicator,\n Label2 as Label,\n Portal2 as Portal,\n RadioGroup2 as RadioGroup,\n RadioItem2 as RadioItem,\n Root2 as Root,\n Separator2 as Separator,\n Sub2 as Sub,\n SubContent2 as SubContent,\n SubTrigger2 as SubTrigger,\n Trigger,\n createContextMenuScope\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Primitive as e, composeEventHandlers as t, composeRefs as n, createContextScope as r, useControllableState as i, useId as a } from "../primitives-internal.js";
|
|
3
|
+
import { Anchor2 as o, Arrow2 as s, CheckboxItem as c, Content2$1 as l, Group as u, Item2$1 as d, ItemIndicator as f, Label as p, Portal as m, RadioGroup as h, RadioItem as ee, Root3 as te, Separator as g, Sub as _, SubContent as v, SubTrigger as y, createMenuScope as b } from "./react-context-menu.js";
|
|
4
|
+
import * as x from "react";
|
|
5
|
+
import { jsx as S } from "react/jsx-runtime";
|
|
6
|
+
//#region src/primitives/react-dropdown-menu.js
|
|
7
|
+
var C = "DropdownMenu", [ne, re] = r(C, [b]), w = b(), [T, E] = ne(C), D = (e) => {
|
|
8
|
+
let { __scopeDropdownMenu: t, children: n, dir: r, open: o, defaultOpen: s, onOpenChange: c, modal: l = !0 } = e, u = w(t), d = x.useRef(null), [f, p] = i({
|
|
9
|
+
prop: o,
|
|
10
|
+
defaultProp: s ?? !1,
|
|
11
|
+
onChange: c,
|
|
12
|
+
caller: C
|
|
13
|
+
});
|
|
14
|
+
return /* @__PURE__ */ S(T, {
|
|
15
|
+
scope: t,
|
|
16
|
+
triggerId: a(),
|
|
17
|
+
triggerRef: d,
|
|
18
|
+
contentId: a(),
|
|
19
|
+
open: f,
|
|
20
|
+
onOpenChange: p,
|
|
21
|
+
onOpenToggle: x.useCallback(() => p((e) => !e), [p]),
|
|
22
|
+
modal: l,
|
|
23
|
+
children: /* @__PURE__ */ S(te, {
|
|
24
|
+
...u,
|
|
25
|
+
open: f,
|
|
26
|
+
onOpenChange: p,
|
|
27
|
+
dir: r,
|
|
28
|
+
modal: l,
|
|
29
|
+
children: n
|
|
30
|
+
})
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
D.displayName = C;
|
|
34
|
+
var O = "DropdownMenuTrigger", k = x.forwardRef((r, i) => {
|
|
35
|
+
let { __scopeDropdownMenu: a, disabled: s = !1, ...c } = r, l = E(O, a);
|
|
36
|
+
return /* @__PURE__ */ S(o, {
|
|
37
|
+
asChild: !0,
|
|
38
|
+
...w(a),
|
|
39
|
+
children: /* @__PURE__ */ S(e.button, {
|
|
40
|
+
type: "button",
|
|
41
|
+
id: l.triggerId,
|
|
42
|
+
"aria-haspopup": "menu",
|
|
43
|
+
"aria-expanded": l.open,
|
|
44
|
+
"aria-controls": l.open ? l.contentId : void 0,
|
|
45
|
+
"data-state": l.open ? "open" : "closed",
|
|
46
|
+
"data-disabled": s ? "" : void 0,
|
|
47
|
+
disabled: s,
|
|
48
|
+
...c,
|
|
49
|
+
ref: n(i, l.triggerRef),
|
|
50
|
+
onPointerDown: t(r.onPointerDown, (e) => {
|
|
51
|
+
!s && e.button === 0 && e.ctrlKey === !1 && (l.onOpenToggle(), l.open || e.preventDefault());
|
|
52
|
+
}),
|
|
53
|
+
onKeyDown: t(r.onKeyDown, (e) => {
|
|
54
|
+
s || (["Enter", " "].includes(e.key) && l.onOpenToggle(), e.key === "ArrowDown" && l.onOpenChange(!0), [
|
|
55
|
+
"Enter",
|
|
56
|
+
" ",
|
|
57
|
+
"ArrowDown"
|
|
58
|
+
].includes(e.key) && e.preventDefault());
|
|
59
|
+
})
|
|
60
|
+
})
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
k.displayName = O;
|
|
64
|
+
var A = "DropdownMenuPortal", j = (e) => {
|
|
65
|
+
let { __scopeDropdownMenu: t, ...n } = e;
|
|
66
|
+
return /* @__PURE__ */ S(m, {
|
|
67
|
+
...w(t),
|
|
68
|
+
...n
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
j.displayName = A;
|
|
72
|
+
var M = "DropdownMenuContent", N = x.forwardRef((e, n) => {
|
|
73
|
+
let { __scopeDropdownMenu: r, ...i } = e, a = E(M, r), o = w(r), s = x.useRef(!1);
|
|
74
|
+
return /* @__PURE__ */ S(l, {
|
|
75
|
+
id: a.contentId,
|
|
76
|
+
"aria-labelledby": a.triggerId,
|
|
77
|
+
...o,
|
|
78
|
+
...i,
|
|
79
|
+
ref: n,
|
|
80
|
+
onCloseAutoFocus: t(e.onCloseAutoFocus, (e) => {
|
|
81
|
+
s.current || a.triggerRef.current?.focus(), s.current = !1, e.preventDefault();
|
|
82
|
+
}),
|
|
83
|
+
onInteractOutside: t(e.onInteractOutside, (e) => {
|
|
84
|
+
let t = e.detail.originalEvent, n = t.button === 0 && t.ctrlKey === !0, r = t.button === 2 || n;
|
|
85
|
+
(!a.modal || r) && (s.current = !0);
|
|
86
|
+
}),
|
|
87
|
+
style: {
|
|
88
|
+
...e.style,
|
|
89
|
+
"--radix-dropdown-menu-content-transform-origin": "var(--radix-popper-transform-origin)",
|
|
90
|
+
"--radix-dropdown-menu-content-available-width": "var(--radix-popper-available-width)",
|
|
91
|
+
"--radix-dropdown-menu-content-available-height": "var(--radix-popper-available-height)",
|
|
92
|
+
"--radix-dropdown-menu-trigger-width": "var(--radix-popper-anchor-width)",
|
|
93
|
+
"--radix-dropdown-menu-trigger-height": "var(--radix-popper-anchor-height)"
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
N.displayName = M;
|
|
98
|
+
var P = "DropdownMenuGroup", F = x.forwardRef((e, t) => {
|
|
99
|
+
let { __scopeDropdownMenu: n, ...r } = e;
|
|
100
|
+
return /* @__PURE__ */ S(u, {
|
|
101
|
+
...w(n),
|
|
102
|
+
...r,
|
|
103
|
+
ref: t
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
F.displayName = P;
|
|
107
|
+
var I = "DropdownMenuLabel", L = x.forwardRef((e, t) => {
|
|
108
|
+
let { __scopeDropdownMenu: n, ...r } = e;
|
|
109
|
+
return /* @__PURE__ */ S(p, {
|
|
110
|
+
...w(n),
|
|
111
|
+
...r,
|
|
112
|
+
ref: t
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
L.displayName = I;
|
|
116
|
+
var R = "DropdownMenuItem", z = x.forwardRef((e, t) => {
|
|
117
|
+
let { __scopeDropdownMenu: n, ...r } = e;
|
|
118
|
+
return /* @__PURE__ */ S(d, {
|
|
119
|
+
...w(n),
|
|
120
|
+
...r,
|
|
121
|
+
ref: t
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
z.displayName = R;
|
|
125
|
+
var B = "DropdownMenuCheckboxItem", V = x.forwardRef((e, t) => {
|
|
126
|
+
let { __scopeDropdownMenu: n, ...r } = e;
|
|
127
|
+
return /* @__PURE__ */ S(c, {
|
|
128
|
+
...w(n),
|
|
129
|
+
...r,
|
|
130
|
+
ref: t
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
V.displayName = B;
|
|
134
|
+
var H = "DropdownMenuRadioGroup", U = x.forwardRef((e, t) => {
|
|
135
|
+
let { __scopeDropdownMenu: n, ...r } = e;
|
|
136
|
+
return /* @__PURE__ */ S(h, {
|
|
137
|
+
...w(n),
|
|
138
|
+
...r,
|
|
139
|
+
ref: t
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
U.displayName = H;
|
|
143
|
+
var W = "DropdownMenuRadioItem", G = x.forwardRef((e, t) => {
|
|
144
|
+
let { __scopeDropdownMenu: n, ...r } = e;
|
|
145
|
+
return /* @__PURE__ */ S(ee, {
|
|
146
|
+
...w(n),
|
|
147
|
+
...r,
|
|
148
|
+
ref: t
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
G.displayName = W;
|
|
152
|
+
var K = "DropdownMenuItemIndicator", q = x.forwardRef((e, t) => {
|
|
153
|
+
let { __scopeDropdownMenu: n, ...r } = e;
|
|
154
|
+
return /* @__PURE__ */ S(f, {
|
|
155
|
+
...w(n),
|
|
156
|
+
...r,
|
|
157
|
+
ref: t
|
|
158
|
+
});
|
|
159
|
+
});
|
|
160
|
+
q.displayName = K;
|
|
161
|
+
var J = "DropdownMenuSeparator", Y = x.forwardRef((e, t) => {
|
|
162
|
+
let { __scopeDropdownMenu: n, ...r } = e;
|
|
163
|
+
return /* @__PURE__ */ S(g, {
|
|
164
|
+
...w(n),
|
|
165
|
+
...r,
|
|
166
|
+
ref: t
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
Y.displayName = J;
|
|
170
|
+
var X = "DropdownMenuArrow", ie = x.forwardRef((e, t) => {
|
|
171
|
+
let { __scopeDropdownMenu: n, ...r } = e;
|
|
172
|
+
return /* @__PURE__ */ S(s, {
|
|
173
|
+
...w(n),
|
|
174
|
+
...r,
|
|
175
|
+
ref: t
|
|
176
|
+
});
|
|
177
|
+
});
|
|
178
|
+
ie.displayName = X;
|
|
179
|
+
var ae = (e) => {
|
|
180
|
+
let { __scopeDropdownMenu: t, children: n, open: r, onOpenChange: a, defaultOpen: o } = e, s = w(t), [c, l] = i({
|
|
181
|
+
prop: r,
|
|
182
|
+
defaultProp: o ?? !1,
|
|
183
|
+
onChange: a,
|
|
184
|
+
caller: "DropdownMenuSub"
|
|
185
|
+
});
|
|
186
|
+
return /* @__PURE__ */ S(_, {
|
|
187
|
+
...s,
|
|
188
|
+
open: c,
|
|
189
|
+
onOpenChange: l,
|
|
190
|
+
children: n
|
|
191
|
+
});
|
|
192
|
+
}, oe = "DropdownMenuSubTrigger", Z = x.forwardRef((e, t) => {
|
|
193
|
+
let { __scopeDropdownMenu: n, ...r } = e;
|
|
194
|
+
return /* @__PURE__ */ S(y, {
|
|
195
|
+
...w(n),
|
|
196
|
+
...r,
|
|
197
|
+
ref: t
|
|
198
|
+
});
|
|
199
|
+
});
|
|
200
|
+
Z.displayName = oe;
|
|
201
|
+
var se = "DropdownMenuSubContent", Q = x.forwardRef((e, t) => {
|
|
202
|
+
let { __scopeDropdownMenu: n, ...r } = e;
|
|
203
|
+
return /* @__PURE__ */ S(v, {
|
|
204
|
+
...w(n),
|
|
205
|
+
...r,
|
|
206
|
+
ref: t,
|
|
207
|
+
style: {
|
|
208
|
+
...e.style,
|
|
209
|
+
"--radix-dropdown-menu-content-transform-origin": "var(--radix-popper-transform-origin)",
|
|
210
|
+
"--radix-dropdown-menu-content-available-width": "var(--radix-popper-available-width)",
|
|
211
|
+
"--radix-dropdown-menu-content-available-height": "var(--radix-popper-available-height)",
|
|
212
|
+
"--radix-dropdown-menu-trigger-width": "var(--radix-popper-anchor-width)",
|
|
213
|
+
"--radix-dropdown-menu-trigger-height": "var(--radix-popper-anchor-height)"
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
});
|
|
217
|
+
Q.displayName = se;
|
|
218
|
+
var ce = D, le = k, ue = j, de = N, fe = F, $ = L, pe = z, me = V, he = U, ge = G, _e = q, ve = Y, ye = ae, be = Z, xe = Q;
|
|
219
|
+
//#endregion
|
|
220
|
+
export { me as CheckboxItem2, de as Content2, fe as Group2, pe as Item2, _e as ItemIndicator2, $ as Label2, ue as Portal2, he as RadioGroup2, ge as RadioItem2, ce as Root2, ve as Separator2, ye as Sub2, xe as SubContent2, be as SubTrigger2, le as Trigger };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-dropdown-menu.js","names":[],"sources":["../../../src/primitives/react-dropdown-menu.js"],"sourcesContent":["// @ts-nocheck\n/**\n * Vendored from @radix-ui/react-dropdown-menu (compiled ESM)\n * @see ./LICENSE\n */\n\n\"use client\";\n\n// src/dropdown-menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"./_internal/primitive\";\nimport { composeRefs } from \"./_internal/react-compose-refs\";\nimport { createContextScope } from \"./_internal/react-context\";\nimport { useControllableState } from \"./_internal/react-use-controllable-state\";\nimport { Primitive } from \"./_internal/react-primitive\";\nimport * as MenuPrimitive from \"./react-menu\";\nimport { createMenuScope } from \"./react-menu\";\nimport { useId } from \"./_internal/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DROPDOWN_MENU_NAME = \"DropdownMenu\";\nvar [createDropdownMenuContext, createDropdownMenuScope] = createContextScope(\n DROPDOWN_MENU_NAME,\n [createMenuScope]\n);\nvar useMenuScope = createMenuScope();\nvar [DropdownMenuProvider, useDropdownMenuContext] = createDropdownMenuContext(DROPDOWN_MENU_NAME);\nvar DropdownMenu = (props) => {\n const {\n __scopeDropdownMenu,\n children,\n dir,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const triggerRef = React.useRef(null);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: DROPDOWN_MENU_NAME\n });\n return /* @__PURE__ */ jsx(\n DropdownMenuProvider,\n {\n scope: __scopeDropdownMenu,\n triggerId: useId(),\n triggerRef,\n contentId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children: /* @__PURE__ */ jsx(MenuPrimitive.Root, { ...menuScope, open, onOpenChange: setOpen, dir, modal, children })\n }\n );\n};\nDropdownMenu.displayName = DROPDOWN_MENU_NAME;\nvar TRIGGER_NAME = \"DropdownMenuTrigger\";\nvar DropdownMenuTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;\n const context = useDropdownMenuContext(TRIGGER_NAME, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Anchor, { asChild: true, ...menuScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n id: context.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.open ? context.contentId : void 0,\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n ...triggerProps,\n ref: composeRefs(forwardedRef, context.triggerRef),\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onOpenToggle();\n if (!context.open) event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (disabled) return;\n if ([\"Enter\", \" \"].includes(event.key)) context.onOpenToggle();\n if (event.key === \"ArrowDown\") context.onOpenChange(true);\n if ([\"Enter\", \" \", \"ArrowDown\"].includes(event.key)) event.preventDefault();\n })\n }\n ) });\n }\n);\nDropdownMenuTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DropdownMenuPortal\";\nvar DropdownMenuPortal = (props) => {\n const { __scopeDropdownMenu, ...portalProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Portal, { ...menuScope, ...portalProps });\n};\nDropdownMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"DropdownMenuContent\";\nvar DropdownMenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...contentProps } = props;\n const context = useDropdownMenuContext(CONTENT_NAME, __scopeDropdownMenu);\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const hasInteractedOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.Content,\n {\n id: context.contentId,\n \"aria-labelledby\": context.triggerId,\n ...menuScope,\n ...contentProps,\n ref: forwardedRef,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n hasInteractedOutsideRef.current = false;\n event.preventDefault();\n }),\n onInteractOutside: composeEventHandlers(props.onInteractOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n }),\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n }\n);\nDropdownMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"DropdownMenuGroup\";\nvar DropdownMenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...groupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Group, { ...menuScope, ...groupProps, ref: forwardedRef });\n }\n);\nDropdownMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"DropdownMenuLabel\";\nvar DropdownMenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...labelProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Label, { ...menuScope, ...labelProps, ref: forwardedRef });\n }\n);\nDropdownMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"DropdownMenuItem\";\nvar DropdownMenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Item, { ...menuScope, ...itemProps, ref: forwardedRef });\n }\n);\nDropdownMenuItem.displayName = ITEM_NAME;\nvar CHECKBOX_ITEM_NAME = \"DropdownMenuCheckboxItem\";\nvar DropdownMenuCheckboxItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...checkboxItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });\n});\nDropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"DropdownMenuRadioGroup\";\nvar DropdownMenuRadioGroup = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioGroupProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });\n});\nDropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"DropdownMenuRadioItem\";\nvar DropdownMenuRadioItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...radioItemProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });\n});\nDropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar INDICATOR_NAME = \"DropdownMenuItemIndicator\";\nvar DropdownMenuItemIndicator = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });\n});\nDropdownMenuItemIndicator.displayName = INDICATOR_NAME;\nvar SEPARATOR_NAME = \"DropdownMenuSeparator\";\nvar DropdownMenuSeparator = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...separatorProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });\n});\nDropdownMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"DropdownMenuArrow\";\nvar DropdownMenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDropdownMenu, ...arrowProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Arrow, { ...menuScope, ...arrowProps, ref: forwardedRef });\n }\n);\nDropdownMenuArrow.displayName = ARROW_NAME;\nvar DropdownMenuSub = (props) => {\n const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: \"DropdownMenuSub\"\n });\n return /* @__PURE__ */ jsx(MenuPrimitive.Sub, { ...menuScope, open, onOpenChange: setOpen, children });\n};\nvar SUB_TRIGGER_NAME = \"DropdownMenuSubTrigger\";\nvar DropdownMenuSubTrigger = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subTriggerProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.SubTrigger, { ...menuScope, ...subTriggerProps, ref: forwardedRef });\n});\nDropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"DropdownMenuSubContent\";\nvar DropdownMenuSubContent = React.forwardRef((props, forwardedRef) => {\n const { __scopeDropdownMenu, ...subContentProps } = props;\n const menuScope = useMenuScope(__scopeDropdownMenu);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.SubContent,\n {\n ...menuScope,\n ...subContentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nDropdownMenuSubContent.displayName = SUB_CONTENT_NAME;\nvar Root2 = DropdownMenu;\nvar Trigger = DropdownMenuTrigger;\nvar Portal2 = DropdownMenuPortal;\nvar Content2 = DropdownMenuContent;\nvar Group2 = DropdownMenuGroup;\nvar Label2 = DropdownMenuLabel;\nvar Item2 = DropdownMenuItem;\nvar CheckboxItem2 = DropdownMenuCheckboxItem;\nvar RadioGroup2 = DropdownMenuRadioGroup;\nvar RadioItem2 = DropdownMenuRadioItem;\nvar ItemIndicator2 = DropdownMenuItemIndicator;\nvar Separator2 = DropdownMenuSeparator;\nvar Arrow2 = DropdownMenuArrow;\nvar Sub2 = DropdownMenuSub;\nvar SubTrigger2 = DropdownMenuSubTrigger;\nvar SubContent2 = DropdownMenuSubContent;\nexport {\n Arrow2 as Arrow,\n CheckboxItem2 as CheckboxItem,\n Content2 as Content,\n DropdownMenu,\n DropdownMenuArrow,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuItemIndicator,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n Group2 as Group,\n Item2 as Item,\n ItemIndicator2 as ItemIndicator,\n Label2 as Label,\n Portal2 as Portal,\n RadioGroup2 as RadioGroup,\n RadioItem2 as RadioItem,\n Root2 as Root,\n Separator2 as Separator,\n Sub2 as Sub,\n SubContent2 as SubContent,\n SubTrigger2 as SubTrigger,\n Trigger,\n createDropdownMenuScope\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Anchor as e, Arrow as t, Content as n, DismissableLayer as r, Portal as i, Presence as a, Primitive as o, Root as s, composeEventHandlers as c, createContextScope as l, createPopperScope as u, useComposedRefs as d, useControllableState as f } from "../primitives-internal.js";
|
|
3
|
+
import * as p from "react";
|
|
4
|
+
import { jsx as m } from "react/jsx-runtime";
|
|
5
|
+
//#region src/primitives/react-hover-card.js
|
|
6
|
+
var h, g = "HoverCard", [_, v] = l(g, [u]), y = u(), [b, x] = _(g), S = (e) => {
|
|
7
|
+
let { __scopeHoverCard: t, children: n, open: r, defaultOpen: i, onOpenChange: a, openDelay: o = 700, closeDelay: c = 300 } = e, l = y(t), u = p.useRef(0), d = p.useRef(0), h = p.useRef(!1), _ = p.useRef(!1), [v, x] = f({
|
|
8
|
+
prop: r,
|
|
9
|
+
defaultProp: i ?? !1,
|
|
10
|
+
onChange: a,
|
|
11
|
+
caller: g
|
|
12
|
+
}), S = p.useCallback(() => {
|
|
13
|
+
clearTimeout(d.current), u.current = window.setTimeout(() => x(!0), o);
|
|
14
|
+
}, [o, x]), C = p.useCallback(() => {
|
|
15
|
+
clearTimeout(u.current), !h.current && !_.current && (d.current = window.setTimeout(() => x(!1), c));
|
|
16
|
+
}, [c, x]), w = p.useCallback(() => x(!1), [x]);
|
|
17
|
+
return p.useEffect(() => () => {
|
|
18
|
+
clearTimeout(u.current), clearTimeout(d.current);
|
|
19
|
+
}, []), /* @__PURE__ */ m(b, {
|
|
20
|
+
scope: t,
|
|
21
|
+
open: v,
|
|
22
|
+
onOpenChange: x,
|
|
23
|
+
onOpen: S,
|
|
24
|
+
onClose: C,
|
|
25
|
+
onDismiss: w,
|
|
26
|
+
hasSelectionRef: h,
|
|
27
|
+
isPointerDownOnContentRef: _,
|
|
28
|
+
children: /* @__PURE__ */ m(s, {
|
|
29
|
+
...l,
|
|
30
|
+
children: n
|
|
31
|
+
})
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
S.displayName = g;
|
|
35
|
+
var C = "HoverCardTrigger", w = p.forwardRef((t, n) => {
|
|
36
|
+
let { __scopeHoverCard: r, ...i } = t, a = x(C, r);
|
|
37
|
+
return /* @__PURE__ */ m(e, {
|
|
38
|
+
asChild: !0,
|
|
39
|
+
...y(r),
|
|
40
|
+
children: /* @__PURE__ */ m(o.a, {
|
|
41
|
+
"data-state": a.open ? "open" : "closed",
|
|
42
|
+
...i,
|
|
43
|
+
ref: n,
|
|
44
|
+
onPointerEnter: c(t.onPointerEnter, P(a.onOpen)),
|
|
45
|
+
onPointerLeave: c(t.onPointerLeave, P(a.onClose)),
|
|
46
|
+
onFocus: c(t.onFocus, a.onOpen),
|
|
47
|
+
onBlur: c(t.onBlur, a.onClose),
|
|
48
|
+
onTouchStart: c(t.onTouchStart, (e) => e.preventDefault())
|
|
49
|
+
})
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
w.displayName = C;
|
|
53
|
+
var T = "HoverCardPortal", [E, D] = _(T, { forceMount: void 0 }), O = (e) => {
|
|
54
|
+
let { __scopeHoverCard: t, forceMount: n, children: r, container: o } = e, s = x(T, t);
|
|
55
|
+
return /* @__PURE__ */ m(E, {
|
|
56
|
+
scope: t,
|
|
57
|
+
forceMount: n,
|
|
58
|
+
children: /* @__PURE__ */ m(a, {
|
|
59
|
+
present: n || s.open,
|
|
60
|
+
children: /* @__PURE__ */ m(i, {
|
|
61
|
+
asChild: !0,
|
|
62
|
+
container: o,
|
|
63
|
+
children: r
|
|
64
|
+
})
|
|
65
|
+
})
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
O.displayName = T;
|
|
69
|
+
var k = "HoverCardContent", A = p.forwardRef((e, t) => {
|
|
70
|
+
let n = D(k, e.__scopeHoverCard), { forceMount: r = n.forceMount, ...i } = e, o = x(k, e.__scopeHoverCard);
|
|
71
|
+
return /* @__PURE__ */ m(a, {
|
|
72
|
+
present: r || o.open,
|
|
73
|
+
children: /* @__PURE__ */ m(j, {
|
|
74
|
+
"data-state": o.open ? "open" : "closed",
|
|
75
|
+
...i,
|
|
76
|
+
onPointerEnter: c(e.onPointerEnter, P(o.onOpen)),
|
|
77
|
+
onPointerLeave: c(e.onPointerLeave, P(o.onClose)),
|
|
78
|
+
ref: t
|
|
79
|
+
})
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
A.displayName = k;
|
|
83
|
+
var j = p.forwardRef((e, t) => {
|
|
84
|
+
let { __scopeHoverCard: i, onEscapeKeyDown: a, onPointerDownOutside: o, onFocusOutside: s, onInteractOutside: l, ...u } = e, f = x(k, i), g = y(i), _ = p.useRef(null), v = d(t, _), [b, S] = p.useState(!1);
|
|
85
|
+
return p.useEffect(() => {
|
|
86
|
+
if (b) {
|
|
87
|
+
let e = document.body;
|
|
88
|
+
return h = e.style.userSelect || e.style.webkitUserSelect, e.style.userSelect = "none", e.style.webkitUserSelect = "none", () => {
|
|
89
|
+
e.style.userSelect = h, e.style.webkitUserSelect = h;
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
}, [b]), p.useEffect(() => {
|
|
93
|
+
if (_.current) {
|
|
94
|
+
let e = () => {
|
|
95
|
+
S(!1), f.isPointerDownOnContentRef.current = !1, setTimeout(() => {
|
|
96
|
+
document.getSelection()?.toString() !== "" && (f.hasSelectionRef.current = !0);
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
return document.addEventListener("pointerup", e), () => {
|
|
100
|
+
document.removeEventListener("pointerup", e), f.hasSelectionRef.current = !1, f.isPointerDownOnContentRef.current = !1;
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
}, [f.isPointerDownOnContentRef, f.hasSelectionRef]), p.useEffect(() => {
|
|
104
|
+
_.current && F(_.current).forEach((e) => e.setAttribute("tabindex", "-1"));
|
|
105
|
+
}), /* @__PURE__ */ m(r, {
|
|
106
|
+
asChild: !0,
|
|
107
|
+
disableOutsidePointerEvents: !1,
|
|
108
|
+
onInteractOutside: l,
|
|
109
|
+
onEscapeKeyDown: a,
|
|
110
|
+
onPointerDownOutside: o,
|
|
111
|
+
onFocusOutside: c(s, (e) => {
|
|
112
|
+
e.preventDefault();
|
|
113
|
+
}),
|
|
114
|
+
onDismiss: f.onDismiss,
|
|
115
|
+
children: /* @__PURE__ */ m(n, {
|
|
116
|
+
...g,
|
|
117
|
+
...u,
|
|
118
|
+
onPointerDown: c(u.onPointerDown, (e) => {
|
|
119
|
+
e.currentTarget.contains(e.target) && S(!0), f.hasSelectionRef.current = !1, f.isPointerDownOnContentRef.current = !0;
|
|
120
|
+
}),
|
|
121
|
+
ref: v,
|
|
122
|
+
style: {
|
|
123
|
+
...u.style,
|
|
124
|
+
userSelect: b ? "text" : void 0,
|
|
125
|
+
WebkitUserSelect: b ? "text" : void 0,
|
|
126
|
+
"--radix-hover-card-content-transform-origin": "var(--radix-popper-transform-origin)",
|
|
127
|
+
"--radix-hover-card-content-available-width": "var(--radix-popper-available-width)",
|
|
128
|
+
"--radix-hover-card-content-available-height": "var(--radix-popper-available-height)",
|
|
129
|
+
"--radix-hover-card-trigger-width": "var(--radix-popper-anchor-width)",
|
|
130
|
+
"--radix-hover-card-trigger-height": "var(--radix-popper-anchor-height)"
|
|
131
|
+
}
|
|
132
|
+
})
|
|
133
|
+
});
|
|
134
|
+
}), M = "HoverCardArrow", N = p.forwardRef((e, n) => {
|
|
135
|
+
let { __scopeHoverCard: r, ...i } = e;
|
|
136
|
+
return /* @__PURE__ */ m(t, {
|
|
137
|
+
...y(r),
|
|
138
|
+
...i,
|
|
139
|
+
ref: n
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
N.displayName = M;
|
|
143
|
+
function P(e) {
|
|
144
|
+
return (t) => t.pointerType === "touch" ? void 0 : e();
|
|
145
|
+
}
|
|
146
|
+
function F(e) {
|
|
147
|
+
let t = [], n = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, { acceptNode: (e) => e.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP });
|
|
148
|
+
for (; n.nextNode();) t.push(n.currentNode);
|
|
149
|
+
return t;
|
|
150
|
+
}
|
|
151
|
+
var I = S, L = w, R = O, z = A;
|
|
152
|
+
//#endregion
|
|
153
|
+
export { z as Content2, R as Portal, I as Root2, L as Trigger };
|