@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,560 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { DismissableLayer as e, Presence as t, Primitive as n, composeEventHandlers as r, composeRefs as i, createCollection as a, createContextScope as o, dispatchDiscreteCustomEvent as s, useCallbackRef as c, useComposedRefs as l, useControllableState as u, useDirection as d, useId as f, useLayoutEffect as p, usePrevious as m } from "../primitives-internal.js";
|
|
3
|
+
import * as h from "react";
|
|
4
|
+
import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
|
|
5
|
+
import y from "react-dom";
|
|
6
|
+
//#region src/primitives/react-visually-hidden.js
|
|
7
|
+
var b = Object.freeze({
|
|
8
|
+
position: "absolute",
|
|
9
|
+
border: 0,
|
|
10
|
+
width: 1,
|
|
11
|
+
height: 1,
|
|
12
|
+
padding: 0,
|
|
13
|
+
margin: -1,
|
|
14
|
+
overflow: "hidden",
|
|
15
|
+
clip: "rect(0, 0, 0, 0)",
|
|
16
|
+
whiteSpace: "nowrap",
|
|
17
|
+
wordWrap: "normal"
|
|
18
|
+
}), x = "VisuallyHidden", S = h.forwardRef((e, t) => /* @__PURE__ */ _(n.span, {
|
|
19
|
+
...e,
|
|
20
|
+
ref: t,
|
|
21
|
+
style: {
|
|
22
|
+
...b,
|
|
23
|
+
...e.style
|
|
24
|
+
}
|
|
25
|
+
}));
|
|
26
|
+
S.displayName = x;
|
|
27
|
+
var C = S, w = "NavigationMenu", [T, E, D] = a(w), [O, k, A] = a(w), [j, ee] = o(w, [D, A]), [te, M] = j(w), [ne, re] = j(w), N = h.forwardRef((e, t) => {
|
|
28
|
+
let { __scopeNavigationMenu: r, value: i, onValueChange: a, defaultValue: o, delayDuration: s = 200, skipDelayDuration: c = 300, orientation: f = "horizontal", dir: p, ...m } = e, [g, v] = h.useState(null), y = l(t, (e) => v(e)), b = d(p), x = h.useRef(0), S = h.useRef(0), C = h.useRef(0), [T, E] = h.useState(!0), [D, O] = u({
|
|
29
|
+
prop: i,
|
|
30
|
+
onChange: (e) => {
|
|
31
|
+
let t = e !== "", n = c > 0;
|
|
32
|
+
t ? (window.clearTimeout(C.current), n && E(!1)) : (window.clearTimeout(C.current), C.current = window.setTimeout(() => E(!0), c)), a?.(e);
|
|
33
|
+
},
|
|
34
|
+
defaultProp: o ?? "",
|
|
35
|
+
caller: w
|
|
36
|
+
}), k = h.useCallback(() => {
|
|
37
|
+
window.clearTimeout(S.current), S.current = window.setTimeout(() => O(""), 150);
|
|
38
|
+
}, [O]), A = h.useCallback((e) => {
|
|
39
|
+
window.clearTimeout(S.current), O(e);
|
|
40
|
+
}, [O]), j = h.useCallback((e) => {
|
|
41
|
+
D === e ? window.clearTimeout(S.current) : x.current = window.setTimeout(() => {
|
|
42
|
+
window.clearTimeout(S.current), O(e);
|
|
43
|
+
}, s);
|
|
44
|
+
}, [
|
|
45
|
+
D,
|
|
46
|
+
O,
|
|
47
|
+
s
|
|
48
|
+
]);
|
|
49
|
+
return h.useEffect(() => () => {
|
|
50
|
+
window.clearTimeout(x.current), window.clearTimeout(S.current), window.clearTimeout(C.current);
|
|
51
|
+
}, []), /* @__PURE__ */ _(F, {
|
|
52
|
+
scope: r,
|
|
53
|
+
isRootMenu: !0,
|
|
54
|
+
value: D,
|
|
55
|
+
dir: b,
|
|
56
|
+
orientation: f,
|
|
57
|
+
rootNavigationMenu: g,
|
|
58
|
+
onTriggerEnter: (e) => {
|
|
59
|
+
window.clearTimeout(x.current), T ? j(e) : A(e);
|
|
60
|
+
},
|
|
61
|
+
onTriggerLeave: () => {
|
|
62
|
+
window.clearTimeout(x.current), k();
|
|
63
|
+
},
|
|
64
|
+
onContentEnter: () => window.clearTimeout(S.current),
|
|
65
|
+
onContentLeave: k,
|
|
66
|
+
onItemSelect: (e) => {
|
|
67
|
+
O((t) => t === e ? "" : e);
|
|
68
|
+
},
|
|
69
|
+
onItemDismiss: () => O(""),
|
|
70
|
+
children: /* @__PURE__ */ _(n.nav, {
|
|
71
|
+
"aria-label": "Main",
|
|
72
|
+
"data-orientation": f,
|
|
73
|
+
dir: b,
|
|
74
|
+
...m,
|
|
75
|
+
ref: y
|
|
76
|
+
})
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
N.displayName = w;
|
|
80
|
+
var P = "NavigationMenuSub", ie = h.forwardRef((e, t) => {
|
|
81
|
+
let { __scopeNavigationMenu: r, value: i, onValueChange: a, defaultValue: o, orientation: s = "horizontal", ...c } = e, l = M(P, r), [d, f] = u({
|
|
82
|
+
prop: i,
|
|
83
|
+
onChange: a,
|
|
84
|
+
defaultProp: o ?? "",
|
|
85
|
+
caller: P
|
|
86
|
+
});
|
|
87
|
+
return /* @__PURE__ */ _(F, {
|
|
88
|
+
scope: r,
|
|
89
|
+
isRootMenu: !1,
|
|
90
|
+
value: d,
|
|
91
|
+
dir: l.dir,
|
|
92
|
+
orientation: s,
|
|
93
|
+
rootNavigationMenu: l.rootNavigationMenu,
|
|
94
|
+
onTriggerEnter: (e) => f(e),
|
|
95
|
+
onItemSelect: (e) => f(e),
|
|
96
|
+
onItemDismiss: () => f(""),
|
|
97
|
+
children: /* @__PURE__ */ _(n.div, {
|
|
98
|
+
"data-orientation": s,
|
|
99
|
+
...c,
|
|
100
|
+
ref: t
|
|
101
|
+
})
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
ie.displayName = P;
|
|
105
|
+
var F = (e) => {
|
|
106
|
+
let { scope: t, isRootMenu: n, rootNavigationMenu: r, dir: i, orientation: a, children: o, value: s, onItemSelect: l, onItemDismiss: u, onTriggerEnter: d, onTriggerLeave: p, onContentEnter: g, onContentLeave: v } = e, [y, b] = h.useState(null), [x, S] = h.useState(/* @__PURE__ */ new Map()), [C, w] = h.useState(null);
|
|
107
|
+
return /* @__PURE__ */ _(te, {
|
|
108
|
+
scope: t,
|
|
109
|
+
isRootMenu: n,
|
|
110
|
+
rootNavigationMenu: r,
|
|
111
|
+
value: s,
|
|
112
|
+
previousValue: m(s),
|
|
113
|
+
baseId: f(),
|
|
114
|
+
dir: i,
|
|
115
|
+
orientation: a,
|
|
116
|
+
viewport: y,
|
|
117
|
+
onViewportChange: b,
|
|
118
|
+
indicatorTrack: C,
|
|
119
|
+
onIndicatorTrackChange: w,
|
|
120
|
+
onTriggerEnter: c(d),
|
|
121
|
+
onTriggerLeave: c(p),
|
|
122
|
+
onContentEnter: c(g),
|
|
123
|
+
onContentLeave: c(v),
|
|
124
|
+
onItemSelect: c(l),
|
|
125
|
+
onItemDismiss: c(u),
|
|
126
|
+
onViewportContentChange: h.useCallback((e, t) => {
|
|
127
|
+
S((n) => (n.set(e, t), new Map(n)));
|
|
128
|
+
}, []),
|
|
129
|
+
onViewportContentRemove: h.useCallback((e) => {
|
|
130
|
+
S((t) => t.has(e) ? (t.delete(e), new Map(t)) : t);
|
|
131
|
+
}, []),
|
|
132
|
+
children: /* @__PURE__ */ _(T.Provider, {
|
|
133
|
+
scope: t,
|
|
134
|
+
children: /* @__PURE__ */ _(ne, {
|
|
135
|
+
scope: t,
|
|
136
|
+
items: x,
|
|
137
|
+
children: o
|
|
138
|
+
})
|
|
139
|
+
})
|
|
140
|
+
});
|
|
141
|
+
}, ae = "NavigationMenuList", oe = h.forwardRef((e, t) => {
|
|
142
|
+
let { __scopeNavigationMenu: r, ...i } = e, a = M(ae, r), o = /* @__PURE__ */ _(n.ul, {
|
|
143
|
+
"data-orientation": a.orientation,
|
|
144
|
+
...i,
|
|
145
|
+
ref: t
|
|
146
|
+
});
|
|
147
|
+
return /* @__PURE__ */ _(n.div, {
|
|
148
|
+
style: { position: "relative" },
|
|
149
|
+
ref: a.onIndicatorTrackChange,
|
|
150
|
+
children: /* @__PURE__ */ _(T.Slot, {
|
|
151
|
+
scope: r,
|
|
152
|
+
children: a.isRootMenu ? /* @__PURE__ */ _(he, {
|
|
153
|
+
asChild: !0,
|
|
154
|
+
children: o
|
|
155
|
+
}) : o
|
|
156
|
+
})
|
|
157
|
+
});
|
|
158
|
+
});
|
|
159
|
+
oe.displayName = ae;
|
|
160
|
+
var se = "NavigationMenuItem", [ce, I] = j(se), L = h.forwardRef((e, t) => {
|
|
161
|
+
let { __scopeNavigationMenu: r, value: i, ...a } = e, o = f(), s = i || o || "LEGACY_REACT_AUTO_VALUE", c = h.useRef(null), l = h.useRef(null), u = h.useRef(null), d = h.useRef(() => {}), p = h.useRef(!1), m = h.useCallback((e = "start") => {
|
|
162
|
+
if (c.current) {
|
|
163
|
+
d.current();
|
|
164
|
+
let t = Y(c.current);
|
|
165
|
+
t.length && X(e === "start" ? t : t.reverse());
|
|
166
|
+
}
|
|
167
|
+
}, []), g = h.useCallback(() => {
|
|
168
|
+
if (c.current) {
|
|
169
|
+
let e = Y(c.current);
|
|
170
|
+
e.length && (d.current = ye(e));
|
|
171
|
+
}
|
|
172
|
+
}, []);
|
|
173
|
+
return /* @__PURE__ */ _(ce, {
|
|
174
|
+
scope: r,
|
|
175
|
+
value: s,
|
|
176
|
+
triggerRef: l,
|
|
177
|
+
contentRef: c,
|
|
178
|
+
focusProxyRef: u,
|
|
179
|
+
wasEscapeCloseRef: p,
|
|
180
|
+
onEntryKeyDown: m,
|
|
181
|
+
onFocusProxyEnter: m,
|
|
182
|
+
onRootContentClose: g,
|
|
183
|
+
onContentFocusOutside: g,
|
|
184
|
+
children: /* @__PURE__ */ _(n.li, {
|
|
185
|
+
...a,
|
|
186
|
+
ref: t
|
|
187
|
+
})
|
|
188
|
+
});
|
|
189
|
+
});
|
|
190
|
+
L.displayName = se;
|
|
191
|
+
var R = "NavigationMenuTrigger", z = h.forwardRef((e, t) => {
|
|
192
|
+
let { __scopeNavigationMenu: i, disabled: a, ...o } = e, s = M(R, e.__scopeNavigationMenu), c = I(R, e.__scopeNavigationMenu), u = h.useRef(null), d = l(u, c.triggerRef, t), f = be(s.baseId, c.value), p = xe(s.baseId, c.value), m = h.useRef(!1), y = h.useRef(!1), b = c.value === s.value;
|
|
193
|
+
return /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _(T.ItemSlot, {
|
|
194
|
+
scope: i,
|
|
195
|
+
value: c.value,
|
|
196
|
+
children: /* @__PURE__ */ _(ve, {
|
|
197
|
+
asChild: !0,
|
|
198
|
+
children: /* @__PURE__ */ _(n.button, {
|
|
199
|
+
id: f,
|
|
200
|
+
disabled: a,
|
|
201
|
+
"data-disabled": a ? "" : void 0,
|
|
202
|
+
"data-state": Q(b),
|
|
203
|
+
"aria-expanded": b,
|
|
204
|
+
"aria-controls": p,
|
|
205
|
+
...o,
|
|
206
|
+
ref: d,
|
|
207
|
+
onPointerEnter: r(e.onPointerEnter, () => {
|
|
208
|
+
y.current = !1, c.wasEscapeCloseRef.current = !1;
|
|
209
|
+
}),
|
|
210
|
+
onPointerMove: r(e.onPointerMove, $(() => {
|
|
211
|
+
a || y.current || c.wasEscapeCloseRef.current || m.current || (s.onTriggerEnter(c.value), m.current = !0);
|
|
212
|
+
})),
|
|
213
|
+
onPointerLeave: r(e.onPointerLeave, $(() => {
|
|
214
|
+
a || (s.onTriggerLeave(), m.current = !1);
|
|
215
|
+
})),
|
|
216
|
+
onClick: r(e.onClick, () => {
|
|
217
|
+
s.onItemSelect(c.value), y.current = b;
|
|
218
|
+
}),
|
|
219
|
+
onKeyDown: r(e.onKeyDown, (e) => {
|
|
220
|
+
let t = {
|
|
221
|
+
horizontal: "ArrowDown",
|
|
222
|
+
vertical: s.dir === "rtl" ? "ArrowLeft" : "ArrowRight"
|
|
223
|
+
}[s.orientation];
|
|
224
|
+
b && e.key === t && (c.onEntryKeyDown(), e.preventDefault());
|
|
225
|
+
})
|
|
226
|
+
})
|
|
227
|
+
})
|
|
228
|
+
}), b && /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _(C, {
|
|
229
|
+
"aria-hidden": !0,
|
|
230
|
+
tabIndex: 0,
|
|
231
|
+
ref: c.focusProxyRef,
|
|
232
|
+
onFocus: (e) => {
|
|
233
|
+
let t = c.contentRef.current, n = e.relatedTarget, r = n === u.current, i = t?.contains(n);
|
|
234
|
+
(r || !i) && c.onFocusProxyEnter(r ? "start" : "end");
|
|
235
|
+
}
|
|
236
|
+
}), s.viewport && /* @__PURE__ */ _("span", { "aria-owns": p })] })] });
|
|
237
|
+
});
|
|
238
|
+
z.displayName = R;
|
|
239
|
+
var le = "NavigationMenuLink", B = "navigationMenu.linkSelect", V = h.forwardRef((e, t) => {
|
|
240
|
+
let { __scopeNavigationMenu: i, active: a, onSelect: o, ...c } = e;
|
|
241
|
+
return /* @__PURE__ */ _(ve, {
|
|
242
|
+
asChild: !0,
|
|
243
|
+
children: /* @__PURE__ */ _(n.a, {
|
|
244
|
+
"data-active": a ? "" : void 0,
|
|
245
|
+
"aria-current": a ? "page" : void 0,
|
|
246
|
+
...c,
|
|
247
|
+
ref: t,
|
|
248
|
+
onClick: r(e.onClick, (e) => {
|
|
249
|
+
let t = e.target, n = new CustomEvent(B, {
|
|
250
|
+
bubbles: !0,
|
|
251
|
+
cancelable: !0
|
|
252
|
+
});
|
|
253
|
+
t.addEventListener(B, (e) => o?.(e), { once: !0 }), s(t, n), !n.defaultPrevented && !e.metaKey && s(t, new CustomEvent(K, {
|
|
254
|
+
bubbles: !0,
|
|
255
|
+
cancelable: !0
|
|
256
|
+
}));
|
|
257
|
+
}, { checkForDefaultPrevented: !1 })
|
|
258
|
+
})
|
|
259
|
+
});
|
|
260
|
+
});
|
|
261
|
+
V.displayName = le;
|
|
262
|
+
var H = "NavigationMenuIndicator", U = h.forwardRef((e, n) => {
|
|
263
|
+
let { forceMount: r, ...i } = e, a = M(H, e.__scopeNavigationMenu), o = !!a.value;
|
|
264
|
+
return a.indicatorTrack ? y.createPortal(/* @__PURE__ */ _(t, {
|
|
265
|
+
present: r || o,
|
|
266
|
+
children: /* @__PURE__ */ _(ue, {
|
|
267
|
+
...i,
|
|
268
|
+
ref: n
|
|
269
|
+
})
|
|
270
|
+
}), a.indicatorTrack) : null;
|
|
271
|
+
});
|
|
272
|
+
U.displayName = H;
|
|
273
|
+
var ue = h.forwardRef((e, t) => {
|
|
274
|
+
let { __scopeNavigationMenu: r, ...i } = e, a = M(H, r), o = E(r), [s, c] = h.useState(null), [l, u] = h.useState(null), d = a.orientation === "horizontal", f = !!a.value;
|
|
275
|
+
h.useEffect(() => {
|
|
276
|
+
let e = o().find((e) => e.value === a.value)?.ref.current;
|
|
277
|
+
e && c(e);
|
|
278
|
+
}, [o, a.value]);
|
|
279
|
+
let p = () => {
|
|
280
|
+
s && u({
|
|
281
|
+
size: d ? s.offsetWidth : s.offsetHeight,
|
|
282
|
+
offset: d ? s.offsetLeft : s.offsetTop
|
|
283
|
+
});
|
|
284
|
+
};
|
|
285
|
+
return Z(s, p), Z(a.indicatorTrack, p), l ? /* @__PURE__ */ _(n.div, {
|
|
286
|
+
"aria-hidden": !0,
|
|
287
|
+
"data-state": f ? "visible" : "hidden",
|
|
288
|
+
"data-orientation": a.orientation,
|
|
289
|
+
...i,
|
|
290
|
+
ref: t,
|
|
291
|
+
style: {
|
|
292
|
+
position: "absolute",
|
|
293
|
+
...d ? {
|
|
294
|
+
left: 0,
|
|
295
|
+
width: l.size + "px",
|
|
296
|
+
transform: `translateX(${l.offset}px)`
|
|
297
|
+
} : {
|
|
298
|
+
top: 0,
|
|
299
|
+
height: l.size + "px",
|
|
300
|
+
transform: `translateY(${l.offset}px)`
|
|
301
|
+
},
|
|
302
|
+
...i.style
|
|
303
|
+
}
|
|
304
|
+
}) : null;
|
|
305
|
+
}), W = "NavigationMenuContent", G = h.forwardRef((e, n) => {
|
|
306
|
+
let { forceMount: i, ...a } = e, o = M(W, e.__scopeNavigationMenu), s = I(W, e.__scopeNavigationMenu), c = l(s.contentRef, n), u = s.value === o.value, d = {
|
|
307
|
+
value: s.value,
|
|
308
|
+
triggerRef: s.triggerRef,
|
|
309
|
+
focusProxyRef: s.focusProxyRef,
|
|
310
|
+
wasEscapeCloseRef: s.wasEscapeCloseRef,
|
|
311
|
+
onContentFocusOutside: s.onContentFocusOutside,
|
|
312
|
+
onRootContentClose: s.onRootContentClose,
|
|
313
|
+
...a
|
|
314
|
+
};
|
|
315
|
+
return o.viewport ? /* @__PURE__ */ _(de, {
|
|
316
|
+
forceMount: i,
|
|
317
|
+
...d,
|
|
318
|
+
ref: c
|
|
319
|
+
}) : /* @__PURE__ */ _(t, {
|
|
320
|
+
present: i || u,
|
|
321
|
+
children: /* @__PURE__ */ _(q, {
|
|
322
|
+
"data-state": Q(u),
|
|
323
|
+
...d,
|
|
324
|
+
ref: c,
|
|
325
|
+
onPointerEnter: r(e.onPointerEnter, o.onContentEnter),
|
|
326
|
+
onPointerLeave: r(e.onPointerLeave, $(o.onContentLeave)),
|
|
327
|
+
style: {
|
|
328
|
+
pointerEvents: !u && o.isRootMenu ? "none" : void 0,
|
|
329
|
+
...d.style
|
|
330
|
+
}
|
|
331
|
+
})
|
|
332
|
+
});
|
|
333
|
+
});
|
|
334
|
+
G.displayName = W;
|
|
335
|
+
var de = h.forwardRef((e, t) => {
|
|
336
|
+
let { onViewportContentChange: n, onViewportContentRemove: r } = M(W, e.__scopeNavigationMenu);
|
|
337
|
+
return p(() => {
|
|
338
|
+
n(e.value, {
|
|
339
|
+
ref: t,
|
|
340
|
+
...e
|
|
341
|
+
});
|
|
342
|
+
}, [
|
|
343
|
+
e,
|
|
344
|
+
t,
|
|
345
|
+
n
|
|
346
|
+
]), p(() => () => r(e.value), [e.value, r]), null;
|
|
347
|
+
}), K = "navigationMenu.rootContentDismiss", q = h.forwardRef((t, n) => {
|
|
348
|
+
let { __scopeNavigationMenu: i, value: a, triggerRef: o, focusProxyRef: s, wasEscapeCloseRef: c, onRootContentClose: u, onContentFocusOutside: d, ...f } = t, p = M(W, i), m = h.useRef(null), g = l(m, n), v = be(p.baseId, a), y = xe(p.baseId, a), b = E(i), x = h.useRef(null), { onItemDismiss: S } = p;
|
|
349
|
+
return h.useEffect(() => {
|
|
350
|
+
let e = m.current;
|
|
351
|
+
if (p.isRootMenu && e) {
|
|
352
|
+
let t = () => {
|
|
353
|
+
S(), u(), e.contains(document.activeElement) && o.current?.focus();
|
|
354
|
+
};
|
|
355
|
+
return e.addEventListener(K, t), () => e.removeEventListener(K, t);
|
|
356
|
+
}
|
|
357
|
+
}, [
|
|
358
|
+
p.isRootMenu,
|
|
359
|
+
t.value,
|
|
360
|
+
o,
|
|
361
|
+
S,
|
|
362
|
+
u
|
|
363
|
+
]), /* @__PURE__ */ _(he, {
|
|
364
|
+
asChild: !0,
|
|
365
|
+
children: /* @__PURE__ */ _(e, {
|
|
366
|
+
id: y,
|
|
367
|
+
"aria-labelledby": v,
|
|
368
|
+
"data-motion": h.useMemo(() => {
|
|
369
|
+
let e = b().map((e) => e.value);
|
|
370
|
+
p.dir === "rtl" && e.reverse();
|
|
371
|
+
let t = e.indexOf(p.value), n = e.indexOf(p.previousValue), r = a === p.value, i = n === e.indexOf(a);
|
|
372
|
+
if (!r && !i) return x.current;
|
|
373
|
+
let o = (() => {
|
|
374
|
+
if (t !== n) {
|
|
375
|
+
if (r && n !== -1) return t > n ? "from-end" : "from-start";
|
|
376
|
+
if (i && t !== -1) return t > n ? "to-start" : "to-end";
|
|
377
|
+
}
|
|
378
|
+
return null;
|
|
379
|
+
})();
|
|
380
|
+
return x.current = o, o;
|
|
381
|
+
}, [
|
|
382
|
+
p.previousValue,
|
|
383
|
+
p.value,
|
|
384
|
+
p.dir,
|
|
385
|
+
b,
|
|
386
|
+
a
|
|
387
|
+
]),
|
|
388
|
+
"data-orientation": p.orientation,
|
|
389
|
+
...f,
|
|
390
|
+
ref: g,
|
|
391
|
+
disableOutsidePointerEvents: !1,
|
|
392
|
+
onDismiss: () => {
|
|
393
|
+
let e = new Event(K, {
|
|
394
|
+
bubbles: !0,
|
|
395
|
+
cancelable: !0
|
|
396
|
+
});
|
|
397
|
+
m.current?.dispatchEvent(e);
|
|
398
|
+
},
|
|
399
|
+
onFocusOutside: r(t.onFocusOutside, (e) => {
|
|
400
|
+
d();
|
|
401
|
+
let t = e.target;
|
|
402
|
+
p.rootNavigationMenu?.contains(t) && e.preventDefault();
|
|
403
|
+
}),
|
|
404
|
+
onPointerDownOutside: r(t.onPointerDownOutside, (e) => {
|
|
405
|
+
let t = e.target, n = b().some((e) => e.ref.current?.contains(t)), r = p.isRootMenu && p.viewport?.contains(t);
|
|
406
|
+
(n || r || !p.isRootMenu) && e.preventDefault();
|
|
407
|
+
}),
|
|
408
|
+
onKeyDown: r(t.onKeyDown, (e) => {
|
|
409
|
+
let t = e.altKey || e.ctrlKey || e.metaKey;
|
|
410
|
+
if (e.key === "Tab" && !t) {
|
|
411
|
+
let t = Y(e.currentTarget), n = document.activeElement, r = t.findIndex((e) => e === n);
|
|
412
|
+
X(e.shiftKey ? t.slice(0, r).reverse() : t.slice(r + 1, t.length)) ? e.preventDefault() : s.current?.focus();
|
|
413
|
+
}
|
|
414
|
+
}),
|
|
415
|
+
onEscapeKeyDown: r(t.onEscapeKeyDown, (e) => {
|
|
416
|
+
c.current = !0;
|
|
417
|
+
})
|
|
418
|
+
})
|
|
419
|
+
});
|
|
420
|
+
}), J = "NavigationMenuViewport", fe = h.forwardRef((e, n) => {
|
|
421
|
+
let { forceMount: r, ...i } = e, a = !!M(J, e.__scopeNavigationMenu).value;
|
|
422
|
+
return /* @__PURE__ */ _(t, {
|
|
423
|
+
present: r || a,
|
|
424
|
+
children: /* @__PURE__ */ _(pe, {
|
|
425
|
+
...i,
|
|
426
|
+
ref: n
|
|
427
|
+
})
|
|
428
|
+
});
|
|
429
|
+
});
|
|
430
|
+
fe.displayName = J;
|
|
431
|
+
var pe = h.forwardRef((e, a) => {
|
|
432
|
+
let { __scopeNavigationMenu: o, children: s, ...c } = e, u = M(J, o), d = l(a, u.onViewportChange), f = re(W, e.__scopeNavigationMenu), [p, m] = h.useState(null), [g, v] = h.useState(null), y = p ? p?.width + "px" : void 0, b = p ? p?.height + "px" : void 0, x = !!u.value, S = x ? u.value : u.previousValue;
|
|
433
|
+
return Z(g, () => {
|
|
434
|
+
g && m({
|
|
435
|
+
width: g.offsetWidth,
|
|
436
|
+
height: g.offsetHeight
|
|
437
|
+
});
|
|
438
|
+
}), /* @__PURE__ */ _(n.div, {
|
|
439
|
+
"data-state": Q(x),
|
|
440
|
+
"data-orientation": u.orientation,
|
|
441
|
+
...c,
|
|
442
|
+
ref: d,
|
|
443
|
+
style: {
|
|
444
|
+
pointerEvents: !x && u.isRootMenu ? "none" : void 0,
|
|
445
|
+
"--radix-navigation-menu-viewport-width": y,
|
|
446
|
+
"--radix-navigation-menu-viewport-height": b,
|
|
447
|
+
...c.style
|
|
448
|
+
},
|
|
449
|
+
onPointerEnter: r(e.onPointerEnter, u.onContentEnter),
|
|
450
|
+
onPointerLeave: r(e.onPointerLeave, $(u.onContentLeave)),
|
|
451
|
+
children: Array.from(f.items).map(([e, { ref: n, forceMount: r, ...a }]) => {
|
|
452
|
+
let o = S === e;
|
|
453
|
+
return /* @__PURE__ */ _(t, {
|
|
454
|
+
present: r || o,
|
|
455
|
+
children: /* @__PURE__ */ _(q, {
|
|
456
|
+
...a,
|
|
457
|
+
ref: i(n, (e) => {
|
|
458
|
+
o && e && v(e);
|
|
459
|
+
})
|
|
460
|
+
})
|
|
461
|
+
}, e);
|
|
462
|
+
})
|
|
463
|
+
});
|
|
464
|
+
}), me = "FocusGroup", he = h.forwardRef((e, t) => {
|
|
465
|
+
let { __scopeNavigationMenu: r, ...i } = e, a = M(me, r);
|
|
466
|
+
return /* @__PURE__ */ _(O.Provider, {
|
|
467
|
+
scope: r,
|
|
468
|
+
children: /* @__PURE__ */ _(O.Slot, {
|
|
469
|
+
scope: r,
|
|
470
|
+
children: /* @__PURE__ */ _(n.div, {
|
|
471
|
+
dir: a.dir,
|
|
472
|
+
...i,
|
|
473
|
+
ref: t
|
|
474
|
+
})
|
|
475
|
+
})
|
|
476
|
+
});
|
|
477
|
+
}), ge = [
|
|
478
|
+
"ArrowRight",
|
|
479
|
+
"ArrowLeft",
|
|
480
|
+
"ArrowUp",
|
|
481
|
+
"ArrowDown"
|
|
482
|
+
], _e = "FocusGroupItem", ve = h.forwardRef((e, t) => {
|
|
483
|
+
let { __scopeNavigationMenu: i, ...a } = e, o = k(i), s = M(_e, i);
|
|
484
|
+
return /* @__PURE__ */ _(O.ItemSlot, {
|
|
485
|
+
scope: i,
|
|
486
|
+
children: /* @__PURE__ */ _(n.button, {
|
|
487
|
+
...a,
|
|
488
|
+
ref: t,
|
|
489
|
+
onKeyDown: r(e.onKeyDown, (e) => {
|
|
490
|
+
if ([
|
|
491
|
+
"Home",
|
|
492
|
+
"End",
|
|
493
|
+
...ge
|
|
494
|
+
].includes(e.key)) {
|
|
495
|
+
let t = o().map((e) => e.ref.current);
|
|
496
|
+
if ([
|
|
497
|
+
s.dir === "rtl" ? "ArrowRight" : "ArrowLeft",
|
|
498
|
+
"ArrowUp",
|
|
499
|
+
"End"
|
|
500
|
+
].includes(e.key) && t.reverse(), ge.includes(e.key)) {
|
|
501
|
+
let n = t.indexOf(e.currentTarget);
|
|
502
|
+
t = t.slice(n + 1);
|
|
503
|
+
}
|
|
504
|
+
setTimeout(() => X(t)), e.preventDefault();
|
|
505
|
+
}
|
|
506
|
+
})
|
|
507
|
+
})
|
|
508
|
+
});
|
|
509
|
+
});
|
|
510
|
+
function Y(e) {
|
|
511
|
+
let t = [], n = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, { acceptNode: (e) => {
|
|
512
|
+
let t = e.tagName === "INPUT" && e.type === "hidden";
|
|
513
|
+
return e.disabled || e.hidden || t ? NodeFilter.FILTER_SKIP : e.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
|
|
514
|
+
} });
|
|
515
|
+
for (; n.nextNode();) t.push(n.currentNode);
|
|
516
|
+
return t;
|
|
517
|
+
}
|
|
518
|
+
function X(e) {
|
|
519
|
+
let t = document.activeElement;
|
|
520
|
+
return e.some((e) => e === t ? !0 : (e.focus(), document.activeElement !== t));
|
|
521
|
+
}
|
|
522
|
+
function ye(e) {
|
|
523
|
+
return e.forEach((e) => {
|
|
524
|
+
e.dataset.tabindex = e.getAttribute("tabindex") || "", e.setAttribute("tabindex", "-1");
|
|
525
|
+
}), () => {
|
|
526
|
+
e.forEach((e) => {
|
|
527
|
+
let t = e.dataset.tabindex;
|
|
528
|
+
e.setAttribute("tabindex", t);
|
|
529
|
+
});
|
|
530
|
+
};
|
|
531
|
+
}
|
|
532
|
+
function Z(e, t) {
|
|
533
|
+
let n = c(t);
|
|
534
|
+
p(() => {
|
|
535
|
+
let t = 0;
|
|
536
|
+
if (e) {
|
|
537
|
+
let r = new ResizeObserver(() => {
|
|
538
|
+
cancelAnimationFrame(t), t = window.requestAnimationFrame(n);
|
|
539
|
+
});
|
|
540
|
+
return r.observe(e), () => {
|
|
541
|
+
window.cancelAnimationFrame(t), r.unobserve(e);
|
|
542
|
+
};
|
|
543
|
+
}
|
|
544
|
+
}, [e, n]);
|
|
545
|
+
}
|
|
546
|
+
function Q(e) {
|
|
547
|
+
return e ? "open" : "closed";
|
|
548
|
+
}
|
|
549
|
+
function be(e, t) {
|
|
550
|
+
return `${e}-trigger-${t}`;
|
|
551
|
+
}
|
|
552
|
+
function xe(e, t) {
|
|
553
|
+
return `${e}-content-${t}`;
|
|
554
|
+
}
|
|
555
|
+
function $(e) {
|
|
556
|
+
return (t) => t.pointerType === "mouse" ? e(t) : void 0;
|
|
557
|
+
}
|
|
558
|
+
var Se = N, Ce = oe, we = L, Te = z, Ee = V, De = U, Oe = G, ke = fe;
|
|
559
|
+
//#endregion
|
|
560
|
+
export { Oe as Content, De as Indicator, we as Item, Ee as Link, Ce as List, C as Root, Se as Root2, Te as Trigger, b as VISUALLY_HIDDEN_STYLES, ke as Viewport };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-navigation-menu.js","names":[],"sources":["../../../src/primitives/react-visually-hidden.js","../../../src/primitives/react-navigation-menu.js"],"sourcesContent":["// @ts-nocheck\n/**\n * Vendored from @radix-ui/react-visually-hidden (compiled ESM)\n * @see ./LICENSE\n */\n\n// src/visually-hidden.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"./_internal/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar VISUALLY_HIDDEN_STYLES = Object.freeze({\n // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss\n position: \"absolute\",\n border: 0,\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\"\n});\nvar NAME = \"VisuallyHidden\";\nvar VisuallyHidden = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...props,\n ref: forwardedRef,\n style: { ...VISUALLY_HIDDEN_STYLES, ...props.style }\n }\n );\n }\n);\nVisuallyHidden.displayName = NAME;\nvar Root = VisuallyHidden;\nexport {\n Root,\n VISUALLY_HIDDEN_STYLES,\n VisuallyHidden\n};\n","// @ts-nocheck\n/**\n * Vendored from @radix-ui/react-navigation-menu (compiled ESM)\n * @see ./LICENSE\n */\n\n\"use client\";\n\n// src/navigation-menu.tsx\nimport * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { createContextScope } from \"./_internal/react-context\";\nimport { composeEventHandlers } from \"./_internal/primitive\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"./_internal/react-primitive\";\nimport { useControllableState } from \"./_internal/react-use-controllable-state\";\nimport { composeRefs, useComposedRefs } from \"./_internal/react-compose-refs\";\nimport { useDirection } from \"./_internal/react-direction\";\nimport { Presence } from \"./_internal/react-presence\";\nimport { useId } from \"./_internal/react-id\";\nimport { createCollection } from \"./_internal/react-collection\";\nimport { DismissableLayer } from \"./_internal/react-dismissable-layer\";\nimport { usePrevious } from \"./_internal/react-use-previous\";\nimport { useLayoutEffect } from \"./_internal/react-use-layout-effect\";\nimport { useCallbackRef } from \"./_internal/react-use-callback-ref\";\nimport * as VisuallyHiddenPrimitive from \"./react-visually-hidden\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar NAVIGATION_MENU_NAME = \"NavigationMenu\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(NAVIGATION_MENU_NAME);\nvar [FocusGroupCollection, useFocusGroupCollection, createFocusGroupCollectionScope] = createCollection(NAVIGATION_MENU_NAME);\nvar [createNavigationMenuContext, createNavigationMenuScope] = createContextScope(\n NAVIGATION_MENU_NAME,\n [createCollectionScope, createFocusGroupCollectionScope]\n);\nvar [NavigationMenuProviderImpl, useNavigationMenuContext] = createNavigationMenuContext(NAVIGATION_MENU_NAME);\nvar [ViewportContentProvider, useViewportContentContext] = createNavigationMenuContext(NAVIGATION_MENU_NAME);\nvar NavigationMenu = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeNavigationMenu,\n value: valueProp,\n onValueChange,\n defaultValue,\n delayDuration = 200,\n skipDelayDuration = 300,\n orientation = \"horizontal\",\n dir,\n ...NavigationMenuProps\n } = props;\n const [navigationMenu, setNavigationMenu] = React.useState(null);\n const composedRef = useComposedRefs(forwardedRef, (node) => setNavigationMenu(node));\n const direction = useDirection(dir);\n const openTimerRef = React.useRef(0);\n const closeTimerRef = React.useRef(0);\n const skipDelayTimerRef = React.useRef(0);\n const [isOpenDelayed, setIsOpenDelayed] = React.useState(true);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n onChange: (value2) => {\n const isOpen = value2 !== \"\";\n const hasSkipDelayDuration = skipDelayDuration > 0;\n if (isOpen) {\n window.clearTimeout(skipDelayTimerRef.current);\n if (hasSkipDelayDuration) setIsOpenDelayed(false);\n } else {\n window.clearTimeout(skipDelayTimerRef.current);\n skipDelayTimerRef.current = window.setTimeout(\n () => setIsOpenDelayed(true),\n skipDelayDuration\n );\n }\n onValueChange?.(value2);\n },\n defaultProp: defaultValue ?? \"\",\n caller: NAVIGATION_MENU_NAME\n });\n const startCloseTimer = React.useCallback(() => {\n window.clearTimeout(closeTimerRef.current);\n closeTimerRef.current = window.setTimeout(() => setValue(\"\"), 150);\n }, [setValue]);\n const handleOpen = React.useCallback(\n (itemValue) => {\n window.clearTimeout(closeTimerRef.current);\n setValue(itemValue);\n },\n [setValue]\n );\n const handleDelayedOpen = React.useCallback(\n (itemValue) => {\n const isOpenItem = value === itemValue;\n if (isOpenItem) {\n window.clearTimeout(closeTimerRef.current);\n } else {\n openTimerRef.current = window.setTimeout(() => {\n window.clearTimeout(closeTimerRef.current);\n setValue(itemValue);\n }, delayDuration);\n }\n },\n [value, setValue, delayDuration]\n );\n React.useEffect(() => {\n return () => {\n window.clearTimeout(openTimerRef.current);\n window.clearTimeout(closeTimerRef.current);\n window.clearTimeout(skipDelayTimerRef.current);\n };\n }, []);\n return /* @__PURE__ */ jsx(\n NavigationMenuProvider,\n {\n scope: __scopeNavigationMenu,\n isRootMenu: true,\n value,\n dir: direction,\n orientation,\n rootNavigationMenu: navigationMenu,\n onTriggerEnter: (itemValue) => {\n window.clearTimeout(openTimerRef.current);\n if (isOpenDelayed) handleDelayedOpen(itemValue);\n else handleOpen(itemValue);\n },\n onTriggerLeave: () => {\n window.clearTimeout(openTimerRef.current);\n startCloseTimer();\n },\n onContentEnter: () => window.clearTimeout(closeTimerRef.current),\n onContentLeave: startCloseTimer,\n onItemSelect: (itemValue) => {\n setValue((prevValue) => prevValue === itemValue ? \"\" : itemValue);\n },\n onItemDismiss: () => setValue(\"\"),\n children: /* @__PURE__ */ jsx(\n Primitive.nav,\n {\n \"aria-label\": \"Main\",\n \"data-orientation\": orientation,\n dir: direction,\n ...NavigationMenuProps,\n ref: composedRef\n }\n )\n }\n );\n }\n);\nNavigationMenu.displayName = NAVIGATION_MENU_NAME;\nvar SUB_NAME = \"NavigationMenuSub\";\nvar NavigationMenuSub = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeNavigationMenu,\n value: valueProp,\n onValueChange,\n defaultValue,\n orientation = \"horizontal\",\n ...subProps\n } = props;\n const context = useNavigationMenuContext(SUB_NAME, __scopeNavigationMenu);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n defaultProp: defaultValue ?? \"\",\n caller: SUB_NAME\n });\n return /* @__PURE__ */ jsx(\n NavigationMenuProvider,\n {\n scope: __scopeNavigationMenu,\n isRootMenu: false,\n value,\n dir: context.dir,\n orientation,\n rootNavigationMenu: context.rootNavigationMenu,\n onTriggerEnter: (itemValue) => setValue(itemValue),\n onItemSelect: (itemValue) => setValue(itemValue),\n onItemDismiss: () => setValue(\"\"),\n children: /* @__PURE__ */ jsx(Primitive.div, { \"data-orientation\": orientation, ...subProps, ref: forwardedRef })\n }\n );\n }\n);\nNavigationMenuSub.displayName = SUB_NAME;\nvar NavigationMenuProvider = (props) => {\n const {\n scope,\n isRootMenu,\n rootNavigationMenu,\n dir,\n orientation,\n children,\n value,\n onItemSelect,\n onItemDismiss,\n onTriggerEnter,\n onTriggerLeave,\n onContentEnter,\n onContentLeave\n } = props;\n const [viewport, setViewport] = React.useState(null);\n const [viewportContent, setViewportContent] = React.useState(/* @__PURE__ */ new Map());\n const [indicatorTrack, setIndicatorTrack] = React.useState(null);\n return /* @__PURE__ */ jsx(\n NavigationMenuProviderImpl,\n {\n scope,\n isRootMenu,\n rootNavigationMenu,\n value,\n previousValue: usePrevious(value),\n baseId: useId(),\n dir,\n orientation,\n viewport,\n onViewportChange: setViewport,\n indicatorTrack,\n onIndicatorTrackChange: setIndicatorTrack,\n onTriggerEnter: useCallbackRef(onTriggerEnter),\n onTriggerLeave: useCallbackRef(onTriggerLeave),\n onContentEnter: useCallbackRef(onContentEnter),\n onContentLeave: useCallbackRef(onContentLeave),\n onItemSelect: useCallbackRef(onItemSelect),\n onItemDismiss: useCallbackRef(onItemDismiss),\n onViewportContentChange: React.useCallback((contentValue, contentData) => {\n setViewportContent((prevContent) => {\n prevContent.set(contentValue, contentData);\n return new Map(prevContent);\n });\n }, []),\n onViewportContentRemove: React.useCallback((contentValue) => {\n setViewportContent((prevContent) => {\n if (!prevContent.has(contentValue)) return prevContent;\n prevContent.delete(contentValue);\n return new Map(prevContent);\n });\n }, []),\n children: /* @__PURE__ */ jsx(Collection.Provider, { scope, children: /* @__PURE__ */ jsx(ViewportContentProvider, { scope, items: viewportContent, children }) })\n }\n );\n};\nvar LIST_NAME = \"NavigationMenuList\";\nvar NavigationMenuList = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeNavigationMenu, ...listProps } = props;\n const context = useNavigationMenuContext(LIST_NAME, __scopeNavigationMenu);\n const list = /* @__PURE__ */ jsx(Primitive.ul, { \"data-orientation\": context.orientation, ...listProps, ref: forwardedRef });\n return /* @__PURE__ */ jsx(Primitive.div, { style: { position: \"relative\" }, ref: context.onIndicatorTrackChange, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: __scopeNavigationMenu, children: context.isRootMenu ? /* @__PURE__ */ jsx(FocusGroup, { asChild: true, children: list }) : list }) });\n }\n);\nNavigationMenuList.displayName = LIST_NAME;\nvar ITEM_NAME = \"NavigationMenuItem\";\nvar [NavigationMenuItemContextProvider, useNavigationMenuItemContext] = createNavigationMenuContext(ITEM_NAME);\nvar NavigationMenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeNavigationMenu, value: valueProp, ...itemProps } = props;\n const autoValue = useId();\n const value = valueProp || autoValue || \"LEGACY_REACT_AUTO_VALUE\";\n const contentRef = React.useRef(null);\n const triggerRef = React.useRef(null);\n const focusProxyRef = React.useRef(null);\n const restoreContentTabOrderRef = React.useRef(() => {\n });\n const wasEscapeCloseRef = React.useRef(false);\n const handleContentEntry = React.useCallback((side = \"start\") => {\n if (contentRef.current) {\n restoreContentTabOrderRef.current();\n const candidates = getTabbableCandidates(contentRef.current);\n if (candidates.length) focusFirst(side === \"start\" ? candidates : candidates.reverse());\n }\n }, []);\n const handleContentExit = React.useCallback(() => {\n if (contentRef.current) {\n const candidates = getTabbableCandidates(contentRef.current);\n if (candidates.length) restoreContentTabOrderRef.current = removeFromTabOrder(candidates);\n }\n }, []);\n return /* @__PURE__ */ jsx(\n NavigationMenuItemContextProvider,\n {\n scope: __scopeNavigationMenu,\n value,\n triggerRef,\n contentRef,\n focusProxyRef,\n wasEscapeCloseRef,\n onEntryKeyDown: handleContentEntry,\n onFocusProxyEnter: handleContentEntry,\n onRootContentClose: handleContentExit,\n onContentFocusOutside: handleContentExit,\n children: /* @__PURE__ */ jsx(Primitive.li, { ...itemProps, ref: forwardedRef })\n }\n );\n }\n);\nNavigationMenuItem.displayName = ITEM_NAME;\nvar TRIGGER_NAME = \"NavigationMenuTrigger\";\nvar NavigationMenuTrigger = React.forwardRef((props, forwardedRef) => {\n const { __scopeNavigationMenu, disabled, ...triggerProps } = props;\n const context = useNavigationMenuContext(TRIGGER_NAME, props.__scopeNavigationMenu);\n const itemContext = useNavigationMenuItemContext(TRIGGER_NAME, props.__scopeNavigationMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(ref, itemContext.triggerRef, forwardedRef);\n const triggerId = makeTriggerId(context.baseId, itemContext.value);\n const contentId = makeContentId(context.baseId, itemContext.value);\n const hasPointerMoveOpenedRef = React.useRef(false);\n const wasClickCloseRef = React.useRef(false);\n const open = itemContext.value === context.value;\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(Collection.ItemSlot, { scope: __scopeNavigationMenu, value: itemContext.value, children: /* @__PURE__ */ jsx(FocusGroupItem, { asChild: true, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n id: triggerId,\n disabled,\n \"data-disabled\": disabled ? \"\" : void 0,\n \"data-state\": getOpenState(open),\n \"aria-expanded\": open,\n \"aria-controls\": contentId,\n ...triggerProps,\n ref: composedRefs,\n onPointerEnter: composeEventHandlers(props.onPointerEnter, () => {\n wasClickCloseRef.current = false;\n itemContext.wasEscapeCloseRef.current = false;\n }),\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse(() => {\n if (disabled || wasClickCloseRef.current || itemContext.wasEscapeCloseRef.current || hasPointerMoveOpenedRef.current)\n return;\n context.onTriggerEnter(itemContext.value);\n hasPointerMoveOpenedRef.current = true;\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse(() => {\n if (disabled) return;\n context.onTriggerLeave();\n hasPointerMoveOpenedRef.current = false;\n })\n ),\n onClick: composeEventHandlers(props.onClick, () => {\n context.onItemSelect(itemContext.value);\n wasClickCloseRef.current = open;\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const verticalEntryKey = context.dir === \"rtl\" ? \"ArrowLeft\" : \"ArrowRight\";\n const entryKey = { horizontal: \"ArrowDown\", vertical: verticalEntryKey }[context.orientation];\n if (open && event.key === entryKey) {\n itemContext.onEntryKeyDown();\n event.preventDefault();\n }\n })\n }\n ) }) }),\n open && /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n VisuallyHiddenPrimitive.Root,\n {\n \"aria-hidden\": true,\n tabIndex: 0,\n ref: itemContext.focusProxyRef,\n onFocus: (event) => {\n const content = itemContext.contentRef.current;\n const prevFocusedElement = event.relatedTarget;\n const wasTriggerFocused = prevFocusedElement === ref.current;\n const wasFocusFromContent = content?.contains(prevFocusedElement);\n if (wasTriggerFocused || !wasFocusFromContent) {\n itemContext.onFocusProxyEnter(wasTriggerFocused ? \"start\" : \"end\");\n }\n }\n }\n ),\n context.viewport && /* @__PURE__ */ jsx(\"span\", { \"aria-owns\": contentId })\n ] })\n ] });\n});\nNavigationMenuTrigger.displayName = TRIGGER_NAME;\nvar LINK_NAME = \"NavigationMenuLink\";\nvar LINK_SELECT = \"navigationMenu.linkSelect\";\nvar NavigationMenuLink = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeNavigationMenu, active, onSelect, ...linkProps } = props;\n return /* @__PURE__ */ jsx(FocusGroupItem, { asChild: true, children: /* @__PURE__ */ jsx(\n Primitive.a,\n {\n \"data-active\": active ? \"\" : void 0,\n \"aria-current\": active ? \"page\" : void 0,\n ...linkProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(\n props.onClick,\n (event) => {\n const target = event.target;\n const linkSelectEvent = new CustomEvent(LINK_SELECT, {\n bubbles: true,\n cancelable: true\n });\n target.addEventListener(LINK_SELECT, (event2) => onSelect?.(event2), { once: true });\n dispatchDiscreteCustomEvent(target, linkSelectEvent);\n if (!linkSelectEvent.defaultPrevented && !event.metaKey) {\n const rootContentDismissEvent = new CustomEvent(ROOT_CONTENT_DISMISS, {\n bubbles: true,\n cancelable: true\n });\n dispatchDiscreteCustomEvent(target, rootContentDismissEvent);\n }\n },\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }\n);\nNavigationMenuLink.displayName = LINK_NAME;\nvar INDICATOR_NAME = \"NavigationMenuIndicator\";\nvar NavigationMenuIndicator = React.forwardRef((props, forwardedRef) => {\n const { forceMount, ...indicatorProps } = props;\n const context = useNavigationMenuContext(INDICATOR_NAME, props.__scopeNavigationMenu);\n const isVisible = Boolean(context.value);\n return context.indicatorTrack ? ReactDOM.createPortal(\n /* @__PURE__ */ jsx(Presence, { present: forceMount || isVisible, children: /* @__PURE__ */ jsx(NavigationMenuIndicatorImpl, { ...indicatorProps, ref: forwardedRef }) }),\n context.indicatorTrack\n ) : null;\n});\nNavigationMenuIndicator.displayName = INDICATOR_NAME;\nvar NavigationMenuIndicatorImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeNavigationMenu, ...indicatorProps } = props;\n const context = useNavigationMenuContext(INDICATOR_NAME, __scopeNavigationMenu);\n const getItems = useCollection(__scopeNavigationMenu);\n const [activeTrigger, setActiveTrigger] = React.useState(\n null\n );\n const [position, setPosition] = React.useState(null);\n const isHorizontal = context.orientation === \"horizontal\";\n const isVisible = Boolean(context.value);\n React.useEffect(() => {\n const items = getItems();\n const triggerNode = items.find((item) => item.value === context.value)?.ref.current;\n if (triggerNode) setActiveTrigger(triggerNode);\n }, [getItems, context.value]);\n const handlePositionChange = () => {\n if (activeTrigger) {\n setPosition({\n size: isHorizontal ? activeTrigger.offsetWidth : activeTrigger.offsetHeight,\n offset: isHorizontal ? activeTrigger.offsetLeft : activeTrigger.offsetTop\n });\n }\n };\n useResizeObserver(activeTrigger, handlePositionChange);\n useResizeObserver(context.indicatorTrack, handlePositionChange);\n return position ? /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"aria-hidden\": true,\n \"data-state\": isVisible ? \"visible\" : \"hidden\",\n \"data-orientation\": context.orientation,\n ...indicatorProps,\n ref: forwardedRef,\n style: {\n position: \"absolute\",\n ...isHorizontal ? {\n left: 0,\n width: position.size + \"px\",\n transform: `translateX(${position.offset}px)`\n } : {\n top: 0,\n height: position.size + \"px\",\n transform: `translateY(${position.offset}px)`\n },\n ...indicatorProps.style\n }\n }\n ) : null;\n});\nvar CONTENT_NAME = \"NavigationMenuContent\";\nvar NavigationMenuContent = React.forwardRef((props, forwardedRef) => {\n const { forceMount, ...contentProps } = props;\n const context = useNavigationMenuContext(CONTENT_NAME, props.__scopeNavigationMenu);\n const itemContext = useNavigationMenuItemContext(CONTENT_NAME, props.__scopeNavigationMenu);\n const composedRefs = useComposedRefs(itemContext.contentRef, forwardedRef);\n const open = itemContext.value === context.value;\n const commonProps = {\n value: itemContext.value,\n triggerRef: itemContext.triggerRef,\n focusProxyRef: itemContext.focusProxyRef,\n wasEscapeCloseRef: itemContext.wasEscapeCloseRef,\n onContentFocusOutside: itemContext.onContentFocusOutside,\n onRootContentClose: itemContext.onRootContentClose,\n ...contentProps\n };\n return !context.viewport ? /* @__PURE__ */ jsx(Presence, { present: forceMount || open, children: /* @__PURE__ */ jsx(\n NavigationMenuContentImpl,\n {\n \"data-state\": getOpenState(open),\n ...commonProps,\n ref: composedRefs,\n onPointerEnter: composeEventHandlers(props.onPointerEnter, context.onContentEnter),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse(context.onContentLeave)\n ),\n style: {\n // Prevent interaction when animating out\n pointerEvents: !open && context.isRootMenu ? \"none\" : void 0,\n ...commonProps.style\n }\n }\n ) }) : /* @__PURE__ */ jsx(ViewportContentMounter, { forceMount, ...commonProps, ref: composedRefs });\n});\nNavigationMenuContent.displayName = CONTENT_NAME;\nvar ViewportContentMounter = React.forwardRef((props, forwardedRef) => {\n const context = useNavigationMenuContext(CONTENT_NAME, props.__scopeNavigationMenu);\n const { onViewportContentChange, onViewportContentRemove } = context;\n useLayoutEffect(() => {\n onViewportContentChange(props.value, {\n ref: forwardedRef,\n ...props\n });\n }, [props, forwardedRef, onViewportContentChange]);\n useLayoutEffect(() => {\n return () => onViewportContentRemove(props.value);\n }, [props.value, onViewportContentRemove]);\n return null;\n});\nvar ROOT_CONTENT_DISMISS = \"navigationMenu.rootContentDismiss\";\nvar NavigationMenuContentImpl = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeNavigationMenu,\n value,\n triggerRef,\n focusProxyRef,\n wasEscapeCloseRef,\n onRootContentClose,\n onContentFocusOutside,\n ...contentProps\n } = props;\n const context = useNavigationMenuContext(CONTENT_NAME, __scopeNavigationMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(ref, forwardedRef);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const getItems = useCollection(__scopeNavigationMenu);\n const prevMotionAttributeRef = React.useRef(null);\n const { onItemDismiss } = context;\n React.useEffect(() => {\n const content = ref.current;\n if (context.isRootMenu && content) {\n const handleClose = () => {\n onItemDismiss();\n onRootContentClose();\n if (content.contains(document.activeElement)) triggerRef.current?.focus();\n };\n content.addEventListener(ROOT_CONTENT_DISMISS, handleClose);\n return () => content.removeEventListener(ROOT_CONTENT_DISMISS, handleClose);\n }\n }, [context.isRootMenu, props.value, triggerRef, onItemDismiss, onRootContentClose]);\n const motionAttribute = React.useMemo(() => {\n const items = getItems();\n const values = items.map((item) => item.value);\n if (context.dir === \"rtl\") values.reverse();\n const index = values.indexOf(context.value);\n const prevIndex = values.indexOf(context.previousValue);\n const isSelected = value === context.value;\n const wasSelected = prevIndex === values.indexOf(value);\n if (!isSelected && !wasSelected) return prevMotionAttributeRef.current;\n const attribute = (() => {\n if (index !== prevIndex) {\n if (isSelected && prevIndex !== -1) return index > prevIndex ? \"from-end\" : \"from-start\";\n if (wasSelected && index !== -1) return index > prevIndex ? \"to-start\" : \"to-end\";\n }\n return null;\n })();\n prevMotionAttributeRef.current = attribute;\n return attribute;\n }, [context.previousValue, context.value, context.dir, getItems, value]);\n return /* @__PURE__ */ jsx(FocusGroup, { asChild: true, children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n id: contentId,\n \"aria-labelledby\": triggerId,\n \"data-motion\": motionAttribute,\n \"data-orientation\": context.orientation,\n ...contentProps,\n ref: composedRefs,\n disableOutsidePointerEvents: false,\n onDismiss: () => {\n const rootContentDismissEvent = new Event(ROOT_CONTENT_DISMISS, {\n bubbles: true,\n cancelable: true\n });\n ref.current?.dispatchEvent(rootContentDismissEvent);\n },\n onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {\n onContentFocusOutside();\n const target = event.target;\n if (context.rootNavigationMenu?.contains(target)) event.preventDefault();\n }),\n onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => {\n const target = event.target;\n const isTrigger = getItems().some((item) => item.ref.current?.contains(target));\n const isRootViewport = context.isRootMenu && context.viewport?.contains(target);\n if (isTrigger || isRootViewport || !context.isRootMenu) event.preventDefault();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isMetaKey = event.altKey || event.ctrlKey || event.metaKey;\n const isTabKey = event.key === \"Tab\" && !isMetaKey;\n if (isTabKey) {\n const candidates = getTabbableCandidates(event.currentTarget);\n const focusedElement = document.activeElement;\n const index = candidates.findIndex((candidate) => candidate === focusedElement);\n const isMovingBackwards = event.shiftKey;\n const nextCandidates = isMovingBackwards ? candidates.slice(0, index).reverse() : candidates.slice(index + 1, candidates.length);\n if (focusFirst(nextCandidates)) {\n event.preventDefault();\n } else {\n focusProxyRef.current?.focus();\n }\n }\n }),\n onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (_event) => {\n wasEscapeCloseRef.current = true;\n })\n }\n ) });\n});\nvar VIEWPORT_NAME = \"NavigationMenuViewport\";\nvar NavigationMenuViewport = React.forwardRef((props, forwardedRef) => {\n const { forceMount, ...viewportProps } = props;\n const context = useNavigationMenuContext(VIEWPORT_NAME, props.__scopeNavigationMenu);\n const open = Boolean(context.value);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || open, children: /* @__PURE__ */ jsx(NavigationMenuViewportImpl, { ...viewportProps, ref: forwardedRef }) });\n});\nNavigationMenuViewport.displayName = VIEWPORT_NAME;\nvar NavigationMenuViewportImpl = React.forwardRef((props, forwardedRef) => {\n const { __scopeNavigationMenu, children, ...viewportImplProps } = props;\n const context = useNavigationMenuContext(VIEWPORT_NAME, __scopeNavigationMenu);\n const composedRefs = useComposedRefs(forwardedRef, context.onViewportChange);\n const viewportContentContext = useViewportContentContext(\n CONTENT_NAME,\n props.__scopeNavigationMenu\n );\n const [size, setSize] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const viewportWidth = size ? size?.width + \"px\" : void 0;\n const viewportHeight = size ? size?.height + \"px\" : void 0;\n const open = Boolean(context.value);\n const activeContentValue = open ? context.value : context.previousValue;\n const handleSizeChange = () => {\n if (content) setSize({ width: content.offsetWidth, height: content.offsetHeight });\n };\n useResizeObserver(content, handleSizeChange);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getOpenState(open),\n \"data-orientation\": context.orientation,\n ...viewportImplProps,\n ref: composedRefs,\n style: {\n // Prevent interaction when animating out\n pointerEvents: !open && context.isRootMenu ? \"none\" : void 0,\n [\"--radix-navigation-menu-viewport-width\"]: viewportWidth,\n [\"--radix-navigation-menu-viewport-height\"]: viewportHeight,\n ...viewportImplProps.style\n },\n onPointerEnter: composeEventHandlers(props.onPointerEnter, context.onContentEnter),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, whenMouse(context.onContentLeave)),\n children: Array.from(viewportContentContext.items).map(([value, { ref, forceMount, ...props2 }]) => {\n const isActive = activeContentValue === value;\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || isActive, children: /* @__PURE__ */ jsx(\n NavigationMenuContentImpl,\n {\n ...props2,\n ref: composeRefs(ref, (node) => {\n if (isActive && node) setContent(node);\n })\n }\n ) }, value);\n })\n }\n );\n});\nvar FOCUS_GROUP_NAME = \"FocusGroup\";\nvar FocusGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeNavigationMenu, ...groupProps } = props;\n const context = useNavigationMenuContext(FOCUS_GROUP_NAME, __scopeNavigationMenu);\n return /* @__PURE__ */ jsx(FocusGroupCollection.Provider, { scope: __scopeNavigationMenu, children: /* @__PURE__ */ jsx(FocusGroupCollection.Slot, { scope: __scopeNavigationMenu, children: /* @__PURE__ */ jsx(Primitive.div, { dir: context.dir, ...groupProps, ref: forwardedRef }) }) });\n }\n);\nvar ARROW_KEYS = [\"ArrowRight\", \"ArrowLeft\", \"ArrowUp\", \"ArrowDown\"];\nvar FOCUS_GROUP_ITEM_NAME = \"FocusGroupItem\";\nvar FocusGroupItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeNavigationMenu, ...groupProps } = props;\n const getItems = useFocusGroupCollection(__scopeNavigationMenu);\n const context = useNavigationMenuContext(FOCUS_GROUP_ITEM_NAME, __scopeNavigationMenu);\n return /* @__PURE__ */ jsx(FocusGroupCollection.ItemSlot, { scope: __scopeNavigationMenu, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n ...groupProps,\n ref: forwardedRef,\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isFocusNavigationKey = [\"Home\", \"End\", ...ARROW_KEYS].includes(event.key);\n if (isFocusNavigationKey) {\n let candidateNodes = getItems().map((item) => item.ref.current);\n const prevItemKey = context.dir === \"rtl\" ? \"ArrowRight\" : \"ArrowLeft\";\n const prevKeys = [prevItemKey, \"ArrowUp\", \"End\"];\n if (prevKeys.includes(event.key)) candidateNodes.reverse();\n if (ARROW_KEYS.includes(event.key)) {\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n event.preventDefault();\n }\n })\n }\n ) });\n }\n);\nfunction getTabbableCandidates(container) {\n const nodes = [];\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (node) => {\n const isHiddenInput = node.tagName === \"INPUT\" && node.type === \"hidden\";\n if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n }\n });\n while (walker.nextNode()) nodes.push(walker.currentNode);\n return nodes;\n}\nfunction focusFirst(candidates) {\n const previouslyFocusedElement = document.activeElement;\n return candidates.some((candidate) => {\n if (candidate === previouslyFocusedElement) return true;\n candidate.focus();\n return document.activeElement !== previouslyFocusedElement;\n });\n}\nfunction removeFromTabOrder(candidates) {\n candidates.forEach((candidate) => {\n candidate.dataset.tabindex = candidate.getAttribute(\"tabindex\") || \"\";\n candidate.setAttribute(\"tabindex\", \"-1\");\n });\n return () => {\n candidates.forEach((candidate) => {\n const prevTabIndex = candidate.dataset.tabindex;\n candidate.setAttribute(\"tabindex\", prevTabIndex);\n });\n };\n}\nfunction useResizeObserver(element, onResize) {\n const handleResize = useCallbackRef(onResize);\n useLayoutEffect(() => {\n let rAF = 0;\n if (element) {\n const resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(handleResize);\n });\n resizeObserver.observe(element);\n return () => {\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(element);\n };\n }\n }, [element, handleResize]);\n}\nfunction getOpenState(open) {\n return open ? \"open\" : \"closed\";\n}\nfunction makeTriggerId(baseId, value) {\n return `${baseId}-trigger-${value}`;\n}\nfunction makeContentId(baseId, value) {\n return `${baseId}-content-${value}`;\n}\nfunction whenMouse(handler) {\n return (event) => event.pointerType === \"mouse\" ? handler(event) : void 0;\n}\nvar Root2 = NavigationMenu;\nvar Sub = NavigationMenuSub;\nvar List = NavigationMenuList;\nvar Item = NavigationMenuItem;\nvar Trigger = NavigationMenuTrigger;\nvar Link = NavigationMenuLink;\nvar Indicator = NavigationMenuIndicator;\nvar Content = NavigationMenuContent;\nvar Viewport = NavigationMenuViewport;\nexport {\n Content,\n Indicator,\n Item,\n Link,\n List,\n NavigationMenu,\n NavigationMenuContent,\n NavigationMenuIndicator,\n NavigationMenuItem,\n NavigationMenuLink,\n NavigationMenuList,\n NavigationMenuSub,\n NavigationMenuTrigger,\n NavigationMenuViewport,\n Root2 as Root,\n Sub,\n Trigger,\n Viewport,\n createNavigationMenuScope\n};\n"],"mappings":"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"}
|