@smart-coder-labs/apple-design-system 1.0.0 → 1.0.1
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/dist/index.d.ts +0 -240
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -134
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +4 -1
- package/dist/components/AIThinkingIndicator.d.ts +0 -10
- package/dist/components/AIThinkingIndicator.d.ts.map +0 -1
- package/dist/components/AIThinkingIndicator.js +0 -60
- package/dist/components/AIThinkingIndicator.js.map +0 -1
- package/dist/components/Accordion.d.ts +0 -27
- package/dist/components/Accordion.d.ts.map +0 -1
- package/dist/components/Accordion.js +0 -123
- package/dist/components/Accordion.js.map +0 -1
- package/dist/components/ActivityFeed.d.ts +0 -26
- package/dist/components/ActivityFeed.d.ts.map +0 -1
- package/dist/components/ActivityFeed.js +0 -55
- package/dist/components/ActivityFeed.js.map +0 -1
- package/dist/components/ActivityMonitor.d.ts +0 -38
- package/dist/components/ActivityMonitor.d.ts.map +0 -1
- package/dist/components/ActivityMonitor.js +0 -164
- package/dist/components/ActivityMonitor.js.map +0 -1
- package/dist/components/AddressSelector.d.ts +0 -23
- package/dist/components/AddressSelector.d.ts.map +0 -1
- package/dist/components/AddressSelector.js +0 -145
- package/dist/components/AddressSelector.js.map +0 -1
- package/dist/components/AgendaView.d.ts +0 -11
- package/dist/components/AgendaView.d.ts.map +0 -1
- package/dist/components/AgendaView.js +0 -47
- package/dist/components/AgendaView.js.map +0 -1
- package/dist/components/Alert.d.ts +0 -9
- package/dist/components/Alert.d.ts.map +0 -1
- package/dist/components/Alert.js +0 -38
- package/dist/components/Alert.js.map +0 -1
- package/dist/components/AudioPlayer.d.ts +0 -11
- package/dist/components/AudioPlayer.d.ts.map +0 -1
- package/dist/components/AudioPlayer.js +0 -116
- package/dist/components/AudioPlayer.js.map +0 -1
- package/dist/components/Avatar.d.ts +0 -17
- package/dist/components/Avatar.d.ts.map +0 -1
- package/dist/components/Avatar.js +0 -74
- package/dist/components/Avatar.js.map +0 -1
- package/dist/components/AvatarGroup.d.ts +0 -15
- package/dist/components/AvatarGroup.d.ts.map +0 -1
- package/dist/components/AvatarGroup.js +0 -28
- package/dist/components/AvatarGroup.js.map +0 -1
- package/dist/components/Badge.d.ts +0 -21
- package/dist/components/Badge.d.ts.map +0 -1
- package/dist/components/Badge.js +0 -103
- package/dist/components/Badge.js.map +0 -1
- package/dist/components/BarcodeGenerator.d.ts +0 -18
- package/dist/components/BarcodeGenerator.d.ts.map +0 -1
- package/dist/components/BarcodeGenerator.js +0 -64
- package/dist/components/BarcodeGenerator.js.map +0 -1
- package/dist/components/Blockquote.d.ts +0 -9
- package/dist/components/Blockquote.d.ts.map +0 -1
- package/dist/components/Blockquote.js +0 -8
- package/dist/components/Blockquote.js.map +0 -1
- package/dist/components/BottomNavigation.d.ts +0 -21
- package/dist/components/BottomNavigation.d.ts.map +0 -1
- package/dist/components/BottomNavigation.js +0 -77
- package/dist/components/BottomNavigation.js.map +0 -1
- package/dist/components/Breadcrumb.d.ts +0 -20
- package/dist/components/Breadcrumb.d.ts.map +0 -1
- package/dist/components/Breadcrumb.js +0 -24
- package/dist/components/Breadcrumb.js.map +0 -1
- package/dist/components/BreadcrumbTabsHybrid.d.ts +0 -25
- package/dist/components/BreadcrumbTabsHybrid.d.ts.map +0 -1
- package/dist/components/BreadcrumbTabsHybrid.js +0 -58
- package/dist/components/BreadcrumbTabsHybrid.js.map +0 -1
- package/dist/components/Button.d.ts +0 -14
- package/dist/components/Button.d.ts.map +0 -1
- package/dist/components/Button.js +0 -91
- package/dist/components/Button.js.map +0 -1
- package/dist/components/ButtonWithDropdown.d.ts +0 -19
- package/dist/components/ButtonWithDropdown.d.ts.map +0 -1
- package/dist/components/ButtonWithDropdown.js +0 -33
- package/dist/components/ButtonWithDropdown.js.map +0 -1
- package/dist/components/Calendar.d.ts +0 -28
- package/dist/components/Calendar.d.ts.map +0 -1
- package/dist/components/Calendar.js +0 -365
- package/dist/components/Calendar.js.map +0 -1
- package/dist/components/Callout.d.ts +0 -11
- package/dist/components/Callout.d.ts.map +0 -1
- package/dist/components/Callout.js +0 -35
- package/dist/components/Callout.js.map +0 -1
- package/dist/components/Caption.d.ts +0 -6
- package/dist/components/Caption.d.ts.map +0 -1
- package/dist/components/Caption.js +0 -7
- package/dist/components/Caption.js.map +0 -1
- package/dist/components/Card.d.ts +0 -30
- package/dist/components/Card.d.ts.map +0 -1
- package/dist/components/Card.js +0 -72
- package/dist/components/Card.js.map +0 -1
- package/dist/components/CartPreview.d.ts +0 -28
- package/dist/components/CartPreview.d.ts.map +0 -1
- package/dist/components/CartPreview.js +0 -80
- package/dist/components/CartPreview.js.map +0 -1
- package/dist/components/Chart.d.ts +0 -19
- package/dist/components/Chart.d.ts.map +0 -1
- package/dist/components/Chart.js +0 -46
- package/dist/components/Chart.js.map +0 -1
- package/dist/components/ChatBubble.d.ts +0 -19
- package/dist/components/ChatBubble.d.ts.map +0 -1
- package/dist/components/ChatBubble.js +0 -27
- package/dist/components/ChatBubble.js.map +0 -1
- package/dist/components/ChatInput.d.ts +0 -22
- package/dist/components/ChatInput.d.ts.map +0 -1
- package/dist/components/ChatInput.js +0 -115
- package/dist/components/ChatInput.js.map +0 -1
- package/dist/components/Checkbox.d.ts +0 -10
- package/dist/components/Checkbox.d.ts.map +0 -1
- package/dist/components/Checkbox.js +0 -35
- package/dist/components/Checkbox.js.map +0 -1
- package/dist/components/Chip.d.ts +0 -14
- package/dist/components/Chip.d.ts.map +0 -1
- package/dist/components/Chip.js +0 -43
- package/dist/components/Chip.js.map +0 -1
- package/dist/components/CodeBlock.d.ts +0 -9
- package/dist/components/CodeBlock.d.ts.map +0 -1
- package/dist/components/CodeBlock.js +0 -16
- package/dist/components/CodeBlock.js.map +0 -1
- package/dist/components/Collapsible.d.ts +0 -19
- package/dist/components/Collapsible.d.ts.map +0 -1
- package/dist/components/Collapsible.js +0 -42
- package/dist/components/Collapsible.js.map +0 -1
- package/dist/components/Combobox.d.ts +0 -17
- package/dist/components/Combobox.d.ts.map +0 -1
- package/dist/components/Combobox.js +0 -114
- package/dist/components/Combobox.js.map +0 -1
- package/dist/components/CommandMenu.d.ts +0 -36
- package/dist/components/CommandMenu.d.ts.map +0 -1
- package/dist/components/CommandMenu.js +0 -102
- package/dist/components/CommandMenu.js.map +0 -1
- package/dist/components/CommentThread.d.ts +0 -28
- package/dist/components/CommentThread.d.ts.map +0 -1
- package/dist/components/CommentThread.js +0 -66
- package/dist/components/CommentThread.js.map +0 -1
- package/dist/components/ConfirmDialog.d.ts +0 -27
- package/dist/components/ConfirmDialog.d.ts.map +0 -1
- package/dist/components/ConfirmDialog.js +0 -62
- package/dist/components/ConfirmDialog.js.map +0 -1
- package/dist/components/ContextMenu.d.ts +0 -85
- package/dist/components/ContextMenu.d.ts.map +0 -1
- package/dist/components/ContextMenu.js +0 -191
- package/dist/components/ContextMenu.js.map +0 -1
- package/dist/components/ControlCenterToggles.d.ts +0 -18
- package/dist/components/ControlCenterToggles.d.ts.map +0 -1
- package/dist/components/ControlCenterToggles.js +0 -14
- package/dist/components/ControlCenterToggles.js.map +0 -1
- package/dist/components/Counters.d.ts +0 -16
- package/dist/components/Counters.d.ts.map +0 -1
- package/dist/components/Counters.js +0 -9
- package/dist/components/Counters.js.map +0 -1
- package/dist/components/CountersListWithChart.d.ts +0 -15
- package/dist/components/CountersListWithChart.d.ts.map +0 -1
- package/dist/components/CountersListWithChart.js +0 -22
- package/dist/components/CountersListWithChart.js.map +0 -1
- package/dist/components/DataGrid.d.ts +0 -38
- package/dist/components/DataGrid.d.ts.map +0 -1
- package/dist/components/DataGrid.js +0 -271
- package/dist/components/DataGrid.js.map +0 -1
- package/dist/components/DatePicker.d.ts +0 -17
- package/dist/components/DatePicker.d.ts.map +0 -1
- package/dist/components/DatePicker.js +0 -248
- package/dist/components/DatePicker.js.map +0 -1
- package/dist/components/DateRangePicker.d.ts +0 -21
- package/dist/components/DateRangePicker.d.ts.map +0 -1
- package/dist/components/DateRangePicker.js +0 -213
- package/dist/components/DateRangePicker.js.map +0 -1
- package/dist/components/DefinitionList.d.ts +0 -21
- package/dist/components/DefinitionList.d.ts.map +0 -1
- package/dist/components/DefinitionList.js +0 -44
- package/dist/components/DefinitionList.js.map +0 -1
- package/dist/components/DescriptionBlock.d.ts +0 -36
- package/dist/components/DescriptionBlock.d.ts.map +0 -1
- package/dist/components/DescriptionBlock.js +0 -27
- package/dist/components/DescriptionBlock.js.map +0 -1
- package/dist/components/DeviceList.d.ts +0 -24
- package/dist/components/DeviceList.d.ts.map +0 -1
- package/dist/components/DeviceList.js +0 -46
- package/dist/components/DeviceList.js.map +0 -1
- package/dist/components/DiffViewer.d.ts +0 -13
- package/dist/components/DiffViewer.d.ts.map +0 -1
- package/dist/components/DiffViewer.js +0 -93
- package/dist/components/DiffViewer.js.map +0 -1
- package/dist/components/Divider.d.ts +0 -28
- package/dist/components/Divider.d.ts.map +0 -1
- package/dist/components/Divider.js +0 -16
- package/dist/components/Divider.js.map +0 -1
- package/dist/components/DockBar.d.ts +0 -29
- package/dist/components/DockBar.d.ts.map +0 -1
- package/dist/components/DockBar.js +0 -64
- package/dist/components/DockBar.js.map +0 -1
- package/dist/components/EmptyState.d.ts +0 -25
- package/dist/components/EmptyState.d.ts.map +0 -1
- package/dist/components/EmptyState.js +0 -20
- package/dist/components/EmptyState.js.map +0 -1
- package/dist/components/ErrorBoundary.d.ts +0 -24
- package/dist/components/ErrorBoundary.d.ts.map +0 -1
- package/dist/components/ErrorBoundary.js +0 -55
- package/dist/components/ErrorBoundary.js.map +0 -1
- package/dist/components/FAB.d.ts +0 -15
- package/dist/components/FAB.d.ts.map +0 -1
- package/dist/components/FAB.js +0 -46
- package/dist/components/FAB.js.map +0 -1
- package/dist/components/FABGroup.d.ts +0 -15
- package/dist/components/FABGroup.d.ts.map +0 -1
- package/dist/components/FABGroup.js +0 -47
- package/dist/components/FABGroup.js.map +0 -1
- package/dist/components/FileIntelligencePreview.d.ts +0 -25
- package/dist/components/FileIntelligencePreview.d.ts.map +0 -1
- package/dist/components/FileIntelligencePreview.js +0 -66
- package/dist/components/FileIntelligencePreview.js.map +0 -1
- package/dist/components/FileUpload.d.ts +0 -13
- package/dist/components/FileUpload.d.ts.map +0 -1
- package/dist/components/FileUpload.js +0 -107
- package/dist/components/FileUpload.js.map +0 -1
- package/dist/components/FilterBar.d.ts +0 -35
- package/dist/components/FilterBar.d.ts.map +0 -1
- package/dist/components/FilterBar.js +0 -79
- package/dist/components/FilterBar.js.map +0 -1
- package/dist/components/FloatingToolbar.d.ts +0 -24
- package/dist/components/FloatingToolbar.d.ts.map +0 -1
- package/dist/components/FloatingToolbar.js +0 -180
- package/dist/components/FloatingToolbar.js.map +0 -1
- package/dist/components/Footer.d.ts +0 -32
- package/dist/components/Footer.d.ts.map +0 -1
- package/dist/components/Footer.js +0 -31
- package/dist/components/Footer.js.map +0 -1
- package/dist/components/Gallery.d.ts +0 -11
- package/dist/components/Gallery.d.ts.map +0 -1
- package/dist/components/Gallery.js +0 -32
- package/dist/components/Gallery.js.map +0 -1
- package/dist/components/GestureCard.d.ts +0 -12
- package/dist/components/GestureCard.d.ts.map +0 -1
- package/dist/components/GestureCard.js +0 -58
- package/dist/components/GestureCard.js.map +0 -1
- package/dist/components/GridSystem.d.ts +0 -72
- package/dist/components/GridSystem.d.ts.map +0 -1
- package/dist/components/GridSystem.js +0 -65
- package/dist/components/GridSystem.js.map +0 -1
- package/dist/components/HamburgerMenuIcon.d.ts +0 -24
- package/dist/components/HamburgerMenuIcon.d.ts.map +0 -1
- package/dist/components/HamburgerMenuIcon.js +0 -44
- package/dist/components/HamburgerMenuIcon.js.map +0 -1
- package/dist/components/HapticButton.d.ts +0 -23
- package/dist/components/HapticButton.d.ts.map +0 -1
- package/dist/components/HapticButton.js +0 -104
- package/dist/components/HapticButton.js.map +0 -1
- package/dist/components/Heading.d.ts +0 -6
- package/dist/components/Heading.d.ts.map +0 -1
- package/dist/components/Heading.js +0 -7
- package/dist/components/Heading.js.map +0 -1
- package/dist/components/IconButton.d.ts +0 -14
- package/dist/components/IconButton.d.ts.map +0 -1
- package/dist/components/IconButton.js +0 -39
- package/dist/components/IconButton.js.map +0 -1
- package/dist/components/ImageCarousel.d.ts +0 -18
- package/dist/components/ImageCarousel.d.ts.map +0 -1
- package/dist/components/ImageCarousel.js +0 -74
- package/dist/components/ImageCarousel.js.map +0 -1
- package/dist/components/ImageCropper.d.ts +0 -10
- package/dist/components/ImageCropper.d.ts.map +0 -1
- package/dist/components/ImageCropper.js +0 -138
- package/dist/components/ImageCropper.js.map +0 -1
- package/dist/components/Input.d.ts +0 -18
- package/dist/components/Input.d.ts.map +0 -1
- package/dist/components/Input.js +0 -117
- package/dist/components/Input.js.map +0 -1
- package/dist/components/InspectorPanel.d.ts +0 -18
- package/dist/components/InspectorPanel.d.ts.map +0 -1
- package/dist/components/InspectorPanel.js +0 -33
- package/dist/components/InspectorPanel.js.map +0 -1
- package/dist/components/InvoicePreview.d.ts +0 -41
- package/dist/components/InvoicePreview.d.ts.map +0 -1
- package/dist/components/InvoicePreview.js +0 -106
- package/dist/components/InvoicePreview.js.map +0 -1
- package/dist/components/JsonViewer.d.ts +0 -17
- package/dist/components/JsonViewer.d.ts.map +0 -1
- package/dist/components/JsonViewer.js +0 -58
- package/dist/components/JsonViewer.js.map +0 -1
- package/dist/components/KPIBlock.d.ts +0 -23
- package/dist/components/KPIBlock.d.ts.map +0 -1
- package/dist/components/KPIBlock.js +0 -82
- package/dist/components/KPIBlock.js.map +0 -1
- package/dist/components/KanbanBoard.d.ts +0 -34
- package/dist/components/KanbanBoard.d.ts.map +0 -1
- package/dist/components/KanbanBoard.js +0 -296
- package/dist/components/KanbanBoard.js.map +0 -1
- package/dist/components/KeyValueInfo.d.ts +0 -28
- package/dist/components/KeyValueInfo.d.ts.map +0 -1
- package/dist/components/KeyValueInfo.js +0 -80
- package/dist/components/KeyValueInfo.js.map +0 -1
- package/dist/components/Label.d.ts +0 -8
- package/dist/components/Label.d.ts.map +0 -1
- package/dist/components/Label.js +0 -9
- package/dist/components/Label.js.map +0 -1
- package/dist/components/Layout.d.ts +0 -16
- package/dist/components/Layout.d.ts.map +0 -1
- package/dist/components/Layout.js +0 -26
- package/dist/components/Layout.js.map +0 -1
- package/dist/components/Lightbox.d.ts +0 -18
- package/dist/components/Lightbox.d.ts.map +0 -1
- package/dist/components/Lightbox.js +0 -60
- package/dist/components/Lightbox.js.map +0 -1
- package/dist/components/LoadingOverlay.d.ts +0 -32
- package/dist/components/LoadingOverlay.d.ts.map +0 -1
- package/dist/components/LoadingOverlay.js +0 -10
- package/dist/components/LoadingOverlay.js.map +0 -1
- package/dist/components/LoginForm.d.ts +0 -14
- package/dist/components/LoginForm.d.ts.map +0 -1
- package/dist/components/LoginForm.js +0 -36
- package/dist/components/LoginForm.js.map +0 -1
- package/dist/components/MaintenanceMode.d.ts +0 -41
- package/dist/components/MaintenanceMode.d.ts.map +0 -1
- package/dist/components/MaintenanceMode.js +0 -21
- package/dist/components/MaintenanceMode.js.map +0 -1
- package/dist/components/MarkdownEditor.d.ts +0 -14
- package/dist/components/MarkdownEditor.d.ts.map +0 -1
- package/dist/components/MarkdownEditor.js +0 -55
- package/dist/components/MarkdownEditor.js.map +0 -1
- package/dist/components/MasonryLayout.d.ts +0 -31
- package/dist/components/MasonryLayout.d.ts.map +0 -1
- package/dist/components/MasonryLayout.js +0 -17
- package/dist/components/MasonryLayout.js.map +0 -1
- package/dist/components/MenuBar.d.ts +0 -34
- package/dist/components/MenuBar.d.ts.map +0 -1
- package/dist/components/MenuBar.js +0 -66
- package/dist/components/MenuBar.js.map +0 -1
- package/dist/components/MessageReactions.d.ts +0 -22
- package/dist/components/MessageReactions.d.ts.map +0 -1
- package/dist/components/MessageReactions.js +0 -37
- package/dist/components/MessageReactions.js.map +0 -1
- package/dist/components/Modal.d.ts +0 -37
- package/dist/components/Modal.d.ts.map +0 -1
- package/dist/components/Modal.js +0 -93
- package/dist/components/Modal.js.map +0 -1
- package/dist/components/ModalStackManager.d.ts +0 -34
- package/dist/components/ModalStackManager.d.ts.map +0 -1
- package/dist/components/ModalStackManager.js +0 -52
- package/dist/components/ModalStackManager.js.map +0 -1
- package/dist/components/MultiFileUpload.d.ts +0 -15
- package/dist/components/MultiFileUpload.d.ts.map +0 -1
- package/dist/components/MultiFileUpload.js +0 -138
- package/dist/components/MultiFileUpload.js.map +0 -1
- package/dist/components/NavBar.d.ts +0 -30
- package/dist/components/NavBar.d.ts.map +0 -1
- package/dist/components/NavBar.js +0 -80
- package/dist/components/NavBar.js.map +0 -1
- package/dist/components/NavigationDrawer.d.ts +0 -48
- package/dist/components/NavigationDrawer.d.ts.map +0 -1
- package/dist/components/NavigationDrawer.js +0 -95
- package/dist/components/NavigationDrawer.js.map +0 -1
- package/dist/components/NotificationCenterPanel.d.ts +0 -25
- package/dist/components/NotificationCenterPanel.d.ts.map +0 -1
- package/dist/components/NotificationCenterPanel.js +0 -50
- package/dist/components/NotificationCenterPanel.js.map +0 -1
- package/dist/components/OTPInput.d.ts +0 -15
- package/dist/components/OTPInput.d.ts.map +0 -1
- package/dist/components/OTPInput.js +0 -144
- package/dist/components/OTPInput.js.map +0 -1
- package/dist/components/OfflineState.d.ts +0 -36
- package/dist/components/OfflineState.d.ts.map +0 -1
- package/dist/components/OfflineState.js +0 -21
- package/dist/components/OfflineState.js.map +0 -1
- package/dist/components/OrderSummary.d.ts +0 -19
- package/dist/components/OrderSummary.d.ts.map +0 -1
- package/dist/components/OrderSummary.js +0 -8
- package/dist/components/OrderSummary.js.map +0 -1
- package/dist/components/Pagination.d.ts +0 -28
- package/dist/components/Pagination.d.ts.map +0 -1
- package/dist/components/Pagination.js +0 -119
- package/dist/components/Pagination.js.map +0 -1
- package/dist/components/Panel.d.ts +0 -14
- package/dist/components/Panel.d.ts.map +0 -1
- package/dist/components/Panel.js +0 -27
- package/dist/components/Panel.js.map +0 -1
- package/dist/components/Paragraph.d.ts +0 -6
- package/dist/components/Paragraph.d.ts.map +0 -1
- package/dist/components/Paragraph.js +0 -7
- package/dist/components/Paragraph.js.map +0 -1
- package/dist/components/PasswordInput.d.ts +0 -16
- package/dist/components/PasswordInput.d.ts.map +0 -1
- package/dist/components/PasswordInput.js +0 -66
- package/dist/components/PasswordInput.js.map +0 -1
- package/dist/components/PaymentMethodSelector.d.ts +0 -22
- package/dist/components/PaymentMethodSelector.d.ts.map +0 -1
- package/dist/components/PaymentMethodSelector.js +0 -24
- package/dist/components/PaymentMethodSelector.js.map +0 -1
- package/dist/components/PermissionsMatrix.d.ts +0 -23
- package/dist/components/PermissionsMatrix.d.ts.map +0 -1
- package/dist/components/PermissionsMatrix.js +0 -52
- package/dist/components/PermissionsMatrix.js.map +0 -1
- package/dist/components/Popover.d.ts +0 -19
- package/dist/components/Popover.d.ts.map +0 -1
- package/dist/components/Popover.js +0 -159
- package/dist/components/Popover.js.map +0 -1
- package/dist/components/PriceDisplay.d.ts +0 -18
- package/dist/components/PriceDisplay.d.ts.map +0 -1
- package/dist/components/PriceDisplay.js +0 -37
- package/dist/components/PriceDisplay.js.map +0 -1
- package/dist/components/ProductCard.d.ts +0 -30
- package/dist/components/ProductCard.d.ts.map +0 -1
- package/dist/components/ProductCard.js +0 -73
- package/dist/components/ProductCard.js.map +0 -1
- package/dist/components/Progress.d.ts +0 -9
- package/dist/components/Progress.d.ts.map +0 -1
- package/dist/components/Progress.js +0 -13
- package/dist/components/Progress.js.map +0 -1
- package/dist/components/PromptSuggestionChips.d.ts +0 -15
- package/dist/components/PromptSuggestionChips.d.ts.map +0 -1
- package/dist/components/PromptSuggestionChips.js +0 -17
- package/dist/components/PromptSuggestionChips.js.map +0 -1
- package/dist/components/PropertyList.d.ts +0 -29
- package/dist/components/PropertyList.d.ts.map +0 -1
- package/dist/components/PropertyList.js +0 -90
- package/dist/components/PropertyList.js.map +0 -1
- package/dist/components/QRCodeGenerator.d.ts +0 -17
- package/dist/components/QRCodeGenerator.d.ts.map +0 -1
- package/dist/components/QRCodeGenerator.js +0 -56
- package/dist/components/QRCodeGenerator.js.map +0 -1
- package/dist/components/QuantitySelector.d.ts +0 -16
- package/dist/components/QuantitySelector.d.ts.map +0 -1
- package/dist/components/QuantitySelector.js +0 -55
- package/dist/components/QuantitySelector.js.map +0 -1
- package/dist/components/QueryBuilder.d.ts +0 -30
- package/dist/components/QueryBuilder.d.ts.map +0 -1
- package/dist/components/QueryBuilder.js +0 -227
- package/dist/components/QueryBuilder.js.map +0 -1
- package/dist/components/RadioGroup.d.ts +0 -16
- package/dist/components/RadioGroup.d.ts.map +0 -1
- package/dist/components/RadioGroup.js +0 -36
- package/dist/components/RadioGroup.js.map +0 -1
- package/dist/components/RangeSlider.d.ts +0 -18
- package/dist/components/RangeSlider.d.ts.map +0 -1
- package/dist/components/RangeSlider.js +0 -121
- package/dist/components/RangeSlider.js.map +0 -1
- package/dist/components/RatingInput.d.ts +0 -15
- package/dist/components/RatingInput.d.ts.map +0 -1
- package/dist/components/RatingInput.js +0 -44
- package/dist/components/RatingInput.js.map +0 -1
- package/dist/components/RecoveryCodeDisplay.d.ts +0 -12
- package/dist/components/RecoveryCodeDisplay.d.ts.map +0 -1
- package/dist/components/RecoveryCodeDisplay.js +0 -48
- package/dist/components/RecoveryCodeDisplay.js.map +0 -1
- package/dist/components/ResizablePanel.d.ts +0 -18
- package/dist/components/ResizablePanel.d.ts.map +0 -1
- package/dist/components/ResizablePanel.js +0 -64
- package/dist/components/ResizablePanel.js.map +0 -1
- package/dist/components/Reviews.d.ts +0 -26
- package/dist/components/Reviews.d.ts.map +0 -1
- package/dist/components/Reviews.js +0 -30
- package/dist/components/Reviews.js.map +0 -1
- package/dist/components/RichTextEditor.d.ts +0 -14
- package/dist/components/RichTextEditor.d.ts.map +0 -1
- package/dist/components/RichTextEditor.js +0 -38
- package/dist/components/RichTextEditor.js.map +0 -1
- package/dist/components/RotarySelector.d.ts +0 -20
- package/dist/components/RotarySelector.d.ts.map +0 -1
- package/dist/components/RotarySelector.js +0 -99
- package/dist/components/RotarySelector.js.map +0 -1
- package/dist/components/SchedulerTimeline.d.ts +0 -31
- package/dist/components/SchedulerTimeline.d.ts.map +0 -1
- package/dist/components/SchedulerTimeline.js +0 -210
- package/dist/components/SchedulerTimeline.js.map +0 -1
- package/dist/components/ScrollArea.d.ts +0 -11
- package/dist/components/ScrollArea.d.ts.map +0 -1
- package/dist/components/ScrollArea.js +0 -132
- package/dist/components/ScrollArea.js.map +0 -1
- package/dist/components/SearchInput.d.ts +0 -13
- package/dist/components/SearchInput.d.ts.map +0 -1
- package/dist/components/SearchInput.js +0 -34
- package/dist/components/SearchInput.js.map +0 -1
- package/dist/components/SectionHeader.d.ts +0 -27
- package/dist/components/SectionHeader.d.ts.map +0 -1
- package/dist/components/SectionHeader.js +0 -18
- package/dist/components/SectionHeader.js.map +0 -1
- package/dist/components/SecurityActivityLog.d.ts +0 -20
- package/dist/components/SecurityActivityLog.d.ts.map +0 -1
- package/dist/components/SecurityActivityLog.js +0 -56
- package/dist/components/SecurityActivityLog.js.map +0 -1
- package/dist/components/SegmentedInput.d.ts +0 -15
- package/dist/components/SegmentedInput.d.ts.map +0 -1
- package/dist/components/SegmentedInput.js +0 -134
- package/dist/components/SegmentedInput.js.map +0 -1
- package/dist/components/Select.d.ts +0 -57
- package/dist/components/Select.d.ts.map +0 -1
- package/dist/components/Select.js +0 -275
- package/dist/components/Select.js.map +0 -1
- package/dist/components/Sheet.d.ts +0 -35
- package/dist/components/Sheet.d.ts.map +0 -1
- package/dist/components/Sheet.js +0 -117
- package/dist/components/Sheet.js.map +0 -1
- package/dist/components/Sidebar.d.ts +0 -23
- package/dist/components/Sidebar.d.ts.map +0 -1
- package/dist/components/Sidebar.js +0 -21
- package/dist/components/Sidebar.js.map +0 -1
- package/dist/components/SignaturePad.d.ts +0 -19
- package/dist/components/SignaturePad.d.ts.map +0 -1
- package/dist/components/SignaturePad.js +0 -133
- package/dist/components/SignaturePad.js.map +0 -1
- package/dist/components/SignupForm.d.ts +0 -15
- package/dist/components/SignupForm.d.ts.map +0 -1
- package/dist/components/SignupForm.js +0 -50
- package/dist/components/SignupForm.js.map +0 -1
- package/dist/components/Skeleton.d.ts +0 -3
- package/dist/components/Skeleton.d.ts.map +0 -1
- package/dist/components/Skeleton.js +0 -13
- package/dist/components/Skeleton.js.map +0 -1
- package/dist/components/SlideToDelete.d.ts +0 -26
- package/dist/components/SlideToDelete.d.ts.map +0 -1
- package/dist/components/SlideToDelete.js +0 -88
- package/dist/components/SlideToDelete.js.map +0 -1
- package/dist/components/Slider.d.ts +0 -18
- package/dist/components/Slider.d.ts.map +0 -1
- package/dist/components/Slider.js +0 -99
- package/dist/components/Slider.js.map +0 -1
- package/dist/components/Snackbar.d.ts +0 -16
- package/dist/components/Snackbar.d.ts.map +0 -1
- package/dist/components/Snackbar.js +0 -39
- package/dist/components/Snackbar.js.map +0 -1
- package/dist/components/Spacer.d.ts +0 -21
- package/dist/components/Spacer.d.ts.map +0 -1
- package/dist/components/Spacer.js +0 -44
- package/dist/components/Spacer.js.map +0 -1
- package/dist/components/Sparkline.d.ts +0 -17
- package/dist/components/Sparkline.d.ts.map +0 -1
- package/dist/components/Sparkline.js +0 -41
- package/dist/components/Sparkline.js.map +0 -1
- package/dist/components/Spinner.d.ts +0 -8
- package/dist/components/Spinner.d.ts.map +0 -1
- package/dist/components/Spinner.js +0 -26
- package/dist/components/Spinner.js.map +0 -1
- package/dist/components/SplitButton.d.ts +0 -20
- package/dist/components/SplitButton.d.ts.map +0 -1
- package/dist/components/SplitButton.js +0 -48
- package/dist/components/SplitButton.js.map +0 -1
- package/dist/components/SplitView.d.ts +0 -40
- package/dist/components/SplitView.d.ts.map +0 -1
- package/dist/components/SplitView.js +0 -14
- package/dist/components/SplitView.js.map +0 -1
- package/dist/components/StatisticDisplay.d.ts +0 -48
- package/dist/components/StatisticDisplay.d.ts.map +0 -1
- package/dist/components/StatisticDisplay.js +0 -141
- package/dist/components/StatisticDisplay.js.map +0 -1
- package/dist/components/Stepper.d.ts +0 -24
- package/dist/components/Stepper.d.ts.map +0 -1
- package/dist/components/Stepper.js +0 -99
- package/dist/components/Stepper.js.map +0 -1
- package/dist/components/StickyContainer.d.ts +0 -32
- package/dist/components/StickyContainer.d.ts.map +0 -1
- package/dist/components/StickyContainer.js +0 -17
- package/dist/components/StickyContainer.js.map +0 -1
- package/dist/components/Switch.d.ts +0 -12
- package/dist/components/Switch.d.ts.map +0 -1
- package/dist/components/Switch.js +0 -46
- package/dist/components/Switch.js.map +0 -1
- package/dist/components/Table.d.ts +0 -22
- package/dist/components/Table.d.ts.map +0 -1
- package/dist/components/Table.js +0 -72
- package/dist/components/Table.js.map +0 -1
- package/dist/components/Tabs.d.ts +0 -29
- package/dist/components/Tabs.d.ts.map +0 -1
- package/dist/components/Tabs.js +0 -63
- package/dist/components/Tabs.js.map +0 -1
- package/dist/components/Tag.d.ts +0 -14
- package/dist/components/Tag.d.ts.map +0 -1
- package/dist/components/Tag.js +0 -44
- package/dist/components/Tag.js.map +0 -1
- package/dist/components/TagsInput.d.ts +0 -15
- package/dist/components/TagsInput.d.ts.map +0 -1
- package/dist/components/TagsInput.js +0 -54
- package/dist/components/TagsInput.js.map +0 -1
- package/dist/components/Text.d.ts +0 -21
- package/dist/components/Text.d.ts.map +0 -1
- package/dist/components/Text.js +0 -47
- package/dist/components/Text.js.map +0 -1
- package/dist/components/Textarea.d.ts +0 -6
- package/dist/components/Textarea.d.ts.map +0 -1
- package/dist/components/Textarea.js +0 -10
- package/dist/components/Textarea.js.map +0 -1
- package/dist/components/ThemeToggle.d.ts +0 -22
- package/dist/components/ThemeToggle.d.ts.map +0 -1
- package/dist/components/ThemeToggle.js +0 -81
- package/dist/components/ThemeToggle.js.map +0 -1
- package/dist/components/TimePicker.d.ts +0 -15
- package/dist/components/TimePicker.d.ts.map +0 -1
- package/dist/components/TimePicker.js +0 -148
- package/dist/components/TimePicker.js.map +0 -1
- package/dist/components/Timeline.d.ts +0 -21
- package/dist/components/Timeline.d.ts.map +0 -1
- package/dist/components/Timeline.js +0 -63
- package/dist/components/Timeline.js.map +0 -1
- package/dist/components/Title.d.ts +0 -17
- package/dist/components/Title.d.ts.map +0 -1
- package/dist/components/Title.js +0 -46
- package/dist/components/Title.js.map +0 -1
- package/dist/components/Toast.d.ts +0 -25
- package/dist/components/Toast.d.ts.map +0 -1
- package/dist/components/Toast.js +0 -96
- package/dist/components/Toast.js.map +0 -1
- package/dist/components/Tooltip.d.ts +0 -13
- package/dist/components/Tooltip.d.ts.map +0 -1
- package/dist/components/Tooltip.js +0 -20
- package/dist/components/Tooltip.js.map +0 -1
- package/dist/components/TopActionBar.d.ts +0 -60
- package/dist/components/TopActionBar.d.ts.map +0 -1
- package/dist/components/TopActionBar.js +0 -69
- package/dist/components/TopActionBar.js.map +0 -1
- package/dist/components/TreeView.d.ts +0 -29
- package/dist/components/TreeView.d.ts.map +0 -1
- package/dist/components/TreeView.js +0 -97
- package/dist/components/TreeView.js.map +0 -1
- package/dist/components/TwoFactorAuth.d.ts +0 -12
- package/dist/components/TwoFactorAuth.d.ts.map +0 -1
- package/dist/components/TwoFactorAuth.js +0 -48
- package/dist/components/TwoFactorAuth.js.map +0 -1
- package/dist/components/VideoPlayer.d.ts +0 -11
- package/dist/components/VideoPlayer.d.ts.map +0 -1
- package/dist/components/VideoPlayer.js +0 -132
- package/dist/components/VideoPlayer.js.map +0 -1
- package/dist/components/VoiceRecorder.d.ts +0 -11
- package/dist/components/VoiceRecorder.d.ts.map +0 -1
- package/dist/components/VoiceRecorder.js +0 -145
- package/dist/components/VoiceRecorder.js.map +0 -1
- package/dist/components/WindowControls.d.ts +0 -10
- package/dist/components/WindowControls.d.ts.map +0 -1
- package/dist/components/WindowControls.js +0 -18
- package/dist/components/WindowControls.js.map +0 -1
- package/dist/components/WindowFrame.d.ts +0 -11
- package/dist/components/WindowFrame.d.ts.map +0 -1
- package/dist/components/WindowFrame.js +0 -26
- package/dist/components/WindowFrame.js.map +0 -1
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useRef, useEffect, useCallback } from 'react';
|
|
3
|
-
import { motion, AnimatePresence } from 'framer-motion';
|
|
4
|
-
import { Play, Pause, Volume2, VolumeX, Maximize, Minimize, Loader2 } from 'lucide-react';
|
|
5
|
-
import { Slider } from './Slider';
|
|
6
|
-
import { cn } from '../lib/utils';
|
|
7
|
-
export const VideoPlayer = ({ src, poster, autoPlay = false, loop = false, muted = false, className, }) => {
|
|
8
|
-
const videoRef = useRef(null);
|
|
9
|
-
const containerRef = useRef(null);
|
|
10
|
-
const controlsTimeoutRef = useRef(null);
|
|
11
|
-
const [isPlaying, setIsPlaying] = useState(false);
|
|
12
|
-
const [currentTime, setCurrentTime] = useState(0);
|
|
13
|
-
const [duration, setDuration] = useState(0);
|
|
14
|
-
const [volume, setVolume] = useState(1);
|
|
15
|
-
const [isMuted, setIsMuted] = useState(muted);
|
|
16
|
-
const [isFullscreen, setIsFullscreen] = useState(false);
|
|
17
|
-
const [showControls, setShowControls] = useState(true);
|
|
18
|
-
const [isLoading, setIsLoading] = useState(true);
|
|
19
|
-
const [isBuffering, setIsBuffering] = useState(false);
|
|
20
|
-
// Initialize
|
|
21
|
-
useEffect(() => {
|
|
22
|
-
const video = videoRef.current;
|
|
23
|
-
if (!video)
|
|
24
|
-
return;
|
|
25
|
-
if (autoPlay) {
|
|
26
|
-
video.play().catch(() => {
|
|
27
|
-
// Autoplay failed (likely due to browser policy)
|
|
28
|
-
setIsPlaying(false);
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
setVolume(video.volume);
|
|
32
|
-
setIsMuted(video.muted);
|
|
33
|
-
const handleTimeUpdate = () => setCurrentTime(video.currentTime);
|
|
34
|
-
const handleDurationChange = () => setDuration(video.duration);
|
|
35
|
-
const handlePlay = () => setIsPlaying(true);
|
|
36
|
-
const handlePause = () => setIsPlaying(false);
|
|
37
|
-
const handleWaiting = () => setIsBuffering(true);
|
|
38
|
-
const handlePlaying = () => {
|
|
39
|
-
setIsBuffering(false);
|
|
40
|
-
setIsLoading(false);
|
|
41
|
-
};
|
|
42
|
-
const handleLoadedData = () => setIsLoading(false);
|
|
43
|
-
video.addEventListener('timeupdate', handleTimeUpdate);
|
|
44
|
-
video.addEventListener('durationchange', handleDurationChange);
|
|
45
|
-
video.addEventListener('play', handlePlay);
|
|
46
|
-
video.addEventListener('pause', handlePause);
|
|
47
|
-
video.addEventListener('waiting', handleWaiting);
|
|
48
|
-
video.addEventListener('playing', handlePlaying);
|
|
49
|
-
video.addEventListener('loadeddata', handleLoadedData);
|
|
50
|
-
return () => {
|
|
51
|
-
video.removeEventListener('timeupdate', handleTimeUpdate);
|
|
52
|
-
video.removeEventListener('durationchange', handleDurationChange);
|
|
53
|
-
video.removeEventListener('play', handlePlay);
|
|
54
|
-
video.removeEventListener('pause', handlePause);
|
|
55
|
-
video.removeEventListener('waiting', handleWaiting);
|
|
56
|
-
video.removeEventListener('playing', handlePlaying);
|
|
57
|
-
video.removeEventListener('loadeddata', handleLoadedData);
|
|
58
|
-
};
|
|
59
|
-
}, [autoPlay]);
|
|
60
|
-
// Controls visibility
|
|
61
|
-
const handleMouseMove = () => {
|
|
62
|
-
setShowControls(true);
|
|
63
|
-
if (controlsTimeoutRef.current) {
|
|
64
|
-
clearTimeout(controlsTimeoutRef.current);
|
|
65
|
-
}
|
|
66
|
-
if (isPlaying) {
|
|
67
|
-
controlsTimeoutRef.current = setTimeout(() => {
|
|
68
|
-
setShowControls(false);
|
|
69
|
-
}, 2000);
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
const handleMouseLeave = () => {
|
|
73
|
-
if (isPlaying) {
|
|
74
|
-
setShowControls(false);
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
const togglePlay = useCallback(() => {
|
|
78
|
-
if (videoRef.current) {
|
|
79
|
-
if (isPlaying) {
|
|
80
|
-
videoRef.current.pause();
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
videoRef.current.play();
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}, [isPlaying]);
|
|
87
|
-
const toggleMute = useCallback(() => {
|
|
88
|
-
if (videoRef.current) {
|
|
89
|
-
videoRef.current.muted = !isMuted;
|
|
90
|
-
setIsMuted(!isMuted);
|
|
91
|
-
if (!isMuted) {
|
|
92
|
-
setVolume(0);
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
setVolume(1);
|
|
96
|
-
videoRef.current.volume = 1;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}, [isMuted]);
|
|
100
|
-
const handleVolumeChange = (value) => {
|
|
101
|
-
const newVolume = value;
|
|
102
|
-
if (videoRef.current) {
|
|
103
|
-
videoRef.current.volume = newVolume;
|
|
104
|
-
setVolume(newVolume);
|
|
105
|
-
setIsMuted(newVolume === 0);
|
|
106
|
-
}
|
|
107
|
-
};
|
|
108
|
-
const handleSeek = (value) => {
|
|
109
|
-
const newTime = value;
|
|
110
|
-
if (videoRef.current) {
|
|
111
|
-
videoRef.current.currentTime = newTime;
|
|
112
|
-
setCurrentTime(newTime);
|
|
113
|
-
}
|
|
114
|
-
};
|
|
115
|
-
const toggleFullscreen = useCallback(() => {
|
|
116
|
-
if (!document.fullscreenElement) {
|
|
117
|
-
containerRef.current?.requestFullscreen();
|
|
118
|
-
setIsFullscreen(true);
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
121
|
-
document.exitFullscreen();
|
|
122
|
-
setIsFullscreen(false);
|
|
123
|
-
}
|
|
124
|
-
}, []);
|
|
125
|
-
const formatTime = (time) => {
|
|
126
|
-
const minutes = Math.floor(time / 60);
|
|
127
|
-
const seconds = Math.floor(time % 60);
|
|
128
|
-
return `${minutes}:${seconds.toString().padStart(2, '0')}`;
|
|
129
|
-
};
|
|
130
|
-
return (_jsxs("div", { ref: containerRef, className: cn("relative group overflow-hidden bg-black rounded-xl shadow-lg", isFullscreen ? "w-full h-full rounded-none" : "w-full aspect-video", className), onMouseMove: handleMouseMove, onMouseLeave: handleMouseLeave, children: [_jsx("video", { ref: videoRef, src: src, poster: poster, loop: loop, muted: muted, className: "w-full h-full object-contain", onClick: togglePlay }), (isLoading || isBuffering) && (_jsx("div", { className: "absolute inset-0 flex items-center justify-center pointer-events-none", children: _jsx(Loader2, { className: "w-12 h-12 text-white animate-spin opacity-80" }) })), !isPlaying && !isLoading && !isBuffering && (_jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-black/20 backdrop-blur-[2px] transition-opacity", children: _jsx("button", { onClick: togglePlay, className: "w-16 h-16 flex items-center justify-center rounded-full bg-white/20 backdrop-blur-md hover:bg-white/30 hover:scale-110 transition-all duration-200 group/play", children: _jsx(Play, { className: "w-8 h-8 text-white fill-white ml-1" }) }) })), _jsx(AnimatePresence, { children: showControls && (_jsxs(motion.div, { initial: { opacity: 0, y: 20 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: 20 }, transition: { duration: 0.2 }, className: "absolute bottom-0 left-0 right-0 p-4 bg-gradient-to-t from-black/80 via-black/40 to-transparent", children: [_jsx("div", { className: "mb-4 group/slider", children: _jsx(Slider, { value: currentTime, min: 0, max: duration || 100, step: 0.1, onValueChange: handleSeek, className: "cursor-pointer" }) }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-4", children: [_jsx("button", { onClick: togglePlay, className: "text-white hover:text-accent-blue transition-colors", children: isPlaying ? (_jsx(Pause, { className: "w-6 h-6 fill-current" })) : (_jsx(Play, { className: "w-6 h-6 fill-current" })) }), _jsxs("div", { className: "flex items-center gap-2 group/volume", children: [_jsx("button", { onClick: toggleMute, className: "text-white hover:text-accent-blue transition-colors", children: isMuted || volume === 0 ? (_jsx(VolumeX, { className: "w-5 h-5" })) : (_jsx(Volume2, { className: "w-5 h-5" })) }), _jsx("div", { className: "w-0 overflow-hidden group-hover/volume:w-24 transition-all duration-300", children: _jsx(Slider, { value: isMuted ? 0 : volume, min: 0, max: 1, step: 0.01, onValueChange: handleVolumeChange, className: "w-20 ml-2" }) })] }), _jsxs("div", { className: "text-xs font-medium text-white/90 font-mono", children: [formatTime(currentTime), " / ", formatTime(duration)] })] }), _jsx("div", { className: "flex items-center gap-4", children: _jsx("button", { onClick: toggleFullscreen, className: "text-white hover:text-accent-blue transition-colors", children: isFullscreen ? (_jsx(Minimize, { className: "w-5 h-5" })) : (_jsx(Maximize, { className: "w-5 h-5" })) }) })] })] })) })] }));
|
|
131
|
-
};
|
|
132
|
-
//# sourceMappingURL=VideoPlayer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VideoPlayer.js","sourceRoot":"","sources":["../../components/VideoPlayer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export interface VoiceRecorderProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
-
onRecordingComplete?: (audioBlob: Blob, duration: number) => void;
|
|
4
|
-
onSend?: (audioBlob: Blob) => void;
|
|
5
|
-
maxDuration?: number;
|
|
6
|
-
autoSend?: boolean;
|
|
7
|
-
showWaveform?: boolean;
|
|
8
|
-
className?: string;
|
|
9
|
-
}
|
|
10
|
-
export declare const VoiceRecorder: React.ForwardRefExoticComponent<VoiceRecorderProps & React.RefAttributes<HTMLDivElement>>;
|
|
11
|
-
//# sourceMappingURL=VoiceRecorder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceRecorder.d.ts","sourceRoot":"","sources":["../../components/VoiceRecorder.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAW3D,MAAM,WAAW,kBAAmB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5E,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAClE,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD,eAAO,MAAM,aAAa,2FAqRzB,CAAC"}
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import React, { useState, useRef, useEffect } from 'react';
|
|
4
|
-
import { cn } from '../lib/utils';
|
|
5
|
-
import { motion } from 'framer-motion';
|
|
6
|
-
import { Mic, Square, Play, Pause, Trash2, Send } from 'lucide-react';
|
|
7
|
-
import { Button } from './Button';
|
|
8
|
-
import { Progress } from './Progress';
|
|
9
|
-
/* ========================================
|
|
10
|
-
COMPONENT
|
|
11
|
-
======================================== */
|
|
12
|
-
export const VoiceRecorder = React.forwardRef(({ onRecordingComplete, onSend, maxDuration = 60, autoSend = false, showWaveform = true, className, ...props }, ref) => {
|
|
13
|
-
const [isRecording, setIsRecording] = useState(false);
|
|
14
|
-
const [isPaused, setIsPaused] = useState(false);
|
|
15
|
-
const [duration, setDuration] = useState(0);
|
|
16
|
-
const [audioBlob, setAudioBlob] = useState(null);
|
|
17
|
-
const [audioUrl, setAudioUrl] = useState(null);
|
|
18
|
-
const [isPlaying, setIsPlaying] = useState(false);
|
|
19
|
-
const mediaRecorderRef = useRef(null);
|
|
20
|
-
const audioChunksRef = useRef([]);
|
|
21
|
-
const streamRef = useRef(null);
|
|
22
|
-
const audioRef = useRef(null);
|
|
23
|
-
const intervalRef = useRef(null);
|
|
24
|
-
useEffect(() => {
|
|
25
|
-
return () => {
|
|
26
|
-
if (intervalRef.current) {
|
|
27
|
-
clearInterval(intervalRef.current);
|
|
28
|
-
}
|
|
29
|
-
if (streamRef.current) {
|
|
30
|
-
streamRef.current.getTracks().forEach(track => track.stop());
|
|
31
|
-
}
|
|
32
|
-
if (audioUrl) {
|
|
33
|
-
URL.revokeObjectURL(audioUrl);
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
}, [audioUrl]);
|
|
37
|
-
const startRecording = async () => {
|
|
38
|
-
try {
|
|
39
|
-
const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
|
|
40
|
-
streamRef.current = stream;
|
|
41
|
-
const mediaRecorder = new MediaRecorder(stream);
|
|
42
|
-
mediaRecorderRef.current = mediaRecorder;
|
|
43
|
-
audioChunksRef.current = [];
|
|
44
|
-
mediaRecorder.ondataavailable = (event) => {
|
|
45
|
-
if (event.data.size > 0) {
|
|
46
|
-
audioChunksRef.current.push(event.data);
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
mediaRecorder.onstop = () => {
|
|
50
|
-
const blob = new Blob(audioChunksRef.current, { type: 'audio/webm' });
|
|
51
|
-
setAudioBlob(blob);
|
|
52
|
-
const url = URL.createObjectURL(blob);
|
|
53
|
-
setAudioUrl(url);
|
|
54
|
-
onRecordingComplete?.(blob, duration);
|
|
55
|
-
if (autoSend) {
|
|
56
|
-
onSend?.(blob);
|
|
57
|
-
}
|
|
58
|
-
stream.getTracks().forEach(track => track.stop());
|
|
59
|
-
};
|
|
60
|
-
mediaRecorder.start();
|
|
61
|
-
setIsRecording(true);
|
|
62
|
-
setDuration(0);
|
|
63
|
-
intervalRef.current = setInterval(() => {
|
|
64
|
-
setDuration((prev) => {
|
|
65
|
-
const newDuration = prev + 0.1;
|
|
66
|
-
if (newDuration >= maxDuration) {
|
|
67
|
-
stopRecording();
|
|
68
|
-
return maxDuration;
|
|
69
|
-
}
|
|
70
|
-
return newDuration;
|
|
71
|
-
});
|
|
72
|
-
}, 100);
|
|
73
|
-
}
|
|
74
|
-
catch (error) {
|
|
75
|
-
console.error('Error starting recording:', error);
|
|
76
|
-
alert('Error accessing microphone. Please check permissions.');
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
const stopRecording = () => {
|
|
80
|
-
if (mediaRecorderRef.current && isRecording) {
|
|
81
|
-
mediaRecorderRef.current.stop();
|
|
82
|
-
setIsRecording(false);
|
|
83
|
-
setIsPaused(false);
|
|
84
|
-
if (intervalRef.current) {
|
|
85
|
-
clearInterval(intervalRef.current);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
const pauseRecording = () => {
|
|
90
|
-
if (mediaRecorderRef.current && isRecording) {
|
|
91
|
-
mediaRecorderRef.current.pause();
|
|
92
|
-
setIsPaused(true);
|
|
93
|
-
if (intervalRef.current) {
|
|
94
|
-
clearInterval(intervalRef.current);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
const resumeRecording = () => {
|
|
99
|
-
if (mediaRecorderRef.current && isPaused) {
|
|
100
|
-
mediaRecorderRef.current.resume();
|
|
101
|
-
setIsPaused(false);
|
|
102
|
-
intervalRef.current = setInterval(() => {
|
|
103
|
-
setDuration((prev) => {
|
|
104
|
-
const newDuration = prev + 0.1;
|
|
105
|
-
if (newDuration >= maxDuration) {
|
|
106
|
-
stopRecording();
|
|
107
|
-
return maxDuration;
|
|
108
|
-
}
|
|
109
|
-
return newDuration;
|
|
110
|
-
});
|
|
111
|
-
}, 100);
|
|
112
|
-
}
|
|
113
|
-
};
|
|
114
|
-
const playRecording = () => {
|
|
115
|
-
if (audioUrl && audioRef.current) {
|
|
116
|
-
audioRef.current.play();
|
|
117
|
-
setIsPlaying(true);
|
|
118
|
-
}
|
|
119
|
-
};
|
|
120
|
-
const pausePlayback = () => {
|
|
121
|
-
if (audioRef.current) {
|
|
122
|
-
audioRef.current.pause();
|
|
123
|
-
setIsPlaying(false);
|
|
124
|
-
}
|
|
125
|
-
};
|
|
126
|
-
const deleteRecording = () => {
|
|
127
|
-
setAudioBlob(null);
|
|
128
|
-
if (audioUrl) {
|
|
129
|
-
URL.revokeObjectURL(audioUrl);
|
|
130
|
-
setAudioUrl(null);
|
|
131
|
-
}
|
|
132
|
-
setDuration(0);
|
|
133
|
-
};
|
|
134
|
-
const formatTime = (seconds) => {
|
|
135
|
-
const mins = Math.floor(seconds / 60);
|
|
136
|
-
const secs = Math.floor(seconds % 60);
|
|
137
|
-
return `${mins}:${secs.toString().padStart(2, '0')}`;
|
|
138
|
-
};
|
|
139
|
-
return (_jsxs("div", { ref: ref, className: cn("w-full", className), ...props, children: [isRecording && (_jsxs("div", { className: "space-y-3", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx(motion.div, { animate: { scale: [1, 1.2, 1] }, transition: { duration: 1, repeat: Infinity }, className: "w-3 h-3 bg-status-error rounded-full" }), _jsx("span", { className: "text-sm font-medium text-text-primary", children: formatTime(duration) })] }), _jsxs("div", { className: "flex items-center gap-2", children: [isPaused ? (_jsx(Button, { variant: "ghost", size: "sm", onClick: resumeRecording, children: _jsx(Play, { className: "w-4 h-4" }) })) : (_jsx(Button, { variant: "ghost", size: "sm", onClick: pauseRecording, children: _jsx(Pause, { className: "w-4 h-4" }) })), _jsx(Button, { variant: "ghost", size: "sm", onClick: stopRecording, children: _jsx(Square, { className: "w-4 h-4" }) })] })] }), _jsx(Progress, { value: (duration / maxDuration) * 100 })] })), audioBlob && !isRecording && (_jsxs("div", { className: "space-y-3", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-3", children: [isPlaying ? (_jsx(Button, { variant: "ghost", size: "sm", onClick: pausePlayback, children: _jsx(Pause, { className: "w-4 h-4" }) })) : (_jsx(Button, { variant: "ghost", size: "sm", onClick: playRecording, children: _jsx(Play, { className: "w-4 h-4" }) })), _jsx("span", { className: "text-sm font-medium text-text-primary", children: formatTime(duration) })] }), _jsxs("div", { className: "flex items-center gap-2", children: [onSend && (_jsx(Button, { variant: "primary", size: "sm", onClick: () => onSend(audioBlob), children: _jsx(Send, { className: "w-4 h-4" }) })), _jsx(Button, { variant: "ghost", size: "sm", onClick: deleteRecording, children: _jsx(Trash2, { className: "w-4 h-4" }) })] })] }), _jsx("audio", { ref: audioRef, src: audioUrl || undefined, onEnded: () => setIsPlaying(false), onTimeUpdate: (e) => {
|
|
140
|
-
const audio = e.currentTarget;
|
|
141
|
-
setDuration(audio.currentTime);
|
|
142
|
-
} })] })), !isRecording && !audioBlob && (_jsx(Button, { variant: "primary", size: "lg", onClick: startRecording, className: "w-full", leftIcon: _jsx(Mic, { className: "w-5 h-5" }), children: "Start Recording" }))] }));
|
|
143
|
-
});
|
|
144
|
-
VoiceRecorder.displayName = 'VoiceRecorder';
|
|
145
|
-
//# sourceMappingURL=VoiceRecorder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceRecorder.js","sourceRoot":"","sources":["../../components/VoiceRecorder.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export interface WindowControlsProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
-
onClose?: () => void;
|
|
4
|
-
onMinimize?: () => void;
|
|
5
|
-
onMaximize?: () => void;
|
|
6
|
-
variant?: 'macos' | 'windows';
|
|
7
|
-
className?: string;
|
|
8
|
-
}
|
|
9
|
-
export declare const WindowControls: React.ForwardRefExoticComponent<WindowControlsProps & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
-
//# sourceMappingURL=WindowControls.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WindowControls.d.ts","sourceRoot":"","sources":["../../components/WindowControls.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,MAAM,WAAW,mBAAoB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC7E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD,eAAO,MAAM,cAAc,4FA6F1B,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import { cn } from '../lib/utils';
|
|
5
|
-
import { motion } from 'framer-motion';
|
|
6
|
-
import { X, Minus, Square } from 'lucide-react';
|
|
7
|
-
/* ========================================
|
|
8
|
-
COMPONENT
|
|
9
|
-
======================================== */
|
|
10
|
-
export const WindowControls = React.forwardRef(({ onClose, onMinimize, onMaximize, variant = 'macos', className, ...props }, ref) => {
|
|
11
|
-
if (variant === 'windows') {
|
|
12
|
-
return (_jsxs("div", { ref: ref, className: cn("flex items-center gap-1", className), ...props, children: [onMinimize && (_jsx("button", { onClick: onMinimize, className: "w-12 h-8 flex items-center justify-center hover:bg-surface-secondary transition-colors", "aria-label": "Minimize", children: _jsx(Minus, { className: "w-4 h-4 text-text-secondary" }) })), onMaximize && (_jsx("button", { onClick: onMaximize, className: "w-12 h-8 flex items-center justify-center hover:bg-surface-secondary transition-colors", "aria-label": "Maximize", children: _jsx(Square, { className: "w-3.5 h-3.5 text-text-secondary" }) })), onClose && (_jsx("button", { onClick: onClose, className: "w-12 h-8 flex items-center justify-center hover:bg-status-error text-status-error transition-colors", "aria-label": "Close", children: _jsx(X, { className: "w-4 h-4" }) }))] }));
|
|
13
|
-
}
|
|
14
|
-
// macOS style
|
|
15
|
-
return (_jsxs("div", { ref: ref, className: cn("flex items-center gap-2", className), ...props, children: [onClose && (_jsx(motion.button, { onClick: onClose, className: "w-3 h-3 rounded-full bg-status-error flex items-center justify-center group", whileHover: { scale: 1.1 }, whileTap: { scale: 0.9 }, "aria-label": "Close", children: _jsx(X, { className: "w-2 h-2 text-status-error opacity-0 group-hover:opacity-100 transition-opacity" }) })), onMinimize && (_jsx(motion.button, { onClick: onMinimize, className: "w-3 h-3 rounded-full bg-status-warning flex items-center justify-center group", whileHover: { scale: 1.1 }, whileTap: { scale: 0.9 }, "aria-label": "Minimize", children: _jsx(Minus, { className: "w-2 h-2 text-status-warning opacity-0 group-hover:opacity-100 transition-opacity" }) })), onMaximize && (_jsx(motion.button, { onClick: onMaximize, className: "w-3 h-3 rounded-full bg-status-success flex items-center justify-center group", whileHover: { scale: 1.1 }, whileTap: { scale: 0.9 }, "aria-label": "Maximize", children: _jsx(Square, { className: "w-1.5 h-1.5 text-status-success opacity-0 group-hover:opacity-100 transition-opacity" }) }))] }));
|
|
16
|
-
});
|
|
17
|
-
WindowControls.displayName = 'WindowControls';
|
|
18
|
-
//# sourceMappingURL=WindowControls.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WindowControls.js","sourceRoot":"","sources":["../../components/WindowControls.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAchD;;8CAE8C;AAE9C,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAC1C,CACI,EACI,OAAO,EACP,UAAU,EACV,UAAU,EACV,OAAO,GAAG,OAAO,EACjB,SAAS,EACT,GAAG,KAAK,EACX,EACD,GAAG,EACL,EAAE;IACA,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,CACH,eACI,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,SAAS,CAAC,KAC/C,KAAK,aAER,UAAU,IAAI,CACX,iBACI,OAAO,EAAE,UAAU,EACnB,SAAS,EAAC,wFAAwF,gBACvF,UAAU,YAErB,KAAC,KAAK,IAAC,SAAS,EAAC,6BAA6B,GAAG,GAC5C,CACZ,EACA,UAAU,IAAI,CACX,iBACI,OAAO,EAAE,UAAU,EACnB,SAAS,EAAC,wFAAwF,gBACvF,UAAU,YAErB,KAAC,MAAM,IAAC,SAAS,EAAC,iCAAiC,GAAG,GACjD,CACZ,EACA,OAAO,IAAI,CACR,iBACI,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,qGAAqG,gBACpG,OAAO,YAElB,KAAC,CAAC,IAAC,SAAS,EAAC,SAAS,GAAG,GACpB,CACZ,IACC,CACT,CAAC;IACN,CAAC;IAED,cAAc;IACd,OAAO,CACH,eACI,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,SAAS,CAAC,KAC/C,KAAK,aAER,OAAO,IAAI,CACR,KAAC,MAAM,CAAC,MAAM,IACV,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,6EAA6E,EACvF,UAAU,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAC1B,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,gBACb,OAAO,YAElB,KAAC,CAAC,IAAC,SAAS,EAAC,gFAAgF,GAAG,GACpF,CACnB,EACA,UAAU,IAAI,CACX,KAAC,MAAM,CAAC,MAAM,IACV,OAAO,EAAE,UAAU,EACnB,SAAS,EAAC,+EAA+E,EACzF,UAAU,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAC1B,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,gBACb,UAAU,YAErB,KAAC,KAAK,IAAC,SAAS,EAAC,kFAAkF,GAAG,GAC1F,CACnB,EACA,UAAU,IAAI,CACX,KAAC,MAAM,CAAC,MAAM,IACV,OAAO,EAAE,UAAU,EACnB,SAAS,EAAC,+EAA+E,EACzF,UAAU,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAC1B,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,gBACb,UAAU,YAErB,KAAC,MAAM,IAAC,SAAS,EAAC,sFAAsF,GAAG,GAC/F,CACnB,IACC,CACT,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,cAAc,CAAC,WAAW,GAAG,gBAAgB,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export interface WindowFrameProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
-
title?: string;
|
|
4
|
-
onClose?: () => void;
|
|
5
|
-
onMinimize?: () => void;
|
|
6
|
-
onMaximize?: () => void;
|
|
7
|
-
showControls?: boolean;
|
|
8
|
-
variant?: 'default' | 'dark';
|
|
9
|
-
}
|
|
10
|
-
export declare const WindowFrame: React.ForwardRefExoticComponent<WindowFrameProps & React.RefAttributes<HTMLDivElement>>;
|
|
11
|
-
//# sourceMappingURL=WindowFrame.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WindowFrame.d.ts","sourceRoot":"","sources":["../../components/WindowFrame.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AASpD,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAChC;AAMD,eAAO,MAAM,WAAW,yFA8GvB,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef, useState } from 'react';
|
|
3
|
-
import { cn } from '../lib/utils';
|
|
4
|
-
import { motion } from 'framer-motion';
|
|
5
|
-
import { Minus, Square, X } from 'lucide-react';
|
|
6
|
-
/* ========================================
|
|
7
|
-
WINDOW FRAME COMPONENT
|
|
8
|
-
======================================== */
|
|
9
|
-
export const WindowFrame = forwardRef(({ title, onClose, onMinimize, onMaximize, showControls = true, variant = 'default', className, children, ...props }, ref) => {
|
|
10
|
-
const [isHoveringControls, setIsHoveringControls] = useState(false);
|
|
11
|
-
const variants = {
|
|
12
|
-
default: {
|
|
13
|
-
frame: "bg-surface-elevated border-border-primary",
|
|
14
|
-
titleBar: "bg-surface-secondary/50",
|
|
15
|
-
title: "text-text-primary",
|
|
16
|
-
},
|
|
17
|
-
dark: {
|
|
18
|
-
frame: "bg-gray-900 border-gray-800",
|
|
19
|
-
titleBar: "bg-gray-800/50",
|
|
20
|
-
title: "text-gray-100",
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
|
-
return (_jsxs("div", { ref: ref, className: cn("rounded-xl border shadow-xl overflow-hidden", variants[variant].frame, className), ...props, children: [_jsxs("div", { className: cn("flex items-center justify-between px-4 py-3 border-b backdrop-blur-sm", variants[variant].titleBar, variant === 'default' ? 'border-border-primary' : 'border-gray-800'), onMouseEnter: () => setIsHoveringControls(true), onMouseLeave: () => setIsHoveringControls(false), children: [showControls && (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(motion.button, { whileHover: { scale: 1.1 }, whileTap: { scale: 0.95 }, onClick: onClose, className: "w-3 h-3 rounded-full bg-[#FF5F57] hover:bg-[#FF5F57]/80 flex items-center justify-center group transition-colors focus:outline-none", "aria-label": "Close", children: isHoveringControls && (_jsx(X, { className: "w-2 h-2 text-[#8B0000] opacity-0 group-hover:opacity-100 transition-opacity", strokeWidth: 3 })) }), _jsx(motion.button, { whileHover: { scale: 1.1 }, whileTap: { scale: 0.95 }, onClick: onMinimize, className: "w-3 h-3 rounded-full bg-[#FEBC2E] hover:bg-[#FEBC2E]/80 flex items-center justify-center group transition-colors focus:outline-none", "aria-label": "Minimize", children: isHoveringControls && (_jsx(Minus, { className: "w-2 h-2 text-[#8B6914] opacity-0 group-hover:opacity-100 transition-opacity", strokeWidth: 3 })) }), _jsx(motion.button, { whileHover: { scale: 1.1 }, whileTap: { scale: 0.95 }, onClick: onMaximize, className: "w-3 h-3 rounded-full bg-[#28C840] hover:bg-[#28C840]/80 flex items-center justify-center group transition-colors focus:outline-none", "aria-label": "Maximize", children: isHoveringControls && (_jsx(Square, { className: "w-1.5 h-1.5 text-[#0F5323] opacity-0 group-hover:opacity-100 transition-opacity", strokeWidth: 3 })) })] })), title && (_jsx("div", { className: cn("absolute left-1/2 -translate-x-1/2 text-sm font-medium", variants[variant].title), children: title })), _jsx("div", { className: "w-[52px]" })] }), _jsx("div", { className: "overflow-auto", children: children })] }));
|
|
24
|
-
});
|
|
25
|
-
WindowFrame.displayName = 'WindowFrame';
|
|
26
|
-
//# sourceMappingURL=WindowFrame.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WindowFrame.js","sourceRoot":"","sources":["../../components/WindowFrame.tsx"],"names":[],"mappings":"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"}
|