@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":"ActivityMonitor.js","sourceRoot":"","sources":["../../components/ActivityMonitor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface PlaceDetails {
|
|
3
|
+
id: string;
|
|
4
|
+
placeId?: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
address?: string;
|
|
7
|
+
lat?: number;
|
|
8
|
+
lng?: number;
|
|
9
|
+
raw?: any;
|
|
10
|
+
}
|
|
11
|
+
export interface AddressSelectorProps {
|
|
12
|
+
/** onSelect fires when the user chooses a place (place details provided) */
|
|
13
|
+
onSelect?: (place: PlaceDetails) => void;
|
|
14
|
+
/** optional API key (if not provided component will try window.__GMAPS_API_KEY__) */
|
|
15
|
+
apiKey?: string;
|
|
16
|
+
placeholder?: string;
|
|
17
|
+
className?: string;
|
|
18
|
+
/** minimum characters before querying */
|
|
19
|
+
minLength?: number;
|
|
20
|
+
}
|
|
21
|
+
export declare const AddressSelector: React.FC<AddressSelectorProps>;
|
|
22
|
+
export default AddressSelector;
|
|
23
|
+
//# sourceMappingURL=AddressSelector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddressSelector.d.ts","sourceRoot":"","sources":["../../components/AddressSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAiC3D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AAED,MAAM,WAAW,oBAAoB;IACnC,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACzC,qFAAqF;IACrF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAuJ1D,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef, useState } from 'react';
|
|
3
|
+
import { cn } from '../lib/utils';
|
|
4
|
+
async function loadGoogleMaps(apiKey) {
|
|
5
|
+
if (typeof window === 'undefined')
|
|
6
|
+
return;
|
|
7
|
+
if (window.google && window.google.maps)
|
|
8
|
+
return window.google;
|
|
9
|
+
const existing = document.querySelector('script[data-gmaps]');
|
|
10
|
+
if (existing) {
|
|
11
|
+
// wait until loaded
|
|
12
|
+
await new Promise((resolve) => {
|
|
13
|
+
existing.addEventListener('load', () => resolve());
|
|
14
|
+
});
|
|
15
|
+
return window.google;
|
|
16
|
+
}
|
|
17
|
+
const script = document.createElement('script');
|
|
18
|
+
script.setAttribute('data-gmaps', '1');
|
|
19
|
+
script.src = `https://maps.googleapis.com/maps/api/js?key=${encodeURIComponent(apiKey)}&libraries=places`;
|
|
20
|
+
script.async = true;
|
|
21
|
+
script.defer = true;
|
|
22
|
+
document.head.appendChild(script);
|
|
23
|
+
await new Promise((resolve, reject) => {
|
|
24
|
+
script.onload = () => resolve();
|
|
25
|
+
script.onerror = () => reject(new Error('Failed to load Google Maps script'));
|
|
26
|
+
});
|
|
27
|
+
return window.google;
|
|
28
|
+
}
|
|
29
|
+
export const AddressSelector = ({ onSelect, apiKey, placeholder = 'Search address', className = '', minLength = 3 }) => {
|
|
30
|
+
const [loaded, setLoaded] = useState(false);
|
|
31
|
+
const [error, setError] = useState(null);
|
|
32
|
+
const [query, setQuery] = useState('');
|
|
33
|
+
const [predictions, setPredictions] = useState([]);
|
|
34
|
+
const [active, setActive] = useState(-1);
|
|
35
|
+
const svcRef = useRef(null);
|
|
36
|
+
const placesSvcRef = useRef(null);
|
|
37
|
+
const containerRef = useRef(null);
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
let mounted = true;
|
|
40
|
+
const key = apiKey;
|
|
41
|
+
if (!key) {
|
|
42
|
+
setError('Google Maps API key not provided. Pass the `apiKey` prop to AddressSelector.');
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
loadGoogleMaps(key)
|
|
46
|
+
.then((g) => {
|
|
47
|
+
if (!mounted)
|
|
48
|
+
return;
|
|
49
|
+
svcRef.current = new g.maps.places.AutocompleteService();
|
|
50
|
+
// create a dummy div for PlacesService
|
|
51
|
+
const dummy = document.createElement('div');
|
|
52
|
+
placesSvcRef.current = new g.maps.places.PlacesService(dummy);
|
|
53
|
+
setLoaded(true);
|
|
54
|
+
})
|
|
55
|
+
.catch((err) => {
|
|
56
|
+
console.error(err);
|
|
57
|
+
setError(String(err?.message ?? err));
|
|
58
|
+
});
|
|
59
|
+
return () => {
|
|
60
|
+
mounted = false;
|
|
61
|
+
};
|
|
62
|
+
}, [apiKey]);
|
|
63
|
+
useEffect(() => {
|
|
64
|
+
if (!loaded || !svcRef.current)
|
|
65
|
+
return;
|
|
66
|
+
if (query.length < minLength) {
|
|
67
|
+
setPredictions([]);
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
let cancelled = false;
|
|
71
|
+
svcRef.current.getPlacePredictions({ input: query }, (res, status) => {
|
|
72
|
+
if (cancelled)
|
|
73
|
+
return;
|
|
74
|
+
setPredictions(res ?? []);
|
|
75
|
+
setActive(-1);
|
|
76
|
+
});
|
|
77
|
+
return () => {
|
|
78
|
+
cancelled = true;
|
|
79
|
+
};
|
|
80
|
+
}, [query, loaded, minLength]);
|
|
81
|
+
const choose = (p) => {
|
|
82
|
+
if (!placesSvcRef.current)
|
|
83
|
+
return;
|
|
84
|
+
placesSvcRef.current.getDetails({ placeId: p.place_id }, (place, status) => {
|
|
85
|
+
if (status !== window.google.maps.places.PlacesServiceStatus.OK) {
|
|
86
|
+
console.warn('PlacesService getDetails failed', status);
|
|
87
|
+
onSelect?.({ id: p.place_id, placeId: p.place_id, description: p.description, raw: p });
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
const result = {
|
|
91
|
+
id: p.place_id,
|
|
92
|
+
placeId: p.place_id,
|
|
93
|
+
description: p.description,
|
|
94
|
+
address: place?.formatted_address,
|
|
95
|
+
raw: place,
|
|
96
|
+
};
|
|
97
|
+
if (place?.geometry?.location) {
|
|
98
|
+
result.lat = place.geometry.location.lat();
|
|
99
|
+
result.lng = place.geometry.location.lng();
|
|
100
|
+
}
|
|
101
|
+
setQuery(place?.formatted_address ?? p.description ?? '');
|
|
102
|
+
setPredictions([]);
|
|
103
|
+
onSelect?.(result);
|
|
104
|
+
});
|
|
105
|
+
};
|
|
106
|
+
// keyboard navigation
|
|
107
|
+
const onKeyDown = (e) => {
|
|
108
|
+
if (predictions.length === 0)
|
|
109
|
+
return;
|
|
110
|
+
if (e.key === 'ArrowDown') {
|
|
111
|
+
e.preventDefault();
|
|
112
|
+
setActive((a) => Math.min(a + 1, predictions.length - 1));
|
|
113
|
+
}
|
|
114
|
+
else if (e.key === 'ArrowUp') {
|
|
115
|
+
e.preventDefault();
|
|
116
|
+
setActive((a) => Math.max(a - 1, 0));
|
|
117
|
+
}
|
|
118
|
+
else if (e.key === 'Enter') {
|
|
119
|
+
e.preventDefault();
|
|
120
|
+
if (active >= 0 && active < predictions.length)
|
|
121
|
+
choose(predictions[active]);
|
|
122
|
+
}
|
|
123
|
+
else if (e.key === 'Escape') {
|
|
124
|
+
setPredictions([]);
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
useEffect(() => {
|
|
128
|
+
const onClick = (ev) => {
|
|
129
|
+
if (!containerRef.current)
|
|
130
|
+
return;
|
|
131
|
+
if (!containerRef.current.contains(ev.target)) {
|
|
132
|
+
setPredictions([]);
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
document.addEventListener('click', onClick);
|
|
136
|
+
return () => document.removeEventListener('click', onClick);
|
|
137
|
+
}, []);
|
|
138
|
+
return (_jsxs("div", { ref: containerRef, className: cn('relative w-full', className), children: [_jsx("input", { type: "search", placeholder: placeholder, value: query, onChange: (e) => setQuery(e.target.value), onKeyDown: onKeyDown, className: "w-full px-3 py-2 rounded-lg border border-border-primary bg-surface-secondary", "aria-autocomplete": "list", "aria-expanded": predictions.length > 0, "aria-owns": "address-selector-list" }), error && _jsx("div", { className: "mt-2 text-sm text-red-600", children: error }), predictions.length > 0 && (_jsx("ul", { id: "address-selector-list", role: "listbox", className: "absolute z-20 left-0 right-0 mt-2 bg-white border border-border-primary rounded-md shadow-lg max-h-64 overflow-auto", children: predictions.map((p, i) => (_jsxs("li", { role: "option", "aria-selected": i === active, className: cn('px-3 py-2 cursor-pointer hover:bg-surface-primary', i === active ? 'bg-surface-primary' : ''), onMouseDown: (ev) => {
|
|
139
|
+
// prevent input blur
|
|
140
|
+
ev.preventDefault();
|
|
141
|
+
choose(p);
|
|
142
|
+
}, onMouseEnter: () => setActive(i), children: [_jsx("div", { className: "text-sm font-medium", children: p.structured_formatting.main_text }), _jsx("div", { className: "text-xs text-text-tertiary", children: p.structured_formatting.secondary_text ?? p.description })] }, p.place_id))) }))] }));
|
|
143
|
+
};
|
|
144
|
+
export default AddressSelector;
|
|
145
|
+
//# sourceMappingURL=AddressSelector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddressSelector.js","sourceRoot":"","sources":["../../components/AddressSelector.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { CalendarEvent } from './Calendar';
|
|
3
|
+
interface AgendaViewProps {
|
|
4
|
+
events: CalendarEvent[];
|
|
5
|
+
currentDate: Date;
|
|
6
|
+
days?: number;
|
|
7
|
+
onEventClick?: (event: CalendarEvent) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const AgendaView: React.FC<AgendaViewProps>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=AgendaView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgendaView.d.ts","sourceRoot":"","sources":["../../components/AgendaView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,UAAU,eAAe;IACrB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,WAAW,EAAE,IAAI,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CACjD;AAWD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA0FhD,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { tokens } from '../tokens';
|
|
3
|
+
const MONTHS = [
|
|
4
|
+
'January', 'February', 'March', 'April', 'May', 'June',
|
|
5
|
+
'July', 'August', 'September', 'October', 'November', 'December'
|
|
6
|
+
];
|
|
7
|
+
const DAYS_FULL = [
|
|
8
|
+
'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'
|
|
9
|
+
];
|
|
10
|
+
export const AgendaView = ({ events, currentDate, days = 30, onEventClick, }) => {
|
|
11
|
+
// Filter events within the specified number of days from currentDate
|
|
12
|
+
const startDate = new Date(currentDate);
|
|
13
|
+
startDate.setHours(0, 0, 0, 0);
|
|
14
|
+
const endDate = new Date(currentDate);
|
|
15
|
+
endDate.setDate(endDate.getDate() + days);
|
|
16
|
+
endDate.setHours(23, 59, 59, 999);
|
|
17
|
+
const filteredEvents = events.filter(event => {
|
|
18
|
+
const eventDate = new Date(event.date);
|
|
19
|
+
return eventDate >= startDate && eventDate <= endDate;
|
|
20
|
+
});
|
|
21
|
+
const sortedEvents = [...filteredEvents].sort((a, b) => a.date.getTime() - b.date.getTime());
|
|
22
|
+
const groupedEvents = {};
|
|
23
|
+
sortedEvents.forEach(event => {
|
|
24
|
+
const dateKey = event.date.toDateString();
|
|
25
|
+
if (!groupedEvents[dateKey]) {
|
|
26
|
+
groupedEvents[dateKey] = [];
|
|
27
|
+
}
|
|
28
|
+
groupedEvents[dateKey].push(event);
|
|
29
|
+
});
|
|
30
|
+
return (_jsx("div", { style: { maxHeight: '600px', overflowY: 'auto' }, children: Object.keys(groupedEvents).length === 0 ? (_jsx("div", { style: { textAlign: 'center', padding: tokens.spacing[8], color: 'var(--color-text-tertiary)' }, children: "No events scheduled" })) : (Object.keys(groupedEvents).map(dateKey => {
|
|
31
|
+
const date = new Date(dateKey);
|
|
32
|
+
const dayEvents = groupedEvents[dateKey];
|
|
33
|
+
return (_jsxs("div", { style: { marginBottom: tokens.spacing[4] }, children: [_jsxs("div", { style: { fontSize: tokens.typography.fontSize.lg, fontWeight: tokens.typography.fontWeight.semibold, color: 'var(--color-text-primary)', marginBottom: tokens.spacing[2], paddingBottom: tokens.spacing[2], borderBottom: `1px solid var(--color-border-primary)` }, children: [DAYS_FULL[date.getDay()], ", ", MONTHS[date.getMonth()], " ", date.getDate(), ", ", date.getFullYear()] }), _jsx("div", { style: { display: 'flex', flexDirection: 'column', gap: tokens.spacing[4] }, children: dayEvents.map(event => (_jsx("div", { onClick: () => onEventClick?.(event), style: {
|
|
34
|
+
padding: tokens.spacing[4],
|
|
35
|
+
backgroundColor: 'var(--color-background-secondary)',
|
|
36
|
+
borderLeft: `4px solid ${event.color || 'var(--color-accent-blue)'}`,
|
|
37
|
+
borderRadius: tokens.radius.md,
|
|
38
|
+
cursor: 'pointer',
|
|
39
|
+
transition: `all ${tokens.motion.duration.fast} ${tokens.motion.easing.standard}`,
|
|
40
|
+
}, onMouseEnter: (e) => {
|
|
41
|
+
e.currentTarget.style.backgroundColor = 'var(--color-background-tertiary)';
|
|
42
|
+
}, onMouseLeave: (e) => {
|
|
43
|
+
e.currentTarget.style.backgroundColor = 'var(--color-background-secondary)';
|
|
44
|
+
}, children: _jsx("div", { style: { display: 'flex', justifyContent: 'space-between', alignItems: 'start' }, children: _jsxs("div", { style: { flex: 1 }, children: [_jsx("div", { style: { fontSize: tokens.typography.fontSize.base, fontWeight: tokens.typography.fontWeight.semibold, color: 'var(--color-text-primary)', marginBottom: tokens.spacing[2] }, children: event.title }), event.description && (_jsx("div", { style: { fontSize: tokens.typography.fontSize.sm, color: 'var(--color-text-secondary)', marginBottom: tokens.spacing[2] }, children: event.description })), _jsxs("div", { style: { fontSize: tokens.typography.fontSize.sm, color: 'var(--color-text-tertiary)' }, children: [event.startTime && `${event.startTime} - ${event.endTime}`, event.location && ` • 📍 ${event.location}`] })] }) }) }, event.id))) })] }, dateKey));
|
|
45
|
+
})) }));
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=AgendaView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgendaView.js","sourceRoot":"","sources":["../../components/AgendaView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type VariantProps } from "class-variance-authority";
|
|
3
|
+
declare const Alert: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
|
|
4
|
+
variant?: "destructive" | "default" | "success" | "warning" | "info" | null | undefined;
|
|
5
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string> & React.RefAttributes<HTMLDivElement>>;
|
|
6
|
+
declare const AlertTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLParagraphElement>>;
|
|
7
|
+
declare const AlertDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
|
|
8
|
+
export { Alert, AlertTitle, AlertDescription };
|
|
9
|
+
//# sourceMappingURL=Alert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Alert.d.ts","sourceRoot":"","sources":["../../components/Alert.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAiClE,QAAA,MAAM,KAAK;;sHAiBT,CAAC;AAGH,QAAA,MAAM,UAAU,uHASd,CAAC;AAGH,QAAA,MAAM,gBAAgB,yHASpB,CAAC;AAGH,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { cva } from "class-variance-authority";
|
|
5
|
+
import { AlertCircle, CheckCircle2, Info, XCircle } from "lucide-react";
|
|
6
|
+
import { cn } from "../lib/utils";
|
|
7
|
+
const alertVariants = cva("relative w-full rounded-xl border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground", {
|
|
8
|
+
variants: {
|
|
9
|
+
variant: {
|
|
10
|
+
default: "bg-surface-secondary text-text-primary border-border-primary",
|
|
11
|
+
destructive: "border-status-error/50 text-status-error dark:border-status-error [&>svg]:text-status-error bg-red-600/10",
|
|
12
|
+
success: "border-status-success/50 text-status-success dark:border-status-success [&>svg]:text-status-success bg-status-success/10",
|
|
13
|
+
warning: "border-status-warning/50 text-status-warning dark:border-status-warning [&>svg]:text-status-warning bg-status-warning/10",
|
|
14
|
+
info: "border-status-info/50 text-status-info dark:border-status-info [&>svg]:text-status-info bg-status-info/10",
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
defaultVariants: {
|
|
18
|
+
variant: "default",
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
const icons = {
|
|
22
|
+
default: Info,
|
|
23
|
+
destructive: XCircle,
|
|
24
|
+
success: CheckCircle2,
|
|
25
|
+
warning: AlertCircle,
|
|
26
|
+
info: Info,
|
|
27
|
+
};
|
|
28
|
+
const Alert = React.forwardRef(({ className, variant = "default", children, ...props }, ref) => {
|
|
29
|
+
const Icon = icons[variant || "default"];
|
|
30
|
+
return (_jsxs("div", { ref: ref, role: "alert", className: cn(alertVariants({ variant }), className), ...props, children: [_jsx(Icon, { className: "h-4 w-4" }), children] }));
|
|
31
|
+
});
|
|
32
|
+
Alert.displayName = "Alert";
|
|
33
|
+
const AlertTitle = React.forwardRef(({ className, ...props }, ref) => (_jsx("h5", { ref: ref, className: cn("mb-1 font-medium leading-none tracking-tight", className), ...props })));
|
|
34
|
+
AlertTitle.displayName = "AlertTitle";
|
|
35
|
+
const AlertDescription = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn("text-sm [&_p]:leading-relaxed opacity-90", className), ...props })));
|
|
36
|
+
AlertDescription.displayName = "AlertDescription";
|
|
37
|
+
export { Alert, AlertTitle, AlertDescription };
|
|
38
|
+
//# sourceMappingURL=Alert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Alert.js","sourceRoot":"","sources":["../../components/Alert.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,MAAM,aAAa,GAAG,GAAG,CACrB,2JAA2J,EAC3J;IACI,QAAQ,EAAE;QACN,OAAO,EAAE;YACL,OAAO,EAAE,8DAA8D;YACvE,WAAW,EACP,2GAA2G;YAC/G,OAAO,EACH,0HAA0H;YAC9H,OAAO,EACH,0HAA0H;YAC9H,IAAI,EAAE,2GAA2G;SACpH;KACJ;IACD,eAAe,EAAE;QACb,OAAO,EAAE,SAAS;KACrB;CACJ,CACJ,CAAC;AAEF,MAAM,KAAK,GAAG;IACV,OAAO,EAAE,IAAI;IACb,WAAW,EAAE,OAAO;IACpB,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,WAAW;IACpB,IAAI,EAAE,IAAI;CACb,CAAC;AAEF,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAG5B,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC;IAEzC,OAAO,CACH,eACI,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,OAAO,EACZ,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,KAChD,KAAK,aAET,KAAC,IAAI,IAAC,SAAS,EAAC,SAAS,GAAG,EAC3B,QAAQ,IACP,CACT,CAAC;AACN,CAAC,CAAC,CAAC;AACH,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;AAE5B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAGjC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,aACI,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,8CAA8C,EAAE,SAAS,CAAC,KACpE,KAAK,GACX,CACL,CAAC,CAAC;AACH,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC;AAEtC,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAGvC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,cACI,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,0CAA0C,EAAE,SAAS,CAAC,KAChE,KAAK,GACX,CACL,CAAC,CAAC;AACH,gBAAgB,CAAC,WAAW,GAAG,kBAAkB,CAAC;AAElD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface AudioPlayerProps {
|
|
3
|
+
src: string;
|
|
4
|
+
title?: string;
|
|
5
|
+
artist?: string;
|
|
6
|
+
coverArt?: string;
|
|
7
|
+
autoPlay?: boolean;
|
|
8
|
+
className?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare const AudioPlayer: React.FC<AudioPlayerProps>;
|
|
11
|
+
//# sourceMappingURL=AudioPlayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AudioPlayer.d.ts","sourceRoot":"","sources":["../../components/AudioPlayer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAgB3D,MAAM,WAAW,gBAAgB;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAuOlD,CAAC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useRef, useEffect } from 'react';
|
|
3
|
+
import { Play, Pause, Volume2, VolumeX, SkipBack, SkipForward } from 'lucide-react';
|
|
4
|
+
import { Slider } from './Slider';
|
|
5
|
+
import { cn } from '../lib/utils';
|
|
6
|
+
import { Combobox } from './Combobox';
|
|
7
|
+
export const AudioPlayer = ({ src, title, artist, coverArt, autoPlay = false, className, }) => {
|
|
8
|
+
const audioRef = useRef(null);
|
|
9
|
+
const [isPlaying, setIsPlaying] = useState(false);
|
|
10
|
+
const [currentTime, setCurrentTime] = useState(0);
|
|
11
|
+
const [duration, setDuration] = useState(0);
|
|
12
|
+
const [volume, setVolume] = useState(1);
|
|
13
|
+
const [isMuted, setIsMuted] = useState(false);
|
|
14
|
+
const [playbackRate, setPlaybackRate] = useState(1);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
const audio = audioRef.current;
|
|
17
|
+
if (!audio)
|
|
18
|
+
return;
|
|
19
|
+
if (autoPlay) {
|
|
20
|
+
audio.play().catch(() => setIsPlaying(false));
|
|
21
|
+
}
|
|
22
|
+
const handleTimeUpdate = () => setCurrentTime(audio.currentTime);
|
|
23
|
+
const handleDurationChange = () => setDuration(audio.duration);
|
|
24
|
+
const handlePlay = () => setIsPlaying(true);
|
|
25
|
+
const handlePause = () => setIsPlaying(false);
|
|
26
|
+
const handleEnded = () => setIsPlaying(false);
|
|
27
|
+
audio.addEventListener('timeupdate', handleTimeUpdate);
|
|
28
|
+
audio.addEventListener('durationchange', handleDurationChange);
|
|
29
|
+
audio.addEventListener('play', handlePlay);
|
|
30
|
+
audio.addEventListener('pause', handlePause);
|
|
31
|
+
audio.addEventListener('ended', handleEnded);
|
|
32
|
+
return () => {
|
|
33
|
+
audio.removeEventListener('timeupdate', handleTimeUpdate);
|
|
34
|
+
audio.removeEventListener('durationchange', handleDurationChange);
|
|
35
|
+
audio.removeEventListener('play', handlePlay);
|
|
36
|
+
audio.removeEventListener('pause', handlePause);
|
|
37
|
+
audio.removeEventListener('ended', handleEnded);
|
|
38
|
+
};
|
|
39
|
+
}, [autoPlay]);
|
|
40
|
+
const playbackOptions = [
|
|
41
|
+
{ value: "0.5", label: "Speed: 0.5x" },
|
|
42
|
+
{ value: "1", label: "Speed: 1.0x" },
|
|
43
|
+
{ value: "1.5", label: "Speed: 1.5x" },
|
|
44
|
+
{ value: "2", label: "Speed: 2.0x" },
|
|
45
|
+
{ value: "download", label: "Download" },
|
|
46
|
+
];
|
|
47
|
+
const togglePlay = () => {
|
|
48
|
+
if (audioRef.current) {
|
|
49
|
+
if (isPlaying) {
|
|
50
|
+
audioRef.current.pause();
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
audioRef.current.play();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
const handleSeek = (value) => {
|
|
58
|
+
if (audioRef.current) {
|
|
59
|
+
audioRef.current.currentTime = value;
|
|
60
|
+
setCurrentTime(value);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
const handleVolumeChange = (value) => {
|
|
64
|
+
const newVolume = value;
|
|
65
|
+
if (audioRef.current) {
|
|
66
|
+
audioRef.current.volume = newVolume;
|
|
67
|
+
setVolume(newVolume);
|
|
68
|
+
setIsMuted(newVolume === 0);
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
const toggleMute = () => {
|
|
72
|
+
if (audioRef.current) {
|
|
73
|
+
audioRef.current.muted = !isMuted;
|
|
74
|
+
setIsMuted(!isMuted);
|
|
75
|
+
if (!isMuted) {
|
|
76
|
+
setVolume(0);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
setVolume(1);
|
|
80
|
+
audioRef.current.volume = 1;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
const skip = (seconds) => {
|
|
85
|
+
if (audioRef.current) {
|
|
86
|
+
audioRef.current.currentTime += seconds;
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
const changePlaybackRate = (rate) => {
|
|
90
|
+
if (audioRef.current) {
|
|
91
|
+
audioRef.current.playbackRate = rate;
|
|
92
|
+
setPlaybackRate(rate);
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
const formatTime = (time) => {
|
|
96
|
+
if (isNaN(time))
|
|
97
|
+
return "0:00";
|
|
98
|
+
const minutes = Math.floor(time / 60);
|
|
99
|
+
const seconds = Math.floor(time % 60);
|
|
100
|
+
return `${minutes}:${seconds.toString().padStart(2, '0')}`;
|
|
101
|
+
};
|
|
102
|
+
return (_jsxs("div", { className: cn("flex flex-col gap-4 p-4 rounded-2xl bg-surface-primary border border-border-primary shadow-sm w-full max-w-md", className), children: [_jsx("audio", { ref: audioRef, src: src }), _jsxs("div", { className: "flex items-center gap-4", children: [coverArt ? (_jsx("div", { className: cn("w-16 h-16 rounded-xl overflow-hidden bg-surface-secondary flex-shrink-0 shadow-inner", isPlaying && "animate-pulse-slow" // Optional subtle animation
|
|
103
|
+
), children: _jsx("img", { src: coverArt, alt: title, className: "w-full h-full object-cover" }) })) : (_jsx("div", { className: "w-16 h-16 rounded-xl bg-gradient-to-br from-accent-blue to-purple-500 flex-shrink-0 flex items-center justify-center text-black font-bold text-xl shadow-inner", children: title ? title[0] : _jsx(Volume2, { className: "text-white" }) })), _jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("h3", { className: "font-semibold text-text-primary truncate", children: title || "Unknown Track" }), _jsx("p", { className: "text-sm text-text-secondary truncate", children: artist || "Unknown Artist" })] }), _jsx("div", { className: "w-36", children: _jsx(Combobox, { items: playbackOptions.map((option) => ({
|
|
104
|
+
...option,
|
|
105
|
+
label: option.value !== "download"
|
|
106
|
+
? `${option.label}${playbackRate === Number(option.value) ? " ✓" : ""}`
|
|
107
|
+
: option.label,
|
|
108
|
+
})), value: String(playbackRate), onChange: (val) => {
|
|
109
|
+
if (val === "download") {
|
|
110
|
+
window.open(src, "_blank");
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
changePlaybackRate(Number(val));
|
|
114
|
+
}, placeholder: "Options" }) })] }), _jsxs("div", { className: "flex flex-col gap-1", children: [_jsx(Slider, { value: currentTime, min: 0, max: duration || 100, step: 0.1, onValueChange: handleSeek, className: "py-2" }), _jsxs("div", { className: "flex justify-between text-xs font-mono text-text-tertiary", children: [_jsx("span", { children: formatTime(currentTime) }), _jsx("span", { children: formatTime(duration) })] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-2 group w-24", children: [_jsx("button", { onClick: toggleMute, className: "text-text-secondary hover:text-text-primary transition-colors", children: isMuted || volume === 0 ? _jsx(VolumeX, { className: "w-4 h-4" }) : _jsx(Volume2, { className: "w-4 h-4" }) }), _jsx(Slider, { value: isMuted ? 0 : volume, min: 0, max: 1, step: 0.01, onValueChange: handleVolumeChange, className: "w-full" })] }), _jsxs("div", { className: "flex items-center gap-4", children: [_jsx("button", { onClick: () => skip(-10), className: "text-text-secondary hover:text-text-primary transition-colors p-1", children: _jsx(SkipBack, { className: "w-5 h-5" }) }), _jsx("button", { onClick: togglePlay, className: "w-12 h-12 rounded-full bg-text-primary text-surface-primary flex items-center justify-center hover:scale-105 active:scale-95 transition-all shadow-md", children: isPlaying ? (_jsx(Pause, { className: "w-5 h-5" })) : (_jsx(Play, { className: "w-5 h-5 ml-0.5" })) }), _jsx("button", { onClick: () => skip(10), className: "text-text-secondary hover:text-text-primary transition-colors p-1", children: _jsx(SkipForward, { className: "w-5 h-5" }) })] }), _jsx("div", { className: "w-24 flex justify-end", children: _jsxs("span", { className: "text-xs font-medium text-accent-blue bg-accent-blue/10 px-2 py-1 rounded-md", children: [playbackRate, "x"] }) })] })] }));
|
|
115
|
+
};
|
|
116
|
+
//# sourceMappingURL=AudioPlayer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AudioPlayer.js","sourceRoot":"","sources":["../../components/AudioPlayer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { type VariantProps } from "class-variance-authority";
|
|
3
|
+
declare const avatarVariants: (props?: ({
|
|
4
|
+
size?: "sm" | "md" | "lg" | "xs" | "xl" | "2xl" | null | undefined;
|
|
5
|
+
shape?: "circle" | "square" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
export interface AvatarProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof avatarVariants> {
|
|
8
|
+
}
|
|
9
|
+
declare const Avatar: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export interface AvatarImageProps extends React.ImgHTMLAttributes<HTMLImageElement> {
|
|
11
|
+
}
|
|
12
|
+
declare const AvatarImage: React.ForwardRefExoticComponent<AvatarImageProps & React.RefAttributes<HTMLImageElement>>;
|
|
13
|
+
export interface AvatarFallbackProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
14
|
+
}
|
|
15
|
+
declare const AvatarFallback: React.ForwardRefExoticComponent<AvatarFallbackProps & React.RefAttributes<HTMLDivElement>>;
|
|
16
|
+
export { Avatar, AvatarImage, AvatarFallback };
|
|
17
|
+
//# sourceMappingURL=Avatar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../components/Avatar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,QAAA,MAAM,cAAc;;;8EAsBnB,CAAC;AAWF,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,YAAY,CAAC,OAAO,cAAc,CAAC;CAAG;AAEjH,QAAA,MAAM,MAAM,oFAcX,CAAC;AAGF,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;CAAG;AAEtF,QAAA,MAAM,WAAW,2FA+Cf,CAAC;AAGH,MAAM,WAAW,mBAAoB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAEpF,QAAA,MAAM,cAAc,4FAqBlB,CAAC;AAGH,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { cva } from "class-variance-authority";
|
|
5
|
+
import { cn } from "../lib/utils";
|
|
6
|
+
const avatarVariants = cva("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full transition-opacity hover:opacity-90", {
|
|
7
|
+
variants: {
|
|
8
|
+
size: {
|
|
9
|
+
xs: "h-6 w-6 text-xs",
|
|
10
|
+
sm: "h-8 w-8 text-xs",
|
|
11
|
+
md: "h-10 w-10 text-sm",
|
|
12
|
+
lg: "h-12 w-12 text-base",
|
|
13
|
+
xl: "h-16 w-16 text-xl",
|
|
14
|
+
"2xl": "h-24 w-24 text-2xl",
|
|
15
|
+
},
|
|
16
|
+
shape: {
|
|
17
|
+
circle: "rounded-full",
|
|
18
|
+
square: "rounded-lg", // Apple style square avatars often have rounded corners
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
defaultVariants: {
|
|
22
|
+
size: "md",
|
|
23
|
+
shape: "circle",
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
const AvatarContext = React.createContext(null);
|
|
27
|
+
const Avatar = React.forwardRef(({ className, size, shape, children, ...props }, ref) => {
|
|
28
|
+
const [status, setStatus] = React.useState("idle");
|
|
29
|
+
const contextValue = React.useMemo(() => ({ status, setStatus }), [status]);
|
|
30
|
+
return (_jsx(AvatarContext.Provider, { value: contextValue, children: _jsx("div", { ref: ref, className: cn(avatarVariants({ size, shape }), className), ...props, children: children }) }));
|
|
31
|
+
});
|
|
32
|
+
Avatar.displayName = "Avatar";
|
|
33
|
+
const AvatarImage = React.forwardRef(({ className, onError, onLoad, ...props }, ref) => {
|
|
34
|
+
const avatar = React.useContext(AvatarContext);
|
|
35
|
+
if (!avatar) {
|
|
36
|
+
throw new Error("AvatarImage must be used within Avatar");
|
|
37
|
+
}
|
|
38
|
+
const handleLoad = (event) => {
|
|
39
|
+
avatar.setStatus("loaded");
|
|
40
|
+
onLoad?.(event);
|
|
41
|
+
};
|
|
42
|
+
const handleError = (event) => {
|
|
43
|
+
avatar.setStatus("error");
|
|
44
|
+
onError?.(event);
|
|
45
|
+
};
|
|
46
|
+
React.useEffect(() => {
|
|
47
|
+
if (!props.src) {
|
|
48
|
+
avatar.setStatus("error");
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
// If the image was already cached by the browser, mark as loaded to avoid a brief fallback flash.
|
|
52
|
+
const img = new Image();
|
|
53
|
+
img.src = props.src;
|
|
54
|
+
if (img.complete) {
|
|
55
|
+
avatar.setStatus("loaded");
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
avatar.setStatus("loading");
|
|
59
|
+
}, [avatar, props.src]);
|
|
60
|
+
const showImage = avatar.status === "loaded";
|
|
61
|
+
return (_jsx("img", { ref: ref, className: cn("aspect-square h-full w-full object-cover", className), onLoad: handleLoad, onError: handleError, "aria-hidden": !showImage, style: !showImage ? { display: "none" } : undefined, ...props }));
|
|
62
|
+
});
|
|
63
|
+
AvatarImage.displayName = "AvatarImage";
|
|
64
|
+
const AvatarFallback = React.forwardRef(({ className, ...props }, ref) => {
|
|
65
|
+
const avatar = React.useContext(AvatarContext);
|
|
66
|
+
if (!avatar) {
|
|
67
|
+
throw new Error("AvatarFallback must be used within Avatar");
|
|
68
|
+
}
|
|
69
|
+
const showFallback = avatar.status !== "loaded";
|
|
70
|
+
return (_jsx("div", { ref: ref, "aria-hidden": !showFallback, style: !showFallback ? { display: "none" } : undefined, className: cn("flex h-full w-full items-center justify-center bg-surface-secondary text-text-secondary font-medium", className), ...props }));
|
|
71
|
+
});
|
|
72
|
+
AvatarFallback.displayName = "AvatarFallback";
|
|
73
|
+
export { Avatar, AvatarImage, AvatarFallback };
|
|
74
|
+
//# sourceMappingURL=Avatar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../components/Avatar.tsx"],"names":[],"mappings":"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"}
|