@gostack-framework/ui 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE.md +5 -0
- package/dist/activity/index.d.ts +2 -0
- package/dist/activity/index.js +3 -0
- package/dist/activity/index.js.map +1 -0
- package/dist/clickup/common/InlineNameTab.d.ts +11 -0
- package/dist/clickup/common/InlineNameTab.js +50 -0
- package/dist/clickup/common/InlineNameTab.js.map +1 -0
- package/dist/clickup/common/TaskAssigneeAvatar.d.ts +14 -0
- package/dist/clickup/common/TaskAssigneeAvatar.js +32 -0
- package/dist/clickup/common/TaskAssigneeAvatar.js.map +1 -0
- package/dist/clickup/common/TaskBreadcrumb.d.ts +11 -0
- package/dist/clickup/common/TaskBreadcrumb.js +11 -0
- package/dist/clickup/common/TaskBreadcrumb.js.map +1 -0
- package/dist/clickup/common/TaskCheck.d.ts +10 -0
- package/dist/clickup/common/TaskCheck.js +17 -0
- package/dist/clickup/common/TaskCheck.js.map +1 -0
- package/dist/clickup/common/TaskContextMenu.d.ts +10 -0
- package/dist/clickup/common/TaskContextMenu.js +22 -0
- package/dist/clickup/common/TaskContextMenu.js.map +1 -0
- package/dist/clickup/common/TaskIcon.d.ts +29 -0
- package/dist/clickup/common/TaskIcon.js +30 -0
- package/dist/clickup/common/TaskIcon.js.map +1 -0
- package/dist/clickup/common/TaskPriorityBadge.d.ts +11 -0
- package/dist/clickup/common/TaskPriorityBadge.js +11 -0
- package/dist/clickup/common/TaskPriorityBadge.js.map +1 -0
- package/dist/clickup/common/TaskRowActionMenu.d.ts +6 -0
- package/dist/clickup/common/TaskRowActionMenu.js +10 -0
- package/dist/clickup/common/TaskRowActionMenu.js.map +1 -0
- package/dist/clickup/common/TaskStatusPill.d.ts +12 -0
- package/dist/clickup/common/TaskStatusPill.js +24 -0
- package/dist/clickup/common/TaskStatusPill.js.map +1 -0
- package/dist/clickup/common/WorkspaceButton.d.ts +3 -0
- package/dist/clickup/common/WorkspaceButton.js +8 -0
- package/dist/clickup/common/WorkspaceButton.js.map +1 -0
- package/dist/clickup/common/WorkspaceHeader.d.ts +9 -0
- package/dist/clickup/common/WorkspaceHeader.js +7 -0
- package/dist/clickup/common/WorkspaceHeader.js.map +1 -0
- package/dist/clickup/common/WorkspaceMenus.d.ts +17 -0
- package/dist/clickup/common/WorkspaceMenus.js +15 -0
- package/dist/clickup/common/WorkspaceMenus.js.map +1 -0
- package/dist/clickup/common/WorkspaceMessage.d.ts +7 -0
- package/dist/clickup/common/WorkspaceMessage.js +6 -0
- package/dist/clickup/common/WorkspaceMessage.js.map +1 -0
- package/dist/clickup/common/WorkspaceMetricStrip.d.ts +10 -0
- package/dist/clickup/common/WorkspaceMetricStrip.js +6 -0
- package/dist/clickup/common/WorkspaceMetricStrip.js.map +1 -0
- package/dist/clickup/common/WorkspacePanel.d.ts +7 -0
- package/dist/clickup/common/WorkspacePanel.js +7 -0
- package/dist/clickup/common/WorkspacePanel.js.map +1 -0
- package/dist/clickup/common/WorkspaceSelect.d.ts +5 -0
- package/dist/clickup/common/WorkspaceSelect.js +64 -0
- package/dist/clickup/common/WorkspaceSelect.js.map +1 -0
- package/dist/clickup/common/WorkspaceTable.d.ts +16 -0
- package/dist/clickup/common/WorkspaceTable.js +7 -0
- package/dist/clickup/common/WorkspaceTable.js.map +1 -0
- package/dist/clickup/dialogs/ClickUpCommentComposer.d.ts +9 -0
- package/dist/clickup/dialogs/ClickUpCommentComposer.js +35 -0
- package/dist/clickup/dialogs/ClickUpCommentComposer.js.map +1 -0
- package/dist/clickup/dialogs/ClickUpTaskActions.d.ts +8 -0
- package/dist/clickup/dialogs/ClickUpTaskActions.js +10 -0
- package/dist/clickup/dialogs/ClickUpTaskActions.js.map +1 -0
- package/dist/clickup/dialogs/ClickUpTaskAssignee.d.ts +7 -0
- package/dist/clickup/dialogs/ClickUpTaskAssignee.js +12 -0
- package/dist/clickup/dialogs/ClickUpTaskAssignee.js.map +1 -0
- package/dist/clickup/dialogs/ClickUpTaskDescription.d.ts +12 -0
- package/dist/clickup/dialogs/ClickUpTaskDescription.js +12 -0
- package/dist/clickup/dialogs/ClickUpTaskDescription.js.map +1 -0
- package/dist/clickup/dialogs/ClickUpTaskDialog.d.ts +27 -0
- package/dist/clickup/dialogs/ClickUpTaskDialog.js +35 -0
- package/dist/clickup/dialogs/ClickUpTaskDialog.js.map +1 -0
- package/dist/clickup/dialogs/ClickUpTaskDiscussion.d.ts +11 -0
- package/dist/clickup/dialogs/ClickUpTaskDiscussion.js +29 -0
- package/dist/clickup/dialogs/ClickUpTaskDiscussion.js.map +1 -0
- package/dist/clickup/dialogs/ClickUpTaskMain.d.ts +24 -0
- package/dist/clickup/dialogs/ClickUpTaskMain.js +26 -0
- package/dist/clickup/dialogs/ClickUpTaskMain.js.map +1 -0
- package/dist/clickup/dialogs/ClickUpTaskProperties.d.ts +17 -0
- package/dist/clickup/dialogs/ClickUpTaskProperties.js +26 -0
- package/dist/clickup/dialogs/ClickUpTaskProperties.js.map +1 -0
- package/dist/clickup/elements/TaskCalendarCell.d.ts +14 -0
- package/dist/clickup/elements/TaskCalendarCell.js +19 -0
- package/dist/clickup/elements/TaskCalendarCell.js.map +1 -0
- package/dist/clickup/elements/TaskCard.d.ts +16 -0
- package/dist/clickup/elements/TaskCard.js +51 -0
- package/dist/clickup/elements/TaskCard.js.map +1 -0
- package/dist/clickup/elements/TaskGroup.d.ts +24 -0
- package/dist/clickup/elements/TaskGroup.js +50 -0
- package/dist/clickup/elements/TaskGroup.js.map +1 -0
- package/dist/clickup/elements/TaskRow.d.ts +19 -0
- package/dist/clickup/elements/TaskRow.js +60 -0
- package/dist/clickup/elements/TaskRow.js.map +1 -0
- package/dist/clickup/elements/TaskTableHead.d.ts +1 -0
- package/dist/clickup/elements/TaskTableHead.js +15 -0
- package/dist/clickup/elements/TaskTableHead.js.map +1 -0
- package/dist/clickup/elements/TaskTimelineRow.d.ts +12 -0
- package/dist/clickup/elements/TaskTimelineRow.js +16 -0
- package/dist/clickup/elements/TaskTimelineRow.js.map +1 -0
- package/dist/clickup/index.d.ts +41 -0
- package/dist/clickup/index.js +48 -0
- package/dist/clickup/index.js.map +1 -0
- package/dist/clickup/task-ui.css +864 -0
- package/dist/clickup/toolbar/TaskToolbar.d.ts +20 -0
- package/dist/clickup/toolbar/TaskToolbar.js +16 -0
- package/dist/clickup/toolbar/TaskToolbar.js.map +1 -0
- package/dist/clickup/toolbar/TaskViewPicker.d.ts +8 -0
- package/dist/clickup/toolbar/TaskViewPicker.js +48 -0
- package/dist/clickup/toolbar/TaskViewPicker.js.map +1 -0
- package/dist/clickup/toolbar/TaskViewSwitcher.d.ts +21 -0
- package/dist/clickup/toolbar/TaskViewSwitcher.js +55 -0
- package/dist/clickup/toolbar/TaskViewSwitcher.js.map +1 -0
- package/dist/clickup/types.d.ts +66 -0
- package/dist/clickup/types.js +2 -0
- package/dist/clickup/types.js.map +1 -0
- package/dist/clickup/views/TaskBoardView.d.ts +21 -0
- package/dist/clickup/views/TaskBoardView.js +75 -0
- package/dist/clickup/views/TaskBoardView.js.map +1 -0
- package/dist/clickup/views/TaskCalendarView.d.ts +12 -0
- package/dist/clickup/views/TaskCalendarView.js +197 -0
- package/dist/clickup/views/TaskCalendarView.js.map +1 -0
- package/dist/clickup/views/TaskGanttView.d.ts +12 -0
- package/dist/clickup/views/TaskGanttView.js +64 -0
- package/dist/clickup/views/TaskGanttView.js.map +1 -0
- package/dist/clickup/views/TaskListView.d.ts +22 -0
- package/dist/clickup/views/TaskListView.js +17 -0
- package/dist/clickup/views/TaskListView.js.map +1 -0
- package/dist/clickup/views/TaskTableView.d.ts +21 -0
- package/dist/clickup/views/TaskTableView.js +50 -0
- package/dist/clickup/views/TaskTableView.js.map +1 -0
- package/dist/components/ActivityFeed.d.ts +48 -0
- package/dist/components/ActivityFeed.js +60 -0
- package/dist/components/ActivityFeed.js.map +1 -0
- package/dist/components/AudioPlayer.d.ts +8 -0
- package/dist/components/AudioPlayer.js +96 -0
- package/dist/components/AudioPlayer.js.map +1 -0
- package/dist/components/BulkActionBar.d.ts +10 -0
- package/dist/components/BulkActionBar.js +10 -0
- package/dist/components/BulkActionBar.js.map +1 -0
- package/dist/components/Carousel.d.ts +8 -0
- package/dist/components/Carousel.js +38 -0
- package/dist/components/Carousel.js.map +1 -0
- package/dist/components/ChatBot.d.ts +6 -0
- package/dist/components/ChatBot.js +52 -0
- package/dist/components/ChatBot.js.map +1 -0
- package/dist/components/CheckboxCustom.d.ts +9 -0
- package/dist/components/CheckboxCustom.js +42 -0
- package/dist/components/CheckboxCustom.js.map +1 -0
- package/dist/components/ClickUpTaskModal.d.ts +36 -0
- package/dist/components/ClickUpTaskModal.js +180 -0
- package/dist/components/ClickUpTaskModal.js.map +1 -0
- package/dist/components/ConditionBuilder.d.ts +28 -0
- package/dist/components/ConditionBuilder.js +63 -0
- package/dist/components/ConditionBuilder.js.map +1 -0
- package/dist/components/ConfirmDialog.d.ts +21 -0
- package/dist/components/ConfirmDialog.js +51 -0
- package/dist/components/ConfirmDialog.js.map +1 -0
- package/dist/components/DataCard.d.ts +43 -0
- package/dist/components/DataCard.js +30 -0
- package/dist/components/DataCard.js.map +1 -0
- package/dist/components/DataTable.d.ts +107 -0
- package/dist/components/DataTable.js +153 -0
- package/dist/components/DataTable.js.map +1 -0
- package/dist/components/DatePicker.d.ts +16 -0
- package/dist/components/DatePicker.js +184 -0
- package/dist/components/DatePicker.js.map +1 -0
- package/dist/components/EmptyState.d.ts +26 -0
- package/dist/components/EmptyState.js +37 -0
- package/dist/components/EmptyState.js.map +1 -0
- package/dist/components/Error.d.ts +12 -0
- package/dist/components/Error.js +41 -0
- package/dist/components/Error.js.map +1 -0
- package/dist/components/ErrorState.d.ts +10 -0
- package/dist/components/ErrorState.js +53 -0
- package/dist/components/ErrorState.js.map +1 -0
- package/dist/components/FileAttachmentChip.d.ts +10 -0
- package/dist/components/FileAttachmentChip.js +21 -0
- package/dist/components/FileAttachmentChip.js.map +1 -0
- package/dist/components/FilterConditionChip.d.ts +10 -0
- package/dist/components/FilterConditionChip.js +11 -0
- package/dist/components/FilterConditionChip.js.map +1 -0
- package/dist/components/GalleryCarouselDialog.d.ts +14 -0
- package/dist/components/GalleryCarouselDialog.js +167 -0
- package/dist/components/GalleryCarouselDialog.js.map +1 -0
- package/dist/components/HierarchicalSelectionMenu.d.ts +21 -0
- package/dist/components/HierarchicalSelectionMenu.js +168 -0
- package/dist/components/HierarchicalSelectionMenu.js.map +1 -0
- package/dist/components/InfiniteSelect.d.ts +44 -0
- package/dist/components/InfiniteSelect.js +121 -0
- package/dist/components/InfiniteSelect.js.map +1 -0
- package/dist/components/LoadingState.d.ts +28 -0
- package/dist/components/LoadingState.js +24 -0
- package/dist/components/LoadingState.js.map +1 -0
- package/dist/components/LucidIconRender.d.ts +9 -0
- package/dist/components/LucidIconRender.js +7 -0
- package/dist/components/LucidIconRender.js.map +1 -0
- package/dist/components/MasterDetailLayout.d.ts +67 -0
- package/dist/components/MasterDetailLayout.js +79 -0
- package/dist/components/MasterDetailLayout.js.map +1 -0
- package/dist/components/PinnedAttributeRow.d.ts +12 -0
- package/dist/components/PinnedAttributeRow.js +11 -0
- package/dist/components/PinnedAttributeRow.js.map +1 -0
- package/dist/components/PopUp.d.ts +11 -0
- package/dist/components/PopUp.js +83 -0
- package/dist/components/PopUp.js.map +1 -0
- package/dist/components/PrioritySignal.d.ts +10 -0
- package/dist/components/PrioritySignal.js +54 -0
- package/dist/components/PrioritySignal.js.map +1 -0
- package/dist/components/RichTextEditor.d.ts +7 -0
- package/dist/components/RichTextEditor.js +252 -0
- package/dist/components/RichTextEditor.js.map +1 -0
- package/dist/components/SLACountdown.d.ts +15 -0
- package/dist/components/SLACountdown.js +26 -0
- package/dist/components/SLACountdown.js.map +1 -0
- package/dist/components/StatusBadge.d.ts +14 -0
- package/dist/components/StatusBadge.js +55 -0
- package/dist/components/StatusBadge.js.map +1 -0
- package/dist/components/StatusCards.d.ts +12 -0
- package/dist/components/StatusCards.js +12 -0
- package/dist/components/StatusCards.js.map +1 -0
- package/dist/components/StatusProgressBar.d.ts +18 -0
- package/dist/components/StatusProgressBar.js +50 -0
- package/dist/components/StatusProgressBar.js.map +1 -0
- package/dist/components/TableActions.d.ts +26 -0
- package/dist/components/TableActions.js +49 -0
- package/dist/components/TableActions.js.map +1 -0
- package/dist/components/TaskDetailsModal.d.ts +3 -0
- package/dist/components/TaskDetailsModal.js +8 -0
- package/dist/components/TaskDetailsModal.js.map +1 -0
- package/dist/components/ThemedText.d.ts +24 -0
- package/dist/components/ThemedText.js +103 -0
- package/dist/components/ThemedText.js.map +1 -0
- package/dist/components/TicketWorkspaceLayout.d.ts +11 -0
- package/dist/components/TicketWorkspaceLayout.js +7 -0
- package/dist/components/TicketWorkspaceLayout.js.map +1 -0
- package/dist/components/TimePicker.d.ts +15 -0
- package/dist/components/TimePicker.js +96 -0
- package/dist/components/TimePicker.js.map +1 -0
- package/dist/components/Tooltip.d.ts +19 -0
- package/dist/components/Tooltip.js +75 -0
- package/dist/components/Tooltip.js.map +1 -0
- package/dist/components/TreeView.d.ts +33 -0
- package/dist/components/TreeView.js +55 -0
- package/dist/components/TreeView.js.map +1 -0
- package/dist/components/accordion.d.ts +6 -0
- package/dist/components/accordion.js +18 -0
- package/dist/components/accordion.js.map +1 -0
- package/dist/components/avatar.d.ts +11 -0
- package/dist/components/avatar.js +23 -0
- package/dist/components/avatar.js.map +1 -0
- package/dist/components/badge.d.ts +12 -0
- package/dist/components/badge.js +44 -0
- package/dist/components/badge.js.map +1 -0
- package/dist/components/button.d.ts +15 -0
- package/dist/components/button.js +47 -0
- package/dist/components/button.js.map +1 -0
- package/dist/components/card.d.ts +11 -0
- package/dist/components/card.js +25 -0
- package/dist/components/card.js.map +1 -0
- package/dist/components/context menu core/context-menu.d.ts +28 -0
- package/dist/components/context menu core/context-menu.js +91 -0
- package/dist/components/context menu core/context-menu.js.map +1 -0
- package/dist/components/context menu core/contextMenuAdvanced.d.ts +46 -0
- package/dist/components/context menu core/contextMenuAdvanced.js +34 -0
- package/dist/components/context menu core/contextMenuAdvanced.js.map +1 -0
- package/dist/components/dialog.d.ts +18 -0
- package/dist/components/dialog.js +42 -0
- package/dist/components/dialog.js.map +1 -0
- package/dist/components/dropdown-menu.d.ts +29 -0
- package/dist/components/dropdown-menu.js +51 -0
- package/dist/components/dropdown-menu.js.map +1 -0
- package/dist/components/filter/AdvancedFilters.d.ts +14 -0
- package/dist/components/filter/AdvancedFilters.js +220 -0
- package/dist/components/filter/AdvancedFilters.js.map +1 -0
- package/dist/components/filter/Filter.d.ts +48 -0
- package/dist/components/filter/Filter.js +153 -0
- package/dist/components/filter/Filter.js.map +1 -0
- package/dist/components/filter/FilterButton.d.ts +10 -0
- package/dist/components/filter/FilterButton.js +9 -0
- package/dist/components/filter/FilterButton.js.map +1 -0
- package/dist/components/filter/NormalFilters.d.ts +14 -0
- package/dist/components/filter/NormalFilters.js +40 -0
- package/dist/components/filter/NormalFilters.js.map +1 -0
- package/dist/components/filter/index.d.ts +5 -0
- package/dist/components/filter/index.js +6 -0
- package/dist/components/filter/index.js.map +1 -0
- package/dist/components/filter/types.d.ts +32 -0
- package/dist/components/filter/types.js +2 -0
- package/dist/components/filter/types.js.map +1 -0
- package/dist/components/form-error.d.ts +42 -0
- package/dist/components/form-error.js +103 -0
- package/dist/components/form-error.js.map +1 -0
- package/dist/components/icons.d.ts +19 -0
- package/dist/components/icons.js +21 -0
- package/dist/components/icons.js.map +1 -0
- package/dist/components/image.d.ts +12 -0
- package/dist/components/image.js +18 -0
- package/dist/components/image.js.map +1 -0
- package/dist/components/index.d.ts +59 -0
- package/dist/components/index.js +60 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/input.d.ts +22 -0
- package/dist/components/input.js +102 -0
- package/dist/components/input.js.map +1 -0
- package/dist/components/label.d.ts +7 -0
- package/dist/components/label.js +8 -0
- package/dist/components/label.js.map +1 -0
- package/dist/components/layout/FeatureLayout.d.ts +131 -0
- package/dist/components/layout/FeatureLayout.js +113 -0
- package/dist/components/layout/FeatureLayout.js.map +1 -0
- package/dist/components/layout/FeatureLayoutExportButton.d.ts +10 -0
- package/dist/components/layout/FeatureLayoutExportButton.js +21 -0
- package/dist/components/layout/FeatureLayoutExportButton.js.map +1 -0
- package/dist/components/layout/FeatureLayoutTabs.d.ts +36 -0
- package/dist/components/layout/FeatureLayoutTabs.js +192 -0
- package/dist/components/layout/FeatureLayoutTabs.js.map +1 -0
- package/dist/components/layout/kanban/FeatureLayoutKanban.d.ts +6 -0
- package/dist/components/layout/kanban/FeatureLayoutKanban.js +195 -0
- package/dist/components/layout/kanban/FeatureLayoutKanban.js.map +1 -0
- package/dist/components/layout/kanban/KanbanCard.d.ts +12 -0
- package/dist/components/layout/kanban/KanbanCard.js +43 -0
- package/dist/components/layout/kanban/KanbanCard.js.map +1 -0
- package/dist/components/layout/kanban/KanbanColumn.d.ts +23 -0
- package/dist/components/layout/kanban/KanbanColumn.js +30 -0
- package/dist/components/layout/kanban/KanbanColumn.js.map +1 -0
- package/dist/components/layout/kanban/KanbanToolbar.d.ts +11 -0
- package/dist/components/layout/kanban/KanbanToolbar.js +10 -0
- package/dist/components/layout/kanban/KanbanToolbar.js.map +1 -0
- package/dist/components/layout/kanban/index.d.ts +6 -0
- package/dist/components/layout/kanban/index.js +7 -0
- package/dist/components/layout/kanban/index.js.map +1 -0
- package/dist/components/layout/kanban/types.d.ts +67 -0
- package/dist/components/layout/kanban/types.js +2 -0
- package/dist/components/layout/kanban/types.js.map +1 -0
- package/dist/components/popover.d.ts +11 -0
- package/dist/components/popover.js +20 -0
- package/dist/components/popover.js.map +1 -0
- package/dist/components/react-flow/FlowGraphHeader.d.ts +2 -0
- package/dist/components/react-flow/FlowGraphHeader.js +10 -0
- package/dist/components/react-flow/FlowGraphHeader.js.map +1 -0
- package/dist/components/react-flow/GlowEdge.d.ts +3 -0
- package/dist/components/react-flow/GlowEdge.js +100 -0
- package/dist/components/react-flow/GlowEdge.js.map +1 -0
- package/dist/components/react-flow/ReactFlowCanvas.d.ts +7 -0
- package/dist/components/react-flow/ReactFlowCanvas.js +44 -0
- package/dist/components/react-flow/ReactFlowCanvas.js.map +1 -0
- package/dist/components/react-flow/RelationshipFlow.d.ts +2 -0
- package/dist/components/react-flow/RelationshipFlow.js +9 -0
- package/dist/components/react-flow/RelationshipFlow.js.map +1 -0
- package/dist/components/react-flow/TreeFlowLayout.d.ts +29 -0
- package/dist/components/react-flow/TreeFlowLayout.js +14 -0
- package/dist/components/react-flow/TreeFlowLayout.js.map +1 -0
- package/dist/components/react-flow/edges.d.ts +8 -0
- package/dist/components/react-flow/edges.js +21 -0
- package/dist/components/react-flow/edges.js.map +1 -0
- package/dist/components/react-flow/index.d.ts +9 -0
- package/dist/components/react-flow/index.js +10 -0
- package/dist/components/react-flow/index.js.map +1 -0
- package/dist/components/react-flow/layout.d.ts +5 -0
- package/dist/components/react-flow/layout.js +11 -0
- package/dist/components/react-flow/layout.js.map +1 -0
- package/dist/components/react-flow/types.d.ts +82 -0
- package/dist/components/react-flow/types.js +6 -0
- package/dist/components/react-flow/types.js.map +1 -0
- package/dist/components/react-flow/useFlowGraph.d.ts +3 -0
- package/dist/components/react-flow/useFlowGraph.js +22 -0
- package/dist/components/react-flow/useFlowGraph.js.map +1 -0
- package/dist/components/react-flow/useFlowGraphSync.d.ts +4 -0
- package/dist/components/react-flow/useFlowGraphSync.js +43 -0
- package/dist/components/react-flow/useFlowGraphSync.js.map +1 -0
- package/dist/components/select.d.ts +23 -0
- package/dist/components/select.js +109 -0
- package/dist/components/select.js.map +1 -0
- package/dist/components/sonner.d.ts +4 -0
- package/dist/components/sonner.js +29 -0
- package/dist/components/sonner.js.map +1 -0
- package/dist/components/stepper.d.ts +12 -0
- package/dist/components/stepper.js +22 -0
- package/dist/components/stepper.js.map +1 -0
- package/dist/components/switch.d.ts +5 -0
- package/dist/components/switch.js +16 -0
- package/dist/components/switch.js.map +1 -0
- package/dist/components/table.d.ts +52 -0
- package/dist/components/table.js +112 -0
- package/dist/components/table.js.map +1 -0
- package/dist/components/tabs.d.ts +10 -0
- package/dist/components/tabs.js +29 -0
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/textarea.d.ts +6 -0
- package/dist/components/textarea.js +17 -0
- package/dist/components/textarea.js.map +1 -0
- package/dist/condition-builder/index.d.ts +2 -0
- package/dist/condition-builder/index.js +3 -0
- package/dist/condition-builder/index.js.map +1 -0
- package/dist/context-menu/index.d.ts +2 -0
- package/dist/context-menu/index.js +3 -0
- package/dist/context-menu/index.js.map +1 -0
- package/dist/dropdown/SearchDropdown.d.ts +19 -0
- package/dist/dropdown/SearchDropdown.js +27 -0
- package/dist/dropdown/SearchDropdown.js.map +1 -0
- package/dist/dropdown/index.d.ts +2 -0
- package/dist/dropdown/index.js +3 -0
- package/dist/dropdown/index.js.map +1 -0
- package/dist/editor.d.ts +1 -0
- package/dist/editor.js +2 -0
- package/dist/editor.js.map +1 -0
- package/dist/feedback/index.d.ts +6 -0
- package/dist/feedback/index.js +7 -0
- package/dist/feedback/index.js.map +1 -0
- package/dist/flow.d.ts +1 -0
- package/dist/flow.js +2 -0
- package/dist/flow.js.map +1 -0
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/index.js +4 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/useContextMenuActions.d.ts +16 -0
- package/dist/hooks/useContextMenuActions.js +35 -0
- package/dist/hooks/useContextMenuActions.js.map +1 -0
- package/dist/hooks/useFeatureLayout.d.ts +14 -0
- package/dist/hooks/useFeatureLayout.js +21 -0
- package/dist/hooks/useFeatureLayout.js.map +1 -0
- package/dist/hooks/useTableActions.d.ts +46 -0
- package/dist/hooks/useTableActions.js +71 -0
- package/dist/hooks/useTableActions.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations.d.ts +42 -0
- package/dist/integrations.js +9 -0
- package/dist/integrations.js.map +1 -0
- package/dist/itsm/index.d.ts +7 -0
- package/dist/itsm/index.js +8 -0
- package/dist/itsm/index.js.map +1 -0
- package/dist/locales/ar.json +149 -0
- package/dist/locales/en.json +149 -0
- package/dist/primitives/index.d.ts +11 -0
- package/dist/primitives/index.js +12 -0
- package/dist/primitives/index.js.map +1 -0
- package/dist/progress.d.ts +7 -0
- package/dist/progress.js +20 -0
- package/dist/progress.js.map +1 -0
- package/dist/select/index.d.ts +3 -0
- package/dist/select/index.js +4 -0
- package/dist/select/index.js.map +1 -0
- package/dist/styles.css +2 -0
- package/dist/support/api.d.ts +8 -0
- package/dist/support/api.js +2 -0
- package/dist/support/api.js.map +1 -0
- package/dist/support/types/file.types.d.ts +12 -0
- package/dist/support/types/file.types.js +2 -0
- package/dist/support/types/file.types.js.map +1 -0
- package/dist/support/types/gallery.types.d.ts +22 -0
- package/dist/support/types/gallery.types.js +2 -0
- package/dist/support/types/gallery.types.js.map +1 -0
- package/dist/support/types/governorates.types.d.ts +12 -0
- package/dist/support/types/governorates.types.js +2 -0
- package/dist/support/types/governorates.types.js.map +1 -0
- package/dist/support/types/grade.types.d.ts +7 -0
- package/dist/support/types/grade.types.js +2 -0
- package/dist/support/types/grade.types.js.map +1 -0
- package/dist/support/types/index.d.ts +13 -0
- package/dist/support/types/index.js +14 -0
- package/dist/support/types/index.js.map +1 -0
- package/dist/support/types/metadata.types.d.ts +61 -0
- package/dist/support/types/metadata.types.js +3 -0
- package/dist/support/types/metadata.types.js.map +1 -0
- package/dist/support/types/table.types.d.ts +33 -0
- package/dist/support/types/table.types.js +2 -0
- package/dist/support/types/table.types.js.map +1 -0
- package/dist/support/types/viewCard.types.d.ts +78 -0
- package/dist/support/types/viewCard.types.js +3 -0
- package/dist/support/types/viewCard.types.js.map +1 -0
- package/dist/support/utils/fileUtils.d.ts +1 -0
- package/dist/support/utils/fileUtils.js +2 -0
- package/dist/support/utils/fileUtils.js.map +1 -0
- package/dist/support/utils.d.ts +5 -0
- package/dist/support/utils.js +4 -0
- package/dist/support/utils.js.map +1 -0
- package/dist/table/index.d.ts +6 -0
- package/dist/table/index.js +7 -0
- package/dist/table/index.js.map +1 -0
- package/dist/tasks.d.ts +3 -0
- package/dist/tasks.js +4 -0
- package/dist/tasks.js.map +1 -0
- package/dist/tours/TourContext.d.ts +33 -0
- package/dist/tours/TourContext.js +98 -0
- package/dist/tours/TourContext.js.map +1 -0
- package/dist/tours/TourOverlay.d.ts +7 -0
- package/dist/tours/TourOverlay.js +129 -0
- package/dist/tours/TourOverlay.js.map +1 -0
- package/dist/tours.d.ts +2 -0
- package/dist/tours.js +3 -0
- package/dist/tours.js.map +1 -0
- package/dist/types.d.ts +91 -0
- package/dist/types.js +7 -0
- package/dist/types.js.map +1 -0
- package/dist/typography/index.d.ts +4 -0
- package/dist/typography/index.js +5 -0
- package/dist/typography/index.js.map +1 -0
- package/dist/typography/typography.adapter.d.ts +18 -0
- package/dist/typography/typography.adapter.js +113 -0
- package/dist/typography/typography.adapter.js.map +1 -0
- package/dist/typography/typography.constants.d.ts +56 -0
- package/dist/typography/typography.constants.js +649 -0
- package/dist/typography/typography.constants.js.map +1 -0
- package/dist/typography/typography.types.d.ts +62 -0
- package/dist/typography/typography.types.js +6 -0
- package/dist/typography/typography.types.js.map +1 -0
- package/dist/typography/useTypography.d.ts +25 -0
- package/dist/typography/useTypography.js +158 -0
- package/dist/typography/useTypography.js.map +1 -0
- package/dist/ui/accordion.d.ts +7 -0
- package/dist/ui/accordion.js +18 -0
- package/dist/ui/accordion.js.map +1 -0
- package/dist/ui/avatar.d.ts +11 -0
- package/dist/ui/avatar.js +23 -0
- package/dist/ui/avatar.js.map +1 -0
- package/dist/ui/badge.d.ts +10 -0
- package/dist/ui/badge.js +33 -0
- package/dist/ui/badge.js.map +1 -0
- package/dist/ui/button.d.ts +11 -0
- package/dist/ui/button.js +41 -0
- package/dist/ui/button.js.map +1 -0
- package/dist/ui/card.d.ts +9 -0
- package/dist/ui/card.js +25 -0
- package/dist/ui/card.js.map +1 -0
- package/dist/ui/dialog.d.ts +17 -0
- package/dist/ui/dialog.js +37 -0
- package/dist/ui/dialog.js.map +1 -0
- package/dist/ui/dropdown-menu.d.ts +25 -0
- package/dist/ui/dropdown-menu.js +51 -0
- package/dist/ui/dropdown-menu.js.map +1 -0
- package/dist/ui/index.d.ts +15 -0
- package/dist/ui/index.js +16 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/input.d.ts +3 -0
- package/dist/ui/input.js +7 -0
- package/dist/ui/input.js.map +1 -0
- package/dist/ui/popover.d.ts +10 -0
- package/dist/ui/popover.js +26 -0
- package/dist/ui/popover.js.map +1 -0
- package/dist/ui/select.d.ts +15 -0
- package/dist/ui/select.js +38 -0
- package/dist/ui/select.js.map +1 -0
- package/dist/ui/switch.d.ts +6 -0
- package/dist/ui/switch.js +8 -0
- package/dist/ui/switch.js.map +1 -0
- package/dist/ui/table.d.ts +10 -0
- package/dist/ui/table.js +28 -0
- package/dist/ui/table.js.map +1 -0
- package/dist/ui/tabs.d.ts +11 -0
- package/dist/ui/tabs.js +29 -0
- package/dist/ui/tabs.js.map +1 -0
- package/dist/ui/textarea.d.ts +3 -0
- package/dist/ui/textarea.js +7 -0
- package/dist/ui/textarea.js.map +1 -0
- package/dist/ui/tooltip.d.ts +7 -0
- package/dist/ui/tooltip.js +17 -0
- package/dist/ui/tooltip.js.map +1 -0
- package/dist/workspace/index.d.ts +2 -0
- package/dist/workspace/index.js +3 -0
- package/dist/workspace/index.js.map +1 -0
- package/package.json +61 -4
- package/src/activity/index.ts +2 -0
- package/src/clickup/common/InlineNameTab.tsx +122 -0
- package/src/clickup/common/TaskAssigneeAvatar.tsx +127 -0
- package/src/clickup/common/TaskBreadcrumb.tsx +91 -0
- package/src/clickup/common/TaskCheck.tsx +51 -0
- package/src/clickup/common/TaskContextMenu.tsx +42 -0
- package/src/clickup/common/TaskIcon.tsx +145 -0
- package/src/clickup/common/TaskPriorityBadge.tsx +52 -0
- package/src/clickup/common/TaskRowActionMenu.tsx +43 -0
- package/src/clickup/common/TaskStatusPill.tsx +73 -0
- package/src/clickup/common/WorkspaceButton.tsx +22 -0
- package/src/clickup/common/WorkspaceHeader.tsx +41 -0
- package/src/clickup/common/WorkspaceMenus.tsx +92 -0
- package/src/clickup/common/WorkspaceMessage.tsx +39 -0
- package/src/clickup/common/WorkspaceMetricStrip.tsx +49 -0
- package/src/clickup/common/WorkspacePanel.tsx +27 -0
- package/src/clickup/common/WorkspaceSelect.tsx +173 -0
- package/src/clickup/common/WorkspaceTable.tsx +78 -0
- package/src/clickup/dialogs/ClickUpCommentComposer.tsx +93 -0
- package/src/clickup/dialogs/ClickUpTaskActions.tsx +73 -0
- package/src/clickup/dialogs/ClickUpTaskAssignee.tsx +86 -0
- package/src/clickup/dialogs/ClickUpTaskDescription.tsx +67 -0
- package/src/clickup/dialogs/ClickUpTaskDialog.tsx +187 -0
- package/src/clickup/dialogs/ClickUpTaskDiscussion.tsx +136 -0
- package/src/clickup/dialogs/ClickUpTaskMain.tsx +156 -0
- package/src/clickup/dialogs/ClickUpTaskProperties.tsx +214 -0
- package/src/clickup/elements/TaskCalendarCell.tsx +91 -0
- package/src/clickup/elements/TaskCard.tsx +154 -0
- package/src/clickup/elements/TaskGroup.tsx +208 -0
- package/src/clickup/elements/TaskRow.tsx +172 -0
- package/src/clickup/elements/TaskTableHead.tsx +29 -0
- package/src/clickup/elements/TaskTimelineRow.tsx +77 -0
- package/src/clickup/index.ts +63 -0
- package/src/clickup/task-ui.css +864 -0
- package/src/clickup/toolbar/TaskToolbar.tsx +130 -0
- package/src/clickup/toolbar/TaskViewPicker.tsx +148 -0
- package/src/clickup/toolbar/TaskViewSwitcher.tsx +129 -0
- package/src/clickup/types.ts +79 -0
- package/src/clickup/views/TaskBoardView.tsx +259 -0
- package/src/clickup/views/TaskCalendarView.tsx +410 -0
- package/src/clickup/views/TaskGanttView.tsx +178 -0
- package/src/clickup/views/TaskListView.tsx +95 -0
- package/src/clickup/views/TaskTableView.tsx +192 -0
- package/src/components/ActivityFeed.tsx +440 -0
- package/src/components/AudioPlayer.tsx +179 -0
- package/src/components/BulkActionBar.tsx +72 -0
- package/src/components/Carousel.tsx +107 -0
- package/src/components/ChatBot.tsx +205 -0
- package/src/components/CheckboxCustom.tsx +106 -0
- package/src/components/ClickUpTaskModal.tsx +661 -0
- package/src/components/ConditionBuilder.tsx +322 -0
- package/src/components/ConfirmDialog.tsx +157 -0
- package/src/components/DataCard.tsx +203 -0
- package/src/components/DataTable.tsx +609 -0
- package/src/components/DatePicker.tsx +397 -0
- package/src/components/EmptyState.tsx +105 -0
- package/src/components/Error.tsx +248 -0
- package/src/components/ErrorState.tsx +199 -0
- package/src/components/FileAttachmentChip.tsx +84 -0
- package/src/components/FilterConditionChip.tsx +56 -0
- package/src/components/GalleryCarouselDialog.tsx +439 -0
- package/src/components/HierarchicalSelectionMenu.tsx +432 -0
- package/src/components/InfiniteSelect.tsx +397 -0
- package/src/components/LoadingState.tsx +105 -0
- package/src/components/LucidIconRender.tsx +25 -0
- package/src/components/MasterDetailLayout.tsx +442 -0
- package/src/components/PinnedAttributeRow.tsx +70 -0
- package/src/components/PopUp.tsx +309 -0
- package/src/components/PrioritySignal.tsx +131 -0
- package/src/components/RichTextEditor.tsx +433 -0
- package/src/components/SLACountdown.tsx +133 -0
- package/src/components/StatusBadge.tsx +119 -0
- package/src/components/StatusCards.tsx +78 -0
- package/src/components/StatusProgressBar.tsx +158 -0
- package/src/components/TableActions.tsx +182 -0
- package/src/components/TaskDetailsModal.tsx +7 -0
- package/src/components/ThemedText.tsx +181 -0
- package/src/components/TicketWorkspaceLayout.tsx +63 -0
- package/src/components/TimePicker.tsx +283 -0
- package/src/components/Tooltip.tsx +128 -0
- package/src/components/TreeView.tsx +297 -0
- package/src/components/accordion.tsx +78 -0
- package/src/components/avatar.tsx +107 -0
- package/src/components/badge.tsx +72 -0
- package/src/components/button.tsx +93 -0
- package/src/components/card.tsx +103 -0
- package/src/components/context menu core/context-menu.tsx +304 -0
- package/src/components/context menu core/contextMenuAdvanced.tsx +130 -0
- package/src/components/dialog.tsx +186 -0
- package/src/components/dropdown-menu.tsx +274 -0
- package/src/components/filter/AdvancedFilters.tsx +834 -0
- package/src/components/filter/Filter.tsx +233 -0
- package/src/components/filter/FilterButton.tsx +38 -0
- package/src/components/filter/NormalFilters.tsx +109 -0
- package/src/components/filter/index.ts +5 -0
- package/src/components/filter/types.ts +36 -0
- package/src/components/form-error.tsx +172 -0
- package/src/components/icons.tsx +468 -0
- package/src/components/image.tsx +85 -0
- package/src/components/index.ts +59 -0
- package/src/components/input.tsx +260 -0
- package/src/components/label.tsx +27 -0
- package/src/components/layout/FeatureLayout.tsx +739 -0
- package/src/components/layout/FeatureLayoutExportButton.tsx +93 -0
- package/src/components/layout/FeatureLayoutTabs.tsx +413 -0
- package/src/components/layout/kanban/FeatureLayoutKanban.tsx +386 -0
- package/src/components/layout/kanban/KanbanCard.tsx +132 -0
- package/src/components/layout/kanban/KanbanColumn.tsx +241 -0
- package/src/components/layout/kanban/KanbanToolbar.tsx +77 -0
- package/src/components/layout/kanban/index.ts +6 -0
- package/src/components/layout/kanban/types.ts +96 -0
- package/src/components/popover.tsx +66 -0
- package/src/components/react-flow/FlowGraphHeader.tsx +68 -0
- package/src/components/react-flow/GlowEdge.tsx +238 -0
- package/src/components/react-flow/ReactFlowCanvas.tsx +112 -0
- package/src/components/react-flow/RelationshipFlow.tsx +50 -0
- package/src/components/react-flow/TreeFlowLayout.tsx +187 -0
- package/src/components/react-flow/edges.ts +39 -0
- package/src/components/react-flow/index.ts +9 -0
- package/src/components/react-flow/layout.ts +16 -0
- package/src/components/react-flow/types.ts +103 -0
- package/src/components/react-flow/useFlowGraph.ts +36 -0
- package/src/components/react-flow/useFlowGraphSync.ts +67 -0
- package/src/components/select.tsx +386 -0
- package/src/components/sonner.tsx +58 -0
- package/src/components/stepper.tsx +97 -0
- package/src/components/switch.tsx +46 -0
- package/src/components/table.tsx +577 -0
- package/src/components/tabs.tsx +81 -0
- package/src/components/textarea.tsx +67 -0
- package/src/condition-builder/index.ts +2 -0
- package/src/context-menu/index.ts +2 -0
- package/src/dropdown/SearchDropdown.tsx +145 -0
- package/src/dropdown/index.ts +2 -0
- package/src/editor.ts +1 -0
- package/src/feedback/index.ts +6 -0
- package/src/flow.ts +1 -0
- package/src/hooks/index.ts +3 -0
- package/src/hooks/useContextMenuActions.ts +69 -0
- package/src/hooks/useFeatureLayout.ts +44 -0
- package/src/hooks/useTableActions.ts +146 -0
- package/src/index.ts +27 -0
- package/src/integrations.tsx +11 -0
- package/src/itsm/index.ts +7 -0
- package/src/locales/ar.json +149 -0
- package/src/locales/en.json +149 -0
- package/src/primitives/index.ts +11 -0
- package/src/progress.tsx +87 -0
- package/src/select/index.ts +3 -0
- package/src/support/api.ts +1 -0
- package/src/support/types/file.types.ts +13 -0
- package/src/support/types/gallery.types.ts +22 -0
- package/src/support/types/governorates.types.ts +13 -0
- package/src/support/types/grade.types.ts +7 -0
- package/src/support/types/index.ts +14 -0
- package/src/support/types/metadata.types.ts +93 -0
- package/src/support/types/table.types.ts +45 -0
- package/src/support/types/viewCard.types.ts +100 -0
- package/src/support/utils/fileUtils.ts +1 -0
- package/src/support/utils.ts +3 -0
- package/src/table/index.ts +6 -0
- package/src/tasks.ts +3 -0
- package/src/tours/TourContext.tsx +142 -0
- package/src/tours/TourOverlay.tsx +281 -0
- package/src/tours.ts +2 -0
- package/src/types.ts +138 -0
- package/src/typography/index.ts +4 -0
- package/src/typography/typography.adapter.ts +131 -0
- package/src/typography/typography.constants.ts +700 -0
- package/src/typography/typography.types.ts +156 -0
- package/src/typography/useTypography.ts +211 -0
- package/src/ui/accordion.tsx +66 -0
- package/src/ui/avatar.tsx +106 -0
- package/src/ui/badge.tsx +58 -0
- package/src/ui/button.tsx +69 -0
- package/src/ui/card.tsx +97 -0
- package/src/ui/dialog.tsx +165 -0
- package/src/ui/dropdown-menu.tsx +262 -0
- package/src/ui/index.ts +15 -0
- package/src/ui/input.tsx +22 -0
- package/src/ui/popover.tsx +86 -0
- package/src/ui/select.tsx +193 -0
- package/src/ui/switch.tsx +32 -0
- package/src/ui/table.tsx +119 -0
- package/src/ui/tabs.tsx +89 -0
- package/src/ui/textarea.tsx +21 -0
- package/src/ui/tooltip.tsx +54 -0
- package/src/workspace/index.ts +2 -0
- package/styles.css +532 -0
- package/README.md +0 -3
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../support/utils.js";
|
|
3
|
+
import { ThemedText } from "../index.js";
|
|
4
|
+
const variantStyles = {
|
|
5
|
+
"in-progress": {
|
|
6
|
+
badgeClass: "bg-sky-500/12 text-sky-400 border-sky-500/25",
|
|
7
|
+
dotClass: "bg-sky-400",
|
|
8
|
+
},
|
|
9
|
+
backlog: {
|
|
10
|
+
badgeClass: "bg-dashboard-secondary text-dashboard-muted-foreground border-dashboard-border",
|
|
11
|
+
dotClass: "bg-dashboard-muted-foreground",
|
|
12
|
+
},
|
|
13
|
+
review: {
|
|
14
|
+
badgeClass: "bg-dashboard-primary/15 text-dashboard-primary border-dashboard-primary/30",
|
|
15
|
+
dotClass: "bg-dashboard-primary",
|
|
16
|
+
},
|
|
17
|
+
done: {
|
|
18
|
+
badgeClass: "bg-emerald-500/12 text-emerald-400 border-emerald-500/25",
|
|
19
|
+
dotClass: "bg-emerald-400",
|
|
20
|
+
},
|
|
21
|
+
resolved: {
|
|
22
|
+
badgeClass: "bg-emerald-500/12 text-emerald-400 border-emerald-500/25",
|
|
23
|
+
dotClass: "bg-emerald-400",
|
|
24
|
+
},
|
|
25
|
+
cancelled: {
|
|
26
|
+
badgeClass: "bg-red-500/12 text-red-400 border-red-500/25",
|
|
27
|
+
dotClass: "bg-red-400",
|
|
28
|
+
},
|
|
29
|
+
rejected: {
|
|
30
|
+
badgeClass: "bg-red-500/12 text-red-400 border-red-500/25",
|
|
31
|
+
dotClass: "bg-red-400",
|
|
32
|
+
},
|
|
33
|
+
warning: {
|
|
34
|
+
badgeClass: "bg-amber-500/12 text-amber-400 border-amber-500/25",
|
|
35
|
+
dotClass: "bg-amber-400",
|
|
36
|
+
},
|
|
37
|
+
pending: {
|
|
38
|
+
badgeClass: "bg-amber-500/12 text-amber-400 border-amber-500/25",
|
|
39
|
+
dotClass: "bg-amber-400",
|
|
40
|
+
},
|
|
41
|
+
neutral: {
|
|
42
|
+
badgeClass: "bg-dashboard-secondary text-dashboard-muted-foreground border-dashboard-border",
|
|
43
|
+
dotClass: "bg-dashboard-muted-foreground",
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
export function StatusBadge({ variant = "neutral", label, dotColor, pulse = false, size = "xs", shape = "pill", children, className, ...props }) {
|
|
47
|
+
const config = variantStyles[variant] ?? variantStyles.neutral;
|
|
48
|
+
const content = label ?? children;
|
|
49
|
+
const sizeClass = size === "xs"
|
|
50
|
+
? "h-5 px-2 text-[10.5px] gap-1.5"
|
|
51
|
+
: "h-6 px-2.5 text-xs gap-1.5";
|
|
52
|
+
return (_jsxs(ThemedText, { className: cn("inline-flex items-center font-semibold border transition-colors select-none shrink-0 whitespace-nowrap", shape === "pill" ? "rounded-full" : "rounded-[5px]", sizeClass, config.badgeClass, className), ...props, children: [_jsx("span", { className: cn("rounded-full shrink-0", size === "xs" ? "w-1.5 h-1.5" : "w-2 h-2", dotColor ? undefined : config.dotClass, pulse && "animate-pulse"), style: dotColor ? { backgroundColor: dotColor } : undefined }), content && _jsx("span", { children: content })] }));
|
|
53
|
+
}
|
|
54
|
+
export default StatusBadge;
|
|
55
|
+
//# sourceMappingURL=StatusBadge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusBadge.js","sourceRoot":"","sources":["../../src/components/StatusBadge.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAwBtC,MAAM,aAAa,GAGf;IACA,aAAa,EAAE;QACX,UAAU,EAAE,8CAA8C;QAC1D,QAAQ,EAAE,YAAY;KACzB;IACD,OAAO,EAAE;QACL,UAAU,EACN,gFAAgF;QACpF,QAAQ,EAAE,+BAA+B;KAC5C;IACD,MAAM,EAAE;QACJ,UAAU,EAAE,4EAA4E;QACxF,QAAQ,EAAE,sBAAsB;KACnC;IACD,IAAI,EAAE;QACF,UAAU,EAAE,0DAA0D;QACtE,QAAQ,EAAE,gBAAgB;KAC7B;IACD,QAAQ,EAAE;QACN,UAAU,EAAE,0DAA0D;QACtE,QAAQ,EAAE,gBAAgB;KAC7B;IACD,SAAS,EAAE;QACP,UAAU,EAAE,8CAA8C;QAC1D,QAAQ,EAAE,YAAY;KACzB;IACD,QAAQ,EAAE;QACN,UAAU,EAAE,8CAA8C;QAC1D,QAAQ,EAAE,YAAY;KACzB;IACD,OAAO,EAAE;QACL,UAAU,EAAE,oDAAoD;QAChE,QAAQ,EAAE,cAAc;KAC3B;IACD,OAAO,EAAE;QACL,UAAU,EAAE,oDAAoD;QAChE,QAAQ,EAAE,cAAc;KAC3B;IACD,OAAO,EAAE;QACL,UAAU,EACN,gFAAgF;QACpF,QAAQ,EAAE,+BAA+B;KAC5C;CACJ,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,EACxB,OAAO,GAAG,SAAS,EACnB,KAAK,EACL,QAAQ,EACR,KAAK,GAAG,KAAK,EACb,IAAI,GAAG,IAAI,EACX,KAAK,GAAG,MAAM,EACd,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACO;IACf,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC;IAC/D,MAAM,OAAO,GAAG,KAAK,IAAI,QAAQ,CAAC;IAElC,MAAM,SAAS,GACX,IAAI,KAAK,IAAI;QACT,CAAC,CAAC,gCAAgC;QAClC,CAAC,CAAC,4BAA4B,CAAC;IAEvC,OAAO,CACH,MAAC,UAAU,IACP,SAAS,EAAE,EAAE,CACT,wGAAwG,EACxG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,EACnD,SAAS,EACT,MAAM,CAAC,UAAU,EACjB,SAAS,CACZ,KACG,KAAK,aAET,eACI,SAAS,EAAE,EAAE,CACT,uBAAuB,EACvB,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,EACzC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EACtC,KAAK,IAAI,eAAe,CAC3B,EACD,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,GAC7D,EACD,OAAO,IAAI,yBAAO,OAAO,GAAQ,IACzB,CAChB,CAAC;AACN,CAAC;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
interface StatusCardsProps {
|
|
2
|
+
icon?: React.ReactNode;
|
|
3
|
+
title: string;
|
|
4
|
+
value: string | number;
|
|
5
|
+
valueClassName?: string;
|
|
6
|
+
className?: string;
|
|
7
|
+
subtitle?: React.ReactNode;
|
|
8
|
+
delta?: string;
|
|
9
|
+
trend?: "up" | "down" | "neutral";
|
|
10
|
+
}
|
|
11
|
+
export default function StatusCards({ icon, title, value, valueClassName, className, subtitle, delta, trend, }: StatusCardsProps): import("react").JSX.Element;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../support/utils.js";
|
|
3
|
+
import { LucidIconRender } from "./LucidIconRender.js";
|
|
4
|
+
import { ThemedText } from "./ThemedText.js";
|
|
5
|
+
export default function StatusCards({ icon, title, value, valueClassName, className, subtitle, delta, trend, }) {
|
|
6
|
+
return (_jsxs("div", { className: cn("bg-dashboard-card border border-dashboard-border rounded-lg p-3.5 flex flex-col justify-between gap-2.5 shadow-xs transition-colors hover:border-dashboard-primary/40", className), children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsx(ThemedText, { variant: "label", className: "text-[10.5px] font-semibold uppercase tracking-wider text-dashboard-muted-foreground line-clamp-1", children: title }), icon && (_jsx("span", { className: "w-6 h-6 rounded-md bg-dashboard-secondary flex items-center justify-center text-dashboard-primary shrink-0 [&_svg]:size-3.5", children: _jsx(LucidIconRender, { iconName: icon }) }))] }), _jsxs("div", { className: "flex items-baseline justify-between gap-2", children: [_jsx(ThemedText, { variant: "metric", className: cn("text-[22px] sm:text-[24px] font-bold text-dashboard-foreground tracking-tight leading-none", valueClassName), children: value }), delta && (_jsx("span", { className: cn("text-[10.5px] font-semibold px-1.5 py-0.5 rounded-[4px] border shrink-0", trend === "up"
|
|
7
|
+
? "bg-emerald-500/12 text-emerald-400 border-emerald-500/25"
|
|
8
|
+
: trend === "down"
|
|
9
|
+
? "bg-red-500/12 text-red-400 border-red-500/25"
|
|
10
|
+
: "bg-dashboard-secondary text-dashboard-muted-foreground border-dashboard-border"), children: delta }))] }), subtitle && (_jsx("div", { className: "text-[11px] text-dashboard-muted-foreground leading-tight", children: subtitle }))] }));
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=StatusCards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusCards.js","sourceRoot":"","sources":["../../src/components/StatusCards.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAa1C,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAChC,IAAI,EACJ,KAAK,EACL,KAAK,EACL,cAAc,EACd,SAAS,EACT,QAAQ,EACR,KAAK,EACL,KAAK,GACU;IACf,OAAO,CACH,eACI,SAAS,EAAE,EAAE,CACT,uKAAuK,EACvK,SAAS,CACZ,aAED,eAAK,SAAS,EAAC,yCAAyC,aACpD,KAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,SAAS,EAAC,mGAAmG,YACpI,KAAK,GACG,EACZ,IAAI,IAAI,CACL,eAAM,SAAS,EAAC,6HAA6H,YACzI,KAAC,eAAe,IAAC,QAAQ,EAAE,IAAI,GAAI,GAChC,CACV,IACC,EAEN,eAAK,SAAS,EAAC,2CAA2C,aACtD,KAAC,UAAU,IACP,OAAO,EAAC,QAAQ,EAChB,SAAS,EAAE,EAAE,CACT,4FAA4F,EAC5F,cAAc,CACjB,YAEA,KAAK,GACG,EAEZ,KAAK,IAAI,CACN,eACI,SAAS,EAAE,EAAE,CACT,yEAAyE,EACzE,KAAK,KAAK,IAAI;4BACV,CAAC,CAAC,0DAA0D;4BAC5D,CAAC,CAAC,KAAK,KAAK,MAAM;gCAChB,CAAC,CAAC,8CAA8C;gCAChD,CAAC,CAAC,gFAAgF,CAC3F,YAEA,KAAK,GACH,CACV,IACC,EAEL,QAAQ,IAAI,CACT,cAAK,SAAS,EAAC,2DAA2D,YACrE,QAAQ,GACP,CACT,IACC,CACT,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface ProgressBarStageObject<T extends string = string> {
|
|
3
|
+
id?: T;
|
|
4
|
+
statusKey?: T;
|
|
5
|
+
key?: T;
|
|
6
|
+
label: string;
|
|
7
|
+
}
|
|
8
|
+
export type ProgressBarStage<T extends string = string> = T | ProgressBarStageObject<T>;
|
|
9
|
+
export interface StatusProgressBarProps<T extends string = string> {
|
|
10
|
+
status: T;
|
|
11
|
+
stages: readonly ProgressBarStage<T>[] | ProgressBarStage<T>[];
|
|
12
|
+
onStatusChange?: (newStatus: T) => void;
|
|
13
|
+
className?: string;
|
|
14
|
+
containerClassName?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function StatusProgressBar<T extends string = string>({ status, stages, onStatusChange, className, containerClassName, }: StatusProgressBarProps<T>): React.JSX.Element;
|
|
17
|
+
export declare const ProgressBar: typeof StatusProgressBar;
|
|
18
|
+
export default StatusProgressBar;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../support/utils.js";
|
|
3
|
+
import { Check } from "lucide-react";
|
|
4
|
+
import React from "react";
|
|
5
|
+
export function StatusProgressBar({ status, stages, onStatusChange, className, containerClassName, }) {
|
|
6
|
+
const normalizedStages = React.useMemo(() => {
|
|
7
|
+
return stages.map((s) => {
|
|
8
|
+
if (typeof s === "string") {
|
|
9
|
+
return { id: s, label: s };
|
|
10
|
+
}
|
|
11
|
+
const anyStage = s;
|
|
12
|
+
const stageId = (anyStage.id ||
|
|
13
|
+
anyStage.statusKey ||
|
|
14
|
+
anyStage.key ||
|
|
15
|
+
anyStage.label);
|
|
16
|
+
return {
|
|
17
|
+
id: stageId,
|
|
18
|
+
label: anyStage.label || String(stageId),
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
}, [stages]);
|
|
22
|
+
const currentIndex = React.useMemo(() => {
|
|
23
|
+
const found = normalizedStages.findIndex((s) => s.id.toLowerCase() === (status || "").toLowerCase() ||
|
|
24
|
+
s.label.toLowerCase() === (status || "").toLowerCase());
|
|
25
|
+
return found !== -1 ? found : 0;
|
|
26
|
+
}, [normalizedStages, status]);
|
|
27
|
+
const progressPercent = normalizedStages.length > 1
|
|
28
|
+
? (currentIndex / (normalizedStages.length - 1)) * 100
|
|
29
|
+
: 0;
|
|
30
|
+
return (_jsx("div", { className: cn("w-full px-8 py-3 bg-dashboard-card/40 border-b border-dashboard-border overflow-x-auto hide-scrollbar shrink-0", className), children: _jsxs("div", { className: cn("relative flex items-center justify-between w-full max-w-4xl mx-auto min-w-140 px-6", containerClassName), children: [_jsx("div", { className: "absolute top-4 left-6 right-6 h-0.5 -translate-y-1/2 bg-dashboard-border z-0" }), _jsx("div", { className: "absolute top-4 left-6 h-0.5 -translate-y-1/2 bg-dashboard-primary transition-all duration-500 ease-out z-0", style: {
|
|
31
|
+
width: `calc(${progressPercent}% * (100% - 48px) / 100)`,
|
|
32
|
+
} }), _jsx("div", { className: "relative z-10 flex justify-between w-full", children: normalizedStages.map((stage, idx) => {
|
|
33
|
+
const isCompleted = idx < currentIndex;
|
|
34
|
+
const isCurrent = idx === currentIndex;
|
|
35
|
+
const isPending = idx > currentIndex;
|
|
36
|
+
const nodeElement = (_jsxs("div", { className: "flex flex-col items-center gap-1.5 min-w-0 px-1", children: [_jsx("div", { className: cn("relative z-10 flex h-8 w-8 items-center justify-center rounded-full border-2 text-[11px] font-semibold transition-all duration-300", isCompleted &&
|
|
37
|
+
"border-emerald-500 bg-emerald-500 text-white ring-4 ring-emerald-500/20", isCurrent &&
|
|
38
|
+
"border-dashboard-primary bg-dashboard-primary text-white ring-4 ring-dashboard-primary/25 scale-105", isPending &&
|
|
39
|
+
"border-dashboard-border bg-dashboard-card text-dashboard-muted-foreground"), children: isCompleted ? (_jsx(Check, { size: 14, strokeWidth: 3 })) : (idx + 1) }), _jsx("span", { className: cn("max-w-22 text-center text-[10px] font-semibold leading-tight tracking-wide whitespace-nowrap", isCompleted && "text-emerald-500", isCurrent &&
|
|
40
|
+
"text-dashboard-primary font-bold", isPending &&
|
|
41
|
+
"text-dashboard-muted-foreground"), children: stage.label })] }));
|
|
42
|
+
if (onStatusChange) {
|
|
43
|
+
return (_jsx("button", { type: "button", onClick: () => onStatusChange(stage.id), "aria-label": `Change status to ${stage.label}`, className: "group cursor-pointer focus:outline-none flex flex-col items-center", children: nodeElement }, stage.id));
|
|
44
|
+
}
|
|
45
|
+
return (_jsx("div", { className: "flex flex-col items-center", children: nodeElement }, stage.id));
|
|
46
|
+
}) })] }) }));
|
|
47
|
+
}
|
|
48
|
+
export const ProgressBar = StatusProgressBar;
|
|
49
|
+
export default StatusProgressBar;
|
|
50
|
+
//# sourceMappingURL=StatusProgressBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusProgressBar.js","sourceRoot":"","sources":["../../src/components/StatusProgressBar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export interface TableActionItem<T> {
|
|
3
|
+
id: string;
|
|
4
|
+
label: React.ReactNode | ((item: T) => React.ReactNode);
|
|
5
|
+
icon?: React.ComponentType<{
|
|
6
|
+
size?: number;
|
|
7
|
+
className?: string;
|
|
8
|
+
}>;
|
|
9
|
+
variant?: "default" | "destructive";
|
|
10
|
+
onClick: (item: T) => void;
|
|
11
|
+
/** Sub-actions for nested copy menu */
|
|
12
|
+
subActions?: {
|
|
13
|
+
label: string;
|
|
14
|
+
getValue: (item: T) => string;
|
|
15
|
+
}[];
|
|
16
|
+
/** Hide action condition */
|
|
17
|
+
hidden?: (item: T) => boolean;
|
|
18
|
+
/** Separator line after this action */
|
|
19
|
+
separator?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export interface RowActionsDropdownProps<T> {
|
|
22
|
+
item: T;
|
|
23
|
+
actions: TableActionItem<T>[];
|
|
24
|
+
}
|
|
25
|
+
export declare function renderContextMenuItems<T>(item: T, actions: TableActionItem<T>[]): React.ReactNode;
|
|
26
|
+
export declare function RowActionsDropdown<T>({ item, actions, }: RowActionsDropdownProps<T>): React.JSX.Element | null;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { MoreHorizontal } from "lucide-react";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { ContextMenuAdvancedItem, ContextMenuAdvancedSeparator, ContextMenuAdvancedSub, } from "./context menu core/contextMenuAdvanced.js";
|
|
5
|
+
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "./dropdown-menu.js";
|
|
6
|
+
export function renderContextMenuItems(item, actions) {
|
|
7
|
+
return (_jsx(_Fragment, { children: actions.map((action, index) => {
|
|
8
|
+
if (action.hidden && action.hidden(item))
|
|
9
|
+
return null;
|
|
10
|
+
const IconComponent = action.icon;
|
|
11
|
+
const labelText = typeof action.label === "function"
|
|
12
|
+
? action.label(item)
|
|
13
|
+
: action.label;
|
|
14
|
+
if (action.subActions && action.subActions.length > 0) {
|
|
15
|
+
return (_jsxs(React.Fragment, { children: [_jsx(ContextMenuAdvancedSub, { icon: IconComponent, label: labelText, children: action.subActions.map((sub, sIdx) => (_jsx(ContextMenuAdvancedItem, { onClick: () => {
|
|
16
|
+
const val = sub.getValue(item);
|
|
17
|
+
if (val) {
|
|
18
|
+
navigator.clipboard.writeText(val);
|
|
19
|
+
}
|
|
20
|
+
}, children: sub.label }, sIdx))) }), action.separator && (_jsx(ContextMenuAdvancedSeparator, { className: "bg-dashboard-border" }))] }, action.id || index));
|
|
21
|
+
}
|
|
22
|
+
return (_jsxs(React.Fragment, { children: [_jsx(ContextMenuAdvancedItem, { icon: IconComponent, variant: action.variant, onClick: () => action.onClick(item), className: action.variant === "destructive"
|
|
23
|
+
? "text-dashboard-destructive hover:bg-dashboard-destructive/15"
|
|
24
|
+
: undefined, children: labelText }), action.separator && (_jsx(ContextMenuAdvancedSeparator, { className: "bg-dashboard-border" }))] }, action.id || index));
|
|
25
|
+
}) }));
|
|
26
|
+
}
|
|
27
|
+
export function RowActionsDropdown({ item, actions, }) {
|
|
28
|
+
const visibleActions = actions.filter((a) => !a.hidden || !a.hidden(item));
|
|
29
|
+
if (visibleActions.length === 0)
|
|
30
|
+
return null;
|
|
31
|
+
return (_jsx("div", { onClick: (e) => e.stopPropagation(), children: _jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { "aria-label": "Row actions", className: "p-1 rounded-md hover:bg-dashboard-secondary transition-colors outline-none cursor-pointer", children: _jsx(MoreHorizontal, { size: 15, className: "text-dashboard-muted-foreground" }) }), _jsx(DropdownMenuContent, { align: "end", className: "bg-dashboard-card border border-dashboard-border p-1 w-36 shadow-2xl rounded-xl", children: visibleActions.map((action, index) => {
|
|
32
|
+
const IconComponent = action.icon;
|
|
33
|
+
const labelText = typeof action.label === "function"
|
|
34
|
+
? action.label(item)
|
|
35
|
+
: action.label;
|
|
36
|
+
if (action.subActions && action.subActions.length > 0) {
|
|
37
|
+
return (_jsx(React.Fragment, { children: action.subActions.map((sub, sIdx) => (_jsx(DropdownMenuItem, { onClick: () => {
|
|
38
|
+
const val = sub.getValue(item);
|
|
39
|
+
if (val) {
|
|
40
|
+
navigator.clipboard.writeText(val);
|
|
41
|
+
}
|
|
42
|
+
}, className: "gap-2 px-3 py-1.5 cursor-pointer rounded-lg transition-colors", children: _jsx("span", { className: "text-xs font-medium", children: sub.label }) }, sIdx))) }, action.id || index));
|
|
43
|
+
}
|
|
44
|
+
return (_jsxs(DropdownMenuItem, { onClick: () => action.onClick(item), className: action.variant === "destructive"
|
|
45
|
+
? "text-dashboard-destructive hover:bg-dashboard-destructive/15 gap-2 px-3 py-1.5 cursor-pointer rounded-lg transition-colors"
|
|
46
|
+
: "gap-2 px-3 py-1.5 cursor-pointer rounded-lg transition-colors", children: [IconComponent && _jsx(IconComponent, { size: 14 }), _jsx("span", { className: "text-xs font-medium", children: labelText })] }, action.id || index));
|
|
47
|
+
}) })] }) }));
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=TableActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableActions.js","sourceRoot":"","sources":["../../src/components/TableActions.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { ClickUpTaskModal } from './ClickUpTaskModal.js';
|
|
3
|
+
import { useChannelMembers } from '../integrations.js';
|
|
4
|
+
export function TaskDetailsModal(props) {
|
|
5
|
+
const { data: members } = useChannelMembers();
|
|
6
|
+
return _jsx(ClickUpTaskModal, { ...props, availableUsers: props.availableUsers ?? members.map(member => member.name) });
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=TaskDetailsModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskDetailsModal.js","sourceRoot":"","sources":["../../src/components/TaskDetailsModal.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAA8B,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,MAAM,UAAU,gBAAgB,CAAC,KAA4B;IACzD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAC9C,OAAO,KAAC,gBAAgB,OAAK,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAI,CAAC;AACvH,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { AnyFontOption, ThemedTextAlign, ThemedTextColor, ThemedTextSize, ThemedTextTransform, ThemedTextVariant, ThemedTextWeight } from "../typography";
|
|
3
|
+
export interface ThemedTextProps extends Omit<React.AllHTMLAttributes<HTMLElement>, "as" | "color" | "size"> {
|
|
4
|
+
children?: React.ReactNode;
|
|
5
|
+
[key: string]: any;
|
|
6
|
+
variant?: ThemedTextVariant;
|
|
7
|
+
size?: ThemedTextSize;
|
|
8
|
+
weight?: ThemedTextWeight;
|
|
9
|
+
color?: ThemedTextColor;
|
|
10
|
+
font?: AnyFontOption;
|
|
11
|
+
align?: ThemedTextAlign;
|
|
12
|
+
transform?: ThemedTextTransform;
|
|
13
|
+
className?: string;
|
|
14
|
+
as?: React.ElementType;
|
|
15
|
+
truncate?: boolean;
|
|
16
|
+
italic?: boolean;
|
|
17
|
+
underline?: boolean;
|
|
18
|
+
lineThrough?: boolean;
|
|
19
|
+
fullWidth?: boolean;
|
|
20
|
+
htmlFor?: string;
|
|
21
|
+
}
|
|
22
|
+
declare const ThemedText: React.FC<ThemedTextProps>;
|
|
23
|
+
export { ThemedText };
|
|
24
|
+
export default ThemedText;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { useLanguage } from "@gostack-framework/react";
|
|
2
|
+
import { cn } from "../support/utils.js";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { TEXT_ALIGNMENTS_MAP, TEXT_COLORS_MAP, TEXT_TRANSFORMS_MAP, useTypography, } from "../typography/index.js";
|
|
5
|
+
// Utility Function for RTL-aware alignment
|
|
6
|
+
const getAlignmentClass = (align, isRTL) => {
|
|
7
|
+
if (!align)
|
|
8
|
+
return "";
|
|
9
|
+
if (isRTL) {
|
|
10
|
+
switch (align) {
|
|
11
|
+
case "left":
|
|
12
|
+
return TEXT_ALIGNMENTS_MAP.right;
|
|
13
|
+
case "right":
|
|
14
|
+
return TEXT_ALIGNMENTS_MAP.left;
|
|
15
|
+
case "start":
|
|
16
|
+
return TEXT_ALIGNMENTS_MAP.right;
|
|
17
|
+
case "end":
|
|
18
|
+
return TEXT_ALIGNMENTS_MAP.left;
|
|
19
|
+
default:
|
|
20
|
+
return TEXT_ALIGNMENTS_MAP[align] || "";
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return TEXT_ALIGNMENTS_MAP[align] || "";
|
|
24
|
+
};
|
|
25
|
+
// Utility function to infer semantic HTML tag from variant if `as` is not provided
|
|
26
|
+
const getDefaultComponent = (variant) => {
|
|
27
|
+
switch (variant) {
|
|
28
|
+
case "h1":
|
|
29
|
+
case "title":
|
|
30
|
+
return "h1";
|
|
31
|
+
case "h2":
|
|
32
|
+
case "section":
|
|
33
|
+
case "heading":
|
|
34
|
+
return "h2";
|
|
35
|
+
case "h3":
|
|
36
|
+
case "subheading":
|
|
37
|
+
return "h3";
|
|
38
|
+
case "h4":
|
|
39
|
+
return "h4";
|
|
40
|
+
case "label":
|
|
41
|
+
case "caption":
|
|
42
|
+
return "span";
|
|
43
|
+
case "metric":
|
|
44
|
+
return "div";
|
|
45
|
+
case "code":
|
|
46
|
+
return "code";
|
|
47
|
+
case "subtitle":
|
|
48
|
+
case "lead":
|
|
49
|
+
case "body":
|
|
50
|
+
case "sidebar":
|
|
51
|
+
return "button";
|
|
52
|
+
default:
|
|
53
|
+
return "p";
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
// Main Component
|
|
57
|
+
const ThemedText = ({ children, variant = "body", size, weight, color, font, align, transform = "none", className, as: ComponentProp, truncate = false, italic = false, underline = false, lineThrough = false, fullWidth = false, ...props }) => {
|
|
58
|
+
const { isRTL } = useLanguage();
|
|
59
|
+
const { getFontFamilyClass, getVariantStyleClass } = useTypography();
|
|
60
|
+
const Component = ComponentProp || getDefaultComponent(variant);
|
|
61
|
+
const isHeading = [
|
|
62
|
+
"heading",
|
|
63
|
+
"h1",
|
|
64
|
+
"h2",
|
|
65
|
+
"h3",
|
|
66
|
+
"h4",
|
|
67
|
+
"title",
|
|
68
|
+
"section",
|
|
69
|
+
"subheading",
|
|
70
|
+
].includes(variant);
|
|
71
|
+
// Resolve classes from centralized typography system
|
|
72
|
+
const classes = [
|
|
73
|
+
// Base classes
|
|
74
|
+
"transition-colors duration-200",
|
|
75
|
+
// Dynamically configured font family (respects user settings + RTL + explicit override)
|
|
76
|
+
getFontFamilyClass(font, isRTL, isHeading),
|
|
77
|
+
// Variant-specific styles: handles font size, font weight, leading, and tracking based on active density scale (compact, normal, comfortable)
|
|
78
|
+
getVariantStyleClass(variant),
|
|
79
|
+
// Color: explicit prop overrides variant default
|
|
80
|
+
color ? TEXT_COLORS_MAP[color] : "",
|
|
81
|
+
// RTL-aware text alignment
|
|
82
|
+
align ? getAlignmentClass(align, isRTL) : "",
|
|
83
|
+
// Text transform
|
|
84
|
+
TEXT_TRANSFORMS_MAP[transform] || "",
|
|
85
|
+
// Text decorations
|
|
86
|
+
italic && "italic",
|
|
87
|
+
underline && "underline",
|
|
88
|
+
lineThrough && "line-through",
|
|
89
|
+
// Truncation
|
|
90
|
+
truncate && "truncate",
|
|
91
|
+
// Full width
|
|
92
|
+
fullWidth && "w-full",
|
|
93
|
+
// Custom className
|
|
94
|
+
className,
|
|
95
|
+
];
|
|
96
|
+
const combinedClassName = cn(...classes);
|
|
97
|
+
return React.createElement(Component, { className: combinedClassName, ...props }, children);
|
|
98
|
+
};
|
|
99
|
+
// Display name for debugging
|
|
100
|
+
ThemedText.displayName = "ThemedText";
|
|
101
|
+
export { ThemedText };
|
|
102
|
+
export default ThemedText;
|
|
103
|
+
//# sourceMappingURL=ThemedText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemedText.js","sourceRoot":"","sources":["../../src/components/ThemedText.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface TicketWorkspaceLayoutProps {
|
|
3
|
+
header?: React.ReactNode;
|
|
4
|
+
mainContent: React.ReactNode;
|
|
5
|
+
sidebarContent: React.ReactNode;
|
|
6
|
+
footerActions?: React.ReactNode;
|
|
7
|
+
className?: string;
|
|
8
|
+
sidebarWidthClassName?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function TicketWorkspaceLayout({ header, mainContent, sidebarContent, footerActions, className, sidebarWidthClassName, }: TicketWorkspaceLayoutProps): React.JSX.Element;
|
|
11
|
+
export default TicketWorkspaceLayout;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../support/utils.js";
|
|
3
|
+
export function TicketWorkspaceLayout({ header, mainContent, sidebarContent, footerActions, className, sidebarWidthClassName = "lg:w-[340px] xl:w-[380px]", }) {
|
|
4
|
+
return (_jsxs("div", { className: cn("flex flex-col w-full h-full min-h-[70vh] bg-dashboard-background select-none", className), children: [header && (_jsx("div", { className: "shrink-0 border-b border-dashboard-border bg-dashboard-card dark:bg-dashboard-card/40 px-4 py-3 backdrop-blur-md", children: header })), _jsxs("div", { className: "flex-1 flex flex-col lg:flex-row overflow-hidden", children: [_jsx("div", { className: "flex-1 overflow-y-auto p-4 lg:p-6 space-y-6", children: mainContent }), _jsx("div", { className: cn("shrink-0 border-t lg:border-t-0 lg:border-l border-dashboard-border bg-dashboard-card dark:bg-dashboard-card/30 overflow-y-auto p-4 space-y-5", sidebarWidthClassName), children: sidebarContent })] }), footerActions && (_jsx("div", { className: "shrink-0 border-t border-dashboard-border bg-dashboard-card dark:bg-dashboard-card/80 px-4 py-2.5 backdrop-blur-md flex items-center justify-end gap-3", children: footerActions }))] }));
|
|
5
|
+
}
|
|
6
|
+
export default TicketWorkspaceLayout;
|
|
7
|
+
//# sourceMappingURL=TicketWorkspaceLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TicketWorkspaceLayout.js","sourceRoot":"","sources":["../../src/components/TicketWorkspaceLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAYtC,MAAM,UAAU,qBAAqB,CAAC,EAClC,MAAM,EACN,WAAW,EACX,cAAc,EACd,aAAa,EACb,SAAS,EACT,qBAAqB,GAAG,2BAA2B,GAC1B;IACzB,OAAO,CACH,eACI,SAAS,EAAE,EAAE,CACT,8EAA8E,EAC9E,SAAS,CACZ,aAGA,MAAM,IAAI,CACP,cAAK,SAAS,EAAC,kHAAkH,YAC5H,MAAM,GACL,CACT,EAGD,eAAK,SAAS,EAAC,kDAAkD,aAE7D,cAAK,SAAS,EAAC,6CAA6C,YACvD,WAAW,GACV,EAGN,cACI,SAAS,EAAE,EAAE,CACT,+IAA+I,EAC/I,qBAAqB,CACxB,YAEA,cAAc,GACb,IACJ,EAGL,aAAa,IAAI,CACd,cAAK,SAAS,EAAC,wJAAwJ,YAClK,aAAa,GACZ,CACT,IACC,CACT,CAAC;AACN,CAAC;AAED,eAAe,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { FieldValidationProps } from "./form-error";
|
|
3
|
+
export interface TimePickerProps extends FieldValidationProps {
|
|
4
|
+
value?: string | null;
|
|
5
|
+
onChange: (time: string) => void;
|
|
6
|
+
placeholder?: string;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
className?: string;
|
|
9
|
+
id?: string;
|
|
10
|
+
clearable?: boolean;
|
|
11
|
+
use12Hours?: boolean;
|
|
12
|
+
"aria-label"?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function TimePicker({ value, onChange, placeholder, disabled, className, id, clearable, use12Hours, "aria-label": ariaLabel, error, errors, payloadKey, errorKey, containerClassName, errorClassName, }: TimePickerProps): React.JSX.Element;
|
|
15
|
+
export default TimePicker;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo, useState } from "react";
|
|
3
|
+
import { Clock } from "lucide-react";
|
|
4
|
+
import { cn } from "../support/utils.js";
|
|
5
|
+
import { Popover, PopoverContent, PopoverTrigger, } from "./popover.js";
|
|
6
|
+
import { FieldError, resolveFieldErrors, ERROR_OUTLINE_CLASSES, } from "./form-error.js";
|
|
7
|
+
const HOURS_12 = [12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
|
|
8
|
+
const MINUTES_STEP_5 = [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55];
|
|
9
|
+
export function TimePicker({ value, onChange, placeholder = "--:-- --", disabled = false, className, id, clearable = true, use12Hours = true, "aria-label": ariaLabel, error, errors, payloadKey, errorKey, containerClassName, errorClassName, }) {
|
|
10
|
+
const resolvedErrors = useMemo(() => {
|
|
11
|
+
const key = payloadKey || errorKey || id;
|
|
12
|
+
return resolveFieldErrors(error, errors, key);
|
|
13
|
+
}, [error, errors, payloadKey, errorKey, id]);
|
|
14
|
+
const hasError = resolvedErrors.length > 0;
|
|
15
|
+
const errorId = id ? `${id}-error` : undefined;
|
|
16
|
+
const [open, setOpen] = useState(false);
|
|
17
|
+
// Deconstruct 24h value "HH:mm" into hours, minutes, period
|
|
18
|
+
const { hour12, minutes, period, raw24Hour } = useMemo(() => {
|
|
19
|
+
if (!value) {
|
|
20
|
+
return { hour12: 9, minutes: 0, period: "AM", raw24Hour: 9 };
|
|
21
|
+
}
|
|
22
|
+
const [hStr, mStr] = value.split(":");
|
|
23
|
+
const h = Number(hStr) || 0;
|
|
24
|
+
const m = Number(mStr) || 0;
|
|
25
|
+
const p = h >= 12 ? "PM" : "AM";
|
|
26
|
+
const h12 = h % 12 === 0 ? 12 : h % 12;
|
|
27
|
+
return { hour12: h12, minutes: m, period: p, raw24Hour: h };
|
|
28
|
+
}, [value]);
|
|
29
|
+
const formatTo24H = (h12, m, p) => {
|
|
30
|
+
let h24 = h12;
|
|
31
|
+
if (p === "PM" && h12 < 12)
|
|
32
|
+
h24 = h12 + 12;
|
|
33
|
+
if (p === "AM" && h12 === 12)
|
|
34
|
+
h24 = 0;
|
|
35
|
+
const hh = String(h24).padStart(2, "0");
|
|
36
|
+
const mm = String(m).padStart(2, "0");
|
|
37
|
+
return `${hh}:${mm}`;
|
|
38
|
+
};
|
|
39
|
+
const handleSelectHour = (h) => {
|
|
40
|
+
const nextTime = formatTo24H(h, minutes, period);
|
|
41
|
+
onChange(nextTime);
|
|
42
|
+
};
|
|
43
|
+
const handleSelectMinute = (m) => {
|
|
44
|
+
const nextTime = formatTo24H(hour12, m, period);
|
|
45
|
+
onChange(nextTime);
|
|
46
|
+
};
|
|
47
|
+
const handleSelectPeriod = (p) => {
|
|
48
|
+
const nextTime = formatTo24H(hour12, minutes, p);
|
|
49
|
+
onChange(nextTime);
|
|
50
|
+
};
|
|
51
|
+
const handleSelectNow = (e) => {
|
|
52
|
+
e.stopPropagation();
|
|
53
|
+
const now = new Date();
|
|
54
|
+
const hh = String(now.getHours()).padStart(2, "0");
|
|
55
|
+
const mm = String(Math.floor(now.getMinutes() / 5) * 5).padStart(2, "0");
|
|
56
|
+
onChange(`${hh}:${mm}`);
|
|
57
|
+
setOpen(false);
|
|
58
|
+
};
|
|
59
|
+
const handleClear = (e) => {
|
|
60
|
+
e.stopPropagation();
|
|
61
|
+
onChange("");
|
|
62
|
+
setOpen(false);
|
|
63
|
+
};
|
|
64
|
+
// Human readable display
|
|
65
|
+
const displayValue = useMemo(() => {
|
|
66
|
+
if (!value)
|
|
67
|
+
return "";
|
|
68
|
+
if (!use12Hours)
|
|
69
|
+
return value;
|
|
70
|
+
const [hStr, mStr] = value.split(":");
|
|
71
|
+
const h = Number(hStr) || 0;
|
|
72
|
+
const m = String(Number(mStr) || 0).padStart(2, "0");
|
|
73
|
+
const p = h >= 12 ? "PM" : "AM";
|
|
74
|
+
const h12 = h % 12 === 0 ? 12 : h % 12;
|
|
75
|
+
const hFormatted = String(h12).padStart(2, "0");
|
|
76
|
+
return `${hFormatted}:${m} ${p}`;
|
|
77
|
+
}, [value, use12Hours]);
|
|
78
|
+
return (_jsxs("div", { className: cn("w-full", containerClassName), children: [_jsxs(Popover, { open: open, onOpenChange: setOpen, children: [_jsxs(PopoverTrigger, { id: id, disabled: disabled, "aria-label": ariaLabel || placeholder, "aria-invalid": hasError ? true : undefined, "aria-describedby": hasError && errorId ? errorId : undefined, className: cn("h-9 w-full min-w-0 rounded-lg border border-dashboard-border bg-dashboard-background px-3 flex items-center justify-between text-xs text-dashboard-foreground font-normal transition-colors outline-none cursor-pointer", "hover:bg-dashboard-secondary/40 focus:border-dashboard-primary focus:ring-1 focus:ring-dashboard-primary/20", disabled && "opacity-50 cursor-not-allowed pointer-events-none", !displayValue && "text-dashboard-muted-foreground", className, hasError && ERROR_OUTLINE_CLASSES), children: [_jsx("span", { className: "truncate", children: displayValue || placeholder }), _jsx(Clock, { className: "w-3.5 h-3.5 text-dashboard-muted-foreground shrink-0" })] }), _jsxs(PopoverContent, { align: "start", sideOffset: 4, className: "w-60 p-3 bg-dashboard-card border border-dashboard-border rounded-xl shadow-2xl select-none", children: [_jsxs("div", { className: "flex items-center justify-between pb-2 border-b border-dashboard-border/80", children: [_jsx("span", { className: "text-[10px] font-bold text-dashboard-muted-foreground uppercase tracking-wider", children: "Select Time" }), _jsx("span", { className: "text-xs font-bold text-dashboard-primary bg-dashboard-primary/10 px-2 py-0.5 rounded-md border border-dashboard-primary/20", children: displayValue || "09:00 AM" })] }), _jsxs("div", { className: "grid grid-cols-3 gap-2 py-2.5", children: [_jsxs("div", { className: "flex flex-col space-y-1", children: [_jsx("span", { className: "text-[10px] font-bold text-center text-dashboard-muted-foreground uppercase", children: "Hour" }), _jsx("div", { className: "h-36 overflow-y-auto space-y-0.5 custom-scrollbar pr-0.5", children: HOURS_12.map((h) => {
|
|
79
|
+
const selected = value ? hour12 === h : h === 9;
|
|
80
|
+
return (_jsx("button", { type: "button", onClick: () => handleSelectHour(h), className: cn("w-full h-7 text-xs font-medium rounded-md transition-colors cursor-pointer flex items-center justify-center", selected
|
|
81
|
+
? "bg-dashboard-primary text-white font-bold shadow-xs"
|
|
82
|
+
: "text-dashboard-foreground hover:bg-dashboard-secondary"), children: String(h).padStart(2, "0") }, h));
|
|
83
|
+
}) })] }), _jsxs("div", { className: "flex flex-col space-y-1", children: [_jsx("span", { className: "text-[10px] font-bold text-center text-dashboard-muted-foreground uppercase", children: "Min" }), _jsx("div", { className: "h-36 overflow-y-auto space-y-0.5 custom-scrollbar pr-0.5", children: MINUTES_STEP_5.map((m) => {
|
|
84
|
+
const selected = value ? minutes === m : m === 0;
|
|
85
|
+
return (_jsx("button", { type: "button", onClick: () => handleSelectMinute(m), className: cn("w-full h-7 text-xs font-medium rounded-md transition-colors cursor-pointer flex items-center justify-center", selected
|
|
86
|
+
? "bg-dashboard-primary text-white font-bold shadow-xs"
|
|
87
|
+
: "text-dashboard-foreground hover:bg-dashboard-secondary"), children: String(m).padStart(2, "0") }, m));
|
|
88
|
+
}) })] }), _jsxs("div", { className: "flex flex-col space-y-1", children: [_jsx("span", { className: "text-[10px] font-bold text-center text-dashboard-muted-foreground uppercase", children: "Period" }), _jsx("div", { className: "flex flex-col gap-1.5 pt-1", children: ["AM", "PM"].map((p) => {
|
|
89
|
+
const selected = value ? period === p : p === "AM";
|
|
90
|
+
return (_jsx("button", { type: "button", onClick: () => handleSelectPeriod(p), className: cn("w-full h-8 text-xs font-bold rounded-lg transition-colors cursor-pointer flex items-center justify-center border", selected
|
|
91
|
+
? "bg-dashboard-primary text-white border-dashboard-primary shadow-xs"
|
|
92
|
+
: "bg-dashboard-secondary/40 text-dashboard-foreground/80 border-dashboard-border/80 hover:bg-dashboard-secondary hover:text-dashboard-foreground"), children: p }, p));
|
|
93
|
+
}) })] })] }), _jsxs("div", { className: "flex items-center justify-between pt-2.5 border-t border-dashboard-border/80", children: [_jsx("button", { type: "button", onClick: handleClear, className: "text-[11px] font-medium text-dashboard-muted-foreground hover:text-dashboard-foreground transition-colors cursor-pointer px-1.5 py-0.5 rounded hover:bg-dashboard-secondary/60", children: "Clear" }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("button", { type: "button", onClick: handleSelectNow, className: "text-[11px] font-semibold text-dashboard-primary hover:underline transition-colors cursor-pointer px-1.5 py-0.5 rounded hover:bg-dashboard-primary/10", children: "Now" }), _jsx("button", { type: "button", onClick: () => setOpen(false), className: "text-[11px] font-semibold bg-dashboard-primary text-white transition-colors cursor-pointer px-2.5 py-0.5 rounded-md hover:bg-dashboard-primary/90", children: "Done" })] })] })] })] }), _jsx(FieldError, { id: errorId, errors: resolvedErrors, className: errorClassName })] }));
|
|
94
|
+
}
|
|
95
|
+
export default TimePicker;
|
|
96
|
+
//# sourceMappingURL=TimePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimePicker.js","sourceRoot":"","sources":["../../src/components/TimePicker.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EACH,OAAO,EACP,cAAc,EACd,cAAc,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EACH,UAAU,EAEV,kBAAkB,EAClB,qBAAqB,GACxB,MAAM,cAAc,CAAC;AActB,MAAM,QAAQ,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACzD,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAEtE,MAAM,UAAU,UAAU,CAAC,EACvB,KAAK,EACL,QAAQ,EACR,WAAW,GAAG,UAAU,EACxB,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,EAAE,EACF,SAAS,GAAG,IAAI,EAChB,UAAU,GAAG,IAAI,EACjB,YAAY,EAAE,SAAS,EACvB,KAAK,EACL,MAAM,EACN,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,cAAc,GACA;IACd,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,MAAM,GAAG,GAAG,UAAU,IAAI,QAAQ,IAAI,EAAE,CAAC;QACzC,OAAO,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IAE9C,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExC,4DAA4D;IAC5D,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;QACxD,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,IAAa,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAC1E,CAAC;QACD,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAE,IAAc,CAAC,CAAC,CAAE,IAAc,CAAC;QACtD,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACvC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAChE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,CAAS,EAAE,CAAc,EAAE,EAAE;QAC3D,IAAI,GAAG,GAAG,GAAG,CAAC;QACd,IAAI,CAAC,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE;YAAE,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;QAC3C,IAAI,CAAC,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE;YAAE,GAAG,GAAG,CAAC,CAAC;QACtC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACxC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC;IACzB,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,CAAS,EAAE,EAAE;QACnC,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACjD,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,CAAS,EAAE,EAAE;QACrC,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QAChD,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,CAAc,EAAE,EAAE;QAC1C,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACjD,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,CAAmB,EAAE,EAAE;QAC5C,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACnD,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACzE,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,CAAmB,EAAE,EAAE;QACxC,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,QAAQ,CAAC,EAAE,CAAC,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,yBAAyB;IACzB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;QAC9B,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACrD,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAChC,MAAM,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAChD,OAAO,GAAG,UAAU,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACrC,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAExB,OAAO,CACH,eAAK,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC,aAC5C,MAAC,OAAO,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,aACtC,MAAC,cAAc,IACX,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,QAAQ,gBACN,SAAS,IAAI,WAAW,kBACtB,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,sBACvB,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAC3D,SAAS,EAAE,EAAE,CACT,yNAAyN,EACzN,6GAA6G,EAC7G,QAAQ,IAAI,mDAAmD,EAC/D,CAAC,YAAY,IAAI,iCAAiC,EAClD,SAAS,EACT,QAAQ,IAAI,qBAAqB,CACpC,aAED,eAAM,SAAS,EAAC,UAAU,YACrB,YAAY,IAAI,WAAW,GACzB,EACP,KAAC,KAAK,IAAC,SAAS,EAAC,sDAAsD,GAAG,IAC7D,EAErB,MAAC,cAAc,IACX,KAAK,EAAC,OAAO,EACb,UAAU,EAAE,CAAC,EACb,SAAS,EAAC,6FAA6F,aAGvG,eAAK,SAAS,EAAC,4EAA4E,aACvF,eAAM,SAAS,EAAC,gFAAgF,4BAEzF,EACP,eAAM,SAAS,EAAC,4HAA4H,YACvI,YAAY,IAAI,UAAU,GACxB,IACL,EAGN,eAAK,SAAS,EAAC,+BAA+B,aAE1C,eAAK,SAAS,EAAC,yBAAyB,aACpC,eAAM,SAAS,EAAC,6EAA6E,qBAEtF,EACP,cAAK,SAAS,EAAC,0DAA0D,YACpE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oDAChB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oDAChD,OAAO,CACH,iBAEI,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAClC,SAAS,EAAE,EAAE,CACT,6GAA6G,EAC7G,QAAQ;4DACJ,CAAC,CAAC,qDAAqD;4DACvD,CAAC,CAAC,wDAAwD,CACjE,YAEA,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAVtB,CAAC,CAWD,CACZ,CAAC;gDACN,CAAC,CAAC,GACA,IACJ,EAGN,eAAK,SAAS,EAAC,yBAAyB,aACpC,eAAM,SAAS,EAAC,6EAA6E,oBAEtF,EACP,cAAK,SAAS,EAAC,0DAA0D,YACpE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oDACtB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oDACjD,OAAO,CACH,iBAEI,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,EACpC,SAAS,EAAE,EAAE,CACT,6GAA6G,EAC7G,QAAQ;4DACJ,CAAC,CAAC,qDAAqD;4DACvD,CAAC,CAAC,wDAAwD,CACjE,YAEA,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAVtB,CAAC,CAWD,CACZ,CAAC;gDACN,CAAC,CAAC,GACA,IACJ,EAGN,eAAK,SAAS,EAAC,yBAAyB,aACpC,eAAM,SAAS,EAAC,6EAA6E,uBAEtF,EACP,cAAK,SAAS,EAAC,4BAA4B,YACrC,CAAC,IAAI,EAAE,IAAI,CAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oDAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;oDACnD,OAAO,CACH,iBAEI,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,EACpC,SAAS,EAAE,EAAE,CACT,kHAAkH,EAClH,QAAQ;4DACJ,CAAC,CAAC,oEAAoE;4DACtE,CAAC,CAAC,gJAAgJ,CACzJ,YAEA,CAAC,IAVG,CAAC,CAWD,CACZ,CAAC;gDACN,CAAC,CAAC,GACA,IACJ,IACJ,EAGN,eAAK,SAAS,EAAC,8EAA8E,aACzF,iBACI,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,WAAW,EACpB,SAAS,EAAC,gLAAgL,sBAGrL,EACT,eAAK,SAAS,EAAC,yBAAyB,aACpC,iBACI,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,eAAe,EACxB,SAAS,EAAC,uJAAuJ,oBAG5J,EACT,iBACI,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAC7B,SAAS,EAAC,mJAAmJ,qBAGxJ,IACP,IACJ,IACO,IACX,EACV,KAAC,UAAU,IACP,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,cAAc,GAC3B,IACA,CACT,CAAC;AACF,CAAC;AAED,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tooltip Component
|
|
3
|
+
*
|
|
4
|
+
* A reusable tooltip component with smooth animations and multiple placement options.
|
|
5
|
+
* Wraps children and shows tooltip on hover.
|
|
6
|
+
*/
|
|
7
|
+
import { type ReactNode } from "react";
|
|
8
|
+
type TooltipPlacement = "top" | "bottom" | "left" | "right";
|
|
9
|
+
interface TooltipProps {
|
|
10
|
+
children: ReactNode;
|
|
11
|
+
content: ReactNode;
|
|
12
|
+
placement?: TooltipPlacement;
|
|
13
|
+
delay?: number;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
parentClassName?: string;
|
|
16
|
+
childClassName?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare function Tooltip({ children, content, placement, delay, disabled, parentClassName, childClassName, }: TooltipProps): import("react").JSX.Element;
|
|
19
|
+
export default Tooltip;
|