@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
package/dist/components/Input.js
DELETED
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef } from 'react';
|
|
3
|
-
import { motion } from 'framer-motion';
|
|
4
|
-
/* ========================================
|
|
5
|
-
STYLES
|
|
6
|
-
======================================== */
|
|
7
|
-
const baseInputStyles = `
|
|
8
|
-
w-full
|
|
9
|
-
bg-surface-primary
|
|
10
|
-
border border-border-primary
|
|
11
|
-
text-text-primary
|
|
12
|
-
placeholder:text-text-tertiary
|
|
13
|
-
transition-apple
|
|
14
|
-
focus:outline-none
|
|
15
|
-
focus:border-accent-blue
|
|
16
|
-
focus:ring-2
|
|
17
|
-
focus:ring-accent-blue/20
|
|
18
|
-
disabled:opacity-40
|
|
19
|
-
disabled:cursor-not-allowed
|
|
20
|
-
`;
|
|
21
|
-
const sizeStyles = {
|
|
22
|
-
sm: 'h-8 px-3 text-sm rounded-lg',
|
|
23
|
-
md: 'h-10 px-4 text-base rounded-xl',
|
|
24
|
-
lg: 'h-12 px-5 text-lg rounded-xl',
|
|
25
|
-
};
|
|
26
|
-
const withIconPadding = {
|
|
27
|
-
left: {
|
|
28
|
-
sm: 'pl-9',
|
|
29
|
-
md: 'pl-10',
|
|
30
|
-
lg: 'pl-12',
|
|
31
|
-
},
|
|
32
|
-
right: {
|
|
33
|
-
sm: 'pr-9',
|
|
34
|
-
md: 'pr-10',
|
|
35
|
-
lg: 'pr-12',
|
|
36
|
-
},
|
|
37
|
-
};
|
|
38
|
-
/* ========================================
|
|
39
|
-
COMPONENT
|
|
40
|
-
======================================== */
|
|
41
|
-
export const Input = forwardRef(({ label, error, helperText, leftIcon, rightIcon, inputSize = 'md', className = '', disabled, ...props }, ref) => {
|
|
42
|
-
const hasError = !!error;
|
|
43
|
-
const inputClassName = `
|
|
44
|
-
${baseInputStyles}
|
|
45
|
-
${sizeStyles[inputSize]}
|
|
46
|
-
${leftIcon ? withIconPadding.left[inputSize] : ''}
|
|
47
|
-
${rightIcon ? withIconPadding.right[inputSize] : ''}
|
|
48
|
-
${hasError ? 'border-status-error focus:border-status-error focus:ring-status-error/20' : ''}
|
|
49
|
-
${className}
|
|
50
|
-
`.trim().replace(/\s+/g, ' ');
|
|
51
|
-
const iconSizeMap = {
|
|
52
|
-
sm: 'w-4 h-4',
|
|
53
|
-
md: 'w-5 h-5',
|
|
54
|
-
lg: 'w-6 h-6',
|
|
55
|
-
};
|
|
56
|
-
const iconPositionMap = {
|
|
57
|
-
left: {
|
|
58
|
-
sm: 'left-3',
|
|
59
|
-
md: 'left-3',
|
|
60
|
-
lg: 'left-4',
|
|
61
|
-
},
|
|
62
|
-
right: {
|
|
63
|
-
sm: 'right-3',
|
|
64
|
-
md: 'right-3',
|
|
65
|
-
lg: 'right-4',
|
|
66
|
-
},
|
|
67
|
-
};
|
|
68
|
-
return (_jsxs("div", { className: "w-full", children: [label && (_jsx("label", { className: "block text-sm font-medium text-text-primary mb-2", children: label })), _jsxs("div", { className: "relative", children: [leftIcon && (_jsx("div", { className: `
|
|
69
|
-
absolute top-1/2 -translate-y-1/2
|
|
70
|
-
${iconPositionMap.left[inputSize]}
|
|
71
|
-
${iconSizeMap[inputSize]}
|
|
72
|
-
text-text-tertiary
|
|
73
|
-
pointer-events-none
|
|
74
|
-
flex items-center justify-center
|
|
75
|
-
`, children: leftIcon })), _jsx(motion.input, { ref: ref, className: inputClassName, disabled: disabled, whileFocus: {
|
|
76
|
-
scale: 1.005,
|
|
77
|
-
}, transition: {
|
|
78
|
-
type: 'spring',
|
|
79
|
-
stiffness: 300,
|
|
80
|
-
damping: 30,
|
|
81
|
-
}, ...props }), rightIcon && (_jsx("div", { className: `
|
|
82
|
-
absolute top-1/2 -translate-y-1/2
|
|
83
|
-
${iconPositionMap.right[inputSize]}
|
|
84
|
-
${iconSizeMap[inputSize]}
|
|
85
|
-
text-text-tertiary
|
|
86
|
-
pointer-events-none
|
|
87
|
-
flex items-center justify-center
|
|
88
|
-
`, children: rightIcon }))] }), (error || helperText) && (_jsx(motion.p, { initial: { opacity: 0, y: -4 }, animate: { opacity: 1, y: 0 }, transition: { duration: 0.16 }, className: `
|
|
89
|
-
mt-2 text-sm
|
|
90
|
-
${hasError ? 'text-status-error' : 'text-text-secondary'}
|
|
91
|
-
`, children: error || helperText }))] }));
|
|
92
|
-
});
|
|
93
|
-
Input.displayName = 'Input';
|
|
94
|
-
export const Textarea = forwardRef(({ label, error, helperText, resize = 'vertical', className = '', disabled, ...props }, ref) => {
|
|
95
|
-
const hasError = !!error;
|
|
96
|
-
const textareaClassName = `
|
|
97
|
-
${baseInputStyles}
|
|
98
|
-
px-4 py-3
|
|
99
|
-
rounded-xl
|
|
100
|
-
min-h-[100px]
|
|
101
|
-
resize-${resize}
|
|
102
|
-
${hasError ? 'border-status-error focus:border-status-error focus:ring-status-error/20' : ''}
|
|
103
|
-
${className}
|
|
104
|
-
`.trim().replace(/\s+/g, ' ');
|
|
105
|
-
return (_jsxs("div", { className: "w-full", children: [label && (_jsx("label", { className: "block text-sm font-medium text-text-primary mb-2", children: label })), _jsx(motion.textarea, { ref: ref, className: textareaClassName, disabled: disabled, whileFocus: {
|
|
106
|
-
scale: 1.005,
|
|
107
|
-
}, transition: {
|
|
108
|
-
type: 'spring',
|
|
109
|
-
stiffness: 300,
|
|
110
|
-
damping: 30,
|
|
111
|
-
}, ...props }), (error || helperText) && (_jsx(motion.p, { initial: { opacity: 0, y: -4 }, animate: { opacity: 1, y: 0 }, transition: { duration: 0.16 }, className: `
|
|
112
|
-
mt-2 text-sm
|
|
113
|
-
${hasError ? 'text-status-error' : 'text-text-secondary'}
|
|
114
|
-
`, children: error || helperText }))] }));
|
|
115
|
-
});
|
|
116
|
-
Textarea.displayName = 'Textarea';
|
|
117
|
-
//# sourceMappingURL=Input.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../components/Input.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export interface InspectorSection {
|
|
3
|
-
id: string;
|
|
4
|
-
title: string;
|
|
5
|
-
content: React.ReactNode;
|
|
6
|
-
defaultExpanded?: boolean;
|
|
7
|
-
}
|
|
8
|
-
export interface InspectorPanelProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
9
|
-
sections: InspectorSection[];
|
|
10
|
-
width?: string;
|
|
11
|
-
}
|
|
12
|
-
export declare const InspectorPanel: React.ForwardRefExoticComponent<InspectorPanelProps & React.RefAttributes<HTMLDivElement>>;
|
|
13
|
-
export interface InspectorFieldProps {
|
|
14
|
-
label: string;
|
|
15
|
-
children: React.ReactNode;
|
|
16
|
-
}
|
|
17
|
-
export declare const InspectorField: React.FC<InspectorFieldProps>;
|
|
18
|
-
//# sourceMappingURL=InspectorPanel.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InspectorPanel.d.ts","sourceRoot":"","sources":["../../components/InspectorPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AASpD,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAoB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC7E,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD,eAAO,MAAM,cAAc,4FA+E1B,CAAC;AAQF,MAAM,WAAW,mBAAmB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAWxD,CAAC"}
|
|
@@ -1,33 +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, AnimatePresence } from 'framer-motion';
|
|
5
|
-
import { ChevronRight } from 'lucide-react';
|
|
6
|
-
/* ========================================
|
|
7
|
-
INSPECTOR PANEL COMPONENT
|
|
8
|
-
======================================== */
|
|
9
|
-
export const InspectorPanel = forwardRef(({ sections, width = '280px', className, ...props }, ref) => {
|
|
10
|
-
const [expandedSections, setExpandedSections] = useState(new Set(sections.filter(s => s.defaultExpanded).map(s => s.id)));
|
|
11
|
-
const toggleSection = (sectionId) => {
|
|
12
|
-
setExpandedSections(prev => {
|
|
13
|
-
const newSet = new Set(prev);
|
|
14
|
-
if (newSet.has(sectionId)) {
|
|
15
|
-
newSet.delete(sectionId);
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
newSet.add(sectionId);
|
|
19
|
-
}
|
|
20
|
-
return newSet;
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
return (_jsx("div", { ref: ref, className: cn("bg-surface-secondary border-l border-border-primary overflow-y-auto", className), style: { width }, ...props, children: sections.map((section) => {
|
|
24
|
-
const isExpanded = expandedSections.has(section.id);
|
|
25
|
-
return (_jsxs("div", { children: [_jsxs("button", { onClick: () => toggleSection(section.id), className: "w-full flex items-center justify-between px-4 py-4 text-left hover:bg-surface-tertiary transition-colors focus:outline-none group rounded-lg", children: [_jsx("span", { className: "text-sm font-bold text-text-primary uppercase tracking-wide", children: section.title }), _jsx(motion.div, { animate: { rotate: isExpanded ? 90 : 0 }, transition: { duration: 0.2 }, children: _jsx(ChevronRight, { className: "w-4 h-4 text-text-tertiary" }) })] }), _jsx(AnimatePresence, { initial: false, children: isExpanded && (_jsx(motion.div, { initial: { height: 0, opacity: 0 }, animate: { height: 'auto', opacity: 1 }, exit: { height: 0, opacity: 0 }, transition: { duration: 0.2 }, className: "overflow-hidden", children: _jsx("div", { className: "px-4 pb-4 space-y-4", children: section.content }) })) })] }, section.id));
|
|
26
|
-
}) }));
|
|
27
|
-
});
|
|
28
|
-
InspectorPanel.displayName = 'InspectorPanel';
|
|
29
|
-
export const InspectorField = ({ label, children }) => {
|
|
30
|
-
return (_jsxs("div", { className: "space-y-1.5", children: [_jsx("label", { className: "text-xs font-medium text-text-secondary", children: label }), _jsx("div", { children: children })] }));
|
|
31
|
-
};
|
|
32
|
-
InspectorField.displayName = 'InspectorField';
|
|
33
|
-
//# sourceMappingURL=InspectorPanel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InspectorPanel.js","sourceRoot":"","sources":["../../components/InspectorPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export interface InvoiceItem {
|
|
3
|
-
id: string;
|
|
4
|
-
description: string;
|
|
5
|
-
quantity: number;
|
|
6
|
-
price: number;
|
|
7
|
-
total: number;
|
|
8
|
-
}
|
|
9
|
-
export interface InvoiceParty {
|
|
10
|
-
name: string;
|
|
11
|
-
address: string;
|
|
12
|
-
city: string;
|
|
13
|
-
state: string;
|
|
14
|
-
zip: string;
|
|
15
|
-
country: string;
|
|
16
|
-
email?: string;
|
|
17
|
-
phone?: string;
|
|
18
|
-
}
|
|
19
|
-
export interface InvoicePreviewProps {
|
|
20
|
-
invoiceNumber: string;
|
|
21
|
-
dateIssued: string;
|
|
22
|
-
dueDate: string;
|
|
23
|
-
status: 'paid' | 'pending' | 'overdue';
|
|
24
|
-
from: InvoiceParty;
|
|
25
|
-
to: InvoiceParty;
|
|
26
|
-
items: InvoiceItem[];
|
|
27
|
-
subtotal: number;
|
|
28
|
-
tax: number;
|
|
29
|
-
taxRate?: number;
|
|
30
|
-
discount?: number;
|
|
31
|
-
total: number;
|
|
32
|
-
currency?: string;
|
|
33
|
-
logo?: string;
|
|
34
|
-
notes?: string;
|
|
35
|
-
onDownload?: () => void;
|
|
36
|
-
onPrint?: () => void;
|
|
37
|
-
onShare?: () => void;
|
|
38
|
-
className?: string;
|
|
39
|
-
}
|
|
40
|
-
export declare const InvoicePreview: React.FC<InvoicePreviewProps>;
|
|
41
|
-
//# sourceMappingURL=InvoicePreview.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InvoicePreview.d.ts","sourceRoot":"","sources":["../../components/InvoicePreview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAIhD,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACvC,IAAI,EAAE,YAAY,CAAC;IACnB,EAAE,EAAE,YAAY,CAAC;IACjB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA4RxD,CAAC"}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { useRef, useState } from 'react';
|
|
3
|
-
import { FileText, Download, Printer, Share2, CheckCircle, Clock, AlertCircle, Loader2 } from 'lucide-react';
|
|
4
|
-
import { Button } from './Button';
|
|
5
|
-
export const InvoicePreview = ({ invoiceNumber, dateIssued, dueDate, status, from, to, items, subtotal, tax, taxRate, discount = 0, total, currency = '$', logo, notes, onDownload, onPrint, onShare, className = '', }) => {
|
|
6
|
-
const invoiceRef = useRef(null);
|
|
7
|
-
const [isDownloading, setIsDownloading] = useState(false);
|
|
8
|
-
const getStatusColor = (status) => {
|
|
9
|
-
switch (status) {
|
|
10
|
-
case 'paid':
|
|
11
|
-
return 'text-status-success bg-status-success/10 border-status-success/20';
|
|
12
|
-
case 'pending':
|
|
13
|
-
return 'text-status-warning bg-status-warning/10 border-status-warning/20';
|
|
14
|
-
case 'overdue':
|
|
15
|
-
return 'text-status-error bg-status-error/10 border-status-error/20';
|
|
16
|
-
default:
|
|
17
|
-
return 'text-text-secondary bg-background-secondary border-border-primary';
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
const getStatusIcon = (status) => {
|
|
21
|
-
switch (status) {
|
|
22
|
-
case 'paid':
|
|
23
|
-
return _jsx(CheckCircle, { className: "w-4 h-4" });
|
|
24
|
-
case 'pending':
|
|
25
|
-
return _jsx(Clock, { className: "w-4 h-4" });
|
|
26
|
-
case 'overdue':
|
|
27
|
-
return _jsx(AlertCircle, { className: "w-4 h-4" });
|
|
28
|
-
default:
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
const handlePrint = () => {
|
|
33
|
-
if (onPrint) {
|
|
34
|
-
onPrint();
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
window.print();
|
|
38
|
-
};
|
|
39
|
-
const handleShare = async () => {
|
|
40
|
-
if (onShare) {
|
|
41
|
-
onShare();
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
if (navigator.share) {
|
|
45
|
-
try {
|
|
46
|
-
await navigator.share({
|
|
47
|
-
title: `Invoice ${invoiceNumber}`,
|
|
48
|
-
text: `Invoice ${invoiceNumber} from ${from.name}`,
|
|
49
|
-
url: window.location.href,
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
catch (error) {
|
|
53
|
-
console.error('Error sharing:', error);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
// Fallback: Copy URL to clipboard
|
|
58
|
-
try {
|
|
59
|
-
await navigator.clipboard.writeText(window.location.href);
|
|
60
|
-
// In a real app, we would show a toast here
|
|
61
|
-
alert('Link copied to clipboard!');
|
|
62
|
-
}
|
|
63
|
-
catch (err) {
|
|
64
|
-
console.error('Failed to copy:', err);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
const handleDownload = async () => {
|
|
69
|
-
if (onDownload) {
|
|
70
|
-
onDownload();
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
if (!invoiceRef.current)
|
|
74
|
-
return;
|
|
75
|
-
try {
|
|
76
|
-
setIsDownloading(true);
|
|
77
|
-
const html2canvas = (await import('html2canvas')).default;
|
|
78
|
-
const jsPDF = (await import('jspdf')).default;
|
|
79
|
-
const canvas = await html2canvas(invoiceRef.current, {
|
|
80
|
-
scale: 2, // Higher scale for better quality
|
|
81
|
-
useCORS: true, // Enable CORS for images
|
|
82
|
-
logging: false,
|
|
83
|
-
backgroundColor: '#ffffff'
|
|
84
|
-
});
|
|
85
|
-
const imgData = canvas.toDataURL('image/png');
|
|
86
|
-
const pdf = new jsPDF({
|
|
87
|
-
orientation: 'portrait',
|
|
88
|
-
unit: 'mm',
|
|
89
|
-
format: 'a4'
|
|
90
|
-
});
|
|
91
|
-
const imgWidth = 210; // A4 width in mm
|
|
92
|
-
const imgHeight = (canvas.height * imgWidth) / canvas.width;
|
|
93
|
-
pdf.addImage(imgData, 'PNG', 0, 0, imgWidth, imgHeight);
|
|
94
|
-
pdf.save(`invoice-${invoiceNumber}.pdf`);
|
|
95
|
-
}
|
|
96
|
-
catch (error) {
|
|
97
|
-
console.error('Error generating PDF:', error);
|
|
98
|
-
alert('Failed to generate PDF. Please try again.');
|
|
99
|
-
}
|
|
100
|
-
finally {
|
|
101
|
-
setIsDownloading(false);
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
return (_jsxs("div", { className: `bg-surface-primary rounded-2xl shadow-sm border border-border-primary overflow-hidden ${className}`, children: [_jsxs("div", { className: "flex items-center justify-between p-4 border-b border-border-primary bg-background-secondary/30 print:hidden", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("div", { className: "w-8 h-8 rounded-lg bg-accent-blue/10 flex items-center justify-center", children: _jsx(FileText, { className: "w-4 h-4 text-accent-blue" }) }), _jsx("span", { className: "font-semibold text-text-primary", children: "Invoice Preview" })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Button, { variant: "ghost", size: "sm", onClick: handleShare, leftIcon: _jsx(Share2, { className: "w-4 h-4" }), children: "Share" }), _jsx(Button, { variant: "ghost", size: "sm", onClick: handlePrint, leftIcon: _jsx(Printer, { className: "w-4 h-4" }), children: "Print" }), _jsx(Button, { variant: "outline", size: "sm", onClick: handleDownload, disabled: isDownloading, leftIcon: isDownloading ? _jsx(Loader2, { className: "w-4 h-4 animate-spin" }) : _jsx(Download, { className: "w-4 h-4" }), children: isDownloading ? 'Generating...' : 'Download' })] })] }), _jsxs("div", { ref: invoiceRef, className: "p-8 md:p-12 bg-white", children: [_jsxs("div", { className: "flex flex-col md:flex-row justify-between items-start gap-8 mb-12", children: [_jsxs("div", { children: [logo ? (_jsx("img", { src: logo, alt: "Company Logo", className: "h-12 mb-4" })) : (_jsx("div", { className: "h-12 w-12 bg-accent-blue/10 rounded-xl flex items-center justify-center mb-4", children: _jsx("span", { className: "text-xl font-bold text-accent-blue", children: from.name.charAt(0) }) })), _jsx("h1", { className: "text-3xl font-bold text-text-primary mb-2", children: "Invoice" }), _jsxs("div", { className: `inline-flex items-center gap-2 px-3 py-1 rounded-full border text-sm font-medium capitalize ${getStatusColor(status)}`, children: [getStatusIcon(status), status] })] }), _jsxs("div", { className: "text-right", children: [_jsx("h3", { className: "text-lg font-semibold text-text-primary mb-1", children: from.name }), _jsxs("div", { className: "text-sm text-text-secondary space-y-1", children: [_jsx("p", { children: from.address }), _jsxs("p", { children: [from.city, ", ", from.state, " ", from.zip] }), _jsx("p", { children: from.country }), from.email && _jsx("p", { children: from.email })] })] })] }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-8 mb-12", children: [_jsxs("div", { children: [_jsx("h4", { className: "text-xs font-semibold text-text-tertiary uppercase tracking-wider mb-4", children: "Bill To" }), _jsx("h3", { className: "text-lg font-semibold text-text-primary mb-2", children: to.name }), _jsxs("div", { className: "text-sm text-text-secondary space-y-1", children: [_jsx("p", { children: to.address }), _jsxs("p", { children: [to.city, ", ", to.state, " ", to.zip] }), _jsx("p", { children: to.country }), to.email && _jsx("p", { children: to.email })] })] }), _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex justify-between md:justify-end gap-8", children: [_jsxs("div", { className: "text-right", children: [_jsx("h4", { className: "text-xs font-semibold text-text-tertiary uppercase tracking-wider mb-1", children: "Invoice Number" }), _jsx("p", { className: "font-medium text-text-primary", children: invoiceNumber })] }), _jsxs("div", { className: "text-right", children: [_jsx("h4", { className: "text-xs font-semibold text-text-tertiary uppercase tracking-wider mb-1", children: "Date Issued" }), _jsx("p", { className: "font-medium text-text-primary", children: dateIssued })] })] }), _jsxs("div", { className: "flex justify-between md:justify-end gap-8", children: [_jsxs("div", { className: "text-right", children: [_jsx("h4", { className: "text-xs font-semibold text-text-tertiary uppercase tracking-wider mb-1", children: "Due Date" }), _jsx("p", { className: "font-medium text-text-primary", children: dueDate })] }), _jsxs("div", { className: "text-right", children: [_jsx("h4", { className: "text-xs font-semibold text-text-tertiary uppercase tracking-wider mb-1", children: "Amount Due" }), _jsxs("p", { className: "font-bold text-xl text-text-primary", children: [currency, total.toFixed(2)] })] })] })] })] }), _jsx("div", { className: "mb-12 overflow-hidden rounded-xl border border-border-primary", children: _jsxs("table", { className: "w-full text-left border-collapse", children: [_jsx("thead", { children: _jsxs("tr", { className: "bg-background-secondary/50 border-b border-border-primary", children: [_jsx("th", { className: "py-3 px-4 text-xs font-semibold text-text-tertiary uppercase tracking-wider", children: "Description" }), _jsx("th", { className: "py-3 px-4 text-xs font-semibold text-text-tertiary uppercase tracking-wider text-right", children: "Qty" }), _jsx("th", { className: "py-3 px-4 text-xs font-semibold text-text-tertiary uppercase tracking-wider text-right", children: "Price" }), _jsx("th", { className: "py-3 px-4 text-xs font-semibold text-text-tertiary uppercase tracking-wider text-right", children: "Total" })] }) }), _jsx("tbody", { className: "divide-y divide-border-primary", children: items.map((item) => (_jsxs("tr", { className: "group hover:bg-background-secondary/30 transition-colors", children: [_jsx("td", { className: "py-4 px-4 text-sm font-medium text-text-primary", children: item.description }), _jsx("td", { className: "py-4 px-4 text-sm text-text-secondary text-right", children: item.quantity }), _jsxs("td", { className: "py-4 px-4 text-sm text-text-secondary text-right", children: [currency, item.price.toFixed(2)] }), _jsxs("td", { className: "py-4 px-4 text-sm font-medium text-text-primary text-right", children: [currency, item.total.toFixed(2)] })] }, item.id))) })] }) }), _jsxs("div", { className: "flex flex-col md:flex-row gap-8", children: [_jsx("div", { className: "flex-1 min-w-[200px]", children: notes && (_jsxs(_Fragment, { children: [_jsx("h4", { className: "text-xs font-semibold text-text-tertiary uppercase tracking-wider mb-2", children: "Notes" }), _jsx("p", { className: "text-sm text-text-secondary leading-relaxed", children: notes })] })) }), _jsxs("div", { className: "w-full md:w-80 space-y-3", children: [_jsxs("div", { className: "flex justify-between text-sm", children: [_jsx("span", { className: "text-text-secondary", children: "Subtotal" }), _jsxs("span", { className: "font-medium text-text-primary", children: [currency, subtotal.toFixed(2)] })] }), discount > 0 && (_jsxs("div", { className: "flex justify-between text-sm", children: [_jsx("span", { className: "text-text-secondary", children: "Discount" }), _jsxs("span", { className: "font-medium text-status-success", children: ["-", currency, discount.toFixed(2)] })] })), _jsxs("div", { className: "flex justify-between text-sm", children: [_jsxs("span", { className: "text-text-secondary", children: ["Tax ", taxRate ? `(${taxRate}%)` : ''] }), _jsxs("span", { className: "font-medium text-text-primary", children: [currency, tax.toFixed(2)] })] }), _jsxs("div", { className: "flex justify-between items-baseline pt-4 mt-4 border-t border-border-primary", children: [_jsx("span", { className: "text-base font-bold text-text-primary", children: "Total" }), _jsxs("span", { className: "text-2xl font-bold text-text-primary", children: [currency, total.toFixed(2)] })] })] })] }), _jsxs("div", { className: "mt-12 pt-8 border-t border-border-dashed text-center", children: [_jsx("p", { className: "text-sm text-text-tertiary", children: "Thank you for your business!" }), _jsx("p", { className: "text-xs text-text-tertiary mt-1", children: "Please include invoice number on your check." })] })] })] }));
|
|
105
|
-
};
|
|
106
|
-
//# sourceMappingURL=InvoicePreview.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InvoicePreview.js","sourceRoot":"","sources":["../../components/InvoicePreview.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export interface JsonViewerProps {
|
|
3
|
-
/** The JSON data to display */
|
|
4
|
-
data: any;
|
|
5
|
-
/** Whether nested objects/arrays should be expanded by default */
|
|
6
|
-
initiallyExpanded?: boolean;
|
|
7
|
-
/** Number of pixels to indent for each level */
|
|
8
|
-
indentSize?: number;
|
|
9
|
-
/** Optional class name for the container */
|
|
10
|
-
className?: string;
|
|
11
|
-
/** Whether to show the copy button */
|
|
12
|
-
showCopyButton?: boolean;
|
|
13
|
-
/** Maximum height of the container before scrolling */
|
|
14
|
-
maxHeight?: string | number;
|
|
15
|
-
}
|
|
16
|
-
export declare const JsonViewer: React.FC<JsonViewerProps>;
|
|
17
|
-
//# sourceMappingURL=JsonViewer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"JsonViewer.d.ts","sourceRoot":"","sources":["../../components/JsonViewer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAKxC,MAAM,WAAW,eAAe;IAC5B,+BAA+B;IAC/B,IAAI,EAAE,GAAG,CAAC;IACV,kEAAkE;IAClE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/B;AA0JD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAwDhD,CAAC"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { useState } from 'react';
|
|
3
|
-
import { ChevronRight, ChevronDown, Copy, Check } from 'lucide-react';
|
|
4
|
-
import { cn } from '../lib/utils';
|
|
5
|
-
import { Button } from './Button';
|
|
6
|
-
const getDataType = (value) => {
|
|
7
|
-
if (value === null)
|
|
8
|
-
return 'null';
|
|
9
|
-
if (Array.isArray(value))
|
|
10
|
-
return 'array';
|
|
11
|
-
return typeof value;
|
|
12
|
-
};
|
|
13
|
-
const JsonNode = ({ name, value, depth, isLast, indentSize, initiallyExpanded, }) => {
|
|
14
|
-
const [isExpanded, setIsExpanded] = useState(initiallyExpanded);
|
|
15
|
-
const type = getDataType(value);
|
|
16
|
-
const isExpandable = type === 'object' || type === 'array';
|
|
17
|
-
const isEmpty = isExpandable && Object.keys(value).length === 0;
|
|
18
|
-
const handleToggle = (e) => {
|
|
19
|
-
e.stopPropagation();
|
|
20
|
-
setIsExpanded(!isExpanded);
|
|
21
|
-
};
|
|
22
|
-
const renderValue = (val, valType) => {
|
|
23
|
-
switch (valType) {
|
|
24
|
-
case 'string':
|
|
25
|
-
return _jsxs("span", { className: "text-[#ce9178]", children: ["\"", val, "\""] });
|
|
26
|
-
case 'number':
|
|
27
|
-
return _jsx("span", { className: "text-[#b5cea8]", children: val });
|
|
28
|
-
case 'boolean':
|
|
29
|
-
return _jsx("span", { className: "text-[#569cd6]", children: val ? 'true' : 'false' });
|
|
30
|
-
case 'null':
|
|
31
|
-
return _jsx("span", { className: "text-[#569cd6]", children: "null" });
|
|
32
|
-
default:
|
|
33
|
-
return null;
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
const renderPreview = () => {
|
|
37
|
-
if (type === 'array') {
|
|
38
|
-
return _jsxs("span", { className: "text-gray-400", children: ["Array(", value.length, ")"] });
|
|
39
|
-
}
|
|
40
|
-
return _jsx("span", { className: "text-gray-400", children: '{...}' });
|
|
41
|
-
};
|
|
42
|
-
return (_jsxs("div", { className: "font-mono text-sm leading-6", style: { paddingLeft: depth > 0 ? indentSize : 0 }, children: [_jsxs("div", { className: "flex items-start", children: [_jsx("div", { className: "w-5 h-6 flex items-center justify-center flex-none mr-1", children: isExpandable && !isEmpty && (_jsx("button", { onClick: handleToggle, className: "text-gray-400 hover:text-gray-200 transition-colors focus:outline-none", children: isExpanded ? (_jsx(ChevronDown, { className: "w-3.5 h-3.5" })) : (_jsx(ChevronRight, { className: "w-3.5 h-3.5" })) })) }), _jsxs("div", { className: "flex-1 break-all", children: [name && (_jsxs("span", { className: "text-[#9cdcfe] mr-1", children: ["\"", name, "\":"] })), !isExpandable ? (_jsxs(_Fragment, { children: [renderValue(value, type), !isLast && _jsx("span", { className: "text-gray-400", children: "," })] })) : (_jsxs(_Fragment, { children: [_jsx("span", { className: "text-[#da70d6]", children: type === 'array' ? '[' : '{' }), !isExpanded && !isEmpty && (_jsxs(_Fragment, { children: [_jsx("button", { onClick: handleToggle, className: "mx-1 hover:bg-white/5 px-1 rounded cursor-pointer", children: renderPreview() }), _jsx("span", { className: "text-[#da70d6]", children: type === 'array' ? ']' : '}' }), !isLast && _jsx("span", { className: "text-gray-400", children: "," })] })), isEmpty && (_jsxs(_Fragment, { children: [_jsx("span", { className: "text-[#da70d6]", children: type === 'array' ? ']' : '}' }), !isLast && _jsx("span", { className: "text-gray-400", children: "," })] }))] }))] })] }), isExpandable && isExpanded && !isEmpty && (_jsxs("div", { children: [Object.entries(value).map(([key, val], index, arr) => (_jsx(JsonNode, { name: type === 'array' ? undefined : key, value: val, depth: depth + 1, isLast: index === arr.length - 1, indentSize: indentSize, initiallyExpanded: initiallyExpanded }, key))), _jsxs("div", { className: "pl-6 text-[#da70d6]", children: [type === 'array' ? ']' : '}', !isLast && _jsx("span", { className: "text-gray-400", children: "," })] })] }))] }));
|
|
43
|
-
};
|
|
44
|
-
export const JsonViewer = ({ data, initiallyExpanded = false, indentSize = 20, className, showCopyButton = true, maxHeight, }) => {
|
|
45
|
-
const [isCopied, setIsCopied] = useState(false);
|
|
46
|
-
const copyToClipboard = async () => {
|
|
47
|
-
try {
|
|
48
|
-
await navigator.clipboard.writeText(JSON.stringify(data, null, 2));
|
|
49
|
-
setIsCopied(true);
|
|
50
|
-
setTimeout(() => setIsCopied(false), 2000);
|
|
51
|
-
}
|
|
52
|
-
catch (err) {
|
|
53
|
-
console.error('Failed to copy JSON:', err);
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
return (_jsxs("div", { className: cn("relative rounded-xl border border-border-primary/50 bg-[#1e1e1e] text-white shadow-sm overflow-hidden", className), children: [showCopyButton && (_jsx("div", { className: "absolute top-2 right-2 z-10", children: _jsx(Button, { variant: "ghost", size: "sm", onClick: copyToClipboard, className: "h-8 w-8 p-0 text-gray-400 hover:text-white hover:bg-white/10 bg-[#1e1e1e]/80 backdrop-blur-sm", children: isCopied ? (_jsx(Check, { className: "w-4 h-4 text-green-400" })) : (_jsx(Copy, { className: "w-4 h-4" })) }) })), _jsx("div", { className: "p-4 overflow-auto scrollbar-thin scrollbar-thumb-white/10 scrollbar-track-transparent", style: { maxHeight }, children: _jsx(JsonNode, { value: data, depth: 0, isLast: true, indentSize: indentSize, initiallyExpanded: initiallyExpanded }) })] }));
|
|
57
|
-
};
|
|
58
|
-
//# sourceMappingURL=JsonViewer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"JsonViewer.js","sourceRoot":"","sources":["../../components/JsonViewer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export type KPITrend = 'up' | 'down' | 'neutral';
|
|
3
|
-
export type KPIVariant = 'default' | 'bordered' | 'elevated' | 'minimal';
|
|
4
|
-
export type KPISize = 'sm' | 'md' | 'lg';
|
|
5
|
-
export interface KPIBlockProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
6
|
-
label: React.ReactNode;
|
|
7
|
-
value: React.ReactNode;
|
|
8
|
-
change?: string;
|
|
9
|
-
trend?: KPITrend;
|
|
10
|
-
icon?: React.ReactNode;
|
|
11
|
-
variant?: KPIVariant;
|
|
12
|
-
size?: KPISize;
|
|
13
|
-
description?: React.ReactNode;
|
|
14
|
-
loading?: boolean;
|
|
15
|
-
}
|
|
16
|
-
export declare const KPIBlock: React.ForwardRefExoticComponent<KPIBlockProps & React.RefAttributes<HTMLDivElement>>;
|
|
17
|
-
export interface KPIGroupProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
18
|
-
children: React.ReactNode;
|
|
19
|
-
columns?: 1 | 2 | 3 | 4;
|
|
20
|
-
gap?: 'sm' | 'md' | 'lg';
|
|
21
|
-
}
|
|
22
|
-
export declare const KPIGroup: React.ForwardRefExoticComponent<KPIGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
23
|
-
//# sourceMappingURL=KPIBlock.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KPIBlock.d.ts","sourceRoot":"","sources":["../../components/KPIBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAS1C,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;AACjD,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;AACzE,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEzC,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACvE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAMD,eAAO,MAAM,QAAQ,sFAqLpB,CAAC;AAQF,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACvE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAC5B;AAED,eAAO,MAAM,QAAQ,sFAuCpB,CAAC"}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef } from 'react';
|
|
3
|
-
import { motion } from 'framer-motion';
|
|
4
|
-
import { cn } from '../lib/utils';
|
|
5
|
-
import { TrendingUp, TrendingDown, Minus } from 'lucide-react';
|
|
6
|
-
/* ========================================
|
|
7
|
-
KPI BLOCK COMPONENT
|
|
8
|
-
======================================== */
|
|
9
|
-
export const KPIBlock = forwardRef(({ label, value, change, trend, icon, variant = 'default', size = 'md', description, loading = false, className, ...props }, ref) => {
|
|
10
|
-
const sizeClasses = {
|
|
11
|
-
sm: {
|
|
12
|
-
label: "text-xs",
|
|
13
|
-
value: "text-2xl",
|
|
14
|
-
change: "text-xs",
|
|
15
|
-
description: "text-xs",
|
|
16
|
-
padding: "p-4",
|
|
17
|
-
iconSize: "w-8 h-8",
|
|
18
|
-
},
|
|
19
|
-
md: {
|
|
20
|
-
label: "text-sm",
|
|
21
|
-
value: "text-4xl",
|
|
22
|
-
change: "text-sm",
|
|
23
|
-
description: "text-sm",
|
|
24
|
-
padding: "p-6",
|
|
25
|
-
iconSize: "w-10 h-10",
|
|
26
|
-
},
|
|
27
|
-
lg: {
|
|
28
|
-
label: "text-base",
|
|
29
|
-
value: "text-5xl",
|
|
30
|
-
change: "text-base",
|
|
31
|
-
description: "text-base",
|
|
32
|
-
padding: "p-8",
|
|
33
|
-
iconSize: "w-12 h-12",
|
|
34
|
-
},
|
|
35
|
-
};
|
|
36
|
-
const variantClasses = {
|
|
37
|
-
default: "bg-surface-primary",
|
|
38
|
-
bordered: "bg-surface-primary border border-border-primary shadow-sm",
|
|
39
|
-
elevated: "bg-surface-primary shadow-md hover:shadow-lg transition-shadow",
|
|
40
|
-
minimal: "bg-transparent",
|
|
41
|
-
};
|
|
42
|
-
const trendConfig = {
|
|
43
|
-
up: {
|
|
44
|
-
icon: TrendingUp,
|
|
45
|
-
color: "text-status-success",
|
|
46
|
-
bg: "bg-status-success/10",
|
|
47
|
-
},
|
|
48
|
-
down: {
|
|
49
|
-
icon: TrendingDown,
|
|
50
|
-
color: "text-status-error",
|
|
51
|
-
bg: "bg-status-error/10",
|
|
52
|
-
},
|
|
53
|
-
neutral: {
|
|
54
|
-
icon: Minus,
|
|
55
|
-
color: "text-text-tertiary",
|
|
56
|
-
bg: "bg-surface-secondary",
|
|
57
|
-
},
|
|
58
|
-
};
|
|
59
|
-
const TrendIcon = trend ? trendConfig[trend].icon : null;
|
|
60
|
-
const MotionDiv = motion.div;
|
|
61
|
-
return (_jsx(MotionDiv, { ref: ref, className: cn("rounded-xl overflow-hidden", variantClasses[variant], sizeClasses[size].padding, className), initial: { opacity: 0, y: 8 }, animate: { opacity: 1, y: 0 }, transition: {
|
|
62
|
-
duration: 0.22,
|
|
63
|
-
ease: [0.16, 1, 0.3, 1],
|
|
64
|
-
}, ...props, children: _jsxs("div", { className: "flex items-start justify-between gap-4", children: [_jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("div", { className: cn("font-medium text-text-secondary mb-2", sizeClasses[size].label), children: label }), loading ? (_jsxs("div", { className: "space-y-3", children: [_jsx("div", { className: cn("h-10 bg-surface-secondary rounded-lg animate-pulse", size === 'sm' && "h-8", size === 'lg' && "h-12") }), change && (_jsx("div", { className: "h-5 w-20 bg-surface-secondary rounded animate-pulse" }))] })) : (_jsxs(_Fragment, { children: [_jsx("div", { className: cn("font-bold text-text-primary mb-2 tracking-tight", sizeClasses[size].value), children: value }), (change || trend) && (_jsxs("div", { className: "flex items-center gap-2", children: [trend && TrendIcon && (_jsxs("div", { className: cn("flex items-center gap-1 px-2 py-1 rounded-md", trendConfig[trend].bg), children: [_jsx(TrendIcon, { className: cn("w-3.5 h-3.5", trendConfig[trend].color) }), change && (_jsx("span", { className: cn("font-semibold", trendConfig[trend].color, sizeClasses[size].change), children: change }))] })), change && !trend && (_jsx("span", { className: cn("font-medium text-text-secondary", sizeClasses[size].change), children: change }))] })), description && (_jsx("div", { className: cn("text-text-tertiary mt-2", sizeClasses[size].description), children: description }))] }))] }), icon && (_jsx("div", { className: cn("flex-shrink-0 flex items-center justify-center rounded-xl bg-accent-blue/10 text-accent-blue", sizeClasses[size].iconSize), children: icon }))] }) }));
|
|
65
|
-
});
|
|
66
|
-
KPIBlock.displayName = 'KPIBlock';
|
|
67
|
-
export const KPIGroup = forwardRef(({ children, columns = 3, gap = 'md', className, ...props }, ref) => {
|
|
68
|
-
const gapClasses = {
|
|
69
|
-
sm: "gap-3",
|
|
70
|
-
md: "gap-4",
|
|
71
|
-
lg: "gap-6",
|
|
72
|
-
};
|
|
73
|
-
const columnClasses = {
|
|
74
|
-
1: "grid-cols-1",
|
|
75
|
-
2: "grid-cols-1 md:grid-cols-2",
|
|
76
|
-
3: "grid-cols-1 md:grid-cols-2 xl:grid-cols-3",
|
|
77
|
-
4: "grid-cols-1 md:grid-cols-2 xl:grid-cols-4",
|
|
78
|
-
};
|
|
79
|
-
return (_jsx("div", { ref: ref, className: cn("grid", columnClasses[columns], gapClasses[gap], className), ...props, children: children }));
|
|
80
|
-
});
|
|
81
|
-
KPIGroup.displayName = 'KPIGroup';
|
|
82
|
-
//# sourceMappingURL=KPIBlock.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KPIBlock.js","sourceRoot":"","sources":["../../components/KPIBlock.tsx"],"names":[],"mappings":"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"}
|