@smart-coder-labs/apple-design-system 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +442 -0
- package/dist/cli/commands/add.d.ts +2 -0
- package/dist/cli/commands/add.d.ts.map +1 -0
- package/dist/cli/commands/add.js +102 -0
- package/dist/cli/commands/add.js.map +1 -0
- package/dist/cli/commands/init.d.ts +2 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +73 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +20 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/utils/registry.d.ts +4 -0
- package/dist/cli/utils/registry.d.ts.map +1 -0
- package/dist/cli/utils/registry.js +52 -0
- package/dist/cli/utils/registry.js.map +1 -0
- package/dist/components/AIThinkingIndicator.d.ts +10 -0
- package/dist/components/AIThinkingIndicator.d.ts.map +1 -0
- package/dist/components/AIThinkingIndicator.js +60 -0
- package/dist/components/AIThinkingIndicator.js.map +1 -0
- package/dist/components/Accordion.d.ts +27 -0
- package/dist/components/Accordion.d.ts.map +1 -0
- package/dist/components/Accordion.js +123 -0
- package/dist/components/Accordion.js.map +1 -0
- package/dist/components/ActivityFeed.d.ts +26 -0
- package/dist/components/ActivityFeed.d.ts.map +1 -0
- package/dist/components/ActivityFeed.js +55 -0
- package/dist/components/ActivityFeed.js.map +1 -0
- package/dist/components/ActivityMonitor.d.ts +38 -0
- package/dist/components/ActivityMonitor.d.ts.map +1 -0
- package/dist/components/ActivityMonitor.js +164 -0
- package/dist/components/ActivityMonitor.js.map +1 -0
- package/dist/components/AddressSelector.d.ts +23 -0
- package/dist/components/AddressSelector.d.ts.map +1 -0
- package/dist/components/AddressSelector.js +145 -0
- package/dist/components/AddressSelector.js.map +1 -0
- package/dist/components/AgendaView.d.ts +11 -0
- package/dist/components/AgendaView.d.ts.map +1 -0
- package/dist/components/AgendaView.js +47 -0
- package/dist/components/AgendaView.js.map +1 -0
- package/dist/components/Alert.d.ts +9 -0
- package/dist/components/Alert.d.ts.map +1 -0
- package/dist/components/Alert.js +38 -0
- package/dist/components/Alert.js.map +1 -0
- package/dist/components/AudioPlayer.d.ts +11 -0
- package/dist/components/AudioPlayer.d.ts.map +1 -0
- package/dist/components/AudioPlayer.js +116 -0
- package/dist/components/AudioPlayer.js.map +1 -0
- package/dist/components/Avatar.d.ts +17 -0
- package/dist/components/Avatar.d.ts.map +1 -0
- package/dist/components/Avatar.js +74 -0
- package/dist/components/Avatar.js.map +1 -0
- package/dist/components/AvatarGroup.d.ts +15 -0
- package/dist/components/AvatarGroup.d.ts.map +1 -0
- package/dist/components/AvatarGroup.js +28 -0
- package/dist/components/AvatarGroup.js.map +1 -0
- package/dist/components/Badge.d.ts +21 -0
- package/dist/components/Badge.d.ts.map +1 -0
- package/dist/components/Badge.js +103 -0
- package/dist/components/Badge.js.map +1 -0
- package/dist/components/BarcodeGenerator.d.ts +18 -0
- package/dist/components/BarcodeGenerator.d.ts.map +1 -0
- package/dist/components/BarcodeGenerator.js +64 -0
- package/dist/components/BarcodeGenerator.js.map +1 -0
- package/dist/components/Blockquote.d.ts +9 -0
- package/dist/components/Blockquote.d.ts.map +1 -0
- package/dist/components/Blockquote.js +8 -0
- package/dist/components/Blockquote.js.map +1 -0
- package/dist/components/BottomNavigation.d.ts +21 -0
- package/dist/components/BottomNavigation.d.ts.map +1 -0
- package/dist/components/BottomNavigation.js +77 -0
- package/dist/components/BottomNavigation.js.map +1 -0
- package/dist/components/Breadcrumb.d.ts +20 -0
- package/dist/components/Breadcrumb.d.ts.map +1 -0
- package/dist/components/Breadcrumb.js +24 -0
- package/dist/components/Breadcrumb.js.map +1 -0
- package/dist/components/BreadcrumbTabsHybrid.d.ts +25 -0
- package/dist/components/BreadcrumbTabsHybrid.d.ts.map +1 -0
- package/dist/components/BreadcrumbTabsHybrid.js +58 -0
- package/dist/components/BreadcrumbTabsHybrid.js.map +1 -0
- package/dist/components/Button.d.ts +14 -0
- package/dist/components/Button.d.ts.map +1 -0
- package/dist/components/Button.js +91 -0
- package/dist/components/Button.js.map +1 -0
- package/dist/components/ButtonWithDropdown.d.ts +19 -0
- package/dist/components/ButtonWithDropdown.d.ts.map +1 -0
- package/dist/components/ButtonWithDropdown.js +33 -0
- package/dist/components/ButtonWithDropdown.js.map +1 -0
- package/dist/components/Calendar.d.ts +28 -0
- package/dist/components/Calendar.d.ts.map +1 -0
- package/dist/components/Calendar.js +365 -0
- package/dist/components/Calendar.js.map +1 -0
- package/dist/components/Callout.d.ts +11 -0
- package/dist/components/Callout.d.ts.map +1 -0
- package/dist/components/Callout.js +35 -0
- package/dist/components/Callout.js.map +1 -0
- package/dist/components/Caption.d.ts +6 -0
- package/dist/components/Caption.d.ts.map +1 -0
- package/dist/components/Caption.js +7 -0
- package/dist/components/Caption.js.map +1 -0
- package/dist/components/Card.d.ts +30 -0
- package/dist/components/Card.d.ts.map +1 -0
- package/dist/components/Card.js +72 -0
- package/dist/components/Card.js.map +1 -0
- package/dist/components/CartPreview.d.ts +28 -0
- package/dist/components/CartPreview.d.ts.map +1 -0
- package/dist/components/CartPreview.js +80 -0
- package/dist/components/CartPreview.js.map +1 -0
- package/dist/components/Chart.d.ts +19 -0
- package/dist/components/Chart.d.ts.map +1 -0
- package/dist/components/Chart.js +46 -0
- package/dist/components/Chart.js.map +1 -0
- package/dist/components/ChatBubble.d.ts +19 -0
- package/dist/components/ChatBubble.d.ts.map +1 -0
- package/dist/components/ChatBubble.js +27 -0
- package/dist/components/ChatBubble.js.map +1 -0
- package/dist/components/ChatInput.d.ts +22 -0
- package/dist/components/ChatInput.d.ts.map +1 -0
- package/dist/components/ChatInput.js +115 -0
- package/dist/components/ChatInput.js.map +1 -0
- package/dist/components/Checkbox.d.ts +10 -0
- package/dist/components/Checkbox.d.ts.map +1 -0
- package/dist/components/Checkbox.js +35 -0
- package/dist/components/Checkbox.js.map +1 -0
- package/dist/components/Chip.d.ts +14 -0
- package/dist/components/Chip.d.ts.map +1 -0
- package/dist/components/Chip.js +43 -0
- package/dist/components/Chip.js.map +1 -0
- package/dist/components/CodeBlock.d.ts +9 -0
- package/dist/components/CodeBlock.d.ts.map +1 -0
- package/dist/components/CodeBlock.js +16 -0
- package/dist/components/CodeBlock.js.map +1 -0
- package/dist/components/Collapsible.d.ts +19 -0
- package/dist/components/Collapsible.d.ts.map +1 -0
- package/dist/components/Collapsible.js +42 -0
- package/dist/components/Collapsible.js.map +1 -0
- package/dist/components/Combobox.d.ts +17 -0
- package/dist/components/Combobox.d.ts.map +1 -0
- package/dist/components/Combobox.js +114 -0
- package/dist/components/Combobox.js.map +1 -0
- package/dist/components/CommandMenu.d.ts +36 -0
- package/dist/components/CommandMenu.d.ts.map +1 -0
- package/dist/components/CommandMenu.js +102 -0
- package/dist/components/CommandMenu.js.map +1 -0
- package/dist/components/CommentThread.d.ts +28 -0
- package/dist/components/CommentThread.d.ts.map +1 -0
- package/dist/components/CommentThread.js +66 -0
- package/dist/components/CommentThread.js.map +1 -0
- package/dist/components/ConfirmDialog.d.ts +27 -0
- package/dist/components/ConfirmDialog.d.ts.map +1 -0
- package/dist/components/ConfirmDialog.js +62 -0
- package/dist/components/ConfirmDialog.js.map +1 -0
- package/dist/components/ContextMenu.d.ts +85 -0
- package/dist/components/ContextMenu.d.ts.map +1 -0
- package/dist/components/ContextMenu.js +191 -0
- package/dist/components/ContextMenu.js.map +1 -0
- package/dist/components/ControlCenterToggles.d.ts +18 -0
- package/dist/components/ControlCenterToggles.d.ts.map +1 -0
- package/dist/components/ControlCenterToggles.js +14 -0
- package/dist/components/ControlCenterToggles.js.map +1 -0
- package/dist/components/Counters.d.ts +16 -0
- package/dist/components/Counters.d.ts.map +1 -0
- package/dist/components/Counters.js +9 -0
- package/dist/components/Counters.js.map +1 -0
- package/dist/components/CountersListWithChart.d.ts +15 -0
- package/dist/components/CountersListWithChart.d.ts.map +1 -0
- package/dist/components/CountersListWithChart.js +22 -0
- package/dist/components/CountersListWithChart.js.map +1 -0
- package/dist/components/DataGrid.d.ts +38 -0
- package/dist/components/DataGrid.d.ts.map +1 -0
- package/dist/components/DataGrid.js +271 -0
- package/dist/components/DataGrid.js.map +1 -0
- package/dist/components/DatePicker.d.ts +17 -0
- package/dist/components/DatePicker.d.ts.map +1 -0
- package/dist/components/DatePicker.js +248 -0
- package/dist/components/DatePicker.js.map +1 -0
- package/dist/components/DateRangePicker.d.ts +21 -0
- package/dist/components/DateRangePicker.d.ts.map +1 -0
- package/dist/components/DateRangePicker.js +213 -0
- package/dist/components/DateRangePicker.js.map +1 -0
- package/dist/components/DefinitionList.d.ts +21 -0
- package/dist/components/DefinitionList.d.ts.map +1 -0
- package/dist/components/DefinitionList.js +44 -0
- package/dist/components/DefinitionList.js.map +1 -0
- package/dist/components/DescriptionBlock.d.ts +36 -0
- package/dist/components/DescriptionBlock.d.ts.map +1 -0
- package/dist/components/DescriptionBlock.js +27 -0
- package/dist/components/DescriptionBlock.js.map +1 -0
- package/dist/components/DeviceList.d.ts +24 -0
- package/dist/components/DeviceList.d.ts.map +1 -0
- package/dist/components/DeviceList.js +46 -0
- package/dist/components/DeviceList.js.map +1 -0
- package/dist/components/DiffViewer.d.ts +13 -0
- package/dist/components/DiffViewer.d.ts.map +1 -0
- package/dist/components/DiffViewer.js +93 -0
- package/dist/components/DiffViewer.js.map +1 -0
- package/dist/components/Divider.d.ts +28 -0
- package/dist/components/Divider.d.ts.map +1 -0
- package/dist/components/Divider.js +16 -0
- package/dist/components/Divider.js.map +1 -0
- package/dist/components/DockBar.d.ts +29 -0
- package/dist/components/DockBar.d.ts.map +1 -0
- package/dist/components/DockBar.js +64 -0
- package/dist/components/DockBar.js.map +1 -0
- package/dist/components/EmptyState.d.ts +25 -0
- package/dist/components/EmptyState.d.ts.map +1 -0
- package/dist/components/EmptyState.js +20 -0
- package/dist/components/EmptyState.js.map +1 -0
- package/dist/components/ErrorBoundary.d.ts +24 -0
- package/dist/components/ErrorBoundary.d.ts.map +1 -0
- package/dist/components/ErrorBoundary.js +55 -0
- package/dist/components/ErrorBoundary.js.map +1 -0
- package/dist/components/FAB.d.ts +15 -0
- package/dist/components/FAB.d.ts.map +1 -0
- package/dist/components/FAB.js +46 -0
- package/dist/components/FAB.js.map +1 -0
- package/dist/components/FABGroup.d.ts +15 -0
- package/dist/components/FABGroup.d.ts.map +1 -0
- package/dist/components/FABGroup.js +47 -0
- package/dist/components/FABGroup.js.map +1 -0
- package/dist/components/FileIntelligencePreview.d.ts +25 -0
- package/dist/components/FileIntelligencePreview.d.ts.map +1 -0
- package/dist/components/FileIntelligencePreview.js +66 -0
- package/dist/components/FileIntelligencePreview.js.map +1 -0
- package/dist/components/FileUpload.d.ts +13 -0
- package/dist/components/FileUpload.d.ts.map +1 -0
- package/dist/components/FileUpload.js +107 -0
- package/dist/components/FileUpload.js.map +1 -0
- package/dist/components/FilterBar.d.ts +35 -0
- package/dist/components/FilterBar.d.ts.map +1 -0
- package/dist/components/FilterBar.js +79 -0
- package/dist/components/FilterBar.js.map +1 -0
- package/dist/components/FloatingToolbar.d.ts +24 -0
- package/dist/components/FloatingToolbar.d.ts.map +1 -0
- package/dist/components/FloatingToolbar.js +180 -0
- package/dist/components/FloatingToolbar.js.map +1 -0
- package/dist/components/Footer.d.ts +32 -0
- package/dist/components/Footer.d.ts.map +1 -0
- package/dist/components/Footer.js +31 -0
- package/dist/components/Footer.js.map +1 -0
- package/dist/components/Gallery.d.ts +11 -0
- package/dist/components/Gallery.d.ts.map +1 -0
- package/dist/components/Gallery.js +32 -0
- package/dist/components/Gallery.js.map +1 -0
- package/dist/components/GestureCard.d.ts +12 -0
- package/dist/components/GestureCard.d.ts.map +1 -0
- package/dist/components/GestureCard.js +58 -0
- package/dist/components/GestureCard.js.map +1 -0
- package/dist/components/GridSystem.d.ts +72 -0
- package/dist/components/GridSystem.d.ts.map +1 -0
- package/dist/components/GridSystem.js +65 -0
- package/dist/components/GridSystem.js.map +1 -0
- package/dist/components/HamburgerMenuIcon.d.ts +24 -0
- package/dist/components/HamburgerMenuIcon.d.ts.map +1 -0
- package/dist/components/HamburgerMenuIcon.js +44 -0
- package/dist/components/HamburgerMenuIcon.js.map +1 -0
- package/dist/components/HapticButton.d.ts +23 -0
- package/dist/components/HapticButton.d.ts.map +1 -0
- package/dist/components/HapticButton.js +104 -0
- package/dist/components/HapticButton.js.map +1 -0
- package/dist/components/Heading.d.ts +6 -0
- package/dist/components/Heading.d.ts.map +1 -0
- package/dist/components/Heading.js +7 -0
- package/dist/components/Heading.js.map +1 -0
- package/dist/components/IconButton.d.ts +14 -0
- package/dist/components/IconButton.d.ts.map +1 -0
- package/dist/components/IconButton.js +39 -0
- package/dist/components/IconButton.js.map +1 -0
- package/dist/components/ImageCarousel.d.ts +18 -0
- package/dist/components/ImageCarousel.d.ts.map +1 -0
- package/dist/components/ImageCarousel.js +74 -0
- package/dist/components/ImageCarousel.js.map +1 -0
- package/dist/components/ImageCropper.d.ts +10 -0
- package/dist/components/ImageCropper.d.ts.map +1 -0
- package/dist/components/ImageCropper.js +138 -0
- package/dist/components/ImageCropper.js.map +1 -0
- package/dist/components/Input.d.ts +18 -0
- package/dist/components/Input.d.ts.map +1 -0
- package/dist/components/Input.js +117 -0
- package/dist/components/Input.js.map +1 -0
- package/dist/components/InspectorPanel.d.ts +18 -0
- package/dist/components/InspectorPanel.d.ts.map +1 -0
- package/dist/components/InspectorPanel.js +33 -0
- package/dist/components/InspectorPanel.js.map +1 -0
- package/dist/components/InvoicePreview.d.ts +41 -0
- package/dist/components/InvoicePreview.d.ts.map +1 -0
- package/dist/components/InvoicePreview.js +106 -0
- package/dist/components/InvoicePreview.js.map +1 -0
- package/dist/components/JsonViewer.d.ts +17 -0
- package/dist/components/JsonViewer.d.ts.map +1 -0
- package/dist/components/JsonViewer.js +58 -0
- package/dist/components/JsonViewer.js.map +1 -0
- package/dist/components/KPIBlock.d.ts +23 -0
- package/dist/components/KPIBlock.d.ts.map +1 -0
- package/dist/components/KPIBlock.js +82 -0
- package/dist/components/KPIBlock.js.map +1 -0
- package/dist/components/KanbanBoard.d.ts +34 -0
- package/dist/components/KanbanBoard.d.ts.map +1 -0
- package/dist/components/KanbanBoard.js +296 -0
- package/dist/components/KanbanBoard.js.map +1 -0
- package/dist/components/KeyValueInfo.d.ts +28 -0
- package/dist/components/KeyValueInfo.d.ts.map +1 -0
- package/dist/components/KeyValueInfo.js +80 -0
- package/dist/components/KeyValueInfo.js.map +1 -0
- package/dist/components/Label.d.ts +8 -0
- package/dist/components/Label.d.ts.map +1 -0
- package/dist/components/Label.js +9 -0
- package/dist/components/Label.js.map +1 -0
- package/dist/components/Layout.d.ts +16 -0
- package/dist/components/Layout.d.ts.map +1 -0
- package/dist/components/Layout.js +26 -0
- package/dist/components/Layout.js.map +1 -0
- package/dist/components/Lightbox.d.ts +18 -0
- package/dist/components/Lightbox.d.ts.map +1 -0
- package/dist/components/Lightbox.js +60 -0
- package/dist/components/Lightbox.js.map +1 -0
- package/dist/components/LoadingOverlay.d.ts +32 -0
- package/dist/components/LoadingOverlay.d.ts.map +1 -0
- package/dist/components/LoadingOverlay.js +10 -0
- package/dist/components/LoadingOverlay.js.map +1 -0
- package/dist/components/LoginForm.d.ts +14 -0
- package/dist/components/LoginForm.d.ts.map +1 -0
- package/dist/components/LoginForm.js +36 -0
- package/dist/components/LoginForm.js.map +1 -0
- package/dist/components/MaintenanceMode.d.ts +41 -0
- package/dist/components/MaintenanceMode.d.ts.map +1 -0
- package/dist/components/MaintenanceMode.js +21 -0
- package/dist/components/MaintenanceMode.js.map +1 -0
- package/dist/components/MarkdownEditor.d.ts +14 -0
- package/dist/components/MarkdownEditor.d.ts.map +1 -0
- package/dist/components/MarkdownEditor.js +55 -0
- package/dist/components/MarkdownEditor.js.map +1 -0
- package/dist/components/MasonryLayout.d.ts +31 -0
- package/dist/components/MasonryLayout.d.ts.map +1 -0
- package/dist/components/MasonryLayout.js +17 -0
- package/dist/components/MasonryLayout.js.map +1 -0
- package/dist/components/MenuBar.d.ts +34 -0
- package/dist/components/MenuBar.d.ts.map +1 -0
- package/dist/components/MenuBar.js +66 -0
- package/dist/components/MenuBar.js.map +1 -0
- package/dist/components/MessageReactions.d.ts +22 -0
- package/dist/components/MessageReactions.d.ts.map +1 -0
- package/dist/components/MessageReactions.js +37 -0
- package/dist/components/MessageReactions.js.map +1 -0
- package/dist/components/Modal.d.ts +37 -0
- package/dist/components/Modal.d.ts.map +1 -0
- package/dist/components/Modal.js +93 -0
- package/dist/components/Modal.js.map +1 -0
- package/dist/components/ModalStackManager.d.ts +34 -0
- package/dist/components/ModalStackManager.d.ts.map +1 -0
- package/dist/components/ModalStackManager.js +52 -0
- package/dist/components/ModalStackManager.js.map +1 -0
- package/dist/components/MultiFileUpload.d.ts +15 -0
- package/dist/components/MultiFileUpload.d.ts.map +1 -0
- package/dist/components/MultiFileUpload.js +138 -0
- package/dist/components/MultiFileUpload.js.map +1 -0
- package/dist/components/NavBar.d.ts +30 -0
- package/dist/components/NavBar.d.ts.map +1 -0
- package/dist/components/NavBar.js +80 -0
- package/dist/components/NavBar.js.map +1 -0
- package/dist/components/NavigationDrawer.d.ts +48 -0
- package/dist/components/NavigationDrawer.d.ts.map +1 -0
- package/dist/components/NavigationDrawer.js +95 -0
- package/dist/components/NavigationDrawer.js.map +1 -0
- package/dist/components/NotificationCenterPanel.d.ts +25 -0
- package/dist/components/NotificationCenterPanel.d.ts.map +1 -0
- package/dist/components/NotificationCenterPanel.js +50 -0
- package/dist/components/NotificationCenterPanel.js.map +1 -0
- package/dist/components/OTPInput.d.ts +15 -0
- package/dist/components/OTPInput.d.ts.map +1 -0
- package/dist/components/OTPInput.js +144 -0
- package/dist/components/OTPInput.js.map +1 -0
- package/dist/components/OfflineState.d.ts +36 -0
- package/dist/components/OfflineState.d.ts.map +1 -0
- package/dist/components/OfflineState.js +21 -0
- package/dist/components/OfflineState.js.map +1 -0
- package/dist/components/OrderSummary.d.ts +19 -0
- package/dist/components/OrderSummary.d.ts.map +1 -0
- package/dist/components/OrderSummary.js +8 -0
- package/dist/components/OrderSummary.js.map +1 -0
- package/dist/components/Pagination.d.ts +28 -0
- package/dist/components/Pagination.d.ts.map +1 -0
- package/dist/components/Pagination.js +119 -0
- package/dist/components/Pagination.js.map +1 -0
- package/dist/components/Panel.d.ts +14 -0
- package/dist/components/Panel.d.ts.map +1 -0
- package/dist/components/Panel.js +27 -0
- package/dist/components/Panel.js.map +1 -0
- package/dist/components/Paragraph.d.ts +6 -0
- package/dist/components/Paragraph.d.ts.map +1 -0
- package/dist/components/Paragraph.js +7 -0
- package/dist/components/Paragraph.js.map +1 -0
- package/dist/components/PasswordInput.d.ts +16 -0
- package/dist/components/PasswordInput.d.ts.map +1 -0
- package/dist/components/PasswordInput.js +66 -0
- package/dist/components/PasswordInput.js.map +1 -0
- package/dist/components/PaymentMethodSelector.d.ts +22 -0
- package/dist/components/PaymentMethodSelector.d.ts.map +1 -0
- package/dist/components/PaymentMethodSelector.js +24 -0
- package/dist/components/PaymentMethodSelector.js.map +1 -0
- package/dist/components/PermissionsMatrix.d.ts +23 -0
- package/dist/components/PermissionsMatrix.d.ts.map +1 -0
- package/dist/components/PermissionsMatrix.js +52 -0
- package/dist/components/PermissionsMatrix.js.map +1 -0
- package/dist/components/Popover.d.ts +19 -0
- package/dist/components/Popover.d.ts.map +1 -0
- package/dist/components/Popover.js +159 -0
- package/dist/components/Popover.js.map +1 -0
- package/dist/components/PriceDisplay.d.ts +18 -0
- package/dist/components/PriceDisplay.d.ts.map +1 -0
- package/dist/components/PriceDisplay.js +37 -0
- package/dist/components/PriceDisplay.js.map +1 -0
- package/dist/components/ProductCard.d.ts +30 -0
- package/dist/components/ProductCard.d.ts.map +1 -0
- package/dist/components/ProductCard.js +73 -0
- package/dist/components/ProductCard.js.map +1 -0
- package/dist/components/Progress.d.ts +9 -0
- package/dist/components/Progress.d.ts.map +1 -0
- package/dist/components/Progress.js +13 -0
- package/dist/components/Progress.js.map +1 -0
- package/dist/components/PromptSuggestionChips.d.ts +15 -0
- package/dist/components/PromptSuggestionChips.d.ts.map +1 -0
- package/dist/components/PromptSuggestionChips.js +17 -0
- package/dist/components/PromptSuggestionChips.js.map +1 -0
- package/dist/components/PropertyList.d.ts +29 -0
- package/dist/components/PropertyList.d.ts.map +1 -0
- package/dist/components/PropertyList.js +90 -0
- package/dist/components/PropertyList.js.map +1 -0
- package/dist/components/QRCodeGenerator.d.ts +17 -0
- package/dist/components/QRCodeGenerator.d.ts.map +1 -0
- package/dist/components/QRCodeGenerator.js +56 -0
- package/dist/components/QRCodeGenerator.js.map +1 -0
- package/dist/components/QuantitySelector.d.ts +16 -0
- package/dist/components/QuantitySelector.d.ts.map +1 -0
- package/dist/components/QuantitySelector.js +55 -0
- package/dist/components/QuantitySelector.js.map +1 -0
- package/dist/components/QueryBuilder.d.ts +30 -0
- package/dist/components/QueryBuilder.d.ts.map +1 -0
- package/dist/components/QueryBuilder.js +227 -0
- package/dist/components/QueryBuilder.js.map +1 -0
- package/dist/components/RadioGroup.d.ts +16 -0
- package/dist/components/RadioGroup.d.ts.map +1 -0
- package/dist/components/RadioGroup.js +36 -0
- package/dist/components/RadioGroup.js.map +1 -0
- package/dist/components/RangeSlider.d.ts +18 -0
- package/dist/components/RangeSlider.d.ts.map +1 -0
- package/dist/components/RangeSlider.js +121 -0
- package/dist/components/RangeSlider.js.map +1 -0
- package/dist/components/RatingInput.d.ts +15 -0
- package/dist/components/RatingInput.d.ts.map +1 -0
- package/dist/components/RatingInput.js +44 -0
- package/dist/components/RatingInput.js.map +1 -0
- package/dist/components/RecoveryCodeDisplay.d.ts +12 -0
- package/dist/components/RecoveryCodeDisplay.d.ts.map +1 -0
- package/dist/components/RecoveryCodeDisplay.js +48 -0
- package/dist/components/RecoveryCodeDisplay.js.map +1 -0
- package/dist/components/ResizablePanel.d.ts +18 -0
- package/dist/components/ResizablePanel.d.ts.map +1 -0
- package/dist/components/ResizablePanel.js +64 -0
- package/dist/components/ResizablePanel.js.map +1 -0
- package/dist/components/Reviews.d.ts +26 -0
- package/dist/components/Reviews.d.ts.map +1 -0
- package/dist/components/Reviews.js +30 -0
- package/dist/components/Reviews.js.map +1 -0
- package/dist/components/RichTextEditor.d.ts +14 -0
- package/dist/components/RichTextEditor.d.ts.map +1 -0
- package/dist/components/RichTextEditor.js +38 -0
- package/dist/components/RichTextEditor.js.map +1 -0
- package/dist/components/RotarySelector.d.ts +20 -0
- package/dist/components/RotarySelector.d.ts.map +1 -0
- package/dist/components/RotarySelector.js +99 -0
- package/dist/components/RotarySelector.js.map +1 -0
- package/dist/components/SchedulerTimeline.d.ts +31 -0
- package/dist/components/SchedulerTimeline.d.ts.map +1 -0
- package/dist/components/SchedulerTimeline.js +210 -0
- package/dist/components/SchedulerTimeline.js.map +1 -0
- package/dist/components/ScrollArea.d.ts +11 -0
- package/dist/components/ScrollArea.d.ts.map +1 -0
- package/dist/components/ScrollArea.js +132 -0
- package/dist/components/ScrollArea.js.map +1 -0
- package/dist/components/SearchInput.d.ts +13 -0
- package/dist/components/SearchInput.d.ts.map +1 -0
- package/dist/components/SearchInput.js +34 -0
- package/dist/components/SearchInput.js.map +1 -0
- package/dist/components/SectionHeader.d.ts +27 -0
- package/dist/components/SectionHeader.d.ts.map +1 -0
- package/dist/components/SectionHeader.js +18 -0
- package/dist/components/SectionHeader.js.map +1 -0
- package/dist/components/SecurityActivityLog.d.ts +20 -0
- package/dist/components/SecurityActivityLog.d.ts.map +1 -0
- package/dist/components/SecurityActivityLog.js +56 -0
- package/dist/components/SecurityActivityLog.js.map +1 -0
- package/dist/components/SegmentedInput.d.ts +15 -0
- package/dist/components/SegmentedInput.d.ts.map +1 -0
- package/dist/components/SegmentedInput.js +134 -0
- package/dist/components/SegmentedInput.js.map +1 -0
- package/dist/components/Select.d.ts +57 -0
- package/dist/components/Select.d.ts.map +1 -0
- package/dist/components/Select.js +275 -0
- package/dist/components/Select.js.map +1 -0
- package/dist/components/Sheet.d.ts +35 -0
- package/dist/components/Sheet.d.ts.map +1 -0
- package/dist/components/Sheet.js +117 -0
- package/dist/components/Sheet.js.map +1 -0
- package/dist/components/Sidebar.d.ts +23 -0
- package/dist/components/Sidebar.d.ts.map +1 -0
- package/dist/components/Sidebar.js +21 -0
- package/dist/components/Sidebar.js.map +1 -0
- package/dist/components/SignaturePad.d.ts +19 -0
- package/dist/components/SignaturePad.d.ts.map +1 -0
- package/dist/components/SignaturePad.js +133 -0
- package/dist/components/SignaturePad.js.map +1 -0
- package/dist/components/SignupForm.d.ts +15 -0
- package/dist/components/SignupForm.d.ts.map +1 -0
- package/dist/components/SignupForm.js +50 -0
- package/dist/components/SignupForm.js.map +1 -0
- package/dist/components/Skeleton.d.ts +3 -0
- package/dist/components/Skeleton.d.ts.map +1 -0
- package/dist/components/Skeleton.js +13 -0
- package/dist/components/Skeleton.js.map +1 -0
- package/dist/components/SlideToDelete.d.ts +26 -0
- package/dist/components/SlideToDelete.d.ts.map +1 -0
- package/dist/components/SlideToDelete.js +88 -0
- package/dist/components/SlideToDelete.js.map +1 -0
- package/dist/components/Slider.d.ts +18 -0
- package/dist/components/Slider.d.ts.map +1 -0
- package/dist/components/Slider.js +99 -0
- package/dist/components/Slider.js.map +1 -0
- package/dist/components/Snackbar.d.ts +16 -0
- package/dist/components/Snackbar.d.ts.map +1 -0
- package/dist/components/Snackbar.js +39 -0
- package/dist/components/Snackbar.js.map +1 -0
- package/dist/components/Spacer.d.ts +21 -0
- package/dist/components/Spacer.d.ts.map +1 -0
- package/dist/components/Spacer.js +44 -0
- package/dist/components/Spacer.js.map +1 -0
- package/dist/components/Sparkline.d.ts +17 -0
- package/dist/components/Sparkline.d.ts.map +1 -0
- package/dist/components/Sparkline.js +41 -0
- package/dist/components/Sparkline.js.map +1 -0
- package/dist/components/Spinner.d.ts +8 -0
- package/dist/components/Spinner.d.ts.map +1 -0
- package/dist/components/Spinner.js +26 -0
- package/dist/components/Spinner.js.map +1 -0
- package/dist/components/SplitButton.d.ts +20 -0
- package/dist/components/SplitButton.d.ts.map +1 -0
- package/dist/components/SplitButton.js +48 -0
- package/dist/components/SplitButton.js.map +1 -0
- package/dist/components/SplitView.d.ts +40 -0
- package/dist/components/SplitView.d.ts.map +1 -0
- package/dist/components/SplitView.js +14 -0
- package/dist/components/SplitView.js.map +1 -0
- package/dist/components/StatisticDisplay.d.ts +48 -0
- package/dist/components/StatisticDisplay.d.ts.map +1 -0
- package/dist/components/StatisticDisplay.js +141 -0
- package/dist/components/StatisticDisplay.js.map +1 -0
- package/dist/components/Stepper.d.ts +24 -0
- package/dist/components/Stepper.d.ts.map +1 -0
- package/dist/components/Stepper.js +99 -0
- package/dist/components/Stepper.js.map +1 -0
- package/dist/components/StickyContainer.d.ts +32 -0
- package/dist/components/StickyContainer.d.ts.map +1 -0
- package/dist/components/StickyContainer.js +17 -0
- package/dist/components/StickyContainer.js.map +1 -0
- package/dist/components/Switch.d.ts +12 -0
- package/dist/components/Switch.d.ts.map +1 -0
- package/dist/components/Switch.js +46 -0
- package/dist/components/Switch.js.map +1 -0
- package/dist/components/Table.d.ts +22 -0
- package/dist/components/Table.d.ts.map +1 -0
- package/dist/components/Table.js +72 -0
- package/dist/components/Table.js.map +1 -0
- package/dist/components/Tabs.d.ts +29 -0
- package/dist/components/Tabs.d.ts.map +1 -0
- package/dist/components/Tabs.js +63 -0
- package/dist/components/Tabs.js.map +1 -0
- package/dist/components/Tag.d.ts +14 -0
- package/dist/components/Tag.d.ts.map +1 -0
- package/dist/components/Tag.js +44 -0
- package/dist/components/Tag.js.map +1 -0
- package/dist/components/TagsInput.d.ts +15 -0
- package/dist/components/TagsInput.d.ts.map +1 -0
- package/dist/components/TagsInput.js +54 -0
- package/dist/components/TagsInput.js.map +1 -0
- package/dist/components/Text.d.ts +21 -0
- package/dist/components/Text.d.ts.map +1 -0
- package/dist/components/Text.js +47 -0
- package/dist/components/Text.js.map +1 -0
- package/dist/components/Textarea.d.ts +6 -0
- package/dist/components/Textarea.d.ts.map +1 -0
- package/dist/components/Textarea.js +10 -0
- package/dist/components/Textarea.js.map +1 -0
- package/dist/components/ThemeToggle.d.ts +22 -0
- package/dist/components/ThemeToggle.d.ts.map +1 -0
- package/dist/components/ThemeToggle.js +81 -0
- package/dist/components/ThemeToggle.js.map +1 -0
- package/dist/components/TimePicker.d.ts +15 -0
- package/dist/components/TimePicker.d.ts.map +1 -0
- package/dist/components/TimePicker.js +148 -0
- package/dist/components/TimePicker.js.map +1 -0
- package/dist/components/Timeline.d.ts +21 -0
- package/dist/components/Timeline.d.ts.map +1 -0
- package/dist/components/Timeline.js +63 -0
- package/dist/components/Timeline.js.map +1 -0
- package/dist/components/Title.d.ts +17 -0
- package/dist/components/Title.d.ts.map +1 -0
- package/dist/components/Title.js +46 -0
- package/dist/components/Title.js.map +1 -0
- package/dist/components/Toast.d.ts +25 -0
- package/dist/components/Toast.d.ts.map +1 -0
- package/dist/components/Toast.js +96 -0
- package/dist/components/Toast.js.map +1 -0
- package/dist/components/Tooltip.d.ts +13 -0
- package/dist/components/Tooltip.d.ts.map +1 -0
- package/dist/components/Tooltip.js +20 -0
- package/dist/components/Tooltip.js.map +1 -0
- package/dist/components/TopActionBar.d.ts +60 -0
- package/dist/components/TopActionBar.d.ts.map +1 -0
- package/dist/components/TopActionBar.js +69 -0
- package/dist/components/TopActionBar.js.map +1 -0
- package/dist/components/TreeView.d.ts +29 -0
- package/dist/components/TreeView.d.ts.map +1 -0
- package/dist/components/TreeView.js +97 -0
- package/dist/components/TreeView.js.map +1 -0
- package/dist/components/TwoFactorAuth.d.ts +12 -0
- package/dist/components/TwoFactorAuth.d.ts.map +1 -0
- package/dist/components/TwoFactorAuth.js +48 -0
- package/dist/components/TwoFactorAuth.js.map +1 -0
- package/dist/components/VideoPlayer.d.ts +11 -0
- package/dist/components/VideoPlayer.d.ts.map +1 -0
- package/dist/components/VideoPlayer.js +132 -0
- package/dist/components/VideoPlayer.js.map +1 -0
- package/dist/components/VoiceRecorder.d.ts +11 -0
- package/dist/components/VoiceRecorder.d.ts.map +1 -0
- package/dist/components/VoiceRecorder.js +145 -0
- package/dist/components/VoiceRecorder.js.map +1 -0
- package/dist/components/WindowControls.d.ts +10 -0
- package/dist/components/WindowControls.d.ts.map +1 -0
- package/dist/components/WindowControls.js +18 -0
- package/dist/components/WindowControls.js.map +1 -0
- package/dist/components/WindowFrame.d.ts +11 -0
- package/dist/components/WindowFrame.d.ts.map +1 -0
- package/dist/components/WindowFrame.js +26 -0
- package/dist/components/WindowFrame.js.map +1 -0
- package/dist/globals.css +316 -0
- package/dist/index.d.ts +249 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +144 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/utils.d.ts +3 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +6 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/scripts/build-registry.d.ts +2 -0
- package/dist/scripts/build-registry.d.ts.map +1 -0
- package/dist/scripts/build-registry.js +58 -0
- package/dist/scripts/build-registry.js.map +1 -0
- package/dist/tokens.d.ts +281 -0
- package/dist/tokens.d.ts.map +1 -0
- package/dist/tokens.js +265 -0
- package/dist/tokens.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +118 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DiffViewer.js","sourceRoot":"","sources":["../../components/DiffViewer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface DividerProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
/**
|
|
4
|
+
* The orientation of the divider.
|
|
5
|
+
* @default "horizontal"
|
|
6
|
+
*/
|
|
7
|
+
orientation?: 'horizontal' | 'vertical';
|
|
8
|
+
/**
|
|
9
|
+
* Optional label to display within the divider (only for horizontal).
|
|
10
|
+
*/
|
|
11
|
+
label?: React.ReactNode;
|
|
12
|
+
/**
|
|
13
|
+
* Position of the label.
|
|
14
|
+
* @default "center"
|
|
15
|
+
*/
|
|
16
|
+
labelPosition?: 'left' | 'center' | 'right';
|
|
17
|
+
/**
|
|
18
|
+
* The visual style of the divider.
|
|
19
|
+
* @default "solid"
|
|
20
|
+
*/
|
|
21
|
+
variant?: 'solid' | 'dashed' | 'dotted';
|
|
22
|
+
/**
|
|
23
|
+
* Custom class name for the line element specifically (if you want to style the line separately from the container).
|
|
24
|
+
*/
|
|
25
|
+
lineClassName?: string;
|
|
26
|
+
}
|
|
27
|
+
export declare const Divider: React.ForwardRefExoticComponent<DividerProps & React.RefAttributes<HTMLDivElement>>;
|
|
28
|
+
//# sourceMappingURL=Divider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Divider.d.ts","sourceRoot":"","sources":["../../components/Divider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACtE;;;OAGG;IACH,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC5C;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACxC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,OAAO,qFAuFnB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { cn } from '../lib/utils';
|
|
4
|
+
export const Divider = React.forwardRef(({ className, orientation = 'horizontal', label, labelPosition = 'center', variant = 'solid', lineClassName, ...props }, ref) => {
|
|
5
|
+
const borderStyle = variant === 'dashed' ? 'border-dashed' : variant === 'dotted' ? 'border-dotted' : 'border-solid';
|
|
6
|
+
if (orientation === 'vertical') {
|
|
7
|
+
return (_jsx("div", { ref: ref, className: cn('inline-block self-stretch w-0 border-l border-border-primary mx-2', borderStyle, className), role: "separator", "aria-orientation": "vertical", ...props }));
|
|
8
|
+
}
|
|
9
|
+
// Horizontal
|
|
10
|
+
if (label) {
|
|
11
|
+
return (_jsxs("div", { ref: ref, className: cn('flex items-center w-full my-4', className), role: "separator", "aria-orientation": "horizontal", ...props, children: [_jsx("div", { className: cn('flex-grow border-t border-border-primary', borderStyle, labelPosition === 'left' ? 'flex-grow-0 w-4 mr-4' : '', labelPosition === 'right' ? 'flex-grow' : '', lineClassName) }), _jsx("span", { className: cn('text-sm text-text-tertiary font-medium px-4', labelPosition === 'left' ? 'pl-0' : '', labelPosition === 'right' ? 'pr-0' : ''), children: label }), _jsx("div", { className: cn('flex-grow border-t border-border-primary', borderStyle, labelPosition === 'right' ? 'flex-grow-0 w-4 ml-4' : '', labelPosition === 'left' ? 'flex-grow' : '', lineClassName) })] }));
|
|
12
|
+
}
|
|
13
|
+
return (_jsx("div", { ref: ref, className: cn('w-full border-t border-border-primary my-4', borderStyle, className), role: "separator", "aria-orientation": "horizontal", ...props }));
|
|
14
|
+
});
|
|
15
|
+
Divider.displayName = 'Divider';
|
|
16
|
+
//# sourceMappingURL=Divider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Divider.js","sourceRoot":"","sources":["../../components/Divider.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AA4BlC,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CACnC,CAAC,EACG,SAAS,EACT,WAAW,GAAG,YAAY,EAC1B,KAAK,EACL,aAAa,GAAG,QAAQ,EACxB,OAAO,GAAG,OAAO,EACjB,aAAa,EACb,GAAG,KAAK,EACX,EAAE,GAAG,EAAE,EAAE;IAEN,MAAM,WAAW,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC;IAErH,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;QAC7B,OAAO,CACH,cACI,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACT,mEAAmE,EACnE,WAAW,EACX,SAAS,CACZ,EACD,IAAI,EAAC,WAAW,sBACC,UAAU,KACvB,KAAK,GACX,CACL,CAAC;IACN,CAAC;IAED,aAAa;IACb,IAAI,KAAK,EAAE,CAAC;QACR,OAAO,CACH,eACI,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACT,+BAA+B,EAC/B,SAAS,CACZ,EACD,IAAI,EAAC,WAAW,sBACC,YAAY,KACzB,KAAK,aAET,cACI,SAAS,EAAE,EAAE,CACT,0CAA0C,EAC1C,WAAW,EACX,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,EACtD,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAC5C,aAAa,CAChB,GACH,EAEF,eAAM,SAAS,EAAE,EAAE,CACf,6CAA6C,EAC7C,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EACtC,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC1C,YACI,KAAK,GACH,EAEP,cACI,SAAS,EAAE,EAAE,CACT,0CAA0C,EAC1C,WAAW,EACX,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,EACvD,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAC3C,aAAa,CAChB,GACH,IACA,CACT,CAAC;IACN,CAAC;IAED,OAAO,CACH,cACI,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACT,4CAA4C,EAC5C,WAAW,EACX,SAAS,CACZ,EACD,IAAI,EAAC,WAAW,sBACC,YAAY,KACzB,KAAK,GACX,CACL,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Dock Bar component – macOS-style dock with magnification effect.
|
|
4
|
+
*
|
|
5
|
+
* Features icon magnification on hover, smooth animations, and customizable positioning.
|
|
6
|
+
* Inspired by macOS Dock.
|
|
7
|
+
*/
|
|
8
|
+
export interface DockBarItem {
|
|
9
|
+
id: string;
|
|
10
|
+
label: string;
|
|
11
|
+
icon: React.ReactNode;
|
|
12
|
+
onClick?: () => void;
|
|
13
|
+
badge?: string | number;
|
|
14
|
+
active?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface DockBarProps {
|
|
17
|
+
/** Dock items */
|
|
18
|
+
items: DockBarItem[];
|
|
19
|
+
/** Position of the dock */
|
|
20
|
+
position?: 'bottom' | 'left' | 'right';
|
|
21
|
+
/** Size of icons */
|
|
22
|
+
size?: 'sm' | 'md' | 'lg';
|
|
23
|
+
/** Enable magnification effect */
|
|
24
|
+
magnification?: boolean;
|
|
25
|
+
/** Optional className for custom styling */
|
|
26
|
+
className?: string;
|
|
27
|
+
}
|
|
28
|
+
export declare const DockBar: React.ForwardRefExoticComponent<DockBarProps & React.RefAttributes<HTMLDivElement>>;
|
|
29
|
+
//# sourceMappingURL=DockBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DockBar.d.ts","sourceRoot":"","sources":["../../components/DockBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B;;;;;GAKG;AAEH,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IACzB,iBAAiB;IACjB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACvC,oBAAoB;IACpB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,kCAAkC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,OAAO,qFAgFnB,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { motion } from 'framer-motion';
|
|
4
|
+
import { cn } from '../lib/utils';
|
|
5
|
+
export const DockBar = React.forwardRef(({ items, position = 'bottom', size = 'md', magnification = true, className = '' }, ref) => {
|
|
6
|
+
const [hoveredIndex, setHoveredIndex] = React.useState(null);
|
|
7
|
+
const sizeStyles = {
|
|
8
|
+
sm: {
|
|
9
|
+
icon: 'w-10 h-10',
|
|
10
|
+
gap: 'gap-2',
|
|
11
|
+
padding: 'p-2',
|
|
12
|
+
magnifiedSize: 56,
|
|
13
|
+
normalSize: 40,
|
|
14
|
+
},
|
|
15
|
+
md: {
|
|
16
|
+
icon: 'w-14 h-14',
|
|
17
|
+
gap: 'gap-3',
|
|
18
|
+
padding: 'p-3',
|
|
19
|
+
magnifiedSize: 72,
|
|
20
|
+
normalSize: 56,
|
|
21
|
+
},
|
|
22
|
+
lg: {
|
|
23
|
+
icon: 'w-16 h-16',
|
|
24
|
+
gap: 'gap-4',
|
|
25
|
+
padding: 'p-4',
|
|
26
|
+
magnifiedSize: 88,
|
|
27
|
+
normalSize: 64,
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
const positionStyles = {
|
|
31
|
+
bottom: 'bottom-4 left-1/2 -translate-x-1/2 flex-row',
|
|
32
|
+
left: 'left-4 top-1/2 -translate-y-1/2 flex-col',
|
|
33
|
+
right: 'right-4 top-1/2 -translate-y-1/2 flex-col',
|
|
34
|
+
};
|
|
35
|
+
const { icon: iconSize, gap, padding, magnifiedSize, normalSize } = sizeStyles[size];
|
|
36
|
+
const getScale = (index) => {
|
|
37
|
+
if (!magnification || hoveredIndex === null)
|
|
38
|
+
return 1;
|
|
39
|
+
const distance = Math.abs(index - hoveredIndex);
|
|
40
|
+
if (distance === 0)
|
|
41
|
+
return magnifiedSize / normalSize;
|
|
42
|
+
if (distance === 1)
|
|
43
|
+
return 1.2;
|
|
44
|
+
if (distance === 2)
|
|
45
|
+
return 1.1;
|
|
46
|
+
return 1;
|
|
47
|
+
};
|
|
48
|
+
return (_jsx("div", { ref: ref, className: cn('fixed z-sticky', positionStyles[position], className), children: _jsx(motion.div, { className: cn('flex items-end glass rounded-2xl border border-border-secondary shadow-2xl backdrop-blur-xl', position === 'bottom' ? 'flex-row' : 'flex-col', gap, padding), initial: { opacity: 0, scale: 0.9 }, animate: { opacity: 1, scale: 1 }, transition: { type: 'spring', stiffness: 300, damping: 30 }, children: items.map((item, index) => (_jsx(DockBarIcon, { item: item, scale: getScale(index), onHoverStart: () => setHoveredIndex(index), onHoverEnd: () => setHoveredIndex(null), iconSize: iconSize }, item.id))) }) }));
|
|
49
|
+
});
|
|
50
|
+
DockBar.displayName = 'DockBar';
|
|
51
|
+
const DockBarIcon = ({ item, scale, onHoverStart, onHoverEnd, iconSize, }) => {
|
|
52
|
+
const [showLabel, setShowLabel] = React.useState(false);
|
|
53
|
+
return (_jsxs("div", { className: "relative flex flex-col items-center", children: [showLabel && (_jsxs(motion.div, { initial: { opacity: 0, y: 10 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: 10 }, className: "absolute -top-12 px-3 py-1.5 bg-gray-900/90 text-white text-xs font-medium rounded-lg backdrop-blur-sm whitespace-nowrap", children: [item.label, _jsx("div", { className: "absolute -bottom-1 left-1/2 -translate-x-1/2 w-2 h-2 bg-gray-900/90 rotate-45" })] })), _jsxs(motion.button, { onClick: item.onClick, onHoverStart: () => {
|
|
54
|
+
onHoverStart();
|
|
55
|
+
setShowLabel(true);
|
|
56
|
+
}, onHoverEnd: () => {
|
|
57
|
+
onHoverEnd();
|
|
58
|
+
setShowLabel(false);
|
|
59
|
+
}, className: cn('relative flex items-center justify-center rounded-xl transition-all', 'bg-surface-primary/50 backdrop-blur-sm', 'hover:bg-surface-primary/80', 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent-blue', item.active && 'ring-2 ring-accent-blue', iconSize), style: {
|
|
60
|
+
scale,
|
|
61
|
+
transformOrigin: 'bottom center',
|
|
62
|
+
}, transition: { type: 'spring', stiffness: 400, damping: 25 }, children: [_jsx("div", { className: "text-2xl", children: item.icon }), item.badge && (_jsx(motion.div, { initial: { scale: 0 }, animate: { scale: 1 }, className: "absolute -top-1 -right-1 min-w-[18px] h-[18px] px-1 flex items-center justify-center bg-red-500 text-white text-[10px] font-bold rounded-full", children: item.badge })), item.active && (_jsx(motion.div, { layoutId: "dock-active-indicator", className: "absolute -bottom-1 w-1 h-1 bg-accent-blue rounded-full", transition: { type: 'spring', stiffness: 400, damping: 30 } }))] })] }));
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=DockBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DockBar.js","sourceRoot":"","sources":["../../components/DockBar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface EmptyStateProps {
|
|
3
|
+
/**
|
|
4
|
+
* The main title of the empty state
|
|
5
|
+
*/
|
|
6
|
+
title: string;
|
|
7
|
+
/**
|
|
8
|
+
* A descriptive text explaining the empty state
|
|
9
|
+
*/
|
|
10
|
+
description?: string;
|
|
11
|
+
/**
|
|
12
|
+
* An icon or illustration to display
|
|
13
|
+
*/
|
|
14
|
+
icon?: React.ReactNode;
|
|
15
|
+
/**
|
|
16
|
+
* Optional action element (e.g., a Button)
|
|
17
|
+
*/
|
|
18
|
+
action?: React.ReactNode;
|
|
19
|
+
/**
|
|
20
|
+
* Custom class name for the container
|
|
21
|
+
*/
|
|
22
|
+
className?: string;
|
|
23
|
+
}
|
|
24
|
+
export declare const EmptyState: React.FC<EmptyStateProps>;
|
|
25
|
+
//# sourceMappingURL=EmptyState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../components/EmptyState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAqDhD,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { motion } from 'framer-motion';
|
|
4
|
+
export const EmptyState = ({ title, description, icon, action, className = '', }) => {
|
|
5
|
+
return (_jsxs(motion.div, { initial: { opacity: 0, scale: 0.95 }, animate: { opacity: 1, scale: 1 }, transition: {
|
|
6
|
+
duration: 0.4,
|
|
7
|
+
ease: [0.16, 1, 0.3, 1], // Apple-style ease
|
|
8
|
+
}, className: `
|
|
9
|
+
flex flex-col items-center justify-center text-center p-8
|
|
10
|
+
bg-surface-primary/50 rounded-2xl
|
|
11
|
+
${className}
|
|
12
|
+
`.trim().replace(/\s+/g, ' '), children: [icon && (_jsx("div", { className: "mb-6 text-text-tertiary", children: React.isValidElement(icon) ? (React.cloneElement(icon, {
|
|
13
|
+
// @ts-ignore
|
|
14
|
+
size: 48,
|
|
15
|
+
strokeWidth: 1.5,
|
|
16
|
+
className: 'w-12 h-12',
|
|
17
|
+
})) : (icon) })), _jsx("h3", { className: "text-xl font-semibold text-text-primary mb-2", children: title }), description && (_jsx("p", { className: "text-text-secondary max-w-sm mb-8 leading-relaxed", children: description })), action && (_jsx("div", { className: "mt-2", children: action }))] }));
|
|
18
|
+
};
|
|
19
|
+
EmptyState.displayName = 'EmptyState';
|
|
20
|
+
//# sourceMappingURL=EmptyState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmptyState.js","sourceRoot":"","sources":["../../components/EmptyState.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAgCvC,MAAM,CAAC,MAAM,UAAU,GAA8B,CAAC,EACpD,KAAK,EACL,WAAW,EACX,IAAI,EACJ,MAAM,EACN,SAAS,GAAG,EAAE,GACf,EAAE,EAAE;IACH,OAAO,CACL,MAAC,MAAM,CAAC,GAAG,IACT,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EACpC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EACjC,UAAU,EAAE;YACV,QAAQ,EAAE,GAAG;YACb,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,mBAAmB;SAC7C,EACD,SAAS,EAAE;;;UAGP,SAAS;OACZ,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,aAE5B,IAAI,IAAI,CACP,cAAK,SAAS,EAAC,yBAAyB,YACrC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAC5B,KAAK,CAAC,YAAY,CAAC,IAA0B,EAAE;oBAC7C,aAAa;oBACb,IAAI,EAAE,EAAE;oBACR,WAAW,EAAE,GAAG;oBAChB,SAAS,EAAE,WAAW;iBACvB,CAAC,CACH,CAAC,CAAC,CAAC,CACF,IAAI,CACL,GACG,CACP,EAED,aAAI,SAAS,EAAC,8CAA8C,YACzD,KAAK,GACH,EAEJ,WAAW,IAAI,CACd,YAAG,SAAS,EAAC,mDAAmD,YAC7D,WAAW,GACV,CACL,EAEA,MAAM,IAAI,CACT,cAAK,SAAS,EAAC,MAAM,YAClB,MAAM,GACH,CACP,IACU,CACd,CAAC;AACJ,CAAC,CAAC;AAEF,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React, { Component, ErrorInfo, ReactNode } from 'react';
|
|
2
|
+
export interface ErrorBoundaryProps {
|
|
3
|
+
/** The content to be rendered when no error occurs */
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
/** Custom fallback UI. Can be a node or a function receiving the error and reset callback */
|
|
6
|
+
fallback?: ReactNode | ((error: Error, resetErrorBoundary: () => void) => ReactNode);
|
|
7
|
+
/** Callback fired when an error is caught */
|
|
8
|
+
onError?: (error: Error, errorInfo: ErrorInfo) => void;
|
|
9
|
+
/** Callback fired when the error boundary is reset */
|
|
10
|
+
onReset?: () => void;
|
|
11
|
+
}
|
|
12
|
+
interface ErrorBoundaryState {
|
|
13
|
+
hasError: boolean;
|
|
14
|
+
error: Error | null;
|
|
15
|
+
}
|
|
16
|
+
export declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
|
|
17
|
+
constructor(props: ErrorBoundaryProps);
|
|
18
|
+
static getDerivedStateFromError(error: Error): ErrorBoundaryState;
|
|
19
|
+
componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
|
|
20
|
+
resetErrorBoundary: () => void;
|
|
21
|
+
render(): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=ErrorBoundary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorBoundary.d.ts","sourceRoot":"","sources":["../../components/ErrorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAQ/D,MAAM,WAAW,kBAAkB;IAC/B,sDAAsD;IACtD,QAAQ,EAAE,SAAS,CAAC;IACpB,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,IAAI,KAAK,SAAS,CAAC,CAAC;IACrF,6CAA6C;IAC7C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IACvD,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,UAAU,kBAAkB;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACvB;AA0ED,qBAAa,aAAc,SAAQ,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;gBACpE,KAAK,EAAE,kBAAkB;IAQrC,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,kBAAkB;IAOjE,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS;IASpD,kBAAkB,aAQhB;IAEF,MAAM;CAmBT"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Component } from 'react';
|
|
3
|
+
import { Button } from './Button';
|
|
4
|
+
import { motion } from 'framer-motion';
|
|
5
|
+
/* ========================================
|
|
6
|
+
DEFAULT FALLBACK UI
|
|
7
|
+
======================================== */
|
|
8
|
+
const DefaultErrorFallback = ({ error, resetErrorBoundary }) => (_jsxs(motion.div, { initial: { opacity: 0, y: 10 }, animate: { opacity: 1, y: 0 }, className: "flex flex-col items-center justify-center p-8 text-center bg-surface-primary rounded-2xl border border-border-primary shadow-sm max-w-md mx-auto my-8", children: [_jsx("div", { className: "w-16 h-16 bg-status-error/10 text-status-error rounded-full flex items-center justify-center mb-6", children: _jsxs("svg", { width: "32", height: "32", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("line", { x1: "12", y1: "8", x2: "12", y2: "12" }), _jsx("line", { x1: "12", y1: "16", x2: "12.01", y2: "16" })] }) }), _jsx("h3", { className: "text-xl font-semibold text-text-primary mb-2", children: "Something went wrong" }), _jsx("p", { className: "text-text-secondary mb-6 text-sm leading-relaxed", children: error?.message || 'An unexpected error occurred while rendering this component.' }), _jsxs("div", { className: "flex gap-3", children: [_jsx(Button, { variant: "secondary", onClick: () => window.location.reload(), children: "Reload Page" }), _jsx(Button, { variant: "primary", onClick: resetErrorBoundary, children: "Try Again" })] }), process.env.NODE_ENV === 'development' && error && (_jsx("div", { className: "mt-8 w-full text-left", children: _jsxs("details", { className: "text-xs text-text-tertiary cursor-pointer", children: [_jsx("summary", { className: "hover:text-text-secondary transition-colors mb-2", children: "View Error Details" }), _jsx("pre", { className: "bg-surface-secondary p-4 rounded-lg overflow-auto max-h-40 font-mono border border-border-secondary", children: error.stack })] }) }))] }));
|
|
9
|
+
/* ========================================
|
|
10
|
+
COMPONENT
|
|
11
|
+
======================================== */
|
|
12
|
+
export class ErrorBoundary extends Component {
|
|
13
|
+
constructor(props) {
|
|
14
|
+
super(props);
|
|
15
|
+
this.resetErrorBoundary = () => {
|
|
16
|
+
if (this.props.onReset) {
|
|
17
|
+
this.props.onReset();
|
|
18
|
+
}
|
|
19
|
+
this.setState({
|
|
20
|
+
hasError: false,
|
|
21
|
+
error: null
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
this.state = {
|
|
25
|
+
hasError: false,
|
|
26
|
+
error: null
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
static getDerivedStateFromError(error) {
|
|
30
|
+
return {
|
|
31
|
+
hasError: true,
|
|
32
|
+
error
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
componentDidCatch(error, errorInfo) {
|
|
36
|
+
if (this.props.onError) {
|
|
37
|
+
this.props.onError(error, errorInfo);
|
|
38
|
+
}
|
|
39
|
+
// You could also log the error to an error reporting service here
|
|
40
|
+
console.error('ErrorBoundary caught an error:', error, errorInfo);
|
|
41
|
+
}
|
|
42
|
+
render() {
|
|
43
|
+
if (this.state.hasError) {
|
|
44
|
+
if (this.props.fallback) {
|
|
45
|
+
if (typeof this.props.fallback === 'function') {
|
|
46
|
+
return this.props.fallback(this.state.error, this.resetErrorBoundary);
|
|
47
|
+
}
|
|
48
|
+
return this.props.fallback;
|
|
49
|
+
}
|
|
50
|
+
return (_jsx(DefaultErrorFallback, { error: this.state.error, resetErrorBoundary: this.resetErrorBoundary }));
|
|
51
|
+
}
|
|
52
|
+
return this.props.children;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=ErrorBoundary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorBoundary.js","sourceRoot":"","sources":["../../components/ErrorBoundary.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAwB,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAsBvC;;8CAE8C;AAE9C,MAAM,oBAAoB,GAGrB,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,CACpC,MAAC,MAAM,CAAC,GAAG,IACP,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAC9B,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAC7B,SAAS,EAAC,uJAAuJ,aAEjK,cAAK,SAAS,EAAC,mGAAmG,YAC9G,eACI,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,aAEtB,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,GAAG,EACjC,eAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,EACvC,eAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,IAAI,GAAG,IACzC,GACJ,EAEN,aAAI,SAAS,EAAC,8CAA8C,qCAEvD,EAEL,YAAG,SAAS,EAAC,kDAAkD,YAC1D,KAAK,EAAE,OAAO,IAAI,8DAA8D,GACjF,EAEJ,eAAK,SAAS,EAAC,YAAY,aACvB,KAAC,MAAM,IACH,OAAO,EAAC,WAAW,EACnB,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,4BAGlC,EACT,KAAC,MAAM,IACH,OAAO,EAAC,SAAS,EACjB,OAAO,EAAE,kBAAkB,0BAGtB,IACP,EAEL,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,KAAK,IAAI,CAChD,cAAK,SAAS,EAAC,uBAAuB,YAClC,mBAAS,SAAS,EAAC,2CAA2C,aAC1D,kBAAS,SAAS,EAAC,kDAAkD,mCAE3D,EACV,cAAK,SAAS,EAAC,qGAAqG,YAC/G,KAAK,CAAC,KAAK,GACV,IACA,GACR,CACT,IACQ,CAChB,CAAC;AAEF;;8CAE8C;AAE9C,MAAM,OAAO,aAAc,SAAQ,SAAiD;IAChF,YAAY,KAAyB;QACjC,KAAK,CAAC,KAAK,CAAC,CAAC;QAuBjB,uBAAkB,GAAG,GAAG,EAAE;YACtB,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACrB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACzB,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC;gBACV,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;QACP,CAAC,CAAC;QA9BE,IAAI,CAAC,KAAK,GAAG;YACT,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,IAAI;SACd,CAAC;IACN,CAAC;IAED,MAAM,CAAC,wBAAwB,CAAC,KAAY;QACxC,OAAO;YACH,QAAQ,EAAE,IAAI;YACd,KAAK;SACR,CAAC;IACN,CAAC;IAED,iBAAiB,CAAC,KAAY,EAAE,SAAoB;QAChD,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACzC,CAAC;QAED,kEAAkE;QAClE,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACtE,CAAC;IAYD,MAAM;QACF,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACtB,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;oBAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAC3E,CAAC;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC/B,CAAC;YAED,OAAO,CACH,KAAC,oBAAoB,IACjB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,GAC7C,CACL,CAAC;QACN,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC/B,CAAC;CACJ"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { HTMLMotionProps } from 'framer-motion';
|
|
3
|
+
export type FABVariant = 'primary' | 'secondary' | 'tertiary';
|
|
4
|
+
export type FABSize = 'sm' | 'md' | 'lg';
|
|
5
|
+
export type FABPosition = 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left' | 'none';
|
|
6
|
+
export interface FABProps extends Omit<HTMLMotionProps<"button">, "children"> {
|
|
7
|
+
icon?: React.ElementType;
|
|
8
|
+
label?: string;
|
|
9
|
+
variant?: FABVariant;
|
|
10
|
+
size?: FABSize;
|
|
11
|
+
position?: FABPosition;
|
|
12
|
+
show?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare const FAB: React.ForwardRefExoticComponent<Omit<FABProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
15
|
+
//# sourceMappingURL=FAB.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FAB.d.ts","sourceRoot":"","sources":["../../components/FAB.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAG/D,OAAO,EAAU,eAAe,EAAmB,MAAM,eAAe,CAAC;AAOzE,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;AAC9D,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACzC,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;AAE7F,MAAM,WAAW,QAAS,SAAQ,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;IACzE,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAMD,eAAO,MAAM,GAAG,iGAwFf,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef, useEffect, useState } from 'react';
|
|
3
|
+
import { createPortal } from 'react-dom';
|
|
4
|
+
import { cn } from '../lib/utils';
|
|
5
|
+
import { motion, AnimatePresence } from 'framer-motion';
|
|
6
|
+
import { Plus } from 'lucide-react';
|
|
7
|
+
/* ========================================
|
|
8
|
+
FAB COMPONENT
|
|
9
|
+
======================================== */
|
|
10
|
+
export const FAB = forwardRef(({ icon: Icon = Plus, label, variant = 'primary', size = 'md', position = 'bottom-right', show = true, className, disabled, ...props }, ref) => {
|
|
11
|
+
const [mounted, setMounted] = useState(false);
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
setMounted(true);
|
|
14
|
+
}, []);
|
|
15
|
+
const variants = {
|
|
16
|
+
primary: "bg-accent-blue text-white hover:bg-accent-blueHover active:bg-accent-blueActive shadow-lg hover:shadow-xl",
|
|
17
|
+
secondary: "bg-surface-elevated text-text-primary hover:bg-surface-secondary active:bg-surface-tertiary border border-border-primary shadow-lg hover:shadow-xl",
|
|
18
|
+
tertiary: "bg-surface-tertiary text-text-primary hover:bg-surface-secondary shadow-md hover:shadow-lg",
|
|
19
|
+
};
|
|
20
|
+
const sizes = {
|
|
21
|
+
sm: "h-10 min-w-[2.5rem] px-0", // px-0 for circle, will adjust if label exists
|
|
22
|
+
md: "h-12 min-w-[3rem] px-0",
|
|
23
|
+
lg: "h-14 min-w-[3.5rem] px-0",
|
|
24
|
+
};
|
|
25
|
+
const iconSizes = {
|
|
26
|
+
sm: "w-5 h-5",
|
|
27
|
+
md: "w-6 h-6",
|
|
28
|
+
lg: "w-7 h-7",
|
|
29
|
+
};
|
|
30
|
+
const positions = {
|
|
31
|
+
'none': '',
|
|
32
|
+
'bottom-right': 'fixed bottom-6 right-6 z-sticky',
|
|
33
|
+
'bottom-left': 'fixed bottom-6 left-6 z-sticky',
|
|
34
|
+
'top-right': 'fixed top-6 right-6 z-sticky',
|
|
35
|
+
'top-left': 'fixed top-6 left-6 z-sticky',
|
|
36
|
+
};
|
|
37
|
+
const isExtended = !!label;
|
|
38
|
+
const isFixed = position !== 'none';
|
|
39
|
+
const buttonContent = (_jsx(AnimatePresence, { children: show && (_jsxs(motion.button, { ref: ref, initial: { scale: 0, opacity: 0, rotate: -45 }, animate: { scale: 1, opacity: 1, rotate: 0 }, exit: { scale: 0, opacity: 0, rotate: 45 }, whileHover: { scale: 1.05 }, whileTap: { scale: 0.95 }, transition: { type: "spring", stiffness: 400, damping: 25 }, disabled: disabled, className: cn("flex items-center justify-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-accent-blue/20", variants[variant], sizes[size], positions[position], isExtended ? "px-5 rounded-full aspect-auto" : "aspect-square", disabled && "opacity-50 cursor-not-allowed shadow-none", className), ...props, children: [_jsx(Icon, { className: cn(iconSizes[size], isExtended && "mr-2") }), isExtended && (_jsx("span", { className: "font-medium whitespace-nowrap", children: label }))] })) }));
|
|
40
|
+
if (isFixed && mounted) {
|
|
41
|
+
return createPortal(buttonContent, document.body);
|
|
42
|
+
}
|
|
43
|
+
return buttonContent;
|
|
44
|
+
});
|
|
45
|
+
FAB.displayName = 'FAB';
|
|
46
|
+
//# sourceMappingURL=FAB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FAB.js","sourceRoot":"","sources":["../../components/FAB.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type FABGroupPosition = 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left' | 'none';
|
|
3
|
+
export interface FABGroupAction {
|
|
4
|
+
icon: React.ElementType;
|
|
5
|
+
label: string;
|
|
6
|
+
onClick: () => void;
|
|
7
|
+
variant?: 'primary' | 'secondary' | 'tertiary';
|
|
8
|
+
}
|
|
9
|
+
export interface FABGroupProps {
|
|
10
|
+
actions: FABGroupAction[];
|
|
11
|
+
position?: FABGroupPosition;
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare const FABGroup: React.ForwardRefExoticComponent<FABGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
15
|
+
//# sourceMappingURL=FABGroup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FABGroup.d.ts","sourceRoot":"","sources":["../../components/FABGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAU/D,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;AAElG,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;CAClD;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD,eAAO,MAAM,QAAQ,sFA6GpB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState, forwardRef, useEffect } from 'react';
|
|
3
|
+
import { createPortal } from 'react-dom';
|
|
4
|
+
import { cn } from '../lib/utils';
|
|
5
|
+
import { motion, AnimatePresence } from 'framer-motion';
|
|
6
|
+
import { Plus, X } from 'lucide-react';
|
|
7
|
+
/* ========================================
|
|
8
|
+
FAB GROUP COMPONENT
|
|
9
|
+
======================================== */
|
|
10
|
+
export const FABGroup = forwardRef(({ actions, position = 'bottom-right', className, }, ref) => {
|
|
11
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
12
|
+
const [mounted, setMounted] = useState(false);
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
setMounted(true);
|
|
15
|
+
}, []);
|
|
16
|
+
const positions = {
|
|
17
|
+
'none': '',
|
|
18
|
+
'bottom-right': 'fixed bottom-6 right-6 z-sticky',
|
|
19
|
+
'bottom-left': 'fixed bottom-6 left-6 z-sticky',
|
|
20
|
+
'top-right': 'fixed top-6 right-6 z-sticky',
|
|
21
|
+
'top-left': 'fixed top-6 left-6 z-sticky',
|
|
22
|
+
};
|
|
23
|
+
const isFixed = position !== 'none';
|
|
24
|
+
const content = (_jsxs("div", { ref: ref, className: cn("flex flex-col-reverse items-end gap-3", positions[position], className), children: [_jsx(AnimatePresence, { children: isOpen && actions.map((action, index) => {
|
|
25
|
+
const Icon = action.icon;
|
|
26
|
+
const variantStyles = {
|
|
27
|
+
primary: "bg-accent-blue text-white hover:bg-accent-blueHover",
|
|
28
|
+
secondary: "bg-surface-elevated text-text-primary hover:bg-surface-secondary border border-border-primary",
|
|
29
|
+
tertiary: "bg-surface-tertiary text-text-primary hover:bg-surface-secondary",
|
|
30
|
+
};
|
|
31
|
+
return (_jsxs(motion.div, { initial: { scale: 0, opacity: 0, y: 20 }, animate: { scale: 1, opacity: 1, y: 0 }, exit: { scale: 0, opacity: 0, y: 20 }, transition: {
|
|
32
|
+
type: "spring",
|
|
33
|
+
stiffness: 400,
|
|
34
|
+
damping: 25,
|
|
35
|
+
delay: index * 0.05,
|
|
36
|
+
}, className: "flex items-center gap-3", children: [_jsx(motion.span, { initial: { opacity: 0, x: 10 }, animate: { opacity: 1, x: 0 }, exit: { opacity: 0, x: 10 }, transition: { delay: index * 0.05 + 0.1 }, className: "px-3 py-1.5 bg-surface-elevated border border-border-primary rounded-lg shadow-md text-sm font-medium text-text-primary whitespace-nowrap", children: action.label }), _jsx(motion.button, { whileHover: { scale: 1.05 }, whileTap: { scale: 0.95 }, onClick: () => {
|
|
37
|
+
action.onClick();
|
|
38
|
+
setIsOpen(false);
|
|
39
|
+
}, className: cn("w-12 h-12 rounded-full flex items-center justify-center shadow-lg transition-colors focus:outline-none focus:ring-2 focus:ring-accent-blue/20", variantStyles[action.variant || 'secondary']), children: _jsx(Icon, { className: "w-5 h-5" }) })] }, index));
|
|
40
|
+
}) }), _jsx(motion.button, { whileHover: { scale: 1.05 }, whileTap: { scale: 0.95 }, onClick: () => setIsOpen(!isOpen), className: cn("w-14 h-14 rounded-full bg-accent-blue text-white flex items-center justify-center shadow-xl transition-colors focus:outline-none focus:ring-2 focus:ring-accent-blue/20", "hover:bg-accent-blueHover"), children: _jsx(motion.div, { animate: { rotate: isOpen ? 45 : 0 }, transition: { type: "spring", stiffness: 400, damping: 25 }, children: isOpen ? _jsx(X, { className: "w-6 h-6" }) : _jsx(Plus, { className: "w-6 h-6" }) }) })] }));
|
|
41
|
+
if (isFixed && mounted) {
|
|
42
|
+
return createPortal(content, document.body);
|
|
43
|
+
}
|
|
44
|
+
return content;
|
|
45
|
+
});
|
|
46
|
+
FABGroup.displayName = 'FABGroup';
|
|
47
|
+
//# sourceMappingURL=FABGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FABGroup.js","sourceRoot":"","sources":["../../components/FABGroup.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface FileIntelligence {
|
|
3
|
+
type: string;
|
|
4
|
+
size: string;
|
|
5
|
+
dimensions?: string;
|
|
6
|
+
duration?: string;
|
|
7
|
+
metadata?: Record<string, string>;
|
|
8
|
+
preview?: string;
|
|
9
|
+
extractedText?: string;
|
|
10
|
+
summary?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface FileIntelligencePreviewProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
13
|
+
file: {
|
|
14
|
+
name: string;
|
|
15
|
+
url?: string;
|
|
16
|
+
type: string;
|
|
17
|
+
};
|
|
18
|
+
intelligence?: FileIntelligence;
|
|
19
|
+
onDownload?: () => void;
|
|
20
|
+
onPreview?: () => void;
|
|
21
|
+
showMetadata?: boolean;
|
|
22
|
+
className?: string;
|
|
23
|
+
}
|
|
24
|
+
export declare const FileIntelligencePreview: React.ForwardRefExoticComponent<FileIntelligencePreviewProps & React.RefAttributes<HTMLDivElement>>;
|
|
25
|
+
//# sourceMappingURL=FileIntelligencePreview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileIntelligencePreview.d.ts","sourceRoot":"","sources":["../../components/FileIntelligencePreview.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAUxC,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,4BAA6B,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACtF,IAAI,EAAE;QACF,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AA2BD,eAAO,MAAM,uBAAuB,qGA0JnC,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import React, { useState } from 'react';
|
|
4
|
+
import { cn } from '../lib/utils';
|
|
5
|
+
import { motion, AnimatePresence } from 'framer-motion';
|
|
6
|
+
import { File, FileText, Image, Video, Music, Archive, Code, Download, Eye, Info } from 'lucide-react';
|
|
7
|
+
import { Button } from './Button';
|
|
8
|
+
/* ========================================
|
|
9
|
+
HELPERS
|
|
10
|
+
======================================== */
|
|
11
|
+
const getFileIcon = (type) => {
|
|
12
|
+
if (type.startsWith('image/'))
|
|
13
|
+
return _jsx(Image, { className: "w-8 h-8" });
|
|
14
|
+
if (type.startsWith('video/'))
|
|
15
|
+
return _jsx(Video, { className: "w-8 h-8" });
|
|
16
|
+
if (type.startsWith('audio/'))
|
|
17
|
+
return _jsx(Music, { className: "w-8 h-8" });
|
|
18
|
+
if (type.includes('pdf'))
|
|
19
|
+
return _jsx(FileText, { className: "w-8 h-8" });
|
|
20
|
+
if (type.includes('zip') || type.includes('rar'))
|
|
21
|
+
return _jsx(Archive, { className: "w-8 h-8" });
|
|
22
|
+
if (type.includes('code') || type.includes('text'))
|
|
23
|
+
return _jsx(Code, { className: "w-8 h-8" });
|
|
24
|
+
return _jsx(File, { className: "w-8 h-8" });
|
|
25
|
+
};
|
|
26
|
+
const formatFileType = (type) => {
|
|
27
|
+
if (type.includes('/')) {
|
|
28
|
+
return type.split('/')[1].toUpperCase();
|
|
29
|
+
}
|
|
30
|
+
return type.toUpperCase();
|
|
31
|
+
};
|
|
32
|
+
/* ========================================
|
|
33
|
+
COMPONENT
|
|
34
|
+
======================================== */
|
|
35
|
+
export const FileIntelligencePreview = React.forwardRef(({ file, intelligence, onDownload, onPreview, showMetadata = true, className, ...props }, ref) => {
|
|
36
|
+
const [showDetails, setShowDetails] = useState(false);
|
|
37
|
+
const handlePreview = () => {
|
|
38
|
+
if (onPreview) {
|
|
39
|
+
onPreview();
|
|
40
|
+
}
|
|
41
|
+
else if (file.url || intelligence?.preview) {
|
|
42
|
+
// Open file in new tab
|
|
43
|
+
const previewUrl = file.url || intelligence?.preview;
|
|
44
|
+
if (previewUrl) {
|
|
45
|
+
window.open(previewUrl, '_blank');
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
const handleDownload = () => {
|
|
50
|
+
if (onDownload) {
|
|
51
|
+
onDownload();
|
|
52
|
+
}
|
|
53
|
+
else if (file.url) {
|
|
54
|
+
// Create a temporary link and trigger download
|
|
55
|
+
const link = document.createElement('a');
|
|
56
|
+
link.href = file.url;
|
|
57
|
+
link.download = file.name;
|
|
58
|
+
document.body.appendChild(link);
|
|
59
|
+
link.click();
|
|
60
|
+
document.body.removeChild(link);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
return (_jsxs("div", { ref: ref, className: cn("bg-surface-primary border border-border-primary rounded-xl overflow-hidden", className), ...props, children: [_jsx("div", { className: "p-4 border-b border-border-primary", children: _jsxs("div", { className: "flex items-start gap-4", children: [_jsx("div", { className: "flex-shrink-0 p-3 bg-surface-secondary rounded-lg text-text-tertiary", children: getFileIcon(file.type) }), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("h3", { className: "text-sm font-semibold text-text-primary truncate", children: file.name }), _jsxs("p", { className: "text-xs text-text-secondary mt-0.5", children: [intelligence?.type || formatFileType(file.type), intelligence?.size && ` • ${intelligence.size}`] })] }), _jsxs("div", { className: "flex-shrink-0 flex items-center gap-2", children: [(file.url || intelligence?.preview) && (_jsx(Button, { variant: "ghost", size: "sm", onClick: handlePreview, children: _jsx(Eye, { className: "w-4 h-4" }) })), file.url && (_jsx(Button, { variant: "ghost", size: "sm", onClick: handleDownload, children: _jsx(Download, { className: "w-4 h-4" }) }))] })] }) }), intelligence?.preview && (_jsx("div", { className: "relative h-48 bg-surface-secondary", children: _jsx("img", { src: intelligence.preview, alt: file.name, className: "w-full h-full object-contain" }) })), intelligence && (_jsxs("div", { className: "p-4 space-y-3", children: [intelligence.summary && (_jsxs("div", { children: [_jsx("p", { className: "text-xs font-medium text-text-secondary mb-1", children: "Summary" }), _jsx("p", { className: "text-sm text-text-primary", children: intelligence.summary })] })), intelligence.extractedText && (_jsxs("div", { children: [_jsx("p", { className: "text-xs font-medium text-text-secondary mb-1", children: "Extracted Text" }), _jsx("p", { className: "text-sm text-text-secondary line-clamp-3", children: intelligence.extractedText })] })), showMetadata && intelligence.metadata && Object.keys(intelligence.metadata).length > 0 && (_jsxs("div", { children: [_jsxs("button", { onClick: () => setShowDetails(!showDetails), className: "flex items-center gap-2 text-xs font-medium text-text-secondary hover:text-text-primary transition-colors", children: [_jsx(Info, { className: "w-3.5 h-3.5" }), _jsx("span", { children: "Metadata" })] }), _jsx(AnimatePresence, { children: showDetails && (_jsx(motion.div, { initial: { height: 0, opacity: 0 }, animate: { height: 'auto', opacity: 1 }, exit: { height: 0, opacity: 0 }, className: "mt-2 space-y-1 overflow-hidden", children: Object.entries(intelligence.metadata).map(([key, value]) => (_jsxs("div", { className: "flex justify-between text-xs", children: [_jsxs("span", { className: "text-text-tertiary", children: [key, ":"] }), _jsx("span", { className: "text-text-secondary", children: value })] }, key))) })) })] }))] }))] }));
|
|
64
|
+
});
|
|
65
|
+
FileIntelligencePreview.displayName = 'FileIntelligencePreview';
|
|
66
|
+
//# sourceMappingURL=FileIntelligencePreview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileIntelligencePreview.js","sourceRoot":"","sources":["../../components/FileIntelligencePreview.tsx"],"names":[],"mappings":"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"}
|