@skalar-saas/design-system 0.1.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +68 -0
- package/dist/design-system.css +1 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/useDebounce.d.ts +7 -0
- package/dist/index-CVAu6nrM.cjs +15 -0
- package/dist/index-CVAu6nrM.cjs.map +1 -0
- package/dist/index-D9hMGhK3.js +6790 -0
- package/dist/index-D9hMGhK3.js.map +1 -0
- package/dist/index.d.ts +130 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +11508 -0
- package/dist/index.mjs.map +1 -0
- package/dist/layout/Container/Container.d.ts +62 -0
- package/dist/layout/Container/index.d.ts +2 -0
- package/dist/layout/PanelLayout/Panel.d.ts +20 -0
- package/dist/layout/PanelLayout/PanelContext.d.ts +10 -0
- package/dist/layout/PanelLayout/PanelLayout.d.ts +28 -0
- package/dist/layout/PanelLayout/PanelLayout.types.d.ts +146 -0
- package/dist/layout/PanelLayout/PanelMain.d.ts +19 -0
- package/dist/layout/PanelLayout/index.d.ts +6 -0
- package/dist/layout/PanelLayout/panelUtils.d.ts +74 -0
- package/dist/layout/PanelLayout/usePanelState.d.ts +25 -0
- package/dist/layout/Section/Section.d.ts +20 -0
- package/dist/layout/Section/index.d.ts +2 -0
- package/dist/layout/SplitPanelLayout/SplitPanelLayout.d.ts +57 -0
- package/dist/layout/SplitPanelLayout/index.d.ts +2 -0
- package/dist/layout/constants.d.ts +348 -0
- package/dist/layout/index.d.ts +31 -0
- package/dist/shared/icons/AICommentaryIcon.d.ts +11 -0
- package/dist/shared/icons/AIMessage.d.ts +2 -0
- package/dist/shared/icons/Add2Icon.d.ts +12 -0
- package/dist/shared/icons/AddIcon.d.ts +7 -0
- package/dist/shared/icons/ArrowNarrowDownIcon.d.ts +6 -0
- package/dist/shared/icons/BookOutlined.d.ts +10 -0
- package/dist/shared/icons/Box2Icon.d.ts +6 -0
- package/dist/shared/icons/BoxIcon.d.ts +11 -0
- package/dist/shared/icons/CalendarIcon.d.ts +11 -0
- package/dist/shared/icons/CalendarIcon2.d.ts +12 -0
- package/dist/shared/icons/ChatIcon.d.ts +11 -0
- package/dist/shared/icons/ChevronDownIcon.d.ts +6 -0
- package/dist/shared/icons/ChevronUpIcon.d.ts +6 -0
- package/dist/shared/icons/CircleIcon.d.ts +6 -0
- package/dist/shared/icons/CopyIcon.d.ts +12 -0
- package/dist/shared/icons/DataArrowsOutlined.d.ts +10 -0
- package/dist/shared/icons/Edit2Icon.d.ts +12 -0
- package/dist/shared/icons/EyeIcon.d.ts +12 -0
- package/dist/shared/icons/EyeOffIcon.d.ts +12 -0
- package/dist/shared/icons/FilterFunnel02Icon.d.ts +6 -0
- package/dist/shared/icons/FlashIcon.d.ts +12 -0
- package/dist/shared/icons/GridIcon.d.ts +12 -0
- package/dist/shared/icons/InfoIcon.d.ts +12 -0
- package/dist/shared/icons/LayerIcon.d.ts +12 -0
- package/dist/shared/icons/LeftArrowIcon.d.ts +5 -0
- package/dist/shared/icons/MaximizeIcon.d.ts +12 -0
- package/dist/shared/icons/MessageProgrammingOutlined.d.ts +10 -0
- package/dist/shared/icons/MoreIcon.d.ts +12 -0
- package/dist/shared/icons/PlusCircleIcon.d.ts +6 -0
- package/dist/shared/icons/ProgrammingArrowsOutlined.d.ts +10 -0
- package/dist/shared/icons/QuestionCircle.d.ts +11 -0
- package/dist/shared/icons/RightArrowIcon.d.ts +5 -0
- package/dist/shared/icons/ShareIcon.d.ts +6 -0
- package/dist/shared/icons/SkalarLogo.d.ts +13 -0
- package/dist/shared/icons/SkalarLogoNoText.d.ts +13 -0
- package/dist/shared/icons/SlashIcon.d.ts +5 -0
- package/dist/shared/icons/SliderPointerDown.d.ts +10 -0
- package/dist/shared/icons/SliderPointerUp.d.ts +10 -0
- package/dist/shared/icons/SliderThumbIcon.d.ts +10 -0
- package/dist/shared/icons/StraightInfoIcon.d.ts +11 -0
- package/dist/shared/icons/TrashIcon.d.ts +12 -0
- package/dist/shared/icons/UnionIcon.d.ts +12 -0
- package/dist/shared/icons/UploadImageIcon.d.ts +10 -0
- package/dist/shared/icons/VideoPlayOutlined.d.ts +10 -0
- package/dist/shared/icons/XMark.d.ts +11 -0
- package/dist/shared/icons/XMarkAlert.d.ts +11 -0
- package/dist/shared/icons/index.d.ts +83 -0
- package/dist/shared/ui/Alert/Alert.d.ts +95 -0
- package/dist/shared/ui/Alert/index.d.ts +1 -0
- package/dist/shared/ui/AttachmentMessage/AttachmentMessage.d.ts +29 -0
- package/dist/shared/ui/AttachmentMessage/index.d.ts +1 -0
- package/dist/shared/ui/AuthActionWidget/AuthActionWidget.d.ts +18 -0
- package/dist/shared/ui/AuthActionWidget/index.d.ts +2 -0
- package/dist/shared/ui/AuthFormWidget/AuthFormWidget.d.ts +27 -0
- package/dist/shared/ui/AuthFormWidget/index.d.ts +2 -0
- package/dist/shared/ui/AuthSocialOptionsWidget/AuthSocialOptionsWidget.d.ts +25 -0
- package/dist/shared/ui/AuthSocialOptionsWidget/index.d.ts +2 -0
- package/dist/shared/ui/Avatar/Avatar.d.ts +38 -0
- package/dist/shared/ui/Avatar/index.d.ts +1 -0
- package/dist/shared/ui/AvatarGroup/AvatarGroup.d.ts +39 -0
- package/dist/shared/ui/AvatarGroup/index.d.ts +1 -0
- package/dist/shared/ui/Badge/Badge.d.ts +40 -0
- package/dist/shared/ui/Badge/index.d.ts +1 -0
- package/dist/shared/ui/BreadCrumb/BreadCrumb.d.ts +12 -0
- package/dist/shared/ui/BreadCrumb/index.d.ts +1 -0
- package/dist/shared/ui/Button/Button.d.ts +47 -0
- package/dist/shared/ui/Button/index.d.ts +1 -0
- package/dist/shared/ui/ButtonDropdown/ButtonDropdown.d.ts +53 -0
- package/dist/shared/ui/ButtonDropdown/index.d.ts +1 -0
- package/dist/shared/ui/ButtonGroup/ButtonGroup.d.ts +39 -0
- package/dist/shared/ui/ButtonGroup/index.d.ts +1 -0
- package/dist/shared/ui/Card/Card.d.ts +46 -0
- package/dist/shared/ui/Card/index.d.ts +2 -0
- package/dist/shared/ui/CardAction/CardAction.d.ts +28 -0
- package/dist/shared/ui/CardAction/index.d.ts +2 -0
- package/dist/shared/ui/ChatCollapsibleCheck/ChatCollapsibleCheck.d.ts +54 -0
- package/dist/shared/ui/ChatCollapsibleCheck/index.d.ts +2 -0
- package/dist/shared/ui/ChatCollapsibleContainer/ChatCollapsibleContainer.d.ts +32 -0
- package/dist/shared/ui/ChatCollapsibleContainer/index.d.ts +2 -0
- package/dist/shared/ui/ChatCollapsibleDialog/ChatCollapsibleDialog.d.ts +43 -0
- package/dist/shared/ui/ChatCollapsibleDialog/index.d.ts +2 -0
- package/dist/shared/ui/ChatCommandList/ChatCommandList.d.ts +78 -0
- package/dist/shared/ui/ChatCommandList/index.d.ts +2 -0
- package/dist/shared/ui/ChatCommandListItem/ChatCommandListItem.d.ts +88 -0
- package/dist/shared/ui/ChatCommandListItem/index.d.ts +2 -0
- package/dist/shared/ui/ChatHeader/ChatHeader.d.ts +38 -0
- package/dist/shared/ui/ChatHeader/index.d.ts +1 -0
- package/dist/shared/ui/ChatHistorial/ChatHistorial.d.ts +49 -0
- package/dist/shared/ui/ChatHistorial/index.d.ts +2 -0
- package/dist/shared/ui/ChatHistorialItem/ChatHistorialItem.d.ts +33 -0
- package/dist/shared/ui/ChatHistorialItem/index.d.ts +2 -0
- package/dist/shared/ui/ChatInputText/ChatInputText.d.ts +36 -0
- package/dist/shared/ui/ChatInputText/index.d.ts +1 -0
- package/dist/shared/ui/ChatMessage/ChatMessage.d.ts +27 -0
- package/dist/shared/ui/ChatMessage/index.d.ts +2 -0
- package/dist/shared/ui/ChatMessageOptions/ChatMessageOptions.d.ts +30 -0
- package/dist/shared/ui/ChatMessageOptions/index.d.ts +2 -0
- package/dist/shared/ui/ChatPanel/ChatPanel.d.ts +57 -0
- package/dist/shared/ui/ChatPanel/ChatPanel.types.d.ts +171 -0
- package/dist/shared/ui/ChatPanel/index.d.ts +2 -0
- package/dist/shared/ui/ChatTypingIndicator/ChatTypingIndicator.d.ts +17 -0
- package/dist/shared/ui/ChatTypingIndicator/index.d.ts +1 -0
- package/dist/shared/ui/Checkbox/Checkbox.d.ts +26 -0
- package/dist/shared/ui/Checkbox/index.d.ts +1 -0
- package/dist/shared/ui/Chip/Chip.d.ts +35 -0
- package/dist/shared/ui/Chip/index.d.ts +1 -0
- package/dist/shared/ui/ColorPalette/ColorPalette.d.ts +9 -0
- package/dist/shared/ui/ColumnHandler/ColumnHandler.d.ts +17 -0
- package/dist/shared/ui/ColumnHandler/PanelHandle.d.ts +32 -0
- package/dist/shared/ui/ColumnHandler/index.d.ts +4 -0
- package/dist/shared/ui/ComboBox/ComboBox.d.ts +69 -0
- package/dist/shared/ui/ComboBox/index.d.ts +1 -0
- package/dist/shared/ui/ContextualMenu/ContextualMenu.d.ts +47 -0
- package/dist/shared/ui/ContextualMenu/index.d.ts +2 -0
- package/dist/shared/ui/DateRangePicker/DateRangePicker.d.ts +47 -0
- package/dist/shared/ui/DateRangePicker/index.d.ts +1 -0
- package/dist/shared/ui/Divider/Divider.d.ts +8 -0
- package/dist/shared/ui/Divider/index.d.ts +1 -0
- package/dist/shared/ui/DragAndDropListItem/DragAndDropListItem.d.ts +54 -0
- package/dist/shared/ui/DragAndDropListItem/index.d.ts +2 -0
- package/dist/shared/ui/DropMenu/DropMenu.d.ts +58 -0
- package/dist/shared/ui/DropMenu/index.d.ts +1 -0
- package/dist/shared/ui/DropZone/DropZone.d.ts +47 -0
- package/dist/shared/ui/DropZone/index.d.ts +2 -0
- package/dist/shared/ui/Dropdown/Dropdown.d.ts +66 -0
- package/dist/shared/ui/Dropdown/index.d.ts +1 -0
- package/dist/shared/ui/DropdownMenu/DropdownMenu.d.ts +37 -0
- package/dist/shared/ui/ErrorBoundary/ErrorBoundary.d.ts +46 -0
- package/dist/shared/ui/ErrorBoundary/index.d.ts +2 -0
- package/dist/shared/ui/ErrorState/ErrorState.d.ts +51 -0
- package/dist/shared/ui/ErrorState/index.d.ts +2 -0
- package/dist/shared/ui/FloatingBar/FloatingBar.d.ts +92 -0
- package/dist/shared/ui/FloatingBar/index.d.ts +1 -0
- package/dist/shared/ui/FormFieldGroup/FormFieldGroup.d.ts +9 -0
- package/dist/shared/ui/FormFieldGroup/index.d.ts +2 -0
- package/dist/shared/ui/GridDraggableItem/GridDraggableItem.d.ts +45 -0
- package/dist/shared/ui/GridDraggableItem/index.d.ts +2 -0
- package/dist/shared/ui/Header/Header.d.ts +36 -0
- package/dist/shared/ui/Header/index.d.ts +2 -0
- package/dist/shared/ui/Header/useCalculateHeaderWidths.d.ts +31 -0
- package/dist/shared/ui/HeaderTabs/HeaderTabs.d.ts +36 -0
- package/dist/shared/ui/HeaderTabs/index.d.ts +2 -0
- package/dist/shared/ui/Icon/Icon.d.ts +37 -0
- package/dist/shared/ui/Icon/index.d.ts +1 -0
- package/dist/shared/ui/ImageUploader/ImageUploader.d.ts +38 -0
- package/dist/shared/ui/ImageUploader/index.d.ts +1 -0
- package/dist/shared/ui/InfoLabel/InfoLabel.d.ts +28 -0
- package/dist/shared/ui/InfoLabel/index.d.ts +2 -0
- package/dist/shared/ui/InputField/InputField.d.ts +55 -0
- package/dist/shared/ui/InputField/index.d.ts +1 -0
- package/dist/shared/ui/InputSearch/InputSearch.d.ts +44 -0
- package/dist/shared/ui/InputSearch/index.d.ts +1 -0
- package/dist/shared/ui/Kbd/Kbd.d.ts +8 -0
- package/dist/shared/ui/Kbd/index.d.ts +2 -0
- package/dist/shared/ui/LabelIcon/LabelIcon.d.ts +26 -0
- package/dist/shared/ui/LabelIcon/index.d.ts +2 -0
- package/dist/shared/ui/LabelWithIcon/LabelWithIcon.d.ts +27 -0
- package/dist/shared/ui/LabelWithIcon/index.d.ts +1 -0
- package/dist/shared/ui/LabelWithTooltip/LabelWithTooltip.d.ts +41 -0
- package/dist/shared/ui/LabelWithTooltip/index.d.ts +1 -0
- package/dist/shared/ui/Link/Link.d.ts +39 -0
- package/dist/shared/ui/Link/index.d.ts +1 -0
- package/dist/shared/ui/ListItem/ListItem.d.ts +72 -0
- package/dist/shared/ui/ListItem/index.d.ts +2 -0
- package/dist/shared/ui/Modal/Modal.d.ts +203 -0
- package/dist/shared/ui/Modal/index.d.ts +1 -0
- package/dist/shared/ui/ModuleCard/ModuleCard.d.ts +51 -0
- package/dist/shared/ui/ModuleCard/index.d.ts +1 -0
- package/dist/shared/ui/ModuleFieldItem/ModuleFieldItem.d.ts +53 -0
- package/dist/shared/ui/ModuleFieldItem/index.d.ts +1 -0
- package/dist/shared/ui/PanelHeader/PanelHeader.d.ts +37 -0
- package/dist/shared/ui/PanelHeader/index.d.ts +1 -0
- package/dist/shared/ui/PasswordResetWidget/PasswordResetWidget.d.ts +19 -0
- package/dist/shared/ui/PasswordResetWidget/index.d.ts +2 -0
- package/dist/shared/ui/ProductIcon/ProductIcon.d.ts +25 -0
- package/dist/shared/ui/ProductIcon/index.d.ts +1 -0
- package/dist/shared/ui/Progress/Progress.d.ts +29 -0
- package/dist/shared/ui/Progress/index.d.ts +1 -0
- package/dist/shared/ui/ProgressBar/ProgressBar.d.ts +21 -0
- package/dist/shared/ui/ProgressBar/index.d.ts +1 -0
- package/dist/shared/ui/ProgressCircle/ProgressCircle.d.ts +44 -0
- package/dist/shared/ui/ProgressCircle/index.d.ts +1 -0
- package/dist/shared/ui/ProgressCustomTooltip/ProgressCustomTooltip.d.ts +47 -0
- package/dist/shared/ui/ProgressCustomTooltip/index.d.ts +1 -0
- package/dist/shared/ui/ProgressTracker/ProgressTracker.d.ts +36 -0
- package/dist/shared/ui/ProgressTracker/index.d.ts +1 -0
- package/dist/shared/ui/ProjectActionCard/ProjectActionCard.d.ts +23 -0
- package/dist/shared/ui/ProjectActionCard/index.d.ts +2 -0
- package/dist/shared/ui/ProjectCard/ProjectCard.d.ts +46 -0
- package/dist/shared/ui/ProjectCard/index.d.ts +2 -0
- package/dist/shared/ui/ProjectCardPlan/ProjectCardPlan.d.ts +27 -0
- package/dist/shared/ui/ProjectCardPlan/index.d.ts +2 -0
- package/dist/shared/ui/Radio/Radio.d.ts +24 -0
- package/dist/shared/ui/Radio/index.d.ts +1 -0
- package/dist/shared/ui/RecoveryWidget/RecoveryWidget.d.ts +26 -0
- package/dist/shared/ui/RecoveryWidget/index.d.ts +2 -0
- package/dist/shared/ui/RelatedDataCard/RelatedDataCard.d.ts +47 -0
- package/dist/shared/ui/RelatedDataCard/index.d.ts +1 -0
- package/dist/shared/ui/SettingsCard/SettingsCard.d.ts +24 -0
- package/dist/shared/ui/SettingsCard/index.d.ts +2 -0
- package/dist/shared/ui/SidePanel/SidePanel.d.ts +26 -0
- package/dist/shared/ui/SidePanel/SidePanel.types.d.ts +27 -0
- package/dist/shared/ui/SidePanel/index.d.ts +2 -0
- package/dist/shared/ui/SupportCard/SupportCard.d.ts +19 -0
- package/dist/shared/ui/SupportCard/index.d.ts +2 -0
- package/dist/shared/ui/Switcher/Switcher.d.ts +41 -0
- package/dist/shared/ui/Switcher/index.d.ts +1 -0
- package/dist/shared/ui/Table/Table.d.ts +136 -0
- package/dist/shared/ui/Table/TableBody.d.ts +13 -0
- package/dist/shared/ui/Table/TableCell.d.ts +6 -0
- package/dist/shared/ui/Table/TableColumnFilter.d.ts +11 -0
- package/dist/shared/ui/Table/TableColumnHeader.d.ts +6 -0
- package/dist/shared/ui/Table/TableColumnVisibility.d.ts +7 -0
- package/dist/shared/ui/Table/TableContext.d.ts +31 -0
- package/dist/shared/ui/Table/TableEmptyState.d.ts +16 -0
- package/dist/shared/ui/Table/TableHeader.d.ts +5 -0
- package/dist/shared/ui/Table/TablePagination.d.ts +9 -0
- package/dist/shared/ui/Table/TableRoot.d.ts +6 -0
- package/dist/shared/ui/Table/TableRow.d.ts +8 -0
- package/dist/shared/ui/Table/configParser.d.ts +18 -0
- package/dist/shared/ui/Table/index.d.ts +15 -0
- package/dist/shared/ui/Table/mockData.d.ts +33 -0
- package/dist/shared/ui/Table/types.d.ts +66 -0
- package/dist/shared/ui/Tabs/Tabs.d.ts +59 -0
- package/dist/shared/ui/Tabs/index.d.ts +1 -0
- package/dist/shared/ui/Tag/Tag.d.ts +29 -0
- package/dist/shared/ui/Tag/index.d.ts +1 -0
- package/dist/shared/ui/TextArea/TextArea.d.ts +28 -0
- package/dist/shared/ui/TextArea/index.d.ts +1 -0
- package/dist/shared/ui/ThemeToggle/ThemeToggle.d.ts +29 -0
- package/dist/shared/ui/ThemeToggle/index.d.ts +1 -0
- package/dist/shared/ui/Toast/Toast.d.ts +54 -0
- package/dist/shared/ui/Toast/index.d.ts +2 -0
- package/dist/shared/ui/Toggle/Toggle.d.ts +24 -0
- package/dist/shared/ui/Toggle/index.d.ts +1 -0
- package/dist/shared/ui/Tooltip/Tooltip.d.ts +103 -0
- package/dist/shared/ui/Tooltip/index.d.ts +1 -0
- package/dist/shared/ui/TypesPanel/TypesPanel.d.ts +28 -0
- package/dist/shared/ui/TypesPanel/index.d.ts +2 -0
- package/dist/shared/ui/TypesPanelBodyGrid/TypesPanelBodyGrid.d.ts +45 -0
- package/dist/shared/ui/TypesPanelBodyGrid/index.d.ts +2 -0
- package/dist/shared/ui/TypesPanelBodyList/TypesPanelBodyList.d.ts +45 -0
- package/dist/shared/ui/TypesPanelBodyList/index.d.ts +2 -0
- package/dist/shared/ui/TypesPanelHeader/TypesPanelHeader.d.ts +27 -0
- package/dist/shared/ui/TypesPanelHeader/index.d.ts +2 -0
- package/dist/shared/ui/TypesPanelHeaderSearch/TypesPanelHeaderSearch.d.ts +44 -0
- package/dist/shared/ui/TypesPanelHeaderSearch/index.d.ts +1 -0
- package/dist/shared/ui/UserMenu/UserMenu.d.ts +78 -0
- package/dist/shared/ui/UserMenu/index.d.ts +1 -0
- package/dist/shared/ui/VisualComposer/VisualComposer.d.ts +36 -0
- package/dist/shared/ui/VisualComposer/index.d.ts +2 -0
- package/dist/shared/ui/WidgetBuilderItemHoverAction/WidgetBuilderItemHoverAction.d.ts +15 -0
- package/dist/shared/ui/WidgetBuilderItemHoverAction/index.d.ts +2 -0
- package/dist/shared/ui/WidgetContainer/WidgetContainer.d.ts +23 -0
- package/dist/shared/ui/WidgetContainer/index.d.ts +2 -0
- package/dist/shared/ui/WidgetSidebar/WidgetSidebar.d.ts +70 -0
- package/dist/shared/ui/WidgetSidebar/index.d.ts +2 -0
- package/dist/shared/ui/WorkspaceSettings/WorkspaceSettings.d.ts +22 -0
- package/dist/shared/ui/WorkspaceSettings/index.d.ts +2 -0
- package/dist/shared/ui/index.d.ts +1 -0
- package/dist/shared/ui/slider/Slider.d.ts +96 -0
- package/dist/shared/ui/slider/index.d.ts +2 -0
- package/dist/shared/utils/index.d.ts +1 -0
- package/dist/shared/utils/tailwind.d.ts +9 -0
- package/package.json +112 -0
- package/tailwind.preset.js +278 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { ChatHistorialItemProps } from '@/shared/ui/ChatHistorialItem/ChatHistorialItem';
|
|
2
|
+
/**
|
|
3
|
+
* Represents a single item in the chat history with timestamp
|
|
4
|
+
*/
|
|
5
|
+
export interface ChatHistorialItem extends Omit<ChatHistorialItemProps, 'onClick'> {
|
|
6
|
+
/**
|
|
7
|
+
* Timestamp of the chat (Date object or ISO string)
|
|
8
|
+
*/
|
|
9
|
+
timestamp: Date | string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Defines the public API for the ChatHistorial component
|
|
13
|
+
*/
|
|
14
|
+
export interface ChatHistorialProps {
|
|
15
|
+
/**
|
|
16
|
+
* Array of chat history items with timestamps
|
|
17
|
+
*/
|
|
18
|
+
items: ChatHistorialItem[];
|
|
19
|
+
/**
|
|
20
|
+
* Callback when an item is clicked
|
|
21
|
+
*/
|
|
22
|
+
onItemClick?: (item: ChatHistorialItem) => void;
|
|
23
|
+
/**
|
|
24
|
+
* Placeholder text for the search bar
|
|
25
|
+
*/
|
|
26
|
+
searchPlaceholder?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Additional CSS classes for the container
|
|
29
|
+
*/
|
|
30
|
+
className?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Optional callback for search value changes
|
|
33
|
+
*/
|
|
34
|
+
onSearchChange?: (value: string) => void;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* @file A chat history component with search and date-based grouping
|
|
38
|
+
* @description This component displays a searchable list of chat history items
|
|
39
|
+
* grouped by date ranges (today, last 7 days, last 30 days, last 90 days).
|
|
40
|
+
* Includes a search bar at the top for filtering items by title.
|
|
41
|
+
*
|
|
42
|
+
* @param {ChatHistorialItem[]} items - Array of chat history items
|
|
43
|
+
* @param {Function} [onItemClick] - Callback when item is clicked
|
|
44
|
+
* @param {string} [searchPlaceholder] - Search bar placeholder
|
|
45
|
+
* @param {string} [className] - Custom CSS classes
|
|
46
|
+
* @param {Function} [onSearchChange] - Callback for search changes
|
|
47
|
+
* @returns {JSX.Element} The rendered ChatHistorial component
|
|
48
|
+
*/
|
|
49
|
+
export declare const ChatHistorial: ({ items, onItemClick, searchPlaceholder, className, onSearchChange, }: ChatHistorialProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { DropMenuItemProps } from '@/shared/ui/DropMenu/DropMenu';
|
|
2
|
+
/**
|
|
3
|
+
* Defines the public API for the ChatHistorialItem component.
|
|
4
|
+
*/
|
|
5
|
+
export interface ChatHistorialItemProps {
|
|
6
|
+
/** Unique identifier for the chat item */
|
|
7
|
+
id: string;
|
|
8
|
+
/** Title of the chat */
|
|
9
|
+
title: string;
|
|
10
|
+
/** Preview or summary of the chat content */
|
|
11
|
+
preview: string;
|
|
12
|
+
/** Callback fired when the item is clicked */
|
|
13
|
+
onClick?: () => void;
|
|
14
|
+
/** Menu items for the drop menu */
|
|
15
|
+
menuItems?: DropMenuItemProps[];
|
|
16
|
+
/** Optional custom CSS classes for the container */
|
|
17
|
+
className?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* @file A chat history item component showing a chat title and preview.
|
|
21
|
+
* @description This component displays a single chat from the history with its
|
|
22
|
+
* title and preview text. It includes a drop menu for actions like edit,
|
|
23
|
+
* duplicate, and delete. The component is designed to be used in a list of chats.
|
|
24
|
+
*
|
|
25
|
+
* @param {string} id - Unique identifier for the chat
|
|
26
|
+
* @param {string} title - Title of the chat
|
|
27
|
+
* @param {string} preview - Preview or summary text
|
|
28
|
+
* @param {() => void} [onClick] - Handler for item click
|
|
29
|
+
* @param {DropMenuItemProps[]} [menuItems] - Menu items for the drop menu
|
|
30
|
+
* @param {string} [className] - Optional CSS classes
|
|
31
|
+
* @returns {JSX.Element} The rendered ChatHistorialItem component
|
|
32
|
+
*/
|
|
33
|
+
export declare const ChatHistorialItem: ({ id, title, preview, onClick, menuItems, className, }: ChatHistorialItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines the public API for the ChatInputText component.
|
|
3
|
+
*/
|
|
4
|
+
export interface ChatInputTextProps {
|
|
5
|
+
/** The current value of the text input, making it a controlled component. */
|
|
6
|
+
inputValue?: string;
|
|
7
|
+
/** Callback function fired when the text input's value changes. */
|
|
8
|
+
onInputChange?: (value: string) => void;
|
|
9
|
+
/** Callback function fired when the send button is clicked. */
|
|
10
|
+
onSendClick?: () => void;
|
|
11
|
+
/** The placeholder text for the input field. */
|
|
12
|
+
placeholder?: string;
|
|
13
|
+
/** Visual variant of the component. 'default' shows all controls, 'minimal' hides the Switcher. */
|
|
14
|
+
variant?: 'default' | 'minimal';
|
|
15
|
+
/** Optional custom classes for the main container. */
|
|
16
|
+
className?: string;
|
|
17
|
+
containerWidth?: number;
|
|
18
|
+
/** Minimum number of lines to display when no content is present. @default 2 */
|
|
19
|
+
minLines?: number;
|
|
20
|
+
/** Maximum number of lines before scrolling. @default 10 */
|
|
21
|
+
maxLines?: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* @file A composite component for the main chat input area.
|
|
25
|
+
* @description This component assembles several other UI elements (`InputField`, `Button`, `Switcher`)
|
|
26
|
+
* to create a rich input experience. It includes a primary text field at the top and a row
|
|
27
|
+
* of contextual action buttons and controls below. The state for the text input is controlled
|
|
28
|
+
* from the parent, while the `Switcher` state is managed internally.
|
|
29
|
+
*
|
|
30
|
+
* @param {string} [inputValue] - The controlled value for the text input.
|
|
31
|
+
* @param {(value: string) => void} [onInputChange] - Callback for when the input value changes.
|
|
32
|
+
* @param {() => void} [onSendClick] - Callback for when the send button is clicked.
|
|
33
|
+
* @param {string} [placeholder='Input Text'] - Placeholder text for the input field.
|
|
34
|
+
* @returns {JSX.Element} The rendered ChatInputText element.
|
|
35
|
+
*/
|
|
36
|
+
export declare const ChatInputText: ({ inputValue, onInputChange, onSendClick, placeholder, variant, className, minLines, maxLines, }: ChatInputTextProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ChatInputText, type ChatInputTextProps } from './ChatInputText';
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './ChatMessage.css';
|
|
3
|
+
type ChatMessageVariant = 'sent' | 'received';
|
|
4
|
+
/**
|
|
5
|
+
* Defines the public API for the ChatMessage component.
|
|
6
|
+
*/
|
|
7
|
+
export interface ChatMessageProps {
|
|
8
|
+
/** The visual variant of the message bubble, determining its style and alignment. */
|
|
9
|
+
variant: ChatMessageVariant;
|
|
10
|
+
/** The content of the message. Can be a simple string or complex JSX for formatted text. */
|
|
11
|
+
children: React.ReactNode;
|
|
12
|
+
/** Optional custom CSS classes for the container. */
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* @file A component for displaying a single message bubble in a chat interface.
|
|
17
|
+
* @description This component renders a message bubble with distinct styles for 'sent' (user's message)
|
|
18
|
+
* and 'received' (bot or other user's message) variants. It is designed to be placed
|
|
19
|
+
* within a flex container (`flex-col`) to handle alignment.
|
|
20
|
+
*
|
|
21
|
+
* @param {ChatMessageVariant} variant - The variant of the message, either 'sent' or 'received'.
|
|
22
|
+
* @param {React.ReactNode} children - The message content, which can include formatted text like `<strong>`.
|
|
23
|
+
* @param {string} [className] - Optional custom CSS classes for the container.
|
|
24
|
+
* @returns {JSX.Element} The rendered ChatMessage element.
|
|
25
|
+
*/
|
|
26
|
+
export declare const ChatMessage: ({ variant, children, className, }: ChatMessageProps) => import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines the public API for the ChatMessageOptions component,
|
|
3
|
+
* including callbacks for each action button.
|
|
4
|
+
*/
|
|
5
|
+
export interface ChatMessageOptionsProps {
|
|
6
|
+
/** Callback function fired when the copy button is clicked. */
|
|
7
|
+
onCopyClick?: () => void;
|
|
8
|
+
/** Callback function fired when the like button is clicked. */
|
|
9
|
+
onLikeClick?: () => void;
|
|
10
|
+
/** Callback function fired when the dislike button is clicked. */
|
|
11
|
+
onDislikeClick?: () => void;
|
|
12
|
+
/** Callback function fired when the refresh button is clicked. */
|
|
13
|
+
onRefreshClick?: () => void;
|
|
14
|
+
/** Optional custom CSS classes for the container. */
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* @file A component for displaying a set of interactive options for a chat message.
|
|
19
|
+
* @description This component renders a standardized row of icon buttons (copy, like, dislike, refresh)
|
|
20
|
+
* that are typically associated with a message from an AI or bot. It is a composition of the main `Button`
|
|
21
|
+
* component to ensure visual consistency. Functionality for each button is delegated to a parent
|
|
22
|
+
* component via `onClick` callback props.
|
|
23
|
+
*
|
|
24
|
+
* @param {function} [onCopyClick] - Callback for the copy button.
|
|
25
|
+
* @param {function} [onLikeClick] - Callback for the like button.
|
|
26
|
+
* @param {function} [onDislikeClick] - Callback for the dislike button.
|
|
27
|
+
* @param {function} [onRefreshClick] - Callback for the refresh button.
|
|
28
|
+
* @returns {JSX.Element} The rendered ChatMessageOptions element.
|
|
29
|
+
*/
|
|
30
|
+
export declare const ChatMessageOptions: ({ className, onCopyClick, onLikeClick, onDislikeClick, onRefreshClick, }: ChatMessageOptionsProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ChatPanelProps } from './ChatPanel.types';
|
|
3
|
+
/**
|
|
4
|
+
* ChatPanel - A complete chat panel component with integrated header, content area, and input.
|
|
5
|
+
* Automatically shows ChatHistorial when activeView is 'historial' and ChatInputText in chat view.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Data-driven approach with messages array from backend
|
|
9
|
+
* - Markdown rendering support with react-markdown
|
|
10
|
+
* - Integrated ChatHeader with tabs (Chat/Historial) and action buttons
|
|
11
|
+
* - Support for message attachments
|
|
12
|
+
* - Typing indicator
|
|
13
|
+
* - Responsive design with containerWidth-based layout adjustments
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```tsx
|
|
17
|
+
* // Chat view with messages (data-driven approach)
|
|
18
|
+
* <ChatPanel
|
|
19
|
+
* showHeader
|
|
20
|
+
* showChatInput
|
|
21
|
+
* showTypingIndicator
|
|
22
|
+
* activeView="chat"
|
|
23
|
+
* containerWidth={478}
|
|
24
|
+
* messages={messagesArray}
|
|
25
|
+
* chatInputValue={message}
|
|
26
|
+
* onChatInputChange={setMessage}
|
|
27
|
+
* onChatSendClick={handleSend}
|
|
28
|
+
* onChatClick={() => setActiveView('chat')}
|
|
29
|
+
* onHistorialClick={() => setActiveView('historial')}
|
|
30
|
+
* />
|
|
31
|
+
*
|
|
32
|
+
* // Historial view
|
|
33
|
+
* <ChatPanel
|
|
34
|
+
* showHeader
|
|
35
|
+
* activeView="historial"
|
|
36
|
+
* containerWidth={478}
|
|
37
|
+
* historialItems={items}
|
|
38
|
+
* onHistorialItemClick={(item) => console.log(item)}
|
|
39
|
+
* onChatClick={() => setActiveView('chat')}
|
|
40
|
+
* onHistorialClick={() => setActiveView('historial')}
|
|
41
|
+
* />
|
|
42
|
+
*
|
|
43
|
+
* // Minimal variant (350px width with icon-only tabs and minimal input)
|
|
44
|
+
* <ChatPanel
|
|
45
|
+
* showHeader
|
|
46
|
+
* showChatInput
|
|
47
|
+
* activeView="chat"
|
|
48
|
+
* containerWidth={350}
|
|
49
|
+
* messages={messagesArray}
|
|
50
|
+
* chatInputValue={message}
|
|
51
|
+
* chatInputVariant="minimal"
|
|
52
|
+
* onChatInputChange={setMessage}
|
|
53
|
+
* />
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
export declare const ChatPanel: React.NamedExoticComponent<ChatPanelProps>;
|
|
57
|
+
export default ChatPanel;
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import type { ChatView } from '@/shared/ui/ChatHeader';
|
|
3
|
+
import type { ChatHistorialItem } from '@/shared/ui/ChatHistorial';
|
|
4
|
+
/**
|
|
5
|
+
* Attachment data structure
|
|
6
|
+
*/
|
|
7
|
+
export interface ChatAttachmentData {
|
|
8
|
+
/** File name */
|
|
9
|
+
fileName: string;
|
|
10
|
+
/** File size (e.g., '2.4 MB') */
|
|
11
|
+
fileSize: string;
|
|
12
|
+
/** Download URL */
|
|
13
|
+
href?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Message data structure from backend
|
|
17
|
+
*/
|
|
18
|
+
export interface ChatMessageData {
|
|
19
|
+
/** Unique identifier for the message */
|
|
20
|
+
id: string;
|
|
21
|
+
/** Message variant: 'sent' (user) or 'received' (bot/assistant) */
|
|
22
|
+
variant: 'sent' | 'received';
|
|
23
|
+
/** Message content (can include markdown/HTML) */
|
|
24
|
+
content: string | ReactNode;
|
|
25
|
+
/** Optional timestamp */
|
|
26
|
+
timestamp?: Date | string;
|
|
27
|
+
/** Optional attachment */
|
|
28
|
+
attachment?: ChatAttachmentData;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Props for the ChatPanel component
|
|
32
|
+
*/
|
|
33
|
+
export interface ChatPanelProps {
|
|
34
|
+
/**
|
|
35
|
+
* Array of messages to render (alternative to children)
|
|
36
|
+
* When provided, messages will be rendered automatically with proper spacing
|
|
37
|
+
*/
|
|
38
|
+
messages?: ChatMessageData[];
|
|
39
|
+
/**
|
|
40
|
+
* Whether to show typing indicator at the end of messages
|
|
41
|
+
* @default false
|
|
42
|
+
*/
|
|
43
|
+
showTypingIndicator?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Content to be rendered inside the panel (shown in chat view, between header and input)
|
|
46
|
+
* Use this for custom layouts. If 'messages' prop is provided, children will be ignored.
|
|
47
|
+
*/
|
|
48
|
+
children?: ReactNode;
|
|
49
|
+
/**
|
|
50
|
+
* Additional CSS classes to apply to the panel container
|
|
51
|
+
*/
|
|
52
|
+
className?: string;
|
|
53
|
+
/**
|
|
54
|
+
* Which side should have a border
|
|
55
|
+
* - 'left': Left border
|
|
56
|
+
* - 'right': Right border
|
|
57
|
+
* - 'none': No border
|
|
58
|
+
*/
|
|
59
|
+
borderSide?: 'left' | 'right' | 'none';
|
|
60
|
+
/**
|
|
61
|
+
* Border color style from design system
|
|
62
|
+
* - 'surface-3': Lighter border (default)
|
|
63
|
+
* - 'surface-4': Darker border
|
|
64
|
+
*/
|
|
65
|
+
borderStyle?: 'surface-3' | 'surface-4';
|
|
66
|
+
/**
|
|
67
|
+
* Whether to show the header with tabs and action buttons
|
|
68
|
+
* @default false
|
|
69
|
+
*/
|
|
70
|
+
showHeader?: boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Height of the header in pixels
|
|
73
|
+
* @default 56
|
|
74
|
+
*/
|
|
75
|
+
headerHeight?: number;
|
|
76
|
+
/**
|
|
77
|
+
* Current active view in the header tabs
|
|
78
|
+
* @default 'chat'
|
|
79
|
+
*/
|
|
80
|
+
activeView?: ChatView;
|
|
81
|
+
/**
|
|
82
|
+
* Callback fired when the chat tab is clicked
|
|
83
|
+
*/
|
|
84
|
+
onChatClick?: () => void;
|
|
85
|
+
/**
|
|
86
|
+
* Callback fired when the historial tab is clicked
|
|
87
|
+
*/
|
|
88
|
+
onHistorialClick?: () => void;
|
|
89
|
+
/**
|
|
90
|
+
* Callback fired when the settings button is clicked
|
|
91
|
+
*/
|
|
92
|
+
onSettingsClick?: () => void;
|
|
93
|
+
/**
|
|
94
|
+
* Callback fired when the close button is clicked
|
|
95
|
+
*/
|
|
96
|
+
onCloseClick?: () => void;
|
|
97
|
+
/**
|
|
98
|
+
* Width of the container to adjust header layout
|
|
99
|
+
* @default 0
|
|
100
|
+
*/
|
|
101
|
+
containerWidth?: number;
|
|
102
|
+
/**
|
|
103
|
+
* Array of chat history items (shown when activeView is 'historial')
|
|
104
|
+
*/
|
|
105
|
+
historialItems?: ChatHistorialItem[];
|
|
106
|
+
/**
|
|
107
|
+
* Callback when a historial item is clicked
|
|
108
|
+
*/
|
|
109
|
+
onHistorialItemClick?: (item: ChatHistorialItem) => void;
|
|
110
|
+
/**
|
|
111
|
+
* Placeholder text for the historial search bar
|
|
112
|
+
*/
|
|
113
|
+
historialSearchPlaceholder?: string;
|
|
114
|
+
/**
|
|
115
|
+
* Callback for historial search value changes
|
|
116
|
+
*/
|
|
117
|
+
onHistorialSearchChange?: (value: string) => void;
|
|
118
|
+
/**
|
|
119
|
+
* Whether to show the chat input at the bottom (shown in chat view)
|
|
120
|
+
* @default true
|
|
121
|
+
*/
|
|
122
|
+
showChatInput?: boolean;
|
|
123
|
+
/**
|
|
124
|
+
* Current value of the chat input field
|
|
125
|
+
*/
|
|
126
|
+
chatInputValue?: string;
|
|
127
|
+
/**
|
|
128
|
+
* Callback when the chat input value changes
|
|
129
|
+
*/
|
|
130
|
+
onChatInputChange?: (value: string) => void;
|
|
131
|
+
/**
|
|
132
|
+
* Callback when the send button is clicked
|
|
133
|
+
*/
|
|
134
|
+
onChatSendClick?: () => void;
|
|
135
|
+
/**
|
|
136
|
+
* Placeholder text for the chat input
|
|
137
|
+
* @default 'Input Text'
|
|
138
|
+
*/
|
|
139
|
+
chatInputPlaceholder?: string;
|
|
140
|
+
/**
|
|
141
|
+
* Variant of the chat input
|
|
142
|
+
* @default 'default'
|
|
143
|
+
*/
|
|
144
|
+
chatInputVariant?: 'default' | 'minimal';
|
|
145
|
+
/**
|
|
146
|
+
* Callback when copy button is clicked on a received message
|
|
147
|
+
*/
|
|
148
|
+
onMessageCopyClick?: (messageId: string) => void;
|
|
149
|
+
/**
|
|
150
|
+
* Callback when like button is clicked on a received message
|
|
151
|
+
*/
|
|
152
|
+
onMessageLikeClick?: (messageId: string) => void;
|
|
153
|
+
/**
|
|
154
|
+
* Callback when dislike button is clicked on a received message
|
|
155
|
+
*/
|
|
156
|
+
onMessageDislikeClick?: (messageId: string) => void;
|
|
157
|
+
/**
|
|
158
|
+
* Callback when refresh button is clicked on a received message
|
|
159
|
+
*/
|
|
160
|
+
onMessageRefreshClick?: (messageId: string) => void;
|
|
161
|
+
/**
|
|
162
|
+
* Minimum number of lines for chat input textarea when empty
|
|
163
|
+
* @default 2
|
|
164
|
+
*/
|
|
165
|
+
chatInputMinLines?: number;
|
|
166
|
+
/**
|
|
167
|
+
* Maximum number of lines for chat input textarea before scrolling
|
|
168
|
+
* @default 10
|
|
169
|
+
*/
|
|
170
|
+
chatInputMaxLines?: number;
|
|
171
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines the public API for the ChatTypingIndicator component.
|
|
3
|
+
*/
|
|
4
|
+
export interface ChatTypingIndicatorProps {
|
|
5
|
+
/** Optional custom CSS classes for the container. */
|
|
6
|
+
className?: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* @file A typing indicator component for chat interfaces.
|
|
10
|
+
* @description This component displays an animated ellipsis (three dots) to indicate
|
|
11
|
+
* that the assistant is currently typing or processing a response. The dots animate
|
|
12
|
+
* sequentially to create a "breathing" effect.
|
|
13
|
+
*
|
|
14
|
+
* @param {string} [className] - Optional CSS classes for the container.
|
|
15
|
+
* @returns {JSX.Element} The rendered ChatTypingIndicator element.
|
|
16
|
+
*/
|
|
17
|
+
export declare const ChatTypingIndicator: ({ className }: ChatTypingIndicatorProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ChatTypingIndicator, type ChatTypingIndicatorProps } from './ChatTypingIndicator';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
type CheckboxSize = 'small' | 'medium' | 'large';
|
|
3
|
+
/**
|
|
4
|
+
* Defines the public API for the Checkbox component, omitting the native 'size'
|
|
5
|
+
* attribute to avoid conflicts with the custom size prop.
|
|
6
|
+
*/
|
|
7
|
+
export interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'> {
|
|
8
|
+
/** The size of the checkbox. */
|
|
9
|
+
size?: CheckboxSize;
|
|
10
|
+
/** If true, the checkbox will be in an indeterminate state. This overrides the `checked` state visually. */
|
|
11
|
+
indeterminate?: boolean;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* @file An accessible, themeable checkbox component.
|
|
15
|
+
* @description This component renders a custom-styled checkbox that wraps a native,
|
|
16
|
+
* visually hidden `<input type="checkbox">` for accessibility. It supports `checked`,
|
|
17
|
+
* `unchecked`, and `indeterminate` states.
|
|
18
|
+
*
|
|
19
|
+
* @param {CheckboxSize} [size='medium'] - The size of the checkbox.
|
|
20
|
+
* @param {boolean} [checked=false] - The controlled checked state of the component.
|
|
21
|
+
* @param {boolean} [indeterminate=false] - If true, displays the checkbox in an indeterminate state.
|
|
22
|
+
* @param {boolean} [disabled=false] - If true, the component will be non-interactive.
|
|
23
|
+
* @returns {JSX.Element} The rendered Checkbox element.
|
|
24
|
+
*/
|
|
25
|
+
export declare const Checkbox: ({ size, checked, indeterminate, disabled, className, ...props }: CheckboxProps) => import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Checkbox, type CheckboxProps } from './Checkbox';
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type ChipSize = 'sm' | 'md';
|
|
3
|
+
export type ChipType = 'unselected' | 'selected';
|
|
4
|
+
export type ChipState = 'focus' | 'drag' | 'disabled' | 'hover' | 'default';
|
|
5
|
+
/**
|
|
6
|
+
* Defines public API for Chip component.
|
|
7
|
+
*/
|
|
8
|
+
export interface ChipProps {
|
|
9
|
+
/** The size of chip. */
|
|
10
|
+
size?: ChipSize;
|
|
11
|
+
/** The selection state of chip. */
|
|
12
|
+
type?: ChipType;
|
|
13
|
+
/** The interactive state of chip. */
|
|
14
|
+
state?: ChipState;
|
|
15
|
+
/** The content to display inside chip (the main label). */
|
|
16
|
+
children?: React.ReactNode;
|
|
17
|
+
/** Optional content/icon/avatar to display on left side of chip. */
|
|
18
|
+
leftContent?: React.ReactNode;
|
|
19
|
+
/** Optional content/icon/action to display on right side of chip (e.g., a close button). */
|
|
20
|
+
rightContent?: React.ReactNode;
|
|
21
|
+
/** Handler for click event on chip (making it interactive). */
|
|
22
|
+
onClick?: () => void;
|
|
23
|
+
/** Optional custom CSS classes to apply to the container. */
|
|
24
|
+
className?: string;
|
|
25
|
+
/** Whether to show left content. */
|
|
26
|
+
showLeftContent?: boolean;
|
|
27
|
+
/** Whether to show right content. */
|
|
28
|
+
showRightContent?: boolean;
|
|
29
|
+
/** Whether to show text content. */
|
|
30
|
+
showText?: boolean;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* @file A Chip component for interactive selection, filtering, or representing an input.
|
|
34
|
+
*/
|
|
35
|
+
export declare const Chip: ({ size, type, state, children, leftContent, rightContent, onClick, className, showLeftContent, showRightContent, showText, }: ChipProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Chip, type ChipProps, type ChipSize, type ChipType, type ChipState } from './Chip';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface ColumnHandlerProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
/**
|
|
4
|
+
* Whether the column handler is disabled
|
|
5
|
+
*/
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Additional CSS classes
|
|
9
|
+
*/
|
|
10
|
+
className?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* ColumnHandler component for dragging and reordering columns
|
|
14
|
+
*
|
|
15
|
+
* A vertical drag handle with three dots indicating draggable functionality
|
|
16
|
+
*/
|
|
17
|
+
export declare const ColumnHandler: ({ disabled, className, ...props }: ColumnHandlerProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export interface PanelHandleProps {
|
|
2
|
+
/**
|
|
3
|
+
* Total height of the border with handle
|
|
4
|
+
* @default 200
|
|
5
|
+
*/
|
|
6
|
+
height?: number;
|
|
7
|
+
/**
|
|
8
|
+
* Whether the handle is on the left or right side of the panel
|
|
9
|
+
* For left panels, handle protrudes to the right
|
|
10
|
+
* For right panels, handle protrudes to the left
|
|
11
|
+
* @default 'right'
|
|
12
|
+
*/
|
|
13
|
+
side?: 'left' | 'right';
|
|
14
|
+
/**
|
|
15
|
+
* Fill color for the handle (should match panel background)
|
|
16
|
+
* Accepts CSS color value or CSS variable
|
|
17
|
+
* @default 'var(--surface-1)'
|
|
18
|
+
*/
|
|
19
|
+
fillColor?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Additional CSS classes
|
|
22
|
+
*/
|
|
23
|
+
className?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* PanelHandle - A panel border with integrated resize handle
|
|
27
|
+
*
|
|
28
|
+
* Creates a vertical border line with a small pill-shaped protrusion
|
|
29
|
+
* in the center where the drag indicator (3 dots) sits.
|
|
30
|
+
* The border and handle are ONE seamless piece.
|
|
31
|
+
*/
|
|
32
|
+
export declare const PanelHandle: ({ height, side, fillColor, className, }: PanelHandleProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
type ComboBoxLayout = 'text_icon' | 'text_image' | 'only_icon' | 'text_icon_text';
|
|
3
|
+
type ComboBoxHierarchy = 'fill' | 'outlined';
|
|
4
|
+
type ComboBoxVariant = 'default' | 'danger' | 'success';
|
|
5
|
+
/**
|
|
6
|
+
* Defines the shape for a single selectable option in the ComboBox.
|
|
7
|
+
*/
|
|
8
|
+
export interface ComboBoxOption {
|
|
9
|
+
id: string | number;
|
|
10
|
+
label: string;
|
|
11
|
+
avatarUrl?: string;
|
|
12
|
+
[key: string]: unknown;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Defines the public API for the ComboBox component.
|
|
16
|
+
*/
|
|
17
|
+
export interface ComboBoxProps {
|
|
18
|
+
layout?: ComboBoxLayout;
|
|
19
|
+
hierarchy?: ComboBoxHierarchy;
|
|
20
|
+
variant?: ComboBoxVariant;
|
|
21
|
+
size?: 'sm' | 'md' | 'lg';
|
|
22
|
+
label?: string;
|
|
23
|
+
hint?: string;
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
leadingIcon?: React.ReactNode;
|
|
26
|
+
leadingAvatar?: string;
|
|
27
|
+
trailingAddon?: React.ReactNode;
|
|
28
|
+
options: ComboBoxOption[];
|
|
29
|
+
value: ComboBoxOption | null;
|
|
30
|
+
onChange: (value: ComboBoxOption | null) => void;
|
|
31
|
+
placeholder?: string;
|
|
32
|
+
className?: string;
|
|
33
|
+
name?: string;
|
|
34
|
+
id?: string;
|
|
35
|
+
/** Custom color for placeholder text (e.g., 'placeholder-gray-400'). Overrides variant defaults. */
|
|
36
|
+
placeholderColor?: string;
|
|
37
|
+
/** Custom color for input text (e.g., 'text-dark-300'). Overrides variant defaults. */
|
|
38
|
+
inputTextColor?: string;
|
|
39
|
+
/** Custom background color for the input wrapper (e.g., 'bg-gray-100'). Overrides variant defaults. */
|
|
40
|
+
backgroundColor?: string;
|
|
41
|
+
/** Custom color for the chevron/dropdown icon (e.g., '#64748B' or 'currentColor'). */
|
|
42
|
+
chevronColor?: string;
|
|
43
|
+
/** Custom background color for active/hovered option (e.g., 'bg-primary-500'). Defaults to 'bg-primary-500'. */
|
|
44
|
+
optionActiveColor?: string;
|
|
45
|
+
/** Custom text color for active/hovered option (e.g., 'text-white'). Defaults to 'text-white'. */
|
|
46
|
+
optionActiveTextColor?: string;
|
|
47
|
+
/** Custom text color for inactive options (e.g., 'text-gray-900'). Defaults to 'text-gray-900'. */
|
|
48
|
+
optionTextColor?: string;
|
|
49
|
+
/** Custom border radius for the input wrapper (e.g., 'rounded-md', 'rounded-xl', 'rounded-full'). Defaults to 'rounded-lg'. */
|
|
50
|
+
borderRadius?: string;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* @file An accessible and highly configurable ComboBox component.
|
|
54
|
+
* @description This component provides a text input with an associated dropdown menu,
|
|
55
|
+
* allowing users to either type a value or select one from a filtered list. It is built
|
|
56
|
+
* on top of Headless UI for robust accessibility and state management. The visual
|
|
57
|
+
* presentation is determined by a combination of `layout`, `hierarchy`, `variant`, and `size` props.
|
|
58
|
+
*
|
|
59
|
+
* @param {ComboBoxLayout} [layout='text_icon'] - Defines the visual structure (e.g., with icon, avatar, or text addon).
|
|
60
|
+
* @param {ComboBoxHierarchy} [hierarchy='fill'] - The main visual style (filled background or outlined).
|
|
61
|
+
* @param {ComboBoxVariant} [variant='default'] - The color theme for different states (default, danger, success).
|
|
62
|
+
* @param {ComboBoxSize} [size='md'] - The dimensions of the component.
|
|
63
|
+
* @param {ComboBoxOption[]} options - The array of selectable options.
|
|
64
|
+
* @param {ComboBoxOption | null} value - The currently selected option object.
|
|
65
|
+
* @param {(value: ComboBoxOption | null) => void} onChange - Callback fired when an option is selected.
|
|
66
|
+
* @returns {JSX.Element} The rendered ComboBox element.
|
|
67
|
+
*/
|
|
68
|
+
export declare const ComboBox: ({ layout, hierarchy, variant, size, label, hint, disabled, leadingIcon, leadingAvatar, trailingAddon, options, value, onChange, placeholder, className, placeholderColor, inputTextColor, backgroundColor, chevronColor, optionActiveColor, optionActiveTextColor, optionTextColor, borderRadius, }: ComboBoxProps) => import("react/jsx-runtime").JSX.Element;
|
|
69
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ComboBox, type ComboBoxOption, type ComboBoxProps } from './ComboBox';
|