@admin-layout/tailwind-ui 12.2.4-alpha.4 → 12.2.4-alpha.41
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/lib/components/AIToolbar/components/AIToolBar.d.ts +22 -0
- package/lib/components/AIToolbar/components/AIToolBar.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/AIToolBar.js +83 -0
- package/lib/components/AIToolbar/components/AIToolBar.js.map +1 -0
- package/lib/components/AIToolbar/components/AIToolbarPrimitives.d.ts +14 -0
- package/lib/components/AIToolbar/components/AIToolbarPrimitives.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/AIToolbarPrimitives.js +60 -0
- package/lib/components/AIToolbar/components/AIToolbarPrimitives.js.map +1 -0
- package/lib/components/AIToolbar/components/CustomCursor.d.ts +2 -0
- package/lib/components/AIToolbar/components/CustomCursor.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/CustomCursor.js +66 -0
- package/lib/components/AIToolbar/components/CustomCursor.js.map +1 -0
- package/lib/components/AIToolbar/components/DragButton.d.ts +9 -0
- package/lib/components/AIToolbar/components/DragButton.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/DragButton.js +57 -0
- package/lib/components/AIToolbar/components/DragButton.js.map +1 -0
- package/lib/components/AIToolbar/components/Markdown/copy-button.d.ts +7 -0
- package/lib/components/AIToolbar/components/Markdown/copy-button.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/Markdown/copy-button.js +30 -0
- package/lib/components/AIToolbar/components/Markdown/copy-button.js.map +1 -0
- package/lib/components/AIToolbar/components/Markdown/index.d.ts +7 -0
- package/lib/components/AIToolbar/components/Markdown/index.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/Markdown/index.js +46 -0
- package/lib/components/AIToolbar/components/Markdown/index.js.map +1 -0
- package/lib/components/AIToolbar/components/completion/Audio.d.ts +3 -0
- package/lib/components/AIToolbar/components/completion/Audio.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/completion/Audio.js +65 -0
- package/lib/components/AIToolbar/components/completion/Audio.js.map +1 -0
- package/lib/components/AIToolbar/components/completion/AutoSpeechVad.d.ts +11 -0
- package/lib/components/AIToolbar/components/completion/AutoSpeechVad.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/completion/AutoSpeechVad.js +66 -0
- package/lib/components/AIToolbar/components/completion/AutoSpeechVad.js.map +1 -0
- package/lib/components/AIToolbar/components/completion/Files.d.ts +6 -0
- package/lib/components/AIToolbar/components/completion/Files.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/completion/Files.js +134 -0
- package/lib/components/AIToolbar/components/completion/Files.js.map +1 -0
- package/lib/components/AIToolbar/components/completion/Input.d.ts +5 -0
- package/lib/components/AIToolbar/components/completion/Input.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/completion/Input.js +169 -0
- package/lib/components/AIToolbar/components/completion/Input.js.map +1 -0
- package/lib/components/AIToolbar/components/completion/MessageHistory.d.ts +11 -0
- package/lib/components/AIToolbar/components/completion/MessageHistory.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/completion/MessageHistory.js +90 -0
- package/lib/components/AIToolbar/components/completion/MessageHistory.js.map +1 -0
- package/lib/components/AIToolbar/components/completion/Screenshot.d.ts +6 -0
- package/lib/components/AIToolbar/components/completion/Screenshot.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/completion/Screenshot.js +28 -0
- package/lib/components/AIToolbar/components/completion/Screenshot.js.map +1 -0
- package/lib/components/AIToolbar/components/completion/index.d.ts +10 -0
- package/lib/components/AIToolbar/components/completion/index.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/completion/index.js +20 -0
- package/lib/components/AIToolbar/components/completion/index.js.map +1 -0
- package/lib/components/AIToolbar/components/index.d.ts +17 -0
- package/lib/components/AIToolbar/components/index.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/Header.d.ts +14 -0
- package/lib/components/AIToolbar/components/speech/Header.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/Header.js +82 -0
- package/lib/components/AIToolbar/components/speech/Header.js.map +1 -0
- package/lib/components/AIToolbar/components/speech/ModeSwitcher.d.ts +8 -0
- package/lib/components/AIToolbar/components/speech/ModeSwitcher.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/ModeSwitcher.js +44 -0
- package/lib/components/AIToolbar/components/speech/ModeSwitcher.js.map +1 -0
- package/lib/components/AIToolbar/components/speech/PermissionFlow.d.ts +8 -0
- package/lib/components/AIToolbar/components/speech/PermissionFlow.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/PermissionFlow.js +161 -0
- package/lib/components/AIToolbar/components/speech/PermissionFlow.js.map +1 -0
- package/lib/components/AIToolbar/components/speech/QuickActions.d.ts +13 -0
- package/lib/components/AIToolbar/components/speech/QuickActions.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/QuickActions.js +100 -0
- package/lib/components/AIToolbar/components/speech/QuickActions.js.map +1 -0
- package/lib/components/AIToolbar/components/speech/RecordingPanel.d.ts +14 -0
- package/lib/components/AIToolbar/components/speech/RecordingPanel.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/RecordingPanel.js +101 -0
- package/lib/components/AIToolbar/components/speech/RecordingPanel.js.map +1 -0
- package/lib/components/AIToolbar/components/speech/ResultsSection.d.ts +12 -0
- package/lib/components/AIToolbar/components/speech/ResultsSection.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/ResultsSection.js +132 -0
- package/lib/components/AIToolbar/components/speech/ResultsSection.js.map +1 -0
- package/lib/components/AIToolbar/components/speech/SettingsPanel.d.ts +12 -0
- package/lib/components/AIToolbar/components/speech/SettingsPanel.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/SettingsPanel.js +289 -0
- package/lib/components/AIToolbar/components/speech/SettingsPanel.js.map +1 -0
- package/lib/components/AIToolbar/components/speech/StatusIndicator.d.ts +10 -0
- package/lib/components/AIToolbar/components/speech/StatusIndicator.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/StatusIndicator.js +48 -0
- package/lib/components/AIToolbar/components/speech/StatusIndicator.js.map +1 -0
- package/lib/components/AIToolbar/components/speech/Warning.d.ts +6 -0
- package/lib/components/AIToolbar/components/speech/Warning.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/Warning.js +154 -0
- package/lib/components/AIToolbar/components/speech/Warning.js.map +1 -0
- package/lib/components/AIToolbar/components/speech/audio-visualizer.d.ts +7 -0
- package/lib/components/AIToolbar/components/speech/audio-visualizer.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/audio-visualizer.js +194 -0
- package/lib/components/AIToolbar/components/speech/audio-visualizer.js.map +1 -0
- package/lib/components/AIToolbar/components/speech/floatArrayToWav.d.ts +2 -0
- package/lib/components/AIToolbar/components/speech/floatArrayToWav.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/floatArrayToWav.js +32 -0
- package/lib/components/AIToolbar/components/speech/floatArrayToWav.js.map +1 -0
- package/lib/components/AIToolbar/components/speech/index.d.ts +4 -0
- package/lib/components/AIToolbar/components/speech/index.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/index.js +292 -0
- package/lib/components/AIToolbar/components/speech/index.js.map +1 -0
- package/lib/components/AIToolbar/components/speech/promptTemplates.d.ts +12 -0
- package/lib/components/AIToolbar/components/speech/promptTemplates.d.ts.map +1 -0
- package/lib/components/AIToolbar/components/speech/promptTemplates.js +114 -0
- package/lib/components/AIToolbar/components/speech/promptTemplates.js.map +1 -0
- package/lib/components/AIToolbar/components/types.d.ts +175 -0
- package/lib/components/AIToolbar/components/types.d.ts.map +1 -0
- package/lib/components/AIToolbar/index.d.ts +5 -0
- package/lib/components/AIToolbar/index.d.ts.map +1 -0
- package/lib/components/Button/Button.d.ts +1 -1
- package/lib/components/Button/Button.d.ts.map +1 -1
- package/lib/components/Button/Button.js +7 -6
- package/lib/components/Button/Button.js.map +1 -1
- package/lib/components/DatePicker/DatePicker.js +158 -140
- package/lib/components/DatePicker/DatePicker.js.map +1 -1
- package/lib/components/Dialog/Dialog.d.ts +20 -0
- package/lib/components/Dialog/Dialog.d.ts.map +1 -0
- package/lib/components/Dialog/Dialog.js +111 -0
- package/lib/components/Dialog/Dialog.js.map +1 -0
- package/lib/components/Dialog/index.d.ts +3 -0
- package/lib/components/Dialog/index.d.ts.map +1 -0
- package/lib/components/ErrorHandlers/ApplicationErrorHandler.d.ts +1 -2
- package/lib/components/ErrorHandlers/ApplicationErrorHandler.d.ts.map +1 -1
- package/lib/components/ErrorHandlers/ApplicationErrorHandler.js +2 -2
- package/lib/components/ErrorHandlers/ErrorBoundary.d.ts +1 -2
- package/lib/components/ErrorHandlers/ErrorBoundary.d.ts.map +1 -1
- package/lib/components/ErrorHandlers/ErrorBoundary.js +35 -28
- package/lib/components/ErrorHandlers/ErrorBoundary.js.map +1 -1
- package/lib/components/ErrorHandlers/LayoutErrorBoundary.d.ts +1 -2
- package/lib/components/ErrorHandlers/LayoutErrorBoundary.d.ts.map +1 -1
- package/lib/components/ErrorHandlers/LayoutErrorBoundary.js +20 -15
- package/lib/components/ErrorHandlers/LayoutErrorBoundary.js.map +1 -1
- package/lib/components/ErrorHandlers/RemixErrorBoundary.d.ts +4 -2
- package/lib/components/ErrorHandlers/RemixErrorBoundary.d.ts.map +1 -1
- package/lib/components/ErrorHandlers/RemixErrorBoundary.js +222 -100
- package/lib/components/ErrorHandlers/RemixErrorBoundary.js.map +1 -1
- package/lib/components/ErrorHandlers/SPAErrorBoundary.d.ts +4 -2
- package/lib/components/ErrorHandlers/SPAErrorBoundary.d.ts.map +1 -1
- package/lib/components/ErrorHandlers/SPAErrorBoundary.js +247 -82
- package/lib/components/ErrorHandlers/SPAErrorBoundary.js.map +1 -1
- package/lib/components/ErrorPages/403.d.ts +1 -2
- package/lib/components/ErrorPages/403.d.ts.map +1 -1
- package/lib/components/ErrorPages/403.js +26 -18
- package/lib/components/ErrorPages/403.js.map +1 -1
- package/lib/components/ErrorPages/404.d.ts +1 -2
- package/lib/components/ErrorPages/404.d.ts.map +1 -1
- package/lib/components/ErrorPages/404.js +26 -18
- package/lib/components/ErrorPages/404.js.map +1 -1
- package/lib/components/ErrorPages/500.d.ts +1 -2
- package/lib/components/ErrorPages/500.d.ts.map +1 -1
- package/lib/components/ErrorPages/500.js +26 -18
- package/lib/components/ErrorPages/500.js.map +1 -1
- package/lib/components/InputToolBar/InputToolBar.d.ts +8 -0
- package/lib/components/InputToolBar/InputToolBar.d.ts.map +1 -0
- package/lib/components/InputToolBar/InputToolBar.js +469 -0
- package/lib/components/InputToolBar/InputToolBar.js.map +1 -0
- package/lib/components/InputToolBar/defaults.d.ts +15 -0
- package/lib/components/InputToolBar/defaults.d.ts.map +1 -0
- package/lib/components/InputToolBar/defaults.js +59 -0
- package/lib/components/InputToolBar/defaults.js.map +1 -0
- package/lib/components/InputToolBar/index.d.ts +5 -0
- package/lib/components/InputToolBar/index.d.ts.map +1 -0
- package/lib/components/InputToolBar/types.d.ts +153 -0
- package/lib/components/InputToolBar/types.d.ts.map +1 -0
- package/lib/components/LanguageMenuDropdown/LanguageMenuDropdown.d.ts +1 -2
- package/lib/components/LanguageMenuDropdown/LanguageMenuDropdown.d.ts.map +1 -1
- package/lib/components/LanguageMenuDropdown/LanguageMenuDropdown.js +24 -19
- package/lib/components/LanguageMenuDropdown/LanguageMenuDropdown.js.map +1 -1
- package/lib/components/Markdown/MarkdownBreadcrumbs.d.ts +13 -0
- package/lib/components/Markdown/MarkdownBreadcrumbs.d.ts.map +1 -0
- package/lib/components/Markdown/MarkdownBreadcrumbs.js +34 -0
- package/lib/components/Markdown/MarkdownBreadcrumbs.js.map +1 -0
- package/lib/components/Markdown/MarkdownCopyButton.d.ts +10 -0
- package/lib/components/Markdown/MarkdownCopyButton.d.ts.map +1 -0
- package/lib/components/Markdown/MarkdownCopyButton.js +229 -0
- package/lib/components/Markdown/MarkdownCopyButton.js.map +1 -0
- package/lib/components/Markdown/MarkdownHeader.d.ts +13 -0
- package/lib/components/Markdown/MarkdownHeader.d.ts.map +1 -0
- package/lib/components/Markdown/MarkdownHeader.js +44 -0
- package/lib/components/Markdown/MarkdownHeader.js.map +1 -0
- package/lib/components/Markdown/MarkdownNavigation.d.ts +15 -0
- package/lib/components/Markdown/MarkdownNavigation.d.ts.map +1 -0
- package/lib/components/Markdown/MarkdownNavigation.js +38 -0
- package/lib/components/Markdown/MarkdownNavigation.js.map +1 -0
- package/lib/components/Markdown/MarkdownPage.d.ts +41 -0
- package/lib/components/Markdown/MarkdownPage.d.ts.map +1 -0
- package/lib/components/Markdown/MarkdownPage.js +238 -0
- package/lib/components/Markdown/MarkdownPage.js.map +1 -0
- package/lib/components/Markdown/MarkdownTableOfContents.d.ts +15 -0
- package/lib/components/Markdown/MarkdownTableOfContents.d.ts.map +1 -0
- package/lib/components/Markdown/MarkdownTableOfContents.js +57 -0
- package/lib/components/Markdown/MarkdownTableOfContents.js.map +1 -0
- package/lib/components/Markdown/index.d.ts +7 -0
- package/lib/components/Markdown/index.d.ts.map +1 -0
- package/lib/components/OTP/OTPInput.js +32 -30
- package/lib/components/OTP/OTPInput.js.map +1 -1
- package/lib/components/OTP/OTPVerification.js +75 -55
- package/lib/components/OTP/OTPVerification.js.map +1 -1
- package/lib/components/OTP/SingleInput.js +2 -2
- package/lib/components/OTP/SingleInput.js.map +1 -1
- package/lib/components/PageContainer/PageContainer.js +29 -22
- package/lib/components/PageContainer/PageContainer.js.map +1 -1
- package/lib/components/PageLoading/index.js +8 -7
- package/lib/components/PageLoading/index.js.map +1 -1
- package/lib/components/RJSFPreview/PreviewAsyncDropdown.d.ts +1 -2
- package/lib/components/RJSFPreview/PreviewAsyncDropdown.d.ts.map +1 -1
- package/lib/components/ReactTable/Table.d.ts +1 -2
- package/lib/components/ReactTable/Table.d.ts.map +1 -1
- package/lib/components/ReactTable/Table.js +92 -71
- package/lib/components/ReactTable/Table.js.map +1 -1
- package/lib/components/ReactTable/TableFilters.d.ts +2 -3
- package/lib/components/ReactTable/TableFilters.d.ts.map +1 -1
- package/lib/components/ReactTable/TableFilters.js +40 -34
- package/lib/components/ReactTable/TableFilters.js.map +1 -1
- package/lib/components/Search/SearchInput.d.ts +1 -2
- package/lib/components/Search/SearchInput.d.ts.map +1 -1
- package/lib/components/Search/SearchInput.js +14 -13
- package/lib/components/Search/SearchInput.js.map +1 -1
- package/lib/components/Select/Select.d.ts +6 -6
- package/lib/components/Select/Select.d.ts.map +1 -1
- package/lib/components/Select/Select.js +60 -45
- package/lib/components/Select/Select.js.map +1 -1
- package/lib/components/Spin/index.js +14 -11
- package/lib/components/Spin/index.js.map +1 -1
- package/lib/components/ThemeProvider/ThemeProvider.d.ts +1 -1
- package/lib/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
- package/lib/components/ThemeProvider/ThemeProvider.js +29 -17
- package/lib/components/ThemeProvider/ThemeProvider.js.map +1 -1
- package/lib/components/ThemeProvider/ThemeToggle.js +28 -25
- package/lib/components/ThemeProvider/ThemeToggle.js.map +1 -1
- package/lib/components/ThemeProvider/types.d.ts +3 -3
- package/lib/components/ThemeProvider/types.d.ts.map +1 -1
- package/lib/components/index.d.ts +5 -0
- package/lib/components/index.d.ts.map +1 -1
- package/lib/hooks/useToast.d.ts +1 -1
- package/lib/hooks/useToast.d.ts.map +1 -1
- package/lib/hooks/useToast.js +46 -37
- package/lib/hooks/useToast.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/shardui/accordion.js +20 -16
- package/lib/shardui/accordion.js.map +1 -1
- package/lib/shardui/alert-dialog.d.ts +2 -2
- package/lib/shardui/alert-dialog.js +15 -13
- package/lib/shardui/alert-dialog.js.map +1 -1
- package/lib/shardui/alert.js +4 -4
- package/lib/shardui/alert.js.map +1 -1
- package/lib/shardui/avatar.js +4 -4
- package/lib/shardui/avatar.js.map +1 -1
- package/lib/shardui/badge.d.ts +1 -1
- package/lib/shardui/badge.d.ts.map +1 -1
- package/lib/shardui/badge.js +2 -2
- package/lib/shardui/badge.js.map +1 -1
- package/lib/shardui/breadcrumb.d.ts +2 -2
- package/lib/shardui/breadcrumb.js +19 -16
- package/lib/shardui/breadcrumb.js.map +1 -1
- package/lib/shardui/button.js +2 -2
- package/lib/shardui/button.js.map +1 -1
- package/lib/shardui/calendar.d.ts +1 -1
- package/lib/shardui/calendar.d.ts.map +1 -1
- package/lib/shardui/calendar.js +4 -4
- package/lib/shardui/card.js +7 -7
- package/lib/shardui/card.js.map +1 -1
- package/lib/shardui/carousel.js +40 -33
- package/lib/shardui/carousel.js.map +1 -1
- package/lib/shardui/chart.d.ts +1 -1
- package/lib/shardui/chart.d.ts.map +1 -1
- package/lib/shardui/chart.js +81 -66
- package/lib/shardui/chart.js.map +1 -1
- package/lib/shardui/checkbox.js +10 -8
- package/lib/shardui/checkbox.js.map +1 -1
- package/lib/shardui/command.d.ts +2 -2
- package/lib/shardui/command.d.ts.map +1 -1
- package/lib/shardui/command.js +28 -24
- package/lib/shardui/command.js.map +1 -1
- package/lib/shardui/context-menu.d.ts +1 -1
- package/lib/shardui/context-menu.js +41 -30
- package/lib/shardui/context-menu.js.map +1 -1
- package/lib/shardui/dialog.d.ts +2 -2
- package/lib/shardui/dialog.js +22 -17
- package/lib/shardui/dialog.js.map +1 -1
- package/lib/shardui/drawer.d.ts +3 -3
- package/lib/shardui/drawer.js +17 -14
- package/lib/shardui/drawer.js.map +1 -1
- package/lib/shardui/dropdown-menu.d.ts +1 -1
- package/lib/shardui/dropdown-menu.js +42 -31
- package/lib/shardui/dropdown-menu.js.map +1 -1
- package/lib/shardui/form.d.ts +1 -1
- package/lib/shardui/form.d.ts.map +1 -1
- package/lib/shardui/form.js +22 -19
- package/lib/shardui/form.js.map +1 -1
- package/lib/shardui/hover-card.js +2 -2
- package/lib/shardui/hover-card.js.map +1 -1
- package/lib/shardui/input-otp.js +16 -13
- package/lib/shardui/input-otp.js.map +1 -1
- package/lib/shardui/input.js +2 -2
- package/lib/shardui/input.js.map +1 -1
- package/lib/shardui/label.js +2 -2
- package/lib/shardui/label.js.map +1 -1
- package/lib/shardui/menubar.d.ts +1 -1
- package/lib/shardui/menubar.js +46 -35
- package/lib/shardui/menubar.js.map +1 -1
- package/lib/shardui/navigation-menu.js +28 -24
- package/lib/shardui/navigation-menu.js.map +1 -1
- package/lib/shardui/pagination.d.ts +5 -5
- package/lib/shardui/pagination.js +30 -22
- package/lib/shardui/pagination.js.map +1 -1
- package/lib/shardui/popover.js +10 -8
- package/lib/shardui/popover.js.map +1 -1
- package/lib/shardui/progress.js +10 -9
- package/lib/shardui/progress.js.map +1 -1
- package/lib/shardui/radio-group.js +11 -9
- package/lib/shardui/radio-group.js.map +1 -1
- package/lib/shardui/resizable.d.ts +3 -3
- package/lib/shardui/resizable.d.ts.map +1 -1
- package/lib/shardui/resizable.js +11 -9
- package/lib/shardui/resizable.js.map +1 -1
- package/lib/shardui/scroll-area.js +14 -11
- package/lib/shardui/scroll-area.js.map +1 -1
- package/lib/shardui/select.js +49 -35
- package/lib/shardui/select.js.map +1 -1
- package/lib/shardui/separator.js +2 -2
- package/lib/shardui/separator.js.map +1 -1
- package/lib/shardui/sheet.d.ts +2 -2
- package/lib/shardui/sheet.js +24 -19
- package/lib/shardui/sheet.js.map +1 -1
- package/lib/shardui/sidebar.js +104 -88
- package/lib/shardui/sidebar.js.map +1 -1
- package/lib/shardui/skeleton.d.ts +1 -1
- package/lib/shardui/skeleton.d.ts.map +1 -1
- package/lib/shardui/skeleton.js +2 -2
- package/lib/shardui/skeleton.js.map +1 -1
- package/lib/shardui/slider.js +12 -10
- package/lib/shardui/slider.js.map +1 -1
- package/lib/shardui/sonner.d.ts +1 -1
- package/lib/shardui/sonner.d.ts.map +1 -1
- package/lib/shardui/sonner.js +2 -2
- package/lib/shardui/sonner.js.map +1 -1
- package/lib/shardui/switch.js +7 -6
- package/lib/shardui/switch.js.map +1 -1
- package/lib/shardui/table.js +16 -15
- package/lib/shardui/table.js.map +1 -1
- package/lib/shardui/tabs.js +4 -4
- package/lib/shardui/tabs.js.map +1 -1
- package/lib/shardui/textarea.js +2 -2
- package/lib/shardui/textarea.js.map +1 -1
- package/lib/shardui/toast.js +12 -11
- package/lib/shardui/toast.js.map +1 -1
- package/lib/shardui/toaster.d.ts +1 -2
- package/lib/shardui/toaster.d.ts.map +1 -1
- package/lib/shardui/toaster.js +21 -14
- package/lib/shardui/toaster.js.map +1 -1
- package/lib/shardui/toggle-group.js +15 -12
- package/lib/shardui/toggle-group.js.map +1 -1
- package/lib/shardui/toggle.js +2 -2
- package/lib/shardui/toggle.js.map +1 -1
- package/lib/shardui/tooltip.js +2 -2
- package/lib/shardui/tooltip.js.map +1 -1
- package/package.json +7 -3
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import {jsxs,jsx}from'react/jsx-runtime';import {Link}from'@remix-run/react';import'../../utils/isBrowser/index.js';import {cn}from'../../utils/util.js';import'react';import'fast-deep-equal/react.js';const MarkdownNavigation = ({
|
|
2
|
+
previousMarkdown,
|
|
3
|
+
nextMarkdown,
|
|
4
|
+
className,
|
|
5
|
+
getMarkdownLink
|
|
6
|
+
}) => {
|
|
7
|
+
if (!previousMarkdown && !nextMarkdown) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
return jsxs("div", {
|
|
11
|
+
className: cn('mt-16 pt-8 border-t border-border grid grid-cols-1 md:grid-cols-2 gap-6', className),
|
|
12
|
+
children: [previousMarkdown ? jsxs(Link, {
|
|
13
|
+
to: getMarkdownLink(previousMarkdown.categoryId, previousMarkdown.slug),
|
|
14
|
+
className: cn('group rounded-lg border border-border bg-background px-6 py-5', 'hover:bg-muted/30 transition-colors'),
|
|
15
|
+
children: [jsx("div", {
|
|
16
|
+
className: "text-sm text-muted-foreground mb-1",
|
|
17
|
+
children: "Previous"
|
|
18
|
+
}), jsxs("div", {
|
|
19
|
+
className: "text-primary font-semibold group-hover:underline text-base",
|
|
20
|
+
children: ["\u00AB ", previousMarkdown.title]
|
|
21
|
+
})]
|
|
22
|
+
}) : jsx("div", {
|
|
23
|
+
className: "hidden md:block"
|
|
24
|
+
}), nextMarkdown ? jsxs(Link, {
|
|
25
|
+
to: getMarkdownLink(nextMarkdown.categoryId, nextMarkdown.slug),
|
|
26
|
+
className: cn('group rounded-lg border border-border bg-background px-6 py-5', 'hover:bg-muted/30 transition-colors md:text-right'),
|
|
27
|
+
children: [jsx("div", {
|
|
28
|
+
className: "text-sm text-muted-foreground mb-1",
|
|
29
|
+
children: "Next"
|
|
30
|
+
}), jsxs("div", {
|
|
31
|
+
className: "text-primary font-semibold group-hover:underline text-base",
|
|
32
|
+
children: [nextMarkdown.title, " \u00BB"]
|
|
33
|
+
})]
|
|
34
|
+
}) : jsx("div", {
|
|
35
|
+
className: "hidden md:block"
|
|
36
|
+
})]
|
|
37
|
+
});
|
|
38
|
+
};export{MarkdownNavigation};//# sourceMappingURL=MarkdownNavigation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownNavigation.js","sources":["../../../src/components/Markdown/MarkdownNavigation.tsx"],"sourcesContent":[null],"names":["_jsxs"],"mappings":"gOAMiB,GAAA,CAAA;kBACC;AACjB,EAAA,YAAA;AAED,EAAA,SAAU;AACN,EAAA;AACA,CAAA,KAAA;MACA,CAAA,gBAAmB,IAAA,CAAA,YAAA,EAAA;IACnB,OAAA,IAAA;AACH,EAAA;AAED,EAAA,OAAAA,IAAA,CAAO,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface Heading {
|
|
3
|
+
id: string;
|
|
4
|
+
text: string;
|
|
5
|
+
level: number;
|
|
6
|
+
}
|
|
7
|
+
export interface Markdown {
|
|
8
|
+
id: string;
|
|
9
|
+
title: string;
|
|
10
|
+
description: string;
|
|
11
|
+
slug: string;
|
|
12
|
+
author: string;
|
|
13
|
+
updatedAt: string;
|
|
14
|
+
categoryId: string;
|
|
15
|
+
content: string;
|
|
16
|
+
htmlContent: string;
|
|
17
|
+
headings: Heading[];
|
|
18
|
+
}
|
|
19
|
+
export interface NavigationItem {
|
|
20
|
+
categoryId: string;
|
|
21
|
+
slug: string;
|
|
22
|
+
title: string;
|
|
23
|
+
}
|
|
24
|
+
interface MarkdownPageProps {
|
|
25
|
+
article?: Markdown | null;
|
|
26
|
+
categoryId?: string;
|
|
27
|
+
categoryTitle?: string;
|
|
28
|
+
articleSlug?: string;
|
|
29
|
+
loadArticle?: (slug: string) => Promise<Markdown | null>;
|
|
30
|
+
previousMarkdown?: NavigationItem | null;
|
|
31
|
+
nextMarkdown?: NavigationItem | null;
|
|
32
|
+
getMarkdownLink: (categoryId: string, slug: string) => string;
|
|
33
|
+
getCategoryLink: (categoryId: string) => string;
|
|
34
|
+
getHelpCenterLink: () => string;
|
|
35
|
+
helpCenterLabel: string;
|
|
36
|
+
backToHelpCenterLabel?: string;
|
|
37
|
+
className?: string;
|
|
38
|
+
}
|
|
39
|
+
export declare const MarkdownPage: React.FC<MarkdownPageProps>;
|
|
40
|
+
export {};
|
|
41
|
+
//# sourceMappingURL=MarkdownPage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownPage.d.ts","sourceRoot":"","sources":["../../../src/components/Markdown/MarkdownPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAS3D,MAAM,WAAW,OAAO;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,iBAAiB;IACvB,OAAO,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACzD,gBAAgB,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACzC,YAAY,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACrC,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9D,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD,iBAAiB,EAAE,MAAM,MAAM,CAAC;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAwQpD,CAAC"}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import {jsx,jsxs}from'react/jsx-runtime';import {useState,useRef,useEffect}from'react';import {Link}from'@remix-run/react';import'../../utils/isBrowser/index.js';import {cn}from'../../utils/util.js';import'fast-deep-equal/react.js';import {MarkdownTableOfContents}from'./MarkdownTableOfContents.js';import {MarkdownNavigation}from'./MarkdownNavigation.js';import {MarkdownBreadcrumbs}from'./MarkdownBreadcrumbs.js';import {MarkdownCopyButton}from'./MarkdownCopyButton.js';const MarkdownPage = ({
|
|
2
|
+
article: articleProp,
|
|
3
|
+
categoryId: categoryIdProp,
|
|
4
|
+
categoryTitle: categoryTitleProp,
|
|
5
|
+
articleSlug,
|
|
6
|
+
loadArticle,
|
|
7
|
+
previousMarkdown: previousMarkdownProp,
|
|
8
|
+
nextMarkdown: nextMarkdownProp,
|
|
9
|
+
getMarkdownLink,
|
|
10
|
+
getCategoryLink,
|
|
11
|
+
getHelpCenterLink,
|
|
12
|
+
helpCenterLabel,
|
|
13
|
+
backToHelpCenterLabel,
|
|
14
|
+
className
|
|
15
|
+
}) => {
|
|
16
|
+
const [article, setArticle] = useState(articleProp || null);
|
|
17
|
+
const [loading, setLoading] = useState(!articleProp && !!articleSlug);
|
|
18
|
+
const [activeHeadingId, setActiveHeadingId] = useState('');
|
|
19
|
+
const observerRef = useRef(null);
|
|
20
|
+
const isScrollingRef = useRef(false);
|
|
21
|
+
const scrollTimeoutRef = useRef(null);
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
if (articleProp) {
|
|
24
|
+
setArticle(articleProp);
|
|
25
|
+
setLoading(false);
|
|
26
|
+
} else if (articleSlug && loadArticle) {
|
|
27
|
+
const loadContent = async () => {
|
|
28
|
+
const articleData = await loadArticle(articleSlug);
|
|
29
|
+
setArticle(articleData);
|
|
30
|
+
setLoading(false);
|
|
31
|
+
};
|
|
32
|
+
loadContent();
|
|
33
|
+
} else if (!articleProp && !articleSlug) {
|
|
34
|
+
setLoading(false);
|
|
35
|
+
}
|
|
36
|
+
}, [articleProp, articleSlug, loadArticle]);
|
|
37
|
+
// Scroll spy functionality
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
if (!article?.headings || article.headings.length === 0) return;
|
|
40
|
+
// Clean up previous observer
|
|
41
|
+
if (observerRef.current) {
|
|
42
|
+
observerRef.current.disconnect();
|
|
43
|
+
}
|
|
44
|
+
// Create new intersection observer
|
|
45
|
+
observerRef.current = new IntersectionObserver(entries => {
|
|
46
|
+
// Don't update if we're programmatically scrolling
|
|
47
|
+
if (isScrollingRef.current) return;
|
|
48
|
+
// Find the heading that's most visible in the viewport
|
|
49
|
+
const visibleEntries = entries.filter(entry => entry.isIntersecting);
|
|
50
|
+
if (visibleEntries.length === 0) return;
|
|
51
|
+
// Find the heading that's closest to the top of the viewport (within the top 30%)
|
|
52
|
+
// Prioritize headings that are in the upper portion of the viewport
|
|
53
|
+
let bestEntry = visibleEntries[0];
|
|
54
|
+
let bestScore = Infinity;
|
|
55
|
+
visibleEntries.forEach(entry => {
|
|
56
|
+
const rect = entry.boundingClientRect;
|
|
57
|
+
const viewportHeight = window.innerHeight;
|
|
58
|
+
const top30Percent = viewportHeight * 0.3;
|
|
59
|
+
// Calculate a score: lower is better
|
|
60
|
+
// Headings in the top 30% of viewport get priority
|
|
61
|
+
let score;
|
|
62
|
+
if (rect.top >= 0 && rect.top <= top30Percent) {
|
|
63
|
+
// Heading is in the top 30% - prioritize by distance from top
|
|
64
|
+
score = rect.top;
|
|
65
|
+
} else if (rect.top >= 0) {
|
|
66
|
+
// Heading is below top 30% but visible - lower priority
|
|
67
|
+
score = 1000 + rect.top;
|
|
68
|
+
} else {
|
|
69
|
+
// Heading is above viewport - lowest priority unless it's the only one
|
|
70
|
+
score = 2000 + Math.abs(rect.top);
|
|
71
|
+
}
|
|
72
|
+
if (score < bestScore) {
|
|
73
|
+
bestScore = score;
|
|
74
|
+
bestEntry = entry;
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
setActiveHeadingId(bestEntry.target.id);
|
|
78
|
+
}, {
|
|
79
|
+
rootMargin: '-10% 0px -70% 0px',
|
|
80
|
+
threshold: [0, 0.1, 0.5, 1]
|
|
81
|
+
});
|
|
82
|
+
// Observe all headings
|
|
83
|
+
article.headings.forEach(heading => {
|
|
84
|
+
const element = document.getElementById(heading.id);
|
|
85
|
+
if (element && observerRef.current) {
|
|
86
|
+
observerRef.current.observe(element);
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
// Cleanup function
|
|
90
|
+
return () => {
|
|
91
|
+
if (observerRef.current) {
|
|
92
|
+
observerRef.current.disconnect();
|
|
93
|
+
}
|
|
94
|
+
if (scrollTimeoutRef.current) {
|
|
95
|
+
clearTimeout(scrollTimeoutRef.current);
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
}, [article]);
|
|
99
|
+
if (loading) {
|
|
100
|
+
return jsx("div", {
|
|
101
|
+
className: "min-h-screen bg-background text-foreground overflow-x-hidden",
|
|
102
|
+
children: jsx("div", {
|
|
103
|
+
className: "w-full max-w-[90rem] mx-auto px-4 sm:px-6 lg:px-8 xl:px-16 py-16",
|
|
104
|
+
children: jsxs("div", {
|
|
105
|
+
className: "animate-pulse",
|
|
106
|
+
children: [jsx("div", {
|
|
107
|
+
className: "h-8 bg-muted rounded w-1/3 mb-4"
|
|
108
|
+
}), jsx("div", {
|
|
109
|
+
className: "h-4 bg-muted rounded w-1/2 mb-8"
|
|
110
|
+
}), jsxs("div", {
|
|
111
|
+
className: "space-y-4",
|
|
112
|
+
children: [jsx("div", {
|
|
113
|
+
className: "h-4 bg-muted rounded"
|
|
114
|
+
}), jsx("div", {
|
|
115
|
+
className: "h-4 bg-muted rounded w-5/6"
|
|
116
|
+
}), jsx("div", {
|
|
117
|
+
className: "h-4 bg-muted rounded w-4/6"
|
|
118
|
+
})]
|
|
119
|
+
})]
|
|
120
|
+
})
|
|
121
|
+
})
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
if (!article) {
|
|
125
|
+
return jsx("div", {
|
|
126
|
+
className: "min-h-screen bg-background text-foreground mt-20 overflow-x-hidden",
|
|
127
|
+
children: jsxs("div", {
|
|
128
|
+
className: "w-full max-w-[90rem] mx-auto px-4 sm:px-6 lg:px-8 xl:px-16 py-16",
|
|
129
|
+
children: [jsx("h1", {
|
|
130
|
+
className: "text-2xl font-bold",
|
|
131
|
+
children: "Article not found"
|
|
132
|
+
}), jsx(Link, {
|
|
133
|
+
to: getHelpCenterLink(),
|
|
134
|
+
className: "mt-4 text-primary hover:text-primary/80",
|
|
135
|
+
children: backToHelpCenterLabel || `← Back to ${helpCenterLabel}`
|
|
136
|
+
})]
|
|
137
|
+
})
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
// Use previous/next articles from props
|
|
141
|
+
const previousMarkdown = previousMarkdownProp;
|
|
142
|
+
const nextMarkdown = nextMarkdownProp;
|
|
143
|
+
return jsx("div", {
|
|
144
|
+
className: cn('min-h-screen bg-background text-foreground scroll-smooth overflow-x-hidden', className),
|
|
145
|
+
children: jsxs("div", {
|
|
146
|
+
className: "flex w-full justify-center gap-10",
|
|
147
|
+
children: [jsxs("div", {
|
|
148
|
+
className: "flex-1 max-w-3xl w-full",
|
|
149
|
+
children: [jsxs("div", {
|
|
150
|
+
className: "flex items-center justify-between",
|
|
151
|
+
children: [jsx(MarkdownBreadcrumbs, {
|
|
152
|
+
categoryId: article.categoryId || categoryIdProp || '',
|
|
153
|
+
categoryTitle: categoryTitleProp,
|
|
154
|
+
markdownTitle: article.title,
|
|
155
|
+
className: "pb-4",
|
|
156
|
+
getHelpCenterLink: getHelpCenterLink,
|
|
157
|
+
getCategoryLink: getCategoryLink,
|
|
158
|
+
helpCenterLabel: helpCenterLabel
|
|
159
|
+
}), jsx(MarkdownCopyButton, {
|
|
160
|
+
markdownTitle: article.title,
|
|
161
|
+
markdownContent: article.htmlContent,
|
|
162
|
+
className: "flex-shrink-0"
|
|
163
|
+
})]
|
|
164
|
+
}), jsx("main", {
|
|
165
|
+
className: "w-full py-2",
|
|
166
|
+
children: jsx("div", {
|
|
167
|
+
className: "max-w-[90rem] mx-auto px-4 sm:px-6 lg:px-8 xl:px-16 relative",
|
|
168
|
+
children: jsx("div", {
|
|
169
|
+
className: "flex flex-col xl:flex-row gap-12 xl:gap-16 align-start",
|
|
170
|
+
children: jsxs("div", {
|
|
171
|
+
className: "flex-1 min-w-0 max-w-5xl",
|
|
172
|
+
children: [jsx("div", {
|
|
173
|
+
className: "prose prose-lg max-w-none w-full overflow-x-hidden",
|
|
174
|
+
children: jsx("div", {
|
|
175
|
+
className: cn(
|
|
176
|
+
// Base prose styles
|
|
177
|
+
'prose-headings:font-semibold prose-headings:text-foreground prose-headings:tracking-tight',
|
|
178
|
+
// Body H1 styles (within article) - slightly smaller than page title
|
|
179
|
+
'prose-h1:text-[1.5rem] prose-h1:md:text-[1.75rem] prose-h1:mb-4 prose-h1:mt-5 prose-h1:leading-tight',
|
|
180
|
+
// H2 styles - strong section headings
|
|
181
|
+
'prose-h2:text-[1.2rem] prose-h2:md:text-[1.5rem] prose-h2:mb-4 prose-h2:mt-5 prose-h2:leading-tight',
|
|
182
|
+
// H3 styles - sub section headings
|
|
183
|
+
'prose-h3:text-[1.05rem] prose-h3:md:text-[1.25rem] prose-h3:mb-3 prose-h3:mt-4 prose-h3:leading-snug',
|
|
184
|
+
// H4 styles
|
|
185
|
+
'prose-h4:text-lg prose-h4:md:text-xl prose-h4:mb-3 prose-h4:mt-4',
|
|
186
|
+
// Paragraph styles
|
|
187
|
+
'prose-p:text-[0.85rem] prose-p:md:text-[0.95rem] prose-p:text-muted-foreground prose-p:leading-relaxed prose-p:mb-5',
|
|
188
|
+
// Strong text
|
|
189
|
+
'prose-strong:text-foreground prose-strong:font-semibold',
|
|
190
|
+
// Links
|
|
191
|
+
'prose-a:text-primary prose-a:no-underline hover:prose-a:underline prose-a:font-medium',
|
|
192
|
+
// Lists
|
|
193
|
+
'prose-ul:text-muted-foreground prose-ol:text-muted-foreground prose-li:text-muted-foreground prose-li:mb-2 prose-li:text-base prose-li:md:text-lg',
|
|
194
|
+
// Blockquotes
|
|
195
|
+
'prose-blockquote:text-muted-foreground prose-blockquote:border-l-primary prose-blockquote:pl-4 prose-blockquote:my-6',
|
|
196
|
+
// Code
|
|
197
|
+
'prose-code:text-foreground prose-code:bg-muted prose-code:px-1.5 prose-code:py-0.5 prose-code:rounded prose-code:text-sm prose-code:font-mono',
|
|
198
|
+
// Pre blocks
|
|
199
|
+
'prose-pre:bg-muted prose-pre:text-foreground prose-pre:overflow-x-auto prose-pre:rounded-lg prose-pre:p-4 prose-pre:my-6',
|
|
200
|
+
// Images
|
|
201
|
+
'prose-img:rounded-lg prose-img:my-8',
|
|
202
|
+
// Tables
|
|
203
|
+
'prose-table:text-muted-foreground prose-th:text-foreground prose-th:font-semibold',
|
|
204
|
+
// Horizontal rules
|
|
205
|
+
'prose-hr:border-border prose-hr:my-8'),
|
|
206
|
+
dangerouslySetInnerHTML: {
|
|
207
|
+
__html: article.htmlContent
|
|
208
|
+
}
|
|
209
|
+
})
|
|
210
|
+
}), jsx(MarkdownNavigation, {
|
|
211
|
+
previousMarkdown: previousMarkdown,
|
|
212
|
+
nextMarkdown: nextMarkdown,
|
|
213
|
+
getMarkdownLink: getMarkdownLink
|
|
214
|
+
})]
|
|
215
|
+
})
|
|
216
|
+
})
|
|
217
|
+
})
|
|
218
|
+
})]
|
|
219
|
+
}), jsx(MarkdownTableOfContents, {
|
|
220
|
+
headings: article.headings || [],
|
|
221
|
+
activeHeadingId: activeHeadingId,
|
|
222
|
+
onHeadingClick: headingId => {
|
|
223
|
+
// Set scrolling flag to prevent observer from overriding
|
|
224
|
+
isScrollingRef.current = true;
|
|
225
|
+
setActiveHeadingId(headingId);
|
|
226
|
+
// Clear any existing timeout
|
|
227
|
+
if (scrollTimeoutRef.current) {
|
|
228
|
+
clearTimeout(scrollTimeoutRef.current);
|
|
229
|
+
}
|
|
230
|
+
// Re-enable observer after scroll completes (smooth scroll takes ~500ms)
|
|
231
|
+
scrollTimeoutRef.current = setTimeout(() => {
|
|
232
|
+
isScrollingRef.current = false;
|
|
233
|
+
}, 800);
|
|
234
|
+
}
|
|
235
|
+
})]
|
|
236
|
+
})
|
|
237
|
+
});
|
|
238
|
+
};export{MarkdownPage};//# sourceMappingURL=MarkdownPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownPage.js","sources":["../../../src/components/Markdown/MarkdownPage.tsx"],"sourcesContent":[null],"names":[],"mappings":"wdAkBI,MAAA,YAAoB,GAAA,CAAA;SAChB,aAAS;YACL,gBAAO;eACJ,mBAAO;aAClB;aACS;wCACW;cACV,EAAA,gBAAU;AACvB,EAAA,eAAA;AAED,EAAA,eAAiB;;iBAEA;uBACC;AACjB,EAAA;AAED,CAAA,KAAA;AACI,EAAA,MAAA,CAAA,OAAU,EAAA,WAAe,GAAC,QAAA,CAAA,WAAA,IAAA,IAAA,CAAA;QAC1B,CAAA,OAAW,EAAE,UAAO,CAAA,GAAA,QAAA,CAAA,CAAA,WAAA,IAAA,CAAA,CAAA,WAAA,CAAA;QACpB,CAAA,eAAgB,EAAM,kBAAC,CAAA,GAAA,QAAA,CAAA,EAAA,CAAA;QACvB,WAAc,GAAA,MAAO,CAAA,IAAA,CAAA;AACrB,EAAA,MAAA,cAAe,GAAM,MAAM,CAAA,KAAK,CAAA;AAChC,EAAA,MAAA,gBAAmB,GAAA,MAAA,CAAA,IAAc,CAAA;AACjC,EAAA,SAAA,CAAA,MAAa;IACb,IAAA,WAAe,EAAE;AACjB,MAAA,UAAA,CAAA,WAAkB,CAAA;MAClB,UAAA,CAAA,KAAiB,CAAE;IACnB,CAAA,MAAA,IAAA,eAAwB,WAAA,EAAA;MACxB,MAAA,WAAA,GAAsB,YAAS;QAC/B,MAAU,WAAS,GAAA,MAAA,WAAA,CAAA,WAAA,CAAA;AACtB,QAAA,UAAA,CAAA,WAAA,CAAA;AAED,QAAA,UAAO,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface Heading {
|
|
3
|
+
id: string;
|
|
4
|
+
text: string;
|
|
5
|
+
level: number;
|
|
6
|
+
}
|
|
7
|
+
interface MarkdownTableOfContentsProps {
|
|
8
|
+
headings: Heading[];
|
|
9
|
+
activeHeadingId: string;
|
|
10
|
+
onHeadingClick?: (headingId: string) => void;
|
|
11
|
+
className?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare const MarkdownTableOfContents: React.FC<MarkdownTableOfContentsProps>;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=MarkdownTableOfContents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownTableOfContents.d.ts","sourceRoot":"","sources":["../../../src/components/Markdown/MarkdownTableOfContents.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,OAAO;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,4BAA4B;IAClC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,4BAA4B,CA6E1E,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import {jsx,jsxs}from'react/jsx-runtime';import {Link}from'@remix-run/react';import'../../utils/isBrowser/index.js';import {cn}from'../../utils/util.js';import'react';import'fast-deep-equal/react.js';const MarkdownTableOfContents = ({
|
|
2
|
+
headings,
|
|
3
|
+
activeHeadingId,
|
|
4
|
+
onHeadingClick,
|
|
5
|
+
className
|
|
6
|
+
}) => {
|
|
7
|
+
if (!headings || headings.length === 0) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
const handleClick = headingId => {
|
|
11
|
+
// Immediately set the active heading when clicked
|
|
12
|
+
if (onHeadingClick) {
|
|
13
|
+
onHeadingClick(headingId);
|
|
14
|
+
}
|
|
15
|
+
// Smooth scroll to the heading with proper offset
|
|
16
|
+
const element = document.getElementById(headingId);
|
|
17
|
+
if (element) {
|
|
18
|
+
// Calculate the position with offset for header
|
|
19
|
+
const elementPosition = element.getBoundingClientRect().top + window.pageYOffset;
|
|
20
|
+
const offsetPosition = elementPosition - 100; // 100px offset from top
|
|
21
|
+
window.scrollTo({
|
|
22
|
+
top: offsetPosition,
|
|
23
|
+
behavior: 'smooth'
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
return jsx("aside", {
|
|
28
|
+
className: "hidden xl:block xl:w-80 xl:flex-shrink-0 max-w-[28rem]",
|
|
29
|
+
children: jsxs("div", {
|
|
30
|
+
className: "fixed flex flex-col h-[calc(100vh-3rem)] w-[19rem]",
|
|
31
|
+
children: [jsx("div", {
|
|
32
|
+
className: "mb-4 flex-shrink-0",
|
|
33
|
+
children: jsxs("h2", {
|
|
34
|
+
className: "text-sm font-semibold text-primary flex items-center",
|
|
35
|
+
children: [jsx("span", {
|
|
36
|
+
className: "mr-2",
|
|
37
|
+
children: "\u2630"
|
|
38
|
+
}), "On this page"]
|
|
39
|
+
})
|
|
40
|
+
}), jsx("nav", {
|
|
41
|
+
className: "space-y-1 flex-1 overflow-y-auto overflow-x-hidden min-h-0",
|
|
42
|
+
children: headings.map((heading, index) => {
|
|
43
|
+
const isActive = activeHeadingId === heading.id;
|
|
44
|
+
return jsx(Link, {
|
|
45
|
+
to: `#${heading.id}`,
|
|
46
|
+
onClick: e => {
|
|
47
|
+
e.preventDefault();
|
|
48
|
+
handleClick(heading.id);
|
|
49
|
+
},
|
|
50
|
+
className: cn('relative block text-sm transition-colors py-1 pl-4', 'border-l-2 border-transparent', isActive ? 'text-primary border-l-primary bg-muted/20' : 'text-muted-foreground hover:text-primary hover:border-l-primary', heading.level === 1 ? 'font-semibold' : heading.level === 2 ? 'ml-2' : heading.level === 3 ? 'ml-4' : heading.level === 4 ? 'ml-6' : heading.level === 5 ? 'ml-8' : 'ml-10'),
|
|
51
|
+
children: heading.text
|
|
52
|
+
}, index);
|
|
53
|
+
})
|
|
54
|
+
})]
|
|
55
|
+
})
|
|
56
|
+
});
|
|
57
|
+
};export{MarkdownTableOfContents};//# sourceMappingURL=MarkdownTableOfContents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownTableOfContents.js","sources":["../../../src/components/Markdown/MarkdownTableOfContents.tsx"],"sourcesContent":[null],"names":[],"mappings":"qOAMiB,GAAA,CAAA;UACR;AACR,EAAA,eAAA;AAED,EAAA,cAAU;;MAEN;MACA,CAAA,QAAA,IAAe,QAAG,CAAA,MAAW,KAAM,CAAA,EAAA;IACnC,OAAA,IAAU;AACb,EAAA;AAED,EAAA,MAAA,WAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './MarkdownBreadcrumbs';
|
|
2
|
+
export * from './MarkdownCopyButton';
|
|
3
|
+
export * from './MarkdownHeader';
|
|
4
|
+
export * from './MarkdownNavigation';
|
|
5
|
+
export * from './MarkdownPage';
|
|
6
|
+
export * from './MarkdownTableOfContents';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Markdown/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React__default from'react';import {useOTPInput}from'./hooks.js';import {SingleInput}from'./SingleInput.js';import {getPlaceholderValue,isInputNumeric}from'./utils.js';const OTPInput = ({
|
|
1
|
+
import {jsx,jsxs}from'react/jsx-runtime';import React__default from'react';import {useOTPInput}from'./hooks.js';import {SingleInput}from'./SingleInput.js';import {getPlaceholderValue,isInputNumeric}from'./utils.js';const OTPInput = ({
|
|
2
2
|
value = '',
|
|
3
3
|
numInputs = 4,
|
|
4
4
|
onChange,
|
|
@@ -23,7 +23,7 @@ import React__default from'react';import {useOTPInput}from'./hooks.js';import {S
|
|
|
23
23
|
handlePaste
|
|
24
24
|
}, inputRefs] = useOTPInput(value, numInputs, onChange, inputType, shouldAutoFocus);
|
|
25
25
|
// Create default input renderer if not provided
|
|
26
|
-
const defaultRenderInput = (props, index) =>
|
|
26
|
+
const defaultRenderInput = (props, index) => jsx(SingleInput, {
|
|
27
27
|
...props,
|
|
28
28
|
focused: activeInput === index
|
|
29
29
|
});
|
|
@@ -47,34 +47,36 @@ import React__default from'react';import {useOTPInput}from'./hooks.js';import {S
|
|
|
47
47
|
// Let the hook handle the paste logic
|
|
48
48
|
handlePaste(e);
|
|
49
49
|
};
|
|
50
|
-
return
|
|
50
|
+
return jsx("div", {
|
|
51
51
|
className: `flex items-center justify-center space-x-2 md:space-x-4 ${containerClassName || ''}`,
|
|
52
52
|
onPaste: handleComponentPaste,
|
|
53
|
-
"data-testid": "otp-input-container"
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
53
|
+
"data-testid": "otp-input-container",
|
|
54
|
+
children: Array.from({
|
|
55
|
+
length: numInputs
|
|
56
|
+
}, (_, index) => jsxs(React__default.Fragment, {
|
|
57
|
+
children: [inputRenderer({
|
|
58
|
+
value: otp[index] || '',
|
|
59
|
+
placeholder: placeholderValue?.[index],
|
|
60
|
+
ref: element => {
|
|
61
|
+
if (inputRefs.current) {
|
|
62
|
+
inputRefs.current[index] = element;
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
onChange: handleChange,
|
|
66
|
+
onFocus: event => handleFocus(event)(index),
|
|
67
|
+
onBlur: handleBlur,
|
|
68
|
+
onKeyDown: handleKeyDown,
|
|
69
|
+
onPaste: handlePaste,
|
|
70
|
+
autoComplete: 'off',
|
|
71
|
+
'aria-label': `Please enter OTP character ${index + 1}`,
|
|
72
|
+
className: skipDefaultStyles ? inputClassName || '' : `${inputClassName || ''}`,
|
|
73
|
+
type: inputType,
|
|
74
|
+
inputMode: isInputNum ? 'numeric' : 'text',
|
|
75
|
+
onInput: handleInputChange
|
|
76
|
+
}, index), index < numInputs - 1 && (typeof renderSeparator === 'function' ? renderSeparator(index) : renderSeparator || jsx("span", {
|
|
77
|
+
className: "text-gray-400",
|
|
78
|
+
children: "-"
|
|
79
|
+
}))]
|
|
80
|
+
}, index))
|
|
81
|
+
});
|
|
80
82
|
};export{OTPInput};//# sourceMappingURL=OTPInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OTPInput.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OTPInput.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|