@tree-ia/design-system 2.0.0 → 2.3.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/dist/index.d.mts +632 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +2539 -201
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as react from "react";
|
|
2
|
+
import React, { ReactNode, Ref, SVGProps } from "react";
|
|
2
3
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
|
+
import * as lucide_react0 from "lucide-react";
|
|
3
5
|
import { ColumnDef, ColumnFiltersState, PaginationState, Row, RowSelectionState, SortingState, createColumnHelper } from "@tanstack/react-table";
|
|
4
6
|
|
|
5
7
|
//#region src/components/Button/index.d.ts
|
|
@@ -521,6 +523,8 @@ interface HeaderProps {
|
|
|
521
523
|
logoutLabel?: string;
|
|
522
524
|
/** Label do botao de menu mobile */
|
|
523
525
|
menuLabel?: string;
|
|
526
|
+
/** Abre dropdowns de navegacao no hover em layouts desktop. Default: true */
|
|
527
|
+
openDropdownOnHover?: boolean;
|
|
524
528
|
/** Offset lateral no desktop quando existe sidebar fixa */
|
|
525
529
|
desktopOffsetLeft?: number | string;
|
|
526
530
|
className?: string;
|
|
@@ -539,6 +543,7 @@ declare function Header({
|
|
|
539
543
|
onLogout,
|
|
540
544
|
logoutLabel,
|
|
541
545
|
menuLabel,
|
|
546
|
+
openDropdownOnHover,
|
|
542
547
|
desktopOffsetLeft,
|
|
543
548
|
className
|
|
544
549
|
}: HeaderProps): react_jsx_runtime0.JSX.Element;
|
|
@@ -585,6 +590,8 @@ declare function KPICard({
|
|
|
585
590
|
//#endregion
|
|
586
591
|
//#region src/components/PageLayout/index.d.ts
|
|
587
592
|
interface PageLayoutProps {
|
|
593
|
+
/** Texto curto acima do titulo principal */
|
|
594
|
+
eyebrow?: string;
|
|
588
595
|
/** Titulo principal da pagina */
|
|
589
596
|
title: string;
|
|
590
597
|
/** Descricao opcional da pagina (aparece abaixo do titulo) */
|
|
@@ -597,6 +604,10 @@ interface PageLayoutProps {
|
|
|
597
604
|
children: ReactNode;
|
|
598
605
|
/** Se true, aplica padding no conteudo. Default: true */
|
|
599
606
|
contentPadding?: boolean;
|
|
607
|
+
/** Classes extras aplicadas no wrapper do conteudo */
|
|
608
|
+
contentClassName?: string;
|
|
609
|
+
/** Faz o conteudo ocupar a altura util da viewport, com scroll interno no filho */
|
|
610
|
+
contentFillViewport?: boolean;
|
|
600
611
|
/** Componente de sidebar a ser renderizado */
|
|
601
612
|
sidebar?: ReactNode;
|
|
602
613
|
/** Se a sidebar esta recolhida */
|
|
@@ -608,12 +619,15 @@ interface PageLayoutProps {
|
|
|
608
619
|
className?: string;
|
|
609
620
|
}
|
|
610
621
|
declare function PageLayout({
|
|
622
|
+
eyebrow,
|
|
611
623
|
title,
|
|
612
624
|
description,
|
|
613
625
|
headerActions,
|
|
614
626
|
appHeader,
|
|
615
627
|
children,
|
|
616
628
|
contentPadding,
|
|
629
|
+
contentClassName,
|
|
630
|
+
contentFillViewport,
|
|
617
631
|
sidebar,
|
|
618
632
|
sidebarCollapsed,
|
|
619
633
|
sidebarWidth,
|
|
@@ -1518,6 +1532,622 @@ declare function StatusBadge({
|
|
|
1518
1532
|
className
|
|
1519
1533
|
}: StatusBadgeProps): react_jsx_runtime0.JSX.Element;
|
|
1520
1534
|
//#endregion
|
|
1535
|
+
//#region src/components/IPhoneMockup/index.d.ts
|
|
1536
|
+
type ColorValue = React.CSSProperties["color"];
|
|
1537
|
+
interface IPhoneMockupProps {
|
|
1538
|
+
screenWidth: number;
|
|
1539
|
+
screenType?: "legacy" | "notch" | "island";
|
|
1540
|
+
isLandscape?: boolean;
|
|
1541
|
+
className?: string;
|
|
1542
|
+
containerStyle?: React.CSSProperties;
|
|
1543
|
+
containerStlye?: React.CSSProperties;
|
|
1544
|
+
frameColor?: ColorValue;
|
|
1545
|
+
frameOnly?: boolean;
|
|
1546
|
+
statusbarColor?: ColorValue;
|
|
1547
|
+
hideStatusBar?: boolean;
|
|
1548
|
+
transparentNavBar?: boolean;
|
|
1549
|
+
hideNavBar?: boolean;
|
|
1550
|
+
children?: React.ReactNode;
|
|
1551
|
+
}
|
|
1552
|
+
declare function IPhoneMockup({
|
|
1553
|
+
screenWidth,
|
|
1554
|
+
screenType,
|
|
1555
|
+
isLandscape,
|
|
1556
|
+
frameColor,
|
|
1557
|
+
frameOnly,
|
|
1558
|
+
statusbarColor,
|
|
1559
|
+
hideStatusBar,
|
|
1560
|
+
transparentNavBar,
|
|
1561
|
+
hideNavBar,
|
|
1562
|
+
className,
|
|
1563
|
+
containerStyle,
|
|
1564
|
+
containerStlye,
|
|
1565
|
+
children
|
|
1566
|
+
}: IPhoneMockupProps): react_jsx_runtime0.JSX.Element;
|
|
1567
|
+
//#endregion
|
|
1568
|
+
//#region src/components/WhatsAppMockup/index.d.ts
|
|
1569
|
+
type WhatsAppProfileType = "business" | "personal";
|
|
1570
|
+
type WhatsAppMessageDirection = "incoming" | "outgoing";
|
|
1571
|
+
type WhatsAppMessageType = "text" | "audio" | "custom";
|
|
1572
|
+
interface WhatsAppMockupMessage {
|
|
1573
|
+
id?: string;
|
|
1574
|
+
direction?: WhatsAppMessageDirection;
|
|
1575
|
+
type?: WhatsAppMessageType;
|
|
1576
|
+
text?: string;
|
|
1577
|
+
time: string;
|
|
1578
|
+
read?: boolean;
|
|
1579
|
+
duration?: string;
|
|
1580
|
+
waveform?: readonly number[];
|
|
1581
|
+
hideMeta?: boolean;
|
|
1582
|
+
children?: React.ReactNode;
|
|
1583
|
+
className?: string;
|
|
1584
|
+
contentClassName?: string;
|
|
1585
|
+
}
|
|
1586
|
+
interface WhatsAppMockupProps extends Pick<IPhoneMockupProps, "frameColor" | "statusbarColor" | "containerStyle" | "frameOnly" | "hideStatusBar"> {
|
|
1587
|
+
screenWidth?: IPhoneMockupProps["screenWidth"];
|
|
1588
|
+
contactName: string;
|
|
1589
|
+
profilePhoto?: string;
|
|
1590
|
+
profilePhotoAlt?: string;
|
|
1591
|
+
profileAvatar?: React.ReactNode;
|
|
1592
|
+
profileType?: WhatsAppProfileType;
|
|
1593
|
+
contactSubtitle?: string | null;
|
|
1594
|
+
messages?: readonly WhatsAppMockupMessage[];
|
|
1595
|
+
statusTime?: string;
|
|
1596
|
+
dateLabel?: string | false;
|
|
1597
|
+
encryptionNotice?: string | false;
|
|
1598
|
+
composerPlaceholder?: string;
|
|
1599
|
+
composer?: React.ReactNode;
|
|
1600
|
+
showComposer?: boolean;
|
|
1601
|
+
showHeaderActions?: boolean;
|
|
1602
|
+
showWallpaper?: boolean;
|
|
1603
|
+
className?: string;
|
|
1604
|
+
phoneClassName?: string;
|
|
1605
|
+
screenClassName?: string;
|
|
1606
|
+
messagesClassName?: string;
|
|
1607
|
+
"aria-label"?: string;
|
|
1608
|
+
}
|
|
1609
|
+
declare function WhatsAppMockup({
|
|
1610
|
+
contactName,
|
|
1611
|
+
profilePhoto,
|
|
1612
|
+
profilePhotoAlt,
|
|
1613
|
+
profileAvatar,
|
|
1614
|
+
profileType,
|
|
1615
|
+
contactSubtitle,
|
|
1616
|
+
messages,
|
|
1617
|
+
statusTime,
|
|
1618
|
+
dateLabel,
|
|
1619
|
+
encryptionNotice,
|
|
1620
|
+
composerPlaceholder,
|
|
1621
|
+
composer,
|
|
1622
|
+
showComposer,
|
|
1623
|
+
showHeaderActions,
|
|
1624
|
+
showWallpaper,
|
|
1625
|
+
screenWidth,
|
|
1626
|
+
frameColor,
|
|
1627
|
+
statusbarColor,
|
|
1628
|
+
containerStyle,
|
|
1629
|
+
frameOnly,
|
|
1630
|
+
hideStatusBar,
|
|
1631
|
+
className,
|
|
1632
|
+
phoneClassName,
|
|
1633
|
+
screenClassName,
|
|
1634
|
+
messagesClassName,
|
|
1635
|
+
"aria-label": ariaLabel
|
|
1636
|
+
}: WhatsAppMockupProps): react_jsx_runtime0.JSX.Element;
|
|
1637
|
+
//#endregion
|
|
1638
|
+
//#region src/components/TableOfContents/index.d.ts
|
|
1639
|
+
interface TocItem {
|
|
1640
|
+
/** Hash URL — must start with '#'. The id (after the hash) must match an element id in the DOM. */
|
|
1641
|
+
url: string;
|
|
1642
|
+
title: string;
|
|
1643
|
+
/** 1, 2, 3, 4 — controls indentation. */
|
|
1644
|
+
depth: number;
|
|
1645
|
+
}
|
|
1646
|
+
interface TableOfContentsProps {
|
|
1647
|
+
items: TocItem[];
|
|
1648
|
+
/** Title shown above the items. Default: 'Nesta página'. Pass null to hide. */
|
|
1649
|
+
title?: string | null;
|
|
1650
|
+
/** Whether to show the active-range highlight bar (TocThumb). Default true. */
|
|
1651
|
+
showThumb?: boolean;
|
|
1652
|
+
/** When true, only one item can be active at a time. Default false (multi-active). */
|
|
1653
|
+
single?: boolean;
|
|
1654
|
+
/** Root margin for the IntersectionObserver. Default '0px 0px -70% 0px'. */
|
|
1655
|
+
rootMargin?: string;
|
|
1656
|
+
/** Threshold for the IntersectionObserver. Default 0. */
|
|
1657
|
+
threshold?: number | number[];
|
|
1658
|
+
className?: string;
|
|
1659
|
+
/** Called when active set changes. */
|
|
1660
|
+
onActiveChange?: (activeIds: string[]) => void;
|
|
1661
|
+
}
|
|
1662
|
+
interface TOCProviderProps {
|
|
1663
|
+
items: TocItem[];
|
|
1664
|
+
single?: boolean;
|
|
1665
|
+
rootMargin?: string;
|
|
1666
|
+
threshold?: number | number[];
|
|
1667
|
+
children: React.ReactNode;
|
|
1668
|
+
}
|
|
1669
|
+
/**
|
|
1670
|
+
* Headless provider that drives the scrollspy. Use directly when you want to
|
|
1671
|
+
* render the visual ToC yourself (e.g. mobile drawer, custom layout).
|
|
1672
|
+
*/
|
|
1673
|
+
declare function TOCProvider({
|
|
1674
|
+
items,
|
|
1675
|
+
single,
|
|
1676
|
+
rootMargin,
|
|
1677
|
+
threshold,
|
|
1678
|
+
children
|
|
1679
|
+
}: TOCProviderProps): React.JSX.Element;
|
|
1680
|
+
/** Returns the id of the most recently activated heading (best guess). */
|
|
1681
|
+
declare function useActiveAnchor(): string | undefined;
|
|
1682
|
+
/** Returns the ids of every currently active heading. */
|
|
1683
|
+
declare function useActiveAnchors(): string[];
|
|
1684
|
+
/** Returns the static items list registered with the provider. */
|
|
1685
|
+
declare function useTOCItems(): TocItem[];
|
|
1686
|
+
/**
|
|
1687
|
+
* Adapted from Fumadocs (MIT) — https://github.com/fuma-nama/fumadocs
|
|
1688
|
+
*
|
|
1689
|
+
* Scrollspy table of contents. Renders a sticky list of headings and tracks
|
|
1690
|
+
* which are visible in the viewport via IntersectionObserver. The active
|
|
1691
|
+
* range is highlighted with a thin animated bar (TocThumb).
|
|
1692
|
+
*/
|
|
1693
|
+
declare function TableOfContents({
|
|
1694
|
+
items,
|
|
1695
|
+
title,
|
|
1696
|
+
showThumb,
|
|
1697
|
+
single,
|
|
1698
|
+
rootMargin,
|
|
1699
|
+
threshold,
|
|
1700
|
+
className,
|
|
1701
|
+
onActiveChange
|
|
1702
|
+
}: TableOfContentsProps): React.JSX.Element;
|
|
1703
|
+
//#endregion
|
|
1704
|
+
//#region src/components/SocialIcon/index.d.ts
|
|
1705
|
+
declare const socialIconNames: readonly ["whatsapp", "instagram", "linkedin", "github", "youtube"];
|
|
1706
|
+
type SocialIconName = (typeof socialIconNames)[number];
|
|
1707
|
+
interface SocialIconDefinition {
|
|
1708
|
+
viewBox: string;
|
|
1709
|
+
path: string;
|
|
1710
|
+
}
|
|
1711
|
+
declare const socialIconPaths: Record<SocialIconName, SocialIconDefinition>;
|
|
1712
|
+
interface SocialIconProps extends Omit<SVGProps<SVGSVGElement>, "children" | "name"> {
|
|
1713
|
+
/** Social network glyph to render. */
|
|
1714
|
+
name: SocialIconName;
|
|
1715
|
+
/** Width and height in pixels. Default: 24. */
|
|
1716
|
+
size?: number | string;
|
|
1717
|
+
/** Accessible label. When omitted, the SVG is hidden from assistive tech. */
|
|
1718
|
+
title?: string;
|
|
1719
|
+
}
|
|
1720
|
+
declare function SocialIcon({
|
|
1721
|
+
name,
|
|
1722
|
+
size,
|
|
1723
|
+
title,
|
|
1724
|
+
fill,
|
|
1725
|
+
...props
|
|
1726
|
+
}: SocialIconProps): react_jsx_runtime0.JSX.Element;
|
|
1727
|
+
type SocialIconShortcutProps = Omit<SocialIconProps, "name">;
|
|
1728
|
+
declare function WhatsappIcon(props: SocialIconShortcutProps): react_jsx_runtime0.JSX.Element;
|
|
1729
|
+
declare function InstagramIcon(props: SocialIconShortcutProps): react_jsx_runtime0.JSX.Element;
|
|
1730
|
+
declare function LinkedinIcon(props: SocialIconShortcutProps): react_jsx_runtime0.JSX.Element;
|
|
1731
|
+
declare function GithubIcon(props: SocialIconShortcutProps): react_jsx_runtime0.JSX.Element;
|
|
1732
|
+
declare function YoutubeIcon(props: SocialIconShortcutProps): react_jsx_runtime0.JSX.Element;
|
|
1733
|
+
//#endregion
|
|
1734
|
+
//#region src/components/ConversationPanel/types.d.ts
|
|
1735
|
+
type ConversationSupportStatus = "none" | "requested" | "active";
|
|
1736
|
+
type ConversationMessageDirection = "inbound" | "outbound" | "system";
|
|
1737
|
+
type ConversationPreviewVariant = "list" | "card" | "compact";
|
|
1738
|
+
type ConversationMessageKind = "text" | "image" | "audio" | "video" | "file" | "interactive" | "event" | "loading-media";
|
|
1739
|
+
interface ConversationParticipant {
|
|
1740
|
+
id: string;
|
|
1741
|
+
name: string;
|
|
1742
|
+
subtitle?: string;
|
|
1743
|
+
phone?: string | null;
|
|
1744
|
+
email?: string | null;
|
|
1745
|
+
avatarUrl?: string | null;
|
|
1746
|
+
initials?: string;
|
|
1747
|
+
}
|
|
1748
|
+
interface ConversationListItemData {
|
|
1749
|
+
id: string;
|
|
1750
|
+
participant: ConversationParticipant;
|
|
1751
|
+
lastMessage?: string | null;
|
|
1752
|
+
lastMessageAt?: string | Date | null;
|
|
1753
|
+
lastMessageLabel?: string;
|
|
1754
|
+
messageCount?: number;
|
|
1755
|
+
unreadCount?: number;
|
|
1756
|
+
supportStatus?: ConversationSupportStatus;
|
|
1757
|
+
supportLabel?: string;
|
|
1758
|
+
selected?: boolean;
|
|
1759
|
+
disabled?: boolean;
|
|
1760
|
+
meta?: ReactNode;
|
|
1761
|
+
}
|
|
1762
|
+
interface ConversationStats {
|
|
1763
|
+
total?: number;
|
|
1764
|
+
inbound?: number;
|
|
1765
|
+
outbound?: number;
|
|
1766
|
+
}
|
|
1767
|
+
interface ConversationMessageMedia {
|
|
1768
|
+
url?: string;
|
|
1769
|
+
fileName?: string;
|
|
1770
|
+
mimeType?: string;
|
|
1771
|
+
alt?: string;
|
|
1772
|
+
}
|
|
1773
|
+
interface ConversationMessageData {
|
|
1774
|
+
id: string;
|
|
1775
|
+
direction: ConversationMessageDirection;
|
|
1776
|
+
kind?: ConversationMessageKind;
|
|
1777
|
+
authorLabel?: string;
|
|
1778
|
+
content?: ReactNode;
|
|
1779
|
+
createdAt?: string | Date | null;
|
|
1780
|
+
timestampLabel?: string;
|
|
1781
|
+
media?: ConversationMessageMedia;
|
|
1782
|
+
interactiveLabel?: string;
|
|
1783
|
+
interactiveTitle?: string;
|
|
1784
|
+
eventLabel?: string;
|
|
1785
|
+
eventDescription?: string;
|
|
1786
|
+
pendingLabel?: string;
|
|
1787
|
+
}
|
|
1788
|
+
interface ConversationAvatarProps {
|
|
1789
|
+
participant: ConversationParticipant;
|
|
1790
|
+
size?: "sm" | "md" | "lg";
|
|
1791
|
+
className?: string;
|
|
1792
|
+
}
|
|
1793
|
+
interface ConversationSupportBadgeProps {
|
|
1794
|
+
status?: ConversationSupportStatus;
|
|
1795
|
+
label?: string;
|
|
1796
|
+
className?: string;
|
|
1797
|
+
}
|
|
1798
|
+
interface ConversationSearchProps {
|
|
1799
|
+
value?: string;
|
|
1800
|
+
placeholder?: string;
|
|
1801
|
+
onChange?: (value: string) => void;
|
|
1802
|
+
onClear?: () => void;
|
|
1803
|
+
className?: string;
|
|
1804
|
+
}
|
|
1805
|
+
interface ConversationListItemProps {
|
|
1806
|
+
item: ConversationListItemData;
|
|
1807
|
+
selected?: boolean;
|
|
1808
|
+
onSelect?: (item: ConversationListItemData) => void;
|
|
1809
|
+
formatDate?: (value: string | Date) => string;
|
|
1810
|
+
className?: string;
|
|
1811
|
+
}
|
|
1812
|
+
interface ConversationPreviewCardProps extends ConversationListItemProps {
|
|
1813
|
+
variant?: ConversationPreviewVariant;
|
|
1814
|
+
showContact?: boolean;
|
|
1815
|
+
showMeta?: boolean;
|
|
1816
|
+
showSupportBadge?: boolean;
|
|
1817
|
+
showUnreadBadge?: boolean;
|
|
1818
|
+
contentClassName?: string;
|
|
1819
|
+
}
|
|
1820
|
+
interface ConversationListProps {
|
|
1821
|
+
items: ConversationListItemData[];
|
|
1822
|
+
selectedId?: string | null;
|
|
1823
|
+
searchValue?: string;
|
|
1824
|
+
searchPlaceholder?: string;
|
|
1825
|
+
onSearchChange?: (value: string) => void;
|
|
1826
|
+
onClearSearch?: () => void;
|
|
1827
|
+
onSelect?: (item: ConversationListItemData) => void;
|
|
1828
|
+
loading?: boolean;
|
|
1829
|
+
emptyTitle?: string;
|
|
1830
|
+
emptyDescription?: string;
|
|
1831
|
+
formatDate?: (value: string | Date) => string;
|
|
1832
|
+
className?: string;
|
|
1833
|
+
}
|
|
1834
|
+
interface ConversationSupportActionsProps {
|
|
1835
|
+
status?: ConversationSupportStatus;
|
|
1836
|
+
stats?: ConversationStats;
|
|
1837
|
+
reason?: ReactNode;
|
|
1838
|
+
startLabel?: ReactNode;
|
|
1839
|
+
endLabel?: ReactNode;
|
|
1840
|
+
endSilentLabel?: ReactNode;
|
|
1841
|
+
onStart?: () => void;
|
|
1842
|
+
onEnd?: () => void;
|
|
1843
|
+
onEndSilent?: () => void;
|
|
1844
|
+
startDisabled?: boolean;
|
|
1845
|
+
endDisabled?: boolean;
|
|
1846
|
+
endSilentDisabled?: boolean;
|
|
1847
|
+
activeActions?: ReactNode;
|
|
1848
|
+
inactiveActions?: ReactNode;
|
|
1849
|
+
className?: string;
|
|
1850
|
+
}
|
|
1851
|
+
interface ConversationThreadHeaderProps {
|
|
1852
|
+
participant: ConversationParticipant;
|
|
1853
|
+
stats?: ConversationStats;
|
|
1854
|
+
subtitle?: string;
|
|
1855
|
+
supportStatus?: ConversationSupportStatus;
|
|
1856
|
+
supportLabel?: string;
|
|
1857
|
+
onBack?: () => void;
|
|
1858
|
+
onSettingsClick?: () => void;
|
|
1859
|
+
actions?: ReactNode;
|
|
1860
|
+
className?: string;
|
|
1861
|
+
}
|
|
1862
|
+
interface ConversationEventSeparatorProps {
|
|
1863
|
+
label?: ReactNode;
|
|
1864
|
+
description?: ReactNode;
|
|
1865
|
+
className?: string;
|
|
1866
|
+
}
|
|
1867
|
+
interface ConversationMediaPreviewProps {
|
|
1868
|
+
message: ConversationMessageData;
|
|
1869
|
+
onMediaOpen?: (message: ConversationMessageData) => void;
|
|
1870
|
+
className?: string;
|
|
1871
|
+
}
|
|
1872
|
+
interface ConversationMessageBubbleProps {
|
|
1873
|
+
message: ConversationMessageData;
|
|
1874
|
+
onMediaOpen?: (message: ConversationMessageData) => void;
|
|
1875
|
+
formatTime?: (value: string | Date) => string;
|
|
1876
|
+
className?: string;
|
|
1877
|
+
}
|
|
1878
|
+
interface ConversationUnreadMarkerProps {
|
|
1879
|
+
label?: string;
|
|
1880
|
+
className?: string;
|
|
1881
|
+
}
|
|
1882
|
+
interface ConversationComposerProps {
|
|
1883
|
+
value?: string;
|
|
1884
|
+
onChange?: (value: string) => void;
|
|
1885
|
+
onSend?: () => void;
|
|
1886
|
+
onAttachClick?: () => void;
|
|
1887
|
+
onFileSelect?: (file: File) => void | Promise<void>;
|
|
1888
|
+
acceptedFileTypes?: string;
|
|
1889
|
+
placeholder?: string;
|
|
1890
|
+
disabled?: boolean;
|
|
1891
|
+
sending?: boolean;
|
|
1892
|
+
uploading?: boolean;
|
|
1893
|
+
status?: "active" | "ai" | "expired" | "disabled";
|
|
1894
|
+
inactiveLabel?: string;
|
|
1895
|
+
expiredLabel?: string;
|
|
1896
|
+
attachLabel?: string;
|
|
1897
|
+
sendLabel?: string;
|
|
1898
|
+
className?: string;
|
|
1899
|
+
}
|
|
1900
|
+
interface ConversationThreadProps {
|
|
1901
|
+
participant?: ConversationParticipant | null;
|
|
1902
|
+
messages?: ConversationMessageData[];
|
|
1903
|
+
stats?: ConversationStats;
|
|
1904
|
+
loading?: boolean;
|
|
1905
|
+
loadingLabel?: string;
|
|
1906
|
+
emptyTitle?: string;
|
|
1907
|
+
emptyDescription?: string;
|
|
1908
|
+
unreadMessageId?: string | null;
|
|
1909
|
+
unreadLabel?: string;
|
|
1910
|
+
headerActions?: ReactNode;
|
|
1911
|
+
composer?: ReactNode;
|
|
1912
|
+
supportStatus?: ConversationSupportStatus;
|
|
1913
|
+
supportLabel?: string;
|
|
1914
|
+
onBack?: () => void;
|
|
1915
|
+
onSettingsClick?: () => void;
|
|
1916
|
+
onMediaOpen?: (message: ConversationMessageData) => void;
|
|
1917
|
+
formatTime?: (value: string | Date) => string;
|
|
1918
|
+
messagesContainerRef?: Ref<HTMLDivElement>;
|
|
1919
|
+
className?: string;
|
|
1920
|
+
}
|
|
1921
|
+
interface ConversationPanelProps {
|
|
1922
|
+
title?: string;
|
|
1923
|
+
subtitle?: string;
|
|
1924
|
+
/** Oculta a faixa superior interna quando o layout ja possui titulo fora do painel. */
|
|
1925
|
+
hideHeader?: boolean;
|
|
1926
|
+
connected?: boolean;
|
|
1927
|
+
conversations: ConversationListItemData[];
|
|
1928
|
+
selectedId?: string | null;
|
|
1929
|
+
selectedParticipant?: ConversationParticipant | null;
|
|
1930
|
+
messages?: ConversationMessageData[];
|
|
1931
|
+
stats?: ConversationStats;
|
|
1932
|
+
searchValue?: string;
|
|
1933
|
+
onSearchChange?: (value: string) => void;
|
|
1934
|
+
onClearSearch?: () => void;
|
|
1935
|
+
onSelectConversation?: (item: ConversationListItemData) => void;
|
|
1936
|
+
listLoading?: boolean;
|
|
1937
|
+
threadLoading?: boolean;
|
|
1938
|
+
threadActions?: ReactNode;
|
|
1939
|
+
composer?: ReactNode;
|
|
1940
|
+
supportStatus?: ConversationSupportStatus;
|
|
1941
|
+
supportLabel?: string;
|
|
1942
|
+
unreadMessageId?: string | null;
|
|
1943
|
+
unreadLabel?: string;
|
|
1944
|
+
onBack?: () => void;
|
|
1945
|
+
onSettingsClick?: () => void;
|
|
1946
|
+
onMediaOpen?: (message: ConversationMessageData) => void;
|
|
1947
|
+
formatListDate?: (value: string | Date) => string;
|
|
1948
|
+
formatMessageTime?: (value: string | Date) => string;
|
|
1949
|
+
className?: string;
|
|
1950
|
+
}
|
|
1951
|
+
type ConversationLayoutProps = ConversationPanelProps;
|
|
1952
|
+
//#endregion
|
|
1953
|
+
//#region src/components/ConversationPanel/ConversationAvatar.d.ts
|
|
1954
|
+
declare function ConversationAvatar({
|
|
1955
|
+
participant,
|
|
1956
|
+
size,
|
|
1957
|
+
className
|
|
1958
|
+
}: ConversationAvatarProps): react_jsx_runtime0.JSX.Element;
|
|
1959
|
+
//#endregion
|
|
1960
|
+
//#region src/components/ConversationPanel/ConversationComposer.d.ts
|
|
1961
|
+
declare function ConversationComposer({
|
|
1962
|
+
value,
|
|
1963
|
+
onChange,
|
|
1964
|
+
onSend,
|
|
1965
|
+
onAttachClick,
|
|
1966
|
+
onFileSelect,
|
|
1967
|
+
acceptedFileTypes,
|
|
1968
|
+
placeholder,
|
|
1969
|
+
disabled,
|
|
1970
|
+
sending,
|
|
1971
|
+
uploading,
|
|
1972
|
+
status,
|
|
1973
|
+
inactiveLabel,
|
|
1974
|
+
expiredLabel,
|
|
1975
|
+
attachLabel,
|
|
1976
|
+
sendLabel,
|
|
1977
|
+
className
|
|
1978
|
+
}: ConversationComposerProps): react_jsx_runtime0.JSX.Element;
|
|
1979
|
+
//#endregion
|
|
1980
|
+
//#region src/components/ConversationPanel/ConversationEventSeparator.d.ts
|
|
1981
|
+
declare function ConversationEventSeparator({
|
|
1982
|
+
label,
|
|
1983
|
+
description,
|
|
1984
|
+
className
|
|
1985
|
+
}: ConversationEventSeparatorProps): react_jsx_runtime0.JSX.Element;
|
|
1986
|
+
//#endregion
|
|
1987
|
+
//#region src/components/ConversationPanel/ConversationLayout.d.ts
|
|
1988
|
+
declare function ConversationLayout({
|
|
1989
|
+
title,
|
|
1990
|
+
subtitle,
|
|
1991
|
+
hideHeader,
|
|
1992
|
+
connected,
|
|
1993
|
+
conversations,
|
|
1994
|
+
selectedId,
|
|
1995
|
+
selectedParticipant,
|
|
1996
|
+
messages,
|
|
1997
|
+
stats,
|
|
1998
|
+
searchValue,
|
|
1999
|
+
onSearchChange,
|
|
2000
|
+
onClearSearch,
|
|
2001
|
+
onSelectConversation,
|
|
2002
|
+
listLoading,
|
|
2003
|
+
threadLoading,
|
|
2004
|
+
threadActions,
|
|
2005
|
+
composer,
|
|
2006
|
+
supportStatus,
|
|
2007
|
+
supportLabel,
|
|
2008
|
+
unreadMessageId,
|
|
2009
|
+
unreadLabel,
|
|
2010
|
+
onBack,
|
|
2011
|
+
onSettingsClick,
|
|
2012
|
+
onMediaOpen,
|
|
2013
|
+
formatListDate,
|
|
2014
|
+
formatMessageTime,
|
|
2015
|
+
className
|
|
2016
|
+
}: ConversationLayoutProps): react_jsx_runtime0.JSX.Element;
|
|
2017
|
+
declare function ConversationPanel(props: ConversationPanelProps): react_jsx_runtime0.JSX.Element;
|
|
2018
|
+
//#endregion
|
|
2019
|
+
//#region src/components/ConversationPanel/ConversationList.d.ts
|
|
2020
|
+
declare function ConversationList({
|
|
2021
|
+
items,
|
|
2022
|
+
selectedId,
|
|
2023
|
+
searchValue,
|
|
2024
|
+
searchPlaceholder,
|
|
2025
|
+
onSearchChange,
|
|
2026
|
+
onClearSearch,
|
|
2027
|
+
onSelect,
|
|
2028
|
+
loading,
|
|
2029
|
+
emptyTitle,
|
|
2030
|
+
emptyDescription,
|
|
2031
|
+
formatDate,
|
|
2032
|
+
className
|
|
2033
|
+
}: ConversationListProps): react_jsx_runtime0.JSX.Element;
|
|
2034
|
+
//#endregion
|
|
2035
|
+
//#region src/components/ConversationPanel/ConversationPreviewCard.d.ts
|
|
2036
|
+
declare function ConversationPreviewCard({
|
|
2037
|
+
item,
|
|
2038
|
+
selected,
|
|
2039
|
+
onSelect,
|
|
2040
|
+
formatDate,
|
|
2041
|
+
variant,
|
|
2042
|
+
showContact,
|
|
2043
|
+
showMeta,
|
|
2044
|
+
showSupportBadge,
|
|
2045
|
+
showUnreadBadge,
|
|
2046
|
+
contentClassName,
|
|
2047
|
+
className
|
|
2048
|
+
}: ConversationPreviewCardProps): react_jsx_runtime0.JSX.Element;
|
|
2049
|
+
declare function ConversationListItem(props: ConversationListItemProps): react_jsx_runtime0.JSX.Element;
|
|
2050
|
+
//#endregion
|
|
2051
|
+
//#region src/components/ConversationPanel/ConversationMediaPreview.d.ts
|
|
2052
|
+
declare function ConversationMediaPreview({
|
|
2053
|
+
message,
|
|
2054
|
+
onMediaOpen,
|
|
2055
|
+
className
|
|
2056
|
+
}: ConversationMediaPreviewProps): react_jsx_runtime0.JSX.Element | null;
|
|
2057
|
+
//#endregion
|
|
2058
|
+
//#region src/components/ConversationPanel/ConversationMessageBubble.d.ts
|
|
2059
|
+
declare function ConversationMessageBubble({
|
|
2060
|
+
message,
|
|
2061
|
+
onMediaOpen,
|
|
2062
|
+
formatTime,
|
|
2063
|
+
className
|
|
2064
|
+
}: ConversationMessageBubbleProps): react_jsx_runtime0.JSX.Element;
|
|
2065
|
+
//#endregion
|
|
2066
|
+
//#region src/components/ConversationPanel/ConversationSearch.d.ts
|
|
2067
|
+
declare function ConversationSearch({
|
|
2068
|
+
value,
|
|
2069
|
+
placeholder,
|
|
2070
|
+
onChange,
|
|
2071
|
+
onClear,
|
|
2072
|
+
className
|
|
2073
|
+
}: ConversationSearchProps): react_jsx_runtime0.JSX.Element;
|
|
2074
|
+
//#endregion
|
|
2075
|
+
//#region src/components/ConversationPanel/ConversationSupportActions.d.ts
|
|
2076
|
+
declare function ConversationSupportActions({
|
|
2077
|
+
status,
|
|
2078
|
+
stats,
|
|
2079
|
+
reason,
|
|
2080
|
+
startLabel,
|
|
2081
|
+
endLabel,
|
|
2082
|
+
endSilentLabel,
|
|
2083
|
+
onStart,
|
|
2084
|
+
onEnd,
|
|
2085
|
+
onEndSilent,
|
|
2086
|
+
startDisabled,
|
|
2087
|
+
endDisabled,
|
|
2088
|
+
endSilentDisabled,
|
|
2089
|
+
activeActions,
|
|
2090
|
+
inactiveActions,
|
|
2091
|
+
className
|
|
2092
|
+
}: ConversationSupportActionsProps): react_jsx_runtime0.JSX.Element;
|
|
2093
|
+
//#endregion
|
|
2094
|
+
//#region src/components/ConversationPanel/ConversationSupportBadge.d.ts
|
|
2095
|
+
declare function ConversationSupportBadge({
|
|
2096
|
+
status,
|
|
2097
|
+
label,
|
|
2098
|
+
className
|
|
2099
|
+
}: ConversationSupportBadgeProps): react_jsx_runtime0.JSX.Element | null;
|
|
2100
|
+
//#endregion
|
|
2101
|
+
//#region src/components/ConversationPanel/ConversationThread.d.ts
|
|
2102
|
+
declare function ConversationThread({
|
|
2103
|
+
participant,
|
|
2104
|
+
messages,
|
|
2105
|
+
stats,
|
|
2106
|
+
loading,
|
|
2107
|
+
loadingLabel,
|
|
2108
|
+
emptyTitle,
|
|
2109
|
+
emptyDescription,
|
|
2110
|
+
unreadMessageId,
|
|
2111
|
+
unreadLabel,
|
|
2112
|
+
headerActions,
|
|
2113
|
+
composer,
|
|
2114
|
+
supportStatus,
|
|
2115
|
+
supportLabel,
|
|
2116
|
+
onBack,
|
|
2117
|
+
onSettingsClick,
|
|
2118
|
+
onMediaOpen,
|
|
2119
|
+
formatTime,
|
|
2120
|
+
messagesContainerRef,
|
|
2121
|
+
className
|
|
2122
|
+
}: ConversationThreadProps): react_jsx_runtime0.JSX.Element;
|
|
2123
|
+
//#endregion
|
|
2124
|
+
//#region src/components/ConversationPanel/ConversationThreadHeader.d.ts
|
|
2125
|
+
declare function ConversationThreadHeader({
|
|
2126
|
+
participant,
|
|
2127
|
+
stats,
|
|
2128
|
+
subtitle,
|
|
2129
|
+
supportStatus,
|
|
2130
|
+
supportLabel,
|
|
2131
|
+
onBack,
|
|
2132
|
+
onSettingsClick,
|
|
2133
|
+
actions,
|
|
2134
|
+
className
|
|
2135
|
+
}: ConversationThreadHeaderProps): react_jsx_runtime0.JSX.Element;
|
|
2136
|
+
//#endregion
|
|
2137
|
+
//#region src/components/ConversationPanel/ConversationUnreadMarker.d.ts
|
|
2138
|
+
declare function ConversationUnreadMarker({
|
|
2139
|
+
label,
|
|
2140
|
+
className
|
|
2141
|
+
}: ConversationUnreadMarkerProps): react_jsx_runtime0.JSX.Element;
|
|
2142
|
+
//#endregion
|
|
2143
|
+
//#region src/components/ConversationPanel/index.d.ts
|
|
2144
|
+
declare const conversationMessageIcons: {
|
|
2145
|
+
image: react.ForwardRefExoticComponent<Omit<lucide_react0.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
|
|
2146
|
+
audio: react.ForwardRefExoticComponent<Omit<lucide_react0.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
|
|
2147
|
+
video: react.ForwardRefExoticComponent<Omit<lucide_react0.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
|
|
2148
|
+
file: react.ForwardRefExoticComponent<Omit<lucide_react0.LucideProps, "ref"> & react.RefAttributes<SVGSVGElement>>;
|
|
2149
|
+
};
|
|
2150
|
+
//#endregion
|
|
1521
2151
|
//#region src/config/types.d.ts
|
|
1522
2152
|
interface ThemeColors {
|
|
1523
2153
|
primary: string;
|
|
@@ -1669,5 +2299,5 @@ declare const badgeSizes: Record<ComponentSize, BadgeSizeToken>;
|
|
|
1669
2299
|
type ModalSize = "sm" | "md" | "lg" | "xl" | "2xl" | "3xl";
|
|
1670
2300
|
declare const modalSizes: Record<ModalSize, string>;
|
|
1671
2301
|
//#endregion
|
|
1672
|
-
export { Alert, type AlertProps, type AuthBackground, type AuthBranding, type AuthCardStyle, type AuthCheckbox, type AuthField, type AuthHeadline, AuthLayout, type AuthLayoutProps, type AuthLink, type BadgeSizeToken, BadgeStatus, type BadgeStatusProps, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, Button, type ButtonProps, Callout, type CalloutProps, Card, type CardProps, Checkbox, type CheckboxProps, CodeBlock, type CodeBlockProps, CodeInput, type CodeInputProps, Combobox, type ComboboxOption, type ComboboxProps, ComparisonLineChart, type ComparisonLineChartProps, type ComponentSize, type ComponentsConfig, type DashboardConfig, DashboardProvider, DataGrid, type ColumnDef as DataGridColumn, type DataGridProps, DatePicker, type DatePickerProps, type DateRange, DateRangePicker, type DateRangePickerProps, DoughnutChart, type DoughnutChartItem, type DoughnutChartProps, Dropdown, type DropdownOption, type DropdownProps, EmptyState, type EmptyStateProps, FileUpload, type FileUploadProps, FilterBar, type FilterBarProps, FormField, type FormFieldProps, Header, type HeaderEstablishment, type HeaderMenuChild, type HeaderMenuGroup, type HeaderMenuItem, type HeaderProps, type HeaderUser, HorizontalBarChart, type HorizontalBarChartProps, type HorizontalBarChartTab, InfoTooltip, type InfoTooltipProps, Input, type InputProps, KPICard, type KPICardProps, type KPIValueFormat, Loading, type LoadingContextType, type LoadingProps, LoadingProvider, MetricPanel, type MetricPanelChartData, type MetricPanelMetric, type MetricPanelProps, type MetricPanelTooltipConfig, Modal, type ModalProps, type ModalSize, type Notification, type NotificationsContextType, NotificationsProvider, PageLayout, type PageLayoutProps, Pagination, type PaginationProps, ProgressBarList, type ProgressBarListItem, type ProgressBarListProps, Sidebar, type SidebarMenuItem, type SidebarProps, type SidebarUser, type SizeToken, Skeleton, type SkeletonProps, StatusBadge, type StatusBadgeProps, type Step, Stepper, type StepperProps, type Tab, Table, TableBody, type TableColumn, TableEmpty, TableHeader, type TableProps, TableSkeleton, Tabs, type TabsProps, type Theme, type ThemeColors, type ThemeContextType, ThemeProvider, ThemeSwitcher, type ThemeSwitcherProps, Title, type TitleProps, Toast, type ToastProps, ToggleSwitch, type ToggleSwitchProps, Tooltip, type TooltipProps, type TreeNode, TreeView, type TreeViewProps, type UploadedFile, VerticalBarChart, type VerticalBarChartProps, badgeSizes, componentSizes, createColumnHelper, createConfig, defaultConfig, modalSizes, useConfig, useLoading, useNotifications, useTheme };
|
|
2302
|
+
export { Alert, type AlertProps, type AuthBackground, type AuthBranding, type AuthCardStyle, type AuthCheckbox, type AuthField, type AuthHeadline, AuthLayout, type AuthLayoutProps, type AuthLink, type BadgeSizeToken, BadgeStatus, type BadgeStatusProps, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, Button, type ButtonProps, Callout, type CalloutProps, Card, type CardProps, Checkbox, type CheckboxProps, CodeBlock, type CodeBlockProps, CodeInput, type CodeInputProps, Combobox, type ComboboxOption, type ComboboxProps, ComparisonLineChart, type ComparisonLineChartProps, type ComponentSize, type ComponentsConfig, ConversationAvatar, type ConversationAvatarProps, ConversationComposer, type ConversationComposerProps, ConversationEventSeparator, type ConversationEventSeparatorProps, ConversationLayout, type ConversationLayoutProps, ConversationList, ConversationListItem, type ConversationListItemData, type ConversationListItemProps, type ConversationListProps, ConversationMediaPreview, type ConversationMediaPreviewProps, ConversationMessageBubble, type ConversationMessageBubbleProps, type ConversationMessageData, type ConversationMessageDirection, type ConversationMessageKind, type ConversationMessageMedia, ConversationPanel, type ConversationPanelProps, type ConversationParticipant, ConversationPreviewCard, type ConversationPreviewCardProps, type ConversationPreviewVariant, ConversationSearch, type ConversationSearchProps, type ConversationStats, ConversationSupportActions, type ConversationSupportActionsProps, ConversationSupportBadge, type ConversationSupportBadgeProps, type ConversationSupportStatus, ConversationThread, ConversationThreadHeader, type ConversationThreadHeaderProps, type ConversationThreadProps, ConversationUnreadMarker, type ConversationUnreadMarkerProps, type DashboardConfig, DashboardProvider, DataGrid, type ColumnDef as DataGridColumn, type DataGridProps, DatePicker, type DatePickerProps, type DateRange, DateRangePicker, type DateRangePickerProps, DoughnutChart, type DoughnutChartItem, type DoughnutChartProps, Dropdown, type DropdownOption, type DropdownProps, EmptyState, type EmptyStateProps, FileUpload, type FileUploadProps, FilterBar, type FilterBarProps, FormField, type FormFieldProps, GithubIcon, Header, type HeaderEstablishment, type HeaderMenuChild, type HeaderMenuGroup, type HeaderMenuItem, type HeaderProps, type HeaderUser, HorizontalBarChart, type HorizontalBarChartProps, type HorizontalBarChartTab, IPhoneMockup, type IPhoneMockupProps, InfoTooltip, type InfoTooltipProps, Input, type InputProps, InstagramIcon, KPICard, type KPICardProps, type KPIValueFormat, LinkedinIcon, Loading, type LoadingContextType, type LoadingProps, LoadingProvider, MetricPanel, type MetricPanelChartData, type MetricPanelMetric, type MetricPanelProps, type MetricPanelTooltipConfig, Modal, type ModalProps, type ModalSize, type Notification, type NotificationsContextType, NotificationsProvider, PageLayout, type PageLayoutProps, Pagination, type PaginationProps, ProgressBarList, type ProgressBarListItem, type ProgressBarListProps, Sidebar, type SidebarMenuItem, type SidebarProps, type SidebarUser, type SizeToken, Skeleton, type SkeletonProps, SocialIcon, type SocialIconName, type SocialIconProps, type SocialIconShortcutProps, StatusBadge, type StatusBadgeProps, type Step, Stepper, type StepperProps, TOCProvider, type TOCProviderProps, type Tab, Table, TableBody, type TableColumn, TableEmpty, TableHeader, TableOfContents, type TableOfContentsProps, type TableProps, TableSkeleton, Tabs, type TabsProps, type Theme, type ThemeColors, type ThemeContextType, ThemeProvider, ThemeSwitcher, type ThemeSwitcherProps, Title, type TitleProps, Toast, type ToastProps, type TocItem, ToggleSwitch, type ToggleSwitchProps, Tooltip, type TooltipProps, type TreeNode, TreeView, type TreeViewProps, type UploadedFile, VerticalBarChart, type VerticalBarChartProps, type WhatsAppMessageDirection, type WhatsAppMessageType, WhatsAppMockup, type WhatsAppMockupMessage, type WhatsAppMockupProps, type WhatsAppProfileType, WhatsappIcon, YoutubeIcon, badgeSizes, componentSizes, conversationMessageIcons, createColumnHelper, createConfig, defaultConfig, modalSizes, socialIconNames, socialIconPaths, useActiveAnchor, useActiveAnchors, useConfig, useLoading, useNotifications, useTOCItems, useTheme };
|
|
1673
2303
|
//# sourceMappingURL=index.d.mts.map
|